From 9b449899fbc420a93451fb6f984f7dec05523413 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Thu, 30 Mar 2023 09:40:16 -0500 Subject: [PATCH 001/285] testing rod names --- .../com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 7f8e7e5a4..1a3562334 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -416,7 +416,7 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM @Optional.Method(modid = "OpenComputers") public Object[] getFuelType(Context context, Arguments args) { if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { - return new Object[] {slots[0].getItem()}; + return new Object[] {rod.getName()}; } return new Object[] {"N/A"}; } @@ -457,7 +457,7 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { OC_enrich_buf = ItemRBMKRod.getEnrichment(slots[0]); OC_poison_buf = ItemRBMKRod.getPoison(slots[0]); - OC_fuelType = slots[0].getItem(); + OC_fuelType = rod.getName(); } else { OC_enrich_buf = "N/A"; OC_poison_buf = "N/A"; From b82597c0e35c76688135e3a46bb0e7a815453da4 Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 31 Mar 2023 15:15:11 +0200 Subject: [PATCH 002/285] splitter textures, conveyor grabber --- src/main/java/com/hbm/blocks/ModBlocks.java | 5 +- .../com/hbm/blocks/network/CraneGrabber.java | 56 ++++++ .../com/hbm/blocks/network/CraneSplitter.java | 14 +- .../container/ContainerCraneExtractor.java | 14 +- .../container/ContainerCraneGrabber.java | 126 +++++++++++++ .../hbm/inventory/gui/GUICraneExtractor.java | 16 +- .../hbm/inventory/gui/GUICraneGrabber.java | 91 +++++++++ .../java/com/hbm/main/CraftingManager.java | 2 + .../com/hbm/render/block/RenderSplitter.java | 38 ++-- .../java/com/hbm/tileentity/TileMappings.java | 1 + .../network/TileEntityCraneGrabber.java | 174 ++++++++++++++++++ src/main/resources/assets/hbm/lang/de_DE.lang | 3 + src/main/resources/assets/hbm/lang/en_US.lang | 3 + .../hbm/textures/blocks/coolant_duct.png | Bin 239 -> 0 bytes .../hbm/textures/blocks/coolant_duct_icon.png | Bin 184 -> 0 bytes .../textures/blocks/coolant_duct_solid.png | Bin 367 -> 0 bytes .../blocks/crane_grabber_side_down.png | Bin 0 -> 416 bytes .../textures/blocks/crane_grabber_side_up.png | Bin 0 -> 418 bytes .../hbm/textures/blocks/crane_grabber_top.png | Bin 0 -> 363 bytes .../assets/hbm/textures/blocks/crane_pull.png | Bin 0 -> 382 bytes .../hbm/textures/blocks/crane_side_pull.png | Bin 0 -> 435 bytes .../blocks/crane_splitter_back_left.png | Bin 0 -> 178 bytes .../blocks/crane_splitter_back_right.png | Bin 0 -> 181 bytes .../blocks/crane_splitter_front_left.png | Bin 0 -> 121 bytes .../blocks/crane_splitter_front_right.png | Bin 0 -> 121 bytes .../textures/blocks/crane_splitter_inner.png | Bin 0 -> 199 bytes .../textures/blocks/crane_splitter_left.png | Bin 0 -> 137 bytes .../textures/blocks/crane_splitter_right.png | Bin 0 -> 130 bytes .../blocks/crane_splitter_top_left.png | Bin 0 -> 153 bytes .../blocks/crane_splitter_top_right.png | Bin 0 -> 153 bytes .../gui/storage/gui_crane_grabber.png | Bin 0 -> 2055 bytes 31 files changed, 505 insertions(+), 38 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/network/CraneGrabber.java create mode 100644 src/main/java/com/hbm/inventory/container/ContainerCraneGrabber.java create mode 100644 src/main/java/com/hbm/inventory/gui/GUICraneGrabber.java create mode 100644 src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java delete mode 100644 src/main/resources/assets/hbm/textures/blocks/coolant_duct.png delete mode 100644 src/main/resources/assets/hbm/textures/blocks/coolant_duct_icon.png delete mode 100644 src/main/resources/assets/hbm/textures/blocks/coolant_duct_solid.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_grabber_side_down.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_grabber_side_up.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_grabber_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_pull.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_side_pull.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_splitter_back_left.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_splitter_back_right.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_splitter_front_left.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_splitter_front_right.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_splitter_inner.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_splitter_left.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_splitter_right.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_splitter_top_left.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_splitter_top_right.png create mode 100644 src/main/resources/assets/hbm/textures/gui/storage/gui_crane_grabber.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 3d48508ec..0e0a4ec5d 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -775,6 +775,7 @@ public class ModBlocks { 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; @@ -1900,10 +1901,11 @@ public class ModBlocks { 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); + crane_splitter = new CraneSplitter().setBlockName("crane_splitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":crane_side"); fan = new MachineFan().setBlockName("fan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); chain = new BlockChain(Material.iron).setBlockName("dungeon_chain").setHardness(0.25F).setResistance(2.0F).setCreativeTab(MainRegistry.blockTab).setBlockTextureName(RefStrings.MODID + ":chain"); @@ -3095,6 +3097,7 @@ public class ModBlocks { GameRegistry.registerBlock(crane_extractor, crane_extractor.getUnlocalizedName()); GameRegistry.registerBlock(crane_inserter, crane_inserter.getUnlocalizedName()); + GameRegistry.registerBlock(crane_grabber, crane_grabber.getUnlocalizedName()); GameRegistry.registerBlock(crane_router, crane_router.getUnlocalizedName()); GameRegistry.registerBlock(crane_boxer, crane_boxer.getUnlocalizedName()); GameRegistry.registerBlock(crane_unboxer, crane_unboxer.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/network/CraneGrabber.java b/src/main/java/com/hbm/blocks/network/CraneGrabber.java new file mode 100644 index 000000000..71372467b --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/CraneGrabber.java @@ -0,0 +1,56 @@ +package com.hbm.blocks.network; + +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.network.TileEntityCraneGrabber; + +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.tileentity.TileEntity; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class CraneGrabber extends BlockCraneBase { + + public CraneGrabber() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityCraneGrabber(); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + this.iconDirectional = iconRegister.registerIcon(RefStrings.MODID + ":crane_grabber_top"); + this.iconDirectionalUp = iconRegister.registerIcon(RefStrings.MODID + ":crane_grabber_side_up"); + this.iconDirectionalDown = iconRegister.registerIcon(RefStrings.MODID + ":crane_grabber_side_down"); + this.iconOut = iconRegister.registerIcon(RefStrings.MODID + ":crane_pull"); + this.iconSideOut = iconRegister.registerIcon(RefStrings.MODID + ":crane_side_pull"); + } + + @Override + public int getRotationFromSide(IBlockAccess world, int x, int y, int z, int side) { + int meta = world.getBlockMetadata(x, y, z); + + if(meta > 1 && side == 1) { + if(meta == 2) return 3; + if(meta == 3) return 0; + if(meta == 4) return 1; + if(meta == 5) return 2; + } + + return 0; + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) { + this.dropContents(world, x, y, z, block, meta, 0, 11); + super.breakBlock(world, x, y, z, block, meta); + } +} diff --git a/src/main/java/com/hbm/blocks/network/CraneSplitter.java b/src/main/java/com/hbm/blocks/network/CraneSplitter.java index e0abc2450..98b519420 100644 --- a/src/main/java/com/hbm/blocks/network/CraneSplitter.java +++ b/src/main/java/com/hbm/blocks/network/CraneSplitter.java @@ -28,7 +28,10 @@ public class CraneSplitter extends BlockDummyable implements IConveyorBelt, IEnt @SideOnly(Side.CLIENT) public IIcon iconTopRight; @SideOnly(Side.CLIENT) public IIcon iconFrontLeft; @SideOnly(Side.CLIENT) public IIcon iconFrontRight; - @SideOnly(Side.CLIENT) public IIcon iconBottom; + @SideOnly(Side.CLIENT) public IIcon iconBackLeft; + @SideOnly(Side.CLIENT) public IIcon iconBackRight; + @SideOnly(Side.CLIENT) public IIcon iconLeft; + @SideOnly(Side.CLIENT) public IIcon iconRight; @SideOnly(Side.CLIENT) public IIcon iconBelt; @SideOnly(Side.CLIENT) public IIcon iconInner; @@ -55,7 +58,16 @@ public class CraneSplitter extends BlockDummyable implements IConveyorBelt, IEnt @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { super.registerBlockIcons(iconRegister); + this.iconTopLeft = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_top_left"); + this.iconTopRight = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_top_right"); + this.iconFrontLeft = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_front_left"); + this.iconFrontRight = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_front_right"); + this.iconBackLeft = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_back_left"); + this.iconBackRight = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_back_right"); + this.iconLeft = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_left"); + this.iconRight = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_right"); this.iconBelt = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_belt"); + this.iconInner = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_inner"); } public static int renderID = RenderingRegistry.getNextAvailableRenderId(); diff --git a/src/main/java/com/hbm/inventory/container/ContainerCraneExtractor.java b/src/main/java/com/hbm/inventory/container/ContainerCraneExtractor.java index a0de53617..afab4ad24 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCraneExtractor.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCraneExtractor.java @@ -14,26 +14,26 @@ public class ContainerCraneExtractor extends Container { protected TileEntityCraneExtractor extractor; - public ContainerCraneExtractor(InventoryPlayer invPlayer, TileEntityCraneExtractor inserter) { - this.extractor = inserter; + public ContainerCraneExtractor(InventoryPlayer invPlayer, TileEntityCraneExtractor extractor) { + this.extractor = extractor; //filter for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { - this.addSlotToContainer(new Slot(inserter, j + i * 3, 71 + j * 18, 17 + i * 18)); + this.addSlotToContainer(new Slot(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(inserter, 9 + j + i * 3, 8 + j * 18, 17 + i * 18)); + this.addSlotToContainer(new Slot(extractor, 9 + j + i * 3, 8 + j * 18, 17 + i * 18)); } } //upgrades - this.addSlotToContainer(new SlotUpgrade(inserter, 18, 152, 23)); - this.addSlotToContainer(new SlotUpgrade(inserter, 19, 152, 47)); + this.addSlotToContainer(new SlotUpgrade(extractor, 18, 152, 23)); + this.addSlotToContainer(new SlotUpgrade(extractor, 19, 152, 47)); for(int i = 0; i < 3; i++) { for(int j = 0; j < 9; j++) { @@ -102,8 +102,6 @@ public class ContainerCraneExtractor extends Container { //M3: 3 //SHIFT: 1 //DRAG: 5 - //System.out.println("Mode " + mode); - //System.out.println("Slot " + index); if(index < 0 || index > 8) { return super.slotClick(index, button, mode, player); diff --git a/src/main/java/com/hbm/inventory/container/ContainerCraneGrabber.java b/src/main/java/com/hbm/inventory/container/ContainerCraneGrabber.java new file mode 100644 index 000000000..32c91fd68 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerCraneGrabber.java @@ -0,0 +1,126 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotUpgrade; +import com.hbm.items.ModItems; +import com.hbm.tileentity.network.TileEntityCraneGrabber; + +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 ContainerCraneGrabber extends Container { + + protected TileEntityCraneGrabber grabber; + + public ContainerCraneGrabber(InventoryPlayer invPlayer, TileEntityCraneGrabber grabber) { + this.grabber = grabber; + + //filter + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 3; j++) { + this.addSlotToContainer(new Slot(grabber, j + i * 3, 40 + j * 18, 17 + i * 18)); + } + } + + //upgrades + this.addSlotToContainer(new SlotUpgrade(grabber, 9, 121, 23)); + this.addSlotToContainer(new SlotUpgrade(grabber, 10, 121, 47)); + + 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, 103 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 161)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int slot) { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(slot); + + if(var4 != null && var4.getHasStack()) { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if(slot < 9) { //filters + return null; + } + + if(slot <= grabber.getSizeInventory() - 1) { + if(!this.mergeItemStack(var5, grabber.getSizeInventory(), this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(var3.getItem() == ModItems.upgrade_stack) { + if(!this.mergeItemStack(var5, 9, 10, false)) + return null; + } else if(var3.getItem() == ModItems.upgrade_ejector) { + if(!this.mergeItemStack(var5, 10, 11, false)) + return null; + } + + return null; + } + + if(var5.stackSize == 0) { + var4.putStack((ItemStack) null); + } else { + var4.onSlotChanged(); + } + + var4.onPickupFromSlot(player, var5); + } + + return var3; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return grabber.isUseableByPlayer(player); + } + + @Override + public ItemStack slotClick(int index, int button, int mode, EntityPlayer player) { + + //L/R: 0 + //M3: 3 + //SHIFT: 1 + //DRAG: 5 + + if(index < 0 || index > 8) { + 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()) { + grabber.nextMode(index); + return ret; + + } else { + slot.putStack(held != null ? held.copy() : null); + + if(slot.getHasStack()) { + slot.getStack().stackSize = 1; + } + + slot.onSlotChanged(); + grabber.matcher.initPatternStandard(grabber.getWorldObj(), slot.getStack(), index); + + return ret; + } + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUICraneExtractor.java b/src/main/java/com/hbm/inventory/gui/GUICraneExtractor.java index ea927d377..e6937c829 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICraneExtractor.java +++ b/src/main/java/com/hbm/inventory/gui/GUICraneExtractor.java @@ -22,11 +22,11 @@ import net.minecraft.util.ResourceLocation; public class GUICraneExtractor extends GuiInfoContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_crane_ejector.png"); - private TileEntityCraneExtractor inserter; + private TileEntityCraneExtractor ejector; public GUICraneExtractor(InventoryPlayer invPlayer, TileEntityCraneExtractor tedf) { super(new ContainerCraneExtractor(invPlayer, tedf)); - inserter = tedf; + ejector = tedf; this.xSize = 176; this.ySize = 185; @@ -40,14 +40,14 @@ public class GUICraneExtractor extends GuiInfoContainer { for(int i = 0; i < 9; ++i) { Slot slot = (Slot) this.inventorySlots.inventorySlots.get(i); - if(this.isMouseOverSlot(slot, x, y) && inserter.matcher.modes[i] != null) { + if(this.isMouseOverSlot(slot, x, y) && ejector.matcher.modes[i] != null) { String label = EnumChatFormatting.YELLOW + ""; - switch(inserter.matcher.modes[i]) { + 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: " + inserter.matcher.modes[i]; 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); @@ -65,13 +65,13 @@ public class GUICraneExtractor extends GuiInfoContainer { mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); NBTTagCompound data = new NBTTagCompound(); data.setBoolean("whitelist", true); - PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, inserter.xCoord, inserter.yCoord, inserter.zCoord)); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, ejector.xCoord, ejector.yCoord, ejector.zCoord)); } } @Override protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.inserter.hasCustomInventoryName() ? this.inserter.getInventoryName() : I18n.format(this.inserter.getInventoryName()); + String name = this.ejector.hasCustomInventoryName() ? this.ejector.getInventoryName() : I18n.format(this.ejector.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); } @@ -82,7 +82,7 @@ public class GUICraneExtractor extends GuiInfoContainer { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - if(inserter.isWhitelist) { + if(ejector.isWhitelist) { drawTexturedModalRect(guiLeft + 139, guiTop + 33, 176, 0, 3, 6); } else { drawTexturedModalRect(guiLeft + 139, guiTop + 47, 176, 0, 3, 6); diff --git a/src/main/java/com/hbm/inventory/gui/GUICraneGrabber.java b/src/main/java/com/hbm/inventory/gui/GUICraneGrabber.java new file mode 100644 index 000000000..ef1465205 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUICraneGrabber.java @@ -0,0 +1,91 @@ +package com.hbm.inventory.gui; + +import java.util.Arrays; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerCraneGrabber; +import com.hbm.lib.RefStrings; +import com.hbm.packet.NBTControlPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.network.TileEntityCraneGrabber; + +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 GUICraneGrabber extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/storage/gui_crane_grabber.png"); + private TileEntityCraneGrabber grabber; + + public GUICraneGrabber(InventoryPlayer invPlayer, TileEntityCraneGrabber tedf) { + super(new ContainerCraneGrabber(invPlayer, tedf)); + grabber = tedf; + + this.xSize = 176; + this.ySize = 185; + } + + @Override + public void drawScreen(int x, int y, float interp) { + super.drawScreen(x, y, interp); + + if(this.mc.thePlayer.inventory.getItemStack() == null) { + for(int i = 0; i < 9; ++i) { + 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); + } + } + } + } + + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + if(guiLeft + 97 <= x && guiLeft + 97 + 14 > x && guiTop + 30 < y && guiTop + 30 + 26 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("whitelist", true); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, grabber.xCoord, grabber.yCoord, grabber.zCoord)); + } + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.grabber.hasCustomInventoryName() ? this.grabber.getInventoryName() : I18n.format(this.grabber.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(grabber.isWhitelist) { + drawTexturedModalRect(guiLeft + 108, guiTop + 33, 176, 0, 3, 6); + } else { + drawTexturedModalRect(guiLeft + 108, guiTop + 47, 176, 0, 3, 6); + } + } +} diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index b01dd9c46..f0b062205 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -935,11 +935,13 @@ public class CraftingManager { int amount = (int) craneCasing[i * 2 + 1]; 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', 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', 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_router), new Object[] { "PIP", "ICI", "PIP", 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'I', ModItems.plate_polymer, 'C', ModItems.circuit_copper }); + addRecipeAuto(new ItemStack(ModBlocks.crane_splitter), new Object[] { "III", "PCP", "III", 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'I', STEEL.ingot(), 'C', ModItems.circuit_aluminium }); 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) }); diff --git a/src/main/java/com/hbm/render/block/RenderSplitter.java b/src/main/java/com/hbm/render/block/RenderSplitter.java index 3b85f3e18..0d2f1b91a 100644 --- a/src/main/java/com/hbm/render/block/RenderSplitter.java +++ b/src/main/java/com/hbm/render/block/RenderSplitter.java @@ -2,7 +2,6 @@ package com.hbm.render.block; import org.lwjgl.opengl.GL11; -import com.hbm.blocks.ModBlocks; import com.hbm.blocks.network.CraneSplitter; import com.hbm.main.ResourceManager; import com.hbm.render.util.ObjUtil; @@ -11,7 +10,6 @@ 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; import net.minecraftforge.client.model.obj.WavefrontObject; @@ -28,11 +26,11 @@ public class RenderSplitter implements ISimpleBlockRenderingHandler { GL11.glRotated(-90, 0, 1, 0); GL11.glTranslatef(0F, -0.5F, 0.5F); tessellator.startDrawingQuads(); - ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.splitter, ModBlocks.block_steel.getIcon(0, 0), tessellator, 0, false); + drawSplitter(tessellator, block, true, 0, false); tessellator.draw(); GL11.glTranslatef(0F, 0F, -1F); tessellator.startDrawingQuads(); - ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.splitter, ModBlocks.block_steel.getIcon(0, 0), tessellator, 0, false); + drawSplitter(tessellator, block, false, 0, false); tessellator.draw(); GL11.glPopMatrix(); @@ -54,26 +52,26 @@ public class RenderSplitter implements ISimpleBlockRenderingHandler { if(meta == 14 || meta == 3) rotation = 180F / 180F * (float)Math.PI; boolean isLeft = meta >= 12; - - CraneSplitter splitter = (CraneSplitter) block; - IIcon conveyor = splitter.iconBelt; - - ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Top", ModBlocks.block_steel.getIcon(0, 0), tessellator, rotation, true); - ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Bottom", ModBlocks.block_steel.getIcon(0, 0), tessellator, rotation, true); - if(isLeft) ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Left", ModBlocks.block_steel.getIcon(0, 0), tessellator, rotation, true); - if(!isLeft) ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Right", ModBlocks.block_steel.getIcon(0, 0), tessellator, rotation, true); - ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Back", ModBlocks.block_steel.getIcon(0, 0), tessellator, rotation, true); - ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Front", ModBlocks.block_steel.getIcon(0, 0), tessellator, rotation, true); - ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Inner", ModBlocks.block_steel.getIcon(0, 0), tessellator, rotation, true); - ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "InnerLeft", ModBlocks.block_steel.getIcon(0, 0), tessellator, rotation, true); - ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "InnerRight", ModBlocks.block_steel.getIcon(0, 0), tessellator, rotation, true); - ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "InnerTop", ModBlocks.block_steel.getIcon(0, 0), tessellator, rotation, true); - ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "InnerBottom", conveyor, tessellator, rotation, true); - + drawSplitter(tessellator, block, isLeft, rotation, true); tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); return true; } + + private static void drawSplitter(Tessellator tessellator, Block block, boolean isLeft, float rotation, boolean shadeNormals) { + CraneSplitter splitter = (CraneSplitter) block; + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Top", isLeft ? splitter.iconTopLeft : splitter.iconTopRight, tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Bottom", isLeft ? splitter.iconFrontRight : splitter.iconFrontLeft , tessellator, rotation, shadeNormals); + if(isLeft) ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Left", splitter.iconLeft, tessellator, rotation, shadeNormals); + if(!isLeft) ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Right", splitter.iconRight, tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Back", isLeft ? splitter.iconBackLeft : splitter.iconBackRight, tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Front", isLeft ? splitter.iconFrontLeft : splitter.iconFrontRight, tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Inner", splitter.iconInner, tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "InnerLeft", splitter.iconInner, tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "InnerRight", splitter.iconInner, tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "InnerTop", splitter.iconInner, tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "InnerBottom", splitter.iconBelt, tessellator, rotation, shadeNormals); + } @Override public boolean shouldRender3DInInventory(int modelId) { diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index b4e7437c3..6692e9749 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -347,6 +347,7 @@ public class TileMappings { put(TileEntityCraneInserter.class, "tileentity_inserter"); put(TileEntityCraneExtractor.class, "tileentity_extractor"); + put(TileEntityCraneGrabber.class, "tileentity_grabber"); put(TileEntityCraneBoxer.class, "tileentity_boxer"); put(TileEntityCraneUnboxer.class, "tileentity_unboxer"); put(TileEntityCraneRouter.class, "tileentity_router"); diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java b/src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java new file mode 100644 index 000000000..84331f475 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java @@ -0,0 +1,174 @@ +package com.hbm.tileentity.network; + +import java.util.List; + +import com.hbm.blocks.network.CraneInserter; +import com.hbm.entity.item.EntityMovingItem; +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.container.ContainerCraneGrabber; +import com.hbm.inventory.gui.GUICraneGrabber; +import com.hbm.items.ModItems; +import com.hbm.module.ModulePatternMatcher; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.TileEntityMachineBase; + +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.inventory.ISidedInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityCraneGrabber extends TileEntityMachineBase implements IGUIProvider, IControlReceiver { + + public boolean isWhitelist = false; + public ModulePatternMatcher matcher; + + public TileEntityCraneGrabber() { + super(11); + this.matcher = new ModulePatternMatcher(9); + } + + public void nextMode(int i) { + this.matcher.nextMode(worldObj, slots[i], i); + } + + @Override + public String getName() { + return "container.craneGrabber"; + } + + @Override + public void 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; + case 1: delay = 5; break; + case 2: delay = 2; break; + } + } + + if(worldObj.getTotalWorldTime() % delay == 0 && !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; + case 1: amount = 16; break; + case 2: amount = 64; break; + } + } + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); + TileEntity te = worldObj.getTileEntity(xCoord - dir.offsetX, yCoord - dir.offsetY, zCoord - dir.offsetZ); + + int[] access = null; + ISidedInventory sided = null; + + if(te instanceof ISidedInventory) { + sided = (ISidedInventory) te; + access = CraneInserter.masquerade(sided, dir.ordinal()); + } + + List items = worldObj.getEntitiesWithinAABB(EntityMovingItem.class, AxisAlignedBB.getBoundingBox(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, xCoord + dir.offsetX + 1, yCoord + dir.offsetY + 1, zCoord + dir.offsetZ + 1)); + + 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.copy(), dir.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); + } + } + + public void networkUnpack(NBTTagCompound nbt) { + this.isWhitelist = nbt.getBoolean("isWhitelist"); + this.matcher.modes = new String[this.matcher.modes.length]; + this.matcher.readFromNBT(nbt); + } + + 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; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCraneGrabber(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen 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); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setBoolean("isWhitelist", this.isWhitelist); + this.matcher.writeToNBT(nbt); + } + + @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("whitelist")) { + this.isWhitelist = !this.isWhitelist; + } + } +} diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index bc6b2877e..ff143a96f 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -281,6 +281,7 @@ container.chemplant=Chemiewerk container.compactLauncher=Kompakt-Startrampe container.craneBoxer=Förderband-Verpacker container.craneExtractor=Förderband-Auswerfer +container.craneGrabber=Förderband-Greifer container.craneInserter=Förderband-Einsetzer container.craneRouter=Förderband-Sortierer container.craneUnboxer=Förderband-Entpacker @@ -3577,10 +3578,12 @@ tile.conveyor.name=Förderband tile.conveyor_chute.name=Förderschütte tile.conveyor_double.name=Zweispuriges Förderband tile.conveyor_lift.name=Kettenaufzug +tile.conveyor_splitter.name=Förderband-Teiler tile.conveyor_triple.name=Dreispuriges Förderband tile.corium_block.name=Corium tile.crane_boxer.name=Förderband-Verpacker tile.crane_extractor.name=Förderband-Auswerfer +tile.crane_grabber.name=Förderband-Greifer tile.crane_inserter.name=Förderband-Einsetzer tile.crane_router.name=Förderband-Sortierer tile.crane_unboxer.name=Förderband-Entpacker diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 47acb3efb..5cf9d45ce 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -572,6 +572,7 @@ container.chemplant=Chemical Plant container.compactLauncher=Compact Launch Pad container.craneBoxer=Conveyor Boxer container.craneExtractor=Conveyor Ejector +container.craneGrabber=Conveyor Grabber container.craneInserter=Conveyor Inserter container.craneRouter=Conveyor Router container.craneUnboxer=Conveyor Unboxer @@ -4386,10 +4387,12 @@ tile.conveyor.name=Conveyor Belt tile.conveyor_chute.name=Conveyor Chute tile.conveyor_double.name=Double-Lane Conveyor Belt tile.conveyor_lift.name=Conveyor Chain Lift +tile.conveyor_splitter.name=Conveyor Splitter tile.conveyor_triple.name=Triple-Lane Conveyor Belt tile.corium_block.name=Corium tile.crane_boxer.name=Conveyor Boxer tile.crane_extractor.name=Conveyor Ejector +tile.crane_grabber.name=Conveyor Grabber tile.crane_inserter.name=Conveyor Inserter tile.crane_router.name=Conveyor Sorter tile.crane_unboxer.name=Conveyor Unboxer diff --git a/src/main/resources/assets/hbm/textures/blocks/coolant_duct.png b/src/main/resources/assets/hbm/textures/blocks/coolant_duct.png deleted file mode 100644 index d7ba4a2dec0ec2e89f853fceee37b2f5f6e85e70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 239 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmSQK*5Dp-y;YjHK@|StKIEF;D zzP+@O_mF`=>qC2ut~tj%yWTi(Y8x=<>Z;}(p zH#xgV9G@tWY$YSJ=a1F%%5z~0j%<@ie(~FG@0D%$->Qd)PTlBmx$y4%y8jGoZc0pE l+YscXxpYd9*UJ6X%u8=s8CItRe+Igk!PC{xWt~$(69DQUm28=9^F_IvuRnO5|ab}f>mng?s}1airdTLK0F2pWk2b-Xq2c0AP%PbB^2Pnu#fDJnnR0 zi-q?d!!W=(2O$KUbC{-ye&WiZ4%T9f5zaZx^NbJz`o4d;NyJuVN`;f~-Xny7rfFcU zJ%bevS_McA#u$t-=(-M^a|j{87^BCO1yWJ!JVeep#&LWbB9x&+eA~kMaJyW$Ri%1b zW8tDEfc=gEx}AOJ-PKm)gv&0i+9rNLrvJjx8UG_{qPp0_NfQT!i$4cakCtkjyJG+V N002ovPDHLkV1j+npd#lp369fl_o0;AD=I2(8MkC=LQU~bw`-Py0_-|-CQA!cVF;Ns* z0KjUs@(E#L2oe#LQa+yNxdkLi0)W;UV@zfBDu5rs7{hM2!x&T9MHN76T?9D&ZH%xp zch>{5Eb|9Z6crM~4mzCMg2C{RkZR?$WvrK}QIEeD5T z2!QYVmC9_aBgnGM{jlIDikO|>La)#4=$wqNjwJZLVl*1H-$8k0zVCD2c|f1-Go3bXqLn}hQK`b(_2Jcr=;e9d zx_2v{=T&xJClG+{cDw9e0iEGp?1Mf*Dd>z1P`(@g5I{_ zpFAJ@_z}IB8(RcHpa+8iQp(2tm!;gEoyBIeF+*Ih*Q9CMnDAfZ7e=~ps16&%^#A|> M07*qoM6N<$g7YxG3jhEB literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_grabber_top.png b/src/main/resources/assets/hbm/textures/blocks/crane_grabber_top.png new file mode 100644 index 0000000000000000000000000000000000000000..5d66fffd1512cc336970ef6dff936c20179c4be4 GIT binary patch literal 363 zcmV-x0hIoUP)Zt~5JjH})kZ0{0ov5*_BOdeqIBFLSIBNoh(Vy05Ltnd z?G(h00awXL7S`bZ=G!x(EKAEjA_X{|POGG~)_=pj3n2te(@<5_0sv^+)(b*m2(s29 zgz))knifFc_W&rRFvdiy#{m8c#u&8L7-OO?VgRMo8sJuVxT-1uilSIKb7wtZ97q4d ziKUdBAK&3{(8 zp2_n(J_ljTilX3>eqtYfD&6mAA_@>ftX#PL_VKolm`u|Y?YoO4Nmjj&b|E%(+dM2I z933QUE%Q91wcZK0*K?IufO(!#O6`PUgs#G_r2t*mF$@ELiEo-8UHBw=>r(ov JPDHLkV1gHVo6P_K literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_pull.png b/src/main/resources/assets/hbm/textures/blocks/crane_pull.png new file mode 100644 index 0000000000000000000000000000000000000000..a99dd262eb510b74e056542251989021a536c026 GIT binary patch literal 382 zcmV-^0fGLBP)kFgGUp329M!QyoNhBilI`WN(v^m6Bi{h zv30py903YDx#FBM7a!DgXcg07*qoM6N<$g1Jhk)Bpeg literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_side_pull.png b/src/main/resources/assets/hbm/textures/blocks/crane_side_pull.png new file mode 100644 index 0000000000000000000000000000000000000000..ff732c720d9cbd5f04635fbf75904e9cd96117da GIT binary patch literal 435 zcmV;k0ZjghP)^S&0BD*fC2Y6b!AV6?V68msvS=UEcwH z+5MBdt{W)PS`%}OF+9Z*`W81mD&?&W6vX5{Fl#bSZhI*s@(T2%dP ztp%X#I@-2HDMj114^LgM*N6z$>ooxs;76kozkdM!!qbPKXfl~($zMOcA_DI}hPZlx zFR#J({?|Ky{fUP#%=a+*@%h_5-hakdFTq!{+02i}W1MqYGv8iq|EG#C_INyoCLRul dzh2Y7><@&3{DxB3A!`5t002ovPDHLkV1fxtzh(dc literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_splitter_back_left.png b/src/main/resources/assets/hbm/textures/blocks/crane_splitter_back_left.png new file mode 100644 index 0000000000000000000000000000000000000000..800df3c444a03cdd2e712a0edf3473a2c545d752 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf+z58hkQM-@NRG&s{ljD zRd$9GmhtY!&Ms|sOH0_dBpkD6VAvYQkksRR|I1(TItTWMn+zq^8K-B3GH5K-nab#Q Y^}G&e{NkKXKuZ}sUHx3vIVCg!03Mz@k^lez literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_splitter_back_right.png b/src/main/resources/assets/hbm/textures/blocks/crane_splitter_back_right.png new file mode 100644 index 0000000000000000000000000000000000000000..919ca6bf08986ab92b082b207d8470e5210d2812 GIT binary patch literal 181 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfvP3qlN(0k+P-^uPf6j)eHC-{FeKf%ZTPECoO`)2s5^&Cwd zKGQ>|J_zvIDSxI%B6)i8x$CTJFP@Qj*v_!v8kd9D%G2}S*FO|DX`0FFu$ejjT1L|< cKT%ut!$0&qUr+I=1KP{r>FVdQ&MBb@0QGf2X8-^I literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_splitter_front_left.png b/src/main/resources/assets/hbm/textures/blocks/crane_splitter_front_left.png new file mode 100644 index 0000000000000000000000000000000000000000..724fa7a62ccf31e6a5568ec53a62ba83e77bfebb GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfgTe~DWM4fd-fkw literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_splitter_front_right.png b/src/main/resources/assets/hbm/textures/blocks/crane_splitter_front_right.png new file mode 100644 index 0000000000000000000000000000000000000000..b2701442ef636959701fa219a80ec75356edc1e0 GIT binary patch literal 121 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfmdKI;Vst0LF$RRR910 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_splitter_inner.png b/src/main/resources/assets/hbm/textures/blocks/crane_splitter_inner.png new file mode 100644 index 0000000000000000000000000000000000000000..95506ddf879834e0acfab887677c5a367d5f19ca GIT binary patch literal 199 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfBfKtvKh-?EBF{Uefl*7>`KUA5<#hVDQom z-thh3z6W#WZ06)sjLE-Vw=cFRFN{^$lY4d3yd~_+Yi2R@`Q59MP9_0BW5Mi{s>E_v~4lZ^F8LY2q$-38tsCENg!rx af#K|Cj^)=wOV0oeVeoYIb6Mw<&;$TCHYO_o literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_splitter_top_left.png b/src/main/resources/assets/hbm/textures/blocks/crane_splitter_top_left.png new file mode 100644 index 0000000000000000000000000000000000000000..5d477e495f4f95e5bcc6dd4327deb0394c1221f3 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfmdKI;Vst0P?FRtN;K2 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_splitter_top_right.png b/src/main/resources/assets/hbm/textures/blocks/crane_splitter_top_right.png new file mode 100644 index 0000000000000000000000000000000000000000..cadc1bb9abf79558ff476f8e830d076bce1bb074 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfJ&pXFm?BZ?eHkk}z+aO!nygvBV<`V+P;ZXtq#HwvseCGuZULU`q4bB-Ok zcz*r5S|d?#*%4^Cd?TuQ^23T5#({u)FM95zM-{|9n$z?R7oA_73Vrl)9K=Nx@&D>iYV3rudixFp9HuFIMCJsd4+({g#adI zz|al`vTl5C$0MXF#we{AyeL&Z*ORn4nJnNMwj5M4JUE%L9NUJ$*QH9udtkWP>l%#A z4Da}wD8KTqk~a2}#B=CSUMOldqjzyptehLj(MGti<&(o7@5?zEmzs)6e`NT}z(8*B zttC|k=Iq}$ZES2vuIvWUUd@b{omr1n8DGw~GBY##BG+aINF>tBA5BfbS7+EW@GVo|ytcHJQCX(F@c3Y{Hc+#U9lph0sY_)hIVs~fY7F>@Tv~qY`0`|| zB07kk95L`WjF=)WEh#C<)Iy|~0o3YSu_#9&pMO>tOrfuqf;BCG3^~%r{wMcvo#xWw zdM?ay`3E8ZYI8l_iW_jlq zvo>on2U?WgeYf{VH+BVdK@`kZ9b((X>0}#NztLF%RgFX-kPuJW! zkMu7jC&HM6AJdYF;Xjw>0*l_;W0K`hI}RDz!2C0t2VSQW5ja@!H&Z(^;qmE+r*}$MMjCvkXOMn~mm*i1N}A=>^-JFz6V~Z~ozn3=`-lIqDt1+@3@SqYSAZ z&^`YOHJz=P`d4(}gEEYc};`kq3Jr^?V7!=Q$06ynGND|1EFmLfBQ%rG1M@~D0=(BE7XY`2u> z0~_2IaF&PSp}avX_?!X`Ll>KnEkQ=(6US4V;9e1pN-Jwy;HE)A26*=}Im4;LyqcUf z0@|$)9&FTD_8RTch-*dQ@KI4wxy@@o=aNE}_T$`C8Q&E7RtFG?KGlH*H@~N;^E~)- zj!=hL-S3%-^Qqgz38=An7HKNx%u%@A!J1%+t3AWULm(P3Y zMfVk@u&^+U3{EBYMA`=s%DSo7xD$`4XJSPC?xI##A+n*NA;P|>rqXxHx#4t7F8Tkr z{}G6P$oxO4F=q=v%&DuZOQ(41Q!N5_p__(3+l@9D!-NtHsi$h1M$plYdM7-)l3bWc z8$0-UOx(OKg+O4vaZ(0Zf0A{Zz#o#TjPsm-65KxS48Idd)7MXXS@~{a5M6Ve3Hva} zKa}Qo#?PsK>$^&g9_VJ`{157 Date: Sat, 1 Apr 2023 22:17:36 +0800 Subject: [PATCH 003/285] Parentheses fix #69420 --- .../com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 307c87f9e..7ac708861 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java @@ -199,7 +199,7 @@ public abstract class TileEntityOilDrillBase extends TileEntityMachineBase imple public int getDelayEff() { int delay = getDelay(); - return Math.max((delay - (delay / 4 * this.speedLevel) + (delay / 10 * this.energyLevel) / this.overLevel), 1); + return Math.max((delay - (delay / 4 * this.speedLevel) + (delay / 10 * this.energyLevel)) / this.overLevel, 1); } public abstract int getPowerReq(); From 3bf082a64ce2f510750c04383ce4da9ffee8b002 Mon Sep 17 00:00:00 2001 From: TehTemmie <36060353+TehTemmie@users.noreply.github.com> Date: Sat, 1 Apr 2023 22:23:23 +0800 Subject: [PATCH 004/285] Update ItemRBMKRod.java Prevents RBMK temperature from skyrocketing to infinity when DisableMeltdowns is enabled by --- src/main/java/com/hbm/items/machine/ItemRBMKRod.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/items/machine/ItemRBMKRod.java b/src/main/java/com/hbm/items/machine/ItemRBMKRod.java index a83ed86c5..01c83055c 100644 --- a/src/main/java/com/hbm/items/machine/ItemRBMKRod.java +++ b/src/main/java/com/hbm/items/machine/ItemRBMKRod.java @@ -205,7 +205,7 @@ public class ItemRBMKRod extends Item { double avg = (heat + hullHeat + coreHeat) / 3D; this.setCoreHeat(stack, avg); this.setHullHeat(stack, avg); - return avg; + return avg - heat; } if(hullHeat <= heat) From c7e3f3bb42f0d2fe8c1906fa9bf01dd009088d4b Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 2 Apr 2023 20:30:22 +0200 Subject: [PATCH 005/285] yeah whatever this is --- .../com/hbm/blocks/network/CraneSplitter.java | 2 + .../com/hbm/render/block/RenderSplitter.java | 8 +-- .../network/TileEntityCraneGrabber.java | 57 ++++++++++++------ src/main/resources/assets/hbm/lang/de_DE.lang | 2 +- src/main/resources/assets/hbm/lang/en_US.lang | 2 +- .../assets/hbm/models/blocks/splitter.obj | 20 +++--- .../blocks/crane_splitter_back_left.png | Bin 178 -> 270 bytes .../blocks/crane_splitter_back_right.png | Bin 181 -> 271 bytes .../blocks/crane_splitter_front_left.png | Bin 121 -> 301 bytes .../blocks/crane_splitter_front_right.png | Bin 121 -> 316 bytes .../textures/blocks/crane_splitter_inner.png | Bin 199 -> 125 bytes .../blocks/crane_splitter_inner_side.png | Bin 0 -> 121 bytes .../textures/blocks/crane_splitter_left.png | Bin 137 -> 376 bytes .../textures/blocks/crane_splitter_right.png | Bin 130 -> 360 bytes .../blocks/crane_splitter_top_left.png | Bin 153 -> 339 bytes .../blocks/crane_splitter_top_right.png | Bin 153 -> 333 bytes .../hbm/textures/blocks/crane_top_wide.png | Bin 0 -> 330 bytes 17 files changed, 57 insertions(+), 34 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_splitter_inner_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/crane_top_wide.png diff --git a/src/main/java/com/hbm/blocks/network/CraneSplitter.java b/src/main/java/com/hbm/blocks/network/CraneSplitter.java index 98b519420..11de7afda 100644 --- a/src/main/java/com/hbm/blocks/network/CraneSplitter.java +++ b/src/main/java/com/hbm/blocks/network/CraneSplitter.java @@ -34,6 +34,7 @@ public class CraneSplitter extends BlockDummyable implements IConveyorBelt, IEnt @SideOnly(Side.CLIENT) public IIcon iconRight; @SideOnly(Side.CLIENT) public IIcon iconBelt; @SideOnly(Side.CLIENT) public IIcon iconInner; + @SideOnly(Side.CLIENT) public IIcon iconInnerSide; public CraneSplitter() { super(Material.iron); @@ -68,6 +69,7 @@ public class CraneSplitter extends BlockDummyable implements IConveyorBelt, IEnt this.iconRight = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_right"); this.iconBelt = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_belt"); this.iconInner = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_inner"); + this.iconInnerSide = iconRegister.registerIcon(RefStrings.MODID + ":crane_splitter_inner_side"); } public static int renderID = RenderingRegistry.getNextAvailableRenderId(); diff --git a/src/main/java/com/hbm/render/block/RenderSplitter.java b/src/main/java/com/hbm/render/block/RenderSplitter.java index 0d2f1b91a..9ec29dfe4 100644 --- a/src/main/java/com/hbm/render/block/RenderSplitter.java +++ b/src/main/java/com/hbm/render/block/RenderSplitter.java @@ -61,15 +61,15 @@ public class RenderSplitter implements ISimpleBlockRenderingHandler { private static void drawSplitter(Tessellator tessellator, Block block, boolean isLeft, float rotation, boolean shadeNormals) { CraneSplitter splitter = (CraneSplitter) block; ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Top", isLeft ? splitter.iconTopLeft : splitter.iconTopRight, tessellator, rotation, shadeNormals); - ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Bottom", isLeft ? splitter.iconFrontRight : splitter.iconFrontLeft , tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Bottom", isLeft ? splitter.iconTopRight : splitter.iconTopLeft , tessellator, rotation, shadeNormals); if(isLeft) ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Left", splitter.iconLeft, tessellator, rotation, shadeNormals); if(!isLeft) ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Right", splitter.iconRight, tessellator, rotation, shadeNormals); ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Back", isLeft ? splitter.iconBackLeft : splitter.iconBackRight, tessellator, rotation, shadeNormals); ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Front", isLeft ? splitter.iconFrontLeft : splitter.iconFrontRight, tessellator, rotation, shadeNormals); ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "Inner", splitter.iconInner, tessellator, rotation, shadeNormals); - ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "InnerLeft", splitter.iconInner, tessellator, rotation, shadeNormals); - ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "InnerRight", splitter.iconInner, tessellator, rotation, shadeNormals); - ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "InnerTop", splitter.iconInner, tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "InnerLeft", splitter.iconInnerSide, tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "InnerRight", splitter.iconInnerSide, tessellator, rotation, shadeNormals); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "InnerTop", splitter.iconInnerSide, tessellator, rotation, shadeNormals); ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.splitter, "InnerBottom", splitter.iconBelt, tessellator, rotation, shadeNormals); } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java b/src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java index 84331f475..ba50abcea 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityCraneGrabber.java @@ -2,6 +2,7 @@ package com.hbm.tileentity.network; import java.util.List; +import com.hbm.blocks.ModBlocks; import com.hbm.blocks.network.CraneInserter; import com.hbm.entity.item.EntityMovingItem; import com.hbm.interfaces.IControlReceiver; @@ -14,6 +15,7 @@ import com.hbm.tileentity.TileEntityMachineBase; 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; @@ -83,27 +85,46 @@ public class TileEntityCraneGrabber extends TileEntityMachineBase implements IGU access = CraneInserter.masquerade(sided, dir.ordinal()); } - List items = worldObj.getEntitiesWithinAABB(EntityMovingItem.class, AxisAlignedBB.getBoundingBox(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, xCoord + dir.offsetX + 1, yCoord + dir.offsetY + 1, zCoord + dir.offsetZ + 1)); - - for(EntityMovingItem item : items) { - ItemStack stack = item.getItemStack(); - boolean match = this.matchesFilter(stack); - if(this.isWhitelist && !match || !this.isWhitelist && match) continue; + if(te instanceof IInventory) { - ItemStack copy = stack.copy(); - int toAdd = Math.min(stack.stackSize, amount); - copy.stackSize = toAdd; - ItemStack ret = CraneInserter.addToInventory((IInventory) te, access, copy.copy(), dir.ordinal()); - int didAdd = toAdd - (ret != null ? ret.stackSize : 0); - stack.stackSize -= didAdd; - - if(stack.stackSize <= 0) { - item.setDead(); + /* + * 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 + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ); + if(b == ModBlocks.conveyor_double) reach = 0.5D; + if(b == ModBlocks.conveyor_triple) reach = 0.33D; } + + double x = xCoord + dir.offsetX * reach; + double y = yCoord + dir.offsetY * reach; + double z = zCoord + dir.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)); - amount -= didAdd; - if(amount <= 0) { - break; + 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, dir.ordinal()); + int didAdd = toAdd - (ret != null ? ret.stackSize : 0); + stack.stackSize -= didAdd; + + if(stack.stackSize <= 0) { + item.setDead(); + } + + amount -= didAdd; + if(amount <= 0) { + break; + } } } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index ff143a96f..f49aec1bb 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -3578,7 +3578,6 @@ tile.conveyor.name=Förderband tile.conveyor_chute.name=Förderschütte tile.conveyor_double.name=Zweispuriges Förderband tile.conveyor_lift.name=Kettenaufzug -tile.conveyor_splitter.name=Förderband-Teiler tile.conveyor_triple.name=Dreispuriges Förderband tile.corium_block.name=Corium tile.crane_boxer.name=Förderband-Verpacker @@ -3586,6 +3585,7 @@ tile.crane_extractor.name=Förderband-Auswerfer tile.crane_grabber.name=Förderband-Greifer tile.crane_inserter.name=Förderband-Einsetzer tile.crane_router.name=Förderband-Sortierer +tile.crate_splitter.name=Förderband-Teiler tile.crane_unboxer.name=Förderband-Entpacker tile.crashed_bomb.name=Blindgänger tile.crate.name=Vorratskiste diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 5cf9d45ce..b0c7451dc 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4387,7 +4387,6 @@ tile.conveyor.name=Conveyor Belt tile.conveyor_chute.name=Conveyor Chute tile.conveyor_double.name=Double-Lane Conveyor Belt tile.conveyor_lift.name=Conveyor Chain Lift -tile.conveyor_splitter.name=Conveyor Splitter tile.conveyor_triple.name=Triple-Lane Conveyor Belt tile.corium_block.name=Corium tile.crane_boxer.name=Conveyor Boxer @@ -4395,6 +4394,7 @@ tile.crane_extractor.name=Conveyor Ejector tile.crane_grabber.name=Conveyor Grabber tile.crane_inserter.name=Conveyor Inserter tile.crane_router.name=Conveyor Sorter +tile.crane_splitter.name=Conveyor Splitter tile.crane_unboxer.name=Conveyor Unboxer tile.crashed_bomb.name=Dud tile.crate.name=Supply Crate diff --git a/src/main/resources/assets/hbm/models/blocks/splitter.obj b/src/main/resources/assets/hbm/models/blocks/splitter.obj index 611da2f75..4078add15 100644 --- a/src/main/resources/assets/hbm/models/blocks/splitter.obj +++ b/src/main/resources/assets/hbm/models/blocks/splitter.obj @@ -31,10 +31,10 @@ v -0.500000 0.250000 0.375000 v -0.500000 0.875000 0.375000 v 0.000000 0.250000 0.375000 v 0.000000 0.875000 0.375000 -vt 1.000000 0.875000 -vt 0.500000 0.250000 -vt 1.000000 0.250000 -vt 0.500000 0.875000 +vt 0.187500 1.000000 +vt 0.812500 0.500000 +vt 0.812500 1.000000 +vt 0.187500 0.500000 vn 0.0000 0.0000 -1.0000 s off f 10/9/3 11/10/3 9/11/3 @@ -57,10 +57,10 @@ v -0.500000 0.250000 -0.375000 v -0.500000 0.875000 -0.375000 v 0.000000 0.250000 -0.375000 v 0.000000 0.875000 -0.375000 -vt 0.000000 0.250000 -vt 0.500000 0.875000 -vt 0.000000 0.875000 -vt 0.500000 0.250000 +vt 0.187500 1.000000 +vt 0.812500 0.500000 +vt 0.812500 1.000000 +vt 0.187500 0.500000 vn 0.0000 0.0000 1.0000 s off f 17/17/5 20/18/5 18/19/5 @@ -135,10 +135,10 @@ 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 -vt 1.000000 0.000000 vt 0.000000 1.000000 -vt 0.000000 0.000000 +vt 1.000000 0.000000 vt 1.000000 1.000000 +vt 0.000000 0.000000 vn 0.0000 -1.0000 0.0000 s off f 43/41/11 42/42/11 41/43/11 diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_splitter_back_left.png b/src/main/resources/assets/hbm/textures/blocks/crane_splitter_back_left.png index 800df3c444a03cdd2e712a0edf3473a2c545d752..1ed0fa1516b617618dc7424b1429b1b2c3f86ab4 100644 GIT binary patch delta 226 zcmV<803H9b0geKYG=IfOL_t(Ijm46&4TCTgM4uxXBs$vEv`8!vDTBC6MaKrIso5(F zFaiyNNLa|Gi49I71f<9{_MP?b`=1T}hA4`{{9+IQWLf5k#u&FQ_pYlDz5zg4mQL)t zjwp&&xs-A?Xxr8uEV0J5*0X^n0Cimhkf!M>w_}_D`o8BVK3i_E72XKTgtx-h95%2S z1j8`wF7^znsv-aJ$}t*DE|9deM z$#?J9U*q3Y^}wOsQ+@>y094fn0LVFCM>9i2hCZcq2ee?uKL7x=Rsdp*L*MlM7k)qo nSlIw{J7~+ARRAcZER_LH)z2&mU!!dD00000NkvXXu0mjfZl5)@ diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_splitter_back_right.png b/src/main/resources/assets/hbm/textures/blocks/crane_splitter_back_right.png index 919ca6bf08986ab92b082b207d8470e5210d2812..7e5fb324e8c0c9bc1c631b0c2532ec9e97165cae 100644 GIT binary patch delta 227 zcmV<90383d0gnQZG=IiPL_t(Ijm45N4uc>RhCeEciRW?qTwmjQ*=-?&a1h|9v((Bw&%Xm415S1JyQE{bdMwMjCIItS_Iw`GG?lfG zo6X<%6!txUQ)iG%FB+nV5JK1k5J2m?=ItKPcg#g(3(pV&*vkkoKgRt0D(2e_+&m<8 zFK7DkghKS`E_$B7-hSodHM-rzSlYHN{*BH#taGlk9)M5O;H;N;f*2D30000R5`)K)xgumF~p)bxul@r$9V_Fgu;RXh3LR^W~gGs;V;np%Xw+6v?KU&EI$(BqAvQpswqAARdfCW|j=k zfVOP`aL%EstEcY*RF!F(P}Nlze*%QsiV-{e1?c-8GfM!=e@k7SoB;MN??`imAQ9Po zgw(%7MU)__hxNjeS`i}?fa`tN}%hK{Z$2qtAgrOhDF}(wTrfKN9Za3?ez5u9M W3ur>tKOX=93IG5}MNUMnLSTZ32!5~t delta 75 zcmdnPR5`)K)xgumF~p+x?O8)X1_PeM4qL?&+VaxQ-ms0-WmvELa^ngHmEOkPJJ~q| f9)vS&JMO@|dl$>&$I0jF8Gyjk)z4*}Q$iB}Q7RoW diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_splitter_inner.png b/src/main/resources/assets/hbm/textures/blocks/crane_splitter_inner.png index 95506ddf879834e0acfab887677c5a367d5f19ca..9a6d83c4afde3924127cb7904f6f977c0e5bd63a 100644 GIT binary patch delta 79 zcmX@kSUbVQ)5O!oF~p)bSwu|i-+2edghejKp*#tW&-T>*o~Ge@=+L1n#Rpd~HXme| jQqmx^zoht}fdK=9c^%8tQwr_J7=Xaj)z4*}Q$iB}?A#vQ delta 154 zcmV;L0A>Gu#{rNue|||sK~y-6rI67LfFKM7Ps0ST2Q#q$XZL^=^uwqDDHiP)3Ato@teOCh zPTqPM3M`{WfV%BzftJ}Mu)gTe~DWM4f!*C#v literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_splitter_left.png b/src/main/resources/assets/hbm/textures/blocks/crane_splitter_left.png index aab446258ec4fde42498a5c3be2a3977a7086d0a..a545cccbd83585ea0f3b8bcc0135b952c565ad05 100644 GIT binary patch delta 334 zcmV-U0kQsx0r&!tGk*auNklWigWm+4%fS!9lISW5IWh?lXSXlyij#O&({Ee z!{LCccGNk?a=Gjzlx5igO#$k<2Eba2h{Wou%6`8GU^1Biuzy%AB5b?edVq-FoI^ye zx@g-LAlkt@5Rs^TKY&3av zgt36MqoL6N-@#Z==q3fG7Y>kz2hpzzg#s7RncN>4silWf@e2%sD*PBnr3tKy#PJRo= g;}K)bz#jgVZxwGoF%|u{@Bjb+07*qoM6N<$f_hw|fB*mh delta 93 zcmeyt)X6x(IE=x;)5S5wqWA6Pjl2vBJj@5#4QIH2PrKl*B)DkdgY4H<=AM(g*&3F- xJy6D*;%d{RI-zmf%jFJlnB^;&B?9dAvKiAtc-1E;PG@ES0#8>zmvv4FO#p^xA+!Jh diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_splitter_right.png b/src/main/resources/assets/hbm/textures/blocks/crane_splitter_right.png index 8c4dabdd8bbf58968dd45fbaa6be8daa9c213123..dffb103464da9722d5790599b1fe6552ecb67038 100644 GIT binary patch delta 318 zcmV-E0m1%)0q6pdGk*aeNklXh6JJa_oUSGk0 zJ?hb(F#dSh;y3OHJ{{~`R8_@AQTR_3mKygTw!q97$I)(K7zQY%5_`CeZ=1d_LPy=O QNdN!<07*qoM6N<$g5^e%PXGV_ delta 86 zcmV-c0IC1z0)hdMGfx0HNkltj25aqR7k>iy6~5dw4SxVah^Vs!FpeY6xd_m< zE$_RU`#U&()<`MY(#^U>Z$9j6hHn@r*gd~e6vcUfuM8li`07 z*IN4O&9m6nOZFfsQ3&ktrSAQ-938oCQ*<#uPWY~0Wut1+^J~z|+;w JWt~$(69C}NA>jZ3 diff --git a/src/main/resources/assets/hbm/textures/blocks/crane_splitter_top_right.png b/src/main/resources/assets/hbm/textures/blocks/crane_splitter_top_right.png index cadc1bb9abf79558ff476f8e830d076bce1bb074..7d072091f1b8725221740c9bb53067b6e277366a 100644 GIT binary patch delta 291 zcmV+;0o?wX0nGxCGk*aDNkloh&r}}}~!hZKg6h-3*&Z?@ybL}`Y#&A63)E1tf7$L7O z?<7gGC>Bir7a$BnKEF@1O4G^c@h8s002ovPDHLkV1hggfxQ3# delta 109 zcmX@hG?Q_HaT-H_r;B5VMQ?IRLBWsn4vYzf1qBMxpBtIkC1z-BoZHx#ctbis{^9{3 zc9_R_Lh7Sr(^ZBXsRBu-LWvCt!Z|UGcg<$)NRW^?Q1svcV;2tt!(@Gd8N~@?qY#~!hV!xCo%rSwjVt$ z^?fh+qiz7ubzSmNM8Z9O_9CJ~qPA_niXX=j!!SGm0AQM?5D*8(i9{q@{H(Or4}fJ^ z0071qFmsmv3_#N~Z{u$Oz|3&Yftj;iI1Atp6U*l`#-srLD%lWs=Bj+H0I;qrL?i*& zQ`hj`IT!8;z^mb_t+S=)&5f!)K7YZFH(dGu}ta5b%fIoRGBC59caqE*I)LJJ$ z>@BDTKty544_i?3`xD={ZTlJ|RsgWphBes(%1^xS#Vnu*?o}rYg cn)p-Q0X%kI&mQ99^Z)<=07*qoM6N<$f*8YyXaE2J literal 0 HcmV?d00001 From da1b4b24f189f1eee1af6a1955eba48e328fd07a Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 2 Apr 2023 20:54:48 +0200 Subject: [PATCH 006/285] broadened stat reregistering exception ignoring scope, meteorite gen fix --- .../java/com/hbm/blocks/generic/Guide.java | 31 ------------------- .../com/hbm/blocks/machine/MachineFan.java | 4 --- .../hbm/entity/projectile/EntityMeteor.java | 2 +- src/main/java/com/hbm/lib/HbmWorldGen.java | 2 +- .../render/tileentity/RendererObjTester.java | 12 +------ src/main/java/com/hbm/util/StatHelper.java | 10 +++--- .../java/com/hbm/world/feature/Meteorite.java | 12 ++++--- 7 files changed, 15 insertions(+), 58 deletions(-) diff --git a/src/main/java/com/hbm/blocks/generic/Guide.java b/src/main/java/com/hbm/blocks/generic/Guide.java index b7a5489a7..744a2d9cd 100644 --- a/src/main/java/com/hbm/blocks/generic/Guide.java +++ b/src/main/java/com/hbm/blocks/generic/Guide.java @@ -94,37 +94,6 @@ public class Guide extends Block implements ILookOverlay { return null; } - 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; diff --git a/src/main/java/com/hbm/blocks/machine/MachineFan.java b/src/main/java/com/hbm/blocks/machine/MachineFan.java index 33e9eaf2c..f9321d052 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFan.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFan.java @@ -3,7 +3,6 @@ package com.hbm.blocks.machine; import java.util.List; import api.hbm.block.IToolable; -import api.hbm.block.IToolable.ToolType; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.BlockContainer; @@ -133,9 +132,6 @@ public class MachineFan extends BlockContainer implements IToolable { if(meta == 4) world.setBlockMetadataWithNotify(x, y, z, 5, 3); if(meta == 5) world.setBlockMetadataWithNotify(x, y, z, 4, 3); - //TileEntityFan fan = (TileEntityFan) world.getTileEntity(x, y, z); - //fan.blockMetadata = -1; - return true; } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityMeteor.java b/src/main/java/com/hbm/entity/projectile/EntityMeteor.java index 9638ae585..3582a80c3 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityMeteor.java +++ b/src/main/java/com/hbm/entity/projectile/EntityMeteor.java @@ -51,7 +51,7 @@ public class EntityMeteor extends Entity { ExplosionLarge.spawnParticles(worldObj, posX, posY, posZ - 5, 75); } - (new Meteorite()).generate(worldObj, rand, (int) Math.round(this.posX - 0.5D), (int) Math.round(this.posY - 0.5D), (int) Math.round(this.posZ - 0.5D), safe, true); + (new Meteorite()).generate(worldObj, rand, (int) Math.round(this.posX - 0.5D), (int) Math.round(this.posY - 0.5D), (int) Math.round(this.posZ - 0.5D), safe, true, true); this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "hbm:entity.oldExplosion", 10000.0F, 0.5F + this.rand.nextFloat() * 0.1F); this.setDead(); } diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index 083a409b1..6d9f43fb0 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -630,7 +630,7 @@ public class HbmWorldGen implements IWorldGenerator { int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); int y = world.getHeightValue(x, z) - rand.nextInt(10); - (new Meteorite()).generate(world, rand, x, y, z, false, true); + (new Meteorite()).generate(world, rand, x, y, z, false, true, false); } if (GeneralConfig.enableNITAN) { diff --git a/src/main/java/com/hbm/render/tileentity/RendererObjTester.java b/src/main/java/com/hbm/render/tileentity/RendererObjTester.java index 26a0d0625..49ef618d6 100644 --- a/src/main/java/com/hbm/render/tileentity/RendererObjTester.java +++ b/src/main/java/com/hbm/render/tileentity/RendererObjTester.java @@ -26,18 +26,8 @@ import net.minecraftforge.client.model.IModelCustom; public class RendererObjTester extends TileEntitySpecialRenderer { private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/TestObj.obj"); - //private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/Prototype.obj"); - private IModelCustom objTesterModel; - private ResourceLocation objTesterTexture; - - public RendererObjTester() - { - objTesterModel = AdvancedModelLoader.loadModel(objTesterModelRL); - objTesterTexture = new ResourceLocation(RefStrings.MODID, "textures/models/TestObj.png"); - //objTesterTexture = new ResourceLocation(RefStrings.MODID, "textures/models/Prototype.png"); - } - @Override + @Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5, y, z + 0.5); diff --git a/src/main/java/com/hbm/util/StatHelper.java b/src/main/java/com/hbm/util/StatHelper.java index f938aca8d..356d1da0a 100644 --- a/src/main/java/com/hbm/util/StatHelper.java +++ b/src/main/java/com/hbm/util/StatHelper.java @@ -50,7 +50,7 @@ public class StatHelper { initBlockMineStats(); initItemUseStats(); initItemBreakStats(); - } catch(Exception ex) { } // just to be sure + } catch(Throwable ex) { } // just to be sure } /** @@ -69,7 +69,7 @@ public class StatHelper { int i = Item.getIdFromItem(item); try { StatList.objectCraftStats[i] = registerStat(new StatCrafting("stat.craftItem." + i, new ChatComponentTranslation("stat.craftItem", new Object[] { (new ItemStack(item)).func_151000_E() }), item)); - } catch(Exception ex) { } + } catch(Throwable ex) { } } } @@ -89,7 +89,7 @@ public class StatHelper { StatList.mineBlockStatArray[i] = registerStat(new StatCrafting("stat.mineBlock." + i, new ChatComponentTranslation("stat.mineBlock", new Object[] { (new ItemStack(block)).func_151000_E() }), Item.getItemFromBlock(block))); StatList.objectMineStats.add((StatCrafting) StatList.mineBlockStatArray[i]); } - } catch(Exception ex) { } + } catch(Throwable ex) { } } } @@ -109,7 +109,7 @@ public class StatHelper { if(!(item instanceof ItemBlock)) { StatList.itemStats.add((StatCrafting) StatList.objectUseStats[i]); } - } catch(Exception ex) { } + } catch(Throwable ex) { } } } @@ -128,7 +128,7 @@ public class StatHelper { if(item.isDamageable()) { StatList.objectBreakStats[i] = registerStat(new StatCrafting("stat.breakItem." + i, new ChatComponentTranslation("stat.breakItem", new Object[] { (new ItemStack(item)).func_151000_E() }), item)); } - } catch(Exception ex) { } + } catch(Throwable ex) { } } } diff --git a/src/main/java/com/hbm/world/feature/Meteorite.java b/src/main/java/com/hbm/world/feature/Meteorite.java index 3f78561a6..c383eefa0 100644 --- a/src/main/java/com/hbm/world/feature/Meteorite.java +++ b/src/main/java/com/hbm/world/feature/Meteorite.java @@ -25,17 +25,19 @@ public class Meteorite { public static boolean safeMode = false; - public void generate(World world, Random rand, int x, int y, int z, boolean safe, boolean allowSpecials) { + public void generate(World world, Random rand, int x, int y, int z, boolean safe, boolean allowSpecials, boolean damagingImpact) { safeMode = safe; if(replacables.isEmpty()) { generateReplacables(); } - List list = (List) world.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(x - 7.5, y - 7.5, z - 7.5, x + 7.5, y + 7.5, z + 7.5)); - - for(Entity e : list) { - e.attackEntityFrom(ModDamageSource.meteorite, 1000); + if(damagingImpact) { + List list = (List) world.getEntitiesWithinAABBExcludingEntity(null, AxisAlignedBB.getBoundingBox(x - 7.5, y - 7.5, z - 7.5, x + 7.5, y + 7.5, z + 7.5)); + + for(Entity e : list) { + e.attackEntityFrom(ModDamageSource.meteorite, 1000); + } } if(WorldConfig.enableSpecialMeteors && allowSpecials) From 70397b418d152255b88f0611068b9a3246cdb841 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Mon, 3 Apr 2023 09:01:56 -0500 Subject: [PATCH 007/285] yeah uh redoing OC compat yeah it should work now idk --- .../hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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 1a3562334..0e2cea7c7 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -414,9 +414,9 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM @Callback @Optional.Method(modid = "OpenComputers") - public Object[] getFuelType(Context context, Arguments args) { + public Object[] getItemData(Context context, Arguments args) { if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { - return new Object[] {rod.getName()}; + return new Object[] {slots[0]}; } return new Object[] {"N/A"}; } @@ -457,13 +457,13 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { OC_enrich_buf = ItemRBMKRod.getEnrichment(slots[0]); OC_poison_buf = ItemRBMKRod.getPoison(slots[0]); - OC_fuelType = rod.getName(); + OC_item_Data = slots[0]; } else { OC_enrich_buf = "N/A"; OC_poison_buf = "N/A"; - OC_fuelType = "N/A"; + OC_item_Data = "N/A"; } - return new Object[] {heat, fluxSlow, fluxFast, OC_enrich_buf, OC_poison_buf, OC_fuelType}; + return new Object[] {heat, fluxSlow, fluxFast, OC_enrich_buf, OC_poison_buf, OC_item_Data}; } @Override From 0135b6688419cebbd65a1960a71c5c05d4492b87 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 3 Apr 2023 16:21:13 +0200 Subject: [PATCH 008/285] more intuitive mixer recipe setting, particle sys crap --- .../hbm/inventory/fluid/tank/FluidTank.java | 12 ++- .../java/com/hbm/packet/TEFluidPacket.java | 1 + .../com/hbm/particle/psys/engine/PSysFX.java | 61 +++++++++++-- .../particle/psys/engine/PSysFXMoving.java | 87 +++++++++++++++++++ .../particle/psys/engine/ParticleEngine.java | 8 +- .../machine/TileEntityMachineMixer.java | 22 ++--- 6 files changed, 160 insertions(+), 31 deletions(-) create mode 100644 src/main/java/com/hbm/particle/psys/engine/PSysFXMoving.java 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 5e7d9187f..5d67bb325 100644 --- a/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java +++ b/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java @@ -53,6 +53,10 @@ public class FluidTank { public void setTankType(FluidType type) { + if(type == null) { + type = Fluids.NONE; + } + if(this.type == type) return; @@ -85,16 +89,16 @@ public class FluidTank { } //Called on TE update - public void updateTank(TileEntity te) { + @Deprecated public void updateTank(TileEntity te) { updateTank(te, 100); } - public void updateTank(TileEntity te, int range) { + @Deprecated public void updateTank(TileEntity te, int range) { updateTank(te.xCoord, te.yCoord, te.zCoord, te.getWorldObj().provider.dimensionId, range); } - public void updateTank(int x, int y, int z, int dim) { + @Deprecated public void updateTank(int x, int y, int z, int dim) { updateTank(x, y, z, dim, 100); } - public void updateTank(int x, int y, int z, int dim, int range) { + @Deprecated public void updateTank(int x, int y, int z, int dim, int range) { PacketDispatcher.wrapper.sendToAllAround(new TEFluidPacket(x, y, z, fluid, index, type), new TargetPoint(dim, x, y, z, range)); } diff --git a/src/main/java/com/hbm/packet/TEFluidPacket.java b/src/main/java/com/hbm/packet/TEFluidPacket.java index 078729c9f..49338eab5 100644 --- a/src/main/java/com/hbm/packet/TEFluidPacket.java +++ b/src/main/java/com/hbm/packet/TEFluidPacket.java @@ -11,6 +11,7 @@ import io.netty.buffer.ByteBuf; import net.minecraft.client.Minecraft; import net.minecraft.tileentity.TileEntity; +@Deprecated public class TEFluidPacket implements IMessage { int x; diff --git a/src/main/java/com/hbm/particle/psys/engine/PSysFX.java b/src/main/java/com/hbm/particle/psys/engine/PSysFX.java index 4abb6412c..685f17835 100644 --- a/src/main/java/com/hbm/particle/psys/engine/PSysFX.java +++ b/src/main/java/com/hbm/particle/psys/engine/PSysFX.java @@ -2,6 +2,7 @@ package com.hbm.particle.psys.engine; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; /** @@ -10,7 +11,7 @@ import net.minecraft.world.World; * @author hbm */ @SideOnly(Side.CLIENT) -public class PSysFX { +public abstract class PSysFX { public World world; public double posX; @@ -19,14 +20,62 @@ public class PSysFX { public double prevPosX; public double prevPosY; public double prevPosZ; - public double motionX; - public double motionY; - public double motionZ; public static double interpPosX; public static double interpPosY; public static double interpPosZ; - - public PSysFX() { + public AxisAlignedBB boundingBox; + public int particleAge; + public int particleMaxAge; + public boolean isExpired = false; + public boolean shouldExpireWhenUnloaded = true; + public boolean isUnloaded = false; + + public PSysFX(World world, double x, double y, double z) { + this.world = world; + this.posX = x; + this.posY = y; + this.posZ = z; + } + + public void updateParticle() { + this.prevPosX = posX; + this.prevPosY = posY; + this.prevPosZ = posZ; + this.isUnloaded = !world.getChunkProvider().chunkExists((int) Math.floor(posX) >> 4, (int) Math.floor(posZ) >> 4); + this.particleAge++; + + if(this.particleAge >= this.particleMaxAge) { + this.expire(); + } + + if(this.shouldExpireWhenUnloaded && this.isUnloaded) { + this.expire(); + } + } + + public abstract void renderParticle(); + + public AxisAlignedBB getBoundingBox() { + return this.boundingBox; + } + + public void setBoundingBox(AxisAlignedBB bb) { + this.boundingBox = bb; + } + + protected void setPosToAABB() { + AxisAlignedBB aabb = this.getBoundingBox(); + this.posX = (aabb.minX + aabb.maxX) / 2.0D; + this.posY = aabb.minY; + this.posZ = (aabb.minZ + aabb.maxZ) / 2.0D; + } + + public void expire() { + this.isExpired = true; + } + + public void setExpireOnUnload(boolean expire) { + this.shouldExpireWhenUnloaded = expire; } } diff --git a/src/main/java/com/hbm/particle/psys/engine/PSysFXMoving.java b/src/main/java/com/hbm/particle/psys/engine/PSysFXMoving.java new file mode 100644 index 000000000..9922b3575 --- /dev/null +++ b/src/main/java/com/hbm/particle/psys/engine/PSysFXMoving.java @@ -0,0 +1,87 @@ +package com.hbm.particle.psys.engine; + +import java.util.List; + +import com.hbm.lib.Library; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; + +@SideOnly(Side.CLIENT) +public abstract class PSysFXMoving extends PSysFX { + + public double motionX; + public double motionY; + public double motionZ; + boolean noClip = false; + /* using the forgedirection's ordinal as an index, this tells us what side of a block the particle has collided with */ + public boolean collisionData[] = new boolean[6]; + + public PSysFXMoving(World world, double x, double y, double z, double mX, double mY, double mZ) { + super(world, x, y, z); + this.motionX = mX; + this.motionY = mY; + this.motionZ = mZ; + } + + public double getParticleGravity() { + return 0.04D; + } + + public double getParticleDrag() { + return 0.98D; + } + + public void updateParticle() { + super.updateParticle(); + + if(!this.isUnloaded) { + this.motionX -= this.getParticleGravity(); + this.motionX *= this.getParticleDrag(); + this.motionY *= this.getParticleDrag(); + this.motionZ *= this.getParticleDrag(); + + this.move(motionX, motionY, motionZ); + } + } + + public void move(double x, double y, double z) { + + double x0 = x; + double y0 = y; + double z0 = z; + + this.collisionData = new boolean[6]; + + if(!noClip) { + List list = this.world.getCollidingBoundingBoxes(null, this.getBoundingBox().expand(x, y, z)); + + for(AxisAlignedBB aabb : list) y = aabb.calculateYOffset(this.getBoundingBox(), y); + this.setBoundingBox(this.getBoundingBox().offset(0.0D, y, 0.0D)); + + for(AxisAlignedBB aabb : list) x = aabb.calculateXOffset(this.getBoundingBox(), x); + this.setBoundingBox(this.getBoundingBox().offset(x, 0.0D, 0.0D)); + + for(AxisAlignedBB aabb : list) z = aabb.calculateZOffset(this.getBoundingBox(), z); + this.setBoundingBox(this.getBoundingBox().offset(0.0D, 0.0D, z)); + + } else { + this.setBoundingBox(this.getBoundingBox().offset(x, y, z)); + } + + this.setPosToAABB(); + + if(x0 != x && x > 0) this.collisionData[Library.NEG_X.ordinal()] = true; + if(x0 != x && x < 0) this.collisionData[Library.POS_X.ordinal()] = true; + if(y0 != y && y > 0) this.collisionData[Library.NEG_Y.ordinal()] = true; + if(y0 != y && y < 0) this.collisionData[Library.POS_Y.ordinal()] = true; + if(z0 != z && z > 0) this.collisionData[Library.NEG_Z.ordinal()] = true; + if(z0 != z && z < 0) this.collisionData[Library.POS_Z.ordinal()] = true; + + if(x0 != x) this.motionX = 0.0D; + if(y0 != y) this.motionY = 0.0D; + if(z0 != z) this.motionZ = 0.0D; + } +} diff --git a/src/main/java/com/hbm/particle/psys/engine/ParticleEngine.java b/src/main/java/com/hbm/particle/psys/engine/ParticleEngine.java index 6c46b7b19..8f2742ad3 100644 --- a/src/main/java/com/hbm/particle/psys/engine/ParticleEngine.java +++ b/src/main/java/com/hbm/particle/psys/engine/ParticleEngine.java @@ -29,17 +29,17 @@ public class ParticleEngine { } public void updateParticles() { - + for(FXLayer layer : layers) layer.updateLayer(); } public void renderParticles(float interp) { - + for(FXLayer layer : layers) layer.renderLayer(interp); } public static class FXLayer { protected ResourceLocation batchTexture; - protected List particles; + protected List particles; public FXLayer() { } @@ -51,7 +51,7 @@ public class ParticleEngine { } - protected void renderLayer() { + protected void renderLayer(float interp) { } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java index 9204a1dbd..69a0122e7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java @@ -145,23 +145,11 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB if(recipe == null) return false; - if(recipe.input1 != null) { - - if(recipe.input1.type != tanks[0].getTankType()) { - tanks[0].setTankType(recipe.input1.type); - } - - if(tanks[0].getFill() < recipe.input1.fill) return false; - } - - if(recipe.input2 != null) { - - if(recipe.input2.type != tanks[1].getTankType()) { - tanks[1].setTankType(recipe.input2.type); - } - - if(tanks[1].getFill() < recipe.input2.fill) return false; - } + tanks[0].setTankType(recipe.input1.type); + tanks[1].setTankType(recipe.input2.type); + + 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; From 029c2f226f263a3d9e77745b6b4a2a0b219f1851 Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 3 Apr 2023 20:38:30 +0200 Subject: [PATCH 009/285] lead poisoning, brain no work :( --- .../com/hbm/inventory/recipes/anvil/AnvilSmithingMold.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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 b5f44ece0..945668cc4 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilSmithingMold.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilSmithingMold.java @@ -32,11 +32,12 @@ public class AnvilSmithingMold extends AnvilSmithingRecipe { if(matchesPrefix != null && left.stackSize == matchesPrefix.stacksize) { List names = ItemStackUtil.getOreDictNames(left); + outer: for(String name : names) { for(String otherPrefix : OreNames.prefixes) { if(otherPrefix.length() > matchesPrefix.name.length() && name.startsWith(otherPrefix)) { - continue; //ignore if there's a longer prefix that matches (i.e. a more accurate match) + continue outer; //ignore if there's a longer prefix that matches (i.e. a more accurate match) } } From a33abf85ea69eb6c7deea944be3eb8b117bccedf Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 3 Apr 2023 22:08:15 +0200 Subject: [PATCH 010/285] watz pressure pump --- src/main/java/com/hbm/blocks/ModBlocks.java | 5 +- .../java/com/hbm/blocks/machine/Watz.java | 3 +- .../java/com/hbm/blocks/machine/WatzPump.java | 52 + .../java/com/hbm/inventory/material/Mats.java | 6 +- .../recipes/anvil/AnvilSmithingMold.java | 3 +- src/main/java/com/hbm/main/ClientProxy.java | 3 + .../java/com/hbm/main/ResourceManager.java | 2 + .../com/hbm/render/tileentity/RenderWatz.java | 1 - .../hbm/render/tileentity/RenderWatzPump.java | 29 + .../java/com/hbm/tileentity/TileMappings.java | 5 +- .../assets/hbm/models/machines/watz_pump.obj | 1647 +++++++++++++++++ .../textures/models/machines/watz_pump.png | Bin 0 -> 902 bytes 12 files changed, 1746 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/machine/WatzPump.java create mode 100644 src/main/java/com/hbm/render/tileentity/RenderWatzPump.java create mode 100644 src/main/resources/assets/hbm/models/machines/watz_pump.obj create mode 100644 src/main/resources/assets/hbm/textures/models/machines/watz_pump.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 0e0a4ec5d..47ddd31a8 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -849,8 +849,9 @@ public class ModBlocks { public static Block iter; public static Block plasma_heater; - + public static Block watz; + public static Block watz_pump; public static Block watz_element; public static Block watz_control; @@ -1981,6 +1982,7 @@ public class ModBlocks { watz_conductor = new BlockCableConnect(Material.iron).setBlockName("watz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_conductor_top"); watz_core = new WatzCore(Material.iron).setBlockName("watz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_computer"); 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"); fwatz_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":block_combine_steel").setBlockName("fwatz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_conductor_side"); fwatz_cooler = new BlockPillar(Material.iron, RefStrings.MODID + ":fwatz_cooler_top").setBlockName("fwatz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fwatz_cooler"); @@ -3260,6 +3262,7 @@ public class ModBlocks { GameRegistry.registerBlock(watz_conductor, watz_conductor.getUnlocalizedName()); GameRegistry.registerBlock(watz_core, watz_core.getUnlocalizedName()); GameRegistry.registerBlock(watz, watz.getUnlocalizedName()); + GameRegistry.registerBlock(watz_pump, watz_pump.getUnlocalizedName()); GameRegistry.registerBlock(fwatz_conductor, fwatz_conductor.getUnlocalizedName()); GameRegistry.registerBlock(fwatz_scaffold, fwatz_scaffold.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/Watz.java b/src/main/java/com/hbm/blocks/machine/Watz.java index 76350d2a2..8edb70cb7 100644 --- a/src/main/java/com/hbm/blocks/machine/Watz.java +++ b/src/main/java/com/hbm/blocks/machine/Watz.java @@ -25,8 +25,7 @@ public class Watz extends BlockDummyable { @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); - return false; + return super.standardOpenBehavior(world, x, y, z, player, 0); } @Override diff --git a/src/main/java/com/hbm/blocks/machine/WatzPump.java b/src/main/java/com/hbm/blocks/machine/WatzPump.java new file mode 100644 index 000000000..69405e861 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/WatzPump.java @@ -0,0 +1,52 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.material.Material; +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 WatzPump extends BlockDummyable { + + public WatzPump() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityWatzPump(); + + return null; + } + + @Override + public int[] getDimensions() { + return new int[] {1, 0, 0, 0, 0, 0}; + } + + @Override + public int getOffset() { + return 0; + } + + @Override + public boolean isSideSolid(IBlockAccess world, int x, int y, int z, ForgeDirection side) { + int meta = world.getBlockMetadata(x, y, z); + return side == ForgeDirection.UP && meta == 1; + } + + public static class TileEntityWatzPump extends TileEntity { + @Override public boolean canUpdate() { return false; } + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { return 65536.0D; } + 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; + } + } +} diff --git a/src/main/java/com/hbm/inventory/material/Mats.java b/src/main/java/com/hbm/inventory/material/Mats.java index 665a65372..f6b839d9e 100644 --- a/src/main/java/com/hbm/inventory/material/Mats.java +++ b/src/main/java/com/hbm/inventory/material/Mats.java @@ -114,15 +114,15 @@ public class Mats { public static final NTMMaterial MAT_ALLOY = makeSmeltable(_AS + 2, ALLOY, 0xFF8330, 0x700000, 0xFF7318).setShapes(WIRE, INGOT, DUST, PLATE, CASTPLATE, BLOCK); public static final NTMMaterial MAT_DURA = makeSmeltable(_AS + 3, DURA, 0x183039, 0x030B0B, 0x376373).setShapes(INGOT, DUST, BLOCK); public static final NTMMaterial MAT_SATURN = makeSmeltable(_AS + 4, BIGMT, 0x4DA3AF, 0x00000C, 0x4DA3AF).setShapes(INGOT, DUST, BLOCK); + public static final NTMMaterial MAT_DESH = makeSmeltable(_AS + 12, DESH, 0xFF6D6D, 0x720000, 0xF22929).setShapes(INGOT, DUST, CASTPLATE, BLOCK); public static final NTMMaterial MAT_STAR = makeSmeltable(_AS + 5, STAR, 0xCCCCEA, 0x11111A, 0xA5A5D3).setShapes(INGOT, DUST, BLOCK); - public static final NTMMaterial MAT_TCALLOY = makeSmeltable(_AS + 6, TCALLOY, 0xD4D6D6, 0x323D3D, 0x9CA6A6).setShapes(INGOT, DUST, CASTPLATE); public static final NTMMaterial MAT_FERRO = makeSmeltable(_AS + 7, FERRO, 0xB7B7C9, 0x101022, 0x6B6B8B).setShapes(INGOT); + public static final NTMMaterial MAT_TCALLOY = makeSmeltable(_AS + 6, TCALLOY, 0xD4D6D6, 0x323D3D, 0x9CA6A6).setShapes(INGOT, DUST, CASTPLATE); + public static final NTMMaterial MAT_CDALLOY = makeSmeltable(_AS + 13, CDALLOY, 0xF7DF8F, 0x604308, 0xFBD368).setShapes(INGOT, CASTPLATE); public static final NTMMaterial MAT_MAGTUNG = makeSmeltable(_AS + 8, MAGTUNG, 0x22A2A2, 0x0F0F0F, 0x22A2A2).setShapes(INGOT, DUST, BLOCK); public static final NTMMaterial MAT_CMB = makeSmeltable(_AS + 9, CMB, 0x6F6FB4, 0x000011, 0x6F6FB4).setShapes(INGOT, DUST, PLATE, CASTPLATE, BLOCK); public static final NTMMaterial MAT_FLUX = makeAdditive(_AS + 10, df("Flux"), 0xF1E0BB, 0x6F6256, 0xDECCAD).setShapes(DUST); public static final NTMMaterial MAT_SLAG = makeSmeltable(_AS + 11, SLAG, 0x554940, 0x34281F, 0x6C6562).setShapes(BLOCK); - public static final NTMMaterial MAT_DESH = makeSmeltable(_AS + 12, DESH, 0xFF6D6D, 0x720000, 0xF22929).setShapes(INGOT, DUST, CASTPLATE, BLOCK); - public static final NTMMaterial MAT_CDALLOY = makeSmeltable(_AS + 13, CDALLOY, 0xF7DF8F, 0x604308, 0xFBD368).setShapes(INGOT, CASTPLATE); @Deprecated public static NTMMaterial makeSmeltable(int id, DictFrame dict, int color) { return makeSmeltable(id, dict, color, color, color); } @Deprecated public static NTMMaterial makeAdditive(int id, DictFrame dict, int color) { return makeAdditive(id, dict, color, color, color); } 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 945668cc4..5dd1bef82 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilSmithingMold.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilSmithingMold.java @@ -32,12 +32,11 @@ public class AnvilSmithingMold extends AnvilSmithingRecipe { if(matchesPrefix != null && left.stackSize == matchesPrefix.stacksize) { List names = ItemStackUtil.getOreDictNames(left); - outer: for(String name : names) { for(String otherPrefix : OreNames.prefixes) { if(otherPrefix.length() > matchesPrefix.name.length() && name.startsWith(otherPrefix)) { - continue outer; //ignore if there's a longer prefix that matches (i.e. a more accurate match) + 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/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 6c4ea730a..97b5d0d1f 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -48,6 +48,7 @@ import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; import com.hbm.blocks.machine.MachineFan.TileEntityFan; +import com.hbm.blocks.machine.WatzPump.TileEntityWatzPump; import com.hbm.entity.cart.*; import com.hbm.entity.effect.*; import com.hbm.entity.grenade.*; @@ -332,7 +333,9 @@ public class ClientProxy extends ServerProxy { //ITER ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITER.class, new RenderITER()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachinePlasmaHeater.class, new RenderPlasmaHeater()); + //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()); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 88ff8c69f..9c4e51884 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -214,6 +214,7 @@ public class ResourceManager { //Watz public static final IModelCustom watz = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/reactors/watz.obj")); + public static final IModelCustom watz_pump = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/watz_pump.obj")); //FENSU public static final IModelCustom fensu = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/fensu.obj")); @@ -561,6 +562,7 @@ public class ResourceManager { //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"); diff --git a/src/main/java/com/hbm/render/tileentity/RenderWatz.java b/src/main/java/com/hbm/render/tileentity/RenderWatz.java index b37cf2761..4fae3299a 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderWatz.java +++ b/src/main/java/com/hbm/render/tileentity/RenderWatz.java @@ -26,5 +26,4 @@ public class RenderWatz extends TileEntitySpecialRenderer { GL11.glPopMatrix(); } - } diff --git a/src/main/java/com/hbm/render/tileentity/RenderWatzPump.java b/src/main/java/com/hbm/render/tileentity/RenderWatzPump.java new file mode 100644 index 000000000..4b19cddee --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderWatzPump.java @@ -0,0 +1,29 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; + +public class RenderWatzPump extends TileEntitySpecialRenderer { + + @Override + public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f) { + + GL11.glPushMatrix(); + + GL11.glTranslatef((float) x + 0.5F, (float) y, (float) z + 0.5F); + + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.watz_pump_tex); + ResourceManager.watz_pump.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 6692e9749..b6c1cbe30 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -12,6 +12,7 @@ import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.blocks.generic.BlockMotherOfAllOres.TileEntityRandomOre; import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; import com.hbm.blocks.machine.MachineFan.TileEntityFan; +import com.hbm.blocks.machine.WatzPump.TileEntityWatzPump; import com.hbm.blocks.network.BlockCablePaintable.TileEntityCablePaintable; import com.hbm.blocks.network.CableDiode.TileEntityDiode; import com.hbm.blocks.network.FluidDuctGauge.TileEntityPipeGauge; @@ -183,7 +184,6 @@ public class TileMappings { put(TileEntityPipeBaseNT.class, "tileentity_pipe_base"); put(TileEntityPipePaintable.class, "tileentity_pipe_paintable"); put(TileEntityPipeGauge.class, "tileentity_pipe_gauge"); - put(TileEntityWatz.class, "tileentity_watz"); put(TileEntityMachineBAT9000.class, "tileentity_bat9000"); put(TileEntityMachineOrbus.class, "tileentity_orbus"); @@ -306,6 +306,9 @@ public class TileMappings { 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() { diff --git a/src/main/resources/assets/hbm/models/machines/watz_pump.obj b/src/main/resources/assets/hbm/models/machines/watz_pump.obj new file mode 100644 index 000000000..e259e6ee0 --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/watz_pump.obj @@ -0,0 +1,1647 @@ +# Blender v2.79 (sub 0) OBJ File: 'watz_pump.blend' +# www.blender.org +o Plane +v -0.500000 0.000000 -0.375000 +v -0.500000 0.000000 0.375000 +v 0.375000 0.000000 0.500000 +v -0.375000 0.000000 0.500000 +v -0.375000 0.000000 1.500000 +v 0.375000 0.000000 1.500000 +v -0.375000 0.000000 -1.500000 +v 0.375000 0.000000 -1.500000 +v -1.500000 0.000000 0.375000 +v 1.500000 0.000000 0.375000 +v -1.500000 0.000000 -0.375000 +v 1.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 0.000000 -0.375000 +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.375000 0.250000 1.500000 +v 0.375000 0.250000 1.500000 +v -0.375000 0.250000 -1.500000 +v 0.375000 0.250000 -1.500000 +v -1.500000 0.250000 0.375000 +v 1.500000 0.250000 0.375000 +v -1.500000 0.250000 -0.375000 +v 1.500000 0.250000 -0.375000 +v -0.375000 0.500000 0.500000 +v 0.375000 0.500000 0.500000 +v -0.375000 0.500000 -0.500000 +v 0.375000 0.500000 -0.500000 +v -0.500000 0.500000 0.375000 +v 0.500000 0.500000 0.375000 +v -0.500000 0.500000 -0.375000 +v 0.500000 0.500000 -0.375000 +v -0.500000 0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v -0.500000 0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 +v -0.375000 1.500000 0.500000 +v 0.375000 1.500000 0.500000 +v -0.375000 1.500000 -0.500000 +v 0.375000 1.500000 -0.500000 +v -0.500000 1.500000 0.375000 +v 0.500000 1.500000 0.375000 +v -0.500000 1.500000 -0.375000 +v 0.500000 1.500000 -0.375000 +v -0.250000 1.750000 0.250000 +v 0.250000 1.750000 0.250000 +v -0.250000 1.750000 -0.250000 +v 0.250000 1.750000 -0.250000 +v -0.250000 2.000000 -0.250000 +v -0.250000 2.000000 0.250000 +v 0.250000 2.000000 0.250000 +v 0.250000 2.000000 -0.250000 +v 0.099111 1.161611 -0.500000 +v 0.062500 1.250000 -0.500000 +v 0.099111 1.338388 -0.500000 +v 0.187500 1.374999 -0.500000 +v 0.275888 1.338388 -0.500000 +v 0.312500 1.250000 -0.500000 +v 0.275888 1.161611 -0.500000 +v 0.187500 1.125000 -0.500000 +v 0.099111 1.161611 -0.875000 +v 0.062500 1.250000 -0.875000 +v 0.099111 1.338388 -0.875000 +v 0.187500 1.374999 -0.875000 +v 0.275888 1.338388 -0.875000 +v 0.312500 1.250000 -0.875000 +v 0.275888 1.161611 -0.875000 +v 0.099111 1.150888 -0.900888 +v 0.062500 1.213388 -0.963388 +v 0.099111 1.275888 -1.025888 +v 0.187500 1.301776 -1.051777 +v 0.275888 1.275888 -1.025888 +v 0.312500 1.213388 -0.963388 +v 0.275888 1.150888 -0.900888 +v 0.099111 1.125000 -0.911612 +v 0.062500 1.125000 -1.000000 +v 0.099111 1.125000 -1.088388 +v 0.187500 1.125000 -1.125000 +v 0.275888 1.125000 -1.088388 +v 0.312500 1.125000 -1.000000 +v 0.275888 1.125000 -0.911612 +v 0.187500 1.125000 -0.875000 +v 0.099111 0.250000 -0.911612 +v 0.062500 0.250000 -1.000000 +v 0.099111 0.250000 -1.088388 +v 0.187500 0.250000 -1.125000 +v 0.275888 0.250000 -1.088388 +v 0.312500 0.250000 -1.000000 +v 0.275888 0.250000 -0.911612 +v 0.187500 0.250000 -0.875000 +v 0.275889 1.161611 0.500000 +v 0.312500 1.250000 0.500000 +v 0.275889 1.338388 0.500000 +v 0.187500 1.374999 0.500000 +v 0.099112 1.338388 0.500000 +v 0.062500 1.250000 0.500000 +v 0.099112 1.161611 0.500000 +v 0.187500 1.125000 0.500000 +v 0.275889 1.161611 0.875000 +v 0.312500 1.250000 0.875000 +v 0.275889 1.338388 0.875000 +v 0.187500 1.374999 0.875000 +v 0.099112 1.338388 0.875000 +v 0.062500 1.250000 0.875000 +v 0.099112 1.161611 0.875000 +v 0.275889 1.150888 0.900888 +v 0.312500 1.213388 0.963388 +v 0.275889 1.275888 1.025888 +v 0.187500 1.301776 1.051777 +v 0.099112 1.275888 1.025888 +v 0.062500 1.213388 0.963388 +v 0.099112 1.150888 0.900888 +v 0.275889 1.125000 0.911612 +v 0.312500 1.125000 1.000000 +v 0.275889 1.125000 1.088388 +v 0.187500 1.125000 1.125000 +v 0.099112 1.125000 1.088388 +v 0.062500 1.125000 1.000000 +v 0.099112 1.125000 0.911612 +v 0.187500 1.125000 0.875000 +v 0.275889 0.250000 0.911612 +v 0.312500 0.250000 1.000000 +v 0.275889 0.250000 1.088388 +v 0.187500 0.250000 1.125000 +v 0.099112 0.250000 1.088388 +v 0.062500 0.250000 1.000000 +v 0.099112 0.250000 0.911612 +v 0.187500 0.250000 0.875000 +v -0.187500 0.250000 -0.875000 +v -0.099112 0.250000 -0.911612 +v -0.062500 0.250000 -1.000000 +v -0.099112 0.250000 -1.088388 +v -0.187500 0.250000 -1.125000 +v -0.275889 0.250000 -1.088388 +v -0.312500 0.250000 -1.000000 +v -0.275889 0.250000 -0.911612 +v -0.187500 1.125000 -0.875000 +v -0.099112 1.125000 -0.911612 +v -0.062500 1.125000 -1.000000 +v -0.099112 1.125000 -1.088388 +v -0.187500 1.125000 -1.125000 +v -0.275889 1.125000 -1.088388 +v -0.312500 1.125000 -1.000000 +v -0.275889 1.125000 -0.911612 +v -0.099112 1.150888 -0.900888 +v -0.062500 1.213388 -0.963388 +v -0.099112 1.275888 -1.025888 +v -0.187500 1.301776 -1.051777 +v -0.275889 1.275888 -1.025888 +v -0.312500 1.213388 -0.963388 +v -0.275889 1.150888 -0.900888 +v -0.099112 1.161611 -0.875000 +v -0.062500 1.250000 -0.875000 +v -0.099112 1.338388 -0.875000 +v -0.187500 1.374999 -0.875000 +v -0.275889 1.338388 -0.875000 +v -0.312500 1.250000 -0.875000 +v -0.275889 1.161611 -0.875000 +v -0.187500 1.125000 -0.500000 +v -0.099112 1.161611 -0.500000 +v -0.062500 1.250000 -0.500000 +v -0.099112 1.338388 -0.500000 +v -0.187500 1.374999 -0.500000 +v -0.275889 1.338388 -0.500000 +v -0.312500 1.250000 -0.500000 +v -0.275889 1.161611 -0.500000 +v -0.187500 0.250000 0.875000 +v -0.275888 0.250000 0.911612 +v -0.312500 0.250000 1.000000 +v -0.275888 0.250000 1.088388 +v -0.187500 0.250000 1.125000 +v -0.099111 0.250000 1.088388 +v -0.062500 0.250000 1.000000 +v -0.099111 0.250000 0.911612 +v -0.187500 1.125000 0.875000 +v -0.275888 1.125000 0.911612 +v -0.312500 1.125000 1.000000 +v -0.275888 1.125000 1.088388 +v -0.187500 1.125000 1.125000 +v -0.099111 1.125000 1.088388 +v -0.062500 1.125000 1.000000 +v -0.099111 1.125000 0.911612 +v -0.275888 1.150888 0.900888 +v -0.312500 1.213388 0.963388 +v -0.275888 1.275888 1.025888 +v -0.187500 1.301776 1.051777 +v -0.099111 1.275888 1.025888 +v -0.062500 1.213388 0.963388 +v -0.099111 1.150888 0.900888 +v -0.275888 1.161611 0.875000 +v -0.312500 1.250000 0.875000 +v -0.275888 1.338388 0.875000 +v -0.187500 1.374999 0.875000 +v -0.099111 1.338388 0.875000 +v -0.062500 1.250000 0.875000 +v -0.099111 1.161611 0.875000 +v -0.187500 1.125000 0.500000 +v -0.275888 1.161611 0.500000 +v -0.312500 1.250000 0.500000 +v -0.275888 1.338388 0.500000 +v -0.187500 1.374999 0.500000 +v -0.099111 1.338388 0.500000 +v -0.062500 1.250000 0.500000 +v -0.099111 1.161611 0.500000 +v -0.500000 1.161612 -0.099111 +v -0.500000 1.250000 -0.062500 +v -0.500000 1.338388 -0.099111 +v -0.500000 1.375000 -0.187500 +v -0.500000 1.338388 -0.275888 +v -0.500000 1.250000 -0.312500 +v -0.500000 1.161612 -0.275888 +v -0.500000 1.125000 -0.187500 +v -0.875000 1.161612 -0.099111 +v -0.875000 1.250000 -0.062500 +v -0.875000 1.338388 -0.099111 +v -0.875000 1.375000 -0.187500 +v -0.875000 1.338388 -0.275888 +v -0.875000 1.250000 -0.312500 +v -0.875000 1.161612 -0.275888 +v -0.900888 1.150888 -0.099111 +v -0.963388 1.213388 -0.062500 +v -1.025888 1.275888 -0.099111 +v -1.051777 1.301776 -0.187500 +v -1.025888 1.275888 -0.275888 +v -0.963388 1.213388 -0.312500 +v -0.900888 1.150888 -0.275888 +v -0.911612 1.125000 -0.099111 +v -1.000000 1.125000 -0.062500 +v -1.088388 1.125000 -0.099111 +v -1.125000 1.125000 -0.187500 +v -1.088388 1.125000 -0.275888 +v -1.000000 1.125000 -0.312500 +v -0.911612 1.125000 -0.275888 +v -0.875000 1.125000 -0.187500 +v -0.911612 0.250000 -0.099111 +v -1.000000 0.250000 -0.062500 +v -1.088388 0.250000 -0.099111 +v -1.125000 0.250000 -0.187500 +v -1.088388 0.250000 -0.275888 +v -1.000000 0.250000 -0.312500 +v -0.911612 0.250000 -0.275888 +v -0.875000 0.250000 -0.187500 +v 0.500000 1.161612 -0.275889 +v 0.500000 1.250000 -0.312500 +v 0.500000 1.338388 -0.275889 +v 0.500000 1.375000 -0.187500 +v 0.500000 1.338388 -0.099112 +v 0.500000 1.250000 -0.062500 +v 0.500000 1.161612 -0.099112 +v 0.500000 1.125000 -0.187500 +v 0.875000 1.161612 -0.275889 +v 0.875000 1.250000 -0.312500 +v 0.875000 1.338388 -0.275889 +v 0.875000 1.375000 -0.187500 +v 0.875000 1.338388 -0.099112 +v 0.875000 1.250000 -0.062500 +v 0.875000 1.161612 -0.099112 +v 0.900888 1.150888 -0.275889 +v 0.963388 1.213388 -0.312500 +v 1.025888 1.275888 -0.275889 +v 1.051777 1.301776 -0.187500 +v 1.025888 1.275888 -0.099112 +v 0.963388 1.213388 -0.062500 +v 0.900888 1.150888 -0.099112 +v 0.911612 1.125000 -0.275889 +v 1.000000 1.125000 -0.312500 +v 1.088388 1.125000 -0.275889 +v 1.125000 1.125000 -0.187500 +v 1.088388 1.125000 -0.099112 +v 1.000000 1.125000 -0.062500 +v 0.911612 1.125000 -0.099112 +v 0.875000 1.125000 -0.187500 +v 0.911612 0.250000 -0.275889 +v 1.000000 0.250000 -0.312500 +v 1.088388 0.250000 -0.275889 +v 1.125000 0.250000 -0.187500 +v 1.088388 0.250000 -0.099112 +v 1.000000 0.250000 -0.062500 +v 0.911612 0.250000 -0.099112 +v 0.875000 0.250000 -0.187500 +v -0.875000 0.250000 0.187500 +v -0.911612 0.250000 0.099112 +v -1.000000 0.250000 0.062500 +v -1.088388 0.250000 0.099112 +v -1.125000 0.250000 0.187500 +v -1.088388 0.250000 0.275889 +v -1.000000 0.250000 0.312500 +v -0.911612 0.250000 0.275889 +v -0.875000 1.125000 0.187500 +v -0.911612 1.125000 0.099112 +v -1.000000 1.125000 0.062500 +v -1.088388 1.125000 0.099112 +v -1.125000 1.125000 0.187500 +v -1.088388 1.125000 0.275889 +v -1.000000 1.125000 0.312500 +v -0.911612 1.125000 0.275889 +v -0.900888 1.150888 0.099112 +v -0.963388 1.213388 0.062500 +v -1.025888 1.275888 0.099112 +v -1.051777 1.301776 0.187500 +v -1.025888 1.275888 0.275889 +v -0.963388 1.213388 0.312500 +v -0.900888 1.150888 0.275889 +v -0.875000 1.161612 0.099112 +v -0.875000 1.250000 0.062500 +v -0.875000 1.338388 0.099112 +v -0.875000 1.375000 0.187500 +v -0.875000 1.338388 0.275889 +v -0.875000 1.250000 0.312500 +v -0.875000 1.161612 0.275889 +v -0.500000 1.125000 0.187500 +v -0.500000 1.161612 0.099112 +v -0.500000 1.250000 0.062500 +v -0.500000 1.338388 0.099112 +v -0.500000 1.375000 0.187500 +v -0.500000 1.338388 0.275889 +v -0.500000 1.250000 0.312500 +v -0.500000 1.161612 0.275889 +v 0.875000 0.250000 0.187500 +v 0.911612 0.250000 0.275888 +v 1.000000 0.250000 0.312500 +v 1.088388 0.250000 0.275888 +v 1.125000 0.250000 0.187500 +v 1.088388 0.250000 0.099111 +v 1.000000 0.250000 0.062500 +v 0.911612 0.250000 0.099111 +v 0.875000 1.125000 0.187500 +v 0.911612 1.125000 0.275888 +v 1.000000 1.125000 0.312500 +v 1.088388 1.125000 0.275888 +v 1.125000 1.125000 0.187500 +v 1.088388 1.125000 0.099111 +v 1.000000 1.125000 0.062500 +v 0.911612 1.125000 0.099111 +v 0.900888 1.150888 0.275888 +v 0.963388 1.213388 0.312500 +v 1.025888 1.275888 0.275888 +v 1.051777 1.301776 0.187500 +v 1.025888 1.275888 0.099111 +v 0.963388 1.213388 0.062500 +v 0.900888 1.150888 0.099111 +v 0.875000 1.161612 0.275888 +v 0.875000 1.250000 0.312500 +v 0.875000 1.338388 0.275888 +v 0.875000 1.375000 0.187500 +v 0.875000 1.338388 0.099111 +v 0.875000 1.250000 0.062500 +v 0.875000 1.161612 0.099111 +v 0.500000 1.125000 0.187500 +v 0.500000 1.161612 0.275888 +v 0.500000 1.250000 0.312500 +v 0.500000 1.338388 0.275888 +v 0.500000 1.375000 0.187500 +v 0.500000 1.338388 0.099111 +v 0.500000 1.250000 0.062500 +v 0.500000 1.161612 0.099111 +vt 0.021277 1.000000 +vt 0.148936 0.500000 +vt 0.148936 1.000000 +vt 0.021277 1.000000 +vt 0.148936 0.500000 +vt 0.148936 1.000000 +vt 0.021277 1.000000 +vt 0.148936 0.500000 +vt 0.148936 1.000000 +vt 0.021277 1.000000 +vt 0.148936 0.500000 +vt 0.148936 1.000000 +vt 0.148936 0.000000 +vt -0.000000 0.437500 +vt 0.510638 -0.000000 +vt 0.382979 0.125000 +vt 0.382979 -0.000000 +vt 0.510638 -0.000000 +vt 0.382979 0.125000 +vt 0.382979 -0.000000 +vt 0.510638 -0.000000 +vt 0.382979 0.125000 +vt 0.382979 -0.000000 +vt 0.510638 -0.000000 +vt 0.382979 0.125000 +vt 0.382979 -0.000000 +vt 0.510638 0.125000 +vt 0.382979 0.625000 +vt 0.510638 0.125000 +vt 0.382979 0.625000 +vt 0.510638 0.125000 +vt 0.382979 0.625000 +vt 0.510638 0.125000 +vt 0.382979 0.625000 +vt 0.680851 -0.000000 +vt 0.212766 -0.000000 +vt 0.680851 -0.000000 +vt 0.212766 -0.000000 +vt 0.680851 -0.000000 +vt 0.212766 -0.000000 +vt 0.680851 -0.000000 +vt 0.212766 -0.000000 +vt 0.191489 0.250000 +vt 0.170213 -0.000000 +vt 0.191489 -0.000000 +vt 0.191489 0.250000 +vt 0.170213 -0.000000 +vt 0.191489 -0.000000 +vt 0.191489 0.250000 +vt 0.170213 -0.000000 +vt 0.191489 -0.000000 +vt 0.191489 0.250000 +vt 0.170213 -0.000000 +vt 0.191489 -0.000000 +vt 0.212766 0.250000 +vt 0.191489 0.312500 +vt 0.212766 0.250000 +vt 0.191489 0.312500 +vt 0.212766 0.250000 +vt 0.191489 0.312500 +vt 0.212766 0.250000 +vt 0.191489 0.312500 +vt 0.829787 0.000000 +vt 0.702128 0.500000 +vt 0.702128 -0.000000 +vt 0.702128 -0.000000 +vt 0.680851 0.500000 +vt 0.680851 0.000000 +vt 0.829787 0.000000 +vt 0.702128 0.500000 +vt 0.702128 -0.000000 +vt 0.680851 0.500000 +vt 0.680851 0.000000 +vt 0.702128 -0.000000 +vt 0.680851 0.500000 +vt 0.680851 0.000000 +vt 0.829787 0.000000 +vt 0.702128 0.500000 +vt 0.680851 0.500000 +vt 0.680851 0.000000 +vt 0.829787 0.000000 +vt 0.702128 0.500000 +vt 0.808511 0.625000 +vt 0.723404 0.750000 +vt 0.723404 0.625000 +vt 0.808511 0.625000 +vt 0.829787 0.500000 +vt 0.829787 0.500000 +vt 0.808511 0.625000 +vt 0.829787 0.500000 +vt 0.808511 0.625000 +vt 0.829787 0.500000 +vt 0.691489 0.625000 +vt 0.691489 0.625000 +vt 0.691489 0.625000 +vt 0.691489 0.625000 +vt 0.808511 1.000000 +vt 0.723404 1.000000 +vt 0.723404 0.750000 +vt 0.723404 0.625000 +vt 0.723404 0.750000 +vt 0.723404 0.625000 +vt 0.723404 0.750000 +vt 0.723404 0.625000 +vt 0.021277 0.500000 +vt 0.021277 0.500000 +vt 0.021277 0.500000 +vt 0.021277 0.500000 +vt -0.000000 0.000000 +vt 0.021277 0.000000 +vt -0.000000 0.062500 +vt 0.170213 0.000000 +vt 0.170213 0.062500 +vt 0.170213 0.437500 +vt 0.170213 0.500000 +vt -0.000000 0.500000 +vt 0.510638 0.625000 +vt 0.510638 0.625000 +vt 0.510638 0.625000 +vt 0.510638 0.625000 +vt 0.680851 0.250000 +vt 0.680851 0.250000 +vt 0.680851 0.250000 +vt 0.680851 0.250000 +vt 0.170213 0.250000 +vt 0.170213 0.250000 +vt 0.170213 0.250000 +vt 0.170213 0.250000 +vt 0.808511 0.750000 +vt 0.808511 0.750000 +vt 0.808511 0.750000 +vt 0.808511 0.750000 +vt 0.872340 0.625000 +vt 0.893617 0.812500 +vt 0.872340 0.812500 +vt 0.914894 0.625000 +vt 0.936170 0.812500 +vt 0.914894 0.812500 +vt 1.000000 0.625000 +vt 0.978723 0.812500 +vt 0.978723 0.625000 +vt 0.957447 0.812500 +vt 0.957447 0.625000 +vt 0.851064 0.625000 +vt 0.829787 0.812500 +vt 0.829787 0.625000 +vt 0.851064 0.812500 +vt 0.893617 0.625000 +vt 0.936170 0.625000 +vt 0.851064 0.531250 +vt 0.851064 0.562500 +vt 0.829787 0.531250 +vt 0.851064 0.500000 +vt 0.978723 0.531250 +vt 1.000000 0.531250 +vt 0.978723 0.562500 +vt 0.978723 0.500000 +vt 0.872340 0.531250 +vt 0.893617 0.593750 +vt 0.872340 0.562500 +vt 0.914894 0.531250 +vt 0.936170 0.593750 +vt 0.957447 0.531250 +vt 0.957447 0.562500 +vt 0.893617 0.531250 +vt 0.936170 0.531250 +vt 0.936170 0.468750 +vt 0.914894 0.437500 +vt 0.957447 0.500000 +vt 0.893617 0.468750 +vt 0.872340 0.500000 +vt 0.872340 -0.000000 +vt 0.851064 0.437500 +vt 0.851064 -0.000000 +vt 0.914894 -0.000000 +vt 0.893617 0.437500 +vt 0.893617 -0.000000 +vt 0.957447 -0.000000 +vt 0.936170 0.437500 +vt 0.936170 -0.000000 +vt 1.000000 -0.000000 +vt 0.978723 0.437500 +vt 0.978723 -0.000000 +vt 0.829787 0.437500 +vt 0.829787 -0.000000 +vt 0.872340 0.437500 +vt 0.957447 0.437500 +vt 0.893617 0.625000 +vt 0.872340 0.812500 +vt 0.872340 0.625000 +vt 0.914894 0.625000 +vt 0.936170 0.812500 +vt 0.914894 0.812500 +vt 1.000000 0.625000 +vt 0.978723 0.812500 +vt 0.978723 0.625000 +vt 0.957447 0.812500 +vt 0.957447 0.625000 +vt 0.851064 0.625000 +vt 0.829787 0.812500 +vt 0.829787 0.625000 +vt 0.851064 0.812500 +vt 0.893617 0.812500 +vt 0.936170 0.625000 +vt 0.851064 0.531250 +vt 0.851064 0.562500 +vt 0.829787 0.531250 +vt 0.851064 0.500000 +vt 0.978723 0.531250 +vt 1.000000 0.531250 +vt 0.978723 0.562500 +vt 0.978723 0.500000 +vt 0.872340 0.531250 +vt 0.893617 0.593750 +vt 0.872340 0.562500 +vt 0.914894 0.531250 +vt 0.936170 0.593750 +vt 0.957447 0.531250 +vt 0.957447 0.562500 +vt 0.893617 0.531250 +vt 0.936170 0.531250 +vt 0.914894 0.437500 +vt 0.957447 0.500000 +vt 0.893617 0.468750 +vt 0.936170 0.468750 +vt 0.872340 0.500000 +vt 0.872340 -0.000000 +vt 0.851064 0.437500 +vt 0.851064 -0.000000 +vt 0.914894 -0.000000 +vt 0.893617 0.437500 +vt 0.893617 -0.000000 +vt 0.957447 -0.000000 +vt 0.936170 0.437500 +vt 0.936170 -0.000000 +vt 1.000000 -0.000000 +vt 0.978723 0.437500 +vt 0.978723 -0.000000 +vt 0.829787 0.437500 +vt 0.829787 -0.000000 +vt 0.872340 0.437500 +vt 0.957447 0.437500 +vt 0.978723 -0.000000 +vt 0.957447 0.437500 +vt 0.957447 -0.000000 +vt 0.936170 -0.000000 +vt 0.914894 0.437500 +vt 0.914894 -0.000000 +vt 0.893617 -0.000000 +vt 0.872340 0.437500 +vt 0.872340 -0.000000 +vt 0.851064 -0.000000 +vt 0.829787 0.437500 +vt 0.829787 -0.000000 +vt 1.000000 -0.000000 +vt 0.978723 0.437500 +vt 0.936170 0.437500 +vt 0.893617 0.437500 +vt 0.851064 0.437500 +vt 0.872340 0.500000 +vt 0.893617 0.531250 +vt 0.872340 0.531250 +vt 0.957447 0.500000 +vt 0.936170 0.531250 +vt 0.936170 0.468750 +vt 0.893617 0.468750 +vt 0.851064 0.500000 +vt 0.851064 0.531250 +vt 0.978723 0.531250 +vt 0.957447 0.531250 +vt 0.914894 0.531250 +vt 0.957447 0.562500 +vt 0.936170 0.593750 +vt 0.893617 0.593750 +vt 0.851064 0.562500 +vt 0.978723 0.562500 +vt 0.914894 0.625000 +vt 0.872340 0.562500 +vt 0.978723 0.500000 +vt 1.000000 0.531250 +vt 0.829787 0.531250 +vt 0.957447 0.625000 +vt 0.936170 0.812500 +vt 0.936170 0.625000 +vt 0.893617 0.812500 +vt 0.893617 0.625000 +vt 0.872340 0.625000 +vt 0.851064 0.812500 +vt 0.851064 0.625000 +vt 0.829787 0.812500 +vt 0.829787 0.625000 +vt 0.978723 0.625000 +vt 0.957447 0.812500 +vt 1.000000 0.625000 +vt 0.978723 0.812500 +vt 0.914894 0.812500 +vt 0.872340 0.812500 +vt 0.978723 -0.000000 +vt 0.957447 0.437500 +vt 0.957447 -0.000000 +vt 0.936170 -0.000000 +vt 0.914894 0.437500 +vt 0.914894 -0.000000 +vt 0.893617 -0.000000 +vt 0.872340 0.437500 +vt 0.872340 -0.000000 +vt 0.851064 -0.000000 +vt 0.829787 0.437500 +vt 0.829787 -0.000000 +vt 1.000000 -0.000000 +vt 0.978723 0.437500 +vt 0.936170 0.437500 +vt 0.893617 0.437500 +vt 0.851064 0.437500 +vt 0.872340 0.500000 +vt 0.893617 0.531250 +vt 0.872340 0.531250 +vt 0.957447 0.500000 +vt 0.936170 0.531250 +vt 0.936170 0.468750 +vt 0.893617 0.468750 +vt 0.851064 0.531250 +vt 0.851064 0.500000 +vt 0.978723 0.500000 +vt 0.957447 0.531250 +vt 0.914894 0.531250 +vt 0.957447 0.562500 +vt 0.936170 0.593750 +vt 0.914894 0.625000 +vt 0.893617 0.593750 +vt 0.851064 0.562500 +vt 0.978723 0.562500 +vt 0.872340 0.562500 +vt 1.000000 0.531250 +vt 0.978723 0.531250 +vt 0.829787 0.531250 +vt 0.936170 0.625000 +vt 0.957447 0.812500 +vt 0.936170 0.812500 +vt 0.893617 0.625000 +vt 0.914894 0.812500 +vt 0.893617 0.812500 +vt 0.851064 0.625000 +vt 0.872340 0.812500 +vt 0.851064 0.812500 +vt 0.829787 0.812500 +vt 0.829787 0.625000 +vt 0.978723 0.625000 +vt 0.957447 0.625000 +vt 1.000000 0.812500 +vt 0.978723 0.812500 +vt 0.872340 0.625000 +vt 0.872340 0.625000 +vt 0.893617 0.812500 +vt 0.872340 0.812500 +vt 0.914894 0.625000 +vt 0.936170 0.812500 +vt 0.914894 0.812500 +vt 1.000000 0.625000 +vt 0.978723 0.812500 +vt 0.978723 0.625000 +vt 0.957447 0.812500 +vt 0.957447 0.625000 +vt 0.851064 0.625000 +vt 0.829787 0.812500 +vt 0.829787 0.625000 +vt 0.851064 0.812500 +vt 0.893617 0.625000 +vt 0.936170 0.625000 +vt 0.851064 0.531250 +vt 0.851064 0.562500 +vt 0.829787 0.531250 +vt 0.851064 0.500000 +vt 0.978723 0.531250 +vt 1.000000 0.531250 +vt 0.978723 0.562500 +vt 0.978723 0.500000 +vt 0.893617 0.531250 +vt 0.872340 0.562500 +vt 0.872340 0.531250 +vt 0.914894 0.531250 +vt 0.936170 0.593750 +vt 0.957447 0.531250 +vt 0.957447 0.562500 +vt 0.893617 0.593750 +vt 0.936170 0.531250 +vt 0.936170 0.468750 +vt 0.914894 0.437500 +vt 0.957447 0.500000 +vt 0.893617 0.468750 +vt 0.872340 0.500000 +vt 0.872340 -0.000000 +vt 0.851064 0.437500 +vt 0.851064 -0.000000 +vt 0.914894 -0.000000 +vt 0.893617 0.437500 +vt 0.893617 -0.000000 +vt 0.957447 -0.000000 +vt 0.936170 0.437500 +vt 0.936170 -0.000000 +vt 1.000000 -0.000000 +vt 0.978723 0.437500 +vt 0.978723 -0.000000 +vt 0.829787 0.437500 +vt 0.829787 -0.000000 +vt 0.872340 0.437500 +vt 0.957447 0.437500 +vt 0.893617 0.625000 +vt 0.872340 0.812500 +vt 0.872340 0.625000 +vt 0.914894 0.625000 +vt 0.936170 0.812500 +vt 0.914894 0.812500 +vt 1.000000 0.625000 +vt 0.978723 0.812500 +vt 0.978723 0.625000 +vt 0.957447 0.812500 +vt 0.957447 0.625000 +vt 0.851064 0.625000 +vt 0.829787 0.812500 +vt 0.829787 0.625000 +vt 0.851064 0.812500 +vt 0.893617 0.812500 +vt 0.936170 0.625000 +vt 0.851064 0.531250 +vt 0.851064 0.562500 +vt 0.829787 0.531250 +vt 0.851064 0.500000 +vt 0.978723 0.531250 +vt 1.000000 0.531250 +vt 0.978723 0.562500 +vt 0.978723 0.500000 +vt 0.872340 0.531250 +vt 0.893617 0.593750 +vt 0.872340 0.562500 +vt 0.936170 0.531250 +vt 0.914894 0.531250 +vt 0.957447 0.531250 +vt 0.957447 0.562500 +vt 0.893617 0.531250 +vt 0.936170 0.593750 +vt 0.936170 0.468750 +vt 0.914894 0.437500 +vt 0.957447 0.500000 +vt 0.893617 0.468750 +vt 0.872340 0.500000 +vt 0.872340 -0.000000 +vt 0.851064 0.437500 +vt 0.851064 -0.000000 +vt 0.914894 -0.000000 +vt 0.893617 0.437500 +vt 0.893617 -0.000000 +vt 0.957447 -0.000000 +vt 0.936170 0.437500 +vt 0.936170 -0.000000 +vt 1.000000 -0.000000 +vt 0.978723 0.437500 +vt 0.978723 -0.000000 +vt 0.829787 0.437500 +vt 0.829787 -0.000000 +vt 0.872340 0.437500 +vt 0.957447 0.437500 +vt 0.978723 -0.000000 +vt 0.957447 0.437500 +vt 0.957447 -0.000000 +vt 0.936170 -0.000000 +vt 0.914894 0.437500 +vt 0.914894 -0.000000 +vt 0.893617 -0.000000 +vt 0.872340 0.437500 +vt 0.872340 -0.000000 +vt 0.851064 -0.000000 +vt 0.829787 0.437500 +vt 0.829787 -0.000000 +vt 1.000000 -0.000000 +vt 0.978723 0.437500 +vt 0.936170 0.437500 +vt 0.893617 0.437500 +vt 0.851064 0.437500 +vt 0.872340 0.500000 +vt 0.893617 0.531250 +vt 0.872340 0.531250 +vt 0.957447 0.500000 +vt 0.936170 0.531250 +vt 0.936170 0.468750 +vt 0.893617 0.468750 +vt 0.851064 0.500000 +vt 0.851064 0.531250 +vt 0.978723 0.500000 +vt 0.957447 0.531250 +vt 0.914894 0.531250 +vt 0.957447 0.562500 +vt 0.936170 0.593750 +vt 0.893617 0.593750 +vt 0.851064 0.562500 +vt 0.978723 0.562500 +vt 0.914894 0.625000 +vt 0.872340 0.562500 +vt 1.000000 0.531250 +vt 0.978723 0.531250 +vt 0.829787 0.531250 +vt 0.957447 0.625000 +vt 0.936170 0.812500 +vt 0.936170 0.625000 +vt 0.893617 0.625000 +vt 0.914894 0.812500 +vt 0.893617 0.812500 +vt 0.872340 0.625000 +vt 0.851064 0.812500 +vt 0.851064 0.625000 +vt 0.829787 0.812500 +vt 0.829787 0.625000 +vt 0.978723 0.625000 +vt 0.957447 0.812500 +vt 1.000000 0.625000 +vt 0.978723 0.812500 +vt 0.872340 0.812500 +vt 0.978723 -0.000000 +vt 0.957447 0.437500 +vt 0.957447 -0.000000 +vt 0.936170 -0.000000 +vt 0.914894 0.437500 +vt 0.914894 -0.000000 +vt 0.893617 -0.000000 +vt 0.872340 0.437500 +vt 0.872340 -0.000000 +vt 0.851064 -0.000000 +vt 0.829787 0.437500 +vt 0.829787 -0.000000 +vt 1.000000 -0.000000 +vt 0.978723 0.437500 +vt 0.936170 0.437500 +vt 0.893617 0.437500 +vt 0.851064 0.437500 +vt 0.872340 0.500000 +vt 0.893617 0.531250 +vt 0.872340 0.531250 +vt 0.957447 0.500000 +vt 0.936170 0.531250 +vt 0.936170 0.468750 +vt 0.893617 0.468750 +vt 0.851064 0.500000 +vt 0.851064 0.531250 +vt 0.978723 0.531250 +vt 0.957447 0.531250 +vt 0.914894 0.531250 +vt 0.957447 0.562500 +vt 0.936170 0.593750 +vt 0.893617 0.593750 +vt 0.851064 0.562500 +vt 0.978723 0.562500 +vt 0.914894 0.625000 +vt 0.872340 0.562500 +vt 0.978723 0.500000 +vt 1.000000 0.531250 +vt 0.829787 0.531250 +vt 0.957447 0.625000 +vt 0.936170 0.812500 +vt 0.936170 0.625000 +vt 0.893617 0.812500 +vt 0.893617 0.625000 +vt 0.872340 0.625000 +vt 0.851064 0.812500 +vt 0.851064 0.625000 +vt 0.829787 0.812500 +vt 0.829787 0.625000 +vt 0.978723 0.625000 +vt 0.957447 0.812500 +vt 1.000000 0.625000 +vt 0.978723 0.812500 +vt 0.914894 0.812500 +vt 0.872340 0.812500 +vt 1.000000 0.812500 +vt 1.000000 0.437500 +vt 1.000000 0.812500 +vt 1.000000 0.437500 +vt 1.000000 0.437500 +vt 1.000000 0.812500 +vt 1.000000 0.437500 +vt 1.000000 0.625000 +vt 1.000000 0.812500 +vt 1.000000 0.437500 +vt 1.000000 0.812500 +vt 1.000000 0.437500 +vt 1.000000 0.437500 +vt 1.000000 0.812500 +vt 1.000000 0.437500 +vt 1.000000 0.812500 +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.2425 0.9701 0.0000 +vn 0.0000 0.9701 0.2425 +vn 0.2425 0.9701 0.0000 +vn 0.0000 0.9701 -0.2425 +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.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.9987 0.0473 -0.0196 +vn 0.0000 0.9824 -0.1866 +vn 0.0000 -0.7071 0.7071 +vn -0.7071 -0.7071 0.0000 +vn -0.7263 -0.6737 0.1363 +vn -0.9987 0.0473 -0.0196 +vn 0.7263 -0.6737 0.1363 +vn 0.7071 -0.7071 0.0000 +vn 0.6794 0.7194 -0.1447 +vn -0.6794 0.7194 -0.1447 +vn 0.7573 -0.4617 0.4617 +vn 0.7263 -0.1363 0.6737 +vn -0.7573 -0.4617 0.4617 +vn -0.7263 -0.1363 0.6737 +vn 0.9955 0.0670 -0.0670 +vn -0.9955 0.0670 -0.0670 +vn 0.6630 0.5293 -0.5293 +vn -0.6630 0.5293 -0.5293 +vn -0.6794 0.1447 -0.7194 +vn 0.0000 0.1866 -0.9824 +vn -0.9987 0.0196 -0.0473 +vn 0.6794 0.1447 -0.7194 +vn 0.9987 0.0196 -0.0473 +vn -0.6794 0.7194 0.1447 +vn -0.9987 0.0473 0.0196 +vn 0.0000 0.9824 0.1866 +vn 0.0000 -0.7071 -0.7071 +vn 0.7263 -0.6737 -0.1363 +vn 0.9987 0.0473 0.0196 +vn -0.7263 -0.6737 -0.1363 +vn 0.6794 0.7194 0.1447 +vn -0.7573 -0.4617 -0.4617 +vn -0.7263 -0.1363 -0.6737 +vn 0.7573 -0.4617 -0.4617 +vn 0.7263 -0.1363 -0.6737 +vn -0.9955 0.0670 0.0670 +vn 0.9955 0.0670 0.0670 +vn -0.6630 0.5293 0.5293 +vn 0.6630 0.5293 0.5293 +vn 0.0000 0.1866 0.9824 +vn 0.9987 0.0196 0.0473 +vn -0.6794 0.1447 0.7194 +vn 0.6794 0.1447 0.7194 +vn -0.9987 0.0196 0.0473 +vn -0.0196 0.0473 -0.9987 +vn -0.1866 0.9824 0.0000 +vn 0.1363 -0.6737 0.7263 +vn -0.0196 0.0473 0.9987 +vn 0.1363 -0.6737 -0.7263 +vn -0.1447 0.7194 -0.6794 +vn -0.1447 0.7194 0.6794 +vn 0.4617 -0.4617 -0.7573 +vn 0.6737 -0.1363 -0.7263 +vn 0.4617 -0.4617 0.7573 +vn 0.6737 -0.1363 0.7263 +vn -0.5293 0.5293 -0.6630 +vn -0.0670 0.0670 -0.9955 +vn -0.0670 0.0670 0.9955 +vn -0.5293 0.5293 0.6630 +vn -0.7194 0.1447 0.6794 +vn -0.9824 0.1866 0.0000 +vn -0.0473 0.0196 0.9987 +vn -0.7194 0.1447 -0.6794 +vn -0.0473 0.0196 -0.9987 +vn 0.1447 0.7194 0.6794 +vn 0.0196 0.0473 0.9987 +vn 0.1866 0.9824 0.0000 +vn -0.1363 -0.6737 -0.7263 +vn 0.0196 0.0473 -0.9987 +vn -0.1363 -0.6737 0.7263 +vn 0.1447 0.7194 -0.6794 +vn -0.4617 -0.4617 0.7573 +vn -0.6737 -0.1363 0.7263 +vn -0.4617 -0.4617 -0.7573 +vn -0.6737 -0.1363 -0.7263 +vn 0.0670 0.0670 0.9955 +vn 0.5293 0.5293 -0.6630 +vn 0.0670 0.0670 -0.9955 +vn 0.5293 0.5293 0.6630 +vn 0.7194 0.1447 -0.6794 +vn 0.9824 0.1866 0.0000 +vn 0.0473 0.0196 -0.9987 +vn 0.7194 0.1447 0.6794 +vn 0.0473 0.0196 0.9987 +s off +f 5/1/1 3/2/1 6/3/1 +f 11/4/1 2/5/1 9/6/1 +f 8/7/1 13/8/1 7/9/1 +f 10/10/1 16/11/1 12/12/1 +f 1/13/1 16/11/1 3/14/1 +f 9/15/2 27/16/2 11/17/2 +f 6/18/3 21/19/3 5/20/3 +f 12/21/4 26/22/4 10/23/4 +f 7/24/5 24/25/5 8/26/5 +f 25/27/6 35/28/6 27/16/6 +f 22/29/7 29/30/7 21/19/7 +f 28/31/8 34/32/8 26/22/8 +f 23/33/9 32/34/9 24/25/9 +f 16/35/5 28/31/5 12/21/5 +f 24/25/4 14/36/4 8/26/4 +f 13/37/2 23/33/2 7/24/2 +f 27/16/5 1/38/5 11/17/5 +f 2/39/3 25/27/3 9/15/3 +f 21/19/2 4/40/2 5/20/2 +f 3/41/4 22/29/4 6/18/4 +f 26/22/3 15/42/3 10/23/3 +f 40/43/4 16/44/4 20/45/4 +f 14/36/5 40/43/5 20/45/5 +f 39/46/5 13/47/5 19/48/5 +f 1/38/2 39/46/2 19/48/2 +f 37/49/2 2/50/2 17/51/2 +f 4/40/3 37/49/3 17/51/3 +f 38/52/3 3/53/3 18/54/3 +f 15/42/4 38/52/4 18/54/4 +f 38/52/10 34/55/10 30/56/10 +f 40/43/10 32/57/10 36/58/10 +f 39/46/10 35/59/10 31/60/10 +f 37/49/10 29/61/10 33/62/10 +f 36/63/4 46/64/4 34/65/4 +f 35/66/11 43/67/11 31/68/11 +f 31/69/5 44/70/5 32/71/5 +f 34/65/12 42/72/12 30/73/12 +f 29/74/13 45/75/13 33/76/13 +f 33/77/2 47/78/2 35/66/2 +f 32/71/14 48/79/14 36/80/14 +f 30/81/3 41/82/3 29/74/3 +f 52/83/4 55/84/4 50/85/4 +f 50/86/15 41/82/15 42/87/15 +f 52/83/16 46/64/16 48/88/16 +f 51/89/17 44/70/17 43/90/17 +f 49/91/18 47/78/18 45/92/18 +f 47/78/19 51/93/19 43/67/19 +f 41/82/20 49/94/20 45/75/20 +f 46/64/21 50/95/21 42/72/21 +f 44/70/22 52/96/22 48/79/22 +f 55/84/10 53/97/10 54/98/10 +f 49/91/2 53/99/2 51/100/2 +f 51/89/5 56/101/5 52/102/5 +f 50/86/3 54/103/3 49/104/3 +f 5/1/1 4/105/1 3/2/1 +f 11/4/1 1/106/1 2/5/1 +f 8/7/1 14/107/1 13/8/1 +f 10/10/1 15/108/1 16/11/1 +f 17/109/1 2/110/1 4/111/1 +f 2/110/1 1/13/1 4/111/1 +f 1/13/1 19/112/1 13/113/1 +f 14/114/1 20/115/1 16/11/1 +f 1/13/1 13/113/1 14/114/1 +f 15/108/1 18/116/1 3/14/1 +f 3/14/1 4/111/1 1/13/1 +f 1/13/1 14/114/1 16/11/1 +f 16/11/1 15/108/1 3/14/1 +f 9/15/2 25/27/2 27/16/2 +f 6/18/3 22/29/3 21/19/3 +f 12/21/4 28/31/4 26/22/4 +f 7/24/5 23/33/5 24/25/5 +f 25/27/6 33/117/6 35/28/6 +f 22/29/7 30/118/7 29/30/7 +f 28/31/8 36/119/8 34/32/8 +f 23/33/9 31/120/9 32/34/9 +f 16/35/5 36/121/5 28/31/5 +f 24/25/4 32/57/4 14/36/4 +f 13/37/2 31/122/2 23/33/2 +f 27/16/5 35/59/5 1/38/5 +f 2/39/3 33/123/3 25/27/3 +f 21/19/2 29/61/2 4/40/2 +f 3/41/4 30/124/4 22/29/4 +f 26/22/3 34/55/3 15/42/3 +f 40/43/4 36/125/4 16/44/4 +f 14/36/5 32/57/5 40/43/5 +f 39/46/5 31/126/5 13/47/5 +f 1/38/2 35/59/2 39/46/2 +f 37/49/2 33/127/2 2/50/2 +f 4/40/3 29/61/3 37/49/3 +f 38/52/3 30/128/3 3/53/3 +f 15/42/4 34/55/4 38/52/4 +f 36/63/4 48/88/4 46/64/4 +f 35/66/11 47/78/11 43/67/11 +f 31/69/5 43/90/5 44/70/5 +f 34/65/12 46/64/12 42/72/12 +f 29/74/13 41/82/13 45/75/13 +f 33/77/2 45/92/2 47/78/2 +f 32/71/14 44/70/14 48/79/14 +f 30/81/3 42/87/3 41/82/3 +f 52/83/4 56/129/4 55/84/4 +f 50/86/15 49/104/15 41/82/15 +f 52/83/16 50/85/16 46/64/16 +f 51/89/17 52/102/17 44/70/17 +f 49/91/18 51/100/18 47/78/18 +f 55/84/10 56/129/10 53/97/10 +f 49/91/2 54/130/2 53/99/2 +f 51/89/5 53/131/5 56/101/5 +f 50/86/3 55/132/3 54/103/3 +s 1 +f 70/133/23 61/134/16 62/135/4 +f 68/136/24 59/137/18 60/138/10 +f 86/139/25 57/140/26 65/141/27 +f 65/141/27 58/142/2 66/143/28 +f 71/144/29 64/145/1 86/146/25 +f 70/133/23 63/147/30 71/144/29 +f 68/136/24 61/134/16 69/148/31 +f 67/149/32 58/142/2 59/137/18 +f 78/150/33 71/151/29 86/152/25 +f 85/153/34 78/150/33 86/152/25 +f 72/154/35 86/155/25 65/156/27 +f 79/157/36 86/155/25 72/154/35 +f 77/158/37 69/159/31 70/160/23 +f 75/161/17 67/162/32 68/136/24 +f 73/163/38 65/156/27 66/164/28 +f 77/158/37 71/151/29 78/150/33 +f 75/161/17 69/159/31 76/165/39 +f 74/166/40 66/164/28 67/162/32 +f 81/167/41 75/161/17 82/168/42 +f 80/169/43 72/154/35 73/163/38 +f 85/153/34 77/158/37 78/150/33 +f 82/168/42 76/165/39 83/170/44 +f 80/169/43 74/166/40 81/167/41 +f 84/171/45 76/165/39 77/158/37 +f 92/172/4 85/173/34 93/174/12 +f 90/175/5 83/176/44 91/177/14 +f 88/178/2 81/179/41 89/180/11 +f 94/181/3 79/182/36 87/183/13 +f 93/174/12 86/184/25 94/185/3 +f 91/177/14 84/186/45 92/172/4 +f 89/180/11 82/168/42 90/175/5 +f 87/183/13 80/187/43 88/178/2 +f 107/188/46 100/189/2 108/190/47 +f 106/191/48 97/192/16 98/193/10 +f 124/194/49 95/195/30 103/196/50 +f 103/196/50 96/197/4 104/198/51 +f 109/199/52 102/200/1 124/201/49 +f 108/190/47 101/202/26 109/199/52 +f 107/188/46 98/193/10 99/203/18 +f 104/198/51 97/192/16 105/204/53 +f 116/205/54 109/206/52 124/207/49 +f 123/208/55 116/205/54 124/207/49 +f 110/209/56 124/210/49 103/211/50 +f 117/212/57 124/210/49 110/209/56 +f 115/213/58 107/214/46 108/215/47 +f 113/216/15 105/217/53 106/191/48 +f 111/218/59 103/211/50 104/219/51 +f 115/213/58 109/206/52 116/205/54 +f 113/216/15 107/214/46 114/220/60 +f 112/221/61 104/219/51 105/217/53 +f 120/222/62 112/221/61 113/216/15 +f 117/212/57 111/218/59 118/223/63 +f 123/208/55 115/213/58 116/205/54 +f 120/222/62 114/220/60 121/224/64 +f 119/225/65 111/218/59 112/221/61 +f 122/226/66 114/220/60 115/213/58 +f 130/227/2 123/228/55 131/229/11 +f 128/230/3 121/231/64 129/232/13 +f 126/233/4 119/234/65 127/235/12 +f 132/236/5 117/237/57 125/238/14 +f 131/229/11 124/239/49 132/240/5 +f 129/232/13 122/241/66 130/227/2 +f 127/235/12 120/222/62 128/230/3 +f 125/238/14 118/242/63 126/233/4 +f 140/243/13 147/244/43 139/245/2 +f 138/246/11 145/247/42 137/248/5 +f 136/249/14 143/250/45 135/251/4 +f 134/252/12 141/253/25 133/254/3 +f 133/255/3 148/256/36 140/243/13 +f 139/245/2 146/257/41 138/246/11 +f 137/248/5 144/258/44 136/249/14 +f 135/251/4 142/259/34 134/252/12 +f 143/260/45 151/261/39 150/262/37 +f 147/263/43 153/264/40 146/265/41 +f 145/247/42 151/261/39 144/266/44 +f 142/267/34 150/262/37 149/268/33 +f 147/263/43 155/269/35 154/270/38 +f 146/265/41 152/271/17 145/247/42 +f 153/264/40 161/272/28 160/273/32 +f 152/271/17 158/274/31 151/261/39 +f 150/262/37 156/275/29 149/268/33 +f 154/270/38 162/276/27 161/272/28 +f 152/271/17 160/273/32 159/277/24 +f 150/262/37 158/274/31 157/278/23 +f 148/279/36 141/280/25 155/269/35 +f 155/269/35 141/280/25 162/276/27 +f 142/267/34 149/268/33 141/281/25 +f 149/268/33 156/275/29 141/281/25 +f 161/282/28 168/283/18 160/284/32 +f 159/277/24 166/285/16 158/286/31 +f 157/287/23 164/288/30 156/289/29 +f 156/289/29 163/290/1 141/291/25 +f 162/292/27 169/293/2 161/282/28 +f 141/294/25 170/295/26 162/292/27 +f 160/284/32 167/296/10 159/277/24 +f 158/286/31 165/297/4 157/287/23 +f 178/298/14 185/299/63 177/300/4 +f 176/301/12 183/302/62 175/303/3 +f 174/304/13 181/305/66 173/306/2 +f 172/307/11 179/308/49 171/309/5 +f 171/310/5 186/311/57 178/298/14 +f 177/300/4 184/312/65 176/301/12 +f 175/303/3 182/313/64 174/304/13 +f 173/306/2 180/314/55 172/307/11 +f 181/315/66 189/316/60 188/317/58 +f 185/318/63 191/319/61 184/320/65 +f 183/302/62 189/316/60 182/321/64 +f 181/315/66 187/322/54 180/323/55 +f 186/324/57 192/325/59 185/318/63 +f 184/320/65 190/326/15 183/302/62 +f 191/319/61 199/327/51 198/328/53 +f 189/316/60 197/329/48 196/330/46 +f 188/317/58 194/331/52 187/322/54 +f 192/325/59 200/332/50 199/327/51 +f 190/326/15 198/328/53 197/329/48 +f 189/316/60 195/333/47 188/317/58 +f 186/324/57 179/334/49 193/335/56 +f 193/335/56 179/334/49 200/332/50 +f 180/323/55 187/322/54 179/336/49 +f 187/322/54 194/331/52 179/336/49 +f 198/337/53 207/338/4 206/339/16 +f 196/340/46 205/341/10 204/342/18 +f 194/343/52 203/344/2 202/345/26 +f 194/343/52 201/346/1 179/347/49 +f 200/348/50 207/338/4 199/349/51 +f 200/348/50 201/350/1 208/351/30 +f 198/337/53 205/341/10 197/329/48 +f 196/340/46 203/344/2 195/352/47 +f 222/353/67 213/354/17 214/355/5 +f 220/356/68 211/357/15 212/358/10 +f 238/359/30 209/360/25 217/361/69 +f 217/361/69 210/362/3 218/363/70 +f 223/364/71 216/365/1 238/366/30 +f 222/353/67 215/367/49 223/364/71 +f 221/368/72 212/358/10 213/354/17 +f 219/369/73 210/362/3 211/357/15 +f 230/370/74 223/371/71 238/372/30 +f 237/373/75 230/370/74 238/372/30 +f 224/374/76 238/375/30 217/376/69 +f 231/377/77 238/375/30 224/374/76 +f 228/378/78 222/379/67 229/380/79 +f 227/381/18 219/382/73 220/356/68 +f 225/383/80 217/376/69 218/384/70 +f 229/380/79 223/371/71 230/370/74 +f 227/381/18 221/385/72 228/378/78 +f 226/386/81 218/384/70 219/382/73 +f 233/387/82 227/381/18 234/388/83 +f 231/377/77 225/383/80 232/389/84 +f 237/373/75 229/380/79 230/370/74 +f 234/388/83 228/378/78 235/390/85 +f 232/389/84 226/386/81 233/387/82 +f 236/391/86 228/378/78 229/380/79 +f 244/392/5 237/393/75 245/394/14 +f 242/395/2 235/396/85 243/397/11 +f 240/398/3 233/399/82 241/400/13 +f 246/401/4 231/402/77 239/403/12 +f 245/394/14 238/404/30 246/405/4 +f 243/397/11 236/406/86 244/392/5 +f 241/400/13 234/388/83 242/395/2 +f 239/403/12 232/407/84 240/398/3 +f 259/408/87 252/409/3 260/410/88 +f 258/411/89 249/412/17 250/413/10 +f 276/414/26 247/415/49 255/416/90 +f 255/416/90 248/417/5 256/418/91 +f 261/419/92 254/420/1 276/421/26 +f 260/410/88 253/422/25 261/419/92 +f 259/408/87 250/413/10 251/423/15 +f 256/418/91 249/412/17 257/424/93 +f 268/425/94 261/426/92 276/427/26 +f 275/428/95 268/425/94 276/427/26 +f 262/429/96 276/430/26 255/431/90 +f 269/432/97 276/430/26 262/429/96 +f 267/433/98 259/434/87 260/435/88 +f 264/436/99 258/411/89 265/437/16 +f 263/438/100 255/431/90 256/439/91 +f 267/433/98 261/426/92 268/425/94 +f 266/440/101 258/411/89 259/434/87 +f 264/436/99 256/439/91 257/441/93 +f 271/442/102 265/437/16 272/443/103 +f 270/444/104 262/429/96 263/438/100 +f 275/428/95 267/433/98 268/425/94 +f 272/443/103 266/440/101 273/445/105 +f 270/444/104 264/436/99 271/442/102 +f 274/446/106 266/440/101 267/433/98 +f 282/447/3 275/448/95 283/449/13 +f 280/450/4 273/451/105 281/452/12 +f 278/453/5 271/454/102 279/455/14 +f 284/456/2 269/457/97 277/458/11 +f 283/449/13 276/459/26 284/460/2 +f 281/452/12 274/461/106 282/447/3 +f 279/455/14 272/443/103 280/450/4 +f 277/458/11 270/462/104 278/453/5 +f 292/463/12 299/464/84 291/465/3 +f 290/466/13 297/467/83 289/468/2 +f 288/469/11 295/470/86 287/471/5 +f 286/472/14 293/473/30 285/474/4 +f 285/475/4 300/476/77 292/463/12 +f 291/465/3 298/477/82 290/466/13 +f 289/468/2 296/478/85 288/469/11 +f 287/471/5 294/479/75 286/472/14 +f 295/480/86 303/481/78 302/482/79 +f 299/483/84 305/484/81 298/485/82 +f 297/467/83 303/481/78 296/486/85 +f 294/487/75 302/482/79 301/488/74 +f 300/489/77 306/490/80 299/483/84 +f 297/467/83 305/484/81 304/491/18 +f 305/484/81 313/492/70 312/493/73 +f 304/491/18 310/494/72 303/481/78 +f 302/482/79 308/495/71 301/488/74 +f 306/490/80 314/496/69 313/492/70 +f 305/484/81 311/497/68 304/491/18 +f 303/481/78 309/498/67 302/482/79 +f 300/489/77 293/499/30 307/500/76 +f 307/500/76 293/499/30 314/496/69 +f 294/487/75 301/488/74 293/501/30 +f 301/488/74 308/495/71 293/501/30 +f 313/502/70 320/503/15 312/504/73 +f 310/505/72 319/506/10 318/507/17 +f 309/508/67 316/509/49 308/510/71 +f 308/510/71 315/511/1 293/512/30 +f 314/513/69 321/514/3 313/502/70 +f 293/515/30 322/516/25 314/513/69 +f 311/497/68 320/503/15 319/506/10 +f 310/505/72 317/517/5 309/508/67 +f 330/518/11 337/519/104 329/520/5 +f 328/521/14 335/522/103 327/523/4 +f 326/524/12 333/525/106 325/526/3 +f 324/527/13 331/528/26 323/529/2 +f 323/530/2 338/531/97 330/518/11 +f 329/520/5 336/532/102 328/521/14 +f 327/523/4 334/533/105 326/524/12 +f 325/526/3 332/534/95 324/527/13 +f 333/535/106 341/536/101 340/537/98 +f 337/538/104 343/539/99 336/540/102 +f 335/522/103 341/536/101 334/541/105 +f 332/542/95 340/537/98 339/543/94 +f 337/538/104 345/544/96 344/545/100 +f 336/540/102 342/546/16 335/522/103 +f 343/539/99 351/547/91 350/548/93 +f 342/546/16 348/549/87 341/536/101 +f 340/537/98 346/550/92 339/543/94 +f 344/545/100 352/551/90 351/547/91 +f 343/539/99 349/552/89 342/546/16 +f 340/537/98 348/549/87 347/553/88 +f 338/554/97 331/555/26 345/544/96 +f 345/544/96 331/555/26 352/551/90 +f 332/542/95 339/543/94 331/556/26 +f 339/543/94 346/550/92 331/556/26 +f 351/557/91 358/558/17 350/559/93 +f 349/552/89 356/560/15 348/561/87 +f 347/562/88 354/563/25 346/564/92 +f 346/564/92 353/565/1 331/566/26 +f 352/567/90 359/568/5 351/557/91 +f 331/569/26 360/570/49 352/567/90 +f 349/552/89 358/558/17 357/571/10 +f 348/561/87 355/572/3 347/562/88 +f 70/133/23 69/148/31 61/134/16 +f 68/136/24 67/149/32 59/137/18 +f 86/139/25 64/573/1 57/140/26 +f 65/141/27 57/140/26 58/142/2 +f 71/144/29 63/147/30 64/145/1 +f 70/133/23 62/135/4 63/147/30 +f 68/136/24 60/138/10 61/134/16 +f 67/149/32 66/143/28 58/142/2 +f 77/158/37 76/165/39 69/159/31 +f 75/161/17 74/166/40 67/162/32 +f 73/163/38 72/154/35 65/156/27 +f 77/158/37 70/160/23 71/151/29 +f 75/161/17 68/136/24 69/159/31 +f 74/166/40 73/163/38 66/164/28 +f 81/167/41 74/166/40 75/161/17 +f 80/169/43 79/157/36 72/154/35 +f 85/153/34 84/171/45 77/158/37 +f 82/168/42 75/161/17 76/165/39 +f 80/169/43 73/163/38 74/166/40 +f 84/171/45 83/170/44 76/165/39 +f 92/172/4 84/186/45 85/173/34 +f 90/175/5 82/168/42 83/176/44 +f 88/178/2 80/187/43 81/179/41 +f 94/181/3 86/574/25 79/182/36 +f 93/174/12 85/173/34 86/184/25 +f 91/177/14 83/176/44 84/186/45 +f 89/180/11 81/179/41 82/168/42 +f 87/183/13 79/182/36 80/187/43 +f 107/188/46 99/203/18 100/189/2 +f 106/191/48 105/204/53 97/192/16 +f 124/194/49 102/575/1 95/195/30 +f 103/196/50 95/195/30 96/197/4 +f 109/199/52 101/202/26 102/200/1 +f 108/190/47 100/189/2 101/202/26 +f 107/188/46 106/191/48 98/193/10 +f 104/198/51 96/197/4 97/192/16 +f 115/213/58 114/220/60 107/214/46 +f 113/216/15 112/221/61 105/217/53 +f 111/218/59 110/209/56 103/211/50 +f 115/213/58 108/215/47 109/206/52 +f 113/216/15 106/191/48 107/214/46 +f 112/221/61 111/218/59 104/219/51 +f 120/222/62 119/225/65 112/221/61 +f 117/212/57 110/209/56 111/218/59 +f 123/208/55 122/226/66 115/213/58 +f 120/222/62 113/216/15 114/220/60 +f 119/225/65 118/223/63 111/218/59 +f 122/226/66 121/224/64 114/220/60 +f 130/227/2 122/241/66 123/228/55 +f 128/230/3 120/222/62 121/231/64 +f 126/233/4 118/242/63 119/234/65 +f 132/236/5 124/576/49 117/237/57 +f 131/229/11 123/228/55 124/239/49 +f 129/232/13 121/231/64 122/241/66 +f 127/235/12 119/234/65 120/222/62 +f 125/238/14 117/237/57 118/242/63 +f 140/243/13 148/256/36 147/244/43 +f 138/246/11 146/257/41 145/247/42 +f 136/249/14 144/258/44 143/250/45 +f 134/252/12 142/259/34 141/253/25 +f 133/255/3 141/577/25 148/256/36 +f 139/245/2 147/244/43 146/257/41 +f 137/248/5 145/247/42 144/258/44 +f 135/251/4 143/250/45 142/259/34 +f 143/260/45 144/266/44 151/261/39 +f 147/263/43 154/270/38 153/264/40 +f 145/247/42 152/271/17 151/261/39 +f 142/267/34 143/260/45 150/262/37 +f 147/263/43 148/279/36 155/269/35 +f 146/265/41 153/264/40 152/271/17 +f 153/264/40 154/270/38 161/272/28 +f 152/271/17 159/277/24 158/274/31 +f 150/262/37 157/278/23 156/275/29 +f 154/270/38 155/269/35 162/276/27 +f 152/271/17 153/264/40 160/273/32 +f 150/262/37 151/261/39 158/274/31 +f 161/282/28 169/293/2 168/283/18 +f 159/277/24 167/296/10 166/285/16 +f 157/287/23 165/297/4 164/288/30 +f 156/289/29 164/288/30 163/290/1 +f 162/292/27 170/295/26 169/293/2 +f 141/294/25 163/578/1 170/295/26 +f 160/284/32 168/283/18 167/296/10 +f 158/286/31 166/285/16 165/297/4 +f 178/298/14 186/311/57 185/299/63 +f 176/301/12 184/312/65 183/302/62 +f 174/304/13 182/313/64 181/305/66 +f 172/307/11 180/314/55 179/308/49 +f 171/310/5 179/579/49 186/311/57 +f 177/300/4 185/299/63 184/312/65 +f 175/303/3 183/302/62 182/313/64 +f 173/306/2 181/305/66 180/314/55 +f 181/315/66 182/321/64 189/316/60 +f 185/318/63 192/325/59 191/319/61 +f 183/302/62 190/326/15 189/316/60 +f 181/315/66 188/317/58 187/322/54 +f 186/324/57 193/335/56 192/325/59 +f 184/320/65 191/319/61 190/326/15 +f 191/319/61 192/325/59 199/327/51 +f 189/316/60 190/326/15 197/329/48 +f 188/317/58 195/333/47 194/331/52 +f 192/325/59 193/335/56 200/332/50 +f 190/326/15 191/319/61 198/328/53 +f 189/316/60 196/330/46 195/333/47 +f 198/337/53 199/349/51 207/338/4 +f 196/340/46 197/329/48 205/341/10 +f 194/343/52 195/352/47 203/344/2 +f 194/343/52 202/345/26 201/346/1 +f 200/348/50 208/351/30 207/338/4 +f 200/348/50 179/580/49 201/350/1 +f 198/337/53 206/339/16 205/341/10 +f 196/340/46 204/342/18 203/344/2 +f 222/353/67 221/368/72 213/354/17 +f 220/356/68 219/369/73 211/357/15 +f 238/359/30 216/581/1 209/360/25 +f 217/361/69 209/360/25 210/362/3 +f 223/364/71 215/367/49 216/365/1 +f 222/353/67 214/355/5 215/367/49 +f 221/368/72 220/356/68 212/358/10 +f 219/369/73 218/363/70 210/362/3 +f 228/378/78 221/385/72 222/379/67 +f 227/381/18 226/386/81 219/382/73 +f 225/383/80 224/374/76 217/376/69 +f 229/380/79 222/379/67 223/371/71 +f 227/381/18 220/356/68 221/385/72 +f 226/386/81 225/383/80 218/384/70 +f 233/387/82 226/386/81 227/381/18 +f 231/377/77 224/374/76 225/383/80 +f 237/373/75 236/391/86 229/380/79 +f 234/388/83 227/381/18 228/378/78 +f 232/389/84 225/383/80 226/386/81 +f 236/391/86 235/390/85 228/378/78 +f 244/392/5 236/406/86 237/393/75 +f 242/395/2 234/388/83 235/396/85 +f 240/398/3 232/407/84 233/399/82 +f 246/401/4 238/582/30 231/402/77 +f 245/394/14 237/393/75 238/404/30 +f 243/397/11 235/396/85 236/406/86 +f 241/400/13 233/399/82 234/388/83 +f 239/403/12 231/402/77 232/407/84 +f 259/408/87 251/423/15 252/409/3 +f 258/411/89 257/424/93 249/412/17 +f 276/414/26 254/583/1 247/415/49 +f 255/416/90 247/415/49 248/417/5 +f 261/419/92 253/422/25 254/420/1 +f 260/410/88 252/409/3 253/422/25 +f 259/408/87 258/411/89 250/413/10 +f 256/418/91 248/417/5 249/412/17 +f 267/433/98 266/440/101 259/434/87 +f 264/436/99 257/441/93 258/411/89 +f 263/438/100 262/429/96 255/431/90 +f 267/433/98 260/435/88 261/426/92 +f 266/440/101 265/437/16 258/411/89 +f 264/436/99 263/438/100 256/439/91 +f 271/442/102 264/436/99 265/437/16 +f 270/444/104 269/432/97 262/429/96 +f 275/428/95 274/446/106 267/433/98 +f 272/443/103 265/437/16 266/440/101 +f 270/444/104 263/438/100 264/436/99 +f 274/446/106 273/445/105 266/440/101 +f 282/447/3 274/461/106 275/448/95 +f 280/450/4 272/443/103 273/451/105 +f 278/453/5 270/462/104 271/454/102 +f 284/456/2 276/584/26 269/457/97 +f 283/449/13 275/448/95 276/459/26 +f 281/452/12 273/451/105 274/461/106 +f 279/455/14 271/454/102 272/443/103 +f 277/458/11 269/457/97 270/462/104 +f 292/463/12 300/476/77 299/464/84 +f 290/466/13 298/477/82 297/467/83 +f 288/469/11 296/478/85 295/470/86 +f 286/472/14 294/479/75 293/473/30 +f 285/475/4 293/585/30 300/476/77 +f 291/465/3 299/464/84 298/477/82 +f 289/468/2 297/467/83 296/478/85 +f 287/471/5 295/470/86 294/479/75 +f 295/480/86 296/486/85 303/481/78 +f 299/483/84 306/490/80 305/484/81 +f 297/467/83 304/491/18 303/481/78 +f 294/487/75 295/480/86 302/482/79 +f 300/489/77 307/500/76 306/490/80 +f 297/467/83 298/485/82 305/484/81 +f 305/484/81 306/490/80 313/492/70 +f 304/491/18 311/497/68 310/494/72 +f 302/482/79 309/498/67 308/495/71 +f 306/490/80 307/500/76 314/496/69 +f 305/484/81 312/493/73 311/497/68 +f 303/481/78 310/494/72 309/498/67 +f 313/502/70 321/514/3 320/503/15 +f 310/505/72 311/497/68 319/506/10 +f 309/508/67 317/517/5 316/509/49 +f 308/510/71 316/509/49 315/511/1 +f 314/513/69 322/516/25 321/514/3 +f 293/515/30 315/586/1 322/516/25 +f 311/497/68 312/504/73 320/503/15 +f 310/505/72 318/507/17 317/517/5 +f 330/518/11 338/531/97 337/519/104 +f 328/521/14 336/532/102 335/522/103 +f 326/524/12 334/533/105 333/525/106 +f 324/527/13 332/534/95 331/528/26 +f 323/530/2 331/587/26 338/531/97 +f 329/520/5 337/519/104 336/532/102 +f 327/523/4 335/522/103 334/533/105 +f 325/526/3 333/525/106 332/534/95 +f 333/535/106 334/541/105 341/536/101 +f 337/538/104 344/545/100 343/539/99 +f 335/522/103 342/546/16 341/536/101 +f 332/542/95 333/535/106 340/537/98 +f 337/538/104 338/554/97 345/544/96 +f 336/540/102 343/539/99 342/546/16 +f 343/539/99 344/545/100 351/547/91 +f 342/546/16 349/552/89 348/549/87 +f 340/537/98 347/553/88 346/550/92 +f 344/545/100 345/544/96 352/551/90 +f 343/539/99 350/548/93 349/552/89 +f 340/537/98 341/536/101 348/549/87 +f 351/557/91 359/568/5 358/558/17 +f 349/552/89 357/571/10 356/560/15 +f 347/562/88 355/572/3 354/563/25 +f 346/564/92 354/563/25 353/565/1 +f 352/567/90 360/570/49 359/568/5 +f 331/569/26 353/588/1 360/570/49 +f 349/552/89 350/559/93 358/558/17 +f 348/561/87 356/560/15 355/572/3 diff --git a/src/main/resources/assets/hbm/textures/models/machines/watz_pump.png b/src/main/resources/assets/hbm/textures/models/machines/watz_pump.png new file mode 100644 index 0000000000000000000000000000000000000000..6f2582f83f6e50d230a6e5dce4aae04bb04b503f GIT binary patch literal 902 zcmV;119|+3P)m597=~Y}kX}h8gb>Rq>el~}AHaAcQrAownKO4}%8JBz zOC{Dy9XoV9>84u{8$wkjf7eVr4faRfG;=jtN0E+epDd)q-CzI!n0Oulz4v{^7nr7*`l$+cg8_U1K0XIP zCkf#Jz`VW|eyReAj*kyu_g%O6LgByJF&qLsPzYWbx??&Tj%GJ%_EG#aI@5fh%o1%T;vnps|DEXyj@J|?`=?FyF~ zzWmaW#WSpr*D8G7H21=i==7b+>!x|}0Th5l%o1_;9EKrgvl%*_PN8E=cmS|&Z-t({ z)ovqNtr8u$WJrf-wMzUKh9Me_M&V;Z_^+ntx|=#h%95asCcw^xmCBv`dU)6X!0+L( zmM34;bKT7-2x|R)UwB>K?fAYgtaoz4ADh2#Z~O0mUSA8JM`kanoF9P73*T%u0RWEU zaNXHxExx{Y$Ww?7fuPk04={U#@v`?NsklZDp1Ybl;DUkGWO~S-mTEl(X{g z{Qs&?%DIqdKf~SEAd1EbSwg4v?U)$stm55@Oz^Ze6l%-t zX4XK6>ZG9}G~2JQ4gd}6fT}Owx625)vd}&2WJ0rj(y@e<#bB2P>QLGS1WO*#R6IYO zPc>%}i@pUyAA&FpOSRvx@p)%{*+*15sN8u~`$6@O72IhNzUWNTLE59A_sPque+ZV# cWvTZ60a72#U)YG;=>Px#07*qoM6N<$f_+1%)Bpeg literal 0 HcmV?d00001 From 8244747692699273df0ba661da970da787544c7a Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 4 Apr 2023 16:28:21 +0200 Subject: [PATCH 011/285] compat recipes, watz pump functionality, IO filter --- .../java/com/hbm/blocks/machine/Watz.java | 29 ++++- .../java/com/hbm/entity/EntityMappings.java | 2 - .../java/com/hbm/entity/qic/EntitySPV.java | 73 ------------ .../inventory/recipes/CentrifugeRecipes.java | 43 +++---- .../recipes/CrystallizerRecipes.java | 8 +- .../tileentity/machine/TileEntityWatz.java | 105 ++++++++++-------- 6 files changed, 113 insertions(+), 147 deletions(-) delete mode 100644 src/main/java/com/hbm/entity/qic/EntitySPV.java diff --git a/src/main/java/com/hbm/blocks/machine/Watz.java b/src/main/java/com/hbm/blocks/machine/Watz.java index 8edb70cb7..0b9767e4d 100644 --- a/src/main/java/com/hbm/blocks/machine/Watz.java +++ b/src/main/java/com/hbm/blocks/machine/Watz.java @@ -1,12 +1,14 @@ package com.hbm.blocks.machine; import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityWatz; 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 Watz extends BlockDummyable { @@ -17,9 +19,8 @@ public class Watz extends BlockDummyable { @Override public TileEntity createNewTileEntity(World world, int meta) { - if(meta >= 12) - return new TileEntityWatz(); - + if(meta >= 12) return new TileEntityWatz(); + if(meta >= 6) return new TileEntityProxyCombo().inventory().fluid(); return null; } @@ -37,4 +38,26 @@ public class Watz extends BlockDummyable { public int getOffset() { return 3; } + + @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); //TODO + } + + @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; + + this.makeExtra(world, x + 2, y, z); + this.makeExtra(world, x - 2, y, z); + this.makeExtra(world, x, y, z + 2); + this.makeExtra(world, x, y, z - 2); + this.makeExtra(world, x + 2, y + 2, z); + this.makeExtra(world, x - 2, y + 2, z); + this.makeExtra(world, x, y + 2, z + 2); + this.makeExtra(world, x, y + 2, z - 2); + } } diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index e9a261459..fc9352d8e 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -14,7 +14,6 @@ import com.hbm.entity.mob.botprime.*; import com.hbm.entity.mob.siege.*; import com.hbm.entity.particle.*; import com.hbm.entity.projectile.*; -import com.hbm.entity.qic.*; import com.hbm.main.MainRegistry; import com.hbm.util.Tuple.Quartet; @@ -201,7 +200,6 @@ public class EntityMappings { addEntity(EntityArtilleryShell.class, "entity_artillery_shell", 1000); addEntity(EntityArtilleryRocket.class, "entity_himars", 1000); addEntity(EntitySiegeTunneler.class, "entity_meme_tunneler", 1000); - addEntity(EntitySPV.class, "entity_self_propelled_vehicle_mark_1", 1000); addEntity(EntityCog.class, "entity_stray_cog", 1000); addEntity(EntitySawblade.class, "entity_stray_saw", 1000); addEntity(EntityChemical.class, "entity_chemthrower_splash", 1000); diff --git a/src/main/java/com/hbm/entity/qic/EntitySPV.java b/src/main/java/com/hbm/entity/qic/EntitySPV.java deleted file mode 100644 index e82fa07d2..000000000 --- a/src/main/java/com/hbm/entity/qic/EntitySPV.java +++ /dev/null @@ -1,73 +0,0 @@ -package com.hbm.entity.qic; - -import net.minecraft.entity.Entity; -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 EntitySPV extends Entity { - - public EntitySPV(World p_i1582_1_) { - super(p_i1582_1_); - this.setSize(0.5F, 0.5F); - } - - @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(this.riddenByEntity != null && this.riddenByEntity instanceof EntityLivingBase && ((EntityLivingBase)this.riddenByEntity).moveForward != 0) { - EntityLivingBase riding = (EntityLivingBase) this.riddenByEntity; - Vec3 vec = riding.getLookVec(); - this.motionX = vec.xCoord * riding.moveForward * 0.25D; - this.motionY = vec.yCoord * riding.moveForward * 0.25D; - this.motionZ = vec.zCoord * riding.moveForward * 0.25D; - - } else if(this.riddenByEntity == null) { - this.motionY -= 0.01D; - - if(this.onGround) { - this.motionX = 0; - this.motionY = 0; - this.motionZ = 0; - } - - } else { - this.motionX = 0; - this.motionY = 0; - this.motionZ = 0; - } - - this.moveEntity(this.motionX, this.motionY, this.motionZ); - //this.setPositionAndRotation(this.posX + motionX, this.posY + motionY, this.posZ + motionZ, this.rotationYaw, this.rotationPitch); - - super.onUpdate(); - } - - @Override - public boolean canBeCollidedWith() { - return true; - } - - @Override - public boolean interactFirst(EntityPlayer player) { - if(super.interactFirst(player)) { - return true; - } else if(!this.worldObj.isRemote && (this.riddenByEntity == null || this.riddenByEntity == player)) { - player.mountEntity(this); - return true; - } else { - return false; - } - } -} diff --git a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java index d36b1ad1e..3569d3c52 100644 --- a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java @@ -12,6 +12,7 @@ import com.google.gson.stream.JsonWriter; import com.hbm.blocks.ModBlocks; 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.RecipesCommon; import com.hbm.inventory.RecipesCommon.AStack; @@ -140,115 +141,115 @@ public class CentrifugeRecipes extends SerializableRecipe { new ItemStack(ModItems.dust, 1), new ItemStack(ModItems.dust, 1) }); - recipes.put(new OreDictStack("oreCoal"), new ItemStack[] { + 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("oreLignite"), new ItemStack[] { + 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("oreIron"), new ItemStack[] { + 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("oreGold"), new ItemStack[] { + 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("oreDiamond"), new ItemStack[] { + 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("oreEmerald"), new ItemStack[] { + 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("oreTitanium"), new ItemStack[] { + 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("oreQuartz"), new ItemStack[] { + 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("oreTungsten"), new ItemStack[] { + 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("oreCopper"), new ItemStack[] { + 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("oreAluminum"), new ItemStack[] { + recipes.put(new OreDictStack(AL.ore()), new ItemStack[] { new ItemStack(ModItems.powder_aluminium, 1), new ItemStack(ModItems.powder_aluminium, 1), new ItemStack(ModItems.powder_iron, 1), new ItemStack(Blocks.gravel, 1) }); - recipes.put(new OreDictStack("oreLead"), new ItemStack[] { + 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("oreSchrabidium"), new ItemStack[] { + 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 ComparableStack(ModBlocks.ore_rare), new ItemStack[] { + 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("orePlutonium"), new ItemStack[] { + 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("oreUranium"), new ItemStack[] { + 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("oreThorium"), new ItemStack[] { + recipes.put(new OreDictStack(TH232.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("oreBeryllium"), new ItemStack[] { + 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("oreRedstone"), new ItemStack[] { + 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), @@ -260,7 +261,7 @@ public class CentrifugeRecipes extends SerializableRecipe { new ItemStack(ModItems.powder_niobium, 2), new ItemStack(Blocks.end_stone, 1) }); - recipes.put(new OreDictStack("oreLapis"), new ItemStack[] { + recipes.put(new OreDictStack(LAPIS.ore()), new ItemStack[] { new ItemStack(ModItems.powder_lapis, 3), new ItemStack(ModItems.powder_lapis, 3), new ItemStack(ModItems.powder_cobalt_tiny, 1), @@ -284,7 +285,7 @@ public class CentrifugeRecipes extends SerializableRecipe { new ItemStack(ModItems.ingot_phosphorus), new ItemStack(Blocks.netherrack) }); - recipes.put(new OreDictStack("oreCobalt"), new ItemStack[] { + 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), diff --git a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java index c4930766a..070e9f221 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java @@ -140,13 +140,19 @@ public class CrystallizerRecipes extends SerializableRecipe { registerRecipe(KEY_SAND, new CrystallizerRecipe(Blocks.clay, 20), new FluidStack(Fluids.COLLOID, 1_000)); + /// COMPAT CERTUS QUARTZ /// List quartz = OreDictionary.getOres("crystalCertusQuartz"); - if(quartz != null && !quartz.isEmpty()) { ItemStack qItem = quartz.get(0).copy(); qItem.stackSize = 12; registerRecipe("oreCertusQuartz", new CrystallizerRecipe(qItem, baseTime)); } + + /// COMPAT WHITE PHOSPHORUS DUST /// + List dustWhitePhosphorus = OreDictionary.getOres(P_WHITE.dust()); + if(dustWhitePhosphorus != null && !dustWhitePhosphorus.isEmpty()) { + registerRecipe(P_WHITE.dust(), new CrystallizerRecipe(new ItemStack(ModItems.ingot_phosphorus), utilityTime), new FluidStack(Fluids.AROMATICS, 50)); + } if(!IMCCrystallizer.buffer.isEmpty()) { recipes.putAll(IMCCrystallizer.buffer); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java index f5e8f68de..b66e14d9e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java @@ -3,6 +3,7 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; import java.util.List; +import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.container.ContainerWatz; import com.hbm.inventory.fluid.Fluids; @@ -64,6 +65,7 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand if(!worldObj.isRemote && !updateLock()) { + boolean turnedOn = worldObj.getBlock(xCoord, yCoord + 3, zCoord) == ModBlocks.watz_pump && worldObj.getIndirectPowerLevelTo(xCoord, yCoord + 5, zCoord, 0) > 0; List segments = new ArrayList(); segments.add(this); this.subscribeToTop(); @@ -97,11 +99,11 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand } /* update reaction, top to bottom */ - this.updateReaction(null, sharedTanks); + this.updateReaction(null, sharedTanks, turnedOn); for(int i = 1; i < segments.size(); i++) { TileEntityWatz segment = segments.get(i); TileEntityWatz above = segments.get(i - 1); - segment.updateReaction(above, sharedTanks); + segment.updateReaction(above, sharedTanks, turnedOn); } /* re-distribute fluid from shared tanks back into actual tanks, bottom to top */ @@ -153,57 +155,64 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand } /** enforces strict top to bottom update order (instead of semi-random based on placement) */ - public void updateReaction(TileEntityWatz above, FluidTank[] tanks) { + public void updateReaction(TileEntityWatz above, FluidTank[] tanks, boolean turnedOn) { - List pellets = new ArrayList(); - - for(int i = 0; i < 24; i++) { - ItemStack stack = slots[i]; - if(stack != null && stack.getItem() == ModItems.watz_pellet) { - pellets.add(stack); - } - } - - double baseFlux = 0D; - - /* init base flux */ - for(ItemStack stack : pellets) { - EnumWatzType type = EnumUtil.grabEnumSafely(EnumWatzType.class, stack.getItemDamage()); - baseFlux += type.passive; - } - - double inputFlux = baseFlux + fluxLastReaction; - double addedFlux = 0D; - double addedHeat = 0D; - - for(ItemStack stack : pellets) { - EnumWatzType type = EnumUtil.grabEnumSafely(EnumWatzType.class, stack.getItemDamage()); - Function burnFunc = type.burnFunc; - Function heatMod = type.heatMult; + if(turnedOn) { + List pellets = new ArrayList(); - if(burnFunc != null) { - double mod = heatMod != null ? heatMod.effonix(heat) : 1D; - double burn = burnFunc.effonix(inputFlux) * mod; - ItemWatzPellet.setYield(stack, ItemWatzPellet.getYield(stack) - burn); - addedFlux += burn; - addedHeat += type.heatEmission * burn; - tanks[2].setFill(tanks[2].getFill() + (int) Math.round(type.mudContent * burn)); + for(int i = 0; i < 24; i++) { + ItemStack stack = slots[i]; + if(stack != null && stack.getItem() == ModItems.watz_pellet) { + pellets.add(stack); + } } - } - - for(ItemStack stack : pellets) { - EnumWatzType type = EnumUtil.grabEnumSafely(EnumWatzType.class, stack.getItemDamage()); - Function absorbFunc = type.absorbFunc; - if(absorbFunc != null) { - addedHeat += absorbFunc.effonix(baseFlux + fluxLastReaction); + double baseFlux = 0D; + + /* init base flux */ + for(ItemStack stack : pellets) { + EnumWatzType type = EnumUtil.grabEnumSafely(EnumWatzType.class, stack.getItemDamage()); + baseFlux += type.passive; } + + double inputFlux = baseFlux + fluxLastReaction; + double addedFlux = 0D; + double addedHeat = 0D; + + for(ItemStack stack : pellets) { + EnumWatzType type = EnumUtil.grabEnumSafely(EnumWatzType.class, stack.getItemDamage()); + Function burnFunc = type.burnFunc; + Function heatMod = type.heatMult; + + if(burnFunc != null) { + double mod = heatMod != null ? heatMod.effonix(heat) : 1D; + double burn = burnFunc.effonix(inputFlux) * mod; + ItemWatzPellet.setYield(stack, ItemWatzPellet.getYield(stack) - burn); + addedFlux += burn; + addedHeat += type.heatEmission * burn; + tanks[2].setFill(tanks[2].getFill() + (int) Math.round(type.mudContent * burn)); + } + } + + for(ItemStack stack : pellets) { + EnumWatzType type = EnumUtil.grabEnumSafely(EnumWatzType.class, stack.getItemDamage()); + Function absorbFunc = type.absorbFunc; + + if(absorbFunc != null) { + addedHeat += absorbFunc.effonix(baseFlux + fluxLastReaction); + } + } + + this.heat += addedHeat; + this.fluxLastBase = baseFlux; + this.fluxLastReaction = addedFlux; + + } else { + this.fluxLastBase = 0; + this.fluxLastReaction = 0; + } - this.heat += addedHeat; - this.fluxLastBase = baseFlux; - this.fluxLastReaction = addedFlux; - if(above != null) { for(int i = 0; i < 24; i++) { ItemStack stackBottom = slots[i]; @@ -307,7 +316,9 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand @Override public boolean isItemValidForSlot(int i, ItemStack stack) { - return stack.getItem() == ModItems.watz_pellet; + if(stack.getItem() != ModItems.watz_pellet) return false; + if(!this.isLocked) return true; + return this.locks[i] != null && this.locks[i].getItem() == stack.getItem() && locks[i].getItemDamage() == stack.getItemDamage(); } @Override From 29176d0e821ce82629a9aaba0490e9f4034df135 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 5 Apr 2023 16:44:14 +0200 Subject: [PATCH 012/285] some fixes, watz pellets --- .../java/com/hbm/blocks/bomb/Landmine.java | 14 +++++++----- .../com/hbm/items/machine/ItemWatzPellet.java | 4 ++-- .../java/com/hbm/world/feature/DeepLayer.java | 8 +++---- .../java/com/hbm/world/feature/OreCave.java | 9 +++----- .../java/com/hbm/world/feature/OreLayer.java | 9 +++----- .../com/hbm/world/feature/OreLayer3D.java | 9 +++----- .../com/hbm/world/feature/SchistStratum.java | 2 +- src/main/resources/assets/hbm/lang/de_DE.lang | 20 ++++++++++++++++++ src/main/resources/assets/hbm/lang/en_US.lang | 20 ++++++++++++++++++ .../hbm/textures/items/crystal_energy.png | Bin 341 -> 0 bytes .../hbm/textures/items/pellet_coolant.png | Bin 363 -> 0 bytes 11 files changed, 64 insertions(+), 31 deletions(-) delete mode 100644 src/main/resources/assets/hbm/textures/items/crystal_energy.png delete mode 100644 src/main/resources/assets/hbm/textures/items/pellet_coolant.png diff --git a/src/main/java/com/hbm/blocks/bomb/Landmine.java b/src/main/java/com/hbm/blocks/bomb/Landmine.java index 6d43d6106..85ebdc82c 100644 --- a/src/main/java/com/hbm/blocks/bomb/Landmine.java +++ b/src/main/java/com/hbm/blocks/bomb/Landmine.java @@ -25,7 +25,6 @@ import net.minecraft.world.World; public class Landmine extends BlockContainer implements IBomb { public static boolean safeMode = false; - static Random rand = new Random();; public Landmine(Material p_i45386_1_) { super(p_i45386_1_); @@ -100,18 +99,23 @@ public class Landmine extends BlockContainer implements IBomb { } if(flag) { - this.dropBlockAsItem(world, x, y, z, world.getBlockMetadata(x, y, z), 0); - world.setBlockToAir(x, y, z); + + if(!safeMode) { + explode(world, x, y, z); + } else { + world.setBlockToAir(x, y, z); + } } } - public void breakBlock(World world, int x, int y, int z, Block block, int i) { + @Override + public void onBlockDestroyedByPlayer(World world, int x, int y, int z, int meta) { if(!safeMode) { explode(world, x, y, z); } - super.breakBlock(world, x, y, z, block, i); + super.onBlockDestroyedByPlayer(world, x, y, z, meta); } public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int i, float fx, float fy, float fz) { diff --git a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java index d56bfa6e9..9eb418a54 100644 --- a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java +++ b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java @@ -35,15 +35,15 @@ public class ItemWatzPellet extends ItemEnumMulti { public static enum EnumWatzType { - //TODO: durability SCHRABIDIUM( 0x32FFFF, 0x005C5C, 2_000, 10D, new FunctionLogarithmic(10), null, null), HES( 0x66DCD6, 0x023933, 1_500, 10D, null, null, null), LES( 0xABB4A8, 0x0C1105, 500, 10D, null, null, null), MES( 0xCBEADF, 0x28473C, 1_000, 10D, null, null, null), - NP( 0xA6B2A6, 0x030F03, 0, 10D, null, null, null), + HEN( 0xA6B2A6, 0x030F03, 0, 10D, null, null, null), MEU( 0xC1C7BD, 0x2B3227, 0, 10D, null, null, null), MEP( 0x9AA3A0, 0x111A17, 0, 10D, null, null, null), LEAD( 0xA6A6B2, 0x03030F, 0, 0, null, null, new FunctionSqrt(10)), //standard absorber, negative coefficient + BORON( 0xBDC8D2, 0x29343E, 0, 0, null, null, new FunctionLinear(10)), //improved absorber, linear DU( 0xC1C7BD, 0x2B3227, 0, 0, null, null, new FunctionQuadratic(1D, 1D).withDiv(100)); //absorber with positive coefficient public double yield = 1_000_000_000; diff --git a/src/main/java/com/hbm/world/feature/DeepLayer.java b/src/main/java/com/hbm/world/feature/DeepLayer.java index 5e50efd0d..b8f29cf41 100644 --- a/src/main/java/com/hbm/world/feature/DeepLayer.java +++ b/src/main/java/com/hbm/world/feature/DeepLayer.java @@ -19,15 +19,13 @@ public class DeepLayer { @SubscribeEvent public void onDecorate(DecorateBiomeEvent.Pre event) { + + World world = event.world; + if(world.provider == null || world.provider.dimensionId != 0) return; if(this.noise == null) { this.noise = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + 19), 4); } - - World world = event.world; - - if(world.provider.dimensionId != 0) - return; int cX = event.chunkX; int cZ = event.chunkZ; diff --git a/src/main/java/com/hbm/world/feature/OreCave.java b/src/main/java/com/hbm/world/feature/OreCave.java index 2be6aa77a..eed1cdfdc 100644 --- a/src/main/java/com/hbm/world/feature/OreCave.java +++ b/src/main/java/com/hbm/world/feature/OreCave.java @@ -73,17 +73,14 @@ public class OreCave { @SubscribeEvent public void onDecorate(DecorateBiomeEvent.Pre event) { - if(event.world.provider.dimensionId != this.dim) return; + World world = event.world; + + if(world.provider == null || world.provider.dimensionId != this.dim) return; if(this.noise == null) { this.noise = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + (ore.getID() * 31) + yLevel), 2); } - World world = event.world; - - if(world.provider.dimensionId != 0) - return; - int cX = event.chunkX; int cZ = event.chunkZ; diff --git a/src/main/java/com/hbm/world/feature/OreLayer.java b/src/main/java/com/hbm/world/feature/OreLayer.java index 85b051525..b0411b147 100644 --- a/src/main/java/com/hbm/world/feature/OreLayer.java +++ b/src/main/java/com/hbm/world/feature/OreLayer.java @@ -67,17 +67,14 @@ public class OreLayer { @SubscribeEvent public void onDecorate(DecorateBiomeEvent.Pre event) { - if(event.world.provider.dimensionId != this.dim) return; + World world = event.world; + + if(world.provider == null || world.provider.dimensionId != this.dim) return; if(this.noise == null) { this.noise = new NoiseGeneratorPerlin(new Random(event.world.getSeed() + (ore.getID() * 31) + yLevel), 4); } - World world = event.world; - - if(world.provider.dimensionId != 0) - return; - int cX = event.chunkX; int cZ = event.chunkZ; diff --git a/src/main/java/com/hbm/world/feature/OreLayer3D.java b/src/main/java/com/hbm/world/feature/OreLayer3D.java index 6c7f97da2..67fecb388 100644 --- a/src/main/java/com/hbm/world/feature/OreLayer3D.java +++ b/src/main/java/com/hbm/world/feature/OreLayer3D.java @@ -33,17 +33,14 @@ public class OreLayer3D { @SubscribeEvent public void onDecorate(DecorateBiomeEvent.Pre event) { + + World world = event.world; - if(event.world.provider.dimensionId != this.dim) return; + 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); - - World world = event.world; - - if(world.provider.dimensionId != 0) - return; int cX = event.chunkX; int cZ = event.chunkZ; diff --git a/src/main/java/com/hbm/world/feature/SchistStratum.java b/src/main/java/com/hbm/world/feature/SchistStratum.java index d0fd94bb4..f16f4b93a 100644 --- a/src/main/java/com/hbm/world/feature/SchistStratum.java +++ b/src/main/java/com/hbm/world/feature/SchistStratum.java @@ -24,7 +24,7 @@ public class SchistStratum { World world = event.world; - if(world.provider.dimensionId != 0) + if(world.provider == null || world.provider.dimensionId != 0) return; int cX = event.chunkX; diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index f49aec1bb..fb18572e7 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -3226,6 +3226,26 @@ item.waste_u235.name=Erschöpfter Uran-235-Kernbrennstoff item.waste_u233.name=Erschöpfter Uran-233-Kernbrennstoff item.waste_uranium.name=Erschöpfter Urankernbrennstoff item.watch.name=Zerbrochene Taschenuhr +item.watz_pellet.boron=Bor-Absorberpellet +item.watz_pellet.du=Abgereichertes Uran-Absorberpellet +item.watz_pellet.hes=HES-Watzpellet +item.watz_pellet.lead=Blei-Absorberpellet +item.watz_pellet.les=LES-Watzpellet +item.watz_pellet.mes=MES-Watzpellet +item.watz_pellet.mep=MEP-Watzpellet +item.watz_pellet.meu=MEU-Watzpellet +item.watz_pellet.hen=HEN-Watzpellet +item.watz_pellet.schrabidium=Schrabidium-Watzpellet +item.watz_pellet_depleted.boron=Bor-Absorberpellet (Erschöpft) +item.watz_pellet_depleted.du=Abgereichertes Uran-Absorberpellet (Erschöpft) +item.watz_pellet_depleted.hes=HES-Watzpellet (Erschöpft) +item.watz_pellet_depleted.lead=Blei-Absorberpellet (Erschöpft) +item.watz_pellet_depleted.les=LES-Watzpellet (Erschöpft) +item.watz_pellet_depleted.mes=MES-Watzpellet (Erschöpft) +item.watz_pellet_depleted.mep=MEP-Watzpellet (Erschöpft) +item.watz_pellet_depleted.meu=MEU-Watzpellet (Erschöpft) +item.watz_pellet_depleted.hen=HEN-Watzpellet (Erschöpft) +item.watz_pellet_depleted.schrabidium=Schrabidium-Watzpellet (Erschöpft) item.weapon_bat.name=Richards Standard item.weapon_bat_nail.name=Das Klischee item.weapon_golf_club.name=Schläger des russischen Mafiosos diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index b0c7451dc..d163eeec3 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4018,6 +4018,26 @@ 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.watz_pellet.boron=Boron Absorber Pellet +item.watz_pellet.du=Depleted Uranium Absorber Pellet +item.watz_pellet.hes=HES Watz Pellet +item.watz_pellet.lead=Lead Absorber Pellet +item.watz_pellet.les=LES Watz Pellet +item.watz_pellet.mes=MES Watz Pellet +item.watz_pellet.mep=MEP Watz Pellet +item.watz_pellet.meu=MEU Watz Pellet +item.watz_pellet.hen=HEN Watz Pellet +item.watz_pellet.schrabidium=Schrabidium Watz Pellet +item.watz_pellet_depleted.boron=Boron Absorber Pellet (Depleted) +item.watz_pellet_depleted.du=Depleted Uranium Absorber Pellet (Depleted) +item.watz_pellet_depleted.hes=HES Watz Pellet (Depleted) +item.watz_pellet_depleted.lead=Lead Absorber Pellet (Depleted) +item.watz_pellet_depleted.les=LES Watz Pellet (Depleted) +item.watz_pellet_depleted.mes=MES Watz Pellet (Depleted) +item.watz_pellet_depleted.mep=MEP Watz Pellet (Depleted) +item.watz_pellet_depleted.meu=MEU Watz Pellet (Depleted) +item.watz_pellet_depleted.hen=HEN Watz Pellet (Depleted) +item.watz_pellet_depleted.schrabidium=Schrabidium Watz Pellet (Depleted) item.weapon_bat.name=Richard's Default item.weapon_bat_nail.name=The Cliché item.weapon_golf_club.name=Russian Mobster's Club diff --git a/src/main/resources/assets/hbm/textures/items/crystal_energy.png b/src/main/resources/assets/hbm/textures/items/crystal_energy.png deleted file mode 100644 index f4d48089a41b0ef4800ad319aa204b19e3be28df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 341 zcmV-b0jmCqP)#1pg<-N&>gHiJ&T4g^fWYtM(7NFO4^}_Mo4F1 z9~K$9vim4{9}+Tsydx#xKam_LInYsl_RsM1z)m9)3fXDgNL!vzgybG^;ryz*+i65z z3vBSnYw5b#Y1|qpb=R(ni-Sk4^%Wa=UJF=VN5CIzj2$79u{yRfX!%?S05wJ!=Y)Xs zJTEe*d&EVC!JcgJueNXRTm1SIRmK=mD+EUhjB`5zu{kdQu(zUAPH z5IsH7)6*l|=n-y`OZ*r~uMlWkkUKCh$nzpTHH>rJ3WY%Aw~Lb30%MGjvF{@cdLa6` nYOp#c-+4d7*`xaHVf_i;Hq^T`X>ik700000NkvXXu0mjfPdkkK diff --git a/src/main/resources/assets/hbm/textures/items/pellet_coolant.png b/src/main/resources/assets/hbm/textures/items/pellet_coolant.png deleted file mode 100644 index 59c00dec46f499ce36ea9b6ceae1c6980ebf697f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 363 zcmV-x0hIoUP)iXk$+IV-j zO?ZCl$-OKuaRpG5kx>`#6%X*ER0^wD20eW5JBrCpJ%Jyk2*zDxd5LAvL+n{n+!@TZ zCrBsL4N1fnVn0eHuZr*QZe$8AK~)@#yNEptoxvQhmqP%+y4Wc9H3I Date: Thu, 6 Apr 2023 09:35:19 -0500 Subject: [PATCH 013/285] fixed a small OC bug yeah idk should be ready for merging to main mod --- .../java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 0e2cea7c7..7617aa6ca 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -453,7 +453,7 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM public Object[] getInfo(Context context, Arguments args) { Object OC_enrich_buf; Object OC_poison_buf; - Object OC_fuelType; + Object OC_item_Data; if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { OC_enrich_buf = ItemRBMKRod.getEnrichment(slots[0]); OC_poison_buf = ItemRBMKRod.getPoison(slots[0]); From 0146c009e7e08550e2386cf171c83edf78d30b02 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 6 Apr 2023 16:59:37 +0200 Subject: [PATCH 014/285] diode and schrabidate blindness fix --- .../com/hbm/blocks/network/BlockCable.java | 24 +++++++++---------- .../com/hbm/blocks/network/CableDiode.java | 13 +++++++++- .../java/com/hbm/hazard/HazardRegistry.java | 2 +- .../storage/TileEntityMachineBattery.java | 5 +++- 4 files changed, 29 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/hbm/blocks/network/BlockCable.java b/src/main/java/com/hbm/blocks/network/BlockCable.java index 92fc65684..60906e5fd 100644 --- a/src/main/java/com/hbm/blocks/network/BlockCable.java +++ b/src/main/java/com/hbm/blocks/network/BlockCable.java @@ -48,12 +48,12 @@ public class BlockCable extends BlockContainer { @Override public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - boolean posX = Library.canConnect(world, x + 1, y, z, Library.NEG_X); - boolean negX = Library.canConnect(world, x - 1, y, z, Library.POS_X); - boolean posY = Library.canConnect(world, x, y + 1, z, Library.NEG_Y); - boolean negY = Library.canConnect(world, x, y - 1, z, Library.POS_Y); - boolean posZ = Library.canConnect(world, x, y, z + 1, Library.NEG_Z); - boolean negZ = Library.canConnect(world, x, y, z - 1, Library.POS_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); @@ -63,12 +63,12 @@ public class BlockCable extends BlockContainer { @Override public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { - boolean posX = Library.canConnect(world, x + 1, y, z, Library.NEG_X); - boolean negX = Library.canConnect(world, x - 1, y, z, Library.POS_X); - boolean posY = Library.canConnect(world, x, y + 1, z, Library.NEG_Y); - boolean negY = Library.canConnect(world, x, y - 1, z, Library.POS_Y); - boolean posZ = Library.canConnect(world, x, y, z + 1, Library.NEG_Z); - boolean negZ = Library.canConnect(world, x, y, z - 1, Library.POS_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); } diff --git a/src/main/java/com/hbm/blocks/network/CableDiode.java b/src/main/java/com/hbm/blocks/network/CableDiode.java index da65eb314..6771ccf2d 100644 --- a/src/main/java/com/hbm/blocks/network/CableDiode.java +++ b/src/main/java/com/hbm/blocks/network/CableDiode.java @@ -12,6 +12,7 @@ import com.hbm.util.I18nUtil; import api.hbm.block.IToolable; import api.hbm.energy.IEnergyUser; import api.hbm.energy.IEnergyConnector.ConnectionPriority; +import api.hbm.energy.IEnergyConnectorBlock; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -32,7 +33,7 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; -public class CableDiode extends BlockContainer implements ILookOverlay, IToolable, ITooltipProvider { +public class CableDiode extends BlockContainer implements IEnergyConnectorBlock, ILookOverlay, IToolable, ITooltipProvider { public CableDiode(Material mat) { super(mat); @@ -66,6 +67,11 @@ public class CableDiode extends BlockContainer implements ILookOverlay, IToolabl world.setBlockMetadataWithNotify(x, y, z, l, 2); } + @Override + public boolean canConnect(IBlockAccess world, int x, int y, int z, ForgeDirection dir) { + 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) { @@ -179,6 +185,11 @@ public class CableDiode extends BlockContainer implements ILookOverlay, IToolabl } } } + + @Override + public boolean canConnect(ForgeDirection dir) { + return dir != getDir(); + } private boolean recursionBrake = false; private long subBuffer; diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index 7f686ff4c..b404040a2 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -177,7 +177,7 @@ public class HazardRegistry { HazardSystem.register(lamp_demon, makeData(RADIATION, 100_000F)); HazardSystem.register(cell_tritium, makeData(RADIATION, 0.001F)); - HazardSystem.register(cell_sas3, makeData().addEntry(RADIATION, sas3).addEntry(BLINDING, 10F)); + HazardSystem.register(cell_sas3, makeData().addEntry(RADIATION, sas3).addEntry(BLINDING, 60F)); HazardSystem.register(cell_balefire, makeData(RADIATION, 50F)); HazardSystem.register(powder_balefire, makeData(RADIATION, 500F)); HazardSystem.register(egg_balefire_shard, makeData(RADIATION, bf * nugget)); 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 5704599fa..1043fb572 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java @@ -222,7 +222,10 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I //if it's just a consumer, buffer it as a subscriber } else if(te instanceof IEnergyConnector) { - consumers.add((IEnergyConnector) te); + IEnergyConnector con = (IEnergyConnector) te; + if(con.canConnect(dir.getOpposite())) { + consumers.add((IEnergyConnector) te); + } } } From f9b6425400a967367276ed14f9c22a142d4ada7b Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 6 Apr 2023 21:33:47 +0200 Subject: [PATCH 015/285] and all that --- gradle.properties | 2 +- .../com/hbm/items/machine/ItemWatzPellet.java | 6 +- src/main/java/com/hbm/lib/RefStrings.java | 2 +- src/main/resources/assets/hbm/lang/de_DE.lang | 44 +- src/main/resources/assets/hbm/lang/en_US.lang | 44 +- src/main/resources/assets/hbm/lang/zh_CN.lang | 469 +++++++++++++++--- 6 files changed, 467 insertions(+), 100 deletions(-) diff --git a/gradle.properties b/gradle.properties index 993e781e8..dac4ec9ee 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4551 +mod_build_number=4561 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting),\ diff --git a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java index 9eb418a54..8a8df788e 100644 --- a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java +++ b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java @@ -37,14 +37,16 @@ public class ItemWatzPellet extends ItemEnumMulti { SCHRABIDIUM( 0x32FFFF, 0x005C5C, 2_000, 10D, new FunctionLogarithmic(10), null, null), HES( 0x66DCD6, 0x023933, 1_500, 10D, null, null, null), - LES( 0xABB4A8, 0x0C1105, 500, 10D, null, null, null), MES( 0xCBEADF, 0x28473C, 1_000, 10D, null, null, null), + LES( 0xABB4A8, 0x0C1105, 500, 10D, null, null, null), HEN( 0xA6B2A6, 0x030F03, 0, 10D, null, null, null), MEU( 0xC1C7BD, 0x2B3227, 0, 10D, null, null, null), MEP( 0x9AA3A0, 0x111A17, 0, 10D, null, null, null), LEAD( 0xA6A6B2, 0x03030F, 0, 0, null, null, new FunctionSqrt(10)), //standard absorber, negative coefficient BORON( 0xBDC8D2, 0x29343E, 0, 0, null, null, new FunctionLinear(10)), //improved absorber, linear - DU( 0xC1C7BD, 0x2B3227, 0, 0, null, null, new FunctionQuadratic(1D, 1D).withDiv(100)); //absorber with positive coefficient + DU( 0xC1C7BD, 0x2B3227, 0, 0, null, null, new FunctionQuadratic(1D, 1D).withDiv(100)), //absorber with positive coefficient + NQD( 0x4B4B4B, 0x121212, 0, 0, null, null, null), + NQR( 0x2D2D2D, 0x0B0B0B, 0, 0, null, null, null); public double yield = 1_000_000_000; public int colorLight; diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 07fe66f57..d1b333cf9 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 (4551)"; + public static final String VERSION = "1.0.27 BETA (4561)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index fb18572e7..e4200079a 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -3226,26 +3226,30 @@ item.waste_u235.name=Erschöpfter Uran-235-Kernbrennstoff item.waste_u233.name=Erschöpfter Uran-233-Kernbrennstoff item.waste_uranium.name=Erschöpfter Urankernbrennstoff item.watch.name=Zerbrochene Taschenuhr -item.watz_pellet.boron=Bor-Absorberpellet -item.watz_pellet.du=Abgereichertes Uran-Absorberpellet -item.watz_pellet.hes=HES-Watzpellet -item.watz_pellet.lead=Blei-Absorberpellet -item.watz_pellet.les=LES-Watzpellet -item.watz_pellet.mes=MES-Watzpellet -item.watz_pellet.mep=MEP-Watzpellet -item.watz_pellet.meu=MEU-Watzpellet -item.watz_pellet.hen=HEN-Watzpellet -item.watz_pellet.schrabidium=Schrabidium-Watzpellet -item.watz_pellet_depleted.boron=Bor-Absorberpellet (Erschöpft) -item.watz_pellet_depleted.du=Abgereichertes Uran-Absorberpellet (Erschöpft) -item.watz_pellet_depleted.hes=HES-Watzpellet (Erschöpft) -item.watz_pellet_depleted.lead=Blei-Absorberpellet (Erschöpft) -item.watz_pellet_depleted.les=LES-Watzpellet (Erschöpft) -item.watz_pellet_depleted.mes=MES-Watzpellet (Erschöpft) -item.watz_pellet_depleted.mep=MEP-Watzpellet (Erschöpft) -item.watz_pellet_depleted.meu=MEU-Watzpellet (Erschöpft) -item.watz_pellet_depleted.hen=HEN-Watzpellet (Erschöpft) -item.watz_pellet_depleted.schrabidium=Schrabidium-Watzpellet (Erschöpft) +item.watz_pellet.boron.name=Bor-Absorberpellet +item.watz_pellet.du.name=Abgereichertes Uran-Absorberpellet +item.watz_pellet.hes.name=HES-Watzpellet +item.watz_pellet.lead.name=Blei-Absorberpellet +item.watz_pellet.les.name=LES-Watzpellet +item.watz_pellet.mes.name=MES-Watzpellet +item.watz_pellet.mep.name=MEP-Watzpellet +item.watz_pellet.meu.name=MEU-Watzpellet +item.watz_pellet.nqd.name=Angereichertes Naquadah-Watzpellet +item.watz_pellet.nqr.name=Naquadria-Watzpellet +item.watz_pellet.hen.name=HEN-Watzpellet +item.watz_pellet.schrabidium.name=Schrabidium-Watzpellet +item.watz_pellet_depleted.boron.name=Bor-Absorberpellet (Erschöpft) +item.watz_pellet_depleted.du.name=Abgereichertes Uran-Absorberpellet (Erschöpft) +item.watz_pellet_depleted.hes.name=HES-Watzpellet (Erschöpft) +item.watz_pellet_depleted.lead.name=Blei-Absorberpellet (Erschöpft) +item.watz_pellet_depleted.les.name=LES-Watzpellet (Erschöpft) +item.watz_pellet_depleted.mes.name=MES-Watzpellet (Erschöpft) +item.watz_pellet_depleted.mep.name=MEP-Watzpellet (Erschöpft) +item.watz_pellet_depleted.meu.name=MEU-Watzpellet (Erschöpft) +item.watz_pellet_depleted.nqd.name=Angereichertes Naquadah-Watzpellet (Erschöpft) +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.weapon_bat.name=Richards Standard item.weapon_bat_nail.name=Das Klischee item.weapon_golf_club.name=Schläger des russischen Mafiosos diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index d163eeec3..cc4d7511b 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4018,26 +4018,30 @@ 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.watz_pellet.boron=Boron Absorber Pellet -item.watz_pellet.du=Depleted Uranium Absorber Pellet -item.watz_pellet.hes=HES Watz Pellet -item.watz_pellet.lead=Lead Absorber Pellet -item.watz_pellet.les=LES Watz Pellet -item.watz_pellet.mes=MES Watz Pellet -item.watz_pellet.mep=MEP Watz Pellet -item.watz_pellet.meu=MEU Watz Pellet -item.watz_pellet.hen=HEN Watz Pellet -item.watz_pellet.schrabidium=Schrabidium Watz Pellet -item.watz_pellet_depleted.boron=Boron Absorber Pellet (Depleted) -item.watz_pellet_depleted.du=Depleted Uranium Absorber Pellet (Depleted) -item.watz_pellet_depleted.hes=HES Watz Pellet (Depleted) -item.watz_pellet_depleted.lead=Lead Absorber Pellet (Depleted) -item.watz_pellet_depleted.les=LES Watz Pellet (Depleted) -item.watz_pellet_depleted.mes=MES Watz Pellet (Depleted) -item.watz_pellet_depleted.mep=MEP Watz Pellet (Depleted) -item.watz_pellet_depleted.meu=MEU Watz Pellet (Depleted) -item.watz_pellet_depleted.hen=HEN Watz Pellet (Depleted) -item.watz_pellet_depleted.schrabidium=Schrabidium Watz Pellet (Depleted) +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 +item.watz_pellet.lead.name=Lead Absorber Pellet +item.watz_pellet.les.name=LES Watz Pellet +item.watz_pellet.mes.name=MES Watz Pellet +item.watz_pellet.mep.name=MEP Watz Pellet +item.watz_pellet.meu.name=MEU Watz Pellet +item.watz_pellet.nqd.name=Enriched Naquadah Watz Pellet +item.watz_pellet.nqr.name=Naquadria Watz Pellet +item.watz_pellet.hen.name=HEN Watz Pellet +item.watz_pellet.schrabidium.name=Schrabidium Watz Pellet +item.watz_pellet_depleted.boron.name=Boron Absorber Pellet (Depleted) +item.watz_pellet_depleted.du.name=Depleted Uranium Absorber Pellet (Depleted) +item.watz_pellet_depleted.hes.name=HES Watz Pellet (Depleted) +item.watz_pellet_depleted.lead.name=Lead Absorber Pellet (Depleted) +item.watz_pellet_depleted.les.name=LES Watz Pellet (Depleted) +item.watz_pellet_depleted.mes.name=MES Watz Pellet (Depleted) +item.watz_pellet_depleted.mep.name=MEP Watz Pellet (Depleted) +item.watz_pellet_depleted.meu.name=MEU Watz Pellet (Depleted) +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.weapon_bat.name=Richard's Default item.weapon_bat_nail.name=The Cliché item.weapon_golf_club.name=Russian Mobster's Club diff --git a/src/main/resources/assets/hbm/lang/zh_CN.lang b/src/main/resources/assets/hbm/lang/zh_CN.lang index c182cfeef..f9c97e3d1 100644 --- a/src/main/resources/assets/hbm/lang/zh_CN.lang +++ b/src/main/resources/assets/hbm/lang/zh_CN.lang @@ -51,7 +51,7 @@ achievement.fiend2.desc=更卑鄙 achievement.fiend2=残忍2:更残忍 achievement.fiend=残忍 achievement.freytag.desc=英勇的救生员 -achievement.freytag=Freytag +achievement.freytag=弗雷塔格 achievement.fusion.desc=氘核、海卫一与能量的舞蹈。 achievement.fusion=聚合 achievement.gasCent.desc=贫铀讨厌他! @@ -66,6 +66,8 @@ 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=你走了这么远,怎么能把事情搞砸? @@ -144,7 +146,7 @@ armor.rocketBoots=火箭靴 armor.sprintBoost=冲刺辅助加速 armor.thermal=热成像 armor.threshold=伤害阈值 %s -armor.vats=这是一个测试,以证明这些书的e[B]ic换行功能。 字体比例是可自定义的,换行符也会相应调整,这使得编写新页面非常容易。 +armor.vats=敌对生物HUD armor.yield=抵御低于%s的伤害 armorMod.all=所有 armorMod.applicableTo=适用于: @@ -163,7 +165,7 @@ armorMod.type.servo=伺服电机 armorMod.type.special=特殊 battery.mode.buffer=输入/输出模式 battery.mode.input=输入模式 -battery.mode.off=OffW +battery.mode.off=关闭W battery.mode.output=输出模式 battery.priority.high=充电优先级:高 battery.priority.high.desc=总是需要优先装满的紧急缓冲区 @@ -340,56 +342,56 @@ book_lore.book_syringe.page.1=a little addendum to my fifth message, obviously y book_lore.book_syringe.page.2=syringe goes into slot %d book_lore.resignation_note.name=辞职信 book_lore.resignation_note.author=科斯马 -book_lore.resignation_note.page.1=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.2=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.3=I'm not coming back on Friday. Just send the paycheck. +book_lore.resignation_note.page.1=管理层昨天又对我们的部门进行裁员了。那群白痴要怪只能怪他们自己,我都不知道他们在那场惨败后还在期待什么。到底是谁他妈泄露了那种程度的信息? +book_lore.resignation_note.page.2=我们损失了几百万,而且现在失业的还是爷。老子希望你们这帮混蛋最后能从你们的一堆问题中学到点教训然后给爷滚去自闭。 +book_lore.resignation_note.page.3=我周五不回来了。工资寄过来就行。 book_lore.memo_stocks.name=公司内部备忘录 -book_lore.memo_stocks.page.1=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_stocks.page.1=投资者报告 - $$最新的季度报告中提供的数据存在一些明显的差异。财政部所作出一些调整是明智的,因此不必有任何担忧。 book_lore.memo_schrab_gsa.name=内部备忘录 -book_lore.memo_schrab_gsa.page.1=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.2=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_gsa.page.1=合同管理记录 - 法务部在与美国国防部后勤局的谈判中取得了突破。他们批准了450亿的联邦采购服务总署投资资金用于异变金属的采购与研究。 +book_lore.memo_schrab_gsa.page.2=就目前预期来看,这将至少产生40%的利润,更不必说以后行动所产生的利润,同时这将使我们未来有机会签订更多合同。鉴于此事的保密性质,所有财政证据都将为机密级别 book_lore.memo_schrab_rd.name=内部备忘录 -book_lore.memo_schrab_rd.page.1=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.2=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.3=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.4=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_rd.page.1=研发 - 目前我们主要生产方法是使用新型粒子加速器。然而,与产出量相比,能源成本高得惊人。 +book_lore.memo_schrab_rd.page.2=然而,Schrabauer博士发现了一种全新的相互作用——暂称为“奇异轻子振荡”——该作用可以显著降低生产成本。通过一个目前未被完全理解的的过程,提供的电子被一种奇特的“魔力”转化为极高能量的光子。 +book_lore.memo_schrab_rd.page.3=这是许多已明确的粒子转换定律的极端例外。但初步实验证明,这些质子先转变为上下夸克,最终形成了异变金属。奇怪的是,原型机中需要钨与少量异变金属合金化所得到的合金。 +book_lore.memo_schrab_rd.page.4=除此之外,还需要一个特殊的电容器用来抵消掉多余的正电荷。 book_lore.memo_schrab_nuke.name=研究报告 -book_lore.memo_schrab_nuke.author=Doctor Schrabauer -book_lore.memo_schrab_nuke.page.1=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.2=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.3=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.insanity_1.name=Torn Page -book_lore.insanity_1.author=D Ferguson +book_lore.memo_schrab_nuke.author=Schrabauer博士 +book_lore.memo_schrab_nuke.page.1=最近的调查使我们了解了核爆炸对材料造成的影响。多亏外界给我们的赠款,我们*意外地*测试了铀直接合成异变金属的理论。 +book_lore.memo_schrab_nuke.page.2=而此前我们只在回旋加速器中制作出异变金属。但这次,我们在对Everwerpen的地下拍摄中,在该地点的铀矿石中发现了微量的异变金属。其附近所有的纯金属铀则都发生了裂变。 +book_lore.memo_schrab_nuke.page.3=因此,如果有足够多的铀矿石集中在核弹周围,甚至可能只需要一个富含裂变物质废料的脏弹,就有可能制造出质量大到可以被直接收集的异变金属。 +book_lore.insanity_1.name=残缺的纸张 +book_lore.insanity_1.author=D·弗格森 book_lore.insanity_1.page.1=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.2=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.3=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.insanity_2.name=Torn Page -book_lore.insanity_2.author=D Ferguson +book_lore.insanity_2.name=残缺的纸张 +book_lore.insanity_2.author=D·弗格森 book_lore.insanity_2.page.1=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.2=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.3=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.insanity_3.name=Torn Page -book_lore.insanity_3.author=D Ferguson +book_lore.insanity_3.name=残缺的纸张 +book_lore.insanity_3.author=D·弗格森 book_lore.insanity_3.page.1=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.2=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.3=I'm not sure how administration can keep this calm, but i don't get paid enough to waste thoughts on that. -book_lore.insanity_4.name=Torn Page -book_lore.insanity_4.author=D Ferguson +book_lore.insanity_4.name=残缺的纸张 +book_lore.insanity_4.author=D·弗格森 book_lore.insanity_4.page.1=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.2=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.3=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.insanity_5.name=Torn Page -book_lore.insanity_5.author=D Ferguson +book_lore.insanity_5.name=残缺的纸张 +book_lore.insanity_5.author=D·弗格森 book_lore.insanity_5.page.1=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.2=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.3=Something is telling me that The Thing is still out there somewhere. I can feel it. -book_lore.insanity_6.name=Torn Page -book_lore.insanity_6.author=D Ferguson +book_lore.insanity_6.name=残缺的纸张 +book_lore.insanity_6.author=D·弗格森 book_lore.insanity_6.page.1=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.2=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.3=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.insanity_7.name=Torn Page -book_lore.insanity_7.author=D Ferguson +book_lore.insanity_7.name=残缺的纸张 +book_lore.insanity_7.author=D·弗格森 book_lore.insanity_7.page.1=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.2=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.3=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. @@ -432,7 +434,7 @@ cannery.foundryChannel.3=当无法供应出口或模具时,材料将流入相 cannery.foundryChannel.4=剩余材料可以用铲子清除。 cannery.silex=FEL & SILEX cannery.silex.0=自由电子激光器(FEL)利用能量和激光晶体产生强大的激光束。 -cannery.silex.1=小心,因为激光会燃烧/熔化较弱的方块。。。 +cannery.silex.1=小心,因为激光会烧毁或熔化较脆弱的方块… cannery.silex.2=…但不是防爆的。 cannery.silex.3=FEL用于为激光同位素分离室(SILEX)提供能量。FEL和SILEX必须至少相隔两个方块。 cannery.silex.4=激光必须通过SILEX的玻璃开口进入。在错误的方向上入射可能会摧毁它。 @@ -500,6 +502,7 @@ chem.LPG=石油天然气液化 chem.LUBRICANT=润滑剂混合 chem.METH=甲基苯丙胺合成 chem.NITAN=NITAN牌超级燃料混合 +chem.NITRIC_ACID=硝酸生产 chem.OIL_SAND=沥青砂提取 chem.OSMIRIDIUM_DEATH=锇酸溶液生产 chem.PEROXIDE=过氧化氢生产 @@ -527,6 +530,7 @@ chem.SF_PETROLEUM=石油气固化 chem.SF_RECLAIMED=再生油固化 chem.SF_SMEAR=工业油固化 chem.SOLID_FUEL=固体火箭燃料生产 +chem.SOLVENT=有机溶剂混合 chem.STEAM=烧水 chem.SULFURIC_ACID=硫酸生产 chem.TEL=四乙基铅混合 @@ -670,6 +674,7 @@ container.soyuzLauncher=联盟号发射平台 container.storageDrum=核废料处理桶 container.teleLinker=炮塔ID管理 container.teleporter=传送机 +container.turbinegas=联合循环燃气轮机 container.turretArty=重炮炮塔“格雷格” container.turretChekhov=重机枪炮塔“契诃夫的枪” container.turretFriendly=轻机枪炮塔“友好先生” @@ -679,6 +684,7 @@ container.turretHoward=双联守门员近防系统“霍华德” container.turretJeremy=重炮炮塔“杰里米” container.turretMaxwell=高能微波炮塔”麦克斯韦” container.turretRichard= 火箭炮塔“理查德” +container.turretSentry=哨兵炮塔“布朗” container.turretTauon=陶子发射器炮塔“陶恩” container.uf6_tank=六氟化铀储罐 container.wasteDrum=乏燃料池 @@ -751,12 +757,6 @@ death.attack.taint=%1$s 死于恶性肿瘤 death.attack.tau=%1$s 被 %2$s 用带负电荷的陶子射穿 death.attack.tauBlast=%1$s 对XVL1456充能时间过长,被炸成碎片 death.attack.teleporter=%1$s 被传送到虚空 -desc.item.pileRod=§e使用钻孔石墨插入$§E使用螺丝刀拔出$ -desc.item.rtgDecay=衰变为:%s -desc.item.rtgHeat=功率级别:%s -desc.item.wasteCooling=在乏燃料池中冷却 -desc.item.zirnoxBreedingRod=§2[ZIRNOX增殖棒]$§e放在燃料棒旁边增殖$§e持续 %d 刻 -desc.item.zirnoxRod=§a[ZIRNOX燃料棒]$§e每刻产生 %1$d 热量$§e持续 %2$d 刻 desc.gui.assembler.warning=§c错误:§r此机器需要装配机模板! desc.gui.chemplant.warning=§c错误:§r此机器需要化工厂模板! desc.gui.gasCent.enrichment=§2浓缩§r$浓缩铀需要串联$两个离心机串联将离心出$铀燃料,四个离心机串联$将完全分离出铀235。 @@ -773,6 +773,9 @@ 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级 @@ -783,6 +786,136 @@ 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_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.penetration=装甲穿透值: %s +desc.item.kitArmor=装甲将被新的装备取代。 +desc.item.kitHaz=装甲将被防护服取代。 +desc.item.kitPack=真便宜! +desc.item.kitPool=请在打开前清空背包库存! +desc.item.pileRod=§e使用钻孔石墨插入$§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-迪伽马防护水平: @@ -822,6 +955,127 @@ 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.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 Co. +gun.make.MAXIM=海勒姆·马克沁 +gun.make.METRO=地铁枪手 +gun.make.MWT=MWT原型实验室 +gun.make.NAZI=埃尔福特机械制造厂 +gun.make.NONE=- +gun.make.RAYTHEON=导弹系统公司 +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.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 蹄铁 Silver Storm +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 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=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.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 "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=温彻斯特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=分析室关闭 @@ -881,6 +1135,8 @@ hbmfluid.balefire=野火火箭燃料 hbmfluid.biofuel=生物燃料 hbmfluid.biogas=沼气 hbmfluid.bitumen=沥青 +hbmfluid.blood=血 +hbmfluid.blood_hot=热的血 hbmfluid.carbondioxide=二氧化碳 hbmfluid.coalcreosote=煤焦杂酚油 hbmfluid.coalgas=煤汽油 @@ -920,9 +1176,11 @@ hbmfluid.mug_hot=热的Mug牌树根饮料 hbmfluid.naphtha=石脑油 hbmfluid.naphtha_crack=裂化石脑油 hbmfluid.nitan=NITAN牌100号超级燃料 +hbmfluid.nitric_acid=硝酸 hbmfluid.none=无 hbmfluid.oil=原油 hbmfluid.oxygen=液氧 +hbmfluid.oxyhydrogen=氢氧混合气 hbmfluid.pain=Pn(III) 钽铁溶液 hbmfluid.petroil=汽油 hbmfluid.petroil_leaded=含铅石油 @@ -940,10 +1198,12 @@ hbmfluid.sas3=三硫化Sa hbmfluid.schrabidic=Sa酸 hbmfluid.seedslurry=播种浆料 hbmfluid.smear=工业油 +hbmfluid.solvent=有机溶剂 hbmfluid.spentsteam=低压蒸汽 hbmfluid.steam=蒸汽 hbmfluid.sulfuric_acid=硫酸 hbmfluid.superhotsteam=超热蒸汽 +hbmfluid.syngas=合成气 hbmfluid.tritium=氚 hbmfluid.uf6=六氟化铀 hbmfluid.ultrahotsteam=超浓密蒸汽 @@ -1091,6 +1351,7 @@ 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号鹿弹 @@ -1117,6 +1378,9 @@ 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 火箭弹[榴霰弹] @@ -1171,6 +1435,12 @@ 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子弹[叶绿] @@ -1215,6 +1485,9 @@ item.ammo_grenade_toxic.name=40mm榴弹[化学] item.ammo_grenade_tracer.name=40mm训练榴弹 item.ammo_himars_standard.name=M28制导炮兵火箭弹舱 item.ammo_himars_single.name=M39A1制导炮兵火箭弹舱 +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 (低当量) @@ -1294,7 +1567,9 @@ 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子弹[待装配] @@ -1302,6 +1577,7 @@ 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=迷你核弹外壳 @@ -1312,7 +1588,7 @@ item.assembly_steel.name=铅子弹[待装配] item.assembly_template.name=装配机模板: item.assembly_uzi.name=.22 LR子弹[待装配] item.attachment_mask.name=附加型防毒面具 -item.attachment_mask_mono.name=可接入式防一氧化碳面罩 +item.attachment_mask_mono.name=可接入式半面罩防毒面具 item.australium_iii.name=MkIII寿命延长剂 item.australium_iv.name=MkIV寿命延长剂 item.australium_v.name=MkV寿命延长剂 @@ -1323,6 +1599,7 @@ item.balefire_scrambled.name=炒野火蛋 item.ball_dynamite.name=硝糖炸药 item.ball_fireclay.name=耐火粘土 item.ball_tnt.name=TNT炸药 +item.ballistic_gauntlet.name=防弹护具 item.ballistite.name=混合无烟火药 item.bandaid.name=邦迪创可贴 item.bathwater.name=有毒肥皂水 @@ -1443,12 +1720,7 @@ item.blade_meteorite.name=陨石刀 item.blade_titanium.name=钛扇片 item.blade_tungsten.name=钨强化扇片 item.blades_advanced_alloy.name=高级合金刀片 -item.blades_aluminium.name=铝制刀片 -item.blades_combine_steel.name=CMB钢刀片 item.blades_desh.name=Desh制刀片 -item.blades_gold.name=金制刀片 -item.blades_iron.name=铁制刀片 -item.blades_schrabidium.name=Sa326刀片 item.blades_steel.name=钢制刀片 item.blades_titanium.name=钛制刀片 item.blowtorch.name=喷灯 @@ -1530,36 +1802,62 @@ 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_diesel.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_aluminium.name=铝盖 item.cap_fritz.name=弗里茨瓶盖 item.cap_korl.name=Korl瓶盖 item.cap_nuka.name=核子可乐瓶盖 @@ -1603,6 +1901,23 @@ 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=化工厂模板: @@ -1752,6 +2067,22 @@ item.component_limiter.name=稳定器组件 item.cordite.name=无烟线状火药 item.cotton_candy.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=坩埚模板 @@ -1850,10 +2181,14 @@ item.door_office.name=办公室门 item.dosimeter.name=剂量计 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.drax.name=采掘钻 item.drax_mk2.name=强化型采掘钻 @@ -1981,7 +2316,7 @@ 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_mono.name=半面罩防毒面具 item.gas_mask_olde.name=皮革防毒面具 item.gas_petroleum.name=石油气罐 item.gas_tester.name=气体传感器 @@ -2096,6 +2431,7 @@ 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_m2.name=Ma Deuce item.gun_minigun.name=CZ53机枪 item.gun_mirv.name=M42核弹发射器 "试验型MIRV" item.gun_mirv_ammo.name=八倍MIRV @@ -2103,8 +2439,8 @@ item.gun_moist_nugget.name=莫辛纳甘[迫真] item.gun_mp.name=和平主义的机枪 item.gun_mp40.name=MP40冲锋枪 item.gun_mp40_ammo.name=冲锋枪子弹 -item.gun_mp_ammo.name=小型无发射药机枪子弹 -item.gun_mymy.name=Nietes +item.gun_pm_ammo.name=小型无发射药机枪子弹 +item.gun_mymy.name=Nietes软弹枪 item.gun_osipr.name=标准型脉冲机枪 item.gun_osipr_ammo.name=暗能量脉冲弹 item.gun_osipr_ammo2.name=融合球 @@ -2114,7 +2450,7 @@ item.gun_quadro.name=四喜丸子 item.gun_revolver.name=强化左轮手枪 item.gun_revolver_ammo.name=铅左轮子弹 item.gun_revolver_blackjack.name=黑杰克五发装左轮枪 -item.gun_revolver_cursed.name=诅咒左轮手枪 +item.gun_revolver_cursed.name=诅咒手枪 item.gun_revolver_cursed_ammo.name=钢左轮子弹 item.gun_revolver_gold.name=黄金左轮手枪 item.gun_revolver_gold_ammo.name=金左轮子弹 @@ -2230,6 +2566,7 @@ item.ingot_beryllium.name=铍锭 item.ingot_bismuth.name=铋锭 item.ingot_boron.name=硼锭 item.ingot_c4.name=一块C-4 +item.ingot_calcium.name=钙锭 item.ingot_chainsteel.name=重链钢 item.ingot_co60.name=钴-60锭 item.ingot_cobalt.name=钴锭 @@ -2557,6 +2894,7 @@ 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号弹体[固体燃料] @@ -2602,6 +2940,7 @@ 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=亚利桑那芒果味饮料 @@ -2722,9 +3061,22 @@ item.ore.niobium=铌 item.ore.titanium=钛 item.ore.tungsten=钨 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_silicon.name=硅晶体碎片 +item.ore_byproduct.b_sulfur.name=硫晶体碎片 +item.ore_byproduct.b_titanium.name=钛晶体碎片 item.ore_centrifuged.name=离心%s矿 item.ore_cleaned.name=清洁%s矿 +item.ore_deepcleaned.name=深清洁%s矿 item.ore_enriched.name=富集%s矿 +item.ore_nitrated.name=硝化%s矿 +item.ore_nitrocrystalline.name=亚硝基结晶%s矿 item.ore_purified.name=净化%s矿 item.ore_separated.name=分离%s矿 item.overfuse.name=奇异螺丝刀 @@ -2899,11 +3251,13 @@ 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_caesium.name=铯粉 +item.powder_calcium.name=钙粉 item.powder_cerium.name=铈粉 item.powder_cerium_tiny.name=小撮铈粉 item.powder_chlorophyte.name=叶绿粉 @@ -3352,6 +3706,7 @@ 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抗癌药物 @@ -3391,10 +3746,6 @@ item.stamp_obsidian_circuit.name=黑曜石电路版锻模 item.stamp_obsidian_flat.name=黑曜石锻模 item.stamp_obsidian_plate.name=黑曜石板锻模 item.stamp_obsidian_wire.name=黑曜石电线锻模 -item.stamp_schrabidium_circuit.name=Sa326电路版锻模 -item.stamp_schrabidium_flat.name=Sa326锻模 -item.stamp_schrabidium_plate.name=Sa326板锻模 -item.stamp_schrabidium_wire.name=Sa326电线锻模 item.stamp_steel_circuit.name=钢质电路版锻模 item.stamp_steel_flat.name=钢质锻模 item.stamp_steel_plate.name=钢质板锻模 @@ -3699,7 +4050,7 @@ tile.ams_limiter.name=AMS稳能器 [开发中] tile.ancient_scrap.name=古代废金属 tile.anvil_bismuth.name=铋砧 tile.anvil_dnt.name=双聚中子态素砧 -tile.anvil_ferrouranium.name=铀-铁合金砧 +tile.anvil_ferrouranium.name=铀铁合金砧 tile.anvil_iron.name=铁砧 tile.anvil_lead.name=铅砧 tile.anvil_meteorite.name=陨石砧 @@ -4061,6 +4412,7 @@ 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.fluid_duct.name=通用流体管道 @@ -4145,7 +4497,7 @@ 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=粒子加速器镀层(YelloDye) +tile.hadron_plating_yellow.name=粒子加速器镀层(Yello染料) tile.hadron_power.name=粒子加速器电源接口 tile.hadron_power_10m.name=粒子加速器电源接口(10MHE) tile.hadron_power_100m.name=粒子加速器电源接口(100MHE) @@ -4191,6 +4543,7 @@ tile.machine_armor_table.name=装甲改装台 tile.machine_assembler.name=装配机 tile.machine_assemfac.name=装配厂 tile.machine_autocrafter.name=自动工作台 +tile.machine_autosaw.name=自动嗡嗡锯 tile.machine_bat9000.name=巨尻-9000 储罐 tile.machine_battery.name=蓄电池 tile.machine_battery_potato.name=马铃薯电池组 @@ -4241,6 +4594,7 @@ tile.machine_fracking_tower.name=水力压裂塔 tile.machine_gascent.name=气体离心机 tile.machine_generator.name=核反应堆[旧] tile.machine_geo.name=地热发电机 +tile.machine_hephaestus.name=地热换热器 tile.machine_industrial_generator.name=工业发电机 tile.machine_keyforge.name=锁匠桌 tile.machine_large_turbine.name=工业汽轮机 @@ -4307,6 +4661,7 @@ 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_waste_drum.name=乏燃料池 @@ -4416,6 +4771,7 @@ 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.pink_barrel.name=煤油桶 tile.pink_log.name=粉色原木 @@ -4592,6 +4948,7 @@ tile.turret_maxwell.name=高能微波炮塔 "麦克斯韦" tile.turret_rocket.name=火箭炮塔 tile.turret_richard.name=火箭炮塔“理查德” tile.turret_spitfire.name=目前没有名字[开发中] +tile.turret_sentry.name=哨兵炮塔“布朗” tile.turret_tau.name=陶子炮塔 tile.turret_tauon.name=XVL1456原型陶子发射器炮塔"陶恩" tile.vacuum.name=真空 From 07953939c81f8c3a1db3073c739771f013c7eeb5 Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Thu, 6 Apr 2023 23:18:30 +0300 Subject: [PATCH 016/285] Updated ru_RU.lang updated russian localization --- src/main/resources/assets/hbm/lang/ru_RU.lang | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index e6c3ce951..0fbd1bd49 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -1996,6 +1996,9 @@ tile.conveyor_chute.name=Конвейерный желоб tile.conveyor_double.name=Двухполосная конвейер tile.conveyor_lift.name=Конвейерный цепной лифт tile.conveyor_triple.name=Трёхполосный конвейер +container.craneGrabber=Конвейерный сборщик +tile.crane_grabber.name=Конвейерный сборщик +tile.crane_splitter.name=Конвейерный разделитель container.turretArty=Грег tile.turret_arty.name=Артиллерийская турель "Грег" container.heaterFirebox=Топка @@ -5077,6 +5080,31 @@ item.pellet_neptunium.name=Нептуниевая Ватцз-пеллета item.pellet_lead.name=Свинцовая пеллета item.pellet_advanced.name=Улучшитель производительности Ватцз +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=Ватцз-пеллета из обогащенного наквадаха +item.watz_pellet.nqr.name=Ватцз-пеллета из наквадрии +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=Ватцз-пеллета из обогащенного наквадаха (Обедненная) +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=Каталитический конвертер From f224923a827987dc0a5af571178993b7f1263bcc Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Fri, 7 Apr 2023 18:33:48 +0300 Subject: [PATCH 017/285] part emitt --- src/main/java/com/hbm/blocks/ModBlocks.java | 3 +++ src/main/java/com/hbm/tileentity/TileMappings.java | 2 ++ src/main/resources/assets/hbm/lang/en_US.lang | 1 + src/main/resources/assets/hbm/lang/ru_RU.lang | 1 + 4 files changed, 7 insertions(+) diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 47ddd31a8..92621e456 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -293,6 +293,7 @@ public class ModBlocks { public static Block deco_rbmk_smooth; public static Block deco_emitter; + public static Block part_emitter; public static Block deco_loot; public static Block bobblehead; public static Block snowglobe; @@ -1465,6 +1466,7 @@ public class ModBlocks { deco_rbmk_smooth = new BlockGeneric(Material.iron).setBlockName("deco_rbmk_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.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"); 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"); @@ -2589,6 +2591,7 @@ public class ModBlocks { 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(bobblehead, ItemBlockMeta.class, bobblehead.getUnlocalizedName()); GameRegistry.registerBlock(snowglobe, ItemBlockMeta.class, snowglobe.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index b6c1cbe30..4c8efdc0f 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -11,6 +11,7 @@ import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.blocks.generic.BlockMotherOfAllOres.TileEntityRandomOre; import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; +import com.hbm.blocks.generic.PartEmitter.TileEntityPartEmitter; import com.hbm.blocks.machine.MachineFan.TileEntityFan; import com.hbm.blocks.machine.WatzPump.TileEntityWatzPump; import com.hbm.blocks.network.BlockCablePaintable.TileEntityCablePaintable; @@ -78,6 +79,7 @@ public class TileMappings { put(TileEntityMachineTeleporter.class, "tileentity_teleblock"); put(TileEntityHatch.class, "tileentity_seal_lid"); put(TileEntityMachineIGenerator.class, "tileentity_igenerator"); + put(TileEntityPartEmitter.class, "tileentity_partemitter"); put(TileEntityDummy.class, "tileentity_dummy"); put(TileEntityMachineCyclotron.class, "tileentity_cyclotron"); put(TileEntityOilDuct.class, "tileentity_oil_duct"); diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index cc4d7511b..c0dc4d616 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4441,6 +4441,7 @@ tile.deco_asbestos.name=Asbestos Roof tile.deco_beryllium.name=Beryllium Deco Block tile.deco_computer.ibm_300pl.name=IBM Personal Computer 300PL tile.deco_emitter.name=Deco Light Emitter +tile.part_emitter.name=Deco Particle Emitter tile.deco_lead.name=Lead Deco Block tile.deco_rbmk.name=RBMK Deco Block tile.deco_rbmk_smooth.name=Smooth RBMK Deco Block diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index 0fbd1bd49..46a1df9df 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -2953,6 +2953,7 @@ tile.block_cap_sunset.name=Блок крышек от Сансет Сарсап tile.block_tritium.name=Блок тритиевых пробирок tile.hazmat.name=Блок защитной ткани tile.deco_emitter.name=Декоративный источник света +tile.part_emitter.name=Декоративный источник частиц tile.plant_flower.foxglove.name=Наперстянка tile.plant_flower.nightshade.name=Белладонна tile.plant_flower.tobacco.name=Табак From 9eee1921267dd6354bcb3024465840dc370852b8 Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Fri, 7 Apr 2023 18:45:24 +0300 Subject: [PATCH 018/285] oops --- .../com/hbm/blocks/generic/PartEmitter.java | 234 ++++++++++++++++++ .../assets/hbm/textures/blocks/part_top.png | Bin 0 -> 251 bytes 2 files changed, 234 insertions(+) create mode 100644 src/main/java/com/hbm/blocks/generic/PartEmitter.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/part_top.png diff --git a/src/main/java/com/hbm/blocks/generic/PartEmitter.java b/src/main/java/com/hbm/blocks/generic/PartEmitter.java new file mode 100644 index 000000000..cf6dc2728 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/PartEmitter.java @@ -0,0 +1,234 @@ +package com.hbm.blocks.generic; + +import java.awt.Color; +import java.util.List; + +import com.hbm.blocks.ITooltipProvider; +import com.hbm.main.MainRegistry; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.NBTPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.util.ParticleUtil; + +import api.hbm.block.IToolable; +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.block.BlockContainer; +import net.minecraft.block.BlockPistonBase; +import net.minecraft.block.material.Material; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemDye; +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.AxisAlignedBB; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class PartEmitter extends BlockContainer implements IToolable, ITooltipProvider { + + public PartEmitter() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityPartEmitter(); + } + + @Override + public boolean isOpaqueCube() { + 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 onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int i, float fx, float fy, float fz) { + + if(world.isRemote) + return true; + + TileEntityPartEmitter te = (TileEntityPartEmitter)world.getTileEntity(x, y, z); + 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) { + + TileEntityPartEmitter te = (TileEntityPartEmitter)world.getTileEntity(x, y, z); + if(tool == ToolType.HAND_DRILL) { + te.effect = (te.effect + 1) % te.effectCount; + te.markDirty(); + return true; + } + + return false; + } + + public static class TileEntityPartEmitter extends TileEntity implements INBTPacketReceiver { + + public static final int range = 100; + public int effect = 0; + public String type; + public float lift; + public int life; + public int color; + public float max; + public float base; + public double posX; + public double posY; + public double posZ; + public static final int effectCount = 5; + @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++) { + + + 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; + } + } + } + //NBTTagCompound data = new NBTTagCompound(); + + NBTTagCompound data = new NBTTagCompound(); + if(effect == 1) { + + data.setInteger("effect", this.effect); + 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.setInteger("effect", this.effect); + data.setString("type", "tower"); + data.setFloat("lift", 5F); + data.setFloat("base", 0.25F); + data.setFloat("max", 5F); + data.setInteger("life", 560 + worldObj.rand.nextInt(20)); + data.setInteger("color",0x404040); + + data.setDouble("posX", xCoord + 0.5); + data.setDouble("posZ", zCoord + 0.5); + data.setDouble("posY", yCoord); + MainRegistry.proxy.effectNT(data); + //PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5, yCoord + 1, zCoord + 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); + } + if(effect == 3) { + data.setInteger("effect",this.effect); + data.setString("type", "tower"); + data.setFloat("lift", 0.5F); + data.setFloat("base", 1F); + data.setFloat("max", 10F); + data.setInteger("life", 750 + worldObj.rand.nextInt(250)); + + data.setDouble("posX", xCoord + 0.5 + worldObj.rand.nextDouble() * 3 - 1.5); + data.setDouble("posZ", zCoord + 0.5 + worldObj.rand.nextDouble() * 3 - 1.5); + data.setDouble("posY", yCoord + 1); + + MainRegistry.proxy.effectNT(data); + + } + if(effect == 4) { + + + } + + data.setInteger("effect", this.effect); + PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(data, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); + } + } + + @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.effect = nbt.getInteger("effect"); + this.type = nbt.getString("type"); + this.color = nbt.getInteger("color"); + this.life = nbt.getInteger("life"); + this.max = nbt.getFloat("max"); + this.base = nbt.getFloat("base"); + this.posX = nbt.getDouble("posX"); + this.posY = nbt.getDouble("posY"); + this.posZ = nbt.getDouble("posZ"); + + + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setInteger("effect", this.effect); + nbt.setString("type", "tower"); + nbt.setFloat("lift", 1F); + nbt.setFloat("base", 0.25F); + nbt.setFloat("max", 3F); + nbt.setInteger("life", 150 + worldObj.rand.nextInt(20)); + nbt.setInteger("color",0x404040); + + nbt.setDouble("posX", xCoord + 0.5); + nbt.setDouble("posZ", zCoord + 0.5); + nbt.setDouble("posY", yCoord); + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return TileEntity.INFINITE_EXTENT_AABB; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public void networkUnpack(NBTTagCompound nbt) { + this.effect = nbt.getInteger("effect"); + } + } + + @Override + 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/resources/assets/hbm/textures/blocks/part_top.png b/src/main/resources/assets/hbm/textures/blocks/part_top.png new file mode 100644 index 0000000000000000000000000000000000000000..d235565e4e8099b9e70814f2a98f442e9a796d00 GIT binary patch literal 251 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61SBU+%rFB|jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qu6jh-%!Ar}5`gAQ^XRuBp9)^HVkW&V@(Use5L zc0t!EuYxr8@?6_=*zdIC Date: Fri, 7 Apr 2023 18:17:03 +0200 Subject: [PATCH 019/285] fixes --- src/main/java/com/hbm/blocks/network/CraneBoxer.java | 3 +-- .../java/com/hbm/blocks/network/CraneUnboxer.java | 11 +++++++++++ .../java/com/hbm/inventory/SlotCraftingOutput.java | 2 +- src/main/java/com/hbm/main/ModEventHandler.java | 12 +++++++++++- .../tileentity/machine/TileEntityMachineMixer.java | 4 ++-- src/main/resources/assets/hbm/lang/en_US.lang | 4 ++-- 6 files changed, 28 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/hbm/blocks/network/CraneBoxer.java b/src/main/java/com/hbm/blocks/network/CraneBoxer.java index c9cd865bc..b884bd62f 100644 --- a/src/main/java/com/hbm/blocks/network/CraneBoxer.java +++ b/src/main/java/com/hbm/blocks/network/CraneBoxer.java @@ -2,7 +2,6 @@ package com.hbm.blocks.network; import com.hbm.lib.RefStrings; import com.hbm.tileentity.network.TileEntityCraneBoxer; -import com.hbm.tileentity.network.TileEntityCraneInserter; import api.hbm.conveyor.IConveyorItem; import api.hbm.conveyor.IConveyorPackage; @@ -81,7 +80,7 @@ public class CraneBoxer extends BlockCraneBase implements IEnterableBlock { @Override public int getComparatorInputOverride(World world, int x, int y, int z, int side) { - return Container.calcRedstoneFromInventory((TileEntityCraneInserter)world.getTileEntity(x, y, z)); + return Container.calcRedstoneFromInventory((TileEntityCraneBoxer)world.getTileEntity(x, y, z)); } @Override diff --git a/src/main/java/com/hbm/blocks/network/CraneUnboxer.java b/src/main/java/com/hbm/blocks/network/CraneUnboxer.java index 530a4b248..558de5654 100644 --- a/src/main/java/com/hbm/blocks/network/CraneUnboxer.java +++ b/src/main/java/com/hbm/blocks/network/CraneUnboxer.java @@ -12,6 +12,7 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.entity.item.EntityItem; +import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.IBlockAccess; @@ -86,4 +87,14 @@ public class CraneUnboxer extends BlockCraneBase implements IEnterableBlock { } } } + + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + @Override + public int getComparatorInputOverride(World world, int x, int y, int z, int side) { + return Container.calcRedstoneFromInventory((TileEntityCraneUnboxer)world.getTileEntity(x, y, z)); + } } diff --git a/src/main/java/com/hbm/inventory/SlotCraftingOutput.java b/src/main/java/com/hbm/inventory/SlotCraftingOutput.java index 37c0fd450..7b8a1c86a 100644 --- a/src/main/java/com/hbm/inventory/SlotCraftingOutput.java +++ b/src/main/java/com/hbm/inventory/SlotCraftingOutput.java @@ -31,7 +31,7 @@ public class SlotCraftingOutput extends Slot { if(item == Item.getItemFromBlock(ModBlocks.machine_chemplant)) player.triggerAchievement(MainRegistry.achChemplant); - if(item == Item.getItemFromBlock(ModBlocks.concrete) || item == Item.getItemFromBlock(ModBlocks.concrete_asbestos)) + if(item == Item.getItemFromBlock(ModBlocks.concrete_smooth) || item == Item.getItemFromBlock(ModBlocks.concrete_asbestos)) player.triggerAchievement(MainRegistry.achConcrete); if(item == ModItems.ingot_polymer) player.triggerAchievement(MainRegistry.achPolymer); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index e352f2a77..74e150a55 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -38,6 +38,7 @@ import com.hbm.handler.EntityEffectHandler; import com.hbm.hazard.HazardSystem; import com.hbm.interfaces.IBomb; import com.hbm.handler.HTTPHandler; +import com.hbm.handler.HbmKeybinds.EnumKeybind; import com.hbm.handler.SiegeOrchestrator; import com.hbm.items.IEquipReceiver; import com.hbm.items.ModItems; @@ -72,6 +73,7 @@ import com.hbm.world.generator.TimedGenerator; import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.PlayerEvent; +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; @@ -190,7 +192,7 @@ public class ModEventHandler { } @SubscribeEvent - public void onEntityConstructing(EntityEvent.EntityConstructing event) { + public void onEntityConstructing(EntityEvent.EntityConstructing event) { if(event.entity instanceof EntityPlayer) { @@ -207,6 +209,14 @@ public class ModEventHandler { HbmLivingProps.getData(living); //ditto } } + + @SubscribeEvent + public void onPlayerChaangeDimension(PlayerChangedDimensionEvent event) { + EntityPlayer player = event.player; + HbmPlayerProps data = HbmPlayerProps.getData(player); + data.setKeyPressed(EnumKeybind.JETPACK, false); + data.setKeyPressed(EnumKeybind.DASH, false); + } @SubscribeEvent(priority = EventPriority.HIGHEST) public void onEntityDeathFirst(LivingDeathEvent event) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java index 69a0122e7..96e338e2a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java @@ -145,8 +145,8 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB if(recipe == null) return false; - tanks[0].setTankType(recipe.input1.type); - tanks[1].setTankType(recipe.input2.type); + 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; diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index cc4d7511b..5d11a6fa4 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -26,8 +26,8 @@ achievement.c20_5.desc=??? achievement.c20_5=Chapter [TWENTY POINT FIVE] achievement.c44.desc=Galvanized! I mean, zinc! achievement.c44=Chapter 44 -achievement.centrifuge.desc=centrifugal force is fake don't @ me -achievement.centrifuge=Centripetal Force +achievement.centrifuge.desc=centrifugal force is real don't @ me +achievement.centrifuge=Centrifugal Force achievement.chemplant.desc=Now you're thinking with chemicals! achievement.chemplant=The Factory Grows Pt. 2 achievement.chicagoPile.desc="How were the natives?" / "Very friendly." From 421b88b35f9128694b3ceaeebc63f6963db1cb78 Mon Sep 17 00:00:00 2001 From: Bob Date: Fri, 7 Apr 2023 18:41:16 +0200 Subject: [PATCH 020/285] huhh --- .../com/hbm/blocks/generic/PartEmitter.java | 144 +++--------------- .../assets/hbm/textures/blocks/part_top.png | Bin 251 -> 385 bytes 2 files changed, 17 insertions(+), 127 deletions(-) diff --git a/src/main/java/com/hbm/blocks/generic/PartEmitter.java b/src/main/java/com/hbm/blocks/generic/PartEmitter.java index cf6dc2728..db823972c 100644 --- a/src/main/java/com/hbm/blocks/generic/PartEmitter.java +++ b/src/main/java/com/hbm/blocks/generic/PartEmitter.java @@ -1,37 +1,25 @@ package com.hbm.blocks.generic; -import java.awt.Color; import java.util.List; import com.hbm.blocks.ITooltipProvider; -import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.NBTPacket; import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.util.ParticleUtil; import api.hbm.block.IToolable; 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.block.BlockContainer; -import net.minecraft.block.BlockPistonBase; import net.minecraft.block.material.Material; -import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemDye; 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.AxisAlignedBB; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; public class PartEmitter extends BlockContainer implements IToolable, ITooltipProvider { @@ -43,34 +31,12 @@ public class PartEmitter extends BlockContainer implements IToolable, ITooltipPr public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityPartEmitter(); } - - @Override - public boolean isOpaqueCube() { - 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 onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int i, float fx, float fy, float fz) { - - if(world.isRemote) - return true; - - TileEntityPartEmitter te = (TileEntityPartEmitter)world.getTileEntity(x, y, z); - 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) { - TileEntityPartEmitter te = (TileEntityPartEmitter)world.getTileEntity(x, y, z); if(tool == ToolType.HAND_DRILL) { + TileEntityPartEmitter te = (TileEntityPartEmitter) world.getTileEntity(x, y, z); te.effect = (te.effect + 1) % te.effectCount; te.markDirty(); return true; @@ -79,90 +45,50 @@ public class PartEmitter extends BlockContainer implements IToolable, ITooltipPr return false; } - public static class TileEntityPartEmitter extends TileEntity implements INBTPacketReceiver { + public static class TileEntityPartEmitter extends TileEntity { - public static final int range = 100; + public static final int range = 150; public int effect = 0; - public String type; - public float lift; - public int life; - public int color; - public float max; - public float base; - public double posX; - public double posY; - public double posZ; - public static final int effectCount = 5; + public static final int effectCount = 4; + @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++) { - - - 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; - } - } - } - //NBTTagCompound data = new NBTTagCompound(); - - NBTTagCompound data = new NBTTagCompound(); - if(effect == 1) { - data.setInteger("effect", this.effect); + 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.setInteger("effect", this.effect); data.setString("type", "tower"); data.setFloat("lift", 5F); data.setFloat("base", 0.25F); data.setFloat("max", 5F); data.setInteger("life", 560 + worldObj.rand.nextInt(20)); data.setInteger("color",0x404040); - - data.setDouble("posX", xCoord + 0.5); - data.setDouble("posZ", zCoord + 0.5); - data.setDouble("posY", yCoord); - MainRegistry.proxy.effectNT(data); - //PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5, yCoord + 1, zCoord + 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); } if(effect == 3) { - data.setInteger("effect",this.effect); data.setString("type", "tower"); data.setFloat("lift", 0.5F); data.setFloat("base", 1F); data.setFloat("max", 10F); data.setInteger("life", 750 + worldObj.rand.nextInt(250)); - data.setDouble("posX", xCoord + 0.5 + worldObj.rand.nextDouble() * 3 - 1.5); - data.setDouble("posZ", zCoord + 0.5 + worldObj.rand.nextDouble() * 3 - 1.5); - data.setDouble("posY", yCoord + 1); - - MainRegistry.proxy.effectNT(data); + x = xCoord + 0.5 + worldObj.rand.nextDouble() * 3 - 1.5; + y = yCoord + 1; + z = zCoord + 0.5 + worldObj.rand.nextDouble() * 3 - 1.5; } - if(effect == 4) { - - + + if(data.hasKey("type")) { + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, range)); } - - data.setInteger("effect", this.effect); - PacketDispatcher.wrapper.sendToAllAround(new NBTPacket(data, xCoord, yCoord, zCoord), new TargetPoint(this.worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 150)); } } @@ -182,48 +108,12 @@ public class PartEmitter extends BlockContainer implements IToolable, ITooltipPr public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.effect = nbt.getInteger("effect"); - this.type = nbt.getString("type"); - this.color = nbt.getInteger("color"); - this.life = nbt.getInteger("life"); - this.max = nbt.getFloat("max"); - this.base = nbt.getFloat("base"); - this.posX = nbt.getDouble("posX"); - this.posY = nbt.getDouble("posY"); - this.posZ = nbt.getDouble("posZ"); - - } @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); nbt.setInteger("effect", this.effect); - nbt.setString("type", "tower"); - nbt.setFloat("lift", 1F); - nbt.setFloat("base", 0.25F); - nbt.setFloat("max", 3F); - nbt.setInteger("life", 150 + worldObj.rand.nextInt(20)); - nbt.setInteger("color",0x404040); - - nbt.setDouble("posX", xCoord + 0.5); - nbt.setDouble("posZ", zCoord + 0.5); - nbt.setDouble("posY", yCoord); - } - - @Override - public AxisAlignedBB getRenderBoundingBox() { - return TileEntity.INFINITE_EXTENT_AABB; - } - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() { - return 65536.0D; - } - - @Override - public void networkUnpack(NBTTagCompound nbt) { - this.effect = nbt.getInteger("effect"); } } diff --git a/src/main/resources/assets/hbm/textures/blocks/part_top.png b/src/main/resources/assets/hbm/textures/blocks/part_top.png index d235565e4e8099b9e70814f2a98f442e9a796d00..8df82ffed779d24e6b7bdc54f549c80379796326 100644 GIT binary patch delta 369 zcmV-%0gnFr0f7UM8Gi-<001BJ|6u?C00eVFNmK|32nc)#WQYI&0XRuSK~y-6rIS62 zgfI|>AHgP&1slOa5c~_f)mE|e7pHW8z;@d!f`zb6AOXw0;x4&F?+b3KFqwJYmrN!* zpU*Eo;&eI@hcO0#q9~HQwKkk{-)ODna=9dh%d!Aa*L9K~hJPXS>a4&vt9?FPW}`Ah&FsFXrV86bIF7n*qwQWS(cXZNnIoI`CG11H_RR zML}KHNGX}7iE8Wh`XgXnSDL25Imf!Lse``n(OMrS5Ua=Igxw?hi?S>alW5yEsW||g zb4V#sO8xmG0c7zqbzPTy+j*V=XqqPEoO2ArkUH>-v8R8f=)?D9|6S)dAS|SNQe#O! P00000NkvXXu0mjfc?Z+vYv^7fnmbL3^O3bSRCZ;#IWw1%u67LCEd~2k%3`jKlh(RRv@3Vz$3Dl zfr0NZ2s0kfUy%aR=;`7ZV&VTb=pff&1(D!x4OhWe=092gRn;$M7j&KSDoA55&$Ug5 z{Z2bho-pC`;&YZx9JPERYqp-=WN=L3>ylqraV+UIjLKem#pZmFmm784)H7r|q>61CZUWUg64sFZz i2zvi_;}@Qm3F0~4^PcXE Date: Fri, 7 Apr 2023 18:48:11 +0200 Subject: [PATCH 021/285] and there's that --- gradle.properties | 2 +- src/main/java/com/hbm/lib/RefStrings.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gradle.properties b/gradle.properties index dac4ec9ee..cf2273c3a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4561 +mod_build_number=4562 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting),\ diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index d1b333cf9..3eb20ac61 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 (4561)"; + public static final String VERSION = "1.0.27 BETA (4562)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version From 2debe1a0bf26be4f87ca67328d820a47d26e7737 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 11 Apr 2023 16:49:36 +0200 Subject: [PATCH 022/285] recipes --- .../com/hbm/inventory/OreDictManager.java | 25 ++++++++++--------- .../inventory/recipes/AssemblerRecipes.java | 5 +--- .../hbm/inventory/recipes/MixerRecipes.java | 6 ++--- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index b6c84d700..b557dda26 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -862,18 +862,19 @@ public class OreDictManager { return this; } - public String any() { return ANY + groupName; } - public String nugget() { return NUGGET + groupName; } - public String tiny() { return TINY + 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 billet() { return BILLET + groupName; } - public String block() { return BLOCK + groupName; } - public String ore() { return ORE + groupName; } + public String any() { return ANY + groupName; } + public String nugget() { return NUGGET + groupName; } + public String tiny() { return TINY + 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 plateTriple() { return PLATECAST + groupName; } + public String billet() { return BILLET + groupName; } + public String block() { return BLOCK + groupName; } + public String ore() { return ORE + groupName; } } private static void addReRegistration(String original, String additional) { diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index b3e31dae2..c067c89db 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -304,11 +304,8 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.fusion_motor, 1), new AStack[] {new OreDictStack(TI.ingot(), 4), new OreDictStack(STEEL.ingot(), 2), new ComparableStack(ModItems.motor, 4), },250); makeRecipe(new ComparableStack(ModBlocks.fusion_heater, 1), new AStack[] {new OreDictStack(W.ingot(), 4), new OreDictStack(STEEL.plate528(), 2), new OreDictStack(OreDictManager.getReflector(), 2), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.magnetron, 1), new ComparableStack(ModItems.wire_advanced_alloy, 4), },150); makeRecipe(new ComparableStack(ModBlocks.watz_element, 1), new AStack[] {new OreDictStack(W.ingot(), 4), new OreDictStack(ALLOY.plate(), 4), new ComparableStack(ModItems.rod_empty, 2), new ComparableStack(ModItems.wire_magnetized_tungsten, 2), new ComparableStack(ModItems.wire_advanced_alloy, 4), },200); - makeRecipe(new ComparableStack(ModBlocks.watz_control, 1), new AStack[] {new OreDictStack(W.ingot(), 4), new OreDictStack(ALLOY.ingot(), 4), new OreDictStack(PB.ingot(), 2), new ComparableStack(ModItems.wire_magnetized_tungsten, 4), new ComparableStack(ModItems.wire_advanced_alloy, 2), },250); makeRecipe(new ComparableStack(ModBlocks.watz_cooler, 1), new AStack[] {new OreDictStack(W.ingot(), 2), new OreDictStack(STEEL.ingot(), 2), new OreDictStack(KNO.dust(), 4), },300); - makeRecipe(new ComparableStack(ModBlocks.watz_end, 1), new AStack[] {new OreDictStack(W.ingot(), 2), new OreDictStack(PB.ingot(), 2), new OreDictStack(STEEL.ingot(), 3), },150); - makeRecipe(new ComparableStack(ModBlocks.watz_hatch, 1), new AStack[] {new ComparableStack(ModBlocks.reinforced_brick, 1), new OreDictStack(TI.plate(), 6), },200); - makeRecipe(new ComparableStack(ModBlocks.watz_conductor, 1), new AStack[] {new OreDictStack(W.ingot(), 2), new OreDictStack(PB.ingot(), 2), new OreDictStack(STEEL.ingot(), 2), new ComparableStack(ModItems.wire_red_copper, 6), new ComparableStack(ModItems.wire_magnetized_tungsten, 2), new ComparableStack(ModItems.fuse, 4), },250); + makeRecipe(new ComparableStack(ModBlocks.watz_end, 3), new AStack[] {new OreDictStack(ANY_RESISTANTALLOY.plateTriple()), new OreDictStack(B.ingot(), 3), new OreDictStack(STEEL.plate(), 9), }, 100); makeRecipe(new ComparableStack(ModBlocks.watz_core, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.circuit_gold, 5), new ComparableStack(ModItems.circuit_schrabidium, 2), new ComparableStack(ModItems.wire_magnetized_tungsten, 12), },350); makeRecipe(new ComparableStack(ModBlocks.fwatz_hatch, 1), new AStack[] {new OreDictStack(W.ingot(), 6), new OreDictStack(CMB.plate(), 4), },250); makeRecipe(new ComparableStack(ModBlocks.fwatz_conductor, 1), new AStack[] {new OreDictStack(CMB.plate(), 2), new ComparableStack(ModItems.coil_magnetized_tungsten, 5), },250); diff --git a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java index 6ccbd510a..bd29e55bf 100644 --- a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java @@ -50,9 +50,9 @@ public class MixerRecipes extends SerializableRecipe { recipes.put(Fluids.SYNGAS, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.COALOIL, 500)).setStack2(new FluidStack(Fluids.STEAM, 500))); recipes.put(Fluids.OXYHYDROGEN, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.HYDROGEN, 500)).setStack2(new FluidStack(Fluids.OXYGEN, 500))); - recipes.put(Fluids.PETROIL_LEADED, new MixerRecipe(1_000, 40).setStack1(new FluidStack(Fluids.PETROIL, 800)).setSolid(new ComparableStack(ModItems.antiknock))); - recipes.put(Fluids.GASOLINE_LEADED, new MixerRecipe(1_000, 40).setStack1(new FluidStack(Fluids.GASOLINE, 800)).setSolid(new ComparableStack(ModItems.antiknock))); - recipes.put(Fluids.COALGAS_LEADED, new MixerRecipe(1_000, 40).setStack1(new FluidStack(Fluids.COALGAS, 800)).setSolid(new ComparableStack(ModItems.antiknock))); + recipes.put(Fluids.PETROIL_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.PETROIL, 10_000)).setSolid(new ComparableStack(ModItems.antiknock))); + recipes.put(Fluids.GASOLINE_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.GASOLINE, 10_000)).setSolid(new ComparableStack(ModItems.antiknock))); + recipes.put(Fluids.COALGAS_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.COALGAS, 10_000)).setSolid(new ComparableStack(ModItems.antiknock))); recipes.put(Fluids.DIESEL_REFORM, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.DIESEL, 900)).setStack2(new FluidStack(Fluids.REFORMATE, 100))); recipes.put(Fluids.DIESEL_CRACK_REFORM, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.DIESEL_CRACK, 900)).setStack2(new FluidStack(Fluids.REFORMATE, 100))); From 5246b7fad1dd95a80f4d5ee83f7290869ad84c3f Mon Sep 17 00:00:00 2001 From: Bob Date: Tue, 11 Apr 2023 21:42:24 +0200 Subject: [PATCH 023/285] watz core block, better hologram rendering --- src/main/java/com/hbm/blocks/ModBlocks.java | 3 + .../hbm/blocks/machine/BlockITERStruct.java | 10 +-- .../hbm/blocks/machine/BlockWatzStruct.java | 25 +++++++ src/main/java/com/hbm/main/ClientProxy.java | 1 + .../tileentity/RenderWatzMultiblock.java | 62 ++++++++++++++++ .../hbm/render/tileentity/RenderWatzPump.java | 27 ++++++- .../hbm/render/util/SmallBlockPronter.java | 70 +++++++++++++++++- .../java/com/hbm/tileentity/TileMappings.java | 1 + .../machine/TileEntityWatzStruct.java | 27 +++++++ .../hbm/textures/blocks/struct_watz_core.png | Bin 0 -> 587 bytes 10 files changed, 219 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/machine/BlockWatzStruct.java create mode 100644 src/main/java/com/hbm/render/tileentity/RenderWatzMultiblock.java create mode 100644 src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/struct_watz_core.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 92621e456..492d2092f 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -823,6 +823,7 @@ public class ModBlocks { 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 factory_titanium_hull; @Deprecated public static Block factory_titanium_furnace; @@ -1950,6 +1951,7 @@ public class ModBlocks { 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"); 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"); @@ -3221,6 +3223,7 @@ public class ModBlocks { 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()); //Absorbers GameRegistry.registerBlock(absorber, absorber.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/BlockITERStruct.java b/src/main/java/com/hbm/blocks/machine/BlockITERStruct.java index 2a909c4dd..c53723bc6 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockITERStruct.java +++ b/src/main/java/com/hbm/blocks/machine/BlockITERStruct.java @@ -17,9 +17,9 @@ public class BlockITERStruct extends BlockContainer { public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityITERStruct(); } - - public boolean isOpaqueCube() { - - return false; - } + + @Override + public boolean isOpaqueCube() { + return false; + } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockWatzStruct.java b/src/main/java/com/hbm/blocks/machine/BlockWatzStruct.java new file mode 100644 index 000000000..3e278f445 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockWatzStruct.java @@ -0,0 +1,25 @@ +package com.hbm.blocks.machine; + +import com.hbm.tileentity.machine.TileEntityWatzStruct; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class BlockWatzStruct extends BlockContainer { + + public BlockWatzStruct(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityWatzStruct(); + } + + @Override + public boolean isOpaqueCube() { + return false; + } +} diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 97b5d0d1f..09cd6439d 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -314,6 +314,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySoyuzStruct.class, new RenderSoyuzMultiblock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITERStruct.class, new RenderITERMultiblock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPlasmaStruct.class, new RenderPlasmaMultiblock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityWatzStruct.class, new RenderWatzMultiblock()); //RBMK ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKControlManual.class, new RenderRBMKControlRod()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKControlAuto.class, new RenderRBMKControlRod()); diff --git a/src/main/java/com/hbm/render/tileentity/RenderWatzMultiblock.java b/src/main/java/com/hbm/render/tileentity/RenderWatzMultiblock.java new file mode 100644 index 000000000..973029bf9 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderWatzMultiblock.java @@ -0,0 +1,62 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.ModBlocks; +import com.hbm.render.util.SmallBlockPronter; + +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; + +public class RenderWatzMultiblock extends TileEntitySpecialRenderer { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { + GL11.glPushMatrix(); + GL11.glTranslated(x, y, z); + + bindTexture(TextureMap.locationBlocksTexture); + SmallBlockPronter.startDrawing(); + + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_cooler, 0, 0F, 1F, 0F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_cooler, 0, 0F, 2F, 0F); + + for(int i = 0; i < 3; i++) { + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_element, 0, 1F, i, 0F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_element, 0, 2F, i, 0F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_element, 0, 0F, i, 1F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_element, 0, 0F, i, 2F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_element, 0, -1F, i, 0F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_element, 0, -2F, i, 0F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_element, 0, 0F, i, -1F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_element, 0, 0F, i, -2F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_element, 0, 1F, i, 1F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_element, 0, 1F, i, -1F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_element, 0, -1F, i, 1F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_element, 0, -1F, i, -1F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_cooler, 0, 2F, i, 1F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_cooler, 0, 2F, i, -1F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_cooler, 0, 1F, i, 2F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_cooler, 0, -1F, i, 2F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_cooler, 0, -2F, i, 1F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_cooler, 0, -2F, i, -1F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_cooler, 0, 1F, i, -2F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_cooler, 0, -1F, i, -2F); + for(int j = -1; j < 2; j++) { + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, 3F, i, j); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, j, i, 3F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, -3F, i, j); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, j, i, -3F); + } + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, 2F, i, 2F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, 2F, i, -2F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, -2F, i, 2F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, -2F, i, -2F); + } + + SmallBlockPronter.draw(); + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/render/tileentity/RenderWatzPump.java b/src/main/java/com/hbm/render/tileentity/RenderWatzPump.java index 4b19cddee..4805281fe 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderWatzPump.java +++ b/src/main/java/com/hbm/render/tileentity/RenderWatzPump.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 RenderWatzPump extends TileEntitySpecialRenderer { +public class RenderWatzPump extends TileEntitySpecialRenderer implements IItemRendererProvider { @Override public void renderTileEntityAt(TileEntity te, double x, double y, double z, float f) { @@ -26,4 +30,25 @@ public class RenderWatzPump extends TileEntitySpecialRenderer { GL11.glPopMatrix(); } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.watz_pump); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -1.5, 0); + double scale = 5; + GL11.glScaled(scale, scale, scale); + } + public void renderCommon() { + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.watz_pump_tex); + ResourceManager.watz_pump.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } } diff --git a/src/main/java/com/hbm/render/util/SmallBlockPronter.java b/src/main/java/com/hbm/render/util/SmallBlockPronter.java index 7c19b3441..50486e05b 100644 --- a/src/main/java/com/hbm/render/util/SmallBlockPronter.java +++ b/src/main/java/com/hbm/render/util/SmallBlockPronter.java @@ -2,19 +2,26 @@ package com.hbm.render.util; import org.lwjgl.opengl.GL11; +import com.hbm.interfaces.Spaghetti; + +import net.minecraft.block.Block; +import net.minecraft.client.renderer.OpenGlHelper; import net.minecraft.client.renderer.Tessellator; +import net.minecraft.util.IIcon; +import net.minecraftforge.common.util.ForgeDirection; public class SmallBlockPronter { static float pixel = 1F/16F; /** - * Bind the required texture yourself bruh + * Bind the required texture yourself bruh <- ding dong, 2023 bob speaking, fuck this guy * @param loc * @param x * @param y * @param z */ + @Deprecated @Spaghetti("this is horseshit") public static void renderSmolBlockAt(float x, float y, float z) { GL11.glPushMatrix(); GL11.glTranslatef(x - 1, y - 1, z); @@ -64,4 +71,65 @@ public class SmallBlockPronter { GL11.glPopMatrix(); } + + public static void startDrawing() { + GL11.glEnable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_CULL_FACE); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.75F); + GL11.glDisable(GL11.GL_ALPHA_TEST); + GL11.glDepthMask(false); + Tessellator.instance.startDrawingQuads(); + } + + public static void draw() { + Tessellator.instance.draw(); + GL11.glDisable(GL11.GL_BLEND); + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glDepthMask(true); + GL11.glEnable(GL11.GL_LIGHTING); + } + + public static void drawSmolBlockAt(Block b, int meta, float x, float y, float z) { + + Tessellator tesseract = Tessellator.instance; + IIcon iconTop = b.getIcon(ForgeDirection.UP.ordinal(), meta); + IIcon iconBottom = b.getIcon(ForgeDirection.DOWN.ordinal(), meta); + IIcon iconNorth = b.getIcon(ForgeDirection.NORTH.ordinal(), meta); + IIcon iconSouth = b.getIcon(ForgeDirection.SOUTH.ordinal(), meta); + IIcon iconEast = b.getIcon(ForgeDirection.EAST.ordinal(), meta); + IIcon iconWest = b.getIcon(ForgeDirection.WEST.ordinal(), meta); + + tesseract.setNormal(0F, 1F, 0F); + + tesseract.addVertexWithUV(x + 1 - 11 * pixel / 2, y + 1 - 11 * pixel / 2, z + 1 - 11 * pixel / 2, iconSouth.getMaxU(), iconSouth.getMinV()); + tesseract.addVertexWithUV(x + 11 * pixel / 2, y + 1 - 11 * pixel / 2, z + 1 - 11 * pixel / 2, iconSouth.getMinU(), iconSouth.getMinV()); + tesseract.addVertexWithUV(x + 11 * pixel / 2, y + 11 * pixel / 2, z + 1 - 11 * pixel / 2, iconSouth.getMinU(), iconSouth.getMaxV()); + tesseract.addVertexWithUV(x + 1 - 11 * pixel / 2, y + 11 * pixel / 2, z + 1 - 11 * pixel / 2, iconSouth.getMaxU(), iconSouth.getMaxV()); + + tesseract.addVertexWithUV(x + 1 - 11 * pixel / 2, y + 1 - 11 * pixel / 2, z + 11 * pixel / 2, iconEast.getMaxU(), iconEast.getMinV()); + tesseract.addVertexWithUV(x + 1 - 11 * pixel / 2, y + 1 - 11 * pixel / 2, z + 1 - 11 * pixel / 2, iconEast.getMinU(), iconEast.getMinV()); + tesseract.addVertexWithUV(x + 1 - 11 * pixel / 2, y + 11 * pixel / 2, z + 1 - 11 * pixel / 2, iconEast.getMinU(), iconEast.getMaxV()); + tesseract.addVertexWithUV(x + 1 - 11 * pixel / 2, y + 11 * pixel / 2, z + 11 * pixel / 2, iconEast.getMaxU(), iconEast.getMaxV()); + + tesseract.addVertexWithUV(x + 11 * pixel / 2, y + 1 - 11 * pixel / 2, z + 11 * pixel / 2, iconNorth.getMaxU(), iconNorth.getMinV()); + tesseract.addVertexWithUV(x + 1 - 11 * pixel / 2, y + 1 - 11 * pixel / 2, z + 11 * pixel / 2, iconNorth.getMinU(), iconNorth.getMinV()); + tesseract.addVertexWithUV(x + 1 - 11 * pixel / 2,y + 11 * pixel / 2, z + 11 * pixel / 2, iconNorth.getMinU(), iconNorth.getMaxV()); + tesseract.addVertexWithUV(x + 11 * pixel / 2, y + 11 * pixel / 2, z + 11 * pixel / 2, iconNorth.getMaxU(), iconNorth.getMaxV()); + + tesseract.addVertexWithUV(x + 11 * pixel / 2, y + 1 - 11 * pixel / 2, z + 1 - 11 * pixel / 2, iconWest.getMaxU(), iconWest.getMinV()); + tesseract.addVertexWithUV(x + 11 * pixel / 2, y + 1 - 11 * pixel / 2, z + 11 * pixel / 2, iconWest.getMinU(), iconWest.getMinV()); + tesseract.addVertexWithUV(x + 11 * pixel / 2, y + 11 * pixel / 2, z + 11 * pixel / 2, iconWest.getMinU(), iconWest.getMaxV()); + tesseract.addVertexWithUV(x + 11 * pixel / 2, y + 11 * pixel / 2, z + 1 - 11 * pixel / 2, iconWest.getMaxU(), iconWest.getMaxV()); + + tesseract.addVertexWithUV(x + 1 - 11 * pixel / 2, y + 1 - 11 * pixel / 2, z + 11 * pixel / 2, iconTop.getMaxU(), iconTop.getMinV()); + tesseract.addVertexWithUV(x + 11 * pixel / 2, y + 1 - 11 * pixel / 2, z + 11 * pixel / 2, iconTop.getMinU(), iconTop.getMinV()); + tesseract.addVertexWithUV(x + 11 * pixel / 2, y + 1 - 11 * pixel / 2, z + 1 - 11 * pixel / 2, iconTop.getMinU(), iconTop.getMaxV()); + tesseract.addVertexWithUV(x + 1 - 11 * pixel / 2, y + 1 - 11 * pixel / 2, z + 1 - 11 * pixel / 2, iconTop.getMaxU(), iconTop.getMaxV()); + + tesseract.addVertexWithUV(x + 11 * pixel / 2, y + 11 * pixel / 2, z + 11 * pixel / 2, iconBottom.getMaxU(), iconBottom.getMinV()); + tesseract.addVertexWithUV(x + 1 - 11 * pixel / 2, y + 11 * pixel / 2, z + 11 * pixel / 2, iconBottom.getMinU(), iconBottom.getMinV()); + tesseract.addVertexWithUV(x + 1 - 11 * pixel / 2, y + 11 * pixel / 2, z + 1 - 11 * pixel / 2, iconBottom.getMinU(), iconBottom.getMaxV()); + tesseract.addVertexWithUV(x + 11 * pixel / 2, y + 11 * pixel / 2, z + 1 - 11 * pixel / 2, iconBottom.getMaxU(), iconBottom.getMaxV()); + } } diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 4c8efdc0f..e8d059972 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -168,6 +168,7 @@ public class TileMappings { put(TileEntityMachineFENSU.class, "tileentity_fensu"); put(TileEntityTrappedBrick.class, "tileentity_trapped_brick"); put(TileEntityPlasmaStruct.class, "tileentity_plasma_struct"); + put(TileEntityWatzStruct.class, "tileentity_watz_struct"); put(TileEntityHadronDiode.class, "tileentity_hadron_diode"); put(TileEntityHadronPower.class, "tileentity_hadron_power"); put(TileEntityHadron.class, "tileentity_hadron"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java new file mode 100644 index 000000000..8c484f7a7 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java @@ -0,0 +1,27 @@ +package com.hbm.tileentity.machine; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; + +public class TileEntityWatzStruct extends TileEntity { + + @Override + public void updateEntity() { + + if(worldObj.isRemote) + return; + } + + @Override + public AxisAlignedBB getRenderBoundingBox() { + return TileEntity.INFINITE_EXTENT_AABB; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } +} diff --git a/src/main/resources/assets/hbm/textures/blocks/struct_watz_core.png b/src/main/resources/assets/hbm/textures/blocks/struct_watz_core.png new file mode 100644 index 0000000000000000000000000000000000000000..b1680dbe30d615c831abc5d00b1eadc87f08c6de GIT binary patch literal 587 zcmV-R0<`^!P)xH3$8<->5kL;d*6FbkFnou zrp)EKF8M-%|7m)Ej}SudZGhM1GNx%_Sr%~|17MgYNgQJs28L+@;N)`1*$jXrjyX9! z%>e!3kms(8Wmy3Hd3fOC;o(B(?Rp*Cw)Ot^-CZ_;>$-G$J)W(skR}P8Fa#jz4;BEm zQUicjRwzt0+a{;Dxc3Yolc)Td%v@jy@K*UNlK~5j^_7N zYbmAvZpnjpySvm%Mb;VtQc69xx`LFFwMIa#RHU}Ix9q`Lx2x$2qD)l9O6{{V?Sb*B z)k@!NZ0N)FN(Ff8M=Anv5{9GzY0B5*V{9P=SEG^6!sk{CfUQz>0r2JM2q%|gG#&$4 z7K9KO`^{$h!gZIjAf+Tp5=_&?aU5*RTFSz&o15$vZiV1hh{ZVDc4iPDlLVP0Fq Date: Wed, 12 Apr 2023 16:52:30 +0200 Subject: [PATCH 024/285] watz core component functionality --- .../java/com/hbm/blocks/machine/Watz.java | 3 +- .../inventory/recipes/anvil/AnvilRecipes.java | 2 +- .../machine/TileEntityWatzStruct.java | 83 ++++++++++++++++++- 3 files changed, 83 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/hbm/blocks/machine/Watz.java b/src/main/java/com/hbm/blocks/machine/Watz.java index 0b9767e4d..8b0069f49 100644 --- a/src/main/java/com/hbm/blocks/machine/Watz.java +++ b/src/main/java/com/hbm/blocks/machine/Watz.java @@ -45,7 +45,7 @@ public class Watz extends BlockDummyable { } @Override - protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + 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; @@ -59,5 +59,6 @@ public class Watz extends BlockDummyable { this.makeExtra(world, x - 2, y + 2, z); this.makeExtra(world, x, y + 2, z + 2); this.makeExtra(world, x, y + 2, z - 2); + this.makeExtra(world, x, y + 2, z); } } 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 4becbaf45..5c7672729 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -444,7 +444,7 @@ public class AnvilRecipes { new AStack[] {new ComparableStack(ModItems.nugget_bismuth, 2), new OreDictStack(U238.billet(), 2), new OreDictStack(NB.dust(), 1)}, new AnvilOutput(new ItemStack(ModItems.plate_bismuth, 1))).setTier(4)); constructionRecipes.add(new AnvilConstructionRecipe( - new AStack[] {new OreDictStack(EUPH.ingot(), 4), new OreDictStack(AT.dust(), 2), new OreDictStack(VOLCANIC.gem(), 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)}, new AnvilOutput(new ItemStack(ModItems.plate_euphemium, 4))).setTier(6)); constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] {new OreDictStack(DNT.ingot(), 4), new ComparableStack(ModItems.powder_spark_mix, 2), new OreDictStack(DESH.ingot(), 1)}, diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java index 8c484f7a7..f363b5945 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java @@ -1,22 +1,99 @@ package com.hbm.tileentity.machine; +import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.machine.Watz; + import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraftforge.common.util.ForgeDirection; public class TileEntityWatzStruct extends TileEntity { @Override public void updateEntity() { - if(worldObj.isRemote) - return; + if(worldObj.isRemote) return; + if(worldObj.getTotalWorldTime() % 20 != 0) return; + + /* + * skeptics may say that his is shit. i don't necessarily disagree, but it was both easy and quick to do + * and it remains readable and not terribly long, so who the fuck cares. + */ + if(!cbr(ModBlocks.watz_cooler, 0, 1, 0)) return; + if(!cbr(ModBlocks.watz_cooler, 0, 2, 0)) return; + + for(int i = 0; i < 3; i++) { + if(!cbr(ModBlocks.watz_element, 1, i, 0)) return; + if(!cbr(ModBlocks.watz_element, 2, i, 0)) return; + if(!cbr(ModBlocks.watz_element, 0, i, 1)) return; + if(!cbr(ModBlocks.watz_element, 0, i, 2)) return; + if(!cbr(ModBlocks.watz_element, -1, i, 0)) return; + if(!cbr(ModBlocks.watz_element, -2, i, 0)) return; + if(!cbr(ModBlocks.watz_element, 0, i, -1)) return; + if(!cbr(ModBlocks.watz_element, 0, i, -2)) return; + if(!cbr(ModBlocks.watz_element, 1, i, 1)) return; + if(!cbr(ModBlocks.watz_element, 1, i, -1)) return; + if(!cbr(ModBlocks.watz_element, -1, i, 1)) return; + if(!cbr(ModBlocks.watz_element, -1, i, -1)) return; + if(!cbr(ModBlocks.watz_cooler, 2, i, 1)) return; + if(!cbr(ModBlocks.watz_cooler, 2, i, -1)) return; + if(!cbr(ModBlocks.watz_cooler, 1, i, 2)) return; + if(!cbr(ModBlocks.watz_cooler, -1, i, 2)) return; + if(!cbr(ModBlocks.watz_cooler, -2, i, 1)) return; + if(!cbr(ModBlocks.watz_cooler, -2, i, -1)) return; + if(!cbr(ModBlocks.watz_cooler, 1, i, -2)) return; + if(!cbr(ModBlocks.watz_cooler, -1, i, -2)) return; + + for(int j = -1; j < 2; j++) { + if(!cbr(ModBlocks.watz_end, 3, i, j)) return; + if(!cbr(ModBlocks.watz_end, j, i, 3)) return; + if(!cbr(ModBlocks.watz_end, -3, i, j)) return; + if(!cbr(ModBlocks.watz_end, j, i, -3)) return; + } + if(!cbr(ModBlocks.watz_end, 2, i, 2)) return; + if(!cbr(ModBlocks.watz_end, 2, i, -2)) return; + if(!cbr(ModBlocks.watz_end, -2, i, 2)) return; + if(!cbr(ModBlocks.watz_end, -2, i, -2)) return; + } + + Watz watz = (Watz)ModBlocks.watz; + BlockDummyable.safeRem = true; + worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.watz, this.getBlockMetadata() + BlockDummyable.offset, 3); + watz.fillSpace(worldObj, xCoord, yCoord, zCoord, ForgeDirection.NORTH, 0); + BlockDummyable.safeRem = false; } + /** [G]et [B]lock at [R]elative position */ + private Block gbr(int x, int y, int z) { + return worldObj.getBlock(xCoord + x, yCoord + y, zCoord + z); + } + + /** [C]heck [B]lock at [R]elative position */ + private boolean cbr(Block b, int x, int y, int z) { + return b == gbr(x, y, z); + } + + AxisAlignedBB bb = null; + @Override public AxisAlignedBB getRenderBoundingBox() { - return TileEntity.INFINITE_EXTENT_AABB; + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 3, + yCoord, + zCoord - 3, + xCoord + 4, + yCoord + 3, + zCoord + 4 + ); + } + + return bb; } @Override From 8f20e77338fb499897bf60129e8a60f809c55b71 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 13 Apr 2023 16:23:23 +0200 Subject: [PATCH 025/285] some gas stuff --- .../com/hbm/entity/effect/EntityMist.java | 66 ++++++++++++++++ .../hbm/entity/projectile/EntityChemical.java | 4 - .../java/com/hbm/inventory/fluid/Fluids.java | 71 +++++++++--------- .../fluid/trait/FluidTraitSimple.java | 10 ++- .../entity/projectile/RenderChemical.java | 10 --- .../blocks/deco_steel_blank_outer.png | Bin 0 -> 549 bytes .../assets/hbm/textures/blocks/vent.png | Bin 0 -> 547 bytes .../assets/hbm/textures/blocks/vent_side.png | Bin 0 -> 607 bytes 8 files changed, 111 insertions(+), 50 deletions(-) create mode 100644 src/main/java/com/hbm/entity/effect/EntityMist.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/deco_steel_blank_outer.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/vent.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/vent_side.png diff --git a/src/main/java/com/hbm/entity/effect/EntityMist.java b/src/main/java/com/hbm/entity/effect/EntityMist.java new file mode 100644 index 000000000..0662a2d48 --- /dev/null +++ b/src/main/java/com/hbm/entity/effect/EntityMist.java @@ -0,0 +1,66 @@ +package com.hbm.entity.effect; + +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous; +import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous_ART; +import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Liquid; +import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Viscous; + +import net.minecraft.entity.Entity; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; + +public class EntityMist extends Entity { + + public EntityMist(World world) { + super(world); + } + + @Override + protected void entityInit() { + this.dataWatcher.addObject(10, new Integer(0)); + } + + public EntityMist setFluid(FluidType fluid) { + this.dataWatcher.updateObject(10, fluid.getID()); + return this; + } + + public FluidType getType() { + return Fluids.fromID(this.dataWatcher.getWatchableObjectInt(10)); + } + + @Override + protected void readEntityFromNBT(NBTTagCompound nbt) { + + } + + @Override + protected void writeEntityToNBT(NBTTagCompound nbt) { + + } + + public static SprayStyle getStyleFromType(FluidType type) { + + if(type.hasTrait(FT_Viscous.class)) { + return SprayStyle.NULL; + } + + if(type.hasTrait(FT_Gaseous.class) || type.hasTrait(FT_Gaseous_ART.class)) { + return SprayStyle.GAS; + } + + if(type.hasTrait(FT_Liquid.class)) { + return SprayStyle.MIST; + } + + return SprayStyle.NULL; + } + + public static enum SprayStyle { + MIST, //liquids that have been sprayed into a mist + GAS, //things that were already gaseous + NULL + } +} diff --git a/src/main/java/com/hbm/entity/projectile/EntityChemical.java b/src/main/java/com/hbm/entity/projectile/EntityChemical.java index 63ce539a4..14c770d19 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityChemical.java +++ b/src/main/java/com/hbm/entity/projectile/EntityChemical.java @@ -58,10 +58,6 @@ public class EntityChemical extends EntityThrowableNT { * if CORROSIVE: apply extra acid damage, poison effect as well as armor degradation */ - public double lastClientPosX = -1; - public double lastClientPosY = -1; - public double lastClientPosZ = -1; - public EntityChemical(World world) { super(world); this.ignoreFrustumCheck = true; diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index 882abd686..299120abe 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -123,6 +123,7 @@ public class Fluids { protected static final List metaOrder = new ArrayList(); public static final FT_Liquid LIQUID = new FT_Liquid(); + public static final FT_Viscous VISCOUS = new FT_Viscous(); public static final FT_Gaseous_ART EVAP = new FT_Gaseous_ART(); public static final FT_Gaseous GASEOUS = new FT_Gaseous(); public static final FT_Plasma PLASMA = new FT_Plasma(); @@ -154,19 +155,19 @@ public class Fluids { SUPERHOTSTEAM = new FluidType("SUPERHOTSTEAM", 0xE7B7B7, 4, 0, 0, EnumSymbol.NONE).setTemp(450).setCompression(1D).addTraits(GASEOUS); ULTRAHOTSTEAM = new FluidType("ULTRAHOTSTEAM", 0xE39393, 4, 0, 0, EnumSymbol.NONE).setTemp(600).setCompression(10D).addTraits(GASEOUS); COOLANT = new FluidType("COOLANT", 0xd8fcff, 1, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); - LAVA = new FluidType("LAVA", 0xFF3300, 4, 0, 0, EnumSymbol.NOWATER).setTemp(1200).addTraits(LIQUID); + LAVA = new FluidType("LAVA", 0xFF3300, 4, 0, 0, EnumSymbol.NOWATER).setTemp(1200).addTraits(LIQUID, VISCOUS); DEUTERIUM = new FluidType("DEUTERIUM", 0x0000FF, 3, 4, 0, EnumSymbol.NONE).addTraits(new FT_Flammable(5_000), new FT_Combustible(FuelGrade.HIGH, 10_000), GASEOUS); TRITIUM = new FluidType("TRITIUM", 0x000099, 3, 4, 0, EnumSymbol.RADIATION).addTraits(new FT_Flammable(5_000), new FT_Combustible(FuelGrade.HIGH, 10_000), GASEOUS, new FT_VentRadiation(0.001F)); - OIL = new FluidType("OIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID); - HOTOIL = new FluidType("HOTOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addTraits(new FT_Flammable(10_000), LIQUID); - HEAVYOIL = new FluidType("HEAVYOIL", 0x141312, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x513F39)).addTraits(new FT_Flammable(50_000), new FT_Combustible(FuelGrade.LOW, 25_000), LIQUID); - BITUMEN = new FluidType("BITUMEN", 0x1f2426, 2, 0, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x5A5877)).addTraits(LIQUID); - SMEAR = new FluidType("SMEAR", 0x190f01, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x624F3B)).addTraits(new FT_Flammable(50_000), LIQUID); - HEATINGOIL = new FluidType("HEATINGOIL", 0x211806, 2, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x694235)).addTraits(new FT_Flammable(150_000), new FT_Combustible(FuelGrade.LOW, 100_000), LIQUID); - RECLAIMED = new FluidType("RECLAIMED", 0x332b22, 2, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xF65723)).addTraits(new FT_Flammable(100_000), new FT_Combustible(FuelGrade.LOW, 200_000), LIQUID); + OIL = new FluidType("OIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS); + HOTOIL = new FluidType("HOTOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS); + HEAVYOIL = new FluidType("HEAVYOIL", 0x141312, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x513F39)).addTraits(new FT_Flammable(50_000), new FT_Combustible(FuelGrade.LOW, 25_000), LIQUID, VISCOUS); + BITUMEN = new FluidType("BITUMEN", 0x1f2426, 2, 0, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x5A5877)).addTraits(LIQUID, VISCOUS); + SMEAR = new FluidType("SMEAR", 0x190f01, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x624F3B)).addTraits(new FT_Flammable(50_000), LIQUID, VISCOUS); + HEATINGOIL = new FluidType("HEATINGOIL", 0x211806, 2, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x694235)).addTraits(new FT_Flammable(150_000), new FT_Combustible(FuelGrade.LOW, 100_000), LIQUID, VISCOUS); + RECLAIMED = new FluidType("RECLAIMED", 0x332b22, 2, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xF65723)).addTraits(new FT_Flammable(100_000), new FT_Combustible(FuelGrade.LOW, 200_000), LIQUID, VISCOUS); PETROIL = new FluidType("PETROIL", 0x44413d, 1, 3, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2369F6)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 300_000), LIQUID); LUBRICANT = new FluidType("LUBRICANT", 0x606060, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xF1CC05)).addTraits(LIQUID); - NAPHTHA = new FluidType("NAPHTHA", 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); + NAPHTHA = new FluidType("NAPHTHA", 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); DIESEL = new FluidType("DIESEL", 0xf2eed5, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xFF2C2C)).addTraits(new FT_Flammable(200_000), new FT_Combustible(FuelGrade.HIGH, 500_000), LIQUID); LIGHTOIL = new FluidType("LIGHTOIL", 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); KEROSENE = new FluidType("KEROSENE", 0xffa5d2, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xFF377D)).addTraits(new FT_Flammable(300_000), new FT_Combustible(FuelGrade.AERO, 1_250_000), LIQUID); @@ -183,20 +184,20 @@ public class Fluids { AMAT = new FluidType("AMAT", 0x010101, 5, 0, 5, EnumSymbol.ANTIMATTER).addTraits(ANTI, GASEOUS); ASCHRAB = new FluidType("ASCHRAB", 0xb50000, 5, 0, 5, EnumSymbol.ANTIMATTER).addTraits(ANTI, GASEOUS); ACID = new FluidType("ACID", 0xfff7aa, 3, 0, 3, EnumSymbol.OXIDIZER).addTraits(new FT_Corrosive(40), LIQUID); - WATZ = new FluidType("WATZ", 0x86653E, 4, 0, 3, EnumSymbol.ACID).addTraits(new FT_Corrosive(60), new FT_VentRadiation(0.1F), LIQUID); - CRYOGEL = new FluidType("CRYOGEL", 0x32ffff, 2, 0, 0, EnumSymbol.CROYGENIC).setTemp(-170).addTraits(LIQUID); + WATZ = new FluidType("WATZ", 0x86653E, 4, 0, 3, EnumSymbol.ACID).addTraits(new FT_Corrosive(60), new FT_VentRadiation(0.1F), LIQUID, VISCOUS); + CRYOGEL = new FluidType("CRYOGEL", 0x32ffff, 2, 0, 0, EnumSymbol.CROYGENIC).setTemp(-170).addTraits(LIQUID, VISCOUS); HYDROGEN = new FluidType("HYDROGEN", 0x4286f4, 3, 4, 0, EnumSymbol.CROYGENIC).setTemp(-260).addContainers(new CD_Gastank(0x4286f4, 0xffffff)).addTraits(new FT_Flammable(5_000), new FT_Combustible(FuelGrade.HIGH, 10_000), LIQUID, EVAP); OXYGEN = new FluidType("OXYGEN", 0x98bdf9, 3, 0, 0, EnumSymbol.CROYGENIC).setTemp(-100).addContainers(new CD_Gastank(0x98bdf9, 0xffffff)).addTraits(LIQUID, EVAP); XENON = new FluidType("XENON", 0xba45e8, 0, 0, 0, EnumSymbol.ASPHYXIANT).addContainers(new CD_Gastank(0x8C21FF, 0x303030)).addTraits(GASEOUS); - BALEFIRE = new FluidType("BALEFIRE", 0x28e02e, 4, 4, 3, EnumSymbol.RADIATION).setTemp(1500).addTraits(new FT_Corrosive(50), new FT_Flammable(1_000_000), new FT_Combustible(FuelGrade.HIGH, 2_500_000), LIQUID); + BALEFIRE = new FluidType("BALEFIRE", 0x28e02e, 4, 4, 3, EnumSymbol.RADIATION).setTemp(1500).addTraits(new FT_Corrosive(50), new FT_Flammable(1_000_000), new FT_Combustible(FuelGrade.HIGH, 2_500_000), LIQUID, VISCOUS); MERCURY = new FluidType("MERCURY", 0x808080, 2, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, new FT_Poison(false, 2)); - PAIN = new FluidType("PAIN", 0x938541, 2, 0, 1, EnumSymbol.ACID).setTemp(300).addTraits(new FT_Corrosive(30), new FT_Poison(true, 2), LIQUID); - WASTEFLUID = new FluidType("WASTEFLUID", 0x544400, 2, 0, 1, EnumSymbol.RADIATION).addTraits(new FT_VentRadiation(0.5F), NOCON, LIQUID); + PAIN = new FluidType("PAIN", 0x938541, 2, 0, 1, EnumSymbol.ACID).setTemp(300).addTraits(new FT_Corrosive(30), new FT_Poison(true, 2), LIQUID, VISCOUS); + WASTEFLUID = new FluidType("WASTEFLUID", 0x544400, 2, 0, 1, EnumSymbol.RADIATION).addTraits(new FT_VentRadiation(0.5F), NOCON, LIQUID, VISCOUS); WASTEGAS = new FluidType("WASTEGAS", 0xB8B8B8, 2, 0, 1, EnumSymbol.RADIATION).addTraits(new FT_VentRadiation(0.5F), NOCON, GASEOUS); GASOLINE = new FluidType("GASOLINE", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2F7747)).addTraits(new FT_Flammable(400_000), new FT_Combustible(FuelGrade.HIGH, 1_000_000), LIQUID); COALGAS = new FluidType("COALGAS", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2E155F)).addTraits(new FT_Flammable(75_000), new FT_Combustible(FuelGrade.MEDIUM, 150_000), LIQUID); SPENTSTEAM = new FluidType("SPENTSTEAM", 0x445772, 2, 0, 0, EnumSymbol.NONE).setCompression(1D).addTraits(NOCON, GASEOUS); - FRACKSOL = new FluidType("FRACKSOL", 0x798A6B, 1, 3, 3, EnumSymbol.ACID).addContainers(new CD_Canister(0x4F887F)).addTraits(new FT_Corrosive(15), new FT_Poison(false, 0), LIQUID); + FRACKSOL = new FluidType("FRACKSOL", 0x798A6B, 1, 3, 3, EnumSymbol.ACID).addContainers(new CD_Canister(0x4F887F)).addTraits(new FT_Corrosive(15), new FT_Poison(false, 0), LIQUID, VISCOUS); PLASMA_DT = new FluidType("PLASMA_DT", 0xF7AFDE, 0, 4, 0, EnumSymbol.RADIATION).setTemp(3250).addTraits(NOCON, NOID, PLASMA); PLASMA_HD = new FluidType("PLASMA_HD", 0xF0ADF4, 0, 4, 0, EnumSymbol.RADIATION).setTemp(2500).addTraits(NOCON, NOID, PLASMA); PLASMA_HT = new FluidType("PLASMA_HT", 0xD1ABF2, 0, 4, 0, EnumSymbol.RADIATION).setTemp(3000).addTraits(NOCON, NOID, PLASMA); @@ -205,20 +206,20 @@ public class Fluids { CARBONDIOXIDE = new FluidType("CARBONDIOXIDE", 0x404040, 3, 0, 0, EnumSymbol.ASPHYXIANT).addTraits(GASEOUS); PLASMA_DH3 = new FluidType("PLASMA_DH3", 0xFF83AA, 0, 4, 0, EnumSymbol.RADIATION).setTemp(3480).addTraits(NOCON, NOID, PLASMA); HELIUM3 = new FluidType("HELIUM3", 0xFCF0C4, 3, 4, 0, EnumSymbol.ASPHYXIANT).addTraits(GASEOUS); - DEATH = new FluidType("DEATH", 0x717A88, 2, 0, 1, EnumSymbol.ACID).setTemp(300).addTraits(new FT_Corrosive(80), new FT_Poison(true, 4), LEADCON, LIQUID); + 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); HEAVYWATER = new FluidType("HEAVYWATER", 0x00a0b0, 1, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); - CRACKOIL = new FluidType("CRACKOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID); - COALOIL = new FluidType("COALOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID); - HOTCRACKOIL = new FluidType("HOTCRACKOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID); - 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); + CRACKOIL = new FluidType("CRACKOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS); + COALOIL = new FluidType("COALOIL", 0x020202, 2, 1, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS); + HOTCRACKOIL = new FluidType("HOTCRACKOIL", 0x300900, 2, 3, 0, EnumSymbol.NONE).setTemp(350).addContainers(new CD_Canister(0x424242)).addTraits(new FT_Flammable(10_000), LIQUID, VISCOUS); + 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); 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); 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); - AROMATICS = new FluidType("AROMATICS", 0x68A09A, 1, 4, 1, EnumSymbol.NONE).addTraits(new FT_Flammable(25_000), LIQUID); + AROMATICS = new FluidType("AROMATICS", 0x68A09A, 1, 4, 1, EnumSymbol.NONE).addTraits(new FT_Flammable(25_000), LIQUID, VISCOUS); UNSATURATEDS = new FluidType("UNSATURATEDS", 0x628FAE, 1, 4, 1, EnumSymbol.NONE).addTraits(new FT_Flammable(1_000_000), GASEOUS); //acetylene burns as hot as satan's asshole - SALIENT = new FluidType("SALIENT", 0x457F2D, 0, 0, 0, EnumSymbol.NONE).addTraits(DELICIOUS, LIQUID); - XPJUICE = new FluidType("XPJUICE", 0xBBFF09, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); - ENDERJUICE = new FluidType("ENDERJUICE", 0x127766, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); + 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, VISCOUS); PETROIL_LEADED = new FluidType("PETROIL_LEADED", 0x44413d, 1, 3, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2331F6)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 450_000), LIQUID); GASOLINE_LEADED = new FluidType("GASOLINE_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2F775A)).addTraits(new FT_Flammable(400_000), new FT_Combustible(FuelGrade.HIGH, 1_500_000), LIQUID); COALGAS_LEADED = new FluidType("COALGAS_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x1E155F)).addTraits(new FT_Flammable(75_000), new FT_Combustible(FuelGrade.MEDIUM, 250_000), LIQUID); @@ -226,31 +227,31 @@ public class Fluids { COOLANT_HOT = new FluidType("COOLANT_HOT", 0x99525E, 1, 0, 0, EnumSymbol.NONE).setTemp(600).addTraits(LIQUID); MUG = new FluidType("MUG", 0x4B2D28, 0, 0, 0, EnumSymbol.NONE).addTraits(DELICIOUS, LIQUID); MUG_HOT = new FluidType("MUG_HOT", 0x6B2A20, 0, 0, 0, EnumSymbol.NONE).setTemp(500).addTraits(DELICIOUS, LIQUID); - WOODOIL = new FluidType("WOODOIL", 0x847D54, 2, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xBF7E4F)).addTraits(LIQUID); - COALCREOSOTE = new FluidType("COALCREOSOTE", 0x51694F, 3, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x285A3F)).addTraits(LIQUID); - SEEDSLURRY = new FluidType("SEEDSLURRY", 0x7CC35E, 0, 0, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x7CC35E)).addTraits(LIQUID); + WOODOIL = new FluidType("WOODOIL", 0x847D54, 2, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xBF7E4F)).addTraits(LIQUID, VISCOUS); + COALCREOSOTE = new FluidType("COALCREOSOTE", 0x51694F, 3, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x285A3F)).addTraits(LIQUID, VISCOUS); + SEEDSLURRY = new FluidType("SEEDSLURRY", 0x7CC35E, 0, 0, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x7CC35E)).addTraits(LIQUID, VISCOUS); NITRIC_ACID = new FluidType("NITRIC_ACID", 0xBB7A1E, 3, 0, 2, EnumSymbol.OXIDIZER).addTraits(LIQUID, new FT_Corrosive(60)); SOLVENT = new FluidType("SOLVENT", 0xE4E3EF, 2, 3, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0xE4E3EF)).addTraits(LIQUID, new FT_Corrosive(30)); - BLOOD = new FluidType("BLOOD", 0xB22424, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); - BLOOD_HOT = new FluidType("BLOOD_HOT", 0xF22419, 3, 0, 0, EnumSymbol.NONE).addTraits(LIQUID).setTemp(666); //it's funny because it's the satan number + BLOOD = new FluidType("BLOOD", 0xB22424, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); + 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)); CHLORINE = new FluidType("CHLORINE", 0xBAB572, 3, 0, 0, EnumSymbol.OXIDIZER).addContainers(new CD_Gastank(0xBAB572, 0x887B34)).addTraits(GASEOUS, new FT_Corrosive(25), new FT_Poison(true, 1)); - HEAVYOIL_VACUUM = new FluidType("HEAVYOIL_VACUUM", 0x131214, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(new CD_Canister(0x513F39)); - REFORMATE = new FluidType("REFORMATE", 0x835472, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(new CD_Canister(0xD180D6)); + HEAVYOIL_VACUUM = new FluidType("HEAVYOIL_VACUUM", 0x131214, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS).addContainers(new CD_Canister(0x513F39)); + REFORMATE = new FluidType("REFORMATE", 0x835472, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS).addContainers(new CD_Canister(0xD180D6)); LIGHTOIL_VACUUM = new FluidType("LIGHTOIL_VACUUM", 0x8C8851, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(new CD_Canister(0xB46B52)); SOURGAS = new FluidType("SOURGAS", 0xC9BE0D, 4, 4, 0, EnumSymbol.ACID).addContainers(new CD_Gastank(0xC9BE0D, 0x303030)).addTraits(GASEOUS, new FT_Corrosive(10), new FT_Poison(false, 1)); - XYLENE = new FluidType("XYLENE", 0x5C4E76, 2, 3, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(new CD_Canister(0xA380D6)); - HEATINGOIL_VACUUM = new FluidType("HEATINGOIL_VACUUM", 0x211D06, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(new CD_Canister(0x694235)); + XYLENE = new FluidType("XYLENE", 0x5C4E76, 2, 3, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS).addContainers(new CD_Canister(0xA380D6)); + HEATINGOIL_VACUUM = new FluidType("HEATINGOIL_VACUUM", 0x211D06, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS).addContainers(new CD_Canister(0x694235)); DIESEL_REFORM = new FluidType("DIESEL_REFORM", 0xCDC3C6, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(new CD_Canister(0xFFC500)); DIESEL_CRACK_REFORM = new FluidType("DIESEL_CRACK_REFORM",0xCDC3CC, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(new CD_Canister(0xFFC500)); KEROSENE_REFORM = new FluidType("KEROSENE_REFORM", 0xFFA5F3, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(new CD_Canister(0xFF377D)); REFORMGAS = new FluidType("REFORMGAS", 0x6362AE, 1, 4, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0x9392FF, 0xFFB992)).addTraits(GASEOUS); - COLLOID = new FluidType("COLLOID", 0x787878, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); + COLLOID = new FluidType("COLLOID", 0x787878, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); PHOSGENE = new FluidType("PHOSGENE", 0xCFC4A4, 4, 0, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0xCFC4A4, 0x361414)).addTraits(GASEOUS); MUSTARDGAS = new FluidType("MUSTARDGAS", 0xBAB572, 4, 1, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0xBAB572, 0x361414)).addTraits(GASEOUS); - IONGEL = new FluidType(103, "IONGEL", 0xB8FFFF, 1, 0, 4, EnumSymbol.NONE).addTraits(LIQUID); + IONGEL = new FluidType(103, "IONGEL", 0xB8FFFF, 1, 0, 4, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); // ^ ^ ^ ^ ^ ^ ^ ^ diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java b/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java index 908005f68..319a7e6d4 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java @@ -12,7 +12,8 @@ public class FluidTraitSimple { } } - public static class FT_Gaseous_ART extends FluidTrait { //at room temperature, for cryogenic hydrogen for example + /** gaseous at room temperature, for cryogenic hydrogen for example */ + public static class FT_Gaseous_ART extends FluidTrait { @Override public void addInfoHidden(List info) { info.add(EnumChatFormatting.BLUE + "[Gaseous at Room Temperature]"); } @@ -24,6 +25,13 @@ public class FluidTraitSimple { } } + /** to viscous to be sprayed/turned into a mist */ + public static class FT_Viscous extends FluidTrait { + @Override public void addInfoHidden(List info) { + info.add(EnumChatFormatting.BLUE + "[Viscous]"); + } + } + public static class FT_Plasma extends FluidTrait { @Override public void addInfoHidden(List info) { info.add(EnumChatFormatting.LIGHT_PURPLE + "[Plasma]"); diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderChemical.java b/src/main/java/com/hbm/render/entity/projectile/RenderChemical.java index ac68222fe..58bc4da95 100644 --- a/src/main/java/com/hbm/render/entity/projectile/RenderChemical.java +++ b/src/main/java/com/hbm/render/entity/projectile/RenderChemical.java @@ -29,12 +29,6 @@ public class RenderChemical extends Render { EntityChemical chem = (EntityChemical) entity; ChemicalStyle style = chem.getStyle(); - if(chem.lastClientPosX == -1 && chem.lastClientPosY == -1 && chem.lastClientPosZ == -1) { - chem.lastClientPosX = chem.posX - chem.motionX; - chem.lastClientPosY = chem.posY - chem.motionY; - chem.lastClientPosZ = chem.posZ - chem.motionZ; - } - if(style == ChemicalStyle.AMAT || style == ChemicalStyle.LIGHTNING) renderAmatBeam(chem, f1); @@ -47,10 +41,6 @@ public class RenderChemical extends Render { this.bindEntityTexture(chem); renderGasFire(chem, f1); } - - chem.lastClientPosX = chem.prevPosX + (chem.posX - chem.prevPosX) * f1; - chem.lastClientPosY = chem.prevPosX + (chem.posY - chem.prevPosY) * f1; - chem.lastClientPosZ = chem.prevPosX + (chem.posZ - chem.prevPosZ) * f1; GL11.glPopMatrix(); } diff --git a/src/main/resources/assets/hbm/textures/blocks/deco_steel_blank_outer.png b/src/main/resources/assets/hbm/textures/blocks/deco_steel_blank_outer.png new file mode 100644 index 0000000000000000000000000000000000000000..6602a54740ca0148aef2594b3ab5269e48f3804d GIT binary patch literal 549 zcmV+=0^0qFP)%;+*1Fn#-}CLqcOn9d2t?V>@{$+N&sUa@$>TV#k^#=1opN@13V@0T`~7~Uh{$}XN<`4MEh#0MrdhsI z6+{FDD5b0vU zl(HzOD&c{ul2XFmQB`WKs46*S0L*3_ZJK80J}A07UDqvGM;Eo$!o|e}oBkJnFH6QS z42a0`1h~4oVu}ewuzt7Y{l^b%HctqGyEC~j<9ocqIeCuV+}$q!f_=LGOhhHOiJ=U{ nA@NusYOGwT2tz5PJP+G%tWp-_E9Pwf00000NkvXXu0mjf>%;$m literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/vent.png b/src/main/resources/assets/hbm/textures/blocks/vent.png new file mode 100644 index 0000000000000000000000000000000000000000..e8e689ef9424bac711454131847f4e97eee4208e GIT binary patch literal 547 zcmV+;0^I$HP)1#o6otP#b9ebE?8coNppE1xktzIGNbdX)G&~GMM2VCq zNE|7O6Gs#_9g)^(|6pe(1+WA;!6V&bMsv=bbMF}$jYfeNRtVvs(lq7!&pW*LsP`Tb zVLYAi_TmkyimKwh$6AZ35<t;IQaK-leeIpqX`kQEs!BCJ-c`ohD* z!_j{9`+er~ImQSgf&!Ff34pa0fFwzdk{Dw)B?fiQp{m4jjQ5_wU_iUwJ^*A{2Ebym z;A#1U_n!5-!UvD8*K5kMtZfX3!+$n&w{C8308q8C0=3o>MNusc;Oy+|zXVlP0U#n9 zA`zk0YSo8>!2qDP@wfb4zf=_?W>1jkIdL3QRn?0YuCK2*x!CS?CtFo(S;s6i8jY=5 z_6m$KWLZY1)8X>+@)@8g3YyI(d7jrJ_s&BIng*e1>S(idKAukYf8q1(7rYO|jfkQw@LS-H lzz2U|$%s&tB~h#Z`~fDi0hpiaX>$Mo002ovPDHLkV1kbE`?UZ7 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/vent_side.png b/src/main/resources/assets/hbm/textures/blocks/vent_side.png new file mode 100644 index 0000000000000000000000000000000000000000..51f0e451f689a00b65b70d0af134d8f35a96a954 GIT binary patch literal 607 zcmV-l0-*hgP)?9w1Iy(TcXxL$x@TF2_nsKH zMz4Q-XSsYL%iUVw&Ff?C@9&w-X34UMV67#Dup@YQc*raEAqsU{<3xnM?^D8fJfx?N=W~n^L<9%WbsYfKT83fZ{pl%LmeKb;Wm%%CJUl#bb8`cL zF=icNa3KVobL4r>^Fm$bI6psUu~-05RTU>ECk(?tB%-PegGZy{hGC%Vx-^C{1`Wz$ zv3RjmV+>_c0^pp59*nh?EXz_t2!YXP^iLM7wRrCV5RtWzh@=7$VQ+5_5uvK8R9saR z)>`sBPiz=5TY;u&$nzZUJ#}3(o6VR^CIEQvQ|G2>==*-n#YWs2vr%#`*_uwL0E7?{ zNZxz$Jf|p%ja#-3j4{-8&3HWCvCf8twrwfPlBQ|W$u%g%xW2;C(Gj=5fAWfb=JRvQ}gM|XO_z+1R;cg4 Date: Sat, 15 Apr 2023 17:46:50 +0200 Subject: [PATCH 026/285] watz fixes, most remaining functionality, NBT and IO --- .../java/com/hbm/blocks/machine/Watz.java | 14 ++- .../java/com/hbm/inventory/gui/GUIWatz.java | 35 +++++++- .../com/hbm/items/machine/ItemWatzPellet.java | 3 + .../tileentity/machine/TileEntityWatz.java | 81 ++++++++++++++---- .../hbm/textures/gui/reactors/gui_watz.png | Bin 4569 -> 4570 bytes 5 files changed, 112 insertions(+), 21 deletions(-) diff --git a/src/main/java/com/hbm/blocks/machine/Watz.java b/src/main/java/com/hbm/blocks/machine/Watz.java index 8b0069f49..46de57e92 100644 --- a/src/main/java/com/hbm/blocks/machine/Watz.java +++ b/src/main/java/com/hbm/blocks/machine/Watz.java @@ -1,6 +1,7 @@ package com.hbm.blocks.machine; import com.hbm.blocks.BlockDummyable; +import com.hbm.handler.MultiblockHandlerXR; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityWatz; @@ -31,7 +32,7 @@ public class Watz extends BlockDummyable { @Override public int[] getDimensions() { - return new int[] {2, 0, 3, 3, 3, 3}; + return new int[] {2, 0, 3, 3, 1, 1}; } @Override @@ -41,13 +42,22 @@ public class Watz extends BlockDummyable { @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); //TODO + 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[]{2, 0, 2, 2, 2, -2}, x, y, z, dir) && + MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{2, 0, 2, 2, -2, 2}, x, y, z, dir) && + MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{2, 0, 1, 1, 3, -3}, x, y, z, dir) && + MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{2, 0, 1, 1, -3, 3}, x, y, z, dir); } @Override 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[]{2, 0, 2, 2, 2, -2}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{2, 0, 2, 2, -2, 2}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{2, 0, 1, 1, 3, -3}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[]{2, 0, 1, 1, -3, 3}, this, dir); + x += dir.offsetX * o; z += dir.offsetZ * o; diff --git a/src/main/java/com/hbm/inventory/gui/GUIWatz.java b/src/main/java/com/hbm/inventory/gui/GUIWatz.java index db0cbc54b..5153b1032 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIWatz.java +++ b/src/main/java/com/hbm/inventory/gui/GUIWatz.java @@ -4,11 +4,18 @@ 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.render.util.GaugeUtil; +import com.hbm.render.util.GaugeUtil.Gauge; import com.hbm.tileentity.machine.TileEntityWatz; 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.MathHelper; import net.minecraft.util.ResourceLocation; public class GUIWatz extends GuiInfoContainer { @@ -40,16 +47,31 @@ public class GUIWatz extends GuiInfoContainer { protected void drawGuiContainerForegroundLayer(int i, int j) { this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 93, 4210752); - String flux = "" + ((int)(watz.fluxDisplay * 10)) / 10.0D; - this.fontRendererObj.drawString(flux, 159 - this.fontRendererObj.getStringWidth(flux), 105, 0x00ff00); + double scale = 1.25; + String flux = String.format("%,.1f", watz.fluxDisplay); + GL11.glScaled(1 / scale, 1 / scale, 1); + this.fontRendererObj.drawString(flux, (int) (161 * scale - this.fontRendererObj.getStringWidth(flux)), (int)(107 * scale), 0x00ff00); + GL11.glScaled(scale, scale, 1); + } + + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + if(guiLeft + 142 <= x && guiLeft + 142 + 18 > x && guiTop + 70 < y && guiTop + 70 + 18 >= y) { + NBTTagCompound control = new NBTTagCompound(); + control.setBoolean("lock", true); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(control, watz.xCoord, watz.yCoord, watz.zCoord)); + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1F)); + } } @Override protected void drawGuiContainerBackgroundLayer(float interp, int x, int y) { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); - //float col = (float) (Math.sin(System.currentTimeMillis() / 500D) * 0.5 + 0.5); - //GL11.glColor4f(1.0F, col, col, 1.0F); + float col = MathHelper.clamp_float(1 - (float) Math.log(watz.heat / 100_000D + 1) * 0.4F, 0F, 1F); + GL11.glColor4f(1.0F, col, col, 1.0F); drawTexturedModalRect(guiLeft, guiTop, 0, 0, 131, 122); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); @@ -59,6 +81,11 @@ public class GUIWatz extends GuiInfoContainer { drawTexturedModalRect(guiLeft + 105, guiTop + 96, 185, 26, 30, 26); drawTexturedModalRect(guiLeft + 9, guiTop + 96, 184, 0, 26, 26); + if(watz.isOn) drawTexturedModalRect(guiLeft + 147, guiTop + 8, 176, 0, 8, 8); + if(watz.isLocked) drawTexturedModalRect(guiLeft + 142, guiTop + 70, 210, 0, 18, 18); + + GaugeUtil.renderGauge(Gauge.ROUND_SMALL, guiLeft + 13, guiTop + 100, this.zLevel, 1 - col); + watz.tanks[0].renderTank(guiLeft + 143, guiTop + 69, this.zLevel, 4, 43); watz.tanks[1].renderTank(guiLeft + 149, guiTop + 69, this.zLevel, 4, 43); watz.tanks[2].renderTank(guiLeft + 155, guiTop + 69, this.zLevel, 4, 43); diff --git a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java index 8a8df788e..0b782df9d 100644 --- a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java +++ b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java @@ -1,6 +1,7 @@ package com.hbm.items.machine; import java.util.List; +import java.util.Locale; import com.hbm.items.ItemEnumMulti; import com.hbm.items.ModItems; @@ -123,6 +124,8 @@ public class ItemWatzPellet extends ItemEnumMulti { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { EnumWatzType num = EnumUtil.grabEnumSafely(EnumWatzType.class, stack.getItemDamage()); + list.add(EnumChatFormatting.GREEN + "Depletion: " + String.format(Locale.US, "%.1f", getDurabilityForDisplay(stack) * 100D) + "%"); + String color = EnumChatFormatting.GOLD + ""; String reset = EnumChatFormatting.RESET + ""; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java index b66e14d9e..461d1e711 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java @@ -29,6 +29,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; @@ -41,6 +42,7 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand 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 public double fluxDisplay; + public boolean isOn; /* lock types for item IO */ public boolean isLocked = false; @@ -106,22 +108,23 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand segment.updateReaction(above, sharedTanks, turnedOn); } + /* send sync packets (order doesn't matter) */ + for(TileEntityWatz segment : segments) { + segment.isOn = turnedOn; + segment.sendPacket(sharedTanks); + segment.heat *= 0.99; //cool 1% per tick + } + /* re-distribute fluid from shared tanks back into actual tanks, bottom to top */ for(int i = segments.size() - 1; i >= 0; i--) { TileEntityWatz segment = segments.get(i); for(int j = 0; j < 3; j++) { int min = Math.min(segment.tanks[j].getMaxFill(), sharedTanks[j].getFill()); - segment.tanks[j].setFill(min); sharedTanks[j].setFill(sharedTanks[j].getFill() - min); + segment.tanks[j].setFill(min); } } - /* send sync packets (order doesn't matter) */ - for(TileEntityWatz segment : segments) { - segment.sendPacket(sharedTanks); - segment.heat *= 0.99; //cool 1% per tick - } - segments.get(segments.size() - 1).sendOutBottom(); } } @@ -150,8 +153,8 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand int cycles = Math.min(heatCycles, Math.min(hotCycles, coolCycles)); this.heat -= cycles * step.heatReq; - tanks[0].setFill(tanks[0].getFill() - coolCycles * step.amountReq); - tanks[1].setFill(tanks[1].getFill() + hotCycles * step.amountProduced); + tanks[0].setFill(tanks[0].getFill() - cycles * step.amountReq); + tanks[1].setFill(tanks[1].getFill() + cycles * step.amountProduced); } /** enforces strict top to bottom update order (instead of semi-random based on placement) */ @@ -244,12 +247,25 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand 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); } this.networkPack(data, 25); } + + @Override + public void networkUnpack(NBTTagCompound 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); + } + } /** Prevent manual updates when another segment is above this one */ public boolean updateLock() { @@ -281,14 +297,49 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand new DirPos(xCoord, yCoord - 1, zCoord - 2, ForgeDirection.DOWN) }; } - + @Override - public void networkUnpack(NBTTagCompound nbt) { - this.heat = nbt.getInteger("heat"); - this.fluxDisplay = nbt.getDouble("flux"); - for(int i = 0; i < tanks.length; i++) { - tanks[i].readFromNBT(nbt, "t" + i); + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + NBTTagList list = nbt.getTagList("locks", 10); + + for(int i = 0; i < list.tagCount(); i++) { + NBTTagCompound nbt1 = list.getCompoundTagAt(i); + byte b0 = nbt1.getByte("slot"); + if(b0 >= 0 && b0 < slots.length) { + locks[b0] = ItemStack.loadItemStackFromNBT(nbt1); + } } + + for(int i = 0; i < tanks.length; i++) tanks[i].readFromNBT(nbt, "t" + i); + this.fluxLastBase = nbt.getDouble("lastFluxB"); + this.fluxLastReaction = nbt.getDouble("lastFluxR"); + + this.isLocked = nbt.getBoolean("isLocked"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + NBTTagList list = new NBTTagList(); + + for(int i = 0; i < locks.length; i++) { + if(locks[i] != null) { + NBTTagCompound nbt1 = new NBTTagCompound(); + nbt1.setByte("slot", (byte) i); + locks[i].writeToNBT(nbt1); + list.appendTag(nbt1); + } + } + nbt.setTag("locks", list); + + for(int i = 0; i < tanks.length; i++) tanks[i].writeToNBT(nbt, "t" + i); + nbt.setDouble("lastFluxB", fluxLastBase); + nbt.setDouble("lastFluxR", fluxLastReaction); + + nbt.setBoolean("isLocked", isLocked); } @Override diff --git a/src/main/resources/assets/hbm/textures/gui/reactors/gui_watz.png b/src/main/resources/assets/hbm/textures/gui/reactors/gui_watz.png index 861c7678a0e4181bf11049b3c837de6bcdfd3790..975289a431f5c3bbbbe2f8a724f7ddaee69ef0f1 100644 GIT binary patch delta 1277 zcmV;x9SW{Zlc1isbEg-Wl6{51KxytDnYhfRSSW z2i1L5Rw`OMx!&ddpT0Hpd}U=p`{xc!yc7n|1F+AmU48%PzAwom{gXrrfWfW*!ghb9 zx0OHH(g#_qFKbWBy0Lj%`?{h%NsE_O*cFJWXj{)b8!c$RmpRY`vZ*k{}Du)Xb=V3g7 zo`C!L19{IC;|JM^6abAzL+k(Yui8D`?Dqov{r({SbNlBGw70Z1=?sALgNlEI8O$T= z^Y>f_knhoeBm>6)c275TWApaJvjO|(4pcc@2;4OY;Oy{XVMp>|>zOI<2lMmYAHVyq zq~r=TX^{iKFU<98Z)&Z+Jn>ZE-qM!VPLBM~c>X_f2-rB1&n%)0E?J2heCVR4RX!wD;j`*8zmQ_$N{b%+JpoxxmO&JF|#7h95luD|jcP z^rrTDCL4>r3()Cww0Nm^5O7=&_|HcusKW0KL@oZgxjCJkdn2KxLP)t9xMYx#djb5y z_6vR7^AQy`1mcX|dvtVEm|JL(omoF{{V@Se4+rL(p#X-yoFeZb5O#mvlX(AalhAPH zm>|@sz)5~Z)Qo@dRKKAn4Iw`0PJKle0g#R`*8zAj#-*Pq#2Fef(&|o+V2eZ0!HT@?L}mbV*qeIo+o*ey5ytJPwT#Kj66TB{VdS~fb%AG z??;~x+IkOe@vl$lF%15`Eyn=}061;52*W-e-P#9j{U<%n8oQHW5GgXSiT46jt5wzO z_1G^$JG28k4ShZM=)en%2t+$Jv@<#)5MK{&4kH55j`i*Ewe`v27?Um$CX;Xw6C4;3 zh<2=R2gzYXAlk9M9YzF74kH55j`i&@B2bf05JWI0jtB(Uh!KIzVHW^!7y$q{i~s-} zHt`@JqXN^84egAM3Jh}?6_|FcZ-;}^$zd0hy$~joIS~^_j0#LU*0+P?Fe)%|hf#se zVHW^!7y$q{i~vBc_}zb)@l8pd=Xu?ByUm*mIL7Y*c;#|A(**&--~gZ*qiDliM0zb*iMonUkKzE|HaQ&`dj?9`m*+p zw)(}tceJIo`m&^65G?Lo(cXtml}e@fOAdAaRE(b@dHbDr#&+L>rcdhXr?DGg@#i`AZWhPUP01Z`yi15U~ucduwChY zZRJn4^g-6@%i7bjZfxGxzOHCb(&D8Rb_HT8+SW7AMhn_6=E3Pf^Ne=&C(WOP*gb%Q z>b}<0oM~Qq0cOzyu*d4hgt()^~y3V?;}iX`bL$Hzn6{u`UOC8@vv?@zm- z1sxwB>-{muKe&tVS(DD1&;vkRv3mf2{sF&PrjMI<5Fzl?v{R<^01#KK063`bOOkd^ z5AOo31so4pt1oMDr*}GVZ%Vs_z-$*y(E~tSvBv{g*skc}=POg^Tim&#%HhJqc^FTi zC*XemK;Co3_(66e1wfP2n_8m zy{WyP$;M*u0(3eZEney!1RNIx{__zEs_?r5QHy_WZcbN$Q(w_V0Hh<#bpT$Bap@-t@yDL^OD%ID+iem8Zh~%cB_=fHVr1$~1#Qt6Y0Qp6e zVGt&NP5g3D6W_mAtyZjmody0*8sX@_eYJ){NIL&`N`h3v*gN46w^8EEN^LH(~joHZ8 zg9CXrtssM*pY}V0y@1hqM|%-j;}`&(=Ski>q%QgB^V7QT8zaw8Yd=f$0N}hy-TTq! zgSOs-Tm0)2dJKcVZ_9B20su}MEyA#mN4NGtTmMOqv&Jry!4M)j0swFr0RT8`;=KUX zYE|`mJ@$*x4(-5BLthU*I`9G`0@02Q?Tn5H#MgtH!-zn%V|_b(ZGCb$29qBVHIr}< z1Rq8Oq8;noL2?)oh<2=RhY^92!-zn%V|_b}2$UR-0h1sP9h1)x6hHz1a2NpqIE)d2 zXvg|?kerDl0s%H+L?Cn61ppjI000gn004(gJP63Bz_epSJENll!yHBhrXB0s;ox*~ z*aefW5H(5y0B{(i0@IH5?I1af3XI%gRA6)11ppjI000gn0FWzw_aA0_Q Date: Sun, 16 Apr 2023 21:28:45 +0200 Subject: [PATCH 027/285] bolt gun --- src/main/java/api/hbm/block/IToolable.java | 3 +- src/main/java/com/hbm/blocks/ModBlocks.java | 4 +- .../com/hbm/blocks/generic/BlockBoltable.java | 72 + .../java/com/hbm/items/IAnimatedItem.java | 14 + src/main/java/com/hbm/items/ModItems.java | 7 +- .../com/hbm/items/tool/ItemBlowtorch.java | 1 + .../java/com/hbm/items/tool/ItemBoltgun.java | 78 + src/main/java/com/hbm/main/ClientProxy.java | 23 +- .../java/com/hbm/main/ResourceManager.java | 2 + .../hbm/render/item/ItemRenderBoltgun.java | 98 + .../item/weapon/ItemRenderChainsaw.java | 3 - .../tileentity/machine/TileEntityWatz.java | 6 +- .../assets/hbm/models/weapons/boltgun.obj | 2415 +++++++++++++++++ .../hbm/textures/models/weapons/boltgun.png | Bin 0 -> 1069 bytes 14 files changed, 2708 insertions(+), 18 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/generic/BlockBoltable.java create mode 100644 src/main/java/com/hbm/items/IAnimatedItem.java create mode 100644 src/main/java/com/hbm/items/tool/ItemBoltgun.java create mode 100644 src/main/java/com/hbm/render/item/ItemRenderBoltgun.java create mode 100644 src/main/resources/assets/hbm/models/weapons/boltgun.obj create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/boltgun.png diff --git a/src/main/java/api/hbm/block/IToolable.java b/src/main/java/api/hbm/block/IToolable.java index 3a2a87931..429a14d59 100644 --- a/src/main/java/api/hbm/block/IToolable.java +++ b/src/main/java/api/hbm/block/IToolable.java @@ -12,6 +12,7 @@ public interface IToolable { HAND_DRILL, DEFUSER, WRENCH, - TORCH + TORCH, + BOLT } } diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 492d2092f..b3b3d3e51 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1981,7 +1981,7 @@ public class ModBlocks { 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_control = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_control_top").setBlockName("watz_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_control_side"); watz_cooler = new BlockGeneric(Material.iron).setBlockName("watz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_cooler"); - watz_end = new BlockGeneric(Material.iron).setBlockName("watz_end").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_casing"); + watz_end = new BlockBoltable(Material.iron).setBlockName("watz_end").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_casing"); watz_hatch = new WatzHatch(Material.iron).setBlockName("watz_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_hatch"); watz_conductor = new BlockCableConnect(Material.iron).setBlockName("watz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_conductor_top"); watz_core = new WatzCore(Material.iron).setBlockName("watz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_computer"); @@ -3263,7 +3263,7 @@ public class ModBlocks { GameRegistry.registerBlock(watz_element, watz_element.getUnlocalizedName()); GameRegistry.registerBlock(watz_control, watz_control.getUnlocalizedName()); GameRegistry.registerBlock(watz_cooler, watz_cooler.getUnlocalizedName()); - GameRegistry.registerBlock(watz_end, watz_end.getUnlocalizedName()); + register(watz_end); GameRegistry.registerBlock(watz_hatch, watz_hatch.getUnlocalizedName()); GameRegistry.registerBlock(watz_conductor, watz_conductor.getUnlocalizedName()); GameRegistry.registerBlock(watz_core, watz_core.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockBoltable.java b/src/main/java/com/hbm/blocks/generic/BlockBoltable.java new file mode 100644 index 000000000..87ff806ed --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockBoltable.java @@ -0,0 +1,72 @@ +package com.hbm.blocks.generic; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.BlockBase; +import com.hbm.blocks.IBlockMulti; +import com.hbm.blocks.ILookOverlay; +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; + +import api.hbm.block.IToolable; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.material.Material; +import net.minecraft.client.Minecraft; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class BlockBoltable extends BlockBase implements IToolable, ILookOverlay, IBlockMulti { + + public BlockBoltable(Material mat) { + super(mat); + } + + @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.BOLT) return false; + + return true; + } + + public List getMaterials(int meta) { + List list = new ArrayList(); + + return list; + } + + @Override + @SideOnly(Side.CLIENT) + public void printHook(Pre event, World world, int x, int y, int z) { + + ItemStack held = Minecraft.getMinecraft().thePlayer.getHeldItem(); + if(held == null || held.getItem() != ModItems.boltgun) return; + + List text = new ArrayList(); + text.add(EnumChatFormatting.GOLD + "Requires:"); + List materials = getMaterials(world.getBlockMetadata(x, y, z)); + + for(AStack stack : materials) { + try { + ItemStack display = stack.extractForCyclingDisplay(20); + text.add("- " + display.getDisplayName() + " x" + display.stackSize); + } catch(Exception ex) { + text.add(EnumChatFormatting.RED + "- ERROR"); + } + } + + if(!materials.isEmpty()) { + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(this.getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } + } + + @Override + public int getSubCount() { + return 1; + } +} diff --git a/src/main/java/com/hbm/items/IAnimatedItem.java b/src/main/java/com/hbm/items/IAnimatedItem.java new file mode 100644 index 000000000..1457b72a2 --- /dev/null +++ b/src/main/java/com/hbm/items/IAnimatedItem.java @@ -0,0 +1,14 @@ +package com.hbm.items; + +import com.hbm.render.anim.BusAnimation; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +@SideOnly(Side.CLIENT) +public interface IAnimatedItem { + + public BusAnimation getAnimation(NBTTagCompound data, ItemStack stack); +} diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index c9708afcd..d63f62630 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1802,6 +1802,7 @@ public class ModItems { 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; @@ -4408,6 +4409,7 @@ public class ModItems { 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 ItemCustomLore().setUnlocalizedName("arc_electrode").setMaxDamage(250).setCreativeTab(MainRegistry.controlTab).setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setFull3D().setTextureName(RefStrings.MODID + ":arc_electrode"); arc_electrode_burnt = new Item().setUnlocalizedName("arc_electrode_burnt").setMaxStackSize(1).setFull3D().setTextureName(RefStrings.MODID + ":arc_electrode_burnt"); @@ -6431,15 +6433,12 @@ public class ModItems { 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()); GameRegistry.registerItem(arc_electrode_desh, arc_electrode_desh.getUnlocalizedName()); - //Particle Collider Items - //GameRegistry.registerItem(crystal_energy, crystal_energy.getUnlocalizedName()); - //GameRegistry.registerItem(pellet_coolant, pellet_coolant.getUnlocalizedName()); - //Particle Collider Fuel GameRegistry.registerItem(part_lithium, part_lithium.getUnlocalizedName()); GameRegistry.registerItem(part_beryllium, part_beryllium.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/tool/ItemBlowtorch.java b/src/main/java/com/hbm/items/tool/ItemBlowtorch.java index 3e2285ec6..cb200d6ec 100644 --- a/src/main/java/com/hbm/items/tool/ItemBlowtorch.java +++ b/src/main/java/com/hbm/items/tool/ItemBlowtorch.java @@ -28,6 +28,7 @@ import net.minecraft.world.World; public class ItemBlowtorch extends Item implements IFillableItem { public ItemBlowtorch() { + this.setMaxStackSize(1); this.setFull3D(); this.setCreativeTab(MainRegistry.controlTab); } diff --git a/src/main/java/com/hbm/items/tool/ItemBoltgun.java b/src/main/java/com/hbm/items/tool/ItemBoltgun.java new file mode 100644 index 000000000..e0c1e0999 --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemBoltgun.java @@ -0,0 +1,78 @@ +package com.hbm.items.tool; + +import com.hbm.items.IAnimatedItem; +import com.hbm.lib.RefStrings; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationKeyframe; +import com.hbm.render.anim.BusAnimationSequence; + +import api.hbm.block.IToolable; +import api.hbm.block.IToolable.ToolType; +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.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.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class ItemBoltgun extends Item implements IAnimatedItem { + + public ItemBoltgun() { + this.setMaxStackSize(1); + } + + @Override + public Item setUnlocalizedName(String unlocalizedName) { + super.setUnlocalizedName(unlocalizedName); + this.setTextureName(RefStrings.MODID + ":"+ unlocalizedName); + return this; + } + + @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) { + + player.inventoryContainer.detectAndSendChanges(); + ForgeDirection dir = ForgeDirection.getOrientation(side); + double off = 0.25; + + 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, 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); + } + + return false; + } + + return false; + } + + @Override + @SideOnly(Side.CLIENT) + public BusAnimation getAnimation(NBTTagCompound data, ItemStack stack) { + return new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(1, 0, 1, 50)) + .addKeyframe(new BusAnimationKeyframe(0, 0, 1, 100))); + } +} diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 09cd6439d..3360a132b 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -64,6 +64,7 @@ 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.particle.*; import com.hbm.particle.psys.engine.EventHandlerParticleEngine; @@ -428,6 +429,7 @@ public class ClientProxy extends ServerProxy { 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()); @@ -1630,8 +1632,10 @@ public class ClientProxy extends ServerProxy { if("anim".equals(type)) { + String mode = data.getString("mode"); + /* crucible deploy */ - if("crucible".equals(data.getString("mode")) && player.getHeldItem() != null) { + if("crucible".equals(mode) && player.getHeldItem() != null) { BusAnimation animation = new BusAnimation() .addBus("GUARD_ROT", new BusAnimationSequence() @@ -1643,7 +1647,7 @@ public class ClientProxy extends ServerProxy { } /* crucible swing */ - if("cSwing".equals(data.getString("mode"))) { + if("cSwing".equals(mode)) { if(HbmAnimations.getRelevantTransformation("SWING_ROT")[0] == 0) { @@ -1666,7 +1670,7 @@ public class ClientProxy extends ServerProxy { } /* chainsaw swing */ - if("sSwing".equals(data.getString("mode")) || "lSwing".equals(data.getString("mode"))) { //temp for lance + if("sSwing".equals(mode) || "lSwing".equals(mode)) { //temp for lance int forward = 150; int sideways = 100; @@ -1709,6 +1713,19 @@ public class ClientProxy extends ServerProxy { 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)) { diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 9c4e51884..b442588d3 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -681,6 +681,7 @@ public class ResourceManager { 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")); @@ -754,6 +755,7 @@ public class ResourceManager { public static final ResourceLocation crucible_guard = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/crucible_guard.png"); public static final ResourceLocation crucible_blade = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/crucible_blade.png"); 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"); diff --git a/src/main/java/com/hbm/render/item/ItemRenderBoltgun.java b/src/main/java/com/hbm/render/item/ItemRenderBoltgun.java new file mode 100644 index 000000000..15fe471f6 --- /dev/null +++ b/src/main/java/com/hbm/render/item/ItemRenderBoltgun.java @@ -0,0 +1,98 @@ +package com.hbm.render.item; + +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 ItemRenderBoltgun 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.boltgun_tex); + + switch(type) { + + case EQUIPPED_FIRST_PERSON: + + double s0 = 0.15D; + GL11.glTranslated(0.5, 0.35, -0.25F); + GL11.glRotated(15, 0, 0, 1); + GL11.glRotated(80, 0, 1, 0); + GL11.glScaled(s0, s0, s0); + + GL11.glPushMatrix(); + double[] anim = HbmAnimations.getRelevantTransformation("RECOIL"); + GL11.glTranslated(0, 0, -anim[0]); + ResourceManager.boltgun.renderPart("Barrel"); + GL11.glPopMatrix(); + + break; + + case EQUIPPED: + + double scale = -0.375D; + GL11.glScaled(scale, scale, scale); + GL11.glRotated(85, 0, 1, 0); + GL11.glRotated(135D, 1.0D, 0.0D, 0.0D); + GL11.glTranslated(-0.125, -2.0, 1.75); + + break; + + case ENTITY: + + double s1 = 0.1D; + GL11.glScaled(s1, s1, s1); + break; + + case INVENTORY: + + GL11.glEnable(GL11.GL_ALPHA_TEST); + GL11.glEnable(GL11.GL_LIGHTING); + + double s = 1.75D; + GL11.glTranslated(7, 10, 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.boltgun.renderPart("Gun"); + if(type != type.EQUIPPED_FIRST_PERSON) { + ResourceManager.boltgun.renderPart("Barrel"); + } + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderChainsaw.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderChainsaw.java index 26522b8ef..f758b99b8 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderChainsaw.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderChainsaw.java @@ -12,8 +12,6 @@ import net.minecraft.util.MathHelper; import net.minecraftforge.client.IItemRenderer; public class ItemRenderChainsaw implements IItemRenderer { - - public ItemRenderChainsaw() { } @Override public boolean handleRenderType(ItemStack item, ItemRenderType type) { @@ -29,7 +27,6 @@ public class ItemRenderChainsaw implements IItemRenderer { @Override public boolean shouldUseRenderHelper(ItemRenderType type, ItemStack item, ItemRendererHelper helper) { - return type == ItemRenderType.ENTITY && (helper == ItemRendererHelper.ENTITY_ROTATION || helper == ItemRendererHelper.ENTITY_BOBBING); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java index 461d1e711..4b8bc95e3 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java @@ -131,11 +131,7 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand /** basic sanity checking, usually wouldn't do anything except when NBT loading borks */ public void setupCoolant() { - - if(!tanks[0].getTankType().hasTrait(FT_Heatable.class)) { - tanks[0].setTankType(Fluids.COOLANT); - } - + tanks[0].setTankType(Fluids.COOLANT); tanks[1].setTankType(tanks[0].getTankType().getTrait(FT_Heatable.class).getFirstStep().typeProduced); } diff --git a/src/main/resources/assets/hbm/models/weapons/boltgun.obj b/src/main/resources/assets/hbm/models/weapons/boltgun.obj new file mode 100644 index 000000000..0d9de366c --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/boltgun.obj @@ -0,0 +1,2415 @@ +# Blender v2.79 (sub 0) OBJ File: 'boltgun.blend' +# www.blender.org +o Barrel +v 0.000000 2.250000 1.000000 +v -0.176777 2.176777 1.000000 +v -0.250000 2.000000 1.000000 +v -0.176777 1.823223 1.000000 +v 0.000000 1.750000 1.000000 +v 0.176777 1.823223 1.000000 +v 0.250000 2.000000 1.000000 +v 0.176777 2.176777 1.000000 +v 0.000000 2.250000 3.500000 +v -0.176777 2.176777 3.500000 +v -0.250000 2.000000 3.500000 +v -0.176777 1.823223 3.500000 +v 0.000000 1.750000 3.500000 +v 0.176777 1.823223 3.500000 +v 0.250000 2.000000 3.500000 +v 0.176777 2.176777 3.500000 +v 0.000000 2.375000 3.500000 +v -0.265165 2.265165 3.500000 +v -0.375000 2.000000 3.500000 +v -0.265165 1.734835 3.500000 +v 0.000000 1.625000 3.500000 +v 0.265165 1.734835 3.500000 +v 0.375000 2.000000 3.500000 +v 0.265165 2.265165 3.500000 +v 0.000000 2.500000 4.500000 +v -0.353553 2.353553 4.500000 +v -0.500000 2.000000 4.500000 +v -0.353553 1.646447 4.500000 +v 0.000000 1.500000 4.500000 +v 0.353553 1.646447 4.500000 +v 0.500000 2.000000 4.500000 +v 0.353553 2.353553 4.500000 +v 0.000000 2.250000 4.500000 +v -0.176777 2.176777 4.500000 +v -0.250000 2.000000 4.500000 +v -0.176777 1.823223 4.500000 +v 0.000000 1.750000 4.500000 +v 0.176777 1.823223 4.500000 +v 0.250000 2.000000 4.500000 +v 0.176777 2.176777 4.500000 +v 0.000000 2.250000 3.750000 +v -0.176777 2.176777 3.750000 +v -0.250000 2.000000 3.750000 +v -0.176777 1.823223 3.750000 +v 0.000000 1.750000 3.750000 +v 0.176777 1.823223 3.750000 +v 0.250000 2.000000 3.750000 +v 0.176777 2.176777 3.750000 +vt 0.517647 0.250000 +vt 0.511765 0.229167 +vt 0.517647 0.229167 +vt 0.517647 0.479167 +vt 0.511765 0.500000 +vt 0.511765 0.479167 +vt 0.517647 0.416667 +vt 0.511765 0.395833 +vt 0.517647 0.395833 +vt 0.517647 0.270833 +vt 0.511765 0.291667 +vt 0.511765 0.270833 +vt 0.517647 0.208333 +vt 0.511765 0.187500 +vt 0.517647 0.187500 +vt 0.517647 0.437500 +vt 0.511765 0.458333 +vt 0.511765 0.437500 +vt 0.517647 0.375000 +vt 0.511765 0.354167 +vt 0.517647 0.354167 +vt 0.517647 0.333333 +vt 0.511765 0.312500 +vt 0.517647 0.312500 +vt 0.464706 0.291667 +vt 0.452941 0.270833 +vt 0.464706 0.250000 +vt 0.464706 0.208333 +vt 0.452941 0.187500 +vt 0.464706 0.166667 +vt 0.464706 0.458333 +vt 0.452941 0.437500 +vt 0.464706 0.416667 +vt 0.464706 0.375000 +vt 0.452941 0.354167 +vt 0.464706 0.333333 +vt 0.452941 0.333333 +vt 0.452941 0.312500 +vt 0.452941 0.250000 +vt 0.452941 0.229167 +vt 0.452941 0.500000 +vt 0.452941 0.479167 +vt 0.452941 0.416667 +vt 0.452941 0.395833 +vt 0.514165 0.571002 +vt 0.505882 0.583153 +vt 0.505882 0.500181 +vt 0.511765 0.250000 +vt 0.517647 0.500000 +vt 0.511765 0.416667 +vt 0.517647 0.291667 +vt 0.511765 0.208333 +vt 0.517647 0.458333 +vt 0.511765 0.375000 +vt 0.511765 0.333333 +vt 0.452941 0.291667 +vt 0.452941 0.208333 +vt 0.452941 0.458333 +vt 0.452941 0.375000 +vt 0.464706 0.500000 +vt 0.497599 0.571002 +vt 0.494169 0.541667 +vt 0.497599 0.512332 +vt 0.514165 0.512332 +vt 0.517596 0.541667 +vt 0.517647 0.145833 +vt 0.400000 0.125000 +vt 0.517647 0.125000 +vt 0.517647 0.104167 +vt 0.400000 0.083333 +vt 0.517647 0.083333 +vt 0.400000 0.062500 +vt 0.517647 0.062500 +vt 0.517647 0.041667 +vt 0.400000 0.020833 +vt 0.517647 0.020833 +vt 0.517647 0.166667 +vt 0.400000 0.145833 +vt 0.400000 0.104167 +vt 0.400000 0.041667 +vt 0.400000 -0.000000 +vt 0.517647 -0.000000 +vt 0.417647 0.395833 +vt 0.417647 0.270833 +vt 0.417647 0.187500 +vt 0.417647 0.437500 +vt 0.417647 0.354167 +vt 0.417647 0.312500 +vt 0.417647 0.229167 +vt 0.417647 0.479167 +vt 0.400000 0.166667 +vt 0.417647 0.416667 +vt 0.417647 0.291667 +vt 0.417647 0.208333 +vt 0.417647 0.458333 +vt 0.417647 0.375000 +vt 0.417647 0.333333 +vt 0.417647 0.250000 +vt 0.417647 0.500000 +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 +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 +s off +f 15/1/1 22/2/1 14/3/1 +f 12/4/1 21/5/1 20/6/1 +f 11/7/1 18/8/1 10/9/1 +f 15/10/1 24/11/1 23/12/1 +f 14/13/1 21/14/1 13/15/1 +f 11/16/1 20/17/1 19/18/1 +f 10/19/1 17/20/1 9/21/1 +f 9/22/1 24/23/1 16/24/1 +f 32/25/2 39/26/2 31/27/2 +f 30/28/2 37/29/2 29/30/2 +f 28/31/2 35/32/2 27/33/2 +f 26/34/2 33/35/2 25/36/2 +f 32/25/2 33/37/2 40/38/2 +f 30/28/2 39/39/2 38/40/2 +f 28/31/2 37/41/2 36/42/2 +f 26/34/2 35/43/2 34/44/2 +f 48/45/2 41/46/2 45/47/2 +f 15/1/1 23/48/1 22/2/1 +f 12/4/1 13/49/1 21/5/1 +f 11/7/1 19/50/1 18/8/1 +f 15/10/1 16/51/1 24/11/1 +f 14/13/1 22/52/1 21/14/1 +f 11/16/1 12/53/1 20/17/1 +f 10/19/1 18/54/1 17/20/1 +f 9/22/1 17/55/1 24/23/1 +f 32/25/2 40/56/2 39/26/2 +f 30/28/2 38/57/2 37/29/2 +f 28/31/2 36/58/2 35/32/2 +f 26/34/2 34/59/2 33/35/2 +f 32/25/2 25/36/2 33/37/2 +f 30/28/2 31/27/2 39/39/2 +f 28/31/2 29/60/2 37/41/2 +f 26/34/2 27/33/2 35/43/2 +f 41/46/2 42/61/2 45/47/2 +f 42/61/2 43/62/2 45/47/2 +f 43/62/2 44/63/2 45/47/2 +f 45/47/2 46/64/2 47/65/2 +f 47/65/2 48/45/2 45/47/2 +s 1 +f 4/66/3 11/67/4 3/68/4 +f 2/69/5 9/70/6 1/71/6 +f 1/71/6 16/72/7 8/73/7 +f 7/74/8 14/75/9 6/76/9 +f 5/77/10 12/78/3 4/66/3 +f 3/68/4 10/79/5 2/69/5 +f 8/73/7 15/80/8 7/74/8 +f 6/76/9 13/81/10 5/82/10 +f 17/55/11 32/25/12 24/23/12 +f 23/12/13 32/25/12 31/27/13 +f 23/48/13 30/28/14 22/2/14 +f 22/52/14 29/30/15 21/14/15 +f 21/5/15 28/31/16 20/6/16 +f 19/18/17 28/31/16 27/33/17 +f 19/50/17 26/34/18 18/8/18 +f 17/20/11 26/34/18 25/36/11 +f 35/43/8 42/83/9 34/44/9 +f 40/56/3 47/84/4 39/26/4 +f 38/57/5 45/85/6 37/29/6 +f 36/58/7 43/86/8 35/32/8 +f 34/59/9 41/87/10 33/35/10 +f 33/37/10 48/88/3 40/38/3 +f 39/39/4 46/89/5 38/40/5 +f 37/41/6 44/90/7 36/42/7 +f 4/66/3 12/78/3 11/67/4 +f 2/69/5 10/79/5 9/70/6 +f 1/71/6 9/70/6 16/72/7 +f 7/74/8 15/80/8 14/75/9 +f 5/77/10 13/91/10 12/78/3 +f 3/68/4 11/67/4 10/79/5 +f 8/73/7 16/72/7 15/80/8 +f 6/76/9 14/75/9 13/81/10 +f 17/55/11 25/36/11 32/25/12 +f 23/12/13 24/11/12 32/25/12 +f 23/48/13 31/27/13 30/28/14 +f 22/52/14 30/28/14 29/30/15 +f 21/5/15 29/60/15 28/31/16 +f 19/18/17 20/17/16 28/31/16 +f 19/50/17 27/33/17 26/34/18 +f 17/20/11 18/54/18 26/34/18 +f 35/43/8 43/92/8 42/83/9 +f 40/56/3 48/93/3 47/84/4 +f 38/57/5 46/94/5 45/85/6 +f 36/58/7 44/95/7 43/86/8 +f 34/59/9 42/96/9 41/87/10 +f 33/37/10 41/97/10 48/88/3 +f 39/39/4 47/98/4 46/89/5 +f 37/41/6 45/99/6 44/90/7 +o Gun +v 0.000000 3.000000 0.000000 +v -0.382684 2.923880 0.000000 +v -0.707107 2.707107 0.000000 +v -0.923879 2.382684 0.000000 +v -1.000000 2.000000 -0.000000 +v -0.923879 1.617316 -0.000000 +v -0.707107 1.292893 -0.000000 +v -0.382684 1.076120 -0.000000 +v -0.000000 1.000000 0.000000 +v 0.382683 1.076120 -0.000000 +v 0.707107 1.292893 -0.000000 +v 0.923879 1.617316 -0.000000 +v 1.000000 2.000000 -0.000000 +v 0.923879 2.382684 0.000000 +v 0.707107 2.707107 0.000000 +v 0.382683 2.923880 0.000000 +v 0.000000 3.000000 -3.000000 +v -0.382684 2.923880 -3.000000 +v -0.707107 2.707107 -3.000000 +v -0.923879 2.382684 -3.000000 +v -1.000000 2.000000 -3.000000 +v -0.923879 1.617316 -3.000000 +v -0.707107 1.292893 -3.000000 +v -0.382684 1.076120 -3.000000 +v -0.000000 1.000000 -3.000000 +v 0.382683 1.076120 -3.000000 +v 0.707107 1.292893 -3.000000 +v 0.923879 1.617316 -3.000000 +v 1.000000 2.000000 -3.000000 +v 0.923879 2.382684 -3.000000 +v 0.707107 2.707107 -3.000000 +v 0.382683 2.923880 -3.000000 +v 0.000000 2.375000 1.000000 +v -0.143506 2.346455 1.000000 +v -0.265165 2.265165 1.000000 +v -0.346455 2.143506 1.000000 +v -0.375000 2.000000 1.000000 +v -0.346455 1.856494 1.000000 +v -0.265165 1.734835 1.000000 +v -0.143506 1.653545 1.000000 +v 0.000000 1.625000 1.000000 +v 0.143506 1.653545 1.000000 +v 0.265165 1.734835 1.000000 +v 0.346455 1.856494 1.000000 +v 0.375000 2.000000 1.000000 +v 0.346455 2.143506 1.000000 +v 0.265165 2.265165 1.000000 +v 0.143506 2.346455 1.000000 +v -0.250000 2.000000 3.000000 +v 0.250000 2.000000 3.000000 +v -0.250000 2.000000 1.000000 +v 0.250000 2.000000 1.000000 +v -0.250000 -3.000000 0.000000 +v -0.250000 -3.000000 2.000000 +v 0.250000 -3.000000 2.000000 +v 0.250000 -3.000000 0.000000 +v -0.375000 2.000000 2.750000 +v -0.250000 2.000000 2.750000 +v -0.375000 2.000000 2.250000 +v -0.250000 2.000000 2.250000 +v -0.375000 -2.000000 1.450000 +v -0.375000 -2.000000 1.950000 +v -0.250000 -2.000000 1.950000 +v -0.250000 -2.000000 1.450000 +v 0.000000 2.375000 2.250000 +v -0.265165 2.265165 2.250000 +v -0.265165 2.265165 2.750000 +v 0.000000 2.375000 2.750000 +v 0.000000 1.625000 2.250000 +v 0.265165 1.734835 2.250000 +v 0.375000 2.000000 2.250000 +v 0.265165 2.265165 2.250000 +v 0.000000 1.625000 2.750000 +v 0.265165 1.734835 2.750000 +v 0.375000 2.000000 2.750000 +v 0.265165 2.265165 2.750000 +v 0.000000 2.250000 2.250000 +v -0.176777 2.176777 2.250000 +v 0.176777 1.823223 2.750000 +v -0.176777 2.176777 2.750000 +v 0.000000 2.250000 2.750000 +v 0.176777 1.823223 2.250000 +v 0.250000 2.000000 2.250000 +v 0.176777 2.176777 2.250000 +v 0.250000 2.000000 2.750000 +v 0.176777 2.176777 2.750000 +v 0.000000 1.750000 2.750000 +v 0.000000 1.750000 2.250000 +v -0.375000 2.000000 1.750000 +v -0.250000 2.000000 1.750000 +v -0.375000 2.000000 1.250000 +v -0.250000 2.000000 1.250000 +v -0.375000 -2.000000 0.450000 +v -0.375000 -2.000000 0.950000 +v -0.250000 -2.000000 0.950000 +v -0.250000 -2.000000 0.450000 +v 0.000000 2.375000 1.250000 +v -0.265165 2.265165 1.250000 +v -0.265165 2.265165 1.750000 +v 0.000000 2.375000 1.750000 +v 0.000000 1.625000 1.250000 +v 0.265165 1.734835 1.250000 +v 0.375000 2.000000 1.250000 +v 0.265165 2.265165 1.250000 +v 0.000000 1.625000 1.750000 +v 0.265165 1.734835 1.750000 +v 0.375000 2.000000 1.750000 +v 0.265165 2.265165 1.750000 +v 0.000000 2.250000 1.250000 +v -0.176777 2.176777 1.250000 +v 0.176777 1.823223 1.750000 +v -0.176777 2.176777 1.750000 +v 0.000000 2.250000 1.750000 +v 0.176777 1.823223 1.250000 +v 0.250000 2.000000 1.250000 +v 0.176777 2.176777 1.250000 +v 0.250000 2.000000 1.750000 +v 0.176777 2.176777 1.750000 +v 0.000000 1.750000 1.750000 +v 0.000000 1.750000 1.250000 +v 0.000000 2.750000 -3.500000 +v -0.287013 2.692910 -3.500000 +v -0.530330 2.530330 -3.500000 +v -0.692910 2.287013 -3.500000 +v -0.750000 2.000000 -3.500000 +v -0.692910 1.712987 -3.500000 +v -0.530330 1.469670 -3.500000 +v -0.287013 1.307090 -3.500000 +v -0.000000 1.250000 -3.500000 +v 0.287012 1.307090 -3.500000 +v 0.530330 1.469670 -3.500000 +v 0.692909 1.712987 -3.500000 +v 0.750000 2.000000 -3.500000 +v 0.692909 2.287013 -3.500000 +v 0.530330 2.530330 -3.500000 +v 0.287012 2.692910 -3.500000 +v 0.707106 1.480393 -3.750000 +v 0.707106 1.667893 -3.500000 +v 0.972272 1.558058 -2.500000 +v 0.441941 1.558058 -3.500000 +v 1.082107 1.292893 -2.500000 +v 0.332107 1.292893 -3.500000 +v 0.972272 1.027728 -2.500000 +v 0.441941 1.027728 -3.500000 +v 0.707107 0.917893 -2.500000 +v 0.707107 0.917893 -3.500000 +v 0.441942 1.027728 -2.500000 +v 0.972272 1.027728 -3.500000 +v 0.332107 1.292893 -2.500000 +v 1.082106 1.292893 -3.500000 +v 0.707107 1.292893 -1.500000 +v 0.707107 1.667893 -2.500000 +v 0.972271 1.558058 -3.500000 +v 0.839689 1.425476 -3.750000 +v 0.574524 1.425476 -3.750000 +v 0.519607 1.292893 -3.750000 +v 0.574524 1.160311 -3.750000 +v 0.707107 1.105393 -3.750000 +v 0.839689 1.160311 -3.750000 +v 0.894606 1.292893 -3.750000 +v -0.519607 1.292893 -3.750000 +v -0.332107 1.292893 -3.500000 +v -0.441942 1.027728 -2.500000 +v -0.441942 1.558058 -3.500000 +v -0.707107 0.917893 -2.500000 +v -0.707107 1.667893 -3.500000 +v -0.972272 1.027728 -2.500000 +v -0.972272 1.558058 -3.500000 +v -1.082107 1.292893 -2.500000 +v -1.082107 1.292893 -3.500000 +v -0.972272 1.558058 -2.500000 +v -0.972272 1.027728 -3.500000 +v -0.707107 1.667893 -2.500000 +v -0.707107 0.917893 -3.500000 +v -0.707107 1.292893 -1.500000 +v -0.332107 1.292893 -2.500000 +v -0.441942 1.027728 -3.500000 +v -0.574525 1.160311 -3.750000 +v -0.574524 1.425476 -3.750000 +v -0.707107 1.480393 -3.750000 +v -0.839690 1.425476 -3.750000 +v -0.894607 1.292893 -3.750000 +v -0.839690 1.160311 -3.750000 +v -0.707107 1.105393 -3.750000 +v -0.707107 2.519607 -3.750000 +v -0.707107 2.332107 -3.500000 +v -0.972272 2.441942 -2.500000 +v -0.441942 2.441942 -3.500000 +v -1.082107 2.707107 -2.500000 +v -0.332107 2.707107 -3.500000 +v -0.972272 2.972272 -2.500000 +v -0.441942 2.972272 -3.500000 +v -0.707107 3.082108 -2.500000 +v -0.707107 3.082108 -3.500000 +v -0.441942 2.972272 -2.500000 +v -0.972272 2.972272 -3.500000 +v -0.332107 2.707107 -2.500000 +v -1.082107 2.707107 -3.500000 +v -0.707107 2.707107 -1.500000 +v -0.707107 2.332107 -2.500000 +v -0.972272 2.441942 -3.500000 +v -0.839689 2.574524 -3.750000 +v -0.574524 2.574524 -3.750000 +v -0.519607 2.707107 -3.750000 +v -0.574524 2.839689 -3.750000 +v -0.707107 2.894607 -3.750000 +v -0.839689 2.839689 -3.750000 +v -0.894607 2.707107 -3.750000 +v 0.519607 2.707107 -3.750000 +v 0.332107 2.707107 -3.500000 +v 0.441942 2.972272 -2.500000 +v 0.441942 2.441941 -3.500000 +v 0.707107 3.082107 -2.500000 +v 0.707107 2.332107 -3.500000 +v 0.972272 2.972272 -2.500000 +v 0.972272 2.441941 -3.500000 +v 1.082107 2.707107 -2.500000 +v 1.082107 2.707107 -3.500000 +v 0.972272 2.441942 -2.500000 +v 0.972272 2.972272 -3.500000 +v 0.707107 2.332107 -2.500000 +v 0.707107 3.082107 -3.500000 +v 0.707107 2.707107 -1.500000 +v 0.332107 2.707107 -2.500000 +v 0.441942 2.972272 -3.500000 +v 0.574524 2.839689 -3.750000 +v 0.574524 2.574524 -3.750000 +v 0.707107 2.519607 -3.750000 +v 0.839689 2.574524 -3.750000 +v 0.894607 2.707107 -3.750000 +v 0.839689 2.839689 -3.750000 +v 0.707107 2.894607 -3.750000 +v 0.250000 1.500000 2.650000 +v 0.250000 -2.500000 1.850000 +v 0.250000 1.500000 1.150000 +v 0.250000 -2.500000 0.350000 +v 0.250000 1.500000 1.775000 +v 0.250000 -2.500000 0.975000 +v 0.250000 1.500000 2.025000 +v 0.250000 -2.500000 1.225000 +v -0.125000 1.500000 2.650000 +v -0.125000 -2.500000 1.850000 +v -0.125000 -2.500000 0.350000 +v -0.125000 1.500000 1.150000 +v -0.125000 -2.500000 0.975000 +v -0.125000 1.500000 1.775000 +v -0.125000 1.500000 2.025000 +v -0.125000 -2.500000 1.225000 +v 0.000000 1.593750 2.525000 +v 0.066291 1.566291 2.525000 +v 0.000000 1.687500 1.025000 +v 0.000000 1.687500 2.400000 +v 0.132583 1.632583 1.025000 +v 0.132583 1.632582 2.400000 +v 0.187500 1.500000 1.025000 +v 0.187500 1.500000 2.400000 +v 0.132583 1.367418 1.025000 +v 0.132583 1.367417 2.400000 +v 0.000000 1.312500 1.025000 +v 0.000000 1.312500 2.400000 +v -0.132583 1.367418 1.025000 +v -0.132583 1.367417 2.400000 +v -0.187500 1.500000 1.025000 +v -0.187500 1.500000 2.400000 +v -0.132583 1.632583 1.025000 +v -0.132583 1.632582 2.400000 +v 0.093750 1.500000 2.525000 +v 0.066291 1.433709 2.525000 +v 0.000000 1.406250 2.525000 +v -0.066291 1.433709 2.525000 +v -0.093750 1.500000 2.525000 +v -0.066291 1.566291 2.525000 +v 0.000000 0.093750 2.225000 +v 0.066291 0.066291 2.225000 +v 0.000000 0.187500 0.725000 +v 0.000000 0.187500 2.100000 +v 0.132583 0.132583 0.725000 +v 0.132583 0.132582 2.100000 +v 0.187500 0.000000 0.725000 +v 0.187500 0.000000 2.100000 +v 0.132583 -0.132582 0.725000 +v 0.132583 -0.132583 2.100000 +v 0.000000 -0.187500 0.725000 +v 0.000000 -0.187500 2.100000 +v -0.132583 -0.132582 0.725000 +v -0.132583 -0.132583 2.100000 +v -0.187500 0.000000 0.725000 +v -0.187500 0.000000 2.100000 +v -0.132583 0.132583 0.725000 +v -0.132583 0.132582 2.100000 +v 0.093750 0.000000 2.225000 +v 0.066291 -0.066291 2.225000 +v 0.000000 -0.093750 2.225000 +v -0.066291 -0.066291 2.225000 +v -0.093750 0.000000 2.225000 +v -0.066291 0.066291 2.225000 +v 0.000000 0.593750 2.325000 +v 0.066291 0.566291 2.325000 +v 0.000000 0.687500 0.825000 +v 0.000000 0.687500 2.200000 +v 0.132583 0.632583 0.825000 +v 0.132583 0.632582 2.200000 +v 0.187500 0.500000 0.825000 +v 0.187500 0.500000 2.200000 +v 0.132583 0.367418 0.825000 +v 0.132583 0.367417 2.200000 +v 0.000000 0.312500 0.825000 +v 0.000000 0.312500 2.200000 +v -0.132583 0.367418 0.825000 +v -0.132583 0.367417 2.200000 +v -0.187500 0.500000 0.825000 +v -0.187500 0.500000 2.200000 +v -0.132583 0.632583 0.825000 +v -0.132583 0.632582 2.200000 +v 0.093750 0.500000 2.325000 +v 0.066291 0.433709 2.325000 +v 0.000000 0.406250 2.325000 +v -0.066291 0.433709 2.325000 +v -0.093750 0.500000 2.325000 +v -0.066291 0.566291 2.325000 +v -0.066291 1.066291 2.425000 +v -0.093750 1.000000 2.425000 +v -0.066291 0.933709 2.425000 +v 0.000000 0.906250 2.425000 +v 0.066291 0.933709 2.425000 +v 0.093750 1.000000 2.425000 +v -0.132583 1.132582 2.300000 +v -0.132583 1.132583 0.925000 +v -0.187500 1.000000 2.300000 +v -0.187500 1.000000 0.925000 +v -0.132583 0.867417 2.300000 +v -0.132583 0.867418 0.925000 +v 0.000000 0.812500 2.300000 +v 0.000000 0.812500 0.925000 +v 0.132583 0.867417 2.300000 +v 0.132583 0.867418 0.925000 +v 0.187500 1.000000 2.300000 +v 0.187500 1.000000 0.925000 +v 0.132583 1.132582 2.300000 +v 0.132583 1.132583 0.925000 +v 0.000000 1.187500 2.300000 +v 0.000000 1.187500 0.925000 +v 0.066291 1.066291 2.425000 +v 0.000000 1.093750 2.425000 +v 0.000000 -2.406250 1.725000 +v 0.066291 -2.433709 1.725000 +v 0.000000 -2.312500 0.225000 +v 0.000000 -2.312500 1.600000 +v 0.132583 -2.367417 0.225000 +v 0.132583 -2.367418 1.600000 +v 0.187500 -2.500000 0.225000 +v 0.187500 -2.500000 1.600000 +v 0.132583 -2.632582 0.225000 +v 0.132583 -2.632583 1.600000 +v 0.000000 -2.687500 0.225000 +v 0.000000 -2.687500 1.600000 +v -0.132583 -2.632582 0.225000 +v -0.132583 -2.632583 1.600000 +v -0.187500 -2.500000 0.225000 +v -0.187500 -2.500000 1.600000 +v -0.132583 -2.367417 0.225000 +v -0.132583 -2.367418 1.600000 +v 0.093750 -2.500000 1.725000 +v 0.066291 -2.566291 1.725000 +v 0.000000 -2.593750 1.725000 +v -0.066291 -2.566291 1.725000 +v -0.093750 -2.500000 1.725000 +v -0.066291 -2.433709 1.725000 +v -0.066291 -0.433709 2.125000 +v -0.093750 -0.500000 2.125000 +v -0.066291 -0.566291 2.125000 +v 0.000000 -0.593750 2.125000 +v 0.066291 -0.566291 2.125000 +v 0.093750 -0.500000 2.125000 +v -0.132583 -0.367418 2.000000 +v -0.132583 -0.367417 0.625000 +v -0.187500 -0.500000 2.000000 +v -0.187500 -0.500000 0.625000 +v -0.132583 -0.632583 2.000000 +v -0.132583 -0.632582 0.625000 +v 0.000000 -0.687500 2.000000 +v 0.000000 -0.687500 0.625000 +v 0.132583 -0.632583 2.000000 +v 0.132583 -0.632582 0.625000 +v 0.187500 -0.500000 2.000000 +v 0.187500 -0.500000 0.625000 +v 0.132583 -0.367418 2.000000 +v 0.132583 -0.367417 0.625000 +v 0.000000 -0.312500 2.000000 +v 0.000000 -0.312500 0.625000 +v 0.066291 -0.433709 2.125000 +v 0.000000 -0.406250 2.125000 +v 0.000000 -0.906250 2.025000 +v 0.066291 -0.933709 2.025000 +v 0.000000 -0.812500 0.525000 +v 0.000000 -0.812500 1.900000 +v 0.132583 -0.867417 0.525000 +v 0.132583 -0.867418 1.900000 +v 0.187500 -1.000000 0.525000 +v 0.187500 -1.000000 1.900000 +v 0.132583 -1.132582 0.525000 +v 0.132583 -1.132583 1.900000 +v 0.000000 -1.187500 0.525000 +v 0.000000 -1.187500 1.900000 +v -0.132583 -1.132582 0.525000 +v -0.132583 -1.132583 1.900000 +v -0.187500 -1.000000 0.525000 +v -0.187500 -1.000000 1.900000 +v -0.132583 -0.867417 0.525000 +v -0.132583 -0.867418 1.900000 +v 0.093750 -1.000000 2.025000 +v 0.066291 -1.066291 2.025000 +v 0.000000 -1.093750 2.025000 +v -0.066291 -1.066291 2.025000 +v -0.093750 -1.000000 2.025000 +v -0.066291 -0.933709 2.025000 +v -0.066291 -1.433709 1.925000 +v -0.093750 -1.500000 1.925000 +v -0.066291 -1.566291 1.925000 +v 0.000000 -1.593750 1.925000 +v 0.066291 -1.566291 1.925000 +v 0.093750 -1.500000 1.925000 +v -0.132583 -1.367418 1.800000 +v -0.132583 -1.367417 0.425000 +v -0.187500 -1.500000 1.800000 +v -0.187500 -1.500000 0.425000 +v -0.132583 -1.632583 1.800000 +v -0.132583 -1.632582 0.425000 +v 0.000000 -1.687500 1.800000 +v 0.000000 -1.687500 0.425000 +v 0.132583 -1.632583 1.800000 +v 0.132583 -1.632582 0.425000 +v 0.187500 -1.500000 1.800000 +v 0.187500 -1.500000 0.425000 +v 0.132583 -1.367418 1.800000 +v 0.132583 -1.367417 0.425000 +v 0.000000 -1.312500 1.800000 +v 0.000000 -1.312500 0.425000 +v 0.066291 -1.433709 1.925000 +v 0.000000 -1.406250 1.925000 +v -0.066291 -1.933709 1.825000 +v -0.093750 -2.000000 1.825000 +v -0.066291 -2.066291 1.825000 +v 0.000000 -2.093750 1.825000 +v 0.066291 -2.066291 1.825000 +v 0.093750 -2.000000 1.825000 +v -0.132583 -1.867418 1.700000 +v -0.132583 -1.867417 0.325000 +v -0.187500 -2.000000 1.700000 +v -0.187500 -2.000000 0.325000 +v -0.132583 -2.132583 1.700000 +v -0.132583 -2.132582 0.325000 +v 0.000000 -2.187500 1.700000 +v 0.000000 -2.187500 0.325000 +v 0.132583 -2.132583 1.700000 +v 0.132583 -2.132582 0.325000 +v 0.187500 -2.000000 1.700000 +v 0.187500 -2.000000 0.325000 +v 0.132583 -1.867418 1.700000 +v 0.132583 -1.867417 0.325000 +v 0.000000 -1.812500 1.700000 +v 0.000000 -1.812500 0.325000 +v 0.066291 -1.933709 1.825000 +v 0.000000 -1.906250 1.825000 +v -0.375000 1.125000 -1.250000 +v 0.375000 1.125000 -1.250000 +v -0.375000 1.125000 -2.250000 +v 0.375000 1.125000 -2.250000 +v -0.187500 1.125000 -1.000000 +v 0.187500 1.125000 -1.000000 +v -0.375000 -1.375000 -2.750000 +v -0.375000 -1.375000 -1.750000 +v 0.375000 -1.375000 -1.750000 +v 0.375000 -1.375000 -2.750000 +v -0.187500 -1.375000 -1.500000 +v 0.187500 -1.375000 -1.500000 +v -0.187500 1.125000 -0.875000 +v 0.187500 1.125000 -0.875000 +v -0.187500 0.875000 -0.875000 +v 0.187500 0.875000 -0.875000 +v -0.187500 1.125000 -0.625000 +v 0.187500 1.125000 -0.625000 +v -0.187500 0.875000 -0.625000 +v 0.187500 0.875000 -0.625000 +v -0.125000 0.875000 -0.687500 +v 0.125000 0.875000 -0.687500 +v -0.125000 0.875000 -0.812500 +v 0.125000 0.875000 -0.812500 +v -0.125000 -0.625000 -1.112500 +v -0.125000 -0.625000 -0.987500 +v 0.125000 -0.625000 -0.987500 +v 0.125000 -0.625000 -1.112500 +v -0.125000 -0.875000 -1.112500 +v -0.125000 -0.875000 -0.987500 +v 0.125000 -0.875000 -0.987500 +v 0.125000 -0.875000 -1.112500 +v -0.125000 -1.375000 -0.862500 +v -0.125000 -1.375000 -0.737500 +v 0.125000 -1.375000 -0.737500 +v 0.125000 -1.375000 -0.862500 +vt 0.752941 0.687653 +vt 0.770545 0.750000 +vt 0.752941 0.812347 +vt 0.341176 0.000000 +vt 0.247059 0.083333 +vt 0.247059 0.000000 +vt 0.300000 0.833333 +vt 0.288235 0.166667 +vt 0.300000 0.166667 +vt 0.129412 0.916667 +vt 0.223529 0.083333 +vt 0.223529 0.916667 +vt 0.341176 0.083333 +vt 0.364706 0.916667 +vt 0.341176 0.916667 +vt 0.247059 0.916667 +vt 0.370588 0.020833 +vt 0.394118 0.000000 +vt 0.394118 0.020833 +vt 0.394118 0.687500 +vt 0.400000 0.020833 +vt 0.400000 0.687500 +vt 0.364706 0.687500 +vt 0.370588 0.687500 +vt 0.394118 0.770833 +vt 0.400000 0.729167 +vt 0.400000 0.770833 +vt 0.400000 0.812500 +vt 0.394118 0.812500 +vt 0.400000 0.854167 +vt 0.394118 0.854167 +vt 0.400000 0.895833 +vt 0.394118 0.895833 +vt 0.394118 0.937500 +vt 0.400000 0.937500 +vt 0.370588 0.937500 +vt 0.364706 0.895833 +vt 0.370588 0.895833 +vt 0.370588 0.854167 +vt 0.364706 0.854167 +vt 0.370588 0.812500 +vt 0.364706 0.812500 +vt 0.370588 0.770833 +vt 0.364706 0.729167 +vt 0.364706 0.770833 +vt 0.370588 0.020833 +vt 0.394118 0.000000 +vt 0.394118 0.020833 +vt 0.394118 0.687500 +vt 0.400000 0.020833 +vt 0.400000 0.687500 +vt 0.364706 0.687500 +vt 0.370588 0.687500 +vt 0.394118 0.770833 +vt 0.400000 0.729167 +vt 0.400000 0.770833 +vt 0.400000 0.812500 +vt 0.394118 0.812500 +vt 0.400000 0.854167 +vt 0.394118 0.854167 +vt 0.400000 0.895833 +vt 0.394118 0.895833 +vt 0.394118 0.937500 +vt 0.400000 0.937500 +vt 0.370588 0.937500 +vt 0.364706 0.895833 +vt 0.370588 0.895833 +vt 0.370588 0.854167 +vt 0.364706 0.854167 +vt 0.370588 0.812500 +vt 0.364706 0.812500 +vt 0.370588 0.770833 +vt 0.364706 0.729167 +vt 0.364706 0.770833 +vt 0.795473 0.213133 +vt 0.745703 0.213133 +vt 0.745703 0.036867 +vt 0.738036 0.677788 +vt 0.738036 0.634712 +vt 0.750199 0.634712 +vt 0.738036 0.677788 +vt 0.738036 0.634712 +vt 0.750199 0.634712 +vt 0.750199 0.634712 +vt 0.750199 0.677788 +vt 0.738036 0.677788 +vt 0.750199 0.634712 +vt 0.750199 0.677788 +vt 0.738036 0.677788 +vt 0.329412 0.166667 +vt 0.329412 0.833333 +vt 0.258824 0.833333 +vt 0.258824 0.166667 +vt 0.047059 0.000000 +vt 0.017647 0.062500 +vt 0.017647 0.000000 +vt 0.064706 0.062500 +vt 0.082353 0.729167 +vt 0.064706 0.729167 +vt 0.047059 0.729167 +vt 0.017647 0.729167 +vt 0.111765 0.729167 +vt 0.082353 0.062500 +vt 0.111765 0.062500 +vt 0.017647 0.791667 +vt 0.047059 0.791667 +vt 0.064706 0.729167 +vt 0.047059 0.062500 +vt 0.064706 0.062500 +vt 0.129412 0.729167 +vt 0.129412 0.062500 +vt 0.111765 0.000000 +vt 0.082353 -0.000000 +vt 0.000000 0.062500 +vt 0.000000 0.729167 +vt 0.082353 0.791667 +vt 0.111765 0.791667 +vt 0.435382 0.770833 +vt 0.441176 0.750310 +vt 0.446971 0.770833 +vt 0.435382 0.770833 +vt 0.441176 0.750310 +vt 0.446971 0.770833 +vt 0.435382 0.770833 +vt 0.441176 0.750310 +vt 0.446971 0.770833 +vt 0.435382 0.770833 +vt 0.441176 0.750310 +vt 0.446971 0.770833 +vt 0.435382 0.770833 +vt 0.441176 0.750310 +vt 0.446971 0.770833 +vt 0.435382 0.770833 +vt 0.441176 0.750310 +vt 0.446971 0.770833 +vt 0.435382 0.770833 +vt 0.441176 0.750310 +vt 0.446971 0.770833 +vt 0.435382 0.770833 +vt 0.441176 0.750310 +vt 0.446971 0.770833 +vt 0.435382 0.770833 +vt 0.441176 0.750310 +vt 0.446971 0.770833 +vt 0.858823 0.541667 +vt 0.841176 0.583333 +vt 0.841176 0.541667 +vt 0.841176 0.625000 +vt 0.858823 0.666667 +vt 0.841176 0.666667 +vt 0.917647 -0.000000 +vt 0.870588 0.125000 +vt 0.870588 0.000000 +vt 0.858824 0.083333 +vt 0.829412 0.541667 +vt 0.841176 0.125000 +vt 0.841176 0.541667 +vt 0.858824 0.125000 +vt 0.858824 0.541667 +vt 0.917647 0.541667 +vt 0.917647 0.125000 +vt 0.952941 0.541667 +vt 1.000000 0.125000 +vt 1.000000 0.541667 +vt 0.870588 0.541667 +vt 0.952941 0.125000 +vt 0.829412 0.625000 +vt 0.858823 0.625000 +vt 0.870588 0.583333 +vt 0.870588 0.625000 +vt 0.858823 0.583333 +vt 0.888235 0.687500 +vt 0.894118 0.645833 +vt 0.894118 0.687500 +vt 0.894118 0.937500 +vt 0.870588 0.937500 +vt 0.876471 0.687500 +vt 0.876471 0.937500 +vt 0.870588 0.687500 +vt 0.876471 0.645833 +vt 0.905882 0.562500 +vt 0.894118 0.541667 +vt 0.905882 0.541667 +vt 0.888235 0.645833 +vt 0.894118 0.562500 +vt 0.870588 0.562500 +vt 0.876471 0.562500 +vt 0.746204 0.807601 +vt 0.740493 0.794086 +vt 0.736677 0.773859 +vt 0.735337 0.750000 +vt 0.736677 0.726141 +vt 0.740493 0.705914 +vt 0.746204 0.692399 +vt 0.759678 0.692399 +vt 0.765389 0.705914 +vt 0.769205 0.726141 +vt 0.769205 0.773859 +vt 0.765389 0.794086 +vt 0.759678 0.807601 +vt 0.288235 0.833333 +vt 0.129412 0.083333 +vt 0.364706 0.083333 +vt 0.370588 -0.000000 +vt 0.364706 0.020833 +vt 0.394118 0.729167 +vt 0.364706 0.937500 +vt 0.370588 0.729167 +vt 0.370588 -0.000000 +vt 0.364706 0.020833 +vt 0.394118 0.729167 +vt 0.364706 0.937500 +vt 0.370588 0.729167 +vt 0.784055 0.240151 +vt 0.770588 0.249639 +vt 0.757121 0.240151 +vt 0.738075 0.172697 +vt 0.735396 0.125000 +vt 0.738075 0.077303 +vt 0.757120 0.009849 +vt 0.770588 0.000361 +vt 0.784055 0.009849 +vt 0.795473 0.036867 +vt 0.803101 0.077303 +vt 0.805780 0.125000 +vt 0.803101 0.172697 +vt 0.752718 0.656250 +vt 0.750199 0.677788 +vt 0.744118 0.686710 +vt 0.735517 0.656250 +vt 0.744117 0.625790 +vt 0.752718 0.656250 +vt 0.750199 0.677788 +vt 0.744118 0.686710 +vt 0.735517 0.656250 +vt 0.744118 0.625790 +vt 0.752718 0.656250 +vt 0.744118 0.686710 +vt 0.735517 0.656250 +vt 0.738036 0.634712 +vt 0.744118 0.625790 +vt 0.752718 0.656250 +vt 0.744118 0.686710 +vt 0.735517 0.656250 +vt 0.738036 0.634712 +vt 0.744117 0.625790 +vt 0.445274 0.785345 +vt 0.441176 0.791356 +vt 0.437079 0.785345 +vt 0.437079 0.756321 +vt 0.445274 0.756321 +vt 0.445274 0.785345 +vt 0.441176 0.791356 +vt 0.437079 0.785345 +vt 0.437079 0.756321 +vt 0.445274 0.756321 +vt 0.445274 0.785345 +vt 0.441176 0.791356 +vt 0.437079 0.785345 +vt 0.437079 0.756321 +vt 0.445274 0.756321 +vt 0.445274 0.785345 +vt 0.441176 0.791356 +vt 0.437079 0.785345 +vt 0.437079 0.756321 +vt 0.445274 0.756321 +vt 0.445274 0.785345 +vt 0.441176 0.791356 +vt 0.437079 0.785345 +vt 0.437079 0.756321 +vt 0.445274 0.756321 +vt 0.445274 0.785345 +vt 0.441176 0.791356 +vt 0.437079 0.785345 +vt 0.437079 0.756321 +vt 0.445274 0.756321 +vt 0.445274 0.785345 +vt 0.441176 0.791356 +vt 0.437079 0.785345 +vt 0.437079 0.756321 +vt 0.445274 0.756321 +vt 0.445274 0.785345 +vt 0.441176 0.791356 +vt 0.437079 0.785345 +vt 0.437079 0.756321 +vt 0.445274 0.756321 +vt 0.445274 0.785345 +vt 0.441176 0.791356 +vt 0.437079 0.785345 +vt 0.437079 0.756321 +vt 0.445274 0.756321 +vt 0.858824 0.041667 +vt 0.829412 0.125000 +vt 0.829412 0.583333 +vt 0.888235 0.937500 +vt 0.870588 0.645833 +vt 0.888235 0.562500 +vt 0.711765 0.312500 +vt 0.570588 0.375000 +vt 0.570588 0.312500 +vt 0.711765 0.875000 +vt 0.570588 0.937500 +vt 0.570588 0.875000 +vt 0.711765 0.375000 +vt 0.570588 0.437500 +vt 0.711765 0.937500 +vt 0.570588 1.000000 +vt 0.711765 0.500000 +vt 0.570588 0.562500 +vt 0.570588 0.500000 +vt 0.711765 0.437500 +vt 0.711765 0.000000 +vt 0.570588 0.062500 +vt 0.570588 0.000000 +vt 0.711765 0.562500 +vt 0.570588 0.625000 +vt 0.711765 0.062500 +vt 0.570588 0.125000 +vt 0.711765 0.625000 +vt 0.570588 0.687500 +vt 0.711765 0.125000 +vt 0.570588 0.187500 +vt 0.711765 0.687500 +vt 0.570588 0.750000 +vt 0.711765 0.187500 +vt 0.570588 0.250000 +vt 0.711765 0.750000 +vt 0.570588 0.812500 +vt 0.711765 0.250000 +vt 0.711765 0.812500 +vt 0.517647 0.333333 +vt 0.517647 0.895833 +vt 0.517647 0.395833 +vt 0.517647 0.958333 +vt 0.517647 0.541667 +vt 0.517647 0.520833 +vt 0.517647 0.479167 +vt 0.517647 0.458333 +vt 0.517647 0.020833 +vt 0.517647 0.583333 +vt 0.517647 0.083333 +vt 0.517647 0.645833 +vt 0.517647 0.166667 +vt 0.517647 0.145833 +vt 0.517647 0.708333 +vt 0.517647 0.208333 +vt 0.517647 0.770833 +vt 0.517647 0.270833 +vt 0.517647 0.833333 +vt 0.735294 0.250000 +vt 0.735294 0.312500 +vt 0.735294 0.875000 +vt 0.735294 0.375000 +vt 0.735294 0.937500 +vt 0.735294 0.437500 +vt 0.735294 1.000000 +vt 0.711765 1.000000 +vt 0.735294 0.562500 +vt 0.735294 0.500000 +vt 0.735294 0.062500 +vt 0.735294 0.625000 +vt 0.735294 0.125000 +vt 0.735294 0.687500 +vt 0.735294 0.187500 +vt 0.735294 0.750000 +vt 0.735294 0.812500 +vt 0.770588 0.291667 +vt 0.782353 0.250000 +vt 0.782353 0.291667 +vt 0.758824 0.458333 +vt 0.770588 0.458333 +vt 0.805882 0.458333 +vt 0.800000 0.625000 +vt 0.794118 0.458333 +vt 0.735294 0.291667 +vt 0.747059 0.250000 +vt 0.747059 0.291667 +vt 0.788235 0.625000 +vt 0.782353 0.458333 +vt 0.758824 0.250000 +vt 0.758824 0.291667 +vt 0.776471 0.625000 +vt 0.770588 0.250000 +vt 0.817647 0.458333 +vt 0.805882 0.291667 +vt 0.817647 0.291667 +vt 0.764706 0.625000 +vt 0.805882 0.250000 +vt 0.817647 0.250000 +vt 0.752941 0.625000 +vt 0.747059 0.458333 +vt 0.794118 0.250000 +vt 0.794118 0.291667 +vt 0.829412 0.291667 +vt 0.829412 0.250000 +vt 0.811765 0.625000 +vt 0.770588 0.291667 +vt 0.782353 0.250000 +vt 0.782353 0.291667 +vt 0.770588 0.458333 +vt 0.758824 0.291667 +vt 0.805882 0.458333 +vt 0.800000 0.625000 +vt 0.794118 0.458333 +vt 0.747059 0.291667 +vt 0.735294 0.250000 +vt 0.747059 0.250000 +vt 0.788235 0.625000 +vt 0.782353 0.458333 +vt 0.758824 0.250000 +vt 0.776471 0.625000 +vt 0.770588 0.250000 +vt 0.817647 0.458333 +vt 0.805882 0.291667 +vt 0.817647 0.291667 +vt 0.764706 0.625000 +vt 0.758824 0.458333 +vt 0.805882 0.250000 +vt 0.817647 0.250000 +vt 0.752941 0.625000 +vt 0.747059 0.458333 +vt 0.794118 0.250000 +vt 0.794118 0.291667 +vt 0.829412 0.291667 +vt 0.829412 0.250000 +vt 0.811765 0.625000 +vt 0.782353 0.291667 +vt 0.770588 0.250000 +vt 0.782353 0.250000 +vt 0.758824 0.458333 +vt 0.770588 0.291667 +vt 0.770588 0.458333 +vt 0.805882 0.458333 +vt 0.800000 0.625000 +vt 0.794118 0.458333 +vt 0.735294 0.291667 +vt 0.747059 0.250000 +vt 0.747059 0.291667 +vt 0.788235 0.625000 +vt 0.782353 0.458333 +vt 0.758824 0.291667 +vt 0.758824 0.250000 +vt 0.776471 0.625000 +vt 0.817647 0.458333 +vt 0.805882 0.291667 +vt 0.817647 0.291667 +vt 0.764706 0.625000 +vt 0.805882 0.250000 +vt 0.817647 0.250000 +vt 0.752941 0.625000 +vt 0.747059 0.458333 +vt 0.794118 0.291667 +vt 0.794118 0.250000 +vt 0.829412 0.250000 +vt 0.829412 0.291667 +vt 0.811765 0.625000 +vt 0.770588 0.291667 +vt 0.782353 0.250000 +vt 0.782353 0.291667 +vt 0.758824 0.458333 +vt 0.770588 0.458333 +vt 0.805882 0.458333 +vt 0.800000 0.625000 +vt 0.794118 0.458333 +vt 0.747059 0.291667 +vt 0.735294 0.250000 +vt 0.747059 0.250000 +vt 0.788235 0.625000 +vt 0.782353 0.458333 +vt 0.758824 0.250000 +vt 0.758824 0.291667 +vt 0.776471 0.625000 +vt 0.770588 0.250000 +vt 0.817647 0.291667 +vt 0.817647 0.458333 +vt 0.764706 0.625000 +vt 0.805882 0.250000 +vt 0.817647 0.250000 +vt 0.752941 0.625000 +vt 0.747059 0.458333 +vt 0.794118 0.250000 +vt 0.794118 0.291667 +vt 0.805882 0.291667 +vt 0.829412 0.250000 +vt 0.829412 0.291667 +vt 0.811765 0.625000 +vt 0.452941 0.854167 +vt 0.447059 0.833333 +vt 0.452941 0.833333 +vt 0.452941 0.875000 +vt 0.517647 0.854167 +vt 0.517647 0.875000 +vt 0.452941 0.770833 +vt 0.447059 0.791667 +vt 0.447059 0.770833 +vt 0.517647 0.833333 +vt 0.452941 0.895833 +vt 0.447059 0.875000 +vt 0.517647 0.812500 +vt 0.452941 0.812500 +vt 0.452941 0.791667 +vt 0.517647 0.791667 +vt 0.447059 0.916667 +vt 0.447059 0.895833 +vt 0.517647 0.770833 +vt 0.447059 0.812500 +vt 0.517647 0.750000 +vt 0.452941 0.750000 +vt 0.447059 0.750000 +vt 0.447059 0.854167 +vt 0.452941 0.916667 +vt 0.517647 0.895833 +vt 0.517647 0.916667 +vt 0.452941 0.854167 +vt 0.447059 0.833333 +vt 0.452941 0.833333 +vt 0.452941 0.875000 +vt 0.517647 0.854167 +vt 0.517647 0.875000 +vt 0.452941 0.791667 +vt 0.447059 0.770833 +vt 0.452941 0.770833 +vt 0.517647 0.833333 +vt 0.447059 0.895833 +vt 0.447059 0.875000 +vt 0.517647 0.812500 +vt 0.447059 0.812500 +vt 0.447059 0.791667 +vt 0.452941 0.812500 +vt 0.517647 0.791667 +vt 0.452941 0.895833 +vt 0.447059 0.916667 +vt 0.517647 0.770833 +vt 0.517647 0.750000 +vt 0.452941 0.750000 +vt 0.447059 0.750000 +vt 0.447059 0.854167 +vt 0.452941 0.916667 +vt 0.517647 0.895833 +vt 0.517647 0.916667 +vt 0.452941 0.854167 +vt 0.447059 0.833333 +vt 0.452941 0.833333 +vt 0.452941 0.875000 +vt 0.517647 0.854167 +vt 0.517647 0.875000 +vt 0.452941 0.791667 +vt 0.447059 0.770833 +vt 0.452941 0.770833 +vt 0.517647 0.833333 +vt 0.452941 0.895833 +vt 0.447059 0.875000 +vt 0.517647 0.812500 +vt 0.447059 0.812500 +vt 0.447059 0.791667 +vt 0.452941 0.812500 +vt 0.517647 0.791667 +vt 0.447059 0.916667 +vt 0.447059 0.895833 +vt 0.517647 0.770833 +vt 0.517647 0.750000 +vt 0.452941 0.750000 +vt 0.447059 0.750000 +vt 0.447059 0.854167 +vt 0.517647 0.916667 +vt 0.517647 0.895833 +vt 0.517647 0.895833 +vt 0.452941 0.875000 +vt 0.517647 0.875000 +vt 0.452941 0.916667 +vt 0.517647 0.916667 +vt 0.447059 0.854167 +vt 0.452941 0.854167 +vt 0.452941 0.750000 +vt 0.447059 0.770833 +vt 0.447059 0.750000 +vt 0.452941 0.770833 +vt 0.517647 0.750000 +vt 0.517647 0.770833 +vt 0.452941 0.833333 +vt 0.447059 0.812500 +vt 0.452941 0.812500 +vt 0.517647 0.791667 +vt 0.447059 0.895833 +vt 0.452941 0.895833 +vt 0.517647 0.812500 +vt 0.452941 0.791667 +vt 0.447059 0.791667 +vt 0.517647 0.833333 +vt 0.447059 0.875000 +vt 0.517647 0.854167 +vt 0.447059 0.833333 +vt 0.452941 0.854167 +vt 0.447059 0.833333 +vt 0.452941 0.833333 +vt 0.452941 0.875000 +vt 0.517647 0.854167 +vt 0.517647 0.875000 +vt 0.517647 0.895833 +vt 0.452941 0.875000 +vt 0.517647 0.875000 +vt 0.452941 0.791667 +vt 0.447059 0.770833 +vt 0.452941 0.770833 +vt 0.517647 0.833333 +vt 0.452941 0.916667 +vt 0.517647 0.916667 +vt 0.452941 0.895833 +vt 0.447059 0.875000 +vt 0.517647 0.812500 +vt 0.447059 0.854167 +vt 0.452941 0.854167 +vt 0.447059 0.812500 +vt 0.447059 0.791667 +vt 0.517647 0.791667 +vt 0.452941 0.750000 +vt 0.447059 0.770833 +vt 0.447059 0.750000 +vt 0.452941 0.916667 +vt 0.447059 0.895833 +vt 0.517647 0.770833 +vt 0.452941 0.770833 +vt 0.517647 0.750000 +vt 0.517647 0.770833 +vt 0.452941 0.812500 +vt 0.517647 0.750000 +vt 0.452941 0.750000 +vt 0.447059 0.750000 +vt 0.447059 0.854167 +vt 0.517647 0.895833 +vt 0.517647 0.916667 +vt 0.452941 0.833333 +vt 0.447059 0.812500 +vt 0.452941 0.812500 +vt 0.517647 0.791667 +vt 0.447059 0.895833 +vt 0.452941 0.895833 +vt 0.517647 0.812500 +vt 0.452941 0.791667 +vt 0.447059 0.791667 +vt 0.517647 0.833333 +vt 0.447059 0.875000 +vt 0.517647 0.854167 +vt 0.447059 0.833333 +vt 0.452941 0.854167 +vt 0.447059 0.833333 +vt 0.452941 0.833333 +vt 0.452941 0.875000 +vt 0.517647 0.854167 +vt 0.517647 0.875000 +vt 0.452941 0.791667 +vt 0.447059 0.770833 +vt 0.452941 0.770833 +vt 0.517647 0.833333 +vt 0.447059 0.895833 +vt 0.447059 0.875000 +vt 0.517647 0.812500 +vt 0.447059 0.812500 +vt 0.447059 0.791667 +vt 0.452941 0.812500 +vt 0.517647 0.791667 +vt 0.452941 0.916667 +vt 0.452941 0.895833 +vt 0.517647 0.770833 +vt 0.517647 0.750000 +vt 0.452941 0.750000 +vt 0.447059 0.750000 +vt 0.447059 0.854167 +vt 0.517647 0.895833 +vt 0.517647 0.916667 +vt 0.452941 0.895833 +vt 0.517647 0.875000 +vt 0.517647 0.895833 +vt 0.452941 0.916667 +vt 0.517647 0.916667 +vt 0.452941 0.854167 +vt 0.447059 0.875000 +vt 0.447059 0.854167 +vt 0.452941 0.750000 +vt 0.447059 0.770833 +vt 0.447059 0.750000 +vt 0.452941 0.770833 +vt 0.517647 0.750000 +vt 0.517647 0.770833 +vt 0.452941 0.833333 +vt 0.447059 0.812500 +vt 0.452941 0.812500 +vt 0.452941 0.791667 +vt 0.517647 0.791667 +vt 0.447059 0.916667 +vt 0.447059 0.895833 +vt 0.517647 0.812500 +vt 0.447059 0.791667 +vt 0.517647 0.833333 +vt 0.452941 0.875000 +vt 0.517647 0.854167 +vt 0.447059 0.833333 +vt 0.452941 0.895833 +vt 0.517647 0.875000 +vt 0.517647 0.895833 +vt 0.452941 0.916667 +vt 0.517647 0.916667 +vt 0.452941 0.875000 +vt 0.447059 0.854167 +vt 0.452941 0.854167 +vt 0.452941 0.750000 +vt 0.447059 0.770833 +vt 0.447059 0.750000 +vt 0.452941 0.770833 +vt 0.517647 0.750000 +vt 0.517647 0.770833 +vt 0.452941 0.833333 +vt 0.447059 0.812500 +vt 0.452941 0.812500 +vt 0.452941 0.791667 +vt 0.517647 0.791667 +vt 0.447059 0.895833 +vt 0.517647 0.812500 +vt 0.447059 0.791667 +vt 0.517647 0.833333 +vt 0.447059 0.875000 +vt 0.517647 0.854167 +vt 0.447059 0.833333 +vt 0.905882 0.687500 +vt 0.905882 0.937500 +vt 0.905882 0.645833 +vt 0.517647 0.354167 +vt 0.517647 0.916667 +vt 0.517647 0.416667 +vt 0.517647 0.979167 +vt 0.517647 0.041667 +vt 0.517647 0.604167 +vt 0.517647 0.104167 +vt 0.517647 0.666667 +vt 0.517647 0.729167 +vt 0.517647 0.229167 +vt 0.517647 0.791667 +vt 0.517647 0.291667 +vt 0.517647 0.854167 +vt 0.735294 0.000000 +vt 0.735294 0.250000 +vt 0.735294 0.291667 +vt 0.735294 0.250000 +vt 0.735294 0.291667 +vt 0.452941 0.916667 +vt 0.447059 0.916667 +vt 0.447059 0.916667 +vt 0.447059 0.916667 +vt 0.447059 0.916667 +vt 0.447059 0.916667 +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.1961 -0.9806 +vn 0.0000 -0.1961 0.9806 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 1.0000 0.0000 +vn -0.7943 -0.1191 0.5957 +vn 0.7943 -0.1191 0.5957 +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.9239 -0.3827 0.0000 +vn -0.9239 -0.3827 0.0000 +vn 0.5996 0.5996 0.5300 +vn 0.7834 0.3245 0.5300 +vn -0.3245 -0.7834 0.5300 +vn -0.5996 -0.5996 0.5300 +vn 0.3245 0.7834 0.5300 +vn -0.0000 -0.8480 0.5300 +vn 0.0000 0.8480 0.5300 +vn -0.3245 0.7834 0.5300 +vn 0.3245 -0.7834 0.5300 +vn -0.5996 0.5996 0.5300 +vn 0.5996 -0.5996 0.5300 +vn -0.7834 0.3245 0.5300 +vn 0.7834 -0.3245 0.5300 +vn -0.8480 -0.0000 0.5300 +vn 0.8480 -0.0000 0.5300 +vn -0.7834 -0.3245 0.5300 +vn 0.8263 0.3423 -0.4472 +vn 0.8944 0.0000 -0.4472 +vn -0.9830 0.1835 0.0000 +vn -0.9781 0.2082 0.0000 +vn -0.8263 -0.3423 -0.4472 +vn -0.6325 -0.6325 -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.0000 -0.8944 -0.4472 +vn 0.0000 0.8944 -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.6325 -0.6325 -0.4472 +vn -0.8263 0.3423 -0.4472 +vn 0.8263 -0.3423 -0.4472 +vn -0.8944 0.0000 -0.4472 +vn 0.0000 -0.8000 -0.6000 +vn 0.5657 -0.5657 -0.6000 +vn 0.6621 0.6621 0.3511 +vn 0.4698 -0.4698 0.7474 +vn 0.9363 0.0000 0.3511 +vn -0.5657 0.5657 -0.6000 +vn -0.8000 0.0000 -0.6000 +vn 0.6621 -0.6621 0.3511 +vn -0.5657 -0.5657 -0.6000 +vn -0.0000 -0.9363 0.3511 +vn -0.6621 -0.6621 0.3511 +vn -0.0000 0.8000 -0.6000 +vn 0.5657 0.5657 -0.6000 +vn -0.8730 -0.3616 0.3274 +vn 0.8000 -0.0000 -0.6000 +vn 0.3616 0.8730 0.3274 +vn -0.4698 -0.4698 0.7474 +vn -0.9363 0.0000 0.3511 +vn -0.6621 0.6621 0.3511 +vn -0.3616 0.8730 0.3274 +vn 0.8730 -0.3616 0.3274 +vn -0.4698 0.4698 0.7474 +vn 0.0000 0.9363 0.3511 +vn 0.8730 0.3616 0.3274 +vn -0.3616 -0.8730 0.3274 +vn 0.4698 0.4698 0.7474 +vn 0.3616 -0.8730 0.3274 +vn -0.8730 0.3616 0.3274 +vn 0.5657 0.5657 0.6000 +vn 0.8000 0.0000 0.6000 +vn -0.5657 -0.5657 0.6000 +vn -0.0000 -0.8000 0.6000 +vn -0.5657 0.5657 0.6000 +vn -0.0000 0.8000 0.6000 +vn 0.5657 -0.5657 0.6000 +vn -0.8000 0.0000 0.6000 +vn 0.0000 0.0985 -0.9951 +vn 0.0000 -0.0985 0.9951 +vn 0.0000 -0.2298 -0.9732 +vn 0.0000 -0.4472 -0.8944 +vn 0.0000 0.2298 0.9732 +vn 0.0000 0.4472 0.8944 +s off +f 89/100/19 93/101/19 81/102/19 +f 101/103/20 103/104/20 102/105/20 +f 285/106/21 288/107/21 286/108/21 +f 99/109/22 102/110/22 97/111/22 +f 104/112/23 99/113/23 100/114/23 +f 102/110/24 98/115/24 97/111/24 +f 109/116/20 111/117/20 110/118/20 +f 105/119/24 111/120/24 106/121/24 +f 108/122/23 109/116/23 107/123/23 +f 116/124/19 128/125/19 129/126/19 +f 128/125/19 105/119/19 106/121/19 +f 116/124/19 134/127/19 124/128/19 +f 124/128/19 133/129/19 123/130/19 +f 123/130/19 127/131/19 122/132/19 +f 121/133/19 127/131/19 135/134/19 +f 117/135/25 130/136/25 118/137/25 +f 130/136/25 119/138/25 118/137/25 +f 131/139/25 120/140/25 119/138/25 +f 132/141/25 113/142/25 120/140/25 +f 126/143/25 113/142/25 125/144/25 +f 107/123/25 126/143/25 108/122/25 +f 141/145/20 143/146/20 142/147/20 +f 137/148/24 143/149/24 138/150/24 +f 140/151/23 141/145/23 139/152/23 +f 148/153/19 160/154/19 161/155/19 +f 160/154/19 137/148/19 138/150/19 +f 148/153/19 166/156/19 156/157/19 +f 156/157/19 165/158/19 155/159/19 +f 155/159/19 159/160/19 154/161/19 +f 153/162/19 159/160/19 167/163/19 +f 149/164/25 162/165/25 150/166/25 +f 162/165/25 151/167/25 150/166/25 +f 163/168/25 152/169/25 151/167/25 +f 164/170/25 145/171/25 152/169/25 +f 158/172/25 145/171/25 157/173/25 +f 139/152/25 158/172/25 140/151/25 +f 171/174/25 183/175/25 179/176/25 +f 206/177/25 204/178/25 185/179/25 +f 230/180/25 228/181/25 209/182/25 +f 233/183/25 256/184/25 254/185/25 +f 257/186/25 280/187/25 278/188/25 +f 284/189/21 100/114/21 283/190/21 +f 281/191/21 103/104/21 282/192/21 +f 285/106/21 283/190/21 100/114/21 +f 104/112/21 284/189/21 286/108/21 +f 288/193/26 290/194/26 282/195/26 +f 286/196/23 294/197/23 285/198/23 +f 290/194/21 295/199/21 289/200/21 +f 292/201/21 293/202/21 291/203/21 +f 281/204/20 295/199/20 287/205/20 +f 287/206/24 296/207/24 288/208/24 +f 283/209/24 291/203/24 284/210/24 +f 284/211/26 293/202/26 286/212/26 +f 282/213/23 289/200/23 281/214/23 +f 285/215/20 292/201/20 283/216/20 +f 319/217/19 317/218/19 315/219/19 +f 343/220/19 341/221/19 339/222/19 +f 367/223/19 365/224/19 363/225/19 +f 370/226/19 372/227/19 374/228/19 +f 418/229/19 420/230/19 422/231/19 +f 415/232/19 413/233/19 411/234/19 +f 463/235/19 461/236/19 459/237/19 +f 466/238/19 468/239/19 470/240/19 +f 490/241/19 492/242/19 494/243/19 +f 529/244/19 532/245/19 530/246/19 +f 528/247/25 525/248/25 526/249/25 +f 519/250/20 521/251/20 520/252/20 +f 524/253/20 520/252/20 521/251/20 +f 513/254/27 523/255/27 517/256/27 +f 517/256/24 524/257/24 518/258/24 +f 516/259/21 521/251/21 522/260/21 +f 515/261/22 520/262/22 513/263/22 +f 514/264/28 524/257/28 521/251/28 +f 516/259/23 519/265/23 515/261/23 +f 526/266/21 532/245/21 528/247/21 +f 527/267/22 529/268/22 525/269/22 +f 528/247/20 531/270/20 527/267/20 +f 539/271/21 544/272/21 540/273/21 +f 536/274/21 539/271/21 540/273/21 +f 535/275/22 538/276/22 533/277/22 +f 537/278/22 542/279/22 538/276/22 +f 545/280/20 547/281/20 546/282/20 +f 543/283/21 548/284/21 544/272/21 +f 542/279/22 545/285/22 546/286/22 +f 81/102/19 82/287/19 83/288/19 +f 83/288/19 84/289/19 81/102/19 +f 84/289/19 85/290/19 81/102/19 +f 85/290/19 86/291/19 89/100/19 +f 86/291/19 87/292/19 89/100/19 +f 87/292/19 88/293/19 89/100/19 +f 89/100/19 90/294/19 91/295/19 +f 91/295/19 92/296/19 89/100/19 +f 92/296/19 93/101/19 89/100/19 +f 93/101/19 94/297/19 81/102/19 +f 94/297/19 95/298/19 81/102/19 +f 95/298/19 96/299/19 81/102/19 +f 81/102/19 85/290/19 89/100/19 +f 101/103/20 104/112/20 103/104/20 +f 285/106/21 287/300/21 288/107/21 +f 99/109/22 101/301/22 102/110/22 +f 104/112/23 101/302/23 99/113/23 +f 102/110/24 103/104/24 98/115/24 +f 109/116/20 112/303/20 111/117/20 +f 105/119/24 110/118/24 111/120/24 +f 108/122/23 112/304/23 109/116/23 +f 116/124/19 115/305/19 128/125/19 +f 128/125/19 115/305/19 105/119/19 +f 116/124/19 129/126/19 134/127/19 +f 124/128/19 134/127/19 133/129/19 +f 123/130/19 133/129/19 127/131/19 +f 121/133/19 122/132/19 127/131/19 +f 117/135/25 136/306/25 130/136/25 +f 130/136/25 131/139/25 119/138/25 +f 131/139/25 132/141/25 120/140/25 +f 132/141/25 125/144/25 113/142/25 +f 126/143/25 114/307/25 113/142/25 +f 107/123/25 114/307/25 126/143/25 +f 141/145/20 144/308/20 143/146/20 +f 137/148/24 142/147/24 143/149/24 +f 140/151/23 144/309/23 141/145/23 +f 148/153/19 147/310/19 160/154/19 +f 160/154/19 147/310/19 137/148/19 +f 148/153/19 161/155/19 166/156/19 +f 156/157/19 166/156/19 165/158/19 +f 155/159/19 165/158/19 159/160/19 +f 153/162/19 154/161/19 159/160/19 +f 149/164/25 168/311/25 162/165/25 +f 162/165/25 163/168/25 151/167/25 +f 163/168/25 164/170/25 152/169/25 +f 164/170/25 157/173/25 145/171/25 +f 158/172/25 146/312/25 145/171/25 +f 139/152/25 146/312/25 158/172/25 +f 171/174/25 170/313/25 169/314/25 +f 169/314/25 184/315/25 171/174/25 +f 184/315/25 183/175/25 171/174/25 +f 183/175/25 182/316/25 181/317/25 +f 181/317/25 180/318/25 183/175/25 +f 180/318/25 179/176/25 183/175/25 +f 179/176/25 178/319/25 177/320/25 +f 177/320/25 176/321/25 179/176/25 +f 176/321/25 175/322/25 179/176/25 +f 175/322/25 174/323/25 173/324/25 +f 173/324/25 172/325/25 171/174/25 +f 175/322/25 173/324/25 179/176/25 +f 173/324/25 171/174/25 179/176/25 +f 185/179/25 202/326/25 208/327/25 +f 208/327/25 207/328/25 206/177/25 +f 206/177/25 205/329/25 204/178/25 +f 204/178/25 203/330/25 185/179/25 +f 185/179/25 208/327/25 206/177/25 +f 209/182/25 226/331/25 232/332/25 +f 232/332/25 231/333/25 230/180/25 +f 230/180/25 229/334/25 228/181/25 +f 228/181/25 227/335/25 209/182/25 +f 209/182/25 232/332/25 230/180/25 +f 233/183/25 250/336/25 256/184/25 +f 256/184/25 255/337/25 254/185/25 +f 254/185/25 253/338/25 252/339/25 +f 252/339/25 251/340/25 254/185/25 +f 251/340/25 233/183/25 254/185/25 +f 257/186/25 274/341/25 280/187/25 +f 280/187/25 279/342/25 278/188/25 +f 278/188/25 277/343/25 257/186/25 +f 277/343/25 276/344/25 257/186/25 +f 276/344/25 275/345/25 257/186/25 +f 284/189/21 104/112/21 100/114/21 +f 281/191/21 98/115/21 103/104/21 +f 100/114/21 98/115/21 287/300/21 +f 98/115/21 281/191/21 287/300/21 +f 287/300/21 285/106/21 100/114/21 +f 282/192/21 103/104/21 288/107/21 +f 103/104/21 104/112/21 286/108/21 +f 288/107/21 103/104/21 286/108/21 +f 288/193/26 296/207/26 290/194/26 +f 286/196/23 293/202/23 294/197/23 +f 290/194/21 296/207/21 295/199/21 +f 292/201/21 294/197/21 293/202/21 +f 281/204/20 289/200/20 295/199/20 +f 287/206/24 295/199/24 296/207/24 +f 283/209/24 292/201/24 291/203/24 +f 284/211/26 291/203/26 293/202/26 +f 282/213/23 290/194/23 289/200/23 +f 285/215/20 294/197/20 292/201/20 +f 315/219/19 298/346/19 297/347/19 +f 297/347/19 320/348/19 319/217/19 +f 319/217/19 318/349/19 317/218/19 +f 317/218/19 316/350/19 315/219/19 +f 315/219/19 297/347/19 319/217/19 +f 339/222/19 322/351/19 321/352/19 +f 321/352/19 344/353/19 343/220/19 +f 343/220/19 342/354/19 341/221/19 +f 341/221/19 340/355/19 339/222/19 +f 339/222/19 321/352/19 343/220/19 +f 363/225/19 346/356/19 345/357/19 +f 345/357/19 368/358/19 367/223/19 +f 367/223/19 366/359/19 365/224/19 +f 365/224/19 364/360/19 363/225/19 +f 363/225/19 345/357/19 367/223/19 +f 374/228/19 391/361/19 392/362/19 +f 392/362/19 369/363/19 370/226/19 +f 370/226/19 371/364/19 372/227/19 +f 372/227/19 373/365/19 374/228/19 +f 374/228/19 392/362/19 370/226/19 +f 422/231/19 439/366/19 440/367/19 +f 440/367/19 417/368/19 418/229/19 +f 418/229/19 419/369/19 420/230/19 +f 420/230/19 421/370/19 422/231/19 +f 422/231/19 440/367/19 418/229/19 +f 411/234/19 394/371/19 393/372/19 +f 393/372/19 416/373/19 415/232/19 +f 415/232/19 414/374/19 413/233/19 +f 413/233/19 412/375/19 411/234/19 +f 411/234/19 393/372/19 415/232/19 +f 459/237/19 442/376/19 441/377/19 +f 441/377/19 464/378/19 463/235/19 +f 463/235/19 462/379/19 461/236/19 +f 461/236/19 460/380/19 459/237/19 +f 459/237/19 441/377/19 463/235/19 +f 470/240/19 487/381/19 488/382/19 +f 488/382/19 465/383/19 466/238/19 +f 466/238/19 467/384/19 468/239/19 +f 468/239/19 469/385/19 470/240/19 +f 470/240/19 488/382/19 466/238/19 +f 494/243/19 511/386/19 512/387/19 +f 512/387/19 489/388/19 490/241/19 +f 490/241/19 491/389/19 492/242/19 +f 492/242/19 493/390/19 494/243/19 +f 494/243/19 512/387/19 490/241/19 +f 529/244/19 531/270/19 532/245/19 +f 528/247/25 527/267/25 525/248/25 +f 519/250/20 522/260/20 521/251/20 +f 524/253/20 523/391/20 520/252/20 +f 513/254/27 520/392/27 523/255/27 +f 517/256/24 523/255/24 524/257/24 +f 516/259/21 514/264/21 521/251/21 +f 515/261/22 519/265/22 520/262/22 +f 514/264/28 518/258/28 524/257/28 +f 516/259/23 522/260/23 519/265/23 +f 526/266/21 530/393/21 532/245/21 +f 527/267/22 531/270/22 529/268/22 +f 528/247/20 532/245/20 531/270/20 +f 539/271/21 543/283/21 544/272/21 +f 536/274/21 534/394/21 539/271/21 +f 535/275/22 537/278/22 538/276/22 +f 537/278/22 541/395/22 542/279/22 +f 545/280/20 548/284/20 547/281/20 +f 543/283/21 547/396/21 548/284/21 +f 542/279/22 541/395/22 545/285/22 +s 1 +f 78/397/29 63/398/30 62/399/29 +f 71/400/31 56/401/32 55/402/31 +f 79/403/30 64/404/33 63/398/30 +f 72/405/32 57/406/20 56/401/32 +f 65/407/26 50/408/34 49/409/26 +f 80/410/33 49/409/26 64/404/33 +f 73/411/20 58/412/35 57/413/20 +f 66/414/34 51/415/36 50/408/34 +f 74/416/35 59/417/37 58/412/35 +f 67/418/36 52/419/38 51/415/36 +f 75/420/37 60/421/39 59/417/37 +f 68/422/38 53/423/22 52/419/38 +f 76/424/39 61/425/21 60/421/39 +f 69/426/22 54/427/40 53/423/22 +f 77/428/21 62/399/29 61/425/21 +f 70/429/40 55/402/31 54/427/40 +f 63/398/41 94/430/42 62/399/42 +f 56/401/43 87/431/44 55/402/44 +f 64/404/45 95/432/41 63/398/41 +f 57/406/46 88/433/43 56/401/43 +f 49/409/47 82/434/48 81/435/47 +f 64/404/45 81/436/47 96/437/45 +f 58/412/49 89/438/46 57/413/46 +f 51/415/50 82/439/48 50/408/48 +f 59/417/51 90/440/49 58/412/49 +f 52/419/52 83/441/50 51/415/50 +f 59/417/51 92/442/53 91/443/51 +f 53/423/54 84/444/52 52/419/52 +f 61/425/55 92/445/53 60/421/53 +f 54/427/56 85/446/54 53/423/54 +f 62/399/42 93/447/55 61/425/55 +f 55/402/44 86/448/56 54/427/56 +f 78/397/57 181/449/58 182/450/57 +f 107/123/59 110/118/22 105/119/60 +f 115/305/36 107/123/59 105/119/60 +f 114/307/36 116/124/26 113/142/26 +f 113/142/26 124/128/30 120/140/30 +f 120/140/30 123/130/21 119/138/21 +f 119/138/21 122/132/37 118/137/37 +f 121/133/35 118/137/37 122/132/37 +f 139/152/59 142/147/22 137/148/60 +f 147/310/36 139/152/59 137/148/60 +f 146/312/36 148/153/26 145/171/26 +f 145/171/26 156/157/30 152/169/30 +f 152/169/30 155/159/21 151/167/21 +f 151/167/21 154/161/37 150/166/37 +f 153/162/35 150/166/37 154/161/37 +f 70/429/61 175/451/62 71/400/62 +f 78/397/57 183/452/63 79/403/63 +f 72/405/64 175/451/62 176/453/64 +f 79/403/63 184/454/65 80/410/65 +f 72/405/64 177/455/66 73/456/66 +f 65/407/67 170/457/68 66/414/68 +f 80/410/65 169/458/67 65/407/67 +f 73/411/66 178/459/69 74/416/69 +f 66/414/68 171/460/70 67/418/70 +f 75/420/71 178/459/69 179/461/71 +f 68/422/72 171/460/70 172/462/72 +f 75/420/71 180/463/73 76/424/73 +f 69/426/74 172/462/72 173/464/74 +f 76/424/73 181/449/58 77/428/58 +f 69/426/74 174/465/61 70/429/61 +f 194/466/75 207/467/76 196/468/76 +f 195/469/31 194/466/20 193/470/20 +f 187/471/77 199/472/78 189/473/79 +f 188/474/80 204/475/81 190/476/81 +f 189/473/79 199/477/78 191/478/82 +f 190/476/81 205/479/83 192/480/83 +f 193/470/20 196/468/37 191/478/37 +f 191/478/82 199/481/78 193/470/84 +f 194/466/75 205/479/83 206/482/75 +f 200/483/33 201/484/30 186/485/33 +f 193/470/84 199/486/78 195/469/85 +f 186/485/86 202/487/87 185/488/86 +f 195/469/85 199/489/78 197/490/88 +f 196/468/76 208/491/89 198/492/89 +f 191/478/37 198/492/21 189/473/21 +f 189/473/21 201/484/30 187/471/30 +f 198/492/89 202/487/87 201/484/87 +f 188/493/80 185/488/86 203/494/80 +f 200/483/90 199/495/78 187/471/77 +f 197/490/40 192/480/31 195/469/31 +f 218/496/81 231/497/83 220/498/83 +f 217/499/22 216/500/36 218/496/22 +f 211/501/82 223/502/91 213/503/84 +f 214/504/86 227/505/87 228/506/86 +f 213/503/84 223/507/91 215/508/85 +f 214/504/86 229/509/80 216/500/80 +f 217/499/22 220/498/31 215/508/31 +f 215/508/85 223/510/91 217/499/92 +f 218/496/81 229/509/80 230/511/81 +f 224/512/39 225/513/37 210/514/39 +f 217/499/92 223/515/91 219/516/93 +f 210/514/89 226/517/76 209/518/89 +f 219/516/93 223/519/91 221/520/94 +f 220/498/83 232/521/75 222/522/75 +f 215/508/31 222/522/20 213/503/20 +f 213/503/20 225/513/37 211/501/37 +f 222/522/75 226/517/76 225/513/76 +f 212/523/87 209/518/89 227/524/87 +f 224/512/95 223/525/91 211/501/82 +f 221/520/34 216/500/36 219/516/36 +f 244/526/80 254/527/86 255/528/80 +f 243/529/30 242/530/26 241/531/26 +f 235/532/85 247/533/96 237/534/92 +f 236/535/76 252/536/89 238/537/89 +f 237/534/92 247/538/96 239/539/93 +f 240/540/87 252/536/89 253/541/87 +f 241/531/26 244/526/36 239/539/36 +f 239/539/93 247/542/96 241/531/97 +f 240/540/87 254/527/86 242/530/86 +f 248/543/32 249/544/31 234/545/32 +f 241/531/97 247/546/96 243/529/77 +f 234/545/75 250/547/83 233/548/75 +f 243/529/77 247/549/96 245/550/98 +f 246/551/81 255/528/80 256/552/81 +f 239/539/36 246/551/22 237/534/22 +f 237/534/22 249/544/31 235/532/31 +f 246/551/81 250/547/83 249/544/83 +f 234/545/75 251/553/76 236/554/76 +f 248/543/99 247/555/96 235/532/85 +f 245/550/29 240/540/30 243/529/30 +f 266/556/89 279/557/87 268/558/87 +f 267/559/37 266/556/21 265/560/21 +f 259/561/93 271/562/100 261/563/97 +f 262/564/75 275/565/83 276/566/75 +f 261/563/97 271/567/100 263/568/77 +f 262/564/75 277/569/76 264/570/76 +f 265/560/21 268/558/30 263/568/30 +f 263/568/77 271/571/100 265/560/79 +f 266/556/89 277/569/76 278/572/89 +f 259/561/36 258/573/38 272/574/38 +f 265/560/79 271/575/100 267/559/82 +f 258/573/81 274/576/80 257/577/81 +f 267/559/82 271/578/100 269/579/101 +f 268/558/87 280/580/86 270/581/86 +f 263/568/30 270/581/26 261/563/26 +f 261/563/26 273/582/36 259/561/36 +f 270/581/86 274/576/80 273/582/80 +f 258/573/81 275/583/83 260/584/83 +f 272/574/102 271/585/100 259/561/93 +f 269/579/35 264/570/37 267/559/37 +f 302/586/103 315/587/104 304/588/104 +f 300/589/26 301/590/30 299/591/26 +f 310/592/105 317/593/106 318/594/105 +f 302/586/30 303/595/21 301/590/30 +f 314/596/107 297/597/108 300/589/108 +f 304/588/21 305/598/37 303/595/21 +f 306/599/109 317/593/106 308/600/106 +f 306/599/37 307/601/20 305/598/37 +f 314/596/107 319/602/110 320/603/107 +f 308/600/20 309/604/31 307/601/20 +f 304/588/104 316/605/109 306/599/109 +f 310/592/31 311/606/22 309/604/31 +f 312/607/110 318/594/105 319/608/110 +f 300/589/108 298/609/103 302/586/103 +f 312/610/22 313/611/36 311/612/22 +f 314/596/36 299/591/26 313/611/36 +f 326/613/103 339/614/104 328/615/104 +f 324/616/26 325/617/30 323/618/26 +f 332/619/106 342/620/105 334/621/105 +f 325/617/30 328/615/21 327/622/21 +f 324/616/108 344/623/107 321/624/108 +f 328/615/21 329/625/37 327/622/21 +f 332/619/106 340/626/109 341/627/106 +f 330/628/37 331/629/20 329/625/37 +f 338/630/107 343/631/110 344/623/107 +f 332/619/20 333/632/31 331/629/20 +f 328/615/104 340/626/109 330/628/109 +f 334/621/31 335/633/22 333/632/31 +f 336/634/110 342/620/105 343/635/110 +f 324/616/108 322/636/103 326/613/103 +f 336/637/22 337/638/36 335/639/22 +f 338/630/36 323/618/26 337/638/36 +f 350/640/103 363/641/104 352/642/104 +f 348/643/26 349/644/30 347/645/26 +f 356/646/106 366/647/105 358/648/105 +f 350/640/30 351/649/21 349/644/30 +f 362/650/107 345/651/108 348/643/108 +f 352/642/21 353/652/37 351/649/21 +f 356/646/106 364/653/109 365/654/106 +f 354/655/37 355/656/20 353/652/37 +f 362/650/107 367/657/110 368/658/107 +f 356/646/20 357/659/31 355/656/20 +f 352/642/104 364/653/109 354/655/109 +f 358/648/31 359/660/22 357/659/31 +f 360/661/110 366/647/105 367/662/110 +f 348/643/108 346/663/103 350/640/103 +f 359/664/22 362/650/36 361/665/36 +f 361/665/36 348/643/26 347/645/26 +f 376/666/36 389/667/26 390/668/26 +f 377/669/22 376/666/36 378/670/22 +f 389/667/108 391/671/103 387/672/103 +f 377/673/110 371/674/105 370/675/110 +f 379/676/31 378/677/22 380/678/31 +f 385/679/104 373/680/109 383/681/109 +f 382/682/20 379/676/31 380/678/31 +f 377/669/110 369/683/107 375/684/107 +f 383/681/37 382/682/20 384/685/37 +f 381/686/106 373/680/109 372/687/106 +f 385/679/21 384/685/37 386/688/21 +f 375/684/107 392/689/108 389/667/108 +f 387/672/30 386/688/21 388/690/30 +f 381/686/106 371/674/105 379/676/105 +f 389/667/26 388/690/30 390/668/26 +f 387/672/103 374/691/104 385/679/104 +f 398/692/103 411/693/104 400/694/104 +f 396/695/26 397/696/30 395/697/26 +f 424/698/36 437/699/26 438/700/26 +f 404/701/106 414/702/105 406/703/105 +f 398/692/30 399/704/21 397/696/30 +f 425/705/22 424/698/36 426/706/22 +f 410/707/107 393/708/108 396/695/108 +f 400/694/21 401/709/37 399/704/21 +f 437/699/108 439/710/103 435/711/103 +f 404/701/106 412/712/109 413/713/106 +f 401/709/37 404/701/20 403/714/20 +f 425/715/110 419/716/105 418/717/110 +f 408/718/110 416/719/107 410/707/107 +f 404/701/20 405/720/31 403/714/20 +f 427/721/31 426/722/22 428/723/31 +f 400/694/104 412/712/109 402/724/109 +f 406/703/31 407/725/22 405/720/31 +f 408/726/110 414/702/105 415/727/110 +f 398/692/103 393/708/108 394/728/103 +f 408/718/22 409/729/36 407/730/22 +f 433/731/104 421/732/109 431/733/109 +f 430/734/20 427/721/31 428/723/31 +f 410/707/36 395/697/26 409/729/36 +f 425/705/110 417/735/107 423/736/107 +f 431/733/37 430/734/20 432/737/37 +f 429/738/106 421/732/109 420/739/106 +f 433/731/21 432/737/37 434/740/21 +f 437/699/108 417/735/107 440/741/108 +f 435/711/30 434/740/21 436/742/30 +f 429/738/106 419/716/105 427/721/105 +f 437/699/26 436/742/30 438/700/26 +f 435/711/103 422/743/104 433/731/104 +f 446/744/103 459/745/104 448/746/104 +f 444/747/26 445/748/30 443/749/26 +f 452/750/106 462/751/105 454/752/105 +f 446/744/30 447/753/21 445/748/30 +f 444/747/108 464/754/107 441/755/108 +f 448/746/21 449/756/37 447/753/21 +f 452/750/106 460/757/109 461/758/106 +f 450/759/37 451/760/20 449/756/37 +f 456/761/110 464/754/107 458/762/107 +f 452/750/20 453/763/31 451/760/20 +f 448/746/104 460/757/109 450/759/109 +f 454/752/31 455/764/22 453/763/31 +f 456/765/110 462/751/105 463/766/110 +f 444/747/108 442/767/103 446/744/103 +f 456/761/22 457/768/36 455/769/22 +f 458/762/36 443/749/26 457/768/36 +f 471/770/36 486/771/26 472/772/36 +f 473/773/22 472/772/36 474/774/22 +f 483/775/103 488/776/108 487/777/103 +f 473/778/110 467/779/105 466/780/110 +f 475/781/31 474/782/22 476/783/31 +f 481/784/104 469/785/109 479/786/109 +f 477/787/20 476/783/31 478/788/20 +f 471/770/107 466/789/110 465/790/107 +f 479/786/37 478/788/20 480/791/37 +f 477/787/106 469/785/109 468/792/106 +f 481/784/21 480/791/37 482/793/21 +f 471/770/107 488/776/108 485/794/108 +f 483/775/30 482/793/21 484/795/30 +f 477/787/106 467/779/105 475/781/105 +f 485/794/26 484/795/30 486/771/26 +f 483/775/103 470/796/104 481/784/104 +f 495/797/36 510/798/26 496/799/36 +f 497/800/22 496/799/36 498/801/22 +f 509/802/108 511/803/103 507/804/103 +f 497/805/110 491/806/105 490/807/110 +f 499/808/31 498/809/22 500/810/31 +f 505/811/104 493/812/109 503/813/109 +f 501/814/20 500/810/31 502/815/20 +f 497/800/110 489/816/107 495/797/107 +f 503/813/37 502/815/20 504/817/37 +f 501/814/106 493/812/109 492/818/106 +f 505/811/21 504/817/37 506/819/21 +f 509/802/108 489/816/107 512/820/108 +f 507/804/30 506/819/21 508/821/30 +f 501/814/106 491/806/105 499/808/105 +f 509/802/26 508/821/30 510/798/26 +f 505/811/104 511/803/103 494/822/104 +f 536/274/23 537/823/111 535/824/23 +f 533/277/24 539/271/112 534/394/24 +f 544/272/113 545/280/114 541/825/113 +f 540/273/111 541/825/113 537/823/111 +f 538/276/112 543/283/115 539/271/112 +f 542/279/115 547/396/116 543/283/115 +f 78/397/29 79/403/30 63/398/30 +f 71/400/31 72/405/32 56/401/32 +f 79/403/30 80/410/33 64/404/33 +f 72/405/32 73/456/20 57/406/20 +f 65/407/26 66/414/34 50/408/34 +f 80/410/33 65/407/26 49/409/26 +f 73/411/20 74/416/35 58/412/35 +f 66/414/34 67/418/36 51/415/36 +f 74/416/35 75/420/37 59/417/37 +f 67/418/36 68/422/38 52/419/38 +f 75/420/37 76/424/39 60/421/39 +f 68/422/38 69/426/22 53/423/22 +f 76/424/39 77/428/21 61/425/21 +f 69/426/22 70/429/40 54/427/40 +f 77/428/21 78/397/29 62/399/29 +f 70/429/40 71/400/31 55/402/31 +f 63/398/41 95/826/41 94/430/42 +f 56/401/43 88/827/43 87/431/44 +f 64/404/45 96/828/45 95/432/41 +f 57/406/46 89/829/46 88/433/43 +f 49/409/47 50/408/48 82/434/48 +f 64/404/45 49/409/47 81/436/47 +f 58/412/49 90/830/49 89/438/46 +f 51/415/50 83/831/50 82/439/48 +f 59/417/51 91/832/51 90/440/49 +f 52/419/52 84/833/52 83/441/50 +f 59/417/51 60/421/53 92/442/53 +f 53/423/54 85/834/54 84/444/52 +f 61/425/55 93/835/55 92/445/53 +f 54/427/56 86/836/56 85/446/54 +f 62/399/42 94/837/42 93/447/55 +f 55/402/44 87/838/44 86/448/56 +f 78/397/57 77/428/58 181/449/58 +f 107/123/59 109/116/22 110/118/22 +f 115/305/36 114/307/36 107/123/59 +f 114/307/36 115/305/36 116/124/26 +f 113/142/26 116/124/26 124/128/30 +f 120/140/30 124/128/30 123/130/21 +f 119/138/21 123/130/21 122/132/37 +f 121/133/35 117/135/35 118/137/37 +f 139/152/59 141/145/22 142/147/22 +f 147/310/36 146/312/36 139/152/59 +f 146/312/36 147/310/36 148/153/26 +f 145/171/26 148/153/26 156/157/30 +f 152/169/30 156/157/30 155/159/21 +f 151/167/21 155/159/21 154/161/37 +f 153/162/35 149/164/35 150/166/37 +f 70/429/61 174/465/61 175/451/62 +f 78/397/57 182/450/57 183/452/63 +f 72/405/64 71/400/62 175/451/62 +f 79/403/63 183/452/63 184/454/65 +f 72/405/64 176/453/64 177/455/66 +f 65/407/67 169/458/67 170/457/68 +f 80/410/65 184/454/65 169/458/67 +f 73/411/66 177/839/66 178/459/69 +f 66/414/68 170/457/68 171/460/70 +f 75/420/71 74/416/69 178/459/69 +f 68/422/72 67/418/70 171/460/70 +f 75/420/71 179/461/71 180/463/73 +f 69/426/74 68/422/72 172/462/72 +f 76/424/73 180/463/73 181/449/58 +f 69/426/74 173/464/74 174/465/61 +f 194/466/75 206/482/75 207/467/76 +f 195/469/31 192/480/31 194/466/20 +f 188/474/80 203/840/80 204/475/81 +f 190/476/81 204/475/81 205/479/83 +f 193/470/20 194/466/20 196/468/37 +f 194/466/75 192/480/83 205/479/83 +f 200/483/33 187/471/30 201/484/30 +f 186/485/86 201/484/87 202/487/87 +f 196/468/76 207/467/76 208/491/89 +f 191/478/37 196/468/37 198/492/21 +f 189/473/21 198/492/21 201/484/30 +f 198/492/89 208/491/89 202/487/87 +f 188/493/80 186/485/86 185/488/86 +f 197/490/40 190/476/40 192/480/31 +f 218/496/81 230/511/81 231/497/83 +f 217/499/22 219/516/36 216/500/36 +f 214/504/86 212/841/87 227/505/87 +f 214/504/86 228/506/86 229/509/80 +f 217/499/22 218/496/22 220/498/31 +f 218/496/81 216/500/80 229/509/80 +f 224/512/39 211/501/37 225/513/37 +f 210/514/89 225/513/76 226/517/76 +f 220/498/83 231/497/83 232/521/75 +f 215/508/31 220/498/31 222/522/20 +f 213/503/20 222/522/20 225/513/37 +f 222/522/75 232/521/75 226/517/76 +f 212/523/87 210/514/89 209/518/89 +f 221/520/34 214/504/34 216/500/36 +f 244/526/80 242/530/86 254/527/86 +f 243/529/30 240/540/30 242/530/26 +f 236/535/76 251/842/76 252/536/89 +f 240/540/87 238/537/89 252/536/89 +f 241/531/26 242/530/26 244/526/36 +f 240/540/87 253/541/87 254/527/86 +f 248/543/32 235/532/31 249/544/31 +f 234/545/75 249/544/83 250/547/83 +f 246/551/81 244/526/80 255/528/80 +f 239/539/36 244/526/36 246/551/22 +f 237/534/22 246/551/22 249/544/31 +f 246/551/81 256/552/81 250/547/83 +f 234/545/75 233/548/75 251/553/76 +f 245/550/29 238/537/29 240/540/30 +f 266/556/89 278/572/89 279/557/87 +f 267/559/37 264/570/37 266/556/21 +f 262/564/75 260/843/83 275/565/83 +f 262/564/75 276/566/75 277/569/76 +f 265/560/21 266/556/21 268/558/30 +f 266/556/89 264/570/76 277/569/76 +f 259/561/36 273/582/36 258/573/38 +f 258/573/81 273/582/80 274/576/80 +f 268/558/87 279/557/87 280/580/86 +f 263/568/30 268/558/30 270/581/26 +f 261/563/26 270/581/26 273/582/36 +f 270/581/86 280/580/86 274/576/80 +f 258/573/81 257/577/81 275/583/83 +f 269/579/35 262/564/35 264/570/37 +f 302/586/103 298/609/103 315/587/104 +f 300/589/26 302/586/30 301/590/30 +f 310/592/105 308/600/106 317/593/106 +f 302/586/30 304/588/21 303/595/21 +f 314/596/107 320/603/107 297/597/108 +f 304/588/21 306/599/37 305/598/37 +f 306/599/109 316/605/109 317/593/106 +f 306/599/37 308/600/20 307/601/20 +f 314/596/107 312/610/110 319/602/110 +f 308/600/20 310/592/31 309/604/31 +f 304/588/104 315/587/104 316/605/109 +f 310/592/31 312/607/22 311/606/22 +f 312/607/110 310/592/105 318/594/105 +f 300/589/108 297/597/108 298/609/103 +f 312/610/22 314/596/36 313/611/36 +f 314/596/36 300/589/26 299/591/26 +f 326/613/103 322/636/103 339/614/104 +f 324/616/26 326/613/30 325/617/30 +f 332/619/106 341/627/106 342/620/105 +f 325/617/30 326/613/30 328/615/21 +f 324/616/108 338/630/107 344/623/107 +f 328/615/21 330/628/37 329/625/37 +f 332/619/106 330/628/109 340/626/109 +f 330/628/37 332/619/20 331/629/20 +f 338/630/107 336/637/110 343/631/110 +f 332/619/20 334/621/31 333/632/31 +f 328/615/104 339/614/104 340/626/109 +f 334/621/31 336/634/22 335/633/22 +f 336/634/110 334/621/105 342/620/105 +f 324/616/108 321/624/108 322/636/103 +f 336/637/22 338/630/36 337/638/36 +f 338/630/36 324/616/26 323/618/26 +f 350/640/103 346/663/103 363/641/104 +f 348/643/26 350/640/30 349/644/30 +f 356/646/106 365/654/106 366/647/105 +f 350/640/30 352/642/21 351/649/21 +f 362/650/107 368/658/107 345/651/108 +f 352/642/21 354/655/37 353/652/37 +f 356/646/106 354/655/109 364/653/109 +f 354/655/37 356/646/20 355/656/20 +f 362/650/107 360/844/110 367/657/110 +f 356/646/20 358/648/31 357/659/31 +f 352/642/104 363/641/104 364/653/109 +f 358/648/31 360/661/22 359/660/22 +f 360/661/110 358/648/105 366/647/105 +f 348/643/108 345/651/108 346/663/103 +f 359/664/22 360/844/22 362/650/36 +f 361/665/36 362/650/36 348/643/26 +f 376/666/36 375/684/36 389/667/26 +f 377/669/22 375/684/36 376/666/36 +f 389/667/108 392/689/108 391/671/103 +f 377/673/110 379/676/105 371/674/105 +f 379/676/31 377/673/22 378/677/22 +f 385/679/104 374/691/104 373/680/109 +f 382/682/20 381/686/20 379/676/31 +f 377/669/110 370/845/110 369/683/107 +f 383/681/37 381/686/20 382/682/20 +f 381/686/106 383/681/109 373/680/109 +f 385/679/21 383/681/37 384/685/37 +f 375/684/107 369/683/107 392/689/108 +f 387/672/30 385/679/21 386/688/21 +f 381/686/106 372/687/106 371/674/105 +f 389/667/26 387/672/30 388/690/30 +f 387/672/103 391/671/103 374/691/104 +f 398/692/103 394/728/103 411/693/104 +f 396/695/26 398/692/30 397/696/30 +f 424/698/36 423/736/36 437/699/26 +f 404/701/106 413/713/106 414/702/105 +f 398/692/30 400/694/21 399/704/21 +f 425/705/22 423/736/36 424/698/36 +f 410/707/107 416/719/107 393/708/108 +f 400/694/21 402/724/37 401/709/37 +f 437/699/108 440/741/108 439/710/103 +f 404/701/106 402/724/109 412/712/109 +f 401/709/37 402/724/37 404/701/20 +f 425/715/110 427/721/105 419/716/105 +f 408/718/110 415/846/110 416/719/107 +f 404/701/20 406/703/31 405/720/31 +f 427/721/31 425/715/22 426/722/22 +f 400/694/104 411/693/104 412/712/109 +f 406/703/31 408/726/22 407/725/22 +f 408/726/110 406/703/105 414/702/105 +f 398/692/103 396/695/108 393/708/108 +f 408/718/22 410/707/36 409/729/36 +f 433/731/104 422/743/104 421/732/109 +f 430/734/20 429/738/20 427/721/31 +f 410/707/36 396/695/26 395/697/26 +f 425/705/110 418/847/110 417/735/107 +f 431/733/37 429/738/20 430/734/20 +f 429/738/106 431/733/109 421/732/109 +f 433/731/21 431/733/37 432/737/37 +f 437/699/108 423/736/107 417/735/107 +f 435/711/30 433/731/21 434/740/21 +f 429/738/106 420/739/106 419/716/105 +f 437/699/26 435/711/30 436/742/30 +f 435/711/103 439/710/103 422/743/104 +f 446/744/103 442/767/103 459/745/104 +f 444/747/26 446/744/30 445/748/30 +f 452/750/106 461/758/106 462/751/105 +f 446/744/30 448/746/21 447/753/21 +f 444/747/108 458/762/107 464/754/107 +f 448/746/21 450/759/37 449/756/37 +f 452/750/106 450/759/109 460/757/109 +f 450/759/37 452/750/20 451/760/20 +f 456/761/110 463/848/110 464/754/107 +f 452/750/20 454/752/31 453/763/31 +f 448/746/104 459/745/104 460/757/109 +f 454/752/31 456/765/22 455/764/22 +f 456/765/110 454/752/105 462/751/105 +f 444/747/108 441/755/108 442/767/103 +f 456/761/22 458/762/36 457/768/36 +f 458/762/36 444/747/26 443/749/26 +f 471/770/36 485/794/26 486/771/26 +f 473/773/22 471/770/36 472/772/36 +f 483/775/103 485/794/108 488/776/108 +f 473/778/110 475/781/105 467/779/105 +f 475/781/31 473/778/22 474/782/22 +f 481/784/104 470/796/104 469/785/109 +f 477/787/20 475/781/31 476/783/31 +f 471/770/107 473/773/110 466/789/110 +f 479/786/37 477/787/20 478/788/20 +f 477/787/106 479/786/109 469/785/109 +f 481/784/21 479/786/37 480/791/37 +f 471/770/107 465/790/107 488/776/108 +f 483/775/30 481/784/21 482/793/21 +f 477/787/106 468/792/106 467/779/105 +f 485/794/26 483/775/30 484/795/30 +f 483/775/103 487/777/103 470/796/104 +f 495/797/36 509/802/26 510/798/26 +f 497/800/22 495/797/36 496/799/36 +f 509/802/108 512/820/108 511/803/103 +f 497/805/110 499/808/105 491/806/105 +f 499/808/31 497/805/22 498/809/22 +f 505/811/104 494/822/104 493/812/109 +f 501/814/20 499/808/31 500/810/31 +f 497/800/110 490/849/110 489/816/107 +f 503/813/37 501/814/20 502/815/20 +f 501/814/106 503/813/109 493/812/109 +f 505/811/21 503/813/37 504/817/37 +f 509/802/108 495/797/107 489/816/107 +f 507/804/30 505/811/21 506/819/21 +f 501/814/106 492/818/106 491/806/105 +f 509/802/26 507/804/30 508/821/30 +f 505/811/104 507/804/103 511/803/103 +f 536/274/23 540/273/111 537/823/111 +f 533/277/24 538/276/112 539/271/112 +f 544/272/113 548/284/114 545/280/114 +f 540/273/111 544/272/113 541/825/113 +f 538/276/112 542/279/115 543/283/115 +f 542/279/115 546/286/116 547/396/116 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/boltgun.png b/src/main/resources/assets/hbm/textures/models/weapons/boltgun.png new file mode 100644 index 0000000000000000000000000000000000000000..e3fd48d0cb81a826b355a2ba2e410e9b2a841b9b GIT binary patch literal 1069 zcmV+|1k(G7P)zi!(w5XQeN@&I{+Oh(6SSu^_uI(VpOqey|ifKIPa1fH{G z$X;mnnxSaMB2(U=c>{K^6ibvv>JQJNtos3hC5k%I_UGgAC@BO*6ayGv9Tx6`ZJz)V zZZbHZ#_oWkv_XZcOoEHCJ1`cRfqCR=*@}TBg&h{zTjTUYza)zUW|24e%0RLGYvAW9 zCRAqj#%34x>t1%u28N$IobbC>Gm6D*J?bOxJ*ZvggP#GuY2Oa3 zP=hdAq4tGu_F`>aKTw?^*!EN5_9U3CP*+^{peqI*J>OzikE%m|7$zrFX08S0MLg^} z7OZ^%kE-~YoKQm%Q;gc8*+JO$n-(ErUI?fN_4f9*_6Byl-O5xSB&iKW2zaS2_)0IQi?}wG3ug4-nb7cR0)Xo$#ldy z^h>t)nu4r&G>C9jr~(u#J}^^Br*~wzpY1;_`B0YSf-IK-cr7;W^W$0d_`zmFd5*@Y z0uXS%A{`0!s4kM^xZ0Sjug8w%+ed2DPwCXD?nv7|1u9e*X+sjb?Zwzc1fj{r+)$yq zuxIcEE{|$iKpNj2N^SF{P5bE&`99jHP+d?%ZmB6Gut`(mh%fV-5-L;|ePYxy`{{qs zF3lAcstb)#qd|r0B0!AFEn-x!m4VpyrQ4H0^QbO}=;&Wtnmn@78TF_xG)9dE6{?E> zF)Hh9v z<)%V)p?TD3P@%dw(-_sp{x!z<%Tl4bIMcO$dp|~D+DuNUuIHVGcou4cJHL(eU;g^t zQ}NCKBTkiD@^J%HF@Qvv`<q>vJug4w7 z7#?+W+ImtKK2JK3i}It-_0j0##Hbv!MZbON_9W1u-$ExpJt^+X7xJvL73z{enW>I; nO9GiT>8TFPM)==|B;(ZoSlezN+Hdx+00000NkvXXu0mjfp6mfy literal 0 HcmV?d00001 From 8574e86fdc5e2244ef80c5c8552fe72735ba49dc Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 17 Apr 2023 07:56:56 +0200 Subject: [PATCH 028/285] uraninite changes uranium into uraninite if GT6 is installed, should hopefully fix some isotope oddities --- .../java/com/hbm/crafting/MineralRecipes.java | 32 +++++++++---------- .../com/hbm/inventory/OreDictManager.java | 3 +- .../inventory/recipes/CyclotronRecipes.java | 9 +++--- .../hbm/inventory/recipes/SILEXRecipes.java | 9 +++--- ...eEntityMachineSchrabidiumTransmutator.java | 5 +-- 5 files changed, 31 insertions(+), 27 deletions(-) diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index c35dedfb1..0f440dbe3 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -181,12 +181,12 @@ public class MineralRecipes { GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_pu238be, 6), new Object[] { ModItems.billet_pu238, ModItems.billet_pu238, ModItems.billet_pu238, ModItems.billet_beryllium, ModItems.billet_beryllium, ModItems.billet_beryllium })); GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_ra226be, 6), new Object[] { ModItems.billet_ra226, ModItems.billet_ra226, ModItems.billet_ra226, ModItems.billet_beryllium, ModItems.billet_beryllium, ModItems.billet_beryllium })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_zfb_bismuth, 1), new Object[] { "nuggetZirconium", "nuggetZirconium", "nuggetZirconium", "nuggetUranium", "nuggetPlutonium241", ModItems.nugget_bismuth })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_zfb_pu241, 1), new Object[] { "nuggetZirconium", "nuggetZirconium", "nuggetZirconium", "nuggetUranium235", "nuggetPlutonium240", "nuggetPlutonium241" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_zfb_am_mix, 1), new Object[] { "nuggetZirconium", "nuggetZirconium", "nuggetZirconium", "nuggetPlutonium241", "nuggetPlutonium241", "nuggetAmericiumRG" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_zfb_bismuth, 6), new Object[] { ModItems.billet_zirconium, ModItems.billet_zirconium, ModItems.billet_zirconium, ModItems.billet_uranium, ModItems.billet_pu241, ModItems.billet_bismuth })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_zfb_pu241, 6), new Object[] { ModItems.billet_zirconium, ModItems.billet_zirconium, ModItems.billet_zirconium, ModItems.billet_u235, ModItems.billet_pu240, ModItems.billet_pu241 })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_zfb_am_mix, 6), new Object[] { ModItems.billet_zirconium, ModItems.billet_zirconium, ModItems.billet_zirconium, ModItems.billet_pu241, ModItems.billet_pu241, ModItems.billet_am_mix })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_zfb_bismuth, 1), new Object[] { ZR.nugget(), ZR.nugget(), ZR.nugget(), U.nugget(), PU241.nugget(), BI.nugget() })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_zfb_pu241, 1), new Object[] { ZR.nugget(), ZR.nugget(), ZR.nugget(), U235.nugget(), PU240.nugget(), PU241.nugget() })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_zfb_am_mix, 1), new Object[] { ZR.nugget(), ZR.nugget(), ZR.nugget(), PU241.nugget(), PU241.nugget(), AMRG.nugget() })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_zfb_bismuth, 6), new Object[] { ZR.billet(), ZR.billet(), ZR.billet(), U.billet(), PU241.billet(), BI.billet() })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_zfb_pu241, 6), new Object[] { ZR.billet(), ZR.billet(), ZR.billet(), U235.billet(), PU240.billet(), PU241.billet() })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.billet_zfb_am_mix, 6), new Object[] { ZR.billet(), ZR.billet(), ZR.billet(), PU241.billet(), PU241.billet(), AMRG.billet() })); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_uranium, 2), new Object[] { ModItems.billet_uranium_fuel, ModItems.billet_u238 }); @@ -224,16 +224,16 @@ public class MineralRecipes { GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_balefire_gold, 1), new Object[] { ModItems.billet_au198, ModItems.cell_antimatter, ModItems.pellet_charged }); GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_flashlead, 2), new Object[] { ModItems.billet_balefire_gold, ModItems.billet_pb209, ModItems.cell_antimatter }); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg), new Object[] { ModItems.billet_pu238, ModItems.billet_pu238, ModItems.billet_pu238, "plateIron" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_radium), new Object[] { ModItems.billet_ra226, ModItems.billet_ra226, ModItems.billet_ra226, "plateIron" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_weak), new Object[] { ModItems.billet_u238, ModItems.billet_u238, ModItems.billet_pu238, "plateIron" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_strontium), new Object[] { ModItems.billet_sr90, ModItems.billet_sr90, ModItems.billet_sr90, "plateIron" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_cobalt), new Object[] { ModItems.billet_co60, ModItems.billet_co60, ModItems.billet_co60, "plateIron" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_actinium), new Object[] { ModItems.billet_actinium, ModItems.billet_actinium, ModItems.billet_actinium, "plateIron" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_polonium), new Object[] { ModItems.billet_polonium, ModItems.billet_polonium, ModItems.billet_polonium, "plateIron" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_lead), new Object[] { ModItems.billet_pb209, ModItems.billet_pb209, ModItems.billet_pb209, "plateIron" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_gold), new Object[] { ModItems.billet_au198, ModItems.billet_au198, ModItems.billet_au198, "plateIron" })); - GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_americium), new Object[] { ModItems.billet_am241, ModItems.billet_am241, ModItems.billet_am241, "plateIron" })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg), new Object[] { ModItems.billet_pu238, ModItems.billet_pu238, ModItems.billet_pu238, IRON.plate() })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_radium), new Object[] { ModItems.billet_ra226, ModItems.billet_ra226, ModItems.billet_ra226, IRON.plate() })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_weak), new Object[] { ModItems.billet_u238, ModItems.billet_u238, ModItems.billet_pu238, IRON.plate() })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_strontium), new Object[] { ModItems.billet_sr90, ModItems.billet_sr90, ModItems.billet_sr90, IRON.plate() })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_cobalt), new Object[] { ModItems.billet_co60, ModItems.billet_co60, ModItems.billet_co60, IRON.plate() })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_actinium), new Object[] { ModItems.billet_actinium, ModItems.billet_actinium, ModItems.billet_actinium, IRON.plate() })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_polonium), new Object[] { ModItems.billet_polonium, ModItems.billet_polonium, ModItems.billet_polonium, IRON.plate() })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_lead), new Object[] { ModItems.billet_pb209, ModItems.billet_pb209, ModItems.billet_pb209, IRON.plate() })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_gold), new Object[] { ModItems.billet_au198, ModItems.billet_au198, ModItems.billet_au198, IRON.plate() })); + GameRegistry.addRecipe(new ShapelessOreRecipe(new ItemStack(ModItems.pellet_rtg_americium), new Object[] { ModItems.billet_am241, ModItems.billet_am241, ModItems.billet_am241, IRON.plate() })); //There's no need for anvil recycling recipes if you simply set the container item GameRegistry.addShapelessRecipe(new ItemStack(ModItems.billet_bismuth, 3), new Object[] { new ItemStack(ModItems.pellet_rtg_depleted, 1, DepletedRTGMaterial.BISMUTH.ordinal()) }); diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index b557dda26..ca1ef53d8 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -28,6 +28,7 @@ import com.hbm.items.ItemEnums.EnumCokeType; import com.hbm.items.ItemEnums.EnumTarType; import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre; import com.hbm.main.MainRegistry; +import com.hbm.util.Compat; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; @@ -110,7 +111,7 @@ public class OreDictManager { /* * RADIOACTIVE */ - public static final DictFrame U = new DictFrame("Uranium"); + public static final DictFrame U = new DictFrame(Compat.isModLoaded(Compat.MOD_GT6) ? "Uraninite" : "Uranium"); public static final DictFrame U233 = new DictFrame("Uranium233", "U233"); public static final DictFrame U235 = new DictFrame("Uranium235", "U235"); public static final DictFrame U238 = new DictFrame("Uranium238", "U238"); diff --git a/src/main/java/com/hbm/inventory/recipes/CyclotronRecipes.java b/src/main/java/com/hbm/inventory/recipes/CyclotronRecipes.java index d552e73d6..f5030c34f 100644 --- a/src/main/java/com/hbm/inventory/recipes/CyclotronRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CyclotronRecipes.java @@ -10,6 +10,7 @@ import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; +import static com.hbm.inventory.OreDictManager.*; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; @@ -41,8 +42,8 @@ public class CyclotronRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModItems.part_lithium), new OreDictStack("dustPolonium"), new ItemStack(ModItems.powder_astatine), liA); makeRecipe(new ComparableStack(ModItems.part_lithium), new OreDictStack("dustLanthanium"), new ItemStack(ModItems.powder_cerium), liA); makeRecipe(new ComparableStack(ModItems.part_lithium), new OreDictStack("dustActinium"), new ItemStack(ModItems.powder_thorium), liA); - makeRecipe(new ComparableStack(ModItems.part_lithium), new OreDictStack("dustUranium"), new ItemStack(ModItems.powder_neptunium), liA); - makeRecipe(new ComparableStack(ModItems.part_lithium), new OreDictStack("dustNeptunium"), new ItemStack(ModItems.powder_plutonium), 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 /// @@ -68,7 +69,7 @@ public class CyclotronRecipes extends SerializableRecipe { makeRecipe(new ComparableStack(ModItems.part_carbon), new ComparableStack(ModItems.powder_caesium), new ItemStack(ModItems.powder_lanthanium), caA); makeRecipe(new ComparableStack(ModItems.part_carbon), new ComparableStack(ModItems.powder_neodymium), new ItemStack(ModItems.powder_gold), caA); makeRecipe(new ComparableStack(ModItems.part_carbon), new ComparableStack(ModItems.ingot_mercury), new ItemStack(ModItems.powder_polonium), caA); - makeRecipe(new ComparableStack(ModItems.part_carbon), new ComparableStack(ModItems.powder_lead), new ItemStack(ModItems.powder_ra226),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 /// @@ -93,7 +94,7 @@ public class CyclotronRecipes extends SerializableRecipe { int plA = 100; makeRecipe(new ComparableStack(ModItems.part_plutonium), new OreDictStack("dustPhosphorus"), new ItemStack(ModItems.powder_tennessine), plA); - makeRecipe(new ComparableStack(ModItems.part_plutonium), new OreDictStack("dustPlutonium"), 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.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); diff --git a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java index 6cdaa21ba..adb944df5 100644 --- a/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SILEXRecipes.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Map; import java.util.Map.Entry; +import static com.hbm.inventory.OreDictManager.*; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.fluid.Fluids; @@ -29,8 +30,8 @@ public class SILEXRecipes { public static void register() { itemTranslation.put(new ComparableStack(ModItems.fluid_icon, 1, Fluids.UF6.getID()), new ComparableStack(ModItems.ingot_uranium)); - dictTranslation.put("dustUranium", "ingotUranium"); - recipes.put("ingotUranium", new SILEXRecipe(900, 100, EnumWavelengths.UV) + dictTranslation.put(U.dust(), U.ingot()); + recipes.put(U.ingot(), new SILEXRecipe(900, 100, EnumWavelengths.UV) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u235), 1)) .addOut(new WeightedRandomObject(new ItemStack(ModItems.nugget_u238), 11)) ); @@ -46,8 +47,8 @@ public class SILEXRecipes { ); itemTranslation.put(new ComparableStack(ModItems.fluid_icon, 1, Fluids.PUF6.getID()), new ComparableStack(ModItems.ingot_plutonium)); - dictTranslation.put("dustPlutonium", "ingotPlutonium"); - recipes.put("ingotPlutonium", new SILEXRecipe(900, 100, 2) + 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)) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java index 8a0bfc0ac..d6e7d9e1a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java @@ -1,6 +1,7 @@ package com.hbm.tileentity.machine; import com.hbm.config.VersatileConfig; +import com.hbm.inventory.OreDictManager; import com.hbm.inventory.container.ContainerMachineSchrabidiumTransmutator; import com.hbm.inventory.gui.GUIMachineSchrabidiumTransmutator; import com.hbm.inventory.recipes.MachineRecipes; @@ -50,7 +51,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB public boolean isItemValidForSlot(int i, ItemStack stack) { switch (i) { case 0: - if (MachineRecipes.mODE(stack, "ingotUranium")) + if (MachineRecipes.mODE(stack, OreDictManager.U.ingot())) return true; break; case 2: @@ -113,7 +114,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB } public boolean canProcess() { - if (power >= 4990000 && slots[0] != null && MachineRecipes.mODE(slots[0], "ingotUranium") && slots[2] != null + if (power >= 4990000 && slots[0] != null && MachineRecipes.mODE(slots[0], OreDictManager.U.ingot()) && slots[2] != null && slots[2].getItem() == ModItems.redcoil_capacitor && ItemCapacitor.getDura(slots[2]) > 0 && (slots[1] == null || (slots[1] != null && slots[1].getItem() == VersatileConfig.getTransmutatorItem() From 971ba04d24a16aa240dfeb8a91433268ed9a0131 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 17 Apr 2023 14:45:54 +0200 Subject: [PATCH 029/285] funny toxic fluids --- .../com/hbm/entity/effect/EntityMist.java | 11 +- .../java/com/hbm/inventory/fluid/Fluids.java | 12 +- .../hbm/inventory/fluid/trait/FT_Toxin.java | 126 ++++++++++++++++++ src/main/java/com/hbm/util/ArmorRegistry.java | 9 -- 4 files changed, 146 insertions(+), 12 deletions(-) create mode 100644 src/main/java/com/hbm/inventory/fluid/trait/FT_Toxin.java diff --git a/src/main/java/com/hbm/entity/effect/EntityMist.java b/src/main/java/com/hbm/entity/effect/EntityMist.java index 0662a2d48..65e76e3c4 100644 --- a/src/main/java/com/hbm/entity/effect/EntityMist.java +++ b/src/main/java/com/hbm/entity/effect/EntityMist.java @@ -15,6 +15,7 @@ public class EntityMist extends Entity { public EntityMist(World world) { super(world); + this.noClip = true; } @Override @@ -30,15 +31,21 @@ public class EntityMist extends Entity { public FluidType getType() { return Fluids.fromID(this.dataWatcher.getWatchableObjectInt(10)); } + @Override - protected void readEntityFromNBT(NBTTagCompound nbt) { + public void onEntityUpdate() { } + @Override + protected void readEntityFromNBT(NBTTagCompound nbt) { + this.setFluid(Fluids.fromID(nbt.getInteger("type"))); + } + @Override protected void writeEntityToNBT(NBTTagCompound nbt) { - + nbt.setInteger("type", this.getType().getID()); } public static SprayStyle getStyleFromType(FluidType type) { diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index 299120abe..d8666118d 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -6,10 +6,16 @@ import java.util.List; import com.hbm.inventory.fluid.trait.*; import com.hbm.inventory.fluid.trait.FluidTraitSimple.*; +import com.hbm.lib.ModDamageSource; import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade; import com.hbm.inventory.fluid.trait.FT_Coolable.CoolingType; import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingType; +import com.hbm.inventory.fluid.trait.FT_Toxin.*; import com.hbm.render.util.EnumSymbol; +import com.hbm.util.ArmorRegistry.HazardClass; + +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; public class Fluids { @@ -253,7 +259,6 @@ public class Fluids { MUSTARDGAS = new FluidType("MUSTARDGAS", 0xBAB572, 4, 1, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0xBAB572, 0x361414)).addTraits(GASEOUS); IONGEL = new FluidType(103, "IONGEL", 0xB8FFFF, 1, 0, 4, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); - // ^ ^ ^ ^ ^ ^ ^ ^ //ADD NEW FLUIDS HERE //AND DON'T FORGET THE META DOWN HERE @@ -377,6 +382,11 @@ public class Fluids { metaOrder.add(PLASMA_XM); metaOrder.add(PLASMA_BF); + CHLORINE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 2F, 20, HazardClass.GAS_CHLORINE, false))); + PHOSGENE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 20, HazardClass.GAS_CHLORINE, false))); + MUSTARDGAS.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 10, HazardClass.GAS_CORROSIVE, false)) + .addEntry(new ToxinEffects(HazardClass.GAS_CORROSIVE, true).add(new PotionEffect(Potion.wither.id, 100, 1), new PotionEffect(Potion.confusion.id, 100, 0)))); + double eff_steam_boil = 1.0D; double eff_steam_heatex = 0.25D; 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 new file mode 100644 index 000000000..40fd8bbd3 --- /dev/null +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Toxin.java @@ -0,0 +1,126 @@ +package com.hbm.inventory.fluid.trait; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.util.ArmorRegistry; +import com.hbm.util.ArmorUtil; +import com.hbm.util.I18nUtil; +import com.hbm.util.ArmorRegistry.HazardClass; + +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.DamageSource; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.StatCollector; +import net.minecraft.util.StringUtils; + +public class FT_Toxin extends FluidTrait { + + public List entries = new ArrayList(); + + public FT_Toxin addEntry(ToxinEntry entry) { + entries.add(entry); + return this; + } + + @Override + public void addInfoHidden(List info) { + info.add(EnumChatFormatting.LIGHT_PURPLE + "[Toxin]"); + + for(ToxinEntry entry : entries) { + entry.addInfo(info); + } + } + + public static abstract class ToxinEntry { + + public HazardClass clazz; + public boolean fullBody = false; + + public ToxinEntry(HazardClass clazz, boolean fullBody) { + this.clazz = clazz; + this.fullBody = fullBody; + } + + public boolean isProtected(EntityLivingBase entity) { + + boolean hasMask = clazz == null; + boolean hasSuit = !fullBody; + + if(clazz != null && ArmorRegistry.hasAllProtection(entity, 3, clazz)) { + ArmorUtil.damageGasMaskFilter(entity, 1); + hasMask = true; + } + + if(fullBody && ArmorUtil.checkForHazmat(entity)) { + hasSuit = true; + } + + return hasMask && hasSuit; + } + + public abstract void poison(EntityLivingBase entity); + public abstract void addInfo(List info); + } + + public static class ToxinDirectDamage extends ToxinEntry { + + public DamageSource damage; + public float amount; + public int delay; + + public ToxinDirectDamage(DamageSource damage, float amount, int delay, HazardClass clazz, boolean fullBody) { + super(clazz, fullBody); + this.damage = damage; + this.amount = amount; + this.delay = delay; + } + + @Override + public void poison(EntityLivingBase entity) { + + if(isProtected(entity)) return; + + if(delay == 0 || entity.worldObj.getTotalWorldTime() % delay == 0) { + entity.attackEntityFrom(damage, amount); + } + } + + @Override + public void addInfo(List info) { + info.add(EnumChatFormatting.YELLOW + "- " + I18nUtil.resolveKey(clazz.lang) + (fullBody ? EnumChatFormatting.RED + " (requires hazmat suit)" : "") + ": " + EnumChatFormatting.YELLOW + String.format("%,.1f", amount * 20 / delay) + " DPS"); + } + } + + public static class ToxinEffects extends ToxinEntry { + + public List effects = new ArrayList(); + + public ToxinEffects(HazardClass clazz, boolean fullBody) { + super(clazz, fullBody); + } + + public ToxinEffects add(PotionEffect... effs) { + for(PotionEffect eff : effs)this.effects.add(eff); + return this; + } + + @Override + public void poison(EntityLivingBase entity) { + + for(PotionEffect eff : effects) { + entity.addPotionEffect(new PotionEffect(eff)); + } + } + + @Override + public void addInfo(List info) { + info.add(EnumChatFormatting.YELLOW + "- " + I18nUtil.resolveKey(clazz.lang) + (fullBody ? EnumChatFormatting.RED + " (requires hazmat suit)" + EnumChatFormatting.YELLOW : "") + ":"); + + for(PotionEffect eff : effects) { + info.add(EnumChatFormatting.YELLOW + " - " + I18nUtil.resolveKey(eff.getEffectName()) + (eff.getAmplifier() > 0 ? " " + StatCollector.translateToLocal("potion.potency." + eff.getAmplifier()).trim() : "") + " " + StringUtils.ticksToElapsedTime(eff.getDuration())); + } + } + } +} diff --git a/src/main/java/com/hbm/util/ArmorRegistry.java b/src/main/java/com/hbm/util/ArmorRegistry.java index 06e69f8a9..fc1a20601 100644 --- a/src/main/java/com/hbm/util/ArmorRegistry.java +++ b/src/main/java/com/hbm/util/ArmorRegistry.java @@ -117,13 +117,4 @@ public class ArmorRegistry { this.lang = lang; } } - - /*public static enum ArmorClass { - MASK_FILTERED, - MASK_OXY, - GOGGLES, - HAZMAT_HEAT, - HAZMAT_RADIATION, - HAZMAT_BIO; - }*/ } From 68d28a214e31b2d40ff2eadf76f76898c004623f Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 18 Apr 2023 16:50:00 +0200 Subject: [PATCH 030/285] more gas funnies --- .../hbm/blocks/generic/BlockStalagmite.java | 5 + .../com/hbm/entity/effect/EntityMist.java | 135 ++++++++++++++++++ .../hbm/entity/projectile/EntityChemical.java | 9 ++ .../hbm/inventory/fluid/trait/FT_Poison.java | 1 + .../hbm/inventory/fluid/trait/FT_Toxin.java | 16 ++- 5 files changed, 160 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java b/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java index c92ec4f06..f8beed00c 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java +++ b/src/main/java/com/hbm/blocks/generic/BlockStalagmite.java @@ -45,6 +45,11 @@ public class BlockStalagmite extends BlockEnumMulti { return null; } + + @Override + public int damageDropped(int meta) { + return 0; + } public static int getMetaFromResource(int meta) { return meta; diff --git a/src/main/java/com/hbm/entity/effect/EntityMist.java b/src/main/java/com/hbm/entity/effect/EntityMist.java index 65e76e3c4..61b9833c5 100644 --- a/src/main/java/com/hbm/entity/effect/EntityMist.java +++ b/src/main/java/com/hbm/entity/effect/EntityMist.java @@ -1,14 +1,35 @@ package com.hbm.entity.effect; +import java.util.List; + +import com.hbm.extprop.HbmLivingProps; +import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.trait.FT_Corrosive; +import com.hbm.inventory.fluid.trait.FT_Flammable; +import com.hbm.inventory.fluid.trait.FT_Poison; +import com.hbm.inventory.fluid.trait.FT_Toxin; +import com.hbm.inventory.fluid.trait.FT_VentRadiation; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous_ART; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Liquid; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Viscous; +import com.hbm.lib.ModDamageSource; +import com.hbm.util.ArmorUtil; +import com.hbm.util.ContaminationUtil; +import com.hbm.util.EntityDamageUtil; +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.Entity; +import net.minecraft.entity.EntityLivingBase; 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 class EntityMist extends Entity { @@ -16,6 +37,7 @@ public class EntityMist extends Entity { public EntityMist(World world) { super(world); this.noClip = true; + this.setSize(10F, 3F); } @Override @@ -36,6 +58,113 @@ public class EntityMist extends Entity { @Override public void onEntityUpdate() { + if(!worldObj.isRemote) { + + if(this.ticksExisted > this.getMaxAge()) { + this.setDead(); + } + + FluidType type = this.getType(); + + if(type.hasTrait(FT_VentRadiation.class)) { + FT_VentRadiation trait = type.getTrait(FT_VentRadiation.class); + ChunkRadiationManager.proxy.incrementRad(worldObj, (int) Math.floor(posX), (int) Math.floor(posY), (int) Math.floor(posZ), trait.getRadPerMB() * 2); + } + + double intensity = 1D - (double) this.ticksExisted / (double) this.getMaxAge(); + + if(type.hasTrait(FT_Flammable.class) && this.isBurning()) { + worldObj.createExplosion(this, posX, posY + height / 2, posZ, (float) intensity * 15F, true); + this.setDead(); + return; + } + + List affected = worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox); + + for(Entity e : affected) { + this.affect(e, intensity); + } + } + } + + /* can't reuse EntityChemical here, while similar or identical in some places, the actual effects are often different */ + protected void affect(Entity e, double intensity) { + + FluidType type = this.getType(); + EntityLivingBase living = e instanceof EntityLivingBase ? (EntityLivingBase) e : null; + + if(type.temperature >= 100) { + EntityDamageUtil.attackEntityFromIgnoreIFrame(e, new DamageSource(ModDamageSource.s_boil), 5F + (type.temperature - 100) * 0.02F); + + if(type.temperature >= 500) { + e.setFire(10); //afterburn for 10 seconds + } + } + if(type.temperature < -20) { + if(living != null) { //only living things are affected + EntityDamageUtil.attackEntityFromIgnoreIFrame(e, new DamageSource(ModDamageSource.s_cryolator), 5F + (type.temperature + 20) * -0.05F); //5 damage at -20°C with one extra damage every -20°C + living.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 100, 2)); + living.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 100, 4)); + } + } + + if(type.hasTrait(Fluids.DELICIOUS.getClass())) { + if(living != null && living.isEntityAlive()) { + living.heal(2F * (float) intensity); + } + } + + if(type.hasTrait(FT_Flammable.class)) { + if(living != null) { + HbmLivingProps.setOil(living, 200); //doused in oil for 10 seconds + } + } + + if(this.isExtinguishing(type)) { + e.extinguish(); + } + + if(type.hasTrait(FT_Corrosive.class)) { + FT_Corrosive trait = type.getTrait(FT_Corrosive.class); + EntityDamageUtil.attackEntityFromIgnoreIFrame(e, new DamageSource(ModDamageSource.s_acid), trait.getRating() / 20F); + + if(living != null) { + for(int i = 0; i < 4; i++) { + ArmorUtil.damageSuit(living, i, trait.getRating() / 5); + } + } + } + + if(type.hasTrait(FT_VentRadiation.class)) { + FT_VentRadiation trait = type.getTrait(FT_VentRadiation.class); + if(living != null) { + ContaminationUtil.contaminate(living, HazardType.RADIATION, ContaminationType.CREATIVE, trait.getRadPerMB() * 5); + } + } + + if(type.hasTrait(FT_Poison.class)) { + FT_Poison trait = type.getTrait(FT_Poison.class); + + if(living != null) { + living.addPotionEffect(new PotionEffect(trait.isWithering() ? Potion.wither.id : Potion.poison.id, (int) (5 * 20 * intensity))); + } + } + + if(type.hasTrait(FT_Toxin.class)) { + FT_Toxin trait = type.getTrait(FT_Toxin.class); + + if(living != null) { + trait.affect(living, intensity); + } + } + } + + protected boolean isExtinguishing(FluidType type) { + return this.getStyleFromType(type) == SprayStyle.MIST && this.getType().temperature < 50 && !type.hasTrait(FT_Flammable.class); + } + + public int getMaxAge() { + return getStyleFromType(this.getType()) == SprayStyle.GAS ? 600 : 150; } @Override @@ -47,6 +176,12 @@ public class EntityMist extends Entity { protected void writeEntityToNBT(NBTTagCompound nbt) { nbt.setInteger("type", this.getType().getID()); } + + @Override + @SideOnly(Side.CLIENT) + public boolean canRenderOnFire() { + return false; + } public static SprayStyle getStyleFromType(FluidType type) { diff --git a/src/main/java/com/hbm/entity/projectile/EntityChemical.java b/src/main/java/com/hbm/entity/projectile/EntityChemical.java index 14c770d19..003414be6 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.trait.FT_Combustible; import com.hbm.inventory.fluid.trait.FT_Corrosive; import com.hbm.inventory.fluid.trait.FT_Flammable; import com.hbm.inventory.fluid.trait.FT_Poison; +import com.hbm.inventory.fluid.trait.FT_Toxin; import com.hbm.inventory.fluid.trait.FT_VentRadiation; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; @@ -253,6 +254,14 @@ public class EntityChemical extends EntityThrowableNT { } } + if(type.hasTrait(FT_Toxin.class)) { + FT_Toxin trait = type.getTrait(FT_Toxin.class); + + if(living != null) { + trait.affect(living, intensity); + } + } + if(type == Fluids.XPJUICE) { if(e instanceof EntityPlayer) { diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Poison.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Poison.java index a8154c1f5..2c176bc3e 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Poison.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Poison.java @@ -4,6 +4,7 @@ import java.util.List; import net.minecraft.util.EnumChatFormatting; +@Deprecated //use FT_Toxin instead public class FT_Poison extends FluidTrait { protected boolean withering = false; 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 40fd8bbd3..6e7d17fd9 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 @@ -32,6 +32,10 @@ public class FT_Toxin extends FluidTrait { entry.addInfo(info); } } + + public void affect(EntityLivingBase entity, double intensity) { + + } public static abstract class ToxinEntry { @@ -60,7 +64,7 @@ public class FT_Toxin extends FluidTrait { return hasMask && hasSuit; } - public abstract void poison(EntityLivingBase entity); + public abstract void poison(EntityLivingBase entity, double intensity); public abstract void addInfo(List info); } @@ -78,12 +82,12 @@ public class FT_Toxin extends FluidTrait { } @Override - public void poison(EntityLivingBase entity) { + public void poison(EntityLivingBase entity, double intensity) { if(isProtected(entity)) return; if(delay == 0 || entity.worldObj.getTotalWorldTime() % delay == 0) { - entity.attackEntityFrom(damage, amount); + entity.attackEntityFrom(damage, (float) (amount * intensity)); } } @@ -102,15 +106,15 @@ public class FT_Toxin extends FluidTrait { } public ToxinEffects add(PotionEffect... effs) { - for(PotionEffect eff : effs)this.effects.add(eff); + for(PotionEffect eff : effs) this.effects.add(eff); return this; } @Override - public void poison(EntityLivingBase entity) { + public void poison(EntityLivingBase entity, double intensity) { for(PotionEffect eff : effects) { - entity.addPotionEffect(new PotionEffect(eff)); + entity.addPotionEffect(new PotionEffect(eff.getPotionID(), (int) (eff.getDuration() * intensity), eff.getAmplifier())); } } From 5f27c390944915d554fc3db94fad0931df76a6e4 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Tue, 18 Apr 2023 20:49:56 -0500 Subject: [PATCH 031/285] yep that's a lot of files --- .../machine/rbmk/TileEntityRBMKAbsorber.java | 26 ++++++++++++- .../machine/rbmk/TileEntityRBMKBase.java | 19 +++------- .../machine/rbmk/TileEntityRBMKBoiler.java | 23 ++++++----- .../machine/rbmk/TileEntityRBMKControl.java | 13 ++++--- .../machine/rbmk/TileEntityRBMKCooler.java | 21 ++++++---- .../machine/rbmk/TileEntityRBMKHeater.java | 27 +++++++------ .../machine/rbmk/TileEntityRBMKOutgasser.java | 11 ++++-- .../machine/rbmk/TileEntityRBMKReflector.java | 24 +++++++++++- .../machine/rbmk/TileEntityRBMKRod.java | 27 +++++++------ .../machine/rbmk/TileEntityRBMKStorage.java | 38 ++++++++++++++++++- 10 files changed, 162 insertions(+), 67 deletions(-) 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..2ff30b05d 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKAbsorber.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKAbsorber.java @@ -2,8 +2,14 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; +import cpw.mods.fml.common.Optional; +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; -public class TileEntityRBMKAbsorber extends TileEntityRBMKBase { +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityRBMKAbsorber extends TileEntityRBMKBase implements SimpleComponent { @Override public void onMelt(int reduce) { @@ -17,6 +23,24 @@ public class TileEntityRBMKAbsorber extends TileEntityRBMKBase { super.onMelt(reduce); } + @Override + public String getComponentName() { + return "rbmk_absorber_rod"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getHeat(Context context, Arguments args) { + return new Object[] {heat}; + } + + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCoordinates(Context context, Arguments args) { + return new Object[] {xCoord, yCoord, zCoord}; + } + @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 2674b87bf..9e7b3d63e 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBase.java @@ -1,14 +1,8 @@ package com.hbm.tileentity.machine.rbmk; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Iterator; -import java.util.List; -import java.util.Set; - -import org.lwjgl.opengl.GL11; - +import api.hbm.fluid.IFluidConductor; +import api.hbm.fluid.IFluidConnector; +import api.hbm.fluid.IPipeNet; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.rbmk.RBMKBase; import com.hbm.entity.effect.EntitySpear; @@ -25,10 +19,6 @@ import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.util.Compat; import com.hbm.util.I18nUtil; - -import api.hbm.fluid.IFluidConductor; -import api.hbm.fluid.IFluidConnector; -import api.hbm.fluid.IPipeNet; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -46,6 +36,9 @@ import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent; import net.minecraftforge.common.util.ForgeDirection; +import org.lwjgl.opengl.GL11; + +import java.util.*; /** * Base class for all RBMK components, active or passive. Handles heat and the explosion sequence 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 f3457b1e3..8ecffcaff 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,8 @@ package com.hbm.tileentity.machine.rbmk; -import java.util.ArrayList; -import java.util.List; - +import api.hbm.fluid.IFluidStandardTransceiver; +import api.hbm.fluid.IFluidUser; +import api.hbm.fluid.IPipeNet; import com.hbm.blocks.ModBlocks; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.interfaces.IControlReceiver; @@ -16,10 +16,6 @@ import com.hbm.inventory.gui.GUIRBMKBoiler; import com.hbm.lib.Library; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.util.fauxpointtwelve.DirPos; - -import api.hbm.fluid.IFluidStandardTransceiver; -import api.hbm.fluid.IFluidUser; -import api.hbm.fluid.IPipeNet; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -34,6 +30,9 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; import net.minecraft.world.World; +import java.util.ArrayList; +import java.util.List; + @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements IFluidAcceptor, IFluidSource, IControlReceiver, IFluidStandardTransceiver, SimpleComponent { @@ -361,6 +360,12 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I return new Object[] {feed.getMaxFill()}; } + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCoordinates(Context context, Arguments args) { + return new Object[] {xCoord, yCoord, zCoord}; + } + @Callback @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { @@ -370,8 +375,8 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I else if(type == Fluids.HOTSTEAM) {type_1 = "1";} else if(type == Fluids.SUPERHOTSTEAM) {type_1 = "2";} else if(type == Fluids.ULTRAHOTSTEAM) {type_1 = "3";} - else {type_1 = "Unknown Error";} - return new Object[] {heat, steam.getFill(), steam.getMaxFill(), feed.getFill(), feed.getMaxFill(), type_1}; + else {type_1 = "Steam out-of-bounds";} + return new Object[] {heat, steam.getFill(), steam.getMaxFill(), feed.getFill(), feed.getMaxFill(), type_1, xCoord, yCoord, zCoord}; } @Callback 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 40966dc5c..5bac96851 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java @@ -1,16 +1,14 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; - +import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.nbt.NBTTagCompound; - -import cpw.mods.fml.common.Optional; 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; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase implements SimpleComponent { @@ -140,6 +138,11 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im return new Object[] {targetLevel * 100}; } + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCoordinates(Context context, Arguments args) { + return new Object[] {xCoord, yCoord, zCoord}; + } @Callback @Optional.Method(modid = "OpenComputers") @@ -150,7 +153,7 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im @Callback @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[] {heat, getMult() * 100, targetLevel * 100}; + return new Object[] {heat, getMult() * 100, targetLevel * 100, xCoord, yCoord, zCoord}; } @Callback 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 476c0d967..acb873d22 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java @@ -1,7 +1,5 @@ package com.hbm.tileentity.machine.rbmk; -import java.util.List; - import api.hbm.fluid.IFluidStandardReceiver; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.inventory.fluid.FluidType; @@ -9,16 +7,17 @@ import com.hbm.inventory.fluid.Fluids; 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 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.Entity; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; -import cpw.mods.fml.common.Optional; -import li.cil.oc.api.machine.Arguments; -import li.cil.oc.api.machine.Callback; -import li.cil.oc.api.machine.Context; + +import java.util.List; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) public class TileEntityRBMKCooler extends TileEntityRBMKBase implements IFluidAcceptor, IFluidStandardReceiver, SimpleComponent { @@ -168,9 +167,15 @@ public class TileEntityRBMKCooler extends TileEntityRBMKBase implements IFluidAc return new Object[]{tank.getMaxFill()}; } + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCoordinates(Context context, Arguments args) { + return new Object[] {xCoord, yCoord, zCoord}; + } + @Callback @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[]{heat, tank.getFill(), tank.getMaxFill()}; + return new Object[]{heat, tank.getFill(), tank.getMaxFill(), xCoord, yCoord, zCoord}; } } 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 15469487b..6894070e4 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java @@ -1,8 +1,6 @@ package com.hbm.tileentity.machine.rbmk; -import java.util.ArrayList; -import java.util.List; - +import api.hbm.fluid.IFluidStandardTransceiver; import com.hbm.blocks.ModBlocks; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.interfaces.IFluidAcceptor; @@ -18,20 +16,21 @@ import com.hbm.inventory.gui.GUIRBMKHeater; import com.hbm.lib.Library; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.util.fauxpointtwelve.DirPos; - -import api.hbm.fluid.IFluidStandardTransceiver; +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.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -import cpw.mods.fml.common.Optional; -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 java.util.ArrayList; +import java.util.List; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements IFluidAcceptor, IFluidSource, IFluidStandardTransceiver, SimpleComponent { @@ -325,7 +324,13 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I @Callback @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[] {heat, feed.getFill(), feed.getMaxFill(), steam.getFill(), steam.getMaxFill(), feed.getTankType().getID(), steam.getTankType().getID()}; + return new Object[] {heat, feed.getFill(), feed.getMaxFill(), steam.getFill(), steam.getMaxFill(), feed.getTankType().getID(), steam.getTankType().getID(), xCoord, yCoord, zCoord}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCoordinates(Context context, Arguments args) { + return new Object[] {xCoord, yCoord, zCoord}; } @Override 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 85ae56fce..57f27f45d 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java @@ -1,5 +1,6 @@ package com.hbm.tileentity.machine.rbmk; +import api.hbm.fluid.IFluidStandardSender; import com.hbm.blocks.ModBlocks; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.inventory.FluidStack; @@ -12,8 +13,6 @@ import com.hbm.lib.Library; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; import com.hbm.util.Tuple.Pair; import com.hbm.util.fauxpointtwelve.DirPos; - -import api.hbm.fluid.IFluidStandardSender; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -245,10 +244,16 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement return new Object[] {progress}; } + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCoordinates(Context context, Arguments args) { + return new Object[] {xCoord, yCoord, zCoord}; + } + @Callback @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[] {gas.getFill(), gas.getMaxFill(), progress}; + return new Object[] {gas.getFill(), gas.getMaxFill(), progress, xCoord, yCoord, zCoord}; } @Override 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..7a7602d2f 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKReflector.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKReflector.java @@ -2,8 +2,14 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; +import cpw.mods.fml.common.Optional; +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; -public class TileEntityRBMKReflector extends TileEntityRBMKBase { +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityRBMKReflector extends TileEntityRBMKBase implements SimpleComponent { @Override public void onMelt(int reduce) { @@ -16,6 +22,22 @@ public class TileEntityRBMKReflector extends TileEntityRBMKBase { super.onMelt(reduce); } + @Override + public String getComponentName() { + return "rbmk_reflector_rod"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getHeat(Context context, Arguments args) { + return new Object[] {heat}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCoordinates(Context context, Arguments args) { + return new Object[] {xCoord, yCoord, zCoord}; + } @Override public ColumnType getConsoleType() { 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 7617aa6ca..fd58ab333 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -11,7 +11,6 @@ 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 cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -411,15 +410,6 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM } return new Object[] {"N/A"}; } - - @Callback - @Optional.Method(modid = "OpenComputers") - public Object[] getItemData(Context context, Arguments args) { - if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { - return new Object[] {slots[0]}; - } - return new Object[] {"N/A"}; - } @Callback @Optional.Method(modid = "OpenComputers") @@ -453,17 +443,26 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM public Object[] getInfo(Context context, Arguments args) { Object OC_enrich_buf; Object OC_poison_buf; - Object OC_item_Data; if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { OC_enrich_buf = ItemRBMKRod.getEnrichment(slots[0]); OC_poison_buf = ItemRBMKRod.getPoison(slots[0]); - OC_item_Data = slots[0]; } else { OC_enrich_buf = "N/A"; OC_poison_buf = "N/A"; - OC_item_Data = "N/A"; } - return new Object[] {heat, fluxSlow, fluxFast, OC_enrich_buf, OC_poison_buf, OC_item_Data}; + return new Object[] {heat, fluxSlow, fluxFast, OC_enrich_buf, OC_poison_buf, ((RBMKRod)this.getBlockType()).moderated, xCoord, yCoord, zCoord}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getModerated(Context context, Arguments args) { + return new Object[] {((RBMKRod)this.getBlockType()).moderated}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCoordinates(Context context, Arguments args) { + return new Object[] {xCoord, yCoord, zCoord}; } @Override 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 1806d06a7..538b4a795 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKStorage.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKStorage.java @@ -4,16 +4,21 @@ 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.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.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; import net.minecraft.world.World; -public class TileEntityRBMKStorage extends TileEntityRBMKSlottedBase implements IRBMKLoadable { +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityRBMKStorage extends TileEntityRBMKSlottedBase implements IRBMKLoadable, SimpleComponent { public TileEntityRBMKStorage() { super(12); @@ -86,6 +91,35 @@ public class TileEntityRBMKStorage extends TileEntityRBMKSlottedBase implements slots[0] = null; } + @Override + public String getComponentName() { + return "rbmk_storage_rod"; + } + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCoordinates(Context context, Arguments args) { + return new Object[] {xCoord, yCoord, zCoord}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getHeat(Context context, Arguments args) { + return new Object[] {heat}; + } + + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getStored(Context context, Arguments args) { + return new Object[] {slots[0], slots[1], slots[2], slots[3], slots[4], slots[5], slots[6], slots[7], slots[8], slots[9], slots[10], slots[11]}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getInfo(Context context, Arguments args) { + return new Object[] {heat, slots[0], slots[1], slots[2], slots[3], slots[4], slots[5], slots[6], slots[7], slots[8], slots[9], slots[10], slots[11], xCoord, yCoord, zCoord}; + } + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return new ContainerRBMKStorage(player.inventory, this); From b86801dd143a40a6d3ac5831630bf0b4df03f78c Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 19 Apr 2023 11:07:47 +0200 Subject: [PATCH 032/285] access transformer, creeper fun --- build.gradle | 7 + .../java/com/hbm/entity/EntityMappings.java | 2 +- .../hbm/entity/mob/EntityCreeperNuclear.java | 133 +++++++ .../com/hbm/entity/mob/EntityCyberCrab.java | 2 +- .../hbm/entity/mob/EntityNuclearCreeper.java | 349 ------------------ .../hbm/entity/mob/EntityTaintedCreeper.java | 268 ++------------ .../mob/ai/EntityAINuclearCreeperSwell.java | 71 ---- .../mob/ai/EntityAITaintedCreeperSwell.java | 71 ---- .../hbm/entity/projectile/EntityBullet.java | 6 +- src/main/java/com/hbm/main/ClientProxy.java | 2 +- .../java/com/hbm/main/ModEventHandler.java | 4 +- .../entity/mob/RenderNuclearCreeper.java | 255 +++++-------- .../tileentity/machine/TileEntityTesla.java | 5 - .../java/com/hbm/util/ContaminationUtil.java | 4 +- src/main/resources/META-INF/HBM_at.cfg | 3 + .../hbm/textures/entity/creeper_base.png | Bin 0 -> 2964 bytes .../hbm/textures/entity/creeper_mustard.png | Bin 0 -> 3104 bytes .../hbm/textures/entity/creeper_phosgene.png | Bin 0 -> 3864 bytes 18 files changed, 296 insertions(+), 886 deletions(-) create mode 100644 src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java delete mode 100644 src/main/java/com/hbm/entity/mob/EntityNuclearCreeper.java delete mode 100644 src/main/java/com/hbm/entity/mob/ai/EntityAINuclearCreeperSwell.java delete mode 100644 src/main/java/com/hbm/entity/mob/ai/EntityAITaintedCreeperSwell.java create mode 100644 src/main/resources/META-INF/HBM_at.cfg create mode 100644 src/main/resources/assets/hbm/textures/entity/creeper_base.png create mode 100644 src/main/resources/assets/hbm/textures/entity/creeper_mustard.png create mode 100644 src/main/resources/assets/hbm/textures/entity/creeper_phosgene.png diff --git a/build.gradle b/build.gradle index bd386126f..2817f3c3c 100644 --- a/build.gradle +++ b/build.gradle @@ -102,6 +102,13 @@ processResources { } } +// add AT to meta-inf +jar { + manifest { + attributes 'FMLAT': 'HBM_at.cfg' + } +} + task version { doFirst { println project.version diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index fc9352d8e..468b4a9bc 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -204,7 +204,7 @@ public class EntityMappings { addEntity(EntitySawblade.class, "entity_stray_saw", 1000); addEntity(EntityChemical.class, "entity_chemthrower_splash", 1000); - addMob(EntityNuclearCreeper.class, "entity_mob_nuclear_creeper", 0x204131, 0x75CE00); + addMob(EntityCreeperNuclear.class, "entity_mob_nuclear_creeper", 0x204131, 0x75CE00); addMob(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", 0x813b9b, 0xd71fdd); addMob(EntityHunterChopper.class, "entity_mob_hunter_chopper", 0x000020, 0x2D2D72); addMob(EntityCyberCrab.class, "entity_cyber_crab", 0xAAAAAA, 0x444444); diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java b/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java new file mode 100644 index 000000000..23e8719f5 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java @@ -0,0 +1,133 @@ +package com.hbm.entity.mob; + +import java.util.List; + +import com.hbm.entity.logic.EntityNukeExplosionMK5; +import com.hbm.explosion.ExplosionNukeGeneric; +import com.hbm.explosion.ExplosionNukeSmall; +import com.hbm.items.ModItems; +import com.hbm.items.ItemAmmoEnums.AmmoFatman; +import com.hbm.lib.ModDamageSource; +import com.hbm.main.MainRegistry; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; +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.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.entity.monster.EntitySkeleton; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.init.Blocks; +import net.minecraft.item.Item; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; + +public class EntityCreeperNuclear extends EntityCreeper { + + public EntityCreeperNuclear(World world) { + super(world); + this.fuseTime = 75; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(50.0D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.3D); + } + + @Override + public boolean attackEntityFrom(DamageSource source, float amount) { + + if(source == ModDamageSource.radiation || source == ModDamageSource.mudPoisoning) { + this.heal(amount); + return false; + } + + return super.attackEntityFrom(source, amount); + } + + @Override + protected Item getDropItem() { + return Item.getItemFromBlock(Blocks.tnt); + } + + @Override + protected void dropFewItems(boolean p_70628_1_, int p_70628_2_) { + + super.dropFewItems(p_70628_1_, p_70628_2_); + + if(rand.nextInt(3) == 0) + this.dropItem(ModItems.coin_creeper, 1); + } + + @Override + public void onDeath(DamageSource p_70645_1_) { + super.onDeath(p_70645_1_); + + List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, this.boundingBox.expand(50, 50, 50)); + + for(EntityPlayer player : players) { + player.triggerAchievement(MainRegistry.bossCreeper); + } + + 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); + } + } + + @Override + public void onUpdate() { + + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.expand(5, 5, 5)); + + for(Entity e : list) { + if(e instanceof EntityLivingBase) { + ContaminationUtil.contaminate((EntityLivingBase) e, HazardType.RADIATION, ContaminationType.CREATIVE, 0.25F); + } + } + + super.onUpdate(); + + if(this.getHealth() < this.getMaxHealth() && this.ticksExisted % 10 == 0) { + this.heal(1.0F); + } + } + + @Override + public void func_146077_cc() { + if(!this.worldObj.isRemote) { + 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)); + worldObj.playSoundEffect(posX, posY + 0.5, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); + + if(flag) { + worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, 50, posX, posY, posZ).mute()); + } else { + ExplosionNukeGeneric.dealDamage(worldObj, posX, posY + 0.5, posZ, 100); + } + } else { + + if(flag) { + ExplosionNukeSmall.explode(worldObj, posX, posY + 0.5, posZ, ExplosionNukeSmall.PARAMS_MEDIUM); + } else { + ExplosionNukeSmall.explode(worldObj, posX, posY + 0.5, posZ, ExplosionNukeSmall.PARAMS_SAFE); + } + } + + this.setDead(); + } + } +} diff --git a/src/main/java/com/hbm/entity/mob/EntityCyberCrab.java b/src/main/java/com/hbm/entity/mob/EntityCyberCrab.java index 4d6da1f3e..7af12022a 100644 --- a/src/main/java/com/hbm/entity/mob/EntityCyberCrab.java +++ b/src/main/java/com/hbm/entity/mob/EntityCyberCrab.java @@ -27,7 +27,7 @@ public class EntityCyberCrab extends EntityMob implements IRangedAttackMob, IRad private static final IEntitySelector selector = new IEntitySelector() { public boolean isEntityApplicable(Entity p_82704_1_) { - return !(p_82704_1_ instanceof EntityCyberCrab || p_82704_1_ instanceof EntityCreeper || p_82704_1_ instanceof EntityNuclearCreeper); + return !(p_82704_1_ instanceof EntityCyberCrab || p_82704_1_ instanceof EntityCreeper); } }; diff --git a/src/main/java/com/hbm/entity/mob/EntityNuclearCreeper.java b/src/main/java/com/hbm/entity/mob/EntityNuclearCreeper.java deleted file mode 100644 index fa5f8b85b..000000000 --- a/src/main/java/com/hbm/entity/mob/EntityNuclearCreeper.java +++ /dev/null @@ -1,349 +0,0 @@ -package com.hbm.entity.mob; - -import java.util.List; - -import com.hbm.entity.logic.EntityNukeExplosionMK5; -import com.hbm.entity.mob.ai.EntityAINuclearCreeperSwell; -import com.hbm.explosion.ExplosionNukeGeneric; -import com.hbm.explosion.ExplosionNukeSmall; -import com.hbm.items.ModItems; -import com.hbm.items.ItemAmmoEnums.AmmoFatman; -import com.hbm.lib.ModDamageSource; -import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -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 cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -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.EntityAINearestAttackableTarget; -import net.minecraft.entity.ai.EntityAISwimming; -import net.minecraft.entity.ai.EntityAIWander; -import net.minecraft.entity.ai.EntityAIWatchClosest; -import net.minecraft.entity.effect.EntityLightningBolt; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.monster.EntitySkeleton; -import net.minecraft.entity.passive.EntityOcelot; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.projectile.EntityArrow; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.world.World; - -public class EntityNuclearCreeper extends EntityMob { - - private int lastActiveTime; - private int timeSinceIgnited; - private int fuseTime = 75; - - public EntityNuclearCreeper(World p_i1733_1_) { - super(p_i1733_1_); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, new EntityAINuclearCreeperSwell(this)); - this.tasks.addTask(3, new EntityAIAttackOnCollide(this, 1.0D, false)); - this.tasks.addTask(4, new EntityAIWander(this, 0.8D)); - this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(6, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); - this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false)); - this.targetTasks.addTask(3, new EntityAINearestAttackableTarget(this, EntityOcelot.class, 0, true)); - } - - @Override - protected void applyEntityAttributes() { - super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(50.0D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.3D); - } - - @Override - public boolean attackEntityFrom(DamageSource source, float amount) { - - if(source == ModDamageSource.radiation || source == ModDamageSource.mudPoisoning) { - this.heal(amount); - return false; - } - - return super.attackEntityFrom(source, amount); - } - - @Override - public boolean isAIEnabled() { - return true; - } - - @Override - public int getMaxSafePointTries() { - return this.getAttackTarget() == null ? 3 : 3 + (int) (this.getHealth() - 1.0F); - } - - @Override - protected void fall(float p_70069_1_) { - super.fall(p_70069_1_); - this.timeSinceIgnited = (int) (this.timeSinceIgnited + p_70069_1_ * 1.5F); - - if(this.timeSinceIgnited > this.fuseTime - 5) { - this.timeSinceIgnited = this.fuseTime - 5; - } - } - - @Override - protected void entityInit() { - super.entityInit(); - this.dataWatcher.addObject(16, Byte.valueOf((byte) -1)); - this.dataWatcher.addObject(17, Byte.valueOf((byte) 0)); - this.dataWatcher.addObject(18, Byte.valueOf((byte) 0)); - } - - @Override - public void writeEntityToNBT(NBTTagCompound p_70014_1_) { - super.writeEntityToNBT(p_70014_1_); - - if(this.dataWatcher.getWatchableObjectByte(17) == 1) { - p_70014_1_.setBoolean("powered", true); - } - - p_70014_1_.setShort("Fuse", (short) this.fuseTime); - p_70014_1_.setBoolean("ignited", this.func_146078_ca()); - } - - @Override - public void readEntityFromNBT(NBTTagCompound p_70037_1_) { - super.readEntityFromNBT(p_70037_1_); - this.dataWatcher.updateObject(17, Byte.valueOf((byte) (p_70037_1_.getBoolean("powered") ? 1 : 0))); - - if(p_70037_1_.hasKey("Fuse", 99)) { - this.fuseTime = p_70037_1_.getShort("Fuse"); - } - - if(p_70037_1_.getBoolean("ignited")) { - this.func_146079_cb(); - } - } - - @Override - public void onUpdate() { - if(this.isDead) { - this.isDead = false; - this.heal(10.0F); - } - - if(this.isEntityAlive()) { - this.lastActiveTime = this.timeSinceIgnited; - - if(this.func_146078_ca()) { - this.setCreeperState(1); - } - - int i = this.getCreeperState(); - - if(i > 0 && this.timeSinceIgnited == 0) { - this.playSound("creeper.primed", 1.0F * 30 / 75, 0.5F); - } - - this.timeSinceIgnited += i; - - if(this.timeSinceIgnited < 0) { - this.timeSinceIgnited = 0; - } - - if(this.timeSinceIgnited >= this.fuseTime) { - this.timeSinceIgnited = this.fuseTime; - this.func_146077_cc(); - } - } - - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, AxisAlignedBB.getBoundingBox(posX - 5, posY - 5, posZ - 5, posX + 5, posY + 5, posZ + 5)); - - for(Entity e : list) - if(e instanceof EntityLivingBase) { - ContaminationUtil.contaminate((EntityLivingBase) e, HazardType.RADIATION, ContaminationType.CREATIVE, 0.25F); - } - - super.onUpdate(); - - if(this.getHealth() < this.getMaxHealth() && this.ticksExisted % 10 == 0) { - this.heal(1.0F); - } - } - - @Override - protected String getHurtSound() { - return "mob.creeper.say"; - } - - @Override - protected String getDeathSound() { - return "mob.creeper.death"; - } - - @Override - public void onDeath(DamageSource p_70645_1_) { - super.onDeath(p_70645_1_); - - List players = worldObj.getEntitiesWithinAABB(EntityPlayer.class, this.boundingBox.expand(50, 50, 50)); - - for(EntityPlayer player : players) { - player.triggerAchievement(MainRegistry.bossCreeper); - } - - if(p_70645_1_.getEntity() instanceof EntitySkeleton || (p_70645_1_.isProjectile() && p_70645_1_.getEntity() instanceof EntityArrow && ((EntityArrow) (p_70645_1_.getEntity())).shootingEntity == null)) { - int i = rand.nextInt(11); - int j = rand.nextInt(3); - if(i == 0) - this.dropItem(ModItems.nugget_u235, j); - if(i == 1) - this.dropItem(ModItems.nugget_pu238, j); - if(i == 2) - this.dropItem(ModItems.nugget_pu239, j); - if(i == 3) - this.dropItem(ModItems.nugget_neptunium, j); - if(i == 4) - this.dropItem(ModItems.man_core, 1); - if(i == 5) { - this.dropItem(ModItems.sulfur, j * 2); - this.dropItem(ModItems.niter, j * 2); - } - if(i == 6) - this.dropItem(ModItems.syringe_awesome, 1); - if(i == 7) - this.dropItem(ModItems.fusion_core, 1); - if(i == 8) - this.dropItem(ModItems.syringe_metal_stimpak, 1); - if(i == 9) { - switch(rand.nextInt(4)) { - case 0: - this.dropItem(ModItems.t45_helmet, 1); - break; - case 1: - this.dropItem(ModItems.t45_plate, 1); - break; - case 2: - this.dropItem(ModItems.t45_legs, 1); - break; - case 3: - this.dropItem(ModItems.t45_boots, 1); - break; - } - this.dropItem(ModItems.fusion_core, 1); - } - if(i == 10) - this.entityDropItem(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH), 1); - } - } - - @Override - public boolean attackEntityAsMob(Entity p_70652_1_) { - return true; - } - - public boolean getPowered() { - return this.dataWatcher.getWatchableObjectByte(17) == 1; - } - - @SideOnly(Side.CLIENT) - public float getCreeperFlashIntensity(float p_70831_1_) { - return (this.lastActiveTime + (this.timeSinceIgnited - this.lastActiveTime) * p_70831_1_) / (this.fuseTime - 2); - } - - @Override - protected Item getDropItem() { - return Item.getItemFromBlock(Blocks.tnt); - } - - @Override - protected void dropFewItems(boolean p_70628_1_, int p_70628_2_) { - - super.dropFewItems(p_70628_1_, p_70628_2_); - - if(rand.nextInt(3) == 0) - this.dropItem(ModItems.coin_creeper, 1); - } - - public int getCreeperState() { - return this.dataWatcher.getWatchableObjectByte(16); - } - - public void setCreeperState(int p_70829_1_) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) p_70829_1_)); - } - - @Override - public void onStruckByLightning(EntityLightningBolt p_70077_1_) { - super.onStruckByLightning(p_70077_1_); - this.dataWatcher.updateObject(17, Byte.valueOf((byte) 1)); - } - - @Override - protected boolean interact(EntityPlayer p_70085_1_) { - ItemStack itemstack = p_70085_1_.inventory.getCurrentItem(); - - if(itemstack != null && itemstack.getItem() == Items.flint_and_steel) { - this.worldObj.playSoundEffect(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D, "fire.ignite", 1.0F, this.rand.nextFloat() * 0.4F + 0.8F); - p_70085_1_.swingItem(); - - if(!this.worldObj.isRemote) { - this.func_146079_cb(); - itemstack.damageItem(1, p_70085_1_); - return true; - } - } - - return super.interact(p_70085_1_); - } - - private void func_146077_cc() { - if(!this.worldObj.isRemote) { - 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)); - worldObj.playSoundEffect(posX, posY + 0.5, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); - - if(flag) { - worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, 50, posX, posY, posZ).mute()); - } else { - ExplosionNukeGeneric.dealDamage(worldObj, posX, posY + 0.5, posZ, 100); - } - } else { - - if(flag) { - ExplosionNukeSmall.explode(worldObj, posX, posY + 0.5, posZ, ExplosionNukeSmall.PARAMS_MEDIUM); - } else { - ExplosionNukeSmall.explode(worldObj, posX, posY + 0.5, posZ, ExplosionNukeSmall.PARAMS_SAFE); - } - } - - this.setDead(); - } - } - - public boolean func_146078_ca() { - return this.dataWatcher.getWatchableObjectByte(18) != 0; - } - - public void func_146079_cb() { - this.dataWatcher.updateObject(18, Byte.valueOf((byte) 1)); - } - - public void setPowered(int power) { - this.dataWatcher.updateObject(17, power); - } -} diff --git a/src/main/java/com/hbm/entity/mob/EntityTaintedCreeper.java b/src/main/java/com/hbm/entity/mob/EntityTaintedCreeper.java index 12db53858..0190e025d 100644 --- a/src/main/java/com/hbm/entity/mob/EntityTaintedCreeper.java +++ b/src/main/java/com/hbm/entity/mob/EntityTaintedCreeper.java @@ -2,51 +2,19 @@ package com.hbm.entity.mob; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; -import com.hbm.entity.mob.ai.EntityAITaintedCreeperSwell; import api.hbm.entity.IRadiationImmune; -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.SharedMonsterAttributes; -import net.minecraft.entity.ai.EntityAIAttackOnCollide; -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.effect.EntityLightningBolt; -import net.minecraft.entity.monster.EntityMob; -import net.minecraft.entity.passive.EntityOcelot; -import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.monster.EntityCreeper; import net.minecraft.init.Blocks; -import net.minecraft.init.Items; import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.DamageSource; import net.minecraft.world.World; -public class EntityTaintedCreeper extends EntityMob implements IRadiationImmune { +public class EntityTaintedCreeper extends EntityCreeper implements IRadiationImmune { - private int lastActiveTime; - private int timeSinceIgnited; - private int fuseTime = 30; - private int explosionRadius = 20; - - public EntityTaintedCreeper(World p_i1733_1_) { - super(p_i1733_1_); - this.tasks.addTask(1, new EntityAISwimming(this)); - this.tasks.addTask(2, new EntityAITaintedCreeperSwell(this)); - this.tasks.addTask(3, new EntityAIAttackOnCollide(this, 1.0D, false)); - this.tasks.addTask(4, new EntityAIWander(this, 0.8D)); - this.tasks.addTask(5, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); - this.tasks.addTask(6, new EntityAILookIdle(this)); - this.targetTasks.addTask(1, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); - this.targetTasks.addTask(2, new EntityAIHurtByTarget(this, false)); - this.targetTasks.addTask(3, new EntityAINearestAttackableTarget(this, EntityOcelot.class, 0, true)); + public EntityTaintedCreeper(World world) { + super(world); } @Override @@ -56,203 +24,61 @@ public class EntityTaintedCreeper extends EntityMob implements IRadiationImmune this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.35D); } - @Override - public boolean isAIEnabled() { - return true; - } - - @Override - public int getMaxSafePointTries() { - return this.getAttackTarget() == null ? 3 : 3 + (int) (this.getHealth() - 1.0F); - } - - @Override - protected void fall(float p_70069_1_) { - super.fall(p_70069_1_); - this.timeSinceIgnited = (int) (this.timeSinceIgnited + p_70069_1_ * 1.5F); - - if(this.timeSinceIgnited > this.fuseTime - 5) { - this.timeSinceIgnited = this.fuseTime - 5; - } - } - - @Override - protected void entityInit() { - super.entityInit(); - this.dataWatcher.addObject(16, Byte.valueOf((byte) -1)); - this.dataWatcher.addObject(17, Byte.valueOf((byte) 0)); - this.dataWatcher.addObject(18, Byte.valueOf((byte) 0)); - } - - @Override - public void writeEntityToNBT(NBTTagCompound p_70014_1_) { - super.writeEntityToNBT(p_70014_1_); - - if(this.dataWatcher.getWatchableObjectByte(17) == 1) { - p_70014_1_.setBoolean("powered", true); - } - - p_70014_1_.setShort("Fuse", (short) this.fuseTime); - p_70014_1_.setByte("ExplosionRadius", (byte) this.explosionRadius); - p_70014_1_.setBoolean("ignited", this.func_146078_ca()); - } - - @Override - public void readEntityFromNBT(NBTTagCompound p_70037_1_) { - super.readEntityFromNBT(p_70037_1_); - this.dataWatcher.updateObject(17, Byte.valueOf((byte) (p_70037_1_.getBoolean("powered") ? 1 : 0))); - - if(p_70037_1_.hasKey("Fuse", 99)) { - this.fuseTime = p_70037_1_.getShort("Fuse"); - } - - if(p_70037_1_.hasKey("ExplosionRadius", 99)) { - this.explosionRadius = p_70037_1_.getByte("ExplosionRadius"); - } - - if(p_70037_1_.getBoolean("ignited")) { - this.func_146079_cb(); - } - } - @Override public void onUpdate() { - if(this.isEntityAlive()) { - this.lastActiveTime = this.timeSinceIgnited; - - if(this.func_146078_ca()) { - this.setCreeperState(1); - } - - int i = this.getCreeperState(); - - if(i > 0 && this.timeSinceIgnited == 0) { - this.playSound("creeper.primed", 1.0F * 30 / 75, 0.5F); - } - - this.timeSinceIgnited += i; - - if(this.timeSinceIgnited < 0) { - this.timeSinceIgnited = 0; - } - - if(this.timeSinceIgnited >= this.fuseTime) { - this.timeSinceIgnited = this.fuseTime; - this.func_146077_cc(); - } - } - super.onUpdate(); + + if(this.isEntityAlive()) { - if(this.getHealth() < this.getMaxHealth() && this.ticksExisted % 10 == 0) { - this.heal(1.0F); + if(this.getHealth() < this.getMaxHealth() && this.ticksExisted % 10 == 0) { + this.heal(1.0F); + } } } - @Override - protected String getHurtSound() { - return "mob.creeper.say"; - } - - @Override - protected String getDeathSound() { - return "mob.creeper.death"; - } - - @Override - public void onDeath(DamageSource p_70645_1_) { - super.onDeath(p_70645_1_); - } - - @Override - public boolean attackEntityAsMob(Entity p_70652_1_) { - return true; - } - - public boolean getPowered() { - return this.dataWatcher.getWatchableObjectByte(17) == 1; - } - - @SideOnly(Side.CLIENT) - public float getCreeperFlashIntensity(float p_70831_1_) { - return (this.lastActiveTime + (this.timeSinceIgnited - this.lastActiveTime) * p_70831_1_) / (this.fuseTime - 2); - } - @Override protected Item getDropItem() { return Item.getItemFromBlock(Blocks.tnt); } - public int getCreeperState() { - return this.dataWatcher.getWatchableObjectByte(16); - } - - public void setCreeperState(int p_70829_1_) { - this.dataWatcher.updateObject(16, Byte.valueOf((byte) p_70829_1_)); - } - @Override - public void onStruckByLightning(EntityLightningBolt p_70077_1_) { - super.onStruckByLightning(p_70077_1_); - this.dataWatcher.updateObject(17, Byte.valueOf((byte) 1)); - } - - @Override - protected boolean interact(EntityPlayer p_70085_1_) { - ItemStack itemstack = p_70085_1_.inventory.getCurrentItem(); - - if(itemstack != null && itemstack.getItem() == Items.flint_and_steel) { - this.worldObj.playSoundEffect(this.posX + 0.5D, this.posY + 0.5D, this.posZ + 0.5D, "fire.ignite", 1.0F, this.rand.nextFloat() * 0.4F + 0.8F); - p_70085_1_.swingItem(); - - if(!this.worldObj.isRemote) { - this.func_146079_cb(); - itemstack.damageItem(1, p_70085_1_); - return true; - } - } - - return super.interact(p_70085_1_); - } - - private void func_146077_cc() { + public void func_146077_cc() { if(!this.worldObj.isRemote) { - this.worldObj.getGameRules().getGameRuleBooleanValue("mobGriefing"); - - if(this.getPowered()) { - this.explosionRadius *= 3; - } + boolean griefing = this.worldObj.getGameRules().getGameRuleBooleanValue("mobGriefing"); worldObj.newExplosion(this, posX, posY, posZ, 5.0F, false, false); - if(this.getPowered()) { - - for(int i = 0; i < 255; i++) { - 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) - worldObj.setBlock(a, b, c, ModBlocks.taint, rand.nextInt(3) + 5, 2); - else - worldObj.setBlock(a, b, c, ModBlocks.taint, rand.nextInt(3), 2); + if(griefing) { + if(this.getPowered()) { + + for(int i = 0; i < 255; i++) { + 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) { + worldObj.setBlock(a, b, c, ModBlocks.taint, rand.nextInt(3) + 5, 2); + } else { + worldObj.setBlock(a, b, c, ModBlocks.taint, rand.nextInt(3), 2); + } + } } - } - - } else { - - for(int i = 0; i < 85; i++) { - 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) - - 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); + + } else { + + for(int i = 0; i < 85; i++) { + 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) { + 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); + } + } } } } @@ -271,16 +97,4 @@ public class EntityTaintedCreeper extends EntityMob implements IRadiationImmune 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; } - - public boolean func_146078_ca() { - return this.dataWatcher.getWatchableObjectByte(18) != 0; - } - - public void func_146079_cb() { - this.dataWatcher.updateObject(18, Byte.valueOf((byte) 1)); - } - - public void setPowered(int power) { - this.dataWatcher.updateObject(17, power); - } } diff --git a/src/main/java/com/hbm/entity/mob/ai/EntityAINuclearCreeperSwell.java b/src/main/java/com/hbm/entity/mob/ai/EntityAINuclearCreeperSwell.java deleted file mode 100644 index 665d9dd88..000000000 --- a/src/main/java/com/hbm/entity/mob/ai/EntityAINuclearCreeperSwell.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.hbm.entity.mob.ai; - -import com.hbm.entity.mob.EntityNuclearCreeper; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.ai.EntityAIBase; - -public class EntityAINuclearCreeperSwell extends EntityAIBase { - /** The creeper that is swelling. */ - EntityNuclearCreeper swellingCreeper; - /** The creeper's attack target. This is used for the changing of the creeper's state. */ - EntityLivingBase creeperAttackTarget; - public EntityAINuclearCreeperSwell(EntityNuclearCreeper p_i1655_1_) - { - this.swellingCreeper = p_i1655_1_; - this.setMutexBits(1); - } - - /** - * Returns whether the EntityAIBase should begin execution. - */ - @Override - public boolean shouldExecute() - { - EntityLivingBase entitylivingbase = this.swellingCreeper.getAttackTarget(); - return this.swellingCreeper.getCreeperState() > 0 || entitylivingbase != null && this.swellingCreeper.getDistanceSqToEntity(entitylivingbase) < 9.0D; - } - - /** - * Execute a one shot task or start executing a continuous task - */ - @Override - public void startExecuting() - { - this.swellingCreeper.getNavigator().clearPathEntity(); - this.creeperAttackTarget = this.swellingCreeper.getAttackTarget(); - } - - /** - * Resets the task - */ - @Override - public void resetTask() - { - this.creeperAttackTarget = null; - } - - /** - * Updates the task - */ - @Override - public void updateTask() - { - if (this.creeperAttackTarget == null) - { - this.swellingCreeper.setCreeperState(-1); - } - else if (this.swellingCreeper.getDistanceSqToEntity(this.creeperAttackTarget) > 49.0D) - { - this.swellingCreeper.setCreeperState(-1); - } - else if (!this.swellingCreeper.getEntitySenses().canSee(this.creeperAttackTarget)) - { - this.swellingCreeper.setCreeperState(-1); - } - else - { - this.swellingCreeper.setCreeperState(1); - } - } -} diff --git a/src/main/java/com/hbm/entity/mob/ai/EntityAITaintedCreeperSwell.java b/src/main/java/com/hbm/entity/mob/ai/EntityAITaintedCreeperSwell.java deleted file mode 100644 index 44c749cbe..000000000 --- a/src/main/java/com/hbm/entity/mob/ai/EntityAITaintedCreeperSwell.java +++ /dev/null @@ -1,71 +0,0 @@ -package com.hbm.entity.mob.ai; - -import com.hbm.entity.mob.EntityTaintedCreeper; - -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.ai.EntityAIBase; - -public class EntityAITaintedCreeperSwell extends EntityAIBase { - /** The creeper that is swelling. */ - EntityTaintedCreeper swellingCreeper; - /** The creeper's attack target. This is used for the changing of the creeper's state. */ - EntityLivingBase creeperAttackTarget; - public EntityAITaintedCreeperSwell(EntityTaintedCreeper p_i1655_1_) - { - this.swellingCreeper = p_i1655_1_; - this.setMutexBits(1); - } - - /** - * Returns whether the EntityAIBase should begin execution. - */ - @Override - public boolean shouldExecute() - { - EntityLivingBase entitylivingbase = this.swellingCreeper.getAttackTarget(); - return this.swellingCreeper.getCreeperState() > 0 || entitylivingbase != null && this.swellingCreeper.getDistanceSqToEntity(entitylivingbase) < 9.0D; - } - - /** - * Execute a one shot task or start executing a continuous task - */ - @Override - public void startExecuting() - { - this.swellingCreeper.getNavigator().clearPathEntity(); - this.creeperAttackTarget = this.swellingCreeper.getAttackTarget(); - } - - /** - * Resets the task - */ - @Override - public void resetTask() - { - this.creeperAttackTarget = null; - } - - /** - * Updates the task - */ - @Override - public void updateTask() - { - if (this.creeperAttackTarget == null) - { - this.swellingCreeper.setCreeperState(-1); - } - else if (this.swellingCreeper.getDistanceSqToEntity(this.creeperAttackTarget) > 49.0D) - { - this.swellingCreeper.setCreeperState(-1); - } - else if (!this.swellingCreeper.getEntitySenses().canSee(this.creeperAttackTarget)) - { - this.swellingCreeper.setCreeperState(-1); - } - else - { - this.swellingCreeper.setCreeperState(1); - } - } -} diff --git a/src/main/java/com/hbm/entity/projectile/EntityBullet.java b/src/main/java/com/hbm/entity/projectile/EntityBullet.java index e4e4a19cc..3bbf98b02 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBullet.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBullet.java @@ -32,7 +32,7 @@ import net.minecraft.world.World; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.RedBarrel; import com.hbm.entity.grenade.EntityGrenadeTau; -import com.hbm.entity.mob.EntityNuclearCreeper; +import com.hbm.entity.mob.EntityCreeperNuclear; import com.hbm.entity.particle.EntityBSmokeFX; import com.hbm.items.ModItems; import com.hbm.lib.ModDamageSource; @@ -494,7 +494,7 @@ public class EntityBullet extends Entity implements IProjectile { if (entitylivingbase instanceof EntityPlayer && ArmorUtil.checkForHazmat((EntityPlayer) entitylivingbase)) { } else if (entitylivingbase instanceof EntityCreeper) { - EntityNuclearCreeper creep = new EntityNuclearCreeper(this.worldObj); + EntityCreeperNuclear creep = new EntityCreeperNuclear(this.worldObj); creep.setLocationAndAngles(entitylivingbase.posX, entitylivingbase.posY, entitylivingbase.posZ, entitylivingbase.rotationYaw, entitylivingbase.rotationPitch); if (!entitylivingbase.isDead) @@ -509,7 +509,7 @@ public class EntityBullet extends Entity implements IProjectile { if (!this.worldObj.isRemote) this.worldObj.spawnEntityInWorld(creep); } else if (entitylivingbase instanceof EntityLivingBase - && !(entitylivingbase instanceof EntityNuclearCreeper) + && !(entitylivingbase instanceof EntityCreeperNuclear) && !(entitylivingbase instanceof EntityMooshroom) && !(entitylivingbase instanceof EntityZombie)) { entitylivingbase.addPotionEffect(new PotionEffect(Potion.poison.getId(), 2 * 60 * 20, 2)); diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 3360a132b..ba93c94a2 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -682,7 +682,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityMovingPackage.class, new RenderMovingPackage()); RenderingRegistry.registerEntityRenderingHandler(EntityTNTPrimedBase.class, new RenderTNTPrimedBase()); //mobs - RenderingRegistry.registerEntityRenderingHandler(EntityNuclearCreeper.class, new RenderNuclearCreeper()); + RenderingRegistry.registerEntityRenderingHandler(EntityCreeperNuclear.class, new RenderNuclearCreeper()); RenderingRegistry.registerEntityRenderingHandler(EntityTaintedCreeper.class, new RenderTaintedCreeper()); RenderingRegistry.registerEntityRenderingHandler(EntityHunterChopper.class, new RenderHunterChopper()); RenderingRegistry.registerEntityRenderingHandler(EntityCyberCrab.class, new RenderCyberCrab()); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 74e150a55..1b8ab3236 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -22,7 +22,7 @@ import com.hbm.entity.missile.EntityMissileBaseAdvanced; import com.hbm.entity.missile.EntityMissileCustom; import com.hbm.entity.mob.EntityCyberCrab; import com.hbm.entity.mob.EntityDuck; -import com.hbm.entity.mob.EntityNuclearCreeper; +import com.hbm.entity.mob.EntityCreeperNuclear; import com.hbm.entity.mob.EntityQuackos; import com.hbm.entity.mob.EntityTaintedCreeper; import com.hbm.entity.projectile.EntityBulletBase; @@ -577,7 +577,7 @@ public class ModEventHandler { if(entity instanceof EntityCreeper && eRad >= 200 && entity.getHealth() > 0) { if(event.world.rand.nextInt(3) == 0 ) { - EntityNuclearCreeper creep = new EntityNuclearCreeper(event.world); + EntityCreeperNuclear creep = new EntityCreeperNuclear(event.world); creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); if(!entity.isDead) diff --git a/src/main/java/com/hbm/render/entity/mob/RenderNuclearCreeper.java b/src/main/java/com/hbm/render/entity/mob/RenderNuclearCreeper.java index 54bba99bb..4ddce6f9b 100644 --- a/src/main/java/com/hbm/render/entity/mob/RenderNuclearCreeper.java +++ b/src/main/java/com/hbm/render/entity/mob/RenderNuclearCreeper.java @@ -2,7 +2,7 @@ package com.hbm.render.entity.mob; import org.lwjgl.opengl.GL11; -import com.hbm.entity.mob.EntityNuclearCreeper; +import com.hbm.entity.mob.EntityCreeperNuclear; import com.hbm.lib.RefStrings; import net.minecraft.client.model.ModelBase; @@ -13,177 +13,126 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; -public class RenderNuclearCreeper extends RenderLiving -{ - private static final ResourceLocation armoredCreeperTextures = new ResourceLocation(RefStrings.MODID + ":" + "textures/entity/creeper_armor.png"); - private static final ResourceLocation creeperTextures = new ResourceLocation(RefStrings.MODID + ":" + "textures/entity/creeper.png"); - /** The creeper model. */ - private ModelBase creeperModel = new ModelCreeper(2.0F); +public class RenderNuclearCreeper extends RenderLiving { + + private static final ResourceLocation armoredCreeperTextures = new ResourceLocation(RefStrings.MODID + ":" + "textures/entity/creeper_armor.png"); + private static final ResourceLocation creeperTextures = new ResourceLocation(RefStrings.MODID + ":" + "textures/entity/creeper.png"); + private ModelBase creeperModel = new ModelCreeper(2.0F); - public RenderNuclearCreeper() - { - super(new ModelCreeper(), 0.5F); - } + public RenderNuclearCreeper() { + super(new ModelCreeper(), 0.5F); + } - /** - * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args: - * entityLiving, partialTickTime - */ - protected void preRenderCallback(EntityNuclearCreeper p_77041_1_, float p_77041_2_) - { - float f1 = p_77041_1_.getCreeperFlashIntensity(p_77041_2_); - float f2 = 1.0F + MathHelper.sin(f1 * 100.0F) * f1 * 0.01F; + protected void preRenderCallback(EntityCreeperNuclear p_77041_1_, float p_77041_2_) { + float f1 = p_77041_1_.getCreeperFlashIntensity(p_77041_2_); + float f2 = 1.0F + MathHelper.sin(f1 * 100.0F) * f1 * 0.01F; - if (f1 < 0.0F) - { - f1 = 0.0F; - } + if(f1 < 0.0F) { + f1 = 0.0F; + } - if (f1 > 1.0F) - { - f1 = 1.0F; - } + if(f1 > 1.0F) { + f1 = 1.0F; + } - f1 *= f1; - f1 *= f1; - float f3 = (1.0F + f1 * 0.4F) * f2; - float f4 = (1.0F + f1 * 0.1F) / f2; - GL11.glScalef(f3, f4, f3); - } + f1 *= f1; + f1 *= f1; + float f3 = (1.0F + f1 * 0.4F) * f2; + float f4 = (1.0F + f1 * 0.1F) / f2; + GL11.glScalef(f3, f4, f3); + } - /** - * Returns an ARGB int color back. Args: entityLiving, lightBrightness, partialTickTime - */ - protected int getColorMultiplier(EntityNuclearCreeper p_77030_1_, float p_77030_2_, float p_77030_3_) - { - float f2 = p_77030_1_.getCreeperFlashIntensity(p_77030_3_); + protected int getColorMultiplier(EntityCreeperNuclear p_77030_1_, float p_77030_2_, float p_77030_3_) { + float f2 = p_77030_1_.getCreeperFlashIntensity(p_77030_3_); - if ((int)(f2 * 10.0F) % 2 == 0) - { - return 0; - } - else - { - int i = (int)(f2 * 0.2F * 255.0F); + if((int) (f2 * 10.0F) % 2 == 0) { + return 0; + } else { + int i = (int) (f2 * 0.2F * 255.0F); - if (i < 0) - { - i = 0; - } + if(i < 0) { + i = 0; + } - if (i > 255) - { - i = 255; - } + if(i > 255) { + i = 255; + } - short short1 = 255; - short short2 = 255; - short short3 = 255; - return i << 24 | short1 << 16 | short2 << 8 | short3; - } - } + short short1 = 255; + short short2 = 255; + short short3 = 255; + return i << 24 | short1 << 16 | short2 << 8 | short3; + } + } - /** - * Queries whether should render the specified pass or not. - */ - protected int shouldRenderPass(EntityNuclearCreeper p_77032_1_, int p_77032_2_, float p_77032_3_) - { - if (p_77032_1_.getPowered()) - { - if (p_77032_1_.isInvisible()) - { - GL11.glDepthMask(false); - } - else - { - GL11.glDepthMask(true); - } + protected int shouldRenderPass(EntityCreeperNuclear p_77032_1_, int p_77032_2_, float p_77032_3_) { + if(p_77032_1_.getPowered()) { + if(p_77032_1_.isInvisible()) { + GL11.glDepthMask(false); + } else { + GL11.glDepthMask(true); + } - if (p_77032_2_ == 1) - { - float f1 = p_77032_1_.ticksExisted + p_77032_3_; - this.bindTexture(armoredCreeperTextures); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glLoadIdentity(); - float f2 = f1 * 0.01F; - float f3 = f1 * 0.01F; - GL11.glTranslatef(f2, f3, 0.0F); - this.setRenderPassModel(this.creeperModel); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glEnable(GL11.GL_BLEND); - float f4 = 0.5F; - GL11.glColor4f(f4, f4, f4, 1.0F); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); - return 1; - } + if(p_77032_2_ == 1) { + float f1 = p_77032_1_.ticksExisted + p_77032_3_; + this.bindTexture(armoredCreeperTextures); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glLoadIdentity(); + float f2 = f1 * 0.01F; + float f3 = f1 * 0.01F; + GL11.glTranslatef(f2, f3, 0.0F); + this.setRenderPassModel(this.creeperModel); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glEnable(GL11.GL_BLEND); + float f4 = 0.5F; + GL11.glColor4f(f4, f4, f4, 1.0F); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); + return 1; + } - if (p_77032_2_ == 2) - { - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glLoadIdentity(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_BLEND); - } - } + if(p_77032_2_ == 2) { + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glLoadIdentity(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_BLEND); + } + } - return -1; - } + return -1; + } - protected int inheritRenderPass(EntityNuclearCreeper p_77035_1_, int p_77035_2_, float p_77035_3_) - { - return -1; - } + protected int inheritRenderPass(EntityCreeperNuclear p_77035_1_, int p_77035_2_, float p_77035_3_) { + return -1; + } - /** - * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. - */ - protected ResourceLocation getEntityTexture(EntityNuclearCreeper p_110775_1_) - { - return creeperTextures; - } + protected ResourceLocation getEntityTexture(EntityCreeperNuclear p_110775_1_) { + return creeperTextures; + } - /** - * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args: - * entityLiving, partialTickTime - */ - @Override - protected void preRenderCallback(EntityLivingBase p_77041_1_, float p_77041_2_) - { - this.preRenderCallback((EntityNuclearCreeper)p_77041_1_, p_77041_2_); - } + @Override + protected void preRenderCallback(EntityLivingBase p_77041_1_, float p_77041_2_) { + this.preRenderCallback((EntityCreeperNuclear) p_77041_1_, p_77041_2_); + } - /** - * Returns an ARGB int color back. Args: entityLiving, lightBrightness, partialTickTime - */ - @Override - protected int getColorMultiplier(EntityLivingBase p_77030_1_, float p_77030_2_, float p_77030_3_) - { - return this.getColorMultiplier((EntityNuclearCreeper)p_77030_1_, p_77030_2_, p_77030_3_); - } + @Override + protected int getColorMultiplier(EntityLivingBase p_77030_1_, float p_77030_2_, float p_77030_3_) { + return this.getColorMultiplier((EntityCreeperNuclear) p_77030_1_, p_77030_2_, p_77030_3_); + } - /** - * Queries whether should render the specified pass or not. - */ - @Override - protected int shouldRenderPass(EntityLivingBase p_77032_1_, int p_77032_2_, float p_77032_3_) - { - return this.shouldRenderPass((EntityNuclearCreeper)p_77032_1_, p_77032_2_, p_77032_3_); - } + @Override + protected int shouldRenderPass(EntityLivingBase p_77032_1_, int p_77032_2_, float p_77032_3_) { + return this.shouldRenderPass((EntityCreeperNuclear) p_77032_1_, p_77032_2_, p_77032_3_); + } - @Override - protected int inheritRenderPass(EntityLivingBase p_77035_1_, int p_77035_2_, float p_77035_3_) - { - return this.inheritRenderPass((EntityNuclearCreeper)p_77035_1_, p_77035_2_, p_77035_3_); - } + @Override + protected int inheritRenderPass(EntityLivingBase p_77035_1_, int p_77035_2_, float p_77035_3_) { + return this.inheritRenderPass((EntityCreeperNuclear) p_77035_1_, p_77035_2_, p_77035_3_); + } - /** - * 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 this.getEntityTexture((EntityNuclearCreeper)p_110775_1_); - } + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return this.getEntityTexture((EntityCreeperNuclear) p_110775_1_); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java b/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java index c40358133..fcab378f7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java @@ -5,7 +5,6 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.entity.mob.EntityCyberCrab; -import com.hbm.entity.mob.EntityNuclearCreeper; import com.hbm.entity.mob.EntityTaintCrab; import com.hbm.entity.mob.EntityTeslaCrab; import com.hbm.lib.Library; @@ -134,10 +133,6 @@ public class TileEntityTesla extends TileEntityMachineBase implements IEnergyUse ((EntityCreeper)e).getDataWatcher().updateObject(17, Byte.valueOf((byte)1)); } - if(e instanceof EntityNuclearCreeper) { - ((EntityNuclearCreeper)e).getDataWatcher().updateObject(17, Byte.valueOf((byte)1)); - } - double offset = 0; if(source != null && e instanceof EntityPlayer && worldObj.isRemote) diff --git a/src/main/java/com/hbm/util/ContaminationUtil.java b/src/main/java/com/hbm/util/ContaminationUtil.java index 612d8b23b..c09b3ba4a 100644 --- a/src/main/java/com/hbm/util/ContaminationUtil.java +++ b/src/main/java/com/hbm/util/ContaminationUtil.java @@ -3,7 +3,7 @@ package com.hbm.util; import java.util.HashSet; import com.hbm.entity.mob.EntityDuck; -import com.hbm.entity.mob.EntityNuclearCreeper; +import com.hbm.entity.mob.EntityCreeperNuclear; import com.hbm.entity.mob.EntityQuackos; import com.hbm.extprop.HbmLivingProps; import com.hbm.handler.HazmatRegistry; @@ -65,7 +65,7 @@ public class ContaminationUtil { return true; if(immuneEntities.isEmpty()) { - immuneEntities.add(EntityNuclearCreeper.class); + immuneEntities.add(EntityCreeperNuclear.class); immuneEntities.add(EntityMooshroom.class); immuneEntities.add(EntityZombie.class); immuneEntities.add(EntitySkeleton.class); diff --git a/src/main/resources/META-INF/HBM_at.cfg b/src/main/resources/META-INF/HBM_at.cfg new file mode 100644 index 000000000..93dfb3d3a --- /dev/null +++ b/src/main/resources/META-INF/HBM_at.cfg @@ -0,0 +1,3 @@ +# EntityCreeper +public net.minecraft.entity.monster.EntityCreeper field_82225_f # fuseTime +public net.minecraft.entity.monster.EntityCreeper func_146077_cc()V # explode diff --git a/src/main/resources/assets/hbm/textures/entity/creeper_base.png b/src/main/resources/assets/hbm/textures/entity/creeper_base.png new file mode 100644 index 0000000000000000000000000000000000000000..abdb54008f1ebf4407886d16f3b05a1fe61bb5d8 GIT binary patch literal 2964 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 KMNUMnLSTXdH;0-4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/entity/creeper_mustard.png b/src/main/resources/assets/hbm/textures/entity/creeper_mustard.png new file mode 100644 index 0000000000000000000000000000000000000000..7d2016173365f35794459815bb3abde1d956914f GIT binary patch literal 3104 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 Date: Wed, 19 Apr 2023 16:17:48 +0200 Subject: [PATCH 033/285] faster cracking, more gas funnies --- .../java/com/hbm/blocks/bomb/BlockTaint.java | 4 +- .../java/com/hbm/entity/EntityMappings.java | 4 +- .../com/hbm/entity/effect/EntityMist.java | 19 +- .../hbm/entity/mob/EntityCreeperNuclear.java | 12 +- .../hbm/entity/mob/EntityCreeperPhosgene.java | 42 ++++ ...Creeper.java => EntityCreeperTainted.java} | 4 +- src/main/java/com/hbm/main/ClientProxy.java | 44 ++-- .../java/com/hbm/main/ModEventHandler.java | 4 +- src/main/java/com/hbm/potion/HbmPotion.java | 4 +- .../entity/mob/RenderCreeperUniversal.java | 92 +++++++++ .../entity/mob/RenderNuclearCreeper.java | 138 ------------- .../entity/mob/RenderTaintedCreeper.java | 189 ------------------ .../TileEntityMachineCatalyticCracker.java | 109 +--------- src/main/resources/META-INF/HBM_at.cfg | 11 +- 14 files changed, 207 insertions(+), 469 deletions(-) create mode 100644 src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java rename src/main/java/com/hbm/entity/mob/{EntityTaintedCreeper.java => EntityCreeperTainted.java} (96%) create mode 100644 src/main/java/com/hbm/render/entity/mob/RenderCreeperUniversal.java delete mode 100644 src/main/java/com/hbm/render/entity/mob/RenderNuclearCreeper.java delete mode 100644 src/main/java/com/hbm/render/entity/mob/RenderTaintedCreeper.java diff --git a/src/main/java/com/hbm/blocks/bomb/BlockTaint.java b/src/main/java/com/hbm/blocks/bomb/BlockTaint.java index 469bd6430..3d24353aa 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockTaint.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockTaint.java @@ -6,7 +6,7 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.entity.mob.EntityTaintCrab; -import com.hbm.entity.mob.EntityTaintedCreeper; +import com.hbm.entity.mob.EntityCreeperTainted; import com.hbm.entity.mob.EntityTeslaCrab; import com.hbm.potion.HbmPotion; @@ -186,7 +186,7 @@ public class BlockTaint extends Block/*Container*/ { } if(entity instanceof EntityCreeper) { - EntityTaintedCreeper creep = new EntityTaintedCreeper(world); + EntityCreeperTainted creep = new EntityCreeperTainted(world); creep.setLocationAndAngles(entity.posX, entity.posY, entity.posZ, entity.rotationYaw, entity.rotationPitch); if(!world.isRemote) { diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index 468b4a9bc..d3a450e87 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -203,9 +203,11 @@ public class EntityMappings { 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", 1000); addMob(EntityCreeperNuclear.class, "entity_mob_nuclear_creeper", 0x204131, 0x75CE00); - addMob(EntityTaintedCreeper.class, "entity_mob_tainted_creeper", 0x813b9b, 0xd71fdd); + addMob(EntityCreeperTainted.class, "entity_mob_tainted_creeper", 0x813b9b, 0xd71fdd); + addMob(EntityCreeperPhosgene.class, "entity_mob_tainted_phosgene", 0xE3D398, 0xB8A06B); addMob(EntityHunterChopper.class, "entity_mob_hunter_chopper", 0x000020, 0x2D2D72); addMob(EntityCyberCrab.class, "entity_cyber_crab", 0xAAAAAA, 0x444444); addMob(EntityTeslaCrab.class, "entity_tesla_crab", 0xAAAAAA, 0x440000); diff --git a/src/main/java/com/hbm/entity/effect/EntityMist.java b/src/main/java/com/hbm/entity/effect/EntityMist.java index 61b9833c5..9931c0287 100644 --- a/src/main/java/com/hbm/entity/effect/EntityMist.java +++ b/src/main/java/com/hbm/entity/effect/EntityMist.java @@ -37,15 +37,22 @@ public class EntityMist extends Entity { public EntityMist(World world) { super(world); this.noClip = true; - this.setSize(10F, 3F); + } + + public EntityMist setArea(float width, float height) { + this.dataWatcher.updateObject(11, width); + this.dataWatcher.updateObject(12, height); + 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 EntityMist setFluid(FluidType fluid) { + public EntityMist setType(FluidType fluid) { this.dataWatcher.updateObject(10, fluid.getID()); return this; } @@ -58,6 +65,10 @@ public class EntityMist extends Entity { @Override public void onEntityUpdate() { + float height = this.dataWatcher.getWatchableObjectFloat(12); + this.yOffset = height / 2F; + this.setSize(this.dataWatcher.getWatchableObjectFloat(11), height); + if(!worldObj.isRemote) { if(this.ticksExisted > this.getMaxAge()) { @@ -114,7 +125,7 @@ public class EntityMist extends Entity { } } - if(type.hasTrait(FT_Flammable.class)) { + if(type.hasTrait(FT_Flammable.class) && type.hasTrait(FT_Liquid.class)) { if(living != null) { HbmLivingProps.setOil(living, 200); //doused in oil for 10 seconds } @@ -169,7 +180,7 @@ public class EntityMist extends Entity { @Override protected void readEntityFromNBT(NBTTagCompound nbt) { - this.setFluid(Fluids.fromID(nbt.getInteger("type"))); + this.setType(Fluids.fromID(nbt.getInteger("type"))); } @Override diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java b/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java index 23e8719f5..3be14d073 100644 --- a/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperNuclear.java @@ -45,9 +45,12 @@ 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; if(source == ModDamageSource.radiation || source == ModDamageSource.mudPoisoning) { - this.heal(amount); + if(this.isEntityAlive()) this.heal(amount); return false; } @@ -96,7 +99,7 @@ public class EntityCreeperNuclear extends EntityCreeper { super.onUpdate(); - if(this.getHealth() < this.getMaxHealth() && this.ticksExisted % 10 == 0) { + if(this.isEntityAlive() && this.getHealth() < this.getMaxHealth() && this.ticksExisted % 10 == 0) { this.heal(1.0F); } } @@ -104,6 +107,9 @@ public class EntityCreeperNuclear extends EntityCreeper { @Override public void func_146077_cc() { if(!this.worldObj.isRemote) { + + this.setDead(); + boolean flag = this.worldObj.getGameRules().getGameRuleBooleanValue("mobGriefing"); if(this.getPowered()) { @@ -126,8 +132,6 @@ public class EntityCreeperNuclear extends EntityCreeper { ExplosionNukeSmall.explode(worldObj, posX, posY + 0.5, posZ, ExplosionNukeSmall.PARAMS_SAFE); } } - - this.setDead(); } } } diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java b/src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java new file mode 100644 index 000000000..53cfbe7f7 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java @@ -0,0 +1,42 @@ +package com.hbm.entity.mob; + +import com.hbm.entity.effect.EntityMist; +import com.hbm.inventory.fluid.Fluids; + +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; + +public class EntityCreeperPhosgene extends EntityCreeper { + + public EntityCreeperPhosgene(World world) { + super(world); + this.fuseTime = 20; //ehehehehehe + } + + @Override + public boolean attackEntityFrom(DamageSource source, float amount) { + + if(!source.isDamageAbsolute() && !source.isUnblockable()) { + amount -= 4F; + } + + if(amount < 0) return false; + + return super.attackEntityFrom(source, amount); + } + + @Override + public void func_146077_cc() { + + if(!this.worldObj.isRemote) { + this.setDead(); + + EntityMist mist = new EntityMist(worldObj); + mist.setType(Fluids.PHOSGENE); + mist.setPosition(posX, posY, posZ); + mist.setArea(10, 5); + worldObj.spawnEntityInWorld(mist); + } + } +} diff --git a/src/main/java/com/hbm/entity/mob/EntityTaintedCreeper.java b/src/main/java/com/hbm/entity/mob/EntityCreeperTainted.java similarity index 96% rename from src/main/java/com/hbm/entity/mob/EntityTaintedCreeper.java rename to src/main/java/com/hbm/entity/mob/EntityCreeperTainted.java index 0190e025d..807e6c543 100644 --- a/src/main/java/com/hbm/entity/mob/EntityTaintedCreeper.java +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperTainted.java @@ -11,9 +11,9 @@ import net.minecraft.init.Blocks; import net.minecraft.item.Item; import net.minecraft.world.World; -public class EntityTaintedCreeper extends EntityCreeper implements IRadiationImmune { +public class EntityCreeperTainted extends EntityCreeper implements IRadiationImmune { - public EntityTaintedCreeper(World world) { + public EntityCreeperTainted(World world) { super(world); } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index ba93c94a2..0b230bf6b 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -66,6 +66,7 @@ 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.psys.engine.EventHandlerParticleEngine; import com.hbm.render.anim.*; @@ -682,27 +683,28 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityMovingPackage.class, new RenderMovingPackage()); RenderingRegistry.registerEntityRenderingHandler(EntityTNTPrimedBase.class, new RenderTNTPrimedBase()); //mobs - RenderingRegistry.registerEntityRenderingHandler(EntityCreeperNuclear.class, new RenderNuclearCreeper()); - RenderingRegistry.registerEntityRenderingHandler(EntityTaintedCreeper.class, new RenderTaintedCreeper()); - 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(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(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()); //"particles" RenderingRegistry.registerEntityRenderingHandler(EntitySmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.smoke1, ModItems.smoke2, ModItems.smoke3, ModItems.smoke4, ModItems.smoke5, ModItems.smoke6, ModItems.smoke7, ModItems.smoke8 })); 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 })); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 1b8ab3236..c78c63b76 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -24,7 +24,7 @@ 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.EntityTaintedCreeper; +import com.hbm.entity.mob.EntityCreeperTainted; import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.entity.projectile.EntityBurningFOEQ; import com.hbm.extprop.HbmLivingProps; @@ -284,7 +284,7 @@ public class ModEventHandler { event.entity.dropItem(ModItems.book_of_, 1); } - if(event.entity instanceof EntityTaintedCreeper && event.source == ModDamageSource.boxcar) { + 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; diff --git a/src/main/java/com/hbm/potion/HbmPotion.java b/src/main/java/com/hbm/potion/HbmPotion.java index 084826705..48031fddf 100644 --- a/src/main/java/com/hbm/potion/HbmPotion.java +++ b/src/main/java/com/hbm/potion/HbmPotion.java @@ -7,7 +7,7 @@ import com.hbm.blocks.bomb.BlockTaint; import com.hbm.config.GeneralConfig; import com.hbm.config.PotionConfig; import com.hbm.entity.mob.EntityTaintCrab; -import com.hbm.entity.mob.EntityTaintedCreeper; +import com.hbm.entity.mob.EntityCreeperTainted; import com.hbm.explosion.ExplosionLarge; import com.hbm.extprop.HbmLivingProps; import com.hbm.items.ModItems; @@ -102,7 +102,7 @@ public class HbmPotion extends Potion { if(this == taint) { - if(!(entity instanceof EntityTaintedCreeper) && !(entity instanceof EntityTaintCrab) && entity.worldObj.rand.nextInt(40) == 0) + 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) { diff --git a/src/main/java/com/hbm/render/entity/mob/RenderCreeperUniversal.java b/src/main/java/com/hbm/render/entity/mob/RenderCreeperUniversal.java new file mode 100644 index 000000000..198be27b0 --- /dev/null +++ b/src/main/java/com/hbm/render/entity/mob/RenderCreeperUniversal.java @@ -0,0 +1,92 @@ +package com.hbm.render.entity.mob; + +import org.lwjgl.opengl.GL11; + +import net.minecraft.client.renderer.entity.RenderCreeper; +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; + +public class RenderCreeperUniversal extends RenderCreeper { + + private final ResourceLocation creeperTextures; + private final ResourceLocation armoredCreeperTextures; + private float swellMod = 1.0F; + + public RenderCreeperUniversal(String texture, String overlay) { + super(); + + creeperTextures = new ResourceLocation(texture); + armoredCreeperTextures = new ResourceLocation(overlay); + } + + public RenderCreeperUniversal setSwellMod(float mod) { + this.swellMod = mod; + return this; + } + + @Override + protected void preRenderCallback(EntityCreeper creeper, float interp) { + float swell = creeper.getCreeperFlashIntensity(interp); + float flash = 1.0F + MathHelper.sin(swell * 100.0F) * swell * 0.01F; + + if(swell < 0.0F) { + swell = 0.0F; + } + + if(swell > 1.0F) { + swell = 1.0F; + } + + swell *= swell; + swell *= swell; + swell *= swellMod; + float scaleHorizontal = (1.0F + swell * 0.4F) * flash; + float scaleVertical = (1.0F + swell * 0.1F) / flash; + GL11.glScalef(scaleHorizontal, scaleVertical, scaleHorizontal); + } + + @Override + protected int shouldRenderPass(EntityCreeper creeper, int pass, float interp) { + if(creeper.getPowered()) { + if(creeper.isInvisible()) { + GL11.glDepthMask(false); + } else { + GL11.glDepthMask(true); + } + + if(pass == 1) { + float time = (float) creeper.ticksExisted + interp; + this.bindTexture(armoredCreeperTextures); + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glLoadIdentity(); + float x = time * 0.01F; + float y = time * 0.01F; + GL11.glTranslatef(x, y, 0.0F); + this.setRenderPassModel(this.creeperModel); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glEnable(GL11.GL_BLEND); + float flashColor = 0.5F; + GL11.glColor4f(flashColor, flashColor, flashColor, 1.0F); + GL11.glDisable(GL11.GL_LIGHTING); + GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); + return 1; + } + + if(pass == 2) { + GL11.glMatrixMode(GL11.GL_TEXTURE); + GL11.glLoadIdentity(); + GL11.glMatrixMode(GL11.GL_MODELVIEW); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_BLEND); + } + } + + return -1; + } + + @Override + protected ResourceLocation getEntityTexture(EntityCreeper p_110775_1_) { + return creeperTextures; + } +} diff --git a/src/main/java/com/hbm/render/entity/mob/RenderNuclearCreeper.java b/src/main/java/com/hbm/render/entity/mob/RenderNuclearCreeper.java deleted file mode 100644 index 4ddce6f9b..000000000 --- a/src/main/java/com/hbm/render/entity/mob/RenderNuclearCreeper.java +++ /dev/null @@ -1,138 +0,0 @@ -package com.hbm.render.entity.mob; - -import org.lwjgl.opengl.GL11; - -import com.hbm.entity.mob.EntityCreeperNuclear; -import com.hbm.lib.RefStrings; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelCreeper; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; - -public class RenderNuclearCreeper extends RenderLiving { - - private static final ResourceLocation armoredCreeperTextures = new ResourceLocation(RefStrings.MODID + ":" + "textures/entity/creeper_armor.png"); - private static final ResourceLocation creeperTextures = new ResourceLocation(RefStrings.MODID + ":" + "textures/entity/creeper.png"); - private ModelBase creeperModel = new ModelCreeper(2.0F); - - public RenderNuclearCreeper() { - super(new ModelCreeper(), 0.5F); - } - - protected void preRenderCallback(EntityCreeperNuclear p_77041_1_, float p_77041_2_) { - float f1 = p_77041_1_.getCreeperFlashIntensity(p_77041_2_); - float f2 = 1.0F + MathHelper.sin(f1 * 100.0F) * f1 * 0.01F; - - if(f1 < 0.0F) { - f1 = 0.0F; - } - - if(f1 > 1.0F) { - f1 = 1.0F; - } - - f1 *= f1; - f1 *= f1; - float f3 = (1.0F + f1 * 0.4F) * f2; - float f4 = (1.0F + f1 * 0.1F) / f2; - GL11.glScalef(f3, f4, f3); - } - - protected int getColorMultiplier(EntityCreeperNuclear p_77030_1_, float p_77030_2_, float p_77030_3_) { - float f2 = p_77030_1_.getCreeperFlashIntensity(p_77030_3_); - - if((int) (f2 * 10.0F) % 2 == 0) { - return 0; - } else { - int i = (int) (f2 * 0.2F * 255.0F); - - if(i < 0) { - i = 0; - } - - if(i > 255) { - i = 255; - } - - short short1 = 255; - short short2 = 255; - short short3 = 255; - return i << 24 | short1 << 16 | short2 << 8 | short3; - } - } - - protected int shouldRenderPass(EntityCreeperNuclear p_77032_1_, int p_77032_2_, float p_77032_3_) { - if(p_77032_1_.getPowered()) { - if(p_77032_1_.isInvisible()) { - GL11.glDepthMask(false); - } else { - GL11.glDepthMask(true); - } - - if(p_77032_2_ == 1) { - float f1 = p_77032_1_.ticksExisted + p_77032_3_; - this.bindTexture(armoredCreeperTextures); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glLoadIdentity(); - float f2 = f1 * 0.01F; - float f3 = f1 * 0.01F; - GL11.glTranslatef(f2, f3, 0.0F); - this.setRenderPassModel(this.creeperModel); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glEnable(GL11.GL_BLEND); - float f4 = 0.5F; - GL11.glColor4f(f4, f4, f4, 1.0F); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); - return 1; - } - - if(p_77032_2_ == 2) { - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glLoadIdentity(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_BLEND); - } - } - - return -1; - } - - protected int inheritRenderPass(EntityCreeperNuclear p_77035_1_, int p_77035_2_, float p_77035_3_) { - return -1; - } - - protected ResourceLocation getEntityTexture(EntityCreeperNuclear p_110775_1_) { - return creeperTextures; - } - - @Override - protected void preRenderCallback(EntityLivingBase p_77041_1_, float p_77041_2_) { - this.preRenderCallback((EntityCreeperNuclear) p_77041_1_, p_77041_2_); - } - - @Override - protected int getColorMultiplier(EntityLivingBase p_77030_1_, float p_77030_2_, float p_77030_3_) { - return this.getColorMultiplier((EntityCreeperNuclear) p_77030_1_, p_77030_2_, p_77030_3_); - } - - @Override - protected int shouldRenderPass(EntityLivingBase p_77032_1_, int p_77032_2_, float p_77032_3_) { - return this.shouldRenderPass((EntityCreeperNuclear) p_77032_1_, p_77032_2_, p_77032_3_); - } - - @Override - protected int inheritRenderPass(EntityLivingBase p_77035_1_, int p_77035_2_, float p_77035_3_) { - return this.inheritRenderPass((EntityCreeperNuclear) p_77035_1_, p_77035_2_, p_77035_3_); - } - - @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return this.getEntityTexture((EntityCreeperNuclear) p_110775_1_); - } -} diff --git a/src/main/java/com/hbm/render/entity/mob/RenderTaintedCreeper.java b/src/main/java/com/hbm/render/entity/mob/RenderTaintedCreeper.java deleted file mode 100644 index ecdd0f3e4..000000000 --- a/src/main/java/com/hbm/render/entity/mob/RenderTaintedCreeper.java +++ /dev/null @@ -1,189 +0,0 @@ -package com.hbm.render.entity.mob; - -import org.lwjgl.opengl.GL11; - -import com.hbm.entity.mob.EntityTaintedCreeper; -import com.hbm.lib.RefStrings; - -import net.minecraft.client.model.ModelBase; -import net.minecraft.client.model.ModelCreeper; -import net.minecraft.client.renderer.entity.RenderLiving; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.util.MathHelper; -import net.minecraft.util.ResourceLocation; - -public class RenderTaintedCreeper extends RenderLiving -{ - private static final ResourceLocation armoredCreeperTextures = new ResourceLocation(RefStrings.MODID + ":" + "textures/entity/creeper_armor_taint.png"); - private static final ResourceLocation creeperTextures = new ResourceLocation(RefStrings.MODID + ":" + "textures/entity/creeper_tainted.png"); - /** The creeper model. */ - private ModelBase creeperModel = new ModelCreeper(2.0F); - - public RenderTaintedCreeper() - { - super(new ModelCreeper(), 0.5F); - } - - /** - * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args: - * entityLiving, partialTickTime - */ - protected void preRenderCallback(EntityTaintedCreeper p_77041_1_, float p_77041_2_) - { - float f1 = p_77041_1_.getCreeperFlashIntensity(p_77041_2_); - float f2 = 1.0F + MathHelper.sin(f1 * 100.0F) * f1 * 0.01F; - - if (f1 < 0.0F) - { - f1 = 0.0F; - } - - if (f1 > 1.0F) - { - f1 = 1.0F; - } - - f1 *= f1; - f1 *= f1; - float f3 = (1.0F + f1 * 0.4F) * f2; - float f4 = (1.0F + f1 * 0.1F) / f2; - GL11.glScalef(f3, f4, f3); - } - - /** - * Returns an ARGB int color back. Args: entityLiving, lightBrightness, partialTickTime - */ - protected int getColorMultiplier(EntityTaintedCreeper p_77030_1_, float p_77030_2_, float p_77030_3_) - { - float f2 = p_77030_1_.getCreeperFlashIntensity(p_77030_3_); - - if ((int)(f2 * 10.0F) % 2 == 0) - { - return 0; - } - else - { - int i = (int)(f2 * 0.2F * 255.0F); - - if (i < 0) - { - i = 0; - } - - if (i > 255) - { - i = 255; - } - - short short1 = 255; - short short2 = 255; - short short3 = 255; - return i << 24 | short1 << 16 | short2 << 8 | short3; - } - } - - /** - * Queries whether should render the specified pass or not. - */ - protected int shouldRenderPass(EntityTaintedCreeper p_77032_1_, int p_77032_2_, float p_77032_3_) - { - if (p_77032_1_.getPowered()) - { - if (p_77032_1_.isInvisible()) - { - GL11.glDepthMask(false); - } - else - { - GL11.glDepthMask(true); - } - - if (p_77032_2_ == 1) - { - float f1 = p_77032_1_.ticksExisted + p_77032_3_; - this.bindTexture(armoredCreeperTextures); - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glLoadIdentity(); - float f2 = f1 * 0.01F; - float f3 = f1 * 0.01F; - GL11.glTranslatef(f2, f3, 0.0F); - this.setRenderPassModel(this.creeperModel); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glEnable(GL11.GL_BLEND); - float f4 = 0.5F; - GL11.glColor4f(f4, f4, f4, 1.0F); - GL11.glDisable(GL11.GL_LIGHTING); - GL11.glBlendFunc(GL11.GL_ONE, GL11.GL_ONE); - return 1; - } - - if (p_77032_2_ == 2) - { - GL11.glMatrixMode(GL11.GL_TEXTURE); - GL11.glLoadIdentity(); - GL11.glMatrixMode(GL11.GL_MODELVIEW); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glDisable(GL11.GL_BLEND); - } - } - - return -1; - } - - protected int inheritRenderPass(EntityTaintedCreeper p_77035_1_, int p_77035_2_, float p_77035_3_) - { - return -1; - } - - /** - * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture. - */ - protected ResourceLocation getEntityTexture(EntityTaintedCreeper p_110775_1_) - { - return creeperTextures; - } - - /** - * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args: - * entityLiving, partialTickTime - */ - @Override - protected void preRenderCallback(EntityLivingBase p_77041_1_, float p_77041_2_) - { - this.preRenderCallback((EntityTaintedCreeper)p_77041_1_, p_77041_2_); - } - - /** - * Returns an ARGB int color back. Args: entityLiving, lightBrightness, partialTickTime - */ - @Override - protected int getColorMultiplier(EntityLivingBase p_77030_1_, float p_77030_2_, float p_77030_3_) - { - return this.getColorMultiplier((EntityTaintedCreeper)p_77030_1_, p_77030_2_, p_77030_3_); - } - - /** - * Queries whether should render the specified pass or not. - */ - @Override - protected int shouldRenderPass(EntityLivingBase p_77032_1_, int p_77032_2_, float p_77032_3_) - { - return this.shouldRenderPass((EntityTaintedCreeper)p_77032_1_, p_77032_2_, p_77032_3_); - } - - @Override - protected int inheritRenderPass(EntityLivingBase p_77035_1_, int p_77035_2_, float p_77035_3_) - { - return this.inheritRenderPass((EntityTaintedCreeper)p_77035_1_, p_77035_2_, p_77035_3_); - } - - /** - * 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 this.getEntityTexture((EntityTaintedCreeper)p_110775_1_); - } -} 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 980717cce..e04bef058 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java @@ -1,17 +1,10 @@ package com.hbm.tileentity.machine.oil; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.BlockDummyable; -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.FluidStack; -import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.recipes.CrackingRecipes; -import com.hbm.lib.Library; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; import com.hbm.util.Tuple.Pair; @@ -24,20 +17,17 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCatalyticCracker extends TileEntityLoadedBase implements IFluidSource, IFluidAcceptor, INBTPacketReceiver, IFluidStandardTransceiver { +public class TileEntityMachineCatalyticCracker extends TileEntityLoadedBase implements INBTPacketReceiver, IFluidStandardTransceiver { public FluidTank[] tanks; - public List list1 = new ArrayList(); - public List list2 = new ArrayList(); - public List list3 = new ArrayList(); public TileEntityMachineCatalyticCracker() { tanks = new FluidTank[5]; - tanks[0] = new FluidTank(Fluids.BITUMEN, 4000, 0); - tanks[1] = new FluidTank(Fluids.STEAM, 8000, 1); - tanks[2] = new FluidTank(Fluids.OIL, 4000, 2); - tanks[3] = new FluidTank(Fluids.PETROLEUM, 4000, 3); - tanks[4] = new FluidTank(Fluids.SPENTSTEAM, 800, 4); + tanks[0] = new FluidTank(Fluids.BITUMEN, 4000); + tanks[1] = new FluidTank(Fluids.STEAM, 8000); + tanks[2] = new FluidTank(Fluids.OIL, 4000); + tanks[3] = new FluidTank(Fluids.PETROLEUM, 4000); + tanks[4] = new FluidTank(Fluids.SPENTSTEAM, 800); } @Override @@ -51,14 +41,11 @@ public class TileEntityMachineCatalyticCracker extends TileEntityLoadedBase impl updateConnections(); this.worldObj.theProfiler.endStartSection("catalyticCracker_do_recipe"); - if(worldObj.getTotalWorldTime() % 20 == 0) + if(worldObj.getTotalWorldTime() % 5 == 0) crack(); this.worldObj.theProfiler.endStartSection("catalyticCracker_send_fluid"); if(worldObj.getTotalWorldTime() % 10 == 0) { - fillFluidInit(tanks[2].getTankType()); - fillFluidInit(tanks[3].getTankType()); - fillFluidInit(tanks[4].getTankType()); for(DirPos pos : getConPos()) { for(int i = 2; i <= 4; i++) { @@ -149,63 +136,6 @@ public class TileEntityMachineCatalyticCracker extends TileEntityLoadedBase impl for(int i = 0; i < 5; i++) tanks[i].writeToNBT(nbt, "tank" + i); } - - @Override - public void setFillForSync(int fill, int index) { - if(index < 5 && tanks[index] != null) - tanks[index].setFill(fill); - } - - @Override - public void setFluidFill(int fill, FluidType type) { - for(FluidTank tank : tanks) { - if(tank.getTankType() == type) { - tank.setFill(fill); - } - } - } - - @Override - public void setTypeForSync(FluidType type, int index) { - this.tanks[index].setTankType(type); - } - - @Override - public int getFluidFill(FluidType type) { - for(FluidTank tank : tanks) { - if(tank.getTankType() == type) { - return tank.getFill(); - } - } - return 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - if(type == tanks[0].getTankType()) - return tanks[0].getMaxFill(); - else if(type == tanks[1].getTankType()) - return tanks[1].getMaxFill(); - else - return 0; - } - - @Override - public void fillFluidInit(FluidType type) { - - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); - ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - - fillFluid(xCoord + dir.offsetX * 4 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 4 + rot.offsetZ * 1, this.getTact(), type); - fillFluid(xCoord + dir.offsetX * 4 - rot.offsetX * 2, yCoord, zCoord + dir.offsetZ * 4 - rot.offsetZ * 2, this.getTact(), type); - fillFluid(xCoord - dir.offsetX * 4 + rot.offsetX * 1, yCoord, zCoord - dir.offsetZ * 4 + rot.offsetZ * 1, this.getTact(), type); - fillFluid(xCoord - dir.offsetX * 4 - rot.offsetX * 2, yCoord, zCoord - dir.offsetZ * 4 - rot.offsetZ * 2, this.getTact(), type); - - fillFluid(xCoord + dir.offsetX * 2 + rot.offsetX * 3, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 3, this.getTact(), type); - fillFluid(xCoord + dir.offsetX * 2 - rot.offsetX * 4, yCoord, zCoord + dir.offsetZ * 2 - rot.offsetZ * 4, this.getTact(), type); - fillFluid(xCoord - dir.offsetX * 2 + rot.offsetX * 3, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ * 3, this.getTact(), type); - fillFluid(xCoord - dir.offsetX * 2 - rot.offsetX * 4, yCoord, zCoord - dir.offsetZ * 2 - rot.offsetZ * 4, this.getTact(), type); - } protected DirPos[] getConPos() { @@ -223,31 +153,6 @@ 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()) }; } - - @Override - public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { - Library.transmitFluid(x, y, z, newTact, this, worldObj, type); - } - - @Override - public boolean getTact() { - return worldObj.getTotalWorldTime() % 20 < 10; - } - - @Override - public List getFluidList(FluidType type) { - if(type == tanks[2].getTankType()) return list1; - if(type == tanks[3].getTankType()) return list2; - if(type == tanks[4].getTankType()) return list3; - return new ArrayList(); - } - - @Override - public void clearFluidList(FluidType type) { - if(type == tanks[2].getTankType()) list1.clear(); - if(type == tanks[3].getTankType()) list2.clear(); - if(type == tanks[4].getTankType()) list3.clear(); - } AxisAlignedBB bb = null; diff --git a/src/main/resources/META-INF/HBM_at.cfg b/src/main/resources/META-INF/HBM_at.cfg index 93dfb3d3a..1cc05d2b5 100644 --- a/src/main/resources/META-INF/HBM_at.cfg +++ b/src/main/resources/META-INF/HBM_at.cfg @@ -1,3 +1,10 @@ +# It's access transformer time, baby! +# Cracks open stupid as shit keywords that are being used wrong because Mojang shouldn't be entrusted with computers. +# After changing anything here, run `./gradlew clean setupDecompWorkspace`, this should scrap all the cached nonsense and patch the src to reflect changes made. + # EntityCreeper -public net.minecraft.entity.monster.EntityCreeper field_82225_f # fuseTime -public net.minecraft.entity.monster.EntityCreeper func_146077_cc()V # explode +public net.minecraft.entity.monster.EntityCreeper field_82225_f # fuseTime +public net.minecraft.entity.monster.EntityCreeper func_146077_cc()V # explode + +# RenderCreeper +public net.minecraft.client.renderer.entity.RenderCreeper field_77064_a # creeperModel From ce5435f07dccd6e73e8812cc6c6797549cfd7301 Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 19 Apr 2023 22:18:06 +0200 Subject: [PATCH 034/285] mist --- .../java/com/hbm/entity/EntityMappings.java | 2 +- .../java/com/hbm/entity/effect/EntityMist.java | 2 +- .../hbm/inventory/fluid/trait/FT_Toxin.java | 3 +++ src/main/java/com/hbm/main/ClientProxy.java | 1 + .../hbm/render/entity/effect/RenderMist.java | 18 ++++++++++++++++++ .../com/hbm/render/item/ItemRenderBoltgun.java | 11 ++++++----- src/main/resources/assets/hbm/lang/de_DE.lang | 1 + src/main/resources/assets/hbm/lang/en_US.lang | 1 + 8 files changed, 32 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/hbm/render/entity/effect/RenderMist.java diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index d3a450e87..4d56ebc9b 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -207,7 +207,7 @@ public class EntityMappings { addMob(EntityCreeperNuclear.class, "entity_mob_nuclear_creeper", 0x204131, 0x75CE00); addMob(EntityCreeperTainted.class, "entity_mob_tainted_creeper", 0x813b9b, 0xd71fdd); - addMob(EntityCreeperPhosgene.class, "entity_mob_tainted_phosgene", 0xE3D398, 0xB8A06B); + addMob(EntityCreeperPhosgene.class, "entity_mob_phosgene_creeper", 0xE3D398, 0xB8A06B); addMob(EntityHunterChopper.class, "entity_mob_hunter_chopper", 0x000020, 0x2D2D72); addMob(EntityCyberCrab.class, "entity_cyber_crab", 0xAAAAAA, 0x444444); addMob(EntityTeslaCrab.class, "entity_tesla_crab", 0xAAAAAA, 0x440000); diff --git a/src/main/java/com/hbm/entity/effect/EntityMist.java b/src/main/java/com/hbm/entity/effect/EntityMist.java index 9931c0287..06de19176 100644 --- a/src/main/java/com/hbm/entity/effect/EntityMist.java +++ b/src/main/java/com/hbm/entity/effect/EntityMist.java @@ -66,7 +66,7 @@ public class EntityMist extends Entity { public void onEntityUpdate() { float height = this.dataWatcher.getWatchableObjectFloat(12); - this.yOffset = height / 2F; + this.yOffset = -height / 2F; this.setSize(this.dataWatcher.getWatchableObjectFloat(11), height); if(!worldObj.isRemote) { 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 6e7d17fd9..456b8e0a8 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 @@ -35,6 +35,9 @@ public class FT_Toxin extends FluidTrait { public void affect(EntityLivingBase entity, double intensity) { + for(ToxinEntry entry : entries) { + entry.poison(entity, intensity); + } } public static abstract class ToxinEntry { diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 0b230bf6b..3115a9386 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -578,6 +578,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityCog.class, new RenderCog()); RenderingRegistry.registerEntityRenderingHandler(EntitySawblade.class, new RenderSawblade()); RenderingRegistry.registerEntityRenderingHandler(EntityChemical.class, new RenderChemical()); + RenderingRegistry.registerEntityRenderingHandler(EntityMist.class, new RenderMist()); //grenades RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeGeneric.class, new RenderSnowball(ModItems.grenade_generic)); RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeStrong.class, new RenderSnowball(ModItems.grenade_strong)); diff --git a/src/main/java/com/hbm/render/entity/effect/RenderMist.java b/src/main/java/com/hbm/render/entity/effect/RenderMist.java new file mode 100644 index 000000000..89230a555 --- /dev/null +++ b/src/main/java/com/hbm/render/entity/effect/RenderMist.java @@ -0,0 +1,18 @@ +package com.hbm.render.entity.effect; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +public class RenderMist extends Render { + + @Override + public void doRender(Entity entity, double x, double y, double z, float f0, float f1) { + + } + + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return null; + } +} diff --git a/src/main/java/com/hbm/render/item/ItemRenderBoltgun.java b/src/main/java/com/hbm/render/item/ItemRenderBoltgun.java index 15fe471f6..6ab331111 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderBoltgun.java +++ b/src/main/java/com/hbm/render/item/ItemRenderBoltgun.java @@ -34,6 +34,7 @@ public class ItemRenderBoltgun implements IItemRenderer { GL11.glPushMatrix(); GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.boltgun_tex); switch(type) { @@ -56,11 +57,12 @@ public class ItemRenderBoltgun implements IItemRenderer { case EQUIPPED: - double scale = -0.375D; + double scale = 0.25D; GL11.glScaled(scale, scale, scale); - GL11.glRotated(85, 0, 1, 0); - GL11.glRotated(135D, 1.0D, 0.0D, 0.0D); - GL11.glTranslated(-0.125, -2.0, 1.75); + GL11.glRotated(10, 0, 1, 0); + GL11.glRotated(10, 0, 0, 1); + GL11.glRotated(10, 1, 0, 0); + GL11.glTranslated(1.5, -0.25, 1); break; @@ -86,7 +88,6 @@ public class ItemRenderBoltgun implements IItemRenderer { default: break; } - GL11.glShadeModel(GL11.GL_SMOOTH); ResourceManager.boltgun.renderPart("Gun"); if(type != type.EQUIPPED_FIRST_PERSON) { ResourceManager.boltgun.renderPart("Barrel"); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index e4200079a..bc3b244fb 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -503,6 +503,7 @@ entity.hbm.entity_ntm_ufo.name=Marsianisches Invasionsschiff entity.entity_mob_hunter_chopper.name=Jagdschrauber entity.entity_mob_mask_man.name=Maskenmann entity.entity_mob_nuclear_creeper.name=Nuklearer Creeper +entity.entity_mob_phosgene_creeper.name=Phosgen-Creeper entity.entity_mob_tainted_creeper.name=Verseuchter Creeper entity.entity_taint_crab.name=Verseuchte Krabbe entity.entity_tesla_crab.name=Tesla-Krabbe diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 74c6282fc..e8656695b 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -948,6 +948,7 @@ entity.hbm.entity_ntm_ufo.name=Martian Invasion Ship entity.entity_mob_hunter_chopper.name=Hunter Chopper entity.entity_mob_mask_man.name=Mask Man entity.entity_mob_nuclear_creeper.name=Nuclear Creeper +entity.entity_mob_phosgene_creeper.name=Phosgene Creeper entity.entity_mob_tainted_creeper.name=Tainted Creeper entity.entity_taint_crab.name=Taint Crab entity.entity_tesla_crab.name=Tesla Crab From 32fade11802c1db6ea9d2caa310d571e5f034111 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Wed, 19 Apr 2023 21:40:18 -0500 Subject: [PATCH 035/285] first test of the new RBMK card component shiz --- .../inventory/recipes/AssemblerRecipes.java | 31 ++++---- src/main/java/com/hbm/items/ModItems.java | 5 ++ .../hbm/items/special/DriverItemCCard.java | 39 ++++++++++ .../java/com/hbm/items/special/ItemCCard.java | 68 ++++++++++++++++++ .../textures/items/rbmk_component_card.png | Bin 0 -> 549 bytes 5 files changed, 128 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/hbm/items/special/DriverItemCCard.java create mode 100644 src/main/java/com/hbm/items/special/ItemCCard.java create mode 100644 src/main/resources/assets/hbm/textures/items/rbmk_component_card.png diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index c067c89db..536d86df7 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -1,18 +1,5 @@ package com.hbm.inventory.recipes; -import java.io.File; -import java.io.FileReader; -import java.io.FileWriter; -import java.io.IOException; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; -import java.util.List; -import java.util.Map; -import java.util.Map.Entry; - import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonElement; @@ -21,7 +8,6 @@ import com.google.gson.stream.JsonWriter; import com.hbm.blocks.ModBlocks; import com.hbm.config.GeneralConfig; import com.hbm.inventory.OreDictManager; -import static com.hbm.inventory.OreDictManager.*; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; @@ -33,7 +19,6 @@ import com.hbm.items.machine.ItemDrillbit.EnumDrillType; import com.hbm.items.machine.ItemPistons.EnumPistonType; import com.hbm.items.weapon.ItemAmmoHIMARS; import com.hbm.main.MainRegistry; - import cpw.mods.fml.common.Loader; import net.minecraft.block.Block; import net.minecraft.init.Blocks; @@ -42,6 +27,15 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraftforge.oredict.OreDictionary; +import java.io.File; +import java.io.FileReader; +import java.io.FileWriter; +import java.io.IOException; +import java.util.*; +import java.util.Map.Entry; + +import static com.hbm.inventory.OreDictManager.*; + public class AssemblerRecipes { public static File config; @@ -439,6 +433,13 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.fusion_shield_tungsten, 1), new AStack[] {new OreDictStack(W.block(), 32), new OreDictStack(OreDictManager.getReflector(), 96)}, 600); makeRecipe(new ComparableStack(ModItems.fusion_shield_desh, 1), new AStack[] {new OreDictStack(DESH.block(), 16), new OreDictStack(CO.block(), 16), new OreDictStack(BIGMT.plate(), 96)}, 600); makeRecipe(new ComparableStack(ModItems.fusion_shield_chlorophyte, 1), new AStack[] {new OreDictStack(W.block(), 16), new OreDictStack(DURA.block(), 16), new OreDictStack(OreDictManager.getReflector(), 48), new ComparableStack(ModItems.powder_chlorophyte, 48)}, 600); + makeRecipe(new ComparableStack(ModItems.rbmk_component_card, 1), new AStack[] { + new ComparableStack(ModItems.circuit_red_copper, 2), + new OreDictStack(STEEL.plate(), 4), + new ComparableStack(ModItems.wire_gold, 8), + new OreDictStack(ANY_PLASTIC.ingot(), 4), + new OreDictStack(U238.nugget(), 1) + }, 50); makeRecipe(new ComparableStack(ModBlocks.machine_fensu, 1), new AStack[] { new ComparableStack(ModItems.ingot_electronium, 32), new ComparableStack(ModBlocks.machine_dineutronium_battery, 16), diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index d63f62630..250e6579c 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -2430,6 +2430,8 @@ public class ModItems { public static Item nothing; public static Item void_anim; + public static Item rbmk_component_card; + public static Item bob_metalworks; public static Item bob_assembly; public static Item bob_chemistry; @@ -5439,6 +5441,8 @@ public class ModItems { nothing = new Item().setUnlocalizedName("nothing").setTextureName(RefStrings.MODID + ":nothing"); void_anim = new Item().setUnlocalizedName("void_anim").setTextureName(RefStrings.MODID + ":void_anim"); + rbmk_component_card = new ItemCCard().setUnlocalizedName("rbmk_component_card").setMaxStackSize(1).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rbmk_component_card"); + 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"); @@ -8036,6 +8040,7 @@ public class ModItems { GameRegistry.registerItem(ln2_10, ln2_10.getUnlocalizedName()); GameRegistry.registerItem(nothing, nothing.getUnlocalizedName()); GameRegistry.registerItem(void_anim, void_anim.getUnlocalizedName()); + GameRegistry.registerItem(rbmk_component_card, rbmk_component_card.getUnlocalizedName()); GameRegistry.registerItem(bob_metalworks, bob_metalworks.getUnlocalizedName()); GameRegistry.registerItem(bob_assembly, bob_assembly.getUnlocalizedName()); GameRegistry.registerItem(bob_chemistry, bob_chemistry.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/special/DriverItemCCard.java b/src/main/java/com/hbm/items/special/DriverItemCCard.java new file mode 100644 index 000000000..575134759 --- /dev/null +++ b/src/main/java/com/hbm/items/special/DriverItemCCard.java @@ -0,0 +1,39 @@ +package com.hbm.items.special; + +import li.cil.oc.api.Network; +import li.cil.oc.api.driver.item.Container; +import li.cil.oc.api.driver.item.Slot; +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.ManagedEnvironment; +import li.cil.oc.api.network.Node; +import li.cil.oc.api.network.Visibility; +import net.minecraft.item.ItemStack; + +public class DriverItemCCard { + public String slot(ItemStack stack) { + return Slot.Card; + } + + public ManagedEnvironment createEnvironment(ItemStack stack, Container container) { + return new Environment(container); + } + + public class Environment extends li.cil.oc.api.prefab.ManagedEnvironment { + protected final Container container; + + public Environment(Container container) { + this.container = container; + Node node = Network.newNode(this, Visibility.Neighbors). + withComponent("particle"). + create(); + } + } + @Callback(direct = true, limit = 16) + public Object[] Greet(Context context, Arguments args) { + + return new Object[] {null}; + } + +} diff --git a/src/main/java/com/hbm/items/special/ItemCCard.java b/src/main/java/com/hbm/items/special/ItemCCard.java new file mode 100644 index 000000000..ef11c977f --- /dev/null +++ b/src/main/java/com/hbm/items/special/ItemCCard.java @@ -0,0 +1,68 @@ +package com.hbm.items.special; + +import com.hbm.blocks.machine.rbmk.RBMKBase; +import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBase; +import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.event.FMLInitializationEvent; +import net.minecraft.block.Block; +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.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; + +import java.util.List; + +public class ItemCCard extends Item { + + @Mod.EventHandler + public void init(FMLInitializationEvent e) { + li.cil.oc.api.Driver.add((li.cil.oc.api.driver.Item) new DriverItemCCard()); + } + + @Override + public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { + list.add("Right-click to link RBMK."); + if(itemstack.getTagCompound() == null) { + list.add(EnumChatFormatting.RED + "No RBMK Linked!"); + } else { + list.add(EnumChatFormatting.YELLOW + "Linked to RBMK at: " + itemstack.stackTagCompound.getInteger("x") + ", " + itemstack.stackTagCompound.getInteger("y") + ", " + itemstack.stackTagCompound.getInteger("z")); + } + } + + @Override + public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) { + if(!world.isRemote) { + + if (stack.stackTagCompound == null) { + stack.stackTagCompound = new NBTTagCompound(); + } + Block block = world.getBlock(x, y, z); + + if (block instanceof RBMKBase) { + + RBMKBase rbmk = (RBMKBase) block; + + int[] pos = rbmk.findCore(world, x, y, z); + + if (pos != null) { + + TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); + + if (te instanceof TileEntityRBMKBase) { + stack.stackTagCompound.setInteger("x", pos[0]); + stack.stackTagCompound.setInteger("y", pos[1]); + stack.stackTagCompound.setInteger("z", pos[2]); + player.addChatMessage(new ChatComponentText("Linked!")); + world.playSoundAtEntity(player, "hbm:item.techBoop", 2.0F, 1.0F); + } + } + } + } + return true; + } + +} diff --git a/src/main/resources/assets/hbm/textures/items/rbmk_component_card.png b/src/main/resources/assets/hbm/textures/items/rbmk_component_card.png new file mode 100644 index 0000000000000000000000000000000000000000..4755e80f376f1746c3ff7c33e6238c3c02e38d42 GIT binary patch literal 549 zcmV+=0^0qFP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0lG;G)+wt(koJI{28joDpD{)(LpJqMWF>jC#!?df}5jID8Z$4adZ|OoCFJE z2M6P#o7!MRXf@I(9tbsm-dygFH^)}FqibI{9NzDo_xa%a*dcoNwc>Zrmi;e@ty@FJ zX7dm;!1kbvv)n(AUG+**sWg4PamGhZlG{JR{M9=m`29~ZA`#MHXs^NAqRZX9!hNBb zPAWGQf9b)%jC+kwPfQ?71!g=~l zWDdls?MZTMe1eHnH>oUdiXQ{P5TcUdeve!_*zn_uW`qFSTD-1!aHYnL3xi~8Z*=YB nl1t&VqPXy#xm;D(c7)(Jobs3VHtBC600000NkvXXu0mjf*9r9o literal 0 HcmV?d00001 From ed829fc7ec2ac953c00a4952b7a15356faa3b87e Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 20 Apr 2023 16:41:17 +0200 Subject: [PATCH 036/285] riveting, block tooling crafting handler --- src/main/java/api/hbm/block/IToolable.java | 31 ++- src/main/java/com/hbm/blocks/ModBlocks.java | 3 +- .../com/hbm/blocks/generic/BlockBoltable.java | 72 ------- .../blocks/generic/BlockToolConversion.java | 176 ++++++++++++++++++ .../hbm/handler/nei/NEIUniversalHandler.java | 29 ++- .../com/hbm/handler/nei/ToolingHandler.java | 15 ++ .../java/com/hbm/inventory/RecipesCommon.java | 36 +++- .../com/hbm/items/tool/ItemBlowtorch.java | 2 + .../java/com/hbm/items/tool/ItemBoltgun.java | 2 + .../java/com/hbm/items/tool/ItemTooling.java | 2 + src/main/java/com/hbm/main/MainRegistry.java | 2 + src/main/java/com/hbm/main/NEIConfig.java | 1 + .../tileentity/RenderWatzMultiblock.java | 16 +- .../machine/TileEntityWatzStruct.java | 24 ++- .../textures/blocks/watz_casing_bolted.png | Bin 0 -> 410 bytes 15 files changed, 309 insertions(+), 102 deletions(-) delete mode 100644 src/main/java/com/hbm/blocks/generic/BlockBoltable.java create mode 100644 src/main/java/com/hbm/blocks/generic/BlockToolConversion.java create mode 100644 src/main/java/com/hbm/handler/nei/ToolingHandler.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/watz_casing_bolted.png diff --git a/src/main/java/api/hbm/block/IToolable.java b/src/main/java/api/hbm/block/IToolable.java index 429a14d59..64c57adb7 100644 --- a/src/main/java/api/hbm/block/IToolable.java +++ b/src/main/java/api/hbm/block/IToolable.java @@ -1,6 +1,13 @@ package api.hbm.block; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + +import com.hbm.inventory.RecipesCommon.ComparableStack; + import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; import net.minecraft.world.World; public interface IToolable { @@ -13,6 +20,28 @@ public interface IToolable { DEFUSER, WRENCH, TORCH, - BOLT + BOLT; + + public List stacksForDisplay = new ArrayList(); + private static HashMap map = new HashMap(); + + public void register(ItemStack stack) { + stacksForDisplay.add(stack); + } + + public static ToolType getType(ItemStack stack) { + + if(!map.isEmpty()) { + return map.get(new ComparableStack(stack)); + } + + for(ToolType type : ToolType.values()) { + for(ItemStack tool : type.stacksForDisplay) { + map.put(new ComparableStack(tool), type); + } + } + + return map.get(new ComparableStack(stack)); + } } } diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index b3b3d3e51..08312db55 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -23,6 +23,7 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.DoorDecl; import com.hbm.tileentity.machine.storage.TileEntityFileCabinet; +import api.hbm.block.IToolable.ToolType; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; import net.minecraft.block.BlockFalling; @@ -1981,7 +1982,7 @@ public class ModBlocks { 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_control = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_control_top").setBlockName("watz_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_control_side"); watz_cooler = new BlockGeneric(Material.iron).setBlockName("watz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_cooler"); - watz_end = new BlockBoltable(Material.iron).setBlockName("watz_end").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_casing"); + 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_hatch = new WatzHatch(Material.iron).setBlockName("watz_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_hatch"); watz_conductor = new BlockCableConnect(Material.iron).setBlockName("watz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_conductor_top"); watz_core = new WatzCore(Material.iron).setBlockName("watz_core").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_computer"); diff --git a/src/main/java/com/hbm/blocks/generic/BlockBoltable.java b/src/main/java/com/hbm/blocks/generic/BlockBoltable.java deleted file mode 100644 index 87ff806ed..000000000 --- a/src/main/java/com/hbm/blocks/generic/BlockBoltable.java +++ /dev/null @@ -1,72 +0,0 @@ -package com.hbm.blocks.generic; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.blocks.BlockBase; -import com.hbm.blocks.IBlockMulti; -import com.hbm.blocks.ILookOverlay; -import com.hbm.inventory.RecipesCommon.AStack; -import com.hbm.items.ModItems; -import com.hbm.util.I18nUtil; - -import api.hbm.block.IToolable; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.material.Material; -import net.minecraft.client.Minecraft; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; -import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; - -public class BlockBoltable extends BlockBase implements IToolable, ILookOverlay, IBlockMulti { - - public BlockBoltable(Material mat) { - super(mat); - } - - @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.BOLT) return false; - - return true; - } - - public List getMaterials(int meta) { - List list = new ArrayList(); - - return list; - } - - @Override - @SideOnly(Side.CLIENT) - public void printHook(Pre event, World world, int x, int y, int z) { - - ItemStack held = Minecraft.getMinecraft().thePlayer.getHeldItem(); - if(held == null || held.getItem() != ModItems.boltgun) return; - - List text = new ArrayList(); - text.add(EnumChatFormatting.GOLD + "Requires:"); - List materials = getMaterials(world.getBlockMetadata(x, y, z)); - - for(AStack stack : materials) { - try { - ItemStack display = stack.extractForCyclingDisplay(20); - text.add("- " + display.getDisplayName() + " x" + display.stackSize); - } catch(Exception ex) { - text.add(EnumChatFormatting.RED + "- ERROR"); - } - } - - if(!materials.isEmpty()) { - ILookOverlay.printGeneric(event, I18nUtil.resolveKey(this.getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); - } - } - - @Override - public int getSubCount() { - return 1; - } -} diff --git a/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java b/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java new file mode 100644 index 000000000..5f7314d28 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java @@ -0,0 +1,176 @@ +package com.hbm.blocks.generic; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map.Entry; + +import com.hbm.blocks.BlockBase; +import com.hbm.blocks.IBlockMulti; +import com.hbm.blocks.ILookOverlay; +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.RecipesCommon.MetaBlock; +import com.hbm.items.ModItems; +import com.hbm.util.I18nUtil; +import com.hbm.util.InventoryUtil; +import com.hbm.util.Tuple.Pair; + +import api.hbm.block.IToolable; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.material.Material; +import net.minecraft.client.Minecraft; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class BlockToolConversion extends BlockBase implements IToolable, ILookOverlay, IBlockMulti { + + public IIcon[] icons; + public String[] names; + + public BlockToolConversion(Material mat) { + super(mat); + } + + public BlockToolConversion addVariant(String... name) { + this.names = name; + return this; + } + + @Override + @SideOnly(Side.CLIENT) + public void getSubBlocks(Item item, CreativeTabs tab, List list) { + for(int i = 0; i < getSubCount(); ++i) { + list.add(new ItemStack(item, 1, i)); + } + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + + if(names != null) { + icons = new IIcon[names.length]; + for(int i = 0; i < names.length; i++) { + icons[i] = iconRegister.registerIcon(getTextureName() + names[i]); + } + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + + metadata -= 1; + + if(metadata == -1 || icons == null || metadata >= icons.length) { + return super.getIcon(side, metadata); + } + + return icons[metadata]; + } + + @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 false; + + Pair result = conversions.get(new Pair(tool, new MetaBlock(this, world.getBlockMetadata(x, y, z)))); + + if(result == null) return false; + + List list = new ArrayList(); + for(AStack stack : result.key) list.add(stack); + + if(list == null || list.isEmpty() || InventoryUtil.doesPlayerHaveAStacks(player, list, true)) { + world.setBlock(x, y, z, result.value.block, result.value.meta, 3); + } + + return true; + } + + @Override + @SideOnly(Side.CLIENT) + public void printHook(Pre event, World world, int x, int y, int z) { + + ItemStack held = Minecraft.getMinecraft().thePlayer.getHeldItem(); + if(held == null) return; + ToolType tool = this.quickLookup(held); + if(tool == null) return; + + Pair result = conversions.get(new Pair(tool, new MetaBlock(this, world.getBlockMetadata(x, y, z)))); + + if(result == null) return; + + List text = new ArrayList(); + text.add(EnumChatFormatting.GOLD + "Requires:"); + List materials = new ArrayList(); + for(AStack stack : result.key) materials.add(stack); + + List tools = tool.stacksForDisplay; + ItemStack displayTool = tools.get((int) (Math.abs(System.currentTimeMillis() / 1000) % tools.size())); + text.add(EnumChatFormatting.BLUE + "- " + displayTool.getDisplayName()); + + for(AStack stack : materials) { + try { + ItemStack display = stack.extractForCyclingDisplay(20); + text.add("- " + display.getDisplayName() + " x" + display.stackSize); + } catch(Exception ex) { + text.add(EnumChatFormatting.RED + "- ERROR"); + } + } + + if(!materials.isEmpty()) { + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(this.getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } + } + + @Override + public int getSubCount() { + return names != null ? names.length + 1 : 1; + } + + public static ToolType quickLookup(ItemStack stack) { + return ToolType.getType(stack); + } + + public static HashMap, Pair> conversions = new HashMap(); + + public static void registerRecipes() { + conversions.put(new Pair(ToolType.BOLT, new MetaBlock(ModBlocks.watz_end, 0)), new Pair(new AStack[] {new ComparableStack(ModItems.bolt_dura_steel, 4)}, new MetaBlock(ModBlocks.watz_end, 1))); + } + + public static HashMap bufferedRecipes = new HashMap(); + public static HashMap bufferedTools = new HashMap(); + + public static HashMap getRecipes(boolean recipes) { + + if(!bufferedRecipes.isEmpty()) return recipes ? bufferedRecipes : bufferedTools; + + for(Entry, Pair> entry : conversions.entrySet()) { + + List list = new ArrayList(); + + for(AStack stack : entry.getValue().getKey()) { + list.add(stack); + } + list.add(new ComparableStack(entry.getKey().getValue().block, 1, entry.getKey().getValue().meta)); + + Object[] inputInstance = list.toArray(new AStack[0]); // the instance has to match for the machine lookup to succeed + bufferedRecipes.put(inputInstance, new ItemStack(entry.getValue().getValue().block, 1, entry.getValue().getValue().meta)); + bufferedTools.put(inputInstance, entry.getKey().getKey().stacksForDisplay.toArray(new ItemStack[0])); + } + + return recipes ? bufferedRecipes : bufferedTools; + } +} diff --git a/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java b/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java index b7424e12e..73dca100b 100644 --- a/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java +++ b/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java @@ -32,12 +32,19 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler { public final String display; public final ItemStack[] machine; public final HashMap recipes; + public HashMap machineOverrides; /// SETUP /// - + public NEIUniversalHandler(String display, ItemStack machine[], HashMap recipes) { this.display = display; this.machine = machine; this.recipes = recipes; + this.machineOverrides = null; + } + + public NEIUniversalHandler(String display, HashMap recipes, HashMap machines) { + this(display, (ItemStack[]) null, recipes); + this.machineOverrides = machines; } public NEIUniversalHandler(String display, ItemStack machine, HashMap recipes) { this(display, new ItemStack[]{machine}, recipes); } @@ -50,7 +57,7 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler { PositionedStack[] output; PositionedStack machinePositioned; - public RecipeSet(ItemStack[][] in, ItemStack[][] out) { + public RecipeSet(ItemStack[][] in, ItemStack[][] out, Object originalInputInstance /* for custom machine lookup */) { input = new PositionedStack[in.length]; for(int i = 0; i < in.length; i++) { @@ -65,7 +72,17 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler { this.output[i] = new PositionedStack(sub, 102 + i * 18 - ((twos && i > 1) ? 36 : 0), 24 + (twos ? (i < 2 ? -9 : 9) : 0)); } - this.machinePositioned = new PositionedStack(machine, 75, 31); + ItemStack[] m = machine; + + if(NEIUniversalHandler.this.machineOverrides != null) { + Object key = NEIUniversalHandler.this.machineOverrides.get(originalInputInstance); + + if(key != null) { + this.machinePositioned = new PositionedStack(key, 75, 31); + } + } + + if(machinePositioned == null) this.machinePositioned = new PositionedStack(m, 75, 31); } @Override @@ -123,7 +140,7 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler { for(Entry recipe : recipes.entrySet()) { ItemStack[][] ins = InventoryUtil.extractObject(recipe.getKey()); ItemStack[][] outs = InventoryUtil.extractObject(recipe.getValue()); - this.arecipes.add(new RecipeSet(ins, outs)); + this.arecipes.add(new RecipeSet(ins, outs, recipe.getKey())); } } else { @@ -142,7 +159,7 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler { for(ItemStack[] array : outs) { for(ItemStack stack : array) { if(NEIServerUtils.areStacksSameTypeCrafting(stack, result)) { - this.arecipes.add(new RecipeSet(ins, outs)); + this.arecipes.add(new RecipeSet(ins, outs, recipe.getKey())); break match; } } @@ -170,7 +187,7 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler { for(ItemStack[] array : ins) { for(ItemStack stack : array) { if(NEIServerUtils.areStacksSameTypeCrafting(stack, ingredient)) { - this.arecipes.add(new RecipeSet(ins, outs)); + this.arecipes.add(new RecipeSet(ins, outs, recipe.getKey())); break match; } } diff --git a/src/main/java/com/hbm/handler/nei/ToolingHandler.java b/src/main/java/com/hbm/handler/nei/ToolingHandler.java new file mode 100644 index 000000000..c50074f1e --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/ToolingHandler.java @@ -0,0 +1,15 @@ +package com.hbm.handler.nei; + +import com.hbm.blocks.generic.BlockToolConversion; + +public class ToolingHandler extends NEIUniversalHandler { + + public ToolingHandler() { + super("Tooling", BlockToolConversion.getRecipes(true), BlockToolConversion.getRecipes(false)); + } + + @Override + public String getKey() { + return "ntmTooling"; + } +} diff --git a/src/main/java/com/hbm/inventory/RecipesCommon.java b/src/main/java/com/hbm/inventory/RecipesCommon.java index f26af74e1..2b1191f55 100644 --- a/src/main/java/com/hbm/inventory/RecipesCommon.java +++ b/src/main/java/com/hbm/inventory/RecipesCommon.java @@ -455,17 +455,41 @@ public class RecipesCommon { this.block = block; this.meta = meta; } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + Block.blockRegistry.getNameForObject(block).hashCode(); + result = prime * result + meta; + return result; + } + + @Override + public boolean equals(Object obj) { + if(this == obj) + return true; + if(obj == null) + return false; + if(getClass() != obj.getClass()) + return false; + MetaBlock other = (MetaBlock) obj; + if(block == null) { + if(other.block != null) + return false; + } else if(!block.equals(other.block)) + return false; + if(meta != other.meta) + return false; + return true; + } public MetaBlock(Block block) { this(block, 0); } - public int getID() { - final int prime = 31; - int result = 1; - result = prime * result + Block.getIdFromBlock(block); - result = prime * result + meta; - return result; + @Deprecated public int getID() { + return hashCode(); } } diff --git a/src/main/java/com/hbm/items/tool/ItemBlowtorch.java b/src/main/java/com/hbm/items/tool/ItemBlowtorch.java index cb200d6ec..172e0fa4a 100644 --- a/src/main/java/com/hbm/items/tool/ItemBlowtorch.java +++ b/src/main/java/com/hbm/items/tool/ItemBlowtorch.java @@ -31,6 +31,8 @@ public class ItemBlowtorch extends Item implements IFillableItem { this.setMaxStackSize(1); this.setFull3D(); this.setCreativeTab(MainRegistry.controlTab); + + ToolType.TORCH.register(new ItemStack(this)); } @Override diff --git a/src/main/java/com/hbm/items/tool/ItemBoltgun.java b/src/main/java/com/hbm/items/tool/ItemBoltgun.java index e0c1e0999..3a1605028 100644 --- a/src/main/java/com/hbm/items/tool/ItemBoltgun.java +++ b/src/main/java/com/hbm/items/tool/ItemBoltgun.java @@ -26,6 +26,8 @@ public class ItemBoltgun extends Item implements IAnimatedItem { public ItemBoltgun() { this.setMaxStackSize(1); + + ToolType.BOLT.register(new ItemStack(this)); } @Override diff --git a/src/main/java/com/hbm/items/tool/ItemTooling.java b/src/main/java/com/hbm/items/tool/ItemTooling.java index f0c4119da..58bfd687a 100644 --- a/src/main/java/com/hbm/items/tool/ItemTooling.java +++ b/src/main/java/com/hbm/items/tool/ItemTooling.java @@ -18,6 +18,8 @@ public class ItemTooling extends ItemCraftingDegradation { this.type = type; this.setFull3D(); this.setCreativeTab(MainRegistry.controlTab); + + type.register(new ItemStack(this)); } @Override diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 17d3dae1f..e9908af75 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -46,6 +46,7 @@ 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.CommandReloadRecipes; import com.hbm.config.*; import com.hbm.creativetabs.*; @@ -829,6 +830,7 @@ public class MainRegistry { HazmatRegistry.registerHazmats(); FluidContainerRegistry.register(); TileEntityMachineReactorLarge.registerAll(); + BlockToolConversion.registerRecipes(); proxy.registerMissileItems(); diff --git a/src/main/java/com/hbm/main/NEIConfig.java b/src/main/java/com/hbm/main/NEIConfig.java index 29e4cc9de..161af3bea 100644 --- a/src/main/java/com/hbm/main/NEIConfig.java +++ b/src/main/java/com/hbm/main/NEIConfig.java @@ -53,6 +53,7 @@ public class NEIConfig implements IConfigureNEI { registerHandler(new CrucibleSmeltingHandler()); registerHandler(new CrucibleAlloyingHandler()); registerHandler(new CrucibleCastingHandler()); + registerHandler(new ToolingHandler()); //universal boyes registerHandler(new ZirnoxRecipeHandler()); diff --git a/src/main/java/com/hbm/render/tileentity/RenderWatzMultiblock.java b/src/main/java/com/hbm/render/tileentity/RenderWatzMultiblock.java index 973029bf9..51159d7bc 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderWatzMultiblock.java +++ b/src/main/java/com/hbm/render/tileentity/RenderWatzMultiblock.java @@ -44,15 +44,15 @@ public class RenderWatzMultiblock extends TileEntitySpecialRenderer { SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_cooler, 0, 1F, i, -2F); SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_cooler, 0, -1F, i, -2F); for(int j = -1; j < 2; j++) { - SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, 3F, i, j); - SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, j, i, 3F); - SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, -3F, i, j); - SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, j, i, -3F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 1, 3F, i, j); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 1, j, i, 3F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 1, -3F, i, j); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 1, j, i, -3F); } - SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, 2F, i, 2F); - SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, 2F, i, -2F); - SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, -2F, i, 2F); - SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 0, -2F, i, -2F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 1, 2F, i, 2F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 1, 2F, i, -2F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 1, -2F, i, 2F); + SmallBlockPronter.drawSmolBlockAt(ModBlocks.watz_end, 1, -2F, i, -2F); } SmallBlockPronter.draw(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java index f363b5945..10ba21058 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java @@ -49,15 +49,15 @@ public class TileEntityWatzStruct extends TileEntity { if(!cbr(ModBlocks.watz_cooler, -1, i, -2)) return; for(int j = -1; j < 2; j++) { - if(!cbr(ModBlocks.watz_end, 3, i, j)) return; - if(!cbr(ModBlocks.watz_end, j, i, 3)) return; - if(!cbr(ModBlocks.watz_end, -3, i, j)) return; - if(!cbr(ModBlocks.watz_end, j, i, -3)) return; + if(!cbr(ModBlocks.watz_end, 1, 3, i, j)) return; + if(!cbr(ModBlocks.watz_end, 1, j, i, 3)) return; + if(!cbr(ModBlocks.watz_end, 1, -3, i, j)) return; + if(!cbr(ModBlocks.watz_end, 1, j, i, -3)) return; } - if(!cbr(ModBlocks.watz_end, 2, i, 2)) return; - if(!cbr(ModBlocks.watz_end, 2, i, -2)) return; - if(!cbr(ModBlocks.watz_end, -2, i, 2)) return; - if(!cbr(ModBlocks.watz_end, -2, i, -2)) return; + if(!cbr(ModBlocks.watz_end, 1, 2, i, 2)) return; + if(!cbr(ModBlocks.watz_end, 1, 2, i, -2)) return; + if(!cbr(ModBlocks.watz_end, 1, -2, i, 2)) return; + if(!cbr(ModBlocks.watz_end, 1, -2, i, -2)) return; } Watz watz = (Watz)ModBlocks.watz; @@ -72,10 +72,18 @@ public class TileEntityWatzStruct extends TileEntity { return worldObj.getBlock(xCoord + x, yCoord + y, zCoord + z); } + /** [G]et [M]eta at [R]elative position */ + private int gmr(int x, int y, int z) { + return worldObj.getBlockMetadata(xCoord + x, yCoord + y, zCoord + z); + } + /** [C]heck [B]lock at [R]elative position */ private boolean cbr(Block b, int x, int y, int z) { return b == gbr(x, y, z); } + private boolean cbr(Block b, int meta, int x, int y, int z) { + return b == gbr(x, y, z) && meta == gmr(x, y, z); + } AxisAlignedBB bb = null; diff --git a/src/main/resources/assets/hbm/textures/blocks/watz_casing_bolted.png b/src/main/resources/assets/hbm/textures/blocks/watz_casing_bolted.png new file mode 100644 index 0000000000000000000000000000000000000000..a52fac3c7ff74fb5497ec382ee1cd17d541608f0 GIT binary patch literal 410 zcmV;L0cHM)P)S(2>_YBz5>t9t!<_rw|4~&{cOpC0H2}A^7_`<;exqHU-)GY)r@HR!`ma0a^U*HP@BJOi&>Cx5FP9vO;%Uv! zd+hoAJH)=Y-+x~$TS|Zc-`8uZrU_G)eq-KPi%L_R_h_vjcOV(!Jxh=w9w+EjFd2{e zSgnGC);hFtxn4VWA{J&KqWDOp1?f3vVk+MAko|WjKL->@;0S+y#{d8T07*qoM6N<$ Ef__-C8vp Date: Fri, 21 Apr 2023 14:39:33 +0200 Subject: [PATCH 037/285] multiblock construction NEI handler (wow!), better bolting --- .../java/com/hbm/blocks/BlockEnumMulti.java | 13 ++ src/main/java/com/hbm/blocks/BlockMulti.java | 4 + src/main/java/com/hbm/blocks/ModBlocks.java | 3 +- .../blocks/generic/BlockToolConversion.java | 27 ++-- .../java/com/hbm/blocks/machine/Watz.java | 22 ++++ .../hbm/handler/nei/ConstructionHandler.java | 59 +++++++++ .../hbm/handler/nei/NEIUniversalHandler.java | 119 ++++++++++++++++-- .../com/hbm/items/block/ItemBlockBase.java | 9 +- .../java/com/hbm/items/tool/ItemBoltgun.java | 47 +++++++ src/main/java/com/hbm/main/NEIConfig.java | 1 + .../hbm/render/item/ItemRenderBoltgun.java | 4 + .../machine/TileEntityWatzStruct.java | 2 +- src/main/resources/assets/hbm/lang/de_DE.lang | 3 + src/main/resources/assets/hbm/lang/en_US.lang | 3 + .../hbm/textures/blocks/watz_cooler_side.png | Bin 0 -> 128 bytes .../hbm/textures/blocks/watz_cooler_top.png | Bin 0 -> 460 bytes .../hbm/textures/models/weapons/boltgun.png | Bin 1069 -> 1148 bytes 17 files changed, 284 insertions(+), 32 deletions(-) create mode 100644 src/main/java/com/hbm/handler/nei/ConstructionHandler.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/watz_cooler_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/watz_cooler_top.png diff --git a/src/main/java/com/hbm/blocks/BlockEnumMulti.java b/src/main/java/com/hbm/blocks/BlockEnumMulti.java index bca10f87e..5ee6e4660 100644 --- a/src/main/java/com/hbm/blocks/BlockEnumMulti.java +++ b/src/main/java/com/hbm/blocks/BlockEnumMulti.java @@ -1,9 +1,12 @@ package com.hbm.blocks; +import com.hbm.util.EnumUtil; + 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.item.ItemStack; import net.minecraft.util.IIcon; public class BlockEnumMulti extends BlockMulti { @@ -38,6 +41,16 @@ public class BlockEnumMulti extends BlockMulti { } } + public String getUnlocalizedName(ItemStack stack) { + + if(this.multiName) { + Enum num = EnumUtil.grabEnumSafely(this.theEnum, stack.getItemDamage()); + return super.getUnlocalizedName() + "." + num.name().toLowerCase(); + } + + return this.getUnlocalizedName(); + } + @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int meta) { diff --git a/src/main/java/com/hbm/blocks/BlockMulti.java b/src/main/java/com/hbm/blocks/BlockMulti.java index 21930f6ff..1741d9316 100644 --- a/src/main/java/com/hbm/blocks/BlockMulti.java +++ b/src/main/java/com/hbm/blocks/BlockMulti.java @@ -31,4 +31,8 @@ public abstract class BlockMulti extends BlockBase implements IBlockMulti { list.add(new ItemStack(item, 1, i)); } } + + public String getUnlocalizedName(ItemStack stack) { + return this.getUnlocalizedName(); + } } diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 08312db55..4e7c82139 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -23,7 +23,6 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.DoorDecl; import com.hbm.tileentity.machine.storage.TileEntityFileCabinet; -import api.hbm.block.IToolable.ToolType; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.block.Block; import net.minecraft.block.BlockFalling; @@ -1981,7 +1980,7 @@ public class ModBlocks { 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_control = new BlockPillar(Material.iron, RefStrings.MODID + ":watz_control_top").setBlockName("watz_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_control_side"); - watz_cooler = new BlockGeneric(Material.iron).setBlockName("watz_cooler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_cooler"); + 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_hatch = new WatzHatch(Material.iron).setBlockName("watz_hatch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_hatch"); watz_conductor = new BlockCableConnect(Material.iron).setBlockName("watz_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":watz_conductor_top"); diff --git a/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java b/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java index 5f7314d28..ddb34f66e 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java +++ b/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java @@ -5,8 +5,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map.Entry; -import com.hbm.blocks.BlockBase; -import com.hbm.blocks.IBlockMulti; +import com.hbm.blocks.BlockMulti; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.RecipesCommon.AStack; @@ -23,16 +22,14 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.block.material.Material; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.texture.IIconRegister; -import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; -public class BlockToolConversion extends BlockBase implements IToolable, ILookOverlay, IBlockMulti { +public class BlockToolConversion extends BlockMulti implements IToolable, ILookOverlay { public IIcon[] icons; public String[] names; @@ -45,14 +42,6 @@ public class BlockToolConversion extends BlockBase implements IToolable, ILookOv this.names = name; return this; } - - @Override - @SideOnly(Side.CLIENT) - public void getSubBlocks(Item item, CreativeTabs tab, List list) { - for(int i = 0; i < getSubCount(); ++i) { - list.add(new ItemStack(item, 1, i)); - } - } @Override @SideOnly(Side.CLIENT) @@ -66,6 +55,18 @@ public class BlockToolConversion extends BlockBase implements IToolable, ILookOv } } } + + @Override + public String getUnlocalizedName(ItemStack stack) { + + int meta = stack.getItemDamage() - 1; + + if(meta == -1 || names == null || meta >= names.length) { + return this.getUnlocalizedName(); + } + + return this.getUnlocalizedName() + names[meta]; + } @Override @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/hbm/blocks/machine/Watz.java b/src/main/java/com/hbm/blocks/machine/Watz.java index 46de57e92..8a975bbc2 100644 --- a/src/main/java/com/hbm/blocks/machine/Watz.java +++ b/src/main/java/com/hbm/blocks/machine/Watz.java @@ -1,12 +1,17 @@ package com.hbm.blocks.machine; import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ModBlocks; import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.items.ModItems; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityWatz; +import net.minecraft.block.Block; 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.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -71,4 +76,21 @@ public class Watz extends BlockDummyable { this.makeExtra(world, x, y + 2, z - 2); this.makeExtra(world, x, y + 2, z); } + + public static boolean drop = true; + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int i) { + + if(i >= 12 && drop) { + + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.watz_end, 48))); + for(int j = 0; j < 3; j++) world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.bolt_dura_steel, 64))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.watz_element, 36))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.watz_cooler, 26))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_watz_core, 1))); + } + + super.breakBlock(world, x, y, z, block, i); + } } diff --git a/src/main/java/com/hbm/handler/nei/ConstructionHandler.java b/src/main/java/com/hbm/handler/nei/ConstructionHandler.java new file mode 100644 index 000000000..e6b93517f --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/ConstructionHandler.java @@ -0,0 +1,59 @@ +package com.hbm.handler.nei; + +import java.util.HashMap; + +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; + +import net.minecraft.item.ItemStack; + +public class ConstructionHandler extends NEIUniversalHandler { + + public ConstructionHandler() { + super("Construction", getRecipes(true), getRecipes(false)); + } + + @Override + public String getKey() { + return "ntmConstruction"; + } + + public static HashMap bufferedRecipes = new HashMap(); + public static HashMap bufferedTools = new HashMap(); + + public static HashMap getRecipes(boolean recipes) { + + if(!bufferedRecipes.isEmpty()) { + return recipes ? bufferedRecipes : bufferedTools; + } + + /* WATZ */ + ItemStack[] watz = new ItemStack[] { + new ItemStack(ModBlocks.watz_end, 48), + new ItemStack(ModItems.bolt_dura_steel, 64), + new ItemStack(ModItems.bolt_dura_steel, 64), + new ItemStack(ModItems.bolt_dura_steel, 64), + new ItemStack(ModBlocks.watz_element, 36), + new ItemStack(ModBlocks.watz_cooler, 26), + new ItemStack(ModItems.boltgun)}; + + bufferedRecipes.put(watz, new ItemStack(ModBlocks.watz)); + bufferedTools.put(watz, new ItemStack(ModBlocks.struct_watz_core)); + + /* ITER */ + ItemStack[] iter = new ItemStack[] { + new ItemStack(ModBlocks.fusion_conductor, 64), + new ItemStack(ModBlocks.fusion_conductor, 64), + new ItemStack(ModBlocks.fusion_conductor, 64), + new ItemStack(ModBlocks.fusion_conductor, 64), + new ItemStack(ModBlocks.fusion_conductor, 36), + new ItemStack(ModBlocks.fusion_center, 64), + new ItemStack(ModBlocks.fusion_motor, 4), + new ItemStack(ModBlocks.reinforced_glass, 8)}; + + bufferedRecipes.put(iter, new ItemStack(ModBlocks.iter)); + bufferedTools.put(iter, new ItemStack(ModBlocks.struct_iter_core)); + + return recipes ? bufferedRecipes : bufferedTools; + } +} diff --git a/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java b/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java index 73dca100b..8d5772be4 100644 --- a/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java +++ b/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java @@ -60,16 +60,16 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler { public RecipeSet(ItemStack[][] in, ItemStack[][] out, Object originalInputInstance /* for custom machine lookup */) { input = new PositionedStack[in.length]; + int[][] inPos = NEIUniversalHandler.getInputCoords(in.length); for(int i = 0; i < in.length; i++) { ItemStack[] sub = in[i]; - this.input[i] = new PositionedStack(sub, 48 + i * -18, 24); + this.input[i] = new PositionedStack(sub, inPos[i][0], inPos[i][1]); } output = new PositionedStack[out.length]; + int[][] outPos = NEIUniversalHandler.getOutputCoords(out.length); for(int i = 0; i < out.length; i++) { ItemStack[] sub = out[i]; - - boolean twos = out.length > 3; - this.output[i] = new PositionedStack(sub, 102 + i * 18 - ((twos && i > 1) ? 36 : 0), 24 + (twos ? (i < 2 ? -9 : 9) : 0)); + this.output[i] = new PositionedStack(sub, outPos[i][0], outPos[i][1]); } ItemStack[] m = machine; @@ -121,16 +121,115 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler { super.drawBackground(recipe); RecipeSet rec = (RecipeSet) this.arecipes.get(recipe); - - for(int i = 0; i < rec.input.length; i++) - drawTexturedModalRect(47 + i * -18, 23, 5, 87, 18, 18); - for(int i = 0; i < rec.output.length; i++) { - boolean twos = rec.output.length > 3; - drawTexturedModalRect(101 + i * 18 - ((twos && i > 1) ? 36 : 0), 23 + (twos ? (i < 2 ? -9 : 9) : 0), 5, 87, 18, 18); + + int[][] inPos = NEIUniversalHandler.getInputCoords(rec.input.length); + for(int[] pos : inPos) { + drawTexturedModalRect(pos[0] - 1, pos[1] - 1, 5, 87, 18, 18); + } + int[][] outPos = NEIUniversalHandler.getOutputCoords(rec.output.length); + for(int[] pos : outPos) { + drawTexturedModalRect(pos[0] - 1, pos[1] - 1, 5, 87, 18, 18); } drawTexturedModalRect(74, 14, 59, 87, 18, 38); } + + public static int[][] getInputCoords(int count) { + + switch(count) { + case 1: return new int[][] { + {48, 24} + }; + case 2: return new int[][] { + {48, 24}, + {30, 24} + }; + case 3: return new int[][] { + {48, 24}, + {30, 24}, + {12, 24} + }; + case 4: return new int[][] { + {48, 24 - 9}, + {30, 24 - 9}, + {48, 24 + 9}, + {30, 24 + 9} + }; + case 5: return new int[][] { + {48, 24 - 9}, + {30, 24 - 9}, + {12, 24}, + {48, 24 + 9}, + {30, 24 + 9}, + }; + case 6: return new int[][] { + {48, 24 - 9}, + {30, 24 - 9}, + {12, 24 - 9}, + {48, 24 + 9}, + {30, 24 + 9}, + {12, 24 + 9} + }; + case 7: return new int[][] { + {48, 24 - 18}, + {30, 24 - 9}, + {12, 24 - 9}, + {48, 24}, + {30, 24 + 9}, + {12, 24 + 9}, + {48, 24 + 18} + }; + case 8: return new int[][] { + {48, 24 - 18}, + {30, 24 - 18}, + {12, 24 - 9}, + {48, 24}, + {30, 24}, + {12, 24 + 9}, + {48, 24 + 18}, + {30, 24 + 18} + }; + case 9: return new int[][] { + {48, 24 - 18}, + {30, 24 - 18}, + {12, 24 - 18}, + {48, 24}, + {30, 24}, + {12, 24}, + {48, 24 + 18}, + {30, 24 + 18}, + {12, 24 + 18} + }; + } + + return new int[count][2]; + } + + public static int[][] getOutputCoords(int count) { + + switch(count) { + case 1: return new int[][] { + {102, 24} + }; + case 2: return new int[][] { + {102, 24}, + {120, 24} + }; + case 3: return new int[][] { + {102, 24}, + {120, 24}, + {138, 24} + }; + case 4: return new int[][] { + {102, 24 - 9}, + {120, 24 - 9}, + {138 + 36, 24 + 9}, + {156 + 36, 24 + 9} + }; + } + + return new int[count][2]; + } @Override public void loadCraftingRecipes(String outputId, Object... results) { diff --git a/src/main/java/com/hbm/items/block/ItemBlockBase.java b/src/main/java/com/hbm/items/block/ItemBlockBase.java index 04823443b..e04959cff 100644 --- a/src/main/java/com/hbm/items/block/ItemBlockBase.java +++ b/src/main/java/com/hbm/items/block/ItemBlockBase.java @@ -2,12 +2,11 @@ package com.hbm.items.block; import java.util.List; -import com.hbm.blocks.BlockEnumMulti; +import com.hbm.blocks.BlockMulti; import com.hbm.blocks.IBlockMulti; import com.hbm.blocks.IPersistentInfoProvider; import com.hbm.blocks.ITooltipProvider; import com.hbm.tileentity.IPersistentNBT; -import com.hbm.util.EnumUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -41,10 +40,8 @@ public class ItemBlockBase extends ItemBlock { @Override public String getUnlocalizedName(ItemStack stack) { - if(field_150939_a instanceof BlockEnumMulti && ((BlockEnumMulti)field_150939_a).multiName) { - - Enum num = EnumUtil.grabEnumSafely(((BlockEnumMulti)field_150939_a).theEnum, stack.getItemDamage()); - return super.getUnlocalizedName() + "." + num.name().toLowerCase(); + if(field_150939_a instanceof BlockMulti) { + return ((BlockMulti)field_150939_a).getUnlocalizedName(stack); } else { return super.getUnlocalizedName(stack); } diff --git a/src/main/java/com/hbm/items/tool/ItemBoltgun.java b/src/main/java/com/hbm/items/tool/ItemBoltgun.java index 3a1605028..b97fb4b7a 100644 --- a/src/main/java/com/hbm/items/tool/ItemBoltgun.java +++ b/src/main/java/com/hbm/items/tool/ItemBoltgun.java @@ -1,7 +1,10 @@ package com.hbm.items.tool; +import com.hbm.blocks.ModBlocks; 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.render.anim.BusAnimation; @@ -14,11 +17,13 @@ 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.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.DamageSource; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -26,6 +31,7 @@ public class ItemBoltgun extends Item implements IAnimatedItem { public ItemBoltgun() { this.setMaxStackSize(1); + this.setCreativeTab(MainRegistry.controlTab); ToolType.BOLT.register(new ItemStack(this)); } @@ -36,6 +42,47 @@ public class ItemBoltgun extends Item implements IAnimatedItem { 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; + + Item[] bolts = new Item[] { ModItems.bolt_dura_steel, ModItems.bolt_tungsten, Item.getItemFromBlock(ModBlocks.steel_beam) }; + + for(Item item : bolts) { + for(int i = 0; i < player.inventory.getSizeInventory(); i++) { + ItemStack slot = player.inventory.getStackInSlot(i); + + if(slot != null) { + if(slot.getItem() == item) { + if(!world.isRemote) { + player.inventory.decrStackSize(i, 1); + player.inventoryContainer.detectAndSendChanges(); + entity.attackEntityFrom(DamageSource.causePlayerDamage(player).setDamageBypassesArmor(), 10F); + + 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, 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(); + d0.setString("type", "anim"); + d0.setString("mode", "generic"); + MainRegistry.proxy.effectNT(d0); + } + return true; + } + } + } + } + + 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) { diff --git a/src/main/java/com/hbm/main/NEIConfig.java b/src/main/java/com/hbm/main/NEIConfig.java index 161af3bea..bbfea592a 100644 --- a/src/main/java/com/hbm/main/NEIConfig.java +++ b/src/main/java/com/hbm/main/NEIConfig.java @@ -54,6 +54,7 @@ public class NEIConfig implements IConfigureNEI { registerHandler(new CrucibleAlloyingHandler()); registerHandler(new CrucibleCastingHandler()); registerHandler(new ToolingHandler()); + registerHandler(new ConstructionHandler()); //universal boyes registerHandler(new ZirnoxRecipeHandler()); diff --git a/src/main/java/com/hbm/render/item/ItemRenderBoltgun.java b/src/main/java/com/hbm/render/item/ItemRenderBoltgun.java index 6ab331111..64d8831e1 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderBoltgun.java +++ b/src/main/java/com/hbm/render/item/ItemRenderBoltgun.java @@ -6,6 +6,7 @@ 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; @@ -33,6 +34,8 @@ public class ItemRenderBoltgun implements IItemRenderer { GL11.glPushMatrix(); + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + GL11.glEnable(GL11.GL_CULL_FACE); GL11.glShadeModel(GL11.GL_SMOOTH); Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.boltgun_tex); @@ -50,6 +53,7 @@ public class ItemRenderBoltgun implements IItemRenderer { GL11.glPushMatrix(); double[] anim = HbmAnimations.getRelevantTransformation("RECOIL"); GL11.glTranslated(0, 0, -anim[0]); + if(anim[0] != 0) player.isSwingInProgress = false; ResourceManager.boltgun.renderPart("Barrel"); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java index 10ba21058..e3bb5f800 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzStruct.java @@ -62,7 +62,7 @@ public class TileEntityWatzStruct extends TileEntity { Watz watz = (Watz)ModBlocks.watz; BlockDummyable.safeRem = true; - worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.watz, this.getBlockMetadata() + BlockDummyable.offset, 3); + worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.watz, 12, 3); watz.fillSpace(worldObj, xCoord, yCoord, zCoord, ForgeDirection.NORTH, 0); BlockDummyable.safeRem = false; } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index bc3b244fb..bb2d077b3 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1205,6 +1205,7 @@ item.bobmazon_weapons.name=Bobmazon: Waffen und Sprengstoffe item.bolt_compound.name=Verstärkte Turbinenwelle item.bolt_dura_steel.name=Schnellarbeitsstahlbolzen item.bolt_tungsten.name=Wolframbolzen +item.boltgun.name=Pneumatische Nietenpistole item.bomb_caller.name=Luftschlag Zielmarker item.bomb_waffle.name=Massenvernichtungswaffel item.guide_book.name=Handbuch @@ -4222,6 +4223,7 @@ tile.struct_launcher_core_large.name=Startrampe-Kernkomponente tile.struct_plasma_core.name=Plasmaerhitzer-Kernkomponente tile.struct_scaffold.name=Startrampe-Gerüstblock tile.struct_soyuz_core.name=Soyuz-Startrampe-Kernkomponente +tile.struct_watz_core.name=Watzkraftwerk-Kernkomponente tile.substation.name=Umspannwerk tile.sulfuric_acid_block.name=Schwefelsäure tile.taint.name=Korrupter Schmutz @@ -4281,6 +4283,7 @@ tile.watz_cooler.name=Watz-Superkühler tile.watz_core.name=Watzreaktorkern tile.watz_element.name=Watzreaktionskammer tile.watz_end.name=Watz-Stabilitätselement +tile.watz_end_bolted.name=Watz-Stabilitätselement (Genietet) tile.watz_hatch.name=Watzreaktorzugriffsluke tile.yellow_barrel.name=Radioaktives Fass tile.zirnox_destroyed.name=Zerstörter ZINOX diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index e8656695b..1585d0491 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1792,6 +1792,7 @@ item.bobmazon_weapons.name=Bobmazon: Weapons and Explosives item.bolt_compound.name=Reinforced Turbine Shaft item.bolt_dura_steel.name=High-Speed Steel Bolt item.bolt_tungsten.name=Tungsten Bolt +item.boltgun.name=Pneumatic Rivet Gun item.bomb_caller.name=Airstrike Designator item.bomb_waffle.name=Waffle of Mass Destruction item.book_guide.name=Guide Book @@ -5038,6 +5039,7 @@ tile.struct_launcher_core_large.name=Launch Table Core Component tile.struct_plasma_core.name=Plasma Heater Core Component tile.struct_scaffold.name=Launch Pad Scaffold Block tile.struct_soyuz_core.name=Soyuz Launcher Core Component +tile.struct_watz_core.name=Watz Powerplant Core Component tile.substation.name=Substation tile.sulfuric_acid_block.name=Sulfuric Acid tile.taint.name=Taint @@ -5099,6 +5101,7 @@ tile.watz_cooler.name=Watz Reactor Supercooler tile.watz_core.name=Watz Reactor Control tile.watz_element.name=Watz Reaction Chamber 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.yellow_barrel.name=Radioactive Barrel tile.zirnox_destroyed.name=Destroyed ZINROX diff --git a/src/main/resources/assets/hbm/textures/blocks/watz_cooler_side.png b/src/main/resources/assets/hbm/textures/blocks/watz_cooler_side.png new file mode 100644 index 0000000000000000000000000000000000000000..346ddad5a9dae1102143c5f84d273eb2542113d3 GIT binary patch literal 128 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfSaRAb{hxPoypTaT1M1P=p) Xf1YMzD&rwfpb-q7u6{1-oD!MUeFiq0}(DOV1k|ZGvL)*bpv)=_kj&C-=D2fUMN-0Ye$1$hP764_PW$3J^ zKZ+s-gFzvu35AphDJk`@jz$0%Z&f;-js*h@heH4y#{s}~U6fMPYBhFWA9D$drfY!W4nyI5QIF5tL5q>mvYJ-zP~D(ljm1!GzK8c^l{pmKJ0gV3xCqFQ&?EC(VZkVj{j0@ZE59kj~ zv)@H$8E3~^=w6oRk9uQVCy?k~M%i}ok1!61K=KVm9=^clbc-JV0000b|;Gk*j#Nkly>6pG5XZ--7_^pbC352jNO=X-IZY%Nd4kkw zu5*=V$TOsJcTMU%feVx_X+nQ_05?`5yFhFTuDEQ3mu1beyTHQyB+E7|AF}?Qoq?HQ z0Eks?mdkYLdEj{-c)p)oPm=@yK)B8%G)aI`3ZIn1!)i6KdVeqr{Al_F5Tpz!RKy8R znm&Q12!bFLEsvtexoNRYu;10sxH3tSX#cL(gjytowsCrT3IG5fA0MU0UteFR005K8 z1a`X}OeT|q^=#R0w=;aE{l=5tj%(c?;szK@ zAx_|2FcpSj&VMOiEEZ|ey7_$Wgs+UqaZadR=6$=ZyzSX^T6*lwaw+`tw)sZDflx)( z=lS_rc=9S^y8w&!ZNWr(KAS0T`?lG@`*y1&R@XT2Q3)ZrR}m^>k#b~38it|tb9Px3 zal6KWMOBHA`xZ?=YQpvG3)yJ^rU-wLQtrPGM|*zeoPdqd0L-aAhL)mFn=^_joIy2TY1PRRKzHJ zCcmkqAQWm3@iZ-}$ge%->;AmB&=M>P6;Vdlb*KUgRZdC>fzfCL?0qyEf$#eV!NQ01US70^W45eijK zCoL*%@ujmOP^fY`X;G*uqfOlR=Nag2ASEK{3BZKAF}D^QlBN-6zbUL;u6E;)Fw-#)ck)Fy%hlF_*jH_3rTRk`iel~(9wpV-$$n8h4&fs@V@ZA<7*wMI8-8KWo~@YBC&SsySF#Xqc8 e1D!VT$M^?V=S4n42-#==0000zi!(w5XQeN@&I{+Oh(6SSu^_uI(VpOqey|i zfKIPa1fH{G$X;mnnxSaMB2(U=c>{K^6ibvv>JQJNtos3hC5k%I_UGgAC@BO*6ayGv z9Tx6`ZJz)VZZbHZ#_oWkv_XZcOoEHCJ1`cRfqCR=*@}TBg?}9u*<0iEL%$@81ZI&p z_{u=B{cGUoDkfBB_Qqx|uCA^s`)_Y=L(J9e0qb6N%m#*^JDl*lS2K#mY(45D?>(qp z=7XOBzG>eMt5Ab5TcP%aZ}wtsT|ZErA=vg);r1k$tx#87_n<2V9zEY;SC6Vge;6hw zRA#OP^G3r?{5r2^ay4J5ugxL=LePh(Fu(!qt zL;vQmnQp_*^cTEes|L-;d0IaH(4FLQRx{^RAQ_3Vzj~W_dsu`aNB-6W6ibrcP>Y_#7 zxDP5+34e(8$#ldy^h>t)nu4r&G>C9jr~(u#J}^^Br*~wzpY1;_`B0YSf-IK-cr7;W z^W$0d_`zmFd5*@Y0uXS%A{`0!s4kM^xZ0Sjug8w%+ed2DPwCXD?nv7|1u9e*X+sjb z?Zwzc1fj{r+)$yquxIcEE{|$iKpNj2N^SF{O@I685BWaYs8C%{LvE=lB(OLNgl$}M74ua$w=_NCjCK=Y_Bi0J5FTbeww z(i!!rE;L4s1{JD{05K}-tUm}UR2S!(N9~zEE%wJiV^kL!qeg>zR2KnaRBoYbkCnmH z?0J8G0Fck6*SO! zcz77}L9Ey7N`JDi#~sHQ9(8oudQulYPdbo`@}tl7(dgsEs2sFKzkTWUB+#MXLMJ~x zDelV`@~pEJ>XJa2sg8C_0+}}HsSeCW_}_>m Date: Sat, 22 Apr 2023 16:00:07 +0200 Subject: [PATCH 038/285] watz fuel stats, more construction recipes --- .../blocks/generic/BlockToolConversion.java | 3 +- .../hbm/handler/nei/ConstructionHandler.java | 46 ++++++++++++++++-- .../com/hbm/items/machine/ItemWatzPellet.java | 38 ++++++++------- .../java/com/hbm/items/tool/ItemBoltgun.java | 7 ++- .../tileentity/machine/TileEntityWatz.java | 13 +++-- .../java/com/hbm/util/function/Function.java | 14 +++--- src/main/resources/assets/hbm/sounds.json | 1 + .../assets/hbm/sounds/tool/boltgun.ogg | Bin 0 -> 13695 bytes 8 files changed, 87 insertions(+), 35 deletions(-) create mode 100644 src/main/resources/assets/hbm/sounds/tool/boltgun.ogg diff --git a/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java b/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java index ddb34f66e..582db2d18 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java +++ b/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java @@ -95,9 +95,10 @@ public class BlockToolConversion extends BlockMulti implements IToolable, ILookO if(list == null || list.isEmpty() || InventoryUtil.doesPlayerHaveAStacks(player, list, true)) { world.setBlock(x, y, z, result.value.block, result.value.meta, 3); + return true; } - return true; + return false; } @Override diff --git a/src/main/java/com/hbm/handler/nei/ConstructionHandler.java b/src/main/java/com/hbm/handler/nei/ConstructionHandler.java index e6b93517f..240ad58af 100644 --- a/src/main/java/com/hbm/handler/nei/ConstructionHandler.java +++ b/src/main/java/com/hbm/handler/nei/ConstructionHandler.java @@ -4,8 +4,10 @@ import java.util.HashMap; import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; +import com.hbm.util.ItemStackUtil; import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; public class ConstructionHandler extends NEIUniversalHandler { @@ -42,11 +44,11 @@ public class ConstructionHandler extends NEIUniversalHandler { /* ITER */ ItemStack[] iter = new ItemStack[] { - new ItemStack(ModBlocks.fusion_conductor, 64), - new ItemStack(ModBlocks.fusion_conductor, 64), - new ItemStack(ModBlocks.fusion_conductor, 64), - new ItemStack(ModBlocks.fusion_conductor, 64), new ItemStack(ModBlocks.fusion_conductor, 36), + new ItemStack(ModBlocks.fusion_conductor, 64), + new ItemStack(ModBlocks.fusion_conductor, 64), + new ItemStack(ModBlocks.fusion_conductor, 64), + new ItemStack(ModBlocks.fusion_conductor, 64), new ItemStack(ModBlocks.fusion_center, 64), new ItemStack(ModBlocks.fusion_motor, 4), new ItemStack(ModBlocks.reinforced_glass, 8)}; @@ -54,6 +56,42 @@ public class ConstructionHandler extends NEIUniversalHandler { bufferedRecipes.put(iter, new ItemStack(ModBlocks.iter)); bufferedTools.put(iter, new ItemStack(ModBlocks.struct_iter_core)); + /* PLASMA HEATER */ + ItemStack[] heater = new ItemStack[] { + new ItemStack(ModBlocks.fusion_heater, 7), + new ItemStack(ModBlocks.fusion_heater, 64), + new ItemStack(ModBlocks.fusion_heater, 64) }; + + bufferedRecipes.put(heater, new ItemStack(ModBlocks.plasma_heater)); + bufferedTools.put(heater, new ItemStack(ModBlocks.struct_plasma_core)); + + /* COMPACT LAUNCHER */ + ItemStack[] launcher = new ItemStack[] { new ItemStack(ModBlocks.struct_launcher, 8) }; + + bufferedRecipes.put(launcher, new ItemStack(ModBlocks.compact_launcher)); + bufferedTools.put(launcher, new ItemStack(ModBlocks.struct_launcher_core)); + + /* LAUNCH TABLE */ + ItemStack[] table = new ItemStack[] { + new ItemStack(ModBlocks.struct_launcher, 16), + new ItemStack(ModBlocks.struct_launcher, 64), + new ItemStack(ModBlocks.struct_scaffold, 11)}; + + bufferedRecipes.put(table, new ItemStack(ModBlocks.launch_table)); + bufferedTools.put(table, new ItemStack(ModBlocks.struct_launcher_core_large)); + + /* SOYUZ LAUNCHER */ + ItemStack[] soysauce = new ItemStack[] { + new ItemStack(ModBlocks.struct_launcher, 60), + ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.struct_launcher, 320), EnumChatFormatting.RED + "5x64"), + new ItemStack(ModBlocks.struct_scaffold, 53), + ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.struct_scaffold, 384), EnumChatFormatting.RED + "6x64"), + new ItemStack(ModBlocks.concrete_smooth, 8), + ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.concrete_smooth, 320), EnumChatFormatting.RED + "5x64"),}; + + bufferedRecipes.put(soysauce, new ItemStack(ModBlocks.soyuz_launcher)); + bufferedTools.put(soysauce, new ItemStack(ModBlocks.struct_soyuz_core)); + return recipes ? bufferedRecipes : bufferedTools; } } diff --git a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java index 0b782df9d..4a0f35dc1 100644 --- a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java +++ b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java @@ -36,18 +36,18 @@ public class ItemWatzPellet extends ItemEnumMulti { public static enum EnumWatzType { - SCHRABIDIUM( 0x32FFFF, 0x005C5C, 2_000, 10D, new FunctionLogarithmic(10), null, null), - HES( 0x66DCD6, 0x023933, 1_500, 10D, null, null, null), - MES( 0xCBEADF, 0x28473C, 1_000, 10D, null, null, null), - LES( 0xABB4A8, 0x0C1105, 500, 10D, null, null, null), - HEN( 0xA6B2A6, 0x030F03, 0, 10D, null, null, null), - MEU( 0xC1C7BD, 0x2B3227, 0, 10D, null, null, null), - MEP( 0x9AA3A0, 0x111A17, 0, 10D, null, null, null), - LEAD( 0xA6A6B2, 0x03030F, 0, 0, null, null, new FunctionSqrt(10)), //standard absorber, negative coefficient - BORON( 0xBDC8D2, 0x29343E, 0, 0, null, null, new FunctionLinear(10)), //improved absorber, linear - DU( 0xC1C7BD, 0x2B3227, 0, 0, null, null, new FunctionQuadratic(1D, 1D).withDiv(100)), //absorber with positive coefficient - NQD( 0x4B4B4B, 0x121212, 0, 0, null, null, null), - NQR( 0x2D2D2D, 0x0B0B0B, 0, 0, null, null, null); + SCHRABIDIUM( 0x32FFFF, 0x005C5C, 2_000, 20D, 0.02D, new FunctionLinear(1.5D), new FunctionSqrt(1D/20D).withOff(20D * 20D), null), + HES( 0x66DCD6, 0x023933, 1_750, 20D, 0.01D, new FunctionLinear(1.25D), new FunctionSqrt(1/15D).withOff(15D*15D), null), + MES( 0xCBEADF, 0x28473C, 1_500, 15D, 0.005D, new FunctionLinear(1.15D), new FunctionSqrt(1/15D).withOff(15D*15D), null), + LES( 0xABB4A8, 0x0C1105, 1_250, 15D, 0.0025D, new FunctionLinear(1D), new FunctionSqrt(1/10D).withOff(10D*10D), null), + HEN( 0xA6B2A6, 0x030F03, 0, 10D, 0.001D, new FunctionSqrt(100), null, null), + MEU( 0xC1C7BD, 0x2B3227, 0, 10D, 0.001D, new FunctionSqrt(75), null, null), + MEP( 0x9AA3A0, 0x111A17, 0, 15D, 0.001D, new FunctionSqrt(150), new FunctionSqrt(1D/20D).withOff(20D * 20D), null), + LEAD( 0xA6A6B2, 0x03030F, 0, 0, 0.005D, null, null, new FunctionSqrt(10)), //standard absorber, negative coefficient + BORON( 0xBDC8D2, 0x29343E, 0, 0, 0.005D, null, null, new FunctionLinear(10)), //improved absorber, linear + DU( 0xC1C7BD, 0x2B3227, 0, 0, 0.005D, null, null, new FunctionQuadratic(1D, 1D).withDiv(100)), //absorber with positive coefficient + NQD( 0x4B4B4B, 0x121212, 2_000, 20, 0.02D, new FunctionLinear(2D), new FunctionSqrt(1D/25D).withOff(25D * 25D), null), + NQR( 0x2D2D2D, 0x0B0B0B, 2_500, 30, 0.02D, new FunctionLinear(1.5D), new FunctionSqrt(1D/25D).withOff(25D * 25D), null); public double yield = 1_000_000_000; public int colorLight; @@ -56,16 +56,17 @@ public class ItemWatzPellet extends ItemEnumMulti { public double passive; //base flux emission public double heatEmission; //reactivity(1) to heat (heat per outgoing flux) public Function burnFunc; //flux to reactivity(0) (classic reactivity) - public Function heatMult; //reactivity(0) to reactivity(1) based on heat (temperature coefficient) + public Function heatDiv; //reactivity(0) to reactivity(1) based on heat (temperature coefficient) public Function absorbFunc; //flux to heat (flux absobtion for non-active component) - private EnumWatzType(int colorLight, int colorDark, double passive, double heatEmission, Function burnFunction, Function heatMultiplier, Function absorbFunction) { + private EnumWatzType(int colorLight, int colorDark, double passive, double heatEmission, double mudContent, Function burnFunction, Function heatDivisor, Function absorbFunction) { this.colorLight = colorLight; this.colorDark = colorDark; this.passive = passive; this.heatEmission = heatEmission; + this.mudContent = mudContent; this.burnFunc = burnFunction; - this.heatMult = heatMultiplier; + this.heatDiv = heatDivisor; this.absorbFunc = absorbFunction; } } @@ -129,13 +130,16 @@ public class ItemWatzPellet extends ItemEnumMulti { String color = EnumChatFormatting.GOLD + ""; String reset = EnumChatFormatting.RESET + ""; - if(num.passive > 0) list.add(color + "Base fission rate: " + reset + num.passive); + if(num.passive > 0){ + list.add(color + "Base fission rate: " + reset + num.passive); + list.add(EnumChatFormatting.RED + "Self-ingiting!"); + } if(num.heatEmission > 0) list.add(color + "Heat per flux: " + reset + num.heatEmission + " TU"); if(num.burnFunc != null) { list.add(color + "Reacton function: " + reset + num.burnFunc.getLabelForFuel()); list.add(color + "Fuel type: " + reset + num.burnFunc.getDangerFromFuel()); } - if(num.heatMult != null) list.add(color + "Thermal coefficient: " + reset + num.heatMult.getLabelForFuel()); + if(num.heatDiv != null) list.add(color + "Thermal multiplier: " + reset + num.heatDiv.getLabelForFuel() + " TU⁻¹"); if(num.absorbFunc != null) list.add(color + "Flux capture: " + reset + num.absorbFunc.getLabelForFuel()); } diff --git a/src/main/java/com/hbm/items/tool/ItemBoltgun.java b/src/main/java/com/hbm/items/tool/ItemBoltgun.java index b97fb4b7a..a4ef287f3 100644 --- a/src/main/java/com/hbm/items/tool/ItemBoltgun.java +++ b/src/main/java/com/hbm/items/tool/ItemBoltgun.java @@ -10,6 +10,7 @@ import com.hbm.packet.PacketDispatcher; import com.hbm.render.anim.BusAnimation; import com.hbm.render.anim.BusAnimationKeyframe; import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.util.EntityDamageUtil; import api.hbm.block.IToolable; import api.hbm.block.IToolable.ToolType; @@ -58,9 +59,10 @@ public class ItemBoltgun extends Item implements IAnimatedItem { if(slot != null) { if(slot.getItem() == item) { if(!world.isRemote) { + world.playSoundAtEntity(entity, "hbm:item.boltgun", 1.0F, 1.0F); player.inventory.decrStackSize(i, 1); player.inventoryContainer.detectAndSendChanges(); - entity.attackEntityFrom(DamageSource.causePlayerDamage(player).setDamageBypassesArmor(), 10F); + EntityDamageUtil.attackEntityFromIgnoreIFrame(entity, DamageSource.causePlayerDamage(player).setDamageBypassesArmor(), 10F); NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaExt"); @@ -92,7 +94,8 @@ public class ItemBoltgun extends Item implements IAnimatedItem { if(b instanceof IToolable && ((IToolable)b).onScrew(world, player, x, y, z, side, fX, fY, fZ, ToolType.BOLT)) { if(!world.isRemote) { - + + world.playSoundAtEntity(player, "hbm:item.boltgun", 1.0F, 1.0F); player.inventoryContainer.detectAndSendChanges(); ForgeDirection dir = ForgeDirection.getOrientation(side); double off = 0.25; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java index 4b8bc95e3..be72c62f4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java @@ -181,11 +181,11 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand for(ItemStack stack : pellets) { EnumWatzType type = EnumUtil.grabEnumSafely(EnumWatzType.class, stack.getItemDamage()); Function burnFunc = type.burnFunc; - Function heatMod = type.heatMult; + Function heatDiv = type.heatDiv; if(burnFunc != null) { - double mod = heatMod != null ? heatMod.effonix(heat) : 1D; - double burn = burnFunc.effonix(inputFlux) * mod; + double div = heatDiv != null ? heatDiv.effonix(heat) : 1D; + double burn = burnFunc.effonix(inputFlux) / div; ItemWatzPellet.setYield(stack, ItemWatzPellet.getYield(stack) - burn); addedFlux += burn; addedHeat += type.heatEmission * burn; @@ -198,7 +198,10 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand Function absorbFunc = type.absorbFunc; if(absorbFunc != null) { - addedHeat += absorbFunc.effonix(baseFlux + fluxLastReaction); + double absorb = absorbFunc.effonix(baseFlux + fluxLastReaction); + addedHeat += absorb; + ItemWatzPellet.setYield(stack, ItemWatzPellet.getYield(stack) - absorb); + tanks[2].setFill(tanks[2].getFill() + (int) Math.round(type.mudContent * absorb)); } } @@ -309,6 +312,7 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand } for(int i = 0; i < tanks.length; i++) tanks[i].readFromNBT(nbt, "t" + i); + this.heat = nbt.getInteger("heat"); this.fluxLastBase = nbt.getDouble("lastFluxB"); this.fluxLastReaction = nbt.getDouble("lastFluxR"); @@ -332,6 +336,7 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand nbt.setTag("locks", list); for(int i = 0; i < tanks.length; i++) tanks[i].writeToNBT(nbt, "t" + i); + nbt.setInteger("heat", this.heat); nbt.setDouble("lastFluxB", fluxLastBase); nbt.setDouble("lastFluxR", fluxLastReaction); diff --git a/src/main/java/com/hbm/util/function/Function.java b/src/main/java/com/hbm/util/function/Function.java index c9825d3e4..6f50ee651 100644 --- a/src/main/java/com/hbm/util/function/Function.java +++ b/src/main/java/com/hbm/util/function/Function.java @@ -27,8 +27,8 @@ public abstract class Function { public String getXName(boolean brackets) { String x = "x"; boolean mod = false; - if(div != 1D) x += " / " + div; - if(off != 0D) x += " + " + off; + if(div != 1D) x += " / " + String.format("%,.1f", div); + if(off != 0D) x += " + " + String.format("%,.1f", off); if(mod && brackets) x = "(" + x + ")"; return x; } @@ -46,28 +46,28 @@ public abstract class Function { 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) + ") * " + level; } + @Override public String getLabelForFuel() { return "log10(" + getXName(false) + ") * " + String.format("%,.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 "" + level; } + @Override public String getLabelForFuel() { return "" + String.format("%,.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) + ") * " + this.level; } //not entirely correct but good enough + @Override public String getLabelForFuel() { return "sqrt(" + getXName(false) + ") * " + String.format("%,.3f", this.level); } //not entirely correct but good enough @Override public String getDangerFromFuel() { return EnumChatFormatting.YELLOW + "MEDIUM / SQUARE ROOT"; } } 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) + " * " + this.level; } + @Override public String getLabelForFuel() { return getXName(true) + " * " + String.format("%,.1f", this.level); } @Override public String getDangerFromFuel() { return EnumChatFormatting.RED + "DANGEROUS / LINEAR"; } } @@ -75,7 +75,7 @@ public abstract class Function { public FunctionQuadratic(double level) { super(level, 0D); } public FunctionQuadratic(double level, double vOff) { super(level, vOff); } @Override public double effonix(double x) { return getX(x) * getX(x) * this.level + this.vOff; } - @Override public String getLabelForFuel() { return getXName(true) + "² * " + this.level + (vOff != 0 ? (" + " + vOff) : ""); } + @Override public String getLabelForFuel() { return getXName(true) + "² * " + String.format("%,.1f", this.level) + (vOff != 0 ? (" + " + String.format("%,.1f", vOff)) : ""); } @Override public String getDangerFromFuel() { return EnumChatFormatting.RED + "DANGEROUS / QUADRATIC"; } } } diff --git a/src/main/resources/assets/hbm/sounds.json b/src/main/resources/assets/hbm/sounds.json index 6458aa7fc..ab2066140 100644 --- a/src/main/resources/assets/hbm/sounds.json +++ b/src/main/resources/assets/hbm/sounds.json @@ -78,6 +78,7 @@ "item.vice": {"category": "player", "sounds": [{"name": "tool/vice", "stream": false}]}, "item.upgradePlug": {"category": "player", "sounds": [{"name": "tool/upgradePlug", "stream": false}]}, "item.battery": {"category": "player", "sounds": [{"name": "tool/battery", "stream": false}]}, + "item.boltgun": {"category": "player", "sounds": [{"name": "tool/boltgun", "stream": false}]}, "music.recordLambdaCore": {"category": "record", "sounds": [{"name": "music/recordLambdaCore", "stream": true}]}, "music.recordSectorSweep": {"category": "record", "sounds": [{"name": "music/recordSectorSweep", "stream": true}]}, diff --git a/src/main/resources/assets/hbm/sounds/tool/boltgun.ogg b/src/main/resources/assets/hbm/sounds/tool/boltgun.ogg new file mode 100644 index 0000000000000000000000000000000000000000..98356b58b2e9318fde1afccc83d6a171bf8826cf GIT binary patch literal 13695 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 aZ((ilAA6vczkk*GmqFmw3hG$q%KruRF6f^C literal 0 HcmV?d00001 From d0854bb795c59c8ed33db1474a4182851c7e9406 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 23 Apr 2023 22:00:59 +0200 Subject: [PATCH 039/285] oh yeah --- gradle.properties | 2 +- .../hbm/blocks/generic/BlockTallPlant.java | 7 +- .../hbm/blocks/machine/MachineCrucible.java | 31 ++++- .../java/com/hbm/crafting/RodRecipes.java | 24 ++++ .../java/com/hbm/crafting/ToolRecipes.java | 3 + .../com/hbm/entity/effect/EntityMist.java | 15 ++- .../hbm/entity/mob/EntityCreeperPhosgene.java | 1 + .../hbm/entity/projectile/EntityShrapnel.java | 13 +- .../hbm/handler/guncfg/Gun762mmFactory.java | 12 +- .../hbm/handler/nei/NEIUniversalHandler.java | 4 +- .../java/com/hbm/hazard/HazardRegistry.java | 14 +++ .../com/hbm/inventory/OreDictManager.java | 5 +- .../java/com/hbm/inventory/material/Mats.java | 1 + .../inventory/recipes/AssemblerRecipes.java | 6 +- .../inventory/recipes/CentrifugeRecipes.java | 68 ++++++++++ .../inventory/recipes/CrucibleRecipes.java | 4 + .../recipes/SolidificationRecipes.java | 1 + src/main/java/com/hbm/items/ModItems.java | 3 + .../com/hbm/items/machine/ItemWatzPellet.java | 30 +++-- .../com/hbm/items/weapon/ItemGunBase.java | 4 +- src/main/java/com/hbm/lib/RefStrings.java | 2 +- .../java/com/hbm/main/CraftingManager.java | 4 +- .../entity/projectile/RenderShrapnel.java | 2 +- .../machine/TileEntityCrucible.java | 56 ++++++++- .../tileentity/machine/TileEntityWatz.java | 117 ++++++++++++++++-- .../java/com/hbm/util/function/Function.java | 7 ++ src/main/resources/assets/hbm/lang/de_DE.lang | 5 + src/main/resources/assets/hbm/lang/en_US.lang | 5 + .../assets/hbm/textures/items/ingot_mud.png | Bin 0 -> 537 bytes 29 files changed, 396 insertions(+), 50 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/items/ingot_mud.png diff --git a/gradle.properties b/gradle.properties index cf2273c3a..9383abbe4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4562 +mod_build_number=4578 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting),\ diff --git a/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java b/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java index f9ff43fb0..60ef35c47 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java +++ b/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java @@ -177,12 +177,7 @@ public class BlockTallPlant extends BlockEnumMulti implements IPlantable, IGrowa public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) { if(meta > 7) { - - if(world.getBlock(x, y - 1, z) == this) { - if(!player.capabilities.isCreativeMode) { - this.dropBlockAsItem(world, x, y - 1, z, world.getBlockMetadata(x, y - 1, z), 0); - } - } + // dead } else if(world.getBlock(x, y + 1, z) == this) { if(player.capabilities.isCreativeMode) { diff --git a/src/main/java/com/hbm/blocks/machine/MachineCrucible.java b/src/main/java/com/hbm/blocks/machine/MachineCrucible.java index cde554cd5..b2ccf824c 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCrucible.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCrucible.java @@ -11,6 +11,7 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityCrucible; +import api.hbm.block.ICrucibleAcceptor; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -24,8 +25,9 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.client.event.DrawBlockHighlightEvent; +import net.minecraftforge.common.util.ForgeDirection; -public class MachineCrucible extends BlockDummyable { +public class MachineCrucible extends BlockDummyable implements ICrucibleAcceptor { public MachineCrucible() { super(Material.rock); @@ -151,4 +153,31 @@ public class MachineCrucible extends BlockDummyable { for(AxisAlignedBB aabb : this.bounding) event.context.drawOutlinedBoundingBox(aabb.expand(exp, exp, exp).getOffsetBoundingBox(x - dX + 0.5, y - dY, z - dZ + 0.5), -1); ICustomBlockHighlight.cleanup(); } + + @Override + public boolean canAcceptPartialPour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, MaterialStack stack) { + + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return false; + TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]); + if(!(tile instanceof TileEntityCrucible)) return false; + TileEntityCrucible crucible = (TileEntityCrucible) tile; + + return crucible.canAcceptPartialPour(world, x, y, z, dX, dY, dZ, side, stack); + } + + @Override + public MaterialStack pour(World world, int x, int y, int z, double dX, double dY, double dZ, ForgeDirection side, MaterialStack stack) { + + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return stack; + TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]); + if(!(tile instanceof TileEntityCrucible)) return stack; + TileEntityCrucible crucible = (TileEntityCrucible) tile; + + return crucible.pour(world, x, y, z, dX, dY, dZ, side, stack); + } + + @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; } } diff --git a/src/main/java/com/hbm/crafting/RodRecipes.java b/src/main/java/com/hbm/crafting/RodRecipes.java index 1928d5b38..77e6a2aa5 100644 --- a/src/main/java/com/hbm/crafting/RodRecipes.java +++ b/src/main/java/com/hbm/crafting/RodRecipes.java @@ -3,12 +3,14 @@ package com.hbm.crafting; import static com.hbm.inventory.OreDictManager.*; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBreedingRod.*; +import com.hbm.items.machine.ItemWatzPellet.EnumWatzType; import com.hbm.items.machine.ItemZirnoxRod.EnumZirnoxType; import com.hbm.main.CraftingManager; import cpw.mods.fml.common.registry.GameRegistry; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.ShapedOreRecipe; /** @@ -123,6 +125,20 @@ public class RodRecipes { addRBMKRod(ModItems.billet_zfb_pu241, ModItems.rbmk_fuel_zfb_pu241); addRBMKRod(ModItems.billet_zfb_am_mix, ModItems.rbmk_fuel_zfb_am_mix); CraftingManager.addShapelessAuto(new ItemStack(ModItems.rbmk_fuel_drx, 1), new Object[] { ModItems.rbmk_fuel_balefire, ModItems.particle_digamma }); + + addPellet(SA326, EnumWatzType.SCHRABIDIUM); + addPellet(ModItems.ingot_hes, EnumWatzType.HES); + addPellet(ModItems.ingot_schrabidium_fuel, EnumWatzType.MES); + addPellet(ModItems.ingot_les, EnumWatzType.LES); + addPellet(NP237, EnumWatzType.HEN); + addPellet(ModItems.ingot_uranium_fuel, EnumWatzType.MEU); + addPellet(ModItems.ingot_pu_mix, EnumWatzType.MEP); + addPellet(PB, EnumWatzType.LEAD); + addPellet(B, EnumWatzType.BORON); + addPellet(U238, EnumWatzType.DU); + /* GT6 */ + if(OreDictionary.doesOreNameExist("ingotNaquadah-Enriched")) addPellet(new DictFrame("Naquadah-Enriched"), EnumWatzType.NQD); + if(OreDictionary.doesOreNameExist("ingotNaquadria")) addPellet(new DictFrame("Naquadria"), EnumWatzType.NQR); } //Fill rods with one billet. For fuels only, therefore no unloading or ore dict @@ -223,4 +239,12 @@ public class RodRecipes { public static void addZIRNOXRod(DictFrame mat, EnumZirnoxType num) { CraftingManager.addShapelessAuto(new ItemStack(ModItems.rod_zirnox, 1, num.ordinal()), new Object[] { ModItems.rod_zirnox_empty, mat.billet(), mat.billet() }); } + + /** Watz pellet crafting **/ + public static void addPellet(DictFrame mat, EnumWatzType num) { + CraftingManager.addRecipeAuto(new ItemStack(ModItems.watz_pellet, 1, num.ordinal()), new Object[] { " I ", "IGI", " I ", 'I', mat.ingot(), 'G', GRAPHITE.ingot() }); + } + public static void addPellet(Item item, EnumWatzType num) { + CraftingManager.addRecipeAuto(new ItemStack(ModItems.watz_pellet, 1, num.ordinal()), new Object[] { " I ", "IGI", " I ", 'I', item, 'G', GRAPHITE.ingot() }); + } } diff --git a/src/main/java/com/hbm/crafting/ToolRecipes.java b/src/main/java/com/hbm/crafting/ToolRecipes.java index 2d6d82b78..91ddd5338 100644 --- a/src/main/java/com/hbm/crafting/ToolRecipes.java +++ b/src/main/java/com/hbm/crafting/ToolRecipes.java @@ -5,6 +5,8 @@ import com.hbm.config.GeneralConfig; import com.hbm.inventory.fluid.Fluids; import static com.hbm.inventory.OreDictManager.*; + +import com.hbm.items.ItemGenericPart.EnumPartType; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBattery; import com.hbm.items.tool.ItemBlowtorch; @@ -137,6 +139,7 @@ public class ToolRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.chemistry_set_boron), new Object[] { "GIG", "GCG", 'G', ModBlocks.glass_boron, 'I', STEEL.ingot(), 'C', CO.ingot() }); 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', ModItems.hull_small_steel }); //Bobmazon CraftingManager.addShapelessAuto(new ItemStack(ModItems.bobmazon_materials), new Object[] { Items.book, Items.gold_nugget, Items.string }); diff --git a/src/main/java/com/hbm/entity/effect/EntityMist.java b/src/main/java/com/hbm/entity/effect/EntityMist.java index 06de19176..4150a436b 100644 --- a/src/main/java/com/hbm/entity/effect/EntityMist.java +++ b/src/main/java/com/hbm/entity/effect/EntityMist.java @@ -29,6 +29,7 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.world.World; @@ -66,8 +67,9 @@ public class EntityMist extends Entity { public void onEntityUpdate() { float height = this.dataWatcher.getWatchableObjectFloat(12); - this.yOffset = -height / 2F; + this.yOffset = 0; this.setSize(this.dataWatcher.getWatchableObjectFloat(11), height); + this.setPosition(this.posX, this.posY, this.posZ); if(!worldObj.isRemote) { @@ -90,11 +92,20 @@ public class EntityMist extends Entity { return; } - List affected = worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox); + AxisAlignedBB aabb = this.boundingBox.copy(); + List affected = worldObj.getEntitiesWithinAABBExcludingEntity(this, aabb.offset(-this.width / 2, 0, -this.width / 2)); for(Entity e : affected) { this.affect(e, intensity); } + } else { + + for(int i = 0; i < 2; i++) { + double x = this.boundingBox.minX + rand.nextDouble() * (this.boundingBox.maxX - this.boundingBox.minX); + double y = this.boundingBox.minY + rand.nextDouble() * (this.boundingBox.maxY - this.boundingBox.minY); + double z = this.boundingBox.minZ + rand.nextDouble() * (this.boundingBox.maxZ - this.boundingBox.minZ); + worldObj.spawnParticle("cloud", x, y, z, 0, 0, 0); + } } } diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java b/src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java index 53cfbe7f7..dc6015870 100644 --- a/src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperPhosgene.java @@ -32,6 +32,7 @@ public class EntityCreeperPhosgene extends EntityCreeper { if(!this.worldObj.isRemote) { this.setDead(); + worldObj.createExplosion(this, posX, posY + this.height / 2, posZ, 2F, false); EntityMist mist = new EntityMist(worldObj); mist.setType(Fluids.PHOSGENE); mist.setPosition(posX, posY, posZ); diff --git a/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java b/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java index 0d07ee058..3b1c7dea5 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java +++ b/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java @@ -80,10 +80,15 @@ public class EntityShrapnel extends EntityThrowable { } } + } else if(this.dataWatcher.getWatchableObjectByte(16) == 3) { + + if(worldObj.getBlock(mop.blockX, mop.blockY + 1, mop.blockZ).isReplaceable(worldObj, mop.blockX, mop.blockY + 1, mop.blockZ)) { + worldObj.setBlock(mop.blockX, mop.blockY + 1, mop.blockZ, ModBlocks.mud_block); + } + } else { - for(int i = 0; i < 5; i++) - worldObj.spawnParticle("lava", posX, posY, posZ, 0.0, 0.0, 0.0); + for(int i = 0; i < 5; i++) worldObj.spawnParticle("lava", posX, posY, posZ, 0.0, 0.0, 0.0); } worldObj.playSoundEffect(posX, posY, posZ, "random.fizz", 1.0F, 1.0F); @@ -97,4 +102,8 @@ public class EntityShrapnel extends EntityThrowable { public void setVolcano(boolean b) { this.dataWatcher.updateObject(16, (byte) (b ? 2 : 0)); } + + public void setWatz(boolean b) { + this.dataWatcher.updateObject(16, (byte) (b ? 3 : 0)); + } } diff --git a/src/main/java/com/hbm/handler/guncfg/Gun762mmFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun762mmFactory.java index 744314be0..d5da7444f 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun762mmFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun762mmFactory.java @@ -162,8 +162,8 @@ public class Gun762mmFactory { final BulletConfiguration bullet = Gun556mmFactory.get556Config().clone(); bullet.ammo = new ComparableStack(ModItems.ammo_762.stackFromEnum(Ammo762NATO.STOCK)); - bullet.dmgMax *= 2; - bullet.dmgMin *= 2; + bullet.dmgMax = 20; + bullet.dmgMin = 24; bullet.velocity *= 2.5; bullet.maxAge *= 2; bullet.spread /= 2; @@ -177,8 +177,8 @@ public class Gun762mmFactory { final BulletConfiguration bullet = get762NATOConfig(); bullet.ammo = new ComparableStack(ModItems.ammo_762.stackFromEnum(Ammo762NATO.AP)); - bullet.dmgMax *= 1.5; - bullet.dmgMin *= 1.5; + bullet.dmgMax = 24; + bullet.dmgMin = 28; bullet.spentCasing = CASING762NATO.clone().register("762NATOAP"); @@ -189,8 +189,8 @@ public class Gun762mmFactory { final BulletConfiguration bullet = get762NATOConfig(); bullet.ammo = new ComparableStack(ModItems.ammo_762.stackFromEnum(Ammo762NATO.DU)); - bullet.dmgMax *= 2; - bullet.dmgMin *= 2; + bullet.dmgMax = 36; + bullet.dmgMin = 40; bullet.spentCasing = CASING762NATO.clone().register("762NATODU"); diff --git a/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java b/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java index 8d5772be4..3f4fcbe67 100644 --- a/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java +++ b/src/main/java/com/hbm/handler/nei/NEIUniversalHandler.java @@ -223,8 +223,8 @@ public abstract class NEIUniversalHandler extends TemplateRecipeHandler { case 4: return new int[][] { {102, 24 - 9}, {120, 24 - 9}, - {138 + 36, 24 + 9}, - {156 + 36, 24 + 9} + {102, 24 + 9}, + {120, 24 + 9} }; } diff --git a/src/main/java/com/hbm/hazard/HazardRegistry.java b/src/main/java/com/hbm/hazard/HazardRegistry.java index b404040a2..b670bfde7 100644 --- a/src/main/java/com/hbm/hazard/HazardRegistry.java +++ b/src/main/java/com/hbm/hazard/HazardRegistry.java @@ -9,10 +9,12 @@ import com.hbm.config.GeneralConfig; import com.hbm.hazard.modifier.*; import com.hbm.hazard.transformer.*; import com.hbm.hazard.type.*; +import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.material.MaterialShapes; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBreedingRod.BreedingRodType; import com.hbm.items.machine.ItemRTGPelletDepleted.DepletedRTGMaterial; +import com.hbm.items.machine.ItemWatzPellet.EnumWatzType; import com.hbm.items.machine.ItemZirnoxRod.EnumZirnoxType; import com.hbm.items.special.ItemHolotapeImage.EnumHoloImage; import com.hbm.util.Compat; @@ -104,6 +106,7 @@ public class HazardRegistry { public static final float saf = 5.85F; public static final float sas3 = 5F; public static final float gh336 = 5.0F; + public static final float mud = 1.0F; public static final float radsource_mult = 3.0F; public static final float pobe = po210 * radsource_mult; public static final float rabe = ra226 * radsource_mult; @@ -429,6 +432,17 @@ public class HazardRegistry { registerRBMKPellet(rbmk_pellet_zfb_am_mix, pu241 * billet * 0.1F, wst * billet * 10F); registerRBMKPellet(rbmk_pellet_drx, bf * billet, bf * billet * 100F, true, 0F, 1F/24F); + HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.SCHRABIDIUM), makeData(RADIATION, sa326 * ingot * 4)); + HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.HES), makeData(RADIATION, saf * ingot * 4)); + HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.MES), makeData(RADIATION, saf * ingot * 4)); + HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.LES), makeData(RADIATION, saf * ingot * 4)); + HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.HEN), makeData(RADIATION, np237 * ingot * 4)); + HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.MEU), makeData(RADIATION, uf * ingot * 4)); + HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.MEP), makeData(RADIATION, purg * ingot * 4)); + HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.DU), makeData(RADIATION, u238 * ingot * 4)); + HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.NQD), makeData(RADIATION, u235 * ingot * 4)); + HazardSystem.register(DictFrame.fromOne(ModItems.watz_pellet, EnumWatzType.NQR), makeData(RADIATION, pu239 * ingot * 4)); + HazardSystem.register(powder_yellowcake, makeData(RADIATION, yc * powder)); HazardSystem.register(block_yellowcake, makeData(RADIATION, yc * block * powder_mult)); HazardSystem.register(ModItems.fallout, makeData(RADIATION, fo * powder)); diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index ca1ef53d8..8bd6b507a 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -32,6 +32,7 @@ import com.hbm.util.Compat; import cpw.mods.fml.common.eventhandler.SubscribeEvent; 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; @@ -138,6 +139,7 @@ public class OreDictManager { public static final DictFrame SBD = new DictFrame("Schrabidate"); public static final DictFrame SRN = new DictFrame("Schraranium"); public static final DictFrame GH336 = new DictFrame("Ghiorsium336", "Gh336"); + public static final DictFrame MUD = new DictFrame("WatzMud"); /* * STABLE */ @@ -297,7 +299,7 @@ public class OreDictManager { IRON.plate(plate_iron).dust(powder_iron).ore(ore_gneiss_iron); GOLD.plate(plate_gold).dust(powder_gold).ore(ore_gneiss_gold); LAPIS.dust(powder_lapis); - NETHERQUARTZ.gem(Items.quartz).dust(powder_quartz); + NETHERQUARTZ.gem(Items.quartz).dust(powder_quartz).ore(Blocks.quartz_ore); DIAMOND.dust(powder_diamond).ore(gravel_diamond); EMERALD.dust(powder_emerald); @@ -331,6 +333,7 @@ public class OreDictManager { SBD .rad(HazardRegistry.sb) .blinding(50F) .ingot(ingot_schrabidate) .dust(powder_schrabidate) .block(block_schrabidate); 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 diff --git a/src/main/java/com/hbm/inventory/material/Mats.java b/src/main/java/com/hbm/inventory/material/Mats.java index f6b839d9e..ffb7d3516 100644 --- a/src/main/java/com/hbm/inventory/material/Mats.java +++ b/src/main/java/com/hbm/inventory/material/Mats.java @@ -123,6 +123,7 @@ public class Mats { public static final NTMMaterial MAT_CMB = makeSmeltable(_AS + 9, CMB, 0x6F6FB4, 0x000011, 0x6F6FB4).setShapes(INGOT, DUST, PLATE, CASTPLATE, BLOCK); public static final NTMMaterial MAT_FLUX = makeAdditive(_AS + 10, df("Flux"), 0xF1E0BB, 0x6F6256, 0xDECCAD).setShapes(DUST); public static final NTMMaterial MAT_SLAG = makeSmeltable(_AS + 11, SLAG, 0x554940, 0x34281F, 0x6C6562).setShapes(BLOCK); + public static final NTMMaterial MAT_MUD = makeSmeltable(_AS + 14, MUD, 0xBCB5A9, 0x481213, 0x96783B).setShapes(INGOT); @Deprecated public static NTMMaterial makeSmeltable(int id, DictFrame dict, int color) { return makeSmeltable(id, dict, color, color, color); } @Deprecated public static NTMMaterial makeAdditive(int id, DictFrame dict, int color) { return makeAdditive(id, dict, color, color, color); } diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index c067c89db..383e87b4b 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -298,15 +298,13 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.machine_turbinegas, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 4), new ComparableStack(ModItems.hull_small_steel, 6), new ComparableStack(ModItems.generator_steel, 2), new ComparableStack(ModItems.bolt_compound, 4), new ComparableStack(ModBlocks.steel_scaffold, 8), new ComparableStack(ModBlocks.deco_pipe_quad, 4), new ComparableStack(ModItems.turbine_tungsten, 3), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.ingot_rubber, 4), new ComparableStack(ModItems.circuit_red_copper, 3)}, 600); makeRecipe(new ComparableStack(ModBlocks.machine_teleporter, 1), new AStack[] {new OreDictStack(TI.ingot(), 8), new OreDictStack(ALLOY.plate528(), 12), new ComparableStack(ModItems.wire_gold, 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), new OreDictStack(TI.ingot(), 24), new OreDictStack(ALLOY.plate(), 18), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModItems.plate_desh, 6), new OreDictStack(RUBBER.ingot(), 8), new ComparableStack(ModBlocks.machine_battery, 5), new ComparableStack(ModItems.circuit_gold, 5), },500); - makeRecipe(new ComparableStack(ModBlocks.machine_combine_factory, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(ANY_PLASTIC.ingot(), 6), new OreDictStack(TI.plate(), 4), new OreDictStack(CU.plate(), 6), new ComparableStack(ModItems.circuit_gold, 6), new ComparableStack(ModItems.coil_advanced_alloy, 8), new ComparableStack(ModItems.coil_tungsten, 4), new OreDictStack(MAGTUNG.ingot(), 12), },150); makeRecipe(new ComparableStack(ModBlocks.fusion_conductor, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new ComparableStack(ModItems.coil_advanced_alloy, 5), },150); makeRecipe(new ComparableStack(ModBlocks.fusion_center, 1), new AStack[] {new OreDictStack(ANY_HARDPLASTIC.ingot(), 4), new OreDictStack(STEEL.plate528(), 6), new ComparableStack(ModItems.wire_advanced_alloy, 24), },200); makeRecipe(new ComparableStack(ModBlocks.fusion_motor, 1), new AStack[] {new OreDictStack(TI.ingot(), 4), new OreDictStack(STEEL.ingot(), 2), new ComparableStack(ModItems.motor, 4), },250); makeRecipe(new ComparableStack(ModBlocks.fusion_heater, 1), new AStack[] {new OreDictStack(W.ingot(), 4), new OreDictStack(STEEL.plate528(), 2), new OreDictStack(OreDictManager.getReflector(), 2), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.magnetron, 1), new ComparableStack(ModItems.wire_advanced_alloy, 4), },150); - makeRecipe(new ComparableStack(ModBlocks.watz_element, 1), new AStack[] {new OreDictStack(W.ingot(), 4), new OreDictStack(ALLOY.plate(), 4), new ComparableStack(ModItems.rod_empty, 2), new ComparableStack(ModItems.wire_magnetized_tungsten, 2), new ComparableStack(ModItems.wire_advanced_alloy, 4), },200); - makeRecipe(new ComparableStack(ModBlocks.watz_cooler, 1), new AStack[] {new OreDictStack(W.ingot(), 2), new OreDictStack(STEEL.ingot(), 2), new OreDictStack(KNO.dust(), 4), },300); + 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.plateTriple()), new OreDictStack(B.ingot(), 3), new OreDictStack(STEEL.plate(), 9), }, 100); - makeRecipe(new ComparableStack(ModBlocks.watz_core, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.circuit_gold, 5), new ComparableStack(ModItems.circuit_schrabidium, 2), new ComparableStack(ModItems.wire_magnetized_tungsten, 12), },350); makeRecipe(new ComparableStack(ModBlocks.fwatz_hatch, 1), new AStack[] {new OreDictStack(W.ingot(), 6), new OreDictStack(CMB.plate(), 4), },250); makeRecipe(new ComparableStack(ModBlocks.fwatz_conductor, 1), new AStack[] {new OreDictStack(CMB.plate(), 2), new ComparableStack(ModItems.coil_magnetized_tungsten, 5), },250); makeRecipe(new ComparableStack(ModBlocks.fwatz_computer, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 16), new OreDictStack(DIAMOND.dust(), 6), new OreDictStack(MAGTUNG.dust(), 6), new OreDictStack(DESH.dust(), 4), },300); diff --git a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java index 3569d3c52..992ed2e3e 100644 --- a/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CentrifugeRecipes.java @@ -20,6 +20,7 @@ import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.RecipesCommon.OreDictStack; import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.items.ModItems; +import com.hbm.items.machine.ItemWatzPellet.EnumWatzType; import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre; import com.hbm.items.special.ItemByproduct.EnumByproduct; import com.hbm.main.MainRegistry; @@ -134,6 +135,73 @@ public class CentrifugeRecipes extends SerializableRecipe { new ItemStack(ModItems.nugget_pu238, 1), new ItemStack(ModItems.nugget_technetium, 1), new ItemStack(ModItems.nuclear_waste_tiny, 6) }); + + recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.SCHRABIDIUM)), new ItemStack[] { + new ItemStack(ModItems.ingot_mud, 1), + new ItemStack(ModItems.nugget_solinium, 15), + new ItemStack(ModItems.nugget_euphemium, 3), + new ItemStack(ModItems.nuclear_waste, 2) }); + recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.HES)), new ItemStack[] { + new ItemStack(ModItems.ingot_mud, 1), + new ItemStack(ModItems.nugget_solinium, 17), + new ItemStack(ModItems.nugget_euphemium, 1), + new ItemStack(ModItems.nuclear_waste, 2) }); + recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.MES)), new ItemStack[] { + new ItemStack(ModItems.ingot_mud, 1), + new ItemStack(ModItems.nugget_solinium, 12), + new ItemStack(ModItems.nugget_tantalium, 6), + new ItemStack(ModItems.nuclear_waste, 2) }); + recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.LES)), new ItemStack[] { + new ItemStack(ModItems.ingot_mud, 1), + new ItemStack(ModItems.nugget_solinium, 9), + new ItemStack(ModItems.nugget_tantalium, 9), + new ItemStack(ModItems.nuclear_waste, 2) }); + recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.HEN)), new ItemStack[] { + new ItemStack(ModItems.ingot_mud, 1), + new ItemStack(ModItems.nugget_pu239, 12), + new ItemStack(ModItems.nugget_technetium, 6), + new ItemStack(ModItems.nuclear_waste, 2) }); + recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.MEU)), new ItemStack[] { + new ItemStack(ModItems.ingot_mud, 1), + new ItemStack(ModItems.nugget_pu239, 12), + new ItemStack(ModItems.nugget_bismuth, 6), + new ItemStack(ModItems.nuclear_waste, 2) }); + recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.MEP)), new ItemStack[] { + new ItemStack(ModItems.ingot_mud, 1), + new ItemStack(ModItems.nugget_pu241, 12), + new ItemStack(ModItems.nugget_bismuth, 6), + new ItemStack(ModItems.nuclear_waste, 2) }); + recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.LEAD)), new ItemStack[] { + new ItemStack(ModItems.ingot_mud, 1), + new ItemStack(ModItems.nugget_lead, 6), + new ItemStack(ModItems.nugget_bismuth, 12), + new ItemStack(ModItems.nuclear_waste, 2) }); + recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.BORON)), new ItemStack[] { + new ItemStack(ModItems.ingot_mud, 1), + new ItemStack(ModItems.powder_coal_tiny, 12), + new ItemStack(ModItems.nugget_co60, 6), + new ItemStack(ModItems.nuclear_waste, 2) }); + recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.DU)), new ItemStack[] { + new ItemStack(ModItems.ingot_mud, 1), + new ItemStack(ModItems.nugget_polonium, 12), + new ItemStack(ModItems.nugget_pu238, 6), + new ItemStack(ModItems.nuclear_waste, 2) }); + + if(OreDictionary.doesOreNameExist("nuggetNaquadria")) { + ItemStack nuggetNQR = OreDictionary.getOres("nuggetNaquadria").get(0); + ItemStack copy = nuggetNQR.copy(); + copy.stackSize = 12; + recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.NQD)), new ItemStack[] { + new ItemStack(ModItems.ingot_mud, 1), + copy, + new ItemStack(ModItems.nugget_euphemium, 6), + new ItemStack(ModItems.nuclear_waste, 2) }); + recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.watz_pellet_depleted, EnumWatzType.NQR)), new ItemStack[] { + new ItemStack(ModItems.ingot_mud, 1), + new ItemStack(ModItems.nugget_co60, 12), + new ItemStack(ModItems.nugget_euphemium, 6), + new ItemStack(ModItems.nuclear_waste, 2) }); + } recipes.put(new ComparableStack(ModItems.powder_cloud), new ItemStack[] { new ItemStack(ModItems.powder_copper, 1), diff --git a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java index 42f2dc872..9fa52a29e 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java @@ -96,6 +96,10 @@ public class CrucibleRecipes extends SerializableRecipe { .inputs(new MaterialStack(Mats.MAT_STEEL, n * 8), new MaterialStack(Mats.MAT_CADMIUM, n)) .outputs(new MaterialStack(Mats.MAT_CDALLOY, i))); + recipes.add(new CrucibleRecipe(13, "crucible.cmb", 3, new ItemStack(ModItems.ingot_combine_steel)) + .inputs(new MaterialStack(Mats.MAT_MAGTUNG, n * 6), new MaterialStack(Mats.MAT_MUD, n * 3)) + .outputs(new MaterialStack(Mats.MAT_CMB, i))); + registerMoldsForNEI(); } diff --git a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java index 05385ff54..91940bef6 100644 --- a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java @@ -66,6 +66,7 @@ public class SolidificationRecipes extends SerializableRecipe { registerRecipe(BIOGAS, 250, ModItems.biomass_compressed); 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(OIL, SF_OIL, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE)); registerRecipe(CRACKOIL, SF_CRACK, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK)); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index d63f62630..fbfec83a4 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -359,6 +359,7 @@ public class ModItems { public static Item ingot_cadmium; public static Item powder_cadmium; public static Item powder_bismuth; + public static Item ingot_mud; public static Item ingot_lanthanium; public static Item ingot_actinium; @@ -2651,6 +2652,7 @@ public class ModItems { 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"); ore_byproduct = new ItemByproduct().setUnlocalizedName("ore_byproduct").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":byproduct"); @@ -5540,6 +5542,7 @@ public class ModItems { //GameRegistry.registerItem(ingot_pet, ingot_pet.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_schraranium, ingot_schraranium.getUnlocalizedName()); GameRegistry.registerItem(ingot_schrabidium, ingot_schrabidium.getUnlocalizedName()); GameRegistry.registerItem(ingot_schrabidate, ingot_schrabidate.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java index 4a0f35dc1..c8e31a111 100644 --- a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java +++ b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java @@ -36,18 +36,18 @@ public class ItemWatzPellet extends ItemEnumMulti { public static enum EnumWatzType { - SCHRABIDIUM( 0x32FFFF, 0x005C5C, 2_000, 20D, 0.02D, new FunctionLinear(1.5D), new FunctionSqrt(1D/20D).withOff(20D * 20D), null), - HES( 0x66DCD6, 0x023933, 1_750, 20D, 0.01D, new FunctionLinear(1.25D), new FunctionSqrt(1/15D).withOff(15D*15D), null), - MES( 0xCBEADF, 0x28473C, 1_500, 15D, 0.005D, new FunctionLinear(1.15D), new FunctionSqrt(1/15D).withOff(15D*15D), null), - LES( 0xABB4A8, 0x0C1105, 1_250, 15D, 0.0025D, new FunctionLinear(1D), new FunctionSqrt(1/10D).withOff(10D*10D), null), - HEN( 0xA6B2A6, 0x030F03, 0, 10D, 0.001D, new FunctionSqrt(100), null, null), - MEU( 0xC1C7BD, 0x2B3227, 0, 10D, 0.001D, new FunctionSqrt(75), null, null), - MEP( 0x9AA3A0, 0x111A17, 0, 15D, 0.001D, new FunctionSqrt(150), new FunctionSqrt(1D/20D).withOff(20D * 20D), null), - LEAD( 0xA6A6B2, 0x03030F, 0, 0, 0.005D, null, null, new FunctionSqrt(10)), //standard absorber, negative coefficient - BORON( 0xBDC8D2, 0x29343E, 0, 0, 0.005D, null, null, new FunctionLinear(10)), //improved absorber, linear - DU( 0xC1C7BD, 0x2B3227, 0, 0, 0.005D, null, null, new FunctionQuadratic(1D, 1D).withDiv(100)), //absorber with positive coefficient - NQD( 0x4B4B4B, 0x121212, 2_000, 20, 0.02D, new FunctionLinear(2D), new FunctionSqrt(1D/25D).withOff(25D * 25D), null), - NQR( 0x2D2D2D, 0x0B0B0B, 2_500, 30, 0.02D, new FunctionLinear(1.5D), new FunctionSqrt(1D/25D).withOff(25D * 25D), null); + SCHRABIDIUM( 0x32FFFF, 0x005C5C, 2_000, 20D, 0.01D, new FunctionLinear(1.5D), new FunctionSqrtFalling(10D), null), + HES( 0x66DCD6, 0x023933, 1_750, 20D, 0.005D, new FunctionLinear(1.25D), new FunctionSqrtFalling(15D), null), + MES( 0xCBEADF, 0x28473C, 1_500, 15D, 0.0025D, new FunctionLinear(1.15D), new FunctionSqrtFalling(15D), null), + LES( 0xABB4A8, 0x0C1105, 1_250, 15D, 0.00125D, new FunctionLinear(1D), new FunctionSqrtFalling(20D), null), + HEN( 0xA6B2A6, 0x030F03, 0, 10D, 0.0005D, new FunctionSqrt(100), new FunctionSqrtFalling(10D), null), + MEU( 0xC1C7BD, 0x2B3227, 0, 10D, 0.0005D, new FunctionSqrt(75), new FunctionSqrtFalling(10D), null), + MEP( 0x9AA3A0, 0x111A17, 0, 15D, 0.0005D, new FunctionSqrt(150), new FunctionSqrtFalling(10D), null), + LEAD( 0xA6A6B2, 0x03030F, 0, 0, 0.0025D, null, null, new FunctionSqrt(10)), //standard absorber, negative coefficient + BORON( 0xBDC8D2, 0x29343E, 0, 0, 0.0025D, null, null, new FunctionLinear(10)), //improved absorber, linear + DU( 0xC1C7BD, 0x2B3227, 0, 0, 0.0025D, null, null, new FunctionQuadratic(1D, 1D).withDiv(100)), //absorber with positive coefficient + NQD( 0x4B4B4B, 0x121212, 2_000, 20, 0.01D, new FunctionLinear(2D), new FunctionSqrt(1D/25D).withOff(25D * 25D), null), + NQR( 0x2D2D2D, 0x0B0B0B, 2_500, 30, 0.01D, new FunctionLinear(1.5D), new FunctionSqrt(1D/25D).withOff(25D * 25D), null); public double yield = 1_000_000_000; public int colorLight; @@ -123,6 +123,9 @@ public class ItemWatzPellet extends ItemEnumMulti { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + + if(this != ModItems.watz_pellet) return; + EnumWatzType num = EnumUtil.grabEnumSafely(EnumWatzType.class, stack.getItemDamage()); list.add(EnumChatFormatting.GREEN + "Depletion: " + String.format(Locale.US, "%.1f", getDurabilityForDisplay(stack) * 100D) + "%"); @@ -145,7 +148,7 @@ public class ItemWatzPellet extends ItemEnumMulti { @Override public boolean showDurabilityBar(ItemStack stack) { - return getDurabilityForDisplay(stack) > 0D; + return this == ModItems.watz_pellet && getDurabilityForDisplay(stack) > 0D; } @Override @@ -184,6 +187,7 @@ public class ItemWatzPellet extends ItemEnumMulti { @Override public void onCreated(ItemStack stack, World world, EntityPlayer player) { + if(this != ModItems.watz_pellet) return; setNBTDefaults(stack); //minimize the window where NBT screwups can happen } } diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBase.java b/src/main/java/com/hbm/items/weapon/ItemGunBase.java index 507b1a603..347570496 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunBase.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunBase.java @@ -690,7 +690,9 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu GunConfiguration gcfg = gun.mainConfig; if(type == ElementType.HOTBAR) { - BulletConfiguration bcfg = BulletConfigSyncingUtil.pullConfig(gun.mainConfig.config.get(ItemGunBase.getMagType(stack))); + 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; diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 3eb20ac61..0a206e0f1 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 (4562)"; + public static final String VERSION = "1.0.27 BETA (4578)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index f0b062205..baadb5428 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -366,7 +366,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.mechanism_launcher_1, 1), new Object[] { "TTT", "SSS", "BBI", 'T', TI.plate(), 'S', STEEL.ingot(), 'B', ModItems.bolt_tungsten, 'I', MINGRADE.ingot() }); addRecipeAuto(new ItemStack(ModItems.mechanism_launcher_2, 1), new Object[] { "TTT", "SSS", "BBI", 'T', ALLOY.plate(), 'S', ANY_PLASTIC.ingot(), 'B', ModItems.bolt_dura_steel, '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', ModItems.circuit_targeting_tier3 }); - + + addRecipeAuto(new ItemStack(ModBlocks.watz_pump, 1), new Object[] { "MPM", "PCP", "PSP", 'M', ModItems.motor_desh, 'P', ANY_RESISTANTALLOY.plateTriple(), 'C', KEY_CIRCUIT_BISMUTH, 'S', ModItems.pipes_steel }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_cooler), 1), new Object[] { "IPI", "IPI", "IPI", 'I', TI.ingot(), 'P', TI.plate() }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_tank), 1), new Object[] { "CGC", "GGG", "CGC", 'C', CMB.plate(), 'G', KEY_ANYPANE }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_scaffold), 1), new Object[] { "IPI", "P P", "IPI", 'I', W.ingot(), 'P', getReflector() }); @@ -765,6 +766,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.barrel_antimatter, 1), new Object[] { "IPI", "IBI", "IPI", 'I', BIGMT.plate(), 'P', ModItems.coil_advanced_torus, 'B', ModItems.battery_sc_technetium }); addRecipeAuto(new ItemStack(ModBlocks.tesla, 1), new Object[] { "CCC", "PIP", "WTW", 'C', ModItems.coil_copper, 'I', IRON.ingot(), 'P', ANY_PLASTIC.ingot(), 'T', ModBlocks.machine_transformer, 'W', KEY_PLANKS }); addRecipeAuto(new ItemStack(ModBlocks.struct_plasma_core, 1), new Object[] { "CBC", "BHB", "CBC", 'C', ModItems.circuit_gold, 'B', ModBlocks.machine_lithium_battery, 'H', ModBlocks.fusion_heater }); + addRecipeAuto(new ItemStack(ModBlocks.struct_watz_core, 1), new Object[] { "CBC", "BHB", "CBC", 'C', ModItems.circuit_schrabidium, 'B', ANY_RESISTANTALLOY.plateTriple(), '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() }); diff --git a/src/main/java/com/hbm/render/entity/projectile/RenderShrapnel.java b/src/main/java/com/hbm/render/entity/projectile/RenderShrapnel.java index 8bc74b359..69c387e22 100644 --- a/src/main/java/com/hbm/render/entity/projectile/RenderShrapnel.java +++ b/src/main/java/com/hbm/render/entity/projectile/RenderShrapnel.java @@ -29,7 +29,7 @@ public class RenderShrapnel extends Render { bindTexture(new ResourceLocation(RefStrings.MODID + ":textures/entity/shrapnel.png")); if(rocket instanceof EntityShrapnel) { - if(rocket.getDataWatcher().getWatchableObjectByte(16) == 2) { //scale up lava blobs + if(rocket.getDataWatcher().getWatchableObjectByte(16) >= 2) { //scale up lava blobs GL11.glScaled(3, 3, 3); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java index 6ee9c5d3b..bc44e2653 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java @@ -23,6 +23,7 @@ import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.CrucibleUtil; +import api.hbm.block.ICrucibleAcceptor; import api.hbm.tile.IHeatSource; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.Side; @@ -41,7 +42,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCrucible extends TileEntityMachineBase implements IGUIProvider, IConfigurableMachine { +public class TileEntityCrucible extends TileEntityMachineBase implements IGUIProvider, ICrucibleAcceptor, IConfigurableMachine { public int heat; public int progress; @@ -529,4 +530,57 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @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; + } + + @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; + } else { + int toAdd = this.wasteZCapacity - amount; + this.addToStack(this.wasteStack, new MaterialStack(stack.material, toAdd)); + 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; + this.addToStack(this.recipeStack, new MaterialStack(stack.material, toAdd)); + return new MaterialStack(stack.material, stack.amount - toAdd); + } + + @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; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java index be72c62f4..4f1124f8e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java @@ -2,8 +2,11 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; import java.util.List; +import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.entity.projectile.EntityShrapnel; +import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.container.ContainerWatz; import com.hbm.inventory.fluid.Fluids; @@ -14,6 +17,9 @@ import com.hbm.inventory.gui.GUIWatz; 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.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.Compat; @@ -22,10 +28,13 @@ import com.hbm.util.fauxpointtwelve.DirPos; import com.hbm.util.function.Function; 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 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; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -126,6 +135,29 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand } segments.get(segments.size() - 1).sendOutBottom(); + + /* explode on mud overflow */ + if(sharedTanks[2].getFill() > 0) { + for(int x = -3; x <= 3; x++) { + for(int y = 3; y < 6; y++) { + for(int z = -3; z <= 3; z++) { + worldObj.setBlock(xCoord + x, yCoord + y, zCoord + z, Blocks.air); + } + } + } + this.disassemble(); + + ChunkRadiationManager.proxy.incrementRad(worldObj, xCoord, yCoord + 1, zCoord, 1_000F); + + worldObj.playSoundEffect(xCoord + 0.5, yCoord + 2, zCoord + 0.5, "hbm:block.rbmk_explosion", 50.0F, 1.0F); + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "rbmkmush"); + data.setFloat("scale", 5); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, xCoord + 0.5, yCoord + 2, zCoord + 0.5), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 250)); + MainRegistry.proxy.effectNT(data); + + return; + } } } @@ -137,7 +169,7 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand public void updateCoolant(FluidTank[] tanks) { - double coolingFactor = 0.05D; //20% per tick, TEMP + double coolingFactor = 0.1D; //10% per tick, TEMP double heatToUse = this.heat * coolingFactor; FT_Heatable trait = tanks[0].getTankType().getTrait(FT_Heatable.class); @@ -215,17 +247,21 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand } + for(int i = 0; i < 24; i++) { + ItemStack stack = slots[i]; + + /* deplete */ + if(stack != null && stack.getItem() == ModItems.watz_pellet && ItemWatzPellet.getEnrichment(stack) <= 0) { + slots[i] = new ItemStack(ModItems.watz_pellet_depleted, 1, stack.getItemDamage()); + continue; // depleted pellets may persist for one tick + } + } + if(above != null) { for(int i = 0; i < 24; i++) { ItemStack stackBottom = slots[i]; ItemStack stackTop = above.slots[i]; - /* deplete */ - if(stackBottom != null && stackBottom.getItem() == ModItems.watz_pellet && ItemWatzPellet.getYield(stackBottom) <= 0) { - slots[i] = new ItemStack(ModItems.watz_pellet_depleted, 1, stackBottom.getItemDamage()); - continue; // depleted pellets may persist for one tick - } - /* items fall down if the bottom slot is empty */ if(stackBottom == null && stackTop != null) { slots[i] = stackTop.copy(); @@ -407,6 +443,73 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand return bb; } + private void disassemble() { + + int count = 20; + Random rand = worldObj.rand; + for(int i = 0; i < count * 5; i++) { + EntityShrapnel shrapnel = new EntityShrapnel(worldObj); + shrapnel.posX = xCoord + 0.5; + shrapnel.posY = yCoord + 3; + shrapnel.posZ = zCoord + 0.5; + shrapnel.motionY = ((rand.nextFloat() * 0.5) + 0.5) * (1 + (count / (15 + rand.nextInt(21)))) + (rand.nextFloat() / 50 * count); + shrapnel.motionX = rand.nextGaussian() * 1 * (1 + (count / 100)); + shrapnel.motionZ = rand.nextGaussian() * 1 * (1 + (count / 100)); + shrapnel.setWatz(true); + worldObj.spawnEntityInWorld(shrapnel); + } + + worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.mud_block); + worldObj.setBlock(xCoord, yCoord + 1, zCoord, ModBlocks.mud_block); + worldObj.setBlock(xCoord, yCoord + 2, zCoord, ModBlocks.mud_block); + + setBrokenColumn(0, ModBlocks.watz_element, 0, 1, 0); + setBrokenColumn(0, ModBlocks.watz_element, 0, 2, 0); + setBrokenColumn(0, ModBlocks.watz_element, 0, 0, 1); + setBrokenColumn(0, ModBlocks.watz_element, 0, 0, 2); + setBrokenColumn(0, ModBlocks.watz_element, 0, -1, 0); + setBrokenColumn(0, ModBlocks.watz_element, 0, -2, 0); + setBrokenColumn(0, ModBlocks.watz_element, 0, 0, -1); + setBrokenColumn(0, ModBlocks.watz_element, 0, 0, -2); + setBrokenColumn(0, ModBlocks.watz_element, 0, 1, 1); + setBrokenColumn(0, ModBlocks.watz_element, 0, 1, -1); + setBrokenColumn(0, ModBlocks.watz_element, 0, -1, 1); + setBrokenColumn(0, ModBlocks.watz_element, 0, -1, -1); + setBrokenColumn(0, ModBlocks.watz_cooler, 0, 2, 1); + setBrokenColumn(0, ModBlocks.watz_cooler, 0, 2, -1); + setBrokenColumn(0, ModBlocks.watz_cooler, 0, 1, 2); + setBrokenColumn(0, ModBlocks.watz_cooler, 0, -1, 2); + setBrokenColumn(0, ModBlocks.watz_cooler, 0, -2, 1); + setBrokenColumn(0, ModBlocks.watz_cooler, 0, -2, -1); + setBrokenColumn(0, ModBlocks.watz_cooler, 0, 1, -2); + setBrokenColumn(0, ModBlocks.watz_cooler, 0, -1, -2); + + for(int j = -1; j < 2; j++) { + setBrokenColumn(1, ModBlocks.watz_end, 1, 3, j); + setBrokenColumn(1, ModBlocks.watz_end, 1, j, 3); + setBrokenColumn(1, ModBlocks.watz_end, 1, -3, j); + setBrokenColumn(1, ModBlocks.watz_end, 1, j, -3); + } + setBrokenColumn(1, ModBlocks.watz_end, 1, 2, 2); + setBrokenColumn(1, ModBlocks.watz_end, 1, 2, -2); + setBrokenColumn(1, ModBlocks.watz_end, 1, -2, 2); + setBrokenColumn(1, ModBlocks.watz_end, 1, -2, -2); + } + + private void setBrokenColumn(int minHeight, Block b, int meta, int x, int z) { + + int height = minHeight + worldObj.rand.nextInt(3 - minHeight); + + for(int i = 0; i < 3; i++) { + + if(i <= height) { + worldObj.setBlock(xCoord + x, yCoord + i, zCoord + z, b, meta, 3); + } else { + worldObj.setBlock(xCoord + x, yCoord + i, zCoord + z, ModBlocks.mud_block); + } + } + } + @Override @SideOnly(Side.CLIENT) public double getMaxRenderDistanceSquared() { diff --git a/src/main/java/com/hbm/util/function/Function.java b/src/main/java/com/hbm/util/function/Function.java index 6f50ee651..544328e5c 100644 --- a/src/main/java/com/hbm/util/function/Function.java +++ b/src/main/java/com/hbm/util/function/Function.java @@ -64,6 +64,13 @@ public abstract class Function { @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; } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index bb2d077b3..eb0dbc7e7 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -416,6 +416,7 @@ container.zirnox=ZIRNOX Atomreaktor crucible.aa=Herstellung - Fortgeschrittene Legierung crucible.cdalloy=Herstellung Cadmiumstahl +crucible.cmb=Herstellung CMB-Stahl crucible.ferro=Herstellung - Ferrouran crucible.hematite=Herstellung - Eisen aus Hämatit crucible.hss=Herstellung - Schnellarbeitsstahl @@ -781,6 +782,7 @@ hbmmat.uranium=Uran hbmmat.uranium233=Uran-233 hbmmat.uranium235=Uran-235 hbmmat.uranium238=Uran-238 +hbmmat.watzmud=Giftiger Schlamm hbmmat.whitephosphorus=Weißer Phosphor hbmmat.workersalloy=Desh hbmmat.wroughtiron=Schmiedeeisen @@ -2014,6 +2016,7 @@ item.ingot_magnetized_tungsten.name=Magnetisierter Wolframbarren item.ingot_meteorite.name=Meteoritenbarren item.ingot_meteorite_forged.name=Geschmiedeter Meteoritenbarren item.ingot_mox_fuel.name=MOX-Kernbrennstoffbarren +item.ingot_mud.name=Fester Schlammziegel item.ingot_neptunium.name=Neptuniumbarren item.ingot_neptunium_fuel.name=Neptuniumkernbrennstoffbarren item.ingot_niobium.name=Niobbarren @@ -4277,6 +4280,7 @@ tile.waste_mycelium.name=Leuchtende Myzel tile.waste_planks.name=Verkohlte Holzbretter tile.waste_trinitite.name=Trinititerz tile.waste_trinitite_red.name=Rotes Trinititerz +tile.watz.name=Watzkraftwerk tile.watz_conductor.name=Watz-Stromanschluss tile.watz_control.name=Verstärkte Steuerstäbe tile.watz_cooler.name=Watz-Superkühler @@ -4285,6 +4289,7 @@ tile.watz_element.name=Watzreaktionskammer 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.yellow_barrel.name=Radioaktives Fass tile.zirnox_destroyed.name=Zerstörter ZINOX diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 1585d0491..97050a4fb 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -709,6 +709,7 @@ container.zirnox=ZIRNOX Nuclear Reactor crucible.aa=Advanced Alloy Production crucible.cdalloy=Cadmium Steel Production +crucible.cmb=CMB Steel Production crucible.ferro=Ferrouranium Production crucible.hematite=Iron Production from Hematite crucible.hss=High-Speed Steel Production @@ -1358,6 +1359,7 @@ hbmmat.uranium=Uranium hbmmat.uranium233=Uranium-233 hbmmat.uranium235=Uranium-235 hbmmat.uranium238=Uranium-238 +hbmmat.watzmud=Poisonous Mud hbmmat.whitephosphorus=White Phosphorus hbmmat.workersalloy=Desh hbmmat.wroughtiron=Wroght Iron @@ -2663,6 +2665,7 @@ item.ingot_magnetized_tungsten.name=Magnetized Tungsten Ingot item.ingot_meteorite.name=Meteorite Ingot item.ingot_meteorite_forged.name=Forged Meteorite Ingot item.ingot_mox_fuel.name=Ingot of MOX Fuel +item.ingot_mud.name=Solid Mud Brick item.ingot_neptunium.name=Neptunium Ingot item.ingot_neptunium.desc=That one's my favourite! item.ingot_neptunium.desc.P11=Woo, scary! @@ -5095,6 +5098,7 @@ tile.waste_mycelium.name=Glowing Mycelium tile.waste_planks.name=Charred Wooden Planks tile.waste_trinitite.name=Trinitite Ore tile.waste_trinitite_red.name=Red Trinitite Ore +tile.watz.name=Watz Powerplant tile.watz_conductor.name=Watz Electricity Port tile.watz_control.name=Reinforced Control Rods tile.watz_cooler.name=Watz Reactor Supercooler @@ -5103,6 +5107,7 @@ tile.watz_element.name=Watz Reaction Chamber 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.yellow_barrel.name=Radioactive Barrel tile.zirnox_destroyed.name=Destroyed ZINROX diff --git a/src/main/resources/assets/hbm/textures/items/ingot_mud.png b/src/main/resources/assets/hbm/textures/items/ingot_mud.png new file mode 100644 index 0000000000000000000000000000000000000000..e18313181b6850347c4d68ca2df77464d73e03fa GIT binary patch literal 537 zcmV+!0_OdRP)A#k{c~AO?!t89P>&>SO)0|CeI8~9_a-Q zI??FFknSjWzdx7Qoq7P4RGd0DNco75lmZ0Q-fj@LVvbJqf!2(j9zbocz~@Y22cB=P z-M&O)v5Isg$gD~2T?SUB`q60$8jw()I7|72V(IxaxQ7ve=bQ1Ny-d$srm=7*mq^P3 z0T>vnOoLW{qOn-z?#%`xeGc=VHnS_}NK>7?&V{Qp)L-5J;NZ!Npc71*u>9&4PwqEq zw<1(*C>CsN&jLUMo^QrVE(PDgExDY(G6%w?{$iG=4?eK95kh283beKv9qoZQd(6l6 zRwnRefdl;(POn2{YJmAiP1@}U9j541`~ZuXM6+Crs6|@YG5N4njLpN>Yx!5NsxaS!{LpD~=x`Swn_pSk)@-VsKSDp}mtkig){}5o b=- Date: Sun, 23 Apr 2023 23:08:15 +0300 Subject: [PATCH 040/285] Updated ru_RU.lang --- src/main/resources/assets/hbm/lang/ru_RU.lang | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index 46a1df9df..eace51f10 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -1261,6 +1261,7 @@ hbmmat.wroughtiron=Кованое железо hbmmat.desh=Деш hbmmat.cdalloy=Кадмиевая сталь hbmmat.cadmium=Кадмий +hbmmat.watzmud=Токсичные отходы crucible.aa=Производство продвинутого сплава crucible.ferro=Производство ферроуранового сплава @@ -1274,6 +1275,7 @@ crucible.steelPig=Переплавка чугуна в сталь crucible.steelWrought=Переплавка кованого железа в сталь crucible.tcalloy=Производство технециевой стали crucible.cdalloy=Производство кадмиевой стали +crucible.cmb=Производство стали Альянса matshape.block=Блок %s matshape.blocks=Блоки %s @@ -1716,6 +1718,7 @@ 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=Доменная печь @@ -2094,6 +2097,8 @@ tile.machine_vacuum_distill.name=Вакуумный нефтеперерабат tile.machine_catalytic_reformer.name=Каталитический реформер container.catalyticReformer=Каталитический реформер tile.fan.name=Вентилятор +tile.watz.name=Реактор Ватцз +tile.watz_pump.name=Нагнетающая помпа Ватцза container.hadron=Ускоритель частиц tile.hadron_access.name=Терминал доступа ускорителя частиц @@ -2227,6 +2232,7 @@ 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=Контроллер реактора Ватцза @@ -2384,6 +2390,7 @@ 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="Я имею в виду, это глагол для громкого крика.$Инопланетяне - это не глаголы. Это существительные!"$"На самом деле, я думаю, что это также название $какого-то сельскохозяйственного оборудования, такого как $молотилка за доллар или что-то в этом роде."$"Это еще хуже. Теперь у нас есть слово,$которое может означать "смешивать вещи вместе",$часть сельскохозяйственного оборудования, и давайте посмотрим...$а да, это также может означать "самая продвинутая $форма жизни в известной вселенной".."$"И?"$"'И?' Да ладно, чувак, они же ИНОПЛАНЕТЯНЕ!" @@ -4048,6 +4055,7 @@ item.gun_darter.name=Дротиковый пистолет item.gun_mymy.name=Ньетес item.gun_ar15.name="Джош" item.gun_glass_cannon.name=Стеклянная пушка +item.boltgun.name=Пневматический заклепочник item.gun_revolver_iron_ammo.name=Пуля item.gun_revolver_ammo.name=Свинцовая пуля @@ -4394,6 +4402,7 @@ 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=Киберкраб From abc056352263952b3ef39c247dfc28a909bb23f5 Mon Sep 17 00:00:00 2001 From: sdddddf80 <2980187979@qq.com> Date: Mon, 24 Apr 2023 11:23:33 +0800 Subject: [PATCH 041/285] Update zh_CN.lang --- src/main/resources/assets/hbm/lang/zh_CN.lang | 4934 +++++++++-------- 1 file changed, 2553 insertions(+), 2381 deletions(-) diff --git a/src/main/resources/assets/hbm/lang/zh_CN.lang b/src/main/resources/assets/hbm/lang/zh_CN.lang index f9c97e3d1..c6e750bbe 100644 --- a/src/main/resources/assets/hbm/lang/zh_CN.lang +++ b/src/main/resources/assets/hbm/lang/zh_CN.lang @@ -1,208 +1,262 @@ -achievement.acidizer.desc=噢,我的皮肤 -achievement.acidizer=酸 -achievement.assembly.desc=Bobmazon 2级 (装配机) -achievement.assembly=制作 -achievement.FOEQ.desc=向火星传送信号!...其实我是说Duna +achievement.acidizer.desc=嗷!我的皮肤! +achievement.acidizer=酸性的 +achievement.assembly.desc=等等,已经凌晨1点了? +achievement.assembly=科技线 第一阶段 +achievement.FOEQ.desc=向火星发射一个探测器…我是说发射到杜纳安轨道 achievement.FOEQ=飞马座运载火箭和发射架 -achievement.breeding.desc=谢谢你们,上帝保佑你们,上帝保佑美利坚合众国。 -achievement.breeding=反话 -achievement.bismuth.desc=还记得有人抱怨了一个月吗?我愿意。 +achievement.breeding.desc=谢谢你们啊,上帝保佑你们,上帝保佑美利坚合众国. +achievement.breeding=阴阳怪气 +achievement.bismuth.desc=还记得人们为此抱怨了一个月吗? 我记得. achievement.bismuth=铋 -achievement.blastFurnace.desc=他们为制造探险家1号去打捞了一艘沉没的无畏舰。 +achievement.blastFurnace.desc=他们为探险家1号打捞了一艘沉没的无畏舰. achievement.blastFurnace=煤和铁 -achievement.bossCreeper.desc=核爆爬行者? 那是个什么玩意?! -achievement.bossCreeper=四条腿的行走核弹 -achievement.bossMaskman.desc=大男孩邦克 -achievement.bossMaskman=6个月的强制服务,我只得到一件糟糕的t恤 -achievement.bossMeltdown.desc=比伟大更可怕,但我会竭尽所能 +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.bossWorm.desc=用绝学法杖.我的屁股.你来算这个吧. +achievement.bossWorm=拆了 世-界-毁-灭-者 O-TRON +achievement.bossUFO.desc=哟,瞧瞧我们这儿有什么?一艘巨大的宇宙飞船正开向我们的星球? +achievement.bossUFO=Ayy Lmao +achievement.burnerPress.desc=压力压在我身上,也压在你身上 achievement.burnerPress=压力之下 achievement.c20_5.desc=??? achievement.c20_5=第20.5章 achievement.c44.desc=镀锌!我是说,锌! achievement.c44=第四十四章 -achievement.centrifuge.desc=离心力是假的,不要再@我了 -achievement.centrifuge=向心力 -achievement.chemplant.desc=现在你在考虑化学物质! -achievement.chemplant=这家工厂正在成长。Pt.2 -achievement.chicagoPile.desc=“当地人怎么样?”“非常友好。” +achievement.centrifuge.desc=离心力是真的不要再@我了 +achievement.centrifuge=离心力 +achievement.chemplant.desc=现在你开始考虑化学物质了! +achievement.chemplant=科技线 第二阶段 +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=歌唱,为我歌唱《Kauai Moho》 -achievement.digammaKnow.desc=关于这个世界 +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.digammaSee.desc=坠入深渊. +achievement.digammaSee=直视真理的恐惧 achievement.digammaUpOnTop.desc=仰慕我的儿子,他是我的克隆人. achievement.digammaUpOnTop=仰慕我,仰慕我的家 achievement.fiend.desc=卑鄙 achievement.fiend2.desc=更卑鄙 -achievement.fiend2=残忍2:更残忍 +achievement.fiend2=残忍2:更加残忍 achievement.fiend=残忍 achievement.freytag.desc=英勇的救生员 achievement.freytag=弗雷塔格 -achievement.fusion.desc=氘核、海卫一与能量的舞蹈。 -achievement.fusion=聚合 -achievement.gasCent.desc=贫铀讨厌他! -achievement.gasCent=链式 -achievement.hidden.desc=使用一节坠落的车厢杀死一只污染苦力怕 +achievement.fusion.desc=氘核, 氚核和能量之舞. +achievement.fusion=热核聚变反应 +achievement.gasCent.desc=未浓缩的铀讨厌他! +achievement.gasCent=拉链式 +achievement.hidden.desc=使用一节坠落的车厢杀死一只污染爬行者 achievement.hidden=隐藏目录 -achievement.horizonsBonus.desc=说实话,你到底怎么了 +achievement.horizonsBonus.desc=噢老天爷你到底什么毛病?! achievement.horizonsBonus=地平线! -achievement.horizonsEnd.desc=送他回家 -achievement.horizonsEnd=地平线。 +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.inferno.desc="把它化为灰烬! 这还不够! 投更多炸弹下去!" +achievement.inferno=食人者行动 +achievement.manhattan.desc=8:15; 八月六日, 1945 achievement.manhattan=曼哈顿计划 -achievement.meltdown.desc=你走了这么远,怎么能把事情搞砸? -achievement.meltdown=快速非计划拆卸 -achievement.omega12.desc=解决在这个可怜的星球上继续生存的问题 -achievement.omega12=欧米茄-12粒子加速器 -achievement.polymer.desc=美味、美味的微塑料。 -achievement.polymer=特氟隆 +achievement.meltdown.desc=你都走到了这一步,怎么还能把事情搞砸? +achievement.no9.desc="我希望我开采的铅能被用于你的绘画" +achievement.no9=老九号 +achievement.meltdown="快速"拆卸 +achievement.metalworks.desc=Bobmazon 1级 (高炉) +achievement.metalworks=金属制品 +achievement.nuclear.desc=Bobmazon 5级 (铀燃料) +achievement.nuclear=原子科学 +achievement.oil.desc=Bobmazon 4级 (电锅炉) +achievement.oil=石油 +achievement.omega12.desc=解决在这个荒凉的的星球上继续生存的问题. +achievement.omega12=欧米伽-12号粒子加速器 +achievement.polymer.desc=美味,美味的微塑料. +achievement.polymer=特氟隆 聚四氟乙烯 achievement.potato.desc=你居然捅我!你怎—喔哦哦哦哦哦! -achievement.potato=流氓AI -achievement.radDeath.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.sacrifice.desc=直面火海并存活 +achievement.RBMKBoom.desc=谎言的代价是什么? +achievement.RBMKBoom=是15000伦琴的辐射. +achievement.RBMK.desc=他有妄想症,带他去医院. +achievement.RBMK=3.6伦琴? +achievement.redBalloons.desc="这就是我们一直在等待的. 就这样, 小伙子们, 这就是战争." +achievement.redBalloons=99只红气球 +achievement.sacrifice.desc=直面火海,活下去. achievement.sacrifice=牺牲 -achievement.schrab.desc=不管怎样,我不会看太久。 +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.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.soyuz.desc=被烤的酥脆 +achievement.soyuz=烤马铃薯 achievement.space.desc=屡试屡败,浪费了价值9000万美元的资金 -achievement.space=最后战线—呃,算了吧 -achievement.sulfuric.desc=硫酸 -achievement.sulfuric=我不应该把蛋蛋浸在硫酸里的。 -achievement.tantalum.desc=一个难以捉摸但却永远需要的元素。 -achievement.tantalum=钽 +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.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=锆诺克斯 -armor.blastProtection=修正 %s 的爆炸伤害 -armor.cap=伤害上限 %s -armor.damageModifier=修正 %s 对 %s 的伤害 -armor.dash=给予 %s 冲刺 -armor.electricJetpack=离子喷射背包 +achievement.witchtaunter.desc=那些怪胎什么都没发现! +achievement.witchtaunter=女巫陶恩特 +achievement.ZIRNOXBoom.desc=处理, 遍地都是, 残骸碎片 +achievement.ZIRNOXBoom=CIRNOX + +armor.blastProtection=只受%s的爆炸伤害 +armor.cap=硬伤上限 %s +armor.damageModifier=只受%s的%s伤害 +armor.electricJetpack=等离子推进器 armor.explosionImmune=免疫除爆炸伤害外的一切伤害 armor.fastFall=快速降落 armor.fireproof=防火 -armor.fullSetBonus=全套效果: -armor.geigerHUD=盖革计数器HUD -armor.geigerSound=盖革计数器警报 -armor.glider=滑翔 -armor.gravity=重力修正 %s -armor.hardLanding=硬着陆 -armor.ignoreLimit=防御值不受防御上限的影响 -armor.modifier=伤害修正 %s -armor.nullDamage=免疫 %s 伤害 -armor.projectileProtection=免疫 %s 的弹射物伤害 +armor.fullSetBonus=完整套装增益: +armor.geigerHUD=内置盖格计数器 +armor.geigerSound=听觉式盖革计数器 +armor.glider=按下潜行以滑翔 +armor.gravity=重力效果调整为%s +armor.hardLanding=坠地AOE伤害 +armor.ignoreLimit=防御值不受防御值上限的影响 +armor.modifier=只受%s的一般伤害 +armor.nullDamage=免疫所有的%s伤害 +armor.projectileProtection=只受%s的弹射物伤害 armor.rocketBoots=火箭靴 armor.sprintBoost=冲刺辅助加速 armor.thermal=热成像 -armor.threshold=伤害阈值 %s -armor.vats=敌对生物HUD -armor.yield=抵御低于%s的伤害 -armorMod.all=所有 -armorMod.applicableTo=适用于: +armor.threshold=伤害阈值%s +armor.vats=敌对目标信息显示 +armor.yield=保护生效的最高伤害 :%s + +armorMod.all=任意盔甲部位 +armorMod.applicableTo=可安装于: armorMod.boots=靴子 armorMod.chestplates=胸甲 armorMod.helmets=头盔 -armorMod.insertHere=插入装甲以改装。。。 +armorMod.insertHere=放入盔甲以进行改装... armorMod.leggings=护腿 -armorMod.type.boots=靴子 -armorMod.type.chestplate=胸甲 +armorMod.type.boots=靴子配件 +armorMod.type.chestplate=胸甲配件 armorMod.type.cladding=覆层 -armorMod.type.helmet=头盔 -armorMod.type.insert=插板 -armorMod.type.leggings=护腿 -armorMod.type.servo=伺服电机 -armorMod.type.special=特殊 +armorMod.type.helmet=头盔配件 +armorMod.type.insert=防弹插板 +armorMod.type.leggings=护腿配件 +armorMod.type.servo=伺服系统 +armorMod.type.special=特殊配件 + battery.mode.buffer=输入/输出模式 battery.mode.input=输入模式 -battery.mode.off=关闭W +battery.mode.off=OffW 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=触发成功! +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=红石信号 OFF +battery.redstone.on=红石信号 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.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.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.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.starter.cover=重建工业社会的$一本实业家$的指南 +book.starter.title1=介绍 +book.starter.page1=如果你读到这篇文章, 那么很有可能社会已经以这样或那样的方式完全崩溃了. 政府,国家和权威已经是过去的概念——以及文明生活 的所有便利设施. 因此,本指南将告诉你如何通过重新创造过去的行业和 科学技术 来改善你自己的生活. +book.starter.title2=煤尘与芥子气 +book.starter.page2=虽然不可能预测世界在后世界末日时代的实际状态, 但目前形式的战争和工业活动不太可能没有结束. 为了保护自己的肺部, 一种有效且廉价的方法是在一些 §l布料§r上小便来制作一个 §l战壕版粗制防护面罩§r, 以保护你免受煤尘或芥子气的伤害, 以防你遇到其中任何一种情况. +book.starter.title3=砧与锻压机 +book.starter.page3=开始你的工业振兴的核心是一个§lE合前期的机械, 如组装机, 而火力锻压机将允许您制作无法用砧锤击在一起的板材, 金属线和电路. +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, 耐用又柔性的塑料; §l德什§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,但 需要炸药才能采集. +book.starter.title12=辐射 +book.starter.page12a=§o本书其余部分将讨论与§o辐射有关的问题. 为了您和其他人的安全,我将提供§o一些建议以说明如何缓解和处理暴露于此的风险.§r +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=$我的第一个$RBMK石墨式反应堆:$建造一个$反应堆$的基础知识 book.rbmk.title1=介绍 book.rbmk.page1=§lRBMK石墨式反应堆§r是一个完全模块化的核反应堆. 与大多数其他反应堆不同的是, 该反应堆没有"多方块结构核心"和尺寸上的限制, 而反应堆的性能和效率仅取决于你是如何建造它的, 以及各个组件如何相互作用. @@ -220,9 +274,9 @@ book.rbmk.page6=§L自动控制棒§r 与常规控制棒几乎相同, 但它们 book.rbmk.title7=蒸汽管道 book.rbmk.page7=反应堆中的 §l蒸汽管道§r 是唯一能有效降低反应堆热水平的组件. 如果一个蒸汽管道组件的沸点高于其设定的蒸汽类型的沸点, 那么它将试图消耗尽可能多的水 并产生尽可能多的蒸汽来冷却到沸点以下. book.rbmk.title8=碳化钨中子反射器 -book.rbmk.page8=反应堆中的 §l碳化钨中子反射器§r 将阻止中子的通过, 相反,中子将被反射回它们来自的燃料棒上. 这对于使用中子是有用的, 否则这些中子一旦离开反应堆就会被浪费掉. +book.rbmk.page8=反应堆中的 §l碳化钨中子反射器§r 将阻止中子的通过, 相反, 中子将被反射回它们来自的燃料棒上. 这对于使用中子是有用的, 否则这些中子一旦离开反应堆就会被浪费掉. book.rbmk.title9=硼中子吸收器 -book.rbmk.page9=§l硼中子吸收器§r 只是阻挡中子. 被吸收的中子不会产生热量,会被有效地吸收. 这有助于防止燃料棒发生过度反应从而超出临界值. +book.rbmk.page9=§l硼中子吸收器§r 只是阻挡中子. 被吸收的中子不会产生热量, 会被有效地吸收. 这有助于防止燃料棒发生过度反应从而超出临界值. book.rbmk.title10=石墨慢化剂 book.rbmk.page10=§l石墨慢化剂§r 把穿过它的快中子转换成慢中子. 大多数核燃料反应释放出快中子, 而引起裂变需要慢中子, 所以强烈建议使用慢化剂. book.rbmk.title11=结构柱 @@ -230,253 +284,223 @@ 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.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=By %s + +book_lore.author= %s 著 book_lore.test.name=测试 book_lore.test.author=那个家伙 -book_lore.test.page.1=>你好,在我开始之前,让我澄清我不是同性恋。>做我>今天晚上>18>和我最好的朋友和我的父母出去玩了几天>我们已经是最好的朋友一年了>喝了点酒,玩了很多电子游戏,还点了一份披萨>我们玩得很开心>在晚上的某个时候,比如9点左右,他开了一个非常有趣的玩笑,我不记得了,但我知道这让我们俩都笑得很厉害>没有我想我用右手摸了摸他那半卷曲的黑发,然后叫他一个有趣的男孩>他脸红了>我意识到我很慌张>我们有点亲密>突然他吻了我,出于某种原因我又吻了他>我们做爱>拥抱在一起睡着了>半夜醒来时,他的头贴在我的胸部和颈部>感觉很好,但我不是同性恋 -book_lore.test.page.2=他在我怀里睡着时,我正在打字。我怎么才能让我最好的朋友失望呢?我不想成为[编辑]/b/ -book_lore.test.page.3=3 +book_lore.test.page.1=>在我开始之前,请允许我 澄清我不是同性恋. >做我 >今晚 >18点 >趁我的父母走了几天,和我最好 的朋友一起出去玩 >我们已经是一年的好朋友了 >喝了点酒,玩了很多电子游戏, 还点了一个比萨饼 >我们玩得很开心 >在晚上的某个时刻,比如9点 左右,他开了一个非常有趣的 玩笑,我不记得了, 但我知道这让我们都笑得很开心 > 我不假思索地用右手 +book_lore.test.page.2=拂过他半卷曲的黑发, 说他真是一个有趣的男孩 >他脸红了 >我意识到我很慌乱 >我们有点太亲近了 >突然他吻了我,出于某种原因 我回吻了他 >我们做爱了 >拥抱在一起睡着了 >半夜醒来,他的头紧贴在我的 胸口和脖子上 >这感觉很好, 但我仍是个钢铁直男 +book_lore.test.page.3=我在他在我怀里睡着的时候 写了这个. 我怎么能让我最好的 朋友失望呢? 我可不想成为一个 [弱智] /b/ book_lore.test.page.4=4 book_lore.test.page.5=5 + book_lore.book_iodine.name=笔记 book_lore.book_iodine.author=戴夫 -book_lore.book_iodine.page.1=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.2=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.3=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_iodine.page.1=好吧,你不会相信的, 但自从两周前离开后,这位老人终于再次出现了。更令人惊讶的是,他竟然决定把他们在峡谷里的所作所为泄露出去: +book_lore.book_iodine.page.2=显然,研发部门的白痴们发现了一种主要是无机的化合物, 很像自然界中的毒素, 但要记住:濒死的细胞会繁殖毒素并通过皮肤排出, 产生一种具有高度传染性的气溶胶. +book_lore.book_iodine.page.3=就像病毒一样, 但不是病毒. 它的成分很奇怪, 你可以把它放在任何家用瓶子里,但你必须把顺序弄对. 博士告诉我第一种成分是粉末状的碘晶体,要放进槽 %d + book_lore.book_phosphorous.name=笔记 book_lore.book_phosphorous.author=戴夫 -book_lore.book_phosphorous.page.1=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.2=ingredient is red phosphorous, whihc has to be mixed into slot %d +book_lore.book_phosphorous.page.1=嘿,又是我. 我想你收到了我最后的备忘录,博士对此不太高兴. 我得动作快点, 研发部门的笨蛋们现在又在抱怨了, 可能是因为钱, 又一次. 无论如何, 风向标博士发现第二种 +book_lore.book_phosphorous.page.2=成分是红磷, 必须将其混入 %d槽中 + book_lore.book_dust.name=笔记 book_lore.book_dust.author=戴夫 -book_lore.book_dust.page.1=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.2=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.3=dangerous inventions of theirs and it contains dust. strangely they also mentioned that it goes into slot %d +book_lore.book_dust.page.1=当博士发现研发人员保留了剩下的一个样本时,他大发雷霆, 大喊大叫说这是严重的疏忽,简直是世界末日的剧本. 我告诉他冷静一分钟, 紧张起来对他的血压没有好处, 并 +book_lore.book_dust.page.2=不是说他还剩下很多血. 一个研发部的白痴在上周的通告中透露了更多信息, 他们称他们那宝贝混合物 \"MKU\" ,鬼知道这是啥意思, 它含有货真价实的家用棉绒. 你能相信吗? 这是他们 +book_lore.book_dust.page.3=最危险的发明之一而它含有灰尘. 奇怪的是,他们还提到它会进入槽 %d + book_lore.book_mercury.name=笔记 book_lore.book_mercury.author=戴夫 -book_lore.book_mercury.page.1=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.2=replicated by the body? whatever, the mercury goes into slot %d +book_lore.book_mercury.page.1=好吧,这就说得通了. 不包括呕吐的血液部分, 毒理学报告表明其主要类似于汞中毒. 为什么? 因为我们的小混合物也含有汞! 我只是想知道当这些东西 +book_lore.book_mercury.page.2=被身体复制时,它们从哪来? 不管怎样,水银要进入槽 %d + book_lore.book_flower.name=笔记 book_lore.book_flower.author=戴夫 -book_lore.book_flower.page.1=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.2=it does not work with other flowers. the morning glory goes into slot %d +book_lore.book_flower.page.1=还记得我在第一份备忘录中提到的化合物大多是无机的吗? 好吧,你猜怎么着, 那个老家伙分享了第四种配料: 牵牛花, 花的一属. 就是喇叭花! 可能是因为它的硫含量低, 不管是什么情况, +book_lore.book_flower.page.2=其他花就是不起作用. 牵牛花要放入槽 %d + book_lore.book_syringe.name=笔记 book_lore.book_syringe.author=戴夫 -book_lore.book_syringe.page.1=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.2=syringe goes into slot %d +book_lore.book_syringe.page.1=我第五条留言的一个小附录, 显然你必须把这些叫MKU的东西放在一个容器里. 研发人员使用的是从医疗机构购买的普通金属注射器. 我猜是多余的, 他们有成千上万的针头. +book_lore.book_syringe.page.2=金属注射器要放入槽 %d + book_lore.resignation_note.name=辞职信 book_lore.resignation_note.author=科斯马 -book_lore.resignation_note.page.1=管理层昨天又对我们的部门进行裁员了。那群白痴要怪只能怪他们自己,我都不知道他们在那场惨败后还在期待什么。到底是谁他妈泄露了那种程度的信息? -book_lore.resignation_note.page.2=我们损失了几百万,而且现在失业的还是爷。老子希望你们这帮混蛋最后能从你们的一堆问题中学到点教训然后给爷滚去自闭。 -book_lore.resignation_note.page.3=我周五不回来了。工资寄过来就行。 -book_lore.memo_stocks.name=公司内部备忘录 -book_lore.memo_stocks.page.1=投资者报告 - $$最新的季度报告中提供的数据存在一些明显的差异。财政部所作出一些调整是明智的,因此不必有任何担忧。 +book_lore.resignation_note.page.1=管理层昨天又缩减了我们的 部门.那些白痴只能怪自己, 我不知道他们在那场惨败后 会还有什么期待. 到底是谁泄露了这种信息? 我们损失了数百万 +book_lore.resignation_note.page.2=现在是我失业了. 我是那个被要求辞职的人. 我希望你们这些混蛋们终于 从自己的错误中吸取教训, 把那根棍子从屁股里拿出来. +book_lore.resignation_note.page.3=我星期五不会回来的. 发工资就行了. + +book_lore.memo_stocks.name=内部备忘录 +book_lore.memo_stocks.page.1=投资者关系部 - $ $ 最新季度报告中提供的数据 存在一些明显的差异. 让财务部门进行一些调整是 谨慎的做法, 所以不用有任何顾虑. + book_lore.memo_schrab_gsa.name=内部备忘录 -book_lore.memo_schrab_gsa.page.1=合同管理记录 - 法务部在与美国国防部后勤局的谈判中取得了突破。他们批准了450亿的联邦采购服务总署投资资金用于异变金属的采购与研究。 -book_lore.memo_schrab_gsa.page.2=就目前预期来看,这将至少产生40%的利润,更不必说以后行动所产生的利润,同时这将使我们未来有机会签订更多合同。鉴于此事的保密性质,所有财政证据都将为机密级别 +book_lore.memo_schrab_gsa.page.1=合同管理部 - $ $ 法律部与DLA取得了突破. 他们授予我们450亿GSA计划, 用于进一步采购和研究saralloy. 根据目前的估计 +book_lore.memo_schrab_gsa.page.2=相关业务的利润至少为 40%%, 更不用说未来合同的可能性了. 由于保密性质,所有财务证据 都应保密. + book_lore.memo_schrab_rd.name=内部备忘录 -book_lore.memo_schrab_rd.page.1=研发 - 目前我们主要生产方法是使用新型粒子加速器。然而,与产出量相比,能源成本高得惊人。 -book_lore.memo_schrab_rd.page.2=然而,Schrabauer博士发现了一种全新的相互作用——暂称为“奇异轻子振荡”——该作用可以显著降低生产成本。通过一个目前未被完全理解的的过程,提供的电子被一种奇特的“魔力”转化为极高能量的光子。 -book_lore.memo_schrab_rd.page.3=这是许多已明确的粒子转换定律的极端例外。但初步实验证明,这些质子先转变为上下夸克,最终形成了异变金属。奇怪的是,原型机中需要钨与少量异变金属合金化所得到的合金。 -book_lore.memo_schrab_rd.page.4=除此之外,还需要一个特殊的电容器用来抵消掉多余的正电荷。 +book_lore.memo_schrab_rd.page.1=研究与开发部 - $ $ 我们生产saralloy的主要方法是 使用新型粒子加速器. 然而, 与产量相比,能源成本过高. +book_lore.memo_schrab_rd.page.2=然而,Schrabauer博士发现 了一种新的相互作用, 称为 "奇异轻子振荡",可以 显著降低成本. 通过一个不完 全被理解的过程, 所提供的电 子通过一种 +book_lore.memo_schrab_rd.page.3=奇特的作用被转化为极高能 量的光子. 这是许多既定粒子 转化定律的极端例外, 但初步 实验证明,这些质子转变为 上下夸克,最终形成了 saralloy. +book_lore.memo_schrab_rd.page.4=奇怪的是,原型需要钨合金 和少量的 saralloy. 此外, 需要一个特殊的电容器来 抵消剩余的正电荷. + book_lore.memo_schrab_nuke.name=研究报告 book_lore.memo_schrab_nuke.author=Schrabauer博士 -book_lore.memo_schrab_nuke.page.1=最近的调查使我们了解了核爆炸对材料造成的影响。多亏外界给我们的赠款,我们*意外地*测试了铀直接合成异变金属的理论。 -book_lore.memo_schrab_nuke.page.2=而此前我们只在回旋加速器中制作出异变金属。但这次,我们在对Everwerpen的地下拍摄中,在该地点的铀矿石中发现了微量的异变金属。其附近所有的纯金属铀则都发生了裂变。 -book_lore.memo_schrab_nuke.page.3=因此,如果有足够多的铀矿石集中在核弹周围,甚至可能只需要一个富含裂变物质废料的脏弹,就有可能制造出质量大到可以被直接收集的异变金属。 -book_lore.insanity_1.name=残缺的纸张 -book_lore.insanity_1.author=D·弗格森 -book_lore.insanity_1.page.1=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.2=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.3=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.insanity_2.name=残缺的纸张 -book_lore.insanity_2.author=D·弗格森 -book_lore.insanity_2.page.1=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.2=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.3=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.insanity_3.name=残缺的纸张 -book_lore.insanity_3.author=D·弗格森 -book_lore.insanity_3.page.1=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.2=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.3=I'm not sure how administration can keep this calm, but i don't get paid enough to waste thoughts on that. -book_lore.insanity_4.name=残缺的纸张 -book_lore.insanity_4.author=D·弗格森 -book_lore.insanity_4.page.1=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.2=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.3=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.insanity_5.name=残缺的纸张 -book_lore.insanity_5.author=D·弗格森 -book_lore.insanity_5.page.1=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.2=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.3=Something is telling me that The Thing is still out there somewhere. I can feel it. -book_lore.insanity_6.name=残缺的纸张 -book_lore.insanity_6.author=D·弗格森 -book_lore.insanity_6.page.1=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.2=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.3=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.insanity_7.name=残缺的纸张 -book_lore.insanity_7.author=D·弗格森 -book_lore.insanity_7.page.1=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.2=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.3=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. -cannery.f1=[按F1键获取帮助] +book_lore.memo_schrab_nuke.page.1=我们最近的调查使我们了 解了核爆炸对材料的影响. 感谢给我们的赠款, 我们 *意外地* 测试了 我们从铀直接合成 saralloy的理论. +book_lore.memo_schrab_nuke.page.2=以前只有我们的回旋加速 器真正创造了saralloy. 然而,在我们在埃弗沃彭 的地下拍摄中,在现场的 铀矿中发现了微量的saralloy. 附近所有纯金属铀都发生了 裂变. +book_lore.memo_schrab_nuke.page.3=因此,如果有足够多的铀 矿石集中在炸药周围, 甚至可能是一枚富含可裂 变材料的脏弹,人们可以 理论上制造出足够多的 saralloy来人工收集. + +book_lore.insanity_1.name=撕裂的书页 +book_lore.insanity_1.author=Ferguson博士 +book_lore.insanity_1.page.1=8月6日$ $几个月,不,几年来, 为了与投资者角力和运营 北半球最大的能源市场而 讨价还价,终于有了回报. +book_lore.insanity_1.page.2=虽然我们不能完全确定 我们到底发现了什么—— 考虑到我们在粒子上进行了 千兆伏特的碰撞,而这些 粒子的记录仍然很差—— 但结果再令人兴奋不过了. +book_lore.insanity_1.page.3=我们还没有为我们发现的 这东西找到一个名字, 也不确定我们是否在寻找 一种新的粒子, 一个通向另一个维度的虫洞, 或者撒旦的肛门, 但我相信我们的公关人员 可以想出一些办法. + +book_lore.insanity_2.name=撕裂的书页 +book_lore.insanity_2.author=Ferguson博士 +book_lore.insanity_2.page.1=8月8日$ $过去几天,我们一直将 “The Thing” (是的,我们现在就是 这么称呼这玩意的) 保持在磁隔离状态。 光谱测试最终搞坏了 我们的光谱仪,但我们 设法获得了一些有用的数据. +book_lore.insanity_2.page.2=首先,这东西像圣诞树 一样发光,你能想到的 每种波长的辐射光子都被 强大的红外日冕所包围。 逻辑上的结论是, 用肉眼看它很可能会杀死你。 +book_lore.insanity_2.page.3=这就引出了一个问题: 这么小的粒子怎么能辐射 出如此巨大的能量? 你隐藏了些什么,小家伙? + +book_lore.insanity_3.name=撕裂的书页 +book_lore.insanity_3.author=Ferguson博士 +book_lore.insanity_3.page.1=8月22日 $ $ 我已经好几天没睡好了。 医生说他什么毛病都找不到。 现在我正在服用各种药物, 但头痛只会加重。 实验室工作人员怀疑这 可能是两周前的事件造成 的污染. +book_lore.insanity_3.page.2=医生说不太可能, 这症状和急性放射病不同。 如果这种情况持续下去, 我可能需要休息一段时间。 实验人员推测, 如果约束磁场下降, 整个综合体建筑群就会变成 蘑菇云. +book_lore.insanity_3.page.3=我不知道行政部门如何 保持冷静,但我没有被 支付足够的薪水来浪费时间. + +book_lore.insanity_4.name=撕裂的书页 +book_lore.insanity_4.author=Ferguson博士 +book_lore.insanity_4.page.1=8月28日 $ $ 他们拒绝了我的请假请求, 过去几天我一直在努力。 头痛越来越严重了。 我也不是唯一有这种感 觉的人。一些实验室的人员 也有类似的情况. +book_lore.insanity_4.page.2=The Thing终于离开了综合体 -真tm棒。 昨天有几套西装运过来, 天知道在哪里。 一名实验室人员扎卡里说, 他们可能正在把密封装置 埋在沙漠里, +book_lore.insanity_4.page.3=慢慢地试图让The Thing 远离文明来“虎头蛇尾 地结束”。要我说我们应 把它射向太空。 不用说,我们的投资者 暂时削减了所有资金。 我应该开始找另一份工作了. + +book_lore.insanity_5.name=撕裂的书页 +book_lore.insanity_5.author=Ferguson博士 +book_lore.insanity_5.page.1=9月11日 $ $ 我正在反复做一场噩梦。 我在一块空地上走来走去, 到处都是这些人, 穿着橡胶服和长着畸形的脸。 总是一样的噩梦, +book_lore.insanity_5.page.2=和我最近交谈过的一个实验 室的同事也做了同样的梦。 与此同时,我的工作已经 相当枯燥了,加速器已经 关闭,所有正在进行的 项目都停止了,我们的 预算也在慢慢减少. +book_lore.insanity_5.page.3=有某种东西在告诉我 The Thing还在某处。 我能感觉到. + +book_lore.insanity_6.name=撕裂的书页 +book_lore.insanity_6.author=Ferguson博士 +book_lore.insanity_6.page.1=10月3日 $ $ 一半的工作人员已经死亡, 其余大部分在ICU。 我的病情在过去几周里 没有改变,无论是好是坏. +book_lore.insanity_6.page.2=然而,现实开始变得越来越 不真实。 有时我会在夜晚仰望天空, 幻想着我们在几个星期前 发现的东西. +book_lore.insanity_6.page.3=我们的分光计吐出的同样 灿烂的深红光泽。 我的医生说这是由这起事件 引起的精神错乱和压力, 也许他是对的, 但药物根本不起作用. + +book_lore.insanity_7.name=撕裂的书页 +book_lore.insanity_7.author=Ferguson博士 +book_lore.insanity_7.page.1=12月12日 $ $ 我已经失业了,但老实说, 我对此有些感激。 我以前的工作场所已经 付之一炬了 ——他们这么说的. +book_lore.insanity_7.page.2=南部几英里处的地震观测站 连续几天记录到持续不断的 地震,而其他任何人都不会 注意到沙漠深处. +book_lore.insanity_7.page.3=我的结论是,这个地方被 诅咒了,让每个人都感到恶心, 然后像埃德加·爱伦·坡 (Edgar Allan Poe)的故事 一样坠入地狱。 谢天谢地. + +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.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.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.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=除了侧面的两个IO接口外,底部还有第三个隐藏IO接口,可以从中提取物品. +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=使用自动锯可以自动收割柳叶,它只会打碎准备收割的植物. + chem.ARSENIC=砷提取 chem.ASPHALT=沥青生产 chem.BAKELITE=电木生产 -chem.BALEFIRE=野火火箭燃料混合 -chem.BP_BIOFUEL=生物燃料酯化 +chem.BALEFIRE=BF反物质火箭燃料混合 +chem.BP_BIOFUEL=生物燃料酯化合成 chem.BP_BIOGAS=沼气生产 -chem.C4=C-4合成 -chem.CC_HEATING=高级煤液化 -chem.CC_HEAVY=初级煤液化 -chem.CC_I=强化煤液化 -chem.CC_NAPHTHA=煤液化石脑油 -chem.CC_OIL=煤液化 +chem.C4=C-4生产 +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.COALGAS_LEADED=煤汽油铅混合 chem.COLTAN_CLEANING=钶钽铁矿提纯 chem.COLTAN_CRYSTAL=钽结晶 -chem.COLTAN_PAIN=Pn(III)钽铁溶液生产 +chem.COLTAN_PAIN=潘地曼尼南(III)钽生产 chem.CONCRETE=混凝土生产 chem.CONCRETE_ASBESTOS=石棉夹层混凝土生产 -chem.COOLANT=冷却液混合 +chem.COOLANT=冷却液生产 chem.CORDITE=无烟火药生产 -chem.CRYOGEL=冷凝胶混合 -chem.DESH=Desh生产 -chem.DEUTERIUM=氘萃取 -chem.DUCRETE=贫铀混凝土生产 +chem.CRYOGEL=超低温凝胶混合 +chem.DESH=德什金属锭生产 +chem.DEUTERIUM=氘提取 +chem.DUCRETE=贫化铀混凝土合成 chem.DYN_DNT=双聚中子态素合成 -chem.DYN_EUPH=Ep合成 -chem.DYN_SCHRAB=Sa326合成 +chem.DYN_EUPH=Ep金属元素合成 +chem.DYN_SCHRAB=Sa326异变铀金属合成 chem.DYNAMITE=炸药合成 chem.ELECTROLYSIS=低温电解水 chem.EPEARL=末影珍珠合成 @@ -488,93 +512,100 @@ chem.FC_I_NAPHTHA=工业油裂化 chem.FC_KEROSENE_PETROLEUM=煤油裂化 chem.FP_HEAVYOIL=重油加工 chem.FP_LIGHTOIL=轻油加工 -chem.FP_NAPHTHA=石脑油加工 +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.FR_PETROIL=混机油汽油合成 +chem.FR_REOIL=再生工业油加工 +chem.FRACKSOL=压裂液合成 +chem.GASOLINE=精制汽油合成 +chem.GASOLINE_LEADED=精制汽油铅混合 +chem.HEAVY_ELECTROLYSIS=重水低温电解 +chem.HELIUM3=月壤氦-3提取 +chem.KEVLAR=凯夫拉材料生产 chem.LPG=石油天然气液化 -chem.LUBRICANT=润滑剂混合 +chem.LUBRICANT=混合润滑剂合成 chem.METH=甲基苯丙胺合成 -chem.NITAN=NITAN牌超级燃料混合 +chem.NITAN=NITAN© 100 超级辛烷燃料混合 chem.NITRIC_ACID=硝酸生产 chem.OIL_SAND=沥青砂提取 -chem.OSMIRIDIUM_DEATH=锇酸溶液生产 +chem.OSMIRIDIUM_DEATH=铱锇酸溶液生产 chem.PEROXIDE=过氧化氢生产 -chem.PETROIL_LEADED=含铅石油混合 +chem.PET=PET聚酯合成 +chem.PETROIL_LEADED=混机油汽油铅混合 chem.POLYMER=聚合物合成 chem.PUF6=六氟化钚生产 -chem.RUBBER=橡胶生产 -chem.SAS3=三硫化Sa生产 +chem.PC=硬质塑料棒合成 +chem.PVC=PVC聚乙烯棒合成 +chem.RUBBER=橡胶合成 +chem.SAS3=三硫化Sa326生产 chem.SATURN=土星锭生产 -chem.SCHRABIDATE=Sa酸铁生产 -chem.SCHRABIDIC=Sa酸合成 +chem.SCHRABIDATE=Sa326元素酸化铁生产 +chem.SCHRABIDIC=Sa326元素酸化混合 chem.SF_BIOFUEL=生物燃料固化 chem.SF_BIOGAS=沼气固化 chem.SF_DIESEL=柴油凝固 chem.SF_GAS=天然气固化 -chem.SF_HEATINGOIL=燃油固化 +chem.SF_HEATINGOIL=民用燃油固化 chem.SF_HEAVYOIL=重油固化 chem.SF_KEROSENE=煤油固化 chem.SF_LIGHTOIL=轻油固化 chem.SF_LUBRICANT=润滑剂固化 -chem.SF_NAPHTHA=石脑油固化 +chem.SF_NAPHTHA=粗汽油固化 chem.SF_OIL=原油固化 -chem.SF_PETROIL=石油固化 +chem.SF_PETROIL=混机油汽油固化 chem.SF_PETROLEUM=石油气固化 chem.SF_RECLAIMED=再生油固化 chem.SF_SMEAR=工业油固化 chem.SOLID_FUEL=固体火箭燃料生产 chem.SOLVENT=有机溶剂混合 -chem.STEAM=烧水 +chem.STEAM=蒸汽生产 chem.SULFURIC_ACID=硫酸生产 -chem.TEL=四乙基铅混合 +chem.TATB=TATB三氨基三硝基苯合成 +chem.TEL=四乙基铅抗爆剂混合 chem.TEST=测试 chem.TNT=TNT合成 chem.UF6=六氟化铀生产 chem.VIT_GAS=气态核废料玻璃化 chem.VIT_LIQUID=液态核废料玻璃化 chem.XENON=林德循环制氙 -chem.XENON_OXY=增强林德循环制氙 +chem.XENON_OXY=增强型林德循环制氙 chem.YELLOWCAKE=黄饼生产 -container.amsBase=AMS基座(装饰) -container.amsEmitter=AMS发射极(装饰) -container.amsLimiter=AMS稳能器(装饰) -container.anvil=砧 + +container.amsBase=AMS基座 [装饰] +container.amsEmitter=AMS激发装置 [装饰] +container.amsLimiter=AMS稳定力场发生装置 [装饰] +container.anvil=%s 级砧 container.arcFurnace=电弧炉 container.armorTable=装甲改装台 container.assembler=装配机 -container.autocrafter=自动工作台 +ontainer.autocrafter=自动化工作台 container.barrel=桶 -container.bat9000=巨尻-9000 储罐 -container.battery=储能 +container.bat9000="巨臀"9000号储罐 +container.battery=储能量 container.bombMulti=多用途炸弹 +container.catalyticReformer=催化重整装置 container.centrifuge=离心机 -container.chemplant=化工厂 +container.chemplant=化工装置 container.compactLauncher=紧凑型发射台 -container.craneBoxer=输送带打包机 -container.craneExtractor=输送带提取器 -container.craneInserter=输送带导入器 -container.craneRouter=传送路由器 -container.craneUnboxer=输送带解包机 -container.crateDesh=Desh箱 +container.craneBoxer=传送带打包器 +container.craneExtractor=传送带输出器 + +container.craneInserter=传送带输入器 +container.craneRouter=传送带分流器 +container.craneUnboxer=传送带解包器 +container.crateDesh=德什制箱子 container.crateIron=铁箱 container.crateSteel=钢箱 container.crateTungsten=钨箱 -container.crystallizer=矿物酸化器 +container.crystallizer=矿物结晶机 container.cyclotron=回旋加速器 container.dfcCore=暗核聚变堆核心 -container.dfcEmitter=DFC发射器 -container.dfcInjector=DFC燃料喷射器 -container.dfcReceiver=DFC接收器 -container.dfcStabilizer=DFC稳定器 +container.dfcEmitter=DFC激发装置 +container.dfcInjector=DFC燃料注入装置 +container.dfcReceiver=DFC接收装置 +container.dfcStabilizer=DFC聚变稳定器 container.diFurnace=高炉 -container.diFurnaceRTG=核高炉 +container.diFurnaceRTG=核能高炉 container.electricFurnace=电炉 container.epress=电动锻压机 container.factoryAdvanced=高级工厂 @@ -582,631 +613,661 @@ container.factoryTitanium=工厂 container.fluidtank=储罐 container.fileCabinet=文件柜 container.forceField=力场发生器 -container.frackingTower=水力压裂塔 -container.furnaceCombination=复式炼焦炉 -container.furnaceIron=铁炉 -container.furnaceSteel=钢炉 +container.frackingTower=压裂式钻塔 +container.furnaceCombination=组合炉 +container.furnaceIron=铁制熔炉 +container.furnaceSteel=钢制熔炉 container.fusionMultiblock=大型聚变反应堆 container.fusionaryWatzPlant=Watz聚变反应堆 container.gasCentrifuge=气体离心机 -container.gasFlare=高架火炬 -container.generator=研究型反应堆 -container.hadron=粒子加速器 +container.gasFlare=废气燃烧塔 +container.generator=核反应堆(旧) +container.hadron=粒子加速对撞分析机 container.heaterFirebox=燃烧室 container.heaterHeatex=热交换器 -container.heaterOilburner=流体燃烧器 +container.heaterOilburner=液体燃料燃烧室 container.heaterOven=加热炉 container.iGenerator=工业发电机 container.keyForge=锁匠桌 container.launchPad=导弹发射台 -container.launchTable=大型发射台 -container.machineBoiler=锅炉 +container.launchTable=大型导弹发射台 +container.leadBox=安全箱 +container.machineBoiler=原油加热器 container.machineCMB=CMB炼钢炉 container.machineCoal=火力发电机 container.machineCrucible=坩埚 container.machineDiesel=柴油发电机 -container.machineElectricBoiler=电锅炉 -container.machineFEL=FEL自由电子激光器 +container.machineElectricBoiler=电力原油加热器 +container.machineFEL=FEL container.machineITER=聚变反应堆 container.machineLargeTurbine=工业汽轮机 container.machineLiquefactor=液化机 -container.machineMixer=工业搅拌机 +container.machineMixer=工业混合机 container.machineRefinery=炼油厂 -container.machineSelenium=星型发动机 +container.machineSelenium=星型径向性能发电机 container.machineShredder=粉碎机 -container.machineSILEX=SILEX激光同位素分离室 +container.machineSILEX=同位素激光分离室 container.machineSolidifier=固化机 container.machineTurbine=汽轮机 -container.machineTurbofan=涡扇发动机 -container.machine_schrabidium_transmutator=Sa326嬗变装置 -container.massStorage=存储 +container.machineTurbofan=涡扇发电机 +container.machine_deuterium=氘提取器 +container.machine_schrabidium_transmutator=Sa326异变铀金属嬗变装置 +container.massStorage=存储器 container.microwave=微波炉 -container.miningDrill=自动采矿钻机 -container.miningLaser=采矿激光 -container.missileAssembly=导弹装配台 +container.miningDrill=采矿钻机 +container.miningLaser=自动激光采矿钻机 +container.missileAssembly=自定义导弹装配台 container.nukeBoy=小男孩 container.nukeCustom=自定义核弹 container.nukeFleija=F.L.E.I.J.A. -container.nukeFstbmb=野火炸弹 +container.nukeFstbmb=BF炸弹 container.nukeFurnace=核熔炉 container.nukeGadget=小玩意 container.nukeMan=胖子 container.nukeMike=常青藤迈克 -container.nukeN2=N2炸弹 +container.nukeN2=N²炸弹 container.nukeN45=N45水雷 container.nukePrototype=原型 container.nukeSolinium=蔚蓝洗礼 container.nukeTsar=沙皇炸弹 -container.oilWell=钻油塔 +container.oilWell=石油钻井塔 container.orbus=重型反物质储罐 container.plasmaHeater=等离子加热器 container.press=火力锻压机 container.puf6_tank=六氟化钚储罐 -container.pumpjack=石油钻机 +container.pumpjack=梁式抽油机 container.radGen=辐射能量发电机 container.radar=雷达 -container.radiobox=FM发射机 -container.radiolysis=RTG辐射裂解室 -container.radiorec=FM收音机 +container.radiobox=FM调频发射机 +container.radiolysis=RTG发电机与辐解室 +container.radiorec=FM调频收音机 container.rbmkBoiler=RBMK石墨式反应堆蒸汽管道 container.rbmkControl=RBMK石墨式反应堆控制棒 container.rbmkControlAuto=RBMK石墨式反应堆自动控制棒 -container.rbmkHeater=RBMK流体加热器 +container.rbmkHeater=RBMK石墨式反应堆流体加热器 container.rbmkOutgasser=RBMK石墨式反应堆辐照通道 -container.rbmkReaSim=RBMK石墨式反应堆燃料棒 (ReaSim) +container.rbmkReaSim=RBMK石墨式反应堆燃料棒(雷西姆) container.rbmkRod=RBMK石墨式反应堆燃料棒 -container.rbmkStorage=RBMK 燃料存储棒 +container.rbmkStorage=RBMK石墨式反应堆存储柱 container.reactorBreeding=增殖反应堆 -container.reactorControl=反应堆遥控模块 +container.reactorControl=反应堆远程控模块 container.reactorLarge=大型核反应堆 -container.reactorResearch=研究型反应堆 +container.reactorResearch=研究性核反应堆 container.reix=Rei-X主机 container.rtg=放射性同位素发电机 container.rtgFurnace=放射性同位素热力炉[RTG] -container.rttyReceiver=无线红石接收器 -container.rttySender=无线红石发射器 +container.rttyReceiver=红石无线信号接收器 +container.rttySender=红石无线信号发送器 container.safe=保险箱 container.satDock=卸货平台 -container.satLinker=卫星ID管理 +container.satLinker=卫星ID管理器 container.siren=警报器 container.soyuzCapsule=货物着陆舱 -container.soyuzLauncher=联盟号发射平台 +container.soyuzLauncher=联盟号巨型运载火箭发射平台 container.storageDrum=核废料处理桶 -container.teleLinker=炮塔ID管理 +container.teleLinker=炮塔ID管理器 container.teleporter=传送机 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.turretArty=格雷格 +container.turretChekhov=契诃夫之枪 +container.turretFriendly=友好先生 +container.turretHIMARS=亨利 +container.turretJeremy=杰里米 +container.turretMaxwell=麦克斯韦 +container.turretRichard=理查德 +container.turretSentry=布朗 +container.turretTauon=负陶子炮 container.uf6_tank=六氟化铀储罐 -container.wasteDrum=乏燃料池 -container.watzPowerplant=Watz发电厂 -container.zirnox=锆诺克斯核反应堆 +container.vacuumDistill=真空精炼厂 +container.wasteDrum=乏核燃料冷却池 +container.watzPowerplant=Watz瓦茨发电塔 +container.zirnox=锆诺克斯反应堆 + crucible.aa=高级合金生产 +crucible.cdalloy=镉钢合金生产 +crucible.cmb=CMB钢生产 crucible.ferro=铀铁合金生产 -crucible.hematite=赤铁矿炼铁 +crucible.hematite=赤铁矿->铁 生产 crucible.hss=高速钢生产 -crucible.malachite=孔雀石炼铜 +crucible.malachite=孔雀石->铜 生产 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.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.radiolysis.desc=§9说明§r$该RTG比其他RTG更高效,并且$配备了一个用于$裂解和灭菌的辐解室。 -desc.gui.rtgBFurnace.desc=处理$金-198需要至少15热量。此外,热量越多,运行速度越快$金-198可能会衰变为水银 -desc.gui.rtg.heat=§e当前热等级:%s -desc.gui.rtg.pellets=接受的靶丸: +crucible.steel=钢生产 +crucible.steelMeteoric=陨铁->钢 生产 +crucible.steelPig=生铁->钢 生产 +crucible.steelWrought=锻铁->钢 生产 +crucible.tcalloy=锝-钢合金生产 + +death.attack.acid=%1$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.blender=%1$s 被切割成了很小的,以Byte计数的单位. +death.attack.boat=%1$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 因为被 %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.item.pileRod=§e用于插入钻削过的石墨$§e使用螺丝刀翘出$ +desc.item.rtgDecay=衰变为: %s +desc.item.rtgHeat=热量级别: %s +desc.item.wasteCooling=在乏燃料池中冷却 +desc.item.zirnoxBreedingRod=§2[ZIRNOX锆诺克斯反应堆增殖棒]$§e放在燃料棒旁边以增殖$§e持续 %d ticks +desc.item.zirnoxRod=§a[ZIRNOX锆诺克斯反应堆燃料棒]$§e产生 %1$d 热量每tick$§e持续 %2$d ticks +desc.gui.assembler.warning=§c错误:§r 错误:此装配机需要组装机模板! +desc.gui.chemplant.warning=§c错误:§r 此化工装置需要化学配方模板! +desc.gui.gasCent.enrichment=§2浓缩§r$铀浓缩需要多个离心机串联.$两个离心串联$将仅分离出铀238,$四个离心串联将完全分离六氟化铀. +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.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.gui.rtg.pelletPower=%s (%s HE/tick) +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$二氧化碳将热量从反应堆核心转移到水中.$这会把水加热成蒸汽. $冷却和蒸汽生产的$效率取决于压力大小. +desc.gui.zirnox.pressure=§6压力§r$可以通过减少反应堆中的CO2量来降低压力.$但是, 压力过低, 冷却效率和$蒸汽产量会降低.$小心熔毁! +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_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_no_explode3=- 无溅射伤害 +desc.item.ammo.con_no_fire=- 无燃烧 +desc.item.ammo.con_no_mirv=- 不推荐使用分导式多弹头M24核弹发射器发射 +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.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_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=* 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.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=* 没有任何负面作用 lol +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=+ B.F.野火 +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_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_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_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=+ 火箭弹 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_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.armorMod.display=来显示该盔甲上所安装的配件的效果 +desc.item.battery.charge=电量: %s / %sHE +desc.item.battery.chargePerc=电量: %s%% +desc.item.battery.chargeRate=充电速率: %sHE/tick +desc.item.battery.dischargeRate=放电速率: %sHE/tick +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.ammoTypeAlt=特殊弹药: %s desc.item.gun.damage=伤害: %s - %s desc.item.gun.damageAlt=伤害: %s -desc.item.gun.lore=查看深入的知识 +desc.item.gun.lore=查看深入的传说 desc.item.gun.loreFunc=查看深入功能 desc.item.gun.manufacturer=制造商: %s -desc.item.gun.name=名称: %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.rtgDecay=衰变为:%s -desc.item.rtgHeat=功率级别:%s +desc.item.gun.name=枪械名称: %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.rtgDecay=衰变为: %s +desc.item.rtgHeat=功率水平: %s desc.item.storage.capacity=容量 %s%%s -desc.item.storage.proscons=查看利弊列表 +desc.item.storage.proscons=to view pros cons list desc.misc.357=.357 马格南 desc.misc.556=.223 雷明顿 -desc.misc.762=.308 温彻斯特 -desc.misc.func=§n-- 作用 -- +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.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.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=上古鸭神 +desc.misc.noPos=未设置触发位置! +desc.misc.pos=设置触发位置为 : %s, %s, %s +desc.misc.posSet=触发位置已设置! +desc.item.wasteCooling=在乏燃料池罐中冷却 +desc.item.zirnoxBreedingRod=§2[ZIRNOX镁诺克斯反应堆增殖棒]$§e放在燃料棒旁边以增殖$§e持续 %d ticks +desc.item.zirnoxRod=§a[ZIRNOX镁诺克斯反应堆燃料棒]$§eGenerates %1$d 热量每tick$§e持续 %2$d ticks + +digamma.playerDigamma=玩家Ϝ迪伽马辐照水平: +digamma.playerHealth=玩家所受Ϝ迪伽马辐照影响: +digamma.playerRes=玩家Ϝ迪伽马防护水平: +digamma.title=玩家Ϝ迪伽马辐射自检器 + +entity.entity_cyber_crab.name=机械螃蟹 +entity.entity_elder_one.name=Quackos古老者 entity.entity_fucc_a_ducc.name=鸭子 -entity.entity_ntm_fbi.name=FBI探员 +entity.entity_ntm_fbi.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_nuclear_creeper.name=核爆爬行者 +entity.entity_mob_phosgene_creeper.name=光气爬行者 entity.entity_mob_tainted_creeper.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.entity_taint_crab.name=腐化机械螃蟹 +entity.entity_tesla_crab.name=磁暴机械螃蟹 +entity.hbm.entity_balls_o_tron.name=世-界-毁-灭-者 O-TRON +entity.hbm.entity_balls_o_tron_seg.name=世-界-毁-灭-者 O-TRON 躯干 entity.hbm.entity_bullet.name=子弹 entity.hbm.entity_rocket.name=火箭弹 -entity.hbm.entity_schrabnel.name=Schrabnel -flare.ignition=点火装置 -flare.valve=流量阀 +entity.hbm.entity_schrabnel.name=弹片 + +flare.ignition=点火开关 +flare.valve=燃气阀门 + fluid.acid_fluid=酸 fluid.corium_fluid=堆芯熔融物 fluid.mud_fluid=毒泥 -fluid.schrabidic_fluid=Sa酸 +fluid.schrabidic_fluid=Sa326元素酸液 fluid.toxic_fluid=绿色软泥 -fluid.volcanic_lava_fluid=火山熔岩 -foundry.filter=筛选器:%s -foundry.inverted=红石信号反转 +fluid.volcanic_lava_fluid=火山岩浆 + +foundry.filter=过滤: %s +foundry.inverted=红石控制反转 foundry.invertFilter=过滤器反转 -foundry.noCast=未安装模具! -geiger.chunkRad=当前区块辐射: +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=英国宇航系统公司 +geiger.playerRad=玩家辐射量: +geiger.playerRes=玩家辐射抗性: +geiger.title=盖格计数器 +geiger.title.dosimeter=放射量测定器 + +gun.make.ARMALITE=阿玛莱特 +gun.make.AUTO_ORDINANCE=AOC美国自动武器公司 +gun.make.BAE=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.ENZINGER=Enzinger工会 -gun.make.EQUESTRIA=小马国导弹系统 -gun.make.FLIMFLAM=FlimFlam“欺骗”工业 -gun.make.F_STRONG=史特朗堡 -gun.make.GLORIA=GLORIA公司 +gun.make.CERIX=塞里克斯·马格努斯铸造世界 +gun.make.COLT=柯尔特公司 +gun.make.COMBINE=多维空间联合帝国 +gun.make.CUBE=魔方2: 醋焖牛肉 +gun.make.ENZINGER=恩辛格联盟 +gun.make.EQUESTRIA=小马国导弹系统公司 +gun.make.FLIMFLAM="欺骗" 工业 +gun.make.F_STRONG=斯特朗堡 +gun.make.GLORIA=格洛里亚股份有限公司 gun.make.HASBRO=孩之宝 -gun.make.H_AND_K=黑克勒和科赫武器公司 -gun.make.H_AND_R=哈林顿-理查森武器公司 +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.IMI=以色列军事工业公司 +gun.make.IMI_BIGMT=以色列军事工业公司 / 巨山研发中心 +gun.make.LANGFORD=兰福德研究实验室 gun.make.LUNA=月球防御公司 -gun.make.MAGNUM_R_IMI=马格南研究公司 / 以色列军事工业公司 -gun.make.MANN=Open Mann Co. -gun.make.MAXIM=海勒姆·马克沁 -gun.make.METRO=地铁枪手 +gun.make.MAGNUM_R_IMI=马格南武器研究所 / 以色列军事工业公司 +gun.make.MANN=开放曼恩公司.. +gun.make.MAXIM=海勒姆·史蒂文斯·马克沁 +gun.make.METRO=<<地铁>>中的军械工人 gun.make.MWT=MWT原型实验室 -gun.make.NAZI=埃尔福特机械制造厂 +gun.make.NAZI=埃尔马.威客兵工厂 gun.make.NONE=- -gun.make.RAYTHEON=导弹系统公司 +gun.make.RAYTHEON=雷神导弹系统公司 gun.make.ROCKWELL=罗克韦尔国际公司 -gun.make.ROCKWELL_U=罗克韦尔国际公司? +gun.make.ROCKWELL_U=罗克韦尔国际公司? gun.make.RYAN=莱恩工业 -gun.make.SAAB=萨博博福斯动力公司 -gun.make.SACO=萨科防卫军械 -gun.make.TULSKY=图拉武器厂 -gun.make.UAC=联合宇宙航空公司 +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.make.WESTTEK=西部科技 +gun.make.WGW=威廉·古斯特洛夫·沃克 +gun.make.WINCHESTER=温彻斯特连发轻武器公司 +gun.make.WINCHESTER_BIGMT=温彻斯特连发轻武器公司 / 巨山研发中心 + +gun.name.ar15_50=AR-15 .50 BMG 模式 +gun.name.baeAR=不列颠标准型突击步枪 +gun.name.bel=B.F.反物质蛋弹射器 +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爆弹枪 -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 蹄铁 Silver Storm -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.bolter=曼提柯尔花纹爆弹枪 +gun.name.cPython=Colt Python +gun.name.cz53=CZ53单兵火神炮 +gun.name.cz57=CZ57复仇火神炮 +gun.name.dart=气动射针枪 +gun.name.deagle=IMI沙漠之鹰 +gun.name.emp=EMP磁暴步枪 +gun.name.extinguisher=PROTEX6kg灭火器 +gun.name.ffiV=普通左轮手枪 +gun.name.ffiVInox=强化左轮手枪 +gun.name.ffiVLead=核子左轮手枪 +gun.name.ffiVN1=梦魇左轮手枪(初代) +gun.name.ffiVN2=梦魇左轮手枪(黑暗) +gun.name.ffiVUltra=Sa326元素左轮手枪 +gun.name.ffivBling=黄金左轮手枪 +gun.name.ffivSatur=土星金属手枪 +gun.name.g36=Heckler & Koch Gewehr 36 +gun.name.gPistol=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卡尔火箭筒 +gun.name.ks23=萨缪尔-23大口径霰弹枪 +gun.name.lacunae=CZ33地狱火神 +gun.name.lasetDet=霍普维尔激光引爆器 +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.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=M2式勃朗宁大口径重机枪 -gun.name.m42=M-42战术核弹发射器 -gun.name.m42MIRV=M-42实验MIRV -gun.name.m60=7.62毫米口径M60机枪 +gun.name.m2=Browning machine gun, cal. .50, M2, HB +gun.name.m42=M-42战术核弹射器 +gun.name.m42MIRV=M-42 核弹弹射器"试验性子母弹头 +gun.name.m60=Machine Gun, Caliber 7.62 mm, 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.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.maximDouble=双管马克沁机枪 +gun.name.mg3=通用MG3机枪 - .50 模式 +gun.name.mp40=Mp40冲锋枪 +gun.name.nerf=NERF blaster of unknown design +gun.name.osipr=看守者暗能量脉冲步枪 +gun.name.panz=坦克杀手54 +gun.name.quadro=四联装制导便携式电视制导导弹发射器 +gun.name.revolverCursed=被诅咒的不列颠标准发行版左轮手枪 +gun.name.sauer=斯坦.索尔的萨缪尔-23霰 +gun.name.spas12= +gun.name.spiw=H&R弗莱切特镖 +gun.name.stinger=FIM-92“毒刺”便携式防空导弹 +gun.name.stingerOneSky=天马防空导弹 +gun.name.supershotty=Double-Barreled Combat Shotgun +gun.name.tau=XVL1456 负陶子加农炮原型 +gun.name.tommy9=9mm口径M1A1冲锋枪 gun.name.tommy=M1A1冲锋枪 -gun.name.topaz=重型火焰燃烧器 -gun.name.uacCarbine=UAC-41卡宾枪 +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-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=温彻斯特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=分析室启动(如果存在) +gun.name.uboinik=先进制式霰弹枪 +gun.name.uzi=IMI乌齐冲锋枪 +gun.name.uziSatur=IMI D-25A乌齐冲锋枪 +gun.name.win1887=1887温彻斯特霰弹枪(原型) +gun.name.win1887Inox=1887温彻斯特霰弹枪(黑暗) +gun.name.win20Inox温彻斯特拉栓步枪(原型) +gun.name.win20Poly=温彻斯特拉栓步枪(绿) +gun.name.win20Satur=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.idle=空闲 -hadron.modeCircular=§e环形加速器模式:$磁铁必须环绕核心$解锁更多配方 -hadron.modeLine=§e直线加速器模式:$加速器末端有分析室$更少的配方 -hadron.noresult=无结果 +hadron.error=错误! +hadron.hopper0=§e普通模式:$所有物品都可用来对撞. +hadron.hopper1=§e过滤模式:$对撞机输入口将始终保留一个物品. +hadron.idle=闲置 +hadron.modeCircular=§e环形加速器模式:$磁力加速通道必须接回加速器核心.$很多制造配方所要求的模式. +hadron.modeLine=§e直线加速器模式:$加速器末端有分析室.$可用的制造配方更少. +hadron.noresult=无结果. hadron.noresult_too_slow=推进力不足! -hadron.noresult_wrong_ingredient=无效配方! -hadron.noresult_wrong_mode=错误模式! +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=惰性气体/沥青 +hadron.stats=上次运行结果: +hadron.stats_coord=错误位置: %s / %s / %s +hadron.stats_momentum=推进力: % +hadron.success=完成! + +hazard.prot=可以提供的危害防护: +hazard.noprot=不能提供的危害防护: +hazard.bacteria=细菌 / 气溶胶 +hazard.corrosive=腐蚀性气体 +hazard.gasChlorine=化学毒气 +hazard.gasInert=惰性气体 / 窒息性气体 hazard.gasMonoxide=一氧化碳 -hazard.light=亮光 +hazard.light=闪光 hazard.nerveAgent=神经毒剂 -hazard.neverProtects=它永远不能防止: -hazard.particleCoarse=空气微粒 -hazard.particleFine=微粒 -hazard.sand=眼睛刺激物 -hbm.key=HBM的核科技mod 热键 +hazard.neverProtects=绝对不会提供的危害防护: +hazard.particleCoarse=大气漂浮颗粒物 +hazard.particleFine=颗粒物 +hazard.sand=眼球刺激物 + +hbm.key=NTM 热键 hbm.key.calculator=计算器 -hbm.key.craneLoad=装卸起重机 -hbm.key.craneMoveDown=向后移动起重机 -hbm.key.craneMoveLeft=向左移动起重机 -hbm.key.craneMoveRight=向右移动起重机 -hbm.key.craneMoveUp=向前移动起重机 +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=装弹 +hbm.key.toggleBack=喷气背包开关 +hbm.key.toggleHUD=装甲HUD显示开关 +hbm.key.reload=装填 + hbmfluid.acid=过氧化氢 hbmfluid.amat=反物质 hbmfluid.aromatics=芳香烃 -hbmfluid.aschrab=反Sa326 -hbmfluid.balefire=野火火箭燃料 +hbmfluid.aschrab=反Sa326施布拉比迪物质 +hbmfluid.balefire=BF反物质火箭燃料 hbmfluid.biofuel=生物燃料 hbmfluid.biogas=沼气 hbmfluid.bitumen=沥青 -hbmfluid.blood=血 -hbmfluid.blood_hot=热的血 +hbmfluid.blood=血液 +hbmfluid.blood_hot=热血液 hbmfluid.carbondioxide=二氧化碳 -hbmfluid.coalcreosote=煤焦杂酚油 +hbmfluid.chlorine=氯气 +hbmfluid.coalcreosote=煤焦油杂酚油 hbmfluid.coalgas=煤汽油 hbmfluid.coalgas_leaded=含铅煤汽油 -hbmfluid.coaloil=煤液化油 +hbmfluid.coaloil=煤焦油 +hbmfluid.colloid=胶体 hbmfluid.coolant=冷却液 hbmfluid.coolant_hot=热冷却液 hbmfluid.crackoil=裂化油 -hbmfluid.cryogel=冷凝胶 -hbmfluid.death=锇酸溶液 +hbmfluid.cryogel=超低温凝胶 +hbmfluid.death=铱锇酸溶液 hbmfluid.deuterium=氘 hbmfluid.diesel=柴油 +hbmfluid.diesel_crack_reform=高辛烷值裂解柴油 +hbmfluid.diesel_reform=高辛烷值柴油 hbmfluid.diesel_crack=裂化柴油 hbmfluid.ethanol=乙醇 -hbmfluid.enderjuice=末影果汁 +hbmfluid.enderjuice=末影液 hbmfluid.fracksol=压裂液 hbmfluid.gas=天然气 -hbmfluid.gasoline=含铅汽油基油 -hbmfluid.gasoline_leaded=含铅汽油 -hbmfluid.heatingoil=燃油 +hbmfluid.gasoline=精制汽油 +hbmfluid.gasoline_leaded=含铅精制汽油 +hbmfluid.heatingoil=民用燃油 +hbmfluid.heatingoil_vacuum=加热重油 hbmfluid.heavyoil=重油 +hbmfluid.heavyoil_vacuum=真空精炼重油 hbmfluid.heavywater=重水 hbmfluid.helium3=氦-3 hbmfluid.hotcrackoil=热裂化油 hbmfluid.hotoil=热原油 hbmfluid.hotsteam=热蒸汽 hbmfluid.hydrogen=液氢 +hbmfluid.iongel=离子凝胶 hbmfluid.kerosene=煤油 +hbmfluid.kerosene_reform=喷气燃料 hbmfluid.lava=岩浆 hbmfluid.lightoil=轻油 hbmfluid.lightoil_crack=裂化轻油 -hbmfluid.lpg=液化石油气 +hbmfluid.lightoil_vacuum=真空精炼轻油 +hbmfluid.lpg=LPG +hbmfluid.lubricant=发动机润滑油 hbmfluid.lubricant=润滑油 hbmfluid.mercury=水银 -hbmfluid.mug=Mug牌树根饮料 -hbmfluid.mug_hot=热的Mug牌树根饮料 -hbmfluid.naphtha=石脑油 -hbmfluid.naphtha_crack=裂化石脑油 -hbmfluid.nitan=NITAN牌100号超级燃料 +hbmfluid.mug=杯根啤酒 +hbmfluid.mug_hot=热杯根啤酒 +hbmfluid.mustardgas=芥子气 +hbmfluid.naphtha=粗气油 +hbmfluid.naphtha_crack=裂化粗气油 +hbmfluid.nitan=NITAN© 100号超级燃料 hbmfluid.nitric_acid=硝酸 hbmfluid.none=无 hbmfluid.oil=原油 hbmfluid.oxygen=液氧 hbmfluid.oxyhydrogen=氢氧混合气 -hbmfluid.pain=Pn(III) 钽铁溶液 -hbmfluid.petroil=汽油 -hbmfluid.petroil_leaded=含铅石油 +hbmfluid.pain=潘地曼尼南(III)钽铁矿溶液 +hbmfluid.petroil=混机油汽油 +hbmfluid.petroil_leaded=含铅混机油汽油 hbmfluid.petroleum=石油气 -hbmfluid.plasma_bf=野火等离子体 -hbmfluid.plasma_dh3=氘-氦3 等离子体 +hbmfluid.phosgene=光气 +hbmfluid.plasma_bf=B.F.反物质等离子体 +hbmfluid.plasma_dh3=氘-氦3等离子体 hbmfluid.plasma_dt=氘-氚等离子体 hbmfluid.plasma_hd=氢-氘等离子体 hbmfluid.plasma_ht=氢-氚等离子体 hbmfluid.plasma_xm=氙-汞等离子体 hbmfluid.puf6=六氟化钚 +hbmfluid.radiosolvent=高性能溶剂 hbmfluid.reclaimed=再生油 +hbmfluid.reformate=重整油 +hbmfluid.reformgas=重整气 hbmfluid.salient=绿色液体 -hbmfluid.sas3=三硫化Sa -hbmfluid.schrabidic=Sa酸 -hbmfluid.seedslurry=播种浆料 +hbmfluid.sas3=三硫化Sa326溶液 +hbmfluid.schrabidic=Sa326元素酸液 +hbmfluid.seedslurry=播种研磨液 hbmfluid.smear=工业油 hbmfluid.solvent=有机溶剂 +hbmfluid.sourgas=含硫天然气 +hbmfluid.sodiumhydroxide=氢氧化钠 hbmfluid.spentsteam=低压蒸汽 hbmfluid.steam=蒸汽 hbmfluid.sulfuric_acid=硫酸 -hbmfluid.superhotsteam=超热蒸汽 +hbmfluid.superhotsteam=高热浓蒸汽 hbmfluid.syngas=合成气 hbmfluid.tritium=氚 hbmfluid.uf6=六氟化铀 -hbmfluid.ultrahotsteam=超浓密蒸汽 +hbmfluid.ultrahotsteam=超热浓蒸汽 hbmfluid.unsaturateds=不饱和烃 hbmfluid.wastefluid=液态核废料 hbmfluid.wastegas=气态核废料 @@ -1215,14 +1276,16 @@ hbmfluid.watz=毒泥浆 hbmfluid.woodoil=木油 hbmfluid.xenon=氙气 hbmfluid.xpjuice=经验汁 +hbmfluid.xylene=BTX苯-甲苯-二甲苯混合物 hbmpseudofluid.none=空 -hbmpseudofluid.heuf6=高浓缩六氟化铀 -hbmpseudofluid.meuf6=中浓缩六氟化铀 -hbmpseudofluid.leuf6=低浓缩六氟化铀 -hbmpseudofluid.nuf6=天然浓度六氟化铀 +hbmpseudofluid.heuf6=高浓缩度六氟化铀 +hbmpseudofluid.meuf6=中浓缩度六氟化铀 +hbmpseudofluid.leuf6=低浓缩度六氟化铀 +hbmpseudofluid.nuf6=未浓缩六氟化铀 hbmpseudofluid.pf6=六氟化钚 -hbmpseudofluid.mud_heavy=重毒泥浆馏分 -hbmpseudofluid.mud=有毒泥浆气体 +hbmpseudofluid.mud_heavy=有毒污泥沉淀物 +hbmpseudofluid.mud=气态有毒污泥 + hbmmat.actinium227=锕-227 hbmmat.advancedalloy=高级合金 hbmmat.aluminum=铝 @@ -1236,44 +1299,48 @@ hbmmat.beryllium=铍 hbmmat.bismuth=铋 hbmmat.borax=硼砂 hbmmat.boron=硼 +hbmmat.cadmium=镉 +hbmmat.cadmium=镉 hbmmat.carbon=碳 +hbmmat.cdalloy=镉钢合金 hbmmat.cinnabar=朱砂 hbmmat.cmbsteel=CMB钢 hbmmat.coal=煤 hbmmat.coalcoke=焦煤 hbmmat.cobalt=钴 hbmmat.cobalt60=钴-60 -hbmmat.coltan=钶钽铁矿 +hbmmat.coltan=钶钽铁 hbmmat.copper=铜 +hbmmat.desh=德什 hbmmat.dineutronium=双聚中子态素 hbmmat.durasteel=高速钢 -hbmmat.euphemium=Ep -hbmmat.ferrouranium=铀铁合金 +hbmmat.euphemium=Ep元素 +hbmmat.ferrouranium=铀铁 hbmmat.fiberglass=玻璃纤维 hbmmat.fluorite=氟石 -hbmmat.flux=助熔剂 -hbmmat.ghiorsium336=Gh-336 +hbmmat.flux=焊剂 +hbmmat.ghiorsium336=气敖-336 hbmmat.gold=金 hbmmat.gold198=金-198 hbmmat.graphene=石墨烯 hbmmat.graphite=石墨 -hbmmat.hematite=赤铁矿 +hbmmat.hematite=赤铁 hbmmat.iron=铁 hbmmat.lapis=青金石 hbmmat.lead=铅 hbmmat.lead209=铅-209 -hbmmat.lignitecoke=褐煤焦煤 +hbmmat.lignitecoke=褐焦煤 hbmmat.lignite=褐煤 hbmmat.lithium=锂 hbmmat.magnetizedtungsten=磁化钨 hbmmat.malachite=孔雀石 hbmmat.meteoriciron=陨铁 -hbmmat.mingrade=工业级铜 +hbmmat.mingrade=紫铜 hbmmat.neptunium237=镎-237 hbmmat.niobium=铌 -hbmmat.obsidian=黑曜岩 -hbmmat.osmiridium=铱锇合金 -hbmmat.petcoke=石油焦炭 +hbmmat.obsidian=黑曜石 +hbmmat.osmiridium=铱锇 +hbmmat.petcoke=石油焦 hbmmat.pigiron=生铁 hbmmat.plutonium=钚 hbmmat.plutonium238=钚-238 @@ -1284,22 +1351,22 @@ hbmmat.plutoniumrg=反应堆级钚 hbmmat.polonium210=钋-210 hbmmat.polymer=聚合物 hbmmat.radium226=镭-226 -hbmmat.redphosphorus=红磷 +hbmmat.redphosphorus=紫铜 hbmmat.redstone=红石 hbmmat.rubber=橡胶 hbmmat.saltpeter=硝石 -hbmmat.saturnite=土星锭 -hbmmat.schrabidate=Sa酸铁 -hbmmat.schrabidium=低丰度Sa326 -hbmmat.schraranium=Sa326 +hbmmat.saturnite=土星 +hbmmat.schrabidate=Sa326元素酸化铁 +hbmmat.schrabidium=Sa326异变铀金属 +hbmmat.schraranium=低丰度Sa326异变铀金属 hbmmat.slag=炉渣 -hbmmat.solinium=Sa327 -hbmmat.starmetal=星辉 +hbmmat.solinium=Sa327索林 +hbmmat.starmetal=星辉金属 hbmmat.steel=钢 hbmmat.stone=石头 hbmmat.sulfur=硫 hbmmat.tantalum=钽 -hbmmat.tcalloy=锝钢 +hbmmat.tcalloy=锝-钢合金 hbmmat.technetium99=锝-99 hbmmat.titanium=钛 hbmmat.thorium232=钍-232 @@ -1308,9 +1375,11 @@ hbmmat.uranium=铀 hbmmat.uranium233=铀-233 hbmmat.uranium235=铀-235 hbmmat.uranium238=铀-238 +hbmmat.watzmud=毒泥浆 hbmmat.whitephosphorus=白磷 -hbmmat.workersalloy=Desh +hbmmat.workersalloy=德什 hbmmat.wroughtiron=锻铁 + matshape.block=%s 块 matshape.blocks=%s 块 matshape.ingot=%s 锭 @@ -1319,25 +1388,27 @@ matshape.nugget=%s 粒 matshape.nuggets=%s 粒 matshape.quantum=%s 量子 matshape.quanta=%s 量子 -info.asbestos=我感觉我的肺在燃烧。 -info.coaldust=在这里很难呼吸。 -info.coil=线圈强度 -info.templatefolder=需要使用机器模板文件夹创建 + +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 动力装甲胸甲 +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=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=高级合金头盔 @@ -1347,182 +1418,191 @@ 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_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_22lr_ap.name=.22LR子弹[穿甲弹] +item.ammo_22lr_chlorophyte.name=.22 LR弹药 [绿藻] +item.ammo_357_desh.name=.357马格南德什子弹 item.ammo_44.name=.44马格南子弹 -item.ammo_44_ap.name=.44马格南子弹[AP] +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_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_44_silver.name=.44马格南子弹[建筑物] +item.ammo_44_star.name=.44马格南子弹[星辉金属] +item.ammo_45.name=.45 ACP子弹 +item.ammo_45_ap.name=.45 ACP子弹[穿甲弹] +item.ammo_45_du.name=.45 ACP子弹[贫铀涂层] +item.ammo_4gauge.name=四口径鹿弹 +item.ammo_4gauge_balefire.name=23mmB.F.反物质榴弹 +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_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_4gauge_sleek.name=4口径鹿弹[IF-R&D] +item.ammo_4gauge_slug.name=四口径实心独头弹 +item.ammo_4gauge_titan.name=四口径泰坦杀手弹 +item.ammo_4gauge_semtex.name=23mm挖掘榴弹 +item.ammo_4gauge_sleek.name=4口径霰弹[IF-R&D] +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_50ae_ap.name=.50AE子弹[穿甲弹] +item.ammo_50ae_chlorophyte.name=.50 AE弹药绿藻] +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_ap.name=.50 BMG子弹[穿甲弹] +item.ammo_50bmg_chlorophyte.name=.50 BMG弹药[绿藻] +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_phosphorus.name=.50BMG子弹[白磷弹] item.ammo_50bmg_sleek.name=.50BMG子弹[IF-R&D] -item.ammo_50bmg_star.name=.50BMG子弹[星辉] +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_ap.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_chlorophyte.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_556_star.name=5.56mm子弹 [星辉金属] +item.ammo_556_tracer.name=5.56mm Round[曳光弹] item.ammo_5mm.name=5mm子弹 -item.ammo_5mm_chlorophyte.name=5mm子弹[叶绿] -item.ammo_5mm_du.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_5mm_star.name=5mm子弹[星辉金属] +item.ammo_75bolt.name=.75爆弹枪火箭推进弹药[30发] +item.ammo_75bolt_incendiary.name=.75 爆弹枪火箭推进弹药[燃烧] +item.ammo_75bolt_he.name=.75 爆弹枪火箭推进弹药[高爆] 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_762_ap.name=7.62mm子弹[穿甲弹] +item.ammo_762_du.name=7.62mm子弹[贫铀涂层] +item.ammo_762_k.name=7.62mmK-子弹 +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_ap.name=9mm子弹[穿甲弹] +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_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_nuke.name=16英寸核炮弹 -item.ammo_arty_phosphorus.name=16英寸磷炮弹 -item.ammo_arty_phosphorus_multi.name=16英寸多弹头磷炮弹 -item.ammo_cell.name=能量单元 +item.ammo_arty.name=16" 重炮炮弹 +item.ammo_arty_cargo.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_nuke.name=16" 重炮核炮弹 +item.ammo_arty_phosphorus.name=16" 白磷重炮炮弹 +item.ammo_arty_phosphorus_multi.name=16" 集束白磷重炮炮弹 +item.ammo_cell.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_dart.name=塑料飞镖 [凋零] +item.ammo_dart_nerf.name=NERF飞镖 +item.ammo_dart_nuclear.name=塑料飞镖 [定时爆炸] +item.ammo_fireext.name=灭火器水罐 +item.ammo_fireext_foam.name=灭火器泡沫罐 +item.ammo_fireext_sand.name=灭火器硼砂罐 +item.ammo_dgk.name=200发双管近防炮"霍华德"弹药箱 item.ammo_folly.name=银弹 -item.ammo_folly_du.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_fuel_vaporizer.name=挥发性燃料罐 + item.ammo_grenade.name=40mm榴弹 item.ammo_grenade_concussion.name=40mm榴弹[震荡] -item.ammo_grenade_finned.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_nuclear.name=40mm榴弹[核子] -item.ammo_grenade_phosphorus.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_toxic.name=40mm榴弹[化学毒气] item.ammo_grenade_tracer.name=40mm训练榴弹 -item.ammo_himars_standard.name=M28制导炮兵火箭弹舱 -item.ammo_himars_single.name=M39A1制导炮兵火箭弹舱 -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 +tem.ammo_himars_standard.name=227mm 制导火炮火箭吊舱 +item.ammo_himars_standard_he.name=227mm 制导火炮火箭吊舱(高爆弹头) +item.ammo_himars_standard_mini_nuke.name=227mm 制导火炮火箭吊舱(小型核弹头) +item.ammo_himars_standard_tb.name=227mm 制导火炮火箭吊舱(温压弹头) +item.ammo_himars_standard_wp.name=227mm 制导火炮火箭吊舱(白磷弹头) +item.ammo_himars_single.name=610mm 制导火炮火箭吊舱 +item.ammo_himars_single_tb.name=610mm制导火炮火箭吊舱(温压弹头) +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=迷你 MILV item.ammo_nuke.name=迷你核弹 item.ammo_nuke_barrel.name=小型核废料桶 -item.ammo_nuke_high.name=迷你核弹 (高当量) -item.ammo_nuke_low.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_nuke_safe.name=迷你核弹 (安全) +item.ammo_nuke_tots.name=迷你核弹 (小型散射弹丸) + item.ammo_rocket.name=84mm火箭弹 -item.ammo_rocket_canister.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_emp.name=84mm火箭弹[EMP电磁脉冲] item.ammo_rocket_glare.name=84mm火箭弹[红光] -item.ammo_rocket_he.name=84mm火箭弹[HE] +item.ammo_rocket_he.name=84mm火箭弹[高爆] item.ammo_rocket_incendiary.name=84mm火箭弹[燃烧] item.ammo_rocket_nuclear.name=84mm火箭弹[核子] -item.ammo_rocket_phosphorus.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_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_shell_apfsds_du.name=240mm尾翼稳定脱壳贫铀穿甲炮弹 +item.ammo_shell_apfsds_t.name=240mm尾翼稳定脱壳钨心穿甲炮弹 +item.ammo_shell_explosive.name=240mm高爆炮弹 +item.ammo_shell_w9.name=240mmW9核炮弹 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.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=空白反应催化剂 @@ -1531,36 +1611,36 @@ 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_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_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_thingy.name=暮光闪闪的皇冠[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.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.analyzer.name=分析仪 -item.anchor_remote.name=召回设备 +item.anchor_remote.name=召回装置 item.antiknock.name=四乙基铅抗爆剂 -item.apple_euphemium.name=Ep苹果 +item.apple_euphemium.name=Ep元素苹果 item.apple_lead.name=铅苹果 -item.apple_schrabidium.name=Sa326苹果 +item.apple_schrabidium.name=Sa326异变铀金属苹果 item.arc_electrode.name=石墨电极 -item.arc_electrode_burnt.name=熔化电极 -item.arc_electrode_desh.name=Desh电极 -item.armor_polish.name=亮甲牌装甲抛光剂 +item.arc_electrode_burnt.name=熔化的电极 +item.arc_electrode_desh.name=德什电极 +item.armor_polish.name=闪甲™ 盔甲抛光剂 item.asbestos_boots.name=防火靴 item.asbestos_cloth.name=防火布 item.asbestos_helmet.name=防火头盔 @@ -1572,81 +1652,82 @@ 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_desh.name=德什子弹[待装配] item.assembly_gold.name=金子弹[待装配] item.assembly_iron.name=铁子弹[待装配] item.assembly_lacunae.name=.5mm子弹[待装配] -item.assembly_lead.name=玻璃子弹[待装配] -item.assembly_luna.name=Lunatic狙击子弹[待装配] +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=Sa326子弹[待装配] +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_steel.name=铅弹[待装配] item.assembly_template.name=装配机模板: item.assembly_uzi.name=.22 LR子弹[待装配] -item.attachment_mask.name=附加型防毒面具 -item.attachment_mask_mono.name=可接入式半面罩防毒面具 +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.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_tnt.name=TNT炸药 -item.ballistic_gauntlet.name=防弹护具 +item.ball_tatb.name=TATB三氨基三硝基苯 +item.ball_tnt.name=TNT +item.ballistic_gauntlet.name=爆破拳套 item.ballistite.name=混合无烟火药 -item.bandaid.name=邦迪创可贴 +item.bandaid.name=绷带 item.bathwater.name=有毒肥皂水 -item.bathwater_mk2.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_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_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_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=自充电锝-99电池 +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.beta.name=Bata测试版功能 +item.battery_trixite.name=崔克希电池 +item.beta.name=测试版功能 item.big_sword.name=大剑 item.billet_actinium.name=锕-227坯料 -item.billet_am_mix.name=反应堆级镅坯料 +item.billet_am_mix.name=反应器级镅坯料 item.billet_am241.name=镅-241坯料 item.billet_am242.name=镅-242坯料 item.billet_americium_fuel.name=镅燃料坯料 @@ -1659,20 +1740,20 @@ 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_flashlead.name=激活态铅坯料 +item.billet_flashlead.desc=晶格衰变, 引起反物质湮灭反应, $导致π介子释放, $衰变为μ介子, 催化原子核聚变, $产生新的元素$请尽量跟上. +item.billet_gh336.name=气敖-336坯料 +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_polonium.name=钋-210坯料 item.billet_pu_mix.name=反应堆级钚坯料 item.billet_pu238.name=钚-238坯料 item.billet_pu238be.name=钚238-铍坯料 @@ -1680,47 +1761,52 @@ 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_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_solinium.name=Sa327坯料 +item.billet_schrabidium.name=Sa326异变铀金属坯料 +item.billet_schrabidium_fuel.name=Sa326异变铀金属核燃料坯料 +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_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_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=ZFB锆混合钚-241快速增殖坯料 item.billet_zirconium.name=锆坯料 -item.bio_wafer.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_pickaxe.name=铋镐 -item.bismuth_plate.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.bj_boots.name=§b[月 神]§r 铆钉靴 +item.bj_helmet.name=敌我目标实体识别仪 +item.bj_legs.name=§b[月 神]§r 神经接入式腿部外骨骼盔甲 +item.bj_plate.name=§b[月 神]§r 神经接入式全自动动力盔甲 +item.bj_plate_jetpack.name=§b[月 神]§r 神经接入式全自动动力盔甲(带等离子推进器) +item.black_diamond.name=黑钻石 item.black_hole.name=微型黑洞 -item.blade_meteorite.name=陨石刀 -item.blade_titanium.name=钛扇片 -item.blade_tungsten.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_aluminium.name=铝制刀片 +item.blades_combine_steel.name=CMB钢刀片 +item.blades_desh.name=德什制刀片 +item.blades_gold.name=金制刀片 +item.blades_iron.name=铁制刀片 +item.blades_schrabidium.name=Sa326异变铀金属刀片 item.blades_steel.name=钢制刀片 item.blades_titanium.name=钛制刀片 item.blowtorch.name=喷灯 @@ -1733,15 +1819,16 @@ item.bobmazon_weapons.name=Bobmazon: 武器和爆炸物 item.bolt_compound.name=加强涡轮机轴 item.bolt_dura_steel.name=高速钢螺栓 item.bolt_tungsten.name=钨螺栓 +item.boltgun.name=气动铆钉枪 item.bomb_caller.name=空袭指示器 item.bomb_waffle.name=大规模杀伤性华夫饼 -item.book_guide.name=HBM指导书 +item.book_guide.name=RBMK反应堆操作指导书 item.book_of_.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_fritz.name=Fritz弗里茨可乐 +item.bottle2_fritz_special.name=第一Fritz可乐 +item.bottle2_korl.name=库尔勒瓶盖 item.bottle2_korl_special.name=第一Korl item.bottle2_sunset.name=夕阳沙士 item.bottle_cherry.name=樱桃味核子可乐 @@ -1750,24 +1837,24 @@ 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.boy_bullet.name=铀-235弹头 +item.bottle_rad.name=辐射S~闪闪可乐 +item.bottle_sparkle.name=S~闪闪可乐 +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.boy_target.name=次临界铀235标靶 item.briquette.coal.name=煤球 -item.briquette.lignite.name=褐煤煤球 -item.briquette.wood.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_schrabidic_acid.name=一桶Sa326元素酸液 item.bucket_sulfuric_acid.name=一桶硫酸 item.bucket_toxic.name=一桶绿色软泥 item.burnt_bark.name=烧焦树皮 -item.burnt_bark.desc=爆炸的金橡树的树皮。 +item.burnt_bark.desc=从一棵爆炸的金橡树上剥下的树皮. item.can_bepis.name=白事 item.can_breen.name=布雷恩博士的私人珍藏 item.can_creature.name='生物'能量饮料 @@ -1775,95 +1862,96 @@ 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_mug.name=杯根啤酒 +item.can_overcharge.name=超频'精神错乱' XT 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.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=凝固汽油桶(旧版遗物) +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_asbestos.desc=尝尝石棉肺! item.canned_ass.name=驴罐头 -item.canned_ass.desc=100%优质驴肉!* +item.canned_ass.desc=100%% 优质驴肉!* item.canned_bark.name=松树皮罐头 item.canned_bark.desc=更加的“松”脆! item.canned_beef.name=牛肉罐头 -item.canned_beef.desc=几个世纪前,一头牛为此而死。 +item.canned_beef.desc=几个世纪前,一头牛为此而死. item.canned_bhole.name=黑洞罐头 -item.canned_bhole.desc=奇点是我肚肚里的美味! +item.canned_bhole.desc=奇点是我肚子里的美味! item.canned_cheese.name=融化奶酪罐头 -item.canned_cheese.desc=是奶酪吗?是橡胶水泥吗?谁知道,谁在乎。 +item.canned_cheese.desc=是奶酪?还是橡胶水泥?谁知道,又有谁在乎. item.canned_chinese.name=中餐罐头 -item.canned_chinese.desc=在中国,中餐被称为饭。 +item.canned_chinese.desc=在中国,中餐就被叫做食物. item.canned_diesel.name=柴油罐头 -item.canned_diesel.desc=我渐渐地就抖不出包袱了 +item.canned_diesel.desc=我渐渐地就抖不出包袱了. item.canned_fist.name=拳头罐头 item.canned_fist.desc=给你一拳! item.canned_fried.name=炸鸡罐头 -item.canned_fried.desc=甚至罐头都是油炸的! +item.canned_fried.desc=连罐头都是油炸的! item.canned_hotdogs.name=热狗罐头 -item.canned_hotdogs.desc=不要与冷猫混淆。 -item.canned_jizz.name=FlimFlam工业牌?马奶罐头 +item.canned_hotdogs.desc=不要和冷猫混淆. +item.canned_jizz.name=FlimFlam工业™ 马奶罐头 item.canned_jizz.desc=等等什么—— item.canned_kerosene.name=煤油罐头 -item.canned_kerosene.desc=想象一下这句俏皮的台词。 +item.canned_kerosene.desc=想象一下这里有句好笑的俏皮话. item.canned_leftovers.name=剩菜罐头 item.canned_leftovers.desc=你来的太迟了 item.canned_milk.name=罐装炼乳 -item.canned_milk.desc=牛奶2:比以往任何时候都更固体! +item.canned_milk.desc=炼奶2:比以前更像固体了! item.canned_mystery.name=神秘肉类罐头 -item.canned_mystery.desc=里面是什么?只有一种方法可以找到! +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_pashtet.name=牛排 +item.canned_pashtet.desc=翻译不可用блядь! item.canned_pizza.name=意大利香肠比萨罐头 -item.canned_pizza.desc=反人类罪 +item.canned_pizza.desc=危害人类罪. item.canned_recursion.name=循环罐头 -item.canned_recursion.desc=封闭递归 -item.canned_spam.name=SPAM斯帕姆午餐肉 -item.canned_spam.desc=这段三分半钟的幽默剧是以布朗利虚构的绿侏儒咖啡馆为背景。一位女服务生与不喜欢吃午餐肉的本太太之间发生了争执,女服务生背诵了一份几乎每道菜都含有午餐肉的菜单。本太太要了一道没有午餐肉的菜,这让她爱吃午餐肉的丈夫大吃一惊。女服务员也对这个要求很反感。本先生提出要替换她的午餐肉,并要了一道含有大量午餐肉和烤豆的菜。服务员拒绝了,因为烤豆子已经吃完了;当本先生要求替换午餐肉时,女服务员再次表示厌恶。有几次,餐厅里的一群维京人高声歌唱午餐肉,打断了谈话。那个愤怒的女服务员命令他们闭嘴,但他们依旧大声唱歌。这时一名匈牙利游客来到柜台,试图用一本完全不准确的匈牙利语/英语手册(参考之前的小品)点菜。紧接着这名匈牙利游客就被一名警察迅速护送离开。然后这段幽默剧突然切换镜头,一位历史学家在电视演播室谈论维京人在咖啡馆的起源。他继续说,并开始越来越多地在每一句话中插入“午餐肉”一词。然后背景被抬高,露出背后的餐厅场景。那个历史学家加入了维京人的歌曲,本夫妇通过电线离开现场,而歌声还在继续。在最初的电视表演中,结尾的字幕开始滚动,背景中仍然可以听到歌声。 +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_tube.desc=美味的糊状物. item.canned_tuna.name=金枪鱼罐头 -item.canned_tuna.desc=我不知道那是金枪鱼还是干水泥。 +item.canned_tuna.desc=美味的糊状物. item.canned_yogurt.name=酸奶罐头 -item.canned_yogurt.desc=可能坏掉了,但管它呢 +item.canned_yogurt.desc=可能坏掉了,但管它呢. item.canteen_13.name=Vault13水壶 item.canteen_fab.name=极品伏特加 item.canteen_vodka.name=伏特加 -item.cap_fritz.name=弗里茨瓶盖 +item.cap_aluminium.name=铝盖 +item.cap_fritz.name=Fritz弗里茨可乐瓶盖 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_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披风 @@ -1871,13 +1959,12 @@ 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_schrabidium.name=披风[Sa326施布拉比迪] item.cape_vertice.name=Lord Vertice披风 -item.cart.crate.name=板条箱运输车 +item.cart.crate.name=板条箱车 item.cart.destroyer.name=废品销毁车 item.cart.empty.name=钢箱矿车 item.casing_357.name=.357马格南弹壳[x16] @@ -1886,8 +1973,9 @@ 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_anti_schrabidium.name=反Sa326异变铀金属单元 item.cell_antimatter.name=反物质单元 item.cell_balefire.name=气态野火单元 item.cell_deuterium.name=氘单元 @@ -1901,31 +1989,31 @@ 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.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_pickaxe.name=叶绿镐 -item.chocolate.name=“我是-镭牌”巧克力 -item.chocolate.desc=镭巧克力?我很确定这是冰毒。 +item.chocolate.name=伊蒂斯牌镭巧克力 +item.chocolate.desc=镭巧克力?很确定这只是冰毒. item.chocolate_milk.name=巧克力牛奶 item.chopper.name=猎人直升机 item.chopper_blades.name=猎人直升机旋翼 @@ -1946,47 +2034,47 @@ 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.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_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.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_star.name=星控 控制电路板 +item.circuit_star.desc=当前无法使用, 因为它缺少一个操作系统. +item.circuit_star_component.chipset.name=星控 - 总芯片组 +item.circuit_star_component.cpu.name=星控 - 中央处理器 +item.circuit_star_component.ram.name=星控 - 内存 +item.circuit_star_piece.board_blank.name=星控 - 印刷电路板 +item.circuit_star_piece.board_transistor.name=星控 - 晶体管 +item.circuit_star_piece.bridge_bios.name=星控- BIOS基本输入输出系统芯片 +item.circuit_star_piece.bridge_bus.name=星控 - BUS总线 +item.circuit_star_piece.bridge_chipset.name=星控 - 芯片组 +item.circuit_star_piece.bridge_cmos.name=星控 - CMOS RAM随机存取存储器 +item.circuit_star_piece.bridge_io.name=星控 - IO芯片 +item.circuit_star_piece.bridge_north.name=星控 - 北桥芯片集 +item.circuit_star_piece.bridge_south.name=星控 - 南桥芯片集 +item.circuit_star_piece.cpu_cache.name=星控 - 中央处理器缓存 +item.circuit_star_piece.cpu_clock.name=星控 - CPU时钟 +item.circuit_star_piece.cpu_ext.name=星控 - 延伸砷半导体 +item.circuit_star_piece.cpu_logic.name=星控 - 算术逻辑单元 +item.circuit_star_piece.cpu_register.name=星控 - CPU寄存器 +item.circuit_star_piece.cpu_socket.name=星控 - CPU插座 +item.circuit_star_piece.mem_socket.name=星控 - 内存插座 +item.circuit_star_piece.mem_16k_a.name=星控 - 16k内存条插槽A +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_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_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.clip_bf.name=两包野火子弹 +item.clip_bf.name=两包BF-子弹 item.clip_bolt_action.name=盒装12x74独头弹 item.clip_cryolator.name=急冻单元箱 item.clip_defabricator.name=毁灭者能量电池弹药带 @@ -1997,7 +2085,7 @@ 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_mirv.name=三合一微型分导式多弹头核弹包 item.clip_mp.name=小型无发射药机枪子弹盒 item.clip_mp40.name=9mm冲锋枪子弹盒 item.clip_osipr.name=AR2 弹盒 @@ -2010,7 +2098,7 @@ 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_revolver_schrabidium.name=Sa326异变铀金属弹药盒 item.clip_rpg.name=火箭弹箱 item.clip_spark.name=大型电磁子弹 item.clip_stinger.name=包装毒刺导弹 @@ -2029,11 +2117,11 @@ 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_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=钴护腿 @@ -2054,43 +2142,45 @@ item.coil_tungsten.name=加热线圈 item.coin_creeper.name=核爆爬行者硬币 item.coin_maskman.name=面具硬币 item.coin_radiation.name=辐射硬币 -item.coin_siege.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.coin_worm.name=世-界-毁-灭-者 O-TRON 硬币 +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.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.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_charred.desc=优质硅酸盐,经过了轻度灼烧. +item.crystal_charred.desc.P11=也是一个真正的角.真奇怪,对吧? item.crystal_coal.name=煤晶体 item.crystal_cobalt.name=钴晶体 item.crystal_copper.name=铜晶体 @@ -2100,11 +2190,11 @@ 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_horn.desc=不是真正意义上的角. +item.crystal_horn.desc.P11=真正的角. item.crystal_iron.name=铁晶体 -item.crystal_lead.name=铅晶体 item.crystal_lapis.name=青金石晶体 +item.crystal_lead.name=铅晶体 item.crystal_lithium.name=锂晶体 item.crystal_niter.name=硝石晶体 item.crystal_osmiridium.name=铱锇晶体 @@ -2112,9 +2202,9 @@ 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_schrabidium.name=Sa326异变铀金属晶体 +item.crystal_schraranium.name=低丰度Sa326异变铀金属晶体 +item.crystal_starmetal.name=星辉金属晶体 item.crystal_sulfur.name=硫晶体 item.crystal_thorium.name=钍晶体 item.crystal_titanium.name=钛晶体 @@ -2123,36 +2213,36 @@ item.crystal_tungsten.name=钨晶体 item.crystal_uranium.name=铀晶体 item.crystal_xen.name=人造X晶体 item.crt_display.name=阴极射线管 -item.cube_power.name=电子块 +item.cube_power.name=超立方体 item.custom_amat.name=自定义核弹-反物质棒 item.custom_dirty.name=自定义核弹-核废料棒 item.custom_fall.name=自定义核弹-掉落升级 -item.custom_fall.desc=这就是你一一一直在等待的$使炸弹在激活时下落 +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.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_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.debris_shrapnel.name=崩飞的碎片 item.definitelyfood.name=完全不脏牌军粮 item.defuser.name=高科技拆弹装置 -item.defuser_gold.name=黄金剪线钳 -item.demon_core_closed.name=封闭的恶魔核心 -item.demon_core_open.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_arty_range.name=远程重炮目标指示器 item.designator_manual.name=手动目标指示器 item.designator_range.name=远程目标指示器 item.detonator.name=起爆器 @@ -2162,76 +2252,76 @@ item.detonator_laser.name=激光起爆器 item.detonator_multi.name=多发起爆器 item.deuterium_filter.name=氘过滤器 item.diamond_gavel.name=钻石槌 -item.dieselsuit_boots.name=柴油动力高跟鞋 +item.dieselsuit_boots.name=柴油动力装甲靴 item.dieselsuit_helmet.name=柴油动力头戴式环境传感器 item.dieselsuit_legs.name=柴油动力腿部伺服系统 -item.dieselsuit_plate.name=柴油动力控制器 -item.digamma_diagnostic.name=玩家F-迪伽马辐射自检器 +item.dieselsuit_plate.name=柴油动力协调控制胸甲 +item.digamma_diagnostic.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_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.dosimeter.name=剂量计 -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.dosimeter.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.drax.name=采掘钻 item.drax_mk2.name=强化型采掘钻 -item.drax_mk3.name=Sa326采掘钻 +item.drax_mk3.name=Sa326异变铀金属采掘钻 item.ducttape.name=胶带 item.dust.name=灰尘 -item.dust.desc=我讨厌灰尘! -item.dust.desc.P11=又一小撮灰尘! +item.dust.desc=我讨厌灰尘! +item.dust.desc.P11=又一个家伙化作了尘埃! item.dust_tiny.name=一小撮灰尘 item.dynosphere_base.name=空白动力球 -item.dynosphere_desh.name=Desh动力球 -item.dynosphere_desh_charged.name=Desh动力球[带电] +item.dynosphere_desh.name=德什动力球 +item.dynosphere_desh_charged.name=德什动力球[带电] 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.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.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.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.euphemium_boots.name=Ep靴子 -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.entanglement_kit.desc=制造传送机所需要的关键部件.$通过铍元素增强资源扫描仪$来实现维度转换.. +item.euphemium_boots.name=Ep元素靴子 +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.fallout.name=一大堆辐射尘 item.fau_boots.name=Fau靴子 item.fau_helmet.name=Fau头盔 item.fau_legs.name=Fau护腿 @@ -2242,51 +2332,51 @@ 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.five_htp.name=5-羟色胺血清素药丸 +item.five_htp.desc=去除所有Ϝ迪伽马辐射, 给予10min的原子稳定性效果 item.flame_conspiracy.name=阴谋论 -item.flame_conspiracy.desc=钢梁不能熔化喷气燃料! +item.flame_conspiracy.desc=钢梁不能熔化喷气燃料! item.flame_opinion.name=个人观点 -item.flame_opinion.desc=呃,我喜欢... +item.flame_opinion.desc=好吧,我喜欢它... item.flame_politics.name=政治话题 -item.flame_politics.desc=唐老鸭将会修建一堵墙! +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.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.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_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.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.fmn.name=氟硝安定药片 +item.fmn.desc=移除2,000mDRX以上所有的Ϝ迪伽马辐射 +item.folly_bullet.name=12.8cm星辉金属弹头 +item.folly_bullet_du.name=12.8cm贫铀弹头 +item.folly_bullet_nuclear.name=12.8cm核弹头 item.folly_shell.name=银弹壳 item.fooditem.name=食物 -item.fragment_actinium.name=锕碎片 +item.fragment_actinium.name=锕-227碎片 item.fragment_boron.name=硼碎片 item.fragment_cerium.name=铈碎片 item.fragment_cobalt.name=钴碎片 -item.fragment_coltan.name=钶钽铁矿碎片 +item.fragment_coltan.name=钶钽铁矿 item.fragment_lanthanium.name=镧碎片 item.fragment_meteorite.name=陨石碎片 item.fragment_neodymium.name=钕碎片 @@ -2298,42 +2388,44 @@ 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_desh.name=德什聚变反应堆覆层 item.fusion_shield_tungsten.name=钨聚变反应堆覆层 item.fusion_shield_vaporwave.name=蒸汽波反应堆覆层 -item.gadget_core.name=钚核心 + +item.gadget_core.name=大型钚核心 item.gadget_explosive.name=炸药 +item.gadget_explosive8.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_lpg.name=LPG罐 item.gas_mask.name=防毒面具 item.gas_mask_filter.name=防毒面具过滤器 -item.gas_mask_filter_combo.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_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_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.gear_large.name=大齿轮 +item.gear_large_steel.name=大型钢制齿轮 item.geiger_counter.name=手持盖革计数器 -item.gem_alexandrite.name=亚历山大变石 -item.gem_tantalium.name=钽晶体 -item.gem_tantalium.desc=“钽” -item.gem_tantalium.desc.P11=又名钽。 -item.gem_volcanic.name=火山宝石 +item.gem_alexandrite.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.goggles.name=护目镜 -item.grenade_aschrab.name=可抛反Sa326 +item.grenade_aschrab.name=可抛反Sa326异变铀金属 item.grenade_black_hole.name=黑洞手榴弹 item.grenade_breach.name=破甲手榴弹 item.grenade_burst.name=挖掘手榴弹 @@ -2362,7 +2454,7 @@ 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_mirv.name=分导式多弹头型破片手榴弹 item.grenade_mk2.name=Mk2手榴弹“菠萝大使” item.grenade_nuclear.name=核子手榴弹 item.grenade_nuke.name=MkVI钻地手榴弹 @@ -2370,7 +2462,7 @@ item.grenade_pink_cloud.name=一罐粉色的云 item.grenade_plasma.name=等离子手榴弹 item.grenade_poison.name=剧毒手榴弹 item.grenade_pulse.name=脉冲手榴弹 -item.grenade_schrabidium.name=Sa326手榴弹 +item.grenade_schrabidium.name=Sa326异变铀金属手榴弹 item.grenade_shrapnel.name=榴霰弹手榴弹 item.grenade_smart.name=智能手榴弹 item.grenade_strong.name=增强型手榴弹 @@ -2382,17 +2474,17 @@ item.gun_b92.name=§9B92能量手枪§r item.gun_b92_ammo.name=§9B92能量单元§r item.gun_b93.name=§cB93能量手枪§r item.gun_bf.name=BEL -item.gun_bf_ammo.name=Mk.V小型AMAT-炮弹 –野火型 +item.gun_bf_ammo.name=Mk.V小型AMAT-炮弹 -B.F.型 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_bolter_digamma.name=Ϝ迪伽马附魔的爆弹枪 +item.gun_calamity.name=洗头佬的电锯 item.gun_calamity_ammo.name=.50BMG子弹 -item.gun_calamity_dual.name=马鞍枪 +item.gun_calamity_dual.name=马克沁机枪 item.gun_chemthrower.name=化学喷射器 item.gun_cryolator.name=冻结者 item.gun_cryolator_ammo.name=急冻单元 @@ -2402,17 +2494,17 @@ 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.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_fatman_ammo.name=迷你核弹(老版本遗留物) item.gun_fireext.name=灭火器 -item.gun_flamer.name="黄玉先生"喷射器 -item.gun_flechette.name=弗莱彻突击步枪 +item.gun_flamer.name="黄玉先生" +item.gun_flechette.name=弗莱彻斯特突击步枪 item.gun_folly.name=Digamma原型"愚蠢" -item.gun_glass_cannon.name=玻璃大炮 +item.gun_glass_cannon.name=晶体射线枪 item.gun_hk69.name=榴弹手枪 item.gun_hp.name=HPP射线炮 item.gun_hp_ammo.name=墨盒 @@ -2420,37 +2512,38 @@ 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_karl.name=卡尔·古斯塔夫M3式84mm火箭筒 item.gun_kit_1.name=枪械润滑油 item.gun_kit_2.name=枪械修理包 -item.gun_ks23.name=KS-23霰弹枪 +item.gun_ks23.name=塞缪尔大口径霰弹枪 item.gun_lacunae.name=CZ33亚巴顿 item.gun_lacunae_ammo.name=5mm子弹 item.gun_lever_action.name=马腿杠杆式霰弹枪[原版] +item.gun_m2.name=“乾妈”M2勃朗宁重机枪 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_m2.name=Ma Deuce +item.gun_lever_action_sonata_2.name=§c奏鸣的麦克风§r +item.gun_lunatic_marksman.name=月都科技狙击步枪 item.gun_minigun.name=CZ53机枪 -item.gun_mirv.name=M42核弹发射器 "试验型MIRV" -item.gun_mirv_ammo.name=八倍MIRV +item.gun_mirv.name=M42核弹发射器 "试验型分导式多弹头核弹" +item.gun_mirv_ammo.name=八倍分导式多弹头核弹(老版本遗留物) 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_mymy.name=记者眼中单位面积动能超过1.8焦的大规模杀伤性武器 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_proto.name=M42核弹发射器 "分导式多弹头核弹原型" item.gun_quadro.name=四喜丸子 item.gun_revolver.name=强化左轮手枪 item.gun_revolver_ammo.name=铅左轮子弹 -item.gun_revolver_blackjack.name=黑杰克五发装左轮枪 -item.gun_revolver_cursed.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=金左轮子弹 @@ -2463,40 +2556,41 @@ 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.name=诺华克 item.gun_revolver_nopip_ammo.name=.44马格南子弹 -item.gun_revolver_pip.name=小麦金塔 +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_schrabidium.name=Sa326异变铀金属左轮手枪 +item.gun_revolver_schrabidium_ammo.name=Sa326异变铀金属左轮子弹 item.gun_revolver_silver.name=银质左轮手枪 -item.gun_rpg.name=卡尔-古斯塔夫M4无后座力炮 +item.gun_rpg.name=卡尔·古斯塔夫M4无后座力炮 item.gun_rpg_ammo.name=火箭弹 -item.gun_sauer.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_spark.name=火花塞 +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_super_shotgun.desc=它已经严重损坏了! +item.gun_supershotgun.name=猛男快乐枪 item.gun_thompson.name=汤姆森冲锋枪 -item.gun_uboinik.name=Uboinik +item.gun_uboinik.name=先进制式霰弹枪 item.gun_uboinik_ammo.name=12x70 鹿弹 -item.gun_uzi.name=Uzi冲锋枪 +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_uzi_saturnite.name=土星金属Uzi +item.gun_uzi_saturnite_silencer.name=带消音器的土星金属Uzi +item.gun_uzi_silencer.name=带消音器的Uzi +item.gun_vortex.name=涡流能量步枪 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.hand_drill_desh.name=德什制手钻 item.hazmat_boots.name=防辐射靴 item.hazmat_boots_grey.name=高性能防辐射靴 item.hazmat_boots_red.name=高级防辐射靴 @@ -2519,29 +2613,30 @@ 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_booster.name=心脏起搏器 +item.heart_container.name=心脏容器 item.heart_fab.name=心脏抗原结合器 -item.heart_piece.name=心之碎片 -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.heart_piece.name=心脏碎片 +item.hev_battery.name=盔甲充能电池 +item.hev_boots.name=Mark IV型HEV危险环境防护服靴子 +item.hev_plate.name=Mark IV型HEV危险环境防护服胸甲 +item.hev_helmet.name=Mark IV型HEV危险环境防护服头盔 +item.hev_legs.name=Mark IV型HEV危险环境防护服护腿 +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_aluminium.desc=可以插入钻孔石墨中 item.hull_small_steel.name=小型钢壳 + item.igniter.name=点火器 -item.igniter.desc=(鼠标右键点击原型)$这是一个绿色金属手柄,带有$亮红色按钮和一个小盖子$在底部,缩写N.E.刻着美元。不管N.E.是谁,他对绿色的色调很有品味。 +item.igniter.desc=(通过右键单击原型来将其引爆)$这是一个绿色的金属柄$带有一个鲜红色的按钮和一个小盖子.$在其底部刻有N.E. 的首字母,$我不知道这个 N.E. 是谁, 但$他对绿色一定很有鉴赏力. item.industrial_magnet.name=工业磁铁 item.inf_antimatter.name=无限反物质罐 -item.inf_antischrabidium.name=无限反Sa326罐 +item.inf_antischrabidium.name=无限反Sa326异变铀金属罐 item.inf_coolant.name=无限冷却液罐 item.inf_deuterium.name=无限氘罐 item.inf_diesel.name=无限柴油罐 @@ -2549,7 +2644,7 @@ item.inf_sulfur.name=无限硫磺罐 item.inf_tritium.name=无限氚罐 item.inf_water.name=无限水罐 item.inf_water_mk2.name=重型无限水罐 -item.ingot_actinium.name=半稳定锕锭 +item.ingot_actinium.name=半稳定锕-227锭 item.ingot_advanced_alloy.name=高级合金锭 item.ingot_aluminium.name=铝锭 item.ingot_am_mix.name=反应堆级镅锭 @@ -2558,82 +2653,88 @@ item.ingot_am242.name=镅-242锭 item.ingot_americium_fuel.name=镅燃料锭 item.ingot_arsenic.name=砷锭 item.ingot_asbestos.name=石棉板 -item.ingot_asbestos.desc=§o\“充满了生命、自我怀疑和石棉。这是空气带来的。\”§r +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_bismuth.name=铋锭 item.ingot_boron.name=硼锭 -item.ingot_c4.name=一块C-4 +item.ingot_c4.name=合成C-4 +item.ingot_cadmium.name=镉锭 item.ingot_calcium.name=钙锭 -item.ingot_chainsteel.name=重链钢 +item.ingot_cdalloy.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_combine_steel.desc=*在此处插入民防知识参考资料* item.ingot_copper.name=工业级铜 item.ingot_daffergon.name=达夫贡锭 -item.ingot_desh.name=Desh锭 +item.ingot_desh.name=德什锭 item.ingot_dineutronium.name=双聚中子态素锭 item.ingot_dura_steel.name=高速钢锭 item.ingot_electronium.name=电素锭 -item.ingot_euphemium.name=Ep锭 -item.ingot_euphemium.desc=一个非常特殊但又奇怪的元素。 +item.ingot_euphemium.name=Ep元素锭 +item.ingot_euphemium.desc=一种非常强大特殊但又很奇怪的元素. item.ingot_ferrouranium.name=铀铁锭 item.ingot_fiberglass.name=玻璃纤维 -item.ingot_fiberglass.desc=纤维含量高,玻璃含量高。身体需要的一切。 +item.ingot_fiberglass.desc=富含纤维,玻璃. 具有身体所需要的一切. item.ingot_firebrick.name=耐火砖 -item.ingot_gh336.name=Gh336锭 -item.ingot_gh336.desc=钅喜的同事。 +item.ingot_gh336.name=气敖-336锭 +item.ingot_gh336.desc=𬭳的同事. item.ingot_graphite.name=石墨锭 -item.ingot_hes.name=高浓度Sa326燃料锭 +item.ingot_hes.name=高浓度Sa326异变铀金属燃料锭 item.ingot_lanthanium.name=半稳定镧锭 -item.ingot_lanthanium.desc=“镧” -item.ingot_lanthanium.desc.P11=实际上就是镧,无论怎么说。 +item.ingot_lanthanium.desc='Lanthanum' +item.ingot_lanthanium.desc.P11=实际上是这么拼写的, 但谁在乎呢. item.ingot_lead.name=铅锭 -item.ingot_les.name=低浓度Sa326燃料锭 +item.ingot_les.name=低浓度Sa326异变铀金属燃料锭 item.ingot_magnetized_tungsten.name=磁化钨锭 item.ingot_meteorite.name=陨石锭 -item.ingot_meteorite_forged.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.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_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=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_smore.name=S'more 锭 -item.ingot_solinium.name=Sa327锭 +item.ingot_schrabidate.name=Sa326元素酸化铁锭 +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_smore.name=S'more饼干 +item.ingot_solinium.name=Sa327索林锭 item.ingot_sr90.name=锶-90锭 -item.ingot_starmetal.name=§9星辉锭§r +item.ingot_starmetal.name=星辉金属锭 item.ingot_steel.name=钢锭 -item.ingot_steel_dusted.name=粉末钢锭 +item.ingot_steel_dusted.name=粉状钢锭 item.ingot_tantalium.name=钽锭 -item.ingot_tantalium.desc=“钽” -item.ingot_tantalium.desc.P11=又名钽。 +item.ingot_tantalium.desc='Tantalum' +item.ingot_tantalium.desc.P11=也写作这个. item.ingot_tcalloy.name=锝-钢合金锭 item.ingot_technetium.name=锝-99锭 item.ingot_th232.name=钍-232锭 @@ -2643,58 +2744,58 @@ 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_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.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.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.iv_blood.name=血袋 -item.iv_empty.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_boost.name=强力喷气背包 +item.jetpack_break.name=建筑工喷气背包 item.jetpack_fly.name=喷气背包 item.jetpack_tank.name=喷气背包备用燃料罐 item.jetpack_vector.name=矢量喷气背包 -item.journal_bj.name=被威士忌浸透的笔记本 +item.journal_bj.name=被威士忌泡湿透的笔记本 item.journal_pip.name=生存主义者日记 -item.journal_silver.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=探索一下另一面. item.key_red.desc.P11=§4e§r item.kit_toolbox.name=工具箱 -item.kit_toolbox_empty.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.laser_crystal_bismuth.name=铋-钐-铀-钍晶体基质激光晶体 +item.laser_crystal_cmb.desc=悬浮在CMB-Sa326异变铀金属合金晶格中的反Sa326元素 +item.laser_crystal_cmb.name=CMB-Sa326异变铀金属合金反物质激光晶体 +item.laser_crystal_co2.desc=被包裹在结晶的德什金属中的二氧化碳 +item.laser_crystal_co2.name=CO2-德什激光晶体 +item.laser_crystal_digamma.name=Ϝ迪伽马激光晶体 +item.laser_crystal_dnt.desc=双聚中子态素-Spark闪闪魔法 费米子超晶体 +item.laser_crystal_dnt.name=Spark闪闪魔法 激光晶体 item.lead_gavel.name=铅槌 item.lemon.name="柠檬" item.letter.name=快捷邮件 @@ -2713,20 +2814,21 @@ 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_igniter.name=炸弹点火装置 item.man_kit.name=胖子 套件 item.marshmallow.name=穿在木棍上的棉花糖 item.mask_of_infamy.name=耻辱面具 -item.mask_piss.name=战壕面具 -item.mask_rag.name=粗糙防护面罩 +item.mask_piss.name=战壕版粗制防护面罩 +item.mask_rag.name=粗制防护面罩 item.matchstick.name=火柴 -item.mech_key.name=大号银钥匙 -item.mech_key.desc=它充满力量。 +item.mech_key.name=大银钥匙 +item.mech_key.desc=它充满了力量. item.mechanism_launcher_1.name=发射机构 item.mechanism_launcher_2.name=先进发射机构 item.mechanism_revolver_1.name=转轮机构 @@ -2740,31 +2842,31 @@ item.med_ptsd.name=PTSD治疗药物 item.med_schiziphrenia.name=抗精神分裂症药物 item.medal_liquidator.name=核废土清道夫勋章 item.meltdown_tool.name=达洛夫快速熔毁装置 -item.memespoon.name=§ee花园园丁 +item.memespoon.name=§e花园园丁 item.memory.name=item.null.name -item.mese_gavel.name=Mese槌 -item.mese_pickaxe.name=Mese镐 +item.mese_gavel.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.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=陨石剑 (B.F野火烧炼处理) 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.mirror_tool.name=镜面角度调整工具 +item.mirror_tool.linked=已设置要对齐的太阳能蒸发塔位置! +item.mirror_tool.desc=右键太阳能蒸发塔以记录其位置.$然后再右击阳光反射镜来让其对准太阳能蒸发塔. item.missile_anti_ballistic.name=反弹道导弹 item.missile_assembly.name=小型导弹[待装配] item.missile_bhole.name=黑洞导弹 @@ -2777,8 +2879,8 @@ item.missile_cluster_strong.name=强化型集束导弹 item.missile_custom.name=定制导弹 item.missile_doomsday.name=末日导弹 item.missile_drill.name=掩体裂解者 -item.missile_emp.name=EMP导弹 -item.missile_emp_strong.name=强化型EMP导弹 +item.missile_emp.name=EMP电磁脉冲导弹 +item.missile_emp_strong.name=强化型EMP电磁脉冲导弹 item.missile_endo.name=吸热导弹 item.missile_exo.name=放热导弹 item.missile_generic.name=高爆导弹 @@ -2790,44 +2892,44 @@ item.missile_micro.name=战术核导弹 item.missile_nuclear.name=核导弹 item.missile_nuclear_cluster.name=热核导弹 item.missile_rain.name=炸弹雨 -item.missile_schrabidium.name=Sa326导弹 +item.missile_schrabidium.name=Sa326异变铀金属导弹 item.missile_shuttle.name=万金罗宾航天飞机 item.missile_skin_camo.name=导弹外壳:迷彩 -item.missile_skin_color.desc=我再也找不到我的导弹了! +item.missile_skin_color.desc=我甚至再也找不到我的导弹了! item.missile_skin_desert.name=导弹外壳:沙漠迷彩 -item.missile_skin_desert.desc=看起来像沙子,尝起来像金属。 +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_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_metal.desc=用金属加固的金属板和金属螺栓. item.missile_skin_orange_insulation.name=导弹外壳:橙色绝缘 -item.missile_skin_orange_insulation.desc=不是橙汁瓶$不要试图喝里面的东西。 +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_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_soyuz_lander.desc=同时也是个蹩脚的着陆器! item.missile_strong.name=强化型高爆导弹 item.missile_taint.name=污染导弹 -item.missile_volcano.name=构造导弹 -item.missile_volcano.desc=利用核爆的威力,我们可以召唤一座火山! -item.mold_base.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_desh.name=Desh马达 +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_balefire.name=10/15号弹体[BF燃料] 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号弹体[固体燃料] @@ -2869,10 +2971,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_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号弹体[煤油] @@ -2894,7 +2996,7 @@ 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_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号弹体[固体燃料] @@ -2910,10 +3012,10 @@ 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_balefire.name=15号带核预热器的BF燃料推进器 +item.mp_thruster_15_balefire_large.name=15号带核预热器的BF燃料推进器[重型喷管] +item.mp_thruster_15_balefire_large_rad.name=15号带核预热器的BF燃料推进器[重型喷管] +item.mp_thruster_15_balefire_short.name=15号带核预热器的BF燃料推进器[简称] item.mp_thruster_15_hydrogen.name=15号液氢推进器 item.mp_thruster_15_hydrogen_dual.name=15号双喷管氢推进器 item.mp_thruster_15_kerosene.name=15号液体燃料推进器 @@ -2934,16 +3036,16 @@ 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_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_n2.name=15号N²炸弹 item.mp_warhead_15_nuclear.name=15号核弹头 -item.mp_warhead_15_nuclear_mimi.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.mucho_mango.name=亚利桑那牌芒果汁 item.multi_kit.name=多用途炸弹 套件 item.multitool_beam.name=动力拳套[热射线] item.multitool_decon.name=动力拳套[净化] @@ -2956,26 +3058,29 @@ item.multitool_miner.name=动力拳套[采矿激光] item.multitool_silk.name=动力拳套[精准采集] item.multitool_sky.name=动力拳套[划破天际] item.mysteryshovel.name=易碎锹 + item.n2_charge.name=大型炸药 -item.neutrino_lens.name=中子透镜 +item.neutrino_lens.name=中微子透镜 item.neutron_reflector.name=中子反射板 item.niter.name=硝石粉 -item.nossy_hat.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_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_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_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.nuclear_waste_vitrified_tiny.name=一小堆玻璃化核废料 +item.nugget.name=炸鸡块 item.nugget_actinium.name=锕-227粒 item.nugget_am_mix.name=反应堆级镅粒 item.nugget_am241.name=镅-241粒 @@ -2983,34 +3088,34 @@ 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_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_desh.name=德什粒 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_euphemium.name=Ep元素粒 +item.nugget_euphemium.desc=一小块粉红色的金属.$它各方面具体的性质还不清楚,$务 必 小 心 地 处 理 它. +item.nugget_gh336.name=𪵧-336粒 +item.nugget_gh336.desc=𬭳的同事. +item.nugget_hes.name=高浓度Sa326异变铀金属燃料粒 item.nugget_lead.name=铅粒 -item.nugget_les.name=低浓度Sa326燃料粒 +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_mox_fuel.desc=摩西说: §l逃税.§r item.nugget_neptunium.name=镎粒 item.nugget_neptunium_fuel.name=镎燃料粒 -item.nugget_osmiridium.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_polonium.name=钋-210粒 item.nugget_pu_mix.name=反应堆级钚粒 item.nugget_pu238.name=钚-238粒 item.nugget_pu239.name=钚-239粒 @@ -3018,40 +3123,42 @@ 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_solinium.name=Sa327粒 +item.nugget_schrabidium.name=Sa-326异变铀金属粒 +item.nugget_schrabidium_fuel.name=Sa-326异变铀金属燃料粒 +item.nugget_solinium.name=Sa-327索林粒 item.nugget_sr90.name=锶-90粒 item.nugget_tantalium.name=钽粒 -item.nugget_tantalium.desc=“钽” -item.nugget_tantalium.desc.P11=又名钽。 +item.nugget_tantalium.desc='Tantalum' +item.nugget_tantalium.desc.P11=也写作这个. item.nugget_technetium.name=锝-99粒 -item.nugget_th232.name=钍232粒 +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_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.nugget_zirconium.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.wood.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.wax.name=氯化石油蜡 +item.oil_tar.wood.name=木焦油块 item.ore.asbestos=石棉 item.ore.borax=硼砂 item.ore.copper=铜 @@ -3060,28 +3167,31 @@ item.ore.iron=铁 item.ore.niobium=铌 item.ore.titanium=钛 item.ore.tungsten=钨 -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_silicon.name=硅晶体碎片 -item.ore_byproduct.b_sulfur.name=硫晶体碎片 -item.ore_byproduct.b_titanium.name=钛晶体碎片 -item.ore_centrifuged.name=离心%s矿 -item.ore_cleaned.name=清洁%s矿 -item.ore_deepcleaned.name=深清洁%s矿 -item.ore_enriched.name=富集%s矿 -item.ore_nitrated.name=硝化%s矿 -item.ore_nitrocrystalline.name=亚硝基结晶%s矿 -item.ore_purified.name=净化%s矿 -item.ore_separated.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_silicon.name=结晶硅碎片 +item.ore_byproduct.b_sulfur.name=结晶硫碎片 +item.ore_byproduct.b_titanium.name=结晶钛碎片 +item.ore_centrifuged.name=离心 %s 基岩矿粉 +item.ore_cleaned.name=洗净 %s 基岩矿粉 +item.ore_deepcleaned.name=深度清洁 %s 基岩矿粉 +item.ore_enriched.name=富集 %s 基岩矿粉 +item.ore_nitrated.name=硝化 %s 基岩矿粉 +item.ore_nitrocrystalline.name=硝化结晶 %s 基岩矿粉 +item.ore_purified.name=纯化 %s 基岩矿粉 +item.ore_raadcleaned.name=辐照清洁 %s 基岩矿粉 +item.ore_seared.name=灼烧 %s 基岩矿粉 +item.ore_separated.name=分离提纯 %s 基岩矿粉 item.overfuse.name=奇异螺丝刀 -item.overfuse.desc=说啥? +item.overfuse.desc=说啥? item.oxy_mask.name=氧气面罩 + item.paa_boots.name=PaA "好鞋" item.paa_legs.name=PaA加固护腿 item.paa_plate.name=PaA加固护胸 @@ -3089,10 +3199,10 @@ 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.pancake.name=用废金属、螺栓和宝石粉做成的薄饼 +item.pads_rubber.name=橡胶护垫 +item.pads_slime.name=粘液护垫 +item.pads_static.name=静力护垫 +item.pancake.name=用废金属, 钉子和宝石粉做成的薄饼 item.part_beryllium.name=铍粉盒 item.part_carbon.name=碳粉盒 item.part_copper.name=铜粉盒 @@ -3101,131 +3211,131 @@ 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_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.parts_legendary.name=传奇的零件 item.peas.name=豌豆 +item.pch.name=马蹄锤 item.pedestal_steel.name=钢底座 -item.pellet_advanced.name=高级Watz性能增强剂 +item.pellet_advanced.name=高级Watz瓦茨发电塔性能增强剂 item.pellet_antimatter.name=反物质团 item.pellet_beryllium.name=铍慢化靶丸 item.pellet_buckshot.name=铅弹丸 -item.pellet_canister.name=榴霰弹弹丸 +item.pellet_canister.name=榴霰弹 item.pellet_charged.name=电离粒子 -item.pellet_chlorophyte.name=叶绿弹丸 -item.pellet_claws.name=金属利爪 +item.pellet_chlorophyte.name=绿藻颗粒 +item.pellet_claws.name=锋利的金属破片 item.pellet_cluster.name=爆炸弹丸 -item.pellet_cluster.desc=用于多用途炸弹:$增加了一些额外的爆炸力! +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_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_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=钚-238RTG放射性同位素燃料靶丸 +item.pellet_rtg.desc=可无限提供能量的RTG放射性同位素燃料靶丸!(基本上) +item.pellet_rtg_actinium.name=锕-227RTG放射性同位素燃料靶丸 +item.pellet_rtg_actinium.desc=散发着蓝色和β射线的辉光 +item.pellet_rtg_americium.name=镅-241RTG放射性同位素燃料靶丸 +item.pellet_rtg_americium.desc=稀有可靠的优质古镅! +item.pellet_rtg_berkelium.name=锫RTG放射性同位素燃料靶丸 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.pellet_rtg_depleted.bismuth.name=衰竭的铋RTG放射性同位素燃料靶丸 +item.pellet_rtg_depleted.lead.name=衰竭的铅RTG放射性同位素燃料靶丸 +item.pellet_rtg_depleted.neptunium.name=衰竭的镎RTG放射性同位素燃料靶丸 +item.pellet_rtg_depleted.mercury.name=衰竭的汞RTG放射性同位素燃料靶丸 +item.pellet_rtg_depleted.zirconium.name=衰竭的锆RTG放射性同位素燃料靶丸 +item.pellet_rtg_lead.name=铅-209RTG放射性同位素燃料靶丸 +item.pellet_rtg_lead.desc=接触会立即导致死亡. +item.pellet_rtg_gold.name=金-198RTG放射性同位素燃料靶丸 +item.pellet_rtg_gold.desc=由稀有, 高度不稳定的金同位素制成. +item.pellet_rtg_polonium.name=钋-210RTG放射性同位素燃料靶丸 +item.pellet_rtg_polonium.desc=更强力的RTG靶丸,由最优质的钋制成! +item.pellet_rtg_strontium.name=锶-90RTG放射性同位素燃料靶丸 +item.pellet_rtg_strontium.desc=为加利福尼亚州所知... +item.pellet_rtg_radium.name=镭-226RTG放射性同位素燃料靶丸 +item.pellet_rtg_radium.desc=伟大的激发式放射性同位素燃料靶丸, 来自全天然镭! +item.pellet_rtg_weak.name=贫铀RTG放射性同位素燃料靶丸 +item.pellet_rtg_weak.desc=更廉价但更弱的弹丸, 现在含有更多的 U238! +item.pellet_schrabidium.name=纯Sa326异变铀金属Watz瓦茨发电塔靶丸 item.photo_panel.name=光伏板 -item.pile_rod_boron.name=芝加哥反应堆 控制棒 -item.pile_rod_boron.desc=§9[中子吸收器]$§E单击以切换 +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.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_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.name=芝加哥反应堆铀棒 item.pile_rod_uranium.desc=§a[可反应核燃料]$§e使用手钻取堆芯样本 item.pill_iodine.name=碘丸 -item.pill_iodine.desc=消除负面buff +item.pill_iodine.desc=移除身上所有的负面效果 item.pill_herbal.name=草药膏 item.pill_herbal.desc=有效治疗肺部疾病和轻度辐射中毒$有副作用 item.pin.name=发夹 -item.pin.desc=“*未修改*撬开标准锁的成功率约为10%。 +item.pin.desc=撬开常规锁的标准成功率约为10%%. 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.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=C计划 item.plan_c.desc=致死 +item.plant_item.mustardwillow.name=芥柳叶 item.plant_item.rope.name=麻绳 item.plant_item.tobacco.name=烟叶 item.plate_advanced_alloy.name=高级合金板 item.plate_aluminium.name=铝板 -item.plate_armor_ajr.name=铁皮装甲板 +item.plate_armor_ajr.name=§8§l§n[铁蹄]§r装甲板 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_armor_hev.name=反应式装甲板 +item.plate_armor_lunar.name=§b§l§m[月 神]§r 装甲板 +item.plate_armor_titanium.name=钛制装甲板 item.plate_bismuth.name=铋复合板 -item.plate_bismuth.desc=伙计们,这是铋的炼金术符号,我发誓。 +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_desh.name=德什复合板 item.plate_dineutronium.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_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=凯夫拉陶瓷复合材料 @@ -3234,7 +3344,7 @@ item.plate_mixed.name=合金板 item.plate_paa.name=PaA合金板 item.plate_polymer.name=绝缘体 item.plate_saturnite.name=土星板 -item.plate_schrabidium.name=Sa326板 +item.plate_schrabidium.name=Sa326异变铀金属板 item.plate_steel.name=钢板 item.plate_titanium.name=钛板 item.polaroid.name=偏光片 @@ -3243,7 +3353,7 @@ 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_asbestos.desc=§o\"我就闻亿下..嗯,嗯..喔哦哦哦哦哦!\"§r item.powder_astatine.name=砹粉 item.powder_at209.name=砹-209粉 item.powder_au198.name=金-198粉 @@ -3256,6 +3366,7 @@ 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_cerium.name=铈粉 @@ -3267,29 +3378,30 @@ 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_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_desh.name=德什粉 +item.powder_desh_mix.name=德什混合物 +item.powder_desh_ready.name=德什Ready™混合物 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_euphemium.name=Ep元素粉 +item.powder_fertilizer.name=工业肥料 +item.powder_euphemium.desc=粉色的粉末..$尝起来像草莓. item.powder_fire.name=火焰粉 -item.powder_fire.desc=用于多用途炸弹:燃烧弹很有趣! -item.powder_flux.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_ice.name=超低温粉 item.powder_impure_osmiridium.name=不纯铱锇粉 item.powder_iodine.name=碘粉 item.powder_iron.name=铁粉 @@ -3309,32 +3421,32 @@ 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_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_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=Sa酸铁粉 -item.powder_schrabidium.name=Sa326粉 +item.powder_sawdust.name=锯屑 +item.powder_schrabidate.name=Sa326元素酸化铁粉末 +item.powder_schrabidium.name=Sa326异变铀金属粉 item.powder_semtex_mix.name=塞姆汀塑胶炸药混合物 -item.powder_spark_mix.name=Spark闪闪奥术混合物 +item.powder_spark_mix.name=Spark闪闪魔法混合物 item.powder_sr90.name=锶-90粉 -item.powder_sr90_tiny.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_tantalium.desc='Tantalum' +item.powder_tantalium.desc.P11=也写作这个. item.powder_tcalloy.name=锝-钢粉 item.powder_tektite.name=熔融石粉 item.powder_tennessine.name=Ts粉 @@ -3342,7 +3454,7 @@ item.powder_thermite.name=铝热剂 item.powder_thorium.name=钍粉 item.powder_titanium.name=钛粉 item.powder_tungsten.name=钨粉 -item.powder_unobtainium.name=难得素粉 +item.powder_unobtainium.name=阿诺布汀粉 item.powder_uranium.name=铀粉 item.powder_verticium.name=韦德赛粉 item.powder_weidanium.name=魏丹粉 @@ -3350,7 +3462,7 @@ 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.power_net_tool.name=电网分析工具 item.primer_357.name=.357马格南底火[x24] item.primer_44.name=.44马格南底火[x24] item.primer_50.name=大口径底火[x12] @@ -3359,104 +3471,102 @@ item.primer_buckshot.name=鹿弹底火[x12] item.protection_charm.name=守护项链 item.prototype_kit.name=原型 套件 item.pudding.name=布丁 -item.quartz_plutonium.name=深成石英 +item.quartz_plutonium.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反应堆中浓缩度铀-235导向钍燃料棒 -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.radx.desc=增加0.2(37%%)的抗辐射能力,持续3分钟 +item.rag_piss.name=尿湿润的破布 +item.rbmk_fuel_balefire.name=RBMK石墨式反应堆野火燃料棒 +item.rbmk_fuel_balefire_gold.name=激活态金-198 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_drx.name=§cϜ迪伽马粒子 RBMK石墨式反应堆燃料棒§r +item.rbmk_fuel_empty.name=空 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_flashlead.name=激活态铅 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_hea241.name=HEA-241 高浓缩度镅-241 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_hea242.name=HEA-242 高浓缩度镅-242 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_heaus.name=HEAus 高浓缩度奥金 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_hen.name=HEN 高浓缩度镎-237 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_hes.name=HES 高浓缩度Sa-326 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_hep.name=HEP-239 高浓缩度钚-239 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_hep241.name=HEP-241 高浓缩度钚-241 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_heu233.name=HEU-233 高浓缩度铀-233 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_heu235.name=HEU-235 高浓缩度铀-235 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_lea.name=LEA 低浓缩度镅-242 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_leaus.name=LEAus 低浓缩度奥金 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_lep.name=LEP 低浓缩度钚-239 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_les.name=LES 低浓缩度Sa-326 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_mea.name=MEA 中浓缩度镅-242 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_men.name=MEN 中浓缩度镎-237 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_mep.name=MEP 中浓缩度钚-239 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_mes.name=MES 中浓缩度Sa-326 RBMK石墨式反应堆燃料棒 +item.rbmk_fuel_meu.name=MEU 中浓缩度铀-235 RBMK石墨式反应堆燃料棒 +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 中浓缩度铀-235导向钍 RBMK石墨式反应堆燃料棒 +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 锆混合钚-241快速增殖式RBMK石墨式反应堆燃料棒 +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_drx.name=§cϜ迪伽马粒子燃料芯块§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高浓缩度镎-237燃料芯块 +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_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_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.desc=潜行并右击RBMK石墨式反应堆保存其坐标,$潜入并右击控制台以连接反应堆! item.rbmk_tool.linked=反应堆坐标已记录! item.rbmk_tool.set=反应堆已连接! -item.reacher.name=钨长臂夹 +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.record.lc.desc=Valve - 恶魔肾上腺素吉他/Lambda核心 +item.record.ss.desc=Valve - 扫描扇区 +item.record.vc.desc=Valve - 斗争漩涡 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.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_empty.name=空棒 item.rod.lithium.name=锂棒 item.rod.tritium.name=氚棒 item.rod.co.name=钴棒 @@ -3474,25 +3584,25 @@ item.rod.rgp.name=反应堆级钚棒 item.rod.waste.name=核废料棒 item.rod.lead.name=铅棒 item.rod.uranium.name=铀棒 -item.rod_dual_empty.name=空双联燃料棒 +item.rod_dual_empty.name=空双联棒 item.rod_dual.lithium.name=双联锂棒 -item.rod_dual.tritium.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.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.rgp.name= 双联反应堆级钚棒 item.rod_dual.waste.name=双联核废料棒 item.rod_dual.lead.name=双联铅棒 -item.rod_dual.uranium.name=双联铀棒 -item.rod_quad_empty.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=四联钴棒 @@ -3500,145 +3610,145 @@ 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.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.rgp.name= 四联反应堆级钚棒 item.rod_quad.waste.name=四联核废料棒 -item.rod_quad.lead.name=四联铅棒 +item.rod_quad.lead.name=四联Lead 铅棒 item.rod_quad.uranium.name=四联铀棒 item.rod_australium.name=奥斯棒 -item.rod_balefire.name=野火燃料棒 -item.rod_balefire_blazing.name=炽热的野火燃料棒 +item.rod_balefire.name=BF燃料棒 +item.rod_balefire_blazing.name=炽热的BF燃料棒 item.rod_coolant.name=燃料棒[冷却液] item.rod_daffergon.name=达夫贡棒 -item.rod_dual_balefire.name=双联野火燃料棒 -item.rod_dual_balefire_blazing.name=炽热的双联野火燃料棒 +item.rod_dual_balefire.name=双联BF燃料棒 +item.rod_dual_balefire_blazing.name=炽热的双联BF燃料棒 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_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_plutonium_fuel.name=双联钚燃料棒 +item.rod_dual_plutonium_fuel_depleted.name=双联枯竭钚燃料棒 +item.rod_dual_polonium.name=双联钋-210棒 +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_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_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_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_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_of_discord.name=混沌传送法杖 +item.rod_plutonium_fuel.name=钚燃料棒 +item.rod_plutonium_fuel_depleted.name=枯竭钚燃料棒 +item.rod_polonium.name=钋-210棒 +item.rod_pu238.name=钚238燃料棒 +item.rod_pu239.name=钚239燃料棒 +item.rod_pu240.name=钚240燃料棒 +item.rod_quad_balefire.name=四联BF燃料棒 +item.rod_quad_balefire_blazing.name=炽热的四联BF燃料棒 item.rod_quad_coolant.name=四联燃料棒[冷却液] -item.rod_quad_euphemium.name=枯竭的四联Sa326燃料棒 +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_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.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_polonium.name=四联钋-210棒 +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_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.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_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_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_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_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.rod_zirnox_empty.name=空的 ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_natural_uranium_fuel.name=天然铀 ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_uranium_fuel.name=铀 ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_th232.name=钍-232 ZIRNOX锆诺克斯反应堆增殖棒 +item.rod_zirnox_thorium_fuel.name=钍 ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_mox_fuel.name=MOX ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_plutonium_fuel.name=钚 ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_u233_fuel.name=铀-233 ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_u235_fuel.name=铀-235 ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_les_fuel.name=LES低浓缩度Sa-326 ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_lithium.name=锂 ZIRNOX锆诺克斯反应堆增殖棒 +item.rod_zirnox_tritium.name=氚 ZIRNOX锆诺克斯反应堆增殖棒 +item.rod_zirnox_zfb_mox.name=ZFB MOX ZIRNOX 锆诺克斯反应堆 +item.rod_zirnox_natural_uranium_fuel_depleted.name=衰竭天然铀 ZIRNOX 锆诺克斯反应堆燃料棒 +item.rod_zirnox_uranium_fuel_depleted.name=衰竭铀 ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_thorium_fuel_depleted.name=衰竭钍 ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_mox_fuel_depleted.name=衰竭MOX ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_plutonium_fuel_depleted.name=衰竭钚 ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_u233_fuel_depleted.name=衰竭铀-233 ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_u235_fuel_depleted.name=衰竭铀-235ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_les_fuel_depleted.name=衰竭LES低浓缩度Sa-326 ZIRNOX锆诺克斯反应堆燃料棒 +item.rod_zirnox_zfb_mox_depleted.name=衰竭 ZFB MOX ZIRNOX锆诺克斯反应堆燃料棒 item.rotor_steel.name=大型钢转子 -item.rpa_boots.name=动力装甲 靴子 -item.rpa_helmet.name=动力装甲 头盔 -item.rpa_legs.name=动力护甲 护腿 -item.rpa_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=空白催化剂基质 @@ -3650,9 +3760,9 @@ 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_foeq.name=实验型核能PEAF-Mk.I FOEQ Duna探测器 +item.sat_coord.name=卫星坐标指示器 +item.sat_designator.name=激光式卫星坐标指示器 +item.sat_foeq.name=PEAF-Mk.I 实验型核动力 FOEQ-杜纳探测器 item.sat_gerald.name=Gerald建筑机器人 item.sat_head_laser.name=死光发射器 item.sat_head_mapper.name=高增益光学摄像头 @@ -3661,32 +3771,31 @@ 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_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.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_oil.name=油渣 item.scrap_plastic.name=塑料废料 item.scraps.name=铸造废料 item.screwdriver.name=螺丝刀 -item.screwdriver.desc=可以用来代替保险丝…… -item.screwdriver_desh.name=Desh螺丝刀 +item.screwdriver.desc=可以用来代替保险丝... +item.screwdriver_desh.name=德什制螺丝刀 item.scrumpy.name=一瓶烈性苹果酒 item.security_boots.name=防护靴子 item.security_helmet.name=防护头盔 @@ -3696,8 +3805,8 @@ 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.servo_set.name=伺服马达组 +item.servo_set_desh.name=德什制伺服马达组 item.shackles.name=枷锁 item.shimmer_axe.name=闪耀斧 item.shimmer_axe_head.name=重型斧头 @@ -3707,26 +3816,26 @@ item.shimmer_sledge.name=闪耀锤 item.singularity.name=奇点 item.singularity_counter_resonant.name=可控反振谐奇点 item.singularity_micro.name=微型奇点 -item.singularity_spark.name=Spark奇点 +item.singularity_spark.name=Spark闪闪奇点 item.singularity_super_heated.name=超热共振奇点 item.siox.name=SiOX抗癌药物 -item.siox.desc=使用石棉的力量逆转间皮瘤! +item.siox.desc=用石棉的力量来逆转胸膜间皮瘤!(以 毒 攻 毒) item.siren_track.name=警报声轨 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.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=半稳定Sa327索林核心 +item.solinium_igniter.name=Sa327索林脉冲点火器 item.solinium_kit.name=蔚蓝洗礼套件 -item.solinium_propellant.name=Sa327压缩装药 -item.sopsign.name=Sop标志战斧 +item.solinium_propellant.name=Sa327索林压缩装药 +item.sopsign.name=SOP标志战斧 item.spawn_duck.name=金蛋 item.spawn_ufo.name=火星入侵者飞船 -item.spawn_worm.name=机械蠕虫 +item.spawn_worm.name=世-界-毁-灭-者 O-TRON 头部 item.sphere_steel.name=钢球 item.spider_milk.name=一瓶蜘蛛奶 item.spongebob_macaroni.name=海绵宝宝通心粉 @@ -3734,45 +3843,49 @@ item.stamp_357.name=.357马格南锻模 item.stamp_44.name=.44马格南锻模 item.stamp_50.name=大口径锻模 item.stamp_9.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_iron_circuit.name=铁质电路版锻模 +item.stamp_desh_circuit.name=德什质电路板锻模 +item.stamp_desh_flat.name=德什锻模 +item.stamp_desh_plate.name=德什质板锻模 +item.stamp_desh_wire.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_circuit.name=黑曜石电路板锻模 item.stamp_obsidian_flat.name=黑曜石锻模 item.stamp_obsidian_plate.name=黑曜石板锻模 item.stamp_obsidian_wire.name=黑曜石电线锻模 -item.stamp_steel_circuit.name=钢质电路版锻模 +item.stamp_schrabidium_circuit.name=Sa326异变铀金属电路板锻模 +item.stamp_schrabidium_flat.name=Sa326异变铀金属锻模 +item.stamp_schrabidium_plate.name=Sa326异变铀金属板锻模 +item.stamp_schrabidium_wire.name=Sa326异变铀金属电线锻模 +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_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_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.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.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=钢头盔 @@ -3782,10 +3895,10 @@ item.steel_pickaxe.name=钢镐 item.steel_plate.name=钢胸甲 item.steel_shovel.name=钢锹 item.steel_sword.name=钢剑 -item.stick_c4.name=C-4炸药棒 +item.stick_c4.name=炸药C-4棒 item.stick_dynamite.name=炸药棒 item.stick_semtex.name=塞姆汀塑胶炸药棒 -item.stick_tnt.name=TNT棒 +item.stick_tnt.name=TNT炸药棒 item.stopsign.name=停车标志战斧 item.sulfur.name=硫粉 item.survey_scanner.name=勘测扫描仪 @@ -3797,9 +3910,10 @@ 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_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动力装甲套装 @@ -3818,7 +3932,7 @@ item.tank_waste_8.name=泥浆容器 item.telepad.name=传送部件 item.tem_flakes.name=Tem薄片 item.template_folder.name=机器模板文件夹 -item.template_folder.desc=机器模板:纸张+染料$流体识别码:铁板+染料$锻模:空白锻模 $警报声轨:绝缘体+钢板 +item.template_folder.desc=装配机模板: 纸 + 染料$流体识别码: 铁板 + 染料$锻模: 空白锻模$警报声轨: 绝缘体 + 钢板 item.test_nuke_igniter.name=点火器 item.test_nuke_propellant.name=推进剂 item.test_nuke_tier1_bullet.name=铀235弹头[1级] @@ -3833,7 +3947,7 @@ 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_nuclear.name=LV-N核动力火箭发动机 item.thruster_small.name=小型推进器 item.titanium_axe.name=钛斧 item.titanium_boots.name=钛靴子 @@ -3848,7 +3962,7 @@ item.titanium_sword.name=钛剑 item.toothpicks.name=牙签 item.trinitite.name=玻璃石 item.tritium_deuterium_cake.name=氚氘饼 -item.tritium_deuterium_cake.desc=不是真正的蛋糕,而是很棒的$聚变燃料! +item.tritium_deuterium_cake.desc=不是真正的饼, $而是很好的通用聚变燃料! item.tsar_core.name=沙皇炸弹核心 item.tsar_kit.name=沙皇炸弹 套件 item.turbine_titanium.name=钛汽轮转子 @@ -3867,7 +3981,7 @@ item.turret_tau_ammo.name=陶子炮塔铀弹药 item.twinkie.name=小蛋糕 item.ullapool_caber.name=阿勒浦长木杆 item.undefined.name=形态未定义物质 -item.upgrade_5g.name=5G辐射发射器升级 +item.upgrade_5g.name=5G辐射升级 item.upgrade_afterburn_1.name=一级粉色机器升级 item.upgrade_afterburn_2.name=二级粉色机器升级 item.upgrade_afterburn_3.name=三级粉色机器升级 @@ -3876,9 +3990,9 @@ 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_ejector_1.name=一级弹出速度升级 Mk.I +item.upgrade_ejector_2.name=二级弹射速度升级 Mk.II +item.upgrade_ejector_3.name=三级弹射速度升级 Mk.III item.upgrade_fortune_1.name=一级紫色机器升级 item.upgrade_fortune_2.name=二级紫色机器升级 item.upgrade_fortune_3.name=三级紫色机器升级 @@ -3898,10 +4012,10 @@ 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.upgrade_stack_1.name=一级单次弹出堆栈量升级 +item.upgrade_stack_2.name=二级单次弹出堆栈量升级 +item.upgrade_stack_3.name=三级单次弹出堆栈量升级 +item.upgrade_template.name=空白机器升级模板 item.v1.name=V1 item.volcanic_pickaxe.name=熔岩镐 item.wand_d.name=调试魔杖 @@ -3920,29 +4034,53 @@ 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_mirvlet.name=分导式多弹头核弹 item.warhead_nuclear.name=核弹头 item.warhead_thermo_endo.name=吸热弹头 item.warhead_thermo_exo.name=放热弹头 -item.warhead_volcano.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_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_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.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高浓缩度Sa-326 Watz瓦茨电厂靶丸 +item.watz_pellet.lead.name=铅吸收剂靶丸 +item.watz_pellet.les.name=LES低浓缩度Sa-326 Watz瓦茨电厂靶丸 +item.watz_pellet.mes.name=MES中浓缩度Sa-326 Watz瓦茨电厂靶丸 +item.watz_pellet.mep.name=MEP中浓缩度钚-239 Watz瓦茨电厂靶丸 +item.watz_pellet.meu.name=MEU中浓缩度铀-235 Watz瓦茨电厂靶丸 +item.watz_pellet.nqd.name=浓缩硅岩金属 Watz瓦茨电厂靶丸 +item.watz_pellet.nqr.name=硅岩金属 Watz瓦茨电厂靶丸 +item.watz_pellet.hen.name=HEN高浓缩度镎-237 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高浓缩度Sa-326 Watz瓦茨电厂靶丸 (衰竭) +item.watz_pellet_depleted.lead.name=铅吸收剂靶丸 (衰竭) +item.watz_pellet_depleted.les.name=LES低浓缩度Sa-326 Watz瓦茨电厂靶丸 (衰竭) +item.watz_pellet_depleted.mes.name=MES中浓缩度Sa-326 Watz瓦茨电厂靶丸 (衰竭) +item.watz_pellet_depleted.mep.name=MEP中浓缩度钚-239 Watz瓦茨电厂靶丸 (衰竭) +item.watz_pellet_depleted.meu.name=MEU中浓缩度铀-235 Watz瓦茨电厂靶丸 (衰竭) +item.watz_pellet_depleted.nqd.name=浓缩硅岩金属 Watz瓦茨电厂靶丸 (衰竭) +item.watz_pellet_depleted.nqr.name=硅岩金属 Watz瓦茨电厂靶丸 (衰竭) +item.watz_pellet_depleted.hen.name=HEN高浓缩度镎-237 Watz瓦茨电厂靶丸 (衰竭) +item.watz_pellet_depleted.schrabidium.name=Sa326异变铀金属 Watz瓦茨电厂靶丸 (衰竭) item.weapon_bat.name=板球棒 item.weapon_bat_nail.name=板上钉钉 item.weapon_golf_club.name=黑手党快乐杆 @@ -3951,111 +4089,119 @@ 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.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_gold.name=金线 item.wire_magnetized_tungsten.name=4000K高温超导体 item.wire_red_copper.name=紫铜线 -item.wire_schrabidium.name=Sa326线 +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_archineer.name=Archineer的扳手 item.wrench_flipped.name=刺刀扳手 -item.xanax.name=NAXA 抗迪伽马药物 -item.xanax.desc=移除500mDRX迪伽马辐射 +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 武器和炮塔 + +itemGroup.tabTest=HBM的核科技mod测试项[S166, Bismarck, nukesteve联合汉化] +itemGroup.tabParts=核技术资源和零件 +itemGroup.tabControl=核技术机器项目和燃料 +itemGroup.tabTemplate=核技术模板 +itemGroup.tabBlocks=核技术矿石和方块 +itemGroup.tabMachine=核技术机器 +itemGroup.tabNuke=核技术炸弹 +itemGroup.tabMissile=核技术导弹和卫星 +itemGroup.tabWeapon=核技术武器和炮塔 +itemGroup.tabConsumable=核技术食物和装备 + potion.hbm_bang=! ! ! -potion.hbm_death=重度突变 +potion.hbm_death=严重突变 potion.hbm_lead=铅中毒 -potion.hbm_mutation=变异 +potion.hbm_mutation=腐化变异 potion.hbm_phosphorus=磷烧伤 -potion.hbm_potionsickness=药水病 -potion.hbm_radaway=消辐宁 +potion.hbm_potionsickness=药物上瘾 +potion.hbm_radaway=辐射宁 potion.hbm_radiation=辐射 -potion.hbm_radx=抗辐射 -potion.hbm_stability=稳定 -potion.hbm_taint=污染 +potion.hbm_radx=辐射抗性 +potion.hbm_stability=原子稳定性 +potion.hbm_taint=腐化沾染 potion.hbm_telekinesis=! ! ! + radar.detectMissiles=探测导弹 radar.detectPlayers=探测玩家 radar.redMode=红石控制模式$开启: 基于导弹距离输出红石信号$关闭: 基于导弹级别输出红石信号 -radar.smartMode=智能模式$有红石信号时忽略上升段的导弹 +radar.smartMode=智能模式$输出红石信号(忽略上升的导弹) + 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.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.moderated=缓冲 rbmk.rod.depletion=燃料消耗: %s rbmk.rod.xenon=氙元素堆积程度: %s rbmk.rod.coreTemp=核心温度: %s rbmk.rod.skinTemp=表面温度: %s / %s -rbmk.screen.core=核心:%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=小型外壳 +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.quantum=量 shape.quart=四分之一块 -shape.plate=板材 -shape.stamp=锻压模具 -shape.wire=线材 -soundCategory.ntmMachines=NTM机器 +shape.plate=板 +shape.plateTriple=铸造板 +shape.stamp=锻模 +shape.wire=线 + +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.ams_base.name=AMS基座 [装饰] +tile.ams_emitter.name=AMS发射极 [装饰] +tile.ams_limiter.name=AMS稳能器 [装饰] +tile.ancient_scrap.name=远古残骸 tile.anvil_bismuth.name=铋砧 tile.anvil_dnt.name=双聚中子态素砧 -tile.anvil_ferrouranium.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_osmiridium.name=铱锇砧 tile.anvil_schrabidate.name=Sa-铁合金砧 tile.anvil_starmetal.name=星辉金属砧 tile.anvil_steel.name=钢砧 @@ -4071,7 +4217,7 @@ tile.barbed_wire_wither.name=凋零铁丝网 tile.barrel_antimatter.name=磁约束反物质容器 tile.barrel_corroded.name=被腐蚀的桶 tile.barrel_iron.name=铁桶 -tile.barrel_plastic.name=安全桶 +tile.barrel_plastic.name=安全桶™ tile.barrel_steel.name=钢桶 tile.barrel_tcalloy.name=锝-钢合金桶 tile.barricade.name=沙袋 @@ -4079,11 +4225,11 @@ tile.basalt.name=玄武岩 tile.basalt_asbestos.name=富含石棉的玄武岩 tile.basalt_brick.name=玄武岩砖 tile.basalt_fluorite.name=富含氟石的玄武岩 -tile.basalt_gem.name=富含宝石的玄武岩 -tile.basalt_polished.name=抛光玄武岩 +tile.basalt_gem.name=富含晶石的玄武岩 +tile.basalt_polished.name=磨制玄武岩 tile.basalt_smooth.name=平滑玄武岩 -tile.basalt_sulfur.name=富含硫的玄武岩 -tile.basalt_tiles.name=玄武岩砖 +tile.basalt_sulfur.name=富硫玄武岩 +tile.basalt_tiles.name=玄武岩瓦 tile.blast_door.name=防爆闸门 tile.block_actinium.name=锕块 tile.block_advanced_alloy.name=高级合金块 @@ -4094,45 +4240,45 @@ tile.block_bakelite.name=电木块 tile.block_beryllium.name=铍块 tile.block_bismuth.name=铋块 tile.block_boron.name=硼块 -tile.block_c4.name=C-4块 -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_c4.name=C-4炸药块 +tile.block_cap_fritz.name=Fritz弗里茨可乐瓶盖压缩块 +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=S~闪闪可乐瓶盖压缩块 +tile.block_cap_star.name=夕阳沙士星星瓶盖压缩块 +tile.block_cap_sunset.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_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_corium_cobble.name=疏松熔融堆芯冷凝物 tile.block_daffergon.name=达夫贡块 -tile.block_desh.name=Desh块 +tile.block_desh.name=德什块 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_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_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=锂块 @@ -4145,32 +4291,32 @@ 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_niter_reinforced.name=加固硝石块 tile.block_niobium.name=铌块 tile.block_plutonium.name=钚块 tile.block_plutonium_fuel.name=钚燃料块 -tile.block_polonium.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_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_schrabidate.name=Sa326元素酸化铁块 +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_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=钽块 @@ -4180,10 +4326,10 @@ 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_u233.name=铀233块 +tile.block_u235.name=铀U235块 +tile.block_u238.name=铀U238块 +tile.block_unobtainium.name=阿诺布汀块 tile.block_uranium.name=铀块 tile.block_uranium_fuel.name=铀燃料块 tile.block_verticium.name=韦德赛块 @@ -4195,7 +4341,7 @@ tile.block_white_phosphorus.name=白磷块 tile.block_yellowcake.name=黄饼块 tile.block_zirconium.name=锆块 tile.boat.name=船 -tile.bobblehead.name=Bob的魔法娃娃 +tile.bobblehead.name=Bob的摇头娃娃 tile.bomb_multi.name=多功能炸弹 tile.bomber.name=坠毁轰炸机 tile.book_guide.name=HBM的核科技mod手册[遗留] @@ -4203,28 +4349,28 @@ tile.boxcar.name=车厢 tile.brick_asbestos.name=石棉砖块 tile.brick_asbestos_stairs.name=石棉砖楼梯 tile.brick_compound.name=复合网格砖块 -tile.brick_compound_stairs.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_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_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_dungeon_tile.name=硒铜台阶 +tile.brick_fire.name=耐火砖 tile.brick_fire_stairs.name=耐火砖楼梯 tile.brick_jungle.name=硫砷钢砖块 -tile.brick_jungle_circle.name=机械师之环 +tile.brick_jungle_circle.name=机械师留下的圆圈 tile.brick_jungle_cracked.name=开裂硫砷钢砖块 -tile.brick_jungle_fragile.name=粉碎硫砷钢砖块 +tile.brick_jungle_fragile.name=易碎的硫砷钢砖块 tile.brick_jungle_glyph.name=硫砷钢石雕砖块 tile.brick_jungle_lava.name=岩浆硫砷钢砖块 tile.brick_jungle_mystic.name=奥术硫砷钢砖块 @@ -4234,26 +4380,26 @@ tile.brick_light.name=轻质砖块 tile.brick_light_stairs.name=轻质砖楼梯 tile.brick_obsidian.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.broadcaster_pc.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.c4.name=C-4炸药 +tile.cable_detector.name=红石信号电源开关 tile.cable_diode.name=紫铜二极管 tile.cable_switch.name=电源开关 -tile.charge_c4.name=炸药包 +tile.charge_c4.name=爆破炸药 tile.charge_dynamite.name=定时炸弹 tile.charge_miner.name=定时采矿炸药 -tile.charge_semtex.name=Semtex采矿炸药 +tile.charge_semtex.name=塞姆汀塑胶采矿炸药 tile.charger.name=充电站 -tile.cheater_virus.name=冻结Ep -tile.cheater_virus_seed.name=不稳定Ep Schrabide块 +tile.cheater_virus.name=冻结Ep元素 +tile.cheater_virus_seed.name=不稳定Ep元素-Sa326元素块 tile.chlorine_gas.name=氯气 tile.cluster_aluminium.name=铝矿簇 tile.cluster_copper.name=铜矿簇 @@ -4266,13 +4412,13 @@ 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_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=棕色混凝土 @@ -4289,33 +4435,35 @@ tile.concrete_colored.red.name=红色混凝土 tile.concrete_colored.silver.name=淡灰色混凝土 tile.concrete_colored.white.name=白色混凝土 tile.concrete_colored.yellow.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_pillar.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_stairs.name=混凝土瓦楼梯 +tile.concrete_super.name=Über混凝土 tile.concrete_super_broken.name=发霉的碎片 -tile.conveyor.name=输送带 -tile.conveyor_chute.name=输送带滑槽 -tile.conveyor_double.name=双轨道输送带 -tile.conveyor_lift.name=垂直输送带 -tile.conveyor_triple.name=三轨道输送带 +tile.conveyor.name=传送带 +tile.conveyor_chute.name=滑槽 +tile.conveyor_double.name=双通道传送带 +tile.conveyor_lift.name=提升式传送带 +tile.conveyor_triple.name=三通道传送带 tile.corium_block.name=堆芯熔融物 -tile.crane_boxer.name=输送带打包机 -tile.crane_extractor.name=输送带提取器 -tile.crane_inserter.name=输送带导入器 -tile.crane_router.name=输送带分拣机 -tile.crane_unboxer.name=输送带解包机 +tile.crane_boxer.name=传送带打包器 +tile.crane_extractor.name=传送带输出器 +tile.crane_grabber.name=传送带抓取器 +tile.crane_inserter.name=传送带输入器 +tile.crane_router.name=传送带分流器 +tile.crane_splitter.name=传送带分离器 +tile.crane_unboxer.name=传送带解包器 tile.crashed_bomb.name=哑弹 tile.crate.name=补给箱 -tile.crate_ammo.name=星辉补给箱 +tile.crate_ammo.name=星辉金属补给箱 tile.crate_can.name=罐头补给箱 -tile.crate_desh.name=Desh板条箱 +tile.crate_desh.name=德什制箱子 tile.crate_iron.name=铁箱 tile.crate_jungle.name=硫砷钢箱 tile.crate_lead.name=危险品补给箱 @@ -4331,10 +4479,11 @@ tile.deco_aluminium.name=铝装饰块 tile.deco_asbestos.name=石棉瓦 tile.deco_beryllium.name=铍装饰块 tile.deco_computer.ibm_300pl.name=IBM个人电脑300PL -tile.deco_emitter.name=Deco发光体 +tile.deco_emitter.name=装饰性激光发射器 +tile.part_emitter.name=装饰性粒子生成器 tile.deco_lead.name=铅装饰块 -tile.deco_rbmk.name=RBMK装饰块 -tile.deco_rbmk_smooth.name=平滑RBMK装饰块 +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=生锈的钢制管道 @@ -4364,11 +4513,11 @@ tile.deco_steel.name=钢装饰块 tile.deco_titanium.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.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=采矿炸药 @@ -4378,71 +4527,73 @@ 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.dirt_dead.name=荒土 +tile.dirt_oily.name=油污 tile.drill_pipe.name=钻杆 tile.door_bunker.name=仓门 -tile.door_metal.name=金属门 tile.door_office.name=办公室门 -tile.ducrete.name=高密度贫铀混凝土瓷砖 -tile.ducrete_stairs.name=高密度贫铀混凝土瓷砖楼梯 -tile.ducrete_smooth.name=高密度贫铀混凝土 -tile.ducrete_smooth_stairs.name=高密度贫铀混凝土楼梯 +tile.door_metal.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.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_advanced_hull.name=高级工厂方块 tile.factory_titanium_conductor.name=工厂电力端口 tile.factory_titanium_core.name=工厂核心组件 tile.factory_titanium_furnace.name=工厂端口 -tile.factory_titanium_hull.name=工厂外壳 +tile.factory_titanium_hull.name=工厂方块 tile.fallout.name=辐射尘 +tile.fan.name=风扇 tile.fence_metal.name=铁丝网围栏 tile.field_disturber.name=高能场干扰机 -tile.filing_cabinet.green.name=蒙尘的文件柜 +tile.filing_cabinet.green.name=布满灰尘的文件柜 tile.filing_cabinet.steel.name=钢制文件柜 -tile.fire_digamma.name=挥之不去的迪伽马之火 +tile.filing_cabinet.name=文件柜 +tile.fire_digamma.name=挥之不去的迪伽玛之火 tile.fire_door.name=防火门 -tile.fireworks.name=烟花箱 -tile.fireworks.charges=已充能: %s +tile.fireworks.name=烟花 +tile.fireworks.charges=装药: %s tile.fireworks.message=信息: %s tile.fireworks.color=颜色: %s -tile.fissure_bomb.name=裂缝炸弹 +tile.fissure_bomb.name=裂变炸弹 tile.flame_war.name=盒中论战 tile.float_bomb.name=悬浮炸弹 -tile.fluid_duct.name=通用流体管道 -tile.fluid_duct_box.name=通用流体管道(方形) +tile.fluid_duct.name=通用流体管道 (已弃用) +tile.fluid_duct_box.name=通用流体管道(箱形管) tile.fluid_duct_gauge.name=流量计管 -tile.fluid_duct_gauge.desc=显示每个游戏刻在管网有多少流体移动的管道$由桶或罐连接的分离网络被视为一个共享网络。 +tile.fluid_duct_gauge.desc=显示每个tick在网络中$流过多少流体的管道.$由桶或罐连接的分离网络$会被视为一个共享网络. tile.fluid_duct_neo.name=通用流体管道 tile.fluid_duct_paintable.name=可喷漆涂层通用流体导管 -tile.fluid_duct_solid.name=带涂层的通用流体导管 +tile.fluid_duct_solid.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.fraction_spacer.name=分馏塔分隔器 +tile.foundry_basin.name=浇筑盆 +tile.foundry_channel.name=浇筑道 +tile.foundry_tank.name=储液池 +tile.foundry_mold.name=浅浇筑盆 +tile.foundry_outlet.name=浇筑口 +tile.fraction_spacer.name=分馏塔分离器 tile.frozen_dirt.name=冰冻土 tile.frozen_grass.name=冰冻草 tile.frozen_log.name=冰冻原木 tile.frozen_planks.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.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_core.name=聚变反应堆控制器 -tile.fusion_hatch.name=聚变反应堆端口 +tile.fusion_hatch.name=风管装饰块 tile.fusion_heater.name=等离子加热器 tile.fusion_motor.name=磁体马达 tile.fwatz_computer.name=Watz聚变反应堆计算矩阵 @@ -4450,19 +4601,19 @@ 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_plasma.name=不稳定反Sa326异变铀金属等离子体 tile.fwatz_scaffold.name=Watz聚变反应堆结构支架 tile.fwatz_tank.name=冷却液罐 -tile.gas_asbestos.name=石棉粉尘 -tile.gas_coal.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_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_monoxide.name=一氧化碳气体 +tile.gas_radon.name=放射性氡气 +tile.gas_radon_dense.name=浓密放射性氡气 tile.gas_radon_tomb.name=古墓气体 tile.geiger.name=盖革计数器 tile.glass_ash.name=灰烬玻璃 @@ -4472,50 +4623,50 @@ tile.glass_polonium.name=钋玻璃 tile.glass_quartz.name=石英玻璃 tile.glass_trinitite.name=核融玻璃 tile.glass_uranium.name=铀玻璃 -tile.gneiss_brick.name=页岩砖 -tile.gneiss_chiseled.name=錾制页岩砖 -tile.gneiss_tile.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.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=致密Sa326元素酸化铁制电磁加速线圈 +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=粒子加速器电镀层 (黄色) +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_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_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.heater_oven.desc=燃烧固体燃料以产生热量.$可以85%的效率接受来自底部的热量. tile.hev_battery.name=盔甲电池 -tile.impact_dirt.name=烧焦的泥土 +tile.impact_dirt.name=焦土 tile.iter.name=聚变反应堆 tile.ladder_aluminium.name=铝制梯子 tile.ladder_cobalt.name=钴制梯子 @@ -4541,22 +4692,23 @@ tile.machine_arc_furnace_off.name=电弧炉 tile.machine_arc_furnace_on.name=电弧炉 tile.machine_armor_table.name=装甲改装台 tile.machine_assembler.name=装配机 -tile.machine_assemfac.name=装配厂 -tile.machine_autocrafter.name=自动工作台 -tile.machine_autosaw.name=自动嗡嗡锯 -tile.machine_bat9000.name=巨尻-9000 储罐 +tile.machine_assemfac.name=大型装配厂 +tile.machine_autocrafter.name=自动化工作台 +tile.machine_autosaw.name=自动锯 +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_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_chemplant.name=化工装置 tile.machine_chungus.name=“利维坦”巨型汽轮机 tile.machine_chungus.desc=效率: 85%% tile.machine_coal_off.name=火力发电机 @@ -4568,61 +4720,62 @@ tile.machine_controller.name=反应堆遥控模块 tile.machine_converter_he_rf.name=HE→RF转换器 tile.machine_converter_rf_he.name=RF→HE转换器 tile.machine_crucible.name=坩埚 -tile.machine_crystallizer.name=矿物酸化器 +tile.machine_crystallizer.name=矿物结晶机 tile.machine_cyclotron.name=回旋加速器 -tile.machine_detector.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_difurnace_rtg_off.name=核能高炉 +tile.machine_difurnace_rtg_on.name=核能高炉 +tile.machine_dineutronium_battery.name=Spark闪闪蓄电池 tile.machine_drill.name=自动采矿钻机 tile.machine_electric_furnace_off.name=电炉 tile.machine_electric_furnace_on.name=电炉 tile.machine_epress.name=电动锻压机 tile.machine_excavator.name=大型采矿钻机 -tile.machine_fel.name=FEL自由电子激光器 +tile.machine_fel.name=FEL tile.machine_fensu.name=FEnSU飞轮储能系统 -tile.machine_flare.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_fracking_tower.name=压裂式钻塔 tile.machine_gascent.name=气体离心机 tile.machine_generator.name=核反应堆[旧] tile.machine_geo.name=地热发电机 tile.machine_hephaestus.name=地热换热器 tile.machine_industrial_generator.name=工业发电机 tile.machine_keyforge.name=锁匠桌 -tile.machine_large_turbine.name=工业汽轮机 +tile.machine_large_turbine.name=大型工业汽轮机 tile.machine_large_turbine.desc=效率: 100%% tile.machine_liquefactor.name=工业液化机 -tile.machine_liquefactor.desc=强大的通用机器,可将物品转化为液体$配有多功能催化组件、加热元件和用于石化液化的内置水合器。 +tile.machine_liquefactor.desc=强大的通用型机器,可将物品转化为液体.$配有多功能催化组件,加热元件$和用于石油化工进行液化的内置水合器. tile.machine_lithium_battery.name=锂蓄电池 tile.machine_microwave.name=微波炉 -tile.machine_mining_laser.name=采矿激光 +tile.machine_mining_laser.name=自动激光采矿钻机 tile.machine_minirtg.name=放射性同位素电池 tile.machine_missile_assembly.name=导弹装配台 -tile.machine_mixer.name=工业搅拌机 +tile.machine_mixer.name=工业混合机 tile.machine_nuke_furnace_off.name=核熔炉 tile.machine_nuke_furnace_on.name=核熔炉 tile.machine_orbus.name=重型磁约束储罐 tile.machine_powerrtg.name=PT同位素电池 tile.machine_press.name=火力锻压机 tile.machine_puf6_tank.name=六氟化钚储罐 -tile.machine_pumpjack.name=石油钻机 +tile.machine_pumpjack.name=梁式抽油机 tile.machine_radar.name=雷达 tile.machine_radgen.name=辐射能量发电机 -tile.machine_radiolysis.name=放射性同位素热电机和辐射裂解室 +tile.machine_radiolysis.name=放射性同位素热电发生器和辐解室 tile.machine_reactor.name=增殖反应堆 -tile.machine_reactor_small.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_cyan.name=Sa326异变铀金属衰变发电机 [开发中] tile.machine_rtg_furnace_off.name=放射性同位素热力炉[RTG] tile.machine_rtg_furnace_on.name=放射性同位素热力炉[RTG] tile.machine_rtg_green.name=韦德赛富集发电机 @@ -4632,25 +4785,26 @@ 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_schrabidium_battery.name=Sa326蓄电池 -tile.machine_schrabidium_transmutator.name=Sa326嬗变装置 -tile.machine_selenium.name=星型发动机 +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=激光同位素分离室 +tile.machine_silex.name=同位素激光分离室(SILEX) tile.machine_siren.name=警报器 -tile.machine_solar_boiler.name=太阳能锅炉 +tile.machine_solar_boiler.name=太阳能蒸发塔 tile.machine_solidifier.name=工业固化机 -tile.machine_solidifier.desc=配备冷却系统和其他多功能工具的通用机器,用于使用冷冻和石化聚合等多种工艺将流体转化为固体。 +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_steel.name=重型斯特林发动机 -tile.machine_stirling_steel.desc=它将热量转化为能量。这需要外部热源$使用更重的齿轮来支持更高的温度$传热率:T*0.1 TU/T$最大进气量:1500 TU/T$效率:50% +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_storage_drum.name=核废料处理桶 +tile.machine_stirling_steel.name=重型斯特林发电机 +tile.machine_stirling_steel.desc=将热量转化为能量. 需要外部热源.$使用更重的齿轮来支持更高的温度.$传热效率: T*0.1 TU/t$最大吸热速率: 1500 TU/t$转换效率: 50%% tile.machine_telelinker.name=炮塔ID管理器 tile.machine_teleporter.name=传送机 tile.machine_tower_large.name=冷却塔 @@ -4662,20 +4816,21 @@ 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_turbofan.name=涡扇发电机 tile.machine_uf6_tank.name=六氟化铀储罐 -tile.machine_waste_drum.name=乏燃料池 +tile.machine_vacuum_distill.name=真空精炼厂 +tile.machine_waste_drum.name=乏核燃料冷却池 tile.machine_well.name=钻油塔 -tile.machine_zirnox.name=锆诺克斯核反应堆 +tile.machine_zirnox.name=ZIRNOX锆诺克斯反应堆 tile.marker_structure.name=多方块结构信标 -tile.mass_storage.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_polished.name=磨制陨石块 tile.meteor_spawner.name=赛博螃蟹组装机 tile.mine_ap.name=反步兵地雷 tile.mine_fat.name=核地雷 @@ -4693,7 +4848,7 @@ tile.nuke_fstbmb.name=BF炸弹 tile.nuke_gadget.name=小玩意 tile.nuke_man.name=胖子 tile.nuke_mike.name=常青藤迈克 -tile.nuke_n2.name=N2炸弹 +tile.nuke_n2.name=N²炸弹 tile.nuke_n45.name=N45水雷 tile.nuke_prototype.name=原型 tile.nuke_solinium.name=蔚蓝洗礼 @@ -4701,54 +4856,54 @@ tile.nuke_tsar.name=沙皇炸弹 tile.oil_duct.name=输油管 tile.oil_duct_solid.name=粗输油管 tile.oil_pipe.name=原油抽取管 -tile.ore_alexandrite.name=亚历山大变石矿 +tile.ore_alexandrite.name=紫翠宝石矿 tile.ore_aluminium.name=铝矿石 tile.ore_asbestos.name=石棉矿 tile.ore_australium.name=奥斯矿石 -tile.ore_bedrock.name=基岩矿石 -tile.ore_bedrock_coltan.name=基岩钶钽铁矿 -tile.ore_bedrock_oil.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_coal_oil_burning.name=烧焦的含油煤矿石 tile.ore_cobalt.name=钴矿石 -tile.ore_coltan.name=钶钽铁矿 +tile.ore_coltan.name=钶钽铁矿石 tile.ore_copper.name=铜矿石 tile.ore_daffergon.name=达夫贡矿石 -tile.ore_depth_borax.name=深层硼砂矿 +tile.ore_depth_borax.name=深层硼砂矿石 tile.ore_depth_cinnebar.name=深层朱砂矿石 -tile.ore_depth_nether_neodymium.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_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_copper.name=铜矿陨石 tile.ore_meteor_lead.name=铅矿陨石 tile.ore_meteor_lithium.name=锂矿陨石 -tile.ore_meteor_starmetal.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_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_schrabidium.name=下界Sa326异变铀金属矿石 +tile.ore_nether_smoldering.name=闷烧的下界石 tile.ore_nether_sulfur.name=下界硫磺矿石 tile.ore_nether_tungsten.name=下界钨矿石 tile.ore_nether_uranium.name=下界铀矿石 @@ -4760,71 +4915,77 @@ 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_schrabidium.name=Sa326异变铀金属矿石 tile.ore_sulfur.name=硫磺矿石 -tile.ore_tektite_osmiridium.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_unobtainium.name=阿诺布汀矿石 tile.ore_uranium.name=铀矿石 tile.ore_uranium_scorched.name=烧焦的铀矿石 tile.ore_verticium.name=韦德赛矿石 -tile.ore_volcano.name=地热裂缝 +tile.ore_volcano.name=地热口 tile.ore_weidanium.name=魏丹矿石 tile.pink_barrel.name=煤油桶 tile.pink_log.name=粉色原木 tile.pink_planks.name=粉色木板 tile.pink_slab.name=粉色木半砖 tile.pink_stairs.name=粉色木台阶 -tile.plant_dead.name=死亡植物 +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.pole_satellite_receiver.name=卫星天线 tile.pole_top.name=天线顶部 -tile.press_preheater.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.radio_torch_receiver.name=无线电接收器上的红石 -tile.radio_torch_receiver.desc=可在平坦表面或与比较器兼容的方块上放置 -tile.radio_torch_sender.name=无线电发射机上的红石 -tile.radio_torch_sender.desc=可在平坦表面或比较器兼容的方块上放置$读取红石信号或比较器输入 +tile.pribris_burning.name=燃烧的RBMK石墨式反应堆残骸 +tile.pribris_digamma.name=发黑的RBMK石墨式反应堆残骸 +tile.pribris_radiating.name=阴燃的RBMK石墨式反应堆残骸 +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.radiorec.name=FM收音机 tile.rail_booster.name=高速动力轨道 tile.rail_highspeed.name=高速轨道 -tile.rail_narrow.name=窄轨距轨道 -tile.rail_wood.name=木制轨道 -tile.rbmk_absorber.name=RBMK反应堆硼中子吸收器 -tile.rbmk_blank.name=RBMK反应堆结构柱 -tile.rbmk_boiler.name=RBMK反应堆蒸汽管道 +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_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_outlet.name=RBMK ReaSim蒸汽出口 -tile.rbmk_storage.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_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_outlet.name=RBMK石墨式反应堆(ReaSim)蒸汽出口 +tile.rbmk_storage.name=RBMK石墨式反应堆燃料棒燃料棒储存柱 tile.reactor_computer.name=反应堆控制器 tile.reactor_conductor.name=反应堆锅炉 tile.reactor_control.name=控制棒 @@ -4834,15 +4995,15 @@ tile.reactor_hatch.name=反应堆端口 tile.reactor_inserter.name=反应堆燃料插入器 tile.red_barrel.name=炸药桶 tile.red_cable.name=紫铜电线 -tile.red_cable_classic.name=紫铜电缆(经典型) -tile.red_cable_paintable.name=可涂漆紫铜线 -tile.red_connector.name=电力连接器 +tile.red_cable_classic.name=紫铜电线(经典) +tile.red_cable_paintable.name=可涂漆红铜线缆块 +tile.red_connector.name=电线连接器 tile.red_pylon.name=电线杆 tile.red_pylon_large.name=大型输电塔 tile.red_wire_coated.name=密封紫铜电缆 tile.reinforced_brick.name=强化石头 -tile.reinforced_brick_stairs.name=钢筋石楼梯 -tile.reinforced_ducrete.name=加固高密度贫铀混凝土 +tile.reinforced_brick_stairs.name=强化石头楼梯 +tile.reinforced_ducrete.name=强化贫铀高密度混凝土 tile.reinforced_glass.name=强化玻璃 tile.reinforced_lamp_off.name=强化红石灯 tile.reinforced_lamp_on.name=强化红石灯 @@ -4859,10 +5020,10 @@ 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_lead.name=铅砂 +tile.sand_polonium.name=钋砂 tile.sand_quartz.name=石英砂 -tile.sand_uranium.name=铀沙 +tile.sand_uranium.name=铀砂 tile.sat_dock.name=卸货平台 tile.sat_foeq.name=实验型核能PEAF-Mk.I FOEQ Duna探测器[装饰块] tile.sat_laser.name=轨道死光炮[装饰块] @@ -4870,43 +5031,44 @@ tile.sat_mapper.name=地表测绘卫星[装饰块] tile.sat_radar.name=雷达探测卫星[装饰块] tile.sat_resonator.name=X晶体共振卫星[装饰块] tile.sat_scanner.name=绘测和资源探测卫星[装饰块] -tile.schrabidic_block.name=Sa酸 +tile.schrabidic_block.name=Sa326元素酸液 tile.seal_controller.name=发射井舱门开关 tile.seal_frame.name=发射井舱门框架 tile.seal_hatch.name=发射井舱门 tile.sellafield.0.name=放射性熔融凝固物 -tile.sellafield.1.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.sellafield.4.name=地狱的放射性熔融凝固物 +tile.sellafield.5.name=高放射性堆芯熔融凝固物 +tile.sellafield_slaked.name=冷却的放射性熔融凝固物 tile.semtex.name=塞姆汀塑胶炸药 -tile.solar_mirror.name=定日镜 +tile.solar_mirror.name=阳光反射镜 tile.soyuz_capsule.name=货物着陆舱 -tile.soyuz_launcher.name=联盟号发射平台 -tile.spikes.name=地刺 +tile.soyuz_launcher.name=联盟号巨型运载火箭发射平台 +tile.spikes.name=尖刺 tile.stalactite.asbestos.name=石棉钟乳石 tile.stalactite.sulfur.name=含硫钟乳石 -tile.stalagmite.asbestos.name=石棉石笋 -tile.stalagmite.sulfur.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=允许掉落的物品和XP穿过 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_cracked.name=碎石 +tile.stone_depth.name=深板岩 +tile.stone_depth_nether.name=下界深板岩 +tile.stone_gneiss.name=石墨片岩 tile.stone_porous.name=多孔石 -tile.stone_resource.asbestos.name=温石棉 +tile.stone_resource.asbestos.name=蛇纹石石棉 tile.stone_resource.hematite.name=赤铁矿 tile.stone_resource.limestone.name=石灰石 tile.stone_resource.malachite.name=孔雀石 -tile.stone_resource.sulfur.name=硫磺石 +tile.stone_resource.sulfur.name=含硫岩层 tile.struct_iter_core.name=聚变反应堆核心组件 tile.struct_launcher.name=发射台部件 tile.struct_launcher_core.name=紧凑型发射台核心组件 @@ -4914,13 +5076,14 @@ tile.struct_launcher_core_large.name=发射台核心组件 tile.struct_plasma_core.name=等离子加热器核心组件 tile.struct_scaffold.name=发射台骨架 tile.struct_soyuz_core.name=联盟号发射器核心组件 -tile.substation.name=变电站 +tile.struct_watz_core.name=Watz瓦茨电厂核心组件 +tile.substation.name=变电器 tile.sulfuric_acid_block.name=硫酸 -tile.taint.name=腐质 +tile.taint.name=污点 tile.taint_barrel.name=IMP残渣桶 tile.tape_recorder.name=录音机 tile.tektite.name=熔融石 -tile.teleanchor.name=传送锚 +tile.teleanchor.name=远程传送锚 tile.tesla.name=特斯拉线圈 tile.test_nuke.name=测试核弹 tile.therm_endo.name=吸热炸弹 @@ -4930,74 +5093,81 @@ 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.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_friendly.name=链式机枪炮塔"友好先生" tile.turret_fritz.name=重型火焰喷射器炮塔“弗里茨” +tile.turret_howard.name=双管近防炮"霍华德" +tile.turret_howard_damaged.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_himars.name=远程火箭弹炮塔"亨利" +tile.turret_jeremy.name=重炮炮台"杰米里" tile.turret_light.name=轻型机枪炮塔 tile.turret_maxwell.name=高能微波炮塔 "麦克斯韦" tile.turret_rocket.name=火箭炮塔 -tile.turret_richard.name=火箭炮塔“理查德” +tile.turret_richard.name=蜂巢火箭弹炮塔"理查德" tile.turret_spitfire.name=目前没有名字[开发中] -tile.turret_sentry.name=哨兵炮塔“布朗” +tile.turret_sentry.name=哨岗炮塔 "布朗" tile.turret_tau.name=陶子炮塔 -tile.turret_tauon.name=XVL1456原型陶子发射器炮塔"陶恩" +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.vinyl_tile.large.name=大型乙烯基瓷砖 tile.vinyl_tile.small.name=小型乙烯基瓷砖 tile.vitrified_barrel.name=玻璃化核废料桶 -tile.volcanic_lava_block.name=火山熔岩 +tile.volcanic_lava_block.name=火山岩浆 tile.volcano_core.name=火山核心 tile.waste_earth.name=死亡草地 -tile.waste_leaves.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_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_hatch.name=Watz反应堆端口 +tile.watz.name=Watz瓦茨电厂 +tile.watz_conductor.name=Watz瓦茨发电塔电力端口 +tile.watz_control.name=Watz瓦茨发电塔加强控制棒 +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=损毁的ZINROX -trait.asbestos=石棉 -trait.blinding=致盲 -trait.coal=煤尘 -trait.digamma=迪伽马辐射 -trait.drop=掉落物危险 +tile.zirnox_destroyed.name=熔毁ZIRNOX锆诺克斯反应堆 + +trait.asbestos=石棉粉尘 +trait.blinding=致盲性 +trait.coal=煤粉尘 +trait.digamma=Ϝ迪伽马辐射 +trait.drop=掉落危险 trait.explosive=高度易燃/易爆 -trait.furnace=可在核熔炉中工作 %s 次 -trait.heat=提供 %s 热量 +trait.furnace=在核熔炉中可熔炼%s个物品 +trait.heat=产生%s热量 trait.hlParticle=粒子半衰期: %s trait.hlPlayer=玩家半衰期: %s -trait.hot=自燃/高温 -trait.hydro=与水反应 +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.heat=每1中子通量产生的热量: %s trait.rbmk.melt=熔点: %s trait.rbmk.neutron.any=所有中子 trait.rbmk.neutron.fast=快中子 @@ -5009,12 +5179,13 @@ 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.fluxFunc=Ϝ迪伽马粒子放射函数: %s +trait.rbmx.funcType=Ϝ迪伽马粒子放射函数类型: %s +trait.rbmx.heat=满功率时每tick产生的热量: %s trait.rbmx.melt=崩溃深度: %s trait.rbmk.neutron.any.x=所有非欧几里德形时空平面 trait.rbmk.neutron.fast.x=椭圆非欧几里德形时空平面 @@ -5026,55 +5197,56 @@ 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.mercury=自动汞采集 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 + +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=OFF +turret.on=ON +turret.players=攻击玩家: %s + wavelengths.name.ir=红外线 wavelengths.name.visible=可见光 wavelengths.name.uv=紫外线 wavelengths.name.gamma=伽马射线 -wavelengths.name.drx=迪伽玛 +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.beheader=斩首者 +weapon.ability.bobble=收藏家的运气 +weapon.ability.chainsaw=苦痛之锯 weapon.ability.fire=燃烧 -weapon.ability.radiation=辐射 -weapon.ability.phosphorus=白磷刀刃 -weapon.ability.stun=震撼 +weapon.ability.radiation=放射性刀片 +weapon.ability.phosphorus=磷烧伤 +weapon.ability.stun=眩晕打击 weapon.ability.vampire=吸血 -weapon.elecGun.modeChange=开火模式更改为: +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=伽马射线 -hadron.error=错误! -container.reactor=增殖反应堆 -death.attack.subAtomic=%1$s 的原子被 %2$s 摧毁 \ No newline at end of file +weapon.elecGun.glass_cannon.gamma=γ射线 \ No newline at end of file From b276b0167f76c7f5a79214597ce53ad4bfb4f1f8 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 24 Apr 2023 16:11:57 +0200 Subject: [PATCH 042/285] coker --- src/main/java/com/hbm/blocks/ModBlocks.java | 13 ++-- .../com/hbm/blocks/machine/MachineCoker.java | 39 ++++++++++ .../java/com/hbm/crafting/RodRecipes.java | 3 + .../ContainerMachineCatalyticReformer.java | 6 -- .../container/ContainerMachineCoker.java | 73 ++++++++++++++++++ .../hbm/inventory/gui/GUIMachineCoker.java | 52 +++++++++++++ .../com/hbm/items/machine/ItemWatzPellet.java | 2 +- src/main/java/com/hbm/main/MainRegistry.java | 3 + .../machine/oil/TileEntityMachineCoker.java | 64 +++++++++++++++ .../hbm/textures/gui/processing/gui_coker.png | Bin 0 -> 2018 bytes 10 files changed, 243 insertions(+), 12 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/machine/MachineCoker.java create mode 100644 src/main/java/com/hbm/inventory/container/ContainerMachineCoker.java create mode 100644 src/main/java/com/hbm/inventory/gui/GUIMachineCoker.java create mode 100644 src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java create mode 100644 src/main/resources/assets/hbm/textures/gui/processing/gui_coker.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 4e7c82139..3b4ee27cf 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -928,6 +928,7 @@ public class ModBlocks { public static Block fraction_spacer; public static Block machine_catalytic_cracker; public static Block machine_catalytic_reformer; + public static Block machine_coker; public static Block machine_boiler_off; public static Block machine_boiler_on; @@ -2139,6 +2140,7 @@ public class ModBlocks { 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_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_drill = new MachineMiningDrill(Material.iron).setBlockName("machine_drill").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":machine_drill"); machine_excavator = new MachineExcavator().setBlockName("machine_excavator").setHardness(5.0F).setResistance(100.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); @@ -3186,12 +3188,13 @@ public class ModBlocks { register(machine_flare); register(machine_refinery); register(machine_vacuum_distill); - GameRegistry.registerBlock(machine_fraction_tower, machine_fraction_tower.getUnlocalizedName()); - GameRegistry.registerBlock(fraction_spacer, fraction_spacer.getUnlocalizedName()); - GameRegistry.registerBlock(machine_catalytic_cracker, machine_catalytic_cracker.getUnlocalizedName()); + register(machine_fraction_tower); + register(fraction_spacer); + register(machine_catalytic_cracker); register(machine_catalytic_reformer); - GameRegistry.registerBlock(machine_drill, machine_drill.getUnlocalizedName()); - GameRegistry.registerBlock(machine_autosaw, machine_autosaw.getUnlocalizedName()); + register(machine_coker); + register(machine_drill); + register(machine_autosaw); register(machine_excavator); register(machine_mining_laser); register(barricade); diff --git a/src/main/java/com/hbm/blocks/machine/MachineCoker.java b/src/main/java/com/hbm/blocks/machine/MachineCoker.java new file mode 100644 index 000000000..b944783ba --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineCoker.java @@ -0,0 +1,39 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.machine.oil.TileEntityMachineCoker; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class MachineCoker extends BlockDummyable { + + public MachineCoker(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + + if(meta >= 12) return new TileEntityMachineCoker(); + + 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[] {4, 0, 2, 2, 2, 2}; + } + + @Override + public int getOffset() { + return 2; + } +} diff --git a/src/main/java/com/hbm/crafting/RodRecipes.java b/src/main/java/com/hbm/crafting/RodRecipes.java index 77e6a2aa5..06f29fb44 100644 --- a/src/main/java/com/hbm/crafting/RodRecipes.java +++ b/src/main/java/com/hbm/crafting/RodRecipes.java @@ -136,6 +136,9 @@ public class RodRecipes { addPellet(PB, EnumWatzType.LEAD); addPellet(B, EnumWatzType.BORON); addPellet(U238, EnumWatzType.DU); + } + + public static void registerInit() { /* GT6 */ if(OreDictionary.doesOreNameExist("ingotNaquadah-Enriched")) addPellet(new DictFrame("Naquadah-Enriched"), EnumWatzType.NQD); if(OreDictionary.doesOreNameExist("ingotNaquadria")) addPellet(new DictFrame("Naquadria"), EnumWatzType.NQR); diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineCatalyticReformer.java b/src/main/java/com/hbm/inventory/container/ContainerMachineCatalyticReformer.java index a746904c8..41b30d98e 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineCatalyticReformer.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineCatalyticReformer.java @@ -9,7 +9,6 @@ import api.hbm.energy.IBatteryItem; 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; @@ -55,11 +54,6 @@ public class ContainerMachineCatalyticReformer extends Container { } } - @Override - public void addCraftingToCrafters(ICrafting crafting) { - super.addCraftingToCrafters(crafting); - } - @Override public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) { ItemStack var3 = null; diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineCoker.java b/src/main/java/com/hbm/inventory/container/ContainerMachineCoker.java new file mode 100644 index 000000000..61ea7768e --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineCoker.java @@ -0,0 +1,73 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.items.machine.IItemFluidIdentifier; +import com.hbm.tileentity.machine.oil.TileEntityMachineCoker; + +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 ContainerMachineCoker extends Container { + + private TileEntityMachineCoker coker; + + public ContainerMachineCoker(InventoryPlayer invPlayer, TileEntityMachineCoker tedf) { + + coker = tedf; + + this.addSlotToContainer(new Slot(tedf, 0, 35, 72)); + this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 1, 97, 27)); + + 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 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 <= 1) { + if(!this.mergeItemStack(var5, 2, this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(var3.getItem() instanceof IItemFluidIdentifier) { + if(!this.mergeItemStack(var5, 0, 1, false)) { + return null; + } + } else { + return null; + } + } + + if(var5.stackSize == 0) { + var4.putStack((ItemStack) null); + } else { + var4.onSlotChanged(); + } + } + + return var3; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return coker.isUseableByPlayer(player); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineCoker.java b/src/main/java/com/hbm/inventory/gui/GUIMachineCoker.java new file mode 100644 index 000000000..a05678ed7 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineCoker.java @@ -0,0 +1,52 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerMachineCoker; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.oil.TileEntityMachineCoker; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIMachineCoker extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_coker.png"); + private TileEntityMachineCoker refinery; + + public GUIMachineCoker(InventoryPlayer invPlayer, TileEntityMachineCoker tedf) { + super(new ContainerMachineCoker(invPlayer, tedf)); + refinery = tedf; + + this.xSize = 176; + this.ySize = 204; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + refinery.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 35, guiTop + 18, 16, 52); + refinery.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 125, guiTop + 18, 16, 52); + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.refinery.hasCustomInventoryName() ? this.refinery.getInventoryName() : I18n.format(this.refinery.getInventoryName()); + + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 0xC7C1A3); + 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); + + refinery.tanks[0].renderTank(guiLeft + 35, guiTop + 70, this.zLevel, 16, 52); + refinery.tanks[1].renderTank(guiLeft + 125, guiTop + 70, this.zLevel, 16, 52); + } +} diff --git a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java index c8e31a111..be5e0ad7f 100644 --- a/src/main/java/com/hbm/items/machine/ItemWatzPellet.java +++ b/src/main/java/com/hbm/items/machine/ItemWatzPellet.java @@ -135,7 +135,7 @@ public class ItemWatzPellet extends ItemEnumMulti { if(num.passive > 0){ list.add(color + "Base fission rate: " + reset + num.passive); - list.add(EnumChatFormatting.RED + "Self-ingiting!"); + list.add(EnumChatFormatting.RED + "Self-igniting!"); } if(num.heatEmission > 0) list.add(color + "Heat per flux: " + reset + num.heatEmission + " TU"); if(num.burnFunc != null) { diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index e9908af75..6e1e381e5 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -49,6 +49,7 @@ import com.hbm.blocks.generic.BlockMotherOfAllOres; import com.hbm.blocks.generic.BlockToolConversion; import com.hbm.commands.CommandReloadRecipes; import com.hbm.config.*; +import com.hbm.crafting.RodRecipes; import com.hbm.creativetabs.*; import com.hbm.entity.EntityMappings; import com.hbm.entity.grenade.*; @@ -637,6 +638,8 @@ public class MainRegistry { @EventHandler public static void load(FMLInitializationEvent event) { + + RodRecipes.registerInit(); 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(); diff --git a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java new file mode 100644 index 000000000..00d05c2ff --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java @@ -0,0 +1,64 @@ +package com.hbm.tileentity.machine.oil; + +import com.hbm.inventory.container.ContainerMachineCoker; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineCoker; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.TileEntityMachineBase; + +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.world.World; + +public class TileEntityMachineCoker extends TileEntityMachineBase implements IFluidStandardTransceiver, IGUIProvider { + + public FluidTank[] tanks; + + public TileEntityMachineCoker() { + super(1); + tanks = new FluidTank[2]; + tanks[0] = new FluidTank(Fluids.HEAVYOIL, 16_000); + tanks[1] = new FluidTank(Fluids.GAS, 8_000); + } + + @Override + public String getName() { + return "container.machineCoker"; + } + + @Override + public void updateEntity() { + + } + + @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 + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerMachineCoker(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIMachineCoker(player.inventory, this); + } +} diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_coker.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_coker.png new file mode 100644 index 0000000000000000000000000000000000000000..221c215fb74287c0f3ad3ca88a4afb2bb8645a66 GIT binary patch literal 2018 zcmb7FX;4#F7`<5v5s{=uKokg|LkhG&Lj<@!gv@mefSGl&oIZ4^| z%kK5<_tQ%pj|Jy00_HDBu+w6h+W04m(?KzLrCh~Q3~ZpXTFjbhV8RR8Zd~(WA=++{bHbEcGME=!YHAP^!7IsjcT~as)Jq07dq7SoyW>eG`umlpTAca( z#X7SLrc-)iqYm>CLpYVKn!TlLft~cKHHGLx$>mFD8=U4Cth@Z{&-s0Hpgk%n$sOG8j4W>>w`nnl=@mMXUC zob``binaujkD^YcjHBzuS|%VdtJCiIb&%@A0%5U}d+kQ)felZOcRl=uVlVZcz^cCD!nLk;LHv=L#n@41a%oU89GD{ELi2pZth$Z0YtH(ovY@1Fn*PcRLh zQZdH@4bv}kR;A2C_LAB^9}r<~=ZS0Xx>INqvGJ6#DjM}@p9}82I?ZhR&H9@u+9x~;>&OLEX}sfvwhVecolOb zE|f~8<{V*F@ROD%`)?0jA5bad1S4@t_tD(OMoS`**g@#-8G2bDO^Jd1)%X6x5?_aO zmJkQ63rD0<=`ilF;gEpiVR5v+KW4AROxjLvo@+j$K48(NTu0k# zl%6A8b|k^O_y+$p+tgj`_RR1voS5w+BO{?U$c|Xxm@9@;yW@0i iOK+oB+vu&H=}LWs>A9+*wLSjoJZ}%bJvHu>)4u{xj8A$1 literal 0 HcmV?d00001 From 0c36464cd886110937fe32983ca03ffa01c9bde1 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Mon, 24 Apr 2023 20:02:40 -0500 Subject: [PATCH 043/285] Scratch that last idea, crappy concept and can be implemented in literally a few lines --- .../inventory/recipes/AssemblerRecipes.java | 7 -- src/main/java/com/hbm/items/ModItems.java | 4 -- .../hbm/items/special/DriverItemCCard.java | 39 ---------- .../java/com/hbm/items/special/ItemCCard.java | 68 ------------------ .../machine/rbmk/TileEntityCraneConsole.java | 22 +++--- .../machine/rbmk/TileEntityRBMKAbsorber.java | 4 +- .../machine/rbmk/TileEntityRBMKBoiler.java | 18 ++--- .../machine/rbmk/TileEntityRBMKControl.java | 12 ++-- .../machine/rbmk/TileEntityRBMKCooler.java | 10 +-- .../machine/rbmk/TileEntityRBMKHeater.java | 18 ++--- .../machine/rbmk/TileEntityRBMKOutgasser.java | 10 +-- .../machine/rbmk/TileEntityRBMKReflector.java | 4 +- .../machine/rbmk/TileEntityRBMKRod.java | 32 +++------ .../machine/rbmk/TileEntityRBMKStorage.java | 8 +-- .../textures/items/rbmk_component_card.png | Bin 549 -> 0 bytes 15 files changed, 63 insertions(+), 193 deletions(-) delete mode 100644 src/main/java/com/hbm/items/special/DriverItemCCard.java delete mode 100644 src/main/java/com/hbm/items/special/ItemCCard.java delete mode 100644 src/main/resources/assets/hbm/textures/items/rbmk_component_card.png diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 536d86df7..42f7bbb80 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -433,13 +433,6 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModItems.fusion_shield_tungsten, 1), new AStack[] {new OreDictStack(W.block(), 32), new OreDictStack(OreDictManager.getReflector(), 96)}, 600); makeRecipe(new ComparableStack(ModItems.fusion_shield_desh, 1), new AStack[] {new OreDictStack(DESH.block(), 16), new OreDictStack(CO.block(), 16), new OreDictStack(BIGMT.plate(), 96)}, 600); makeRecipe(new ComparableStack(ModItems.fusion_shield_chlorophyte, 1), new AStack[] {new OreDictStack(W.block(), 16), new OreDictStack(DURA.block(), 16), new OreDictStack(OreDictManager.getReflector(), 48), new ComparableStack(ModItems.powder_chlorophyte, 48)}, 600); - makeRecipe(new ComparableStack(ModItems.rbmk_component_card, 1), new AStack[] { - new ComparableStack(ModItems.circuit_red_copper, 2), - new OreDictStack(STEEL.plate(), 4), - new ComparableStack(ModItems.wire_gold, 8), - new OreDictStack(ANY_PLASTIC.ingot(), 4), - new OreDictStack(U238.nugget(), 1) - }, 50); makeRecipe(new ComparableStack(ModBlocks.machine_fensu, 1), new AStack[] { new ComparableStack(ModItems.ingot_electronium, 32), new ComparableStack(ModBlocks.machine_dineutronium_battery, 16), diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 250e6579c..0e6b7eba3 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -2430,8 +2430,6 @@ public class ModItems { public static Item nothing; public static Item void_anim; - public static Item rbmk_component_card; - public static Item bob_metalworks; public static Item bob_assembly; public static Item bob_chemistry; @@ -5441,7 +5439,6 @@ public class ModItems { nothing = new Item().setUnlocalizedName("nothing").setTextureName(RefStrings.MODID + ":nothing"); void_anim = new Item().setUnlocalizedName("void_anim").setTextureName(RefStrings.MODID + ":void_anim"); - rbmk_component_card = new ItemCCard().setUnlocalizedName("rbmk_component_card").setMaxStackSize(1).setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":rbmk_component_card"); bob_metalworks = new Item().setUnlocalizedName("bob_metalworks").setTextureName(RefStrings.MODID + ":bob_metalworks"); bob_assembly = new Item().setUnlocalizedName("bob_assembly").setTextureName(RefStrings.MODID + ":bob_assembly"); @@ -8040,7 +8037,6 @@ public class ModItems { GameRegistry.registerItem(ln2_10, ln2_10.getUnlocalizedName()); GameRegistry.registerItem(nothing, nothing.getUnlocalizedName()); GameRegistry.registerItem(void_anim, void_anim.getUnlocalizedName()); - GameRegistry.registerItem(rbmk_component_card, rbmk_component_card.getUnlocalizedName()); GameRegistry.registerItem(bob_metalworks, bob_metalworks.getUnlocalizedName()); GameRegistry.registerItem(bob_assembly, bob_assembly.getUnlocalizedName()); GameRegistry.registerItem(bob_chemistry, bob_chemistry.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/special/DriverItemCCard.java b/src/main/java/com/hbm/items/special/DriverItemCCard.java deleted file mode 100644 index 575134759..000000000 --- a/src/main/java/com/hbm/items/special/DriverItemCCard.java +++ /dev/null @@ -1,39 +0,0 @@ -package com.hbm.items.special; - -import li.cil.oc.api.Network; -import li.cil.oc.api.driver.item.Container; -import li.cil.oc.api.driver.item.Slot; -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.ManagedEnvironment; -import li.cil.oc.api.network.Node; -import li.cil.oc.api.network.Visibility; -import net.minecraft.item.ItemStack; - -public class DriverItemCCard { - public String slot(ItemStack stack) { - return Slot.Card; - } - - public ManagedEnvironment createEnvironment(ItemStack stack, Container container) { - return new Environment(container); - } - - public class Environment extends li.cil.oc.api.prefab.ManagedEnvironment { - protected final Container container; - - public Environment(Container container) { - this.container = container; - Node node = Network.newNode(this, Visibility.Neighbors). - withComponent("particle"). - create(); - } - } - @Callback(direct = true, limit = 16) - public Object[] Greet(Context context, Arguments args) { - - return new Object[] {null}; - } - -} diff --git a/src/main/java/com/hbm/items/special/ItemCCard.java b/src/main/java/com/hbm/items/special/ItemCCard.java deleted file mode 100644 index ef11c977f..000000000 --- a/src/main/java/com/hbm/items/special/ItemCCard.java +++ /dev/null @@ -1,68 +0,0 @@ -package com.hbm.items.special; - -import com.hbm.blocks.machine.rbmk.RBMKBase; -import com.hbm.tileentity.machine.rbmk.TileEntityRBMKBase; -import cpw.mods.fml.common.Mod; -import cpw.mods.fml.common.event.FMLInitializationEvent; -import net.minecraft.block.Block; -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.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.world.World; - -import java.util.List; - -public class ItemCCard extends Item { - - @Mod.EventHandler - public void init(FMLInitializationEvent e) { - li.cil.oc.api.Driver.add((li.cil.oc.api.driver.Item) new DriverItemCCard()); - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - list.add("Right-click to link RBMK."); - if(itemstack.getTagCompound() == null) { - list.add(EnumChatFormatting.RED + "No RBMK Linked!"); - } else { - list.add(EnumChatFormatting.YELLOW + "Linked to RBMK at: " + itemstack.stackTagCompound.getInteger("x") + ", " + itemstack.stackTagCompound.getInteger("y") + ", " + itemstack.stackTagCompound.getInteger("z")); - } - } - - @Override - public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int p_77648_7_, float p_77648_8_, float p_77648_9_, float p_77648_10_) { - if(!world.isRemote) { - - if (stack.stackTagCompound == null) { - stack.stackTagCompound = new NBTTagCompound(); - } - Block block = world.getBlock(x, y, z); - - if (block instanceof RBMKBase) { - - RBMKBase rbmk = (RBMKBase) block; - - int[] pos = rbmk.findCore(world, x, y, z); - - if (pos != null) { - - TileEntity te = world.getTileEntity(pos[0], pos[1], pos[2]); - - if (te instanceof TileEntityRBMKBase) { - stack.stackTagCompound.setInteger("x", pos[0]); - stack.stackTagCompound.setInteger("y", pos[1]); - stack.stackTagCompound.setInteger("z", pos[2]); - player.addChatMessage(new ChatComponentText("Linked!")); - world.playSoundAtEntity(player, "hbm:item.techBoop", 2.0F, 1.0F); - } - } - } - } - return true; - } - -} 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 3a8f715f1..344464db8 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityCraneConsole.java @@ -1,7 +1,5 @@ package com.hbm.tileentity.machine.rbmk; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.machine.rbmk.RBMKBase; import com.hbm.extprop.HbmPlayerProps; @@ -10,10 +8,14 @@ import com.hbm.items.machine.ItemRBMKRod; import com.hbm.packet.NBTPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.INBTPacketReceiver; - +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 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.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -23,11 +25,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraftforge.common.util.ForgeDirection; -import cpw.mods.fml.common.Optional; -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 java.util.List; @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) public class TileEntityCraneConsole extends TileEntity implements INBTPacketReceiver, SimpleComponent { @@ -341,7 +339,7 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece return "rbmk_crane"; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] move(Context context, Arguments args) { if(setUpCrane == true) { @@ -371,7 +369,7 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece return new Object[] {"Crane not found"}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] load(Context context, Arguments args) { if (setUpCrane == true) { @@ -381,7 +379,7 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece return new Object[] {"Crane not found"}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getDepletion(Context context, Arguments args) { if(loadedItem != null && loadedItem.getItem() instanceof ItemRBMKRod) { @@ -390,7 +388,7 @@ public class TileEntityCraneConsole extends TileEntity implements INBTPacketRece return new Object[] {"N/A"}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getXenonPoison(Context context, Arguments args) { if(loadedItem != null && loadedItem.getItem() instanceof ItemRBMKRod) { 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 2ff30b05d..69610b38f 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKAbsorber.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKAbsorber.java @@ -28,14 +28,14 @@ public class TileEntityRBMKAbsorber extends TileEntityRBMKBase implements Simple return "rbmk_absorber_rod"; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getHeat(Context context, Arguments args) { return new Object[] {heat}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; 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 8ecffcaff..bd46536de 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java @@ -332,41 +332,41 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I return "rbmk_boiler"; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getHeat(Context context, Arguments args) { return new Object[] {heat}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getSteam(Context context, Arguments args) { return new Object[] {steam.getFill()}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getSteamMax(Context context, Arguments args) { return new Object[] {steam.getMaxFill()}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getWater(Context context, Arguments args) { return new Object[] {feed.getFill()}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getWaterMax(Context context, Arguments args) { return new Object[] {feed.getMaxFill()}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { FluidType type = steam.getTankType(); @@ -379,7 +379,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I return new Object[] {heat, steam.getFill(), steam.getMaxFill(), feed.getFill(), feed.getMaxFill(), type_1, xCoord, yCoord, zCoord}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getSteamType(Context context, Arguments args) { FluidType type = steam.getTankType(); @@ -390,6 +390,8 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I else {return new Object[] {"Unknown Error"};} } + @Callback(direct = true, limit = 8) + @Optional.Method(modid = "OpenComputers") public Object[] setSteamType(Context context, Arguments args) { int type = args.checkInteger(0); if(type > 3) { 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 5bac96851..8f23e5555 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java @@ -126,37 +126,37 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im return "rbmk_control_rod"; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getLevel(Context context, Arguments args) { return new Object[] {getMult() * 100}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getTargetLevel(Context context, Arguments args) { return new Object[] {targetLevel * 100}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getHeat(Context context, Arguments args) { return new Object[] {heat}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {heat, getMult() * 100, targetLevel * 100, xCoord, yCoord, zCoord}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] setLevel(Context context, Arguments args) { double newLevel = args.checkDouble(0)/100.0; 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 acb873d22..b82bc546b 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java @@ -149,31 +149,31 @@ public class TileEntityRBMKCooler extends TileEntityRBMKBase implements IFluidAc return "rbmk_cooler"; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getHeat(Context context, Arguments args) { return new Object[]{heat}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getCryo(Context context, Arguments args) { return new Object[]{tank.getFill()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getCryoMax(Context context, Arguments args) { return new Object[]{tank.getMaxFill()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[]{heat, tank.getFill(), tank.getMaxFill(), xCoord, yCoord, zCoord}; 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 6894070e4..3ddb02d04 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java @@ -280,54 +280,54 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I return "rbmk_heater"; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getHeat(Context context, Arguments args) { return new Object[] {heat}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getFill(Context context, Arguments args) { return new Object[] {feed.getFill()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getFillMax(Context context, Arguments args) { return new Object[] {feed.getMaxFill()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getExport(Context context, Arguments args) { return new Object[] {steam.getFill()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getExportMax(Context context, Arguments args) { return new Object[] {steam.getMaxFill()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getFillType(Context context, Arguments args) { return new Object[] {feed.getTankType().getID()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getExportType(Context context, Arguments args) { return new Object[] {steam.getTankType().getID()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {heat, feed.getFill(), feed.getMaxFill(), steam.getFill(), steam.getMaxFill(), feed.getTankType().getID(), steam.getTankType().getID(), xCoord, yCoord, zCoord}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; 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 57f27f45d..bbb5ff2e0 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java @@ -226,31 +226,31 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement return "rbmk_outgasser"; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getGas(Context context, Arguments args) { return new Object[] {gas.getFill()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getGasMax(Context context, Arguments args) { return new Object[] {gas.getMaxFill()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getProgress(Context context, Arguments args) { return new Object[] {progress}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {gas.getFill(), gas.getMaxFill(), progress, xCoord, yCoord, zCoord}; 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 7a7602d2f..91ab94a89 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKReflector.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKReflector.java @@ -27,13 +27,13 @@ public class TileEntityRBMKReflector extends TileEntityRBMKBase implements Simpl return "rbmk_reflector_rod"; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getHeat(Context context, Arguments args) { return new Object[] {heat}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; 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 042516c05..7c161a15e 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -384,25 +384,25 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM return "rbmk_fuel_rod"; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getHeat(Context context, Arguments args) { return new Object[] {heat}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getFluxSlow(Context context, Arguments args) { return new Object[] {fluxSlow}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getFluxFast(Context context, Arguments args) { return new Object[] {fluxFast}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getDepletion(Context context, Arguments args) { if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { @@ -410,17 +410,8 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM } return new Object[] {"N/A"}; } - - @Callback - @Optional.Method(modid = "OpenComputers") - public Object[] getFuelType(Context context, Arguments args) { - if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { - return new Object[] {rod.getName()}; - } - return new Object[] {"N/A"}; - } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getXenonPoison(Context context, Arguments args) { if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { @@ -429,7 +420,7 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM return new Object[] {"N/A"}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getCoreHeat(Context context, Arguments args) { if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { @@ -438,7 +429,7 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM return new Object[] {"N/A"}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getSkinHeat(Context context, Arguments args) { if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { @@ -447,31 +438,28 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM return new Object[] {"N/A"}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { Object OC_enrich_buf; Object OC_poison_buf; - Object OC_fuelType; if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { OC_enrich_buf = ItemRBMKRod.getEnrichment(slots[0]); OC_poison_buf = ItemRBMKRod.getPoison(slots[0]); - OC_fuelType = rod.getName(); } else { OC_enrich_buf = "N/A"; OC_poison_buf = "N/A"; - OC_fuelType = "N/A"; } return new Object[] {heat, fluxSlow, fluxFast, OC_enrich_buf, OC_poison_buf, ((RBMKRod)this.getBlockType()).moderated, xCoord, yCoord, zCoord}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getModerated(Context context, Arguments args) { return new Object[] {((RBMKRod)this.getBlockType()).moderated}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; 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 538b4a795..11fba927a 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKStorage.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKStorage.java @@ -95,26 +95,26 @@ public class TileEntityRBMKStorage extends TileEntityRBMKSlottedBase implements public String getComponentName() { return "rbmk_storage_rod"; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getHeat(Context context, Arguments args) { return new Object[] {heat}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getStored(Context context, Arguments args) { return new Object[] {slots[0], slots[1], slots[2], slots[3], slots[4], slots[5], slots[6], slots[7], slots[8], slots[9], slots[10], slots[11]}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {heat, slots[0], slots[1], slots[2], slots[3], slots[4], slots[5], slots[6], slots[7], slots[8], slots[9], slots[10], slots[11], xCoord, yCoord, zCoord}; diff --git a/src/main/resources/assets/hbm/textures/items/rbmk_component_card.png b/src/main/resources/assets/hbm/textures/items/rbmk_component_card.png deleted file mode 100644 index 4755e80f376f1746c3ff7c33e6238c3c02e38d42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 549 zcmV+=0^0qFP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0lG;G)+wt(koJI{28joDpD{)(LpJqMWF>jC#!?df}5jID8Z$4adZ|OoCFJE z2M6P#o7!MRXf@I(9tbsm-dygFH^)}FqibI{9NzDo_xa%a*dcoNwc>Zrmi;e@ty@FJ zX7dm;!1kbvv)n(AUG+**sWg4PamGhZlG{JR{M9=m`29~ZA`#MHXs^NAqRZX9!hNBb zPAWGQf9b)%jC+kwPfQ?71!g=~l zWDdls?MZTMe1eHnH>oUdiXQ{P5TcUdeve!_*zn_uW`qFSTD-1!aHYnL3xi~8Z*=YB nl1t&VqPXy#xm;D(c7)(Jobs3VHtBC600000NkvXXu0mjf*9r9o From 5644726060b1897a28350174efcdd47f43aca527 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 25 Apr 2023 14:50:42 +0200 Subject: [PATCH 044/285] coker recipes --- .../com/hbm/handler/nei/CokingHandler.java | 16 +++ .../java/com/hbm/inventory/fluid/Fluids.java | 15 +- .../hbm/inventory/recipes/CokerRecipes.java | 131 ++++++++++++++++++ .../recipes/SolidificationRecipes.java | 6 +- .../recipes/loader/SerializableRecipe.java | 1 + src/main/java/com/hbm/main/NEIConfig.java | 1 + .../machine/oil/TileEntityMachineCoker.java | 2 +- src/main/resources/assets/hbm/lang/de_DE.lang | 3 + src/main/resources/assets/hbm/lang/en_US.lang | 3 + .../hbm/textures/gui/fluids/gas_coker.png | Bin 0 -> 558 bytes .../hbm/textures/gui/fluids/naphtha_coker.png | Bin 0 -> 554 bytes .../hbm/textures/gui/fluids/oil_coker.png | Bin 0 -> 530 bytes 12 files changed, 173 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/hbm/handler/nei/CokingHandler.java create mode 100644 src/main/java/com/hbm/inventory/recipes/CokerRecipes.java create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/gas_coker.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/naphtha_coker.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/oil_coker.png diff --git a/src/main/java/com/hbm/handler/nei/CokingHandler.java b/src/main/java/com/hbm/handler/nei/CokingHandler.java new file mode 100644 index 000000000..da3cb101d --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/CokingHandler.java @@ -0,0 +1,16 @@ +package com.hbm.handler.nei; + +import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.recipes.CokerRecipes; + +public class CokingHandler extends NEIUniversalHandler { + + public CokingHandler() { + super("Coking", ModBlocks.machine_coker, CokerRecipes.getRecipes()); + } + + @Override + public String getKey() { + return "ntmCoking"; + } +} diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index d8666118d..2ed87dda4 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -123,6 +123,9 @@ public class Fluids { public static FluidType PHOSGENE; public static FluidType MUSTARDGAS; public static FluidType IONGEL; + public static FluidType OIL_COKER; //heavy fractions from coking, mostly bitumen + public static FluidType NAPHTHA_COKER; //medium fractions from coking, aromatics and fuel oil + public static FluidType GAS_COKER; //light fractions from coking, natgas and co2 private static final HashMap idMapping = new HashMap(); private static final HashMap nameMapping = new HashMap(); @@ -257,7 +260,10 @@ public class Fluids { COLLOID = new FluidType("COLLOID", 0x787878, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); PHOSGENE = new FluidType("PHOSGENE", 0xCFC4A4, 4, 0, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0xCFC4A4, 0x361414)).addTraits(GASEOUS); MUSTARDGAS = new FluidType("MUSTARDGAS", 0xBAB572, 4, 1, 1, EnumSymbol.NONE).addContainers(new CD_Gastank(0xBAB572, 0x361414)).addTraits(GASEOUS); - IONGEL = new FluidType(103, "IONGEL", 0xB8FFFF, 1, 0, 4, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); + IONGEL = new FluidType("IONGEL", 0xB8FFFF, 1, 0, 4, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); + OIL_COKER = new FluidType("OIL_COKER", 0x001802, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); + NAPHTHA_COKER = new FluidType("NAPHTHA_COKER", 0x495944, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); + GAS_COKER = new FluidType(106, "GAS_COKER", 0xDEF4CA, 1, 4, 0, EnumSymbol.NONE).addTraits(GASEOUS); // ^ ^ ^ ^ ^ ^ ^ ^ //ADD NEW FLUIDS HERE @@ -298,12 +304,14 @@ public class Fluids { metaOrder.add(OIL); metaOrder.add(CRACKOIL); metaOrder.add(COALOIL); + metaOrder.add(OIL_COKER); metaOrder.add(HOTOIL); metaOrder.add(HOTCRACKOIL); metaOrder.add(HEAVYOIL); metaOrder.add(HEAVYOIL_VACUUM); metaOrder.add(NAPHTHA); metaOrder.add(NAPHTHA_CRACK); + metaOrder.add(NAPHTHA_COKER); metaOrder.add(REFORMATE); metaOrder.add(LIGHTOIL); metaOrder.add(LIGHTOIL_CRACK); @@ -315,6 +323,7 @@ public class Fluids { metaOrder.add(RECLAIMED); metaOrder.add(LUBRICANT); metaOrder.add(GAS); + metaOrder.add(GAS_COKER); metaOrder.add(PETROLEUM); metaOrder.add(SOURGAS); metaOrder.add(LPG); @@ -437,6 +446,7 @@ public class Fluids { double complexityRefinery = 1.1D; double complexityFraction = 1.05D; double complexityCracking = 1.25D; + double complexityCoker = 1.25D; double complexityChemplant = 1.1D; double complexityLubed = 1.15D; double complexityLeaded = 1.5D; @@ -449,7 +459,9 @@ public class Fluids { /// the allmighty excel spreadsheet has spoken! /// registerCalculatedFuel(OIL, (baseline / 1D * flammabilityLow * demandLow), 0, null); registerCalculatedFuel(CRACKOIL, (baseline / 1D * flammabilityLow * demandLow * complexityCracking), 0, null); + registerCalculatedFuel(OIL_COKER, (baseline / 1D * flammabilityLow * demandLow * complexityCoker), 0, null); registerCalculatedFuel(GAS, (baseline / 1D * flammabilityNormal * demandVeryLow), 1.25, FuelGrade.GAS); + registerCalculatedFuel(GAS_COKER, (baseline / 1D * flammabilityNormal * demandVeryLow * complexityCoker), 1.25, FuelGrade.GAS); registerCalculatedFuel(HEAVYOIL, (baseline / 0.5 * flammabilityLow * demandLow * complexityRefinery), 1.25D, FuelGrade.LOW); registerCalculatedFuel(SMEAR, (baseline / 0.35 * flammabilityLow * demandLow * complexityRefinery * complexityFraction), 1.25D, FuelGrade.LOW); registerCalculatedFuel(RECLAIMED, (baseline / 0.28 * flammabilityLow * demandLow * complexityRefinery * complexityFraction * complexityChemplant), 1.25D, FuelGrade.LOW); @@ -458,6 +470,7 @@ public class Fluids { registerCalculatedFuel(HEATINGOIL, (baseline / 0.31 * flammabilityNormal * demandLow * complexityRefinery * complexityFraction * complexityFraction), 1.25D, FuelGrade.LOW); registerCalculatedFuel(NAPHTHA, (baseline / 0.25 * flammabilityLow * demandLow * complexityRefinery), 1.5D, FuelGrade.MEDIUM); registerCalculatedFuel(NAPHTHA_CRACK, (baseline / 0.40 * flammabilityLow * demandLow * complexityRefinery * complexityCracking), 1.5D, FuelGrade.MEDIUM); + registerCalculatedFuel(NAPHTHA_COKER, (baseline / 0.25 * flammabilityLow * demandLow * complexityCoker), 1.5D, FuelGrade.MEDIUM); registerCalculatedFuel(GASOLINE, (baseline / 0.20 * flammabilityNormal * demandLow * complexityRefinery * complexityChemplant), 2.5D, FuelGrade.HIGH); registerCalculatedFuel(GASOLINE_LEADED, (baseline / 0.20 * flammabilityNormal * demandLow * complexityRefinery * complexityChemplant * complexityLeaded), 2.5D, FuelGrade.HIGH); registerCalculatedFuel(DIESEL, (baseline / 0.21 * flammabilityNormal * demandLow * complexityRefinery * complexityFraction), 2.5D, FuelGrade.HIGH); diff --git a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java new file mode 100644 index 000000000..f60ab5044 --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java @@ -0,0 +1,131 @@ +package com.hbm.inventory.recipes; + +import static com.hbm.inventory.fluid.Fluids.*; + +import java.io.IOException; +import java.util.HashMap; +import java.util.Map.Entry; + +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.OreDictManager.DictFrame; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.trait.FT_Combustible; +import com.hbm.inventory.fluid.trait.FT_Flammable; +import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.ModItems; +import com.hbm.items.ItemEnums.EnumCokeType; +import com.hbm.items.machine.ItemFluidIcon; +import com.hbm.util.Tuple.Triplet; + +import net.minecraft.item.ItemStack; + +public class CokerRecipes extends SerializableRecipe { + + private static HashMap> recipes = new HashMap(); + + @Override + public void registerDefaults() { + + registerAuto(HEAVYOIL, new FluidStack(Fluids.OIL_COKER, 20)); + registerAuto(HEAVYOIL_VACUUM, new FluidStack(Fluids.REFORMATE, 20)); + registerAuto(COALCREOSOTE, new FluidStack(Fluids.NAPHTHA_COKER, 20)); + registerAuto(WOODOIL, new FluidStack(Fluids.NAPHTHA_COKER, 20)); + registerAuto(SMEAR, new FluidStack(Fluids.OIL_COKER, 20)); + registerAuto(HEATINGOIL, new FluidStack(Fluids.OIL_COKER, 20)); + registerAuto(HEATINGOIL_VACUUM, new FluidStack(Fluids.OIL_COKER, 20)); + registerAuto(RECLAIMED, new FluidStack(Fluids.NAPHTHA_COKER, 20)); + registerAuto(NAPHTHA, new FluidStack(Fluids.NAPHTHA_COKER, 20)); + registerAuto(NAPHTHA_CRACK, new FluidStack(Fluids.NAPHTHA_COKER, 20)); + registerAuto(DIESEL, new FluidStack(Fluids.NAPHTHA_COKER, 20)); + registerAuto(DIESEL_REFORM, new FluidStack(Fluids.NAPHTHA_COKER, 20)); + registerAuto(DIESEL_CRACK, new FluidStack(Fluids.GAS_COKER, 20)); + registerAuto(DIESEL_CRACK_REFORM, new FluidStack(Fluids.GAS_COKER, 20)); + registerAuto(LIGHTOIL, new FluidStack(Fluids.GAS_COKER, 20)); + registerAuto(LIGHTOIL_CRACK, new FluidStack(Fluids.GAS_COKER, 20)); + registerAuto(LIGHTOIL_VACUUM, new FluidStack(Fluids.GAS_COKER, 20)); + registerAuto(BIOFUEL, new FluidStack(Fluids.GAS_COKER, 20)); + registerAuto(AROMATICS, new FluidStack(Fluids.GAS_COKER, 20)); + registerAuto(REFORMATE, new FluidStack(Fluids.GAS_COKER, 20)); + registerAuto(XYLENE, new FluidStack(Fluids.GAS_COKER, 20)); + } + + private static void registerAuto(FluidType fluid, FluidStack byproduct) { + registerSFAuto(fluid, 800_000L, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), byproduct); //3200 burntime * 1.25 burntime bonus * 200 TU/t + } + private static void registerSFAuto(FluidType fluid, long tuPerSF, ItemStack fuel, FluidStack byproduct) { + 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.1D; + + 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); + + registerRecipe(fluid, mB, fuel, byproduct); + } + private static void registerRecipe(FluidType type, int quantity, ItemStack output, FluidStack byproduct) { + recipes.put(type, new Triplet(quantity, output, byproduct)); + } + + 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(); + + recipes.put(ItemFluidIcon.make(type, amount), new ItemStack[] {out, ItemFluidIcon.make(byproduct)}); + } + + return recipes; + } + + @Override + public String getFileName() { + return "hbmCoker.json"; + } + + @Override + public Object getRecipeObject() { + return recipes; + } + + @Override + public void deleteRecipes() { + recipes.clear(); + } + + @Override + public void readRecipe(JsonElement recipe) { + JsonObject obj = (JsonObject) recipe; + FluidStack in = this.readFluidStack(obj.get("input").getAsJsonArray()); + ItemStack out = this.readItemStack(obj.get("output").getAsJsonArray()); + FluidStack byproduct = this.readFluidStack(obj.get("byproduct").getAsJsonArray()); + recipes.put(in.type, new Triplet(in.fill, out, byproduct)); + } + + @Override + public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { + Entry> rec = (Entry>) recipe; + FluidStack in = new FluidStack(rec.getKey(), rec.getValue().getX()); + writer.name("input"); + this.writeFluidStack(in, writer); + writer.name("output"); + this.writeItemStack(rec.getValue().getY(), writer); + writer.name("byproduct"); + this.writeFluidStack(rec.getValue().getZ(), writer); + } +} diff --git a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java index 91940bef6..4288e9022 100644 --- a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java @@ -94,13 +94,13 @@ public class SolidificationRecipes extends SerializableRecipe { registerSFAuto(LIGHTOIL_CRACK); registerSFAuto(LIGHTOIL_VACUUM); registerSFAuto(KEROSENE); - registerSFAuto(GAS); + //registerSFAuto(GAS); registerSFAuto(SOURGAS); registerSFAuto(REFORMGAS); registerSFAuto(SYNGAS); registerSFAuto(PETROLEUM); registerSFAuto(LPG); - registerSFAuto(BIOGAS); + //registerSFAuto(BIOGAS); registerSFAuto(BIOFUEL); registerSFAuto(AROMATICS); registerSFAuto(UNSATURATEDS); @@ -111,7 +111,7 @@ public class SolidificationRecipes extends SerializableRecipe { } private static void registerSFAuto(FluidType fluid) { - registerSFAuto(fluid, 144000L, ModItems.solid_fuel); //3200 burntime * 1.5 burntime bonus * 300 TU/t + 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(); 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 dd64e10ca..92e378ef2 100644 --- a/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java +++ b/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java @@ -53,6 +53,7 @@ public abstract class SerializableRecipe { recipeHandlers.add(new ReformingRecipes()); recipeHandlers.add(new LiquefactionRecipes()); recipeHandlers.add(new SolidificationRecipes()); + recipeHandlers.add(new CokerRecipes()); recipeHandlers.add(new BreederRecipes()); recipeHandlers.add(new CyclotronRecipes()); recipeHandlers.add(new HadronRecipes()); diff --git a/src/main/java/com/hbm/main/NEIConfig.java b/src/main/java/com/hbm/main/NEIConfig.java index bbfea592a..03221742b 100644 --- a/src/main/java/com/hbm/main/NEIConfig.java +++ b/src/main/java/com/hbm/main/NEIConfig.java @@ -63,6 +63,7 @@ public class NEIConfig implements IConfigureNEI { } registerHandler(new LiquefactionHandler()); registerHandler(new SolidificationHandler()); + registerHandler(new CokingHandler()); registerHandler(new FractioningHandler()); registerHandler(new BoilingHandler()); registerHandler(new CombinationHandler()); 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 00d05c2ff..e4c2b0612 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java @@ -20,7 +20,7 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl public FluidTank[] tanks; public TileEntityMachineCoker() { - super(1); + super(2); tanks = new FluidTank[2]; tanks[0] = new FluidTank(Fluids.HEAVYOIL, 16_000); tanks[1] = new FluidTank(Fluids.GAS, 8_000); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index eb0dbc7e7..5d91c1250 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -620,6 +620,7 @@ hbmfluid.ethanol=Ethanol hbmfluid.enderjuice=Endersaft hbmfluid.fracksol=Frackinglösung hbmfluid.gas=Erdgas +hbmfluid.gas_coker=Coker-Gas hbmfluid.gasoline=Benzin hbmfluid.gasoline_leaded=Bleibenzin hbmfluid.heatingoil=Heizöl @@ -646,11 +647,13 @@ hbmfluid.mug=Mug Root Beer hbmfluid.mug_hot=Heißes Mug Root Beer hbmfluid.mustardgas=Senfgas hbmfluid.naphtha=Mitteldestillat +hbmfluid.naphtha_coker=Coker-Naphtha hbmfluid.naphtha_crack=Crack-Mitteldestillat hbmfluid.nitan=NITAN© 100 Oktan Supertreibstoff hbmfluid.nitric_acid=Salpetersäure hbmfluid.none=Nichts hbmfluid.oil=Rohöl +hbmfluid.oil_coker=Coker-Öl hbmfluid.oxyhydrogen=Knallgas hbmfluid.oxygen=Flüssiger Sauerstoff hbmfluid.pain=Pandemonium(III)tantalit-Lösung diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 97050a4fb..b88c0bde6 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1189,6 +1189,7 @@ hbmfluid.ethanol=Ethanol hbmfluid.enderjuice=Ender Juice hbmfluid.fracksol=Fracking Solution hbmfluid.gas=Natural Gas +hbmfluid.gas_coker=Coker Gas hbmfluid.gasoline=Gasoline hbmfluid.gasoline_leaded=Leaded Gasoline hbmfluid.heatingoil=Heating Oil @@ -1215,11 +1216,13 @@ hbmfluid.mug=Mug Root Beer hbmfluid.mug_hot=Hot Mug Root Beer hbmfluid.mustardgas=Mustard Gas hbmfluid.naphtha=Naphtha +hbmfluid.naphtha_coker=Coker Naphtha hbmfluid.naphtha_crack=Cracked Naphtha hbmfluid.nitan=NITAN© 100 Octane Super Fuel hbmfluid.nitric_acid=Nitric Acid hbmfluid.none=None hbmfluid.oil=Crude Oil +hbmfluid.oil_coker=Coker Oil hbmfluid.oxygen=Liquid Oxygen hbmfluid.oxyhydrogen=Oxyhydrogen hbmfluid.pain=Pandemonium(III)tantalite Solution diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/gas_coker.png b/src/main/resources/assets/hbm/textures/gui/fluids/gas_coker.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2466512e5e969e2cef3060f9e6548e0c667a12 GIT binary patch literal 558 zcmV+}0@3}6P)6*HDy0IR0g!X1>pEmv z7Mycjuh(|#zVFmpNhu*Bgb?uFlTvDrs@^P!2i*Ijlgb-Mk z1wW2s0~SJPgE2-_6*K$B#LO6mfv)SQwIU+IaU7^Bs!FXD=Nu^|%#3~Cn{P7%XzQyg z{)BfPRb}`&5Myk~c<)=30JT;^2$&iEr2D^({c9)Z+!!3k(K--gY?}bc<#NG$PmGaq z99xNEj4cK4J>zA>%$TN$X_^`fpHgb;hzP1m&Kc)i<6>q^9}^D`511J_XZC%+Z6G4l zS~-q`uIri=Gvj)H1!%+X@9(_4ywG*szbZTDny-`kaerBz%~ zN|aL0Oi@){KVBQ{Ge+keXYEy$lb!T^&$_OJ5Ze2!^}g?j2=hF%t}ENN;he+FsI}fi wPnGlM0hs5R&(F_q%?u$BLTHRiDToMv0oOM@NXUPK?*IS*07*qoM6N<$g6dNL0RR91 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/naphtha_coker.png b/src/main/resources/assets/hbm/textures/gui/fluids/naphtha_coker.png new file mode 100644 index 0000000000000000000000000000000000000000..a95110b3aae8f043cd4c27394a848956e63d06b3 GIT binary patch literal 554 zcmV+_0@eMAP)dkyY|34ui%m^Vo&Qz7w8vDKj5MyLr zS3(G=D%-Z9s!Y?w)6*0CzSCO6IfsbgODRKXnkI72q?8CD(0k_+IF17V=Ntf~6k?3X zwrx1)xZQ5!)mkgPcXG~%2q6T#_vD<%R@H|E5gBbA$1#f6bwyPXk%yAVu=x4;NeF>$ z+wjY>3}7LIQJ7LfRWY+4Ow5dVo{2Hidq+fs^E^>iRF&R4&N*_IR!;oHmrM*FIY zzu;Xdu4qm)9e_0fTd(0k`R zPhyP2ikWe{-2g`M*Vh;C@9)GI|3=w4H+)^xUteE&dwb)0e4gi#fl>;swGna2In!FZ zW{Rrv@$oTeUt@I6am8L$x!B1xP3-$l2w{A$Sl3z+5!Q8O-*=AVz&VGR(R+W0UMknm s1F)_u-{0Rqk{LoEgfJMj)({c?1L~|i4W27vq5uE@07*qoM6N<$g4aa?{{R30 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/oil_coker.png b/src/main/resources/assets/hbm/textures/gui/fluids/oil_coker.png new file mode 100644 index 0000000000000000000000000000000000000000..bac4e60113a60cf590b938cb08b366ded2fba13d GIT binary patch literal 530 zcmV+t0`2{YP)F#da|NnCvW98Tu(i+9;KFIBzAlR|2 z7eA5?yvrSc?r;TWAW8f`WFKn=956uRNJ=S)2(&mTlfvdhnZqd{bLRBzOsR@2nKCI_ zXAZm(8MNVb2UJj1+#OpRbRdP3loGvn+;+;O98m6@!=SYW=HO5k4Pzm`N00<`kR_ZQ zn7LC%^y^q}Se6B^&bDoz<$IKpU?eJFPWJ22^r2U1tzowo zDT{~k=mD*BWHv<-g3(R;kb%vjFH&-w$~?-lzI&P9Wpkc3(*NEmtB zIlsQZ77*PXSu!$b>g$4h&(Vp0cl^2|tR7LFn292M{JaEjcW6#ZiIftz+bs%J3UbVl z`7#S*0=3Shl-NGjfti@T!n4JD@6U!3Jl?3P(L})ZXN7+;RFBRS&7ksRM0XJQ51v-$ UuYr3f)c^nh07*qoM6N<$f Date: Tue, 25 Apr 2023 23:27:54 +0200 Subject: [PATCH 045/285] chinese localization, coker model --- .../java/com/hbm/items/IAnimatedItem.java | 2 +- src/main/resources/assets/hbm/lang/zh_CN.lang | 196 +- .../assets/hbm/models/machines/coker.obj | 3455 +++++++++++++++++ 3 files changed, 3591 insertions(+), 62 deletions(-) create mode 100644 src/main/resources/assets/hbm/models/machines/coker.obj diff --git a/src/main/java/com/hbm/items/IAnimatedItem.java b/src/main/java/com/hbm/items/IAnimatedItem.java index 1457b72a2..e92ffa459 100644 --- a/src/main/java/com/hbm/items/IAnimatedItem.java +++ b/src/main/java/com/hbm/items/IAnimatedItem.java @@ -7,8 +7,8 @@ import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -@SideOnly(Side.CLIENT) public interface IAnimatedItem { + @SideOnly(Side.CLIENT) public BusAnimation getAnimation(NBTTagCompound data, ItemStack stack); } diff --git a/src/main/resources/assets/hbm/lang/zh_CN.lang b/src/main/resources/assets/hbm/lang/zh_CN.lang index f9c97e3d1..643e529db 100644 --- a/src/main/resources/assets/hbm/lang/zh_CN.lang +++ b/src/main/resources/assets/hbm/lang/zh_CN.lang @@ -72,6 +72,8 @@ 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=美味、美味的微塑料。 @@ -360,41 +362,6 @@ book_lore.memo_schrab_nuke.author=Schrabauer博士 book_lore.memo_schrab_nuke.page.1=最近的调查使我们了解了核爆炸对材料造成的影响。多亏外界给我们的赠款,我们*意外地*测试了铀直接合成异变金属的理论。 book_lore.memo_schrab_nuke.page.2=而此前我们只在回旋加速器中制作出异变金属。但这次,我们在对Everwerpen的地下拍摄中,在该地点的铀矿石中发现了微量的异变金属。其附近所有的纯金属铀则都发生了裂变。 book_lore.memo_schrab_nuke.page.3=因此,如果有足够多的铀矿石集中在核弹周围,甚至可能只需要一个富含裂变物质废料的脏弹,就有可能制造出质量大到可以被直接收集的异变金属。 -book_lore.insanity_1.name=残缺的纸张 -book_lore.insanity_1.author=D·弗格森 -book_lore.insanity_1.page.1=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.2=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.3=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.insanity_2.name=残缺的纸张 -book_lore.insanity_2.author=D·弗格森 -book_lore.insanity_2.page.1=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.2=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.3=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.insanity_3.name=残缺的纸张 -book_lore.insanity_3.author=D·弗格森 -book_lore.insanity_3.page.1=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.2=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.3=I'm not sure how administration can keep this calm, but i don't get paid enough to waste thoughts on that. -book_lore.insanity_4.name=残缺的纸张 -book_lore.insanity_4.author=D·弗格森 -book_lore.insanity_4.page.1=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.2=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.3=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.insanity_5.name=残缺的纸张 -book_lore.insanity_5.author=D·弗格森 -book_lore.insanity_5.page.1=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.2=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.3=Something is telling me that The Thing is still out there somewhere. I can feel it. -book_lore.insanity_6.name=残缺的纸张 -book_lore.insanity_6.author=D·弗格森 -book_lore.insanity_6.page.1=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.2=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.3=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.insanity_7.name=残缺的纸张 -book_lore.insanity_7.author=D·弗格森 -book_lore.insanity_7.page.1=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.2=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.3=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. cannery.f1=[按F1键获取帮助] cannery.centrifuge=气体离心机 cannery.centrifuge.0=气体离心机可以使用通用流体管道传输流体。 @@ -447,6 +414,17 @@ 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=使用自动锯可以自动收割柳叶,它只会打碎准备收割的植物。 chem.ARSENIC=砷提取 chem.ASPHALT=沥青生产 chem.BAKELITE=电木生产 @@ -506,6 +484,7 @@ chem.NITRIC_ACID=硝酸生产 chem.OIL_SAND=沥青砂提取 chem.OSMIRIDIUM_DEATH=锇酸溶液生产 chem.PEROXIDE=过氧化氢生产 +chem.PET=PET合成 chem.PETROIL_LEADED=含铅石油混合 chem.POLYMER=聚合物合成 chem.PUF6=六氟化钚生产 @@ -533,6 +512,7 @@ chem.SOLID_FUEL=固体火箭燃料生产 chem.SOLVENT=有机溶剂混合 chem.STEAM=烧水 chem.SULFURIC_ACID=硫酸生产 +chem.TATB=TATB合成 chem.TEL=四乙基铅混合 chem.TEST=测试 chem.TNT=TNT合成 @@ -554,11 +534,13 @@ 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=输送带解包机 @@ -600,6 +582,7 @@ container.iGenerator=工业发电机 container.keyForge=锁匠桌 container.launchPad=导弹发射台 container.launchTable=大型发射台 +container.leadBox=安全盒 container.machineBoiler=锅炉 container.machineCMB=CMB炼钢炉 container.machineCoal=火力发电机 @@ -687,10 +670,13 @@ container.turretRichard= 火箭炮塔“理查德” container.turretSentry=哨兵炮塔“布朗” container.turretTauon=陶子发射器炮塔“陶恩” container.uf6_tank=六氟化铀储罐 +container.vacuumDistill=真空炼油厂 container.wasteDrum=乏燃料池 container.watzPowerplant=Watz发电厂 container.zirnox=锆诺克斯核反应堆 crucible.aa=高级合金生产 +crucible.cdalloy=镉钢生产 +crucible.cmb=CMB钢生产 crucible.ferro=铀铁合金生产 crucible.hematite=赤铁矿炼铁 crucible.hss=高速钢生产 @@ -825,7 +811,7 @@ 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_warcrime1=* 从技术上来讲触犯了战争罪 desc.item.ammo.neu_warcrime2=* 一发触犯两条战争罪! desc.item.ammo.pro_accurate1=+ 提升精度 desc.item.ammo.pro_accurate2=+ 近乎完美的精度 @@ -892,10 +878,7 @@ desc.item.kitArmor=装甲将被新的装备取代。 desc.item.kitHaz=装甲将被防护服取代。 desc.item.kitPack=真便宜! desc.item.kitPool=请在打开前清空背包库存! -desc.item.pileRod=§e使用钻孔石墨插入$§E使用螺丝刀拔出$ - - - +desc.item.pileRod=§e使用钻孔石墨插入$§E使用螺丝刀拔出$ desc.item.rtgDecay=衰变为:%s desc.item.rtgHeat=功率级别:%s desc.item.storage.capacity=容量 %s%%s @@ -929,6 +912,7 @@ entity.hbm.entity_ntm_ufo.name=火星入侵者飞船 entity.entity_mob_hunter_chopper.name=猎人直升机 entity.entity_mob_mask_man.name=面具人 entity.entity_mob_nuclear_creeper.name=核爆爬行者 +entity.entity_mob_phosgene_creeper.name=光气爬行者 entity.entity_mob_tainted_creeper.name=污染爬行者 entity.entity_taint_crab.name=污染螃蟹 entity.entity_tesla_crab.name=磁暴螃蟹 @@ -978,7 +962,7 @@ gun.make.IMI_BIGMT=以色列军事工业公司/大型MT gun.make.LANGFORD=朗福德研究实验室 gun.make.LUNA=月球防御公司 gun.make.MAGNUM_R_IMI=马格南研究公司 / 以色列军事工业公司 -gun.make.MANN=Open Mann Co. +gun.make.MANN=Open Mann公司 gun.make.MAXIM=海勒姆·马克沁 gun.make.METRO=地铁枪手 gun.make.MWT=MWT原型实验室 @@ -1033,11 +1017,11 @@ 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 Chang'e type Light Machine Gun -gun.name.lunaShotty=1978 Guan Yu type Scattergun (Revision 1) +gun.name.lunaHLR=1944嫦娥式轻机枪 +gun.name.lunaShotty=1978年关羽式散弹枪(第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.lunaSniper=1915后羿式反器材步枪 +gun.name.lunaTWR=时间扭曲步枪 gun.name.m2=M2式勃朗宁大口径重机枪 gun.name.m42=M-42战术核弹发射器 gun.name.m42MIRV=M-42实验MIRV @@ -1067,7 +1051,7 @@ 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.uboinik=Uboinik转轮霰弹枪 gun.name.uzi=IMI Uzi gun.name.uziSatur=IMI Uzi D-25A gun.name.win1887=温彻斯特M1887杠杆式连发霰弹枪 @@ -1138,10 +1122,12 @@ hbmfluid.bitumen=沥青 hbmfluid.blood=血 hbmfluid.blood_hot=热的血 hbmfluid.carbondioxide=二氧化碳 +hbmfluid.chlorine=氯气 hbmfluid.coalcreosote=煤焦杂酚油 hbmfluid.coalgas=煤汽油 hbmfluid.coalgas_leaded=含铅煤汽油 hbmfluid.coaloil=煤液化油 +hbmfluid.colloid=胶体 hbmfluid.coolant=冷却液 hbmfluid.coolant_hot=热冷却液 hbmfluid.crackoil=裂化油 @@ -1150,6 +1136,8 @@ hbmfluid.death=锇酸溶液 hbmfluid.deuterium=氘 hbmfluid.diesel=柴油 hbmfluid.diesel_crack=裂化柴油 +hbmfluid.diesel_crack_reform=高辛烷值裂解柴油 +hbmfluid.diesel_reform=高辛烷值柴油 hbmfluid.ethanol=乙醇 hbmfluid.enderjuice=末影果汁 hbmfluid.fracksol=压裂液 @@ -1157,22 +1145,28 @@ hbmfluid.gas=天然气 hbmfluid.gasoline=含铅汽油基油 hbmfluid.gasoline_leaded=含铅汽油 hbmfluid.heatingoil=燃油 +hbmfluid.heatingoil_vacuum=重质燃油 hbmfluid.heavyoil=重油 +hbmfluid.heavyoil_vacuum=减压重油 hbmfluid.heavywater=重水 hbmfluid.helium3=氦-3 hbmfluid.hotcrackoil=热裂化油 hbmfluid.hotoil=热原油 hbmfluid.hotsteam=热蒸汽 hbmfluid.hydrogen=液氢 +hbmfluid.iongel=离子凝胶 hbmfluid.kerosene=煤油 +hbmfluid.kerosene_reform=喷气燃料 hbmfluid.lava=岩浆 hbmfluid.lightoil=轻油 hbmfluid.lightoil_crack=裂化轻油 +hbmfluid.lightoil_vacuum=减压轻油 hbmfluid.lpg=液化石油气 hbmfluid.lubricant=润滑油 hbmfluid.mercury=水银 hbmfluid.mug=Mug牌树根饮料 hbmfluid.mug_hot=热的Mug牌树根饮料 +hbmfluid.mustardgas=芥子气 hbmfluid.naphtha=石脑油 hbmfluid.naphtha_crack=裂化石脑油 hbmfluid.nitan=NITAN牌100号超级燃料 @@ -1185,6 +1179,7 @@ hbmfluid.pain=Pn(III) 钽铁溶液 hbmfluid.petroil=汽油 hbmfluid.petroil_leaded=含铅石油 hbmfluid.petroleum=石油气 +hbmfluid.phosgene=光气 hbmfluid.plasma_bf=野火等离子体 hbmfluid.plasma_dh3=氘-氦3 等离子体 hbmfluid.plasma_dt=氘-氚等离子体 @@ -1192,13 +1187,17 @@ hbmfluid.plasma_hd=氢-氘等离子体 hbmfluid.plasma_ht=氢-氚等离子体 hbmfluid.plasma_xm=氙-汞等离子体 hbmfluid.puf6=六氟化钚 +hbmfluid.radiosolvent=高性能溶剂 hbmfluid.reclaimed=再生油 +hbmfluid.reformate=重整油 +hbmfluid.reformgas=重整气 hbmfluid.salient=绿色液体 hbmfluid.sas3=三硫化Sa hbmfluid.schrabidic=Sa酸 hbmfluid.seedslurry=播种浆料 hbmfluid.smear=工业油 hbmfluid.solvent=有机溶剂 +hbmfluid.sourgas=高硫天然气 hbmfluid.spentsteam=低压蒸汽 hbmfluid.steam=蒸汽 hbmfluid.sulfuric_acid=硫酸 @@ -1215,6 +1214,7 @@ hbmfluid.watz=毒泥浆 hbmfluid.woodoil=木油 hbmfluid.xenon=氙气 hbmfluid.xpjuice=经验汁 +hbmfluid.xylene=轻质芳烃(BTX) hbmpseudofluid.none=空 hbmpseudofluid.heuf6=高浓缩六氟化铀 hbmpseudofluid.meuf6=中浓缩六氟化铀 @@ -1236,7 +1236,9 @@ hbmmat.beryllium=铍 hbmmat.bismuth=铋 hbmmat.borax=硼砂 hbmmat.boron=硼 +hbmmat.cadmium=镉 hbmmat.carbon=碳 +hbmmat.cdalloy=镉钢 hbmmat.cinnabar=朱砂 hbmmat.cmbsteel=CMB钢 hbmmat.coal=煤 @@ -1245,6 +1247,7 @@ hbmmat.cobalt=钴 hbmmat.cobalt60=钴-60 hbmmat.coltan=钶钽铁矿 hbmmat.copper=铜 +hbmmat.desh=Desh hbmmat.dineutronium=双聚中子态素 hbmmat.durasteel=高速钢 hbmmat.euphemium=Ep @@ -1308,6 +1311,7 @@ hbmmat.uranium=铀 hbmmat.uranium233=铀-233 hbmmat.uranium235=铀-235 hbmmat.uranium238=铀-238 +hbmmat.watzmud=毒泥浆 hbmmat.whitephosphorus=白磷 hbmmat.workersalloy=Desh hbmmat.wroughtiron=锻铁 @@ -1483,8 +1487,13 @@ 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_single.name=M39A1制导炮兵火箭弹舱 +item.ammo_himars_standard.name=M28制导火箭炮系统火箭弹舱 +item.ammo_himars_standard_he.name=227毫米制导火箭炮系统火箭吊舱(HE) +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狙击燃烧弹 @@ -1598,8 +1607,9 @@ item.balefire_and_steel.name=野火打火石 item.balefire_scrambled.name=炒野火蛋 item.ball_dynamite.name=硝糖炸药 item.ball_fireclay.name=耐火粘土 +item.ball_tatb.name=三氨基三硝基苯(TATB) item.ball_tnt.name=TNT炸药 -item.ballistic_gauntlet.name=防弹护具 +item.ballistic_gauntlet.name=冲击拳套 item.ballistite.name=混合无烟火药 item.bandaid.name=邦迪创可贴 item.bathwater.name=有毒肥皂水 @@ -1733,6 +1743,7 @@ item.bobmazon_weapons.name=Bobmazon: 武器和爆炸物 item.bolt_compound.name=加强涡轮机轴 item.bolt_dura_steel.name=高速钢螺栓 item.bolt_tungsten.name=钨螺栓 +item.boltgun.name=气动射钉枪 item.bomb_caller.name=空袭指示器 item.bomb_waffle.name=大规模杀伤性华夫饼 item.book_guide.name=HBM指导书 @@ -1886,6 +1897,7 @@ 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=反物质单元 @@ -1980,7 +1992,7 @@ 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=石墨覆层 +item.cladding_ghiorsium.name=Gh336覆层 item.cladding_iron.name=铁覆层 item.cladding_lead.name=铅覆层 item.cladding_obsidian.name=黑曜石覆层 @@ -2064,8 +2076,10 @@ 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=蓝色蜡笔 @@ -2182,7 +2196,7 @@ item.dosimeter.name=剂量计 item.drillbit_desh.name=Desh钻头 item.drillbit_desh_diamond.name=Desh钻头(镶钻) item.drillbit_ferro.name=铀铁合金钻头 -item.drillbit_ferro_diamond.name=铁铀钻头(镶钻) +item.drillbit_ferro_diamond.name=铀铁合金钻头(镶钻) item.drillbit_hss.name=高速钢钻头 item.drillbit_hss_diamond.name=高速钢钻头(镶钻) item.drillbit_steel.name=钢钻头 @@ -2431,7 +2445,8 @@ 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_m2.name=Ma Deuce +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 @@ -2566,7 +2581,9 @@ item.ingot_beryllium.name=铍锭 item.ingot_bismuth.name=铋锭 item.ingot_boron.name=硼锭 item.ingot_c4.name=一块C-4 +item.ingot_cadmium.name=镉锭 item.ingot_calcium.name=钙锭 +item.ingot_cdalloy.name=镉钢锭 item.ingot_chainsteel.name=重链钢 item.ingot_co60.name=钴-60锭 item.ingot_cobalt.name=钴锭 @@ -2580,7 +2597,7 @@ item.ingot_dura_steel.name=高速钢锭 item.ingot_electronium.name=电素锭 item.ingot_euphemium.name=Ep锭 item.ingot_euphemium.desc=一个非常特殊但又奇怪的元素。 -item.ingot_ferrouranium.name=铀铁锭 +item.ingot_ferrouranium.name=铀铁合金锭 item.ingot_fiberglass.name=玻璃纤维 item.ingot_fiberglass.desc=纤维含量高,玻璃含量高。身体需要的一切。 item.ingot_firebrick.name=耐火砖 @@ -2597,6 +2614,7 @@ 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=哇,吓人! @@ -2604,6 +2622,8 @@ 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=钚燃料锭 @@ -2614,6 +2634,7 @@ 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=雷恩锭 @@ -2960,6 +2981,7 @@ item.n2_charge.name=大型炸药 item.neutrino_lens.name=中子透镜 item.neutron_reflector.name=中子反射板 item.niter.name=硝石粉 +item.no9.name=矿工头盔 item.nossy_hat.name=华丽的帽子 item.nothing.name=没有东西 item.nuclear_waste.name=核废料 @@ -3051,6 +3073,7 @@ item.oil_detector.noOil=未发现油田 item.oil_tar.coal.name=煤焦油 item.oil_tar.crude.name=焦油 item.oil_tar.crack.name=裂化焦油 +item.oil_tar.wax.name=氯化石蜡 item.oil_tar.wood.name=木馏油 item.ore.asbestos=石棉 item.ore.borax=硼砂 @@ -3078,7 +3101,9 @@ item.ore_enriched.name=富集%s矿 item.ore_nitrated.name=硝化%s矿 item.ore_nitrocrystalline.name=亚硝基结晶%s矿 item.ore_purified.name=净化%s矿 -item.ore_separated.name=分离%s矿 +item.ore_raadcleaned.name=辐射净化的%s矿 +item.ore_seared.name=灼热的%s矿 +item.ore_separated.name=离心%s矿 item.overfuse.name=奇异螺丝刀 item.overfuse.desc=说啥? item.oxy_mask.name=氧气面罩 @@ -3201,6 +3226,7 @@ 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.plate_advanced_alloy.name=高级合金板 @@ -3213,6 +3239,7 @@ 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=愤怒的金属 @@ -3256,6 +3283,7 @@ 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_cerium.name=铈粉 @@ -3283,6 +3311,7 @@ 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=助熔剂 @@ -3734,27 +3763,27 @@ item.stamp_357.name=.357马格南锻模 item.stamp_44.name=.44马格南锻模 item.stamp_50.name=大口径锻模 item.stamp_9.name=小口径锻模 -item.stamp_desh_circuit.name=Desh电路版锻模 +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_iron_circuit.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_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_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_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_circuit.name=钛质电路板锻模 item.stamp_titanium_flat.name=钛质锻模 item.stamp_titanium_plate.name=钛质板锻模 item.stamp_titanium_wire.name=钛质电线锻模 @@ -3943,6 +3972,30 @@ 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=黑手党快乐杆 @@ -4036,6 +4089,7 @@ shape.nugget=粒 shape.quantum=量子 shape.quart=四分之一块 shape.plate=板材 +shape.plateTriple=铸造板 shape.stamp=锻压模具 shape.wire=线材 soundCategory.ntmMachines=NTM机器 @@ -4308,8 +4362,10 @@ tile.conveyor_triple.name=三轨道输送带 tile.corium_block.name=堆芯熔融物 tile.crane_boxer.name=输送带打包机 tile.crane_extractor.name=输送带提取器 +tile.crane_grabber.name=输送带抓斗 tile.crane_inserter.name=输送带导入器 tile.crane_router.name=输送带分拣机 +tile.crane_splitter.name=输送带分离器 tile.crane_unboxer.name=输送带解包机 tile.crashed_bomb.name=哑弹 tile.crate.name=补给箱 @@ -4332,6 +4388,7 @@ tile.deco_asbestos.name=石棉瓦 tile.deco_beryllium.name=铍装饰块 tile.deco_computer.ibm_300pl.name=IBM个人电脑300PL tile.deco_emitter.name=Deco发光体 +tile.part_emitter.name=Deco粒子发射器 tile.deco_lead.name=铅装饰块 tile.deco_rbmk.name=RBMK装饰块 tile.deco_rbmk_smooth.name=平滑RBMK装饰块 @@ -4402,6 +4459,7 @@ tile.factory_titanium_core.name=工厂核心组件 tile.factory_titanium_furnace.name=工厂端口 tile.factory_titanium_hull.name=工厂外壳 tile.fallout.name=辐射尘 +tile.fan.name=风扇 tile.fence_metal.name=铁丝网围栏 tile.field_disturber.name=高能场干扰机 tile.filing_cabinet.green.name=蒙尘的文件柜 @@ -4423,7 +4481,7 @@ tile.fluid_duct_neo.name=通用流体管道 tile.fluid_duct_paintable.name=可喷漆涂层通用流体导管 tile.fluid_duct_solid.name=带涂层的通用流体导管 tile.foam_layer.name=泡沫层 -tile.foundry_basin.name=铸造水池 +tile.foundry_basin.name=铸造盘 tile.foundry_channel.name=铸造浇道 tile.foundry_tank.name=铸造池 tile.foundry_mold.name=浅铸造池 @@ -4554,6 +4612,7 @@ 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=化工厂 @@ -4574,6 +4633,7 @@ 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=核高炉 @@ -4633,6 +4693,7 @@ 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=星型发动机 @@ -4664,6 +4725,7 @@ 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_zirnox.name=锆诺克斯核反应堆 @@ -4779,11 +4841,17 @@ tile.pink_planks.name=粉色木板 tile.pink_slab.name=粉色木半砖 tile.pink_stairs.name=粉色木台阶 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.pole_satellite_receiver.name=卫星天线 @@ -4893,6 +4961,8 @@ 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=钢脚手架 @@ -4914,6 +4984,7 @@ 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=腐质 @@ -4969,13 +5040,16 @@ 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=损毁的ZINROX trait.asbestos=石棉 diff --git a/src/main/resources/assets/hbm/models/machines/coker.obj b/src/main/resources/assets/hbm/models/machines/coker.obj new file mode 100644 index 000000000..131a7c48b --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/coker.obj @@ -0,0 +1,3455 @@ +# Blender v2.79 (sub 0) OBJ File: 'coker.blend' +# www.blender.org +o Plane +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 -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 -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 4.000000 -2.500000 +v -2.500000 4.000000 2.500000 +v 2.500000 4.000000 2.500000 +v 2.500000 4.000000 -2.500000 +v -1.500000 5.000000 -1.500000 +v -1.500000 5.000000 1.500000 +v 1.500000 5.000000 1.500000 +v 1.500000 5.000000 -1.500000 +v -1.500000 7.000000 -1.500000 +v -1.500000 7.000000 1.500000 +v 1.500000 7.000000 1.500000 +v 1.500000 7.000000 -1.500000 +v 1.500000 7.000000 -1.500000 +v 1.500000 7.000000 1.500000 +v -1.500000 7.000000 1.500000 +v -1.500000 7.000000 -1.500000 +v 2.500000 2.000000 2.500000 +v 2.500000 0.000000 2.500000 +v 2.500000 2.000000 2.125000 +v 2.500000 0.000000 2.125000 +v 2.125000 2.000000 2.500000 +v 2.125000 0.000000 2.500000 +v 2.125000 2.000000 2.125000 +v 2.125000 0.000000 2.125000 +v 2.500000 2.000000 -2.125000 +v 2.500000 0.000000 -2.125000 +v 2.500000 2.000000 -2.500000 +v 2.500000 0.000000 -2.500000 +v 2.125000 2.000000 -2.125000 +v 2.125000 0.000000 -2.125000 +v 2.125000 2.000000 -2.500000 +v 2.125000 0.000000 -2.500000 +v -2.125000 2.000000 2.500000 +v -2.125000 0.000000 2.500000 +v -2.125000 2.000000 2.125000 +v -2.125000 0.000000 2.125000 +v -2.500000 2.000000 2.500000 +v -2.500000 0.000000 2.500000 +v -2.500000 2.000000 2.125000 +v -2.500000 0.000000 2.125000 +v -2.125000 2.000000 -2.125000 +v -2.125000 0.000000 -2.125000 +v -2.125000 2.000000 -2.500000 +v -2.125000 0.000000 -2.500000 +v -2.500000 2.000000 -2.125000 +v -2.500000 0.000000 -2.125000 +v -2.500000 2.000000 -2.500000 +v -2.500000 0.000000 -2.500000 +v 2.500000 7.000000 2.500000 +v 2.500000 4.000000 2.500000 +v 2.500000 7.000000 2.125000 +v 2.500000 4.000000 2.125000 +v 2.125000 7.000000 2.500000 +v 2.125000 4.000000 2.500000 +v 2.125000 7.000000 2.125000 +v 2.125000 4.000000 2.125000 +v 2.500000 7.000000 -2.125000 +v 2.500000 4.000000 -2.125000 +v 2.500000 7.000000 -2.500000 +v 2.500000 4.000000 -2.500000 +v 2.125000 7.000000 -2.125000 +v 2.125000 4.000000 -2.125000 +v 2.125000 7.000000 -2.500000 +v 2.125000 4.000000 -2.500000 +v -2.125000 7.000000 2.500000 +v -2.125000 4.000000 2.500000 +v -2.125000 7.000000 2.125000 +v -2.125000 4.000000 2.125000 +v -2.500000 7.000000 2.500000 +v -2.500000 4.000000 2.500000 +v -2.500000 7.000000 2.125000 +v -2.500000 4.000000 2.125000 +v -2.125000 7.000000 -2.125000 +v -2.125000 4.000000 -2.125000 +v -2.125000 7.000000 -2.500000 +v -2.125000 4.000000 -2.500000 +v -2.500000 7.000000 -2.125000 +v -2.500000 4.000000 -2.125000 +v -2.500000 7.000000 -2.500000 +v -2.500000 4.000000 -2.500000 +v 2.125000 1.250000 -2.125000 +v 2.125000 1.250000 -2.500000 +v -2.125000 1.250000 -2.125000 +v -2.125000 1.250000 -2.500000 +v 2.125000 1.625000 -2.125000 +v 2.125000 1.625000 -2.500000 +v -2.125000 1.625000 -2.500000 +v -2.125000 1.625000 -2.125000 +v 2.125000 1.250000 2.500000 +v 2.125000 1.250000 2.125000 +v -2.125000 1.250000 2.500000 +v -2.125000 1.250000 2.125000 +v 2.125000 1.625000 2.500000 +v 2.125000 1.625000 2.125000 +v -2.125000 1.625000 2.125000 +v -2.125000 1.625000 2.500000 +v -2.125000 1.250000 -2.125000 +v -2.500000 1.250000 -2.125000 +v -2.125000 1.250000 2.125000 +v -2.500000 1.250000 2.125000 +v -2.125000 1.625000 -2.125000 +v -2.500000 1.625000 -2.125000 +v -2.500000 1.625000 2.125000 +v -2.125000 1.625000 2.125000 +v 2.500000 1.250000 -2.125000 +v 2.125000 1.250000 -2.125000 +v 2.500000 1.250000 2.125000 +v 2.125000 1.250000 2.125000 +v 2.500000 1.625000 -2.125000 +v 2.125000 1.625000 -2.125000 +v 2.125000 1.625000 2.125000 +v 2.500000 1.625000 2.125000 +v 2.500000 7.000000 2.500000 +v 2.500000 7.000000 -2.500000 +v -2.500000 7.000000 2.500000 +v -2.500000 7.000000 -2.500000 +v -1.500000 7.000000 -1.500000 +v -1.500000 7.000000 1.500000 +v 1.500000 7.000000 1.500000 +v 1.500000 7.000000 -1.500000 +v 2.500000 6.750000 2.500000 +v 2.500000 6.750000 -2.500000 +v -2.500000 6.750000 2.500000 +v -2.500000 6.750000 -2.500000 +v -1.500000 6.750000 -1.500000 +v -1.500000 6.750000 1.500000 +v 1.500000 6.750000 1.500000 +v 1.500000 6.750000 -1.500000 +v 2.500000 7.000000 2.125000 +v 2.500000 7.000000 -2.125000 +v 2.500000 6.750000 2.125000 +v 2.500000 6.750000 -2.125000 +v 2.125000 7.000000 -2.500000 +v -2.125000 7.000000 -2.500000 +v 2.125000 6.750000 -2.500000 +v -2.125000 6.750000 -2.500000 +v -2.500000 7.000000 -2.125000 +v -2.500000 7.000000 2.125000 +v -2.500000 6.750000 -2.125000 +v -2.500000 6.750000 2.125000 +v -2.125000 7.000000 2.500000 +v 2.125000 7.000000 2.500000 +v -2.125000 6.750000 2.500000 +v 2.125000 6.750000 2.500000 +v 2.125000 4.375000 -2.125000 +v 2.125000 4.375000 -2.500000 +v -2.125000 4.375000 -2.125000 +v -2.125000 4.375000 -2.500000 +v 2.125000 4.750000 -2.125000 +v 2.125000 4.750000 -2.500000 +v -2.125000 4.750000 -2.500000 +v -2.125000 4.750000 -2.125000 +v 2.125000 4.375000 2.500000 +v 2.125000 4.375000 2.125000 +v -2.125000 4.375000 2.500000 +v -2.125000 4.375000 2.125000 +v 2.125000 4.750000 2.500000 +v 2.125000 4.750000 2.125000 +v -2.125000 4.750000 2.125000 +v -2.125000 4.750000 2.500000 +v -2.125000 4.375000 -2.125000 +v -2.500000 4.375000 -2.125000 +v -2.125000 4.375000 2.125000 +v -2.500000 4.375000 2.125000 +v -2.125000 4.750000 -2.125000 +v -2.500000 4.750000 -2.125000 +v -2.500000 4.750000 2.125000 +v -2.125000 4.750000 2.125000 +v 2.500000 4.375000 -2.125000 +v 2.125000 4.375000 -2.125000 +v 2.500000 4.375000 2.125000 +v 2.125000 4.375000 2.125000 +v 2.500000 4.750000 -2.125000 +v 2.125000 4.750000 -2.125000 +v 2.125000 4.750000 2.125000 +v 2.500000 4.750000 2.125000 +v -1.500000 7.000000 -8.500000 +v -1.500000 7.000000 -5.500000 +v 1.500000 7.000000 -5.500000 +v 1.500000 7.000000 -8.500000 +v -0.750000 15.000000 -7.750000 +v -0.750000 15.000000 -6.250000 +v 0.750000 15.000000 -6.250000 +v 0.750000 15.000000 -7.750000 +v -0.625000 15.000000 -7.625000 +v -0.625000 15.000000 -6.375000 +v 0.625000 15.000000 -6.375000 +v 0.625000 15.000000 -7.625000 +v -0.625000 14.000000 -7.625000 +v -0.625000 14.000000 -6.375000 +v 0.625000 14.000000 -6.375000 +v 0.625000 14.000000 -7.625000 +v 0.000000 8.500000 -15.250000 +v -0.478354 8.500000 -15.154849 +v -0.883883 8.500000 -14.883883 +v -1.154849 8.500000 -14.478354 +v -1.250000 8.500000 -14.000000 +v -1.154849 8.500000 -13.521646 +v -0.883883 8.500000 -13.116117 +v -0.478354 8.500000 -12.845151 +v -0.000000 8.500000 -12.750000 +v 0.478354 8.500000 -12.845150 +v 0.883883 8.500000 -13.116117 +v 1.154849 8.500000 -13.521646 +v 1.250000 8.500000 -14.000000 +v 1.154849 8.500000 -14.478354 +v 0.883883 8.500000 -14.883883 +v 0.478354 8.500000 -15.154850 +v 0.000000 15.500000 -15.250000 +v -0.478354 15.500000 -15.154849 +v -0.883883 15.500000 -14.883883 +v -1.154849 15.500000 -14.478354 +v -1.250000 15.500000 -14.000000 +v -1.154849 15.500000 -13.521646 +v -0.883883 15.500000 -13.116117 +v -0.478354 15.500000 -12.845151 +v -0.000000 15.500000 -12.750000 +v 0.478354 15.500000 -12.845150 +v 0.883883 15.500000 -13.116117 +v 1.154849 15.500000 -13.521646 +v 1.250000 15.500000 -14.000000 +v 1.154849 15.500000 -14.478354 +v 0.883883 15.500000 -14.883883 +v 0.478354 15.500000 -15.154850 +v -0.000000 15.500000 -15.500000 +v -0.574025 15.500000 -15.385819 +v -1.060660 15.500000 -15.060660 +v -1.385819 15.500000 -14.574025 +v -1.500000 15.500000 -14.000000 +v -1.385819 15.500000 -13.425975 +v -1.060660 15.500000 -12.939340 +v -0.574025 15.500000 -12.614181 +v -0.000000 15.500000 -12.500000 +v 0.574025 15.500000 -12.614181 +v 1.060660 15.500000 -12.939340 +v 1.385819 15.500000 -13.425975 +v 1.500000 15.500000 -14.000000 +v 1.385819 15.500000 -14.574025 +v 1.060660 15.500000 -15.060660 +v 0.574024 15.500000 -15.385819 +v -0.000000 16.500000 -15.500000 +v -0.574025 16.500000 -15.385819 +v -1.060660 16.500000 -15.060660 +v -1.385819 16.500000 -14.574025 +v -1.500000 16.500000 -14.000000 +v -1.385819 16.500000 -13.425975 +v -1.060660 16.500000 -12.939340 +v -0.574025 16.500000 -12.614181 +v -0.000000 16.500000 -12.500000 +v 0.574025 16.500000 -12.614181 +v 1.060660 16.500000 -12.939340 +v 1.385819 16.500000 -13.425975 +v 1.500000 16.500000 -14.000000 +v 1.385819 16.500000 -14.574025 +v 1.060660 16.500000 -15.060660 +v 0.574024 16.500000 -15.385819 +v 0.000000 16.500000 -15.250000 +v -0.478354 16.500000 -15.154849 +v -0.883883 16.500000 -14.883883 +v -1.154849 16.500000 -14.478354 +v -1.250000 16.500000 -14.000000 +v -1.154849 16.500000 -13.521646 +v -0.883883 16.500000 -13.116117 +v -0.478354 16.500000 -12.845151 +v -0.000000 16.500000 -12.750000 +v 0.478354 16.500000 -12.845150 +v 0.883883 16.500000 -13.116117 +v 1.154849 16.500000 -13.521646 +v 1.250000 16.500000 -14.000000 +v 1.154849 16.500000 -14.478354 +v 0.883883 16.500000 -14.883883 +v 0.478354 16.500000 -15.154850 +v 0.000000 17.500000 -15.250000 +v -0.478354 17.500000 -15.154849 +v -0.883883 17.500000 -14.883883 +v -1.154849 17.500000 -14.478354 +v -1.250000 17.500000 -14.000000 +v -1.154849 17.500000 -13.521646 +v -0.883883 17.500000 -13.116117 +v -0.478354 17.500000 -12.845151 +v -0.000000 17.500000 -12.750000 +v 0.478354 17.500000 -12.845150 +v 0.883883 17.500000 -13.116117 +v 1.154849 17.500000 -13.521646 +v 1.250000 17.500000 -14.000000 +v 1.154849 17.500000 -14.478354 +v 0.883883 17.500000 -14.883883 +v 0.478354 17.500000 -15.154850 +v -0.000000 17.500000 -15.500000 +v -0.574025 17.500000 -15.385819 +v -1.060660 17.500000 -15.060660 +v -1.385819 17.500000 -14.574025 +v -1.500000 17.500000 -14.000000 +v -1.385819 17.500000 -13.425975 +v -1.060660 17.500000 -12.939340 +v -0.574025 17.500000 -12.614181 +v -0.000000 17.500000 -12.500000 +v 0.574025 17.500000 -12.614181 +v 1.060660 17.500000 -12.939340 +v 1.385819 17.500000 -13.425975 +v 1.500000 17.500000 -14.000000 +v 1.385819 17.500000 -14.574025 +v 1.060660 17.500000 -15.060660 +v 0.574024 17.500000 -15.385819 +v -0.000000 18.500000 -15.500000 +v -0.574025 18.500000 -15.385819 +v -1.060660 18.500000 -15.060660 +v -1.385819 18.500000 -14.574025 +v -1.500000 18.500000 -14.000000 +v -1.385819 18.500000 -13.425975 +v -1.060660 18.500000 -12.939340 +v -0.574025 18.500000 -12.614181 +v -0.000000 18.500000 -12.500000 +v 0.574025 18.500000 -12.614181 +v 1.060660 18.500000 -12.939340 +v 1.385819 18.500000 -13.425975 +v 1.500000 18.500000 -14.000000 +v 1.385819 18.500000 -14.574025 +v 1.060660 18.500000 -15.060660 +v 0.574024 18.500000 -15.385819 +v 0.000000 18.500000 -15.250000 +v -0.478354 18.500000 -15.154849 +v -0.883883 18.500000 -14.883883 +v -1.154849 18.500000 -14.478354 +v -1.250000 18.500000 -14.000000 +v -1.154849 18.500000 -13.521646 +v -0.883883 18.500000 -13.116117 +v -0.478354 18.500000 -12.845151 +v -0.000000 18.500000 -12.750000 +v 0.478354 18.500000 -12.845150 +v 0.883883 18.500000 -13.116117 +v 1.154849 18.500000 -13.521646 +v 1.250000 18.500000 -14.000000 +v 1.154849 18.500000 -14.478354 +v 0.883883 18.500000 -14.883883 +v 0.478354 18.500000 -15.154850 +v 0.000000 19.000000 -15.250000 +v -0.478354 19.000000 -15.154849 +v -0.883883 19.000000 -14.883883 +v -1.154849 19.000000 -14.478354 +v -1.250000 19.000000 -14.000000 +v -1.154849 19.000000 -13.521646 +v -0.883883 19.000000 -13.116117 +v -0.478354 19.000000 -12.845151 +v -0.000000 19.000000 -12.750000 +v 0.478354 19.000000 -12.845150 +v 0.883883 19.000000 -13.116117 +v 1.154849 19.000000 -13.521646 +v 1.250000 19.000000 -14.000000 +v 1.154849 19.000000 -14.478354 +v 0.883883 19.000000 -14.883883 +v 0.478354 19.000000 -15.154850 +v -0.000000 19.000000 -15.000000 +v -0.382684 19.000000 -14.923880 +v -0.707107 19.000000 -14.707107 +v -0.923880 19.000000 -14.382684 +v -1.000000 19.000000 -14.000000 +v -0.923880 19.000000 -13.617316 +v -0.707107 19.000000 -13.292893 +v -0.382684 19.000000 -13.076120 +v -0.000000 19.000000 -13.000000 +v 0.382683 19.000000 -13.076120 +v 0.707107 19.000000 -13.292893 +v 0.923879 19.000000 -13.617316 +v 1.000000 19.000000 -14.000000 +v 0.923879 19.000000 -14.382684 +v 0.707106 19.000000 -14.707107 +v 0.382683 19.000000 -14.923880 +v -0.000000 17.000000 -15.000000 +v -0.382684 17.000000 -14.923880 +v -0.707107 17.000000 -14.707107 +v -0.923880 17.000000 -14.382684 +v -1.000000 17.000000 -14.000000 +v -0.923880 17.000000 -13.617316 +v -0.707107 17.000000 -13.292893 +v -0.382684 17.000000 -13.076120 +v -0.000000 17.000000 -13.000000 +v 0.382683 17.000000 -13.076120 +v 0.707107 17.000000 -13.292893 +v 0.923879 17.000000 -13.617316 +v 1.000000 17.000000 -14.000000 +v 0.923879 17.000000 -14.382684 +v 0.707106 17.000000 -14.707107 +v 0.382683 17.000000 -14.923880 +v -0.000000 7.000000 -15.500000 +v -0.574025 7.000000 -15.385819 +v -1.060660 7.000000 -15.060660 +v -1.385819 7.000000 -14.574025 +v -1.500000 7.000000 -14.000000 +v -1.385819 7.000000 -13.425975 +v -1.060660 7.000000 -12.939340 +v -0.574025 7.000000 -12.614181 +v -0.000000 7.000000 -12.500000 +v 0.574025 7.000000 -12.614181 +v 1.060660 7.000000 -12.939340 +v 1.385819 7.000000 -13.425975 +v 1.500000 7.000000 -14.000000 +v 1.385819 7.000000 -14.574025 +v 1.060660 7.000000 -15.060660 +v 0.574024 7.000000 -15.385819 +v -0.131548 16.500000 -15.348833 +v 1.348833 16.500000 -14.131548 +v 1.296501 17.500000 -14.394643 +v 1.296501 16.500000 -14.394643 +v 1.348833 17.500000 -14.131548 +v -1.348834 17.500000 -13.868452 +v -1.296501 16.500000 -13.605358 +v -1.296501 17.500000 -13.605358 +v -1.348834 16.500000 -13.868452 +v -0.394643 17.500000 -15.296501 +v -0.394643 16.500000 -15.296501 +v -0.131548 17.500000 -15.348833 +v 0.131547 17.500000 -12.651167 +v 0.394642 16.500000 -12.703499 +v 0.394642 17.500000 -12.703499 +v 0.131547 16.500000 -12.651167 +v -1.046788 16.500000 -14.860751 +v 0.860751 16.500000 -15.046787 +v 0.637710 17.500000 -15.195819 +v 0.637710 16.500000 -15.195819 +v 0.860751 17.500000 -15.046787 +v -0.860751 17.500000 -12.953213 +v -0.637710 16.500000 -12.804181 +v -0.637710 17.500000 -12.804181 +v -0.860751 16.500000 -12.953213 +v -1.195819 17.500000 -14.637710 +v -1.195819 16.500000 -14.637710 +v -1.046788 17.500000 -14.860751 +v 1.046787 17.500000 -13.139249 +v 1.195819 16.500000 -13.362289 +v 1.195819 17.500000 -13.362289 +v 1.046787 16.500000 -13.139249 +v -0.637711 16.500000 -15.195819 +v 1.195818 16.500000 -14.637711 +v 1.046787 17.500000 -14.860751 +v 1.046787 16.500000 -14.860751 +v 1.195818 17.500000 -14.637711 +v -1.195819 17.500000 -13.362289 +v -1.046787 16.500000 -13.139249 +v -1.046787 17.500000 -13.139249 +v -1.195819 16.500000 -13.362289 +v -0.860752 17.500000 -15.046787 +v -0.860752 16.500000 -15.046787 +v -0.637711 17.500000 -15.195819 +v 0.637710 17.500000 -12.804182 +v 0.860751 16.500000 -12.953213 +v 0.860751 17.500000 -12.953213 +v 0.637710 16.500000 -12.804182 +v -1.296501 16.500000 -14.394642 +v 0.394642 16.500000 -15.296501 +v 0.131547 17.500000 -15.348833 +v 0.131547 16.500000 -15.348833 +v 0.394642 17.500000 -15.296501 +v -0.394642 17.500000 -12.703499 +v -0.131547 16.500000 -12.651167 +v -0.131547 17.500000 -12.651167 +v -0.394642 16.500000 -12.703499 +v -1.348834 17.500000 -14.131547 +v -1.348834 16.500000 -14.131547 +v -1.296501 17.500000 -14.394642 +v 1.296501 17.500000 -13.605358 +v 1.348833 16.500000 -13.868453 +v 1.348833 17.500000 -13.868453 +v 1.296501 16.500000 -13.605358 +v 0.000000 7.000000 12.750000 +v -0.478354 7.000000 12.845150 +v -0.883883 7.000000 13.116117 +v -1.154849 7.000000 13.521646 +v -1.250000 7.000000 14.000000 +v -1.154849 7.000000 14.478354 +v -0.883883 7.000000 14.883883 +v -0.478354 7.000000 15.154849 +v -0.000000 7.000000 15.250000 +v 0.478354 7.000000 15.154850 +v 0.883883 7.000000 14.883884 +v 1.154849 7.000000 14.478354 +v 1.250000 7.000000 14.000000 +v 1.154849 7.000000 13.521646 +v 0.883883 7.000000 13.116116 +v 0.478354 7.000000 12.845150 +v 0.000000 16.000000 13.250000 +v -0.287013 16.000000 13.307091 +v -0.530330 16.000000 13.469669 +v -0.692910 16.000000 13.712988 +v -0.750000 16.000000 14.000000 +v -0.692910 16.000000 14.287012 +v -0.530330 16.000000 14.530331 +v -0.287013 16.000000 14.692909 +v -0.000000 16.000000 14.750000 +v 0.287012 16.000000 14.692909 +v 0.530330 16.000000 14.530331 +v 0.692910 16.000000 14.287012 +v 0.750000 16.000000 14.000000 +v 0.692910 16.000000 13.712988 +v 0.530330 16.000000 13.469669 +v 0.287012 16.000000 13.307091 +v 0.000000 17.000000 13.250000 +v -0.287013 17.000000 13.307091 +v -0.530330 17.000000 13.469669 +v -0.692910 17.000000 13.712988 +v -0.750000 17.000000 14.000000 +v -0.692910 17.000000 14.287012 +v -0.530330 17.000000 14.530331 +v -0.287013 17.000000 14.692909 +v -0.000000 17.000000 14.750000 +v 0.287012 17.000000 14.692909 +v 0.530330 17.000000 14.530331 +v 0.692910 17.000000 14.287012 +v 0.750000 17.000000 14.000000 +v 0.692910 17.000000 13.712988 +v 0.530330 17.000000 13.469669 +v 0.287012 17.000000 13.307091 +v -0.000000 17.000000 13.437500 +v -0.215259 17.000000 13.480318 +v -0.397748 17.000000 13.602253 +v -0.519682 17.000000 13.784740 +v -0.562500 17.000000 14.000000 +v -0.519682 17.000000 14.215260 +v -0.397748 17.000000 14.397747 +v -0.215259 17.000000 14.519682 +v -0.000000 17.000000 14.562500 +v 0.215259 17.000000 14.519682 +v 0.397747 17.000000 14.397747 +v 0.519682 17.000000 14.215260 +v 0.562500 17.000000 14.000000 +v 0.519682 17.000000 13.784740 +v 0.397747 17.000000 13.602253 +v 0.215259 17.000000 13.480318 +v -0.000000 16.000000 13.437500 +v -0.215259 16.000000 13.480318 +v -0.397748 16.000000 13.602253 +v -0.519682 16.000000 13.784740 +v -0.562500 16.000000 14.000000 +v -0.519682 16.000000 14.215260 +v -0.397748 16.000000 14.397747 +v -0.215259 16.000000 14.519682 +v -0.000000 16.000000 14.562500 +v 0.215259 16.000000 14.519682 +v 0.397747 16.000000 14.397747 +v 0.519682 16.000000 14.215260 +v 0.562500 16.000000 14.000000 +v 0.519682 16.000000 13.784740 +v 0.397747 16.000000 13.602253 +v 0.215259 16.000000 13.480318 +v 0.000000 15.875000 12.750000 +v -0.478354 15.875000 12.845150 +v -0.883883 15.875000 13.116117 +v -1.154849 15.875000 13.521646 +v -1.250000 15.875000 14.000000 +v -1.154849 15.875000 14.478354 +v -0.883883 15.875000 14.883883 +v -0.478354 15.875000 15.154849 +v -0.000000 15.875000 15.250000 +v 0.478354 15.875000 15.154850 +v 0.883883 15.875000 14.883884 +v 1.154849 15.875000 14.478354 +v 1.250000 15.875000 14.000000 +v 1.154849 15.875000 13.521646 +v 0.883883 15.875000 13.116116 +v 0.478354 15.875000 12.845150 +v 0.000000 16.125000 12.750000 +v -0.478354 16.125000 12.845150 +v -0.883883 16.125000 13.116117 +v -1.154849 16.125000 13.521646 +v -1.250000 16.125000 14.000000 +v -1.154849 16.125000 14.478354 +v -0.883883 16.125000 14.883883 +v -0.478354 16.125000 15.154849 +v -0.000000 16.125000 15.250000 +v 0.478354 16.125000 15.154850 +v 0.883883 16.125000 14.883884 +v 1.154849 16.125000 14.478354 +v 1.250000 16.125000 14.000000 +v 1.154849 16.125000 13.521646 +v 0.883883 16.125000 13.116116 +v 0.478354 16.125000 12.845150 +v 0.000000 12.875000 12.750000 +v -0.478354 12.875000 12.845150 +v -0.883883 12.875000 13.116117 +v -1.154849 12.875000 13.521646 +v -1.250000 12.875000 14.000000 +v -1.154849 12.875000 14.478354 +v -0.883883 12.875000 14.883883 +v -0.478354 12.875000 15.154849 +v -0.000000 12.875000 15.250000 +v 0.478354 12.875000 15.154850 +v 0.883883 12.875000 14.883884 +v 1.154849 12.875000 14.478354 +v 1.250000 12.875000 14.000000 +v 1.154849 12.875000 13.521646 +v 0.883883 12.875000 13.116116 +v 0.478354 12.875000 12.845150 +v 0.000000 13.125000 12.750000 +v -0.478354 13.125000 12.845150 +v -0.883883 13.125000 13.116117 +v -1.154849 13.125000 13.521646 +v -1.250000 13.125000 14.000000 +v -1.154849 13.125000 14.478354 +v -0.883883 13.125000 14.883883 +v -0.478354 13.125000 15.154849 +v -0.000000 13.125000 15.250000 +v 0.478354 13.125000 15.154850 +v 0.883883 13.125000 14.883884 +v 1.154849 13.125000 14.478354 +v 1.250000 13.125000 14.000000 +v 1.154849 13.125000 13.521646 +v 0.883883 13.125000 13.116116 +v 0.478354 13.125000 12.845150 +v 0.000000 9.875000 12.750000 +v -0.478354 9.875000 12.845150 +v -0.883883 9.875000 13.116117 +v -1.154849 9.875000 13.521646 +v -1.250000 9.875000 14.000000 +v -1.154849 9.875000 14.478354 +v -0.883883 9.875000 14.883883 +v -0.478354 9.875000 15.154849 +v -0.000000 9.875000 15.250000 +v 0.478354 9.875000 15.154850 +v 0.883883 9.875000 14.883884 +v 1.154849 9.875000 14.478354 +v 1.250000 9.875000 14.000000 +v 1.154849 9.875000 13.521646 +v 0.883883 9.875000 13.116116 +v 0.478354 9.875000 12.845150 +v 0.000000 10.125000 12.750000 +v -0.478354 10.125000 12.845150 +v -0.883883 10.125000 13.116117 +v -1.154849 10.125000 13.521646 +v -1.250000 10.125000 14.000000 +v -1.154849 10.125000 14.478354 +v -0.883883 10.125000 14.883883 +v -0.478354 10.125000 15.154849 +v -0.000000 10.125000 15.250000 +v 0.478354 10.125000 15.154850 +v 0.883883 10.125000 14.883884 +v 1.154849 10.125000 14.478354 +v 1.250000 10.125000 14.000000 +v 1.154849 10.125000 13.521646 +v 0.883883 10.125000 13.116116 +v 0.478354 10.125000 12.845150 +v 0.000000 7.000000 6.250000 +v -0.287013 7.000000 6.307090 +v -0.530330 7.000000 6.469670 +v -0.692910 7.000000 6.712987 +v -0.750000 7.000000 7.000000 +v -0.692910 7.000000 7.287013 +v -0.530330 7.000000 7.530330 +v -0.287013 7.000000 7.692910 +v -0.000000 7.000000 7.750000 +v 0.287012 7.000000 7.692910 +v 0.530330 7.000000 7.530330 +v 0.692910 7.000000 7.287013 +v 0.750000 7.000000 7.000000 +v 0.692910 7.000000 6.712987 +v 0.530330 7.000000 6.469670 +v 0.287012 7.000000 6.307090 +v 0.000000 17.000000 6.250000 +v -0.287013 17.000000 6.307090 +v -0.530330 17.000000 6.469670 +v -0.692910 17.000000 6.712987 +v -0.750000 17.000000 7.000000 +v -0.692910 17.000000 7.287013 +v -0.530330 17.000000 7.530330 +v -0.287013 17.000000 7.692910 +v -0.000000 17.000000 7.750000 +v 0.287012 17.000000 7.692910 +v 0.530330 17.000000 7.530330 +v 0.692910 17.000000 7.287013 +v 0.750000 17.000000 7.000000 +v 0.692910 17.000000 6.712987 +v 0.530330 17.000000 6.469670 +v 0.287012 17.000000 6.307090 +v -0.000000 17.000000 6.500000 +v -0.191342 17.000000 6.538060 +v -0.353553 17.000000 6.646447 +v -0.461940 17.000000 6.808658 +v -0.500000 17.000000 7.000000 +v -0.461940 17.000000 7.191342 +v -0.353553 17.000000 7.353553 +v -0.191342 17.000000 7.461940 +v -0.000000 17.000000 7.500000 +v 0.191342 17.000000 7.461940 +v 0.353553 17.000000 7.353553 +v 0.461940 17.000000 7.191342 +v 0.500000 17.000000 7.000000 +v 0.461940 17.000000 6.808658 +v 0.353553 17.000000 6.646447 +v 0.191341 17.000000 6.538060 +v -0.000000 16.000000 6.500000 +v -0.191342 16.000000 6.538060 +v -0.353553 16.000000 6.646447 +v -0.461940 16.000000 6.808658 +v -0.500000 16.000000 7.000000 +v -0.461940 16.000000 7.191342 +v -0.353553 16.000000 7.353553 +v -0.191342 16.000000 7.461940 +v -0.000000 16.000000 7.500000 +v 0.191342 16.000000 7.461940 +v 0.353553 16.000000 7.353553 +v 0.461940 16.000000 7.191342 +v 0.500000 16.000000 7.000000 +v 0.461940 16.000000 6.808658 +v 0.353553 16.000000 6.646447 +v 0.191341 16.000000 6.538060 +v -1.500000 13.000000 5.500000 +v -1.500000 13.000000 8.500000 +v 1.500000 13.000000 8.500000 +v 1.500000 13.000000 5.500000 +v -1.500000 12.750000 5.500000 +v -1.500000 12.750000 8.500000 +v 1.500000 12.750000 8.500000 +v 1.500000 12.750000 5.500000 +v -1.500000 10.000000 5.500000 +v -1.500000 10.000000 8.500000 +v 1.500000 10.000000 8.500000 +v 1.500000 10.000000 5.500000 +v -1.500000 9.750000 5.500000 +v -1.500000 9.750000 8.500000 +v 1.500000 9.750000 8.500000 +v 1.500000 9.750000 5.500000 +v -1.125000 16.000000 5.875000 +v -1.125000 16.000000 8.125000 +v 1.125000 16.000000 8.125000 +v 1.125000 16.000000 5.875000 +v -1.125000 15.750000 5.875000 +v -1.125000 15.750000 8.125000 +v 1.125000 15.750000 8.125000 +v 1.125000 15.750000 5.875000 +v -1.375000 7.000000 5.875000 +v -1.125000 7.000000 5.875000 +v -1.375000 7.000000 5.625000 +v -1.125000 7.000000 5.625000 +v -1.125000 12.750000 5.875000 +v -1.125000 12.750000 6.125000 +v -0.875000 12.750000 6.125000 +v -0.875000 12.750000 5.875000 +v -1.375000 7.000000 8.375000 +v -1.125000 7.000000 8.375000 +v -1.375000 7.000000 8.125000 +v -1.125000 7.000000 8.125000 +v -1.125000 12.750000 7.875000 +v -1.125000 12.750000 8.125000 +v -0.875000 12.750000 8.125000 +v -0.875000 12.750000 7.875000 +v 1.125000 7.000000 5.875000 +v 1.375000 7.000000 5.875000 +v 1.125000 7.000000 5.625000 +v 1.375000 7.000000 5.625000 +v 0.875000 12.750000 5.875000 +v 0.875000 12.750000 6.125000 +v 1.125000 12.750000 6.125000 +v 1.125000 12.750000 5.875000 +v 1.125000 7.000000 8.375000 +v 1.375000 7.000000 8.375000 +v 1.125000 7.000000 8.125000 +v 1.375000 7.000000 8.125000 +v 0.875000 12.750000 7.875000 +v 0.875000 12.750000 8.125000 +v 1.125000 12.750000 8.125000 +v 1.125000 12.750000 7.875000 +v -1.500000 10.000000 5.500000 +v -1.500000 10.000000 8.500000 +v 1.500000 10.000000 8.500000 +v 1.500000 10.000000 5.500000 +v -1.500000 10.500000 5.500000 +v -1.500000 10.500000 8.500000 +v 1.500000 10.500000 8.500000 +v 1.500000 10.500000 5.500000 +v -1.500000 13.000000 5.500000 +v -1.500000 13.000000 8.500000 +v 1.500000 13.000000 8.500000 +v 1.500000 13.000000 5.500000 +v -1.500000 13.500000 5.500000 +v -1.500000 13.500000 8.500000 +v 1.500000 13.500000 8.500000 +v 1.500000 13.500000 5.500000 +v -1.125000 16.000000 5.875000 +v -1.125000 16.000000 8.125000 +v 1.125000 16.000000 8.125000 +v 1.125000 16.000000 5.875000 +v -1.125000 16.500000 5.875000 +v -1.125000 16.500000 8.125000 +v 1.125000 16.500000 8.125000 +v 1.125000 16.500000 5.875000 +v -1.125000 15.750000 7.187500 +v -0.702382 14.843692 7.187500 +v -1.125000 15.750000 6.812500 +v -0.702382 14.843692 6.812500 +v 1.125000 15.750000 6.812500 +v 0.702382 14.843692 6.812500 +v 1.125000 15.750000 7.187500 +v 0.702382 14.843692 7.187500 +v 0.187500 15.750000 8.125000 +v 0.187500 14.843692 7.702382 +v -0.187500 15.750000 8.125000 +v -0.187500 14.843692 7.702382 +v -0.187500 15.750000 5.875000 +v -0.187500 14.843692 6.297618 +v 0.187500 15.750000 5.875000 +v 0.187500 14.843692 6.297618 +v -0.662913 15.750000 7.928078 +v -0.364076 14.843692 7.629241 +v -0.928078 15.750000 7.662912 +v -0.629241 14.843692 7.364076 +v 0.662912 15.750000 6.071922 +v 0.364076 14.843692 6.370759 +v 0.928077 15.750000 6.337088 +v 0.629241 14.843692 6.635924 +v 0.928078 15.750000 7.662912 +v 0.629241 14.843692 7.364076 +v 0.662913 15.750000 7.928078 +v 0.364076 14.843692 7.629241 +v -0.928078 15.750000 6.337088 +v -0.629241 14.843692 6.635924 +v -0.662913 15.750000 6.071922 +v -0.364076 14.843692 6.370759 +v 0.000000 7.000000 -1.250000 +v -0.478354 7.000000 -1.154849 +v -0.883883 7.000000 -0.883883 +v -1.154849 7.000000 -0.478354 +v -1.250000 7.000000 0.000000 +v -1.154849 7.000000 0.478354 +v -0.883883 7.000000 0.883883 +v -0.478354 7.000000 1.154849 +v -0.000000 7.000000 1.250000 +v 0.478354 7.000000 1.154850 +v 0.883883 7.000000 0.883884 +v 1.154849 7.000000 0.478354 +v 1.250000 7.000000 -0.000000 +v 1.154849 7.000000 -0.478355 +v 0.883883 7.000000 -0.883884 +v 0.478354 7.000000 -1.154850 +v 0.000000 23.000000 -1.250000 +v -0.478354 23.000000 -1.154849 +v -0.883883 23.000000 -0.883883 +v -1.154849 23.000000 -0.478354 +v -1.250000 23.000000 0.000000 +v -1.154849 23.000000 0.478354 +v -0.883883 23.000000 0.883883 +v -0.478354 23.000000 1.154849 +v -0.000000 23.000000 1.250000 +v 0.478354 23.000000 1.154850 +v 0.883883 23.000000 0.883884 +v 1.154849 23.000000 0.478354 +v 1.250000 23.000000 -0.000000 +v 1.154849 23.000000 -0.478355 +v 0.883883 23.000000 -0.883884 +v 0.478354 23.000000 -1.154850 +v -0.000000 23.000000 -1.000000 +v -0.382684 23.000000 -0.923880 +v -0.707107 23.000000 -0.707107 +v -0.923880 23.000000 -0.382683 +v -1.000000 23.000000 0.000000 +v -0.923880 23.000000 0.382684 +v -0.707107 23.000000 0.707107 +v -0.382684 23.000000 0.923880 +v -0.000000 23.000000 1.000000 +v 0.382683 23.000000 0.923880 +v 0.707107 23.000000 0.707107 +v 0.923879 23.000000 0.382684 +v 1.000000 23.000000 -0.000000 +v 0.923879 23.000000 -0.382684 +v 0.707106 23.000000 -0.707107 +v 0.382683 23.000000 -0.923880 +v -2.000000 16.875000 2.000000 +v 2.000000 16.875000 2.000000 +v -2.000000 16.875000 -2.000000 +v 2.000000 16.875000 -2.000000 +v -2.000000 17.125000 -2.000000 +v -2.000000 17.125000 2.000000 +v 2.000000 17.125000 2.000000 +v 2.000000 17.125000 -2.000000 +v -2.000000 11.875000 2.000000 +v 2.000000 11.875000 2.000000 +v -2.000000 11.875000 -2.000000 +v 2.000000 11.875000 -2.000000 +v -2.000000 12.125000 -2.000000 +v -2.000000 12.125000 2.000000 +v 2.000000 12.125000 2.000000 +v 2.000000 12.125000 -2.000000 +v -1.750000 21.375000 1.750000 +v 1.750000 21.375000 1.750000 +v -1.750000 21.375000 -1.750000 +v 1.750000 21.375000 -1.750000 +v -1.750000 21.625000 -1.750000 +v -1.750000 21.625000 1.750000 +v 1.750000 21.625000 1.750000 +v 1.750000 21.625000 -1.750000 +v -1.500000 16.875000 -1.500000 +v -1.875000 7.000000 -1.875000 +v -1.500000 16.875000 -1.000000 +v -1.875000 7.000000 -1.375000 +v -1.000000 16.875000 -1.500000 +v -1.375000 7.000000 -1.875000 +v -1.000000 16.875000 -1.000000 +v -1.375000 7.000000 -1.375000 +v -1.500000 16.875000 1.000000 +v -1.875000 7.000000 1.375000 +v -1.500000 16.875000 1.500000 +v -1.875000 7.000000 1.875000 +v -1.000000 16.875000 1.000000 +v -1.375000 7.000000 1.375000 +v -1.000000 16.875000 1.500000 +v -1.375000 7.000000 1.875000 +v 1.000000 16.875000 -1.500000 +v 1.375000 7.000000 -1.875000 +v 1.000000 16.875000 -1.000000 +v 1.375000 7.000000 -1.375000 +v 1.500000 16.875000 -1.500000 +v 1.875000 7.000000 -1.875000 +v 1.500000 16.875000 -1.000000 +v 1.875000 7.000000 -1.375000 +v 1.000000 16.875000 1.000000 +v 1.375000 7.000000 1.375000 +v 1.000000 16.875000 1.500000 +v 1.375000 7.000000 1.875000 +v 1.500000 16.875000 1.000000 +v 1.875000 7.000000 1.375000 +v 1.500000 16.875000 1.500000 +v 1.875000 7.000000 1.875000 +v -2.000000 12.125000 -2.000000 +v -2.000000 12.125000 2.000000 +v 2.000000 12.125000 2.000000 +v 2.000000 12.125000 -2.000000 +v -2.000000 13.125000 -2.000000 +v -2.000000 13.125000 2.000000 +v 2.000000 13.125000 2.000000 +v 2.000000 13.125000 -2.000000 +v -2.000000 17.125000 -2.000000 +v -2.000000 17.125000 2.000000 +v 2.000000 17.125000 2.000000 +v 2.000000 17.125000 -2.000000 +v -2.000000 18.125000 -2.000000 +v -2.000000 18.125000 2.000000 +v 2.000000 18.125000 2.000000 +v 2.000000 18.125000 -2.000000 +v -1.750000 21.625000 -1.750000 +v -1.750000 21.625000 1.750000 +v 1.750000 21.625000 1.750000 +v 1.750000 21.625000 -1.750000 +v -1.750000 22.125000 -1.750000 +v -1.750000 22.125000 1.750000 +v 1.750000 22.125000 1.750000 +v 1.750000 22.125000 -1.750000 +v -0.751301 21.375000 1.370019 +v -1.370019 21.375000 0.751301 +v -0.486136 19.834999 1.104854 +v -1.104854 19.834999 0.486136 +v -0.000000 22.000000 -1.000000 +v -0.382684 22.000000 -0.923880 +v -0.707107 22.000000 -0.707107 +v -0.923880 22.000000 -0.382683 +v -1.000000 22.000000 0.000000 +v -0.923880 22.000000 0.382684 +v -0.707107 22.000000 0.707107 +v -0.382684 22.000000 0.923880 +v -0.000000 22.000000 1.000000 +v 0.382683 22.000000 0.923880 +v 0.707107 22.000000 0.707107 +v 0.923879 22.000000 0.382684 +v 1.000000 22.000000 -0.000000 +v 0.923879 22.000000 -0.382684 +v 0.707106 22.000000 -0.707107 +v 0.382683 22.000000 -0.923880 +v 0.751301 21.375000 -1.370020 +v 1.370019 21.375000 -0.751301 +v 0.486136 19.834999 -1.104854 +v 1.104854 19.834999 -0.486136 +v 1.370019 21.375000 0.751301 +v 0.751301 21.375000 1.370019 +v 1.104854 19.834999 0.486136 +v 0.486136 19.834999 1.104854 +v -1.370020 21.375000 -0.751301 +v -0.751301 21.375000 -1.370019 +v -1.104854 19.834999 -0.486136 +v -0.486136 19.834999 -1.104854 +v -1.875000 4.500000 -1.875000 +v -1.875000 4.500000 -1.375000 +v -1.375000 4.500000 -1.875000 +v -1.375000 4.500000 -1.375000 +v -1.875000 4.500000 1.375000 +v -1.875000 4.500000 1.875000 +v -1.375000 4.500000 1.375000 +v -1.375000 4.500000 1.875000 +v 1.375000 4.500000 -1.875000 +v 1.375000 4.500000 -1.375000 +v 1.875000 4.500000 -1.875000 +v 1.875000 4.500000 -1.375000 +v 1.375000 4.500000 1.375000 +v 1.375000 4.500000 1.875000 +v 1.875000 4.500000 1.375000 +v 1.875000 4.500000 1.875000 +v 0.375000 4.250000 -2.125000 +v 0.198223 4.250000 -2.051777 +v 0.125000 4.250000 -1.875000 +v 0.198223 4.250000 -1.698223 +v 0.375000 4.250000 -1.625000 +v 0.551777 4.250000 -1.698223 +v 0.625000 4.250000 -1.875000 +v 0.551777 4.250000 -2.051777 +v 0.375000 10.250000 -2.125000 +v 0.198223 10.250000 -2.051777 +v 0.125000 10.250000 -1.875000 +v 0.198223 10.250000 -1.698223 +v 0.375000 10.250000 -1.625000 +v 0.551777 10.250000 -1.698223 +v 0.625000 10.250000 -1.875000 +v 0.551777 10.250000 -2.051777 +v 0.375000 10.603554 -1.978553 +v 0.198223 10.551777 -1.926777 +v 0.125000 10.426777 -1.801777 +v 0.198223 10.301777 -1.676777 +v 0.551777 10.301777 -1.676777 +v 0.625000 10.426777 -1.801777 +v 0.551777 10.551777 -1.926777 +v 0.375000 10.750000 -1.625000 +v 0.198223 10.676777 -1.625000 +v 0.125000 10.500000 -1.625000 +v 0.198223 10.323223 -1.625000 +v 0.551777 10.323223 -1.625000 +v 0.625000 10.500000 -1.625000 +v 0.551777 10.676777 -1.625000 +v 0.375000 10.250000 -0.875000 +v 0.375000 10.750000 -0.875000 +v 0.198223 10.676777 -0.875000 +v 0.125000 10.500000 -0.875000 +v 0.198223 10.323223 -0.875000 +v 0.551777 10.323223 -0.875000 +v 0.625000 10.500000 -0.875000 +v 0.551777 10.676777 -0.875000 +v -0.350000 4.250000 -2.125000 +v -0.526777 4.250000 -2.051777 +v -0.600000 4.250000 -1.875000 +v -0.526777 4.250000 -1.698223 +v -0.350000 4.250000 -1.625000 +v -0.173223 4.250000 -1.698223 +v -0.100000 4.250000 -1.875000 +v -0.173223 4.250000 -2.051777 +v -0.350000 8.750000 -2.125000 +v -0.526777 8.750000 -2.051777 +v -0.600000 8.750000 -1.875000 +v -0.526777 8.750000 -1.698223 +v -0.350000 8.750000 -1.625000 +v -0.173223 8.750000 -1.698223 +v -0.100000 8.750000 -1.875000 +v -0.173223 8.750000 -2.051777 +v -0.350000 9.103554 -1.978553 +v -0.526777 9.051777 -1.926777 +v -0.600000 8.926777 -1.801777 +v -0.526777 8.801777 -1.676777 +v -0.173223 8.801777 -1.676777 +v -0.100000 8.926777 -1.801777 +v -0.173223 9.051777 -1.926777 +v -0.350000 9.250000 -1.625000 +v -0.526777 9.176777 -1.625000 +v -0.600000 9.000000 -1.625000 +v -0.526777 8.823223 -1.625000 +v -0.173223 8.823223 -1.625000 +v -0.100000 9.000000 -1.625000 +v -0.173223 9.176777 -1.625000 +v -0.350000 8.750000 -0.875000 +v -0.350000 9.250000 -0.875000 +v -0.526777 9.176777 -0.875000 +v -0.600000 9.000000 -0.875000 +v -0.526777 8.823223 -0.875000 +v -0.173223 8.823223 -0.875000 +v -0.100000 9.000000 -0.875000 +v -0.173223 9.176777 -0.875000 +v -0.375000 4.250000 2.125000 +v -0.198223 4.250000 2.051777 +v -0.125000 4.250000 1.875000 +v -0.198223 4.250000 1.698223 +v -0.375000 4.250000 1.625000 +v -0.551777 4.250000 1.698223 +v -0.625000 4.250000 1.875000 +v -0.551777 4.250000 2.051777 +v -0.375000 10.250000 2.125000 +v -0.198223 10.250000 2.051777 +v -0.125000 10.250000 1.875000 +v -0.198223 10.250000 1.698223 +v -0.375000 10.250000 1.625000 +v -0.551777 10.250000 1.698223 +v -0.625000 10.250000 1.875000 +v -0.551777 10.250000 2.051777 +v -0.375000 10.603554 1.978553 +v -0.198223 10.551777 1.926777 +v -0.125000 10.426777 1.801777 +v -0.198223 10.301777 1.676777 +v -0.551777 10.301777 1.676777 +v -0.625000 10.426777 1.801777 +v -0.551777 10.551777 1.926777 +v -0.375000 10.750000 1.625000 +v -0.198223 10.676777 1.625000 +v -0.125000 10.500000 1.625000 +v -0.198223 10.323223 1.625000 +v -0.551777 10.323223 1.625000 +v -0.625000 10.500000 1.625000 +v -0.551777 10.676777 1.625000 +v -0.375000 10.250000 0.875000 +v -0.375000 10.750000 0.875000 +v -0.198223 10.676777 0.875000 +v -0.125000 10.500000 0.875000 +v -0.198223 10.323223 0.875000 +v -0.551777 10.323223 0.875000 +v -0.625000 10.500000 0.875000 +v -0.551777 10.676777 0.875000 +v 0.350000 4.250000 2.125000 +v 0.526777 4.250000 2.051777 +v 0.600000 4.250000 1.875000 +v 0.526777 4.250000 1.698223 +v 0.350000 4.250000 1.625000 +v 0.173223 4.250000 1.698223 +v 0.100000 4.250000 1.875000 +v 0.173223 4.250000 2.051777 +v 0.350000 8.750000 2.125000 +v 0.526777 8.750000 2.051777 +v 0.600000 8.750000 1.875000 +v 0.526777 8.750000 1.698223 +v 0.350000 8.750000 1.625000 +v 0.173223 8.750000 1.698223 +v 0.100000 8.750000 1.875000 +v 0.173223 8.750000 2.051777 +v 0.350000 9.103554 1.978553 +v 0.526777 9.051777 1.926777 +v 0.600000 8.926777 1.801777 +v 0.526777 8.801777 1.676777 +v 0.173223 8.801777 1.676777 +v 0.100000 8.926777 1.801777 +v 0.173223 9.051777 1.926777 +v 0.350000 9.250000 1.625000 +v 0.526777 9.176777 1.625000 +v 0.600000 9.000000 1.625000 +v 0.526777 8.823223 1.625000 +v 0.173223 8.823223 1.625000 +v 0.100000 9.000000 1.625000 +v 0.173223 9.176777 1.625000 +v 0.350000 8.750000 0.875000 +v 0.350000 9.250000 0.875000 +v 0.526777 9.176777 0.875000 +v 0.600000 9.000000 0.875000 +v 0.526777 8.823223 0.875000 +v 0.173223 8.823223 0.875000 +v 0.100000 9.000000 0.875000 +v 0.173223 9.176777 0.875000 +v -2.125000 4.250000 -0.375000 +v -2.051777 4.250000 -0.198223 +v -1.875000 4.250000 -0.125000 +v -1.698223 4.250000 -0.198223 +v -1.625000 4.250000 -0.375000 +v -1.698223 4.250000 -0.551777 +v -1.875000 4.250000 -0.625000 +v -2.051777 4.250000 -0.551777 +v -2.125000 10.250000 -0.375000 +v -2.051777 10.250000 -0.198223 +v -1.875000 10.250000 -0.125000 +v -1.698223 10.250000 -0.198223 +v -1.625000 10.250000 -0.375000 +v -1.698223 10.250000 -0.551777 +v -1.875000 10.250000 -0.625000 +v -2.051777 10.250000 -0.551777 +v -1.978553 10.603554 -0.375000 +v -1.926777 10.551777 -0.198223 +v -1.801777 10.426777 -0.125000 +v -1.676777 10.301777 -0.198223 +v -1.676777 10.301777 -0.551777 +v -1.801777 10.426777 -0.625000 +v -1.926777 10.551777 -0.551777 +v -1.625000 10.750000 -0.375000 +v -1.625000 10.676777 -0.198223 +v -1.625000 10.500000 -0.125000 +v -1.625000 10.323223 -0.198223 +v -1.625000 10.323223 -0.551777 +v -1.625000 10.500000 -0.625000 +v -1.625000 10.676777 -0.551777 +v -0.875000 10.250000 -0.375000 +v -0.875000 10.750000 -0.375000 +v -0.875000 10.676777 -0.198223 +v -0.875000 10.500000 -0.125000 +v -0.875000 10.323223 -0.198223 +v -0.875000 10.323223 -0.551777 +v -0.875000 10.500000 -0.625000 +v -0.875000 10.676777 -0.551777 +v -2.125000 4.250000 0.350000 +v -2.051777 4.250000 0.526777 +v -1.875000 4.250000 0.600000 +v -1.698223 4.250000 0.526777 +v -1.625000 4.250000 0.350000 +v -1.698223 4.250000 0.173223 +v -1.875000 4.250000 0.100000 +v -2.051777 4.250000 0.173223 +v -2.125000 8.750000 0.350000 +v -2.051777 8.750000 0.526777 +v -1.875000 8.750000 0.600000 +v -1.698223 8.750000 0.526777 +v -1.625000 8.750000 0.350000 +v -1.698223 8.750000 0.173223 +v -1.875000 8.750000 0.100000 +v -2.051777 8.750000 0.173223 +v -1.978553 9.103554 0.350000 +v -1.926777 9.051777 0.526777 +v -1.801777 8.926777 0.600000 +v -1.676777 8.801777 0.526777 +v -1.676777 8.801777 0.173223 +v -1.801777 8.926777 0.100000 +v -1.926777 9.051777 0.173223 +v -1.625000 9.250000 0.350000 +v -1.625000 9.176777 0.526777 +v -1.625000 9.000000 0.600000 +v -1.625000 8.823223 0.526777 +v -1.625000 8.823223 0.173223 +v -1.625000 9.000000 0.100000 +v -1.625000 9.176777 0.173223 +v -0.875000 8.750000 0.350000 +v -0.875000 9.250000 0.350000 +v -0.875000 9.176777 0.526777 +v -0.875000 9.000000 0.600000 +v -0.875000 8.823223 0.526777 +v -0.875000 8.823223 0.173223 +v -0.875000 9.000000 0.100000 +v -0.875000 9.176777 0.173223 +v 2.125000 4.250000 0.375000 +v 2.051777 4.250000 0.198223 +v 1.875000 4.250000 0.125000 +v 1.698223 4.250000 0.198223 +v 1.625000 4.250000 0.375000 +v 1.698223 4.250000 0.551777 +v 1.875000 4.250000 0.625000 +v 2.051777 4.250000 0.551776 +v 2.125000 10.250000 0.375000 +v 2.051777 10.250000 0.198223 +v 1.875000 10.250000 0.125000 +v 1.698223 10.250000 0.198223 +v 1.625000 10.250000 0.375000 +v 1.698223 10.250000 0.551777 +v 1.875000 10.250000 0.625000 +v 2.051777 10.250000 0.551776 +v 1.978554 10.603554 0.375000 +v 1.926777 10.551777 0.198223 +v 1.801777 10.426777 0.125000 +v 1.676777 10.301777 0.198223 +v 1.676777 10.301777 0.551777 +v 1.801777 10.426777 0.625000 +v 1.926777 10.551777 0.551777 +v 1.625000 10.750000 0.375000 +v 1.625000 10.676777 0.198223 +v 1.625000 10.500000 0.125000 +v 1.625000 10.323223 0.198223 +v 1.625000 10.323223 0.551777 +v 1.625000 10.500000 0.625000 +v 1.625000 10.676777 0.551777 +v 0.875000 10.250000 0.375000 +v 0.875000 10.750000 0.375000 +v 0.875000 10.676777 0.198223 +v 0.875000 10.500000 0.125000 +v 0.875000 10.323223 0.198223 +v 0.875000 10.323223 0.551777 +v 0.875000 10.500000 0.625000 +v 0.875000 10.676777 0.551777 +v 2.125000 4.250000 -0.350000 +v 2.051777 4.250000 -0.526777 +v 1.875000 4.250000 -0.600000 +v 1.698223 4.250000 -0.526777 +v 1.625000 4.250000 -0.350000 +v 1.698223 4.250000 -0.173223 +v 1.875000 4.250000 -0.100000 +v 2.051777 4.250000 -0.173223 +v 2.125000 8.750000 -0.350000 +v 2.051777 8.750000 -0.526777 +v 1.875000 8.750000 -0.600000 +v 1.698223 8.750000 -0.526777 +v 1.625000 8.750000 -0.350000 +v 1.698223 8.750000 -0.173223 +v 1.875000 8.750000 -0.100000 +v 2.051777 8.750000 -0.173223 +v 1.978553 9.103554 -0.350000 +v 1.926777 9.051777 -0.526777 +v 1.801777 8.926777 -0.600000 +v 1.676777 8.801777 -0.526777 +v 1.676777 8.801777 -0.173223 +v 1.801777 8.926777 -0.100000 +v 1.926777 9.051777 -0.173223 +v 1.625000 9.250000 -0.350000 +v 1.625000 9.176777 -0.526777 +v 1.625000 9.000000 -0.600000 +v 1.625000 8.823223 -0.526777 +v 1.625000 8.823223 -0.173223 +v 1.625000 9.000000 -0.100000 +v 1.625000 9.176777 -0.173223 +v 0.875000 8.750000 -0.350000 +v 0.875000 9.250000 -0.350000 +v 0.875000 9.176777 -0.526777 +v 0.875000 9.000000 -0.600000 +v 0.875000 8.823223 -0.526777 +v 0.875000 8.823223 -0.173223 +v 0.875000 9.000000 -0.100000 +v 0.875000 9.176777 -0.173223 +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.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.7071 0.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.9956 0.0933 0.0000 +vn -0.9956 0.0933 0.0000 +vn 0.0000 0.0933 -0.9956 +vn 0.0000 0.0933 0.9956 +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.5556 0.0000 0.8315 +vn 0.5556 0.0000 -0.8315 +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.5556 0.0000 0.8315 +vn -0.5556 0.0000 -0.8315 +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.9991 -0.0434 0.0000 +vn -0.9991 0.0434 0.0000 +vn 0.0000 0.0434 -0.9991 +vn 0.0000 -0.0434 0.9991 +vn 0.0000 -0.0434 -0.9991 +vn 0.0000 0.0434 0.9991 +vn 0.9991 0.0434 0.0000 +vn -0.9991 -0.0434 0.0000 +vn -0.9063 -0.4226 0.0000 +vn 0.9063 -0.4226 0.0000 +vn 0.0000 -0.4226 0.9063 +vn 0.0000 -0.4226 -0.9063 +vn -0.6409 -0.4226 0.6409 +vn 0.6409 -0.4226 -0.6409 +vn 0.6409 -0.4226 0.6409 +vn -0.6409 -0.4226 -0.6409 +vn -0.9993 0.0379 0.0000 +vn 0.9993 -0.0379 0.0000 +vn 0.0000 -0.0379 0.9993 +vn 0.0000 0.0379 -0.9993 +vn 0.0000 0.0379 0.9993 +vn 0.0000 -0.0379 -0.9993 +vn -0.9993 -0.0379 0.0000 +vn 0.9993 0.0379 0.0000 +vn -0.6870 -0.2366 0.6870 +vn 0.6870 -0.2366 -0.6870 +vn 0.6870 -0.2366 0.6870 +vn -0.6870 -0.2366 -0.6870 +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.9239 0.0000 0.3827 +vn -0.6975 0.1644 -0.6975 +vn -0.9113 0.1644 -0.3775 +vn -0.9864 0.1644 -0.0000 +vn -0.9113 0.1644 0.3775 +vn -0.6975 0.1644 0.6975 +vn -0.3775 0.1644 0.9113 +vn -0.0000 0.1644 0.9864 +vn 0.3775 0.1644 0.9113 +vn 0.6975 0.1644 0.6975 +vn 0.9113 0.1644 0.3775 +vn 0.9864 0.1644 0.0000 +vn 0.9113 0.1644 -0.3775 +vn 0.6975 0.1644 -0.6975 +vn 0.3775 0.1644 -0.9113 +vn 0.0000 0.1644 -0.9864 +vn -0.3775 0.1644 -0.9113 +vn -0.9225 0.0555 -0.3821 +vn -0.7060 0.0555 -0.7060 +vn -0.9985 0.0555 -0.0000 +vn -0.9225 0.0555 0.3821 +vn -0.7060 0.0555 0.7060 +vn -0.3821 0.0555 0.9225 +vn -0.0000 0.0555 0.9985 +vn 0.3821 0.0555 0.9225 +vn 0.7060 0.0555 0.7060 +vn 0.9225 0.0555 0.3821 +vn 0.9985 0.0555 0.0000 +vn 0.9225 0.0555 -0.3821 +vn 0.7060 0.0555 -0.7060 +vn 0.3821 0.0555 -0.9225 +vn -0.0000 0.0555 -0.9985 +vn -0.3821 0.0555 -0.9225 +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.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.7574 -0.4617 0.4617 +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.0000 0.9824 -0.1866 +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.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.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.7263 -0.6737 -0.1363 +vn 0.6794 0.7194 0.1448 +vn 0.7574 -0.4617 -0.4617 +vn 0.9987 0.0473 0.0196 +vn -0.0000 0.9824 0.1866 +vn 0.7263 -0.6737 -0.1363 +vn -0.7194 0.1448 -0.6794 +vn 0.6737 -0.1363 -0.7263 +vn 0.6737 -0.1363 0.7263 +vn -0.7194 0.1448 0.6794 +vn -0.0473 0.0196 -0.9987 +vn -0.0473 0.0196 0.9987 +vn -0.9824 0.1866 0.0000 +vn -0.0671 0.0671 0.9955 +vn -0.5294 0.5294 0.6630 +vn -0.0671 0.0671 -0.9955 +vn 0.4617 -0.4617 0.7574 +vn -0.5294 0.5293 -0.6630 +vn 0.4617 -0.4617 -0.7574 +vn -0.1448 0.7194 -0.6794 +vn -0.0196 0.0473 -0.9987 +vn 0.1363 -0.6737 -0.7263 +vn -0.1448 0.7194 0.6794 +vn -0.0196 0.0473 0.9987 +vn -0.1866 0.9824 0.0000 +vn 0.1363 -0.6737 0.7263 +vn -0.5294 0.5294 -0.6630 +vn 0.7194 0.1448 0.6794 +vn -0.6737 -0.1363 0.7263 +vn -0.6737 -0.1363 -0.7263 +vn 0.7194 0.1448 -0.6794 +vn 0.0473 0.0196 0.9987 +vn 0.0473 0.0196 -0.9987 +vn 0.9824 0.1866 -0.0000 +vn 0.5294 0.5294 -0.6630 +vn 0.0671 0.0671 0.9955 +vn -0.4617 -0.4617 -0.7574 +vn 0.0671 0.0671 -0.9955 +vn 0.5294 0.5294 0.6630 +vn -0.4617 -0.4617 0.7574 +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.1448 0.7194 -0.6794 +vn 0.1866 0.9824 0.0000 +vn -0.1363 -0.6737 -0.7263 +vn 0.5294 0.5293 0.6630 +s off +f 3//1 2//1 1//1 +f 6//2 9//2 5//2 +f 3//3 8//3 4//3 +f 2//4 5//4 1//4 +f 4//5 6//5 2//5 +f 1//6 7//6 3//6 +f 12//5 15//5 10//5 +f 8//7 10//7 6//7 +f 5//8 11//8 7//8 +f 7//9 12//9 8//9 +f 13//10 20//10 16//10 +f 9//6 13//6 11//6 +f 11//3 16//3 12//3 +f 10//4 14//4 9//4 +f 20//5 23//5 19//5 +f 15//11 18//11 14//11 +f 16//12 19//12 15//12 +f 14//13 17//13 13//13 +f 18//6 21//6 17//6 +f 17//3 24//3 20//3 +f 19//4 22//4 18//4 +f 28//14 26//14 25//14 +f 32//5 29//5 30//5 +f 36//3 31//3 32//3 +f 33//4 30//4 29//4 +f 33//6 36//6 34//6 +f 30//1 36//1 32//1 +f 40//5 37//5 38//5 +f 44//3 39//3 40//3 +f 41//4 38//4 37//4 +f 41//6 44//6 42//6 +f 38//1 44//1 40//1 +f 48//5 45//5 46//5 +f 52//3 47//3 48//3 +f 49//4 46//4 45//4 +f 49//6 52//6 50//6 +f 46//1 52//1 48//1 +f 56//5 53//5 54//5 +f 60//3 55//3 56//3 +f 57//4 54//4 53//4 +f 57//6 60//6 58//6 +f 54//1 60//1 56//1 +f 64//5 61//5 62//5 +f 68//3 63//3 64//3 +f 65//4 62//4 61//4 +f 65//6 68//6 66//6 +f 126//14 129//14 132//14 +f 72//5 69//5 70//5 +f 76//3 71//3 72//3 +f 73//4 70//4 69//4 +f 73//6 76//6 74//6 +f 132//14 125//14 126//14 +f 80//5 77//5 78//5 +f 84//3 79//3 80//3 +f 81//4 78//4 77//4 +f 81//6 84//6 82//6 +f 131//14 127//14 125//14 +f 88//5 85//5 86//5 +f 92//3 87//3 88//3 +f 89//4 86//4 85//4 +f 89//6 92//6 90//6 +f 129//14 127//14 130//14 +f 93//1 96//1 94//1 +f 99//14 97//14 98//14 +f 93//4 100//4 95//4 +f 94//5 97//5 93//5 +f 96//3 98//3 94//3 +f 95//6 99//6 96//6 +f 101//1 104//1 102//1 +f 107//14 105//14 106//14 +f 104//3 106//3 102//3 +f 103//6 107//6 104//6 +f 101//4 108//4 103//4 +f 102//5 105//5 101//5 +f 109//1 112//1 110//1 +f 115//14 113//14 114//14 +f 109//5 116//5 111//5 +f 110//3 113//3 109//3 +f 112//6 114//6 110//6 +f 111//4 115//4 112//4 +f 117//1 120//1 118//1 +f 123//14 121//14 122//14 +f 120//6 122//6 118//6 +f 119//4 123//4 120//4 +f 117//5 124//5 119//5 +f 118//3 121//3 117//3 +f 137//1 134//1 140//1 +f 133//1 140//1 134//1 +f 135//1 139//1 133//1 +f 135//1 137//1 138//1 +f 143//5 142//5 141//5 +f 147//3 146//3 145//3 +f 151//6 150//6 149//6 +f 155//4 154//4 153//4 +f 157//1 160//1 158//1 +f 163//14 161//14 162//14 +f 157//4 164//4 159//4 +f 158//5 161//5 157//5 +f 160//3 162//3 158//3 +f 159//6 163//6 160//6 +f 165//1 168//1 166//1 +f 171//14 169//14 170//14 +f 168//3 170//3 166//3 +f 167//6 171//6 168//6 +f 165//4 172//4 167//4 +f 166//5 169//5 165//5 +f 173//1 176//1 174//1 +f 179//14 177//14 178//14 +f 173//5 180//5 175//5 +f 174//3 177//3 173//3 +f 176//6 178//6 174//6 +f 175//4 179//4 176//4 +f 181//1 184//1 182//1 +f 187//14 185//14 186//14 +f 184//6 186//6 182//6 +f 183//4 187//4 184//4 +f 181//5 188//5 183//5 +f 182//3 185//3 181//3 +f 192//15 195//15 191//15 +f 193//14 200//14 196//14 +f 190//16 193//16 189//16 +f 189//17 196//17 192//17 +f 191//18 194//18 190//18 +f 200//6 203//6 199//6 +f 195//14 198//14 194//14 +f 196//14 199//14 195//14 +f 194//14 197//14 193//14 +f 203//14 201//14 202//14 +f 198//5 201//5 197//5 +f 197//4 204//4 200//4 +f 199//3 202//3 198//3 +f 224//1 239//1 223//1 +f 225//1 240//1 224//1 +f 225//1 242//1 241//1 +f 227//1 242//1 226//1 +f 228//1 243//1 227//1 +f 229//1 244//1 228//1 +f 230//1 245//1 229//1 +f 230//1 247//1 246//1 +f 231//1 248//1 247//1 +f 233//1 248//1 232//1 +f 234//1 249//1 233//1 +f 235//1 250//1 234//1 +f 236//1 251//1 235//1 +f 236//1 237//1 252//1 +f 221//1 238//1 237//1 +f 222//1 239//1 238//1 +f 255//14 270//14 254//14 +f 256//14 271//14 255//14 +f 256//14 273//14 272//14 +f 258//14 273//14 257//14 +f 259//14 274//14 258//14 +f 259//14 276//14 275//14 +f 260//14 277//14 276//14 +f 261//14 278//14 277//14 +f 263//14 278//14 262//14 +f 264//14 279//14 263//14 +f 264//14 281//14 280//14 +f 266//14 281//14 265//14 +f 267//14 282//14 266//14 +f 267//14 284//14 283//14 +f 253//14 284//14 268//14 +f 254//14 269//14 253//14 +f 319//14 334//14 318//14 +f 320//14 335//14 319//14 +f 320//14 337//14 336//14 +f 322//14 337//14 321//14 +f 323//14 338//14 322//14 +f 323//14 340//14 339//14 +f 324//14 341//14 340//14 +f 325//14 342//14 341//14 +f 327//14 342//14 326//14 +f 328//14 343//14 327//14 +f 328//14 345//14 344//14 +f 330//14 345//14 329//14 +f 331//14 346//14 330//14 +f 331//14 348//14 347//14 +f 317//14 348//14 332//14 +f 318//14 333//14 317//14 +f 289//1 304//1 288//1 +f 289//1 306//1 305//1 +f 291//1 306//1 290//1 +f 292//1 307//1 291//1 +f 293//1 308//1 292//1 +f 294//1 309//1 293//1 +f 294//1 311//1 310//1 +f 295//1 312//1 311//1 +f 297//1 312//1 296//1 +f 298//1 313//1 297//1 +f 299//1 314//1 298//1 +f 300//1 315//1 299//1 +f 300//1 301//1 316//1 +f 285//1 302//1 301//1 +f 286//1 303//1 302//1 +f 288//1 303//1 287//1 +f 352//14 367//14 351//14 +f 352//14 369//14 368//14 +f 354//14 369//14 353//14 +f 355//14 370//14 354//14 +f 356//14 371//14 355//14 +f 356//14 373//14 372//14 +f 357//14 374//14 373//14 +f 359//14 374//14 358//14 +f 359//14 376//14 375//14 +f 360//14 377//14 376//14 +f 362//14 377//14 361//14 +f 363//14 378//14 362//14 +f 363//14 380//14 379//14 +f 349//14 380//14 364//14 +f 350//14 365//14 349//14 +f 351//14 366//14 350//14 +f 395//14 381//14 389//14 +f 419//19 418//19 421//19 +f 416//20 417//20 414//20 +f 426//21 425//21 428//21 +f 423//22 424//22 413//22 +f 435//23 434//23 437//23 +f 432//24 433//24 430//24 +f 442//25 441//25 444//25 +f 439//26 440//26 429//26 +f 451//27 450//27 453//27 +f 448//28 449//28 446//28 +f 458//29 457//29 460//29 +f 455//30 456//30 445//30 +f 467//31 466//31 469//31 +f 464//32 465//32 462//32 +f 474//33 473//33 476//33 +f 471//34 472//34 461//34 +f 499//27 514//27 498//27 +f 507//28 522//28 506//28 +f 500//23 515//23 499//23 +f 508//24 523//24 507//24 +f 501//31 516//31 500//31 +f 494//22 509//22 493//22 +f 493//32 524//32 508//32 +f 502//21 517//21 501//21 +f 495//30 510//30 494//30 +f 503//29 518//29 502//29 +f 496//26 511//26 495//26 +f 504//25 519//25 503//25 +f 497//34 512//34 496//34 +f 505//33 520//33 504//33 +f 498//19 513//19 497//19 +f 506//20 521//20 505//20 +f 520//14 535//14 519//14 +f 512//14 529//14 528//14 +f 520//14 537//14 536//14 +f 514//14 529//14 513//14 +f 522//14 537//14 521//14 +f 514//14 531//14 530//14 +f 522//14 539//14 538//14 +f 515//14 532//14 531//14 +f 523//14 540//14 539//14 +f 516//14 533//14 532//14 +f 510//14 525//14 509//14 +f 524//14 525//14 540//14 +f 518//14 533//14 517//14 +f 511//14 526//14 510//14 +f 519//14 534//14 518//14 +f 512//14 527//14 511//14 +f 555//14 541//14 549//14 +f 581//14 585//14 573//14 +f 567//1 563//1 559//1 +f 613//14 617//14 605//14 +f 599//1 595//1 591//1 +f 645//14 649//14 637//14 +f 631//1 627//1 623//1 +f 671//14 686//14 670//14 +f 672//14 687//14 671//14 +f 673//14 688//14 672//14 +f 674//14 689//14 673//14 +f 675//14 690//14 674//14 +f 675//14 692//14 691//14 +f 677//14 692//14 676//14 +f 677//14 694//14 693//14 +f 679//14 694//14 678//14 +f 679//14 696//14 695//14 +f 681//14 696//14 680//14 +f 682//14 697//14 681//14 +f 683//14 698//14 682//14 +f 683//14 700//14 699//14 +f 669//14 700//14 684//14 +f 670//14 685//14 669//14 +f 713//14 715//14 701//14 +f 717//14 719//14 720//14 +f 723//1 721//1 724//1 +f 719//5 724//5 720//5 +f 717//6 722//6 718//6 +f 720//3 721//3 717//3 +f 718//4 723//4 719//4 +f 725//14 727//14 728//14 +f 731//1 729//1 732//1 +f 727//5 732//5 728//5 +f 725//6 730//6 726//6 +f 728//3 729//3 725//3 +f 726//4 731//4 727//4 +f 733//14 735//14 736//14 +f 739//1 737//1 740//1 +f 735//5 740//5 736//5 +f 733//6 738//6 734//6 +f 736//3 737//3 733//3 +f 734//4 739//4 735//4 +f 752//35 755//35 750//35 +f 751//36 754//36 753//36 +f 742//35 748//35 747//35 +f 741//36 745//36 743//36 +f 744//37 745//37 748//37 +f 742//38 746//38 741//38 +f 752//39 753//39 756//39 +f 750//40 754//40 749//40 +f 768//41 771//41 766//41 +f 767//42 770//42 769//42 +f 758//41 764//41 763//41 +f 757//42 761//42 759//42 +f 759//37 764//37 760//37 +f 757//38 763//38 762//38 +f 767//39 772//39 768//39 +f 765//40 771//40 770//40 +f 780//5 775//5 776//5 +f 778//6 773//6 774//6 +f 777//3 776//3 773//3 +f 779//4 774//4 775//4 +f 788//5 783//5 784//5 +f 786//6 781//6 782//6 +f 785//3 784//3 781//3 +f 787//4 782//4 783//4 +f 796//5 791//5 792//5 +f 794//6 789//6 790//6 +f 793//3 792//3 789//3 +f 795//4 790//4 791//4 +f 799//43 798//43 797//43 +f 803//44 802//44 801//44 +f 807//45 806//45 805//45 +f 811//46 810//46 809//46 +f 815//47 814//47 813//47 +f 819//48 818//48 817//48 +f 821//49 824//49 822//49 +f 827//50 826//50 825//50 +f 848//14 863//14 847//14 +f 849//14 864//14 848//14 +f 850//14 865//14 849//14 +f 851//14 866//14 850//14 +f 851//14 868//14 867//14 +f 852//14 869//14 868//14 +f 853//14 870//14 869//14 +f 854//14 871//14 870//14 +f 855//14 872//14 871//14 +f 857//14 872//14 856//14 +f 858//14 873//14 857//14 +f 859//14 874//14 858//14 +f 859//14 876//14 875//14 +f 845//14 876//14 860//14 +f 846//14 861//14 845//14 +f 847//14 862//14 846//14 +f 879//1 878//1 877//1 +f 883//14 881//14 882//14 +f 878//4 882//4 877//4 +f 880//5 883//5 878//5 +f 877//6 881//6 879//6 +f 879//3 884//3 880//3 +f 887//1 886//1 885//1 +f 891//14 889//14 890//14 +f 886//4 890//4 885//4 +f 888//5 891//5 886//5 +f 885//6 889//6 887//6 +f 887//3 892//3 888//3 +f 895//1 894//1 893//1 +f 899//14 897//14 898//14 +f 894//4 898//4 893//4 +f 896//5 899//5 894//5 +f 893//6 897//6 895//6 +f 895//3 900//3 896//3 +f 904//51 901//51 902//51 +f 905//52 908//52 906//52 +f 948//5 943//5 944//5 +f 903//53 908//53 907//53 +f 946//6 941//6 942//6 +f 901//54 906//54 902//54 +f 910//51 911//51 909//51 +f 914//52 915//52 916//52 +f 945//3 944//3 941//3 +f 911//55 916//55 915//55 +f 947//4 942//4 943//4 +f 909//56 914//56 910//56 +f 920//57 917//57 918//57 +f 921//58 924//58 922//58 +f 939//4 934//4 935//4 +f 920//53 923//53 919//53 +f 937//3 936//3 933//3 +f 918//54 921//54 922//54 +f 926//57 927//57 925//57 +f 930//58 931//58 932//58 +f 938//6 933//6 934//6 +f 928//55 931//55 927//55 +f 940//5 935//5 936//5 +f 926//56 929//56 930//56 +f 956//5 951//5 952//5 +f 954//6 949//6 950//6 +f 953//3 952//3 949//3 +f 955//4 950//4 951//4 +f 958//59 959//59 957//59 +f 971//14 973//14 961//14 +f 978//60 979//60 977//60 +f 982//61 983//61 981//61 +f 986//62 987//62 985//62 +f 930//3 1001//3 926//3 +f 904//4 992//4 908//4 +f 916//5 995//5 914//5 +f 906//3 989//3 902//3 +f 918//6 998//6 920//6 +f 920//4 1000//4 924//4 +f 932//5 1003//5 930//5 +f 922//3 997//3 918//3 +f 908//5 991//5 906//5 +f 910//6 994//6 912//6 +f 912//4 996//4 916//4 +f 924//5 999//5 922//5 +f 914//3 993//3 910//3 +f 926//6 1002//6 928//6 +f 928//4 1004//4 932//4 +f 902//6 990//6 904//6 +f 3//1 4//1 2//1 +f 6//2 10//2 9//2 +f 3//3 7//3 8//3 +f 2//4 6//4 5//4 +f 4//5 8//5 6//5 +f 1//6 5//6 7//6 +f 12//5 16//5 15//5 +f 8//7 12//7 10//7 +f 5//8 9//8 11//8 +f 7//9 11//9 12//9 +f 13//10 17//10 20//10 +f 9//6 14//6 13//6 +f 11//3 13//3 16//3 +f 10//4 15//4 14//4 +f 20//5 24//5 23//5 +f 15//11 19//11 18//11 +f 16//12 20//12 19//12 +f 14//13 18//13 17//13 +f 18//6 22//6 21//6 +f 17//3 21//3 24//3 +f 19//4 23//4 22//4 +f 28//14 27//14 26//14 +f 32//5 31//5 29//5 +f 36//3 35//3 31//3 +f 33//4 34//4 30//4 +f 33//6 35//6 36//6 +f 30//1 34//1 36//1 +f 40//5 39//5 37//5 +f 44//3 43//3 39//3 +f 41//4 42//4 38//4 +f 41//6 43//6 44//6 +f 38//1 42//1 44//1 +f 48//5 47//5 45//5 +f 52//3 51//3 47//3 +f 49//4 50//4 46//4 +f 49//6 51//6 52//6 +f 46//1 50//1 52//1 +f 56//5 55//5 53//5 +f 60//3 59//3 55//3 +f 57//4 58//4 54//4 +f 57//6 59//6 60//6 +f 54//1 58//1 60//1 +f 64//5 63//5 61//5 +f 68//3 67//3 63//3 +f 65//4 66//4 62//4 +f 65//6 67//6 68//6 +f 126//14 128//14 129//14 +f 72//5 71//5 69//5 +f 76//3 75//3 71//3 +f 73//4 74//4 70//4 +f 73//6 75//6 76//6 +f 132//14 131//14 125//14 +f 80//5 79//5 77//5 +f 84//3 83//3 79//3 +f 81//4 82//4 78//4 +f 81//6 83//6 84//6 +f 131//14 130//14 127//14 +f 88//5 87//5 85//5 +f 92//3 91//3 87//3 +f 89//4 90//4 86//4 +f 89//6 91//6 92//6 +f 129//14 128//14 127//14 +f 93//1 95//1 96//1 +f 99//14 100//14 97//14 +f 93//4 97//4 100//4 +f 94//5 98//5 97//5 +f 96//3 99//3 98//3 +f 95//6 100//6 99//6 +f 101//1 103//1 104//1 +f 107//14 108//14 105//14 +f 104//3 107//3 106//3 +f 103//6 108//6 107//6 +f 101//4 105//4 108//4 +f 102//5 106//5 105//5 +f 109//1 111//1 112//1 +f 115//14 116//14 113//14 +f 109//5 113//5 116//5 +f 110//3 114//3 113//3 +f 112//6 115//6 114//6 +f 111//4 116//4 115//4 +f 117//1 119//1 120//1 +f 123//14 124//14 121//14 +f 120//6 123//6 122//6 +f 119//4 124//4 123//4 +f 117//5 121//5 124//5 +f 118//3 122//3 121//3 +f 137//1 136//1 134//1 +f 133//1 139//1 140//1 +f 135//1 138//1 139//1 +f 135//1 136//1 137//1 +f 143//5 144//5 142//5 +f 147//3 148//3 146//3 +f 151//6 152//6 150//6 +f 155//4 156//4 154//4 +f 157//1 159//1 160//1 +f 163//14 164//14 161//14 +f 157//4 161//4 164//4 +f 158//5 162//5 161//5 +f 160//3 163//3 162//3 +f 159//6 164//6 163//6 +f 165//1 167//1 168//1 +f 171//14 172//14 169//14 +f 168//3 171//3 170//3 +f 167//6 172//6 171//6 +f 165//4 169//4 172//4 +f 166//5 170//5 169//5 +f 173//1 175//1 176//1 +f 179//14 180//14 177//14 +f 173//5 177//5 180//5 +f 174//3 178//3 177//3 +f 176//6 179//6 178//6 +f 175//4 180//4 179//4 +f 181//1 183//1 184//1 +f 187//14 188//14 185//14 +f 184//6 187//6 186//6 +f 183//4 188//4 187//4 +f 181//5 185//5 188//5 +f 182//3 186//3 185//3 +f 192//15 196//15 195//15 +f 193//14 197//14 200//14 +f 190//16 194//16 193//16 +f 189//17 193//17 196//17 +f 191//18 195//18 194//18 +f 200//6 204//6 203//6 +f 195//14 199//14 198//14 +f 196//14 200//14 199//14 +f 194//14 198//14 197//14 +f 203//14 204//14 201//14 +f 198//5 202//5 201//5 +f 197//4 201//4 204//4 +f 199//3 203//3 202//3 +f 224//1 240//1 239//1 +f 225//1 241//1 240//1 +f 225//1 226//1 242//1 +f 227//1 243//1 242//1 +f 228//1 244//1 243//1 +f 229//1 245//1 244//1 +f 230//1 246//1 245//1 +f 230//1 231//1 247//1 +f 231//1 232//1 248//1 +f 233//1 249//1 248//1 +f 234//1 250//1 249//1 +f 235//1 251//1 250//1 +f 236//1 252//1 251//1 +f 236//1 221//1 237//1 +f 221//1 222//1 238//1 +f 222//1 223//1 239//1 +f 255//14 271//14 270//14 +f 256//14 272//14 271//14 +f 256//14 257//14 273//14 +f 258//14 274//14 273//14 +f 259//14 275//14 274//14 +f 259//14 260//14 276//14 +f 260//14 261//14 277//14 +f 261//14 262//14 278//14 +f 263//14 279//14 278//14 +f 264//14 280//14 279//14 +f 264//14 265//14 281//14 +f 266//14 282//14 281//14 +f 267//14 283//14 282//14 +f 267//14 268//14 284//14 +f 253//14 269//14 284//14 +f 254//14 270//14 269//14 +f 319//14 335//14 334//14 +f 320//14 336//14 335//14 +f 320//14 321//14 337//14 +f 322//14 338//14 337//14 +f 323//14 339//14 338//14 +f 323//14 324//14 340//14 +f 324//14 325//14 341//14 +f 325//14 326//14 342//14 +f 327//14 343//14 342//14 +f 328//14 344//14 343//14 +f 328//14 329//14 345//14 +f 330//14 346//14 345//14 +f 331//14 347//14 346//14 +f 331//14 332//14 348//14 +f 317//14 333//14 348//14 +f 318//14 334//14 333//14 +f 289//1 305//1 304//1 +f 289//1 290//1 306//1 +f 291//1 307//1 306//1 +f 292//1 308//1 307//1 +f 293//1 309//1 308//1 +f 294//1 310//1 309//1 +f 294//1 295//1 311//1 +f 295//1 296//1 312//1 +f 297//1 313//1 312//1 +f 298//1 314//1 313//1 +f 299//1 315//1 314//1 +f 300//1 316//1 315//1 +f 300//1 285//1 301//1 +f 285//1 286//1 302//1 +f 286//1 287//1 303//1 +f 288//1 304//1 303//1 +f 352//14 368//14 367//14 +f 352//14 353//14 369//14 +f 354//14 370//14 369//14 +f 355//14 371//14 370//14 +f 356//14 372//14 371//14 +f 356//14 357//14 373//14 +f 357//14 358//14 374//14 +f 359//14 375//14 374//14 +f 359//14 360//14 376//14 +f 360//14 361//14 377//14 +f 362//14 378//14 377//14 +f 363//14 379//14 378//14 +f 363//14 364//14 380//14 +f 349//14 365//14 380//14 +f 350//14 366//14 365//14 +f 351//14 367//14 366//14 +f 381//14 382//14 383//14 +f 383//14 384//14 385//14 +f 385//14 386//14 387//14 +f 387//14 388//14 389//14 +f 389//14 390//14 391//14 +f 391//14 392//14 393//14 +f 393//14 394//14 395//14 +f 395//14 396//14 381//14 +f 381//14 383//14 385//14 +f 385//14 387//14 381//14 +f 387//14 389//14 381//14 +f 389//14 391//14 393//14 +f 393//14 395//14 389//14 +f 419//19 420//19 418//19 +f 416//20 415//20 417//20 +f 426//21 427//21 425//21 +f 423//22 422//22 424//22 +f 435//23 436//23 434//23 +f 432//24 431//24 433//24 +f 442//25 443//25 441//25 +f 439//26 438//26 440//26 +f 451//27 452//27 450//27 +f 448//28 447//28 449//28 +f 458//29 459//29 457//29 +f 455//30 454//30 456//30 +f 467//31 468//31 466//31 +f 464//32 463//32 465//32 +f 474//33 475//33 473//33 +f 471//34 470//34 472//34 +f 499//27 515//27 514//27 +f 507//28 523//28 522//28 +f 500//23 516//23 515//23 +f 508//24 524//24 523//24 +f 501//31 517//31 516//31 +f 494//22 510//22 509//22 +f 493//32 509//32 524//32 +f 502//21 518//21 517//21 +f 495//30 511//30 510//30 +f 503//29 519//29 518//29 +f 496//26 512//26 511//26 +f 504//25 520//25 519//25 +f 497//34 513//34 512//34 +f 505//33 521//33 520//33 +f 498//19 514//19 513//19 +f 506//20 522//20 521//20 +f 520//14 536//14 535//14 +f 512//14 513//14 529//14 +f 520//14 521//14 537//14 +f 514//14 530//14 529//14 +f 522//14 538//14 537//14 +f 514//14 515//14 531//14 +f 522//14 523//14 539//14 +f 515//14 516//14 532//14 +f 523//14 524//14 540//14 +f 516//14 517//14 533//14 +f 510//14 526//14 525//14 +f 524//14 509//14 525//14 +f 518//14 534//14 533//14 +f 511//14 527//14 526//14 +f 519//14 535//14 534//14 +f 512//14 528//14 527//14 +f 541//14 542//14 543//14 +f 543//14 544//14 545//14 +f 545//14 546//14 547//14 +f 547//14 548//14 549//14 +f 549//14 550//14 551//14 +f 551//14 552//14 553//14 +f 553//14 554//14 555//14 +f 555//14 556//14 541//14 +f 541//14 543//14 549//14 +f 543//14 545//14 549//14 +f 545//14 547//14 549//14 +f 549//14 551//14 553//14 +f 553//14 555//14 549//14 +f 573//14 574//14 575//14 +f 575//14 576//14 577//14 +f 577//14 578//14 579//14 +f 579//14 580//14 581//14 +f 581//14 582//14 583//14 +f 583//14 584//14 581//14 +f 584//14 585//14 581//14 +f 585//14 586//14 573//14 +f 586//14 587//14 573//14 +f 587//14 588//14 573//14 +f 573//14 575//14 577//14 +f 577//14 579//14 573//14 +f 579//14 581//14 573//14 +f 559//1 558//1 557//1 +f 557//1 572//1 571//1 +f 571//1 570//1 569//1 +f 569//1 568//1 567//1 +f 567//1 566//1 565//1 +f 565//1 564//1 567//1 +f 564//1 563//1 567//1 +f 563//1 562//1 561//1 +f 561//1 560//1 559//1 +f 559//1 557//1 571//1 +f 571//1 569//1 559//1 +f 569//1 567//1 559//1 +f 563//1 561//1 559//1 +f 605//14 606//14 607//14 +f 607//14 608//14 609//14 +f 609//14 610//14 611//14 +f 611//14 612//14 613//14 +f 613//14 614//14 615//14 +f 615//14 616//14 613//14 +f 616//14 617//14 613//14 +f 617//14 618//14 605//14 +f 618//14 619//14 605//14 +f 619//14 620//14 605//14 +f 605//14 607//14 609//14 +f 609//14 611//14 605//14 +f 611//14 613//14 605//14 +f 591//1 590//1 589//1 +f 589//1 604//1 603//1 +f 603//1 602//1 601//1 +f 601//1 600//1 599//1 +f 599//1 598//1 597//1 +f 597//1 596//1 599//1 +f 596//1 595//1 599//1 +f 595//1 594//1 593//1 +f 593//1 592//1 591//1 +f 591//1 589//1 603//1 +f 603//1 601//1 591//1 +f 601//1 599//1 591//1 +f 595//1 593//1 591//1 +f 637//14 638//14 639//14 +f 639//14 640//14 641//14 +f 641//14 642//14 643//14 +f 643//14 644//14 645//14 +f 645//14 646//14 647//14 +f 647//14 648//14 645//14 +f 648//14 649//14 645//14 +f 649//14 650//14 637//14 +f 650//14 651//14 637//14 +f 651//14 652//14 637//14 +f 637//14 639//14 641//14 +f 641//14 643//14 637//14 +f 643//14 645//14 637//14 +f 623//1 622//1 621//1 +f 621//1 636//1 635//1 +f 635//1 634//1 633//1 +f 633//1 632//1 631//1 +f 631//1 630//1 629//1 +f 629//1 628//1 631//1 +f 628//1 627//1 631//1 +f 627//1 626//1 625//1 +f 625//1 624//1 623//1 +f 623//1 621//1 635//1 +f 635//1 633//1 623//1 +f 633//1 631//1 623//1 +f 627//1 625//1 623//1 +f 671//14 687//14 686//14 +f 672//14 688//14 687//14 +f 673//14 689//14 688//14 +f 674//14 690//14 689//14 +f 675//14 691//14 690//14 +f 675//14 676//14 692//14 +f 677//14 693//14 692//14 +f 677//14 678//14 694//14 +f 679//14 695//14 694//14 +f 679//14 680//14 696//14 +f 681//14 697//14 696//14 +f 682//14 698//14 697//14 +f 683//14 699//14 698//14 +f 683//14 684//14 700//14 +f 669//14 685//14 700//14 +f 670//14 686//14 685//14 +f 701//14 702//14 703//14 +f 703//14 704//14 705//14 +f 705//14 706//14 707//14 +f 707//14 708//14 709//14 +f 709//14 710//14 711//14 +f 711//14 712//14 713//14 +f 713//14 714//14 715//14 +f 715//14 716//14 701//14 +f 701//14 703//14 705//14 +f 705//14 707//14 701//14 +f 707//14 709//14 701//14 +f 709//14 711//14 701//14 +f 711//14 713//14 701//14 +f 717//14 718//14 719//14 +f 723//1 722//1 721//1 +f 719//5 723//5 724//5 +f 717//6 721//6 722//6 +f 720//3 724//3 721//3 +f 718//4 722//4 723//4 +f 725//14 726//14 727//14 +f 731//1 730//1 729//1 +f 727//5 731//5 732//5 +f 725//6 729//6 730//6 +f 728//3 732//3 729//3 +f 726//4 730//4 731//4 +f 733//14 734//14 735//14 +f 739//1 738//1 737//1 +f 735//5 739//5 740//5 +f 733//6 737//6 738//6 +f 736//3 740//3 737//3 +f 734//4 738//4 739//4 +f 752//35 756//35 755//35 +f 751//36 749//36 754//36 +f 742//35 744//35 748//35 +f 741//36 746//36 745//36 +f 744//37 743//37 745//37 +f 742//38 747//38 746//38 +f 752//39 751//39 753//39 +f 750//40 755//40 754//40 +f 768//41 772//41 771//41 +f 767//42 765//42 770//42 +f 758//41 760//41 764//41 +f 757//42 762//42 761//42 +f 759//37 761//37 764//37 +f 757//38 758//38 763//38 +f 767//39 769//39 772//39 +f 765//40 766//40 771//40 +f 780//5 779//5 775//5 +f 778//6 777//6 773//6 +f 777//3 780//3 776//3 +f 779//4 778//4 774//4 +f 788//5 787//5 783//5 +f 786//6 785//6 781//6 +f 785//3 788//3 784//3 +f 787//4 786//4 782//4 +f 796//5 795//5 791//5 +f 794//6 793//6 789//6 +f 793//3 796//3 792//3 +f 795//4 794//4 790//4 +f 799//43 800//43 798//43 +f 803//44 804//44 802//44 +f 807//45 808//45 806//45 +f 811//46 812//46 810//46 +f 815//47 816//47 814//47 +f 819//48 820//48 818//48 +f 821//49 823//49 824//49 +f 827//50 828//50 826//50 +f 848//14 864//14 863//14 +f 849//14 865//14 864//14 +f 850//14 866//14 865//14 +f 851//14 867//14 866//14 +f 851//14 852//14 868//14 +f 852//14 853//14 869//14 +f 853//14 854//14 870//14 +f 854//14 855//14 871//14 +f 855//14 856//14 872//14 +f 857//14 873//14 872//14 +f 858//14 874//14 873//14 +f 859//14 875//14 874//14 +f 859//14 860//14 876//14 +f 845//14 861//14 876//14 +f 846//14 862//14 861//14 +f 847//14 863//14 862//14 +f 879//1 880//1 878//1 +f 883//14 884//14 881//14 +f 878//4 883//4 882//4 +f 880//5 884//5 883//5 +f 877//6 882//6 881//6 +f 879//3 881//3 884//3 +f 887//1 888//1 886//1 +f 891//14 892//14 889//14 +f 886//4 891//4 890//4 +f 888//5 892//5 891//5 +f 885//6 890//6 889//6 +f 887//3 889//3 892//3 +f 895//1 896//1 894//1 +f 899//14 900//14 897//14 +f 894//4 899//4 898//4 +f 896//5 900//5 899//5 +f 893//6 898//6 897//6 +f 895//3 897//3 900//3 +f 904//51 903//51 901//51 +f 905//52 907//52 908//52 +f 948//5 947//5 943//5 +f 903//53 904//53 908//53 +f 946//6 945//6 941//6 +f 901//54 905//54 906//54 +f 910//51 912//51 911//51 +f 914//52 913//52 915//52 +f 945//3 948//3 944//3 +f 911//55 912//55 916//55 +f 947//4 946//4 942//4 +f 909//56 913//56 914//56 +f 920//57 919//57 917//57 +f 921//58 923//58 924//58 +f 939//4 938//4 934//4 +f 920//53 924//53 923//53 +f 937//3 940//3 936//3 +f 918//54 917//54 921//54 +f 926//57 928//57 927//57 +f 930//58 929//58 931//58 +f 938//6 937//6 933//6 +f 928//55 932//55 931//55 +f 940//5 939//5 935//5 +f 926//56 925//56 929//56 +f 956//5 955//5 951//5 +f 954//6 953//6 949//6 +f 953//3 956//3 952//3 +f 955//4 954//4 950//4 +f 958//59 960//59 959//59 +f 961//14 962//14 963//14 +f 963//14 964//14 965//14 +f 965//14 966//14 967//14 +f 967//14 968//14 969//14 +f 969//14 970//14 971//14 +f 971//14 972//14 973//14 +f 973//14 974//14 961//14 +f 974//14 975//14 961//14 +f 975//14 976//14 961//14 +f 961//14 963//14 965//14 +f 965//14 967//14 961//14 +f 967//14 969//14 961//14 +f 969//14 971//14 961//14 +f 978//60 980//60 979//60 +f 982//61 984//61 983//61 +f 986//62 988//62 987//62 +f 930//3 1003//3 1001//3 +f 904//4 990//4 992//4 +f 916//5 996//5 995//5 +f 906//3 991//3 989//3 +f 918//6 997//6 998//6 +f 920//4 998//4 1000//4 +f 932//5 1004//5 1003//5 +f 922//3 999//3 997//3 +f 908//5 992//5 991//5 +f 910//6 993//6 994//6 +f 912//4 994//4 996//4 +f 924//5 1000//5 999//5 +f 914//3 995//3 993//3 +f 926//6 1001//6 1002//6 +f 928//4 1002//4 1004//4 +f 902//6 989//6 990//6 +s 1 +f 210//63 225//6 209//6 +f 218//64 233//5 217//5 +f 211//65 226//63 210//63 +f 219//66 234//64 218//64 +f 212//67 227//65 211//65 +f 220//68 235//66 219//66 +f 213//4 228//67 212//67 +f 206//69 221//3 205//3 +f 205//3 236//68 220//68 +f 214//70 229//4 213//4 +f 207//71 222//69 206//69 +f 215//72 230//70 214//70 +f 208//73 223//71 207//71 +f 216//74 231//72 215//72 +f 209//6 224//73 208//73 +f 217//5 232//74 216//74 +f 244//67 259//65 243//65 +f 252//68 267//66 251//66 +f 245//4 260//67 244//67 +f 238//69 253//3 237//3 +f 237//3 268//68 252//68 +f 246//70 261//4 245//4 +f 239//71 254//69 238//69 +f 247//72 262//70 246//70 +f 240//73 255//71 239//71 +f 248//74 263//72 247//72 +f 241//6 256//73 240//73 +f 249//5 264//74 248//74 +f 242//63 257//6 241//6 +f 250//64 265//5 249//5 +f 243//65 258//63 242//63 +f 251//66 266//64 250//64 +f 271//71 286//69 270//69 +f 279//72 294//70 278//70 +f 272//73 287//71 271//71 +f 280//74 295//72 279//72 +f 273//6 288//73 272//73 +f 281//5 296//74 280//74 +f 274//63 289//6 273//6 +f 282//64 297//5 281//5 +f 275//65 290//63 274//63 +f 283//66 298//64 282//64 +f 276//67 291//65 275//65 +f 284//68 299//66 283//66 +f 277//4 292//67 276//67 +f 270//69 285//3 269//3 +f 269//3 300//68 284//68 +f 278//70 293//4 277//4 +f 308//67 323//65 307//65 +f 316//68 331//66 315//66 +f 309//4 324//67 308//67 +f 302//69 317//3 301//3 +f 301//3 332//68 316//68 +f 310//70 325//4 309//4 +f 303//71 318//69 302//69 +f 311//72 326//70 310//70 +f 304//73 319//71 303//71 +f 312//74 327//72 311//72 +f 305//6 320//73 304//73 +f 313//5 328//74 312//74 +f 306//63 321//6 305//6 +f 314//64 329//5 313//5 +f 307//65 322//63 306//63 +f 315//66 330//64 314//64 +f 335//71 350//69 334//69 +f 343//72 358//70 342//70 +f 336//73 351//71 335//71 +f 344//74 359//72 343//72 +f 337//6 352//73 336//73 +f 345//5 360//74 344//74 +f 338//63 353//6 337//6 +f 346//64 361//5 345//5 +f 339//65 354//63 338//63 +f 347//66 362//64 346//64 +f 340//67 355//65 339//65 +f 348//68 363//66 347//66 +f 341//4 356//67 340//67 +f 334//69 349//3 333//3 +f 333//3 364//68 348//68 +f 342//70 357//4 341//4 +f 375//71 390//69 374//69 +f 368//74 383//72 367//72 +f 376//73 391//71 375//71 +f 369//5 384//74 368//74 +f 377//6 392//73 376//73 +f 370//64 385//5 369//5 +f 378//63 393//6 377//6 +f 371//66 386//64 370//64 +f 379//65 394//63 378//63 +f 372//68 387//66 371//66 +f 380//67 395//65 379//65 +f 373//3 388//68 372//68 +f 366//70 381//4 365//4 +f 365//4 396//67 380//67 +f 374//69 389//3 373//3 +f 367//72 382//70 366//70 +f 399//75 208//76 207//75 +f 400//76 209//77 208//76 +f 209//77 402//78 210//78 +f 402//78 211//79 210//78 +f 403//79 212//80 211//79 +f 404//80 213//81 212//80 +f 405//81 214//82 213//81 +f 406//82 215//83 214//82 +f 407//83 216//84 215//83 +f 408//84 217//85 216//84 +f 409//85 218//86 217//85 +f 218//86 411//87 219//87 +f 411//87 220//88 219//87 +f 412//88 205//89 220//88 +f 397//89 206//90 205//89 +f 206//90 399//75 207//75 +f 480//91 495//92 479//92 +f 481//93 496//91 480//91 +f 482//94 497//93 481//93 +f 483//95 498//94 482//94 +f 484//96 499//95 483//95 +f 485//97 500//96 484//96 +f 486//98 501//97 485//97 +f 486//98 503//99 502//98 +f 488//100 503//99 487//99 +f 489//101 504//100 488//100 +f 490//102 505//101 489//101 +f 491//103 506//102 490//102 +f 492//104 507//103 491//103 +f 477//105 508//104 492//104 +f 478//106 493//105 477//105 +f 478//106 495//92 494//106 +f 526//70 541//4 525//4 +f 525//4 556//67 540//67 +f 534//69 549//3 533//3 +f 527//72 542//70 526//70 +f 535//71 550//69 534//69 +f 528//74 543//72 527//72 +f 536//73 551//71 535//71 +f 529//5 544//74 528//74 +f 537//6 552//73 536//73 +f 530//64 545//5 529//5 +f 538//63 553//6 537//6 +f 531//66 546//64 530//64 +f 539//65 554//63 538//63 +f 532//68 547//66 531//66 +f 540//67 555//65 539//65 +f 533//3 548//68 532//68 +f 568//74 583//72 567//72 +f 561//6 576//73 560//73 +f 569//5 584//74 568//74 +f 562//63 577//6 561//6 +f 570//64 585//5 569//5 +f 563//65 578//63 562//63 +f 571//66 586//64 570//64 +f 564//67 579//65 563//65 +f 572//68 587//66 571//66 +f 565//4 580//67 564//67 +f 558//69 573//3 557//3 +f 557//3 588//68 572//68 +f 566//70 581//4 565//4 +f 559//71 574//69 558//69 +f 567//72 582//70 566//70 +f 560//73 575//71 559//71 +f 600//74 615//72 599//72 +f 593//6 608//73 592//73 +f 601//5 616//74 600//74 +f 594//63 609//6 593//6 +f 602//64 617//5 601//5 +f 595//65 610//63 594//63 +f 603//66 618//64 602//64 +f 596//67 611//65 595//65 +f 604//68 619//66 603//66 +f 597//4 612//67 596//67 +f 590//69 605//3 589//3 +f 589//3 620//68 604//68 +f 598//70 613//4 597//4 +f 591//71 606//69 590//69 +f 599//72 614//70 598//70 +f 592//73 607//71 591//71 +f 632//74 647//72 631//72 +f 625//6 640//73 624//73 +f 633//5 648//74 632//74 +f 626//63 641//6 625//6 +f 634//64 649//5 633//5 +f 627//65 642//63 626//63 +f 635//66 650//64 634//64 +f 628//67 643//65 627//65 +f 636//68 651//66 635//66 +f 629//4 644//67 628//67 +f 622//69 637//3 621//3 +f 621//3 652//68 636//68 +f 630//70 645//4 629//4 +f 623//71 638//69 622//69 +f 631//72 646//70 630//70 +f 624//73 639//71 623//71 +f 668//68 683//66 667//66 +f 661//4 676//67 660//67 +f 654//69 669//3 653//3 +f 653//3 684//68 668//68 +f 662//70 677//4 661//4 +f 655//71 670//69 654//69 +f 663//72 678//70 662//70 +f 656//73 671//71 655//71 +f 664//74 679//72 663//72 +f 657//6 672//73 656//73 +f 665//5 680//74 664//74 +f 658//63 673//6 657//6 +f 666//64 681//5 665//5 +f 659//65 674//63 658//63 +f 667//66 682//64 666//64 +f 660//67 675//65 659//65 +f 689//5 704//74 688//74 +f 697//6 712//73 696//73 +f 690//64 705//5 689//5 +f 698//63 713//6 697//6 +f 691//66 706//64 690//64 +f 699//65 714//63 698//63 +f 692//68 707//66 691//66 +f 700//67 715//65 699//65 +f 693//3 708//68 692//68 +f 686//70 701//4 685//4 +f 685//4 716//67 700//67 +f 694//69 709//3 693//3 +f 687//72 702//70 686//70 +f 695//71 710//69 694//69 +f 688//74 703//72 687//72 +f 696//73 711//71 695//71 +f 839//72 854//70 838//70 +f 832//73 847//71 831//71 +f 840//74 855//72 839//72 +f 833//6 848//73 832//73 +f 841//5 856//74 840//74 +f 834//63 849//6 833//6 +f 842//64 857//5 841//5 +f 835//65 850//63 834//63 +f 843//66 858//64 842//64 +f 836//67 851//65 835//65 +f 844//68 859//66 843//66 +f 837//4 852//67 836//67 +f 830//69 845//3 829//3 +f 829//3 860//68 844//68 +f 838//70 853//4 837//4 +f 831//71 846//69 830//69 +f 873//6 972//73 872//73 +f 866//64 965//5 865//5 +f 874//63 973//6 873//6 +f 867//66 966//64 866//64 +f 875//65 974//63 874//63 +f 868//68 967//66 867//66 +f 876//67 975//65 875//65 +f 869//3 968//68 868//68 +f 862//70 961//4 861//4 +f 861//4 976//67 876//67 +f 870//69 969//3 869//3 +f 863//72 962//70 862//70 +f 871//71 970//69 870//69 +f 864//74 963//72 863//72 +f 872//73 971//71 871//71 +f 865//5 964//74 864//74 +f 1005//3 1020//107 1012//66 +f 1011//5 1018//108 1010//72 +f 1009//4 1016//109 1008//65 +f 1007//6 1014//110 1006//71 +f 1012//66 1019//111 1011//5 +f 1010//72 1017//2 1009//4 +f 1008//65 1015//112 1007//6 +f 1006//71 1013//113 1005//3 +f 1015//112 1022//114 1014//110 +f 1019//111 1027//115 1026//116 +f 1015//112 1024//117 1023//118 +f 1013//113 1022//114 1021//10 +f 1013//113 1027//115 1020//107 +f 1018//108 1026//116 1025//119 +f 1021//10 1034//120 1027//115 +f 1025//119 1033//121 1032//122 +f 1023//118 1029//123 1022//114 +f 1026//116 1034//120 1033//121 +f 1024//117 1030//124 1023//118 +f 1021//10 1029//123 1028//125 +f 1016//109 1017//2 1024//117 +f 1024//117 1017//2 1031//126 +f 1018//108 1025//119 1017//2 +f 1025//119 1032//122 1017//2 +f 1032//122 1035//1 1017//2 +f 1028//125 1042//12 1034//120 +f 1031//126 1035//1 1039//8 +f 1033//121 1040//7 1032//122 +f 1030//124 1037//13 1029//123 +f 1033//121 1042//12 1041//5 +f 1031//126 1038//6 1030//124 +f 1028//125 1037//13 1036//14 +f 1043//3 1058//107 1050//66 +f 1049//5 1056//108 1048//72 +f 1047//4 1054//109 1046//65 +f 1045//6 1052//110 1044//71 +f 1050//66 1057//111 1049//5 +f 1048//72 1055//2 1047//4 +f 1046//65 1053//112 1045//6 +f 1044//71 1051//113 1043//3 +f 1052//110 1061//118 1060//114 +f 1057//111 1065//115 1064//116 +f 1053//112 1062//117 1061//118 +f 1051//113 1060//114 1059//10 +f 1051//113 1065//115 1058//107 +f 1057//111 1063//119 1056//108 +f 1059//10 1072//120 1065//115 +f 1063//119 1071//121 1070//122 +f 1061//118 1067//123 1060//114 +f 1065//115 1071//121 1064//116 +f 1062//117 1068//124 1061//118 +f 1059//10 1067//123 1066//125 +f 1054//109 1055//2 1062//117 +f 1062//117 1055//2 1069//126 +f 1056//108 1063//119 1055//2 +f 1063//119 1070//122 1055//2 +f 1070//122 1073//1 1055//2 +f 1066//125 1080//12 1072//120 +f 1069//126 1073//1 1077//8 +f 1071//121 1078//7 1070//122 +f 1068//124 1075//13 1067//123 +f 1071//121 1080//12 1079//5 +f 1069//126 1076//6 1068//124 +f 1066//125 1075//13 1074//14 +f 1081//4 1096//127 1088//65 +f 1087//6 1094//128 1086//71 +f 1085//3 1092//129 1084//66 +f 1083//5 1090//130 1082//72 +f 1088//65 1095//131 1087//6 +f 1086//71 1093//9 1085//3 +f 1084//66 1091//132 1083//5 +f 1082//72 1089//133 1081//4 +f 1091//132 1098//134 1090//130 +f 1096//127 1102//135 1095//131 +f 1092//129 1099//136 1091//132 +f 1089//133 1098//134 1097//11 +f 1096//127 1097//11 1103//137 +f 1094//128 1102//135 1101//138 +f 1097//11 1110//139 1103//137 +f 1101//138 1109//140 1108//141 +f 1099//136 1105//142 1098//134 +f 1102//135 1110//139 1109//140 +f 1100//143 1106//144 1099//136 +f 1097//11 1105//142 1104//145 +f 1092//129 1093//9 1100//143 +f 1100//143 1093//9 1107//146 +f 1094//128 1101//138 1093//9 +f 1101//138 1108//141 1093//9 +f 1108//141 1111//1 1093//9 +f 1104//145 1118//13 1110//139 +f 1107//146 1111//1 1115//7 +f 1109//140 1116//8 1108//141 +f 1106//144 1113//12 1105//142 +f 1109//140 1118//13 1117//6 +f 1107//146 1114//5 1106//144 +f 1104//145 1113//12 1112//14 +f 1119//4 1134//127 1126//65 +f 1125//6 1132//128 1124//71 +f 1123//3 1130//129 1122//66 +f 1121//5 1128//130 1120//72 +f 1126//65 1133//131 1125//6 +f 1124//71 1131//9 1123//3 +f 1122//66 1129//132 1121//5 +f 1120//72 1127//133 1119//4 +f 1129//132 1136//134 1128//130 +f 1133//131 1141//137 1140//135 +f 1129//132 1138//143 1137//136 +f 1127//133 1136//134 1135//11 +f 1127//133 1141//137 1134//127 +f 1133//131 1139//138 1132//128 +f 1135//11 1148//139 1141//137 +f 1139//138 1147//140 1146//141 +f 1137//136 1143//142 1136//134 +f 1141//137 1147//140 1140//135 +f 1138//143 1144//144 1137//136 +f 1135//11 1143//142 1142//145 +f 1130//129 1131//9 1138//143 +f 1138//143 1131//9 1145//146 +f 1132//128 1139//138 1131//9 +f 1139//138 1146//141 1131//9 +f 1146//141 1149//1 1131//9 +f 1142//145 1156//13 1148//139 +f 1145//146 1149//1 1153//7 +f 1147//140 1154//8 1146//141 +f 1144//144 1151//12 1143//142 +f 1147//140 1156//13 1155//6 +f 1145//146 1152//5 1144//144 +f 1142//145 1151//12 1150//14 +f 1157//6 1172//147 1164//71 +f 1163//3 1170//148 1162//66 +f 1161//5 1168//149 1160//72 +f 1159//4 1166//150 1158//65 +f 1164//71 1171//151 1163//3 +f 1162//66 1169//7 1161//5 +f 1160//72 1167//152 1159//4 +f 1158//65 1165//153 1157//6 +f 1166//150 1175//154 1174//155 +f 1172//147 1178//156 1171//151 +f 1167//152 1176//157 1175//154 +f 1165//153 1174//155 1173//13 +f 1165//153 1179//158 1172//147 +f 1171//151 1177//159 1170//148 +f 1173//13 1186//160 1179//158 +f 1177//159 1185//161 1184//162 +f 1175//154 1181//163 1174//155 +f 1179//158 1185//161 1178//156 +f 1176//157 1182//164 1175//154 +f 1174//155 1180//165 1173//13 +f 1168//149 1169//7 1176//157 +f 1176//157 1169//7 1183//166 +f 1170//148 1177//159 1169//7 +f 1177//159 1184//162 1169//7 +f 1184//162 1187//1 1169//7 +f 1180//165 1194//10 1186//160 +f 1183//166 1187//1 1191//2 +f 1185//161 1192//9 1184//162 +f 1182//164 1189//11 1181//163 +f 1186//160 1193//3 1185//161 +f 1183//166 1190//4 1182//164 +f 1180//165 1189//11 1188//14 +f 1195//6 1210//147 1202//71 +f 1201//3 1208//148 1200//66 +f 1199//5 1206//149 1198//72 +f 1197//4 1204//150 1196//65 +f 1202//71 1209//151 1201//3 +f 1200//66 1207//7 1199//5 +f 1198//72 1205//152 1197//4 +f 1196//65 1203//153 1195//6 +f 1205//152 1212//155 1204//150 +f 1209//151 1217//167 1216//156 +f 1205//152 1214//157 1213//154 +f 1203//153 1212//155 1211//13 +f 1203//153 1217//167 1210//147 +f 1208//148 1216//156 1215//159 +f 1211//13 1224//160 1217//167 +f 1216//156 1222//162 1215//159 +f 1212//155 1220//164 1219//163 +f 1217//167 1223//161 1216//156 +f 1214//157 1220//164 1213//154 +f 1212//155 1218//165 1211//13 +f 1206//149 1207//7 1214//157 +f 1214//157 1207//7 1221//166 +f 1208//148 1215//159 1207//7 +f 1215//159 1222//162 1207//7 +f 1222//162 1225//1 1207//7 +f 1218//165 1232//10 1224//160 +f 1207//7 1229//2 1221//166 +f 1222//162 1231//3 1230//9 +f 1220//164 1227//11 1219//163 +f 1223//161 1232//10 1231//3 +f 1220//164 1229//2 1228//4 +f 1218//165 1227//11 1226//14 +f 1233//5 1248//168 1240//72 +f 1239//4 1246//169 1238//65 +f 1237//6 1244//170 1236//71 +f 1235//3 1242//171 1234//66 +f 1240//72 1247//172 1239//4 +f 1238//65 1245//8 1237//6 +f 1236//71 1243//173 1235//3 +f 1234//66 1241//174 1233//5 +f 1243//173 1250//175 1242//171 +f 1248//168 1254//176 1247//172 +f 1243//173 1252//177 1251//178 +f 1242//171 1249//12 1241//174 +f 1241//174 1255//179 1248//168 +f 1246//169 1254//176 1253//180 +f 1249//12 1262//181 1255//179 +f 1253//180 1261//182 1260//183 +f 1250//175 1258//184 1257//185 +f 1254//176 1262//181 1261//182 +f 1252//177 1258//184 1251//178 +f 1249//12 1257//185 1256//186 +f 1244//170 1245//8 1252//177 +f 1252//177 1245//8 1259//187 +f 1246//169 1253//180 1245//8 +f 1253//180 1260//183 1245//8 +f 1260//183 1263//1 1245//8 +f 1256//186 1270//11 1262//181 +f 1245//8 1267//9 1259//187 +f 1260//183 1269//4 1268//2 +f 1258//184 1265//10 1257//185 +f 1261//182 1270//11 1269//4 +f 1259//187 1266//3 1258//184 +f 1256//186 1265//10 1264//14 +f 1271//5 1286//168 1278//72 +f 1277//4 1284//169 1276//65 +f 1275//6 1282//170 1274//71 +f 1273//3 1280//171 1272//66 +f 1278//72 1285//172 1277//4 +f 1276//65 1283//8 1275//6 +f 1274//71 1281//173 1273//3 +f 1272//66 1279//174 1271//5 +f 1280//171 1289//178 1288//175 +f 1285//172 1293//188 1292//176 +f 1282//170 1289//178 1281//173 +f 1279//174 1288//175 1287//12 +f 1279//174 1293//188 1286//168 +f 1285//172 1291//180 1284//169 +f 1287//12 1300//181 1293//188 +f 1291//180 1299//182 1298//183 +f 1288//175 1296//184 1295//185 +f 1292//176 1300//181 1299//182 +f 1290//177 1296//184 1289//178 +f 1287//12 1295//185 1294//186 +f 1282//170 1283//8 1290//177 +f 1290//177 1283//8 1297//187 +f 1284//169 1291//180 1283//8 +f 1291//180 1298//183 1283//8 +f 1298//183 1301//1 1283//8 +f 1294//186 1308//11 1300//181 +f 1297//187 1301//1 1305//9 +f 1299//182 1306//2 1298//183 +f 1296//184 1303//10 1295//185 +f 1299//182 1308//11 1307//4 +f 1297//187 1304//3 1296//184 +f 1294//186 1303//10 1302//14 +f 210//63 226//63 225//6 +f 218//64 234//64 233//5 +f 211//65 227//65 226//63 +f 219//66 235//66 234//64 +f 212//67 228//67 227//65 +f 220//68 236//68 235//66 +f 213//4 229//4 228//67 +f 206//69 222//69 221//3 +f 205//3 221//3 236//68 +f 214//70 230//70 229//4 +f 207//71 223//71 222//69 +f 215//72 231//72 230//70 +f 208//73 224//73 223//71 +f 216//74 232//74 231//72 +f 209//6 225//6 224//73 +f 217//5 233//5 232//74 +f 244//67 260//67 259//65 +f 252//68 268//68 267//66 +f 245//4 261//4 260//67 +f 238//69 254//69 253//3 +f 237//3 253//3 268//68 +f 246//70 262//70 261//4 +f 239//71 255//71 254//69 +f 247//72 263//72 262//70 +f 240//73 256//73 255//71 +f 248//74 264//74 263//72 +f 241//6 257//6 256//73 +f 249//5 265//5 264//74 +f 242//63 258//63 257//6 +f 250//64 266//64 265//5 +f 243//65 259//65 258//63 +f 251//66 267//66 266//64 +f 271//71 287//71 286//69 +f 279//72 295//72 294//70 +f 272//73 288//73 287//71 +f 280//74 296//74 295//72 +f 273//6 289//6 288//73 +f 281//5 297//5 296//74 +f 274//63 290//63 289//6 +f 282//64 298//64 297//5 +f 275//65 291//65 290//63 +f 283//66 299//66 298//64 +f 276//67 292//67 291//65 +f 284//68 300//68 299//66 +f 277//4 293//4 292//67 +f 270//69 286//69 285//3 +f 269//3 285//3 300//68 +f 278//70 294//70 293//4 +f 308//67 324//67 323//65 +f 316//68 332//68 331//66 +f 309//4 325//4 324//67 +f 302//69 318//69 317//3 +f 301//3 317//3 332//68 +f 310//70 326//70 325//4 +f 303//71 319//71 318//69 +f 311//72 327//72 326//70 +f 304//73 320//73 319//71 +f 312//74 328//74 327//72 +f 305//6 321//6 320//73 +f 313//5 329//5 328//74 +f 306//63 322//63 321//6 +f 314//64 330//64 329//5 +f 307//65 323//65 322//63 +f 315//66 331//66 330//64 +f 335//71 351//71 350//69 +f 343//72 359//72 358//70 +f 336//73 352//73 351//71 +f 344//74 360//74 359//72 +f 337//6 353//6 352//73 +f 345//5 361//5 360//74 +f 338//63 354//63 353//6 +f 346//64 362//64 361//5 +f 339//65 355//65 354//63 +f 347//66 363//66 362//64 +f 340//67 356//67 355//65 +f 348//68 364//68 363//66 +f 341//4 357//4 356//67 +f 334//69 350//69 349//3 +f 333//3 349//3 364//68 +f 342//70 358//70 357//4 +f 375//71 391//71 390//69 +f 368//74 384//74 383//72 +f 376//73 392//73 391//71 +f 369//5 385//5 384//74 +f 377//6 393//6 392//73 +f 370//64 386//64 385//5 +f 378//63 394//63 393//6 +f 371//66 387//66 386//64 +f 379//65 395//65 394//63 +f 372//68 388//68 387//66 +f 380//67 396//67 395//65 +f 373//3 389//3 388//68 +f 366//70 382//70 381//4 +f 365//4 381//4 396//67 +f 374//69 390//69 389//3 +f 367//72 383//72 382//70 +f 399//75 400//76 208//76 +f 400//76 401//77 209//77 +f 209//77 401//77 402//78 +f 402//78 403//79 211//79 +f 403//79 404//80 212//80 +f 404//80 405//81 213//81 +f 405//81 406//82 214//82 +f 406//82 407//83 215//83 +f 407//83 408//84 216//84 +f 408//84 409//85 217//85 +f 409//85 410//86 218//86 +f 218//86 410//86 411//87 +f 411//87 412//88 220//88 +f 412//88 397//89 205//89 +f 397//89 398//90 206//90 +f 206//90 398//90 399//75 +f 480//91 496//91 495//92 +f 481//93 497//93 496//91 +f 482//94 498//94 497//93 +f 483//95 499//95 498//94 +f 484//96 500//96 499//95 +f 485//97 501//97 500//96 +f 486//98 502//98 501//97 +f 486//98 487//99 503//99 +f 488//100 504//100 503//99 +f 489//101 505//101 504//100 +f 490//102 506//102 505//101 +f 491//103 507//103 506//102 +f 492//104 508//104 507//103 +f 477//105 493//105 508//104 +f 478//106 494//106 493//105 +f 478//106 479//92 495//92 +f 526//70 542//70 541//4 +f 525//4 541//4 556//67 +f 534//69 550//69 549//3 +f 527//72 543//72 542//70 +f 535//71 551//71 550//69 +f 528//74 544//74 543//72 +f 536//73 552//73 551//71 +f 529//5 545//5 544//74 +f 537//6 553//6 552//73 +f 530//64 546//64 545//5 +f 538//63 554//63 553//6 +f 531//66 547//66 546//64 +f 539//65 555//65 554//63 +f 532//68 548//68 547//66 +f 540//67 556//67 555//65 +f 533//3 549//3 548//68 +f 568//74 584//74 583//72 +f 561//6 577//6 576//73 +f 569//5 585//5 584//74 +f 562//63 578//63 577//6 +f 570//64 586//64 585//5 +f 563//65 579//65 578//63 +f 571//66 587//66 586//64 +f 564//67 580//67 579//65 +f 572//68 588//68 587//66 +f 565//4 581//4 580//67 +f 558//69 574//69 573//3 +f 557//3 573//3 588//68 +f 566//70 582//70 581//4 +f 559//71 575//71 574//69 +f 567//72 583//72 582//70 +f 560//73 576//73 575//71 +f 600//74 616//74 615//72 +f 593//6 609//6 608//73 +f 601//5 617//5 616//74 +f 594//63 610//63 609//6 +f 602//64 618//64 617//5 +f 595//65 611//65 610//63 +f 603//66 619//66 618//64 +f 596//67 612//67 611//65 +f 604//68 620//68 619//66 +f 597//4 613//4 612//67 +f 590//69 606//69 605//3 +f 589//3 605//3 620//68 +f 598//70 614//70 613//4 +f 591//71 607//71 606//69 +f 599//72 615//72 614//70 +f 592//73 608//73 607//71 +f 632//74 648//74 647//72 +f 625//6 641//6 640//73 +f 633//5 649//5 648//74 +f 626//63 642//63 641//6 +f 634//64 650//64 649//5 +f 627//65 643//65 642//63 +f 635//66 651//66 650//64 +f 628//67 644//67 643//65 +f 636//68 652//68 651//66 +f 629//4 645//4 644//67 +f 622//69 638//69 637//3 +f 621//3 637//3 652//68 +f 630//70 646//70 645//4 +f 623//71 639//71 638//69 +f 631//72 647//72 646//70 +f 624//73 640//73 639//71 +f 668//68 684//68 683//66 +f 661//4 677//4 676//67 +f 654//69 670//69 669//3 +f 653//3 669//3 684//68 +f 662//70 678//70 677//4 +f 655//71 671//71 670//69 +f 663//72 679//72 678//70 +f 656//73 672//73 671//71 +f 664//74 680//74 679//72 +f 657//6 673//6 672//73 +f 665//5 681//5 680//74 +f 658//63 674//63 673//6 +f 666//64 682//64 681//5 +f 659//65 675//65 674//63 +f 667//66 683//66 682//64 +f 660//67 676//67 675//65 +f 689//5 705//5 704//74 +f 697//6 713//6 712//73 +f 690//64 706//64 705//5 +f 698//63 714//63 713//6 +f 691//66 707//66 706//64 +f 699//65 715//65 714//63 +f 692//68 708//68 707//66 +f 700//67 716//67 715//65 +f 693//3 709//3 708//68 +f 686//70 702//70 701//4 +f 685//4 701//4 716//67 +f 694//69 710//69 709//3 +f 687//72 703//72 702//70 +f 695//71 711//71 710//69 +f 688//74 704//74 703//72 +f 696//73 712//73 711//71 +f 839//72 855//72 854//70 +f 832//73 848//73 847//71 +f 840//74 856//74 855//72 +f 833//6 849//6 848//73 +f 841//5 857//5 856//74 +f 834//63 850//63 849//6 +f 842//64 858//64 857//5 +f 835//65 851//65 850//63 +f 843//66 859//66 858//64 +f 836//67 852//67 851//65 +f 844//68 860//68 859//66 +f 837//4 853//4 852//67 +f 830//69 846//69 845//3 +f 829//3 845//3 860//68 +f 838//70 854//70 853//4 +f 831//71 847//71 846//69 +f 873//6 973//6 972//73 +f 866//64 966//64 965//5 +f 874//63 974//63 973//6 +f 867//66 967//66 966//64 +f 875//65 975//65 974//63 +f 868//68 968//68 967//66 +f 876//67 976//67 975//65 +f 869//3 969//3 968//68 +f 862//70 962//70 961//4 +f 861//4 961//4 976//67 +f 870//69 970//69 969//3 +f 863//72 963//72 962//70 +f 871//71 971//71 970//69 +f 864//74 964//74 963//72 +f 872//73 972//73 971//71 +f 865//5 965//5 964//74 +f 1005//3 1013//113 1020//107 +f 1011//5 1019//111 1018//108 +f 1009//4 1017//2 1016//109 +f 1007//6 1015//112 1014//110 +f 1012//66 1020//107 1019//111 +f 1010//72 1018//108 1017//2 +f 1008//65 1016//109 1015//112 +f 1006//71 1014//110 1013//113 +f 1015//112 1023//118 1022//114 +f 1019//111 1020//107 1027//115 +f 1015//112 1016//109 1024//117 +f 1013//113 1014//110 1022//114 +f 1013//113 1021//10 1027//115 +f 1018//108 1019//111 1026//116 +f 1021//10 1028//125 1034//120 +f 1025//119 1026//116 1033//121 +f 1023//118 1030//124 1029//123 +f 1026//116 1027//115 1034//120 +f 1024//117 1031//126 1030//124 +f 1021//10 1022//114 1029//123 +f 1032//122 1040//7 1035//1 +f 1028//125 1036//14 1042//12 +f 1031//126 1017//2 1035//1 +f 1033//121 1041//5 1040//7 +f 1030//124 1038//6 1037//13 +f 1033//121 1034//120 1042//12 +f 1031//126 1039//8 1038//6 +f 1028//125 1029//123 1037//13 +f 1043//3 1051//113 1058//107 +f 1049//5 1057//111 1056//108 +f 1047//4 1055//2 1054//109 +f 1045//6 1053//112 1052//110 +f 1050//66 1058//107 1057//111 +f 1048//72 1056//108 1055//2 +f 1046//65 1054//109 1053//112 +f 1044//71 1052//110 1051//113 +f 1052//110 1053//112 1061//118 +f 1057//111 1058//107 1065//115 +f 1053//112 1054//109 1062//117 +f 1051//113 1052//110 1060//114 +f 1051//113 1059//10 1065//115 +f 1057//111 1064//116 1063//119 +f 1059//10 1066//125 1072//120 +f 1063//119 1064//116 1071//121 +f 1061//118 1068//124 1067//123 +f 1065//115 1072//120 1071//121 +f 1062//117 1069//126 1068//124 +f 1059//10 1060//114 1067//123 +f 1070//122 1078//7 1073//1 +f 1066//125 1074//14 1080//12 +f 1069//126 1055//2 1073//1 +f 1071//121 1079//5 1078//7 +f 1068//124 1076//6 1075//13 +f 1071//121 1072//120 1080//12 +f 1069//126 1077//8 1076//6 +f 1066//125 1067//123 1075//13 +f 1081//4 1089//133 1096//127 +f 1087//6 1095//131 1094//128 +f 1085//3 1093//9 1092//129 +f 1083//5 1091//132 1090//130 +f 1088//65 1096//127 1095//131 +f 1086//71 1094//128 1093//9 +f 1084//66 1092//129 1091//132 +f 1082//72 1090//130 1089//133 +f 1091//132 1099//136 1098//134 +f 1096//127 1103//137 1102//135 +f 1092//129 1100//143 1099//136 +f 1089//133 1090//130 1098//134 +f 1096//127 1089//133 1097//11 +f 1094//128 1095//131 1102//135 +f 1097//11 1104//145 1110//139 +f 1101//138 1102//135 1109//140 +f 1099//136 1106//144 1105//142 +f 1102//135 1103//137 1110//139 +f 1100//143 1107//146 1106//144 +f 1097//11 1098//134 1105//142 +f 1108//141 1116//8 1111//1 +f 1104//145 1112//14 1118//13 +f 1107//146 1093//9 1111//1 +f 1109//140 1117//6 1116//8 +f 1106//144 1114//5 1113//12 +f 1109//140 1110//139 1118//13 +f 1107//146 1115//7 1114//5 +f 1104//145 1105//142 1113//12 +f 1119//4 1127//133 1134//127 +f 1125//6 1133//131 1132//128 +f 1123//3 1131//9 1130//129 +f 1121//5 1129//132 1128//130 +f 1126//65 1134//127 1133//131 +f 1124//71 1132//128 1131//9 +f 1122//66 1130//129 1129//132 +f 1120//72 1128//130 1127//133 +f 1129//132 1137//136 1136//134 +f 1133//131 1134//127 1141//137 +f 1129//132 1130//129 1138//143 +f 1127//133 1128//130 1136//134 +f 1127//133 1135//11 1141//137 +f 1133//131 1140//135 1139//138 +f 1135//11 1142//145 1148//139 +f 1139//138 1140//135 1147//140 +f 1137//136 1144//144 1143//142 +f 1141//137 1148//139 1147//140 +f 1138//143 1145//146 1144//144 +f 1135//11 1136//134 1143//142 +f 1146//141 1154//8 1149//1 +f 1142//145 1150//14 1156//13 +f 1145//146 1131//9 1149//1 +f 1147//140 1155//6 1154//8 +f 1144//144 1152//5 1151//12 +f 1147//140 1148//139 1156//13 +f 1145//146 1153//7 1152//5 +f 1142//145 1143//142 1151//12 +f 1157//6 1165//153 1172//147 +f 1163//3 1171//151 1170//148 +f 1161//5 1169//7 1168//149 +f 1159//4 1167//152 1166//150 +f 1164//71 1172//147 1171//151 +f 1162//66 1170//148 1169//7 +f 1160//72 1168//149 1167//152 +f 1158//65 1166//150 1165//153 +f 1166//150 1167//152 1175//154 +f 1172//147 1179//158 1178//156 +f 1167//152 1168//149 1176//157 +f 1165//153 1166//150 1174//155 +f 1165//153 1173//13 1179//158 +f 1171//151 1178//156 1177//159 +f 1173//13 1180//165 1186//160 +f 1177//159 1178//156 1185//161 +f 1175//154 1182//164 1181//163 +f 1179//158 1186//160 1185//161 +f 1176//157 1183//166 1182//164 +f 1174//155 1181//163 1180//165 +f 1184//162 1192//9 1187//1 +f 1180//165 1188//14 1194//10 +f 1183//166 1169//7 1187//1 +f 1185//161 1193//3 1192//9 +f 1182//164 1190//4 1189//11 +f 1186//160 1194//10 1193//3 +f 1183//166 1191//2 1190//4 +f 1180//165 1181//163 1189//11 +f 1195//6 1203//153 1210//147 +f 1201//3 1209//151 1208//148 +f 1199//5 1207//7 1206//149 +f 1197//4 1205//152 1204//150 +f 1202//71 1210//147 1209//151 +f 1200//66 1208//148 1207//7 +f 1198//72 1206//149 1205//152 +f 1196//65 1204//150 1203//153 +f 1205//152 1213//154 1212//155 +f 1209//151 1210//147 1217//167 +f 1205//152 1206//149 1214//157 +f 1203//153 1204//150 1212//155 +f 1203//153 1211//13 1217//167 +f 1208//148 1209//151 1216//156 +f 1211//13 1218//165 1224//160 +f 1216//156 1223//161 1222//162 +f 1212//155 1213//154 1220//164 +f 1217//167 1224//160 1223//161 +f 1214//157 1221//166 1220//164 +f 1212//155 1219//163 1218//165 +f 1222//162 1230//9 1225//1 +f 1218//165 1226//14 1232//10 +f 1207//7 1225//1 1229//2 +f 1222//162 1223//161 1231//3 +f 1220//164 1228//4 1227//11 +f 1223//161 1224//160 1232//10 +f 1220//164 1221//166 1229//2 +f 1218//165 1219//163 1227//11 +f 1233//5 1241//174 1248//168 +f 1239//4 1247//172 1246//169 +f 1237//6 1245//8 1244//170 +f 1235//3 1243//173 1242//171 +f 1240//72 1248//168 1247//172 +f 1238//65 1246//169 1245//8 +f 1236//71 1244//170 1243//173 +f 1234//66 1242//171 1241//174 +f 1243//173 1251//178 1250//175 +f 1248//168 1255//179 1254//176 +f 1243//173 1244//170 1252//177 +f 1242//171 1250//175 1249//12 +f 1241//174 1249//12 1255//179 +f 1246//169 1247//172 1254//176 +f 1249//12 1256//186 1262//181 +f 1253//180 1254//176 1261//182 +f 1250//175 1251//178 1258//184 +f 1254//176 1255//179 1262//181 +f 1252//177 1259//187 1258//184 +f 1249//12 1250//175 1257//185 +f 1260//183 1268//2 1263//1 +f 1256//186 1264//14 1270//11 +f 1245//8 1263//1 1267//9 +f 1260//183 1261//182 1269//4 +f 1258//184 1266//3 1265//10 +f 1261//182 1262//181 1270//11 +f 1259//187 1267//9 1266//3 +f 1256//186 1257//185 1265//10 +f 1271//5 1279//174 1286//168 +f 1277//4 1285//172 1284//169 +f 1275//6 1283//8 1282//170 +f 1273//3 1281//173 1280//171 +f 1278//72 1286//168 1285//172 +f 1276//65 1284//169 1283//8 +f 1274//71 1282//170 1281//173 +f 1272//66 1280//171 1279//174 +f 1280//171 1281//173 1289//178 +f 1285//172 1286//168 1293//188 +f 1282//170 1290//177 1289//178 +f 1279//174 1280//171 1288//175 +f 1279//174 1287//12 1293//188 +f 1285//172 1292//176 1291//180 +f 1287//12 1294//186 1300//181 +f 1291//180 1292//176 1299//182 +f 1288//175 1289//178 1296//184 +f 1292//176 1293//188 1300//181 +f 1290//177 1297//187 1296//184 +f 1287//12 1288//175 1295//185 +f 1298//183 1306//2 1301//1 +f 1294//186 1302//14 1308//11 +f 1297//187 1283//8 1301//1 +f 1299//182 1307//4 1306//2 +f 1296//184 1304//3 1303//10 +f 1299//182 1300//181 1308//11 +f 1297//187 1305//9 1304//3 +f 1294//186 1295//185 1303//10 From a0cb8aedd8eb49729480c19de1da0599a95a98f6 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 26 Apr 2023 10:55:11 +0200 Subject: [PATCH 046/285] C18H24O2 --- src/main/java/com/hbm/inventory/fluid/Fluids.java | 13 ++++++++++++- .../inventory/recipes/CrystallizerRecipes.java | 7 ++++--- .../hbm/inventory/recipes/FractionRecipes.java | 1 + .../com/hbm/inventory/recipes/MixerRecipes.java | 3 +++ .../hbm/inventory/recipes/ReformingRecipes.java | 5 +++++ .../inventory/recipes/SolidificationRecipes.java | 3 ++- src/main/java/com/hbm/items/ItemEnums.java | 3 ++- src/main/java/com/hbm/items/ModItems.java | 3 +++ src/main/java/com/hbm/items/food/ItemPill.java | 4 ++++ src/main/resources/assets/hbm/lang/de_DE.lang | 5 +++++ src/main/resources/assets/hbm/lang/en_US.lang | 5 +++++ .../hbm/textures/gui/fluids/cholesterol.png | Bin 0 -> 556 bytes .../assets/hbm/textures/gui/fluids/egg.png | Bin 0 -> 554 bytes .../assets/hbm/textures/gui/fluids/estradiol.png | Bin 0 -> 554 bytes .../hbm/textures/items/oil_tar.paraffin.png | Bin 0 -> 287 bytes .../assets/hbm/textures/items/pill_red.png | Bin 0 -> 214 bytes 16 files changed, 46 insertions(+), 6 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/cholesterol.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/egg.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/estradiol.png create mode 100644 src/main/resources/assets/hbm/textures/items/oil_tar.paraffin.png create mode 100644 src/main/resources/assets/hbm/textures/items/pill_red.png diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index 2ed87dda4..56f31fabc 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -7,6 +7,7 @@ import java.util.List; import com.hbm.inventory.fluid.trait.*; import com.hbm.inventory.fluid.trait.FluidTraitSimple.*; import com.hbm.lib.ModDamageSource; +import com.hbm.potion.HbmPotion; import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade; import com.hbm.inventory.fluid.trait.FT_Coolable.CoolingType; import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingType; @@ -126,6 +127,9 @@ public class Fluids { public static FluidType OIL_COKER; //heavy fractions from coking, mostly bitumen public static FluidType NAPHTHA_COKER; //medium fractions from coking, aromatics and fuel oil public static FluidType GAS_COKER; //light fractions from coking, natgas and co2 + public static FluidType EGG; + public static FluidType CHOLESTEROL; + public static FluidType ESTRADIOL; private static final HashMap idMapping = new HashMap(); private static final HashMap nameMapping = new HashMap(); @@ -263,7 +267,10 @@ public class Fluids { IONGEL = new FluidType("IONGEL", 0xB8FFFF, 1, 0, 4, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); OIL_COKER = new FluidType("OIL_COKER", 0x001802, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); NAPHTHA_COKER = new FluidType("NAPHTHA_COKER", 0x495944, 2, 1, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS); - GAS_COKER = new FluidType(106, "GAS_COKER", 0xDEF4CA, 1, 4, 0, EnumSymbol.NONE).addTraits(GASEOUS); + GAS_COKER = new FluidType("GAS_COKER", 0xDEF4CA, 1, 4, 0, EnumSymbol.NONE).addTraits(GASEOUS); + EGG = new FluidType("EGG", 0xD2C273, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); + CHOLESTEROL = new FluidType("CHOLESTEROL", 0xD6D2BD, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); + ESTRADIOL = new FluidType(109, "ESTRADIOL", 0xCDD5D8, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); // ^ ^ ^ ^ ^ ^ ^ ^ //ADD NEW FLUIDS HERE @@ -369,11 +376,14 @@ public class Fluids { metaOrder.add(PAIN); metaOrder.add(DEATH); metaOrder.add(WATZ); + metaOrder.add(EGG); + metaOrder.add(CHOLESTEROL); //solutions and working fluids metaOrder.add(FRACKSOL); //the fun guys metaOrder.add(PHOSGENE); metaOrder.add(MUSTARDGAS); + metaOrder.add(ESTRADIOL); //antimatter metaOrder.add(AMAT); metaOrder.add(ASCHRAB); @@ -395,6 +405,7 @@ public class Fluids { PHOSGENE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 20, HazardClass.GAS_CHLORINE, false))); MUSTARDGAS.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 10, HazardClass.GAS_CORROSIVE, false)) .addEntry(new ToxinEffects(HazardClass.GAS_CORROSIVE, true).add(new PotionEffect(Potion.wither.id, 100, 1), new PotionEffect(Potion.confusion.id, 100, 0)))); + ESTRADIOL.addTraits(new FT_Toxin().addEntry(new ToxinEffects(HazardClass.PARTICLE_FINE, false).add(new PotionEffect(HbmPotion.mutation.id, 60 * 60 * 20, 0)))); double eff_steam_boil = 1.0D; double eff_steam_heatex = 0.25D; diff --git a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java index 070e9f221..25ce76168 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java @@ -134,9 +134,10 @@ public class CrystallizerRecipes extends SerializableRecipe { registerRecipe(CU.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.GREEN, 4), 20), woodOil); registerRecipe(CO.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLUE, 4), 20), woodOil); - 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)); - registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK)), new CrystallizerRecipe(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WAX), 20), new FluidStack(Fluids.CHLORINE, 100)); - registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WAX)), new CrystallizerRecipe(new ItemStack(ModItems.pellet_charged), 200), new FluidStack(Fluids.IONGEL, 500)); + 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)); + registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK)), new CrystallizerRecipe(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WAX), 20), new FluidStack(Fluids.CHLORINE, 100)); + registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WAX)), new CrystallizerRecipe(new ItemStack(ModItems.pellet_charged), 200), new FluidStack(Fluids.IONGEL, 500)); + registerRecipe(new ComparableStack(ModItems.pill_red), new CrystallizerRecipe(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.PARAFFIN), 200), new FluidStack(Fluids.ESTRADIOL, 250)); registerRecipe(KEY_SAND, new CrystallizerRecipe(Blocks.clay, 20), new FluidStack(Fluids.COLLOID, 1_000)); diff --git a/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java b/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java index 95e8a5f86..73a04b10b 100644 --- a/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java @@ -59,6 +59,7 @@ public class FractionRecipes extends SerializableRecipe { fractions.put(Fluids.REFORMATE, new Pair(new FluidStack(Fluids.AROMATICS, reform_frac_arom), new FluidStack(Fluids.XYLENE, reform_frac_xyle))); fractions.put(Fluids.LIGHTOIL_VACUUM, new Pair(new FluidStack(Fluids.KEROSENE, lvac_frac_kero), new FluidStack(Fluids.REFORMGAS, lvac_frac_gas))); fractions.put(Fluids.SOURGAS, new Pair(new FluidStack(Fluids.GAS, 30), new FluidStack(Fluids.PETROLEUM, 20))); + fractions.put(Fluids.EGG, new Pair(new FluidStack(Fluids.CHOLESTEROL, 50), new FluidStack(Fluids.RADIOSOLVENT, 50))); } public static Pair getFractions(FluidType oil) { diff --git a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java index bd29e55bf..9e79c597a 100644 --- a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java @@ -21,6 +21,8 @@ import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemFluidIcon; +import net.minecraft.init.Items; + public class MixerRecipes extends SerializableRecipe { public static HashMap recipes = new HashMap(); @@ -37,6 +39,7 @@ public class MixerRecipes extends SerializableRecipe { recipes.put(Fluids.PHOSGENE, new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.UNSATURATEDS, 500)).setStack2(new FluidStack(Fluids.CHLORINE, 500))); recipes.put(Fluids.MUSTARDGAS, new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.REFORMGAS, 750)).setStack2(new FluidStack(Fluids.CHLORINE, 250)).setSolid(new OreDictStack(S.dust()))); recipes.put(Fluids.IONGEL, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.WATER, 1000)).setStack2(new FluidStack(Fluids.HYDROGEN, 200)).setSolid(new ComparableStack(ModItems.pellet_charged))); + recipes.put(Fluids.EGG, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.RADIOSOLVENT, 500)).setSolid(new ComparableStack(Items.egg))); recipes.put(Fluids.SOLVENT, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500))); recipes.put(Fluids.SULFURIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.ACID, 800)).setSolid(new OreDictStack(S.dust()))); diff --git a/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java b/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java index 5d0b047aa..238e5bca9 100644 --- a/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ReformingRecipes.java @@ -42,6 +42,11 @@ public class ReformingRecipes extends SerializableRecipe { new FluidStack(Fluids.PETROLEUM, 10), new FluidStack(Fluids.HYDROGEN, 15) )); + recipes.put(Fluids.CHOLESTEROL, new Triplet( + new FluidStack(Fluids.ESTRADIOL, 50), + new FluidStack(Fluids.REFORMGAS, 35), + new FluidStack(Fluids.HYDROGEN, 15) + )); } public static Triplet getOutput(FluidType type) { diff --git a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java index 4288e9022..38f618aea 100644 --- a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java @@ -35,7 +35,7 @@ public class SolidificationRecipes extends SerializableRecipe { public static final int SF_HEATING = 50; public static final int SF_RECLAIMED = 100; public static final int SF_PETROIL = 125; - public static final int SF_LUBE = 125; + public static final int SF_LUBE = 100; public static final int SF_NAPH = 150; public static final int SF_DIESEL = 200; public static final int SF_LIGHT = 225; @@ -76,6 +76,7 @@ public class SolidificationRecipes extends SerializableRecipe { registerRecipe(BITUMEN, SF_BITUMEN, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE)); registerRecipe(COALCREOSOTE, SF_CREOSOTE, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.COAL)); registerRecipe(WOODOIL, SF_WOOD, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WOOD)); + registerRecipe(LUBRICANT, SF_LUBE, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.PARAFFIN)); registerRecipe(BALEFIRE, 250, ModItems.solid_fuel_bf); diff --git a/src/main/java/com/hbm/items/ItemEnums.java b/src/main/java/com/hbm/items/ItemEnums.java index 5db68070c..a15664ddb 100644 --- a/src/main/java/com/hbm/items/ItemEnums.java +++ b/src/main/java/com/hbm/items/ItemEnums.java @@ -19,7 +19,8 @@ public class ItemEnums { CRACK, COAL, WOOD, - WAX + WAX, + PARAFFIN } public static enum EnumBriquetteType { diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index fbfec83a4..7912a792e 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -949,6 +949,7 @@ public class ModItems { 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; @@ -3312,6 +3313,7 @@ public class ModItems { 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"); @@ -7448,6 +7450,7 @@ public class ModItems { 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()); diff --git a/src/main/java/com/hbm/items/food/ItemPill.java b/src/main/java/com/hbm/items/food/ItemPill.java index 6ec669491..aaff954f7 100644 --- a/src/main/java/com/hbm/items/food/ItemPill.java +++ b/src/main/java/com/hbm/items/food/ItemPill.java @@ -50,6 +50,10 @@ public class ItemPill extends ItemFood { player.attackEntityFrom(rand.nextBoolean() ? ModDamageSource.euthanizedSelf : ModDamageSource.euthanizedSelf2, 1000); } + if(this == ModItems.pill_red) { + player.addPotionEffect(new PotionEffect(HbmPotion.mutation.id, 60 * 60 * 20, 0)); + } + if(this == ModItems.radx) { player.addPotionEffect(new PotionEffect(HbmPotion.radx.id, 3 * 60 * 20, 0)); } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 5d91c1250..7ff7136ba 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -601,6 +601,7 @@ hbmfluid.blood=Blut hbmfluid.blood_hot=Heißes Blut hbmfluid.carbondioxide=Kohlenstoffdioxid hbmfluid.chlorine=Chlorgas +hbmfluid.cholesterol=Cholesterinlösung hbmfluid.coalcreosote=Kohleteer-Kreosot hbmfluid.coalgas=Kohlebenzin hbmfluid.coalgas_leaded=Bleikohlebenzin @@ -616,6 +617,8 @@ hbmfluid.diesel=Diesel hbmfluid.diesel_crack=Crackdiesel hbmfluid.diesel_crack_reform=Hochoktan-Diesel hbmfluid.diesel_reform=Hochoktan-Crackdiesel +hbmfluid.egg=Gelöstes Ei +hbmfluid.estradiol=Estradiollösung hbmfluid.ethanol=Ethanol hbmfluid.enderjuice=Endersaft hbmfluid.fracksol=Frackinglösung @@ -2451,6 +2454,7 @@ item.oil_tar.coal.name=Kohleteer item.oil_tar.name=Ölteer item.oil_tar.crude.name=Erdölteer item.oil_tar.crack.name=Crackölteer +item.oil_tar.paraffin.name=Paraffinwachs item.oil_tar.wax.name=Chloriertes Petroleumwachs item.oil_tar.wood.name=Holzteer item.ore.asbestos=Asbest @@ -2558,6 +2562,7 @@ item.pile_rod_source.name=Chicago Pile Ra226Be-Neutronenquelle item.pile_rod_uranium.name=Chicago Pile Uranstab item.pill_iodine.name=Iodpille item.pill_herbal.name=Kräuterpaste +item.pill_red.name=Rote Pille item.pin.name=Haarklammer item.pipes_steel.name=Stahlrohre item.pirfenidone.name=Pirfenidon diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index b88c0bde6..936848957 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1170,6 +1170,7 @@ hbmfluid.blood=Blood hbmfluid.blood_hot=Hot Blood hbmfluid.carbondioxide=Carbon Dioxide hbmfluid.chlorine=Chlorine Gas +hbmfluid.cholesterol=Cholesterol Solution hbmfluid.coalcreosote=Coal Tar Creosote hbmfluid.coalgas=Coal Gasoline hbmfluid.coalgas_leaded=Leaded Coal Gasoline @@ -1185,6 +1186,8 @@ hbmfluid.diesel=Diesel hbmfluid.diesel_crack=Cracked Diesel hbmfluid.diesel_crack_reform=High-Octane Cracked Diesel hbmfluid.diesel_reform=High-Octane Diesel +hbmfluid.egg=Dissolved Egg +hbmfluid.estradiol=Estradiol Solution hbmfluid.ethanol=Ethanol hbmfluid.enderjuice=Ender Juice hbmfluid.fracksol=Fracking Solution @@ -3127,6 +3130,7 @@ item.oil_detector.noOil=No oil detected. item.oil_tar.coal.name=Coal Tar item.oil_tar.crude.name=Oil Tar item.oil_tar.crack.name=Crack Oil Tar +item.oil_tar.paraffin.name=Paraffin Wax item.oil_tar.wax.name=Chlorinated Petroleum Wax item.oil_tar.wood.name=Wood Tar item.ore.asbestos=Asbestos @@ -3269,6 +3273,7 @@ item.pill_iodine.name=Iodine Pill item.pill_iodine.desc=Removes negative effects item.pill_herbal.name=Herbal Paste item.pill_herbal.desc=Effective treatment against lung disease and mild radiation poisoning$Comes with side effects +item.pill_red.name=Red Pill item.pin.name=Bobby Pin item.pin.desc=Standard success rate of picking a regular lock is ~10%%. item.pipes_steel.name=Steel Pipes diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/cholesterol.png b/src/main/resources/assets/hbm/textures/gui/fluids/cholesterol.png new file mode 100644 index 0000000000000000000000000000000000000000..0581aa3b0b8299c6b9364466ef3db698e2bec24e GIT binary patch literal 556 zcmV+{0@MA8P)FDuYYj6agzz|1Rcfv5`wl>i zk#$`OA)u;k+lHz#O%qQ~Pwe|ntrh1SB7!fa45ewB$T^czB7{I|jV^E;2LR4F07@yu z7?Ew;aL#eN-NviudD2=V=ZuIDLcn`Z&UtKAeOM5Y(bjPsqj+6cR230DJ4`DGyB2B%$Vny7$dDUL`1l*3spr`X|3U$Bj=2nah~V!ZDs(Y zeO1MGczvlV^E{JM8k6zfk5K}&)(9bBX82C`|2EF^q?9rkT-P-+kWw0*0Lb(6Gv0er zN-WDVLX=V(Q}EuiEDL7F{eI_uzYi8Z=RDdG5mc2@3eLH~rC)q`dBMymrEs3-qXQA4 zwZ?T_#2AMaGvju<0gU3WuP@%;--$8)7iH(%@YSimzP|GI_C|kvp68K)QVO-!5pl^m zQ)}%rMOFFu_!zYN7@c$U*sCg?olMijzVCz(#<$1%JWoV~bzRx_o#Qxg&S7S>)*hl= urT;tt>$>v&{rw}EAp}AQgHf#&5#cW_s6AN~vTZ8>0000YcTcRxWd_1h4 z2!uhDbnBkF{^$37_OeW$gCa}E)~mr{n(G)?53NhuLRp!d!ta2y8!&N%=|Da06& zZQF3pal75dtF=~o@8p~j5kd%f@5wojt*Q?TA~M=Kj$;(B>x!x(A`c~zVe#|xlMn*i zw&9m$8NfmaqcEj}s$yn8n3x&!JQHK2_l}4N=Xs*4s4Bg8oO9%yF*9nd!?&3MjP_L( zf5E$!sxr?rDWx$P@BJ7hK<}Lp0%nH4=>FeEt(8*BU~r!2$UsVIbOIpH&(C=8Nhz@` z%Lq|QX-vU;&$29-8Tb30`~5yx_?+`-M?_FnN+~$!2AAvN%gYO9Mk$3_>!Sk^q4&;t zp2Qf36*J>@y8(>iudgrO-`|Nb{*AJ8Zuq*WzrMcm_V&j0_&m=e1EmyNYa`;4bEdU+ z%@kGTsZ^x`4S zL?8^Jq+9pY^*_J={QC=_*2-}lOw)vOj#?{yUDpMG_ny`oW=06%ai*%&TG{s$-?B4l8EH?REng#a~}vyuZH_WBf15&bi^MQ-6JZ`ap0W8%xJAWM7v7= sc>vaR<@@{lM>0bQgb)U!S}P*LUxKPVZkC%-zW@LL07*qoM6N<$f*tz;egFUf literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/oil_tar.paraffin.png b/src/main/resources/assets/hbm/textures/items/oil_tar.paraffin.png new file mode 100644 index 0000000000000000000000000000000000000000..4a452460f9e6800efb7727b1ff177989b2a98b81 GIT binary patch literal 287 zcmV+)0pR|LP);>uTp@=mb2r@> zqs_>FZ z4y?6UYwyZRfQabcd#}^SaRi`gn!<$wLI|&EnwaOgaID$VCy5^IwRF+D|Ew lb1p)4o3N+g{5g@op*LALdUV*$8(jbZ002ovPDHLkV1lJ>ci#X2 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/pill_red.png b/src/main/resources/assets/hbm/textures/items/pill_red.png new file mode 100644 index 0000000000000000000000000000000000000000..838c093f7765bdb39e6f55cce3ea475b396984a3 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfEJzp8y=W$&7~)!TRe zDgGkSwsp_?%OROD&DGb}I*K-I%w??5J3Za=u__}==&w199ZD>rlOjd0)O2|V391-Z zZ2z!A%0=+koKB_a=GsSf&8HU3V3=(%vv78L`RZ4XuisL)(^p%h_vQXdZ(g9o7(8A5 KT-G@yGywn_v`y;( literal 0 HcmV?d00001 From 6e8e8cb9c5d24837b4a4ff9c1f72292d576cc3e3 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 26 Apr 2023 16:18:33 +0200 Subject: [PATCH 047/285] coker functionality --- .../java/com/hbm/inventory/fluid/Fluids.java | 2 +- .../hbm/inventory/recipes/CokerRecipes.java | 25 ++-- .../recipes/CrystallizerRecipes.java | 8 +- .../java/com/hbm/items/food/ItemPill.java | 2 +- .../machine/oil/TileEntityMachineCoker.java | 115 +++++++++++++++++- 5 files changed, 138 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index 56f31fabc..bf2ce2575 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -405,7 +405,7 @@ public class Fluids { PHOSGENE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 20, HazardClass.GAS_CHLORINE, false))); MUSTARDGAS.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 10, HazardClass.GAS_CORROSIVE, false)) .addEntry(new ToxinEffects(HazardClass.GAS_CORROSIVE, true).add(new PotionEffect(Potion.wither.id, 100, 1), new PotionEffect(Potion.confusion.id, 100, 0)))); - ESTRADIOL.addTraits(new FT_Toxin().addEntry(new ToxinEffects(HazardClass.PARTICLE_FINE, false).add(new PotionEffect(HbmPotion.mutation.id, 60 * 60 * 20, 0)))); + ESTRADIOL.addTraits(new FT_Toxin().addEntry(new ToxinEffects(HazardClass.PARTICLE_FINE, false).add(new PotionEffect(HbmPotion.death.id, 60 * 60 * 20, 0)))); double eff_steam_boil = 1.0D; double eff_steam_heatex = 0.25D; diff --git a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java index f60ab5044..506ea3f03 100644 --- a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java @@ -75,6 +75,10 @@ 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() { @@ -87,7 +91,10 @@ public class CokerRecipes extends SerializableRecipe { ItemStack out = entry.getValue().getY().copy(); FluidStack byproduct = entry.getValue().getZ(); - 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, 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; @@ -112,8 +119,8 @@ public class CokerRecipes extends SerializableRecipe { public void readRecipe(JsonElement recipe) { JsonObject obj = (JsonObject) recipe; FluidStack in = this.readFluidStack(obj.get("input").getAsJsonArray()); - ItemStack out = this.readItemStack(obj.get("output").getAsJsonArray()); - FluidStack byproduct = this.readFluidStack(obj.get("byproduct").getAsJsonArray()); + ItemStack out = obj.has("output") ? this.readItemStack(obj.get("output").getAsJsonArray()) : null; + FluidStack byproduct = obj.has("byproduct") ? this.readFluidStack(obj.get("byproduct").getAsJsonArray()) : null; recipes.put(in.type, new Triplet(in.fill, out, byproduct)); } @@ -123,9 +130,13 @@ public class CokerRecipes extends SerializableRecipe { FluidStack in = new FluidStack(rec.getKey(), rec.getValue().getX()); writer.name("input"); this.writeFluidStack(in, writer); - writer.name("output"); - this.writeItemStack(rec.getValue().getY(), writer); - writer.name("byproduct"); - this.writeFluidStack(rec.getValue().getZ(), writer); + if(rec.getValue().getY() != null) { + writer.name("output"); + this.writeItemStack(rec.getValue().getY(), writer); + } + if(rec.getValue().getZ() != null) { + writer.name("byproduct"); + this.writeFluidStack(rec.getValue().getZ(), writer); + } } } diff --git a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java index 25ce76168..933a7c970 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java @@ -134,10 +134,10 @@ public class CrystallizerRecipes extends SerializableRecipe { registerRecipe(CU.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.GREEN, 4), 20), woodOil); registerRecipe(CO.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLUE, 4), 20), woodOil); - 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)); - registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK)), new CrystallizerRecipe(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WAX), 20), new FluidStack(Fluids.CHLORINE, 100)); - registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WAX)), new CrystallizerRecipe(new ItemStack(ModItems.pellet_charged), 200), new FluidStack(Fluids.IONGEL, 500)); - registerRecipe(new ComparableStack(ModItems.pill_red), new CrystallizerRecipe(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.PARAFFIN), 200), new FluidStack(Fluids.ESTRADIOL, 250)); + 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)); + registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK)), new CrystallizerRecipe(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WAX), 20), new FluidStack(Fluids.CHLORINE, 100)); + registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WAX)), new CrystallizerRecipe(new ItemStack(ModItems.pellet_charged), 200), new FluidStack(Fluids.IONGEL, 500)); + registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.PARAFFIN)), new CrystallizerRecipe(new ItemStack(ModItems.pill_red), 200), new FluidStack(Fluids.ESTRADIOL, 250)); registerRecipe(KEY_SAND, new CrystallizerRecipe(Blocks.clay, 20), new FluidStack(Fluids.COLLOID, 1_000)); diff --git a/src/main/java/com/hbm/items/food/ItemPill.java b/src/main/java/com/hbm/items/food/ItemPill.java index aaff954f7..3c7508e47 100644 --- a/src/main/java/com/hbm/items/food/ItemPill.java +++ b/src/main/java/com/hbm/items/food/ItemPill.java @@ -51,7 +51,7 @@ public class ItemPill extends ItemFood { } if(this == ModItems.pill_red) { - player.addPotionEffect(new PotionEffect(HbmPotion.mutation.id, 60 * 60 * 20, 0)); + player.addPotionEffect(new PotionEffect(HbmPotion.death.id, 60 * 60 * 20, 0)); } if(this == ModItems.radx) { 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 e4c2b0612..6288195ac 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java @@ -1,29 +1,43 @@ package com.hbm.tileentity.machine.oil; +import com.hbm.inventory.FluidStack; import com.hbm.inventory.container.ContainerMachineCoker; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIMachineCoker; +import com.hbm.inventory.recipes.CokerRecipes; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.Tuple.Triplet; 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 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.world.World; public class TileEntityMachineCoker extends TileEntityMachineBase implements IFluidStandardTransceiver, IGUIProvider { + 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() { super(2); tanks = new FluidTank[2]; tanks[0] = new FluidTank(Fluids.HEAVYOIL, 16_000); - tanks[1] = new FluidTank(Fluids.GAS, 8_000); + tanks[1] = new FluidTank(Fluids.OIL_COKER, 8_000); } @Override @@ -34,6 +48,105 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl @Override public void updateEntity() { + if(!worldObj.isRemote) { + + this.tryPullHeat(); + this.tanks[0].setType(0, slots); + + if(canProcess()) { + int burn = heat / 100; + + if(burn > 0) { + 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(); + } else { + slots[1].stackSize += output.stackSize; + } + } + + if(byproduct != null) { + tanks[1].setFill(tanks[1].getFill() + byproduct.fill); + } + + tanks[0].setFill(tanks[0].getFill() - fillReq); + } + } + } + + NBTTagCompound data = new NBTTagCompound(); + tanks[0].writeToNBT(data, "t0"); + tanks[1].writeToNBT(data, "t1"); + this.networkPack(data, 25); + } + } + + 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() < recipe.getX()) 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) { + tanks[0].readFromNBT(nbt, "t0"); + tanks[1].readFromNBT(nbt, "t1"); + } + + 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); + this.heat += diff; + if(this.heat > this.maxHeat) + this.heat = this.maxHeat; + return; + } + } + + this.heat = Math.max(this.heat - Math.max(this.heat / 1000, 1), 0); } @Override From aadd7c548d06629950bea0523f67eb2dd47dfcdc Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 26 Apr 2023 23:24:03 +0200 Subject: [PATCH 048/285] fluid port fixes --- src/main/java/com/hbm/inventory/OreDictManager.java | 1 + .../com/hbm/tileentity/machine/TileEntityMachineMixer.java | 4 ++-- .../machine/oil/TileEntityMachineCatalyticReformer.java | 4 ++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 8bd6b507a..fb39122a5 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -553,6 +553,7 @@ public class OreDictManager { OreDictionary.registerOre("dyeGray", fromOne(oil_tar, EnumTarType.COAL)); OreDictionary.registerOre("dyeBrown", fromOne(oil_tar, EnumTarType.WOOD)); OreDictionary.registerOre("dyeCyan", fromOne(oil_tar, EnumTarType.WAX)); + OreDictionary.registerOre("dyeWhite", fromOne(oil_tar, EnumTarType.PARAFFIN)); OreDictionary.registerOre("dye", new ItemStack(oil_tar, 1, OreDictionary.WILDCARD_VALUE)); OreDictionary.registerOre("dyeOrange", powder_cadmium); OreDictionary.registerOre("dye", powder_cadmium); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java index 96e338e2a..d92976d5f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java @@ -185,9 +185,9 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB return new DirPos[] { new DirPos(xCoord, yCoord - 1, zCoord, Library.NEG_Y), new DirPos(xCoord + 1, yCoord, zCoord, Library.POS_X), - new DirPos(xCoord - 1, yCoord, zCoord, Library.POS_X), + new DirPos(xCoord - 1, yCoord, zCoord, Library.NEG_X), new DirPos(xCoord, yCoord, zCoord + 1, Library.POS_Z), - new DirPos(xCoord, yCoord, zCoord - 1, Library.POS_Z), + new DirPos(xCoord, yCoord, zCoord - 1, Library.NEG_Z), }; } 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 f35883f09..7aaf0ed3a 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java @@ -133,8 +133,8 @@ public class TileEntityMachineCatalyticReformer extends TileEntityMachineBase im 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.getOpposite()), new DirPos(xCoord - dir.offsetX * 2 - rot.offsetX, yCoord, zCoord - dir.offsetZ * 2 - rot.offsetZ, dir.getOpposite()), - new DirPos(xCoord + rot.offsetX * 3, yCoord, zCoord + rot.offsetZ * 3, dir), - new DirPos(xCoord - rot.offsetX * 3, yCoord, zCoord - rot.offsetZ * 3, dir) + new DirPos(xCoord + rot.offsetX * 3, yCoord, zCoord + rot.offsetZ * 3, rot), + new DirPos(xCoord - rot.offsetX * 3, yCoord, zCoord - rot.offsetZ * 3, rot.getOpposite()) }; } From 750500a8e15e7b39f956bf3140bdcaf2585ab96d Mon Sep 17 00:00:00 2001 From: Bob Date: Fri, 28 Apr 2023 00:17:07 +0200 Subject: [PATCH 049/285] fjixes --- src/main/java/com/hbm/blocks/bomb/BlockTaint.java | 2 +- src/main/java/com/hbm/main/ModEventHandler.java | 2 +- .../machine/TileEntityMachineRadiolysis.java | 10 ++++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/hbm/blocks/bomb/BlockTaint.java b/src/main/java/com/hbm/blocks/bomb/BlockTaint.java index 3d24353aa..3b92192de 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockTaint.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockTaint.java @@ -185,7 +185,7 @@ public class BlockTaint extends Block/*Container*/ { } } - if(entity instanceof EntityCreeper) { + 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); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index c78c63b76..81bb45c51 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -574,7 +574,7 @@ public class ModEventHandler { float eRad = HbmLivingProps.getRadiation(entity); - if(entity instanceof EntityCreeper && eRad >= 200 && entity.getHealth() > 0) { + if(entity.getClass().equals(EntityCreeper.class) && eRad >= 200 && entity.getHealth() > 0) { if(event.world.rand.nextInt(3) == 0 ) { EntityCreeperNuclear creep = new EntityCreeperNuclear(event.world); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java index 8812d1714..12ec35a76 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java @@ -222,14 +222,20 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement if(slots[12].stackSize <= 0) slots[12] = null; slots[13] = output; - slots[13].stackTagCompound.setBoolean("ntmContagion", false); + slots[13].stackTagCompound.removeTag("ntmContagion"); + if(slots[13].stackTagCompound.hasNoTags()) { + slots[13].stackTagCompound = null; + } } else if(slots[13].isItemEqual(output) && slots[13].stackSize + output.stackSize <= slots[13].getMaxStackSize()) { slots[12].stackSize -= output.stackSize; if(slots[12].stackSize <= 0) slots[12] = null; slots[13].stackSize += output.stackSize; - slots[13].stackTagCompound.setBoolean("ntmContagion", false); + slots[13].stackTagCompound.removeTag("ntmContagion"); + if(slots[13].stackTagCompound.hasNoTags()) { + slots[13].stackTagCompound = null; + } } } } From ba3a0a1669228c0858d650e1c8286e0357360da2 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 29 Apr 2023 19:00:01 +0200 Subject: [PATCH 050/285] coker texture, rendering, energy fix --- .../java/api/hbm/energy/IEnergyGenerator.java | 6 + .../com/hbm/blocks/machine/MachineCoker.java | 42 +- .../hbm/inventory/gui/GUIMachineCoker.java | 17 +- .../hbm/inventory/recipes/CokerRecipes.java | 52 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ResourceManager.java | 2 + .../hbm/render/tileentity/RenderCoker.java | 54 + .../java/com/hbm/tileentity/TileMappings.java | 1 + .../machine/TileEntityFurnaceCombination.java | 4 + .../machine/oil/TileEntityMachineCoker.java | 103 +- src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 2 + .../assets/hbm/models/machines/coker.obj | 5300 +++++++---------- .../hbm/textures/gui/processing/gui_coker.png | Bin 2018 -> 2153 bytes .../hbm/textures/models/machines/coker.png | Bin 0 -> 8597 bytes 15 files changed, 2570 insertions(+), 3016 deletions(-) create mode 100644 src/main/java/com/hbm/render/tileentity/RenderCoker.java create mode 100644 src/main/resources/assets/hbm/textures/models/machines/coker.png diff --git a/src/main/java/api/hbm/energy/IEnergyGenerator.java b/src/main/java/api/hbm/energy/IEnergyGenerator.java index 081fc5491..37db6370d 100644 --- a/src/main/java/api/hbm/energy/IEnergyGenerator.java +++ b/src/main/java/api/hbm/energy/IEnergyGenerator.java @@ -10,4 +10,10 @@ public interface IEnergyGenerator extends IEnergyUser { public default long transferPower(long power) { return power; } + + /* should stop making non-receivers from interfering by applying their weight which doesn't even matter */ + @Override + public default long getTransferWeight() { + return 0; + } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineCoker.java b/src/main/java/com/hbm/blocks/machine/MachineCoker.java index b944783ba..e79ee0537 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCoker.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCoker.java @@ -1,12 +1,15 @@ package com.hbm.blocks.machine; import com.hbm.blocks.BlockDummyable; +import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.oil.TileEntityMachineCoker; 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 MachineCoker extends BlockDummyable { @@ -18,6 +21,7 @@ public class MachineCoker extends BlockDummyable { public TileEntity createNewTileEntity(World world, int meta) { if(meta >= 12) return new TileEntityMachineCoker(); + if(meta >= 6) return new TileEntityProxyCombo().inventory().fluid(); return null; } @@ -29,11 +33,47 @@ public class MachineCoker extends BlockDummyable { @Override public int[] getDimensions() { - return new int[] {4, 0, 2, 2, 2, 2}; + return new int[] {22, 0, 1, 1, 1, 1}; } @Override public int getOffset() { return 2; } + + @Override + protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { + if(super.checkRequirement(world, x, y, z, dir, o)) { + + x += dir.offsetX * o; + z += dir.offsetZ * o; + + return MultiblockHandlerXR.checkSpace(world, x, y + 1, z, new int[] {5, 0, 2, 2, 2, 2}, x, y, z, ForgeDirection.NORTH) && + MultiblockHandlerXR.checkSpace(world, x + 2, y + 1, z + 2, new int[] {0, 1, 0, 0, 0, 0}, x, y, z, ForgeDirection.NORTH) && + MultiblockHandlerXR.checkSpace(world, x + 2, y + 1, z - 2, new int[] {0, 1, 0, 0, 0, 0}, x, y, z, ForgeDirection.NORTH) && + MultiblockHandlerXR.checkSpace(world, x - 2, y + 1, z + 2, new int[] {0, 1, 0, 0, 0, 0}, x, y, z, ForgeDirection.NORTH) && + MultiblockHandlerXR.checkSpace(world, x - 2, y + 1, z - 2, new int[] {0, 1, 0, 0, 0, 0}, x, y, z, ForgeDirection.NORTH); + } + + return false; + } + + @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; + + MultiblockHandlerXR.fillSpace(world, x, y + 1, z, new int[] {5, 0, 2, 2, 2, 2}, this, ForgeDirection.NORTH); + MultiblockHandlerXR.fillSpace(world, x + 2, y + 1, z + 2, new int[] {0, 1, 0, 0, 0, 0}, this, ForgeDirection.NORTH); + MultiblockHandlerXR.fillSpace(world, x + 2, y + 1, z - 2, new int[] {0, 1, 0, 0, 0, 0}, this, ForgeDirection.NORTH); + MultiblockHandlerXR.fillSpace(world, x - 2, y + 1, z + 2, new int[] {0, 1, 0, 0, 0, 0}, this, ForgeDirection.NORTH); + MultiblockHandlerXR.fillSpace(world, x - 2, y + 1, z - 2, new int[] {0, 1, 0, 0, 0, 0}, this, ForgeDirection.NORTH); + + this.makeExtra(world, x + 1, y, z + 1); + this.makeExtra(world, x + 1, y, z - 1); + this.makeExtra(world, x - 1, y, z + 1); + this.makeExtra(world, x - 1, y, z - 1); + } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineCoker.java b/src/main/java/com/hbm/inventory/gui/GUIMachineCoker.java index a05678ed7..b9b2d5d1f 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineCoker.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineCoker.java @@ -25,11 +25,14 @@ public class GUIMachineCoker extends GuiInfoContainer { } @Override - public void drawScreen(int mouseX, int mouseY, float f) { - super.drawScreen(mouseX, mouseY, f); + public void drawScreen(int x, int y, float f) { + super.drawScreen(x, y, f); - refinery.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 35, guiTop + 18, 16, 52); - refinery.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 125, guiTop + 18, 16, 52); + refinery.tanks[0].renderTankInfo(this, x, y, guiLeft + 35, guiTop + 18, 16, 52); + refinery.tanks[1].renderTankInfo(this, x, y, guiLeft + 125, guiTop + 18, 16, 52); + + this.drawCustomInfoStat(x, y, guiLeft + 60, guiTop + 45, 54, 7, x, y, new String[] { String.format("%,d", refinery.progress) + " / " + String.format("%,d", refinery.processTime) + "TU" }); + this.drawCustomInfoStat(x, y, guiLeft + 60, guiTop + 54, 54, 7, x, y, new String[] { String.format("%,d", refinery.heat) + " / " + String.format("%,d", refinery.maxHeat) + "TU" }); } @Override @@ -46,6 +49,12 @@ public class GUIMachineCoker extends GuiInfoContainer { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + int p = refinery.progress * 53 / refinery.processTime; + drawTexturedModalRect(guiLeft + 61, guiTop + 46, 176, 0, p, 5); + + int h = refinery.heat * 52 / refinery.maxHeat; + drawTexturedModalRect(guiLeft + 61, guiTop + 55, 176, 5, h, 5); + refinery.tanks[0].renderTank(guiLeft + 35, guiTop + 70, this.zLevel, 16, 52); refinery.tanks[1].renderTank(guiLeft + 125, guiTop + 70, this.zLevel, 16, 52); } diff --git a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java index 506ea3f03..1aa72f875 100644 --- a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java @@ -30,45 +30,47 @@ public class CokerRecipes extends SerializableRecipe { @Override public void registerDefaults() { - registerAuto(HEAVYOIL, new FluidStack(Fluids.OIL_COKER, 20)); - registerAuto(HEAVYOIL_VACUUM, new FluidStack(Fluids.REFORMATE, 20)); - registerAuto(COALCREOSOTE, new FluidStack(Fluids.NAPHTHA_COKER, 20)); - registerAuto(WOODOIL, new FluidStack(Fluids.NAPHTHA_COKER, 20)); - registerAuto(SMEAR, new FluidStack(Fluids.OIL_COKER, 20)); - registerAuto(HEATINGOIL, new FluidStack(Fluids.OIL_COKER, 20)); - registerAuto(HEATINGOIL_VACUUM, new FluidStack(Fluids.OIL_COKER, 20)); - registerAuto(RECLAIMED, new FluidStack(Fluids.NAPHTHA_COKER, 20)); - registerAuto(NAPHTHA, new FluidStack(Fluids.NAPHTHA_COKER, 20)); - registerAuto(NAPHTHA_CRACK, new FluidStack(Fluids.NAPHTHA_COKER, 20)); - registerAuto(DIESEL, new FluidStack(Fluids.NAPHTHA_COKER, 20)); - registerAuto(DIESEL_REFORM, new FluidStack(Fluids.NAPHTHA_COKER, 20)); - registerAuto(DIESEL_CRACK, new FluidStack(Fluids.GAS_COKER, 20)); - registerAuto(DIESEL_CRACK_REFORM, new FluidStack(Fluids.GAS_COKER, 20)); - registerAuto(LIGHTOIL, new FluidStack(Fluids.GAS_COKER, 20)); - registerAuto(LIGHTOIL_CRACK, new FluidStack(Fluids.GAS_COKER, 20)); - registerAuto(LIGHTOIL_VACUUM, new FluidStack(Fluids.GAS_COKER, 20)); - registerAuto(BIOFUEL, new FluidStack(Fluids.GAS_COKER, 20)); - registerAuto(AROMATICS, new FluidStack(Fluids.GAS_COKER, 20)); - registerAuto(REFORMATE, new FluidStack(Fluids.GAS_COKER, 20)); - registerAuto(XYLENE, new FluidStack(Fluids.GAS_COKER, 20)); + registerAuto(HEAVYOIL, Fluids.OIL_COKER); + registerAuto(HEAVYOIL_VACUUM, Fluids.REFORMATE); + registerAuto(COALCREOSOTE, Fluids.NAPHTHA_COKER); + registerAuto(WOODOIL, Fluids.NAPHTHA_COKER); + registerAuto(SMEAR, Fluids.OIL_COKER); + registerAuto(HEATINGOIL, Fluids.OIL_COKER); + registerAuto(HEATINGOIL_VACUUM, Fluids.OIL_COKER); + registerAuto(RECLAIMED, Fluids.NAPHTHA_COKER); + registerAuto(NAPHTHA, Fluids.NAPHTHA_COKER); + registerAuto(NAPHTHA_CRACK, Fluids.NAPHTHA_COKER); + registerAuto(DIESEL, Fluids.NAPHTHA_COKER); + registerAuto(DIESEL_REFORM, Fluids.NAPHTHA_COKER); + registerAuto(DIESEL_CRACK, Fluids.GAS_COKER); + registerAuto(DIESEL_CRACK_REFORM, Fluids.GAS_COKER); + registerAuto(LIGHTOIL, Fluids.GAS_COKER); + registerAuto(LIGHTOIL_CRACK, Fluids.GAS_COKER); + registerAuto(LIGHTOIL_VACUUM, Fluids.GAS_COKER); + registerAuto(BIOFUEL, Fluids.GAS_COKER); + registerAuto(AROMATICS, Fluids.GAS_COKER); + registerAuto(REFORMATE, Fluids.GAS_COKER); + registerAuto(XYLENE, Fluids.GAS_COKER); } - private static void registerAuto(FluidType fluid, FluidStack byproduct) { - registerSFAuto(fluid, 800_000L, DictFrame.fromOne(ModItems.coke, EnumCokeType.PETROLEUM), byproduct); //3200 burntime * 1.25 burntime bonus * 200 TU/t + private 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, FluidStack byproduct) { + 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.1D; + 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); } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 3115a9386..7ff9cbf0b 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -273,6 +273,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAutosaw.class, new RenderAutosaw()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineVacuumDistill.class, new RenderVacuumDistill()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCatalyticReformer.class, new RenderCatalyticReformer()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCoker.class, new RenderCoker()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFan.class, new RenderFan()); //Foundry ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryBasin.class, new RenderFoundry()); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index b442588d3..bcc950339 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -76,6 +76,7 @@ public class ResourceManager { public static final IModelCustom catalytic_reformer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/catalytic_reformer.obj")); public static final IModelCustom liquefactor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/liquefactor.obj")); public static final IModelCustom solidifier = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/solidifier.obj")); + public static final IModelCustom coker = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/coker.obj")); //Flare Stack public static final IModelCustom oilflare = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/flare_stack.obj")); @@ -401,6 +402,7 @@ public class ResourceManager { public static final ResourceLocation catalytic_reformer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/catalytic_reformer.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 coker_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/coker.png"); //Flare Stack public static final ResourceLocation oilflare_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/flare_stack.png"); diff --git a/src/main/java/com/hbm/render/tileentity/RenderCoker.java b/src/main/java/com/hbm/render/tileentity/RenderCoker.java new file mode 100644 index 000000000..0ed00d812 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderCoker.java @@ -0,0 +1,54 @@ +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 RenderCoker extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { + 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); + bindTexture(ResourceManager.coker_tex); + ResourceManager.coker.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_coker); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -5, 0); + GL11.glScaled(2.75, 2.75, 2.75); + } + public void renderCommon() { + GL11.glScaled(0.25, 0.25, 0.25); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.coker_tex); + ResourceManager.coker.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glEnable(GL11.GL_CULL_FACE); + }}; + } +} diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index e8d059972..4426db9ed 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -306,6 +306,7 @@ public class TileMappings { put(TileEntitySpacer.class, "tileentity_fraction_spacer"); put(TileEntityMachineCatalyticCracker.class, "tileentity_catalytic_cracker"); put(TileEntityMachineCatalyticReformer.class, "tileentity_catalytic_reformer"); + put(TileEntityMachineCoker.class, "tileentity_coker"); put(TileEntityReactorZirnox.class, "tileentity_zirnox"); put(TileEntityZirnoxDestroyed.class, "tileentity_zirnox_destroyed"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java index 3ca96f521..3295b6b0c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java @@ -215,12 +215,16 @@ public class TileEntityFurnaceCombination extends TileEntityMachineBase implemen public void readFromNBT(NBTTagCompound nbt) { super.readFromNBT(nbt); this.tank.readFromNBT(nbt, "tank"); + this.progress = nbt.getInteger("prog"); + this.heat = nbt.getInteger("heat"); } @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); this.tank.writeToNBT(nbt, "tank"); + nbt.setInteger("prog", progress); + nbt.setInteger("heat", heat); } @Override 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 6288195ac..aad99c2a0 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java @@ -6,9 +6,12 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; 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.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.Tuple.Triplet; +import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.fluid.IFluidStandardTransceiver; import api.hbm.tile.IHeatSource; @@ -20,10 +23,12 @@ 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; public class TileEntityMachineCoker extends TileEntityMachineBase implements IFluidStandardTransceiver, IGUIProvider { - + + public boolean wasOn; public int progress; public static int processTime = 20_000; @@ -52,11 +57,20 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl this.tryPullHeat(); this.tanks[0].setType(0, slots); + + if(worldObj.getTotalWorldTime() % 20 == 0) { + for(DirPos pos : getConPos()) { + 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; @@ -86,13 +100,52 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl } } + for(DirPos pos : getConPos()) { + if(this.tanks[1].getFill() > 0) this.sendFluid(tanks[1].getTankType(), 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); + } else { + + if(this.wasOn) { + + if(worldObj.getTotalWorldTime() % 2 == 0) { + NBTTagCompound fx = new NBTTagCompound(); + fx.setString("type", "tower"); + fx.setFloat("lift", 10F); + fx.setFloat("base", 0.75F); + fx.setFloat("max", 3F); + fx.setInteger("life", 200 + worldObj.rand.nextInt(50)); + fx.setInteger("color",0x404040); + fx.setDouble("posX", xCoord + 0.5); + fx.setDouble("posY", yCoord + 22); + fx.setDouble("posZ", zCoord + 0.5); + MainRegistry.proxy.effectNT(fx); + } + } } } + 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), + new DirPos(xCoord - 2, yCoord, zCoord + 1, 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 - 1, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord + 1, yCoord, zCoord - 2, Library.NEG_Z), + new DirPos(xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z) + }; + } + public boolean canProcess() { Triplet recipe = CokerRecipes.getOutput(tanks[0].getTankType()); @@ -104,7 +157,7 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl if(byproduct != null) tanks[1].setTankType(byproduct.type); - if(tanks[0].getFill() < recipe.getX()) return false; + 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) { @@ -118,6 +171,9 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl @Override public void networkUnpack(NBTTagCompound 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"); } @@ -148,6 +204,24 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl this.heat = Math.max(this.heat - Math.max(this.heat / 1000, 1), 0); } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.tanks[0].readFromNBT(nbt, "t0"); + this.tanks[1].readFromNBT(nbt, "t1"); + this.progress = nbt.getInteger("prog"); + this.heat = nbt.getInteger("heat"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + this.tanks[0].writeToNBT(nbt, "t0"); + this.tanks[1].writeToNBT(nbt, "t1"); + nbt.setInteger("prog", progress); + nbt.setInteger("heat", heat); + } @Override public FluidTank[] getAllTanks() { @@ -163,6 +237,31 @@ 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, + yCoord, + zCoord - 2, + xCoord + 3, + yCoord + 23, + zCoord + 3 + ); + } + + 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) { diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 7ff7136ba..4ed70d973 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -326,6 +326,7 @@ container.leadBox=Sicherheitsbehälter container.machineBoiler=Ölwärmer container.machineCMB=CMB-Stahl Hochofen container.machineCoal=Verbrennungsgenerator +container.machineCoker=Koker-Anlage container.machineCrucible=Schmelztiegel container.machineDiesel=Dieselgenerator container.machineElectricBoiler=Elektrischer Ölwärmer @@ -3873,6 +3874,7 @@ tile.machine_chungus.name=Leviathan-Dampfturbine tile.machine_chungus.desc=Effizienz: 85%% tile.machine_coal_off.name=Verbrennungsgenerator tile.machine_coal_on.name=Verbrennungsgenerator +tile.machine_coker.name=Koker-Anlage tile.machine_combine_factory.name=CMB-Stahl Hochofen tile.machine_combustion_engine.name=Industrieller Verbrennungsmotor tile.machine_condenser.name=Dampfkondensierer diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 936848957..d168a6073 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -618,6 +618,7 @@ container.leadBox=Containment Box container.machineBoiler=Oil Heater container.machineCMB=CMB Steel Furnace container.machineCoal=Combustion Generator +container.machineCoker=Coker Unit container.machineCrucible=Crucible container.machineDiesel=Diesel Generator container.machineElectricBoiler=Electric Oil Heater @@ -4686,6 +4687,7 @@ tile.machine_chungus.name=Leviathan Steam Turbine tile.machine_chungus.desc=Efficiency: 85%% tile.machine_coal_off.name=Combustion Generator tile.machine_coal_on.name=Combustion Generator +tile.machine_coker.name=Coker Unit tile.machine_combine_factory.name=CMB Steel Furnace tile.machine_combustion_engine.name=Industrial Combustion Engine tile.machine_condenser.name=Steam Condenser diff --git a/src/main/resources/assets/hbm/models/machines/coker.obj b/src/main/resources/assets/hbm/models/machines/coker.obj index 131a7c48b..da766fdfd 100644 --- a/src/main/resources/assets/hbm/models/machines/coker.obj +++ b/src/main/resources/assets/hbm/models/machines/coker.obj @@ -25,10 +25,6 @@ v -1.500000 7.000000 -1.500000 v -1.500000 7.000000 1.500000 v 1.500000 7.000000 1.500000 v 1.500000 7.000000 -1.500000 -v 1.500000 7.000000 -1.500000 -v 1.500000 7.000000 1.500000 -v -1.500000 7.000000 1.500000 -v -1.500000 7.000000 -1.500000 v 2.500000 2.000000 2.500000 v 2.500000 0.000000 2.500000 v 2.500000 2.000000 2.125000 @@ -189,646 +185,6 @@ v 2.500000 4.750000 -2.125000 v 2.125000 4.750000 -2.125000 v 2.125000 4.750000 2.125000 v 2.500000 4.750000 2.125000 -v -1.500000 7.000000 -8.500000 -v -1.500000 7.000000 -5.500000 -v 1.500000 7.000000 -5.500000 -v 1.500000 7.000000 -8.500000 -v -0.750000 15.000000 -7.750000 -v -0.750000 15.000000 -6.250000 -v 0.750000 15.000000 -6.250000 -v 0.750000 15.000000 -7.750000 -v -0.625000 15.000000 -7.625000 -v -0.625000 15.000000 -6.375000 -v 0.625000 15.000000 -6.375000 -v 0.625000 15.000000 -7.625000 -v -0.625000 14.000000 -7.625000 -v -0.625000 14.000000 -6.375000 -v 0.625000 14.000000 -6.375000 -v 0.625000 14.000000 -7.625000 -v 0.000000 8.500000 -15.250000 -v -0.478354 8.500000 -15.154849 -v -0.883883 8.500000 -14.883883 -v -1.154849 8.500000 -14.478354 -v -1.250000 8.500000 -14.000000 -v -1.154849 8.500000 -13.521646 -v -0.883883 8.500000 -13.116117 -v -0.478354 8.500000 -12.845151 -v -0.000000 8.500000 -12.750000 -v 0.478354 8.500000 -12.845150 -v 0.883883 8.500000 -13.116117 -v 1.154849 8.500000 -13.521646 -v 1.250000 8.500000 -14.000000 -v 1.154849 8.500000 -14.478354 -v 0.883883 8.500000 -14.883883 -v 0.478354 8.500000 -15.154850 -v 0.000000 15.500000 -15.250000 -v -0.478354 15.500000 -15.154849 -v -0.883883 15.500000 -14.883883 -v -1.154849 15.500000 -14.478354 -v -1.250000 15.500000 -14.000000 -v -1.154849 15.500000 -13.521646 -v -0.883883 15.500000 -13.116117 -v -0.478354 15.500000 -12.845151 -v -0.000000 15.500000 -12.750000 -v 0.478354 15.500000 -12.845150 -v 0.883883 15.500000 -13.116117 -v 1.154849 15.500000 -13.521646 -v 1.250000 15.500000 -14.000000 -v 1.154849 15.500000 -14.478354 -v 0.883883 15.500000 -14.883883 -v 0.478354 15.500000 -15.154850 -v -0.000000 15.500000 -15.500000 -v -0.574025 15.500000 -15.385819 -v -1.060660 15.500000 -15.060660 -v -1.385819 15.500000 -14.574025 -v -1.500000 15.500000 -14.000000 -v -1.385819 15.500000 -13.425975 -v -1.060660 15.500000 -12.939340 -v -0.574025 15.500000 -12.614181 -v -0.000000 15.500000 -12.500000 -v 0.574025 15.500000 -12.614181 -v 1.060660 15.500000 -12.939340 -v 1.385819 15.500000 -13.425975 -v 1.500000 15.500000 -14.000000 -v 1.385819 15.500000 -14.574025 -v 1.060660 15.500000 -15.060660 -v 0.574024 15.500000 -15.385819 -v -0.000000 16.500000 -15.500000 -v -0.574025 16.500000 -15.385819 -v -1.060660 16.500000 -15.060660 -v -1.385819 16.500000 -14.574025 -v -1.500000 16.500000 -14.000000 -v -1.385819 16.500000 -13.425975 -v -1.060660 16.500000 -12.939340 -v -0.574025 16.500000 -12.614181 -v -0.000000 16.500000 -12.500000 -v 0.574025 16.500000 -12.614181 -v 1.060660 16.500000 -12.939340 -v 1.385819 16.500000 -13.425975 -v 1.500000 16.500000 -14.000000 -v 1.385819 16.500000 -14.574025 -v 1.060660 16.500000 -15.060660 -v 0.574024 16.500000 -15.385819 -v 0.000000 16.500000 -15.250000 -v -0.478354 16.500000 -15.154849 -v -0.883883 16.500000 -14.883883 -v -1.154849 16.500000 -14.478354 -v -1.250000 16.500000 -14.000000 -v -1.154849 16.500000 -13.521646 -v -0.883883 16.500000 -13.116117 -v -0.478354 16.500000 -12.845151 -v -0.000000 16.500000 -12.750000 -v 0.478354 16.500000 -12.845150 -v 0.883883 16.500000 -13.116117 -v 1.154849 16.500000 -13.521646 -v 1.250000 16.500000 -14.000000 -v 1.154849 16.500000 -14.478354 -v 0.883883 16.500000 -14.883883 -v 0.478354 16.500000 -15.154850 -v 0.000000 17.500000 -15.250000 -v -0.478354 17.500000 -15.154849 -v -0.883883 17.500000 -14.883883 -v -1.154849 17.500000 -14.478354 -v -1.250000 17.500000 -14.000000 -v -1.154849 17.500000 -13.521646 -v -0.883883 17.500000 -13.116117 -v -0.478354 17.500000 -12.845151 -v -0.000000 17.500000 -12.750000 -v 0.478354 17.500000 -12.845150 -v 0.883883 17.500000 -13.116117 -v 1.154849 17.500000 -13.521646 -v 1.250000 17.500000 -14.000000 -v 1.154849 17.500000 -14.478354 -v 0.883883 17.500000 -14.883883 -v 0.478354 17.500000 -15.154850 -v -0.000000 17.500000 -15.500000 -v -0.574025 17.500000 -15.385819 -v -1.060660 17.500000 -15.060660 -v -1.385819 17.500000 -14.574025 -v -1.500000 17.500000 -14.000000 -v -1.385819 17.500000 -13.425975 -v -1.060660 17.500000 -12.939340 -v -0.574025 17.500000 -12.614181 -v -0.000000 17.500000 -12.500000 -v 0.574025 17.500000 -12.614181 -v 1.060660 17.500000 -12.939340 -v 1.385819 17.500000 -13.425975 -v 1.500000 17.500000 -14.000000 -v 1.385819 17.500000 -14.574025 -v 1.060660 17.500000 -15.060660 -v 0.574024 17.500000 -15.385819 -v -0.000000 18.500000 -15.500000 -v -0.574025 18.500000 -15.385819 -v -1.060660 18.500000 -15.060660 -v -1.385819 18.500000 -14.574025 -v -1.500000 18.500000 -14.000000 -v -1.385819 18.500000 -13.425975 -v -1.060660 18.500000 -12.939340 -v -0.574025 18.500000 -12.614181 -v -0.000000 18.500000 -12.500000 -v 0.574025 18.500000 -12.614181 -v 1.060660 18.500000 -12.939340 -v 1.385819 18.500000 -13.425975 -v 1.500000 18.500000 -14.000000 -v 1.385819 18.500000 -14.574025 -v 1.060660 18.500000 -15.060660 -v 0.574024 18.500000 -15.385819 -v 0.000000 18.500000 -15.250000 -v -0.478354 18.500000 -15.154849 -v -0.883883 18.500000 -14.883883 -v -1.154849 18.500000 -14.478354 -v -1.250000 18.500000 -14.000000 -v -1.154849 18.500000 -13.521646 -v -0.883883 18.500000 -13.116117 -v -0.478354 18.500000 -12.845151 -v -0.000000 18.500000 -12.750000 -v 0.478354 18.500000 -12.845150 -v 0.883883 18.500000 -13.116117 -v 1.154849 18.500000 -13.521646 -v 1.250000 18.500000 -14.000000 -v 1.154849 18.500000 -14.478354 -v 0.883883 18.500000 -14.883883 -v 0.478354 18.500000 -15.154850 -v 0.000000 19.000000 -15.250000 -v -0.478354 19.000000 -15.154849 -v -0.883883 19.000000 -14.883883 -v -1.154849 19.000000 -14.478354 -v -1.250000 19.000000 -14.000000 -v -1.154849 19.000000 -13.521646 -v -0.883883 19.000000 -13.116117 -v -0.478354 19.000000 -12.845151 -v -0.000000 19.000000 -12.750000 -v 0.478354 19.000000 -12.845150 -v 0.883883 19.000000 -13.116117 -v 1.154849 19.000000 -13.521646 -v 1.250000 19.000000 -14.000000 -v 1.154849 19.000000 -14.478354 -v 0.883883 19.000000 -14.883883 -v 0.478354 19.000000 -15.154850 -v -0.000000 19.000000 -15.000000 -v -0.382684 19.000000 -14.923880 -v -0.707107 19.000000 -14.707107 -v -0.923880 19.000000 -14.382684 -v -1.000000 19.000000 -14.000000 -v -0.923880 19.000000 -13.617316 -v -0.707107 19.000000 -13.292893 -v -0.382684 19.000000 -13.076120 -v -0.000000 19.000000 -13.000000 -v 0.382683 19.000000 -13.076120 -v 0.707107 19.000000 -13.292893 -v 0.923879 19.000000 -13.617316 -v 1.000000 19.000000 -14.000000 -v 0.923879 19.000000 -14.382684 -v 0.707106 19.000000 -14.707107 -v 0.382683 19.000000 -14.923880 -v -0.000000 17.000000 -15.000000 -v -0.382684 17.000000 -14.923880 -v -0.707107 17.000000 -14.707107 -v -0.923880 17.000000 -14.382684 -v -1.000000 17.000000 -14.000000 -v -0.923880 17.000000 -13.617316 -v -0.707107 17.000000 -13.292893 -v -0.382684 17.000000 -13.076120 -v -0.000000 17.000000 -13.000000 -v 0.382683 17.000000 -13.076120 -v 0.707107 17.000000 -13.292893 -v 0.923879 17.000000 -13.617316 -v 1.000000 17.000000 -14.000000 -v 0.923879 17.000000 -14.382684 -v 0.707106 17.000000 -14.707107 -v 0.382683 17.000000 -14.923880 -v -0.000000 7.000000 -15.500000 -v -0.574025 7.000000 -15.385819 -v -1.060660 7.000000 -15.060660 -v -1.385819 7.000000 -14.574025 -v -1.500000 7.000000 -14.000000 -v -1.385819 7.000000 -13.425975 -v -1.060660 7.000000 -12.939340 -v -0.574025 7.000000 -12.614181 -v -0.000000 7.000000 -12.500000 -v 0.574025 7.000000 -12.614181 -v 1.060660 7.000000 -12.939340 -v 1.385819 7.000000 -13.425975 -v 1.500000 7.000000 -14.000000 -v 1.385819 7.000000 -14.574025 -v 1.060660 7.000000 -15.060660 -v 0.574024 7.000000 -15.385819 -v -0.131548 16.500000 -15.348833 -v 1.348833 16.500000 -14.131548 -v 1.296501 17.500000 -14.394643 -v 1.296501 16.500000 -14.394643 -v 1.348833 17.500000 -14.131548 -v -1.348834 17.500000 -13.868452 -v -1.296501 16.500000 -13.605358 -v -1.296501 17.500000 -13.605358 -v -1.348834 16.500000 -13.868452 -v -0.394643 17.500000 -15.296501 -v -0.394643 16.500000 -15.296501 -v -0.131548 17.500000 -15.348833 -v 0.131547 17.500000 -12.651167 -v 0.394642 16.500000 -12.703499 -v 0.394642 17.500000 -12.703499 -v 0.131547 16.500000 -12.651167 -v -1.046788 16.500000 -14.860751 -v 0.860751 16.500000 -15.046787 -v 0.637710 17.500000 -15.195819 -v 0.637710 16.500000 -15.195819 -v 0.860751 17.500000 -15.046787 -v -0.860751 17.500000 -12.953213 -v -0.637710 16.500000 -12.804181 -v -0.637710 17.500000 -12.804181 -v -0.860751 16.500000 -12.953213 -v -1.195819 17.500000 -14.637710 -v -1.195819 16.500000 -14.637710 -v -1.046788 17.500000 -14.860751 -v 1.046787 17.500000 -13.139249 -v 1.195819 16.500000 -13.362289 -v 1.195819 17.500000 -13.362289 -v 1.046787 16.500000 -13.139249 -v -0.637711 16.500000 -15.195819 -v 1.195818 16.500000 -14.637711 -v 1.046787 17.500000 -14.860751 -v 1.046787 16.500000 -14.860751 -v 1.195818 17.500000 -14.637711 -v -1.195819 17.500000 -13.362289 -v -1.046787 16.500000 -13.139249 -v -1.046787 17.500000 -13.139249 -v -1.195819 16.500000 -13.362289 -v -0.860752 17.500000 -15.046787 -v -0.860752 16.500000 -15.046787 -v -0.637711 17.500000 -15.195819 -v 0.637710 17.500000 -12.804182 -v 0.860751 16.500000 -12.953213 -v 0.860751 17.500000 -12.953213 -v 0.637710 16.500000 -12.804182 -v -1.296501 16.500000 -14.394642 -v 0.394642 16.500000 -15.296501 -v 0.131547 17.500000 -15.348833 -v 0.131547 16.500000 -15.348833 -v 0.394642 17.500000 -15.296501 -v -0.394642 17.500000 -12.703499 -v -0.131547 16.500000 -12.651167 -v -0.131547 17.500000 -12.651167 -v -0.394642 16.500000 -12.703499 -v -1.348834 17.500000 -14.131547 -v -1.348834 16.500000 -14.131547 -v -1.296501 17.500000 -14.394642 -v 1.296501 17.500000 -13.605358 -v 1.348833 16.500000 -13.868453 -v 1.348833 17.500000 -13.868453 -v 1.296501 16.500000 -13.605358 -v 0.000000 7.000000 12.750000 -v -0.478354 7.000000 12.845150 -v -0.883883 7.000000 13.116117 -v -1.154849 7.000000 13.521646 -v -1.250000 7.000000 14.000000 -v -1.154849 7.000000 14.478354 -v -0.883883 7.000000 14.883883 -v -0.478354 7.000000 15.154849 -v -0.000000 7.000000 15.250000 -v 0.478354 7.000000 15.154850 -v 0.883883 7.000000 14.883884 -v 1.154849 7.000000 14.478354 -v 1.250000 7.000000 14.000000 -v 1.154849 7.000000 13.521646 -v 0.883883 7.000000 13.116116 -v 0.478354 7.000000 12.845150 -v 0.000000 16.000000 13.250000 -v -0.287013 16.000000 13.307091 -v -0.530330 16.000000 13.469669 -v -0.692910 16.000000 13.712988 -v -0.750000 16.000000 14.000000 -v -0.692910 16.000000 14.287012 -v -0.530330 16.000000 14.530331 -v -0.287013 16.000000 14.692909 -v -0.000000 16.000000 14.750000 -v 0.287012 16.000000 14.692909 -v 0.530330 16.000000 14.530331 -v 0.692910 16.000000 14.287012 -v 0.750000 16.000000 14.000000 -v 0.692910 16.000000 13.712988 -v 0.530330 16.000000 13.469669 -v 0.287012 16.000000 13.307091 -v 0.000000 17.000000 13.250000 -v -0.287013 17.000000 13.307091 -v -0.530330 17.000000 13.469669 -v -0.692910 17.000000 13.712988 -v -0.750000 17.000000 14.000000 -v -0.692910 17.000000 14.287012 -v -0.530330 17.000000 14.530331 -v -0.287013 17.000000 14.692909 -v -0.000000 17.000000 14.750000 -v 0.287012 17.000000 14.692909 -v 0.530330 17.000000 14.530331 -v 0.692910 17.000000 14.287012 -v 0.750000 17.000000 14.000000 -v 0.692910 17.000000 13.712988 -v 0.530330 17.000000 13.469669 -v 0.287012 17.000000 13.307091 -v -0.000000 17.000000 13.437500 -v -0.215259 17.000000 13.480318 -v -0.397748 17.000000 13.602253 -v -0.519682 17.000000 13.784740 -v -0.562500 17.000000 14.000000 -v -0.519682 17.000000 14.215260 -v -0.397748 17.000000 14.397747 -v -0.215259 17.000000 14.519682 -v -0.000000 17.000000 14.562500 -v 0.215259 17.000000 14.519682 -v 0.397747 17.000000 14.397747 -v 0.519682 17.000000 14.215260 -v 0.562500 17.000000 14.000000 -v 0.519682 17.000000 13.784740 -v 0.397747 17.000000 13.602253 -v 0.215259 17.000000 13.480318 -v -0.000000 16.000000 13.437500 -v -0.215259 16.000000 13.480318 -v -0.397748 16.000000 13.602253 -v -0.519682 16.000000 13.784740 -v -0.562500 16.000000 14.000000 -v -0.519682 16.000000 14.215260 -v -0.397748 16.000000 14.397747 -v -0.215259 16.000000 14.519682 -v -0.000000 16.000000 14.562500 -v 0.215259 16.000000 14.519682 -v 0.397747 16.000000 14.397747 -v 0.519682 16.000000 14.215260 -v 0.562500 16.000000 14.000000 -v 0.519682 16.000000 13.784740 -v 0.397747 16.000000 13.602253 -v 0.215259 16.000000 13.480318 -v 0.000000 15.875000 12.750000 -v -0.478354 15.875000 12.845150 -v -0.883883 15.875000 13.116117 -v -1.154849 15.875000 13.521646 -v -1.250000 15.875000 14.000000 -v -1.154849 15.875000 14.478354 -v -0.883883 15.875000 14.883883 -v -0.478354 15.875000 15.154849 -v -0.000000 15.875000 15.250000 -v 0.478354 15.875000 15.154850 -v 0.883883 15.875000 14.883884 -v 1.154849 15.875000 14.478354 -v 1.250000 15.875000 14.000000 -v 1.154849 15.875000 13.521646 -v 0.883883 15.875000 13.116116 -v 0.478354 15.875000 12.845150 -v 0.000000 16.125000 12.750000 -v -0.478354 16.125000 12.845150 -v -0.883883 16.125000 13.116117 -v -1.154849 16.125000 13.521646 -v -1.250000 16.125000 14.000000 -v -1.154849 16.125000 14.478354 -v -0.883883 16.125000 14.883883 -v -0.478354 16.125000 15.154849 -v -0.000000 16.125000 15.250000 -v 0.478354 16.125000 15.154850 -v 0.883883 16.125000 14.883884 -v 1.154849 16.125000 14.478354 -v 1.250000 16.125000 14.000000 -v 1.154849 16.125000 13.521646 -v 0.883883 16.125000 13.116116 -v 0.478354 16.125000 12.845150 -v 0.000000 12.875000 12.750000 -v -0.478354 12.875000 12.845150 -v -0.883883 12.875000 13.116117 -v -1.154849 12.875000 13.521646 -v -1.250000 12.875000 14.000000 -v -1.154849 12.875000 14.478354 -v -0.883883 12.875000 14.883883 -v -0.478354 12.875000 15.154849 -v -0.000000 12.875000 15.250000 -v 0.478354 12.875000 15.154850 -v 0.883883 12.875000 14.883884 -v 1.154849 12.875000 14.478354 -v 1.250000 12.875000 14.000000 -v 1.154849 12.875000 13.521646 -v 0.883883 12.875000 13.116116 -v 0.478354 12.875000 12.845150 -v 0.000000 13.125000 12.750000 -v -0.478354 13.125000 12.845150 -v -0.883883 13.125000 13.116117 -v -1.154849 13.125000 13.521646 -v -1.250000 13.125000 14.000000 -v -1.154849 13.125000 14.478354 -v -0.883883 13.125000 14.883883 -v -0.478354 13.125000 15.154849 -v -0.000000 13.125000 15.250000 -v 0.478354 13.125000 15.154850 -v 0.883883 13.125000 14.883884 -v 1.154849 13.125000 14.478354 -v 1.250000 13.125000 14.000000 -v 1.154849 13.125000 13.521646 -v 0.883883 13.125000 13.116116 -v 0.478354 13.125000 12.845150 -v 0.000000 9.875000 12.750000 -v -0.478354 9.875000 12.845150 -v -0.883883 9.875000 13.116117 -v -1.154849 9.875000 13.521646 -v -1.250000 9.875000 14.000000 -v -1.154849 9.875000 14.478354 -v -0.883883 9.875000 14.883883 -v -0.478354 9.875000 15.154849 -v -0.000000 9.875000 15.250000 -v 0.478354 9.875000 15.154850 -v 0.883883 9.875000 14.883884 -v 1.154849 9.875000 14.478354 -v 1.250000 9.875000 14.000000 -v 1.154849 9.875000 13.521646 -v 0.883883 9.875000 13.116116 -v 0.478354 9.875000 12.845150 -v 0.000000 10.125000 12.750000 -v -0.478354 10.125000 12.845150 -v -0.883883 10.125000 13.116117 -v -1.154849 10.125000 13.521646 -v -1.250000 10.125000 14.000000 -v -1.154849 10.125000 14.478354 -v -0.883883 10.125000 14.883883 -v -0.478354 10.125000 15.154849 -v -0.000000 10.125000 15.250000 -v 0.478354 10.125000 15.154850 -v 0.883883 10.125000 14.883884 -v 1.154849 10.125000 14.478354 -v 1.250000 10.125000 14.000000 -v 1.154849 10.125000 13.521646 -v 0.883883 10.125000 13.116116 -v 0.478354 10.125000 12.845150 -v 0.000000 7.000000 6.250000 -v -0.287013 7.000000 6.307090 -v -0.530330 7.000000 6.469670 -v -0.692910 7.000000 6.712987 -v -0.750000 7.000000 7.000000 -v -0.692910 7.000000 7.287013 -v -0.530330 7.000000 7.530330 -v -0.287013 7.000000 7.692910 -v -0.000000 7.000000 7.750000 -v 0.287012 7.000000 7.692910 -v 0.530330 7.000000 7.530330 -v 0.692910 7.000000 7.287013 -v 0.750000 7.000000 7.000000 -v 0.692910 7.000000 6.712987 -v 0.530330 7.000000 6.469670 -v 0.287012 7.000000 6.307090 -v 0.000000 17.000000 6.250000 -v -0.287013 17.000000 6.307090 -v -0.530330 17.000000 6.469670 -v -0.692910 17.000000 6.712987 -v -0.750000 17.000000 7.000000 -v -0.692910 17.000000 7.287013 -v -0.530330 17.000000 7.530330 -v -0.287013 17.000000 7.692910 -v -0.000000 17.000000 7.750000 -v 0.287012 17.000000 7.692910 -v 0.530330 17.000000 7.530330 -v 0.692910 17.000000 7.287013 -v 0.750000 17.000000 7.000000 -v 0.692910 17.000000 6.712987 -v 0.530330 17.000000 6.469670 -v 0.287012 17.000000 6.307090 -v -0.000000 17.000000 6.500000 -v -0.191342 17.000000 6.538060 -v -0.353553 17.000000 6.646447 -v -0.461940 17.000000 6.808658 -v -0.500000 17.000000 7.000000 -v -0.461940 17.000000 7.191342 -v -0.353553 17.000000 7.353553 -v -0.191342 17.000000 7.461940 -v -0.000000 17.000000 7.500000 -v 0.191342 17.000000 7.461940 -v 0.353553 17.000000 7.353553 -v 0.461940 17.000000 7.191342 -v 0.500000 17.000000 7.000000 -v 0.461940 17.000000 6.808658 -v 0.353553 17.000000 6.646447 -v 0.191341 17.000000 6.538060 -v -0.000000 16.000000 6.500000 -v -0.191342 16.000000 6.538060 -v -0.353553 16.000000 6.646447 -v -0.461940 16.000000 6.808658 -v -0.500000 16.000000 7.000000 -v -0.461940 16.000000 7.191342 -v -0.353553 16.000000 7.353553 -v -0.191342 16.000000 7.461940 -v -0.000000 16.000000 7.500000 -v 0.191342 16.000000 7.461940 -v 0.353553 16.000000 7.353553 -v 0.461940 16.000000 7.191342 -v 0.500000 16.000000 7.000000 -v 0.461940 16.000000 6.808658 -v 0.353553 16.000000 6.646447 -v 0.191341 16.000000 6.538060 -v -1.500000 13.000000 5.500000 -v -1.500000 13.000000 8.500000 -v 1.500000 13.000000 8.500000 -v 1.500000 13.000000 5.500000 -v -1.500000 12.750000 5.500000 -v -1.500000 12.750000 8.500000 -v 1.500000 12.750000 8.500000 -v 1.500000 12.750000 5.500000 -v -1.500000 10.000000 5.500000 -v -1.500000 10.000000 8.500000 -v 1.500000 10.000000 8.500000 -v 1.500000 10.000000 5.500000 -v -1.500000 9.750000 5.500000 -v -1.500000 9.750000 8.500000 -v 1.500000 9.750000 8.500000 -v 1.500000 9.750000 5.500000 -v -1.125000 16.000000 5.875000 -v -1.125000 16.000000 8.125000 -v 1.125000 16.000000 8.125000 -v 1.125000 16.000000 5.875000 -v -1.125000 15.750000 5.875000 -v -1.125000 15.750000 8.125000 -v 1.125000 15.750000 8.125000 -v 1.125000 15.750000 5.875000 -v -1.375000 7.000000 5.875000 -v -1.125000 7.000000 5.875000 -v -1.375000 7.000000 5.625000 -v -1.125000 7.000000 5.625000 -v -1.125000 12.750000 5.875000 -v -1.125000 12.750000 6.125000 -v -0.875000 12.750000 6.125000 -v -0.875000 12.750000 5.875000 -v -1.375000 7.000000 8.375000 -v -1.125000 7.000000 8.375000 -v -1.375000 7.000000 8.125000 -v -1.125000 7.000000 8.125000 -v -1.125000 12.750000 7.875000 -v -1.125000 12.750000 8.125000 -v -0.875000 12.750000 8.125000 -v -0.875000 12.750000 7.875000 -v 1.125000 7.000000 5.875000 -v 1.375000 7.000000 5.875000 -v 1.125000 7.000000 5.625000 -v 1.375000 7.000000 5.625000 -v 0.875000 12.750000 5.875000 -v 0.875000 12.750000 6.125000 -v 1.125000 12.750000 6.125000 -v 1.125000 12.750000 5.875000 -v 1.125000 7.000000 8.375000 -v 1.375000 7.000000 8.375000 -v 1.125000 7.000000 8.125000 -v 1.375000 7.000000 8.125000 -v 0.875000 12.750000 7.875000 -v 0.875000 12.750000 8.125000 -v 1.125000 12.750000 8.125000 -v 1.125000 12.750000 7.875000 -v -1.500000 10.000000 5.500000 -v -1.500000 10.000000 8.500000 -v 1.500000 10.000000 8.500000 -v 1.500000 10.000000 5.500000 -v -1.500000 10.500000 5.500000 -v -1.500000 10.500000 8.500000 -v 1.500000 10.500000 8.500000 -v 1.500000 10.500000 5.500000 -v -1.500000 13.000000 5.500000 -v -1.500000 13.000000 8.500000 -v 1.500000 13.000000 8.500000 -v 1.500000 13.000000 5.500000 -v -1.500000 13.500000 5.500000 -v -1.500000 13.500000 8.500000 -v 1.500000 13.500000 8.500000 -v 1.500000 13.500000 5.500000 -v -1.125000 16.000000 5.875000 -v -1.125000 16.000000 8.125000 -v 1.125000 16.000000 8.125000 -v 1.125000 16.000000 5.875000 -v -1.125000 16.500000 5.875000 -v -1.125000 16.500000 8.125000 -v 1.125000 16.500000 8.125000 -v 1.125000 16.500000 5.875000 -v -1.125000 15.750000 7.187500 -v -0.702382 14.843692 7.187500 -v -1.125000 15.750000 6.812500 -v -0.702382 14.843692 6.812500 -v 1.125000 15.750000 6.812500 -v 0.702382 14.843692 6.812500 -v 1.125000 15.750000 7.187500 -v 0.702382 14.843692 7.187500 -v 0.187500 15.750000 8.125000 -v 0.187500 14.843692 7.702382 -v -0.187500 15.750000 8.125000 -v -0.187500 14.843692 7.702382 -v -0.187500 15.750000 5.875000 -v -0.187500 14.843692 6.297618 -v 0.187500 15.750000 5.875000 -v 0.187500 14.843692 6.297618 -v -0.662913 15.750000 7.928078 -v -0.364076 14.843692 7.629241 -v -0.928078 15.750000 7.662912 -v -0.629241 14.843692 7.364076 -v 0.662912 15.750000 6.071922 -v 0.364076 14.843692 6.370759 -v 0.928077 15.750000 6.337088 -v 0.629241 14.843692 6.635924 -v 0.928078 15.750000 7.662912 -v 0.629241 14.843692 7.364076 -v 0.662913 15.750000 7.928078 -v 0.364076 14.843692 7.629241 -v -0.928078 15.750000 6.337088 -v -0.629241 14.843692 6.635924 -v -0.662913 15.750000 6.071922 -v -0.364076 14.843692 6.370759 v 0.000000 7.000000 -1.250000 v -0.478354 7.000000 -1.154849 v -0.883883 7.000000 -0.883883 @@ -837,7 +193,7 @@ v -1.250000 7.000000 0.000000 v -1.154849 7.000000 0.478354 v -0.883883 7.000000 0.883883 v -0.478354 7.000000 1.154849 -v -0.000000 7.000000 1.250000 +v 0.000000 7.000000 1.250000 v 0.478354 7.000000 1.154850 v 0.883883 7.000000 0.883884 v 1.154849 7.000000 0.478354 @@ -853,7 +209,7 @@ v -1.250000 23.000000 0.000000 v -1.154849 23.000000 0.478354 v -0.883883 23.000000 0.883883 v -0.478354 23.000000 1.154849 -v -0.000000 23.000000 1.250000 +v 0.000000 23.000000 1.250000 v 0.478354 23.000000 1.154850 v 0.883883 23.000000 0.883884 v 1.154849 23.000000 0.478354 @@ -861,7 +217,7 @@ v 1.250000 23.000000 -0.000000 v 1.154849 23.000000 -0.478355 v 0.883883 23.000000 -0.883884 v 0.478354 23.000000 -1.154850 -v -0.000000 23.000000 -1.000000 +v 0.000000 23.000000 -1.000000 v -0.382684 23.000000 -0.923880 v -0.707107 23.000000 -0.707107 v -0.923880 23.000000 -0.382683 @@ -869,13 +225,13 @@ v -1.000000 23.000000 0.000000 v -0.923880 23.000000 0.382684 v -0.707107 23.000000 0.707107 v -0.382684 23.000000 0.923880 -v -0.000000 23.000000 1.000000 +v 0.000000 23.000000 1.000000 v 0.382683 23.000000 0.923880 v 0.707107 23.000000 0.707107 -v 0.923879 23.000000 0.382684 +v 0.923880 23.000000 0.382684 v 1.000000 23.000000 -0.000000 -v 0.923879 23.000000 -0.382684 -v 0.707106 23.000000 -0.707107 +v 0.923880 23.000000 -0.382684 +v 0.707107 23.000000 -0.707107 v 0.382683 23.000000 -0.923880 v -2.000000 16.875000 2.000000 v 2.000000 16.875000 2.000000 @@ -958,10 +314,10 @@ v -1.750000 22.125000 1.750000 v 1.750000 22.125000 1.750000 v 1.750000 22.125000 -1.750000 v -0.751301 21.375000 1.370019 -v -1.370019 21.375000 0.751301 -v -0.486136 19.834999 1.104854 -v -1.104854 19.834999 0.486136 -v -0.000000 22.000000 -1.000000 +v -1.370020 21.375000 0.751301 +v -0.486135 19.834999 1.104854 +v -1.104855 19.834999 0.486136 +v 0.000000 22.000000 -1.000000 v -0.382684 22.000000 -0.923880 v -0.707107 22.000000 -0.707107 v -0.923880 22.000000 -0.382683 @@ -969,25 +325,25 @@ v -1.000000 22.000000 0.000000 v -0.923880 22.000000 0.382684 v -0.707107 22.000000 0.707107 v -0.382684 22.000000 0.923880 -v -0.000000 22.000000 1.000000 +v 0.000000 22.000000 1.000000 v 0.382683 22.000000 0.923880 v 0.707107 22.000000 0.707107 -v 0.923879 22.000000 0.382684 +v 0.923880 22.000000 0.382684 v 1.000000 22.000000 -0.000000 -v 0.923879 22.000000 -0.382684 -v 0.707106 22.000000 -0.707107 +v 0.923880 22.000000 -0.382684 +v 0.707107 22.000000 -0.707107 v 0.382683 22.000000 -0.923880 v 0.751301 21.375000 -1.370020 v 1.370019 21.375000 -0.751301 -v 0.486136 19.834999 -1.104854 -v 1.104854 19.834999 -0.486136 +v 0.486135 19.834999 -1.104854 +v 1.104855 19.834999 -0.486136 v 1.370019 21.375000 0.751301 v 0.751301 21.375000 1.370019 -v 1.104854 19.834999 0.486136 -v 0.486136 19.834999 1.104854 +v 1.104855 19.834999 0.486136 +v 0.486135 19.834999 1.104854 v -1.370020 21.375000 -0.751301 v -0.751301 21.375000 -1.370019 -v -1.104854 19.834999 -0.486136 +v -1.104855 19.834999 -0.486136 v -0.486136 19.834999 -1.104854 v -1.875000 4.500000 -1.875000 v -1.875000 4.500000 -1.375000 @@ -1005,234 +361,6 @@ v 1.375000 4.500000 1.375000 v 1.375000 4.500000 1.875000 v 1.875000 4.500000 1.375000 v 1.875000 4.500000 1.875000 -v 0.375000 4.250000 -2.125000 -v 0.198223 4.250000 -2.051777 -v 0.125000 4.250000 -1.875000 -v 0.198223 4.250000 -1.698223 -v 0.375000 4.250000 -1.625000 -v 0.551777 4.250000 -1.698223 -v 0.625000 4.250000 -1.875000 -v 0.551777 4.250000 -2.051777 -v 0.375000 10.250000 -2.125000 -v 0.198223 10.250000 -2.051777 -v 0.125000 10.250000 -1.875000 -v 0.198223 10.250000 -1.698223 -v 0.375000 10.250000 -1.625000 -v 0.551777 10.250000 -1.698223 -v 0.625000 10.250000 -1.875000 -v 0.551777 10.250000 -2.051777 -v 0.375000 10.603554 -1.978553 -v 0.198223 10.551777 -1.926777 -v 0.125000 10.426777 -1.801777 -v 0.198223 10.301777 -1.676777 -v 0.551777 10.301777 -1.676777 -v 0.625000 10.426777 -1.801777 -v 0.551777 10.551777 -1.926777 -v 0.375000 10.750000 -1.625000 -v 0.198223 10.676777 -1.625000 -v 0.125000 10.500000 -1.625000 -v 0.198223 10.323223 -1.625000 -v 0.551777 10.323223 -1.625000 -v 0.625000 10.500000 -1.625000 -v 0.551777 10.676777 -1.625000 -v 0.375000 10.250000 -0.875000 -v 0.375000 10.750000 -0.875000 -v 0.198223 10.676777 -0.875000 -v 0.125000 10.500000 -0.875000 -v 0.198223 10.323223 -0.875000 -v 0.551777 10.323223 -0.875000 -v 0.625000 10.500000 -0.875000 -v 0.551777 10.676777 -0.875000 -v -0.350000 4.250000 -2.125000 -v -0.526777 4.250000 -2.051777 -v -0.600000 4.250000 -1.875000 -v -0.526777 4.250000 -1.698223 -v -0.350000 4.250000 -1.625000 -v -0.173223 4.250000 -1.698223 -v -0.100000 4.250000 -1.875000 -v -0.173223 4.250000 -2.051777 -v -0.350000 8.750000 -2.125000 -v -0.526777 8.750000 -2.051777 -v -0.600000 8.750000 -1.875000 -v -0.526777 8.750000 -1.698223 -v -0.350000 8.750000 -1.625000 -v -0.173223 8.750000 -1.698223 -v -0.100000 8.750000 -1.875000 -v -0.173223 8.750000 -2.051777 -v -0.350000 9.103554 -1.978553 -v -0.526777 9.051777 -1.926777 -v -0.600000 8.926777 -1.801777 -v -0.526777 8.801777 -1.676777 -v -0.173223 8.801777 -1.676777 -v -0.100000 8.926777 -1.801777 -v -0.173223 9.051777 -1.926777 -v -0.350000 9.250000 -1.625000 -v -0.526777 9.176777 -1.625000 -v -0.600000 9.000000 -1.625000 -v -0.526777 8.823223 -1.625000 -v -0.173223 8.823223 -1.625000 -v -0.100000 9.000000 -1.625000 -v -0.173223 9.176777 -1.625000 -v -0.350000 8.750000 -0.875000 -v -0.350000 9.250000 -0.875000 -v -0.526777 9.176777 -0.875000 -v -0.600000 9.000000 -0.875000 -v -0.526777 8.823223 -0.875000 -v -0.173223 8.823223 -0.875000 -v -0.100000 9.000000 -0.875000 -v -0.173223 9.176777 -0.875000 -v -0.375000 4.250000 2.125000 -v -0.198223 4.250000 2.051777 -v -0.125000 4.250000 1.875000 -v -0.198223 4.250000 1.698223 -v -0.375000 4.250000 1.625000 -v -0.551777 4.250000 1.698223 -v -0.625000 4.250000 1.875000 -v -0.551777 4.250000 2.051777 -v -0.375000 10.250000 2.125000 -v -0.198223 10.250000 2.051777 -v -0.125000 10.250000 1.875000 -v -0.198223 10.250000 1.698223 -v -0.375000 10.250000 1.625000 -v -0.551777 10.250000 1.698223 -v -0.625000 10.250000 1.875000 -v -0.551777 10.250000 2.051777 -v -0.375000 10.603554 1.978553 -v -0.198223 10.551777 1.926777 -v -0.125000 10.426777 1.801777 -v -0.198223 10.301777 1.676777 -v -0.551777 10.301777 1.676777 -v -0.625000 10.426777 1.801777 -v -0.551777 10.551777 1.926777 -v -0.375000 10.750000 1.625000 -v -0.198223 10.676777 1.625000 -v -0.125000 10.500000 1.625000 -v -0.198223 10.323223 1.625000 -v -0.551777 10.323223 1.625000 -v -0.625000 10.500000 1.625000 -v -0.551777 10.676777 1.625000 -v -0.375000 10.250000 0.875000 -v -0.375000 10.750000 0.875000 -v -0.198223 10.676777 0.875000 -v -0.125000 10.500000 0.875000 -v -0.198223 10.323223 0.875000 -v -0.551777 10.323223 0.875000 -v -0.625000 10.500000 0.875000 -v -0.551777 10.676777 0.875000 -v 0.350000 4.250000 2.125000 -v 0.526777 4.250000 2.051777 -v 0.600000 4.250000 1.875000 -v 0.526777 4.250000 1.698223 -v 0.350000 4.250000 1.625000 -v 0.173223 4.250000 1.698223 -v 0.100000 4.250000 1.875000 -v 0.173223 4.250000 2.051777 -v 0.350000 8.750000 2.125000 -v 0.526777 8.750000 2.051777 -v 0.600000 8.750000 1.875000 -v 0.526777 8.750000 1.698223 -v 0.350000 8.750000 1.625000 -v 0.173223 8.750000 1.698223 -v 0.100000 8.750000 1.875000 -v 0.173223 8.750000 2.051777 -v 0.350000 9.103554 1.978553 -v 0.526777 9.051777 1.926777 -v 0.600000 8.926777 1.801777 -v 0.526777 8.801777 1.676777 -v 0.173223 8.801777 1.676777 -v 0.100000 8.926777 1.801777 -v 0.173223 9.051777 1.926777 -v 0.350000 9.250000 1.625000 -v 0.526777 9.176777 1.625000 -v 0.600000 9.000000 1.625000 -v 0.526777 8.823223 1.625000 -v 0.173223 8.823223 1.625000 -v 0.100000 9.000000 1.625000 -v 0.173223 9.176777 1.625000 -v 0.350000 8.750000 0.875000 -v 0.350000 9.250000 0.875000 -v 0.526777 9.176777 0.875000 -v 0.600000 9.000000 0.875000 -v 0.526777 8.823223 0.875000 -v 0.173223 8.823223 0.875000 -v 0.100000 9.000000 0.875000 -v 0.173223 9.176777 0.875000 -v -2.125000 4.250000 -0.375000 -v -2.051777 4.250000 -0.198223 -v -1.875000 4.250000 -0.125000 -v -1.698223 4.250000 -0.198223 -v -1.625000 4.250000 -0.375000 -v -1.698223 4.250000 -0.551777 -v -1.875000 4.250000 -0.625000 -v -2.051777 4.250000 -0.551777 -v -2.125000 10.250000 -0.375000 -v -2.051777 10.250000 -0.198223 -v -1.875000 10.250000 -0.125000 -v -1.698223 10.250000 -0.198223 -v -1.625000 10.250000 -0.375000 -v -1.698223 10.250000 -0.551777 -v -1.875000 10.250000 -0.625000 -v -2.051777 10.250000 -0.551777 -v -1.978553 10.603554 -0.375000 -v -1.926777 10.551777 -0.198223 -v -1.801777 10.426777 -0.125000 -v -1.676777 10.301777 -0.198223 -v -1.676777 10.301777 -0.551777 -v -1.801777 10.426777 -0.625000 -v -1.926777 10.551777 -0.551777 -v -1.625000 10.750000 -0.375000 -v -1.625000 10.676777 -0.198223 -v -1.625000 10.500000 -0.125000 -v -1.625000 10.323223 -0.198223 -v -1.625000 10.323223 -0.551777 -v -1.625000 10.500000 -0.625000 -v -1.625000 10.676777 -0.551777 -v -0.875000 10.250000 -0.375000 -v -0.875000 10.750000 -0.375000 -v -0.875000 10.676777 -0.198223 -v -0.875000 10.500000 -0.125000 -v -0.875000 10.323223 -0.198223 -v -0.875000 10.323223 -0.551777 -v -0.875000 10.500000 -0.625000 -v -0.875000 10.676777 -0.551777 -v -2.125000 4.250000 0.350000 -v -2.051777 4.250000 0.526777 -v -1.875000 4.250000 0.600000 -v -1.698223 4.250000 0.526777 -v -1.625000 4.250000 0.350000 -v -1.698223 4.250000 0.173223 -v -1.875000 4.250000 0.100000 -v -2.051777 4.250000 0.173223 -v -2.125000 8.750000 0.350000 -v -2.051777 8.750000 0.526777 -v -1.875000 8.750000 0.600000 -v -1.698223 8.750000 0.526777 -v -1.625000 8.750000 0.350000 -v -1.698223 8.750000 0.173223 -v -1.875000 8.750000 0.100000 -v -2.051777 8.750000 0.173223 -v -1.978553 9.103554 0.350000 -v -1.926777 9.051777 0.526777 -v -1.801777 8.926777 0.600000 -v -1.676777 8.801777 0.526777 -v -1.676777 8.801777 0.173223 -v -1.801777 8.926777 0.100000 -v -1.926777 9.051777 0.173223 -v -1.625000 9.250000 0.350000 -v -1.625000 9.176777 0.526777 -v -1.625000 9.000000 0.600000 -v -1.625000 8.823223 0.526777 -v -1.625000 8.823223 0.173223 -v -1.625000 9.000000 0.100000 -v -1.625000 9.176777 0.173223 -v -0.875000 8.750000 0.350000 -v -0.875000 9.250000 0.350000 -v -0.875000 9.176777 0.526777 -v -0.875000 9.000000 0.600000 -v -0.875000 8.823223 0.526777 -v -0.875000 8.823223 0.173223 -v -0.875000 9.000000 0.100000 -v -0.875000 9.176777 0.173223 v 2.125000 4.250000 0.375000 v 2.051777 4.250000 0.198223 v 1.875000 4.250000 0.125000 @@ -1287,7 +415,7 @@ v 1.625000 8.750000 -0.350000 v 1.698223 8.750000 -0.173223 v 1.875000 8.750000 -0.100000 v 2.051777 8.750000 -0.173223 -v 1.978553 9.103554 -0.350000 +v 1.978554 9.103554 -0.350000 v 1.926777 9.051777 -0.526777 v 1.801777 8.926777 -0.600000 v 1.676777 8.801777 -0.526777 @@ -1309,6 +437,1275 @@ v 0.875000 8.823223 -0.526777 v 0.875000 8.823223 -0.173223 v 0.875000 9.000000 -0.100000 v 0.875000 9.176777 -0.173223 +v -2.125000 4.250000 -0.375000 +v -2.051777 4.250000 -0.198223 +v -1.875000 4.250000 -0.125000 +v -1.698223 4.250000 -0.198223 +v -1.625000 4.250000 -0.375000 +v -1.698223 4.250000 -0.551776 +v -1.875000 4.250000 -0.625000 +v -2.051777 4.250000 -0.551776 +v -2.125000 10.250000 -0.375000 +v -2.051777 10.250000 -0.198223 +v -1.875000 10.250000 -0.125000 +v -1.698223 10.250000 -0.198223 +v -1.625000 10.250000 -0.375000 +v -1.698223 10.250000 -0.551776 +v -1.875000 10.250000 -0.625000 +v -2.051777 10.250000 -0.551776 +v -1.978554 10.603554 -0.375000 +v -1.926777 10.551777 -0.198223 +v -1.801777 10.426777 -0.125000 +v -1.676777 10.301777 -0.198223 +v -1.676777 10.301777 -0.551776 +v -1.801777 10.426777 -0.625000 +v -1.926777 10.551777 -0.551776 +v -1.625000 10.750000 -0.375000 +v -1.625000 10.676777 -0.198223 +v -1.625000 10.500000 -0.125000 +v -1.625000 10.323223 -0.198223 +v -1.625000 10.323223 -0.551776 +v -1.625000 10.500000 -0.625000 +v -1.625000 10.676777 -0.551776 +v -0.875000 10.250000 -0.375000 +v -0.875000 10.750000 -0.375000 +v -0.875000 10.676777 -0.198223 +v -0.875000 10.500000 -0.125000 +v -0.875000 10.323223 -0.198223 +v -0.875000 10.323223 -0.551777 +v -0.875000 10.500000 -0.625000 +v -0.875000 10.676777 -0.551777 +v -2.125000 4.250000 0.350001 +v -2.051777 4.250000 0.526777 +v -1.875000 4.250000 0.600001 +v -1.698223 4.250000 0.526777 +v -1.625000 4.250000 0.350000 +v -1.698223 4.250000 0.173224 +v -1.875000 4.250000 0.100000 +v -2.051777 4.250000 0.173224 +v -2.125000 8.750000 0.350001 +v -2.051777 8.750000 0.526777 +v -1.875000 8.750000 0.600001 +v -1.698223 8.750000 0.526777 +v -1.625000 8.750000 0.350000 +v -1.698223 8.750000 0.173224 +v -1.875000 8.750000 0.100000 +v -2.051777 8.750000 0.173224 +v -1.978554 9.103554 0.350000 +v -1.926777 9.051777 0.526777 +v -1.801777 8.926777 0.600001 +v -1.676777 8.801777 0.526777 +v -1.676777 8.801777 0.173224 +v -1.801777 8.926777 0.100000 +v -1.926777 9.051777 0.173224 +v -1.625000 9.250000 0.350000 +v -1.625000 9.176777 0.526777 +v -1.625000 9.000000 0.600000 +v -1.625000 8.823223 0.526777 +v -1.625000 8.823223 0.173224 +v -1.625000 9.000000 0.100000 +v -1.625000 9.176777 0.173224 +v -0.875000 8.750000 0.350000 +v -0.875000 9.250000 0.350000 +v -0.875000 9.176777 0.526777 +v -0.875000 9.000000 0.600000 +v -0.875000 8.823223 0.526777 +v -0.875000 8.823223 0.173223 +v -0.875000 9.000000 0.100000 +v -0.875000 9.176777 0.173223 +v 0.375000 4.250000 -2.125000 +v 0.198223 4.250000 -2.051777 +v 0.125000 4.250000 -1.875000 +v 0.198223 4.250000 -1.698223 +v 0.375000 4.250000 -1.625000 +v 0.551776 4.250000 -1.698223 +v 0.625000 4.250000 -1.875000 +v 0.551776 4.250000 -2.051777 +v 0.375000 10.250000 -2.125000 +v 0.198223 10.250000 -2.051777 +v 0.125000 10.250000 -1.875000 +v 0.198223 10.250000 -1.698223 +v 0.375000 10.250000 -1.625000 +v 0.551776 10.250000 -1.698223 +v 0.625000 10.250000 -1.875000 +v 0.551776 10.250000 -2.051777 +v 0.375000 10.603554 -1.978554 +v 0.198223 10.551777 -1.926777 +v 0.125000 10.426777 -1.801777 +v 0.198223 10.301777 -1.676777 +v 0.551776 10.301777 -1.676777 +v 0.625000 10.426777 -1.801777 +v 0.551776 10.551777 -1.926777 +v 0.375000 10.750000 -1.625000 +v 0.198223 10.676777 -1.625000 +v 0.125000 10.500000 -1.625000 +v 0.198223 10.323223 -1.625000 +v 0.551776 10.323223 -1.625000 +v 0.625000 10.500000 -1.625000 +v 0.551776 10.676777 -1.625000 +v 0.375000 10.250000 -0.875000 +v 0.375000 10.750000 -0.875000 +v 0.198223 10.676777 -0.875000 +v 0.125000 10.500000 -0.875000 +v 0.198223 10.323223 -0.875000 +v 0.551776 10.323223 -0.875000 +v 0.625000 10.500000 -0.875000 +v 0.551776 10.676777 -0.875000 +v -0.350000 4.250000 -2.125000 +v -0.526777 4.250000 -2.051777 +v -0.600000 4.250000 -1.875000 +v -0.526777 4.250000 -1.698223 +v -0.350000 4.250000 -1.625000 +v -0.173224 4.250000 -1.698223 +v -0.100000 4.250000 -1.875000 +v -0.173223 4.250000 -2.051777 +v -0.350000 8.750000 -2.125000 +v -0.526777 8.750000 -2.051777 +v -0.600000 8.750000 -1.875000 +v -0.526777 8.750000 -1.698223 +v -0.350000 8.750000 -1.625000 +v -0.173224 8.750000 -1.698223 +v -0.100000 8.750000 -1.875000 +v -0.173223 8.750000 -2.051777 +v -0.350000 9.103554 -1.978554 +v -0.526777 9.051777 -1.926777 +v -0.600000 8.926777 -1.801777 +v -0.526777 8.801777 -1.676777 +v -0.173224 8.801777 -1.676777 +v -0.100000 8.926777 -1.801777 +v -0.173223 9.051777 -1.926777 +v -0.350000 9.250000 -1.625000 +v -0.526777 9.176777 -1.625000 +v -0.600000 9.000000 -1.625000 +v -0.526777 8.823223 -1.625000 +v -0.173224 8.823223 -1.625000 +v -0.100000 9.000000 -1.625000 +v -0.173224 9.176777 -1.625000 +v -0.350000 8.750000 -0.875000 +v -0.350000 9.250000 -0.875000 +v -0.526777 9.176777 -0.875000 +v -0.600000 9.000000 -0.875000 +v -0.526777 8.823223 -0.875000 +v -0.173223 8.823223 -0.875000 +v -0.100000 9.000000 -0.875000 +v -0.173223 9.176777 -0.875000 +v -0.375000 4.250000 2.125000 +v -0.198223 4.250000 2.051777 +v -0.125000 4.250000 1.875000 +v -0.198223 4.250000 1.698223 +v -0.375000 4.250000 1.625000 +v -0.551776 4.250000 1.698223 +v -0.625000 4.250000 1.875000 +v -0.551776 4.250000 2.051777 +v -0.375000 10.250000 2.125000 +v -0.198223 10.250000 2.051777 +v -0.125000 10.250000 1.875000 +v -0.198223 10.250000 1.698223 +v -0.375000 10.250000 1.625000 +v -0.551776 10.250000 1.698223 +v -0.625000 10.250000 1.875000 +v -0.551776 10.250000 2.051777 +v -0.375000 10.603554 1.978554 +v -0.198223 10.551777 1.926777 +v -0.125000 10.426777 1.801777 +v -0.198223 10.301777 1.676777 +v -0.551776 10.301777 1.676777 +v -0.625000 10.426777 1.801777 +v -0.551776 10.551777 1.926777 +v -0.375000 10.750000 1.625000 +v -0.198223 10.676777 1.625000 +v -0.125000 10.500000 1.625000 +v -0.198223 10.323223 1.625000 +v -0.551776 10.323223 1.625000 +v -0.625000 10.500000 1.625000 +v -0.551776 10.676777 1.625000 +v -0.375000 10.250000 0.875000 +v -0.375000 10.750000 0.875000 +v -0.198223 10.676777 0.875000 +v -0.125000 10.500000 0.875000 +v -0.198223 10.323223 0.875000 +v -0.551776 10.323223 0.875000 +v -0.625000 10.500000 0.875000 +v -0.551776 10.676777 0.875000 +v 0.350001 4.250000 2.125000 +v 0.526777 4.250000 2.051777 +v 0.600001 4.250000 1.875000 +v 0.526777 4.250000 1.698223 +v 0.350000 4.250000 1.625000 +v 0.173224 4.250000 1.698223 +v 0.100001 4.250000 1.875000 +v 0.173224 4.250000 2.051777 +v 0.350001 8.750000 2.125000 +v 0.526777 8.750000 2.051777 +v 0.600001 8.750000 1.875000 +v 0.526777 8.750000 1.698223 +v 0.350000 8.750000 1.625000 +v 0.173224 8.750000 1.698223 +v 0.100001 8.750000 1.875000 +v 0.173224 8.750000 2.051777 +v 0.350001 9.103554 1.978554 +v 0.526777 9.051777 1.926777 +v 0.600001 8.926777 1.801777 +v 0.526777 8.801777 1.676777 +v 0.173224 8.801777 1.676777 +v 0.100001 8.926777 1.801777 +v 0.173224 9.051777 1.926777 +v 0.350000 9.250000 1.625000 +v 0.526777 9.176777 1.625000 +v 0.600000 9.000000 1.625000 +v 0.526777 8.823223 1.625000 +v 0.173224 8.823223 1.625000 +v 0.100001 9.000000 1.625000 +v 0.173224 9.176777 1.625000 +v 0.350000 8.750000 0.875000 +v 0.350000 9.250000 0.875000 +v 0.526777 9.176777 0.875000 +v 0.600000 9.000000 0.875000 +v 0.526777 8.823223 0.875000 +v 0.173223 8.823223 0.875000 +v 0.100000 9.000000 0.875000 +v 0.173223 9.176777 0.875000 +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 0.062500 -0.500000 +v -0.500000 0.062500 0.500000 +v 0.500000 0.062500 0.500000 +v 0.500000 0.062500 -0.500000 +v -0.437500 0.062500 -0.437500 +v -0.437500 0.062500 0.437500 +v 0.437500 0.062500 0.437500 +v 0.437500 0.062500 -0.437500 +v -0.437500 0.000000 -0.437500 +v -0.437500 0.000000 0.437500 +v 0.437500 0.000000 0.437500 +v 0.437500 0.000000 -0.437500 +vt 0.272727 -0.000000 +vt 0.212121 0.057971 +vt 0.181818 -0.000000 +vt 0.121212 0.231884 +vt -0.000000 0.289855 +vt 0.030303 0.231884 +vt 0.424242 0.173913 +vt 0.333333 0.231884 +vt 0.333333 0.173913 +vt 0.121212 0.173913 +vt 0.030303 0.173913 +vt 0.272727 0.173913 +vt 0.181818 0.231884 +vt 0.181818 0.173913 +vt 0.575758 0.173913 +vt 0.484848 0.231884 +vt 0.484848 0.173913 +vt 0.303030 0.289855 +vt 0.151515 0.405797 +vt 0.151515 0.289855 +vt 0.272727 0.231884 +vt 0.575758 0.231884 +vt 0.454545 0.289855 +vt 0.424242 0.231884 +vt 0.454545 0.405797 +vt 0.333333 0.463768 +vt 0.303030 0.405797 +vt 0.606061 0.289855 +vt 0.000000 0.405797 +vt 0.272727 0.463768 +vt 0.181818 0.579710 +vt 0.181818 0.463768 +vt 0.030303 0.463768 +vt 0.606061 0.405797 +vt 0.484848 0.463768 +vt 0.575758 0.463768 +vt 0.484848 0.579710 +vt 0.422348 0.463768 +vt 0.333333 0.579710 +vt 0.117424 0.463768 +vt 0.030303 0.579710 +vt 0.170455 0.057971 +vt 0.159091 0.173913 +vt 0.159091 0.057971 +vt 0.181818 0.057971 +vt 0.170455 0.173913 +vt 0.147727 0.173913 +vt 0.136364 0.057971 +vt 0.147727 0.057971 +vt 0.147727 0.036232 +vt 0.159091 0.036232 +vt 0.159091 0.057971 +vt 0.147727 0.173913 +vt 0.147727 0.057971 +vt 0.170455 0.057971 +vt 0.159091 0.173913 +vt 0.136364 0.173913 +vt 0.181818 0.173913 +vt 0.181818 0.057971 +vt 0.159091 0.036232 +vt 0.181818 0.057971 +vt 0.170455 0.173913 +vt 0.170455 0.057971 +vt 0.147727 0.057971 +vt 0.136364 0.173913 +vt 0.136364 0.057971 +vt 0.159091 0.173913 +vt 0.159091 0.057971 +vt 0.159091 0.036232 +vt 0.147727 0.036232 +vt 0.147727 0.057971 +vt 0.136364 0.173913 +vt 0.136364 0.057971 +vt 0.159091 0.057971 +vt 0.147727 0.173913 +vt 0.170455 0.173913 +vt 0.181818 0.057971 +vt 0.181818 0.173913 +vt 0.170455 0.057971 +vt 0.147727 0.036232 +vt 0.125000 0.000000 +vt 0.113636 0.173913 +vt 0.113636 0.000000 +vt 0.136364 0.000000 +vt 0.125000 0.173913 +vt 0.102273 0.173913 +vt 0.090909 0.000000 +vt 0.102273 0.000000 +vt 0.454545 0.579710 +vt 0.424242 0.811594 +vt 0.424242 0.637681 +vt 0.113636 0.000000 +vt 0.102273 0.173913 +vt 0.102273 0.000000 +vt 0.125000 0.000000 +vt 0.113636 0.173913 +vt 0.090909 0.173913 +vt 0.136364 0.173913 +vt 0.136364 0.000000 +vt 0.303030 0.579710 +vt 0.136364 0.000000 +vt 0.125000 0.173913 +vt 0.125000 0.000000 +vt 0.102273 0.000000 +vt 0.090909 0.173913 +vt 0.090909 0.000000 +vt 0.113636 0.173913 +vt 0.113636 0.000000 +vt 0.333333 0.637681 +vt 0.303030 0.869565 +vt 0.102273 0.000000 +vt 0.090909 0.173913 +vt 0.090909 0.000000 +vt 0.113636 0.000000 +vt 0.102273 0.173913 +vt 0.125000 0.173913 +vt 0.136364 0.000000 +vt 0.136364 0.173913 +vt 0.125000 0.000000 +vt 0.333333 0.811594 +vt 0.053030 0.579710 +vt 0.181818 0.601449 +vt 0.053030 0.601449 +vt 0.181818 0.623188 +vt 0.053030 0.644928 +vt 0.053030 0.623188 +vt 0.053030 0.666667 +vt 0.181818 0.644928 +vt 0.181818 0.666667 +vt 0.181818 0.601449 +vt 0.053030 0.579710 +vt 0.181818 0.579710 +vt 0.053030 0.644928 +vt 0.181818 0.623188 +vt 0.181818 0.644928 +vt 0.053030 0.666667 +vt 0.181818 0.666667 +vt 0.053030 0.623188 +vt 0.053030 0.601449 +vt 0.053030 0.579710 +vt 0.181818 0.601449 +vt 0.053030 0.601449 +vt 0.181818 0.623188 +vt 0.053030 0.644928 +vt 0.053030 0.623188 +vt 0.053030 0.666667 +vt 0.181818 0.644928 +vt 0.181818 0.666667 +vt 0.181818 0.601449 +vt 0.053030 0.579710 +vt 0.181818 0.579710 +vt 0.053030 0.644928 +vt 0.181818 0.623188 +vt 0.181818 0.644928 +vt 0.053030 0.666667 +vt 0.181818 0.666667 +vt 0.053030 0.623188 +vt 0.053030 0.601449 +vt 0.575758 0.637681 +vt 0.606061 0.869565 +vt 0.575758 0.811594 +vt 0.454545 0.869565 +vt 0.454545 0.579710 +vt 0.484848 0.811594 +vt 0.484848 0.637681 +vt 0.477273 0.869565 +vt 0.606061 0.884058 +vt 0.477273 0.884058 +vt 0.477273 0.869565 +vt 0.606061 0.884058 +vt 0.477273 0.884058 +vt 0.477273 0.869565 +vt 0.606061 0.884058 +vt 0.477273 0.884058 +vt 0.477273 0.869565 +vt 0.606061 0.884058 +vt 0.477273 0.884058 +vt 0.053030 0.666667 +vt 0.181818 0.688406 +vt 0.053030 0.688406 +vt 0.181818 0.710145 +vt 0.053030 0.731884 +vt 0.053030 0.710145 +vt 0.053030 0.753623 +vt 0.181818 0.731884 +vt 0.181818 0.753623 +vt 0.181818 0.688406 +vt 0.053030 0.666667 +vt 0.181818 0.666667 +vt 0.053030 0.731884 +vt 0.181818 0.710145 +vt 0.181818 0.731884 +vt 0.053030 0.753623 +vt 0.181818 0.753623 +vt 0.053030 0.710145 +vt 0.053030 0.688406 +vt 0.053030 0.666667 +vt 0.181818 0.688406 +vt 0.053030 0.688406 +vt 0.181818 0.710145 +vt 0.053030 0.731884 +vt 0.053030 0.710145 +vt 0.053030 0.753623 +vt 0.181818 0.731884 +vt 0.181818 0.753623 +vt 0.181818 0.688406 +vt 0.053030 0.666667 +vt 0.181818 0.666667 +vt 0.053030 0.731884 +vt 0.181818 0.710145 +vt 0.181818 0.731884 +vt 0.053030 0.753623 +vt 0.181818 0.753623 +vt 0.053030 0.710145 +vt 0.053030 0.688406 +vt 0.833333 0.927536 +vt 0.818182 0.942029 +vt 0.818182 0.927536 +vt 0.848485 0.927536 +vt 0.833333 0.942029 +vt 0.606061 0.927536 +vt 0.621212 0.942029 +vt 0.606061 0.942029 +vt 0.636364 0.927536 +vt 0.621212 0.927536 +vt 0.651515 0.942029 +vt 0.636364 0.942029 +vt 0.666667 0.927536 +vt 0.651515 0.927536 +vt 0.681818 0.942029 +vt 0.666667 0.942029 +vt 0.681818 0.927536 +vt 0.696970 0.942029 +vt 0.712121 0.927536 +vt 0.696970 0.927536 +vt 0.727273 0.927536 +vt 0.712121 0.942029 +vt 0.742424 0.942029 +vt 0.727273 0.942029 +vt 0.742424 0.927536 +vt 0.757576 0.942029 +vt 0.772727 0.927536 +vt 0.757576 0.927536 +vt 0.787879 0.927536 +vt 0.772727 0.942029 +vt 0.803030 0.927536 +vt 0.787879 0.942029 +vt 0.803030 0.942029 +vt 0.242424 0.768116 +vt 0.121212 1.000000 +vt 0.121212 0.768116 +vt 0.121212 0.768116 +vt 0.242424 1.000000 +vt 0.121212 1.000000 +vt 0.242424 0.753623 +vt 0.121212 0.768116 +vt 0.121212 0.753623 +vt 0.242424 0.753623 +vt 0.121212 0.753623 +vt 0.242424 0.753623 +vt 0.121212 0.768116 +vt 0.121212 0.753623 +vt 0.242424 0.753623 +vt 0.121212 0.768116 +vt 0.121212 0.753623 +vt 0.000000 1.000000 +vt 0.121212 0.768116 +vt 0.121212 1.000000 +vt 0.000000 0.768116 +vt 0.121212 1.000000 +vt 0.000000 1.000000 +vt 0.121212 0.753623 +vt -0.000000 0.768116 +vt -0.000000 0.753623 +vt 0.121212 0.753623 +vt -0.000000 0.753623 +vt 0.121212 0.753623 +vt -0.000000 0.768116 +vt -0.000000 0.753623 +vt 0.121212 0.753623 +vt -0.000000 0.768116 +vt -0.000000 0.753623 +vt 0.981061 0.731884 +vt 0.875000 0.934783 +vt 0.875000 0.731884 +vt 0.875000 0.731884 +vt 0.981061 0.934783 +vt 0.875000 0.934783 +vt 0.981061 0.717391 +vt 0.875000 0.731884 +vt 0.875000 0.717391 +vt 0.981061 0.717391 +vt 0.875000 0.717391 +vt 0.981061 0.717391 +vt 0.875000 0.731884 +vt 0.875000 0.717391 +vt 0.981061 0.717391 +vt 0.875000 0.731884 +vt 0.875000 0.717391 +vt 0.893939 0.144928 +vt 0.878788 0.717391 +vt 0.878788 0.144928 +vt 0.863636 0.717391 +vt 0.848485 0.144928 +vt 0.863636 0.144928 +vt 0.545455 0.115942 +vt 0.424242 0.057971 +vt 0.545455 0.057971 +vt 0.893939 0.717391 +vt 0.909091 0.144928 +vt 0.909091 0.717391 +vt 0.545455 0.115942 +vt 0.424242 0.057971 +vt 0.545455 0.057971 +vt 0.863636 0.144928 +vt 0.878788 0.717391 +vt 0.863636 0.717391 +vt 0.909091 0.144928 +vt 0.893939 0.717391 +vt 0.893939 0.144928 +vt 0.545455 0.115942 +vt 0.424242 0.057971 +vt 0.545455 0.057971 +vt 0.545455 0.115942 +vt 0.424242 0.057971 +vt 0.545455 0.057971 +vt 0.848485 0.144928 +vt 0.909091 0.144928 +vt 0.893939 0.717391 +vt 0.893939 0.144928 +vt 0.878788 0.717391 +vt 0.863636 0.144928 +vt 0.878788 0.144928 +vt 0.545455 0.057971 +vt 0.424242 0.000000 +vt 0.545455 0.000000 +vt 0.848485 0.144928 +vt 0.863636 0.717391 +vt 0.848485 0.717391 +vt 0.545455 0.057971 +vt 0.424242 0.000000 +vt 0.545455 0.000000 +vt 0.848485 0.144928 +vt 0.863636 0.717391 +vt 0.848485 0.717391 +vt 0.893939 0.144928 +vt 0.878788 0.717391 +vt 0.878788 0.144928 +vt 0.545455 0.057971 +vt 0.424242 0.000000 +vt 0.545455 0.000000 +vt 0.863636 0.144928 +vt 0.545455 0.057971 +vt 0.424242 0.000000 +vt 0.545455 0.000000 +vt 0.909091 0.144928 +vt 0.893939 0.717391 +vt 0.530303 0.144928 +vt 0.424242 0.115942 +vt 0.530303 0.115942 +vt 0.530303 0.144928 +vt 0.424242 0.115942 +vt 0.530303 0.115942 +vt 0.530303 0.144928 +vt 0.424242 0.115942 +vt 0.530303 0.115942 +vt 0.530303 0.144928 +vt 0.424242 0.115942 +vt 0.530303 0.115942 +vt 0.875000 0.804348 +vt 0.848485 0.717391 +vt 0.875000 0.717391 +vt 0.597077 0.017186 +vt 0.605908 0.057971 +vt 0.545607 0.057971 +vt 0.848485 0.804348 +vt 0.875000 0.717391 +vt 0.875000 0.804348 +vt 0.848485 0.804348 +vt 0.875000 0.717391 +vt 0.875000 0.804348 +vt 0.848485 0.804348 +vt 0.875000 0.717391 +vt 0.875000 0.804348 +vt 0.909091 0.000000 +vt 0.909091 0.000000 +vt 0.909091 0.000000 +vt 0.878788 0.000000 +vt 0.909091 0.000000 +vt 0.863636 0.000000 +vt 0.893939 0.000000 +vt 0.893939 0.000000 +vt 0.863636 0.000000 +vt 0.878788 0.000000 +vt 0.878788 0.144928 +vt 0.893939 0.000000 +vt 0.878788 0.000000 +vt 0.863636 0.000000 +vt 0.863636 0.000000 +vt 0.878788 0.000000 +vt 0.893939 0.000000 +vt 0.181818 0.753623 +vt 0.272727 0.579710 +vt 0.272727 0.753623 +vt 0.276515 0.072464 +vt 0.306818 0.068841 +vt 0.306818 0.072464 +vt 0.242424 0.057971 +vt 0.242424 0.115942 +vt 0.212121 0.115942 +vt 0.308712 0.065217 +vt 0.306818 0.010870 +vt 0.308712 0.007246 +vt 0.306818 0.000000 +vt 0.276515 0.003623 +vt 0.276515 0.000000 +vt 0.310606 0.065217 +vt 0.310606 0.007246 +vt 0.272727 0.007246 +vt 0.274621 0.065217 +vt 0.272727 0.065217 +vt 0.278409 0.065217 +vt 0.304924 0.061594 +vt 0.304924 0.065217 +vt 0.274621 0.007246 +vt 0.276515 0.061594 +vt 0.276515 0.068841 +vt 0.306818 0.003623 +vt 0.278409 0.007246 +vt 0.304924 0.010870 +vt 0.278409 0.061594 +vt 0.278409 0.010870 +vt 0.304924 0.007246 +vt 0.306818 0.061594 +vt 0.276515 0.010870 +vt 0.575758 0.579710 +vt 0.422348 0.579710 +vt 0.117424 0.579710 +vt 0.181818 0.173913 +vt 0.136364 0.173913 +vt 0.170455 0.173913 +vt 0.136364 0.057971 +vt 0.147727 0.036232 +vt 0.181818 0.173913 +vt 0.147727 0.173913 +vt 0.159091 0.173913 +vt 0.159091 0.036232 +vt 0.136364 0.173913 +vt 0.090909 0.173913 +vt 0.454545 0.869565 +vt 0.125000 0.173913 +vt 0.090909 0.000000 +vt 0.136364 0.173913 +vt 0.102273 0.173913 +vt 0.113636 0.173913 +vt 0.181818 0.579710 +vt 0.181818 0.579710 +vt 0.606061 0.579710 +vt 0.606061 0.869565 +vt 0.606061 0.869565 +vt 0.606061 0.869565 +vt 0.606061 0.869565 +vt 0.181818 0.666667 +vt 0.181818 0.666667 +vt 0.848485 0.942029 +vt 0.242424 1.000000 +vt 0.242424 0.768116 +vt 0.242424 0.768116 +vt 0.242424 0.768116 +vt 0.242424 0.768116 +vt 0.000000 0.768116 +vt 0.121212 0.768116 +vt 0.121212 0.768116 +vt 0.121212 0.768116 +vt 0.121212 0.768116 +vt 0.981061 0.934783 +vt 0.981061 0.731884 +vt 0.981061 0.731884 +vt 0.981061 0.731884 +vt 0.981061 0.731884 +vt 0.848485 0.717391 +vt 0.424242 0.115942 +vt 0.424242 0.115942 +vt 0.909091 0.717391 +vt 0.424242 0.115942 +vt 0.424242 0.115942 +vt 0.848485 0.717391 +vt 0.909091 0.717391 +vt 0.424242 0.057971 +vt 0.424242 0.057971 +vt 0.424242 0.057971 +vt 0.424242 0.057971 +vt 0.909091 0.717391 +vt 0.424242 0.144928 +vt 0.424242 0.144928 +vt 0.424242 0.144928 +vt 0.424242 0.144928 +vt 0.848485 0.804348 +vt 0.603613 0.080044 +vt 0.597077 0.098756 +vt 0.587296 0.111259 +vt 0.575758 0.115650 +vt 0.564219 0.111259 +vt 0.554438 0.098756 +vt 0.547902 0.080044 +vt 0.547902 0.035898 +vt 0.575758 0.000292 +vt 0.554438 0.017186 +vt 0.564219 0.004683 +vt 0.587296 0.004683 +vt 0.603613 0.035898 +vt 0.848485 0.717391 +vt 0.848485 0.717391 +vt 0.848485 0.717391 +vt 0.848485 0.000000 +vt 0.848485 0.000000 +vt 0.848485 0.000000 +vt 0.848485 0.000000 +vt 0.696970 0.000000 +vt 0.681818 0.000000 +vt 0.833333 0.000000 +vt 0.818182 0.000000 +vt 0.712121 0.000000 +vt 0.848485 0.000000 +vt 0.727273 0.000000 +vt 0.621212 0.000000 +vt 0.606061 0.000000 +vt 0.742424 0.000000 +vt 0.636364 0.000000 +vt 0.757576 0.000000 +vt 0.651515 0.000000 +vt 0.772727 0.000000 +vt 0.666667 0.000000 +vt 0.803030 0.000000 +vt 0.787879 0.000000 +vt 0.696970 1.000000 +vt 0.708333 0.942029 +vt 0.708333 1.000000 +vt 0.776515 1.000000 +vt 0.787879 0.942029 +vt 0.787879 1.000000 +vt 0.685606 1.000000 +vt 0.696970 0.942029 +vt 0.765152 1.000000 +vt 0.776515 0.942029 +vt 0.674242 1.000000 +vt 0.685606 0.942029 +vt 0.753788 1.000000 +vt 0.765152 0.942029 +vt 0.662879 1.000000 +vt 0.674242 0.942029 +vt 0.742424 1.000000 +vt 0.753788 0.942029 +vt 0.640152 1.000000 +vt 0.651515 0.942029 +vt 0.651515 1.000000 +vt 0.662879 0.942029 +vt 0.731061 1.000000 +vt 0.742424 0.942029 +vt 0.628788 1.000000 +vt 0.640152 0.942029 +vt 0.719697 1.000000 +vt 0.731061 0.942029 +vt 0.617424 1.000000 +vt 0.628788 0.942029 +vt 0.719697 0.942029 +vt 0.606061 1.000000 +vt 0.617424 0.942029 +vt 0.931818 0.217391 +vt 0.926136 0.565217 +vt 0.926136 0.217391 +vt 0.920455 0.217391 +vt 0.914773 0.565217 +vt 0.914773 0.217391 +vt 0.954545 0.217391 +vt 0.948864 0.565217 +vt 0.948864 0.217391 +vt 0.943182 0.217391 +vt 0.937500 0.565217 +vt 0.937500 0.217391 +vt 0.920455 0.565217 +vt 0.909091 0.565217 +vt 0.909091 0.217391 +vt 0.943182 0.565217 +vt 0.931818 0.565217 +vt 0.937500 0.568841 +vt 0.943182 0.586957 +vt 0.937500 0.586957 +vt 0.926136 0.568841 +vt 0.920455 0.586957 +vt 0.920455 0.576087 +vt 0.943182 0.576087 +vt 0.948864 0.586957 +vt 0.931818 0.586957 +vt 0.926136 0.586957 +vt 0.914773 0.586957 +vt 0.914773 0.583333 +vt 0.931818 0.608696 +vt 0.926136 0.605072 +vt 0.920455 0.597826 +vt 0.914773 0.590580 +vt 0.943182 0.597826 +vt 0.937500 0.605072 +vt 0.948864 0.583333 +vt 0.954545 0.586957 +vt 0.948864 0.590580 +vt 0.909091 0.586957 +vt 0.914773 0.608696 +vt 0.909091 0.652174 +vt 0.909091 0.608696 +vt 0.926136 0.652174 +vt 0.926136 0.608696 +vt 0.954545 0.608696 +vt 0.948864 0.652174 +vt 0.948864 0.608696 +vt 0.920455 0.608696 +vt 0.914773 0.652174 +vt 0.943182 0.608696 +vt 0.937500 0.652174 +vt 0.937500 0.608696 +vt 0.920455 0.652174 +vt 0.943182 0.652174 +vt 0.931818 0.652174 +vt 0.977273 0.217391 +vt 0.971591 0.478261 +vt 0.971591 0.217391 +vt 0.965909 0.217391 +vt 0.960227 0.478261 +vt 0.960227 0.217391 +vt 1.000000 0.217391 +vt 0.994318 0.478261 +vt 0.994318 0.217391 +vt 0.988636 0.217391 +vt 0.982955 0.478261 +vt 0.982955 0.217391 +vt 0.965909 0.478261 +vt 0.954545 0.478261 +vt 0.954545 0.217391 +vt 0.988636 0.478261 +vt 0.977273 0.478261 +vt 0.982955 0.481884 +vt 0.988636 0.500000 +vt 0.982955 0.500000 +vt 0.971591 0.481884 +vt 0.965909 0.500000 +vt 0.965909 0.489130 +vt 0.988636 0.489130 +vt 0.994318 0.500000 +vt 0.977273 0.500000 +vt 0.971591 0.500000 +vt 0.960227 0.500000 +vt 0.960227 0.496377 +vt 0.977273 0.521739 +vt 0.971591 0.518116 +vt 0.960227 0.503623 +vt 0.982955 0.518116 +vt 0.965909 0.510870 +vt 0.988636 0.510870 +vt 0.994318 0.496377 +vt 1.000000 0.500000 +vt 0.994318 0.503623 +vt 0.954545 0.500000 +vt 0.960227 0.521739 +vt 0.954545 0.565217 +vt 0.954545 0.521739 +vt 0.971591 0.565217 +vt 0.971591 0.521739 +vt 1.000000 0.521739 +vt 0.994318 0.565217 +vt 0.994318 0.521739 +vt 0.965909 0.521739 +vt 0.960227 0.565217 +vt 0.988636 0.521739 +vt 0.982955 0.565217 +vt 0.982955 0.521739 +vt 0.965909 0.565217 +vt 0.988636 0.565217 +vt 0.977273 0.565217 +vt 0.931818 0.217391 +vt 0.926136 0.565217 +vt 0.926136 0.217391 +vt 0.920455 0.217391 +vt 0.914773 0.565217 +vt 0.914773 0.217391 +vt 0.954545 0.217391 +vt 0.948864 0.565217 +vt 0.948864 0.217391 +vt 0.943182 0.217391 +vt 0.937500 0.565217 +vt 0.937500 0.217391 +vt 0.920455 0.565217 +vt 0.909091 0.565217 +vt 0.909091 0.217391 +vt 0.943182 0.565217 +vt 0.931818 0.565217 +vt 0.937500 0.568841 +vt 0.943182 0.586957 +vt 0.937500 0.586957 +vt 0.926136 0.568841 +vt 0.920455 0.586957 +vt 0.920455 0.576087 +vt 0.943182 0.576087 +vt 0.948864 0.586957 +vt 0.931818 0.586957 +vt 0.926136 0.586957 +vt 0.914773 0.586957 +vt 0.914773 0.583333 +vt 0.931818 0.608696 +vt 0.926136 0.605072 +vt 0.914773 0.590580 +vt 0.943182 0.597826 +vt 0.937500 0.605072 +vt 0.920455 0.597826 +vt 0.948864 0.583333 +vt 0.954545 0.586957 +vt 0.948864 0.590580 +vt 0.909091 0.586957 +vt 0.914773 0.608696 +vt 0.909091 0.652174 +vt 0.909091 0.608696 +vt 0.926136 0.652174 +vt 0.926136 0.608696 +vt 0.954545 0.608696 +vt 0.948864 0.652174 +vt 0.948864 0.608696 +vt 0.920455 0.608696 +vt 0.914773 0.652174 +vt 0.943182 0.608696 +vt 0.937500 0.652174 +vt 0.937500 0.608696 +vt 0.920455 0.652174 +vt 0.943182 0.652174 +vt 0.931818 0.652174 +vt 0.977273 0.217391 +vt 0.971591 0.478261 +vt 0.971591 0.217391 +vt 0.965909 0.217391 +vt 0.960227 0.478261 +vt 0.960227 0.217391 +vt 1.000000 0.217391 +vt 0.994318 0.478261 +vt 0.994318 0.217391 +vt 0.988636 0.217391 +vt 0.982955 0.478261 +vt 0.982955 0.217391 +vt 0.965909 0.478261 +vt 0.954545 0.478261 +vt 0.954545 0.217391 +vt 0.988636 0.478261 +vt 0.977273 0.478261 +vt 0.982955 0.481884 +vt 0.988636 0.500000 +vt 0.982955 0.500000 +vt 0.971591 0.481884 +vt 0.965909 0.500000 +vt 0.965909 0.489130 +vt 0.988636 0.489130 +vt 0.994318 0.500000 +vt 0.977273 0.500000 +vt 0.971591 0.500000 +vt 0.960227 0.500000 +vt 0.960227 0.496377 +vt 0.977273 0.521739 +vt 0.971591 0.518116 +vt 0.965909 0.510870 +vt 0.960227 0.503623 +vt 0.982955 0.518116 +vt 0.988636 0.510870 +vt 0.994318 0.496377 +vt 1.000000 0.500000 +vt 0.994318 0.503623 +vt 0.954545 0.500000 +vt 0.960227 0.521739 +vt 0.954545 0.565217 +vt 0.954545 0.521739 +vt 0.971591 0.565217 +vt 0.971591 0.521739 +vt 1.000000 0.521739 +vt 0.994318 0.565217 +vt 0.994318 0.521739 +vt 0.965909 0.521739 +vt 0.960227 0.565217 +vt 0.988636 0.521739 +vt 0.982955 0.565217 +vt 0.982955 0.521739 +vt 0.965909 0.565217 +vt 0.988636 0.565217 +vt 0.977273 0.565217 +vt 0.931818 0.217391 +vt 0.926136 0.565217 +vt 0.926136 0.217391 +vt 0.920455 0.217391 +vt 0.914773 0.565217 +vt 0.914773 0.217391 +vt 0.954545 0.217391 +vt 0.948864 0.565217 +vt 0.948864 0.217391 +vt 0.943182 0.217391 +vt 0.937500 0.565217 +vt 0.937500 0.217391 +vt 0.920455 0.565217 +vt 0.909091 0.565217 +vt 0.909091 0.217391 +vt 0.943182 0.565217 +vt 0.931818 0.565217 +vt 0.937500 0.568841 +vt 0.943182 0.586957 +vt 0.937500 0.586957 +vt 0.926136 0.568841 +vt 0.920455 0.586957 +vt 0.920455 0.576087 +vt 0.943182 0.576087 +vt 0.948864 0.586957 +vt 0.931818 0.586957 +vt 0.926136 0.586957 +vt 0.914773 0.586957 +vt 0.914773 0.583333 +vt 0.931818 0.608696 +vt 0.926136 0.605072 +vt 0.920455 0.597826 +vt 0.914773 0.590580 +vt 0.943182 0.597826 +vt 0.937500 0.605072 +vt 0.948864 0.583333 +vt 0.954545 0.586957 +vt 0.948864 0.590580 +vt 0.909091 0.586957 +vt 0.914773 0.608696 +vt 0.909091 0.652174 +vt 0.909091 0.608696 +vt 0.926136 0.652174 +vt 0.926136 0.608696 +vt 0.954545 0.608696 +vt 0.948864 0.652174 +vt 0.948864 0.608696 +vt 0.920455 0.652174 +vt 0.914773 0.652174 +vt 0.937500 0.608696 +vt 0.943182 0.652174 +vt 0.937500 0.652174 +vt 0.920455 0.608696 +vt 0.943182 0.608696 +vt 0.931818 0.652174 +vt 0.977273 0.217391 +vt 0.971591 0.478261 +vt 0.971591 0.217391 +vt 0.965909 0.217391 +vt 0.960227 0.478261 +vt 0.960227 0.217391 +vt 1.000000 0.217391 +vt 0.994318 0.478261 +vt 0.994318 0.217391 +vt 0.988636 0.217391 +vt 0.982955 0.478261 +vt 0.982955 0.217391 +vt 0.965909 0.478261 +vt 0.954545 0.478261 +vt 0.954545 0.217391 +vt 0.988636 0.478261 +vt 0.977273 0.478261 +vt 0.982955 0.481884 +vt 0.988636 0.500000 +vt 0.982955 0.500000 +vt 0.971591 0.481884 +vt 0.965909 0.500000 +vt 0.965909 0.489130 +vt 0.988636 0.489130 +vt 0.994318 0.500000 +vt 0.977273 0.500000 +vt 0.971591 0.500000 +vt 0.960227 0.500000 +vt 0.960227 0.496377 +vt 0.977273 0.521739 +vt 0.971591 0.518116 +vt 0.965909 0.510870 +vt 0.960227 0.503623 +vt 0.982955 0.518116 +vt 0.994318 0.503623 +vt 0.988636 0.510870 +vt 0.994318 0.496377 +vt 1.000000 0.500000 +vt 0.954545 0.500000 +vt 0.960227 0.521739 +vt 0.954545 0.565217 +vt 0.954545 0.521739 +vt 0.971591 0.565217 +vt 0.971591 0.521739 +vt 1.000000 0.521739 +vt 0.994318 0.565217 +vt 0.994318 0.521739 +vt 0.965909 0.521739 +vt 0.960227 0.565217 +vt 0.988636 0.521739 +vt 0.982955 0.565217 +vt 0.982955 0.521739 +vt 0.965909 0.565217 +vt 0.988636 0.565217 +vt 0.977273 0.565217 +vt 0.931818 0.217391 +vt 0.926136 0.565217 +vt 0.926136 0.217391 +vt 0.920455 0.217391 +vt 0.914773 0.565217 +vt 0.914773 0.217391 +vt 0.954545 0.217391 +vt 0.948864 0.565217 +vt 0.948864 0.217391 +vt 0.943182 0.217391 +vt 0.937500 0.565217 +vt 0.937500 0.217391 +vt 0.920455 0.565217 +vt 0.909091 0.565217 +vt 0.909091 0.217391 +vt 0.943182 0.565217 +vt 0.931818 0.565217 +vt 0.937500 0.568841 +vt 0.943182 0.586957 +vt 0.937500 0.586957 +vt 0.920455 0.576087 +vt 0.926136 0.586957 +vt 0.920455 0.586957 +vt 0.943182 0.576087 +vt 0.948864 0.586957 +vt 0.931818 0.586957 +vt 0.926136 0.568841 +vt 0.914773 0.586957 +vt 0.914773 0.583333 +vt 0.931818 0.608696 +vt 0.926136 0.605072 +vt 0.914773 0.590580 +vt 0.943182 0.597826 +vt 0.937500 0.605072 +vt 0.920455 0.597826 +vt 0.948864 0.583333 +vt 0.954545 0.586957 +vt 0.948864 0.590580 +vt 0.909091 0.586957 +vt 0.914773 0.608696 +vt 0.909091 0.652174 +vt 0.909091 0.608696 +vt 0.926136 0.652174 +vt 0.926136 0.608696 +vt 0.954545 0.608696 +vt 0.948864 0.652174 +vt 0.948864 0.608696 +vt 0.920455 0.608696 +vt 0.914773 0.652174 +vt 0.943182 0.608696 +vt 0.937500 0.652174 +vt 0.937500 0.608696 +vt 0.920455 0.652174 +vt 0.943182 0.652174 +vt 0.931818 0.652174 +vt 0.977273 0.217391 +vt 0.971591 0.478261 +vt 0.971591 0.217391 +vt 0.965909 0.217391 +vt 0.960227 0.478261 +vt 0.960227 0.217391 +vt 1.000000 0.217391 +vt 0.994318 0.478261 +vt 0.994318 0.217391 +vt 0.988636 0.217391 +vt 0.982955 0.478261 +vt 0.982955 0.217391 +vt 0.965909 0.478261 +vt 0.954545 0.478261 +vt 0.954545 0.217391 +vt 0.988636 0.478261 +vt 0.977273 0.478261 +vt 0.982955 0.481884 +vt 0.988636 0.500000 +vt 0.982955 0.500000 +vt 0.971591 0.481884 +vt 0.965909 0.500000 +vt 0.965909 0.489130 +vt 0.988636 0.489130 +vt 0.994318 0.500000 +vt 0.977273 0.500000 +vt 0.971591 0.500000 +vt 0.960227 0.500000 +vt 0.960227 0.496377 +vt 0.977273 0.521739 +vt 0.971591 0.518116 +vt 0.965909 0.510870 +vt 0.960227 0.503623 +vt 0.982955 0.518116 +vt 0.988636 0.510870 +vt 0.994318 0.496377 +vt 1.000000 0.500000 +vt 0.994318 0.503623 +vt 0.954545 0.500000 +vt 0.960227 0.521739 +vt 0.954545 0.565217 +vt 0.954545 0.521739 +vt 0.971591 0.565217 +vt 0.971591 0.521739 +vt 1.000000 0.521739 +vt 0.994318 0.565217 +vt 0.994318 0.521739 +vt 0.965909 0.521739 +vt 0.960227 0.565217 +vt 0.988636 0.521739 +vt 0.982955 0.565217 +vt 0.982955 0.521739 +vt 0.965909 0.565217 +vt 0.988636 0.565217 +vt 0.977273 0.565217 +vt 0.606061 0.942029 +vt 0.954545 0.565217 +vt 0.954545 0.652174 +vt 1.000000 0.478261 +vt 1.000000 0.565217 +vt 0.954545 0.565217 +vt 0.954545 0.652174 +vt 1.000000 0.478261 +vt 1.000000 0.565217 +vt 0.954545 0.565217 +vt 0.954545 0.652174 +vt 1.000000 0.478261 +vt 1.000000 0.565217 +vt 0.954545 0.565217 +vt 0.954545 0.652174 +vt 1.000000 0.478261 +vt 1.000000 0.565217 vn 0.0000 -1.0000 0.0000 vn 0.0000 -0.7071 0.7071 vn 0.0000 0.0000 -1.0000 @@ -1323,42 +1720,6 @@ vn 0.0000 0.7071 0.7071 vn 0.7071 0.7071 0.0000 vn -0.7071 0.7071 0.0000 vn 0.0000 1.0000 0.0000 -vn 0.9956 0.0933 0.0000 -vn -0.9956 0.0933 0.0000 -vn 0.0000 0.0933 -0.9956 -vn 0.0000 0.0933 0.9956 -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.5556 0.0000 0.8315 -vn 0.5556 0.0000 -0.8315 -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.5556 0.0000 0.8315 -vn -0.5556 0.0000 -0.8315 -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.9991 -0.0434 0.0000 -vn -0.9991 0.0434 0.0000 -vn 0.0000 0.0434 -0.9991 -vn 0.0000 -0.0434 0.9991 -vn 0.0000 -0.0434 -0.9991 -vn 0.0000 0.0434 0.9991 -vn 0.9991 0.0434 0.0000 -vn -0.9991 -0.0434 0.0000 -vn -0.9063 -0.4226 0.0000 -vn 0.9063 -0.4226 0.0000 -vn 0.0000 -0.4226 0.9063 -vn 0.0000 -0.4226 -0.9063 -vn -0.6409 -0.4226 0.6409 -vn 0.6409 -0.4226 -0.6409 -vn 0.6409 -0.4226 0.6409 -vn -0.6409 -0.4226 -0.6409 vn -0.9993 0.0379 0.0000 vn 0.9993 -0.0379 0.0000 vn 0.0000 -0.0379 0.9993 @@ -1371,6 +1732,11 @@ vn -0.6870 -0.2366 0.6870 vn 0.6870 -0.2366 -0.6870 vn 0.6870 -0.2366 0.6870 vn -0.6870 -0.2366 -0.6870 +vn 0.7071 0.0000 0.7071 +vn 0.3827 0.0000 0.9239 +vn -0.9239 0.0000 -0.3827 +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.7071 0.0000 0.7071 @@ -1378,83 +1744,26 @@ 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.9239 0.0000 0.3827 -vn -0.6975 0.1644 -0.6975 -vn -0.9113 0.1644 -0.3775 -vn -0.9864 0.1644 -0.0000 -vn -0.9113 0.1644 0.3775 -vn -0.6975 0.1644 0.6975 -vn -0.3775 0.1644 0.9113 -vn -0.0000 0.1644 0.9864 -vn 0.3775 0.1644 0.9113 -vn 0.6975 0.1644 0.6975 -vn 0.9113 0.1644 0.3775 -vn 0.9864 0.1644 0.0000 -vn 0.9113 0.1644 -0.3775 -vn 0.6975 0.1644 -0.6975 -vn 0.3775 0.1644 -0.9113 -vn 0.0000 0.1644 -0.9864 -vn -0.3775 0.1644 -0.9113 -vn -0.9225 0.0555 -0.3821 -vn -0.7060 0.0555 -0.7060 -vn -0.9985 0.0555 -0.0000 -vn -0.9225 0.0555 0.3821 -vn -0.7060 0.0555 0.7060 -vn -0.3821 0.0555 0.9225 -vn -0.0000 0.0555 0.9985 -vn 0.3821 0.0555 0.9225 -vn 0.7060 0.0555 0.7060 -vn 0.9225 0.0555 0.3821 -vn 0.9985 0.0555 0.0000 -vn 0.9225 0.0555 -0.3821 -vn 0.7060 0.0555 -0.7060 -vn 0.3821 0.0555 -0.9225 -vn -0.0000 0.0555 -0.9985 -vn -0.3821 0.0555 -0.9225 -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.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.7574 -0.4617 0.4617 -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.0000 0.9824 -0.1866 -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.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.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.7263 -0.6737 -0.1363 -vn 0.6794 0.7194 0.1448 -vn 0.7574 -0.4617 -0.4617 -vn 0.9987 0.0473 0.0196 -vn -0.0000 0.9824 0.1866 -vn 0.7263 -0.6737 -0.1363 +vn 0.7194 0.1448 0.6794 +vn -0.6737 -0.1363 0.7263 +vn -0.6737 -0.1363 -0.7263 +vn 0.7194 0.1448 -0.6794 +vn 0.0473 0.0196 0.9987 +vn 0.0473 0.0196 -0.9987 +vn 0.9824 0.1866 -0.0000 +vn 0.0671 0.0671 -0.9955 +vn 0.5294 0.5294 -0.6630 +vn 0.0671 0.0671 0.9955 +vn -0.4617 -0.4617 -0.7574 +vn 0.5294 0.5294 0.6630 +vn -0.4617 -0.4617 0.7574 +vn 0.1866 0.9824 -0.0000 +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.1448 0.7194 -0.6794 +vn -0.1363 -0.6737 -0.7263 vn -0.7194 0.1448 -0.6794 vn 0.6737 -0.1363 -0.7263 vn 0.6737 -0.1363 0.7263 @@ -1468,1988 +1777,1011 @@ vn -0.0671 0.0671 -0.9955 vn 0.4617 -0.4617 0.7574 vn -0.5294 0.5293 -0.6630 vn 0.4617 -0.4617 -0.7574 +vn -0.1866 0.9824 -0.0000 vn -0.1448 0.7194 -0.6794 -vn -0.0196 0.0473 -0.9987 vn 0.1363 -0.6737 -0.7263 -vn -0.1448 0.7194 0.6794 vn -0.0196 0.0473 0.9987 -vn -0.1866 0.9824 0.0000 +vn -0.1448 0.7194 0.6794 +vn -0.0196 0.0473 -0.9987 vn 0.1363 -0.6737 0.7263 vn -0.5294 0.5294 -0.6630 -vn 0.7194 0.1448 0.6794 -vn -0.6737 -0.1363 0.7263 -vn -0.6737 -0.1363 -0.7263 -vn 0.7194 0.1448 -0.6794 -vn 0.0473 0.0196 0.9987 -vn 0.0473 0.0196 -0.9987 -vn 0.9824 0.1866 -0.0000 -vn 0.5294 0.5294 -0.6630 -vn 0.0671 0.0671 0.9955 -vn -0.4617 -0.4617 -0.7574 -vn 0.0671 0.0671 -0.9955 -vn 0.5294 0.5294 0.6630 -vn -0.4617 -0.4617 0.7574 -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.1448 0.7194 -0.6794 -vn 0.1866 0.9824 0.0000 -vn -0.1363 -0.6737 -0.7263 -vn 0.5294 0.5293 0.6630 +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.9987 0.0473 -0.0196 +vn 0.7263 -0.6737 0.1363 +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.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.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.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 s off -f 3//1 2//1 1//1 -f 6//2 9//2 5//2 -f 3//3 8//3 4//3 -f 2//4 5//4 1//4 -f 4//5 6//5 2//5 -f 1//6 7//6 3//6 -f 12//5 15//5 10//5 -f 8//7 10//7 6//7 -f 5//8 11//8 7//8 -f 7//9 12//9 8//9 -f 13//10 20//10 16//10 -f 9//6 13//6 11//6 -f 11//3 16//3 12//3 -f 10//4 14//4 9//4 -f 20//5 23//5 19//5 -f 15//11 18//11 14//11 -f 16//12 19//12 15//12 -f 14//13 17//13 13//13 -f 18//6 21//6 17//6 -f 17//3 24//3 20//3 -f 19//4 22//4 18//4 -f 28//14 26//14 25//14 -f 32//5 29//5 30//5 -f 36//3 31//3 32//3 -f 33//4 30//4 29//4 -f 33//6 36//6 34//6 -f 30//1 36//1 32//1 -f 40//5 37//5 38//5 -f 44//3 39//3 40//3 -f 41//4 38//4 37//4 -f 41//6 44//6 42//6 -f 38//1 44//1 40//1 -f 48//5 45//5 46//5 -f 52//3 47//3 48//3 -f 49//4 46//4 45//4 -f 49//6 52//6 50//6 -f 46//1 52//1 48//1 -f 56//5 53//5 54//5 -f 60//3 55//3 56//3 -f 57//4 54//4 53//4 -f 57//6 60//6 58//6 -f 54//1 60//1 56//1 -f 64//5 61//5 62//5 -f 68//3 63//3 64//3 -f 65//4 62//4 61//4 -f 65//6 68//6 66//6 -f 126//14 129//14 132//14 -f 72//5 69//5 70//5 -f 76//3 71//3 72//3 -f 73//4 70//4 69//4 -f 73//6 76//6 74//6 -f 132//14 125//14 126//14 -f 80//5 77//5 78//5 -f 84//3 79//3 80//3 -f 81//4 78//4 77//4 -f 81//6 84//6 82//6 -f 131//14 127//14 125//14 -f 88//5 85//5 86//5 -f 92//3 87//3 88//3 -f 89//4 86//4 85//4 -f 89//6 92//6 90//6 -f 129//14 127//14 130//14 -f 93//1 96//1 94//1 -f 99//14 97//14 98//14 -f 93//4 100//4 95//4 -f 94//5 97//5 93//5 -f 96//3 98//3 94//3 -f 95//6 99//6 96//6 -f 101//1 104//1 102//1 -f 107//14 105//14 106//14 -f 104//3 106//3 102//3 -f 103//6 107//6 104//6 -f 101//4 108//4 103//4 -f 102//5 105//5 101//5 -f 109//1 112//1 110//1 -f 115//14 113//14 114//14 -f 109//5 116//5 111//5 -f 110//3 113//3 109//3 -f 112//6 114//6 110//6 -f 111//4 115//4 112//4 -f 117//1 120//1 118//1 -f 123//14 121//14 122//14 -f 120//6 122//6 118//6 -f 119//4 123//4 120//4 -f 117//5 124//5 119//5 -f 118//3 121//3 117//3 -f 137//1 134//1 140//1 -f 133//1 140//1 134//1 -f 135//1 139//1 133//1 -f 135//1 137//1 138//1 -f 143//5 142//5 141//5 -f 147//3 146//3 145//3 -f 151//6 150//6 149//6 -f 155//4 154//4 153//4 -f 157//1 160//1 158//1 -f 163//14 161//14 162//14 -f 157//4 164//4 159//4 -f 158//5 161//5 157//5 -f 160//3 162//3 158//3 -f 159//6 163//6 160//6 -f 165//1 168//1 166//1 -f 171//14 169//14 170//14 -f 168//3 170//3 166//3 -f 167//6 171//6 168//6 -f 165//4 172//4 167//4 -f 166//5 169//5 165//5 -f 173//1 176//1 174//1 -f 179//14 177//14 178//14 -f 173//5 180//5 175//5 -f 174//3 177//3 173//3 -f 176//6 178//6 174//6 -f 175//4 179//4 176//4 -f 181//1 184//1 182//1 -f 187//14 185//14 186//14 -f 184//6 186//6 182//6 -f 183//4 187//4 184//4 -f 181//5 188//5 183//5 -f 182//3 185//3 181//3 -f 192//15 195//15 191//15 -f 193//14 200//14 196//14 -f 190//16 193//16 189//16 -f 189//17 196//17 192//17 -f 191//18 194//18 190//18 -f 200//6 203//6 199//6 -f 195//14 198//14 194//14 -f 196//14 199//14 195//14 -f 194//14 197//14 193//14 -f 203//14 201//14 202//14 -f 198//5 201//5 197//5 -f 197//4 204//4 200//4 -f 199//3 202//3 198//3 -f 224//1 239//1 223//1 -f 225//1 240//1 224//1 -f 225//1 242//1 241//1 -f 227//1 242//1 226//1 -f 228//1 243//1 227//1 -f 229//1 244//1 228//1 -f 230//1 245//1 229//1 -f 230//1 247//1 246//1 -f 231//1 248//1 247//1 -f 233//1 248//1 232//1 -f 234//1 249//1 233//1 -f 235//1 250//1 234//1 -f 236//1 251//1 235//1 -f 236//1 237//1 252//1 -f 221//1 238//1 237//1 -f 222//1 239//1 238//1 -f 255//14 270//14 254//14 -f 256//14 271//14 255//14 -f 256//14 273//14 272//14 -f 258//14 273//14 257//14 -f 259//14 274//14 258//14 -f 259//14 276//14 275//14 -f 260//14 277//14 276//14 -f 261//14 278//14 277//14 -f 263//14 278//14 262//14 -f 264//14 279//14 263//14 -f 264//14 281//14 280//14 -f 266//14 281//14 265//14 -f 267//14 282//14 266//14 -f 267//14 284//14 283//14 -f 253//14 284//14 268//14 -f 254//14 269//14 253//14 -f 319//14 334//14 318//14 -f 320//14 335//14 319//14 -f 320//14 337//14 336//14 -f 322//14 337//14 321//14 -f 323//14 338//14 322//14 -f 323//14 340//14 339//14 -f 324//14 341//14 340//14 -f 325//14 342//14 341//14 -f 327//14 342//14 326//14 -f 328//14 343//14 327//14 -f 328//14 345//14 344//14 -f 330//14 345//14 329//14 -f 331//14 346//14 330//14 -f 331//14 348//14 347//14 -f 317//14 348//14 332//14 -f 318//14 333//14 317//14 -f 289//1 304//1 288//1 -f 289//1 306//1 305//1 -f 291//1 306//1 290//1 -f 292//1 307//1 291//1 -f 293//1 308//1 292//1 -f 294//1 309//1 293//1 -f 294//1 311//1 310//1 -f 295//1 312//1 311//1 -f 297//1 312//1 296//1 -f 298//1 313//1 297//1 -f 299//1 314//1 298//1 -f 300//1 315//1 299//1 -f 300//1 301//1 316//1 -f 285//1 302//1 301//1 -f 286//1 303//1 302//1 -f 288//1 303//1 287//1 -f 352//14 367//14 351//14 -f 352//14 369//14 368//14 -f 354//14 369//14 353//14 -f 355//14 370//14 354//14 -f 356//14 371//14 355//14 -f 356//14 373//14 372//14 -f 357//14 374//14 373//14 -f 359//14 374//14 358//14 -f 359//14 376//14 375//14 -f 360//14 377//14 376//14 -f 362//14 377//14 361//14 -f 363//14 378//14 362//14 -f 363//14 380//14 379//14 -f 349//14 380//14 364//14 -f 350//14 365//14 349//14 -f 351//14 366//14 350//14 -f 395//14 381//14 389//14 -f 419//19 418//19 421//19 -f 416//20 417//20 414//20 -f 426//21 425//21 428//21 -f 423//22 424//22 413//22 -f 435//23 434//23 437//23 -f 432//24 433//24 430//24 -f 442//25 441//25 444//25 -f 439//26 440//26 429//26 -f 451//27 450//27 453//27 -f 448//28 449//28 446//28 -f 458//29 457//29 460//29 -f 455//30 456//30 445//30 -f 467//31 466//31 469//31 -f 464//32 465//32 462//32 -f 474//33 473//33 476//33 -f 471//34 472//34 461//34 -f 499//27 514//27 498//27 -f 507//28 522//28 506//28 -f 500//23 515//23 499//23 -f 508//24 523//24 507//24 -f 501//31 516//31 500//31 -f 494//22 509//22 493//22 -f 493//32 524//32 508//32 -f 502//21 517//21 501//21 -f 495//30 510//30 494//30 -f 503//29 518//29 502//29 -f 496//26 511//26 495//26 -f 504//25 519//25 503//25 -f 497//34 512//34 496//34 -f 505//33 520//33 504//33 -f 498//19 513//19 497//19 -f 506//20 521//20 505//20 -f 520//14 535//14 519//14 -f 512//14 529//14 528//14 -f 520//14 537//14 536//14 -f 514//14 529//14 513//14 -f 522//14 537//14 521//14 -f 514//14 531//14 530//14 -f 522//14 539//14 538//14 -f 515//14 532//14 531//14 -f 523//14 540//14 539//14 -f 516//14 533//14 532//14 -f 510//14 525//14 509//14 -f 524//14 525//14 540//14 -f 518//14 533//14 517//14 -f 511//14 526//14 510//14 -f 519//14 534//14 518//14 -f 512//14 527//14 511//14 -f 555//14 541//14 549//14 -f 581//14 585//14 573//14 -f 567//1 563//1 559//1 -f 613//14 617//14 605//14 -f 599//1 595//1 591//1 -f 645//14 649//14 637//14 -f 631//1 627//1 623//1 -f 671//14 686//14 670//14 -f 672//14 687//14 671//14 -f 673//14 688//14 672//14 -f 674//14 689//14 673//14 -f 675//14 690//14 674//14 -f 675//14 692//14 691//14 -f 677//14 692//14 676//14 -f 677//14 694//14 693//14 -f 679//14 694//14 678//14 -f 679//14 696//14 695//14 -f 681//14 696//14 680//14 -f 682//14 697//14 681//14 -f 683//14 698//14 682//14 -f 683//14 700//14 699//14 -f 669//14 700//14 684//14 -f 670//14 685//14 669//14 -f 713//14 715//14 701//14 -f 717//14 719//14 720//14 -f 723//1 721//1 724//1 -f 719//5 724//5 720//5 -f 717//6 722//6 718//6 -f 720//3 721//3 717//3 -f 718//4 723//4 719//4 -f 725//14 727//14 728//14 -f 731//1 729//1 732//1 -f 727//5 732//5 728//5 -f 725//6 730//6 726//6 -f 728//3 729//3 725//3 -f 726//4 731//4 727//4 -f 733//14 735//14 736//14 -f 739//1 737//1 740//1 -f 735//5 740//5 736//5 -f 733//6 738//6 734//6 -f 736//3 737//3 733//3 -f 734//4 739//4 735//4 -f 752//35 755//35 750//35 -f 751//36 754//36 753//36 -f 742//35 748//35 747//35 -f 741//36 745//36 743//36 -f 744//37 745//37 748//37 -f 742//38 746//38 741//38 -f 752//39 753//39 756//39 -f 750//40 754//40 749//40 -f 768//41 771//41 766//41 -f 767//42 770//42 769//42 -f 758//41 764//41 763//41 -f 757//42 761//42 759//42 -f 759//37 764//37 760//37 -f 757//38 763//38 762//38 -f 767//39 772//39 768//39 -f 765//40 771//40 770//40 -f 780//5 775//5 776//5 -f 778//6 773//6 774//6 -f 777//3 776//3 773//3 -f 779//4 774//4 775//4 -f 788//5 783//5 784//5 -f 786//6 781//6 782//6 -f 785//3 784//3 781//3 -f 787//4 782//4 783//4 -f 796//5 791//5 792//5 -f 794//6 789//6 790//6 -f 793//3 792//3 789//3 -f 795//4 790//4 791//4 -f 799//43 798//43 797//43 -f 803//44 802//44 801//44 -f 807//45 806//45 805//45 -f 811//46 810//46 809//46 -f 815//47 814//47 813//47 -f 819//48 818//48 817//48 -f 821//49 824//49 822//49 -f 827//50 826//50 825//50 -f 848//14 863//14 847//14 -f 849//14 864//14 848//14 -f 850//14 865//14 849//14 -f 851//14 866//14 850//14 -f 851//14 868//14 867//14 -f 852//14 869//14 868//14 -f 853//14 870//14 869//14 -f 854//14 871//14 870//14 -f 855//14 872//14 871//14 -f 857//14 872//14 856//14 -f 858//14 873//14 857//14 -f 859//14 874//14 858//14 -f 859//14 876//14 875//14 -f 845//14 876//14 860//14 -f 846//14 861//14 845//14 -f 847//14 862//14 846//14 -f 879//1 878//1 877//1 -f 883//14 881//14 882//14 -f 878//4 882//4 877//4 -f 880//5 883//5 878//5 -f 877//6 881//6 879//6 -f 879//3 884//3 880//3 -f 887//1 886//1 885//1 -f 891//14 889//14 890//14 -f 886//4 890//4 885//4 -f 888//5 891//5 886//5 -f 885//6 889//6 887//6 -f 887//3 892//3 888//3 -f 895//1 894//1 893//1 -f 899//14 897//14 898//14 -f 894//4 898//4 893//4 -f 896//5 899//5 894//5 -f 893//6 897//6 895//6 -f 895//3 900//3 896//3 -f 904//51 901//51 902//51 -f 905//52 908//52 906//52 -f 948//5 943//5 944//5 -f 903//53 908//53 907//53 -f 946//6 941//6 942//6 -f 901//54 906//54 902//54 -f 910//51 911//51 909//51 -f 914//52 915//52 916//52 -f 945//3 944//3 941//3 -f 911//55 916//55 915//55 -f 947//4 942//4 943//4 -f 909//56 914//56 910//56 -f 920//57 917//57 918//57 -f 921//58 924//58 922//58 -f 939//4 934//4 935//4 -f 920//53 923//53 919//53 -f 937//3 936//3 933//3 -f 918//54 921//54 922//54 -f 926//57 927//57 925//57 -f 930//58 931//58 932//58 -f 938//6 933//6 934//6 -f 928//55 931//55 927//55 -f 940//5 935//5 936//5 -f 926//56 929//56 930//56 -f 956//5 951//5 952//5 -f 954//6 949//6 950//6 -f 953//3 952//3 949//3 -f 955//4 950//4 951//4 -f 958//59 959//59 957//59 -f 971//14 973//14 961//14 -f 978//60 979//60 977//60 -f 982//61 983//61 981//61 -f 986//62 987//62 985//62 -f 930//3 1001//3 926//3 -f 904//4 992//4 908//4 -f 916//5 995//5 914//5 -f 906//3 989//3 902//3 -f 918//6 998//6 920//6 -f 920//4 1000//4 924//4 -f 932//5 1003//5 930//5 -f 922//3 997//3 918//3 -f 908//5 991//5 906//5 -f 910//6 994//6 912//6 -f 912//4 996//4 916//4 -f 924//5 999//5 922//5 -f 914//3 993//3 910//3 -f 926//6 1002//6 928//6 -f 928//4 1004//4 932//4 -f 902//6 990//6 904//6 -f 3//1 4//1 2//1 -f 6//2 10//2 9//2 -f 3//3 7//3 8//3 -f 2//4 6//4 5//4 -f 4//5 8//5 6//5 -f 1//6 5//6 7//6 -f 12//5 16//5 15//5 -f 8//7 12//7 10//7 -f 5//8 9//8 11//8 -f 7//9 11//9 12//9 -f 13//10 17//10 20//10 -f 9//6 14//6 13//6 -f 11//3 13//3 16//3 -f 10//4 15//4 14//4 -f 20//5 24//5 23//5 -f 15//11 19//11 18//11 -f 16//12 20//12 19//12 -f 14//13 18//13 17//13 -f 18//6 22//6 21//6 -f 17//3 21//3 24//3 -f 19//4 23//4 22//4 -f 28//14 27//14 26//14 -f 32//5 31//5 29//5 -f 36//3 35//3 31//3 -f 33//4 34//4 30//4 -f 33//6 35//6 36//6 -f 30//1 34//1 36//1 -f 40//5 39//5 37//5 -f 44//3 43//3 39//3 -f 41//4 42//4 38//4 -f 41//6 43//6 44//6 -f 38//1 42//1 44//1 -f 48//5 47//5 45//5 -f 52//3 51//3 47//3 -f 49//4 50//4 46//4 -f 49//6 51//6 52//6 -f 46//1 50//1 52//1 -f 56//5 55//5 53//5 -f 60//3 59//3 55//3 -f 57//4 58//4 54//4 -f 57//6 59//6 60//6 -f 54//1 58//1 60//1 -f 64//5 63//5 61//5 -f 68//3 67//3 63//3 -f 65//4 66//4 62//4 -f 65//6 67//6 68//6 -f 126//14 128//14 129//14 -f 72//5 71//5 69//5 -f 76//3 75//3 71//3 -f 73//4 74//4 70//4 -f 73//6 75//6 76//6 -f 132//14 131//14 125//14 -f 80//5 79//5 77//5 -f 84//3 83//3 79//3 -f 81//4 82//4 78//4 -f 81//6 83//6 84//6 -f 131//14 130//14 127//14 -f 88//5 87//5 85//5 -f 92//3 91//3 87//3 -f 89//4 90//4 86//4 -f 89//6 91//6 92//6 -f 129//14 128//14 127//14 -f 93//1 95//1 96//1 -f 99//14 100//14 97//14 -f 93//4 97//4 100//4 -f 94//5 98//5 97//5 -f 96//3 99//3 98//3 -f 95//6 100//6 99//6 -f 101//1 103//1 104//1 -f 107//14 108//14 105//14 -f 104//3 107//3 106//3 -f 103//6 108//6 107//6 -f 101//4 105//4 108//4 -f 102//5 106//5 105//5 -f 109//1 111//1 112//1 -f 115//14 116//14 113//14 -f 109//5 113//5 116//5 -f 110//3 114//3 113//3 -f 112//6 115//6 114//6 -f 111//4 116//4 115//4 -f 117//1 119//1 120//1 -f 123//14 124//14 121//14 -f 120//6 123//6 122//6 -f 119//4 124//4 123//4 -f 117//5 121//5 124//5 -f 118//3 122//3 121//3 -f 137//1 136//1 134//1 -f 133//1 139//1 140//1 -f 135//1 138//1 139//1 -f 135//1 136//1 137//1 -f 143//5 144//5 142//5 -f 147//3 148//3 146//3 -f 151//6 152//6 150//6 -f 155//4 156//4 154//4 -f 157//1 159//1 160//1 -f 163//14 164//14 161//14 -f 157//4 161//4 164//4 -f 158//5 162//5 161//5 -f 160//3 163//3 162//3 -f 159//6 164//6 163//6 -f 165//1 167//1 168//1 -f 171//14 172//14 169//14 -f 168//3 171//3 170//3 -f 167//6 172//6 171//6 -f 165//4 169//4 172//4 -f 166//5 170//5 169//5 -f 173//1 175//1 176//1 -f 179//14 180//14 177//14 -f 173//5 177//5 180//5 -f 174//3 178//3 177//3 -f 176//6 179//6 178//6 -f 175//4 180//4 179//4 -f 181//1 183//1 184//1 -f 187//14 188//14 185//14 -f 184//6 187//6 186//6 -f 183//4 188//4 187//4 -f 181//5 185//5 188//5 -f 182//3 186//3 185//3 -f 192//15 196//15 195//15 -f 193//14 197//14 200//14 -f 190//16 194//16 193//16 -f 189//17 193//17 196//17 -f 191//18 195//18 194//18 -f 200//6 204//6 203//6 -f 195//14 199//14 198//14 -f 196//14 200//14 199//14 -f 194//14 198//14 197//14 -f 203//14 204//14 201//14 -f 198//5 202//5 201//5 -f 197//4 201//4 204//4 -f 199//3 203//3 202//3 -f 224//1 240//1 239//1 -f 225//1 241//1 240//1 -f 225//1 226//1 242//1 -f 227//1 243//1 242//1 -f 228//1 244//1 243//1 -f 229//1 245//1 244//1 -f 230//1 246//1 245//1 -f 230//1 231//1 247//1 -f 231//1 232//1 248//1 -f 233//1 249//1 248//1 -f 234//1 250//1 249//1 -f 235//1 251//1 250//1 -f 236//1 252//1 251//1 -f 236//1 221//1 237//1 -f 221//1 222//1 238//1 -f 222//1 223//1 239//1 -f 255//14 271//14 270//14 -f 256//14 272//14 271//14 -f 256//14 257//14 273//14 -f 258//14 274//14 273//14 -f 259//14 275//14 274//14 -f 259//14 260//14 276//14 -f 260//14 261//14 277//14 -f 261//14 262//14 278//14 -f 263//14 279//14 278//14 -f 264//14 280//14 279//14 -f 264//14 265//14 281//14 -f 266//14 282//14 281//14 -f 267//14 283//14 282//14 -f 267//14 268//14 284//14 -f 253//14 269//14 284//14 -f 254//14 270//14 269//14 -f 319//14 335//14 334//14 -f 320//14 336//14 335//14 -f 320//14 321//14 337//14 -f 322//14 338//14 337//14 -f 323//14 339//14 338//14 -f 323//14 324//14 340//14 -f 324//14 325//14 341//14 -f 325//14 326//14 342//14 -f 327//14 343//14 342//14 -f 328//14 344//14 343//14 -f 328//14 329//14 345//14 -f 330//14 346//14 345//14 -f 331//14 347//14 346//14 -f 331//14 332//14 348//14 -f 317//14 333//14 348//14 -f 318//14 334//14 333//14 -f 289//1 305//1 304//1 -f 289//1 290//1 306//1 -f 291//1 307//1 306//1 -f 292//1 308//1 307//1 -f 293//1 309//1 308//1 -f 294//1 310//1 309//1 -f 294//1 295//1 311//1 -f 295//1 296//1 312//1 -f 297//1 313//1 312//1 -f 298//1 314//1 313//1 -f 299//1 315//1 314//1 -f 300//1 316//1 315//1 -f 300//1 285//1 301//1 -f 285//1 286//1 302//1 -f 286//1 287//1 303//1 -f 288//1 304//1 303//1 -f 352//14 368//14 367//14 -f 352//14 353//14 369//14 -f 354//14 370//14 369//14 -f 355//14 371//14 370//14 -f 356//14 372//14 371//14 -f 356//14 357//14 373//14 -f 357//14 358//14 374//14 -f 359//14 375//14 374//14 -f 359//14 360//14 376//14 -f 360//14 361//14 377//14 -f 362//14 378//14 377//14 -f 363//14 379//14 378//14 -f 363//14 364//14 380//14 -f 349//14 365//14 380//14 -f 350//14 366//14 365//14 -f 351//14 367//14 366//14 -f 381//14 382//14 383//14 -f 383//14 384//14 385//14 -f 385//14 386//14 387//14 -f 387//14 388//14 389//14 -f 389//14 390//14 391//14 -f 391//14 392//14 393//14 -f 393//14 394//14 395//14 -f 395//14 396//14 381//14 -f 381//14 383//14 385//14 -f 385//14 387//14 381//14 -f 387//14 389//14 381//14 -f 389//14 391//14 393//14 -f 393//14 395//14 389//14 -f 419//19 420//19 418//19 -f 416//20 415//20 417//20 -f 426//21 427//21 425//21 -f 423//22 422//22 424//22 -f 435//23 436//23 434//23 -f 432//24 431//24 433//24 -f 442//25 443//25 441//25 -f 439//26 438//26 440//26 -f 451//27 452//27 450//27 -f 448//28 447//28 449//28 -f 458//29 459//29 457//29 -f 455//30 454//30 456//30 -f 467//31 468//31 466//31 -f 464//32 463//32 465//32 -f 474//33 475//33 473//33 -f 471//34 470//34 472//34 -f 499//27 515//27 514//27 -f 507//28 523//28 522//28 -f 500//23 516//23 515//23 -f 508//24 524//24 523//24 -f 501//31 517//31 516//31 -f 494//22 510//22 509//22 -f 493//32 509//32 524//32 -f 502//21 518//21 517//21 -f 495//30 511//30 510//30 -f 503//29 519//29 518//29 -f 496//26 512//26 511//26 -f 504//25 520//25 519//25 -f 497//34 513//34 512//34 -f 505//33 521//33 520//33 -f 498//19 514//19 513//19 -f 506//20 522//20 521//20 -f 520//14 536//14 535//14 -f 512//14 513//14 529//14 -f 520//14 521//14 537//14 -f 514//14 530//14 529//14 -f 522//14 538//14 537//14 -f 514//14 515//14 531//14 -f 522//14 523//14 539//14 -f 515//14 516//14 532//14 -f 523//14 524//14 540//14 -f 516//14 517//14 533//14 -f 510//14 526//14 525//14 -f 524//14 509//14 525//14 -f 518//14 534//14 533//14 -f 511//14 527//14 526//14 -f 519//14 535//14 534//14 -f 512//14 528//14 527//14 -f 541//14 542//14 543//14 -f 543//14 544//14 545//14 -f 545//14 546//14 547//14 -f 547//14 548//14 549//14 -f 549//14 550//14 551//14 -f 551//14 552//14 553//14 -f 553//14 554//14 555//14 -f 555//14 556//14 541//14 -f 541//14 543//14 549//14 -f 543//14 545//14 549//14 -f 545//14 547//14 549//14 -f 549//14 551//14 553//14 -f 553//14 555//14 549//14 -f 573//14 574//14 575//14 -f 575//14 576//14 577//14 -f 577//14 578//14 579//14 -f 579//14 580//14 581//14 -f 581//14 582//14 583//14 -f 583//14 584//14 581//14 -f 584//14 585//14 581//14 -f 585//14 586//14 573//14 -f 586//14 587//14 573//14 -f 587//14 588//14 573//14 -f 573//14 575//14 577//14 -f 577//14 579//14 573//14 -f 579//14 581//14 573//14 -f 559//1 558//1 557//1 -f 557//1 572//1 571//1 -f 571//1 570//1 569//1 -f 569//1 568//1 567//1 -f 567//1 566//1 565//1 -f 565//1 564//1 567//1 -f 564//1 563//1 567//1 -f 563//1 562//1 561//1 -f 561//1 560//1 559//1 -f 559//1 557//1 571//1 -f 571//1 569//1 559//1 -f 569//1 567//1 559//1 -f 563//1 561//1 559//1 -f 605//14 606//14 607//14 -f 607//14 608//14 609//14 -f 609//14 610//14 611//14 -f 611//14 612//14 613//14 -f 613//14 614//14 615//14 -f 615//14 616//14 613//14 -f 616//14 617//14 613//14 -f 617//14 618//14 605//14 -f 618//14 619//14 605//14 -f 619//14 620//14 605//14 -f 605//14 607//14 609//14 -f 609//14 611//14 605//14 -f 611//14 613//14 605//14 -f 591//1 590//1 589//1 -f 589//1 604//1 603//1 -f 603//1 602//1 601//1 -f 601//1 600//1 599//1 -f 599//1 598//1 597//1 -f 597//1 596//1 599//1 -f 596//1 595//1 599//1 -f 595//1 594//1 593//1 -f 593//1 592//1 591//1 -f 591//1 589//1 603//1 -f 603//1 601//1 591//1 -f 601//1 599//1 591//1 -f 595//1 593//1 591//1 -f 637//14 638//14 639//14 -f 639//14 640//14 641//14 -f 641//14 642//14 643//14 -f 643//14 644//14 645//14 -f 645//14 646//14 647//14 -f 647//14 648//14 645//14 -f 648//14 649//14 645//14 -f 649//14 650//14 637//14 -f 650//14 651//14 637//14 -f 651//14 652//14 637//14 -f 637//14 639//14 641//14 -f 641//14 643//14 637//14 -f 643//14 645//14 637//14 -f 623//1 622//1 621//1 -f 621//1 636//1 635//1 -f 635//1 634//1 633//1 -f 633//1 632//1 631//1 -f 631//1 630//1 629//1 -f 629//1 628//1 631//1 -f 628//1 627//1 631//1 -f 627//1 626//1 625//1 -f 625//1 624//1 623//1 -f 623//1 621//1 635//1 -f 635//1 633//1 623//1 -f 633//1 631//1 623//1 -f 627//1 625//1 623//1 -f 671//14 687//14 686//14 -f 672//14 688//14 687//14 -f 673//14 689//14 688//14 -f 674//14 690//14 689//14 -f 675//14 691//14 690//14 -f 675//14 676//14 692//14 -f 677//14 693//14 692//14 -f 677//14 678//14 694//14 -f 679//14 695//14 694//14 -f 679//14 680//14 696//14 -f 681//14 697//14 696//14 -f 682//14 698//14 697//14 -f 683//14 699//14 698//14 -f 683//14 684//14 700//14 -f 669//14 685//14 700//14 -f 670//14 686//14 685//14 -f 701//14 702//14 703//14 -f 703//14 704//14 705//14 -f 705//14 706//14 707//14 -f 707//14 708//14 709//14 -f 709//14 710//14 711//14 -f 711//14 712//14 713//14 -f 713//14 714//14 715//14 -f 715//14 716//14 701//14 -f 701//14 703//14 705//14 -f 705//14 707//14 701//14 -f 707//14 709//14 701//14 -f 709//14 711//14 701//14 -f 711//14 713//14 701//14 -f 717//14 718//14 719//14 -f 723//1 722//1 721//1 -f 719//5 723//5 724//5 -f 717//6 721//6 722//6 -f 720//3 724//3 721//3 -f 718//4 722//4 723//4 -f 725//14 726//14 727//14 -f 731//1 730//1 729//1 -f 727//5 731//5 732//5 -f 725//6 729//6 730//6 -f 728//3 732//3 729//3 -f 726//4 730//4 731//4 -f 733//14 734//14 735//14 -f 739//1 738//1 737//1 -f 735//5 739//5 740//5 -f 733//6 737//6 738//6 -f 736//3 740//3 737//3 -f 734//4 738//4 739//4 -f 752//35 756//35 755//35 -f 751//36 749//36 754//36 -f 742//35 744//35 748//35 -f 741//36 746//36 745//36 -f 744//37 743//37 745//37 -f 742//38 747//38 746//38 -f 752//39 751//39 753//39 -f 750//40 755//40 754//40 -f 768//41 772//41 771//41 -f 767//42 765//42 770//42 -f 758//41 760//41 764//41 -f 757//42 762//42 761//42 -f 759//37 761//37 764//37 -f 757//38 758//38 763//38 -f 767//39 769//39 772//39 -f 765//40 766//40 771//40 -f 780//5 779//5 775//5 -f 778//6 777//6 773//6 -f 777//3 780//3 776//3 -f 779//4 778//4 774//4 -f 788//5 787//5 783//5 -f 786//6 785//6 781//6 -f 785//3 788//3 784//3 -f 787//4 786//4 782//4 -f 796//5 795//5 791//5 -f 794//6 793//6 789//6 -f 793//3 796//3 792//3 -f 795//4 794//4 790//4 -f 799//43 800//43 798//43 -f 803//44 804//44 802//44 -f 807//45 808//45 806//45 -f 811//46 812//46 810//46 -f 815//47 816//47 814//47 -f 819//48 820//48 818//48 -f 821//49 823//49 824//49 -f 827//50 828//50 826//50 -f 848//14 864//14 863//14 -f 849//14 865//14 864//14 -f 850//14 866//14 865//14 -f 851//14 867//14 866//14 -f 851//14 852//14 868//14 -f 852//14 853//14 869//14 -f 853//14 854//14 870//14 -f 854//14 855//14 871//14 -f 855//14 856//14 872//14 -f 857//14 873//14 872//14 -f 858//14 874//14 873//14 -f 859//14 875//14 874//14 -f 859//14 860//14 876//14 -f 845//14 861//14 876//14 -f 846//14 862//14 861//14 -f 847//14 863//14 862//14 -f 879//1 880//1 878//1 -f 883//14 884//14 881//14 -f 878//4 883//4 882//4 -f 880//5 884//5 883//5 -f 877//6 882//6 881//6 -f 879//3 881//3 884//3 -f 887//1 888//1 886//1 -f 891//14 892//14 889//14 -f 886//4 891//4 890//4 -f 888//5 892//5 891//5 -f 885//6 890//6 889//6 -f 887//3 889//3 892//3 -f 895//1 896//1 894//1 -f 899//14 900//14 897//14 -f 894//4 899//4 898//4 -f 896//5 900//5 899//5 -f 893//6 898//6 897//6 -f 895//3 897//3 900//3 -f 904//51 903//51 901//51 -f 905//52 907//52 908//52 -f 948//5 947//5 943//5 -f 903//53 904//53 908//53 -f 946//6 945//6 941//6 -f 901//54 905//54 906//54 -f 910//51 912//51 911//51 -f 914//52 913//52 915//52 -f 945//3 948//3 944//3 -f 911//55 912//55 916//55 -f 947//4 946//4 942//4 -f 909//56 913//56 914//56 -f 920//57 919//57 917//57 -f 921//58 923//58 924//58 -f 939//4 938//4 934//4 -f 920//53 924//53 923//53 -f 937//3 940//3 936//3 -f 918//54 917//54 921//54 -f 926//57 928//57 927//57 -f 930//58 929//58 931//58 -f 938//6 937//6 933//6 -f 928//55 932//55 931//55 -f 940//5 939//5 935//5 -f 926//56 925//56 929//56 -f 956//5 955//5 951//5 -f 954//6 953//6 949//6 -f 953//3 956//3 952//3 -f 955//4 954//4 950//4 -f 958//59 960//59 959//59 -f 961//14 962//14 963//14 -f 963//14 964//14 965//14 -f 965//14 966//14 967//14 -f 967//14 968//14 969//14 -f 969//14 970//14 971//14 -f 971//14 972//14 973//14 -f 973//14 974//14 961//14 -f 974//14 975//14 961//14 -f 975//14 976//14 961//14 -f 961//14 963//14 965//14 -f 965//14 967//14 961//14 -f 967//14 969//14 961//14 -f 969//14 971//14 961//14 -f 978//60 980//60 979//60 -f 982//61 984//61 983//61 -f 986//62 988//62 987//62 -f 930//3 1003//3 1001//3 -f 904//4 990//4 992//4 -f 916//5 996//5 995//5 -f 906//3 991//3 989//3 -f 918//6 997//6 998//6 -f 920//4 998//4 1000//4 -f 932//5 1004//5 1003//5 -f 922//3 999//3 997//3 -f 908//5 992//5 991//5 -f 910//6 993//6 994//6 -f 912//4 994//4 996//4 -f 924//5 1000//5 999//5 -f 914//3 995//3 993//3 -f 926//6 1001//6 1002//6 -f 928//4 1002//4 1004//4 -f 902//6 989//6 990//6 +f 3/1/1 665/2/1 1/3/1 +f 6/4/2 9/5/2 5/6/2 +f 3/7/3 8/8/3 4/9/3 +f 2/10/4 5/6/4 1/11/4 +f 4/12/5 6/13/5 2/14/5 +f 1/15/6 7/16/6 3/17/6 +f 12/18/5 15/19/5 10/20/5 +f 8/21/7 10/20/7 6/13/7 +f 5/22/8 11/23/8 7/16/8 +f 7/24/9 12/18/9 8/8/9 +f 13/25/10 20/26/10 16/27/10 +f 9/28/6 13/25/6 11/23/6 +f 11/23/3 16/27/3 12/18/3 +f 10/20/4 14/29/4 9/5/4 +f 20/30/5 23/31/5 19/32/5 +f 15/19/11 18/33/11 14/29/11 +f 16/27/12 19/32/12 15/19/12 +f 14/34/13 17/35/13 13/25/13 +f 18/36/6 21/37/6 17/35/6 +f 17/38/3 24/39/3 20/26/3 +f 19/40/4 22/41/4 18/33/4 +f 28/42/5 25/43/5 26/44/5 +f 32/45/3 27/46/3 28/42/3 +f 29/47/4 26/44/4 25/43/4 +f 29/47/6 32/48/6 30/49/6 +f 26/44/1 32/50/1 28/51/1 +f 36/52/5 33/53/5 34/54/5 +f 40/55/3 35/56/3 36/52/3 +f 37/57/4 34/54/4 33/53/4 +f 37/58/6 40/55/6 38/59/6 +f 34/54/1 40/60/1 36/52/1 +f 44/61/5 41/62/5 42/63/5 +f 48/64/3 43/65/3 44/66/3 +f 45/67/4 42/63/4 41/62/4 +f 45/67/6 48/64/6 46/68/6 +f 42/69/1 48/64/1 44/70/1 +f 52/71/5 49/72/5 50/73/5 +f 56/74/3 51/75/3 52/71/3 +f 53/76/4 50/77/4 49/78/4 +f 53/76/6 56/74/6 54/79/6 +f 50/80/1 56/74/1 52/71/1 +f 60/81/5 57/82/5 58/83/5 +f 64/84/3 59/85/3 60/81/3 +f 61/86/4 58/83/4 57/82/4 +f 61/86/6 64/87/6 62/88/6 +f 122/89/14 125/90/14 128/91/14 +f 68/92/5 65/93/5 66/94/5 +f 72/95/3 67/96/3 68/92/3 +f 69/97/4 66/94/4 65/93/4 +f 69/98/6 72/95/6 70/99/6 +f 128/91/14 121/100/14 122/89/14 +f 76/101/5 73/102/5 74/103/5 +f 80/104/3 75/105/3 76/106/3 +f 77/107/4 74/103/4 73/102/4 +f 77/107/6 80/104/6 78/108/6 +f 127/109/14 123/110/14 121/100/14 +f 84/111/5 81/112/5 82/113/5 +f 88/114/3 83/115/3 84/111/3 +f 85/116/4 82/117/4 81/118/4 +f 85/116/6 88/114/6 86/119/6 +f 125/90/14 123/110/14 126/120/14 +f 89/121/1 92/122/1 90/123/1 +f 95/124/14 93/125/14 94/126/14 +f 89/127/4 96/128/4 91/129/4 +f 92/122/3 94/126/3 90/123/3 +f 97/130/1 100/131/1 98/132/1 +f 103/133/14 101/134/14 102/135/14 +f 100/136/3 102/135/3 98/137/3 +f 97/130/4 104/138/4 99/139/4 +f 105/140/1 108/141/1 106/142/1 +f 111/143/14 109/144/14 110/145/14 +f 105/146/5 112/147/5 107/148/5 +f 108/141/6 110/145/6 106/142/6 +f 113/149/1 116/150/1 114/151/1 +f 119/152/14 117/153/14 118/154/14 +f 116/155/6 118/154/6 114/156/6 +f 113/149/5 120/157/5 115/158/5 +f 133/159/1 130/160/1 136/161/1 +f 129/162/1 136/161/1 130/160/1 +f 131/163/1 135/164/1 129/162/1 +f 131/163/1 133/159/1 134/165/1 +f 139/166/5 138/167/5 137/168/5 +f 143/169/3 142/170/3 141/171/3 +f 147/172/6 146/173/6 145/174/6 +f 151/175/4 150/176/4 149/177/4 +f 153/178/1 156/179/1 154/180/1 +f 159/181/14 157/182/14 158/183/14 +f 153/184/4 160/185/4 155/186/4 +f 156/179/3 158/183/3 154/180/3 +f 161/187/1 164/188/1 162/189/1 +f 167/190/14 165/191/14 166/192/14 +f 164/193/3 166/192/3 162/194/3 +f 161/187/4 168/195/4 163/196/4 +f 169/197/1 172/198/1 170/199/1 +f 175/200/14 173/201/14 174/202/14 +f 169/203/5 176/204/5 171/205/5 +f 172/198/6 174/202/6 170/199/6 +f 177/206/1 180/207/1 178/208/1 +f 183/209/14 181/210/14 182/211/14 +f 180/212/6 182/211/6 178/213/6 +f 177/206/5 184/214/5 179/215/5 +f 204/216/14 219/217/14 203/218/14 +f 205/219/14 220/220/14 204/216/14 +f 205/221/14 222/222/14 221/223/14 +f 207/224/14 222/222/14 206/225/14 +f 207/224/14 224/226/14 223/227/14 +f 209/228/14 224/226/14 208/229/14 +f 209/228/14 226/230/14 225/231/14 +f 210/232/14 227/233/14 226/230/14 +f 212/234/14 227/233/14 211/235/14 +f 213/236/14 228/237/14 212/234/14 +f 213/236/14 230/238/14 229/239/14 +f 214/240/14 231/241/14 230/238/14 +f 216/242/14 231/241/14 215/243/14 +f 201/244/14 232/245/14 216/242/14 +f 202/246/14 217/247/14 201/244/14 +f 203/218/14 218/248/14 202/246/14 +f 235/249/1 234/250/1 233/251/1 +f 239/252/14 237/253/14 238/254/14 +f 234/255/4 238/256/4 233/257/4 +f 236/258/5 239/252/5 234/259/5 +f 233/260/6 237/261/6 235/262/6 +f 235/263/3 240/264/3 236/265/3 +f 243/266/1 242/267/1 241/268/1 +f 247/269/14 245/270/14 246/271/14 +f 242/272/4 246/273/4 241/274/4 +f 244/275/5 247/269/5 242/276/5 +f 241/277/6 245/278/6 243/279/6 +f 243/280/3 248/281/3 244/282/3 +f 251/283/1 250/284/1 249/285/1 +f 255/286/14 253/287/14 254/288/14 +f 250/289/4 254/290/4 249/291/4 +f 252/292/5 255/286/5 250/293/5 +f 249/294/6 253/295/6 251/296/6 +f 251/297/3 256/298/3 252/299/3 +f 260/300/15 257/301/15 258/302/15 +f 261/303/16 264/304/16 262/305/16 +f 304/306/5 299/307/5 300/308/5 +f 259/309/17 264/310/17 263/311/17 +f 302/312/6 297/313/6 298/314/6 +f 257/301/18 262/305/18 258/302/18 +f 266/315/15 267/316/15 265/317/15 +f 270/318/16 271/319/16 272/320/16 +f 301/321/3 300/322/3 297/323/3 +f 267/316/19 272/320/19 271/319/19 +f 303/324/4 298/325/4 299/326/4 +f 265/317/20 270/327/20 266/315/20 +f 276/328/21 273/329/21 274/330/21 +f 277/331/22 280/332/22 278/333/22 +f 295/334/4 290/335/4 291/336/4 +f 276/337/17 279/338/17 275/339/17 +f 293/340/3 292/341/3 289/342/3 +f 274/330/18 277/331/18 278/333/18 +f 282/343/21 283/344/21 281/345/21 +f 286/346/22 287/347/22 288/348/22 +f 294/349/6 289/350/6 290/351/6 +f 284/352/19 287/347/19 283/344/19 +f 296/353/5 291/354/5 292/355/5 +f 282/356/20 285/357/20 286/346/20 +f 312/358/5 307/359/5 308/360/5 +f 310/361/6 305/362/6 306/363/6 +f 309/364/3 308/365/3 305/366/3 +f 311/367/4 306/368/4 307/369/4 +f 313/370/23 316/371/23 315/372/23 +f 331/373/14 317/374/14 325/375/14 +f 334/376/24 335/377/24 333/378/24 +f 338/379/25 339/380/25 337/381/25 +f 342/382/26 343/383/26 341/384/26 +f 286/346/3 357/385/3 282/356/3 +f 260/300/4 348/386/4 264/310/4 +f 272/320/5 351/387/5 270/318/5 +f 262/305/3 345/388/3 258/302/3 +f 274/330/6 354/389/6 276/328/6 +f 276/337/4 356/390/4 280/332/4 +f 288/348/5 359/391/5 286/346/5 +f 278/333/3 353/392/3 274/330/3 +f 264/304/5 347/393/5 262/305/5 +f 266/315/6 350/394/6 268/395/6 +f 268/395/4 352/396/4 272/320/4 +f 280/332/5 355/397/5 278/333/5 +f 270/327/3 349/398/3 266/315/3 +f 282/343/6 358/399/6 284/352/6 +f 284/352/4 360/400/4 288/348/4 +f 258/302/6 346/401/6 260/300/6 +f 22/402/14 24/403/14 21/404/14 +f 666/405/6 672/406/6 668/407/6 +f 4/12/1 667/408/1 3/1/1 +f 2/14/1 668/409/1 4/12/1 +f 1/3/1 666/410/1 2/14/1 +f 672/411/1 673/412/1 669/413/1 +f 667/414/5 670/415/5 665/416/5 +f 668/417/4 669/413/4 667/418/4 +f 665/419/3 671/420/3 666/421/3 +f 675/422/5 680/423/5 676/424/5 +f 670/425/1 675/426/1 671/420/1 +f 671/427/1 676/424/1 672/406/1 +f 669/428/1 674/429/1 670/415/1 +f 677/430/1 679/431/1 678/432/1 +f 673/433/6 678/432/6 674/429/6 +f 676/434/3 677/430/3 673/412/3 +f 674/435/4 679/431/4 675/426/4 +f 3/1/1 667/408/1 665/2/1 +f 6/4/2 10/20/2 9/5/2 +f 3/7/3 7/24/3 8/8/3 +f 2/10/4 6/4/4 5/6/4 +f 4/12/5 8/21/5 6/13/5 +f 1/15/6 5/22/6 7/16/6 +f 12/18/5 16/27/5 15/19/5 +f 8/21/7 12/18/7 10/20/7 +f 5/22/8 9/28/8 11/23/8 +f 7/24/9 11/23/9 12/18/9 +f 13/25/10 17/38/10 20/26/10 +f 9/28/6 14/34/6 13/25/6 +f 11/23/3 13/25/3 16/27/3 +f 10/20/4 15/19/4 14/29/4 +f 20/30/5 24/403/5 23/31/5 +f 15/19/11 19/40/11 18/33/11 +f 16/27/12 20/30/12 19/32/12 +f 14/34/13 18/36/13 17/35/13 +f 18/36/6 22/436/6 21/37/6 +f 17/38/3 21/437/3 24/39/3 +f 19/40/4 23/438/4 22/41/4 +f 28/42/5 27/46/5 25/43/5 +f 32/45/3 31/439/3 27/46/3 +f 29/47/4 30/49/4 26/44/4 +f 29/47/6 31/440/6 32/48/6 +f 26/44/1 30/49/1 32/50/1 +f 36/52/5 35/56/5 33/53/5 +f 40/55/3 39/441/3 35/56/3 +f 37/57/4 38/442/4 34/54/4 +f 37/58/6 39/441/6 40/55/6 +f 34/54/1 38/443/1 40/60/1 +f 44/61/5 43/444/5 41/62/5 +f 48/64/3 47/445/3 43/65/3 +f 45/67/4 46/68/4 42/63/4 +f 45/67/6 47/445/6 48/64/6 +f 42/69/1 46/68/1 48/64/1 +f 52/71/5 51/75/5 49/72/5 +f 56/74/3 55/446/3 51/75/3 +f 53/76/4 54/79/4 50/77/4 +f 53/76/6 55/446/6 56/74/6 +f 50/80/1 54/447/1 56/74/1 +f 60/81/5 59/85/5 57/82/5 +f 64/84/3 63/448/3 59/85/3 +f 61/86/4 62/88/4 58/83/4 +f 61/86/6 63/449/6 64/87/6 +f 122/89/14 124/450/14 125/90/14 +f 68/92/5 67/96/5 65/93/5 +f 72/95/3 71/451/3 67/96/3 +f 69/97/4 70/452/4 66/94/4 +f 69/98/6 71/451/6 72/95/6 +f 128/91/14 127/109/14 121/100/14 +f 76/101/5 75/453/5 73/102/5 +f 80/104/3 79/454/3 75/105/3 +f 77/107/4 78/108/4 74/103/4 +f 77/107/6 79/454/6 80/104/6 +f 127/109/14 126/120/14 123/110/14 +f 84/111/5 83/115/5 81/112/5 +f 88/114/3 87/455/3 83/115/3 +f 85/116/4 86/119/4 82/117/4 +f 85/116/6 87/455/6 88/114/6 +f 125/90/14 124/450/14 123/110/14 +f 89/121/1 91/456/1 92/122/1 +f 95/124/14 96/128/14 93/125/14 +f 89/127/4 93/125/4 96/128/4 +f 92/122/3 95/124/3 94/126/3 +f 97/130/1 99/139/1 100/131/1 +f 103/133/14 104/138/14 101/134/14 +f 100/136/3 103/133/3 102/135/3 +f 97/130/4 101/134/4 104/138/4 +f 105/140/1 107/457/1 108/141/1 +f 111/143/14 112/147/14 109/144/14 +f 105/146/5 109/144/5 112/147/5 +f 108/141/6 111/143/6 110/145/6 +f 113/149/1 115/158/1 116/150/1 +f 119/152/14 120/157/14 117/153/14 +f 116/155/6 119/152/6 118/154/6 +f 113/149/5 117/153/5 120/157/5 +f 133/159/1 132/458/1 130/160/1 +f 129/162/1 135/164/1 136/161/1 +f 131/163/1 134/165/1 135/164/1 +f 131/163/1 132/458/1 133/159/1 +f 139/166/5 140/459/5 138/167/5 +f 143/169/3 144/460/3 142/170/3 +f 147/172/6 148/461/6 146/173/6 +f 151/175/4 152/462/4 150/176/4 +f 153/178/1 155/463/1 156/179/1 +f 159/181/14 160/185/14 157/182/14 +f 153/184/4 157/182/4 160/185/4 +f 156/179/3 159/181/3 158/183/3 +f 161/187/1 163/196/1 164/188/1 +f 167/190/14 168/195/14 165/191/14 +f 164/193/3 167/190/3 166/192/3 +f 161/187/4 165/191/4 168/195/4 +f 169/197/1 171/464/1 172/198/1 +f 175/200/14 176/204/14 173/201/14 +f 169/203/5 173/201/5 176/204/5 +f 172/198/6 175/200/6 174/202/6 +f 177/206/1 179/215/1 180/207/1 +f 183/209/14 184/214/14 181/210/14 +f 180/212/6 183/209/6 182/211/6 +f 177/206/5 181/210/5 184/214/5 +f 204/216/14 220/220/14 219/217/14 +f 205/219/14 221/465/14 220/220/14 +f 205/221/14 206/225/14 222/222/14 +f 207/224/14 223/227/14 222/222/14 +f 207/224/14 208/229/14 224/226/14 +f 209/228/14 225/231/14 224/226/14 +f 209/228/14 210/232/14 226/230/14 +f 210/232/14 211/235/14 227/233/14 +f 212/234/14 228/237/14 227/233/14 +f 213/236/14 229/239/14 228/237/14 +f 213/236/14 214/240/14 230/238/14 +f 214/240/14 215/243/14 231/241/14 +f 216/242/14 232/245/14 231/241/14 +f 201/244/14 217/247/14 232/245/14 +f 202/246/14 218/248/14 217/247/14 +f 203/218/14 219/217/14 218/248/14 +f 235/249/1 236/466/1 234/250/1 +f 239/252/14 240/467/14 237/253/14 +f 234/255/4 239/468/4 238/256/4 +f 236/258/5 240/467/5 239/252/5 +f 233/260/6 238/469/6 237/261/6 +f 235/263/3 237/470/3 240/264/3 +f 243/266/1 244/471/1 242/267/1 +f 247/269/14 248/472/14 245/270/14 +f 242/272/4 247/473/4 246/273/4 +f 244/275/5 248/472/5 247/269/5 +f 241/277/6 246/474/6 245/278/6 +f 243/280/3 245/475/3 248/281/3 +f 251/283/1 252/476/1 250/284/1 +f 255/286/14 256/477/14 253/287/14 +f 250/289/4 255/478/4 254/290/4 +f 252/292/5 256/477/5 255/286/5 +f 249/294/6 254/479/6 253/295/6 +f 251/297/3 253/480/3 256/298/3 +f 260/300/15 259/309/15 257/301/15 +f 261/303/16 263/481/16 264/304/16 +f 304/306/5 303/482/5 299/307/5 +f 259/309/17 260/300/17 264/310/17 +f 302/312/6 301/483/6 297/313/6 +f 257/301/18 261/303/18 262/305/18 +f 266/315/15 268/395/15 267/316/15 +f 270/318/16 269/484/16 271/319/16 +f 301/321/3 304/485/3 300/322/3 +f 267/316/19 268/395/19 272/320/19 +f 303/324/4 302/486/4 298/325/4 +f 265/317/20 269/487/20 270/327/20 +f 276/328/21 275/488/21 273/329/21 +f 277/331/22 279/338/22 280/332/22 +f 295/334/4 294/489/4 290/335/4 +f 276/337/17 280/332/17 279/338/17 +f 293/340/3 296/490/3 292/341/3 +f 274/330/18 273/329/18 277/331/18 +f 282/343/21 284/352/21 283/344/21 +f 286/346/22 285/357/22 287/347/22 +f 294/349/6 293/491/6 289/350/6 +f 284/352/19 288/348/19 287/347/19 +f 296/353/5 295/492/5 291/354/5 +f 282/356/20 281/493/20 285/357/20 +f 312/358/5 311/494/5 307/359/5 +f 310/361/6 309/495/6 305/362/6 +f 309/364/3 312/496/3 308/365/3 +f 311/367/4 310/497/4 306/368/4 +f 313/370/23 314/498/23 316/371/23 +f 317/374/14 318/499/14 319/500/14 +f 319/500/14 320/501/14 321/502/14 +f 321/502/14 322/503/14 323/504/14 +f 323/504/14 324/505/14 325/375/14 +f 325/375/14 326/506/14 329/507/14 +f 326/506/14 327/508/14 329/507/14 +f 327/508/14 328/509/14 329/507/14 +f 329/507/14 330/510/14 331/373/14 +f 331/373/14 332/511/14 317/374/14 +f 317/374/14 319/500/14 321/502/14 +f 321/502/14 323/504/14 317/374/14 +f 323/504/14 325/375/14 317/374/14 +f 329/507/14 331/373/14 325/375/14 +f 334/376/24 336/512/24 335/377/24 +f 338/379/25 340/513/25 339/380/25 +f 342/382/26 344/514/26 343/383/26 +f 286/346/3 359/391/3 357/385/3 +f 260/300/4 346/401/4 348/386/4 +f 272/320/5 352/396/5 351/387/5 +f 262/305/3 347/393/3 345/388/3 +f 274/330/6 353/392/6 354/389/6 +f 276/337/4 354/515/4 356/390/4 +f 288/348/5 360/400/5 359/391/5 +f 278/333/3 355/397/3 353/392/3 +f 264/304/5 348/516/5 347/393/5 +f 266/315/6 349/398/6 350/394/6 +f 268/395/4 350/394/4 352/396/4 +f 280/332/5 356/390/5 355/397/5 +f 270/327/3 351/517/3 349/398/3 +f 282/343/6 357/518/6 358/399/6 +f 284/352/4 358/399/4 360/400/4 +f 258/302/6 345/388/6 346/401/6 +f 22/402/14 23/31/14 24/403/14 +f 666/405/6 671/427/6 672/406/6 +f 4/12/1 668/409/1 667/408/1 +f 2/14/1 666/410/1 668/409/1 +f 1/3/1 665/2/1 666/410/1 +f 672/411/1 676/434/1 673/412/1 +f 667/414/5 669/428/5 670/415/5 +f 668/417/4 672/411/4 669/413/4 +f 665/419/3 670/425/3 671/420/3 +f 675/422/5 679/431/5 680/423/5 +f 670/425/1 674/435/1 675/426/1 +f 671/427/1 675/422/1 676/424/1 +f 669/428/1 673/433/1 674/429/1 +f 677/430/1 680/423/1 679/431/1 +f 673/433/6 677/430/6 678/432/6 +f 676/434/3 680/423/3 677/430/3 +f 674/435/4 678/432/4 679/431/4 s 1 -f 210//63 225//6 209//6 -f 218//64 233//5 217//5 -f 211//65 226//63 210//63 -f 219//66 234//64 218//64 -f 212//67 227//65 211//65 -f 220//68 235//66 219//66 -f 213//4 228//67 212//67 -f 206//69 221//3 205//3 -f 205//3 236//68 220//68 -f 214//70 229//4 213//4 -f 207//71 222//69 206//69 -f 215//72 230//70 214//70 -f 208//73 223//71 207//71 -f 216//74 231//72 215//72 -f 209//6 224//73 208//73 -f 217//5 232//74 216//74 -f 244//67 259//65 243//65 -f 252//68 267//66 251//66 -f 245//4 260//67 244//67 -f 238//69 253//3 237//3 -f 237//3 268//68 252//68 -f 246//70 261//4 245//4 -f 239//71 254//69 238//69 -f 247//72 262//70 246//70 -f 240//73 255//71 239//71 -f 248//74 263//72 247//72 -f 241//6 256//73 240//73 -f 249//5 264//74 248//74 -f 242//63 257//6 241//6 -f 250//64 265//5 249//5 -f 243//65 258//63 242//63 -f 251//66 266//64 250//64 -f 271//71 286//69 270//69 -f 279//72 294//70 278//70 -f 272//73 287//71 271//71 -f 280//74 295//72 279//72 -f 273//6 288//73 272//73 -f 281//5 296//74 280//74 -f 274//63 289//6 273//6 -f 282//64 297//5 281//5 -f 275//65 290//63 274//63 -f 283//66 298//64 282//64 -f 276//67 291//65 275//65 -f 284//68 299//66 283//66 -f 277//4 292//67 276//67 -f 270//69 285//3 269//3 -f 269//3 300//68 284//68 -f 278//70 293//4 277//4 -f 308//67 323//65 307//65 -f 316//68 331//66 315//66 -f 309//4 324//67 308//67 -f 302//69 317//3 301//3 -f 301//3 332//68 316//68 -f 310//70 325//4 309//4 -f 303//71 318//69 302//69 -f 311//72 326//70 310//70 -f 304//73 319//71 303//71 -f 312//74 327//72 311//72 -f 305//6 320//73 304//73 -f 313//5 328//74 312//74 -f 306//63 321//6 305//6 -f 314//64 329//5 313//5 -f 307//65 322//63 306//63 -f 315//66 330//64 314//64 -f 335//71 350//69 334//69 -f 343//72 358//70 342//70 -f 336//73 351//71 335//71 -f 344//74 359//72 343//72 -f 337//6 352//73 336//73 -f 345//5 360//74 344//74 -f 338//63 353//6 337//6 -f 346//64 361//5 345//5 -f 339//65 354//63 338//63 -f 347//66 362//64 346//64 -f 340//67 355//65 339//65 -f 348//68 363//66 347//66 -f 341//4 356//67 340//67 -f 334//69 349//3 333//3 -f 333//3 364//68 348//68 -f 342//70 357//4 341//4 -f 375//71 390//69 374//69 -f 368//74 383//72 367//72 -f 376//73 391//71 375//71 -f 369//5 384//74 368//74 -f 377//6 392//73 376//73 -f 370//64 385//5 369//5 -f 378//63 393//6 377//6 -f 371//66 386//64 370//64 -f 379//65 394//63 378//63 -f 372//68 387//66 371//66 -f 380//67 395//65 379//65 -f 373//3 388//68 372//68 -f 366//70 381//4 365//4 -f 365//4 396//67 380//67 -f 374//69 389//3 373//3 -f 367//72 382//70 366//70 -f 399//75 208//76 207//75 -f 400//76 209//77 208//76 -f 209//77 402//78 210//78 -f 402//78 211//79 210//78 -f 403//79 212//80 211//79 -f 404//80 213//81 212//80 -f 405//81 214//82 213//81 -f 406//82 215//83 214//82 -f 407//83 216//84 215//83 -f 408//84 217//85 216//84 -f 409//85 218//86 217//85 -f 218//86 411//87 219//87 -f 411//87 220//88 219//87 -f 412//88 205//89 220//88 -f 397//89 206//90 205//89 -f 206//90 399//75 207//75 -f 480//91 495//92 479//92 -f 481//93 496//91 480//91 -f 482//94 497//93 481//93 -f 483//95 498//94 482//94 -f 484//96 499//95 483//95 -f 485//97 500//96 484//96 -f 486//98 501//97 485//97 -f 486//98 503//99 502//98 -f 488//100 503//99 487//99 -f 489//101 504//100 488//100 -f 490//102 505//101 489//101 -f 491//103 506//102 490//102 -f 492//104 507//103 491//103 -f 477//105 508//104 492//104 -f 478//106 493//105 477//105 -f 478//106 495//92 494//106 -f 526//70 541//4 525//4 -f 525//4 556//67 540//67 -f 534//69 549//3 533//3 -f 527//72 542//70 526//70 -f 535//71 550//69 534//69 -f 528//74 543//72 527//72 -f 536//73 551//71 535//71 -f 529//5 544//74 528//74 -f 537//6 552//73 536//73 -f 530//64 545//5 529//5 -f 538//63 553//6 537//6 -f 531//66 546//64 530//64 -f 539//65 554//63 538//63 -f 532//68 547//66 531//66 -f 540//67 555//65 539//65 -f 533//3 548//68 532//68 -f 568//74 583//72 567//72 -f 561//6 576//73 560//73 -f 569//5 584//74 568//74 -f 562//63 577//6 561//6 -f 570//64 585//5 569//5 -f 563//65 578//63 562//63 -f 571//66 586//64 570//64 -f 564//67 579//65 563//65 -f 572//68 587//66 571//66 -f 565//4 580//67 564//67 -f 558//69 573//3 557//3 -f 557//3 588//68 572//68 -f 566//70 581//4 565//4 -f 559//71 574//69 558//69 -f 567//72 582//70 566//70 -f 560//73 575//71 559//71 -f 600//74 615//72 599//72 -f 593//6 608//73 592//73 -f 601//5 616//74 600//74 -f 594//63 609//6 593//6 -f 602//64 617//5 601//5 -f 595//65 610//63 594//63 -f 603//66 618//64 602//64 -f 596//67 611//65 595//65 -f 604//68 619//66 603//66 -f 597//4 612//67 596//67 -f 590//69 605//3 589//3 -f 589//3 620//68 604//68 -f 598//70 613//4 597//4 -f 591//71 606//69 590//69 -f 599//72 614//70 598//70 -f 592//73 607//71 591//71 -f 632//74 647//72 631//72 -f 625//6 640//73 624//73 -f 633//5 648//74 632//74 -f 626//63 641//6 625//6 -f 634//64 649//5 633//5 -f 627//65 642//63 626//63 -f 635//66 650//64 634//64 -f 628//67 643//65 627//65 -f 636//68 651//66 635//66 -f 629//4 644//67 628//67 -f 622//69 637//3 621//3 -f 621//3 652//68 636//68 -f 630//70 645//4 629//4 -f 623//71 638//69 622//69 -f 631//72 646//70 630//70 -f 624//73 639//71 623//71 -f 668//68 683//66 667//66 -f 661//4 676//67 660//67 -f 654//69 669//3 653//3 -f 653//3 684//68 668//68 -f 662//70 677//4 661//4 -f 655//71 670//69 654//69 -f 663//72 678//70 662//70 -f 656//73 671//71 655//71 -f 664//74 679//72 663//72 -f 657//6 672//73 656//73 -f 665//5 680//74 664//74 -f 658//63 673//6 657//6 -f 666//64 681//5 665//5 -f 659//65 674//63 658//63 -f 667//66 682//64 666//64 -f 660//67 675//65 659//65 -f 689//5 704//74 688//74 -f 697//6 712//73 696//73 -f 690//64 705//5 689//5 -f 698//63 713//6 697//6 -f 691//66 706//64 690//64 -f 699//65 714//63 698//63 -f 692//68 707//66 691//66 -f 700//67 715//65 699//65 -f 693//3 708//68 692//68 -f 686//70 701//4 685//4 -f 685//4 716//67 700//67 -f 694//69 709//3 693//3 -f 687//72 702//70 686//70 -f 695//71 710//69 694//69 -f 688//74 703//72 687//72 -f 696//73 711//71 695//71 -f 839//72 854//70 838//70 -f 832//73 847//71 831//71 -f 840//74 855//72 839//72 -f 833//6 848//73 832//73 -f 841//5 856//74 840//74 -f 834//63 849//6 833//6 -f 842//64 857//5 841//5 -f 835//65 850//63 834//63 -f 843//66 858//64 842//64 -f 836//67 851//65 835//65 -f 844//68 859//66 843//66 -f 837//4 852//67 836//67 -f 830//69 845//3 829//3 -f 829//3 860//68 844//68 -f 838//70 853//4 837//4 -f 831//71 846//69 830//69 -f 873//6 972//73 872//73 -f 866//64 965//5 865//5 -f 874//63 973//6 873//6 -f 867//66 966//64 866//64 -f 875//65 974//63 874//63 -f 868//68 967//66 867//66 -f 876//67 975//65 875//65 -f 869//3 968//68 868//68 -f 862//70 961//4 861//4 -f 861//4 976//67 876//67 -f 870//69 969//3 869//3 -f 863//72 962//70 862//70 -f 871//71 970//69 870//69 -f 864//74 963//72 863//72 -f 872//73 971//71 871//71 -f 865//5 964//74 864//74 -f 1005//3 1020//107 1012//66 -f 1011//5 1018//108 1010//72 -f 1009//4 1016//109 1008//65 -f 1007//6 1014//110 1006//71 -f 1012//66 1019//111 1011//5 -f 1010//72 1017//2 1009//4 -f 1008//65 1015//112 1007//6 -f 1006//71 1013//113 1005//3 -f 1015//112 1022//114 1014//110 -f 1019//111 1027//115 1026//116 -f 1015//112 1024//117 1023//118 -f 1013//113 1022//114 1021//10 -f 1013//113 1027//115 1020//107 -f 1018//108 1026//116 1025//119 -f 1021//10 1034//120 1027//115 -f 1025//119 1033//121 1032//122 -f 1023//118 1029//123 1022//114 -f 1026//116 1034//120 1033//121 -f 1024//117 1030//124 1023//118 -f 1021//10 1029//123 1028//125 -f 1016//109 1017//2 1024//117 -f 1024//117 1017//2 1031//126 -f 1018//108 1025//119 1017//2 -f 1025//119 1032//122 1017//2 -f 1032//122 1035//1 1017//2 -f 1028//125 1042//12 1034//120 -f 1031//126 1035//1 1039//8 -f 1033//121 1040//7 1032//122 -f 1030//124 1037//13 1029//123 -f 1033//121 1042//12 1041//5 -f 1031//126 1038//6 1030//124 -f 1028//125 1037//13 1036//14 -f 1043//3 1058//107 1050//66 -f 1049//5 1056//108 1048//72 -f 1047//4 1054//109 1046//65 -f 1045//6 1052//110 1044//71 -f 1050//66 1057//111 1049//5 -f 1048//72 1055//2 1047//4 -f 1046//65 1053//112 1045//6 -f 1044//71 1051//113 1043//3 -f 1052//110 1061//118 1060//114 -f 1057//111 1065//115 1064//116 -f 1053//112 1062//117 1061//118 -f 1051//113 1060//114 1059//10 -f 1051//113 1065//115 1058//107 -f 1057//111 1063//119 1056//108 -f 1059//10 1072//120 1065//115 -f 1063//119 1071//121 1070//122 -f 1061//118 1067//123 1060//114 -f 1065//115 1071//121 1064//116 -f 1062//117 1068//124 1061//118 -f 1059//10 1067//123 1066//125 -f 1054//109 1055//2 1062//117 -f 1062//117 1055//2 1069//126 -f 1056//108 1063//119 1055//2 -f 1063//119 1070//122 1055//2 -f 1070//122 1073//1 1055//2 -f 1066//125 1080//12 1072//120 -f 1069//126 1073//1 1077//8 -f 1071//121 1078//7 1070//122 -f 1068//124 1075//13 1067//123 -f 1071//121 1080//12 1079//5 -f 1069//126 1076//6 1068//124 -f 1066//125 1075//13 1074//14 -f 1081//4 1096//127 1088//65 -f 1087//6 1094//128 1086//71 -f 1085//3 1092//129 1084//66 -f 1083//5 1090//130 1082//72 -f 1088//65 1095//131 1087//6 -f 1086//71 1093//9 1085//3 -f 1084//66 1091//132 1083//5 -f 1082//72 1089//133 1081//4 -f 1091//132 1098//134 1090//130 -f 1096//127 1102//135 1095//131 -f 1092//129 1099//136 1091//132 -f 1089//133 1098//134 1097//11 -f 1096//127 1097//11 1103//137 -f 1094//128 1102//135 1101//138 -f 1097//11 1110//139 1103//137 -f 1101//138 1109//140 1108//141 -f 1099//136 1105//142 1098//134 -f 1102//135 1110//139 1109//140 -f 1100//143 1106//144 1099//136 -f 1097//11 1105//142 1104//145 -f 1092//129 1093//9 1100//143 -f 1100//143 1093//9 1107//146 -f 1094//128 1101//138 1093//9 -f 1101//138 1108//141 1093//9 -f 1108//141 1111//1 1093//9 -f 1104//145 1118//13 1110//139 -f 1107//146 1111//1 1115//7 -f 1109//140 1116//8 1108//141 -f 1106//144 1113//12 1105//142 -f 1109//140 1118//13 1117//6 -f 1107//146 1114//5 1106//144 -f 1104//145 1113//12 1112//14 -f 1119//4 1134//127 1126//65 -f 1125//6 1132//128 1124//71 -f 1123//3 1130//129 1122//66 -f 1121//5 1128//130 1120//72 -f 1126//65 1133//131 1125//6 -f 1124//71 1131//9 1123//3 -f 1122//66 1129//132 1121//5 -f 1120//72 1127//133 1119//4 -f 1129//132 1136//134 1128//130 -f 1133//131 1141//137 1140//135 -f 1129//132 1138//143 1137//136 -f 1127//133 1136//134 1135//11 -f 1127//133 1141//137 1134//127 -f 1133//131 1139//138 1132//128 -f 1135//11 1148//139 1141//137 -f 1139//138 1147//140 1146//141 -f 1137//136 1143//142 1136//134 -f 1141//137 1147//140 1140//135 -f 1138//143 1144//144 1137//136 -f 1135//11 1143//142 1142//145 -f 1130//129 1131//9 1138//143 -f 1138//143 1131//9 1145//146 -f 1132//128 1139//138 1131//9 -f 1139//138 1146//141 1131//9 -f 1146//141 1149//1 1131//9 -f 1142//145 1156//13 1148//139 -f 1145//146 1149//1 1153//7 -f 1147//140 1154//8 1146//141 -f 1144//144 1151//12 1143//142 -f 1147//140 1156//13 1155//6 -f 1145//146 1152//5 1144//144 -f 1142//145 1151//12 1150//14 -f 1157//6 1172//147 1164//71 -f 1163//3 1170//148 1162//66 -f 1161//5 1168//149 1160//72 -f 1159//4 1166//150 1158//65 -f 1164//71 1171//151 1163//3 -f 1162//66 1169//7 1161//5 -f 1160//72 1167//152 1159//4 -f 1158//65 1165//153 1157//6 -f 1166//150 1175//154 1174//155 -f 1172//147 1178//156 1171//151 -f 1167//152 1176//157 1175//154 -f 1165//153 1174//155 1173//13 -f 1165//153 1179//158 1172//147 -f 1171//151 1177//159 1170//148 -f 1173//13 1186//160 1179//158 -f 1177//159 1185//161 1184//162 -f 1175//154 1181//163 1174//155 -f 1179//158 1185//161 1178//156 -f 1176//157 1182//164 1175//154 -f 1174//155 1180//165 1173//13 -f 1168//149 1169//7 1176//157 -f 1176//157 1169//7 1183//166 -f 1170//148 1177//159 1169//7 -f 1177//159 1184//162 1169//7 -f 1184//162 1187//1 1169//7 -f 1180//165 1194//10 1186//160 -f 1183//166 1187//1 1191//2 -f 1185//161 1192//9 1184//162 -f 1182//164 1189//11 1181//163 -f 1186//160 1193//3 1185//161 -f 1183//166 1190//4 1182//164 -f 1180//165 1189//11 1188//14 -f 1195//6 1210//147 1202//71 -f 1201//3 1208//148 1200//66 -f 1199//5 1206//149 1198//72 -f 1197//4 1204//150 1196//65 -f 1202//71 1209//151 1201//3 -f 1200//66 1207//7 1199//5 -f 1198//72 1205//152 1197//4 -f 1196//65 1203//153 1195//6 -f 1205//152 1212//155 1204//150 -f 1209//151 1217//167 1216//156 -f 1205//152 1214//157 1213//154 -f 1203//153 1212//155 1211//13 -f 1203//153 1217//167 1210//147 -f 1208//148 1216//156 1215//159 -f 1211//13 1224//160 1217//167 -f 1216//156 1222//162 1215//159 -f 1212//155 1220//164 1219//163 -f 1217//167 1223//161 1216//156 -f 1214//157 1220//164 1213//154 -f 1212//155 1218//165 1211//13 -f 1206//149 1207//7 1214//157 -f 1214//157 1207//7 1221//166 -f 1208//148 1215//159 1207//7 -f 1215//159 1222//162 1207//7 -f 1222//162 1225//1 1207//7 -f 1218//165 1232//10 1224//160 -f 1207//7 1229//2 1221//166 -f 1222//162 1231//3 1230//9 -f 1220//164 1227//11 1219//163 -f 1223//161 1232//10 1231//3 -f 1220//164 1229//2 1228//4 -f 1218//165 1227//11 1226//14 -f 1233//5 1248//168 1240//72 -f 1239//4 1246//169 1238//65 -f 1237//6 1244//170 1236//71 -f 1235//3 1242//171 1234//66 -f 1240//72 1247//172 1239//4 -f 1238//65 1245//8 1237//6 -f 1236//71 1243//173 1235//3 -f 1234//66 1241//174 1233//5 -f 1243//173 1250//175 1242//171 -f 1248//168 1254//176 1247//172 -f 1243//173 1252//177 1251//178 -f 1242//171 1249//12 1241//174 -f 1241//174 1255//179 1248//168 -f 1246//169 1254//176 1253//180 -f 1249//12 1262//181 1255//179 -f 1253//180 1261//182 1260//183 -f 1250//175 1258//184 1257//185 -f 1254//176 1262//181 1261//182 -f 1252//177 1258//184 1251//178 -f 1249//12 1257//185 1256//186 -f 1244//170 1245//8 1252//177 -f 1252//177 1245//8 1259//187 -f 1246//169 1253//180 1245//8 -f 1253//180 1260//183 1245//8 -f 1260//183 1263//1 1245//8 -f 1256//186 1270//11 1262//181 -f 1245//8 1267//9 1259//187 -f 1260//183 1269//4 1268//2 -f 1258//184 1265//10 1257//185 -f 1261//182 1270//11 1269//4 -f 1259//187 1266//3 1258//184 -f 1256//186 1265//10 1264//14 -f 1271//5 1286//168 1278//72 -f 1277//4 1284//169 1276//65 -f 1275//6 1282//170 1274//71 -f 1273//3 1280//171 1272//66 -f 1278//72 1285//172 1277//4 -f 1276//65 1283//8 1275//6 -f 1274//71 1281//173 1273//3 -f 1272//66 1279//174 1271//5 -f 1280//171 1289//178 1288//175 -f 1285//172 1293//188 1292//176 -f 1282//170 1289//178 1281//173 -f 1279//174 1288//175 1287//12 -f 1279//174 1293//188 1286//168 -f 1285//172 1291//180 1284//169 -f 1287//12 1300//181 1293//188 -f 1291//180 1299//182 1298//183 -f 1288//175 1296//184 1295//185 -f 1292//176 1300//181 1299//182 -f 1290//177 1296//184 1289//178 -f 1287//12 1295//185 1294//186 -f 1282//170 1283//8 1290//177 -f 1290//177 1283//8 1297//187 -f 1284//169 1291//180 1283//8 -f 1291//180 1298//183 1283//8 -f 1298//183 1301//1 1283//8 -f 1294//186 1308//11 1300//181 -f 1297//187 1301//1 1305//9 -f 1299//182 1306//2 1298//183 -f 1296//184 1303//10 1295//185 -f 1299//182 1308//11 1307//4 -f 1297//187 1304//3 1296//184 -f 1294//186 1303//10 1302//14 -f 210//63 226//63 225//6 -f 218//64 234//64 233//5 -f 211//65 227//65 226//63 -f 219//66 235//66 234//64 -f 212//67 228//67 227//65 -f 220//68 236//68 235//66 -f 213//4 229//4 228//67 -f 206//69 222//69 221//3 -f 205//3 221//3 236//68 -f 214//70 230//70 229//4 -f 207//71 223//71 222//69 -f 215//72 231//72 230//70 -f 208//73 224//73 223//71 -f 216//74 232//74 231//72 -f 209//6 225//6 224//73 -f 217//5 233//5 232//74 -f 244//67 260//67 259//65 -f 252//68 268//68 267//66 -f 245//4 261//4 260//67 -f 238//69 254//69 253//3 -f 237//3 253//3 268//68 -f 246//70 262//70 261//4 -f 239//71 255//71 254//69 -f 247//72 263//72 262//70 -f 240//73 256//73 255//71 -f 248//74 264//74 263//72 -f 241//6 257//6 256//73 -f 249//5 265//5 264//74 -f 242//63 258//63 257//6 -f 250//64 266//64 265//5 -f 243//65 259//65 258//63 -f 251//66 267//66 266//64 -f 271//71 287//71 286//69 -f 279//72 295//72 294//70 -f 272//73 288//73 287//71 -f 280//74 296//74 295//72 -f 273//6 289//6 288//73 -f 281//5 297//5 296//74 -f 274//63 290//63 289//6 -f 282//64 298//64 297//5 -f 275//65 291//65 290//63 -f 283//66 299//66 298//64 -f 276//67 292//67 291//65 -f 284//68 300//68 299//66 -f 277//4 293//4 292//67 -f 270//69 286//69 285//3 -f 269//3 285//3 300//68 -f 278//70 294//70 293//4 -f 308//67 324//67 323//65 -f 316//68 332//68 331//66 -f 309//4 325//4 324//67 -f 302//69 318//69 317//3 -f 301//3 317//3 332//68 -f 310//70 326//70 325//4 -f 303//71 319//71 318//69 -f 311//72 327//72 326//70 -f 304//73 320//73 319//71 -f 312//74 328//74 327//72 -f 305//6 321//6 320//73 -f 313//5 329//5 328//74 -f 306//63 322//63 321//6 -f 314//64 330//64 329//5 -f 307//65 323//65 322//63 -f 315//66 331//66 330//64 -f 335//71 351//71 350//69 -f 343//72 359//72 358//70 -f 336//73 352//73 351//71 -f 344//74 360//74 359//72 -f 337//6 353//6 352//73 -f 345//5 361//5 360//74 -f 338//63 354//63 353//6 -f 346//64 362//64 361//5 -f 339//65 355//65 354//63 -f 347//66 363//66 362//64 -f 340//67 356//67 355//65 -f 348//68 364//68 363//66 -f 341//4 357//4 356//67 -f 334//69 350//69 349//3 -f 333//3 349//3 364//68 -f 342//70 358//70 357//4 -f 375//71 391//71 390//69 -f 368//74 384//74 383//72 -f 376//73 392//73 391//71 -f 369//5 385//5 384//74 -f 377//6 393//6 392//73 -f 370//64 386//64 385//5 -f 378//63 394//63 393//6 -f 371//66 387//66 386//64 -f 379//65 395//65 394//63 -f 372//68 388//68 387//66 -f 380//67 396//67 395//65 -f 373//3 389//3 388//68 -f 366//70 382//70 381//4 -f 365//4 381//4 396//67 -f 374//69 390//69 389//3 -f 367//72 383//72 382//70 -f 399//75 400//76 208//76 -f 400//76 401//77 209//77 -f 209//77 401//77 402//78 -f 402//78 403//79 211//79 -f 403//79 404//80 212//80 -f 404//80 405//81 213//81 -f 405//81 406//82 214//82 -f 406//82 407//83 215//83 -f 407//83 408//84 216//84 -f 408//84 409//85 217//85 -f 409//85 410//86 218//86 -f 218//86 410//86 411//87 -f 411//87 412//88 220//88 -f 412//88 397//89 205//89 -f 397//89 398//90 206//90 -f 206//90 398//90 399//75 -f 480//91 496//91 495//92 -f 481//93 497//93 496//91 -f 482//94 498//94 497//93 -f 483//95 499//95 498//94 -f 484//96 500//96 499//95 -f 485//97 501//97 500//96 -f 486//98 502//98 501//97 -f 486//98 487//99 503//99 -f 488//100 504//100 503//99 -f 489//101 505//101 504//100 -f 490//102 506//102 505//101 -f 491//103 507//103 506//102 -f 492//104 508//104 507//103 -f 477//105 493//105 508//104 -f 478//106 494//106 493//105 -f 478//106 479//92 495//92 -f 526//70 542//70 541//4 -f 525//4 541//4 556//67 -f 534//69 550//69 549//3 -f 527//72 543//72 542//70 -f 535//71 551//71 550//69 -f 528//74 544//74 543//72 -f 536//73 552//73 551//71 -f 529//5 545//5 544//74 -f 537//6 553//6 552//73 -f 530//64 546//64 545//5 -f 538//63 554//63 553//6 -f 531//66 547//66 546//64 -f 539//65 555//65 554//63 -f 532//68 548//68 547//66 -f 540//67 556//67 555//65 -f 533//3 549//3 548//68 -f 568//74 584//74 583//72 -f 561//6 577//6 576//73 -f 569//5 585//5 584//74 -f 562//63 578//63 577//6 -f 570//64 586//64 585//5 -f 563//65 579//65 578//63 -f 571//66 587//66 586//64 -f 564//67 580//67 579//65 -f 572//68 588//68 587//66 -f 565//4 581//4 580//67 -f 558//69 574//69 573//3 -f 557//3 573//3 588//68 -f 566//70 582//70 581//4 -f 559//71 575//71 574//69 -f 567//72 583//72 582//70 -f 560//73 576//73 575//71 -f 600//74 616//74 615//72 -f 593//6 609//6 608//73 -f 601//5 617//5 616//74 -f 594//63 610//63 609//6 -f 602//64 618//64 617//5 -f 595//65 611//65 610//63 -f 603//66 619//66 618//64 -f 596//67 612//67 611//65 -f 604//68 620//68 619//66 -f 597//4 613//4 612//67 -f 590//69 606//69 605//3 -f 589//3 605//3 620//68 -f 598//70 614//70 613//4 -f 591//71 607//71 606//69 -f 599//72 615//72 614//70 -f 592//73 608//73 607//71 -f 632//74 648//74 647//72 -f 625//6 641//6 640//73 -f 633//5 649//5 648//74 -f 626//63 642//63 641//6 -f 634//64 650//64 649//5 -f 627//65 643//65 642//63 -f 635//66 651//66 650//64 -f 628//67 644//67 643//65 -f 636//68 652//68 651//66 -f 629//4 645//4 644//67 -f 622//69 638//69 637//3 -f 621//3 637//3 652//68 -f 630//70 646//70 645//4 -f 623//71 639//71 638//69 -f 631//72 647//72 646//70 -f 624//73 640//73 639//71 -f 668//68 684//68 683//66 -f 661//4 677//4 676//67 -f 654//69 670//69 669//3 -f 653//3 669//3 684//68 -f 662//70 678//70 677//4 -f 655//71 671//71 670//69 -f 663//72 679//72 678//70 -f 656//73 672//73 671//71 -f 664//74 680//74 679//72 -f 657//6 673//6 672//73 -f 665//5 681//5 680//74 -f 658//63 674//63 673//6 -f 666//64 682//64 681//5 -f 659//65 675//65 674//63 -f 667//66 683//66 682//64 -f 660//67 676//67 675//65 -f 689//5 705//5 704//74 -f 697//6 713//6 712//73 -f 690//64 706//64 705//5 -f 698//63 714//63 713//6 -f 691//66 707//66 706//64 -f 699//65 715//65 714//63 -f 692//68 708//68 707//66 -f 700//67 716//67 715//65 -f 693//3 709//3 708//68 -f 686//70 702//70 701//4 -f 685//4 701//4 716//67 -f 694//69 710//69 709//3 -f 687//72 703//72 702//70 -f 695//71 711//71 710//69 -f 688//74 704//74 703//72 -f 696//73 712//73 711//71 -f 839//72 855//72 854//70 -f 832//73 848//73 847//71 -f 840//74 856//74 855//72 -f 833//6 849//6 848//73 -f 841//5 857//5 856//74 -f 834//63 850//63 849//6 -f 842//64 858//64 857//5 -f 835//65 851//65 850//63 -f 843//66 859//66 858//64 -f 836//67 852//67 851//65 -f 844//68 860//68 859//66 -f 837//4 853//4 852//67 -f 830//69 846//69 845//3 -f 829//3 845//3 860//68 -f 838//70 854//70 853//4 -f 831//71 847//71 846//69 -f 873//6 973//6 972//73 -f 866//64 966//64 965//5 -f 874//63 974//63 973//6 -f 867//66 967//66 966//64 -f 875//65 975//65 974//63 -f 868//68 968//68 967//66 -f 876//67 976//67 975//65 -f 869//3 969//3 968//68 -f 862//70 962//70 961//4 -f 861//4 961//4 976//67 -f 870//69 970//69 969//3 -f 863//72 963//72 962//70 -f 871//71 971//71 970//69 -f 864//74 964//74 963//72 -f 872//73 972//73 971//71 -f 865//5 965//5 964//74 -f 1005//3 1013//113 1020//107 -f 1011//5 1019//111 1018//108 -f 1009//4 1017//2 1016//109 -f 1007//6 1015//112 1014//110 -f 1012//66 1020//107 1019//111 -f 1010//72 1018//108 1017//2 -f 1008//65 1016//109 1015//112 -f 1006//71 1014//110 1013//113 -f 1015//112 1023//118 1022//114 -f 1019//111 1020//107 1027//115 -f 1015//112 1016//109 1024//117 -f 1013//113 1014//110 1022//114 -f 1013//113 1021//10 1027//115 -f 1018//108 1019//111 1026//116 -f 1021//10 1028//125 1034//120 -f 1025//119 1026//116 1033//121 -f 1023//118 1030//124 1029//123 -f 1026//116 1027//115 1034//120 -f 1024//117 1031//126 1030//124 -f 1021//10 1022//114 1029//123 -f 1032//122 1040//7 1035//1 -f 1028//125 1036//14 1042//12 -f 1031//126 1017//2 1035//1 -f 1033//121 1041//5 1040//7 -f 1030//124 1038//6 1037//13 -f 1033//121 1034//120 1042//12 -f 1031//126 1039//8 1038//6 -f 1028//125 1029//123 1037//13 -f 1043//3 1051//113 1058//107 -f 1049//5 1057//111 1056//108 -f 1047//4 1055//2 1054//109 -f 1045//6 1053//112 1052//110 -f 1050//66 1058//107 1057//111 -f 1048//72 1056//108 1055//2 -f 1046//65 1054//109 1053//112 -f 1044//71 1052//110 1051//113 -f 1052//110 1053//112 1061//118 -f 1057//111 1058//107 1065//115 -f 1053//112 1054//109 1062//117 -f 1051//113 1052//110 1060//114 -f 1051//113 1059//10 1065//115 -f 1057//111 1064//116 1063//119 -f 1059//10 1066//125 1072//120 -f 1063//119 1064//116 1071//121 -f 1061//118 1068//124 1067//123 -f 1065//115 1072//120 1071//121 -f 1062//117 1069//126 1068//124 -f 1059//10 1060//114 1067//123 -f 1070//122 1078//7 1073//1 -f 1066//125 1074//14 1080//12 -f 1069//126 1055//2 1073//1 -f 1071//121 1079//5 1078//7 -f 1068//124 1076//6 1075//13 -f 1071//121 1072//120 1080//12 -f 1069//126 1077//8 1076//6 -f 1066//125 1067//123 1075//13 -f 1081//4 1089//133 1096//127 -f 1087//6 1095//131 1094//128 -f 1085//3 1093//9 1092//129 -f 1083//5 1091//132 1090//130 -f 1088//65 1096//127 1095//131 -f 1086//71 1094//128 1093//9 -f 1084//66 1092//129 1091//132 -f 1082//72 1090//130 1089//133 -f 1091//132 1099//136 1098//134 -f 1096//127 1103//137 1102//135 -f 1092//129 1100//143 1099//136 -f 1089//133 1090//130 1098//134 -f 1096//127 1089//133 1097//11 -f 1094//128 1095//131 1102//135 -f 1097//11 1104//145 1110//139 -f 1101//138 1102//135 1109//140 -f 1099//136 1106//144 1105//142 -f 1102//135 1103//137 1110//139 -f 1100//143 1107//146 1106//144 -f 1097//11 1098//134 1105//142 -f 1108//141 1116//8 1111//1 -f 1104//145 1112//14 1118//13 -f 1107//146 1093//9 1111//1 -f 1109//140 1117//6 1116//8 -f 1106//144 1114//5 1113//12 -f 1109//140 1110//139 1118//13 -f 1107//146 1115//7 1114//5 -f 1104//145 1105//142 1113//12 -f 1119//4 1127//133 1134//127 -f 1125//6 1133//131 1132//128 -f 1123//3 1131//9 1130//129 -f 1121//5 1129//132 1128//130 -f 1126//65 1134//127 1133//131 -f 1124//71 1132//128 1131//9 -f 1122//66 1130//129 1129//132 -f 1120//72 1128//130 1127//133 -f 1129//132 1137//136 1136//134 -f 1133//131 1134//127 1141//137 -f 1129//132 1130//129 1138//143 -f 1127//133 1128//130 1136//134 -f 1127//133 1135//11 1141//137 -f 1133//131 1140//135 1139//138 -f 1135//11 1142//145 1148//139 -f 1139//138 1140//135 1147//140 -f 1137//136 1144//144 1143//142 -f 1141//137 1148//139 1147//140 -f 1138//143 1145//146 1144//144 -f 1135//11 1136//134 1143//142 -f 1146//141 1154//8 1149//1 -f 1142//145 1150//14 1156//13 -f 1145//146 1131//9 1149//1 -f 1147//140 1155//6 1154//8 -f 1144//144 1152//5 1151//12 -f 1147//140 1148//139 1156//13 -f 1145//146 1153//7 1152//5 -f 1142//145 1143//142 1151//12 -f 1157//6 1165//153 1172//147 -f 1163//3 1171//151 1170//148 -f 1161//5 1169//7 1168//149 -f 1159//4 1167//152 1166//150 -f 1164//71 1172//147 1171//151 -f 1162//66 1170//148 1169//7 -f 1160//72 1168//149 1167//152 -f 1158//65 1166//150 1165//153 -f 1166//150 1167//152 1175//154 -f 1172//147 1179//158 1178//156 -f 1167//152 1168//149 1176//157 -f 1165//153 1166//150 1174//155 -f 1165//153 1173//13 1179//158 -f 1171//151 1178//156 1177//159 -f 1173//13 1180//165 1186//160 -f 1177//159 1178//156 1185//161 -f 1175//154 1182//164 1181//163 -f 1179//158 1186//160 1185//161 -f 1176//157 1183//166 1182//164 -f 1174//155 1181//163 1180//165 -f 1184//162 1192//9 1187//1 -f 1180//165 1188//14 1194//10 -f 1183//166 1169//7 1187//1 -f 1185//161 1193//3 1192//9 -f 1182//164 1190//4 1189//11 -f 1186//160 1194//10 1193//3 -f 1183//166 1191//2 1190//4 -f 1180//165 1181//163 1189//11 -f 1195//6 1203//153 1210//147 -f 1201//3 1209//151 1208//148 -f 1199//5 1207//7 1206//149 -f 1197//4 1205//152 1204//150 -f 1202//71 1210//147 1209//151 -f 1200//66 1208//148 1207//7 -f 1198//72 1206//149 1205//152 -f 1196//65 1204//150 1203//153 -f 1205//152 1213//154 1212//155 -f 1209//151 1210//147 1217//167 -f 1205//152 1206//149 1214//157 -f 1203//153 1204//150 1212//155 -f 1203//153 1211//13 1217//167 -f 1208//148 1209//151 1216//156 -f 1211//13 1218//165 1224//160 -f 1216//156 1223//161 1222//162 -f 1212//155 1213//154 1220//164 -f 1217//167 1224//160 1223//161 -f 1214//157 1221//166 1220//164 -f 1212//155 1219//163 1218//165 -f 1222//162 1230//9 1225//1 -f 1218//165 1226//14 1232//10 -f 1207//7 1225//1 1229//2 -f 1222//162 1223//161 1231//3 -f 1220//164 1228//4 1227//11 -f 1223//161 1224//160 1232//10 -f 1220//164 1221//166 1229//2 -f 1218//165 1219//163 1227//11 -f 1233//5 1241//174 1248//168 -f 1239//4 1247//172 1246//169 -f 1237//6 1245//8 1244//170 -f 1235//3 1243//173 1242//171 -f 1240//72 1248//168 1247//172 -f 1238//65 1246//169 1245//8 -f 1236//71 1244//170 1243//173 -f 1234//66 1242//171 1241//174 -f 1243//173 1251//178 1250//175 -f 1248//168 1255//179 1254//176 -f 1243//173 1244//170 1252//177 -f 1242//171 1250//175 1249//12 -f 1241//174 1249//12 1255//179 -f 1246//169 1247//172 1254//176 -f 1249//12 1256//186 1262//181 -f 1253//180 1254//176 1261//182 -f 1250//175 1251//178 1258//184 -f 1254//176 1255//179 1262//181 -f 1252//177 1259//187 1258//184 -f 1249//12 1250//175 1257//185 -f 1260//183 1268//2 1263//1 -f 1256//186 1264//14 1270//11 -f 1245//8 1263//1 1267//9 -f 1260//183 1261//182 1269//4 -f 1258//184 1266//3 1265//10 -f 1261//182 1262//181 1270//11 -f 1259//187 1267//9 1266//3 -f 1256//186 1257//185 1265//10 -f 1271//5 1279//174 1286//168 -f 1277//4 1285//172 1284//169 -f 1275//6 1283//8 1282//170 -f 1273//3 1281//173 1280//171 -f 1278//72 1286//168 1285//172 -f 1276//65 1284//169 1283//8 -f 1274//71 1282//170 1281//173 -f 1272//66 1280//171 1279//174 -f 1280//171 1281//173 1289//178 -f 1285//172 1286//168 1293//188 -f 1282//170 1290//177 1289//178 -f 1279//174 1280//171 1288//175 -f 1279//174 1287//12 1293//188 -f 1285//172 1292//176 1291//180 -f 1287//12 1294//186 1300//181 -f 1291//180 1292//176 1299//182 -f 1288//175 1289//178 1296//184 -f 1292//176 1293//188 1300//181 -f 1290//177 1297//187 1296//184 -f 1287//12 1288//175 1295//185 -f 1298//183 1306//2 1301//1 -f 1294//186 1302//14 1308//11 -f 1297//187 1283//8 1301//1 -f 1299//182 1307//4 1306//2 -f 1296//184 1304//3 1303//10 -f 1299//182 1300//181 1308//11 -f 1297//187 1305//9 1304//3 -f 1294//186 1295//185 1303//10 +f 195/519/27 210/232/28 194/520/28 +f 188/521/29 203/218/30 187/522/30 +f 196/523/31 211/235/27 195/519/27 +f 189/524/6 204/216/29 188/521/29 +f 197/525/5 212/234/31 196/523/31 +f 190/526/32 205/221/6 189/527/6 +f 198/528/33 213/236/5 197/525/5 +f 191/529/34 206/225/32 190/526/32 +f 199/530/35 214/240/33 198/528/33 +f 192/531/36 207/224/34 191/529/34 +f 200/532/37 215/243/35 199/530/35 +f 193/533/4 208/229/36 192/531/36 +f 186/534/38 201/244/3 185/535/3 +f 185/535/3 216/242/37 200/532/37 +f 194/520/28 209/228/4 193/533/4 +f 187/522/30 202/246/38 186/534/38 +f 229/536/6 328/537/29 228/538/29 +f 222/539/33 321/540/5 221/541/5 +f 230/542/32 329/543/6 229/536/6 +f 223/544/35 322/545/33 222/539/33 +f 231/546/34 330/547/32 230/542/32 +f 224/548/37 323/549/35 223/544/35 +f 232/550/36 331/551/34 231/546/34 +f 225/552/3 324/553/37 224/548/37 +f 218/554/28 317/555/4 217/556/4 +f 217/556/4 332/557/36 232/550/36 +f 226/558/38 325/559/3 225/552/3 +f 219/560/27 318/561/28 218/554/28 +f 227/562/30 326/563/38 226/558/38 +f 220/564/31 319/565/27 219/560/27 +f 228/538/29 327/566/30 227/562/30 +f 221/567/5 320/568/31 220/564/31 +f 361/569/5 376/570/39 368/571/27 +f 367/572/4 374/573/40 366/574/34 +f 365/575/6 372/576/41 364/577/30 +f 363/578/3 370/579/42 362/580/35 +f 368/571/27 375/581/43 367/572/4 +f 366/574/34 373/582/8 365/583/6 +f 364/577/30 371/584/44 363/578/3 +f 362/580/35 369/585/45 361/569/5 +f 370/586/42 379/587/46 378/588/47 +f 376/589/39 382/590/48 375/591/43 +f 371/592/44 380/593/49 379/587/46 +f 369/585/45 378/588/47 377/594/12 +f 376/589/39 377/594/12 383/595/50 +f 375/591/43 381/596/51 374/597/40 +f 383/595/50 384/598/52 390/599/53 +f 381/596/51 389/600/54 388/601/55 +f 378/588/47 386/602/56 385/603/57 +f 383/595/50 389/600/54 382/590/48 +f 380/593/49 386/602/56 379/587/46 +f 378/588/47 384/598/52 377/594/12 +f 372/604/41 373/605/8 380/593/49 +f 380/593/49 373/605/8 387/606/58 +f 374/597/40 381/596/51 373/607/8 +f 381/596/51 388/601/55 373/607/8 +f 388/608/55 391/609/1 373/610/8 +f 384/598/52 398/611/11 390/612/53 +f 373/613/8 395/614/9 387/615/58 +f 389/616/54 396/617/2 388/608/55 +f 386/618/56 393/619/10 385/620/57 +f 390/612/53 397/621/4 389/616/54 +f 387/615/58 394/622/3 386/618/56 +f 384/598/52 393/619/10 392/623/14 +f 399/624/5 414/625/39 406/626/27 +f 405/627/4 412/628/40 404/629/34 +f 403/630/6 410/631/41 402/632/30 +f 401/633/3 408/634/42 400/635/35 +f 406/626/27 413/636/43 405/627/4 +f 404/629/34 411/637/8 403/638/6 +f 402/632/30 409/639/44 401/633/3 +f 400/635/35 407/640/45 399/624/5 +f 408/641/42 417/642/46 416/643/47 +f 414/644/39 420/645/48 413/646/43 +f 409/647/44 418/648/49 417/642/46 +f 407/640/45 416/643/47 415/649/12 +f 407/640/45 421/650/50 414/644/39 +f 413/646/43 419/651/51 412/652/40 +f 421/650/50 422/653/52 428/654/53 +f 420/645/48 426/655/55 419/651/51 +f 417/642/46 423/656/57 416/643/47 +f 420/645/48 428/654/53 427/657/54 +f 418/648/49 424/658/56 417/642/46 +f 415/649/12 423/656/57 422/653/52 +f 410/659/41 411/660/8 418/648/49 +f 418/648/49 411/660/8 425/661/58 +f 412/652/40 419/651/51 411/662/8 +f 419/651/51 426/655/55 411/662/8 +f 426/663/55 429/664/1 411/665/8 +f 422/653/52 436/666/11 428/667/53 +f 411/668/8 433/669/9 425/670/58 +f 427/671/54 434/672/2 426/663/55 +f 424/673/56 431/674/10 423/675/57 +f 428/667/53 435/676/4 427/671/54 +f 425/670/58 432/677/3 424/673/56 +f 423/675/57 430/678/14 422/653/52 +f 437/679/6 452/680/59 444/681/30 +f 443/682/3 450/683/60 442/684/35 +f 441/685/5 448/686/61 440/687/27 +f 439/688/4 446/689/62 438/690/34 +f 444/681/30 451/691/63 443/682/3 +f 442/684/35 449/692/7 441/693/5 +f 440/687/27 447/694/64 439/688/4 +f 438/690/34 445/695/65 437/679/6 +f 446/696/62 455/697/66 454/698/67 +f 452/699/59 458/700/68 451/701/63 +f 447/702/64 456/703/69 455/697/66 +f 445/695/65 454/698/67 453/704/13 +f 452/699/59 453/704/13 459/705/70 +f 451/701/63 457/706/71 450/707/60 +f 459/705/70 460/708/72 466/709/73 +f 458/700/68 464/710/74 457/706/71 +f 454/698/67 462/711/75 461/712/76 +f 458/700/68 466/709/73 465/713/77 +f 456/703/69 462/711/75 455/697/66 +f 453/704/13 461/712/76 460/708/72 +f 448/714/61 449/715/7 456/703/69 +f 456/703/69 449/715/7 463/716/78 +f 450/707/60 457/706/71 449/717/7 +f 457/706/71 464/710/74 449/717/7 +f 464/718/74 467/719/1 449/720/7 +f 460/708/72 474/721/10 466/722/73 +f 449/723/7 471/724/2 463/725/78 +f 465/726/77 472/727/9 464/718/74 +f 462/728/75 469/729/11 461/730/76 +f 466/722/73 473/731/3 465/726/77 +f 463/725/78 470/732/4 462/728/75 +f 460/708/72 469/729/11 468/733/14 +f 475/734/6 490/735/59 482/736/30 +f 481/737/3 488/738/60 480/739/35 +f 479/740/5 486/741/61 478/742/27 +f 477/743/4 484/744/62 476/745/34 +f 482/736/30 489/746/63 481/737/3 +f 480/739/35 487/747/7 479/748/5 +f 478/742/27 485/749/64 477/743/4 +f 476/745/34 483/750/65 475/734/6 +f 484/751/62 493/752/66 492/753/67 +f 490/754/59 496/755/68 489/756/63 +f 485/757/64 494/758/69 493/752/66 +f 483/750/65 492/753/67 491/759/13 +f 483/750/65 497/760/79 490/754/59 +f 489/756/63 495/761/71 488/762/60 +f 497/760/79 498/763/72 504/764/73 +f 495/761/71 503/765/77 502/766/74 +f 493/752/66 499/767/76 492/753/67 +f 496/755/68 504/764/73 503/765/77 +f 494/758/69 500/768/75 493/752/66 +f 492/753/67 498/763/72 491/759/13 +f 486/769/61 487/770/7 494/758/69 +f 494/758/69 487/770/7 501/771/78 +f 488/762/60 495/761/71 487/772/7 +f 495/761/71 502/766/74 487/772/7 +f 502/773/74 505/774/1 487/775/7 +f 498/763/72 512/776/10 504/777/73 +f 487/778/7 509/779/2 501/780/78 +f 503/781/77 510/782/9 502/773/74 +f 500/783/75 507/784/11 499/785/76 +f 504/777/73 511/786/3 503/781/77 +f 501/780/78 508/787/4 500/783/75 +f 499/785/76 506/788/14 498/763/72 +f 513/789/3 528/790/80 520/791/35 +f 519/792/5 526/793/81 518/794/27 +f 517/795/4 524/796/82 516/797/34 +f 515/798/6 522/799/83 514/800/30 +f 520/791/35 527/801/84 519/792/5 +f 518/794/27 525/802/2 517/803/4 +f 516/797/34 523/804/85 515/798/6 +f 514/800/30 521/805/86 513/789/3 +f 522/806/83 531/807/87 530/808/88 +f 528/809/80 534/810/89 527/811/84 +f 523/812/85 532/813/90 531/807/87 +f 521/805/86 530/808/88 529/814/10 +f 528/809/80 529/814/10 535/815/91 +f 527/811/84 533/816/92 526/817/81 +f 535/815/91 536/818/93 542/819/94 +f 533/816/92 541/820/95 540/821/96 +f 530/808/88 538/822/97 537/823/98 +f 535/815/91 541/820/95 534/810/89 +f 532/813/90 538/822/97 531/807/87 +f 530/808/88 536/818/93 529/814/10 +f 524/824/82 525/825/2 532/813/90 +f 532/813/90 525/825/2 539/826/99 +f 526/817/81 533/816/92 525/827/2 +f 533/816/92 540/821/96 525/827/2 +f 540/828/96 543/829/1 525/830/2 +f 536/818/93 550/831/12 542/832/94 +f 525/833/2 547/834/8 539/835/99 +f 540/828/96 549/836/5 548/837/7 +f 537/838/98 546/839/6 545/840/13 +f 542/832/94 549/836/5 541/841/95 +f 539/835/99 546/839/6 538/842/97 +f 537/838/98 544/843/14 536/818/93 +f 551/844/3 566/845/80 558/846/35 +f 557/847/5 564/848/81 556/849/27 +f 555/850/4 562/851/82 554/852/34 +f 553/853/6 560/854/83 552/855/30 +f 558/846/35 565/856/84 557/847/5 +f 556/849/27 563/857/2 555/858/4 +f 554/852/34 561/859/85 553/853/6 +f 552/855/30 559/860/86 551/844/3 +f 560/861/83 569/862/87 568/863/88 +f 566/864/80 572/865/89 565/866/84 +f 561/867/85 570/868/90 569/862/87 +f 559/860/86 568/863/88 567/869/10 +f 559/860/86 573/870/91 566/864/80 +f 565/866/84 571/871/92 564/872/81 +f 573/870/91 574/873/93 580/874/94 +f 571/871/92 579/875/95 578/876/96 +f 569/862/87 575/877/98 568/863/88 +f 573/870/91 579/875/95 572/865/89 +f 569/862/87 577/878/99 576/879/97 +f 567/869/10 575/877/98 574/873/93 +f 562/880/82 563/881/2 570/868/90 +f 570/868/90 563/881/2 577/878/99 +f 564/872/81 571/871/92 563/882/2 +f 571/871/92 578/876/96 563/882/2 +f 578/883/96 581/884/1 563/885/2 +f 574/873/93 588/886/12 580/887/94 +f 563/888/2 585/889/8 577/890/99 +f 579/891/95 586/892/7 578/883/96 +f 576/893/97 583/894/13 575/895/98 +f 580/887/94 587/896/5 579/891/95 +f 577/890/99 584/897/6 576/893/97 +f 575/895/98 582/898/14 574/873/93 +f 589/899/4 604/900/100 596/901/34 +f 595/902/6 602/903/101 594/904/30 +f 593/905/3 600/906/102 592/907/35 +f 591/908/5 598/909/103 590/910/27 +f 596/901/34 603/911/104 595/902/6 +f 594/904/30 601/912/9 593/913/3 +f 592/907/35 599/914/105 591/908/5 +f 590/910/27 597/915/106 589/899/4 +f 598/916/103 607/917/107 606/918/108 +f 603/919/104 611/920/109 610/921/110 +f 599/922/105 608/923/111 607/917/107 +f 597/915/106 606/918/108 605/924/11 +f 597/915/106 611/920/109 604/925/100 +f 603/919/104 609/926/112 602/927/101 +f 611/920/109 612/928/113 618/929/114 +f 610/921/110 616/930/115 609/926/112 +f 606/918/108 614/931/116 613/932/117 +f 610/921/110 618/929/114 617/933/118 +f 608/923/111 614/931/116 607/917/107 +f 606/918/108 612/928/113 605/924/11 +f 600/934/102 601/935/9 608/923/111 +f 608/923/111 601/935/9 615/936/119 +f 602/927/101 609/926/112 601/937/9 +f 609/926/112 616/930/115 601/937/9 +f 616/938/115 619/939/1 601/940/9 +f 612/928/113 626/941/13 618/942/114 +f 601/943/9 623/944/7 615/945/119 +f 617/946/118 624/947/8 616/938/115 +f 614/948/116 621/949/12 613/950/117 +f 617/946/118 626/941/13 625/951/6 +f 615/945/119 622/952/5 614/948/116 +f 612/928/113 621/949/12 620/953/14 +f 627/954/4 642/955/100 634/956/34 +f 633/957/6 640/958/101 632/959/30 +f 631/960/3 638/961/102 630/962/35 +f 629/963/5 636/964/103 628/965/27 +f 634/956/34 641/966/104 633/957/6 +f 632/959/30 639/967/9 631/968/3 +f 630/962/35 637/969/105 629/963/5 +f 628/965/27 635/970/106 627/954/4 +f 636/971/103 645/972/107 644/973/108 +f 642/974/100 648/975/110 641/976/104 +f 637/977/105 646/978/111 645/972/107 +f 635/970/106 644/973/108 643/979/11 +f 635/970/106 649/980/109 642/974/100 +f 641/976/104 647/981/112 640/982/101 +f 649/980/109 650/983/113 656/984/114 +f 647/981/112 655/985/118 654/986/115 +f 645/972/107 651/987/117 644/973/108 +f 648/975/110 656/984/114 655/985/118 +f 646/978/111 652/988/116 645/972/107 +f 643/979/11 651/987/117 650/983/113 +f 638/989/102 639/990/9 646/978/111 +f 646/978/111 639/990/9 653/991/119 +f 640/982/101 647/981/112 639/992/9 +f 647/981/112 654/986/115 639/992/9 +f 654/993/115 657/994/1 639/995/9 +f 650/983/113 664/996/13 656/997/114 +f 639/998/9 661/999/7 653/1000/119 +f 655/1001/118 662/1002/8 654/993/115 +f 652/1003/116 659/1004/12 651/1005/117 +f 656/997/114 663/1006/6 655/1001/118 +f 653/1000/119 660/1007/5 652/1003/116 +f 651/1005/117 658/1008/14 650/983/113 +f 195/519/27 211/235/27 210/232/28 +f 188/521/29 204/216/29 203/218/30 +f 196/523/31 212/234/31 211/235/27 +f 189/524/6 205/219/6 204/216/29 +f 197/525/5 213/236/5 212/234/31 +f 190/526/32 206/225/32 205/221/6 +f 198/528/33 214/240/33 213/236/5 +f 191/529/34 207/224/34 206/225/32 +f 199/530/35 215/243/35 214/240/33 +f 192/531/36 208/229/36 207/224/34 +f 200/532/37 216/242/37 215/243/35 +f 193/533/4 209/228/4 208/229/36 +f 186/534/38 202/246/38 201/244/3 +f 185/535/3 201/244/3 216/242/37 +f 194/520/28 210/232/28 209/228/4 +f 187/522/30 203/218/30 202/246/38 +f 229/536/6 329/543/6 328/537/29 +f 222/539/33 322/545/33 321/540/5 +f 230/542/32 330/547/32 329/543/6 +f 223/544/35 323/549/35 322/545/33 +f 231/546/34 331/551/34 330/547/32 +f 224/548/37 324/553/37 323/549/35 +f 232/550/36 332/557/36 331/551/34 +f 225/552/3 325/559/3 324/553/37 +f 218/554/28 318/561/28 317/555/4 +f 217/556/4 317/555/4 332/557/36 +f 226/558/38 326/563/38 325/559/3 +f 219/560/27 319/565/27 318/561/28 +f 227/562/30 327/566/30 326/563/38 +f 220/564/31 320/568/31 319/565/27 +f 228/538/29 328/537/29 327/566/30 +f 221/567/5 321/1009/5 320/568/31 +f 361/569/5 369/585/45 376/570/39 +f 367/572/4 375/581/43 374/573/40 +f 365/575/6 373/1010/8 372/576/41 +f 363/578/3 371/584/44 370/579/42 +f 368/571/27 376/570/39 375/581/43 +f 366/574/34 374/573/40 373/582/8 +f 364/577/30 372/576/41 371/584/44 +f 362/580/35 370/579/42 369/585/45 +f 370/586/42 371/592/44 379/587/46 +f 376/589/39 383/595/50 382/590/48 +f 371/592/44 372/604/41 380/593/49 +f 369/585/45 370/586/42 378/588/47 +f 376/589/39 369/585/45 377/594/12 +f 375/591/43 382/590/48 381/596/51 +f 383/595/50 377/594/12 384/598/52 +f 381/596/51 382/590/48 389/600/54 +f 378/588/47 379/587/46 386/602/56 +f 383/595/50 390/599/53 389/600/54 +f 380/593/49 387/606/58 386/602/56 +f 378/588/47 385/603/57 384/598/52 +f 388/608/55 396/617/2 391/609/1 +f 384/598/52 392/623/14 398/611/11 +f 373/613/8 391/1011/1 395/614/9 +f 389/616/54 397/621/4 396/617/2 +f 386/618/56 394/622/3 393/619/10 +f 390/612/53 398/611/11 397/621/4 +f 387/615/58 395/614/9 394/622/3 +f 384/598/52 385/620/57 393/619/10 +f 399/624/5 407/640/45 414/625/39 +f 405/627/4 413/636/43 412/628/40 +f 403/630/6 411/1012/8 410/631/41 +f 401/633/3 409/639/44 408/634/42 +f 406/626/27 414/625/39 413/636/43 +f 404/629/34 412/628/40 411/637/8 +f 402/632/30 410/631/41 409/639/44 +f 400/635/35 408/634/42 407/640/45 +f 408/641/42 409/647/44 417/642/46 +f 414/644/39 421/650/50 420/645/48 +f 409/647/44 410/659/41 418/648/49 +f 407/640/45 408/641/42 416/643/47 +f 407/640/45 415/649/12 421/650/50 +f 413/646/43 420/645/48 419/651/51 +f 421/650/50 415/649/12 422/653/52 +f 420/645/48 427/657/54 426/655/55 +f 417/642/46 424/658/56 423/656/57 +f 420/645/48 421/650/50 428/654/53 +f 418/648/49 425/661/58 424/658/56 +f 415/649/12 416/643/47 423/656/57 +f 426/663/55 434/672/2 429/664/1 +f 422/653/52 430/678/14 436/666/11 +f 411/668/8 429/1013/1 433/669/9 +f 427/671/54 435/676/4 434/672/2 +f 424/673/56 432/677/3 431/674/10 +f 428/667/53 436/666/11 435/676/4 +f 425/670/58 433/669/9 432/677/3 +f 423/675/57 431/674/10 430/678/14 +f 437/679/6 445/695/65 452/680/59 +f 443/682/3 451/691/63 450/683/60 +f 441/685/5 449/1014/7 448/686/61 +f 439/688/4 447/694/64 446/689/62 +f 444/681/30 452/680/59 451/691/63 +f 442/684/35 450/683/60 449/692/7 +f 440/687/27 448/686/61 447/694/64 +f 438/690/34 446/689/62 445/695/65 +f 446/696/62 447/702/64 455/697/66 +f 452/699/59 459/705/70 458/700/68 +f 447/702/64 448/714/61 456/703/69 +f 445/695/65 446/696/62 454/698/67 +f 452/699/59 445/695/65 453/704/13 +f 451/701/63 458/700/68 457/706/71 +f 459/705/70 453/704/13 460/708/72 +f 458/700/68 465/713/77 464/710/74 +f 454/698/67 455/697/66 462/711/75 +f 458/700/68 459/705/70 466/709/73 +f 456/703/69 463/716/78 462/711/75 +f 453/704/13 454/698/67 461/712/76 +f 464/718/74 472/727/9 467/719/1 +f 460/708/72 468/733/14 474/721/10 +f 449/723/7 467/1015/1 471/724/2 +f 465/726/77 473/731/3 472/727/9 +f 462/728/75 470/732/4 469/729/11 +f 466/722/73 474/721/10 473/731/3 +f 463/725/78 471/724/2 470/732/4 +f 460/708/72 461/730/76 469/729/11 +f 475/734/6 483/750/65 490/735/59 +f 481/737/3 489/746/63 488/738/60 +f 479/740/5 487/1016/7 486/741/61 +f 477/743/4 485/749/64 484/744/62 +f 482/736/30 490/735/59 489/746/63 +f 480/739/35 488/738/60 487/747/7 +f 478/742/27 486/741/61 485/749/64 +f 476/745/34 484/744/62 483/750/65 +f 484/751/62 485/757/64 493/752/66 +f 490/754/59 497/760/79 496/755/68 +f 485/757/64 486/769/61 494/758/69 +f 483/750/65 484/751/62 492/753/67 +f 483/750/65 491/759/13 497/760/79 +f 489/756/63 496/755/68 495/761/71 +f 497/760/79 491/759/13 498/763/72 +f 495/761/71 496/755/68 503/765/77 +f 493/752/66 500/768/75 499/767/76 +f 496/755/68 497/760/79 504/764/73 +f 494/758/69 501/771/78 500/768/75 +f 492/753/67 499/767/76 498/763/72 +f 502/773/74 510/782/9 505/774/1 +f 498/763/72 506/788/14 512/776/10 +f 487/778/7 505/1017/1 509/779/2 +f 503/781/77 511/786/3 510/782/9 +f 500/783/75 508/787/4 507/784/11 +f 504/777/73 512/776/10 511/786/3 +f 501/780/78 509/779/2 508/787/4 +f 499/785/76 507/784/11 506/788/14 +f 513/789/3 521/805/86 528/790/80 +f 519/792/5 527/801/84 526/793/81 +f 517/795/4 525/1018/2 524/796/82 +f 515/798/6 523/804/85 522/799/83 +f 520/791/35 528/790/80 527/801/84 +f 518/794/27 526/793/81 525/802/2 +f 516/797/34 524/796/82 523/804/85 +f 514/800/30 522/799/83 521/805/86 +f 522/806/83 523/812/85 531/807/87 +f 528/809/80 535/815/91 534/810/89 +f 523/812/85 524/824/82 532/813/90 +f 521/805/86 522/806/83 530/808/88 +f 528/809/80 521/805/86 529/814/10 +f 527/811/84 534/810/89 533/816/92 +f 535/815/91 529/814/10 536/818/93 +f 533/816/92 534/810/89 541/820/95 +f 530/808/88 531/807/87 538/822/97 +f 535/815/91 542/819/94 541/820/95 +f 532/813/90 539/826/99 538/822/97 +f 530/808/88 537/823/98 536/818/93 +f 540/828/96 548/837/7 543/829/1 +f 536/818/93 544/843/14 550/831/12 +f 525/833/2 543/1019/1 547/834/8 +f 540/828/96 541/841/95 549/836/5 +f 537/838/98 538/842/97 546/839/6 +f 542/832/94 550/831/12 549/836/5 +f 539/835/99 547/834/8 546/839/6 +f 537/838/98 545/840/13 544/843/14 +f 551/844/3 559/860/86 566/845/80 +f 557/847/5 565/856/84 564/848/81 +f 555/850/4 563/1020/2 562/851/82 +f 553/853/6 561/859/85 560/854/83 +f 558/846/35 566/845/80 565/856/84 +f 556/849/27 564/848/81 563/857/2 +f 554/852/34 562/851/82 561/859/85 +f 552/855/30 560/854/83 559/860/86 +f 560/861/83 561/867/85 569/862/87 +f 566/864/80 573/870/91 572/865/89 +f 561/867/85 562/880/82 570/868/90 +f 559/860/86 560/861/83 568/863/88 +f 559/860/86 567/869/10 573/870/91 +f 565/866/84 572/865/89 571/871/92 +f 573/870/91 567/869/10 574/873/93 +f 571/871/92 572/865/89 579/875/95 +f 569/862/87 576/879/97 575/877/98 +f 573/870/91 580/874/94 579/875/95 +f 569/862/87 570/868/90 577/878/99 +f 567/869/10 568/863/88 575/877/98 +f 578/883/96 586/892/7 581/884/1 +f 574/873/93 582/898/14 588/886/12 +f 563/888/2 581/1021/1 585/889/8 +f 579/891/95 587/896/5 586/892/7 +f 576/893/97 584/897/6 583/894/13 +f 580/887/94 588/886/12 587/896/5 +f 577/890/99 585/889/8 584/897/6 +f 575/895/98 583/894/13 582/898/14 +f 589/899/4 597/915/106 604/900/100 +f 595/902/6 603/911/104 602/903/101 +f 593/905/3 601/1022/9 600/906/102 +f 591/908/5 599/914/105 598/909/103 +f 596/901/34 604/900/100 603/911/104 +f 594/904/30 602/903/101 601/912/9 +f 592/907/35 600/906/102 599/914/105 +f 590/910/27 598/909/103 597/915/106 +f 598/916/103 599/922/105 607/917/107 +f 603/919/104 604/925/100 611/920/109 +f 599/922/105 600/934/102 608/923/111 +f 597/915/106 598/916/103 606/918/108 +f 597/915/106 605/924/11 611/920/109 +f 603/919/104 610/921/110 609/926/112 +f 611/920/109 605/924/11 612/928/113 +f 610/921/110 617/933/118 616/930/115 +f 606/918/108 607/917/107 614/931/116 +f 610/921/110 611/920/109 618/929/114 +f 608/923/111 615/936/119 614/931/116 +f 606/918/108 613/932/117 612/928/113 +f 616/938/115 624/947/8 619/939/1 +f 612/928/113 620/953/14 626/941/13 +f 601/943/9 619/1023/1 623/944/7 +f 617/946/118 625/951/6 624/947/8 +f 614/948/116 622/952/5 621/949/12 +f 617/946/118 618/942/114 626/941/13 +f 615/945/119 623/944/7 622/952/5 +f 612/928/113 613/950/117 621/949/12 +f 627/954/4 635/970/106 642/955/100 +f 633/957/6 641/966/104 640/958/101 +f 631/960/3 639/1024/9 638/961/102 +f 629/963/5 637/969/105 636/964/103 +f 634/956/34 642/955/100 641/966/104 +f 632/959/30 640/958/101 639/967/9 +f 630/962/35 638/961/102 637/969/105 +f 628/965/27 636/964/103 635/970/106 +f 636/971/103 637/977/105 645/972/107 +f 642/974/100 649/980/109 648/975/110 +f 637/977/105 638/989/102 646/978/111 +f 635/970/106 636/971/103 644/973/108 +f 635/970/106 643/979/11 649/980/109 +f 641/976/104 648/975/110 647/981/112 +f 649/980/109 643/979/11 650/983/113 +f 647/981/112 648/975/110 655/985/118 +f 645/972/107 652/988/116 651/987/117 +f 648/975/110 649/980/109 656/984/114 +f 646/978/111 653/991/119 652/988/116 +f 643/979/11 644/973/108 651/987/117 +f 654/993/115 662/1002/8 657/994/1 +f 650/983/113 658/1008/14 664/996/13 +f 639/998/9 657/1025/1 661/999/7 +f 655/1001/118 663/1006/6 662/1002/8 +f 652/1003/116 660/1007/5 659/1004/12 +f 656/997/114 664/996/13 663/1006/6 +f 653/1000/119 661/999/7 660/1007/5 +f 651/1005/117 659/1004/12 658/1008/14 diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_coker.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_coker.png index 221c215fb74287c0f3ad3ca88a4afb2bb8645a66..3a8854ed2768853df66d70e7e47b8ea03e8c0153 100644 GIT binary patch literal 2153 zcmb7F2~<;88opU1VJSh8Q4malf)frPjItP-1Y`$+f;SvA<44T3KS_K+Hl4>KN0eN(s-Eff8;U8TR0n4>$#0rr><1q z`JrugrP%{#aUx8%L>0*-6FZcvj~6x53`i?eWp^^0?@Dej%EjcceIe(AvlI#;@tzj^ zS-ka^7P%}Yv0ZL%LO$inkgJW|FMgvCg;doITrO)Ac6PcRYzSr})vPCV_y)Py87r|4 zn0Ud$D9e0#M5ehs`6rKf+MF<2)-k^&)T?F(6)%w|^Q1OAzE75=e(%cSL6@CFcAdC3 z^{3!@wwtU&q(N&LN;@lT>AgC;*dX#~zb|e-zy@?Y8ld+9$8b1+H>r9Iwq0LsY0<`v zsR6h)&?*6RJ`x~J!N*oGkfXC;I~Jx)Ihv5))FhDn+JVx(S(+l*HG5i>UKEfaEg(C* zS*6jI<{W6sF+W=N(_Ye>@y4u8FSoyDIQhdk%lUSTqJ52mG0gMxRJH-?JLBp%`zs844RtK4-G=`D_>uWRyQmRSf)naG=+!vXxK~zWDhNlW+|*n1OqXK@8EQ|+J<763bqr6 z^t5ga=)t967|J|Ran2T%ou8YIja05}p34!u04_~y! z-!2tZLvXv5`%{dhjJeZlbZS(obwSw^G`s%{VUxK#tIpXUX7!-$u+X_+%}`X zIKtij<;?m|S|e*eg;Whf(XT~smyfXP5#cP|x)ZWT-Vsyr5OS-nO}2!tmFEo{R9}TD zoUifYNn#5m;ZW3(8Mn%pkhYhhn^dqSTde;P3 ziFi;Qha6@R=xfSG&@AcOa-`$y?7hdqKU4HJYU}4^Q&3p65$O30A}6z66Rf9z6sGIq zpi*3e$+5i$o$Ni6o3+97zPrw>1LS=`e_XSbY!?TO!<{_%yH8{2D;x}1!4bjFtrpV_drRCBVVon_a4LVB!ixDM z4w->PV5`YKAokU{VEYgo7-!EIb(5wh`D+mC(EJPiq(ny-Xg1J4J)OA)bi2Rx2lZ{h z28%vuylN>dDx*IV^pfUC?eZR)^yX{Eot{L^FKCI0*3J*pZxXbc|G5A}L4!}7I#=WR zL*8t(F$g)ZU>D&--99i95Bc_5qkq*fTI4_OV{&^U@?xGw{0)|W`<4myTrN1~lg>6-6c@H6+pkKlT)%Pa$Kd$xe zl>^Oo>~8T+O!l$KBnG>&anL_%9^YF*aJa51UY)?8LM@9?gj~{H?A@_WjIHdx`39%GTPEOwPyLc8~ROgLbq>k1UWh=&SG0~TNRVlW9NFI;p zg{x{l*btDhKj<@!gv@mefSGl&oIZ4^| z%kK5<_tQ%pj|Jy00_HDBu+w6h+W04m(?KzLrCh~Q3~ZpXTFjbhV8RR8Zd~(WA=++{bHbEcGME=!YHAP^!7IsjcT~as)Jq07dq7SoyW>eG`umlpTAca( z#X7SLrc-)iqYm>CLpYVKn!TlLft~cKHHGLx$>mFD8=U4Cth@Z{&-s0Hpgk%n$sOG8j4W>>w`nnl=@mMXUC zob``binaujkD^YcjHBzuS|%VdtJCiIb&%@A0%5U}d+kQ)felZOcRl=uVlVZcz^cCD!nLk;LHv=L#n@41a%oU89GD{ELi2pZth$Z0YtH(ovY@1Fn*PcRLh zQZdH@4bv}kR;A2C_LAB^9}r<~=ZS0Xx>INqvGJ6#DjM}@p9}82I?ZhR&H9@u+9x~;>&OLEX}sfvwhVecolOb zE|f~8<{V*F@ROD%`)?0jA5bad1S4@t_tD(OMoS`**g@#-8G2bDO^Jd1)%X6x5?_aO zmJkQ63rD0<=`ilF;gEpiVR5v+KW4AROxjLvo@+j$K48(NTu0k# zl%6A8b|k^O_y+$p+tgj`_RR1voS5w+BO{?U$c|Xxm@9@;yW@0i iOK+oB+vu&H=}LWs>A9+*wLSjoJZ}%bJvHu>)4u{xj8A$1 diff --git a/src/main/resources/assets/hbm/textures/models/machines/coker.png b/src/main/resources/assets/hbm/textures/models/machines/coker.png new file mode 100644 index 0000000000000000000000000000000000000000..3c0bf7e5ba40c0b44f804719effcfb823ab932da GIT binary patch literal 8597 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 F{$Bz3uciP1 literal 0 HcmV?d00001 From 30e2fef6b8d7ed35b284bb328919987a80cbe9af Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 30 Apr 2023 17:03:33 +0200 Subject: [PATCH 051/285] finished coker, tau remodel, biden blast --- .../com/hbm/blocks/machine/MachineCoker.java | 16 +- .../java/com/hbm/crafting/WeaponRecipes.java | 2 +- .../entity/projectile/EntityBulletBase.java | 16 + .../hbm/handler/BulletConfigSyncingUtil.java | 15 + .../com/hbm/handler/BulletConfiguration.java | 1 + .../com/hbm/handler/GunConfiguration.java | 1 + .../hbm/handler/guncfg/Gun12GaugeFactory.java | 45 +- .../hbm/handler/guncfg/GunGaussFactory.java | 25 +- .../inventory/recipes/AssemblerRecipes.java | 1 + .../hbm/inventory/recipes/CokerRecipes.java | 49 +- .../inventory/recipes/FractionRecipes.java | 29 +- src/main/java/com/hbm/items/ModItems.java | 3 + .../com/hbm/items/weapon/ItemGunBase.java | 6 +- .../com/hbm/items/weapon/ItemGunGauss.java | 15 +- src/main/java/com/hbm/lib/HbmCollection.java | 4 + src/main/java/com/hbm/lib/RefStrings.java | 2 +- src/main/java/com/hbm/main/ClientProxy.java | 3 +- .../com/hbm/main/ModEventHandlerRenderer.java | 8 +- .../java/com/hbm/main/ResourceManager.java | 4 + .../java/com/hbm/packet/PermaSyncHandler.java | 25 + .../entity/projectile/RenderBullet.java | 124 +- .../weapon/ItemRenderWeaponRemington.java | 108 + .../item/weapon/ItemRenderWeaponSpas12.java | 1 - .../item/weapon/ItemRenderWeaponTau.java | 116 + .../render/item/weapon/ItemRenderXVL1456.java | 75 - .../machine/TileEntityCrucible.java | 3 +- .../machine/oil/TileEntityMachineCoker.java | 10 + .../turret/TileEntityTurretBaseNT.java | 16 +- .../turret/TileEntityTurretFritz.java | 34 +- src/main/resources/assets/hbm/lang/de_DE.lang | 10 +- src/main/resources/assets/hbm/lang/en_US.lang | 7 +- .../assets/hbm/models/weapons/remington.obj | 1397 +++++ .../assets/hbm/models/weapons/tau.obj | 5293 +++++++++++++++++ .../models/tank/tank_CHOLERSTEROL.png | Bin 0 -> 1250 bytes .../hbm/textures/models/tank/tank_EGG.png | Bin 0 -> 1032 bytes .../textures/models/tank/tank_ESTRADIOL.png | Bin 0 -> 1310 bytes .../textures/models/tank/tank_GAS_COKER.png | Bin 0 -> 1258 bytes .../models/tank/tank_NAPHTHA_COKER.png | Bin 0 -> 1122 bytes .../textures/models/tank/tank_OIL_COKER.png | Bin 0 -> 1009 bytes .../hbm/textures/models/weapons/remington.png | Bin 0 -> 10514 bytes 40 files changed, 7286 insertions(+), 178 deletions(-) create mode 100644 src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponRemington.java create mode 100644 src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponTau.java delete mode 100644 src/main/java/com/hbm/render/item/weapon/ItemRenderXVL1456.java create mode 100644 src/main/resources/assets/hbm/models/weapons/remington.obj create mode 100644 src/main/resources/assets/hbm/models/weapons/tau.obj create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_CHOLERSTEROL.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_EGG.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_ESTRADIOL.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_GAS_COKER.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_NAPHTHA_COKER.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_OIL_COKER.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/remington.png diff --git a/src/main/java/com/hbm/blocks/machine/MachineCoker.java b/src/main/java/com/hbm/blocks/machine/MachineCoker.java index e79ee0537..695698016 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCoker.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCoker.java @@ -1,17 +1,21 @@ package com.hbm.blocks.machine; +import java.util.List; + import com.hbm.blocks.BlockDummyable; +import com.hbm.blocks.ITooltipProvider; import com.hbm.handler.MultiblockHandlerXR; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.oil.TileEntityMachineCoker; 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 MachineCoker extends BlockDummyable { +public class MachineCoker extends BlockDummyable implements ITooltipProvider { public MachineCoker(Material mat) { super(mat); @@ -21,8 +25,7 @@ public class MachineCoker extends BlockDummyable { public TileEntity createNewTileEntity(World world, int meta) { if(meta >= 12) return new TileEntityMachineCoker(); - if(meta >= 6) return new TileEntityProxyCombo().inventory().fluid(); - + if(meta >= extra) return new TileEntityProxyCombo().inventory().fluid(); return null; } @@ -38,7 +41,7 @@ public class MachineCoker extends BlockDummyable { @Override public int getOffset() { - return 2; + return 1; } @Override @@ -76,4 +79,9 @@ public class MachineCoker extends BlockDummyable { this.makeExtra(world, x - 1, y, z + 1); this.makeExtra(world, x - 1, y, z - 1); } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + this.addStandardInfo(stack, player, list, ext); + } } diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index 9b740413a..72585ccb7 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -156,6 +156,7 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_fireext, 1), new Object[] { "HB", " T", 'H', ModItems.hull_small_steel, 'B', ModItems.bolt_tungsten, 'T', ModItems.tank_steel }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_spas12, 1), new Object[] { "TPS", "HHR", " L", 'T', ModItems.bolt_tungsten, 'P', STEEL.plate(), 'S', STEEL.ingot(), 'H', ModItems.hull_small_steel, '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 }); //Ammo assemblies CraftingManager.addRecipeAuto(new ItemStack(ModItems.pellet_flechette, 1), new Object[] { " L ", " L ", "LLL", 'L', PB.nugget() }); @@ -187,7 +188,6 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_12gauge, 12), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', ModItems.ballistite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(ModItems.ammo_12gauge.stackFromEnum(12, Ammo12Gauge.PERCUSSION), new Object[] { "G", "C", "P", 'G', ModItems.ballistite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge, 12), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge, 12), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', ModItems.ballistite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.SLUG), new Object[] { " I ", "GCL", " P ", 'I', PB.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.FLECHETTE), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_flechette, 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.EXPLOSIVE), new Object[] { " I ", "GCL", " P ", 'I', ModBlocks.tnt, 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); diff --git a/src/main/java/com/hbm/entity/projectile/EntityBulletBase.java b/src/main/java/com/hbm/entity/projectile/EntityBulletBase.java index 81e67cac1..76f9340b0 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBulletBase.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBulletBase.java @@ -1,6 +1,7 @@ package com.hbm.entity.projectile; import java.lang.reflect.Field; +import java.util.ArrayList; import java.util.List; import com.hbm.blocks.ModBlocks; @@ -22,6 +23,7 @@ import com.hbm.packet.PacketDispatcher; import com.hbm.potion.HbmPotion; import com.hbm.util.ArmorUtil; import com.hbm.util.BobMathUtil; +import com.hbm.util.Tuple.Pair; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import cpw.mods.fml.relauncher.ReflectionHelper; @@ -50,6 +52,11 @@ public class EntityBulletBase extends Entity implements IProjectile { private BulletConfiguration config; public EntityLivingBase shooter; public float overrideDamage; + + public double prevRenderX; + public double prevRenderY; + public double prevRenderZ; + public final List> trailNodes = new ArrayList(); public BulletConfiguration getConfig() { return config; @@ -236,6 +243,15 @@ public class EntityBulletBase extends Entity implements IProjectile { return; } + if(worldObj.isRemote && config.style == config.STYLE_TAU) { + if(trailNodes.isEmpty()) { + this.ignoreFrustumCheck = true; + trailNodes.add(new Pair(Vec3.createVectorHelper(-motionX * 2, -motionY * 2, -motionZ * 2), 0D)); + } else { + trailNodes.add(new Pair(Vec3.createVectorHelper(0, 0, 0), 1D)); + } + } + if(this.config.blackPowder && this.ticksExisted == 1) { for(int i = 0; i < 15; i++) { diff --git a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java index 06d4afa91..7e7af9633 100644 --- a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java +++ b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java @@ -77,6 +77,14 @@ public class BulletConfigSyncingUtil { 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++; @@ -359,6 +367,13 @@ public class BulletConfigSyncingUtil { 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()); diff --git a/src/main/java/com/hbm/handler/BulletConfiguration.java b/src/main/java/com/hbm/handler/BulletConfiguration.java index 71c208daa..a55ffe030 100644 --- a/src/main/java/com/hbm/handler/BulletConfiguration.java +++ b/src/main/java/com/hbm/handler/BulletConfiguration.java @@ -137,6 +137,7 @@ public class BulletConfiguration implements Cloneable { 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 PLINK_NONE = 0; public static final int PLINK_BULLET = 1; diff --git a/src/main/java/com/hbm/handler/GunConfiguration.java b/src/main/java/com/hbm/handler/GunConfiguration.java index 87f6f9b2f..43a21ce01 100644 --- a/src/main/java/com/hbm/handler/GunConfiguration.java +++ b/src/main/java/com/hbm/handler/GunConfiguration.java @@ -52,6 +52,7 @@ public class GunConfiguration implements Cloneable { public String reloadSound = ""; //sound path to the shooting sound public String firingSound = ""; + public float firingVolume = 1.0F; public float firingPitch = 1.0F; //whether the reload sound should be played at the beginning or at the end of the reload public boolean reloadSoundEnd = true; diff --git a/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java index 12bf84902..e5f851c48 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java @@ -48,6 +48,44 @@ public class Gun12GaugeFactory { 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() + .addKeyframe(new BusAnimationKeyframe(0, 0, -2, 100)) + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200)) + ) + .addBus("PUMP", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 450)) + .addKeyframe(new BusAnimationKeyframe(0, 0, -1.8, 200)) + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200)) + ) + ); + + config.ejector = EJECTOR_SPAS; + return config; + } public static GunConfiguration getSpas12Config() { @@ -109,7 +147,7 @@ public class Gun12GaugeFactory { config.firingSound = "hbm:weapon.shotgunPump"; config.reloadType = GunConfiguration.RELOAD_SINGLE; - config.config = HbmCollection.g12; + config.config = HbmCollection.g12hs; config.ejector = EJECTOR_SPAS_ALT; @@ -137,7 +175,7 @@ public class Gun12GaugeFactory { config.name = "uboinik"; config.manufacturer = EnumGunManufacturer.METRO; - config.config = HbmCollection.g12; + config.config = HbmCollection.g12hs; config.ejector = EJECTOR_UBOINIK; @@ -190,7 +228,7 @@ public class Gun12GaugeFactory { config.manufacturer = EnumGunManufacturer.UAC; config.comment.add("God-damned ARCH-VILES!"); - config.config = HbmCollection.g12; + config.config = HbmCollection.g12hs; config.ejector = EJECTOR_SSG; @@ -346,5 +384,4 @@ public class Gun12GaugeFactory { return bullet; } - } diff --git a/src/main/java/com/hbm/handler/guncfg/GunGaussFactory.java b/src/main/java/com/hbm/handler/guncfg/GunGaussFactory.java index 159171a0f..6fee544a6 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunGaussFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunGaussFactory.java @@ -8,6 +8,10 @@ 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.BusAnimationKeyframe; +import com.hbm.render.anim.BusAnimationSequence; +import com.hbm.render.anim.HbmAnimations.AnimType; import com.hbm.render.util.RenderScreenOverlay.Crosshair; public class GunGaussFactory { @@ -25,9 +29,10 @@ public class GunGaussFactory { config.ammoCap = 0; config.reloadType = GunConfiguration.RELOAD_NONE; config.allowsInfinity = true; - config.crosshair = Crosshair.L_RAD; - config.durability = 6000; + config.crosshair = Crosshair.CIRCLE; + config.durability = 15000; config.firingSound = "hbm:weapon.tauShoot"; + config.firingVolume = 0.5F; config.name = "tau"; config.manufacturer = EnumGunManufacturer.BLACK_MESA; @@ -35,6 +40,13 @@ public class GunGaussFactory { config.config = new ArrayList(); config.config.add(BulletConfigSyncingUtil.SPECIAL_GAUSS); + config.animations.put(AnimType.CYCLE, new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25)) + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) + ) + ); + return config; } @@ -63,10 +75,9 @@ public class GunGaussFactory { BulletConfiguration bullet = BulletConfigFactory.standardBulletConfig(); bullet.ammo = new ComparableStack(ModItems.gun_xvl1456_ammo); - bullet.dmgMin = 6; - bullet.dmgMax = 9; - bullet.trail = 1; - bullet.vPFX = "fireworksSpark"; + bullet.dmgMin = 18; + bullet.dmgMax = 27; + bullet.style = bullet.STYLE_TAU; bullet.LBRC = 80; bullet.HBRC = 5; @@ -77,7 +88,7 @@ public class GunGaussFactory { BulletConfiguration bullet = getGaussConfig(); - bullet.vPFX = "reddust"; + bullet.trail = 1; return bullet; } diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 383e87b4b..ac990970a 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -285,6 +285,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.machine_well, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 20), new ComparableStack(ModBlocks.steel_beam, 8), new ComparableStack(ModItems.tank_steel, 2), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.pipes_steel, 3), new ComparableStack(ModItems.drill_titanium, 1), new ComparableStack(ModItems.wire_red_copper, 6), },250); makeRecipe(new ComparableStack(ModBlocks.machine_pumpjack, 1), new AStack[] {new ComparableStack(ModBlocks.steel_scaffold, 8), new OreDictStack(STEEL.block(), 8), new ComparableStack(ModItems.pipes_steel, 4), new ComparableStack(ModItems.tank_steel, 4), new OreDictStack(STEEL.ingot(), 24), new OreDictStack(STEEL.plate(), 16), new OreDictStack(AL.plate(), 6), new ComparableStack(ModItems.drill_titanium, 1), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.wire_red_copper, 8), },400); makeRecipe(new ComparableStack(ModBlocks.machine_flare, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(IRON.ingot(), 12), new OreDictStack(CU.plate528(), 4), new ComparableStack(ModItems.tank_steel, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 8), new ComparableStack(ModItems.hull_small_steel, 4), new ComparableStack(ModItems.thermo_element, 3), },200); + makeRecipe(new ComparableStack(ModBlocks.machine_coker, 1), new AStack[] {new OreDictStack(STEEL.plate(), 24), new OreDictStack(IRON.ingot(), 12), 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[] {new OreDictStack(STEEL.plate528(), 16), new OreDictStack(CU.plate(), 16), new ComparableStack(ModItems.hull_big_steel, 6), new ComparableStack(ModItems.pipes_steel, 2), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.circuit_red_copper, 1) },350); makeRecipe(new ComparableStack(ModBlocks.machine_epress, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.bolt_tungsten, 4), new ComparableStack(ModItems.coil_copper, 2), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_copper, 1), new ComparableStack(ModItems.canister_full, 1, Fluids.LUBRICANT.getID()), },160); makeRecipe(new ComparableStack(ModBlocks.machine_chemplant, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(CU.plate528(), 6), new ComparableStack(ModItems.tank_steel, 4), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.coil_tungsten, 3), new ComparableStack(ModItems.circuit_copper, 2), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.plate_polymer, 8), },200); diff --git a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java index 1aa72f875..1c74b406c 100644 --- a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java @@ -12,7 +12,6 @@ import com.google.gson.stream.JsonWriter; import com.hbm.inventory.FluidStack; import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.trait.FT_Combustible; import com.hbm.inventory.fluid.trait.FT_Flammable; import com.hbm.inventory.recipes.loader.SerializableRecipe; @@ -21,6 +20,7 @@ import com.hbm.items.ItemEnums.EnumCokeType; import com.hbm.items.machine.ItemFluidIcon; import com.hbm.util.Tuple.Triplet; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; public class CokerRecipes extends SerializableRecipe { @@ -30,27 +30,32 @@ public class CokerRecipes extends SerializableRecipe { @Override public void registerDefaults() { - registerAuto(HEAVYOIL, Fluids.OIL_COKER); - registerAuto(HEAVYOIL_VACUUM, Fluids.REFORMATE); - registerAuto(COALCREOSOTE, Fluids.NAPHTHA_COKER); - registerAuto(WOODOIL, Fluids.NAPHTHA_COKER); - registerAuto(SMEAR, Fluids.OIL_COKER); - registerAuto(HEATINGOIL, Fluids.OIL_COKER); - registerAuto(HEATINGOIL_VACUUM, Fluids.OIL_COKER); - registerAuto(RECLAIMED, Fluids.NAPHTHA_COKER); - registerAuto(NAPHTHA, Fluids.NAPHTHA_COKER); - registerAuto(NAPHTHA_CRACK, Fluids.NAPHTHA_COKER); - registerAuto(DIESEL, Fluids.NAPHTHA_COKER); - registerAuto(DIESEL_REFORM, Fluids.NAPHTHA_COKER); - registerAuto(DIESEL_CRACK, Fluids.GAS_COKER); - registerAuto(DIESEL_CRACK_REFORM, Fluids.GAS_COKER); - registerAuto(LIGHTOIL, Fluids.GAS_COKER); - registerAuto(LIGHTOIL_CRACK, Fluids.GAS_COKER); - registerAuto(LIGHTOIL_VACUUM, Fluids.GAS_COKER); - registerAuto(BIOFUEL, Fluids.GAS_COKER); - registerAuto(AROMATICS, Fluids.GAS_COKER); - registerAuto(REFORMATE, Fluids.GAS_COKER); - registerAuto(XYLENE, Fluids.GAS_COKER); + registerAuto(HEAVYOIL, OIL_COKER); + registerAuto(HEAVYOIL_VACUUM, REFORMATE); + registerAuto(COALCREOSOTE, NAPHTHA_COKER); + registerAuto(SMEAR, OIL_COKER); + registerAuto(HEATINGOIL, OIL_COKER); + registerAuto(HEATINGOIL_VACUUM, OIL_COKER); + registerAuto(RECLAIMED, NAPHTHA_COKER); + registerAuto(NAPHTHA, NAPHTHA_COKER); + registerAuto(NAPHTHA_CRACK, NAPHTHA_COKER); + registerAuto(DIESEL, NAPHTHA_COKER); + registerAuto(DIESEL_REFORM, NAPHTHA_COKER); + registerAuto(DIESEL_CRACK, GAS_COKER); + registerAuto(DIESEL_CRACK_REFORM, GAS_COKER); + registerAuto(LIGHTOIL, GAS_COKER); + registerAuto(LIGHTOIL_CRACK, GAS_COKER); + registerAuto(LIGHTOIL_VACUUM, GAS_COKER); + registerAuto(BIOFUEL, GAS_COKER); + registerAuto(AROMATICS, GAS_COKER); + registerAuto(REFORMATE, GAS_COKER); + registerAuto(XYLENE, GAS_COKER); + + registerSFAuto(WOODOIL, 340_000L, new ItemStack(Items.coal, 1, 1), GAS_COKER); + + registerRecipe(WATZ, 4_000, new ItemStack(ModItems.ingot_mud, 4), null); + 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)); } private static void registerAuto(FluidType fluid, FluidType type) { diff --git a/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java b/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java index 73a04b10b..00f49aeae 100644 --- a/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java @@ -47,19 +47,22 @@ public class FractionRecipes extends SerializableRecipe { @Override public void registerDefaults() { - fractions.put(Fluids.HEAVYOIL, new Pair(new FluidStack(Fluids.BITUMEN, heavy_frac_bitu), new FluidStack(Fluids.SMEAR, heavy_frac_smear))); - fractions.put(Fluids.SMEAR, new Pair(new FluidStack(Fluids.HEATINGOIL, smear_frac_heat), new FluidStack(Fluids.LUBRICANT, smear_frac_lube))); - fractions.put(Fluids.NAPHTHA, new Pair(new FluidStack(Fluids.HEATINGOIL, napht_frac_heat), new FluidStack(Fluids.DIESEL, napht_frac_diesel))); - fractions.put(Fluids.NAPHTHA_CRACK, new Pair(new FluidStack(Fluids.HEATINGOIL, ncrack_frac_heat), new FluidStack(Fluids.DIESEL_CRACK, ncrack_frac_diesel))); - fractions.put(Fluids.LIGHTOIL, new Pair(new FluidStack(Fluids.DIESEL, light_frac_diesel), new FluidStack(Fluids.KEROSENE, light_frac_kero))); - fractions.put(Fluids.LIGHTOIL_CRACK, new Pair(new FluidStack(Fluids.KEROSENE, lcrack_frac_kero), new FluidStack(Fluids.PETROLEUM, lcrack_frac_petro))); - fractions.put(Fluids.COALOIL, new Pair(new FluidStack(Fluids.COALGAS, coal_frac_coalgas), new FluidStack(Fluids.OIL, coal_frac_oil))); - fractions.put(Fluids.COALCREOSOTE, new Pair(new FluidStack(Fluids.COALOIL, creo_frac_coaloil), new FluidStack(Fluids.BITUMEN, creo_frac_bitu))); - fractions.put(Fluids.HEAVYOIL_VACUUM, new Pair(new FluidStack(Fluids.SMEAR, hvac_frac_smear), new FluidStack(Fluids.HEATINGOIL_VACUUM, hvac_frac_heat))); - fractions.put(Fluids.REFORMATE, new Pair(new FluidStack(Fluids.AROMATICS, reform_frac_arom), new FluidStack(Fluids.XYLENE, reform_frac_xyle))); - fractions.put(Fluids.LIGHTOIL_VACUUM, new Pair(new FluidStack(Fluids.KEROSENE, lvac_frac_kero), new FluidStack(Fluids.REFORMGAS, lvac_frac_gas))); - fractions.put(Fluids.SOURGAS, new Pair(new FluidStack(Fluids.GAS, 30), new FluidStack(Fluids.PETROLEUM, 20))); - fractions.put(Fluids.EGG, new Pair(new FluidStack(Fluids.CHOLESTEROL, 50), new FluidStack(Fluids.RADIOSOLVENT, 50))); + fractions.put(Fluids.HEAVYOIL, new Pair(new FluidStack(Fluids.BITUMEN, heavy_frac_bitu), new FluidStack(Fluids.SMEAR, heavy_frac_smear))); + fractions.put(Fluids.SMEAR, new Pair(new FluidStack(Fluids.HEATINGOIL, smear_frac_heat), new FluidStack(Fluids.LUBRICANT, smear_frac_lube))); + fractions.put(Fluids.NAPHTHA, new Pair(new FluidStack(Fluids.HEATINGOIL, napht_frac_heat), new FluidStack(Fluids.DIESEL, napht_frac_diesel))); + fractions.put(Fluids.NAPHTHA_CRACK, new Pair(new FluidStack(Fluids.HEATINGOIL, ncrack_frac_heat), new FluidStack(Fluids.DIESEL_CRACK, ncrack_frac_diesel))); + fractions.put(Fluids.LIGHTOIL, new Pair(new FluidStack(Fluids.DIESEL, light_frac_diesel), new FluidStack(Fluids.KEROSENE, light_frac_kero))); + fractions.put(Fluids.LIGHTOIL_CRACK, new Pair(new FluidStack(Fluids.KEROSENE, lcrack_frac_kero), new FluidStack(Fluids.PETROLEUM, lcrack_frac_petro))); + fractions.put(Fluids.COALOIL, new Pair(new FluidStack(Fluids.COALGAS, coal_frac_coalgas), new FluidStack(Fluids.OIL, coal_frac_oil))); + fractions.put(Fluids.COALCREOSOTE, new Pair(new FluidStack(Fluids.COALOIL, creo_frac_coaloil), new FluidStack(Fluids.BITUMEN, creo_frac_bitu))); + fractions.put(Fluids.HEAVYOIL_VACUUM, new Pair(new FluidStack(Fluids.SMEAR, hvac_frac_smear), new FluidStack(Fluids.HEATINGOIL_VACUUM, hvac_frac_heat))); + fractions.put(Fluids.REFORMATE, new Pair(new FluidStack(Fluids.AROMATICS, reform_frac_arom), new FluidStack(Fluids.XYLENE, reform_frac_xyle))); + fractions.put(Fluids.LIGHTOIL_VACUUM, new Pair(new FluidStack(Fluids.KEROSENE, lvac_frac_kero), new FluidStack(Fluids.REFORMGAS, lvac_frac_gas))); + fractions.put(Fluids.SOURGAS, new Pair(new FluidStack(Fluids.GAS, 30), new FluidStack(Fluids.PETROLEUM, 20))); + fractions.put(Fluids.EGG, new Pair(new FluidStack(Fluids.CHOLESTEROL, 50), new FluidStack(Fluids.RADIOSOLVENT, 50))); + 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))); } public static Pair getFractions(FluidType oil) { diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 7912a792e..df864b559 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1546,6 +1546,7 @@ public class ModItems { 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_ks23; @@ -4156,6 +4157,7 @@ public class ModItems { 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_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"); @@ -6960,6 +6962,7 @@ public class ModItems { 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_supershotgun, gun_supershotgun.getUnlocalizedName()); GameRegistry.registerItem(gun_ks23, gun_ks23.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBase.java b/src/main/java/com/hbm/items/weapon/ItemGunBase.java index 347570496..065dcf6f4 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunBase.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunBase.java @@ -229,7 +229,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu setItemWear(stack, getItemWear(stack) + wear); } - world.playSoundAtEntity(player, mainConfig.firingSound, 1.0F, mainConfig.firingPitch); + world.playSoundAtEntity(player, mainConfig.firingSound, mainConfig.firingVolume, mainConfig.firingPitch); if(mainConfig.ejector != null && !mainConfig.ejector.getAfterReload()) queueCasing(player, mainConfig.ejector, config, stack); @@ -263,7 +263,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu setItemWear(stack, getItemWear(stack) + config.wear); } - world.playSoundAtEntity(player, altConfig.firingSound, 1.0F, altConfig.firingPitch); + world.playSoundAtEntity(player, altConfig.firingSound, mainConfig.firingVolume, altConfig.firingPitch); if(altConfig.ejector != null) queueCasing(player, altConfig.ejector, config, stack); @@ -458,6 +458,8 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu { 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)); diff --git a/src/main/java/com/hbm/items/weapon/ItemGunGauss.java b/src/main/java/com/hbm/items/weapon/ItemGunGauss.java index 63f347527..f394e9062 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunGauss.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunGauss.java @@ -5,9 +5,13 @@ 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; @@ -22,17 +26,20 @@ public class ItemGunGauss extends ItemGunBase { public void endAction(ItemStack stack, World world, EntityPlayer player, boolean main) { if(getHasShot(stack)) { - world.playSoundAtEntity(player, "hbm:weapon.sparkShoot", 1.0F, 1.0F); + world.playSoundAtEntity(player, "hbm:weapon.sparkShoot", 2.0F, 1.0F); setHasShot(stack, false); } if(!main && getStored(stack) > 0) { EntityBulletBase bullet = new EntityBulletBase(world, altConfig.config.get(0), player); - bullet.overrideDamage = Math.min(getStored(stack), 13) * 3.5F; + bullet.overrideDamage = Math.min(getStored(stack), 1) * 10F; world.spawnEntityInWorld(bullet); - world.playSoundAtEntity(player, "hbm:weapon.tauShoot", 1.0F, 0.75F); + 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); } } @@ -107,7 +114,7 @@ public class ItemGunGauss extends ItemGunBase { chargeLoop = rebootAudio(chargeLoop, player); } chargeLoop.updatePosition((float)player.posX, (float)player.posY, (float)player.posZ); - chargeLoop.updatePitch(chargeLoop.getPitch() + 0.01F); + chargeLoop.updatePitch(1 + (getCharge(stack)) * 0.01F); } } diff --git a/src/main/java/com/hbm/lib/HbmCollection.java b/src/main/java/com/hbm/lib/HbmCollection.java index 2e037769a..a0d1efc1e 100644 --- a/src/main/java/com/hbm/lib/HbmCollection.java +++ b/src/main/java/com/hbm/lib/HbmCollection.java @@ -24,6 +24,7 @@ public class HbmCollection { // 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 **/ @@ -140,6 +141,8 @@ public class HbmCollection { LUNA, /**Raytheon Missile Systems**/ RAYTHEON, + /**Remingotn Arms**/ + REMINGTON, /**Rockwell International Corporation**/ ROCKWELL, /**Rockwell International Corporation?**/ @@ -181,6 +184,7 @@ public class HbmCollection { public static final String gunName = "desc.item.gun.name"; public static final String gunMaker = "desc.item.gun.manufacturer"; public static final String gunDamage = "desc.item.gun.damage"; + public static final String gunPellets = "desc.item.gun.pellets"; // MISC public static final String capacity = "desc.block.barrel.capacity"; public static final String durability = "desc.item.durability"; diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 0a206e0f1..dcc814ea7 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 (4578)"; + public static final String VERSION = "1.0.27 BETA (4585)"; //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 7ff9cbf0b..d366c31f2 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -449,7 +449,7 @@ public class ClientProxy extends ServerProxy { 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 ItemRenderXVL1456()); + 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()); @@ -502,6 +502,7 @@ public class ClientProxy extends ServerProxy { MinecraftForgeClient.registerItemRenderer(ModItems.gun_ar15, new ItemRenderWeaponAR15()); MinecraftForgeClient.registerItemRenderer(ModItems.gun_detonator, new ItemRenderDetonatorLaser()); 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()); diff --git a/src/main/java/com/hbm/main/ModEventHandlerRenderer.java b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java index 5ab4434c7..1c629ee3f 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerRenderer.java +++ b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java @@ -5,7 +5,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.blocks.ICustomBlockHighlight; import com.hbm.items.armor.IArmorDisableModel; import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart; -import com.hbm.potion.HbmPotion; +import com.hbm.packet.PermaSyncHandler; import com.hbm.render.model.ModelMan; import cpw.mods.fml.common.eventhandler.EventPriority; @@ -36,7 +36,7 @@ public class ModEventHandlerRenderer { EntityPlayer player = event.entityPlayer; RenderPlayer renderer = event.renderer; - boolean isManly = player.isPotionActive(HbmPotion.death.id); + boolean isManly = PermaSyncHandler.boykissers.contains(player.getEntityId()); for(int j = 0; j < 7; j++) { @@ -78,7 +78,7 @@ public class ModEventHandlerRenderer { EntityPlayer player = event.entityPlayer; RenderPlayer renderer = event.renderer; - boolean isManly = player.isPotionActive(HbmPotion.death.id); + boolean isManly = PermaSyncHandler.boykissers.contains(player.getEntityId()); if(isManly) { if(manlyModel == null) @@ -117,7 +117,7 @@ public class ModEventHandlerRenderer { EntityPlayer player = event.entityPlayer; //RenderPlayer renderer = event.renderer; - boolean isManly = player.isPotionActive(HbmPotion.death.id); + boolean isManly = PermaSyncHandler.boykissers.contains(player.getEntityId()); if(!isManly) return; diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index bcc950339..c56c4ed0d 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -708,6 +708,7 @@ public class ResourceManager { 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")); @@ -717,6 +718,7 @@ public class ResourceManager { public static final IModelCustom novac_scoped = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/novac_scoped.obj")); public static final IModelCustom m2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/m2_browning.obj")).asDisplayList(); //large fella should be a display list public static final IModelCustom lunatic_sniper = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lunatic_sniper.obj")).asDisplayList(); + public static final IModelCustom tau = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/tau.obj")); public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj")); @@ -793,6 +795,7 @@ public class ResourceManager { 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"); @@ -805,6 +808,7 @@ public class ResourceManager { 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 lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png"); diff --git a/src/main/java/com/hbm/packet/PermaSyncHandler.java b/src/main/java/com/hbm/packet/PermaSyncHandler.java index a3db60ecf..6d15243be 100644 --- a/src/main/java/com/hbm/packet/PermaSyncHandler.java +++ b/src/main/java/com/hbm/packet/PermaSyncHandler.java @@ -1,6 +1,11 @@ package com.hbm.packet; +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; + import com.hbm.handler.ImpactWorldHandler; +import com.hbm.potion.HbmPotion; import com.hbm.saveddata.TomSaveData; import io.netty.buffer.ByteBuf; @@ -14,6 +19,8 @@ import net.minecraft.world.World; * @author hbm */ public class PermaSyncHandler { + + public static HashSet boykissers = new HashSet(); public static void writePacket(ByteBuf buf, World world, EntityPlayerMP player) { @@ -23,6 +30,18 @@ public class PermaSyncHandler { buf.writeFloat(data.dust); buf.writeBoolean(data.impact); /// TOM IMPACT DATA /// + + /// SHITTY MEMES /// + List ids = new ArrayList(); + for(Object o : world.playerEntities) { + EntityPlayer p = (EntityPlayer) o; + if(p.isPotionActive(HbmPotion.death.id)) { + ids.add(p.getEntityId()); + } + } + buf.writeShort((short) ids.size()); + for(Integer i : ids) buf.writeInt(i); + /// SHITTY MEMES /// } public static void readPacket(ByteBuf buf, World world, EntityPlayer player) { @@ -33,5 +52,11 @@ public class PermaSyncHandler { ImpactWorldHandler.dust = buf.readFloat(); ImpactWorldHandler.impact = buf.readBoolean(); /// TOM IMPACT DATA /// + + /// SHITTY MEMES /// + boykissers.clear(); + int ids = buf.readShort(); + for(int i = 0; i < ids; i++) boykissers.add(buf.readInt()); + /// SHITTY MEMES /// } } 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 3d11f351c..0c8f15481 100644 --- a/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java +++ b/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java @@ -4,6 +4,7 @@ import java.util.Random; import org.lwjgl.opengl.GL11; +import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.handler.BulletConfiguration; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; @@ -11,6 +12,7 @@ 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; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.Tessellator; @@ -19,8 +21,10 @@ 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.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; public class RenderBullet extends Render { @@ -37,10 +41,8 @@ public class RenderBullet extends Render { GL11.glPushMatrix(); GL11.glTranslatef((float) x, (float) y, (float) z); - GL11.glRotatef(bullet.prevRotationYaw + (bullet.rotationYaw - bullet.prevRotationYaw) * f1 - 90.0F, - 0.0F, 1.0F, 0.0F); - GL11.glRotatef(bullet.prevRotationPitch + (bullet.rotationPitch - bullet.prevRotationPitch) * f1 + 180, - 0.0F, 0.0F, 1.0F); + GL11.glRotatef(bullet.prevRotationYaw + (bullet.rotationYaw - bullet.prevRotationYaw) * f1 - 90.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(bullet.prevRotationPitch + (bullet.rotationPitch - bullet.prevRotationPitch) * f1 + 180, 0.0F, 0.0F, 1.0F); GL11.glScalef(1.5F, 1.5F, 1.5F); int style = bullet.getDataWatcher().getWatchableObjectByte(16); @@ -69,6 +71,7 @@ public class RenderBullet extends Render { case BulletConfiguration.STYLE_APDS: renderAPDS(); break; case BulletConfiguration.STYLE_BLADE: renderBlade(); break; case BulletConfiguration.STYLE_BARREL: renderNuke(3); break; + case BulletConfiguration.STYLE_TAU: renderTau((EntityBulletBase) bullet, trail, f1); break; default: renderBullet(trail); break; } @@ -450,11 +453,11 @@ public class RenderBullet extends Render { tess.addVertex(0, -0.5, -0.5); tess.draw(); - GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_LIGHTING); - GL11.glEnable(GL11.GL_CULL_FACE); - GL11.glDepthMask(true); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glDepthMask(true); GL11.glPopMatrix(); } @@ -479,6 +482,111 @@ public class RenderBullet extends Render { GL11.glPopMatrix(); } + private void renderTau(EntityBulletBase bullet, int trail, float interp) { + + Tessellator tessellator = Tessellator.instance; + + float scale = 0.125F; + + double pX = bullet.prevPosX + (bullet.posX - bullet.prevPosX) * interp; + double pY = bullet.prevPosY + (bullet.posY - bullet.prevPosY) * interp; + double pZ = bullet.prevPosZ + (bullet.posZ - bullet.prevPosZ) * interp; + + if(bullet.prevRenderY == 0) { + bullet.prevRenderX = pX; + bullet.prevRenderY = pY; + bullet.prevRenderZ = pZ; + } + + double deltaX = bullet.prevRenderX - pX; + double deltaY = bullet.prevRenderY - pY; + double deltaZ = bullet.prevRenderZ - pZ; + + 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.glPopMatrix(); + GL11.glPushMatrix(); + GL11.glTranslated(pX - dX, pY - dY, pZ - dZ); + + float r = 1F; + float g = 0.5F; + float b = 0F; + + if(trail == 1) { + r = 1; + g = 1; + b = 1; + } + + for(Pair pair : bullet.trailNodes) { + Vec3 pos = pair.getKey(); + + double mult = 1D; + pos.xCoord += deltaX * mult; + pos.yCoord += deltaY * mult; + pos.zCoord += deltaZ * mult; + } + + tessellator.startDrawingQuads(); + tessellator.setNormal(0F, 1F, 0F); + + for(int i = 0; i < bullet.trailNodes.size() - 1; i++) { + final Pair node = bullet.trailNodes.get(i), past = bullet.trailNodes.get(i + 1); + final Vec3 nodeLoc = node.getKey(), pastLoc = past.getKey(); + float nodeAlpha = node.getValue().floatValue(); + float pastAlpha = past.getValue().floatValue(); + + double timeAlpha = Math.max(2D - bullet.ticksExisted * 0.2, 0D); + nodeAlpha *= timeAlpha; + pastAlpha *= timeAlpha; + float outerAlpha = 0.25F; + + if(nodeAlpha == 0 && pastAlpha == 0) { + break; + } + + tessellator.setNormal(0F, 1F, 0F); + tessellator.setColorRGBA_F(r, g, b, nodeAlpha); + tessellator.addVertex(nodeLoc.xCoord, nodeLoc.yCoord, nodeLoc.zCoord); + tessellator.setColorRGBA_F(r, g, b, nodeAlpha * outerAlpha); + tessellator.addVertex(nodeLoc.xCoord, nodeLoc.yCoord + scale, nodeLoc.zCoord); + tessellator.setColorRGBA_F(r, g, b, pastAlpha * outerAlpha); + tessellator.addVertex(pastLoc.xCoord, pastLoc.yCoord + scale, pastLoc.zCoord); + tessellator.setColorRGBA_F(r, g, b, pastAlpha); + tessellator.addVertex(pastLoc.xCoord, pastLoc.yCoord, pastLoc.zCoord); + + tessellator.setColorRGBA_F(r, g, b, nodeAlpha); + tessellator.addVertex(nodeLoc.xCoord, nodeLoc.yCoord, nodeLoc.zCoord); + tessellator.setColorRGBA_F(r, g, b, nodeAlpha * outerAlpha); + tessellator.addVertex(nodeLoc.xCoord, nodeLoc.yCoord - scale, nodeLoc.zCoord); + tessellator.setColorRGBA_F(r, g, b, pastAlpha * outerAlpha); + tessellator.addVertex(pastLoc.xCoord, pastLoc.yCoord - scale, pastLoc.zCoord); + tessellator.setColorRGBA_F(r, g, b, pastAlpha); + tessellator.addVertex(pastLoc.xCoord, pastLoc.yCoord, pastLoc.zCoord); + } + + GL11.glColor3f(1F, 1F, 1F); + GL11.glDepthMask(true); + GL11.glAlphaFunc(GL11.GL_GREATER, 0F); + GL11.glEnable(GL11.GL_BLEND); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + tessellator.draw(); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glDisable(GL11.GL_BLEND); + GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.1F); + + bullet.prevRenderX = pX; + bullet.prevRenderY = pY; + bullet.prevRenderZ = pZ; + } + @Override protected ResourceLocation getEntityTexture(Entity p_110775_1_) { return new ResourceLocation(RefStrings.MODID + ":textures/models/bullet.png"); diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponRemington.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponRemington.java new file mode 100644 index 000000000..e49b57531 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponRemington.java @@ -0,0 +1,108 @@ +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/ItemRenderWeaponSpas12.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponSpas12.java index 555795bc4..33de43282 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponSpas12.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponSpas12.java @@ -112,5 +112,4 @@ public class ItemRenderWeaponSpas12 implements IItemRenderer { 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 new file mode 100644 index 000000000..b46f19474 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponTau.java @@ -0,0 +1,116 @@ +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/ItemRenderXVL1456.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderXVL1456.java deleted file mode 100644 index dacfc20b4..000000000 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderXVL1456.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.ModelXVL1456; - -import net.minecraft.client.Minecraft; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.EnumAction; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.IItemRenderer; - -public class ItemRenderXVL1456 implements IItemRenderer { - - protected ModelXVL1456 swordModel; - - public ItemRenderXVL1456() { - swordModel = new ModelXVL1456(); - } - - @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]).getItemInUseCount() > 0 && ((Entity)data[1]).isSneaking() ? 0.05F : 0; - f = (((EntityPlayer)data[1]).getItemInUse() != null &&((EntityPlayer)data[1]).getItemInUse().getItemUseAction() == EnumAction.bow) ? 0.05F : 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/ModelXVL1456.png")); - GL11.glRotatef(-150.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.9F, -0.1F, -0.1F); - GL11.glScalef(0.3F, 0.3F, 0.3F); - 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/ModelXVL1456.png")); - GL11.glTranslatef(0.25F, 0F, 1F); - 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.2F); - 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, f); - GL11.glPopMatrix(); - default: break; - } - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java index bc44e2653..3581d35b4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java @@ -545,7 +545,7 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro int matMaximum = recipeInputRequired * this.recipeZCapacity / recipeContent; int amountStored = getQuantaFromType(recipeStack, stack.material); - return amountStored < matMaximum; + return amountStored < matMaximum && getQuantaFromType(this.recipeStack, null) < this.recipeZCapacity; } @Override @@ -577,6 +577,7 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro } int toAdd = matMaximum - stack.amount; + toAdd = Math.min(toAdd, this.recipeZCapacity - getQuantaFromType(this.recipeStack, null)); this.addToStack(this.recipeStack, new MaterialStack(stack.material, toAdd)); return new MaterialStack(stack.material, stack.amount - toAdd); } 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 aad99c2a0..fa5ee1a72 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java @@ -204,6 +204,16 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl this.heat = Math.max(this.heat - Math.max(this.heat / 1000, 1), 0); } + + @Override + public boolean canExtractItem(int slot, ItemStack stack, int side) { + return true; + } + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + return new int[] { 1 }; + } @Override public void readFromNBT(NBTTagCompound nbt) { diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java index 568431479..ef43786c1 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java @@ -272,17 +272,17 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple ForgeDirection rot = dir.getRotation(ForgeDirection.UP); //how did i even make this? what??? - this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * 0, ForgeDirection.UNKNOWN); - this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * -1, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * 0, dir.getOpposite()); + this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * -1, dir.getOpposite()); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * -2, ForgeDirection.UNKNOWN); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * -2, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * -2, rot.getOpposite()); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * -2, rot.getOpposite()); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * 1, ForgeDirection.UNKNOWN); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 1, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * 1, rot); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 1, rot); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 0, ForgeDirection.UNKNOWN); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -1, ForgeDirection.UNKNOWN); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 0, dir); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -1, dir); } @Override diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java index 5863b119f..3121134f9 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java @@ -161,23 +161,23 @@ public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFl ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset).getOpposite(); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * 0, ForgeDirection.SOUTH); - this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * -1, ForgeDirection.SOUTH); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * -2, ForgeDirection.WEST); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * -2, ForgeDirection.WEST); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * 1, ForgeDirection.EAST); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 1, ForgeDirection.EAST); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 0, ForgeDirection.NORTH); - this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -1, ForgeDirection.NORTH); - - this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * 0, ForgeDirection.SOUTH); - this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * -1, ForgeDirection.SOUTH); - this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * -2, ForgeDirection.WEST); - this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * -2, ForgeDirection.WEST); - this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * 1, ForgeDirection.EAST); - this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 1, ForgeDirection.EAST); - this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 0, ForgeDirection.NORTH); - this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -1, ForgeDirection.NORTH); + this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * 0, dir.getOpposite()); + this.trySubscribe(worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * -1, dir.getOpposite()); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * -2, rot.getOpposite()); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * -2, rot.getOpposite()); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * 1, rot); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 1, rot); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * 0, dir); + this.trySubscribe(worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * -1, dir); + + this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * 0, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * 0, dir.getOpposite()); + this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * -1 + rot.offsetX * -1, yCoord, zCoord + dir.offsetZ * -1 + rot.offsetZ * -1, dir.getOpposite()); + this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * -2, rot.getOpposite()); + this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * -2, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * -2, rot.getOpposite()); + this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 0 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 0 + rot.offsetZ * 1, rot); + this.trySubscribe(tank.getTankType(), worldObj, xCoord + dir.offsetX * 1 + rot.offsetX * 1, yCoord, zCoord + dir.offsetZ * 1 + rot.offsetZ * 1, rot); + 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 diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 4ed70d973..5e7a1b6f3 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -624,7 +624,7 @@ hbmfluid.ethanol=Ethanol hbmfluid.enderjuice=Endersaft hbmfluid.fracksol=Frackinglösung hbmfluid.gas=Erdgas -hbmfluid.gas_coker=Coker-Gas +hbmfluid.gas_coker=Koker-Gas hbmfluid.gasoline=Benzin hbmfluid.gasoline_leaded=Bleibenzin hbmfluid.heatingoil=Heizöl @@ -651,13 +651,13 @@ hbmfluid.mug=Mug Root Beer hbmfluid.mug_hot=Heißes Mug Root Beer hbmfluid.mustardgas=Senfgas hbmfluid.naphtha=Mitteldestillat -hbmfluid.naphtha_coker=Coker-Naphtha +hbmfluid.naphtha_coker=Koker-Naphtha hbmfluid.naphtha_crack=Crack-Mitteldestillat hbmfluid.nitan=NITAN© 100 Oktan Supertreibstoff hbmfluid.nitric_acid=Salpetersäure hbmfluid.none=Nichts hbmfluid.oil=Rohöl -hbmfluid.oil_coker=Coker-Öl +hbmfluid.oil_coker=Koker-Öl hbmfluid.oxyhydrogen=Knallgas hbmfluid.oxygen=Flüssiger Sauerstoff hbmfluid.pain=Pandemonium(III)tantalit-Lösung @@ -1881,6 +1881,7 @@ item.gun_osipr_ammo2.name=Combine Ball 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 @@ -3303,7 +3304,7 @@ itemGroup.tabTest=Nuclear Tech Mod Test Tab itemGroup.tabWeapon=NTM Waffen und Geschütze potion.hbm_bang=! ! ! -potion.hbm_death=Schwere Mutation +potion.hbm_death=Astolfisierung potion.hbm_lead=Bleivergiftung potion.hbm_mutation=Verdorbenes Herz potion.hbm_potionsickness=Trankkrankheit @@ -3875,6 +3876,7 @@ tile.machine_chungus.desc=Effizienz: 85%% tile.machine_coal_off.name=Verbrennungsgenerator tile.machine_coal_on.name=Verbrennungsgenerator tile.machine_coker.name=Koker-Anlage +tile.machine_coker.desc=Verkokt Öl, erzeugt fluides Nebenprodukt.$Benötigt externe Hitzequelle.$Wärmestransferrate: ΔT*0.025 TU/t tile.machine_combine_factory.name=CMB-Stahl Hochofen tile.machine_combustion_engine.name=Industrieller Verbrennungsmotor tile.machine_condenser.name=Dampfkondensierer diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index d168a6073..c35075e33 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -909,6 +909,7 @@ desc.item.gun.lore=to view in-depth lore desc.item.gun.loreFunc=to view in-depth functionality desc.item.gun.manufacturer=Manufacturer: %s desc.item.gun.name=Name: %s +desc.item.gun.pellets=Projectiles: %s - %s desc.item.gun.penetration=Armor Penetration Value: %s desc.item.kitArmor=Armor will be displaced by new set. desc.item.kitHaz=Armor will be displaced by hazmat suit. @@ -1012,6 +1013,7 @@ gun.make.MWT=MWT Prototype Labs gun.make.NAZI=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 @@ -1078,6 +1080,7 @@ 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 @@ -2520,6 +2523,7 @@ item.gun_osipr_ammo2.name=Combine Ball 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 @@ -4096,7 +4100,7 @@ itemGroup.tabTest=Nuclear Tech Mod Test Tab itemGroup.tabWeapon=NTM Weapons and Turrets potion.hbm_bang=! ! ! -potion.hbm_death=Heavy Mutation +potion.hbm_death=Astolfization potion.hbm_lead=Lead Poisoning potion.hbm_mutation=Tainted Heart potion.hbm_phosphorus=Phosphorus Burns @@ -4688,6 +4692,7 @@ tile.machine_chungus.desc=Efficiency: 85%% tile.machine_coal_off.name=Combustion Generator tile.machine_coal_on.name=Combustion Generator tile.machine_coker.name=Coker Unit +tile.machine_coker.desc=Cokes oil, creating fluid byproducts.$Requires external heat source.$Heat transfer rate: ΔT*0.025 TU/t tile.machine_combine_factory.name=CMB Steel Furnace tile.machine_combustion_engine.name=Industrial Combustion Engine tile.machine_condenser.name=Steam Condenser diff --git a/src/main/resources/assets/hbm/models/weapons/remington.obj b/src/main/resources/assets/hbm/models/weapons/remington.obj new file mode 100644 index 000000000..6a4a0996a --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/remington.obj @@ -0,0 +1,1397 @@ +# 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/tau.obj b/src/main/resources/assets/hbm/models/weapons/tau.obj new file mode 100644 index 000000000..f0f981346 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/tau.obj @@ -0,0 +1,5293 @@ +# 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.375000 0.144338 -1.375000 +v 0.375000 0.144337 -1.375000 +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.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.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.680769 -0.859548 -1.375000 +v -0.868269 -0.534789 -1.375000 +v -0.868269 -0.534789 -2.125000 +vt 0.168950 0.125000 +vt 0.127854 0.066176 +vt 0.182648 0.066176 +vt 0.237443 0.036765 +vt 0.200913 0.125000 +vt 0.200913 0.036765 +vt 0.353940 0.111230 +vt 0.321932 0.111230 +vt 0.337936 0.066594 +vt 0.264840 0.125000 +vt 0.237443 0.125000 +vt 0.353901 0.111151 +vt 0.322070 0.111151 +vt 0.337986 0.066761 +vt 0.182648 0.125000 +vt 0.182648 0.036765 +vt 0.173516 0.036765 +vt 0.136986 0.036765 +vt 0.301370 0.125000 +vt 0.319635 0.036765 +vt 0.319635 0.125000 +vt 0.182648 0.066176 +vt 0.136986 0.036765 +vt 0.173516 0.036765 +vt 0.200913 0.036765 +vt 0.182648 0.125000 +vt 0.182648 0.036765 +vt 0.182648 0.066176 +vt 0.136986 0.036765 +vt 0.173516 0.036765 +vt 0.301370 0.125000 +vt 0.319635 0.036765 +vt 0.319635 0.125000 +vt 0.182648 0.066176 +vt 0.136986 0.036765 +vt 0.173516 0.036765 +vt 0.200913 0.036765 +vt 0.182648 0.125000 +vt 0.182648 0.036765 +vt 0.182648 0.066176 +vt 0.136986 0.036765 +vt 0.173516 0.036765 +vt 0.301370 0.125000 +vt 0.319635 0.036765 +vt 0.319635 0.125000 +vt 0.182648 0.066176 +vt 0.136986 0.036765 +vt 0.173516 0.036765 +vt 0.301370 0.036765 +vt 0.141553 0.125000 +vt 0.127854 0.066176 +vt 0.237443 0.036765 +vt 0.264840 0.125000 +vt 0.237443 0.125000 +vt 0.200913 0.125000 +vt 0.141553 0.125000 +vt 0.127854 0.066176 +vt 0.301370 0.036765 +vt 0.168950 0.125000 +vt 0.127854 0.066176 +vt 0.237443 0.036765 +vt 0.264840 0.125000 +vt 0.237443 0.125000 +vt 0.200913 0.125000 +vt 0.168950 0.125000 +vt 0.127854 0.066176 +vt 0.301370 0.036765 +vt 0.168950 0.125000 +vt 0.127854 0.066176 +vt 0.141553 0.125000 +vt 0.264840 0.036765 +vt 0.168950 0.125000 +vt 0.264840 0.036765 +vt 0.168950 0.125000 +vt 0.141553 0.125000 +vt 0.264840 0.036765 +vt 0.141553 0.125000 +vt 0.141553 0.125000 +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.0599 0.9982 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.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.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 diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_CHOLERSTEROL.png b/src/main/resources/assets/hbm/textures/models/tank/tank_CHOLERSTEROL.png new file mode 100644 index 0000000000000000000000000000000000000000..586ddc6ffc1ea64668d05aef239e707d66f64010 GIT binary patch literal 1250 zcmeAS@N?(olHy`uVBq!ia0vp^RY2Us!3HEZPulwcNU;<})Z`w0Lbr+r8>fgO6 zLS&Z)SFng{`u)_!n{^eVZdSd0s%P`EB-=x*HLS@=d*jFal!}<$L6!;5*0;~cRrKuQ zufDl`%ZrwnnESfA_4Yq6-rUw1-qaCZpcJPl1=ixYN62MQlki8a;3L`=rbo5Iooi;y zpAB^4`q%emcCkPB^sMlyl}Hss4c|u~d2j#S$eny2y#zjT`7Qi-YI(m}9Oo{$ z6;Dgo&8|>wpUwPGL~4E2$%{u;e_h-k)+E!*x(>BWD|D zK6>V0;b~WWbYV4vM5*>cPGQxmnYWm}0__Lu&EsnczGTdvRC{Xihwba-!~57@ES|dH zf|tO07SE&FzYAsMfuZx`*y;%35cmEF5 zon0|?M%KjBho-GRDz=;V(Nu--iEp2l${gD*c6U*+-I{*&%SS)me0i~c{rtIdy3@9o zeV=|!^XaGQ%~!U)2zC8dsjq%ywbZ(6x34|dS3f3^oVGbK_l!~;XYtl6A5*f<`SoW- z7v6q!K5cVg@WfotAyy366Y=8UN__fxzgvX&@?-X3_TN{18?riC~%B$OE+ui?OeBIS3 zuJ_iKjO$j;lBMlgx6~K@zM}f==IR$>bG`Rm=o41+D){O(p{t_x+oqmyiGn>&GV8Er zJ;C(?y-wPW3#Tf?aVo_f?5voo`ABq5M|g+ZLTCb6Dzg3`lcRQ{SvY%~A> literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_EGG.png b/src/main/resources/assets/hbm/textures/models/tank/tank_EGG.png new file mode 100644 index 0000000000000000000000000000000000000000..ce463919b7e86276a7d3cc0869c1c9dce45f6cc7 GIT binary patch literal 1032 zcmV+j1o!)iP)!K(`@bO*sI8MA$)ONgLj5eZf zyo$Mwc%`VVcolOU@hT&9-JsApAV)h9lcR}OiilSTV)e?Xw&K<4*as z*fZt?Iob)Hz3SK|<5kS>D#K(fA!P@%$9y2lJ`BVwMQjd45Ss&0ibV}4$k9&l>{Z8j z_6k89ZDABgTR;U}cjlONJHhIe6Rci!jLm@vVsoHTYz{;a&t9Pvvu-C?rgVa%Ejq^0 z76{^K3!~T^h#<|)fh<#IqG~?C80`dwc7oL_MOyJ{^>Lk;|BDu#kl1*2KO>Jvyi%kU zuj-tJK)gx_M_ZsVTC{Po56IJ^ogiK*(uh~9(TWyrP)xk46RkvuSE@APRo&S*ld*(o z#w!YKMAPG^7^9t_&`uDq6s2@>AT2r}e66rieD4*4SiM4H6xs<2?F8{k5%CH^#4DqS zR|q0rp)u2i9*%G1_~cvHw_$?Gu6sDX5fPE2!+p8BzLnwlN`C$REAQXF==jdkWiDO~ z$2W3xxWDvoSJ$`GpPeUF><^#+h=|B&GN6dKK#D)el2jrEy|R}XdHiywfLA{MJx4SfCn zbE&X7wQ}Os)WP8Ke4=$Q*jxJ9aC|Nzl1ytBNh@BNJy33SW}Q-jHMspo_}mM-Y39ag z)I*`2Fcq(?AzmSfcx6;d@yhJ1J4dWup)m^W1ci2jc%_JVg&^XUQN$|*5wFk~g?55M zJ3+isM7%-}@yaOT6@rLYXpBNTL7|->UMWf`Ui}AzG&J&sl}=&+0000yRMP)27^@=<%~Nzx^}bkqE!P z`TLuQ$jR|R%;xT0Ufqa@$i>rNcGhkC`JaEk^^ZS&crOnhKUqHRx=wz5_S?PpOtl+R z#M}?@YFNaO_B-vmZdvHA>!j$b@Z5baX*JeRzNG@n5fBP4?czD?`L9sEAj{MxmXc&`uDq3=yxO zB3@OBcm>s1ywV!+^6ExTjt`>Ff3xduz}GJy*KR|h8xXULr_c>JIz3yv4e`nl@d~Qc zcoj276R!--6|cIklcS#>jc!A{DoE z%ot5a7bG=aMIGxVUfJQ|K&VpV)hs!hc(r|u(N2(~vBcRcLvzKem@%4;E=X#;iaH-n zys|S_yqe{jF-(W0Eij5}#+=~ZD<@*c=(W>-5!UP8RO))&V`8G(7$#!{8C#fL`v0EaMf0u0-zgQ;gA0P-rKJ zSBB=gI4}ksT@e0T;Y#uUUO~m#D`cb4P87ZC4#zRp3r|;UywWBs{rc3F4)^y&MCAJR zF8jTRS8EK5d~$qnueg>8pf7UxcrI?^)$ltFSDLq=74~p{FRQbOSCNLh>bZ*C7q)*c zx7eF-7q7xyb+{{^l2+vK@iunjQ_JpXi%#pu~#6~`P+ALes(I)-@aQu zcX@TQ+~#n9@7`kIcBwCvBTF|P-MK?hGCTI#f-_d#H&d=dTdhDKey^lJ8LxIW>1b`6R%YF) z#(pQMzf(=_y;s>CT}!<1&h4>oZ;Cy8)q0|hO#lD@07*qoM6N<$g1W$<0RR91 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_GAS_COKER.png b/src/main/resources/assets/hbm/textures/models/tank/tank_GAS_COKER.png new file mode 100644 index 0000000000000000000000000000000000000000..f73b4bd4dd4f15e97e1b07a3200ae4658472df1e GIT binary patch literal 1258 zcmeAS@N?(olHy`uVBq!ia0vp^RY2Us!3HEZPulwcNU;<zYV-kE*x)fL~oefw5Zf3xxayL)$vc77;+e{pWdiC+(G(uzN? z<1ce{d2;jQ`l;J;_4D@KpL+W9;^3RLU-v}mbvecDzrTC?`E_B*T{ph_t|{t%!Tr~_ zdy&Az=T|@7KYlnuHpl@rvBc9M2n*c-9dtxer}tMpW6Go5EA56}G; z_%Gyl#$-w4dW1`~TSmTgG^^xGj0k3)K~#3HUEme{lF&|FztX@UD(KS&k z#O4aDi%ZQ~Q}H$RaqFA^|8DKz{ivlF`}nGcrPcHb!_+SqR|LG^?6A6i*E}v#euZgi zEKJ{obsx1}#h8Ee;x}hkT9Lg+O4VI>{j`3&TO36uS}}WrOv3hby{4$C+%7oBz%XgbO5K3|mAV2)u87Ti z^vr=p)wWn++HxDN`hVZnmD)JS=d!e#HB~J2(2hIX@3&N=tMyl5REbm4*5xg17$!qKfMukTTF1` z>D!wfzq#-63W!Xpuk<;hox1Q)-rC&nc{h)&ZrS0g#~r;+deMz;g*Z)4(VOvc*Ai28x=`pWI`Envv}(b&31Dce|jeN5hzRo7g*JwPt^7j7y_`B7|jwx;55X%;~QraYLr@G9krx$h!)bIU&YuEMd zd!H+{>22s-9iCgiB|vcYyzld~vo5A?EVe#5v1HGx%hy)@nI?XD(ckBHjz6t#yQcd( zz~*MfQ?UcO2`{EB(od7#e<1gF*6sMLO~2lR#&Yx6=4GAjez*E<>9wzVC3+tZS$$Ub zSp!TVO2Qwxx=$O$B_8_7^|#mdKI;Vst E0H}6oW&i*H literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_NAPHTHA_COKER.png b/src/main/resources/assets/hbm/textures/models/tank/tank_NAPHTHA_COKER.png new file mode 100644 index 0000000000000000000000000000000000000000..1e8d34ac0a1fb3a25df654e0ea5944f8ec371ec8 GIT binary patch literal 1122 zcmV-o1fBbdP)PU?V5U@#JlUEcSTV%{mtJViNcq!pI?j~5vQi|BT5dU_N&S#InP%MFE= zQRpBjbP$8HLJ?-&Q;nTIa(RCJ=JDz7Y_YM4R}CRv1wp*RY!o^O3LOOT$`J7i zS;VU#h*v?(jaRiz1*`52(5&Jq^aiAq2A84GTcFsE6R!-d9k19%J25q0X_g~iHDq$U z`twob#H)r(j#r9523FlcQ0NUHM+c$F(Znl5#4BW39=$rITkVYf-F8>ODW(7M zYWU~6v8;rSZpiz1r8`8)zV0Z<(b%KV8=%_Ptr>_3+cc}iE5*KUI=Uf~>uMDjfulD=8iC0ccjaQm&H1W#NYVk^wqsM#@*y7d} zs3J!PL5_}sYp)J#$#|t1tA@!~Luxl>*Ze_LFUg@>?Qn7+vN$;qbsW@)fgBwK*IpeM z*IpruTU!Ldtu2D!))uH@)*S>pOrqfE)nRdRAhI|)(5aSA4y2uBDKj&6uHUcJu9N8seZ zhRpd|;h~P^x6CSFa6RwBf!rc8-f+Ky&2 z))32hMWLOTd;2N2(Lqq?Ac$9nTDo%}9o-PVR@kYQzW0h*cSAUORd9d%AosTqhyEBY zxGi+Iz!ZC!%R=W0OR?+R#j9>XuWl}iueE@9HBqUc-N&9g+cI9cIeJy=l_C$;Z4^q!irJvz3yKIs1T;oa=G8-+@%-2UrVHy7FEwd0q5 zerWvCdkrnyxAym5)f{viT`O4b`QE-j{joITYd(|aH4C+`6`t#$CkOUBO54%h|LZ;% zsqZ|=Et4C!G|t$9Z~o-KZV|3-F5W#a(JZrNmL~_g-C+_<*c~Pqhe8M8?&y^#oE(TO zuDx<<^YIGPaP1XlqtHQ6=pcw!hKN_lB3?N~yh0Z73bRq@ASiSY#4AI@D`XL`oFZN! oi+F|ED0C1MItb#Gp_by+U*l_uM_vC-C;$Ke07*qoM6N<$f?Mw&Y5)KL literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_OIL_COKER.png b/src/main/resources/assets/hbm/textures/models/tank/tank_OIL_COKER.png new file mode 100644 index 0000000000000000000000000000000000000000..06c2aedbd191bc88e15813703e122b42ce0287aa GIT binary patch literal 1009 zcmV5XSM7lOd8Zx)}mU)uM`~QF-R-y=o4?OX+Xr&R2yUjthAI|;x+l=lLyte!8PQLy4 zetO(>o&5a$E6Y>4rHFg|lu; zjOZ2FZ+B;ppB^5w9h-P%iFk#%(Yl?W&`wZjCx};;h*wAwf5U(t;I1o9Vax}BO|5*Nrt}PLQL$;j>o@$r-OS#~MKEUXj6gb+V@a$<3yH{|HLk)xg9 zvsX*wvsXyr))uAW))p{9>#iHKZYOBn-f;D5AuJ9=3X20v#o|EZMC*2fS+_Tg=(=%h zi=}aE3#4#si&C*T5IM0p(36q*0Ox2YD6|t?y|QE!ulC!WbX|8o0i$)7LmRKA+-#0` zWyvUBjYX*xX5F=*bwfntcIhX8D=9x9&xm${cxA~TUi}xX7}4d?#H*?I@g`nbGKg1G zqLm2os(i}U&8)i=+ml_l;Rh!p;&WKT7LlA0>+8oaA|leZZU1XL(`)N;M5jh-Y9wDfDQnxd87y*y zcx9luzd0517^V7J_2kh_yjl-0@ydOnMfxXNt0}SwIXZ__L047e46+wG%%XkU@%M0_ zcz?~Y<6}rNGM==WY!7q8-x zs2R~ksySZ8Z$PBB!$QVUCjPzV*x}!X+f^Z6IYGRF28DKl#etSs9Eg3h}B`#4B8k)(s5`?F5B( ff_P@f00000NkvXXu0mjf*~Z;q literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/remington.png b/src/main/resources/assets/hbm/textures/models/weapons/remington.png new file mode 100644 index 0000000000000000000000000000000000000000..01935ed268c2da685a57c128c47f1340b37289d3 GIT binary patch literal 10514 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 U&MTr@(EtDd07*qoM6N<$f;SD5kpKVy literal 0 HcmV?d00001 From fe7ca86b46d0c490919d80f3691737246e6a342e Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Sun, 30 Apr 2023 18:45:54 +0300 Subject: [PATCH 052/285] Updated ru_RU.lang updated russian localization --- src/main/resources/assets/hbm/lang/ru_RU.lang | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index eace51f10..1006e4d4f 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -236,7 +236,7 @@ potion.hbm_telekinesis=! ! ! potion.hbm_phosphorus=Фосфорные ожоги potion.hbm_stability=Стабильность potion.hbm_potionsickness=Послезельевая болезнь -potion.hbm_death=Серьёзная мутация +potion.hbm_death=Астольфофикация tool.ability.recursion=Жилковый Майнер tool.ability.hammer=Зона действия @@ -641,6 +641,7 @@ 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=Какая выгодная сделка! @@ -735,6 +736,7 @@ 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.name.ar15_50=Модификация AR-15 под .50 BMG gun.name.baeAR=Стандартная винтовка британнской армии @@ -804,6 +806,7 @@ 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 book.error.cover=Адронный Коллайдер:$Диагностирование проблем book.error.title1=Ошибка 0x01 [NC] @@ -1169,6 +1172,12 @@ hbmfluid.colloid=Коллоидный раствор hbmfluid.mustardgas=Горчичный газ hbmfluid.phosgene=Фосген hbmfluid.iongel=Ионный гель +hbmfluid.gas_coker=Коксовый газ +hbmfluid.naphtha_coker=Коксовая нафта +hbmfluid.oil_coker=Коксовая нефть +hbmfluid.cholesterol=Раствор холестерина +hbmfluid.egg=Растворенное яйцо +hbmfluid.estradiol=Раствор эстрадиола hbmmat.actinium227=Актиний-227 hbmmat.advancedalloy=Продвинутый сплав @@ -2099,6 +2108,9 @@ container.catalyticReformer=Каталитический реформер tile.fan.name=Вентилятор tile.watz.name=Реактор Ватцз tile.watz_pump.name=Нагнетающая помпа Ватцза +tile.machine_coker.name=Коксовая установка +tile.machine_coker.desc=Коксует жидкость, создавая жидкую побочку.$Требует внешний источник тепла.$Скорость передачи тепла: ΔT*0.025 TU/t +container.machineCoker=Коксовая установка container.hadron=Ускоритель частиц tile.hadron_access.name=Терминал доступа ускорителя частиц @@ -3439,6 +3451,7 @@ 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) @@ -4027,6 +4040,7 @@ 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 @@ -4360,6 +4374,7 @@ 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=Препарат "НАКСА" против дигаммы @@ -5100,7 +5115,7 @@ item.watz_pellet.mep.name=Ватцз-пеллета из среднеобога item.watz_pellet.meu.name=Ватцз-пеллета из среднеобогащенного урана item.watz_pellet.nqd.name=Ватцз-пеллета из обогащенного наквадаха item.watz_pellet.nqr.name=Ватцз-пеллета из наквадрии -item.watz_pellet.hen.name=Ватцз-пеллета из высокообогащенного наквадаха +item.watz_pellet.hen.name=Ватцз-пеллета из высокообогащенного нептуния item.watz_pellet.schrabidium.name=Ватцз-пеллета из чистого шрабидия item.watz_pellet_depleted.boron.name=Поглощающая Ватцз-пеллета из бора (Обедненная) item.watz_pellet_depleted.du.name=Поглощающая Ватцз-пеллета из обедненного урана (Обедненная) @@ -5112,7 +5127,7 @@ item.watz_pellet_depleted.mep.name=Ватцз-пеллета из среднео item.watz_pellet_depleted.meu.name=Ватцз-пеллета из среднеобогащенного урана (Обедненная) item.watz_pellet_depleted.nqd.name=Ватцз-пеллета из обогащенного наквадаха (Обедненная) item.watz_pellet_depleted.nqr.name=Ватцз-пеллета из наквадрии (Обедненная) -item.watz_pellet_depleted.hen.name=Ватцз-пеллета из высокообогащенного наквадаха (Обедненная) +item.watz_pellet_depleted.hen.name=Ватцз-пеллета из высокообогащенного нептуния (Обедненная) item.watz_pellet_depleted.schrabidium.name=Ватцз-пеллета из чистого шрабидия (Обедненная) item.titanium_filter.name=Титановый фильтр From d011a940c0b443a86dc631fbcb032e02786d9a51 Mon Sep 17 00:00:00 2001 From: sdddddf80 <2980187979@qq.com> Date: Mon, 1 May 2023 10:11:27 +0800 Subject: [PATCH 053/285] Update zh_CN.lang --- src/main/resources/assets/hbm/lang/zh_CN.lang | 37 +++++++++++++------ 1 file changed, 26 insertions(+), 11 deletions(-) diff --git a/src/main/resources/assets/hbm/lang/zh_CN.lang b/src/main/resources/assets/hbm/lang/zh_CN.lang index c6e750bbe..5604ee47c 100644 --- a/src/main/resources/assets/hbm/lang/zh_CN.lang +++ b/src/main/resources/assets/hbm/lang/zh_CN.lang @@ -481,7 +481,7 @@ chem.C4=C-4生产 chem.CC_HEATING=民用燃油增产 chem.CC_HEAVY=重油增产 chem.CC_I=工业油增产 -chem.CC_NAPHTHA=粗汽油增产 +chem.CC_NAPHTHA=石脑油增产 chem.CC_OIL=原油增产 chem.CIRCUIT_4=超频电路生产 chem.CIRCUIT_5=高性能电路生产 @@ -512,7 +512,7 @@ chem.FC_I_NAPHTHA=工业油裂化 chem.FC_KEROSENE_PETROLEUM=煤油裂化 chem.FP_HEAVYOIL=重油加工 chem.FP_LIGHTOIL=轻油加工 -chem.FP_NAPHTHA=粗汽油加工 +chem.FP_NAPHTHA=石脑油加工 chem.FP_SMEAR=工业油加工 chem.FR_PETROIL=混机油汽油合成 chem.FR_REOIL=再生工业油加工 @@ -550,7 +550,7 @@ chem.SF_HEAVYOIL=重油固化 chem.SF_KEROSENE=煤油固化 chem.SF_LIGHTOIL=轻油固化 chem.SF_LUBRICANT=润滑剂固化 -chem.SF_NAPHTHA=粗汽油固化 +chem.SF_NAPHTHA=石脑油固化 chem.SF_OIL=原油固化 chem.SF_PETROIL=混机油汽油固化 chem.SF_PETROLEUM=石油气固化 @@ -635,6 +635,7 @@ container.leadBox=安全箱 container.machineBoiler=原油加热器 container.machineCMB=CMB炼钢炉 container.machineCoal=火力发电机 +container.machineCoker=焦化装置 container.machineCrucible=坩埚 container.machineDiesel=柴油发电机 container.machineElectricBoiler=电力原油加热器 @@ -929,6 +930,7 @@ 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=防护服将取代现穿的护甲. @@ -1032,6 +1034,7 @@ gun.make.MWT=MWT原型实验室 gun.make.NAZI=埃尔马.威客兵工厂 gun.make.NONE=- gun.make.RAYTHEON=雷神导弹系统公司 +gun.make.REMINGTON=雷明顿武器公司 gun.make.ROCKWELL=罗克韦尔国际公司 gun.make.ROCKWELL_U=罗克韦尔国际公司? gun.make.RYAN=莱恩工业 @@ -1084,12 +1087,12 @@ 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.lunaSniper=1915 “后羿” 型反物质来复枪 gun.name.lunaTWR=Time Warp Rifle -gun.name.m2=Browning machine gun, cal. .50, M2, HB +gun.name.m2=.50口径勃朗宁机枪, M2, HB gun.name.m42=M-42战术核弹射器 gun.name.m42MIRV=M-42 核弹弹射器"试验性子母弹头 -gun.name.m60=Machine Gun, Caliber 7.62 mm, M60 +gun.name.m60= 7.62 mm口径机枪, M60 gun.name.maxim=马克沁机枪 gun.name.maximDouble=双管马克沁机枪 gun.name.mg3=通用MG3机枪 - .50 模式 @@ -1098,6 +1101,7 @@ gun.name.nerf=NERF blaster of unknown design gun.name.osipr=看守者暗能量脉冲步枪 gun.name.panz=坦克杀手54 gun.name.quadro=四联装制导便携式电视制导导弹发射器 +gun.name.remington870=雷明顿870 gun.name.revolverCursed=被诅咒的不列颠标准发行版左轮手枪 gun.name.sauer=斯坦.索尔的萨缪尔-23霰 gun.name.spas12= @@ -1120,7 +1124,7 @@ gun.name.uzi=IMI乌齐冲锋枪 gun.name.uziSatur=IMI D-25A乌齐冲锋枪 gun.name.win1887=1887温彻斯特霰弹枪(原型) gun.name.win1887Inox=1887温彻斯特霰弹枪(黑暗) -gun.name.win20Inox温彻斯特拉栓步枪(原型) +gun.name.win20Inox=温彻斯特拉栓步枪(原型) gun.name.win20Poly=温彻斯特拉栓步枪(绿) gun.name.win20Satur=D-25A星辉金属温彻斯特来复枪 gun.name.zomg=EMC101棱镜负能量加农炮 @@ -1183,6 +1187,7 @@ hbmfluid.blood=血液 hbmfluid.blood_hot=热血液 hbmfluid.carbondioxide=二氧化碳 hbmfluid.chlorine=氯气 +hbmfluid.cholesterol=胆固醇溶液 hbmfluid.coalcreosote=煤焦油杂酚油 hbmfluid.coalgas=煤汽油 hbmfluid.coalgas_leaded=含铅煤汽油 @@ -1197,11 +1202,14 @@ hbmfluid.deuterium=氘 hbmfluid.diesel=柴油 hbmfluid.diesel_crack_reform=高辛烷值裂解柴油 hbmfluid.diesel_reform=高辛烷值柴油 +hbmfluid.egg=蛋溶解液 +hbmfluid.estradiol=雌二醇溶液 hbmfluid.diesel_crack=裂化柴油 hbmfluid.ethanol=乙醇 hbmfluid.enderjuice=末影液 hbmfluid.fracksol=压裂液 hbmfluid.gas=天然气 +hbmfluid.gas_coker=焦化气 hbmfluid.gasoline=精制汽油 hbmfluid.gasoline_leaded=含铅精制汽油 hbmfluid.heatingoil=民用燃油 @@ -1228,12 +1236,14 @@ hbmfluid.mercury=水银 hbmfluid.mug=杯根啤酒 hbmfluid.mug_hot=热杯根啤酒 hbmfluid.mustardgas=芥子气 -hbmfluid.naphtha=粗气油 -hbmfluid.naphtha_crack=裂化粗气油 +hbmfluid.naphtha=石脑油 +hbmfluid.naphtha_coker=焦化石脑油 +hbmfluid.naphtha_crack=裂化石脑油 hbmfluid.nitan=NITAN© 100号超级燃料 hbmfluid.nitric_acid=硝酸 hbmfluid.none=无 hbmfluid.oil=原油 +hbmfluid.oil_coker=焦化油 hbmfluid.oxygen=液氧 hbmfluid.oxyhydrogen=氢氧混合气 hbmfluid.pain=潘地曼尼南(III)钽铁矿溶液 @@ -1883,7 +1893,7 @@ item.canister_heavyoil.name=重油桶(旧版遗物) item.canister_kerosene.name=煤油桶(旧版遗物) item.canister_lightoil.name=轻油桶(旧版遗物) item.canister_napalm.name=凝固汽油桶(旧版遗物) -item.canister_naphtha.name=粗气油桶(旧版遗物) +item.canister_naphtha.name=石脑油桶(旧版遗物) item.canister_oil.name=原油桶(旧版遗物) item.canister_petroil.name=混机油汽油桶(旧版遗物) item.canister_reoil.name=再生工业油桶(旧版遗物) @@ -2540,6 +2550,7 @@ item.gun_osipr_ammo2.name=融合球 item.gun_panzerschreck.name=战车噩梦 item.gun_proto.name=M42核弹发射器 "分导式多弹头核弹原型" item.gun_quadro.name=四喜丸子 +item.gun_remington.name=バイデン ブラスト [拜登光线] item.gun_revolver.name=强化左轮手枪 item.gun_revolver_ammo.name=铅左轮子弹 item.gun_revolver_blackjack.name=黑杰克的五发装左轮枪 @@ -3157,6 +3168,7 @@ 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=石棉 @@ -3298,6 +3310,7 @@ 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.pipes_steel.name=钢管 @@ -4121,7 +4134,7 @@ itemGroup.tabWeapon=核技术武器和炮塔 itemGroup.tabConsumable=核技术食物和装备 potion.hbm_bang=! ! ! -potion.hbm_death=严重突变 +potion.hbm_death=阿斯托尔福化突变 potion.hbm_lead=铅中毒 potion.hbm_mutation=腐化变异 potion.hbm_phosphorus=磷烧伤 @@ -4713,6 +4726,8 @@ 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_condenser.name=蒸汽冷凝器 From 7356f6c3660a0c08f208cad4d19136122a65fd43 Mon Sep 17 00:00:00 2001 From: sdddddf80 <2980187979@qq.com> Date: Mon, 1 May 2023 15:46:54 +0800 Subject: [PATCH 054/285] Update zh_CN.lang --- src/main/resources/assets/hbm/lang/zh_CN.lang | 37 +++++++++++++++---- 1 file changed, 30 insertions(+), 7 deletions(-) diff --git a/src/main/resources/assets/hbm/lang/zh_CN.lang b/src/main/resources/assets/hbm/lang/zh_CN.lang index 5604ee47c..e880a8360 100644 --- a/src/main/resources/assets/hbm/lang/zh_CN.lang +++ b/src/main/resources/assets/hbm/lang/zh_CN.lang @@ -136,6 +136,7 @@ achievement.ZIRNOXBoom=CIRNOX armor.blastProtection=只受%s的爆炸伤害 armor.cap=硬伤上限 %s armor.damageModifier=只受%s的%s伤害 +armor.dash=提供 %s 次冲刺 armor.electricJetpack=等离子推进器 armor.explosionImmune=免疫除爆炸伤害外的一切伤害 armor.fastFall=快速降落 @@ -578,7 +579,7 @@ container.anvil=%s 级砧 container.arcFurnace=电弧炉 container.armorTable=装甲改装台 container.assembler=装配机 -ontainer.autocrafter=自动化工作台 +container.autocrafter=自动化工作台 container.barrel=桶 container.bat9000="巨臀"9000号储罐 container.battery=储能量 @@ -589,7 +590,7 @@ container.chemplant=化工装置 container.compactLauncher=紧凑型发射台 container.craneBoxer=传送带打包器 container.craneExtractor=传送带输出器 - +container.craneGrabber=传送带抓取器 container.craneInserter=传送带输入器 container.craneRouter=传送带分流器 container.craneUnboxer=传送带解包器 @@ -712,7 +713,9 @@ container.turbinegas=联合循环燃气轮机 container.turretArty=格雷格 container.turretChekhov=契诃夫之枪 container.turretFriendly=友好先生 +container.turretFritz=弗里茨 container.turretHIMARS=亨利 +container.turretHoward=霍华德 container.turretJeremy=杰里米 container.turretMaxwell=麦克斯韦 container.turretRichard=理查德 @@ -739,6 +742,7 @@ 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 现在有权获得经济补偿. @@ -746,6 +750,7 @@ death.attack.bang=%1$s 被炸成一口大小碎片. death.attack.blackhole=%1$s 被黑洞拉成了意大利面. death.attack.blender=%1$s 被切割成了很小的,以Byte计数的单位. 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 被从天而降的建筑砸中了. @@ -1133,7 +1138,16 @@ gun.name.zomg=EMC101棱镜负能量加农炮 hadron.analysis=分析中... hadron.buttonOn=分析室(如有)开启 hadron.buttonOff=分析室关闭 -hadron.error=错误! +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=错误 0x07 [分析室过短] +hadron.error_diode_collision=错误 0x08 [粒子与肖特基粒子二极管碰撞] +hadron.error_branching_turn=错误 0x09 [转弯处分岔] hadron.hopper0=§e普通模式:$所有物品都可用来对撞. hadron.hopper1=§e过滤模式:$对撞机输入口将始终保留一个物品. hadron.idle=闲置 @@ -1566,7 +1580,7 @@ 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训练榴弹 -tem.ammo_himars_standard.name=227mm 制导火炮火箭吊舱 +item.ammo_himars_standard.name=227mm 制导火炮火箭吊舱 item.ammo_himars_standard_he.name=227mm 制导火炮火箭吊舱(高爆弹头) item.ammo_himars_standard_mini_nuke.name=227mm 制导火炮火箭吊舱(小型核弹头) item.ammo_himars_standard_tb.name=227mm 制导火炮火箭吊舱(温压弹头) @@ -1856,7 +1870,7 @@ item.boy_propellant.name=炸药 item.boy_shielding.name=中子屏蔽罩 item.boy_target.name=次临界铀235标靶 item.briquette.coal.name=煤球 -item.briquette_lignite.name=褐煤球 +item.briquette.lignite.name=褐煤球 item.briquette.wood.name=锯屑坯块 item.bucket_acid.name=一桶酸 item.bucket_mud.name=一桶毒泥 @@ -1969,6 +1983,7 @@ 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=披风[辐射] @@ -3273,10 +3288,13 @@ item.pellet_rtg_americium.name=镅-241RTG放射性同位素燃料靶丸 item.pellet_rtg_americium.desc=稀有可靠的优质古镅! item.pellet_rtg_berkelium.name=锫RTG放射性同位素燃料靶丸 item.pellet_rtg_berkelium.desc= +item.pellet_rtg_cobalt.name=钴-60RTG放射性同位素燃料靶丸 +item.pellet_rtg_cobalt.desc=作为RTG放射性同位素燃料靶丸不是最好的, 但是非常适合伽马辐射! item.pellet_rtg_depleted.bismuth.name=衰竭的铋RTG放射性同位素燃料靶丸 item.pellet_rtg_depleted.lead.name=衰竭的铅RTG放射性同位素燃料靶丸 item.pellet_rtg_depleted.neptunium.name=衰竭的镎RTG放射性同位素燃料靶丸 item.pellet_rtg_depleted.mercury.name=衰竭的汞RTG放射性同位素燃料靶丸 +item.pellet_rtg_depleted.nickel.name=衰竭的镍RTG放射性同位素燃料靶丸 item.pellet_rtg_depleted.zirconium.name=衰竭的锆RTG放射性同位素燃料靶丸 item.pellet_rtg_lead.name=铅-209RTG放射性同位素燃料靶丸 item.pellet_rtg_lead.desc=接触会立即导致死亡. @@ -3490,6 +3508,8 @@ item.radaway_flush.name=超级消辐宁 item.radaway_strong.name=强效消辐宁 item.radx.name=防辐射药 item.radx.desc=增加0.2(37%%)的抗辐射能力,持续3分钟 +item.rag.name=破布 +item.rag_damp.name=湿破布 item.rag_piss.name=尿湿润的破布 item.rbmk_fuel_balefire.name=RBMK石墨式反应堆野火燃料棒 item.rbmk_fuel_balefire_gold.name=激活态金-198 RBMK石墨式反应堆燃料棒 @@ -3790,6 +3810,7 @@ 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异变铀金属靴子 @@ -4448,13 +4469,13 @@ tile.concrete_colored.red.name=红色混凝土 tile.concrete_colored.silver.name=淡灰色混凝土 tile.concrete_colored.white.name=白色混凝土 tile.concrete_colored.yellow.name=黄色混凝土 +tile.concrete_pillar.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_pillar.name=钢筋混凝土柱 +tile.concrete_smooth_stairs.name=混凝土楼梯 tile.concrete_smooth.name=混凝土 tile.concrete_stairs.name=混凝土瓦楼梯 tile.concrete_super.name=Über混凝土 @@ -5064,6 +5085,7 @@ tile.soyuz_launcher.name=联盟号巨型运载火箭发射平台 tile.spikes.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=钢墙角 @@ -5222,6 +5244,7 @@ tool.ability.explosion=爆破 tool.ability.hammer=范围挖掘 tool.ability.luck=时运 tool.ability.mercury=自动汞采集 +tool.ability.midas=点石成金 tool.ability.recursion=连锁挖矿 tool.ability.shredder=自动粉碎 tool.ability.silktouch=精准采集 From cf533339f5d089364a955dd9bd664a0ff1dca2e7 Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 1 May 2023 22:47:20 +0200 Subject: [PATCH 055/285] fixed tau damage, fluid bucket registry --- gradle.properties | 4 ++-- src/main/java/com/hbm/items/ModItems.java | 10 +++++----- .../java/com/hbm/items/weapon/ItemGunGauss.java | 2 +- .../hbm/textures/items/rbmk_component_card.png | Bin 0 -> 313 bytes 4 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/items/rbmk_component_card.png diff --git a/gradle.properties b/gradle.properties index 9383abbe4..311c2314b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4578 +mod_build_number=4585 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting),\ @@ -11,4 +11,4 @@ credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion al \ Sten89 (models), Pixelguru26 (textures), TheBlueHat (textures), Alcater (GUI textures, porting), impbk2002 (project settings),\ \ OvermindDL1 (project settings), TehTemmie (reacher radiation function), Toshayo (satellite loot system, project settings), Silly541 (config for safe ME drives),\ \ Voxelstice (OpenComputers integration, turbine spinup), BallOfEnergy1 (OpenComputers integration), martemen (project settings),\ - \ Pvndols (thorium fuel recipe, gas turbine), JamesH2 (blood mechanics, nitric acid), sdddddf80 (recipe configs), SuperCraftAlex (tooltips) \ No newline at end of file + \ Pvndols (thorium fuel recipe, gas turbine), JamesH2 (blood mechanics, nitric acid), sdddddf80 (recipe configs), SuperCraftAlex (tooltips) diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index c191ffd59..79043e1e0 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -5460,11 +5460,11 @@ public class ModItems { 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)); - FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.acid_fluid, 1000), new ItemStack(ModItems.bucket_acid)); - FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.toxic_fluid, 1000), new ItemStack(ModItems.bucket_toxic)); - FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.schrabidic_fluid, 1000), new ItemStack(ModItems.bucket_schrabidic_acid)); - FluidContainerRegistry.registerFluidContainer(new FluidStack(ModBlocks.sulfuric_acid_fluid, 1000), new ItemStack(ModItems.bucket_sulfuric_acid)); + 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); diff --git a/src/main/java/com/hbm/items/weapon/ItemGunGauss.java b/src/main/java/com/hbm/items/weapon/ItemGunGauss.java index f394e9062..4db1ce526 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunGauss.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunGauss.java @@ -32,7 +32,7 @@ public class ItemGunGauss extends ItemGunBase { if(!main && getStored(stack) > 0) { EntityBulletBase bullet = new EntityBulletBase(world, altConfig.config.get(0), player); - bullet.overrideDamage = Math.min(getStored(stack), 1) * 10F; + 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); diff --git a/src/main/resources/assets/hbm/textures/items/rbmk_component_card.png b/src/main/resources/assets/hbm/textures/items/rbmk_component_card.png new file mode 100644 index 0000000000000000000000000000000000000000..269a3d9308cd82822a9ea23c1cbb9d1d8a2e13f8 GIT binary patch literal 313 zcmV-90mlA`P)-08hXR zT+Y Date: Tue, 2 May 2023 16:40:26 +0200 Subject: [PATCH 056/285] on a rail --- .../java/com/hbm/blocks/rail/IRailNTM.java | 27 +++++ .../hbm/blocks/rail/RailStandardStraight.java | 105 ++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 src/main/java/com/hbm/blocks/rail/IRailNTM.java create mode 100644 src/main/java/com/hbm/blocks/rail/RailStandardStraight.java diff --git a/src/main/java/com/hbm/blocks/rail/IRailNTM.java b/src/main/java/com/hbm/blocks/rail/IRailNTM.java new file mode 100644 index 000000000..87738ed77 --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/IRailNTM.java @@ -0,0 +1,27 @@ +package com.hbm.blocks.rail; + +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public interface IRailNTM { + + /** Returns a vector pointing to the closest snapping position given the starting position */ + public Vec3 getSnappingPos(World world, int x, int y, int z, double trainX, double trainY, double trainZ); + + /** + * Returns a location on the rail based on the train's current X/Y/Z momentum as well as the intended speed along the rail. + * If the train would leave the rail within that tick, the position is the last valid position on that rail. + * Inherently safer than simply adding the motion to the position and then snapping, since that may lead to derailing. + * The motion has to be calculated from the train's rotation, the scalar doesn't matter since it's only used for determining orientation in a clear way. + * Motion ends up being *-1 if the train is going in reverse, still pointing forwards despite the speed being negative. + * Also features a double[] wrapper with size 1 which holds the speed value that overshoots the rail. + * */ + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, double[] leftover); + + /** Returns that rail'S gauge. Trains will derail if the gauge does not match. */ + public TrackGauge getGauge(World world, int x, int y, int z); + + public static enum TrackGauge { + STANDARD //roughly 1.5m + } +} diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java new file mode 100644 index 000000000..66a188e6a --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java @@ -0,0 +1,105 @@ +package com.hbm.blocks.rail; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.lib.Library; + +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class RailStandardStraight extends BlockDummyable implements IRailNTM { + + public RailStandardStraight(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return null; + } + + @Override + public int[] getDimensions() { + return new int[] {0, 0, 2, 2, 0, 0}; + } + + @Override + public int getOffset() { + return 2; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + + @Override + public Vec3 getSnappingPos(World world, int x, int y, int z, double trainX, double trainY, double trainZ) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new double[1]); + } + + @Override + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, double[] leftover) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, leftover); + } + + /* Very simple function determining the snapping position and adding the motion value to it, if desired. */ + public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, double[] leftover) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return Vec3.createVectorHelper(trainX, trainY, trainZ); + int cX = pos[0]; + int cY = pos[1]; + int cZ = pos[2]; + int meta = world.getBlockMetadata(cX, cY, cZ) - this.offset; + ForgeDirection dir = ForgeDirection.getOrientation(meta); + + Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); + + if(speed == 0) { + return vec; + } + + if(dir == Library.POS_X || dir == Library.NEG_X) { + double targetX = trainX; + if(motionX > 0) { + targetX += speed; + } else { + targetX -= speed; + } + vec.xCoord = MathHelper.clamp_double(targetX, x - 2, x + 3); + vec.yCoord = y; + vec.zCoord = z + 0.5; + leftover[0] = Math.abs(targetX - vec.xCoord); + } else { + double targetZ = trainZ; + if(motionZ > 0) { + targetZ += speed; + } else { + targetZ -= speed; + } + vec.xCoord = x + 0.5; + vec.yCoord = y; + vec.zCoord = MathHelper.clamp_double(targetZ, z - 2, z + 3); + leftover[0] = Math.abs(targetZ - vec.zCoord); + } + + return vec; + } + + @Override + public TrackGauge getGauge(World world, int x, int y, int z) { + return TrackGauge.STANDARD; + } +} From 02f89cc0c84f48e3894d75f3aa84268064a6b02c Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Tue, 2 May 2023 21:55:31 -0500 Subject: [PATCH 057/285] my own bobble :D --- .../java/com/hbm/blocks/generic/BlockBobble.java | 10 +++++----- .../com/hbm/render/tileentity/RenderBobble.java | 10 ++++++---- .../hbm/textures/models/trinkets/Microwave.png | Bin 0 -> 1788 bytes 3 files changed, 11 insertions(+), 9 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/models/trinkets/Microwave.png diff --git a/src/main/java/com/hbm/blocks/generic/BlockBobble.java b/src/main/java/com/hbm/blocks/generic/BlockBobble.java index df84bf616..0757002f9 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockBobble.java +++ b/src/main/java/com/hbm/blocks/generic/BlockBobble.java @@ -1,13 +1,9 @@ package com.hbm.blocks.generic; -import java.util.List; -import java.util.Random; - import com.hbm.inventory.gui.GUIScreenBobble; import com.hbm.items.special.ItemPlasticScrap.ScrapType; 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; @@ -33,6 +29,9 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import java.util.List; +import java.util.Random; + public class BlockBobble extends BlockContainer implements IGUIProvider { public BlockBobble() { @@ -191,7 +190,8 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { VAER( "vaer", "vaer", "ZIRNOX", "taken de family out to the weekend cigarette festival", true, ScrapType.MEM_16K_D), 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); + CIRNO( "Cirno", "Cirno", "the only multi layered skin i had", "No brain. Head empty.", true, ScrapType.BOARD_BLANK), + MICROWAVE( "Microwave", "Microwave", "adding OC compat", "they call me the food heater", true, ScrapType.BRIDGE_BIOS); public String name; //the title of the tooltip public String label; //the name engraved in the socket diff --git a/src/main/java/com/hbm/render/tileentity/RenderBobble.java b/src/main/java/com/hbm/render/tileentity/RenderBobble.java index 58f96d995..649bd7ce5 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderBobble.java +++ b/src/main/java/com/hbm/render/tileentity/RenderBobble.java @@ -45,6 +45,7 @@ public class RenderBobble extends TileEntitySpecialRenderer { public static final ResourceLocation bobble_nos = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/nos.png"); public static final ResourceLocation bobble_drillgon = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/drillgon200.png"); public static final ResourceLocation bobble_cirno = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/cirno.png"); + public static final ResourceLocation bobble_microwave = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/microwave.png"); @Override public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float intero) { @@ -94,6 +95,7 @@ public class RenderBobble extends TileEntitySpecialRenderer { case VAER: bindTexture(bobble_vaer); break; case NOS: bindTexture(bobble_nos); break; case DRILLGON: bindTexture(bobble_drillgon); break; + case MICROWAVE: bindTexture(bobble_microwave); break; default: bindTexture(ResourceManager.universal); } @@ -311,19 +313,19 @@ public class RenderBobble extends TileEntitySpecialRenderer { public void renderPellet(BobbleType type) { GL11.glEnable(GL11.GL_CULL_FACE); - + GL11.glPushMatrix(); GL11.glPushAttrib(GL11.GL_LIGHTING_BIT); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, 240F, 240F); GL11.glDisable(GL11.GL_LIGHTING); bobble.renderPart("Pellet"); - + 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(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(System.currentTimeMillis() * 0.001D) * 0.05F); bobble.renderPart("PelletShine"); GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/Microwave.png b/src/main/resources/assets/hbm/textures/models/trinkets/Microwave.png new file mode 100644 index 0000000000000000000000000000000000000000..13afba352dcb8175b35341cb00bb585beeb37eb4 GIT binary patch literal 1788 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D29ZfbK~#8N?ORK4 z6h{!Q?wQ^7+C;1kaiS1VKuB-`5i6$%iJZ7ZxpB)0Df|d7CjTI3t~nx3L6IzxTOuJL zD-j_INrXb;AQB9T?cJH_d31Na>KPj?UVH7Gh4o{;Rl9qtduO()tE+0d%Yyn~dV1Ox z&4KXr>C?W?7$sy;?^_H_0GR2nvRhDTKvC~oR01gKF3i%bBx|>2z2Pmo%5FhV0X&&` z;>~_^&9mDS!UovUZcvo<^JOvWIKi8kn7CH7H^j}GH>uTX(bcP0yXyJ*`C`Q22!i1A zqB#<5$q3HP&C$h+7uVH$0b3G4FXp-43#c@ps5eC~=DFSr*!LQ+@7>_Khf6wc4W;CX zv78_T8KX#w1{oWZrG=Nj-!57k!)Et36^QW9 zbWPaH&)Kd(*9{hQ4B?*-MpLx8HmE(+8ba_%+lQMyK;Q=&ZtNBTtg`{kC^OHDb74s7 zLkRqOkY8_tkuIk}AfdWG>NTmc>hsKVEk(`EdS*h1g4JIaqxKHOkqCy3 z)>0j`BuOaEQV2oP`1rW%i$UW)tu@u^b^7)8ZAb5gkM*BLi|CejtZ2Pn^j%Vu=RUO_ zt2dYwP;rfqhmXdb`_O}1Ye0Z{G4G%I?ijpXBMXQ*M%1DPDiaO7!9!pBVcpSDVMPCwy zu4GXRA+=rK>%#f-@6*|{r(8WuNDb8&u>oVtn9&rfy$k__B%{o=Wn#c^;QB}uZB9?JMj{t)TF+mf|a%5OA z&TPX&XbU4KbN9GY(bo$|>m$}j_zu3U$;fC}d#%t;K@Uh6M24WF!;N!e3mW(Bb_h?L z#u7-}65u)qVgg)pNdun^YP zJx7Bue2)1Sv#bf80%a9@Av9*`lzM@|+gZ_iHF(t;u-YkRX0G_BmmAIHgG;SkH7n2ODQtjf#p+VtI*=( zb>36Vg^=$$@4T&pp$kA#lk#%}>o!tZ3*0#ZZ>YLW)}4j20$8^z#K{%Bp~@Sr%rIZ` zc51E#oQkls)S%3d5m#oeG{0_A;Q2mTV<^)Z9XRlY%PTNiQ*(Trbe55nxtzJ?+=Eyt zs@LljMG-x|bI0`!ihc(l{V?#CdFG>^#*W;bX#A1q6w1yIHY*v2pIFbzBT(R##3>x!g;^^YNjC?w7w zuuP8ZiirT0niozubBQ5d?+LWS? zi%|*LBqlG>F8hRY6Gn}J1ppf$Rn|O|s)#7T+K-{`U@%i5$pl&nCT$F32o2yo0s+l1 zk%9m?-ynAVN-Y+58y!m7fXlD}UoQN-0vCWA<+rkYVvL0@yarr9yTH{)gggjU z4TiFf$gs>$7_kj#pJ`)ZL#@-0vb0Tx+i-v2j6eXNhzeotjahNW>U`u*Iw7r>F%Fu; z<3@~9Hh>nX>2eAq literal 0 HcmV?d00001 From dd2f929821ee9432429cf927ab1809b0c295f11d Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 3 May 2023 10:42:58 +0200 Subject: [PATCH 058/285] EntityRailCarBase --- .../java/com/hbm/blocks/machine/Watz.java | 8 + .../java/com/hbm/blocks/rail/IRailNTM.java | 17 +- .../hbm/blocks/rail/RailStandardStraight.java | 15 +- .../hbm/entity/train/EntityRailCarBase.java | 157 ++++++++++++++++++ 4 files changed, 189 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/hbm/entity/train/EntityRailCarBase.java diff --git a/src/main/java/com/hbm/blocks/machine/Watz.java b/src/main/java/com/hbm/blocks/machine/Watz.java index 8a975bbc2..4f195b722 100644 --- a/src/main/java/com/hbm/blocks/machine/Watz.java +++ b/src/main/java/com/hbm/blocks/machine/Watz.java @@ -1,5 +1,7 @@ package com.hbm.blocks.machine; +import java.util.Random; + import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.handler.MultiblockHandlerXR; @@ -11,6 +13,7 @@ import net.minecraft.block.Block; import net.minecraft.block.material.Material; 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.tileentity.TileEntity; import net.minecraft.world.World; @@ -29,6 +32,11 @@ public class Watz extends BlockDummyable { if(meta >= 6) return new TileEntityProxyCombo().inventory().fluid(); return null; } + + @Override + 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) { diff --git a/src/main/java/com/hbm/blocks/rail/IRailNTM.java b/src/main/java/com/hbm/blocks/rail/IRailNTM.java index 87738ed77..0bb68d517 100644 --- a/src/main/java/com/hbm/blocks/rail/IRailNTM.java +++ b/src/main/java/com/hbm/blocks/rail/IRailNTM.java @@ -1,8 +1,11 @@ package com.hbm.blocks.rail; +import com.hbm.util.fauxpointtwelve.BlockPos; + import net.minecraft.util.Vec3; import net.minecraft.world.World; +/** in retrospect, not the best name i could have chosen */ public interface IRailNTM { /** Returns a vector pointing to the closest snapping position given the starting position */ @@ -16,12 +19,22 @@ public interface IRailNTM { * Motion ends up being *-1 if the train is going in reverse, still pointing forwards despite the speed being negative. * Also features a double[] wrapper with size 1 which holds the speed value that overshoots the rail. * */ - public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, double[] leftover); + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailLeaveInfo info); - /** Returns that rail'S gauge. Trains will derail if the gauge does not match. */ + /** Returns that rail's gauge. Trains will derail if the gauge does not match. */ public TrackGauge getGauge(World world, int x, int y, int z); public static enum TrackGauge { STANDARD //roughly 1.5m } + + /** A wrapper for all relevant info required when leaving a rail */ + public static class RailLeaveInfo { + /** The amount of blocks still left to travel after completing the rail */ + public double overshoot; + /** The exit position of that rail */ + public BlockPos pos; + public RailLeaveInfo dist(double d) { this.overshoot = d; return this; } + public RailLeaveInfo pos(BlockPos d) { this.pos = d; return this; } + } } diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java index 66a188e6a..d28329aca 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java @@ -2,6 +2,7 @@ package com.hbm.blocks.rail; import com.hbm.blocks.BlockDummyable; import com.hbm.lib.Library; +import com.hbm.util.fauxpointtwelve.BlockPos; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; @@ -47,16 +48,16 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { @Override public Vec3 getSnappingPos(World world, int x, int y, int z, double trainX, double trainY, double trainZ) { - return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new double[1]); + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new RailLeaveInfo()); } @Override - public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, double[] leftover) { - return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, leftover); + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailLeaveInfo info) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); } /* Very simple function determining the snapping position and adding the motion value to it, if desired. */ - public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, double[] leftover) { + public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailLeaveInfo info) { int[] pos = this.findCore(world, x, y, z); if(pos == null) return Vec3.createVectorHelper(trainX, trainY, trainZ); int cX = pos[0]; @@ -81,7 +82,8 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { vec.xCoord = MathHelper.clamp_double(targetX, x - 2, x + 3); vec.yCoord = y; vec.zCoord = z + 0.5; - leftover[0] = Math.abs(targetX - vec.xCoord); + info.dist(Math.abs(targetX - vec.xCoord)); + info.pos(new BlockPos(vec.xCoord + (motionX > 0 ? 1 : -1), y, z)); } else { double targetZ = trainZ; if(motionZ > 0) { @@ -92,7 +94,8 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { vec.xCoord = x + 0.5; vec.yCoord = y; vec.zCoord = MathHelper.clamp_double(targetZ, z - 2, z + 3); - leftover[0] = Math.abs(targetZ - vec.zCoord); + info.dist(Math.abs(targetZ - vec.zCoord)); + info.pos(new BlockPos(x, y, vec.zCoord + (motionZ > 0 ? 1 : -1))); } return vec; diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java new file mode 100644 index 000000000..f5c800bb0 --- /dev/null +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -0,0 +1,157 @@ +package com.hbm.entity.train; + +import com.hbm.blocks.rail.IRailNTM; +import com.hbm.blocks.rail.IRailNTM.RailLeaveInfo; +import com.hbm.blocks.rail.IRailNTM.TrackGauge; +import com.hbm.util.fauxpointtwelve.BlockPos; + +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.nbt.NBTTagCompound; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public abstract class EntityRailCarBase extends Entity { + + public boolean isOnRail = true; + private int turnProgress; + private double trainX; + private double trainY; + private double trainZ; + private double trainYaw; + private double trainPitch; + @SideOnly(Side.CLIENT) private double velocityX; + @SideOnly(Side.CLIENT) private double velocityY; + @SideOnly(Side.CLIENT) private double velocityZ; + + public EntityRailCarBase(World world) { + super(world); + } + + @Override protected void entityInit() { } + @Override protected void readEntityFromNBT(NBTTagCompound nbt) { } + @Override protected void writeEntityToNBT(NBTTagCompound nbt) { } + + @Override + public void onUpdate() { + + if(this.worldObj.isRemote) { + if(this.turnProgress > 0) { + double x = this.posX + (this.trainX - this.posX) / (double) this.turnProgress; + double y = this.posY + (this.trainY - this.posY) / (double) this.turnProgress; + double z = this.posZ + (this.trainZ - this.posZ) / (double) this.turnProgress; + double yaw = MathHelper.wrapAngleTo180_double(this.trainYaw - (double) this.rotationYaw); + this.rotationYaw = (float) ((double) this.rotationYaw + yaw / (double) this.turnProgress); + this.rotationPitch = (float) ((double) this.rotationPitch + (this.trainPitch - (double) this.rotationPitch) / (double) this.turnProgress); + --this.turnProgress; + this.setPosition(x, y, z); + this.setRotation(this.rotationYaw, this.rotationPitch); + } else { + this.setPosition(this.posX, this.posY, this.posZ); + this.setRotation(this.rotationYaw, this.rotationPitch); + } + } else { + + BlockPos anchor = this.getCurentAnchorPos(); + Vec3 corePos = getRelPosAlongRail(anchor, this.getCurrentSpeed()); + + if(corePos == null) { + this.derail(); + } else { + this.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); + + anchor = this.getCurentAnchorPos(); //reset origin to new position + Vec3 frontPos = getRelPosAlongRail(anchor, this.getLengthSpan()); + Vec3 backPos = getRelPosAlongRail(anchor, -this.getLengthSpan()); + + if(frontPos == null) this.derail(); + if(backPos == null) this.derail(); + + if(frontPos != null && backPos != null) this.rotationYaw = generateYaw(frontPos, backPos); + } + } + } + + public Vec3 getRelPosAlongRail(BlockPos anchor, double distanceToCover) { + + double overshoot = 0; + float yaw = this.rotationYaw; + + Vec3 next = null; + + do { + + int x = anchor.getX(); + int y = anchor.getY(); + int z = anchor.getZ(); + Block block = worldObj.getBlock(x, y, z); + + Vec3 rot = Vec3.createVectorHelper(1, 0, 0); + rot.rotateAroundY(yaw); + + if(block instanceof IRailNTM) { + IRailNTM rail = (IRailNTM) block; + + if(rail.getGauge(worldObj, x, y, z) == this.getGauge()) { + RailLeaveInfo info = new RailLeaveInfo(); + Vec3 prev = next; + next = rail.getTravelLocation(worldObj, x, y, z, posX, posY, posZ, rot.xCoord, rot.yCoord, rot.zCoord, distanceToCover, info); + overshoot = info.overshoot; + anchor = info.pos; + yaw = generateYaw(next, prev); + + } else { + return null; + } + } else { + return null; + } + + } while(overshoot != 0); //if there's still length to cover, keep going + + return next; + } + + public float generateYaw(Vec3 front, Vec3 back) { + return 0F; //TODO + } + + /** Returns the amount of blocks that the train should move per tick */ + public abstract double getCurrentSpeed(); + /** Returns the gauge of this train */ + public abstract TrackGauge getGauge(); + /** Returns the length between the core and one of the bogies */ + public abstract double getLengthSpan(); + + /** Returns the "true" position of the train, i.e. the block it wants to snap to */ + public BlockPos getCurentAnchorPos() { + return new BlockPos(posX, posY, posZ); + } + + public void derail() { + isOnRail = false; + } + + @SideOnly(Side.CLIENT) + public void setPositionAndRotation2(double posX, double posY, double posZ, float yaw, float pitch, int turnProg) { + this.trainX = posX; + this.trainY = posY; + this.trainZ = posZ; + this.trainYaw = (double) yaw; + this.trainPitch = (double) pitch; + this.turnProgress = turnProg + 2; + this.motionX = this.velocityX; + this.motionY = this.velocityY; + this.motionZ = this.velocityZ; + } + + @SideOnly(Side.CLIENT) + public void setVelocity(double mX, double mY, double mZ) { + this.velocityX = this.motionX = mX; + this.velocityY = this.motionY = mY; + this.velocityZ = this.motionZ = mZ; + } +} From ec63136436efbe3dd543ccb4646c66e8169c2de7 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 3 May 2023 14:15:16 +0200 Subject: [PATCH 059/285] the black mesa rail network --- .../hbm/entity/train/EntityRailCarBase.java | 19 ++++++-- .../entity/train/EntityRailCarRidable.java | 43 +++++++++++++++++ .../com/hbm/entity/train/TrainCargoTram.java | 46 +++++++++++++++++++ 3 files changed, 104 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/hbm/entity/train/EntityRailCarRidable.java create mode 100644 src/main/java/com/hbm/entity/train/TrainCargoTram.java diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index f5c800bb0..7099bebde 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -34,6 +34,16 @@ public abstract class EntityRailCarBase extends Entity { @Override protected void entityInit() { } @Override protected void readEntityFromNBT(NBTTagCompound nbt) { } @Override protected void writeEntityToNBT(NBTTagCompound nbt) { } + + @Override + public boolean canBePushed() { + return true; + } + + @Override + public boolean canBeCollidedWith() { + return !this.isDead; + } @Override public void onUpdate() { @@ -67,10 +77,11 @@ public abstract class EntityRailCarBase extends Entity { Vec3 frontPos = getRelPosAlongRail(anchor, this.getLengthSpan()); Vec3 backPos = getRelPosAlongRail(anchor, -this.getLengthSpan()); - if(frontPos == null) this.derail(); - if(backPos == null) this.derail(); - - if(frontPos != null && backPos != null) this.rotationYaw = generateYaw(frontPos, backPos); + if(frontPos == null || backPos == null) { + this.derail(); + } else { + this.rotationYaw = generateYaw(frontPos, backPos); + } } } } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java new file mode 100644 index 000000000..837fcceb2 --- /dev/null +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -0,0 +1,43 @@ +package com.hbm.entity.train; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public abstract class EntityRailCarRidable extends EntityRailCarBase { + + public EntityRailCarRidable(World world) { + super(world); + } + + @Override + public boolean interactFirst(EntityPlayer player) { + if(this.riddenByEntity != null && this.riddenByEntity instanceof EntityPlayer && this.riddenByEntity != player) { + return true; + } else { + if(!this.worldObj.isRemote) { + player.mountEntity(this); + } + return true; + } + } + + @Override + public void onUpdate() { + super.onUpdate(); + } + + @Override + public void updateRiderPosition() { + + Vec3 offset = getRiderSeatPosition(); + offset.rotateAroundY(this.rotationYaw); + + if(this.riddenByEntity != null) { + this.riddenByEntity.setPosition(this.posX + offset.xCoord, this.posY + offset.yCoord, this.posZ + offset.zCoord); + } + } + + /** Returns a Vec3 showing the relative position from the driver to the core */ + public abstract Vec3 getRiderSeatPosition(); +} diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java new file mode 100644 index 000000000..11c89263a --- /dev/null +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -0,0 +1,46 @@ +package com.hbm.entity.train; + +import com.hbm.blocks.rail.IRailNTM.TrackGauge; + +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class TrainCargoTram extends EntityRailCarRidable { + + /* + * + * _________ + * | | \ <-- + * | | |___ + * | | | | | + * _O\|_|_______|__|_____________________________|/O_ + * |____| |____| + * \__________________________________________/ + * '( + )' '( + )' + * + */ + + public TrainCargoTram(World world) { + super(world); + } + + @Override + public double getCurrentSpeed() { + return 0; + } + + @Override + public TrackGauge getGauge() { + return TrackGauge.STANDARD; + } + + @Override + public double getLengthSpan() { + return 2; + } + + @Override + public Vec3 getRiderSeatPosition() { + return Vec3.createVectorHelper(1, 1, 0); + } +} From abc4dc0cbf92aef81a627d2df2d3ec59cd17faae Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 3 May 2023 23:10:28 +0200 Subject: [PATCH 060/285] tram trom --- src/main/java/com/hbm/blocks/ModBlocks.java | 5 + .../hbm/blocks/rail/RailStandardStraight.java | 9 +- .../java/com/hbm/entity/EntityMappings.java | 3 + .../hbm/entity/train/EntityRailCarBase.java | 13 +- .../com/hbm/entity/train/TrainCargoTram.java | 16 +- src/main/java/com/hbm/main/ClientProxy.java | 2 + .../com/hbm/main/ModEventHandlerClient.java | 14 + .../java/com/hbm/main/ResourceManager.java | 1 + .../entity/item/RenderTrainCargoTram.java | 37 ++ .../assets/hbm/models/vehicles/tram.obj | 425 ++++++++++++++++++ 10 files changed, 517 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java create mode 100644 src/main/resources/assets/hbm/models/vehicles/tram.obj diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 3b4ee27cf..d806d1efc 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -11,6 +11,7 @@ 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.RailStandardStraight; import com.hbm.blocks.siege.*; import com.hbm.blocks.test.*; import com.hbm.blocks.turret.*; @@ -1085,6 +1086,8 @@ public class ModBlocks { public static Block rail_highspeed; public static Block rail_booster; + public static Block rail_large_straight; + public static Block statue_elb; public static Block statue_elb_g; public static Block statue_elb_w; @@ -2109,6 +2112,7 @@ public class ModBlocks { 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_large_straight = new RailStandardStraight().setBlockName("rail_large_straight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":block_steel"); 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"); @@ -3326,6 +3330,7 @@ public class ModBlocks { 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_large_straight); //Crate GameRegistry.registerBlock(crate, crate.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java index d28329aca..91e51c8ca 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java @@ -15,8 +15,8 @@ import net.minecraftforge.common.util.ForgeDirection; public class RailStandardStraight extends BlockDummyable implements IRailNTM { - public RailStandardStraight(Material mat) { - super(mat); + public RailStandardStraight() { + super(Material.iron); } @Override @@ -24,6 +24,11 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { return null; } + @Override + public int getRenderType() { + return 0; + } + @Override public int[] getDimensions() { return new int[] {0, 0, 2, 2, 0, 0}; diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index 4d56ebc9b..844c470e9 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -14,6 +14,7 @@ import com.hbm.entity.mob.botprime.*; import com.hbm.entity.mob.siege.*; import com.hbm.entity.particle.*; import com.hbm.entity.projectile.*; +import com.hbm.entity.train.TrainCargoTram; import com.hbm.main.MainRegistry; import com.hbm.util.Tuple.Quartet; @@ -205,6 +206,8 @@ public class EntityMappings { addEntity(EntityChemical.class, "entity_chemthrower_splash", 1000); addEntity(EntityMist.class, "entity_mist", 1000); + addEntity(TrainCargoTram.class, "entity_ntm_cargo_tram", 250, false); + addMob(EntityCreeperNuclear.class, "entity_mob_nuclear_creeper", 0x204131, 0x75CE00); addMob(EntityCreeperTainted.class, "entity_mob_tainted_creeper", 0x813b9b, 0xd71fdd); addMob(EntityCreeperPhosgene.class, "entity_mob_phosgene_creeper", 0xE3D398, 0xB8A06B); diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index 7099bebde..deefbf4db 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -75,7 +75,7 @@ public abstract class EntityRailCarBase extends Entity { anchor = this.getCurentAnchorPos(); //reset origin to new position Vec3 frontPos = getRelPosAlongRail(anchor, this.getLengthSpan()); - Vec3 backPos = getRelPosAlongRail(anchor, -this.getLengthSpan()); + Vec3 backPos = getRelPosAlongRail(anchor, this.getLengthSpan()); if(frontPos == null || backPos == null) { this.derail(); @@ -91,7 +91,7 @@ public abstract class EntityRailCarBase extends Entity { double overshoot = 0; float yaw = this.rotationYaw; - Vec3 next = null; + Vec3 next = Vec3.createVectorHelper(posX, posY, posZ); do { @@ -100,7 +100,7 @@ public abstract class EntityRailCarBase extends Entity { int z = anchor.getZ(); Block block = worldObj.getBlock(x, y, z); - Vec3 rot = Vec3.createVectorHelper(1, 0, 0); + Vec3 rot = Vec3.createVectorHelper(0, 0, 1); rot.rotateAroundY(yaw); if(block instanceof IRailNTM) { @@ -127,7 +127,10 @@ public abstract class EntityRailCarBase extends Entity { } public float generateYaw(Vec3 front, Vec3 back) { - return 0F; //TODO + double deltaX = front.xCoord - back.xCoord; + double deltaZ = front.zCoord - back.zCoord; + double radians = Math.atan(deltaZ / deltaX); + return (float) MathHelper.wrapAngleTo180_double(radians * 180D / Math.PI - 90); } /** Returns the amount of blocks that the train should move per tick */ @@ -144,6 +147,8 @@ public abstract class EntityRailCarBase extends Entity { public void derail() { isOnRail = false; + this.setDead(); + worldObj.createExplosion(this, posX, posY, posZ, 1F, false); } @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index 11c89263a..c8c7160e4 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -2,6 +2,8 @@ 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; @@ -22,11 +24,12 @@ public class TrainCargoTram extends EntityRailCarRidable { public TrainCargoTram(World world) { super(world); + this.setSize(2F, 1F); } @Override public double getCurrentSpeed() { - return 0; + return this.riddenByEntity instanceof EntityPlayer ? ((EntityPlayer) this.riddenByEntity).moveForward * 0.125D : 0; } @Override @@ -41,6 +44,15 @@ public class TrainCargoTram extends EntityRailCarRidable { @Override public Vec3 getRiderSeatPosition() { - return Vec3.createVectorHelper(1, 1, 0); + return Vec3.createVectorHelper(0.75, 1.75, 0.75); + } + + @Override + public boolean attackEntityFrom(DamageSource p_70097_1_, float p_70097_2_) { + if(!this.worldObj.isRemote && !this.isDead) { + this.setDead(); + } + + return true; } } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index d366c31f2..04a912a51 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -60,6 +60,7 @@ import com.hbm.entity.mob.botprime.*; import com.hbm.entity.mob.siege.*; import com.hbm.entity.particle.*; import com.hbm.entity.projectile.*; +import com.hbm.entity.train.*; import com.hbm.handler.CasingEjector; import com.hbm.handler.HbmKeybinds; import com.hbm.handler.ImpactWorldHandler; @@ -681,6 +682,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityMinecartCrate.class, new RenderMinecart()); RenderingRegistry.registerEntityRenderingHandler(EntityMinecartNTM.class, new RenderNeoCart()); RenderingRegistry.registerEntityRenderingHandler(EntityMagnusCartus.class, new RenderMagnusCartus()); + RenderingRegistry.registerEntityRenderingHandler(TrainCargoTram.class, new RenderTrainCargoTram()); //items RenderingRegistry.registerEntityRenderingHandler(EntityMovingItem.class, new RenderMovingItem()); RenderingRegistry.registerEntityRenderingHandler(EntityMovingPackage.class, new RenderMovingPackage()); diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 9e8872aec..9938c2ec9 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -127,6 +127,7 @@ 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.common.util.ForgeDirection; import net.minecraftforge.event.entity.player.ItemTooltipEvent; public class ModEventHandlerClient { @@ -200,6 +201,19 @@ public class ModEventHandlerClient { GL11.glPopMatrix(); Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); }*/ + + List text = new ArrayList(); + text.add("YAW: " + player.rotationYaw); + text.add("PITCH: " + player.rotationPitch); + int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; + int j = 0; + if(i == 0) j = 2; + if(i == 1) j = 5; + if(i == 2) j = 3; + if(i == 3) j = 4; + ForgeDirection dir = ForgeDirection.getOrientation(j).getOpposite(); + text.add("x: " + dir.offsetX + " z: " + dir.offsetZ); + ILookOverlay.printGeneric(event, "DEBUG", 0xffff00, 0x4040000, text); } /// HANLDE ANIMATION BUSES /// diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index c56c4ed0d..302a3523c 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1005,6 +1005,7 @@ public class ResourceManager { 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")); ////Texture Entities diff --git a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java new file mode 100644 index 000000000..660340f0f --- /dev/null +++ b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java @@ -0,0 +1,37 @@ +package com.hbm.render.entity.item; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.MainRegistry; +import com.hbm.main.ResourceManager; + +import net.minecraft.client.renderer.entity.Render; +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; + +public class RenderTrainCargoTram extends Render { + + @Override + public void doRender(Entity entity, double x, double y, double z, float swing, float interp) { + GL11.glPushMatrix(); + GL11.glTranslated(x, y, z); + + GL11.glRotated(180 - entity.rotationYaw, 0, 1, 0); + GL11.glRotated(-entity.rotationPitch, 0, 0, 1); + + MainRegistry.proxy.displayTooltip("Yaw: " + entity.rotationYaw, 666); + MainRegistry.proxy.displayTooltip("Pitch: " + entity.rotationPitch, 667); + + GL11.glDisable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.universal); + ResourceManager.train_cargo_tram.renderAll(); + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return ResourceManager.universal; + } +} diff --git a/src/main/resources/assets/hbm/models/vehicles/tram.obj b/src/main/resources/assets/hbm/models/vehicles/tram.obj new file mode 100644 index 000000000..38a567ec5 --- /dev/null +++ b/src/main/resources/assets/hbm/models/vehicles/tram.obj @@ -0,0 +1,425 @@ +# Blender v2.79 (sub 0) OBJ File: 'tram.blend' +# www.blender.org +o Plane +v -1.000000 0.500000 2.500000 +v 1.000000 0.500000 2.500000 +v -1.000000 0.500000 -2.500000 +v 1.000000 0.500000 -2.500000 +v -1.000000 0.250000 2.500000 +v 1.000000 0.250000 2.500000 +v -1.000000 0.250000 -2.500000 +v 1.000000 0.250000 -2.500000 +v -1.000000 0.000000 2.250000 +v 1.000000 0.000000 2.250000 +v -1.000000 0.000000 -2.250000 +v 1.000000 0.000000 -2.250000 +v -0.125000 0.500000 1.000000 +v 0.875000 0.500000 1.000000 +v -0.125000 1.500000 1.000000 +v 0.875000 1.500000 1.000000 +v 0.125000 0.500000 2.000000 +v -0.125000 0.500000 1.750000 +v 0.875000 0.500000 1.750000 +v 0.625000 0.500000 2.000000 +v -0.125000 1.500000 1.750000 +v 0.125000 1.500000 2.000000 +v 0.625000 1.500000 2.000000 +v 0.875000 1.500000 1.750000 +v -0.625000 0.750000 2.437500 +v -0.625000 0.750000 2.312500 +v 0.625000 0.750000 2.312500 +v 0.625000 0.750000 2.437500 +v 0.713388 0.713388 2.312500 +v 0.713388 0.713388 2.437500 +v 0.750000 0.625000 2.312500 +v 0.750000 0.625000 2.437500 +v 0.713388 0.536612 2.312500 +v 0.713388 0.536612 2.437500 +v 0.625000 0.500000 2.312500 +v 0.625000 0.500000 2.437500 +v 0.536612 0.536612 2.312500 +v 0.536612 0.536612 2.437500 +v 0.500000 0.625000 2.312500 +v 0.500000 0.625000 2.437500 +v 0.536612 0.713388 2.312500 +v 0.536612 0.713388 2.437500 +v -0.536612 0.713388 2.312500 +v -0.536612 0.713388 2.437500 +v -0.500000 0.625000 2.312500 +v -0.500000 0.625000 2.437500 +v -0.536612 0.536612 2.312500 +v -0.536612 0.536612 2.437500 +v -0.625000 0.500000 2.312500 +v -0.625000 0.500000 2.437500 +v -0.713388 0.536612 2.312500 +v -0.713388 0.536612 2.437500 +v -0.750000 0.625000 2.312500 +v -0.750000 0.625000 2.437500 +v -0.713388 0.713388 2.312500 +v -0.713388 0.713388 2.437500 +v 0.375000 0.500000 2.312500 +v 0.875000 0.500000 2.312500 +v 0.375000 0.500000 2.187500 +v 0.875000 0.500000 2.187500 +v 0.375000 0.750000 2.187500 +v 0.375000 0.750000 2.312500 +v 0.875000 0.750000 2.312500 +v 0.875000 0.750000 2.187500 +v -0.875000 0.500000 2.312500 +v -0.375000 0.500000 2.312500 +v -0.875000 0.500000 2.187500 +v -0.375000 0.500000 2.187500 +v -0.875000 0.750000 2.187500 +v -0.875000 0.750000 2.312500 +v -0.375000 0.750000 2.312500 +v -0.375000 0.750000 2.187500 +v -0.875000 0.500000 1.875000 +v -0.125000 0.500000 1.875000 +v -0.875000 0.500000 1.125000 +v -0.125000 0.500000 1.125000 +v -0.875000 1.000000 1.125000 +v -0.875000 1.000000 1.875000 +v -0.125000 1.000000 1.875000 +v -0.125000 1.000000 1.125000 +v -0.750000 0.500000 -2.250000 +v 0.750000 0.500000 -2.250000 +v -0.750000 0.500000 -1.750000 +v 0.750000 0.500000 -1.750000 +v -0.750000 1.000000 -2.250000 +v 0.750000 1.000000 -2.250000 +v -0.750000 1.000000 -1.750000 +v 0.750000 1.000000 -1.750000 +vt 0.000000 0.833333 +vt 0.320000 0.000000 +vt 0.320000 0.833333 +vt 0.840000 0.333333 +vt 0.800000 0.000000 +vt 0.840000 0.000000 +vt 0.720000 0.833333 +vt 0.720000 0.000000 +vt 0.800000 0.041667 +vt 0.880000 0.333333 +vt 0.880000 0.000000 +vt 0.920000 0.333333 +vt 0.880000 0.000000 +vt 0.920000 0.000000 +vt 0.320000 0.000000 +vt 0.640000 0.750000 +vt 0.320000 0.750000 +vt 0.320000 0.791666 +vt 0.640000 0.791667 +vt 0.640000 0.833333 +vt 0.640000 0.000000 +vt 0.720000 0.041667 +vt 0.800000 0.875000 +vt 0.880000 0.708333 +vt 0.880000 0.875000 +vt 0.640000 0.958333 +vt 0.480000 0.833333 +vt 0.640000 0.833333 +vt 0.280000 1.000000 +vt 0.160000 1.000000 +vt 0.160000 0.833333 +vt 0.160000 0.833333 +vt 0.000000 1.000000 +vt 0.000000 0.833333 +vt 0.640000 0.791667 +vt 0.480000 0.916667 +vt 0.320000 0.958333 +vt 0.320000 0.916667 +vt 0.320000 0.791667 +vt 0.480000 0.791667 +vt 0.760000 0.833333 +vt 0.800000 0.916666 +vt 0.760000 0.916667 +vt 0.906131 0.580162 +vt 0.880000 0.568887 +vt 0.890824 0.541667 +vt 0.400000 0.973065 +vt 0.420000 0.958333 +vt 0.420000 0.973065 +vt 0.320000 1.000000 +vt 0.340000 0.958333 +vt 0.340000 1.000000 +vt 0.460000 0.987796 +vt 0.480000 0.973065 +vt 0.480000 0.987796 +vt 0.360000 0.958333 +vt 0.340000 0.973065 +vt 0.340000 0.958333 +vt 0.760000 0.996828 +vt 0.780000 0.955161 +vt 0.780000 0.996828 +vt 0.380000 0.973065 +vt 0.400000 0.958333 +vt 0.400000 0.973065 +vt 0.360000 0.973065 +vt 0.340000 0.987796 +vt 0.780000 0.996828 +vt 0.800000 0.955161 +vt 0.800000 0.996828 +vt 0.380000 0.987796 +vt 0.400000 0.987796 +vt 0.380000 0.987796 +vt 0.360000 0.973065 +vt 0.380000 0.973065 +vt 0.940000 0.583333 +vt 0.960000 0.666667 +vt 0.940000 0.666667 +vt 0.440000 0.973065 +vt 0.460000 0.958333 +vt 0.460000 0.973065 +vt 0.380000 0.958333 +vt 0.420000 0.987796 +vt 0.440000 0.973065 +vt 0.440000 0.987796 +vt 0.440000 0.987796 +vt 0.460000 0.987796 +vt 0.916955 0.571129 +vt 0.936955 0.556398 +vt 0.936955 0.571129 +vt 0.770824 0.916666 +vt 0.796955 0.927941 +vt 0.786131 0.955161 +vt 0.420000 0.973065 +vt 0.440000 0.958333 +vt 0.916955 0.556398 +vt 0.936955 0.541667 +vt 0.920000 0.250000 +vt 0.960000 0.333333 +vt 0.920000 0.333333 +vt 0.460000 0.973065 +vt 0.480000 0.958333 +vt 0.400000 0.987796 +vt 0.420000 0.987796 +vt 0.920000 0.083333 +vt 0.960000 0.166667 +vt 0.920000 0.166667 +vt 0.940000 0.666667 +vt 0.920000 0.708333 +vt 0.920000 0.666667 +vt 0.920000 0.583333 +vt 0.940000 0.666667 +vt 0.920000 0.666667 +vt 0.960000 0.250000 +vt 0.920000 0.166667 +vt 0.960000 0.166667 +vt 0.800000 0.708333 +vt 0.920000 0.583333 +vt 0.920000 0.708333 +vt 0.640000 0.958333 +vt 0.760000 0.833333 +vt 0.760000 0.958333 +vt 0.960000 0.458333 +vt 0.880000 0.333333 +vt 0.960000 0.333333 +vt 0.960000 0.958333 +vt 0.880000 0.833333 +vt 0.960000 0.833333 +vt 0.880000 1.000000 +vt 0.800000 0.875000 +vt 0.880000 0.875000 +vt 0.880000 0.708333 +vt 0.960000 0.833333 +vt 0.880000 0.833333 +vt 1.000000 0.083333 +vt 0.920000 0.000000 +vt 1.000000 0.000000 +vt 0.880000 0.541667 +vt 0.960000 0.458333 +vt 0.960000 0.541667 +vt 0.800000 0.583333 +vt 0.880000 0.333333 +vt 0.880000 0.583333 +vt 0.000000 0.000000 +vt 0.800000 0.333333 +vt 0.760000 0.000000 +vt 0.800000 0.791666 +vt 0.760000 0.833333 +vt 0.880000 0.333333 +vt 0.640000 0.000000 +vt 0.680000 0.000000 +vt 0.720000 0.791667 +vt 0.680000 0.833333 +vt 0.800000 0.708333 +vt 0.480000 0.958333 +vt 0.280000 0.833333 +vt 0.320000 0.875000 +vt 0.320000 0.958333 +vt 0.160000 1.000000 +vt 0.480000 0.791667 +vt 0.480000 0.958333 +vt 0.800000 0.833333 +vt 0.916955 0.552942 +vt 0.916955 0.568887 +vt 0.890824 0.580162 +vt 0.880000 0.552942 +vt 0.906131 0.541667 +vt 0.400000 0.958333 +vt 0.320000 0.958333 +vt 0.760000 0.955161 +vt 0.380000 0.958333 +vt 0.360000 0.987796 +vt 0.780000 0.955161 +vt 0.960000 0.583333 +vt 0.440000 0.958333 +vt 0.360000 0.958333 +vt 0.760000 0.943886 +vt 0.760000 0.927941 +vt 0.786131 0.916666 +vt 0.796955 0.943886 +vt 0.770824 0.955161 +vt 0.420000 0.958333 +vt 0.916955 0.541667 +vt 0.960000 0.250000 +vt 0.460000 0.958333 +vt 0.960000 0.083333 +vt 0.940000 0.708333 +vt 0.940000 0.583333 +vt 0.920000 0.250000 +vt 0.800000 0.583333 +vt 0.640000 0.833333 +vt 0.880000 0.458333 +vt 0.880000 0.958333 +vt 0.800000 1.000000 +vt 0.960000 0.708333 +vt 0.920000 0.083333 +vt 0.880000 0.458333 +vt 0.800000 0.333333 +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.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 -1.0000 0.0000 0.0000 +vn 0.7071 0.0000 0.7071 +vn -0.7071 0.0000 0.7071 +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.3827 0.9239 0.0000 +vn -0.9239 0.3827 0.0000 +s off +f 2/1/1 3/2/1 1/3/1 +f 8/4/2 11/5/2 7/6/2 +f 4/7/3 2/8/3 10/9/3 +f 4/10/4 7/6/4 3/11/4 +f 1/12/5 6/13/5 2/14/5 +f 11/15/6 10/16/6 9/17/6 +f 5/18/7 10/16/7 6/19/7 +f 1/20/8 3/21/8 11/22/8 +f 20/23/5 22/24/5 17/25/5 +f 14/26/3 24/27/3 19/28/3 +f 24/29/1 16/30/1 15/31/1 +f 13/32/4 16/33/4 14/34/4 +f 24/27/9 20/35/9 19/28/9 +f 18/36/10 22/37/10 21/38/10 +f 18/36/8 15/39/8 13/40/8 +f 58/41/5 62/42/5 57/43/5 +f 25/44/5 54/45/5 50/46/5 +f 28/47/11 29/48/11 27/49/11 +f 65/50/8 69/51/8 67/52/8 +f 52/53/12 53/54/12 51/55/12 +f 30/56/13 31/57/13 29/58/13 +f 57/59/8 61/60/8 59/61/8 +f 50/62/14 51/63/14 49/64/14 +f 32/65/15 33/66/15 31/57/15 +f 60/67/3 63/68/3 58/69/3 +f 48/70/16 49/64/16 47/71/16 +f 33/72/16 36/73/16 35/74/16 +f 63/75/1 61/76/1 62/77/1 +f 46/78/15 47/79/15 45/80/15 +f 36/73/14 37/81/14 35/74/14 +f 56/82/17 26/83/17 55/84/17 +f 44/85/13 45/80/13 43/86/13 +f 38/87/12 39/88/12 37/89/12 +f 28/90/5 40/91/5 36/92/5 +f 25/93/11 43/94/11 26/83/11 +f 40/95/18 41/96/18 39/88/18 +f 59/97/4 64/98/4 60/99/4 +f 54/100/18 55/101/18 53/54/18 +f 42/102/17 27/49/17 41/103/17 +f 66/104/5 70/105/5 65/106/5 +f 68/107/3 71/108/3 66/109/3 +f 71/110/1 69/111/1 70/112/1 +f 67/113/4 72/114/4 68/115/4 +f 75/116/6 74/117/6 73/118/6 +f 79/119/1 77/120/1 78/121/1 +f 76/122/3 79/123/3 74/124/3 +f 73/125/8 77/126/8 75/127/8 +f 75/128/4 80/129/4 76/130/4 +f 74/131/5 78/132/5 73/133/5 +f 86/134/3 84/135/3 82/136/3 +f 87/137/8 81/138/8 83/139/8 +f 85/140/4 82/141/4 81/142/4 +f 2/1/1 4/143/1 3/2/1 +f 8/4/2 12/144/2 11/5/2 +f 2/8/3 6/145/3 10/9/3 +f 10/9/3 12/146/3 4/7/3 +f 12/146/3 8/147/3 4/7/3 +f 4/10/4 8/4/4 7/6/4 +f 1/12/5 5/148/5 6/13/5 +f 11/15/6 12/149/6 10/16/6 +f 5/18/7 9/17/7 10/16/7 +f 3/21/8 7/150/8 11/22/8 +f 11/22/8 9/151/8 1/20/8 +f 9/151/8 5/152/8 1/20/8 +f 20/23/5 23/153/5 22/24/5 +f 14/26/3 16/154/3 24/27/3 +f 15/31/1 21/155/1 24/29/1 +f 21/155/1 22/156/1 24/29/1 +f 22/156/1 23/157/1 24/29/1 +f 13/32/4 15/158/4 16/33/4 +f 24/27/9 23/159/9 20/35/9 +f 18/36/10 17/160/10 22/37/10 +f 18/36/8 21/38/8 15/39/8 +f 58/41/5 63/161/5 62/42/5 +f 46/162/5 44/163/5 25/44/5 +f 25/44/5 56/164/5 54/45/5 +f 54/45/5 52/165/5 50/46/5 +f 50/46/5 48/166/5 46/162/5 +f 46/162/5 25/44/5 50/46/5 +f 28/47/11 30/167/11 29/48/11 +f 65/50/8 70/168/8 69/51/8 +f 52/53/12 54/100/12 53/54/12 +f 30/56/13 32/65/13 31/57/13 +f 57/59/8 62/169/8 61/60/8 +f 50/62/14 52/170/14 51/63/14 +f 32/65/15 34/171/15 33/66/15 +f 60/67/3 64/172/3 63/68/3 +f 48/70/16 50/62/16 49/64/16 +f 33/72/16 34/171/16 36/73/16 +f 63/75/1 64/173/1 61/76/1 +f 46/78/15 48/174/15 47/79/15 +f 36/73/14 38/175/14 37/81/14 +f 56/82/17 25/93/17 26/83/17 +f 44/85/13 46/78/13 45/80/13 +f 38/87/12 40/95/12 39/88/12 +f 32/176/5 30/177/5 28/90/5 +f 28/90/5 42/178/5 40/91/5 +f 40/91/5 38/179/5 36/92/5 +f 36/92/5 34/180/5 32/176/5 +f 32/176/5 28/90/5 36/92/5 +f 25/93/11 44/181/11 43/94/11 +f 40/95/18 42/182/18 41/96/18 +f 59/97/4 61/183/4 64/98/4 +f 54/100/18 56/184/18 55/101/18 +f 42/102/17 28/47/17 27/49/17 +f 66/104/5 71/185/5 70/105/5 +f 68/107/3 72/186/3 71/108/3 +f 71/110/1 72/187/1 69/111/1 +f 67/113/4 69/188/4 72/114/4 +f 75/116/6 76/189/6 74/117/6 +f 79/119/1 80/190/1 77/120/1 +f 76/122/3 80/191/3 79/123/3 +f 73/125/8 78/192/8 77/126/8 +f 75/128/4 77/193/4 80/129/4 +f 74/131/5 79/194/5 78/132/5 +f 86/134/3 88/195/3 84/135/3 +f 87/137/8 85/196/8 81/138/8 +f 85/140/4 86/197/4 82/141/4 From 907ab2f7b480add8a8723d2e70b43f906c4303f3 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Wed, 3 May 2023 19:20:24 -0500 Subject: [PATCH 061/285] fixing the texture because it wants to be crappy --- .../hbm/textures/models/trinkets/Microwave.png | Bin 1788 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/main/resources/assets/hbm/textures/models/trinkets/Microwave.png diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/Microwave.png b/src/main/resources/assets/hbm/textures/models/trinkets/Microwave.png deleted file mode 100644 index 13afba352dcb8175b35341cb00bb585beeb37eb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1788 zcmVPx#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D29ZfbK~#8N?ORK4 z6h{!Q?wQ^7+C;1kaiS1VKuB-`5i6$%iJZ7ZxpB)0Df|d7CjTI3t~nx3L6IzxTOuJL zD-j_INrXb;AQB9T?cJH_d31Na>KPj?UVH7Gh4o{;Rl9qtduO()tE+0d%Yyn~dV1Ox z&4KXr>C?W?7$sy;?^_H_0GR2nvRhDTKvC~oR01gKF3i%bBx|>2z2Pmo%5FhV0X&&` z;>~_^&9mDS!UovUZcvo<^JOvWIKi8kn7CH7H^j}GH>uTX(bcP0yXyJ*`C`Q22!i1A zqB#<5$q3HP&C$h+7uVH$0b3G4FXp-43#c@ps5eC~=DFSr*!LQ+@7>_Khf6wc4W;CX zv78_T8KX#w1{oWZrG=Nj-!57k!)Et36^QW9 zbWPaH&)Kd(*9{hQ4B?*-MpLx8HmE(+8ba_%+lQMyK;Q=&ZtNBTtg`{kC^OHDb74s7 zLkRqOkY8_tkuIk}AfdWG>NTmc>hsKVEk(`EdS*h1g4JIaqxKHOkqCy3 z)>0j`BuOaEQV2oP`1rW%i$UW)tu@u^b^7)8ZAb5gkM*BLi|CejtZ2Pn^j%Vu=RUO_ zt2dYwP;rfqhmXdb`_O}1Ye0Z{G4G%I?ijpXBMXQ*M%1DPDiaO7!9!pBVcpSDVMPCwy zu4GXRA+=rK>%#f-@6*|{r(8WuNDb8&u>oVtn9&rfy$k__B%{o=Wn#c^;QB}uZB9?JMj{t)TF+mf|a%5OA z&TPX&XbU4KbN9GY(bo$|>m$}j_zu3U$;fC}d#%t;K@Uh6M24WF!;N!e3mW(Bb_h?L z#u7-}65u)qVgg)pNdun^YP zJx7Bue2)1Sv#bf80%a9@Av9*`lzM@|+gZ_iHF(t;u-YkRX0G_BmmAIHgG;SkH7n2ODQtjf#p+VtI*=( zb>36Vg^=$$@4T&pp$kA#lk#%}>o!tZ3*0#ZZ>YLW)}4j20$8^z#K{%Bp~@Sr%rIZ` zc51E#oQkls)S%3d5m#oeG{0_A;Q2mTV<^)Z9XRlY%PTNiQ*(Trbe55nxtzJ?+=Eyt zs@LljMG-x|bI0`!ihc(l{V?#CdFG>^#*W;bX#A1q6w1yIHY*v2pIFbzBT(R##3>x!g;^^YNjC?w7w zuuP8ZiirT0niozubBQ5d?+LWS? zi%|*LBqlG>F8hRY6Gn}J1ppf$Rn|O|s)#7T+K-{`U@%i5$pl&nCT$F32o2yo0s+l1 zk%9m?-ynAVN-Y+58y!m7fXlD}UoQN-0vCWA<+rkYVvL0@yarr9yTH{)gggjU z4TiFf$gs>$7_kj#pJ`)ZL#@-0vb0Tx+i-v2j6eXNhzeotjahNW>U`u*Iw7r>F%Fu; z<3@~9Hh>nX>2eAq From 76756f02e85da12e2374b25b06db035d0f4821ba Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Wed, 3 May 2023 19:28:46 -0500 Subject: [PATCH 062/285] intellij being dumb and not seeing files moment --- .../hbm/textures/models/trinkets/microwave.png | Bin 0 -> 566 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/models/trinkets/microwave.png diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/microwave.png b/src/main/resources/assets/hbm/textures/models/trinkets/microwave.png new file mode 100644 index 0000000000000000000000000000000000000000..82a5c22a44f90fea0a359d8b8d3c99ead67c999a GIT binary patch literal 566 zcmV-60?GY}P)Px$@JU2LRCr$PS+Puz0xpk$g+W;^`InA7%Z|37`TpRe*>zlj+>0GF1yu0hub`Vuzqh zW0`}8#!K}5U+_%};SnY1a)$gP{K@_#V4xgch7q0$aK1hxg3T>}9HNTlz8)o{T_gdy zm(Up>6%ZqkEx>72b6queiHB> zt7^$_s|k$LR%7$g4|vO-xZKs_1oM>S3v9Z>IvvcI95Q8 z)la4X6413ltAKt2T%7`r&w^Z&Puc=0rb`N+Nv1%GKvVf70jZcR#cv7)px+qLo?g6( zdlZbxS!e7`z>7D5RP<^x}0 Date: Wed, 3 May 2023 20:17:10 -0500 Subject: [PATCH 063/285] added accelerated compatibility to other components such as the DFC and batteries, also added some highly requested compatibility to fluid tanks. --- .../machine/TileEntityCoreEmitter.java | 27 ++++++------ .../machine/TileEntityCoreInjector.java | 6 +-- .../machine/TileEntityCoreReceiver.java | 8 ++-- .../machine/TileEntityCoreStabilizer.java | 12 +++--- .../storage/TileEntityMachineBattery.java | 24 ++++------- .../storage/TileEntityMachineFluidTank.java | 42 +++++++++++++++---- 6 files changed, 70 insertions(+), 49 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java index 5dd663165..085f1d9ad 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -1,7 +1,8 @@ package com.hbm.tileentity.machine; -import java.util.List; - +import api.hbm.block.ILaserable; +import api.hbm.energy.IEnergyUser; +import api.hbm.fluid.IFluidStandardReceiver; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.inventory.container.ContainerCoreEmitter; import com.hbm.inventory.fluid.FluidType; @@ -11,10 +12,6 @@ import com.hbm.inventory.gui.GUICoreEmitter; import com.hbm.lib.ModDamageSource; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; - -import api.hbm.block.ILaserable; -import api.hbm.energy.IEnergyUser; -import api.hbm.fluid.IFluidStandardReceiver; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -35,6 +32,8 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; 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 IEnergyUser, IFluidAcceptor, ILaserable, IFluidStandardReceiver, SimpleComponent, IGUIProvider { @@ -311,50 +310,50 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne return "dfc_emitter"; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getEnergyStored(Context context, Arguments args) { return new Object[] {getPower()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getMaxEnergy(Context context, Arguments args) { return new Object[] {getMaxPower()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getCryogel(Context context, Arguments args) { return new Object[] {tank.getFill()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInput(Context context, Arguments args) { return new Object[] {watts}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {getPower(), getMaxPower(), tank.getFill(), watts, isOn}; } - @Callback + @Callback(direct = true, limit = 2) @Optional.Method(modid = "OpenComputers") public Object[] isActive(Context context, Arguments args) { return new Object[] {isOn}; } - @Callback + @Callback(direct = true, limit = 2) @Optional.Method(modid = "OpenComputers") public Object[] setActive(Context context, Arguments args) { isOn = args.checkBoolean(0); return new Object[] {}; } - @Callback + @Callback(direct = true, limit = 2) @Optional.Method(modid = "OpenComputers") public Object[] setInput(Context context, Arguments args) { int newOutput = args.checkInteger(0); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java index 5b7e90266..7285639bd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java @@ -200,19 +200,19 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl return "dfc_injector"; } - @Callback + @Callback(direct = true, limit = 2) @Optional.Method(modid = "OpenComputers") public Object[] getFirstFuel(Context context, Arguments args) { return new Object[] {tanks[0].getFill()}; } - @Callback + @Callback(direct = true, limit = 2) @Optional.Method(modid = "OpenComputers") public Object[] getSecondFuel(Context context, Arguments args) { return new Object[] {tanks[1].getFill()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {tanks[0].getFill(), tanks[1].getFill()}; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java index d3e203e67..51b79e242 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java @@ -191,25 +191,25 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn return "dfc_receiver"; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInput(Context context, Arguments args) { return new Object[] {joules}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getOutput(Context context, Arguments args) { return new Object[] {power}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getCryogel(Context context, Arguments args) { return new Object[] {tank.getFill()}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {joules, power, tank.getFill()}; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java index 27f060d89..de41bd82a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java @@ -173,25 +173,25 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I return "dfc_stabilizer"; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getEnergyStored(Context context, Arguments args) { return new Object[] {power}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getMaxEnergy(Context context, Arguments args) { return new Object[] {maxPower}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInput(Context context, Arguments args) { return new Object[] {watts}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getDurability(Context context, Arguments args) { if(slots[0] != null && slots[0].getItem() == ModItems.ams_lens && ItemLens.getLensDamage(slots[0]) < ((ItemLens)ModItems.ams_lens).maxDamage) { @@ -200,7 +200,7 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I return new Object[] {"N/A"}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { Object lens_damage_buf; @@ -212,7 +212,7 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I return new Object[] {power, maxPower, watts, lens_damage_buf}; } - @Callback + @Callback(direct = true, limit = 2) @Optional.Method(modid = "OpenComputers") public Object[] setInput(Context context, Arguments args) { int newOutput = args.checkInteger(0); 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 1043fb572..a0463756c 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java @@ -1,10 +1,6 @@ package com.hbm.tileentity.machine.storage; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - +import api.hbm.energy.*; import com.hbm.blocks.machine.MachineBattery; import com.hbm.inventory.container.ContainerMachineBattery; import com.hbm.inventory.gui.GUIMachineBattery; @@ -12,13 +8,6 @@ import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; - -import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyConductor; -import api.hbm.energy.IEnergyConnector; -import api.hbm.energy.IEnergyUser; -import api.hbm.energy.IPowerNet; -import api.hbm.energy.PowerNet; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -36,6 +25,11 @@ import net.minecraft.util.MathHelper; 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.Set; + @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) public class TileEntityMachineBattery extends TileEntityMachineBase implements IEnergyUser, IPersistentNBT, SimpleComponent, IGUIProvider { @@ -379,19 +373,19 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I return "ntm_energy_storage"; // need a way to somehow detect the first word of the energy storage block so people wont get confused when it comes to multiple energy storage blocks } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getEnergyStored(Context context, Arguments args) { return new Object[] {getPower()}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getMaxEnergy(Context context, Arguments args) { return new Object[] {getMaxPower()}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {getPower(), getMaxPower()}; 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 0036b77d2..327af7299 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -1,9 +1,6 @@ package com.hbm.tileentity.machine.storage; -import java.util.ArrayList; -import java.util.List; -import java.util.Random; - +import api.hbm.fluid.IFluidStandardTransceiver; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.explosion.vanillant.ExplosionVNT; @@ -35,11 +32,13 @@ import com.hbm.tileentity.IRepairable; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.ParticleUtil; import com.hbm.util.fauxpointtwelve.DirPos; - -import api.hbm.fluid.IFluidStandardTransceiver; +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 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; @@ -50,6 +49,11 @@ import net.minecraft.world.Explosion; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; +import java.util.ArrayList; +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 IFluidContainer, IFluidSource, IFluidAcceptor, IFluidStandardTransceiver, IPersistentNBT, IOverpressurable, IGUIProvider, IRepairable { public FluidTank tank; @@ -438,4 +442,28 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements this.hasExploded = false; this.markChanged(); } -} + + public String getComponentName() { + return "ntm_fluid_tank"; + } + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getFluidStored(Context context, Arguments args) { + return new Object[] {tank.getFill()}; + } + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getMaxStored(Context context, Arguments args) { + return new Object[] {tank.getMaxFill()}; + } + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getTypeStored(Context context, Arguments args) { + return new Object[] {tank.getTankType()}; + } + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getInfo(Context context, Arguments args) { + return new Object[]{tank.getFill(), tank.getMaxFill(), tank.getTankType().getName()}; + } +} \ No newline at end of file From 13e534be653a554c89d481eb4d41fe172812a83c Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Wed, 3 May 2023 21:02:55 -0500 Subject: [PATCH 064/285] Fixed some dumb compatibility issues in the fluid tanks --- .../machine/storage/TileEntityBarrel.java | 54 ++++++++++++++----- .../storage/TileEntityMachineFluidTank.java | 12 +++-- 2 files changed, 51 insertions(+), 15 deletions(-) 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 9c26e28d9..d6957ce01 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java @@ -1,10 +1,6 @@ package com.hbm.tileentity.machine.storage; -import java.util.ArrayList; -import java.util.HashSet; -import java.util.List; -import java.util.Set; - +import api.hbm.fluid.*; import com.hbm.blocks.ModBlocks; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidSource; @@ -21,14 +17,13 @@ import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.fauxpointtwelve.DirPos; - -import api.hbm.fluid.IFluidConductor; -import api.hbm.fluid.IFluidConnector; -import api.hbm.fluid.IFluidStandardTransceiver; -import api.hbm.fluid.IPipeNet; -import api.hbm.fluid.PipeNet; +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.block.Block; import net.minecraft.client.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; @@ -39,7 +34,13 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.EnumSkyBlock; import net.minecraft.world.World; -public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcceptor, IFluidSource, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider { +import java.util.ArrayList; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "opencomputers")}) +public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcceptor, IFluidSource, SimpleComponent, IFluidStandardTransceiver, IPersistentNBT, IGUIProvider { public FluidTank tank; public short mode = 0; @@ -349,4 +350,33 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIBarrel(player.inventory, this); } + + @Override + public String getComponentName() { + return "ntm_fluid_tank"; + } + + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getFluidStored(Context context, Arguments args) { + return new Object[] {tank.getFill()}; + } + + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getMaxStored(Context context, Arguments args) { + return new Object[] {tank.getMaxFill()}; + } + + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getTypeStored(Context context, Arguments args) { + return new Object[] {tank.getTankType().getName()}; + } + + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getInfo(Context context, Arguments args) { + return new Object[]{tank.getFill(), tank.getMaxFill(), tank.getTankType().getName()}; + } } 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 327af7299..91174eb4a 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -39,6 +39,7 @@ 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.client.gui.GuiScreen; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -54,7 +55,7 @@ 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 IFluidContainer, IFluidSource, IFluidAcceptor, IFluidStandardTransceiver, IPersistentNBT, IOverpressurable, IGUIProvider, IRepairable { +public class TileEntityMachineFluidTank extends TileEntityMachineBase implements IFluidContainer, SimpleComponent, IFluidSource, IFluidAcceptor, IFluidStandardTransceiver, IPersistentNBT, IOverpressurable, IGUIProvider, IRepairable { public FluidTank tank; public short mode = 0; @@ -443,24 +444,29 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements this.markChanged(); } + @Override public String getComponentName() { - return "ntm_fluid_tank"; + return "ntm_tank"; } + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getFluidStored(Context context, Arguments args) { return new Object[] {tank.getFill()}; } + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getMaxStored(Context context, Arguments args) { return new Object[] {tank.getMaxFill()}; } + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getTypeStored(Context context, Arguments args) { - return new Object[] {tank.getTankType()}; + return new Object[] {tank.getTankType().getName()}; } + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { From 3983285c288e41e002873c9188143c5f0c51db45 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 4 May 2023 13:08:37 +0200 Subject: [PATCH 065/285] a curve that doesn't actually curve --- src/main/java/com/hbm/blocks/ModBlocks.java | 6 +- .../hbm/blocks/rail/RailStandardCurve.java | 132 ++++++++++++++++++ .../hbm/blocks/rail/RailStandardStraight.java | 2 +- .../hbm/entity/train/EntityRailCarBase.java | 10 +- .../com/hbm/entity/train/TrainCargoTram.java | 29 +++- 5 files changed, 174 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/rail/RailStandardCurve.java diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index d806d1efc..fe53bd84c 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -11,6 +11,7 @@ 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.RailStandardCurve; import com.hbm.blocks.rail.RailStandardStraight; import com.hbm.blocks.siege.*; import com.hbm.blocks.test.*; @@ -1085,8 +1086,9 @@ public class ModBlocks { public static Block rail_narrow; public static Block rail_highspeed; public static Block rail_booster; - + public static Block rail_large_straight; + public static Block rail_large_curve; public static Block statue_elb; public static Block statue_elb_g; @@ -2113,6 +2115,7 @@ public class ModBlocks { 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_large_straight = new RailStandardStraight().setBlockName("rail_large_straight").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":block_steel"); + rail_large_curve = new RailStandardCurve().setBlockName("rail_large_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":block_steel"); 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"); @@ -3331,6 +3334,7 @@ public class ModBlocks { GameRegistry.registerBlock(rail_highspeed, ItemBlockBase.class, rail_highspeed.getUnlocalizedName()); GameRegistry.registerBlock(rail_booster, ItemBlockBase.class, rail_booster.getUnlocalizedName()); register(rail_large_straight); + register(rail_large_curve); //Crate GameRegistry.registerBlock(crate, crate.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java new file mode 100644 index 000000000..de7a478a1 --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java @@ -0,0 +1,132 @@ +package com.hbm.blocks.rail; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.lib.Library; +import com.hbm.util.fauxpointtwelve.BlockPos; + +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +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 RailStandardCurve extends BlockDummyable implements IRailNTM { + + public RailStandardCurve() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return null; + } + + @Override + public int getRenderType() { + return 0; + } + + @Override + public Vec3 getSnappingPos(World world, int x, int y, int z, double trainX, double trainY, double trainZ) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new RailLeaveInfo()); + } + + @Override + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailLeaveInfo info) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); + } + + /* Very simple function determining the snapping position and adding the motion value to it, if desired. */ + public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailLeaveInfo info) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return Vec3.createVectorHelper(trainX, trainY, trainZ); + int cX = pos[0]; + int cY = pos[1]; + int cZ = pos[2]; + int meta = world.getBlockMetadata(cX, cY, cZ) - this.offset; + ForgeDirection dir = ForgeDirection.getOrientation(meta); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + double turnRadius = 4.5D; + + Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); + double axisX = cX + 0.5 + dir.offsetX * 0.5 + rot.offsetX * turnRadius; + double axisZ = cZ + 0.5 + dir.offsetZ * 0.5 + rot.offsetZ * turnRadius; + + Vec3 dist = Vec3.createVectorHelper(vec.xCoord - axisX, 0, vec.zCoord - axisZ); + dist = dist.normalize(); + dist.xCoord *= turnRadius; + dist.zCoord *= turnRadius; + + if(speed == 0) { + info.dist(0).pos(new BlockPos(x, y, z)); + return Vec3.createVectorHelper(axisX + dist.xCoord, y, axisZ + dist.zCoord); + } + + double angleDeg = -Math.atan(dist.zCoord / dist.xCoord) * 180D / Math.PI; + double length90Deg = turnRadius * Math.PI / 2D; + double angularChange = speed / length90Deg * 90D; + + ForgeDirection moveDir = ForgeDirection.UNKNOWN; + + if(Math.abs(motionX) > Math.abs(motionZ)) { + moveDir = motionX > 0 ? Library.POS_X : Library.NEG_X; + } else { + moveDir = motionZ > 0 ? Library.POS_Z : Library.NEG_Z; + } + + if(moveDir == dir || moveDir == rot.getOpposite()) { + angularChange *= -1; + } + + double effAngle = angleDeg + angularChange; + + if(effAngle > 90) { + double angleOvershoot = effAngle - 90D; + double lengthOvershoot = angleOvershoot * length90Deg / 90D; + info.dist(lengthOvershoot).pos(new BlockPos(cX - dir.offsetX * 4 + rot.offsetX * 4, y, cZ - dir.offsetZ * 4 + rot.offsetZ * 4)); + return Vec3.createVectorHelper(axisX - dir.offsetX * turnRadius + rot.offsetX * turnRadius, y, axisZ - dir.offsetZ * turnRadius + rot.offsetZ * turnRadius); + } + + if(effAngle < 0) { + double angleOvershoot = -effAngle; + double lengthOvershoot = angleOvershoot * length90Deg / 90D; + info.dist(lengthOvershoot).pos(new BlockPos(cX + dir.offsetX , y, cZ + dir.offsetZ)); + return Vec3.createVectorHelper(axisX + 0.5 + dir.offsetX * 0.5, y, axisZ * 0.5 + dir.offsetZ * 0.5); + } + + double radianChange = angularChange * Math.PI / 180D; + dist.rotateAroundY((float) -radianChange); + + return Vec3.createVectorHelper(axisX + dist.xCoord, y, axisZ + dist.zCoord); + } + + @Override + public TrackGauge getGauge(World world, int x, int y, int z) { + return TrackGauge.STANDARD; + } + + @Override + public int[] getDimensions() { + return new int[] {0, 0, 4, 0, 4, 0}; + } + + @Override + public int getOffset() { + return 0; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + int meta = world.getBlockMetadata(x, y, z); + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + 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/rail/RailStandardStraight.java b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java index 91e51c8ca..512ca9aaa 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java @@ -74,7 +74,7 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); if(speed == 0) { - return vec; + //return vec; } if(dir == Library.POS_X || dir == Library.NEG_X) { diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index deefbf4db..00d27e963 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -75,7 +75,7 @@ public abstract class EntityRailCarBase extends Entity { anchor = this.getCurentAnchorPos(); //reset origin to new position Vec3 frontPos = getRelPosAlongRail(anchor, this.getLengthSpan()); - Vec3 backPos = getRelPosAlongRail(anchor, this.getLengthSpan()); + Vec3 backPos = getRelPosAlongRail(anchor, -this.getLengthSpan()); if(frontPos == null || backPos == null) { this.derail(); @@ -92,9 +92,17 @@ public abstract class EntityRailCarBase extends Entity { float yaw = this.rotationYaw; Vec3 next = Vec3.createVectorHelper(posX, posY, posZ); + int it = 0; do { + it++; + + if(it > 30) { + this.derail(); + return null; + } + int x = anchor.getX(); int y = anchor.getY(); int z = anchor.getZ(); diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index c8c7160e4..900f1026d 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -4,6 +4,7 @@ import com.hbm.blocks.rail.IRailNTM.TrackGauge; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.DamageSource; +import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -26,10 +27,34 @@ public class TrainCargoTram extends EntityRailCarRidable { super(world); this.setSize(2F, 1F); } + + public double speed = 0; + public static final double maxSpeed = 0.5; + public static final double acceleration = 0.01; + public static final double deceleration = 0.75; @Override - public double getCurrentSpeed() { - return this.riddenByEntity instanceof EntityPlayer ? ((EntityPlayer) this.riddenByEntity).moveForward * 0.125D : 0; + public double getCurrentSpeed() { // in its current form, only call once per tick + + if(this.riddenByEntity instanceof EntityPlayer) { + + EntityPlayer player = (EntityPlayer) this.riddenByEntity; + + if(player.moveForward > 0) { + speed += acceleration; + } else if(player.moveForward < 0) { + speed -= acceleration; + } else { + speed *= deceleration; + } + + } else { + speed *= deceleration; + } + + speed = MathHelper.clamp_double(speed, -maxSpeed, maxSpeed); + + return speed; } @Override From c67bb8ad3aef58b7d40ff7ef31a088a3fb4fd0a8 Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 5 May 2023 14:39:34 +0200 Subject: [PATCH 066/285] i am in spain without the s --- .../hbm/blocks/rail/RailStandardCurve.java | 40 ++++++++++++++++-- .../hbm/entity/train/EntityRailCarBase.java | 11 +++-- .../entity/train/EntityRailCarRidable.java | 2 +- .../textures/blocks/stone_biome.desert.png | Bin 0 -> 377 bytes .../blocks/stone_biome_layer.desert.png | Bin 0 -> 390 bytes .../blocks/stone_biome_top.desert.png | Bin 0 -> 331 bytes 6 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_biome.desert.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_biome_layer.desert.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_biome_top.desert.png diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java index de7a478a1..08b824df4 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java @@ -1,12 +1,20 @@ package com.hbm.blocks.rail; +import java.util.ArrayList; +import java.util.List; + import com.hbm.blocks.BlockDummyable; import com.hbm.lib.Library; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.PlayerInformPacket; +import com.hbm.util.ParticleUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChatComponentText; import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -49,6 +57,11 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { ForgeDirection dir = ForgeDirection.getOrientation(meta); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + List context = new ArrayList(); + context.add("========================="); + + boolean debug = Math.abs(speed) < 2; + double turnRadius = 4.5D; Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); @@ -65,10 +78,16 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { return Vec3.createVectorHelper(axisX + dist.xCoord, y, axisZ + dist.zCoord); } + context.add("Speed: " + speed); + double angleDeg = -Math.atan(dist.zCoord / dist.xCoord) * 180D / Math.PI; double length90Deg = turnRadius * Math.PI / 2D; double angularChange = speed / length90Deg * 90D; + context.add("angleDeg: " + angleDeg); + context.add("length90Deg: " + length90Deg); + context.add("angularChange: " + angularChange); + ForgeDirection moveDir = ForgeDirection.UNKNOWN; if(Math.abs(motionX) > Math.abs(motionZ)) { @@ -77,29 +96,44 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { moveDir = motionZ > 0 ? Library.POS_Z : Library.NEG_Z; } - if(moveDir == dir || moveDir == rot.getOpposite()) { + context.add("moveDir: " + moveDir); + + if(moveDir == dir || moveDir == rot) { angularChange *= -1; } + context.add("angularChange: " + angularChange); + double effAngle = angleDeg + angularChange; + context.add("effAngle: " + effAngle); + if(effAngle > 90) { double angleOvershoot = effAngle - 90D; double lengthOvershoot = angleOvershoot * length90Deg / 90D; - info.dist(lengthOvershoot).pos(new BlockPos(cX - dir.offsetX * 4 + rot.offsetX * 4, y, cZ - dir.offsetZ * 4 + rot.offsetZ * 4)); + context.add("angleOvershoot: " + angleOvershoot); + context.add("lengthOvershoot: " + lengthOvershoot); + info.dist(lengthOvershoot).pos(new BlockPos(cX - dir.offsetX * 4 + rot.offsetX * 5, y, cZ - dir.offsetZ * 4 + rot.offsetZ * 5)); + if(debug) for(String s : context) System.out.println(s); return Vec3.createVectorHelper(axisX - dir.offsetX * turnRadius + rot.offsetX * turnRadius, y, axisZ - dir.offsetZ * turnRadius + rot.offsetZ * turnRadius); } if(effAngle < 0) { double angleOvershoot = -effAngle; double lengthOvershoot = angleOvershoot * length90Deg / 90D; + context.add("angleOvershoot: " + angleOvershoot); + context.add("lengthOvershoot: " + lengthOvershoot); info.dist(lengthOvershoot).pos(new BlockPos(cX + dir.offsetX , y, cZ + dir.offsetZ)); + ParticleUtil.spawnGasFlame(world, axisX + 0.5 + dir.offsetX * 0.5, y, axisZ * 0.5 + dir.offsetZ * 0.5, 0, 0.2, 0); + if(debug) for(String s : context) System.out.println(s); return Vec3.createVectorHelper(axisX + 0.5 + dir.offsetX * 0.5, y, axisZ * 0.5 + dir.offsetZ * 0.5); } double radianChange = angularChange * Math.PI / 180D; - dist.rotateAroundY((float) -radianChange); + dist.rotateAroundY((float) radianChange); + context.add("radianChange: " + radianChange); + if(debug) for(String s : context) System.out.println(s); return Vec3.createVectorHelper(axisX + dist.xCoord, y, axisZ + dist.zCoord); } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index 00d27e963..79df30ca0 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -3,6 +3,7 @@ package com.hbm.entity.train; import com.hbm.blocks.rail.IRailNTM; import com.hbm.blocks.rail.IRailNTM.RailLeaveInfo; import com.hbm.blocks.rail.IRailNTM.TrackGauge; +import com.hbm.util.ParticleUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import cpw.mods.fml.relauncher.Side; @@ -71,6 +72,9 @@ public abstract class EntityRailCarBase extends Entity { if(corePos == null) { this.derail(); } else { + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; this.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); anchor = this.getCurentAnchorPos(); //reset origin to new position @@ -80,7 +84,7 @@ public abstract class EntityRailCarBase extends Entity { if(frontPos == null || backPos == null) { this.derail(); } else { - this.rotationYaw = generateYaw(frontPos, backPos); + //this.rotationYaw = generateYaw(frontPos, backPos); } } } @@ -99,6 +103,7 @@ public abstract class EntityRailCarBase extends Entity { it++; if(it > 30) { + worldObj.createExplosion(this, posX, posY, posZ, 5F, false); this.derail(); return null; } @@ -109,7 +114,8 @@ public abstract class EntityRailCarBase extends Entity { Block block = worldObj.getBlock(x, y, z); Vec3 rot = Vec3.createVectorHelper(0, 0, 1); - rot.rotateAroundY(yaw); + rot.rotateAroundY((float) (yaw * Math.PI / 180D)); + if(block instanceof IRailNTM) { IRailNTM rail = (IRailNTM) block; @@ -156,7 +162,6 @@ public abstract class EntityRailCarBase extends Entity { public void derail() { isOnRail = false; this.setDead(); - worldObj.createExplosion(this, posX, posY, posZ, 1F, false); } @SideOnly(Side.CLIENT) diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index 837fcceb2..615db63b0 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -31,7 +31,7 @@ public abstract class EntityRailCarRidable extends EntityRailCarBase { public void updateRiderPosition() { Vec3 offset = getRiderSeatPosition(); - offset.rotateAroundY(this.rotationYaw); + offset.rotateAroundY((float) (this.rotationYaw * Math.PI / 180)); if(this.riddenByEntity != null) { this.riddenByEntity.setPosition(this.posX + offset.xCoord, this.posY + offset.yCoord, this.posZ + offset.zCoord); diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_biome.desert.png b/src/main/resources/assets/hbm/textures/blocks/stone_biome.desert.png new file mode 100644 index 0000000000000000000000000000000000000000..5d121421f906507d8caf3468c3e96ea747f0b4c1 GIT binary patch literal 377 zcmV-<0fzpGP)t+{VScN2)^+Eq_Y&?c=~JNs@?P9v3Nc_$@D#ZIs8ymEt};8 zfNZyldb{5im!GcmQB*BJ7!)tQzS%4%(WdU4-&ilkVc?wK09Y@^p%yRejzu+V@YSL}}l zaI(eP_Q^i=^m`NE_(6k)`uZm=%E9IE6TMw|=wI76K0Mjwr)%W9YI-^l`LEjj=er>9 zWubB--B}{vg`#T1pbe1fZ8m@Bz-Hb0odJ5H4VAuw93<0p;5Wn}>hnPkYzFLRR{*at1EJ;$rZIL1>srl~^FUgHjZ<%Z)0oi%HVyMrIW1Q|Y>&?EemK3hX^cHtr@PZM z?}I!5hkyF|FWw1qPYS6U=CusSJCT>IZIl9{ze%DW9Z0Q9z7qgEQHqLoqys-xBfbGw kM8kNb1E~QyOy(rM0Z}pnk8>f5R{#J207*qoM6N<$f?d_8<^TWy literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_biome_top.desert.png b/src/main/resources/assets/hbm/textures/blocks/stone_biome_top.desert.png new file mode 100644 index 0000000000000000000000000000000000000000..1c05ff0d1fc67d0560edf35385575c1af38be751 GIT binary patch literal 331 zcmV-R0kr;!P)gzh+SIs9G8;FPq*K_=|HZ`9ExaO$ql6ETT&{&?5cEuSYB4dM+YmN%2Ig+t{xVfag z5v`|^cH(~9LB@J`!%xYQu*G);0uUm*Rd13cLg!a;jPSN=_*@U(?b-0o5r z0FK&7OYGL}3=RmpMM)(cAYK^uqyl3@8)bIOofSvd4|dH?h_yU>teHU*iJx>}+?;>o d**YW&_6sbA35V46ElmIb002ovPDHLkV1oF~h<5-0 literal 0 HcmV?d00001 From 4433726af2b338d26bf77f2789bed095f2fb62d9 Mon Sep 17 00:00:00 2001 From: Bob Date: Fri, 5 May 2023 23:25:12 +0200 Subject: [PATCH 067/285] i fixed it and now it works even less --- .../hbm/blocks/rail/RailStandardCurve.java | 33 ++------- .../hbm/blocks/rail/RailStandardStraight.java | 17 +++-- .../hbm/entity/train/EntityRailCarBase.java | 23 +++++-- .../entity/train/EntityRailCarRidable.java | 2 +- .../com/hbm/entity/train/TrainCargoTram.java | 2 +- .../java/com/hbm/items/tool/ItemWandD.java | 67 ++++++++++++++++++- .../entity/item/RenderTrainCargoTram.java | 6 +- 7 files changed, 100 insertions(+), 50 deletions(-) diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java index 08b824df4..89658d741 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java @@ -57,11 +57,6 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { ForgeDirection dir = ForgeDirection.getOrientation(meta); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - List context = new ArrayList(); - context.add("========================="); - - boolean debug = Math.abs(speed) < 2; - double turnRadius = 4.5D; Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); @@ -78,16 +73,12 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { return Vec3.createVectorHelper(axisX + dist.xCoord, y, axisZ + dist.zCoord); } - context.add("Speed: " + speed); double angleDeg = -Math.atan(dist.zCoord / dist.xCoord) * 180D / Math.PI; + if(dir == Library.NEG_X) angleDeg += 90; double length90Deg = turnRadius * Math.PI / 2D; double angularChange = speed / length90Deg * 90D; - context.add("angleDeg: " + angleDeg); - context.add("length90Deg: " + length90Deg); - context.add("angularChange: " + angularChange); - ForgeDirection moveDir = ForgeDirection.UNKNOWN; if(Math.abs(motionX) > Math.abs(motionZ)) { @@ -96,44 +87,31 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { moveDir = motionZ > 0 ? Library.POS_Z : Library.NEG_Z; } - context.add("moveDir: " + moveDir); - - if(moveDir == dir || moveDir == rot) { + if(moveDir == dir || moveDir == rot.getOpposite()) { angularChange *= -1; } - context.add("angularChange: " + angularChange); - double effAngle = angleDeg + angularChange; - context.add("effAngle: " + effAngle); + if(Math.abs(speed) != 2)PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(new ChatComponentText(angleDeg + ""), 999, 3000), (EntityPlayerMP) world.playerEntities.get(0)); if(effAngle > 90) { double angleOvershoot = effAngle - 90D; double lengthOvershoot = angleOvershoot * length90Deg / 90D; - context.add("angleOvershoot: " + angleOvershoot); - context.add("lengthOvershoot: " + lengthOvershoot); - info.dist(lengthOvershoot).pos(new BlockPos(cX - dir.offsetX * 4 + rot.offsetX * 5, y, cZ - dir.offsetZ * 4 + rot.offsetZ * 5)); - if(debug) for(String s : context) System.out.println(s); + info.dist(-lengthOvershoot).pos(new BlockPos(cX - dir.offsetX * 4 + rot.offsetX * 5, y, cZ - dir.offsetZ * 4 + rot.offsetZ * 5)); return Vec3.createVectorHelper(axisX - dir.offsetX * turnRadius + rot.offsetX * turnRadius, y, axisZ - dir.offsetZ * turnRadius + rot.offsetZ * turnRadius); } if(effAngle < 0) { - double angleOvershoot = -effAngle; + double angleOvershoot = effAngle; double lengthOvershoot = angleOvershoot * length90Deg / 90D; - context.add("angleOvershoot: " + angleOvershoot); - context.add("lengthOvershoot: " + lengthOvershoot); info.dist(lengthOvershoot).pos(new BlockPos(cX + dir.offsetX , y, cZ + dir.offsetZ)); - ParticleUtil.spawnGasFlame(world, axisX + 0.5 + dir.offsetX * 0.5, y, axisZ * 0.5 + dir.offsetZ * 0.5, 0, 0.2, 0); - if(debug) for(String s : context) System.out.println(s); return Vec3.createVectorHelper(axisX + 0.5 + dir.offsetX * 0.5, y, axisZ * 0.5 + dir.offsetZ * 0.5); } double radianChange = angularChange * Math.PI / 180D; dist.rotateAroundY((float) radianChange); - context.add("radianChange: " + radianChange); - if(debug) for(String s : context) System.out.println(s); return Vec3.createVectorHelper(axisX + dist.xCoord, y, axisZ + dist.zCoord); } @@ -154,7 +132,6 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { @Override public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { - int meta = world.getBlockMetadata(x, y, z); this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); } diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java index 512ca9aaa..d8a030009 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java @@ -41,7 +41,6 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { @Override public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { - int meta = world.getBlockMetadata(x, y, z); this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); } @@ -84,11 +83,11 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { } else { targetX -= speed; } - vec.xCoord = MathHelper.clamp_double(targetX, x - 2, x + 3); + vec.xCoord = MathHelper.clamp_double(targetX, cX - 2, cX + 3); vec.yCoord = y; - vec.zCoord = z + 0.5; - info.dist(Math.abs(targetX - vec.xCoord)); - info.pos(new BlockPos(vec.xCoord + (motionX > 0 ? 1 : -1), y, z)); + vec.zCoord = cZ + 0.5; + info.dist(Math.abs(targetX - vec.xCoord) * -Math.signum(speed)); + info.pos(new BlockPos(cX + (motionX > 0 ? 3 : -3), y, cZ)); } else { double targetZ = trainZ; if(motionZ > 0) { @@ -96,11 +95,11 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { } else { targetZ -= speed; } - vec.xCoord = x + 0.5; + vec.xCoord = cX + 0.5; vec.yCoord = y; - vec.zCoord = MathHelper.clamp_double(targetZ, z - 2, z + 3); - info.dist(Math.abs(targetZ - vec.zCoord)); - info.pos(new BlockPos(x, y, vec.zCoord + (motionZ > 0 ? 1 : -1))); + vec.zCoord = MathHelper.clamp_double(targetZ, cZ - 2,cZ + 3); + info.dist(Math.abs(targetZ - vec.zCoord) * -Math.signum(speed)); + info.pos(new BlockPos(cX, y, cZ + (motionZ > 0 ? 3 : -3))); } return vec; diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index 79df30ca0..1d76b8b12 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -3,6 +3,10 @@ package com.hbm.entity.train; import com.hbm.blocks.rail.IRailNTM; import com.hbm.blocks.rail.IRailNTM.RailLeaveInfo; import com.hbm.blocks.rail.IRailNTM.TrackGauge; +import com.hbm.main.MainRegistry; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.PlayerInformPacket; +import com.hbm.util.ChatBuilder; import com.hbm.util.ParticleUtil; import com.hbm.util.fauxpointtwelve.BlockPos; @@ -10,7 +14,10 @@ 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.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -60,9 +67,11 @@ public abstract class EntityRailCarBase extends Entity { --this.turnProgress; this.setPosition(x, y, z); this.setRotation(this.rotationYaw, this.rotationPitch); + this.setRotation((float)this.trainYaw, this.rotationPitch); } else { this.setPosition(this.posX, this.posY, this.posZ); this.setRotation(this.rotationYaw, this.rotationPitch); + this.setRotation((float)this.trainYaw, this.rotationPitch); } } else { @@ -84,15 +93,16 @@ public abstract class EntityRailCarBase extends Entity { if(frontPos == null || backPos == null) { this.derail(); } else { - //this.rotationYaw = generateYaw(frontPos, backPos); + this.rotationYaw = generateYaw(frontPos, backPos); } } + + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(new ChatComponentText("Yaw: " + this.rotationYaw), 665, 3000), (EntityPlayerMP) worldObj.playerEntities.get(0)); } } public Vec3 getRelPosAlongRail(BlockPos anchor, double distanceToCover) { - double overshoot = 0; float yaw = this.rotationYaw; Vec3 next = Vec3.createVectorHelper(posX, posY, posZ); @@ -114,8 +124,7 @@ public abstract class EntityRailCarBase extends Entity { Block block = worldObj.getBlock(x, y, z); Vec3 rot = Vec3.createVectorHelper(0, 0, 1); - rot.rotateAroundY((float) (yaw * Math.PI / 180D)); - + rot.rotateAroundY((float) (-yaw * Math.PI / 180D)); if(block instanceof IRailNTM) { IRailNTM rail = (IRailNTM) block; @@ -124,9 +133,11 @@ public abstract class EntityRailCarBase extends Entity { RailLeaveInfo info = new RailLeaveInfo(); Vec3 prev = next; next = rail.getTravelLocation(worldObj, x, y, z, posX, posY, posZ, rot.xCoord, rot.yCoord, rot.zCoord, distanceToCover, info); - overshoot = info.overshoot; + distanceToCover = info.overshoot; anchor = info.pos; yaw = generateYaw(next, prev); + + //if(info.overshoot > 0) System.out.println("[" + (worldObj.getTotalWorldTime() % 100) + "] Left track " + ((Block) rail).getUnlocalizedName() + " with " + ((int)(info.overshoot * 100) / 100D) + "m more to go!"); } else { return null; @@ -135,7 +146,7 @@ public abstract class EntityRailCarBase extends Entity { return null; } - } while(overshoot != 0); //if there's still length to cover, keep going + } while(distanceToCover != 0); //if there's still length to cover, keep going return next; } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index 615db63b0..95dd63367 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -31,7 +31,7 @@ public abstract class EntityRailCarRidable extends EntityRailCarBase { public void updateRiderPosition() { Vec3 offset = getRiderSeatPosition(); - offset.rotateAroundY((float) (this.rotationYaw * Math.PI / 180)); + offset.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); if(this.riddenByEntity != null) { this.riddenByEntity.setPosition(this.posX + offset.xCoord, this.posY + offset.yCoord, this.posZ + offset.zCoord); diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index 900f1026d..5f76989a4 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -69,7 +69,7 @@ public class TrainCargoTram extends EntityRailCarRidable { @Override public Vec3 getRiderSeatPosition() { - return Vec3.createVectorHelper(0.75, 1.75, 0.75); + return Vec3.createVectorHelper(0.375, 1.75, 0.5); } @Override diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index 9401b7b76..06b60dc0f 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -2,13 +2,24 @@ package com.hbm.items.tool; import java.util.List; +import com.hbm.blocks.rail.IRailNTM; +import com.hbm.blocks.rail.IRailNTM.RailLeaveInfo; import com.hbm.lib.Library; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.PlayerInformPacket; +import com.hbm.util.ParticleUtil; +import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.world.feature.OilSpot; +import net.minecraft.block.Block; 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.ChatComponentText; +import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; import net.minecraft.world.World; public class ItemWandD extends Item { @@ -23,6 +34,60 @@ public class ItemWandD extends Item { if(pos != null) { + 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 = 2D; + + ParticleUtil.spawnGasFlame(world, pos.hitVec.xCoord, pos.hitVec.yCoord, pos.hitVec.zCoord, 0, 0.2, 0); + + do { + + it++; + + if(it > 30) { + world.createExplosion(player, pos.hitVec.xCoord, pos.hitVec.yCoord, pos.hitVec.zCoord, 5F, false); + return stack; + } + + 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; + + RailLeaveInfo info = new RailLeaveInfo(); + Vec3 prev = next; + next = rail.getTravelLocation(world, x, y, z, prev.xCoord, prev.yCoord, prev.zCoord, rot.xCoord, rot.yCoord, rot.zCoord, distanceToCover, info); + distanceToCover = info.overshoot; + anchor = info.pos; + + ParticleUtil.spawnGasFlame(world, next.xCoord, next.yCoord, next.zCoord, 0, 0.2 * it, 0); + + 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); + + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(new ChatComponentText("Yaw: " + yaw), 0, 3000), (EntityPlayerMP) player); + + //if(info.overshoot > 0) System.out.println("[" + (worldObj.getTotalWorldTime() % 100) + "] Left track " + ((Block) rail).getUnlocalizedName() + " with " + ((int)(info.overshoot * 100) / 100D) + "m more to go!"); + + } else { + return stack; + } + + } while(distanceToCover != 0); //if there's still length to cover, keep going + /*TimeAnalyzer.startCount("setBlock"); world.setBlock(pos.blockX, pos.blockY, pos.blockZ, Blocks.dirt); TimeAnalyzer.startEndCount("getBlock"); @@ -58,8 +123,6 @@ public class ItemWandD extends Item { //MapGenStronghold.Start startS = new MapGenStronghold.Start(world, world.rand, pos.blockX >> 4, pos.blockZ >> 4); //startS.generateStructure(world, world.rand, new StructureBoundingBox(k - 124, l - 124, k + 15 + 124, l + 15 + 124)); - OilSpot.generateOilSpot(world, pos.blockX, pos.blockZ, 3, 50, true); - /*EntityNukeTorex torex = new EntityNukeTorex(world); torex.setPositionAndRotation(pos.blockX, pos.blockY + 1, pos.blockZ, 0, 0); torex.getDataWatcher().updateObject(10, 1.5F); diff --git a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java index 660340f0f..5603c1d94 100644 --- a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java +++ b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java @@ -16,11 +16,11 @@ public class RenderTrainCargoTram extends Render { GL11.glPushMatrix(); GL11.glTranslated(x, y, z); - GL11.glRotated(180 - entity.rotationYaw, 0, 1, 0); + GL11.glRotated( -entity.rotationYaw, 0, 1, 0); GL11.glRotated(-entity.rotationPitch, 0, 0, 1); - MainRegistry.proxy.displayTooltip("Yaw: " + entity.rotationYaw, 666); - MainRegistry.proxy.displayTooltip("Pitch: " + entity.rotationPitch, 667); + MainRegistry.proxy.displayTooltip("Render Yaw: " + entity.rotationYaw, 666); + MainRegistry.proxy.displayTooltip("Render Pitch: " + entity.rotationPitch, 667); GL11.glDisable(GL11.GL_CULL_FACE); bindTexture(ResourceManager.universal); From a558b1d83b81d94a63181cccb1914d21e17fa916 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 6 May 2023 12:43:32 +0200 Subject: [PATCH 068/285] straightened the straights, rail debugger --- .../hbm/blocks/rail/RailStandardCurve.java | 14 ++-- .../hbm/blocks/rail/RailStandardStraight.java | 8 +- .../hbm/entity/train/EntityRailCarBase.java | 6 +- .../java/com/hbm/items/tool/ItemWandD.java | 54 ------------ .../com/hbm/main/ModEventHandlerClient.java | 82 ++++++++++++++++--- 5 files changed, 85 insertions(+), 79 deletions(-) diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java index 89658d741..3bfa512dc 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java @@ -15,6 +15,7 @@ import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ChatComponentText; +import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; @@ -76,6 +77,8 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { double angleDeg = -Math.atan(dist.zCoord / dist.xCoord) * 180D / Math.PI; if(dir == Library.NEG_X) angleDeg += 90; + if(dir == Library.POS_X) angleDeg -= 90; + angleDeg = MathHelper.wrapAngleTo180_double(angleDeg); double length90Deg = turnRadius * Math.PI / 2D; double angularChange = speed / length90Deg * 90D; @@ -92,20 +95,19 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { } double effAngle = angleDeg + angularChange; - - if(Math.abs(speed) != 2)PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(new ChatComponentText(angleDeg + ""), 999, 3000), (EntityPlayerMP) world.playerEntities.get(0)); + effAngle = MathHelper.wrapAngleTo180_double(effAngle); if(effAngle > 90) { double angleOvershoot = effAngle - 90D; double lengthOvershoot = angleOvershoot * length90Deg / 90D; - info.dist(-lengthOvershoot).pos(new BlockPos(cX - dir.offsetX * 4 + rot.offsetX * 5, y, cZ - dir.offsetZ * 4 + rot.offsetZ * 5)); - return Vec3.createVectorHelper(axisX - dir.offsetX * turnRadius + rot.offsetX * turnRadius, y, axisZ - dir.offsetZ * turnRadius + rot.offsetZ * turnRadius); + info.dist(lengthOvershoot * Math.signum(speed * angularChange)).pos(new BlockPos(cX - dir.offsetX * 4 + rot.offsetX * 5, y, cZ - dir.offsetZ * 4 + rot.offsetZ * 5)); + return Vec3.createVectorHelper(axisX - dir.offsetX * turnRadius, y, axisZ - dir.offsetZ * turnRadius); } if(effAngle < 0) { - double angleOvershoot = effAngle; + double angleOvershoot = -effAngle; double lengthOvershoot = angleOvershoot * length90Deg / 90D; - info.dist(lengthOvershoot).pos(new BlockPos(cX + dir.offsetX , y, cZ + dir.offsetZ)); + info.dist(-lengthOvershoot * Math.signum(speed * angularChange)).pos(new BlockPos(cX + dir.offsetX , y, cZ + dir.offsetZ)); return Vec3.createVectorHelper(axisX + 0.5 + dir.offsetX * 0.5, y, axisZ * 0.5 + dir.offsetZ * 0.5); } diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java index d8a030009..1129155e3 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java @@ -86,8 +86,8 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { vec.xCoord = MathHelper.clamp_double(targetX, cX - 2, cX + 3); vec.yCoord = y; vec.zCoord = cZ + 0.5; - info.dist(Math.abs(targetX - vec.xCoord) * -Math.signum(speed)); - info.pos(new BlockPos(cX + (motionX > 0 ? 3 : -3), y, cZ)); + info.dist(Math.abs(targetX - vec.xCoord) * Math.signum(speed)); + info.pos(new BlockPos(cX + (motionX * speed > 0 ? 3 : -3), y, cZ)); } else { double targetZ = trainZ; if(motionZ > 0) { @@ -98,8 +98,8 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { vec.xCoord = cX + 0.5; vec.yCoord = y; vec.zCoord = MathHelper.clamp_double(targetZ, cZ - 2,cZ + 3); - info.dist(Math.abs(targetZ - vec.zCoord) * -Math.signum(speed)); - info.pos(new BlockPos(cX, y, cZ + (motionZ > 0 ? 3 : -3))); + info.dist(Math.abs(targetZ - vec.zCoord) * Math.signum(speed)); + info.pos(new BlockPos(cX, y, cZ + (motionZ * speed > 0 ? 3 : -3))); } return vec; diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index 1d76b8b12..74f9030ec 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -136,8 +136,6 @@ public abstract class EntityRailCarBase extends Entity { distanceToCover = info.overshoot; anchor = info.pos; yaw = generateYaw(next, prev); - - //if(info.overshoot > 0) System.out.println("[" + (worldObj.getTotalWorldTime() % 100) + "] Left track " + ((Block) rail).getUnlocalizedName() + " with " + ((int)(info.overshoot * 100) / 100D) + "m more to go!"); } else { return null; @@ -154,8 +152,8 @@ public abstract class EntityRailCarBase extends Entity { public float generateYaw(Vec3 front, Vec3 back) { double deltaX = front.xCoord - back.xCoord; double deltaZ = front.zCoord - back.zCoord; - double radians = Math.atan(deltaZ / deltaX); - return (float) MathHelper.wrapAngleTo180_double(radians * 180D / Math.PI - 90); + double radians = -Math.atan2(deltaX, deltaZ); + return (float) MathHelper.wrapAngleTo180_double(radians * 180D / Math.PI); } /** Returns the amount of blocks that the train should move per tick */ diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index 06b60dc0f..f8c7643da 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -34,60 +34,6 @@ public class ItemWandD extends Item { if(pos != null) { - 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 = 2D; - - ParticleUtil.spawnGasFlame(world, pos.hitVec.xCoord, pos.hitVec.yCoord, pos.hitVec.zCoord, 0, 0.2, 0); - - do { - - it++; - - if(it > 30) { - world.createExplosion(player, pos.hitVec.xCoord, pos.hitVec.yCoord, pos.hitVec.zCoord, 5F, false); - return stack; - } - - 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; - - RailLeaveInfo info = new RailLeaveInfo(); - Vec3 prev = next; - next = rail.getTravelLocation(world, x, y, z, prev.xCoord, prev.yCoord, prev.zCoord, rot.xCoord, rot.yCoord, rot.zCoord, distanceToCover, info); - distanceToCover = info.overshoot; - anchor = info.pos; - - ParticleUtil.spawnGasFlame(world, next.xCoord, next.yCoord, next.zCoord, 0, 0.2 * it, 0); - - 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); - - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(new ChatComponentText("Yaw: " + yaw), 0, 3000), (EntityPlayerMP) player); - - //if(info.overshoot > 0) System.out.println("[" + (worldObj.getTotalWorldTime() % 100) + "] Left track " + ((Block) rail).getUnlocalizedName() + " with " + ((int)(info.overshoot * 100) / 100D) + "m more to go!"); - - } else { - return stack; - } - - } while(distanceToCover != 0); //if there's still length to cover, keep going - /*TimeAnalyzer.startCount("setBlock"); world.setBlock(pos.blockX, pos.blockY, pos.blockZ, Blocks.dirt); TimeAnalyzer.startEndCount("getBlock"); diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 9938c2ec9..f89a281d2 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -12,6 +12,8 @@ import org.lwjgl.opengl.GL11; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockAshes; +import com.hbm.blocks.rail.IRailNTM; +import com.hbm.blocks.rail.IRailNTM.RailLeaveInfo; import com.hbm.config.GeneralConfig; import com.hbm.entity.effect.EntityNukeTorex; import com.hbm.entity.mob.EntityHunterChopper; @@ -42,6 +44,7 @@ import com.hbm.lib.RefStrings; import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.GunButtonPacket; import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.PlayerInformPacket; import com.hbm.packet.SyncButtonsPacket; import com.hbm.render.anim.HbmAnimations; import com.hbm.render.anim.HbmAnimations.Animation; @@ -64,12 +67,14 @@ 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.ParticleUtil; 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.hbm.util.fauxpointtwelve.BlockPos; import com.mojang.authlib.minecraft.MinecraftProfileTexture.Type; import api.hbm.item.IButtonReceiver; @@ -98,6 +103,7 @@ import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.RenderPlayer; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Items; import net.minecraft.inventory.Slot; import net.minecraft.item.Item; @@ -105,6 +111,7 @@ import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; import net.minecraft.potion.Potion; import net.minecraft.potion.PotionEffect; +import net.minecraft.util.ChatComponentText; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; @@ -203,17 +210,70 @@ public class ModEventHandlerClient { }*/ List text = new ArrayList(); - text.add("YAW: " + player.rotationYaw); - text.add("PITCH: " + player.rotationPitch); - int i = MathHelper.floor_double(player.rotationYaw * 4.0F / 360.0F + 0.5D) & 3; - int j = 0; - if(i == 0) j = 2; - if(i == 1) j = 5; - if(i == 2) j = 3; - if(i == 3) j = 4; - ForgeDirection dir = ForgeDirection.getOrientation(j).getOpposite(); - text.add("x: " + dir.offsetX + " z: " + dir.offsetZ); - ILookOverlay.printGeneric(event, "DEBUG", 0xffff00, 0x4040000, text); + 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); + Vec3 first = next; + int it = 0; + + BlockPos anchor = new BlockPos(pos.blockX, pos.blockY, pos.blockZ); + + double distanceToCover = 4D * (i == 0 ? 1 : -1); + + 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; + RailLeaveInfo info = new RailLeaveInfo(); + + boolean flip = distanceToCover < 0; + + if(it == 1) { + Vec3 snap = rail.getTravelLocation(world, x, y, z, next.xCoord, next.yCoord, next.zCoord, rot.xCoord, rot.yCoord, rot.zCoord, 0, info); + 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); + 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 + ": " + distanceToCover); + + } else { + break; + } + + } while(distanceToCover != 0); + + ILookOverlay.printGeneric(event, "DEBUG", 0xffff00, 0x4040000, text); + } } /// HANLDE ANIMATION BUSES /// From c0488324b088c2368cae9a0605d296fe9f7b9643 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 6 May 2023 14:44:11 +0200 Subject: [PATCH 069/285] oh HELL yeah --- .../java/com/hbm/blocks/rail/IRailNTM.java | 13 +++--- .../hbm/blocks/rail/RailStandardCurve.java | 29 +++++++------ .../hbm/blocks/rail/RailStandardStraight.java | 10 +++-- .../hbm/entity/train/EntityRailCarBase.java | 43 +++++++++++++------ .../java/com/hbm/items/tool/ItemWandD.java | 2 +- .../com/hbm/main/ModEventHandlerClient.java | 10 ++--- 6 files changed, 67 insertions(+), 40 deletions(-) diff --git a/src/main/java/com/hbm/blocks/rail/IRailNTM.java b/src/main/java/com/hbm/blocks/rail/IRailNTM.java index 0bb68d517..430395012 100644 --- a/src/main/java/com/hbm/blocks/rail/IRailNTM.java +++ b/src/main/java/com/hbm/blocks/rail/IRailNTM.java @@ -15,11 +15,11 @@ public interface IRailNTM { * Returns a location on the rail based on the train's current X/Y/Z momentum as well as the intended speed along the rail. * If the train would leave the rail within that tick, the position is the last valid position on that rail. * Inherently safer than simply adding the motion to the position and then snapping, since that may lead to derailing. - * The motion has to be calculated from the train's rotation, the scalar doesn't matter since it's only used for determining orientation in a clear way. + * The motion has to be calculated from the train's rotation (rotated 180° when going backwards), the scalar doesn't matter since it's only used for determining orientation in a clear way. * Motion ends up being *-1 if the train is going in reverse, still pointing forwards despite the speed being negative. * Also features a double[] wrapper with size 1 which holds the speed value that overshoots the rail. * */ - public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailLeaveInfo info); + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info); /** Returns that rail's gauge. Trains will derail if the gauge does not match. */ public TrackGauge getGauge(World world, int x, int y, int z); @@ -29,12 +29,15 @@ public interface IRailNTM { } /** A wrapper for all relevant info required when leaving a rail */ - public static class RailLeaveInfo { + public static class RailContext { + /** The angle at which the train ends up being on this rail */ + public float yaw; /** The amount of blocks still left to travel after completing the rail */ public double overshoot; /** The exit position of that rail */ public BlockPos pos; - public RailLeaveInfo dist(double d) { this.overshoot = d; return this; } - public RailLeaveInfo pos(BlockPos d) { this.pos = d; return this; } + public RailContext yaw(float y) { this.yaw = y; return this; } + public RailContext dist(double d) { this.overshoot = d; return this; } + public RailContext pos(BlockPos d) { this.pos = d; return this; } } } diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java index 3bfa512dc..35a6a9b4a 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java @@ -11,6 +11,7 @@ import com.hbm.util.ParticleUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; @@ -39,16 +40,16 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { @Override public Vec3 getSnappingPos(World world, int x, int y, int z, double trainX, double trainY, double trainZ) { - return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new RailLeaveInfo()); + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new RailContext()); } @Override - public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailLeaveInfo info) { + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); } /* Very simple function determining the snapping position and adding the motion value to it, if desired. */ - public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailLeaveInfo info) { + public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { int[] pos = this.findCore(world, x, y, z); if(pos == null) return Vec3.createVectorHelper(trainX, trainY, trainZ); int cX = pos[0]; @@ -69,15 +70,17 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { dist.xCoord *= turnRadius; dist.zCoord *= turnRadius; + double moveAngle = Math.atan2(motionX, motionZ) * 180D / Math.PI + 90; + if(speed == 0) { - info.dist(0).pos(new BlockPos(x, y, z)); + info.dist(0).pos(new BlockPos(x, y, z)).yaw((float) moveAngle); return Vec3.createVectorHelper(axisX + dist.xCoord, y, axisZ + dist.zCoord); } - - double angleDeg = -Math.atan(dist.zCoord / dist.xCoord) * 180D / Math.PI; - if(dir == Library.NEG_X) angleDeg += 90; - if(dir == Library.POS_X) angleDeg -= 90; + double angleDeg = Math.atan2(dist.xCoord, dist.zCoord) * 180D / Math.PI + 90; + if(dir == Library.NEG_X) angleDeg -= 90; + if(dir == Library.POS_X) angleDeg += 90; + if(dir == Library.POS_Z) angleDeg += 180; angleDeg = MathHelper.wrapAngleTo180_double(angleDeg); double length90Deg = turnRadius * Math.PI / 2D; double angularChange = speed / length90Deg * 90D; @@ -95,20 +98,22 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { } double effAngle = angleDeg + angularChange; - effAngle = MathHelper.wrapAngleTo180_double(effAngle); + moveAngle += angularChange; if(effAngle > 90) { double angleOvershoot = effAngle - 90D; + moveAngle -= angleOvershoot; double lengthOvershoot = angleOvershoot * length90Deg / 90D; - info.dist(lengthOvershoot * Math.signum(speed * angularChange)).pos(new BlockPos(cX - dir.offsetX * 4 + rot.offsetX * 5, y, cZ - dir.offsetZ * 4 + rot.offsetZ * 5)); + info.dist(lengthOvershoot * Math.signum(speed * angularChange)).pos(new BlockPos(cX - dir.offsetX * 4 + rot.offsetX * 5, y, cZ - dir.offsetZ * 4 + rot.offsetZ * 5)).yaw((float) moveAngle); return Vec3.createVectorHelper(axisX - dir.offsetX * turnRadius, y, axisZ - dir.offsetZ * turnRadius); } if(effAngle < 0) { double angleOvershoot = -effAngle; + moveAngle -= angleOvershoot; double lengthOvershoot = angleOvershoot * length90Deg / 90D; - info.dist(-lengthOvershoot * Math.signum(speed * angularChange)).pos(new BlockPos(cX + dir.offsetX , y, cZ + dir.offsetZ)); - return Vec3.createVectorHelper(axisX + 0.5 + dir.offsetX * 0.5, y, axisZ * 0.5 + dir.offsetZ * 0.5); + info.dist(-lengthOvershoot * Math.signum(speed * angularChange)).pos(new BlockPos(cX + dir.offsetX , y, cZ + dir.offsetZ)).yaw((float) moveAngle); + return Vec3.createVectorHelper(axisX - rot.offsetX * turnRadius, y, axisZ -rot.offsetZ * turnRadius); } double radianChange = angularChange * Math.PI / 180D; diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java index 1129155e3..1c8889b0b 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java @@ -52,16 +52,16 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { @Override public Vec3 getSnappingPos(World world, int x, int y, int z, double trainX, double trainY, double trainZ) { - return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new RailLeaveInfo()); + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new RailContext()); } @Override - public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailLeaveInfo info) { + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); } /* Very simple function determining the snapping position and adding the motion value to it, if desired. */ - public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailLeaveInfo info) { + public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { int[] pos = this.findCore(world, x, y, z); if(pos == null) return Vec3.createVectorHelper(trainX, trainY, trainZ); int cX = pos[0]; @@ -80,8 +80,10 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { double targetX = trainX; if(motionX > 0) { targetX += speed; + info.yaw(-90F); } else { targetX -= speed; + info.yaw(90F); } vec.xCoord = MathHelper.clamp_double(targetX, cX - 2, cX + 3); vec.yCoord = y; @@ -92,8 +94,10 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { double targetZ = trainZ; if(motionZ > 0) { targetZ += speed; + info.yaw(0F); } else { targetZ -= speed; + info.yaw(180F); } vec.xCoord = cX + 0.5; vec.yCoord = y; diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index 74f9030ec..750dc5765 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -1,7 +1,7 @@ package com.hbm.entity.train; import com.hbm.blocks.rail.IRailNTM; -import com.hbm.blocks.rail.IRailNTM.RailLeaveInfo; +import com.hbm.blocks.rail.IRailNTM.RailContext; import com.hbm.blocks.rail.IRailNTM.TrackGauge; import com.hbm.main.MainRegistry; import com.hbm.packet.PacketDispatcher; @@ -31,6 +31,7 @@ public abstract class EntityRailCarBase extends Entity { private double trainZ; private double trainYaw; private double trainPitch; + private float movementYaw; @SideOnly(Side.CLIENT) private double velocityX; @SideOnly(Side.CLIENT) private double velocityY; @SideOnly(Side.CLIENT) private double velocityZ; @@ -57,7 +58,9 @@ public abstract class EntityRailCarBase extends Entity { public void onUpdate() { if(this.worldObj.isRemote) { + if(this.turnProgress > 0) { + this.prevRotationYaw = this.rotationYaw; double x = this.posX + (this.trainX - this.posX) / (double) this.turnProgress; double y = this.posY + (this.trainY - this.posY) / (double) this.turnProgress; double z = this.posZ + (this.trainZ - this.posZ) / (double) this.turnProgress; @@ -67,11 +70,9 @@ public abstract class EntityRailCarBase extends Entity { --this.turnProgress; this.setPosition(x, y, z); this.setRotation(this.rotationYaw, this.rotationPitch); - this.setRotation((float)this.trainYaw, this.rotationPitch); } else { this.setPosition(this.posX, this.posY, this.posZ); this.setRotation(this.rotationYaw, this.rotationPitch); - this.setRotation((float)this.trainYaw, this.rotationPitch); } } else { @@ -81,11 +82,7 @@ public abstract class EntityRailCarBase extends Entity { if(corePos == null) { this.derail(); } else { - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; this.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); - anchor = this.getCurentAnchorPos(); //reset origin to new position Vec3 frontPos = getRelPosAlongRail(anchor, this.getLengthSpan()); Vec3 backPos = getRelPosAlongRail(anchor, -this.getLengthSpan()); @@ -93,11 +90,15 @@ public abstract class EntityRailCarBase extends Entity { if(frontPos == null || backPos == null) { this.derail(); } else { - this.rotationYaw = generateYaw(frontPos, backPos); + this.prevRotationYaw = this.rotationYaw; + this.rotationYaw = this.movementYaw = generateYaw(frontPos, backPos); + this.motionX = this.rotationYaw / 360D; // hijacking this crap for easy syncing + this.velocityChanged = true; } } - - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(new ChatComponentText("Yaw: " + this.rotationYaw), 665, 3000), (EntityPlayerMP) worldObj.playerEntities.get(0)); + + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(new ChatComponentText("Yaw: " + this.rotationYaw), 664, 3000), (EntityPlayerMP) worldObj.playerEntities.get(0)); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(new ChatComponentText("MYaw: " + this.movementYaw), 665, 3000), (EntityPlayerMP) worldObj.playerEntities.get(0)); } } @@ -105,6 +106,11 @@ public abstract class EntityRailCarBase extends Entity { float yaw = this.rotationYaw; + if(distanceToCover < 0) { + distanceToCover *= -1; + yaw += 180; + } + Vec3 next = Vec3.createVectorHelper(posX, posY, posZ); int it = 0; @@ -129,13 +135,20 @@ public abstract class EntityRailCarBase extends Entity { if(block instanceof IRailNTM) { IRailNTM rail = (IRailNTM) block; + if(it == 1) { + next = rail.getTravelLocation(worldObj, x, y, z, next.xCoord, next.yCoord, next.zCoord, rot.xCoord, rot.yCoord, rot.zCoord, 0, new RailContext()); + } + + boolean flip = distanceToCover < 0; + if(rail.getGauge(worldObj, x, y, z) == this.getGauge()) { - RailLeaveInfo info = new RailLeaveInfo(); + RailContext info = new RailContext(); Vec3 prev = next; - next = rail.getTravelLocation(worldObj, x, y, z, posX, posY, posZ, rot.xCoord, rot.yCoord, rot.zCoord, distanceToCover, info); + next = rail.getTravelLocation(worldObj, x, y, z, prev.xCoord, prev.yCoord, prev.zCoord, rot.xCoord, rot.yCoord, rot.zCoord, distanceToCover, info); distanceToCover = info.overshoot; anchor = info.pos; - yaw = generateYaw(next, prev); + + yaw = generateYaw(next, prev) * (flip ? -1 : 1); } else { return null; @@ -178,16 +191,18 @@ public abstract class EntityRailCarBase extends Entity { this.trainX = posX; this.trainY = posY; this.trainZ = posZ; - this.trainYaw = (double) yaw; + //this.trainYaw = (double) yaw; this.trainPitch = (double) pitch; this.turnProgress = turnProg + 2; this.motionX = this.velocityX; this.motionY = this.velocityY; this.motionZ = this.velocityZ; + this.trainYaw = this.movementYaw; } @SideOnly(Side.CLIENT) public void setVelocity(double mX, double mY, double mZ) { + this.movementYaw = (float) this.motionX * 360F; this.velocityX = this.motionX = mX; this.velocityY = this.motionY = mY; this.velocityZ = this.motionZ = mZ; diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index f8c7643da..2d22a2182 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -3,7 +3,7 @@ package com.hbm.items.tool; import java.util.List; import com.hbm.blocks.rail.IRailNTM; -import com.hbm.blocks.rail.IRailNTM.RailLeaveInfo; +import com.hbm.blocks.rail.IRailNTM.RailContext; import com.hbm.lib.Library; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PlayerInformPacket; diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index f89a281d2..9393a59c8 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -13,11 +13,12 @@ import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockAshes; import com.hbm.blocks.rail.IRailNTM; -import com.hbm.blocks.rail.IRailNTM.RailLeaveInfo; +import com.hbm.blocks.rail.IRailNTM.RailContext; import com.hbm.config.GeneralConfig; import com.hbm.entity.effect.EntityNukeTorex; import com.hbm.entity.mob.EntityHunterChopper; import com.hbm.entity.projectile.EntityChopperMine; +import com.hbm.entity.train.EntityRailCarRidable; import com.hbm.extprop.HbmLivingProps; import com.hbm.extprop.HbmPlayerProps; import com.hbm.handler.ArmorModHandler; @@ -217,7 +218,6 @@ public class ModEventHandlerClient { float yaw = player.rotationYaw; Vec3 next = Vec3.createVectorHelper(pos.hitVec.xCoord, pos.hitVec.yCoord, pos.hitVec.zCoord); - Vec3 first = next; int it = 0; BlockPos anchor = new BlockPos(pos.blockX, pos.blockY, pos.blockZ); @@ -243,12 +243,12 @@ public class ModEventHandlerClient { if(block instanceof IRailNTM) { IRailNTM rail = (IRailNTM) block; - RailLeaveInfo info = new RailLeaveInfo(); + RailContext info = new RailContext(); boolean flip = distanceToCover < 0; if(it == 1) { - Vec3 snap = rail.getTravelLocation(world, x, y, z, next.xCoord, next.yCoord, next.zCoord, rot.xCoord, rot.yCoord, rot.zCoord, 0, info); + Vec3 snap = next = rail.getTravelLocation(world, x, y, z, next.xCoord, next.yCoord, next.zCoord, rot.xCoord, rot.yCoord, rot.zCoord, 0, info); if(i == 0) world.spawnParticle("reddust", snap.xCoord, snap.yCoord + 0.25, snap.zCoord, 0.1, 1, 0.1); } @@ -264,7 +264,7 @@ public class ModEventHandlerClient { double radians = -Math.atan2(deltaX, deltaZ); yaw = (float) MathHelper.wrapAngleTo180_double(radians * 180D / Math.PI + (flip ? 180 : 0)); - text.add(it + ": " + distanceToCover); + text.add(it + ": " + yaw); } else { break; From bfb1334b49657bba2ab3bb294d342f0f805fbaaa Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 7 May 2023 01:36:59 +0200 Subject: [PATCH 070/285] random shit, go! --- src/main/java/com/hbm/blocks/BlockEnums.java | 5 + src/main/java/com/hbm/blocks/ModBlocks.java | 11 +- .../hbm/blocks/generic/BlockBiomeStone.java | 53 ++++++++ .../com/hbm/blocks/generic/BlockSlag.java | 32 +++++ .../java/com/hbm/entity/EntityMappings.java | 32 +++++ .../com/hbm/entity/mob/EntityCreeperGold.java | 36 +++++ .../hbm/entity/mob/EntityCreeperVolatile.java | 36 +++++ .../hbm/explosion/vanillant/ExplosionVNT.java | 8 +- .../vanillant/interfaces/IBlockMutator.java | 5 +- .../standard/BlockAllocatorBulkie.java | 89 +++++++++++++ .../standard/BlockMutatorBulkie.java | 32 +++++ .../standard/BlockProcessorStandard.java | 3 +- .../java/com/hbm/items/tool/ItemWandD.java | 17 +++ src/main/java/com/hbm/main/ClientProxy.java | 2 + src/main/java/com/hbm/main/MainRegistry.java | 1 + .../java/com/hbm/world/feature/BiomeCave.java | 126 ++++++++++++++++++ .../hbm/textures/blocks/block_slag_broken.png | Bin 0 -> 792 bytes .../textures/blocks/stone_biome.woodland.png | Bin 0 -> 704 bytes .../blocks/stone_biome_layer.woodland.png | Bin 0 -> 765 bytes .../blocks/stone_biome_top.woodland.png | Bin 0 -> 790 bytes .../hbm/textures/blocks/stone_deep_base.png | Bin 0 -> 497 bytes .../hbm/textures/entity/creeper_gold.png | Bin 0 -> 3063 bytes .../hbm/textures/entity/creeper_volatile.png | Bin 0 -> 3107 bytes 23 files changed, 478 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/generic/BlockBiomeStone.java create mode 100644 src/main/java/com/hbm/blocks/generic/BlockSlag.java create mode 100644 src/main/java/com/hbm/entity/mob/EntityCreeperGold.java create mode 100644 src/main/java/com/hbm/entity/mob/EntityCreeperVolatile.java create mode 100644 src/main/java/com/hbm/explosion/vanillant/standard/BlockAllocatorBulkie.java create mode 100644 src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorBulkie.java create mode 100644 src/main/java/com/hbm/world/feature/BiomeCave.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/block_slag_broken.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_biome.woodland.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_biome_layer.woodland.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_biome_top.woodland.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_deep_base.png create mode 100644 src/main/resources/assets/hbm/textures/entity/creeper_gold.png create mode 100644 src/main/resources/assets/hbm/textures/entity/creeper_volatile.png diff --git a/src/main/java/com/hbm/blocks/BlockEnums.java b/src/main/java/com/hbm/blocks/BlockEnums.java index 99d7edadf..5a8e89122 100644 --- a/src/main/java/com/hbm/blocks/BlockEnums.java +++ b/src/main/java/com/hbm/blocks/BlockEnums.java @@ -10,6 +10,11 @@ public class BlockEnums { LIMESTONE } + public static enum EnumBiomeType { + DESERT, + WOODLAND + } + public static enum EnumStalagmiteType { SULFUR, ASBESTOS diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index fe53bd84c..0a0df5800 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -138,6 +138,7 @@ public class ModBlocks { public static Block stone_resource; public static Block stalagmite; public static Block stalactite; + public static Block stone_biome; public static Block stone_deep_cobble; public static Block depth_brick; @@ -1318,6 +1319,7 @@ public class ModBlocks { 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); stone_deep_cobble = new BlockDeepCobble().setBlockName("stone_deep_cobble").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(30.0F); basalt = new BlockGeneric(Material.rock).setBlockName("basalt").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":basalt"); @@ -1443,7 +1445,7 @@ public class ModBlocks { 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(900.0F).setBlockTextureName(RefStrings.MODID + ":block_smore_side"); - block_slag = new BlockBeaconable(Material.iron).setBlockName("block_slag").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":block_slag"); + block_slag = new BlockSlag(Material.rock).setBlockName("block_slag").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeStone).setHardness(5.0F).setResistance(10.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"); @@ -2461,9 +2463,10 @@ public class ModBlocks { GameRegistry.registerBlock(crystal_trixite, crystal_trixite.getUnlocalizedName()); //Resource-bearing Stones - GameRegistry.registerBlock(stone_resource, ItemBlockBase.class, stone_resource.getUnlocalizedName()); - GameRegistry.registerBlock(stalagmite, ItemBlockBase.class, stalagmite.getUnlocalizedName()); - GameRegistry.registerBlock(stalactite, ItemBlockBase.class, stalactite.getUnlocalizedName()); + register(stone_resource); + register(stalagmite); + register(stalactite); + register(stone_biome); //Stone Variants GameRegistry.registerBlock(stone_porous, stone_porous.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockBiomeStone.java b/src/main/java/com/hbm/blocks/generic/BlockBiomeStone.java new file mode 100644 index 000000000..a53cce92d --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockBiomeStone.java @@ -0,0 +1,53 @@ +package com.hbm.blocks.generic; + +import com.hbm.blocks.BlockEnumMulti; +import com.hbm.blocks.BlockEnums.EnumBiomeType; + +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; +import net.minecraft.world.IBlockAccess; + +public class BlockBiomeStone extends BlockEnumMulti { + + public BlockBiomeStone() { + super(Material.rock, EnumBiomeType.class, true, true); + } + + protected IIcon[] iconsTop; + protected IIcon[] iconsLayer; + + @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]; + this.iconsLayer = new IIcon[enums.length]; + + for(int i = 0; i < icons.length; i++) { + Enum num = enums[i]; + this.icons[i] = reg.registerIcon(this.getTextureName() + "." + num.name().toLowerCase()); + this.iconsTop[i] = reg.registerIcon(this.getTextureName() + "_top." + num.name().toLowerCase()); + this.iconsLayer[i] = reg.registerIcon(this.getTextureName() + "_layer." + num.name().toLowerCase()); + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + + int meta = world.getBlockMetadata(x, y, z); + if(side == 0) return this.iconsTop[meta % this.icons.length]; + if(side == 1) return this.iconsTop[meta % this.icons.length]; + + if(world.getBlock(x, y + 1, z) == this && world.getBlockMetadata(x, y + 1, z) == meta) { + return this.getIcon(side, meta); + } else { + return this.iconsLayer[meta % this.icons.length]; + } + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockSlag.java b/src/main/java/com/hbm/blocks/generic/BlockSlag.java new file mode 100644 index 000000000..b18db55b1 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockSlag.java @@ -0,0 +1,32 @@ +package com.hbm.blocks.generic; + +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 BlockSlag extends BlockBeaconable { + + @SideOnly(Side.CLIENT) + private IIcon iconAlt; + + public BlockSlag(Material mat) { + super(mat); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + this.iconAlt = iconRegister.registerIcon(this.getTextureName() + "_broken"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + if(metadata == 1) return this.iconAlt; + + return this.blockIcon; + } +} diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index 844c470e9..23a8e70fd 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -20,6 +20,10 @@ import com.hbm.util.Tuple.Quartet; import cpw.mods.fml.common.registry.EntityRegistry; import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLiving; +import net.minecraft.entity.EnumCreatureType; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.biome.BiomeGenBase.SpawnListEntry; public class EntityMappings { @@ -211,6 +215,8 @@ public class EntityMappings { addMob(EntityCreeperNuclear.class, "entity_mob_nuclear_creeper", 0x204131, 0x75CE00); addMob(EntityCreeperTainted.class, "entity_mob_tainted_creeper", 0x813b9b, 0xd71fdd); addMob(EntityCreeperPhosgene.class, "entity_mob_phosgene_creeper", 0xE3D398, 0xB8A06B); + addMob(EntityCreeperVolatile.class, "entity_mob_volatile_creeper", 0xC28153, 0x4D382C); + addMob(EntityCreeperGold.class, "entity_mob_gold_creeper", 0xECC136, 0x9E8B3E); addMob(EntityHunterChopper.class, "entity_mob_hunter_chopper", 0x000020, 0x2D2D72); addMob(EntityCyberCrab.class, "entity_cyber_crab", 0xAAAAAA, 0x444444); addMob(EntityTeslaCrab.class, "entity_tesla_crab", 0xAAAAAA, 0x440000); @@ -224,6 +230,10 @@ public class EntityMappings { addMob(EntitySiegeSkeleton.class, "entity_meme_skeleton", 0x303030, 0x000080); addMob(EntitySiegeUFO.class, "entity_meme_ufo", 0x303030, 0x800000); addMob(EntitySiegeCraft.class, "entity_meme_craft", 0x303030, 0x808000); + + addSpawn(EntityCreeperPhosgene.class, 5, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); + addSpawn(EntityCreeperVolatile.class, 10, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); + addSpawn(EntityCreeperGold.class, 1, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); int id = 0; for(Quartet, String, Integer, Boolean> entry : entityMappings) { @@ -246,4 +256,26 @@ public class EntityMappings { private static void addMob(Class clazz, String name, int color1, int color2) { mobMappings.add(new Quartet(clazz, name, color1, color2)); } + + public static void addSpawn(Class entityClass, int weightedProb, int min, int max, EnumCreatureType typeOfCreature, BiomeGenBase... biomes) { + + for(BiomeGenBase biome : biomes) { + + if(biome == null) continue; + + List spawns = biome.getSpawnableList(typeOfCreature); + + for(SpawnListEntry entry : spawns) { + // Adjusting an existing spawn entry + if(entry.entityClass == entityClass) { + entry.itemWeight = weightedProb; + entry.minGroupCount = min; + entry.maxGroupCount = max; + break; + } + } + + spawns.add(new SpawnListEntry(entityClass, weightedProb, min, max)); + } + } } diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperGold.java b/src/main/java/com/hbm/entity/mob/EntityCreeperGold.java new file mode 100644 index 000000000..d9ab7d3b6 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperGold.java @@ -0,0 +1,36 @@ +package com.hbm.entity.mob; + +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.*; + +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class EntityCreeperGold extends EntityCreeper { + + public EntityCreeperGold(World world) { + super(world); + } + + @Override + public void func_146077_cc() { + + if(!this.worldObj.isRemote) { + this.setDead(); + + ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, 7); + vnt.setBlockAllocator(new BlockAllocatorBulkie(60)); + vnt.setBlockProcessor(new BlockProcessorStandard().withBlockEffect(new BlockMutatorBulkie(Blocks.gold_ore))); + vnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(0.5F)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectStandard()); + vnt.explode(); + } + } + + @Override + public boolean getCanSpawnHere() { + return super.getCanSpawnHere() && this.posY <= 40; + } +} diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperVolatile.java b/src/main/java/com/hbm/entity/mob/EntityCreeperVolatile.java new file mode 100644 index 000000000..d957c7aca --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperVolatile.java @@ -0,0 +1,36 @@ +package com.hbm.entity.mob; + +import com.hbm.blocks.ModBlocks; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.*; + +import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.world.World; + +public class EntityCreeperVolatile extends EntityCreeper { + + public EntityCreeperVolatile(World world) { + super(world); + } + + @Override + public void func_146077_cc() { + + if(!this.worldObj.isRemote) { + this.setDead(); + + ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, 7); + vnt.setBlockAllocator(new BlockAllocatorBulkie(60)); + vnt.setBlockProcessor(new BlockProcessorStandard().withBlockEffect(new BlockMutatorBulkie(ModBlocks.block_slag, 1))); + vnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(0.5F)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectStandard()); + vnt.explode(); + } + } + + @Override + public boolean getCanSpawnHere() { + return super.getCanSpawnHere() && this.posY <= 40; + } +} diff --git a/src/main/java/com/hbm/explosion/vanillant/ExplosionVNT.java b/src/main/java/com/hbm/explosion/vanillant/ExplosionVNT.java index 891c10213..e1c217617 100644 --- a/src/main/java/com/hbm/explosion/vanillant/ExplosionVNT.java +++ b/src/main/java/com/hbm/explosion/vanillant/ExplosionVNT.java @@ -39,10 +39,10 @@ public class ExplosionVNT { //since we want to reduce each effect to the bare minimum (sound, particles, etc. being separate) we definitely need multiple most of the time private IExplosionSFX[] sfx; - protected World world; - protected double posX; - protected double posY; - protected double posZ; + public World world; + public double posX; + public double posY; + public double posZ; public float size; public Entity exploder; diff --git a/src/main/java/com/hbm/explosion/vanillant/interfaces/IBlockMutator.java b/src/main/java/com/hbm/explosion/vanillant/interfaces/IBlockMutator.java index d1e29ecbc..904f01c69 100644 --- a/src/main/java/com/hbm/explosion/vanillant/interfaces/IBlockMutator.java +++ b/src/main/java/com/hbm/explosion/vanillant/interfaces/IBlockMutator.java @@ -2,7 +2,10 @@ package com.hbm.explosion.vanillant.interfaces; import com.hbm.explosion.vanillant.ExplosionVNT; +import net.minecraft.block.Block; + public interface IBlockMutator { - public int mutateAtPosition(ExplosionVNT explosion, int x, int y, int z); + public void mutatePre(ExplosionVNT explosion, Block block, int meta, int x, int y, int z); + public void mutatePost(ExplosionVNT explosion, int x, int y, int z); } diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/BlockAllocatorBulkie.java b/src/main/java/com/hbm/explosion/vanillant/standard/BlockAllocatorBulkie.java new file mode 100644 index 000000000..863916f19 --- /dev/null +++ b/src/main/java/com/hbm/explosion/vanillant/standard/BlockAllocatorBulkie.java @@ -0,0 +1,89 @@ +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 BlockAllocatorBulkie implements IBlockAllocator { + + protected double maximum; + protected int resolution; + + public BlockAllocatorBulkie(double maximum) { + this(maximum, 16); + } + + public BlockAllocatorBulkie(double maximum, int resolution) { + this.resolution = resolution; + this.maximum = maximum; + } + + @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 = (double) ((float) i / ((float) this.resolution - 1.0F) * 2.0F - 1.0F); + double d1 = (double) ((float) j / ((float) this.resolution - 1.0F) * 2.0F - 1.0F); + double d2 = (double) ((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; + + double currentX = x; + double currentY = y; + double currentZ = z; + + double dist = 0; + + for(float stepSize = 0.3F; dist <= explosion.size;) { + + double deltaX = currentX - x; + double deltaY = currentY - y; + double deltaZ = currentZ - z; + dist = Math.sqrt(deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ); + + 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); + + if(block.getMaterial() != Material.air) { + float blockResistance = explosion.exploder != null ? explosion.exploder.func_145772_a(explosion.compat, world, blockX, blockY, blockZ, block) : block.getExplosionResistance(explosion.exploder, world, blockX, blockY, blockZ, x, y, z); + if(this.maximum < blockResistance) { + break; + } + } + + if(explosion.exploder == null || explosion.exploder.func_145774_a(explosion.compat, world, blockX, blockY, blockZ, block, explosion.size)) { + 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/BlockMutatorBulkie.java b/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorBulkie.java new file mode 100644 index 000000000..5b89ee88e --- /dev/null +++ b/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorBulkie.java @@ -0,0 +1,32 @@ +package com.hbm.explosion.vanillant.standard; + +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.interfaces.IBlockMutator; +import com.hbm.inventory.RecipesCommon.MetaBlock; + +import net.minecraft.block.Block; +import net.minecraft.util.Vec3; + +public class BlockMutatorBulkie implements IBlockMutator { + + protected MetaBlock metaBlock; + + public BlockMutatorBulkie(Block block) { + this(block, 0); + } + + public BlockMutatorBulkie(Block block, int meta) { + this.metaBlock = new MetaBlock(block, meta); + } + + @Override + public void mutatePre(ExplosionVNT explosion, Block block, int meta, int x, int y, int z) { + if(!block.isBlockNormalCube()) return; + Vec3 vec = Vec3.createVectorHelper(x + 0.5 - explosion.posX, y + 0.5 - explosion.posY, z + 0.5 - explosion.posZ); + if(vec.lengthVector() >= explosion.size - 0.5) { + explosion.world.setBlock(x, y, z, metaBlock.block, metaBlock.meta, 3); + } + } + + @Override public void mutatePost(ExplosionVNT explosion, int x, int y, int z) { } +} diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/BlockProcessorStandard.java b/src/main/java/com/hbm/explosion/vanillant/standard/BlockProcessorStandard.java index ac1fcd7be..a6da1e153 100644 --- a/src/main/java/com/hbm/explosion/vanillant/standard/BlockProcessorStandard.java +++ b/src/main/java/com/hbm/explosion/vanillant/standard/BlockProcessorStandard.java @@ -63,6 +63,7 @@ public class BlockProcessorStandard implements IBlockProcessor { } block.onBlockExploded(world, blockX, blockY, blockZ, explosion.compat); + if(this.convert != null) this.convert.mutatePre(explosion, block, world.getBlockMetadata(blockX, blockY, blockZ), blockX, blockY, blockZ); } } @@ -78,7 +79,7 @@ public class BlockProcessorStandard implements IBlockProcessor { Block block = world.getBlock(blockX, blockY, blockZ); if(block.getMaterial() == Material.air) { - this.convert.mutateAtPosition(explosion, blockX, blockY, blockZ); + this.convert.mutatePost(explosion, blockX, blockY, blockZ); } } } diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index 2d22a2182..7ea8ad8b7 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -2,8 +2,16 @@ package com.hbm.items.tool; import java.util.List; +import com.hbm.blocks.ModBlocks; import com.hbm.blocks.rail.IRailNTM; import com.hbm.blocks.rail.IRailNTM.RailContext; +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.standard.BlockAllocatorBulkie; +import com.hbm.explosion.vanillant.standard.BlockMutatorBulkie; +import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; +import com.hbm.explosion.vanillant.standard.EntityProcessorStandard; +import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard; +import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; import com.hbm.lib.Library; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PlayerInformPacket; @@ -14,6 +22,7 @@ import com.hbm.world.feature.OilSpot; 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.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.ChatComponentText; @@ -34,6 +43,14 @@ public class ItemWandD extends Item { if(pos != null) { + 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()); + vnt.setEntityProcessor(new EntityProcessorStandard()); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.setSFX(new ExplosionEffectStandard()); + vnt.explode(); + /*TimeAnalyzer.startCount("setBlock"); world.setBlock(pos.blockX, pos.blockY, pos.blockZ, Blocks.dirt); TimeAnalyzer.startEndCount("getBlock"); diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 04a912a51..e69446d89 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -691,6 +691,8 @@ public class ClientProxy extends ServerProxy { 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()); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 6e1e381e5..da251825c 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -848,6 +848,7 @@ public class MainRegistry { 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()); + new BiomeCave().setThreshold(1.5D).setRangeMult(20).setYLevel(40).setMaxRange(20); //new OreLayer(Blocks.coal_ore, 0.2F).setThreshold(4).setRangeMult(3).setYLevel(70); Compat.handleRailcraftNonsense(); diff --git a/src/main/java/com/hbm/world/feature/BiomeCave.java b/src/main/java/com/hbm/world/feature/BiomeCave.java new file mode 100644 index 000000000..9d297778e --- /dev/null +++ b/src/main/java/com/hbm/world/feature/BiomeCave.java @@ -0,0 +1,126 @@ +package com.hbm.world.feature; + +import java.util.Random; + +import com.hbm.blocks.BlockEnums.EnumBiomeType; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockStalagmite; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.world.World; +import net.minecraft.world.biome.BiomeGenBase; +import net.minecraft.world.biome.BiomeGenBase.TempCategory; +import net.minecraft.world.gen.NoiseGeneratorPerlin; +import net.minecraftforge.common.MinecraftForge; +import net.minecraftforge.common.util.ForgeDirection; +import net.minecraftforge.event.terraingen.DecorateBiomeEvent; + +public class BiomeCave { + + private NoiseGeneratorPerlin noise; + /** The number that is being deducted flat from the result of the perlin noise before all other processing. Increase this to make strata rarer. */ + private double threshold = 2D; + /** The mulitplier for the remaining bit after the threshold has been deducted. Increase to make strata wavier. */ + private int rangeMult = 3; + /** The maximum range after multiplying - anything above this will be subtracted from (maxRange * 2) to yield the proper range. Increase this to make strata thicker. */ + private int maxRange = 4; + /** The y-level around which the stratum is centered. */ + private int yLevel = 30; + + public BiomeCave() { + MinecraftForge.EVENT_BUS.register(this); + } + + public BiomeCave setThreshold(double threshold) { + this.threshold = threshold; + return this; + } + + public BiomeCave setRangeMult(int rangeMult) { + this.rangeMult = rangeMult; + return this; + } + + public BiomeCave setMaxRange(int maxRange) { + this.maxRange = maxRange; + return this; + } + + public BiomeCave setYLevel(int yLevel) { + this.yLevel = yLevel; + return this; + } + + @SubscribeEvent + public void onDecorate(DecorateBiomeEvent.Pre event) { + + World world = event.world; + + if(world.provider == null || world.provider.dimensionId != 0) return; + + if(this.noise == null) { + this.noise = new NoiseGeneratorPerlin(new Random(event.world.getSeed() - 1916169 + yLevel), 2); + } + + int cX = event.chunkX; + int cZ = event.chunkZ; + + double scale = 0.01D; + + for(int x = cX + 8; x < cX + 24; x++) { + for(int z = cZ + 8; z < cZ + 24; z++) { + + BiomeGenBase biome = world.getBiomeGenForCoords(x, z); + EnumBiomeType type = getTypeFromBiome(biome); + + double n = noise.func_151601_a(x * scale, z * scale); + + if(type != null && n > threshold) { + int range = (int)((n - threshold) * rangeMult); + + if(range > maxRange) + range = (maxRange * 2) - range; + + if(range < 0) + continue; + + for(int y = yLevel - range; y <= yLevel + range; y++) { + handleBiome(world, x, y, z, type); + } + } + } + } + } + + private static void handleBiome(World world, int x, int y, int z, EnumBiomeType type) { + Block target = world.getBlock(x, y, z); + + if(target.isNormalCube()) { + + boolean shouldGen = false; + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ).isAir(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ)) { + shouldGen = true; break; + } + if(world.getBlock(x + dir.offsetX * 2, y + dir.offsetY * 2, z + dir.offsetZ * 2).isAir(world, x + dir.offsetX * 2, y + dir.offsetY * 2, z + dir.offsetZ * 2)) { + shouldGen = true; break; + } + } + + if(shouldGen) { + world.setBlock(x, y, z, ModBlocks.stone_biome, type.ordinal(), 2); + } + } + } + + private static EnumBiomeType getTypeFromBiome(BiomeGenBase biome) { + + if(biome.temperature >= 1 && biome.rainfall < 0.25) return EnumBiomeType.DESERT; + if(biome.temperature >= 0.5 && biome.rainfall > 0.25 && biome.getTempCategory() != TempCategory.OCEAN) return EnumBiomeType.WOODLAND; + + return null; + } +} diff --git a/src/main/resources/assets/hbm/textures/blocks/block_slag_broken.png b/src/main/resources/assets/hbm/textures/blocks/block_slag_broken.png new file mode 100644 index 0000000000000000000000000000000000000000..97f12ce5d660cd318211a09cec315dc28b516882 GIT binary patch literal 792 zcmV+z1LypSP)HFCasS z@B4hR{29S{fKnl$4ADECHviz!0-@~>n05X{jqxL8wArJ{c9K}rL zviR*bzdU@1s8p-ic6zAlc^=(v7l04u7x{2uiTY_B(=c$xGi04h0MzO=ri;_)j^i>n zcZ==qEp~q2q;d9w3D-e}k_SJnP&=s+$_v_UmrCV`pwoG!BkkL-zl?jK#5?fF=L+*81 z2l#aP3!*6E$CV#gU;CBjiw2XEQvj5AcZas+#bCLw6kFv#X*ACeeyfFl-s1lK?*|q~ zM#$&hWPV|hm>7FB&E?lGF+Mg2g;dg{TrRV*zB+WF#Tr)%SFkJ_%d*k+1Y_yZLHoTPreX5;NtKrd W^E)@0cQ{Z00000rET)H5iUZ7Gmo8fmbr&1wGKZP(eZTL0zMe{@(yrBN zD5d!K7-InNeIJ0}_$_;l8h-X3#uyyO0YFr%Rg5uctpSiyb_pq^a9x+alM;TmlnN&% z!gXE3%qOC_2Eeun0VsRR1VMn-nji?e#1k_BQLoo=oD$O)Z=sYz7AlC{B@V(ZqJb@B z;RO9HgFP5C?%!pz{sJMP2{`Q;EUh)hm^1^iyVSWOA3uAK@zaOw{SGPSR`7@B80o)B z^Uz|beV>N!QPHIHbW`Zi8&!-~)E|}O|q8>lTweECd zY|1s7hZb_`glJ!2^g`NRy8 z8LyaIp|?~jJ#DpG^qzVoOQp5Owr#xJ48OuEZ8M72noK5>{t3g7qobov2FbCeTgG)=Xu}_O=0>)SB2FU!0000^B1Or-YY$>q;(QdbK-3FKEZlaVz)}JC;>-6GJB&R+h>&NKNMVzUW zh2S@~+s_daBEZd-v9#70V^B(+cv>HwNkB09I}5|R>>kA|RyGNyuTm}lOmtu|o!w?= zs))60<`O_KSSsPqla(pze^8ltt%&{T1#b8Gn?$)3Q<{hliOh$JBNH%4sP z%6Ne)-8NxMFt=b=#J v;km9$Fded2>++@Zj@_dHp}&FWd62<3E)G!O^&$-#00000NkvXXu0mjfhCN^% literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_biome_top.woodland.png b/src/main/resources/assets/hbm/textures/blocks/stone_biome_top.woodland.png new file mode 100644 index 0000000000000000000000000000000000000000..e758050f49ccbac64d8fe90f3763441591f27c60 GIT binary patch literal 790 zcmV+x1L^#UP)<@U4fE_YAUjff^fAc2rT;!pSjwum2K%jac9 z5-~FoNC}BDnMY4gzg&KlA7vJ^fxA4rt8=gO+wZ@QVp3s@K_4KCLxcy33h1?qOa^-G zvN~71dG!vN4CrkK(nBeQ05~2`=xs+F3VLg(b&K9Ntj-mq5v$@-2>U*w_`kMWIPb&%>-}2YhTh{9}c{)XUi6sgIfpno)sOL~s6}<-E_b~>t z*hPv7mC4HNfw73%bH#uKtipdHHIMd zxV|rtXU|f;oqq|y!_AJn-3`7M;`o+cgNRbpBp{G3%XN;JjJ$ktg;I**SRqcEhKHLS z0Q1EhfHcYJYM-Vbux<0CD;d}o4|G}}6H7g4(q({5mjR1;j%^*T?>{`*=t_(+1k&YL z)?{(WY13d#%dNb_cS0WT4Sg(-qY>PF*t0rUG^Y-55WZ!7wqUu=dHu&Fy%nTMj!Z0} z`#D4B@YUB(b;NdapcMr#UtCcZhH#n^MG>wyA|@jMW~@2s9Z?ifRu#!ivANx0TLt*#vxu@VNZ~WhBEt9! z(qvCEQ~dMsf{E`FBr!>TiLpg6W84>V$fb!b(gv z(*NZwAxlW%B3%l*LLyTjTM5joqWHag-@ErF#+b3|I)-6jTHbpA(lm|#LXYh5@D2YKEX(M+jzd{eR~6oS5@XD`D+=nW zqCTDC@W+17YPCWs^{W;DN~s4xK%L$m?tR{DDz*@UMX>OwHJ|4*-g~5!q-jc)WwV>Z zX48}Z=luQteu$PN0Nidjmdhn?VYOhH5F(;a19sFp zYUG^5IrqrHvsFi}BY?H`#rHrEz>=nEMu0Mewv~3H(rD>vt;f&B@t;JePGQv33V9Ms4LrTeZyN!ZQ!*(@>MacK1 nX=2(!1y@3ax4Nnx-(ANKBRv|-mOaA+00000NkvXXu0mjfuY%@u literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/entity/creeper_gold.png b/src/main/resources/assets/hbm/textures/entity/creeper_gold.png new file mode 100644 index 0000000000000000000000000000000000000000..8f20dd3f4c31202389b239c55d630cb7f11bda5d GIT binary patch literal 3063 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 FV1kr@l literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/entity/creeper_volatile.png b/src/main/resources/assets/hbm/textures/entity/creeper_volatile.png new file mode 100644 index 0000000000000000000000000000000000000000..b2640153995539e417a041436366671f0295c429 GIT binary patch literal 3107 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 Date: Sun, 7 May 2023 20:30:54 +0200 Subject: [PATCH 071/285] tram passenger seats --- gradle.properties | 2 +- .../java/com/hbm/entity/EntityMappings.java | 4 +- .../com/hbm/entity/mob/EntityCreeperGold.java | 15 ++- .../hbm/entity/mob/EntityCreeperVolatile.java | 12 +- .../hbm/entity/train/EntityRailCarBase.java | 11 -- .../entity/train/EntityRailCarRidable.java | 106 +++++++++++++++++- .../com/hbm/entity/train/TrainCargoTram.java | 15 ++- src/main/java/com/hbm/lib/RefStrings.java | 2 +- src/main/java/com/hbm/main/MainRegistry.java | 2 +- .../com/hbm/main/ModEventHandlerClient.java | 4 +- .../machine/TileEntityMachinePress.java | 7 +- .../tileentity/machine/TileEntityTesla.java | 10 +- src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 2 + ..._CHOLERSTEROL.png => tank_CHOLESTEROL.png} | Bin 15 files changed, 161 insertions(+), 33 deletions(-) rename src/main/resources/assets/hbm/textures/models/tank/{tank_CHOLERSTEROL.png => tank_CHOLESTEROL.png} (100%) diff --git a/gradle.properties b/gradle.properties index 311c2314b..697f43ef4 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4585 +mod_build_number=4592 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting),\ diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index 23a8e70fd..d5354b59a 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -14,6 +14,7 @@ import com.hbm.entity.mob.botprime.*; import com.hbm.entity.mob.siege.*; import com.hbm.entity.particle.*; import com.hbm.entity.projectile.*; +import com.hbm.entity.train.EntityRailCarRidable.SeatDummyEntity; import com.hbm.entity.train.TrainCargoTram; import com.hbm.main.MainRegistry; import com.hbm.util.Tuple.Quartet; @@ -209,7 +210,8 @@ public class EntityMappings { addEntity(EntitySawblade.class, "entity_stray_saw", 1000); addEntity(EntityChemical.class, "entity_chemthrower_splash", 1000); addEntity(EntityMist.class, "entity_mist", 1000); - + + addEntity(SeatDummyEntity.class, "entity_ntm_seat_dummy", 250, false); addEntity(TrainCargoTram.class, "entity_ntm_cargo_tram", 250, false); addMob(EntityCreeperNuclear.class, "entity_mob_nuclear_creeper", 0x204131, 0x75CE00); diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperGold.java b/src/main/java/com/hbm/entity/mob/EntityCreeperGold.java index d9ab7d3b6..70ad6fbe9 100644 --- a/src/main/java/com/hbm/entity/mob/EntityCreeperGold.java +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperGold.java @@ -2,9 +2,11 @@ package com.hbm.entity.mob; import com.hbm.explosion.vanillant.ExplosionVNT; import com.hbm.explosion.vanillant.standard.*; +import com.hbm.items.ModItems; import net.minecraft.entity.monster.EntityCreeper; import net.minecraft.init.Blocks; +import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class EntityCreeperGold extends EntityCreeper { @@ -19,8 +21,8 @@ public class EntityCreeperGold extends EntityCreeper { if(!this.worldObj.isRemote) { this.setDead(); - ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, 7); - vnt.setBlockAllocator(new BlockAllocatorBulkie(60)); + ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, this.getPowered() ? 14 : 7, this); + vnt.setBlockAllocator(new BlockAllocatorBulkie(60, this.getPowered() ? 32 : 16)); vnt.setBlockProcessor(new BlockProcessorStandard().withBlockEffect(new BlockMutatorBulkie(Blocks.gold_ore))); vnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(0.5F)); vnt.setPlayerProcessor(new PlayerProcessorStandard()); @@ -33,4 +35,13 @@ public class EntityCreeperGold extends EntityCreeper { public boolean getCanSpawnHere() { return super.getCanSpawnHere() && this.posY <= 40; } + + @Override + protected void dropFewItems(boolean byPlayer, int looting) { + + int amount = byPlayer ? 5 + rand.nextInt(6 + looting * 2) : 3; + for(int i = 0; i < amount; ++i) { + this.entityDropItem(new ItemStack(ModItems.crystal_gold), 0F); + } + } } diff --git a/src/main/java/com/hbm/entity/mob/EntityCreeperVolatile.java b/src/main/java/com/hbm/entity/mob/EntityCreeperVolatile.java index d957c7aca..17160b15e 100644 --- a/src/main/java/com/hbm/entity/mob/EntityCreeperVolatile.java +++ b/src/main/java/com/hbm/entity/mob/EntityCreeperVolatile.java @@ -3,8 +3,10 @@ package com.hbm.entity.mob; import com.hbm.blocks.ModBlocks; import com.hbm.explosion.vanillant.ExplosionVNT; import com.hbm.explosion.vanillant.standard.*; +import com.hbm.items.ModItems; import net.minecraft.entity.monster.EntityCreeper; +import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class EntityCreeperVolatile extends EntityCreeper { @@ -19,8 +21,8 @@ public class EntityCreeperVolatile extends EntityCreeper { if(!this.worldObj.isRemote) { this.setDead(); - ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, 7); - vnt.setBlockAllocator(new BlockAllocatorBulkie(60)); + ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, this.getPowered() ? 14 : 7, this); + vnt.setBlockAllocator(new BlockAllocatorBulkie(60, this.getPowered() ? 32 : 16)); vnt.setBlockProcessor(new BlockProcessorStandard().withBlockEffect(new BlockMutatorBulkie(ModBlocks.block_slag, 1))); vnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(0.5F)); vnt.setPlayerProcessor(new PlayerProcessorStandard()); @@ -33,4 +35,10 @@ public class EntityCreeperVolatile extends EntityCreeper { public boolean getCanSpawnHere() { return super.getCanSpawnHere() && this.posY <= 40; } + + @Override + protected void dropFewItems(boolean byPlayer, int looting) { + this.entityDropItem(new ItemStack(ModItems.sulfur, 2 + rand.nextInt(3)), 0F); + this.entityDropItem(new ItemStack(ModItems.stick_tnt, 1 + rand.nextInt(2)), 0F); + } } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index 750dc5765..39a31c625 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -3,21 +3,13 @@ package com.hbm.entity.train; import com.hbm.blocks.rail.IRailNTM; import com.hbm.blocks.rail.IRailNTM.RailContext; import com.hbm.blocks.rail.IRailNTM.TrackGauge; -import com.hbm.main.MainRegistry; -import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PlayerInformPacket; -import com.hbm.util.ChatBuilder; -import com.hbm.util.ParticleUtil; import com.hbm.util.fauxpointtwelve.BlockPos; 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.player.EntityPlayerMP; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -96,9 +88,6 @@ public abstract class EntityRailCarBase extends Entity { this.velocityChanged = true; } } - - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(new ChatComponentText("Yaw: " + this.rotationYaw), 664, 3000), (EntityPlayerMP) worldObj.playerEntities.get(0)); - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(new ChatComponentText("MYaw: " + this.movementYaw), 665, 3000), (EntityPlayerMP) worldObj.playerEntities.get(0)); } } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index 95dd63367..4fdb73ec4 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -1,30 +1,107 @@ package com.hbm.entity.train; +import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; import net.minecraft.world.World; public abstract class EntityRailCarRidable extends EntityRailCarBase { + public SeatDummyEntity[] passengerSeats; + public EntityRailCarRidable(World world) { super(world); + this.passengerSeats = new SeatDummyEntity[this.getPassengerSeats().length]; } @Override public boolean interactFirst(EntityPlayer player) { - if(this.riddenByEntity != null && this.riddenByEntity instanceof EntityPlayer && this.riddenByEntity != player) { - return true; - } else { - if(!this.worldObj.isRemote) { - player.mountEntity(this); + + if(worldObj.isRemote) return true; + + double nearestDist = Double.POSITIVE_INFINITY; + int nearestSeat = -1; + + Vec3[] seats = getPassengerSeats(); + for(int i = 0; i < seats.length; i++) { + + Vec3 seat = seats[i]; + if(seat == null) continue; + if(passengerSeats[i] != null) continue; + + seat.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); + double x = posX + seat.xCoord; + double y = posY + seat.yCoord; + double z = posZ + seat.zCoord; + double dist = Vec3.createVectorHelper(player.posX - x, player.posY - y, player.posZ - z).lengthVector(); + + if(dist < nearestDist) { + nearestDist = dist; + nearestSeat = i; } - return true; } + + if(this.riddenByEntity == null) { + Vec3 seat = getRiderSeatPosition(); + seat.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); + double x = posX + seat.xCoord; + double y = posY + seat.yCoord; + double z = posZ + seat.zCoord; + double dist = Vec3.createVectorHelper(player.posX - x, player.posY - y, player.posZ - z).lengthVector(); + + if(dist < nearestDist) { + nearestDist = dist; + nearestSeat = -1; + } + } + + if(nearestDist > 20) return true; + + if(nearestSeat == -1) { + player.mountEntity(this); + } else { + SeatDummyEntity dummySeat = new SeatDummyEntity(worldObj); + Vec3 passengerSeat = this.getPassengerSeats()[nearestSeat]; + passengerSeat.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); + double x = posX + passengerSeat.xCoord; + double y = posY + passengerSeat.yCoord; + double z = posZ + passengerSeat.zCoord; + dummySeat.setPosition(x, y - 1, z); + passengerSeats[nearestSeat] = dummySeat; + worldObj.spawnEntityInWorld(dummySeat); + player.mountEntity(dummySeat); + } + + return true; } @Override public void onUpdate() { super.onUpdate(); + + if(!worldObj.isRemote) { + + Vec3[] seats = this.getPassengerSeats(); + for(int i = 0; i < passengerSeats.length; i++) { + SeatDummyEntity seat = passengerSeats[i]; + + if(seat != null) { + if(seat.riddenByEntity == null) { + passengerSeats[i] = null; + seat.setDead(); + } else { + Vec3 rot = seats[i]; + rot.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); + double x = posX + rot.xCoord; + double y = posY + rot.yCoord; + double z = posZ + rot.zCoord; + seat.setPosition(x, y - 1, z); + seat.updateRiderPosition(); + } + } + } + } } @Override @@ -40,4 +117,21 @@ public abstract class EntityRailCarRidable extends EntityRailCarBase { /** Returns a Vec3 showing the relative position from the driver to the core */ public abstract Vec3 getRiderSeatPosition(); + + public abstract Vec3[] getPassengerSeats(); + + public static class SeatDummyEntity extends Entity { + public SeatDummyEntity(World world) { super(world); this.setSize(0.5F, 0.1F);} + @Override protected void entityInit() { } + @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 updateRiderPosition() { + if(this.riddenByEntity != null) { + this.riddenByEntity.setPosition(this.posX, this.posY + 1, this.posZ); + } + } + } } diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index 5f76989a4..c18e6ab23 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -31,7 +31,7 @@ public class TrainCargoTram extends EntityRailCarRidable { public double speed = 0; public static final double maxSpeed = 0.5; public static final double acceleration = 0.01; - public static final double deceleration = 0.75; + public static final double deceleration = 0.95; @Override public double getCurrentSpeed() { // in its current form, only call once per tick @@ -80,4 +80,17 @@ public class TrainCargoTram extends EntityRailCarRidable { return true; } + + @Override + public boolean shouldRiderSit() { + return true; + } + + @Override + public Vec3[] getPassengerSeats() { + return new Vec3[] { + Vec3.createVectorHelper(0.5, 1.75, -1.5), + Vec3.createVectorHelper(-0.5, 1.75, -1.5) + }; + } } diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index dcc814ea7..79c7e3689 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 (4585)"; + public static final String VERSION = "1.0.27 BETA (4592)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index da251825c..b90f1903d 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -848,7 +848,7 @@ public class MainRegistry { 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()); - new BiomeCave().setThreshold(1.5D).setRangeMult(20).setYLevel(40).setMaxRange(20); + //new BiomeCave().setThreshold(1.5D).setRangeMult(20).setYLevel(40).setMaxRange(20); //new OreLayer(Blocks.coal_ore, 0.2F).setThreshold(4).setRangeMult(3).setYLevel(70); Compat.handleRailcraftNonsense(); diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 9393a59c8..c3efd654e 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -210,7 +210,7 @@ public class ModEventHandlerClient { Minecraft.getMinecraft().renderEngine.bindTexture(Gui.icons); }*/ - List text = new ArrayList(); + /*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) { @@ -273,7 +273,7 @@ public class ModEventHandlerClient { } while(distanceToCover != 0); ILookOverlay.printGeneric(event, "DEBUG", 0xffff00, 0x4040000, text); - } + }*/ } /// HANLDE ANIMATION BUSES /// diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java index 354fef320..599287701 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java @@ -124,7 +124,12 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU if(slots[0] != null && burnTime < 200 && TileEntityFurnace.getItemBurnTime(slots[0]) > 0) { // less than one operation stored? burn more fuel! burnTime += TileEntityFurnace.getItemBurnTime(slots[0]); - this.decrStackSize(0, 1); + + if(slots[0].stackSize == 1 && slots[0].getItem().hasContainerItem(slots[0])) { + slots[0] = slots[0].getItem().getContainerItem(slots[0]).copy(); + } else { + this.decrStackSize(0, 1); + } this.markChanged(); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java b/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java index fcab378f7..f3c930d3e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityTesla.java @@ -125,14 +125,16 @@ public class TileEntityTesla extends TileEntityMachineBase implements IEnergyUse continue; } + if(e instanceof EntityCreeper) { + ((EntityCreeper)e).getDataWatcher().updateObject(17, Byte.valueOf((byte)1)); + ret.add(new double[] {e.posX, e.posY + e.height / 2, e.posZ}); + continue; + } + if(!(e instanceof EntityPlayer && ArmorUtil.checkForFaraday((EntityPlayer)e))) if(e.attackEntityFrom(ModDamageSource.electricity, MathHelper.clamp_float(e.getMaxHealth() * 0.5F, 3, 20) / (float)targets.size())) worldObj.playSoundAtEntity(e, "hbm:weapon.tesla", 1.0F, 1.0F); - if(e instanceof EntityCreeper) { - ((EntityCreeper)e).getDataWatcher().updateObject(17, Byte.valueOf((byte)1)); - } - double offset = 0; if(source != null && e instanceof EntityPlayer && worldObj.isRemote) diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 5e7a1b6f3..ad9fb7d74 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -504,9 +504,11 @@ entity.entity_ntm_radiation_blaze.name=Kernschmelze-Elementar entity.hbm.entity_ntm_ufo.name=Marsianisches Invasionsschiff entity.entity_mob_hunter_chopper.name=Jagdschrauber entity.entity_mob_mask_man.name=Maskenmann +entity.entity_mob_gold_creeper.name=Goldener Creeper entity.entity_mob_nuclear_creeper.name=Nuklearer Creeper entity.entity_mob_phosgene_creeper.name=Phosgen-Creeper entity.entity_mob_tainted_creeper.name=Verseuchter Creeper +entity.entity_mob_volatile_creeper.name=Instabiler Creeper entity.entity_taint_crab.name=Verseuchte Krabbe entity.entity_tesla_crab.name=Tesla-Krabbe entity.hbm.entity_balls_o_tron.name=Balls-O-Tron Prime diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index c35075e33..e2b518d48 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -950,9 +950,11 @@ entity.entity_ntm_radiation_blaze.name=Meltdown Elemental entity.hbm.entity_ntm_ufo.name=Martian Invasion Ship entity.entity_mob_hunter_chopper.name=Hunter Chopper entity.entity_mob_mask_man.name=Mask Man +entity.entity_mob_gold_creeper.name=Golden Creeper entity.entity_mob_nuclear_creeper.name=Nuclear Creeper entity.entity_mob_phosgene_creeper.name=Phosgene Creeper entity.entity_mob_tainted_creeper.name=Tainted Creeper +entity.entity_mob_volatile_creeper.name=Volatile Creeper entity.entity_taint_crab.name=Taint Crab entity.entity_tesla_crab.name=Tesla Crab entity.hbm.entity_balls_o_tron.name=Balls-O-Tron Prime diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_CHOLERSTEROL.png b/src/main/resources/assets/hbm/textures/models/tank/tank_CHOLESTEROL.png similarity index 100% rename from src/main/resources/assets/hbm/textures/models/tank/tank_CHOLERSTEROL.png rename to src/main/resources/assets/hbm/textures/models/tank/tank_CHOLESTEROL.png From bea23315bf53f189287ffac10c1014528fa573c4 Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Sun, 7 May 2023 21:41:13 +0300 Subject: [PATCH 072/285] Updated ru_RU.lang updated russian localization --- src/main/resources/assets/hbm/lang/ru_RU.lang | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index 1006e4d4f..f1d124f2e 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -4430,6 +4430,8 @@ 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=Возгораемый крипер eye.respond.no=§c"Нет" eye.respond.nothing=...Оно не отвечает From 015ee2245aed052d3e723725adb9e0aa5b33e38a Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 8 May 2023 16:16:59 +0200 Subject: [PATCH 073/285] inventories for trains --- .../hbm/blocks/rail/RailStandardCurve.java | 9 -- .../hbm/entity/train/EntityRailCarCargo.java | 141 ++++++++++++++++++ .../entity/train/EntityRailCarRidable.java | 2 +- .../com/hbm/entity/train/TrainCargoTram.java | 32 +++- 4 files changed, 173 insertions(+), 11 deletions(-) create mode 100644 src/main/java/com/hbm/entity/train/EntityRailCarCargo.java diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java index 35a6a9b4a..46bc0bf4d 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java @@ -1,21 +1,12 @@ package com.hbm.blocks.rail; -import java.util.ArrayList; -import java.util.List; - import com.hbm.blocks.BlockDummyable; import com.hbm.lib.Library; -import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PlayerInformPacket; -import com.hbm.util.ParticleUtil; import com.hbm.util.fauxpointtwelve.BlockPos; import net.minecraft.block.material.Material; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.ChatComponentText; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarCargo.java b/src/main/java/com/hbm/entity/train/EntityRailCarCargo.java new file mode 100644 index 000000000..2e41f6d4d --- /dev/null +++ b/src/main/java/com/hbm/entity/train/EntityRailCarCargo.java @@ -0,0 +1,141 @@ +package com.hbm.entity.train; + +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.world.World; + +public abstract class EntityRailCarCargo extends EntityRailCarBase implements IInventory { + + protected String entityName; + protected ItemStack[] slots = new ItemStack[this.getSizeInventory()]; + + public EntityRailCarCargo(World world) { + super(world); + } + + @Override + public ItemStack getStackInSlot(int slot) { + return slots[slot]; + } + + @Override + public ItemStack decrStackSize(int slot, int amount) { + if(this.slots[slot] != null) { + ItemStack itemstack; + + if(this.slots[slot].stackSize <= amount) { + itemstack = this.slots[slot]; + this.slots[slot] = null; + return itemstack; + } else { + itemstack = this.slots[slot].splitStack(amount); + + if(this.slots[slot].stackSize == 0) { + this.slots[slot] = null; + } + + return itemstack; + } + } else { + return null; + } + } + + @Override + public ItemStack getStackInSlotOnClosing(int slot) { + if(this.slots[slot] != null) { + ItemStack itemstack = this.slots[slot]; + this.slots[slot] = null; + return itemstack; + } else { + return null; + } + } + + @Override + public void setInventorySlotContents(int slot, ItemStack stack) { + this.slots[slot] = stack; + + if(stack != null && stack.stackSize > this.getInventoryStackLimit()) { + stack.stackSize = this.getInventoryStackLimit(); + } + } + + @Override + public int getInventoryStackLimit() { + return 64; + } + + @Override + public void markDirty() { } + + @Override + public boolean isUseableByPlayer(EntityPlayer player) { + return this.isDead ? false : player.getDistanceSqToEntity(this) <= 64.0D; + } + + @Override + public void openInventory() { } + + @Override + public void closeInventory() { } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + return true; + } + + @Override + protected void writeEntityToNBT(NBTTagCompound nbt) { + super.writeEntityToNBT(nbt); + NBTTagList nbttaglist = new NBTTagList(); + + for(int i = 0; i < this.slots.length; ++i) { + if(this.slots[i] != null) { + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound1.setByte("Slot", (byte) i); + this.slots[i].writeToNBT(nbttagcompound1); + nbttaglist.appendTag(nbttagcompound1); + } + } + + nbt.setTag("Items", nbttaglist); + } + + @Override + protected void readEntityFromNBT(NBTTagCompound nbt) { + super.readEntityFromNBT(nbt); + NBTTagList nbttaglist = nbt.getTagList("Items", 10); + this.slots = new ItemStack[this.getSizeInventory()]; + + for(int i = 0; i < nbttaglist.tagCount(); ++i) { + NBTTagCompound nbttagcompound1 = nbttaglist.getCompoundTagAt(i); + int j = nbttagcompound1.getByte("Slot") & 255; + + if(j >= 0 && j < this.slots.length) { + this.slots[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); + } + } + } + + @Override + public boolean hasCustomInventoryName() { + return this.entityName != null; + } + + public String getEntityName() { + return this.entityName; + } + + public void setEntityName(String name) { + this.entityName = name; + } + + @Override + public String getCommandSenderName() { + return this.entityName != null ? this.entityName : super.getCommandSenderName(); + } +} diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index 4fdb73ec4..3d2f6805b 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -6,7 +6,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public abstract class EntityRailCarRidable extends EntityRailCarBase { +public abstract class EntityRailCarRidable extends EntityRailCarCargo { public SeatDummyEntity[] passengerSeats; diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index c18e6ab23..7761a76e0 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -1,14 +1,21 @@ package com.hbm.entity.train; import com.hbm.blocks.rail.IRailNTM.TrackGauge; +import com.hbm.inventory.container.ContainerCrateSteel; +import com.hbm.inventory.gui.GUICrateSteel; +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.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class TrainCargoTram extends EntityRailCarRidable { +public class TrainCargoTram extends EntityRailCarRidable implements IGUIProvider { /* * @@ -93,4 +100,27 @@ public class TrainCargoTram extends EntityRailCarRidable { Vec3.createVectorHelper(-0.5, 1.75, -1.5) }; } + + @Override + public int getSizeInventory() { + return 27; + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.getEntityName() : "container.trainTram"; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + //return new ContainerTrainCargoTram(player.inventory, (TrainCargoTram)player.worldObj.getEntityByID(x)); + return null; + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + //return new GUITrainCargoTram(player.inventory, (TrainCargoTram) player.worldObj.getEntityByID(x)); + return null; + } } From 73911abbd6884ea0f813e532dfcfcba50f8db1fe Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 8 May 2023 23:52:09 +0200 Subject: [PATCH 074/285] biblically accurate tram model --- .../standard/BlockMutatorBulkie.java | 2 +- .../assets/hbm/models/vehicles/tram.obj | 1255 +++++++++++------ .../assets/hbm/textures/models/trains/ow.png | Bin 0 -> 79618 bytes .../hbm/textures/models/trains/tram.png | Bin 0 -> 1148 bytes 4 files changed, 843 insertions(+), 414 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/models/trains/ow.png create mode 100644 src/main/resources/assets/hbm/textures/models/trains/tram.png diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorBulkie.java b/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorBulkie.java index 5b89ee88e..8d7a2d77f 100644 --- a/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorBulkie.java +++ b/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorBulkie.java @@ -21,7 +21,7 @@ public class BlockMutatorBulkie implements IBlockMutator { @Override public void mutatePre(ExplosionVNT explosion, Block block, int meta, int x, int y, int z) { - if(!block.isBlockNormalCube()) return; + if(!block.isNormalCube()) return; Vec3 vec = Vec3.createVectorHelper(x + 0.5 - explosion.posX, y + 0.5 - explosion.posY, z + 0.5 - explosion.posZ); if(vec.lengthVector() >= explosion.size - 0.5) { explosion.world.setBlock(x, y, z, metaBlock.block, metaBlock.meta, 3); diff --git a/src/main/resources/assets/hbm/models/vehicles/tram.obj b/src/main/resources/assets/hbm/models/vehicles/tram.obj index 38a567ec5..7ec0c8733 100644 --- a/src/main/resources/assets/hbm/models/vehicles/tram.obj +++ b/src/main/resources/assets/hbm/models/vehicles/tram.obj @@ -1,425 +1,854 @@ -# Blender v2.79 (sub 0) OBJ File: 'tram.blend' +# Blender v2.79 (sub 0) OBJ File: 'tram_new.blend' # www.blender.org o Plane -v -1.000000 0.500000 2.500000 -v 1.000000 0.500000 2.500000 -v -1.000000 0.500000 -2.500000 -v 1.000000 0.500000 -2.500000 v -1.000000 0.250000 2.500000 v 1.000000 0.250000 2.500000 v -1.000000 0.250000 -2.500000 v 1.000000 0.250000 -2.500000 -v -1.000000 0.000000 2.250000 -v 1.000000 0.000000 2.250000 -v -1.000000 0.000000 -2.250000 -v 1.000000 0.000000 -2.250000 -v -0.125000 0.500000 1.000000 -v 0.875000 0.500000 1.000000 -v -0.125000 1.500000 1.000000 -v 0.875000 1.500000 1.000000 -v 0.125000 0.500000 2.000000 -v -0.125000 0.500000 1.750000 -v 0.875000 0.500000 1.750000 -v 0.625000 0.500000 2.000000 -v -0.125000 1.500000 1.750000 -v 0.125000 1.500000 2.000000 -v 0.625000 1.500000 2.000000 -v 0.875000 1.500000 1.750000 -v -0.625000 0.750000 2.437500 -v -0.625000 0.750000 2.312500 -v 0.625000 0.750000 2.312500 -v 0.625000 0.750000 2.437500 -v 0.713388 0.713388 2.312500 -v 0.713388 0.713388 2.437500 -v 0.750000 0.625000 2.312500 -v 0.750000 0.625000 2.437500 -v 0.713388 0.536612 2.312500 -v 0.713388 0.536612 2.437500 -v 0.625000 0.500000 2.312500 -v 0.625000 0.500000 2.437500 -v 0.536612 0.536612 2.312500 -v 0.536612 0.536612 2.437500 -v 0.500000 0.625000 2.312500 -v 0.500000 0.625000 2.437500 -v 0.536612 0.713388 2.312500 -v 0.536612 0.713388 2.437500 -v -0.536612 0.713388 2.312500 -v -0.536612 0.713388 2.437500 -v -0.500000 0.625000 2.312500 -v -0.500000 0.625000 2.437500 -v -0.536612 0.536612 2.312500 -v -0.536612 0.536612 2.437500 -v -0.625000 0.500000 2.312500 -v -0.625000 0.500000 2.437500 -v -0.713388 0.536612 2.312500 -v -0.713388 0.536612 2.437500 -v -0.750000 0.625000 2.312500 -v -0.750000 0.625000 2.437500 -v -0.713388 0.713388 2.312500 -v -0.713388 0.713388 2.437500 -v 0.375000 0.500000 2.312500 -v 0.875000 0.500000 2.312500 -v 0.375000 0.500000 2.187500 -v 0.875000 0.500000 2.187500 -v 0.375000 0.750000 2.187500 -v 0.375000 0.750000 2.312500 -v 0.875000 0.750000 2.312500 -v 0.875000 0.750000 2.187500 -v -0.875000 0.500000 2.312500 -v -0.375000 0.500000 2.312500 -v -0.875000 0.500000 2.187500 -v -0.375000 0.500000 2.187500 -v -0.875000 0.750000 2.187500 -v -0.875000 0.750000 2.312500 -v -0.375000 0.750000 2.312500 -v -0.375000 0.750000 2.187500 -v -0.875000 0.500000 1.875000 -v -0.125000 0.500000 1.875000 -v -0.875000 0.500000 1.125000 -v -0.125000 0.500000 1.125000 -v -0.875000 1.000000 1.125000 -v -0.875000 1.000000 1.875000 -v -0.125000 1.000000 1.875000 -v -0.125000 1.000000 1.125000 -v -0.750000 0.500000 -2.250000 -v 0.750000 0.500000 -2.250000 -v -0.750000 0.500000 -1.750000 -v 0.750000 0.500000 -1.750000 -v -0.750000 1.000000 -2.250000 -v 0.750000 1.000000 -2.250000 -v -0.750000 1.000000 -1.750000 -v 0.750000 1.000000 -1.750000 -vt 0.000000 0.833333 -vt 0.320000 0.000000 -vt 0.320000 0.833333 -vt 0.840000 0.333333 -vt 0.800000 0.000000 -vt 0.840000 0.000000 -vt 0.720000 0.833333 -vt 0.720000 0.000000 -vt 0.800000 0.041667 -vt 0.880000 0.333333 -vt 0.880000 0.000000 -vt 0.920000 0.333333 -vt 0.880000 0.000000 -vt 0.920000 0.000000 -vt 0.320000 0.000000 -vt 0.640000 0.750000 -vt 0.320000 0.750000 -vt 0.320000 0.791666 -vt 0.640000 0.791667 -vt 0.640000 0.833333 -vt 0.640000 0.000000 -vt 0.720000 0.041667 -vt 0.800000 0.875000 -vt 0.880000 0.708333 -vt 0.880000 0.875000 -vt 0.640000 0.958333 -vt 0.480000 0.833333 -vt 0.640000 0.833333 -vt 0.280000 1.000000 -vt 0.160000 1.000000 -vt 0.160000 0.833333 -vt 0.160000 0.833333 -vt 0.000000 1.000000 -vt 0.000000 0.833333 -vt 0.640000 0.791667 -vt 0.480000 0.916667 -vt 0.320000 0.958333 -vt 0.320000 0.916667 -vt 0.320000 0.791667 -vt 0.480000 0.791667 -vt 0.760000 0.833333 -vt 0.800000 0.916666 -vt 0.760000 0.916667 -vt 0.906131 0.580162 -vt 0.880000 0.568887 -vt 0.890824 0.541667 -vt 0.400000 0.973065 -vt 0.420000 0.958333 -vt 0.420000 0.973065 -vt 0.320000 1.000000 -vt 0.340000 0.958333 -vt 0.340000 1.000000 -vt 0.460000 0.987796 -vt 0.480000 0.973065 -vt 0.480000 0.987796 -vt 0.360000 0.958333 -vt 0.340000 0.973065 -vt 0.340000 0.958333 -vt 0.760000 0.996828 -vt 0.780000 0.955161 -vt 0.780000 0.996828 -vt 0.380000 0.973065 -vt 0.400000 0.958333 -vt 0.400000 0.973065 -vt 0.360000 0.973065 -vt 0.340000 0.987796 -vt 0.780000 0.996828 -vt 0.800000 0.955161 -vt 0.800000 0.996828 -vt 0.380000 0.987796 -vt 0.400000 0.987796 -vt 0.380000 0.987796 -vt 0.360000 0.973065 -vt 0.380000 0.973065 -vt 0.940000 0.583333 -vt 0.960000 0.666667 -vt 0.940000 0.666667 -vt 0.440000 0.973065 -vt 0.460000 0.958333 -vt 0.460000 0.973065 -vt 0.380000 0.958333 -vt 0.420000 0.987796 -vt 0.440000 0.973065 -vt 0.440000 0.987796 -vt 0.440000 0.987796 -vt 0.460000 0.987796 -vt 0.916955 0.571129 -vt 0.936955 0.556398 -vt 0.936955 0.571129 -vt 0.770824 0.916666 -vt 0.796955 0.927941 -vt 0.786131 0.955161 -vt 0.420000 0.973065 -vt 0.440000 0.958333 -vt 0.916955 0.556398 -vt 0.936955 0.541667 -vt 0.920000 0.250000 -vt 0.960000 0.333333 -vt 0.920000 0.333333 -vt 0.460000 0.973065 -vt 0.480000 0.958333 -vt 0.400000 0.987796 -vt 0.420000 0.987796 -vt 0.920000 0.083333 -vt 0.960000 0.166667 -vt 0.920000 0.166667 -vt 0.940000 0.666667 -vt 0.920000 0.708333 -vt 0.920000 0.666667 -vt 0.920000 0.583333 -vt 0.940000 0.666667 -vt 0.920000 0.666667 -vt 0.960000 0.250000 -vt 0.920000 0.166667 -vt 0.960000 0.166667 -vt 0.800000 0.708333 -vt 0.920000 0.583333 -vt 0.920000 0.708333 -vt 0.640000 0.958333 -vt 0.760000 0.833333 -vt 0.760000 0.958333 -vt 0.960000 0.458333 -vt 0.880000 0.333333 -vt 0.960000 0.333333 -vt 0.960000 0.958333 -vt 0.880000 0.833333 -vt 0.960000 0.833333 -vt 0.880000 1.000000 -vt 0.800000 0.875000 -vt 0.880000 0.875000 -vt 0.880000 0.708333 -vt 0.960000 0.833333 -vt 0.880000 0.833333 -vt 1.000000 0.083333 -vt 0.920000 0.000000 -vt 1.000000 0.000000 -vt 0.880000 0.541667 -vt 0.960000 0.458333 -vt 0.960000 0.541667 -vt 0.800000 0.583333 -vt 0.880000 0.333333 -vt 0.880000 0.583333 -vt 0.000000 0.000000 -vt 0.800000 0.333333 -vt 0.760000 0.000000 -vt 0.800000 0.791666 -vt 0.760000 0.833333 -vt 0.880000 0.333333 -vt 0.640000 0.000000 -vt 0.680000 0.000000 -vt 0.720000 0.791667 -vt 0.680000 0.833333 -vt 0.800000 0.708333 -vt 0.480000 0.958333 -vt 0.280000 0.833333 -vt 0.320000 0.875000 -vt 0.320000 0.958333 -vt 0.160000 1.000000 -vt 0.480000 0.791667 -vt 0.480000 0.958333 -vt 0.800000 0.833333 -vt 0.916955 0.552942 -vt 0.916955 0.568887 -vt 0.890824 0.580162 -vt 0.880000 0.552942 -vt 0.906131 0.541667 -vt 0.400000 0.958333 -vt 0.320000 0.958333 -vt 0.760000 0.955161 -vt 0.380000 0.958333 -vt 0.360000 0.987796 -vt 0.780000 0.955161 -vt 0.960000 0.583333 -vt 0.440000 0.958333 -vt 0.360000 0.958333 -vt 0.760000 0.943886 -vt 0.760000 0.927941 -vt 0.786131 0.916666 -vt 0.796955 0.943886 -vt 0.770824 0.955161 -vt 0.420000 0.958333 -vt 0.916955 0.541667 -vt 0.960000 0.250000 -vt 0.460000 0.958333 -vt 0.960000 0.083333 -vt 0.940000 0.708333 -vt 0.940000 0.583333 -vt 0.920000 0.250000 -vt 0.800000 0.583333 -vt 0.640000 0.833333 -vt 0.880000 0.458333 -vt 0.880000 0.958333 -vt 0.800000 1.000000 -vt 0.960000 0.708333 -vt 0.920000 0.083333 -vt 0.880000 0.458333 -vt 0.800000 0.333333 +v -1.000000 0.750000 -2.500000 +v -1.000000 0.750000 2.500000 +v 1.000000 0.750000 2.500000 +v 1.000000 0.750000 -2.500000 +v 0.562500 0.375000 2.562500 +v 0.562500 0.875000 2.562500 +v 0.562500 0.375000 2.062500 +v 0.562500 0.875000 2.062500 +v 1.062500 0.375000 2.562500 +v 1.062500 0.875000 2.562500 +v 1.062500 0.375000 2.062500 +v 1.062500 0.875000 2.062500 +v -1.062500 0.375000 2.562500 +v -1.062500 0.875000 2.562500 +v -1.062500 0.375000 2.062500 +v -1.062500 0.875000 2.062500 +v -0.562500 0.375000 2.562500 +v -0.562500 0.875000 2.562500 +v -0.562500 0.375000 2.062500 +v -0.562500 0.875000 2.062500 +v 0.562500 0.375000 -1.812500 +v 0.562500 0.875000 -1.812500 +v 0.562500 0.375000 -2.562500 +v 0.562500 0.875000 -2.562500 +v 1.062500 0.375000 -1.812500 +v 1.062500 0.875000 -1.812500 +v 1.062500 0.375000 -2.562500 +v 1.062500 0.875000 -2.562500 +v -1.062500 0.375000 -1.812500 +v -1.062500 0.875000 -1.812500 +v -1.062500 0.375000 -2.562500 +v -1.062500 0.875000 -2.562500 +v -0.562500 0.375000 -1.812500 +v -0.562500 0.875000 -1.812500 +v -0.562500 0.375000 -2.562500 +v -0.562500 0.875000 -2.562500 +v 0.875000 0.750000 1.062500 +v -0.125000 0.750000 1.062500 +v 0.000000 1.625000 1.187500 +v 0.750000 1.625000 1.187500 +v 0.000000 0.750000 1.187500 +v 0.750000 0.750000 1.187500 +v 0.875000 0.750000 1.875000 +v 0.687500 0.750000 2.062500 +v 0.062500 0.750000 2.062500 +v -0.125000 0.750000 1.875000 +v 0.687500 1.750000 2.062500 +v 0.875000 1.750000 1.875000 +v -0.125000 1.750000 1.875000 +v 0.062500 1.750000 2.062500 +v 0.000000 1.625000 1.875000 +v 0.750000 1.625000 1.875000 +v 0.687500 1.750000 1.937500 +v 0.062500 1.750000 1.937500 +v -0.875000 0.750000 1.250000 +v 0.750000 1.750000 1.875000 +v -0.875000 0.750000 1.750000 +v 0.000000 1.750000 1.875000 +v 0.687500 1.625000 1.937500 +v 0.062500 1.625000 1.937500 +v 0.000000 0.750000 1.062500 +v 0.750000 0.750000 1.062500 +v 0.875000 1.500000 1.062500 +v 0.875000 1.750000 1.187500 +v -0.125000 1.750000 1.187500 +v -0.125000 1.500000 1.062500 +v 0.750000 1.750000 1.187500 +v 0.750000 1.500000 1.062500 +v -0.187500 0.750000 1.750000 +v 0.000000 1.500000 1.062500 +v 0.000000 1.750000 1.187500 +v -0.187500 0.750000 1.250000 +v -0.187500 0.937500 1.250000 +v -0.187500 0.937500 1.750000 +v -0.875000 0.937500 1.250000 +v -0.875000 0.937500 1.750000 +v -0.187500 1.062500 1.375000 +v -0.187500 1.062500 1.625000 +v -0.875000 1.062500 1.375000 +v -0.875000 1.062500 1.625000 +v 0.937500 0.750000 1.000000 +v 0.812500 0.750000 1.000000 +v 0.937500 0.750000 0.875000 +v 0.812500 0.750000 0.875000 +v 0.812500 1.750000 0.875000 +v 0.937500 1.750000 0.875000 +v 0.812500 1.750000 1.000000 +v 0.937500 1.750000 1.000000 +v -0.812500 0.750000 0.750000 +v -0.937500 0.750000 0.750000 +v -0.812500 0.750000 0.625000 +v -0.937500 0.750000 0.625000 +v -0.812500 1.375000 0.750000 +v -0.937500 1.375000 0.750000 +v -0.812500 1.500000 0.625000 +v -0.937500 1.500000 0.625000 +v -0.812500 1.375000 1.125000 +v -0.937500 1.375000 1.250000 +v -0.812500 1.500000 1.125000 +v -0.937500 1.500000 1.250000 +v -0.125000 1.375000 1.125000 +v -0.125000 1.375000 1.250000 +v -0.125000 1.500000 1.125000 +v -0.125000 1.500000 1.250000 +v 0.875000 0.250000 -1.625000 +v 0.750000 0.250000 1.750000 +v 0.750000 0.073223 -1.676777 +v 0.875000 0.250000 -1.250000 +v 0.875000 0.250000 1.750000 +v 0.750000 0.073223 1.323223 +v 0.750000 0.000000 1.500000 +v 0.750000 0.073223 1.676777 +v 0.750000 0.250000 -1.250000 +v 0.750000 0.250000 1.250000 +v 0.875000 0.250000 -1.375000 +v 0.875000 0.073223 -1.323223 +v 0.875000 0.250000 1.250000 +v 0.875000 0.073223 1.323223 +v 0.875000 0.000000 1.500000 +v 0.875000 0.073223 1.676777 +v 0.875000 0.250000 1.625000 +v 0.875000 0.000000 -1.500000 +v 0.875000 0.073223 -1.676777 +v 0.875000 0.250000 -1.750000 +v 0.875000 0.250000 1.375000 +v 0.875000 0.161612 1.411612 +v 0.875000 0.125000 1.500000 +v 0.875000 0.161612 1.588388 +v 0.937500 0.250000 1.625000 +v 0.750000 0.250000 -1.750000 +v 0.750000 0.073223 -1.323223 +v 0.750000 0.000000 -1.500000 +v 0.937500 0.250000 1.375000 +v 0.937500 0.161612 1.411612 +v 0.937500 0.125000 1.500000 +v 0.937500 0.161612 1.588388 +v 0.875000 0.161612 -1.588388 +v 0.875000 0.125000 -1.500000 +v 0.875000 0.161612 -1.411612 +v 0.937500 0.250000 -1.375000 +v 0.937500 0.250000 -1.625000 +v 0.937500 0.161612 -1.588388 +v 0.937500 0.125000 -1.500000 +v 0.937500 0.161612 -1.411612 +v -0.750000 0.250000 2.000000 +v 0.750000 0.250000 2.000000 +v -0.750000 0.250000 -2.000000 +v 0.750000 0.250000 -2.000000 +v -0.750000 0.125000 -1.875000 +v -0.750000 0.125000 1.875000 +v 0.750000 0.125000 1.875000 +v 0.750000 0.125000 -1.875000 +v -0.875000 0.250000 1.625000 +v -0.750000 0.250000 -1.750000 +v -0.750000 0.073223 1.676777 +v -0.875000 0.250000 1.250000 +v -0.875000 0.250000 -1.750000 +v -0.750000 0.073223 -1.323223 +v -0.750000 0.000000 -1.500000 +v -0.750000 0.073223 -1.676777 +v -0.750000 0.250000 1.250000 +v -0.750000 0.250000 -1.250000 +v -0.875000 0.250000 1.375000 +v -0.875000 0.073223 1.323223 +v -0.875000 0.250000 -1.250000 +v -0.875000 0.073223 -1.323223 +v -0.875000 0.000000 -1.500000 +v -0.875000 0.073223 -1.676777 +v -0.875000 0.250000 -1.625000 +v -0.875000 0.000000 1.500000 +v -0.875000 0.073223 1.676777 +v -0.875000 0.250000 1.750000 +v -0.875000 0.250000 -1.375000 +v -0.875000 0.161612 -1.411611 +v -0.875000 0.125000 -1.500000 +v -0.875000 0.161612 -1.588388 +v -0.937500 0.250000 -1.625000 +v -0.750000 0.250000 1.750000 +v -0.750000 0.073223 1.323223 +v -0.750000 0.000000 1.500000 +v -0.937500 0.250000 -1.375000 +v -0.937500 0.161612 -1.411611 +v -0.937500 0.125000 -1.500000 +v -0.937500 0.161612 -1.588388 +v -0.875000 0.161612 1.588389 +v -0.875000 0.125000 1.500000 +v -0.875000 0.161612 1.411612 +v -0.937500 0.250000 1.375000 +v -0.937500 0.250000 1.625000 +v -0.937500 0.161612 1.588389 +v -0.937500 0.125000 1.500000 +v -0.937500 0.161612 1.411612 +vt 0.543210 0.090909 +vt 0.049383 0.454545 +vt 0.049383 0.090909 +vt 0.049383 0.090909 +vt 0.543210 0.454545 +vt 0.049383 0.454545 +vt 0.543210 0.000000 +vt 0.049383 0.000000 +vt 0.049383 0.545455 +vt 0.543210 0.545455 +vt 0.592593 0.454545 +vt 0.543210 0.090909 +vt 0.592593 0.090909 +vt -0.000000 0.090909 +vt -0.000000 0.454545 +vt 0.049383 0.727273 +vt -0.000000 0.636364 +vt 0.049383 0.636364 +vt 0.049383 0.818182 +vt 0.098765 0.909091 +vt 0.049383 0.909091 +vt 0.148148 0.727273 +vt 0.098765 0.636364 +vt 0.148148 0.636364 +vt 0.098765 0.727273 +vt 0.098765 0.545455 +vt 0.049383 0.545455 +vt 0.098765 0.818182 +vt 0.049383 0.727273 +vt -0.000000 0.636364 +vt 0.049383 0.636364 +vt 0.049383 0.818182 +vt 0.098765 0.909091 +vt 0.049383 0.909091 +vt 0.148148 0.727273 +vt 0.098765 0.636364 +vt 0.148148 0.636364 +vt 0.098765 0.727273 +vt 0.098765 0.545455 +vt 0.049383 0.545455 +vt 0.098765 0.818182 +vt 0.345679 0.772727 +vt 0.271605 0.681818 +vt 0.345679 0.681818 +vt 0.271605 0.772727 +vt 0.222222 0.681818 +vt 0.222222 0.772727 +vt 0.148148 0.681818 +vt 0.222222 0.909091 +vt 0.271605 1.000000 +vt 0.222222 1.000000 +vt 0.271605 0.545455 +vt 0.345679 0.772727 +vt 0.271605 0.681818 +vt 0.345679 0.681818 +vt 0.271605 0.772727 +vt 0.222222 0.681818 +vt 0.222222 0.772727 +vt 0.148148 0.681818 +vt 0.222222 0.909091 +vt 0.271605 1.000000 +vt 0.222222 1.000000 +vt 0.271605 0.545455 +vt 0.987654 0.318182 +vt 0.913580 0.477273 +vt 0.913580 0.318182 +vt 0.567901 0.454545 +vt 0.555556 0.590909 +vt 0.555556 0.454545 +vt 0.777778 0.318182 +vt 0.716049 0.500000 +vt 0.716901 0.318679 +vt 0.697531 0.500000 +vt 0.629630 0.534091 +vt 0.629630 0.500000 +vt 0.777778 0.522727 +vt 0.716049 0.522727 +vt 0.697531 0.318182 +vt 0.796296 0.500000 +vt 0.777778 0.500000 +vt 0.864198 0.500000 +vt 0.796296 0.534091 +vt 0.617284 0.454545 +vt 0.604938 0.318182 +vt 0.617284 0.318182 +vt 0.901235 0.318182 +vt 0.888889 0.454545 +vt 0.888889 0.318182 +vt 0.709877 0.534091 +vt 0.697531 0.534091 +vt 0.783951 0.534091 +vt 0.796296 0.534091 +vt 0.919753 0.636364 +vt 0.981481 0.613636 +vt 0.981481 0.636364 +vt 0.913580 0.636364 +vt 0.919753 0.613636 +vt 0.913580 0.602273 +vt 0.987654 0.477273 +vt 0.987654 0.636364 +vt 1.000000 0.477273 +vt 0.987654 0.602273 +vt 0.876543 0.454545 +vt 0.901235 0.602273 +vt 0.604938 0.454545 +vt 0.592593 0.477273 +vt 0.592593 0.318182 +vt 0.876543 0.500000 +vt 0.604938 0.500000 +vt 0.623457 0.659091 +vt 0.691358 0.636364 +vt 0.691358 0.659091 +vt 0.691358 0.534091 +vt 0.623457 0.568182 +vt 0.623457 0.534091 +vt 0.722222 0.568182 +vt 0.722222 0.659091 +vt 0.506173 0.727273 +vt 0.518519 0.750000 +vt 0.506173 0.750000 +vt 0.623457 0.693182 +vt 0.691358 0.693182 +vt 0.691358 0.590909 +vt 0.623457 0.636364 +vt 0.623457 0.590909 +vt 0.506173 0.545455 +vt 0.493827 0.727273 +vt 0.493827 0.545455 +vt 0.518519 0.545455 +vt 0.592593 0.659091 +vt 0.592593 0.568182 +vt 0.543210 0.545455 +vt 0.530864 0.727273 +vt 0.530864 0.545455 +vt 0.518519 0.727273 +vt 0.580247 0.568182 +vt 0.567901 0.590909 +vt 0.592593 0.568182 +vt 0.580247 0.454545 +vt 0.592593 0.454545 +vt 0.543210 0.568182 +vt 0.543210 0.454545 +vt 0.592593 0.681818 +vt 0.580247 0.613636 +vt 0.592593 0.613636 +vt 0.555556 0.681818 +vt 0.543210 0.613636 +vt 0.567901 0.704545 +vt 0.580247 0.704545 +vt 0.567901 0.852273 +vt 0.555556 0.727273 +vt 0.543210 0.852273 +vt 0.543210 0.727273 +vt 0.592593 0.727273 +vt 0.580247 0.852273 +vt 0.555556 0.852273 +vt 0.456790 0.568182 +vt 0.438272 0.590909 +vt 0.438272 0.568182 +vt 0.456790 0.568182 +vt 0.438272 0.590909 +vt 0.438272 0.568182 +vt 0.419210 0.590495 +vt 0.377874 0.558974 +vt 0.394996 0.545918 +vt 0.493827 0.568182 +vt 0.475309 0.590909 +vt 0.475309 0.568182 +vt 0.349457 0.574879 +vt 0.358021 0.568349 +vt 0.366584 0.574879 +vt 0.469136 0.590909 +vt 0.456790 0.590909 +vt 0.419753 0.568182 +vt 0.432099 0.590909 +vt 0.419753 0.590909 +vt 0.469136 0.590909 +vt 0.456790 0.590909 +vt 0.419753 0.568182 +vt 0.432099 0.590909 +vt 0.419753 0.590909 +vt 0.493827 0.568182 +vt 0.475309 0.590909 +vt 0.475309 0.568182 +vt 0.349457 0.574879 +vt 0.358021 0.568349 +vt 0.366584 0.574879 +vt 0.377874 0.558974 +vt 0.394996 0.545918 +vt 0.412118 0.558974 +vt 0.975309 0.022727 +vt 0.604938 0.295455 +vt 0.604938 0.022727 +vt 0.987654 0.295455 +vt 0.987654 0.022727 +vt 0.592593 0.022727 +vt 0.592593 0.295455 +vt 0.592593 0.318182 +vt 0.975309 0.295455 +vt 0.987654 0.318182 +vt 0.987654 0.000000 +vt 0.592593 0.000000 +vt 0.456790 0.568182 +vt 0.438272 0.590909 +vt 0.438272 0.568182 +vt 0.456790 0.568182 +vt 0.438272 0.590909 +vt 0.438272 0.568182 +vt 0.419210 0.590495 +vt 0.377874 0.558974 +vt 0.394996 0.545918 +vt 0.493827 0.568182 +vt 0.475309 0.590909 +vt 0.475309 0.568182 +vt 0.358021 0.568349 +vt 0.366584 0.574879 +vt 0.370132 0.590644 +vt 0.475309 0.568182 +vt 0.456790 0.590909 +vt 0.419753 0.590909 +vt 0.419753 0.568182 +vt 0.456790 0.590909 +vt 0.419753 0.590909 +vt 0.419753 0.568182 +vt 0.493827 0.568182 +vt 0.475309 0.590909 +vt 0.358021 0.568349 +vt 0.366584 0.574879 +vt 0.370132 0.590644 +vt 0.377874 0.558974 +vt 0.394996 0.545918 +vt 0.412118 0.558974 +vt 0.543210 0.454545 +vt -0.000000 0.727273 +vt -0.000000 0.727273 +vt 0.148148 0.772727 +vt 0.271605 0.909091 +vt 0.222222 0.545455 +vt 0.148148 0.772727 +vt 0.271605 0.909091 +vt 0.222222 0.545455 +vt 0.697531 0.534091 +vt 0.796296 0.318182 +vt 0.864198 0.534091 +vt 0.901235 0.477273 +vt 0.901235 0.500000 +vt 0.913580 0.613636 +vt 0.987654 0.613636 +vt 1.000000 0.602273 +vt 0.876543 0.318182 +vt 0.901235 0.477273 +vt 0.592593 0.500000 +vt 0.888889 0.500000 +vt 0.617284 0.500000 +vt 0.691358 0.568182 +vt 0.703704 0.659091 +vt 0.703704 0.568182 +vt 0.611111 0.568182 +vt 0.611111 0.659091 +vt 0.543210 0.727273 +vt 0.543210 0.681818 +vt 0.592593 0.852273 +vt 0.450617 0.590909 +vt 0.450617 0.590909 +vt 0.412118 0.558974 +vt 0.370781 0.590495 +vt 0.487654 0.590909 +vt 0.370132 0.590644 +vt 0.345910 0.590644 +vt 0.487654 0.590909 +vt 0.370132 0.590644 +vt 0.345910 0.590644 +vt 0.419210 0.590495 +vt 0.370781 0.590495 +vt 0.450617 0.590909 +vt 0.450617 0.590909 +vt 0.412118 0.558974 +vt 0.370781 0.590495 +vt 0.487654 0.590909 +vt 0.345910 0.590644 +vt 0.349457 0.574879 +vt 0.469136 0.590909 +vt 0.432099 0.590909 +vt 0.469136 0.590909 +vt 0.432099 0.590909 +vt 0.487654 0.590909 +vt 0.345910 0.590644 +vt 0.349457 0.574879 +vt 0.419210 0.590495 +vt 0.370781 0.590495 +vt 0.475309 0.545455 +vt 0.456790 0.545455 +vt 0.456790 0.602273 +vt 0.438272 0.545455 +vt 0.493827 0.545455 +vt 0.419753 0.602273 +vt 0.475309 0.602273 +vt 0.419753 0.545455 +vt 0.438272 0.602273 +vt 0.438272 0.545455 +vt 0.419753 0.545455 +vt 0.438272 0.602273 +vt 0.475309 0.602273 +vt 0.493827 0.545455 +vt 0.475309 0.545455 +vt 0.456790 0.545455 +vt 0.419753 0.602273 +vt 0.456790 0.602273 +vt 0.475309 0.545455 +vt 0.456790 0.545455 +vt 0.456790 0.602273 +vt 0.438272 0.545455 +vt 0.493827 0.545455 +vt 0.419753 0.602273 +vt 0.475309 0.602273 +vt 0.419753 0.545455 +vt 0.438272 0.602273 +vt 0.438272 0.545455 +vt 0.419753 0.545455 +vt 0.438272 0.602273 +vt 0.475309 0.602273 +vt 0.475309 0.545455 +vt 0.456790 0.545455 +vt 0.419753 0.602273 +vt 0.456790 0.602273 +vt 0.469136 0.602273 +vt 0.432099 0.602273 +vt 0.487654 0.602273 +vt 0.450617 0.602273 +vt 0.450617 0.602273 +vt 0.487654 0.602273 +vt 0.432099 0.602273 +vt 0.469136 0.602273 +vt 0.469136 0.602273 +vt 0.432099 0.602273 +vt 0.487654 0.602273 +vt 0.450617 0.602273 +vt 0.450617 0.602273 +vt 0.487654 0.602273 +vt 0.493827 0.545455 +vt 0.432099 0.602273 +vt 0.469136 0.602273 +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.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 -1.0000 0.0000 0.0000 -vn 0.7071 0.0000 0.7071 vn -0.7071 0.0000 0.7071 -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.3827 0.9239 0.0000 -vn -0.9239 0.3827 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 0.4472 -0.8944 +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.3827 -0.9239 +vn 0.0000 -0.3827 0.9239 s off -f 2/1/1 3/2/1 1/3/1 -f 8/4/2 11/5/2 7/6/2 -f 4/7/3 2/8/3 10/9/3 -f 4/10/4 7/6/4 3/11/4 -f 1/12/5 6/13/5 2/14/5 -f 11/15/6 10/16/6 9/17/6 -f 5/18/7 10/16/7 6/19/7 -f 1/20/8 3/21/8 11/22/8 -f 20/23/5 22/24/5 17/25/5 -f 14/26/3 24/27/3 19/28/3 -f 24/29/1 16/30/1 15/31/1 -f 13/32/4 16/33/4 14/34/4 -f 24/27/9 20/35/9 19/28/9 -f 18/36/10 22/37/10 21/38/10 -f 18/36/8 15/39/8 13/40/8 -f 58/41/5 62/42/5 57/43/5 -f 25/44/5 54/45/5 50/46/5 -f 28/47/11 29/48/11 27/49/11 -f 65/50/8 69/51/8 67/52/8 -f 52/53/12 53/54/12 51/55/12 -f 30/56/13 31/57/13 29/58/13 -f 57/59/8 61/60/8 59/61/8 -f 50/62/14 51/63/14 49/64/14 -f 32/65/15 33/66/15 31/57/15 -f 60/67/3 63/68/3 58/69/3 -f 48/70/16 49/64/16 47/71/16 -f 33/72/16 36/73/16 35/74/16 -f 63/75/1 61/76/1 62/77/1 -f 46/78/15 47/79/15 45/80/15 -f 36/73/14 37/81/14 35/74/14 -f 56/82/17 26/83/17 55/84/17 -f 44/85/13 45/80/13 43/86/13 -f 38/87/12 39/88/12 37/89/12 -f 28/90/5 40/91/5 36/92/5 -f 25/93/11 43/94/11 26/83/11 -f 40/95/18 41/96/18 39/88/18 -f 59/97/4 64/98/4 60/99/4 -f 54/100/18 55/101/18 53/54/18 -f 42/102/17 27/49/17 41/103/17 -f 66/104/5 70/105/5 65/106/5 -f 68/107/3 71/108/3 66/109/3 -f 71/110/1 69/111/1 70/112/1 -f 67/113/4 72/114/4 68/115/4 -f 75/116/6 74/117/6 73/118/6 -f 79/119/1 77/120/1 78/121/1 -f 76/122/3 79/123/3 74/124/3 -f 73/125/8 77/126/8 75/127/8 -f 75/128/4 80/129/4 76/130/4 -f 74/131/5 78/132/5 73/133/5 -f 86/134/3 84/135/3 82/136/3 -f 87/137/8 81/138/8 83/139/8 -f 85/140/4 82/141/4 81/142/4 -f 2/1/1 4/143/1 3/2/1 -f 8/4/2 12/144/2 11/5/2 -f 2/8/3 6/145/3 10/9/3 -f 10/9/3 12/146/3 4/7/3 -f 12/146/3 8/147/3 4/7/3 -f 4/10/4 8/4/4 7/6/4 -f 1/12/5 5/148/5 6/13/5 -f 11/15/6 12/149/6 10/16/6 -f 5/18/7 9/17/7 10/16/7 -f 3/21/8 7/150/8 11/22/8 -f 11/22/8 9/151/8 1/20/8 -f 9/151/8 5/152/8 1/20/8 -f 20/23/5 23/153/5 22/24/5 -f 14/26/3 16/154/3 24/27/3 -f 15/31/1 21/155/1 24/29/1 -f 21/155/1 22/156/1 24/29/1 -f 22/156/1 23/157/1 24/29/1 -f 13/32/4 15/158/4 16/33/4 -f 24/27/9 23/159/9 20/35/9 -f 18/36/10 17/160/10 22/37/10 -f 18/36/8 21/38/8 15/39/8 -f 58/41/5 63/161/5 62/42/5 -f 46/162/5 44/163/5 25/44/5 -f 25/44/5 56/164/5 54/45/5 -f 54/45/5 52/165/5 50/46/5 -f 50/46/5 48/166/5 46/162/5 -f 46/162/5 25/44/5 50/46/5 -f 28/47/11 30/167/11 29/48/11 -f 65/50/8 70/168/8 69/51/8 -f 52/53/12 54/100/12 53/54/12 -f 30/56/13 32/65/13 31/57/13 -f 57/59/8 62/169/8 61/60/8 -f 50/62/14 52/170/14 51/63/14 -f 32/65/15 34/171/15 33/66/15 -f 60/67/3 64/172/3 63/68/3 -f 48/70/16 50/62/16 49/64/16 -f 33/72/16 34/171/16 36/73/16 -f 63/75/1 64/173/1 61/76/1 -f 46/78/15 48/174/15 47/79/15 -f 36/73/14 38/175/14 37/81/14 -f 56/82/17 25/93/17 26/83/17 -f 44/85/13 46/78/13 45/80/13 -f 38/87/12 40/95/12 39/88/12 -f 32/176/5 30/177/5 28/90/5 -f 28/90/5 42/178/5 40/91/5 -f 40/91/5 38/179/5 36/92/5 -f 36/92/5 34/180/5 32/176/5 -f 32/176/5 28/90/5 36/92/5 -f 25/93/11 44/181/11 43/94/11 -f 40/95/18 42/182/18 41/96/18 -f 59/97/4 61/183/4 64/98/4 -f 54/100/18 56/184/18 55/101/18 -f 42/102/17 28/47/17 27/49/17 -f 66/104/5 71/185/5 70/105/5 -f 68/107/3 72/186/3 71/108/3 -f 71/110/1 72/187/1 69/111/1 -f 67/113/4 69/188/4 72/114/4 -f 75/116/6 76/189/6 74/117/6 -f 79/119/1 80/190/1 77/120/1 -f 76/122/3 80/191/3 79/123/3 -f 73/125/8 78/192/8 77/126/8 -f 75/128/4 77/193/4 80/129/4 -f 74/131/5 79/194/5 78/132/5 -f 86/134/3 88/195/3 84/135/3 -f 87/137/8 85/196/8 81/138/8 -f 85/140/4 86/197/4 82/141/4 +f 3/1/1 2/2/1 1/3/1 +f 7/4/2 5/5/2 6/6/2 +f 4/7/3 7/4/3 2/8/3 +f 1/9/4 5/5/4 3/10/4 +f 3/11/5 8/12/5 4/13/5 +f 2/14/6 6/6/6 1/15/6 +f 10/16/4 11/17/4 9/18/4 +f 12/19/5 15/20/5 11/21/5 +f 16/22/3 13/23/3 15/24/3 +f 14/25/6 9/18/6 13/23/6 +f 15/26/1 9/18/1 11/27/1 +f 12/19/2 14/25/2 16/28/2 +f 18/29/4 19/30/4 17/31/4 +f 20/32/5 23/33/5 19/34/5 +f 24/35/3 21/36/3 23/37/3 +f 22/38/6 17/31/6 21/36/6 +f 23/39/1 17/31/1 19/40/1 +f 20/32/2 22/38/2 24/41/2 +f 26/42/4 27/43/4 25/44/4 +f 28/45/5 31/46/5 27/43/5 +f 32/47/3 29/48/3 31/46/3 +f 30/49/6 25/50/6 29/51/6 +f 31/46/1 25/52/1 27/43/1 +f 28/45/2 30/49/2 32/47/2 +f 34/53/4 35/54/4 33/55/4 +f 36/56/5 39/57/5 35/54/5 +f 40/58/3 37/59/3 39/57/3 +f 38/60/6 33/61/6 37/62/6 +f 39/57/1 33/63/1 35/54/1 +f 36/56/2 38/60/2 40/58/2 +f 45/64/5 44/65/5 46/66/5 +f 96/67/5 99/68/5 95/69/5 +f 48/70/6 54/71/6 49/72/6 +f 53/73/2 75/74/2 69/75/2 +f 54/71/2 57/76/2 58/77/2 +f 54/71/7 50/78/7 49/72/7 +f 48/70/8 52/79/8 51/80/8 +f 68/81/2 60/82/2 52/79/2 +f 70/83/5 65/84/5 42/85/5 +f 46/86/4 72/87/4 66/88/4 +f 54/71/2 62/89/2 53/90/2 +f 60/91/2 51/80/2 52/92/2 +f 57/93/5 64/94/5 58/95/5 +f 60/96/9 63/97/9 57/93/9 +f 56/98/2 44/65/2 43/99/2 +f 64/94/10 62/100/10 58/95/10 +f 75/101/3 55/102/3 43/99/3 +f 67/103/3 68/81/3 52/79/3 +f 53/73/4 69/75/4 70/83/4 +f 60/104/4 44/65/4 56/98/4 +f 74/105/3 43/106/3 45/107/3 +f 72/87/11 68/108/11 67/103/11 +f 70/83/11 75/109/11 74/105/11 +f 67/103/5 66/88/5 72/87/5 +f 78/110/12 84/111/12 80/112/12 +f 59/113/5 77/114/5 76/115/5 +f 59/116/4 61/117/4 84/111/4 +f 90/118/2 91/119/2 92/120/2 +f 73/121/6 80/112/6 61/122/6 +f 83/123/2 82/124/2 81/125/2 +f 87/126/3 92/127/3 85/128/3 +f 88/129/5 90/118/5 87/126/5 +f 77/114/13 83/123/13 81/125/13 +f 73/130/3 76/131/3 81/125/3 +f 85/132/6 91/133/6 86/134/6 +f 86/134/4 89/135/4 88/129/4 +f 96/67/4 98/136/4 100/137/4 +f 97/138/6 94/139/6 93/140/6 +f 95/69/3 97/141/3 93/142/3 +f 101/143/1 98/144/1 97/145/1 +f 100/137/2 103/146/2 99/68/2 +f 103/146/3 97/147/3 99/68/3 +f 98/144/4 104/148/4 100/137/4 +f 102/149/6 108/150/6 104/148/6 +f 103/151/5 105/152/5 101/153/5 +f 101/154/1 106/155/1 102/149/1 +f 103/151/2 108/150/2 107/156/2 +f 126/157/3 143/158/3 120/159/3 +f 123/160/3 132/161/3 124/162/3 +f 117/163/4 111/164/4 136/165/4 +f 121/166/3 130/167/3 122/168/3 +f 148/169/3 147/170/3 146/171/3 +f 126/157/3 141/172/3 142/173/3 +f 113/174/3 132/175/3 125/176/3 +f 123/160/3 130/177/3 131/178/3 +f 112/179/3 143/180/3 119/181/3 +f 128/182/3 141/183/3 127/184/3 +f 140/185/3 139/186/3 138/187/3 +f 114/188/4 115/189/4 116/190/4 +f 153/191/1 155/192/1 154/193/1 +f 152/194/14 153/191/14 151/195/14 +f 149/196/15 155/192/15 150/197/15 +f 150/198/3 156/199/3 152/200/3 +f 151/201/4 154/193/4 149/202/4 +f 174/203/4 191/204/4 168/205/4 +f 171/206/4 180/207/4 172/208/4 +f 165/209/3 159/210/3 184/211/3 +f 169/212/4 178/213/4 170/214/4 +f 195/215/4 194/216/4 193/217/4 +f 175/218/4 190/219/4 174/203/4 +f 172/208/4 173/220/4 161/221/4 +f 170/214/4 179/222/4 171/206/4 +f 168/205/4 167/223/4 160/224/4 +f 176/225/4 189/226/4 175/218/4 +f 187/227/4 186/228/4 185/229/4 +f 162/230/3 163/231/3 164/232/3 +f 3/1/1 4/233/1 2/2/1 +f 7/4/2 8/12/2 5/5/2 +f 4/7/3 8/12/3 7/4/3 +f 1/9/4 6/6/4 5/5/4 +f 3/11/5 5/5/5 8/12/5 +f 2/14/6 7/4/6 6/6/6 +f 10/16/4 12/234/4 11/17/4 +f 12/19/5 16/28/5 15/20/5 +f 16/22/3 14/25/3 13/23/3 +f 14/25/6 10/16/6 9/18/6 +f 15/26/1 13/23/1 9/18/1 +f 12/19/2 10/16/2 14/25/2 +f 18/29/4 20/235/4 19/30/4 +f 20/32/5 24/41/5 23/33/5 +f 24/35/3 22/38/3 21/36/3 +f 22/38/6 18/29/6 17/31/6 +f 23/39/1 21/36/1 17/31/1 +f 20/32/2 18/29/2 22/38/2 +f 26/42/4 28/45/4 27/43/4 +f 28/45/5 32/47/5 31/46/5 +f 32/47/3 30/236/3 29/48/3 +f 30/49/6 26/237/6 25/50/6 +f 31/46/1 29/238/1 25/52/1 +f 28/45/2 26/237/2 30/49/2 +f 34/53/4 36/56/4 35/54/4 +f 36/56/5 40/58/5 39/57/5 +f 40/58/3 38/239/3 37/59/3 +f 38/60/6 34/240/6 33/61/6 +f 39/57/1 37/241/1 33/63/1 +f 36/56/2 34/240/2 38/60/2 +f 45/64/5 43/99/5 44/65/5 +f 96/67/5 100/137/5 99/68/5 +f 48/70/6 51/80/6 54/71/6 +f 53/73/2 62/242/2 75/74/2 +f 54/71/2 51/80/2 57/76/2 +f 54/71/7 53/73/7 50/78/7 +f 48/70/8 47/243/8 52/79/8 +f 68/81/2 71/244/2 60/82/2 +f 70/83/5 74/105/5 65/84/5 +f 46/86/4 44/245/4 72/87/4 +f 44/245/4 71/246/4 72/87/4 +f 54/71/2 58/77/2 62/89/2 +f 60/91/2 57/76/2 51/80/2 +f 57/93/5 63/97/5 64/94/5 +f 60/96/9 56/247/9 63/97/9 +f 43/99/2 55/102/2 56/98/2 +f 55/102/2 64/94/2 56/98/2 +f 64/94/2 63/97/2 56/98/2 +f 64/94/10 55/248/10 62/100/10 +f 75/101/3 62/249/3 55/102/3 +f 52/79/3 47/243/3 67/103/3 +f 47/243/3 41/250/3 67/103/3 +f 70/83/4 42/85/4 50/78/4 +f 50/78/4 53/73/4 70/83/4 +f 60/104/4 71/251/4 44/65/4 +f 45/107/3 65/84/3 74/105/3 +f 74/105/3 75/252/3 43/106/3 +f 72/87/11 71/253/11 68/108/11 +f 70/83/11 69/254/11 75/109/11 +f 67/103/5 41/250/5 66/88/5 +f 78/110/12 82/124/12 84/111/12 +f 59/113/5 79/255/5 77/114/5 +f 61/117/4 80/256/4 84/111/4 +f 84/111/4 83/123/4 59/116/4 +f 83/123/4 79/257/4 59/116/4 +f 90/118/2 89/135/2 91/119/2 +f 73/121/6 78/110/6 80/112/6 +f 83/123/2 84/111/2 82/124/2 +f 87/126/3 90/118/3 92/127/3 +f 88/129/5 89/135/5 90/118/5 +f 77/114/13 79/255/13 83/123/13 +f 76/131/3 77/258/3 81/125/3 +f 81/125/3 82/124/3 73/130/3 +f 82/124/3 78/259/3 73/130/3 +f 85/132/6 92/260/6 91/133/6 +f 86/134/4 91/133/4 89/135/4 +f 96/67/4 94/139/4 98/136/4 +f 97/138/6 98/136/6 94/139/6 +f 95/69/3 99/68/3 97/141/3 +f 101/143/1 102/149/1 98/144/1 +f 100/137/2 104/148/2 103/146/2 +f 103/146/3 101/261/3 97/147/3 +f 98/144/4 102/149/4 104/148/4 +f 102/149/6 106/155/6 108/150/6 +f 103/151/5 107/156/5 105/152/5 +f 101/154/1 105/262/1 106/155/1 +f 103/151/2 104/148/2 108/150/2 +f 126/157/3 142/263/3 143/158/3 +f 123/160/3 131/264/3 132/161/3 +f 136/165/4 135/265/4 117/163/4 +f 117/163/4 134/266/4 111/164/4 +f 121/166/3 129/267/3 130/167/3 +f 145/268/3 144/269/3 146/171/3 +f 144/269/3 148/169/3 146/171/3 +f 126/157/3 127/184/3 141/172/3 +f 113/174/3 124/162/3 132/175/3 +f 123/160/3 122/168/3 130/177/3 +f 112/179/3 120/159/3 143/180/3 +f 128/182/3 109/270/3 141/183/3 +f 137/271/3 133/272/3 138/187/3 +f 133/272/3 140/185/3 138/187/3 +f 110/273/4 118/274/4 116/190/4 +f 118/274/4 114/188/4 116/190/4 +f 153/191/1 156/199/1 155/192/1 +f 152/194/14 156/199/14 153/191/14 +f 149/196/15 154/193/15 155/192/15 +f 150/198/3 155/192/3 156/199/3 +f 151/201/4 153/191/4 154/193/4 +f 174/203/4 190/275/4 191/204/4 +f 171/206/4 179/276/4 180/207/4 +f 184/211/3 183/277/3 165/209/3 +f 165/209/3 182/278/3 159/210/3 +f 169/212/4 177/279/4 178/213/4 +f 193/217/4 192/280/4 196/281/4 +f 196/281/4 195/215/4 193/217/4 +f 175/218/4 189/282/4 190/219/4 +f 172/208/4 180/283/4 173/220/4 +f 170/214/4 178/284/4 179/222/4 +f 168/205/4 191/285/4 167/223/4 +f 176/225/4 157/286/4 189/226/4 +f 185/229/4 181/287/4 188/288/4 +f 188/288/4 187/227/4 185/229/4 +f 158/289/3 166/290/3 164/232/3 +f 166/290/3 162/230/3 164/232/3 +s 1 +f 114/291/14 123/160/1 115/292/1 +f 141/172/14 147/293/1 142/173/1 +f 115/292/1 124/162/15 116/294/15 +f 118/295/16 122/168/14 114/291/14 +f 143/180/15 144/296/17 119/181/17 +f 109/270/16 146/297/14 141/183/14 +f 116/294/15 113/174/17 110/298/17 +f 142/263/1 148/299/15 143/158/15 +f 135/300/15 112/179/17 117/301/17 +f 131/264/1 140/302/15 132/161/15 +f 129/267/16 138/303/14 130/167/14 +f 134/304/16 127/184/14 111/305/14 +f 136/306/1 120/159/15 135/300/15 +f 132/175/15 133/307/17 125/176/17 +f 130/177/14 139/308/1 131/178/1 +f 111/305/14 126/157/1 136/306/1 +f 162/309/15 171/206/1 163/310/1 +f 189/282/15 195/311/1 190/219/1 +f 163/310/1 172/208/14 164/312/14 +f 166/313/17 170/214/15 162/309/15 +f 191/285/14 192/314/16 167/223/16 +f 157/286/17 194/315/15 189/226/15 +f 158/316/16 172/208/14 161/221/16 +f 190/275/1 196/317/14 191/204/14 +f 183/318/14 160/224/16 165/319/16 +f 179/276/1 188/320/14 180/207/14 +f 177/279/17 186/321/15 178/213/15 +f 159/322/15 176/225/17 175/218/15 +f 184/323/1 168/205/14 183/318/14 +f 180/283/14 181/324/16 173/220/16 +f 178/284/15 187/325/1 179/222/1 +f 159/322/15 174/203/1 184/323/1 +f 114/291/14 122/168/14 123/160/1 +f 141/172/14 146/326/14 147/293/1 +f 115/292/1 123/160/1 124/162/15 +f 118/295/16 121/166/16 122/168/14 +f 143/180/15 148/327/15 144/296/17 +f 109/270/16 145/328/16 146/297/14 +f 116/294/15 124/162/15 113/174/17 +f 142/263/1 147/329/1 148/299/15 +f 135/300/15 120/159/15 112/179/17 +f 131/264/1 139/330/1 140/302/15 +f 129/267/16 137/331/16 138/303/14 +f 134/304/16 128/182/16 127/184/14 +f 136/306/1 126/157/1 120/159/15 +f 132/175/15 140/332/15 133/307/17 +f 130/177/14 138/333/14 139/308/1 +f 111/305/14 127/184/14 126/157/1 +f 162/309/15 170/214/15 171/206/1 +f 189/282/15 194/334/15 195/311/1 +f 163/310/1 171/206/1 172/208/14 +f 166/313/17 169/212/17 170/214/15 +f 191/285/14 196/335/14 192/314/16 +f 157/286/17 193/336/17 194/315/15 +f 158/316/16 164/312/14 172/208/14 +f 190/275/1 195/337/1 196/317/14 +f 183/318/14 168/205/14 160/224/16 +f 179/276/1 187/338/1 188/320/14 +f 177/279/17 185/339/17 186/321/15 +f 159/322/15 182/340/17 176/225/17 +f 184/323/1 174/203/1 168/205/14 +f 180/283/14 188/341/14 181/324/16 +f 178/284/15 186/342/15 187/325/1 +f 159/322/15 175/218/15 174/203/1 diff --git a/src/main/resources/assets/hbm/textures/models/trains/ow.png b/src/main/resources/assets/hbm/textures/models/trains/ow.png new file mode 100644 index 0000000000000000000000000000000000000000..3ba1a97679750b05fa6900f1d5b980a458d8b6cc GIT binary patch literal 79618 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

0S6y{g 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

m%w9TN%W5 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/trains/tram.png b/src/main/resources/assets/hbm/textures/models/trains/tram.png new file mode 100644 index 0000000000000000000000000000000000000000..d50856ed7af73e9de716b5354aa6f8255d84a95c GIT binary patch literal 1148 zcmeAS@N?(olHy`uVBq!ia0vp^i-0(SgAGWQ{nkkVQY^(zo*^7SP{WbZ0puEcx;TbZ z%z1lfZT@Ws3APW6(}v7~8pw%GC4Hxs`#v-OEi3`r31WM!Ke@}lPFvC=mc zx1IQY*V&lWN?lo}T<5&&;}7NKu7SZfO~VyMH1lroE;Cb_)a?OILynpFJJTb;<44)>zsbLbxD^sS9)AMvPA5dgqk)t$Firn58q_B9j(6>!?t19 ze}5@6n;wa#@bvSCZq~iC-ZXcWgwadEi5jc2o}V^f__|_a?B=B1$zcb|{%w9%#rkH4 z)TIvnO27y2J*+!(a7?z>X;k5t+KsR zBsM!$$#v=Hd)p*F8FoZ}@;@4IORaaWjZw_6x|hzC-oN6;Z{IgJ3{viVpJXOg*mGm!GG#5_+wF3i4<}9) z-gvk6)YQj0i=&Qi3El9v^7Fsc->JJ_&%T*wE^Cy{_J~7STWRHkH67PIFa4@|6p_yJ z_35s^UsZ0t|Ge%$OU|EN3uE6_>P%moU)Wc8fSoV=OYCP&A;HbIC$oa)+b|wob8q?F zSXKtJb}2nOZC3q*3T_APterl+hB+o*`qnaT8D+Oa+lAiUUZ%aK!+lzuQhnaRJ6rGV zRAukdyS9C<&6?HeFVbzd@Bckd=x~>Z)&?c50Qtq466<%`?A|~B^w$fwZF2sfE?d*F zKA&|F*EE-DsH@D_wVbrik#^IOvkhLuI}5M|2F^Ij{CniDIury z3$H(&y?HZozWjA#vAr+tIWs}zp+_K?skAPM^4T6|IZ@rrId6k RYk|cHgQu&X%Q~loCIExn8Os0w literal 0 HcmV?d00001 From 6d5e5ddc6d0fb9af590d21a3ba802a1bbe7cbcd9 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 9 May 2023 13:58:17 +0200 Subject: [PATCH 075/285] fixed mojang's weird input restrictions, more tram stuff --- .../com/hbm/entity/train/TrainCargoTram.java | 8 ++--- src/main/java/com/hbm/main/ClientProxy.java | 3 ++ .../com/hbm/main/ModEventHandlerClient.java | 29 +++++++++++++----- .../java/com/hbm/main/ResourceManager.java | 1 + .../entity/item/RenderTrainCargoTram.java | 4 +-- .../hbm/textures/models/trains/tram.png | Bin 1148 -> 2686 bytes 6 files changed, 30 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index 7761a76e0..5dcff8b21 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -1,8 +1,6 @@ package com.hbm.entity.train; import com.hbm.blocks.rail.IRailNTM.TrackGauge; -import com.hbm.inventory.container.ContainerCrateSteel; -import com.hbm.inventory.gui.GUICrateSteel; import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; @@ -71,12 +69,12 @@ public class TrainCargoTram extends EntityRailCarRidable implements IGUIProvider @Override public double getLengthSpan() { - return 2; + return 1.5; } @Override public Vec3 getRiderSeatPosition() { - return Vec3.createVectorHelper(0.375, 1.75, 0.5); + return Vec3.createVectorHelper(0.375, 2.25, 0.5); } @Override @@ -90,7 +88,7 @@ public class TrainCargoTram extends EntityRailCarRidable implements IGUIProvider @Override public boolean shouldRiderSit() { - return true; + return false; } @Override diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index e69446d89..8143d4828 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -61,6 +61,7 @@ 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.EntityRailCarRidable.SeatDummyEntity; import com.hbm.handler.CasingEjector; import com.hbm.handler.HbmKeybinds; import com.hbm.handler.ImpactWorldHandler; @@ -682,6 +683,8 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityMinecartCrate.class, new RenderMinecart()); RenderingRegistry.registerEntityRenderingHandler(EntityMinecartNTM.class, new RenderNeoCart()); RenderingRegistry.registerEntityRenderingHandler(EntityMagnusCartus.class, new RenderMagnusCartus()); + //trains + RenderingRegistry.registerEntityRenderingHandler(SeatDummyEntity.class, new RenderEmpty()); RenderingRegistry.registerEntityRenderingHandler(TrainCargoTram.class, new RenderTrainCargoTram()); //items RenderingRegistry.registerEntityRenderingHandler(EntityMovingItem.class, new RenderMovingItem()); diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index c3efd654e..2af37c069 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -12,8 +12,6 @@ import org.lwjgl.opengl.GL11; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockAshes; -import com.hbm.blocks.rail.IRailNTM; -import com.hbm.blocks.rail.IRailNTM.RailContext; import com.hbm.config.GeneralConfig; import com.hbm.entity.effect.EntityNukeTorex; import com.hbm.entity.mob.EntityHunterChopper; @@ -45,7 +43,6 @@ import com.hbm.lib.RefStrings; import com.hbm.packet.AuxButtonPacket; import com.hbm.packet.GunButtonPacket; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PlayerInformPacket; import com.hbm.packet.SyncButtonsPacket; import com.hbm.render.anim.HbmAnimations; import com.hbm.render.anim.HbmAnimations.Animation; @@ -68,14 +65,12 @@ 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.ParticleUtil; 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.hbm.util.fauxpointtwelve.BlockPos; import com.mojang.authlib.minecraft.MinecraftProfileTexture.Type; import api.hbm.item.IButtonReceiver; @@ -90,12 +85,14 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.InputEvent.KeyInputEvent; import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent; import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import cpw.mods.fml.common.gameevent.TickEvent.WorldTickEvent; 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.entity.AbstractClientPlayer; +import net.minecraft.client.entity.EntityClientPlayerMP; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.multiplayer.WorldClient; @@ -104,15 +101,15 @@ import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.entity.RenderPlayer; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Items; import net.minecraft.inventory.Slot; import net.minecraft.item.Item; import net.minecraft.item.ItemArmor; import net.minecraft.item.ItemStack; +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.ChatComponentText; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; @@ -135,7 +132,6 @@ 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.common.util.ForgeDirection; import net.minecraftforge.event.entity.player.ItemTooltipEvent; public class ModEventHandlerClient { @@ -1166,4 +1162,21 @@ 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)); + } + } + } } diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 302a3523c..64c2e280d 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1279,6 +1279,7 @@ public class ResourceManager { public static final ResourceLocation cart_powder_tex = new ResourceLocation(RefStrings.MODID, "textures/blocks/block_gunpowder.png"); public static final ResourceLocation cart_semtex_side = new ResourceLocation(RefStrings.MODID, "textures/blocks/semtex_side.png"); 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"); //ISBRHs public static final IModelCustom scaffold = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/scaffold.obj")); diff --git a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java index 5603c1d94..36a19e415 100644 --- a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java +++ b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java @@ -23,7 +23,7 @@ public class RenderTrainCargoTram extends Render { MainRegistry.proxy.displayTooltip("Render Pitch: " + entity.rotationPitch, 667); GL11.glDisable(GL11.GL_CULL_FACE); - bindTexture(ResourceManager.universal); + bindTexture(ResourceManager.train_tram); ResourceManager.train_cargo_tram.renderAll(); GL11.glEnable(GL11.GL_CULL_FACE); @@ -32,6 +32,6 @@ public class RenderTrainCargoTram extends Render { @Override protected ResourceLocation getEntityTexture(Entity entity) { - return ResourceManager.universal; + return ResourceManager.train_tram; } } diff --git a/src/main/resources/assets/hbm/textures/models/trains/tram.png b/src/main/resources/assets/hbm/textures/models/trains/tram.png index d50856ed7af73e9de716b5354aa6f8255d84a95c..51683c6374206a1918939b0d9e0abd1958fa6def 100644 GIT binary patch delta 2662 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 RYk|cHgQu&X%Q~loCIExn8Os0w From fada68fb896aae710b420d98711cd28195727c34 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 9 May 2023 14:12:48 +0200 Subject: [PATCH 076/285] come on shitkraken do the thing --- src/main/java/com/hbm/main/MainRegistry.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index b90f1903d..d2806ca03 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -255,7 +255,6 @@ public class MainRegistry { logger.info("Let us celebrate the fact that the logger finally works again!"); // Reroll Polaroid - if(generalOverride > 0 && generalOverride < 19) { polaroidID = generalOverride; } else { From 9d16e1fddf77acba445f2c314323e4b8b427ef26 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 9 May 2023 14:25:10 +0200 Subject: [PATCH 077/285] shithub is down and GK keeps swallowing my commits --- src/main/java/com/hbm/main/NEIConfig.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/com/hbm/main/NEIConfig.java b/src/main/java/com/hbm/main/NEIConfig.java index 03221742b..a1b32bf65 100644 --- a/src/main/java/com/hbm/main/NEIConfig.java +++ b/src/main/java/com/hbm/main/NEIConfig.java @@ -73,8 +73,6 @@ public class NEIConfig implements IConfigureNEI { //fluids registerHandler(new FluidRecipeHandler()); - - //registerHandler(new ChunkyHandler()); //Some things are even beyond my control...or are they? API.hideItem(ItemBattery.getEmptyBattery(ModItems.memory)); From adc651eecc7d918ad3de1db739d9581ae01e1698 Mon Sep 17 00:00:00 2001 From: Bob Date: Tue, 9 May 2023 22:52:17 +0200 Subject: [PATCH 078/285] aesthetically prodigious train man --- .../entity/item/RenderTrainCargoTram.java | 13 +++++++++---- .../assets/hbm/models/vehicles/tram.obj | 8 ++++---- .../hbm/textures/models/trains/tram.png | Bin 2686 -> 4395 bytes 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java index 36a19e415..5612b2a93 100644 --- a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java +++ b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java @@ -16,11 +16,16 @@ public class RenderTrainCargoTram extends Render { GL11.glPushMatrix(); GL11.glTranslated(x, y, z); - GL11.glRotated( -entity.rotationYaw, 0, 1, 0); - GL11.glRotated(-entity.rotationPitch, 0, 0, 1); + float yaw = entity.rotationYaw; + float prevYaw = entity.prevRotationYaw; - MainRegistry.proxy.displayTooltip("Render Yaw: " + entity.rotationYaw, 666); - MainRegistry.proxy.displayTooltip("Render Pitch: " + entity.rotationPitch, 667); + 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); + GL11.glRotated(-entity.rotationPitch, 0, 0, 1); GL11.glDisable(GL11.GL_CULL_FACE); bindTexture(ResourceManager.train_tram); diff --git a/src/main/resources/assets/hbm/models/vehicles/tram.obj b/src/main/resources/assets/hbm/models/vehicles/tram.obj index 7ec0c8733..e8d11cf51 100644 --- a/src/main/resources/assets/hbm/models/vehicles/tram.obj +++ b/src/main/resources/assets/hbm/models/vehicles/tram.obj @@ -270,7 +270,7 @@ vt 0.777778 0.318182 vt 0.716049 0.500000 vt 0.716901 0.318679 vt 0.697531 0.500000 -vt 0.629630 0.534091 +vt 0.629630 0.522727 vt 0.629630 0.500000 vt 0.777778 0.522727 vt 0.716049 0.522727 @@ -278,7 +278,7 @@ vt 0.697531 0.318182 vt 0.796296 0.500000 vt 0.777778 0.500000 vt 0.864198 0.500000 -vt 0.796296 0.534091 +vt 0.796296 0.522727 vt 0.617284 0.454545 vt 0.604938 0.318182 vt 0.617284 0.318182 @@ -438,9 +438,9 @@ vt 0.222222 0.545455 vt 0.148148 0.772727 vt 0.271605 0.909091 vt 0.222222 0.545455 -vt 0.697531 0.534091 +vt 0.697531 0.522727 vt 0.796296 0.318182 -vt 0.864198 0.534091 +vt 0.864198 0.522727 vt 0.901235 0.477273 vt 0.901235 0.500000 vt 0.913580 0.613636 diff --git a/src/main/resources/assets/hbm/textures/models/trains/tram.png b/src/main/resources/assets/hbm/textures/models/trains/tram.png index 51683c6374206a1918939b0d9e0abd1958fa6def..58721d3169cdc745d701188a80a5bb51475d3641 100644 GIT binary patch delta 4385 zcmV++5#H|p6ssbTGk*}`Nkl2>QHe#_v7)U|x3QDn z0Jmw^TNDN=EMUMu7Qt??MH2LBfj&4-rJmx4p!>4jB-o-07zkj%i^2hdUW}%Ni!|QU zZ7kQREGZ&oT`0*EMTu957m0lsox?Mu;aqqbj;;9sfpgBB|9{L-^UZ($+YC+687_@q zs7UROh9WVcHId!zRJ_x}i%VPOl{~BGPA|Js^Z*3CW;g z5&}9UB47|t2Y+C-Adi5})Pw}GL^R@hhY~E&YH38?vdxgQE-2QBTF3Q_IHGnwjR9T2Aff?XK(}7=lY*Bnj#r!>&fXmx`vL&q z{{7DY0O@2B?_IxPID1e?L?fU5e?!QXeA6A(SLw0pxZd2fx`t|#t{vh^zcEq zUb8{G!-bX;Q7%{A>iLXZ_~QZ1G@{VP6oS=&BYqFQ@y=Czd%yi5fRA2#`M?;Z^BK@T zG>IdM*_a2$FmqB8{`kiLfNxJs0PkGI^!SCk=Fwzxgh?Iok zaJ6q@0)Ic#>9<>4E(al9w(85y<=tR9?xHV6Q) z+kbm_M10bqh=?=u0u8u1ftmSMoe~Elw+;N}m$!KBzPn@umU*&K8` zpU)m3l^n=;cAm!(7CD>iNweAX2)n(9Zhy0O;6Huu9NiW!(=2Q@2c4tcOZN5Q0aZ8B z#YoHq81;y{$K-<;PCq*U09apNrTu!6j~y5beus?g9XApC7I)M|PfkB8u6#Vj6yXeTAptSve)!jew9!7$=mn3t8wbzWCF@ zlZeG)u-omp;tt_*Hi|2b5Wf#qG6IKGBa(0vAtOt|FEIrSO7Jiqm)!r-#qk4Vef`x} zDnu&^N%ZlZKbh2c&Sbpa$Y{6Qk$=nO;C8zu`v`RTTyryzCtN;>7Gsam4qKO0=`^G8 zL2q%x%h@QdxI=Ke-ME~M!sY421DEVO-? ziV=0B*ZWsL&!=Vh{=n2<{2PzjMG1ITlJXIkYN^QPY?f6FI$oUct{M|n< zik|P~Y_ul3Qb}-eM1Q8wAYz-*)7zn{zugeixIMicynZ!WnV{}Cq5)~B2|p3X0pM#X zIeU){fsnDJPfAueMu`kNjy*?m?iV956C&!hEU`It8%I3MV4aRsvP9!03lcsDmj)=`_&qw1iTdA|Nh7KD$%tqe7kM_d~4509$hn3G46 zcs}R`Bp$g?LqZ{b@X_J{;{9l9Rg{cMj>Ya*3c2}MSUfHdqH9~S&ovuR52^p5y60&oOK?w=fkWo0F+&mTlaN3>7DVW@0 zw;`L$xBL?T(wP)O0XODioACGAadz|sO2s15xit3nDu4Kgp?+*^CIA3?dlj4*=*7`q zF92XGwFR%k1h1p{@{@C%-DR=xFKYi$$ALaMcwF);jT|wgka)PuvlIX48&B07D@H=n z&weU}6bZ#(S&b_Xyk>KG1pIvffSw*ZR@c^>-X>(U9kBrbF1`31ZcWZ$ub4##fL?ny z0v-oO27i4h_?$?llE`hB&};9;UXjyGu5K&NoC+bCO5)6^P}Ag><0<3|)jOGJNC3ze zO2`*DVi!x&%Ps(HY$h<|b4re>MT~lEM&O|HB82c*jetFO0x>O3UAk?}-NNFgc!7mJM zyF8tEYc#<7lagVf#@nq0q2?2s7DAZG1%FTi)<$fVW@I&@n90CuHPW`(_&3r~Czo6o zTlyN64;^#C=d$C}U>`yOH$ul;c*^I(slh(lr(|g+j*%3^mNC*6_Se!@gp^{orBu97 z*j7WrTJwnY6PTwWQOqyL4(t$vmNp_#H5u}GZb`f~IU}h>ZhmqP0I*%=zBF0-ntvs~ zn%KbDa1h5_HjE7V5c0e6Owdc6pT!lfg1WRTZ|u)6$1oL<4v9&TLU=K2Eu}&N)Y6El zWJz>Pz0Q%;d5da9VuUM&mNsIi)e2T)j}38Sgc^(xWo)RAH=eZtwUSq&=>T9TIDpaN zP|f{PM3U1`Vq=wRH6;XA1F`wUV1EYqMz|cbvJr{RMNrFx=<4dG#9-rc!tq+mD}m5V z5JGtIov>WAOT-LB@3&umJ*yC z(QsPJZ)WRz2IR0*If>P_)_zJ!p!JAKprwrna2m0zi+h~<>w(hs;JdfNxH2^`@LS+ zx;o)?yQp(Q0=Y_@6}fsuy;c>qsw&AcIvj%88pqb2>{#x=8rX=0jLpb3cXf3)U0!KX zgA|5>0~i_f;r|!-b8}Tk&YC1`cU4iVs*-eDj|eEsHGdP-$`!X#o~@ZIm#Z~*N^{L( z^@x727fyRu+cbSEKl3zF1>9-j*OnFidtEf#M6lE z>vn~uI_IC$zJ&PL{^vgqoTPmNPmdlLC+s7m+kY)jQ0x7YVj8hrF5#2UKF83D&*`eF zsMS?Tihr-!Kw}X855LlHt~vI^KrgSYhpM7hS0!1#`^L{2`n_fY(x~;rk=OP=YgK5o zRXyiUdl2yT(+VE~VO0>jUvKi9xv?zvRRJ{cd(8%Atz%u{pJd)J%1 zRMCS$M4jQ}$Qfpvzwg+-_fEWdp|{R@_kVhp7lUFVHu_6S2IO&=qZ74b2>bX-zZq`x z7To47%uL;Zy&T7GYL2$u<}K`|=3pe(nrgWy~7Vu2ai)6}-fX|2Nxdn_2`mownhR5YWWO0?Y+5LxEUiM-f@)`&1 b2^s$mWp7873x*KO00000NkvXXu0mjfl@)Nn delta 2662 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 From dcec2627173a05733ad4f7c248553c803d86af85 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 10 May 2023 16:51:42 +0200 Subject: [PATCH 079/285] train bounding box, fixes --- src/main/java/com/hbm/entity/EntityMappings.java | 2 ++ .../java/com/hbm/entity/train/EntityRailCarBase.java | 10 ++++++++++ .../com/hbm/entity/train/EntityRailCarRidable.java | 1 + .../hbm/tileentity/machine/TileEntityMachinePress.java | 2 +- .../com/hbm/tileentity/machine/TileEntitySawmill.java | 2 +- 5 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index d5354b59a..cf96e2e28 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -14,6 +14,7 @@ import com.hbm.entity.mob.botprime.*; 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.TrainCargoTram; import com.hbm.main.MainRegistry; @@ -212,6 +213,7 @@ public class EntityMappings { addEntity(EntityMist.class, "entity_mist", 1000); addEntity(SeatDummyEntity.class, "entity_ntm_seat_dummy", 250, false); + addEntity(BoundingBoxDummyEntity.class, "entity_ntm_bounding_dummy", 250, false); addEntity(TrainCargoTram.class, "entity_ntm_cargo_tram", 250, false); addMob(EntityCreeperNuclear.class, "entity_mob_nuclear_creeper", 0x204131, 0x75CE00); diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index 39a31c625..f146af9de 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -196,4 +196,14 @@ public abstract class EntityRailCarBase extends Entity { this.velocityY = this.motionY = mY; this.velocityZ = this.motionZ = mZ; } + + /** Invisible entities that make up the dynamic bounding structure of the train, moving as the train rotates. */ + public static class BoundingBoxDummyEntity extends Entity { + public BoundingBoxDummyEntity(World world) { this(world, 1F, 1F); } + public BoundingBoxDummyEntity(World world, float width, float height) { super(world); this.setSize(width, height);} + @Override protected void entityInit() { } + @Override protected void writeEntityToNBT(NBTTagCompound nbt) { } + @Override public boolean writeToNBTOptional(NBTTagCompound nbt) { return false; } + @Override public void readEntityFromNBT(NBTTagCompound nbt) { this.setDead(); } + } } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index 3d2f6805b..6b6bb08fc 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -120,6 +120,7 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { public abstract Vec3[] getPassengerSeats(); + /** Dynamic seats generated when a player clicks near a seat-spot, moves and rotates with the train as one would expect. */ public static class SeatDummyEntity extends Entity { public SeatDummyEntity(World world) { super(world); this.setSize(0.5F, 0.1F);} @Override protected void entityInit() { } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java index 599287701..1de7e31a5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java @@ -202,7 +202,7 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU @Override public int[] getAccessibleSlotsFromSide(int side) { - return side == 0 ? new int[] { 3 } : new int[] { 0, 1, 2 }; + return new int[] { 0, 1, 2, 3 }; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java index e906bc154..f0b6a5500 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySawmill.java @@ -273,7 +273,7 @@ public class TileEntitySawmill extends TileEntityMachineBase { } if(names.contains("plankWood")) { - return new ItemStack(Items.stick, 4); + return new ItemStack(Items.stick, 6); } if(names.contains("treeSapling")) { From 3a4bf04aecf157a2dec5ed8bffda41179037d9e5 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 11 May 2023 10:41:46 +0200 Subject: [PATCH 080/285] crate drop bug, comparator output --- .../hbm/blocks/generic/BlockStorageCrate.java | 20 +++++++++++++------ .../java/com/hbm/lib/HbmChestContents.java | 14 +------------ src/main/java/com/hbm/lib/HbmWorldGen.java | 2 +- 3 files changed, 16 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java b/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java index 8844789ea..4b5caa4c0 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java +++ b/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java @@ -10,12 +10,7 @@ import com.hbm.items.tool.ItemLock; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.tileentity.machine.TileEntityLockableBase; -import com.hbm.tileentity.machine.storage.TileEntityCrateBase; -import com.hbm.tileentity.machine.storage.TileEntityCrateDesh; -import com.hbm.tileentity.machine.storage.TileEntityCrateIron; -import com.hbm.tileentity.machine.storage.TileEntityCrateSteel; -import com.hbm.tileentity.machine.storage.TileEntityCrateTungsten; -import com.hbm.tileentity.machine.storage.TileEntitySafe; +import com.hbm.tileentity.machine.storage.*; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import cpw.mods.fml.relauncher.Side; @@ -27,6 +22,8 @@ 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.inventory.Container; +import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -140,6 +137,7 @@ public class BlockStorageCrate extends BlockContainer implements IBlockMulti { 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); } @@ -270,4 +268,14 @@ public class BlockStorageCrate extends BlockContainer implements IBlockMulti { 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)); + } } diff --git a/src/main/java/com/hbm/lib/HbmChestContents.java b/src/main/java/com/hbm/lib/HbmChestContents.java index 185495790..8698ace37 100644 --- a/src/main/java/com/hbm/lib/HbmChestContents.java +++ b/src/main/java/com/hbm/lib/HbmChestContents.java @@ -136,12 +136,8 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.nugget_pu240, 0, 3, 8, 5), new WeightedRandomChestContent(ModItems.nugget_neptunium, 0, 1, 4, 3), new WeightedRandomChestContent(ModItems.rod, BreedingRodType.U238.ordinal(), 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod, BreedingRodType.NP237.ordinal(), 1, 1, 4), - new WeightedRandomChestContent(ModItems.rod, BreedingRodType.RGP.ordinal(), 1, 1, 3), new WeightedRandomChestContent(ModItems.rod_dual, BreedingRodType.U238.ordinal(), 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_dual, BreedingRodType.RGP.ordinal(), 1, 1, 3), new WeightedRandomChestContent(ModItems.rod_quad, BreedingRodType.U238.ordinal(), 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_quad, BreedingRodType.RGP.ordinal(), 1, 1, 3), new WeightedRandomChestContent(ModItems.bottle_quantum, 0, 1, 1, 1), new WeightedRandomChestContent(ModItems.gas_mask_m65, 60, 1, 1, 5), new WeightedRandomChestContent(ModItems.hazmat_kit, 0, 1, 1, 1), @@ -150,17 +146,14 @@ public class HbmChestContents { public static WeightedRandomChestContent[] nuclearFuel = new WeightedRandomChestContent[] { new WeightedRandomChestContent(ModItems.billet_uranium, 0, 1, 4, 4), - new WeightedRandomChestContent(ModItems.billet_pu_mix, 0, 1, 2, 4), new WeightedRandomChestContent(ModItems.billet_th232, 0, 1, 3, 3), new WeightedRandomChestContent(ModItems.billet_uranium_fuel, 0, 1, 3, 5), new WeightedRandomChestContent(ModItems.billet_mox_fuel, 0, 1, 3, 5), - new WeightedRandomChestContent(ModItems.billet_plutonium_fuel, 0, 1, 3, 4), new WeightedRandomChestContent(ModItems.billet_thorium_fuel, 0, 1, 3, 3), new WeightedRandomChestContent(ModItems.billet_ra226be, 0, 1, 2, 2), new WeightedRandomChestContent(ModItems.billet_beryllium, 0, 1, 1, 1), new WeightedRandomChestContent(ModItems.nugget_u233, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.nugget_u235, 0, 1, 1, 1), - new WeightedRandomChestContent(ModItems.nugget_pu239, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.nugget_uranium_fuel, 0, 1, 1, 1), new WeightedRandomChestContent(ModItems.rod_zirnox_empty, 0, 1, 3, 3), new WeightedRandomChestContent(ModItems.ingot_graphite, 0, 1, 4, 3), new WeightedRandomChestContent(ModItems.pile_rod_uranium, 0, 2, 5, 3), @@ -172,15 +165,10 @@ public class HbmChestContents { public static WeightedRandomChestContent[] nuclear = new WeightedRandomChestContent[] { new WeightedRandomChestContent(ModItems.nugget_u235, 0, 3, 12, 5), new WeightedRandomChestContent(ModItems.nugget_pu238, 0, 3, 12, 5), - new WeightedRandomChestContent(ModItems.nugget_pu239, 0, 3, 12, 5), new WeightedRandomChestContent(ModItems.rod, BreedingRodType.U235.ordinal(), 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod, BreedingRodType.PU239.ordinal(), 1, 1, 3), new WeightedRandomChestContent(ModItems.rod_dual, BreedingRodType.U235.ordinal(), 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_dual, BreedingRodType.PU239.ordinal(), 1, 1, 3), new WeightedRandomChestContent(ModItems.rod_quad, BreedingRodType.U235.ordinal(), 1, 1, 3), - new WeightedRandomChestContent(ModItems.rod_quad, BreedingRodType.PU239.ordinal(), 1, 1, 3), new WeightedRandomChestContent(ModItems.rod_zirnox, EnumZirnoxType.URANIUM_FUEL.ordinal(), 1, 1, 4), - new WeightedRandomChestContent(ModItems.rod_zirnox, EnumZirnoxType.PLUTONIUM_FUEL.ordinal(), 1, 1, 4), new WeightedRandomChestContent(ModItems.rod_zirnox, EnumZirnoxType.MOX_FUEL.ordinal(), 1, 1, 4), new WeightedRandomChestContent(ModItems.rod_zirnox, EnumZirnoxType.LITHIUM.ordinal(), 1, 1, 3), new WeightedRandomChestContent(ModItems.rod_zirnox, EnumZirnoxType.THORIUM_FUEL.ordinal(), 1, 1, 3), diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index 6d9f43fb0..58f772881 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -129,7 +129,7 @@ public class HbmWorldGen implements IWorldGenerator { DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.copperSpawn * 3, 6, 30, 10, ModBlocks.ore_gneiss_copper, ModBlocks.stone_gneiss); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.asbestosSpawn * 3, 6, 30, 10, ModBlocks.ore_gneiss_asbestos, ModBlocks.stone_gneiss); 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_asbestos, 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); From a397490424ddc93f36c70f6004ee6805a44126f0 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 11 May 2023 16:55:07 +0200 Subject: [PATCH 081/285] power net tracker, fensu fix, dueterium tower rebalance --- src/main/java/api/hbm/energy/IPowerNet.java | 2 + src/main/java/api/hbm/energy/PowerNet.java | 24 +++++- .../java/com/hbm/lib/HbmChestContents.java | 1 + .../machine/TileEntityDeuteriumExtractor.java | 77 +------------------ .../machine/TileEntityDeuteriumTower.java | 52 +------------ .../storage/TileEntityMachineBattery.java | 22 ++++++ .../storage/TileEntityMachineFENSU.java | 30 +------- 7 files changed, 57 insertions(+), 151 deletions(-) diff --git a/src/main/java/api/hbm/energy/IPowerNet.java b/src/main/java/api/hbm/energy/IPowerNet.java index 4b82df2e9..eb9848226 100644 --- a/src/main/java/api/hbm/energy/IPowerNet.java +++ b/src/main/java/api/hbm/energy/IPowerNet.java @@ -1,5 +1,6 @@ package api.hbm.energy; +import java.math.BigInteger; import java.util.List; /** @@ -32,4 +33,5 @@ public interface IPowerNet { public List getSubscribers(); public long transferPower(long power); + public BigInteger getTotalTransfer(); } diff --git a/src/main/java/api/hbm/energy/PowerNet.java b/src/main/java/api/hbm/energy/PowerNet.java index f9025201b..172e22dde 100644 --- a/src/main/java/api/hbm/energy/PowerNet.java +++ b/src/main/java/api/hbm/energy/PowerNet.java @@ -1,5 +1,6 @@ package api.hbm.energy; +import java.math.BigInteger; import java.util.ArrayList; import java.util.HashMap; import java.util.List; @@ -20,6 +21,9 @@ public class PowerNet implements IPowerNet { private HashMap links = new HashMap(); private HashMap proxies = new HashMap(); private List subscribers = new ArrayList(); + + public static List trackingInstances = null; + protected BigInteger totalTransfer = BigInteger.ZERO; @Override public void joinNetworks(IPowerNet network) { @@ -119,6 +123,11 @@ public class PowerNet implements IPowerNet { public boolean isValid() { return this.valid; } + + @Override + public BigInteger getTotalTransfer() { + return this.totalTransfer; + } public long lastCleanup = System.currentTimeMillis(); @@ -129,7 +138,9 @@ public class PowerNet implements IPowerNet { cleanup(this.subscribers); lastCleanup = System.currentTimeMillis(); }*/ - + + trackingInstances = new ArrayList(); + trackingInstances.add(this); return fairTransfer(this.subscribers, power); } @@ -149,6 +160,8 @@ public class PowerNet implements IPowerNet { ConnectionPriority[] priorities = new ConnectionPriority[] {ConnectionPriority.HIGH, ConnectionPriority.NORMAL, ConnectionPriority.LOW}; + long totalTransfer = 0; + for(ConnectionPriority p : priorities) { List subList = new ArrayList(); @@ -186,6 +199,15 @@ public class PowerNet implements IPowerNet { } power -= totalGiven; + totalTransfer += totalGiven; + } + + if(trackingInstances != null) { + + for(int i = 0; i < trackingInstances.size(); i++) { + PowerNet net = trackingInstances.get(i); + net.totalTransfer = net.totalTransfer.add(BigInteger.valueOf(totalTransfer)); + } } return power; diff --git a/src/main/java/com/hbm/lib/HbmChestContents.java b/src/main/java/com/hbm/lib/HbmChestContents.java index 8698ace37..343a46e75 100644 --- a/src/main/java/com/hbm/lib/HbmChestContents.java +++ b/src/main/java/com/hbm/lib/HbmChestContents.java @@ -165,6 +165,7 @@ public class HbmChestContents { public static WeightedRandomChestContent[] nuclear = new WeightedRandomChestContent[] { new WeightedRandomChestContent(ModItems.nugget_u235, 0, 3, 12, 5), new WeightedRandomChestContent(ModItems.nugget_pu238, 0, 3, 12, 5), + new WeightedRandomChestContent(ModItems.nugget_ra226, 0, 3, 6, 5), new WeightedRandomChestContent(ModItems.rod, BreedingRodType.U235.ordinal(), 1, 1, 3), new WeightedRandomChestContent(ModItems.rod_dual, BreedingRodType.U235.ordinal(), 1, 1, 3), new WeightedRandomChestContent(ModItems.rod_quad, BreedingRodType.U235.ordinal(), 1, 1, 3), diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java index 6258575a7..1996b4bec 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java @@ -1,14 +1,7 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; - -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidSource; -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.TileEntityMachineBase; import api.hbm.energy.IEnergyUser; @@ -16,17 +9,16 @@ import api.hbm.fluid.IFluidStandardTransceiver; import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implements IFluidAcceptor, IFluidSource, IEnergyUser, IFluidStandardTransceiver { +public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implements IEnergyUser, IFluidStandardTransceiver { public long power = 0; public FluidTank[] tanks; - public List list = new ArrayList(); public TileEntityDeuteriumExtractor() { super(0); tanks = new FluidTank[2]; - tanks[0] = new FluidTank(Fluids.WATER, 1000, 0); - tanks[1] = new FluidTank(Fluids.HEAVYWATER, 100, 1); + tanks[0] = new FluidTank(Fluids.WATER, 1000); + tanks[1] = new FluidTank(Fluids.HEAVYWATER, 100); } @Override @@ -52,7 +44,6 @@ public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implemen this.subscribeToAllAround(tanks[0].getTankType(), this); this.sendFluidToAll(tanks[1].getTankType(), this); - fillFluidInit(tanks[1].getTankType()); NBTTagCompound data = new NBTTagCompound(); data.setLong("power", power); @@ -99,66 +90,6 @@ public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implemen tanks[1].writeToNBT(nbt, "heavyWater"); } - - @Override - public void fillFluidInit(FluidType type) { - - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) - fillFluid(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, getTact(), type); - } - - @Override - public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { - Library.transmitFluid(x, y, z, newTact, this, worldObj, type); - } - - @Override - public boolean getTact() { - return worldObj.getTotalWorldTime() % 20 < 10; - } - - @Override - public void setFluidFill(int i, FluidType type) { - if(type == tanks[0].getTankType()) - tanks[0].setFill(i); - else if(type == tanks[1].getTankType()) - tanks[1].setFill(i); - } - - @Override - public int getFluidFill(FluidType type) { - if(type == tanks[0].getTankType()) - return tanks[0].getFill(); - else if(type == tanks[1].getTankType()) - return tanks[1].getFill(); - - return 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - if(type == tanks[0].getTankType()) - return tanks[0].getMaxFill(); - - return 0; - } - - @Override - public void setFillForSync(int fill, int index) { } - - @Override - public void setTypeForSync(FluidType type, int index) { } - - @Override - public List getFluidList(FluidType type) { - return list; - } - - @Override - public void clearFluidList(FluidType type) { - list.clear(); - } - @Override public void setPower(long i) { power = i; @@ -171,7 +102,7 @@ public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implemen @Override public long getMaxPower() { - return 100000; + return 10_000; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumTower.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumTower.java index 3afa73370..8cc2e93c9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumTower.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumTower.java @@ -20,56 +20,6 @@ public class TileEntityDeuteriumTower extends TileEntityDeuteriumExtractor { tanks[0] = new FluidTank(Fluids.WATER, 50000, 0); tanks[1] = new FluidTank(Fluids.HEAVYWATER, 5000, 1); } - - public void fillFluidInit(FluidType type) { - - int offsetX = 0; - int offsetZ = 0; - - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); - ForgeDirection rot = dir.getRotation(ForgeDirection.DOWN); - offsetX = -dir.offsetX; - offsetZ = -rot.offsetZ; - - if(dir == ForgeDirection.NORTH || dir == ForgeDirection.SOUTH) { - offsetX = rot.offsetX; - offsetZ = dir.offsetZ; - } - - /*fillFluid(this.xCoord + rot.offsetX * 2, this.yCoord, this.zCoord - dir.offsetZ * 1, getTact(), type); - fillFluid(this.xCoord + rot.offsetX * 2, this.yCoord, this.zCoord - dir.offsetZ * 0, getTact(), type); - fillFluid(this.xCoord + rot.offsetX * 1, this.yCoord, this.zCoord - dir.offsetZ * 2, getTact(), type); - fillFluid(this.xCoord + rot.offsetX * 0, this.yCoord, this.zCoord - dir.offsetZ * 2, getTact(), type); - fillFluid(this.xCoord + rot.offsetX * 1, this.yCoord, this.zCoord + dir.offsetZ * 1, getTact(), type); - fillFluid(this.xCoord + rot.offsetX * 0, this.yCoord, this.zCoord + dir.offsetZ * 1, getTact(), type); - fillFluid(this.xCoord - rot.offsetX * 1, this.yCoord, this.zCoord + dir.offsetZ * 0, getTact(), type); - fillFluid(this.xCoord - rot.offsetX * 1, this.yCoord, this.zCoord - dir.offsetZ * 1, getTact(), type);*/ - - /*worldObj.setBlock(this.xCoord + rot.offsetX * 2, this.yCoord, this.zCoord - dir.offsetZ * 1, Blocks.dirt); - worldObj.setBlock(this.xCoord + rot.offsetX * 2, this.yCoord, this.zCoord - dir.offsetZ * 0, Blocks.dirt); - worldObj.setBlock(this.xCoord + rot.offsetX * 1, this.yCoord, this.zCoord - dir.offsetZ * 2, Blocks.dirt); - worldObj.setBlock(this.xCoord + rot.offsetX * 0, this.yCoord, this.zCoord - dir.offsetZ * 2, Blocks.dirt); - worldObj.setBlock(this.xCoord + rot.offsetX * 1, this.yCoord, this.zCoord + dir.offsetZ * 1, Blocks.dirt); - worldObj.setBlock(this.xCoord + rot.offsetX * 0, this.yCoord, this.zCoord + dir.offsetZ * 1, Blocks.dirt); - worldObj.setBlock(this.xCoord - rot.offsetX * 1, this.yCoord, this.zCoord + dir.offsetZ * 0, Blocks.dirt); - worldObj.setBlock(this.xCoord - rot.offsetX * 1, this.yCoord, this.zCoord - dir.offsetZ * 1, Blocks.dirt);*/ - - /* I'm never doing an even sided fluid machine ever again - * - * this was pain - * - * - pheo */ - - - fillFluid(this.xCoord + offsetX * 2, this.yCoord, this.zCoord - offsetZ * 1, getTact(), type); - fillFluid(this.xCoord + offsetX * 2, this.yCoord, this.zCoord - offsetZ * 0, getTact(), type); - fillFluid(this.xCoord + offsetX * 1, this.yCoord, this.zCoord - offsetZ * 2, getTact(), type); - fillFluid(this.xCoord + offsetX * 0, this.yCoord, this.zCoord - offsetZ * 2, getTact(), type); - fillFluid(this.xCoord + offsetX * 1, this.yCoord, this.zCoord + offsetZ * 1, getTact(), type); - fillFluid(this.xCoord + offsetX * 0, this.yCoord, this.zCoord + offsetZ * 1, getTact(), type); - fillFluid(this.xCoord - offsetX * 1, this.yCoord, this.zCoord + offsetZ * 0, getTact(), type); - fillFluid(this.xCoord - offsetX * 1, this.yCoord, this.zCoord - offsetZ * 1, getTact(), type); - } protected void updateConnections() { @@ -139,6 +89,6 @@ public class TileEntityDeuteriumTower extends TileEntityDeuteriumExtractor { @Override public long getMaxPower() { - return 1000000; + return 100_000; } } \ No newline at end of file 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 a0463756c..594fec515 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java @@ -227,6 +227,16 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I if(this.power > 0 && (mode == mode_buffer || mode == mode_output)) { List con = new ArrayList(); con.addAll(consumers); + + if(PowerNet.trackingInstances == null) { + PowerNet.trackingInstances = new ArrayList(); + } + PowerNet.trackingInstances.clear(); + + nets.forEach(x -> { + if(x instanceof PowerNet) PowerNet.trackingInstances.add((PowerNet) x); + }); + this.power = PowerNet.fairTransfer(con, this.power); } @@ -256,9 +266,17 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I if(mode == mode_buffer || mode == mode_output) { if(te instanceof IEnergyConnector) { IEnergyConnector con = (IEnergyConnector) te; + + long max = getMaxTransfer(); + long toTransfer = Math.min(max, this.power); + long remainder = this.power - toTransfer; + this.power = toTransfer; + long oldPower = this.power; long transfer = this.power - con.transferPower(this.power); this.power = oldPower - transfer; + + power += remainder; } } @@ -278,6 +296,10 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I } } } + + public long getMaxTransfer() { + return this.getMaxPower(); + } @Override public void networkUnpack(NBTTagCompound nbt) { diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java index 541e4c9ad..46770f2a6 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java @@ -1,12 +1,9 @@ package com.hbm.tileentity.machine.storage; -import com.hbm.lib.Library; - import api.hbm.energy.IEnergyConductor; import api.hbm.energy.IEnergyConnector; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; @@ -20,21 +17,9 @@ public class TileEntityMachineFENSU extends TileEntityMachineBattery { @Override public void updateEntity() { + super.updateEntity(); - if(!worldObj.isRemote) { - - this.transmitPower(); - - power = Library.chargeTEFromItems(slots, 0, power, getMaxPower()); - power = Library.chargeItemsFromTE(slots, 1, power, getMaxPower()); - - NBTTagCompound nbt = new NBTTagCompound(); - nbt.setLong("power", power); - nbt.setShort("redLow", redLow); - nbt.setShort("redHigh", redHigh); - nbt.setByte("priority", (byte) this.priority.ordinal()); - this.networkPack(nbt, 250); - } else { + if(worldObj.isRemote) { this.prevRotation = this.rotation; this.rotation += this.getSpeed(); @@ -42,16 +27,10 @@ public class TileEntityMachineFENSU extends TileEntityMachineBattery { rotation -= 360; prevRotation -= 360; } - - for(int i = 1; i < this.log.length; i++) { - this.log[i - 1] = this.log[i]; - } - - this.log[19] = this.power; } } - protected void transmitPower() { + @Deprecated protected void transmitPower() { short mode = (short) this.getRelevantMode(); @@ -127,8 +106,7 @@ public class TileEntityMachineFENSU extends TileEntityMachineBattery { @Override @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { + public double getMaxRenderDistanceSquared() { return 65536.0D; } } From c7f28e8853b7bdb8cab74d2d6279260125cadd8c Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 11 May 2023 23:37:31 +0200 Subject: [PATCH 082/285] compressor model --- .../assets/hbm/models/machines/compressor.obj | 2321 +++++++++++++++++ .../textures/models/machines/compressor.png | Bin 0 -> 2131 bytes 2 files changed, 2321 insertions(+) create mode 100644 src/main/resources/assets/hbm/models/machines/compressor.obj create mode 100644 src/main/resources/assets/hbm/textures/models/machines/compressor.png diff --git a/src/main/resources/assets/hbm/models/machines/compressor.obj b/src/main/resources/assets/hbm/models/machines/compressor.obj new file mode 100644 index 000000000..ebafde92e --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/compressor.obj @@ -0,0 +1,2321 @@ +# Blender v2.79 (sub 0) OBJ File: 'compressor.blend' +# www.blender.org +o Pump +v -0.250000 7.000000 -1.500000 +v -0.250000 7.000000 -0.500000 +v 0.250000 7.000000 -0.500000 +v 0.250000 7.000000 -1.500000 +v -0.250000 7.000000 0.500000 +v -0.250000 7.000000 1.500000 +v 0.250000 7.000000 1.500000 +v 0.250000 7.000000 0.500000 +v 0.750000 7.000000 -1.250000 +v 0.750000 7.000000 1.250000 +v -0.750000 7.000000 -1.250000 +v -0.750000 7.000000 1.250000 +v -0.250000 8.000000 -1.500000 +v -0.250000 8.000000 -0.500000 +v 0.250000 8.000000 -0.500000 +v 0.250000 8.000000 -1.500000 +v -0.250000 8.000000 0.500000 +v -0.250000 8.000000 1.500000 +v 0.250000 8.000000 1.500000 +v 0.250000 8.000000 0.500000 +v 0.750000 8.000000 -1.250000 +v 0.750000 8.000000 1.250000 +v -0.750000 8.000000 -1.250000 +v -0.750000 8.000000 1.250000 +v 0.000000 4.000000 -0.500000 +v -0.353553 4.000000 -0.353553 +v -0.500000 4.000000 0.000000 +v -0.353553 4.000000 0.353553 +v 0.000000 4.000000 0.500000 +v 0.353553 4.000000 0.353553 +v 0.500000 4.000000 -0.000000 +v 0.353553 4.000000 -0.353553 +v 0.000000 8.500000 -0.500000 +v -0.353553 8.500000 -0.353553 +v -0.500000 8.500000 0.000000 +v -0.353553 8.500000 0.353553 +v 0.000000 8.500000 0.500000 +v 0.353553 8.500000 0.353553 +v 0.500000 8.500000 -0.000000 +v 0.353553 8.500000 -0.353553 +vt 0.136364 0.037037 +vt 0.196970 0.074074 +vt 0.136364 0.074074 +vt 0.242424 0.111111 +vt 0.090909 0.111111 +vt 0.196970 0.037037 +vt 0.090909 0.000000 +vt 0.196970 0.222222 +vt 0.136364 0.259259 +vt 0.136364 0.222222 +vt 0.090909 0.185185 +vt 0.196970 0.259259 +vt 0.242424 0.296296 +vt 0.090909 0.296296 +vt 0.090909 0.370370 +vt 0.242424 0.370370 +vt 0.257576 0.259259 +vt 0.257576 0.222222 +vt 0.000000 0.370370 +vt 0.060606 0.296296 +vt 0.060606 0.370370 +vt 0.060606 0.185185 +vt 0.060606 0.111111 +vt 0.333333 0.111111 +vt 0.272727 0.185185 +vt 0.272727 0.111111 +vt 0.242424 0.185185 +vt 0.000000 0.185185 +vt 0.000000 0.111111 +vt 0.272727 0.296296 +vt 0.272727 0.370370 +vt 0.333333 0.296296 +vt 0.333333 0.370370 +vt 0.075758 0.222222 +vt 0.075758 0.259259 +vt 0.636324 0.962963 +vt 0.606061 0.999951 +vt 0.575798 0.962963 +vt 0.075758 0.074074 +vt 0.257576 0.074074 +vt 0.075758 0.037037 +vt 0.242424 -0.000000 +vt 0.257576 0.037037 +vt 0.075758 0.222222 +vt 0.257576 0.222222 +vt 0.075758 0.259259 +vt 0.257576 0.259259 +vt -0.000000 0.296296 +vt 0.333333 0.185185 +vt 0.627460 0.989117 +vt 0.584662 0.989117 +vt 0.584662 0.936809 +vt 0.606061 0.925975 +vt 0.627460 0.936809 +vt 0.689394 0.592593 +vt 0.666667 0.925926 +vt 0.666667 0.592593 +vt 0.643939 0.592593 +vt 0.621212 0.925926 +vt 0.621212 0.592593 +vt 0.598485 0.592593 +vt 0.575758 0.925926 +vt 0.575758 0.592593 +vt 0.734848 0.592593 +vt 0.712121 0.925926 +vt 0.712121 0.592593 +vt 0.689394 0.925926 +vt 0.643939 0.925926 +vt 0.598485 0.925926 +vt 0.757576 0.592593 +vt 0.734848 0.925926 +vt 0.757576 0.925926 +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.4472 0.0000 -0.8944 +vn 0.4472 0.0000 -0.8944 +vn -0.4472 0.0000 0.8944 +vn 0.4472 0.0000 0.8944 +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 3/1/1 5/2/1 2/3/1 +f 5/2/1 12/4/1 11/5/1 +f 8/6/1 3/1/1 9/7/1 +f 17/8/2 15/9/2 14/10/2 +f 17/8/2 14/10/2 23/11/2 +f 20/12/2 22/13/2 21/14/2 +f 9/15/3 22/13/3 10/16/3 +f 8/17/4 17/8/4 5/18/4 +f 3/19/5 16/20/5 4/21/5 +f 11/5/6 13/22/6 1/23/6 +f 4/21/7 21/14/7 9/15/7 +f 5/24/3 18/25/3 6/26/3 +f 6/26/8 24/27/8 12/4/8 +f 1/23/3 14/28/3 2/29/3 +f 10/16/9 19/30/9 7/31/9 +f 7/31/5 20/32/5 8/33/5 +f 12/4/5 23/11/5 11/5/5 +f 2/34/10 15/9/10 3/35/10 +f 33/36/2 35/37/2 37/38/2 +f 3/1/1 8/6/1 5/2/1 +f 11/5/1 1/39/1 2/3/1 +f 5/2/1 6/40/1 12/4/1 +f 11/5/1 2/3/1 5/2/1 +f 3/1/1 4/41/1 9/7/1 +f 9/7/1 10/42/1 8/6/1 +f 10/42/1 7/43/1 8/6/1 +f 17/8/2 20/12/2 15/9/2 +f 14/10/2 13/44/2 23/11/2 +f 23/11/2 24/27/2 17/8/2 +f 24/27/2 18/45/2 17/8/2 +f 21/14/2 16/46/2 15/9/2 +f 20/12/2 19/47/2 22/13/2 +f 21/14/2 15/9/2 20/12/2 +f 9/15/3 21/14/3 22/13/3 +f 8/17/4 20/12/4 17/8/4 +f 3/19/5 15/48/5 16/20/5 +f 11/5/6 23/11/6 13/22/6 +f 4/21/7 16/20/7 21/14/7 +f 5/24/3 17/49/3 18/25/3 +f 6/26/8 18/25/8 24/27/8 +f 1/23/3 13/22/3 14/28/3 +f 10/16/9 22/13/9 19/30/9 +f 7/31/5 19/30/5 20/32/5 +f 12/4/5 24/27/5 23/11/5 +f 2/34/10 14/10/10 15/9/10 +f 33/36/2 34/50/2 35/37/2 +f 35/37/2 36/51/2 37/38/2 +f 37/38/2 38/52/2 39/53/2 +f 39/53/2 40/54/2 37/38/2 +f 40/54/2 33/36/2 37/38/2 +s 1 +f 32/55/11 39/56/3 31/57/3 +f 30/58/12 37/59/4 29/60/4 +f 28/61/13 35/62/5 27/63/5 +f 26/64/14 33/65/10 25/66/10 +f 25/66/10 40/67/11 32/55/11 +f 31/57/3 38/68/12 30/58/12 +f 29/60/4 36/69/13 28/61/13 +f 27/70/5 34/71/14 26/64/14 +f 32/55/11 40/67/11 39/56/3 +f 30/58/12 38/68/12 37/59/4 +f 28/61/13 36/69/13 35/62/5 +f 26/64/14 34/71/14 33/65/10 +f 25/66/10 33/65/10 40/67/11 +f 31/57/3 39/56/3 38/68/12 +f 29/60/4 37/59/4 36/69/13 +f 27/70/5 35/72/5 34/71/14 +o Fan +v 2.250000 1.500000 -0.125000 +v 2.250000 1.588388 -0.088388 +v 2.250000 1.625000 0.000000 +v 2.250000 1.588388 0.088388 +v 2.250000 1.500000 0.125000 +v 2.250000 1.411612 0.088388 +v 2.250000 1.375000 -0.000000 +v 2.250000 1.411612 -0.088388 +v 2.375000 1.500000 -0.125000 +v 2.375000 1.588388 -0.088388 +v 2.375000 1.625000 0.000000 +v 2.375000 1.588388 0.088388 +v 2.375000 1.500000 0.125000 +v 2.375000 1.411612 0.088388 +v 2.375000 1.375000 -0.000000 +v 2.375000 1.411612 -0.088388 +v 2.410491 1.821781 0.562102 +v 2.357664 1.459947 0.040054 +v 2.252009 2.062102 0.321781 +v 2.304836 1.540053 -0.040054 +v 2.410491 0.937898 0.321781 +v 2.357664 1.459947 -0.040053 +v 2.252009 1.178219 0.562102 +v 2.304836 1.540053 0.040054 +v 2.410491 1.178219 -0.562102 +v 2.357664 1.540053 -0.040054 +v 2.252009 0.937898 -0.321781 +v 2.304836 1.459947 0.040054 +v 2.410491 2.062103 -0.321781 +v 2.357664 1.540053 0.040054 +v 2.252009 1.821781 -0.562102 +v 2.304836 1.459947 -0.040054 +vt 0.166798 0.787037 +vt 0.174242 0.777939 +vt 0.181686 0.787037 +vt 0.219697 0.814815 +vt 0.181818 0.796296 +vt 0.219697 0.787037 +vt 0.181818 0.805556 +vt 0.219697 0.787037 +vt 0.219697 0.814815 +vt 0.181818 0.805556 +vt 0.219697 0.787037 +vt 0.219697 0.814815 +vt 0.181818 0.805556 +vt 0.219697 0.787037 +vt 0.219697 0.814815 +vt 0.179506 0.793470 +vt 0.174242 0.796135 +vt 0.168979 0.793470 +vt 0.168979 0.780604 +vt 0.179506 0.780604 +vt 0.181818 0.805556 +vt 0.181818 0.796296 +vt 0.181818 0.796296 +vt 0.181818 0.796296 +vt 0.212121 0.777778 +vt 0.204545 0.787037 +vt 0.204545 0.777778 +vt 0.189394 0.777778 +vt 0.181818 0.787037 +vt 0.181818 0.777778 +vt 0.234848 0.777778 +vt 0.227273 0.787037 +vt 0.227273 0.777778 +vt 0.219697 0.777778 +vt 0.212121 0.787037 +vt 0.196970 0.787037 +vt 0.196970 0.777778 +vt 0.189394 0.787037 +vt 0.242424 0.777778 +vt 0.234848 0.787037 +vt 0.219697 0.787037 +vt 0.242424 0.787037 +vn 1.0000 0.0000 0.0000 +vn 0.9063 0.2988 -0.2988 +vn 0.9063 0.2988 0.2988 +vn 0.9063 -0.2988 0.2988 +vn 0.9063 -0.2988 -0.2988 +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.0000 0.0000 1.0000 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.0000 -1.0000 +s off +f 53/73/15 55/74/15 49/75/15 +f 57/76/16 60/77/16 59/78/16 +f 62/79/17 63/80/17 61/81/17 +f 66/82/18 67/83/18 65/84/18 +f 70/85/19 71/86/19 69/87/19 +f 49/75/15 50/88/15 51/89/15 +f 51/89/15 52/90/15 53/73/15 +f 53/73/15 54/91/15 55/74/15 +f 55/74/15 56/92/15 49/75/15 +f 49/75/15 51/89/15 53/73/15 +f 57/76/16 58/93/16 60/77/16 +f 62/79/17 64/94/17 63/80/17 +f 66/82/18 68/95/18 67/83/18 +f 70/85/19 72/96/19 71/86/19 +s 1 +f 43/97/20 50/98/21 42/99/21 +f 48/100/22 55/101/23 47/102/23 +f 46/103/24 53/104/25 45/105/25 +f 44/106/26 51/107/20 43/97/20 +f 42/99/21 49/108/27 41/109/27 +f 41/109/27 56/110/22 48/100/22 +f 47/111/23 54/112/24 46/103/24 +f 45/105/25 52/113/26 44/106/26 +f 43/97/20 51/107/20 50/98/21 +f 48/100/22 56/110/22 55/101/23 +f 46/103/24 54/112/24 53/104/25 +f 44/106/26 52/113/26 51/107/20 +f 42/99/21 50/98/21 49/108/27 +f 41/109/27 49/108/27 56/110/22 +f 47/111/23 55/114/23 54/112/24 +f 45/105/25 53/104/25 52/113/26 +o Compressor +v -1.500000 0.000000 1.500000 +v 2.000000 0.000000 1.500000 +v -1.500000 0.000000 -1.500000 +v 2.000000 0.000000 -1.500000 +v -1.500000 1.000000 -1.500000 +v -1.500000 1.000000 1.500000 +v 1.000000 1.000000 1.500000 +v 1.000000 1.000000 -1.500000 +v 1.000000 3.000000 1.500000 +v 2.000000 3.000000 1.500000 +v 2.000000 3.000000 -1.500000 +v 1.000000 3.000000 -1.500000 +v -0.250000 1.000000 -1.000000 +v 0.250000 1.000000 -1.000000 +v -0.250000 1.000000 -1.500000 +v 0.250000 1.000000 -1.500000 +v -0.250000 8.500000 -1.500000 +v -0.250000 8.500000 -1.000000 +v 0.250000 8.500000 -1.000000 +v 0.250000 8.500000 -1.500000 +v -0.250000 1.000000 1.500000 +v 0.250000 1.000000 1.500000 +v -0.250000 1.000000 1.000000 +v 0.250000 1.000000 1.000000 +v -0.250000 8.500000 1.000000 +v -0.250000 8.500000 1.500000 +v 0.250000 8.500000 1.500000 +v 0.250000 8.500000 1.000000 +v 0.000000 1.000000 -1.250000 +v -0.883883 1.000000 -0.883883 +v -1.250000 1.000000 0.000000 +v -0.883883 1.000000 0.883883 +v 0.000000 1.000000 1.250000 +v 0.883884 1.000000 0.883883 +v 1.250000 1.000000 -0.000000 +v 0.883884 1.000000 -0.883883 +v 0.000000 3.500000 -1.250000 +v -0.883883 3.500000 -0.883883 +v -1.250000 3.500000 0.000000 +v -0.883883 3.500000 0.883883 +v 0.000000 3.500000 1.250000 +v 0.883884 3.500000 0.883883 +v 1.250000 3.500000 -0.000000 +v 0.883884 3.500000 -0.883883 +v 0.000000 4.000000 -1.000000 +v -0.707107 4.000000 -0.707107 +v -1.000000 4.000000 0.000000 +v -0.707107 4.000000 0.707107 +v 0.000000 4.000000 1.000000 +v 0.707107 4.000000 0.707107 +v 1.000000 4.000000 -0.000000 +v 0.707107 4.000000 -0.707107 +v 1.000000 2.875000 -1.187500 +v 1.000000 2.875000 -1.312500 +v 1.000000 2.625000 -1.187500 +v 1.000000 2.625000 -1.312500 +v -0.750000 2.875000 -1.187500 +v -0.750000 2.875000 -1.312500 +v -0.562500 2.625000 -1.187500 +v -0.562500 2.625000 -1.312500 +v -1.250000 1.000000 -1.187500 +v -1.250000 1.000000 -1.312500 +v -1.500000 1.000000 -1.187500 +v -1.500000 1.000000 -1.312500 +v 1.000000 2.875000 1.312500 +v 1.000000 2.875000 1.187500 +v 1.000000 2.625000 1.312500 +v 1.000000 2.625000 1.187500 +v -0.750000 2.875000 1.312500 +v -0.750000 2.875000 1.187500 +v -0.562500 2.625000 1.312500 +v -0.562500 2.625000 1.187500 +v -1.250000 1.000000 1.312500 +v -1.250000 1.000000 1.187500 +v -1.500000 1.000000 1.312500 +v -1.500000 1.000000 1.187500 +v 2.000000 2.500000 1.000000 +v 2.000000 0.500000 1.000000 +v 2.000000 2.500000 -1.000000 +v 2.000000 0.500000 -1.000000 +v 2.250000 2.500000 -1.000000 +v 2.250000 2.500000 1.000000 +v 2.250000 0.500000 1.000000 +v 2.250000 0.500000 -1.000000 +v 2.250000 1.500000 -0.750000 +v 2.250000 2.030330 -0.530330 +v 2.250000 2.250000 0.000000 +v 2.250000 2.030330 0.530330 +v 2.250000 1.500000 0.750000 +v 2.250000 0.969670 0.530330 +v 2.250000 0.750000 -0.000000 +v 2.250000 0.969670 -0.530330 +v 2.250000 1.500000 -1.000000 +v 2.250000 2.207107 -0.707107 +v 2.250000 2.500000 0.000000 +v 2.250000 2.207107 0.707107 +v 2.250000 1.500000 1.000000 +v 2.250000 0.792893 0.707107 +v 2.250000 0.500000 -0.000000 +v 2.250000 0.792893 -0.707107 +v 2.500000 2.030330 -0.530330 +v 2.500000 1.500000 -0.750000 +v 2.500000 2.250000 0.000000 +v 2.500000 2.030330 0.530330 +v 2.500000 1.500000 0.750000 +v 2.500000 0.969670 0.530330 +v 2.500000 0.750000 -0.000000 +v 2.500000 0.969670 -0.530330 +v 2.500000 2.207107 -0.707107 +v 2.500000 1.500000 -1.000000 +v 2.500000 2.500000 0.000000 +v 2.500000 2.207107 0.707107 +v 2.500000 1.500000 1.000000 +v 2.500000 0.792893 0.707107 +v 2.500000 0.500000 -0.000000 +v 2.500000 0.792893 -0.707107 +v 2.437500 1.562500 0.750000 +v 2.437500 1.437500 0.750000 +v 2.437500 1.562500 -0.750000 +v 2.437500 1.437500 -0.750000 +v 2.437500 1.937500 0.750000 +v 2.437500 1.812500 0.750000 +v 2.437500 1.937500 -0.750000 +v 2.437500 1.812500 -0.750000 +v 2.437500 1.187500 0.750000 +v 2.437500 1.062500 0.750000 +v 2.437500 1.187500 -0.750000 +v 2.437500 1.062500 -0.750000 +v 1.000000 1.750000 -1.375000 +v 1.000000 1.838388 -1.338388 +v 1.000000 1.875000 -1.250000 +v 1.000000 1.838388 -1.161612 +v 1.000000 1.750000 -1.125000 +v 1.000000 1.661612 -1.161612 +v 1.000000 1.625000 -1.250000 +v 1.000000 1.661612 -1.338388 +v -0.500000 1.750000 -1.375000 +v -0.500000 1.838388 -1.338388 +v -0.500000 1.875000 -1.250000 +v -0.500000 1.838388 -1.161612 +v -0.500000 1.750000 -1.125000 +v -0.500000 1.661612 -1.161612 +v -0.500000 1.625000 -1.250000 +v -0.500000 1.661612 -1.338388 +v -0.676777 1.750000 -1.301777 +v -0.650888 1.838388 -1.275888 +v -0.588388 1.875000 -1.213388 +v -0.525888 1.838388 -1.150888 +v -0.525888 1.661612 -1.150888 +v -0.588388 1.625000 -1.213388 +v -0.650888 1.661612 -1.275888 +v -0.750000 1.750000 -1.125000 +v -0.713388 1.838388 -1.125000 +v -0.625000 1.875000 -1.125000 +v -0.536612 1.838388 -1.125000 +v -0.536612 1.661612 -1.125000 +v -0.625000 1.625000 -1.125000 +v -0.713388 1.661612 -1.125000 +v -0.500000 1.750000 -0.875000 +v -0.750000 1.750000 -0.875000 +v -0.713388 1.838388 -0.875000 +v -0.625000 1.875000 -0.875000 +v -0.536612 1.838388 -0.875000 +v -0.536612 1.661612 -0.875000 +v -0.625000 1.625000 -0.875000 +v -0.713388 1.661612 -0.875000 +v 1.000000 1.250000 -1.375000 +v 1.000000 1.338388 -1.338388 +v 1.000000 1.375000 -1.250000 +v 1.000000 1.338388 -1.161612 +v 1.000000 1.250000 -1.125000 +v 1.000000 1.161612 -1.161612 +v 1.000000 1.125000 -1.250000 +v 1.000000 1.161612 -1.338388 +v -0.500000 1.250000 -1.375000 +v -0.500000 1.338388 -1.338388 +v -0.500000 1.375000 -1.250000 +v -0.500000 1.338388 -1.161612 +v -0.500000 1.250000 -1.125000 +v -0.500000 1.161612 -1.161612 +v -0.500000 1.125000 -1.250000 +v -0.500000 1.161612 -1.338388 +v -0.676777 1.250000 -1.301777 +v -0.650888 1.338388 -1.275888 +v -0.588388 1.375000 -1.213388 +v -0.525888 1.338388 -1.150888 +v -0.525888 1.161612 -1.150888 +v -0.588388 1.125000 -1.213388 +v -0.650888 1.161612 -1.275888 +v -0.750000 1.250000 -1.125000 +v -0.713388 1.338388 -1.125000 +v -0.625000 1.375000 -1.125000 +v -0.536612 1.338388 -1.125000 +v -0.536612 1.161612 -1.125000 +v -0.625000 1.125000 -1.125000 +v -0.713388 1.161612 -1.125000 +v -0.500000 1.250000 -0.875000 +v -0.750000 1.250000 -0.875000 +v -0.713388 1.338388 -0.875000 +v -0.625000 1.375000 -0.875000 +v -0.536612 1.338388 -0.875000 +v -0.536612 1.161612 -0.875000 +v -0.625000 1.125000 -0.875000 +v -0.713388 1.161612 -0.875000 +v 1.000000 2.250000 -1.375000 +v 1.000000 2.338388 -1.338388 +v 1.000000 2.375000 -1.250000 +v 1.000000 2.338388 -1.161612 +v 1.000000 2.250000 -1.125000 +v 1.000000 2.161612 -1.161612 +v 1.000000 2.125000 -1.250000 +v 1.000000 2.161612 -1.338388 +v -0.500000 2.250000 -1.375000 +v -0.500000 2.338388 -1.338388 +v -0.500000 2.375000 -1.250000 +v -0.500000 2.338388 -1.161612 +v -0.500000 2.250000 -1.125000 +v -0.500000 2.161612 -1.161612 +v -0.500000 2.125000 -1.250000 +v -0.500000 2.161612 -1.338388 +v -0.676777 2.250000 -1.301777 +v -0.650888 2.338388 -1.275888 +v -0.588388 2.375000 -1.213388 +v -0.525888 2.338388 -1.150888 +v -0.525888 2.161612 -1.150888 +v -0.588388 2.125000 -1.213388 +v -0.650888 2.161612 -1.275888 +v -0.750000 2.250000 -1.125000 +v -0.713388 2.338388 -1.125000 +v -0.625000 2.375000 -1.125000 +v -0.536612 2.338388 -1.125000 +v -0.536612 2.161612 -1.125000 +v -0.625000 2.125000 -1.125000 +v -0.713388 2.161612 -1.125000 +v -0.500000 2.250000 -0.875000 +v -0.750000 2.250000 -0.875000 +v -0.713388 2.338388 -0.875000 +v -0.625000 2.375000 -0.875000 +v -0.536612 2.338388 -0.875000 +v -0.536612 2.161612 -0.875000 +v -0.625000 2.125000 -0.875000 +v -0.713388 2.161612 -0.875000 +v 1.000000 1.750000 1.375000 +v 1.000000 1.838388 1.338388 +v 1.000000 1.875000 1.250000 +v 1.000000 1.838388 1.161612 +v 1.000000 1.750000 1.125000 +v 1.000000 1.661612 1.161612 +v 1.000000 1.625000 1.250000 +v 1.000000 1.661612 1.338388 +v -0.500000 1.750000 1.375000 +v -0.500000 1.838388 1.338388 +v -0.500000 1.875000 1.250000 +v -0.500000 1.838388 1.161612 +v -0.500000 1.750000 1.125000 +v -0.500000 1.661612 1.161612 +v -0.500000 1.625000 1.250000 +v -0.500000 1.661612 1.338388 +v -0.676777 1.750000 1.301777 +v -0.650888 1.838388 1.275888 +v -0.588388 1.875000 1.213388 +v -0.525888 1.838388 1.150888 +v -0.525888 1.661612 1.150888 +v -0.588388 1.625000 1.213388 +v -0.650888 1.661612 1.275888 +v -0.750000 1.750000 1.125000 +v -0.713388 1.838388 1.125000 +v -0.625000 1.875000 1.125000 +v -0.536612 1.838388 1.125000 +v -0.536612 1.661612 1.125000 +v -0.625000 1.625000 1.125000 +v -0.713388 1.661612 1.125000 +v -0.500000 1.750000 0.875000 +v -0.750000 1.750000 0.875000 +v -0.713388 1.838388 0.875000 +v -0.625000 1.875000 0.875000 +v -0.536612 1.838388 0.875000 +v -0.536612 1.661612 0.875000 +v -0.625000 1.625000 0.875000 +v -0.713388 1.661612 0.875000 +v 1.000000 1.250000 1.375000 +v 1.000000 1.338388 1.338388 +v 1.000000 1.375000 1.250000 +v 1.000000 1.338388 1.161612 +v 1.000000 1.250000 1.125000 +v 1.000000 1.161612 1.161612 +v 1.000000 1.125000 1.250000 +v 1.000000 1.161612 1.338388 +v -0.500000 1.250000 1.375000 +v -0.500000 1.338388 1.338388 +v -0.500000 1.375000 1.250000 +v -0.500000 1.338388 1.161612 +v -0.500000 1.250000 1.125000 +v -0.500000 1.161612 1.161612 +v -0.500000 1.125000 1.250000 +v -0.500000 1.161612 1.338388 +v -0.676777 1.250000 1.301777 +v -0.650888 1.338388 1.275888 +v -0.588388 1.375000 1.213388 +v -0.525888 1.338388 1.150888 +v -0.525888 1.161612 1.150888 +v -0.588388 1.125000 1.213388 +v -0.650888 1.161612 1.275888 +v -0.750000 1.250000 1.125000 +v -0.713388 1.338388 1.125000 +v -0.625000 1.375000 1.125000 +v -0.536612 1.338388 1.125000 +v -0.536612 1.161612 1.125000 +v -0.625000 1.125000 1.125000 +v -0.713388 1.161612 1.125000 +v -0.500000 1.250000 0.875000 +v -0.750000 1.250000 0.875000 +v -0.713388 1.338388 0.875000 +v -0.625000 1.375000 0.875000 +v -0.536612 1.338388 0.875000 +v -0.536612 1.161612 0.875000 +v -0.625000 1.125000 0.875000 +v -0.713388 1.161612 0.875000 +v 1.000000 2.250000 1.375000 +v 1.000000 2.338388 1.338388 +v 1.000000 2.375000 1.250000 +v 1.000000 2.338388 1.161612 +v 1.000000 2.250000 1.125000 +v 1.000000 2.161612 1.161612 +v 1.000000 2.125000 1.250000 +v 1.000000 2.161612 1.338388 +v -0.500000 2.250000 1.375000 +v -0.500000 2.338388 1.338388 +v -0.500000 2.375000 1.250000 +v -0.500000 2.338388 1.161612 +v -0.500000 2.250000 1.125000 +v -0.500000 2.161612 1.161612 +v -0.500000 2.125000 1.250000 +v -0.500000 2.161612 1.338388 +v -0.676777 2.250000 1.301777 +v -0.650888 2.338388 1.275888 +v -0.588388 2.375000 1.213388 +v -0.525888 2.338388 1.150888 +v -0.525888 2.161612 1.150888 +v -0.588388 2.125000 1.213388 +v -0.650888 2.161612 1.275888 +v -0.750000 2.250000 1.125000 +v -0.713388 2.338388 1.125000 +v -0.625000 2.375000 1.125000 +v -0.536612 2.338388 1.125000 +v -0.536612 2.161612 1.125000 +v -0.625000 2.125000 1.125000 +v -0.713388 2.161612 1.125000 +v -0.500000 2.250000 0.875000 +v -0.750000 2.250000 0.875000 +v -0.713388 2.338388 0.875000 +v -0.625000 2.375000 0.875000 +v -0.536612 2.338388 0.875000 +v -0.536612 2.161612 0.875000 +v -0.625000 2.125000 0.875000 +v -0.713388 2.161612 0.875000 +v -1.375000 2.750000 0.500000 +v -1.375000 1.750000 0.500000 +v -1.375000 2.750000 -0.500000 +v -1.375000 1.750000 -0.500000 +v -1.000000 2.750000 -0.500000 +v -1.000000 2.750000 0.500000 +v -1.000000 1.750000 0.500000 +v -1.000000 1.750000 -0.500000 +v 1.750000 3.000000 -0.125000 +v 1.661612 3.000000 -0.088388 +v 1.625000 3.000000 0.000000 +v 1.661612 3.000000 0.088388 +v 1.750000 3.000000 0.125000 +v 1.838388 3.000000 0.088388 +v 1.875000 3.000000 -0.000000 +v 1.838388 3.000000 -0.088388 +v 1.750000 3.625000 -0.125000 +v 1.661612 3.625000 -0.088388 +v 1.625000 3.625000 0.000000 +v 1.661612 3.625000 0.088388 +v 1.750000 3.625000 0.125000 +v 1.838388 3.625000 0.088388 +v 1.875000 3.625000 -0.000000 +v 1.838388 3.625000 -0.088388 +v 1.713388 3.713388 -0.125000 +v 1.650888 3.650888 -0.088388 +v 1.650888 3.650888 0.088388 +v 1.713388 3.713388 0.125000 +v 1.775888 3.775888 0.088388 +v 1.801777 3.801777 -0.000000 +v 1.775888 3.775888 -0.088388 +v 1.625000 3.750000 -0.125000 +v 1.625000 3.661612 -0.088388 +v 1.625000 3.661612 0.088388 +v 1.625000 3.750000 0.125000 +v 1.625000 3.838388 0.088388 +v 1.625000 3.875000 -0.000000 +v 1.625000 3.838388 -0.088388 +v 1.000000 3.625000 0.000000 +v 1.000000 3.750000 -0.125000 +v 1.000000 3.661612 -0.088388 +v 1.000000 3.661612 0.088388 +v 1.000000 3.750000 0.125000 +v 1.000000 3.838388 0.088388 +v 1.000000 3.875000 -0.000000 +v 1.000000 3.838388 -0.088388 +v 1.750000 3.000000 -0.625000 +v 1.661612 3.000000 -0.588388 +v 1.625000 3.000000 -0.500000 +v 1.661612 3.000000 -0.411612 +v 1.750000 3.000000 -0.375000 +v 1.838388 3.000000 -0.411612 +v 1.875000 3.000000 -0.500000 +v 1.838388 3.000000 -0.588388 +v 1.750000 3.625000 -0.625000 +v 1.661612 3.625000 -0.588388 +v 1.625000 3.625000 -0.500000 +v 1.661612 3.625000 -0.411612 +v 1.750000 3.625000 -0.375000 +v 1.838388 3.625000 -0.411612 +v 1.875000 3.625000 -0.500000 +v 1.838388 3.625000 -0.588388 +v 1.713388 3.713388 -0.625000 +v 1.650888 3.650888 -0.588388 +v 1.650888 3.650888 -0.411612 +v 1.713388 3.713388 -0.375000 +v 1.775888 3.775888 -0.411612 +v 1.801777 3.801777 -0.500000 +v 1.775888 3.775888 -0.588388 +v 1.625000 3.750000 -0.625000 +v 1.625000 3.661612 -0.588388 +v 1.625000 3.661612 -0.411612 +v 1.625000 3.750000 -0.375000 +v 1.625000 3.838388 -0.411612 +v 1.625000 3.875000 -0.500000 +v 1.625000 3.838388 -0.588388 +v 0.812500 3.625000 -0.500000 +v 0.812500 3.750000 -0.625000 +v 0.812500 3.661612 -0.588388 +v 0.812500 3.661612 -0.411612 +v 0.812500 3.750000 -0.375000 +v 0.812500 3.838388 -0.411612 +v 0.812500 3.875000 -0.500000 +v 0.812500 3.838388 -0.588388 +v 1.750000 3.000000 0.375000 +v 1.661612 3.000000 0.411612 +v 1.625000 3.000000 0.500000 +v 1.661612 3.000000 0.588388 +v 1.750000 3.000000 0.625000 +v 1.838388 3.000000 0.588388 +v 1.875000 3.000000 0.500000 +v 1.838388 3.000000 0.411612 +v 1.750000 3.625000 0.375000 +v 1.661612 3.625000 0.411612 +v 1.625000 3.625000 0.500000 +v 1.661612 3.625000 0.588388 +v 1.750000 3.625000 0.625000 +v 1.838388 3.625000 0.588388 +v 1.875000 3.625000 0.500000 +v 1.838388 3.625000 0.411612 +v 1.713388 3.713388 0.375000 +v 1.650888 3.650888 0.411612 +v 1.650888 3.650888 0.588388 +v 1.713388 3.713388 0.625000 +v 1.775888 3.775888 0.588388 +v 1.801777 3.801777 0.500000 +v 1.775888 3.775888 0.411612 +v 1.625000 3.750000 0.375000 +v 1.625000 3.661612 0.411612 +v 1.625000 3.661612 0.588388 +v 1.625000 3.750000 0.625000 +v 1.625000 3.838388 0.588388 +v 1.625000 3.875000 0.500000 +v 1.625000 3.838388 0.411612 +v 0.812500 3.625000 0.500000 +v 0.812500 3.750000 0.375000 +v 0.812500 3.661612 0.411612 +v 0.812500 3.661612 0.588388 +v 0.812500 3.750000 0.625000 +v 0.812500 3.838388 0.588388 +v 0.812500 3.875000 0.500000 +v 0.812500 3.838388 0.411612 +vt 0.515152 0.259259 +vt 0.333333 0.518519 +vt 0.333333 0.259259 +vt 0.575758 0.592593 +vt 0.515152 0.740741 +vt 0.515152 0.518519 +vt 0.121212 0.518519 +vt 0.272727 0.592593 +vt 0.121212 0.592593 +vt 0.515152 0.185185 +vt 0.333333 0.000000 +vt 0.333333 0.185185 +vt 0.333333 0.740741 +vt 0.515152 0.814815 +vt 0.333333 0.814815 +vt 0.363636 0.555556 +vt 0.333333 0.962963 +vt 0.515152 0.962963 +vt 0.909091 0.777778 +vt 0.939394 0.814815 +vt 0.909091 0.814815 +vt 0.787879 0.777778 +vt 0.818182 0.814815 +vt 0.787879 0.814815 +vt 0.878788 0.222222 +vt 0.848485 0.777778 +vt 0.848485 0.222222 +vt 0.818182 0.777778 +vt 0.818182 0.222222 +vt 0.787879 0.222222 +vt 0.757576 0.777778 +vt 0.757576 0.222222 +vt 1.000000 0.222222 +vt 0.969697 0.777778 +vt 0.969697 0.222222 +vt 0.939394 0.777778 +vt 0.939394 0.222222 +vt 0.909091 0.222222 +vt 0.878788 0.777778 +vt 0.878788 0.222222 +vt 0.575758 0.222250 +vt 0.618597 0.243937 +vt 0.636341 0.296296 +vt 0.515152 0.462963 +vt 0.609848 0.444444 +vt 0.621212 0.462963 +vt 0.515152 0.472222 +vt 0.609848 0.490741 +vt 0.515152 0.490741 +vt 0.515152 0.435185 +vt 0.515152 0.444444 +vt 0.628788 0.435185 +vt 0.734848 0.444444 +vt 0.628788 0.444444 +vt 0.742424 0.472222 +vt 0.628788 0.490741 +vt 0.621212 0.472222 +vt 0.742424 0.462963 +vt 0.515152 0.398148 +vt 0.609848 0.379630 +vt 0.621212 0.398148 +vt 0.515152 0.407407 +vt 0.609848 0.425926 +vt 0.515152 0.425926 +vt 0.609848 0.435185 +vt 0.515152 0.435185 +vt 0.628788 0.425926 +vt 0.734848 0.435185 +vt 0.628788 0.435185 +vt 0.742424 0.407407 +vt 0.621212 0.407407 +vt 0.628788 0.379630 +vt 0.742424 0.398148 +vt 0.272727 0.740741 +vt 0.727273 0.518519 +vt 0.727273 0.592593 +vt 0.257576 0.592593 +vt 0.136364 0.611111 +vt 0.136364 0.592593 +vt 0.484848 0.703704 +vt 0.257576 0.759259 +vt 0.136364 0.759259 +vt 0.136364 0.777778 +vt 0.257576 0.777778 +vt 0.272727 0.759259 +vt 0.257576 0.611111 +vt 0.272727 0.611111 +vt 0.121212 0.611111 +vt 0.121212 0.759259 +vt 0.121212 0.796296 +vt 0.159091 0.814815 +vt 0.128788 0.814815 +vt 0.128788 0.814815 +vt 0.166667 0.796296 +vt 0.159091 0.814815 +vt 0.121212 0.796296 +vt 0.159091 0.814815 +vt 0.128788 0.814815 +vt 0.121212 0.796296 +vt 0.159091 0.814815 +vt 0.128788 0.814815 +vt 0.121212 0.796296 +vt 0.159091 0.814815 +vt 0.128788 0.814815 +vt 0.121212 0.796296 +vt 0.159091 0.814815 +vt 0.128788 0.814815 +vt 0.121212 0.796296 +vt 0.159091 0.814815 +vt 0.128788 0.814815 +vt 0.121212 0.796296 +vt 0.159091 0.814815 +vt 0.128788 0.814815 +vt 0.121212 0.842593 +vt 0.212121 0.851852 +vt 0.121212 0.851852 +vt 0.121212 0.851852 +vt 0.212121 0.861111 +vt 0.121212 0.861111 +vt 0.121212 0.833333 +vt 0.212121 0.842593 +vt 0.121212 0.842593 +vt 0.143939 0.962963 +vt 0.204545 0.888889 +vt 0.204545 0.962963 +vt 0.143939 0.888889 +vt 0.204545 0.861111 +vt 0.143939 0.990741 +vt 0.121212 0.888889 +vt 0.227273 0.962963 +vt 0.575758 0.740741 +vt 0.515152 0.000000 +vt 0.484848 0.555556 +vt 0.878788 0.777778 +vt 1.000000 0.777778 +vt 0.618597 0.348655 +vt 0.515174 0.296296 +vt 0.575758 0.370343 +vt 0.532919 0.348655 +vt 0.532919 0.243937 +vt 0.609848 0.435185 +vt 0.734848 0.435185 +vt 0.734848 0.490741 +vt 0.515152 0.379630 +vt 0.734848 0.425926 +vt 0.734848 0.379630 +vt 0.363636 0.703704 +vt 0.166667 0.796296 +vt 0.121212 0.796296 +vt 0.166667 0.796296 +vt 0.166667 0.796296 +vt 0.166667 0.796296 +vt 0.166667 0.796296 +vt 0.166667 0.796296 +vt 0.166667 0.796296 +vt 0.212121 0.842593 +vt 0.212121 0.851852 +vt 0.212121 0.833333 +vt 0.143939 0.861111 +vt 0.204545 0.990741 +vt 0.121212 0.962963 +vt 0.227273 0.888889 +vt 0.818182 -0.000000 +vt 0.757576 0.185185 +vt 0.757576 -0.000000 +vt 0.696970 -0.000000 +vt 0.636364 0.185185 +vt 0.636364 0.000000 +vt 0.575758 0.185185 +vt 0.575758 0.000000 +vt 1.000000 -0.000000 +vt 0.939394 0.185185 +vt 0.939394 -0.000000 +vt 0.878788 -0.000000 +vt 0.818182 0.185185 +vt 0.696970 0.185185 +vt 0.515152 0.185185 +vt 0.515152 0.000000 +vt 0.878788 0.185185 +vt 0.750000 0.222222 +vt 0.704545 0.222222 +vt 0.810606 0.222222 +vt 0.765152 0.222222 +vt 0.825758 0.222222 +vt 0.886364 0.222222 +vt 1.000000 0.185185 +vt 0.946970 0.222222 +vt 0.522727 0.222222 +vt 0.628788 0.222222 +vt 0.583333 0.222222 +vt 0.643939 0.222222 +vt 0.128788 0.833333 +vt 0.159091 0.833333 +vt 0.166667 0.777778 +vt 0.121212 0.777778 +vt 0.166667 0.777778 +vt 0.121212 0.777778 +vt 0.128788 0.833333 +vt 0.159091 0.833333 +vt 0.166667 0.777778 +vt 0.121212 0.777778 +vt 0.128788 0.833333 +vt 0.159091 0.833333 +vt 0.166667 0.777778 +vt 0.121212 0.777778 +vt 0.128788 0.833333 +vt 0.159091 0.833333 +vt 0.166667 0.777778 +vt 0.121212 0.777778 +vt 0.128788 0.833333 +vt 0.159091 0.833333 +vt 0.166667 0.777778 +vt 0.121212 0.777778 +vt 0.128788 0.833333 +vt 0.159091 0.833333 +vt 0.166667 0.777778 +vt 0.121212 0.777778 +vt 0.128788 0.833333 +vt 0.159091 0.833333 +vt 0.166667 0.777778 +vt 0.121212 0.777778 +vt 0.128788 0.833333 +vt 0.159091 0.833333 +vt 0.757576 0.333333 +vt 0.750000 0.222222 +vt 0.757576 0.222222 +vt 0.712121 0.333333 +vt 0.704545 0.222222 +vt 0.712121 0.222222 +vt 0.727273 0.333333 +vt 0.719697 0.222222 +vt 0.727273 0.222222 +vt 0.734848 0.333333 +vt 0.734848 0.222222 +vt 0.750000 0.333333 +vt 0.742424 0.222222 +vt 0.704545 0.333333 +vt 0.696970 0.222222 +vt 0.719697 0.333333 +vt 0.742424 0.333333 +vt 0.734848 0.347222 +vt 0.727273 0.347222 +vt 0.742424 0.337963 +vt 0.750000 0.347222 +vt 0.742424 0.347222 +vt 0.712121 0.347222 +vt 0.712121 0.337963 +vt 0.704545 0.347222 +vt 0.704545 0.342593 +vt 0.719697 0.347222 +vt 0.712121 0.356481 +vt 0.704545 0.351852 +vt 0.727273 0.361111 +vt 0.719697 0.361111 +vt 0.742424 0.356481 +vt 0.734848 0.361111 +vt 0.757576 0.347222 +vt 0.750000 0.342593 +vt 0.750000 0.351852 +vt 0.696970 0.347222 +vt 0.719697 0.379630 +vt 0.704545 0.361111 +vt 0.696970 0.379630 +vt 0.696970 0.361111 +vt 0.727273 0.379630 +vt 0.757576 0.361111 +vt 0.750000 0.379630 +vt 0.750000 0.361111 +vt 0.742424 0.379630 +vt 0.742424 0.361111 +vt 0.712121 0.379630 +vt 0.712121 0.361111 +vt 0.734848 0.379630 +vt 0.704545 0.379630 +vt 0.757576 0.333333 +vt 0.750000 0.222222 +vt 0.757576 0.222222 +vt 0.712121 0.333333 +vt 0.704545 0.222222 +vt 0.712121 0.222222 +vt 0.727273 0.333333 +vt 0.719697 0.222222 +vt 0.727273 0.222222 +vt 0.734848 0.333333 +vt 0.734848 0.222222 +vt 0.750000 0.333333 +vt 0.742424 0.222222 +vt 0.704545 0.333333 +vt 0.696970 0.222222 +vt 0.719697 0.333333 +vt 0.742424 0.333333 +vt 0.734848 0.347222 +vt 0.727273 0.347222 +vt 0.742424 0.337963 +vt 0.750000 0.347222 +vt 0.742424 0.347222 +vt 0.712121 0.347222 +vt 0.712121 0.337963 +vt 0.704545 0.347222 +vt 0.704545 0.342593 +vt 0.719697 0.347222 +vt 0.712121 0.356481 +vt 0.704545 0.351852 +vt 0.727273 0.361111 +vt 0.719697 0.361111 +vt 0.742424 0.356481 +vt 0.734848 0.361111 +vt 0.757576 0.347222 +vt 0.750000 0.342593 +vt 0.750000 0.351852 +vt 0.696970 0.347222 +vt 0.719697 0.379630 +vt 0.704545 0.361111 +vt 0.696970 0.379630 +vt 0.696970 0.361111 +vt 0.727273 0.379630 +vt 0.757576 0.361111 +vt 0.750000 0.379630 +vt 0.750000 0.361111 +vt 0.742424 0.379630 +vt 0.742424 0.361111 +vt 0.712121 0.379630 +vt 0.712121 0.361111 +vt 0.734848 0.379630 +vt 0.704545 0.379630 +vt 0.757576 0.333333 +vt 0.750000 0.222222 +vt 0.757576 0.222222 +vt 0.712121 0.333333 +vt 0.704545 0.222222 +vt 0.712121 0.222222 +vt 0.727273 0.333333 +vt 0.719697 0.222222 +vt 0.727273 0.222222 +vt 0.734848 0.333333 +vt 0.734848 0.222222 +vt 0.750000 0.333333 +vt 0.742424 0.222222 +vt 0.704545 0.333333 +vt 0.696970 0.222222 +vt 0.719697 0.333333 +vt 0.742424 0.333333 +vt 0.734848 0.347222 +vt 0.727273 0.347222 +vt 0.742424 0.337963 +vt 0.750000 0.347222 +vt 0.742424 0.347222 +vt 0.712121 0.347222 +vt 0.712121 0.337963 +vt 0.704545 0.347222 +vt 0.704545 0.342593 +vt 0.719697 0.347222 +vt 0.712121 0.356481 +vt 0.704545 0.351852 +vt 0.727273 0.361111 +vt 0.719697 0.361111 +vt 0.742424 0.356481 +vt 0.734848 0.361111 +vt 0.757576 0.347222 +vt 0.750000 0.342593 +vt 0.750000 0.351852 +vt 0.696970 0.347222 +vt 0.719697 0.379630 +vt 0.704545 0.361111 +vt 0.696970 0.379630 +vt 0.696970 0.361111 +vt 0.727273 0.379630 +vt 0.757576 0.361111 +vt 0.750000 0.379630 +vt 0.750000 0.361111 +vt 0.742424 0.379630 +vt 0.742424 0.361111 +vt 0.712121 0.379630 +vt 0.712121 0.361111 +vt 0.734848 0.379630 +vt 0.704545 0.379630 +vt 0.704545 0.222222 +vt 0.696970 0.333333 +vt 0.696970 0.222222 +vt 0.750000 0.222222 +vt 0.742424 0.333333 +vt 0.742424 0.222222 +vt 0.734848 0.222222 +vt 0.727273 0.333333 +vt 0.727273 0.222222 +vt 0.719697 0.333333 +vt 0.719697 0.222222 +vt 0.712121 0.222222 +vt 0.704545 0.333333 +vt 0.757576 0.222222 +vt 0.750000 0.333333 +vt 0.734848 0.333333 +vt 0.712121 0.333333 +vt 0.719697 0.347222 +vt 0.712121 0.337963 +vt 0.704545 0.347222 +vt 0.704545 0.342593 +vt 0.742424 0.347222 +vt 0.742424 0.337963 +vt 0.712121 0.347222 +vt 0.750000 0.347222 +vt 0.750000 0.342593 +vt 0.734848 0.347222 +vt 0.742424 0.356481 +vt 0.734848 0.361111 +vt 0.727273 0.347222 +vt 0.719697 0.361111 +vt 0.712121 0.356481 +vt 0.696970 0.347222 +vt 0.704545 0.351852 +vt 0.757576 0.347222 +vt 0.750000 0.351852 +vt 0.734848 0.379630 +vt 0.727273 0.361111 +vt 0.757576 0.379630 +vt 0.750000 0.361111 +vt 0.757576 0.361111 +vt 0.727273 0.379630 +vt 0.704545 0.379630 +vt 0.696970 0.361111 +vt 0.704545 0.361111 +vt 0.712121 0.379630 +vt 0.712121 0.361111 +vt 0.742424 0.379630 +vt 0.742424 0.361111 +vt 0.719697 0.379630 +vt 0.750000 0.379630 +vt 0.704545 0.222222 +vt 0.696970 0.333333 +vt 0.696970 0.222222 +vt 0.750000 0.222222 +vt 0.742424 0.333333 +vt 0.742424 0.222222 +vt 0.734848 0.222222 +vt 0.727273 0.333333 +vt 0.727273 0.222222 +vt 0.719697 0.333333 +vt 0.719697 0.222222 +vt 0.712121 0.222222 +vt 0.704545 0.333333 +vt 0.757576 0.222222 +vt 0.750000 0.333333 +vt 0.734848 0.333333 +vt 0.712121 0.333333 +vt 0.719697 0.347222 +vt 0.712121 0.337963 +vt 0.704545 0.347222 +vt 0.704545 0.342593 +vt 0.742424 0.347222 +vt 0.742424 0.337963 +vt 0.712121 0.347222 +vt 0.750000 0.347222 +vt 0.750000 0.342593 +vt 0.734848 0.347222 +vt 0.742424 0.356481 +vt 0.734848 0.361111 +vt 0.727273 0.347222 +vt 0.719697 0.361111 +vt 0.712121 0.356481 +vt 0.696970 0.347222 +vt 0.704545 0.351852 +vt 0.757576 0.347222 +vt 0.750000 0.351852 +vt 0.734848 0.379630 +vt 0.727273 0.361111 +vt 0.757576 0.379630 +vt 0.750000 0.361111 +vt 0.757576 0.361111 +vt 0.727273 0.379630 +vt 0.704545 0.379630 +vt 0.696970 0.361111 +vt 0.704545 0.361111 +vt 0.712121 0.379630 +vt 0.712121 0.361111 +vt 0.742424 0.379630 +vt 0.742424 0.361111 +vt 0.719697 0.379630 +vt 0.750000 0.379630 +vt 0.704545 0.222222 +vt 0.696970 0.333333 +vt 0.696970 0.222222 +vt 0.750000 0.222222 +vt 0.742424 0.333333 +vt 0.742424 0.222222 +vt 0.734848 0.222222 +vt 0.727273 0.333333 +vt 0.727273 0.222222 +vt 0.719697 0.333333 +vt 0.719697 0.222222 +vt 0.712121 0.222222 +vt 0.704545 0.333333 +vt 0.757576 0.222222 +vt 0.750000 0.333333 +vt 0.734848 0.333333 +vt 0.712121 0.333333 +vt 0.719697 0.347222 +vt 0.712121 0.337963 +vt 0.704545 0.347222 +vt 0.704545 0.342593 +vt 0.742424 0.347222 +vt 0.742424 0.337963 +vt 0.712121 0.347222 +vt 0.750000 0.347222 +vt 0.750000 0.342593 +vt 0.734848 0.347222 +vt 0.742424 0.356481 +vt 0.734848 0.361111 +vt 0.727273 0.347222 +vt 0.719697 0.361111 +vt 0.712121 0.356481 +vt 0.696970 0.347222 +vt 0.704545 0.351852 +vt 0.757576 0.347222 +vt 0.750000 0.351852 +vt 0.734848 0.379630 +vt 0.727273 0.361111 +vt 0.757576 0.379630 +vt 0.750000 0.361111 +vt 0.757576 0.361111 +vt 0.727273 0.379630 +vt 0.704545 0.379630 +vt 0.696970 0.361111 +vt 0.704545 0.361111 +vt 0.712121 0.379630 +vt 0.712121 0.361111 +vt 0.742424 0.379630 +vt 0.742424 0.361111 +vt 0.719697 0.379630 +vt 0.750000 0.379630 +vt 0.696970 0.222222 +vt 0.689394 0.268519 +vt 0.689394 0.222222 +vt 0.674242 0.222222 +vt 0.666667 0.268519 +vt 0.666667 0.222222 +vt 0.659091 0.222222 +vt 0.651515 0.268519 +vt 0.651515 0.222222 +vt 0.643939 0.222222 +vt 0.636364 0.268519 +vt 0.636364 0.222222 +vt 0.681818 0.268519 +vt 0.681818 0.222222 +vt 0.674242 0.268519 +vt 0.659091 0.268519 +vt 0.643939 0.268519 +vt 0.651515 0.282407 +vt 0.651515 0.273148 +vt 0.681818 0.273148 +vt 0.689394 0.282407 +vt 0.681818 0.282407 +vt 0.674242 0.282407 +vt 0.666667 0.282407 +vt 0.659091 0.282407 +vt 0.643939 0.282407 +vt 0.643939 0.277778 +vt 0.666667 0.296296 +vt 0.651515 0.291667 +vt 0.689394 0.287037 +vt 0.681818 0.291667 +vt 0.674242 0.296296 +vt 0.659091 0.296296 +vt 0.643939 0.287037 +vt 0.636364 0.282407 +vt 0.689394 0.277778 +vt 0.696970 0.282407 +vt 0.666667 0.342593 +vt 0.651515 0.342593 +vt 0.651515 0.296296 +vt 0.689394 0.296296 +vt 0.681818 0.342593 +vt 0.681818 0.296296 +vt 0.696970 0.342593 +vt 0.689394 0.342593 +vt 0.674242 0.342593 +vt 0.643939 0.296296 +vt 0.636364 0.342593 +vt 0.636364 0.296296 +vt 0.659091 0.342593 +vt 0.643939 0.342593 +vt 0.696970 0.222222 +vt 0.689394 0.268519 +vt 0.689394 0.222222 +vt 0.674242 0.222222 +vt 0.666667 0.268519 +vt 0.666667 0.222222 +vt 0.659091 0.222222 +vt 0.651515 0.268519 +vt 0.651515 0.222222 +vt 0.643939 0.222222 +vt 0.636364 0.268519 +vt 0.636364 0.222222 +vt 0.681818 0.268519 +vt 0.681818 0.222222 +vt 0.674242 0.268519 +vt 0.659091 0.268519 +vt 0.643939 0.268519 +vt 0.651515 0.282407 +vt 0.651515 0.273148 +vt 0.681818 0.273148 +vt 0.689394 0.282407 +vt 0.681818 0.282407 +vt 0.674242 0.282407 +vt 0.666667 0.282407 +vt 0.659091 0.282407 +vt 0.643939 0.282407 +vt 0.643939 0.277778 +vt 0.666667 0.296296 +vt 0.659091 0.296296 +vt 0.651515 0.291667 +vt 0.681818 0.291667 +vt 0.674242 0.296296 +vt 0.643939 0.287037 +vt 0.636364 0.282407 +vt 0.689394 0.277778 +vt 0.696970 0.282407 +vt 0.689394 0.287037 +vt 0.666667 0.356481 +vt 0.651515 0.356481 +vt 0.651515 0.296296 +vt 0.689394 0.296296 +vt 0.681818 0.356481 +vt 0.681818 0.296296 +vt 0.696970 0.356481 +vt 0.689394 0.356481 +vt 0.674242 0.356481 +vt 0.643939 0.296296 +vt 0.636364 0.356481 +vt 0.636364 0.296296 +vt 0.659091 0.356481 +vt 0.643939 0.356481 +vt 0.696970 0.222222 +vt 0.689394 0.268519 +vt 0.689394 0.222222 +vt 0.674242 0.222222 +vt 0.666667 0.268519 +vt 0.666667 0.222222 +vt 0.659091 0.222222 +vt 0.651515 0.268519 +vt 0.651515 0.222222 +vt 0.643939 0.222222 +vt 0.636364 0.268519 +vt 0.636364 0.222222 +vt 0.681818 0.268519 +vt 0.681818 0.222222 +vt 0.674242 0.268519 +vt 0.659091 0.268519 +vt 0.643939 0.268519 +vt 0.651515 0.273148 +vt 0.659091 0.282407 +vt 0.651515 0.282407 +vt 0.681818 0.273148 +vt 0.689394 0.282407 +vt 0.681818 0.282407 +vt 0.674242 0.282407 +vt 0.666667 0.282407 +vt 0.643939 0.282407 +vt 0.643939 0.277778 +vt 0.666667 0.296296 +vt 0.651515 0.291667 +vt 0.681818 0.291667 +vt 0.674242 0.296296 +vt 0.659091 0.296296 +vt 0.643939 0.287037 +vt 0.636364 0.282407 +vt 0.689394 0.277778 +vt 0.696970 0.282407 +vt 0.689394 0.287037 +vt 0.666667 0.356481 +vt 0.651515 0.356481 +vt 0.651515 0.296296 +vt 0.689394 0.296296 +vt 0.681818 0.356481 +vt 0.681818 0.296296 +vt 0.696970 0.356481 +vt 0.689394 0.356481 +vt 0.674242 0.356481 +vt 0.643939 0.296296 +vt 0.636364 0.356481 +vt 0.636364 0.296296 +vt 0.659091 0.356481 +vt 0.643939 0.356481 +vt 0.871212 0.222222 +vt 0.931818 0.222222 +vt 0.992424 0.222222 +vt 0.568182 0.222222 +vt 0.689394 0.222222 +vt 0.696970 0.333333 +vt 0.757576 0.379630 +vt 0.696970 0.333333 +vt 0.757576 0.379630 +vt 0.696970 0.333333 +vt 0.757576 0.379630 +vt 0.757576 0.333333 +vt 0.696970 0.379630 +vt 0.757576 0.333333 +vt 0.696970 0.379630 +vt 0.757576 0.333333 +vt 0.696970 0.379630 +vt 0.696970 0.268519 +vt 0.696970 0.296296 +vt 0.696970 0.268519 +vt 0.696970 0.296296 +vt 0.696970 0.268519 +vt 0.696970 0.296296 +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 1.0000 0.0000 +vn 1.0000 -0.0000 0.0000 +vn 0.9210 -0.3896 0.0000 +vn -0.9285 0.3714 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.6325 0.4472 -0.6325 +vn -0.8944 0.4472 0.0000 +vn -0.6325 0.4472 0.6325 +vn 0.0000 0.4472 0.8944 +vn 0.6325 0.4472 0.6325 +vn 0.8944 0.4472 -0.0000 +vn 0.6325 0.4472 -0.6325 +vn 0.0000 0.4472 -0.8944 +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.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.0196 -0.9987 -0.0473 +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.4617 0.7574 0.4617 +vn -0.5294 0.6630 -0.5294 +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.0473 -0.9987 -0.0196 +vn -0.7194 -0.6794 -0.1448 +vn 0.6737 -0.7263 0.1363 +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.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.0196 -0.9987 0.0473 +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.4617 0.7574 -0.4617 +vn -0.5294 0.6630 0.5294 +vn -0.0473 0.9987 0.0196 +vn -0.7194 0.6794 0.1448 +vn -0.7194 -0.6794 0.1448 +vn -0.0473 -0.9987 0.0196 +vn 0.6737 -0.7263 -0.1363 +vn 0.6737 0.7263 -0.1363 +vn -0.9824 -0.0000 0.1866 +vn -0.6737 -0.1363 -0.7263 +vn 0.9824 0.1866 -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.7194 0.1448 0.6794 +vn -0.6737 -0.1363 0.7263 +vn 0.0671 0.0671 0.9955 +vn -0.4617 -0.4617 -0.7574 +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.1866 0.9824 0.0000 +vn 0.0196 0.0473 0.9987 +vn -0.1363 -0.6737 -0.7263 +vn 0.0196 0.0473 -0.9987 +vn 0.1448 0.7194 -0.6794 +vn 0.1448 0.7194 0.6794 +vn -0.1363 -0.6737 0.7263 +s off +f 75/115/28 74/116/28 73/117/28 +f 80/118/29 83/119/29 76/120/29 +f 73/121/30 79/122/30 78/123/30 +f 73/117/31 77/124/31 75/115/31 +f 79/125/32 77/124/32 78/126/32 +f 82/127/32 84/128/32 81/129/32 +f 76/120/33 150/130/33 74/116/33 +f 79/131/31 84/128/31 80/132/31 +f 99/133/32 97/134/32 98/135/32 +f 91/136/32 89/137/32 90/138/32 +f 85/139/31 89/140/31 87/141/31 +f 87/141/29 92/142/29 88/143/29 +f 86/144/30 90/145/30 85/146/30 +f 88/143/33 91/136/33 86/144/33 +f 93/147/31 97/148/31 95/149/31 +f 95/149/29 100/150/29 96/151/29 +f 94/152/30 98/153/30 93/154/30 +f 96/151/33 99/133/33 94/152/33 +f 123/155/32 124/156/32 117/157/32 +f 126/158/29 132/159/29 130/160/29 +f 130/160/32 125/161/32 126/158/32 +f 125/161/30 131/162/30 127/163/30 +f 127/164/28 132/159/28 128/165/28 +f 131/166/34 134/167/34 132/168/34 +f 135/169/30 131/170/30 129/171/30 +f 132/168/29 136/172/29 130/160/29 +f 136/172/35 129/171/35 130/160/35 +f 138/173/29 144/174/29 142/175/29 +f 142/175/32 137/176/32 138/173/32 +f 137/176/30 143/177/30 139/178/30 +f 139/178/28 144/179/28 140/180/28 +f 143/181/34 146/182/34 144/183/34 +f 147/184/30 143/181/30 141/185/30 +f 144/186/29 148/187/29 142/175/29 +f 148/187/35 141/185/35 142/175/35 +f 79/122/30 82/127/30 81/188/30 +f 80/118/29 75/189/29 77/190/29 +f 152/191/28 155/192/28 150/193/28 +f 151/194/33 76/120/33 83/119/33 +f 82/127/33 151/194/33 83/119/33 +f 150/130/33 82/127/33 74/116/33 +f 155/192/33 153/195/33 154/196/33 +f 149/197/32 153/195/32 151/198/32 +f 151/199/29 156/200/29 152/201/29 +f 150/202/30 154/196/30 149/203/30 +f 181/204/33 175/205/33 173/206/33 +f 174/207/33 181/208/33 173/209/33 +f 188/210/33 174/211/33 180/212/33 +f 187/213/33 180/214/33 179/215/33 +f 186/216/33 179/217/33 178/218/33 +f 185/219/33 178/220/33 177/221/33 +f 184/222/33 177/223/33 176/224/33 +f 183/225/33 176/226/33 175/227/33 +f 190/228/33 191/229/33 189/230/33 +f 194/231/33 195/232/33 193/233/33 +f 198/234/33 199/235/33 197/236/33 +f 431/237/31 430/238/31 429/239/31 +f 432/240/28 435/241/28 430/238/28 +f 429/239/32 433/242/32 431/237/32 +f 431/237/29 436/243/29 432/240/29 +f 430/238/30 434/244/30 429/239/30 +f 75/115/28 76/120/28 74/116/28 +f 80/118/29 84/245/29 83/119/29 +f 73/121/30 74/116/30 79/122/30 +f 73/117/31 78/126/31 77/124/31 +f 79/125/32 80/246/32 77/124/32 +f 82/127/32 83/119/32 84/128/32 +f 76/120/33 152/247/33 150/130/33 +f 79/131/31 81/129/31 84/128/31 +f 99/133/32 100/150/32 97/134/32 +f 91/136/32 92/142/32 89/137/32 +f 85/139/31 90/248/31 89/140/31 +f 87/141/29 89/140/29 92/142/29 +f 86/144/30 91/136/30 90/145/30 +f 88/143/33 92/142/33 91/136/33 +f 93/147/31 98/249/31 97/148/31 +f 95/149/29 97/148/29 100/150/29 +f 94/152/30 99/133/30 98/153/30 +f 96/151/33 100/150/33 99/133/33 +f 117/157/32 118/250/32 121/251/32 +f 118/250/32 119/252/32 121/251/32 +f 119/252/32 120/253/32 121/251/32 +f 121/251/32 122/254/32 117/157/32 +f 122/254/32 123/155/32 117/157/32 +f 126/158/29 128/165/29 132/159/29 +f 130/160/32 129/171/32 125/161/32 +f 125/161/30 129/171/30 131/162/30 +f 127/164/28 131/255/28 132/159/28 +f 131/166/34 133/256/34 134/167/34 +f 135/169/30 133/257/30 131/170/30 +f 132/168/29 134/167/29 136/172/29 +f 136/172/35 135/169/35 129/171/35 +f 138/173/29 140/258/29 144/174/29 +f 142/175/32 141/185/32 137/176/32 +f 137/176/30 141/185/30 143/177/30 +f 139/178/28 143/177/28 144/179/28 +f 143/181/34 145/259/34 146/182/34 +f 147/184/30 145/259/30 143/181/30 +f 144/186/29 146/260/29 148/187/29 +f 148/187/35 147/184/35 141/185/35 +f 79/122/30 74/116/30 82/127/30 +f 80/118/29 76/120/29 75/189/29 +f 152/191/28 156/200/28 155/192/28 +f 151/194/33 152/247/33 76/120/33 +f 82/127/33 149/261/33 151/194/33 +f 150/130/33 149/261/33 82/127/33 +f 155/192/33 156/200/33 153/195/33 +f 149/197/32 154/196/32 153/195/32 +f 151/199/29 153/195/29 156/200/29 +f 150/202/30 155/192/30 154/196/30 +f 181/204/33 183/262/33 175/205/33 +f 174/207/33 182/263/33 181/208/33 +f 188/210/33 182/264/33 174/211/33 +f 187/213/33 188/265/33 180/214/33 +f 186/216/33 187/266/33 179/217/33 +f 185/219/33 186/267/33 178/220/33 +f 184/222/33 185/268/33 177/223/33 +f 183/225/33 184/269/33 176/226/33 +f 190/228/33 192/270/33 191/229/33 +f 194/231/33 196/271/33 195/232/33 +f 198/234/33 200/272/33 199/235/33 +f 431/237/31 432/240/31 430/238/31 +f 432/240/28 436/273/28 435/241/28 +f 429/239/32 434/274/32 433/242/32 +f 431/237/29 433/275/29 436/243/29 +f 430/238/30 435/276/30 434/244/30 +s 1 +f 104/277/36 111/278/31 103/279/31 +f 102/280/37 109/281/29 101/282/29 +f 101/282/29 116/283/38 108/284/38 +f 107/285/33 114/286/39 106/287/39 +f 105/288/30 112/289/36 104/277/36 +f 103/279/31 110/290/37 102/280/37 +f 108/284/38 115/291/33 107/292/33 +f 106/287/39 113/293/30 105/288/30 +f 110/290/40 119/294/41 118/295/40 +f 111/278/41 120/296/42 119/297/41 +f 113/293/43 120/298/42 112/289/42 +f 114/286/44 121/299/43 113/293/43 +f 115/300/45 122/301/44 114/286/44 +f 116/283/46 123/302/45 115/291/45 +f 116/283/46 117/303/47 124/304/46 +f 110/290/40 117/305/47 109/281/47 +f 157/306/30 173/209/48 158/307/48 +f 165/308/29 188/210/49 172/309/49 +f 166/310/50 182/263/29 165/311/29 +f 158/312/48 175/205/28 159/313/28 +f 167/314/32 181/204/50 166/315/50 +f 159/316/28 176/226/49 160/317/49 +f 168/318/51 183/225/32 167/319/32 +f 160/320/49 177/223/29 161/321/29 +f 169/322/30 184/222/51 168/323/51 +f 161/324/29 178/220/50 162/325/50 +f 170/326/48 185/219/30 169/327/30 +f 162/328/50 179/217/32 163/329/32 +f 171/330/28 186/216/48 170/331/48 +f 163/332/32 180/214/51 164/333/51 +f 172/334/49 187/213/28 171/335/28 +f 164/336/51 174/211/30 157/337/30 +f 213/338/39 206/339/48 205/340/30 +f 211/341/52 204/342/51 203/343/32 +f 209/344/53 202/345/50 201/346/29 +f 216/347/54 201/346/29 208/348/49 +f 214/349/55 207/350/28 206/339/48 +f 212/351/56 205/352/30 204/342/51 +f 210/353/57 203/343/32 202/345/50 +f 215/354/58 208/348/49 207/350/28 +f 209/344/53 223/355/59 217/356/37 +f 215/357/58 221/358/60 222/359/61 +f 210/353/57 219/360/62 211/361/52 +f 216/347/54 222/359/61 223/355/59 +f 211/361/52 220/362/63 212/363/56 +f 209/344/53 218/364/64 210/353/57 +f 220/362/63 226/365/65 227/366/66 +f 218/364/64 224/367/67 225/368/68 +f 223/355/59 224/367/67 217/356/37 +f 221/358/60 229/369/69 222/359/61 +f 218/364/64 226/365/65 219/360/62 +f 222/359/61 230/370/70 223/355/59 +f 213/371/39 221/358/60 214/372/55 +f 221/358/60 213/371/39 228/373/71 +f 212/363/56 220/362/63 213/374/39 +f 220/362/63 227/366/66 213/374/39 +f 224/367/67 233/375/72 225/368/68 +f 227/376/66 231/377/33 213/378/39 +f 230/370/70 232/379/31 224/367/67 +f 213/380/39 236/381/73 228/382/71 +f 228/382/71 237/383/28 229/384/69 +f 225/368/68 234/385/32 226/386/65 +f 229/384/69 238/387/74 230/370/70 +f 226/386/65 235/388/75 227/376/66 +f 251/389/39 244/390/48 243/391/30 +f 249/392/52 242/393/51 241/394/32 +f 247/395/53 240/396/50 239/397/29 +f 254/398/54 239/397/29 246/399/49 +f 252/400/55 245/401/28 244/390/48 +f 250/402/56 243/403/30 242/393/51 +f 248/404/57 241/394/32 240/396/50 +f 253/405/58 246/399/49 245/401/28 +f 247/395/53 261/406/59 255/407/37 +f 253/408/58 259/409/60 260/410/61 +f 248/404/57 257/411/62 249/412/52 +f 254/398/54 260/410/61 261/406/59 +f 249/412/52 258/413/63 250/414/56 +f 247/395/53 256/415/64 248/404/57 +f 258/413/63 264/416/65 265/417/66 +f 256/415/64 262/418/67 263/419/68 +f 261/406/59 262/418/67 255/407/37 +f 259/409/60 267/420/69 260/410/61 +f 256/415/64 264/416/65 257/411/62 +f 260/410/61 268/421/70 261/406/59 +f 251/422/39 259/409/60 252/423/55 +f 259/409/60 251/422/39 266/424/71 +f 250/414/56 258/413/63 251/425/39 +f 258/413/63 265/417/66 251/425/39 +f 262/418/67 271/426/72 263/419/68 +f 265/427/66 269/428/33 251/429/39 +f 268/421/70 270/430/31 262/418/67 +f 251/431/39 274/432/73 266/433/71 +f 266/433/71 275/434/28 267/435/69 +f 263/419/68 272/436/32 264/437/65 +f 267/435/69 276/438/74 268/421/70 +f 264/437/65 273/439/75 265/427/66 +f 289/440/39 282/441/48 281/442/30 +f 287/443/52 280/444/51 279/445/32 +f 285/446/53 278/447/50 277/448/29 +f 292/449/54 277/448/29 284/450/49 +f 290/451/55 283/452/28 282/441/48 +f 288/453/56 281/454/30 280/444/51 +f 286/455/57 279/445/32 278/447/50 +f 291/456/58 284/450/49 283/452/28 +f 285/446/53 299/457/59 293/458/37 +f 291/459/58 297/460/60 298/461/61 +f 286/455/57 295/462/62 287/463/52 +f 292/449/54 298/461/61 299/457/59 +f 287/463/52 296/464/63 288/465/56 +f 285/446/53 294/466/64 286/455/57 +f 296/464/63 302/467/65 303/468/66 +f 294/466/64 300/469/67 301/470/68 +f 299/457/59 300/469/67 293/458/37 +f 297/460/60 305/471/69 298/461/61 +f 294/466/64 302/467/65 295/462/62 +f 299/457/59 305/471/69 306/472/70 +f 289/473/39 297/460/60 290/474/55 +f 297/460/60 289/473/39 304/475/71 +f 288/465/56 296/464/63 289/476/39 +f 296/464/63 303/468/66 289/476/39 +f 300/469/67 309/477/72 301/470/68 +f 303/478/66 307/479/33 289/480/39 +f 306/472/70 308/481/31 300/469/67 +f 289/482/39 312/483/73 304/484/71 +f 304/484/71 313/485/28 305/486/69 +f 301/470/68 310/487/32 302/488/65 +f 305/486/69 314/489/74 306/472/70 +f 302/488/65 311/490/75 303/478/66 +f 320/491/49 327/492/38 319/493/29 +f 318/494/50 325/495/76 317/496/32 +f 316/497/51 323/498/77 315/499/30 +f 315/499/30 330/500/78 322/501/48 +f 321/502/28 328/503/79 320/491/49 +f 319/504/29 326/505/80 318/494/50 +f 317/496/32 324/506/81 316/497/51 +f 322/501/48 329/507/82 321/502/28 +f 323/498/77 337/508/83 330/500/78 +f 329/509/82 335/510/84 328/511/79 +f 333/512/85 324/506/81 325/513/76 +f 330/500/78 336/514/86 329/509/82 +f 334/515/87 325/513/76 326/516/80 +f 332/517/88 323/498/77 324/506/81 +f 334/515/87 340/518/89 333/512/85 +f 339/519/90 331/520/36 332/517/88 +f 331/520/36 344/521/91 337/508/83 +f 343/522/92 335/510/84 336/514/86 +f 340/518/89 332/517/88 333/512/85 +f 344/521/91 336/514/86 337/508/83 +f 327/523/38 328/511/79 335/510/84 +f 335/510/84 342/524/93 327/523/38 +f 326/516/80 327/525/38 334/515/87 +f 334/515/87 327/525/38 341/526/94 +f 347/527/72 338/528/95 339/519/90 +f 345/529/33 341/530/94 327/531/38 +f 346/532/31 344/521/91 338/528/95 +f 350/533/73 327/534/38 342/535/93 +f 351/536/28 342/535/93 343/537/92 +f 348/538/32 339/519/90 340/539/89 +f 352/540/74 343/537/92 344/521/91 +f 349/541/75 340/539/89 341/530/94 +f 358/542/49 365/543/38 357/544/29 +f 356/545/50 363/546/76 355/547/32 +f 354/548/51 361/549/77 353/550/30 +f 353/550/30 368/551/78 360/552/48 +f 359/553/28 366/554/79 358/542/49 +f 357/555/29 364/556/80 356/545/50 +f 355/547/32 362/557/81 354/548/51 +f 360/552/48 367/558/82 359/553/28 +f 361/549/77 375/559/83 368/551/78 +f 367/560/82 373/561/84 366/562/79 +f 371/563/85 362/557/81 363/564/76 +f 368/551/78 374/565/86 367/560/82 +f 372/566/87 363/564/76 364/567/80 +f 370/568/88 361/549/77 362/557/81 +f 372/566/87 378/569/89 371/563/85 +f 377/570/90 369/571/36 370/568/88 +f 369/571/36 382/572/91 375/559/83 +f 381/573/92 373/561/84 374/565/86 +f 378/569/89 370/568/88 371/563/85 +f 382/572/91 374/565/86 375/559/83 +f 365/574/38 366/562/79 373/561/84 +f 373/561/84 380/575/93 365/574/38 +f 364/567/80 365/576/38 372/566/87 +f 372/566/87 365/576/38 379/577/94 +f 385/578/72 376/579/95 377/570/90 +f 383/580/33 379/581/94 365/582/38 +f 384/583/31 382/572/91 376/579/95 +f 388/584/73 365/585/38 380/586/93 +f 389/587/28 380/586/93 381/588/92 +f 386/589/32 377/570/90 378/590/89 +f 390/591/74 381/588/92 382/572/91 +f 387/592/75 378/590/89 379/581/94 +f 396/593/49 403/594/38 395/595/29 +f 394/596/50 401/597/76 393/598/32 +f 392/599/51 399/600/77 391/601/30 +f 391/601/30 406/602/78 398/603/48 +f 397/604/28 404/605/79 396/593/49 +f 395/606/29 402/607/80 394/596/50 +f 393/598/32 400/608/81 392/599/51 +f 398/603/48 405/609/82 397/604/28 +f 399/600/77 413/610/83 406/602/78 +f 405/611/82 411/612/84 404/613/79 +f 409/614/85 400/608/81 401/615/76 +f 406/602/78 412/616/86 405/611/82 +f 410/617/87 401/615/76 402/618/80 +f 408/619/88 399/600/77 400/608/81 +f 410/617/87 416/620/89 409/614/85 +f 415/621/90 407/622/36 408/619/88 +f 407/622/36 420/623/91 413/610/83 +f 419/624/92 411/612/84 412/616/86 +f 416/620/89 408/619/88 409/614/85 +f 420/623/91 412/616/86 413/610/83 +f 403/625/38 404/613/79 411/612/84 +f 411/612/84 418/626/93 403/625/38 +f 402/618/80 403/627/38 410/617/87 +f 410/617/87 403/627/38 417/628/94 +f 423/629/72 414/630/95 415/621/90 +f 421/631/33 417/632/94 403/633/38 +f 422/634/31 420/623/91 414/630/95 +f 426/635/73 403/636/38 418/637/93 +f 427/638/28 418/637/93 419/639/92 +f 424/640/32 415/621/90 416/641/89 +f 428/642/74 419/639/92 420/623/91 +f 425/643/75 416/641/89 417/632/94 +f 439/644/31 446/645/96 438/646/37 +f 444/647/38 451/648/97 443/649/33 +f 442/650/39 449/651/98 441/652/30 +f 440/653/36 447/654/74 439/655/31 +f 438/646/37 445/656/99 437/657/29 +f 437/657/29 452/658/100 444/647/38 +f 443/649/33 450/659/101 442/650/39 +f 441/652/30 448/660/102 440/653/36 +f 450/659/101 456/661/103 449/662/98 +f 445/663/99 454/664/104 453/665/105 +f 452/658/100 453/665/105 459/666/106 +f 450/659/101 458/667/75 457/668/107 +f 449/662/98 455/669/108 448/670/102 +f 452/658/100 458/667/75 451/648/97 +f 459/666/106 465/671/109 458/667/75 +f 457/668/107 463/672/110 456/661/103 +f 453/665/105 461/673/111 460/674/112 +f 459/666/106 460/674/112 466/675/113 +f 457/668/107 465/671/109 464/676/114 +f 456/661/103 462/677/115 455/669/108 +f 448/670/102 455/669/108 447/678/74 +f 455/669/108 462/677/115 447/678/74 +f 446/679/96 447/680/74 454/664/104 +f 454/664/104 447/680/74 461/673/111 +f 466/675/113 473/681/32 465/671/109 +f 464/676/114 471/682/30 463/683/110 +f 461/684/111 468/685/29 460/686/112 +f 461/684/111 467/687/28 469/688/49 +f 460/686/112 474/689/50 466/675/113 +f 462/690/115 467/691/28 447/692/74 +f 464/676/114 473/681/32 472/693/51 +f 463/683/110 470/694/48 462/690/115 +f 477/695/31 484/696/96 476/697/37 +f 482/698/38 489/699/97 481/700/33 +f 480/701/39 487/702/98 479/703/30 +f 478/704/36 485/705/74 477/706/31 +f 476/697/37 483/707/99 475/708/29 +f 475/708/29 490/709/100 482/698/38 +f 481/700/33 488/710/101 480/701/39 +f 479/703/30 486/711/102 478/704/36 +f 488/710/101 494/712/103 487/713/98 +f 483/714/99 492/715/104 491/716/105 +f 483/714/99 497/717/106 490/709/100 +f 488/710/101 496/718/75 495/719/107 +f 487/713/98 493/720/108 486/721/102 +f 490/709/100 496/718/75 489/699/97 +f 497/717/106 503/722/109 496/718/75 +f 494/712/103 502/723/114 501/724/110 +f 492/715/104 498/725/112 491/716/105 +f 497/717/106 498/725/112 504/726/113 +f 495/719/107 503/722/109 502/723/114 +f 494/712/103 500/727/115 493/720/108 +f 486/721/102 493/720/108 485/728/74 +f 493/720/108 500/727/115 485/728/74 +f 484/729/96 485/730/74 492/715/104 +f 492/715/104 485/730/74 499/731/111 +f 504/726/113 511/732/32 503/722/109 +f 502/723/114 509/733/30 501/734/110 +f 499/735/111 506/736/29 498/737/112 +f 499/735/111 505/738/28 507/739/49 +f 498/737/112 512/740/50 504/726/113 +f 500/741/115 505/742/28 485/743/74 +f 502/723/114 511/732/32 510/744/51 +f 501/734/110 508/745/48 500/741/115 +f 515/746/31 522/747/96 514/748/37 +f 520/749/38 527/750/97 519/751/33 +f 518/752/39 525/753/98 517/754/30 +f 516/755/36 523/756/74 515/757/31 +f 514/748/37 521/758/99 513/759/29 +f 513/759/29 528/760/100 520/749/38 +f 519/751/33 526/761/101 518/752/39 +f 517/754/30 524/762/102 516/755/36 +f 525/763/98 533/764/107 532/765/103 +f 521/766/99 530/767/104 529/768/105 +f 521/766/99 535/769/106 528/760/100 +f 526/761/101 534/770/75 533/764/107 +f 525/763/98 531/771/108 524/772/102 +f 528/760/100 534/770/75 527/750/97 +f 535/769/106 541/773/109 534/770/75 +f 533/764/107 539/774/110 532/765/103 +f 530/767/104 536/775/112 529/768/105 +f 529/768/105 542/776/113 535/769/106 +f 533/764/107 541/773/109 540/777/114 +f 531/771/108 539/774/110 538/778/115 +f 524/772/102 531/771/108 523/779/74 +f 531/771/108 538/778/115 523/779/74 +f 522/780/96 523/781/74 530/767/104 +f 530/767/104 523/781/74 537/782/111 +f 542/776/113 549/783/32 541/773/109 +f 540/777/114 547/784/30 539/785/110 +f 537/786/111 544/787/29 536/788/112 +f 537/786/111 543/789/28 545/790/49 +f 536/788/112 550/791/50 542/776/113 +f 538/792/115 543/793/28 523/794/74 +f 540/777/114 549/783/32 548/795/51 +f 539/785/110 546/796/48 538/792/115 +f 104/277/36 112/289/36 111/278/31 +f 102/280/37 110/290/37 109/281/29 +f 101/282/29 109/281/29 116/283/38 +f 107/285/33 115/300/33 114/286/39 +f 105/288/30 113/293/30 112/289/36 +f 103/279/31 111/278/31 110/290/37 +f 108/284/38 116/283/38 115/291/33 +f 106/287/39 114/286/39 113/293/30 +f 110/290/40 111/278/41 119/294/41 +f 111/278/41 112/289/42 120/296/42 +f 113/293/43 121/797/43 120/298/42 +f 114/286/44 122/798/44 121/299/43 +f 115/300/45 123/799/45 122/301/44 +f 116/283/46 124/800/46 123/302/45 +f 116/283/46 109/281/47 117/303/47 +f 110/290/40 118/801/40 117/305/47 +f 157/306/30 174/207/30 173/209/48 +f 165/308/29 182/264/29 188/210/49 +f 166/310/50 181/208/50 182/263/29 +f 158/312/48 173/206/48 175/205/28 +f 167/314/32 183/262/32 181/204/50 +f 159/316/28 175/227/28 176/226/49 +f 168/318/51 184/269/51 183/225/32 +f 160/320/49 176/224/49 177/223/29 +f 169/322/30 185/268/30 184/222/51 +f 161/324/29 177/221/29 178/220/50 +f 170/326/48 186/267/48 185/219/30 +f 162/328/50 178/218/50 179/217/32 +f 171/330/28 187/266/28 186/216/48 +f 163/332/32 179/215/32 180/214/51 +f 172/334/49 188/265/49 187/213/28 +f 164/336/51 180/212/51 174/211/30 +f 213/338/39 214/349/55 206/339/48 +f 211/341/52 212/351/56 204/342/51 +f 209/344/53 210/353/57 202/345/50 +f 216/347/54 209/344/53 201/346/29 +f 214/349/55 215/354/58 207/350/28 +f 212/351/56 213/802/39 205/352/30 +f 210/353/57 211/341/52 203/343/32 +f 215/354/58 216/347/54 208/348/49 +f 209/344/53 216/347/54 223/355/59 +f 215/357/58 214/372/55 221/358/60 +f 210/353/57 218/364/64 219/360/62 +f 216/347/54 215/357/58 222/359/61 +f 211/361/52 219/360/62 220/362/63 +f 209/344/53 217/356/37 218/364/64 +f 220/362/63 219/360/62 226/365/65 +f 218/364/64 217/356/37 224/367/67 +f 223/355/59 230/370/70 224/367/67 +f 221/358/60 228/373/71 229/369/69 +f 218/364/64 225/368/68 226/365/65 +f 222/359/61 229/369/69 230/370/70 +f 224/367/67 232/379/31 233/375/72 +f 227/376/66 235/388/75 231/377/33 +f 230/370/70 238/387/74 232/379/31 +f 213/380/39 231/803/33 236/381/73 +f 228/382/71 236/381/73 237/383/28 +f 225/368/68 233/375/72 234/385/32 +f 229/384/69 237/383/28 238/387/74 +f 226/386/65 234/385/32 235/388/75 +f 251/389/39 252/400/55 244/390/48 +f 249/392/52 250/402/56 242/393/51 +f 247/395/53 248/404/57 240/396/50 +f 254/398/54 247/395/53 239/397/29 +f 252/400/55 253/405/58 245/401/28 +f 250/402/56 251/804/39 243/403/30 +f 248/404/57 249/392/52 241/394/32 +f 253/405/58 254/398/54 246/399/49 +f 247/395/53 254/398/54 261/406/59 +f 253/408/58 252/423/55 259/409/60 +f 248/404/57 256/415/64 257/411/62 +f 254/398/54 253/408/58 260/410/61 +f 249/412/52 257/411/62 258/413/63 +f 247/395/53 255/407/37 256/415/64 +f 258/413/63 257/411/62 264/416/65 +f 256/415/64 255/407/37 262/418/67 +f 261/406/59 268/421/70 262/418/67 +f 259/409/60 266/424/71 267/420/69 +f 256/415/64 263/419/68 264/416/65 +f 260/410/61 267/420/69 268/421/70 +f 262/418/67 270/430/31 271/426/72 +f 265/427/66 273/439/75 269/428/33 +f 268/421/70 276/438/74 270/430/31 +f 251/431/39 269/805/33 274/432/73 +f 266/433/71 274/432/73 275/434/28 +f 263/419/68 271/426/72 272/436/32 +f 267/435/69 275/434/28 276/438/74 +f 264/437/65 272/436/32 273/439/75 +f 289/440/39 290/451/55 282/441/48 +f 287/443/52 288/453/56 280/444/51 +f 285/446/53 286/455/57 278/447/50 +f 292/449/54 285/446/53 277/448/29 +f 290/451/55 291/456/58 283/452/28 +f 288/453/56 289/806/39 281/454/30 +f 286/455/57 287/443/52 279/445/32 +f 291/456/58 292/449/54 284/450/49 +f 285/446/53 292/449/54 299/457/59 +f 291/459/58 290/474/55 297/460/60 +f 286/455/57 294/466/64 295/462/62 +f 292/449/54 291/459/58 298/461/61 +f 287/463/52 295/462/62 296/464/63 +f 285/446/53 293/458/37 294/466/64 +f 296/464/63 295/462/62 302/467/65 +f 294/466/64 293/458/37 300/469/67 +f 299/457/59 306/472/70 300/469/67 +f 297/460/60 304/475/71 305/471/69 +f 294/466/64 301/470/68 302/467/65 +f 299/457/59 298/461/61 305/471/69 +f 300/469/67 308/481/31 309/477/72 +f 303/478/66 311/490/75 307/479/33 +f 306/472/70 314/489/74 308/481/31 +f 289/482/39 307/807/33 312/483/73 +f 304/484/71 312/483/73 313/485/28 +f 301/470/68 309/477/72 310/487/32 +f 305/486/69 313/485/28 314/489/74 +f 302/488/65 310/487/32 311/490/75 +f 320/491/49 328/503/79 327/492/38 +f 318/494/50 326/505/80 325/495/76 +f 316/497/51 324/506/81 323/498/77 +f 315/499/30 323/498/77 330/500/78 +f 321/502/28 329/507/82 328/503/79 +f 319/504/29 327/808/38 326/505/80 +f 317/496/32 325/495/76 324/506/81 +f 322/501/48 330/500/78 329/507/82 +f 323/498/77 331/520/36 337/508/83 +f 329/509/82 336/514/86 335/510/84 +f 333/512/85 332/517/88 324/506/81 +f 330/500/78 337/508/83 336/514/86 +f 334/515/87 333/512/85 325/513/76 +f 332/517/88 331/520/36 323/498/77 +f 334/515/87 341/526/94 340/518/89 +f 339/519/90 338/528/95 331/520/36 +f 331/520/36 338/528/95 344/521/91 +f 343/522/92 342/524/93 335/510/84 +f 340/518/89 339/519/90 332/517/88 +f 344/521/91 343/522/92 336/514/86 +f 347/527/72 346/532/31 338/528/95 +f 345/529/33 349/541/75 341/530/94 +f 346/532/31 352/540/74 344/521/91 +f 350/533/73 345/809/33 327/534/38 +f 351/536/28 350/533/73 342/535/93 +f 348/538/32 347/527/72 339/519/90 +f 352/540/74 351/536/28 343/537/92 +f 349/541/75 348/538/32 340/539/89 +f 358/542/49 366/554/79 365/543/38 +f 356/545/50 364/556/80 363/546/76 +f 354/548/51 362/557/81 361/549/77 +f 353/550/30 361/549/77 368/551/78 +f 359/553/28 367/558/82 366/554/79 +f 357/555/29 365/810/38 364/556/80 +f 355/547/32 363/546/76 362/557/81 +f 360/552/48 368/551/78 367/558/82 +f 361/549/77 369/571/36 375/559/83 +f 367/560/82 374/565/86 373/561/84 +f 371/563/85 370/568/88 362/557/81 +f 368/551/78 375/559/83 374/565/86 +f 372/566/87 371/563/85 363/564/76 +f 370/568/88 369/571/36 361/549/77 +f 372/566/87 379/577/94 378/569/89 +f 377/570/90 376/579/95 369/571/36 +f 369/571/36 376/579/95 382/572/91 +f 381/573/92 380/575/93 373/561/84 +f 378/569/89 377/570/90 370/568/88 +f 382/572/91 381/573/92 374/565/86 +f 385/578/72 384/583/31 376/579/95 +f 383/580/33 387/592/75 379/581/94 +f 384/583/31 390/591/74 382/572/91 +f 388/584/73 383/811/33 365/585/38 +f 389/587/28 388/584/73 380/586/93 +f 386/589/32 385/578/72 377/570/90 +f 390/591/74 389/587/28 381/588/92 +f 387/592/75 386/589/32 378/590/89 +f 396/593/49 404/605/79 403/594/38 +f 394/596/50 402/607/80 401/597/76 +f 392/599/51 400/608/81 399/600/77 +f 391/601/30 399/600/77 406/602/78 +f 397/604/28 405/609/82 404/605/79 +f 395/606/29 403/812/38 402/607/80 +f 393/598/32 401/597/76 400/608/81 +f 398/603/48 406/602/78 405/609/82 +f 399/600/77 407/622/36 413/610/83 +f 405/611/82 412/616/86 411/612/84 +f 409/614/85 408/619/88 400/608/81 +f 406/602/78 413/610/83 412/616/86 +f 410/617/87 409/614/85 401/615/76 +f 408/619/88 407/622/36 399/600/77 +f 410/617/87 417/628/94 416/620/89 +f 415/621/90 414/630/95 407/622/36 +f 407/622/36 414/630/95 420/623/91 +f 419/624/92 418/626/93 411/612/84 +f 416/620/89 415/621/90 408/619/88 +f 420/623/91 419/624/92 412/616/86 +f 423/629/72 422/634/31 414/630/95 +f 421/631/33 425/643/75 417/632/94 +f 422/634/31 428/642/74 420/623/91 +f 426/635/73 421/813/33 403/636/38 +f 427/638/28 426/635/73 418/637/93 +f 424/640/32 423/629/72 415/621/90 +f 428/642/74 427/638/28 419/639/92 +f 425/643/75 424/640/32 416/641/89 +f 439/644/31 447/814/74 446/645/96 +f 444/647/38 452/658/100 451/648/97 +f 442/650/39 450/659/101 449/651/98 +f 440/653/36 448/660/102 447/654/74 +f 438/646/37 446/645/96 445/656/99 +f 437/657/29 445/656/99 452/658/100 +f 443/649/33 451/648/97 450/659/101 +f 441/652/30 449/651/98 448/660/102 +f 450/659/101 457/668/107 456/661/103 +f 445/663/99 446/679/96 454/664/104 +f 452/658/100 445/663/99 453/665/105 +f 450/659/101 451/648/97 458/667/75 +f 449/662/98 456/661/103 455/669/108 +f 452/658/100 459/666/106 458/667/75 +f 459/666/106 466/675/113 465/671/109 +f 457/668/107 464/676/114 463/672/110 +f 453/665/105 454/664/104 461/673/111 +f 459/666/106 453/665/105 460/674/112 +f 457/668/107 458/667/75 465/671/109 +f 456/661/103 463/672/110 462/677/115 +f 466/675/113 474/689/50 473/681/32 +f 464/676/114 472/693/51 471/682/30 +f 461/684/111 469/688/49 468/685/29 +f 461/684/111 447/815/74 467/687/28 +f 460/686/112 468/685/29 474/689/50 +f 462/690/115 470/694/48 467/691/28 +f 464/676/114 465/671/109 473/681/32 +f 463/683/110 471/682/30 470/694/48 +f 477/695/31 485/816/74 484/696/96 +f 482/698/38 490/709/100 489/699/97 +f 480/701/39 488/710/101 487/702/98 +f 478/704/36 486/711/102 485/705/74 +f 476/697/37 484/696/96 483/707/99 +f 475/708/29 483/707/99 490/709/100 +f 481/700/33 489/699/97 488/710/101 +f 479/703/30 487/702/98 486/711/102 +f 488/710/101 495/719/107 494/712/103 +f 483/714/99 484/729/96 492/715/104 +f 483/714/99 491/716/105 497/717/106 +f 488/710/101 489/699/97 496/718/75 +f 487/713/98 494/712/103 493/720/108 +f 490/709/100 497/717/106 496/718/75 +f 497/717/106 504/726/113 503/722/109 +f 494/712/103 495/719/107 502/723/114 +f 492/715/104 499/731/111 498/725/112 +f 497/717/106 491/716/105 498/725/112 +f 495/719/107 496/718/75 503/722/109 +f 494/712/103 501/724/110 500/727/115 +f 504/726/113 512/740/50 511/732/32 +f 502/723/114 510/744/51 509/733/30 +f 499/735/111 507/739/49 506/736/29 +f 499/735/111 485/817/74 505/738/28 +f 498/737/112 506/736/29 512/740/50 +f 500/741/115 508/745/48 505/742/28 +f 502/723/114 503/722/109 511/732/32 +f 501/734/110 509/733/30 508/745/48 +f 515/746/31 523/818/74 522/747/96 +f 520/749/38 528/760/100 527/750/97 +f 518/752/39 526/761/101 525/753/98 +f 516/755/36 524/762/102 523/756/74 +f 514/748/37 522/747/96 521/758/99 +f 513/759/29 521/758/99 528/760/100 +f 519/751/33 527/750/97 526/761/101 +f 517/754/30 525/753/98 524/762/102 +f 525/763/98 526/761/101 533/764/107 +f 521/766/99 522/780/96 530/767/104 +f 521/766/99 529/768/105 535/769/106 +f 526/761/101 527/750/97 534/770/75 +f 525/763/98 532/765/103 531/771/108 +f 528/760/100 535/769/106 534/770/75 +f 535/769/106 542/776/113 541/773/109 +f 533/764/107 540/777/114 539/774/110 +f 530/767/104 537/782/111 536/775/112 +f 529/768/105 536/775/112 542/776/113 +f 533/764/107 534/770/75 541/773/109 +f 531/771/108 532/765/103 539/774/110 +f 542/776/113 550/791/50 549/783/32 +f 540/777/114 548/795/51 547/784/30 +f 537/786/111 545/790/49 544/787/29 +f 537/786/111 523/819/74 543/789/28 +f 536/788/112 544/787/29 550/791/50 +f 538/792/115 546/796/48 543/793/28 +f 540/777/114 541/773/109 549/783/32 +f 539/785/110 547/784/30 546/796/48 diff --git a/src/main/resources/assets/hbm/textures/models/machines/compressor.png b/src/main/resources/assets/hbm/textures/models/machines/compressor.png new file mode 100644 index 0000000000000000000000000000000000000000..64e95a024e129fbba8570aa321ae20db24c0a209 GIT binary patch literal 2131 zcmZ`*dpuNm8=sLFR!p`KVJKG8#@Z5Im%+#-mvu>$K`NFAVPuT)+RD9Y+u5X%S#Pe% z492A}Gc0mnTkbP-@VbR@$#rOE_H@ttc{_icbDr~gF2C>Z`+c6@NpiG5xl3GL90Gyt zvbM5tf6c05SX~N1=1xdlQUcztkAkobaBwM z!e<0s*E9;xQ61Ysk)UFfh1i1YHnc-7wk>Y7$91D=NanC6CBjT+Rc#Cv%=S(R(q z05&}#n8;Ru`U5J=&mu#>JE3cMSvplCpJc(Cfm&aA~+p_rdOaSKWAoZ#z%dMlJnk`iU1KCW%E_!Jvyzqi8x6 zp6AZ(p`*=b5tIfMDY~gp4rS2(YS@O2>`ywz$~tkk;~-{2LNGBH;vnLkk*B}U)oo*W zEn2gD<%9!|TS{$kM1HRKMe#=rNmUlPp3>(?7XLB>n9h~l)Z$nFELXruzQsl>S6#yn zx&0R@wpSSb2#pL^4qS&M79iprdE#T~p#%UgzrGRD0sD`EN*(jK@&1TgY2RBV9IB-+Sac10~wYN~OpT%r>*!Z7!@`I%4>o3z!ebn&K|t_bw{ zBR4pkCLJW7)w>ZoyVlHK>%!3K!)UV0o}noJ2Mu|uijFI92qsd1Ah9T0l#QR}YJS@7 z-eyE)Go;#vw{c5H>`7kyM>1S+66fdpW+R@LaoXG4aS^%6F94GV=)J}~y4 zz6**L7iDE-U8$>QiceQg9mx6rZrftMZn)qa+Kh8KM*E89e|<7cj+o$^+HG5P-|T8} z*M@RH#5jv}uK|raLtWr;sfJ2^kDJM4vfiQG9?^BO5?3G!axT4HvTr4nJu{2AH5^c3 zFmo+((r)JmF@GU0Fs5MBAhC0GBOw6GOv%+>VM;apkM=>ybq#h3zN;pOL**X|^%Ing*7VCoh*;f6e=ZwiLLuL5;= zTRh&!IkR;k@ZmEp5zN~Uao)z8jKXS}dV@qmFm{n=cIZ;W+n9~Z3`I%1?o$kPi#roNHUp z?vF~WOm&SJv2%w-!B*(so)@#Ku9h14*BK3dB`}N`~GuS3!Hisg3y?d2C*?H5E zB&U}Qfyt{*Ms=AL7#)6x<%cS2Mn`ywF5m&9!}@QgEf)j{W%>Pmr_r7R3bF+@Ac9n6 z$lv$*3GBUAc-P%1-`#A2iCr@ecT+sxeXG!pn}2))^R#mzj09?3-#%E-LV~ud1Vuk! zuWS~Wk76}pk}PLnj-<`?+w@^7ddNZRkqY7G@j zVTuoKuH;#_%3Y5e(YX9_(KA34Sj31NBV@*n{1K#?&>UMnkTr2)O$SDk+pdxpEs=-Q zKhL*$D~BR&AD50*`Xii!Ecu!Ux8@qfQq7$)~3Cj8yjPfjc381aWs|*IC<{ z!>6o4by|ugs%8C}KHw)u0uKp}5#nx)IywySk$9``vV|Qocw5)e^>89(783lfp+64R z&m)h6Q?%d)H2%qxtu9+j=?|@g{sf|=i#FcrsQBcLxZtUk?rbB|xlE_7)T~@A!WJO31#_ literal 0 HcmV?d00001 From b8f32a511b3c5ae904128d561348741d24d940b9 Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 12 May 2023 14:35:06 +0200 Subject: [PATCH 083/285] train collision dummies --- .../java/com/hbm/entity/EntityMappings.java | 2 +- .../hbm/entity/projectile/EntityMeteor.java | 2 +- .../hbm/entity/train/EntityRailCarBase.java | 116 +++++++++++++++++- .../entity/train/EntityRailCarRidable.java | 21 +++- .../com/hbm/entity/train/TrainCargoTram.java | 13 +- src/main/java/com/hbm/main/ClientProxy.java | 2 + src/main/java/com/hbm/util/BobMathUtil.java | 13 ++ 7 files changed, 156 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index cf96e2e28..f5457e462 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -110,7 +110,7 @@ public class EntityMappings { addEntity(EntityTSmokeFX.class, "entity_t_smoke_fx", 1000); addEntity(EntityNukeExplosionMK3.class, "entity_nuke_mk3", 1000); addEntity(EntityVortex.class, "entity_vortex", 250); - addEntity(EntityMeteor.class, "entity_meteor", 1000); + addEntity(EntityMeteor.class, "entity_meteor", 250); addEntity(EntityLaser.class, "entity_laser", 1000); addEntity(EntityBoxcar.class, "entity_boxcar", 1000); addEntity(EntityMissileTaint.class, "entity_missile_taint", 1000); diff --git a/src/main/java/com/hbm/entity/projectile/EntityMeteor.java b/src/main/java/com/hbm/entity/projectile/EntityMeteor.java index 3582a80c3..3fea4e2e3 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityMeteor.java +++ b/src/main/java/com/hbm/entity/projectile/EntityMeteor.java @@ -74,7 +74,7 @@ public class EntityMeteor extends Entity { @Override @SideOnly(Side.CLIENT) public boolean isInRangeToRenderDist(double distance) { - return distance < 500000; + return true; } @Override diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index f146af9de..65c5b1cf4 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -9,13 +9,15 @@ 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.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; public abstract class EntityRailCarBase extends Entity { - + public boolean isOnRail = true; private int turnProgress; private double trainX; @@ -27,6 +29,9 @@ public abstract class EntityRailCarBase extends Entity { @SideOnly(Side.CLIENT) private double velocityX; @SideOnly(Side.CLIENT) private double velocityY; @SideOnly(Side.CLIENT) private double velocityZ; + + public boolean initDummies = false; + public BoundingBoxDummyEntity[] dummies = new BoundingBoxDummyEntity[0]; public EntityRailCarBase(World world) { super(world); @@ -68,6 +73,22 @@ public abstract class EntityRailCarBase extends Entity { } } else { + DummyConfig[] definitions = this.getDummies(); + + if(!this.initDummies) { + this.dummies = new BoundingBoxDummyEntity[definitions.length]; + + for(int i = 0; i < definitions.length; i++) { + DummyConfig def = definitions[i]; + BoundingBoxDummyEntity dummy = new BoundingBoxDummyEntity(worldObj, this, def.width, def.height); + dummy.setPosition(posX, posY, posZ); + worldObj.spawnEntityInWorld(dummy); + this.dummies[i] = dummy; + } + + this.initDummies = true; + } + BlockPos anchor = this.getCurentAnchorPos(); Vec3 corePos = getRelPosAlongRail(anchor, this.getCurrentSpeed()); @@ -81,6 +102,7 @@ public abstract class EntityRailCarBase extends Entity { if(frontPos == null || backPos == null) { this.derail(); + return; } else { this.prevRotationYaw = this.rotationYaw; this.rotationYaw = this.movementYaw = generateYaw(frontPos, backPos); @@ -88,6 +110,18 @@ public abstract class EntityRailCarBase extends Entity { this.velocityChanged = true; } } + + for(int i = 0; i < definitions.length; i++) { + DummyConfig def = definitions[i]; + BoundingBoxDummyEntity dummy = dummies[i]; + Vec3 rot = Vec3.createVectorHelper(def.offset.xCoord, def.offset.yCoord, def.offset.zCoord); + rot.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); + double x = posX + rot.xCoord; + double y = posY + rot.yCoord; + double z = posZ + rot.zCoord; + dummy.setSize(def.width, def.height); // TEMP + dummy.setPosition(x, y, z); + } } } @@ -199,11 +233,85 @@ public abstract class EntityRailCarBase extends Entity { /** Invisible entities that make up the dynamic bounding structure of the train, moving as the train rotates. */ public static class BoundingBoxDummyEntity extends Entity { - public BoundingBoxDummyEntity(World world) { this(world, 1F, 1F); } - public BoundingBoxDummyEntity(World world, float width, float height) { super(world); this.setSize(width, height);} - @Override protected void entityInit() { } + + private int turnProgress; + private double trainX; + private double trainY; + private double trainZ; + public EntityRailCarBase train; + + public BoundingBoxDummyEntity(World world) { this(world, null, 1F, 1F); } + public BoundingBoxDummyEntity(World world, EntityRailCarBase train, float width, float height) { + super(world); + this.setSize(width, height); + this.train = train; + if(train != null) this.dataWatcher.updateObject(3, train.getEntityId()); + } + + @Override protected void setSize(float width, float height) { + super.setSize(width, height); + this.dataWatcher.updateObject(4, width); + this.dataWatcher.updateObject(5, height); + } + + @Override protected void entityInit() { + this.dataWatcher.addObject(3, new Integer(1)); + this.dataWatcher.addObject(4, new Float(1F)); + this.dataWatcher.addObject(5, new Float(1F)); + } + @Override protected void writeEntityToNBT(NBTTagCompound nbt) { } @Override public boolean writeToNBTOptional(NBTTagCompound nbt) { return false; } @Override public void readEntityFromNBT(NBTTagCompound nbt) { this.setDead(); } + @Override public boolean canBePushed() { return true; } + @Override public boolean canBeCollidedWith() { return !this.isDead; } + + @Override public boolean attackEntityFrom(DamageSource source, float amount) { if(train != null) return train.attackEntityFrom(source, amount); return super.attackEntityFrom(source, amount); } + @Override public boolean interactFirst(EntityPlayer player) { if(train != null) return train.interactFirst(player); return super.interactFirst(player); } + + @Override public void onUpdate() { + if(!worldObj.isRemote) { + if(this.train.isDead) { + this.setDead(); + } + } else { + + if(this.turnProgress > 0) { + this.prevRotationYaw = this.rotationYaw; + double x = this.posX + (this.trainX - this.posX) / (double) this.turnProgress; + double y = this.posY + (this.trainY - this.posY) / (double) this.turnProgress; + double z = this.posZ + (this.trainZ - this.posZ) / (double) this.turnProgress; + --this.turnProgress; + this.setPosition(x, y, z); + } else { + this.setPosition(this.posX, this.posY, this.posZ); + } + + this.setSize(this.dataWatcher.getWatchableObjectFloat(4), this.dataWatcher.getWatchableObjectFloat(5)); + } + } + + @Override @SideOnly(Side.CLIENT) public void setPositionAndRotation2(double posX, double posY, double posZ, float yaw, float pitch, int turnProg) { + this.trainX = posX; + this.trainY = posY; + this.trainZ = posZ; + this.turnProgress = turnProg + 2; + } + } + + public DummyConfig[] getDummies() { + return new DummyConfig[0]; + } + + public static class DummyConfig { + public Vec3 offset; + public float width; + public float height; + + public DummyConfig(float width, float height, Vec3 offset) { + this.width = width; + this.height = height; + this.offset = offset; + } } } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index 6b6bb08fc..084beef8a 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -1,8 +1,11 @@ package com.hbm.entity.train; +import com.hbm.util.BobMathUtil; + import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -32,9 +35,13 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { seat.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); double x = posX + seat.xCoord; - double y = posY + seat.yCoord; double z = posZ + seat.zCoord; - double dist = Vec3.createVectorHelper(player.posX - x, player.posY - y, player.posZ - z).lengthVector(); + + double deltaX = player.posX - x; + double deltaZ = player.posZ - z; + double radians = -Math.atan2(deltaX, deltaZ); + double degrees = MathHelper.wrapAngleTo180_double(radians * 180D / Math.PI - 90); + double dist = Math.abs(BobMathUtil.angularDifference(degrees, player.rotationYaw)); if(dist < nearestDist) { nearestDist = dist; @@ -46,9 +53,13 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { Vec3 seat = getRiderSeatPosition(); seat.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); double x = posX + seat.xCoord; - double y = posY + seat.yCoord; double z = posZ + seat.zCoord; - double dist = Vec3.createVectorHelper(player.posX - x, player.posY - y, player.posZ - z).lengthVector(); + + double deltaX = player.posX - x; + double deltaZ = player.posZ - z; + double radians = -Math.atan2(deltaX, deltaZ); + double degrees = MathHelper.wrapAngleTo180_double(radians * 180D / Math.PI - 90); + double dist = Math.abs(BobMathUtil.angularDifference(degrees, player.rotationYaw)); if(dist < nearestDist) { nearestDist = dist; @@ -56,7 +67,7 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { } } - if(nearestDist > 20) return true; + if(nearestDist > 180) return true; if(nearestSeat == -1) { player.mountEntity(this); diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index 5dcff8b21..c88d6b35c 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -30,7 +30,7 @@ public class TrainCargoTram extends EntityRailCarRidable implements IGUIProvider public TrainCargoTram(World world) { super(world); - this.setSize(2F, 1F); + this.setSize(1F, 1F); } public double speed = 0; @@ -78,7 +78,16 @@ public class TrainCargoTram extends EntityRailCarRidable implements IGUIProvider } @Override - public boolean attackEntityFrom(DamageSource p_70097_1_, float p_70097_2_) { + public DummyConfig[] getDummies() { + return new DummyConfig[] { + new DummyConfig(2F, 1F, Vec3.createVectorHelper(0, 0, 1.5)), + new DummyConfig(2F, 1F, Vec3.createVectorHelper(0, 0, 0)), + new DummyConfig(2F, 1F, Vec3.createVectorHelper(0, 0, -1.5)) + }; + } + + @Override + public boolean attackEntityFrom(DamageSource source, float amount) { if(!this.worldObj.isRemote && !this.isDead) { this.setDead(); } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 8143d4828..3e3fecd69 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -61,6 +61,7 @@ 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; @@ -685,6 +686,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityMagnusCartus.class, new RenderMagnusCartus()); //trains RenderingRegistry.registerEntityRenderingHandler(SeatDummyEntity.class, new RenderEmpty()); + RenderingRegistry.registerEntityRenderingHandler(BoundingBoxDummyEntity.class, new RenderEmpty()); RenderingRegistry.registerEntityRenderingHandler(TrainCargoTram.class, new RenderTrainCargoTram()); //items RenderingRegistry.registerEntityRenderingHandler(EntityMovingItem.class, new RenderMovingItem()); diff --git a/src/main/java/com/hbm/util/BobMathUtil.java b/src/main/java/com/hbm/util/BobMathUtil.java index bfb8cc6f6..dde5fe762 100644 --- a/src/main/java/com/hbm/util/BobMathUtil.java +++ b/src/main/java/com/hbm/util/BobMathUtil.java @@ -1,5 +1,6 @@ package com.hbm.util; +import java.lang.reflect.Field; import java.math.BigDecimal; import java.math.RoundingMode; import java.text.NumberFormat; @@ -9,6 +10,7 @@ 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; @@ -193,4 +195,15 @@ public class BobMathUtil { 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; + } } From f52eb08301a69226e61bd97c8cd3402c0c90e106 Mon Sep 17 00:00:00 2001 From: Vaern Date: Sat, 13 May 2023 22:34:48 -0700 Subject: [PATCH 084/285] :3 Added IBlowable for fan; created TE for a piston-based inserter (IInsertable). The former will improve cooling for pile setups and the latter will allow for automation, in combination with comparator output for pile fuel. --- src/main/java/api/hbm/block/IBlowable.java | 10 + src/main/java/api/hbm/block/IInsertable.java | 10 + .../com/hbm/blocks/machine/MachineFan.java | 10 +- .../hbm/blocks/machine/PistonInserter.java | 210 ++++++++++++++++++ .../pile/BlockGraphiteBreedingFuel.java | 1 + .../machine/pile/BlockGraphiteFuel.java | 9 +- .../machine/pile/TileEntityPileBase.java | 20 +- .../machine/pile/TileEntityPileFuel.java | 15 ++ .../machine/pile/TileEntityPileSource.java | 2 +- 9 files changed, 274 insertions(+), 13 deletions(-) create mode 100644 src/main/java/api/hbm/block/IBlowable.java create mode 100644 src/main/java/api/hbm/block/IInsertable.java create mode 100644 src/main/java/com/hbm/blocks/machine/PistonInserter.java diff --git a/src/main/java/api/hbm/block/IBlowable.java b/src/main/java/api/hbm/block/IBlowable.java new file mode 100644 index 000000000..625e8a14a --- /dev/null +++ b/src/main/java/api/hbm/block/IBlowable.java @@ -0,0 +1,10 @@ +package api.hbm.block; + +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public interface IBlowable { //sloppy toppy + + /** Called server-side when a fan blows on an IBlowable in range every tick. */ + public void applyFan(World world, int x, int y, int z, ForgeDirection dir, int dist); +} diff --git a/src/main/java/api/hbm/block/IInsertable.java b/src/main/java/api/hbm/block/IInsertable.java new file mode 100644 index 000000000..b53a4849a --- /dev/null +++ b/src/main/java/api/hbm/block/IInsertable.java @@ -0,0 +1,10 @@ +package api.hbm.block; + +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public interface IInsertable { //uwu + + public boolean insertItem(World world, int x, int y, int z, ForgeDirection dir, ItemStack stack); +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineFan.java b/src/main/java/com/hbm/blocks/machine/MachineFan.java index f9321d052..6a37de202 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFan.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFan.java @@ -2,9 +2,11 @@ package com.hbm.blocks.machine; import java.util.List; +import api.hbm.block.IBlowable; import api.hbm.block.IToolable; 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.BlockPistonBase; import net.minecraft.block.material.Material; @@ -79,7 +81,13 @@ public class MachineFan extends BlockContainer implements IToolable { double push = 0.1; for(int i = 1; i <= range; i++) { - if(worldObj.getBlock(xCoord + dir.offsetX * i, yCoord + dir.offsetY * i, zCoord + dir.offsetZ * i).isNormalCube()) { + Block block = worldObj.getBlock(xCoord + dir.offsetX * i, yCoord + dir.offsetY * i, zCoord + dir.offsetZ * i); + boolean blowable = block instanceof IBlowable; + + if(block.isNormalCube() || blowable) { + if(!worldObj.isRemote && blowable) + ((IBlowable) block).applyFan(worldObj, xCoord + dir.offsetX * i, yCoord + dir.offsetY * i, zCoord + dir.offsetZ * i, dir, i); + break; } diff --git a/src/main/java/com/hbm/blocks/machine/PistonInserter.java b/src/main/java/com/hbm/blocks/machine/PistonInserter.java new file mode 100644 index 000000000..f7093a8f7 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/PistonInserter.java @@ -0,0 +1,210 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockContainerBase; +import com.hbm.tileentity.INBTPacketReceiver; + +import api.hbm.block.IInsertable; +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class PistonInserter extends BlockContainerBase { + + public PistonInserter() { + super(Material.iron); + } + + @Override + 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! + + if(checkRedstone(world, x, y, z)) { //if necessary, add lastState (if block updates are too unreliable). + TileEntityPistonInserter piston = (TileEntityPistonInserter)world.getTileEntity(x, y, z); + + if(piston.extend <= 0) + piston.isRetracting = false; + } + } + } + + protected boolean checkRedstone(World world, int x, int y, int z) { + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if(world.getIndirectPowerOutput(x, y, z, dir.ordinal())) + return true; + } + + return false; + } + + // $%&#$& + // %$&&@$%%#% + //______ $%@--$@@%&$%$ + // | %/ *--$#@&&$$ + // | / --__ %$%@$& + // | (----^`--- $@##% + // | /___\ `-----*#@$ + // | /(()_) / /___\ /__ + // | / \___// (()_) //-,| + // | /____|_ / \___// )_/ + // | \____/ `^-___|___/ | + // | \/ \____/ /_-^-. + // | / _-' |___. \_ + // | / _-' / `\ \\___ + // | `'\____~~+~^/ _)/ \____ + // | \`----' | __/ _) + // | /( /~-' ,-' | + // | / `| | / | + // | / ( ) / `) + // | / `-==-' | | + // | / /| | | + // | / / \ | | + // | / / | | | + // | / / \ _____,.____| | + // | / _ / |<`____, ____,| | + // | / / \_ / _ | <_____/ | ) + // | / / ^/,^=-~---~' `z---..._______/ | + // |--' / /| |/ .^ ,^\ \ ) + // | |_|| || |(_( ) | | + // | \_/`-``-`----'___/_____ | + // |___..---' _|____`-----..-----'\ + // |_____________________| @ | ) + // average coding session involving tile entities + public static class TileEntityPistonInserter extends TileEntity implements IInventory, INBTPacketReceiver { + + public ItemStack slot; + + public int extend; + public static final int maxExtend = 25; + public boolean isRetracting; + public int delay; + + private int lastState; + + public TileEntityPistonInserter() { } + + @Override + public void updateEntity() { //what is this amalgamation + + 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.5F, 1.0F); + + 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); + + } + + } + + @Override + public void networkUnpack(NBTTagCompound nbt) { + this.extend = nbt.getInteger("extend"); + + if(nbt.hasKey("stack")) { + NBTTagCompound stack = nbt.getCompoundTag("stack"); + this.slot = ItemStack.loadItemStackFromNBT(stack); + } else + this.slot = null; + } + + /* 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) { + if(this.slot.stackSize <= amount) { + ItemStack stack = this.slot; + 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; } + + } +} diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteBreedingFuel.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteBreedingFuel.java index 46231bca4..fdfcac709 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteBreedingFuel.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteBreedingFuel.java @@ -64,4 +64,5 @@ public class BlockGraphiteBreedingFuel extends BlockGraphiteDrilledTE implements protected Item getInsertedItem() { return ModItems.pile_rod_lithium; } + } diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java index d3b768d6c..3a315e2cf 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java @@ -5,6 +5,7 @@ import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.pile.TileEntityPileFuel; +import api.hbm.block.IBlowable; import api.hbm.block.IToolable; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -19,7 +20,7 @@ import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class BlockGraphiteFuel extends BlockGraphiteDrilledTE implements IToolable { +public class BlockGraphiteFuel extends BlockGraphiteDrilledTE implements IToolable, IBlowable { @Override public TileEntity createNewTileEntity(World world, int mets) { @@ -68,4 +69,10 @@ public class BlockGraphiteFuel extends BlockGraphiteDrilledTE implements IToolab protected Item getInsertedItem(int meta) { return (meta & 8) == 8 ? ModItems.pile_rod_pu239 : ModItems.pile_rod_uranium; } + + @Override + public void applyFan(World world, int x, int y, int z, ForgeDirection dir, int dist) { + TileEntityPileFuel pile = (TileEntityPileFuel) world.getTileEntity(x, y, z); + pile.heat -= pile.heat * 0.025; + } } 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 90d3cd483..30d6c3552 100644 --- a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBase.java +++ b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBase.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.Random; import com.hbm.blocks.ModBlocks; +import com.hbm.main.MainRegistry; import com.hbm.util.ContaminationUtil; import com.hbm.util.ContaminationUtil.ContaminationType; import com.hbm.util.ContaminationUtil.HazardType; @@ -11,6 +12,7 @@ import com.hbm.util.ContaminationUtil.HazardType; import api.hbm.block.IPileNeutronReceiver; import net.minecraft.block.Block; import net.minecraft.entity.EntityLivingBase; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; @@ -21,11 +23,8 @@ public abstract class TileEntityPileBase extends TileEntity { public abstract void updateEntity(); protected void castRay(int flux, int range) { - Random rand = worldObj.rand; - int[] vecVals = { 0, 0, 0,}; - vecVals[rand.nextInt(3)] = 1; - Vec3 vec = Vec3.createVectorHelper(vecVals[0], vecVals[1], vecVals[2]); + 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)); @@ -47,13 +46,14 @@ public abstract class TileEntityPileBase extends TileEntity { prevY = y; prevZ = z; - /*if(i == range) { + /*if(i == range || i == 1) { NBTTagCompound data2 = new NBTTagCompound(); data2.setString("type", "vanillaExt"); - data2.setString("mode", "greendust"); - data2.setDouble("posX", xCoord + 0.5 + vec.xCoord * range); - data2.setDouble("posY", yCoord + 0.5 + vec.yCoord * range); - data2.setDouble("posZ", zCoord + 0.5 + vec.zCoord * range); + 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); }*/ @@ -91,7 +91,7 @@ public abstract class TileEntityPileBase extends TileEntity { if(entities != null) for(EntityLivingBase e : entities) { - ContaminationUtil.contaminate(e, HazardType.RADIATION, ContaminationType.CREATIVE, flux / 2); + ContaminationUtil.contaminate(e, HazardType.RADIATION, ContaminationType.CREATIVE, flux / 4F); } } } 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 7a48e4f83..869971e6f 100644 --- a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileFuel.java +++ b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileFuel.java @@ -2,8 +2,12 @@ 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 api.hbm.block.IPileNeutronReceiver; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.nbt.NBTTagCompound; public class TileEntityPileFuel extends TileEntityPileBase implements IPileNeutronReceiver { @@ -28,10 +32,21 @@ public class TileEntityPileFuel extends TileEntityPileBase implements IPileNeutr 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), + 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() { 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..0c164657f 100644 --- a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileSource.java +++ b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileSource.java @@ -11,7 +11,7 @@ public class TileEntityPileSource extends TileEntityPileBase { int n = this.getBlockType() == ModBlocks.block_graphite_source ? 1 : 2; - for(int i = 0; i < 12; i++) { + for(int i = 0; i < 12 * 5; i++) { this.castRay(n, 5); } } From d8e87453cbc0187f623b366c28e94050cb312dfa Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 14 May 2023 14:29:11 +0200 Subject: [PATCH 085/285] fixed tain bounding boxes not properly initializing --- src/main/java/com/hbm/blocks/ModBlocks.java | 10 +- .../hbm/entity/train/EntityRailCarBase.java | 7 +- .../handler/nei/CMBFurnaceRecipeHandler.java | 132 ------------------ src/main/java/com/hbm/main/NEIConfig.java | 1 - .../entity/item/RenderTrainCargoTram.java | 1 - .../hbm/textures/models/machines/fan.png | Bin 719 -> 811 bytes 6 files changed, 7 insertions(+), 144 deletions(-) delete mode 100644 src/main/java/com/hbm/handler/nei/CMBFurnaceRecipeHandler.java diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 0a0df5800..3605f9a2f 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -910,7 +910,6 @@ public class ModBlocks { public static Block field_disturber; public static Block machine_rtg_grey; - public static Block machine_rtg_cyan; public static Block machine_amgen; public static Block machine_geo; public static Block machine_minirtg; @@ -1859,20 +1858,13 @@ public class ModBlocks { machine_shredder = new MachineShredder(Material.iron).setBlockName("machine_shredder").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_shredder_large = new MachineShredderLarge(Material.iron).setBlockName("machine_shredder_large").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":code"); - machine_combine_factory = new MachineCMBFactory(Material.iron).setBlockName("machine_combine_factory").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + machine_combine_factory = new MachineCMBFactory(Material.iron).setBlockName("machine_combine_factory").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null); 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_rtg_red = new MachineRTG(Material.iron).setBlockName("machine_rtg_red").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - //machine_rtg_orange = new MachineRTG(Material.iron).setBlockName("machine_rtg_orange").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - //machine_rtg_yellow = new MachineRTG(Material.iron).setBlockName("machine_rtg_yellow").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - //machine_rtg_green = new MachineRTG(Material.iron).setBlockName("machine_rtg_green").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_rtg_cyan = new MachineRTG(Material.iron).setBlockName("machine_rtg_cyan").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - //machine_rtg_blue = new MachineRTG(Material.iron).setBlockName("machine_rtg_blue").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - //machine_rtg_purple = new MachineRTG(Material.iron).setBlockName("machine_rtg_purple").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); 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"); diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index 65c5b1cf4..f2a502e69 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -81,7 +81,12 @@ public abstract class EntityRailCarBase extends Entity { for(int i = 0; i < definitions.length; i++) { DummyConfig def = definitions[i]; BoundingBoxDummyEntity dummy = new BoundingBoxDummyEntity(worldObj, this, def.width, def.height); - dummy.setPosition(posX, posY, posZ); + Vec3 rot = Vec3.createVectorHelper(def.offset.xCoord, def.offset.yCoord, def.offset.zCoord); + rot.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); + double x = posX + rot.xCoord; + double y = posY + rot.yCoord; + double z = posZ + rot.zCoord; + dummy.setPosition(x, y, z); worldObj.spawnEntityInWorld(dummy); this.dummies[i] = dummy; } diff --git a/src/main/java/com/hbm/handler/nei/CMBFurnaceRecipeHandler.java b/src/main/java/com/hbm/handler/nei/CMBFurnaceRecipeHandler.java deleted file mode 100644 index 5390eef46..000000000 --- a/src/main/java/com/hbm/handler/nei/CMBFurnaceRecipeHandler.java +++ /dev/null @@ -1,132 +0,0 @@ -package com.hbm.handler.nei; - -import java.awt.Rectangle; -import java.util.Arrays; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import com.hbm.inventory.gui.GUIMachineCMBFactory; -import com.hbm.inventory.recipes.MachineRecipes; -import com.hbm.lib.RefStrings; - -import codechicken.nei.NEIServerUtils; -import codechicken.nei.PositionedStack; -import codechicken.nei.recipe.TemplateRecipeHandler; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.item.ItemStack; - -public class CMBFurnaceRecipeHandler extends TemplateRecipeHandler { - - public LinkedList transferRectsRec = new LinkedList(); - public LinkedList transferRectsGui = new LinkedList(); - public LinkedList> guiRec = new LinkedList>(); - public LinkedList> guiGui = new LinkedList>(); - - public class SmeltingSet extends TemplateRecipeHandler.CachedRecipe - { - PositionedStack input1; - PositionedStack input2; - PositionedStack result; - - public SmeltingSet(ItemStack input1, ItemStack input2, ItemStack result) { - input1.stackSize = 1; - input2.stackSize = 1; - this.input1 = new PositionedStack(input1, 66, 6); - this.input2 = new PositionedStack(input2, 66, 42); - this.result = new PositionedStack(result, 129, 24); - } - - @Override - public List getIngredients() { - return getCycledIngredients(cycleticks / 48, Arrays.asList(new PositionedStack[] {input1, input2})); - } - - @Override - public PositionedStack getResult() { - return result; - } - } - - @Override - public String getRecipeName() { - return "CMB Steel Furnace"; - } - - @Override - public String getGuiTexture() { - return RefStrings.MODID + ":textures/gui/nei/gui_nei_cmb.png"; - } - - @Override - public void loadCraftingRecipes(String outputId, Object... results) { - if ((outputId.equals("cmbsmelting")) && getClass() == CMBFurnaceRecipeHandler.class) { - Map recipes = MachineRecipes.instance().getCMBRecipes(); - for (Map.Entry recipe : recipes.entrySet()) { - this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey()[0], (ItemStack)recipe.getKey()[1], (ItemStack)recipe.getValue())); - } - } else { - super.loadCraftingRecipes(outputId, results); - } - } - - @Override - public void loadCraftingRecipes(ItemStack result) { - Map recipes = MachineRecipes.instance().getCMBRecipes(); - for (Map.Entry recipe : recipes.entrySet()) { - if (NEIServerUtils.areStacksSameType((ItemStack)recipe.getValue(), result)) - this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey()[0], (ItemStack)recipe.getKey()[1], (ItemStack)recipe.getValue())); - } - } - - @Override - public void loadUsageRecipes(String inputId, Object... ingredients) { - if ((inputId.equals("cmbsmelting")) && getClass() == CMBFurnaceRecipeHandler.class) { - loadCraftingRecipes("cmbsmelting", new Object[0]); - } else { - super.loadUsageRecipes(inputId, ingredients); - } - } - - @Override - public void loadUsageRecipes(ItemStack ingredient) { - Map recipes = MachineRecipes.instance().getCMBRecipes(); - for (Map.Entry recipe : recipes.entrySet()) { - if (NEIServerUtils.areStacksSameType(ingredient, (ItemStack)recipe.getKey()[0]) || NEIServerUtils.areStacksSameType(ingredient, (ItemStack)recipe.getKey()[1])) - this.arecipes.add(new SmeltingSet((ItemStack)recipe.getKey()[0], (ItemStack)recipe.getKey()[1], (ItemStack)recipe.getValue())); - } - } - - @Override - public Class getGuiClass() { - //return GUITestDiFurnace.class; - return null; - } - - @Override - public void loadTransferRects() { - transferRectsGui = new LinkedList(); - guiGui = new LinkedList>(); - - transferRects.add(new RecipeTransferRect(new Rectangle(74 + 6 + 18, 23, 24, 18), "cmbsmelting")); - transferRectsGui.add(new RecipeTransferRect(new Rectangle(74 + 6 + 18, 23, 24, 18), "cmbsmelting")); - guiGui.add(GUIMachineCMBFactory.class); - RecipeTransferRectHandler.registerRectsToGuis(getRecipeTransferRectGuis(), transferRects); - RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui); - } - - @Override - public void drawExtras(int recipe) { - - drawProgressBar(83 - (18 * 4) - 9 + 1, 6, 36, 86, 16, 18 * 3 - 2, 480, 7); - drawProgressBar(83 - (18 * 4) - 9 + 1 + 18, 6, 36 + 48, 86, 16, 18 * 3 - 2, 480, 7); - - drawProgressBar(83 - 3 + 16, 5 + 18, 100, 118, 24, 16, 48, 0); - } - - @Override - public TemplateRecipeHandler newInstance() { - return super.newInstance(); - } - -} diff --git a/src/main/java/com/hbm/main/NEIConfig.java b/src/main/java/com/hbm/main/NEIConfig.java index a1b32bf65..41d03f7bd 100644 --- a/src/main/java/com/hbm/main/NEIConfig.java +++ b/src/main/java/com/hbm/main/NEIConfig.java @@ -32,7 +32,6 @@ public class NEIConfig implements IConfigureNEI { registerHandler(new CentrifugeRecipeHandler()); registerHandler(new GasCentrifugeRecipeHandler()); registerHandler(new BreederRecipeHandler()); - registerHandler(new CMBFurnaceRecipeHandler()); registerHandler(new CyclotronRecipeHandler()); registerHandler(new AssemblerRecipeHandler()); registerHandler(new RefineryRecipeHandler()); diff --git a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java index 5612b2a93..8e097ac2b 100644 --- a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java +++ b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java @@ -2,7 +2,6 @@ package com.hbm.render.entity.item; import org.lwjgl.opengl.GL11; -import com.hbm.main.MainRegistry; import com.hbm.main.ResourceManager; import net.minecraft.client.renderer.entity.Render; diff --git a/src/main/resources/assets/hbm/textures/models/machines/fan.png b/src/main/resources/assets/hbm/textures/models/machines/fan.png index 003223c2f3e52f86f8a15732a73970e6b1d9299e..a2abda82d65b03a0e558df88393cdf5efefa35dd 100644 GIT binary patch delta 771 zcmV+e1N{8Y1*-;-G=JhrL_t(og~gY@PuoBg$3Nzm+=$jF9y(S+YS(5$>V_&Yc8p*n z1Kp4SF_j@h7A6KH#KOb|vl%K_*g7Dj%yi-pxX4yf8pWXN5bkO_wv)3{`dysZe)qZe z?%jJnt5&N?N~qm#TPE+%04yvl=o_|ek2LD_dI0#oZ!|d#1b?``zBZca^73+_$V?S6 zDx<={aY8>)U{Os$@!1y9%;;D0wYIjVljrR0Y-Hk<4(Y?gL+tv`f%Eh8W5Xr_d~pv= zVDOwYs#KXs*<4&)SOA{q$ws3g8;wS8;!JEG3L$V^cjS9ktyYuK;tl!xG8zrv_u1aw z&IKero>7KHHGhs*QN4I+`+xoL`1p8e5XW%<2!de9aBpwV7#0I2XDftA{qMT&(6d6o zv_bOj740y&!24DUfOpMip}{kOwr#Vtv;+)7>o^WK^*SrnD$evY;pHXW&CQ7b^|tVR zU$5g$z0QY91%Tk`iSFGUm7}A{0$~u=yNwME6Jdyy5`Phf8Y+aCY|^;1vxJL_0K5Sn zpRXYhJU$i%WdhmRA$R^Iyo&*oNuxG<^tY0f#ZL#iA4WI60w}Mglyo{Bs?{o;P6uUE z7#JNqspx$L%X&VJO7}x`dh$F^3L%F2Us9#}p^{O@FHJL0>3*ne$Fh!!7_oSO8elFQVy-55F-5qtkz70 z6yj@|21`O!-A&#f0;VNMS|Vk6H%c*JRyJm3FPQgH-7P+Ue4Cq%$qC)whxop)D^1dC z*L73-sP=FaEa~asE62Q#mhOk+7Jg+{x*wX_{sAtQH&uiZrELHJ002ovPDHLkV1gtm BckloJ delta 679 zcmV;Y0$Ba42G0eMG=GLkL_t(og~gYzZyPZb$G@(!DyuSGlmq<>igzf|STw0{xM4jq z+(<+z^6Mc>Y@~QAbpn4@%^yx(tSx&=bk_I^Yi=W zSP%pPHMCl-n9cJo0O)qRa-iLAmj-P%8vsC(Bvy-)Kmb@Smw#3(9SjCenK^O^sv~D$ zmDD#1bkz~yzFHTx${#7#a5$93GoQ~(3$J!c*XwoW@4Jc4pRs` zgj&FEwf%k{z%I3(=gD(ZKQ{&>5J?3z2?MlyXetyTL}r|G-fYq6lf`jt9B&MGXi1<= z(Fo!Gb|C%GR5Y|}Aq3($Mz7bCDR%Kt2~;Q7rH&IU?|=I$s_lpL_7p{t;GFOIpRU?| zNV0PL+B6H*_Ct!T8Yhe9)7b}Xw;N1m-wV&+_Uc0XeSU`@zy1KQ_fgr}-k+S{__&Sh z%k$h6?_kf^ZnK4>!Z_zh(=>Cn)Gj80H}{XM2&%#+vnNI=qzUzj^`1+gGjC5f_mAxM z>Oug(^?&8Ln9QD-38u!_-b3k!Cg``XUjzW;!2r9K2;}@sr1aiBMC|S%VtFtE(HU0p z(MEok+W4sP4Vcc1QVL|x)C8;QqkBM8ftU&@Z+B(N0Q0IbuX+J{AC+$L`QvF}HR=oc z`TGS)lE_Y@@7ni$qmRlRmcjI$0xxoMlk$ADwjdu?ZTu8h+YfDH{{et-Cc!v9gl7N% N002ovPDHLkV1g-vN%jB$ From a71d7972ec8f168bf0af7e9e637cc06519b65cbc Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 14 May 2023 17:51:35 +0200 Subject: [PATCH 086/285] fluid pressure stat --- .../java/api/hbm/fluid/IFluidConductor.java | 4 +- .../java/api/hbm/fluid/IFluidConnector.java | 4 +- .../api/hbm/fluid/IFluidStandardReceiver.java | 8 +- .../api/hbm/fluid/IFluidStandardSender.java | 12 +- .../hbm/fluid/IFluidStandardTransceiver.java | 8 +- src/main/java/api/hbm/fluid/IFluidUser.java | 26 ++-- src/main/java/api/hbm/fluid/IPipeNet.java | 2 +- src/main/java/api/hbm/fluid/PipeNet.java | 10 +- .../hbm/commands/CommandDebugChunkLoad.java | 112 ++++++++++++++++++ .../hbm/entity/train/EntityRailCarBase.java | 8 +- .../entity/train/EntityRailCarRidable.java | 47 +++++++- .../com/hbm/entity/train/TrainCargoTram.java | 2 +- .../com/hbm/handler/nei/CokingHandler.java | 11 ++ .../hbm/handler/nei/CombinationHandler.java | 11 ++ .../hbm/inventory/fluid/tank/FluidTank.java | 20 ++++ src/main/java/com/hbm/main/MainRegistry.java | 2 + .../hbm/tileentity/TileEntityProxyCombo.java | 8 +- .../tileentity/machine/TileEntityChungus.java | 2 +- .../machine/TileEntityCondenser.java | 2 +- .../machine/TileEntityCoreEmitter.java | 36 +----- .../machine/TileEntityDeuteriumExtractor.java | 2 +- .../machine/TileEntityDeuteriumTower.java | 11 +- .../machine/TileEntityFurnaceCombination.java | 4 +- .../machine/TileEntityHeatBoiler.java | 2 +- .../machine/TileEntityHeaterHeatex.java | 2 +- .../tileentity/machine/TileEntityITER.java | 2 +- .../machine/TileEntityMachineAssemfac.java | 2 +- .../machine/TileEntityMachineBoiler.java | 2 +- .../TileEntityMachineBoilerElectric.java | 2 +- .../machine/TileEntityMachineChemfac.java | 62 +--------- .../machine/TileEntityMachineChemplant.java | 4 +- .../TileEntityMachineChemplantBase.java | 71 +++-------- .../machine/TileEntityMachineCyclotron.java | 2 +- .../machine/TileEntityMachineHephaestus.java | 2 +- .../TileEntityMachineLargeTurbine.java | 2 +- .../machine/TileEntityMachineMiningLaser.java | 8 +- .../machine/TileEntityMachineMixer.java | 2 +- .../machine/TileEntityMachineRadiolysis.java | 4 +- .../TileEntityMachineReactorLarge.java | 6 +- .../machine/TileEntityMachineTurbine.java | 2 +- .../machine/TileEntityMachineTurbineGas.java | 2 +- .../machine/TileEntityMachineTurbofan.java | 2 +- .../machine/TileEntityReactorZirnox.java | 2 +- .../machine/TileEntitySolarBoiler.java | 4 +- .../machine/TileEntitySteamEngine.java | 2 +- .../machine/TileEntityStorageDrum.java | 4 +- .../machine/TileEntityTowerLarge.java | 8 +- .../machine/TileEntityTowerSmall.java | 10 +- .../tileentity/machine/TileEntityWatz.java | 4 +- .../machine/TileEntityWatzCore.java | 8 +- .../TileEntityMachineCatalyticCracker.java | 2 +- .../TileEntityMachineCatalyticReformer.java | 2 +- .../machine/oil/TileEntityMachineCoker.java | 2 +- .../oil/TileEntityMachineFractionTower.java | 4 +- .../oil/TileEntityMachineLiquefactor.java | 2 +- .../oil/TileEntityMachineRefinery.java | 2 +- .../oil/TileEntityMachineVacuumDistill.java | 2 +- .../machine/oil/TileEntityOilDrillBase.java | 4 +- .../machine/rbmk/TileEntityRBMKBoiler.java | 2 +- .../machine/rbmk/TileEntityRBMKHeater.java | 2 +- .../machine/rbmk/TileEntityRBMKOutgasser.java | 2 +- .../machine/rbmk/TileEntityRBMKOutlet.java | 2 +- .../machine/storage/TileEntityBarrel.java | 8 +- .../storage/TileEntityMachineFluidTank.java | 10 +- .../network/TileEntityPipeBaseNT.java | 6 +- .../java/com/hbm/wiaj/cannery/Dummies.java | 4 +- .../processing/gui_furnace_combination.png | Bin 6228 -> 6931 bytes 67 files changed, 357 insertions(+), 274 deletions(-) create mode 100644 src/main/java/com/hbm/commands/CommandDebugChunkLoad.java diff --git a/src/main/java/api/hbm/fluid/IFluidConductor.java b/src/main/java/api/hbm/fluid/IFluidConductor.java index 95ae30766..d9d1e00c7 100644 --- a/src/main/java/api/hbm/fluid/IFluidConductor.java +++ b/src/main/java/api/hbm/fluid/IFluidConductor.java @@ -9,11 +9,11 @@ public interface IFluidConductor extends IFluidConnector { public void setPipeNet(FluidType type, IPipeNet network); @Override - public default long transferFluid(FluidType type, long amount) { + public default long transferFluid(FluidType type, int pressure, long amount) { if(this.getPipeNet(type) == null) return amount; - return this.getPipeNet(type).transferFluid(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 634412cbf..a47b56def 100644 --- a/src/main/java/api/hbm/fluid/IFluidConnector.java +++ b/src/main/java/api/hbm/fluid/IFluidConnector.java @@ -17,7 +17,7 @@ public interface IFluidConnector { * @param power * @return */ - public long transferFluid(FluidType type, long fluid); + public long transferFluid(FluidType type, int pressure, long fluid); /** * Whether the given side can be connected to @@ -33,7 +33,7 @@ public interface IFluidConnector { * @param type * @return */ - public long getDemand(FluidType type); + public long getDemand(FluidType type, int pressure); /** * Basic implementation of subscribing to a nearby power grid diff --git a/src/main/java/api/hbm/fluid/IFluidStandardReceiver.java b/src/main/java/api/hbm/fluid/IFluidStandardReceiver.java index e60aca9cd..dc7151daf 100644 --- a/src/main/java/api/hbm/fluid/IFluidStandardReceiver.java +++ b/src/main/java/api/hbm/fluid/IFluidStandardReceiver.java @@ -14,10 +14,10 @@ import com.hbm.inventory.fluid.tank.FluidTank; public interface IFluidStandardReceiver extends IFluidUser { @Override - public default long transferFluid(FluidType type, long amount) { + public default long transferFluid(FluidType type, int pressure, long amount) { for(FluidTank tank : getReceivingTanks()) { - if(tank.getTankType() == type) { + if(tank.getTankType() == type && tank.getPressure() == pressure) { tank.setFill(tank.getFill() + (int) amount); if(tank.getFill() > tank.getMaxFill()) { @@ -36,10 +36,10 @@ public interface IFluidStandardReceiver extends IFluidUser { public FluidTank[] getReceivingTanks(); @Override - public default long getDemand(FluidType type) { + public default long getDemand(FluidType type, int pressure) { for(FluidTank tank : getReceivingTanks()) { - if(tank.getTankType() == type) { + if(tank.getTankType() == type && tank.getPressure() == pressure) { return tank.getMaxFill() - tank.getFill(); } } diff --git a/src/main/java/api/hbm/fluid/IFluidStandardSender.java b/src/main/java/api/hbm/fluid/IFluidStandardSender.java index 46baee9da..57b587370 100644 --- a/src/main/java/api/hbm/fluid/IFluidStandardSender.java +++ b/src/main/java/api/hbm/fluid/IFluidStandardSender.java @@ -16,10 +16,10 @@ public interface IFluidStandardSender extends IFluidUser { public FluidTank[] getSendingTanks(); @Override - public default long getTotalFluidForSend(FluidType type) { + public default long getTotalFluidForSend(FluidType type, int pressure) { for(FluidTank tank : getSendingTanks()) { - if(tank.getTankType() == type) { + if(tank.getTankType() == type && tank.getPressure() == pressure) { return tank.getFill(); } } @@ -28,10 +28,10 @@ public interface IFluidStandardSender extends IFluidUser { } @Override - public default void removeFluidForTransfer(FluidType type, long amount) { + public default void removeFluidForTransfer(FluidType type, int pressure, long amount) { for(FluidTank tank : getSendingTanks()) { - if(tank.getTankType() == type) { + if(tank.getTankType() == type && tank.getPressure() == pressure) { tank.setFill(tank.getFill() - (int) amount); return; } @@ -39,12 +39,12 @@ public interface IFluidStandardSender extends IFluidUser { } @Override - public default long transferFluid(FluidType type, long fluid) { + public default long transferFluid(FluidType type, int pressure, long fluid) { return fluid; } @Override - public default long getDemand(FluidType type) { + 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 4cbe6b0a4..eb7092ad8 100644 --- a/src/main/java/api/hbm/fluid/IFluidStandardTransceiver.java +++ b/src/main/java/api/hbm/fluid/IFluidStandardTransceiver.java @@ -23,7 +23,7 @@ public interface IFluidStandardTransceiver extends IFluidUser { public FluidTank[] getReceivingTanks(); @Override - public default long getTotalFluidForSend(FluidType type) { + public default long getTotalFluidForSend(FluidType type, int pressure) { for(FluidTank tank : getSendingTanks()) { if(tank.getTankType() == type) { @@ -35,7 +35,7 @@ public interface IFluidStandardTransceiver extends IFluidUser { } @Override - public default void removeFluidForTransfer(FluidType type, long amount) { + public default void removeFluidForTransfer(FluidType type, int pressure, long amount) { for(FluidTank tank : getSendingTanks()) { if(tank.getTankType() == type) { @@ -46,7 +46,7 @@ public interface IFluidStandardTransceiver extends IFluidUser { } @Override - public default long getDemand(FluidType type) { + public default long getDemand(FluidType type, int pressure) { for(FluidTank tank : getReceivingTanks()) { if(tank.getTankType() == type) { @@ -58,7 +58,7 @@ public interface IFluidStandardTransceiver extends IFluidUser { } @Override - public default long transferFluid(FluidType type, long amount) { + public default long transferFluid(FluidType type, int pressure, long amount) { for(FluidTank tank : getReceivingTanks()) { if(tank.getTankType() == type) { diff --git a/src/main/java/api/hbm/fluid/IFluidUser.java b/src/main/java/api/hbm/fluid/IFluidUser.java index 2a181f99c..7c4a36a92 100644 --- a/src/main/java/api/hbm/fluid/IFluidUser.java +++ b/src/main/java/api/hbm/fluid/IFluidUser.java @@ -13,7 +13,11 @@ import net.minecraftforge.common.util.ForgeDirection; public interface IFluidUser extends IFluidConnector { - public default void sendFluid(FluidType type, World world, int x, int y, int z, ForgeDirection dir) { + 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; @@ -32,9 +36,9 @@ public interface IFluidUser extends IFluidConnector { IFluidConnector con = (IFluidConnector) te; if(con.canConnect(type, dir.getOpposite())) { - long toSend = this.getTotalFluidForSend(type); - long transfer = toSend - con.transferFluid(type, toSend); - this.removeFluidForTransfer(type, transfer); + long toSend = this.getTotalFluidForSend(type, pressure); + long transfer = toSend - con.transferFluid(type, pressure, toSend); + this.removeFluidForTransfer(type, pressure, transfer); red = true; } } @@ -77,15 +81,21 @@ public interface IFluidUser extends IFluidConnector { return null; } - public default void sendFluidToAll(FluidType type, TileEntity te) { + /** 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, te.getWorldObj(), te.xCoord + dir.offsetX, te.yCoord + dir.offsetY, te.zCoord + dir.offsetZ, dir); + sendFluid(type, pressure, te.getWorldObj(), te.xCoord + dir.offsetX, te.yCoord + dir.offsetY, te.zCoord + dir.offsetZ, dir); } } - public default long getTotalFluidForSend(FluidType type) { return 0; } - public default void removeFluidForTransfer(FluidType type, long amount) { } + 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); diff --git a/src/main/java/api/hbm/fluid/IPipeNet.java b/src/main/java/api/hbm/fluid/IPipeNet.java index 442ec3a33..45e67b017 100644 --- a/src/main/java/api/hbm/fluid/IPipeNet.java +++ b/src/main/java/api/hbm/fluid/IPipeNet.java @@ -24,7 +24,7 @@ public interface IPipeNet { public boolean isValid(); - public long transferFluid(long fill); + 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 index 1b3d46f5d..09b63d4f5 100644 --- a/src/main/java/api/hbm/fluid/PipeNet.java +++ b/src/main/java/api/hbm/fluid/PipeNet.java @@ -85,7 +85,7 @@ public class PipeNet implements IPipeNet { } @Override - public long transferFluid(long fill) { + public long transferFluid(long fill, int pressure) { this.subscribers.removeIf(x -> x == null || !(x instanceof TileEntity) || ((TileEntity)x).isInvalid() @@ -97,16 +97,16 @@ public class PipeNet implements IPipeNet { trackingInstances = new ArrayList(); trackingInstances.add(this); List subList = new ArrayList(subscribers); - return fairTransfer(subList, type, fill); + return fairTransfer(subList, type, pressure, fill); } - public static long fairTransfer(List subList, FluidType type, long fill) { + public static long fairTransfer(List subList, FluidType type, int pressure, long fill) { List weight = new ArrayList(); long totalReq = 0; for(IFluidConnector con : subList) { - long req = con.getDemand(type); + long req = con.getDemand(type, pressure); weight.add(req); totalReq += req; } @@ -123,7 +123,7 @@ public class PipeNet implements IPipeNet { long given = (long) Math.floor(fraction * fill); - totalGiven += (given - con.transferFluid(type, given)); + totalGiven += (given - con.transferFluid(type, pressure, given)); } if(trackingInstances != null) { diff --git a/src/main/java/com/hbm/commands/CommandDebugChunkLoad.java b/src/main/java/com/hbm/commands/CommandDebugChunkLoad.java new file mode 100644 index 000000000..ac10eae4d --- /dev/null +++ b/src/main/java/com/hbm/commands/CommandDebugChunkLoad.java @@ -0,0 +1,112 @@ +package com.hbm.commands; + +import net.minecraft.command.CommandBase; +import net.minecraft.command.ICommandSender; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.util.ChatComponentText; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.chunk.Chunk; +import net.minecraft.world.chunk.IChunkProvider; +import net.minecraft.world.chunk.storage.AnvilChunkLoader; +import net.minecraft.world.chunk.storage.IChunkLoader; +import net.minecraft.world.gen.ChunkProviderServer; + +public class CommandDebugChunkLoad extends CommandBase { + + @Override + public String getCommandName() { + return "ntmloadchunk"; + } + + @Override + public String getCommandUsage(ICommandSender sender) { + return "/ntmloadchunk "; + } + + @Override + public void processCommand(ICommandSender sender, String[] args) { + + if(args.length != 2) { + return; + } + + int x = this.parseInt(sender, args[0]); + int z = this.parseInt(sender, args[1]); + + IChunkProvider prov = sender.getEntityWorld().getChunkProvider(); + if(prov instanceof ChunkProviderServer) { + ChunkProviderServer serv = (ChunkProviderServer) prov; + IChunkLoader loader = serv.currentChunkLoader; + + if(loader instanceof AnvilChunkLoader) { + AnvilChunkLoader anvil = (AnvilChunkLoader) loader; + + try { + int cX = x >> 4; + int cZ = z >> 4; + + if(prov.chunkExists(cX, cZ)) { + Chunk chunk = sender.getEntityWorld().getChunkFromChunkCoords(cX, cZ); + if(chunk.isChunkLoaded) { + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Chunk currently loaded.")); + return; + } + } + + Object[] data = anvil.loadChunk__Async(sender.getEntityWorld(), cX, cZ); + Chunk chunk = (Chunk) data[0]; + NBTTagCompound nbt = (NBTTagCompound) data[1]; + NBTTagCompound level = nbt.getCompoundTag("Level"); + NBTTagList tagList = level.getTagList("TileEntities", 10); + + if(tagList != null) { + + if(tagList.tagCount() <= 0) { + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Tag list empty")); + } + + for(int i1 = 0; i1 < tagList.tagCount(); ++i1) { + NBTTagCompound tileCompound = tagList.getCompoundTagAt(i1); + int tX = tileCompound.getInteger("x"); + int tY = tileCompound.getInteger("y"); + int tZ = tileCompound.getInteger("z"); + String name = tileCompound.getString("id"); + + int i = tX - cX * 16; + int j = tY; + int k = tZ - cZ * 16; + + EnumChatFormatting color = EnumChatFormatting.GREEN; + + if(i < 0 || i > 15 || j < 0 || j > 255 || k < 0 || k > 15) { + color = EnumChatFormatting.RED; + } + + sender.addChatMessage(new ChatComponentText(color + name + " " + i + " " + j + " " + k)); + + if(i < 0 || i > 15 || j < 0 || j > 255 || k < 0 || k > 15) { + tileCompound.setString("id", "INVALID_POS_" + name); + + NBTTagCompound nbttagcompound = new NBTTagCompound(); + NBTTagCompound nbttagcompound1 = new NBTTagCompound(); + nbttagcompound.setTag("Level", nbttagcompound1); + // anvil.writeChunkToNBT(chunk, sender.getEntityWorld(), nbttagcompound1); + // anvil.addChunkToPending(chunk.getChunkCoordIntPair(), nbttagcompound); + } + } + } else { + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Tag list null")); + } + + } catch(Exception e) { + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "" + e.getLocalizedMessage())); + } + } else { + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Not AnvilChunkLoader")); + } + } else { + sender.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "Not ChunkProviderServer")); + } + } +} diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index f2a502e69..008ed2e78 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -41,7 +41,7 @@ public abstract class EntityRailCarBase extends Entity { @Override protected void readEntityFromNBT(NBTTagCompound nbt) { } @Override protected void writeEntityToNBT(NBTTagCompound nbt) { } - @Override + /*@Override public boolean canBePushed() { return true; } @@ -49,7 +49,7 @@ public abstract class EntityRailCarBase extends Entity { @Override public boolean canBeCollidedWith() { return !this.isDead; - } + }*/ @Override public void onUpdate() { @@ -260,7 +260,7 @@ public abstract class EntityRailCarBase extends Entity { } @Override protected void entityInit() { - this.dataWatcher.addObject(3, new Integer(1)); + this.dataWatcher.addObject(3, new Integer(0)); this.dataWatcher.addObject(4, new Float(1F)); this.dataWatcher.addObject(5, new Float(1F)); } @@ -276,7 +276,7 @@ public abstract class EntityRailCarBase extends Entity { @Override public void onUpdate() { if(!worldObj.isRemote) { - if(this.train.isDead) { + if(this.train == null || this.train.isDead) { this.setDead(); } } else { diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index 084beef8a..1725275b8 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -2,6 +2,8 @@ package com.hbm.entity.train; import com.hbm.util.BobMathUtil; +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; @@ -72,7 +74,7 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { if(nearestSeat == -1) { player.mountEntity(this); } else { - SeatDummyEntity dummySeat = new SeatDummyEntity(worldObj); + SeatDummyEntity dummySeat = new SeatDummyEntity(worldObj, this); Vec3 passengerSeat = this.getPassengerSeats()[nearestSeat]; passengerSeat.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); double x = posX + passengerSeat.xCoord; @@ -108,7 +110,6 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { double y = posY + rot.yCoord; double z = posZ + rot.zCoord; seat.setPosition(x, y - 1, z); - seat.updateRiderPosition(); } } } @@ -133,11 +134,51 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { /** Dynamic seats generated when a player clicks near a seat-spot, moves and rotates with the train as one would expect. */ public static class SeatDummyEntity extends Entity { + + private int turnProgress; + private double trainX; + private double trainY; + private double trainZ; + public EntityRailCarBase train; + public SeatDummyEntity(World world) { super(world); this.setSize(0.5F, 0.1F);} - @Override protected void entityInit() { } + public SeatDummyEntity(World world, EntityRailCarBase train) { + this(world); + this.train = train; + if(train != null) this.dataWatcher.updateObject(3, train.getEntityId()); + } + + @Override protected void entityInit() { this.dataWatcher.addObject(3, new Integer(0)); } @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 onUpdate() { + if(!worldObj.isRemote) { + if(this.train == null || this.train.isDead) { + this.setDead(); + } + } else { + + if(this.turnProgress > 0) { + this.prevRotationYaw = this.rotationYaw; + double x = this.posX + (this.trainX - this.posX) / (double) this.turnProgress; + double y = this.posY + (this.trainY - this.posY) / (double) this.turnProgress; + double z = this.posZ + (this.trainZ - this.posZ) / (double) this.turnProgress; + --this.turnProgress; + this.setPosition(x, y, z); + } else { + this.setPosition(this.posX, this.posY, this.posZ); + } + } + } + + @Override @SideOnly(Side.CLIENT) public void setPositionAndRotation2(double posX, double posY, double posZ, float yaw, float pitch, int turnProg) { + this.trainX = posX; + this.trainY = posY; + this.trainZ = posZ; + this.turnProgress = turnProg + 2; + } @Override public void updateRiderPosition() { diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index c88d6b35c..46981be68 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -30,7 +30,7 @@ public class TrainCargoTram extends EntityRailCarRidable implements IGUIProvider public TrainCargoTram(World world) { super(world); - this.setSize(1F, 1F); + this.setSize(5F, 2F); } public double speed = 0; diff --git a/src/main/java/com/hbm/handler/nei/CokingHandler.java b/src/main/java/com/hbm/handler/nei/CokingHandler.java index da3cb101d..a0227147e 100644 --- a/src/main/java/com/hbm/handler/nei/CokingHandler.java +++ b/src/main/java/com/hbm/handler/nei/CokingHandler.java @@ -1,6 +1,9 @@ package com.hbm.handler.nei; +import java.awt.Rectangle; + import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.gui.GUIMachineCoker; import com.hbm.inventory.recipes.CokerRecipes; public class CokingHandler extends NEIUniversalHandler { @@ -13,4 +16,12 @@ public class CokingHandler extends NEIUniversalHandler { public String getKey() { return "ntmCoking"; } + + @Override + public void loadTransferRects() { + super.loadTransferRects(); + transferRectsGui.add(new RecipeTransferRect(new Rectangle(55, 15, 36, 18), "ntmCoking")); + guiGui.add(GUIMachineCoker.class); + RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui); + } } diff --git a/src/main/java/com/hbm/handler/nei/CombinationHandler.java b/src/main/java/com/hbm/handler/nei/CombinationHandler.java index 8537c12b0..0c07afbbc 100644 --- a/src/main/java/com/hbm/handler/nei/CombinationHandler.java +++ b/src/main/java/com/hbm/handler/nei/CombinationHandler.java @@ -1,6 +1,9 @@ package com.hbm.handler.nei; +import java.awt.Rectangle; + import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.gui.GUIFurnaceCombo; import com.hbm.inventory.recipes.CombinationRecipes; public class CombinationHandler extends NEIUniversalHandler { @@ -13,4 +16,12 @@ public class CombinationHandler extends NEIUniversalHandler { public String getKey() { return "ntmCombination"; } + + @Override + public void loadTransferRects() { + super.loadTransferRects(); + transferRectsGui.add(new RecipeTransferRect(new Rectangle(49, 44, 18, 18), "ntmCombination")); + guiGui.add(GUIFurnaceCombo.class); + RecipeTransferRectHandler.registerRectsToGuis(guiGui, transferRectsGui); + } } 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 5d67bb325..ce98e9579 100644 --- a/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java +++ b/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java @@ -19,6 +19,7 @@ import net.minecraft.client.resources.I18n; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; public class FluidTank { @@ -34,12 +35,18 @@ public class FluidTank { int fluid; int maxFluid; public int index = 0; + int pressure = 0; public FluidTank(FluidType type, int maxFluid) { this.type = type; this.maxFluid = maxFluid; } + public FluidTank withPressure(int pressure) { + this.pressure = pressure; + return this; + } + @Deprecated // indices are no longer needed public FluidTank(FluidType type, int maxFluid, int index) { this.type = type; @@ -76,6 +83,10 @@ public class FluidTank { return maxFluid; } + public int getPressure() { + return pressure; + } + public int changeTankSize(int size) { maxFluid = size; @@ -108,6 +119,8 @@ public class FluidTank { if(slots[in] == null) return false; + if(this.pressure != 0) return false; //for now, canisters can only be loaded from high-pressure tanks, not unloaded + int prev = this.getFill(); for(FluidLoadingHandler handler : loadingHandlers) { @@ -223,6 +236,10 @@ public class FluidTank { list.add(I18n.format(this.type.getUnlocalizedName())); list.add(fluid + "/" + maxFluid + "mB"); + if(this.pressure != 0) { + list.add(EnumChatFormatting.RED + "" + this.pressure + "mB/l"); + } + type.addInfo(list); gui.drawInfo(list.toArray(new String[0]), mouseX, mouseY); } @@ -233,6 +250,7 @@ public class FluidTank { nbt.setInteger(s, fluid); nbt.setInteger(s + "_max", maxFluid); nbt.setInteger(s + "_type", type.getID()); + nbt.setShort(s + "_p", (short) pressure); } //Called by TE to load fillstate @@ -245,6 +263,8 @@ public class FluidTank { type = Fluids.fromName(nbt.getString(s + "_type")); //compat if(type == Fluids.NONE) type = Fluids.fromID(nbt.getInteger(s + "_type")); + + this.pressure = nbt.getShort(s + "_p"); } } diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index d2806ca03..acaadd51d 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -47,6 +47,7 @@ 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.CommandDebugChunkLoad; import com.hbm.commands.CommandReloadRecipes; import com.hbm.config.*; import com.hbm.crafting.RodRecipes; @@ -895,6 +896,7 @@ public class MainRegistry { RBMKDials.createDials(world); SiegeOrchestrator.createGameRules(world); event.registerServerCommand(new CommandReloadRecipes()); + event.registerServerCommand(new CommandDebugChunkLoad()); } @EventHandler diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java b/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java index 4a1786e53..c4b8404d3 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java @@ -427,25 +427,25 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy } @Override - public long transferFluid(FluidType type, long fluid) { + public long transferFluid(FluidType type, int pressure, long fluid) { if(!this.fluid) return fluid; if(getTile() instanceof IFluidConnector) { - return ((IFluidConnector)getTile()).transferFluid(type, fluid); + return ((IFluidConnector)getTile()).transferFluid(type, pressure, fluid); } return fluid; } @Override - public long getDemand(FluidType type) { + public long getDemand(FluidType type, int pressure) { if(!this.fluid) return 0; if(getTile() instanceof IFluidConnector) { - return ((IFluidConnector)getTile()).getDemand(type); + return ((IFluidConnector)getTile()).getDemand(type, pressure); } return 0; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java index fdc95bc0e..4a0226d96 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChungus.java @@ -81,7 +81,7 @@ public class TileEntityChungus extends TileEntityLoadedBase implements IFluidAcc this.sendPower(worldObj, xCoord - dir.offsetX * 11, yCoord, zCoord - dir.offsetZ * 11, dir.getOpposite()); for(DirPos pos : this.getConPos()) { - this.sendFluid(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + 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()); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java index 20f0d3915..8b42674b0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCondenser.java @@ -60,7 +60,7 @@ public class TileEntityCondenser extends TileEntityLoadedBase implements IFluidA } this.subscribeToAllAround(tanks[0].getTankType(), this); - this.sendFluidToAll(tanks[1].getTankType(), this); + this.sendFluidToAll(tanks[1], this); fillFluidInit(tanks[1].getTankType()); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java index 085f1d9ad..ec4354528 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -3,9 +3,7 @@ package com.hbm.tileentity.machine; import api.hbm.block.ILaserable; import api.hbm.energy.IEnergyUser; import api.hbm.fluid.IFluidStandardReceiver; -import com.hbm.interfaces.IFluidAcceptor; import com.hbm.inventory.container.ContainerCoreEmitter; -import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUICoreEmitter; @@ -35,7 +33,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 IEnergyUser, IFluidAcceptor, ILaserable, IFluidStandardReceiver, SimpleComponent, IGUIProvider { +public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEnergyUser, ILaserable, IFluidStandardReceiver, SimpleComponent, IGUIProvider { public long power; public static final long maxPower = 1000000000L; @@ -198,38 +196,6 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne return (watts * i) / 100; } - @Override - public void setFluidFill(int i, FluidType type) { - if(type.name().equals(tank.getTankType().name())) - tank.setFill(i); - } - - @Override - public int getFluidFill(FluidType type) { - if(type.name().equals(tank.getTankType().name())) - return tank.getFill(); - else - return 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - if(type.name().equals(tank.getTankType().name())) - return tank.getMaxFill(); - else - return 0; - } - - @Override - public void setFillForSync(int fill, int index) { - tank.setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { - tank.setTankType(type); - } - @Override public void setPower(long i) { this.power = i; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java index 1996b4bec..b902dfd3e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumExtractor.java @@ -43,7 +43,7 @@ public class TileEntityDeuteriumExtractor extends TileEntityMachineBase implemen } this.subscribeToAllAround(tanks[0].getTankType(), this); - this.sendFluidToAll(tanks[1].getTankType(), this); + this.sendFluidToAll(tanks[1], this); NBTTagCompound data = new NBTTagCompound(); data.setLong("power", power); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumTower.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumTower.java index 8cc2e93c9..a05b6fe01 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumTower.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDeuteriumTower.java @@ -20,7 +20,8 @@ public class TileEntityDeuteriumTower extends TileEntityDeuteriumExtractor { tanks[0] = new FluidTank(Fluids.WATER, 50000, 0); tanks[1] = new FluidTank(Fluids.HEAVYWATER, 5000, 1); } - + + @Override protected void updateConnections() { for(DirPos pos : getConPos()) { @@ -28,17 +29,19 @@ public class TileEntityDeuteriumTower extends TileEntityDeuteriumExtractor { } } + @Override public void subscribeToAllAround(FluidType type, World world, int x, int y, int z) { for(DirPos pos : getConPos()) { this.trySubscribe(type, world, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } - - public void sendFluidToAll(FluidType type, TileEntity te) { + + @Override + public void sendFluidToAll(FluidTank tank, TileEntity te) { for(DirPos pos : getConPos()) { - this.sendFluid(type, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(tank, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java index 3295b6b0c..a35eaa70d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java @@ -62,14 +62,14 @@ public class TileEntityFurnaceCombination extends TileEntityMachineBase implemen for(int y = yCoord; y <= yCoord + 1; y++) { for(int j = -1; j <= 1; j++) { - if(tank.getFill() > 0) this.sendFluid(tank.getTankType(), worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * j, y, zCoord + dir.offsetZ * 2 + rot.offsetZ * j, dir); + if(tank.getFill() > 0) this.sendFluid(tank, worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * j, y, zCoord + dir.offsetZ * 2 + rot.offsetZ * j, dir); } } } for(int x = xCoord - 1; x <= xCoord + 1; x++) { for(int z = zCoord - 1; z <= zCoord + 1; z++) { - if(tank.getFill() > 0) this.sendFluid(tank.getTankType(), worldObj, x, yCoord + 2, z, ForgeDirection.UP); + if(tank.getFill() > 0) this.sendFluid(tank, worldObj, x, yCoord + 2, z, ForgeDirection.UP); } } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java index a2325f6af..c7c98008d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java @@ -193,7 +193,7 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IFluid private void sendFluid() { for(DirPos pos : getConPos()) { - this.sendFluid(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir().getOpposite()); + this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir().getOpposite()); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java index 7d0656c7e..e1dffc2b1 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterHeatex.java @@ -65,7 +65,7 @@ public class TileEntityHeaterHeatex extends TileEntityMachineBase implements IHe INBTPacketReceiver.networkPack(this, data, 25); for(DirPos pos : getConPos()) { - if(this.tanks[1].getFill() > 0) this.sendFluid(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(this.tanks[1].getFill() > 0) this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java index fe47229b1..1e7d206f2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java @@ -156,7 +156,7 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser for(DirPos pos : getConPos()) { if(tanks[1].getFill() > 0) { - this.sendFluid(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java index 9dd81d815..8a7c4e55f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java @@ -91,7 +91,7 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im this.consumption *= (overLevel + 1); for(DirPos pos : getConPos()) { - this.sendFluid(steam.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } if(steam.getFill() > 0) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java index 50571797e..7882e3e8c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java @@ -218,7 +218,7 @@ public class TileEntityMachineBoiler extends TileEntityLoadedBase implements ISi if(!worldObj.isRemote) { this.subscribeToAllAround(tanks[0].getTankType(), this); - this.sendFluidToAll(tanks[1].getTankType(), this); + this.sendFluidToAll(tanks[1], this); age++; if(age >= 20) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java index 38616f5a8..e29757724 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoilerElectric.java @@ -233,7 +233,7 @@ public class TileEntityMachineBoilerElectric extends TileEntityLoadedBase implem { this.updateConnections(); this.subscribeToAllAround(tanks[0].getTankType(), this); - this.sendFluidToAll(tanks[1].getTankType(), this); + this.sendFluidToAll(tanks[1], this); age++; if(age >= 20) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java index 69215202a..539ea2f42 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemfac.java @@ -1,15 +1,12 @@ 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.interfaces.IFluidAcceptor; import com.hbm.inventory.UpgradeManager; import com.hbm.inventory.container.ContainerChemfac; -import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIChemfac; @@ -76,7 +73,7 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase { for(DirPos pos : getConPos()) for(FluidTank tank : outTanks()) { if(tank.getTankType() != Fluids.NONE && tank.getFill() > 0) { - this.sendFluid(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(tank, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } @@ -217,58 +214,6 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase { return conPos; } - @Override - public void fillFluidInit(FluidType type) { - - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); - ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - - for(int i = 0; i < 6; i++) { - fillFluid(xCoord + dir.offsetX * (2 - i) + rot.offsetX * 3, yCoord + 4, zCoord + dir.offsetZ * (2 - i) + rot.offsetZ * 3, this.getTact(), type); - fillFluid(xCoord + dir.offsetX * (2 - i) - rot.offsetX * 2, yCoord + 4, zCoord + dir.offsetZ * (2 - i) - rot.offsetZ * 2, this.getTact(), type); - - for(int j = 0; j < 2; j++) { - fillFluid(xCoord + dir.offsetX * (2 - i) + rot.offsetX * 5, yCoord + 1 + j, zCoord + dir.offsetZ * (2 - i) + rot.offsetZ * 5, this.getTact(), type); - fillFluid(xCoord + dir.offsetX * (2 - i) - rot.offsetX * 4, yCoord + 1 + j, zCoord + dir.offsetZ * (2 - i) - rot.offsetZ * 4, this.getTact(), type); - } - } - } - - @Override - public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { - Library.transmitFluid(x, y, z, newTact, this, worldObj, type); - } - - @Override - public boolean getTact() { - return this.worldObj.getTotalWorldTime() % 20 < 10; - } - - private HashMap> fluidMap = new HashMap(); - - @Override - public List getFluidList(FluidType type) { - - List list = fluidMap.get(type); - - if(list == null) { - list = new ArrayList(); - fluidMap.put(type, list); - } - - return list; - } - - @Override - public void clearFluidList(FluidType type) { - - List list = fluidMap.get(type); - - if(list != null) { - list.clear(); - } - } - @Override public int getRecipeCount() { return 8; @@ -366,11 +311,6 @@ public class TileEntityMachineChemfac extends TileEntityMachineChemplantBase { return outTanks; } - - @Override - public int getMaxFluidFillForReceive(FluidType type) { - return super.getMaxFluidFillForReceive(type); - } AxisAlignedBB bb = null; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index a1b29e28e..b40be0fdc 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -111,8 +111,8 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements } for(DirPos pos : getConPos()) { - if(tanks[2].getFill() > 0) this.sendFluid(tanks[2].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - if(tanks[3].getFill() > 0) this.sendFluid(tanks[3].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[3].getFill() > 0) this.sendFluid(tanks[3], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } UpgradeManager.eval(slots, 1, 3); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java index 1a32bf626..9956e1810 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java @@ -34,7 +34,7 @@ import net.minecraft.util.ChunkCoordinates; * Tanks follow the order R1(I1, I2, O1, O2), R2(I1, I2, O1, O2) ... * @author hbm */ -public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidAcceptor, IFluidUser, IGUIProvider { +public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBase implements IEnergyUser, IFluidUser, IGUIProvider { public long power; public int[] progress; @@ -74,15 +74,6 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa loadItems(i); unloadItems(i); } - - if(worldObj.getTotalWorldTime() % 10 == 0) { - - for(FluidTank tank : this.outTanks()) { - if(tank.getTankType() != Fluids.NONE && tank.getFill() > 0) { - this.fillFluidInit(tank.getTankType()); - } - } - } for(int i = 0; i < count; i++) { @@ -322,17 +313,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa this.power = power; } - @Override - public void setFillForSync(int fill, int index) { } - - @Override - public void setFluidFill(int fill, FluidType type) { } - - @Override - public void setTypeForSync(FluidType type, int index) { } - - @Override - public int getFluidFill(FluidType type) { + /*public int getFluidFill(FluidType type) { int fill = 0; @@ -349,10 +330,9 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa } return fill; - } + }*/ /* For input only! */ - @Override public int getMaxFluidFill(FluidType type) { int maxFill = 0; @@ -365,20 +345,6 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa return maxFill; } - - @Override - public int getFluidFillForReceive(FluidType type) { - - int fill = 0; - - for(FluidTank tank : inTanks()) { - if(tank.getTankType() == type) { - fill += tank.getFill(); - } - } - - return fill; - } protected List inTanks() { @@ -394,8 +360,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa return inTanks; } - @Override - public void receiveFluid(int amount, FluidType type) { + /*public void receiveFluid(int amount, FluidType type) { if(amount <= 0) return; @@ -431,15 +396,14 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa tank.setFill(tank.getFill() + part); } - } + }*/ - @Override - public int getFluidFillForTransfer(FluidType type) { + public int getFluidFillForTransfer(FluidType type, int pressure) { int fill = 0; for(FluidTank tank : outTanks()) { - if(tank.getTankType() == type) { + if(tank.getTankType() == type && tank.getPressure() == pressure) { fill += tank.getFill(); } } @@ -447,8 +411,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa return fill; } - @Override - public void transferFluid(int amount, FluidType type) { + public void transferFluid(int amount, FluidType type, int pressure) { /* * this whole new fluid mumbo jumbo extra abstraction layer might just be a bandaid @@ -462,7 +425,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa List send = new ArrayList(); for(FluidTank tank : outTanks()) { - if(tank.getTankType() == type) { + if(tank.getTankType() == type && tank.getPressure() == pressure) { send.add(tank); } } @@ -524,7 +487,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa } @Override - public long transferFluid(FluidType type, long fluid) { + public long transferFluid(FluidType type, int pressure, long fluid) { int amount = (int) fluid; if(amount <= 0) @@ -533,7 +496,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa List rec = new ArrayList(); for(FluidTank tank : inTanks()) { - if(tank.getTankType() == type) { + if(tank.getTankType() == type && tank.getPressure() == pressure) { rec.add(tank); } } @@ -567,18 +530,18 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa } @Override - public long getDemand(FluidType type) { - return getMaxFluidFill(type) - getFluidFillForTransfer(type); + public long getDemand(FluidType type, int pressure) { + return getMaxFluidFill(type) - getFluidFillForTransfer(type, pressure); } @Override - public long getTotalFluidForSend(FluidType type) { - return getFluidFillForTransfer(type); + public long getTotalFluidForSend(FluidType type, int pressure) { + return getFluidFillForTransfer(type, pressure); } @Override - public void removeFluidForTransfer(FluidType type, long amount) { - this.transferFluid((int) amount, type); + public void removeFluidForTransfer(FluidType type, int pressure, long amount) { + this.transferFluid((int) amount, type, pressure); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java index 05459da78..0fa7a053f 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCyclotron.java @@ -173,7 +173,7 @@ public class TileEntityMachineCyclotron extends TileEntityMachineBase implements private void sendFluid() { for(DirPos pos : getConPos()) { - this.sendFluid(amat.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(amat, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineHephaestus.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineHephaestus.java index 242d316cd..f629c577b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineHephaestus.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineHephaestus.java @@ -72,7 +72,7 @@ public class TileEntityMachineHephaestus extends TileEntityLoadedBase implements if(output.getFill() > 0) { for(DirPos pos : getConPos()) { - this.sendFluid(output.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(output, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } data.setInteger("heat", this.getTotalHeat()); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java index 4e43bfcb0..5f37053e9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineLargeTurbine.java @@ -74,7 +74,7 @@ public class TileEntityMachineLargeTurbine extends TileEntityMachineBase impleme ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); this.sendPower(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()); - for(DirPos pos : getConPos()) this.sendFluid(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + for(DirPos pos : getConPos()) this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); tanks[0].setType(0, 1, slots); tanks[0].loadTank(2, 3, slots); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java index b8d708c5e..e0e4c52f7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java @@ -99,10 +99,10 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen if (age == 9 || age == 19) fillFluidInit(tank.getTankType()); - this.sendFluid(tank.getTankType(), worldObj, xCoord + 2, yCoord, zCoord, Library.POS_X); - this.sendFluid(tank.getTankType(), worldObj, xCoord - 2, yCoord, zCoord, Library.NEG_X); - this.sendFluid(tank.getTankType(), worldObj, xCoord, yCoord + 2, zCoord, Library.POS_Z); - this.sendFluid(tank.getTankType(), worldObj, xCoord, yCoord - 2, zCoord, Library.NEG_Z); + 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); tank.updateTank(xCoord, yCoord, zCoord, this.worldObj.provider.dimensionId); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java index d92976d5f..37333a316 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java @@ -100,7 +100,7 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB } for(DirPos pos : getConPos()) { - if(tanks[2].getFill() > 0) this.sendFluid(tanks[2].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()); } NBTTagCompound data = new NBTTagCompound(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java index 12ec35a76..1cbe50ab4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadiolysis.java @@ -142,8 +142,8 @@ public class TileEntityMachineRadiolysis extends TileEntityMachineBase implement for(DirPos pos : getConPos()) { this.sendPower(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].getTankType(), worldObj, pos.getX(), pos.getY(),pos.getZ(), pos.getDir()); - if(tanks[2].getFill() > 0) this.sendFluid(tanks[2].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(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java index ee0e824d8..9cfafeb0d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineReactorLarge.java @@ -771,7 +771,7 @@ public class TileEntityMachineReactorLarge extends TileEntityLoadedBase implemen if(worldObj.getBlock(xCoord + dir.offsetX * 2, yCoord, zCoord + dir.offsetZ * 2) == ModBlocks.reactor_hatch) { fillFluid(this.xCoord + dir.offsetX * 3, this.yCoord, this.zCoord + dir.offsetZ * 3, getTact(), type); for(int i = 0; i < 2; i++) this.trySubscribe(tanks[i].getTankType(), worldObj, this.xCoord + dir.offsetX * 3, this.yCoord, this.zCoord + dir.offsetZ * 3, Library.NEG_X); - this.sendFluid(tanks[2].getTankType(), worldObj, this.xCoord + dir.offsetX * 3, this.yCoord, this.zCoord + dir.offsetZ * 3, Library.NEG_X); + this.sendFluid(tanks[2], worldObj, this.xCoord + dir.offsetX * 3, this.yCoord, this.zCoord + dir.offsetZ * 3, Library.NEG_X); } else { for(int i = 0; i < 2; i++) this.tryUnsubscribe(tanks[i].getTankType(), worldObj, this.xCoord + dir.offsetX * 3, this.yCoord, this.zCoord + dir.offsetZ * 3); } @@ -780,8 +780,8 @@ public class TileEntityMachineReactorLarge extends TileEntityLoadedBase implemen fillFluid(this.xCoord, this.yCoord + height + 1, this.zCoord, getTact(), type); fillFluid(this.xCoord, this.yCoord - depth - 1, this.zCoord, getTact(), type); - this.sendFluid(tanks[2].getTankType(), worldObj, this.xCoord, this.yCoord + height + 1, this.zCoord, Library.POS_Y); - this.sendFluid(tanks[2].getTankType(), worldObj, this.xCoord, this.yCoord - depth - 1, this.zCoord, Library.NEG_Y); + this.sendFluid(tanks[2], worldObj, this.xCoord, this.yCoord + height + 1, this.zCoord, Library.POS_Y); + this.sendFluid(tanks[2], worldObj, this.xCoord, this.yCoord - depth - 1, this.zCoord, Library.NEG_Y); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java index 2a9f08a8b..eb4d3f731 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbine.java @@ -261,7 +261,7 @@ public class TileEntityMachineTurbine extends TileEntityLoadedBase implements IS if(!valid) tanks[1].setTankType(Fluids.NONE); if(power > maxPower) power = maxPower; - this.sendFluidToAll(tanks[1].getTankType(), this); + this.sendFluidToAll(tanks[1], this); tanks[1].unloadTank(5, 6, slots); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java index 79334c4b6..e2b64dde5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java @@ -139,7 +139,7 @@ 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.getOpposite()); 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].getTankType(), worldObj, xCoord + dir.offsetZ * 6, yCoord + 1, zCoord - dir.offsetX * 6, rot.getOpposite()); + this.sendFluid(tanks[3], worldObj, xCoord + dir.offsetZ * 6, yCoord + 1, zCoord - dir.offsetX * 6, rot.getOpposite()); //if(audio != null) // audio shouldn't even exist serverside // audio.updatePitch((float) (0.45 + 0.05 * rpm / 10)); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index 262bfb654..bd87b519c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -168,7 +168,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements for(DirPos pos : getConPos()) { this.sendPower(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.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()); } if(burnValue > 0 && amountToBurn > 0) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java index 143795070..c605f96d6 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorZirnox.java @@ -230,7 +230,7 @@ public class TileEntityReactorZirnox extends TileEntityMachineBase implements IF } for(DirPos pos : getConPos()) { - this.sendFluid(steam.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } checkIfMeltdown(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java index 2ceec4118..ab91d87c3 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySolarBoiler.java @@ -56,8 +56,8 @@ public class TileEntitySolarBoiler extends TileEntityLoadedBase implements IFlui water.setFill(water.getFill() - process); steam.setFill(steam.getFill() + process * 100); - this.sendFluid(steam.getTankType(), worldObj, xCoord, yCoord + 3, zCoord, Library.POS_Y); - this.sendFluid(steam.getTankType(), worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y); + this.sendFluid(steam, worldObj, xCoord, yCoord + 3, zCoord, Library.POS_Y); + this.sendFluid(steam, worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y); heat = 0; } else { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySteamEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySteamEngine.java index f3c99b090..2d70dc4c6 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySteamEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySteamEngine.java @@ -120,7 +120,7 @@ public class TileEntitySteamEngine extends TileEntityLoadedBase implements IFlui if(this.powerBuffer > 0) this.sendPower(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].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } if(tanks[1].getFill() > 0) fillFluidInit(tanks[1].getTankType()); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java b/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java index e157188be..9b9a4432c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityStorageDrum.java @@ -148,8 +148,8 @@ public class TileEntityStorageDrum extends TileEntityMachineBase implements IFlu fillFluidInit(tanks[1].getTankType()); } - this.sendFluidToAll(tanks[0].getTankType(), this); - this.sendFluidToAll(tanks[1].getTankType(), this); + this.sendFluidToAll(tanks[0], this); + this.sendFluidToAll(tanks[1], this); tanks[0].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); tanks[1].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java index 5fd40bbe0..03b16cf88 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerLarge.java @@ -68,14 +68,14 @@ public class TileEntityTowerLarge extends TileEntityCondenser { } @Override - public void sendFluidToAll(FluidType type, TileEntity te) { + public void sendFluidToAll(FluidTank tank, TileEntity te) { for(int i = 2; i < 6; i++) { ForgeDirection dir = ForgeDirection.getOrientation(i); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - this.sendFluid(this.tanks[1].getTankType(), worldObj, xCoord + dir.offsetX * 5, yCoord, zCoord + dir.offsetZ * 5, dir); - this.sendFluid(this.tanks[1].getTankType(), worldObj, xCoord + dir.offsetX * 5 + rot.offsetX * 3, yCoord, zCoord + dir.offsetZ * 5 + rot.offsetZ * 3, dir); - this.sendFluid(this.tanks[1].getTankType(),worldObj, xCoord + dir.offsetX * 5 + rot.offsetX * -3, yCoord, zCoord + dir.offsetZ * 5 + rot.offsetZ * -3, dir); + this.sendFluid(this.tanks[1], worldObj, xCoord + dir.offsetX * 5, yCoord, zCoord + dir.offsetZ * 5, dir); + this.sendFluid(this.tanks[1], worldObj, xCoord + dir.offsetX * 5 + rot.offsetX * 3, yCoord, zCoord + dir.offsetZ * 5 + rot.offsetZ * 3, dir); + this.sendFluid(this.tanks[1], worldObj, xCoord + dir.offsetX * 5 + rot.offsetX * -3, yCoord, zCoord + dir.offsetZ * 5 + rot.offsetZ * -3, dir); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java index 05849023a..7dbb010bb 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityTowerSmall.java @@ -53,11 +53,11 @@ public class TileEntityTowerSmall extends TileEntityCondenser { } @Override - public void sendFluidToAll(FluidType type, TileEntity te) { - this.sendFluid(this.tanks[1].getTankType(), worldObj, xCoord + 3, yCoord, zCoord, Library.POS_X); - this.sendFluid(this.tanks[1].getTankType(), worldObj, xCoord - 3, yCoord, zCoord, Library.NEG_X); - this.sendFluid(this.tanks[1].getTankType(), worldObj, xCoord, yCoord, zCoord + 3, Library.POS_Z); - this.sendFluid(this.tanks[1].getTankType(), worldObj, xCoord, yCoord, zCoord - 3, Library.NEG_Z); + public void sendFluidToAll(FluidTank tank, TileEntity te) { + this.sendFluid(this.tanks[1], worldObj, xCoord + 3, yCoord, zCoord, Library.POS_X); + this.sendFluid(this.tanks[1], worldObj, xCoord - 3, yCoord, zCoord, Library.NEG_X); + this.sendFluid(this.tanks[1], worldObj, xCoord, yCoord, zCoord + 3, Library.POS_Z); + this.sendFluid(this.tanks[1], worldObj, xCoord, yCoord, zCoord - 3, Library.NEG_Z); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java index 4f1124f8e..8b3e4baeb 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatz.java @@ -318,8 +318,8 @@ public class TileEntityWatz extends TileEntityMachineBase implements IFluidStand protected void sendOutBottom() { for(DirPos pos : getSendingPos()) { - if(tanks[1].getFill() > 0) this.sendFluid(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - if(tanks[2].getFill() > 0) this.sendFluid(tanks[2].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()); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java index 8411a1c76..95db0d668 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityWatzCore.java @@ -565,10 +565,10 @@ public class TileEntityWatzCore extends TileEntityLoadedBase implements ISidedIn this.sendPower(worldObj, xCoord, yCoord + 7, zCoord, ForgeDirection.UP); this.sendPower(worldObj, xCoord, yCoord - 7, zCoord, ForgeDirection.DOWN); - this.sendFluid(tank.getTankType(), worldObj, xCoord + 4, yCoord, zCoord, Library.POS_X); - this.sendFluid(tank.getTankType(), worldObj, xCoord, yCoord, zCoord + 4, Library.POS_Z); - this.sendFluid(tank.getTankType(), worldObj, xCoord - 4, yCoord, zCoord, Library.NEG_X); - this.sendFluid(tank.getTankType(), worldObj, xCoord, yCoord, zCoord - 4, Library.NEG_Z); + this.sendFluid(tank, worldObj, xCoord + 4, yCoord, zCoord, Library.POS_X); + this.sendFluid(tank, worldObj, xCoord, yCoord, zCoord + 4, Library.POS_Z); + this.sendFluid(tank, worldObj, xCoord - 4, yCoord, zCoord, Library.NEG_X); + this.sendFluid(tank, worldObj, xCoord, yCoord, zCoord - 4, Library.NEG_Z); if (age == 9 || age == 19) { fillFluidInit(tank.getTankType()); 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 e04bef058..37f9f4fb0 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticCracker.java @@ -49,7 +49,7 @@ public class TileEntityMachineCatalyticCracker extends TileEntityLoadedBase impl for(DirPos pos : getConPos()) { for(int i = 2; i <= 4; i++) { - if(tanks[i].getFill() > 0) this.sendFluid(tanks[i].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(tanks[i].getFill() > 0) this.sendFluid(tanks[i], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } 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 7aaf0ed3a..04e534de5 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCatalyticReformer.java @@ -69,7 +69,7 @@ public class TileEntityMachineCatalyticReformer extends TileEntityMachineBase im for(DirPos pos : getConPos()) { for(int i = 1; i < 4; i++) { if(tanks[i].getFill() > 0) { - this.sendFluid(tanks[i].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(tanks[i], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } } 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 fa5ee1a72..65db88540 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java @@ -101,7 +101,7 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl } for(DirPos pos : getConPos()) { - if(this.tanks[1].getFill() > 0) this.sendFluid(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(this.tanks[1].getFill() > 0) this.sendFluid(tanks[1], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } NBTTagCompound data = new NBTTagCompound(); 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 c963381a2..19ed18ecd 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineFractionTower.java @@ -104,8 +104,8 @@ public class TileEntityMachineFractionTower extends TileEntityLoadedBase impleme private void sendFluid() { for(DirPos pos : getConPos()) { - this.sendFluid(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - this.sendFluid(tanks[2].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + 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()); } } 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 2092b4805..99f9d8bf0 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java @@ -97,7 +97,7 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen private void sendFluid() { for(DirPos pos : getConPos()) { - this.sendFluid(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(tank, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } 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 a345a43d4..8cac21820 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java @@ -174,7 +174,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements for(DirPos pos : getConPos()) { for(int i = 1; i < 5; i++) { if(tanks[i].getFill() > 0) { - this.sendFluid(tanks[i].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(tanks[i], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } } 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 400e5c98f..81ef2baa8 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java @@ -66,7 +66,7 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem for(DirPos pos : getConPos()) { for(int i = 1; i < 5; i++) { if(tanks[i].getFill() > 0) { - this.sendFluid(tanks[i].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendFluid(tanks[i], worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } } 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 7ac708861..11d36657f 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityOilDrillBase.java @@ -132,8 +132,8 @@ public abstract class TileEntityOilDrillBase extends TileEntityMachineBase imple this.fillFluidInit(tanks[1].getTankType()); for(DirPos pos : getConPos()) { - if(tanks[0].getFill() > 0) this.sendFluid(tanks[0].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - if(tanks[1].getFill() > 0) this.sendFluid(tanks[1].getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + 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()) { 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 bd46536de..6c1a784e6 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java @@ -95,7 +95,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I this.trySubscribe(feed.getTankType(), worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y); for(DirPos pos : getOutputPos()) { - if(this.steam.getFill() > 0) this.sendFluid(steam.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(this.steam.getFill() > 0) this.sendFluid(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } 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 3ddb02d04..3d408086d 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java @@ -86,7 +86,7 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I this.trySubscribe(feed.getTankType(), worldObj, xCoord, yCoord - 1, zCoord, Library.NEG_Y); for(DirPos pos : getOutputPos()) { - if(this.steam.getFill() > 0) this.sendFluid(steam.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(this.steam.getFill() > 0) this.sendFluid(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } 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 bbb5ff2e0..c3c2665bf 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java @@ -54,7 +54,7 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement } for(DirPos pos : getOutputPos()) { - if(this.gas.getFill() > 0) this.sendFluid(gas.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + if(this.gas.getFill() > 0) this.sendFluid(gas, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } 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 f852e31bd..2c047cfd1 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutlet.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutlet.java @@ -54,7 +54,7 @@ public class TileEntityRBMKOutlet extends TileEntityLoadedBase implements IFluid } fillFluidInit(this.steam.getTankType()); - this.sendFluidToAll(steam.getTankType(), this); + this.sendFluidToAll(steam, 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 d6957ce01..e8f941496 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java @@ -75,7 +75,7 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); this.sendingBrake = true; - tank.setFill(transmitFluidFairly(worldObj, tank.getTankType(), this, tank.getFill(), this.mode == 0 || this.mode == 1, this.mode == 1 || this.mode == 2, getConPos())); + tank.setFill(transmitFluidFairly(worldObj, tank, this, tank.getFill(), this.mode == 0 || this.mode == 1, this.mode == 1 || this.mode == 2, getConPos())); this.sendingBrake = false; age++; @@ -106,10 +106,12 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc }; } - protected static int transmitFluidFairly(World world, FluidType type, IFluidConnector that, int fill, boolean connect, boolean send, DirPos[] connections) { + 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) { @@ -144,7 +146,7 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc if(x instanceof PipeNet) PipeNet.trackingInstances.add((PipeNet) x); }); - fill = (int) PipeNet.fairTransfer(con, type, fill); + fill = (int) PipeNet.fairTransfer(con, type, pressure, fill); } //resubscribe to buffered nets, if necessary 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 91174eb4a..391f5fe43 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -107,7 +107,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements age = 0; this.sendingBrake = true; - tank.setFill(TileEntityBarrel.transmitFluidFairly(worldObj, tank.getTankType(), this, tank.getFill(), this.mode == 0 || this.mode == 1, this.mode == 1 || this.mode == 2, getConPos())); + 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; if((mode == 1 || mode == 2) && (age == 9 || age == 19)) @@ -359,18 +359,20 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements } @Override - public long transferFluid(FluidType type, long fluid) { - long toTransfer = Math.min(getDemand(type), fluid); + public long transferFluid(FluidType type, int pressure, long fluid) { + long toTransfer = Math.min(getDemand(type, pressure), fluid); tank.setFill(tank.getFill() + (int) toTransfer); return fluid - toTransfer; } @Override - public long getDemand(FluidType type) { + public long getDemand(FluidType type, int pressure) { if(this.mode == 2 || this.mode == 3 || this.sendingBrake) return 0; + if(tank.getPressure() != pressure) return 0; + return type == tank.getTankType() ? tank.getMaxFill() - tank.getFill() : 0; } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java b/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java index 71e0c0104..c238da297 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPipeBaseNT.java @@ -107,16 +107,16 @@ public class TileEntityPipeBaseNT extends TileEntity implements IFluidConductor } @Override - public long transferFluid(FluidType type, long fluid) { + public long transferFluid(FluidType type, int pressure, long fluid) { if(this.network == null) return fluid; - return this.network.transferFluid(fluid); + return this.network.transferFluid(fluid, pressure); } @Override - public long getDemand(FluidType type) { + public long getDemand(FluidType type, int pressure) { return 0; } diff --git a/src/main/java/com/hbm/wiaj/cannery/Dummies.java b/src/main/java/com/hbm/wiaj/cannery/Dummies.java index adbc22ee6..879a3fd3a 100644 --- a/src/main/java/com/hbm/wiaj/cannery/Dummies.java +++ b/src/main/java/com/hbm/wiaj/cannery/Dummies.java @@ -11,8 +11,8 @@ public class Dummies { public static class JarDummyConnector extends TileEntity implements IEnergyConnector, IFluidConnector { @Override public boolean isLoaded() { return false; } - @Override public long transferFluid(FluidType type, long fluid) { return 0; } - @Override public long getDemand(FluidType type) { return 0; } + @Override public long transferFluid(FluidType type, int pressure, long fluid) { return 0; } + @Override public long getDemand(FluidType type, int pressure) { return 0; } @Override public long transferPower(long power) { return 0; } @Override public long getPower() { return 0; } @Override public long getMaxPower() { return 0; } diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_furnace_combination.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_furnace_combination.png index 3645fbfd5cb8309eabd11e95781fdb756c18118c..9db29bd5f86b9d8ce034e3d1e504cd8bddb86b83 100644 GIT binary patch literal 6931 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 Date: Sun, 14 May 2023 22:29:27 +0200 Subject: [PATCH 087/285] compressor stuff --- src/main/java/com/hbm/blocks/ModBlocks.java | 5 ++- .../hbm/blocks/machine/MachineCompressor.java | 32 +++++++++++++++++++ src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ResourceManager.java | 2 ++ .../render/tileentity/RenderCompressor.java | 27 ++++++++++++++++ .../java/com/hbm/tileentity/TileMappings.java | 1 + .../machine/TileEntityMachineCompressor.java | 21 ++++++++++++ 7 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/hbm/blocks/machine/MachineCompressor.java create mode 100644 src/main/java/com/hbm/render/tileentity/RenderCompressor.java create mode 100644 src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 3605f9a2f..0397a6f6e 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -947,6 +947,7 @@ public class ModBlocks { 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; @@ -2183,8 +2184,9 @@ public class ModBlocks { 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_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"); @@ -3178,6 +3180,7 @@ public class ModBlocks { 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_deaerator, machine_deaerator.getUnlocalizedName()); GameRegistry.registerBlock(machine_waste_drum, machine_waste_drum.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/MachineCompressor.java b/src/main/java/com/hbm/blocks/machine/MachineCompressor.java new file mode 100644 index 000000000..3aa083e0b --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineCompressor.java @@ -0,0 +1,32 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.machine.TileEntityMachineCompressor; + +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class MachineCompressor extends BlockDummyable { + + public MachineCompressor() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineCompressor(); + + return null; + } + + @Override + public int[] getDimensions() { + return new int[] {2, 0, 1, 2, 1, 1}; + } + + @Override + public int getOffset() { + return 2; + } +} diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 3e3fecd69..64544cadb 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -253,6 +253,7 @@ public class ClientProxy extends ServerProxy { 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(TileEntityMachineRadiolysis.class, new RenderRadiolysis()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityElectrolyser.class, new RenderElectrolyser()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFurnaceIron.class, new RenderFurnaceIron()); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 64c2e280d..23c8c4867 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -76,6 +76,7 @@ public class ResourceManager { public static final IModelCustom catalytic_reformer = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/catalytic_reformer.obj")); public static final IModelCustom liquefactor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/liquefactor.obj")); public static final IModelCustom solidifier = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/solidifier.obj")); + public static final IModelCustom compressor = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/compressor.obj")); public static final IModelCustom coker = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/coker.obj")); //Flare Stack @@ -402,6 +403,7 @@ public class ResourceManager { public static final ResourceLocation catalytic_reformer_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/catalytic_reformer.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 compressor_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/compressor.png"); public static final ResourceLocation coker_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/coker.png"); //Flare Stack diff --git a/src/main/java/com/hbm/render/tileentity/RenderCompressor.java b/src/main/java/com/hbm/render/tileentity/RenderCompressor.java new file mode 100644 index 000000000..1d6f0a04e --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderCompressor.java @@ -0,0 +1,27 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; + +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.tileentity.TileEntity; + +public class RenderCompressor extends TileEntitySpecialRenderer { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { + 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); + bindTexture(ResourceManager.compressor_tex); + ResourceManager.compressor.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 4426db9ed..3c6465939 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -281,6 +281,7 @@ public class TileMappings { put(TileEntityDeuteriumTower.class, "tileentity_deuterium_tower"); put(TileEntityMachineLiquefactor.class, "tileentity_liquefactor"); put(TileEntityMachineSolidifier.class, "tileentity_solidifier"); + put(TileEntityMachineCompressor.class, "tileentity_compressor"); put(TileEntityElectrolyser.class, "tileentity_electrolyser"); put(TileEntityMachineMixer.class, "tileentity_mixer"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java new file mode 100644 index 000000000..38afcc4fc --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java @@ -0,0 +1,21 @@ +package com.hbm.tileentity.machine; + +import com.hbm.tileentity.TileEntityMachineBase; + +public class TileEntityMachineCompressor extends TileEntityMachineBase { + + public TileEntityMachineCompressor() { + super(0); + } + + @Override + public String getName() { + return null; + } + + @Override + public void updateEntity() { + + } + +} From 5c36e1aa044a488c7330fd0f3d29510d91c71ba2 Mon Sep 17 00:00:00 2001 From: Vaern Date: Sun, 14 May 2023 22:22:45 -0700 Subject: [PATCH 088/285] piston inserter --- src/main/java/com/hbm/blocks/ModBlocks.java | 6 + .../hbm/blocks/machine/PistonInserter.java | 112 +++++- .../pile/BlockGraphiteDrilledBase.java | 111 ++++- src/main/java/com/hbm/main/ClientProxy.java | 2 + .../java/com/hbm/main/ResourceManager.java | 6 + .../tileentity/RenderPistonInserter.java | 65 +++ .../java/com/hbm/tileentity/TileMappings.java | 2 + .../hbm/models/machines/piston_inserter.obj | 379 ++++++++++++++++++ .../models/machines/piston_inserter.png | Bin 0 -> 544 bytes 9 files changed, 673 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/hbm/render/tileentity/RenderPistonInserter.java create mode 100644 src/main/resources/assets/hbm/models/machines/piston_inserter.obj create mode 100644 src/main/resources/assets/hbm/textures/models/machines/piston_inserter.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 3605f9a2f..8d85225ec 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -786,6 +786,8 @@ public class ModBlocks { public static Block crane_splitter; public static Block fan; + + public static Block piston_inserter; public static Block chain; @@ -1912,6 +1914,8 @@ public class ModBlocks { crane_splitter = new CraneSplitter().setBlockName("crane_splitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":crane_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"); + 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"); @@ -3120,6 +3124,8 @@ public class ModBlocks { GameRegistry.registerBlock(crane_splitter, crane_splitter.getUnlocalizedName()); GameRegistry.registerBlock(fan, fan.getUnlocalizedName()); + GameRegistry.registerBlock(piston_inserter, piston_inserter.getUnlocalizedName()); + GameRegistry.registerBlock(chain, chain.getUnlocalizedName()); GameRegistry.registerBlock(ladder_sturdy, ladder_sturdy.getUnlocalizedName()); GameRegistry.registerBlock(ladder_iron, ladder_iron.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/PistonInserter.java b/src/main/java/com/hbm/blocks/machine/PistonInserter.java index f7093a8f7..99b284104 100644 --- a/src/main/java/com/hbm/blocks/machine/PistonInserter.java +++ b/src/main/java/com/hbm/blocks/machine/PistonInserter.java @@ -5,12 +5,16 @@ import com.hbm.tileentity.INBTPacketReceiver; import api.hbm.block.IInsertable; import net.minecraft.block.Block; +import net.minecraft.block.BlockPistonBase; 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.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -37,12 +41,13 @@ public class PistonInserter extends BlockContainerBase { if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ).isNormalCube()) return; //no obstructions allowed! - if(checkRedstone(world, x, y, z)) { //if necessary, add lastState (if block updates are too unreliable). - TileEntityPistonInserter piston = (TileEntityPistonInserter)world.getTileEntity(x, y, z); - - if(piston.extend <= 0) - piston.isRetracting = false; - } + 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; } } @@ -55,6 +60,69 @@ public class PistonInserter extends BlockContainerBase { 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.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; + } else if(player.isSneaking()) { + if(!world.isRemote) { + TileEntityPistonInserter piston = (TileEntityPistonInserter)world.getTileEntity(x, y, z); + + if(piston.slot != null) { + 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; + } + + 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) { + return world.getBlockMetadata(x, y, z) != side.ordinal(); + } + + @Override + public int getRenderType(){ + return -1; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + // $%&#$& // %$&&@$%%#% //______ $%@--$@@%&$%$ @@ -94,10 +162,11 @@ public class PistonInserter extends BlockContainerBase { public int extend; public static final int maxExtend = 25; - public boolean isRetracting; + public boolean isRetracting = true; public int delay; - private int lastState; + //prevents funkies from happening with block updates or loading into a server + private boolean lastState; public TileEntityPistonInserter() { } @@ -157,6 +226,33 @@ public class PistonInserter extends BlockContainerBase { this.slot = null; } + /* :3 NBT stuff */ + + @Override + public void writeToNBT(NBTTagCompound nbt) { + nbt.setInteger("extend", extend); + nbt.setBoolean("retract", isRetracting); + nbt.setBoolean("state", lastState); //saved so loading into a world doesn't cause issues + if(this.slot != null) { + NBTTagCompound stack = new NBTTagCompound(); + slot.writeToNBT(stack); + nbt.setTag("stack", stack); + } + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + this.extend = nbt.getInteger("extend"); + this.isRetracting = nbt.getBoolean("retract"); + this.lastState = nbt.getBoolean("state"); + if(nbt.hasKey("stack")) { + NBTTagCompound stack = nbt.getCompoundTag("stack"); + this.slot = ItemStack.loadItemStackFromNBT(stack); + } else { + this.slot = null; + } + } + /* BS inventory stuff */ @Override public int getSizeInventory() { return 1; } diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java index 909620e26..8e45d7aec 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java @@ -5,9 +5,11 @@ import java.util.Random; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockFlammable; +import com.hbm.inventory.RecipesCommon.MetaBlock; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; +import api.hbm.block.IInsertable; import api.hbm.block.IToolable; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -17,11 +19,13 @@ 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.world.World; import net.minecraftforge.common.util.ForgeDirection; -public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements IToolable { +public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements IToolable, IInsertable { @SideOnly(Side.CLIENT) protected IIcon sideIcon; @@ -89,7 +93,7 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements if(side == cfg * 2 || side == cfg * 2 + 1) { world.setBlock(x, y, z, ModBlocks.block_graphite_drilled, meta & 7, 3); - this.ejectItem(world, x, y, z, ForgeDirection.getOrientation(side), new ItemStack(getInsertedItem())); + this.ejectItem(world, x, y, z, ForgeDirection.getOrientation(side), new ItemStack(getInsertedItem(meta))); } } @@ -115,4 +119,107 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements drops.add(new ItemStack(getInsertedItem(meta), 1)); return drops; } + + //Checks the relationship between specific items and placement. + //kinda cringe but anything other than hardcoding would be overengineering this for no reason so + //all of this is destined to be changed most likely anyway + protected MetaBlock checkInteractions(ItemStack stack) { + Item item = stack.getItem(); //temp + if(item == ModItems.pile_rod_uranium) return new MetaBlock(ModBlocks.block_graphite_fuel); + if(item == ModItems.pile_rod_pu239) return new MetaBlock(ModBlocks.block_graphite_fuel, 0b1000); + if(item == ModItems.pile_rod_plutonium) return new MetaBlock(ModBlocks.block_graphite_plutonium); + if(item == ModItems.pile_rod_source) return new MetaBlock(ModBlocks.block_graphite_source); + if(item == ModItems.pile_rod_boron) return new MetaBlock(ModBlocks.block_graphite_rod); + if(item == ModItems.pile_rod_lithium) return new MetaBlock(ModBlocks.block_graphite_lithium); + if(item == ModItems.cell_tritium) return new MetaBlock(ModBlocks.block_graphite_tritium); + if(item == ModItems.pile_rod_detector) return new MetaBlock(ModBlocks.block_graphite_detector); + return null; + } + + @Override + public boolean insertItem(World world, int x, int y, int z, ForgeDirection dir, ItemStack stack) { + + if(stack == null) return false; + + MetaBlock baseBlock = checkInteractions(stack); + if(baseBlock == null) return false; + + final int side = dir.ordinal(); + final int baseMeta = world.getBlockMetadata(x, y, z); + final int pureMeta = baseMeta & 3; //in case it's shrouded in aluminum + + if(side == pureMeta * 2 || side == pureMeta * 2 + 1) { + //first, make sure we can even push rods out + for(int i = 0; i <= 3; i++) { //limited to 3 boyos + int ix = x + dir.offsetX * i; + int iy = y + dir.offsetY * i; + int iz = z + dir.offsetZ * i; + + Block b = world.getBlock(ix, iy, iz); + + if(b instanceof BlockGraphiteDrilledBase) { + if((world.getBlockMetadata(ix, iy, iz) & 3) != pureMeta) //wrong orientation + return false; + + if(((BlockGraphiteDrilledBase)b).getInsertedItem() == null) //if there's nothing to push + break; + else if(i >= 4) //if there is stuff to push and we reach our limit + return false; + } else { + if(b.isNormalCube()) //obstructions + return false; + else //empty space? no need to search + break; + } + } + + //TODO convert old methods to use itemstack for flexibility + int oldMeta = baseMeta | baseBlock.meta; //metablocks are kinda inconvenient to work with so + Block oldBlock = baseBlock.block; + NBTTagCompound oldTag = new NBTTagCompound(); //In case of TEs + + //now actually make the change + for(int i = 0; i <= 3; i++) { //yeah yeah we know it's safe but let's be *extra cautious* of infinite loops + int ix = x + dir.offsetX * i; + int iy = y + dir.offsetY * i; + int iz = z + dir.offsetZ * i; + + Block newBlock = world.getBlock(ix, iy, iz); + + if(newBlock instanceof BlockGraphiteDrilledBase) { + int newMeta = world.getBlockMetadata(ix, iy, iz); + NBTTagCompound newTag = new NBTTagCompound(); + + if(newBlock instanceof BlockGraphiteDrilledTE) { + TileEntity te = world.getTileEntity(ix, iy, iz); + te.writeToNBT(newTag); + } + + world.setBlock(ix, iy, iz, oldBlock, (oldMeta & ~0b100) | (newMeta & 0b100), 2); + + if(oldBlock instanceof BlockGraphiteDrilledTE && !oldTag.hasNoTags()) { //safety first + TileEntity te = world.getTileEntity(ix, iy, iz); + te.readFromNBT(oldTag); + } + + oldMeta = newMeta; + oldBlock = newBlock; + oldTag = newTag; + + if(oldBlock instanceof BlockGraphiteDrilled) //if there's no need to eject an item + break; + } else { + Item eject = ((BlockGraphiteDrilledBase) oldBlock).getInsertedItem(oldMeta); //TODO old methods to itemstack + this.ejectItem(world, ix - dir.offsetX, iy - dir.offsetY, iz - dir.offsetZ, dir, new ItemStack(eject)); + world.playSoundEffect(ix + 0.5, iy + 0.5, iz + 0.5, "hbm:item.upgradePlug", 1.0F, 1.0F); + + break; + } + } + + return true; + } + + return false; + } } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 3e3fecd69..713923269 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -48,6 +48,7 @@ import com.hbm.blocks.generic.BlockEmitter.TileEntityEmitter; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; import com.hbm.blocks.machine.MachineFan.TileEntityFan; +import com.hbm.blocks.machine.PistonInserter.TileEntityPistonInserter; import com.hbm.blocks.machine.WatzPump.TileEntityWatzPump; import com.hbm.entity.cart.*; import com.hbm.entity.effect.*; @@ -278,6 +279,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCatalyticReformer.class, new RenderCatalyticReformer()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCoker.class, new RenderCoker()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFan.class, new RenderFan()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPistonInserter.class, new RenderPistonInserter()); //Foundry ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryBasin.class, new RenderFoundry()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFoundryMold.class, new RenderFoundry()); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 64c2e280d..83c518d86 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -191,6 +191,9 @@ public class ResourceManager { //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")); @@ -538,6 +541,9 @@ public class ResourceManager { //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"); diff --git a/src/main/java/com/hbm/render/tileentity/RenderPistonInserter.java b/src/main/java/com/hbm/render/tileentity/RenderPistonInserter.java new file mode 100644 index 000000000..f75aa3857 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderPistonInserter.java @@ -0,0 +1,65 @@ +package com.hbm.render.tileentity; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.machine.PistonInserter.TileEntityPistonInserter; +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 RenderPistonInserter 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 + 0.5, z + 0.5); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glEnable(GL11.GL_CULL_FACE); + + switch(tile.getBlockMetadata()) { + case 0: GL11.glRotatef(180, 1F, 0F, 0F); break; + case 1: break; + case 2: GL11.glRotatef(-90, 1F, 0F, 0F); break; + case 4: GL11.glRotatef(90, 0F, 0F, 1F); break; + case 3: GL11.glRotatef(90, 1F, 0F, 0F); break; + case 5: GL11.glRotatef(-90, 0F, 0F, 1F); break; + } + + GL11.glTranslated(0D, -0.5, 0D); + + bindTexture(ResourceManager.piston_inserter_tex); + ResourceManager.piston_inserter.renderPart("Frame"); + + TileEntityPistonInserter piston = (TileEntityPistonInserter)tile; + double e = piston.extend / (double)piston.maxExtend; + GL11.glTranslated(0, -e, 0); + ResourceManager.piston_inserter.renderPart("Piston"); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.piston_inserter); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -2.5, 0); + double scale = 5; + GL11.glScaled(scale, scale, scale); + } + public void renderCommon() { + GL11.glScaled(2, 2, 2); + bindTexture(ResourceManager.piston_inserter_tex); + ResourceManager.piston_inserter.renderAll(); + }}; + } +} diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 4426db9ed..9f1b24737 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -13,6 +13,7 @@ import com.hbm.blocks.generic.BlockMotherOfAllOres.TileEntityRandomOre; import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; import com.hbm.blocks.generic.PartEmitter.TileEntityPartEmitter; 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.BlockCablePaintable.TileEntityCablePaintable; import com.hbm.blocks.network.CableDiode.TileEntityDiode; @@ -360,6 +361,7 @@ public class TileMappings { put(TileEntityCraneRouter.class, "tileentity_router"); put(TileEntityCraneSplitter.class, "tileentity_splitter"); put(TileEntityFan.class, "tileentity_fan"); + put(TileEntityPistonInserter.class, "tileentity_piston_inserter"); put(TileEntityRadioTorchSender.class, "tileentity_rtty_sender"); put(TileEntityRadioTorchReceiver.class, "tileentity_rtty_rec"); diff --git a/src/main/resources/assets/hbm/models/machines/piston_inserter.obj b/src/main/resources/assets/hbm/models/machines/piston_inserter.obj new file mode 100644 index 000000000..8d78694b6 --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/piston_inserter.obj @@ -0,0 +1,379 @@ +# Blender v3.2.0 OBJ File: 'piston_inserter.blend' +# www.blender.org +mtllib piston_inserter.mtl +o Frame +v -0.125000 0.000000 0.125000 +v -0.125000 1.000000 0.125000 +v -0.125000 0.000000 -0.125000 +v -0.125000 1.000000 -0.125000 +v 0.125000 0.000000 0.125000 +v 0.125000 1.000000 0.125000 +v 0.125000 0.000000 -0.125000 +v 0.125000 1.000000 -0.125000 +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 -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.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.375000 0.000000 -0.375000 +v -0.375000 0.000000 0.375000 +v 0.375000 0.000000 -0.375000 +v 0.375000 0.000000 0.375000 +v 0.312500 0.937500 0.375000 +v 0.375000 0.937500 0.375000 +v 0.125000 0.937500 0.125000 +v 0.375000 0.937500 0.312500 +v 0.004327 0.858644 -0.020544 +v 0.062500 0.937500 0.125000 +v 0.125000 0.937500 0.062500 +v -0.312500 0.937500 -0.375000 +v -0.375000 0.937500 -0.375000 +v -0.125000 0.937500 -0.125000 +v -0.375000 0.937500 -0.312500 +v -0.062500 0.937500 -0.125000 +v -0.125000 0.937500 -0.062500 +v 0.375000 0.937500 -0.312500 +v 0.375000 0.937500 -0.375000 +v 0.125000 0.937500 -0.125000 +v 0.312500 0.937500 -0.375000 +v 0.125000 0.937500 -0.062500 +v 0.062500 0.937500 -0.125000 +v -0.375000 0.937500 0.312500 +v -0.375000 0.937500 0.375000 +v -0.125000 0.937500 0.125000 +v -0.312500 0.937500 0.375000 +v -0.125000 0.937500 0.062500 +v -0.062500 0.937500 0.125000 +v 0.312500 0.062500 0.375000 +v 0.375000 0.062500 0.375000 +v 0.125000 0.062500 0.125000 +v 0.375000 0.062500 0.312500 +v 0.062500 0.062500 0.125000 +v 0.125000 0.062500 0.062500 +v -0.312500 0.062500 -0.375000 +v -0.375000 0.062500 -0.375000 +v -0.125000 0.062500 -0.125000 +v -0.375000 0.062500 -0.312500 +v -0.062500 0.062500 -0.125000 +v -0.125000 0.062500 -0.062500 +v 0.375000 0.062500 -0.312500 +v 0.375000 0.062500 -0.375000 +v 0.125000 0.062500 -0.125000 +v 0.312500 0.062500 -0.375000 +v 0.125000 0.062500 -0.062500 +v 0.062500 0.062500 -0.125000 +v -0.375000 0.062500 0.312500 +v -0.375000 0.062500 0.375000 +v -0.125000 0.062500 0.125000 +v -0.312500 0.062500 0.375000 +v -0.125000 0.062500 0.062500 +v -0.062500 0.062500 0.125000 +vt 0.571429 0.666667 +vt 0.000000 0.333333 +vt 0.571429 0.333333 +vt 0.571429 0.666667 +vt -0.000000 0.333333 +vt 0.571429 0.333333 +vt 0.571429 0.666667 +vt -0.000000 0.333333 +vt 0.571429 0.333333 +vt 0.571429 0.666667 +vt -0.000000 0.333333 +vt 0.571429 0.333333 +vt 0.714286 0.416667 +vt 0.571429 0.333333 +vt 0.714286 0.333333 +vt 0.714286 0.750000 +vt 0.571429 0.833333 +vt 0.571429 0.750000 +vt 0.071429 0.708333 +vt 0.500000 0.708333 +vt 0.071429 0.958333 +vt 0.000000 0.666667 +vt 0.500000 0.958333 +vt 0.000000 1.000000 +vt 0.571429 1.000000 +vt 0.500000 0.041667 +vt 0.500000 0.291667 +vt 0.071429 0.291667 +vt 0.000000 0.000000 +vt 0.071429 0.041667 +vt 0.571429 0.000000 +vt 0.714286 0.416667 +vt 0.571429 0.750000 +vt 0.571429 0.416667 +vt 0.714286 0.416667 +vt 0.571429 0.750000 +vt 0.571429 0.416667 +vt 0.714286 0.416667 +vt 0.571429 0.750000 +vt 0.571429 0.416667 +vt 0.714286 0.416667 +vt 0.571429 0.750000 +vt 0.571429 0.416667 +vt 0.571429 -0.000000 +vt 1.000000 0.333333 +vt 0.571429 0.333333 +vt 0.571429 0.000000 +vt 1.000000 0.333333 +vt 0.571429 0.333333 +vt 0.571429 0.000000 +vt 1.000000 0.333333 +vt 0.571429 0.333333 +vt 0.571429 0.000000 +vt 1.000000 0.333333 +vt 0.571429 0.333333 +vt 0.214286 0.125000 +vt 0.071429 0.062500 +vt 0.107143 0.041667 +vt 0.357143 0.208333 +vt 0.500000 0.270833 +vt 0.464286 0.291667 +vt 0.214286 0.208333 +vt 0.107143 0.291667 +vt 0.071429 0.270833 +vt 0.357143 0.125000 +vt 0.464286 0.041667 +vt 0.500000 0.062500 +vt 0.214286 0.125000 +vt 0.071429 0.062500 +vt 0.107143 0.041667 +vt 0.357143 0.208333 +vt 0.500000 0.270833 +vt 0.464286 0.291667 +vt 0.214286 0.208333 +vt 0.107143 0.291667 +vt 0.071429 0.270833 +vt 0.357143 0.125000 +vt 0.464286 0.041667 +vt 0.500000 0.062500 +vt -0.000000 0.666667 +vt 0.000000 0.666667 +vt 0.000000 0.666667 +vt 0.571429 0.416667 +vt 0.714286 0.833333 +vt 0.714286 0.750000 +vt 0.714286 0.750000 +vt 0.714286 0.750000 +vt 0.714286 0.750000 +vt 1.000000 -0.000000 +vt 1.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 -0.000000 +vt 0.250000 0.125000 +vt 0.214286 0.145833 +vt 0.071429 0.041667 +vt 0.321429 0.208333 +vt 0.357143 0.187500 +vt 0.500000 0.291667 +vt 0.214286 0.187500 +vt 0.250000 0.208333 +vt 0.071429 0.291667 +vt 0.357143 0.145833 +vt 0.321429 0.125000 +vt 0.500000 0.041667 +vt 0.250000 0.125000 +vt 0.214286 0.145833 +vt 0.071429 0.041667 +vt 0.321429 0.208333 +vt 0.357143 0.187500 +vt 0.500000 0.291667 +vt 0.214286 0.187500 +vt 0.250000 0.208333 +vt 0.071429 0.291667 +vt 0.357143 0.145833 +vt 0.321429 0.125000 +vt 0.500000 0.041667 +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 +usemtl None +s off +f 9/1/1 13/2/1 14/3/1 +f 10/4/2 15/5/2 13/6/2 +f 11/7/3 16/8/3 15/9/3 +f 12/10/4 14/11/4 16/12/4 +f 7/13/5 1/14/5 3/15/5 +f 4/16/6 6/17/6 8/18/6 +f 18/19/6 9/1/6 17/20/6 +f 19/21/6 10/22/6 18/19/6 +f 20/23/6 11/24/6 19/21/6 +f 17/20/6 12/25/6 20/23/6 +f 22/26/5 13/6/5 21/27/5 +f 21/27/5 15/5/5 23/28/5 +f 23/28/5 16/29/5 24/30/5 +f 24/30/5 14/31/5 22/26/5 +f 8/32/2 3/33/2 4/34/2 +f 6/35/3 7/36/3 8/37/3 +f 2/38/4 5/39/4 6/40/4 +f 4/41/1 1/42/1 2/43/1 +f 23/44/1 20/45/1 19/46/1 +f 24/47/2 17/48/2 20/49/2 +f 22/50/3 18/51/3 17/52/3 +f 21/53/4 19/54/4 18/55/4 +f 27/56/5 28/57/5 25/58/5 +f 34/59/5 35/60/5 32/61/5 +f 40/62/5 41/63/5 38/64/5 +f 46/65/5 47/66/5 44/67/5 +f 52/68/5 53/69/5 50/70/5 +f 58/71/5 59/72/5 56/73/5 +f 64/74/5 65/75/5 62/76/5 +f 70/77/5 71/78/5 68/79/5 +f 9/1/1 10/22/1 13/2/1 +f 10/4/2 11/80/2 15/5/2 +f 11/7/3 12/81/3 16/8/3 +f 12/10/4 9/82/4 14/11/4 +f 7/13/5 5/83/5 1/14/5 +f 4/16/6 2/84/6 6/17/6 +f 18/19/6 10/22/6 9/1/6 +f 19/21/6 11/24/6 10/22/6 +f 20/23/6 12/25/6 11/24/6 +f 17/20/6 9/1/6 12/25/6 +f 22/26/5 14/31/5 13/6/5 +f 21/27/5 13/6/5 15/5/5 +f 23/28/5 15/5/5 16/29/5 +f 24/30/5 16/29/5 14/31/5 +f 8/32/2 7/85/2 3/33/2 +f 6/35/3 5/86/3 7/36/3 +f 2/38/4 1/87/4 5/39/4 +f 4/41/1 3/88/1 1/42/1 +f 23/44/1 24/89/1 20/45/1 +f 24/47/2 22/90/2 17/48/2 +f 22/50/3 21/91/3 18/51/3 +f 21/53/4 23/92/4 19/54/4 +f 25/58/5 30/93/5 27/56/5 +f 27/56/5 31/94/5 28/57/5 +f 28/57/5 26/95/5 25/58/5 +f 32/61/5 36/96/5 34/59/5 +f 34/59/5 37/97/5 35/60/5 +f 35/60/5 33/98/5 32/61/5 +f 38/64/5 42/99/5 40/62/5 +f 40/62/5 43/100/5 41/63/5 +f 41/63/5 39/101/5 38/64/5 +f 44/67/5 48/102/5 46/65/5 +f 46/65/5 49/103/5 47/66/5 +f 47/66/5 45/104/5 44/67/5 +f 50/70/5 54/105/5 52/68/5 +f 52/68/5 55/106/5 53/69/5 +f 53/69/5 51/107/5 50/70/5 +f 56/73/5 60/108/5 58/71/5 +f 58/71/5 61/109/5 59/72/5 +f 59/72/5 57/110/5 56/73/5 +f 62/76/5 66/111/5 64/74/5 +f 64/74/5 67/112/5 65/75/5 +f 65/75/5 63/113/5 62/76/5 +f 68/79/5 72/114/5 70/77/5 +f 70/77/5 73/115/5 71/78/5 +f 71/78/5 69/116/5 68/79/5 +l 27 29 +o Piston +v -0.062500 1.000000 0.062500 +v -0.125000 1.062500 0.125000 +v -0.062500 1.000000 -0.062500 +v -0.125000 1.062500 -0.125000 +v 0.062500 1.000000 0.062500 +v 0.125000 1.062500 0.125000 +v 0.062500 1.000000 -0.062500 +v 0.125000 1.062500 -0.125000 +v -0.125000 1.000000 -0.125000 +v -0.125000 1.000000 0.125000 +v 0.125000 1.000000 -0.125000 +v 0.125000 1.000000 0.125000 +v -0.062500 0.062500 -0.062500 +v -0.062500 0.062500 0.062500 +v 0.062500 0.062500 -0.062500 +v 0.062500 0.062500 0.062500 +vt 0.857143 0.708333 +vt 0.714286 0.687500 +vt 0.857143 0.687500 +vt 0.857143 0.708333 +vt 0.714286 0.687500 +vt 0.857143 0.687500 +vt 0.857143 0.708333 +vt 0.714286 0.687500 +vt 0.857143 0.687500 +vt 0.857143 0.708333 +vt 0.714286 0.687500 +vt 0.857143 0.687500 +vt 0.821429 0.375000 +vt 0.750000 0.687500 +vt 0.750000 0.375000 +vt 0.857143 0.791667 +vt 0.714286 0.875000 +vt 0.714286 0.791667 +vt 0.821429 0.770833 +vt 0.714286 0.791667 +vt 0.750000 0.770833 +vt 0.714286 0.708333 +vt 0.750000 0.729167 +vt 0.857143 0.708333 +vt 0.821429 0.729167 +vt 0.857143 0.791667 +vt 0.821429 0.333333 +vt 0.750000 0.375000 +vt 0.750000 0.333333 +vt 0.821429 0.375000 +vt 0.750000 0.687500 +vt 0.750000 0.375000 +vt 0.821429 0.375000 +vt 0.750000 0.687500 +vt 0.750000 0.375000 +vt 0.821429 0.375000 +vt 0.750000 0.687500 +vt 0.750000 0.375000 +vt 0.714286 0.708333 +vt 0.714286 0.708333 +vt 0.714286 0.708333 +vt 0.714286 0.708333 +vt 0.821429 0.687500 +vt 0.857143 0.875000 +vt 0.821429 0.375000 +vt 0.821429 0.687500 +vt 0.821429 0.687500 +vt 0.821429 0.687500 +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 +usemtl None +s off +f 75/117/7 82/118/7 83/119/7 +f 77/120/8 84/121/8 82/122/8 +f 81/123/9 85/124/9 84/125/9 +f 79/126/10 83/127/10 85/128/10 +f 78/129/9 88/130/9 80/131/9 +f 77/132/11 79/133/11 81/134/11 +f 74/135/12 82/136/12 76/137/12 +f 76/137/12 84/138/12 80/139/12 +f 80/139/12 85/140/12 78/141/12 +f 78/141/12 83/142/12 74/135/12 +f 88/143/12 87/144/12 86/145/12 +f 76/146/7 87/147/7 74/148/7 +f 74/149/10 89/150/10 78/151/10 +f 80/152/8 86/153/8 76/154/8 +f 75/117/7 77/155/7 82/118/7 +f 77/120/8 81/156/8 84/121/8 +f 81/123/9 79/157/9 85/124/9 +f 79/126/10 75/158/10 83/127/10 +f 78/129/9 89/159/9 88/130/9 +f 77/132/11 75/160/11 79/133/11 +f 74/135/12 83/142/12 82/136/12 +f 76/137/12 82/136/12 84/138/12 +f 80/139/12 84/138/12 85/140/12 +f 78/141/12 85/140/12 83/142/12 +f 88/143/12 89/161/12 87/144/12 +f 76/146/7 86/162/7 87/147/7 +f 74/149/10 87/163/10 89/150/10 +f 80/152/8 88/164/8 86/153/8 diff --git a/src/main/resources/assets/hbm/textures/models/machines/piston_inserter.png b/src/main/resources/assets/hbm/textures/models/machines/piston_inserter.png new file mode 100644 index 0000000000000000000000000000000000000000..86e8b0b8a4b3f7018233bfba22f9e72e432f55c8 GIT binary patch literal 544 zcmeAS@N?(olHy`uVBq!ia0vp^GC*v=!3-o#_r7`!q!^2X+?^QKos)S9y9W4#xEdH3I5;?Xcz8raMELmlXlQ6GSg>I8=FL~HUOjf~*tKid8kLk5 zXlWfYF}Z4PejzGqv%daOW8;HiVMmW1m6MZ`l#~RT#J+tpJCG7D3Gxg6j}q~1x*3Op^0tseF3zPwjqRs#5ky=^x9Ui~SJ? zBH3$u9-650N*5%avl136;bOg2oD?wUxQF7Zt#f)gu1`7P_h1U|yX9H-(iJ5%(d zpk=QmAG~%y-|*=4?p?bZHU{wQN#0N*KEW~h$BMUpT23vY5t}SST5j#^wBBiJkZve! zDZL^vn1AamR{v)?3$88-`mu7s_SIMJ+L|mZ*}nPwrIif#e@C8QW9nY?PCPEp;%27W S1wCL0GkCiCxvX Date: Mon, 15 May 2023 14:58:30 +0200 Subject: [PATCH 089/285] the malicious gigglefish from the silly dimension --- .../java/com/hbm/blocks/BlockEnumMulti.java | 6 +- .../hbm/blocks/generic/BlockBiomeStone.java | 8 +- .../hbm/blocks/generic/BlockTallPlant.java | 5 +- .../hbm/blocks/machine/DeuteriumTower.java | 3 +- .../hbm/blocks/machine/MachineAutosaw.java | 3 +- .../machine/MachineCatalyticCracker.java | 5 +- .../hbm/blocks/machine/MachineCondenser.java | 3 +- .../machine/MachineDeuteriumExtractor.java | 3 +- .../blocks/machine/MachineFractionTower.java | 5 +- .../hbm/blocks/machine/MachineHeatBoiler.java | 3 +- .../hbm/blocks/machine/MachineHephaestus.java | 3 +- .../hbm/blocks/machine/MachineTowerLarge.java | 3 +- .../hbm/blocks/machine/MachineTowerSmall.java | 3 +- .../hbm/blocks/machine/MachineTurbineGas.java | 9 +- .../java/com/hbm/config/PotionConfig.java | 6 +- .../com/hbm/entity/train/TrainCargoTram.java | 150 ++++++++++++++---- .../com/hbm/inventory/fluid/FluidType.java | 7 +- .../java/com/hbm/inventory/gui/GUIAnvil.java | 9 +- .../java/com/hbm/inventory/gui/GUIHadron.java | 5 +- .../com/hbm/inventory/gui/GUIRBMKConsole.java | 3 +- .../com/hbm/inventory/gui/GUIScreenFluid.java | 5 +- .../gui/GUIScreenTemplateFolder.java | 7 +- .../hbm/inventory/material/NTMMaterial.java | 3 +- .../recipes/GasCentrifugeRecipes.java | 3 +- .../hbm/inventory/recipes/PressRecipes.java | 3 +- .../java/com/hbm/items/ItemEnumMulti.java | 5 +- src/main/java/com/hbm/items/ModItems.java | 3 + .../java/com/hbm/items/food/ItemConserve.java | 5 +- .../java/com/hbm/items/food/ItemCrayon.java | 3 +- .../java/com/hbm/items/food/ItemFlask.java | 4 +- .../com/hbm/items/machine/ItemDrillbit.java | 5 +- .../com/hbm/items/machine/ItemPistons.java | 5 +- .../com/hbm/items/machine/ItemZirnoxRod.java | 5 +- .../com/hbm/items/special/ItemBedrockOre.java | 5 +- .../java/com/hbm/items/special/ItemTrain.java | 55 +++++++ .../com/hbm/items/tool/ItemModMinecart.java | 7 +- .../com/hbm/items/tool/ItemToolAbility.java | 3 +- .../java/com/hbm/items/weapon/ItemAmmo.java | 3 +- .../java/com/hbm/main/ModEventHandler.java | 3 +- .../com/hbm/main/ModEventHandlerClient.java | 3 +- .../machine/rbmk/TileEntityRBMKConsole.java | 3 +- src/main/java/com/hbm/util/ArmorUtil.java | 3 +- .../textures/gui/vehicles/gui_cargo_tram.png | Bin 0 -> 2096 bytes .../hbm/textures/items/train.cargo_tram.png | Bin 0 -> 218 bytes 44 files changed, 285 insertions(+), 98 deletions(-) create mode 100644 src/main/java/com/hbm/items/special/ItemTrain.java create mode 100644 src/main/resources/assets/hbm/textures/gui/vehicles/gui_cargo_tram.png create mode 100644 src/main/resources/assets/hbm/textures/items/train.cargo_tram.png diff --git a/src/main/java/com/hbm/blocks/BlockEnumMulti.java b/src/main/java/com/hbm/blocks/BlockEnumMulti.java index 5ee6e4660..d581bfd2d 100644 --- a/src/main/java/com/hbm/blocks/BlockEnumMulti.java +++ b/src/main/java/com/hbm/blocks/BlockEnumMulti.java @@ -1,5 +1,7 @@ package com.hbm.blocks; +import java.util.Locale; + import com.hbm.util.EnumUtil; import cpw.mods.fml.relauncher.Side; @@ -34,7 +36,7 @@ public class BlockEnumMulti extends BlockMulti { for(int i = 0; i < icons.length; i++) { Enum num = enums[i]; - this.icons[i] = reg.registerIcon(this.getTextureName() + "." + num.name().toLowerCase()); + this.icons[i] = reg.registerIcon(this.getTextureName() + "." + num.name().toLowerCase(Locale.US)); } } else { this.blockIcon = reg.registerIcon(this.getTextureName()); @@ -45,7 +47,7 @@ public class BlockEnumMulti extends BlockMulti { if(this.multiName) { Enum num = EnumUtil.grabEnumSafely(this.theEnum, stack.getItemDamage()); - return super.getUnlocalizedName() + "." + num.name().toLowerCase(); + return super.getUnlocalizedName() + "." + num.name().toLowerCase(Locale.US); } return this.getUnlocalizedName(); diff --git a/src/main/java/com/hbm/blocks/generic/BlockBiomeStone.java b/src/main/java/com/hbm/blocks/generic/BlockBiomeStone.java index a53cce92d..157270048 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockBiomeStone.java +++ b/src/main/java/com/hbm/blocks/generic/BlockBiomeStone.java @@ -1,5 +1,7 @@ package com.hbm.blocks.generic; +import java.util.Locale; + import com.hbm.blocks.BlockEnumMulti; import com.hbm.blocks.BlockEnums.EnumBiomeType; @@ -30,9 +32,9 @@ public class BlockBiomeStone extends BlockEnumMulti { for(int i = 0; i < icons.length; i++) { Enum num = enums[i]; - this.icons[i] = reg.registerIcon(this.getTextureName() + "." + num.name().toLowerCase()); - this.iconsTop[i] = reg.registerIcon(this.getTextureName() + "_top." + num.name().toLowerCase()); - this.iconsLayer[i] = reg.registerIcon(this.getTextureName() + "_layer." + num.name().toLowerCase()); + this.icons[i] = reg.registerIcon(this.getTextureName() + "." + num.name().toLowerCase(Locale.US)); + this.iconsTop[i] = reg.registerIcon(this.getTextureName() + "_top." + num.name().toLowerCase(Locale.US)); + this.iconsLayer[i] = reg.registerIcon(this.getTextureName() + "_layer." + num.name().toLowerCase(Locale.US)); } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java b/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java index 60ef35c47..4a972a3e7 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java +++ b/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java @@ -1,6 +1,7 @@ package com.hbm.blocks.generic; import java.util.ArrayList; +import java.util.Locale; import java.util.Random; import com.hbm.blocks.BlockEnumMulti; @@ -87,8 +88,8 @@ public class BlockTallPlant extends BlockEnumMulti implements IPlantable, IGrowa for(int i = 0; i < icons.length; i++) { Enum num = enums[i]; - this.icons[i] = reg.registerIcon(this.getTextureName() + "." + num.name().toLowerCase() + ".upper"); - this.bottomIcons[i] = reg.registerIcon(this.getTextureName() + "." + num.name().toLowerCase() + ".lower"); + this.icons[i] = reg.registerIcon(this.getTextureName() + "." + num.name().toLowerCase(Locale.US) + ".upper"); + this.bottomIcons[i] = reg.registerIcon(this.getTextureName() + "." + num.name().toLowerCase(Locale.US) + ".lower"); } } diff --git a/src/main/java/com/hbm/blocks/machine/DeuteriumTower.java b/src/main/java/com/hbm/blocks/machine/DeuteriumTower.java index e3e706707..b7530f2d2 100644 --- a/src/main/java/com/hbm/blocks/machine/DeuteriumTower.java +++ b/src/main/java/com/hbm/blocks/machine/DeuteriumTower.java @@ -2,6 +2,7 @@ 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; @@ -77,7 +78,7 @@ public class DeuteriumTower extends BlockDummyable implements ILookOverlay { text.add((tower.power < tower.getMaxPower() / 20 ? EnumChatFormatting.RED : EnumChatFormatting.GREEN) + "Power: " + BobMathUtil.getShortNumber(tower.power) + "HE"); for(int i = 0; i < tower.tanks.length; i++) - text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + tower.tanks[i].getTankType().getName().toLowerCase()) + ": " + tower.tanks[i].getFill() + "/" + tower.tanks[i].getMaxFill() + "mB"); + text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + tower.tanks[i].getTankType().getName().toLowerCase(Locale.US)) + ": " + tower.tanks[i].getFill() + "/" + 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/MachineAutosaw.java b/src/main/java/com/hbm/blocks/machine/MachineAutosaw.java index b2bce040f..fe568c409 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineAutosaw.java +++ b/src/main/java/com/hbm/blocks/machine/MachineAutosaw.java @@ -2,6 +2,7 @@ package com.hbm.blocks.machine; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import com.hbm.blocks.ILookOverlay; import com.hbm.tileentity.machine.TileEntityMachineAutosaw; @@ -50,7 +51,7 @@ public class MachineAutosaw extends BlockContainer implements ILookOverlay { TileEntityMachineAutosaw saw = (TileEntityMachineAutosaw) te; List text = new ArrayList(); - text.add(I18nUtil.resolveKey("hbmfluid." + saw.tank.getTankType().getName().toLowerCase()) + ": " + saw.tank.getFill() + "/" + saw.tank.getMaxFill() + "mB"); + text.add(I18nUtil.resolveKey("hbmfluid." + saw.tank.getTankType().getName().toLowerCase(Locale.US)) + ": " + saw.tank.getFill() + "/" + saw.tank.getMaxFill() + "mB"); ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } diff --git a/src/main/java/com/hbm/blocks/machine/MachineCatalyticCracker.java b/src/main/java/com/hbm/blocks/machine/MachineCatalyticCracker.java index 648f9a3b6..247ee608d 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCatalyticCracker.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCatalyticCracker.java @@ -2,6 +2,7 @@ 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; @@ -70,7 +71,7 @@ public class MachineCatalyticCracker extends BlockDummyable implements ILookOver 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("hbmfluid." + type.getName().toLowerCase())).appendSibling(new ChatComponentText("!"))); + player.addChatComponentMessage(new ChatComponentText("Changed type to ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)).appendSibling(new ChatComponentTranslation("hbmfluid." + type.getName().toLowerCase(Locale.US))).appendSibling(new ChatComponentText("!"))); return true; } @@ -129,7 +130,7 @@ public class MachineCatalyticCracker extends BlockDummyable implements ILookOver List text = new ArrayList(); for(int i = 0; i < cracker.tanks.length; i++) - text.add((i < 2 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + cracker.tanks[i].getTankType().getName().toLowerCase()) + ": " + cracker.tanks[i].getFill() + "/" + cracker.tanks[i].getMaxFill() + "mB"); + text.add((i < 2 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + cracker.tanks[i].getTankType().getName().toLowerCase(Locale.US)) + ": " + 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/MachineCondenser.java b/src/main/java/com/hbm/blocks/machine/MachineCondenser.java index b31340f09..e498acde6 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCondenser.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCondenser.java @@ -2,6 +2,7 @@ package com.hbm.blocks.machine; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import com.hbm.blocks.ILookOverlay; import com.hbm.tileentity.machine.TileEntityCondenser; @@ -38,7 +39,7 @@ public class MachineCondenser extends BlockContainer implements ILookOverlay { List text = new ArrayList(); for(int i = 0; i < condenser.tanks.length; i++) - text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + condenser.tanks[i].getTankType().getName().toLowerCase()) + ": " + condenser.tanks[i].getFill() + "/" + condenser.tanks[i].getMaxFill() + "mB"); + text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + condenser.tanks[i].getTankType().getName().toLowerCase(Locale.US)) + ": " + condenser.tanks[i].getFill() + "/" + condenser.tanks[i].getMaxFill() + "mB"); ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } diff --git a/src/main/java/com/hbm/blocks/machine/MachineDeuteriumExtractor.java b/src/main/java/com/hbm/blocks/machine/MachineDeuteriumExtractor.java index f0d3d2d43..a8e0dc586 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineDeuteriumExtractor.java +++ b/src/main/java/com/hbm/blocks/machine/MachineDeuteriumExtractor.java @@ -2,6 +2,7 @@ package com.hbm.blocks.machine; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import com.hbm.blocks.ILookOverlay; import com.hbm.lib.RefStrings; @@ -66,7 +67,7 @@ public class MachineDeuteriumExtractor extends BlockContainer implements ILookOv 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 + I18nUtil.resolveKey("hbmfluid." + extractor.tanks[i].getTankType().getName().toLowerCase()) + ": " + extractor.tanks[i].getFill() + "/" + extractor.tanks[i].getMaxFill() + "mB"); + text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + extractor.tanks[i].getTankType().getName().toLowerCase(Locale.US)) + ": " + extractor.tanks[i].getFill() + "/" + extractor.tanks[i].getMaxFill() + "mB"); ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } diff --git a/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java b/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java index b8705ead5..af24b1d28 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFractionTower.java @@ -2,6 +2,7 @@ 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; @@ -73,7 +74,7 @@ public class MachineFractionTower extends BlockDummyable implements ILookOverlay FluidType type = ((IItemFluidIdentifier) player.getHeldItem().getItem()).getType(world, pos[0], pos[1], pos[2], player.getHeldItem()); frac.tanks[0].setTankType(type); frac.markDirty(); - player.addChatComponentMessage(new ChatComponentText("Changed type to ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)).appendSibling(new ChatComponentTranslation("hbmfluid." + type.getName().toLowerCase())).appendSibling(new ChatComponentText("!"))); + player.addChatComponentMessage(new ChatComponentText("Changed type to ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)).appendSibling(new ChatComponentTranslation("hbmfluid." + type.getName().toLowerCase(Locale.US))).appendSibling(new ChatComponentText("!"))); } return true; @@ -115,7 +116,7 @@ public class MachineFractionTower extends BlockDummyable implements ILookOverlay List text = new ArrayList(); for(int i = 0; i < cracker.tanks.length; i++) - text.add((i == 0 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + cracker.tanks[i].getTankType().getName().toLowerCase()) + ": " + cracker.tanks[i].getFill() + "/" + cracker.tanks[i].getMaxFill() + "mB"); + text.add((i == 0 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + cracker.tanks[i].getTankType().getName().toLowerCase(Locale.US)) + ": " + 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 4264b777d..a8779573e 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineHeatBoiler.java +++ b/src/main/java/com/hbm/blocks/machine/MachineHeatBoiler.java @@ -2,6 +2,7 @@ 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.IBlockMulti; @@ -68,7 +69,7 @@ public class MachineHeatBoiler extends BlockDummyable implements ILookOverlay, I if(type.hasTrait(FT_Heatable.class) && type.getTrait(FT_Heatable.class).getEfficiency(HeatingType.BOILER) > 0) { boiler.tanks[0].setTankType(type); boiler.markDirty(); - player.addChatComponentMessage(new ChatComponentText("Changed type to ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)).appendSibling(new ChatComponentTranslation("hbmfluid." + type.getName().toLowerCase())).appendSibling(new ChatComponentText("!"))); + player.addChatComponentMessage(new ChatComponentText("Changed type to ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)).appendSibling(new ChatComponentTranslation("hbmfluid." + type.getName().toLowerCase(Locale.US))).appendSibling(new ChatComponentText("!"))); } return true; } diff --git a/src/main/java/com/hbm/blocks/machine/MachineHephaestus.java b/src/main/java/com/hbm/blocks/machine/MachineHephaestus.java index b748e3412..6f31472b9 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineHephaestus.java +++ b/src/main/java/com/hbm/blocks/machine/MachineHephaestus.java @@ -2,6 +2,7 @@ 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; @@ -110,7 +111,7 @@ public class MachineHephaestus extends BlockDummyable implements ILookOverlay { for(int i = 0; i < heatex.getAllTanks().length; i++) { FluidTank tank = heatex.getAllTanks()[i]; - text.add((i == 0 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + tank.getTankType().getName().toLowerCase()) + ": " + tank.getFill() + "/" + tank.getMaxFill() + "mB"); + text.add((i == 0 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + tank.getTankType().getName().toLowerCase(Locale.US)) + ": " + tank.getFill() + "/" + tank.getMaxFill() + "mB"); } ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); diff --git a/src/main/java/com/hbm/blocks/machine/MachineTowerLarge.java b/src/main/java/com/hbm/blocks/machine/MachineTowerLarge.java index b3fea11e2..b15c2dc74 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineTowerLarge.java +++ b/src/main/java/com/hbm/blocks/machine/MachineTowerLarge.java @@ -2,6 +2,7 @@ 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; @@ -77,7 +78,7 @@ public class MachineTowerLarge extends BlockDummyable implements ILookOverlay { List text = new ArrayList(); for(int i = 0; i < tower.tanks.length; i++) - text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + tower.tanks[i].getTankType().getName().toLowerCase()) + ": " + tower.tanks[i].getFill() + "/" + tower.tanks[i].getMaxFill() + "mB"); + text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + tower.tanks[i].getTankType().getName().toLowerCase(Locale.US)) + ": " + tower.tanks[i].getFill() + "/" + 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/MachineTowerSmall.java b/src/main/java/com/hbm/blocks/machine/MachineTowerSmall.java index ac1dd989e..f13cc49df 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineTowerSmall.java +++ b/src/main/java/com/hbm/blocks/machine/MachineTowerSmall.java @@ -2,6 +2,7 @@ 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; @@ -74,7 +75,7 @@ public class MachineTowerSmall extends BlockDummyable implements ILookOverlay { List text = new ArrayList(); for(int i = 0; i < tower.tanks.length; i++) - text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + tower.tanks[i].getTankType().getName().toLowerCase()) + ": " + tower.tanks[i].getFill() + "/" + tower.tanks[i].getMaxFill() + "mB"); + text.add((i < 1 ? (EnumChatFormatting.GREEN + "-> ") : (EnumChatFormatting.RED + "<- ")) + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + tower.tanks[i].getTankType().getName().toLowerCase(Locale.US)) + ": " + tower.tanks[i].getFill() + "/" + 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/MachineTurbineGas.java b/src/main/java/com/hbm/blocks/machine/MachineTurbineGas.java index 02c6d7394..f47e6b6c3 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineTurbineGas.java +++ b/src/main/java/com/hbm/blocks/machine/MachineTurbineGas.java @@ -6,6 +6,7 @@ import com.hbm.util.I18nUtil; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; @@ -85,16 +86,16 @@ public class MachineTurbineGas extends BlockDummyable implements ILookOverlay { List text = new ArrayList(); if(hitCheck(dir, pos[0], pos[1], pos[2], -1, -1, 0, x, y, z) || hitCheck(dir, pos[0], pos[1], pos[2], 1, -1, 0, x, y, z)) { - text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + turbine.tanks[0].getTankType().getName().toLowerCase())); - text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + turbine.tanks[1].getTankType().getName().toLowerCase())); + text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + turbine.tanks[0].getTankType().getName().toLowerCase(Locale.US))); + text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + turbine.tanks[1].getTankType().getName().toLowerCase(Locale.US))); } if(hitCheck(dir, pos[0], pos[1], pos[2], -1, 4, 0, x, y, z) || hitCheck(dir, pos[0], pos[1], pos[2], 1, 4, 0, x, y, z)) { - text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + turbine.tanks[2].getTankType().getName().toLowerCase())); + text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + turbine.tanks[2].getTankType().getName().toLowerCase(Locale.US))); } if(hitCheck(dir, pos[0], pos[1], pos[2], 0, 5, 1, x, y, z)) { - text.add(EnumChatFormatting.RED + "<- " + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + turbine.tanks[3].getTankType().getName().toLowerCase())); + text.add(EnumChatFormatting.RED + "<- " + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + turbine.tanks[3].getTankType().getName().toLowerCase(Locale.US))); } if(hitCheck(dir, pos[0], pos[1], pos[2], 0, -4, 1, x, y, z)) { diff --git a/src/main/java/com/hbm/config/PotionConfig.java b/src/main/java/com/hbm/config/PotionConfig.java index d34c9128c..9cd584ff0 100644 --- a/src/main/java/com/hbm/config/PotionConfig.java +++ b/src/main/java/com/hbm/config/PotionConfig.java @@ -1,5 +1,7 @@ package com.hbm.config; +import java.util.Locale; + import net.minecraftforge.common.config.Configuration; public class PotionConfig { @@ -37,9 +39,9 @@ public class PotionConfig { String s = CommonConfig.createConfigString(config, CATEGORY_POTION, "8.S0_potionSickness", "Valid configs include \"NORMAL\" and \"TERRARIA\", otherwise potion sickness is turned off", "OFF"); - if("normal".equals(s.toLowerCase())) + if("normal".equals(s.toLowerCase(Locale.US))) potionSickness = 1; - if("terraria".equals(s.toLowerCase())) + if("terraria".equals(s.toLowerCase(Locale.US))) potionSickness = 2; } diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index 46981be68..5ae727de1 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -1,15 +1,26 @@ package com.hbm.entity.train; +import org.lwjgl.opengl.GL11; + import com.hbm.blocks.rail.IRailNTM.TrackGauge; +import com.hbm.inventory.gui.GuiInfoContainer; +import com.hbm.lib.RefStrings; import com.hbm.tileentity.IGUIProvider; +import api.hbm.energy.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; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -62,20 +73,12 @@ public class TrainCargoTram extends EntityRailCarRidable implements IGUIProvider return speed; } - @Override - public TrackGauge getGauge() { - return TrackGauge.STANDARD; - } - - @Override - public double getLengthSpan() { - return 1.5; - } - - @Override - public Vec3 getRiderSeatPosition() { - return Vec3.createVectorHelper(0.375, 2.25, 0.5); - } + @Override public TrackGauge getGauge() { return TrackGauge.STANDARD; } + @Override public double getLengthSpan() { return 1.5; } + @Override public Vec3 getRiderSeatPosition() { return Vec3.createVectorHelper(0.375, 2.25, 0.5); } + @Override public boolean shouldRiderSit() { return false; } + @Override public int getSizeInventory() { return 29; } + @Override public String getInventoryName() { return this.hasCustomInventoryName() ? this.getEntityName() : "container.trainTram"; } @Override public DummyConfig[] getDummies() { @@ -95,11 +98,6 @@ public class TrainCargoTram extends EntityRailCarRidable implements IGUIProvider return true; } - @Override - public boolean shouldRiderSit() { - return false; - } - @Override public Vec3[] getPassengerSeats() { return new Vec3[] { @@ -108,26 +106,112 @@ public class TrainCargoTram extends EntityRailCarRidable implements IGUIProvider }; } - @Override - public int getSizeInventory() { - return 27; - } - - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.getEntityName() : "container.trainTram"; - } - @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - //return new ContainerTrainCargoTram(player.inventory, (TrainCargoTram)player.worldObj.getEntityByID(x)); - return null; + return new ContainerTrainCargoTram(player.inventory, this); } @Override @SideOnly(Side.CLIENT) public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - //return new GUITrainCargoTram(player.inventory, (TrainCargoTram) player.worldObj.getEntityByID(x)); - return null; + return new GUITrainCargoTram(player.inventory, this); + } + + /* + * ##### ##### # # ##### ##### ### # # ##### #### + * # # # ## # # # # # ## # # # # + * # # # # # # # ##### # # # # ### #### + * # # # # ## # # # # # ## # # # + * ##### ##### # # # # # ### # # ##### # # + */ + public static class ContainerTrainCargoTram extends Container { + private TrainCargoTram train; + public ContainerTrainCargoTram(InventoryPlayer invPlayer, TrainCargoTram train) { + this.train = train; + for(int i = 0; i < 4; i++) { + for(int j = 0; j < 7; j++) { + this.addSlotToContainer(new Slot(train, i * 7 + j, 8 + j * 18, 18 + i * 18)); + } + } + this.addSlotToContainer(new Slot(train, 28, 152, 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 slotIndex) { + ItemStack stackCopy = null; + Slot slot = (Slot) this.inventorySlots.get(slotIndex); + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + stackCopy = stack.copy(); + if(slotIndex < train.getSizeInventory()) { + if(!this.mergeItemStack(stack, train.getSizeInventory(), this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(stackCopy.getItem() instanceof IBatteryItem) { + if(!this.mergeItemStack(stack, 28, 29, false)) { + return null; + } + } else { + if(!this.mergeItemStack(stack, 0, 28, false)) { + return null; + } + } + } + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + } + return stackCopy; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return train.isUseableByPlayer(player); + } + } + + /* + * ##### # # ### + * # # # # + * # ## # # # + * # # # # # + * ##### ##### ### + */ + @SideOnly(Side.CLIENT) + public static class GUITrainCargoTram extends GuiInfoContainer { + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/vehicles/gui_cargo_tram.png"); + private TrainCargoTram train; + public GUITrainCargoTram(InventoryPlayer invPlayer, TrainCargoTram train) { + super(new ContainerTrainCargoTram(invPlayer, train)); + this.train = train; + this.xSize = 176; + this.ySize = 204; + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.train.hasCustomInventoryName() ? this.train.getInventoryName() : I18n.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); + } + + @Override + protected void drawGuiContainerBackgroundLayer(float intero, 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); + } } } diff --git a/src/main/java/com/hbm/inventory/fluid/FluidType.java b/src/main/java/com/hbm/inventory/fluid/FluidType.java index cc52b005d..d4dd7c272 100644 --- a/src/main/java/com/hbm/inventory/fluid/FluidType.java +++ b/src/main/java/com/hbm/inventory/fluid/FluidType.java @@ -3,6 +3,7 @@ package com.hbm.inventory.fluid; import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map.Entry; import org.lwjgl.input.Keyboard; @@ -55,12 +56,12 @@ public class FluidType { public FluidType(String name, int color, int p, int f, int r, EnumSymbol symbol) { this.stringId = name; this.color = color; - this.unlocalized = "hbmfluid." + name.toLowerCase(); + this.unlocalized = "hbmfluid." + name.toLowerCase(Locale.US); this.poison = p; this.flammability = f; this.reactivity = r; this.symbol = symbol; - this.texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/fluids/" + name.toLowerCase() + ".png"); + this.texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/fluids/" + name.toLowerCase(Locale.US) + ".png"); this.id = Fluids.registerSelf(this); } @@ -124,7 +125,7 @@ public class FluidType { return this.unlocalized; } public String getDict(int quantity) { - return "container" + quantity + this.stringId.replace("_", "").toLowerCase(); + return "container" + quantity + this.stringId.replace("_", "").toLowerCase(Locale.US); } public boolean isHot() { diff --git a/src/main/java/com/hbm/inventory/gui/GUIAnvil.java b/src/main/java/com/hbm/inventory/gui/GUIAnvil.java index b9f77897d..6f8ef4a10 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIAnvil.java +++ b/src/main/java/com/hbm/inventory/gui/GUIAnvil.java @@ -2,6 +2,7 @@ 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; @@ -85,7 +86,7 @@ public class GUIAnvil extends GuiContainer { private void search(String search) { - search = search.toLowerCase(); + search = search.toLowerCase(Locale.US); this.recipes.clear(); @@ -320,7 +321,7 @@ public class GUIAnvil extends GuiContainer { for(AStack stack : recipe.input) { if(stack instanceof ComparableStack) { ItemStack input = ((ComparableStack) stack).toStack(); - list.add(input.getDisplayName().toLowerCase()); + list.add(input.getDisplayName().toLowerCase(Locale.US)); } else if(stack instanceof OreDictStack) { OreDictStack input = (OreDictStack) stack; @@ -328,7 +329,7 @@ public class GUIAnvil extends GuiContainer { if(ores.size() > 0) { for(ItemStack ore : ores) { - list.add(ore.getDisplayName().toLowerCase()); + list.add(ore.getDisplayName().toLowerCase(Locale.US)); } } @@ -336,7 +337,7 @@ public class GUIAnvil extends GuiContainer { } for(AnvilOutput stack : recipe.output) { - list.add(stack.stack.getDisplayName().toLowerCase()); + list.add(stack.stack.getDisplayName().toLowerCase(Locale.US)); } return list; diff --git a/src/main/java/com/hbm/inventory/gui/GUIHadron.java b/src/main/java/com/hbm/inventory/gui/GUIHadron.java index d77a5bb3f..f932ba665 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIHadron.java +++ b/src/main/java/com/hbm/inventory/gui/GUIHadron.java @@ -2,6 +2,7 @@ package com.hbm.inventory.gui; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import org.lwjgl.opengl.GL11; @@ -51,7 +52,7 @@ public class GUIHadron extends GuiInfoContainer { List stats = new ArrayList(); stats.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("hadron.stats")); - stats.add((hadron.stat_success ? EnumChatFormatting.GREEN : EnumChatFormatting.RED) + I18n.format("hadron." + this.hadron.stat_state.name().toLowerCase())); + stats.add((hadron.stat_success ? EnumChatFormatting.GREEN : EnumChatFormatting.RED) + I18n.format("hadron." + this.hadron.stat_state.name().toLowerCase(Locale.US))); if(this.hadron.state.showCoord) stats.add(EnumChatFormatting.RED + I18nUtil.resolveKey("hadron.stats_coord", hadron.stat_x, hadron.stat_y, hadron.stat_z)); stats.add(EnumChatFormatting.GRAY + I18nUtil.resolveKey("hadron.stats_momentum", String.format("%,d", hadron.stat_charge))); this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 41, guiTop + 92, 25, 11, mouseX, mouseY, stats.toArray(new String[0])); @@ -89,7 +90,7 @@ public class GUIHadron extends GuiInfoContainer { 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); - String state = I18n.format("hadron." + this.hadron.state.name().toLowerCase()); + String state = I18n.format("hadron." + this.hadron.state.name().toLowerCase(Locale.US)); this.fontRendererObj.drawString(state, this.xSize / 2 - this.fontRendererObj.getStringWidth(state) / 2, 76, this.hadron.state.color); } diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java index 8d9bda1d3..85be6afb7 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java +++ b/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java @@ -3,6 +3,7 @@ package com.hbm.inventory.gui; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Locale; import org.apache.commons.lang3.math.NumberUtils; import org.lwjgl.input.Keyboard; @@ -96,7 +97,7 @@ public class GUIRBMKConsole extends GuiScreen { for(int i = 0; i < 3; i++) { for(int j = 0; j < 2; j++) { int id = i * 2 + j + 1; - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 6 + 40 * j, guiTop + 8 + 21 * i, 18, 18, mouseX, mouseY, new String[]{ EnumChatFormatting.YELLOW + I18nUtil.resolveKey("rbmk.console." + console.screens[id - 1].type.name().toLowerCase(), id) } ); + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 6 + 40 * j, guiTop + 8 + 21 * i, 18, 18, mouseX, mouseY, new String[]{ EnumChatFormatting.YELLOW + I18nUtil.resolveKey("rbmk.console." + console.screens[id - 1].type.name().toLowerCase(Locale.US), id) } ); this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 24 + 40 * j, guiTop + 8 + 21 * i, 18, 18, mouseX, mouseY, new String[]{ I18nUtil.resolveKey("rbmk.console.assign", id) } ); } } diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenFluid.java b/src/main/java/com/hbm/inventory/gui/GUIScreenFluid.java index 24a00b973..7a35749db 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenFluid.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenFluid.java @@ -2,6 +2,7 @@ package com.hbm.inventory.gui; import java.awt.Color; import java.util.Arrays; +import java.util.Locale; import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; @@ -166,10 +167,10 @@ public class GUIScreenFluid extends GuiScreen { this.searchArray = new FluidType[9]; int next = 0; - String subs = this.search.getText().toLowerCase(); + String subs = this.search.getText().toLowerCase(Locale.US); for(FluidType type : Fluids.getInNiceOrder()) { - String name = I18nUtil.resolveKey(type.getUnlocalizedName()).toLowerCase(); + String name = I18nUtil.resolveKey(type.getUnlocalizedName()).toLowerCase(Locale.US); if(name.contains(subs) && !type.hasNoID()) { this.searchArray[next] = type; diff --git a/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java b/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java index 6872d9f9a..4d09369be 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java +++ b/src/main/java/com/hbm/inventory/gui/GUIScreenTemplateFolder.java @@ -3,6 +3,7 @@ package com.hbm.inventory.gui; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Locale; import org.lwjgl.input.Keyboard; import org.lwjgl.opengl.GL11; @@ -122,7 +123,7 @@ public class GUIScreenTemplateFolder extends GuiScreen { return; } - sub = sub.toLowerCase(); + sub = sub.toLowerCase(Locale.US); outer: for(ItemStack stack : allStacks) { @@ -132,7 +133,7 @@ public class GUIScreenTemplateFolder extends GuiScreen { if(o instanceof String) { String text = (String) o; - if(text.toLowerCase().contains(sub)) { + if(text.toLowerCase(Locale.US).contains(sub)) { stacks.add(stack); continue outer; } @@ -142,7 +143,7 @@ public class GUIScreenTemplateFolder extends GuiScreen { if(stack.getItem() == ModItems.fluid_identifier) { FluidType fluid = Fluids.fromID(stack.getItemDamage()); - if(I18nUtil.resolveKey(fluid.getUnlocalizedName()).toLowerCase().contains(sub)) { + if(I18nUtil.resolveKey(fluid.getUnlocalizedName()).toLowerCase(Locale.US).contains(sub)) { stacks.add(stack); } } diff --git a/src/main/java/com/hbm/inventory/material/NTMMaterial.java b/src/main/java/com/hbm/inventory/material/NTMMaterial.java index 35940e7b2..0f953871b 100644 --- a/src/main/java/com/hbm/inventory/material/NTMMaterial.java +++ b/src/main/java/com/hbm/inventory/material/NTMMaterial.java @@ -1,6 +1,7 @@ package com.hbm.inventory.material; import java.util.HashSet; +import java.util.Locale; import java.util.Set; import com.hbm.inventory.OreDictManager.DictFrame; @@ -45,7 +46,7 @@ public class NTMMaterial { } public String getUnlocalizedName() { - return "hbmmat." + this.names[0].toLowerCase(); + return "hbmmat." + this.names[0].toLowerCase(Locale.US); } public NTMMaterial setConversion(NTMMaterial mat, int in, int out) { diff --git a/src/main/java/com/hbm/inventory/recipes/GasCentrifugeRecipes.java b/src/main/java/com/hbm/inventory/recipes/GasCentrifugeRecipes.java index abbdea91a..7b7743f2c 100644 --- a/src/main/java/com/hbm/inventory/recipes/GasCentrifugeRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/GasCentrifugeRecipes.java @@ -2,6 +2,7 @@ package com.hbm.inventory.recipes; import java.util.HashMap; import java.util.Iterator; +import java.util.Locale; import java.util.Map; import java.util.Map.Entry; @@ -60,7 +61,7 @@ public class GasCentrifugeRecipes { } public String getName() { - return I18nUtil.resolveKey("hbmpseudofluid.".concat(this.toString().toLowerCase())); + return I18nUtil.resolveKey("hbmpseudofluid.".concat(this.toString().toLowerCase(Locale.US))); } public boolean getIfHighSpeed() { diff --git a/src/main/java/com/hbm/inventory/recipes/PressRecipes.java b/src/main/java/com/hbm/inventory/recipes/PressRecipes.java index 1186eb481..15f16e04c 100644 --- a/src/main/java/com/hbm/inventory/recipes/PressRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/PressRecipes.java @@ -2,6 +2,7 @@ package com.hbm.inventory.recipes; import java.io.IOException; import java.util.HashMap; +import java.util.Locale; import java.util.Map.Entry; import static com.hbm.inventory.OreDictManager.*; @@ -151,7 +152,7 @@ public class PressRecipes extends SerializableRecipe { writer.name("input"); this.writeAStack(entry.getKey().getKey(), writer); - writer.name("stamp").value(entry.getKey().getValue().name().toLowerCase()); + writer.name("stamp").value(entry.getKey().getValue().name().toLowerCase(Locale.US)); writer.name("output"); this.writeItemStack(entry.getValue(), writer); } diff --git a/src/main/java/com/hbm/items/ItemEnumMulti.java b/src/main/java/com/hbm/items/ItemEnumMulti.java index f3f81d997..8085625d1 100644 --- a/src/main/java/com/hbm/items/ItemEnumMulti.java +++ b/src/main/java/com/hbm/items/ItemEnumMulti.java @@ -1,6 +1,7 @@ package com.hbm.items; import java.util.List; +import java.util.Locale; import com.hbm.lib.RefStrings; import com.hbm.util.EnumUtil; @@ -54,7 +55,7 @@ public class ItemEnumMulti extends Item { for(int i = 0; i < icons.length; i++) { Enum num = enums[i]; - this.icons[i] = reg.registerIcon(this.getIconString() + "." + num.name().toLowerCase()); + this.icons[i] = reg.registerIcon(this.getIconString() + "." + num.name().toLowerCase(Locale.US)); } } else { this.itemIcon = reg.registerIcon(this.getIconString()); @@ -91,7 +92,7 @@ public class ItemEnumMulti extends Item { if(multiName) { Enum num = EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage()); - return super.getUnlocalizedName() + "." + num.name().toLowerCase(); + return super.getUnlocalizedName() + "." + num.name().toLowerCase(Locale.US); } else { return super.getUnlocalizedName(stack); } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 79043e1e0..d055d6f01 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1031,6 +1031,7 @@ public class ModItems { public static Item can_key; public static Item cart; + public static Item train; public static Item coin_creeper; public static Item coin_radiation; @@ -3456,6 +3457,7 @@ public class ModItems { can_key = new Item().setUnlocalizedName("can_key").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":can_key"); cart = new ItemModMinecart().setUnlocalizedName("cart"); + train = new ItemTrain().setUnlocalizedName("train"); 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"); @@ -7647,6 +7649,7 @@ public class ModItems { //Minecarts GameRegistry.registerItem(cart, cart.getUnlocalizedName()); + GameRegistry.registerItem(train, train.getUnlocalizedName()); //High Explosive Lenses GameRegistry.registerItem(early_explosive_lenses, early_explosive_lenses.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/food/ItemConserve.java b/src/main/java/com/hbm/items/food/ItemConserve.java index a8a7a5af1..11b2c9bb7 100644 --- a/src/main/java/com/hbm/items/food/ItemConserve.java +++ b/src/main/java/com/hbm/items/food/ItemConserve.java @@ -1,6 +1,7 @@ package com.hbm.items.food; import java.util.List; +import java.util.Locale; import com.hbm.entity.effect.EntityVortex; import com.hbm.items.ItemEnumMulti; @@ -93,14 +94,14 @@ public class ItemConserve extends ItemEnumMulti { for(int i = 0; i < icons.length; i++) { Enum num = enums[i]; - this.icons[i] = reg.registerIcon(this.getIconString() + "_" + num.name().toLowerCase()); + this.icons[i] = reg.registerIcon(this.getIconString() + "_" + num.name().toLowerCase(Locale.US)); } } @Override public String getUnlocalizedName(ItemStack stack) { Enum num = EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage()); - return "item.canned_" + num.name().toLowerCase(); + return "item.canned_" + num.name().toLowerCase(Locale.US); } public static enum EnumFoodType { diff --git a/src/main/java/com/hbm/items/food/ItemCrayon.java b/src/main/java/com/hbm/items/food/ItemCrayon.java index c03282985..f9f7d0760 100644 --- a/src/main/java/com/hbm/items/food/ItemCrayon.java +++ b/src/main/java/com/hbm/items/food/ItemCrayon.java @@ -1,6 +1,7 @@ package com.hbm.items.food; import java.util.List; +import java.util.Locale; import com.hbm.items.machine.ItemChemicalDye.EnumChemDye; import com.hbm.lib.RefStrings; @@ -44,7 +45,7 @@ public class ItemCrayon extends ItemFood { @Override public String getUnlocalizedName(ItemStack stack) { Enum num = EnumUtil.grabEnumSafely(EnumChemDye.class, stack.getItemDamage()); - return super.getUnlocalizedName() + "." + num.name().toLowerCase(); + return super.getUnlocalizedName() + "." + num.name().toLowerCase(Locale.US); } @Override diff --git a/src/main/java/com/hbm/items/food/ItemFlask.java b/src/main/java/com/hbm/items/food/ItemFlask.java index c2d727da0..256fa9eff 100644 --- a/src/main/java/com/hbm/items/food/ItemFlask.java +++ b/src/main/java/com/hbm/items/food/ItemFlask.java @@ -1,5 +1,7 @@ package com.hbm.items.food; +import java.util.Locale; + import com.hbm.extprop.HbmPlayerProps; import com.hbm.items.ItemEnumMulti; @@ -30,7 +32,7 @@ public class ItemFlask extends ItemEnumMulti { for(int i = 0; i < icons.length; i++) { Enum num = enums[i]; - this.icons[i] = reg.registerIcon(this.getIconString() + "_" + num.name().toLowerCase()); + this.icons[i] = reg.registerIcon(this.getIconString() + "_" + num.name().toLowerCase(Locale.US)); } } diff --git a/src/main/java/com/hbm/items/machine/ItemDrillbit.java b/src/main/java/com/hbm/items/machine/ItemDrillbit.java index b992fd052..7dd8d3bdd 100644 --- a/src/main/java/com/hbm/items/machine/ItemDrillbit.java +++ b/src/main/java/com/hbm/items/machine/ItemDrillbit.java @@ -1,6 +1,7 @@ package com.hbm.items.machine; import java.util.List; +import java.util.Locale; import com.hbm.items.ItemEnumMulti; import com.hbm.util.EnumUtil; @@ -27,14 +28,14 @@ public class ItemDrillbit extends ItemEnumMulti { for(int i = 0; i < icons.length; i++) { Enum num = enums[i]; - this.icons[i] = reg.registerIcon(this.getIconString() + "_" + num.name().toLowerCase()); + this.icons[i] = reg.registerIcon(this.getIconString() + "_" + num.name().toLowerCase(Locale.US)); } } @Override public String getUnlocalizedName(ItemStack stack) { Enum num = EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage()); - return super.getUnlocalizedName() + "_" + num.name().toLowerCase(); + return super.getUnlocalizedName() + "_" + num.name().toLowerCase(Locale.US); } @Override diff --git a/src/main/java/com/hbm/items/machine/ItemPistons.java b/src/main/java/com/hbm/items/machine/ItemPistons.java index e47d8a53b..4736b5cdd 100644 --- a/src/main/java/com/hbm/items/machine/ItemPistons.java +++ b/src/main/java/com/hbm/items/machine/ItemPistons.java @@ -1,6 +1,7 @@ package com.hbm.items.machine; import java.util.List; +import java.util.Locale; import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade; import com.hbm.items.ItemEnumMulti; @@ -28,14 +29,14 @@ public class ItemPistons extends ItemEnumMulti { for(int i = 0; i < icons.length; i++) { Enum num = enums[i]; - this.icons[i] = reg.registerIcon(this.getIconString() + "_" + num.name().toLowerCase()); + this.icons[i] = reg.registerIcon(this.getIconString() + "_" + num.name().toLowerCase(Locale.US)); } } @Override public String getUnlocalizedName(ItemStack stack) { Enum num = EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage()); - return super.getUnlocalizedName() + "_" + num.name().toLowerCase(); + return super.getUnlocalizedName() + "_" + num.name().toLowerCase(Locale.US); } @Override diff --git a/src/main/java/com/hbm/items/machine/ItemZirnoxRod.java b/src/main/java/com/hbm/items/machine/ItemZirnoxRod.java index 3856016fa..d2a50f20d 100644 --- a/src/main/java/com/hbm/items/machine/ItemZirnoxRod.java +++ b/src/main/java/com/hbm/items/machine/ItemZirnoxRod.java @@ -1,6 +1,7 @@ package com.hbm.items.machine; import java.util.List; +import java.util.Locale; import com.hbm.items.ItemEnumMulti; import com.hbm.util.BobMathUtil; @@ -87,14 +88,14 @@ public class ItemZirnoxRod extends ItemEnumMulti { for(int i = 0; i < icons.length; i++) { Enum num = enums[i]; - this.icons[i] = reg.registerIcon(this.getIconString() + "_" + num.name().toLowerCase()); + this.icons[i] = reg.registerIcon(this.getIconString() + "_" + num.name().toLowerCase(Locale.US)); } } @Override public String getUnlocalizedName(ItemStack stack) { Enum num = EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage()); - return super.getUnlocalizedName() + "_" + num.name().toLowerCase(); + return super.getUnlocalizedName() + "_" + num.name().toLowerCase(Locale.US); } public static enum EnumZirnoxType { diff --git a/src/main/java/com/hbm/items/special/ItemBedrockOre.java b/src/main/java/com/hbm/items/special/ItemBedrockOre.java index 61fc2bd96..55539aa79 100644 --- a/src/main/java/com/hbm/items/special/ItemBedrockOre.java +++ b/src/main/java/com/hbm/items/special/ItemBedrockOre.java @@ -3,6 +3,9 @@ package com.hbm.items.special; import com.hbm.items.ItemEnumMulti; import com.hbm.items.special.ItemByproduct.EnumByproduct; import static com.hbm.items.special.ItemByproduct.EnumByproduct.*; + +import java.util.Locale; + import com.hbm.lib.RefStrings; import com.hbm.util.EnumUtil; @@ -57,7 +60,7 @@ public class ItemBedrockOre extends ItemEnumMulti { public String getItemStackDisplayName(ItemStack stack) { EnumBedrockOre ore = EnumUtil.grabEnumSafely(EnumBedrockOre.class, stack.getItemDamage()); - String oreName = StatCollector.translateToLocal("item.ore." + ore.oreName.toLowerCase()); + String oreName = StatCollector.translateToLocal("item.ore." + ore.oreName.toLowerCase(Locale.US)); return StatCollector.translateToLocalFormatted(this.getUnlocalizedNameInefficiently(stack) + ".name", oreName); } diff --git a/src/main/java/com/hbm/items/special/ItemTrain.java b/src/main/java/com/hbm/items/special/ItemTrain.java new file mode 100644 index 000000000..9c5e65062 --- /dev/null +++ b/src/main/java/com/hbm/items/special/ItemTrain.java @@ -0,0 +1,55 @@ +package com.hbm.items.special; + +import com.hbm.blocks.rail.IRailNTM; +import com.hbm.entity.train.EntityRailCarBase; +import com.hbm.entity.train.TrainCargoTram; +import com.hbm.items.ItemEnumMulti; +import com.hbm.util.EnumUtil; + +import net.minecraft.block.Block; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemTrain extends ItemEnumMulti { + + public ItemTrain() { + super(EnumTrainType.class, true, true); + } + + public static enum EnumTrainType { + + CARGO_TRAM(TrainCargoTram.class); + + public Class train; + private EnumTrainType(Class train) { + this.train = train; + } + } + + @Override + public boolean onItemUse(ItemStack stack, EntityPlayer entity, 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 IRailNTM) { + + EnumTrainType type = EnumUtil.grabEnumSafely(theEnum, stack.getItemDamage()); + EntityRailCarBase train = null; + try { train = type.train.getConstructor(World.class).newInstance(world); } catch(Exception e) { } + + if(train != null && train.getGauge() == ((IRailNTM) b).getGauge(world, x, y, z)) { + if(!world.isRemote) { + train.setPosition(x + fx, y + fy, z + fz); + train.rotationYaw = entity.rotationYaw; + world.spawnEntityInWorld(train); + } + + stack.stackSize--; + return true; + } + } + + return false; + } +} diff --git a/src/main/java/com/hbm/items/tool/ItemModMinecart.java b/src/main/java/com/hbm/items/tool/ItemModMinecart.java index c065c189f..4bc248f8c 100644 --- a/src/main/java/com/hbm/items/tool/ItemModMinecart.java +++ b/src/main/java/com/hbm/items/tool/ItemModMinecart.java @@ -1,6 +1,7 @@ package com.hbm.items.tool; import java.util.List; +import java.util.Locale; import com.hbm.entity.cart.*; import com.hbm.items.ModItems; @@ -103,7 +104,7 @@ public class ItemModMinecart extends Item { @Override public String getUnlocalizedName(ItemStack stack) { EnumMinecart cart = EnumUtil.grabEnumSafely(EnumMinecart.class, stack.getItemDamage()); - return super.getUnlocalizedName() + "." + cart.name().toLowerCase(); + return super.getUnlocalizedName() + "." + cart.name().toLowerCase(Locale.US); } @Override @@ -126,7 +127,7 @@ public class ItemModMinecart extends Item { for(int i = 0; i < EnumCartBase.values().length; i++) { EnumCartBase base = EnumCartBase.values()[i]; - bases[i] = reg.registerIcon(this.getIconString() + "." + base.name().toLowerCase()); + bases[i] = reg.registerIcon(this.getIconString() + "." + base.name().toLowerCase(Locale.US)); } EnumMinecart[] enums = EnumMinecart.values(); @@ -134,7 +135,7 @@ public class ItemModMinecart extends Item { for(int i = 0; i < icons.length; i++) { Enum num = enums[i]; - this.icons[i] = reg.registerIcon(this.getIconString() + "_overlay." + num.name().toLowerCase()); + this.icons[i] = reg.registerIcon(this.getIconString() + "_overlay." + num.name().toLowerCase(Locale.US)); } } diff --git a/src/main/java/com/hbm/items/tool/ItemToolAbility.java b/src/main/java/com/hbm/items/tool/ItemToolAbility.java index e5b006909..85e0694d0 100644 --- a/src/main/java/com/hbm/items/tool/ItemToolAbility.java +++ b/src/main/java/com/hbm/items/tool/ItemToolAbility.java @@ -3,6 +3,7 @@ package com.hbm.items.tool; import java.util.ArrayList; import java.util.HashSet; import java.util.List; +import java.util.Locale; import java.util.Set; import com.google.common.collect.HashMultimap; @@ -90,7 +91,7 @@ public class ItemToolAbility extends ItemTool implements IItemAbility, IDepthRoc this.setHarvestLevel("pickaxe", material.getHarvestLevel()); this.setHarvestLevel("shovel", material.getHarvestLevel()); } else { - this.setHarvestLevel(type.toString().toLowerCase(), material.getHarvestLevel()); + this.setHarvestLevel(type.toString().toLowerCase(Locale.US), material.getHarvestLevel()); } } diff --git a/src/main/java/com/hbm/items/weapon/ItemAmmo.java b/src/main/java/com/hbm/items/weapon/ItemAmmo.java index 1917cfa1c..f83ea596c 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmo.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmo.java @@ -3,6 +3,7 @@ package com.hbm.items.weapon; import java.util.ArrayList; import java.util.Comparator; import java.util.List; +import java.util.Locale; import java.util.Set; import com.hbm.items.ItemAmmoEnums.AmmoRocket; @@ -108,7 +109,7 @@ public class ItemAmmo extends ItemEnumMulti { public String key = "desc.item.ammo."; private AmmoItemTrait() { - key += this.toString().toLowerCase(); + key += this.toString().toLowerCase(Locale.US); } } diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 81bb45c51..949a92461 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -6,6 +6,7 @@ import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.Random; @@ -1310,7 +1311,7 @@ public class ModEventHandler { String[] msg = message.split(" "); - String m = msg[0].substring(1, msg[0].length()).toLowerCase(); + String m = msg[0].substring(1, msg[0].length()).toLowerCase(Locale.US); if("gv".equals(m)) { diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 2af37c069..0c181697b 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -3,6 +3,7 @@ package com.hbm.main; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import java.util.Random; import org.lwjgl.input.Keyboard; @@ -446,7 +447,7 @@ public class ModEventHandlerClient { if(invis != null && invis.getAmplifier() > 0) event.setCanceled(true); - if(player.getDisplayName().toLowerCase().equals("martmn")) { + if(player.getDisplayName().toLowerCase(Locale.US).equals("martmn")) { event.setCanceled(true); 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 f44cfb151..4ce54e100 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java @@ -3,6 +3,7 @@ package com.hbm.tileentity.machine.rbmk; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.Locale; import java.util.Set; import com.hbm.interfaces.IControlReceiver; @@ -389,7 +390,7 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon 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())); + stats.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("rbmk.control." + RBMKColor.values()[col].name().toLowerCase(Locale.US))); } case CONTROL_AUTO: diff --git a/src/main/java/com/hbm/util/ArmorUtil.java b/src/main/java/com/hbm/util/ArmorUtil.java index 21bba6f78..6ece2e502 100644 --- a/src/main/java/com/hbm/util/ArmorUtil.java +++ b/src/main/java/com/hbm/util/ArmorUtil.java @@ -2,6 +2,7 @@ package com.hbm.util; import java.util.ArrayList; import java.util.List; +import java.util.Locale; import com.hbm.handler.ArmorModHandler; import com.hbm.handler.HazmatRegistry; @@ -241,7 +242,7 @@ public class ArmorUtil { for(String metal : metals) { - if(name.toLowerCase().contains(metal)) + if(name.toLowerCase(Locale.US).contains(metal)) return true; } diff --git a/src/main/resources/assets/hbm/textures/gui/vehicles/gui_cargo_tram.png b/src/main/resources/assets/hbm/textures/gui/vehicles/gui_cargo_tram.png new file mode 100644 index 0000000000000000000000000000000000000000..21f3bf5a2dc2ca8e1dbe76752ba71b54d7401391 GIT binary patch literal 2096 zcmb7FdsNbQ8~=h#LI7ZtN;bM4rhnz@WwkVDO-*z(rW)bd(bYRKz#in*rLdaYAi zI-uN~5@eEV-d&hcymmk=b7W@7jPQ~ob6!x9_oudVTI-y>d;a-ep4;d7KA-3JW9_B- zqRnm10RU*f-IRR*z@RM*n3+OL#EGl%(1M_Q`30Lnl4BNI1OQUwN7)se!5Qrn9q(1F zM2_ES{eXA^-Bz*gWz)t4lb?`0@_9bf^S{FWMpMKitIpf(Z!p&lW)BHv%mn9$7AYw& zU0khg4*mvA@pFn@=L!2(Rb1I@Jjj(JU1CwcsL%yX(V z$pJm13-xrqv5q!!Pw2qjR($+=+WIOXTOPU1^&`Z$yud4)Y1?(r+b>+0%$XgJJ5+0> zwh%mCeQ1K7UywY9)sWhp856#gq@*OueADF@mz>Wm#HPp0T98DBhSQ82_b?J|4A02$ z#EY7*;))6i3Qh?Vw%U4&l*PJ?r#U~e&iEskGP(CN&nEW=sHZtov(L51J~Sq7CF-+< ziZjRSvnwXI-VKDE_^1ok`lF?3K~d2fOkvms1V~uQCvC#?Z)xfqD-GD$xAG^I zW!YCC`d<-~-N2q~10y?Cn>0isfRkcmG6K~=fHOl^rP{ZKD3R8X1F=VEMIY87qK8X0Qs76*V2{D zW)b(BE~TZg6yv{*g9g>9NBnEl0LZ=61~^BZ9f(t*@qvO*d6$V+=Cn;0FlAq{$ip1I z8;#J}bR<`|sqTyHVnL}{@N1x!5i0%}f<;ho0gVH3{)m0Nqjq^j+o&xwN43vs%BQRu z#j|_un(XXsZiREz3P(7fUP%qWQN&T&wTA6e!-Z-g-x1Cf z7}Om-K}OPoYH%Q(LyP!&0gG3_f2hd#{82NBDBKAF> z@&{r~1s5JxZW2ATc=*!6(lh~{ueJu8x_^H`azuoF3~r=J>^^r{!}%g#CbI1SiE3GS zxNJzCyfeG6>7HioC<9zu5B8%9b4PZ8&inFYQgs$edfpA}_D7PP3S&eb5;o_M}biPlJtW)5qvY;a%rxknOt=DA*}O0L1+@KhsNU29U&6x!;uOZ131F3i%MbR z{f23}4Mw-li+g%lx~IO^T^b|HG+!R17IVNF0wqUgv3cDJScarO$KEJU!rU6AX-kGw zGY7@VBsZSBot@ntC1*f4(=wUj$J4gN^Nf@CSG8raYxKqLhTI;?uOB8Y=u{}Q8A zRwupUz;=K>zKha-k>vynt20lOc$4WTev4#Q))@I8^SW5paJtU>@qBQ6ULMIyLR`%) zF$cJa{pr2Ey;y9`&6~LIa2vO{T8m#4M))I6iV@&l$2U8P1LsNr^EH)hUR_q~K-zpO zUnY}1?&}Nj*<7a6m;o;#m&CS>TLkz1PI4C$X@WKBR8U?ju znLkk0$I?u|X0vN*YeRB23}3yIHB6y&Z4IDs43quPWZc9sD&L16OHTHsh&wu{;s~5;*B3oaJ_U9Vjrds47EvoRYE5y}WVGN=3*AlZII-V$8v5BdRRD@Xl zm$!IZoL4Vcy5xK)HJ*w%$%rL%&SyX*cxCTq1q*m5G{Jt@Kk%LSTz_agI^w~J#0SFO z7^A;Wxa@qxqY@ruAC#|=1idPnDZtkorINEngK0!A)P5z`q8*>a_KpUz)V) qOKzF4zpjEmxv5|LrT;_ex1A$hQ)xq)mrsAU=<4T9rBr)GpZp(|onvnR literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/train.cargo_tram.png b/src/main/resources/assets/hbm/textures/items/train.cargo_tram.png new file mode 100644 index 0000000000000000000000000000000000000000..dc08307e90b9818e8af3f49d3b28747f872d6c5e GIT binary patch literal 218 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf)2Y&*)-ue8y@gQZ;LL+J9$ zcYin9-(Rljv^;KST-xV9AM7uR8Q$ZYGlRXOLoD9qRolxetNB*&*-S58%Y2&qoF(fC z%Wz%eV+;aL8Bq<7>%6-J%cOIzPYhx?aI3uPbP0l+XkK=<-wn literal 0 HcmV?d00001 From b04a25ad713ca4173d683c3abae53b597e9e54e3 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 15 May 2023 16:21:36 +0200 Subject: [PATCH 090/285] i can't feel my legs no more --- README.md | 15 ++++++ .../java/com/hbm/config/GeneralConfig.java | 2 + .../hbm/inventory/fluid/tank/FluidTank.java | 5 +- .../com/hbm/main/ModEventHandlerClient.java | 48 +++++++++++++++++++ src/main/resources/META-INF/HBM_at.cfg | 7 +++ 5 files changed, 76 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 39977e9da..e43375975 100644 --- a/README.md +++ b/README.md @@ -91,5 +91,20 @@ 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! +## 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. + +### 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`. + +### Custom world provider +A world provider is a piece of code that minecraft can load to determine certain aspects of how the world should be handled, like light levels, sky color, day/night cycle, etc. In order for the Tomp impact effects to work, NTM employs such a world provider, although this is known to cause issues with Hardcore Darkness. The world provider can be disabled with the config option `1.32_enableImpactWorldProvider`. + +### Stat re-registering +An often overlooked aspect of Minecraft is its stats, the game keeps track of how many of an item were crafted, placed, broken, etc. By default, Minecraft can only handle vanilla items, modded items would not show up in the stats window. Forge does little to fix this, and since NTM has to keep track of certain things (such as use of an acidizer for spawning Mask Man) it will run its own code which re-registers all stats for all modded items. In the event that re-registering causes issues, or another mod already does this but better, this behavior can be disabled with the config option `1.33_enableStatReRegistering`. + +### Keybind overlap +An often annoying aspect of modded Minecraft is its keybinds. Even though multiple binds can be assigned the same key, all but one will show up as "conflicting" and only the non-conflicting one will work. Which one this is is usually arbitrary, and there is no reason to have such limitation. Often times keybinds are only applicable in certain scenarios, and a commonly found degree of overlap is within reason. Therefore, NTM will run its own key handling code which allows conflicting keybinds to work. If there should be any issues with this behavior, it can be disabled with the config option `1.34_enableKeybindOverlap`. + # License This software is licensed under the GNU Lesser General Public License version 3. In short: This software is free, you may run the software freely, create modified versions, distribute this software and distribute modified versions, as long as the modified software too has a free software license (with an exception for linking to this software, as stated by the "Lesser" part of the LGPL, where this may not be required). You win this round, Stallman. The full license can be found in the `LICENSE` and `LICENSE.LESSER` files. diff --git a/src/main/java/com/hbm/config/GeneralConfig.java b/src/main/java/com/hbm/config/GeneralConfig.java index 2e4b79920..557ca2a0c 100644 --- a/src/main/java/com/hbm/config/GeneralConfig.java +++ b/src/main/java/com/hbm/config/GeneralConfig.java @@ -31,6 +31,7 @@ public class GeneralConfig { public static boolean enableSkyboxes = true; public static boolean enableImpactWorldProvider = true; public static boolean enableStatReRegistering = true; + public static boolean enableKeybindOverlap = true; public static int hintPos = 0; public static boolean enable528 = false; @@ -89,6 +90,7 @@ public class GeneralConfig { 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); + enableKeybindOverlap = config.get(CATEGORY_GENERAL, "1.34_enableKeybindOverlap", true, "If enabled, will handle keybinds that would otherwise be ignored due to overlapping.").getBoolean(true); final String CATEGORY_528 = CommonConfig.CATEGORY_528; 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 ce98e9579..ee0dfe019 100644 --- a/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java +++ b/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java @@ -20,6 +20,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MathHelper; public class FluidTank { @@ -258,7 +259,9 @@ public class FluidTank { fluid = nbt.getInteger(s); int max = nbt.getInteger(s + "_max"); if(max > 0) - maxFluid = nbt.getInteger(s + "_max"); + maxFluid = max; + + fluid = MathHelper.clamp_int(fluid, 0, max); type = Fluids.fromName(nbt.getString(s + "_type")); //compat if(type == Fluids.NONE) diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 0c181697b..de63427b1 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -83,6 +83,7 @@ import cpw.mods.fml.client.FMLClientHandler; 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.InputEvent; import cpw.mods.fml.common.gameevent.InputEvent.KeyInputEvent; import cpw.mods.fml.common.gameevent.TickEvent.ClientTickEvent; import cpw.mods.fml.common.gameevent.TickEvent.Phase; @@ -101,6 +102,7 @@ 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.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Slot; @@ -954,6 +956,52 @@ public class ModEventHandlerClient { } } } + + @SideOnly(Side.CLIENT) + @SubscribeEvent + public void onMouseClicked(InputEvent.KeyInputEvent event) { + + if(GeneralConfig.enableKeybindOverlap) { + boolean state = Mouse.getEventButtonState(); + int keyCode = Mouse.getEventButton() - 100; + + //if anything errors here, run ./gradlew clean setupDecompWorkSpace + for(Object o : KeyBinding.keybindSet) { + KeyBinding key = (KeyBinding) o; + + if(key.getKeyCode() == keyCode && KeyBinding.hash.lookup(key.getKeyCode()) != key) { + + key.pressed = state; + if(state) { + key.pressTime++; + } + } + } + } + } + + @SideOnly(Side.CLIENT) + @SubscribeEvent + public void onKeyTyped(InputEvent.KeyInputEvent event) { + + if(GeneralConfig.enableKeybindOverlap) { + boolean state = Keyboard.getEventKeyState(); + int keyCode = Keyboard.getEventKey(); + + //if anything errors here, run ./gradlew clean setupDecompWorkSpace + for(Object o : KeyBinding.keybindSet) { + KeyBinding key = (KeyBinding) o; + + if(key.getKeyCode() == keyCode && KeyBinding.hash.lookup(key.getKeyCode()) != key) { + + key.pressed = state; + if(state) { + key.pressTime++; + } + } + } + } + } @SideOnly(Side.CLIENT) @SubscribeEvent diff --git a/src/main/resources/META-INF/HBM_at.cfg b/src/main/resources/META-INF/HBM_at.cfg index 1cc05d2b5..5d2a92333 100644 --- a/src/main/resources/META-INF/HBM_at.cfg +++ b/src/main/resources/META-INF/HBM_at.cfg @@ -8,3 +8,10 @@ public net.minecraft.entity.monster.EntityCreeper func_146077_cc()V # ex # RenderCreeper public net.minecraft.client.renderer.entity.RenderCreeper field_77064_a # creeperModel + +# KeyBinding +public net.minecraft.client.settings.KeyBinding field_74516_a # keybindArray +public net.minecraft.client.settings.KeyBinding field_74514_b # hash +public net.minecraft.client.settings.KeyBinding field_151473_c # keybindSet +public net.minecraft.client.settings.KeyBinding field_74513_e # pressed +public net.minecraft.client.settings.KeyBinding field_151474_i # pressTime From e63996f9f2944980591f638122e1dd875d363fd8 Mon Sep 17 00:00:00 2001 From: HbmMods Date: Mon, 15 May 2023 16:24:19 +0200 Subject: [PATCH 091/285] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e43375975..2506c1a64 100644 --- a/README.md +++ b/README.md @@ -98,10 +98,10 @@ NTM has certain behaviors intended to fix vanilla code or to increase compatibil 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`. ### Custom world provider -A world provider is a piece of code that minecraft can load to determine certain aspects of how the world should be handled, like light levels, sky color, day/night cycle, etc. In order for the Tomp impact effects to work, NTM employs such a world provider, although this is known to cause issues with Hardcore Darkness. The world provider can be disabled with the config option `1.32_enableImpactWorldProvider`. +A world provider is a piece of code that minecraft can load to determine certain aspects of how the world should be handled, like light levels, sky color, day/night cycle, etc. In order for the Tom impact effects to work, NTM employs such a world provider, although this is known to cause issues with Hardcore Darkness. The world provider can be disabled with the config option `1.32_enableImpactWorldProvider`. ### Stat re-registering -An often overlooked aspect of Minecraft is its stats, the game keeps track of how many of an item were crafted, placed, broken, etc. By default, Minecraft can only handle vanilla items, modded items would not show up in the stats window. Forge does little to fix this, and since NTM has to keep track of certain things (such as use of an acidizer for spawning Mask Man) it will run its own code which re-registers all stats for all modded items. In the event that re-registering causes issues, or another mod already does this but better, this behavior can be disabled with the config option `1.33_enableStatReRegistering`. +An often overlooked aspect of Minecraft is its stats, the game keeps track of how many of an item were crafted, placed, broken, etc. By default, Minecraft can only handle vanilla items, modded items would not show up in the stats window. Forge does little to fix this, and since NTM has to keep track of certain things (such as the use of an acidizer for spawning Mask Man) it will run its own code which re-registers all stats for all modded items. In the event that re-registering causes issues, or another mod already does this better already, this behavior can be disabled with the config option `1.33_enableStatReRegistering`. ### Keybind overlap An often annoying aspect of modded Minecraft is its keybinds. Even though multiple binds can be assigned the same key, all but one will show up as "conflicting" and only the non-conflicting one will work. Which one this is is usually arbitrary, and there is no reason to have such limitation. Often times keybinds are only applicable in certain scenarios, and a commonly found degree of overlap is within reason. Therefore, NTM will run its own key handling code which allows conflicting keybinds to work. If there should be any issues with this behavior, it can be disabled with the config option `1.34_enableKeybindOverlap`. From 1005eee31c4bc9769553333724fa65648e0f51c1 Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 15 May 2023 23:12:50 +0200 Subject: [PATCH 092/285] bronk --- .../java/com/hbm/main/ModEventHandlerClient.java | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index de63427b1..2fd559dd2 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -960,13 +960,14 @@ public class ModEventHandlerClient { @SideOnly(Side.CLIENT) @SubscribeEvent public void onMouseClicked(InputEvent.KeyInputEvent event) { - - if(GeneralConfig.enableKeybindOverlap) { + + 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.keybindSet) { + for(Object o : KeyBinding.keybindArray) { KeyBinding key = (KeyBinding) o; if(key.getKeyCode() == keyCode && KeyBinding.hash.lookup(key.getKeyCode()) != key) { @@ -984,12 +985,13 @@ public class ModEventHandlerClient { @SubscribeEvent public void onKeyTyped(InputEvent.KeyInputEvent event) { - if(GeneralConfig.enableKeybindOverlap) { + 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.keybindSet) { + for(Object o : KeyBinding.keybindArray) { KeyBinding key = (KeyBinding) o; if(key.getKeyCode() == keyCode && KeyBinding.hash.lookup(key.getKeyCode()) != key) { From 230ff0025752c3ab1eb114478d6c13d0ee0a733d Mon Sep 17 00:00:00 2001 From: Vaern Date: Mon, 15 May 2023 19:46:19 -0700 Subject: [PATCH 093/285] Piston inserter fixed, some crucial bug fixes in the pile insertion --- .../hbm/blocks/machine/PistonInserter.java | 55 ++-- .../pile/BlockGraphiteDrilledBase.java | 21 +- .../tileentity/RenderPistonInserter.java | 5 +- .../hbm/models/machines/piston_inserter.obj | 258 +++++++++++++----- 4 files changed, 247 insertions(+), 92 deletions(-) diff --git a/src/main/java/com/hbm/blocks/machine/PistonInserter.java b/src/main/java/com/hbm/blocks/machine/PistonInserter.java index 99b284104..b42828c0b 100644 --- a/src/main/java/com/hbm/blocks/machine/PistonInserter.java +++ b/src/main/java/com/hbm/blocks/machine/PistonInserter.java @@ -4,6 +4,8 @@ import com.hbm.blocks.BlockContainerBase; import com.hbm.tileentity.INBTPacketReceiver; import api.hbm.block.IInsertable; +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; @@ -53,7 +55,7 @@ public class PistonInserter extends BlockContainerBase { protected boolean checkRedstone(World world, int x, int y, int z) { for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { - if(world.getIndirectPowerOutput(x, y, z, dir.ordinal())) + if(world.getIndirectPowerOutput(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir.ordinal())) return true; } @@ -63,18 +65,9 @@ public class PistonInserter extends BlockContainerBase { @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) { - 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; - } else if(player.isSneaking()) { + if(side != world.getBlockMetadata(x, y, z)) return false; + + if(player.isSneaking()) { if(!world.isRemote) { TileEntityPistonInserter piston = (TileEntityPistonInserter)world.getTileEntity(x, y, z); @@ -91,6 +84,17 @@ public class PistonInserter extends BlockContainerBase { } } + 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; } @@ -160,7 +164,7 @@ public class PistonInserter extends BlockContainerBase { public ItemStack slot; - public int extend; + 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; @@ -168,10 +172,16 @@ public class PistonInserter extends BlockContainerBase { //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 + @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; //idk man, i can't find the convo bob had about them + public TileEntityPistonInserter() { } @Override - public void updateEntity() { //what is this amalgamation + public void updateEntity() { if(!worldObj.isRemote) { @@ -183,7 +193,7 @@ public class PistonInserter extends BlockContainerBase { this.extend++; if(this.extend >= this.maxExtend) { - worldObj.playSoundEffect(xCoord, yCoord, zCoord, "hbm:block.pressOperate", 1.5F, 1.0F); + 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); @@ -211,19 +221,30 @@ public class PistonInserter extends BlockContainerBase { INBTPacketReceiver.networkPack(this, data, 25); + } else { + this.lastExtend = this.renderExtend; + + if(this.turnProgress > 0) { + this.renderExtend += (this.syncExtend - this.renderExtend) / (double) this.turnProgress; + this.turnProgress--; + } else { + this.renderExtend = this.syncExtend; + } } } @Override public void networkUnpack(NBTTagCompound nbt) { - this.extend = nbt.getInteger("extend"); + this.syncExtend = nbt.getInteger("extend"); if(nbt.hasKey("stack")) { NBTTagCompound stack = nbt.getCompoundTag("stack"); this.slot = ItemStack.loadItemStackFromNBT(stack); } else this.slot = null; + + this.turnProgress = 2; } /* :3 NBT stuff */ diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java index 8e45d7aec..9d8b2fc8f 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java @@ -145,8 +145,7 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements if(baseBlock == null) return false; final int side = dir.ordinal(); - final int baseMeta = world.getBlockMetadata(x, y, z); - final int pureMeta = baseMeta & 3; //in case it's shrouded in aluminum + final int pureMeta = world.getBlockMetadata(x, y, z) & 3; //in case it's shrouded in aluminum if(side == pureMeta * 2 || side == pureMeta * 2 + 1) { //first, make sure we can even push rods out @@ -157,13 +156,14 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements Block b = world.getBlock(ix, iy, iz); - if(b instanceof BlockGraphiteDrilledBase) { - if((world.getBlockMetadata(ix, iy, iz) & 3) != pureMeta) //wrong orientation + if(b instanceof BlockGraphiteDrilledBase) { + int baseMeta = world.getBlockMetadata(ix, iy, iz); + if((baseMeta & 3) != pureMeta) //wrong orientation return false; - if(((BlockGraphiteDrilledBase)b).getInsertedItem() == null) //if there's nothing to push + if(((BlockGraphiteDrilledBase)b).getInsertedItem(baseMeta) == null) //if there's nothing to push break; - else if(i >= 4) //if there is stuff to push and we reach our limit + else if(i >= 3) //if there is stuff to push and we reach our limit return false; } else { if(b.isNormalCube()) //obstructions @@ -174,7 +174,7 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements } //TODO convert old methods to use itemstack for flexibility - int oldMeta = baseMeta | baseBlock.meta; //metablocks are kinda inconvenient to work with so + int oldMeta = pureMeta | baseBlock.meta; //metablocks are kinda inconvenient to work with so Block oldBlock = baseBlock.block; NBTTagCompound oldTag = new NBTTagCompound(); //In case of TEs @@ -193,10 +193,15 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements if(newBlock instanceof BlockGraphiteDrilledTE) { TileEntity te = world.getTileEntity(ix, iy, iz); te.writeToNBT(newTag); + newTag.setInteger("x", newTag.getInteger("x") + dir.offsetX); //malformed positions is very very bad and prevents the pile TEs from ticking + newTag.setInteger("y", newTag.getInteger("y") + dir.offsetY); + newTag.setInteger("z", newTag.getInteger("z") + dir.offsetZ); } world.setBlock(ix, iy, iz, oldBlock, (oldMeta & ~0b100) | (newMeta & 0b100), 2); + //TODO: fix buggy interaction when a pu239 rod is inserted into another pu239 rod. the te doesn't disappear in time (even when invalidated) so the progress is 'duplicated' in the new rod. + //the fix might be to make an additional part after the oldTag is initalized, where the id + x,y,z are set, meaning that all other values will be set back to 0 and fixed. if(oldBlock instanceof BlockGraphiteDrilledTE && !oldTag.hasNoTags()) { //safety first TileEntity te = world.getTileEntity(ix, iy, iz); te.readFromNBT(oldTag); @@ -211,7 +216,7 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements } else { Item eject = ((BlockGraphiteDrilledBase) oldBlock).getInsertedItem(oldMeta); //TODO old methods to itemstack this.ejectItem(world, ix - dir.offsetX, iy - dir.offsetY, iz - dir.offsetZ, dir, new ItemStack(eject)); - world.playSoundEffect(ix + 0.5, iy + 0.5, iz + 0.5, "hbm:item.upgradePlug", 1.0F, 1.0F); + world.playSoundEffect(ix + 0.5, iy + 0.5, iz + 0.5, "hbm:item.upgradePlug", 1.25F, 1.0F); break; } diff --git a/src/main/java/com/hbm/render/tileentity/RenderPistonInserter.java b/src/main/java/com/hbm/render/tileentity/RenderPistonInserter.java index f75aa3857..dc15763fe 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderPistonInserter.java +++ b/src/main/java/com/hbm/render/tileentity/RenderPistonInserter.java @@ -10,6 +10,7 @@ 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.minecraft.util.MathHelper; import net.minecraftforge.client.IItemRenderer; public class RenderPistonInserter extends TileEntitySpecialRenderer implements IItemRendererProvider { @@ -36,8 +37,8 @@ public class RenderPistonInserter extends TileEntitySpecialRenderer implements I ResourceManager.piston_inserter.renderPart("Frame"); TileEntityPistonInserter piston = (TileEntityPistonInserter)tile; - double e = piston.extend / (double)piston.maxExtend; - GL11.glTranslated(0, -e, 0); + double e = (piston.lastExtend + (piston.renderExtend - piston.lastExtend) * interp) / (double) piston.maxExtend; + GL11.glTranslated(0, e * 0.9375D, 0); ResourceManager.piston_inserter.renderPart("Piston"); GL11.glPopMatrix(); diff --git a/src/main/resources/assets/hbm/models/machines/piston_inserter.obj b/src/main/resources/assets/hbm/models/machines/piston_inserter.obj index 8d78694b6..ff7cc6c6d 100644 --- a/src/main/resources/assets/hbm/models/machines/piston_inserter.obj +++ b/src/main/resources/assets/hbm/models/machines/piston_inserter.obj @@ -75,6 +75,54 @@ v -0.125000 0.062500 0.125000 v -0.312500 0.062500 0.375000 v -0.125000 0.062500 0.062500 v -0.062500 0.062500 0.125000 +v 0.312500 0.062500 -0.375000 +v 0.375000 0.062500 -0.375000 +v 0.125000 0.062500 -0.125000 +v 0.375000 0.062500 -0.312500 +v 0.062500 0.062500 -0.125000 +v 0.125000 0.062500 -0.062500 +v -0.312500 0.062500 0.375000 +v -0.375000 0.062500 0.375000 +v -0.125000 0.062500 0.125000 +v -0.375000 0.062500 0.312500 +v -0.062500 0.062500 0.125000 +v -0.125000 0.062500 0.062500 +v 0.375000 0.062500 0.312500 +v 0.375000 0.062500 0.375000 +v 0.125000 0.062500 0.125000 +v 0.312500 0.062500 0.375000 +v 0.125000 0.062500 0.062500 +v 0.062500 0.062500 0.125000 +v -0.375000 0.062500 -0.312500 +v -0.375000 0.062500 -0.375000 +v -0.125000 0.062500 -0.125000 +v -0.312500 0.062500 -0.375000 +v -0.125000 0.062500 -0.062500 +v -0.062500 0.062500 -0.125000 +v 0.312500 0.937500 -0.375000 +v 0.375000 0.937500 -0.375000 +v 0.125000 0.937500 -0.125000 +v 0.375000 0.937500 -0.312500 +v 0.062500 0.937500 -0.125000 +v 0.125000 0.937500 -0.062500 +v -0.312500 0.937500 0.375000 +v -0.375000 0.937500 0.375000 +v -0.125000 0.937500 0.125000 +v -0.375000 0.937500 0.312500 +v -0.062500 0.937500 0.125000 +v -0.125000 0.937500 0.062500 +v 0.375000 0.937500 0.312500 +v 0.375000 0.937500 0.375000 +v 0.125000 0.937500 0.125000 +v 0.312500 0.937500 0.375000 +v 0.125000 0.937500 0.062500 +v 0.062500 0.937500 0.125000 +v -0.375000 0.937500 -0.312500 +v -0.375000 0.937500 -0.375000 +v -0.125000 0.937500 -0.125000 +v -0.312500 0.937500 -0.375000 +v -0.125000 0.937500 -0.062500 +v -0.062500 0.937500 -0.125000 vt 0.571429 0.666667 vt 0.000000 0.333333 vt 0.571429 0.333333 @@ -154,6 +202,30 @@ vt 0.071429 0.270833 vt 0.357143 0.125000 vt 0.464286 0.041667 vt 0.500000 0.062500 +vt 0.214286 0.125000 +vt 0.071429 0.062500 +vt 0.107143 0.041667 +vt 0.357143 0.208333 +vt 0.500000 0.270833 +vt 0.464286 0.291667 +vt 0.214286 0.208333 +vt 0.107143 0.291667 +vt 0.071429 0.270833 +vt 0.357143 0.125000 +vt 0.464286 0.041667 +vt 0.500000 0.062500 +vt 0.214286 0.125000 +vt 0.071429 0.062500 +vt 0.107143 0.041667 +vt 0.357143 0.208333 +vt 0.500000 0.270833 +vt 0.464286 0.291667 +vt 0.214286 0.208333 +vt 0.107143 0.291667 +vt 0.071429 0.270833 +vt 0.357143 0.125000 +vt 0.464286 0.041667 +vt 0.500000 0.062500 vt -0.000000 0.666667 vt 0.000000 0.666667 vt 0.000000 0.666667 @@ -191,6 +263,30 @@ vt 0.071429 0.291667 vt 0.357143 0.145833 vt 0.321429 0.125000 vt 0.500000 0.041667 +vt 0.250000 0.125000 +vt 0.214286 0.145833 +vt 0.071429 0.041667 +vt 0.321429 0.208333 +vt 0.357143 0.187500 +vt 0.500000 0.291667 +vt 0.214286 0.187500 +vt 0.250000 0.208333 +vt 0.071429 0.291667 +vt 0.357143 0.145833 +vt 0.321429 0.125000 +vt 0.500000 0.041667 +vt 0.250000 0.125000 +vt 0.214286 0.145833 +vt 0.071429 0.041667 +vt 0.321429 0.208333 +vt 0.357143 0.187500 +vt 0.500000 0.291667 +vt 0.214286 0.187500 +vt 0.250000 0.208333 +vt 0.071429 0.291667 +vt 0.357143 0.145833 +vt 0.321429 0.125000 +vt 0.500000 0.041667 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 0.0000 @@ -229,12 +325,20 @@ f 52/68/5 53/69/5 50/70/5 f 58/71/5 59/72/5 56/73/5 f 64/74/5 65/75/5 62/76/5 f 70/77/5 71/78/5 68/79/5 +f 76/80/6 77/81/6 74/82/6 +f 82/83/6 83/84/6 80/85/6 +f 88/86/6 89/87/6 86/88/6 +f 94/89/6 95/90/6 92/91/6 +f 100/92/6 101/93/6 98/94/6 +f 106/95/6 107/96/6 104/97/6 +f 112/98/6 113/99/6 110/100/6 +f 118/101/6 119/102/6 116/103/6 f 9/1/1 10/22/1 13/2/1 -f 10/4/2 11/80/2 15/5/2 -f 11/7/3 12/81/3 16/8/3 -f 12/10/4 9/82/4 14/11/4 -f 7/13/5 5/83/5 1/14/5 -f 4/16/6 2/84/6 6/17/6 +f 10/4/2 11/104/2 15/5/2 +f 11/7/3 12/105/3 16/8/3 +f 12/10/4 9/106/4 14/11/4 +f 7/13/5 5/107/5 1/14/5 +f 4/16/6 2/108/6 6/17/6 f 18/19/6 10/22/6 9/1/6 f 19/21/6 11/24/6 10/22/6 f 20/23/6 12/25/6 11/24/6 @@ -243,38 +347,62 @@ f 22/26/5 14/31/5 13/6/5 f 21/27/5 13/6/5 15/5/5 f 23/28/5 15/5/5 16/29/5 f 24/30/5 16/29/5 14/31/5 -f 8/32/2 7/85/2 3/33/2 -f 6/35/3 5/86/3 7/36/3 -f 2/38/4 1/87/4 5/39/4 -f 4/41/1 3/88/1 1/42/1 -f 23/44/1 24/89/1 20/45/1 -f 24/47/2 22/90/2 17/48/2 -f 22/50/3 21/91/3 18/51/3 -f 21/53/4 23/92/4 19/54/4 -f 25/58/5 30/93/5 27/56/5 -f 27/56/5 31/94/5 28/57/5 -f 28/57/5 26/95/5 25/58/5 -f 32/61/5 36/96/5 34/59/5 -f 34/59/5 37/97/5 35/60/5 -f 35/60/5 33/98/5 32/61/5 -f 38/64/5 42/99/5 40/62/5 -f 40/62/5 43/100/5 41/63/5 -f 41/63/5 39/101/5 38/64/5 -f 44/67/5 48/102/5 46/65/5 -f 46/65/5 49/103/5 47/66/5 -f 47/66/5 45/104/5 44/67/5 -f 50/70/5 54/105/5 52/68/5 -f 52/68/5 55/106/5 53/69/5 -f 53/69/5 51/107/5 50/70/5 -f 56/73/5 60/108/5 58/71/5 -f 58/71/5 61/109/5 59/72/5 -f 59/72/5 57/110/5 56/73/5 -f 62/76/5 66/111/5 64/74/5 -f 64/74/5 67/112/5 65/75/5 -f 65/75/5 63/113/5 62/76/5 -f 68/79/5 72/114/5 70/77/5 -f 70/77/5 73/115/5 71/78/5 -f 71/78/5 69/116/5 68/79/5 +f 8/32/2 7/109/2 3/33/2 +f 6/35/3 5/110/3 7/36/3 +f 2/38/4 1/111/4 5/39/4 +f 4/41/1 3/112/1 1/42/1 +f 23/44/1 24/113/1 20/45/1 +f 24/47/2 22/114/2 17/48/2 +f 22/50/3 21/115/3 18/51/3 +f 21/53/4 23/116/4 19/54/4 +f 25/58/5 30/117/5 27/56/5 +f 27/56/5 31/118/5 28/57/5 +f 28/57/5 26/119/5 25/58/5 +f 32/61/5 36/120/5 34/59/5 +f 34/59/5 37/121/5 35/60/5 +f 35/60/5 33/122/5 32/61/5 +f 38/64/5 42/123/5 40/62/5 +f 40/62/5 43/124/5 41/63/5 +f 41/63/5 39/125/5 38/64/5 +f 44/67/5 48/126/5 46/65/5 +f 46/65/5 49/127/5 47/66/5 +f 47/66/5 45/128/5 44/67/5 +f 50/70/5 54/129/5 52/68/5 +f 52/68/5 55/130/5 53/69/5 +f 53/69/5 51/131/5 50/70/5 +f 56/73/5 60/132/5 58/71/5 +f 58/71/5 61/133/5 59/72/5 +f 59/72/5 57/134/5 56/73/5 +f 62/76/5 66/135/5 64/74/5 +f 64/74/5 67/136/5 65/75/5 +f 65/75/5 63/137/5 62/76/5 +f 68/79/5 72/138/5 70/77/5 +f 70/77/5 73/139/5 71/78/5 +f 71/78/5 69/140/5 68/79/5 +f 74/82/6 78/141/6 76/80/6 +f 76/80/6 79/142/6 77/81/6 +f 77/81/6 75/143/6 74/82/6 +f 80/85/6 84/144/6 82/83/6 +f 82/83/6 85/145/6 83/84/6 +f 83/84/6 81/146/6 80/85/6 +f 86/88/6 90/147/6 88/86/6 +f 88/86/6 91/148/6 89/87/6 +f 89/87/6 87/149/6 86/88/6 +f 92/91/6 96/150/6 94/89/6 +f 94/89/6 97/151/6 95/90/6 +f 95/90/6 93/152/6 92/91/6 +f 98/94/6 102/153/6 100/92/6 +f 100/92/6 103/154/6 101/93/6 +f 101/93/6 99/155/6 98/94/6 +f 104/97/6 108/156/6 106/95/6 +f 106/95/6 109/157/6 107/96/6 +f 107/96/6 105/158/6 104/97/6 +f 110/100/6 114/159/6 112/98/6 +f 112/98/6 115/160/6 113/99/6 +f 113/99/6 111/161/6 110/100/6 +f 116/103/6 120/162/6 118/101/6 +f 118/101/6 121/163/6 119/102/6 +f 119/102/6 117/164/6 116/103/6 l 27 29 o Piston v -0.062500 1.000000 0.062500 @@ -349,31 +477,31 @@ vn 0.0000 1.0000 0.0000 vn 0.0000 -1.0000 0.0000 usemtl None s off -f 75/117/7 82/118/7 83/119/7 -f 77/120/8 84/121/8 82/122/8 -f 81/123/9 85/124/9 84/125/9 -f 79/126/10 83/127/10 85/128/10 -f 78/129/9 88/130/9 80/131/9 -f 77/132/11 79/133/11 81/134/11 -f 74/135/12 82/136/12 76/137/12 -f 76/137/12 84/138/12 80/139/12 -f 80/139/12 85/140/12 78/141/12 -f 78/141/12 83/142/12 74/135/12 -f 88/143/12 87/144/12 86/145/12 -f 76/146/7 87/147/7 74/148/7 -f 74/149/10 89/150/10 78/151/10 -f 80/152/8 86/153/8 76/154/8 -f 75/117/7 77/155/7 82/118/7 -f 77/120/8 81/156/8 84/121/8 -f 81/123/9 79/157/9 85/124/9 -f 79/126/10 75/158/10 83/127/10 -f 78/129/9 89/159/9 88/130/9 -f 77/132/11 75/160/11 79/133/11 -f 74/135/12 83/142/12 82/136/12 -f 76/137/12 82/136/12 84/138/12 -f 80/139/12 84/138/12 85/140/12 -f 78/141/12 85/140/12 83/142/12 -f 88/143/12 89/161/12 87/144/12 -f 76/146/7 86/162/7 87/147/7 -f 74/149/10 87/163/10 89/150/10 -f 80/152/8 88/164/8 86/153/8 +f 123/165/7 130/166/7 131/167/7 +f 125/168/8 132/169/8 130/170/8 +f 129/171/9 133/172/9 132/173/9 +f 127/174/10 131/175/10 133/176/10 +f 126/177/9 136/178/9 128/179/9 +f 125/180/11 127/181/11 129/182/11 +f 122/183/12 130/184/12 124/185/12 +f 124/185/12 132/186/12 128/187/12 +f 128/187/12 133/188/12 126/189/12 +f 126/189/12 131/190/12 122/183/12 +f 136/191/12 135/192/12 134/193/12 +f 124/194/7 135/195/7 122/196/7 +f 122/197/10 137/198/10 126/199/10 +f 128/200/8 134/201/8 124/202/8 +f 123/165/7 125/203/7 130/166/7 +f 125/168/8 129/204/8 132/169/8 +f 129/171/9 127/205/9 133/172/9 +f 127/174/10 123/206/10 131/175/10 +f 126/177/9 137/207/9 136/178/9 +f 125/180/11 123/208/11 127/181/11 +f 122/183/12 131/190/12 130/184/12 +f 124/185/12 130/184/12 132/186/12 +f 128/187/12 132/186/12 133/188/12 +f 126/189/12 133/188/12 131/190/12 +f 136/191/12 137/209/12 135/192/12 +f 124/194/7 134/210/7 135/195/7 +f 122/197/10 135/211/10 137/198/10 +f 128/200/8 136/212/8 134/201/8 From 2ea60eae1374818c5e6fb2c719c7fc3cd0e722a4 Mon Sep 17 00:00:00 2001 From: Vaern Date: Mon, 15 May 2023 22:52:32 -0700 Subject: [PATCH 094/285] Fixes! --- .../java/com/hbm/blocks/machine/PistonInserter.java | 5 ++++- .../blocks/machine/pile/BlockGraphiteDrilledBase.java | 11 ++++++----- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/hbm/blocks/machine/PistonInserter.java b/src/main/java/com/hbm/blocks/machine/PistonInserter.java index b42828c0b..d0725186f 100644 --- a/src/main/java/com/hbm/blocks/machine/PistonInserter.java +++ b/src/main/java/com/hbm/blocks/machine/PistonInserter.java @@ -109,7 +109,8 @@ public class PistonInserter extends BlockContainerBase { @Override public boolean isSideSolid(IBlockAccess world, int x, int y, int z, ForgeDirection side) { - return world.getBlockMetadata(x, y, z) != side.ordinal(); + int meta = world.getBlockMetadata(x, y, z); + return meta != side.ordinal() && meta != side.getOpposite().ordinal(); } @Override @@ -274,6 +275,8 @@ public class PistonInserter extends BlockContainerBase { } } + //TODO: render AABB that extends out in direction of piston so it will render + /* BS inventory stuff */ @Override public int getSizeInventory() { return 1; } diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java index 9d8b2fc8f..19adfb63e 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java @@ -177,6 +177,9 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements int oldMeta = pureMeta | baseBlock.meta; //metablocks are kinda inconvenient to work with so Block oldBlock = baseBlock.block; NBTTagCompound oldTag = new NBTTagCompound(); //In case of TEs + oldTag.setInteger("x", x); //giving tags prevents issues and resets any lingering tes. + oldTag.setInteger("y", y); + oldTag.setInteger("z", z); //now actually make the change for(int i = 0; i <= 3; i++) { //yeah yeah we know it's safe but let's be *extra cautious* of infinite loops @@ -193,15 +196,13 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements if(newBlock instanceof BlockGraphiteDrilledTE) { TileEntity te = world.getTileEntity(ix, iy, iz); te.writeToNBT(newTag); - newTag.setInteger("x", newTag.getInteger("x") + dir.offsetX); //malformed positions is very very bad and prevents the pile TEs from ticking - newTag.setInteger("y", newTag.getInteger("y") + dir.offsetY); - newTag.setInteger("z", newTag.getInteger("z") + dir.offsetZ); + newTag.setInteger("x", te.xCoord + dir.offsetX); //malformed positions is very very bad and prevents the pile TEs from ticking + newTag.setInteger("y", te.yCoord + dir.offsetY); + newTag.setInteger("z", te.zCoord + dir.offsetZ); } world.setBlock(ix, iy, iz, oldBlock, (oldMeta & ~0b100) | (newMeta & 0b100), 2); - //TODO: fix buggy interaction when a pu239 rod is inserted into another pu239 rod. the te doesn't disappear in time (even when invalidated) so the progress is 'duplicated' in the new rod. - //the fix might be to make an additional part after the oldTag is initalized, where the id + x,y,z are set, meaning that all other values will be set back to 0 and fixed. if(oldBlock instanceof BlockGraphiteDrilledTE && !oldTag.hasNoTags()) { //safety first TileEntity te = world.getTileEntity(ix, iy, iz); te.readFromNBT(oldTag); From 78cbce7a36af27039793d36e20450de85c585a96 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 16 May 2023 11:21:30 +0200 Subject: [PATCH 095/285] some untested turret compat stuff --- .../turret/TileEntityTurretBaseNT.java | 26 +++++++- .../java/com/hbm/util/CompatExternal.java | 65 +++++++++++++++++++ 2 files changed, 88 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java index ef43786c1..b8217f1d3 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java @@ -3,6 +3,7 @@ package com.hbm.tileentity.turret; import java.util.ArrayList; import java.util.Arrays; import java.util.List; +import java.util.function.BiFunction; import com.hbm.blocks.BlockDummyable; import com.hbm.entity.logic.EntityBomber; @@ -10,6 +11,7 @@ import com.hbm.entity.missile.EntityMissileBaseAdvanced; import com.hbm.entity.missile.EntityMissileCustom; import com.hbm.entity.missile.EntitySiegeDropship; import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.train.EntityRailCarBase; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.CasingEjector; @@ -24,6 +26,7 @@ import com.hbm.packet.PacketDispatcher; import com.hbm.particle.SpentCasing; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.CompatExternal; import api.hbm.energy.IEnergyUser; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -592,8 +595,20 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple 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); + if(lambda != null) { + int result = lambda.apply(e, this); + if(result == -1) return false; + if(result == 1) return true; + } + } + } + List wl = getWhitelist(); if(wl != null) { @@ -613,6 +628,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple 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) { @@ -621,6 +637,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple if(e instanceof EntityDragon) return false; if(e instanceof EntityDragonPart) return true; if(e instanceof IMob) return true; + for(Class c : CompatExternal.turretTargetHostile) if(c.isAssignableFrom(e.getClass())) return true; } if(targetMachines) { @@ -628,16 +645,19 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple if(e instanceof EntityMissileBaseAdvanced) return true; if(e instanceof EntityMissileCustom) return true; if(e instanceof EntityMinecart) return true; + if(e instanceof EntityRailCarBase) return true; if(e instanceof EntityBomber) return true; if(e instanceof EntitySiegeDropship) return true; + for(Class c : CompatExternal.turretTargetMachine) if(c.isAssignableFrom(e.getClass())) return true; } - if(targetPlayers && e instanceof EntityPlayer) { + if(targetPlayers ) { if(e instanceof FakePlayer) return false; - return true; + if(e instanceof EntityPlayer) return true; + for(Class c : CompatExternal.turretTargetPlayer) if(c.isAssignableFrom(e.getClass())) return true; } return false; diff --git a/src/main/java/com/hbm/util/CompatExternal.java b/src/main/java/com/hbm/util/CompatExternal.java index 00d1425ee..46f1fab61 100644 --- a/src/main/java/com/hbm/util/CompatExternal.java +++ b/src/main/java/com/hbm/util/CompatExternal.java @@ -1,15 +1,24 @@ package com.hbm.util; import java.util.ArrayList; +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 api.hbm.energy.IEnergyUser; import api.hbm.fluid.IFluidUser; 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.world.World; @@ -125,4 +134,60 @@ public class CompatExternal { return list; } + + public static Set turretTargetPlayer = new HashSet(); + 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; + case 2: turretTargetHostile.add(clazz); break; + 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. + */ + 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 + * @param bi is the lambda. The function should return 0 to continue with other targeting checks (i.e. do nothing), -1 to ignore this entity or 1 to target it. + * The params for this lambda are the entity and the turret in question. The type for the turret is omitted on purpose as to not require any reference of the tile entity + * 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); + } + + 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); + // Makes all chickens ignored by turrets, also applies to entities that inherit EntityChicken like ducks. + CompatExternal.registerTurretTargetBlacklist(EntityChicken.class); + // An example for more complex turret behavior. Turrets will always target players named "Target Practice", and sentry turrets will never target players. + CompatExternal.registerTurretTargetingCondition(EntityPlayer.class, (entity, turret) -> { + if(entity.getCommandSenderName().equals("Target Practice")) return 1; + if(turret instanceof TileEntityTurretSentry) return -1; + return 0; + }); + } } From e6bb2233fa82b58ad577507deb0d0f3ba9e6e63a Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 16 May 2023 15:13:20 +0200 Subject: [PATCH 096/285] usable train GUI --- .../java/com/hbm/extprop/HbmPlayerProps.java | 13 ++++++++++ .../java/com/hbm/handler/HbmKeybinds.java | 3 +++ .../inventory/recipes/ChemplantRecipes.java | 6 ++--- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../com/hbm/main/ModEventHandlerClient.java | 26 +++++++++++++++++++ src/main/resources/META-INF/HBM_at.cfg | 3 +++ 6 files changed, 49 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/hbm/extprop/HbmPlayerProps.java b/src/main/java/com/hbm/extprop/HbmPlayerProps.java index 23191641e..d6f173e61 100644 --- a/src/main/java/com/hbm/extprop/HbmPlayerProps.java +++ b/src/main/java/com/hbm/extprop/HbmPlayerProps.java @@ -1,8 +1,11 @@ package com.hbm.extprop; +import com.hbm.entity.train.EntityRailCarBase; import com.hbm.handler.HbmKeybinds.EnumKeybind; import com.hbm.main.MainRegistry; +import com.hbm.tileentity.IGUIProvider; +import cpw.mods.fml.common.network.internal.FMLNetworkHandler; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; @@ -78,6 +81,16 @@ public class HbmPlayerProps implements IExtendedEntityProperties { 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) { + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, player.worldObj, player.ridingEntity.getEntityId(), 0, 0); + } + } + } } keysPressed[key.ordinal()] = pressed; diff --git a/src/main/java/com/hbm/handler/HbmKeybinds.java b/src/main/java/com/hbm/handler/HbmKeybinds.java index 19ae602f3..b07989f7f 100644 --- a/src/main/java/com/hbm/handler/HbmKeybinds.java +++ b/src/main/java/com/hbm/handler/HbmKeybinds.java @@ -23,6 +23,7 @@ public class HbmKeybinds { 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_F, category); + public static KeyBinding trainKey = new KeyBinding(category + ".trainInv", Keyboard.KEY_R, 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); @@ -36,6 +37,7 @@ public class HbmKeybinds { ClientRegistry.registerKeyBinding(hudKey); ClientRegistry.registerKeyBinding(reloadKey); ClientRegistry.registerKeyBinding(dashKey); + ClientRegistry.registerKeyBinding(trainKey); ClientRegistry.registerKeyBinding(craneUpKey); ClientRegistry.registerKeyBinding(craneDownKey); @@ -69,6 +71,7 @@ public class HbmKeybinds { TOGGLE_HEAD, RELOAD, DASH, + TRAIN, CRANE_UP, CRANE_DOWN, CRANE_LEFT, diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index 979ff7f1e..57bad806d 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -190,13 +190,13 @@ public class ChemplantRecipes extends SerializableRecipe { recipes.add(new ChemRecipe(55, "CONCRETE", 100) .inputItems( new ComparableStack(Blocks.gravel, 8), - new ComparableStack(Blocks.sand, 8)) + new OreDictStack(KEY_SAND, 8)) .inputFluids(new FluidStack(Fluids.WATER, 2000)) .outputItems(new ItemStack(ModBlocks.concrete_smooth, 16))); recipes.add(new ChemRecipe(56, "CONCRETE_ASBESTOS", 100) .inputItems( new ComparableStack(Blocks.gravel, 2), - new ComparableStack(Blocks.sand, 2), + new OreDictStack(KEY_SAND, 2), (GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleChemsitry) ? new OreDictStack(ASBESTOS.ingot(), 1) : new OreDictStack(ASBESTOS.ingot(), 4)) @@ -204,7 +204,7 @@ public class ChemplantRecipes extends SerializableRecipe { .outputItems(new ItemStack(ModBlocks.concrete_asbestos, 16))); recipes.add(new ChemRecipe(79, "DUCRETE", 150) .inputItems( - new ComparableStack(Blocks.sand, 8), + new OreDictStack(KEY_SAND, 8), new OreDictStack(U238.billet(), 2), new ComparableStack(Items.clay_ball, 4)) .inputFluids(new FluidStack(Fluids.WATER, 2000)) diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 64544cadb..e79faa9a0 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -1908,6 +1908,7 @@ public class ClientProxy extends ServerProxy { 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(); diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 2fd559dd2..3d88bed9c 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -95,6 +95,7 @@ import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.AbstractClientPlayer; import net.minecraft.client.entity.EntityClientPlayerMP; +import net.minecraft.client.gui.GuiMainMenu; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.multiplayer.WorldClient; @@ -124,6 +125,7 @@ import net.minecraft.world.WorldProviderSurface; import net.minecraftforge.client.GuiIngameForge; 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.event.RenderGameOverlayEvent.ElementType; @@ -1230,4 +1232,28 @@ public class ModEventHandlerClient { } } } + + @SubscribeEvent + public void onOpenGUI(GuiOpenEvent event) { + + if(event.gui instanceof GuiMainMenu) { + 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 sulfuic acid"; break; + case 2: main.splashText = "All answers are popbob!"; break; + case 3: main.splashText = "None shall enter The Orb!"; break; + case 4: main.splashText = "Wacarb was here"; break; + case 5: main.splashText = "SpongeBoy me Bob I am overdosing on keramine agagagagaga"; break; + case 6: main.splashText = "I know where you live, " + System.getProperty("user.name"); break; + case 7: main.splashText = "Nice toes, now hand them over."; break; + case 8: main.splashText = "I smell burnt toast!"; break; + case 9: main.splashText = "There are bugs under your skin!"; break; + case 10: main.splashText = "Fentanyl!"; break; + case 11: main.splashText = "Do drugs!"; break; + } + } + } } diff --git a/src/main/resources/META-INF/HBM_at.cfg b/src/main/resources/META-INF/HBM_at.cfg index 5d2a92333..ab5149f2d 100644 --- a/src/main/resources/META-INF/HBM_at.cfg +++ b/src/main/resources/META-INF/HBM_at.cfg @@ -15,3 +15,6 @@ public net.minecraft.client.settings.KeyBinding field_74514_b # ha public net.minecraft.client.settings.KeyBinding field_151473_c # keybindSet public net.minecraft.client.settings.KeyBinding field_74513_e # pressed public net.minecraft.client.settings.KeyBinding field_151474_i # pressTime + +# GuiMainMenu +public net.minecraft.client.gui.GuiMainMenu field_73975_c # splashText From 5f27a78bcb844ebf4bce6f9876ce3ece951c0d5e Mon Sep 17 00:00:00 2001 From: Vaern Date: Tue, 16 May 2023 15:09:11 -0700 Subject: [PATCH 097/285] Fixed piston display, fixed critical issue, added comparator output still need fixes --- .../hbm/blocks/machine/PistonInserter.java | 8 +++- .../machine/pile/BlockGraphiteFuel.java | 12 ++++++ .../tileentity/RenderPistonInserter.java | 42 +++++++++++++++++-- .../machine/pile/TileEntityPileFuel.java | 20 +++++++-- 4 files changed, 73 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/hbm/blocks/machine/PistonInserter.java b/src/main/java/com/hbm/blocks/machine/PistonInserter.java index d0725186f..70defcb86 100644 --- a/src/main/java/com/hbm/blocks/machine/PistonInserter.java +++ b/src/main/java/com/hbm/blocks/machine/PistonInserter.java @@ -71,7 +71,7 @@ public class PistonInserter extends BlockContainerBase { if(!world.isRemote) { TileEntityPistonInserter piston = (TileEntityPistonInserter)world.getTileEntity(x, y, z); - if(piston.slot != null) { + 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); @@ -113,6 +113,8 @@ public class PistonInserter extends BlockContainerBase { return meta != side.ordinal() && meta != side.getOpposite().ordinal(); } + //TODO make item drop when block is broken + @Override public int getRenderType(){ return -1; @@ -252,6 +254,7 @@ public class PistonInserter extends BlockContainerBase { @Override public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); nbt.setInteger("extend", extend); nbt.setBoolean("retract", isRetracting); nbt.setBoolean("state", lastState); //saved so loading into a world doesn't cause issues @@ -264,10 +267,11 @@ public class PistonInserter extends BlockContainerBase { @Override public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); this.extend = nbt.getInteger("extend"); this.isRetracting = nbt.getBoolean("retract"); this.lastState = nbt.getBoolean("state"); - if(nbt.hasKey("stack")) { + if(nbt.hasKey("stack")) { //TODO double check that these work NBTTagCompound stack = nbt.getCompoundTag("stack"); this.slot = ItemStack.loadItemStackFromNBT(stack); } else { diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java index 3a315e2cf..74281a5e3 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java @@ -17,6 +17,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.ChatComponentText; import net.minecraft.util.ChatStyle; import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -34,6 +35,17 @@ public class BlockGraphiteFuel extends BlockGraphiteDrilledTE implements IToolab this.blockIconAluminum = iconRegister.registerIcon(RefStrings.MODID + ":block_graphite_fuel_aluminum"); } + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + @Override + public int getComparatorInputOverride(World world, int x, int y, int z, int side) { //serverside? maybe + TileEntityPileFuel pile = (TileEntityPileFuel)world.getTileEntity(x, y, z); + return MathHelper.clamp_int((pile.progress * 16) / pile.maxProgress, 0, 15); //potentially wip + } + @Override public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { diff --git a/src/main/java/com/hbm/render/tileentity/RenderPistonInserter.java b/src/main/java/com/hbm/render/tileentity/RenderPistonInserter.java index dc15763fe..e09129898 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderPistonInserter.java +++ b/src/main/java/com/hbm/render/tileentity/RenderPistonInserter.java @@ -6,11 +6,16 @@ import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.PistonInserter.TileEntityPistonInserter; import com.hbm.main.ResourceManager; import com.hbm.render.item.ItemRenderBase; +import com.hbm.render.util.RenderDecoItem; +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.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.MathHelper; import net.minecraftforge.client.IItemRenderer; public class RenderPistonInserter extends TileEntitySpecialRenderer implements IItemRendererProvider { @@ -25,10 +30,13 @@ public class RenderPistonInserter extends TileEntitySpecialRenderer implements I switch(tile.getBlockMetadata()) { case 0: GL11.glRotatef(180, 1F, 0F, 0F); break; case 1: break; - case 2: GL11.glRotatef(-90, 1F, 0F, 0F); break; - case 4: GL11.glRotatef(90, 0F, 0F, 1F); break; + case 2: GL11.glRotatef(-90, 1F, 0F, 0F); + GL11.glRotatef(180, 0F, 1F, 0F); break; + case 4: GL11.glRotatef(90, 0F, 0F, 1F); + GL11.glRotatef(-90, 0F, 1F, 0F); break; case 3: GL11.glRotatef(90, 1F, 0F, 0F); break; - case 5: GL11.glRotatef(-90, 0F, 0F, 1F); break; + case 5: GL11.glRotatef(-90, 0F, 0F, 1F); + GL11.glRotatef(90, 0F, 1F, 0F); break; } GL11.glTranslated(0D, -0.5, 0D); @@ -40,6 +48,32 @@ public class RenderPistonInserter extends TileEntitySpecialRenderer implements I double e = (piston.lastExtend + (piston.renderExtend - piston.lastExtend) * interp) / (double) piston.maxExtend; GL11.glTranslated(0, e * 0.9375D, 0); ResourceManager.piston_inserter.renderPart("Piston"); + + RenderItem itemRenderer = new RenderDecoItem(this); + itemRenderer.setRenderManager(RenderManager.instance); + + if(piston.slot != null) { + ItemStack stack = piston.slot.copy(); + + EntityItem item = new EntityItem(null, 0.0D, 0.0D, 0.0D, stack); + item.getEntityItem().stackSize = 1; + item.hoverStart = 0.0F; + + if(stack.getItem() instanceof ItemBlock) { + GL11.glTranslated(0.0D, 1.125D, 0.0D); + } else { + GL11.glTranslated(0.0D, 1.0625D, 0.1D); + if(!RenderManager.instance.options.fancyGraphics) + GL11.glTranslated(0.0D, 0.01D, 0.0D); + + GL11.glRotated(90, -1, 0, 0); + } + + RenderItem.renderInFrame = true; + itemRenderer.doRender(item, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F); + RenderItem.renderInFrame = false; + } + GL11.glPopMatrix(); } 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 869971e6f..7b00d14e2 100644 --- a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileFuel.java +++ b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileFuel.java @@ -9,6 +9,7 @@ import com.hbm.packet.PacketDispatcher; import api.hbm.block.IPileNeutronReceiver; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MathHelper; public class TileEntityPileFuel extends TileEntityPileBase implements IPileNeutronReceiver { @@ -24,7 +25,7 @@ public class TileEntityPileFuel extends TileEntityPileBase implements IPileNeutr if(!worldObj.isRemote) { dissipateHeat(); - react(); + checkRedstone(react()); transmute(); if(this.heat >= this.maxHeat) { @@ -53,22 +54,35 @@ public class TileEntityPileFuel extends TileEntityPileBase implements IPileNeutr 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 void react() { + 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; + return lastProgress; this.heat += reaction; for(int i = 0; i < 12; i++) this.castRay((int) Math.max(reaction * 0.25, 1), 5); + + 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) //TODO TEST + System.out.println(lastLevel + ", " + newLevel + "; " + lastProgress + ", " + progress); + if(lastLevel != newLevel) //the block update doesn't seem to update the comparators... need to troubleshoot and fix + worldObj.scheduleBlockUpdate(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1); //TODO test } private void transmute() { From d871e46b9f689970021d1414b6809f15751f7d05 Mon Sep 17 00:00:00 2001 From: Vaern Date: Tue, 16 May 2023 19:58:15 -0700 Subject: [PATCH 098/285] Fixes o'plenty, nearing completion --- .../hbm/blocks/machine/PistonInserter.java | 19 ++++++++++++++++--- .../pile/BlockGraphiteDrilledBase.java | 4 +++- .../machine/pile/BlockGraphiteFuel.java | 10 +++++++--- .../machine/pile/TileEntityPileFuel.java | 8 +++----- 4 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/hbm/blocks/machine/PistonInserter.java b/src/main/java/com/hbm/blocks/machine/PistonInserter.java index 70defcb86..8dd6114df 100644 --- a/src/main/java/com/hbm/blocks/machine/PistonInserter.java +++ b/src/main/java/com/hbm/blocks/machine/PistonInserter.java @@ -16,6 +16,7 @@ import net.minecraft.inventory.IInventory; 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; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -179,7 +180,7 @@ public class PistonInserter extends BlockContainerBase { @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; //idk man, i can't find the convo bob had about them + @SideOnly(Side.CLIENT) private int turnProgress; public TileEntityPistonInserter() { } @@ -271,7 +272,7 @@ public class PistonInserter extends BlockContainerBase { this.extend = nbt.getInteger("extend"); this.isRetracting = nbt.getBoolean("retract"); this.lastState = nbt.getBoolean("state"); - if(nbt.hasKey("stack")) { //TODO double check that these work + if(nbt.hasKey("stack")) { NBTTagCompound stack = nbt.getCompoundTag("stack"); this.slot = ItemStack.loadItemStackFromNBT(stack); } else { @@ -279,7 +280,19 @@ public class PistonInserter extends BlockContainerBase { } } - //TODO: render AABB that extends out in direction of piston so it will render + @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 */ diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java index 19adfb63e..58ec7bce2 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java @@ -201,13 +201,15 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements newTag.setInteger("z", te.zCoord + dir.offsetZ); } - world.setBlock(ix, iy, iz, oldBlock, (oldMeta & ~0b100) | (newMeta & 0b100), 2); + world.setBlock(ix, iy, iz, oldBlock, (oldMeta & ~0b100) | (newMeta & 0b100), 0); if(oldBlock instanceof BlockGraphiteDrilledTE && !oldTag.hasNoTags()) { //safety first TileEntity te = world.getTileEntity(ix, iy, iz); te.readFromNBT(oldTag); } + world.markAndNotifyBlock(ix, iy, iz, world.getChunkFromBlockCoords(ix, iz), newBlock, oldBlock, 3); //in case setBlock returns false due to = meta / block + oldMeta = newMeta; oldBlock = newBlock; oldTag = newTag; diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java index 74281a5e3..cc98534da 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteFuel.java @@ -24,8 +24,12 @@ import net.minecraftforge.common.util.ForgeDirection; public class BlockGraphiteFuel extends BlockGraphiteDrilledTE implements IToolable, IBlowable { @Override - public TileEntity createNewTileEntity(World world, int mets) { - return new TileEntityPileFuel(); + public TileEntity createNewTileEntity(World world, int meta) { + TileEntityPileFuel pile = new TileEntityPileFuel(); + if((meta & 8) != 0) + pile.progress = pile.maxProgress - 1000; // pu239 rods cringe :( + + return pile; } @Override @@ -41,7 +45,7 @@ public class BlockGraphiteFuel extends BlockGraphiteDrilledTE implements IToolab } @Override - public int getComparatorInputOverride(World world, int x, int y, int z, int side) { //serverside? maybe + public int getComparatorInputOverride(World world, int x, int y, int z, int side) { TileEntityPileFuel pile = (TileEntityPileFuel)world.getTileEntity(x, y, z); return MathHelper.clamp_int((pile.progress * 16) / pile.maxProgress, 0, 15); //potentially wip } 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 7b00d14e2..15233ad0c 100644 --- a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileFuel.java +++ b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileFuel.java @@ -18,7 +18,7 @@ public class TileEntityPileFuel extends TileEntityPileBase implements IPileNeutr public int neutrons; public int lastNeutrons; public int progress; - public static final int maxProgress = GeneralConfig.enable528 ? 75000 : 50000; + public static final int maxProgress = GeneralConfig.enable528 ? 75000 : 50000; //might double to reduce compact setup's effectiveness @Override public void updateEntity() { @@ -79,10 +79,8 @@ public class TileEntityPileFuel extends TileEntityPileBase implements IPileNeutr 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) //TODO TEST - System.out.println(lastLevel + ", " + newLevel + "; " + lastProgress + ", " + progress); - if(lastLevel != newLevel) //the block update doesn't seem to update the comparators... need to troubleshoot and fix - worldObj.scheduleBlockUpdate(this.xCoord, this.yCoord, this.zCoord, this.getBlockType(), 1); //TODO test + if(lastLevel != newLevel) + worldObj.notifyBlocksOfNeighborChange(xCoord, yCoord, zCoord, this.getBlockType()); } private void transmute() { From c58b456adbaf4cf1f312d9353bb3cade7eadc57b Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 17 May 2023 14:13:56 +0200 Subject: [PATCH 099/285] electric train class --- .../entity/train/EntityRailCarElectric.java | 68 +++++++++++++++++++ .../entity/train/EntityRailCarRidable.java | 52 ++++++++++++++ .../com/hbm/entity/train/TrainCargoTram.java | 40 +++-------- 3 files changed, 130 insertions(+), 30 deletions(-) create mode 100644 src/main/java/com/hbm/entity/train/EntityRailCarElectric.java diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarElectric.java b/src/main/java/com/hbm/entity/train/EntityRailCarElectric.java new file mode 100644 index 000000000..4a6b0bdff --- /dev/null +++ b/src/main/java/com/hbm/entity/train/EntityRailCarElectric.java @@ -0,0 +1,68 @@ +package com.hbm.entity.train; + +import com.hbm.items.ModItems; + +import api.hbm.energy.IBatteryItem; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public abstract class EntityRailCarElectric extends EntityRailCarRidable { + + public EntityRailCarElectric(World world) { + super(world); + } + + public abstract int getMaxPower(); + public abstract int getPowerConsumption(); + + public boolean hasChargeSlot() { return false; } + public int getChargeSlot() { return 0; } + + @Override protected void entityInit() { + this.dataWatcher.addObject(3, new Integer(0)); + } + + @Override public boolean canAccelerate() { + return this.getPower() >= this.getPowerConsumption(); + } + + @Override public void consumeFuel() { + this.setPower(this.getPower() - this.getPowerConsumption()); + } + + public void setPower(int power) { + this.dataWatcher.updateObject(3, power); + } + + public int getPower() { + return this.dataWatcher.getWatchableObjectInt(3); + } + + @Override + public void onUpdate() { + super.onUpdate(); + + if(!worldObj.isRemote) { + + if(this.hasChargeSlot()) { + ItemStack stack = this.getStackInSlot(this.getChargeSlot()); + + if(stack != null && stack.getItem() instanceof IBatteryItem) { + IBatteryItem battery = (IBatteryItem) stack.getItem(); + int powerNeeded = this.getMaxPower() - this.getPower(); + long powerProvided = Math.min(battery.getDischargeRate(), battery.getCharge(stack)); + int powerTransfered = (int) Math.min(powerNeeded, powerProvided); + + if(powerTransfered > 0) { + battery.dischargeBattery(stack, powerTransfered); + this.setPower(this.getPower() + powerTransfered); + } + } else if(stack != null) { + if(stack.getItem() == ModItems.battery_creative || stack.getItem() == ModItems.fusion_core_infinite) { + this.setPower(this.getMaxPower()); + } + } + } + } + } +} diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index 1725275b8..c7575c57a 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -13,6 +13,7 @@ import net.minecraft.world.World; public abstract class EntityRailCarRidable extends EntityRailCarCargo { + public double engineSpeed; public SeatDummyEntity[] passengerSeats; public EntityRailCarRidable(World world) { @@ -20,6 +21,57 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { this.passengerSeats = new SeatDummyEntity[this.getPassengerSeats().length]; } + /** Returns the linear speed added per tick when using powered movement */ + public abstract double getPoweredAcceleration(); + /** A mulitplier used on the speed either is there is no player in the train or if the parking brake is active */ + public abstract double getPassivBrake(); + /** The parking brake can be toggled, assuming a player is present, otherwise it is implicitly ON */ + public abstract boolean shouldUseEngineBrake(EntityPlayer player); + /** The max speed the engine can provide in both directions */ + public abstract double getMaxPoweredSpeed(); + /** Whether the engine is turned on */ + public abstract boolean canAccelerate(); + /** Called every tick if acceleration is successful */ + public void consumeFuel() { } + + /** An additive to the engine's speed yielding the total speed, caused by uneven surfaces */ + public double getGravitySpeed() { + return 0D; + } + + @Override + public double getCurrentSpeed() { // in its current form, only call once per tick + + if(this.riddenByEntity instanceof EntityPlayer) { + + EntityPlayer player = (EntityPlayer) this.riddenByEntity; + + if(this.canAccelerate()) { + if(player.moveForward > 0) { + engineSpeed += this.getPoweredAcceleration(); + } else if(player.moveForward < 0) { + engineSpeed -= this.getPoweredAcceleration(); + } else { + if(this.shouldUseEngineBrake(player)) { + engineSpeed *= this.getPassivBrake(); + } + } + } else { + if(this.shouldUseEngineBrake(player)) { + engineSpeed *= this.getPassivBrake(); + } + } + + } else { + engineSpeed *= this.getPassivBrake(); + } + + double maxSpeed = this.getMaxPoweredSpeed(); + engineSpeed = MathHelper.clamp_double(engineSpeed, -maxSpeed, maxSpeed); + + return engineSpeed + this.getGravitySpeed(); + } + @Override public boolean interactFirst(EntityPlayer player) { diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index 5ae727de1..4f5a466a1 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -19,12 +19,11 @@ import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; -import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class TrainCargoTram extends EntityRailCarRidable implements IGUIProvider { +public class TrainCargoTram extends EntityRailCarElectric implements IGUIProvider { /* * @@ -43,35 +42,11 @@ public class TrainCargoTram extends EntityRailCarRidable implements IGUIProvider super(world); this.setSize(5F, 2F); } - - public double speed = 0; - public static final double maxSpeed = 0.5; - public static final double acceleration = 0.01; - public static final double deceleration = 0.95; - @Override - public double getCurrentSpeed() { // in its current form, only call once per tick - - if(this.riddenByEntity instanceof EntityPlayer) { - - EntityPlayer player = (EntityPlayer) this.riddenByEntity; - - if(player.moveForward > 0) { - speed += acceleration; - } else if(player.moveForward < 0) { - speed -= acceleration; - } else { - speed *= deceleration; - } - - } else { - speed *= deceleration; - } - - speed = MathHelper.clamp_double(speed, -maxSpeed, maxSpeed); - - return speed; - } + @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 TrackGauge getGauge() { return TrackGauge.STANDARD; } @Override public double getLengthSpan() { return 1.5; } @@ -80,6 +55,11 @@ public class TrainCargoTram extends EntityRailCarRidable implements IGUIProvider @Override public int getSizeInventory() { return 29; } @Override public String getInventoryName() { return this.hasCustomInventoryName() ? this.getEntityName() : "container.trainTram"; } + @Override public int getMaxPower() { return this.getPowerConsumption() * 100; } + @Override public int getPowerConsumption() { return 50; } + @Override public boolean hasChargeSlot() { return true; } + @Override public int getChargeSlot() { return 28; } + @Override public DummyConfig[] getDummies() { return new DummyConfig[] { From b68b83e2e28a21ed0c99a97e621e97030da806e9 Mon Sep 17 00:00:00 2001 From: Vaern Date: Wed, 17 May 2023 07:47:32 -0700 Subject: [PATCH 100/285] Finishing touches i mean i think that's everything? --- .../hbm/blocks/machine/PistonInserter.java | 41 ++++++++++++++++++- .../java/com/hbm/main/CraftingManager.java | 3 +- src/main/resources/assets/hbm/lang/en_US.lang | 1 + 3 files changed, 43 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/hbm/blocks/machine/PistonInserter.java b/src/main/java/com/hbm/blocks/machine/PistonInserter.java index 8dd6114df..91e3e25b1 100644 --- a/src/main/java/com/hbm/blocks/machine/PistonInserter.java +++ b/src/main/java/com/hbm/blocks/machine/PistonInserter.java @@ -114,7 +114,46 @@ public class PistonInserter extends BlockContainerBase { return meta != side.ordinal() && meta != side.getOpposite().ordinal(); } - //TODO make item drop when block is broken + @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()); + } + + float f3 = 0.05F; + entityitem.motionX = (float) world.rand.nextGaussian() * f3; + entityitem.motionY = (float) world.rand.nextGaussian() * f3 + 0.2F; + entityitem.motionZ = (float) world.rand.nextGaussian() * f3; + world.spawnEntityInWorld(entityitem); + } + } + + world.func_147453_f(x, y, z, block); + } + + super.breakBlock(world, x, y, z, block, meta); + } @Override public int getRenderType(){ diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index baadb5428..77f0c09fa 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -308,7 +308,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.furnace_iron), new Object[] { "III", "IFI", "BBB", 'I', IRON.ingot(), 'F', Blocks.furnace, 'B', Blocks.stonebrick }); addRecipeAuto(new ItemStack(ModBlocks.machine_mixer), new Object[] { "PIP", "GCG", "PMP", 'P', STEEL.plate(), 'I', DURA.ingot(), 'G', KEY_ANYPANE, 'C', ModItems.circuit_copper, 'M', ModItems.motor }); addRecipeAuto(new ItemStack(ModBlocks.fan), new Object[] { "BPB", "PRP", "BPB", 'B', ModItems.bolt_tungsten, 'P', IRON.plate(), 'R', REDSTONE.dust() }); - + addRecipeAuto(new ItemStack(ModBlocks.piston_inserter), new Object[] { "ITI", "TPT", "ITI", 'P', DictFrame.fromOne(ModItems.part_generic, EnumPartType.PISTON_PNEUMATIC), 'I', IRON.plate(), 'T', ModItems.bolt_tungsten }); + addRecipeAuto(new ItemStack(ModBlocks.muffler, 1), new Object[] { "III", "IWI", "III", 'I', ModItems.plate_polymer, 'W', Blocks.wool }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.factory_titanium_hull), 8), new Object[] { "PIP", "I I", "PIP", 'P', TI.plate(), 'I', TI.ingot() }); diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index e2b518d48..5af3a39a9 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4462,6 +4462,7 @@ tile.deco_beryllium.name=Beryllium Deco Block tile.deco_computer.ibm_300pl.name=IBM Personal Computer 300PL tile.deco_emitter.name=Deco Light Emitter tile.part_emitter.name=Deco Particle Emitter +tile.piston_inserter.name=Inserter tile.deco_lead.name=Lead Deco Block tile.deco_rbmk.name=RBMK Deco Block tile.deco_rbmk_smooth.name=Smooth RBMK Deco Block From 9ce84ac921f9a7b8e3c60cee210712b7bb81b742 Mon Sep 17 00:00:00 2001 From: Vaern Date: Wed, 17 May 2023 07:58:43 -0700 Subject: [PATCH 101/285] whooooops --- .../com/hbm/tileentity/machine/pile/TileEntityPileSource.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 0c164657f..c297f9dfb 100644 --- a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileSource.java +++ b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileSource.java @@ -11,7 +11,7 @@ public class TileEntityPileSource extends TileEntityPileBase { int n = this.getBlockType() == ModBlocks.block_graphite_source ? 1 : 2; - for(int i = 0; i < 12 * 5; i++) { + for(int i = 0; i < 12; i++) { this.castRay(n, 5); } } From 830f0e5162726cb733ff7b4214c6f85ca527e137 Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 18 May 2023 22:05:22 +0200 Subject: [PATCH 102/285] fixed trains nor consuming fuel, some model stuff --- .../pile/BlockGraphiteDrilledBase.java | 1 + .../entity/train/EntityRailCarRidable.java | 8 +- .../com/hbm/entity/train/TrainCargoTram.java | 18 +- src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 2 + .../assets/hbm/models/weapons/coilgun.obj | 6170 +++++++++++++++++ .../assets/hbm/models/weapons/cryo_cannon.obj | 3733 ++++++++++ 7 files changed, 9930 insertions(+), 4 deletions(-) create mode 100644 src/main/resources/assets/hbm/models/weapons/coilgun.obj create mode 100644 src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java index 58ec7bce2..00b520a54 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java @@ -133,6 +133,7 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements if(item == ModItems.pile_rod_lithium) return new MetaBlock(ModBlocks.block_graphite_lithium); if(item == ModItems.cell_tritium) return new MetaBlock(ModBlocks.block_graphite_tritium); if(item == ModItems.pile_rod_detector) return new MetaBlock(ModBlocks.block_graphite_detector); + if(item == ModItems.ingot_graphite) return new MetaBlock(ModBlocks.block_graphite); return null; } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index c7575c57a..f49a95c45 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -49,17 +49,19 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { if(this.canAccelerate()) { if(player.moveForward > 0) { engineSpeed += this.getPoweredAcceleration(); + this.consumeFuel(); } else if(player.moveForward < 0) { engineSpeed -= this.getPoweredAcceleration(); + this.consumeFuel(); } else { if(this.shouldUseEngineBrake(player)) { engineSpeed *= this.getPassivBrake(); + } else { + this.consumeFuel(); } } } else { - if(this.shouldUseEngineBrake(player)) { - engineSpeed *= this.getPassivBrake(); - } + engineSpeed *= this.getPassivBrake(); } } else { diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index 4f5a466a1..8e5d7990f 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -1,5 +1,7 @@ package com.hbm.entity.train; +import java.util.Arrays; + import org.lwjgl.opengl.GL11; import com.hbm.blocks.rail.IRailNTM.TrackGauge; @@ -19,6 +21,7 @@ import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -56,7 +59,7 @@ public class TrainCargoTram extends EntityRailCarElectric implements IGUIProvide @Override public String getInventoryName() { return this.hasCustomInventoryName() ? this.getEntityName() : "container.trainTram"; } @Override public int getMaxPower() { return this.getPowerConsumption() * 100; } - @Override public int getPowerConsumption() { return 50; } + @Override public int getPowerConsumption() { return 10; } @Override public boolean hasChargeSlot() { return true; } @Override public int getChargeSlot() { return 28; } @@ -180,6 +183,12 @@ public class TrainCargoTram extends EntityRailCarElectric implements IGUIProvide this.ySize = 204; } + @Override + public void drawScreen(int x, int y, float interp) { + super.drawScreen(x, y, interp); + this.drawElectricityInfo(this, x, y, guiLeft + 152, guiTop + 18, 16, 52, train.getPower(), train.getMaxPower()); + } + @Override protected void drawGuiContainerForegroundLayer(int i, int j) { String name = this.train.hasCustomInventoryName() ? this.train.getInventoryName() : I18n.format(this.train.getInventoryName()); @@ -192,6 +201,13 @@ public class TrainCargoTram extends EntityRailCarElectric implements IGUIProvide GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + + int i = train.getPower() * 53 / train.getMaxPower(); + drawTexturedModalRect(guiLeft + 152, guiTop + 70 - i, 176, 52 - i, 16, i); + + if(train.getPower() > train.getPowerConsumption()) { + drawTexturedModalRect(guiLeft + 156, guiTop + 4, 176, 52, 9, 12); + } } } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index ad9fb7d74..1bc1639b7 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -397,6 +397,7 @@ container.soyuzLauncher=Soyuz-Startplatform container.storageDrum=Atommüll-Lagertrommel container.teleLinker=TelLink-Gerät container.teleporter=Teleporter +container.trainTram=Elektrischer Flachwagen container.turbinegas=Kombizyklus-Gasturbine container.turretArty=Greg container.turretChekhov=Tschechows Gewehr @@ -3156,6 +3157,7 @@ item.titanium_plate.name=Titanbrustpanzer item.titanium_shovel.name=Titanschaufel item.titanium_sword.name=Titanschwert item.toothpicks.name=Zahnstocher +item.train.cargo_tram.name=Elektrischer Flachwagen item.trinitite.name=Trinitit item.tritium_deuterium_cake.name=Tritium-Deuterium-Kuchen item.tsar_core.name=Fusionskern diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 5af3a39a9..994b22798 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -690,6 +690,7 @@ container.soyuzLauncher=Soyuz Launch Platform container.storageDrum=Nuclear Waste Disposal Drum container.teleLinker=TelLink Device container.teleporter=Teleporter +container.trainTram=Electric Flat Bed Tram container.turbinegas=Combined Cycle Gas Turbine container.turretArty=Greg container.turretChekhov=Chekhov's Gun @@ -3941,6 +3942,7 @@ item.titanium_plate.name=Titanium Chestplate item.titanium_shovel.name=Titanium Shovel item.titanium_sword.name=Titanium Sword item.toothpicks.name=Toothpicks +item.train.cargo_tram.name=Electric Flat Bed Tram item.trinitite.name=Trinitite item.tritium_deuterium_cake.name=Tritium-Deuterium-Cake item.tritium_deuterium_cake.desc=Not actual cake, but great$universal fusion fuel! diff --git a/src/main/resources/assets/hbm/models/weapons/coilgun.obj b/src/main/resources/assets/hbm/models/weapons/coilgun.obj new file mode 100644 index 000000000..2bf0c74b4 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/coilgun.obj @@ -0,0 +1,6170 @@ +# Blender v2.79 (sub 0) OBJ File: 'coilgun.blend' +# www.blender.org +o Coils_Cylinder.012 +v -0.463562 0.524760 -0.428106 +v -0.237813 0.524760 -0.428106 +v -0.237813 0.222044 -0.302716 +v -0.463562 0.222044 -0.302716 +v -0.237813 0.096655 0.000000 +v -0.463562 0.096655 0.000000 +v -0.237813 0.222044 0.302716 +v -0.463562 0.222044 0.302716 +v -0.237813 0.524760 0.428106 +v -0.463562 0.524760 0.428106 +v -0.237813 0.827477 0.302716 +v -0.463562 0.827477 0.302716 +v -0.237813 0.952866 0.000000 +v -0.463562 0.952866 0.000000 +v -0.237813 0.827477 -0.302716 +v -0.463562 0.827477 -0.302716 +v -0.170088 0.524760 -0.428106 +v 0.055660 0.524760 -0.428106 +v 0.055660 0.222044 -0.302716 +v -0.170088 0.222044 -0.302716 +v 0.055660 0.096655 0.000000 +v -0.170088 0.096655 0.000000 +v 0.055660 0.222044 0.302716 +v -0.170088 0.222044 0.302716 +v 0.055660 0.524760 0.428106 +v -0.170088 0.524760 0.428106 +v 0.055660 0.827477 0.302716 +v -0.170088 0.827477 0.302716 +v 0.055660 0.952866 0.000000 +v -0.170088 0.952866 0.000000 +v 0.055660 0.827477 -0.302716 +v -0.170088 0.827477 -0.302716 +v 0.123385 0.524760 -0.428106 +v 0.349134 0.524760 -0.428106 +v 0.349134 0.222044 -0.302716 +v 0.123385 0.222044 -0.302716 +v 0.349134 0.096655 0.000000 +v 0.123385 0.096655 0.000000 +v 0.349134 0.222044 0.302716 +v 0.123385 0.222044 0.302716 +v 0.349134 0.524760 0.428106 +v 0.123385 0.524760 0.428106 +v 0.349134 0.827477 0.302716 +v 0.123385 0.827477 0.302716 +v 0.349134 0.952866 0.000000 +v 0.123385 0.952866 0.000000 +v 0.349134 0.827477 -0.302716 +v 0.123385 0.827477 -0.302716 +v 0.416858 0.524760 -0.428106 +v 0.642607 0.524760 -0.428106 +v 0.642607 0.222044 -0.302716 +v 0.416858 0.222044 -0.302716 +v 0.642607 0.096655 0.000000 +v 0.416858 0.096655 0.000000 +v 0.642607 0.222044 0.302716 +v 0.416858 0.222044 0.302716 +v 0.642607 0.524760 0.428106 +v 0.416858 0.524760 0.428106 +v 0.642607 0.827477 0.302716 +v 0.416858 0.827477 0.302716 +v 0.642607 0.952866 0.000000 +v 0.416858 0.952866 0.000000 +v 0.642607 0.827477 -0.302716 +v 0.416858 0.827477 -0.302716 +v 0.710331 0.524760 -0.428106 +v 0.936080 0.524760 -0.428106 +v 0.936080 0.222044 -0.302716 +v 0.710331 0.222044 -0.302716 +v 0.936080 0.096655 0.000000 +v 0.710331 0.096655 0.000000 +v 0.936080 0.222044 0.302716 +v 0.710331 0.222044 0.302716 +v 0.936080 0.524760 0.428106 +v 0.710331 0.524760 0.428106 +v 0.936080 0.827477 0.302716 +v 0.710331 0.827477 0.302716 +v 0.936080 0.952866 0.000000 +v 0.710331 0.952866 0.000000 +v 0.936080 0.827477 -0.302716 +v 0.710331 0.827477 -0.302716 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.875000 0.500000 +vt 0.750000 1.000000 +vt 0.750000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.375000 1.000000 +vt 0.375000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.419706 0.419706 +vt 0.250000 0.490000 +vt 0.080294 0.419706 +vt 0.010000 0.250000 +vt 0.080294 0.080294 +vt 0.250000 0.010000 +vt 0.419706 0.080294 +vt 0.490000 0.250000 +vt 0.125000 1.000000 +vt 0.125000 0.500000 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.990000 0.250000 +vt 0.919706 0.080294 +vt 0.750000 0.010000 +vt 0.580294 0.080294 +vt 0.510000 0.250000 +vt 0.580294 0.419706 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.875000 0.500000 +vt 0.750000 1.000000 +vt 0.750000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.375000 1.000000 +vt 0.375000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.419706 0.419706 +vt 0.250000 0.490000 +vt 0.080294 0.419706 +vt 0.010000 0.250000 +vt 0.080294 0.080294 +vt 0.250000 0.010000 +vt 0.419706 0.080294 +vt 0.490000 0.250000 +vt 0.125000 1.000000 +vt 0.125000 0.500000 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.990000 0.250000 +vt 0.919706 0.080294 +vt 0.750000 0.010000 +vt 0.580294 0.080294 +vt 0.510000 0.250000 +vt 0.580294 0.419706 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.875000 0.500000 +vt 0.750000 1.000000 +vt 0.750000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.375000 1.000000 +vt 0.375000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.419706 0.419706 +vt 0.250000 0.490000 +vt 0.080294 0.419706 +vt 0.010000 0.250000 +vt 0.080294 0.080294 +vt 0.250000 0.010000 +vt 0.419706 0.080294 +vt 0.490000 0.250000 +vt 0.125000 1.000000 +vt 0.125000 0.500000 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.990000 0.250000 +vt 0.919706 0.080294 +vt 0.750000 0.010000 +vt 0.580294 0.080294 +vt 0.510000 0.250000 +vt 0.580294 0.419706 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.875000 0.500000 +vt 0.750000 1.000000 +vt 0.750000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.375000 1.000000 +vt 0.375000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.419706 0.419706 +vt 0.250000 0.490000 +vt 0.080294 0.419706 +vt 0.010000 0.250000 +vt 0.080294 0.080294 +vt 0.250000 0.010000 +vt 0.419706 0.080294 +vt 0.490000 0.250000 +vt 0.125000 1.000000 +vt 0.125000 0.500000 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.990000 0.250000 +vt 0.919706 0.080294 +vt 0.750000 0.010000 +vt 0.580294 0.080294 +vt 0.510000 0.250000 +vt 0.580294 0.419706 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.875000 0.500000 +vt 0.750000 1.000000 +vt 0.750000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.375000 1.000000 +vt 0.375000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.419706 0.419706 +vt 0.250000 0.490000 +vt 0.080294 0.419706 +vt 0.010000 0.250000 +vt 0.080294 0.080294 +vt 0.250000 0.010000 +vt 0.419706 0.080294 +vt 0.490000 0.250000 +vt 0.125000 1.000000 +vt 0.125000 0.500000 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.990000 0.250000 +vt 0.919706 0.080294 +vt 0.750000 0.010000 +vt 0.580294 0.080294 +vt 0.510000 0.250000 +vt 0.580294 0.419706 +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 1.0000 0.0000 0.0000 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 0.3827 -0.9239 +vn -1.0000 0.0000 0.0000 +s 1 +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 4/4/2 3/3/2 5/5/2 6/6/2 +f 6/6/3 5/5/3 7/7/3 8/8/3 +f 8/8/4 7/7/4 9/9/4 10/10/4 +f 10/10/5 9/9/5 11/11/5 12/12/5 +f 12/12/6 11/11/6 13/13/6 14/14/6 +f 3/15/7 2/16/7 15/17/7 13/18/7 11/19/7 9/20/7 7/21/7 5/22/7 +f 14/14/8 13/13/8 15/23/8 16/24/8 +f 16/24/9 15/23/9 2/25/9 1/26/9 +f 1/27/10 4/28/10 6/29/10 8/30/10 10/31/10 12/32/10 14/33/10 16/34/10 +f 17/35/1 18/36/1 19/37/1 20/38/1 +f 20/38/2 19/37/2 21/39/2 22/40/2 +f 22/40/3 21/39/3 23/41/3 24/42/3 +f 24/42/4 23/41/4 25/43/4 26/44/4 +f 26/44/5 25/43/5 27/45/5 28/46/5 +f 28/46/6 27/45/6 29/47/6 30/48/6 +f 19/49/7 18/50/7 31/51/7 29/52/7 27/53/7 25/54/7 23/55/7 21/56/7 +f 30/48/8 29/47/8 31/57/8 32/58/8 +f 32/58/9 31/57/9 18/59/9 17/60/9 +f 17/61/10 20/62/10 22/63/10 24/64/10 26/65/10 28/66/10 30/67/10 32/68/10 +f 33/69/1 34/70/1 35/71/1 36/72/1 +f 36/72/2 35/71/2 37/73/2 38/74/2 +f 38/74/3 37/73/3 39/75/3 40/76/3 +f 40/76/4 39/75/4 41/77/4 42/78/4 +f 42/78/5 41/77/5 43/79/5 44/80/5 +f 44/80/6 43/79/6 45/81/6 46/82/6 +f 35/83/7 34/84/7 47/85/7 45/86/7 43/87/7 41/88/7 39/89/7 37/90/7 +f 46/82/8 45/81/8 47/91/8 48/92/8 +f 48/92/9 47/91/9 34/93/9 33/94/9 +f 33/95/10 36/96/10 38/97/10 40/98/10 42/99/10 44/100/10 46/101/10 48/102/10 +f 49/103/1 50/104/1 51/105/1 52/106/1 +f 52/106/2 51/105/2 53/107/2 54/108/2 +f 54/108/3 53/107/3 55/109/3 56/110/3 +f 56/110/4 55/109/4 57/111/4 58/112/4 +f 58/112/5 57/111/5 59/113/5 60/114/5 +f 60/114/6 59/113/6 61/115/6 62/116/6 +f 51/117/7 50/118/7 63/119/7 61/120/7 59/121/7 57/122/7 55/123/7 53/124/7 +f 62/116/8 61/115/8 63/125/8 64/126/8 +f 64/126/9 63/125/9 50/127/9 49/128/9 +f 49/129/10 52/130/10 54/131/10 56/132/10 58/133/10 60/134/10 62/135/10 64/136/10 +f 65/137/1 66/138/1 67/139/1 68/140/1 +f 68/140/2 67/139/2 69/141/2 70/142/2 +f 70/142/3 69/141/3 71/143/3 72/144/3 +f 72/144/4 71/143/4 73/145/4 74/146/4 +f 74/146/5 73/145/5 75/147/5 76/148/5 +f 76/148/6 75/147/6 77/149/6 78/150/6 +f 67/151/7 66/152/7 79/153/7 77/154/7 75/155/7 73/156/7 71/157/7 69/158/7 +f 78/150/8 77/149/8 79/159/8 80/160/8 +f 80/160/9 79/159/9 66/161/9 65/162/9 +f 65/163/10 68/164/10 70/165/10 72/166/10 74/167/10 76/168/10 78/169/10 80/170/10 +o Tech_thingy_Cylinder.011 +v -1.457017 0.997796 0.139627 +v -1.457017 1.110929 0.189700 +v -1.405270 1.098405 0.216824 +v -1.405270 0.985272 0.166751 +v -1.405270 1.073357 0.271072 +v -1.405270 0.960224 0.220999 +v -1.457017 1.060833 0.298196 +v -1.457017 0.947700 0.248123 +v -1.508763 1.073357 0.271072 +v -1.508763 0.960224 0.220999 +v -1.508763 1.098405 0.216824 +v -1.508763 0.985272 0.166751 +v -1.322476 0.997796 0.139627 +v -1.322476 1.110929 0.189700 +v -1.270730 1.098405 0.216824 +v -1.270730 0.985272 0.166751 +v -1.270730 1.073357 0.271072 +v -1.270730 0.960224 0.220999 +v -1.322476 1.060833 0.298196 +v -1.322476 0.947700 0.248123 +v -1.374223 1.073357 0.271072 +v -1.374223 0.960224 0.220999 +v -1.374223 1.098405 0.216824 +v -1.374223 0.985272 0.166751 +v -1.187935 0.997796 0.139627 +v -1.187935 1.110929 0.189700 +v -1.136189 1.098405 0.216824 +v -1.136189 0.985272 0.166751 +v -1.136189 1.073357 0.271072 +v -1.136189 0.960224 0.220999 +v -1.187935 1.060833 0.298196 +v -1.187935 0.947700 0.248123 +v -1.239682 1.073357 0.271072 +v -1.239682 0.960224 0.220999 +v -1.239682 1.098405 0.216824 +v -1.239682 0.985272 0.166751 +v -1.551588 0.824089 0.270719 +v -1.551588 0.906574 0.321562 +v -1.551588 1.018668 0.066710 +v -1.551588 0.936183 0.015867 +v -1.097206 1.018668 0.066710 +v -1.097206 0.936183 0.015867 +v -1.097206 0.906574 0.321562 +v -1.097206 0.824089 0.270719 +v -1.521210 0.950031 0.320343 +v -1.521210 1.047137 0.099566 +v -1.127583 1.047137 0.099566 +v -1.127583 0.950031 0.320343 +v -1.457017 0.997796 -0.139627 +v -1.405271 0.985272 -0.166751 +v -1.405271 1.098405 -0.216824 +v -1.457017 1.110929 -0.189700 +v -1.405271 0.960224 -0.220999 +v -1.405271 1.073357 -0.271072 +v -1.457017 0.947700 -0.248123 +v -1.457017 1.060833 -0.298196 +v -1.508764 0.960224 -0.220999 +v -1.508764 1.073357 -0.271072 +v -1.508764 1.098405 -0.216824 +v -1.508764 0.985272 -0.166751 +v -1.322476 0.997796 -0.139627 +v -1.270730 0.985272 -0.166751 +v -1.270730 1.098405 -0.216824 +v -1.322476 1.110929 -0.189700 +v -1.270730 0.960224 -0.220999 +v -1.270730 1.073357 -0.271072 +v -1.322476 0.947700 -0.248123 +v -1.322476 1.060833 -0.298196 +v -1.374223 0.960224 -0.220999 +v -1.374223 1.073357 -0.271072 +v -1.374223 1.098405 -0.216824 +v -1.374223 0.985272 -0.166751 +v -1.187936 0.997796 -0.139627 +v -1.136189 0.985272 -0.166751 +v -1.136189 1.098405 -0.216824 +v -1.187936 1.110929 -0.189700 +v -1.136189 0.960224 -0.220999 +v -1.136189 1.073357 -0.271072 +v -1.187936 0.947700 -0.248123 +v -1.187936 1.060833 -0.298196 +v -1.239682 0.960224 -0.220999 +v -1.239682 1.073357 -0.271072 +v -1.239682 1.098405 -0.216824 +v -1.239682 0.985272 -0.166751 +v -1.551588 0.824089 -0.270719 +v -1.551588 0.936183 -0.015867 +v -1.551588 1.018668 -0.066710 +v -1.551588 0.906574 -0.321562 +v -1.097206 0.936183 -0.015867 +v -1.097206 1.018668 -0.066710 +v -1.097206 0.824089 -0.270719 +v -1.097206 0.906574 -0.321562 +v -1.521211 1.047137 -0.099566 +v -1.521211 0.950031 -0.320343 +v -1.127584 1.047137 -0.099566 +v -1.127584 0.950031 -0.320343 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.833333 1.000000 +vt 0.833333 0.500000 +vt 0.666667 1.000000 +vt 0.666667 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.333333 1.000000 +vt 0.333333 0.500000 +vt 0.457846 0.370000 +vt 0.250000 0.490000 +vt 0.042154 0.370000 +vt 0.042154 0.130000 +vt 0.250000 0.010000 +vt 0.457846 0.130000 +vt 0.166667 1.000000 +vt 0.166667 0.500000 +vt -0.000000 1.000000 +vt -0.000000 0.500000 +vt 0.750000 0.490000 +vt 0.957846 0.370000 +vt 0.957846 0.130000 +vt 0.750000 0.010000 +vt 0.542154 0.130000 +vt 0.542154 0.370000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.833333 1.000000 +vt 0.833333 0.500000 +vt 0.666667 1.000000 +vt 0.666667 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.333333 1.000000 +vt 0.333333 0.500000 +vt 0.457846 0.370000 +vt 0.250000 0.490000 +vt 0.042154 0.370000 +vt 0.042154 0.130000 +vt 0.250000 0.010000 +vt 0.457846 0.130000 +vt 0.166667 1.000000 +vt 0.166667 0.500000 +vt -0.000000 1.000000 +vt -0.000000 0.500000 +vt 0.750000 0.490000 +vt 0.957846 0.370000 +vt 0.957846 0.130000 +vt 0.750000 0.010000 +vt 0.542154 0.130000 +vt 0.542154 0.370000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.833333 1.000000 +vt 0.833333 0.500000 +vt 0.666667 1.000000 +vt 0.666667 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.333333 1.000000 +vt 0.333333 0.500000 +vt 0.457846 0.370000 +vt 0.250000 0.490000 +vt 0.042154 0.370000 +vt 0.042154 0.130000 +vt 0.250000 0.010000 +vt 0.457846 0.130000 +vt 0.166667 1.000000 +vt 0.166667 0.500000 +vt -0.000000 1.000000 +vt -0.000000 0.500000 +vt 0.750000 0.490000 +vt 0.957846 0.370000 +vt 0.957846 0.130000 +vt 0.750000 0.010000 +vt 0.542154 0.130000 +vt 0.542154 0.370000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 1.000000 0.500000 +vt 0.833333 0.500000 +vt 0.833333 1.000000 +vt 1.000000 1.000000 +vt 0.666667 0.500000 +vt 0.666667 1.000000 +vt 0.500000 0.500000 +vt 0.500000 1.000000 +vt 0.333333 0.500000 +vt 0.333333 1.000000 +vt 0.457846 0.370000 +vt 0.457846 0.130000 +vt 0.250000 0.010000 +vt 0.042154 0.130000 +vt 0.042154 0.370000 +vt 0.250000 0.490000 +vt 0.166667 0.500000 +vt 0.166667 1.000000 +vt -0.000000 0.500000 +vt -0.000000 1.000000 +vt 0.750000 0.490000 +vt 0.542154 0.370000 +vt 0.542154 0.130000 +vt 0.750000 0.010000 +vt 0.957846 0.130000 +vt 0.957846 0.370000 +vt 1.000000 0.500000 +vt 0.833333 0.500000 +vt 0.833333 1.000000 +vt 1.000000 1.000000 +vt 0.666667 0.500000 +vt 0.666667 1.000000 +vt 0.500000 0.500000 +vt 0.500000 1.000000 +vt 0.333333 0.500000 +vt 0.333333 1.000000 +vt 0.457846 0.370000 +vt 0.457846 0.130000 +vt 0.250000 0.010000 +vt 0.042154 0.130000 +vt 0.042154 0.370000 +vt 0.250000 0.490000 +vt 0.166667 0.500000 +vt 0.166667 1.000000 +vt -0.000000 0.500000 +vt -0.000000 1.000000 +vt 0.750000 0.490000 +vt 0.542154 0.370000 +vt 0.542154 0.130000 +vt 0.750000 0.010000 +vt 0.957846 0.130000 +vt 0.957846 0.370000 +vt 1.000000 0.500000 +vt 0.833333 0.500000 +vt 0.833333 1.000000 +vt 1.000000 1.000000 +vt 0.666667 0.500000 +vt 0.666667 1.000000 +vt 0.500000 0.500000 +vt 0.500000 1.000000 +vt 0.333333 0.500000 +vt 0.333333 1.000000 +vt 0.457846 0.370000 +vt 0.457846 0.130000 +vt 0.250000 0.010000 +vt 0.042154 0.130000 +vt 0.042154 0.370000 +vt 0.250000 0.490000 +vt 0.166667 0.500000 +vt 0.166667 1.000000 +vt -0.000000 0.500000 +vt -0.000000 1.000000 +vt 0.750000 0.490000 +vt 0.542154 0.370000 +vt 0.542154 0.130000 +vt 0.750000 0.010000 +vt 0.957846 0.130000 +vt 0.957846 0.370000 +vt 0.375000 0.000000 +vt 0.375000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.375000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 1.000000 +vt 0.625000 1.000000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.875000 0.750000 +vt 0.875000 0.500000 +vt 0.625000 1.000000 +vn 0.4999 0.3505 -0.7920 +vn 1.0000 -0.0000 0.0000 +vn 0.4999 -0.3505 0.7920 +vn -0.5000 -0.3505 0.7919 +vn 0.0000 0.9079 0.4192 +vn -1.0000 0.0000 0.0000 +vn -0.5000 0.3505 -0.7919 +vn 0.0000 -0.9079 -0.4192 +vn 0.5000 0.3505 -0.7919 +vn 0.5000 -0.3505 0.7919 +vn -0.4999 -0.3505 0.7920 +vn -0.4999 0.3505 -0.7920 +vn 0.0000 0.5247 -0.8513 +vn 0.0000 -0.5247 0.8513 +vn 0.0000 -0.9154 -0.4026 +vn -0.7911 0.5599 0.2463 +vn 0.0000 0.9154 0.4026 +vn 0.0000 0.0280 0.9996 +vn 0.0000 0.7558 -0.6548 +vn 0.7911 0.5599 0.2463 +vn 0.5000 0.3505 0.7919 +vn 0.5000 -0.3505 -0.7919 +vn -0.4999 -0.3505 -0.7920 +vn 0.0000 0.9079 -0.4192 +vn -0.4999 0.3505 0.7920 +vn 0.0000 -0.9079 0.4192 +vn 0.4999 0.3505 0.7920 +vn 0.4999 -0.3505 -0.7920 +vn -0.5000 -0.3505 -0.7919 +vn -0.5000 0.3505 0.7919 +vn 0.0000 0.5247 0.8513 +vn 0.0000 -0.5247 -0.8513 +vn 0.0000 -0.9154 0.4026 +vn -0.7911 0.5599 -0.2463 +vn 0.0000 0.9154 -0.4026 +vn 0.0000 0.0280 -0.9996 +vn 0.0000 0.7558 0.6548 +vn 0.7911 0.5599 -0.2463 +s 1 +f 81/171/11 82/172/11 83/173/11 84/174/11 +f 84/174/12 83/173/12 85/175/12 86/176/12 +f 86/176/13 85/175/13 87/177/13 88/178/13 +f 88/178/14 87/177/14 89/179/14 90/180/14 +f 83/181/15 82/182/15 91/183/15 89/184/15 87/185/15 85/186/15 +f 90/180/16 89/179/16 91/187/16 92/188/16 +f 92/188/17 91/187/17 82/189/17 81/190/17 +f 81/191/18 84/192/18 86/193/18 88/194/18 90/195/18 92/196/18 +f 93/197/19 94/198/19 95/199/19 96/200/19 +f 96/200/12 95/199/12 97/201/12 98/202/12 +f 98/202/20 97/201/20 99/203/20 100/204/20 +f 100/204/21 99/203/21 101/205/21 102/206/21 +f 95/207/15 94/208/15 103/209/15 101/210/15 99/211/15 97/212/15 +f 102/206/16 101/205/16 103/213/16 104/214/16 +f 104/214/22 103/213/22 94/215/22 93/216/22 +f 93/217/18 96/218/18 98/219/18 100/220/18 102/221/18 104/222/18 +f 105/223/19 106/224/19 107/225/19 108/226/19 +f 108/226/12 107/225/12 109/227/12 110/228/12 +f 110/228/20 109/227/20 111/229/20 112/230/20 +f 112/230/21 111/229/21 113/231/21 114/232/21 +f 107/233/15 106/234/15 115/235/15 113/236/15 111/237/15 109/238/15 +f 114/232/16 113/231/16 115/239/16 116/240/16 +f 116/240/22 115/239/22 106/241/22 105/242/22 +f 105/243/18 108/244/18 110/245/18 112/246/18 114/247/18 116/248/18 +f 117/249/16 118/250/16 119/251/16 120/252/16 +f 120/252/23 119/251/23 121/253/23 122/254/23 +f 122/254/12 121/253/12 123/255/12 124/256/12 +f 124/256/24 123/255/24 118/257/24 117/258/24 +f 120/259/25 122/254/25 124/256/25 117/260/25 +f 119/251/26 118/250/26 125/261/26 126/262/26 +f 127/263/27 126/264/27 125/265/27 128/266/27 +f 118/257/28 123/255/28 128/266/28 125/267/28 +f 121/253/29 119/251/29 126/262/29 127/263/29 +f 123/255/30 121/253/30 127/263/30 128/266/30 +f 129/268/31 130/269/31 131/270/31 132/271/31 +f 130/269/12 133/272/12 134/273/12 131/270/12 +f 133/272/32 135/274/32 136/275/32 134/273/32 +f 135/274/33 137/276/33 138/277/33 136/275/33 +f 131/278/34 134/279/34 136/280/34 138/281/34 139/282/34 132/283/34 +f 137/276/16 140/284/16 139/285/16 138/277/16 +f 140/284/35 129/286/35 132/287/35 139/285/35 +f 129/288/36 140/289/36 137/290/36 135/291/36 133/292/36 130/293/36 +f 141/294/31 142/295/31 143/296/31 144/297/31 +f 142/295/12 145/298/12 146/299/12 143/296/12 +f 145/298/32 147/300/32 148/301/32 146/299/32 +f 147/300/33 149/302/33 150/303/33 148/301/33 +f 143/304/34 146/305/34 148/306/34 150/307/34 151/308/34 144/309/34 +f 149/302/16 152/310/16 151/311/16 150/303/16 +f 152/310/35 141/312/35 144/313/35 151/311/35 +f 141/314/36 152/315/36 149/316/36 147/317/36 145/318/36 142/319/36 +f 153/320/37 154/321/37 155/322/37 156/323/37 +f 154/321/12 157/324/12 158/325/12 155/322/12 +f 157/324/38 159/326/38 160/327/38 158/325/38 +f 159/326/39 161/328/39 162/329/39 160/327/39 +f 155/330/34 158/331/34 160/332/34 162/333/34 163/334/34 156/335/34 +f 161/328/16 164/336/16 163/337/16 162/329/16 +f 164/336/40 153/338/40 156/339/40 163/337/40 +f 153/340/36 164/341/36 161/342/36 159/343/36 157/344/36 154/345/36 +f 165/346/16 166/347/16 167/348/16 168/349/16 +f 166/347/41 169/350/41 170/351/41 167/348/41 +f 169/350/12 171/352/12 172/353/12 170/351/12 +f 171/352/42 165/354/42 168/355/42 172/353/42 +f 166/356/43 165/357/43 171/352/43 169/350/43 +f 167/348/44 173/358/44 174/359/44 168/349/44 +f 175/360/45 176/361/45 174/362/45 173/363/45 +f 168/355/46 174/364/46 176/361/46 172/353/46 +f 170/351/47 175/360/47 173/358/47 167/348/47 +f 172/353/48 176/361/48 175/360/48 170/351/48 +o SideThingy_Cube.009 +v -1.552216 0.766425 0.449060 +v -1.552216 0.766425 0.324053 +v -1.613245 0.699098 0.324053 +v -1.613245 0.699098 0.449060 +v -1.552216 0.456014 0.324053 +v -1.052377 0.766425 0.324053 +v -1.052377 0.456014 0.324053 +v -1.052377 0.766425 0.449060 +v -1.048308 0.766425 0.449060 +v -1.048308 0.766425 0.324053 +v -1.052377 0.456014 0.449060 +v -1.552216 0.456014 0.449060 +v -1.048308 0.456014 0.324053 +v -1.041527 0.788142 0.315308 +v -1.041527 0.434297 0.315308 +v -1.048308 0.456014 0.449060 +v -1.041527 0.788142 0.457806 +v -1.041527 0.434297 0.457806 +v -0.900483 0.434297 0.457806 +v -0.900483 0.788142 0.457806 +v -0.900483 0.788142 0.315308 +v -0.896414 0.768510 0.449899 +v -0.896414 0.768510 0.323214 +v -0.900483 0.434297 0.315308 +v -0.896414 0.453929 0.449899 +v -0.817755 0.457256 0.449106 +v -0.817755 0.767895 0.449106 +v -0.896414 0.453929 0.323214 +v -0.817755 0.457256 0.324007 +v -0.817755 0.767895 0.324007 +v -1.613245 0.523341 0.449060 +v -1.613245 0.523341 0.324053 +v -1.552216 0.766425 -0.449060 +v -1.613245 0.699098 -0.449060 +v -1.613245 0.699098 -0.324053 +v -1.552216 0.766425 -0.324053 +v -1.552216 0.456014 -0.324053 +v -1.052377 0.456014 -0.324053 +v -1.052377 0.766425 -0.324053 +v -1.048308 0.766425 -0.324053 +v -1.048308 0.766425 -0.449060 +v -1.052377 0.766425 -0.449060 +v -1.052377 0.456014 -0.449060 +v -1.552216 0.456014 -0.449060 +v -1.048308 0.456014 -0.324053 +v -1.041528 0.434297 -0.315308 +v -1.041528 0.788142 -0.315308 +v -1.048308 0.456014 -0.449060 +v -1.041528 0.788142 -0.457806 +v -0.900483 0.788142 -0.457806 +v -0.900483 0.434297 -0.457806 +v -1.041528 0.434297 -0.457806 +v -0.900483 0.788142 -0.315308 +v -0.896414 0.768510 -0.323214 +v -0.896414 0.768510 -0.449899 +v -0.900483 0.434297 -0.315308 +v -0.817755 0.767895 -0.449106 +v -0.817755 0.457256 -0.449106 +v -0.896414 0.453929 -0.449899 +v -0.896414 0.453929 -0.323214 +v -0.817755 0.457256 -0.324007 +v -0.817755 0.767895 -0.324007 +v -1.613245 0.523341 -0.449060 +v -1.613245 0.523341 -0.324053 +vt 0.875000 0.750000 +vt 0.875000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.375000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.375000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.125000 0.750000 +vt 0.125000 0.500000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.875000 0.750000 +vt 0.875000 0.750000 +vt 0.875000 0.500000 +vt 0.875000 0.500000 +vt 0.375000 0.250000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.375000 1.000000 +vt 0.625000 1.000000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.375000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.375000 0.500000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.375000 0.750000 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.375000 0.000000 +vt 0.375000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt 0.375000 1.000000 +vt 0.625000 1.000000 +vn -0.7409 0.6716 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 -0.7903 0.0000 -0.6128 +vn -0.7903 0.0000 0.6127 +vn -0.9545 -0.2981 -0.0000 +vn -0.9545 0.2981 0.0000 +vn 0.9792 0.2030 0.0000 +vn 0.0101 0.0000 0.9999 +vn 0.8891 0.0000 -0.4576 +vn 0.8892 0.0000 0.4576 +vn 0.9792 -0.2030 -0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0423 -0.9991 -0.0000 +vn 0.0078 1.0000 0.0000 +vn 0.0101 0.0000 -0.9999 +vn -1.0000 0.0000 0.0000 +vn -0.7409 -0.6716 0.0000 +vn -0.7903 0.0000 -0.6127 +vn -0.9546 -0.2980 -0.0000 +vn -0.9546 0.2980 0.0000 +vn 0.8891 0.0000 0.4576 +vn 0.8892 0.0000 -0.4576 +s 1 +f 177/365/49 178/366/49 179/367/49 180/368/49 +f 181/369/50 178/370/50 182/371/50 183/372/50 +f 182/371/51 184/373/51 185/374/51 186/375/51 +f 187/376/52 184/373/52 177/377/52 188/378/52 +f 181/379/53 183/372/53 187/376/53 188/380/53 +f 182/371/51 178/366/51 177/365/51 184/373/51 +f 189/381/54 186/375/54 190/382/54 191/383/54 +f 183/372/50 182/371/50 186/375/50 189/381/50 +f 184/373/52 187/376/52 192/384/52 185/374/52 +f 187/376/53 183/372/53 189/381/53 192/384/53 +f 193/385/52 194/386/52 195/387/52 196/388/52 +f 185/374/55 192/384/55 194/386/55 193/385/55 +f 192/384/56 189/381/56 191/383/56 194/386/56 +f 186/375/57 185/374/57 193/385/57 190/382/57 +f 197/389/58 196/388/58 198/390/58 199/391/58 +f 194/386/53 191/383/53 200/392/53 195/387/53 +f 190/382/51 193/385/51 196/388/51 197/389/51 +f 191/383/50 190/382/50 197/389/50 200/392/50 +f 198/390/59 201/393/59 202/394/59 203/395/59 +f 200/392/60 197/389/60 199/391/60 204/396/60 +f 196/388/61 195/387/61 201/393/61 198/390/61 +f 195/387/62 200/392/62 204/396/62 201/393/62 +f 205/397/63 206/398/63 203/395/63 202/394/63 +f 201/393/64 204/396/64 205/397/64 202/394/64 +f 199/391/65 198/390/65 203/395/65 206/398/65 +f 204/396/66 199/391/66 206/398/66 205/397/66 +f 207/399/67 180/400/67 179/401/67 208/402/67 +f 181/379/68 188/380/68 207/403/68 208/404/68 +f 178/370/50 181/369/50 208/402/50 179/401/50 +f 188/378/52 177/377/52 180/405/52 207/406/52 +f 209/407/49 210/408/49 211/409/49 212/410/49 +f 213/411/52 214/412/52 215/413/52 212/414/52 +f 215/413/51 216/415/51 217/416/51 218/417/51 +f 219/418/50 220/419/50 209/420/50 218/417/50 +f 213/421/53 220/422/53 219/418/53 214/412/53 +f 215/413/51 218/417/51 209/407/51 212/410/51 +f 221/423/55 222/424/55 223/425/55 216/415/55 +f 214/412/52 221/423/52 216/415/52 215/413/52 +f 218/417/50 217/416/50 224/426/50 219/418/50 +f 219/418/53 224/426/53 221/423/53 214/412/53 +f 225/427/50 226/428/50 227/429/50 228/430/50 +f 217/416/69 225/427/69 228/430/69 224/426/69 +f 224/426/70 228/430/70 222/424/70 221/423/70 +f 216/415/71 223/425/71 225/427/71 217/416/71 +f 229/431/58 230/432/58 231/433/58 226/428/58 +f 228/430/53 227/429/53 232/434/53 222/424/53 +f 223/425/51 229/431/51 226/428/51 225/427/51 +f 222/424/52 232/434/52 229/431/52 223/425/52 +f 231/433/66 233/435/66 234/436/66 235/437/66 +f 232/434/72 236/438/72 230/432/72 229/431/72 +f 226/428/73 231/433/73 235/437/73 227/429/73 +f 227/429/62 235/437/62 236/438/62 232/434/62 +f 237/439/63 234/436/63 233/435/63 238/440/63 +f 235/437/64 234/436/64 237/439/64 236/438/64 +f 230/432/65 238/440/65 233/435/65 231/433/65 +f 236/438/59 237/439/59 238/440/59 230/432/59 +f 239/441/67 240/442/67 211/443/67 210/444/67 +f 213/421/68 240/445/68 239/446/68 220/422/68 +f 212/414/52 211/443/52 240/442/52 213/411/52 +f 220/419/50 239/447/50 210/448/50 209/420/50 +o AmmoVice_Cylinder.010 +v -2.170566 0.644712 -0.108739 +v -2.102717 0.644712 -0.108739 +v -2.102717 0.567822 -0.076890 +v -2.170566 0.567822 -0.076890 +v -2.102717 0.535974 0.000000 +v -2.170566 0.535974 0.000000 +v -2.102717 0.567822 0.076890 +v -2.170566 0.567822 0.076890 +v -2.102717 0.644712 0.108739 +v -2.170566 0.644712 0.108739 +v -2.102717 0.721602 0.076890 +v -2.170566 0.721602 0.076890 +v -2.102717 0.753451 0.000000 +v -2.170566 0.753451 0.000000 +v -2.102717 0.721602 -0.076890 +v -2.170566 0.721602 -0.076890 +v -2.209619 0.644712 0.088337 +v -2.209619 0.582248 0.062464 +v -2.209619 0.644712 -0.088337 +v -2.209619 0.582248 -0.062464 +v -2.209619 0.556375 0.000000 +v -2.209619 0.707176 0.062464 +v -2.209619 0.733049 0.000000 +v -2.209619 0.707176 -0.062464 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.875000 0.500000 +vt 0.750000 1.000000 +vt 0.750000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.375000 1.000000 +vt 0.375000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.419706 0.419706 +vt 0.250000 0.490000 +vt 0.080294 0.419706 +vt 0.010000 0.250000 +vt 0.080294 0.080294 +vt 0.250000 0.010000 +vt 0.419706 0.080294 +vt 0.490000 0.250000 +vt 0.125000 1.000000 +vt 0.125000 0.500000 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 0.500000 0.500000 +vt 0.625000 0.500000 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.990000 0.250000 +vt 0.919706 0.080294 +vt 0.750000 0.010000 +vt 0.580294 0.080294 +vt 0.510000 0.250000 +vt 0.580294 0.419706 +vt 0.125000 0.500000 +vt 0.250000 0.500000 +vt 0.750000 0.500000 +vt 0.875000 0.500000 +vt 0.375000 0.500000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +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 1.0000 0.0000 0.0000 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 0.3827 -0.9239 +vn -0.4347 -0.3446 0.8320 +vn -1.0000 0.0000 0.0000 +vn -0.4347 0.8320 -0.3446 +vn -0.4347 -0.8320 -0.3446 +vn -0.4347 0.3446 0.8320 +vn -0.4347 0.3446 -0.8320 +vn -0.4347 -0.3446 -0.8320 +vn -0.4347 -0.8320 0.3446 +vn -0.4347 0.8320 0.3446 +s 1 +f 241/449/74 242/450/74 243/451/74 244/452/74 +f 244/452/75 243/451/75 245/453/75 246/454/75 +f 246/454/76 245/453/76 247/455/76 248/456/76 +f 248/456/77 247/455/77 249/457/77 250/458/77 +f 250/458/78 249/457/78 251/459/78 252/460/78 +f 252/460/79 251/459/79 253/461/79 254/462/79 +f 243/463/80 242/464/80 255/465/80 253/466/80 251/467/80 249/468/80 247/469/80 245/470/80 +f 254/462/81 253/461/81 255/471/81 256/472/81 +f 256/472/82 255/471/82 242/473/82 241/474/82 +f 248/456/83 250/458/83 257/475/83 258/476/83 +f 259/477/84 260/478/84 261/479/84 258/480/84 257/481/84 262/482/84 263/483/84 264/484/84 +f 254/462/85 256/472/85 264/485/85 263/486/85 +f 244/452/86 246/454/86 261/487/86 260/488/86 +f 250/458/87 252/460/87 262/489/87 257/475/87 +f 256/472/88 241/474/88 259/490/88 264/485/88 +f 241/449/89 244/452/89 260/488/89 259/491/89 +f 246/454/90 248/456/90 258/476/90 261/487/90 +f 252/460/91 254/462/91 263/486/91 262/489/91 +o UnderailBit_Cylinder.006 +v -0.166791 0.038391 -0.117032 +v -0.166791 0.038391 0.117032 +v -0.118438 0.018363 0.117032 +v -0.118438 0.018363 -0.117032 +v -0.098409 -0.029991 0.117032 +v -0.098409 -0.029991 -0.117032 +v -0.118438 -0.078344 0.117032 +v -0.118438 -0.078344 -0.117032 +v -0.166791 -0.098373 0.117032 +v -0.166791 -0.098373 -0.117032 +v -0.215145 -0.078344 0.117032 +v -0.215145 -0.078344 -0.117032 +v -0.235173 -0.029991 0.117032 +v -0.235173 -0.029991 -0.117032 +v -0.215145 0.018363 0.117032 +v -0.215145 0.018363 -0.117032 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.875000 0.500000 +vt 0.750000 1.000000 +vt 0.750000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.375000 1.000000 +vt 0.375000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.419706 0.419706 +vt 0.250000 0.490000 +vt 0.080294 0.419706 +vt 0.010000 0.250000 +vt 0.080294 0.080294 +vt 0.250000 0.010000 +vt 0.419706 0.080294 +vt 0.490000 0.250000 +vt 0.125000 1.000000 +vt 0.125000 0.500000 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.990000 0.250000 +vt 0.919706 0.080294 +vt 0.750000 0.010000 +vt 0.580294 0.080294 +vt 0.510000 0.250000 +vt 0.580294 0.419706 +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.3827 0.9239 0.0000 +vn -0.0000 0.0000 -1.0000 +s 1 +f 265/492/92 266/493/92 267/494/92 268/495/92 +f 268/495/93 267/494/93 269/496/93 270/497/93 +f 270/497/94 269/496/94 271/498/94 272/499/94 +f 272/499/95 271/498/95 273/500/95 274/501/95 +f 274/501/96 273/500/96 275/502/96 276/503/96 +f 276/503/97 275/502/97 277/504/97 278/505/97 +f 267/506/98 266/507/98 279/508/98 277/509/98 275/510/98 273/511/98 271/512/98 269/513/98 +f 278/505/99 277/504/99 279/514/99 280/515/99 +f 280/515/100 279/514/100 266/516/100 265/517/100 +f 265/518/101 268/519/101 270/520/101 272/521/101 274/522/101 276/523/101 278/524/101 280/525/101 +o Underail_Cube.004 +v -0.033837 0.094104 -0.072767 +v -0.033837 -0.016338 -0.072767 +v -0.115306 -0.142061 -0.072767 +v -0.115306 0.094104 -0.072767 +v 0.797049 0.094104 -0.072767 +v 0.797049 -0.016338 -0.072767 +v 0.796577 -0.079782 0.048582 +v 0.796577 -0.079782 -0.048582 +v 0.886076 -0.258069 -0.048582 +v 0.886076 -0.258069 0.048582 +v 0.797049 -0.016338 0.072767 +v 0.797049 0.094104 0.072767 +v -0.033837 0.094104 0.072767 +v -0.033837 -0.016338 0.072767 +v -0.026079 -0.079782 -0.048582 +v -0.115306 0.094104 0.072767 +v -0.272459 0.094104 -0.072767 +v -0.272459 0.094104 0.072767 +v -0.115306 -0.142061 0.072767 +v -0.272459 -0.098487 0.072767 +v -0.264701 -0.161930 0.048582 +v -0.107548 -0.205505 0.048582 +v -0.272459 -0.098487 -0.072767 +v -0.026079 -0.079782 0.048582 +v -0.107548 -0.205505 -0.048582 +v -0.264701 -0.161930 -0.048582 +v 0.886547 0.093771 0.072767 +v 0.886547 0.093771 -0.072767 +v 0.886547 -0.194626 0.072767 +v 0.888072 -0.069961 0.072767 +v 0.917361 0.000750 0.072767 +v 0.988072 0.030039 0.072767 +v 1.058783 0.000750 0.072767 +v 1.088072 -0.069961 0.072767 +v 1.088250 -0.195375 0.072767 +v 1.088250 0.093022 0.072767 +v 0.886547 -0.194626 -0.072767 +v 1.088250 -0.195375 -0.072767 +v 1.087778 -0.258818 -0.048582 +v 1.087778 -0.258818 0.048582 +v 1.152616 -0.153109 -0.048582 +v 1.152616 -0.153109 0.048582 +v 1.153087 -0.089666 0.072767 +v 1.088250 0.093022 -0.072767 +v 0.888072 -0.069961 -0.072767 +v 0.917362 -0.140671 -0.072767 +v 0.988072 -0.169961 -0.072767 +v 1.058783 -0.140671 -0.072767 +v 1.088072 -0.069961 -0.072767 +v 1.153087 -0.089666 -0.072767 +v 1.153087 0.092782 -0.072767 +v 1.153087 0.092782 0.072767 +v 0.917361 0.000750 -0.072767 +v 1.058783 0.000750 -0.072767 +v 1.058783 -0.140671 0.072767 +v 0.988072 -0.169961 0.072767 +v 0.917362 -0.140671 0.072767 +v 0.988072 0.030039 -0.072767 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.375000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.750000 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.250000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.875000 0.750000 +vt 0.875000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.375000 1.000000 +vt 0.625000 1.000000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt 0.125000 0.750000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt 0.125000 0.500000 +vt 0.375000 0.250000 +vt 0.375000 0.000000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.375000 0.250000 +vt 0.375000 0.750000 +vt 0.483072 0.750000 +vt 0.544463 0.750000 +vt 0.570080 0.750000 +vt 0.544918 0.750000 +vt 0.483716 0.750000 +vt 0.375000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.750000 +vt 0.375000 0.500000 +vt 0.375000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 0.500000 +vt 0.483072 0.500000 +vt 0.421870 0.500000 +vt 0.396708 0.500000 +vt 0.422325 0.500000 +vt 0.483716 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.125000 0.688522 +vt 0.125000 0.811478 +vt 0.250000 0.811478 +vt 0.250000 0.688522 +vt 0.750000 0.688522 +vt 0.750000 0.811478 +vt 0.875000 0.811478 +vt 0.875000 0.688522 +vt 0.422325 0.750000 +vt 0.396708 0.750000 +vt 0.421870 0.750000 +vt 0.375000 0.811478 +vt 0.375000 0.688522 +vt 0.625000 0.688522 +vt 0.625000 0.811478 +vt 0.500000 0.688522 +vt 0.500000 0.811478 +vt 0.000000 0.688522 +vt 0.000000 0.811478 +vt 1.000000 0.811478 +vt 1.000000 0.688522 +vt 0.544918 0.500000 +vt 0.570080 0.500000 +vt 0.544463 0.500000 +vn 0.0000 0.0000 -1.0000 +vn -0.8937 -0.4486 0.0000 +vn 0.0000 -0.0000 1.0000 +vn 0.0000 -0.3562 -0.9344 +vn 0.0019 1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.1012 -0.3652 0.9254 +vn -1.0000 -0.0000 0.0000 +vn 0.4263 -0.2762 0.8614 +vn 0.0000 -1.0000 0.0000 +vn 0.8392 -0.5438 0.0000 +vn -0.2672 -0.9636 0.0000 +vn -0.9926 -0.1214 0.0000 +vn 0.0037 1.0000 0.0000 +vn -0.1012 -0.3652 -0.9254 +vn 0.4263 -0.2762 -0.8614 +vn 0.0000 -0.3562 0.9344 +vn -0.0013 -0.3562 -0.9344 +vn -0.5737 -0.2880 -0.7667 +vn -0.5737 -0.2880 0.7667 +vn 0.8524 -0.5228 0.0000 +vn 0.5062 -0.3105 0.8046 +vn -0.0013 -0.3562 0.9344 +vn -0.0037 -1.0000 0.0000 +vn 1.0000 -0.0069 -0.0000 +vn 1.0000 0.0000 0.0000 +vn 1.0000 -0.0074 0.0000 +vn 0.5062 -0.3105 -0.8046 +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 1 +f 281/526/102 282/527/102 283/528/102 284/529/102 +f 282/527/102 281/526/102 285/530/102 286/531/102 +f 287/532/103 288/533/103 289/534/103 290/535/103 +f 291/536/104 292/537/104 293/538/104 294/539/104 +f 282/527/105 286/531/105 288/533/105 295/540/105 +f 285/530/106 281/541/107 293/542/107 292/537/106 +f 296/543/107 284/544/107 297/545/107 298/546/107 +f 294/539/104 293/538/104 296/547/104 299/548/104 +f 293/542/107 281/541/107 284/544/107 296/543/107 +f 299/548/108 300/549/108 301/550/108 302/551/108 +f 300/552/109 298/553/109 297/554/109 303/555/109 +f 294/539/110 299/548/110 302/551/110 304/556/110 +f 284/529/102 283/528/102 303/555/102 297/554/102 +f 299/548/104 296/547/104 298/557/104 300/549/104 +f 295/558/111 288/533/111 287/532/111 304/559/111 +f 295/558/112 304/559/112 302/560/112 305/561/112 +f 305/561/113 302/560/113 301/562/113 306/563/113 +f 300/552/114 303/555/114 306/564/114 301/565/114 +f 285/530/106 292/537/106 307/566/115 308/567/115 +f 303/555/116 283/528/116 305/568/116 306/564/116 +f 283/528/117 282/527/117 295/540/117 305/568/117 +f 291/536/118 294/539/118 304/556/118 287/532/118 +f 307/566/104 309/569/104 310/570/104 311/571/104 312/572/104 313/573/104 314/574/104 315/575/104 316/576/104 +f 289/534/119 317/577/119 318/578/119 319/579/119 +f 288/533/120 286/531/120 317/577/120 289/534/120 +f 286/531/102 285/530/102 308/567/102 317/577/102 +f 291/536/121 287/532/121 290/535/121 309/569/121 +f 292/537/104 291/536/104 309/569/104 307/566/104 +f 320/580/122 319/579/122 321/581/122 322/582/122 +f 315/575/123 320/580/123 322/582/123 323/583/123 +f 309/569/124 290/535/124 320/580/124 315/575/124 +f 290/535/125 289/534/125 319/579/125 320/580/125 +f 308/567/115 307/566/115 316/576/115 324/584/115 +f 317/577/102 325/585/102 326/586/102 327/587/102 328/588/102 329/589/102 318/578/102 +f 330/590/126 331/591/127 332/592/127 323/583/126 +f 330/590/126 323/583/126 322/582/128 321/581/128 +f 324/584/115 316/576/115 332/592/115 331/591/115 +f 318/578/102 324/584/102 331/591/102 330/590/102 +f 319/579/129 318/578/129 330/590/129 321/581/129 +f 316/576/104 315/575/104 323/583/104 332/592/104 +f 333/593/130 311/594/130 310/595/130 325/596/130 +f 329/597/131 314/598/131 313/599/131 334/600/131 +f 315/575/104 314/574/104 335/601/104 336/602/104 337/603/104 310/570/104 309/569/104 +f 325/596/132 310/595/132 337/604/132 326/605/132 +f 328/606/133 335/607/133 314/598/133 329/597/133 +f 327/608/134 336/609/134 335/607/134 328/606/134 +f 338/610/135 312/611/135 311/594/135 333/593/135 +f 334/600/136 313/599/136 312/612/136 338/613/136 +f 326/605/137 337/604/137 336/609/137 327/608/137 +f 318/578/102 329/589/102 334/614/102 338/615/102 333/616/102 325/585/102 317/577/102 308/567/102 324/584/102 +o UndeRail_Cube.005 +v -1.185225 0.299229 -0.228225 +v -1.185225 0.078919 -0.228225 +v -1.579320 0.146982 -0.228225 +v -1.579320 0.299229 -0.228225 +v -0.726389 0.070637 -0.201417 +v -0.726389 0.299229 -0.201417 +v -0.726389 0.299229 0.201417 +v -0.726389 0.070637 0.201417 +v -0.770558 0.343398 -0.201417 +v -1.096886 0.343398 -0.201417 +v -1.096886 0.343398 0.201417 +v -0.770558 0.343398 0.201417 +v -1.185225 0.078919 0.228225 +v -1.185225 0.299229 0.228225 +v -1.579320 0.299229 0.228225 +v -1.579320 0.146982 0.228225 +v -1.185225 0.343398 0.201417 +v -1.185225 0.343398 -0.201417 +v -1.579320 0.343398 -0.201417 +v -1.579320 0.343398 0.201417 +v -1.096886 0.026467 -0.201417 +v -0.770558 0.026467 -0.201417 +v -0.770558 0.026467 0.201417 +v -1.096886 0.026467 0.201417 +v -1.096886 0.070637 -0.228225 +v -1.096886 0.299229 -0.228225 +v -0.770558 0.299229 -0.228225 +v -0.770558 0.070637 -0.228225 +v -0.770558 0.070637 0.228225 +v -0.770558 0.299229 0.228225 +v -1.096886 0.299229 0.228225 +v -1.096886 0.070637 0.228225 +v -1.690351 0.200246 0.201417 +v -1.690351 0.287913 0.201417 +v -1.690351 0.287913 -0.201417 +v -1.690351 0.200246 -0.201417 +v -1.184581 0.033984 0.201417 +v -1.184581 0.033984 -0.201417 +v -1.659805 0.134929 0.201417 +v -1.579964 0.102270 0.201417 +v -1.667659 0.194088 0.228225 +v -1.667659 0.291126 0.228225 +v -1.646801 0.339453 0.201417 +v -1.659805 0.134929 -0.201417 +v -1.667659 0.194088 -0.228225 +v -1.579964 0.102270 -0.201417 +v -1.667040 0.336028 -0.201417 +v -1.667659 0.291126 -0.228225 +vt 0.588425 0.250000 +vt 0.411758 0.250000 +vt 0.420274 0.250000 +vt 0.579929 0.250000 +vt 0.409842 0.514683 +vt 0.590158 0.514683 +vt 0.590158 0.735317 +vt 0.409842 0.735317 +vt 0.651630 0.514683 +vt 0.848370 0.514683 +vt 0.848370 0.735317 +vt 0.651630 0.735317 +vt 0.411758 1.000000 +vt 0.588425 1.000000 +vt 0.579929 1.000000 +vt 0.420274 1.000000 +vt 0.875000 0.735317 +vt 0.875000 0.514683 +vt 0.875000 0.514683 +vt 0.875000 0.735317 +vt 0.151630 0.514683 +vt 0.348370 0.514683 +vt 0.348370 0.735317 +vt 0.151630 0.735317 +vt 0.409842 0.276630 +vt 0.590158 0.276630 +vt 0.590158 0.473370 +vt 0.409842 0.473370 +vt 0.409842 0.776629 +vt 0.590158 0.776630 +vt 0.590158 0.973370 +vt 0.409842 0.973370 +vt 0.437738 0.014683 +vt 0.562262 0.014683 +vt 0.562262 0.235317 +vt 0.437738 0.235317 +vt 0.098759 0.735317 +vt 0.125000 0.735317 +vt 0.151630 0.750000 +vt 0.125000 0.750000 +vt 0.590158 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.098759 0.514683 +vt 0.125000 0.500000 +vt 0.151630 0.500000 +vt 0.125000 0.514683 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.590158 0.250000 +vt 0.625000 0.250000 +vt 0.375000 0.735317 +vt 0.348370 0.750000 +vt 0.625000 0.776630 +vt 0.625000 0.776630 +vt 0.590158 0.750000 +vt 0.348370 0.500000 +vt 0.375000 0.514683 +vt 0.625000 0.514683 +vt 0.625000 0.514683 +vt 0.590158 0.500000 +vt 0.125000 0.735317 +vt 0.125000 0.735317 +vt 0.125000 0.750000 +vt 0.125000 0.750000 +vt 0.565038 1.000000 +vt 0.577732 1.000000 +vt 0.625000 1.000000 +vt 0.617113 1.000000 +vt 0.125000 0.514683 +vt 0.125000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 0.514683 +vt 0.611973 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.569060 0.250000 +vt 0.125000 0.735317 +vt 0.572214 1.000000 +vt 0.625000 1.000000 +vt 0.562262 1.000000 +vt 0.125000 0.514683 +vt 0.625000 0.250000 +vt 0.625000 0.250000 +vt 0.562262 0.250000 +vt 0.125000 0.735317 +vt 0.125000 0.514683 +vt 0.625000 0.276630 +vt 0.625000 0.473370 +vt 0.625000 0.973370 +vt 0.567775 1.000000 +vt 0.441517 1.000000 +vt 0.875000 0.514683 +vt 0.875000 0.735317 +vt 0.441517 0.250000 +vt 0.567775 0.250000 +vt 0.436229 1.000000 +vt 0.437738 1.000000 +vt 0.625000 0.014683 +vt 0.625000 0.235317 +vt 0.572214 0.250000 +vt 0.436229 0.250000 +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 -1.0000 0.0000 0.0000 +vn -0.0462 -0.5153 0.8558 +vn 0.0000 0.5189 0.8549 +vn -0.0462 -0.5153 -0.8558 +vn 0.0000 0.5189 -0.8549 +vn 0.4606 -0.4605 0.7588 +vn 0.4606 0.4606 0.7588 +vn 0.4606 -0.4605 -0.7588 +vn 0.4606 0.4606 -0.7588 +vn -0.2180 -0.4596 0.8610 +vn -0.0393 0.5077 0.8606 +vn -0.2180 -0.4596 -0.8610 +vn -0.0453 0.5154 -0.8557 +vn -0.7527 -0.3520 0.5563 +vn -0.6638 0.5609 0.4947 +vn -0.7527 -0.3520 -0.5563 +vn -0.7340 0.3556 -0.5787 +vn -0.0854 -0.9963 -0.0000 +vn 0.0000 -0.5188 -0.8549 +vn 0.5189 0.0000 -0.8549 +vn 0.7071 -0.7071 -0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.5189 -0.0000 0.8549 +vn 0.0000 -0.5188 0.8549 +vn -0.3786 -0.9256 -0.0000 +vn -0.0727 0.9974 -0.0024 +vn -0.0883 -0.5113 0.8549 +vn -0.0883 -0.5113 -0.8549 +vn -0.9058 -0.4236 -0.0000 +vn -0.7633 0.0000 0.6461 +vn -0.8303 0.5571 0.0185 +vn -0.7633 0.0000 -0.6461 +vn -0.1702 -0.9854 -0.0000 +s 1 +f 339/617/138 340/618/138 341/619/138 342/620/138 +f 343/621/139 344/622/139 345/623/139 346/624/139 +f 347/625/140 348/626/140 349/627/140 350/628/140 +f 351/629/141 352/630/141 353/631/141 354/632/141 +f 355/633/140 356/634/140 357/635/140 358/636/140 +f 359/637/142 360/638/142 361/639/142 362/640/142 +f 363/641/138 364/642/138 365/643/138 366/644/138 +f 367/645/141 368/646/141 369/647/141 370/648/141 +f 371/649/143 372/650/143 373/651/143 374/652/143 +f 375/653/144 362/654/144 370/655/144 351/656/144 +f 352/630/145 369/657/145 349/658/145 355/659/145 +f 376/660/146 340/661/146 363/662/146 359/663/146 +f 356/664/147 348/665/147 364/666/147 339/667/147 +f 361/639/148 346/668/148 367/669/148 +f 350/670/149 368/671/149 345/672/149 +f 360/638/150 366/673/150 343/674/150 +f 347/675/151 344/676/151 365/677/151 +f 377/678/152 378/679/152 354/680/152 379/681/152 +f 380/682/153 353/683/153 358/684/153 381/685/153 +f 382/686/154 383/687/154 341/688/154 384/689/154 +f 385/690/155 357/691/155 342/692/155 386/693/155 +f 377/678/156 379/681/156 371/694/156 +f 380/695/157 381/696/157 372/697/157 +f 382/686/158 374/698/158 383/687/158 +f 385/699/159 386/700/159 373/701/159 +f 359/637/160 362/640/160 375/702/160 376/703/160 +f 370/648/141 369/647/141 352/630/141 351/629/141 +f 349/627/140 348/626/140 356/634/140 355/633/140 +f 364/642/138 363/641/138 340/618/138 339/617/138 +f 360/638/161 359/637/161 363/662/161 366/673/161 +f 348/704/147 347/705/147 365/643/147 364/642/147 +f 344/622/162 343/621/162 366/644/162 365/643/162 +f 361/639/163 360/638/163 343/621/163 346/624/163 +f 347/625/164 350/628/164 345/623/164 344/622/164 +f 368/646/165 367/645/165 346/624/165 345/623/165 +f 362/640/166 361/639/166 367/669/166 370/655/166 +f 350/670/145 349/706/145 369/647/145 368/646/145 +f 384/689/167 378/679/167 377/678/167 382/686/167 +f 354/632/141 353/631/141 380/707/141 379/708/141 +f 358/636/168 357/635/168 385/709/168 381/710/168 +f 342/620/138 341/619/138 383/711/138 386/712/138 +f 339/617/147 342/620/147 357/691/147 356/664/147 +f 353/631/145 352/630/145 355/659/145 358/684/145 +f 351/656/169 354/680/169 378/679/169 375/702/169 +f 341/688/170 340/661/170 376/703/170 384/689/170 +f 382/686/171 377/678/171 371/694/171 374/698/171 +f 379/713/172 380/695/172 372/697/172 371/714/172 +f 381/715/173 385/716/173 373/651/173 372/650/173 +f 386/717/174 383/718/174 374/652/174 373/651/174 +f 376/703/175 375/702/175 378/679/175 384/689/175 +o TriggerGuard_Cube.007 +v -0.991593 0.009137 0.090896 +v -0.991593 0.050129 0.090896 +v -0.991593 0.050129 -0.090896 +v -0.991593 0.009137 -0.090896 +v -0.359255 0.050129 -0.090896 +v -0.359255 0.009137 -0.090896 +v -0.359255 0.050129 0.090896 +v -0.359255 0.009137 0.090896 +v -0.952793 -0.032302 0.079741 +v -0.475801 -0.032302 0.079741 +v -0.398056 -0.032302 0.079741 +v -0.952793 -0.032302 -0.079741 +v -0.477062 -0.032302 -0.079741 +v -0.398056 -0.032302 -0.079741 +v -0.547697 -0.243266 -0.079741 +v -0.468691 -0.243266 -0.079741 +v -0.417833 -0.308250 -0.079741 +v -0.496840 -0.308250 -0.079741 +v -0.468691 -0.243266 0.079741 +v -0.546437 -0.243266 0.079741 +v -0.495579 -0.308250 0.079741 +v -0.884730 -0.317360 -0.073714 +v -0.883469 -0.317360 0.085769 +v -0.417833 -0.308250 0.079741 +v -0.548320 -0.390292 0.079741 +v -0.549581 -0.390292 -0.079741 +v -0.470574 -0.390292 -0.079741 +v -0.470574 -0.390292 0.079741 +v -0.933383 -0.398929 -0.073714 +v -0.932122 -0.398929 0.085769 +v -1.071287 -0.315922 0.087949 +v -1.072548 -0.315922 -0.071533 +v -1.022634 -0.234353 0.087949 +v -1.023895 -0.234353 -0.071533 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.806259 +vt 0.375000 0.750000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.125000 0.500000 +vt 0.318173 0.500000 +vt 0.318741 0.750000 +vt 0.125000 0.750000 +vt 0.375000 0.500000 +vt 0.375000 0.443173 +vt 0.375000 0.250000 +vt 0.375000 0.000000 +vt 0.375000 0.443173 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.443173 +vt 0.375000 0.750000 +vt 0.375000 0.806259 +vt 0.318173 0.500000 +vt 0.318741 0.750000 +vt 0.318741 0.750000 +vt 0.318173 0.500000 +vt 0.318173 0.500000 +vt 0.318741 0.750000 +vt 0.375000 0.750000 +vt 0.375000 0.806259 +vt 0.318741 0.750000 +vt 0.318173 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.750000 +vt 0.375000 0.806259 +vt 0.375000 0.443173 +vt 0.318173 0.500000 +vt 0.318741 0.750000 +vt 0.318741 0.750000 +vt 0.318173 0.500000 +vt 0.375000 0.443173 +vt 0.375000 0.443173 +vt 0.375000 0.806259 +vt 0.375000 0.806259 +vt 0.318741 0.750000 +vt 0.318173 0.500000 +vt 0.375000 0.443173 +vt 0.375000 0.443173 +vt 0.375000 0.806259 +vt 0.375000 0.806259 +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 -0.2599 0.9656 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 -0.2599 -0.9656 +vn -0.7300 -0.6835 -0.0000 +vn 0.7300 -0.6835 -0.0000 +vn 0.9483 -0.3175 0.0000 +vn -0.9482 0.3175 0.0075 +vn -0.0235 0.9997 0.0002 +vn 0.7875 0.6163 0.0000 +vn -0.7875 -0.6163 0.0062 +vn 0.8412 -0.5408 0.0000 +vn -0.5122 -0.8589 0.0040 +vn -0.0158 0.0098 -0.9998 +vn -0.0154 0.0095 -0.9998 +vn -0.0119 0.0071 -0.9999 +vn 0.0158 -0.0098 0.9998 +vn 0.0119 -0.0071 0.9999 +vn 0.0154 -0.0095 0.9998 +vn 0.0225 -0.9997 -0.0002 +vn -0.8588 0.5123 0.0068 +vn -0.0116 0.0069 -0.9999 +vn 0.5122 0.8589 -0.0040 +vn 0.0116 -0.0069 0.9999 +s 1 +f 387/719/176 388/720/176 389/721/176 390/722/176 +f 390/722/177 389/721/177 391/723/177 392/724/177 +f 392/724/178 391/723/178 393/725/178 394/726/178 +f 394/726/179 393/725/179 388/727/179 387/728/179 +f 394/726/180 387/728/180 395/729/180 396/730/180 397/731/180 +f 391/723/181 389/732/181 388/733/181 393/725/181 +f 398/734/182 399/735/182 396/736/182 395/737/182 +f 390/722/183 392/724/183 400/738/183 399/739/183 398/740/183 +f 387/719/184 390/722/184 398/740/184 395/741/184 +f 392/724/185 394/726/185 397/731/185 400/738/185 +f 401/742/177 402/743/177 403/744/177 404/745/177 +f 400/738/186 397/731/186 405/746/186 402/743/186 +f 397/731/179 396/730/179 406/747/179 405/746/179 +f 396/736/187 399/735/187 401/748/187 406/749/187 +f 399/739/177 400/738/177 402/743/177 401/742/177 +f 407/750/188 404/751/188 408/752/188 409/753/188 +f 402/743/189 405/746/189 410/754/189 403/744/189 +f 406/749/190 401/748/190 404/751/190 407/750/190 +f 405/746/179 406/747/179 407/755/179 410/754/179 +f 411/756/182 412/757/182 413/758/182 414/759/182 +f 410/754/179 407/755/179 411/760/179 414/759/179 +f 404/745/177 403/744/177 413/758/177 412/761/177 +f 403/744/191 410/754/191 414/759/191 413/758/191 +f 415/762/192 416/763/192 417/764/192 418/765/192 +f 404/745/193 412/761/193 415/766/194 408/767/195 +f 411/760/196 407/755/196 409/768/197 416/769/198 +f 412/757/199 411/756/199 416/763/199 415/762/199 +f 419/770/200 420/771/200 418/765/200 417/764/200 +f 408/767/195 415/766/194 418/772/201 420/773/201 +f 409/753/202 408/752/202 420/771/202 419/770/202 +f 416/769/198 409/768/197 419/774/203 417/775/203 +o Trigger_Cube.008 +v -0.906556 -0.031746 0.035327 +v -0.906556 -0.031746 -0.035327 +v -0.906556 -0.054594 -0.035327 +v -0.906556 -0.054594 0.035327 +v -0.750972 -0.031746 -0.035327 +v -0.757513 -0.054594 -0.035327 +v -0.750972 -0.031746 0.035327 +v -0.757513 -0.054594 0.035327 +v -0.891840 -0.172320 -0.035327 +v -0.891840 -0.172320 0.035327 +v -0.858049 -0.254618 0.035327 +v -0.773318 -0.237178 0.035327 +v -0.781494 -0.172320 0.035327 +v -0.781494 -0.172320 -0.035327 +v -0.752234 -0.268743 0.035327 +v -0.752234 -0.268743 -0.035327 +v -0.773318 -0.237178 -0.035327 +v -0.858049 -0.254618 -0.035327 +v -0.786277 -0.298175 0.035327 +v -0.786277 -0.298175 -0.035327 +vt 0.375000 0.000000 +vt 0.375000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.375000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 1.000000 +vt 0.625000 1.000000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.875000 0.750000 +vt 0.875000 0.500000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.625000 1.000000 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.9614 -0.2752 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.9799 -0.1996 0.0000 +vn 0.8316 0.5554 0.0000 +vn 0.9921 0.1251 0.0000 +vn -0.9251 -0.3798 0.0000 +vn 0.6540 -0.7565 0.0000 +vn -0.5188 -0.8549 0.0000 +s 1 +f 421/776/204 422/777/204 423/778/204 424/779/204 +f 422/777/205 425/780/205 426/781/205 423/778/205 +f 425/780/206 427/782/206 428/783/206 426/781/206 +f 427/782/207 421/784/207 424/785/207 428/783/207 +f 422/786/208 421/787/208 427/782/208 425/780/208 +f 423/778/209 429/788/209 430/789/209 424/779/209 +f 430/790/207 431/791/207 432/792/207 433/793/207 +f 424/785/207 430/790/207 433/793/207 428/783/207 +f 426/781/205 434/794/205 429/788/205 423/778/205 +f 428/783/210 433/793/210 434/794/210 426/781/210 +f 432/792/211 435/795/211 436/796/211 437/797/211 +f 434/794/205 437/797/205 438/798/205 429/788/205 +f 433/793/212 432/792/212 437/797/212 434/794/212 +f 429/788/213 438/798/213 431/799/213 430/789/213 +f 436/796/214 435/795/214 439/800/214 440/801/214 +f 438/798/215 440/802/215 439/803/215 431/799/215 +f 431/791/207 439/804/207 435/795/207 432/792/207 +f 437/797/205 436/796/205 440/802/205 438/798/205 +o SideHolders.001_Cube.002 +v 1.310526 -0.082794 0.073582 +v 1.384588 0.101767 0.073582 +v 1.139921 0.101767 0.053905 +v 1.144858 -0.044123 0.053905 +v 1.384588 0.101767 -0.069977 +v 1.504148 0.101767 0.073582 +v 1.504148 0.101767 -0.069977 +v 1.430086 -0.082794 0.073582 +v 1.608182 -0.022025 0.051795 +v 1.577323 0.101767 0.051795 +v 1.430086 -0.082794 -0.069977 +v 1.310526 -0.082794 -0.069977 +v 1.577323 0.101767 -0.048191 +v 1.608182 -0.022025 -0.048191 +v 1.144858 -0.044123 -0.050301 +v 1.139921 0.101767 -0.050301 +vt 0.875000 0.750000 +vt 0.875000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.375000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.375000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt 0.375000 0.500000 +vt 0.375000 0.750000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.125000 0.750000 +vt 0.125000 0.500000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vn -0.0936 0.0196 0.9954 +vn 0.0000 1.0000 0.0000 +vn 0.1766 -0.0247 0.9840 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -0.0000 1.0000 +vn 0.9703 0.2419 0.0000 +vn 0.3229 -0.9464 -0.0000 +vn 0.1766 -0.0247 -0.9840 +vn -0.9994 -0.0338 -0.0000 +vn -0.0936 0.0196 -0.9954 +vn -0.2273 -0.9738 0.0000 +s 1 +f 441/805/216 442/806/216 443/807/216 444/808/216 +f 445/809/217 442/810/217 446/811/217 447/812/217 +f 446/811/218 448/813/218 449/814/218 450/815/218 +f 451/816/219 448/813/219 441/817/219 452/818/219 +f 445/819/220 447/812/220 451/816/220 452/820/220 +f 446/811/221 442/806/221 441/805/221 448/813/221 +f 453/821/222 450/815/222 449/814/222 454/822/222 +f 447/812/217 446/811/217 450/815/217 453/821/217 +f 448/813/223 451/816/223 454/822/223 449/814/223 +f 451/816/224 447/812/224 453/821/224 454/822/224 +f 455/823/225 444/824/225 443/825/225 456/826/225 +f 445/819/226 452/820/226 455/827/226 456/828/226 +f 442/810/217 445/809/217 456/826/217 443/825/217 +f 452/818/227 441/817/227 444/829/227 455/830/227 +o Roundthing_Cylinder.008 +v -0.745839 1.097427 -0.260529 +v -0.745839 1.097427 0.260529 +v -0.654718 0.939467 0.260529 +v -0.654718 0.939467 -0.260529 +v -0.745955 0.781575 0.260529 +v -0.745955 0.781575 -0.260529 +v -0.928312 0.781642 0.260529 +v -0.928312 0.781642 -0.260529 +v -1.019432 0.939601 0.260529 +v -1.019432 0.939601 -0.260529 +v -0.654718 0.939467 0.338343 +v -0.745955 0.781575 0.338343 +v -0.928196 1.097493 0.260529 +v -0.928196 1.097493 -0.260529 +v -0.745839 1.097427 0.338343 +v -0.757348 1.077508 0.380293 +v -0.677723 0.939476 0.380293 +v -1.019432 0.939601 0.338343 +v -0.928196 1.097493 0.338343 +v -0.928312 0.781642 0.338343 +v -0.916701 1.077567 0.380293 +v -0.996428 0.939592 0.380293 +v -0.949024 0.939575 0.380293 +v -0.893014 1.036505 0.380293 +v -0.916802 0.801560 0.380293 +v -0.757450 0.801501 0.380293 +v -0.781065 1.036464 0.380293 +v -0.884357 1.021497 0.419074 +v -0.789734 1.021463 0.419074 +v -0.781137 0.842563 0.380293 +v -0.893085 0.842604 0.380293 +v -0.725127 0.939493 0.380293 +v -0.931698 0.939569 0.419074 +v -0.877029 0.939549 0.419074 +v -0.857040 0.974142 0.419074 +v -0.884417 0.857606 0.419074 +v -0.742452 0.939499 0.419074 +v -0.789794 0.857571 0.419074 +v -0.817086 0.974128 0.419074 +v -0.857040 0.974142 0.317496 +v -0.817086 0.974128 0.317496 +v -0.817111 0.904926 0.419074 +v -0.857065 0.904940 0.419074 +v -0.797122 0.939519 0.419074 +v -0.797122 0.939519 0.317496 +v -0.877029 0.939549 0.317496 +v -0.857065 0.904940 0.317496 +v -0.817111 0.904926 0.317496 +v -0.745955 0.781575 -0.338343 +v -0.654718 0.939467 -0.338343 +v -0.677723 0.939476 -0.380293 +v -0.757348 1.077508 -0.380293 +v -0.745839 1.097427 -0.338343 +v -0.928196 1.097493 -0.338343 +v -1.019432 0.939601 -0.338343 +v -0.928312 0.781642 -0.338343 +v -0.916701 1.077567 -0.380293 +v -0.893014 1.036505 -0.380293 +v -0.949024 0.939575 -0.380293 +v -0.996428 0.939593 -0.380293 +v -0.916802 0.801560 -0.380293 +v -0.757450 0.801502 -0.380293 +v -0.781065 1.036464 -0.380293 +v -0.789734 1.021463 -0.419074 +v -0.884357 1.021497 -0.419074 +v -0.893085 0.842604 -0.380293 +v -0.781137 0.842563 -0.380293 +v -0.725127 0.939493 -0.380293 +v -0.857040 0.974142 -0.419074 +v -0.877029 0.939549 -0.419074 +v -0.931698 0.939569 -0.419074 +v -0.884417 0.857606 -0.419074 +v -0.789794 0.857571 -0.419074 +v -0.742452 0.939499 -0.419074 +v -0.817086 0.974128 -0.419074 +v -0.817086 0.974128 -0.317496 +v -0.857040 0.974142 -0.317496 +v -0.857065 0.904940 -0.419074 +v -0.817111 0.904926 -0.419074 +v -0.797122 0.939519 -0.419074 +v -0.797122 0.939519 -0.317496 +v -0.817111 0.904926 -0.317496 +v -0.857065 0.904940 -0.317496 +v -0.877029 0.939549 -0.317496 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.833333 1.000000 +vt 0.833333 0.500000 +vt 0.666667 1.000000 +vt 0.666667 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.333333 1.000000 +vt 0.333333 0.500000 +vt 0.833333 1.000000 +vt 0.666667 1.000000 +vt 0.166667 1.000000 +vt 0.166667 0.500000 +vt -0.000000 1.000000 +vt -0.000000 0.500000 +vt 0.750000 0.490000 +vt 0.957846 0.370000 +vt 0.957846 0.130000 +vt 0.750000 0.010000 +vt 0.542154 0.130000 +vt 0.542154 0.370000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 0.833333 1.000000 +vt 0.333333 1.000000 +vt 0.166667 1.000000 +vt 0.500000 1.000000 +vt -0.000000 1.000000 +vt 0.166667 1.000000 +vt 0.333333 1.000000 +vt 0.333333 1.000000 +vt 0.166667 1.000000 +vt -0.000000 1.000000 +vt 0.500000 1.000000 +vt 0.666667 1.000000 +vt -0.000000 1.000000 +vt 0.166667 1.000000 +vt -0.000000 1.000000 +vt 0.666667 1.000000 +vt 0.500000 1.000000 +vt 1.000000 1.000000 +vt 0.833333 1.000000 +vt 0.333333 1.000000 +vt 0.333333 1.000000 +vt 0.166667 1.000000 +vt 0.500000 1.000000 +vt 0.833333 1.000000 +vt 0.666667 1.000000 +vt 1.000000 1.000000 +vt -0.000000 1.000000 +vt 0.166667 1.000000 +vt -0.000000 1.000000 +vt 0.666667 1.000000 +vt 0.500000 1.000000 +vt 1.000000 1.000000 +vt 0.833333 1.000000 +vt 0.457846 0.370000 +vt 0.250000 0.490000 +vt 0.042154 0.370000 +vt 0.042154 0.130000 +vt 0.250000 0.010000 +vt 0.457846 0.130000 +vt 0.500000 1.000000 +vt 0.333333 1.000000 +vt 0.833333 1.000000 +vt 0.666667 1.000000 +vt 1.000000 1.000000 +vt 0.666667 1.000000 +vt 0.666667 1.000000 +vt 0.833333 1.000000 +vt 0.833333 1.000000 +vt 0.750000 0.490000 +vt 0.542154 0.370000 +vt 0.542154 0.130000 +vt 0.750000 0.010000 +vt 0.957846 0.130000 +vt 0.957846 0.370000 +vt 0.833333 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 0.166667 1.000000 +vt 0.166667 1.000000 +vt 0.333333 1.000000 +vt 0.333333 1.000000 +vt 1.000000 1.000000 +vt 0.500000 1.000000 +vt 0.500000 1.000000 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt 0.166667 1.000000 +vt 0.166667 1.000000 +vt 0.333333 1.000000 +vt 0.333333 1.000000 +vt -0.000000 1.000000 +vt 0.500000 1.000000 +vt 0.666667 1.000000 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt 0.166667 1.000000 +vt 0.500000 1.000000 +vt 0.666667 1.000000 +vt 0.833333 1.000000 +vt 1.000000 1.000000 +vt 0.166667 1.000000 +vt 0.333333 1.000000 +vt 0.333333 1.000000 +vt 0.500000 1.000000 +vt 0.666667 1.000000 +vt 0.833333 1.000000 +vt 1.000000 1.000000 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt 0.166667 1.000000 +vt 0.500000 1.000000 +vt 0.666667 1.000000 +vt 0.833333 1.000000 +vt 1.000000 1.000000 +vt 0.457846 0.370000 +vt 0.457846 0.130000 +vt 0.250000 0.010000 +vt 0.042154 0.130000 +vt 0.042154 0.370000 +vt 0.250000 0.490000 +vt 0.333333 1.000000 +vt 0.500000 1.000000 +vt 0.666667 1.000000 +vt 0.833333 1.000000 +vt 1.000000 1.000000 +vn 0.8662 0.4997 0.0000 +vn 0.8658 -0.5003 0.0000 +vn -0.0004 -1.0000 0.0000 +vn -0.8662 -0.4997 0.0000 +vn -0.8658 0.5003 0.0000 +vn 0.0004 1.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.7825 0.4514 0.4290 +vn -0.0000 -0.0000 1.0000 +vn 0.0003 0.9033 0.4290 +vn -0.7825 -0.4514 0.4290 +vn 0.7821 -0.4519 0.4290 +vn -0.7821 0.4519 0.4290 +vn -0.0003 -0.9033 0.4290 +vn 0.0003 0.9326 0.3608 +vn -0.8079 -0.4660 0.3608 +vn 0.8075 -0.4666 0.3608 +vn -0.8075 0.4666 0.3608 +vn -0.0003 -0.9326 0.3608 +vn 0.8079 0.4660 0.3608 +vn 0.7825 0.4514 -0.4290 +vn 0.0003 0.9033 -0.4290 +vn -0.7825 -0.4514 -0.4290 +vn 0.7821 -0.4519 -0.4290 +vn -0.7821 0.4519 -0.4290 +vn -0.0003 -0.9033 -0.4290 +vn 0.0003 0.9326 -0.3608 +vn -0.8079 -0.4660 -0.3608 +vn 0.8075 -0.4666 -0.3608 +vn -0.8075 0.4666 -0.3608 +vn -0.0003 -0.9326 -0.3608 +vn 0.8079 0.4660 -0.3608 +s 1 +f 457/831/228 458/832/228 459/833/228 460/834/228 +f 460/834/229 459/833/229 461/835/229 462/836/229 +f 462/836/230 461/835/230 463/837/230 464/838/230 +f 464/838/231 463/837/231 465/839/231 466/840/231 +f 461/835/229 459/833/229 467/841/229 468/842/229 +f 466/840/232 465/839/232 469/843/232 470/844/232 +f 470/844/233 469/843/233 458/845/233 457/846/233 +f 457/847/234 460/848/234 462/849/234 464/850/234 466/851/234 470/852/234 +f 467/841/235 471/853/235 472/854/235 473/855/235 +f 469/843/232 465/839/232 474/856/232 475/857/232 +f 459/833/228 458/832/228 471/853/228 467/841/228 +f 463/837/230 461/835/230 468/842/230 476/858/230 +f 458/845/233 469/843/233 475/857/233 471/859/233 +f 465/839/231 463/837/231 476/858/231 474/856/231 +f 477/860/236 478/861/236 479/862/236 480/863/236 +f 471/859/237 475/857/237 477/860/237 472/864/237 +f 474/856/238 476/858/238 481/865/238 478/861/238 +f 468/842/239 467/841/239 473/855/239 482/866/239 +f 475/857/240 474/856/240 478/861/240 477/860/240 +f 476/858/241 468/842/241 482/866/241 481/865/241 +f 483/867/242 480/863/242 484/868/242 485/869/242 +f 481/865/236 482/866/236 486/870/236 487/871/236 +f 473/855/236 472/854/236 483/872/236 488/873/236 +f 472/864/236 477/860/236 480/863/236 483/867/236 +f 478/861/236 481/865/236 487/871/236 479/862/236 +f 482/866/236 473/855/236 488/873/236 486/870/236 +f 484/868/236 489/874/236 490/875/236 491/876/236 +f 479/862/243 487/871/243 492/877/243 489/874/243 +f 486/870/244 488/873/244 493/878/244 494/879/244 +f 480/863/245 479/862/245 489/874/245 484/868/245 +f 487/871/246 486/870/246 494/879/246 492/877/246 +f 488/873/247 483/872/247 485/880/247 493/878/247 +f 495/881/230 491/876/230 496/882/230 497/883/230 +f 492/877/236 494/879/236 498/884/236 499/885/236 +f 493/878/236 485/880/236 495/886/236 500/887/236 +f 485/869/236 484/868/236 491/876/236 495/881/236 +f 489/874/236 492/877/236 499/885/236 490/875/236 +f 494/879/236 493/878/236 500/887/236 498/884/236 +f 501/888/236 497/889/236 496/890/236 502/891/236 503/892/236 504/893/236 +f 490/875/228 499/885/228 503/894/228 502/895/228 +f 498/884/232 500/887/232 501/896/232 504/897/232 +f 491/876/229 490/875/229 502/895/229 496/882/229 +f 499/885/233 498/884/233 504/897/233 503/894/233 +f 500/887/231 495/886/231 497/898/231 501/896/231 +f 462/899/229 505/900/229 506/901/229 460/902/229 +f 458/903/236 469/904/236 465/905/236 463/906/236 461/907/236 459/908/236 +f 506/901/248 507/909/248 508/910/248 509/911/248 +f 470/912/232 510/913/232 511/914/232 466/915/232 +f 460/902/228 506/901/228 509/911/228 457/916/228 +f 464/917/230 512/918/230 505/900/230 462/899/230 +f 457/919/233 509/920/233 510/913/233 470/912/233 +f 466/915/231 511/914/231 512/918/231 464/917/231 +f 513/921/234 514/922/234 515/923/234 516/924/234 +f 509/920/249 508/925/249 513/921/249 510/913/249 +f 511/914/250 516/924/250 517/926/250 512/918/250 +f 505/900/251 518/927/251 507/909/251 506/901/251 +f 510/913/252 513/921/252 516/924/252 511/914/252 +f 512/918/253 517/926/253 518/927/253 505/900/253 +f 519/928/254 520/929/254 521/930/254 514/922/254 +f 517/926/234 522/931/234 523/932/234 518/927/234 +f 507/909/234 524/933/234 519/934/234 508/910/234 +f 508/925/234 519/928/234 514/922/234 513/921/234 +f 516/924/234 515/923/234 522/931/234 517/926/234 +f 518/927/234 523/932/234 524/933/234 507/909/234 +f 521/930/234 525/935/234 526/936/234 527/937/234 +f 515/923/255 527/937/255 528/938/255 522/931/255 +f 523/932/256 529/939/256 530/940/256 524/933/256 +f 514/922/257 521/930/257 527/937/257 515/923/257 +f 522/931/258 528/938/258 529/939/258 523/932/258 +f 524/933/259 530/940/259 520/941/259 519/934/259 +f 531/942/230 532/943/230 533/944/230 525/935/230 +f 528/938/234 534/945/234 535/946/234 529/939/234 +f 530/940/234 536/947/234 531/948/234 520/941/234 +f 520/929/234 531/942/234 525/935/234 521/930/234 +f 527/937/234 526/936/234 534/945/234 528/938/234 +f 529/939/234 535/946/234 536/947/234 530/940/234 +f 537/949/234 538/950/234 539/951/234 540/952/234 533/953/234 532/954/234 +f 526/936/228 540/955/228 539/956/228 534/945/228 +f 535/946/232 538/957/232 537/958/232 536/947/232 +f 525/935/229 533/944/229 540/955/229 526/936/229 +f 534/945/233 539/956/233 538/957/233 535/946/233 +f 536/947/231 537/958/231 532/959/231 531/948/231 +o ring_Torus +v 0.990151 -0.648179 -0.190841 +v 0.990151 -0.321606 -0.374799 +v 1.068843 -0.322088 -0.329369 +v 1.068843 -0.609076 -0.167709 +v 1.068843 -0.323051 -0.238509 +v 1.068843 -0.530870 -0.121444 +v 0.990151 -0.323533 -0.193078 +v 0.990151 -0.491768 -0.098312 +v 0.911459 -0.323051 -0.238509 +v 0.911459 -0.530870 -0.121444 +v 0.911459 -0.322088 -0.329369 +v 0.911459 -0.609076 -0.167709 +v 0.990151 0.000993 -0.183958 +v 1.068843 -0.038592 -0.161660 +v 1.068843 -0.117761 -0.117064 +v 0.990151 -0.157346 -0.094766 +v 0.911459 -0.117761 -0.117064 +v 0.911459 -0.038592 -0.161660 +v 0.990151 -0.002981 0.190841 +v 1.068843 -0.042084 0.167709 +v 1.068843 -0.120290 0.121444 +v 0.990151 -0.159393 0.098312 +v 0.911459 -0.120290 0.121444 +v 0.911459 -0.042084 0.167709 +v 0.990151 -0.329554 0.374799 +v 1.068843 -0.329073 0.329369 +v 1.068843 -0.328109 0.238509 +v 0.990151 -0.327627 0.193079 +v 0.911459 -0.328109 0.238509 +v 0.911459 -0.329073 0.329369 +v 0.990151 -0.652153 0.183958 +v 1.068843 -0.612568 0.161660 +v 1.068843 -0.533399 0.117064 +v 0.990151 -0.493815 0.094766 +v 0.911459 -0.533399 0.117064 +v 0.911459 -0.612568 0.161660 +vt 0.500000 0.500000 +vt 0.666667 0.500000 +vt 0.666667 0.666667 +vt 0.500000 0.666667 +vt 0.666667 0.833333 +vt 0.500000 0.833333 +vt 0.666667 1.000000 +vt 0.500000 1.000000 +vt 0.500000 -0.000000 +vt 0.666667 -0.000000 +vt 0.666667 0.166667 +vt 0.500000 0.166667 +vt 0.666667 0.333333 +vt 0.500000 0.333333 +vt 0.833333 0.500000 +vt 0.833333 0.666667 +vt 0.833333 0.833333 +vt 0.833333 1.000000 +vt 0.833333 -0.000000 +vt 0.833333 0.166667 +vt 0.833333 0.333333 +vt 1.000000 0.500000 +vt 1.000000 0.666667 +vt 1.000000 0.833333 +vt 1.000000 1.000000 +vt 1.000000 -0.000000 +vt 1.000000 0.166667 +vt 1.000000 0.333333 +vt -0.000000 0.500000 +vt 0.166667 0.500000 +vt 0.166667 0.666667 +vt -0.000000 0.666667 +vt 0.166667 0.833333 +vt -0.000000 0.833333 +vt 0.166667 1.000000 +vt -0.000000 1.000000 +vt -0.000000 -0.000000 +vt 0.166667 -0.000000 +vt 0.166667 0.166667 +vt -0.000000 0.166667 +vt 0.166667 0.333333 +vt -0.000000 0.333333 +vt 0.333333 0.500000 +vt 0.333333 0.666667 +vt 0.333333 0.833333 +vt 0.333333 1.000000 +vt 0.333333 -0.000000 +vt 0.333333 0.166667 +vt 0.333333 0.333333 +vn 0.4472 -0.4390 -0.7793 +vn 1.0000 0.0000 0.0000 +vn 0.4472 0.4390 0.7793 +vn -0.4472 0.4390 0.7793 +vn -1.0000 -0.0000 0.0000 +vn -0.4472 -0.4390 -0.7793 +vn 0.4472 0.4554 -0.7698 +vn 0.4472 -0.4554 0.7698 +vn -0.4472 -0.4554 0.7698 +vn -0.4472 0.4554 -0.7698 +vn 0.4472 0.8944 0.0095 +vn 0.4472 -0.8944 -0.0095 +vn -0.4472 -0.8944 -0.0095 +vn -0.4472 0.8944 0.0095 +s 1 +f 541/960/260 542/961/260 543/962/260 544/963/260 +f 544/963/261 543/962/261 545/964/261 546/965/261 +f 546/965/262 545/964/262 547/966/262 548/967/262 +f 548/968/263 547/969/263 549/970/263 550/971/263 +f 550/971/264 549/970/264 551/972/264 552/973/264 +f 552/973/265 551/972/265 542/961/265 541/960/265 +f 542/961/266 553/974/266 554/975/266 543/962/266 +f 543/962/261 554/975/261 555/976/261 545/964/261 +f 545/964/267 555/976/267 556/977/267 547/966/267 +f 547/969/268 556/978/268 557/979/268 549/970/268 +f 549/970/264 557/979/264 558/980/264 551/972/264 +f 551/972/269 558/980/269 553/974/269 542/961/269 +f 553/974/270 559/981/270 560/982/270 554/975/270 +f 554/975/261 560/982/261 561/983/261 555/976/261 +f 555/976/271 561/983/271 562/984/271 556/977/271 +f 556/978/272 562/985/272 563/986/272 557/979/272 +f 557/979/264 563/986/264 564/987/264 558/980/264 +f 558/980/273 564/987/273 559/981/273 553/974/273 +f 559/988/262 565/989/262 566/990/262 560/991/262 +f 560/991/261 566/990/261 567/992/261 561/993/261 +f 561/993/260 567/992/260 568/994/260 562/995/260 +f 562/996/265 568/997/265 569/998/265 563/999/265 +f 563/999/264 569/998/264 570/1000/264 564/1001/264 +f 564/1001/263 570/1000/263 565/989/263 559/988/263 +f 565/989/267 571/1002/267 572/1003/267 566/990/267 +f 566/990/261 572/1003/261 573/1004/261 567/992/261 +f 567/992/266 573/1004/266 574/1005/266 568/994/266 +f 568/997/269 574/1006/269 575/1007/269 569/998/269 +f 569/998/264 575/1007/264 576/1008/264 570/1000/264 +f 570/1000/268 576/1008/268 571/1002/268 565/989/268 +f 571/1002/271 541/960/271 544/963/271 572/1003/271 +f 572/1003/261 544/963/261 546/965/261 573/1004/261 +f 573/1004/270 546/965/270 548/967/270 574/1005/270 +f 574/1006/273 548/968/273 550/971/273 575/1007/273 +f 575/1007/264 550/971/264 552/973/264 576/1008/264 +f 576/1008/272 552/973/272 541/960/272 571/1002/272 +o HolographicHolder_Cylinder.009 +v -0.972691 1.166717 0.278124 +v -0.972691 1.166717 -0.278124 +v -0.987438 1.166717 -0.260322 +v -0.987438 1.166717 0.260322 +v -0.934937 1.102284 0.278124 +v -0.934937 1.102284 -0.278124 +v -0.971860 1.037372 0.278124 +v -0.971860 1.037372 -0.278124 +v -1.046537 1.036892 0.278124 +v -1.046537 1.036892 -0.278124 +v -1.047369 1.166237 0.278124 +v -1.084291 1.101324 0.278124 +v -1.084291 1.101324 -0.278124 +v -1.047368 1.166237 -0.278124 +v -1.032621 1.166237 -0.260322 +v -1.032621 1.166237 0.260322 +v -1.033084 1.202181 0.260322 +v -1.033084 1.202181 -0.260322 +v -0.987902 1.202661 0.260322 +v -0.987902 1.202661 -0.260322 +vt 0.833333 1.000000 +vt 0.833333 0.500000 +vt 0.833333 0.500000 +vt 0.833333 1.000000 +vt 0.666667 1.000000 +vt 0.666667 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.333333 1.000000 +vt 0.333333 0.500000 +vt 0.457846 0.370000 +vt 0.250000 0.490000 +vt 0.042154 0.370000 +vt 0.042154 0.130000 +vt 0.250000 0.010000 +vt 0.457846 0.130000 +vt 0.166667 1.000000 +vt 0.166667 0.500000 +vt -0.000000 1.000000 +vt -0.000000 0.500000 +vt 0.750000 0.490000 +vt 0.957846 0.370000 +vt 0.957846 0.130000 +vt 0.750000 0.010000 +vt 0.542154 0.130000 +vt 0.542154 0.370000 +vt -0.000000 0.500000 +vt -0.000000 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.500000 +vt 0.457846 0.370000 +vt 0.250000 0.490000 +vt 0.750000 0.490000 +vt 0.957846 0.370000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.833333 1.000000 +vt 0.833333 0.500000 +vt 0.750000 0.490000 +vt 0.957846 0.370000 +vt 0.457846 0.370000 +vt 0.250000 0.490000 +vn -0.0005 1.0000 -0.0000 +vn -0.0078 1.0000 0.0000 +vn 0.8628 0.5055 0.0000 +vn 0.8692 -0.4944 0.0000 +vn 0.0064 -1.0000 0.0000 +vn -0.0000 0.0000 1.0000 +vn -0.8628 -0.5056 0.0000 +vn -0.8692 0.4944 -0.0000 +vn -0.0000 0.0000 -1.0000 +vn -0.9999 -0.0129 0.0000 +vn -0.0079 1.0000 -0.0000 +vn -0.0106 0.9999 0.0000 +vn 0.9999 0.0129 0.0000 +s 1 +f 577/1009/274 578/1010/274 579/1011/275 580/1012/275 +f 578/1010/276 577/1009/276 581/1013/276 582/1014/276 +f 582/1014/277 581/1013/277 583/1015/277 584/1016/277 +f 584/1016/278 583/1015/278 585/1017/278 586/1018/278 +f 577/1019/279 587/1020/279 588/1021/279 585/1022/279 583/1023/279 581/1024/279 +f 586/1018/280 585/1017/280 588/1025/280 589/1026/280 +f 589/1026/281 588/1025/281 587/1027/281 590/1028/281 +f 590/1029/282 578/1030/282 582/1031/282 584/1032/282 586/1033/282 589/1034/282 +f 591/1035/283 592/1036/283 593/1037/283 594/1038/283 +f 587/1020/274 577/1019/274 580/1039/275 592/1040/284 +f 590/1028/274 587/1027/274 592/1036/284 591/1035/284 +f 578/1030/274 590/1029/274 591/1041/284 579/1042/275 +f 594/1043/285 593/1044/285 595/1045/285 596/1046/285 +f 579/1042/282 591/1041/282 594/1047/282 596/1048/282 +f 580/1012/286 579/1011/286 596/1046/286 595/1045/286 +f 592/1040/279 580/1039/279 595/1049/279 593/1050/279 +o HandleHilt_Cylinder.003 +v -1.464091 -0.996279 -0.140051 +v -1.457375 -0.967729 -0.140051 +v -1.339310 -0.995504 -0.070026 +v -1.346026 -1.024054 -0.070026 +v -1.339310 -0.995504 0.070026 +v -1.346026 -1.024054 0.070026 +v -1.457375 -0.967729 0.140051 +v -1.464091 -0.996279 0.140051 +v -1.575440 -0.939954 0.070026 +v -1.582156 -0.968503 0.070026 +v -1.343945 -0.917630 -0.057125 +v -1.343945 -0.917630 0.057125 +v -1.575440 -0.939954 -0.070026 +v -1.582156 -0.968503 -0.070026 +v -1.482215 -1.073316 0.113549 +v -1.386492 -1.095835 0.056774 +v -1.440258 -0.894971 -0.114249 +v -1.536572 -0.872313 -0.057125 +v -1.536572 -0.872313 0.057125 +v -1.440258 -0.894971 0.114249 +v -1.577937 -1.050797 0.056774 +v -1.577937 -1.050797 -0.056774 +v -1.539716 -1.059789 -0.034105 +v -1.539716 -1.059789 0.034105 +v -1.482215 -1.073316 -0.113549 +v -1.386492 -1.095835 -0.056774 +v -1.482215 -1.073316 -0.068210 +v -1.487302 -1.094942 -0.059778 +v -1.537696 -1.083087 -0.029889 +v -1.482215 -1.073316 0.068210 +v -1.424713 -1.086844 0.034105 +v -1.424713 -1.086844 -0.034105 +v -1.436908 -1.106798 -0.029889 +v -1.436908 -1.106798 0.029889 +v -1.487302 -1.094942 0.059778 +v -1.537696 -1.083087 0.029889 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.833333 1.000000 +vt 0.833333 0.500000 +vt 0.666667 1.000000 +vt 0.666667 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.333333 1.000000 +vt 0.333333 0.500000 +vt 0.833333 1.000000 +vt 0.666667 1.000000 +vt 0.166667 1.000000 +vt 0.166667 0.500000 +vt -0.000000 1.000000 +vt -0.000000 0.500000 +vt 0.500000 0.500000 +vt 0.666667 0.500000 +vt 0.457846 0.370000 +vt 0.250000 0.490000 +vt 0.042154 0.370000 +vt 0.042154 0.130000 +vt 0.250000 0.010000 +vt 0.457846 0.130000 +vt 0.333333 1.000000 +vt 0.166667 1.000000 +vt 1.000000 1.000000 +vt 0.500000 1.000000 +vt -0.000000 1.000000 +vt 0.333333 0.500000 +vt 0.166667 0.500000 +vt 0.166667 0.500000 +vt 0.333333 0.500000 +vt -0.000000 0.500000 +vt 0.833333 0.500000 +vt 1.000000 0.500000 +vt -0.000000 0.500000 +vt -0.000000 0.500000 +vt 0.166667 0.500000 +vt 0.500000 0.500000 +vt 0.666667 0.500000 +vt 0.833333 0.500000 +vt 1.000000 0.500000 +vt 0.750000 0.490000 +vt 0.957846 0.370000 +vt 0.957846 0.130000 +vt 0.750000 0.010000 +vt 0.542154 0.130000 +vt 0.542154 0.370000 +vt 0.333333 0.500000 +vt 0.500000 0.500000 +vt 0.666667 0.500000 +vt 0.833333 0.500000 +vt 1.000000 0.500000 +vn 0.4867 -0.1145 -0.8660 +vn 0.9734 -0.2290 0.0000 +vn 0.4867 -0.1145 0.8660 +vn -0.4867 0.1145 0.8660 +vn 0.9982 0.0594 0.0000 +vn -0.9734 0.2290 0.0000 +vn -0.4867 0.1145 -0.8660 +vn 0.4037 -0.3811 0.8318 +vn 0.2290 0.9734 -0.0000 +vn -0.8670 0.4982 0.0000 +vn 0.5319 0.1691 -0.8297 +vn 0.5319 0.1691 0.8297 +vn -0.4007 0.3885 -0.8297 +vn -0.4007 0.3885 0.8297 +vn -0.2290 -0.9734 0.0000 +vn -0.5312 -0.1612 -0.8318 +vn -0.5312 -0.1612 0.8318 +vn 0.8711 -0.4911 0.0000 +vn -0.9987 -0.0512 0.0000 +vn 0.4037 -0.3811 -0.8318 +vn -0.5339 -0.1952 -0.8227 +vn -0.5339 -0.1952 0.8227 +vn 0.8533 -0.5215 0.0000 +vn -0.9963 -0.0864 0.0000 +vn 0.3909 -0.4127 0.8227 +vn 0.3909 -0.4127 -0.8227 +s 1 +f 597/1051/287 598/1052/287 599/1053/287 600/1054/287 +f 600/1054/288 599/1053/288 601/1055/288 602/1056/288 +f 602/1056/289 601/1055/289 603/1057/289 604/1058/289 +f 604/1058/290 603/1057/290 605/1059/290 606/1060/290 +f 601/1055/291 599/1053/291 607/1061/291 608/1062/291 +f 606/1060/292 605/1059/292 609/1063/292 610/1064/292 +f 610/1064/293 609/1063/293 598/1065/293 597/1066/293 +f 602/1056/294 604/1058/294 611/1067/294 612/1068/294 +f 607/1069/295 613/1070/295 614/1071/295 615/1072/295 616/1073/295 608/1074/295 +f 609/1063/296 605/1059/296 615/1075/296 614/1076/296 +f 599/1053/297 598/1052/297 613/1077/297 607/1061/297 +f 603/1057/298 601/1055/298 608/1062/298 616/1078/298 +f 598/1065/299 609/1063/299 614/1076/299 613/1079/299 +f 605/1059/300 603/1057/300 616/1078/300 615/1075/300 +f 617/1080/301 618/1081/301 619/1082/301 620/1083/301 +f 610/1064/302 597/1066/302 621/1084/302 618/1081/302 +f 604/1058/303 606/1060/303 617/1080/303 611/1067/303 +f 600/1054/304 602/1056/304 612/1068/304 622/1085/304 +f 606/1060/305 610/1064/305 618/1081/305 617/1080/305 +f 597/1051/306 600/1054/306 622/1085/306 621/1086/306 +f 619/1082/307 623/1087/307 624/1088/307 625/1089/307 +f 612/1068/301 611/1067/301 626/1090/301 627/1091/301 +f 621/1086/301 622/1085/301 628/1092/301 623/1093/301 +f 618/1081/301 621/1084/301 623/1087/301 619/1082/301 +f 611/1067/301 617/1080/301 620/1083/301 626/1090/301 +f 622/1085/301 612/1068/301 627/1091/301 628/1092/301 +f 624/1094/301 629/1095/301 630/1096/301 631/1097/301 632/1098/301 625/1099/301 +f 626/1090/308 620/1083/308 632/1100/308 631/1101/308 +f 628/1092/309 627/1091/309 630/1102/309 629/1103/309 +f 620/1083/310 619/1082/310 625/1089/310 632/1100/310 +f 627/1091/311 626/1090/311 631/1101/311 630/1102/311 +f 623/1093/312 628/1092/312 629/1103/312 624/1104/312 +o HandleComfortThing_Cube.006 +v -1.508359 -0.214874 0.108693 +v -1.504838 -0.215309 -0.106817 +v -1.564296 -0.274102 -0.089219 +v -1.567402 -0.273718 0.089973 +v -1.348484 -0.928894 -0.174279 +v -1.331423 -0.813343 -0.174279 +v -1.263873 -0.855085 -0.182453 +v -1.262042 -0.949106 -0.182453 +v -1.263873 -0.855085 0.182453 +v -1.207149 -0.865197 0.174081 +v -1.207149 -0.865197 -0.174081 +v -1.570189 -0.877055 0.143835 +v -1.435938 -0.379825 0.163084 +v -1.622805 -0.828855 0.096503 +v -1.262042 -0.949106 0.182453 +v -1.348484 -0.928894 0.174279 +v -1.435938 -0.379825 -0.163084 +v -1.112852 -0.829663 0.130793 +v -1.112852 -0.829663 -0.130793 +v -1.205319 -0.959218 -0.174081 +v -1.205319 -0.959218 0.174081 +v -1.111021 -0.923684 0.130793 +v -1.072210 -0.848373 0.087270 +v -1.073111 -0.802094 0.087270 +v -1.111021 -0.923684 -0.130793 +v -1.072210 -0.848373 -0.087270 +v -1.073111 -0.802094 -0.087270 +v -1.681696 -0.766817 -0.072169 +v -1.689936 -0.702839 -0.059605 +v -1.640119 -0.414721 -0.072179 +v -1.619700 -0.829239 -0.095954 +v -1.684682 -0.766448 0.071709 +v -1.643105 -0.414353 0.071698 +v -1.666879 -0.498637 -0.059615 +v -1.669865 -0.498268 0.058900 +v -1.692922 -0.702470 0.058910 +v -1.690559 -0.607421 0.054481 +v -1.687573 -0.607789 -0.055307 +v -1.331423 -0.813343 0.174279 +v -1.416650 -0.767127 -0.178303 +v -1.416650 -0.767127 0.178303 +v -1.469005 -0.685482 -0.171908 +v -1.469005 -0.685482 0.171908 +v -1.542909 -0.883434 -0.161182 +v -1.516768 -0.889546 -0.174389 +v -1.516768 -0.889546 0.174389 +v -1.542909 -0.883434 0.161182 +v -1.432626 -0.909220 -0.178303 +v -1.432626 -0.909220 0.178303 +v -1.484962 -0.656299 -0.158888 +v -1.570189 -0.877055 -0.143835 +v -1.484962 -0.656299 0.158888 +vt 0.875000 0.750000 +vt 0.875000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.375000 0.435792 +vt 0.625000 0.435792 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.375000 0.978890 +vt 0.625000 0.978890 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.310792 0.500000 +vt 0.375000 0.750000 +vt 0.310792 0.750000 +vt 0.853890 0.500000 +vt 0.853890 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.750000 +vt 0.375000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.375000 0.250000 +vt 0.625000 0.250000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt 0.125000 0.750000 +vt 0.125000 0.500000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.875000 0.750000 +vt 0.875000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.125000 0.750000 +vt 0.125000 0.500000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.125000 0.750000 +vt 0.125000 0.500000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.689208 0.500000 +vt 0.689208 0.750000 +vt 0.751708 0.500000 +vt 0.751708 0.750000 +vt 0.814208 0.500000 +vt 0.814208 0.750000 +vt 0.166374 0.500000 +vt 0.185792 0.500000 +vt 0.185792 0.750000 +vt 0.166374 0.750000 +vt 0.248292 0.500000 +vt 0.248292 0.750000 +vt 0.625000 0.814208 +vt 0.375000 0.814208 +vt 0.625000 0.876708 +vt 0.375000 0.876708 +vt 0.625000 0.939208 +vt 0.375000 0.939208 +vt 0.375000 0.291374 +vt 0.625000 0.291374 +vt 0.625000 0.310792 +vt 0.375000 0.310792 +vt 0.625000 0.373292 +vt 0.375000 0.373292 +vt 0.625000 0.271110 +vt 0.375000 0.271110 +vt 0.146110 0.500000 +vt 0.146110 0.750000 +vt 0.833626 0.500000 +vt 0.833626 0.750000 +vt 0.625000 0.958626 +vt 0.375000 0.958626 +vn -0.7044 0.7097 -0.0133 +vn -0.1026 0.0075 -0.9947 +vn 0.1755 0.9845 0.0000 +vn -0.5269 0.0940 0.8447 +vn -0.2277 -0.9737 0.0000 +vn 0.9190 0.3942 0.0057 +vn -0.3526 0.9358 0.0000 +vn 0.1465 0.0029 -0.9892 +vn 0.1465 0.0029 0.9892 +vn -0.1755 -0.9845 0.0000 +vn 0.7339 0.0143 0.6791 +vn 0.4147 0.0081 -0.9099 +vn 0.4147 0.0081 0.9099 +vn 0.3526 -0.9358 0.0000 +vn 0.9998 0.0195 0.0000 +vn 0.8889 -0.4581 0.0000 +vn -0.5700 0.8216 0.0000 +vn 0.7339 0.0143 -0.6791 +vn -0.3667 0.0433 -0.9293 +vn -0.7097 -0.7044 -0.0113 +vn -0.3211 0.0435 -0.9461 +vn -0.3371 0.0447 0.9404 +vn -0.9525 0.3038 -0.0225 +vn -0.3829 0.0452 0.9227 +vn -0.8802 0.4743 -0.0177 +vn -0.9916 -0.1277 -0.0222 +vn -0.9822 0.1862 -0.0263 +vn -0.9993 0.0248 -0.0262 +vn -0.5482 0.0619 -0.8340 +vn -0.5564 0.0629 0.8286 +vn 0.5257 0.8507 0.0000 +vn 0.4767 0.8791 0.0000 +vn 0.8418 0.5398 0.0000 +vn -0.1026 0.0075 0.9947 +vn 0.0452 -0.0058 0.9990 +vn -0.0616 0.0185 0.9979 +vn -0.4504 0.1202 -0.8847 +vn -0.0616 0.0185 -0.9979 +vn 0.0452 -0.0058 -0.9990 +vn -0.5492 0.1006 -0.8296 +vn -0.3469 0.0702 -0.9353 +vn -0.6850 -0.7286 -0.0038 +vn 0.8774 0.4798 0.0000 +vn 0.9846 -0.1746 0.0000 +vn -0.4504 0.1202 0.8847 +vn -0.3469 0.0702 0.9353 +s 1 +f 633/1105/313 634/1106/313 635/1107/313 636/1108/313 +f 637/1109/314 638/1110/314 639/1111/314 640/1112/314 +f 639/1111/315 641/1113/315 642/1114/315 643/1115/315 +f 644/1116/316 645/1117/316 633/1118/316 646/1119/316 +f 637/1120/317 640/1112/317 647/1121/317 648/1122/317 +f 649/1123/318 634/1106/318 633/1105/318 645/1124/318 +f 643/1115/319 642/1114/319 650/1125/319 651/1126/319 +f 640/1112/320 639/1111/320 643/1115/320 652/1127/320 +f 641/1113/321 647/1121/321 653/1128/321 642/1114/321 +f 647/1121/322 640/1112/322 652/1127/322 653/1128/322 +f 650/1125/323 654/1129/323 655/1130/323 656/1131/323 +f 652/1127/324 643/1115/324 651/1126/324 657/1132/324 +f 642/1114/325 653/1128/325 654/1129/325 650/1125/325 +f 653/1128/326 652/1127/326 657/1132/326 654/1129/326 +f 658/1133/327 659/1134/327 656/1131/327 655/1130/327 +f 654/1129/328 657/1132/328 658/1133/328 655/1130/328 +f 651/1126/329 650/1125/329 656/1131/329 659/1134/329 +f 657/1132/330 651/1126/330 659/1134/330 658/1133/330 +f 635/1135/331 660/1136/331 661/1137/331 662/1138/331 +f 663/1139/332 646/1140/332 664/1141/332 660/1142/332 +f 634/1143/333 663/1144/333 660/1136/333 635/1135/333 +f 646/1119/334 633/1118/334 636/1145/334 664/1146/334 +f 665/1147/335 662/1148/335 666/1149/335 667/1150/335 +f 664/1146/336 636/1145/336 665/1151/336 668/1152/336 +f 636/1108/337 635/1107/337 662/1148/337 665/1147/337 +f 660/1142/338 664/1141/338 668/1153/338 661/1154/338 +f 669/1155/339 667/1156/339 666/1157/339 670/1158/339 +f 661/1154/340 668/1153/340 669/1159/340 670/1160/340 +f 662/1138/341 661/1137/341 670/1158/341 666/1157/341 +f 668/1152/342 665/1151/342 667/1161/342 669/1162/342 +f 639/1111/343 638/1163/343 671/1164/343 641/1113/343 +f 638/1163/344 672/1165/344 673/1166/344 671/1164/344 +f 672/1165/345 674/1167/345 675/1168/345 673/1166/345 +f 676/1169/317 677/1170/317 678/1171/317 679/1172/317 +f 677/1170/317 680/1173/317 681/1174/317 678/1171/317 +f 680/1173/317 637/1120/317 648/1122/317 681/1174/317 +f 647/1121/346 641/1113/346 671/1175/346 648/1176/346 +f 648/1176/347 671/1175/347 673/1177/347 681/1178/347 +f 681/1178/348 673/1177/348 675/1179/348 678/1180/348 +f 676/1181/349 682/1182/349 674/1183/349 677/1184/349 +f 677/1184/350 674/1183/350 672/1185/350 680/1186/350 +f 680/1186/351 672/1185/351 638/1110/351 637/1109/351 +f 663/1144/352 634/1143/352 649/1187/352 683/1188/352 +f 683/1188/353 649/1187/353 682/1182/353 676/1181/353 +f 663/1139/354 683/1189/354 644/1190/354 646/1140/354 +f 683/1189/317 676/1169/317 679/1172/317 644/1190/317 +f 674/1167/355 682/1191/355 684/1192/355 675/1168/355 +f 682/1191/356 649/1123/356 645/1124/356 684/1192/356 +f 678/1180/357 675/1179/357 684/1193/357 679/1194/357 +f 679/1194/358 684/1193/358 645/1117/358 644/1116/358 +o Grip_Cube.001 +v -1.325666 -0.019640 0.170554 +v -1.325666 0.137146 0.170554 +v -1.472478 0.148884 0.071087 +v -1.472478 -0.007902 0.071087 +v -1.325666 -0.019640 -0.170554 +v -1.325666 0.137146 -0.170554 +v -1.062875 0.137146 -0.170554 +v -1.062875 -0.019640 -0.170554 +v -1.130714 -0.142396 -0.170554 +v -0.914155 -0.020276 -0.107189 +v -0.981994 -0.143031 -0.107189 +v -1.062875 -0.019640 0.170554 +v -1.062875 0.137146 0.170554 +v -0.914155 0.136510 -0.107189 +v -1.259746 -0.728734 -0.170554 +v -1.147611 -0.221161 -0.170554 +v -0.998891 -0.221796 -0.107189 +v -1.111026 -0.729370 -0.107189 +v -1.346664 -0.179545 0.170554 +v -1.130714 -0.142396 0.170554 +v -1.346664 -0.179545 -0.170554 +v -1.447785 -0.735647 0.170554 +v -1.363562 -0.258310 0.170554 +v -1.510373 -0.246572 0.071087 +v -1.594597 -0.723909 0.071087 +v -0.981994 -0.143031 0.107189 +v -0.914155 -0.020276 0.107189 +v -1.363562 -0.258310 -0.170554 +v -1.447785 -0.735647 -0.170554 +v -1.594597 -0.723909 -0.071087 +v -1.510373 -0.246572 -0.071087 +v -1.147611 -0.221161 0.170554 +v -1.259746 -0.728734 0.170554 +v -1.483874 -0.874924 0.170554 +v -1.219691 -0.868011 0.170554 +v -1.493475 -0.167807 0.071087 +v -1.483874 -0.751872 -0.170554 +v -1.219691 -0.868011 -0.170554 +v -0.914155 0.136510 0.107189 +v -1.472478 -0.007902 -0.071087 +v -1.472478 0.148884 -0.071087 +v -1.493475 -0.167807 -0.071087 +v -1.630686 -0.740134 -0.071087 +v -1.630686 -0.740134 0.071087 +v -0.998891 -0.221796 0.107189 +v -1.111026 -0.729370 0.107189 +v -1.100054 -0.868647 0.107189 +v -1.100054 -0.868647 -0.107189 +vt 0.375000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 1.000000 +vt 0.375000 0.750000 +vt 0.375000 0.250000 +vt 0.375000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.750000 +vt 0.375000 0.750000 +vt 0.375000 0.250000 +vt 0.375000 0.250000 +vt 0.375000 0.250000 +vt 0.375000 0.250000 +vt 0.375000 0.750000 +vt 0.375000 0.750000 +vt 0.375000 1.000000 +vt 0.375000 0.750000 +vt 0.375000 1.000000 +vt 0.125000 0.500000 +vt 0.375000 0.500000 +vt 0.125000 0.750000 +vt 0.375000 0.250000 +vt 0.625000 0.750000 +vt 0.375000 0.250000 +vt 0.625000 0.250000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.375000 0.250000 +vt 0.375000 0.000000 +vt 0.375000 0.000000 +vt 0.375000 0.000000 +vt 0.375000 0.250000 +vt 0.375000 0.000000 +vt 0.125000 0.750000 +vt 0.125000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.375000 1.000000 +vt 0.375000 0.750000 +vt 0.375000 0.750000 +vt 0.375000 0.750000 +vt 0.375000 0.500000 +vn -0.5609 0.0000 0.8279 +vn 0.0000 0.0000 -1.0000 +vn 0.3824 -0.2113 -0.8995 +vn -0.0000 -0.0000 1.0000 +vn 0.3920 0.0000 -0.9200 +vn 0.0039 1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.3902 -0.0862 -0.9167 +vn 0.3902 -0.0839 -0.9169 +vn 0.3901 -0.0861 -0.9167 +vn -0.5529 0.0976 0.8275 +vn 0.3824 -0.2113 0.8995 +vn -0.5529 0.0976 -0.8275 +vn -0.5505 0.1181 0.8264 +vn -0.1994 -0.9644 -0.1739 +vn 0.3920 -0.0000 0.9200 +vn -0.5609 -0.0000 -0.8279 +vn -1.0000 0.0000 0.0000 +vn -0.9915 0.1302 0.0000 +vn -0.9778 0.2098 0.0000 +vn -0.9848 0.1738 0.0000 +vn -0.4100 0.9121 0.0000 +vn -0.5554 0.0729 0.8284 +vn -0.4354 -0.8724 -0.2221 +vn 0.0797 0.9968 0.0000 +vn -0.5554 0.0729 -0.8284 +vn -0.3339 0.7427 -0.5805 +vn -0.5505 0.1181 -0.8264 +vn -0.4704 0.2183 0.8550 +vn 1.0000 -0.0000 0.0000 +vn 0.8752 -0.4837 -0.0000 +vn 0.9778 -0.2098 0.0000 +vn 0.9771 -0.2127 0.0000 +vn 0.9765 -0.2157 0.0000 +vn 0.9969 0.0785 0.0000 +vn 0.4260 0.0780 0.9013 +vn 0.3903 -0.0837 0.9169 +vn 0.3902 -0.0839 0.9169 +vn 0.3901 -0.0861 0.9167 +vn -0.0053 -1.0000 0.0000 +vn 0.4260 0.0780 -0.9013 +vn 0.3903 -0.0837 -0.9169 +vn 0.0043 1.0000 0.0000 +vn 0.3902 -0.0862 0.9167 +s 1 +f 685/1195/359 686/1196/359 687/1197/359 688/1198/359 +f 689/1199/360 690/1200/360 691/1201/360 692/1202/360 +f 693/1203/361 692/1202/361 694/1204/361 695/1205/361 +f 696/1206/362 697/1207/362 686/1196/362 685/1195/362 +f 692/1202/363 691/1201/363 698/1208/363 694/1204/363 +f 691/1201/364 690/1209/365 686/1210/365 697/1207/364 +f 699/1211/366 700/1212/367 701/1213/368 702/1214/366 +f 696/1206/362 685/1195/362 703/1215/362 704/1216/362 +f 689/1199/360 692/1202/360 693/1203/360 705/1217/360 +f 706/1218/369 707/1219/369 708/1220/369 709/1221/369 +f 696/1206/370 704/1216/370 710/1222/370 711/1223/370 +f 712/1224/371 713/1225/371 714/1226/371 715/1227/371 +f 704/1216/362 703/1215/362 707/1219/362 716/1228/362 +f 705/1217/360 693/1203/360 700/1212/360 712/1224/360 +f 717/1229/362 706/1218/362 718/1230/362 719/1231/362 +f 707/1219/372 703/1215/372 720/1232/372 708/1220/372 +f 716/1228/362 707/1219/362 706/1218/362 717/1229/362 +f 712/1224/360 700/1212/360 699/1211/360 713/1225/360 +f 721/1233/373 722/1234/373 719/1231/373 718/1235/373 +f 713/1225/360 699/1211/360 722/1234/360 721/1236/360 +f 697/1207/374 696/1206/374 711/1223/374 723/1237/374 +f 690/1200/375 689/1199/375 724/1238/375 725/1239/375 +f 688/1240/376 687/1241/376 725/1239/376 724/1238/376 +f 688/1240/377 724/1238/377 726/1242/377 720/1243/377 +f 720/1243/378 726/1242/378 715/1227/378 708/1244/378 +f 708/1244/379 715/1227/379 714/1226/379 709/1245/379 +f 709/1245/380 714/1226/380 727/1246/380 728/1247/380 +f 703/1215/381 685/1195/381 688/1198/381 720/1232/381 +f 721/1233/382 718/1235/382 728/1248/382 727/1249/382 +f 686/1210/383 690/1209/383 725/1250/383 687/1251/383 +f 689/1199/384 705/1217/384 726/1242/384 724/1238/384 +f 713/1225/385 721/1236/385 727/1246/385 714/1226/385 +f 705/1217/386 712/1224/386 715/1227/386 726/1242/386 +f 718/1230/387 706/1218/387 709/1221/387 728/1252/387 +f 694/1204/388 698/1208/388 723/1237/388 711/1223/388 +f 694/1204/389 711/1223/389 710/1222/389 695/1205/389 +f 695/1205/390 710/1222/390 729/1253/391 701/1213/391 +f 701/1213/391 729/1253/391 730/1254/392 702/1214/392 +f 702/1214/393 730/1254/393 731/1255/393 732/1256/393 +f 717/1229/394 719/1231/394 731/1255/394 730/1254/394 +f 704/1216/395 716/1228/396 729/1253/397 710/1222/395 +f 719/1231/398 722/1234/398 732/1256/398 731/1255/398 +f 722/1234/399 699/1211/399 702/1214/399 732/1256/399 +f 700/1212/367 693/1203/400 695/1205/400 701/1213/368 +f 691/1201/364 697/1207/364 723/1237/401 698/1208/401 +f 716/1228/396 717/1229/402 730/1254/402 729/1253/397 +o AmmunitionCan_Cylinder.007 +v -1.114931 0.645018 -0.394257 +v -0.705608 0.645018 -0.392564 +v -0.705608 0.367434 -0.277584 +v -1.115595 0.367434 -0.277584 +v -0.705608 0.252454 0.000000 +v -1.115595 0.252454 0.000000 +v -0.705608 0.367434 0.277584 +v -1.115595 0.367434 0.277584 +v -0.705608 0.645018 0.392564 +v -1.115595 0.645018 0.392564 +v -0.705608 0.922602 0.277584 +v -1.115595 0.922602 0.277584 +v -0.705608 1.037581 0.000000 +v -1.115595 1.037581 0.000000 +v -0.705608 0.922602 -0.277584 +v -1.115595 0.922602 -0.277584 +v -1.680468 0.367434 -0.277584 +v -1.680468 0.252454 0.000000 +v -1.696762 0.326183 0.000000 +v -1.696762 0.419567 -0.225451 +v -1.696762 0.645018 0.318835 +v -1.696762 0.870468 0.225451 +v -1.717499 0.922175 0.277157 +v -1.717499 0.645018 0.391959 +v -1.680468 0.645018 0.392564 +v -1.680468 0.922602 0.277584 +v -1.680468 0.922602 -0.277584 +v -1.680468 0.645018 -0.392564 +v -1.696762 0.645018 -0.318835 +v -1.696762 0.870469 -0.225450 +v -1.680468 0.367434 0.277584 +v -1.696762 0.419567 0.225451 +v -1.680468 1.037582 0.000000 +v -1.696762 0.963853 0.000000 +v -1.717499 1.036977 0.000000 +v -1.717499 0.922175 -0.277157 +v -1.807855 0.922175 -0.277157 +v -1.807855 1.036977 0.000000 +v -1.717499 0.367861 0.277157 +v -1.717499 0.253059 0.000000 +v -1.717499 0.367861 -0.277157 +v -1.717499 0.645018 -0.391959 +v -1.807855 0.922175 0.277157 +v -1.827112 0.964049 0.000000 +v -1.827112 0.870607 0.225589 +v -1.807856 0.645018 0.391959 +v -1.807856 0.367861 0.277157 +v -1.807856 0.253059 0.000000 +v -1.807856 0.367861 -0.277157 +v -1.807856 0.645018 -0.391959 +v -1.827112 0.645018 -0.319031 +v -1.827112 0.419429 -0.225589 +v -1.850272 0.367220 -0.277798 +v -1.850272 0.645018 -0.392866 +v -1.827112 0.645018 0.319031 +v -1.827112 0.419429 0.225589 +v -1.827112 0.325987 0.000000 +v -1.827112 0.870607 -0.225589 +v -1.850272 1.037884 0.000000 +v -1.850272 0.922816 -0.277798 +v -1.929992 0.922816 -0.277798 +v -1.929992 1.037884 0.000000 +v -1.850272 0.922816 0.277798 +v -1.850272 0.645018 0.392866 +v -1.850272 0.367220 0.277798 +v -1.850272 0.252152 0.000000 +v -1.929992 0.367220 -0.277798 +v -1.929992 0.252152 0.000000 +v -2.043752 0.321683 0.000000 +v -2.043752 0.416385 -0.228633 +v -1.929992 0.922816 0.277798 +v -1.929992 0.645018 0.392866 +v -1.929992 0.367220 0.277798 +v -1.929992 0.645018 -0.392866 +v -2.043752 0.873651 -0.228633 +v -2.043752 0.645018 -0.323335 +v -2.121962 0.645018 -0.225354 +v -2.121962 0.804367 -0.159349 +v -2.043752 0.968353 0.000000 +v -2.043752 0.873651 0.228633 +v -2.043752 0.645018 0.323335 +v -2.043752 0.416385 0.228633 +v -2.121962 0.870372 0.000000 +v -2.179800 0.787147 -0.142129 +v -2.179800 0.846019 0.000000 +v -2.121962 0.804367 0.159349 +v -2.121962 0.645018 0.225354 +v -2.121962 0.485669 0.159349 +v -2.121962 0.419664 0.000000 +v -2.121962 0.485669 -0.159349 +v -2.179800 0.787147 0.142129 +v -2.179800 0.817735 0.000000 +v -2.179800 0.767148 0.122130 +v -2.179800 0.645018 0.201001 +v -2.179800 0.502889 0.142129 +v -2.179800 0.444017 0.000000 +v -2.179800 0.502889 -0.142129 +v -2.179800 0.645018 -0.201001 +v -2.179800 0.645018 -0.172717 +v -2.179800 0.522888 -0.122130 +v -2.139229 0.522888 -0.122130 +v -2.139229 0.645018 -0.172717 +v -2.179800 0.645018 0.172717 +v -2.179800 0.522888 0.122130 +v -2.179800 0.472301 0.000000 +v -2.179800 0.767148 -0.122130 +v -2.139229 0.472301 0.000000 +v -2.139229 0.522888 0.122130 +v -2.139229 0.645018 0.172717 +v -2.139229 0.767148 0.122130 +v -2.139229 0.817735 0.000000 +v -2.139229 0.767148 -0.122130 +v -1.416219 0.923800 -0.278782 +v -1.416219 0.645018 -0.394257 +v -1.415588 1.037581 0.000000 +v -1.416219 0.923800 0.278782 +v -1.416219 0.645018 0.394257 +v -1.416219 0.366236 0.278782 +v -1.415589 0.252454 0.000000 +v -1.416219 0.366236 -0.278782 +v -1.161507 0.923800 -0.278782 +v -1.161507 0.645018 -0.394257 +v -1.161507 1.039275 0.000000 +v -1.161507 0.923800 0.278782 +v -1.161507 0.645018 0.394257 +v -1.161507 0.366236 0.278782 +v -1.161507 0.250761 0.000000 +v -1.161507 0.366236 -0.278782 +v -1.379544 0.645018 -0.394257 +v -1.379545 0.366236 -0.278782 +v -1.379545 1.039275 0.000000 +v -1.379545 0.923800 0.278782 +v -1.382795 0.953877 0.308859 +v -1.382795 1.081811 0.000000 +v -1.319287 0.645018 -0.409318 +v -1.221764 0.645018 -0.409318 +v -1.221764 0.355586 -0.289432 +v -1.319287 0.355586 -0.289432 +v -1.158621 0.950501 -0.305483 +v -1.158621 1.077036 0.000000 +v -1.379545 0.250761 0.000000 +v -1.319287 0.235700 0.000000 +v -1.316037 0.208225 0.000000 +v -1.316037 0.336159 -0.308859 +v -1.221764 0.235700 0.000000 +v -1.158621 0.950501 0.305483 +v -1.158621 0.645018 0.432019 +v -1.379545 0.366236 0.278782 +v -1.379545 0.645018 0.394257 +v -1.382795 0.336159 0.308859 +v -1.382795 0.645018 0.436793 +v -1.221764 0.355586 0.289432 +v -1.319287 0.355586 0.289432 +v -1.221764 0.934450 -0.289432 +v -1.221764 1.054336 0.000000 +v -1.224650 1.077036 0.000000 +v -1.224650 0.950501 -0.305483 +v -1.382795 0.336159 -0.308859 +v -1.382795 0.208225 0.000000 +v -1.221764 0.645018 0.409318 +v -1.319287 0.645018 0.409318 +v -1.158621 0.339535 0.305483 +v -1.158621 0.212999 0.000000 +v -1.319287 1.054336 0.000000 +v -1.319287 0.934450 -0.289432 +v -1.316037 0.953877 -0.308859 +v -1.316037 1.081811 0.000000 +v -1.221764 0.934450 0.289432 +v -1.319287 0.934450 0.289432 +v -1.224650 0.645018 0.432019 +v -1.224650 0.950501 0.305483 +v -1.316037 0.953877 0.308859 +v -1.316037 0.645018 0.436793 +v -1.158621 0.339535 -0.305483 +v -1.158621 0.645018 -0.432019 +v -1.379545 0.923800 -0.278782 +v -1.382795 0.953877 -0.308859 +v -1.224650 0.212999 0.000000 +v -1.224650 0.339535 0.305483 +v -1.316037 0.336159 0.308859 +v -1.224650 0.645018 -0.432019 +v -1.224650 0.339535 -0.305483 +v -1.382795 0.645018 -0.436793 +v -1.316036 0.645018 -0.436793 +vt 1.000000 0.825168 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.875000 0.825168 +vt 0.750000 1.000000 +vt 0.750000 0.825168 +vt 0.625000 1.000000 +vt 0.625000 0.825168 +vt 0.500000 1.000000 +vt 0.500000 0.825168 +vt 0.375000 1.000000 +vt 0.375000 0.825168 +vt 0.250000 1.000000 +vt 0.250000 0.825168 +vt 0.419706 0.419706 +vt 0.250000 0.490000 +vt 0.080294 0.419706 +vt 0.010000 0.250000 +vt 0.080294 0.080294 +vt 0.250000 0.010000 +vt 0.419706 0.080294 +vt 0.490000 0.250000 +vt 0.125000 1.000000 +vt 0.125000 0.825168 +vt 0.000000 1.000000 +vt 0.000000 0.825168 +vt 0.875000 0.500000 +vt 0.750000 0.500000 +vt 0.750000 0.500000 +vt 0.875000 0.500000 +vt 0.500000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.500000 0.500000 +vt 0.500000 0.500000 +vt 0.375000 0.500000 +vt 0.125000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 1.000000 0.500000 +vt 1.000000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.250000 0.500000 +vt 0.250000 0.500000 +vt 0.250000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 0.500000 +vt 0.250000 0.500000 +vt 0.625000 0.500000 +vt 0.750000 0.500000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +vt 0.375000 0.500000 +vt 0.250000 0.500000 +vt 0.375000 0.500000 +vt 0.500000 0.500000 +vt 0.625000 0.500000 +vt 0.750000 0.500000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 0.500000 0.500000 +vt 0.625000 0.500000 +vt 0.750000 0.500000 +vt 0.125000 0.500000 +vt 0.000000 0.500000 +vt 0.250000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 0.500000 +vt 0.250000 0.500000 +vt 0.000000 0.500000 +vt 0.375000 0.500000 +vt 0.500000 0.500000 +vt 0.625000 0.500000 +vt 0.750000 0.500000 +vt 0.875000 0.500000 +vt 0.750000 0.500000 +vt 0.750000 0.500000 +vt 0.875000 0.500000 +vt 0.375000 0.500000 +vt 0.500000 0.500000 +vt 0.625000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.250000 0.500000 +vt 0.375000 0.500000 +vt 0.500000 0.500000 +vt 0.625000 0.500000 +vt 1.000000 0.500000 +vt 0.250000 0.500000 +vt 0.125000 0.500000 +vt 0.250000 0.500000 +vt 0.375000 0.500000 +vt 0.500000 0.500000 +vt 0.625000 0.500000 +vt 0.750000 0.500000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 0.375000 0.500000 +vt 0.250000 0.500000 +vt 0.375000 0.500000 +vt 0.500000 0.500000 +vt 0.625000 0.500000 +vt 0.750000 0.500000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 0.500000 0.500000 +vt 0.625000 0.500000 +vt 0.750000 0.500000 +vt 0.125000 0.500000 +vt 0.000000 0.500000 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.990000 0.250000 +vt 0.919706 0.080294 +vt 0.750000 0.010000 +vt 0.580294 0.080294 +vt 0.510000 0.250000 +vt 0.580294 0.419706 +vt 0.000000 0.500000 +vt 0.125000 0.500000 +vt 0.250000 0.500000 +vt 0.375000 0.500000 +vt 0.500000 0.500000 +vt 0.625000 0.500000 +vt 0.750000 0.500000 +vt 0.125000 0.658502 +vt 0.000000 0.658502 +vt 0.250000 0.658502 +vt 0.375000 0.658502 +vt 0.500000 0.658502 +vt 0.625000 0.658502 +vt 0.750000 0.658502 +vt 0.875000 0.658502 +vt 1.000000 0.658502 +vt 0.125000 0.790724 +vt 0.000000 0.790724 +vt 0.250000 0.790724 +vt 0.375000 0.790724 +vt 0.500000 0.790724 +vt 0.625000 0.790724 +vt 0.750000 0.790724 +vt 0.875000 0.790724 +vt 1.000000 0.790724 +vt 1.000000 0.690724 +vt 0.875000 0.690724 +vt 0.250000 0.690724 +vt 0.375000 0.690724 +vt 0.375000 0.690724 +vt 0.250000 0.690724 +vt 1.000000 0.724057 +vt 1.000000 0.757391 +vt 0.875000 0.757391 +vt 0.875000 0.724057 +vt 0.125000 0.790724 +vt 0.250000 0.790724 +vt 0.750000 0.690724 +vt 0.750000 0.724057 +vt 0.750000 0.724057 +vt 0.875000 0.724057 +vt 0.750000 0.757391 +vt 0.375000 0.790724 +vt 0.500000 0.790724 +vt 0.625000 0.690724 +vt 0.500000 0.690724 +vt 0.625000 0.690724 +vt 0.500000 0.690724 +vt 0.625000 0.757391 +vt 0.625000 0.724057 +vt 0.125000 0.757391 +vt 0.250000 0.757391 +vt 0.250000 0.757391 +vt 0.125000 0.757391 +vt 0.875000 0.690724 +vt 0.750000 0.690724 +vt 0.500000 0.757391 +vt 0.500000 0.724057 +vt 0.625000 0.790724 +vt 0.750000 0.790724 +vt 0.250000 0.724057 +vt 0.125000 0.724057 +vt 0.125000 0.724057 +vt 0.250000 0.724057 +vt 0.375000 0.757391 +vt 0.375000 0.724057 +vt 0.500000 0.757391 +vt 0.375000 0.757391 +vt 0.375000 0.724057 +vt 0.500000 0.724057 +vt 0.875000 0.790724 +vt 1.000000 0.790724 +vt 0.125000 0.690724 +vt 0.125000 0.690724 +vt 0.750000 0.757391 +vt 0.625000 0.757391 +vt 0.000000 0.690724 +vt 0.625000 0.724057 +vt 0.000000 0.757391 +vt 0.000000 0.724057 +vt 1.000000 0.757391 +vt 0.875000 0.757391 +vt 0.000000 0.790724 +vt 0.000000 0.757391 +vt 1.000000 0.690724 +vt 1.000000 0.724057 +vt 0.000000 0.724057 +vt 0.000000 0.690724 +vn 0.0019 -0.3851 -0.9229 +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 1.0000 -0.0000 0.0000 +vn 0.0000 0.9239 -0.3827 +vn 0.0019 0.3851 -0.9229 +vn -0.9726 -0.2149 -0.0890 +vn 0.9560 0.1123 0.2711 +vn -0.9726 0.0890 0.2149 +vn -0.9726 0.0890 -0.2149 +vn -0.9726 -0.0890 -0.2149 +vn -0.9726 -0.2149 0.0890 +vn -0.9726 0.2149 0.0890 +vn -0.9726 -0.0890 0.2149 +vn -0.9726 0.2149 -0.0890 +vn 0.9560 -0.2711 0.1123 +vn 0.9560 -0.1123 -0.2711 +vn 0.9560 0.1123 -0.2711 +vn 0.9560 0.2711 0.1123 +vn 0.9560 -0.1123 0.2711 +vn 0.9560 -0.2711 -0.1123 +vn 0.9560 0.2711 -0.1123 +vn -0.9615 0.2539 0.1052 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 0.3827 -0.9239 +vn 0.9469 -0.1230 -0.2970 +vn -0.9615 -0.1052 0.2539 +vn -0.9615 -0.2539 -0.1052 +vn -0.9615 0.2539 -0.1052 +vn -0.9615 0.1052 0.2539 +vn -0.9615 -0.2539 0.1052 +vn -0.9615 -0.1052 -0.2539 +vn -0.9615 0.1052 -0.2539 +vn 0.9469 0.1230 -0.2970 +vn 0.9469 0.2970 0.1230 +vn 0.9469 -0.1230 0.2970 +vn 0.9469 -0.2970 -0.1230 +vn 0.9469 0.2970 -0.1230 +vn 0.9469 0.1230 0.2970 +vn 0.9469 -0.2970 0.1230 +vn -0.4917 -0.8045 -0.3332 +vn -0.7567 0.2502 -0.6040 +vn -0.4917 0.8045 -0.3332 +vn -0.4917 0.3332 0.8045 +vn -0.4917 -0.8045 0.3332 +vn -0.4917 -0.3332 -0.8045 +vn -0.4917 0.3332 -0.8045 +vn -0.4917 0.8045 0.3332 +vn -0.4917 -0.3332 0.8045 +vn -0.3625 0.8610 -0.3567 +vn -0.7567 0.6040 0.2502 +vn -0.7567 -0.2502 0.6040 +vn -0.7567 -0.6040 -0.2502 +vn -0.7567 0.6040 -0.2502 +vn -0.7567 0.2502 0.6040 +vn -0.7567 -0.6040 0.2502 +vn -0.7567 -0.2502 -0.6040 +vn -1.0000 0.0000 0.0000 +vn -0.3625 0.3567 0.8610 +vn -0.3625 -0.8610 0.3567 +vn -0.3625 -0.3567 -0.8610 +vn -0.3625 0.3567 -0.8610 +vn -0.3625 0.8610 0.3567 +vn -0.3625 -0.3567 0.8610 +vn -0.3625 -0.8610 -0.3567 +vn -0.0059 0.3827 -0.9239 +vn -0.0030 0.3827 -0.9239 +vn -0.0030 0.9249 -0.3803 +vn -0.0030 0.9249 0.3803 +vn -0.0059 0.3827 0.9239 +vn -0.0030 0.3827 0.9239 +vn -0.0059 -0.3827 0.9239 +vn -0.0030 -0.3827 0.9239 +vn -0.0030 -0.9249 0.3803 +vn -0.0030 -0.9249 -0.3803 +vn -0.0059 -0.3827 -0.9239 +vn -0.0030 -0.3827 -0.9239 +vn 0.0169 0.3850 -0.9227 +vn 0.0341 0.9233 -0.3825 +vn 0.0341 0.9233 0.3825 +vn 0.0341 0.3825 0.9233 +vn 0.0341 -0.3825 0.9233 +vn 0.0341 -0.9233 0.3825 +vn 0.0341 -0.9233 -0.3825 +vn 0.0169 -0.3850 -0.9227 +vn -0.9966 -0.0761 -0.0315 +vn 0.9966 -0.0762 0.0316 +vn -0.0215 -0.9247 -0.3802 +vn 0.9919 0.1173 0.0486 +vn 0.9966 -0.0316 -0.0762 +vn -0.0215 -0.9247 0.3802 +vn -0.9966 0.0315 -0.0761 +vn -0.9907 -0.1260 0.0522 +vn -0.9966 0.0761 0.0315 +vn 0.9966 0.0762 -0.0316 +vn 0.9919 -0.1173 0.0486 +vn -0.9907 -0.0522 -0.1260 +vn -0.0215 0.9247 0.3802 +vn 0.9919 -0.0486 -0.1173 +vn 0.9966 0.0315 0.0762 +vn -0.0215 0.9247 -0.3802 +vn -0.9966 -0.0761 0.0315 +vn -0.9907 0.1260 -0.0522 +vn 0.9919 0.1173 -0.0486 +vn -0.9907 0.0522 0.1260 +vn -0.9907 0.1259 0.0522 +vn -0.9907 0.0522 -0.1260 +vn 0.9966 0.0762 0.0316 +vn -0.9907 -0.1260 -0.0522 +vn 0.9966 0.0315 -0.0762 +vn -0.9907 -0.0522 0.1260 +vn 0.9966 -0.0762 -0.0316 +vn 0.9966 -0.0316 0.0762 +vn 0.9919 0.0486 -0.1173 +vn -0.9966 -0.0315 0.0762 +vn 0.9919 -0.1173 -0.0486 +vn 0.9919 -0.0486 0.1173 +vn -0.9966 0.0315 0.0762 +vn -0.9966 0.0761 -0.0315 +vn 0.9919 0.0486 0.1173 +vn -0.9966 -0.0315 -0.0761 +s 1 +f 733/1257/403 734/1258/403 735/1259/403 736/1260/403 +f 736/1260/404 735/1259/404 737/1261/404 738/1262/404 +f 738/1262/405 737/1261/405 739/1263/405 740/1264/405 +f 740/1264/406 739/1263/406 741/1265/406 742/1266/406 +f 742/1266/407 741/1265/407 743/1267/407 744/1268/407 +f 744/1268/408 743/1267/408 745/1269/408 746/1270/408 +f 735/1271/409 734/1272/409 747/1273/409 745/1274/409 743/1275/409 741/1276/409 739/1277/409 737/1278/409 +f 746/1270/410 745/1269/410 747/1279/410 748/1280/410 +f 748/1280/411 747/1279/411 734/1281/411 733/1282/411 +f 749/1283/412 750/1284/412 751/1285/412 752/1286/412 +f 753/1287/413 754/1288/413 755/1289/413 756/1290/413 +f 757/1291/414 758/1292/414 754/1288/414 753/1287/414 +f 759/1293/415 760/1294/415 761/1295/415 762/1296/415 +f 760/1297/416 749/1283/416 752/1286/416 761/1298/416 +f 750/1284/417 763/1299/417 764/1300/417 751/1285/417 +f 758/1292/418 765/1301/418 766/1302/418 754/1288/418 +f 763/1299/419 757/1291/419 753/1287/419 764/1300/419 +f 765/1301/420 759/1293/420 762/1296/420 766/1302/420 +f 767/1303/410 768/1304/410 769/1305/410 770/1306/410 +f 751/1285/421 764/1300/421 771/1307/421 772/1308/421 +f 761/1298/422 752/1286/422 773/1309/422 774/1310/422 +f 762/1296/423 761/1295/423 774/1311/423 768/1304/423 +f 754/1288/424 766/1302/424 767/1303/424 755/1289/424 +f 764/1300/425 753/1287/425 756/1290/425 771/1307/425 +f 752/1286/426 751/1285/426 772/1308/426 773/1309/426 +f 766/1302/427 762/1296/427 768/1304/427 767/1303/427 +f 775/1312/428 770/1306/428 776/1313/428 777/1314/428 +f 756/1290/407 755/1289/407 775/1312/407 778/1315/407 +f 772/1308/405 771/1307/405 779/1316/405 780/1317/405 +f 774/1310/429 773/1309/429 781/1318/429 782/1319/429 +f 768/1304/430 774/1311/430 782/1320/430 769/1305/430 +f 755/1289/408 767/1303/408 770/1306/408 775/1312/408 +f 771/1307/406 756/1290/406 778/1315/406 779/1316/406 +f 773/1309/404 772/1308/404 780/1317/404 781/1318/404 +f 783/1321/431 784/1322/431 785/1323/431 786/1324/431 +f 779/1316/432 778/1315/432 787/1325/432 788/1326/432 +f 781/1318/433 780/1317/433 789/1327/433 784/1322/433 +f 770/1306/434 769/1305/434 790/1328/434 776/1313/434 +f 778/1315/435 775/1312/435 777/1314/435 787/1325/435 +f 780/1317/436 779/1316/436 788/1326/436 789/1327/436 +f 782/1319/437 781/1318/437 784/1322/437 783/1321/437 +f 769/1305/438 782/1320/438 783/1329/438 790/1328/438 +f 791/1330/410 792/1331/410 793/1332/410 794/1333/410 +f 790/1328/439 783/1329/439 786/1334/439 792/1331/439 +f 777/1314/440 776/1313/440 791/1330/440 795/1335/440 +f 788/1326/441 787/1325/441 796/1336/441 797/1337/441 +f 784/1322/442 789/1327/442 798/1338/442 785/1323/442 +f 776/1313/443 790/1328/443 792/1331/443 791/1330/443 +f 787/1325/444 777/1314/444 795/1335/444 796/1336/444 +f 789/1327/445 788/1326/445 797/1337/445 798/1338/445 +f 799/1339/446 800/1340/446 801/1341/446 802/1342/446 +f 796/1336/407 795/1335/407 803/1343/407 804/1344/407 +f 798/1338/405 797/1337/405 805/1345/405 800/1340/405 +f 786/1324/429 785/1323/429 799/1339/429 806/1346/429 +f 792/1331/430 786/1334/430 806/1347/430 793/1332/430 +f 795/1335/408 791/1330/408 794/1333/408 803/1343/408 +f 797/1337/406 796/1336/406 804/1344/406 805/1345/406 +f 785/1323/404 798/1338/404 800/1340/404 799/1339/404 +f 807/1348/447 808/1349/447 809/1350/447 810/1351/447 +f 794/1333/448 793/1332/448 807/1348/448 811/1352/448 +f 804/1344/449 803/1343/449 812/1353/449 813/1354/449 +f 800/1340/450 805/1345/450 814/1355/450 801/1341/450 +f 806/1346/451 799/1339/451 802/1342/451 808/1356/451 +f 793/1332/452 806/1347/452 808/1349/452 807/1348/452 +f 803/1343/453 794/1333/453 811/1352/453 812/1353/453 +f 805/1345/454 804/1344/454 813/1354/454 814/1355/454 +f 815/1357/455 810/1351/455 816/1358/455 817/1359/455 +f 812/1353/456 811/1352/456 815/1357/456 818/1360/456 +f 814/1355/457 813/1354/457 819/1361/457 820/1362/457 +f 802/1342/458 801/1341/458 821/1363/458 822/1364/458 +f 811/1352/459 807/1348/459 810/1351/459 815/1357/459 +f 813/1354/460 812/1353/460 818/1360/460 819/1361/460 +f 801/1341/461 814/1355/461 820/1362/461 821/1363/461 +f 808/1356/462 802/1342/462 822/1364/462 809/1365/462 +f 823/1366/463 817/1359/463 824/1367/463 825/1368/463 +f 819/1361/464 818/1360/464 823/1366/464 826/1369/464 +f 821/1363/465 820/1362/465 827/1370/465 828/1371/465 +f 809/1365/466 822/1364/466 829/1372/466 830/1373/466 +f 810/1351/467 809/1350/467 830/1374/467 816/1358/467 +f 818/1360/468 815/1357/468 817/1359/468 823/1366/468 +f 820/1362/469 819/1361/469 826/1369/469 827/1370/469 +f 822/1364/470 821/1363/470 828/1371/470 829/1372/470 +f 831/1375/407 832/1376/407 833/1377/407 834/1378/407 +f 827/1370/463 826/1369/463 835/1379/463 836/1380/463 +f 829/1372/463 828/1371/463 837/1381/463 832/1376/463 +f 817/1359/463 816/1358/463 838/1382/463 824/1367/463 +f 826/1369/463 823/1366/463 825/1368/463 835/1379/463 +f 828/1371/463 827/1370/463 836/1380/463 837/1381/463 +f 830/1373/463 829/1372/463 832/1376/463 831/1375/463 +f 816/1358/463 830/1374/463 831/1383/463 838/1382/463 +f 834/1384/463 833/1385/463 839/1386/463 840/1387/463 841/1388/463 842/1389/463 843/1390/463 844/1391/463 +f 838/1382/406 831/1383/406 834/1392/406 844/1393/406 +f 825/1368/404 824/1367/404 843/1394/404 842/1395/404 +f 836/1380/430 835/1379/430 841/1396/430 840/1397/430 +f 832/1376/408 837/1381/408 839/1398/408 833/1377/408 +f 824/1367/405 838/1382/405 844/1393/405 843/1394/405 +f 835/1379/429 825/1368/429 842/1395/429 841/1396/429 +f 837/1381/410 836/1380/410 840/1397/410 839/1398/410 +f 759/1293/471 845/1399/472 846/1400/472 760/1294/471 +f 765/1301/473 847/1401/473 845/1399/473 759/1293/473 +f 758/1292/474 848/1402/474 847/1401/474 765/1301/474 +f 757/1291/475 849/1403/476 848/1402/476 758/1292/475 +f 763/1299/477 850/1404/478 849/1403/478 757/1291/477 +f 750/1284/479 851/1405/479 850/1404/479 763/1299/479 +f 749/1283/480 852/1406/480 851/1405/480 750/1284/480 +f 760/1297/481 846/1407/482 852/1406/482 749/1283/481 +f 853/1408/483 748/1280/483 733/1282/483 854/1409/483 +f 855/1410/484 746/1270/484 748/1280/484 853/1408/484 +f 856/1411/485 744/1268/485 746/1270/485 855/1410/485 +f 857/1412/486 742/1266/486 744/1268/486 856/1411/486 +f 858/1413/487 740/1264/487 742/1266/487 857/1412/487 +f 859/1414/488 738/1262/488 740/1264/488 858/1413/488 +f 860/1415/489 736/1260/489 738/1262/489 859/1414/489 +f 854/1416/490 733/1257/490 736/1260/490 860/1415/490 +f 846/1407/482 861/1417/429 862/1418/429 852/1406/482 +f 863/1419/491 864/1420/491 865/1421/491 866/1422/491 +f 867/1423/429 868/1424/429 869/1425/429 870/1426/429 +f 855/1410/492 853/1408/492 871/1427/492 872/1428/492 +f 852/1406/493 862/1418/493 873/1429/493 851/1405/493 +f 870/1426/494 874/1430/494 875/1431/494 876/1432/494 +f 870/1426/404 869/1425/404 877/1433/404 874/1430/404 +f 857/1412/495 856/1411/495 878/1434/495 879/1435/495 +f 851/1405/496 873/1429/496 880/1436/496 850/1404/496 +f 881/1437/497 880/1436/497 882/1438/497 883/1439/497 +f 874/1430/405 877/1433/405 884/1440/405 885/1441/405 +f 886/1442/498 887/1443/498 888/1444/498 889/1445/498 +f 850/1404/478 880/1436/406 881/1437/406 849/1403/478 +f 873/1429/499 862/1418/499 890/1446/499 891/1447/499 +f 885/1441/406 884/1440/406 892/1448/406 893/1449/406 +f 859/1414/500 858/1413/500 894/1450/500 895/1451/500 +f 849/1403/476 881/1437/407 864/1420/407 848/1402/476 +f 896/1452/501 897/1453/501 898/1454/501 899/1455/501 +f 893/1449/407 892/1448/407 900/1456/407 901/1457/407 +f 900/1456/502 892/1448/502 902/1458/502 903/1459/502 +f 848/1402/503 864/1420/503 863/1419/503 847/1401/503 +f 893/1449/504 901/1457/504 904/1460/504 905/1461/504 +f 901/1457/408 900/1456/408 887/1443/408 896/1452/408 +f 854/1416/505 860/1415/505 906/1462/505 907/1463/505 +f 847/1401/506 863/1419/506 908/1464/506 845/1399/506 +f 908/1464/507 863/1419/507 866/1422/507 909/1465/507 +f 896/1452/410 887/1443/410 886/1442/410 897/1453/410 +f 884/1440/508 877/1433/508 910/1466/508 911/1467/508 +f 845/1399/472 908/1464/430 861/1468/430 846/1400/472 +f 874/1430/509 885/1441/509 912/1469/509 875/1431/509 +f 897/1453/430 886/1442/430 868/1470/430 867/1471/430 +f 869/1425/510 868/1424/510 913/1472/510 914/1473/510 +f 913/1472/429 907/1463/429 906/1462/429 914/1473/429 +f 914/1473/404 906/1462/404 895/1451/404 910/1466/404 +f 910/1466/405 895/1451/405 894/1450/405 911/1467/405 +f 911/1467/406 894/1450/406 879/1435/406 902/1458/406 +f 902/1458/407 879/1435/407 878/1434/407 903/1459/407 +f 903/1459/408 878/1434/408 872/1428/408 888/1444/408 +f 888/1444/410 872/1428/410 871/1427/410 889/1445/410 +f 889/1445/430 871/1427/430 907/1474/430 913/1475/430 +f 877/1433/511 869/1425/511 914/1473/511 910/1466/511 +f 892/1448/512 884/1440/512 911/1467/512 902/1458/512 +f 860/1415/513 859/1414/513 895/1451/513 906/1462/513 +f 887/1443/514 900/1456/514 903/1459/514 888/1444/514 +f 858/1413/515 857/1412/515 879/1435/515 894/1450/515 +f 868/1470/516 886/1442/516 889/1445/516 913/1475/516 +f 856/1411/517 855/1410/517 872/1428/517 878/1434/517 +f 853/1408/518 854/1409/518 907/1474/518 871/1427/518 +f 915/1476/429 916/1477/429 876/1432/429 890/1446/429 +f 890/1446/404 876/1432/404 875/1431/404 891/1447/404 +f 891/1447/405 875/1431/405 912/1469/405 882/1438/405 +f 882/1438/406 912/1469/406 905/1461/406 883/1439/406 +f 883/1439/407 905/1461/407 904/1460/407 865/1421/407 +f 865/1421/408 904/1460/408 899/1455/408 866/1422/408 +f 866/1422/410 899/1455/410 898/1454/410 909/1465/410 +f 909/1465/430 898/1454/430 916/1478/430 915/1479/430 +f 885/1441/519 893/1449/519 905/1461/519 912/1469/519 +f 861/1468/520 908/1464/520 909/1465/520 915/1479/520 +f 901/1457/521 896/1452/521 899/1455/521 904/1460/521 +f 897/1453/522 867/1471/522 916/1478/522 898/1454/522 +f 862/1418/523 861/1417/523 915/1476/523 890/1446/523 +f 880/1436/524 873/1429/524 891/1447/524 882/1438/524 +f 867/1423/525 870/1426/525 876/1432/525 916/1477/525 +f 864/1420/526 881/1437/526 883/1439/526 865/1421/526 +o SideScrews_Cylinder.005 +v -0.436383 0.265019 0.509254 +v 1.004741 0.265019 0.509254 +v 1.004741 0.179718 0.544586 +v -0.436383 0.179718 0.544586 +v 1.004741 0.144386 0.629887 +v -0.436383 0.144385 0.629887 +v 1.004741 0.179718 0.715187 +v -0.436383 0.179718 0.715187 +v 1.004741 0.265019 0.750520 +v -0.436383 0.265019 0.750520 +v 1.004741 0.350319 0.715187 +v -0.436383 0.350319 0.715187 +v 1.004741 0.385652 0.629887 +v -0.436383 0.385652 0.629887 +v 1.088061 0.265019 0.750520 +v 1.088061 0.350319 0.715187 +v 1.004741 0.350319 0.544586 +v -0.436383 0.350319 0.544586 +v -0.513171 0.364069 0.629887 +v -0.513171 0.335058 0.699926 +v -0.513171 0.265019 0.530836 +v -0.513171 0.194979 0.559848 +v -0.513171 0.165968 0.629887 +v -0.513171 0.194979 0.699926 +v -0.513171 0.265019 0.728937 +v -0.513171 0.335058 0.559848 +v 1.088061 0.265019 0.509254 +v 1.088061 0.350319 0.544586 +v 1.100404 0.336110 0.558795 +v 1.100404 0.265019 0.529348 +v 1.088061 0.179718 0.544586 +v 1.088061 0.144386 0.629887 +v 1.088061 0.179718 0.715187 +v 1.088061 0.385652 0.629887 +v 1.100404 0.336110 0.700979 +v 1.100404 0.365558 0.629887 +v 1.100404 0.193927 0.700979 +v 1.100404 0.265019 0.730426 +v 1.100404 0.193927 0.558795 +v 1.100404 0.164480 0.629887 +v 1.127149 0.181939 0.629887 +v 1.127149 0.206273 0.688633 +v 1.127149 0.206273 0.571141 +v 1.127149 0.265019 0.546807 +v 1.127149 0.323765 0.571141 +v 1.127149 0.348098 0.629887 +v 1.127149 0.323765 0.688633 +v 1.127149 0.265019 0.712966 +v -0.436384 0.265019 -0.509254 +v -0.436384 0.179718 -0.544586 +v 1.004741 0.179718 -0.544586 +v 1.004741 0.265019 -0.509254 +v -0.436384 0.144385 -0.629887 +v 1.004741 0.144386 -0.629887 +v -0.436384 0.179718 -0.715187 +v 1.004741 0.179718 -0.715187 +v -0.436384 0.265019 -0.750520 +v 1.004741 0.265019 -0.750520 +v -0.436384 0.350319 -0.715187 +v 1.004741 0.350319 -0.715187 +v -0.436384 0.385652 -0.629887 +v 1.004741 0.385652 -0.629887 +v 1.088061 0.350319 -0.715187 +v 1.088061 0.265019 -0.750520 +v -0.436384 0.350319 -0.544586 +v 1.004741 0.350319 -0.544586 +v -0.513171 0.335058 -0.699926 +v -0.513171 0.364069 -0.629887 +v -0.513171 0.265019 -0.530836 +v -0.513171 0.335058 -0.559848 +v -0.513171 0.265019 -0.728937 +v -0.513171 0.194979 -0.699926 +v -0.513171 0.165968 -0.629887 +v -0.513171 0.194979 -0.559848 +v 1.088061 0.265019 -0.509254 +v 1.100404 0.265019 -0.529348 +v 1.100404 0.336111 -0.558795 +v 1.088061 0.350319 -0.544586 +v 1.088061 0.179718 -0.544586 +v 1.088061 0.179718 -0.715187 +v 1.088061 0.144386 -0.629887 +v 1.088061 0.385652 -0.629887 +v 1.100404 0.365558 -0.629887 +v 1.100404 0.336110 -0.700979 +v 1.100404 0.265019 -0.730426 +v 1.100404 0.193927 -0.700979 +v 1.100404 0.164480 -0.629887 +v 1.100404 0.193927 -0.558795 +v 1.127149 0.206273 -0.688633 +v 1.127149 0.181939 -0.629887 +v 1.127149 0.206273 -0.571141 +v 1.127149 0.265019 -0.712966 +v 1.127149 0.323765 -0.688633 +v 1.127149 0.348098 -0.629887 +v 1.127149 0.323765 -0.571141 +v 1.127149 0.265019 -0.546807 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.875000 0.500000 +vt 0.750000 1.000000 +vt 0.750000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.375000 1.000000 +vt 0.375000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.500000 1.000000 +vt 0.375000 1.000000 +vt 0.125000 1.000000 +vt 0.125000 0.500000 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 0.250000 0.500000 +vt 0.375000 0.500000 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.990000 0.250000 +vt 0.919706 0.080294 +vt 0.750000 0.010000 +vt 0.580294 0.080294 +vt 0.510000 0.250000 +vt 0.580294 0.419706 +vt 0.500000 0.500000 +vt 0.625000 0.500000 +vt 0.125000 0.500000 +vt 0.750000 0.500000 +vt 0.875000 0.500000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 1.000000 +vt 0.125000 1.000000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.750000 1.000000 +vt 0.625000 1.000000 +vt 0.250000 1.000000 +vt 0.375000 1.000000 +vt 0.250000 1.000000 +vt 0.625000 1.000000 +vt 0.500000 1.000000 +vt 0.875000 1.000000 +vt 0.750000 1.000000 +vt 1.000000 1.000000 +vt 0.750000 1.000000 +vt 0.625000 1.000000 +vt 0.419706 0.419706 +vt 0.250000 0.490000 +vt 0.080294 0.419706 +vt 0.010000 0.250000 +vt 0.080294 0.080294 +vt 0.250000 0.010000 +vt 0.419706 0.080294 +vt 0.490000 0.250000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 0.375000 1.000000 +vt 0.250000 1.000000 +vt 0.500000 1.000000 +vt 1.000000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 1.000000 +vt 1.000000 1.000000 +vt 0.750000 0.500000 +vt 0.750000 1.000000 +vt 0.625000 0.500000 +vt 0.625000 1.000000 +vt 0.500000 0.500000 +vt 0.500000 1.000000 +vt 0.375000 0.500000 +vt 0.375000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.375000 1.000000 +vt 0.500000 1.000000 +vt 0.125000 0.500000 +vt 0.125000 1.000000 +vt 0.000000 0.500000 +vt 0.000000 1.000000 +vt 0.375000 0.500000 +vt 0.250000 0.500000 +vt 0.750000 0.490000 +vt 0.580294 0.419706 +vt 0.510000 0.250000 +vt 0.580294 0.080294 +vt 0.750000 0.010000 +vt 0.919706 0.080294 +vt 0.990000 0.250000 +vt 0.919706 0.419706 +vt 0.625000 0.500000 +vt 0.500000 0.500000 +vt 0.125000 0.500000 +vt 0.875000 0.500000 +vt 0.750000 0.500000 +vt 0.000000 0.500000 +vt 1.000000 0.500000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.125000 1.000000 +vt 0.125000 1.000000 +vt 0.875000 1.000000 +vt 1.000000 1.000000 +vt 0.625000 1.000000 +vt 0.750000 1.000000 +vt 0.250000 1.000000 +vt 0.250000 1.000000 +vt 0.375000 1.000000 +vt 0.500000 1.000000 +vt 0.625000 1.000000 +vt 0.750000 1.000000 +vt 0.875000 1.000000 +vt 1.000000 1.000000 +vt 0.625000 1.000000 +vt 0.750000 1.000000 +vt 0.419706 0.419706 +vt 0.490000 0.250000 +vt 0.419706 0.080294 +vt 0.250000 0.010000 +vt 0.080294 0.080294 +vt 0.010000 0.250000 +vt 0.080294 0.419706 +vt 0.250000 0.490000 +vt 0.875000 1.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.125000 1.000000 +vt 0.250000 1.000000 +vt 0.375000 1.000000 +vt 0.500000 1.000000 +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.2513 0.8942 0.3704 +vn -1.0000 0.0000 0.0000 +vn -0.2513 -0.3704 0.8942 +vn -0.2513 0.8942 -0.3704 +vn -0.2513 -0.8942 -0.3704 +vn -0.2513 0.3704 0.8942 +vn -0.2513 0.3704 -0.8942 +vn -0.2513 -0.3704 -0.8942 +vn -0.2513 -0.8942 0.3704 +vn 0.8327 0.2119 -0.5115 +vn 0.8327 0.5115 0.2119 +vn 0.8327 -0.2119 0.5115 +vn 0.8327 -0.5115 -0.2119 +vn 0.8327 0.5115 -0.2119 +vn 0.8327 0.2119 0.5115 +vn 0.8327 -0.5115 0.2119 +vn 0.8327 -0.2119 -0.5115 +vn 0.5165 -0.7911 0.3277 +vn 1.0000 -0.0000 0.0000 +vn 0.5165 -0.3277 -0.7911 +vn 0.5165 0.3277 -0.7911 +vn 0.5165 0.7911 0.3277 +vn 0.5165 -0.3277 0.7911 +vn 0.5165 -0.7911 -0.3277 +vn 0.5165 0.7911 -0.3277 +vn 0.5165 0.3277 0.7911 +s 1 +f 917/1480/527 918/1481/527 919/1482/527 920/1483/527 +f 920/1483/528 919/1482/528 921/1484/528 922/1485/528 +f 922/1485/529 921/1484/529 923/1486/529 924/1487/529 +f 924/1487/530 923/1486/530 925/1488/530 926/1489/530 +f 926/1489/531 925/1488/531 927/1490/531 928/1491/531 +f 928/1491/532 927/1490/532 929/1492/532 930/1493/532 +f 927/1490/531 925/1488/531 931/1494/531 932/1495/531 +f 930/1493/533 929/1492/533 933/1496/533 934/1497/533 +f 934/1497/534 933/1496/534 918/1498/534 917/1499/534 +f 928/1491/535 930/1493/535 935/1500/535 936/1501/535 +f 937/1502/536 938/1503/536 939/1504/536 940/1505/536 941/1506/536 936/1507/536 935/1508/536 942/1509/536 +f 924/1487/537 926/1489/537 941/1510/537 940/1511/537 +f 930/1493/538 934/1497/538 942/1512/538 935/1500/538 +f 920/1483/539 922/1485/539 939/1513/539 938/1514/539 +f 926/1489/540 928/1491/540 936/1501/540 941/1510/540 +f 934/1497/541 917/1499/541 937/1515/541 942/1512/541 +f 917/1480/542 920/1483/542 938/1514/542 937/1516/542 +f 922/1485/543 924/1487/543 940/1511/543 939/1513/543 +f 943/1517/544 944/1518/544 945/1519/544 946/1520/544 +f 918/1498/534 933/1496/534 944/1518/534 943/1517/534 +f 919/1482/527 918/1481/527 943/1521/527 947/1522/527 +f 923/1486/529 921/1484/529 948/1523/529 949/1524/529 +f 929/1492/532 927/1490/532 932/1495/532 950/1525/532 +f 925/1488/530 923/1486/530 949/1524/530 931/1494/530 +f 933/1496/533 929/1492/533 950/1525/533 944/1518/533 +f 921/1484/528 919/1482/528 947/1522/528 948/1523/528 +f 950/1525/545 932/1495/545 951/1526/545 952/1527/545 +f 931/1494/546 949/1524/546 953/1528/546 954/1529/546 +f 948/1523/547 947/1522/547 955/1530/547 956/1531/547 +f 944/1518/548 950/1525/548 952/1527/548 945/1519/548 +f 932/1495/549 931/1494/549 954/1529/549 951/1526/549 +f 949/1524/550 948/1523/550 956/1531/550 953/1528/550 +f 947/1522/551 943/1521/551 946/1532/551 955/1530/551 +f 953/1528/552 956/1531/552 957/1533/552 958/1534/552 +f 959/1535/553 960/1536/553 961/1537/553 962/1538/553 963/1539/553 964/1540/553 958/1541/553 957/1542/553 +f 955/1530/554 946/1532/554 960/1543/554 959/1544/554 +f 946/1520/555 945/1519/555 961/1545/555 960/1546/555 +f 952/1527/556 951/1526/556 963/1547/556 962/1548/556 +f 954/1529/557 953/1528/557 958/1534/557 964/1549/557 +f 956/1531/558 955/1530/558 959/1544/558 957/1533/558 +f 945/1519/559 952/1527/559 962/1548/559 961/1545/559 +f 951/1526/560 954/1529/560 964/1549/560 963/1547/560 +f 965/1550/530 966/1551/530 967/1552/530 968/1553/530 +f 966/1551/529 969/1554/529 970/1555/529 967/1552/529 +f 969/1554/528 971/1556/528 972/1557/528 970/1555/528 +f 971/1556/527 973/1558/527 974/1559/527 972/1557/527 +f 973/1558/534 975/1560/534 976/1561/534 974/1559/534 +f 975/1560/533 977/1562/533 978/1563/533 976/1561/533 +f 976/1561/534 979/1564/534 980/1565/534 974/1559/534 +f 977/1562/532 981/1566/532 982/1567/532 978/1563/532 +f 981/1566/531 965/1568/531 968/1569/531 982/1567/531 +f 975/1560/538 983/1570/538 984/1571/538 977/1562/538 +f 985/1572/536 986/1573/536 984/1574/536 983/1575/536 987/1576/536 988/1577/536 989/1578/536 990/1579/536 +f 971/1556/542 988/1580/542 987/1581/542 973/1558/542 +f 977/1562/535 984/1571/535 986/1582/535 981/1566/535 +f 966/1551/543 990/1583/543 989/1584/543 969/1554/543 +f 973/1558/541 987/1581/541 983/1570/541 975/1560/541 +f 981/1566/540 986/1582/540 985/1585/540 965/1568/540 +f 965/1550/537 985/1586/537 990/1583/537 966/1551/537 +f 969/1554/539 989/1584/539 988/1580/539 971/1556/539 +f 991/1587/549 992/1588/549 993/1589/549 994/1590/549 +f 968/1569/531 991/1587/531 994/1590/531 982/1567/531 +f 967/1552/530 995/1591/530 991/1592/530 968/1553/530 +f 972/1557/528 996/1593/528 997/1594/528 970/1555/528 +f 978/1563/533 998/1595/533 979/1564/533 976/1561/533 +f 974/1559/527 980/1565/527 996/1593/527 972/1557/527 +f 982/1567/532 994/1590/532 998/1595/532 978/1563/532 +f 970/1555/529 997/1594/529 995/1591/529 967/1552/529 +f 998/1595/548 999/1596/548 1000/1597/548 979/1564/548 +f 980/1565/551 1001/1598/551 1002/1599/551 996/1593/551 +f 997/1594/550 1003/1600/550 1004/1601/550 995/1591/550 +f 994/1590/545 993/1589/545 999/1596/545 998/1595/545 +f 979/1564/544 1000/1597/544 1001/1598/544 980/1565/544 +f 996/1593/547 1002/1599/547 1003/1600/547 997/1594/547 +f 995/1591/546 1004/1601/546 992/1602/546 991/1592/546 +f 1002/1599/558 1005/1603/558 1006/1604/558 1003/1600/558 +f 1007/1605/553 1006/1606/553 1005/1607/553 1008/1608/553 1009/1609/553 1010/1610/553 1011/1611/553 1012/1612/553 +f 1004/1601/557 1007/1613/557 1012/1614/557 992/1602/557 +f 992/1588/560 1012/1615/560 1011/1616/560 993/1589/560 +f 999/1596/559 1010/1617/559 1009/1618/559 1000/1597/559 +f 1001/1598/554 1008/1619/554 1005/1603/554 1002/1599/554 +f 1003/1600/552 1006/1604/552 1007/1613/552 1004/1601/552 +f 993/1589/556 1011/1616/556 1010/1617/556 999/1596/556 +f 1000/1597/555 1009/1618/555 1008/1619/555 1001/1598/555 +o CoiCanon_Cylinder.004 +v -0.419369 0.526526 -0.206986 +v 0.947632 0.526526 -0.206986 +v 0.947632 0.380164 -0.146361 +v -0.419369 0.380164 -0.146361 +v 0.947632 0.319540 0.000000 +v -0.419369 0.319540 0.000000 +v 0.947632 0.380164 0.146361 +v -0.419369 0.380164 0.146361 +v 0.947632 0.526526 0.206986 +v -0.419369 0.526526 0.206986 +v 0.947632 0.672887 0.146361 +v -0.419369 0.672887 0.146361 +v 0.947632 0.733512 0.000000 +v -0.419369 0.733512 0.000000 +v 0.947632 0.672887 -0.146361 +v -0.419369 0.672887 -0.146361 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.875000 0.500000 +vt 0.750000 1.000000 +vt 0.750000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.375000 1.000000 +vt 0.375000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.419706 0.419706 +vt 0.250000 0.490000 +vt 0.080294 0.419706 +vt 0.010000 0.250000 +vt 0.080294 0.080294 +vt 0.250000 0.010000 +vt 0.419706 0.080294 +vt 0.490000 0.250000 +vt 0.125000 1.000000 +vt 0.125000 0.500000 +vt 0.000000 1.000000 +vt 0.000000 0.500000 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.990000 0.250000 +vt 0.919706 0.080294 +vt 0.750000 0.010000 +vt 0.580294 0.080294 +vt 0.510000 0.250000 +vt 0.580294 0.419706 +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 1.0000 0.0000 0.0000 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 0.3827 -0.9239 +vn -1.0000 0.0000 0.0000 +s 1 +f 1013/1620/561 1014/1621/561 1015/1622/561 1016/1623/561 +f 1016/1623/562 1015/1622/562 1017/1624/562 1018/1625/562 +f 1018/1625/563 1017/1624/563 1019/1626/563 1020/1627/563 +f 1020/1627/564 1019/1626/564 1021/1628/564 1022/1629/564 +f 1022/1629/565 1021/1628/565 1023/1630/565 1024/1631/565 +f 1024/1631/566 1023/1630/566 1025/1632/566 1026/1633/566 +f 1015/1634/567 1014/1635/567 1027/1636/567 1025/1637/567 1023/1638/567 1021/1639/567 1019/1640/567 1017/1641/567 +f 1026/1633/568 1025/1632/568 1027/1642/568 1028/1643/568 +f 1028/1643/569 1027/1642/569 1014/1644/569 1013/1645/569 +f 1013/1646/570 1016/1647/570 1018/1648/570 1020/1649/570 1022/1650/570 1024/1651/570 1026/1652/570 1028/1653/570 +o SideHolders_Cube.003 +v 1.384588 0.551670 0.654257 +v 1.384588 0.551670 0.449972 +v 1.139921 0.531994 0.449972 +v 1.139921 0.531994 0.558806 +v 1.384588 0.408111 0.449972 +v 1.504148 0.551670 0.449972 +v 1.504148 0.408111 0.449972 +v 1.504148 0.551670 0.654257 +v 1.577323 0.529883 0.613238 +v 1.577323 0.529883 0.449972 +v 1.504148 0.408111 0.654257 +v 1.384588 0.408111 0.654257 +v 1.577323 0.429898 0.449972 +v 1.577323 0.429898 0.613238 +v 1.139921 0.427787 0.558806 +v 1.139921 0.427787 0.449972 +v 1.384588 0.551670 -0.654257 +v 1.139921 0.531994 -0.558805 +v 1.139921 0.531994 -0.449972 +v 1.384588 0.551670 -0.449972 +v 1.384588 0.408111 -0.449972 +v 1.504148 0.408111 -0.449972 +v 1.504148 0.551670 -0.449972 +v 1.577323 0.529883 -0.449972 +v 1.577323 0.529883 -0.613238 +v 1.504148 0.551670 -0.654257 +v 1.504148 0.408111 -0.654257 +v 1.384588 0.408111 -0.654257 +v 1.577323 0.429898 -0.449972 +v 1.577323 0.429898 -0.613238 +v 1.139921 0.427787 -0.558805 +v 1.139921 0.427787 -0.449972 +vt 0.875000 0.750000 +vt 0.875000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.375000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.375000 0.750000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt 0.375000 0.500000 +vt 0.375000 0.750000 +vt 0.375000 0.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.375000 0.250000 +vt 0.125000 0.750000 +vt 0.125000 0.500000 +vt 0.625000 1.000000 +vt 0.375000 1.000000 +vt 0.875000 0.750000 +vt 0.875000 0.750000 +vt 0.875000 0.500000 +vt 0.875000 0.500000 +vt 0.375000 0.250000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.250000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.375000 1.000000 +vt 0.625000 1.000000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt 0.375000 0.500000 +vt 0.375000 0.750000 +vt 0.375000 0.000000 +vt 0.375000 0.250000 +vt 0.625000 0.250000 +vt 0.625000 0.000000 +vt 0.125000 0.500000 +vt 0.125000 0.750000 +vt 0.375000 1.000000 +vt 0.625000 1.000000 +vn -0.0802 0.9968 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.2854 0.9584 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 0.4890 0.0000 0.8723 +vn 0.2854 -0.9584 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.0802 -0.9968 0.0000 +vn -0.3634 0.0000 0.9316 +vn 0.4890 0.0000 -0.8723 +vn -0.3635 0.0000 -0.9316 +s 1 +f 1029/1654/571 1030/1655/571 1031/1656/571 1032/1657/571 +f 1033/1658/572 1030/1659/572 1034/1660/572 1035/1661/572 +f 1034/1660/573 1036/1662/573 1037/1663/573 1038/1664/573 +f 1039/1665/574 1036/1662/574 1029/1666/574 1040/1667/574 +f 1033/1668/575 1035/1661/575 1039/1665/575 1040/1669/575 +f 1034/1660/576 1030/1655/576 1029/1654/576 1036/1662/576 +f 1041/1670/577 1038/1664/577 1037/1663/577 1042/1671/577 +f 1035/1661/572 1034/1660/572 1038/1664/572 1041/1670/572 +f 1036/1662/578 1039/1665/578 1042/1671/578 1037/1663/578 +f 1039/1665/579 1035/1661/579 1041/1670/579 1042/1671/579 +f 1043/1672/580 1032/1673/580 1031/1674/580 1044/1675/580 +f 1033/1668/581 1040/1669/581 1043/1676/581 1044/1677/581 +f 1030/1659/572 1033/1658/572 1044/1675/572 1031/1674/572 +f 1040/1667/582 1029/1666/582 1032/1678/582 1043/1679/582 +f 1045/1680/571 1046/1681/571 1047/1682/571 1048/1683/571 +f 1049/1684/574 1050/1685/574 1051/1686/574 1048/1687/574 +f 1051/1686/573 1052/1688/573 1053/1689/573 1054/1690/573 +f 1055/1691/572 1056/1692/572 1045/1693/572 1054/1690/572 +f 1049/1694/575 1056/1695/575 1055/1691/575 1050/1685/575 +f 1051/1686/576 1054/1690/576 1045/1680/576 1048/1683/576 +f 1057/1696/577 1058/1697/577 1053/1689/577 1052/1688/577 +f 1050/1685/574 1057/1696/574 1052/1688/574 1051/1686/574 +f 1054/1690/583 1053/1689/583 1058/1697/583 1055/1691/583 +f 1055/1691/579 1058/1697/579 1057/1696/579 1050/1685/579 +f 1059/1698/580 1060/1699/580 1047/1700/580 1046/1701/580 +f 1049/1694/581 1060/1702/581 1059/1703/581 1056/1695/581 +f 1048/1687/574 1047/1700/574 1060/1699/574 1049/1684/574 +f 1056/1692/584 1059/1704/584 1046/1705/584 1045/1693/584 +o Rail_Cube +v -1.606489 0.994589 0.070837 +v -1.606489 1.084445 0.070837 +v -1.606489 1.084277 -0.070837 +v -1.606489 0.994589 -0.070837 +v -0.511384 1.084480 -0.070837 +v -0.514357 1.052983 -0.070837 +v -0.549767 1.006668 -0.070837 +v -0.549767 0.994589 -0.070837 +v 1.313063 1.160981 0.058974 +v 1.498769 1.160981 0.058974 +v 1.498532 1.230366 0.031927 +v 1.312826 1.230366 0.031927 +v 1.225298 0.994589 0.070837 +v 1.225298 1.084445 0.070837 +v 0.962233 1.084445 0.070837 +v 0.964610 1.052983 0.070837 +v 1.000021 1.006668 0.070837 +v 1.000021 0.994589 0.070837 +v -0.197543 0.994589 -0.070837 +v 0.049014 0.994589 -0.070837 +v 0.049014 0.994589 0.070837 +v -0.197543 0.994589 0.070837 +v 0.401239 0.994589 -0.070837 +v 0.647796 0.994589 -0.070837 +v 0.647796 0.994589 0.070837 +v 0.401239 0.994589 0.070837 +v 1.000021 0.994589 -0.070837 +v 1.225298 0.994589 -0.070837 +v -0.549767 0.994589 0.070837 +v 1.225298 1.143051 -0.043128 +v -1.531817 1.143051 -0.043128 +v -1.531817 1.143051 0.043128 +v 1.225298 1.143051 0.043128 +v 1.313063 0.996053 0.070837 +v 1.498769 0.996053 0.070837 +v 1.313063 1.160981 -0.058974 +v 1.313063 0.996053 -0.070837 +v 1.225298 1.084802 -0.070837 +v 1.269521 1.219445 0.031927 +v 1.498769 0.996053 -0.070837 +v 1.498769 1.160981 -0.058974 +v 1.312826 1.230366 -0.031927 +v 1.498532 1.230366 -0.031927 +v 1.575087 0.954078 -0.070837 +v 1.575087 1.119006 -0.070837 +v 1.575087 1.119006 0.070837 +v 1.575087 0.954078 0.070837 +v 1.269521 1.219445 -0.031927 +v 1.554546 1.188392 0.031927 +v 1.554546 1.188392 -0.031927 +v -0.514597 1.084445 0.070837 +v -0.234129 1.084445 0.070837 +v 0.083877 1.084445 0.070837 +v 0.364860 1.084445 0.070837 +v 0.682044 1.084445 0.070837 +v 0.964998 1.084754 -0.070837 +v 0.683980 1.084702 -0.070837 +v 0.366670 1.084643 -0.070837 +v 0.084942 1.084590 -0.070837 +v -0.230760 1.084532 -0.070837 +v -0.232953 1.052983 -0.070837 +v -0.232953 1.052983 0.070837 +v -0.514357 1.052983 0.070837 +v -0.197543 1.006668 0.070837 +v -0.197543 1.006668 -0.070837 +v -0.549767 1.006668 0.070837 +v 0.084425 1.052983 -0.070837 +v 0.365828 1.052983 -0.070837 +v 0.365828 1.052983 0.070837 +v 0.084425 1.052983 0.070837 +v 0.401239 1.006668 0.070837 +v 0.401239 1.006668 -0.070837 +v 0.049014 1.006668 -0.070837 +v 0.049014 1.006668 0.070837 +v 0.683207 1.052983 -0.070837 +v 0.964610 1.052983 -0.070837 +v 0.683207 1.052983 0.070837 +v 1.000021 1.006668 -0.070837 +v 0.647796 1.006668 -0.070837 +v 0.647796 1.006668 0.070837 +vt 0.375000 0.000000 +vt 0.499342 0.000000 +vt 0.499091 0.250000 +vt 0.375000 0.250000 +vt 0.499394 0.346680 +vt 0.462188 0.264617 +vt 0.393035 0.259826 +vt 0.375000 0.259826 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.499342 0.750000 +vt 0.499342 0.773224 +vt 0.462188 0.785272 +vt 0.393035 0.780481 +vt 0.375000 0.780481 +vt 0.182484 0.500000 +vt 0.215844 0.500000 +vt 0.215844 0.750000 +vt 0.182484 0.750000 +vt 0.263501 0.500000 +vt 0.296862 0.500000 +vt 0.296862 0.750000 +vt 0.263501 0.750000 +vt 0.344519 0.500000 +vt 0.375000 0.500000 +vt 0.344519 0.750000 +vt 0.125000 0.750000 +vt 0.125000 0.500000 +vt 0.134826 0.500000 +vt 0.134826 0.750000 +vt 0.625000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.750000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.499875 0.500000 +vt 0.625000 0.750000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.375000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.375000 0.750000 +vt 0.625000 0.500000 +vt 0.625000 0.750000 +vt 0.625000 0.500000 +vt 0.499342 1.000000 +vt 0.499342 0.903604 +vt 0.499342 0.878843 +vt 0.499342 0.850769 +vt 0.499342 0.825962 +vt 0.499342 0.797960 +vt 0.625000 1.000000 +vt 0.625000 0.000000 +vt 0.625000 0.250000 +vt 0.499803 0.477020 +vt 0.499725 0.452211 +vt 0.499637 0.424197 +vt 0.499559 0.399325 +vt 0.499472 0.371454 +vt 0.849867 0.594807 +vt 0.650133 0.594807 +vt 0.650133 0.655193 +vt 0.849867 0.655193 +vt 0.549693 0.655193 +vt 0.599866 0.655193 +vt 0.599866 0.594807 +vt 0.549693 0.594807 +vt 0.549693 0.155193 +vt 0.599866 0.155193 +vt 0.599866 0.094807 +vt 0.549693 0.094807 +vt 0.875000 0.594807 +vt 0.875000 0.655193 +vt 0.849867 0.594807 +vt 0.650133 0.594807 +vt 0.650133 0.655193 +vt 0.849867 0.655193 +vt 0.549693 0.655193 +vt 0.599866 0.655193 +vt 0.599866 0.594807 +vt 0.549693 0.594807 +vt 0.549693 0.155193 +vt 0.599866 0.155193 +vt 0.599866 0.094807 +vt 0.549693 0.094807 +vt 0.875000 0.594807 +vt 0.875000 0.655193 +vt 0.849867 0.594807 +vt 0.650133 0.594807 +vt 0.650133 0.655193 +vt 0.849867 0.655193 +vt 0.599866 0.655193 +vt 0.599866 0.594807 +vt 0.549693 0.594807 +vt 0.549693 0.655193 +vt 0.549693 0.155193 +vt 0.599866 0.155193 +vt 0.599866 0.094807 +vt 0.549693 0.094807 +vt 0.875000 0.655193 +vt 0.875000 0.594807 +vt 0.462188 0.866290 +vt 0.462188 0.904365 +vt 0.462188 0.823347 +vt 0.393035 0.861499 +vt 0.375000 0.861499 +vt 0.375000 0.828138 +vt 0.393035 0.828138 +vt 0.462188 0.947308 +vt 0.393035 0.942516 +vt 0.375000 0.942516 +vt 0.375000 0.909156 +vt 0.393035 0.909156 +vt 0.462188 0.985383 +vt 0.375000 1.000000 +vt 0.375000 0.990174 +vt 0.393035 0.990174 +vt 0.462188 0.464728 +vt 0.375000 0.469519 +vt 0.393035 0.469519 +vt 0.462188 0.426653 +vt 0.462188 0.383710 +vt 0.393035 0.421861 +vt 0.375000 0.421862 +vt 0.375000 0.388501 +vt 0.393035 0.388501 +vt 0.462188 0.345635 +vt 0.462188 0.302692 +vt 0.393035 0.340844 +vt 0.375000 0.340844 +vt 0.375000 0.307483 +vt 0.393035 0.307484 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.3632 0.9317 +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.0717 0.9974 +vn -0.0132 0.1253 -0.9920 +vn -0.0136 0.1253 0.9920 +vn 0.0167 -0.9999 0.0000 +vn -0.1793 0.2999 0.9370 +vn 0.0000 0.3632 -0.9317 +vn 0.0000 0.0717 -0.9974 +vn 1.0000 -0.0000 0.0000 +vn -0.0578 0.0359 -0.9977 +vn -0.0578 0.0359 0.9977 +vn -0.4819 -0.8762 0.0000 +vn -0.2445 0.9696 0.0000 +vn 0.5997 0.8003 0.0000 +vn 0.2041 0.4450 0.8720 +vn 0.9589 0.2839 0.0000 +vn -0.8655 0.5010 0.0000 +vn -0.1793 0.2999 -0.9370 +vn 0.2041 0.4450 -0.8720 +vn 0.0000 0.4274 0.9040 +vn -0.6179 0.7862 -0.0006 +vn -0.0000 0.4280 -0.9038 +vn 0.7944 -0.6074 0.0000 +vn -0.7944 -0.6074 0.0000 +s 1 +f 1061/1706/585 1062/1707/585 1063/1708/585 1064/1709/585 +f 1064/1709/586 1063/1708/586 1065/1710/586 1066/1711/586 1067/1712/586 1068/1713/586 +f 1069/1714/587 1070/1715/587 1071/1716/587 1072/1717/587 +f 1073/1718/588 1074/1719/588 1075/1720/588 1076/1721/588 1077/1722/588 1078/1723/588 +f 1079/1724/589 1080/1725/589 1081/1726/589 1082/1727/589 +f 1083/1728/589 1084/1729/589 1085/1730/589 1086/1731/589 +f 1087/1732/589 1088/1733/589 1073/1718/589 1078/1734/589 +f 1061/1735/589 1064/1736/589 1068/1737/589 1089/1738/589 +f 1090/1739/590 1091/1740/590 1092/1741/590 1093/1742/590 +f 1069/1714/591 1094/1743/591 1095/1744/591 1070/1715/591 +f 1096/1745/592 1097/1746/592 1088/1733/592 1098/1747/592 1090/1739/592 +f 1074/1719/593 1073/1718/593 1094/1743/593 1069/1714/593 1093/1742/593 +f 1073/1718/594 1088/1733/594 1097/1746/594 1094/1743/594 +f 1093/1742/595 1069/1714/595 1072/1717/595 1099/1748/595 +f 1094/1743/589 1097/1746/589 1100/1749/589 1095/1744/589 +f 1101/1750/596 1096/1745/596 1102/1751/596 1103/1752/596 +f 1097/1746/597 1096/1745/597 1101/1750/597 1100/1749/597 +f 1104/1753/598 1105/1754/598 1106/1755/598 1107/1756/598 +f 1100/1749/599 1101/1750/599 1105/1754/599 1104/1753/599 +f 1070/1715/600 1095/1744/600 1107/1756/600 1106/1755/600 +f 1095/1744/601 1100/1749/601 1104/1753/601 1107/1756/601 +f 1108/1757/602 1099/1748/602 1072/1717/602 1102/1751/602 +f 1103/1752/603 1071/1716/603 1109/1758/603 1110/1759/603 +f 1102/1751/590 1072/1717/590 1071/1716/590 1103/1752/590 +f 1070/1715/604 1106/1755/604 1109/1758/604 1071/1716/604 +f 1106/1755/605 1105/1754/605 1110/1759/605 1109/1758/605 +f 1090/1739/606 1093/1742/606 1099/1748/606 1108/1757/606 +f 1096/1745/607 1090/1739/607 1108/1757/607 1102/1751/607 +f 1105/1754/608 1101/1750/608 1103/1752/608 1110/1759/608 +f 1062/1760/609 1111/1761/609 1112/1762/609 1113/1763/609 1114/1764/609 1115/1765/609 1075/1720/609 1074/1719/609 1093/1742/609 1092/1766/609 +f 1063/1708/610 1062/1707/610 1092/1767/610 1091/1768/610 +f 1098/1747/611 1116/1769/611 1117/1770/611 1118/1771/611 1119/1772/611 1120/1773/611 1065/1710/611 1063/1708/611 1091/1768/611 1090/1739/611 +f 1066/1774/589 1121/1775/589 1122/1776/589 1123/1777/589 +f 1082/1778/585 1124/1779/585 1125/1780/585 1079/1781/585 +f 1068/1782/598 1067/1783/598 1126/1784/598 1089/1785/598 +f 1067/1786/612 1066/1774/612 1123/1777/612 1126/1787/612 +f 1122/1776/613 1121/1775/613 1125/1780/613 1124/1779/613 +f 1127/1788/589 1128/1789/589 1129/1790/589 1130/1791/589 +f 1086/1792/585 1131/1793/585 1132/1794/585 1083/1795/585 +f 1080/1796/598 1133/1797/598 1134/1798/598 1081/1799/598 +f 1133/1800/612 1127/1788/612 1130/1791/612 1134/1801/612 +f 1132/1794/613 1131/1793/613 1129/1790/613 1128/1789/613 +f 1135/1802/589 1136/1803/589 1076/1804/589 1137/1805/589 +f 1077/1806/585 1138/1807/585 1087/1808/585 1078/1809/585 +f 1084/1810/598 1139/1811/598 1140/1812/598 1085/1813/598 +f 1140/1814/612 1139/1815/612 1135/1802/612 1137/1805/612 +f 1076/1804/613 1136/1803/613 1138/1807/613 1077/1806/613 +f 1129/1816/588 1114/1764/588 1113/1763/588 1130/1817/588 +f 1137/1818/588 1115/1765/588 1114/1764/588 1129/1816/588 1131/1819/588 1086/1820/588 1085/1821/588 1140/1822/588 +f 1076/1721/588 1075/1720/588 1115/1765/588 1137/1818/588 +f 1130/1817/588 1113/1763/588 1112/1762/588 1122/1823/588 1124/1824/588 1082/1825/588 1081/1826/588 1134/1827/588 +f 1122/1823/588 1112/1762/588 1111/1761/588 1123/1828/588 +f 1123/1828/588 1111/1761/588 1062/1760/588 1061/1829/588 1089/1830/588 1126/1831/588 +f 1136/1832/586 1116/1769/586 1098/1747/586 1088/1733/586 1087/1833/586 1138/1834/586 +f 1135/1835/586 1117/1770/586 1116/1769/586 1136/1832/586 +f 1128/1836/586 1118/1771/586 1117/1770/586 1135/1835/586 1139/1837/586 1084/1838/586 1083/1839/586 1132/1840/586 +f 1127/1841/586 1119/1772/586 1118/1771/586 1128/1836/586 +f 1121/1842/586 1120/1773/586 1119/1772/586 1127/1841/586 1133/1843/586 1080/1844/586 1079/1845/586 1125/1846/586 +f 1066/1711/586 1065/1710/586 1120/1773/586 1121/1842/586 +o CanonBody_Cylinder.002 +v 1.103664 0.525584 -0.500000 +v 1.292985 0.525584 -0.500000 +v 1.292985 0.172030 -0.353553 +v 1.103664 0.172030 -0.353553 +v 1.103664 0.525584 0.500000 +v 1.292985 0.525584 0.500000 +v 1.292985 0.879137 0.353553 +v 1.103664 0.879137 0.353553 +v 1.292985 1.025584 0.000000 +v 1.103664 1.025584 0.000000 +v 1.503651 1.012795 0.000000 +v 1.503651 0.870094 -0.344510 +v 1.509822 0.895986 -0.370402 +v 1.509822 1.049411 0.000000 +v 1.080568 0.851567 0.325983 +v 1.080568 0.525584 0.461010 +v 1.292985 0.879137 -0.353553 +v 1.286814 0.905708 -0.380125 +v 1.286814 0.525584 -0.537577 +v 1.286814 0.525584 0.537577 +v 1.286814 0.905708 0.380125 +v 1.503651 0.038372 0.000000 +v 1.503651 0.181073 0.344510 +v 1.509822 0.155181 0.370402 +v 1.509822 0.001756 0.000000 +v 1.503651 0.870094 0.344510 +v 1.509822 0.895986 0.370402 +v 1.503651 0.525584 0.487211 +v 1.669294 0.525584 0.401911 +v 1.669294 0.809777 0.284194 +v 1.503651 0.181073 -0.344510 +v 1.503651 0.525584 -0.487211 +v 1.669294 0.525584 -0.401911 +v 1.669294 0.241390 -0.284194 +v 1.669294 0.809777 -0.284194 +v 1.669294 0.927494 0.000000 +v 1.669294 0.241390 0.284194 +v -0.603601 0.525584 -0.500000 +v 1.044523 0.525584 -0.500000 +v 1.044523 0.172030 -0.353553 +v -0.603601 0.172030 -0.353553 +v -0.603601 0.025584 0.000000 +v 1.044523 0.025584 0.000000 +v 1.044523 0.172030 0.353553 +v -0.603601 0.172030 0.353553 +v 0.951045 0.197436 0.364077 +v -0.460212 0.197436 0.364077 +v 1.044523 0.879137 0.353553 +v 0.899442 0.953734 0.173461 +v 0.899442 0.879137 0.353553 +v 1.044523 0.525584 0.500000 +v 1.068921 0.199748 0.325836 +v 1.068921 0.525584 0.460801 +v 1.044523 0.879137 -0.353553 +v 0.899442 0.735289 -0.413137 +v 0.899442 0.879137 -0.353553 +v 1.068921 0.986385 0.000000 +v 1.068921 0.851420 -0.325836 +v 1.044523 0.998052 -0.066468 +v 1.044523 1.025584 0.000000 +v 0.985768 0.843292 0.316901 +v 0.899442 0.843292 0.316901 +v 0.899442 0.918248 0.161081 +v 0.968182 0.918248 0.161081 +v 1.068921 0.525584 -0.460801 +v 1.044523 0.655732 -0.446091 +v 1.068921 0.199748 -0.325836 +v 1.068921 0.851420 0.325836 +v 1.044523 0.998052 0.066468 +v 1.080568 0.851567 -0.325983 +v 1.080568 0.525584 -0.461010 +v 1.080568 0.199600 -0.325983 +v 1.080568 0.064574 0.000000 +v 1.080568 0.199600 0.325983 +v 1.080568 0.986594 0.000000 +v 1.103664 0.172030 0.353553 +v 1.068921 0.064782 0.000000 +v -0.603601 0.997972 -0.066659 +v -0.603601 1.025584 0.000000 +v 0.810528 0.997935 -0.101577 +v -0.388078 0.997935 -0.101577 +v 0.810528 0.952228 0.101577 +v 0.969099 0.952228 0.101577 +v 0.988155 0.719760 0.368080 +v 0.899442 0.719760 0.368080 +v 0.810528 0.997935 0.101577 +v -0.603601 0.997968 0.066670 +v -0.388078 0.997935 0.101577 +v 0.810528 0.655494 -0.446189 +v 1.286814 1.063161 0.000000 +v 1.320923 0.951339 0.425755 +v 1.320923 1.127692 0.000000 +v 1.286814 0.145459 -0.380125 +v 1.320923 0.525584 -0.602109 +v 1.320923 0.099829 -0.425755 +v 1.509822 0.525584 -0.523828 +v 1.475712 0.525584 -0.586708 +v 1.475712 0.940449 -0.414865 +v 1.286814 -0.011994 -0.000000 +v 1.320923 -0.076525 -0.000000 +v 1.509822 0.525584 0.523828 +v 1.475712 0.940449 0.414865 +v 1.475712 0.525584 0.586708 +v 1.509822 0.155181 -0.370402 +v 1.320923 0.525584 0.602109 +v 1.320923 0.951339 -0.425755 +v 1.475712 0.110718 -0.414866 +v 1.475712 1.112292 0.000000 +v 1.475712 0.110718 0.414866 +v 1.669294 0.271118 -0.254466 +v 1.669294 0.525584 -0.359869 +v 1.423236 0.525584 -0.300328 +v 1.423236 0.313220 -0.212364 +v 1.669294 0.780049 -0.254466 +v 1.669294 0.885452 0.000000 +v 1.669294 0.525584 0.359869 +v 1.669294 0.780049 0.254466 +v 1.669294 0.271118 0.254466 +v 1.423236 0.737947 -0.212364 +v 1.423236 0.825911 0.000000 +v 1.657500 0.838523 0.000000 +v 1.657500 0.746865 -0.221281 +v 1.423236 0.525584 0.300328 +v 1.423236 0.737947 0.212364 +v 1.657500 0.746865 0.221281 +v 1.657500 0.525584 0.312939 +v 1.657500 0.525584 0.252281 +v 1.657500 0.703973 0.178389 +v 1.657500 0.525584 -0.312939 +v 1.657500 0.304302 -0.221282 +v 1.423236 0.313220 0.212364 +v 1.657500 0.304302 0.221282 +v 1.657500 0.703973 -0.178389 +v 1.657500 0.525584 -0.252281 +v 1.657500 0.347194 -0.178389 +v 1.657500 0.347194 0.178389 +v 1.432520 0.525584 -0.169385 +v 1.432520 0.645357 -0.119773 +v 1.651829 0.645357 -0.119773 +v 1.651829 0.525584 -0.169385 +v 1.657500 0.777864 0.000000 +v 1.432520 0.645357 0.119773 +v 1.432520 0.694968 0.000000 +v 1.432520 0.405810 -0.119773 +v 1.432520 0.405810 0.119773 +v 1.432520 0.525584 0.169385 +v 1.657500 0.273303 0.000000 +v 1.432520 0.356199 0.000000 +v 1.651829 0.431184 0.000000 +v 1.651829 0.356199 0.000000 +v 1.651829 0.405810 -0.119773 +v 1.651829 0.525394 -0.094211 +v 1.651829 0.458777 -0.066617 +v 1.651829 0.405810 0.119773 +v 1.651829 0.525584 0.169385 +v 1.651829 0.645357 0.119773 +v 1.127542 0.525394 -0.094211 +v 1.127542 0.458777 -0.066617 +v 1.127542 0.431184 0.000000 +v 1.127542 0.525394 0.094211 +v 1.127542 0.592011 0.066617 +v 1.651829 0.592011 0.066617 +v 1.651829 0.525394 0.094211 +v 1.651829 0.619605 0.000000 +v 1.127542 0.619605 0.000000 +v 1.127542 0.592011 -0.066617 +v 1.651829 0.592011 -0.066617 +v 1.127542 0.458777 0.066617 +v -0.476991 0.837264 -0.291860 +v -0.476991 0.714942 -0.357372 +v -0.476991 0.735289 -0.413137 +v -0.476991 0.879137 -0.353553 +v -0.476991 0.879137 0.353553 +v -0.476991 0.953734 0.173461 +v -0.603601 0.879137 0.353553 +v 0.899442 0.735289 0.413137 +v -0.603601 0.879137 -0.353553 +v -0.724548 0.869896 -0.337068 +v 1.044523 0.655732 0.446091 +v -0.476991 0.953734 -0.173461 +v -0.476991 0.735289 0.413137 +v -0.388078 0.655494 0.446189 +v -0.603601 0.655322 0.446261 +v -0.388078 0.655494 -0.446189 +v -0.603601 0.658327 -0.445016 +v 0.810528 0.655494 0.446189 +v -0.603601 0.525584 0.500000 +v 1.651829 0.458777 0.066617 +v -0.388078 0.633076 0.392654 +v -0.476991 0.714942 0.357372 +v -0.476991 0.837264 0.291860 +v -0.388078 0.944133 0.101577 +v -0.388078 0.944133 -0.101577 +v 0.810528 0.952228 -0.101577 +v 1.657500 0.212644 0.000000 +v 1.651829 0.694968 0.000000 +v -0.476991 0.926475 0.173461 +v 0.899442 0.843292 -0.316901 +v 0.899442 0.918248 -0.161081 +v 0.899442 0.953734 -0.173461 +v 0.899442 0.719760 -0.368080 +v 0.810528 0.655494 -0.378684 +v 0.810528 0.655494 0.378684 +v -0.388078 0.633076 -0.392654 +v 1.669294 0.123673 0.000000 +v 1.669294 0.165715 0.000000 +v 0.985768 0.843292 -0.316901 +v 0.968182 0.918248 -0.161081 +v 0.969099 0.952228 -0.101577 +v 0.988155 0.719760 -0.368080 +v 1.475712 -0.061125 -0.000000 +v 1.423236 0.225256 0.000000 +v 0.984259 0.655494 -0.391440 +v 0.984259 0.528318 -0.436781 +v 0.984259 0.228435 -0.325032 +v 0.984259 0.095638 0.005025 +v 0.984259 0.228435 0.325032 +v 0.984259 0.528318 0.436781 +v 0.984259 0.655494 0.391440 +v 1.103664 0.025584 0.000000 +v -0.534084 0.903408 0.173461 +v -0.534084 0.903408 -0.173461 +v -0.476991 0.926475 -0.173461 +v -0.548068 0.837264 0.291860 +v -0.551352 0.714942 0.357372 +v -0.550334 0.633076 0.392654 +v -0.548068 0.837264 -0.291860 +v -0.551352 0.714942 -0.357372 +v -0.550334 0.633076 -0.392654 +v 1.292985 0.025584 0.000000 +v -0.550334 0.529772 0.433593 +v -0.550334 0.236472 0.339820 +v -0.550334 0.062663 0.005342 +v -0.550334 0.236472 -0.339820 +v -0.550334 0.529772 -0.433593 +v -0.388078 0.540720 0.422003 +v -0.388078 0.540720 -0.422003 +v 0.810528 0.526819 -0.419828 +v 0.810528 0.526819 0.419828 +v -0.388078 0.088709 0.007100 +v -0.388078 0.229035 -0.323350 +v -0.388078 0.229035 0.323350 +v 0.810528 0.240010 -0.300109 +v 0.810528 0.100279 0.006216 +v 0.810528 0.240010 0.300109 +v -0.460212 0.500178 0.489476 +v -0.460212 0.155552 0.465195 +v -0.460212 0.458293 0.590595 +v 0.641563 0.500178 0.489476 +v 0.674042 0.500178 0.489476 +v 0.951045 0.500178 0.489476 +v 0.951045 0.458293 0.590595 +v 0.674638 0.458293 0.590595 +v 0.676644 0.321964 0.818654 +v 0.948697 0.323297 0.818799 +v 0.951045 0.155552 0.465195 +v 0.678557 0.155552 0.465195 +v 0.649846 0.155552 0.465195 +v -0.059018 0.088623 0.724480 +v -0.004002 0.088898 0.724510 +v -0.004015 0.318594 0.818287 +v -0.060217 0.318313 0.818256 +v 0.645678 0.092117 0.724860 +v 0.346592 0.090651 0.724701 +v 0.275455 0.090295 0.724662 +v 0.190590 0.089871 0.724616 +v 0.128016 0.089558 0.724582 +v 0.053442 0.089185 0.724541 +v 0.949896 0.093608 0.725023 +v 0.051715 0.318872 0.818317 +v 0.044163 0.311789 0.796066 +v 0.045414 0.108104 0.712906 +v 0.127999 0.319254 0.818359 +v 0.188876 0.319558 0.818392 +v 0.137105 0.309206 0.794886 +v 0.180025 0.309468 0.794915 +v 0.273733 0.319982 0.818438 +v 0.346589 0.320346 0.818478 +v 0.285150 0.311362 0.795548 +v 0.335438 0.311680 0.795582 +v 0.643209 0.321800 0.818636 +v 0.137117 0.111516 0.714176 +v 0.181234 0.111785 0.714205 +v 0.286340 0.110829 0.713675 +v 0.335441 0.111139 0.713708 +v 0.003776 0.311542 0.796039 +v 0.003785 0.107850 0.712878 +v 0.671568 0.425284 0.596467 +v 0.673140 0.318430 0.775219 +v 0.641987 0.458293 0.590595 +v 0.648869 0.138277 0.701704 +v 0.646934 0.318302 0.775205 +v 0.678212 0.092276 0.724878 +v 0.674369 0.138402 0.701718 +v 0.645976 0.425284 0.596467 +v 0.645644 0.458113 0.517211 +v 0.671101 0.458113 0.517211 +v 0.652136 0.187997 0.498180 +v 0.674639 0.187997 0.498180 +v 1.292985 0.172030 0.353553 +v 1.103664 0.879137 -0.353553 +v -0.460212 0.197436 -0.364077 +v 0.951045 0.197436 -0.364077 +v 1.286814 0.145459 0.380125 +v 1.320923 0.099829 0.425755 +v -0.460212 0.500178 -0.489476 +v -0.460212 0.458293 -0.590595 +v -0.460212 0.155552 -0.465195 +v 0.951045 0.500178 -0.489476 +v 0.674042 0.500178 -0.489476 +v 0.641563 0.500178 -0.489476 +v 0.951045 0.458293 -0.590595 +v 0.948697 0.323297 -0.818799 +v 0.676644 0.321964 -0.818654 +v 0.674638 0.458293 -0.590595 +v 0.951045 0.155552 -0.465195 +v 0.649846 0.155552 -0.465195 +v 0.678557 0.155552 -0.465195 +v -0.059018 0.088623 -0.724480 +v -0.060217 0.318313 -0.818256 +v -0.004015 0.318594 -0.818287 +v -0.004002 0.088898 -0.724510 +v 0.053442 0.089185 -0.724541 +v 0.128016 0.089558 -0.724582 +v 0.190590 0.089871 -0.724616 +v 0.275455 0.090295 -0.724662 +v 0.346592 0.090651 -0.724701 +v 0.645678 0.092117 -0.724860 +v 0.949896 0.093608 -0.725023 +v 0.045414 0.108104 -0.712906 +v 0.044163 0.311789 -0.796066 +v 0.051715 0.318872 -0.818317 +v 0.127999 0.319254 -0.818359 +v 0.188876 0.319558 -0.818392 +v 0.180025 0.309468 -0.794915 +v 0.137105 0.309206 -0.794886 +v 0.273733 0.319982 -0.818438 +v 0.346589 0.320346 -0.818478 +v 0.335438 0.311680 -0.795582 +v 0.285150 0.311362 -0.795548 +v 0.643209 0.321800 -0.818636 +v 0.181234 0.111785 -0.714205 +v 0.137117 0.111516 -0.714176 +v 0.335441 0.111139 -0.713708 +v 0.286340 0.110829 -0.713675 +v 0.003776 0.311542 -0.796039 +v 0.003785 0.107850 -0.712878 +v 0.673140 0.318430 -0.775219 +v 0.671568 0.425284 -0.596467 +v 0.641987 0.458293 -0.590595 +v 0.646934 0.318302 -0.775205 +v 0.648869 0.138277 -0.701704 +v 0.678212 0.092276 -0.724878 +v 0.674369 0.138402 -0.701718 +v 0.645644 0.458113 -0.517211 +v 0.645976 0.425284 -0.596467 +v 0.671101 0.458113 -0.517211 +v 0.674639 0.187997 -0.498180 +v 0.652136 0.187997 -0.498180 +v -0.724548 0.532825 -0.476687 +v -0.724548 0.195753 -0.337068 +v -0.724548 0.056134 0.000004 +v -0.724548 0.195753 0.337075 +v -0.724548 0.532825 0.476694 +v -0.724548 0.869896 0.337075 +v -0.724548 1.009515 0.000004 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.875000 0.500000 +vt 0.500000 0.500000 +vt 0.500000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.500000 +vt 0.250000 1.000000 +vt 0.250000 0.500000 +vt 0.250000 1.000000 +vt 0.125000 1.000000 +vt 0.125000 1.000000 +vt 0.250000 1.000000 +vt 0.375000 0.500000 +vt 0.500000 0.500000 +vt 0.000000 1.000000 +vt 0.125000 1.000000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 0.500000 1.000000 +vt 0.375000 1.000000 +vt 0.750000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.750000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 1.000000 +vt 0.500000 1.000000 +vt 0.500000 1.000000 +vt 0.375000 1.000000 +vt 0.875000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.000000 1.000000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 0.250000 1.000000 +vt 0.625000 1.000000 +vt 1.000000 0.500000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.875000 0.500000 +vt 0.750000 0.500000 +vt 0.750000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 0.500000 +vt 0.311328 0.973144 +vt 0.273600 0.943506 +vt 0.273532 1.000000 +vt 0.375000 1.000000 +vt 0.375000 0.973144 +vt 0.500000 1.000000 +vt 0.625000 1.000000 +vt 0.500000 1.000000 +vt 0.074142 0.973144 +vt 0.045930 0.943506 +vt 0.045816 1.000000 +vt 0.125000 1.000000 +vt 0.125000 0.973144 +vt 0.250000 1.000000 +vt 0.125000 1.000000 +vt 0.125000 1.000000 +vt 0.226500 1.000000 +vt 0.250000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.045816 1.000000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.375000 1.000000 +vt 0.273532 1.000000 +vt 0.375000 1.000000 +vt 0.580294 0.419706 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.990000 0.250000 +vt 0.919706 0.080294 +vt 0.750000 0.010000 +vt 0.580294 0.080294 +vt 0.510000 0.250000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.419706 0.419706 +vt 0.250000 0.490000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.226429 0.500000 +vt 0.250000 0.500000 +vt 0.226400 0.943506 +vt 0.226400 0.560020 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.273568 0.500000 +vt 0.273600 0.560020 +vt 0.273600 0.943506 +vt 0.250000 1.000000 +vt 0.375000 1.000000 +vt 0.250000 1.000000 +vt 0.875000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.125000 1.000000 +vt 0.750000 1.000000 +vt 0.750000 1.000000 +vt 0.500000 1.000000 +vt 0.375000 1.000000 +vt 0.500000 1.000000 +vt 0.875000 1.000000 +vt 1.000000 1.000000 +vt 0.500000 1.000000 +vt 0.000000 1.000000 +vt 0.125000 1.000000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.250000 1.000000 +vt 0.625000 1.000000 +vt 0.875000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 0.250000 1.000000 +vt 0.500000 1.000000 +vt 0.375000 1.000000 +vt 0.625000 1.000000 +vt 0.125000 1.000000 +vt 0.250000 1.000000 +vt 0.250000 1.000000 +vt 0.125000 1.000000 +vt 0.500000 1.000000 +vt 0.375000 1.000000 +vt 0.000000 1.000000 +vt 0.375000 1.000000 +vt 0.500000 1.000000 +vt 0.500000 1.000000 +vt 0.375000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.625000 1.000000 +vt 0.000000 1.000000 +vt 0.125000 1.000000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 0.250000 1.000000 +vt 0.375000 1.000000 +vt 0.250000 1.000000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.625000 1.000000 +vt 0.500000 1.000000 +vt 0.750000 1.000000 +vt 0.750000 1.000000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 0.625000 1.000000 +vt 0.500000 1.000000 +vt 0.375000 1.000000 +vt 1.000000 0.728416 +vt 1.000000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 0.728416 +vt 0.750000 0.500000 +vt 0.750000 0.728416 +vt 0.500000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.728416 +vt 0.500000 0.728416 +vt 0.250000 0.728416 +vt 0.250000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 0.728416 +vt 0.000000 0.500000 +vt 0.000000 0.728416 +vt 0.990000 0.250000 +vt 0.919706 0.419706 +vt 0.750000 0.490000 +vt 0.580294 0.419706 +vt 0.510000 0.250000 +vt 0.580294 0.080294 +vt 0.750000 0.010000 +vt 0.919706 0.080294 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.074142 0.530382 +vt 0.125000 0.530382 +vt 0.454131 0.500000 +vt 0.125000 0.500000 +vt 0.425858 0.530382 +vt 0.454070 0.560020 +vt 0.311328 0.973144 +vt 0.375000 0.973144 +vt 0.125000 0.500000 +vt 0.125000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vt 0.046932 0.500000 +vt 0.125000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.273568 0.500000 +vt 0.375000 0.500000 +vt 0.375000 0.500000 +vt 0.250000 0.500000 +vt 0.454070 0.943506 +vt 0.453986 1.000000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.045930 0.560020 +vt 0.344657 0.155611 +vt 0.383755 0.250000 +vt 0.490000 0.250000 +vt 0.419706 0.080294 +vt 1.000000 0.728416 +vt 0.875000 0.728416 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 0.074142 0.530382 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.125000 0.530382 +vt 0.226400 0.560020 +vt 0.000000 0.000000 +vt 0.226400 0.943506 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.750000 1.000000 +vt 0.875000 1.000000 +vt 0.875000 1.000000 +vt 0.125000 1.000000 +vt 0.125000 1.000000 +vt 0.250000 1.000000 +vt 0.188672 0.530382 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.074142 0.973144 +vt 0.000000 0.000000 +vt 0.750000 1.000000 +vt 0.045930 0.943506 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.045930 0.560020 +vt 0.000000 0.000000 +vt 0.750000 1.000000 +vt 0.750000 1.000000 +vt 0.875000 1.000000 +vt 0.875000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.750000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.750000 1.000000 +vt 0.375000 1.000000 +vt 0.375000 1.000000 +vt 0.500000 1.000000 +vt 0.500000 1.000000 +vt 0.875000 1.000000 +vt 0.875000 1.000000 +vt 0.000000 0.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.750000 0.490000 +vt 0.250000 0.490000 +vt 0.419706 0.419706 +vt 0.919706 0.419706 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.875000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.875000 0.500000 +vt 0.875000 0.500000 +vt 0.750000 0.500000 +vt 0.750000 0.500000 +vt 0.125000 1.000000 +vt 0.125000 1.000000 +vt 0.250000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 0.500000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.750000 1.000000 +vt 0.125000 1.000000 +vt 0.125000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.750000 1.000000 +vt 0.344657 0.155611 +vt 0.419706 0.080294 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.919706 0.419706 +vt 0.750000 0.490000 +vt 0.000000 0.500000 +vt 0.000000 0.890352 +vt 0.000000 0.901860 +vt 0.000000 1.000000 +vt 0.500000 1.000000 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.000000 1.000000 +vt 0.000000 0.902071 +vt 0.000000 0.866263 +vt 0.000000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 0.903459 +vt 0.625000 0.893287 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 0.527590 +vt 0.500000 0.528185 +vt 0.500000 0.500000 +vt 0.625000 0.850445 +vt 0.625000 0.703414 +vt 0.625000 0.667738 +vt 0.625000 0.625178 +vt 0.625000 0.593798 +vt 0.625000 0.556398 +vt 0.919706 0.419706 +vt 0.750000 0.490000 +vt 0.500000 0.556134 +vt 0.500000 0.556134 +vt 0.625000 0.556398 +vt 0.500000 0.594391 +vt 0.000000 0.624920 +vt 0.000000 0.594391 +vt 0.000000 0.594391 +vt 0.000000 0.624920 +vt 0.500000 0.624920 +vt 0.500000 0.667476 +vt 0.000000 0.704013 +vt 0.000000 0.667476 +vt 0.000000 0.667476 +vt 0.000000 0.704013 +vt 0.500000 0.704013 +vt 0.500000 0.849827 +vt 0.500000 0.594391 +vt 0.625000 0.593798 +vt 0.625000 0.625178 +vt 0.500000 0.624920 +vt 0.500000 0.667476 +vt 0.625000 0.667738 +vt 0.625000 0.703414 +vt 0.500000 0.704013 +vt 0.500000 0.528185 +vt 0.625000 0.527590 +vt 0.000000 0.556134 +vt 0.000000 0.528185 +vt 0.000000 0.528185 +vt 0.000000 0.556134 +vt 0.000000 0.902071 +vt 0.000000 0.866263 +vt 0.000000 0.849827 +vt 0.000000 0.890503 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vt 0.625000 0.850445 +vt 0.500000 0.849827 +vt 0.625000 0.866439 +vt 0.500000 0.866263 +vt 0.500000 0.866263 +vt 0.625000 0.866439 +vt 0.625000 1.000000 +vt 0.500000 1.000000 +vt 0.000000 0.890503 +vt 0.000000 0.890352 +vt 0.000000 0.849827 +vt 0.000000 0.901860 +vt 0.625000 0.893287 +vt 0.625000 0.903459 +vt 1.000000 0.500000 +vt 0.875000 1.000000 +vt 1.000000 1.000000 +vt 0.500000 0.500000 +vt 0.375000 0.500000 +vt 0.375000 1.000000 +vt 0.500000 1.000000 +vt 0.500000 0.500000 +vt 0.375000 0.500000 +vt 1.000000 0.500000 +vt 0.875000 0.500000 +vt 0.875000 1.000000 +vt 1.000000 1.000000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.625000 1.000000 +vt 0.500000 1.000000 +vt 0.500000 1.000000 +vt 0.500000 1.000000 +vt 0.625000 0.500000 +vt 0.625000 0.500000 +vt 0.875000 1.000000 +vt 0.875000 1.000000 +vt 1.000000 1.000000 +vt 1.000000 1.000000 +vt 0.875000 1.000000 +vt 1.000000 1.000000 +vt 0.125000 1.000000 +vt 0.125000 1.000000 +vt 0.125000 1.000000 +vt 0.125000 0.728416 +vt 0.125000 0.500000 +vt 0.188672 0.530382 +vt 0.625000 1.000000 +vt 0.875000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 0.500000 +vt 0.750000 0.490000 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.919706 0.419706 +vt 0.000000 1.000000 +vt 0.000000 0.901860 +vt 0.000000 0.890352 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.866263 +vt 0.000000 0.902071 +vt 0.500000 1.000000 +vt 0.625000 0.500000 +vt 0.625000 0.893287 +vt 0.625000 0.903459 +vt 0.625000 0.500000 +vt 0.500000 0.500000 +vt 0.500000 0.528185 +vt 0.625000 0.527590 +vt 0.625000 0.556398 +vt 0.625000 0.593798 +vt 0.625000 0.625178 +vt 0.625000 0.667738 +vt 0.625000 0.703414 +vt 0.625000 0.850445 +vt 0.750000 0.490000 +vt 0.919706 0.419706 +vt 0.625000 0.556398 +vt 0.500000 0.556134 +vt 0.500000 0.556134 +vt 0.500000 0.594391 +vt 0.000000 0.624920 +vt 0.000000 0.624920 +vt 0.000000 0.594391 +vt 0.000000 0.594391 +vt 0.500000 0.624920 +vt 0.500000 0.667476 +vt 0.000000 0.704013 +vt 0.000000 0.704013 +vt 0.000000 0.667476 +vt 0.000000 0.667476 +vt 0.500000 0.704013 +vt 0.500000 0.849827 +vt 0.500000 0.594391 +vt 0.500000 0.624920 +vt 0.625000 0.625178 +vt 0.625000 0.593798 +vt 0.500000 0.667476 +vt 0.500000 0.704013 +vt 0.625000 0.703414 +vt 0.625000 0.667738 +vt 0.500000 0.528185 +vt 0.625000 0.527590 +vt 0.000000 0.556134 +vt 0.000000 0.556134 +vt 0.000000 0.528185 +vt 0.000000 0.528185 +vt 0.000000 0.866263 +vt 0.000000 0.902071 +vt 0.000000 0.849827 +vt 0.000000 0.500000 +vt 0.000000 0.500000 +vt 0.000000 0.890503 +vt 0.500000 0.849827 +vt 0.625000 0.850445 +vt 0.625000 0.866439 +vt 0.625000 0.866439 +vt 0.500000 0.866263 +vt 0.500000 0.866263 +vt 0.000000 0.890352 +vt 0.000000 0.890503 +vt 0.000000 0.849827 +vt 0.000000 0.901860 +vt 0.625000 0.903459 +vt 0.625000 0.893287 +vt 0.580294 0.080294 +vt 0.750000 0.010000 +vt 0.919706 0.080294 +vt 0.990000 0.250000 +vt 0.919706 0.419706 +vt 0.750000 0.490000 +vt 0.580294 0.419706 +vt 0.510000 0.250000 +vt 0.750000 0.500000 +vt 0.625000 0.500000 +vt 0.226429 0.500000 +vt 0.273600 0.560020 +vt 0.311328 0.530382 +vt 0.375000 0.530382 +vt 0.625000 0.500000 +vt 0.875000 0.500000 +vt 1.000000 0.500000 +vt 0.500000 0.500000 +vt 0.125000 0.500000 +vt 0.125000 0.973144 +vt 0.116782 0.250000 +vt 0.010000 0.250000 +vt 0.080294 0.080294 +vt 0.155879 0.155611 +vt 0.155879 0.155611 +vt 0.080294 0.080294 +vt 0.250268 0.116514 +vt 0.250000 0.010000 +vt 0.250268 0.116514 +vt 0.250000 0.010000 +vt 0.250000 0.490000 +vt 0.250268 0.383486 +vt 0.155879 0.344389 +vt 0.080294 0.419706 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 0.3827 0.9239 +vn 0.0000 0.9239 0.3827 +vn 0.9838 -0.1658 0.0687 +vn -0.8418 0.2066 0.4987 +vn -0.9846 -0.0670 0.1617 +vn -0.9846 -0.0670 -0.1617 +vn 0.9838 0.1658 -0.0687 +vn 0.9838 -0.1658 -0.0687 +vn 0.4296 0.3456 0.8343 +vn 0.4296 -0.3456 -0.8343 +vn 0.4296 0.3456 -0.8343 +vn 0.4296 0.8343 0.3456 +vn 0.4296 -0.3456 0.8343 +vn 0.0000 -0.9239 0.3827 +vn 0.0000 -0.3827 0.9239 +vn 0.0161 0.9158 -0.4012 +vn 0.8293 -0.2138 0.5162 +vn 0.8293 0.5162 -0.2138 +vn 0.0000 -0.9012 -0.4335 +vn 0.8293 0.2138 -0.5162 +vn 0.8293 -0.2138 -0.5162 +vn 0.8293 0.5162 0.2138 +vn -1.0000 0.0000 0.0000 +vn -0.8418 -0.2066 0.4987 +vn -0.0165 -0.3826 -0.9238 +vn -0.0165 0.3826 -0.9238 +vn -0.0165 0.3826 0.9238 +vn -0.0165 -0.9238 -0.3826 +vn -0.0000 0.9616 -0.2745 +vn 0.0000 -0.8684 -0.4959 +vn -0.0000 0.9616 0.2745 +vn -0.8680 0.4588 0.1900 +vn -0.8680 -0.1900 -0.4588 +vn 0.8623 0.1938 -0.4678 +vn -0.8680 -0.4588 -0.1900 +vn 0.8623 0.1938 0.4678 +vn 0.9838 0.0687 0.1658 +vn -0.9846 -0.1617 -0.0670 +vn 0.9838 -0.0687 -0.1658 +vn 0.9838 -0.0687 0.1658 +vn 0.9838 0.0687 -0.1658 +vn -0.9846 0.0670 0.1617 +vn 0.0915 0.3811 0.9200 +vn 0.0915 0.3811 -0.9200 +vn 0.0915 -0.3811 -0.9200 +vn -0.8680 0.1900 -0.4588 +vn -0.8680 0.1900 0.4588 +vn 0.8623 0.4678 -0.1938 +vn 0.8623 -0.1938 0.4678 +vn 0.8623 -0.1938 -0.4678 +vn 0.2182 0.3735 0.9016 +vn 1.0000 -0.0000 0.0000 +vn -0.0497 0.9227 -0.3822 +vn 0.2182 -0.3735 -0.9016 +vn 0.2182 -0.9016 0.3735 +vn 0.2182 -0.9016 -0.3735 +vn 0.2182 -0.3735 0.9016 +vn -0.0497 0.9227 0.3822 +vn -0.0497 0.3822 -0.9227 +vn -0.0497 -0.3822 -0.9227 +vn -0.0497 -0.3822 0.9227 +vn -0.0497 0.3822 0.9227 +vn 0.0000 0.3827 -0.9239 +vn 0.3223 -0.8746 -0.3623 +vn 0.3223 0.3623 0.8746 +vn 0.3223 0.3623 -0.8746 +vn 0.3223 0.8746 -0.3623 +vn 0.3223 -0.3623 -0.8746 +vn 0.0161 0.9158 0.4012 +vn -0.1533 0.3782 0.9130 +vn 0.8293 0.2138 0.5162 +vn -0.1218 0.9170 -0.3798 +vn 0.7023 0.6629 -0.2594 +vn 0.0000 0.0000 1.0000 +vn 0.0068 -1.0000 0.0000 +vn 0.6287 0.0000 0.7776 +vn -0.0165 0.9238 -0.3826 +vn -0.8680 0.4588 -0.1900 +vn 0.0000 -0.9239 -0.3827 +vn -0.6414 0.7600 0.1048 +vn -0.6231 -0.1179 -0.7732 +vn -0.6231 -0.1179 0.7732 +vn -0.6414 0.7600 -0.1048 +vn -0.0103 0.9832 -0.1821 +vn -0.0103 0.9832 0.1821 +vn 0.0000 -0.9012 0.4335 +vn 0.0000 -0.8684 0.4959 +vn 0.0915 -0.9200 -0.3811 +vn 0.2182 0.9016 0.3735 +vn 0.3223 -0.3623 0.8746 +vn 0.0465 -0.2865 0.9570 +vn 0.0000 -1.0000 0.0000 +vn 0.9838 0.1658 0.0687 +vn 0.4296 -0.8343 -0.3456 +vn -0.0166 -0.3826 0.9238 +vn -0.0165 -0.9238 0.3826 +vn 0.8623 -0.4678 -0.1938 +vn 0.2182 0.3735 -0.9016 +vn 0.7023 0.6629 0.2594 +vn -0.9999 -0.0123 -0.0000 +vn 0.0915 0.9200 -0.3811 +vn 0.0465 -0.2865 -0.9570 +vn -0.8418 -0.4987 0.2066 +vn -0.0497 -0.9227 0.3822 +vn -0.8418 0.4987 0.2066 +vn 0.3746 -0.9272 0.0000 +vn 0.1495 -0.8307 -0.5362 +vn 0.0000 -0.4721 -0.8815 +vn 0.0000 -0.3958 -0.9183 +vn 0.1495 -0.8307 0.5362 +vn 0.0000 -0.4721 0.8815 +vn 0.0000 -0.3958 0.9183 +vn -0.9846 0.1617 0.0670 +vn 0.4296 -0.8343 0.3456 +vn 0.0915 0.9200 0.3811 +vn 0.4296 0.8343 -0.3456 +vn 0.8623 -0.4678 0.1938 +vn -0.0497 -0.9227 -0.3822 +vn 0.3223 0.8746 0.3623 +vn 0.8293 -0.5162 -0.2138 +vn -0.9846 -0.1617 0.0670 +vn 0.9999 -0.0145 -0.0000 +vn -0.0222 -0.3380 -0.9409 +vn -0.0222 -0.3380 0.9409 +vn 0.0821 -0.3191 0.9441 +vn 0.0821 -0.3191 -0.9441 +vn -0.0053 -0.3038 0.9527 +vn -0.0053 -0.3038 -0.9527 +vn -0.0755 0.9042 0.4204 +vn -0.0854 0.3020 0.9495 +vn -0.0854 0.3020 -0.9495 +vn 0.0723 0.9168 0.3926 +vn 0.0702 0.9117 -0.4047 +vn 0.1218 0.3643 -0.9233 +vn -0.0095 0.3428 -0.9394 +vn -0.0127 0.9088 -0.4171 +vn -0.0124 0.9153 0.4026 +vn -0.0095 0.3428 0.9394 +vn -0.0039 0.8598 0.5107 +vn -0.0022 0.8595 0.5111 +vn 0.0005 0.9245 0.3812 +vn -0.0013 -0.9234 -0.3838 +vn 0.0014 -0.3780 0.9258 +vn 0.0019 -0.9695 -0.2450 +vn -0.5510 -0.3187 0.7712 +vn -0.9170 -0.1562 0.3671 +vn 0.0048 -0.9190 0.3942 +vn 0.0050 -0.9355 0.3532 +vn 0.0017 -0.3780 0.9258 +vn 0.8917 -0.1710 0.4191 +vn -0.8914 -0.1765 0.4174 +vn -0.0029 0.4287 0.9035 +vn 0.0018 -0.3780 0.9258 +vn 0.8493 -0.1946 0.4907 +vn -0.8491 -0.1997 0.4891 +vn -0.0031 0.4723 0.8814 +vn -0.0034 0.5235 0.8520 +vn 0.0050 -0.9531 0.3028 +vn 0.9172 -0.1505 0.3689 +vn -0.9919 0.1050 0.0715 +vn -0.0018 0.8543 0.5198 +vn 0.9959 -0.0250 0.0874 +vn -0.9957 -0.0410 0.0837 +vn 0.0024 -0.9722 -0.2343 +vn 0.0013 -0.9725 -0.2331 +vn 0.9905 0.1284 0.0490 +vn 0.0013 -0.3780 0.9258 +vn -0.0023 0.8582 0.5133 +vn 0.0026 -0.9715 -0.2370 +vn 0.9976 -0.0694 -0.0010 +vn 0.0000 -0.7129 0.7012 +vn 0.9884 0.1326 0.0741 +vn -0.9938 0.1009 0.0477 +vn 0.0000 0.5505 0.8349 +vn -0.9952 -0.0952 -0.0245 +vn 0.0000 0.9239 -0.3827 +vn -0.8418 0.2066 -0.4987 +vn 1.0000 -0.0007 -0.0064 +vn 1.0000 -0.0004 -0.0047 +vn 1.0000 0.0013 -0.0051 +vn -0.8418 -0.2066 -0.4987 +vn -0.8680 -0.1900 0.4588 +vn -0.8680 -0.4588 0.1900 +vn -0.9846 0.0670 -0.1617 +vn 0.0915 -0.3811 0.9200 +vn 0.8623 0.4678 0.1938 +vn 0.3223 -0.8746 0.3623 +vn 0.0000 0.0000 -1.0000 +vn 0.6287 0.0000 -0.7776 +vn -0.0165 0.9238 0.3826 +vn 0.0915 -0.9200 0.3811 +vn 0.2182 0.9016 -0.3735 +vn 0.1948 -0.9808 0.0000 +vn -0.8418 -0.4987 -0.2066 +vn -0.8418 0.4987 -0.2066 +vn -0.9846 0.1617 -0.0670 +vn 0.8293 -0.5162 0.2138 +vn -0.0712 0.8983 -0.4336 +vn 0.1218 0.3643 0.9233 +vn -0.0007 0.8599 -0.5105 +vn -0.0022 0.8595 -0.5111 +vn 1.0000 -0.0009 0.0063 +vn 1.0000 -0.0004 0.0047 +vn 1.0000 0.0013 0.0051 +vn 0.0008 0.9233 -0.3841 +vn -0.0001 -0.9232 0.3843 +vn 0.0014 -0.3780 -0.9258 +vn 0.0019 -0.9695 0.2450 +vn -0.5510 -0.3187 -0.7712 +vn -0.9170 -0.1562 -0.3671 +vn 0.0048 -0.9190 -0.3942 +vn 0.0050 -0.9355 -0.3532 +vn 0.0017 -0.3780 -0.9258 +vn 0.8917 -0.1710 -0.4191 +vn -0.8914 -0.1765 -0.4174 +vn -0.0029 0.4287 -0.9035 +vn 0.0018 -0.3780 -0.9258 +vn 0.8493 -0.1946 -0.4907 +vn -0.8491 -0.1997 -0.4891 +vn -0.0031 0.4723 -0.8814 +vn -0.0034 0.5235 -0.8520 +vn 0.0050 -0.9531 -0.3028 +vn 0.9172 -0.1505 -0.3689 +vn -0.9919 0.1050 -0.0715 +vn -0.0018 0.8543 -0.5198 +vn 0.9959 -0.0250 -0.0874 +vn -0.9957 -0.0410 -0.0837 +vn 0.0024 -0.9722 0.2343 +vn 0.0007 -0.9722 0.2343 +vn 0.9905 0.1284 -0.0490 +vn -0.0023 0.8582 -0.5133 +vn 0.0026 -0.9715 0.2370 +vn 0.9976 -0.0694 0.0010 +vn 0.0000 -0.7129 -0.7012 +vn 0.9884 0.1326 -0.0741 +vn -0.9938 0.1009 -0.0476 +vn 0.0000 0.5505 -0.8349 +vn -0.9952 -0.0952 0.0245 +vn -0.2273 -0.8997 -0.3727 +vn -0.0182 0.9159 0.4009 +vn -0.0182 0.9159 -0.4009 +vn -0.2272 -0.8997 0.3727 +vn -0.1218 0.9170 0.3798 +vn -0.1970 -0.3752 -0.9058 +vn -0.1970 -0.3752 0.9058 +vn -0.1533 0.3782 -0.9130 +s off +f 1141/1847/614 1142/1848/614 1143/1849/614 1144/1850/614 +f 1145/1851/615 1146/1852/615 1147/1853/615 1148/1854/615 +f 1148/1854/616 1147/1853/616 1149/1855/616 1150/1856/616 +f 1151/1857/617 1152/1858/617 1153/1859/617 1154/1860/617 +f 1145/1851/618 1148/1854/618 1155/1861/618 1156/1862/618 +f 1142/1863/619 1157/1864/619 1158/1865/619 1159/1866/619 +f 1147/1853/620 1146/1852/620 1160/1867/620 1161/1868/620 +f 1162/1869/621 1163/1870/621 1164/1871/621 1165/1872/621 +f 1166/1873/622 1151/1857/622 1154/1860/622 1167/1874/622 +f 1166/1873/623 1168/1875/623 1169/1876/623 1170/1877/623 +f 1171/1878/624 1172/1879/624 1173/1880/624 1174/1881/624 +f 1172/1882/625 1152/1858/625 1175/1883/625 1173/1884/625 +f 1151/1857/626 1166/1873/626 1170/1877/626 1176/1885/626 +f 1168/1875/627 1163/1870/627 1177/1886/627 1169/1876/627 +f 1178/1887/614 1179/1888/614 1180/1889/614 1181/1890/614 +f 1182/1891/628 1183/1892/628 1184/1893/628 1185/1894/628 +f 1185/1894/629 1184/1893/629 1186/1895/629 1187/1896/629 +f 1340/1897/630 1220/1898/630 1199/1899/630 1194/1900/630 1196/1901/630 +f 1191/1902/631 1184/1893/631 1192/1903/631 1193/1904/631 +f 1316/1905/615 1326/1906/615 1319/1907/615 1188/1908/615 1190/1909/615 +f 1197/1910/632 1198/1911/632 1194/1912/632 1199/1913/632 1200/1914/632 +f 1201/1915/633 1202/1916/633 1203/1917/633 1204/1918/633 +f 1198/1911/634 1205/1919/634 1179/1920/634 1206/1921/634 1194/1912/634 +f 1180/1889/635 1179/1888/635 1205/1922/635 1207/1923/635 +f 1208/1924/636 1197/1910/636 1200/1914/636 1209/1925/636 1188/1926/636 +f 1210/1927/637 1211/1928/637 1212/1929/637 1213/1930/637 1214/1931/637 1156/1932/637 1155/1933/637 1215/1934/637 +f 1216/1935/638 1145/1851/638 1156/1862/638 1214/1936/638 +f 1211/1928/639 1212/1929/639 1207/1937/639 1205/1938/639 +f 1211/1939/640 1205/1940/640 1198/1941/640 1210/1942/640 +f 1155/1943/641 1208/1944/641 1193/1945/641 1156/1946/641 +f 1213/1947/642 1217/1948/642 1207/1949/642 1212/1950/642 +f 1218/1951/643 1219/1952/643 1200/1914/643 1199/1913/643 1220/1953/643 1221/1954/643 +f 1204/1918/644 1203/1917/644 1222/1955/644 1223/1956/644 +f 1201/1915/614 1224/1957/614 1225/1958/614 1202/1916/614 +f 1200/1914/645 1219/1952/645 1227/1959/645 1228/1960/645 1226/1961/645 1209/1925/645 +f 1230/1962/646 1161/1868/646 1231/1963/646 1232/1964/646 +f 1233/1965/647 1159/1966/647 1234/1967/647 1235/1968/647 +f 1153/1859/648 1236/1969/648 1237/1970/648 1238/1971/648 +f 1239/1972/649 1233/1965/649 1235/1968/649 1240/1973/649 +f 1241/1974/650 1167/1874/650 1242/1975/650 1243/1976/650 +f 1172/1879/651 1171/1878/651 1244/1977/651 1236/1978/651 +f 1149/1855/652 1147/1853/652 1161/1868/652 1230/1962/652 +f 1168/1875/653 1166/1873/653 1167/1874/653 1241/1974/653 +f 1152/1858/654 1172/1882/654 1236/1969/654 1153/1859/654 +f 1163/1870/655 1168/1875/655 1241/1974/655 1164/1871/655 +f 1143/1849/656 1142/1848/656 1159/1966/656 1233/1965/656 +f 1231/1963/657 1245/1979/657 1243/1976/657 1242/1975/657 +f 1234/1980/658 1246/1981/658 1238/1971/658 1237/1970/658 +f 1235/1968/659 1234/1967/659 1237/1982/659 1247/1983/659 +f 1159/1866/660 1158/1865/660 1246/1981/660 1234/1980/660 +f 1161/1868/661 1160/1867/661 1245/1979/661 1231/1963/661 +f 1154/1860/662 1153/1859/662 1238/1971/662 1248/1984/662 +f 1164/1871/663 1241/1974/663 1243/1976/663 1249/1985/663 +f 1236/1978/664 1244/1977/664 1247/1983/664 1237/1982/664 +f 1250/1986/665 1251/1987/665 1252/1988/665 1253/1989/665 +f 1173/1884/666 1175/1883/666 1254/1990/666 1251/1991/666 +f 1174/1881/666 1173/1880/666 1251/1987/666 1250/1986/666 +f 1175/1883/666 1176/1885/666 1255/1992/666 1254/1990/666 +f 1170/1877/666 1169/1876/666 1256/1993/666 1257/1994/666 +f 1169/1876/666 1177/1886/666 1258/1995/666 1256/1993/666 +f 1259/1996/667 1260/1997/667 1261/1998/667 1262/1999/667 +f 1257/1994/668 1256/1993/668 1263/2000/668 1264/2001/668 +f 1254/1990/669 1255/1992/669 1260/1997/669 1259/1996/669 +f 1255/1992/670 1257/1994/670 1264/2001/670 1260/1997/670 +f 1251/1991/671 1254/1990/671 1259/1996/671 1252/2002/671 +f 1265/2003/666 1266/2004/666 1267/2005/666 1268/2006/666 +f 1260/1997/672 1264/2001/672 1265/2003/672 1261/1998/672 +f 1252/2002/673 1259/1996/673 1262/1999/673 1269/2007/673 +f 1253/1989/674 1252/1988/674 1269/2008/674 1270/2009/674 +f 1263/2000/675 1271/2010/675 1272/2011/675 1266/2004/675 +f 1264/2001/676 1263/2000/676 1266/2004/676 1265/2003/676 +f 1269/2007/666 1262/1999/666 1273/2012/666 1274/2013/666 +f 1270/2009/666 1269/2008/666 1274/2014/666 1275/2015/666 +f 1266/2004/666 1272/2011/666 1276/2016/666 1267/2005/666 +f 1277/2017/677 1278/2018/677 1279/2019/677 1280/2020/677 +f 1281/2021/678 1268/2006/678 1282/2022/678 1283/2023/678 +f 1275/2015/679 1274/2014/679 1277/2024/679 1284/2025/679 +f 1267/2005/680 1276/2016/680 1285/2026/680 1286/2027/680 +f 1276/2016/681 1287/2028/681 1288/2029/681 1285/2026/681 +f 1268/2006/682 1267/2005/682 1286/2027/682 1282/2022/682 +f 1284/2025/614 1277/2024/614 1280/2030/614 1291/2031/614 +f 1286/2027/629 1285/2026/629 1294/2032/629 1295/2033/629 +f 1282/2022/615 1286/2027/615 1295/2033/615 1296/2034/615 +f 1292/2035/615 1297/2036/615 1298/2037/615 1293/2038/615 +f 1298/2037/616 1299/2039/616 1289/2040/616 1293/2038/616 +f 1300/2041/614 1301/2042/614 1302/2043/614 1303/2044/614 +f 1304/2045/628 1305/2046/628 1306/2047/628 1307/2048/628 +f 1307/2048/629 1306/2047/629 1297/2049/629 1292/2050/629 +f 1299/2051/666 1298/2052/666 1297/2053/666 1306/2054/666 1305/2055/666 1301/2056/666 1300/2057/666 1308/2058/666 +f 1309/2059/666 1310/2060/666 1311/2061/666 1312/2062/666 +f 1325/2063/677 1317/2064/677 1312/2062/677 1311/2065/677 1324/2066/677 +f 1188/1926/683 1209/1925/683 1226/1961/683 1189/2067/683 1190/2068/683 +f 1315/2069/684 1505/2070/684 1504/2071/684 1327/2072/684 1323/2073/684 +f 1208/2074/685 1188/1908/685 1319/1907/685 1191/2075/685 1193/2076/685 +f 1218/2077/686 1317/2078/686 1318/2079/686 1506/2080/686 1219/1952/686 +f 1325/2063/677 1324/2066/677 1229/2081/677 1206/2082/677 1179/2083/677 1178/2084/677 +f 1191/2075/615 1319/1907/615 1326/1906/615 1322/2085/615 1323/2073/615 1327/2072/615 +f 1293/2086/666 1289/2087/666 1290/2088/666 1291/2089/666 +f 1303/2090/677 1328/2091/677 1308/2092/677 1300/2093/677 +f 1321/2094/687 1322/2085/687 1329/2095/687 1330/2096/687 +f 1331/2097/666 1313/2098/666 1321/2094/666 1330/2096/666 +f 1228/2099/688 1332/2100/688 1222/1955/688 1226/2101/688 +f 1222/1955/689 1332/2100/689 1333/2102/689 1334/2103/689 +f 1335/2104/666 1287/2028/666 1276/2105/666 1272/2106/666 +f 1282/2107/616 1296/2108/616 1336/2109/616 1283/2023/616 +f 1228/2099/690 1314/2110/690 1337/2111/690 1332/2100/690 +f 1196/2112/637 1338/2113/637 1339/2114/637 1340/2115/637 +f 1210/1942/691 1198/1941/691 1197/2116/691 1215/2117/691 +f 1196/2112/637 1195/2118/637 1341/2119/637 1338/2113/637 +f 1158/1865/692 1230/1962/692 1232/1964/692 1246/1981/692 +f 1288/2029/693 1284/2025/693 1291/2031/693 1290/2120/693 +f 1229/2121/694 1342/2122/694 1341/2119/694 1195/2118/694 +f 1334/2103/695 1220/2123/695 1340/2115/695 1339/2114/695 +f 1203/1917/696 1189/2124/696 1226/1961/696 1222/1955/696 +f 1203/1917/637 1202/1916/637 1190/2068/637 1189/2124/637 +f 1225/1958/637 1316/2125/637 1190/2126/637 1202/1916/637 +f 1326/2127/697 1316/2125/697 1225/1958/697 1343/2128/697 +f 1329/2095/698 1322/2085/698 1326/2127/698 1343/2128/698 +f 1229/2121/699 1324/2129/699 1344/2130/699 1342/2122/699 +f 1345/2131/666 1346/2132/666 1258/2133/666 1177/2134/666 +f 1347/2135/700 1348/2136/700 1339/2114/700 1338/2113/700 +f 1348/2136/701 1349/2137/701 1334/2103/701 1339/2114/701 +f 1347/2135/629 1338/2113/629 1341/2119/629 1350/2138/629 +f 1235/2139/702 1247/2140/702 1351/2141/702 1240/1973/702 +f 1250/2142/703 1253/2143/703 1352/2144/703 1346/2132/703 +f 1273/2145/704 1278/2146/704 1277/2147/704 1274/2148/704 +f 1288/2029/628 1290/2120/628 1294/2149/628 1285/2150/628 +f 1353/2151/705 1350/2138/705 1341/2119/705 1342/2122/705 +f 1334/2103/706 1349/2137/706 1223/1956/706 1222/1955/706 +f 1162/1869/707 1165/1872/707 1244/2152/707 1171/2153/707 +f 1171/2153/708 1174/2154/708 1345/2131/708 1162/1869/708 +f 1156/2155/709 1193/2156/709 1192/2157/709 1214/2158/709 +f 1213/1947/710 1214/2159/710 1192/2160/710 1217/1948/710 +f 1165/1872/711 1351/2141/711 1247/2140/711 1244/2152/711 +f 1258/2133/712 1271/2161/712 1263/2162/712 1256/2163/712 +f 1262/1999/666 1261/1998/666 1281/2021/666 1273/2012/666 +f 1311/2061/713 1310/2060/713 1344/2130/713 1324/2129/713 +f 1354/2164/714 1355/2165/714 1356/2166/714 1357/2167/714 1358/2168/714 1359/2169/714 1224/1957/714 1201/1915/714 1204/1918/714 1223/1956/714 1349/2137/714 1348/2136/714 1347/2135/714 1350/2138/714 1353/2151/714 +f 1345/2131/666 1174/1881/666 1250/1986/666 1346/2132/666 +f 1246/1981/715 1232/1964/715 1248/1984/715 1238/1971/715 +f 1359/2169/716 1343/2128/716 1225/1958/716 1224/1957/716 +f 1216/2170/717 1214/2171/717 1213/2172/717 1360/2173/717 +f 1352/2144/718 1335/2104/718 1272/2106/718 1271/2161/718 +f 1265/2174/666 1268/2175/666 1281/2021/666 1261/1998/666 +f 1150/1856/719 1215/2176/719 1155/2177/719 1148/2178/719 +f 1361/2179/720 1362/2180/720 1363/2181/720 1337/2111/720 +f 1361/2179/721 1337/2111/721 1331/2097/721 1364/2182/721 +f 1364/2182/722 1331/2097/722 1330/2096/722 1365/2183/722 +f 1366/2184/723 1365/2183/723 1330/2096/723 1329/2095/723 +f 1363/2181/724 1362/2180/724 1367/2185/724 1309/2059/724 +f 1309/2059/725 1367/2185/725 1368/2186/725 1310/2060/725 +f 1310/2060/726 1368/2186/726 1369/2187/726 1344/2130/726 +f 1144/1850/693 1143/1849/693 1370/2188/693 1360/2173/693 +f 1370/2188/727 1143/1849/727 1233/1965/727 1239/1972/727 +f 1163/1870/728 1162/1869/728 1345/2131/728 1177/1886/728 +f 1231/2189/729 1242/2190/729 1248/1984/729 1232/1964/729 +f 1152/1858/730 1151/1857/730 1176/1885/730 1175/1883/730 +f 1165/1872/731 1164/1871/731 1249/1985/731 1351/2141/731 +f 1352/2144/732 1253/1989/732 1270/2009/732 1335/2104/732 +f 1335/2104/666 1270/2009/666 1275/2015/666 1287/2028/666 +f 1287/2028/733 1275/2015/733 1284/2025/733 1288/2029/733 +f 1180/2191/734 1207/2192/734 1217/2193/734 1183/1892/734 +f 1157/1864/735 1149/1855/735 1230/1962/735 1158/1865/735 +f 1328/2194/666 1294/2195/666 1290/2088/666 1289/2087/666 +f 1367/2185/736 1362/2180/736 1361/2179/736 1364/2182/736 1365/2183/736 1366/2184/736 1371/2196/736 1372/2197/736 1373/2198/736 1374/2199/736 1375/2200/736 1369/2187/736 1368/2186/736 +f 1376/2201/737 1371/2196/737 1366/2184/737 1329/2095/737 +f 1377/2202/738 1344/2130/738 1369/2187/738 1375/2200/738 +f 1354/2164/739 1353/2151/739 1342/2122/739 1378/2203/739 +f 1358/2168/740 1379/2204/740 1343/2128/740 1359/2169/740 +f 1342/2122/741 1344/2130/741 1377/2202/741 1378/2203/741 +f 1343/2128/742 1379/2204/742 1376/2201/742 1329/2095/742 +f 1373/2198/743 1380/2205/743 1381/2206/743 1374/2199/743 +f 1374/2199/744 1381/2206/744 1377/2202/744 1375/2200/744 +f 1372/2197/745 1371/2196/745 1376/2201/745 1382/2207/745 +f 1356/2166/746 1355/2165/746 1383/2208/746 1384/2209/746 +f 1356/2166/747 1384/2209/747 1385/2210/747 1357/2167/747 +f 1357/2167/748 1385/2210/748 1379/2204/748 1358/2168/748 +f 1379/2204/749 1385/2210/749 1382/2207/749 1376/2201/749 +f 1380/2205/750 1382/2207/750 1385/2210/750 1384/2209/750 +f 1380/2205/751 1384/2209/751 1383/2208/751 1381/2206/751 +f 1378/2203/752 1377/2202/752 1381/2206/752 1383/2208/752 +f 1386/2211/637 1187/2212/637 1387/2213/637 1388/2214/637 +f 1191/2075/629 1327/2072/629 1386/2215/629 1389/2216/629 1390/2217/629 1391/2218/629 +f 1184/1893/629 1191/1902/629 1391/2219/629 1186/1895/629 +f 1327/2220/629 1185/2221/629 1187/2212/629 1386/2211/629 +f 1392/2222/753 1393/2223/754 1394/2224/754 1395/2225/754 +f 1391/2218/616 1390/2217/616 1393/2223/616 1392/2222/755 +f 1187/1896/693 1186/1895/693 1396/2226/756 1397/2227/693 1398/2228/693 1387/2229/693 +f 1399/2230/757 1400/2231/757 1401/2232/757 1402/2233/757 +f 1387/2229/758 1398/2228/758 1403/2234/758 1404/2235/758 1405/2236/758 1406/2237/758 1407/2238/758 1408/2239/758 1400/2231/758 1399/2230/758 +f 1388/2214/759 1387/2213/759 1399/2240/759 1402/2241/759 +f 1408/2239/760 1410/2242/760 1411/2243/760 1412/2244/760 +f 1410/2242/757 1408/2239/757 1407/2238/757 1413/2245/757 +f 1414/2246/761 1413/2247/761 1415/2248/761 1416/2249/761 +f 1414/2250/757 1406/2237/757 1405/2236/757 1417/2251/757 +f 1418/2252/762 1417/2253/762 1419/2254/762 1420/2255/762 +f 1418/2256/757 1404/2235/757 1403/2234/757 1421/2257/757 +f 1415/2258/763 1422/2259/763 1423/2260/763 1416/2261/763 +f 1413/2245/764 1407/2238/764 1422/2259/764 1415/2258/764 +f 1406/2237/765 1414/2250/765 1416/2261/765 1423/2260/765 +f 1407/2238/766 1406/2237/766 1423/2260/766 1422/2259/766 +f 1419/2262/767 1424/2263/767 1425/2264/767 1420/2265/767 +f 1417/2251/768 1405/2236/768 1424/2263/768 1419/2262/768 +f 1404/2235/769 1418/2256/769 1420/2265/769 1425/2264/769 +f 1405/2236/770 1404/2235/770 1425/2264/770 1424/2263/770 +f 1426/2266/763 1427/2267/763 1412/2244/763 1411/2243/763 +f 1400/2231/771 1408/2239/771 1412/2244/771 1427/2267/771 +f 1410/2268/772 1401/2269/772 1426/2270/772 1411/2271/772 +f 1401/2232/773 1400/2231/773 1427/2267/773 1426/2266/773 +f 1394/2224/774 1393/2223/774 1428/2272/774 1429/2273/774 +f 1421/2274/775 1430/2275/775 1388/2276/775 1402/2277/775 1401/2269/775 1410/2268/775 1413/2247/775 1414/2246/775 1417/2253/775 1418/2252/775 +f 1430/2275/616 1389/2216/616 1386/2215/616 1388/2276/616 +f 1421/2257/776 1403/2234/776 1431/2278/776 1432/2279/776 +f 1433/2280/777 1394/2281/777 1429/2282/777 1434/2283/777 +f 1394/2281/757 1433/2280/757 1409/2284/757 1395/2285/757 +f 1433/2280/778 1397/2227/778 1396/2226/779 1409/2284/778 +f 1389/2216/780 1430/2275/780 1435/2286/780 1436/2287/780 +f 1432/2279/781 1431/2278/781 1434/2283/781 1429/2282/781 +f 1429/2273/782 1428/2272/782 1435/2286/782 1432/2288/782 +f 1428/2272/616 1437/2289/616 1436/2287/616 1435/2286/616 +f 1431/2278/783 1438/2290/783 1439/2291/783 1434/2283/783 +f 1403/2234/784 1398/2228/784 1438/2290/784 1431/2278/784 +f 1398/2228/785 1397/2227/785 1439/2291/785 1438/2290/785 +f 1430/2275/786 1421/2274/786 1432/2288/786 1435/2286/786 +f 1393/2223/787 1390/2217/787 1437/2289/787 1428/2272/787 +f 1390/2217/788 1389/2216/788 1436/2287/788 1437/2289/788 +f 1397/2227/789 1433/2280/789 1434/2283/789 1439/2291/789 +f 1145/2292/629 1216/2170/629 1440/2293/629 1146/2294/629 +f 1141/2295/677 1441/2296/677 1157/2297/677 1142/2298/677 +f 1441/2296/790 1150/1856/790 1149/1855/790 1157/2297/790 +f 1141/2295/791 1211/2299/791 1210/2300/791 1441/2296/791 +f 1327/2301/629 1185/2302/629 1184/2303/629 1191/2304/629 +f 1182/1891/693 1181/2305/693 1180/2191/693 1183/1892/693 +f 1181/2305/614 1442/2306/614 1443/2307/614 1180/2191/614 +f 1456/2308/792 1469/2309/793 1453/2310/793 1452/2311/794 1449/2312/793 1443/2307/793 +f 1144/2313/795 1212/2314/795 1211/2299/795 1141/2295/795 +f 1444/2315/796 1445/2316/796 1245/2317/796 1160/2318/796 +f 1239/1972/797 1240/1973/797 1445/2316/797 1444/2315/797 +f 1440/2293/798 1444/2315/798 1160/2318/798 1146/2294/798 +f 1445/2316/799 1249/2319/799 1243/2320/799 1245/2317/799 +f 1154/1860/800 1248/1984/800 1242/2190/800 1167/2321/800 +f 1170/2322/666 1257/2323/666 1255/1992/666 1176/1885/666 +f 1281/2021/801 1283/2023/801 1278/2146/801 1273/2145/801 +f 1308/2092/790 1328/2091/790 1289/2040/790 1299/2039/790 +f 1304/2045/693 1302/2324/693 1301/2325/693 1305/2046/693 +f 1337/2111/666 1314/2110/666 1313/2098/666 1331/2097/666 +f 1363/2181/666 1309/2059/666 1312/2062/666 1320/2326/666 +f 1221/1954/802 1220/1953/802 1334/2103/802 1333/2102/802 +f 1278/2018/790 1283/2023/790 1336/2109/790 1279/2019/790 +f 1221/1954/803 1333/2102/803 1363/2181/803 1320/2326/803 +f 1155/1943/804 1215/2117/804 1197/2116/804 1208/1944/804 +f 1445/2327/805 1240/1973/805 1351/2141/805 1249/1985/805 +f 1258/1995/806 1346/2132/806 1352/2144/806 1271/2010/806 +f 1333/2102/807 1332/2100/807 1337/2111/807 1363/2181/807 +f 1144/1850/808 1360/2173/808 1213/2172/808 1212/2328/808 +f 1150/1856/809 1441/2329/809 1210/2330/809 1215/2176/809 +f 1216/2170/628 1360/2173/628 1370/2188/628 1440/2293/628 +f 1370/2188/810 1239/1972/810 1444/2315/810 1440/2293/810 +f 1184/1893/811 1183/1892/811 1217/2193/811 1192/1903/811 +f 1373/2198/812 1372/2197/812 1382/2207/812 1380/2205/812 +f 1355/2165/813 1354/2164/813 1378/2203/813 1383/2208/813 +f 1446/2331/637 1447/2332/637 1448/2333/637 1442/2334/637 +f 1179/1920/614 1449/2335/614 1450/2336/614 1451/2337/614 1446/2338/614 1178/2339/614 +f 1180/2191/614 1443/2307/614 1449/2312/614 1179/2083/614 +f 1178/2340/614 1446/2331/614 1442/2334/614 1181/2341/614 +f 1452/2342/814 1453/2343/815 1454/2344/815 1455/2345/815 +f 1392/2346/816 1395/2285/817 1409/2284/817 1396/2226/818 1186/1895/817 1391/2219/817 +f 1449/2335/790 1452/2342/819 1455/2345/790 1450/2336/790 +f 1442/2306/628 1448/2347/628 1457/2348/628 1458/2349/628 1456/2308/820 1443/2307/628 +f 1459/2350/821 1460/2351/821 1461/2352/821 1462/2353/821 +f 1448/2347/822 1459/2350/822 1462/2353/822 1463/2354/822 1464/2355/822 1465/2356/822 1466/2357/822 1467/2358/822 1468/2359/822 1457/2348/822 +f 1447/2332/823 1460/2360/823 1459/2361/823 1448/2333/823 +f 1463/2354/824 1470/2362/824 1471/2363/824 1472/2364/824 +f 1472/2364/821 1473/2365/821 1464/2355/821 1463/2354/821 +f 1474/2366/825 1475/2367/825 1476/2368/825 1473/2369/825 +f 1474/2370/821 1477/2371/821 1466/2357/821 1465/2356/821 +f 1478/2372/826 1479/2373/826 1480/2374/826 1477/2375/826 +f 1478/2376/821 1481/2377/821 1468/2359/821 1467/2358/821 +f 1476/2378/827 1475/2379/827 1482/2380/827 1483/2381/827 +f 1473/2365/828 1476/2378/828 1483/2381/828 1464/2355/828 +f 1465/2356/829 1482/2380/829 1475/2379/829 1474/2370/829 +f 1464/2355/830 1483/2381/830 1482/2380/830 1465/2356/830 +f 1480/2382/831 1479/2383/831 1484/2384/831 1485/2385/831 +f 1477/2371/832 1480/2382/832 1485/2385/832 1466/2357/832 +f 1467/2358/833 1484/2384/833 1479/2383/833 1478/2376/833 +f 1466/2357/834 1485/2385/834 1484/2384/834 1467/2358/834 +f 1486/2386/827 1471/2363/827 1470/2362/827 1487/2387/827 +f 1462/2353/835 1487/2387/835 1470/2362/835 1463/2354/835 +f 1472/2388/836 1471/2389/836 1486/2390/836 1461/2391/836 +f 1461/2352/837 1486/2386/837 1487/2387/837 1462/2353/837 +f 1454/2344/838 1488/2392/838 1489/2393/838 1455/2345/838 +f 1481/2394/839 1478/2372/839 1477/2375/839 1474/2366/839 1473/2369/839 1472/2388/839 1461/2391/839 1460/2395/839 1447/2396/839 1490/2397/839 +f 1490/2397/790 1447/2396/790 1446/2338/790 1451/2337/790 +f 1481/2377/840 1491/2398/840 1492/2399/840 1468/2359/840 +f 1493/2400/841 1494/2401/841 1488/2402/841 1454/2403/841 +f 1454/2403/821 1453/2310/821 1469/2309/821 1493/2400/821 +f 1493/2400/842 1469/2309/842 1456/2308/843 1458/2349/842 +f 1451/2337/844 1495/2404/844 1496/2405/844 1490/2397/844 +f 1491/2398/821 1488/2402/821 1494/2401/821 1492/2399/821 +f 1488/2392/845 1491/2406/845 1496/2405/845 1489/2393/845 +f 1489/2393/790 1496/2405/790 1495/2404/790 1497/2407/790 +f 1492/2399/846 1494/2401/846 1498/2408/846 1499/2409/846 +f 1468/2359/847 1492/2399/847 1499/2409/847 1457/2348/847 +f 1457/2348/848 1499/2409/848 1498/2408/848 1458/2349/848 +f 1490/2397/849 1496/2405/849 1491/2406/849 1481/2394/849 +f 1455/2345/850 1489/2393/850 1497/2407/850 1450/2336/850 +f 1450/2336/851 1497/2407/851 1495/2404/851 1451/2337/851 +f 1458/2349/852 1498/2408/852 1494/2401/852 1493/2400/852 +f 1318/2410/637 1500/2411/637 1501/2412/637 1502/2413/637 1503/2414/637 1504/2415/637 1505/2416/637 1506/2417/637 +f 1181/2305/853 1182/1891/853 1502/2418/853 1501/2419/853 +f 1314/2110/854 1228/2099/854 1227/2420/854 1315/2069/854 1313/2098/854 +f 1221/2421/855 1320/2422/855 1312/2423/855 1317/2078/855 1218/2077/855 +f 1182/1891/856 1185/1894/856 1503/2424/856 1502/2418/856 +f 1315/2069/857 1227/1959/857 1219/1952/857 1506/2080/857 1505/2070/857 +f 1178/1887/858 1181/1890/858 1501/2425/858 1500/2426/858 +f 1185/2221/859 1327/2220/859 1504/2415/859 1503/2414/859 +f 1325/2063/860 1178/2084/860 1500/2427/860 1318/2428/860 1317/2064/860 +f 1194/1912/677 1206/1921/677 1229/2121/677 1195/2118/677 1196/2429/677 +f 1304/2430/666 1336/2431/666 1296/2432/666 1302/2433/666 +f 1336/2431/666 1304/2430/666 1307/2434/666 1279/2435/666 +f 1279/2435/666 1307/2434/666 1292/2436/666 1280/2437/666 +f 1280/2437/666 1292/2436/666 1293/2086/666 1291/2089/666 +f 1303/2438/666 1295/2439/666 1294/2195/666 1328/2194/666 +f 1295/2440/666 1303/2441/666 1302/2442/666 1296/2443/666 +f 1322/2085/615 1321/2094/615 1313/2098/615 1315/2069/615 1323/2073/615 diff --git a/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj b/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj new file mode 100644 index 000000000..64c8e3755 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj @@ -0,0 +1,3733 @@ +# Blender v2.79 (sub 0) OBJ File: 'cryo_cannon.blend' +# www.blender.org +o Plane +v -0.500000 0.000000 0.125000 +v 0.500000 0.000000 0.125000 +v -0.500000 0.000000 -0.375000 +v 0.500000 0.000000 -0.375000 +v -0.500000 2.500000 0.125000 +v 0.500000 2.500000 0.125000 +v -0.500000 2.500000 -0.375000 +v 0.500000 2.500000 -0.375000 +v -1.250000 1.750000 0.125000 +v -1.250000 0.750000 0.125000 +v -1.250000 1.750000 -0.375000 +v -1.250000 0.750000 -0.375000 +v 1.250000 1.750000 0.125000 +v 1.250000 0.750000 0.125000 +v 1.250000 1.750000 -0.375000 +v 1.250000 0.750000 -0.375000 +v -0.000000 2.375000 0.125000 +v -0.430519 2.289364 0.125000 +v -0.795495 2.045495 0.125000 +v -1.039364 1.680519 0.125000 +v -1.125000 1.250000 0.125000 +v -1.039364 0.819481 0.125000 +v -0.795495 0.454505 0.125000 +v -0.430519 0.210636 0.125000 +v -0.000000 0.125000 0.125000 +v 0.430519 0.210635 0.125000 +v 0.795495 0.454505 0.125000 +v 1.039364 0.819481 0.125000 +v 1.125000 1.250000 0.125000 +v 1.039364 1.680519 0.125000 +v 0.795495 2.045496 0.125000 +v 0.430518 2.289365 0.125000 +v -0.000000 2.250000 -0.125000 +v -0.382683 2.173880 -0.125000 +v -0.707107 1.957107 -0.125000 +v -0.923880 1.632683 -0.125000 +v -1.000000 1.250000 -0.125000 +v -0.923880 0.867316 -0.125000 +v -0.707107 0.542893 -0.125000 +v -0.382684 0.326120 -0.125000 +v -0.000000 0.250000 -0.125000 +v 0.382683 0.326120 -0.125000 +v 0.707106 0.542893 -0.125000 +v 0.923879 0.867316 -0.125000 +v 1.000000 1.250000 -0.125000 +v 0.923879 1.632684 -0.125000 +v 0.707106 1.957107 -0.125000 +v 0.382683 2.173880 -0.125000 +v -0.500000 0.000000 -0.625000 +v 0.500000 0.000000 -0.625000 +v -0.500000 2.500000 -0.625000 +v 0.500000 2.500000 -0.625000 +v -1.250000 1.750000 -0.625000 +v -1.250000 0.750000 -0.625000 +v 1.250000 1.750000 -0.625000 +v 1.250000 0.750000 -0.625000 +v -0.500000 0.000000 -1.625000 +v 0.500000 0.000000 -1.625000 +v -1.000000 0.500000 -2.125000 +v 1.000000 0.500000 -2.125000 +v -1.000000 0.500000 -2.625000 +v 1.250000 1.625000 -3.750000 +v 1.000000 0.500000 -3.750000 +v -1.250000 0.751000 -2.625000 +v -0.500000 2.500000 -2.625000 +v 0.500000 2.500000 -2.625000 +v -1.250000 1.750000 -3.000000 +v 1.250000 1.750000 -3.000000 +v 1.250000 0.750000 -3.750000 +v -1.250000 1.376000 -2.625000 +v 1.250000 1.750000 -3.375000 +v -1.250000 1.750000 -3.375000 +v -1.250000 1.625000 -3.750000 +v -1.250000 0.750000 -3.750000 +v -1.250000 1.376000 -3.625000 +v -1.250000 0.751000 -3.625000 +v -1.000000 0.500000 -3.750000 +v -1.000000 0.501000 -3.625000 +v -1.312500 1.376000 -2.625000 +v -1.312500 1.376000 -3.625000 +v -1.312500 0.251000 -2.625000 +v -1.312500 0.251000 -3.625000 +v -1.312500 0.751000 -2.750000 +v -1.312500 0.751000 -3.500000 +v -1.312500 0.876000 -2.750000 +v -1.312500 0.876000 -3.500000 +v -1.312500 1.251000 -2.750000 +v -1.312500 1.251000 -3.500000 +v -1.312500 0.376000 -2.750000 +v -1.312500 0.376000 -3.500000 +v -1.312500 0.501000 -2.750000 +v -1.312500 0.501000 -3.500000 +v -1.312500 0.626000 -2.750000 +v -1.312500 0.626000 -3.500000 +v -1.312500 1.001000 -2.750000 +v -1.312500 1.001000 -3.500000 +v -1.312500 1.126000 -2.750000 +v -1.312500 1.126000 -3.500000 +v -1.187500 0.751000 -2.750000 +v -1.187500 0.751000 -3.500000 +v -1.187500 0.876000 -2.750000 +v -1.187500 0.876000 -3.500000 +v -1.187500 1.251000 -2.750000 +v -1.187500 1.251000 -3.500000 +v -1.187500 0.376000 -2.750000 +v -1.187500 0.376000 -3.500000 +v -1.187500 0.501000 -2.750000 +v -1.187500 0.501000 -3.500000 +v -1.187500 0.626000 -2.750000 +v -1.187500 0.626000 -3.500000 +v -1.187500 1.001000 -2.750000 +v -1.187500 1.001000 -3.500000 +v -1.187500 1.126000 -2.750000 +v -1.187500 1.126000 -3.500000 +v 1.000000 1.625000 -3.750000 +v 1.000000 0.750000 -3.750000 +v -1.000000 1.625000 -3.750000 +v -1.000000 0.750000 -3.750000 +v -1.000000 1.750000 -3.375000 +v 1.000000 1.750000 -3.375000 +v 1.000000 1.750000 -3.000000 +v -1.000000 1.750000 -3.000000 +v -0.500000 2.250000 -2.750000 +v 0.500000 2.250000 -2.750000 +v -0.264515 1.360485 -0.750000 +v -0.218750 1.250000 -0.750000 +v -0.264515 1.139515 -0.750000 +v -0.375000 1.093750 -0.750000 +v -0.485486 1.139515 -0.750000 +v -0.531250 1.250000 -0.750000 +v -0.485486 1.360485 -0.750000 +v -0.375000 1.406250 -0.750000 +v -0.512294 1.406250 -0.418544 +v -0.590419 1.360485 -0.496669 +v -0.622779 1.250000 -0.529029 +v -0.590419 1.139515 -0.496669 +v -0.512294 1.093750 -0.418544 +v -0.434169 1.139515 -0.340419 +v -0.401808 1.250000 -0.308058 +v -0.434169 1.360485 -0.340419 +v -0.664367 1.406250 -0.316931 +v -0.706648 1.360485 -0.419007 +v -0.724162 1.250000 -0.461288 +v -0.706648 1.139515 -0.419007 +v -0.664367 1.093750 -0.316931 +v -0.622086 1.139515 -0.214856 +v -0.604573 1.250000 -0.172575 +v -0.622086 1.360485 -0.214856 +v -0.843750 1.406250 -0.281250 +v -0.843750 1.360485 -0.391735 +v -0.843750 1.250000 -0.437500 +v -0.843750 1.139515 -0.391735 +v -0.843750 1.093750 -0.281250 +v -0.843750 1.139515 -0.170765 +v -0.843750 1.250000 -0.125000 +v -0.843750 1.360485 -0.170765 +v -1.023133 1.406250 -0.316932 +v -0.980852 1.360485 -0.419007 +v -0.963339 1.250000 -0.461288 +v -0.980852 1.139515 -0.419007 +v -1.023133 1.093750 -0.316932 +v -1.065414 1.139515 -0.214856 +v -1.082927 1.250000 -0.172575 +v -1.065414 1.360485 -0.214856 +v -0.000000 2.250000 -0.500000 +v -0.382683 2.173880 -0.500000 +v -0.707107 1.957107 -0.500000 +v -0.923880 1.632683 -0.500000 +v -1.000000 1.250000 -0.500000 +v -0.923880 0.867316 -0.500000 +v -0.707107 0.542893 -0.500000 +v -0.382684 0.326120 -0.500000 +v -0.000000 0.250000 -0.500000 +v 0.382683 0.326120 -0.500000 +v 0.707106 0.542893 -0.500000 +v 0.923879 0.867316 -0.500000 +v 1.000000 1.250000 -0.500000 +v 0.923879 1.632684 -0.500000 +v 0.707106 1.957107 -0.500000 +v 0.382683 2.173880 -0.500000 +v 0.264515 1.139515 -0.750000 +v 0.218750 1.250000 -0.750000 +v 0.264515 1.360485 -0.750000 +v 0.375000 1.406250 -0.750000 +v 0.485485 1.360485 -0.750000 +v 0.531250 1.250000 -0.750000 +v 0.485485 1.139515 -0.750000 +v 0.375000 1.093750 -0.750000 +v 0.512294 1.093750 -0.418544 +v 0.590419 1.139515 -0.496669 +v 0.622779 1.250000 -0.529029 +v 0.590419 1.360485 -0.496669 +v 0.512294 1.406250 -0.418544 +v 0.434169 1.360485 -0.340419 +v 0.401808 1.250000 -0.308058 +v 0.434169 1.139515 -0.340419 +v 0.664367 1.093750 -0.316931 +v 0.706648 1.139514 -0.419007 +v 0.724161 1.250000 -0.461288 +v 0.706648 1.360485 -0.419007 +v 0.664367 1.406250 -0.316931 +v 0.622086 1.360485 -0.214856 +v 0.604573 1.250000 -0.172575 +v 0.622086 1.139515 -0.214856 +v 0.843750 1.093750 -0.281250 +v 0.843750 1.139514 -0.391735 +v 0.843750 1.250000 -0.437500 +v 0.843750 1.360485 -0.391735 +v 0.843750 1.406250 -0.281250 +v 0.843750 1.360485 -0.170765 +v 0.843750 1.250000 -0.125000 +v 0.843750 1.139514 -0.170765 +v 1.023133 1.093750 -0.316932 +v 0.980852 1.139514 -0.419007 +v 0.963338 1.250000 -0.461288 +v 0.980852 1.360485 -0.419007 +v 1.023133 1.406250 -0.316932 +v 1.065414 1.360485 -0.214856 +v 1.082927 1.250000 -0.172575 +v 1.065414 1.139514 -0.214856 +v 0.110485 1.514515 -0.750000 +v -0.000000 1.468750 -0.750000 +v -0.110486 1.514515 -0.750000 +v -0.156250 1.625000 -0.750000 +v -0.110485 1.735486 -0.750000 +v -0.000000 1.781250 -0.750000 +v 0.110485 1.735486 -0.750000 +v 0.156250 1.625000 -0.750000 +v 0.156250 1.762294 -0.418544 +v 0.110485 1.840419 -0.496669 +v -0.000000 1.872779 -0.529029 +v -0.110485 1.840419 -0.496669 +v -0.156250 1.762294 -0.418544 +v -0.110485 1.684169 -0.340419 +v -0.000000 1.651808 -0.308058 +v 0.110485 1.684169 -0.340419 +v 0.156250 1.914367 -0.316931 +v 0.110485 1.956648 -0.419007 +v -0.000000 1.974162 -0.461288 +v -0.110485 1.956648 -0.419007 +v -0.156250 1.914367 -0.316931 +v -0.110485 1.872086 -0.214856 +v -0.000000 1.854573 -0.172575 +v 0.110485 1.872086 -0.214856 +v 0.156250 2.093750 -0.281250 +v 0.110485 2.093750 -0.391735 +v -0.000000 2.093750 -0.437500 +v -0.110485 2.093750 -0.391735 +v -0.156250 2.093750 -0.281250 +v -0.110485 2.093750 -0.170765 +v -0.000000 2.093750 -0.125000 +v 0.110485 2.093750 -0.170765 +v 0.156250 2.273133 -0.316932 +v 0.110485 2.230852 -0.419007 +v -0.000000 2.213339 -0.461288 +v -0.110485 2.230852 -0.419007 +v -0.156250 2.273133 -0.316932 +v -0.110485 2.315414 -0.214856 +v 0.000000 2.332927 -0.172575 +v 0.110485 2.315414 -0.214856 +v -0.110486 0.985485 -0.750000 +v -0.000000 1.031250 -0.750000 +v 0.110485 0.985485 -0.750000 +v 0.156250 0.875000 -0.750000 +v 0.110485 0.764515 -0.750000 +v -0.000000 0.718750 -0.750000 +v -0.110486 0.764515 -0.750000 +v -0.156250 0.875000 -0.750000 +v -0.156250 0.737706 -0.418544 +v -0.110486 0.659581 -0.496669 +v -0.000000 0.627221 -0.529029 +v 0.110485 0.659581 -0.496669 +v 0.156250 0.737706 -0.418544 +v 0.110485 0.815831 -0.340419 +v -0.000000 0.848192 -0.308058 +v -0.110486 0.815831 -0.340419 +v -0.156250 0.585633 -0.316931 +v -0.110486 0.543352 -0.419007 +v -0.000000 0.525838 -0.461288 +v 0.110485 0.543352 -0.419007 +v 0.156250 0.585633 -0.316931 +v 0.110485 0.627914 -0.214856 +v -0.000000 0.645427 -0.172575 +v -0.110486 0.627914 -0.214856 +v -0.156250 0.406250 -0.281250 +v -0.110486 0.406250 -0.391735 +v -0.000000 0.406250 -0.437500 +v 0.110485 0.406250 -0.391735 +v 0.156250 0.406250 -0.281250 +v 0.110485 0.406250 -0.170765 +v -0.000000 0.406250 -0.125000 +v -0.110486 0.406250 -0.170765 +v -0.156250 0.226867 -0.316932 +v -0.110486 0.269148 -0.419007 +v -0.000000 0.286661 -0.461288 +v 0.110485 0.269148 -0.419007 +v 0.156250 0.226867 -0.316932 +v 0.110485 0.184586 -0.214856 +v -0.000000 0.167073 -0.172575 +v -0.110486 0.184586 -0.214856 +v -0.108915 1.515165 -0.750000 +v -0.154680 1.404680 -0.750000 +v -0.265165 1.358915 -0.750000 +v -0.375651 1.404680 -0.750000 +v -0.421415 1.515165 -0.750000 +v -0.375651 1.625650 -0.750000 +v -0.265165 1.671415 -0.750000 +v -0.154680 1.625651 -0.750000 +v -0.251761 1.722732 -0.418544 +v -0.339364 1.745614 -0.496669 +v -0.440371 1.690371 -0.529029 +v -0.495614 1.589364 -0.496669 +v -0.472732 1.501761 -0.418544 +v -0.385129 1.478879 -0.340419 +v -0.284121 1.534121 -0.308058 +v -0.228879 1.635129 -0.340419 +v -0.359293 1.830264 -0.316931 +v -0.421551 1.827801 -0.419007 +v -0.512060 1.762059 -0.461288 +v -0.577801 1.671551 -0.419007 +v -0.580264 1.609293 -0.316931 +v -0.518007 1.611756 -0.214856 +v -0.427498 1.677498 -0.172575 +v -0.361757 1.768006 -0.214856 +v -0.486136 1.957107 -0.281250 +v -0.518496 1.924746 -0.391735 +v -0.596621 1.846621 -0.437500 +v -0.674746 1.768496 -0.391735 +v -0.707107 1.736136 -0.281250 +v -0.674747 1.768496 -0.170765 +v -0.596622 1.846621 -0.125000 +v -0.518497 1.924746 -0.170765 +v -0.612979 2.083950 -0.316932 +v -0.615442 2.021692 -0.419007 +v -0.681183 1.931183 -0.461288 +v -0.771692 1.865442 -0.419007 +v -0.833950 1.862979 -0.316932 +v -0.831486 1.925236 -0.214856 +v -0.765745 2.015745 -0.172575 +v -0.675236 2.081486 -0.214856 +v 0.108915 0.984835 -0.750000 +v 0.154680 1.095320 -0.750000 +v 0.265165 1.141085 -0.750000 +v 0.375650 1.095320 -0.750000 +v 0.421415 0.984835 -0.750000 +v 0.375650 0.874350 -0.750000 +v 0.265165 0.828585 -0.750000 +v 0.154680 0.874349 -0.750000 +v 0.251761 0.777268 -0.418544 +v 0.339364 0.754386 -0.496669 +v 0.440371 0.809629 -0.529029 +v 0.495614 0.910636 -0.496669 +v 0.472732 0.998239 -0.418544 +v 0.385129 1.021121 -0.340419 +v 0.284121 0.965879 -0.308058 +v 0.228879 0.864871 -0.340419 +v 0.359293 0.669736 -0.316931 +v 0.421550 0.672199 -0.419007 +v 0.512059 0.737940 -0.461288 +v 0.577801 0.828449 -0.419007 +v 0.580264 0.890707 -0.316931 +v 0.518006 0.888244 -0.214856 +v 0.427498 0.822502 -0.172575 +v 0.361756 0.731994 -0.214856 +v 0.486136 0.542893 -0.281250 +v 0.518496 0.575254 -0.391735 +v 0.596621 0.653379 -0.437500 +v 0.674746 0.731504 -0.391735 +v 0.707107 0.763864 -0.281250 +v 0.674746 0.731504 -0.170765 +v 0.596621 0.653379 -0.125000 +v 0.518496 0.575254 -0.170765 +v 0.612979 0.416050 -0.316932 +v 0.615442 0.478308 -0.419007 +v 0.681183 0.568817 -0.461288 +v 0.771692 0.634558 -0.419007 +v 0.833949 0.637021 -0.316932 +v 0.831486 0.574764 -0.214856 +v 0.765745 0.484255 -0.172575 +v 0.675236 0.418514 -0.214856 +v 0.265165 1.358915 -0.750000 +v 0.154680 1.404680 -0.750000 +v 0.108915 1.515165 -0.750000 +v 0.154680 1.625650 -0.750000 +v 0.265165 1.671415 -0.750000 +v 0.375650 1.625650 -0.750000 +v 0.421415 1.515165 -0.750000 +v 0.375650 1.404680 -0.750000 +v 0.472732 1.501761 -0.418544 +v 0.495614 1.589364 -0.496669 +v 0.440371 1.690371 -0.529029 +v 0.339364 1.745614 -0.496669 +v 0.251761 1.722732 -0.418544 +v 0.228879 1.635129 -0.340419 +v 0.284121 1.534121 -0.308058 +v 0.385129 1.478879 -0.340419 +v 0.580264 1.609293 -0.316931 +v 0.577801 1.671551 -0.419007 +v 0.512059 1.762059 -0.461288 +v 0.421551 1.827801 -0.419007 +v 0.359293 1.830264 -0.316931 +v 0.361756 1.768006 -0.214856 +v 0.427498 1.677498 -0.172575 +v 0.518006 1.611756 -0.214856 +v 0.707107 1.736136 -0.281250 +v 0.674746 1.768496 -0.391735 +v 0.596621 1.846621 -0.437500 +v 0.518496 1.924746 -0.391735 +v 0.486136 1.957107 -0.281250 +v 0.518496 1.924746 -0.170765 +v 0.596621 1.846621 -0.125000 +v 0.674746 1.768496 -0.170765 +v 0.833950 1.862979 -0.316932 +v 0.771692 1.865442 -0.419007 +v 0.681183 1.931183 -0.461288 +v 0.615442 2.021692 -0.419007 +v 0.612979 2.083950 -0.316932 +v 0.675236 2.081486 -0.214856 +v 0.765745 2.015745 -0.172575 +v 0.831486 1.925236 -0.214856 +v -0.265165 1.141085 -0.750000 +v -0.154680 1.095320 -0.750000 +v -0.108915 0.984835 -0.750000 +v -0.154680 0.874350 -0.750000 +v -0.265165 0.828585 -0.750000 +v -0.375651 0.874350 -0.750000 +v -0.421415 0.984835 -0.750000 +v -0.375651 1.095320 -0.750000 +v -0.472732 0.998239 -0.418544 +v -0.495614 0.910636 -0.496669 +v -0.440371 0.809629 -0.529029 +v -0.339364 0.754386 -0.496669 +v -0.251761 0.777268 -0.418544 +v -0.228879 0.864871 -0.340419 +v -0.284121 0.965879 -0.308058 +v -0.385129 1.021121 -0.340419 +v -0.580264 0.890707 -0.316931 +v -0.577801 0.828449 -0.419007 +v -0.512060 0.737941 -0.461288 +v -0.421551 0.672199 -0.419007 +v -0.359293 0.669736 -0.316931 +v -0.361757 0.731994 -0.214856 +v -0.427498 0.822502 -0.172575 +v -0.518007 0.888244 -0.214856 +v -0.707107 0.763864 -0.281250 +v -0.674747 0.731504 -0.391735 +v -0.596622 0.653379 -0.437500 +v -0.518497 0.575254 -0.391735 +v -0.486136 0.542893 -0.281250 +v -0.518497 0.575254 -0.170765 +v -0.596622 0.653379 -0.125000 +v -0.674747 0.731504 -0.170765 +v -0.833950 0.637021 -0.316932 +v -0.771692 0.634558 -0.419007 +v -0.681183 0.568817 -0.461288 +v -0.615442 0.478308 -0.419007 +v -0.612979 0.416050 -0.316932 +v -0.675237 0.418514 -0.214856 +v -0.765745 0.484255 -0.172575 +v -0.831487 0.574764 -0.214856 +v -0.811434 1.466518 -0.082211 +v -0.807472 1.584466 -0.062870 +v -0.726872 1.670669 -0.082211 +v -0.616847 1.674630 -0.128904 +v -0.541848 1.594030 -0.175597 +v -0.545810 1.476082 -0.194938 +v -0.626410 1.389879 -0.175597 +v -0.736435 1.385918 -0.128904 +v -0.882853 1.446566 -0.468769 +v -0.772828 1.450527 -0.515462 +v -0.692228 1.536730 -0.534803 +v -0.688267 1.654678 -0.515462 +v -0.763265 1.735278 -0.468769 +v -0.873290 1.731317 -0.422076 +v -0.953890 1.645114 -0.402735 +v -0.957852 1.527167 -0.422076 +v -0.721487 1.422007 -0.128904 +v -0.777735 1.482457 -0.093884 +v -0.774764 1.570918 -0.079378 +v -0.714314 1.635570 -0.093884 +v -0.631795 1.638541 -0.128904 +v -0.575547 1.578091 -0.163924 +v -0.578518 1.489630 -0.178429 +v -0.638968 1.424978 -0.163924 +v -0.744037 1.498396 -0.105557 +v -0.742056 1.557370 -0.095887 +v -0.701756 1.600471 -0.105557 +v -0.646744 1.602452 -0.128904 +v -0.609245 1.562152 -0.152250 +v -0.611225 1.503178 -0.161921 +v -0.651526 1.460076 -0.152250 +v -0.706538 1.458096 -0.128904 +v -0.697084 1.411899 -0.072260 +v -0.753332 1.472349 -0.037240 +v -0.750361 1.560810 -0.022734 +v -0.689911 1.625462 -0.037240 +v -0.607392 1.628433 -0.072260 +v -0.551144 1.567983 -0.107280 +v -0.554115 1.479522 -0.121785 +v -0.614565 1.414870 -0.107280 +v -0.682135 1.447988 -0.072260 +v -0.719634 1.488288 -0.048913 +v -0.717654 1.547262 -0.039243 +v -0.677353 1.590363 -0.048913 +v -0.622341 1.592344 -0.072260 +v -0.584842 1.552044 -0.095606 +v -0.586822 1.493070 -0.105277 +v -0.627123 1.449968 -0.095606 +v 0.811433 1.033482 -0.082211 +v 0.807472 0.915534 -0.062870 +v 0.726871 0.829331 -0.082211 +v 0.616846 0.825370 -0.128904 +v 0.541848 0.905970 -0.175597 +v 0.545810 1.023918 -0.194938 +v 0.626410 1.110121 -0.175597 +v 0.736435 1.114082 -0.128904 +v 0.882853 1.053434 -0.468769 +v 0.772828 1.049472 -0.515462 +v 0.692228 0.963270 -0.534803 +v 0.688266 0.845322 -0.515462 +v 0.763264 0.764722 -0.468769 +v 0.873289 0.768683 -0.422076 +v 0.953890 0.854886 -0.402735 +v 0.957851 0.972833 -0.422076 +v 0.721486 1.077993 -0.128904 +v 0.777735 1.017543 -0.093884 +v 0.774764 0.929082 -0.079378 +v 0.714314 0.864430 -0.093884 +v 0.631795 0.861459 -0.128904 +v 0.575546 0.921909 -0.163924 +v 0.578517 1.010370 -0.178429 +v 0.638968 1.075022 -0.163924 +v 0.744037 1.001604 -0.105557 +v 0.742056 0.942630 -0.095887 +v 0.701756 0.899529 -0.105557 +v 0.646743 0.897548 -0.128904 +v 0.609244 0.937848 -0.152250 +v 0.611225 0.996822 -0.161921 +v 0.651525 1.039924 -0.152250 +v 0.706538 1.041904 -0.128904 +v 0.697083 1.088101 -0.072260 +v 0.753332 1.027651 -0.037240 +v 0.750361 0.939190 -0.022734 +v 0.689911 0.874538 -0.037240 +v 0.607392 0.871567 -0.072260 +v 0.551143 0.932017 -0.107280 +v 0.554115 1.020478 -0.121785 +v 0.614565 1.085130 -0.107280 +v 0.682135 1.052012 -0.072260 +v 0.719634 1.011712 -0.048913 +v 0.717653 0.952738 -0.039243 +v 0.677353 0.909637 -0.048913 +v 0.622341 0.907656 -0.072260 +v 0.584841 0.947956 -0.095606 +v 0.586822 1.006930 -0.105277 +v 0.627122 1.050032 -0.095606 +v 0.216518 2.061433 -0.082211 +v 0.334466 2.057472 -0.062870 +v 0.420668 1.976871 -0.082211 +v 0.424630 1.866847 -0.128904 +v 0.344029 1.791848 -0.175597 +v 0.226082 1.795810 -0.194938 +v 0.139879 1.876410 -0.175597 +v 0.135918 1.986435 -0.128904 +v 0.196566 2.132853 -0.468769 +v 0.200527 2.022828 -0.515462 +v 0.286730 1.942228 -0.534803 +v 0.404678 1.938266 -0.515462 +v 0.485278 2.013265 -0.468769 +v 0.481317 2.123290 -0.422076 +v 0.395114 2.203890 -0.402735 +v 0.277167 2.207852 -0.422076 +v 0.172007 1.971487 -0.128904 +v 0.232457 2.027735 -0.093884 +v 0.320918 2.024764 -0.079378 +v 0.385570 1.964314 -0.093884 +v 0.388541 1.881795 -0.128904 +v 0.328090 1.825547 -0.163924 +v 0.239630 1.828518 -0.178429 +v 0.174978 1.888968 -0.163924 +v 0.248396 1.994037 -0.105557 +v 0.307370 1.992056 -0.095887 +v 0.350471 1.951756 -0.105557 +v 0.352452 1.896744 -0.128904 +v 0.312152 1.859245 -0.152250 +v 0.253178 1.861225 -0.161921 +v 0.210076 1.901525 -0.152250 +v 0.208096 1.956538 -0.128904 +v 0.161898 1.947083 -0.072260 +v 0.222349 2.003332 -0.037240 +v 0.310810 2.000361 -0.022734 +v 0.375462 1.939911 -0.037240 +v 0.378433 1.857392 -0.072260 +v 0.317982 1.801143 -0.107280 +v 0.229522 1.804115 -0.121785 +v 0.164870 1.864565 -0.107280 +v 0.197988 1.932135 -0.072260 +v 0.238288 1.969634 -0.048913 +v 0.297262 1.967653 -0.039243 +v 0.340363 1.927353 -0.048913 +v 0.342344 1.872341 -0.072260 +v 0.302044 1.834841 -0.095606 +v 0.243070 1.836822 -0.105277 +v 0.199968 1.877123 -0.095606 +v -0.216518 0.438567 -0.082211 +v -0.334466 0.442528 -0.062870 +v -0.420669 0.523129 -0.082211 +v -0.424630 0.633153 -0.128904 +v -0.344030 0.708152 -0.175597 +v -0.226082 0.704190 -0.194938 +v -0.139879 0.623590 -0.175597 +v -0.135918 0.513565 -0.128904 +v -0.196566 0.367147 -0.468769 +v -0.200528 0.477172 -0.515462 +v -0.286731 0.557772 -0.534803 +v -0.404678 0.561734 -0.515462 +v -0.485279 0.486735 -0.468769 +v -0.481317 0.376710 -0.422076 +v -0.395115 0.296110 -0.402735 +v -0.277167 0.292148 -0.422076 +v -0.172007 0.528513 -0.128904 +v -0.232457 0.472265 -0.093884 +v -0.320918 0.475236 -0.079378 +v -0.385570 0.535686 -0.093884 +v -0.388541 0.618205 -0.128904 +v -0.328091 0.674453 -0.163924 +v -0.239630 0.671482 -0.178429 +v -0.174978 0.611032 -0.163924 +v -0.248396 0.505963 -0.105557 +v -0.307370 0.507944 -0.095887 +v -0.350472 0.548244 -0.105557 +v -0.352452 0.603256 -0.128904 +v -0.312152 0.640755 -0.152250 +v -0.253178 0.638775 -0.161921 +v -0.210077 0.598474 -0.152250 +v -0.208096 0.543462 -0.128904 +v -0.161899 0.552916 -0.072260 +v -0.222349 0.496668 -0.037240 +v -0.310810 0.499639 -0.022734 +v -0.375462 0.560089 -0.037240 +v -0.378433 0.642608 -0.072260 +v -0.317983 0.698857 -0.107280 +v -0.229522 0.695885 -0.121785 +v -0.164870 0.635435 -0.107280 +v -0.197988 0.567865 -0.072260 +v -0.238288 0.530366 -0.048913 +v -0.297262 0.532347 -0.039243 +v -0.340364 0.572647 -0.048913 +v -0.342344 0.627659 -0.072260 +v -0.302044 0.665158 -0.095606 +v -0.243070 0.663178 -0.105277 +v -0.199969 0.622877 -0.095606 +v -0.420669 1.976871 -0.082211 +v -0.334466 2.057472 -0.062870 +v -0.216518 2.061433 -0.082211 +v -0.135918 1.986435 -0.128904 +v -0.139879 1.876410 -0.175597 +v -0.226082 1.795810 -0.194938 +v -0.344030 1.791848 -0.175597 +v -0.424630 1.866847 -0.128904 +v -0.485279 2.013265 -0.468769 +v -0.404678 1.938267 -0.515462 +v -0.286730 1.942228 -0.534803 +v -0.200527 2.022828 -0.515462 +v -0.196566 2.132853 -0.468769 +v -0.277167 2.207851 -0.422076 +v -0.395114 2.203890 -0.402735 +v -0.481317 2.123290 -0.422076 +v -0.388541 1.881795 -0.128904 +v -0.385570 1.964314 -0.093884 +v -0.320918 2.024764 -0.079378 +v -0.232457 2.027735 -0.093884 +v -0.172007 1.971487 -0.128904 +v -0.174978 1.888968 -0.163924 +v -0.239630 1.828518 -0.178429 +v -0.328091 1.825547 -0.163924 +v -0.350471 1.951756 -0.105557 +v -0.307370 1.992056 -0.095887 +v -0.248396 1.994037 -0.105557 +v -0.208096 1.956538 -0.128904 +v -0.210077 1.901525 -0.152250 +v -0.253178 1.861225 -0.161921 +v -0.312152 1.859245 -0.152250 +v -0.352452 1.896744 -0.128904 +v -0.378433 1.857392 -0.072260 +v -0.375462 1.939911 -0.037240 +v -0.310810 2.000361 -0.022734 +v -0.222349 2.003332 -0.037240 +v -0.161899 1.947084 -0.072260 +v -0.164870 1.864565 -0.107280 +v -0.229522 1.804115 -0.121785 +v -0.317983 1.801143 -0.107280 +v -0.342344 1.872341 -0.072260 +v -0.340363 1.927353 -0.048913 +v -0.297262 1.967653 -0.039243 +v -0.238288 1.969634 -0.048913 +v -0.197988 1.932135 -0.072260 +v -0.199968 1.877123 -0.095606 +v -0.243070 1.836822 -0.105277 +v -0.302044 1.834842 -0.095606 +v 0.420668 0.523128 -0.082211 +v 0.334466 0.442528 -0.062870 +v 0.216518 0.438567 -0.082211 +v 0.135917 0.513565 -0.128904 +v 0.139879 0.623590 -0.175597 +v 0.226082 0.704190 -0.194938 +v 0.344029 0.708152 -0.175597 +v 0.424630 0.633153 -0.128904 +v 0.485278 0.486735 -0.468769 +v 0.404678 0.561733 -0.515462 +v 0.286730 0.557772 -0.534803 +v 0.200527 0.477172 -0.515462 +v 0.196566 0.367147 -0.468769 +v 0.277166 0.292148 -0.422076 +v 0.395114 0.296110 -0.402735 +v 0.481317 0.376710 -0.422076 +v 0.388541 0.618205 -0.128904 +v 0.385570 0.535686 -0.093884 +v 0.320918 0.475236 -0.079378 +v 0.232457 0.472265 -0.093884 +v 0.172006 0.528513 -0.128904 +v 0.174978 0.611032 -0.163924 +v 0.239630 0.671482 -0.178429 +v 0.328090 0.674454 -0.163924 +v 0.350471 0.548244 -0.105557 +v 0.307370 0.507944 -0.095887 +v 0.248396 0.505963 -0.105557 +v 0.208095 0.543462 -0.128904 +v 0.210076 0.598475 -0.152250 +v 0.253178 0.638775 -0.161921 +v 0.312152 0.640755 -0.152250 +v 0.352452 0.603256 -0.128904 +v 0.378433 0.642608 -0.072260 +v 0.375462 0.560089 -0.037240 +v 0.310810 0.499639 -0.022734 +v 0.222349 0.496668 -0.037240 +v 0.161898 0.552916 -0.072260 +v 0.164869 0.635435 -0.107280 +v 0.229522 0.695885 -0.121785 +v 0.317982 0.698857 -0.107280 +v 0.342344 0.627659 -0.072260 +v 0.340363 0.572647 -0.048913 +v 0.297262 0.532347 -0.039243 +v 0.238288 0.530366 -0.048913 +v 0.197987 0.567865 -0.072260 +v 0.199968 0.622877 -0.095606 +v 0.243070 0.663178 -0.105277 +v 0.302043 0.665158 -0.095606 +v 0.726871 1.670668 -0.082211 +v 0.807472 1.584466 -0.062870 +v 0.811433 1.466518 -0.082211 +v 0.736435 1.385918 -0.128904 +v 0.626410 1.389879 -0.175597 +v 0.545810 1.476082 -0.194938 +v 0.541848 1.594030 -0.175597 +v 0.616847 1.674630 -0.128904 +v 0.763265 1.735278 -0.468769 +v 0.688266 1.654678 -0.515462 +v 0.692228 1.536730 -0.534803 +v 0.772828 1.450527 -0.515462 +v 0.882853 1.446566 -0.468769 +v 0.957851 1.527166 -0.422076 +v 0.953890 1.645114 -0.402735 +v 0.873290 1.731317 -0.422076 +v 0.631795 1.638541 -0.128904 +v 0.714314 1.635570 -0.093884 +v 0.774764 1.570918 -0.079378 +v 0.777735 1.482457 -0.093884 +v 0.721487 1.422007 -0.128904 +v 0.638968 1.424978 -0.163924 +v 0.578518 1.489630 -0.178429 +v 0.575546 1.578091 -0.163924 +v 0.701756 1.600471 -0.105557 +v 0.742056 1.557370 -0.095887 +v 0.744037 1.498396 -0.105557 +v 0.706538 1.458096 -0.128904 +v 0.651525 1.460076 -0.152250 +v 0.611225 1.503178 -0.161921 +v 0.609244 1.562152 -0.152250 +v 0.646744 1.602452 -0.128904 +v 0.607392 1.628433 -0.072260 +v 0.689911 1.625462 -0.037240 +v 0.750361 1.560810 -0.022734 +v 0.753332 1.472349 -0.037240 +v 0.697084 1.411899 -0.072260 +v 0.614565 1.414870 -0.107280 +v 0.554114 1.479522 -0.121785 +v 0.551143 1.567982 -0.107280 +v 0.622341 1.592344 -0.072260 +v 0.677353 1.590363 -0.048913 +v 0.717653 1.547262 -0.039243 +v 0.719634 1.488288 -0.048913 +v 0.682135 1.447988 -0.072260 +v 0.627122 1.449968 -0.095606 +v 0.586822 1.493070 -0.105277 +v 0.584842 1.552044 -0.095606 +v -0.726872 0.829332 -0.082211 +v -0.807472 0.915534 -0.062870 +v -0.811434 1.033482 -0.082211 +v -0.736435 1.114082 -0.128904 +v -0.626410 1.110121 -0.175597 +v -0.545810 1.023918 -0.194938 +v -0.541848 0.905970 -0.175597 +v -0.616847 0.825370 -0.128904 +v -0.763265 0.764722 -0.468769 +v -0.688267 0.845322 -0.515462 +v -0.692228 0.963270 -0.534803 +v -0.772828 1.049473 -0.515462 +v -0.882853 1.053434 -0.468769 +v -0.957852 0.972834 -0.422076 +v -0.953890 0.854886 -0.402735 +v -0.873290 0.768683 -0.422076 +v -0.631795 0.861459 -0.128904 +v -0.714314 0.864430 -0.093884 +v -0.774764 0.929082 -0.079378 +v -0.777735 1.017543 -0.093884 +v -0.721487 1.077993 -0.128904 +v -0.638968 1.075022 -0.163924 +v -0.578518 1.010370 -0.178429 +v -0.575547 0.921910 -0.163924 +v -0.701756 0.899529 -0.105557 +v -0.742057 0.942630 -0.095887 +v -0.744037 1.001604 -0.105557 +v -0.706538 1.041904 -0.128904 +v -0.651526 1.039924 -0.152250 +v -0.611226 0.996822 -0.161921 +v -0.609245 0.937848 -0.152250 +v -0.646744 0.897548 -0.128904 +v -0.607392 0.871567 -0.072260 +v -0.689911 0.874538 -0.037240 +v -0.750361 0.939190 -0.022734 +v -0.753332 1.027651 -0.037240 +v -0.697084 1.088101 -0.072260 +v -0.614565 1.085130 -0.107280 +v -0.554115 1.020478 -0.121785 +v -0.551144 0.932018 -0.107280 +v -0.622341 0.907656 -0.072260 +v -0.677353 0.909637 -0.048913 +v -0.717654 0.952738 -0.039243 +v -0.719634 1.011712 -0.048913 +v -0.682135 1.052012 -0.072260 +v -0.627123 1.050032 -0.095606 +v -0.586822 1.006930 -0.105277 +v -0.584842 0.947956 -0.095606 +v -1.112133 1.224587 0.109375 +v -1.037201 0.847883 0.109375 +v -1.002758 1.224587 -0.109375 +v -0.936152 0.889739 -0.109375 +v -0.982164 0.858831 0.136894 +v -1.057095 1.235535 0.136894 +v -0.881115 0.900687 -0.081856 +v -0.947720 1.235535 -0.081856 +v 1.112132 1.275412 0.109375 +v 1.037201 1.652117 0.109375 +v 1.002757 1.275412 -0.109375 +v 0.936152 1.610261 -0.109375 +v 0.982164 1.641169 0.136894 +v 1.057095 1.264465 0.136894 +v 0.881115 1.599313 -0.081856 +v 0.947720 1.264465 -0.081856 +v -0.025413 2.362133 0.109375 +v -0.402117 2.287201 0.109375 +v -0.025413 2.252758 -0.109375 +v -0.360261 2.186152 -0.109375 +v -0.391169 2.232164 0.136894 +v -0.014465 2.307095 0.136894 +v -0.349313 2.131115 -0.081856 +v -0.014465 2.197720 -0.081856 +v 0.025412 0.137868 0.109375 +v 0.402116 0.212799 0.109375 +v 0.025412 0.247242 -0.109375 +v 0.360260 0.313848 -0.109375 +v 0.391169 0.267836 0.136894 +v 0.014465 0.192905 0.136894 +v 0.349313 0.368885 -0.081856 +v 0.014465 0.302280 -0.081856 +v -0.804366 2.018427 0.109375 +v -1.017752 1.699073 0.109375 +v -0.727026 1.941087 -0.109375 +v -0.916702 1.657217 -0.109375 +v -0.971093 1.667896 0.136894 +v -0.757707 1.987251 0.136894 +v -0.870044 1.626041 -0.081856 +v -0.680368 1.909911 -0.081856 +v 0.804366 0.481573 0.109375 +v 1.017751 0.800927 0.109375 +v 0.727026 0.558913 -0.109375 +v 0.916702 0.842783 -0.109375 +v 0.971093 0.832103 0.136894 +v 0.757707 0.512749 0.136894 +v 0.870044 0.873959 -0.081856 +v 0.680367 0.590089 -0.081856 +v 0.768427 2.054366 0.109375 +v 0.449073 2.267752 0.109375 +v 0.691087 1.977026 -0.109375 +v 0.407216 2.166702 -0.109375 +v 0.417896 2.221093 0.136894 +v 0.737251 2.007707 0.136894 +v 0.376040 2.120044 -0.081856 +v 0.659911 1.930367 -0.081856 +v -0.768427 0.445634 0.109375 +v -0.449073 0.232249 0.109375 +v -0.691087 0.522974 -0.109375 +v -0.407217 0.333298 -0.109375 +v -0.417897 0.278907 0.136894 +v -0.737251 0.492293 0.136894 +v -0.376041 0.379956 -0.081856 +v -0.659911 0.569633 -0.081856 +v -1.037201 1.652117 0.109375 +v -1.112133 1.275412 0.109375 +v -0.936152 1.610261 -0.109375 +v -1.002758 1.275413 -0.109375 +v -1.057095 1.264465 0.136894 +v -0.982164 1.641169 0.136894 +v -0.947720 1.264465 -0.081856 +v -0.881115 1.599313 -0.081856 +v 1.037201 0.847883 0.109375 +v 1.112132 1.224588 0.109375 +v 0.936152 0.889739 -0.109375 +v 1.002757 1.224587 -0.109375 +v 1.057095 1.235535 0.136894 +v 0.982164 0.858831 0.136894 +v 0.947720 1.235535 -0.081856 +v 0.881115 0.900687 -0.081856 +v 0.402116 2.287201 0.109375 +v 0.025412 2.362133 0.109375 +v 0.360260 2.186152 -0.109375 +v 0.025412 2.252758 -0.109375 +v 0.014465 2.307095 0.136894 +v 0.391169 2.232164 0.136894 +v 0.014465 2.197720 -0.081856 +v 0.349313 2.131114 -0.081856 +v -0.402117 0.212799 0.109375 +v -0.025413 0.137868 0.109375 +v -0.360261 0.313848 -0.109375 +v -0.025413 0.247242 -0.109375 +v -0.014465 0.192905 0.136894 +v -0.391169 0.267836 0.136894 +v -0.014465 0.302280 -0.081856 +v -0.349313 0.368885 -0.081856 +v -0.449073 2.267751 0.109375 +v -0.768427 2.054366 0.109375 +v -0.407217 2.166702 -0.109375 +v -0.691087 1.977026 -0.109375 +v -0.737251 2.007707 0.136894 +v -0.417897 2.221093 0.136894 +v -0.659911 1.930367 -0.081856 +v -0.376041 2.120044 -0.081856 +v 0.449073 0.232249 0.109375 +v 0.768427 0.445634 0.109375 +v 0.407217 0.333298 -0.109375 +v 0.691087 0.522974 -0.109375 +v 0.737251 0.492293 0.136894 +v 0.417896 0.278907 0.136894 +v 0.659911 0.569632 -0.081856 +v 0.376040 0.379956 -0.081856 +v 1.017751 1.699073 0.109375 +v 0.804366 2.018427 0.109375 +v 0.916702 1.657217 -0.109375 +v 0.727026 1.941087 -0.109375 +v 0.757707 1.987251 0.136894 +v 0.971093 1.667897 0.136894 +v 0.680367 1.909911 -0.081856 +v 0.870043 1.626041 -0.081856 +v -1.017752 0.800927 0.109375 +v -0.804366 0.481573 0.109375 +v -0.916702 0.842783 -0.109375 +v -0.727026 0.558913 -0.109375 +v -0.757708 0.512749 0.136894 +v -0.971093 0.832104 0.136894 +v -0.680368 0.590089 -0.081856 +v -0.870044 0.873959 -0.081856 +v -0.000000 1.750000 -0.750000 +v -0.191342 1.711940 -0.750000 +v -0.353553 1.603553 -0.750000 +v -0.461940 1.441342 -0.750000 +v -0.500000 1.250000 -0.750000 +v -0.461940 1.058658 -0.750000 +v -0.353553 0.896447 -0.750000 +v -0.191342 0.788060 -0.750000 +v -0.000000 0.750000 -0.750000 +v 0.191342 0.788060 -0.750000 +v 0.353553 0.896446 -0.750000 +v 0.461940 1.058658 -0.750000 +v 0.500000 1.250000 -0.750000 +v 0.461940 1.441342 -0.750000 +v 0.353553 1.603554 -0.750000 +v 0.191341 1.711940 -0.750000 +v 0.095671 1.480970 -0.750000 +v -0.095671 1.480970 -0.750000 +v -0.230970 1.345671 -0.750000 +v -0.230970 1.154329 -0.750000 +v -0.095671 1.019030 -0.750000 +v 0.095671 1.019030 -0.750000 +v 0.230970 1.154329 -0.750000 +v 0.230970 1.345671 -0.750000 +v 0.095671 1.480970 -0.500000 +v -0.095671 1.480970 -0.500000 +v -0.230970 1.345671 -0.500000 +v -0.230970 1.154329 -0.500000 +v -0.095671 1.019030 -0.500000 +v 0.095671 1.019030 -0.500000 +v 0.230970 1.154329 -0.500000 +v 0.230970 1.345671 -0.500000 +v 0.047835 1.365485 -0.500000 +v -0.047836 1.365485 -0.500000 +v -0.115485 1.297835 -0.500000 +v -0.115485 1.202165 -0.500000 +v -0.047836 1.134515 -0.500000 +v 0.047835 1.134515 -0.500000 +v 0.115485 1.202165 -0.500000 +v 0.115485 1.297835 -0.500000 +v 0.071753 1.423227 -0.500000 +v -0.071753 1.423227 -0.500000 +v -0.173227 1.321753 -0.500000 +v -0.173227 1.178247 -0.500000 +v -0.071753 1.076773 -0.500000 +v 0.071753 1.076773 -0.500000 +v 0.173227 1.178247 -0.500000 +v 0.173227 1.321753 -0.500000 +v -0.047836 1.365485 -0.375000 +v 0.047835 1.365485 -0.375000 +v -0.115485 1.297835 -0.375000 +v -0.115485 1.202165 -0.375000 +v -0.047836 1.134515 -0.375000 +v 0.047835 1.134515 -0.375000 +v 0.115485 1.202165 -0.375000 +v 0.115485 1.297835 -0.375000 +v -0.071753 1.423227 -0.375000 +v 0.071753 1.423227 -0.375000 +v -0.173227 1.321753 -0.375000 +v -0.173227 1.178247 -0.375000 +v -0.071753 1.076773 -0.375000 +v 0.071753 1.076773 -0.375000 +v 0.173227 1.178247 -0.375000 +v 0.173227 1.321753 -0.375000 +v -0.000000 2.375000 -0.375000 +v -0.430519 2.289364 -0.375000 +v -0.795495 2.045495 -0.375000 +v -1.039364 1.680519 -0.375000 +v -1.125000 1.250000 -0.375000 +v -1.039364 0.819481 -0.375000 +v -0.795495 0.454505 -0.375000 +v -0.430519 0.210636 -0.375000 +v -0.000000 0.125000 -0.375000 +v 0.430519 0.210635 -0.375000 +v 0.795495 0.454505 -0.375000 +v 1.039364 0.819481 -0.375000 +v 1.125000 1.250000 -0.375000 +v 1.039364 1.680519 -0.375000 +v 0.795495 2.045496 -0.375000 +v 0.430518 2.289365 -0.375000 +v -0.000000 2.375000 -0.625000 +v -0.430519 2.289364 -0.625000 +v -0.795495 2.045495 -0.625000 +v -1.039364 1.680519 -0.625000 +v -1.125000 1.250000 -0.625000 +v -1.039364 0.819481 -0.625000 +v -0.795495 0.454505 -0.625000 +v -0.430519 0.210636 -0.625000 +v -0.000000 0.125000 -0.625000 +v 0.430519 0.210635 -0.625000 +v 0.795495 0.454505 -0.625000 +v 1.039364 0.819481 -0.625000 +v 1.125000 1.250000 -0.625000 +v 1.039364 1.680519 -0.625000 +v 0.795495 2.045496 -0.625000 +v 0.430518 2.289365 -0.625000 +v -1.000000 0.938500 -4.125000 +v -1.000000 1.645607 -3.832107 +v -1.000000 1.938500 -3.125000 +v -1.000000 1.645607 -2.417893 +v -1.000000 0.938500 -2.125000 +v -1.000000 0.231393 -2.417893 +v -1.000000 -0.061500 -3.125000 +v -1.000000 0.231393 -3.832107 +v -1.000000 1.376000 -2.625000 +v -1.000000 1.376000 -3.625000 +v -1.000000 0.251000 -2.625000 +v -1.000000 0.251000 -3.625000 +v 1.000000 1.645607 -3.832107 +v 1.000000 0.938500 -4.125000 +v 1.000000 1.938500 -3.125000 +v 1.000000 1.645607 -2.417893 +v 1.000000 0.938500 -2.125000 +v 1.000000 0.231393 -2.417893 +v 1.000000 -0.061500 -3.125000 +v 1.000000 0.231393 -3.832107 +v 0.554917 2.356694 0.187500 +v 0.731694 2.179917 0.187500 +v 0.643306 2.445082 0.187500 +v 0.820083 2.268306 0.187500 +v 0.643306 2.445082 -0.312500 +v 0.554917 2.356694 -0.312500 +v 0.731694 2.179917 -0.312500 +v 0.820083 2.268306 -0.312500 +v -0.929917 0.518306 0.187500 +v -1.106694 0.695083 0.187500 +v -1.018306 0.429918 0.187500 +v -1.195083 0.606694 0.187500 +v -1.018306 0.429918 -0.312500 +v -0.929917 0.518306 -0.312500 +v -1.106694 0.695083 -0.312500 +v -1.195083 0.606694 -0.312500 +v 1.106694 0.695082 0.187500 +v 0.929917 0.518306 0.187500 +v 1.195082 0.606694 0.187500 +v 1.018306 0.429917 0.187500 +v 1.195082 0.606694 -0.312500 +v 1.106694 0.695082 -0.312500 +v 0.929917 0.518306 -0.312500 +v 1.018306 0.429917 -0.312500 +v -0.731694 2.179918 0.187500 +v -0.554917 2.356694 0.187500 +v -0.820082 2.268306 0.187500 +v -0.643306 2.445083 0.187500 +v -0.820082 2.268306 -0.312500 +v -0.731694 2.179918 -0.312500 +v -0.554917 2.356694 -0.312500 +v -0.643306 2.445083 -0.312500 +v 0.554917 2.356694 -2.375000 +v 0.731694 2.179917 -2.375000 +v 0.643306 2.445082 -2.375000 +v 0.820083 2.268306 -2.375000 +v 0.643306 2.445082 -2.751000 +v 0.554917 2.356694 -2.751000 +v 0.731694 2.179917 -2.875000 +v 0.820083 2.268306 -2.875000 +v -1.125000 1.875000 -2.600000 +v -1.125000 1.875000 -1.875000 +v -0.625000 2.375000 -2.375000 +v -0.625000 2.375000 -2.125000 +v 1.000000 1.750000 -2.875000 +v -1.000000 1.750000 -2.875000 +v -0.500000 2.250000 -2.625000 +v 0.500000 2.250000 -2.625000 +v -0.500000 2.268567 -2.829241 +v 0.500000 2.268567 -2.829241 +v -0.500000 2.215740 -2.715952 +v 0.500000 2.215740 -2.715952 +v 0.312500 2.438500 -2.750000 +v -0.312500 2.438500 -2.750000 +v 0.312500 2.385673 -2.636712 +v -0.312500 2.385673 -2.636712 +v -0.500000 1.872057 -3.014137 +v 0.500000 1.872057 -3.014137 +v 0.500000 1.819230 -2.900848 +v -0.500000 1.819230 -2.900848 +v 0.500000 0.125000 -2.750000 +v -0.500000 0.125000 -2.750000 +v -0.750000 1.696383 -3.709523 +v 0.750000 1.696383 -3.709523 +v -0.750000 1.544192 -3.511185 +v 0.750000 1.544192 -3.511185 +v -0.750000 1.639863 -3.280215 +v 0.750000 1.639863 -3.280215 +v -0.750000 1.887724 -3.247583 +v 0.750000 1.887724 -3.247583 +v -0.750000 2.039915 -3.445922 +v 0.750000 2.039915 -3.445922 +v -0.750000 1.944244 -3.676892 +v 0.750000 1.944244 -3.676892 +v 0.500000 0.125000 -1.750000 +v -0.500000 0.125000 -1.750000 +v 0.500000 0.500000 -2.750000 +v -0.500000 0.500000 -2.750000 +v 0.500000 0.500000 -1.750000 +v -0.500000 0.500000 -1.750000 +v -0.625000 0.187500 -3.625000 +v 0.625000 0.187500 -3.625000 +v -0.625000 1.687500 -3.625000 +v 0.625000 1.687500 -3.625000 +v -0.625000 1.687500 -4.125000 +v -0.625000 0.187500 -4.125000 +v 0.625000 0.187500 -4.125000 +v 0.625000 1.687500 -4.125000 +v -0.500000 1.562500 -4.125000 +v 0.500000 1.562500 -4.125000 +v -0.500000 0.312500 -4.125000 +v 0.500000 0.312500 -4.125000 +v -0.500000 0.312500 -4.875000 +v -0.500000 1.562500 -4.875000 +v 0.500000 1.562500 -4.875000 +v 0.500000 0.312500 -4.875000 +v 1.375000 1.875000 -2.562500 +v 1.375000 2.091506 -2.437500 +v 1.375000 2.091506 -2.187500 +v 1.375000 1.875000 -2.062500 +v 1.375000 1.658494 -2.187500 +v 1.375000 1.658494 -2.437500 +v 0.875000 1.875000 -2.562500 +v 0.875000 2.091506 -2.437500 +v 0.875000 2.091506 -2.187500 +v 0.875000 1.875000 -2.062500 +v 0.875000 1.658494 -2.187500 +v 0.875000 1.658494 -2.437500 +v 1.375000 1.875000 -2.437500 +v 1.375000 1.983253 -2.375000 +v 1.375000 1.983253 -2.250000 +v 1.375000 1.875000 -2.187500 +v 1.375000 1.766747 -2.250000 +v 1.375000 1.766747 -2.375000 +v 1.562500 1.875000 -2.437500 +v 1.562500 1.983253 -2.375000 +v 1.562500 1.983253 -2.250000 +v 1.562500 1.875000 -2.187500 +v 1.562500 1.766747 -2.250000 +v 1.562500 1.766747 -2.375000 +v 1.562500 1.875000 -2.500000 +v 1.562500 2.037380 -2.406250 +v 1.562500 2.037380 -2.218750 +v 1.562500 1.875000 -2.125000 +v 1.562500 1.712620 -2.218750 +v 1.562500 1.712620 -2.406250 +v 2.312500 1.875000 -2.500000 +v 2.312500 2.037380 -2.406250 +v 2.312500 2.037380 -2.218750 +v 2.312500 1.875000 -2.125000 +v 2.312500 1.712620 -2.218750 +v 2.312500 1.712620 -2.406250 +v 2.312500 1.875000 -2.437500 +v 2.312500 1.983253 -2.375000 +v 2.312500 1.983253 -2.250000 +v 2.312500 1.875000 -2.187500 +v 2.312500 1.766747 -2.250000 +v 2.312500 1.766747 -2.375000 +v 2.500000 1.875000 -2.437500 +v 2.500000 1.983253 -2.375000 +v 2.500000 1.983253 -2.250000 +v 2.500000 1.875000 -2.187500 +v 2.500000 1.766747 -2.250000 +v 2.500000 1.766747 -2.375000 +v 2.500000 1.875000 -2.562500 +v 2.500000 2.091506 -2.437500 +v 2.500000 2.091506 -2.187500 +v 2.500000 1.875000 -2.062500 +v 2.500000 1.658494 -2.187500 +v 2.500000 1.658494 -2.437500 +v 2.625000 1.875000 -2.562500 +v 2.625000 2.091506 -2.437500 +v 2.625000 2.091506 -2.187500 +v 2.625000 1.875000 -2.062500 +v 2.625000 1.658494 -2.187500 +v 2.625000 1.658494 -2.437500 +v 2.750000 1.875000 -2.437500 +v 2.750000 1.983253 -2.375000 +v 2.750000 1.983253 -2.250000 +v 2.750000 1.875000 -2.187500 +v 2.750000 1.766747 -2.250000 +v 2.750000 1.766747 -2.375000 +v -0.187500 1.625000 -4.125000 +v 0.187500 1.625000 -4.125000 +v -0.187500 1.625000 -5.000000 +v 0.187500 1.625000 -5.000000 +v -0.187500 1.250000 -5.000000 +v -0.187500 1.250000 -4.125000 +v 0.187500 1.250000 -4.125000 +v 0.187500 1.250000 -5.000000 +v -0.125000 1.625000 -4.734835 +v 0.125000 1.625000 -4.734835 +v -0.125000 1.359835 -5.000000 +v 0.125000 1.359835 -5.000000 +v 0.125000 1.978553 -5.088388 +v -0.125000 1.978553 -5.088388 +v 0.125000 1.713388 -5.353553 +v -0.125000 1.713388 -5.353553 +v -0.187500 2.022748 -5.044194 +v 0.187500 2.022748 -5.044194 +v -0.187500 1.669194 -5.397748 +v 0.187500 1.669194 -5.397748 +v 0.187500 2.287913 -5.309359 +v -0.187500 2.287913 -5.309359 +v 0.187500 1.845971 -5.574524 +v -0.187500 1.845971 -5.574524 +v 0.187500 2.022748 -5.574524 +v -0.187500 2.022748 -5.574524 +v -0.062500 2.066942 -5.088388 +v 0.062500 2.066942 -5.088388 +v -0.062500 2.243718 -5.265165 +v 0.062500 2.243718 -5.265165 +v -0.062500 2.774049 -4.734835 +v -0.062500 2.597272 -4.558058 +v 0.062500 2.597272 -4.558058 +v 0.062500 2.774049 -4.734835 +v 0.000000 2.374456 -2.778129 +v -0.125000 2.344101 -2.792284 +v -0.216506 2.261168 -2.830956 +v -0.250000 2.147880 -2.883784 +v -0.216506 2.034591 -2.936611 +v -0.125000 1.951658 -2.975283 +v -0.000000 1.921303 -2.989438 +v 0.125000 1.951658 -2.975283 +v 0.216506 2.034591 -2.936611 +v -0.125000 2.423342 -2.962217 +v 0.000000 2.453697 -2.948062 +v -0.216506 2.340409 -3.000889 +v -0.250000 2.227120 -3.053716 +v -0.216506 2.113832 -3.106544 +v -0.125000 2.030899 -3.145216 +v -0.000000 2.000544 -3.159371 +v 0.125000 2.030899 -3.145216 +v 0.216506 2.113832 -3.106544 +v 0.250000 2.227120 -3.053716 +v 0.216506 2.340409 -3.000889 +v 0.125000 2.423342 -2.962217 +v 0.000000 2.487745 -2.725302 +v 0.324759 1.977947 -2.963025 +v 0.375000 2.147880 -2.883783 +v 0.324760 2.317812 -2.804543 +v 0.187500 2.442212 -2.746534 +v 0.000000 2.566986 -2.895234 +v 0.324759 2.057188 -3.132957 +v 0.375000 2.227120 -3.053716 +v 0.324760 2.397053 -2.974475 +v 0.187500 2.521452 -2.916467 +v -0.375000 2.034591 -2.936611 +v -0.437500 2.049769 -2.929533 +v -0.483253 2.091235 -2.910197 +v -0.500000 2.147880 -2.883784 +v -0.483253 2.204524 -2.857370 +v -0.437500 2.245990 -2.838034 +v -0.375000 2.261168 -2.830956 +v -0.312500 2.245990 -2.838034 +v -0.266747 2.204524 -2.857370 +v -0.250000 2.147880 -2.883784 +v -0.266747 2.091235 -2.910197 +v -0.312500 2.049769 -2.929533 +v -0.375000 2.087419 -3.049900 +v -0.437500 2.102596 -3.042822 +v -0.483253 2.144063 -3.023486 +v -0.500000 2.200707 -2.997072 +v -0.483253 2.257351 -2.970659 +v -0.437500 2.298818 -2.951323 +v -0.375000 2.313995 -2.944245 +v -0.312500 2.298818 -2.951323 +v -0.266747 2.257351 -2.970659 +v -0.250000 2.200707 -2.997072 +v -0.266747 2.144063 -3.023486 +v -0.312500 2.102596 -3.042822 +v 0.625000 2.375000 -0.875000 +v 1.125000 1.875000 -0.875000 +v 0.625000 2.375000 -1.875000 +v 1.125000 1.875000 -1.625000 +v -0.625000 2.375000 -0.875000 +v -0.625000 2.375000 -1.875000 +v -1.125000 1.875000 -0.875000 +v -1.125000 1.875000 -1.625000 +v -1.036612 1.786612 -2.600000 +v -0.536612 2.286612 -2.375000 +v -1.036612 1.786612 -1.875000 +v -0.536612 2.286612 -2.125000 +v 0.948223 1.698223 -1.625000 +v 0.448223 2.198223 -1.875000 +v 0.948223 1.698223 -0.875000 +v 0.448223 2.198223 -0.875000 +v 0.875000 1.948223 -1.125000 +v 0.911612 2.036612 -1.125000 +v 0.875000 2.125000 -1.125000 +v -0.875000 2.125000 -1.125000 +v -0.911612 2.036612 -1.125000 +v -0.875000 1.948223 -1.125000 +v 0.137500 2.062500 -3.437400 +v -0.137500 2.062500 -3.749900 +v -0.012500 2.062500 -3.749900 +v -0.698223 2.125000 -1.125000 +v -0.786612 2.161612 -1.125000 +v -0.823223 2.073223 -0.948223 +v -0.867418 1.992418 -0.974112 +v -0.849112 1.922335 -1.036612 +v 0.137500 2.062500 -3.749900 +v 0.012500 2.062500 -3.749900 +v -0.672335 2.099112 -1.036612 +v -0.742418 2.117417 -0.974112 +v -0.698223 1.948223 -0.875000 +v -0.760723 1.885723 -0.911612 +v -0.786612 1.859835 -1.000000 +v 0.012500 1.937500 -3.749900 +v 0.137500 1.937500 -3.749900 +v -0.609835 2.036612 -1.000000 +v -0.635723 2.010723 -0.911612 +v -0.698223 2.301777 -1.125000 +v -0.734835 2.213388 -1.125000 +v -0.698223 2.125000 -1.125000 +v 0.012500 1.937500 -3.874900 +v 0.137500 1.937500 -3.874900 +v -0.012500 1.937500 -3.874900 +v -0.521447 2.301777 -1.125000 +v -0.609835 2.338388 -1.125000 +v -0.646447 2.250000 -0.948223 +v -0.690641 2.169194 -0.974112 +v -0.672335 2.099112 -1.036612 +v -0.012500 1.937500 -3.749900 +v -0.137500 1.937500 -3.749900 +v -0.495558 2.275888 -1.036612 +v -0.565641 2.294194 -0.974112 +v -0.521447 2.125000 -0.875000 +v -0.583947 2.062500 -0.911612 +v -0.609835 2.036612 -1.000000 +v -0.137500 1.937500 -3.874900 +v -0.137500 1.687500 -3.749900 +v -0.433058 2.213388 -1.000000 +v -0.458947 2.187500 -0.911612 +v -1.051777 1.948223 -1.125000 +v -1.088388 1.859835 -1.125000 +v -1.051777 1.771446 -1.125000 +v -0.012500 1.687500 -3.749900 +v -0.137500 1.687500 -3.874900 +v -0.012500 1.687500 -3.874900 +v -0.875000 1.948223 -1.125000 +v -0.963388 1.984835 -1.125000 +v -1.000000 1.896446 -0.948223 +v -1.044194 1.815641 -0.974112 +v -1.025888 1.745558 -1.036612 +v 0.137500 1.687500 -3.874900 +v 0.012500 1.687500 -3.874900 +v -0.849112 1.922335 -1.036612 +v -0.919194 1.940641 -0.974112 +v -0.875000 1.771446 -0.875000 +v -0.937500 1.708946 -0.911612 +v -0.963388 1.683058 -1.000000 +v 0.137500 1.687500 -3.749900 +v 0.012500 1.687500 -3.749900 +v -0.786612 1.859835 -1.000000 +v -0.812500 1.833946 -0.911612 +v -0.875000 2.125000 -1.812500 +v -0.911612 2.036612 -1.812500 +v -0.875000 1.948223 -1.812500 +v -0.698223 2.125000 -1.812500 +v -0.786612 2.161612 -1.812500 +v -0.698223 2.301777 -1.875000 +v -0.734835 2.213388 -1.875000 +v -0.698223 2.125000 -1.875000 +v -0.521447 2.301777 -1.875000 +v -0.609835 2.338388 -1.875000 +v -1.051777 1.948223 -1.750000 +v -1.088388 1.859835 -1.750000 +v -1.051777 1.771446 -1.750000 +v -0.875000 1.948223 -1.750000 +v -0.963388 1.984835 -1.750000 +v -0.448223 2.198223 -1.875000 +v -0.448223 2.198223 -0.875000 +v -0.948223 1.698223 -0.875000 +v -0.948223 1.698223 -1.625000 +v 0.698223 2.125000 -1.125000 +v 0.786612 2.161612 -1.125000 +v 0.823223 2.073223 -0.948223 +v 0.867418 1.992418 -0.974112 +v 0.849112 1.922335 -1.036612 +v 0.672335 2.099112 -1.036612 +v 0.742418 2.117417 -0.974112 +v 0.698223 1.948223 -0.875000 +v 0.760723 1.885723 -0.911612 +v 0.786612 1.859835 -1.000000 +v -0.012500 2.134191 -3.062400 +v 0.609835 2.036612 -1.000000 +v 0.635723 2.010723 -0.911612 +v 0.698223 2.301777 -1.125000 +v 0.734835 2.213388 -1.125000 +v 0.698223 2.125000 -1.125000 +v -0.137500 2.134191 -3.062400 +v 0.137500 2.134191 -3.062400 +v 0.012500 2.134191 -3.062400 +v 0.521447 2.301777 -1.125000 +v 0.609835 2.338388 -1.125000 +v 0.646447 2.250000 -0.948223 +v 0.690641 2.169194 -0.974112 +v 0.672335 2.099112 -1.036612 +v 0.137500 2.009191 -3.062400 +v 0.012500 2.009191 -3.062400 +v 0.495558 2.275888 -1.036612 +v 0.565641 2.294194 -0.974112 +v 0.521447 2.125000 -0.875000 +v 0.583947 2.062500 -0.911612 +v 0.609835 2.036612 -1.000000 +v -0.012500 2.009191 -3.062400 +v -0.137500 2.009191 -3.062400 +v 0.433058 2.213388 -1.000000 +v 0.458947 2.187500 -0.911612 +v 1.051777 1.948223 -1.125000 +v 1.088388 1.859835 -1.125000 +v 1.051777 1.771446 -1.125000 +v -0.137500 2.062500 -3.437400 +v -0.137500 2.187500 -3.437400 +v -0.012500 2.187500 -3.437400 +v 0.875000 1.948223 -1.125000 +v 0.963388 1.984835 -1.125000 +v 1.000000 1.896446 -0.948223 +v 1.044194 1.815641 -0.974112 +v 1.025888 1.745558 -1.036612 +v -0.012500 2.062500 -3.437400 +v 0.012500 2.062500 -3.437400 +v 0.849112 1.922335 -1.036612 +v 0.919194 1.940641 -0.974112 +v 0.875000 1.771446 -0.875000 +v 0.937500 1.708946 -0.911612 +v 0.963388 1.683058 -1.000000 +v 0.012500 2.187500 -3.437400 +v 0.137500 2.187500 -3.437400 +v 0.786612 1.859835 -1.000000 +v 0.812500 1.833946 -0.911612 +v 0.875000 2.125000 -1.812500 +v 0.911612 2.036612 -1.812500 +v 0.875000 1.948223 -1.812500 +v 0.698223 2.125000 -1.812500 +v 0.786612 2.161612 -1.812500 +v 0.698223 2.301777 -1.875000 +v 0.734835 2.213388 -1.875000 +v 0.698223 2.125000 -1.875000 +v 0.521447 2.301777 -1.875000 +v 0.609835 2.338388 -1.875000 +v 1.051777 1.948223 -1.750000 +v 1.088388 1.859835 -1.750000 +v 1.051777 1.771446 -1.750000 +v 0.875000 1.948223 -1.750000 +v 0.963388 1.984835 -1.750000 +v 1.187500 1.359472 -0.413125 +v 1.187500 1.246183 -0.360298 +v 1.187500 1.253817 -0.639702 +v 1.187500 1.140528 -0.586875 +v 1.062500 1.253817 -0.639702 +v 1.062500 1.359472 -0.413125 +v 1.062500 1.246183 -0.360298 +v 1.062500 1.140528 -0.586875 +v -1.187500 1.140528 -0.413125 +v -1.187500 1.253817 -0.360298 +v -1.187500 1.246183 -0.639702 +v -1.187500 1.359471 -0.586875 +v -1.062500 1.246183 -0.639702 +v -1.062500 1.140528 -0.413125 +v -1.062500 1.253817 -0.360298 +v -1.062500 1.359471 -0.586875 +v 0.109472 0.062500 -0.413125 +v -0.003817 0.062500 -0.360298 +v 0.003817 0.062500 -0.639702 +v -0.109472 0.062500 -0.586875 +v 0.003817 0.187500 -0.639702 +v 0.109472 0.187500 -0.413125 +v -0.003817 0.187500 -0.360298 +v -0.109472 0.187500 -0.586875 +v -0.109472 2.437500 -0.413125 +v 0.003817 2.437500 -0.360298 +v -0.003817 2.437500 -0.639702 +v 0.109472 2.437500 -0.586875 +v -0.003817 2.312500 -0.639702 +v -0.109472 2.312500 -0.413125 +v 0.003817 2.312500 -0.360298 +v 0.109472 2.312500 -0.586875 +v 0.917097 0.487719 -0.413125 +v 0.836990 0.407612 -0.360298 +v 0.842388 0.413010 -0.639702 +v 0.762281 0.332903 -0.586875 +v 0.754000 0.501398 -0.639702 +v 0.828709 0.576107 -0.413125 +v 0.748602 0.496000 -0.360298 +v 0.673893 0.421291 -0.586875 +v -0.917097 2.012281 -0.413125 +v -0.836990 2.092388 -0.360298 +v -0.842388 2.086990 -0.639702 +v -0.762281 2.167097 -0.586875 +v -0.754000 1.998602 -0.639702 +v -0.828709 1.923893 -0.413125 +v -0.748602 2.004000 -0.360298 +v -0.673893 2.078709 -0.586875 +v -0.762281 0.332902 -0.413125 +v -0.842388 0.413010 -0.360298 +v -0.836990 0.407611 -0.639702 +v -0.917097 0.487719 -0.586875 +v -0.748602 0.496000 -0.639702 +v -0.673893 0.421291 -0.413125 +v -0.754000 0.501398 -0.360298 +v -0.828709 0.576107 -0.586875 +v 0.762281 2.167097 -0.413125 +v 0.842388 2.086990 -0.360298 +v 0.836990 2.092388 -0.639702 +v 0.917097 2.012281 -0.586875 +v 0.748602 2.004000 -0.639702 +v 0.673893 2.078709 -0.413125 +v 0.754000 1.998602 -0.360298 +v 0.828709 1.923893 -0.586875 +v -0.498945 0.166859 -0.413125 +v -0.597056 0.223503 -0.360298 +v -0.590444 0.219686 -0.639702 +v -0.688555 0.276330 -0.586875 +v -0.527944 0.327939 -0.639702 +v -0.436445 0.275112 -0.413125 +v -0.534556 0.331756 -0.360298 +v -0.626055 0.384584 -0.586875 +v 0.498945 2.333141 -0.413125 +v 0.597056 2.276496 -0.360298 +v 0.590444 2.280313 -0.639702 +v 0.688555 2.223669 -0.586875 +v 0.527944 2.172060 -0.639702 +v 0.436445 2.224888 -0.413125 +v 0.534556 2.168243 -0.360298 +v 0.626055 2.115416 -0.586875 +v -1.083141 1.748945 -0.413125 +v -1.026497 1.847055 -0.360298 +v -1.030314 1.840444 -0.639702 +v -0.973670 1.938555 -0.586875 +v -0.922061 1.777944 -0.639702 +v -0.974888 1.686445 -0.413125 +v -0.918244 1.784555 -0.360298 +v -0.865416 1.876055 -0.586875 +v 1.083141 0.751055 -0.413125 +v 1.026497 0.652944 -0.360298 +v 1.030314 0.659555 -0.639702 +v 0.973669 0.561445 -0.586875 +v 0.922060 0.722055 -0.639702 +v 0.974888 0.813555 -0.413125 +v 0.918243 0.715444 -0.360298 +v 0.865416 0.623945 -0.586875 +v -1.118704 0.836911 -0.413125 +v -1.148025 0.946339 -0.360298 +v -1.146049 0.938965 -0.639702 +v -1.175370 1.048394 -0.586875 +v -1.025308 0.971318 -0.639702 +v -0.997963 0.869263 -0.413125 +v -1.027284 0.978692 -0.360298 +v -1.054630 1.080746 -0.586875 +v 1.118703 1.663089 -0.413125 +v 1.148025 1.553661 -0.360298 +v 1.146049 1.561034 -0.639702 +v 1.175370 1.451606 -0.586875 +v 1.025308 1.528682 -0.639702 +v 0.997963 1.630736 -0.413125 +v 1.027284 1.521308 -0.360298 +v 1.054629 1.419254 -0.586875 +v -0.413089 2.368703 -0.413125 +v -0.303661 2.398025 -0.360298 +v -0.311035 2.396049 -0.639702 +v -0.201606 2.425370 -0.586875 +v -0.278682 2.275308 -0.639702 +v -0.380737 2.247963 -0.413125 +v -0.271308 2.277284 -0.360298 +v -0.169254 2.304629 -0.586875 +v 0.413089 0.131296 -0.413125 +v 0.303660 0.101975 -0.360298 +v 0.311034 0.103951 -0.639702 +v 0.201606 0.074629 -0.586875 +v 0.278682 0.224691 -0.639702 +v 0.380737 0.252037 -0.413125 +v 0.271308 0.222716 -0.360298 +v 0.169254 0.195370 -0.586875 +v -0.688555 2.223669 -0.413125 +v -0.590445 2.280313 -0.360298 +v -0.597056 2.276496 -0.639702 +v -0.498945 2.333141 -0.586875 +v -0.534556 2.168243 -0.639702 +v -0.626055 2.115416 -0.413125 +v -0.527945 2.172060 -0.360298 +v -0.436445 2.224888 -0.586875 +v 0.688555 0.276330 -0.413125 +v 0.590444 0.219686 -0.360298 +v 0.597055 0.223503 -0.639702 +v 0.498945 0.166859 -0.586875 +v 0.534555 0.331756 -0.639702 +v 0.626055 0.384583 -0.413125 +v 0.527944 0.327939 -0.360298 +v 0.436445 0.275112 -0.586875 +v 0.973669 1.938555 -0.413125 +v 1.030313 1.840444 -0.360298 +v 1.026497 1.847055 -0.639702 +v 1.083141 1.748945 -0.586875 +v 0.918244 1.784555 -0.639702 +v 0.865416 1.876055 -0.413125 +v 0.922060 1.777944 -0.360298 +v 0.974888 1.686445 -0.586875 +v -0.973670 0.561445 -0.413125 +v -1.030314 0.659556 -0.360298 +v -1.026497 0.652944 -0.639702 +v -1.083141 0.751055 -0.586875 +v -0.918244 0.715444 -0.639702 +v -0.865416 0.623945 -0.413125 +v -0.922061 0.722056 -0.360298 +v -0.974888 0.813555 -0.586875 +v 0.201606 2.425370 -0.413125 +v 0.311034 2.396049 -0.360298 +v 0.303661 2.398025 -0.639702 +v 0.413089 2.368704 -0.586875 +v 0.271308 2.277284 -0.639702 +v 0.169254 2.304629 -0.413125 +v 0.278682 2.275308 -0.360298 +v 0.380737 2.247963 -0.586875 +v -0.201606 0.074630 -0.413125 +v -0.311035 0.103951 -0.360298 +v -0.303661 0.101975 -0.639702 +v -0.413089 0.131296 -0.586875 +v -0.271309 0.222716 -0.639702 +v -0.169254 0.195370 -0.413125 +v -0.278682 0.224692 -0.360298 +v -0.380737 0.252037 -0.586875 +v 1.175370 1.048394 -0.413125 +v 1.146049 0.938965 -0.360298 +v 1.148025 0.946339 -0.639702 +v 1.118704 0.836911 -0.586875 +v 1.027284 0.978692 -0.639702 +v 1.054629 1.080746 -0.413125 +v 1.025308 0.971318 -0.360298 +v 0.997963 0.869263 -0.586875 +v -1.175371 1.451606 -0.413125 +v -1.146049 1.561035 -0.360298 +v -1.148025 1.553661 -0.639702 +v -1.118704 1.663089 -0.586875 +v -1.027284 1.521308 -0.639702 +v -1.054630 1.419254 -0.413125 +v -1.025308 1.528682 -0.360298 +v -0.997963 1.630737 -0.586875 +v 0.625000 1.876000 -3.062500 +v 0.625000 2.001000 -3.062500 +v -0.625000 1.938500 -3.250000 +v 0.625000 1.938500 -3.250000 +v -0.625000 1.830247 -3.187500 +v 0.625000 1.830247 -3.187500 +v -0.625000 1.830247 -3.062500 +v 0.625000 1.830247 -3.062500 +v -0.625000 1.938500 -3.000000 +v 0.625000 1.938500 -3.000000 +v -0.625000 2.046753 -3.062500 +v 0.625000 2.046753 -3.062500 +v -0.625000 2.046753 -3.187500 +v 0.625000 2.046753 -3.187500 +v 0.625000 2.001000 -3.187500 +v 0.625000 1.876000 -3.187500 +v 0.875000 1.876000 -3.187500 +v 0.875000 2.001000 -3.187500 +v 0.875000 1.876000 -3.062500 +v 0.875000 2.001000 -3.062500 +v 1.000000 2.001000 -3.187500 +v 1.000000 2.001000 -3.062500 +v 0.875000 2.126000 -3.187500 +v 0.875000 2.126000 -3.062500 +v 1.000000 2.126000 -3.062500 +v 1.000000 2.126000 -3.187500 +v 0.875000 2.251000 -3.187500 +v 1.000000 2.251000 -3.187500 +v 0.875000 2.126000 -3.312500 +v 1.000000 2.126000 -3.312500 +v 0.875000 2.251000 -3.312500 +v 1.000000 2.251000 -3.312500 +v 0.875000 1.876000 -3.937500 +v 1.000000 1.876000 -3.937500 +v 0.875000 2.001000 -3.937500 +v 1.000000 2.001000 -3.937500 +v 0.875000 1.876000 -4.062500 +v 1.000000 1.876000 -4.062500 +v 1.000000 1.626000 -3.937500 +v 0.875000 1.626000 -3.937500 +v 0.875000 1.626000 -4.062500 +v 1.000000 1.626000 -4.062500 +v 0.875000 1.501000 -4.062500 +v 0.875000 1.501000 -3.937500 +v 0.625000 1.626000 -3.937500 +v 0.625000 1.626000 -4.062500 +v 0.625000 1.501000 -4.062500 +v 0.625000 1.501000 -3.937500 +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.0000 -0.0000 1.0000 +vn -0.7074 -0.7068 -0.0001 +vn 0.0000 -0.7071 -0.7071 +vn -0.7071 -0.7071 0.0057 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.9487 -0.3162 +vn 0.0000 0.4472 -0.8944 +vn 0.3904 -0.1617 0.9063 +vn -0.3904 0.1617 0.9063 +vn -0.3905 0.1617 0.9063 +vn -0.1617 -0.3904 0.9063 +vn 0.1617 0.3904 0.9063 +vn 0.1617 -0.3904 0.9063 +vn 0.1617 -0.3905 0.9063 +vn -0.1617 0.3904 0.9063 +vn -0.3904 -0.1617 0.9063 +vn 0.3904 0.1617 0.9063 +vn -0.8806 -0.1752 0.4403 +vn 0.8806 0.1752 0.4403 +vn 0.4318 0.0859 -0.8979 +vn 0.2320 -0.9696 -0.0783 +vn -0.4318 -0.0859 0.8979 +vn -0.1567 0.9845 -0.0783 +vn -0.4318 -0.0859 -0.8979 +vn -0.2320 0.9696 -0.0783 +vn 0.4318 0.0859 0.8979 +vn 0.1567 -0.9845 -0.0783 +vn -0.1752 0.8806 0.4403 +vn 0.1752 -0.8806 0.4403 +vn 0.0859 -0.4318 -0.8979 +vn -0.9696 -0.2320 -0.0783 +vn -0.0859 0.4318 0.8979 +vn 0.9845 0.1567 -0.0783 +vn -0.0859 0.4318 -0.8979 +vn 0.9696 0.2320 -0.0783 +vn 0.0859 -0.4318 0.8979 +vn -0.9845 -0.1567 -0.0783 +vn -0.7465 0.4988 0.4403 +vn 0.7465 -0.4988 0.4403 +vn 0.3661 -0.2446 -0.8979 +vn -0.5215 -0.8496 -0.0783 +vn -0.3661 0.2446 0.8979 +vn 0.5854 0.8070 -0.0783 +vn -0.3661 0.2446 -0.8979 +vn 0.5215 0.8496 -0.0783 +vn 0.3661 -0.2446 0.8979 +vn -0.5854 -0.8070 -0.0783 +vn 0.4988 0.7465 0.4403 +vn -0.4988 -0.7465 0.4403 +vn -0.2446 -0.3661 -0.8979 +vn -0.8496 0.5215 -0.0783 +vn 0.2446 0.3661 0.8979 +vn 0.8070 -0.5854 -0.0783 +vn 0.2446 0.3661 -0.8979 +vn 0.8496 -0.5215 -0.0783 +vn -0.2446 -0.3661 0.8979 +vn -0.8070 0.5854 -0.0783 +vn -0.8806 0.1752 0.4403 +vn 0.8806 -0.1752 0.4403 +vn 0.4318 -0.0859 -0.8979 +vn -0.1567 -0.9845 -0.0783 +vn -0.4318 0.0859 0.8979 +vn 0.2320 0.9696 -0.0783 +vn -0.4318 0.0859 -0.8979 +vn 0.1567 0.9845 -0.0783 +vn 0.4318 -0.0859 0.8979 +vn -0.2320 -0.9696 -0.0783 +vn 0.1752 0.8806 0.4403 +vn -0.1752 -0.8806 0.4403 +vn -0.0859 -0.4318 -0.8979 +vn -0.9845 0.1567 -0.0783 +vn 0.0859 0.4318 0.8979 +vn 0.9696 -0.2320 -0.0783 +vn 0.0859 0.4318 -0.8979 +vn 0.9845 -0.1567 -0.0783 +vn -0.0859 -0.4318 0.8979 +vn -0.9696 0.2320 -0.0783 +vn -0.4988 0.7465 0.4403 +vn 0.4988 -0.7465 0.4403 +vn 0.2446 -0.3661 -0.8979 +vn -0.8070 -0.5854 -0.0783 +vn -0.2446 0.3661 0.8979 +vn 0.8496 0.5215 -0.0783 +vn -0.2446 0.3661 -0.8979 +vn 0.8070 0.5854 -0.0783 +vn 0.2446 -0.3661 0.8979 +vn -0.8496 -0.5215 -0.0783 +vn 0.7465 0.4988 0.4403 +vn -0.7465 -0.4988 0.4403 +vn -0.3661 -0.2446 -0.8979 +vn -0.5854 0.8070 -0.0783 +vn 0.3661 0.2446 0.8979 +vn 0.5215 -0.8496 -0.0783 +vn 0.3661 0.2446 -0.8979 +vn 0.5854 -0.8070 -0.0783 +vn -0.3661 -0.2446 0.8979 +vn -0.5215 0.8496 -0.0783 +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.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.3142 0.3142 -0.8959 +vn 0.0000 0.4226 -0.9063 +vn 0.0000 0.9063 0.4226 +vn -0.7071 0.6409 0.2988 +vn 0.7071 0.6409 0.2988 +vn 0.0000 0.7934 0.6088 +vn 0.0000 0.1305 -0.9914 +vn 0.0000 0.5000 0.8660 +vn 0.0000 0.5000 -0.8660 +vn 0.0000 -0.5000 -0.8660 +vn 0.0000 -0.5000 0.8660 +vn 0.6547 0.3780 -0.6547 +vn 0.6547 -0.3780 -0.6547 +vn 0.6547 -0.3780 0.6547 +vn 0.6547 0.7559 0.0000 +vn 0.6547 -0.7559 0.0000 +vn 0.6547 0.3780 0.6547 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn -0.5000 -0.7849 -0.3660 +vn -0.0000 -0.4226 0.9063 +vn -0.2357 0.2357 0.9428 +vn 0.2357 0.2357 0.9428 +vn -0.2357 -0.2357 -0.9428 +vn -0.2144 -0.2144 0.9529 +vn 0.0000 -0.9285 0.3714 +vn 0.0000 0.9285 -0.3714 +vn 0.0000 -0.9900 -0.1407 +vn 0.0000 0.9900 0.1407 +vn 0.0000 -0.4226 -0.9063 +vn 0.0000 0.4226 0.9063 +vn 0.0000 -0.9063 0.4226 +vn 0.0000 0.9063 -0.4226 +vn 0.0000 -0.9063 -0.4226 +vn -0.4226 0.0000 -0.9063 +vn 0.4226 0.0000 0.9063 +vn -0.9063 0.0000 0.4226 +vn 0.9063 0.0000 -0.4226 +vn 0.4226 0.0000 -0.9063 +vn -0.4226 0.0000 0.9063 +vn 0.9063 0.0000 0.4226 +vn -0.9063 0.0000 -0.4226 +vn -0.2988 -0.2988 -0.9063 +vn 0.2988 0.2988 0.9063 +vn -0.6409 -0.6409 0.4226 +vn 0.6409 0.6409 -0.4226 +vn 0.2988 0.2988 -0.9063 +vn -0.2988 -0.2988 0.9063 +vn 0.6409 0.6409 0.4226 +vn -0.6409 -0.6409 -0.4226 +vn -0.2988 0.2988 -0.9063 +vn 0.2988 -0.2988 0.9063 +vn -0.6409 0.6409 0.4226 +vn 0.6409 -0.6409 -0.4226 +vn 0.2988 -0.2988 -0.9063 +vn -0.2988 0.2988 0.9063 +vn 0.6409 -0.6409 0.4226 +vn -0.6409 0.6409 -0.4226 +vn -0.5000 -0.8660 0.0000 +vn 0.5000 0.8660 0.0000 +vn -0.3660 0.2113 -0.9063 +vn 0.3660 -0.2113 0.9063 +vn -0.7849 0.4532 0.4226 +vn 0.7849 -0.4532 -0.4226 +vn 0.3660 -0.2113 -0.9063 +vn -0.3660 0.2113 0.9063 +vn 0.7849 -0.4532 0.4226 +vn -0.7849 0.4532 -0.4226 +vn -0.8660 0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +vn 0.2113 0.3660 -0.9063 +vn -0.2113 -0.3660 0.9063 +vn 0.4532 0.7849 0.4226 +vn -0.4532 -0.7849 -0.4226 +vn -0.2113 -0.3660 -0.9063 +vn 0.2113 0.3660 0.9063 +vn -0.4532 -0.7849 0.4226 +vn 0.4532 0.7849 -0.4226 +vn -0.9659 -0.2588 -0.0000 +vn 0.9659 0.2588 0.0000 +vn -0.1094 0.4082 -0.9063 +vn 0.1094 -0.4082 0.9063 +vn -0.2346 0.8754 0.4226 +vn 0.2346 -0.8754 -0.4226 +vn 0.1094 -0.4082 -0.9063 +vn -0.1094 0.4082 0.9063 +vn 0.2346 -0.8754 0.4226 +vn -0.2346 0.8754 -0.4226 +vn -0.2588 0.9659 0.0000 +vn 0.2588 -0.9659 -0.0000 +vn 0.4082 0.1094 -0.9063 +vn -0.4082 -0.1094 0.9063 +vn 0.8754 0.2346 0.4226 +vn -0.8754 -0.2346 -0.4226 +vn -0.4082 -0.1094 -0.9063 +vn 0.4082 0.1094 0.9063 +vn -0.8754 -0.2346 0.4226 +vn 0.8754 0.2346 -0.4226 +vn -0.5000 0.8660 -0.0000 +vn 0.5000 -0.8660 -0.0000 +vn 0.3660 0.2113 -0.9063 +vn -0.3660 -0.2113 0.9063 +vn 0.7849 0.4532 0.4226 +vn -0.7849 -0.4532 -0.4226 +vn -0.3660 -0.2113 -0.9063 +vn 0.3660 0.2113 0.9063 +vn -0.7849 -0.4532 0.4226 +vn 0.7849 0.4532 -0.4226 +vn 0.8660 0.5000 0.0000 +vn -0.8660 -0.5000 -0.0000 +vn 0.2113 -0.3660 -0.9063 +vn -0.2113 0.3660 0.9063 +vn 0.4532 -0.7849 0.4226 +vn -0.4532 0.7849 -0.4226 +vn -0.2113 0.3660 -0.9063 +vn 0.2113 -0.3660 0.9063 +vn -0.4532 0.7849 0.4226 +vn 0.4532 -0.7849 -0.4226 +vn 0.2588 0.9659 0.0000 +vn -0.2588 -0.9659 0.0000 +vn 0.4082 -0.1094 -0.9063 +vn -0.4082 0.1094 0.9063 +vn 0.8754 -0.2346 0.4226 +vn -0.8754 0.2346 -0.4226 +vn -0.4082 0.1094 -0.9063 +vn 0.4082 -0.1094 0.9063 +vn -0.8754 0.2346 0.4226 +vn 0.8754 -0.2346 -0.4226 +vn 0.9659 -0.2588 0.0000 +vn -0.9659 0.2588 0.0000 +vn -0.1094 -0.4082 -0.9063 +vn 0.1094 0.4082 0.9063 +vn -0.2346 -0.8754 0.4226 +vn 0.2346 0.8754 -0.4226 +vn 0.1094 0.4082 -0.9063 +vn -0.1094 -0.4082 0.9063 +vn 0.2346 0.8754 0.4226 +vn -0.2346 -0.8754 -0.4226 +vn 0.0000 -0.8944 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 +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.6303 -0.7311 -0.2611 +vn 0.0948 -0.9947 0.0393 +vn 0.0609 -0.9973 0.0399 +vn -0.5190 -0.7430 -0.4226 +vn 0.7150 -0.6333 0.2962 +vn 0.9239 -0.0000 0.3827 +vn 0.7690 -0.0000 0.6392 +vn 0.5735 -0.6721 0.4683 +vn 0.7150 0.6333 0.2962 +vn 0.0948 0.9947 0.0393 +vn 0.0609 0.9973 0.0399 +vn 0.5735 0.6721 0.4683 +vn -0.6303 0.7311 -0.2611 +vn -0.5190 0.7430 -0.4226 +vn -0.9239 -0.0000 -0.3827 +vn -0.7779 -0.0000 -0.6284 +vn 0.0183 0.9989 0.0441 +vn 0.2791 0.6840 0.6739 +vn 0.3827 0.0000 0.9239 +vn 0.2791 -0.6840 0.6739 +vn 0.0183 -0.9989 0.0441 +vn -0.2608 -0.7317 -0.6297 +vn -0.3827 -0.0000 -0.9239 +vn -0.2608 0.7317 -0.6297 +vn -0.0000 -0.7317 -0.6816 +vn -0.0000 0.7317 -0.6816 +vn 0.0000 0.9989 0.0477 +vn -0.0000 0.6840 0.7294 +vn -0.0000 -0.6840 0.7294 +vn 0.0000 -0.9989 0.0477 +vn -0.1436 0.6770 0.7219 +vn -0.1951 0.0000 0.9808 +vn -0.1436 -0.6770 0.7219 +vn -0.0095 -0.9988 0.0477 +vn 0.1343 -0.7251 -0.6754 +vn 0.1951 0.0000 -0.9808 +vn 0.1343 0.7251 -0.6754 +vn -0.0095 0.9988 0.0477 +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.3827 0.9239 0.0000 +vn 0.6303 0.7311 -0.2611 +vn -0.0948 0.9947 0.0393 +vn -0.0609 0.9973 0.0399 +vn 0.5190 0.7430 -0.4226 +vn -0.7150 0.6333 0.2962 +vn -0.9239 0.0000 0.3827 +vn -0.7690 -0.0000 0.6392 +vn -0.5735 0.6721 0.4683 +vn -0.7150 -0.6333 0.2962 +vn -0.0948 -0.9947 0.0393 +vn -0.0609 -0.9973 0.0399 +vn -0.5735 -0.6721 0.4683 +vn 0.6303 -0.7311 -0.2611 +vn 0.5190 -0.7430 -0.4226 +vn 0.9239 0.0000 -0.3827 +vn 0.7779 0.0000 -0.6284 +vn -0.0183 -0.9989 0.0441 +vn -0.2791 -0.6840 0.6739 +vn -0.3827 0.0000 0.9239 +vn -0.2791 0.6840 0.6739 +vn -0.0183 0.9989 0.0441 +vn 0.2608 0.7317 -0.6297 +vn 0.3827 0.0000 -0.9239 +vn 0.2608 -0.7317 -0.6297 +vn 0.1436 -0.6770 0.7219 +vn 0.1951 0.0000 0.9808 +vn 0.1436 0.6770 0.7219 +vn 0.0095 0.9988 0.0477 +vn -0.1344 0.7251 -0.6754 +vn -0.1951 -0.0000 -0.9808 +vn -0.1344 -0.7251 -0.6754 +vn 0.0095 -0.9988 0.0477 +vn -0.7311 0.6303 -0.2611 +vn -0.9947 -0.0948 0.0393 +vn -0.9973 -0.0609 0.0399 +vn -0.7430 0.5190 -0.4226 +vn -0.6333 -0.7150 0.2962 +vn 0.0000 -0.7690 0.6392 +vn -0.6721 -0.5735 0.4683 +vn 0.6333 -0.7150 0.2962 +vn 0.9947 -0.0948 0.0393 +vn 0.9973 -0.0609 0.0399 +vn 0.6721 -0.5735 0.4683 +vn 0.7311 0.6303 -0.2611 +vn 0.7430 0.5190 -0.4226 +vn 0.0000 0.7779 -0.6284 +vn 0.9989 -0.0183 0.0441 +vn 0.6840 -0.2791 0.6739 +vn -0.6840 -0.2791 0.6739 +vn -0.9989 -0.0183 0.0441 +vn -0.7317 0.2608 -0.6297 +vn 0.7317 0.2608 -0.6297 +vn -0.7317 0.0000 -0.6816 +vn 0.7317 -0.0000 -0.6816 +vn 0.9989 -0.0000 0.0477 +vn 0.6840 -0.0000 0.7294 +vn -0.6840 0.0000 0.7294 +vn -0.9989 0.0000 0.0477 +vn 0.6770 0.1436 0.7219 +vn 0.0000 0.1951 0.9808 +vn -0.6770 0.1436 0.7219 +vn -0.9988 0.0095 0.0477 +vn -0.7251 -0.1344 -0.6754 +vn -0.0000 -0.1951 -0.9808 +vn 0.7251 -0.1344 -0.6754 +vn 0.9988 0.0095 0.0477 +vn 0.7311 -0.6303 -0.2611 +vn 0.9947 0.0948 0.0393 +vn 0.9973 0.0609 0.0399 +vn 0.7430 -0.5190 -0.4226 +vn 0.6333 0.7150 0.2962 +vn 0.0000 0.7690 0.6392 +vn 0.6721 0.5735 0.4683 +vn -0.6333 0.7150 0.2962 +vn -0.9947 0.0948 0.0393 +vn -0.9973 0.0609 0.0399 +vn -0.6721 0.5735 0.4683 +vn -0.7311 -0.6303 -0.2611 +vn -0.7430 -0.5190 -0.4226 +vn 0.0000 -0.7779 -0.6284 +vn -0.9989 0.0183 0.0441 +vn -0.6840 0.2791 0.6739 +vn 0.0000 0.3827 0.9239 +vn 0.6840 0.2791 0.6739 +vn 0.9989 0.0183 0.0441 +vn 0.7317 -0.2608 -0.6297 +vn -0.7317 -0.2608 -0.6297 +vn -0.6770 -0.1436 0.7219 +vn 0.0000 -0.1951 0.9808 +vn 0.6770 -0.1436 0.7219 +vn 0.9988 -0.0095 0.0477 +vn 0.7251 0.1344 -0.6754 +vn 0.0000 0.1951 -0.9808 +vn -0.7251 0.1343 -0.6754 +vn -0.9988 -0.0095 0.0477 +vn -0.9627 -0.0712 -0.2611 +vn -0.6363 -0.7704 0.0393 +vn -0.6622 -0.7483 0.0399 +vn -0.8924 -0.1584 -0.4226 +vn 0.0578 -0.9534 0.2962 +vn 0.6533 -0.6533 0.3827 +vn 0.5438 -0.5438 0.6392 +vn -0.0697 -0.8808 0.4683 +vn 0.9534 -0.0578 0.2962 +vn 0.7704 0.6363 0.0393 +vn 0.7483 0.6622 0.0399 +vn 0.8808 0.0697 0.4683 +vn 0.0712 0.9627 -0.2611 +vn 0.1584 0.8924 -0.4226 +vn -0.6533 0.6533 -0.3827 +vn -0.5501 0.5501 -0.6284 +vn 0.7192 0.6934 0.0441 +vn 0.6811 0.2863 0.6739 +vn 0.2706 -0.2706 0.9239 +vn -0.2863 -0.6811 0.6739 +vn -0.6934 -0.7192 0.0441 +vn -0.7018 -0.3330 -0.6297 +vn -0.2706 0.2706 -0.9239 +vn 0.3330 0.7018 -0.6297 +vn -0.5174 -0.5174 -0.6816 +vn 0.5174 0.5174 -0.6816 +vn 0.7063 0.7063 0.0477 +vn 0.4837 0.4837 0.7294 +vn -0.4837 -0.4837 0.7294 +vn -0.7063 -0.7063 0.0477 +vn 0.3771 0.5802 0.7219 +vn -0.1379 0.1379 0.9808 +vn -0.5802 -0.3772 0.7219 +vn -0.7130 -0.6996 0.0477 +vn -0.4177 -0.6077 -0.6754 +vn 0.1379 -0.1379 -0.9808 +vn 0.6077 0.4177 -0.6754 +vn 0.6996 0.7130 0.0477 +vn 0.9627 0.0712 -0.2611 +vn 0.6363 0.7704 0.0393 +vn 0.6622 0.7483 0.0399 +vn 0.8924 0.1584 -0.4226 +vn -0.0578 0.9534 0.2962 +vn -0.6533 0.6533 0.3827 +vn -0.5438 0.5438 0.6392 +vn 0.0697 0.8808 0.4683 +vn -0.9534 0.0578 0.2962 +vn -0.7704 -0.6363 0.0393 +vn -0.7483 -0.6622 0.0399 +vn -0.8808 -0.0697 0.4683 +vn -0.0712 -0.9627 -0.2611 +vn -0.1584 -0.8924 -0.4226 +vn 0.6533 -0.6533 -0.3827 +vn 0.5501 -0.5501 -0.6284 +vn -0.7192 -0.6934 0.0441 +vn -0.6811 -0.2863 0.6739 +vn -0.2706 0.2706 0.9239 +vn 0.2863 0.6811 0.6739 +vn 0.6934 0.7192 0.0441 +vn 0.7018 0.3330 -0.6297 +vn 0.2706 -0.2706 -0.9239 +vn -0.3330 -0.7018 -0.6297 +vn -0.3771 -0.5802 0.7219 +vn 0.1379 -0.1379 0.9808 +vn 0.5802 0.3772 0.7219 +vn 0.7130 0.6996 0.0477 +vn 0.4177 0.6077 -0.6754 +vn -0.1379 0.1379 -0.9808 +vn -0.6077 -0.4177 -0.6754 +vn -0.6996 -0.7130 0.0477 +vn -0.0712 0.9627 -0.2611 +vn -0.7704 0.6363 0.0393 +vn -0.7483 0.6622 0.0399 +vn -0.1584 0.8924 -0.4226 +vn -0.9534 -0.0578 0.2962 +vn -0.6533 -0.6533 0.3827 +vn -0.5438 -0.5438 0.6392 +vn -0.8808 0.0697 0.4683 +vn -0.0578 -0.9534 0.2962 +vn 0.6363 -0.7704 0.0393 +vn 0.6622 -0.7483 0.0399 +vn 0.0697 -0.8808 0.4683 +vn 0.9627 -0.0712 -0.2611 +vn 0.8924 -0.1584 -0.4226 +vn 0.6533 0.6533 -0.3827 +vn 0.5501 0.5501 -0.6284 +vn 0.6934 -0.7192 0.0441 +vn 0.2863 -0.6811 0.6739 +vn -0.2706 -0.2706 0.9239 +vn -0.6811 0.2863 0.6739 +vn -0.7192 0.6934 0.0441 +vn -0.3330 0.7018 -0.6297 +vn 0.2706 0.2706 -0.9239 +vn 0.7018 -0.3330 -0.6297 +vn -0.5174 0.5174 -0.6816 +vn 0.5174 -0.5174 -0.6816 +vn 0.7063 -0.7063 0.0477 +vn 0.4837 -0.4837 0.7294 +vn -0.4837 0.4837 0.7294 +vn -0.7063 0.7063 0.0477 +vn 0.5802 -0.3772 0.7219 +vn 0.1379 0.1379 0.9808 +vn -0.3772 0.5802 0.7219 +vn -0.6996 0.7130 0.0477 +vn -0.6077 0.4177 -0.6754 +vn -0.1380 -0.1379 -0.9808 +vn 0.4177 -0.6077 -0.6754 +vn 0.7130 -0.6996 0.0477 +vn 0.0712 -0.9627 -0.2611 +vn 0.7704 -0.6363 0.0393 +vn 0.7483 -0.6622 0.0399 +vn 0.1584 -0.8924 -0.4226 +vn 0.9534 0.0578 0.2962 +vn 0.6533 0.6533 0.3827 +vn 0.5438 0.5438 0.6392 +vn 0.8808 -0.0697 0.4683 +vn 0.0578 0.9534 0.2962 +vn -0.6363 0.7704 0.0393 +vn -0.6622 0.7483 0.0399 +vn -0.0697 0.8808 0.4683 +vn -0.9627 0.0712 -0.2611 +vn -0.8924 0.1584 -0.4226 +vn -0.6533 -0.6533 -0.3827 +vn -0.5501 -0.5501 -0.6284 +vn -0.6934 0.7192 0.0441 +vn -0.2863 0.6811 0.6739 +vn 0.2706 0.2706 0.9239 +vn 0.6811 -0.2863 0.6739 +vn 0.7192 -0.6934 0.0441 +vn 0.3330 -0.7018 -0.6297 +vn -0.2706 -0.2706 -0.9239 +vn -0.7018 0.3330 -0.6297 +vn -0.5802 0.3772 0.7219 +vn -0.1379 -0.1379 0.9808 +vn 0.3771 -0.5802 0.7219 +vn 0.6996 -0.7130 0.0477 +vn 0.6077 -0.4177 -0.6754 +vn 0.1379 0.1379 -0.9808 +vn -0.4177 0.6077 -0.6754 +vn -0.7130 0.6996 0.0477 +vn 0.3215 -0.8985 -0.2988 +vn 0.8373 -0.3468 -0.4226 +vn 0.8627 0.4080 -0.2988 +vn -0.3215 0.8985 0.2988 +vn -0.8373 0.3468 0.4226 +vn -0.8627 -0.4080 0.2988 +vn -0.3215 0.8985 -0.2988 +vn -0.8373 0.3468 -0.4226 +vn -0.8627 -0.4080 -0.2988 +vn 0.3215 -0.8985 0.2988 +vn 0.8373 -0.3468 0.4226 +vn 0.8627 0.4080 0.2988 +vn -0.8985 -0.3215 -0.2988 +vn -0.3468 -0.8373 -0.4226 +vn 0.4080 -0.8627 -0.2988 +vn 0.8985 0.3215 0.2988 +vn 0.3468 0.8373 0.4226 +vn -0.4080 0.8627 0.2988 +vn 0.8985 0.3215 -0.2988 +vn 0.3468 0.8373 -0.4226 +vn -0.4080 0.8627 -0.2988 +vn -0.8985 -0.3215 0.2988 +vn -0.3468 -0.8373 0.4226 +vn 0.4080 -0.8627 0.2988 +vn -0.4080 -0.8627 -0.2988 +vn 0.3468 -0.8373 -0.4226 +vn 0.8985 -0.3215 -0.2988 +vn 0.4080 0.8627 0.2988 +vn -0.3468 0.8373 0.4226 +vn -0.8985 0.3215 0.2988 +vn 0.4080 0.8627 -0.2988 +vn -0.3468 0.8373 -0.4226 +vn -0.8985 0.3215 -0.2988 +vn -0.4080 -0.8627 0.2988 +vn 0.3468 -0.8373 0.4226 +vn 0.8985 -0.3215 0.2988 +vn -0.8627 0.4080 -0.2988 +vn -0.8373 -0.3468 -0.4226 +vn -0.3215 -0.8985 -0.2988 +vn 0.8627 -0.4080 0.2988 +vn 0.8373 0.3468 0.4226 +vn 0.3215 0.8985 0.2988 +vn 0.8627 -0.4080 -0.2988 +vn 0.8373 0.3468 -0.4226 +vn 0.3215 0.8985 -0.2988 +vn -0.8627 0.4080 0.2988 +vn -0.8373 -0.3468 0.4226 +vn -0.3215 -0.8985 0.2988 +vn -0.3162 0.3162 0.8944 +vn -0.4132 0.1711 0.8944 +vn 0.4132 -0.1711 0.8944 +vn 0.4472 -0.0000 0.8944 +vn -0.4472 -0.0000 0.8944 +vn 0.4132 0.1711 0.8944 +vn -0.4132 -0.1711 0.8944 +vn 0.3162 0.3162 0.8944 +vn -0.3162 -0.3162 0.8944 +vn 0.1711 0.4132 0.8944 +vn -0.1711 -0.4132 0.8944 +vn 0.0000 0.4472 0.8944 +vn -0.0000 -0.4472 0.8944 +vn 0.1711 -0.4132 0.8944 +vn -0.1711 0.4132 0.8944 +vn 0.3162 -0.3162 0.8944 +vn -0.8660 0.4532 0.2113 +vn 0.2588 0.8754 0.4082 +vn 0.5000 0.7849 0.3660 +vn 0.5000 -0.7849 -0.3660 +vn -0.8660 -0.4532 -0.2113 +vn 0.8660 0.4532 0.2113 +vn -0.5000 0.7849 0.3660 +vn -0.2588 0.8754 0.4082 +vn 0.7071 -0.6409 -0.2988 +vn 0.9659 -0.2346 -0.1094 +vn 0.8660 -0.4532 -0.2113 +vn 0.9891 0.0283 0.1448 +vn 0.6947 0.6947 0.1866 +vn 0.5000 0.5000 0.7071 +vn 0.8431 -0.0945 0.5294 +vn 0.0283 0.9891 0.1448 +vn -0.3812 0.9204 0.0866 +vn -0.4619 0.8446 0.2706 +vn -0.0945 0.8431 0.5294 +vn -0.0283 0.9891 0.1448 +vn 0.0945 0.8431 0.5294 +vn 0.4619 0.8446 0.2706 +vn 0.3812 0.9204 0.0866 +vn -0.9891 0.0283 0.1448 +vn -0.8431 -0.0945 0.5294 +vn -0.5000 0.5000 0.7071 +vn -0.6947 0.6947 0.1866 +vn -0.9204 -0.3812 0.0866 +vn -0.8446 -0.4619 0.2706 +vn 0.2384 0.6572 0.7150 +vn -0.7559 -0.5345 0.3780 +vn -0.6572 -0.2384 0.7150 +vn 0.5345 0.7559 0.3780 +vn 0.9204 -0.3812 0.0866 +vn 0.8446 -0.4619 0.2706 +vn -0.2384 0.6572 0.7150 +vn 0.6572 -0.2384 0.7150 +vn 0.7559 -0.5345 0.3780 +vn -0.5345 0.7559 0.3780 +s off +f 1//1 3//1 4//1 2//1 +f 5//2 6//2 8//2 7//2 +f 9//3 11//3 12//3 10//3 +f 13//4 14//4 16//4 15//4 +f 6//5 13//5 15//5 8//5 +f 4//6 16//6 14//6 2//6 +f 3//7 1//7 10//7 12//7 +f 5//8 7//8 11//8 9//8 +f 14//9 13//9 30//9 29//9 28//9 +f 13//9 6//9 32//9 31//9 30//9 +f 6//9 5//9 18//9 17//9 32//9 +f 5//9 9//9 20//9 19//9 18//9 +f 9//9 10//9 22//9 21//9 20//9 +f 10//9 1//9 24//9 23//9 22//9 +f 1//9 2//9 26//9 25//9 24//9 +f 2//9 14//9 28//9 27//9 26//9 +f 53//3 67//3 70//3 64//3 54//3 +f 58//6 60//6 63//6 69//6 56//6 50//6 +f 68//4 55//4 56//4 69//4 62//4 71//4 +f 49//1 57//1 58//1 50//1 +f 54//10 64//10 61//10 59//10 57//10 49//10 +f 58//11 57//11 59//11 60//11 +f 120//2 121//2 68//2 71//2 +f 74//3 76//3 75//3 73//3 +f 72//3 73//3 75//3 70//3 67//3 +f 76//12 74//12 77//12 78//12 +f 92//3 91//3 93//3 94//3 +f 84//3 83//3 85//3 86//3 +f 96//3 95//3 97//3 98//3 +f 80//3 88//3 87//3 79//3 +f 82//3 81//3 89//3 90//3 +f 80//3 82//3 90//3 92//3 94//3 84//3 86//3 96//3 98//3 88//3 +f 79//3 87//3 97//3 95//3 85//3 83//3 93//3 91//3 89//3 81//3 +f 95//1 96//1 112//1 111//1 +f 96//9 86//9 102//9 112//9 +f 94//2 93//2 109//2 110//2 +f 84//9 94//9 110//9 100//9 +f 104//3 114//3 113//3 103//3 +f 102//3 101//3 111//3 112//3 +f 100//3 110//3 109//3 99//3 +f 106//3 105//3 107//3 108//3 +f 88//9 98//9 114//9 104//9 +f 98//2 97//2 113//2 114//2 +f 97//13 87//13 103//13 113//13 +f 83//1 84//1 100//1 99//1 +f 85//13 95//13 111//13 101//13 +f 86//2 85//2 101//2 102//2 +f 93//13 83//13 99//13 109//13 +f 87//1 88//1 104//1 103//1 +f 89//13 91//13 107//13 105//13 +f 90//2 89//2 105//2 106//2 +f 92//9 90//9 106//9 108//9 +f 91//1 92//1 108//1 107//1 +f 62//13 69//13 116//13 115//13 +f 69//13 63//13 116//13 +f 74//13 73//13 117//13 118//13 +f 74//13 118//13 77//13 +f 71//14 62//14 115//14 120//14 +f 119//14 117//14 73//14 72//14 +f 122//2 119//2 72//2 67//2 +f 65//15 66//15 124//15 123//15 +f 66//15 68//15 121//15 124//15 +f 65//15 123//15 122//15 67//15 +f 465//16 464//16 481//16 482//16 +f 463//16 462//16 479//16 480//16 +f 461//16 468//16 477//16 478//16 +f 468//16 467//16 484//16 477//16 +f 466//16 465//16 482//16 483//16 +f 464//16 463//16 480//16 481//16 +f 462//16 461//16 478//16 479//16 +f 467//16 466//16 483//16 484//16 +f 492//16 491//16 490//16 489//16 488//16 487//16 486//16 485//16 +f 494//16 493//16 501//16 502//16 +f 493//16 500//16 508//16 501//16 +f 500//16 499//16 507//16 508//16 +f 499//16 498//16 506//16 507//16 +f 498//16 497//16 505//16 506//16 +f 497//16 496//16 504//16 505//16 +f 496//16 495//16 503//16 504//16 +f 495//16 494//16 502//16 503//16 +f 513//17 512//17 529//17 530//17 +f 511//17 510//17 527//17 528//17 +f 509//17 516//17 525//17 526//17 +f 516//17 515//17 532//17 525//17 +f 514//17 513//17 530//17 531//17 +f 512//17 511//17 528//17 529//17 +f 510//17 509//17 526//17 527//17 +f 515//18 514//18 531//18 532//18 +f 540//17 539//17 538//17 537//17 536//17 535//17 534//17 533//17 +f 542//17 541//17 549//17 550//17 +f 541//17 548//17 556//17 549//17 +f 548//17 547//17 555//17 556//17 +f 547//17 546//17 554//17 555//17 +f 546//17 545//17 553//17 554//17 +f 545//17 544//17 552//17 553//17 +f 544//17 543//17 551//17 552//17 +f 543//17 542//17 550//17 551//17 +f 561//19 560//19 577//19 578//19 +f 559//19 558//19 575//19 576//19 +f 557//19 564//19 573//19 574//19 +f 564//19 563//19 580//19 573//19 +f 562//19 561//19 578//19 579//19 +f 560//19 559//19 576//19 577//19 +f 558//19 557//19 574//19 575//19 +f 563//19 562//19 579//19 580//19 +f 588//19 587//19 586//19 585//19 584//19 583//19 582//19 581//19 +f 590//19 589//19 597//19 598//19 +f 589//19 596//19 604//19 597//19 +f 596//19 595//19 603//19 604//19 +f 595//19 594//19 602//19 603//19 +f 594//19 593//19 601//19 602//19 +f 593//19 592//19 600//19 601//19 +f 592//19 591//19 599//19 600//19 +f 591//19 590//19 598//19 599//19 +f 609//20 608//20 625//20 626//20 +f 607//20 606//20 623//20 624//20 +f 605//20 612//20 621//20 622//20 +f 612//20 611//20 628//20 621//20 +f 610//20 609//20 626//20 627//20 +f 608//20 607//20 624//20 625//20 +f 606//20 605//20 622//20 623//20 +f 611//20 610//20 627//20 628//20 +f 636//20 635//20 634//20 633//20 632//20 631//20 630//20 629//20 +f 638//20 637//20 645//20 646//20 +f 637//20 644//20 652//20 645//20 +f 644//20 643//20 651//20 652//20 +f 643//20 642//20 650//20 651//20 +f 642//20 641//20 649//20 650//20 +f 641//20 640//20 648//20 649//20 +f 640//20 639//20 647//20 648//20 +f 639//20 638//20 646//20 647//20 +f 657//21 656//21 673//21 674//21 +f 655//21 654//21 671//21 672//21 +f 653//21 660//21 669//21 670//21 +f 660//21 659//21 676//21 669//21 +f 658//21 657//21 674//21 675//21 +f 656//21 655//21 672//21 673//21 +f 654//21 653//21 670//21 671//21 +f 659//21 658//21 675//21 676//21 +f 684//21 683//21 682//21 681//21 680//21 679//21 678//21 677//21 +f 686//21 685//21 693//21 694//21 +f 685//21 692//21 700//21 693//21 +f 692//21 691//21 699//21 700//21 +f 691//22 690//22 698//22 699//22 +f 690//21 689//21 697//21 698//21 +f 689//21 688//21 696//21 697//21 +f 688//21 687//21 695//21 696//21 +f 687//21 686//21 694//21 695//21 +f 705//23 704//23 721//23 722//23 +f 703//23 702//23 719//23 720//23 +f 701//23 708//23 717//23 718//23 +f 708//23 707//23 724//23 717//23 +f 706//23 705//23 722//23 723//23 +f 704//23 703//23 720//23 721//23 +f 702//23 701//23 718//23 719//23 +f 707//23 706//23 723//23 724//23 +f 732//23 731//23 730//23 729//23 728//23 727//23 726//23 725//23 +f 734//23 733//23 741//23 742//23 +f 733//23 740//23 748//23 741//23 +f 740//23 739//23 747//23 748//23 +f 739//23 738//23 746//23 747//23 +f 738//23 737//23 745//23 746//23 +f 737//23 736//23 744//23 745//23 +f 736//23 735//23 743//23 744//23 +f 735//23 734//23 742//23 743//23 +f 753//24 752//24 769//24 770//24 +f 751//24 750//24 767//24 768//24 +f 749//24 756//24 765//24 766//24 +f 756//24 755//24 772//24 765//24 +f 754//24 753//24 770//24 771//24 +f 752//24 751//24 768//24 769//24 +f 750//24 749//24 766//24 767//24 +f 755//24 754//24 771//24 772//24 +f 780//24 779//24 778//24 777//24 776//24 775//24 774//24 773//24 +f 782//24 781//24 789//24 790//24 +f 781//24 788//24 796//24 789//24 +f 788//24 787//24 795//24 796//24 +f 787//24 786//24 794//24 795//24 +f 786//24 785//24 793//24 794//24 +f 785//24 784//24 792//24 793//24 +f 784//24 783//24 791//24 792//24 +f 783//24 782//24 790//24 791//24 +f 801//25 800//25 817//25 818//25 +f 799//25 798//25 815//25 816//25 +f 797//25 804//25 813//25 814//25 +f 804//25 803//25 820//25 813//25 +f 802//25 801//25 818//25 819//25 +f 800//25 799//25 816//25 817//25 +f 798//25 797//25 814//25 815//25 +f 803//25 802//25 819//25 820//25 +f 828//25 827//25 826//25 825//25 824//25 823//25 822//25 821//25 +f 830//25 829//25 837//25 838//25 +f 829//25 836//25 844//25 837//25 +f 836//25 835//25 843//25 844//25 +f 835//25 834//25 842//25 843//25 +f 834//25 833//25 841//25 842//25 +f 833//25 832//25 840//25 841//25 +f 832//25 831//25 839//25 840//25 +f 831//25 830//25 838//25 839//25 +f 858//26 857//26 859//26 860//26 +f 850//27 849//27 851//27 852//27 +f 848//28 847//28 852//28 851//28 +f 846//29 848//29 851//29 849//29 +f 845//30 846//30 849//30 850//30 +f 847//31 845//31 850//31 852//31 +f 856//32 855//32 860//32 859//32 +f 854//33 856//33 859//33 857//33 +f 853//34 854//34 857//34 858//34 +f 855//35 853//35 858//35 860//35 +f 874//36 873//36 875//36 876//36 +f 866//37 865//37 867//37 868//37 +f 864//38 863//38 868//38 867//38 +f 862//39 864//39 867//39 865//39 +f 861//40 862//40 865//40 866//40 +f 863//41 861//41 866//41 868//41 +f 872//42 871//42 876//42 875//42 +f 870//43 872//43 875//43 873//43 +f 869//44 870//44 873//44 874//44 +f 871//45 869//45 874//45 876//45 +f 890//46 889//46 891//46 892//46 +f 882//47 881//47 883//47 884//47 +f 880//48 879//48 884//48 883//48 +f 878//49 880//49 883//49 881//49 +f 877//50 878//50 881//50 882//50 +f 879//51 877//51 882//51 884//51 +f 888//52 887//52 892//52 891//52 +f 886//53 888//53 891//53 889//53 +f 885//54 886//54 889//54 890//54 +f 887//55 885//55 890//55 892//55 +f 906//56 905//56 907//56 908//56 +f 898//57 897//57 899//57 900//57 +f 896//58 895//58 900//58 899//58 +f 894//59 896//59 899//59 897//59 +f 893//60 894//60 897//60 898//60 +f 895//61 893//61 898//61 900//61 +f 904//62 903//62 908//62 907//62 +f 902//63 904//63 907//63 905//63 +f 901//64 902//64 905//64 906//64 +f 903//65 901//65 906//65 908//65 +f 922//66 921//66 923//66 924//66 +f 914//67 913//67 915//67 916//67 +f 912//68 911//68 916//68 915//68 +f 910//69 912//69 915//69 913//69 +f 909//70 910//70 913//70 914//70 +f 911//71 909//71 914//71 916//71 +f 920//72 919//72 924//72 923//72 +f 918//73 920//73 923//73 921//73 +f 917//74 918//74 921//74 922//74 +f 919//75 917//75 922//75 924//75 +f 938//76 937//76 939//76 940//76 +f 930//77 929//77 931//77 932//77 +f 928//78 927//78 932//78 931//78 +f 926//79 928//79 931//79 929//79 +f 925//80 926//80 929//80 930//80 +f 927//81 925//81 930//81 932//81 +f 936//82 935//82 940//82 939//82 +f 934//83 936//83 939//83 937//83 +f 933//84 934//84 937//84 938//84 +f 935//85 933//85 938//85 940//85 +f 954//86 953//86 955//86 956//86 +f 946//87 945//87 947//87 948//87 +f 944//88 943//88 948//88 947//88 +f 942//89 944//89 947//89 945//89 +f 941//90 942//90 945//90 946//90 +f 943//91 941//91 946//91 948//91 +f 952//92 951//92 956//92 955//92 +f 950//93 952//93 955//93 953//93 +f 949//94 950//94 953//94 954//94 +f 951//95 949//95 954//95 956//95 +f 970//96 969//96 971//96 972//96 +f 962//97 961//97 963//97 964//97 +f 960//98 959//98 964//98 963//98 +f 958//99 960//99 963//99 961//99 +f 957//100 958//100 961//100 962//100 +f 959//101 957//101 962//101 964//101 +f 968//102 967//102 972//102 971//102 +f 966//103 968//103 971//103 969//103 +f 965//104 966//104 969//104 970//104 +f 967//105 965//105 970//105 972//105 +f 1004//9 997//9 1013//9 1020//9 +f 1006//9 1007//9 1008//9 1009//9 1010//9 1011//9 1012//9 1005//9 +f 1003//9 1004//9 1020//9 1019//9 +f 1002//9 1003//9 1019//9 1018//9 +f 1001//9 1002//9 1018//9 1017//9 +f 1000//9 1001//9 1017//9 1016//9 +f 999//9 1000//9 1016//9 1015//9 +f 998//9 999//9 1015//9 1014//9 +f 997//9 998//9 1014//9 1013//9 +f 1028//9 1036//9 1030//9 1022//9 +f 1027//9 1035//9 1036//9 1028//9 +f 1026//9 1034//9 1035//9 1027//9 +f 1025//9 1033//9 1034//9 1026//9 +f 1024//9 1032//9 1033//9 1025//9 +f 1023//9 1031//9 1032//9 1024//9 +f 1021//9 1029//9 1031//9 1023//9 +f 1022//9 1030//9 1029//9 1021//9 +f 974//9 975//9 976//9 977//9 978//9 979//9 980//9 981//9 982//9 983//9 984//9 985//9 986//9 987//9 988//9 973//9 +f 15//13 1050//13 1051//13 1052//13 8//13 +f 16//13 1048//13 1049//13 1050//13 15//13 +f 4//13 1046//13 1047//13 1048//13 16//13 +f 3//13 1044//13 1045//13 1046//13 4//13 +f 12//13 1042//13 1043//13 1044//13 3//13 +f 11//13 1040//13 1041//13 1042//13 12//13 +f 7//13 1038//13 1039//13 1040//13 11//13 +f 8//13 1052//13 1037//13 1038//13 7//13 +f 52//9 51//9 1054//9 1053//9 1068//9 +f 55//9 52//9 1068//9 1067//9 1066//9 +f 56//9 55//9 1066//9 1065//9 1064//9 +f 50//9 56//9 1064//9 1063//9 1062//9 +f 49//9 50//9 1062//9 1061//9 1060//9 +f 54//9 49//9 1060//9 1059//9 1058//9 +f 53//9 54//9 1058//9 1057//9 1056//9 +f 51//9 53//9 1056//9 1055//9 1054//9 +f 1070//3 1069//3 1076//3 1075//3 1074//3 1073//3 1072//3 1071//3 +f 79//9 81//9 1079//9 1077//9 +f 81//1 82//1 1080//1 1079//1 +f 82//13 80//13 1078//13 1080//13 +f 80//2 79//2 1077//2 1078//2 +f 1081//4 1083//4 1084//4 1085//4 1086//4 1087//4 1088//4 1082//4 +f 1069//106 1082//106 1088//106 1076//106 +f 1075//107 1087//107 1086//107 1074//107 +f 1071//108 1083//108 1081//108 1070//108 +f 1076//109 1088//109 1087//109 1075//109 +f 1074//110 1086//110 1085//110 1073//110 +f 1072//111 1084//111 1083//111 1071//111 +f 1070//112 1081//112 1082//112 1069//112 +f 1089//9 1090//9 1092//9 1091//9 +f 1094//13 1093//13 1096//13 1095//13 +f 1092//6 1090//6 1095//6 1096//6 +f 1089//8 1091//8 1093//8 1094//8 +f 1091//5 1092//5 1096//5 1093//5 +f 1090//7 1089//7 1094//7 1095//7 +f 1097//9 1098//9 1100//9 1099//9 +f 1102//13 1101//13 1104//13 1103//13 +f 1100//8 1098//8 1103//8 1104//8 +f 1097//6 1099//6 1101//6 1102//6 +f 1099//7 1100//7 1104//7 1101//7 +f 1098//5 1097//5 1102//5 1103//5 +f 1105//9 1106//9 1108//9 1107//9 +f 1110//13 1109//13 1112//13 1111//13 +f 1108//7 1106//7 1111//7 1112//7 +f 1105//5 1107//5 1109//5 1110//5 +f 1107//6 1108//6 1112//6 1109//6 +f 1106//8 1105//8 1110//8 1111//8 +f 1113//9 1114//9 1116//9 1115//9 +f 1118//13 1117//13 1120//13 1119//13 +f 1116//5 1114//5 1119//5 1120//5 +f 1113//7 1115//7 1117//7 1118//7 +f 1115//8 1116//8 1120//8 1117//8 +f 1114//6 1113//6 1118//6 1119//6 +f 1121//9 1122//9 1124//9 1123//9 +f 1126//113 1125//113 1128//113 1127//113 +f 1124//6 1122//6 1127//6 1128//6 +f 1121//8 1123//8 1125//8 1126//8 +f 1123//5 1124//5 1128//5 1125//5 +f 1122//7 1121//7 1126//7 1127//7 +f 122//6 123//6 1135//6 1134//6 +f 124//7 121//7 1133//7 1136//7 +f 123//1 124//1 1136//1 1135//1 +f 1135//15 1136//15 1133//15 1134//15 +f 1140//4 1147//4 1146//4 1138//4 +f 1137//3 1145//3 1148//3 1139//3 +f 1138//114 1146//114 1145//114 1137//114 1142//114 1141//114 +f 1141//115 1142//115 1144//115 1143//115 +f 1137//116 1139//116 1144//116 1142//116 +f 1140//117 1138//117 1141//117 1143//117 +f 60//1 59//1 61//1 63//1 +f 1157//118 1158//118 1160//118 1159//118 +f 1154//4 1152//4 1162//4 1160//4 1158//4 1156//4 +f 1159//108 1160//108 1162//108 1161//108 +f 1161//119 1162//119 1152//119 1151//119 +f 1151//3 1153//3 1155//3 1157//3 1159//3 1161//3 +f 1150//1 1149//1 1163//1 1164//1 +f 1163//4 1149//4 1165//4 1167//4 +f 1150//3 1164//3 1168//3 1166//3 +f 1174//13 1173//13 1176//13 1175//13 +f 1172//4 1170//4 1175//4 1176//4 +f 1169//3 1171//3 1173//3 1174//3 +f 1171//2 1172//2 1176//2 1173//2 +f 1170//1 1169//1 1174//1 1175//1 +f 1182//13 1183//13 1184//13 1181//13 +f 1180//1 1179//1 1181//1 1184//1 +f 1177//2 1178//2 1183//2 1182//2 +f 1178//4 1180//4 1184//4 1183//4 +f 1179//3 1177//3 1182//3 1181//3 +f 1189//1 1195//1 1196//1 1190//1 +f 1187//120 1193//120 1194//120 1188//120 +f 1185//121 1191//121 1192//121 1186//121 +f 1190//122 1196//122 1191//122 1185//122 +f 1188//123 1194//123 1195//123 1189//123 +f 1186//2 1192//2 1193//2 1187//2 +f 1186//4 1187//4 1188//4 1189//4 1190//4 1185//4 +f 1198//2 1199//2 1205//2 1204//2 +f 1201//1 1202//1 1208//1 1207//1 +f 1199//120 1200//120 1206//120 1205//120 +f 1197//121 1198//121 1204//121 1203//121 +f 1202//122 1197//122 1203//122 1208//122 +f 1200//123 1201//123 1207//123 1206//123 +f 1207//3 1208//3 1214//3 1213//3 +f 1205//3 1206//3 1212//3 1211//3 +f 1203//3 1204//3 1210//3 1209//3 +f 1208//3 1203//3 1209//3 1214//3 +f 1206//3 1207//3 1213//3 1212//3 +f 1204//3 1205//3 1211//3 1210//3 +f 1214//122 1209//122 1215//122 1220//122 +f 1212//123 1213//123 1219//123 1218//123 +f 1210//2 1211//2 1217//2 1216//2 +f 1213//1 1214//1 1220//1 1219//1 +f 1211//120 1212//120 1218//120 1217//120 +f 1209//121 1210//121 1216//121 1215//121 +f 1217//4 1218//4 1224//4 1223//4 +f 1216//4 1217//4 1223//4 1222//4 +f 1215//4 1216//4 1222//4 1221//4 +f 1220//4 1215//4 1221//4 1226//4 +f 1219//4 1220//4 1226//4 1225//4 +f 1218//4 1219//4 1225//4 1224//4 +f 1224//123 1225//123 1231//123 1230//123 +f 1222//2 1223//2 1229//2 1228//2 +f 1225//1 1226//1 1232//1 1231//1 +f 1223//120 1224//120 1230//120 1229//120 +f 1221//121 1222//121 1228//121 1227//121 +f 1226//122 1221//122 1227//122 1232//122 +f 1229//3 1230//3 1236//3 1235//3 +f 1228//3 1229//3 1235//3 1234//3 +f 1227//3 1228//3 1234//3 1233//3 +f 1232//3 1227//3 1233//3 1238//3 +f 1231//3 1232//3 1238//3 1237//3 +f 1230//3 1231//3 1237//3 1236//3 +f 1234//2 1235//2 1241//2 1240//2 +f 1237//1 1238//1 1244//1 1243//1 +f 1235//120 1236//120 1242//120 1241//120 +f 1233//121 1234//121 1240//121 1239//121 +f 1238//122 1233//122 1239//122 1244//122 +f 1236//123 1237//123 1243//123 1242//123 +f 1239//124 1240//124 1246//124 1245//124 +f 1244//125 1239//125 1245//125 1250//125 +f 1242//126 1243//126 1249//126 1248//126 +f 1240//127 1241//127 1247//127 1246//127 +f 1243//128 1244//128 1250//128 1249//128 +f 1241//129 1242//129 1248//129 1247//129 +f 1246//4 1247//4 1248//4 1249//4 1250//4 1245//4 +f 1251//2 1252//2 1254//2 1253//2 +f 1269//3 1267//3 1272//3 1276//3 1274//3 +f 1253//13 1254//13 1258//13 1255//13 +f 1254//4 1252//4 1257//4 1258//4 +f 1251//3 1253//3 1255//3 1256//3 +f 1259//130 1260//130 1263//130 1264//130 +f 1261//3 1259//3 1264//3 1266//3 +f 1262//11 1261//11 1266//11 1265//11 +f 1260//4 1262//4 1265//4 1263//4 +f 1267//131 1269//131 1270//131 1268//131 +f 1274//13 1276//13 1275//13 1273//13 +f 1268//4 1270//4 1273//4 1275//4 1271//4 +f 1267//130 1268//130 1271//130 1272//130 +f 1272//132 1271//132 1275//132 1276//132 +f 1270//11 1269//11 1274//11 1273//11 +f 1282//130 1283//130 1284//130 1281//130 +f 1278//4 1280//4 1284//4 1283//4 +f 1279//3 1277//3 1282//3 1281//3 +f 1280//132 1279//132 1281//132 1284//132 +f 1277//131 1278//131 1283//131 1282//131 +f 1294//114 1295//114 1305//114 1304//114 1303//114 1302//114 1301//114 1300//114 1299//114 1298//114 1297//114 1296//114 +f 1295//3 1285//3 1306//3 1311//3 +f 1307//133 1293//133 1302//133 1312//133 +f 1302//114 1303//114 1313//114 1312//114 +f 1303//114 1304//114 1314//114 1313//114 +f 1304//114 1305//114 1315//114 1314//114 +f 1311//114 1315//114 1305//114 1295//114 +f 1285//134 1309//134 1310//134 1306//134 +f 1329//114 1330//114 1331//114 1332//114 1333//114 1334//114 1335//114 1336//114 1337//114 1338//114 1339//114 1328//114 +f 52//2 66//2 65//2 51//2 +f 1130//8 1347//8 1345//8 1132//8 +f 53//8 51//8 1344//8 1346//8 +f 65//8 67//8 1129//8 1131//8 +f 53//8 1346//8 1347//8 1130//8 1129//8 67//8 +f 51//8 65//8 1131//8 1132//8 1345//8 1344//8 +f 55//5 1341//5 1340//5 52//5 +f 68//5 1343//5 1341//5 55//5 +f 68//5 66//5 1342//5 1343//5 +f 52//5 1340//5 1342//5 66//5 +f 1343//135 1342//135 1353//135 1352//135 +f 1129//5 1130//5 1350//5 1348//5 +f 1347//136 1443//136 1440//136 1345//136 +f 1349//8 1348//8 1350//8 1351//8 +f 1344//13 1441//13 1442//13 1346//13 +f 1354//5 1352//5 1353//5 1355//5 +f 1130//137 1132//137 1351//137 1350//137 +f 1346//5 1442//5 1443//5 1347//5 +f 1131//138 1129//138 1348//138 1349//138 +f 1132//7 1131//7 1349//7 1351//7 +f 1355//6 1353//6 1342//6 1340//6 +f 1352//8 1354//8 1341//8 1343//8 +f 1363//3 1393//3 1482//3 1483//3 +f 1393//139 1392//139 1490//139 1482//139 +f 1378//4 1370//4 1498//4 1362//4 +f 1364//140 1363//140 1483//140 1484//140 +f 1362//4 1498//4 1461//4 1468//4 +f 1482//141 1490//141 1475//141 1476//141 +f 1364//4 1392//4 1386//4 +f 1386//132 1399//132 1363//132 1364//132 +f 1399//3 1393//3 1363//3 +f 1370//4 1378//4 1385//4 +f 1385//132 1384//132 1371//132 1370//132 +f 1384//3 1377//3 1371//3 +f 1408//13 1407//13 1399//13 1386//13 +f 1400//9 1406//9 1392//9 1393//9 +f 1421//4 1414//4 1385//4 1378//4 +f 1415//3 1422//3 1377//3 1384//3 +f 1407//3 1400//3 1393//3 1399//3 +f 1414//13 1415//13 1384//13 1385//13 +f 1422//9 1421//9 1378//9 1377//9 +f 1406//4 1408//4 1386//4 1392//4 +f 1377//139 1378//139 1362//139 1491//139 +f 1392//4 1364//4 1484//4 1490//4 +f 1722//2 1709//2 1727//2 1725//2 +f 1440//8 1443//8 1442//8 1441//8 +f 1345//7 1440//7 1441//7 1344//7 +f 1354//13 1355//13 1340//13 1341//13 +f 1498//142 1497//142 1462//142 1461//142 +f 1497//3 1491//3 1469//3 1462//3 +f 1483//3 1482//3 1476//3 1460//3 +f 1491//141 1362//141 1468//141 1469//141 +f 1490//4 1484//4 1454//4 1475//4 +f 1484//142 1483//142 1460//142 1454//142 +f 1371//3 1377//3 1491//3 1497//3 +f 1370//140 1371//140 1497//140 1498//140 +f 1516//4 1517//4 1519//4 1518//4 +f 1524//3 1525//3 1527//3 1526//3 +f 1518//143 1519//143 1523//143 1520//143 +f 1517//144 1516//144 1521//144 1522//144 +f 1519//145 1517//145 1522//145 1523//145 +f 1516//146 1518//146 1520//146 1521//146 +f 1526//114 1527//114 1531//114 1528//114 +f 1525//134 1524//134 1529//134 1530//134 +f 1527//115 1525//115 1530//115 1531//115 +f 1524//147 1526//147 1528//147 1529//147 +f 1532//1 1533//1 1535//1 1534//1 +f 1540//2 1541//2 1543//2 1542//2 +f 1534//148 1535//148 1539//148 1536//148 +f 1533//149 1532//149 1537//149 1538//149 +f 1535//150 1533//150 1538//150 1539//150 +f 1532//151 1534//151 1536//151 1537//151 +f 1542//152 1543//152 1547//152 1544//152 +f 1541//153 1540//153 1545//153 1546//153 +f 1543//154 1541//154 1546//154 1547//154 +f 1540//155 1542//155 1544//155 1545//155 +f 1548//6 1549//6 1551//6 1550//6 +f 1556//8 1557//8 1559//8 1558//8 +f 1550//156 1551//156 1555//156 1552//156 +f 1549//157 1548//157 1553//157 1554//157 +f 1551//158 1549//158 1554//158 1555//158 +f 1548//159 1550//159 1552//159 1553//159 +f 1558//160 1559//160 1563//160 1560//160 +f 1557//161 1556//161 1561//161 1562//161 +f 1559//162 1557//162 1562//162 1563//162 +f 1556//163 1558//163 1560//163 1561//163 +f 1564//7 1565//7 1567//7 1566//7 +f 1572//5 1573//5 1575//5 1574//5 +f 1566//164 1567//164 1571//164 1568//164 +f 1565//165 1564//165 1569//165 1570//165 +f 1567//166 1565//166 1570//166 1571//166 +f 1564//167 1566//167 1568//167 1569//167 +f 1574//168 1575//168 1579//168 1576//168 +f 1573//169 1572//169 1577//169 1578//169 +f 1575//170 1573//170 1578//170 1579//170 +f 1572//171 1574//171 1576//171 1577//171 +f 1580//172 1581//172 1583//172 1582//172 +f 1588//173 1589//173 1591//173 1590//173 +f 1582//174 1583//174 1587//174 1584//174 +f 1581//175 1580//175 1585//175 1586//175 +f 1583//176 1581//176 1586//176 1587//176 +f 1580//177 1582//177 1584//177 1585//177 +f 1590//178 1591//178 1595//178 1592//178 +f 1589//179 1588//179 1593//179 1594//179 +f 1591//180 1589//180 1594//180 1595//180 +f 1588//181 1590//181 1592//181 1593//181 +f 1596//182 1597//182 1599//182 1598//182 +f 1604//183 1605//183 1607//183 1606//183 +f 1598//184 1599//184 1603//184 1600//184 +f 1597//185 1596//185 1601//185 1602//185 +f 1599//186 1597//186 1602//186 1603//186 +f 1596//187 1598//187 1600//187 1601//187 +f 1606//188 1607//188 1611//188 1608//188 +f 1605//189 1604//189 1609//189 1610//189 +f 1607//190 1605//190 1610//190 1611//190 +f 1604//191 1606//191 1608//191 1609//191 +f 1612//192 1613//192 1615//192 1614//192 +f 1620//193 1621//193 1623//193 1622//193 +f 1614//194 1615//194 1619//194 1616//194 +f 1613//195 1612//195 1617//195 1618//195 +f 1615//196 1613//196 1618//196 1619//196 +f 1612//197 1614//197 1616//197 1617//197 +f 1622//198 1623//198 1627//198 1624//198 +f 1621//199 1620//199 1625//199 1626//199 +f 1623//200 1621//200 1626//200 1627//200 +f 1620//201 1622//201 1624//201 1625//201 +f 1628//202 1629//202 1631//202 1630//202 +f 1636//203 1637//203 1639//203 1638//203 +f 1630//204 1631//204 1635//204 1632//204 +f 1629//205 1628//205 1633//205 1634//205 +f 1631//206 1629//206 1634//206 1635//206 +f 1628//207 1630//207 1632//207 1633//207 +f 1638//208 1639//208 1643//208 1640//208 +f 1637//209 1636//209 1641//209 1642//209 +f 1639//210 1637//210 1642//210 1643//210 +f 1636//211 1638//211 1640//211 1641//211 +f 1644//212 1645//212 1647//212 1646//212 +f 1652//213 1653//213 1655//213 1654//213 +f 1646//214 1647//214 1651//214 1648//214 +f 1645//215 1644//215 1649//215 1650//215 +f 1647//216 1645//216 1650//216 1651//216 +f 1644//217 1646//217 1648//217 1649//217 +f 1654//218 1655//218 1659//218 1656//218 +f 1653//219 1652//219 1657//219 1658//219 +f 1655//220 1653//220 1658//220 1659//220 +f 1652//221 1654//221 1656//221 1657//221 +f 1660//222 1661//222 1663//222 1662//222 +f 1668//223 1669//223 1671//223 1670//223 +f 1662//224 1663//224 1667//224 1664//224 +f 1661//225 1660//225 1665//225 1666//225 +f 1663//226 1661//226 1666//226 1667//226 +f 1660//227 1662//227 1664//227 1665//227 +f 1670//228 1671//228 1675//228 1672//228 +f 1669//229 1668//229 1673//229 1674//229 +f 1671//230 1669//230 1674//230 1675//230 +f 1668//231 1670//231 1672//231 1673//231 +f 1676//232 1677//232 1679//232 1678//232 +f 1684//233 1685//233 1687//233 1686//233 +f 1678//234 1679//234 1683//234 1680//234 +f 1677//235 1676//235 1681//235 1682//235 +f 1679//236 1677//236 1682//236 1683//236 +f 1676//237 1678//237 1680//237 1681//237 +f 1686//238 1687//238 1691//238 1688//238 +f 1685//239 1684//239 1689//239 1690//239 +f 1687//240 1685//240 1690//240 1691//240 +f 1684//241 1686//241 1688//241 1689//241 +f 1692//242 1693//242 1695//242 1694//242 +f 1700//243 1701//243 1703//243 1702//243 +f 1694//244 1695//244 1699//244 1696//244 +f 1693//245 1692//245 1697//245 1698//245 +f 1695//246 1693//246 1698//246 1699//246 +f 1692//247 1694//247 1696//247 1697//247 +f 1702//248 1703//248 1707//248 1704//248 +f 1701//249 1700//249 1705//249 1706//249 +f 1703//250 1701//250 1706//250 1707//250 +f 1700//251 1702//251 1704//251 1705//251 +f 1710//122 1711//122 1713//122 1712//122 +f 1709//9 1708//9 1726//9 1727//9 +f 1712//1 1713//1 1715//1 1714//1 +f 1708//1 1723//1 1724//1 1726//1 +f 1714//123 1715//123 1717//123 1716//123 +f 1723//13 1722//13 1725//13 1724//13 +f 1716//120 1717//120 1719//120 1718//120 +f 1713//4 1711//4 1721//4 1719//4 1717//4 1715//4 +f 1709//3 1722//3 1723//3 1708//3 +f 1718//2 1719//2 1721//2 1720//2 +f 1720//121 1721//121 1711//121 1710//121 +f 1710//3 1712//3 1714//3 1716//3 1718//3 1720//3 +f 1726//6 1724//6 1728//6 1729//6 +f 1726//9 1729//9 1727//9 +f 1725//13 1728//13 1724//13 +f 1728//13 1725//13 1730//13 1733//13 +f 1733//1 1730//1 1736//1 1737//1 +f 1729//4 1728//4 1733//4 1732//4 +f 1727//9 1729//9 1732//9 1731//9 +f 1725//3 1727//3 1731//3 1730//3 +f 1733//4 1735//4 1732//4 +f 1731//3 1734//3 1730//3 +f 1732//130 1735//130 1734//130 1731//130 +f 1738//140 1739//140 1743//140 1742//140 +f 1735//4 1733//4 1737//4 1739//4 +f 1734//2 1735//2 1739//2 1738//2 +f 1730//3 1734//3 1738//3 1736//3 +f 1741//4 1745//4 1743//4 +f 1736//3 1738//3 1742//3 1740//3 +f 1737//139 1736//139 1740//139 1741//139 +f 1739//4 1737//4 1741//4 1743//4 +f 1743//132 1745//132 1744//132 1742//132 +f 1740//3 1744//3 1748//3 1747//3 +f 1740//3 1742//3 1744//3 +f 1751//9 1747//9 1752//9 1755//9 +f 1741//9 1740//9 1747//9 1746//9 +f 1745//4 1741//4 1746//4 1749//4 +f 1744//13 1745//13 1749//13 1748//13 +f 1749//13 1750//13 1748//13 +f 1746//6 1751//6 1750//6 1749//6 +f 1747//9 1751//9 1746//9 +f 1747//2 1748//2 1753//2 1752//2 +f 1748//13 1750//13 1754//13 1753//13 +f 1750//1 1751//1 1755//1 1754//1 +s 1 +f 17//252 18//253 34//253 33//252 +f 32//254 17//252 33//252 48//254 +f 31//255 32//254 48//254 47//255 +f 30//256 31//255 47//255 46//256 +f 29//257 30//256 46//256 45//257 +f 28//258 29//257 45//257 44//258 +f 27//259 28//258 44//258 43//259 +f 26//260 27//259 43//259 42//260 +f 25//261 26//260 42//260 41//261 +f 24//262 25//261 41//261 40//262 +f 23//263 24//262 40//262 39//263 +f 22//264 23//263 39//263 38//264 +f 21//265 22//264 38//264 37//265 +f 20//266 21//265 37//265 36//266 +f 19//267 20//266 36//266 35//267 +f 18//253 19//267 35//267 34//253 +f 129//268 128//269 137//270 136//271 +f 127//272 126//273 139//274 138//275 +f 125//276 132//277 133//278 140//279 +f 132//277 131//280 134//281 133//278 +f 130//282 129//268 136//271 135//283 +f 128//269 127//272 138//275 137//270 +f 126//273 125//276 140//279 139//274 +f 131//280 130//282 135//283 134//281 +f 140//279 133//278 141//284 148//285 +f 138//275 139//274 147//286 146//287 +f 136//271 137//270 145//288 144//289 +f 134//281 135//283 143//290 142//291 +f 139//274 140//279 148//285 147//286 +f 137//270 138//275 146//287 145//288 +f 135//283 136//271 144//289 143//290 +f 133//278 134//281 142//291 141//284 +f 143//290 144//289 152//292 151//13 +f 141//284 142//291 150//293 149//294 +f 148//285 141//284 149//294 156//295 +f 146//287 147//286 155//9 154//296 +f 144//289 145//288 153//297 152//292 +f 142//291 143//290 151//13 150//293 +f 147//286 148//285 156//295 155//9 +f 145//288 146//287 154//296 153//297 +f 155//9 156//295 164//298 163//299 +f 153//297 154//296 162//300 161//301 +f 151//13 152//292 160//302 159//303 +f 149//294 150//293 158//304 157//305 +f 156//295 149//294 157//305 164//298 +f 154//296 155//9 163//299 162//300 +f 152//292 153//297 161//301 160//302 +f 150//293 151//13 159//303 158//304 +f 33//1 34//306 166//306 165//1 +f 48//307 33//1 165//1 180//307 +f 41//2 42//308 174//308 173//2 +f 34//306 35//6 167//6 166//306 +f 42//308 43//8 175//8 174//308 +f 35//6 36//309 168//309 167//6 +f 43//8 44//310 176//310 175//8 +f 36//309 37//4 169//4 168//309 +f 44//310 45//3 177//3 176//310 +f 37//4 38//311 170//311 169//4 +f 45//3 46//312 178//312 177//3 +f 38//311 39//5 171//5 170//311 +f 46//312 47//7 179//7 178//312 +f 39//5 40//313 172//313 171//5 +f 47//7 48//307 180//307 179//7 +f 40//313 41//2 173//2 172//313 +f 185//314 184//315 193//316 192//317 +f 183//318 182//319 195//320 194//321 +f 181//322 188//323 189//324 196//325 +f 188//323 187//326 190//327 189//324 +f 186//328 185//314 192//317 191//329 +f 184//315 183//318 194//321 193//316 +f 182//319 181//322 196//325 195//320 +f 187//326 186//328 191//329 190//327 +f 196//325 189//324 197//330 204//331 +f 194//321 195//320 203//332 202//333 +f 192//317 193//316 201//334 200//335 +f 190//327 191//329 199//336 198//337 +f 195//320 196//325 204//331 203//332 +f 193//316 194//321 202//333 201//334 +f 191//329 192//317 200//335 199//336 +f 189//324 190//327 198//337 197//330 +f 199//336 200//335 208//293 207//13 +f 197//330 198//337 206//292 205//297 +f 204//331 197//330 205//297 212//296 +f 202//333 203//332 211//9 210//295 +f 200//335 201//334 209//294 208//293 +f 198//337 199//336 207//13 206//292 +f 203//332 204//331 212//296 211//9 +f 201//334 202//333 210//295 209//294 +f 211//9 212//296 220//338 219//339 +f 209//294 210//295 218//340 217//341 +f 207//13 208//293 216//342 215//343 +f 205//297 206//292 214//344 213//345 +f 212//296 205//297 213//345 220//338 +f 210//295 211//9 219//339 218//340 +f 208//293 209//294 217//341 216//342 +f 206//292 207//13 215//343 214//344 +f 225//346 224//347 233//348 232//349 +f 223//350 222//107 235//351 234//352 +f 221//353 228//354 229//355 236//356 +f 228//354 227//357 230//358 229//355 +f 226//108 225//346 232//349 231//359 +f 224//347 223//350 234//352 233//348 +f 222//107 221//353 236//356 235//351 +f 227//357 226//108 231//359 230//358 +f 236//356 229//355 237//360 244//361 +f 234//352 235//351 243//110 242//362 +f 232//349 233//348 241//363 240//364 +f 230//358 231//359 239//112 238//365 +f 235//351 236//356 244//361 243//110 +f 233//348 234//352 242//362 241//363 +f 231//359 232//349 240//364 239//112 +f 229//355 230//358 238//365 237//360 +f 239//112 240//364 248//366 247//13 +f 237//360 238//365 246//367 245//368 +f 244//361 237//360 245//368 252//369 +f 242//362 243//110 251//9 250//370 +f 240//364 241//363 249//371 248//366 +f 238//365 239//112 247//13 246//367 +f 243//110 244//361 252//369 251//9 +f 241//363 242//362 250//370 249//371 +f 251//9 252//369 260//372 259//373 +f 249//371 250//370 258//374 257//375 +f 247//13 248//366 256//376 255//377 +f 245//368 246//367 254//378 253//379 +f 252//369 245//368 253//379 260//372 +f 250//370 251//9 259//373 258//374 +f 248//366 249//371 257//375 256//376 +f 246//367 247//13 255//377 254//378 +f 265//380 264//381 273//382 272//383 +f 263//384 262//111 275//385 274//386 +f 261//387 268//388 269//389 276//390 +f 268//388 267//391 270//392 269//389 +f 266//109 265//380 272//383 271//393 +f 264//381 263//384 274//386 273//382 +f 262//111 261//387 276//390 275//385 +f 267//391 266//109 271//393 270//392 +f 276//390 269//389 277//394 284//395 +f 274//386 275//385 283//396 282//397 +f 272//383 273//382 281//398 280//399 +f 270//392 271//393 279//106 278//400 +f 275//385 276//390 284//395 283//396 +f 273//382 274//386 282//397 281//398 +f 271//393 272//383 280//399 279//106 +f 269//389 270//392 278//400 277//394 +f 279//106 280//399 288//367 287//13 +f 277//394 278//400 286//366 285//371 +f 284//395 277//394 285//371 292//370 +f 282//397 283//396 291//9 290//369 +f 280//399 281//398 289//368 288//367 +f 278//400 279//106 287//13 286//366 +f 283//396 284//395 292//370 291//9 +f 281//398 282//397 290//369 289//368 +f 291//9 292//370 300//401 299//402 +f 289//368 290//369 298//403 297//404 +f 287//13 288//367 296//405 295//406 +f 285//371 286//366 294//407 293//408 +f 292//370 285//371 293//408 300//401 +f 290//369 291//9 299//402 298//403 +f 288//367 289//368 297//404 296//405 +f 286//366 287//13 295//406 294//407 +f 305//409 304//410 313//411 312//412 +f 303//413 302//414 315//415 314//416 +f 301//417 308//418 309//419 316//420 +f 308//418 307//421 310//422 309//419 +f 306//423 305//409 312//412 311//424 +f 304//410 303//413 314//416 313//411 +f 302//414 301//417 316//420 315//415 +f 307//421 306//423 311//424 310//422 +f 316//420 309//419 317//425 324//426 +f 314//416 315//415 323//427 322//428 +f 312//412 313//411 321//429 320//430 +f 310//422 311//424 319//431 318//432 +f 315//415 316//420 324//426 323//427 +f 313//411 314//416 322//428 321//429 +f 311//424 312//412 320//430 319//431 +f 309//419 310//422 318//432 317//425 +f 319//431 320//430 328//433 327//13 +f 317//425 318//432 326//434 325//435 +f 324//426 317//425 325//435 332//436 +f 322//428 323//427 331//9 330//437 +f 320//430 321//429 329//438 328//433 +f 318//432 319//431 327//13 326//434 +f 323//427 324//426 332//436 331//9 +f 321//429 322//428 330//437 329//438 +f 331//9 332//436 340//439 339//440 +f 329//438 330//437 338//441 337//442 +f 327//13 328//433 336//443 335//444 +f 325//435 326//434 334//445 333//446 +f 332//436 325//435 333//446 340//439 +f 330//437 331//9 339//440 338//441 +f 328//433 329//438 337//442 336//443 +f 326//434 327//13 335//444 334//445 +f 345//447 344//448 353//449 352//450 +f 343//451 342//452 355//453 354//454 +f 341//455 348//456 349//457 356//458 +f 348//456 347//459 350//460 349//457 +f 346//461 345//447 352//450 351//462 +f 344//448 343//451 354//454 353//449 +f 342//452 341//455 356//458 355//453 +f 347//459 346//461 351//462 350//460 +f 356//458 349//457 357//463 364//464 +f 354//454 355//453 363//465 362//466 +f 352//450 353//449 361//467 360//468 +f 350//460 351//462 359//469 358//470 +f 355//453 356//458 364//464 363//465 +f 353//449 354//454 362//466 361//467 +f 351//462 352//450 360//468 359//469 +f 349//457 350//460 358//470 357//463 +f 359//469 360//468 368//434 367//13 +f 357//463 358//470 366//433 365//438 +f 364//464 357//463 365//438 372//437 +f 362//466 363//465 371//9 370//436 +f 360//468 361//467 369//435 368//434 +f 358//470 359//469 367//13 366//433 +f 363//465 364//464 372//437 371//9 +f 361//467 362//466 370//436 369//435 +f 371//9 372//437 380//471 379//472 +f 369//435 370//436 378//473 377//474 +f 367//13 368//434 376//475 375//476 +f 365//438 366//433 374//477 373//478 +f 372//437 365//438 373//478 380//471 +f 370//436 371//9 379//472 378//473 +f 368//434 369//435 377//474 376//475 +f 366//433 367//13 375//476 374//477 +f 385//479 384//480 393//481 392//482 +f 383//483 382//484 395//485 394//486 +f 381//487 388//488 389//489 396//490 +f 388//488 387//491 390//492 389//489 +f 386//493 385//479 392//482 391//494 +f 384//480 383//483 394//486 393//481 +f 382//484 381//487 396//490 395//485 +f 387//491 386//493 391//494 390//492 +f 396//490 389//489 397//495 404//496 +f 394//486 395//485 403//497 402//498 +f 392//482 393//481 401//499 400//500 +f 390//492 391//494 399//501 398//502 +f 395//485 396//490 404//496 403//497 +f 393//481 394//486 402//498 401//499 +f 391//494 392//482 400//500 399//501 +f 389//489 390//492 398//502 397//495 +f 399//501 400//500 408//503 407//13 +f 397//495 398//502 406//504 405//505 +f 404//496 397//495 405//505 412//506 +f 402//498 403//497 411//9 410//507 +f 400//500 401//499 409//508 408//503 +f 398//502 399//501 407//13 406//504 +f 403//497 404//496 412//506 411//9 +f 401//499 402//498 410//507 409//508 +f 411//9 412//506 420//509 419//510 +f 409//508 410//507 418//511 417//512 +f 407//13 408//503 416//513 415//514 +f 405//505 406//504 414//515 413//516 +f 412//506 405//505 413//516 420//509 +f 410//507 411//9 419//510 418//511 +f 408//503 409//508 417//512 416//513 +f 406//504 407//13 415//514 414//515 +f 425//517 424//518 433//519 432//520 +f 423//521 422//522 435//523 434//524 +f 421//525 428//526 429//527 436//528 +f 428//526 427//529 430//530 429//527 +f 426//531 425//517 432//520 431//532 +f 424//518 423//521 434//524 433//519 +f 422//522 421//525 436//528 435//523 +f 427//529 426//531 431//532 430//530 +f 436//528 429//527 437//533 444//534 +f 434//524 435//523 443//535 442//536 +f 432//520 433//519 441//537 440//538 +f 430//530 431//532 439//539 438//540 +f 435//523 436//528 444//534 443//535 +f 433//519 434//524 442//536 441//537 +f 431//532 432//520 440//538 439//539 +f 429//527 430//530 438//540 437//533 +f 439//539 440//538 448//504 447//13 +f 437//533 438//540 446//503 445//508 +f 444//534 437//533 445//508 452//507 +f 442//536 443//535 451//9 450//506 +f 440//538 441//537 449//505 448//504 +f 438//540 439//539 447//13 446//503 +f 443//535 444//534 452//507 451//9 +f 441//537 442//536 450//506 449//505 +f 451//9 452//507 460//541 459//542 +f 449//505 450//506 458//543 457//544 +f 447//13 448//504 456//545 455//546 +f 445//508 446//503 454//547 453//548 +f 452//507 445//508 453//548 460//541 +f 450//506 451//9 459//542 458//543 +f 448//504 449//505 457//544 456//545 +f 446//503 447//13 455//546 454//547 +f 469//307 470//549 467//549 468//307 +f 471//550 472//551 465//551 466//550 +f 473//313 474//552 463//552 464//313 +f 475//553 476//554 461//554 462//553 +f 470//549 471//550 466//550 467//549 +f 472//551 473//313 464//313 465//551 +f 474//552 475//553 462//553 463//552 +f 476//554 469//307 468//307 461//554 +f 491//552 492//313 501//313 508//552 +f 478//554 477//307 493//307 494//554 +f 490//553 491//552 508//552 507//553 +f 477//307 484//549 500//549 493//307 +f 489//554 490//553 507//553 506//554 +f 484//549 483//550 499//550 500//549 +f 488//307 489//554 506//554 505//307 +f 483//550 482//551 498//551 499//550 +f 479//553 478//554 494//554 495//553 +f 492//313 485//551 502//551 501//313 +f 480//552 479//553 495//553 496//552 +f 485//551 486//550 503//550 502//551 +f 481//313 480//552 496//552 497//313 +f 486//550 487//549 504//549 503//550 +f 482//551 481//313 497//313 498//551 +f 487//549 488//307 505//307 504//549 +f 517//313 518//555 515//555 516//313 +f 519//556 520//557 513//557 514//556 +f 521//307 522//558 511//558 512//307 +f 523//559 524//560 509//560 510//559 +f 518//555 519//556 514//556 515//555 +f 520//557 521//307 512//307 513//557 +f 522//558 523//559 510//559 511//558 +f 524//560 517//313 516//313 509//560 +f 539//558 540//307 549//307 556//558 +f 526//560 525//313 541//313 542//560 +f 538//559 539//558 556//558 555//559 +f 525//313 532//555 548//555 541//313 +f 537//560 538//559 555//559 554//560 +f 532//555 531//556 547//556 548//555 +f 536//313 537//560 554//560 553//313 +f 531//556 530//557 546//557 547//556 +f 527//559 526//560 542//560 543//559 +f 540//307 533//557 550//557 549//307 +f 528//558 527//559 543//559 544//558 +f 533//557 534//556 551//556 550//557 +f 529//307 528//558 544//558 545//307 +f 534//556 535//555 552//555 551//556 +f 530//557 529//307 545//307 546//557 +f 535//555 536//313 553//313 552//555 +f 565//310 566//561 563//561 564//310 +f 567//562 568//563 561//563 562//562 +f 569//309 570//564 559//564 560//309 +f 571//565 572//566 557//566 558//565 +f 566//561 567//562 562//562 563//561 +f 568//563 569//309 560//309 561//563 +f 570//564 571//565 558//565 559//564 +f 572//566 565//310 564//310 557//566 +f 587//564 588//309 597//309 604//564 +f 574//566 573//310 589//310 590//566 +f 586//565 587//564 604//564 603//565 +f 573//310 580//561 596//561 589//310 +f 585//566 586//565 603//565 602//566 +f 580//561 579//562 595//562 596//561 +f 584//310 585//566 602//566 601//310 +f 579//562 578//563 594//563 595//562 +f 575//565 574//566 590//566 591//565 +f 588//309 581//563 598//563 597//309 +f 576//564 575//565 591//565 592//564 +f 581//563 582//562 599//562 598//563 +f 577//309 576//564 592//564 593//309 +f 582//562 583//561 600//561 599//562 +f 578//563 577//309 593//309 594//563 +f 583//561 584//310 601//310 600//561 +f 613//309 614//567 611//567 612//309 +f 615//568 616//569 609//569 610//568 +f 617//310 618//570 607//570 608//310 +f 619//571 620//572 605//572 606//571 +f 614//567 615//568 610//568 611//567 +f 616//569 617//310 608//310 609//569 +f 618//570 619//571 606//571 607//570 +f 620//572 613//309 612//309 605//572 +f 635//570 636//310 645//310 652//570 +f 622//572 621//309 637//309 638//572 +f 634//571 635//570 652//570 651//571 +f 621//309 628//567 644//567 637//309 +f 633//572 634//571 651//571 650//572 +f 628//567 627//568 643//568 644//567 +f 632//309 633//572 650//572 649//309 +f 627//568 626//569 642//569 643//568 +f 623//571 622//572 638//572 639//571 +f 636//310 629//569 646//569 645//310 +f 624//570 623//571 639//571 640//570 +f 629//569 630//568 647//568 646//569 +f 625//310 624//570 640//570 641//310 +f 630//568 631//567 648//567 647//568 +f 626//569 625//310 641//310 642//569 +f 631//567 632//309 649//309 648//567 +f 661//312 662//573 659//573 660//312 +f 663//574 664//575 657//575 658//574 +f 665//311 666//576 655//576 656//311 +f 667//577 668//578 653//578 654//577 +f 662//573 663//574 658//574 659//573 +f 664//575 665//311 656//311 657//575 +f 666//576 667//577 654//577 655//576 +f 668//578 661//312 660//312 653//578 +f 683//576 684//311 693//311 700//576 +f 670//578 669//312 685//312 686//578 +f 682//577 683//576 700//576 699//577 +f 669//312 676//573 692//573 685//312 +f 681//578 682//577 699//577 698//578 +f 676//573 675//574 691//574 692//573 +f 680//312 681//578 698//578 697//312 +f 675//574 674//575 690//575 691//574 +f 671//577 670//578 686//578 687//577 +f 684//311 677//575 694//575 693//311 +f 672//576 671//577 687//577 688//576 +f 677//575 678//574 695//574 694//575 +f 673//311 672//576 688//576 689//311 +f 678//574 679//573 696//573 695//574 +f 674//575 673//311 689//311 690//575 +f 679//573 680//312 697//312 696//573 +f 709//311 710//579 707//579 708//311 +f 711//580 712//581 705//581 706//580 +f 713//312 714//582 703//582 704//312 +f 715//583 716//584 701//584 702//583 +f 710//579 711//580 706//580 707//579 +f 712//581 713//312 704//312 705//581 +f 714//582 715//583 702//583 703//582 +f 716//584 709//311 708//311 701//584 +f 731//582 732//312 741//312 748//582 +f 718//584 717//311 733//311 734//584 +f 730//583 731//582 748//582 747//583 +f 717//311 724//579 740//579 733//311 +f 729//584 730//583 747//583 746//584 +f 724//579 723//580 739//580 740//579 +f 728//311 729//584 746//584 745//311 +f 723//580 722//581 738//581 739//580 +f 719//583 718//584 734//584 735//583 +f 732//312 725//581 742//581 741//312 +f 720//582 719//583 735//583 736//582 +f 725//581 726//580 743//580 742//581 +f 721//312 720//582 736//582 737//312 +f 726//580 727//579 744//579 743//580 +f 722//581 721//312 737//312 738//581 +f 727//579 728//311 745//311 744//579 +f 757//308 758//585 755//585 756//308 +f 759//586 760//587 753//587 754//586 +f 761//306 762//588 751//588 752//306 +f 763//589 764//590 749//590 750//589 +f 758//585 759//586 754//586 755//585 +f 760//587 761//306 752//306 753//587 +f 762//588 763//589 750//589 751//588 +f 764//590 757//308 756//308 749//590 +f 779//588 780//306 789//306 796//588 +f 766//590 765//308 781//308 782//590 +f 778//589 779//588 796//588 795//589 +f 765//308 772//585 788//585 781//308 +f 777//590 778//589 795//589 794//590 +f 772//585 771//586 787//586 788//585 +f 776//308 777//590 794//590 793//308 +f 771//586 770//587 786//587 787//586 +f 767//589 766//590 782//590 783//589 +f 780//306 773//587 790//587 789//306 +f 768//588 767//589 783//589 784//588 +f 773//587 774//586 791//586 790//587 +f 769//306 768//588 784//588 785//306 +f 774//586 775//585 792//585 791//586 +f 770//587 769//306 785//306 786//587 +f 775//585 776//308 793//308 792//585 +f 805//306 806//591 803//591 804//306 +f 807//592 808//593 801//593 802//592 +f 809//308 810//594 799//594 800//308 +f 811//595 812//596 797//596 798//595 +f 806//591 807//592 802//592 803//591 +f 808//593 809//308 800//308 801//593 +f 810//594 811//595 798//595 799//594 +f 812//596 805//306 804//306 797//596 +f 827//594 828//308 837//308 844//594 +f 814//596 813//306 829//306 830//596 +f 826//595 827//594 844//594 843//595 +f 813//306 820//591 836//591 829//306 +f 825//596 826//595 843//595 842//596 +f 820//591 819//592 835//592 836//591 +f 824//306 825//596 842//596 841//306 +f 819//592 818//593 834//593 835//592 +f 815//595 814//596 830//596 831//595 +f 828//308 821//593 838//593 837//308 +f 816//594 815//595 831//595 832//594 +f 821//593 822//592 839//592 838//593 +f 817//308 816//594 832//594 833//308 +f 822//592 823//591 840//591 839//592 +f 818//593 817//308 833//308 834//593 +f 823//591 824//306 841//306 840//591 +f 175//597 176//598 984//598 983//597 +f 168//599 169//600 977//600 976//599 +f 176//598 177//601 985//601 984//598 +f 169//600 170//602 978//602 977//600 +f 177//601 178//603 986//603 985//601 +f 170//602 171//604 979//604 978//602 +f 178//603 179//605 987//605 986//603 +f 171//604 172//606 980//606 979//604 +f 179//605 180//607 988//607 987//605 +f 172//606 173//608 981//608 980//606 +f 165//609 166//610 974//610 973//609 +f 180//607 165//609 973//609 988//607 +f 173//608 174//611 982//611 981//608 +f 166//610 167//612 975//612 974//610 +f 174//611 175//597 983//597 982//611 +f 167//612 168//599 976//599 975//612 +f 996//311 989//313 997//313 1004//311 +f 994//306 995//309 1003//309 1002//306 +f 992//312 993//307 1001//307 1000//312 +f 990//308 991//310 999//310 998//308 +f 995//309 996//311 1004//311 1003//309 +f 993//307 994//306 1002//306 1001//307 +f 991//310 992//312 1000//312 999//310 +f 989//313 990//308 998//308 997//313 +f 1020//311 1013//313 1030//313 1036//311 +f 1006//306 1005//307 1022//307 1021//306 +f 1005//307 1012//312 1028//312 1022//307 +f 1019//309 1020//311 1036//311 1035//309 +f 1012//312 1011//310 1027//310 1028//312 +f 1018//306 1019//309 1035//309 1034//306 +f 1011//310 1010//308 1026//308 1027//310 +f 1017//307 1018//306 1034//306 1033//307 +f 1013//313 1014//308 1029//308 1030//313 +f 1007//309 1006//306 1021//306 1023//309 +f 1014//308 1015//310 1031//310 1029//308 +f 1008//311 1007//309 1023//309 1024//311 +f 1015//310 1016//312 1032//312 1031//310 +f 1009//313 1008//311 1024//311 1025//313 +f 1016//312 1017//307 1033//307 1032//312 +f 1010//308 1009//313 1025//313 1026//308 +f 1045//1 1044//307 1060//307 1061//1 +f 1038//308 1037//2 1053//2 1054//308 +f 1037//2 1052//313 1068//313 1053//2 +f 1046//306 1045//1 1061//1 1062//306 +f 1039//8 1038//308 1054//308 1055//8 +f 1047//6 1046//306 1062//306 1063//6 +f 1040//310 1039//8 1055//8 1056//310 +f 1048//309 1047//6 1063//6 1064//309 +f 1041//3 1040//310 1056//310 1057//3 +f 1049//4 1048//309 1064//309 1065//4 +f 1042//312 1041//3 1057//3 1058//312 +f 1050//311 1049//4 1065//4 1066//311 +f 1043//7 1042//312 1058//312 1059//7 +f 1051//5 1050//311 1066//311 1067//5 +f 1044//307 1043//7 1059//7 1060//307 +f 1052//313 1051//5 1067//5 1068//313 +f 1291//147 1290//133 1299//133 1300//147 +f 1288//3 1287//613 1296//613 1297//3 +f 1311//614 1306//614 1310//615 1315//615 +f 1292//616 1291//147 1300//147 1301//616 +f 1289//617 1288//3 1297//3 1298//617 +f 1315//615 1310//615 1309//618 1314//618 +f 1286//619 1285//620 1295//620 1294//619 +f 1293//621 1292//616 1301//616 1302//621 +f 1290//133 1289//617 1298//617 1299//133 +f 1314//618 1309//618 1308//4 1313//4 +f 1287//613 1286//619 1294//619 1296//613 +f 1307//622 1312//622 1313//4 1308//4 +f 1322//115 1323//615 1335//615 1334//115 +f 1319//3 1320//613 1332//613 1331//3 +f 1326//623 1327//616 1339//616 1338//623 +f 1316//147 1317//133 1329//133 1328//147 +f 1323//615 1324//618 1336//618 1335//615 +f 1320//613 1321//619 1333//619 1332//613 +f 1327//616 1316//147 1328//147 1339//616 +f 1317//133 1318//617 1330//617 1329//133 +f 1324//618 1325//4 1337//4 1336//618 +f 1321//619 1322//115 1334//115 1333//619 +f 1318//617 1319//3 1331//3 1330//617 +f 1325//4 1326//623 1338//623 1337//4 +f 1357//624 1358//625 1446//626 1447//627 +f 1445//628 1444//629 1449//630 1450//631 +f 1366//632 1373//633 1372//634 1365//635 +f 1360//636 1368//637 1367//638 1359//639 +f 1359//639 1367//638 1373//633 1366//632 +f 1361//640 1369//641 1368//637 1360//636 +f 1367//638 1374//465 1380//642 1373//633 +f 1369//641 1376//643 1375//644 1368//637 +f 1373//633 1380//642 1379//645 1372//634 +f 1368//637 1375//644 1374//465 1367//638 +f 1388//632 1395//633 1394//634 1387//635 +f 1382//636 1390//637 1389//638 1381//639 +f 1381//639 1389//638 1395//633 1388//632 +f 1383//640 1391//641 1390//637 1382//636 +f 1389//638 1396//465 1402//642 1395//633 +f 1391//641 1398//643 1397//644 1390//637 +f 1395//633 1402//642 1401//645 1394//634 +f 1390//637 1397//644 1396//465 1389//638 +f 1410//632 1417//633 1416//634 1409//635 +f 1404//636 1412//637 1411//638 1403//639 +f 1403//639 1411//638 1417//633 1410//632 +f 1405//640 1413//641 1412//637 1404//636 +f 1411//638 1418//465 1424//642 1417//633 +f 1413//641 1420//643 1419//644 1412//637 +f 1417//633 1424//642 1423//645 1416//634 +f 1412//637 1419//644 1418//465 1411//638 +f 1366//632 1365//635 1428//313 1429//2 +f 1388//632 1387//635 1433//313 1434//2 +f 1359//639 1366//632 1429//2 1425//8 +f 1360//636 1359//639 1425//8 1426//3 +f 1410//632 1409//635 1438//313 1439//2 +f 1381//639 1388//632 1434//2 1430//8 +f 1361//640 1360//636 1426//3 1427//312 +f 1382//636 1381//639 1430//8 1431//3 +f 1403//639 1410//632 1439//2 1435//8 +f 1404//636 1403//639 1435//8 1436//3 +f 1383//640 1382//636 1431//3 1432//312 +f 1405//640 1404//636 1436//3 1437//312 +f 1358//625 1445//628 1450//631 1446//626 +f 1356//646 1357//624 1447//627 1448//647 +f 1446//626 1450//631 1456//648 1451//535 +f 1448//647 1447//627 1452//649 1453//650 +f 1450//631 1449//630 1455//651 1456//648 +f 1447//627 1446//626 1451//535 1452//649 +f 1464//628 1463//629 1470//630 1471//631 +f 1458//624 1457//625 1465//626 1466//627 +f 1457//625 1464//628 1471//631 1465//626 +f 1459//646 1458//624 1466//627 1467//647 +f 1465//626 1471//631 1478//648 1472//535 +f 1467//647 1466//627 1473//649 1474//650 +f 1471//631 1470//630 1477//651 1478//648 +f 1466//627 1465//626 1472//535 1473//649 +f 1486//628 1485//629 1492//630 1493//631 +f 1480//624 1479//625 1487//626 1488//627 +f 1479//625 1486//628 1493//631 1487//626 +f 1481//646 1480//624 1488//627 1489//647 +f 1487//626 1493//631 1500//648 1494//535 +f 1489//647 1488//627 1495//649 1496//650 +f 1493//631 1492//630 1499//651 1500//648 +f 1488//627 1487//626 1494//535 1495//649 +f 1445//628 1505//2 1504//308 1444//629 +f 1464//628 1510//2 1509//308 1463//629 +f 1358//625 1501//5 1505//2 1445//628 +f 1357//624 1502//4 1501//5 1358//625 +f 1486//628 1515//2 1514//308 1485//629 +f 1457//625 1506//5 1510//2 1464//628 +f 1356//646 1503//309 1502//4 1357//624 +f 1458//624 1507//4 1506//5 1457//625 +f 1479//625 1511//5 1515//2 1486//628 +f 1480//624 1512//4 1511//5 1479//625 +f 1459//646 1508//309 1507//4 1458//624 +f 1481//646 1513//309 1512//4 1480//624 From 17eb7b7eb2bcab5066c0895bcc4461000177915a Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 19 May 2023 14:36:48 +0200 Subject: [PATCH 103/285] cryo cannon UV template --- .../com/hbm/main/ModEventHandlerClient.java | 1 + .../assets/hbm/models/weapons/cryo_cannon.obj | 4644 +++++------------ .../textures/models/weapons/cryo_cannon.png | Bin 0 -> 2251 bytes 3 files changed, 1282 insertions(+), 3363 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon.png diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 3d88bed9c..0b0967b59 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -1253,6 +1253,7 @@ public class ModEventHandlerClient { case 9: main.splashText = "There are bugs under your skin!"; break; case 10: main.splashText = "Fentanyl!"; break; case 11: main.splashText = "Do drugs!"; break; + case 12: main.splashText = "post this on r/feedthememes for free internet points!"; break; } } } diff --git a/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj b/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj index 64c8e3755..db707ffc8 100644 --- a/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj +++ b/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj @@ -1,1334 +1,485 @@ # Blender v2.79 (sub 0) OBJ File: 'cryo_cannon.blend' # www.blender.org o Plane -v -0.500000 0.000000 0.125000 -v 0.500000 0.000000 0.125000 +v -0.500000 -0.000000 0.125000 v -0.500000 0.000000 -0.375000 v 0.500000 0.000000 -0.375000 +v 0.500000 -0.000000 0.125000 v -0.500000 2.500000 0.125000 v 0.500000 2.500000 0.125000 -v -0.500000 2.500000 -0.375000 v 0.500000 2.500000 -0.375000 +v -0.500000 2.500000 -0.375000 v -1.250000 1.750000 0.125000 -v -1.250000 0.750000 0.125000 v -1.250000 1.750000 -0.375000 v -1.250000 0.750000 -0.375000 +v -1.250000 0.750000 0.125000 v 1.250000 1.750000 0.125000 v 1.250000 0.750000 0.125000 -v 1.250000 1.750000 -0.375000 v 1.250000 0.750000 -0.375000 -v -0.000000 2.375000 0.125000 -v -0.430519 2.289364 0.125000 -v -0.795495 2.045495 0.125000 -v -1.039364 1.680519 0.125000 -v -1.125000 1.250000 0.125000 -v -1.039364 0.819481 0.125000 -v -0.795495 0.454505 0.125000 -v -0.430519 0.210636 0.125000 -v -0.000000 0.125000 0.125000 -v 0.430519 0.210635 0.125000 -v 0.795495 0.454505 0.125000 -v 1.039364 0.819481 0.125000 -v 1.125000 1.250000 0.125000 +v 1.250000 1.750000 -0.375000 v 1.039364 1.680519 0.125000 -v 0.795495 2.045496 0.125000 +v 1.125000 1.250000 0.125000 +v 1.039364 0.819481 0.125000 v 0.430518 2.289365 0.125000 -v -0.000000 2.250000 -0.125000 -v -0.382683 2.173880 -0.125000 -v -0.707107 1.957107 -0.125000 -v -0.923880 1.632683 -0.125000 -v -1.000000 1.250000 -0.125000 -v -0.923880 0.867316 -0.125000 -v -0.707107 0.542893 -0.125000 -v -0.382684 0.326120 -0.125000 -v -0.000000 0.250000 -0.125000 -v 0.382683 0.326120 -0.125000 -v 0.707106 0.542893 -0.125000 -v 0.923879 0.867316 -0.125000 -v 1.000000 1.250000 -0.125000 -v 0.923879 1.632684 -0.125000 -v 0.707106 1.957107 -0.125000 -v 0.382683 2.173880 -0.125000 -v -0.500000 0.000000 -0.625000 -v 0.500000 0.000000 -0.625000 -v -0.500000 2.500000 -0.625000 -v 0.500000 2.500000 -0.625000 +v 0.795495 2.045496 0.125000 +v -0.430519 2.289364 0.125000 +v 0.000000 2.375000 0.125000 +v -1.039364 1.680519 0.125000 +v -0.795495 2.045495 0.125000 +v -1.039364 0.819481 0.125000 +v -1.125000 1.250000 0.125000 +v -0.430519 0.210636 0.125000 +v -0.795495 0.454505 0.125000 +v 0.430519 0.210635 0.125000 +v 0.000000 0.125000 0.125000 +v 0.795495 0.454505 0.125000 v -1.250000 1.750000 -0.625000 -v -1.250000 0.750000 -0.625000 -v 1.250000 1.750000 -0.625000 -v 1.250000 0.750000 -0.625000 -v -0.500000 0.000000 -1.625000 -v 0.500000 0.000000 -1.625000 -v -1.000000 0.500000 -2.125000 -v 1.000000 0.500000 -2.125000 -v -1.000000 0.500000 -2.625000 -v 1.250000 1.625000 -3.750000 -v 1.000000 0.500000 -3.750000 -v -1.250000 0.751000 -2.625000 -v -0.500000 2.500000 -2.625000 -v 0.500000 2.500000 -2.625000 v -1.250000 1.750000 -3.000000 -v 1.250000 1.750000 -3.000000 -v 1.250000 0.750000 -3.750000 v -1.250000 1.376000 -2.625000 +v -1.250000 0.751000 -2.625000 +v -1.250000 0.750000 -0.625000 +v 0.500000 0.000000 -1.625000 +v 1.000000 0.500000 -2.125000 +v 1.000000 0.500000 -3.750000 +v 1.250000 0.750000 -3.750000 +v 1.250000 0.750000 -0.625000 +v 0.500000 0.000000 -0.625000 +v 1.250000 1.750000 -3.000000 +v 1.250000 1.750000 -0.625000 +v 1.250000 1.625000 -3.750000 v 1.250000 1.750000 -3.375000 -v -1.250000 1.750000 -3.375000 -v -1.250000 1.625000 -3.750000 +v -0.500000 0.000000 -0.625000 +v -0.500000 0.000000 -1.625000 +v -1.000000 0.500000 -2.625000 +v -1.000000 0.500000 -2.125000 +v 1.000000 1.750000 -3.375000 +v 1.000000 1.750000 -3.000000 v -1.250000 0.750000 -3.750000 -v -1.250000 1.376000 -3.625000 v -1.250000 0.751000 -3.625000 +v -1.250000 1.376000 -3.625000 +v -1.250000 1.625000 -3.750000 +v -1.250000 1.750000 -3.375000 v -1.000000 0.500000 -3.750000 v -1.000000 0.501000 -3.625000 -v -1.312500 1.376000 -2.625000 -v -1.312500 1.376000 -3.625000 -v -1.312500 0.251000 -2.625000 -v -1.312500 0.251000 -3.625000 -v -1.312500 0.751000 -2.750000 -v -1.312500 0.751000 -3.500000 -v -1.312500 0.876000 -2.750000 -v -1.312500 0.876000 -3.500000 -v -1.312500 1.251000 -2.750000 -v -1.312500 1.251000 -3.500000 -v -1.312500 0.376000 -2.750000 -v -1.312500 0.376000 -3.500000 -v -1.312500 0.501000 -2.750000 v -1.312500 0.501000 -3.500000 +v -1.312500 0.501000 -2.750000 v -1.312500 0.626000 -2.750000 v -1.312500 0.626000 -3.500000 -v -1.312500 1.001000 -2.750000 +v -1.312500 0.751000 -3.500000 +v -1.312500 0.751000 -2.750000 +v -1.312500 0.876000 -2.750000 +v -1.312500 0.876000 -3.500000 v -1.312500 1.001000 -3.500000 +v -1.312500 1.001000 -2.750000 v -1.312500 1.126000 -2.750000 v -1.312500 1.126000 -3.500000 -v -1.187500 0.751000 -2.750000 -v -1.187500 0.751000 -3.500000 -v -1.187500 0.876000 -2.750000 +v -1.312500 1.376000 -3.625000 +v -1.312500 1.251000 -3.500000 +v -1.312500 1.251000 -2.750000 +v -1.312500 1.376000 -2.625000 +v -1.312500 0.251000 -3.625000 +v -1.312500 0.251000 -2.625000 +v -1.312500 0.376000 -2.750000 +v -1.312500 0.376000 -3.500000 +v -1.187500 1.001000 -3.500000 +v -1.187500 1.001000 -2.750000 v -1.187500 0.876000 -3.500000 -v -1.187500 1.251000 -2.750000 -v -1.187500 1.251000 -3.500000 -v -1.187500 0.376000 -2.750000 -v -1.187500 0.376000 -3.500000 -v -1.187500 0.501000 -2.750000 -v -1.187500 0.501000 -3.500000 v -1.187500 0.626000 -2.750000 v -1.187500 0.626000 -3.500000 -v -1.187500 1.001000 -2.750000 -v -1.187500 1.001000 -3.500000 -v -1.187500 1.126000 -2.750000 +v -1.187500 0.751000 -3.500000 +v -1.187500 1.251000 -3.500000 v -1.187500 1.126000 -3.500000 -v 1.000000 1.625000 -3.750000 +v -1.187500 1.126000 -2.750000 +v -1.187500 1.251000 -2.750000 +v -1.187500 0.876000 -2.750000 +v -1.187500 0.751000 -2.750000 +v -1.187500 0.376000 -3.500000 +v -1.187500 0.376000 -2.750000 +v -1.187500 0.501000 -2.750000 +v -1.187500 0.501000 -3.500000 v 1.000000 0.750000 -3.750000 +v 1.000000 1.625000 -3.750000 v -1.000000 1.625000 -3.750000 v -1.000000 0.750000 -3.750000 v -1.000000 1.750000 -3.375000 -v 1.000000 1.750000 -3.375000 -v 1.000000 1.750000 -3.000000 v -1.000000 1.750000 -3.000000 -v -0.500000 2.250000 -2.750000 +v -0.500000 2.500000 -2.625000 +v 0.500000 2.500000 -2.625000 v 0.500000 2.250000 -2.750000 -v -0.264515 1.360485 -0.750000 -v -0.218750 1.250000 -0.750000 -v -0.264515 1.139515 -0.750000 -v -0.375000 1.093750 -0.750000 -v -0.485486 1.139515 -0.750000 -v -0.531250 1.250000 -0.750000 -v -0.485486 1.360485 -0.750000 -v -0.375000 1.406250 -0.750000 -v -0.512294 1.406250 -0.418544 -v -0.590419 1.360485 -0.496669 -v -0.622779 1.250000 -0.529029 -v -0.590419 1.139515 -0.496669 -v -0.512294 1.093750 -0.418544 -v -0.434169 1.139515 -0.340419 -v -0.401808 1.250000 -0.308058 -v -0.434169 1.360485 -0.340419 -v -0.664367 1.406250 -0.316931 -v -0.706648 1.360485 -0.419007 -v -0.724162 1.250000 -0.461288 -v -0.706648 1.139515 -0.419007 -v -0.664367 1.093750 -0.316931 -v -0.622086 1.139515 -0.214856 -v -0.604573 1.250000 -0.172575 -v -0.622086 1.360485 -0.214856 -v -0.843750 1.406250 -0.281250 -v -0.843750 1.360485 -0.391735 -v -0.843750 1.250000 -0.437500 -v -0.843750 1.139515 -0.391735 -v -0.843750 1.093750 -0.281250 -v -0.843750 1.139515 -0.170765 -v -0.843750 1.250000 -0.125000 -v -0.843750 1.360485 -0.170765 -v -1.023133 1.406250 -0.316932 -v -0.980852 1.360485 -0.419007 -v -0.963339 1.250000 -0.461288 -v -0.980852 1.139515 -0.419007 -v -1.023133 1.093750 -0.316932 -v -1.065414 1.139515 -0.214856 -v -1.082927 1.250000 -0.172575 -v -1.065414 1.360485 -0.214856 -v -0.000000 2.250000 -0.500000 -v -0.382683 2.173880 -0.500000 -v -0.707107 1.957107 -0.500000 -v -0.923880 1.632683 -0.500000 -v -1.000000 1.250000 -0.500000 -v -0.923880 0.867316 -0.500000 -v -0.707107 0.542893 -0.500000 -v -0.382684 0.326120 -0.500000 -v -0.000000 0.250000 -0.500000 -v 0.382683 0.326120 -0.500000 -v 0.707106 0.542893 -0.500000 -v 0.923879 0.867316 -0.500000 -v 1.000000 1.250000 -0.500000 -v 0.923879 1.632684 -0.500000 -v 0.707106 1.957107 -0.500000 -v 0.382683 2.173880 -0.500000 -v 0.264515 1.139515 -0.750000 -v 0.218750 1.250000 -0.750000 -v 0.264515 1.360485 -0.750000 -v 0.375000 1.406250 -0.750000 -v 0.485485 1.360485 -0.750000 -v 0.531250 1.250000 -0.750000 -v 0.485485 1.139515 -0.750000 -v 0.375000 1.093750 -0.750000 -v 0.512294 1.093750 -0.418544 -v 0.590419 1.139515 -0.496669 -v 0.622779 1.250000 -0.529029 -v 0.590419 1.360485 -0.496669 -v 0.512294 1.406250 -0.418544 -v 0.434169 1.360485 -0.340419 -v 0.401808 1.250000 -0.308058 -v 0.434169 1.139515 -0.340419 -v 0.664367 1.093750 -0.316931 -v 0.706648 1.139514 -0.419007 -v 0.724161 1.250000 -0.461288 -v 0.706648 1.360485 -0.419007 -v 0.664367 1.406250 -0.316931 -v 0.622086 1.360485 -0.214856 -v 0.604573 1.250000 -0.172575 -v 0.622086 1.139515 -0.214856 -v 0.843750 1.093750 -0.281250 -v 0.843750 1.139514 -0.391735 -v 0.843750 1.250000 -0.437500 -v 0.843750 1.360485 -0.391735 -v 0.843750 1.406250 -0.281250 -v 0.843750 1.360485 -0.170765 -v 0.843750 1.250000 -0.125000 -v 0.843750 1.139514 -0.170765 -v 1.023133 1.093750 -0.316932 -v 0.980852 1.139514 -0.419007 -v 0.963338 1.250000 -0.461288 -v 0.980852 1.360485 -0.419007 -v 1.023133 1.406250 -0.316932 -v 1.065414 1.360485 -0.214856 -v 1.082927 1.250000 -0.172575 -v 1.065414 1.139514 -0.214856 -v 0.110485 1.514515 -0.750000 -v -0.000000 1.468750 -0.750000 -v -0.110486 1.514515 -0.750000 -v -0.156250 1.625000 -0.750000 -v -0.110485 1.735486 -0.750000 -v -0.000000 1.781250 -0.750000 -v 0.110485 1.735486 -0.750000 -v 0.156250 1.625000 -0.750000 -v 0.156250 1.762294 -0.418544 -v 0.110485 1.840419 -0.496669 -v -0.000000 1.872779 -0.529029 -v -0.110485 1.840419 -0.496669 -v -0.156250 1.762294 -0.418544 -v -0.110485 1.684169 -0.340419 -v -0.000000 1.651808 -0.308058 -v 0.110485 1.684169 -0.340419 -v 0.156250 1.914367 -0.316931 -v 0.110485 1.956648 -0.419007 -v -0.000000 1.974162 -0.461288 -v -0.110485 1.956648 -0.419007 -v -0.156250 1.914367 -0.316931 -v -0.110485 1.872086 -0.214856 -v -0.000000 1.854573 -0.172575 -v 0.110485 1.872086 -0.214856 -v 0.156250 2.093750 -0.281250 -v 0.110485 2.093750 -0.391735 -v -0.000000 2.093750 -0.437500 -v -0.110485 2.093750 -0.391735 -v -0.156250 2.093750 -0.281250 -v -0.110485 2.093750 -0.170765 -v -0.000000 2.093750 -0.125000 -v 0.110485 2.093750 -0.170765 -v 0.156250 2.273133 -0.316932 -v 0.110485 2.230852 -0.419007 -v -0.000000 2.213339 -0.461288 -v -0.110485 2.230852 -0.419007 -v -0.156250 2.273133 -0.316932 -v -0.110485 2.315414 -0.214856 -v 0.000000 2.332927 -0.172575 -v 0.110485 2.315414 -0.214856 -v -0.110486 0.985485 -0.750000 -v -0.000000 1.031250 -0.750000 -v 0.110485 0.985485 -0.750000 -v 0.156250 0.875000 -0.750000 -v 0.110485 0.764515 -0.750000 -v -0.000000 0.718750 -0.750000 -v -0.110486 0.764515 -0.750000 -v -0.156250 0.875000 -0.750000 -v -0.156250 0.737706 -0.418544 -v -0.110486 0.659581 -0.496669 -v -0.000000 0.627221 -0.529029 -v 0.110485 0.659581 -0.496669 -v 0.156250 0.737706 -0.418544 -v 0.110485 0.815831 -0.340419 -v -0.000000 0.848192 -0.308058 -v -0.110486 0.815831 -0.340419 -v -0.156250 0.585633 -0.316931 -v -0.110486 0.543352 -0.419007 -v -0.000000 0.525838 -0.461288 -v 0.110485 0.543352 -0.419007 -v 0.156250 0.585633 -0.316931 -v 0.110485 0.627914 -0.214856 -v -0.000000 0.645427 -0.172575 -v -0.110486 0.627914 -0.214856 -v -0.156250 0.406250 -0.281250 -v -0.110486 0.406250 -0.391735 -v -0.000000 0.406250 -0.437500 -v 0.110485 0.406250 -0.391735 -v 0.156250 0.406250 -0.281250 -v 0.110485 0.406250 -0.170765 -v -0.000000 0.406250 -0.125000 -v -0.110486 0.406250 -0.170765 -v -0.156250 0.226867 -0.316932 -v -0.110486 0.269148 -0.419007 -v -0.000000 0.286661 -0.461288 -v 0.110485 0.269148 -0.419007 -v 0.156250 0.226867 -0.316932 -v 0.110485 0.184586 -0.214856 -v -0.000000 0.167073 -0.172575 -v -0.110486 0.184586 -0.214856 -v -0.108915 1.515165 -0.750000 -v -0.154680 1.404680 -0.750000 -v -0.265165 1.358915 -0.750000 -v -0.375651 1.404680 -0.750000 -v -0.421415 1.515165 -0.750000 -v -0.375651 1.625650 -0.750000 -v -0.265165 1.671415 -0.750000 -v -0.154680 1.625651 -0.750000 -v -0.251761 1.722732 -0.418544 -v -0.339364 1.745614 -0.496669 -v -0.440371 1.690371 -0.529029 -v -0.495614 1.589364 -0.496669 -v -0.472732 1.501761 -0.418544 -v -0.385129 1.478879 -0.340419 -v -0.284121 1.534121 -0.308058 -v -0.228879 1.635129 -0.340419 -v -0.359293 1.830264 -0.316931 -v -0.421551 1.827801 -0.419007 -v -0.512060 1.762059 -0.461288 -v -0.577801 1.671551 -0.419007 -v -0.580264 1.609293 -0.316931 -v -0.518007 1.611756 -0.214856 -v -0.427498 1.677498 -0.172575 -v -0.361757 1.768006 -0.214856 -v -0.486136 1.957107 -0.281250 -v -0.518496 1.924746 -0.391735 -v -0.596621 1.846621 -0.437500 -v -0.674746 1.768496 -0.391735 -v -0.707107 1.736136 -0.281250 -v -0.674747 1.768496 -0.170765 -v -0.596622 1.846621 -0.125000 -v -0.518497 1.924746 -0.170765 -v -0.612979 2.083950 -0.316932 -v -0.615442 2.021692 -0.419007 -v -0.681183 1.931183 -0.461288 -v -0.771692 1.865442 -0.419007 -v -0.833950 1.862979 -0.316932 -v -0.831486 1.925236 -0.214856 -v -0.765745 2.015745 -0.172575 -v -0.675236 2.081486 -0.214856 -v 0.108915 0.984835 -0.750000 -v 0.154680 1.095320 -0.750000 -v 0.265165 1.141085 -0.750000 -v 0.375650 1.095320 -0.750000 -v 0.421415 0.984835 -0.750000 -v 0.375650 0.874350 -0.750000 -v 0.265165 0.828585 -0.750000 -v 0.154680 0.874349 -0.750000 -v 0.251761 0.777268 -0.418544 -v 0.339364 0.754386 -0.496669 -v 0.440371 0.809629 -0.529029 -v 0.495614 0.910636 -0.496669 -v 0.472732 0.998239 -0.418544 -v 0.385129 1.021121 -0.340419 -v 0.284121 0.965879 -0.308058 -v 0.228879 0.864871 -0.340419 -v 0.359293 0.669736 -0.316931 -v 0.421550 0.672199 -0.419007 -v 0.512059 0.737940 -0.461288 -v 0.577801 0.828449 -0.419007 -v 0.580264 0.890707 -0.316931 -v 0.518006 0.888244 -0.214856 -v 0.427498 0.822502 -0.172575 -v 0.361756 0.731994 -0.214856 -v 0.486136 0.542893 -0.281250 -v 0.518496 0.575254 -0.391735 -v 0.596621 0.653379 -0.437500 -v 0.674746 0.731504 -0.391735 -v 0.707107 0.763864 -0.281250 -v 0.674746 0.731504 -0.170765 -v 0.596621 0.653379 -0.125000 -v 0.518496 0.575254 -0.170765 -v 0.612979 0.416050 -0.316932 -v 0.615442 0.478308 -0.419007 -v 0.681183 0.568817 -0.461288 -v 0.771692 0.634558 -0.419007 -v 0.833949 0.637021 -0.316932 -v 0.831486 0.574764 -0.214856 -v 0.765745 0.484255 -0.172575 -v 0.675236 0.418514 -0.214856 -v 0.265165 1.358915 -0.750000 -v 0.154680 1.404680 -0.750000 -v 0.108915 1.515165 -0.750000 -v 0.154680 1.625650 -0.750000 -v 0.265165 1.671415 -0.750000 -v 0.375650 1.625650 -0.750000 -v 0.421415 1.515165 -0.750000 -v 0.375650 1.404680 -0.750000 -v 0.472732 1.501761 -0.418544 -v 0.495614 1.589364 -0.496669 -v 0.440371 1.690371 -0.529029 -v 0.339364 1.745614 -0.496669 -v 0.251761 1.722732 -0.418544 -v 0.228879 1.635129 -0.340419 -v 0.284121 1.534121 -0.308058 -v 0.385129 1.478879 -0.340419 -v 0.580264 1.609293 -0.316931 -v 0.577801 1.671551 -0.419007 -v 0.512059 1.762059 -0.461288 -v 0.421551 1.827801 -0.419007 -v 0.359293 1.830264 -0.316931 -v 0.361756 1.768006 -0.214856 -v 0.427498 1.677498 -0.172575 -v 0.518006 1.611756 -0.214856 -v 0.707107 1.736136 -0.281250 -v 0.674746 1.768496 -0.391735 -v 0.596621 1.846621 -0.437500 -v 0.518496 1.924746 -0.391735 -v 0.486136 1.957107 -0.281250 -v 0.518496 1.924746 -0.170765 -v 0.596621 1.846621 -0.125000 -v 0.674746 1.768496 -0.170765 -v 0.833950 1.862979 -0.316932 -v 0.771692 1.865442 -0.419007 -v 0.681183 1.931183 -0.461288 -v 0.615442 2.021692 -0.419007 -v 0.612979 2.083950 -0.316932 -v 0.675236 2.081486 -0.214856 -v 0.765745 2.015745 -0.172575 -v 0.831486 1.925236 -0.214856 -v -0.265165 1.141085 -0.750000 -v -0.154680 1.095320 -0.750000 -v -0.108915 0.984835 -0.750000 -v -0.154680 0.874350 -0.750000 -v -0.265165 0.828585 -0.750000 -v -0.375651 0.874350 -0.750000 -v -0.421415 0.984835 -0.750000 -v -0.375651 1.095320 -0.750000 -v -0.472732 0.998239 -0.418544 -v -0.495614 0.910636 -0.496669 -v -0.440371 0.809629 -0.529029 -v -0.339364 0.754386 -0.496669 -v -0.251761 0.777268 -0.418544 -v -0.228879 0.864871 -0.340419 -v -0.284121 0.965879 -0.308058 -v -0.385129 1.021121 -0.340419 -v -0.580264 0.890707 -0.316931 -v -0.577801 0.828449 -0.419007 -v -0.512060 0.737941 -0.461288 -v -0.421551 0.672199 -0.419007 -v -0.359293 0.669736 -0.316931 -v -0.361757 0.731994 -0.214856 -v -0.427498 0.822502 -0.172575 -v -0.518007 0.888244 -0.214856 -v -0.707107 0.763864 -0.281250 -v -0.674747 0.731504 -0.391735 -v -0.596622 0.653379 -0.437500 -v -0.518497 0.575254 -0.391735 -v -0.486136 0.542893 -0.281250 -v -0.518497 0.575254 -0.170765 -v -0.596622 0.653379 -0.125000 -v -0.674747 0.731504 -0.170765 -v -0.833950 0.637021 -0.316932 -v -0.771692 0.634558 -0.419007 -v -0.681183 0.568817 -0.461288 -v -0.615442 0.478308 -0.419007 -v -0.612979 0.416050 -0.316932 -v -0.675237 0.418514 -0.214856 -v -0.765745 0.484255 -0.172575 -v -0.831487 0.574764 -0.214856 -v -0.811434 1.466518 -0.082211 -v -0.807472 1.584466 -0.062870 -v -0.726872 1.670669 -0.082211 -v -0.616847 1.674630 -0.128904 -v -0.541848 1.594030 -0.175597 -v -0.545810 1.476082 -0.194938 -v -0.626410 1.389879 -0.175597 -v -0.736435 1.385918 -0.128904 -v -0.882853 1.446566 -0.468769 -v -0.772828 1.450527 -0.515462 -v -0.692228 1.536730 -0.534803 -v -0.688267 1.654678 -0.515462 -v -0.763265 1.735278 -0.468769 -v -0.873290 1.731317 -0.422076 -v -0.953890 1.645114 -0.402735 -v -0.957852 1.527167 -0.422076 -v -0.721487 1.422007 -0.128904 -v -0.777735 1.482457 -0.093884 -v -0.774764 1.570918 -0.079378 -v -0.714314 1.635570 -0.093884 -v -0.631795 1.638541 -0.128904 -v -0.575547 1.578091 -0.163924 -v -0.578518 1.489630 -0.178429 -v -0.638968 1.424978 -0.163924 -v -0.744037 1.498396 -0.105557 -v -0.742056 1.557370 -0.095887 -v -0.701756 1.600471 -0.105557 -v -0.646744 1.602452 -0.128904 -v -0.609245 1.562152 -0.152250 -v -0.611225 1.503178 -0.161921 -v -0.651526 1.460076 -0.152250 -v -0.706538 1.458096 -0.128904 -v -0.697084 1.411899 -0.072260 -v -0.753332 1.472349 -0.037240 -v -0.750361 1.560810 -0.022734 -v -0.689911 1.625462 -0.037240 -v -0.607392 1.628433 -0.072260 -v -0.551144 1.567983 -0.107280 -v -0.554115 1.479522 -0.121785 -v -0.614565 1.414870 -0.107280 -v -0.682135 1.447988 -0.072260 -v -0.719634 1.488288 -0.048913 -v -0.717654 1.547262 -0.039243 -v -0.677353 1.590363 -0.048913 -v -0.622341 1.592344 -0.072260 -v -0.584842 1.552044 -0.095606 -v -0.586822 1.493070 -0.105277 -v -0.627123 1.449968 -0.095606 -v 0.811433 1.033482 -0.082211 -v 0.807472 0.915534 -0.062870 -v 0.726871 0.829331 -0.082211 -v 0.616846 0.825370 -0.128904 -v 0.541848 0.905970 -0.175597 -v 0.545810 1.023918 -0.194938 -v 0.626410 1.110121 -0.175597 -v 0.736435 1.114082 -0.128904 -v 0.882853 1.053434 -0.468769 -v 0.772828 1.049472 -0.515462 -v 0.692228 0.963270 -0.534803 -v 0.688266 0.845322 -0.515462 -v 0.763264 0.764722 -0.468769 -v 0.873289 0.768683 -0.422076 -v 0.953890 0.854886 -0.402735 -v 0.957851 0.972833 -0.422076 -v 0.721486 1.077993 -0.128904 -v 0.777735 1.017543 -0.093884 -v 0.774764 0.929082 -0.079378 -v 0.714314 0.864430 -0.093884 -v 0.631795 0.861459 -0.128904 -v 0.575546 0.921909 -0.163924 -v 0.578517 1.010370 -0.178429 -v 0.638968 1.075022 -0.163924 -v 0.744037 1.001604 -0.105557 -v 0.742056 0.942630 -0.095887 -v 0.701756 0.899529 -0.105557 -v 0.646743 0.897548 -0.128904 -v 0.609244 0.937848 -0.152250 -v 0.611225 0.996822 -0.161921 -v 0.651525 1.039924 -0.152250 -v 0.706538 1.041904 -0.128904 -v 0.697083 1.088101 -0.072260 -v 0.753332 1.027651 -0.037240 -v 0.750361 0.939190 -0.022734 -v 0.689911 0.874538 -0.037240 -v 0.607392 0.871567 -0.072260 -v 0.551143 0.932017 -0.107280 -v 0.554115 1.020478 -0.121785 -v 0.614565 1.085130 -0.107280 -v 0.682135 1.052012 -0.072260 -v 0.719634 1.011712 -0.048913 -v 0.717653 0.952738 -0.039243 -v 0.677353 0.909637 -0.048913 -v 0.622341 0.907656 -0.072260 -v 0.584841 0.947956 -0.095606 -v 0.586822 1.006930 -0.105277 -v 0.627122 1.050032 -0.095606 -v 0.216518 2.061433 -0.082211 -v 0.334466 2.057472 -0.062870 -v 0.420668 1.976871 -0.082211 -v 0.424630 1.866847 -0.128904 -v 0.344029 1.791848 -0.175597 -v 0.226082 1.795810 -0.194938 -v 0.139879 1.876410 -0.175597 -v 0.135918 1.986435 -0.128904 -v 0.196566 2.132853 -0.468769 -v 0.200527 2.022828 -0.515462 -v 0.286730 1.942228 -0.534803 -v 0.404678 1.938266 -0.515462 -v 0.485278 2.013265 -0.468769 -v 0.481317 2.123290 -0.422076 -v 0.395114 2.203890 -0.402735 -v 0.277167 2.207852 -0.422076 -v 0.172007 1.971487 -0.128904 -v 0.232457 2.027735 -0.093884 -v 0.320918 2.024764 -0.079378 -v 0.385570 1.964314 -0.093884 -v 0.388541 1.881795 -0.128904 -v 0.328090 1.825547 -0.163924 -v 0.239630 1.828518 -0.178429 -v 0.174978 1.888968 -0.163924 -v 0.248396 1.994037 -0.105557 -v 0.307370 1.992056 -0.095887 -v 0.350471 1.951756 -0.105557 -v 0.352452 1.896744 -0.128904 -v 0.312152 1.859245 -0.152250 -v 0.253178 1.861225 -0.161921 -v 0.210076 1.901525 -0.152250 -v 0.208096 1.956538 -0.128904 -v 0.161898 1.947083 -0.072260 -v 0.222349 2.003332 -0.037240 -v 0.310810 2.000361 -0.022734 -v 0.375462 1.939911 -0.037240 -v 0.378433 1.857392 -0.072260 -v 0.317982 1.801143 -0.107280 -v 0.229522 1.804115 -0.121785 -v 0.164870 1.864565 -0.107280 -v 0.197988 1.932135 -0.072260 -v 0.238288 1.969634 -0.048913 -v 0.297262 1.967653 -0.039243 -v 0.340363 1.927353 -0.048913 -v 0.342344 1.872341 -0.072260 -v 0.302044 1.834841 -0.095606 -v 0.243070 1.836822 -0.105277 -v 0.199968 1.877123 -0.095606 -v -0.216518 0.438567 -0.082211 -v -0.334466 0.442528 -0.062870 -v -0.420669 0.523129 -0.082211 -v -0.424630 0.633153 -0.128904 +v -0.500000 2.250000 -2.750000 v -0.344030 0.708152 -0.175597 -v -0.226082 0.704190 -0.194938 -v -0.139879 0.623590 -0.175597 -v -0.135918 0.513565 -0.128904 -v -0.196566 0.367147 -0.468769 -v -0.200528 0.477172 -0.515462 -v -0.286731 0.557772 -0.534803 -v -0.404678 0.561734 -0.515462 -v -0.485279 0.486735 -0.468769 -v -0.481317 0.376710 -0.422076 -v -0.395115 0.296110 -0.402735 -v -0.277167 0.292148 -0.422076 -v -0.172007 0.528513 -0.128904 -v -0.232457 0.472265 -0.093884 -v -0.320918 0.475236 -0.079378 -v -0.385570 0.535686 -0.093884 +v -0.424630 0.633153 -0.128904 v -0.388541 0.618205 -0.128904 v -0.328091 0.674453 -0.163924 -v -0.239630 0.671482 -0.178429 +v -0.420670 0.523129 -0.082211 +v -0.334466 0.442528 -0.062870 +v -0.320918 0.475236 -0.079378 +v -0.385571 0.535686 -0.093884 +v -0.216518 0.438567 -0.082211 +v -0.135918 0.513565 -0.128904 +v -0.172007 0.528513 -0.128904 +v -0.232457 0.472265 -0.093884 +v -0.139879 0.623590 -0.175597 v -0.174978 0.611032 -0.163924 -v -0.248396 0.505963 -0.105557 -v -0.307370 0.507944 -0.095887 -v -0.350472 0.548244 -0.105557 -v -0.352452 0.603256 -0.128904 -v -0.312152 0.640755 -0.152250 -v -0.253178 0.638775 -0.161921 -v -0.210077 0.598474 -0.152250 +v -0.226082 0.704190 -0.194938 +v -0.239630 0.671482 -0.178429 v -0.208096 0.543462 -0.128904 -v -0.161899 0.552916 -0.072260 +v -0.210077 0.598474 -0.152250 +v -0.253178 0.638775 -0.161921 +v -0.312152 0.640755 -0.152250 +v -0.352451 0.603256 -0.128904 +v -0.350471 0.548244 -0.105557 +v -0.307370 0.507944 -0.095887 +v -0.248396 0.505963 -0.105557 v -0.222349 0.496668 -0.037240 -v -0.310810 0.499639 -0.022734 -v -0.375462 0.560089 -0.037240 -v -0.378433 0.642608 -0.072260 -v -0.317983 0.698857 -0.107280 -v -0.229522 0.695885 -0.121785 -v -0.164870 0.635435 -0.107280 -v -0.197988 0.567865 -0.072260 +v -0.161900 0.552916 -0.072260 +v -0.197989 0.567865 -0.072260 v -0.238288 0.530366 -0.048913 -v -0.297262 0.532347 -0.039243 -v -0.340364 0.572647 -0.048913 -v -0.342344 0.627659 -0.072260 +v -0.164869 0.635435 -0.107280 +v -0.199968 0.622877 -0.095606 +v -0.229523 0.695885 -0.121785 +v -0.243071 0.663178 -0.105277 +v -0.317984 0.698857 -0.107280 v -0.302044 0.665158 -0.095606 -v -0.243070 0.663178 -0.105277 -v -0.199969 0.622877 -0.095606 -v -0.420669 1.976871 -0.082211 -v -0.334466 2.057472 -0.062870 -v -0.216518 2.061433 -0.082211 -v -0.135918 1.986435 -0.128904 -v -0.139879 1.876410 -0.175597 -v -0.226082 1.795810 -0.194938 -v -0.344030 1.791848 -0.175597 -v -0.424630 1.866847 -0.128904 -v -0.485279 2.013265 -0.468769 -v -0.404678 1.938267 -0.515462 -v -0.286730 1.942228 -0.534803 -v -0.200527 2.022828 -0.515462 -v -0.196566 2.132853 -0.468769 -v -0.277167 2.207851 -0.422076 -v -0.395114 2.203890 -0.402735 -v -0.481317 2.123290 -0.422076 -v -0.388541 1.881795 -0.128904 -v -0.385570 1.964314 -0.093884 -v -0.320918 2.024764 -0.079378 -v -0.232457 2.027735 -0.093884 -v -0.172007 1.971487 -0.128904 -v -0.174978 1.888968 -0.163924 -v -0.239630 1.828518 -0.178429 -v -0.328091 1.825547 -0.163924 -v -0.350471 1.951756 -0.105557 -v -0.307370 1.992056 -0.095887 -v -0.248396 1.994037 -0.105557 -v -0.208096 1.956538 -0.128904 -v -0.210077 1.901525 -0.152250 -v -0.253178 1.861225 -0.161921 -v -0.312152 1.859245 -0.152250 -v -0.352452 1.896744 -0.128904 -v -0.378433 1.857392 -0.072260 -v -0.375462 1.939911 -0.037240 -v -0.310810 2.000361 -0.022734 -v -0.222349 2.003332 -0.037240 -v -0.161899 1.947084 -0.072260 -v -0.164870 1.864565 -0.107280 -v -0.229522 1.804115 -0.121785 -v -0.317983 1.801143 -0.107280 -v -0.342344 1.872341 -0.072260 -v -0.340363 1.927353 -0.048913 -v -0.297262 1.967653 -0.039243 -v -0.238288 1.969634 -0.048913 -v -0.197988 1.932135 -0.072260 -v -0.199968 1.877123 -0.095606 -v -0.243070 1.836822 -0.105277 -v -0.302044 1.834842 -0.095606 -v 0.420668 0.523128 -0.082211 -v 0.334466 0.442528 -0.062870 -v 0.216518 0.438567 -0.082211 -v 0.135917 0.513565 -0.128904 -v 0.139879 0.623590 -0.175597 -v 0.226082 0.704190 -0.194938 -v 0.344029 0.708152 -0.175597 -v 0.424630 0.633153 -0.128904 -v 0.485278 0.486735 -0.468769 -v 0.404678 0.561733 -0.515462 -v 0.286730 0.557772 -0.534803 -v 0.200527 0.477172 -0.515462 -v 0.196566 0.367147 -0.468769 -v 0.277166 0.292148 -0.422076 -v 0.395114 0.296110 -0.402735 -v 0.481317 0.376710 -0.422076 -v 0.388541 0.618205 -0.128904 -v 0.385570 0.535686 -0.093884 -v 0.320918 0.475236 -0.079378 -v 0.232457 0.472265 -0.093884 -v 0.172006 0.528513 -0.128904 -v 0.174978 0.611032 -0.163924 -v 0.239630 0.671482 -0.178429 -v 0.328090 0.674454 -0.163924 -v 0.350471 0.548244 -0.105557 -v 0.307370 0.507944 -0.095887 -v 0.248396 0.505963 -0.105557 -v 0.208095 0.543462 -0.128904 -v 0.210076 0.598475 -0.152250 -v 0.253178 0.638775 -0.161921 -v 0.312152 0.640755 -0.152250 -v 0.352452 0.603256 -0.128904 -v 0.378433 0.642608 -0.072260 -v 0.375462 0.560089 -0.037240 -v 0.310810 0.499639 -0.022734 -v 0.222349 0.496668 -0.037240 -v 0.161898 0.552916 -0.072260 -v 0.164869 0.635435 -0.107280 -v 0.229522 0.695885 -0.121785 -v 0.317982 0.698857 -0.107280 -v 0.342344 0.627659 -0.072260 -v 0.340363 0.572647 -0.048913 -v 0.297262 0.532347 -0.039243 -v 0.238288 0.530366 -0.048913 -v 0.197987 0.567865 -0.072260 -v 0.199968 0.622877 -0.095606 -v 0.243070 0.663178 -0.105277 -v 0.302043 0.665158 -0.095606 -v 0.726871 1.670668 -0.082211 -v 0.807472 1.584466 -0.062870 -v 0.811433 1.466518 -0.082211 -v 0.736435 1.385918 -0.128904 -v 0.626410 1.389879 -0.175597 -v 0.545810 1.476082 -0.194938 -v 0.541848 1.594030 -0.175597 -v 0.616847 1.674630 -0.128904 -v 0.763265 1.735278 -0.468769 -v 0.688266 1.654678 -0.515462 -v 0.692228 1.536730 -0.534803 -v 0.772828 1.450527 -0.515462 -v 0.882853 1.446566 -0.468769 -v 0.957851 1.527166 -0.422076 -v 0.953890 1.645114 -0.402735 -v 0.873290 1.731317 -0.422076 -v 0.631795 1.638541 -0.128904 -v 0.714314 1.635570 -0.093884 -v 0.774764 1.570918 -0.079378 -v 0.777735 1.482457 -0.093884 -v 0.721487 1.422007 -0.128904 -v 0.638968 1.424978 -0.163924 -v 0.578518 1.489630 -0.178429 -v 0.575546 1.578091 -0.163924 -v 0.701756 1.600471 -0.105557 -v 0.742056 1.557370 -0.095887 -v 0.744037 1.498396 -0.105557 -v 0.706538 1.458096 -0.128904 -v 0.651525 1.460076 -0.152250 -v 0.611225 1.503178 -0.161921 -v 0.609244 1.562152 -0.152250 -v 0.646744 1.602452 -0.128904 -v 0.607392 1.628433 -0.072260 -v 0.689911 1.625462 -0.037240 -v 0.750361 1.560810 -0.022734 -v 0.753332 1.472349 -0.037240 -v 0.697084 1.411899 -0.072260 -v 0.614565 1.414870 -0.107280 -v 0.554114 1.479522 -0.121785 -v 0.551143 1.567982 -0.107280 -v 0.622341 1.592344 -0.072260 -v 0.677353 1.590363 -0.048913 -v 0.717653 1.547262 -0.039243 -v 0.719634 1.488288 -0.048913 -v 0.682135 1.447988 -0.072260 -v 0.627122 1.449968 -0.095606 -v 0.586822 1.493070 -0.105277 -v 0.584842 1.552044 -0.095606 -v -0.726872 0.829332 -0.082211 -v -0.807472 0.915534 -0.062870 -v -0.811434 1.033482 -0.082211 -v -0.736435 1.114082 -0.128904 -v -0.626410 1.110121 -0.175597 -v -0.545810 1.023918 -0.194938 -v -0.541848 0.905970 -0.175597 -v -0.616847 0.825370 -0.128904 -v -0.763265 0.764722 -0.468769 -v -0.688267 0.845322 -0.515462 -v -0.692228 0.963270 -0.534803 -v -0.772828 1.049473 -0.515462 -v -0.882853 1.053434 -0.468769 -v -0.957852 0.972834 -0.422076 -v -0.953890 0.854886 -0.402735 -v -0.873290 0.768683 -0.422076 -v -0.631795 0.861459 -0.128904 -v -0.714314 0.864430 -0.093884 -v -0.774764 0.929082 -0.079378 -v -0.777735 1.017543 -0.093884 -v -0.721487 1.077993 -0.128904 -v -0.638968 1.075022 -0.163924 -v -0.578518 1.010370 -0.178429 -v -0.575547 0.921910 -0.163924 -v -0.701756 0.899529 -0.105557 -v -0.742057 0.942630 -0.095887 -v -0.744037 1.001604 -0.105557 -v -0.706538 1.041904 -0.128904 -v -0.651526 1.039924 -0.152250 -v -0.611226 0.996822 -0.161921 -v -0.609245 0.937848 -0.152250 -v -0.646744 0.897548 -0.128904 -v -0.607392 0.871567 -0.072260 -v -0.689911 0.874538 -0.037240 -v -0.750361 0.939190 -0.022734 -v -0.753332 1.027651 -0.037240 -v -0.697084 1.088101 -0.072260 -v -0.614565 1.085130 -0.107280 -v -0.554115 1.020478 -0.121785 -v -0.551144 0.932018 -0.107280 -v -0.622341 0.907656 -0.072260 -v -0.677353 0.909637 -0.048913 -v -0.717654 0.952738 -0.039243 -v -0.719634 1.011712 -0.048913 -v -0.682135 1.052012 -0.072260 -v -0.627123 1.050032 -0.095606 -v -0.586822 1.006930 -0.105277 -v -0.584842 0.947956 -0.095606 -v -1.112133 1.224587 0.109375 -v -1.037201 0.847883 0.109375 -v -1.002758 1.224587 -0.109375 -v -0.936152 0.889739 -0.109375 -v -0.982164 0.858831 0.136894 -v -1.057095 1.235535 0.136894 -v -0.881115 0.900687 -0.081856 -v -0.947720 1.235535 -0.081856 -v 1.112132 1.275412 0.109375 -v 1.037201 1.652117 0.109375 -v 1.002757 1.275412 -0.109375 -v 0.936152 1.610261 -0.109375 -v 0.982164 1.641169 0.136894 -v 1.057095 1.264465 0.136894 -v 0.881115 1.599313 -0.081856 -v 0.947720 1.264465 -0.081856 -v -0.025413 2.362133 0.109375 -v -0.402117 2.287201 0.109375 -v -0.025413 2.252758 -0.109375 -v -0.360261 2.186152 -0.109375 -v -0.391169 2.232164 0.136894 -v -0.014465 2.307095 0.136894 -v -0.349313 2.131115 -0.081856 -v -0.014465 2.197720 -0.081856 -v 0.025412 0.137868 0.109375 -v 0.402116 0.212799 0.109375 -v 0.025412 0.247242 -0.109375 -v 0.360260 0.313848 -0.109375 -v 0.391169 0.267836 0.136894 -v 0.014465 0.192905 0.136894 -v 0.349313 0.368885 -0.081856 -v 0.014465 0.302280 -0.081856 -v -0.804366 2.018427 0.109375 -v -1.017752 1.699073 0.109375 -v -0.727026 1.941087 -0.109375 -v -0.916702 1.657217 -0.109375 -v -0.971093 1.667896 0.136894 -v -0.757707 1.987251 0.136894 -v -0.870044 1.626041 -0.081856 -v -0.680368 1.909911 -0.081856 -v 0.804366 0.481573 0.109375 -v 1.017751 0.800927 0.109375 -v 0.727026 0.558913 -0.109375 -v 0.916702 0.842783 -0.109375 -v 0.971093 0.832103 0.136894 -v 0.757707 0.512749 0.136894 -v 0.870044 0.873959 -0.081856 -v 0.680367 0.590089 -0.081856 -v 0.768427 2.054366 0.109375 -v 0.449073 2.267752 0.109375 -v 0.691087 1.977026 -0.109375 -v 0.407216 2.166702 -0.109375 -v 0.417896 2.221093 0.136894 -v 0.737251 2.007707 0.136894 -v 0.376040 2.120044 -0.081856 -v 0.659911 1.930367 -0.081856 -v -0.768427 0.445634 0.109375 -v -0.449073 0.232249 0.109375 -v -0.691087 0.522974 -0.109375 -v -0.407217 0.333298 -0.109375 -v -0.417897 0.278907 0.136894 -v -0.737251 0.492293 0.136894 -v -0.376041 0.379956 -0.081856 -v -0.659911 0.569633 -0.081856 -v -1.037201 1.652117 0.109375 -v -1.112133 1.275412 0.109375 -v -0.936152 1.610261 -0.109375 -v -1.002758 1.275413 -0.109375 -v -1.057095 1.264465 0.136894 -v -0.982164 1.641169 0.136894 -v -0.947720 1.264465 -0.081856 -v -0.881115 1.599313 -0.081856 -v 1.037201 0.847883 0.109375 -v 1.112132 1.224588 0.109375 -v 0.936152 0.889739 -0.109375 -v 1.002757 1.224587 -0.109375 -v 1.057095 1.235535 0.136894 -v 0.982164 0.858831 0.136894 -v 0.947720 1.235535 -0.081856 -v 0.881115 0.900687 -0.081856 -v 0.402116 2.287201 0.109375 -v 0.025412 2.362133 0.109375 -v 0.360260 2.186152 -0.109375 -v 0.025412 2.252758 -0.109375 -v 0.014465 2.307095 0.136894 -v 0.391169 2.232164 0.136894 -v 0.014465 2.197720 -0.081856 -v 0.349313 2.131114 -0.081856 -v -0.402117 0.212799 0.109375 -v -0.025413 0.137868 0.109375 -v -0.360261 0.313848 -0.109375 -v -0.025413 0.247242 -0.109375 -v -0.014465 0.192905 0.136894 +v -0.378433 0.642608 -0.072260 +v -0.342344 0.627659 -0.072260 +v -0.375462 0.560089 -0.037240 +v -0.340364 0.572647 -0.048913 +v -0.310810 0.499639 -0.022734 +v -0.297262 0.532347 -0.039243 v -0.391169 0.267836 0.136894 +v -0.014465 0.192905 0.136894 v -0.014465 0.302280 -0.081856 v -0.349313 0.368885 -0.081856 -v -0.449073 2.267751 0.109375 -v -0.768427 2.054366 0.109375 -v -0.407217 2.166702 -0.109375 -v -0.691087 1.977026 -0.109375 -v -0.737251 2.007707 0.136894 -v -0.417897 2.221093 0.136894 -v -0.659911 1.930367 -0.081856 -v -0.376041 2.120044 -0.081856 -v 0.449073 0.232249 0.109375 -v 0.768427 0.445634 0.109375 -v 0.407217 0.333298 -0.109375 -v 0.691087 0.522974 -0.109375 -v 0.737251 0.492293 0.136894 -v 0.417896 0.278907 0.136894 -v 0.659911 0.569632 -0.081856 -v 0.376040 0.379956 -0.081856 -v 1.017751 1.699073 0.109375 -v 0.804366 2.018427 0.109375 -v 0.916702 1.657217 -0.109375 -v 0.727026 1.941087 -0.109375 -v 0.757707 1.987251 0.136894 -v 0.971093 1.667897 0.136894 -v 0.680367 1.909911 -0.081856 -v 0.870043 1.626041 -0.081856 -v -1.017752 0.800927 0.109375 -v -0.804366 0.481573 0.109375 -v -0.916702 0.842783 -0.109375 -v -0.727026 0.558913 -0.109375 -v -0.757708 0.512749 0.136894 -v -0.971093 0.832104 0.136894 -v -0.680368 0.590089 -0.081856 -v -0.870044 0.873959 -0.081856 -v -0.000000 1.750000 -0.750000 -v -0.191342 1.711940 -0.750000 +v -0.025414 0.247242 -0.109375 +v -0.360261 0.313848 -0.109375 +v -0.025414 0.137868 0.109375 +v -0.402117 0.212799 0.109375 +v 0.230970 1.345671 -0.500000 +v 0.095671 1.480970 -0.500000 +v 0.071753 1.423227 -0.500000 +v 0.173227 1.321753 -0.500000 +v -0.047836 1.365485 -0.500000 +v -0.115485 1.297835 -0.500000 +v -0.115485 1.202165 -0.500000 +v -0.047836 1.134515 -0.500000 +v 0.047834 1.134515 -0.500000 +v 0.115485 1.202165 -0.500000 +v 0.115485 1.297835 -0.500000 +v 0.047834 1.365485 -0.500000 +v 0.230970 1.154329 -0.500000 +v 0.173227 1.178247 -0.500000 +v 0.095671 1.019030 -0.500000 +v 0.071753 1.076773 -0.500000 +v -0.095671 1.019030 -0.500000 +v -0.071753 1.076773 -0.500000 +v -0.230970 1.154329 -0.500000 +v -0.173227 1.178247 -0.500000 +v -0.230970 1.345671 -0.500000 +v -0.173227 1.321753 -0.500000 +v -0.095671 1.480970 -0.500000 +v -0.071753 1.423227 -0.500000 +v 0.115485 1.297835 -0.375000 +v 0.173227 1.321753 -0.375000 +v 0.071753 1.423227 -0.375000 +v 0.047834 1.365485 -0.375000 +v 0.115485 1.202165 -0.375000 +v 0.173227 1.178247 -0.375000 +v 0.047834 1.134515 -0.375000 +v 0.071753 1.076773 -0.375000 +v -0.047836 1.134515 -0.375000 +v -0.071753 1.076773 -0.375000 +v -0.115485 1.202165 -0.375000 +v -0.173227 1.178247 -0.375000 +v -0.115485 1.297835 -0.375000 +v -0.173227 1.321753 -0.375000 +v -0.047836 1.365485 -0.375000 +v -0.071753 1.423227 -0.375000 +v -0.191341 1.711940 -0.750000 v -0.353553 1.603553 -0.750000 v -0.461940 1.441342 -0.750000 v -0.500000 1.250000 -0.750000 v -0.461940 1.058658 -0.750000 v -0.353553 0.896447 -0.750000 -v -0.191342 0.788060 -0.750000 -v -0.000000 0.750000 -0.750000 -v 0.191342 0.788060 -0.750000 +v -0.191341 0.788060 -0.750000 +v 0.000000 0.750000 -0.750000 +v 0.191341 0.788060 -0.750000 v 0.353553 0.896446 -0.750000 v 0.461940 1.058658 -0.750000 v 0.500000 1.250000 -0.750000 v 0.461940 1.441342 -0.750000 v 0.353553 1.603554 -0.750000 v 0.191341 1.711940 -0.750000 -v 0.095671 1.480970 -0.750000 -v -0.095671 1.480970 -0.750000 -v -0.230970 1.345671 -0.750000 -v -0.230970 1.154329 -0.750000 -v -0.095671 1.019030 -0.750000 -v 0.095671 1.019030 -0.750000 -v 0.230970 1.154329 -0.750000 -v 0.230970 1.345671 -0.750000 -v 0.095671 1.480970 -0.500000 -v -0.095671 1.480970 -0.500000 -v -0.230970 1.345671 -0.500000 -v -0.230970 1.154329 -0.500000 -v -0.095671 1.019030 -0.500000 -v 0.095671 1.019030 -0.500000 -v 0.230970 1.154329 -0.500000 -v 0.230970 1.345671 -0.500000 -v 0.047835 1.365485 -0.500000 -v -0.047836 1.365485 -0.500000 -v -0.115485 1.297835 -0.500000 -v -0.115485 1.202165 -0.500000 -v -0.047836 1.134515 -0.500000 -v 0.047835 1.134515 -0.500000 -v 0.115485 1.202165 -0.500000 -v 0.115485 1.297835 -0.500000 -v 0.071753 1.423227 -0.500000 -v -0.071753 1.423227 -0.500000 -v -0.173227 1.321753 -0.500000 -v -0.173227 1.178247 -0.500000 -v -0.071753 1.076773 -0.500000 -v 0.071753 1.076773 -0.500000 -v 0.173227 1.178247 -0.500000 -v 0.173227 1.321753 -0.500000 -v -0.047836 1.365485 -0.375000 -v 0.047835 1.365485 -0.375000 -v -0.115485 1.297835 -0.375000 -v -0.115485 1.202165 -0.375000 -v -0.047836 1.134515 -0.375000 -v 0.047835 1.134515 -0.375000 -v 0.115485 1.202165 -0.375000 -v 0.115485 1.297835 -0.375000 -v -0.071753 1.423227 -0.375000 -v 0.071753 1.423227 -0.375000 -v -0.173227 1.321753 -0.375000 -v -0.173227 1.178247 -0.375000 -v -0.071753 1.076773 -0.375000 -v 0.071753 1.076773 -0.375000 -v 0.173227 1.178247 -0.375000 -v 0.173227 1.321753 -0.375000 -v -0.000000 2.375000 -0.375000 -v -0.430519 2.289364 -0.375000 -v -0.795495 2.045495 -0.375000 -v -1.039364 1.680519 -0.375000 -v -1.125000 1.250000 -0.375000 -v -1.039364 0.819481 -0.375000 -v -0.795495 0.454505 -0.375000 -v -0.430519 0.210636 -0.375000 -v -0.000000 0.125000 -0.375000 -v 0.430519 0.210635 -0.375000 -v 0.795495 0.454505 -0.375000 -v 1.039364 0.819481 -0.375000 -v 1.125000 1.250000 -0.375000 +v 0.000000 1.750000 -0.750000 v 1.039364 1.680519 -0.375000 v 0.795495 2.045496 -0.375000 v 0.430518 2.289365 -0.375000 -v -0.000000 2.375000 -0.625000 +v 1.039364 0.819481 -0.375000 +v 1.125000 1.250000 -0.375000 +v 0.430519 0.210635 -0.375000 +v 0.795495 0.454505 -0.375000 +v -0.430519 0.210636 -0.375000 +v 0.000000 0.125000 -0.375000 +v -1.039364 0.819481 -0.375000 +v -0.795495 0.454505 -0.375000 +v -1.039364 1.680519 -0.375000 +v -1.125000 1.250000 -0.375000 +v -0.430519 2.289364 -0.375000 +v -0.795495 2.045495 -0.375000 +v 0.000000 2.375000 -0.375000 +v 0.500000 2.500000 -0.625000 +v -0.500000 2.500000 -0.625000 v -0.430519 2.289364 -0.625000 -v -0.795495 2.045495 -0.625000 -v -1.039364 1.680519 -0.625000 -v -1.125000 1.250000 -0.625000 -v -1.039364 0.819481 -0.625000 -v -0.795495 0.454505 -0.625000 -v -0.430519 0.210636 -0.625000 -v -0.000000 0.125000 -0.625000 -v 0.430519 0.210635 -0.625000 -v 0.795495 0.454505 -0.625000 -v 1.039364 0.819481 -0.625000 -v 1.125000 1.250000 -0.625000 -v 1.039364 1.680519 -0.625000 -v 0.795495 2.045496 -0.625000 +v 0.000000 2.375000 -0.625000 v 0.430518 2.289365 -0.625000 -v -1.000000 0.938500 -4.125000 +v 0.795495 2.045496 -0.625000 +v 1.039364 1.680519 -0.625000 +v 1.125000 1.250000 -0.625000 +v 1.039364 0.819481 -0.625000 +v 0.795495 0.454505 -0.625000 +v 0.430519 0.210635 -0.625000 +v 0.000000 0.125000 -0.625000 +v -0.430519 0.210636 -0.625000 +v -0.795495 0.454505 -0.625000 +v -1.039364 0.819481 -0.625000 +v -1.125000 1.250000 -0.625000 +v -1.039364 1.680519 -0.625000 +v -0.795495 2.045495 -0.625000 v -1.000000 1.645607 -3.832107 -v -1.000000 1.938500 -3.125000 -v -1.000000 1.645607 -2.417893 -v -1.000000 0.938500 -2.125000 -v -1.000000 0.231393 -2.417893 -v -1.000000 -0.061500 -3.125000 +v -1.000000 0.938500 -4.125000 v -1.000000 0.231393 -3.832107 -v -1.000000 1.376000 -2.625000 -v -1.000000 1.376000 -3.625000 +v -1.000000 -0.061500 -3.125000 +v -1.000000 0.231393 -2.417893 +v -1.000000 0.938500 -2.125000 +v -1.000000 1.645607 -2.417893 +v -1.000000 1.938500 -3.125000 v -1.000000 0.251000 -2.625000 +v -1.000000 1.376000 -2.625000 v -1.000000 0.251000 -3.625000 +v -1.000000 1.376000 -3.625000 v 1.000000 1.645607 -3.832107 -v 1.000000 0.938500 -4.125000 v 1.000000 1.938500 -3.125000 v 1.000000 1.645607 -2.417893 v 1.000000 0.938500 -2.125000 v 1.000000 0.231393 -2.417893 v 1.000000 -0.061500 -3.125000 v 1.000000 0.231393 -3.832107 -v 0.554917 2.356694 0.187500 +v 1.000000 0.938500 -4.125000 +v 0.554916 2.356694 0.187500 v 0.731694 2.179917 0.187500 +v 0.820084 2.268306 0.187500 v 0.643306 2.445082 0.187500 -v 0.820083 2.268306 0.187500 +v 0.554916 2.356694 -0.312500 v 0.643306 2.445082 -0.312500 -v 0.554917 2.356694 -0.312500 +v 0.820084 2.268306 -0.312500 v 0.731694 2.179917 -0.312500 -v 0.820083 2.268306 -0.312500 -v -0.929917 0.518306 0.187500 +v -0.929916 0.518306 0.187500 v -1.106694 0.695083 0.187500 +v -1.195084 0.606694 0.187500 v -1.018306 0.429918 0.187500 -v -1.195083 0.606694 0.187500 +v -0.929916 0.518306 -0.312500 v -1.018306 0.429918 -0.312500 -v -0.929917 0.518306 -0.312500 +v -1.195084 0.606694 -0.312500 v -1.106694 0.695083 -0.312500 -v -1.195083 0.606694 -0.312500 v 1.106694 0.695082 0.187500 -v 0.929917 0.518306 0.187500 -v 1.195082 0.606694 0.187500 +v 0.929916 0.518306 0.187500 v 1.018306 0.429917 0.187500 -v 1.195082 0.606694 -0.312500 +v 1.195082 0.606694 0.187500 v 1.106694 0.695082 -0.312500 -v 0.929917 0.518306 -0.312500 +v 1.195082 0.606694 -0.312500 v 1.018306 0.429917 -0.312500 +v 0.929916 0.518306 -0.312500 v -0.731694 2.179918 0.187500 -v -0.554917 2.356694 0.187500 -v -0.820082 2.268306 0.187500 +v -0.554916 2.356694 0.187500 v -0.643306 2.445083 0.187500 -v -0.820082 2.268306 -0.312500 +v -0.820082 2.268306 0.187500 v -0.731694 2.179918 -0.312500 -v -0.554917 2.356694 -0.312500 +v -0.820082 2.268306 -0.312500 v -0.643306 2.445083 -0.312500 -v 0.554917 2.356694 -2.375000 +v -0.554916 2.356694 -0.312500 +v 0.554916 2.356694 -2.375000 v 0.731694 2.179917 -2.375000 +v 0.820084 2.268306 -2.375000 v 0.643306 2.445082 -2.375000 -v 0.820083 2.268306 -2.375000 -v 0.643306 2.445082 -2.751000 -v 0.554917 2.356694 -2.751000 +v 0.554916 2.356694 -2.750000 +v 0.643306 2.445082 -2.750000 +v 0.820084 2.268306 -2.875000 v 0.731694 2.179917 -2.875000 -v 0.820083 2.268306 -2.875000 -v -1.125000 1.875000 -2.600000 -v -1.125000 1.875000 -1.875000 -v -0.625000 2.375000 -2.375000 -v -0.625000 2.375000 -2.125000 -v 1.000000 1.750000 -2.875000 -v -1.000000 1.750000 -2.875000 v -0.500000 2.250000 -2.625000 +v -1.000000 1.750000 -2.875000 +v 1.000000 1.750000 -2.875000 v 0.500000 2.250000 -2.625000 -v -0.500000 2.268567 -2.829241 -v 0.500000 2.268567 -2.829241 -v -0.500000 2.215740 -2.715952 v 0.500000 2.215740 -2.715952 -v 0.312500 2.438500 -2.750000 -v -0.312500 2.438500 -2.750000 -v 0.312500 2.385673 -2.636712 -v -0.312500 2.385673 -2.636712 -v -0.500000 1.872057 -3.014137 -v 0.500000 1.872057 -3.014137 v 0.500000 1.819230 -2.900848 +v 0.500000 1.872057 -3.014137 +v 0.500000 2.268567 -2.829241 +v -0.500000 2.268567 -2.829241 +v -0.500000 1.872057 -3.014137 v -0.500000 1.819230 -2.900848 -v 0.500000 0.125000 -2.750000 -v -0.500000 0.125000 -2.750000 -v -0.750000 1.696383 -3.709523 -v 0.750000 1.696383 -3.709523 -v -0.750000 1.544192 -3.511185 -v 0.750000 1.544192 -3.511185 -v -0.750000 1.639863 -3.280215 -v 0.750000 1.639863 -3.280215 +v -0.500000 2.215740 -2.715952 +v -0.312500 2.438500 -2.750000 +v 0.312500 2.438500 -2.750000 +v -0.312500 2.385673 -2.636712 +v 0.312500 2.385673 -2.636712 v -0.750000 1.887724 -3.247583 v 0.750000 1.887724 -3.247583 -v -0.750000 2.039915 -3.445922 v 0.750000 2.039915 -3.445922 -v -0.750000 1.944244 -3.676892 +v -0.750000 2.039915 -3.445922 +v 0.750000 1.544192 -3.511185 +v 0.750000 1.696383 -3.709523 v 0.750000 1.944244 -3.676892 +v 0.750000 1.639863 -3.280215 +v -0.750000 1.944244 -3.676892 +v -0.750000 1.696383 -3.709523 +v -0.750000 1.544192 -3.511185 +v -0.750000 1.639863 -3.280215 +v -0.500000 0.125000 -2.750000 +v 0.500000 0.125000 -2.750000 v 0.500000 0.125000 -1.750000 v -0.500000 0.125000 -1.750000 v 0.500000 0.500000 -2.750000 -v -0.500000 0.500000 -2.750000 v 0.500000 0.500000 -1.750000 v -0.500000 0.500000 -1.750000 -v -0.625000 0.187500 -3.625000 -v 0.625000 0.187500 -3.625000 -v -0.625000 1.687500 -3.625000 -v 0.625000 1.687500 -3.625000 -v -0.625000 1.687500 -4.125000 +v -0.500000 0.500000 -2.750000 v -0.625000 0.187500 -4.125000 -v 0.625000 0.187500 -4.125000 +v -0.625000 1.687500 -4.125000 v 0.625000 1.687500 -4.125000 -v -0.500000 1.562500 -4.125000 -v 0.500000 1.562500 -4.125000 -v -0.500000 0.312500 -4.125000 -v 0.500000 0.312500 -4.125000 -v -0.500000 0.312500 -4.875000 +v 0.625000 0.187500 -4.125000 +v 0.625000 1.687500 -3.625000 +v 0.625000 0.187500 -3.625000 +v -0.625000 0.187500 -3.625000 +v -0.625000 1.687500 -3.625000 v -0.500000 1.562500 -4.875000 v 0.500000 1.562500 -4.875000 v 0.500000 0.312500 -4.875000 -v 1.375000 1.875000 -2.562500 -v 1.375000 2.091506 -2.437500 -v 1.375000 2.091506 -2.187500 -v 1.375000 1.875000 -2.062500 +v -0.500000 0.312500 -4.875000 +v 0.500000 0.312500 -4.125000 +v -0.500000 0.312500 -4.125000 +v -0.500000 1.562500 -4.125000 +v 0.500000 1.562500 -4.125000 v 1.375000 1.658494 -2.187500 -v 1.375000 1.658494 -2.437500 -v 0.875000 1.875000 -2.562500 -v 0.875000 2.091506 -2.437500 -v 0.875000 2.091506 -2.187500 -v 0.875000 1.875000 -2.062500 v 0.875000 1.658494 -2.187500 v 0.875000 1.658494 -2.437500 -v 1.375000 1.875000 -2.437500 +v 1.375000 1.658494 -2.437500 +v 1.375000 2.091506 -2.187500 +v 0.875000 2.091506 -2.187500 +v 0.875000 1.875000 -2.062500 +v 1.375000 1.875000 -2.062500 +v 1.375000 1.875000 -2.562500 +v 0.875000 1.875000 -2.562500 +v 0.875000 2.091506 -2.437500 +v 1.375000 2.091506 -2.437500 v 1.375000 1.983253 -2.375000 v 1.375000 1.983253 -2.250000 -v 1.375000 1.875000 -2.187500 +v 1.562500 1.983253 -2.250000 +v 1.562500 1.983253 -2.375000 v 1.375000 1.766747 -2.250000 v 1.375000 1.766747 -2.375000 -v 1.562500 1.875000 -2.437500 -v 1.562500 1.983253 -2.375000 -v 1.562500 1.983253 -2.250000 -v 1.562500 1.875000 -2.187500 -v 1.562500 1.766747 -2.250000 v 1.562500 1.766747 -2.375000 -v 1.562500 1.875000 -2.500000 -v 1.562500 2.037380 -2.406250 -v 1.562500 2.037380 -2.218750 -v 1.562500 1.875000 -2.125000 -v 1.562500 1.712620 -2.218750 +v 1.562500 1.766747 -2.250000 +v 1.375000 1.875000 -2.187500 +v 1.562500 1.875000 -2.187500 +v 1.375000 1.875000 -2.437500 +v 1.562500 1.875000 -2.437500 v 1.562500 1.712620 -2.406250 +v 1.562500 1.712620 -2.218750 +v 1.562500 1.875000 -2.125000 +v 1.562500 2.037380 -2.218750 +v 1.562500 2.037380 -2.406250 +v 1.562500 1.875000 -2.500000 v 2.312500 1.875000 -2.500000 -v 2.312500 2.037380 -2.406250 -v 2.312500 2.037380 -2.218750 -v 2.312500 1.875000 -2.125000 -v 2.312500 1.712620 -2.218750 v 2.312500 1.712620 -2.406250 -v 2.312500 1.875000 -2.437500 -v 2.312500 1.983253 -2.375000 -v 2.312500 1.983253 -2.250000 +v 2.312500 1.712620 -2.218750 +v 2.312500 1.875000 -2.125000 +v 2.312500 2.037380 -2.218750 +v 2.312500 2.037380 -2.406250 v 2.312500 1.875000 -2.187500 -v 2.312500 1.766747 -2.250000 +v 2.312500 1.983253 -2.250000 +v 2.312500 1.983253 -2.375000 +v 2.312500 1.875000 -2.437500 v 2.312500 1.766747 -2.375000 -v 2.500000 1.875000 -2.437500 -v 2.500000 1.983253 -2.375000 -v 2.500000 1.983253 -2.250000 -v 2.500000 1.875000 -2.187500 +v 2.312500 1.766747 -2.250000 v 2.500000 1.766747 -2.250000 +v 2.500000 1.875000 -2.187500 +v 2.500000 1.983253 -2.250000 +v 2.500000 1.983253 -2.375000 v 2.500000 1.766747 -2.375000 -v 2.500000 1.875000 -2.562500 -v 2.500000 2.091506 -2.437500 -v 2.500000 2.091506 -2.187500 +v 2.500000 1.875000 -2.437500 v 2.500000 1.875000 -2.062500 -v 2.500000 1.658494 -2.187500 +v 2.500000 2.091506 -2.187500 +v 2.500000 2.091506 -2.437500 +v 2.500000 1.875000 -2.562500 v 2.500000 1.658494 -2.437500 -v 2.625000 1.875000 -2.562500 -v 2.625000 2.091506 -2.437500 +v 2.500000 1.658494 -2.187500 v 2.625000 2.091506 -2.187500 -v 2.625000 1.875000 -2.062500 -v 2.625000 1.658494 -2.187500 +v 2.625000 2.091506 -2.437500 v 2.625000 1.658494 -2.437500 -v 2.750000 1.875000 -2.437500 +v 2.625000 1.658494 -2.187500 +v 2.625000 1.875000 -2.062500 +v 2.625000 1.875000 -2.562500 v 2.750000 1.983253 -2.375000 -v 2.750000 1.983253 -2.250000 -v 2.750000 1.875000 -2.187500 -v 2.750000 1.766747 -2.250000 +v 2.750000 1.875000 -2.437500 v 2.750000 1.766747 -2.375000 +v 2.750000 1.766747 -2.250000 +v 2.750000 1.875000 -2.187500 +v 2.750000 1.983253 -2.250000 v -0.187500 1.625000 -4.125000 v 0.187500 1.625000 -4.125000 -v -0.187500 1.625000 -5.000000 v 0.187500 1.625000 -5.000000 -v -0.187500 1.250000 -5.000000 -v -0.187500 1.250000 -4.125000 -v 0.187500 1.250000 -4.125000 +v -0.187500 1.625000 -5.000000 +v -0.187500 1.669194 -5.397748 +v -0.187500 2.022748 -5.044194 +v -0.187500 2.287913 -5.309359 +v -0.187500 2.022748 -5.574524 +v -0.187500 1.845971 -5.574524 v 0.187500 1.250000 -5.000000 +v -0.187500 1.250000 -5.000000 +v 0.187500 1.250000 -4.125000 +v -0.187500 1.250000 -4.125000 v -0.125000 1.625000 -4.734835 v 0.125000 1.625000 -4.734835 -v -0.125000 1.359835 -5.000000 -v 0.125000 1.359835 -5.000000 v 0.125000 1.978553 -5.088388 v -0.125000 1.978553 -5.088388 -v 0.125000 1.713388 -5.353553 +v -0.125000 1.359835 -5.000000 v -0.125000 1.713388 -5.353553 -v -0.187500 2.022748 -5.044194 -v 0.187500 2.022748 -5.044194 -v -0.187500 1.669194 -5.397748 +v 0.125000 1.359835 -5.000000 +v 0.125000 1.713388 -5.353553 v 0.187500 1.669194 -5.397748 -v 0.187500 2.287913 -5.309359 -v -0.187500 2.287913 -5.309359 -v 0.187500 1.845971 -5.574524 -v -0.187500 1.845971 -5.574524 +v 0.187500 2.022748 -5.044194 v 0.187500 2.022748 -5.574524 -v -0.187500 2.022748 -5.574524 -v -0.062500 2.066942 -5.088388 -v 0.062500 2.066942 -5.088388 -v -0.062500 2.243718 -5.265165 -v 0.062500 2.243718 -5.265165 -v -0.062500 2.774049 -4.734835 +v 0.187500 1.845971 -5.574524 +v 0.187500 2.287913 -5.309359 v -0.062500 2.597272 -4.558058 v 0.062500 2.597272 -4.558058 v 0.062500 2.774049 -4.734835 -v 0.000000 2.374456 -2.778129 -v -0.125000 2.344101 -2.792284 -v -0.216506 2.261168 -2.830956 -v -0.250000 2.147880 -2.883784 -v -0.216506 2.034591 -2.936611 -v -0.125000 1.951658 -2.975283 -v -0.000000 1.921303 -2.989438 -v 0.125000 1.951658 -2.975283 -v 0.216506 2.034591 -2.936611 +v -0.062500 2.774049 -4.734835 +v 0.062500 2.066942 -5.088388 +v 0.062500 2.243718 -5.265165 +v -0.062500 2.243718 -5.265165 +v -0.062500 2.066942 -5.088388 v -0.125000 2.423342 -2.962217 v 0.000000 2.453697 -2.948062 -v -0.216506 2.340409 -3.000889 -v -0.250000 2.227120 -3.053716 -v -0.216506 2.113832 -3.106544 -v -0.125000 2.030899 -3.145216 -v -0.000000 2.000544 -3.159371 -v 0.125000 2.030899 -3.145216 -v 0.216506 2.113832 -3.106544 -v 0.250000 2.227120 -3.053716 -v 0.216506 2.340409 -3.000889 v 0.125000 2.423342 -2.962217 +v 0.216506 2.340409 -3.000889 +v 0.250000 2.227120 -3.053716 +v 0.216506 2.113832 -3.106544 +v 0.125000 2.030899 -3.145216 +v 0.000000 2.000544 -3.159371 +v -0.125000 2.030899 -3.145216 +v -0.216506 2.113832 -3.106544 +v -0.250000 2.227120 -3.053716 +v -0.216506 2.340409 -3.000889 +v 0.000000 2.374456 -2.778129 v 0.000000 2.487745 -2.725302 -v 0.324759 1.977947 -2.963025 -v 0.375000 2.147880 -2.883783 -v 0.324760 2.317812 -2.804543 -v 0.187500 2.442212 -2.746534 v 0.000000 2.566986 -2.895234 +v 0.324759 1.977947 -2.963025 +v 0.216506 2.034591 -2.936611 v 0.324759 2.057188 -3.132957 v 0.375000 2.227120 -3.053716 v 0.324760 2.397053 -2.974475 v 0.187500 2.521452 -2.916467 -v -0.375000 2.034591 -2.936611 -v -0.437500 2.049769 -2.929533 -v -0.483253 2.091235 -2.910197 -v -0.500000 2.147880 -2.883784 -v -0.483253 2.204524 -2.857370 -v -0.437500 2.245990 -2.838034 -v -0.375000 2.261168 -2.830956 -v -0.312500 2.245990 -2.838034 -v -0.266747 2.204524 -2.857370 -v -0.250000 2.147880 -2.883784 -v -0.266747 2.091235 -2.910197 -v -0.312500 2.049769 -2.929533 -v -0.375000 2.087419 -3.049900 +v 0.324760 2.317812 -2.804543 +v 0.187500 2.442212 -2.746534 v -0.437500 2.102596 -3.042822 v -0.483253 2.144063 -3.023486 v -0.500000 2.200707 -2.997072 @@ -1340,527 +491,374 @@ v -0.266747 2.257351 -2.970659 v -0.250000 2.200707 -2.997072 v -0.266747 2.144063 -3.023486 v -0.312500 2.102596 -3.042822 -v 0.625000 2.375000 -0.875000 -v 1.125000 1.875000 -0.875000 -v 0.625000 2.375000 -1.875000 -v 1.125000 1.875000 -1.625000 -v -0.625000 2.375000 -0.875000 -v -0.625000 2.375000 -1.875000 -v -1.125000 1.875000 -0.875000 +v -0.375000 2.087419 -3.049900 +v -1.125000 1.875000 -1.875000 v -1.125000 1.875000 -1.625000 -v -1.036612 1.786612 -2.600000 -v -0.536612 2.286612 -2.375000 -v -1.036612 1.786612 -1.875000 -v -0.536612 2.286612 -2.125000 -v 0.948223 1.698223 -1.625000 +v -0.625000 2.375000 -1.875000 +v -0.625000 2.375000 -2.125000 +v -0.625000 2.375000 -0.875000 +v -1.125000 1.875000 -0.875000 +v -1.125000 1.875000 -2.625000 +v -0.625000 2.375000 -2.375000 +v 1.125000 1.875000 -0.875000 +v 0.625000 2.375000 -0.875000 +v 1.125000 1.875000 -1.625000 +v 0.625000 2.375000 -1.875000 v 0.448223 2.198223 -1.875000 -v 0.948223 1.698223 -0.875000 -v 0.448223 2.198223 -0.875000 -v 0.875000 1.948223 -1.125000 -v 0.911612 2.036612 -1.125000 -v 0.875000 2.125000 -1.125000 -v -0.875000 2.125000 -1.125000 -v -0.911612 2.036612 -1.125000 -v -0.875000 1.948223 -1.125000 -v 0.137500 2.062500 -3.437400 -v -0.137500 2.062500 -3.749900 -v -0.012500 2.062500 -3.749900 -v -0.698223 2.125000 -1.125000 -v -0.786612 2.161612 -1.125000 -v -0.823223 2.073223 -0.948223 -v -0.867418 1.992418 -0.974112 -v -0.849112 1.922335 -1.036612 -v 0.137500 2.062500 -3.749900 -v 0.012500 2.062500 -3.749900 -v -0.672335 2.099112 -1.036612 -v -0.742418 2.117417 -0.974112 -v -0.698223 1.948223 -0.875000 -v -0.760723 1.885723 -0.911612 -v -0.786612 1.859835 -1.000000 -v 0.012500 1.937500 -3.749900 -v 0.137500 1.937500 -3.749900 -v -0.609835 2.036612 -1.000000 -v -0.635723 2.010723 -0.911612 -v -0.698223 2.301777 -1.125000 -v -0.734835 2.213388 -1.125000 -v -0.698223 2.125000 -1.125000 -v 0.012500 1.937500 -3.874900 -v 0.137500 1.937500 -3.874900 -v -0.012500 1.937500 -3.874900 -v -0.521447 2.301777 -1.125000 -v -0.609835 2.338388 -1.125000 -v -0.646447 2.250000 -0.948223 -v -0.690641 2.169194 -0.974112 -v -0.672335 2.099112 -1.036612 -v -0.012500 1.937500 -3.749900 -v -0.137500 1.937500 -3.749900 -v -0.495558 2.275888 -1.036612 -v -0.565641 2.294194 -0.974112 -v -0.521447 2.125000 -0.875000 -v -0.583947 2.062500 -0.911612 -v -0.609835 2.036612 -1.000000 -v -0.137500 1.937500 -3.874900 -v -0.137500 1.687500 -3.749900 -v -0.433058 2.213388 -1.000000 -v -0.458947 2.187500 -0.911612 -v -1.051777 1.948223 -1.125000 -v -1.088388 1.859835 -1.125000 -v -1.051777 1.771446 -1.125000 -v -0.012500 1.687500 -3.749900 -v -0.137500 1.687500 -3.874900 -v -0.012500 1.687500 -3.874900 -v -0.875000 1.948223 -1.125000 -v -0.963388 1.984835 -1.125000 -v -1.000000 1.896446 -0.948223 -v -1.044194 1.815641 -0.974112 -v -1.025888 1.745558 -1.036612 -v 0.137500 1.687500 -3.874900 -v 0.012500 1.687500 -3.874900 -v -0.849112 1.922335 -1.036612 -v -0.919194 1.940641 -0.974112 -v -0.875000 1.771446 -0.875000 -v -0.937500 1.708946 -0.911612 -v -0.963388 1.683058 -1.000000 -v 0.137500 1.687500 -3.749900 -v 0.012500 1.687500 -3.749900 -v -0.786612 1.859835 -1.000000 -v -0.812500 1.833946 -0.911612 -v -0.875000 2.125000 -1.812500 -v -0.911612 2.036612 -1.812500 -v -0.875000 1.948223 -1.812500 -v -0.698223 2.125000 -1.812500 -v -0.786612 2.161612 -1.812500 -v -0.698223 2.301777 -1.875000 -v -0.734835 2.213388 -1.875000 -v -0.698223 2.125000 -1.875000 -v -0.521447 2.301777 -1.875000 -v -0.609835 2.338388 -1.875000 -v -1.051777 1.948223 -1.750000 -v -1.088388 1.859835 -1.750000 -v -1.051777 1.771446 -1.750000 -v -0.875000 1.948223 -1.750000 -v -0.963388 1.984835 -1.750000 +v 0.948223 1.698223 -1.625000 +v -1.036612 1.786612 -1.875000 +v -1.036612 1.786612 -2.625000 +v -0.948223 1.698223 -1.625000 v -0.448223 2.198223 -1.875000 +v -0.536612 2.286612 -2.375000 +v -0.536612 2.286612 -2.125000 v -0.448223 2.198223 -0.875000 v -0.948223 1.698223 -0.875000 -v -0.948223 1.698223 -1.625000 -v 0.698223 2.125000 -1.125000 -v 0.786612 2.161612 -1.125000 -v 0.823223 2.073223 -0.948223 -v 0.867418 1.992418 -0.974112 -v 0.849112 1.922335 -1.036612 -v 0.672335 2.099112 -1.036612 -v 0.742418 2.117417 -0.974112 -v 0.698223 1.948223 -0.875000 -v 0.760723 1.885723 -0.911612 -v 0.786612 1.859835 -1.000000 -v -0.012500 2.134191 -3.062400 -v 0.609835 2.036612 -1.000000 -v 0.635723 2.010723 -0.911612 -v 0.698223 2.301777 -1.125000 -v 0.734835 2.213388 -1.125000 -v 0.698223 2.125000 -1.125000 -v -0.137500 2.134191 -3.062400 -v 0.137500 2.134191 -3.062400 -v 0.012500 2.134191 -3.062400 -v 0.521447 2.301777 -1.125000 -v 0.609835 2.338388 -1.125000 -v 0.646447 2.250000 -0.948223 -v 0.690641 2.169194 -0.974112 -v 0.672335 2.099112 -1.036612 -v 0.137500 2.009191 -3.062400 -v 0.012500 2.009191 -3.062400 -v 0.495558 2.275888 -1.036612 -v 0.565641 2.294194 -0.974112 -v 0.521447 2.125000 -0.875000 -v 0.583947 2.062500 -0.911612 -v 0.609835 2.036612 -1.000000 -v -0.012500 2.009191 -3.062400 -v -0.137500 2.009191 -3.062400 -v 0.433058 2.213388 -1.000000 -v 0.458947 2.187500 -0.911612 -v 1.051777 1.948223 -1.125000 -v 1.088388 1.859835 -1.125000 -v 1.051777 1.771446 -1.125000 +v 0.948223 1.698223 -0.875000 +v 0.448223 2.198223 -0.875000 +v -0.137500 2.062500 -3.749900 +v -0.137500 1.937500 -3.749900 v -0.137500 2.062500 -3.437400 v -0.137500 2.187500 -3.437400 -v -0.012500 2.187500 -3.437400 -v 0.875000 1.948223 -1.125000 -v 0.963388 1.984835 -1.125000 -v 1.000000 1.896446 -0.948223 -v 1.044194 1.815641 -0.974112 -v 1.025888 1.745558 -1.036612 +v -0.012500 1.937500 -3.749900 v -0.012500 2.062500 -3.437400 -v 0.012500 2.062500 -3.437400 -v 0.849112 1.922335 -1.036612 -v 0.919194 1.940641 -0.974112 -v 0.875000 1.771446 -0.875000 -v 0.937500 1.708946 -0.911612 -v 0.963388 1.683058 -1.000000 -v 0.012500 2.187500 -3.437400 +v 0.137500 1.937500 -3.749900 +v 0.137500 2.062500 -3.749900 v 0.137500 2.187500 -3.437400 -v 0.786612 1.859835 -1.000000 -v 0.812500 1.833946 -0.911612 -v 0.875000 2.125000 -1.812500 -v 0.911612 2.036612 -1.812500 -v 0.875000 1.948223 -1.812500 -v 0.698223 2.125000 -1.812500 -v 0.786612 2.161612 -1.812500 -v 0.698223 2.301777 -1.875000 -v 0.734835 2.213388 -1.875000 -v 0.698223 2.125000 -1.875000 -v 0.521447 2.301777 -1.875000 -v 0.609835 2.338388 -1.875000 -v 1.051777 1.948223 -1.750000 -v 1.088388 1.859835 -1.750000 -v 1.051777 1.771446 -1.750000 -v 0.875000 1.948223 -1.750000 -v 0.963388 1.984835 -1.750000 -v 1.187500 1.359472 -0.413125 -v 1.187500 1.246183 -0.360298 -v 1.187500 1.253817 -0.639702 -v 1.187500 1.140528 -0.586875 -v 1.062500 1.253817 -0.639702 -v 1.062500 1.359472 -0.413125 -v 1.062500 1.246183 -0.360298 -v 1.062500 1.140528 -0.586875 -v -1.187500 1.140528 -0.413125 -v -1.187500 1.253817 -0.360298 -v -1.187500 1.246183 -0.639702 -v -1.187500 1.359471 -0.586875 -v -1.062500 1.246183 -0.639702 -v -1.062500 1.140528 -0.413125 -v -1.062500 1.253817 -0.360298 -v -1.062500 1.359471 -0.586875 -v 0.109472 0.062500 -0.413125 -v -0.003817 0.062500 -0.360298 -v 0.003817 0.062500 -0.639702 -v -0.109472 0.062500 -0.586875 -v 0.003817 0.187500 -0.639702 -v 0.109472 0.187500 -0.413125 -v -0.003817 0.187500 -0.360298 -v -0.109472 0.187500 -0.586875 +v 0.137500 2.062500 -3.437400 +v -0.012500 2.062500 -3.749900 +v -0.012500 2.187500 -3.437400 +v 0.137500 2.134191 -3.062400 +v 0.137500 2.009191 -3.062400 +v -0.012500 2.009191 -3.062400 +v -0.137500 2.009191 -3.062400 +v -0.012500 1.937500 -3.874900 +v -0.137500 1.937500 -3.874900 +v 0.137500 1.937500 -3.874900 +v 0.012500 1.937500 -3.874900 +v 0.012500 2.062500 -3.749900 +v 0.012500 1.937500 -3.749900 +v -0.012500 1.687500 -3.874900 +v -0.137500 1.687500 -3.874900 +v -0.137500 1.687500 -3.749900 +v -0.012500 1.687500 -3.749900 +v 0.137500 1.687500 -3.749900 +v 0.137500 1.687500 -3.874900 +v 0.012500 1.687500 -3.874900 +v 0.012500 1.687500 -3.749900 +v 0.012500 2.062500 -3.437400 +v 0.625000 2.001000 -3.187500 +v 0.625000 2.001000 -3.062500 +v 0.875000 2.001000 -3.062500 +v 0.875000 2.001000 -3.187500 +v 0.012500 2.187500 -3.437400 +v 0.012500 2.134191 -3.062400 +v 0.012500 2.009191 -3.062400 +v -0.137500 2.134191 -3.062400 +v -0.012500 2.134191 -3.062400 v -0.109472 2.437500 -0.413125 v 0.003817 2.437500 -0.360298 -v -0.003817 2.437500 -0.639702 v 0.109472 2.437500 -0.586875 +v -0.003817 2.437500 -0.639702 +v 0.109472 2.312500 -0.586875 v -0.003817 2.312500 -0.639702 v -0.109472 2.312500 -0.413125 v 0.003817 2.312500 -0.360298 -v 0.109472 2.312500 -0.586875 -v 0.917097 0.487719 -0.413125 -v 0.836990 0.407612 -0.360298 -v 0.842388 0.413010 -0.639702 -v 0.762281 0.332903 -0.586875 -v 0.754000 0.501398 -0.639702 -v 0.828709 0.576107 -0.413125 -v 0.748602 0.496000 -0.360298 -v 0.673893 0.421291 -0.586875 -v -0.917097 2.012281 -0.413125 -v -0.836990 2.092388 -0.360298 -v -0.842388 2.086990 -0.639702 -v -0.762281 2.167097 -0.586875 -v -0.754000 1.998602 -0.639702 -v -0.828709 1.923893 -0.413125 -v -0.748602 2.004000 -0.360298 -v -0.673893 2.078709 -0.586875 -v -0.762281 0.332902 -0.413125 -v -0.842388 0.413010 -0.360298 -v -0.836990 0.407611 -0.639702 -v -0.917097 0.487719 -0.586875 -v -0.748602 0.496000 -0.639702 -v -0.673893 0.421291 -0.413125 -v -0.754000 0.501398 -0.360298 -v -0.828709 0.576107 -0.586875 -v 0.762281 2.167097 -0.413125 -v 0.842388 2.086990 -0.360298 -v 0.836990 2.092388 -0.639702 -v 0.917097 2.012281 -0.586875 -v 0.748602 2.004000 -0.639702 -v 0.673893 2.078709 -0.413125 -v 0.754000 1.998602 -0.360298 -v 0.828709 1.923893 -0.586875 -v -0.498945 0.166859 -0.413125 -v -0.597056 0.223503 -0.360298 -v -0.590444 0.219686 -0.639702 -v -0.688555 0.276330 -0.586875 -v -0.527944 0.327939 -0.639702 -v -0.436445 0.275112 -0.413125 -v -0.534556 0.331756 -0.360298 -v -0.626055 0.384584 -0.586875 -v 0.498945 2.333141 -0.413125 -v 0.597056 2.276496 -0.360298 -v 0.590444 2.280313 -0.639702 -v 0.688555 2.223669 -0.586875 -v 0.527944 2.172060 -0.639702 -v 0.436445 2.224888 -0.413125 -v 0.534556 2.168243 -0.360298 -v 0.626055 2.115416 -0.586875 -v -1.083141 1.748945 -0.413125 -v -1.026497 1.847055 -0.360298 -v -1.030314 1.840444 -0.639702 -v -0.973670 1.938555 -0.586875 -v -0.922061 1.777944 -0.639702 -v -0.974888 1.686445 -0.413125 -v -0.918244 1.784555 -0.360298 -v -0.865416 1.876055 -0.586875 -v 1.083141 0.751055 -0.413125 -v 1.026497 0.652944 -0.360298 -v 1.030314 0.659555 -0.639702 -v 0.973669 0.561445 -0.586875 -v 0.922060 0.722055 -0.639702 -v 0.974888 0.813555 -0.413125 -v 0.918243 0.715444 -0.360298 -v 0.865416 0.623945 -0.586875 -v -1.118704 0.836911 -0.413125 -v -1.148025 0.946339 -0.360298 -v -1.146049 0.938965 -0.639702 -v -1.175370 1.048394 -0.586875 -v -1.025308 0.971318 -0.639702 -v -0.997963 0.869263 -0.413125 -v -1.027284 0.978692 -0.360298 -v -1.054630 1.080746 -0.586875 -v 1.118703 1.663089 -0.413125 -v 1.148025 1.553661 -0.360298 -v 1.146049 1.561034 -0.639702 -v 1.175370 1.451606 -0.586875 -v 1.025308 1.528682 -0.639702 -v 0.997963 1.630736 -0.413125 -v 1.027284 1.521308 -0.360298 -v 1.054629 1.419254 -0.586875 -v -0.413089 2.368703 -0.413125 -v -0.303661 2.398025 -0.360298 -v -0.311035 2.396049 -0.639702 -v -0.201606 2.425370 -0.586875 -v -0.278682 2.275308 -0.639702 -v -0.380737 2.247963 -0.413125 -v -0.271308 2.277284 -0.360298 -v -0.169254 2.304629 -0.586875 -v 0.413089 0.131296 -0.413125 -v 0.303660 0.101975 -0.360298 -v 0.311034 0.103951 -0.639702 -v 0.201606 0.074629 -0.586875 -v 0.278682 0.224691 -0.639702 -v 0.380737 0.252037 -0.413125 -v 0.271308 0.222716 -0.360298 -v 0.169254 0.195370 -0.586875 -v -0.688555 2.223669 -0.413125 -v -0.590445 2.280313 -0.360298 -v -0.597056 2.276496 -0.639702 -v -0.498945 2.333141 -0.586875 -v -0.534556 2.168243 -0.639702 -v -0.626055 2.115416 -0.413125 -v -0.527945 2.172060 -0.360298 -v -0.436445 2.224888 -0.586875 -v 0.688555 0.276330 -0.413125 -v 0.590444 0.219686 -0.360298 -v 0.597055 0.223503 -0.639702 -v 0.498945 0.166859 -0.586875 -v 0.534555 0.331756 -0.639702 -v 0.626055 0.384583 -0.413125 -v 0.527944 0.327939 -0.360298 -v 0.436445 0.275112 -0.586875 -v 0.973669 1.938555 -0.413125 -v 1.030313 1.840444 -0.360298 -v 1.026497 1.847055 -0.639702 -v 1.083141 1.748945 -0.586875 -v 0.918244 1.784555 -0.639702 -v 0.865416 1.876055 -0.413125 -v 0.922060 1.777944 -0.360298 -v 0.974888 1.686445 -0.586875 -v -0.973670 0.561445 -0.413125 -v -1.030314 0.659556 -0.360298 -v -1.026497 0.652944 -0.639702 -v -1.083141 0.751055 -0.586875 -v -0.918244 0.715444 -0.639702 -v -0.865416 0.623945 -0.413125 -v -0.922061 0.722056 -0.360298 -v -0.974888 0.813555 -0.586875 -v 0.201606 2.425370 -0.413125 -v 0.311034 2.396049 -0.360298 -v 0.303661 2.398025 -0.639702 -v 0.413089 2.368704 -0.586875 -v 0.271308 2.277284 -0.639702 -v 0.169254 2.304629 -0.413125 -v 0.278682 2.275308 -0.360298 -v 0.380737 2.247963 -0.586875 -v -0.201606 0.074630 -0.413125 -v -0.311035 0.103951 -0.360298 -v -0.303661 0.101975 -0.639702 -v -0.413089 0.131296 -0.586875 -v -0.271309 0.222716 -0.639702 -v -0.169254 0.195370 -0.413125 -v -0.278682 0.224692 -0.360298 -v -0.380737 0.252037 -0.586875 -v 1.175370 1.048394 -0.413125 -v 1.146049 0.938965 -0.360298 -v 1.148025 0.946339 -0.639702 -v 1.118704 0.836911 -0.586875 -v 1.027284 0.978692 -0.639702 -v 1.054629 1.080746 -0.413125 -v 1.025308 0.971318 -0.360298 -v 0.997963 0.869263 -0.586875 -v -1.175371 1.451606 -0.413125 -v -1.146049 1.561035 -0.360298 -v -1.148025 1.553661 -0.639702 -v -1.118704 1.663089 -0.586875 -v -1.027284 1.521308 -0.639702 -v -1.054630 1.419254 -0.413125 -v -1.025308 1.528682 -0.360298 -v -0.997963 1.630737 -0.586875 -v 0.625000 1.876000 -3.062500 -v 0.625000 2.001000 -3.062500 v -0.625000 1.938500 -3.250000 v 0.625000 1.938500 -3.250000 -v -0.625000 1.830247 -3.187500 v 0.625000 1.830247 -3.187500 -v -0.625000 1.830247 -3.062500 +v -0.625000 1.830247 -3.187500 +v 0.625000 1.876000 -3.062500 +v 0.875000 1.876000 -3.062500 v 0.625000 1.830247 -3.062500 -v -0.625000 1.938500 -3.000000 -v 0.625000 1.938500 -3.000000 -v -0.625000 2.046753 -3.062500 -v 0.625000 2.046753 -3.062500 -v -0.625000 2.046753 -3.187500 -v 0.625000 2.046753 -3.187500 -v 0.625000 2.001000 -3.187500 +v -0.625000 1.830247 -3.062500 v 0.625000 1.876000 -3.187500 v 0.875000 1.876000 -3.187500 -v 0.875000 2.001000 -3.187500 -v 0.875000 1.876000 -3.062500 -v 0.875000 2.001000 -3.062500 +v 0.625000 1.938500 -3.000000 +v -0.625000 1.938500 -3.000000 +v 0.625000 2.046753 -3.062500 +v -0.625000 2.046753 -3.062500 +v 0.625000 2.046753 -3.187500 +v -0.625000 2.046753 -3.187500 v 1.000000 2.001000 -3.187500 v 1.000000 2.001000 -3.062500 v 0.875000 2.126000 -3.187500 -v 0.875000 2.126000 -3.062500 -v 1.000000 2.126000 -3.062500 v 1.000000 2.126000 -3.187500 -v 0.875000 2.251000 -3.187500 -v 1.000000 2.251000 -3.187500 v 0.875000 2.126000 -3.312500 v 1.000000 2.126000 -3.312500 +v 1.000000 2.126000 -3.062500 +v 0.875000 2.126000 -3.062500 +v 1.000000 2.251000 -3.187500 +v 0.875000 2.251000 -3.187500 v 0.875000 2.251000 -3.312500 v 1.000000 2.251000 -3.312500 -v 0.875000 1.876000 -3.937500 -v 1.000000 1.876000 -3.937500 -v 0.875000 2.001000 -3.937500 v 1.000000 2.001000 -3.937500 -v 0.875000 1.876000 -4.062500 +v 0.875000 2.001000 -3.937500 +v 1.000000 1.876000 -3.937500 v 1.000000 1.876000 -4.062500 -v 1.000000 1.626000 -3.937500 -v 0.875000 1.626000 -3.937500 +v 0.875000 1.876000 -3.937500 +v 0.875000 1.876000 -4.062500 v 0.875000 1.626000 -4.062500 -v 1.000000 1.626000 -4.062500 -v 0.875000 1.501000 -4.062500 +v 0.875000 1.626000 -3.937500 v 0.875000 1.501000 -3.937500 v 0.625000 1.626000 -3.937500 +v 0.625000 1.501000 -3.937500 +v 1.000000 1.626000 -3.937500 +v 1.000000 1.626000 -4.062500 +v 0.875000 1.501000 -4.062500 v 0.625000 1.626000 -4.062500 v 0.625000 1.501000 -4.062500 -v 0.625000 1.501000 -3.937500 -vn 0.0000 -1.0000 0.0000 +v -0.382683 2.173880 -0.125000 +v 0.000000 2.250000 -0.125000 +v 0.382683 2.173880 -0.125000 +v 0.707106 1.957107 -0.125000 +v 0.923880 1.632684 -0.125000 +v 1.000000 1.250000 -0.125000 +v 0.923880 0.867316 -0.125000 +v 0.707106 0.542893 -0.125000 +v 0.382683 0.326120 -0.125000 +v 0.000000 0.250000 -0.125000 +v -0.382684 0.326120 -0.125000 +v -0.707108 0.542893 -0.125000 +v -0.923880 0.867316 -0.125000 +v -1.000000 1.250000 -0.125000 +v -0.923880 1.632683 -0.125000 +v -0.707108 1.957107 -0.125000 +v -0.382683 2.173880 -0.500000 +v 0.000000 2.250000 -0.500000 +v 0.382683 2.173880 -0.500000 +v 0.382683 0.326120 -0.500000 +v 0.000000 0.250000 -0.500000 +v -0.707108 1.957107 -0.500000 +v 0.707106 0.542893 -0.500000 +v -0.923880 1.632683 -0.500000 +v 0.923880 0.867316 -0.500000 +v -1.000000 1.250000 -0.500000 +v 1.000000 1.250000 -0.500000 +v -0.923880 0.867316 -0.500000 +v 0.923880 1.632684 -0.500000 +v -0.707108 0.542893 -0.500000 +v 0.707106 1.957107 -0.500000 +v -0.382684 0.326120 -0.500000 +v 0.110485 0.764515 -0.750000 +v 0.156250 0.875000 -0.750000 +v 0.156250 0.737706 -0.418544 +v 0.110485 0.659581 -0.496669 +v 0.110485 0.985485 -0.750000 +v 0.000000 1.031250 -0.750000 +v 0.000000 0.848192 -0.308058 +v 0.110485 0.815831 -0.340419 +v -0.110486 0.985485 -0.750000 +v -0.156250 0.875000 -0.750000 +v -0.156250 0.737706 -0.418544 +v -0.110486 0.815831 -0.340419 +v -0.110486 0.764515 -0.750000 +v -0.110486 0.659581 -0.496669 +v 0.000000 0.718750 -0.750000 +v 0.000000 0.627221 -0.529029 +v -0.156250 0.585633 -0.316931 +v -0.110486 0.627914 -0.214856 +v 0.000000 0.645427 -0.172575 +v 0.110485 0.627914 -0.214856 +v 0.156250 0.585633 -0.316931 +v 0.110485 0.543352 -0.419007 +v 0.000000 0.525838 -0.461288 +v -0.110486 0.543352 -0.419007 +v 0.110485 0.406250 -0.391735 +v 0.000000 0.406250 -0.437500 +v -0.110486 0.406250 -0.391735 +v -0.156250 0.406250 -0.281250 +v -0.110486 0.406250 -0.170765 +v 0.000000 0.406250 -0.125000 +v 0.110485 0.406250 -0.170765 +v 0.156250 0.406250 -0.281250 +v -0.110486 0.184586 -0.214856 +v 0.000000 0.167073 -0.172575 +v 0.110485 0.184586 -0.214856 +v 0.156250 0.226867 -0.316932 +v 0.110485 0.269148 -0.419007 +v 0.000000 0.286661 -0.461288 +v -0.110486 0.269148 -0.419007 +v -0.156250 0.226867 -0.316932 +v -0.196566 0.367147 -0.468769 +v -0.200528 0.477172 -0.515462 +v -0.286731 0.557772 -0.534803 +v -0.404678 0.561734 -0.515462 +v -0.485279 0.486735 -0.468769 +v -0.481318 0.376710 -0.422076 +v -0.395115 0.296110 -0.402735 +v -0.277166 0.292148 -0.422076 +v 0.230970 1.345671 -0.750000 +v 0.095671 1.480970 -0.750000 +v 0.095671 1.019030 -0.750000 +v 0.230970 1.154329 -0.750000 +v -0.230970 1.154329 -0.750000 +v -0.095671 1.019030 -0.750000 +v -0.095671 1.480970 -0.750000 +v -0.230970 1.345671 -0.750000 +v 0.000000 1.921303 -2.989438 +v -0.125000 1.951658 -2.975283 +v -0.250000 2.147880 -2.883784 +v -0.216506 2.261168 -2.830956 +v 0.125000 1.951658 -2.975283 +v -0.216506 2.034591 -2.936611 +v -0.125000 2.344101 -2.792284 +v 0.375000 2.147880 -2.883783 +v -0.375000 2.261168 -2.830956 +v -0.312500 2.245990 -2.838034 +v -0.500000 2.147880 -2.883784 +v -0.483253 2.204524 -2.857370 +v -0.266747 2.091235 -2.910197 +v -0.312500 2.049769 -2.929533 +v -0.375000 2.034591 -2.936611 +v -0.437500 2.049769 -2.929533 +v -0.266747 2.204524 -2.857370 +v -0.437500 2.245990 -2.838034 +v -0.483253 2.091235 -2.910197 +v -0.250000 2.147880 -2.883784 +v 0.911612 2.036612 -1.125000 +v 0.875000 2.125000 -1.125000 +v 0.823223 2.073223 -0.948223 +v 0.867418 1.992418 -0.974112 +v 0.786612 2.161612 -1.125000 +v 0.698223 2.125000 -1.125000 +v 0.672335 2.099112 -1.036612 +v 0.742418 2.117417 -0.974112 +v -0.786612 2.161612 -1.125000 +v -0.742418 2.117417 -0.974112 +v -0.672335 2.099112 -1.036612 +v -0.698223 2.125000 -1.125000 +v -0.911612 2.036612 -1.125000 +v -0.867418 1.992418 -0.974112 +v -0.823223 2.073223 -0.948223 +v -0.875000 2.125000 -1.125000 +v -0.875000 1.948223 -1.125000 +v -0.849112 1.922335 -1.036612 +v -0.698223 1.948223 -0.875000 +v -0.635723 2.010723 -0.911612 +v -0.786612 1.859835 -1.000000 +v -0.760723 1.885723 -0.911612 +v -0.609835 2.036612 -1.000000 +v -0.609835 2.338388 -1.125000 +v -0.565641 2.294194 -0.974112 +v -0.495558 2.275888 -1.036612 +v -0.521447 2.301777 -1.125000 +v -0.734835 2.213388 -1.125000 +v -0.690641 2.169194 -0.974112 +v -0.646447 2.250000 -0.948223 +v -0.698223 2.301777 -1.125000 +v -0.698223 2.125000 -1.125000 +v -0.672335 2.099112 -1.036612 +v -0.521447 2.125000 -0.875000 +v -0.458947 2.187500 -0.911612 +v -0.609835 2.036612 -1.000000 +v -0.583947 2.062500 -0.911612 +v -0.433058 2.213388 -1.000000 +v -0.963388 1.984835 -1.125000 +v -0.919194 1.940641 -0.974112 +v -0.849112 1.922335 -1.036612 +v -0.875000 1.948223 -1.125000 +v -1.088388 1.859835 -1.125000 +v -1.044194 1.815641 -0.974112 +v -1.000000 1.896446 -0.948223 +v -1.051777 1.948223 -1.125000 +v -1.051777 1.771446 -1.125000 +v -1.025888 1.745558 -1.036612 +v -0.875000 1.771446 -0.875000 +v -0.812500 1.833946 -0.911612 +v -0.963388 1.683058 -1.000000 +v -0.937500 1.708946 -0.911612 +v -0.786612 1.859835 -1.000000 +v -0.698223 2.125000 -1.812500 +v -0.786612 2.161612 -1.812500 +v -0.521447 2.301777 -1.875000 +v -0.609835 2.338388 -1.875000 +v -0.875000 2.125000 -1.812500 +v -0.911612 2.036612 -1.812500 +v -0.875000 1.948223 -1.750000 +v -0.963388 1.984835 -1.750000 +v -0.698223 2.301777 -1.875000 +v -0.875000 1.948223 -1.812500 +v -0.734835 2.213388 -1.875000 +v -1.051777 1.948223 -1.750000 +v -1.088388 1.859835 -1.750000 +v -0.698223 2.125000 -1.875000 +v -1.051777 1.771446 -1.750000 +v 0.875000 1.948223 -1.125000 +v 0.849112 1.922335 -1.036612 +v 0.635723 2.010723 -0.911612 +v 0.698223 1.948223 -0.875000 +v 0.760723 1.885723 -0.911612 +v 0.786612 1.859835 -1.000000 +v 0.609835 2.036612 -1.000000 +v 0.609835 2.338388 -1.125000 +v 0.521447 2.301777 -1.125000 +v 0.495558 2.275888 -1.036612 +v 0.565641 2.294194 -0.974112 +v 0.734835 2.213388 -1.125000 +v 0.698223 2.301777 -1.125000 +v 0.646447 2.250000 -0.948223 +v 0.690641 2.169194 -0.974112 +v 0.698223 2.125000 -1.125000 +v 0.672335 2.099112 -1.036612 +v 0.458947 2.187500 -0.911612 +v 0.521447 2.125000 -0.875000 +v 0.583947 2.062500 -0.911612 +v 0.609835 2.036612 -1.000000 +v 0.433058 2.213388 -1.000000 +v 0.963388 1.984835 -1.125000 +v 0.875000 1.948223 -1.125000 +v 0.849112 1.922335 -1.036612 +v 0.919194 1.940641 -0.974112 +v 1.088388 1.859835 -1.125000 +v 1.051777 1.948223 -1.125000 +v 1.000000 1.896446 -0.948223 +v 1.044194 1.815641 -0.974112 +v 1.051777 1.771446 -1.125000 +v 1.025888 1.745558 -1.036612 +v 0.812500 1.833946 -0.911612 +v 0.875000 1.771446 -0.875000 +v 0.937500 1.708946 -0.911612 +v 0.963388 1.683058 -1.000000 +v 0.786612 1.859835 -1.000000 +v 0.786612 2.161612 -1.812500 +v 0.698223 2.125000 -1.812500 +v 0.609835 2.338388 -1.875000 +v 0.521447 2.301777 -1.875000 +v 0.875000 2.125000 -1.812500 +v 0.911612 2.036612 -1.812500 +v 0.963388 1.984835 -1.750000 +v 0.875000 1.948223 -1.750000 +v 0.698223 2.301777 -1.875000 +v 0.875000 1.948223 -1.812500 +v 0.734835 2.213388 -1.875000 +v 1.051777 1.948223 -1.750000 +v 1.088388 1.859835 -1.750000 +v 0.698223 2.125000 -1.875000 +v 1.051777 1.771446 -1.750000 +v 1.000000 0.500000 -2.625000 +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 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.0000 1.0000 +vn -0.0000 -0.0000 1.0000 vn -0.7074 -0.7068 -0.0001 vn 0.0000 -0.7071 -0.7071 vn -0.7071 -0.7071 0.0057 vn 0.0000 0.0000 -1.0000 vn 0.0000 0.9487 -0.3162 vn 0.0000 0.4472 -0.8944 -vn 0.3904 -0.1617 0.9063 -vn -0.3904 0.1617 0.9063 -vn -0.3905 0.1617 0.9063 -vn -0.1617 -0.3904 0.9063 vn 0.1617 0.3904 0.9063 -vn 0.1617 -0.3904 0.9063 -vn 0.1617 -0.3905 0.9063 -vn -0.1617 0.3904 0.9063 -vn -0.3904 -0.1617 0.9063 -vn 0.3904 0.1617 0.9063 -vn -0.8806 -0.1752 0.4403 -vn 0.8806 0.1752 0.4403 -vn 0.4318 0.0859 -0.8979 -vn 0.2320 -0.9696 -0.0783 -vn -0.4318 -0.0859 0.8979 -vn -0.1567 0.9845 -0.0783 -vn -0.4318 -0.0859 -0.8979 -vn -0.2320 0.9696 -0.0783 -vn 0.4318 0.0859 0.8979 -vn 0.1567 -0.9845 -0.0783 -vn -0.1752 0.8806 0.4403 -vn 0.1752 -0.8806 0.4403 -vn 0.0859 -0.4318 -0.8979 -vn -0.9696 -0.2320 -0.0783 -vn -0.0859 0.4318 0.8979 -vn 0.9845 0.1567 -0.0783 -vn -0.0859 0.4318 -0.8979 -vn 0.9696 0.2320 -0.0783 -vn 0.0859 -0.4318 0.8979 -vn -0.9845 -0.1567 -0.0783 -vn -0.7465 0.4988 0.4403 -vn 0.7465 -0.4988 0.4403 -vn 0.3661 -0.2446 -0.8979 -vn -0.5215 -0.8496 -0.0783 -vn -0.3661 0.2446 0.8979 -vn 0.5854 0.8070 -0.0783 -vn -0.3661 0.2446 -0.8979 -vn 0.5215 0.8496 -0.0783 -vn 0.3661 -0.2446 0.8979 -vn -0.5854 -0.8070 -0.0783 -vn 0.4988 0.7465 0.4403 -vn -0.4988 -0.7465 0.4403 -vn -0.2446 -0.3661 -0.8979 -vn -0.8496 0.5215 -0.0783 -vn 0.2446 0.3661 0.8979 -vn 0.8070 -0.5854 -0.0783 -vn 0.2446 0.3661 -0.8979 -vn 0.8496 -0.5215 -0.0783 -vn -0.2446 -0.3661 0.8979 -vn -0.8070 0.5854 -0.0783 -vn -0.8806 0.1752 0.4403 -vn 0.8806 -0.1752 0.4403 -vn 0.4318 -0.0859 -0.8979 -vn -0.1567 -0.9845 -0.0783 -vn -0.4318 0.0859 0.8979 -vn 0.2320 0.9696 -0.0783 -vn -0.4318 0.0859 -0.8979 -vn 0.1567 0.9845 -0.0783 -vn 0.4318 -0.0859 0.8979 -vn -0.2320 -0.9696 -0.0783 +vn 0.1617 0.3905 0.9063 vn 0.1752 0.8806 0.4403 -vn -0.1752 -0.8806 0.4403 -vn -0.0859 -0.4318 -0.8979 -vn -0.9845 0.1567 -0.0783 -vn 0.0859 0.4318 0.8979 -vn 0.9696 -0.2320 -0.0783 -vn 0.0859 0.4318 -0.8979 +vn 0.0859 0.4318 -0.8978 vn 0.9845 -0.1567 -0.0783 -vn -0.0859 -0.4318 0.8979 -vn -0.9696 0.2320 -0.0783 -vn -0.4988 0.7465 0.4403 -vn 0.4988 -0.7465 0.4403 -vn 0.2446 -0.3661 -0.8979 -vn -0.8070 -0.5854 -0.0783 -vn -0.2446 0.3661 0.8979 -vn 0.8496 0.5215 -0.0783 -vn -0.2446 0.3661 -0.8979 -vn 0.8070 0.5854 -0.0783 -vn 0.2446 -0.3661 0.8979 -vn -0.8496 -0.5215 -0.0783 -vn 0.7465 0.4988 0.4403 -vn -0.7465 -0.4988 0.4403 -vn -0.3661 -0.2446 -0.8979 -vn -0.5854 0.8070 -0.0783 -vn 0.3661 0.2446 0.8979 -vn 0.5215 -0.8496 -0.0783 -vn 0.3661 0.2446 -0.8979 -vn 0.5854 -0.8070 -0.0783 -vn -0.3661 -0.2446 0.8979 -vn -0.5215 0.8496 -0.0783 +vn -0.0859 -0.4318 0.8978 +vn -0.9695 0.2320 -0.0783 vn 0.0000 -0.3827 -0.9239 vn 0.0000 -0.9239 0.3827 vn 0.0000 0.9239 -0.3827 @@ -1868,7 +866,7 @@ 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.3142 0.3142 -0.8959 +vn -0.3162 0.3162 -0.8944 vn 0.0000 0.4226 -0.9063 vn 0.0000 0.9063 0.4226 vn -0.7071 0.6409 0.2988 @@ -1893,120 +891,15 @@ vn -0.0000 -0.4226 0.9063 vn -0.2357 0.2357 0.9428 vn 0.2357 0.2357 0.9428 vn -0.2357 -0.2357 -0.9428 -vn -0.2144 -0.2144 0.9529 +vn -0.2357 -0.2357 0.9428 vn 0.0000 -0.9285 0.3714 vn 0.0000 0.9285 -0.3714 vn 0.0000 -0.9900 -0.1407 vn 0.0000 0.9900 0.1407 -vn 0.0000 -0.4226 -0.9063 -vn 0.0000 0.4226 0.9063 -vn 0.0000 -0.9063 0.4226 -vn 0.0000 0.9063 -0.4226 -vn 0.0000 -0.9063 -0.4226 -vn -0.4226 0.0000 -0.9063 -vn 0.4226 0.0000 0.9063 -vn -0.9063 0.0000 0.4226 -vn 0.9063 0.0000 -0.4226 vn 0.4226 0.0000 -0.9063 -vn -0.4226 0.0000 0.9063 -vn 0.9063 0.0000 0.4226 +vn -0.4226 -0.0000 0.9063 +vn 0.9063 -0.0000 0.4226 vn -0.9063 0.0000 -0.4226 -vn -0.2988 -0.2988 -0.9063 -vn 0.2988 0.2988 0.9063 -vn -0.6409 -0.6409 0.4226 -vn 0.6409 0.6409 -0.4226 -vn 0.2988 0.2988 -0.9063 -vn -0.2988 -0.2988 0.9063 -vn 0.6409 0.6409 0.4226 -vn -0.6409 -0.6409 -0.4226 -vn -0.2988 0.2988 -0.9063 -vn 0.2988 -0.2988 0.9063 -vn -0.6409 0.6409 0.4226 -vn 0.6409 -0.6409 -0.4226 -vn 0.2988 -0.2988 -0.9063 -vn -0.2988 0.2988 0.9063 -vn 0.6409 -0.6409 0.4226 -vn -0.6409 0.6409 -0.4226 -vn -0.5000 -0.8660 0.0000 -vn 0.5000 0.8660 0.0000 -vn -0.3660 0.2113 -0.9063 -vn 0.3660 -0.2113 0.9063 -vn -0.7849 0.4532 0.4226 -vn 0.7849 -0.4532 -0.4226 -vn 0.3660 -0.2113 -0.9063 -vn -0.3660 0.2113 0.9063 -vn 0.7849 -0.4532 0.4226 -vn -0.7849 0.4532 -0.4226 -vn -0.8660 0.5000 0.0000 -vn 0.8660 -0.5000 0.0000 -vn 0.2113 0.3660 -0.9063 -vn -0.2113 -0.3660 0.9063 -vn 0.4532 0.7849 0.4226 -vn -0.4532 -0.7849 -0.4226 -vn -0.2113 -0.3660 -0.9063 -vn 0.2113 0.3660 0.9063 -vn -0.4532 -0.7849 0.4226 -vn 0.4532 0.7849 -0.4226 -vn -0.9659 -0.2588 -0.0000 -vn 0.9659 0.2588 0.0000 -vn -0.1094 0.4082 -0.9063 -vn 0.1094 -0.4082 0.9063 -vn -0.2346 0.8754 0.4226 -vn 0.2346 -0.8754 -0.4226 -vn 0.1094 -0.4082 -0.9063 -vn -0.1094 0.4082 0.9063 -vn 0.2346 -0.8754 0.4226 -vn -0.2346 0.8754 -0.4226 -vn -0.2588 0.9659 0.0000 -vn 0.2588 -0.9659 -0.0000 -vn 0.4082 0.1094 -0.9063 -vn -0.4082 -0.1094 0.9063 -vn 0.8754 0.2346 0.4226 -vn -0.8754 -0.2346 -0.4226 -vn -0.4082 -0.1094 -0.9063 -vn 0.4082 0.1094 0.9063 -vn -0.8754 -0.2346 0.4226 -vn 0.8754 0.2346 -0.4226 -vn -0.5000 0.8660 -0.0000 -vn 0.5000 -0.8660 -0.0000 -vn 0.3660 0.2113 -0.9063 -vn -0.3660 -0.2113 0.9063 -vn 0.7849 0.4532 0.4226 -vn -0.7849 -0.4532 -0.4226 -vn -0.3660 -0.2113 -0.9063 -vn 0.3660 0.2113 0.9063 -vn -0.7849 -0.4532 0.4226 -vn 0.7849 0.4532 -0.4226 -vn 0.8660 0.5000 0.0000 -vn -0.8660 -0.5000 -0.0000 -vn 0.2113 -0.3660 -0.9063 -vn -0.2113 0.3660 0.9063 -vn 0.4532 -0.7849 0.4226 -vn -0.4532 0.7849 -0.4226 -vn -0.2113 0.3660 -0.9063 -vn 0.2113 -0.3660 0.9063 -vn -0.4532 0.7849 0.4226 -vn 0.4532 -0.7849 -0.4226 -vn 0.2588 0.9659 0.0000 -vn -0.2588 -0.9659 0.0000 -vn 0.4082 -0.1094 -0.9063 -vn -0.4082 0.1094 0.9063 -vn 0.8754 -0.2346 0.4226 -vn -0.8754 0.2346 -0.4226 -vn -0.4082 0.1094 -0.9063 -vn 0.4082 -0.1094 0.9063 -vn -0.8754 0.2346 0.4226 -vn 0.8754 -0.2346 -0.4226 -vn 0.9659 -0.2588 0.0000 -vn -0.9659 0.2588 0.0000 -vn -0.1094 -0.4082 -0.9063 -vn 0.1094 0.4082 0.9063 -vn -0.2346 -0.8754 0.4226 -vn 0.2346 0.8754 -0.4226 -vn 0.1094 0.4082 -0.9063 -vn -0.1094 -0.4082 0.9063 -vn 0.2346 0.8754 0.4226 -vn -0.2346 -0.8754 -0.4226 vn 0.0000 -0.8944 0.4472 vn 0.3423 -0.8263 0.4472 vn -0.3423 -0.8263 0.4472 @@ -2023,44 +916,6 @@ 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.6303 -0.7311 -0.2611 -vn 0.0948 -0.9947 0.0393 -vn 0.0609 -0.9973 0.0399 -vn -0.5190 -0.7430 -0.4226 -vn 0.7150 -0.6333 0.2962 -vn 0.9239 -0.0000 0.3827 -vn 0.7690 -0.0000 0.6392 -vn 0.5735 -0.6721 0.4683 -vn 0.7150 0.6333 0.2962 -vn 0.0948 0.9947 0.0393 -vn 0.0609 0.9973 0.0399 -vn 0.5735 0.6721 0.4683 -vn -0.6303 0.7311 -0.2611 -vn -0.5190 0.7430 -0.4226 -vn -0.9239 -0.0000 -0.3827 -vn -0.7779 -0.0000 -0.6284 -vn 0.0183 0.9989 0.0441 -vn 0.2791 0.6840 0.6739 -vn 0.3827 0.0000 0.9239 -vn 0.2791 -0.6840 0.6739 -vn 0.0183 -0.9989 0.0441 -vn -0.2608 -0.7317 -0.6297 -vn -0.3827 -0.0000 -0.9239 -vn -0.2608 0.7317 -0.6297 -vn -0.0000 -0.7317 -0.6816 -vn -0.0000 0.7317 -0.6816 -vn 0.0000 0.9989 0.0477 -vn -0.0000 0.6840 0.7294 -vn -0.0000 -0.6840 0.7294 -vn 0.0000 -0.9989 0.0477 -vn -0.1436 0.6770 0.7219 -vn -0.1951 0.0000 0.9808 -vn -0.1436 -0.6770 0.7219 -vn -0.0095 -0.9988 0.0477 -vn 0.1343 -0.7251 -0.6754 -vn 0.1951 0.0000 -0.9808 -vn 0.1343 0.7251 -0.6754 -vn -0.0095 0.9988 0.0477 vn 0.3827 -0.9239 0.0000 vn -0.3827 -0.9239 0.0000 vn -0.3827 0.9239 0.0000 @@ -2069,72 +924,6 @@ 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.6303 0.7311 -0.2611 -vn -0.0948 0.9947 0.0393 -vn -0.0609 0.9973 0.0399 -vn 0.5190 0.7430 -0.4226 -vn -0.7150 0.6333 0.2962 -vn -0.9239 0.0000 0.3827 -vn -0.7690 -0.0000 0.6392 -vn -0.5735 0.6721 0.4683 -vn -0.7150 -0.6333 0.2962 -vn -0.0948 -0.9947 0.0393 -vn -0.0609 -0.9973 0.0399 -vn -0.5735 -0.6721 0.4683 -vn 0.6303 -0.7311 -0.2611 -vn 0.5190 -0.7430 -0.4226 -vn 0.9239 0.0000 -0.3827 -vn 0.7779 0.0000 -0.6284 -vn -0.0183 -0.9989 0.0441 -vn -0.2791 -0.6840 0.6739 -vn -0.3827 0.0000 0.9239 -vn -0.2791 0.6840 0.6739 -vn -0.0183 0.9989 0.0441 -vn 0.2608 0.7317 -0.6297 -vn 0.3827 0.0000 -0.9239 -vn 0.2608 -0.7317 -0.6297 -vn 0.1436 -0.6770 0.7219 -vn 0.1951 0.0000 0.9808 -vn 0.1436 0.6770 0.7219 -vn 0.0095 0.9988 0.0477 -vn -0.1344 0.7251 -0.6754 -vn -0.1951 -0.0000 -0.9808 -vn -0.1344 -0.7251 -0.6754 -vn 0.0095 -0.9988 0.0477 -vn -0.7311 0.6303 -0.2611 -vn -0.9947 -0.0948 0.0393 -vn -0.9973 -0.0609 0.0399 -vn -0.7430 0.5190 -0.4226 -vn -0.6333 -0.7150 0.2962 -vn 0.0000 -0.7690 0.6392 -vn -0.6721 -0.5735 0.4683 -vn 0.6333 -0.7150 0.2962 -vn 0.9947 -0.0948 0.0393 -vn 0.9973 -0.0609 0.0399 -vn 0.6721 -0.5735 0.4683 -vn 0.7311 0.6303 -0.2611 -vn 0.7430 0.5190 -0.4226 -vn 0.0000 0.7779 -0.6284 -vn 0.9989 -0.0183 0.0441 -vn 0.6840 -0.2791 0.6739 -vn -0.6840 -0.2791 0.6739 -vn -0.9989 -0.0183 0.0441 -vn -0.7317 0.2608 -0.6297 -vn 0.7317 0.2608 -0.6297 -vn -0.7317 0.0000 -0.6816 -vn 0.7317 -0.0000 -0.6816 -vn 0.9989 -0.0000 0.0477 -vn 0.6840 -0.0000 0.7294 -vn -0.6840 0.0000 0.7294 -vn -0.9989 0.0000 0.0477 -vn 0.6770 0.1436 0.7219 -vn 0.0000 0.1951 0.9808 -vn -0.6770 0.1436 0.7219 -vn -0.9988 0.0095 0.0477 -vn -0.7251 -0.1344 -0.6754 -vn -0.0000 -0.1951 -0.9808 -vn 0.7251 -0.1344 -0.6754 -vn 0.9988 0.0095 0.0477 vn 0.7311 -0.6303 -0.2611 vn 0.9947 0.0948 0.0393 vn 0.9973 0.0609 0.0399 @@ -2150,208 +939,32 @@ vn -0.7311 -0.6303 -0.2611 vn -0.7430 -0.5190 -0.4226 vn 0.0000 -0.7779 -0.6284 vn -0.9989 0.0183 0.0441 -vn -0.6840 0.2791 0.6739 +vn -0.6841 0.2791 0.6739 vn 0.0000 0.3827 0.9239 vn 0.6840 0.2791 0.6739 vn 0.9989 0.0183 0.0441 vn 0.7317 -0.2608 -0.6297 vn -0.7317 -0.2608 -0.6297 +vn 0.7317 0.0000 -0.6816 +vn -0.7317 0.0000 -0.6816 +vn -0.9989 0.0000 0.0477 +vn -0.6841 -0.0000 0.7294 +vn 0.6840 -0.0000 0.7294 +vn 0.9989 0.0000 0.0477 vn -0.6770 -0.1436 0.7219 vn 0.0000 -0.1951 0.9808 vn 0.6770 -0.1436 0.7219 vn 0.9988 -0.0095 0.0477 vn 0.7251 0.1344 -0.6754 vn 0.0000 0.1951 -0.9808 -vn -0.7251 0.1343 -0.6754 +vn -0.7251 0.1344 -0.6754 vn -0.9988 -0.0095 0.0477 -vn -0.9627 -0.0712 -0.2611 -vn -0.6363 -0.7704 0.0393 -vn -0.6622 -0.7483 0.0399 -vn -0.8924 -0.1584 -0.4226 -vn 0.0578 -0.9534 0.2962 -vn 0.6533 -0.6533 0.3827 -vn 0.5438 -0.5438 0.6392 -vn -0.0697 -0.8808 0.4683 -vn 0.9534 -0.0578 0.2962 -vn 0.7704 0.6363 0.0393 -vn 0.7483 0.6622 0.0399 -vn 0.8808 0.0697 0.4683 -vn 0.0712 0.9627 -0.2611 -vn 0.1584 0.8924 -0.4226 -vn -0.6533 0.6533 -0.3827 -vn -0.5501 0.5501 -0.6284 -vn 0.7192 0.6934 0.0441 -vn 0.6811 0.2863 0.6739 -vn 0.2706 -0.2706 0.9239 -vn -0.2863 -0.6811 0.6739 -vn -0.6934 -0.7192 0.0441 -vn -0.7018 -0.3330 -0.6297 -vn -0.2706 0.2706 -0.9239 -vn 0.3330 0.7018 -0.6297 -vn -0.5174 -0.5174 -0.6816 -vn 0.5174 0.5174 -0.6816 -vn 0.7063 0.7063 0.0477 -vn 0.4837 0.4837 0.7294 -vn -0.4837 -0.4837 0.7294 -vn -0.7063 -0.7063 0.0477 -vn 0.3771 0.5802 0.7219 -vn -0.1379 0.1379 0.9808 -vn -0.5802 -0.3772 0.7219 -vn -0.7130 -0.6996 0.0477 -vn -0.4177 -0.6077 -0.6754 -vn 0.1379 -0.1379 -0.9808 -vn 0.6077 0.4177 -0.6754 -vn 0.6996 0.7130 0.0477 -vn 0.9627 0.0712 -0.2611 -vn 0.6363 0.7704 0.0393 -vn 0.6622 0.7483 0.0399 -vn 0.8924 0.1584 -0.4226 -vn -0.0578 0.9534 0.2962 -vn -0.6533 0.6533 0.3827 -vn -0.5438 0.5438 0.6392 -vn 0.0697 0.8808 0.4683 -vn -0.9534 0.0578 0.2962 -vn -0.7704 -0.6363 0.0393 -vn -0.7483 -0.6622 0.0399 -vn -0.8808 -0.0697 0.4683 -vn -0.0712 -0.9627 -0.2611 -vn -0.1584 -0.8924 -0.4226 -vn 0.6533 -0.6533 -0.3827 -vn 0.5501 -0.5501 -0.6284 -vn -0.7192 -0.6934 0.0441 -vn -0.6811 -0.2863 0.6739 -vn -0.2706 0.2706 0.9239 -vn 0.2863 0.6811 0.6739 -vn 0.6934 0.7192 0.0441 -vn 0.7018 0.3330 -0.6297 -vn 0.2706 -0.2706 -0.9239 -vn -0.3330 -0.7018 -0.6297 -vn -0.3771 -0.5802 0.7219 -vn 0.1379 -0.1379 0.9808 -vn 0.5802 0.3772 0.7219 -vn 0.7130 0.6996 0.0477 -vn 0.4177 0.6077 -0.6754 -vn -0.1379 0.1379 -0.9808 -vn -0.6077 -0.4177 -0.6754 -vn -0.6996 -0.7130 0.0477 -vn -0.0712 0.9627 -0.2611 -vn -0.7704 0.6363 0.0393 -vn -0.7483 0.6622 0.0399 -vn -0.1584 0.8924 -0.4226 -vn -0.9534 -0.0578 0.2962 -vn -0.6533 -0.6533 0.3827 -vn -0.5438 -0.5438 0.6392 -vn -0.8808 0.0697 0.4683 -vn -0.0578 -0.9534 0.2962 -vn 0.6363 -0.7704 0.0393 -vn 0.6622 -0.7483 0.0399 -vn 0.0697 -0.8808 0.4683 -vn 0.9627 -0.0712 -0.2611 -vn 0.8924 -0.1584 -0.4226 -vn 0.6533 0.6533 -0.3827 -vn 0.5501 0.5501 -0.6284 -vn 0.6934 -0.7192 0.0441 -vn 0.2863 -0.6811 0.6739 -vn -0.2706 -0.2706 0.9239 -vn -0.6811 0.2863 0.6739 -vn -0.7192 0.6934 0.0441 -vn -0.3330 0.7018 -0.6297 -vn 0.2706 0.2706 -0.9239 -vn 0.7018 -0.3330 -0.6297 -vn -0.5174 0.5174 -0.6816 -vn 0.5174 -0.5174 -0.6816 -vn 0.7063 -0.7063 0.0477 -vn 0.4837 -0.4837 0.7294 -vn -0.4837 0.4837 0.7294 -vn -0.7063 0.7063 0.0477 -vn 0.5802 -0.3772 0.7219 -vn 0.1379 0.1379 0.9808 -vn -0.3772 0.5802 0.7219 -vn -0.6996 0.7130 0.0477 -vn -0.6077 0.4177 -0.6754 -vn -0.1380 -0.1379 -0.9808 -vn 0.4177 -0.6077 -0.6754 -vn 0.7130 -0.6996 0.0477 -vn 0.0712 -0.9627 -0.2611 -vn 0.7704 -0.6363 0.0393 -vn 0.7483 -0.6622 0.0399 -vn 0.1584 -0.8924 -0.4226 -vn 0.9534 0.0578 0.2962 -vn 0.6533 0.6533 0.3827 -vn 0.5438 0.5438 0.6392 -vn 0.8808 -0.0697 0.4683 -vn 0.0578 0.9534 0.2962 -vn -0.6363 0.7704 0.0393 -vn -0.6622 0.7483 0.0399 -vn -0.0697 0.8808 0.4683 -vn -0.9627 0.0712 -0.2611 -vn -0.8924 0.1584 -0.4226 -vn -0.6533 -0.6533 -0.3827 -vn -0.5501 -0.5501 -0.6284 -vn -0.6934 0.7192 0.0441 -vn -0.2863 0.6811 0.6739 -vn 0.2706 0.2706 0.9239 -vn 0.6811 -0.2863 0.6739 -vn 0.7192 -0.6934 0.0441 -vn 0.3330 -0.7018 -0.6297 -vn -0.2706 -0.2706 -0.9239 -vn -0.7018 0.3330 -0.6297 -vn -0.5802 0.3772 0.7219 -vn -0.1379 -0.1379 0.9808 -vn 0.3771 -0.5802 0.7219 -vn 0.6996 -0.7130 0.0477 -vn 0.6077 -0.4177 -0.6754 -vn 0.1379 0.1379 -0.9808 -vn -0.4177 0.6077 -0.6754 -vn -0.7130 0.6996 0.0477 -vn 0.3215 -0.8985 -0.2988 -vn 0.8373 -0.3468 -0.4226 -vn 0.8627 0.4080 -0.2988 -vn -0.3215 0.8985 0.2988 -vn -0.8373 0.3468 0.4226 -vn -0.8627 -0.4080 0.2988 -vn -0.3215 0.8985 -0.2988 -vn -0.8373 0.3468 -0.4226 -vn -0.8627 -0.4080 -0.2988 -vn 0.3215 -0.8985 0.2988 -vn 0.8373 -0.3468 0.4226 -vn 0.8627 0.4080 0.2988 -vn -0.8985 -0.3215 -0.2988 -vn -0.3468 -0.8373 -0.4226 -vn 0.4080 -0.8627 -0.2988 -vn 0.8985 0.3215 0.2988 -vn 0.3468 0.8373 0.4226 -vn -0.4080 0.8627 0.2988 vn 0.8985 0.3215 -0.2988 vn 0.3468 0.8373 -0.4226 vn -0.4080 0.8627 -0.2988 vn -0.8985 -0.3215 0.2988 vn -0.3468 -0.8373 0.4226 vn 0.4080 -0.8627 0.2988 -vn -0.4080 -0.8627 -0.2988 -vn 0.3468 -0.8373 -0.4226 -vn 0.8985 -0.3215 -0.2988 -vn 0.4080 0.8627 0.2988 -vn -0.3468 0.8373 0.4226 -vn -0.8985 0.3215 0.2988 -vn 0.4080 0.8627 -0.2988 -vn -0.3468 0.8373 -0.4226 -vn -0.8985 0.3215 -0.2988 -vn -0.4080 -0.8627 0.2988 -vn 0.3468 -0.8373 0.4226 -vn 0.8985 -0.3215 0.2988 -vn -0.8627 0.4080 -0.2988 -vn -0.8373 -0.3468 -0.4226 -vn -0.3215 -0.8985 -0.2988 -vn 0.8627 -0.4080 0.2988 -vn 0.8373 0.3468 0.4226 -vn 0.3215 0.8985 0.2988 -vn 0.8627 -0.4080 -0.2988 -vn 0.8373 0.3468 -0.4226 -vn 0.3215 0.8985 -0.2988 -vn -0.8627 0.4080 0.2988 -vn -0.8373 -0.3468 0.4226 -vn -0.3215 -0.8985 0.2988 vn -0.3162 0.3162 0.8944 vn -0.4132 0.1711 0.8944 vn 0.4132 -0.1711 0.8944 @@ -2364,10 +977,11 @@ vn -0.3162 -0.3162 0.8944 vn 0.1711 0.4132 0.8944 vn -0.1711 -0.4132 0.8944 vn 0.0000 0.4472 0.8944 -vn -0.0000 -0.4472 0.8944 +vn 0.0000 -0.4472 0.8944 vn 0.1711 -0.4132 0.8944 vn -0.1711 0.4132 0.8944 vn 0.3162 -0.3162 0.8944 +vn 0.0000 -0.9063 -0.4226 vn -0.8660 0.4532 0.2113 vn 0.2588 0.8754 0.4082 vn 0.5000 0.7849 0.3660 @@ -2382,7 +996,7 @@ vn 0.8660 -0.4532 -0.2113 vn 0.9891 0.0283 0.1448 vn 0.6947 0.6947 0.1866 vn 0.5000 0.5000 0.7071 -vn 0.8431 -0.0945 0.5294 +vn 0.8431 -0.0945 0.5293 vn 0.0283 0.9891 0.1448 vn -0.3812 0.9204 0.0866 vn -0.4619 0.8446 0.2706 @@ -2392,1342 +1006,646 @@ vn 0.0945 0.8431 0.5294 vn 0.4619 0.8446 0.2706 vn 0.3812 0.9204 0.0866 vn -0.9891 0.0283 0.1448 -vn -0.8431 -0.0945 0.5294 +vn -0.8431 -0.0945 0.5293 vn -0.5000 0.5000 0.7071 vn -0.6947 0.6947 0.1866 vn -0.9204 -0.3812 0.0866 vn -0.8446 -0.4619 0.2706 +vn -0.2706 0.2706 0.9239 vn 0.2384 0.6572 0.7150 vn -0.7559 -0.5345 0.3780 vn -0.6572 -0.2384 0.7150 vn 0.5345 0.7559 0.3780 +vn -0.8431 -0.0945 0.5294 vn 0.9204 -0.3812 0.0866 vn 0.8446 -0.4619 0.2706 vn -0.2384 0.6572 0.7150 +vn 0.2706 0.2706 0.9239 vn 0.6572 -0.2384 0.7150 vn 0.7559 -0.5345 0.3780 vn -0.5345 0.7559 0.3780 +vn -0.0945 0.8431 0.5293 +vn 0.8431 -0.0945 0.5294 s off -f 1//1 3//1 4//1 2//1 -f 5//2 6//2 8//2 7//2 -f 9//3 11//3 12//3 10//3 -f 13//4 14//4 16//4 15//4 -f 6//5 13//5 15//5 8//5 -f 4//6 16//6 14//6 2//6 -f 3//7 1//7 10//7 12//7 -f 5//8 7//8 11//8 9//8 -f 14//9 13//9 30//9 29//9 28//9 -f 13//9 6//9 32//9 31//9 30//9 -f 6//9 5//9 18//9 17//9 32//9 -f 5//9 9//9 20//9 19//9 18//9 -f 9//9 10//9 22//9 21//9 20//9 -f 10//9 1//9 24//9 23//9 22//9 -f 1//9 2//9 26//9 25//9 24//9 -f 2//9 14//9 28//9 27//9 26//9 -f 53//3 67//3 70//3 64//3 54//3 -f 58//6 60//6 63//6 69//6 56//6 50//6 -f 68//4 55//4 56//4 69//4 62//4 71//4 -f 49//1 57//1 58//1 50//1 -f 54//10 64//10 61//10 59//10 57//10 49//10 -f 58//11 57//11 59//11 60//11 -f 120//2 121//2 68//2 71//2 -f 74//3 76//3 75//3 73//3 -f 72//3 73//3 75//3 70//3 67//3 -f 76//12 74//12 77//12 78//12 -f 92//3 91//3 93//3 94//3 -f 84//3 83//3 85//3 86//3 -f 96//3 95//3 97//3 98//3 -f 80//3 88//3 87//3 79//3 -f 82//3 81//3 89//3 90//3 -f 80//3 82//3 90//3 92//3 94//3 84//3 86//3 96//3 98//3 88//3 -f 79//3 87//3 97//3 95//3 85//3 83//3 93//3 91//3 89//3 81//3 -f 95//1 96//1 112//1 111//1 -f 96//9 86//9 102//9 112//9 -f 94//2 93//2 109//2 110//2 -f 84//9 94//9 110//9 100//9 -f 104//3 114//3 113//3 103//3 -f 102//3 101//3 111//3 112//3 -f 100//3 110//3 109//3 99//3 -f 106//3 105//3 107//3 108//3 -f 88//9 98//9 114//9 104//9 -f 98//2 97//2 113//2 114//2 -f 97//13 87//13 103//13 113//13 -f 83//1 84//1 100//1 99//1 -f 85//13 95//13 111//13 101//13 -f 86//2 85//2 101//2 102//2 -f 93//13 83//13 99//13 109//13 -f 87//1 88//1 104//1 103//1 -f 89//13 91//13 107//13 105//13 -f 90//2 89//2 105//2 106//2 -f 92//9 90//9 106//9 108//9 -f 91//1 92//1 108//1 107//1 -f 62//13 69//13 116//13 115//13 -f 69//13 63//13 116//13 -f 74//13 73//13 117//13 118//13 -f 74//13 118//13 77//13 -f 71//14 62//14 115//14 120//14 -f 119//14 117//14 73//14 72//14 -f 122//2 119//2 72//2 67//2 -f 65//15 66//15 124//15 123//15 -f 66//15 68//15 121//15 124//15 -f 65//15 123//15 122//15 67//15 -f 465//16 464//16 481//16 482//16 -f 463//16 462//16 479//16 480//16 -f 461//16 468//16 477//16 478//16 -f 468//16 467//16 484//16 477//16 -f 466//16 465//16 482//16 483//16 -f 464//16 463//16 480//16 481//16 -f 462//16 461//16 478//16 479//16 -f 467//16 466//16 483//16 484//16 -f 492//16 491//16 490//16 489//16 488//16 487//16 486//16 485//16 -f 494//16 493//16 501//16 502//16 -f 493//16 500//16 508//16 501//16 -f 500//16 499//16 507//16 508//16 -f 499//16 498//16 506//16 507//16 -f 498//16 497//16 505//16 506//16 -f 497//16 496//16 504//16 505//16 -f 496//16 495//16 503//16 504//16 -f 495//16 494//16 502//16 503//16 -f 513//17 512//17 529//17 530//17 -f 511//17 510//17 527//17 528//17 -f 509//17 516//17 525//17 526//17 -f 516//17 515//17 532//17 525//17 -f 514//17 513//17 530//17 531//17 -f 512//17 511//17 528//17 529//17 -f 510//17 509//17 526//17 527//17 -f 515//18 514//18 531//18 532//18 -f 540//17 539//17 538//17 537//17 536//17 535//17 534//17 533//17 -f 542//17 541//17 549//17 550//17 -f 541//17 548//17 556//17 549//17 -f 548//17 547//17 555//17 556//17 -f 547//17 546//17 554//17 555//17 -f 546//17 545//17 553//17 554//17 -f 545//17 544//17 552//17 553//17 -f 544//17 543//17 551//17 552//17 -f 543//17 542//17 550//17 551//17 -f 561//19 560//19 577//19 578//19 -f 559//19 558//19 575//19 576//19 -f 557//19 564//19 573//19 574//19 -f 564//19 563//19 580//19 573//19 -f 562//19 561//19 578//19 579//19 -f 560//19 559//19 576//19 577//19 -f 558//19 557//19 574//19 575//19 -f 563//19 562//19 579//19 580//19 -f 588//19 587//19 586//19 585//19 584//19 583//19 582//19 581//19 -f 590//19 589//19 597//19 598//19 -f 589//19 596//19 604//19 597//19 -f 596//19 595//19 603//19 604//19 -f 595//19 594//19 602//19 603//19 -f 594//19 593//19 601//19 602//19 -f 593//19 592//19 600//19 601//19 -f 592//19 591//19 599//19 600//19 -f 591//19 590//19 598//19 599//19 -f 609//20 608//20 625//20 626//20 -f 607//20 606//20 623//20 624//20 -f 605//20 612//20 621//20 622//20 -f 612//20 611//20 628//20 621//20 -f 610//20 609//20 626//20 627//20 -f 608//20 607//20 624//20 625//20 -f 606//20 605//20 622//20 623//20 -f 611//20 610//20 627//20 628//20 -f 636//20 635//20 634//20 633//20 632//20 631//20 630//20 629//20 -f 638//20 637//20 645//20 646//20 -f 637//20 644//20 652//20 645//20 -f 644//20 643//20 651//20 652//20 -f 643//20 642//20 650//20 651//20 -f 642//20 641//20 649//20 650//20 -f 641//20 640//20 648//20 649//20 -f 640//20 639//20 647//20 648//20 -f 639//20 638//20 646//20 647//20 -f 657//21 656//21 673//21 674//21 -f 655//21 654//21 671//21 672//21 -f 653//21 660//21 669//21 670//21 -f 660//21 659//21 676//21 669//21 -f 658//21 657//21 674//21 675//21 -f 656//21 655//21 672//21 673//21 -f 654//21 653//21 670//21 671//21 -f 659//21 658//21 675//21 676//21 -f 684//21 683//21 682//21 681//21 680//21 679//21 678//21 677//21 -f 686//21 685//21 693//21 694//21 -f 685//21 692//21 700//21 693//21 -f 692//21 691//21 699//21 700//21 -f 691//22 690//22 698//22 699//22 -f 690//21 689//21 697//21 698//21 -f 689//21 688//21 696//21 697//21 -f 688//21 687//21 695//21 696//21 -f 687//21 686//21 694//21 695//21 -f 705//23 704//23 721//23 722//23 -f 703//23 702//23 719//23 720//23 -f 701//23 708//23 717//23 718//23 -f 708//23 707//23 724//23 717//23 -f 706//23 705//23 722//23 723//23 -f 704//23 703//23 720//23 721//23 -f 702//23 701//23 718//23 719//23 -f 707//23 706//23 723//23 724//23 -f 732//23 731//23 730//23 729//23 728//23 727//23 726//23 725//23 -f 734//23 733//23 741//23 742//23 -f 733//23 740//23 748//23 741//23 -f 740//23 739//23 747//23 748//23 -f 739//23 738//23 746//23 747//23 -f 738//23 737//23 745//23 746//23 -f 737//23 736//23 744//23 745//23 -f 736//23 735//23 743//23 744//23 -f 735//23 734//23 742//23 743//23 -f 753//24 752//24 769//24 770//24 -f 751//24 750//24 767//24 768//24 -f 749//24 756//24 765//24 766//24 -f 756//24 755//24 772//24 765//24 -f 754//24 753//24 770//24 771//24 -f 752//24 751//24 768//24 769//24 -f 750//24 749//24 766//24 767//24 -f 755//24 754//24 771//24 772//24 -f 780//24 779//24 778//24 777//24 776//24 775//24 774//24 773//24 -f 782//24 781//24 789//24 790//24 -f 781//24 788//24 796//24 789//24 -f 788//24 787//24 795//24 796//24 -f 787//24 786//24 794//24 795//24 -f 786//24 785//24 793//24 794//24 -f 785//24 784//24 792//24 793//24 -f 784//24 783//24 791//24 792//24 -f 783//24 782//24 790//24 791//24 -f 801//25 800//25 817//25 818//25 -f 799//25 798//25 815//25 816//25 -f 797//25 804//25 813//25 814//25 -f 804//25 803//25 820//25 813//25 -f 802//25 801//25 818//25 819//25 -f 800//25 799//25 816//25 817//25 -f 798//25 797//25 814//25 815//25 -f 803//25 802//25 819//25 820//25 -f 828//25 827//25 826//25 825//25 824//25 823//25 822//25 821//25 -f 830//25 829//25 837//25 838//25 -f 829//25 836//25 844//25 837//25 -f 836//25 835//25 843//25 844//25 -f 835//25 834//25 842//25 843//25 -f 834//25 833//25 841//25 842//25 -f 833//25 832//25 840//25 841//25 -f 832//25 831//25 839//25 840//25 -f 831//25 830//25 838//25 839//25 -f 858//26 857//26 859//26 860//26 -f 850//27 849//27 851//27 852//27 -f 848//28 847//28 852//28 851//28 -f 846//29 848//29 851//29 849//29 -f 845//30 846//30 849//30 850//30 -f 847//31 845//31 850//31 852//31 -f 856//32 855//32 860//32 859//32 -f 854//33 856//33 859//33 857//33 -f 853//34 854//34 857//34 858//34 -f 855//35 853//35 858//35 860//35 -f 874//36 873//36 875//36 876//36 -f 866//37 865//37 867//37 868//37 -f 864//38 863//38 868//38 867//38 -f 862//39 864//39 867//39 865//39 -f 861//40 862//40 865//40 866//40 -f 863//41 861//41 866//41 868//41 -f 872//42 871//42 876//42 875//42 -f 870//43 872//43 875//43 873//43 -f 869//44 870//44 873//44 874//44 -f 871//45 869//45 874//45 876//45 -f 890//46 889//46 891//46 892//46 -f 882//47 881//47 883//47 884//47 -f 880//48 879//48 884//48 883//48 -f 878//49 880//49 883//49 881//49 -f 877//50 878//50 881//50 882//50 -f 879//51 877//51 882//51 884//51 -f 888//52 887//52 892//52 891//52 -f 886//53 888//53 891//53 889//53 -f 885//54 886//54 889//54 890//54 -f 887//55 885//55 890//55 892//55 -f 906//56 905//56 907//56 908//56 -f 898//57 897//57 899//57 900//57 -f 896//58 895//58 900//58 899//58 -f 894//59 896//59 899//59 897//59 -f 893//60 894//60 897//60 898//60 -f 895//61 893//61 898//61 900//61 -f 904//62 903//62 908//62 907//62 -f 902//63 904//63 907//63 905//63 -f 901//64 902//64 905//64 906//64 -f 903//65 901//65 906//65 908//65 -f 922//66 921//66 923//66 924//66 -f 914//67 913//67 915//67 916//67 -f 912//68 911//68 916//68 915//68 -f 910//69 912//69 915//69 913//69 -f 909//70 910//70 913//70 914//70 -f 911//71 909//71 914//71 916//71 -f 920//72 919//72 924//72 923//72 -f 918//73 920//73 923//73 921//73 -f 917//74 918//74 921//74 922//74 -f 919//75 917//75 922//75 924//75 -f 938//76 937//76 939//76 940//76 -f 930//77 929//77 931//77 932//77 -f 928//78 927//78 932//78 931//78 -f 926//79 928//79 931//79 929//79 -f 925//80 926//80 929//80 930//80 -f 927//81 925//81 930//81 932//81 -f 936//82 935//82 940//82 939//82 -f 934//83 936//83 939//83 937//83 -f 933//84 934//84 937//84 938//84 -f 935//85 933//85 938//85 940//85 -f 954//86 953//86 955//86 956//86 -f 946//87 945//87 947//87 948//87 -f 944//88 943//88 948//88 947//88 -f 942//89 944//89 947//89 945//89 -f 941//90 942//90 945//90 946//90 -f 943//91 941//91 946//91 948//91 -f 952//92 951//92 956//92 955//92 -f 950//93 952//93 955//93 953//93 -f 949//94 950//94 953//94 954//94 -f 951//95 949//95 954//95 956//95 -f 970//96 969//96 971//96 972//96 -f 962//97 961//97 963//97 964//97 -f 960//98 959//98 964//98 963//98 -f 958//99 960//99 963//99 961//99 -f 957//100 958//100 961//100 962//100 -f 959//101 957//101 962//101 964//101 -f 968//102 967//102 972//102 971//102 -f 966//103 968//103 971//103 969//103 -f 965//104 966//104 969//104 970//104 -f 967//105 965//105 970//105 972//105 -f 1004//9 997//9 1013//9 1020//9 -f 1006//9 1007//9 1008//9 1009//9 1010//9 1011//9 1012//9 1005//9 -f 1003//9 1004//9 1020//9 1019//9 -f 1002//9 1003//9 1019//9 1018//9 -f 1001//9 1002//9 1018//9 1017//9 -f 1000//9 1001//9 1017//9 1016//9 -f 999//9 1000//9 1016//9 1015//9 -f 998//9 999//9 1015//9 1014//9 -f 997//9 998//9 1014//9 1013//9 -f 1028//9 1036//9 1030//9 1022//9 -f 1027//9 1035//9 1036//9 1028//9 -f 1026//9 1034//9 1035//9 1027//9 -f 1025//9 1033//9 1034//9 1026//9 -f 1024//9 1032//9 1033//9 1025//9 -f 1023//9 1031//9 1032//9 1024//9 -f 1021//9 1029//9 1031//9 1023//9 -f 1022//9 1030//9 1029//9 1021//9 -f 974//9 975//9 976//9 977//9 978//9 979//9 980//9 981//9 982//9 983//9 984//9 985//9 986//9 987//9 988//9 973//9 -f 15//13 1050//13 1051//13 1052//13 8//13 -f 16//13 1048//13 1049//13 1050//13 15//13 -f 4//13 1046//13 1047//13 1048//13 16//13 -f 3//13 1044//13 1045//13 1046//13 4//13 -f 12//13 1042//13 1043//13 1044//13 3//13 -f 11//13 1040//13 1041//13 1042//13 12//13 -f 7//13 1038//13 1039//13 1040//13 11//13 -f 8//13 1052//13 1037//13 1038//13 7//13 -f 52//9 51//9 1054//9 1053//9 1068//9 -f 55//9 52//9 1068//9 1067//9 1066//9 -f 56//9 55//9 1066//9 1065//9 1064//9 -f 50//9 56//9 1064//9 1063//9 1062//9 -f 49//9 50//9 1062//9 1061//9 1060//9 -f 54//9 49//9 1060//9 1059//9 1058//9 -f 53//9 54//9 1058//9 1057//9 1056//9 -f 51//9 53//9 1056//9 1055//9 1054//9 -f 1070//3 1069//3 1076//3 1075//3 1074//3 1073//3 1072//3 1071//3 -f 79//9 81//9 1079//9 1077//9 -f 81//1 82//1 1080//1 1079//1 -f 82//13 80//13 1078//13 1080//13 -f 80//2 79//2 1077//2 1078//2 -f 1081//4 1083//4 1084//4 1085//4 1086//4 1087//4 1088//4 1082//4 -f 1069//106 1082//106 1088//106 1076//106 -f 1075//107 1087//107 1086//107 1074//107 -f 1071//108 1083//108 1081//108 1070//108 -f 1076//109 1088//109 1087//109 1075//109 -f 1074//110 1086//110 1085//110 1073//110 -f 1072//111 1084//111 1083//111 1071//111 -f 1070//112 1081//112 1082//112 1069//112 -f 1089//9 1090//9 1092//9 1091//9 -f 1094//13 1093//13 1096//13 1095//13 -f 1092//6 1090//6 1095//6 1096//6 -f 1089//8 1091//8 1093//8 1094//8 -f 1091//5 1092//5 1096//5 1093//5 -f 1090//7 1089//7 1094//7 1095//7 -f 1097//9 1098//9 1100//9 1099//9 -f 1102//13 1101//13 1104//13 1103//13 -f 1100//8 1098//8 1103//8 1104//8 -f 1097//6 1099//6 1101//6 1102//6 -f 1099//7 1100//7 1104//7 1101//7 -f 1098//5 1097//5 1102//5 1103//5 -f 1105//9 1106//9 1108//9 1107//9 -f 1110//13 1109//13 1112//13 1111//13 -f 1108//7 1106//7 1111//7 1112//7 -f 1105//5 1107//5 1109//5 1110//5 -f 1107//6 1108//6 1112//6 1109//6 -f 1106//8 1105//8 1110//8 1111//8 -f 1113//9 1114//9 1116//9 1115//9 -f 1118//13 1117//13 1120//13 1119//13 -f 1116//5 1114//5 1119//5 1120//5 -f 1113//7 1115//7 1117//7 1118//7 -f 1115//8 1116//8 1120//8 1117//8 -f 1114//6 1113//6 1118//6 1119//6 -f 1121//9 1122//9 1124//9 1123//9 -f 1126//113 1125//113 1128//113 1127//113 -f 1124//6 1122//6 1127//6 1128//6 -f 1121//8 1123//8 1125//8 1126//8 -f 1123//5 1124//5 1128//5 1125//5 -f 1122//7 1121//7 1126//7 1127//7 -f 122//6 123//6 1135//6 1134//6 -f 124//7 121//7 1133//7 1136//7 -f 123//1 124//1 1136//1 1135//1 -f 1135//15 1136//15 1133//15 1134//15 -f 1140//4 1147//4 1146//4 1138//4 -f 1137//3 1145//3 1148//3 1139//3 -f 1138//114 1146//114 1145//114 1137//114 1142//114 1141//114 -f 1141//115 1142//115 1144//115 1143//115 -f 1137//116 1139//116 1144//116 1142//116 -f 1140//117 1138//117 1141//117 1143//117 -f 60//1 59//1 61//1 63//1 -f 1157//118 1158//118 1160//118 1159//118 -f 1154//4 1152//4 1162//4 1160//4 1158//4 1156//4 -f 1159//108 1160//108 1162//108 1161//108 -f 1161//119 1162//119 1152//119 1151//119 -f 1151//3 1153//3 1155//3 1157//3 1159//3 1161//3 -f 1150//1 1149//1 1163//1 1164//1 -f 1163//4 1149//4 1165//4 1167//4 -f 1150//3 1164//3 1168//3 1166//3 -f 1174//13 1173//13 1176//13 1175//13 -f 1172//4 1170//4 1175//4 1176//4 -f 1169//3 1171//3 1173//3 1174//3 -f 1171//2 1172//2 1176//2 1173//2 -f 1170//1 1169//1 1174//1 1175//1 -f 1182//13 1183//13 1184//13 1181//13 -f 1180//1 1179//1 1181//1 1184//1 -f 1177//2 1178//2 1183//2 1182//2 -f 1178//4 1180//4 1184//4 1183//4 -f 1179//3 1177//3 1182//3 1181//3 -f 1189//1 1195//1 1196//1 1190//1 -f 1187//120 1193//120 1194//120 1188//120 -f 1185//121 1191//121 1192//121 1186//121 -f 1190//122 1196//122 1191//122 1185//122 -f 1188//123 1194//123 1195//123 1189//123 -f 1186//2 1192//2 1193//2 1187//2 -f 1186//4 1187//4 1188//4 1189//4 1190//4 1185//4 -f 1198//2 1199//2 1205//2 1204//2 -f 1201//1 1202//1 1208//1 1207//1 -f 1199//120 1200//120 1206//120 1205//120 -f 1197//121 1198//121 1204//121 1203//121 -f 1202//122 1197//122 1203//122 1208//122 -f 1200//123 1201//123 1207//123 1206//123 -f 1207//3 1208//3 1214//3 1213//3 -f 1205//3 1206//3 1212//3 1211//3 -f 1203//3 1204//3 1210//3 1209//3 -f 1208//3 1203//3 1209//3 1214//3 -f 1206//3 1207//3 1213//3 1212//3 -f 1204//3 1205//3 1211//3 1210//3 -f 1214//122 1209//122 1215//122 1220//122 -f 1212//123 1213//123 1219//123 1218//123 -f 1210//2 1211//2 1217//2 1216//2 -f 1213//1 1214//1 1220//1 1219//1 -f 1211//120 1212//120 1218//120 1217//120 -f 1209//121 1210//121 1216//121 1215//121 -f 1217//4 1218//4 1224//4 1223//4 -f 1216//4 1217//4 1223//4 1222//4 -f 1215//4 1216//4 1222//4 1221//4 -f 1220//4 1215//4 1221//4 1226//4 -f 1219//4 1220//4 1226//4 1225//4 -f 1218//4 1219//4 1225//4 1224//4 -f 1224//123 1225//123 1231//123 1230//123 -f 1222//2 1223//2 1229//2 1228//2 -f 1225//1 1226//1 1232//1 1231//1 -f 1223//120 1224//120 1230//120 1229//120 -f 1221//121 1222//121 1228//121 1227//121 -f 1226//122 1221//122 1227//122 1232//122 -f 1229//3 1230//3 1236//3 1235//3 -f 1228//3 1229//3 1235//3 1234//3 -f 1227//3 1228//3 1234//3 1233//3 -f 1232//3 1227//3 1233//3 1238//3 -f 1231//3 1232//3 1238//3 1237//3 -f 1230//3 1231//3 1237//3 1236//3 -f 1234//2 1235//2 1241//2 1240//2 -f 1237//1 1238//1 1244//1 1243//1 -f 1235//120 1236//120 1242//120 1241//120 -f 1233//121 1234//121 1240//121 1239//121 -f 1238//122 1233//122 1239//122 1244//122 -f 1236//123 1237//123 1243//123 1242//123 -f 1239//124 1240//124 1246//124 1245//124 -f 1244//125 1239//125 1245//125 1250//125 -f 1242//126 1243//126 1249//126 1248//126 -f 1240//127 1241//127 1247//127 1246//127 -f 1243//128 1244//128 1250//128 1249//128 -f 1241//129 1242//129 1248//129 1247//129 -f 1246//4 1247//4 1248//4 1249//4 1250//4 1245//4 -f 1251//2 1252//2 1254//2 1253//2 -f 1269//3 1267//3 1272//3 1276//3 1274//3 -f 1253//13 1254//13 1258//13 1255//13 -f 1254//4 1252//4 1257//4 1258//4 -f 1251//3 1253//3 1255//3 1256//3 -f 1259//130 1260//130 1263//130 1264//130 -f 1261//3 1259//3 1264//3 1266//3 -f 1262//11 1261//11 1266//11 1265//11 -f 1260//4 1262//4 1265//4 1263//4 -f 1267//131 1269//131 1270//131 1268//131 -f 1274//13 1276//13 1275//13 1273//13 -f 1268//4 1270//4 1273//4 1275//4 1271//4 -f 1267//130 1268//130 1271//130 1272//130 -f 1272//132 1271//132 1275//132 1276//132 -f 1270//11 1269//11 1274//11 1273//11 -f 1282//130 1283//130 1284//130 1281//130 -f 1278//4 1280//4 1284//4 1283//4 -f 1279//3 1277//3 1282//3 1281//3 -f 1280//132 1279//132 1281//132 1284//132 -f 1277//131 1278//131 1283//131 1282//131 -f 1294//114 1295//114 1305//114 1304//114 1303//114 1302//114 1301//114 1300//114 1299//114 1298//114 1297//114 1296//114 -f 1295//3 1285//3 1306//3 1311//3 -f 1307//133 1293//133 1302//133 1312//133 -f 1302//114 1303//114 1313//114 1312//114 -f 1303//114 1304//114 1314//114 1313//114 -f 1304//114 1305//114 1315//114 1314//114 -f 1311//114 1315//114 1305//114 1295//114 -f 1285//134 1309//134 1310//134 1306//134 -f 1329//114 1330//114 1331//114 1332//114 1333//114 1334//114 1335//114 1336//114 1337//114 1338//114 1339//114 1328//114 -f 52//2 66//2 65//2 51//2 -f 1130//8 1347//8 1345//8 1132//8 -f 53//8 51//8 1344//8 1346//8 -f 65//8 67//8 1129//8 1131//8 -f 53//8 1346//8 1347//8 1130//8 1129//8 67//8 -f 51//8 65//8 1131//8 1132//8 1345//8 1344//8 -f 55//5 1341//5 1340//5 52//5 -f 68//5 1343//5 1341//5 55//5 -f 68//5 66//5 1342//5 1343//5 -f 52//5 1340//5 1342//5 66//5 -f 1343//135 1342//135 1353//135 1352//135 -f 1129//5 1130//5 1350//5 1348//5 -f 1347//136 1443//136 1440//136 1345//136 -f 1349//8 1348//8 1350//8 1351//8 -f 1344//13 1441//13 1442//13 1346//13 -f 1354//5 1352//5 1353//5 1355//5 -f 1130//137 1132//137 1351//137 1350//137 -f 1346//5 1442//5 1443//5 1347//5 -f 1131//138 1129//138 1348//138 1349//138 -f 1132//7 1131//7 1349//7 1351//7 -f 1355//6 1353//6 1342//6 1340//6 -f 1352//8 1354//8 1341//8 1343//8 -f 1363//3 1393//3 1482//3 1483//3 -f 1393//139 1392//139 1490//139 1482//139 -f 1378//4 1370//4 1498//4 1362//4 -f 1364//140 1363//140 1483//140 1484//140 -f 1362//4 1498//4 1461//4 1468//4 -f 1482//141 1490//141 1475//141 1476//141 -f 1364//4 1392//4 1386//4 -f 1386//132 1399//132 1363//132 1364//132 -f 1399//3 1393//3 1363//3 -f 1370//4 1378//4 1385//4 -f 1385//132 1384//132 1371//132 1370//132 -f 1384//3 1377//3 1371//3 -f 1408//13 1407//13 1399//13 1386//13 -f 1400//9 1406//9 1392//9 1393//9 -f 1421//4 1414//4 1385//4 1378//4 -f 1415//3 1422//3 1377//3 1384//3 -f 1407//3 1400//3 1393//3 1399//3 -f 1414//13 1415//13 1384//13 1385//13 -f 1422//9 1421//9 1378//9 1377//9 -f 1406//4 1408//4 1386//4 1392//4 -f 1377//139 1378//139 1362//139 1491//139 -f 1392//4 1364//4 1484//4 1490//4 -f 1722//2 1709//2 1727//2 1725//2 -f 1440//8 1443//8 1442//8 1441//8 -f 1345//7 1440//7 1441//7 1344//7 -f 1354//13 1355//13 1340//13 1341//13 -f 1498//142 1497//142 1462//142 1461//142 -f 1497//3 1491//3 1469//3 1462//3 -f 1483//3 1482//3 1476//3 1460//3 -f 1491//141 1362//141 1468//141 1469//141 -f 1490//4 1484//4 1454//4 1475//4 -f 1484//142 1483//142 1460//142 1454//142 -f 1371//3 1377//3 1491//3 1497//3 -f 1370//140 1371//140 1497//140 1498//140 -f 1516//4 1517//4 1519//4 1518//4 -f 1524//3 1525//3 1527//3 1526//3 -f 1518//143 1519//143 1523//143 1520//143 -f 1517//144 1516//144 1521//144 1522//144 -f 1519//145 1517//145 1522//145 1523//145 -f 1516//146 1518//146 1520//146 1521//146 -f 1526//114 1527//114 1531//114 1528//114 -f 1525//134 1524//134 1529//134 1530//134 -f 1527//115 1525//115 1530//115 1531//115 -f 1524//147 1526//147 1528//147 1529//147 -f 1532//1 1533//1 1535//1 1534//1 -f 1540//2 1541//2 1543//2 1542//2 -f 1534//148 1535//148 1539//148 1536//148 -f 1533//149 1532//149 1537//149 1538//149 -f 1535//150 1533//150 1538//150 1539//150 -f 1532//151 1534//151 1536//151 1537//151 -f 1542//152 1543//152 1547//152 1544//152 -f 1541//153 1540//153 1545//153 1546//153 -f 1543//154 1541//154 1546//154 1547//154 -f 1540//155 1542//155 1544//155 1545//155 -f 1548//6 1549//6 1551//6 1550//6 -f 1556//8 1557//8 1559//8 1558//8 -f 1550//156 1551//156 1555//156 1552//156 -f 1549//157 1548//157 1553//157 1554//157 -f 1551//158 1549//158 1554//158 1555//158 -f 1548//159 1550//159 1552//159 1553//159 -f 1558//160 1559//160 1563//160 1560//160 -f 1557//161 1556//161 1561//161 1562//161 -f 1559//162 1557//162 1562//162 1563//162 -f 1556//163 1558//163 1560//163 1561//163 -f 1564//7 1565//7 1567//7 1566//7 -f 1572//5 1573//5 1575//5 1574//5 -f 1566//164 1567//164 1571//164 1568//164 -f 1565//165 1564//165 1569//165 1570//165 -f 1567//166 1565//166 1570//166 1571//166 -f 1564//167 1566//167 1568//167 1569//167 -f 1574//168 1575//168 1579//168 1576//168 -f 1573//169 1572//169 1577//169 1578//169 -f 1575//170 1573//170 1578//170 1579//170 -f 1572//171 1574//171 1576//171 1577//171 -f 1580//172 1581//172 1583//172 1582//172 -f 1588//173 1589//173 1591//173 1590//173 -f 1582//174 1583//174 1587//174 1584//174 -f 1581//175 1580//175 1585//175 1586//175 -f 1583//176 1581//176 1586//176 1587//176 -f 1580//177 1582//177 1584//177 1585//177 -f 1590//178 1591//178 1595//178 1592//178 -f 1589//179 1588//179 1593//179 1594//179 -f 1591//180 1589//180 1594//180 1595//180 -f 1588//181 1590//181 1592//181 1593//181 -f 1596//182 1597//182 1599//182 1598//182 -f 1604//183 1605//183 1607//183 1606//183 -f 1598//184 1599//184 1603//184 1600//184 -f 1597//185 1596//185 1601//185 1602//185 -f 1599//186 1597//186 1602//186 1603//186 -f 1596//187 1598//187 1600//187 1601//187 -f 1606//188 1607//188 1611//188 1608//188 -f 1605//189 1604//189 1609//189 1610//189 -f 1607//190 1605//190 1610//190 1611//190 -f 1604//191 1606//191 1608//191 1609//191 -f 1612//192 1613//192 1615//192 1614//192 -f 1620//193 1621//193 1623//193 1622//193 -f 1614//194 1615//194 1619//194 1616//194 -f 1613//195 1612//195 1617//195 1618//195 -f 1615//196 1613//196 1618//196 1619//196 -f 1612//197 1614//197 1616//197 1617//197 -f 1622//198 1623//198 1627//198 1624//198 -f 1621//199 1620//199 1625//199 1626//199 -f 1623//200 1621//200 1626//200 1627//200 -f 1620//201 1622//201 1624//201 1625//201 -f 1628//202 1629//202 1631//202 1630//202 -f 1636//203 1637//203 1639//203 1638//203 -f 1630//204 1631//204 1635//204 1632//204 -f 1629//205 1628//205 1633//205 1634//205 -f 1631//206 1629//206 1634//206 1635//206 -f 1628//207 1630//207 1632//207 1633//207 -f 1638//208 1639//208 1643//208 1640//208 -f 1637//209 1636//209 1641//209 1642//209 -f 1639//210 1637//210 1642//210 1643//210 -f 1636//211 1638//211 1640//211 1641//211 -f 1644//212 1645//212 1647//212 1646//212 -f 1652//213 1653//213 1655//213 1654//213 -f 1646//214 1647//214 1651//214 1648//214 -f 1645//215 1644//215 1649//215 1650//215 -f 1647//216 1645//216 1650//216 1651//216 -f 1644//217 1646//217 1648//217 1649//217 -f 1654//218 1655//218 1659//218 1656//218 -f 1653//219 1652//219 1657//219 1658//219 -f 1655//220 1653//220 1658//220 1659//220 -f 1652//221 1654//221 1656//221 1657//221 -f 1660//222 1661//222 1663//222 1662//222 -f 1668//223 1669//223 1671//223 1670//223 -f 1662//224 1663//224 1667//224 1664//224 -f 1661//225 1660//225 1665//225 1666//225 -f 1663//226 1661//226 1666//226 1667//226 -f 1660//227 1662//227 1664//227 1665//227 -f 1670//228 1671//228 1675//228 1672//228 -f 1669//229 1668//229 1673//229 1674//229 -f 1671//230 1669//230 1674//230 1675//230 -f 1668//231 1670//231 1672//231 1673//231 -f 1676//232 1677//232 1679//232 1678//232 -f 1684//233 1685//233 1687//233 1686//233 -f 1678//234 1679//234 1683//234 1680//234 -f 1677//235 1676//235 1681//235 1682//235 -f 1679//236 1677//236 1682//236 1683//236 -f 1676//237 1678//237 1680//237 1681//237 -f 1686//238 1687//238 1691//238 1688//238 -f 1685//239 1684//239 1689//239 1690//239 -f 1687//240 1685//240 1690//240 1691//240 -f 1684//241 1686//241 1688//241 1689//241 -f 1692//242 1693//242 1695//242 1694//242 -f 1700//243 1701//243 1703//243 1702//243 -f 1694//244 1695//244 1699//244 1696//244 -f 1693//245 1692//245 1697//245 1698//245 -f 1695//246 1693//246 1698//246 1699//246 -f 1692//247 1694//247 1696//247 1697//247 -f 1702//248 1703//248 1707//248 1704//248 -f 1701//249 1700//249 1705//249 1706//249 -f 1703//250 1701//250 1706//250 1707//250 -f 1700//251 1702//251 1704//251 1705//251 -f 1710//122 1711//122 1713//122 1712//122 -f 1709//9 1708//9 1726//9 1727//9 -f 1712//1 1713//1 1715//1 1714//1 -f 1708//1 1723//1 1724//1 1726//1 -f 1714//123 1715//123 1717//123 1716//123 -f 1723//13 1722//13 1725//13 1724//13 -f 1716//120 1717//120 1719//120 1718//120 -f 1713//4 1711//4 1721//4 1719//4 1717//4 1715//4 -f 1709//3 1722//3 1723//3 1708//3 -f 1718//2 1719//2 1721//2 1720//2 -f 1720//121 1721//121 1711//121 1710//121 -f 1710//3 1712//3 1714//3 1716//3 1718//3 1720//3 -f 1726//6 1724//6 1728//6 1729//6 -f 1726//9 1729//9 1727//9 -f 1725//13 1728//13 1724//13 -f 1728//13 1725//13 1730//13 1733//13 -f 1733//1 1730//1 1736//1 1737//1 -f 1729//4 1728//4 1733//4 1732//4 -f 1727//9 1729//9 1732//9 1731//9 -f 1725//3 1727//3 1731//3 1730//3 -f 1733//4 1735//4 1732//4 -f 1731//3 1734//3 1730//3 -f 1732//130 1735//130 1734//130 1731//130 -f 1738//140 1739//140 1743//140 1742//140 -f 1735//4 1733//4 1737//4 1739//4 -f 1734//2 1735//2 1739//2 1738//2 -f 1730//3 1734//3 1738//3 1736//3 -f 1741//4 1745//4 1743//4 -f 1736//3 1738//3 1742//3 1740//3 -f 1737//139 1736//139 1740//139 1741//139 -f 1739//4 1737//4 1741//4 1743//4 -f 1743//132 1745//132 1744//132 1742//132 -f 1740//3 1744//3 1748//3 1747//3 -f 1740//3 1742//3 1744//3 -f 1751//9 1747//9 1752//9 1755//9 -f 1741//9 1740//9 1747//9 1746//9 -f 1745//4 1741//4 1746//4 1749//4 -f 1744//13 1745//13 1749//13 1748//13 -f 1749//13 1750//13 1748//13 -f 1746//6 1751//6 1750//6 1749//6 -f 1747//9 1751//9 1746//9 -f 1747//2 1748//2 1753//2 1752//2 -f 1748//13 1750//13 1754//13 1753//13 -f 1750//1 1751//1 1755//1 1754//1 +f 1//1 2//1 3//1 4//1 +f 5//2 6//2 7//2 8//2 +f 9//3 10//3 11//3 12//3 +f 13//4 14//4 15//4 16//4 +f 6//5 13//5 16//5 7//5 +f 3//6 15//6 14//6 4//6 +f 2//7 1//7 12//7 11//7 +f 5//8 8//8 10//8 9//8 +f 14//9 13//9 17//9 18//9 19//9 +f 13//9 6//9 20//9 21//9 17//9 +f 6//9 5//9 22//9 23//9 20//9 +f 5//9 9//9 24//9 25//9 22//9 +f 9//9 12//9 26//9 27//9 24//9 +f 12//9 1//9 28//9 29//9 26//9 +f 1//9 4//9 30//9 31//9 28//9 +f 4//9 14//9 19//9 32//9 30//9 +f 33//3 34//3 35//3 36//3 37//3 +f 38//6 39//6 836//6 40//6 41//6 42//6 43//6 +f 44//4 45//4 42//4 41//4 46//4 47//4 +f 48//1 49//1 38//1 43//1 +f 37//10 36//10 50//10 51//10 49//10 48//10 +f 38//11 49//11 51//11 39//11 +f 52//2 53//2 44//2 47//2 +f 54//3 55//3 56//3 57//3 +f 58//3 57//3 56//3 35//3 34//3 +f 55//12 54//12 59//12 60//12 +f 61//3 62//3 63//3 64//3 +f 65//3 66//3 67//3 68//3 +f 69//3 70//3 71//3 72//3 +f 73//3 74//3 75//3 76//3 +f 77//3 78//3 79//3 80//3 +f 73//3 77//3 80//3 61//3 64//3 65//3 68//3 69//3 72//3 74//3 +f 76//3 75//3 71//3 70//3 67//3 66//3 63//3 62//3 79//3 78//3 +f 70//1 69//1 81//1 82//1 +f 69//9 68//9 83//9 81//9 +f 64//2 63//2 84//2 85//2 +f 65//9 64//9 85//9 86//9 +f 87//3 88//3 89//3 90//3 +f 83//3 91//3 82//3 81//3 +f 86//3 85//3 84//3 92//3 +f 93//3 94//3 95//3 96//3 +f 74//9 72//9 88//9 87//9 +f 72//2 71//2 89//2 88//2 +f 71//13 75//13 90//13 89//13 +f 66//1 65//1 86//1 92//1 +f 67//13 70//13 82//13 91//13 +f 68//2 67//2 91//2 83//2 +f 63//13 66//13 92//13 84//13 +f 75//1 74//1 87//1 90//1 +f 79//13 62//13 95//13 94//13 +f 80//2 79//2 94//2 93//2 +f 61//9 80//9 93//9 96//9 +f 62//1 61//1 96//1 95//1 +f 46//13 41//13 97//13 98//13 +f 41//13 40//13 97//13 +f 54//13 57//13 99//13 100//13 +f 54//13 100//13 59//13 +f 47//14 46//14 98//14 52//14 +f 101//14 99//14 57//14 58//14 +f 102//2 101//2 58//2 34//2 +f 103//15 104//15 105//15 106//15 +f 104//15 44//15 53//15 105//15 +f 103//15 106//15 102//15 34//15 +f 107//16 108//16 109//16 110//16 +f 111//16 112//16 113//16 114//16 +f 115//16 116//16 117//16 118//16 +f 116//16 119//16 120//16 117//16 +f 121//16 107//16 110//16 122//16 +f 108//16 111//16 114//16 109//16 +f 112//16 115//16 118//16 113//16 +f 119//16 121//16 122//16 120//16 +f 123//16 124//16 125//16 126//16 127//16 128//16 129//16 130//16 +f 131//16 132//16 133//16 134//16 +f 132//16 135//16 136//16 133//16 +f 135//17 137//17 138//17 136//17 +f 137//17 139//17 140//17 138//17 +f 139//16 141//16 142//16 140//16 +f 141//17 143//17 144//17 142//17 +f 143//17 145//17 146//17 144//17 +f 145//17 131//17 134//17 146//17 +f 147//18 148//18 149//18 150//18 +f 151//19 152//19 150//19 149//19 +f 153//20 151//20 149//20 148//20 +f 154//21 153//21 148//21 147//21 +f 152//22 154//22 147//22 150//22 +f 155//9 156//9 157//9 158//9 +f 159//9 160//9 161//9 162//9 163//9 164//9 165//9 166//9 +f 167//9 155//9 158//9 168//9 +f 169//9 167//9 168//9 170//9 +f 171//9 169//9 170//9 172//9 +f 173//9 171//9 172//9 174//9 +f 175//9 173//9 174//9 176//9 +f 177//9 175//9 176//9 178//9 +f 156//9 177//9 178//9 157//9 +f 179//9 180//9 181//9 182//9 +f 183//9 184//9 180//9 179//9 +f 185//9 186//9 184//9 183//9 +f 187//9 188//9 186//9 185//9 +f 189//9 190//9 188//9 187//9 +f 191//9 192//9 190//9 189//9 +f 193//9 194//9 192//9 191//9 +f 182//9 181//9 194//9 193//9 +f 195//9 196//9 197//9 198//9 199//9 200//9 201//9 202//9 203//9 204//9 205//9 206//9 207//9 208//9 209//9 210//9 +f 16//13 211//13 212//13 213//13 7//13 +f 15//13 214//13 215//13 211//13 16//13 +f 3//13 216//13 217//13 214//13 15//13 +f 2//13 218//13 219//13 216//13 3//13 +f 11//13 220//13 221//13 218//13 2//13 +f 10//13 222//13 223//13 220//13 11//13 +f 8//13 224//13 225//13 222//13 10//13 +f 7//13 213//13 226//13 224//13 8//13 +f 227//9 228//9 229//9 230//9 231//9 +f 45//9 227//9 231//9 232//9 233//9 +f 42//9 45//9 233//9 234//9 235//9 +f 43//9 42//9 235//9 236//9 237//9 +f 48//9 43//9 237//9 238//9 239//9 +f 37//9 48//9 239//9 240//9 241//9 +f 33//9 37//9 241//9 242//9 243//9 +f 228//9 33//9 243//9 244//9 229//9 +f 245//3 246//3 247//3 248//3 249//3 250//3 251//3 252//3 +f 76//9 78//9 253//9 254//9 +f 78//1 77//1 255//1 253//1 +f 77//13 73//13 256//13 255//13 +f 73//2 76//2 254//2 256//2 +f 257//4 258//4 259//4 260//4 261//4 262//4 263//4 264//4 +f 246//23 264//23 263//23 247//23 +f 248//24 262//24 261//24 249//24 +f 252//25 258//25 257//25 245//25 +f 247//26 263//26 262//26 248//26 +f 249//27 261//27 260//27 250//27 +f 251//28 259//28 258//28 252//28 +f 245//29 257//29 264//29 246//29 +f 265//9 266//9 267//9 268//9 +f 269//13 270//13 271//13 272//13 +f 267//6 266//6 272//6 271//6 +f 265//8 268//8 270//8 269//8 +f 268//5 267//5 271//5 270//5 +f 266//7 265//7 269//7 272//7 +f 273//9 274//9 275//9 276//9 +f 277//13 278//13 279//13 280//13 +f 275//8 274//8 280//8 279//8 +f 273//6 276//6 278//6 277//6 +f 276//7 275//7 279//7 278//7 +f 274//5 273//5 277//5 280//5 +f 281//9 282//9 283//9 284//9 +f 285//13 286//13 287//13 288//13 +f 283//7 282//7 288//7 287//7 +f 281//5 284//5 286//5 285//5 +f 284//6 283//6 287//6 286//6 +f 282//8 281//8 285//8 288//8 +f 289//9 290//9 291//9 292//9 +f 293//13 294//13 295//13 296//13 +f 291//5 290//5 296//5 295//5 +f 289//7 292//7 294//7 293//7 +f 292//8 291//8 295//8 294//8 +f 290//6 289//6 293//6 296//6 +f 297//9 298//9 299//9 300//9 +f 301//30 302//30 303//30 304//30 +f 299//6 298//6 304//6 303//6 +f 297//8 300//8 302//8 301//8 +f 300//5 299//5 303//5 302//5 +f 298//7 297//7 301//7 304//7 +f 102//6 106//6 305//6 306//6 +f 105//7 53//7 307//7 308//7 +f 106//1 105//1 308//1 305//1 +f 305//15 308//15 307//15 306//15 +f 309//4 310//4 311//4 312//4 +f 313//3 314//3 315//3 316//3 +f 312//31 311//31 314//31 313//31 317//31 318//31 +f 318//32 317//32 319//32 320//32 +f 313//33 316//33 319//33 317//33 +f 309//34 312//34 318//34 320//34 +f 39//1 51//1 50//1 836//1 +f 321//35 322//35 323//35 324//35 +f 325//4 326//4 327//4 323//4 322//4 328//4 +f 324//25 323//25 327//25 329//25 +f 329//36 327//36 326//36 330//36 +f 330//3 331//3 332//3 321//3 324//3 329//3 +f 333//1 334//1 335//1 336//1 +f 335//4 334//4 337//4 338//4 +f 333//3 336//3 339//3 340//3 +f 341//13 342//13 343//13 344//13 +f 345//4 346//4 344//4 343//4 +f 347//3 348//3 342//3 341//3 +f 348//2 345//2 343//2 342//2 +f 346//1 347//1 341//1 344//1 +f 349//13 350//13 351//13 352//13 +f 353//1 354//1 352//1 351//1 +f 355//2 356//2 350//2 349//2 +f 356//4 353//4 351//4 350//4 +f 354//3 355//3 349//3 352//3 +f 357//1 358//1 359//1 360//1 +f 361//37 362//37 363//37 364//37 +f 365//38 366//38 367//38 368//38 +f 360//39 359//39 366//39 365//39 +f 364//40 363//40 358//40 357//40 +f 368//2 367//2 362//2 361//2 +f 368//4 361//4 364//4 357//4 360//4 365//4 +f 369//2 370//2 371//2 372//2 +f 373//1 374//1 375//1 376//1 +f 370//37 377//37 378//37 371//37 +f 379//38 369//38 372//38 380//38 +f 374//39 379//39 380//39 375//39 +f 377//40 373//40 376//40 378//40 +f 376//3 375//3 381//3 382//3 +f 371//3 378//3 383//3 384//3 +f 380//3 372//3 385//3 386//3 +f 375//3 380//3 386//3 381//3 +f 378//3 376//3 382//3 383//3 +f 372//3 371//3 384//3 385//3 +f 381//39 386//39 387//39 388//39 +f 383//40 382//40 389//40 390//40 +f 385//2 384//2 391//2 392//2 +f 382//1 381//1 388//1 389//1 +f 384//37 383//37 390//37 391//37 +f 386//38 385//38 392//38 387//38 +f 391//4 390//4 393//4 394//4 +f 392//4 391//4 394//4 395//4 +f 387//4 392//4 395//4 396//4 +f 388//4 387//4 396//4 397//4 +f 389//4 388//4 397//4 398//4 +f 390//4 389//4 398//4 393//4 +f 393//40 398//40 399//40 400//40 +f 395//2 394//2 401//2 402//2 +f 398//1 397//1 403//1 399//1 +f 394//37 393//37 400//37 401//37 +f 396//38 395//38 402//38 404//38 +f 397//39 396//39 404//39 403//39 +f 401//3 400//3 405//3 406//3 +f 402//3 401//3 406//3 407//3 +f 404//3 402//3 407//3 408//3 +f 403//3 404//3 408//3 409//3 +f 399//3 403//3 409//3 410//3 +f 400//3 399//3 410//3 405//3 +f 407//2 406//2 411//2 412//2 +f 410//1 409//1 413//1 414//1 +f 406//37 405//37 415//37 411//37 +f 408//38 407//38 412//38 416//38 +f 409//39 408//39 416//39 413//39 +f 405//40 410//40 414//40 415//40 +f 416//41 412//41 417//41 418//41 +f 413//42 416//42 418//42 419//42 +f 415//43 414//43 420//43 421//43 +f 412//44 411//44 422//44 417//44 +f 414//45 413//45 419//45 420//45 +f 411//46 415//46 421//46 422//46 +f 417//4 422//4 421//4 420//4 419//4 418//4 +f 423//2 424//2 425//2 426//2 +f 427//3 428//3 429//3 430//3 431//3 +f 426//13 425//13 432//13 433//13 +f 425//4 424//4 434//4 432//4 +f 423//3 426//3 433//3 435//3 +f 436//47 437//47 438//47 439//47 +f 440//3 436//3 439//3 441//3 +f 442//11 440//11 441//11 443//11 +f 437//4 442//4 443//4 438//4 +f 428//48 427//48 444//48 445//48 +f 431//13 430//13 446//13 447//13 +f 445//4 444//4 447//4 446//4 448//4 +f 428//47 445//47 448//47 429//47 +f 429//49 448//49 446//49 430//49 +f 444//11 427//11 431//11 447//11 +f 449//47 450//47 451//47 452//47 +f 453//4 454//4 451//4 450//4 +f 455//3 456//3 449//3 452//3 +f 454//49 455//49 452//49 451//49 +f 456//48 453//48 450//48 449//48 +f 457//31 458//31 459//31 460//31 461//31 462//31 463//31 464//31 465//31 466//31 467//31 468//31 +f 458//3 469//3 470//3 471//3 +f 472//50 473//50 462//50 474//50 +f 462//31 461//31 475//31 474//31 +f 461//31 460//31 476//31 475//31 +f 460//31 459//31 477//31 476//31 +f 471//31 477//31 459//31 458//31 +f 469//51 478//51 479//51 470//51 +f 480//31 481//31 482//31 483//31 484//31 485//31 486//31 487//31 488//31 489//31 490//31 491//31 +f 227//2 104//2 103//2 228//2 +f 492//8 493//8 494//8 495//8 +f 33//8 228//8 496//8 497//8 +f 103//8 34//8 498//8 499//8 +f 33//8 497//8 493//8 492//8 498//8 34//8 +f 228//8 103//8 499//8 495//8 494//8 496//8 +f 45//5 500//5 501//5 227//5 +f 44//5 502//5 500//5 45//5 +f 44//5 104//5 503//5 502//5 +f 227//5 501//5 503//5 104//5 +f 502//52 503//52 504//52 505//52 +f 498//5 492//5 506//5 507//5 +f 493//53 508//53 509//53 494//53 +f 510//8 507//8 506//8 511//8 +f 496//13 512//13 513//13 497//13 +f 514//5 505//5 504//5 515//5 +f 492//54 495//54 511//54 506//54 +f 497//5 513//5 508//5 493//5 +f 499//55 498//55 507//55 510//55 +f 495//7 499//7 510//7 511//7 +f 515//6 504//6 503//6 501//6 +f 505//8 514//8 500//8 502//8 +f 516//3 517//3 518//3 519//3 +f 517//56 520//56 521//56 518//56 +f 522//4 523//4 524//4 525//4 +f 526//57 516//57 519//57 527//57 +f 525//4 524//4 528//4 529//4 +f 518//58 521//58 530//58 531//58 +f 526//4 520//4 532//4 +f 532//49 533//49 516//49 526//49 +f 533//3 517//3 516//3 +f 523//4 522//4 534//4 +f 534//49 535//49 536//49 523//49 +f 535//3 537//3 536//3 +f 538//13 539//13 533//13 532//13 +f 540//9 541//9 520//9 517//9 +f 542//4 543//4 534//4 522//4 +f 544//3 545//3 537//3 535//3 +f 539//3 540//3 517//3 533//3 +f 543//13 544//13 535//13 534//13 +f 545//9 542//9 522//9 537//9 +f 541//4 538//4 532//4 520//4 +f 537//56 522//56 525//56 546//56 +f 520//4 526//4 527//4 521//4 +f 547//2 548//2 549//2 550//2 +f 509//8 508//8 513//8 512//8 +f 494//7 509//7 512//7 496//7 +f 514//13 515//13 501//13 500//13 +f 524//59 551//59 552//59 528//59 +f 551//3 546//3 553//3 552//3 +f 519//3 518//3 531//3 554//3 +f 546//58 525//58 529//58 553//58 +f 521//4 527//4 555//4 530//4 +f 527//59 519//59 554//59 555//59 +f 536//3 537//3 546//3 551//3 +f 523//57 536//57 551//57 524//57 +f 556//2 557//2 558//2 559//2 +f 559//60 558//60 560//60 561//60 +f 557//61 556//61 562//61 563//61 +f 558//62 557//62 563//62 560//62 +f 556//63 559//63 561//63 562//63 +f 564//39 565//39 566//39 567//39 +f 548//9 568//9 569//9 549//9 +f 567//1 566//1 570//1 571//1 +f 568//1 572//1 573//1 569//1 +f 571//40 570//40 574//40 575//40 +f 572//13 547//13 550//13 573//13 +f 575//37 574//37 576//37 577//37 +f 566//4 565//4 578//4 576//4 574//4 570//4 +f 548//3 547//3 572//3 568//3 +f 577//2 576//2 578//2 579//2 +f 579//38 578//38 565//38 564//38 +f 564//3 567//3 571//3 575//3 577//3 579//3 +f 569//6 573//6 580//6 581//6 +f 569//9 581//9 549//9 +f 550//13 580//13 573//13 +f 580//13 550//13 582//13 583//13 +f 583//1 582//1 584//1 585//1 +f 581//4 580//4 583//4 586//4 +f 549//9 581//9 586//9 587//9 +f 550//3 549//3 587//3 582//3 +f 583//4 588//4 586//4 +f 587//3 589//3 582//3 +f 586//47 588//47 589//47 587//47 +f 590//57 591//57 592//57 593//57 +f 588//4 583//4 585//4 591//4 +f 589//2 588//2 591//2 590//2 +f 582//3 589//3 590//3 584//3 +f 594//4 595//4 592//4 +f 584//3 590//3 593//3 596//3 +f 585//56 584//56 596//56 594//56 +f 591//4 585//4 594//4 592//4 +f 592//49 595//49 597//49 593//49 +f 596//3 597//3 598//3 599//3 +f 596//3 593//3 597//3 +f 600//9 599//9 601//9 602//9 +f 594//9 596//9 599//9 603//9 +f 595//4 594//4 603//4 604//4 +f 597//13 595//13 604//13 598//13 +f 604//13 605//13 598//13 +f 603//6 600//6 605//6 604//6 +f 599//9 600//9 603//9 +f 599//2 598//2 606//2 601//2 +f 598//13 605//13 607//13 606//13 +f 605//1 600//1 602//1 607//1 s 1 -f 17//252 18//253 34//253 33//252 -f 32//254 17//252 33//252 48//254 -f 31//255 32//254 48//254 47//255 -f 30//256 31//255 47//255 46//256 -f 29//257 30//256 46//256 45//257 -f 28//258 29//257 45//257 44//258 -f 27//259 28//258 44//258 43//259 -f 26//260 27//259 43//259 42//260 -f 25//261 26//260 42//260 41//261 -f 24//262 25//261 41//261 40//262 -f 23//263 24//262 40//262 39//263 -f 22//264 23//263 39//263 38//264 -f 21//265 22//264 38//264 37//265 -f 20//266 21//265 37//265 36//266 -f 19//267 20//266 36//266 35//267 -f 18//253 19//267 35//267 34//253 -f 129//268 128//269 137//270 136//271 -f 127//272 126//273 139//274 138//275 -f 125//276 132//277 133//278 140//279 -f 132//277 131//280 134//281 133//278 -f 130//282 129//268 136//271 135//283 -f 128//269 127//272 138//275 137//270 -f 126//273 125//276 140//279 139//274 -f 131//280 130//282 135//283 134//281 -f 140//279 133//278 141//284 148//285 -f 138//275 139//274 147//286 146//287 -f 136//271 137//270 145//288 144//289 -f 134//281 135//283 143//290 142//291 -f 139//274 140//279 148//285 147//286 -f 137//270 138//275 146//287 145//288 -f 135//283 136//271 144//289 143//290 -f 133//278 134//281 142//291 141//284 -f 143//290 144//289 152//292 151//13 -f 141//284 142//291 150//293 149//294 -f 148//285 141//284 149//294 156//295 -f 146//287 147//286 155//9 154//296 -f 144//289 145//288 153//297 152//292 -f 142//291 143//290 151//13 150//293 -f 147//286 148//285 156//295 155//9 -f 145//288 146//287 154//296 153//297 -f 155//9 156//295 164//298 163//299 -f 153//297 154//296 162//300 161//301 -f 151//13 152//292 160//302 159//303 -f 149//294 150//293 158//304 157//305 -f 156//295 149//294 157//305 164//298 -f 154//296 155//9 163//299 162//300 -f 152//292 153//297 161//301 160//302 -f 150//293 151//13 159//303 158//304 -f 33//1 34//306 166//306 165//1 -f 48//307 33//1 165//1 180//307 -f 41//2 42//308 174//308 173//2 -f 34//306 35//6 167//6 166//306 -f 42//308 43//8 175//8 174//308 -f 35//6 36//309 168//309 167//6 -f 43//8 44//310 176//310 175//8 -f 36//309 37//4 169//4 168//309 -f 44//310 45//3 177//3 176//310 -f 37//4 38//311 170//311 169//4 -f 45//3 46//312 178//312 177//3 -f 38//311 39//5 171//5 170//311 -f 46//312 47//7 179//7 178//312 -f 39//5 40//313 172//313 171//5 -f 47//7 48//307 180//307 179//7 -f 40//313 41//2 173//2 172//313 -f 185//314 184//315 193//316 192//317 -f 183//318 182//319 195//320 194//321 -f 181//322 188//323 189//324 196//325 -f 188//323 187//326 190//327 189//324 -f 186//328 185//314 192//317 191//329 -f 184//315 183//318 194//321 193//316 -f 182//319 181//322 196//325 195//320 -f 187//326 186//328 191//329 190//327 -f 196//325 189//324 197//330 204//331 -f 194//321 195//320 203//332 202//333 -f 192//317 193//316 201//334 200//335 -f 190//327 191//329 199//336 198//337 -f 195//320 196//325 204//331 203//332 -f 193//316 194//321 202//333 201//334 -f 191//329 192//317 200//335 199//336 -f 189//324 190//327 198//337 197//330 -f 199//336 200//335 208//293 207//13 -f 197//330 198//337 206//292 205//297 -f 204//331 197//330 205//297 212//296 -f 202//333 203//332 211//9 210//295 -f 200//335 201//334 209//294 208//293 -f 198//337 199//336 207//13 206//292 -f 203//332 204//331 212//296 211//9 -f 201//334 202//333 210//295 209//294 -f 211//9 212//296 220//338 219//339 -f 209//294 210//295 218//340 217//341 -f 207//13 208//293 216//342 215//343 -f 205//297 206//292 214//344 213//345 -f 212//296 205//297 213//345 220//338 -f 210//295 211//9 219//339 218//340 -f 208//293 209//294 217//341 216//342 -f 206//292 207//13 215//343 214//344 -f 225//346 224//347 233//348 232//349 -f 223//350 222//107 235//351 234//352 -f 221//353 228//354 229//355 236//356 -f 228//354 227//357 230//358 229//355 -f 226//108 225//346 232//349 231//359 -f 224//347 223//350 234//352 233//348 -f 222//107 221//353 236//356 235//351 -f 227//357 226//108 231//359 230//358 -f 236//356 229//355 237//360 244//361 -f 234//352 235//351 243//110 242//362 -f 232//349 233//348 241//363 240//364 -f 230//358 231//359 239//112 238//365 -f 235//351 236//356 244//361 243//110 -f 233//348 234//352 242//362 241//363 -f 231//359 232//349 240//364 239//112 -f 229//355 230//358 238//365 237//360 -f 239//112 240//364 248//366 247//13 -f 237//360 238//365 246//367 245//368 -f 244//361 237//360 245//368 252//369 -f 242//362 243//110 251//9 250//370 -f 240//364 241//363 249//371 248//366 -f 238//365 239//112 247//13 246//367 -f 243//110 244//361 252//369 251//9 -f 241//363 242//362 250//370 249//371 -f 251//9 252//369 260//372 259//373 -f 249//371 250//370 258//374 257//375 -f 247//13 248//366 256//376 255//377 -f 245//368 246//367 254//378 253//379 -f 252//369 245//368 253//379 260//372 -f 250//370 251//9 259//373 258//374 -f 248//366 249//371 257//375 256//376 -f 246//367 247//13 255//377 254//378 -f 265//380 264//381 273//382 272//383 -f 263//384 262//111 275//385 274//386 -f 261//387 268//388 269//389 276//390 -f 268//388 267//391 270//392 269//389 -f 266//109 265//380 272//383 271//393 -f 264//381 263//384 274//386 273//382 -f 262//111 261//387 276//390 275//385 -f 267//391 266//109 271//393 270//392 -f 276//390 269//389 277//394 284//395 -f 274//386 275//385 283//396 282//397 -f 272//383 273//382 281//398 280//399 -f 270//392 271//393 279//106 278//400 -f 275//385 276//390 284//395 283//396 -f 273//382 274//386 282//397 281//398 -f 271//393 272//383 280//399 279//106 -f 269//389 270//392 278//400 277//394 -f 279//106 280//399 288//367 287//13 -f 277//394 278//400 286//366 285//371 -f 284//395 277//394 285//371 292//370 -f 282//397 283//396 291//9 290//369 -f 280//399 281//398 289//368 288//367 -f 278//400 279//106 287//13 286//366 -f 283//396 284//395 292//370 291//9 -f 281//398 282//397 290//369 289//368 -f 291//9 292//370 300//401 299//402 -f 289//368 290//369 298//403 297//404 -f 287//13 288//367 296//405 295//406 -f 285//371 286//366 294//407 293//408 -f 292//370 285//371 293//408 300//401 -f 290//369 291//9 299//402 298//403 -f 288//367 289//368 297//404 296//405 -f 286//366 287//13 295//406 294//407 -f 305//409 304//410 313//411 312//412 -f 303//413 302//414 315//415 314//416 -f 301//417 308//418 309//419 316//420 -f 308//418 307//421 310//422 309//419 -f 306//423 305//409 312//412 311//424 -f 304//410 303//413 314//416 313//411 -f 302//414 301//417 316//420 315//415 -f 307//421 306//423 311//424 310//422 -f 316//420 309//419 317//425 324//426 -f 314//416 315//415 323//427 322//428 -f 312//412 313//411 321//429 320//430 -f 310//422 311//424 319//431 318//432 -f 315//415 316//420 324//426 323//427 -f 313//411 314//416 322//428 321//429 -f 311//424 312//412 320//430 319//431 -f 309//419 310//422 318//432 317//425 -f 319//431 320//430 328//433 327//13 -f 317//425 318//432 326//434 325//435 -f 324//426 317//425 325//435 332//436 -f 322//428 323//427 331//9 330//437 -f 320//430 321//429 329//438 328//433 -f 318//432 319//431 327//13 326//434 -f 323//427 324//426 332//436 331//9 -f 321//429 322//428 330//437 329//438 -f 331//9 332//436 340//439 339//440 -f 329//438 330//437 338//441 337//442 -f 327//13 328//433 336//443 335//444 -f 325//435 326//434 334//445 333//446 -f 332//436 325//435 333//446 340//439 -f 330//437 331//9 339//440 338//441 -f 328//433 329//438 337//442 336//443 -f 326//434 327//13 335//444 334//445 -f 345//447 344//448 353//449 352//450 -f 343//451 342//452 355//453 354//454 -f 341//455 348//456 349//457 356//458 -f 348//456 347//459 350//460 349//457 -f 346//461 345//447 352//450 351//462 -f 344//448 343//451 354//454 353//449 -f 342//452 341//455 356//458 355//453 -f 347//459 346//461 351//462 350//460 -f 356//458 349//457 357//463 364//464 -f 354//454 355//453 363//465 362//466 -f 352//450 353//449 361//467 360//468 -f 350//460 351//462 359//469 358//470 -f 355//453 356//458 364//464 363//465 -f 353//449 354//454 362//466 361//467 -f 351//462 352//450 360//468 359//469 -f 349//457 350//460 358//470 357//463 -f 359//469 360//468 368//434 367//13 -f 357//463 358//470 366//433 365//438 -f 364//464 357//463 365//438 372//437 -f 362//466 363//465 371//9 370//436 -f 360//468 361//467 369//435 368//434 -f 358//470 359//469 367//13 366//433 -f 363//465 364//464 372//437 371//9 -f 361//467 362//466 370//436 369//435 -f 371//9 372//437 380//471 379//472 -f 369//435 370//436 378//473 377//474 -f 367//13 368//434 376//475 375//476 -f 365//438 366//433 374//477 373//478 -f 372//437 365//438 373//478 380//471 -f 370//436 371//9 379//472 378//473 -f 368//434 369//435 377//474 376//475 -f 366//433 367//13 375//476 374//477 -f 385//479 384//480 393//481 392//482 -f 383//483 382//484 395//485 394//486 -f 381//487 388//488 389//489 396//490 -f 388//488 387//491 390//492 389//489 -f 386//493 385//479 392//482 391//494 -f 384//480 383//483 394//486 393//481 -f 382//484 381//487 396//490 395//485 -f 387//491 386//493 391//494 390//492 -f 396//490 389//489 397//495 404//496 -f 394//486 395//485 403//497 402//498 -f 392//482 393//481 401//499 400//500 -f 390//492 391//494 399//501 398//502 -f 395//485 396//490 404//496 403//497 -f 393//481 394//486 402//498 401//499 -f 391//494 392//482 400//500 399//501 -f 389//489 390//492 398//502 397//495 -f 399//501 400//500 408//503 407//13 -f 397//495 398//502 406//504 405//505 -f 404//496 397//495 405//505 412//506 -f 402//498 403//497 411//9 410//507 -f 400//500 401//499 409//508 408//503 -f 398//502 399//501 407//13 406//504 -f 403//497 404//496 412//506 411//9 -f 401//499 402//498 410//507 409//508 -f 411//9 412//506 420//509 419//510 -f 409//508 410//507 418//511 417//512 -f 407//13 408//503 416//513 415//514 -f 405//505 406//504 414//515 413//516 -f 412//506 405//505 413//516 420//509 -f 410//507 411//9 419//510 418//511 -f 408//503 409//508 417//512 416//513 -f 406//504 407//13 415//514 414//515 -f 425//517 424//518 433//519 432//520 -f 423//521 422//522 435//523 434//524 -f 421//525 428//526 429//527 436//528 -f 428//526 427//529 430//530 429//527 -f 426//531 425//517 432//520 431//532 -f 424//518 423//521 434//524 433//519 -f 422//522 421//525 436//528 435//523 -f 427//529 426//531 431//532 430//530 -f 436//528 429//527 437//533 444//534 -f 434//524 435//523 443//535 442//536 -f 432//520 433//519 441//537 440//538 -f 430//530 431//532 439//539 438//540 -f 435//523 436//528 444//534 443//535 -f 433//519 434//524 442//536 441//537 -f 431//532 432//520 440//538 439//539 -f 429//527 430//530 438//540 437//533 -f 439//539 440//538 448//504 447//13 -f 437//533 438//540 446//503 445//508 -f 444//534 437//533 445//508 452//507 -f 442//536 443//535 451//9 450//506 -f 440//538 441//537 449//505 448//504 -f 438//540 439//539 447//13 446//503 -f 443//535 444//534 452//507 451//9 -f 441//537 442//536 450//506 449//505 -f 451//9 452//507 460//541 459//542 -f 449//505 450//506 458//543 457//544 -f 447//13 448//504 456//545 455//546 -f 445//508 446//503 454//547 453//548 -f 452//507 445//508 453//548 460//541 -f 450//506 451//9 459//542 458//543 -f 448//504 449//505 457//544 456//545 -f 446//503 447//13 455//546 454//547 -f 469//307 470//549 467//549 468//307 -f 471//550 472//551 465//551 466//550 -f 473//313 474//552 463//552 464//313 -f 475//553 476//554 461//554 462//553 -f 470//549 471//550 466//550 467//549 -f 472//551 473//313 464//313 465//551 -f 474//552 475//553 462//553 463//552 -f 476//554 469//307 468//307 461//554 -f 491//552 492//313 501//313 508//552 -f 478//554 477//307 493//307 494//554 -f 490//553 491//552 508//552 507//553 -f 477//307 484//549 500//549 493//307 -f 489//554 490//553 507//553 506//554 -f 484//549 483//550 499//550 500//549 -f 488//307 489//554 506//554 505//307 -f 483//550 482//551 498//551 499//550 -f 479//553 478//554 494//554 495//553 -f 492//313 485//551 502//551 501//313 -f 480//552 479//553 495//553 496//552 -f 485//551 486//550 503//550 502//551 -f 481//313 480//552 496//552 497//313 -f 486//550 487//549 504//549 503//550 -f 482//551 481//313 497//313 498//551 -f 487//549 488//307 505//307 504//549 -f 517//313 518//555 515//555 516//313 -f 519//556 520//557 513//557 514//556 -f 521//307 522//558 511//558 512//307 -f 523//559 524//560 509//560 510//559 -f 518//555 519//556 514//556 515//555 -f 520//557 521//307 512//307 513//557 -f 522//558 523//559 510//559 511//558 -f 524//560 517//313 516//313 509//560 -f 539//558 540//307 549//307 556//558 -f 526//560 525//313 541//313 542//560 -f 538//559 539//558 556//558 555//559 -f 525//313 532//555 548//555 541//313 -f 537//560 538//559 555//559 554//560 -f 532//555 531//556 547//556 548//555 -f 536//313 537//560 554//560 553//313 -f 531//556 530//557 546//557 547//556 -f 527//559 526//560 542//560 543//559 -f 540//307 533//557 550//557 549//307 -f 528//558 527//559 543//559 544//558 -f 533//557 534//556 551//556 550//557 -f 529//307 528//558 544//558 545//307 -f 534//556 535//555 552//555 551//556 -f 530//557 529//307 545//307 546//557 -f 535//555 536//313 553//313 552//555 -f 565//310 566//561 563//561 564//310 -f 567//562 568//563 561//563 562//562 -f 569//309 570//564 559//564 560//309 -f 571//565 572//566 557//566 558//565 -f 566//561 567//562 562//562 563//561 -f 568//563 569//309 560//309 561//563 -f 570//564 571//565 558//565 559//564 -f 572//566 565//310 564//310 557//566 -f 587//564 588//309 597//309 604//564 -f 574//566 573//310 589//310 590//566 -f 586//565 587//564 604//564 603//565 -f 573//310 580//561 596//561 589//310 -f 585//566 586//565 603//565 602//566 -f 580//561 579//562 595//562 596//561 -f 584//310 585//566 602//566 601//310 -f 579//562 578//563 594//563 595//562 -f 575//565 574//566 590//566 591//565 -f 588//309 581//563 598//563 597//309 -f 576//564 575//565 591//565 592//564 -f 581//563 582//562 599//562 598//563 -f 577//309 576//564 592//564 593//309 -f 582//562 583//561 600//561 599//562 -f 578//563 577//309 593//309 594//563 -f 583//561 584//310 601//310 600//561 -f 613//309 614//567 611//567 612//309 -f 615//568 616//569 609//569 610//568 -f 617//310 618//570 607//570 608//310 -f 619//571 620//572 605//572 606//571 -f 614//567 615//568 610//568 611//567 -f 616//569 617//310 608//310 609//569 -f 618//570 619//571 606//571 607//570 -f 620//572 613//309 612//309 605//572 -f 635//570 636//310 645//310 652//570 -f 622//572 621//309 637//309 638//572 -f 634//571 635//570 652//570 651//571 -f 621//309 628//567 644//567 637//309 -f 633//572 634//571 651//571 650//572 -f 628//567 627//568 643//568 644//567 -f 632//309 633//572 650//572 649//309 -f 627//568 626//569 642//569 643//568 -f 623//571 622//572 638//572 639//571 -f 636//310 629//569 646//569 645//310 -f 624//570 623//571 639//571 640//570 -f 629//569 630//568 647//568 646//569 -f 625//310 624//570 640//570 641//310 -f 630//568 631//567 648//567 647//568 -f 626//569 625//310 641//310 642//569 -f 631//567 632//309 649//309 648//567 -f 661//312 662//573 659//573 660//312 -f 663//574 664//575 657//575 658//574 -f 665//311 666//576 655//576 656//311 -f 667//577 668//578 653//578 654//577 -f 662//573 663//574 658//574 659//573 -f 664//575 665//311 656//311 657//575 -f 666//576 667//577 654//577 655//576 -f 668//578 661//312 660//312 653//578 -f 683//576 684//311 693//311 700//576 -f 670//578 669//312 685//312 686//578 -f 682//577 683//576 700//576 699//577 -f 669//312 676//573 692//573 685//312 -f 681//578 682//577 699//577 698//578 -f 676//573 675//574 691//574 692//573 -f 680//312 681//578 698//578 697//312 -f 675//574 674//575 690//575 691//574 -f 671//577 670//578 686//578 687//577 -f 684//311 677//575 694//575 693//311 -f 672//576 671//577 687//577 688//576 -f 677//575 678//574 695//574 694//575 -f 673//311 672//576 688//576 689//311 -f 678//574 679//573 696//573 695//574 -f 674//575 673//311 689//311 690//575 -f 679//573 680//312 697//312 696//573 -f 709//311 710//579 707//579 708//311 -f 711//580 712//581 705//581 706//580 -f 713//312 714//582 703//582 704//312 -f 715//583 716//584 701//584 702//583 -f 710//579 711//580 706//580 707//579 -f 712//581 713//312 704//312 705//581 -f 714//582 715//583 702//583 703//582 -f 716//584 709//311 708//311 701//584 -f 731//582 732//312 741//312 748//582 -f 718//584 717//311 733//311 734//584 -f 730//583 731//582 748//582 747//583 -f 717//311 724//579 740//579 733//311 -f 729//584 730//583 747//583 746//584 -f 724//579 723//580 739//580 740//579 -f 728//311 729//584 746//584 745//311 -f 723//580 722//581 738//581 739//580 -f 719//583 718//584 734//584 735//583 -f 732//312 725//581 742//581 741//312 -f 720//582 719//583 735//583 736//582 -f 725//581 726//580 743//580 742//581 -f 721//312 720//582 736//582 737//312 -f 726//580 727//579 744//579 743//580 -f 722//581 721//312 737//312 738//581 -f 727//579 728//311 745//311 744//579 -f 757//308 758//585 755//585 756//308 -f 759//586 760//587 753//587 754//586 -f 761//306 762//588 751//588 752//306 -f 763//589 764//590 749//590 750//589 -f 758//585 759//586 754//586 755//585 -f 760//587 761//306 752//306 753//587 -f 762//588 763//589 750//589 751//588 -f 764//590 757//308 756//308 749//590 -f 779//588 780//306 789//306 796//588 -f 766//590 765//308 781//308 782//590 -f 778//589 779//588 796//588 795//589 -f 765//308 772//585 788//585 781//308 -f 777//590 778//589 795//589 794//590 -f 772//585 771//586 787//586 788//585 -f 776//308 777//590 794//590 793//308 -f 771//586 770//587 786//587 787//586 -f 767//589 766//590 782//590 783//589 -f 780//306 773//587 790//587 789//306 -f 768//588 767//589 783//589 784//588 -f 773//587 774//586 791//586 790//587 -f 769//306 768//588 784//588 785//306 -f 774//586 775//585 792//585 791//586 -f 770//587 769//306 785//306 786//587 -f 775//585 776//308 793//308 792//585 -f 805//306 806//591 803//591 804//306 -f 807//592 808//593 801//593 802//592 -f 809//308 810//594 799//594 800//308 -f 811//595 812//596 797//596 798//595 -f 806//591 807//592 802//592 803//591 -f 808//593 809//308 800//308 801//593 -f 810//594 811//595 798//595 799//594 -f 812//596 805//306 804//306 797//596 -f 827//594 828//308 837//308 844//594 -f 814//596 813//306 829//306 830//596 -f 826//595 827//594 844//594 843//595 -f 813//306 820//591 836//591 829//306 -f 825//596 826//595 843//595 842//596 -f 820//591 819//592 835//592 836//591 -f 824//306 825//596 842//596 841//306 -f 819//592 818//593 834//593 835//592 -f 815//595 814//596 830//596 831//595 -f 828//308 821//593 838//593 837//308 -f 816//594 815//595 831//595 832//594 -f 821//593 822//592 839//592 838//593 -f 817//308 816//594 832//594 833//308 -f 822//592 823//591 840//591 839//592 -f 818//593 817//308 833//308 834//593 -f 823//591 824//306 841//306 840//591 -f 175//597 176//598 984//598 983//597 -f 168//599 169//600 977//600 976//599 -f 176//598 177//601 985//601 984//598 -f 169//600 170//602 978//602 977//600 -f 177//601 178//603 986//603 985//601 -f 170//602 171//604 979//604 978//602 -f 178//603 179//605 987//605 986//603 -f 171//604 172//606 980//606 979//604 -f 179//605 180//607 988//607 987//605 -f 172//606 173//608 981//608 980//606 -f 165//609 166//610 974//610 973//609 -f 180//607 165//609 973//609 988//607 -f 173//608 174//611 982//611 981//608 -f 166//610 167//612 975//612 974//610 -f 174//611 175//597 983//597 982//611 -f 167//612 168//599 976//599 975//612 -f 996//311 989//313 997//313 1004//311 -f 994//306 995//309 1003//309 1002//306 -f 992//312 993//307 1001//307 1000//312 -f 990//308 991//310 999//310 998//308 -f 995//309 996//311 1004//311 1003//309 -f 993//307 994//306 1002//306 1001//307 -f 991//310 992//312 1000//312 999//310 -f 989//313 990//308 998//308 997//313 -f 1020//311 1013//313 1030//313 1036//311 -f 1006//306 1005//307 1022//307 1021//306 -f 1005//307 1012//312 1028//312 1022//307 -f 1019//309 1020//311 1036//311 1035//309 -f 1012//312 1011//310 1027//310 1028//312 -f 1018//306 1019//309 1035//309 1034//306 -f 1011//310 1010//308 1026//308 1027//310 -f 1017//307 1018//306 1034//306 1033//307 -f 1013//313 1014//308 1029//308 1030//313 -f 1007//309 1006//306 1021//306 1023//309 -f 1014//308 1015//310 1031//310 1029//308 -f 1008//311 1007//309 1023//309 1024//311 -f 1015//310 1016//312 1032//312 1031//310 -f 1009//313 1008//311 1024//311 1025//313 -f 1016//312 1017//307 1033//307 1032//312 -f 1010//308 1009//313 1025//313 1026//308 -f 1045//1 1044//307 1060//307 1061//1 -f 1038//308 1037//2 1053//2 1054//308 -f 1037//2 1052//313 1068//313 1053//2 -f 1046//306 1045//1 1061//1 1062//306 -f 1039//8 1038//308 1054//308 1055//8 -f 1047//6 1046//306 1062//306 1063//6 -f 1040//310 1039//8 1055//8 1056//310 -f 1048//309 1047//6 1063//6 1064//309 -f 1041//3 1040//310 1056//310 1057//3 -f 1049//4 1048//309 1064//309 1065//4 -f 1042//312 1041//3 1057//3 1058//312 -f 1050//311 1049//4 1065//4 1066//311 -f 1043//7 1042//312 1058//312 1059//7 -f 1051//5 1050//311 1066//311 1067//5 -f 1044//307 1043//7 1059//7 1060//307 -f 1052//313 1051//5 1067//5 1068//313 -f 1291//147 1290//133 1299//133 1300//147 -f 1288//3 1287//613 1296//613 1297//3 -f 1311//614 1306//614 1310//615 1315//615 -f 1292//616 1291//147 1300//147 1301//616 -f 1289//617 1288//3 1297//3 1298//617 -f 1315//615 1310//615 1309//618 1314//618 -f 1286//619 1285//620 1295//620 1294//619 -f 1293//621 1292//616 1301//616 1302//621 -f 1290//133 1289//617 1298//617 1299//133 -f 1314//618 1309//618 1308//4 1313//4 -f 1287//613 1286//619 1294//619 1296//613 -f 1307//622 1312//622 1313//4 1308//4 -f 1322//115 1323//615 1335//615 1334//115 -f 1319//3 1320//613 1332//613 1331//3 -f 1326//623 1327//616 1339//616 1338//623 -f 1316//147 1317//133 1329//133 1328//147 -f 1323//615 1324//618 1336//618 1335//615 -f 1320//613 1321//619 1333//619 1332//613 -f 1327//616 1316//147 1328//147 1339//616 -f 1317//133 1318//617 1330//617 1329//133 -f 1324//618 1325//4 1337//4 1336//618 -f 1321//619 1322//115 1334//115 1333//619 -f 1318//617 1319//3 1331//3 1330//617 -f 1325//4 1326//623 1338//623 1337//4 -f 1357//624 1358//625 1446//626 1447//627 -f 1445//628 1444//629 1449//630 1450//631 -f 1366//632 1373//633 1372//634 1365//635 -f 1360//636 1368//637 1367//638 1359//639 -f 1359//639 1367//638 1373//633 1366//632 -f 1361//640 1369//641 1368//637 1360//636 -f 1367//638 1374//465 1380//642 1373//633 -f 1369//641 1376//643 1375//644 1368//637 -f 1373//633 1380//642 1379//645 1372//634 -f 1368//637 1375//644 1374//465 1367//638 -f 1388//632 1395//633 1394//634 1387//635 -f 1382//636 1390//637 1389//638 1381//639 -f 1381//639 1389//638 1395//633 1388//632 -f 1383//640 1391//641 1390//637 1382//636 -f 1389//638 1396//465 1402//642 1395//633 -f 1391//641 1398//643 1397//644 1390//637 -f 1395//633 1402//642 1401//645 1394//634 -f 1390//637 1397//644 1396//465 1389//638 -f 1410//632 1417//633 1416//634 1409//635 -f 1404//636 1412//637 1411//638 1403//639 -f 1403//639 1411//638 1417//633 1410//632 -f 1405//640 1413//641 1412//637 1404//636 -f 1411//638 1418//465 1424//642 1417//633 -f 1413//641 1420//643 1419//644 1412//637 -f 1417//633 1424//642 1423//645 1416//634 -f 1412//637 1419//644 1418//465 1411//638 -f 1366//632 1365//635 1428//313 1429//2 -f 1388//632 1387//635 1433//313 1434//2 -f 1359//639 1366//632 1429//2 1425//8 -f 1360//636 1359//639 1425//8 1426//3 -f 1410//632 1409//635 1438//313 1439//2 -f 1381//639 1388//632 1434//2 1430//8 -f 1361//640 1360//636 1426//3 1427//312 -f 1382//636 1381//639 1430//8 1431//3 -f 1403//639 1410//632 1439//2 1435//8 -f 1404//636 1403//639 1435//8 1436//3 -f 1383//640 1382//636 1431//3 1432//312 -f 1405//640 1404//636 1436//3 1437//312 -f 1358//625 1445//628 1450//631 1446//626 -f 1356//646 1357//624 1447//627 1448//647 -f 1446//626 1450//631 1456//648 1451//535 -f 1448//647 1447//627 1452//649 1453//650 -f 1450//631 1449//630 1455//651 1456//648 -f 1447//627 1446//626 1451//535 1452//649 -f 1464//628 1463//629 1470//630 1471//631 -f 1458//624 1457//625 1465//626 1466//627 -f 1457//625 1464//628 1471//631 1465//626 -f 1459//646 1458//624 1466//627 1467//647 -f 1465//626 1471//631 1478//648 1472//535 -f 1467//647 1466//627 1473//649 1474//650 -f 1471//631 1470//630 1477//651 1478//648 -f 1466//627 1465//626 1472//535 1473//649 -f 1486//628 1485//629 1492//630 1493//631 -f 1480//624 1479//625 1487//626 1488//627 -f 1479//625 1486//628 1493//631 1487//626 -f 1481//646 1480//624 1488//627 1489//647 -f 1487//626 1493//631 1500//648 1494//535 -f 1489//647 1488//627 1495//649 1496//650 -f 1493//631 1492//630 1499//651 1500//648 -f 1488//627 1487//626 1494//535 1495//649 -f 1445//628 1505//2 1504//308 1444//629 -f 1464//628 1510//2 1509//308 1463//629 -f 1358//625 1501//5 1505//2 1445//628 -f 1357//624 1502//4 1501//5 1358//625 -f 1486//628 1515//2 1514//308 1485//629 -f 1457//625 1506//5 1510//2 1464//628 -f 1356//646 1503//309 1502//4 1357//624 -f 1458//624 1507//4 1506//5 1457//625 -f 1479//625 1511//5 1515//2 1486//628 -f 1480//624 1512//4 1511//5 1479//625 -f 1459//646 1508//309 1507//4 1458//624 -f 1481//646 1513//309 1512//4 1480//624 +f 23//64 22//65 608//65 609//64 +f 20//66 23//64 609//64 610//66 +f 21//67 20//66 610//66 611//67 +f 17//68 21//67 611//67 612//68 +f 18//69 17//68 612//68 613//69 +f 19//70 18//69 613//69 614//70 +f 32//71 19//70 614//70 615//71 +f 30//72 32//71 615//71 616//72 +f 31//73 30//72 616//72 617//73 +f 28//74 31//73 617//73 618//74 +f 29//75 28//74 618//74 619//75 +f 26//76 29//75 619//75 620//76 +f 27//77 26//76 620//76 621//77 +f 24//78 27//77 621//77 622//78 +f 25//79 24//78 622//78 623//79 +f 22//65 25//79 623//79 608//65 +f 609//1 608//80 624//80 625//1 +f 610//81 609//1 625//1 626//81 +f 617//2 616//82 627//82 628//2 +f 608//80 623//6 629//6 624//80 +f 616//82 615//8 630//8 627//82 +f 623//6 622//83 631//83 629//6 +f 615//8 614//84 632//84 630//8 +f 622//83 621//4 633//4 631//83 +f 614//84 613//3 634//3 632//84 +f 621//4 620//85 635//85 633//4 +f 613//3 612//86 636//86 634//3 +f 620//85 619//5 637//5 635//85 +f 612//86 611//7 638//7 636//86 +f 619//5 618//87 639//87 637//5 +f 611//7 610//81 626//81 638//7 +f 618//87 617//2 628//2 639//87 +f 640//88 641//89 642//90 643//91 +f 644//92 645//28 646//93 647//94 +f 648//95 649//96 650//97 651//98 +f 649//96 652//99 653//100 650//97 +f 654//26 640//88 643//91 655//101 +f 641//89 644//92 647//94 642//90 +f 645//28 648//95 651//98 646//93 +f 652//99 654//26 655//101 653//100 +f 651//98 650//97 656//102 657//103 +f 647//94 646//93 658//104 659//105 +f 643//91 642//90 660//106 661//107 +f 653//100 655//101 662//23 663//108 +f 646//93 651//98 657//103 658//104 +f 642//90 647//94 659//105 660//106 +f 655//101 643//91 661//107 662//23 +f 650//97 653//100 663//108 656//102 +f 662//23 661//107 664//109 665//13 +f 656//102 663//108 666//110 667//111 +f 657//103 656//102 667//111 668//112 +f 659//105 658//104 669//9 670//113 +f 661//107 660//106 671//114 664//109 +f 663//108 662//23 665//13 666//110 +f 658//104 657//103 668//112 669//9 +f 660//106 659//105 670//113 671//114 +f 669//9 668//112 672//115 673//116 +f 671//114 670//113 674//117 675//118 +f 665//13 664//109 676//119 677//120 +f 667//111 666//110 678//121 679//122 +f 668//112 667//111 679//122 672//115 +f 670//113 669//9 673//116 674//117 +f 664//109 671//114 675//118 676//119 +f 666//110 665//13 677//120 678//121 +f 680//83 681//123 119//123 116//83 +f 682//124 683//125 107//125 121//124 +f 684//84 685//126 111//126 108//84 +f 686//127 687//128 115//128 112//127 +f 681//123 682//124 121//124 119//123 +f 683//125 684//84 108//84 107//125 +f 685//126 686//127 112//127 111//126 +f 687//128 680//83 116//83 115//128 +f 124//126 123//84 133//84 136//126 +f 118//128 117//83 132//83 131//128 +f 125//127 124//126 136//126 138//127 +f 117//83 120//123 135//123 132//83 +f 126//128 125//127 138//127 140//128 +f 120//123 122//124 137//124 135//123 +f 127//83 126//128 140//128 142//83 +f 122//124 110//125 139//125 137//124 +f 113//127 118//128 131//128 145//127 +f 123//84 130//125 134//125 133//84 +f 114//126 113//127 145//127 143//126 +f 130//125 129//124 146//124 134//125 +f 109//84 114//126 143//126 141//84 +f 129//124 128//123 144//123 146//124 +f 110//125 109//84 141//84 139//125 +f 128//123 127//83 142//83 144//123 +f 630//129 632//130 205//130 204//129 +f 631//131 633//132 198//132 197//131 +f 632//130 634//133 206//133 205//130 +f 633//132 635//134 199//134 198//132 +f 634//133 636//135 207//135 206//133 +f 635//134 637//136 200//136 199//134 +f 636//135 638//137 208//137 207//135 +f 637//136 639//138 201//138 200//136 +f 638//137 626//139 209//139 208//137 +f 639//138 628//140 202//140 201//138 +f 625//141 624//142 195//142 210//141 +f 626//139 625//141 210//141 209//139 +f 628//140 627//143 203//143 202//140 +f 624//142 629//144 196//144 195//142 +f 627//143 630//129 204//129 203//143 +f 629//144 631//131 197//131 196//144 +f 688//85 689//87 156//87 155//85 +f 690//80 691//83 167//83 169//80 +f 692//86 693//81 171//81 173//86 +f 694//82 695//84 175//84 177//82 +f 691//83 688//85 155//85 167//83 +f 693//81 690//80 169//80 171//81 +f 695//84 692//86 173//86 175//84 +f 689//87 694//82 177//82 156//87 +f 158//85 157//87 181//87 180//85 +f 159//80 166//81 182//81 193//80 +f 166//81 165//86 179//86 182//81 +f 168//83 158//85 180//85 184//83 +f 165//86 164//84 183//84 179//86 +f 170//80 168//83 184//83 186//80 +f 164//84 163//82 185//82 183//84 +f 172//81 170//80 186//80 188//81 +f 157//87 178//82 194//82 181//87 +f 160//83 159//80 193//80 191//83 +f 178//82 176//84 192//84 194//82 +f 161//85 160//83 191//83 189//85 +f 176//84 174//86 190//86 192//84 +f 162//87 161//85 189//85 187//87 +f 174//86 172//81 188//81 190//86 +f 163//82 162//87 187//87 185//82 +f 219//1 218//81 239//81 238//1 +f 224//82 226//2 230//2 229//82 +f 226//2 213//87 231//87 230//2 +f 216//80 219//1 238//1 237//80 +f 225//8 224//82 229//82 244//8 +f 217//6 216//80 237//80 236//6 +f 222//84 225//8 244//8 243//84 +f 214//83 217//6 236//6 235//83 +f 223//3 222//84 243//84 242//3 +f 215//4 214//83 235//83 234//4 +f 220//86 223//3 242//3 241//86 +f 211//85 215//4 234//4 233//85 +f 221//7 220//86 241//86 240//7 +f 212//5 211//85 233//85 232//5 +f 218//81 221//7 240//7 239//81 +f 213//87 212//5 232//5 231//87 +f 696//145 697//50 465//50 464//145 +f 698//3 699//146 468//146 467//3 +f 471//147 470//147 479//148 477//148 +f 700//149 696//145 464//145 463//149 +f 701//150 698//3 467//3 466//150 +f 477//148 479//148 478//151 476//151 +f 702//152 469//153 458//153 457//152 +f 473//154 700//149 463//149 462//154 +f 697//50 701//150 466//150 465//50 +f 476//151 478//151 703//4 475//4 +f 699//146 702//152 457//152 468//146 +f 472//155 474//155 475//4 703//4 +f 704//32 705//148 486//148 485//32 +f 706//3 707//146 483//146 482//3 +f 708//156 709//149 490//149 489//156 +f 710//145 711//50 480//50 491//145 +f 705//148 712//151 487//151 486//148 +f 707//146 713//152 484//152 483//146 +f 709//149 710//145 491//145 490//149 +f 711//50 714//150 481//150 480//50 +f 712//151 715//4 488//4 487//151 +f 713//152 704//32 485//32 484//152 +f 714//150 706//3 482//3 481//150 +f 715//4 708//156 489//156 488//4 +f 716//157 717//158 718//159 719//160 +f 720//161 721//162 722//163 723//164 +f 724//165 725//166 726//167 727//168 +f 728//169 729//170 730//171 731//172 +f 731//172 730//171 725//166 724//165 +f 732//173 733//174 729//170 728//169 +f 730//171 734//175 735//176 725//166 +f 733//174 736//177 737//178 729//170 +f 725//166 735//176 738//179 726//167 +f 729//170 737//178 734//175 730//171 +f 739//165 740//166 741//167 742//168 +f 743//169 744//170 745//171 746//172 +f 746//172 745//171 740//166 739//165 +f 747//173 748//174 744//170 743//169 +f 745//171 749//175 750//176 740//166 +f 748//174 751//177 752//178 744//170 +f 740//166 750//176 753//179 741//167 +f 744//170 752//178 749//175 745//171 +f 754//165 755//166 756//167 757//168 +f 758//169 759//180 760//171 761//172 +f 761//172 760//171 755//166 754//165 +f 762//173 763//174 759//180 758//169 +f 760//171 764//175 765//176 755//166 +f 763//174 766//177 767//178 759//180 +f 755//166 765//176 768//179 756//167 +f 759//180 767//178 764//175 760//171 +f 724//165 727//168 769//87 770//2 +f 739//165 742//168 771//87 772//2 +f 731//172 724//165 770//2 773//8 +f 728//169 731//172 773//8 774//3 +f 754//165 757//168 775//87 776//2 +f 746//172 739//165 772//2 777//8 +f 732//173 728//169 774//3 778//86 +f 743//169 746//172 777//8 779//3 +f 761//172 754//165 776//2 780//8 +f 758//169 761//172 780//8 781//3 +f 747//173 743//169 779//3 782//86 +f 762//173 758//169 781//3 783//86 +f 717//158 720//161 723//164 718//159 +f 784//181 716//157 719//160 785//182 +f 718//159 723//164 786//183 787//184 +f 785//182 719//160 788//185 789//186 +f 723//164 722//163 790//187 786//183 +f 719//160 718//159 787//184 788//185 +f 791//161 792//162 793//163 794//188 +f 795//157 796//158 797//159 798//160 +f 796//158 791//161 794//188 797//159 +f 799//181 795//157 798//160 800//182 +f 797//159 794//188 801//183 802//184 +f 800//182 798//160 803//185 804//186 +f 794//188 793//163 805//187 801//183 +f 798//160 797//159 802//184 803//185 +f 806//161 807//162 808//163 809//164 +f 810//157 811//158 812//159 813//189 +f 811//158 806//161 809//164 812//159 +f 814//181 810//157 813//189 815//182 +f 812//159 809//164 816//183 817//184 +f 815//182 813//189 818//185 819//186 +f 809//164 808//163 820//187 816//183 +f 813//189 812//159 817//184 818//185 +f 720//161 821//2 822//82 721//162 +f 791//161 823//2 824//82 792//162 +f 717//158 825//5 821//2 720//161 +f 716//157 826//4 825//5 717//158 +f 806//161 827//2 828//82 807//162 +f 796//158 829//5 823//2 791//161 +f 784//181 830//83 826//4 716//157 +f 795//157 831//4 829//5 796//158 +f 811//158 832//5 827//2 806//161 +f 810//157 833//4 832//5 811//158 +f 799//181 834//83 831//4 795//157 +f 814//181 835//83 833//4 810//157 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon.png new file mode 100644 index 0000000000000000000000000000000000000000..8a5fb8d117c6e8e91287724f110a2b25ac19f5ac GIT binary patch literal 2251 zcmV;+2sHPJP)uA_pq|0*H*DpRfXq&U?W`_#@_&>4WAn}e48 za-dV`$S=_#Vgb;6BG%-+72@-|=B{gxdZ8%RwEz0JnqlSy0Nh6&Yb@lciS`g(!xy?R zn1ioV@P~keLL>k|jy{BdD!P?a1CwR7g3*nDocy-4}{(_T?f%2-7`@E(Hlu$wO~kG<~A_ zmzuT%N+8JC*QQz3c5&J~hCV#Ab6Cb9ql75Nru*zWCjGH_Pen5;0RpT-^u$%gr<*&y zukEB=wJ~Ju)2F(}q(3(AF<@ow5YQH&WnuE|ssSkXE9tFL_;fZQ3ZY}W2|gE8zd$-I zldaVBjhKEE-isdXMA}mIBTGM>kL)xM$RIY(;p@O5cy@DQ5aKDHqM=U9B|J&=h{bel` zfnS1&dkB?uK4_u?ywRnJ4nlN*HeziNgveEWb`|Pt-`W<=^UnCPEB`82!c&hgPjyO2c<(Si!`3S{I-W%2~d~+k& z*qIU(pj#6GU(MYlU86lz*33}2M4%u9KS>Apq11>~gr*P_o&EOLTpS%8RqN;T zxwxi(tM)E5(Nr{0&M1r!KY4VPQWM$hfBn&_M;=g5WUBQfZ%9lWK|-|IY?x`zHuSV= zcWI(GT+Z;ZDwSc%sc@OhT`}{;zgUQS2s)Qqn9c$Ihmg}EKO?#PJmHYj0BJuxEfN-; z2_ZJkZt}*JPyDsAnB_th)V=X#cHjthsktWa6Xi5^rVkcxbykoSsG7jLT$W!DidRUf zG*GJq^`8_}r;RWnvduSC6r%Dyh&pChv(I=&W_x8ntkQ($M_iomWOd|;d`dKQQ$}Y1 zzoOcdJtNQ-%$efRSp(!iY>oEf@1k<1IRLC>E6LbdYPh}tl;VYfuJJO{WE{sIDjFdJ z#iKzA4$~)8&vKHhF2Oc6QK&F)^M;Vo4jo`+09)oENG;zpjS$&BEK?LBbi&XvHPKK3 zD&O)H%A}Pu*^0`fJvLZA>5%1nXX^D_J&hpOZyG|WZ&%6Bo12@q;OaHjt~?Pn+sB`3 z0g^sZA#|T;NQln>rrsW<^ZGo^H%c3IM<;u8c&!Bk=bC-U8rdbSkybpqr~} zH5FZ|gl1QN)lYpAVrN*Bb@jN>*+n@A_1obevoo{eYMt`GHk`M%=ZY?8y70_x`Sy#! zLUPDL1T}1utCnhQ`UTZTcrVC{Au`%`<%#_F!%=gCo{Iv+(T5K{0ld7BV`eYGm|A+%<(yR$c*cAxA`|4~6Ricr zI`9ZV(V5ExVnNb=b}b!vAmD+6oroK8&A?^_glt1xGcMZzzWwtC?d^Gwy2toLF@ Date: Sat, 20 May 2023 23:30:13 +0200 Subject: [PATCH 104/285] black lung balance, tram tooltip --- .../pile/BlockGraphiteDrilledBase.java | 1 - .../com/hbm/entity/train/TrainCargoTram.java | 3 -- .../java/com/hbm/extprop/HbmLivingProps.java | 2 +- .../com/hbm/handler/EntityEffectHandler.java | 2 +- .../java/com/hbm/handler/HTTPHandler.java | 25 ++++++++----- .../java/com/hbm/items/special/ItemTrain.java | 35 +++++++++++++++++- .../hbm/textures/models/weapons/ipleaker.png | Bin 0 -> 1025 bytes 7 files changed, 51 insertions(+), 17 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/ipleaker.png diff --git a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java index 00b520a54..58ec7bce2 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphiteDrilledBase.java @@ -133,7 +133,6 @@ public abstract class BlockGraphiteDrilledBase extends BlockFlammable implements if(item == ModItems.pile_rod_lithium) return new MetaBlock(ModBlocks.block_graphite_lithium); if(item == ModItems.cell_tritium) return new MetaBlock(ModBlocks.block_graphite_tritium); if(item == ModItems.pile_rod_detector) return new MetaBlock(ModBlocks.block_graphite_detector); - if(item == ModItems.ingot_graphite) return new MetaBlock(ModBlocks.block_graphite); return null; } diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index 8e5d7990f..e0d1aaa2a 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -1,7 +1,5 @@ package com.hbm.entity.train; -import java.util.Arrays; - import org.lwjgl.opengl.GL11; import com.hbm.blocks.rail.IRailNTM.TrackGauge; @@ -21,7 +19,6 @@ import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; import net.minecraft.world.World; diff --git a/src/main/java/com/hbm/extprop/HbmLivingProps.java b/src/main/java/com/hbm/extprop/HbmLivingProps.java index 73d5957af..da9d1d0c6 100644 --- a/src/main/java/com/hbm/extprop/HbmLivingProps.java +++ b/src/main/java/com/hbm/extprop/HbmLivingProps.java @@ -40,7 +40,7 @@ public class HbmLivingProps implements IExtendedEntityProperties { private int asbestos; public static final int maxAsbestos = 60 * 60 * 20; private int blacklung; - public static final int maxBlacklung = 60 * 60 * 20; + public static final int maxBlacklung = 2 * 60 * 60 * 20; private float radEnv; private float radBuf; private int bombTimer; diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index 845bbd9a6..2ccce3b4a 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -359,7 +359,7 @@ public class EntityEffectHandler { int bl = HbmLivingProps.getBlackLung(entity); - if(bl > 0 && bl < HbmLivingProps.maxBlacklung * 0.25) + if(bl > 0 && bl < HbmLivingProps.maxBlacklung * 0.5) HbmLivingProps.setBlackLung(entity, HbmLivingProps.getBlackLung(entity) - 1); } diff --git a/src/main/java/com/hbm/handler/HTTPHandler.java b/src/main/java/com/hbm/handler/HTTPHandler.java index e12832267..4efc054f4 100644 --- a/src/main/java/com/hbm/handler/HTTPHandler.java +++ b/src/main/java/com/hbm/handler/HTTPHandler.java @@ -17,15 +17,22 @@ public class HTTPHandler { public static String versionNumber = ""; public static void loadStats() { - - try { - - loadVersion(); - loadSoyuz(); - - } catch(IOException e) { - MainRegistry.logger.warn("Version checker failed!"); - } + + Thread versionChecker = new Thread("NTM Version Checker") { + + @Override + public void run() { + try { + loadVersion(); + loadSoyuz(); + } catch(IOException e) { + MainRegistry.logger.warn("Version checker failed!"); + } + } + + }; + + versionChecker.start(); } private static void loadVersion() throws IOException { diff --git a/src/main/java/com/hbm/items/special/ItemTrain.java b/src/main/java/com/hbm/items/special/ItemTrain.java index 9c5e65062..1a2648d38 100644 --- a/src/main/java/com/hbm/items/special/ItemTrain.java +++ b/src/main/java/com/hbm/items/special/ItemTrain.java @@ -1,5 +1,7 @@ package com.hbm.items.special; +import java.util.List; + import com.hbm.blocks.rail.IRailNTM; import com.hbm.entity.train.EntityRailCarBase; import com.hbm.entity.train.TrainCargoTram; @@ -7,23 +9,52 @@ import com.hbm.items.ItemEnumMulti; import com.hbm.util.EnumUtil; 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; import net.minecraft.world.World; public class ItemTrain extends ItemEnumMulti { public ItemTrain() { super(EnumTrainType.class, true, true); + this.setCreativeTab(CreativeTabs.tabTransport); + this.setMaxStackSize(1); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { + EnumTrainType train = EnumUtil.grabEnumSafely(this.theEnum, stack.getItemDamage()); + + list.add(EnumChatFormatting.GREEN + "Engine: " + EnumChatFormatting.RESET + train.engine); + list.add(EnumChatFormatting.GREEN + "Gauge: " + EnumChatFormatting.RESET + train.gauge); + list.add(EnumChatFormatting.GREEN + "Max Speed: " + EnumChatFormatting.RESET + train.maxSpeed); + list.add(EnumChatFormatting.GREEN + "Acceleration: " + EnumChatFormatting.RESET + train.acceleration); + list.add(EnumChatFormatting.GREEN + "Engine Brake Threshold: " + EnumChatFormatting.RESET + train.brakeThreshold); + list.add(EnumChatFormatting.GREEN + "Parking Brake: " + EnumChatFormatting.RESET + train.parkingBrake); } public static enum EnumTrainType { - CARGO_TRAM(TrainCargoTram.class); + // Engine Gauge Max Speed Accel. Eng. Brake Parking Brake + CARGO_TRAM(TrainCargoTram.class, "Electric", "Standard Gauge", "10m/s", "0.2m/s", "<1m/s", "Yes"); public Class train; - private EnumTrainType(Class train) { + public String engine; + public String maxSpeed; + public String acceleration; + public String brakeThreshold; + public String parkingBrake; + public String gauge; + private EnumTrainType(Class train, String engine, String gauge, String maxSpeed, String acceleration, String brakeThreshold, String parkingBrake) { this.train = train; + this.engine = engine; + this.maxSpeed = maxSpeed; + this.acceleration = acceleration; + this.brakeThreshold = brakeThreshold; + this.parkingBrake = parkingBrake; + this.gauge = gauge; } } diff --git a/src/main/resources/assets/hbm/textures/models/weapons/ipleaker.png b/src/main/resources/assets/hbm/textures/models/weapons/ipleaker.png new file mode 100644 index 0000000000000000000000000000000000000000..ca0c368899e944b83f769574381aada5876f3a4d GIT binary patch literal 1025 zcmV+c1pfPpP)zfK!59LImDs%wMz6DbW6AzdR?Vnk7gPAq)@-hl_;B`SvU z0DXXN89T6Ks5+qx87d*MRskt#rTkMPZn+NB$zg1teZD`w-1oBt?i|jD4`177`%)p0 zD!tBO;BD`cx3fpDcJ`i~f0$2+h=k{o}41w=##jrFnnG12iUS#>v%sGtx)R8R;YDkuaH6%+!9>L7n^e=1-3ugd^N z{f@y4D3Z0_K6>`G3BAr?AUf{yL;yr}jIe|<;tE=1(DZ{s08t&L-adMgoc#A?0-}OK zfIh0D)Z0hWfmIn(6{0!{8!+**vST)~p8E}|)oL`EOlU9|I6Kl015q7=Pfd}KVS(ca z%OtJUY8Evm`f>7Zb(`x$?!kvs0%QEeOnUBhO4o#_$zz;QStCkB6Ig#VJQd5PU;8Qj z{ty);3cr$n_&phM3vp|rU_AN5^g4&++Ah@XgSS>cYjOW8p<3yKLcH`- ze!uJZlq$WB`-3Y}@(>-Osu3otF8wYAE+(oiZ_cia%K!fI(fXPYRSgnV0N>S#^qr~>Xr(PfNNHv)*NCYL^{ z&N99{_e~`&p$-sLP3DPevJE<}tZb5@NI+CInI|g06*`TD)4rvsX!_kFw?3*!Qley< zeAVhF9r9@UG3r;7+o+!jDcXfvwx^^JAyK2)$Wi~f--s@x;M-^zSq4piw&Xf9CEJB+ z%cVCqD$hUar@5c~KOaO@vyq9)!>@+2?ZfiijqImUA*!0p6E(cMRFogVBi15VL@hD?d@4;<(`i=rQJTu@StKz;Eh+wDw(6(K7OBJ$D=G1LAZp2B0_lwQ^8})n vnD8Bdu%I?gbXuZARFKFh{^WX?>MYzpUvvEnX6F Date: Sun, 21 May 2023 19:44:35 +0200 Subject: [PATCH 105/285] new concrete, sound fixes, additions, slag tap --- gradle.properties | 2 +- src/main/java/com/hbm/blocks/ModBlocks.java | 17 + .../generic/BlockConcreteColoredExt.java | 35 + .../hbm/blocks/generic/BlockDynamicSlag.java | 278 ++ .../hbm/blocks/machine/FoundryChannel.java | 2 +- .../com/hbm/blocks/machine/FoundryOutlet.java | 4 +- .../hbm/blocks/machine/FoundrySlagtap.java | 35 + .../java/com/hbm/blocks/rail/IRailNTM.java | 3 +- .../com/hbm/blocks/rail/RailNarrowCurve.java | 144 + .../hbm/blocks/rail/RailNarrowStraight.java | 115 + .../hbm/blocks/rail/RailStandardCurve.java | 9 +- .../hbm/blocks/rail/RailStandardStraight.java | 7 +- .../com/hbm/inventory/OreDictManager.java | 1 + .../inventory/recipes/ChemplantRecipes.java | 13 +- .../com/hbm/items/special/ItemAutogen.java | 2 +- .../com/hbm/items/weapon/ItemGunGauss.java | 4 +- src/main/java/com/hbm/lib/RefStrings.java | 2 +- src/main/java/com/hbm/main/ClientProxy.java | 15 +- .../java/com/hbm/main/CraftingManager.java | 11 +- .../java/com/hbm/main/ResourceManager.java | 4 +- src/main/java/com/hbm/main/ServerProxy.java | 3 +- .../hbm/render/block/RenderFoundryOutlet.java | 20 +- .../render/block/RenderNarrowCurveRail.java | 69 + .../block/RenderNarrowStraightRail.java | 62 + .../icon/TextureAtlasSpriteMutatable.java | 3 +- .../hbm/render/item/ItemRenderLibrary.java | 2 + .../render/tileentity/RenderChemplant.java | 2 + .../render/tileentity/RenderMicrowave.java | 41 +- src/main/java/com/hbm/sound/AudioDynamic.java | 44 +- src/main/java/com/hbm/sound/AudioWrapper.java | 9 +- .../com/hbm/sound/AudioWrapperClient.java | 18 + .../sound/AudioWrapperClientStartStop.java | 1 + .../hbm/tileentity/TileEntityLoadedBase.java | 11 + .../hbm/tileentity/TileEntityMachineBase.java | 10 - .../java/com/hbm/tileentity/TileMappings.java | 3 + .../machine/TileEntityFoundrySlagtap.java | 115 + .../machine/TileEntityHeatBoiler.java | 64 +- .../machine/TileEntityHeaterElectric.java | 56 +- .../machine/TileEntityMachineAssembler.java | 2 +- .../machine/TileEntityMachineCentrifuge.java | 8 +- .../machine/TileEntityMachineChemplant.java | 8 +- .../TileEntityMachineCombustionEngine.java | 2 +- ...eEntityMachineSchrabidiumTransmutator.java | 2 +- .../machine/TileEntityMachineTurbineGas.java | 4 +- .../machine/TileEntityMachineTurbofan.java | 2 +- .../machine/TileEntitySoyuzLauncher.java | 2 +- .../oil/TileEntityMachineRefinery.java | 60 + .../oil/TileEntityMachineVacuumDistill.java | 62 +- src/main/java/com/hbm/util/Compat.java | 29 +- src/main/resources/assets/hbm/lang/de_DE.lang | 37 +- src/main/resources/assets/hbm/lang/en_US.lang | 7 + .../assets/hbm/models/blocks/rail_narrow.obj | 314 ++ .../hbm/models/blocks/rail_narrow_bend.obj | 681 +++++ .../assets/hbm/models/chemplant_new_body.obj | 1457 +++++---- .../assets/hbm/models/machines/microwave.obj | 2600 ++++++++--------- src/main/resources/assets/hbm/sounds.json | 2 + .../assets/hbm/sounds/block/boiler.ogg | Bin 0 -> 191587 bytes .../assets/hbm/sounds/block/electricHum.ogg | Bin 0 -> 30848 bytes .../blocks/concrete_colored_ext.hazard.png | Bin 0 -> 716 bytes .../blocks/concrete_colored_ext.indigo.png | Bin 0 -> 523 bytes .../blocks/concrete_colored_ext.machine.png | Bin 0 -> 515 bytes .../concrete_colored_ext.machine_stripe.png | Bin 0 -> 507 bytes .../blocks/concrete_colored_ext.pink.png | Bin 0 -> 523 bytes .../blocks/concrete_colored_ext.purple.png | Bin 0 -> 523 bytes .../blocks/foundry_slagtap_bottom.png | Bin 0 -> 424 bytes .../textures/blocks/foundry_slagtap_front.png | Bin 0 -> 171 bytes .../textures/blocks/foundry_slagtap_inner.png | Bin 0 -> 306 bytes .../textures/blocks/foundry_slagtap_side.png | Bin 0 -> 307 bytes .../textures/blocks/foundry_slagtap_top.png | Bin 0 -> 370 bytes .../hbm/textures/blocks/rail_narrow_neo.png | Bin 0 -> 134 bytes .../assets/hbm/textures/blocks/slag.png | Bin 0 -> 775 bytes 71 files changed, 4456 insertions(+), 2059 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/generic/BlockConcreteColoredExt.java create mode 100644 src/main/java/com/hbm/blocks/generic/BlockDynamicSlag.java create mode 100644 src/main/java/com/hbm/blocks/machine/FoundrySlagtap.java create mode 100644 src/main/java/com/hbm/blocks/rail/RailNarrowCurve.java create mode 100644 src/main/java/com/hbm/blocks/rail/RailNarrowStraight.java create mode 100644 src/main/java/com/hbm/render/block/RenderNarrowCurveRail.java create mode 100644 src/main/java/com/hbm/render/block/RenderNarrowStraightRail.java create mode 100644 src/main/java/com/hbm/tileentity/machine/TileEntityFoundrySlagtap.java create mode 100644 src/main/resources/assets/hbm/models/blocks/rail_narrow.obj create mode 100644 src/main/resources/assets/hbm/models/blocks/rail_narrow_bend.obj create mode 100644 src/main/resources/assets/hbm/sounds/block/boiler.ogg create mode 100644 src/main/resources/assets/hbm/sounds/block/electricHum.ogg create mode 100644 src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.hazard.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.indigo.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.machine.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.machine_stripe.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.pink.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.purple.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_bottom.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_front.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_inner.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/rail_narrow_neo.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/slag.png diff --git a/gradle.properties b/gradle.properties index 697f43ef4..c7f807b69 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4592 +mod_build_number=4606 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting),\ diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index ea82b5b0f..bafc8521d 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -11,6 +11,8 @@ 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.RailNarrowCurve; +import com.hbm.blocks.rail.RailNarrowStraight; import com.hbm.blocks.rail.RailStandardCurve; import com.hbm.blocks.rail.RailStandardStraight; import com.hbm.blocks.siege.*; @@ -328,6 +330,7 @@ public class ModBlocks { 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; @@ -664,6 +667,8 @@ public class ModBlocks { public static Block foundry_channel; public static Block foundry_tank; public static Block foundry_outlet; + public static Block foundry_slagtap; + public static Block slag; public static Block machine_difurnace_off; public static Block machine_difurnace_on; @@ -1090,6 +1095,8 @@ public class ModBlocks { 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_curve; @@ -1507,6 +1514,7 @@ public class ModBlocks { reinforced_stone = new BlockGeneric(Material.rock).setBlockName("reinforced_stone").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(3000.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_stone"); concrete_smooth = new BlockRadResistant(Material.rock).setBlockName("concrete_smooth").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete"); concrete_colored = new BlockConcreteColored(Material.rock).setBlockName("concrete_colored").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete"); + concrete_colored_ext = new BlockConcreteColoredExt(Material.rock).setBlockName("concrete_colored_ext").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete_colored_ext"); concrete = new BlockGeneric(Material.rock).setBlockName("concrete").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete_tile"); concrete_asbestos = new BlockGeneric(Material.rock).setBlockName("concrete_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete_asbestos"); concrete_super = new BlockUberConcrete().setBlockName("concrete_super").setCreativeTab(MainRegistry.blockTab).setHardness(150.0F).setResistance(10000.0F); @@ -1780,6 +1788,8 @@ public class ModBlocks { 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); @@ -2113,6 +2123,8 @@ public class ModBlocks { 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(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_narrow_neo"); + rail_narrow_curve = new RailNarrowCurve().setBlockName("rail_narrow_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).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 + ":block_steel"); rail_large_curve = new RailStandardCurve().setBlockName("rail_large_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":block_steel"); @@ -2639,6 +2651,7 @@ public class ModBlocks { 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()); @@ -2993,6 +3006,8 @@ public class ModBlocks { register(foundry_channel); register(foundry_tank); register(foundry_outlet); + register(foundry_slagtap); + register(slag); register(machine_difurnace_off); register(machine_difurnace_on); register(machine_difurnace_extension); @@ -3337,6 +3352,8 @@ public class ModBlocks { 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_curve); diff --git a/src/main/java/com/hbm/blocks/generic/BlockConcreteColoredExt.java b/src/main/java/com/hbm/blocks/generic/BlockConcreteColoredExt.java new file mode 100644 index 000000000..929d2281a --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockConcreteColoredExt.java @@ -0,0 +1,35 @@ +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.util.IIcon; + +public class BlockConcreteColoredExt extends BlockEnumMulti { + + public BlockConcreteColoredExt(Material mat) { + super(mat, EnumConcreteType.class, true, true); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int meta) { + + if(meta == EnumConcreteType.MACHINE_STRIPE.ordinal() && (side == 0 || side == 1)) { + return super.getIcon(side, EnumConcreteType.MACHINE.ordinal()); + } + + return super.getIcon(side, meta); + } + + public enum EnumConcreteType { + MACHINE, + MACHINE_STRIPE, + INDIGO, + PURPLE, + PINK, + HAZARD + } +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockDynamicSlag.java b/src/main/java/com/hbm/blocks/generic/BlockDynamicSlag.java new file mode 100644 index 000000000..fc053c80c --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockDynamicSlag.java @@ -0,0 +1,278 @@ +package com.hbm.blocks.generic; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Random; + +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 com.hbm.items.machine.ItemScraps; +import com.hbm.render.icon.RGBMutatorInterpolatedComponentRemap; +import com.hbm.render.icon.TextureAtlasSpriteMutatable; +import com.hbm.util.Compat; + +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.client.renderer.texture.TextureMap; +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.stats.StatList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.IIcon; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockDynamicSlag extends BlockContainer { + + private HashMap iconMap = new HashMap(); + + public BlockDynamicSlag() { + super(Material.iron); + this.useNeighborBrightness = true; + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntitySlag(); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + super.registerBlockIcons(reg); + + if(reg instanceof TextureMap) { + TextureMap map = (TextureMap) reg; + + for(NTMMaterial mat : Mats.orderedList) { + if(mat.solidColorLight != mat.solidColorDark) { + String placeholderName = this.getTextureName() + "-" + mat.names[0]; + TextureAtlasSpriteMutatable mutableIcon = new TextureAtlasSpriteMutatable(placeholderName, new RGBMutatorInterpolatedComponentRemap(0xFFFFFF, 0x505050, mat.solidColorLight, mat.solidColorDark)).setBlockAtlas(); + map.setTextureEntry(placeholderName, mutableIcon); + iconMap.put(mat, mutableIcon); + } + } + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { + + TileEntitySlag tile = (TileEntitySlag) world.getTileEntity(x, y, z); + + if(tile != null && tile.mat != null) { + IIcon override = iconMap.get(tile.mat); + if(override != null) { + return override; + } + } + + return this.blockIcon; + } + + @Override + @SideOnly(Side.CLIENT) + public int colorMultiplier(IBlockAccess world, int x, int y, int z) { + + TileEntitySlag tile = (TileEntitySlag) world.getTileEntity(x, y, z); + + if(tile != null && tile.mat != null) { + if(!iconMap.containsKey(tile.mat)) { + return tile.mat.moltenColor; + } + } + + return 0xffffff; + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + TileEntitySlag tile = (TileEntitySlag) world.getTileEntity(x, y, z); + if(tile != null) { + this.setBlockBounds(0F, 0F, 0F, 1F, (float) tile.amount / (float) TileEntitySlag.maxAmount, 1F); + } + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + TileEntitySlag tile = (TileEntitySlag) world.getTileEntity(x, y, z); + if(tile != null) { + this.setBlockBounds(0F, 0F, 0F, 1F, (float) tile.amount / (float) TileEntitySlag.maxAmount, 1F); + } + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + + TileEntity s = Compat.getTileStandard(world, x, y, z); + TileEntity b = Compat.getTileStandard(world, x, y - 1, z); + + /* Error here, delete the block */ + if(s == null || !(s instanceof TileEntitySlag)) { + world.setBlockToAir(x, y, z); + return; + } + + TileEntitySlag self = (TileEntitySlag) s; + + /* Flow down */ + if(world.getBlock(x, y - 1, z).isReplaceable(world, x, y - 1, z)) { + world.setBlock(x, y - 1, z, ModBlocks.slag); + TileEntitySlag tile = (TileEntitySlag) Compat.getTileStandard(world, x, y - 1, z); + tile.mat = self.mat; + tile.amount = self.amount; + world.markBlockForUpdate(x, y - 1, z); + world.setBlockToAir(x, y, z); + return; + } else if(b instanceof TileEntitySlag) { + + TileEntitySlag below = (TileEntitySlag) b; + + if(below.mat == self.mat && below.amount < TileEntitySlag.maxAmount) { + int transfer = Math.min(TileEntitySlag.maxAmount - below.amount, self.amount); + below.amount += transfer; + self.amount -= transfer; + + if(self.amount <= 0){ + world.setBlockToAir(x, y, z); + } else { + world.markBlockForUpdate(x, y, z); + } + + world.markBlockForUpdate(x, y - 1, z); + world.scheduleBlockUpdate(x, y - 1, z, ModBlocks.slag, 1); + return; + } + } + + /* Flow sideways, no neighbors */ + ForgeDirection[] sides = new ForgeDirection[] { ForgeDirection.NORTH, ForgeDirection.SOUTH, ForgeDirection.EAST, ForgeDirection.WEST }; + int count = 0; + for(ForgeDirection dir : sides) { + int iX = x + dir.offsetX; + int iZ = z + dir.offsetZ; + + if(world.getBlock(iX, y, iZ).isReplaceable(world, iX, y, iZ)) { + count++; + } + } + + if(self.amount >= self.maxAmount / 5 && count > 0) { + int toSpread = Math.max(self.amount / (count * 2), 1); + + for(ForgeDirection dir : sides) { + int iX = x + dir.offsetX; + int iZ = z + dir.offsetZ; + + if(world.getBlock(iX, y, iZ).isReplaceable(world, iX, y, iZ)) { + world.setBlock(iX, y, iZ, ModBlocks.slag); + TileEntitySlag tile = (TileEntitySlag) Compat.getTileStandard(world, iX, y, iZ); + world.markBlockForUpdate(iX, y, iZ); + world.scheduleBlockUpdate(iX, y, iZ, ModBlocks.slag, 1); + tile.mat = self.mat; + tile.amount = toSpread; + self.amount -= toSpread; + world.markBlockForUpdate(x, y, z); + } + } + } + } + + @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); + } + + @Override + public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { + ArrayList ret = new ArrayList(); + + TileEntitySlag tile = (TileEntitySlag) world.getTileEntity(x, y, z); + + if(tile != null && tile.mat != null && tile.amount > 0) { + ret.add(ItemScraps.create(new MaterialStack(tile.mat, tile.amount))); + } + + return ret; + } + + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z, EntityPlayer player) { + + TileEntitySlag tile = (TileEntitySlag) world.getTileEntity(x, y, z); + + if(tile != null) { + return ItemScraps.create(new MaterialStack(tile.mat, tile.amount)); + } + + return super.getPickBlock(target, world, x, y, z, player); + } + + public static class TileEntitySlag extends TileEntity { + + public NTMMaterial mat; + public int amount; + public static int maxAmount = MaterialShapes.BLOCK.q(16); + + @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.mat = Mats.matById.get(nbt.getInteger("mat")); + this.amount = nbt.getInteger("amount"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + if(this.mat != null) nbt.setInteger("mat", this.mat.id); + nbt.setInteger("amount", this.amount); + } + } +} diff --git a/src/main/java/com/hbm/blocks/machine/FoundryChannel.java b/src/main/java/com/hbm/blocks/machine/FoundryChannel.java index bf00c6b60..e692c3bf9 100644 --- a/src/main/java/com/hbm/blocks/machine/FoundryChannel.java +++ b/src/main/java/com/hbm/blocks/machine/FoundryChannel.java @@ -131,7 +131,7 @@ public class FoundryChannel extends BlockContainer implements ICrucibleAcceptor if(b == ModBlocks.foundry_outlet && meta == dir.ordinal()) return true; - return b == ModBlocks.foundry_channel || b == ModBlocks.foundry_mold; + return b == ModBlocks.foundry_channel || b == ModBlocks.foundry_mold || b == ModBlocks.foundry_slagtap; } public static int renderID = RenderingRegistry.getNextAvailableRenderId(); diff --git a/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java b/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java index de46f885b..d62f01cb0 100644 --- a/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java +++ b/src/main/java/com/hbm/blocks/machine/FoundryOutlet.java @@ -167,12 +167,12 @@ public class FoundryOutlet extends BlockContainer implements ICrucibleAcceptor, @Override public boolean canAcceptPartialFlow(World world, int x, int y, int z, ForgeDirection side, MaterialStack stack) { - return ((TileEntityFoundryOutlet) world.getTileEntity(x, y, z)).canAcceptPartialFlow(world, x, y, z, side, 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 ((TileEntityFoundryOutlet) world.getTileEntity(x, y, z)).flow(world, x, y, z, side, stack); + return ((ICrucibleAcceptor) world.getTileEntity(x, y, z)).flow(world, x, y, z, side, stack); } public static int renderID = RenderingRegistry.getNextAvailableRenderId(); diff --git a/src/main/java/com/hbm/blocks/machine/FoundrySlagtap.java b/src/main/java/com/hbm/blocks/machine/FoundrySlagtap.java new file mode 100644 index 000000000..b001d1157 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/FoundrySlagtap.java @@ -0,0 +1,35 @@ +package com.hbm.blocks.machine; + +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityFoundrySlagtap; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class FoundrySlagtap extends FoundryOutlet { + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":foundry_slagtap_top"); + this.iconSide = iconRegister.registerIcon(RefStrings.MODID + ":foundry_slagtap_side"); + this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":foundry_slagtap_bottom"); + this.iconInner = iconRegister.registerIcon(RefStrings.MODID + ":foundry_slagtap_inner"); + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":foundry_slagtap_front"); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityFoundrySlagtap(); + } + + @Override public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { 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) { return false; } + @Override public void printHook(Pre event, World world, int x, int y, int z) { } +} diff --git a/src/main/java/com/hbm/blocks/rail/IRailNTM.java b/src/main/java/com/hbm/blocks/rail/IRailNTM.java index 430395012..4fd66886a 100644 --- a/src/main/java/com/hbm/blocks/rail/IRailNTM.java +++ b/src/main/java/com/hbm/blocks/rail/IRailNTM.java @@ -25,7 +25,8 @@ public interface IRailNTM { public TrackGauge getGauge(World world, int x, int y, int z); public static enum TrackGauge { - STANDARD //roughly 1.5m + STANDARD, //roughly 1.5m + NARROW //roughly 0.75m } /** A wrapper for all relevant info required when leaving a rail */ diff --git a/src/main/java/com/hbm/blocks/rail/RailNarrowCurve.java b/src/main/java/com/hbm/blocks/rail/RailNarrowCurve.java new file mode 100644 index 000000000..1fc4c01ae --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/RailNarrowCurve.java @@ -0,0 +1,144 @@ +package com.hbm.blocks.rail; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.lib.Library; +import com.hbm.util.fauxpointtwelve.BlockPos; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class RailNarrowCurve extends BlockDummyable implements IRailNTM { + + public RailNarrowCurve() { + super(Material.iron); + } + + @Override + 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 Vec3 getSnappingPos(World world, int x, int y, int z, double trainX, double trainY, double trainZ) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new RailContext()); + } + + @Override + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); + } + + /* Very simple function determining the snapping position and adding the motion value to it, if desired. */ + public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return Vec3.createVectorHelper(trainX, trainY, trainZ); + int cX = pos[0]; + int cY = pos[1]; + int cZ = pos[2]; + int meta = world.getBlockMetadata(cX, cY, cZ) - this.offset; + ForgeDirection dir = ForgeDirection.getOrientation(meta); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + double turnRadius = 4.5D; + + Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); + double axisX = cX + 0.5 + dir.offsetX * 0.5 + rot.offsetX * turnRadius; + double axisZ = cZ + 0.5 + dir.offsetZ * 0.5 + rot.offsetZ * turnRadius; + + Vec3 dist = Vec3.createVectorHelper(vec.xCoord - axisX, 0, vec.zCoord - axisZ); + dist = dist.normalize(); + dist.xCoord *= turnRadius; + dist.zCoord *= turnRadius; + + double moveAngle = Math.atan2(motionX, motionZ) * 180D / Math.PI + 90; + + if(speed == 0) { + info.dist(0).pos(new BlockPos(x, y, z)).yaw((float) moveAngle); + return Vec3.createVectorHelper(axisX + dist.xCoord, y, axisZ + dist.zCoord); + } + + double angleDeg = Math.atan2(dist.xCoord, dist.zCoord) * 180D / Math.PI + 90; + if(dir == Library.NEG_X) angleDeg -= 90; + if(dir == Library.POS_X) angleDeg += 90; + if(dir == Library.POS_Z) angleDeg += 180; + angleDeg = MathHelper.wrapAngleTo180_double(angleDeg); + double length90Deg = turnRadius * Math.PI / 2D; + double angularChange = speed / length90Deg * 90D; + + ForgeDirection moveDir = ForgeDirection.UNKNOWN; + + if(Math.abs(motionX) > Math.abs(motionZ)) { + moveDir = motionX > 0 ? Library.POS_X : Library.NEG_X; + } else { + moveDir = motionZ > 0 ? Library.POS_Z : Library.NEG_Z; + } + + if(moveDir == dir || moveDir == rot.getOpposite()) { + angularChange *= -1; + } + + double effAngle = angleDeg + angularChange; + moveAngle += angularChange; + + if(effAngle > 90) { + double angleOvershoot = effAngle - 90D; + moveAngle -= angleOvershoot; + double lengthOvershoot = angleOvershoot * length90Deg / 90D; + info.dist(lengthOvershoot * Math.signum(speed * angularChange)).pos(new BlockPos(cX - dir.offsetX * 4 + rot.offsetX * 5, y, cZ - dir.offsetZ * 4 + rot.offsetZ * 5)).yaw((float) moveAngle); + return Vec3.createVectorHelper(axisX - dir.offsetX * turnRadius, y, axisZ - dir.offsetZ * turnRadius); + } + + if(effAngle < 0) { + double angleOvershoot = -effAngle; + moveAngle -= angleOvershoot; + double lengthOvershoot = angleOvershoot * length90Deg / 90D; + info.dist(-lengthOvershoot * Math.signum(speed * angularChange)).pos(new BlockPos(cX + dir.offsetX , y, cZ + dir.offsetZ)).yaw((float) moveAngle); + return Vec3.createVectorHelper(axisX - rot.offsetX * turnRadius, y, axisZ -rot.offsetZ * turnRadius); + } + + double radianChange = angularChange * Math.PI / 180D; + dist.rotateAroundY((float) radianChange); + + return Vec3.createVectorHelper(axisX + dist.xCoord, y, axisZ + dist.zCoord); + } + + @Override + public TrackGauge getGauge(World world, int x, int y, int z) { + return TrackGauge.NARROW; + } + + @Override + public int[] getDimensions() { + return new int[] {0, 0, 4, 0, 4, 0}; + } + + @Override + public int getOffset() { + return 0; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + 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/rail/RailNarrowStraight.java b/src/main/java/com/hbm/blocks/rail/RailNarrowStraight.java new file mode 100644 index 000000000..4d51dfe07 --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/RailNarrowStraight.java @@ -0,0 +1,115 @@ +package com.hbm.blocks.rail; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.lib.Library; +import com.hbm.util.fauxpointtwelve.BlockPos; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class RailNarrowStraight extends BlockDummyable implements IRailNTM { + + public RailNarrowStraight() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return null; + } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @Override + public int getRenderType() { + return renderID; + } + + @Override + public int[] getDimensions() { + return new int[] {0, 0, 2, 2, 0, 0}; + } + + @Override + public int getOffset() { + return 2; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + + @Override + public Vec3 getSnappingPos(World world, int x, int y, int z, double trainX, double trainY, double trainZ) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new RailContext()); + } + + @Override + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); + } + + /* Very simple function determining the snapping position and adding the motion value to it, if desired. */ + public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return Vec3.createVectorHelper(trainX, trainY, trainZ); + int cX = pos[0]; + int cY = pos[1]; + int cZ = pos[2]; + int meta = world.getBlockMetadata(cX, cY, cZ) - this.offset; + ForgeDirection dir = ForgeDirection.getOrientation(meta); + + Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); + + if(dir == Library.POS_X || dir == Library.NEG_X) { + double targetX = trainX; + if(motionX > 0) { + targetX += speed; + info.yaw(-90F); + } else { + targetX -= speed; + info.yaw(90F); + } + vec.xCoord = MathHelper.clamp_double(targetX, cX - 2, cX + 3); + vec.yCoord = y; + vec.zCoord = cZ + 0.5; + info.dist(Math.abs(targetX - vec.xCoord) * Math.signum(speed)); + info.pos(new BlockPos(cX + (motionX * speed > 0 ? 3 : -3), y, cZ)); + } else { + double targetZ = trainZ; + if(motionZ > 0) { + targetZ += speed; + info.yaw(0F); + } else { + targetZ -= speed; + info.yaw(180F); + } + vec.xCoord = cX + 0.5; + vec.yCoord = y; + vec.zCoord = MathHelper.clamp_double(targetZ, cZ - 2,cZ + 3); + info.dist(Math.abs(targetZ - vec.zCoord) * Math.signum(speed)); + info.pos(new BlockPos(cX, y, cZ + (motionZ * speed > 0 ? 3 : -3))); + } + + return vec; + } + + @Override + public TrackGauge getGauge(World world, int x, int y, int z) { + return TrackGauge.NARROW; + } +} diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java index 46bc0bf4d..7028571ce 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java @@ -49,12 +49,13 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { int meta = world.getBlockMetadata(cX, cY, cZ) - this.offset; ForgeDirection dir = ForgeDirection.getOrientation(meta); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - - double turnRadius = 4.5D; + + double turnRadius = 4D; + double axisDist = 4.5D; Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); - double axisX = cX + 0.5 + dir.offsetX * 0.5 + rot.offsetX * turnRadius; - double axisZ = cZ + 0.5 + dir.offsetZ * 0.5 + rot.offsetZ * turnRadius; + double axisX = cX + 0.5 + dir.offsetX * 0.5 + rot.offsetX * axisDist; + double axisZ = cZ + 0.5 + dir.offsetZ * 0.5 + rot.offsetZ * axisDist; Vec3 dist = Vec3.createVectorHelper(vec.xCoord - axisX, 0, vec.zCoord - axisZ); dist = dist.normalize(); diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java index 1c8889b0b..903e01e1b 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java @@ -31,7 +31,7 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { @Override public int[] getDimensions() { - return new int[] {0, 0, 2, 2, 0, 0}; + return new int[] {0, 0, 2, 2, 1, 0}; } @Override @@ -69,6 +69,7 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { int cZ = pos[2]; int meta = world.getBlockMetadata(cX, cY, cZ) - this.offset; ForgeDirection dir = ForgeDirection.getOrientation(meta); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); @@ -87,7 +88,7 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { } vec.xCoord = MathHelper.clamp_double(targetX, cX - 2, cX + 3); vec.yCoord = y; - vec.zCoord = cZ + 0.5; + vec.zCoord = cZ + 0.5 + rot.offsetZ * 0.5; info.dist(Math.abs(targetX - vec.xCoord) * Math.signum(speed)); info.pos(new BlockPos(cX + (motionX * speed > 0 ? 3 : -3), y, cZ)); } else { @@ -99,7 +100,7 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { targetZ -= speed; info.yaw(180F); } - vec.xCoord = cX + 0.5; + vec.xCoord = cX + 0.5 + rot.offsetX * 0.5; vec.yCoord = y; vec.zCoord = MathHelper.clamp_double(targetZ, cZ - 2,cZ + 3); info.dist(Math.abs(targetZ - vec.zCoord) * Math.signum(speed)); diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index fb39122a5..f85df1900 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -452,6 +452,7 @@ public class OreDictManager { ANY_HIGHEXPLOSIVE .ingot(ball_tnt).ingot(ball_tatb); ANY_CONCRETE .any(concrete, concrete_smooth, concrete_asbestos, ducrete, ducrete_smooth); for(int i = 0; i < 16; i++) { ANY_CONCRETE.any(new ItemStack(ModBlocks.concrete_colored, 1, i)); } + for(int i = 0; i < 16; i++) { ANY_CONCRETE.any(new ItemStack(ModBlocks.concrete_colored_ext, 1, i)); } ANY_COKE .gem(fromAll(coke, EnumCokeType.class)).block(fromAll(block_coke, EnumCokeType.class)); ANY_BISMOID .ingot(ingot_bismuth, ingot_arsenic).nugget(nugget_bismuth, nugget_arsenic).block(block_bismuth); diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index 57bad806d..be6b5d8bc 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -229,14 +229,11 @@ public class ChemplantRecipes extends SerializableRecipe { .outputFluids(new FluidStack(Fluids.XENON, 50))); recipes.add(new ChemRecipe(61, "SATURN", 60) .inputItems( - new ComparableStack(ModItems.powder_dura_steel), - new OreDictStack(P_RED.dust())) - .inputFluids( - new FluidStack(Fluids.ACID, 100), - (GeneralConfig.enableLBSM && GeneralConfig.enableLBSMSimpleChemsitry) ? - new FluidStack(Fluids.WATER, 200) : - new FluidStack(Fluids.MERCURY, 50)) - .outputItems(new ItemStack(ModItems.ingot_saturnite, 2))); + 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)) diff --git a/src/main/java/com/hbm/items/special/ItemAutogen.java b/src/main/java/com/hbm/items/special/ItemAutogen.java index 9ddf38798..1e1f1d075 100644 --- a/src/main/java/com/hbm/items/special/ItemAutogen.java +++ b/src/main/java/com/hbm/items/special/ItemAutogen.java @@ -99,7 +99,7 @@ public class ItemAutogen extends Item { NTMMaterial mat = Mats.matById.get(stack.getItemDamage()); if(mat != null) { - return mat.solidColorLight; + return mat.moltenColor; } return 0xffffff; diff --git a/src/main/java/com/hbm/items/weapon/ItemGunGauss.java b/src/main/java/com/hbm/items/weapon/ItemGunGauss.java index 4db1ce526..1d53bb44c 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunGauss.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunGauss.java @@ -59,7 +59,7 @@ public class ItemGunGauss extends ItemGunBase { 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, 0.75F); + 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) { @@ -120,7 +120,7 @@ public class ItemGunGauss extends ItemGunBase { 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.getPitch()); + 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; } diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 79c7e3689..7f4e466a7 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 (4592)"; + public static final String VERSION = "1.0.27 BETA (4606)"; //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 a549c1204..c47b1b9e1 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -782,6 +782,9 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderFoundryChannel()); RenderingRegistry.registerBlockHandler(new RenderFoundryTank()); RenderingRegistry.registerBlockHandler(new RenderFoundryOutlet()); + + RenderingRegistry.registerBlockHandler(new RenderNarrowStraightRail()); + RenderingRegistry.registerBlockHandler(new RenderNarrowCurveRail()); RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_dynamite.getRenderType(), ResourceManager.charge_dynamite)); RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_c4.getRenderType(), ResourceManager.charge_c4)); @@ -1875,13 +1878,23 @@ public class ClientProxy extends ServerProxy { } @Override - public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float pitch) { + 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; + } + + /** Only used for doors */ @Override public AudioWrapper getLoopedSoundStartStop(World world, String sound, String start, String stop, float x, float y, float z, float volume, float pitch) { AudioWrapperClientStartStop audio = new AudioWrapperClientStartStop(world, sound == null ? null : new ResourceLocation(sound), start, stop, volume * 5); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 77f0c09fa..02ce53a80 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.blocks.BlockEnums.DecoCabinetEnum; 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; @@ -406,9 +407,16 @@ public class CraftingManager { 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 }); - addRecipeAuto(new ItemStack(ModBlocks.concrete_colored, 8, i), new Object[] { "CCC", "CDC", "CCC", 'C', ModBlocks.concrete_colored, 'D', dyeName }); } addShapelessAuto(new ItemStack(ModBlocks.concrete_smooth, 1), new Object[] { ModBlocks.concrete_colored }); + addShapelessAuto(new ItemStack(ModBlocks.concrete_smooth, 1), new Object[] { ModBlocks.concrete_colored_ext }); + + 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 }); + addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.PURPLE.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_PURPLE, '2', KEY_PURPLE }); + addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.PINK.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_PINK, '2', KEY_RED }); + addRecipeAuto(new ItemStack(ModBlocks.concrete_colored_ext, 6, EnumConcreteType.HAZARD.ordinal()), new Object[] { "CCC", "1 2", "CCC", 'C', ModBlocks.concrete_smooth, '1', KEY_YELLOW, '2', KEY_BLACK }); addRecipeAuto(new ItemStack(ModBlocks.gneiss_tile, 4), new Object[] { "CC", "CC", 'C', ModBlocks.stone_gneiss }); addRecipeAuto(new ItemStack(ModBlocks.gneiss_brick, 4), new Object[] { "CC", "CC", 'C', ModBlocks.gneiss_tile }); @@ -961,6 +969,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.foundry_channel, 4), new Object[] { "B B", " S ", 'B', ModItems.ingot_firebrick, 'S', Blocks.stone_slab }); addRecipeAuto(new ItemStack(ModBlocks.foundry_tank), new Object[] { "B B", "I I", "BSB", 'B', ModItems.ingot_firebrick, 'I', STEEL.ingot(), 'S', Blocks.stone_slab }); addShapelessAuto(new ItemStack(ModBlocks.foundry_outlet), new Object[] { ModBlocks.foundry_channel, STEEL.plate() }); + addShapelessAuto(new ItemStack(ModBlocks.foundry_slagtap), new Object[] { ModBlocks.foundry_channel, Blocks.stonebrick }); addRecipeAuto(new ItemStack(ModItems.mold_base), new Object[] { " B ", "BIB", " B ", 'B', ModItems.ingot_firebrick, 'I', IRON.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.brick_fire), new Object[] { "BB", "BB", 'B', ModItems.ingot_firebrick }); addShapelessAuto(new ItemStack(ModItems.ingot_firebrick, 4), new Object[] { ModBlocks.brick_fire }); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 12bc57f09..c947a97be 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -129,7 +129,7 @@ public class ResourceManager { public static final IModelCustom assemfac = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/assemfac.obj")); //Chemplant - public static final IModelCustom chemplant_body = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/chemplant_new_body.obj")); + 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")); @@ -1327,6 +1327,8 @@ public class ResourceManager { public static final IModelCustom pipe_neo = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/pipe_neo.obj")); public static final IModelCustom difurnace_extension = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/difurnace_extension.obj")); public static final IModelCustom splitter = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/splitter.obj")); + public static final IModelCustom rail_narrow_straight = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_narrow.obj")); + public static final IModelCustom rail_narrow_curve = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_narrow_bend.obj")); 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")); diff --git a/src/main/java/com/hbm/main/ServerProxy.java b/src/main/java/com/hbm/main/ServerProxy.java index d479b8790..d296c9ab3 100644 --- a/src/main/java/com/hbm/main/ServerProxy.java +++ b/src/main/java/com/hbm/main/ServerProxy.java @@ -41,7 +41,8 @@ public class ServerProxy { public void registerMissileItems() { } - public AudioWrapper getLoopedSound(String sound, float x, float y, float z, float volume, float pitch) { return null; } + 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 AudioWrapper getLoopedSoundStartStop(World world, String sound, String start, String stop, float x, float y, float z, float volume, float pitch) { return null; } public void playSound(String sound, Object data) { } diff --git a/src/main/java/com/hbm/render/block/RenderFoundryOutlet.java b/src/main/java/com/hbm/render/block/RenderFoundryOutlet.java index 743ba6306..1e5b52354 100644 --- a/src/main/java/com/hbm/render/block/RenderFoundryOutlet.java +++ b/src/main/java/com/hbm/render/block/RenderFoundryOutlet.java @@ -10,6 +10,7 @@ import net.minecraft.block.Block; import net.minecraft.client.renderer.EntityRenderer; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.Tessellator; +import net.minecraft.tileentity.TileEntity; import net.minecraft.world.IBlockAccess; public class RenderFoundryOutlet implements ISimpleBlockRenderingHandler { @@ -82,7 +83,8 @@ public class RenderFoundryOutlet implements ISimpleBlockRenderingHandler { FoundryOutlet outlet = (FoundryOutlet) block; int meta = world.getBlockMetadata(x, y, z); - TileEntityFoundryOutlet tile = (TileEntityFoundryOutlet) world.getTileEntity(x, y, z); + TileEntity tile = world.getTileEntity(x, y, z); + TileEntityFoundryOutlet tileOutlet = tile instanceof TileEntityFoundryOutlet ? (TileEntityFoundryOutlet) tile : null; int brightness = block.getMixedBrightnessForBlock(world, x, y, z); tessellator.setBrightness(brightness); @@ -105,13 +107,13 @@ public class RenderFoundryOutlet implements ISimpleBlockRenderingHandler { renderer.renderFaceXPos(block, x, y, z, outlet.iconFront); renderer.renderFaceXNeg(block, x, y, z, outlet.iconFront); - if(tile.filter != null) { + if(tileOutlet != null && tileOutlet.filter != null) { renderer.setRenderBounds(0.96875D, 0.0625, 0.375D, 0.96875D, top, 0.625D); renderer.renderFaceXPos(block, x, y, z, outlet.iconFilter); renderer.renderFaceXNeg(block, x, y, z, outlet.iconFilter); } - if(tile.isClosed()) { + if(tileOutlet != null && tileOutlet.isClosed()) { renderer.setRenderBounds(0.9375D, 0.0625, 0.375D, 0.9375D, top, 0.625D); renderer.renderFaceXPos(block, x, y, z, outlet.iconLock); renderer.renderFaceXNeg(block, x, y, z, outlet.iconLock); @@ -136,13 +138,13 @@ public class RenderFoundryOutlet implements ISimpleBlockRenderingHandler { renderer.renderFaceXPos(block, x, y, z, outlet.iconFront); renderer.renderFaceXNeg(block, x, y, z, outlet.iconFront); - if(tile.filter != null) { + if(tileOutlet != null && tileOutlet.filter != null) { renderer.setRenderBounds(0.03125D, 0.0625, 0.375D, 0.03125D, top, 0.625D); renderer.renderFaceXPos(block, x, y, z, outlet.iconFilter); renderer.renderFaceXNeg(block, x, y, z, outlet.iconFilter); } - if(tile.isClosed()) { + if(tileOutlet != null && tileOutlet.isClosed()) { renderer.setRenderBounds(0.0625D, 0.0625, 0.375D, 0.0625D, top, 0.625D); renderer.renderFaceXPos(block, x, y, z, outlet.iconLock); renderer.renderFaceXNeg(block, x, y, z, outlet.iconLock); @@ -167,13 +169,13 @@ public class RenderFoundryOutlet implements ISimpleBlockRenderingHandler { renderer.renderFaceZPos(block, x, y, z, outlet.iconFront); renderer.renderFaceZNeg(block, x, y, z, outlet.iconFront); - if(tile.filter != null) { + if(tileOutlet != null && tileOutlet.filter != null) { renderer.setRenderBounds(0.375D, 0.0625, 0.96875D, 0.625D, top, 0.96875D); renderer.renderFaceZPos(block, x, y, z, outlet.iconFilter); renderer.renderFaceZNeg(block, x, y, z, outlet.iconFilter); } - if(tile.isClosed()) { + if(tileOutlet != null && tileOutlet.isClosed()) { renderer.setRenderBounds(0.375D, 0.0625, 0.9375D, 0.625D, top, 0.9375D); renderer.renderFaceZPos(block, x, y, z, outlet.iconLock); renderer.renderFaceZNeg(block, x, y, z, outlet.iconLock); @@ -198,13 +200,13 @@ public class RenderFoundryOutlet implements ISimpleBlockRenderingHandler { renderer.renderFaceZPos(block, x, y, z, outlet.iconFront); renderer.renderFaceZNeg(block, x, y, z, outlet.iconFront); - if(tile.filter != null) { + if(tileOutlet != null && tileOutlet.filter != null) { renderer.setRenderBounds(0.375D, 0.0625D, 0.03125, 0.625D, top, 0.03125D); renderer.renderFaceZPos(block, x, y, z, outlet.iconFilter); renderer.renderFaceZNeg(block, x, y, z, outlet.iconFilter); } - if(tile.isClosed()) { + if(tileOutlet != null && tileOutlet.isClosed()) { renderer.setRenderBounds(0.375D, 0.0625, 0.0625D, 0.625D, top, 0.0625D); renderer.renderFaceZPos(block, x, y, z, outlet.iconLock); renderer.renderFaceZNeg(block, x, y, z, outlet.iconLock); diff --git a/src/main/java/com/hbm/render/block/RenderNarrowCurveRail.java b/src/main/java/com/hbm/render/block/RenderNarrowCurveRail.java new file mode 100644 index 000000000..0cb029690 --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderNarrowCurveRail.java @@ -0,0 +1,69 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.rail.RailNarrowCurve; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +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; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderNarrowCurveRail implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + + GL11.glScaled(0.2, 0.2, 0.2); + GL11.glTranslated(2.5, -0.0625, -1.5); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_curve, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + int meta = world.getBlockMetadata(x, y, z); + if(meta < 12) return true; + + Tessellator tessellator = Tessellator.instance; + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + float rotation = 0; + + if(meta == 12) + rotation = 90F / 180F * (float) Math.PI; + if(meta == 14) + rotation = 180F / 180F * (float) Math.PI; + if(meta == 13) + rotation = 270F / 180F * (float) Math.PI; + + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_curve, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return RailNarrowCurve.renderID; + } +} diff --git a/src/main/java/com/hbm/render/block/RenderNarrowStraightRail.java b/src/main/java/com/hbm/render/block/RenderNarrowStraightRail.java new file mode 100644 index 000000000..3f2c40c78 --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderNarrowStraightRail.java @@ -0,0 +1,62 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.rail.RailNarrowStraight; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +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; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderNarrowStraightRail implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + + GL11.glTranslated(0, -0.0625, 0); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_straight, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @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)); + tessellator.setColorOpaque_F(1, 1, 1); + int meta = world.getBlockMetadata(x, y, z); + + float rotation = 0; + + if(meta == 2 || meta == 3 || meta == 12 || meta == 13) + rotation = 90F / 180F * (float) Math.PI; + + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_narrow_straight, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return RailNarrowStraight.renderID; + } +} diff --git a/src/main/java/com/hbm/render/icon/TextureAtlasSpriteMutatable.java b/src/main/java/com/hbm/render/icon/TextureAtlasSpriteMutatable.java index 5a0e97ee2..3c596db64 100644 --- a/src/main/java/com/hbm/render/icon/TextureAtlasSpriteMutatable.java +++ b/src/main/java/com/hbm/render/icon/TextureAtlasSpriteMutatable.java @@ -52,7 +52,8 @@ public class TextureAtlasSpriteMutatable extends TextureAtlasSprite { if(mutator != null) { for(int i = 0; i < frames.length; i++) { BufferedImage frame = frames[i]; - mutator.mutate(frame, i, frames.length); + + if(frame != null) mutator.mutate(frame, i, frames.length); } } diff --git a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java index 9e15b0a08..52222f734 100644 --- a/src/main/java/com/hbm/render/item/ItemRenderLibrary.java +++ b/src/main/java/com/hbm/render/item/ItemRenderLibrary.java @@ -257,7 +257,9 @@ public class ItemRenderLibrary { } public void renderCommon() { GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); bindTexture(ResourceManager.chemplant_body_tex); ResourceManager.chemplant_body.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); bindTexture(ResourceManager.chemplant_piston_tex); ResourceManager.chemplant_piston.renderAll(); bindTexture(ResourceManager.chemplant_spinner_tex); GL11.glTranslated(-0.625, 0, 0.625); diff --git a/src/main/java/com/hbm/render/tileentity/RenderChemplant.java b/src/main/java/com/hbm/render/tileentity/RenderChemplant.java index da86e40ec..6a1a936ac 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderChemplant.java +++ b/src/main/java/com/hbm/render/tileentity/RenderChemplant.java @@ -42,7 +42,9 @@ public class RenderChemplant extends TileEntitySpecialRenderer { bindTexture(ResourceManager.chemplant_body_tex); + GL11.glShadeModel(GL11.GL_SMOOTH); ResourceManager.chemplant_body.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/render/tileentity/RenderMicrowave.java b/src/main/java/com/hbm/render/tileentity/RenderMicrowave.java index cfdc25b26..fbe36e6e2 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderMicrowave.java +++ b/src/main/java/com/hbm/render/tileentity/RenderMicrowave.java @@ -10,36 +10,35 @@ import net.minecraft.tileentity.TileEntity; public class RenderMicrowave extends TileEntitySpecialRenderer { - @Override - public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) - { - GL11.glPushMatrix(); - GL11.glTranslated(x + 0.5D, y - 0.75, z + 0.5D); - GL11.glEnable(GL11.GL_LIGHTING); - + @Override + public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y - 0.785, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + 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.glTranslated(-0.5D, 0.0D, 0.5D); - - TileEntityMicrowave mic = (TileEntityMicrowave)tileEntity; + GL11.glTranslated(-0.5D, 0.0D, 0.65D); + + TileEntityMicrowave mic = (TileEntityMicrowave) tileEntity; bindTexture(ResourceManager.microwave_tex); - ResourceManager.microwave.renderPart("mainbody_Cube.001"); - ResourceManager.microwave.renderPart("window_Cube.002"); + ResourceManager.microwave.renderPart("mainbody_Cube.001"); + ResourceManager.microwave.renderPart("window_Cube.002"); - double rot = (System.currentTimeMillis() * mic.speed / 10D) % 360; - - if(mic.time > 0) { - GL11.glTranslated(0.575D, 0.0D, -0.45D); + double rot = (System.currentTimeMillis() * mic.speed / 10D) % 360; + + if(mic.time > 0) { + GL11.glTranslated(0.575D, 0.0D, -0.45D); GL11.glRotated(rot, 0F, 1F, 0F); - GL11.glTranslated(-0.575D, 0.0D, 0.45D); - } - ResourceManager.microwave.renderPart("plate_Cylinder"); + GL11.glTranslated(-0.575D, 0.0D, 0.45D); + } + ResourceManager.microwave.renderPart("plate_Cylinder"); - GL11.glPopMatrix(); - } + GL11.glPopMatrix(); + } } diff --git a/src/main/java/com/hbm/sound/AudioDynamic.java b/src/main/java/com/hbm/sound/AudioDynamic.java index 8bc976d0d..3799b7d05 100644 --- a/src/main/java/com/hbm/sound/AudioDynamic.java +++ b/src/main/java/com/hbm/sound/AudioDynamic.java @@ -10,14 +10,18 @@ import net.minecraft.util.ResourceLocation; @SideOnly(Side.CLIENT) public class AudioDynamic extends MovingSound { - - public float intendedVolume; + + public float maxVolume = 1; + public float range; + public int keepAlive; + public int timeSinceKA;; + public boolean shouldExpire = false;; protected AudioDynamic(ResourceLocation loc) { super(loc); this.repeat = true; - this.field_147666_i = ISound.AttenuationType.LINEAR; - this.intendedVolume = 10; + this.field_147666_i = ISound.AttenuationType.NONE; + this.range = 10; } public void setPosition(float x, float y, float z) { @@ -34,9 +38,18 @@ public class AudioDynamic extends MovingSound { 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); + volume = func(f); } else { - volume = intendedVolume; + volume = maxVolume; + } + + if(this.shouldExpire) { + + if(this.timeSinceKA > this.keepAlive) { + this.stop(); + } + + this.timeSinceKA++; } } @@ -49,15 +62,28 @@ public class AudioDynamic extends MovingSound { } public void setVolume(float volume) { - this.intendedVolume = volume; + this.volume = volume; + } + + public void setRange(float range) { + this.range = range; + } + + public void setKeepAlive(int keepAlive) { + this.keepAlive = keepAlive; + this.shouldExpire = true; + } + + public void keepAlive() { + this.timeSinceKA = 0; } public void setPitch(float pitch) { this.field_147663_c = pitch; } - public float func(float f, float v) { - return (f / v) * -2 + 2; + public float func(float dist) { + return (dist / range) * -maxVolume + maxVolume; } public boolean isPlaying() { diff --git a/src/main/java/com/hbm/sound/AudioWrapper.java b/src/main/java/com/hbm/sound/AudioWrapper.java index 9c99bf096..e3830d5d8 100644 --- a/src/main/java/com/hbm/sound/AudioWrapper.java +++ b/src/main/java/com/hbm/sound/AudioWrapper.java @@ -1,14 +1,19 @@ package com.hbm.sound; public class AudioWrapper { + + public void setKeepAlive(int keepAlive) { } + public void keepAlive() { } public void updatePosition(float x, float y, float z) { } - + public void updateVolume(float volume) { } + public void updateRange(float range) { } public void updatePitch(float pitch) { } - + public float getVolume() { return 0F; } + public float getRange() { return 0F; } public float getPitch() { return 0F; } diff --git a/src/main/java/com/hbm/sound/AudioWrapperClient.java b/src/main/java/com/hbm/sound/AudioWrapperClient.java index 34a72dc06..bc259c1dd 100644 --- a/src/main/java/com/hbm/sound/AudioWrapperClient.java +++ b/src/main/java/com/hbm/sound/AudioWrapperClient.java @@ -14,6 +14,18 @@ public class AudioWrapperClient extends AudioWrapper { sound = new AudioDynamic(source); } + @Override + public void setKeepAlive(int keepAlive) { + if(sound != null) + sound.setKeepAlive(keepAlive); + } + + @Override + public void keepAlive() { + if(sound != null) + sound.keepAlive(); + } + @Override public void updatePosition(float x, float y, float z) { if(sound != null) @@ -26,6 +38,12 @@ public class AudioWrapperClient extends AudioWrapper { sound.setVolume(volume); } + @Override + public void updateRange(float range) { + if(sound != null) + sound.setRange(range); + } + @Override public void updatePitch(float pitch) { if(sound != null) diff --git a/src/main/java/com/hbm/sound/AudioWrapperClientStartStop.java b/src/main/java/com/hbm/sound/AudioWrapperClientStartStop.java index 663981b9e..6df22c652 100644 --- a/src/main/java/com/hbm/sound/AudioWrapperClientStartStop.java +++ b/src/main/java/com/hbm/sound/AudioWrapperClientStartStop.java @@ -3,6 +3,7 @@ package com.hbm.sound; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; +/** Only used for doors */ public class AudioWrapperClientStartStop extends AudioWrapperClient { public String start; diff --git a/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java b/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java index baec2d8d4..f2ab912aa 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityLoadedBase.java @@ -1,5 +1,7 @@ package com.hbm.tileentity; +import com.hbm.sound.AudioWrapper; + import api.hbm.energy.ILoadedTile; import net.minecraft.tileentity.TileEntity; @@ -17,4 +19,13 @@ 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; + } } diff --git a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java index 5c5c26d5d..d71c1ab66 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java @@ -4,7 +4,6 @@ import com.hbm.blocks.ModBlocks; import com.hbm.packet.AuxGaugePacket; import com.hbm.packet.NBTPacket; import com.hbm.packet.PacketDispatcher; -import com.hbm.sound.AudioWrapper; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; import net.minecraft.entity.player.EntityPlayer; @@ -222,13 +221,4 @@ public abstract class TileEntityMachineBase extends TileEntityLoadedBase impleme return Math.max(volume, 0); } - - public AudioWrapper createAudioLoop() { return null; } - - public AudioWrapper rebootAudio(AudioWrapper wrapper) { - wrapper.stopSound(); - AudioWrapper audio = createAudioLoop(); - audio.startSound(); - return audio; - } } diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 96cdeb446..824ecb205 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -7,6 +7,7 @@ import java.util.List; import com.hbm.blocks.bomb.BlockVolcano.TileEntityVolcanoCore; 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.BlockLoot.TileEntityLoot; import com.hbm.blocks.generic.BlockMotherOfAllOres.TileEntityRandomOre; @@ -268,6 +269,8 @@ public class TileMappings { put(TileEntityFoundryChannel.class, "tileentity_foundry_channel"); put(TileEntityFoundryTank.class, "tileentity_foundry_tank"); put(TileEntityFoundryOutlet.class, "tileentity_foundry_outlet"); + put(TileEntityFoundrySlagtap.class, "tileentity_foundry_slagtap"); + put(TileEntitySlag.class, "tileentity_foundry_slag"); put(TileEntityMachineAutocrafter.class, "tileentity_autocrafter"); put(TileEntityDiFurnaceRTG.class, "tileentity_rtg_difurnace"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFoundrySlagtap.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundrySlagtap.java new file mode 100644 index 000000000..ef09f7257 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFoundrySlagtap.java @@ -0,0 +1,115 @@ +package com.hbm.tileentity.machine; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockDynamicSlag.TileEntitySlag; +import com.hbm.inventory.material.Mats.MaterialStack; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; +import com.hbm.util.Compat; + +import api.hbm.block.ICrucibleAcceptor; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.block.Block; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityFoundrySlagtap extends TileEntity implements ICrucibleAcceptor { + + @Override + public boolean canAcceptPartialFlow(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 - 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) { + int transfer = Math.min(tile.maxAmount - tile.amount, stack.amount); + tile.amount += transfer; + stack.amount -= transfer; + didFlow = didFlow || transfer > 0; + world.markBlockForUpdate(mop.blockX, mop.blockY, mop.blockZ); + world.scheduleBlockUpdate(mop.blockX, mop.blockY, mop.blockZ, ModBlocks.slag, 1); + } + } else if(hit.isReplaceable(world, mop.blockX, mop.blockY, mop.blockZ)) { + world.setBlock(mop.blockX, mop.blockY, mop.blockZ, ModBlocks.slag); + TileEntitySlag tile = (TileEntitySlag) Compat.getTileStandard(world, mop.blockX, mop.blockY, mop.blockZ); + tile.mat = stack.material; + int transfer = Math.min(tile.maxAmount, stack.amount); + tile.amount += transfer; + stack.amount -= transfer; + didFlow = didFlow || transfer > 0; + 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); + tile.mat = stack.material; + int transfer = Math.min(tile.maxAmount, stack.amount); + tile.amount += transfer; + stack.amount -= transfer; + didFlow = didFlow || transfer > 0; + 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); + data.setByte("dir", (byte) dir.ordinal()); + 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)); + } + + if(stack.amount <= 0) { + stack = null; + } + + return stack; + } + + @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; } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java index c7c98008d..bcda9f18b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java @@ -20,7 +20,9 @@ import com.hbm.inventory.fluid.trait.FT_Heatable; import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingStep; import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingType; import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; import com.hbm.saveddata.TomSaveData; +import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; @@ -41,8 +43,12 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IFluid public int heat; public FluidTank[] tanks; public List list = new ArrayList(); + public boolean isOn; public boolean hasExploded = false; + private AudioWrapper audio; + private int audioTime; + /* CONFIGURABLE */ public static int maxHeat = 12_800_000; //the heat required to turn 64k of water into steam public static double diffusion = 0.1D; @@ -76,6 +82,7 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IFluid data.setInteger("heat", lastHeat); tanks[0].writeToNBT(data, "0"); + this.isOn = false; this.tryConvert(); tanks[1].writeToNBT(data, "1"); @@ -84,9 +91,59 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IFluid fillFluidInit(tanks[1].getTankType()); } } - + data.setBoolean("exploded", this.hasExploded); + data.setBoolean("isOn", this.isOn); INBTPacketReceiver.networkPack(this, data, 25); + } else { + + if(this.isOn) audioTime = 20; + + if(audioTime > 0) { + + audioTime--; + + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + + audio.keepAlive(); + + } else { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + } + } + + @Override + public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.boiler", xCoord, yCoord, zCoord, 0.125F, 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; } } @@ -96,6 +153,7 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IFluid this.heat = nbt.getInteger("heat"); this.tanks[0].readFromNBT(nbt, "0"); this.tanks[1].readFromNBT(nbt, "1"); + this.isOn = nbt.getBoolean("isOn"); } protected void tryPullHeat() { @@ -159,6 +217,10 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IFluid 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; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java index 7a3dacf54..35569da50 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterElectric.java @@ -1,6 +1,8 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.BlockDummyable; +import com.hbm.main.MainRegistry; +import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; @@ -17,7 +19,10 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH public long power; public int heatEnergy; + public boolean isOn; protected int setting = 0; + + private AudioWrapper audio; @Override public void updateEntity() { @@ -32,16 +37,64 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH this.heatEnergy *= 0.999; this.tryPullHeat(); - + + this.isOn = false; if(setting > 0 && this.power >= this.getConsumption()) { this.power -= this.getConsumption(); 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); INBTPacketReceiver.networkPack(this, data, 25); + } else { + + if(isOn) { + + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + + audio.keepAlive(); + + } else { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + } + } + + @Override + public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.electricHum", xCoord, yCoord, zCoord, 0.25F, 7.5F, 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; } } @@ -49,6 +102,7 @@ public class TileEntityHeaterElectric extends TileEntityLoadedBase implements IH public void networkUnpack(NBTTagCompound nbt) { this.setting = nbt.getByte("s"); this.heatEnergy = nbt.getInteger("h"); + this.isOn = nbt.getBoolean("o"); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java index 826bf7ffd..33c973b89 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java @@ -256,7 +256,7 @@ public class TileEntityMachineAssembler extends TileEntityMachineBase implements @Override public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:block.assemblerOperate", xCoord, yCoord, zCoord, 1.0F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:block.assemblerOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); } private void updateConnections() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java index b35ad6c76..8add21027 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCentrifuge.java @@ -223,15 +223,17 @@ public class TileEntityMachineCentrifuge extends TileEntityMachineBase implement } } } - + + @Override public void networkUnpack(NBTTagCompound data) { this.power = data.getLong("power"); this.progress = data.getInteger("progress"); this.isProgressing = data.getBoolean("isProgressing"); } - + + @Override public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:block.centrifugeOperate", xCoord, yCoord, zCoord, 2.0F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:block.centrifugeOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index b40be0fdc..9aea57727 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -93,8 +93,8 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements this.isProgressing = false; this.power = Library.chargeTEFromItems(slots, 0, power, maxPower); - if(!tanks[0].loadTank(17, 19, slots)) tanks[0].unloadTank(17, 19, slots); - if(!tanks[1].loadTank(18, 20, slots)) tanks[1].unloadTank(18, 20, slots); + if(!tanks[0].loadTank(17, 19, slots) && (slots[17] == null || slots[17].getItem() != ModItems.fluid_barrel_infinite)) tanks[0].unloadTank(17, 19, slots); + if(!tanks[1].loadTank(18, 20, slots) && (slots[18] == null || slots[18].getItem() != ModItems.fluid_barrel_infinite)) tanks[1].unloadTank(18, 20, slots); tanks[2].unloadTank(9, 11, slots); tanks[3].unloadTank(10, 12, slots); @@ -162,7 +162,7 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements worldObj.spawnParticle("cloud", x, y, z, 0.0, 0.1, 0.0); } - float volume = this.getVolume(2); + float volume = 1;//this.getVolume(2); if(isProgressing && volume > 0) { @@ -187,7 +187,7 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements @Override public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:block.chemplantOperate", xCoord, yCoord, zCoord, 1.0F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:block.chemplantOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java index 592854660..18d48904a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java @@ -157,7 +157,7 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachineBase imp } public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:block.igeneratorOperate", xCoord, yCoord, zCoord, 2.0F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:block.igeneratorOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java index d6e7d9e1a..12bdd43ec 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java @@ -196,7 +196,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB } public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:weapon.tauChargeLoop", xCoord, yCoord, zCoord, 1.0F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:weapon.tauChargeLoop", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); } private void updateConnections() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java index e2b64dde5..419664383 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java @@ -170,12 +170,12 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement if(audio == null) { //if there is no sound playing, start it - audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, 1.0F, 1.0F); + audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, 1.0F, 20F, 1.0F); audio.startSound(); } else if(!audio.isPlaying()) { audio.stopSound(); - audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, 1.0F, 1.0F); + audio = MainRegistry.proxy.getLoopedSound("hbm:block.turbinegasRunning", xCoord, yCoord, zCoord, 1.0F, 20F, 1.0F); audio.startSound(); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index bd87b519c..942732fa1 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -382,7 +382,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements } public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:block.turbofanOperate", xCoord, yCoord, zCoord, 5.0F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:block.turbofanOperate", xCoord, yCoord, zCoord, 1.0F, 50F, 1.0F, 20); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java index 20204ca0d..6f85b34fd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntitySoyuzLauncher.java @@ -171,7 +171,7 @@ public class TileEntitySoyuzLauncher extends TileEntityMachineBase implements IS @Override public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:block.soyuzReady", xCoord, yCoord, zCoord, 1.0F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:block.soyuzReady", xCoord, yCoord, zCoord, 2.0F, 100F, 1.0F); } public void onChunkUnload() { 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 8cac21820..ee2d7b79a 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java @@ -24,6 +24,8 @@ import com.hbm.inventory.gui.GUIMachineRefinery; import com.hbm.inventory.recipes.RefineryRecipes; 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; @@ -65,6 +67,10 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements public boolean hasExploded = false; public boolean onFire = false; public Explosion lastExplosion = null; + + private AudioWrapper audio; + private int audioTime; + public boolean isOn; private static final int[] slot_access = new int[] {11}; @@ -138,6 +144,8 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements if(!worldObj.isRemote) { + this.isOn = false; + if(this.getBlockMetadata() < 12) { ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()).getRotation(ForgeDirection.DOWN); worldObj.removeTileEntity(xCoord, yCoord, zCoord); @@ -201,7 +209,57 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements 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); + } else { + + if(this.isOn) audioTime = 20; + + if(audioTime > 0) { + + audioTime--; + + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + + audio.keepAlive(); + + } else { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + } + } + + @Override + public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.boiler", xCoord, yCoord, zCoord, 0.25F, 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; } } @@ -211,6 +269,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements 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"); } private void refine() { @@ -233,6 +292,7 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements } } + this.isOn = true; tanks[0].setFill(tanks[0].getFill() - 100); for(int i = 0; i < stacks.length; i++) 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 81ef2baa8..bc2ba6469 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java @@ -7,6 +7,8 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIMachineVacuumDistill; 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.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; @@ -30,6 +32,10 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem public static final long maxPower = 1_000_000; public FluidTank[] tanks; + + private AudioWrapper audio; + private int audioTime; + public boolean isOn; public TileEntityMachineVacuumDistill() { super(11); @@ -52,6 +58,8 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem if(!worldObj.isRemote) { + this.isOn = false; + this.updateConnections(); power = Library.chargeTEFromItems(slots, 0, power, maxPower); tanks[0].loadTank(1, 2, slots); @@ -73,14 +81,65 @@ 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); + } else { + + if(this.isOn) audioTime = 20; + + if(audioTime > 0) { + + audioTime--; + + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + + audio.keepAlive(); + + } else { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + } + } + + @Override + public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.boiler", xCoord, yCoord, zCoord, 0.25F, 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; } } @Override public void networkUnpack(NBTTagCompound nbt) { this.power = nbt.getLong("power"); + this.isOn = nbt.getBoolean("isOn"); for(int i = 0; i < 5; i++) tanks[i].readFromNBT(nbt, "" + i); } @@ -92,7 +151,8 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem if(tanks[2].getFill() + RefineryRecipes.vac_frac_reform > tanks[2].getMaxFill()) return; if(tanks[3].getFill() + RefineryRecipes.vac_frac_light > tanks[3].getMaxFill()) return; if(tanks[4].getFill() + RefineryRecipes.vac_frac_sour > tanks[4].getMaxFill()) return; - + + this.isOn = true; power -= 10_000; tanks[0].setFill(tanks[0].getFill() - 100); tanks[1].setFill(tanks[1].getFill() + RefineryRecipes.vac_frac_heavy); diff --git a/src/main/java/com/hbm/util/Compat.java b/src/main/java/com/hbm/util/Compat.java index ff7da1c9d..3a8a4a9a6 100644 --- a/src/main/java/com/hbm/util/Compat.java +++ b/src/main/java/com/hbm/util/Compat.java @@ -100,24 +100,25 @@ public class Compat { public static List scrapeItemFromME(ItemStack meDrive) { List stacks = new ArrayList(); - 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); + try { + if(meDrive != null && meDrive.hasTagCompound()) { + NBTTagCompound nbt = meDrive.getTagCompound(); + int types = nbt.getShort("it"); //ITEM_TYPE_TAG - if(stackTag instanceof NBTTagCompound) { - NBTTagCompound compound = (NBTTagCompound) stackTag; - ItemStack stack = ItemStack.loadItemStackFromNBT(compound); + for(int i = 0; i < types; i++) { + NBTBase stackTag = nbt.getTag("#" + i); - int count = nbt.getInteger("@" + i); - stack.stackSize = count; - - stacks.add(stack); + if(stackTag instanceof NBTTagCompound) { + NBTTagCompound compound = (NBTTagCompound) stackTag; + ItemStack stack = ItemStack.loadItemStackFromNBT(compound); + + int count = nbt.getInteger("@" + i); + stack.stackSize = count; + stacks.add(stack); + } } } - } + } catch(Exception ex) { } return stacks; } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 1bc1639b7..4a9c5faf2 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -3590,22 +3590,28 @@ tile.concrete_brick_slab.brick_concrete_broken.name=Rissige Betonziegelstufe tile.concrete_brick_slab.brick_concrete_cracked.name=Gebrochene Betonziegelstufe tile.concrete_brick_slab.brick_concrete_mossy.name=Bemooste Betonziegelstufe tile.concrete_brick_slab.brick_ducrete.name=Ducreteziegelstufe -tile.concrete_colored.black.name=Schwarzer Beton -tile.concrete_colored.blue.name=Blauer Beton -tile.concrete_colored.brown.name=Brauner Beton -tile.concrete_colored.cyan.name=Türkiser Beton -tile.concrete_colored.gray.name=Grauer Beton -tile.concrete_colored.green.name=Grüner Beton -tile.concrete_colored.lightBlue.name=Hellblauer Beton -tile.concrete_colored.lime.name=Hellgrüner Beton -tile.concrete_colored.magenta.name=Magenta Beton -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.black.name=Schwarzer Beton +tile.concrete_colored.blue.name=Blauer Beton +tile.concrete_colored.brown.name=Brauner Beton +tile.concrete_colored.cyan.name=Türkiser Beton +tile.concrete_colored.gray.name=Grauer Beton +tile.concrete_colored.green.name=Grüner Beton +tile.concrete_colored.lightBlue.name=Hellblauer Beton +tile.concrete_colored.lime.name=Hellgrüner Beton +tile.concrete_colored.magenta.name=Magenta Beton +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.white.name=Weißer Beton -tile.concrete_colored.yellow.name=Gelber Beton +tile.concrete_colored.white.name=Weißer Beton +tile.concrete_colored.yellow.name=Gelber Beton +tile.concrete_colored_ext.hazard.name=Builder's Choice Concrete - Gefahrenstreifen +tile.concrete_colored_ext.indigo.name=Builder's Choice Concrete - Tiefes Indigo +tile.concrete_colored_ext.machine.name=Builder's Choice Concrete - Industrieller Ton +tile.concrete_colored_ext.machine_stripe.name=Builder's Choice Concrete - Industrieller Streifen +tile.concrete_colored_ext.pink.name=Builder's Choice Concrete - Männliches Pink +tile.concrete_colored_ext.purple.name=Builder's Choice Concrete - Mysteriöses Lila tile.concrete_pillar.name=Stahlbetonsäule tile.concrete_slab.concrete.name=Betonfliesenstufe tile.concrete_slab.concrete_asbestos.name=Asbestbetonstufe @@ -3745,6 +3751,7 @@ tile.foundry_channel.name=Gusskanal tile.foundry_tank.name=Gießerei-Lagerbecken tile.foundry_mold.name=Seichtes Gussbecken tile.foundry_outlet.name=Ausguss +tile.foundry_slagtap.name=Schlackeausguss tile.fraction_spacer.name=Fraktionierungsturm-Teiler tile.frozen_dirt.name=Gefrorene Erde tile.frozen_grass.name=Gefrorenes Gras diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 994b22798..b179aee53 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4418,6 +4418,12 @@ tile.concrete_colored.red.name=Red Concrete tile.concrete_colored.silver.name=Light Gray Concrete tile.concrete_colored.white.name=White Concrete tile.concrete_colored.yellow.name=Yellow Concrete +tile.concrete_colored_ext.hazard.name=Builder's Choice Concrete - Hazard Stripe +tile.concrete_colored_ext.indigo.name=Builder's Choice Concrete - Deep Indigo +tile.concrete_colored_ext.machine.name=Builder's Choice Concrete - Industrial Tinge +tile.concrete_colored_ext.machine_stripe.name=Builder's Choice Concrete - Industrial Stripe +tile.concrete_colored_ext.pink.name=Builder's Choice Concrete - Manly Pink +tile.concrete_colored_ext.purple.name=Builder's Choice Concrete - Mysterious Purple tile.concrete_pillar.name=Rebar Reinforced Concrete Pillar tile.concrete_slab.concrete.name=Concrete Tile Slab tile.concrete_slab.concrete_asbestos.name=Asbestos Concrete Slab @@ -4562,6 +4568,7 @@ tile.foundry_channel.name=Foundry Channel tile.foundry_tank.name=Foundry Storage Basin tile.foundry_mold.name=Shallow Foundry Basin tile.foundry_outlet.name=Foundry Outlet +tile.foundry_slagtap.name=Foundry Slag Outlet tile.fraction_spacer.name=Fractioning Tower Separator tile.frozen_dirt.name=Frozen Dirt tile.frozen_grass.name=Frozen Grass diff --git a/src/main/resources/assets/hbm/models/blocks/rail_narrow.obj b/src/main/resources/assets/hbm/models/blocks/rail_narrow.obj new file mode 100644 index 000000000..ae0ae0946 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/rail_narrow.obj @@ -0,0 +1,314 @@ +# Blender v2.79 (sub 0) OBJ File: 'rail_narrow.blend' +# www.blender.org +o Plane +v 0.500000 0.125000 0.375000 +v -0.500000 0.125000 0.375000 +v -0.500000 0.125000 -0.375000 +v 0.500000 0.125000 -0.375000 +v -0.500000 0.000000 0.375000 +v 0.500000 0.000000 0.375000 +v -0.500000 0.000000 -0.437500 +v 0.500000 0.000000 -0.437500 +v -0.500000 0.000000 0.437500 +v 0.500000 0.000000 0.437500 +v -0.500000 0.000000 -0.375000 +v 0.500000 0.000000 -0.375000 +v -0.500000 0.125000 0.437500 +v 0.500000 0.125000 0.437500 +v 0.500000 0.125000 -0.437500 +v -0.500000 0.125000 -0.437500 +v 0.187500 0.000000 0.375000 +v 0.312500 0.000000 0.375000 +v 0.187500 0.000000 -0.375000 +v 0.312500 0.000000 -0.375000 +v 0.187500 0.062500 -0.375000 +v 0.187500 0.062500 0.375000 +v 0.312500 0.062500 0.375000 +v 0.312500 0.062500 -0.375000 +v 0.187500 0.000000 -0.437500 +v 0.312500 0.000000 -0.437500 +v 0.187500 0.062500 -0.437500 +v 0.312500 0.062500 -0.437500 +v 0.187500 0.000000 -0.500000 +v 0.312500 0.000000 -0.500000 +v 0.187500 0.062500 -0.500000 +v 0.312500 0.062500 -0.500000 +v 0.187500 0.000000 0.437500 +v 0.312500 0.000000 0.437500 +v 0.187500 0.062500 0.437500 +v 0.312500 0.062500 0.437500 +v 0.187500 0.000000 0.500000 +v 0.312500 0.000000 0.500000 +v 0.187500 0.062500 0.500000 +v 0.312500 0.062500 0.500000 +v -0.312500 0.000000 0.375000 +v -0.187500 0.000000 0.375000 +v -0.312500 0.000000 -0.375000 +v -0.187500 0.000000 -0.375000 +v -0.312500 0.062500 -0.375000 +v -0.312500 0.062500 0.375000 +v -0.187500 0.062500 0.375000 +v -0.187500 0.062500 -0.375000 +v -0.312500 0.000000 -0.437500 +v -0.187500 0.000000 -0.437500 +v -0.312500 0.062500 -0.437500 +v -0.187500 0.062500 -0.437500 +v -0.312500 0.000000 -0.500000 +v -0.187500 0.000000 -0.500000 +v -0.312500 0.062500 -0.500000 +v -0.187500 0.062500 -0.500000 +v -0.312500 0.000000 0.437500 +v -0.187500 0.000000 0.437500 +v -0.312500 0.062500 0.437500 +v -0.187500 0.062500 0.437500 +v -0.312500 0.000000 0.500000 +v -0.187500 0.000000 0.500000 +v -0.312500 0.062500 0.500000 +v -0.187500 0.062500 0.500000 +vt 0.125000 0.000000 +vt 0.062500 1.000000 +vt 0.062500 0.000000 +vt 0.937500 1.000000 +vt 0.875000 0.000000 +vt 0.937500 0.000000 +vt 0.062500 1.000000 +vt 0.125000 0.000000 +vt 0.125000 1.000000 +vt 0.875000 0.000000 +vt 0.937500 1.000000 +vt 0.875000 1.000000 +vt 0.125000 -0.000000 +vt 0.062500 0.125000 +vt 0.062500 -0.000000 +vt 1.000000 0.000000 +vt -0.000000 0.125000 +vt -0.000000 0.000000 +vt 1.000000 0.000000 +vt -0.000000 0.125000 +vt -0.000000 0.000000 +vt 0.937500 -0.000000 +vt 0.875000 0.125000 +vt 0.875000 -0.000000 +vt 0.937500 0.000000 +vt 0.875000 0.125000 +vt 0.875000 0.000000 +vt 1.000000 -0.000000 +vt -0.000000 0.125000 +vt -0.000000 -0.000000 +vt 1.000000 -0.000000 +vt -0.000000 0.125000 +vt -0.000000 -0.000000 +vt 0.125000 0.000000 +vt 0.062500 0.125000 +vt 0.062500 0.000000 +vt 0.875000 0.687500 +vt 0.125000 0.812500 +vt 0.125000 0.687500 +vt 0.875000 0.812500 +vt 0.125000 0.687500 +vt 0.875000 0.687500 +vt 0.875000 0.000000 +vt 0.125000 0.062500 +vt 0.125000 0.000000 +vt 0.875000 -0.000000 +vt 0.125000 0.062500 +vt 0.125000 -0.000000 +vt 0.062500 0.812500 +vt 0.000000 0.687500 +vt 0.062500 0.687500 +vt 0.062500 0.062500 +vt -0.000000 -0.000000 +vt 0.062500 -0.000000 +vt 0.937500 0.000000 +vt 1.000000 0.062500 +vt 0.937500 0.062500 +vt 1.000000 0.687500 +vt 0.937500 0.812500 +vt 0.937500 0.687500 +vt 0.312500 0.062500 +vt 0.187500 -0.000000 +vt 0.312500 -0.000000 +vt 0.062500 0.062500 +vt 0.000000 0.000000 +vt 0.062500 0.000000 +vt 0.000000 0.812500 +vt 0.062500 0.687500 +vt 0.062500 0.812500 +vt 0.937500 -0.000000 +vt 1.000000 0.062500 +vt 0.937500 0.062500 +vt 0.937500 0.687500 +vt 1.000000 0.812500 +vt 0.937500 0.812500 +vt 0.812500 0.062500 +vt 0.687500 0.000000 +vt 0.812500 0.000000 +vt 0.875000 0.187500 +vt 0.125000 0.312500 +vt 0.125000 0.187500 +vt 0.875000 0.312500 +vt 0.125000 0.187500 +vt 0.875000 0.187500 +vt 0.875000 0.000000 +vt 0.125000 0.062500 +vt 0.125000 0.000000 +vt 0.875000 -0.000000 +vt 0.125000 0.062500 +vt 0.125000 -0.000000 +vt 0.062500 0.312500 +vt 0.000000 0.187500 +vt 0.062500 0.187500 +vt 0.062500 0.062500 +vt -0.000000 -0.000000 +vt 0.062500 -0.000000 +vt 0.937500 0.000000 +vt 1.000000 0.062500 +vt 0.937500 0.062500 +vt 1.000000 0.187500 +vt 0.937500 0.312500 +vt 0.937500 0.187500 +vt 0.812500 0.062500 +vt 0.687500 -0.000000 +vt 0.812500 -0.000000 +vt 0.062500 0.062500 +vt 0.000000 0.000000 +vt 0.062500 0.000000 +vt 0.000000 0.312500 +vt 0.062500 0.187500 +vt 0.062500 0.312500 +vt 0.937500 -0.000000 +vt 1.000000 0.062500 +vt 0.937500 0.062500 +vt 0.937500 0.187500 +vt 1.000000 0.312500 +vt 0.937500 0.312500 +vt 0.312500 0.062500 +vt 0.187500 0.000000 +vt 0.312500 0.000000 +vt 0.125000 1.000000 +vt 0.875000 1.000000 +vt 0.062500 0.000000 +vt 0.937500 0.000000 +vt 0.125000 0.125000 +vt 1.000000 0.125000 +vt 1.000000 0.125000 +vt 0.937500 0.125000 +vt 0.937500 0.125000 +vt 1.000000 0.125000 +vt 1.000000 0.125000 +vt 0.125000 0.125000 +vt 0.875000 0.812500 +vt 0.125000 0.812500 +vt 0.875000 0.062500 +vt 0.875000 0.062500 +vt 0.000000 0.812500 +vt -0.000000 0.062500 +vt 1.000000 0.000000 +vt 1.000000 0.812500 +vt 0.187500 0.062500 +vt 0.000000 0.062500 +vt 0.000000 0.687500 +vt 1.000000 -0.000000 +vt 1.000000 0.687500 +vt 0.687500 0.062500 +vt 0.875000 0.312500 +vt 0.125000 0.312500 +vt 0.875000 0.062500 +vt 0.875000 0.062500 +vt 0.000000 0.312500 +vt -0.000000 0.062500 +vt 1.000000 0.000000 +vt 1.000000 0.312500 +vt 0.687500 0.062500 +vt 0.000000 0.062500 +vt 0.000000 0.187500 +vt 1.000000 -0.000000 +vt 1.000000 0.187500 +vt 0.187500 0.062500 +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 3/1/1 15/2/1 16/3/1 +f 8/4/2 11/5/2 7/6/2 +f 10/7/2 5/8/2 6/9/2 +f 2/10/1 14/11/1 1/12/1 +f 11/13/3 16/14/3 7/15/3 +f 10/16/4 13/17/4 9/18/4 +f 12/19/4 3/20/4 11/21/4 +f 9/22/3 2/23/3 5/24/3 +f 8/25/5 4/26/5 12/27/5 +f 7/28/6 15/29/6 8/30/6 +f 5/31/6 1/32/6 6/33/6 +f 6/34/5 14/35/5 10/36/5 +f 19/37/2 18/38/2 17/39/2 +f 23/40/1 21/41/1 22/42/1 +f 20/43/5 23/44/5 18/45/5 +f 17/46/3 21/47/3 19/48/3 +f 28/49/1 31/50/1 27/51/1 +f 27/52/3 29/53/3 25/54/3 +f 26/55/5 32/56/5 28/57/5 +f 29/58/2 26/59/2 25/60/2 +f 31/61/6 30/62/6 29/63/6 +f 36/64/5 38/65/5 34/66/5 +f 38/67/2 33/68/2 34/69/2 +f 33/70/3 39/71/3 35/72/3 +f 35/73/1 40/74/1 36/75/1 +f 40/76/4 37/77/4 38/78/4 +f 43/79/2 42/80/2 41/81/2 +f 47/82/1 45/83/1 46/84/1 +f 44/85/5 47/86/5 42/87/5 +f 41/88/3 45/89/3 43/90/3 +f 52/91/1 55/92/1 51/93/1 +f 51/94/3 53/95/3 49/96/3 +f 50/97/5 56/98/5 52/99/5 +f 53/100/2 50/101/2 49/102/2 +f 55/103/6 54/104/6 53/105/6 +f 60/106/5 62/107/5 58/108/5 +f 62/109/2 57/110/2 58/111/2 +f 57/112/3 63/113/3 59/114/3 +f 59/115/1 64/116/1 60/117/1 +f 64/118/4 61/119/4 62/120/4 +f 3/1/1 4/121/1 15/2/1 +f 8/4/2 12/122/2 11/5/2 +f 10/7/2 9/123/2 5/8/2 +f 2/10/1 13/124/1 14/11/1 +f 11/13/3 3/125/3 16/14/3 +f 10/16/4 14/126/4 13/17/4 +f 12/19/4 4/127/4 3/20/4 +f 9/22/3 13/128/3 2/23/3 +f 8/25/5 15/129/5 4/26/5 +f 7/28/6 16/130/6 15/29/6 +f 5/31/6 2/131/6 1/32/6 +f 6/34/5 1/132/5 14/35/5 +f 19/37/2 20/133/2 18/38/2 +f 23/40/1 24/134/1 21/41/1 +f 20/43/5 24/135/5 23/44/5 +f 17/46/3 22/136/3 21/47/3 +f 28/49/1 32/137/1 31/50/1 +f 27/52/3 31/138/3 29/53/3 +f 26/55/5 30/139/5 32/56/5 +f 29/58/2 30/140/2 26/59/2 +f 31/61/6 32/141/6 30/62/6 +f 36/64/5 40/142/5 38/65/5 +f 38/67/2 37/143/2 33/68/2 +f 33/70/3 37/144/3 39/71/3 +f 35/73/1 39/145/1 40/74/1 +f 40/76/4 39/146/4 37/77/4 +f 43/79/2 44/147/2 42/80/2 +f 47/82/1 48/148/1 45/83/1 +f 44/85/5 48/149/5 47/86/5 +f 41/88/3 46/150/3 45/89/3 +f 52/91/1 56/151/1 55/92/1 +f 51/94/3 55/152/3 53/95/3 +f 50/97/5 54/153/5 56/98/5 +f 53/100/2 54/154/2 50/101/2 +f 55/103/6 56/155/6 54/104/6 +f 60/106/5 64/156/5 62/107/5 +f 62/109/2 61/157/2 57/110/2 +f 57/112/3 61/158/3 63/113/3 +f 59/115/1 63/159/1 64/116/1 +f 64/118/4 63/160/4 61/119/4 diff --git a/src/main/resources/assets/hbm/models/blocks/rail_narrow_bend.obj b/src/main/resources/assets/hbm/models/blocks/rail_narrow_bend.obj new file mode 100644 index 000000000..426e32d48 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/rail_narrow_bend.obj @@ -0,0 +1,681 @@ +# Blender v2.79 (sub 0) OBJ File: 'rail_narrow_bend.blend' +# www.blender.org +o Plane +v 0.500000 0.125000 0.375000 +v 0.500000 0.125000 -0.375000 +v 0.500000 0.000000 0.375000 +v 0.500000 0.000000 -0.437500 +v -0.463258 0.125000 -0.342627 +v 0.500000 0.000000 0.437500 +v -0.292554 0.125000 0.515560 +v 0.500000 0.000000 -0.375000 +v -0.451065 0.000000 -0.281328 +v 0.500000 0.125000 0.437500 +v 0.500000 0.125000 -0.437500 +v -0.292554 0.000000 0.515560 +v -3.325402 0.062500 1.279721 +v -3.404702 0.062500 1.376347 +v -3.325402 0.000000 1.279721 +v -3.404702 0.000000 1.376347 +v -3.057147 0.000000 2.669533 +v -2.998222 0.000000 2.559293 +v -3.057147 0.062500 2.669533 +v -2.998222 0.062500 2.559293 +v -0.601330 0.062500 0.654096 +v -0.720948 0.062500 0.690382 +v -0.601330 0.000000 0.654096 +v -0.720948 0.000000 0.690382 +v -0.052285 0.000000 -0.469798 +v 0.072113 0.000000 -0.482049 +v -0.052285 0.062500 -0.469798 +v 0.072113 0.062500 -0.482049 +v -0.891615 0.062500 -0.302844 +v -1.011232 0.062500 -0.266559 +v -0.891615 0.000000 -0.302844 +v -1.011232 0.000000 -0.266559 +v 0.045732 0.000000 0.525387 +v 0.170130 0.000000 0.513135 +v 0.045732 0.062500 0.525387 +v 0.170130 0.062500 0.513135 +v -0.463258 0.000000 -0.342627 +v -0.304748 0.000000 0.454261 +v -0.451065 0.125000 -0.281328 +v -0.304748 0.125000 0.454261 +v -3.605381 0.125000 1.756872 +v -2.877845 0.125000 2.242996 +v -3.553414 0.000000 1.791595 +v -2.877845 0.000000 2.242996 +v -3.605381 0.000000 1.756872 +v -2.929812 0.000000 2.208273 +v -3.553414 0.125000 1.791595 +v -2.929812 0.125000 2.208273 +v -2.243128 0.125000 0.394619 +v -1.757004 0.125000 1.122155 +v -2.208405 0.000000 0.446586 +v -1.757004 0.000000 1.122155 +v -2.243128 0.000000 0.394619 +v -1.791727 0.000000 1.070188 +v -2.208405 0.125000 0.446586 +v -1.791727 0.125000 1.070188 +v -4.342627 0.125000 3.536741 +v -3.484440 0.125000 3.707446 +v -4.281328 0.000000 3.548935 +v -3.484440 0.000000 3.707446 +v -4.342627 0.000000 3.536741 +v -3.545739 0.000000 3.695252 +v -4.281328 0.125000 3.548935 +v -3.545739 0.125000 3.695252 +v 0.500000 0.000000 4.500000 +v -3.625000 0.125000 4.500000 +v -4.375000 0.125000 4.500000 +v -3.625000 0.000000 4.500000 +v -4.437500 0.000000 4.500000 +v -3.562500 0.000000 4.500000 +v -4.375000 0.000000 4.500000 +v -3.562500 0.125000 4.500000 +v -4.437500 0.125000 4.500000 +v -2.416816 0.125000 1.583184 +v -2.947145 0.125000 1.052855 +v -2.416816 0.000000 1.583184 +v -2.991340 0.000000 1.008660 +v -2.372621 0.000000 1.627379 +v -2.947145 0.000000 1.052855 +v -2.372621 0.125000 1.627379 +v -2.991340 0.125000 1.008660 +v -3.311003 0.125000 2.921431 +v -4.003912 0.125000 2.634418 +v -3.311003 0.000000 2.921431 +v -4.061655 0.000000 2.610501 +v -3.253261 0.000000 2.945349 +v -4.003912 0.000000 2.634418 +v -3.253261 0.125000 2.945349 +v -4.061655 0.125000 2.610501 +v -1.078569 0.125000 0.688997 +v -1.365582 0.125000 -0.003912 +v -1.078569 0.000000 0.688997 +v -1.389499 0.000000 -0.061655 +v -1.054651 0.000000 0.746740 +v -1.365582 0.000000 -0.003912 +v -1.054651 0.125000 0.746740 +v -1.389499 0.125000 -0.061655 +v -3.880144 0.062500 2.087896 +v -3.939068 0.062500 2.198136 +v -3.880144 0.000000 2.087896 +v -3.939068 0.000000 2.198136 +v -2.631691 0.000000 2.010740 +v -2.552392 0.000000 1.914114 +v -2.631691 0.062500 2.010740 +v -2.552392 0.062500 1.914114 +v -4.266559 0.062500 2.988768 +v -4.302845 0.062500 3.108386 +v -4.266559 0.000000 2.988768 +v -4.302845 0.000000 3.108386 +v -3.486865 0.000000 4.170131 +v -3.474612 0.000000 4.045732 +v -3.486865 0.062500 4.170131 +v -3.474612 0.062500 4.045732 +v -1.989260 0.062500 1.368309 +v -2.085886 0.062500 1.447608 +v -1.989260 0.000000 1.368309 +v -2.085886 0.000000 1.447608 +v -1.912104 0.000000 0.119856 +v -1.801864 0.000000 0.060932 +v -1.912104 0.062500 0.119856 +v -1.801864 0.062500 0.060932 +v -2.623653 0.062500 0.595299 +v -2.720279 0.062500 0.674598 +v -2.623653 0.000000 0.595299 +v -2.720279 0.000000 0.674598 +v -1.440707 0.000000 1.001778 +v -1.330467 0.000000 0.942852 +v -1.440707 0.062500 1.001778 +v -1.330467 0.062500 0.942852 +v -4.469797 0.062500 3.947715 +v -4.482049 0.062500 4.072114 +v -4.469797 0.000000 3.947715 +v -4.482049 0.000000 4.072114 +v -3.345904 0.000000 3.398670 +v -3.309618 0.000000 3.279053 +v -3.345904 0.062500 3.398670 +v -3.309618 0.062500 3.279053 +vt 0.615249 0.562500 +vt 0.726069 0.437500 +vt 0.615249 0.437500 +vt 0.678003 0.453027 +vt 0.764947 0.316851 +vt 0.688434 0.459997 +vt 0.613503 0.437500 +vt 0.722644 0.562500 +vt 0.613503 0.562500 +vt 0.828202 0.562500 +vt 0.828202 0.437500 +vt 0.812063 0.161529 +vt 0.753357 0.312051 +vt 0.799759 0.159082 +vt 0.823229 0.437500 +vt 0.823229 0.562500 +vt 0.812063 0.161529 +vt 0.753357 0.312051 +vt 0.764947 0.316851 +vt 0.678003 0.453027 +vt 0.688434 0.459997 +vt 1.000000 0.437500 +vt 0.993671 0.562500 +vt 0.993671 0.437500 +vt 0.576594 0.576594 +vt 0.585465 0.585465 +vt 0.459997 0.688434 +vt 0.917722 0.437500 +vt 0.911392 0.562500 +vt 0.911392 0.437500 +vt 0.777932 0.500000 +vt 0.762144 0.437500 +vt 0.777932 0.437500 +vt 0.283574 0.500000 +vt 0.325146 0.437500 +vt 0.325146 0.500000 +vt 0.342277 0.500000 +vt 0.342277 0.437500 +vt 0.626982 0.783754 +vt 0.519041 0.612678 +vt 0.499646 0.628595 +vt 0.829653 0.500000 +vt 0.762144 0.500000 +vt 0.797787 0.091181 +vt 1.000000 0.085886 +vt 0.800246 0.066212 +vt 0.845441 0.437500 +vt 0.829653 0.437500 +vt 0.964030 0.279326 +vt 0.764669 0.245069 +vt 0.771952 0.221060 +vt 0.947343 0.500000 +vt 0.961181 0.437500 +vt 0.947343 0.437500 +vt 0.856491 0.437500 +vt 0.856491 0.500000 +vt 1.000000 0.085886 +vt 0.797787 0.091181 +vt 0.800246 0.066212 +vt 0.956746 0.303335 +vt 0.771952 0.221060 +vt 0.764669 0.245069 +vt 0.870329 0.500000 +vt 0.870329 0.437500 +vt 0.312050 0.753357 +vt 0.316851 0.764947 +vt 0.159082 0.799759 +vt 0.161529 0.812063 +vt 0.171798 0.437501 +vt 0.273931 0.562500 +vt 0.273931 0.437500 +vt 0.161529 0.812063 +vt 0.312050 0.753357 +vt 0.316851 0.764947 +vt 0.176771 0.562500 +vt 0.277356 0.437500 +vt 0.277356 0.562500 +vt 0.107153 0.562500 +vt 0.000000 0.437501 +vt 0.000000 0.562500 +vt 0.000000 0.991058 +vt 0.190898 0.959711 +vt 0.193346 0.972015 +vt 0.006329 0.437501 +vt 0.112125 0.562500 +vt 0.006329 0.562500 +vt 0.000000 0.991058 +vt 0.190898 0.959711 +vt 0.000000 0.978513 +vt 0.171798 0.562500 +vt 0.082278 0.437501 +vt 0.082278 0.562500 +vt 0.000000 0.815428 +vt 0.000000 0.827972 +vt 0.088607 0.437501 +vt 0.088607 0.562500 +vt 0.000000 0.827972 +vt 0.000000 0.815428 +vt 0.892847 0.562499 +vt 1.000000 0.562499 +vt 0.991058 0.000000 +vt 0.959711 0.190898 +vt 0.978513 0.000000 +vt 0.887875 0.562499 +vt 0.959711 0.190898 +vt 0.991058 0.000000 +vt 0.978513 0.000000 +vt 0.917722 0.562500 +vt 0.827972 0.000000 +vt 0.815427 0.000000 +vt 0.827972 0.000000 +vt 0.799759 0.159082 +vt 0.500000 0.562500 +vt 0.585465 0.585465 +vt 0.500000 0.437500 +vt 0.386497 0.437500 +vt 0.500000 0.437500 +vt 0.453027 0.678003 +vt 0.459997 0.688434 +vt 0.384751 0.437500 +vt 0.500000 0.562500 +vt 0.193346 0.972015 +vt 0.374461 0.904028 +vt 0.550602 0.824035 +vt 0.543633 0.813604 +vt 0.691913 0.691913 +vt 0.824035 0.550602 +vt 0.813604 0.543633 +vt 0.915618 0.379261 +vt 0.904028 0.374461 +vt 0.972015 0.193346 +vt 0.767173 0.562499 +vt 0.887875 0.437500 +vt 0.915618 0.379261 +vt 0.904028 0.374461 +vt 0.892847 0.437500 +vt 0.770598 0.562499 +vt 0.636203 0.437500 +vt 0.636203 0.562500 +vt 0.813604 0.543633 +vt 0.824035 0.550602 +vt 0.637950 0.437500 +vt 0.637950 0.562499 +vt 0.500000 0.562500 +vt 0.691913 0.691913 +vt 0.500000 0.562500 +vt 0.363797 0.437500 +vt 0.363797 0.562500 +vt 0.550602 0.824035 +vt 0.543633 0.813604 +vt 0.362050 0.437500 +vt 0.362050 0.562500 +vt 0.232827 0.562500 +vt 0.374461 0.904028 +vt 0.229402 0.562500 +vt 0.112125 0.437501 +vt 0.107153 0.437501 +vt 0.300705 0.437500 +vt 0.283574 0.437500 +vt 0.484159 0.879185 +vt 0.367412 0.713993 +vt 0.389540 0.702165 +vt 0.420906 0.500000 +vt 0.438722 0.437500 +vt 0.420906 0.437500 +vt 0.434944 0.437500 +vt 0.434944 0.500000 +vt 0.646376 0.767837 +vt 0.499646 0.628595 +vt 0.519041 0.612678 +vt 0.367412 0.713993 +vt 0.484159 0.879185 +vt 0.389540 0.702165 +vt 0.452759 0.500000 +vt 0.452759 0.437500 +vt 0.565056 0.500000 +vt 0.547241 0.437500 +vt 0.565056 0.437500 +vt 0.038819 0.500001 +vt 0.129671 0.437501 +vt 0.129671 0.500001 +vt 0.143509 0.500001 +vt 0.143509 0.437501 +vt 0.221060 0.771952 +vt 0.303335 0.956746 +vt 0.245069 0.764669 +vt 0.561278 0.500000 +vt 0.547241 0.500000 +vt 0.879185 0.484159 +vt 0.713993 0.367412 +vt 0.702165 0.389540 +vt 0.579094 0.437500 +vt 0.561278 0.437500 +vt 0.628595 0.499646 +vt 0.767837 0.646376 +vt 0.612678 0.519041 +vt 0.699295 0.500000 +vt 0.716426 0.437500 +vt 0.699295 0.437500 +vt 0.657723 0.437500 +vt 0.657723 0.500000 +vt 0.713993 0.367412 +vt 0.879185 0.484159 +vt 0.702165 0.389540 +vt 0.767837 0.646376 +vt 0.628595 0.499646 +vt 0.612678 0.519041 +vt 0.674854 0.500000 +vt 0.674854 0.437500 +vt 0.052657 0.437501 +vt 0.038819 0.437501 +vt 0.110855 0.997541 +vt 0.066211 0.800246 +vt 0.091181 0.797787 +vt 0.154559 0.500000 +vt 0.170347 0.437500 +vt 0.154559 0.437500 +vt 0.222068 0.437501 +vt 0.222068 0.500000 +vt 0.303335 0.956746 +vt 0.221060 0.771952 +vt 0.245069 0.764669 +vt 0.085886 1.000000 +vt 0.091181 0.797787 +vt 0.066211 0.800246 +vt 0.237856 0.500000 +vt 0.237856 0.437501 +vt 0.726069 0.562500 +vt 0.722644 0.437500 +vt 0.453027 0.678003 +vt 0.646376 0.767837 +vt 0.997541 0.110855 +vt 0.845441 0.500000 +vt 0.956746 0.303335 +vt 0.961181 0.500000 +vt 0.997541 0.110855 +vt 0.964030 0.279326 +vt 0.159082 0.799759 +vt 0.176771 0.437501 +vt 0.000000 0.978513 +vt 0.972015 0.193346 +vt 0.815427 0.000000 +vt 0.576594 0.576594 +vt 0.386497 0.562500 +vt 0.384751 0.562500 +vt 0.379261 0.915618 +vt 0.700784 0.700784 +vt 0.767173 0.437500 +vt 0.770598 0.437500 +vt 0.500000 0.437500 +vt 0.700784 0.700784 +vt 0.500000 0.437500 +vt 0.232827 0.437500 +vt 0.379261 0.915618 +vt 0.229402 0.437500 +vt 0.300705 0.500000 +vt 0.462031 0.891012 +vt 0.438722 0.500000 +vt 0.626982 0.783754 +vt 0.462031 0.891012 +vt 0.279326 0.964030 +vt 0.891012 0.462031 +vt 0.579094 0.500000 +vt 0.783754 0.626981 +vt 0.716426 0.500000 +vt 0.891012 0.462031 +vt 0.783754 0.626981 +vt 0.052657 0.500000 +vt 0.085886 1.000000 +vt 0.170347 0.500000 +vt 0.279326 0.964030 +vt 0.110855 0.997541 +vn -0.4714 0.0000 -0.8819 +vn 0.0000 1.0000 0.0000 +vn 0.4714 0.0000 0.8819 +vn -0.2903 0.0000 -0.9569 +vn 0.2903 0.0000 0.9569 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn -0.4714 0.0000 0.8819 +vn 0.8819 0.0000 0.4714 +vn -0.9569 0.0000 0.2903 +vn -0.0980 0.0000 -0.9952 +vn -0.9952 0.0000 0.0980 +vn 0.9952 0.0000 -0.0980 +vn 0.0980 0.0000 0.9952 +vn -0.9569 0.0000 -0.2903 +vn 0.9569 0.0000 0.2903 +vn -0.9952 0.0000 -0.0980 +vn 0.9952 0.0000 0.0980 +vn 0.0000 0.0000 1.0000 +vn 0.6344 0.0000 0.7730 +vn -0.6344 0.0000 -0.7730 +vn 0.7730 0.0000 0.6344 +vn -0.7730 0.0000 -0.6344 +vn -0.8819 0.0000 -0.4714 +vn 0.9569 0.0000 -0.2903 +vn -0.6344 0.0000 0.7730 +vn 0.6344 0.0000 -0.7730 +vn 0.4714 0.0000 -0.8819 +vn -0.0980 0.0000 0.9952 +vn -0.7730 0.0000 0.6344 +vn -0.8819 0.0000 0.4714 +vn 0.8819 0.0000 -0.4714 +vn 0.7730 0.0000 -0.6344 +vn -0.2903 0.0000 0.9569 +vn 0.2903 0.0000 -0.9569 +vn 0.0980 0.0000 -0.9952 +s off +f 56/1/1 92/2/1 54/3/1 +f 50/4/2 90/5/2 56/6/2 +f 52/7/3 96/8/3 50/9/3 +f 92/2/4 40/10/4 38/11/4 +f 40/12/2 96/13/2 7/14/2 +f 96/8/5 12/15/5 7/16/5 +f 38/17/6 94/18/6 92/19/6 +f 92/19/6 52/20/6 54/21/6 +f 4/22/7 2/23/7 8/24/7 +f 54/21/6 78/25/6 76/26/6 +f 78/25/6 46/27/6 76/26/6 +f 3/28/7 10/29/7 6/30/7 +f 21/31/5 24/32/5 23/33/5 +f 99/34/8 17/35/8 19/36/8 +f 20/37/9 17/35/9 18/38/9 +f 16/39/6 103/40/6 102/41/6 +f 30/42/10 24/32/10 22/43/10 +f 33/44/6 26/45/6 34/46/6 +f 30/42/4 31/47/4 32/48/4 +f 29/49/2 22/50/2 21/51/2 +f 27/52/11 26/53/11 25/54/11 +f 27/52/12 33/55/12 35/56/12 +f 28/57/2 35/58/2 36/59/2 +f 32/60/6 23/61/6 24/62/6 +f 26/53/13 36/63/13 34/64/13 +f 36/63/14 33/55/14 34/64/14 +f 46/27/6 86/65/6 84/66/6 +f 84/66/6 60/67/6 62/68/6 +f 62/69/15 82/70/15 84/71/15 +f 64/72/2 88/73/2 82/74/2 +f 58/75/16 86/76/16 88/77/16 +f 57/78/17 69/79/17 73/80/17 +f 73/81/2 63/82/2 57/83/2 +f 71/84/18 63/85/18 67/86/18 +f 69/87/6 59/88/6 71/89/6 +f 64/90/17 68/91/17 66/92/17 +f 72/93/2 64/72/2 66/94/2 +f 70/95/18 58/75/18 72/96/18 +f 68/97/6 60/67/6 70/98/6 +f 4/22/11 5/99/11 11/100/11 +f 11/101/2 39/102/2 2/103/2 +f 67/86/19 69/79/19 71/84/19 +f 72/96/19 68/91/19 70/95/19 +f 39/104/14 8/24/14 2/23/14 +f 9/105/6 4/106/6 8/107/6 +f 38/11/11 1/108/11 3/28/11 +f 1/109/2 7/14/2 10/110/2 +f 7/16/14 6/30/14 10/29/14 +f 3/111/6 12/112/6 38/17/6 +f 80/113/20 52/7/20 50/9/20 +f 74/114/2 50/4/2 56/6/2 +f 76/115/21 56/1/21 54/3/21 +f 80/113/22 44/116/22 78/117/22 +f 42/118/2 74/114/2 48/119/2 +f 46/120/23 74/121/23 76/115/23 +f 44/116/9 88/77/9 86/76/9 +f 82/74/2 42/118/2 48/119/2 +f 82/70/24 46/120/24 84/71/24 +f 61/122/6 87/123/6 59/88/6 +f 87/123/6 45/124/6 43/125/6 +f 45/124/6 79/126/6 43/125/6 +f 79/126/6 53/127/6 51/128/6 +f 51/128/6 93/129/6 95/130/6 +f 95/130/6 37/131/6 9/105/6 +f 91/132/5 9/133/5 39/104/5 +f 39/102/2 97/134/2 91/135/2 +f 37/136/4 97/137/4 5/99/4 +f 51/138/3 91/132/3 55/139/3 +f 55/140/2 97/134/2 49/141/2 +f 97/137/1 53/142/1 49/143/1 +f 75/144/20 51/138/20 55/139/20 +f 49/141/2 75/145/2 55/140/2 +f 53/142/21 81/146/21 49/143/21 +f 43/147/22 75/144/22 47/148/22 +f 75/145/2 41/149/2 47/150/2 +f 81/146/23 45/151/23 41/152/23 +f 83/153/9 43/147/9 47/148/9 +f 41/149/2 83/154/2 47/150/2 +f 45/151/24 89/155/24 41/152/24 +f 59/156/16 83/153/16 63/85/16 +f 83/154/2 57/83/2 63/82/2 +f 89/155/15 61/157/15 57/78/15 +f 31/47/25 21/31/25 23/33/25 +f 99/34/24 100/158/24 101/159/24 +f 98/160/2 19/161/2 20/162/2 +f 14/163/23 15/164/23 16/165/23 +f 14/163/26 102/166/26 104/167/26 +f 13/168/2 104/169/2 105/170/2 +f 17/171/6 100/172/6 18/173/6 +f 15/164/27 105/174/27 103/175/27 +f 105/174/22 102/166/22 103/175/22 +f 100/158/28 20/37/28 18/38/28 +f 114/176/20 117/177/20 116/178/20 +f 131/179/29 110/180/29 112/181/29 +f 113/182/18 110/180/18 111/183/18 +f 134/184/6 108/185/6 135/186/6 +f 123/187/30 117/177/30 115/188/30 +f 118/189/6 127/190/6 126/191/6 +f 123/187/21 124/192/21 125/193/21 +f 114/194/2 123/195/2 115/196/2 +f 120/197/1 119/198/1 118/199/1 +f 120/197/31 126/200/31 128/201/31 +f 129/202/2 120/203/2 128/204/2 +f 125/205/6 116/206/6 117/207/6 +f 119/198/32 129/208/32 127/209/32 +f 129/208/3 126/200/3 127/209/3 +f 124/192/33 114/176/33 116/178/33 +f 131/179/17 132/210/17 133/211/17 +f 130/212/2 112/213/2 113/214/2 +f 107/215/15 108/216/15 109/217/15 +f 107/215/34 134/218/34 136/219/34 +f 106/220/2 136/221/2 137/222/2 +f 133/223/6 111/224/6 110/225/6 +f 108/216/35 137/226/35 135/227/35 +f 137/226/16 134/218/16 135/227/16 +f 132/210/36 113/182/36 111/183/36 +f 56/1/1 90/228/1 92/2/1 +f 50/4/2 96/13/2 90/5/2 +f 52/7/3 94/229/3 96/8/3 +f 92/2/4 90/228/4 40/10/4 +f 40/12/2 90/5/2 96/13/2 +f 96/8/5 94/229/5 12/15/5 +f 38/17/6 12/112/6 94/18/6 +f 92/19/6 94/18/6 52/20/6 +f 4/22/7 11/100/7 2/23/7 +f 54/21/6 52/20/6 78/25/6 +f 78/25/6 44/230/6 46/27/6 +f 3/28/7 1/108/7 10/29/7 +f 21/31/5 22/43/5 24/32/5 +f 99/34/8 101/159/8 17/35/8 +f 20/37/9 19/36/9 17/35/9 +f 16/39/6 15/231/6 103/40/6 +f 30/42/10 32/48/10 24/32/10 +f 33/44/6 25/232/6 26/45/6 +f 30/42/4 29/233/4 31/47/4 +f 29/49/2 30/234/2 22/50/2 +f 27/52/11 28/235/11 26/53/11 +f 27/52/12 25/54/12 33/55/12 +f 28/57/2 27/236/2 35/58/2 +f 32/60/6 31/237/6 23/61/6 +f 26/53/13 28/235/13 36/63/13 +f 36/63/14 35/56/14 33/55/14 +f 46/27/6 44/230/6 86/65/6 +f 84/66/6 86/65/6 60/67/6 +f 62/69/15 64/90/15 82/70/15 +f 64/72/2 58/238/2 88/73/2 +f 58/75/16 60/239/16 86/76/16 +f 57/78/17 61/157/17 69/79/17 +f 73/81/2 67/240/2 63/82/2 +f 71/84/18 59/156/18 63/85/18 +f 69/87/6 61/122/6 59/88/6 +f 64/90/17 62/69/17 68/91/17 +f 72/93/2 58/238/2 64/72/2 +f 70/95/18 60/239/18 58/75/18 +f 68/97/6 62/68/6 60/67/6 +f 4/22/11 37/136/11 5/99/11 +f 11/101/2 5/241/2 39/102/2 +f 67/86/19 73/80/19 69/79/19 +f 72/96/19 66/92/19 68/91/19 +f 39/104/14 9/133/14 8/24/14 +f 9/105/6 37/131/6 4/106/6 +f 38/11/11 40/10/11 1/108/11 +f 1/109/2 40/12/2 7/14/2 +f 7/16/14 12/15/14 6/30/14 +f 3/111/6 6/242/6 12/112/6 +f 80/113/20 78/117/20 52/7/20 +f 74/114/2 80/243/2 50/4/2 +f 76/115/21 74/121/21 56/1/21 +f 80/113/22 42/244/22 44/116/22 +f 42/118/2 80/243/2 74/114/2 +f 46/120/23 48/245/23 74/121/23 +f 44/116/9 42/244/9 88/77/9 +f 82/74/2 88/73/2 42/118/2 +f 82/70/24 48/245/24 46/120/24 +f 61/122/6 85/246/6 87/123/6 +f 87/123/6 85/246/6 45/124/6 +f 45/124/6 77/247/6 79/126/6 +f 79/126/6 77/247/6 53/127/6 +f 51/128/6 53/127/6 93/129/6 +f 95/130/6 93/129/6 37/131/6 +f 91/132/5 95/248/5 9/133/5 +f 39/102/2 5/241/2 97/134/2 +f 37/136/4 93/249/4 97/137/4 +f 51/138/3 95/248/3 91/132/3 +f 55/140/2 91/135/2 97/134/2 +f 97/137/1 93/249/1 53/142/1 +f 75/144/20 79/250/20 51/138/20 +f 49/141/2 81/251/2 75/145/2 +f 53/142/21 77/252/21 81/146/21 +f 43/147/22 79/250/22 75/144/22 +f 75/145/2 81/251/2 41/149/2 +f 81/146/23 77/252/23 45/151/23 +f 83/153/9 87/253/9 43/147/9 +f 41/149/2 89/254/2 83/154/2 +f 45/151/24 85/255/24 89/155/24 +f 59/156/16 87/253/16 83/153/16 +f 83/154/2 89/254/2 57/83/2 +f 89/155/15 85/255/15 61/157/15 +f 31/47/25 29/233/25 21/31/25 +f 99/34/24 98/256/24 100/158/24 +f 98/160/2 99/257/2 19/161/2 +f 14/163/23 13/258/23 15/164/23 +f 14/163/26 16/165/26 102/166/26 +f 13/168/2 14/259/2 104/169/2 +f 17/171/6 101/260/6 100/172/6 +f 15/164/27 13/258/27 105/174/27 +f 105/174/22 104/167/22 102/166/22 +f 100/158/28 98/256/28 20/37/28 +f 114/176/20 115/188/20 117/177/20 +f 131/179/29 133/211/29 110/180/29 +f 113/182/18 112/181/18 110/180/18 +f 134/184/6 109/261/6 108/185/6 +f 123/187/30 125/193/30 117/177/30 +f 118/189/6 119/262/6 127/190/6 +f 123/187/21 122/263/21 124/192/21 +f 114/194/2 122/264/2 123/195/2 +f 120/197/1 121/265/1 119/198/1 +f 120/197/31 118/199/31 126/200/31 +f 129/202/2 121/266/2 120/203/2 +f 125/205/6 124/267/6 116/206/6 +f 119/198/32 121/265/32 129/208/32 +f 129/208/3 128/201/3 126/200/3 +f 124/192/33 122/263/33 114/176/33 +f 131/179/17 130/268/17 132/210/17 +f 130/212/2 131/269/2 112/213/2 +f 107/215/15 106/270/15 108/216/15 +f 107/215/34 109/217/34 134/218/34 +f 106/220/2 107/271/2 136/221/2 +f 133/223/6 132/272/6 111/224/6 +f 108/216/35 106/270/35 137/226/35 +f 137/226/16 136/219/16 134/218/16 +f 132/210/36 130/268/36 113/182/36 diff --git a/src/main/resources/assets/hbm/models/chemplant_new_body.obj b/src/main/resources/assets/hbm/models/chemplant_new_body.obj index c2342adcd..e958c24e3 100644 --- a/src/main/resources/assets/hbm/models/chemplant_new_body.obj +++ b/src/main/resources/assets/hbm/models/chemplant_new_body.obj @@ -1,4 +1,4 @@ -# Blender v2.76 (sub 0) OBJ File: 'chemplant_new_body.blend' +# Blender v2.79 (sub 0) OBJ File: 'chemplant_new_body.blend' # www.blender.org o Cube_Cube.001 v -1.500000 0.000000 1.500000 @@ -282,715 +282,918 @@ v -0.500000 2.750000 -0.625000 v -0.516747 2.750000 -0.687500 v -0.562500 2.750000 -0.733253 vt 0.000000 0.317073 -vt 0.000000 0.292683 vt 0.292683 0.292683 -vt -0.000000 0.000000 +vt 0.292683 0.317073 +vt 0.000000 0.317073 +vt 0.292683 0.292683 +vt 0.292683 0.317073 +vt -0.000000 0.317073 +vt 0.292683 0.292683 +vt 0.292683 0.317073 +vt 0.000000 0.317073 +vt 0.292683 0.292683 +vt 0.292683 0.317073 +vt 0.000000 0.292683 vt 0.292683 -0.000000 vt 0.024390 0.353659 -vt 0.292683 0.317073 vt 0.268293 0.353659 +vt 0.268293 0.353659 +vt 0.024390 0.353659 +vt 0.268293 0.353659 +vt 0.024390 0.353659 +vt 0.024390 0.353659 vt 0.292683 0.207317 -vt 0.390244 0.207317 vt 0.390244 0.256098 +vt 0.292683 0.256098 vt 0.390244 0.109756 -vt 0.378049 0.121951 vt 0.304878 0.121951 +vt 0.292683 0.109756 vt 0.365854 0.310976 +vt 0.292683 0.256098 +vt 0.390244 0.256098 +vt 0.390244 0.207317 +vt 0.292683 0.256098 +vt 0.292683 0.207317 +vt 0.390244 0.256098 vt 0.317073 0.310976 vt 0.292683 0.256098 -vt 0.323171 0.140244 +vt 0.390244 0.207317 +vt 0.292683 0.207317 +vt 0.292683 0.207317 +vt 0.390244 0.207317 +vt 0.365854 0.310976 +vt 0.317073 0.310976 vt 0.323171 0.176829 vt 0.304878 0.195122 vt 0.378049 0.195122 -vt 0.292683 0.109756 +vt 0.378049 0.121951 vt 0.359756 0.140244 vt 0.359756 0.176829 +vt 0.323171 0.140244 +vt 0.292683 0.256098 +vt 0.390244 0.207317 +vt 0.390244 0.256098 +vt 0.304878 0.195122 +vt 0.390244 0.207317 +vt 0.292683 0.207317 +vt 0.390244 0.256098 +vt 0.317073 0.310976 +vt 0.292683 0.256098 +vt 0.390244 0.256098 +vt 0.292683 0.256098 +vt 0.365854 0.310976 +vt 0.292683 0.256098 +vt 0.390244 0.256098 +vt 0.292683 0.207317 +vt 0.390244 0.207317 +vt 0.390244 0.207317 +vt 0.292683 0.207317 +vt 0.317073 0.310976 +vt 0.365854 0.310976 +vt 0.323171 0.140244 +vt 0.304878 0.121951 +vt 0.378049 0.121951 +vt 0.292683 0.109756 +vt 0.390244 0.109756 +vt 0.378049 0.195122 +vt 0.359756 0.176829 +vt 0.359756 0.140244 +vt 0.323171 0.176829 vt 0.902439 0.262195 -vt 0.902439 0.335366 vt 0.871951 0.335366 -vt 0.841463 0.262195 -vt 0.841463 0.335366 -vt 0.810976 0.335366 vt 0.871951 0.262195 +vt 0.841463 0.262195 +vt 0.810976 0.335366 vt 0.810976 0.262195 +vt 0.841463 0.335366 vt 0.780488 0.335366 -vt 0.780488 0.365854 vt 0.780488 0.262195 +vt 0.780488 0.365854 vt 0.810976 0.365854 +vt 0.902439 0.262195 +vt 0.871951 0.335366 +vt 0.871951 0.262195 +vt 0.841463 0.262195 +vt 0.810976 0.335366 +vt 0.810976 0.262195 +vt 0.841463 0.335366 +vt 0.780488 0.335366 +vt 0.780488 0.262195 +vt 0.780488 0.365854 +vt 0.810976 0.365854 +vt 0.841463 0.335366 +vt 0.810976 0.262195 +vt 0.841463 0.262195 +vt 0.902439 0.335366 +vt 0.871951 0.262195 +vt 0.902439 0.262195 +vt 0.871951 0.335366 +vt 0.810976 0.335366 +vt 0.780488 0.262195 +vt 0.780488 0.335366 +vt 0.810976 0.365854 +vt 0.780488 0.365854 +vt 0.841463 0.335366 +vt 0.810976 0.262195 +vt 0.841463 0.262195 +vt 0.902439 0.335366 +vt 0.871951 0.262195 +vt 0.902439 0.262195 +vt 0.871951 0.335366 +vt 0.810976 0.335366 +vt 0.780488 0.262195 +vt 0.780488 0.335366 +vt 0.810976 0.365854 +vt 0.780488 0.365854 +vt 0.365854 0.359756 +vt 0.365854 0.310976 +vt 0.341463 0.335366 vt 0.365854 0.359756 vt 0.341463 0.335366 +vt 0.365854 0.310976 vt 0.341463 0.359756 vt 0.341463 0.310976 vt 0.317073 0.335366 +vt 0.341463 0.359756 +vt 0.317073 0.335366 +vt 0.341463 0.310976 vt 0.268293 0.378049 vt 0.024390 0.378049 +vt 0.024390 0.378049 +vt 0.268293 0.378049 +vt 0.268293 0.378049 +vt 0.024390 0.378049 +vt 0.268293 0.378049 vt 0.024390 0.621951 +vt 0.268293 0.621951 vt 0.292683 0.012195 -vt 0.390244 0.012195 +vt 0.390244 0.109756 +vt 0.292683 0.109756 vt 0.390244 -0.000000 +vt 0.292683 -0.000000 +vt 0.390244 0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 +vt 0.390244 0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 +vt 0.390244 -0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 +vt 0.292683 0.012195 +vt 0.390244 0.109756 +vt 0.292683 0.109756 +vt 0.390244 -0.000000 +vt 0.292683 -0.000000 +vt 0.390244 0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 +vt 0.390244 0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 +vt 0.390244 -0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 vt 0.487805 0.146341 -vt 0.585366 0.146341 vt 0.560976 0.182927 +vt 0.512195 0.182927 vt 0.487805 -0.000000 vt 0.390244 0.146341 +vt 0.390244 -0.000000 vt 0.585366 0.000000 vt 0.780488 -0.000000 -vt 0.780488 0.146341 vt 0.682927 0.146341 +vt 0.682927 0.000000 vt 0.707317 0.182927 -vt 0.756098 0.182927 vt 0.756098 0.231707 -vt 0.463415 0.182927 +vt 0.707317 0.231707 +vt 0.780488 0.146341 +vt 0.707317 0.182927 vt 0.414634 0.182927 +vt 0.585366 0.146341 vt 0.658537 0.182927 vt 0.609756 0.182927 -vt 0.682927 0.000000 +vt 0.292683 0.012195 +vt 0.390244 0.109756 +vt 0.292683 0.109756 +vt 0.390244 -0.000000 +vt 0.292683 -0.000000 +vt 0.390244 0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 +vt 0.390244 0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 +vt 0.390244 -0.000000 +vt 0.292683 0.012195 +vt 0.292683 -0.000000 vt 0.847561 0.207317 -vt 0.786585 0.243902 +vt 0.786585 0.207317 vt 0.817073 0.262195 -vt 0.853659 0.164634 -vt 0.853659 0.189024 -vt 0.835366 0.189024 -vt 0.871951 0.164634 -vt 0.871951 0.189024 -vt 0.835366 0.164634 -vt 0.817073 0.189024 -vt 0.817073 0.164634 -vt 0.798781 0.189024 -vt 0.798781 0.164634 -vt 0.780488 0.189024 -vt 1.000000 0.164634 -vt 1.000000 0.189024 -vt 0.981707 0.189024 -vt 0.981707 0.164634 -vt 0.963415 0.189024 -vt 0.963415 0.164634 -vt 0.945122 0.189024 -vt 0.890244 0.164634 -vt 0.890244 0.189024 -vt 0.908537 0.164634 -vt 0.908537 0.189024 -vt 0.926829 0.164634 -vt 0.926829 0.189024 -vt 0.945122 0.164634 -vt 0.817073 0.146341 -vt 0.835366 0.146341 -vt 0.798781 0.146341 -vt 0.981707 0.146341 -vt 1.000000 0.146341 -vt 0.963415 0.146341 -vt 0.945122 0.146341 -vt 0.926829 0.146341 -vt 0.853659 0.146341 -vt 0.871951 0.146341 -vt 0.890244 0.146341 -vt 0.908537 0.146341 -vt 0.945122 -0.000000 -vt 0.908537 0.000000 -vt 0.926829 -0.000000 -vt 0.963415 0.000000 -vt 0.981707 0.000000 -vt 1.000000 0.000000 -vt 0.890244 -0.000000 -vt 0.798781 -0.000000 -vt 0.817073 0.000000 -vt 0.835366 -0.000000 -vt 0.853659 -0.000000 -vt 0.871951 -0.000000 -vt 0.908537 0.237805 -vt 0.908537 0.213415 -vt 0.914634 0.213415 vt 0.902439 0.237805 -vt 0.890244 0.237805 vt 0.890244 0.231707 -vt 0.865854 0.189024 -vt 0.865854 0.213415 -vt 0.853659 0.213415 -vt 0.975610 0.189024 -vt 0.975610 0.213415 -vt 0.963415 0.213415 -vt 0.914634 0.189024 -vt 0.902439 0.213415 -vt 0.939024 0.189024 -vt 0.939024 0.213415 -vt 0.926829 0.213415 -vt 0.878049 0.189024 -vt 0.878049 0.213415 -vt 0.987805 0.189024 -vt 0.987805 0.213415 -vt 0.951219 0.189024 -vt 0.951219 0.213415 -vt 0.890244 0.213415 -vt 1.000000 0.213415 -vt 0.902439 0.189024 +vt 0.896341 0.225610 vt 0.890244 0.256098 -vt 0.884146 0.250000 vt 0.890244 0.243902 -vt 0.878049 0.225610 +vt 0.896341 0.250000 +vt 0.878049 0.213415 vt 0.871951 0.225610 +vt 0.865854 0.219512 vt 0.853659 0.237805 -vt 0.865854 0.237805 vt 0.865854 0.243902 +vt 0.859756 0.250000 vt 0.878049 0.262195 +vt 0.884146 0.250000 +vt 0.884146 0.225610 +vt 0.878049 0.225610 +vt 0.859756 0.225610 +vt 0.865854 0.237805 +vt 0.865854 0.256098 vt 0.878049 0.250000 vt 0.890244 0.219512 -vt 0.884146 0.225610 -vt 0.859756 0.225610 +vt 0.890244 0.237805 vt 0.865854 0.231707 -vt 0.865854 0.256098 vt 0.871951 0.250000 -vt 0.896341 0.225610 -vt 0.896341 0.250000 -vt 0.865854 0.219512 -vt 0.859756 0.250000 -vt 0.939024 0.237805 -vt 0.945122 0.213415 -vt 0.926829 0.237805 -vt 0.932927 0.213415 -vt 0.957317 0.237805 -vt 0.957317 0.213415 -vt 0.920732 0.237805 -vt 0.920732 0.213415 -vt 0.951219 0.237805 -vt 0.969512 0.237805 -vt 0.969512 0.213415 -vt 0.914634 0.237805 -vt 0.945122 0.237805 -vt 0.932927 0.237805 -vt 0.963415 0.237805 -vt 0.341463 0.524390 vt 0.298781 0.548781 +vt 0.298781 0.597561 vt 0.341463 0.621951 -vt 0.463415 0.402439 -vt 0.487805 0.402439 -vt 0.487805 0.621951 -vt 0.512195 0.402439 -vt 0.512195 0.621951 -vt 0.536585 0.402439 -vt 0.536585 0.621951 -vt 0.560976 0.402439 -vt 0.585366 0.402439 -vt 0.585366 0.621951 -vt 0.609756 0.402439 -vt 0.609756 0.621951 -vt 0.634146 0.402439 -vt 0.634146 0.621951 -vt 0.414634 0.402439 -vt 0.439024 0.402439 -vt 0.439024 0.621951 -vt 0.390244 0.402439 -vt 0.414634 0.621951 -vt 0.658537 0.402439 -vt 0.682927 0.402439 -vt 0.682927 0.621951 -vt 0.658537 0.621951 -vt 0.560976 0.621951 -vt 0.463415 0.621951 -vt 0.341463 0.426829 vt 0.298781 0.451219 -vt 0.439024 0.182927 -vt 0.487805 0.182927 -vt 0.512195 0.182927 -vt 0.536585 0.182927 -vt 0.585366 0.182927 -vt 0.634146 0.182927 -vt 0.682927 0.182927 -vt 0.390244 0.182927 -vt 0.268293 0.621951 -vt 0.707317 0.231707 +vt 0.298781 0.500000 +vt 0.341463 0.524390 +vt 0.000000 0.292683 +vt -0.000000 0.292683 +vt 0.000000 0.292683 +vt -0.000000 0.000000 +vt 0.268293 0.353659 +vt 0.390244 0.207317 +vt 0.317073 0.310976 +vt 0.390244 0.256098 +vt 0.365854 0.310976 +vt 0.292683 0.207317 +vt 0.365854 0.310976 +vt 0.317073 0.310976 +vt 0.902439 0.335366 +vt 0.902439 0.335366 +vt 0.024390 0.378049 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.756098 0.182927 +vt 0.756098 0.182927 +vt 0.463415 0.182927 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 +vt 0.390244 0.012195 vt 0.835366 0.256098 vt 0.847561 0.243902 vt 0.853659 0.225610 vt 0.835366 0.195122 +vt 0.817073 0.189024 vt 0.798781 0.195122 -vt 0.786585 0.207317 vt 0.780488 0.225610 +vt 0.786585 0.243902 vt 0.798781 0.256098 -vt 0.780488 0.164634 -vt 0.975610 0.237805 vt 0.365854 0.615854 vt 0.384146 0.597561 vt 0.390244 0.573171 vt 0.384146 0.548781 vt 0.365854 0.530488 +vt 0.341463 0.524390 vt 0.317073 0.530488 vt 0.292683 0.573171 -vt 0.298781 0.597561 vt 0.317073 0.615854 -vt 0.390244 0.621951 vt 0.365854 0.518293 vt 0.384146 0.500000 vt 0.390244 0.475610 vt 0.384146 0.451219 vt 0.365854 0.432927 +vt 0.341463 0.426829 vt 0.317073 0.432927 vt 0.292683 0.475610 -vt 0.298781 0.500000 vt 0.317073 0.518293 -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.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.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.965900 0.000000 -0.258800 -vn 0.707100 0.000000 -0.707100 -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.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.694700 -0.694700 0.186200 -vn 0.508600 -0.694700 0.508600 -vn 0.186200 -0.694700 0.694700 -vn -0.186200 -0.694700 0.694700 -vn -0.508600 -0.694700 0.508600 -vn -0.694700 -0.694700 0.186200 -vn -0.694700 -0.694700 -0.186200 -vn 0.694700 -0.694700 -0.186200 -vn 0.508600 -0.694700 -0.508600 -vn 0.186200 -0.694700 -0.694700 -vn -0.186200 -0.694700 -0.694700 -vn -0.508600 -0.694700 -0.508600 -vn -0.962800 0.080200 -0.258000 -vn -0.704800 0.080200 -0.704800 -vn -0.962800 0.080200 0.258000 -vn -0.704800 0.080200 0.704800 -vn -0.258000 0.080200 0.962800 -vn -0.258000 0.080200 -0.962800 -vn 0.258000 0.080200 -0.962800 -vn 0.258000 0.080200 0.962800 -vn 0.704800 0.080200 0.704800 -vn 0.962800 0.080200 0.258000 -vn 0.962800 0.080200 -0.258000 -vn 0.704800 0.080200 -0.704800 +vt 0.853659 0.164634 +vt 0.835366 0.189024 +vt 0.835366 0.164634 +vt 0.871951 0.164634 +vt 0.853659 0.189024 +vt 0.817073 0.189024 +vt 0.817073 0.164634 +vt 0.798781 0.189024 +vt 0.798781 0.164634 +vt 0.780488 0.189024 +vt 0.780488 0.164634 +vt 1.000000 0.164634 +vt 0.981707 0.189024 +vt 0.981707 0.164634 +vt 0.963415 0.189024 +vt 0.963415 0.164634 +vt 0.945122 0.189024 +vt 0.945122 0.164634 +vt 0.890244 0.164634 +vt 0.871951 0.189024 +vt 0.908537 0.164634 +vt 0.890244 0.189024 +vt 0.926829 0.164634 +vt 0.908537 0.189024 +vt 0.926829 0.189024 +vt 0.817073 0.146341 +vt 0.780488 0.146341 +vt 0.981707 0.146341 +vt 0.945122 0.146341 +vt 0.926829 0.146341 +vt 0.835366 0.146341 +vt 0.853659 0.146341 +vt 0.871951 0.146341 +vt 0.890244 0.146341 +vt 0.908537 0.146341 +vt 0.945122 -0.000000 +vt 0.926829 -0.000000 +vt 0.908537 0.000000 +vt 0.963415 0.000000 +vt 0.981707 0.000000 +vt 0.963415 0.146341 +vt 1.000000 0.000000 +vt 0.890244 -0.000000 +vt 0.871951 -0.000000 +vt 0.798781 -0.000000 +vt 0.780488 -0.000000 +vt 0.817073 0.000000 +vt 0.798781 0.146341 +vt 0.853659 -0.000000 +vt 0.835366 -0.000000 +vt 0.908537 0.237805 +vt 0.914634 0.213415 +vt 0.914634 0.237805 +vt 0.865854 0.189024 +vt 0.853659 0.213415 +vt 0.853659 0.189024 +vt 0.975610 0.189024 +vt 0.963415 0.213415 +vt 0.963415 0.189024 +vt 0.902439 0.189024 +vt 0.914634 0.213415 +vt 0.902439 0.213415 +vt 0.926829 0.189024 +vt 0.939024 0.213415 +vt 0.926829 0.213415 +vt 0.878049 0.189024 +vt 0.865854 0.213415 +vt 0.987805 0.189024 +vt 0.975610 0.213415 +vt 0.914634 0.189024 +vt 0.939024 0.189024 +vt 0.951219 0.213415 +vt 0.890244 0.189024 +vt 0.878049 0.213415 +vt 1.000000 0.189024 +vt 0.987805 0.213415 +vt 0.951219 0.189024 +vt 0.890244 0.213415 +vt 0.939024 0.237805 +vt 0.945122 0.213415 +vt 0.945122 0.237805 +vt 0.926829 0.237805 +vt 0.932927 0.213415 +vt 0.932927 0.237805 +vt 0.957317 0.237805 +vt 0.963415 0.213415 +vt 0.963415 0.237805 +vt 0.902439 0.237805 +vt 0.908537 0.213415 +vt 0.920732 0.237805 +vt 0.926829 0.213415 +vt 0.951219 0.237805 +vt 0.957317 0.213415 +vt 0.969512 0.237805 +vt 0.975610 0.213415 +vt 0.975610 0.237805 +vt 0.920732 0.213415 +vt 0.951219 0.213415 +vt 0.939024 0.213415 +vt 0.969512 0.213415 +vt 0.463415 0.402439 +vt 0.487805 0.621951 +vt 0.463415 0.621951 +vt 0.487805 0.402439 +vt 0.512195 0.621951 +vt 0.512195 0.402439 +vt 0.536585 0.621951 +vt 0.560976 0.402439 +vt 0.585366 0.621951 +vt 0.560976 0.621951 +vt 0.585366 0.402439 +vt 0.609756 0.621951 +vt 0.609756 0.402439 +vt 0.634146 0.621951 +vt 0.414634 0.402439 +vt 0.439024 0.621951 +vt 0.414634 0.621951 +vt 0.390244 0.402439 +vt 0.390244 0.621951 +vt 0.658537 0.402439 +vt 0.682927 0.621951 +vt 0.658537 0.621951 +vt 0.634146 0.402439 +vt 0.536585 0.402439 +vt 0.439024 0.402439 +vt 0.439024 0.182927 +vt 0.463415 0.402439 +vt 0.439024 0.402439 +vt 0.463415 0.182927 +vt 0.487805 0.402439 +vt 0.487805 0.182927 +vt 0.512195 0.402439 +vt 0.512195 0.182927 +vt 0.536585 0.402439 +vt 0.536585 0.182927 +vt 0.560976 0.402439 +vt 0.560976 0.182927 +vt 0.585366 0.402439 +vt 0.585366 0.182927 +vt 0.609756 0.402439 +vt 0.609756 0.182927 +vt 0.634146 0.402439 +vt 0.634146 0.182927 +vt 0.658537 0.402439 +vt 0.658537 0.182927 +vt 0.682927 0.402439 +vt 0.390244 0.182927 +vt 0.414634 0.402439 +vt 0.390244 0.402439 +vt 0.414634 0.182927 +vt 1.000000 0.189024 +vt 1.000000 0.146341 +vt 1.000000 0.213415 +vt 0.902439 0.213415 +vt 0.682927 0.402439 +vt 0.682927 0.182927 +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.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.4472 0.0000 0.8944 +vn -0.4472 0.8944 0.0000 +vn 0.0000 1.0000 0.0000 +vn -0.4472 0.0000 -0.8944 +vn 0.3511 0.0000 -0.9363 +vn 0.3511 0.0000 0.9363 +vn 0.3511 0.9363 0.0000 +vn 0.3511 -0.9363 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.3511 0.0000 -0.9363 +vn -0.3511 0.0000 0.9363 +vn -0.3511 0.9363 0.0000 +vn -0.3511 -0.9363 0.0000 +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.8660 0.0000 -0.5000 +vn 0.6124 -0.7071 0.3536 +vn 0.7071 -0.7071 0.0000 +vn 0.3536 -0.7071 0.6124 +vn -0.0000 -0.7071 0.7071 +vn -0.3536 -0.7071 0.6124 +vn -0.6124 -0.7071 0.3536 +vn -0.7071 -0.7071 -0.0000 +vn -0.6124 -0.7071 -0.3536 +vn 0.6124 -0.7071 -0.3536 +vn 0.3536 -0.7071 -0.6124 +vn 0.0000 -0.7071 -0.7071 +vn -0.3536 -0.7071 -0.6124 +vn -0.9965 0.0830 0.0000 +vn -0.8630 0.0830 -0.4983 +vn -0.4983 0.0830 -0.8630 +vn -0.8630 0.0830 0.4983 +vn -0.4983 0.0830 0.8630 +vn -0.0000 0.0830 0.9965 +vn 0.0000 0.0830 -0.9965 +vn 0.4983 0.0830 -0.8630 +vn 0.4983 0.0830 0.8630 +vn 0.8630 0.0830 0.4983 +vn 0.9965 0.0830 0.0000 +vn 0.8630 0.0830 -0.4983 s off -f 4/1/1 3/2/1 1/3/1 -f 8/1/2 7/2/2 3/3/2 -f 6/1/3 5/2/3 7/3/3 -f 2/1/4 1/2/4 5/3/4 -f 3/2/5 7/4/5 5/5/5 -f 12/6/6 6/1/6 8/7/6 -f 4/1/7 2/7/7 9/8/7 -f 8/1/8 4/7/8 10/8/8 -f 6/7/9 12/8/9 9/6/9 -f 20/9/2 19/10/2 22/11/2 -f 19/12/3 26/13/3 28/14/3 -f 14/15/10 13/16/10 24/17/10 -f 22/10/5 19/11/5 17/17/5 -f 21/11/11 16/15/11 14/16/11 -f 20/10/12 21/11/12 23/17/12 -f 23/11/4 24/17/4 17/9/4 -f 21/17/13 22/11/13 15/15/13 -f 28/14/14 32/18/14 31/19/14 -f 18/9/3 27/20/3 25/21/3 -f 20/10/3 25/21/3 26/13/3 -f 17/22/3 28/14/3 27/20/3 -f 31/19/3 32/18/3 30/23/3 -f 25/21/15 29/24/15 30/23/15 -f 26/13/16 30/23/16 32/18/16 -f 27/20/17 31/19/17 29/24/17 -f 42/17/2 39/9/2 40/10/2 -f 48/20/1 46/21/1 39/10/1 -f 44/11/18 33/15/18 34/16/18 -f 37/9/5 39/10/5 42/11/5 -f 34/15/19 36/16/19 41/17/19 -f 43/11/12 41/17/12 40/9/12 -f 37/10/4 44/11/4 43/17/4 -f 35/16/20 42/17/20 41/11/20 -f 51/18/21 52/19/21 48/20/21 -f 45/13/1 47/14/1 38/22/1 -f 46/21/1 45/13/1 40/12/1 -f 47/14/1 48/20/1 37/9/1 -f 50/24/1 52/19/1 51/18/1 -f 50/24/22 49/23/22 45/13/22 -f 52/19/23 50/24/23 46/21/23 -f 49/23/24 51/18/24 47/14/24 -f 59/25/3 53/26/3 54/27/3 -f 56/28/1 58/29/1 57/30/1 -f 60/31/12 54/27/12 58/29/12 -f 55/32/5 57/30/5 53/33/5 -f 54/34/2 53/33/2 57/30/2 -f 67/25/3 61/26/3 62/27/3 -f 64/28/1 66/29/1 65/30/1 -f 68/31/12 62/27/12 66/29/12 -f 63/32/5 65/30/5 61/33/5 -f 62/34/2 61/33/2 65/30/2 -f 70/29/3 69/30/3 75/32/3 -f 73/26/1 74/27/1 72/31/1 -f 74/27/12 70/29/12 76/28/12 -f 69/30/5 73/33/5 71/35/5 -f 73/33/4 69/30/4 70/36/4 -f 78/29/3 77/30/3 83/32/3 -f 81/26/1 82/27/1 80/31/1 -f 82/27/12 78/29/12 84/28/12 -f 77/30/5 81/33/5 79/35/5 -f 81/33/4 77/30/4 78/36/4 -f 86/37/2 85/15/2 87/38/2 -f 89/37/4 90/38/4 88/15/4 -f 92/39/2 91/40/2 93/41/2 -f 95/39/4 96/41/4 94/40/4 -f 10/6/1 9/8/1 98/42/1 -f 97/43/3 12/6/3 11/8/3 -f 9/6/4 12/8/4 97/42/4 -f 99/42/2 100/43/2 11/6/2 -f 98/44/12 97/43/12 100/42/12 -f 131/45/12 132/46/12 129/12/12 -f 128/47/3 132/46/3 131/45/3 -f 125/47/1 130/46/1 129/45/1 -f 127/47/2 129/46/2 132/45/2 -f 126/47/4 131/46/4 130/45/4 -f 163/45/12 164/46/12 161/12/12 -f 160/47/3 164/46/3 163/45/3 -f 157/47/1 162/46/1 161/45/1 -f 159/47/2 161/46/2 164/45/2 -f 158/47/4 163/46/4 162/45/4 -f 172/48/8 169/49/8 173/50/8 -f 168/51/3 172/48/3 171/52/3 -f 167/53/2 169/49/2 172/48/2 -f 166/54/4 171/55/4 170/56/4 -f 175/57/12 176/58/12 173/59/12 -f 171/55/9 175/58/9 174/57/9 -f 172/48/6 176/60/6 175/61/6 -f 170/56/7 174/62/7 173/63/7 -f 167/53/1 165/64/1 170/56/1 -f 207/45/12 208/46/12 205/12/12 -f 204/47/3 208/46/3 207/45/3 -f 201/47/1 206/46/1 205/45/1 -f 203/47/2 205/46/2 208/45/2 -f 202/47/4 207/46/4 206/45/4 -f 197/65/12 191/66/12 179/67/12 -f 215/68/25 194/69/25 195/70/25 -f 216/71/26 193/72/26 194/69/26 -f 214/73/27 195/70/27 196/74/27 -f 213/75/28 196/74/28 197/76/28 -f 212/77/29 197/76/29 198/78/29 -f 211/79/30 198/80/30 199/81/30 -f 210/82/31 199/81/31 200/83/31 -f 209/84/32 200/83/32 179/85/32 -f 217/86/33 192/87/33 193/72/33 -f 218/88/34 191/89/34 192/87/34 -f 219/90/35 180/91/35 191/89/35 -f 220/92/36 179/85/36 180/91/36 -f 229/93/37 230/94/37 214/73/37 -f 212/77/38 228/95/38 229/93/38 -f 227/55/39 228/95/39 212/77/39 -f 226/96/40 227/97/40 211/79/40 -f 209/84/41 225/98/41 226/96/41 -f 224/99/42 225/98/42 209/84/42 -f 223/100/43 224/99/43 220/92/43 -f 214/73/44 230/94/44 231/101/44 -f 231/101/45 232/102/45 216/71/45 -f 216/71/46 232/102/46 221/103/46 -f 221/103/47 222/104/47 218/88/47 -f 222/104/48 223/100/48 219/90/48 -f 190/105/49 224/99/49 223/100/49 -f 188/106/50 189/107/50 223/100/50 -f 190/105/51 177/108/51 225/98/51 -f 178/109/52 226/96/52 225/98/52 -f 181/110/53 227/97/53 226/96/53 -f 187/111/54 188/106/54 222/104/54 -f 187/111/55 221/103/55 232/102/55 -f 182/112/56 228/95/56 227/55/56 -f 183/113/57 229/93/57 228/95/57 -f 184/114/58 230/94/58 229/93/58 -f 185/115/59 231/101/59 230/94/59 -f 185/115/60 186/116/60 232/102/60 -f 262/117/26 274/118/26 273/119/26 -f 246/120/12 258/121/12 268/122/12 -f 240/123/29 252/124/29 251/125/29 -f 237/126/32 249/127/32 248/128/32 -f 244/129/26 256/119/26 255/130/26 -f 234/131/34 245/132/34 246/133/34 -f 241/134/28 253/135/28 252/124/28 -f 237/126/31 238/136/31 250/137/31 -f 233/91/33 246/133/33 256/119/33 -f 235/138/35 247/139/35 245/132/35 -f 242/87/27 254/140/27 253/135/27 -f 239/80/30 251/141/30 250/137/30 -f 236/83/36 248/128/36 247/139/36 -f 243/142/25 255/130/25 254/140/25 -f 247/143/12 259/144/12 257/145/12 -f 254/135/12 266/146/12 265/147/12 -f 251/148/12 263/149/12 262/150/12 -f 248/151/12 260/152/12 259/144/12 -f 254/135/12 255/153/12 267/154/12 -f 251/148/12 252/155/12 264/156/12 -f 249/157/12 261/158/12 260/152/12 -f 256/159/12 268/122/12 267/154/12 -f 245/160/12 257/145/12 258/121/12 -f 253/161/12 265/147/12 264/156/12 -f 250/162/12 262/150/12 261/158/12 -f 258/163/30 270/132/30 280/164/30 -f 259/165/28 271/133/28 269/166/28 -f 266/167/36 278/168/36 277/128/36 -f 263/120/33 275/130/33 274/118/33 -f 260/169/27 272/170/27 271/133/27 -f 267/171/32 279/139/32 278/168/32 -f 264/172/34 276/173/34 275/127/34 -f 261/174/25 273/119/25 272/170/25 -f 268/175/31 280/164/31 279/139/31 -f 257/176/29 269/166/29 270/132/29 -f 265/177/35 277/128/35 276/173/35 -f 107/178/12 109/179/12 101/180/12 -f 116/181/32 117/182/32 105/183/32 -f 117/182/31 118/184/31 106/185/31 -f 118/184/30 119/186/30 107/187/30 -f 120/188/28 121/189/28 109/190/28 -f 121/189/27 122/191/27 110/192/27 -f 122/191/25 123/193/25 111/194/25 -f 113/195/35 115/196/35 103/197/35 -f 114/198/34 113/195/34 102/199/34 -f 124/200/33 114/201/33 101/202/33 -f 123/193/26 124/200/26 112/203/26 -f 119/186/29 120/188/29 108/204/29 -f 115/196/36 116/181/36 104/205/36 -f 139/206/12 141/207/12 133/178/12 -f 147/208/36 148/60/36 136/181/36 -f 148/60/32 149/209/32 137/182/32 -f 149/209/31 150/210/31 138/184/31 -f 150/210/30 151/211/30 139/186/30 -f 151/211/29 152/50/29 140/188/29 -f 152/50/28 153/212/28 141/189/28 -f 153/212/27 154/63/27 142/191/27 -f 154/63/25 155/213/25 143/193/25 -f 155/213/26 156/62/26 144/200/26 -f 156/62/33 146/214/33 133/201/33 -f 146/215/34 145/61/34 134/195/34 -f 145/61/35 147/208/35 135/196/35 -f 2/7/1 4/1/1 1/3/1 -f 4/7/2 8/1/2 3/3/2 -f 8/7/3 6/1/3 7/3/3 -f 6/7/4 2/1/4 5/3/4 -f 1/3/5 3/2/5 5/5/5 -f 11/8/6 12/6/6 8/7/6 -f 10/6/7 4/1/7 9/8/7 -f 11/6/8 8/1/8 10/8/8 -f 2/1/9 6/7/9 9/6/9 -f 21/17/2 20/9/2 22/11/2 -f 17/22/3 19/12/3 28/14/3 -f 23/11/10 14/15/10 24/17/10 -f 24/9/5 22/10/5 17/17/5 -f 23/17/11 21/11/11 14/16/11 -f 18/9/12 20/10/12 23/17/12 -f 18/10/4 23/11/4 17/9/4 -f 16/16/13 21/17/13 15/15/13 -f 27/20/14 28/14/14 31/19/14 -f 20/10/3 18/9/3 25/21/3 -f 19/12/3 20/10/3 26/13/3 -f 18/9/3 17/22/3 27/20/3 -f 29/24/3 31/19/3 30/23/3 -f 26/13/15 25/21/15 30/23/15 -f 28/14/16 26/13/16 32/18/16 -f 25/21/17 27/20/17 29/24/17 -f 41/11/2 42/17/2 40/10/2 -f 37/9/1 48/20/1 39/10/1 -f 43/17/18 44/11/18 34/16/18 -f 44/17/5 37/9/5 42/11/5 -f 43/11/19 34/15/19 41/17/19 -f 38/10/12 43/11/12 40/9/12 -f 38/9/4 37/10/4 43/17/4 -f 36/15/20 35/16/20 41/11/20 -f 47/14/21 51/18/21 48/20/21 -f 40/12/1 45/13/1 38/22/1 -f 39/10/1 46/21/1 40/12/1 -f 38/22/1 47/14/1 37/9/1 -f 49/23/1 50/24/1 51/18/1 -f 46/21/22 50/24/22 45/13/22 -f 48/20/23 52/19/23 46/21/23 -f 45/13/24 49/23/24 47/14/24 -f 60/31/3 59/25/3 54/27/3 -f 55/32/1 56/28/1 57/30/1 -f 56/28/12 60/31/12 58/29/12 -f 59/35/5 55/32/5 53/33/5 -f 58/36/2 54/34/2 57/30/2 -f 68/31/3 67/25/3 62/27/3 -f 63/32/1 64/28/1 65/30/1 -f 64/28/12 68/31/12 66/29/12 -f 67/35/5 63/32/5 61/33/5 -f 66/36/2 62/34/2 65/30/2 -f 76/28/3 70/29/3 75/32/3 -f 71/25/1 73/26/1 72/31/1 -f 72/31/12 74/27/12 76/28/12 -f 75/32/5 69/30/5 71/35/5 -f 74/34/4 73/33/4 70/36/4 -f 84/28/3 78/29/3 83/32/3 -f 79/25/1 81/26/1 80/31/1 -f 80/31/12 82/27/12 84/28/12 -f 83/32/5 77/30/5 79/35/5 -f 82/34/4 81/33/4 78/36/4 -f 99/43/1 10/6/1 98/42/1 -f 100/42/3 97/43/3 11/8/3 -f 98/43/4 9/6/4 97/42/4 -f 10/8/2 99/42/2 11/6/2 -f 99/216/12 98/44/12 100/42/12 -f 130/22/12 131/45/12 129/12/12 -f 126/5/3 128/47/3 131/45/3 -f 127/5/1 125/47/1 129/45/1 -f 128/5/2 127/47/2 132/45/2 -f 125/5/4 126/47/4 130/45/4 -f 162/22/12 163/45/12 161/12/12 -f 158/5/3 160/47/3 163/45/3 -f 159/5/1 157/47/1 161/45/1 -f 160/5/2 159/47/2 164/45/2 -f 157/5/4 158/47/4 162/45/4 -f 176/210/8 172/48/8 173/50/8 -f 166/47/3 168/51/3 171/52/3 -f 168/51/2 167/53/2 172/48/2 -f 165/64/4 166/54/4 170/56/4 -f 174/217/12 175/57/12 173/59/12 -f 170/56/9 171/55/9 174/57/9 -f 171/52/6 172/48/6 175/61/6 -f 169/49/7 170/56/7 173/63/7 -f 169/49/1 167/53/1 170/56/1 -f 206/22/12 207/45/12 205/12/12 -f 202/5/3 204/47/3 207/45/3 -f 203/5/1 201/47/1 205/45/1 -f 204/5/2 203/47/2 208/45/2 -f 201/5/4 202/47/4 206/45/4 -f 179/67/12 200/218/12 199/219/12 -f 199/219/12 198/220/12 197/65/12 -f 197/65/12 196/221/12 195/74/12 -f 195/74/12 194/222/12 193/223/12 -f 193/223/12 192/224/12 191/66/12 -f 191/66/12 180/225/12 179/67/12 -f 179/67/12 199/219/12 197/65/12 -f 197/65/12 195/74/12 193/223/12 -f 193/223/12 191/66/12 197/65/12 -f 214/73/25 215/68/25 195/70/25 -f 215/68/26 216/71/26 194/69/26 -f 213/75/27 214/73/27 196/74/27 -f 212/77/28 213/75/28 197/76/28 -f 211/226/29 212/77/29 198/78/29 -f 210/82/30 211/79/30 199/81/30 -f 209/84/31 210/82/31 200/83/31 -f 220/92/32 209/84/32 179/85/32 -f 216/71/33 217/86/33 193/72/33 -f 217/86/34 218/88/34 192/87/34 -f 218/88/35 219/90/35 191/89/35 -f 219/90/36 220/92/36 180/91/36 -f 213/75/37 229/93/37 214/73/37 -f 213/75/38 212/77/38 229/93/38 -f 211/226/39 227/55/39 212/77/39 -f 210/82/40 226/96/40 211/79/40 -f 210/82/41 209/84/41 226/96/41 -f 220/92/42 224/99/42 209/84/42 -f 219/90/43 223/100/43 220/92/43 -f 215/68/44 214/73/44 231/101/44 -f 215/68/45 231/101/45 216/71/45 -f 217/86/46 216/71/46 221/103/46 -f 217/86/47 221/103/47 218/88/47 -f 218/88/48 222/104/48 219/90/48 -f 189/107/49 190/105/49 223/100/49 -f 222/104/50 188/106/50 223/100/50 -f 224/99/51 190/105/51 225/98/51 -f 177/108/52 178/109/52 225/98/52 -f 178/109/53 181/110/53 226/96/53 -f 221/103/54 187/111/54 222/104/54 -f 186/116/55 187/111/55 232/102/55 -f 181/54/56 182/112/56 227/55/56 -f 182/112/57 183/113/57 228/95/57 -f 183/113/58 184/114/58 229/93/58 -f 184/114/59 185/115/59 230/94/59 -f 231/101/60 185/115/60 232/102/60 -f 261/174/26 262/117/26 273/119/26 -f 256/159/12 246/120/12 268/122/12 -f 239/69/29 240/123/29 251/125/29 -f 236/83/32 237/126/32 248/128/32 -f 243/142/26 244/129/26 255/130/26 -f 233/91/34 234/131/34 246/133/34 -f 240/123/28 241/134/28 252/124/28 -f 249/127/31 237/126/31 250/137/31 -f 244/129/33 233/91/33 256/119/33 -f 234/131/35 235/138/35 245/132/35 -f 241/134/27 242/87/27 253/135/27 -f 238/136/30 239/80/30 250/137/30 -f 235/138/36 236/83/36 247/139/36 -f 242/87/25 243/142/25 254/140/25 -f 245/160/12 247/143/12 257/145/12 -f 253/161/12 254/135/12 265/147/12 -f 250/162/12 251/148/12 262/150/12 -f 247/143/12 248/151/12 259/144/12 -f 266/146/12 254/135/12 267/154/12 -f 263/149/12 251/148/12 264/156/12 -f 248/151/12 249/157/12 260/152/12 -f 255/153/12 256/159/12 267/154/12 -f 246/120/12 245/160/12 258/121/12 -f 252/155/12 253/161/12 264/156/12 -f 249/157/12 250/162/12 261/158/12 -f 268/175/30 258/163/30 280/164/30 -f 257/176/28 259/165/28 269/166/28 -f 265/177/36 266/167/36 277/128/36 -f 262/117/33 263/120/33 274/118/33 -f 259/165/27 260/169/27 271/133/27 -f 266/167/32 267/171/32 278/168/32 -f 263/227/34 264/172/34 275/127/34 -f 260/169/25 261/174/25 272/170/25 -f 267/171/31 268/175/31 279/139/31 -f 258/163/29 257/176/29 270/132/29 -f 264/172/35 265/177/35 276/173/35 -f 101/180/12 102/228/12 103/229/12 -f 103/229/12 104/230/12 105/231/12 -f 105/231/12 106/232/12 107/178/12 -f 107/178/12 108/233/12 109/179/12 -f 109/179/12 110/234/12 111/235/12 -f 111/235/12 112/236/12 101/180/12 -f 101/180/12 103/229/12 105/231/12 -f 105/231/12 107/178/12 101/180/12 -f 109/179/12 111/235/12 101/180/12 -f 104/205/32 116/181/32 105/183/32 -f 105/183/31 117/182/31 106/185/31 -f 106/185/30 118/184/30 107/187/30 -f 108/204/28 120/188/28 109/190/28 -f 109/190/27 121/189/27 110/192/27 -f 110/192/25 122/191/25 111/194/25 -f 102/199/35 113/195/35 103/197/35 -f 101/237/34 114/198/34 102/199/34 -f 112/203/33 124/200/33 101/202/33 -f 111/194/26 123/193/26 112/203/26 -f 107/187/29 119/186/29 108/204/29 -f 103/197/36 115/196/36 104/205/36 -f 133/178/12 134/238/12 135/239/12 -f 135/239/12 136/240/12 133/178/12 -f 137/241/12 138/242/12 139/206/12 -f 139/206/12 140/243/12 141/207/12 -f 141/207/12 142/244/12 143/245/12 -f 143/245/12 144/246/12 133/178/12 -f 133/178/12 136/240/12 137/241/12 -f 137/241/12 139/206/12 133/178/12 -f 141/207/12 143/245/12 133/178/12 -f 135/196/36 147/208/36 136/181/36 -f 136/181/32 148/60/32 137/182/32 -f 137/182/31 149/209/31 138/184/31 -f 138/184/30 150/210/30 139/186/30 -f 139/186/29 151/211/29 140/188/29 -f 140/188/28 152/50/28 141/189/28 -f 141/189/27 153/212/27 142/191/27 -f 142/191/25 154/63/25 143/193/25 -f 143/193/26 155/213/26 144/200/26 -f 144/200/33 156/62/33 133/201/33 -f 133/198/34 146/215/34 134/195/34 -f 134/195/35 145/61/35 135/196/35 +f 4/1/1 1/2/1 2/3/1 +f 8/4/2 3/5/2 4/6/2 +f 6/7/3 7/8/3 8/9/3 +f 2/10/4 5/11/4 6/12/4 +f 3/13/5 5/14/5 1/2/5 +f 12/15/6 8/9/6 11/16/6 +f 4/1/7 9/17/7 10/18/7 +f 8/4/8 10/19/8 11/20/8 +f 6/12/9 9/21/9 2/10/9 +f 20/22/2 22/23/2 21/24/2 +f 19/25/3 28/26/3 17/27/3 +f 14/28/10 24/29/10 23/30/10 +f 22/31/5 17/32/5 24/33/5 +f 21/34/11 14/35/11 23/36/11 +f 20/37/12 23/36/12 18/38/12 +f 23/30/4 17/39/4 18/40/4 +f 21/24/13 15/41/13 16/42/13 +f 28/26/14 31/43/14 27/44/14 +f 18/38/3 25/45/3 20/37/3 +f 20/37/3 26/46/3 19/25/3 +f 17/27/3 27/44/3 18/38/3 +f 31/43/3 30/47/3 29/48/3 +f 25/45/15 30/47/15 26/46/15 +f 26/46/16 32/49/16 28/26/16 +f 27/44/17 29/48/17 25/45/17 +f 42/50/2 40/51/2 41/52/2 +f 48/53/1 39/54/1 37/55/1 +f 44/56/18 34/57/18 43/58/18 +f 37/55/5 42/59/5 44/60/5 +f 34/61/19 41/62/19 43/63/19 +f 43/63/12 40/64/12 38/65/12 +f 37/66/4 43/58/4 38/67/4 +f 35/68/20 41/52/20 36/69/20 +f 51/70/21 48/53/21 47/71/21 +f 45/72/1 38/73/1 40/74/1 +f 46/75/1 40/74/1 39/54/1 +f 47/71/1 37/55/1 38/73/1 +f 50/76/1 51/70/1 49/77/1 +f 50/76/22 45/72/22 46/75/22 +f 52/78/23 46/75/23 48/53/23 +f 49/77/24 47/71/24 45/72/24 +f 59/79/3 54/80/3 60/81/3 +f 56/82/1 57/83/1 55/84/1 +f 60/81/12 58/85/12 56/82/12 +f 55/84/5 53/86/5 59/87/5 +f 54/88/2 57/83/2 58/89/2 +f 67/90/3 62/91/3 68/92/3 +f 64/93/1 65/94/1 63/95/1 +f 68/92/12 66/96/12 64/93/12 +f 63/95/5 61/97/5 67/98/5 +f 62/99/2 65/94/2 66/100/2 +f 70/101/3 75/102/3 76/103/3 +f 73/104/1 72/105/1 71/106/1 +f 74/107/12 76/103/12 72/105/12 +f 69/108/5 71/109/5 75/102/5 +f 73/110/4 70/111/4 74/112/4 +f 78/113/3 83/114/3 84/115/3 +f 81/116/1 80/117/1 79/118/1 +f 82/119/12 84/115/12 80/117/12 +f 77/120/5 79/121/5 83/114/5 +f 81/122/4 78/123/4 82/124/4 +f 86/125/2 85/126/2 87/127/2 +f 89/128/4 90/129/4 88/130/4 +f 92/131/2 91/132/2 93/133/2 +f 95/134/4 96/135/4 94/136/4 +f 10/18/1 98/137/1 99/138/1 +f 97/139/3 11/16/3 100/140/3 +f 9/21/4 97/141/4 98/142/4 +f 99/143/2 11/20/2 10/19/2 +f 98/144/12 100/140/12 99/145/12 +f 131/146/12 129/147/12 130/148/12 +f 128/149/3 131/146/3 126/150/3 +f 125/151/1 129/152/1 127/153/1 +f 127/154/2 132/155/2 128/156/2 +f 126/157/4 130/158/4 125/159/4 +f 163/160/12 161/161/12 162/162/12 +f 160/163/3 163/160/3 158/164/3 +f 157/165/1 161/166/1 159/167/1 +f 159/168/2 164/169/2 160/170/2 +f 158/171/4 162/172/4 157/173/4 +f 172/174/8 173/175/8 176/176/8 +f 168/177/3 171/178/3 166/179/3 +f 167/180/2 172/174/2 168/177/2 +f 166/181/4 170/182/4 165/183/4 +f 175/184/12 173/185/12 174/186/12 +f 171/187/9 174/188/9 170/182/9 +f 172/174/6 175/189/6 171/178/6 +f 169/190/7 174/191/7 173/192/7 +f 167/180/1 170/182/1 169/190/1 +f 207/193/12 205/194/12 206/195/12 +f 204/196/3 207/193/3 202/197/3 +f 201/198/1 205/199/1 203/200/1 +f 203/201/2 208/202/2 204/203/2 +f 202/204/4 206/205/4 201/206/4 +f 197/207/12 193/208/12 179/209/12 +f 246/210/12 268/211/12 256/212/12 +f 247/213/12 257/214/12 245/215/12 +f 254/216/12 265/217/12 253/218/12 +f 251/219/12 262/220/12 250/221/12 +f 248/222/12 259/223/12 247/213/12 +f 254/216/12 267/224/12 266/225/12 +f 252/226/12 263/227/12 251/219/12 +f 249/228/12 260/229/12 248/222/12 +f 256/212/12 267/224/12 255/230/12 +f 245/215/12 258/231/12 246/210/12 +f 253/218/12 264/232/12 252/226/12 +f 250/221/12 261/233/12 249/228/12 +f 109/234/12 111/235/12 101/236/12 +f 141/237/12 143/238/12 133/239/12 +f 4/1/1 3/13/1 1/2/1 +f 8/4/2 7/240/2 3/5/2 +f 6/7/3 5/241/3 7/8/3 +f 2/10/4 1/242/4 5/11/4 +f 3/13/5 7/243/5 5/14/5 +f 12/15/6 6/7/6 8/9/6 +f 4/1/7 2/3/7 9/17/7 +f 8/4/8 4/6/8 10/19/8 +f 6/12/9 12/244/9 9/21/9 +f 20/22/2 19/245/2 22/23/2 +f 19/25/3 26/46/3 28/26/3 +f 14/28/10 13/246/10 24/29/10 +f 22/31/5 19/247/5 17/32/5 +f 21/34/11 16/248/11 14/35/11 +f 20/37/12 21/34/12 23/36/12 +f 23/30/4 24/29/4 17/39/4 +f 21/24/13 22/23/13 15/41/13 +f 28/26/14 32/49/14 31/43/14 +f 18/38/3 27/44/3 25/45/3 +f 20/37/3 25/45/3 26/46/3 +f 17/27/3 28/26/3 27/44/3 +f 31/43/3 32/49/3 30/47/3 +f 25/45/15 29/48/15 30/47/15 +f 26/46/16 30/47/16 32/49/16 +f 27/44/17 31/43/17 29/48/17 +f 42/50/2 39/249/2 40/51/2 +f 48/53/1 46/75/1 39/54/1 +f 44/56/18 33/250/18 34/57/18 +f 37/55/5 39/54/5 42/59/5 +f 34/61/19 36/251/19 41/62/19 +f 43/63/12 41/62/12 40/64/12 +f 37/66/4 44/56/4 43/58/4 +f 35/68/20 42/50/20 41/52/20 +f 51/70/21 52/78/21 48/53/21 +f 45/72/1 47/71/1 38/73/1 +f 46/75/1 45/72/1 40/74/1 +f 47/71/1 48/53/1 37/55/1 +f 50/76/1 52/78/1 51/70/1 +f 50/76/22 49/77/22 45/72/22 +f 52/78/23 50/76/23 46/75/23 +f 49/77/24 51/70/24 47/71/24 +f 59/79/3 53/252/3 54/80/3 +f 56/82/1 58/85/1 57/83/1 +f 60/81/12 54/80/12 58/85/12 +f 55/84/5 57/83/5 53/86/5 +f 54/88/2 53/86/2 57/83/2 +f 67/90/3 61/253/3 62/91/3 +f 64/93/1 66/96/1 65/94/1 +f 68/92/12 62/91/12 66/96/12 +f 63/95/5 65/94/5 61/97/5 +f 62/99/2 61/97/2 65/94/2 +f 70/101/3 69/108/3 75/102/3 +f 73/104/1 74/107/1 72/105/1 +f 74/107/12 70/101/12 76/103/12 +f 69/108/5 73/110/5 71/109/5 +f 73/110/4 69/108/4 70/111/4 +f 78/113/3 77/120/3 83/114/3 +f 81/116/1 82/119/1 80/117/1 +f 82/119/12 78/113/12 84/115/12 +f 77/120/5 81/122/5 79/121/5 +f 81/122/4 77/120/4 78/123/4 +f 10/18/1 9/17/1 98/137/1 +f 97/139/3 12/15/3 11/16/3 +f 9/21/4 12/244/4 97/141/4 +f 99/143/2 100/254/2 11/20/2 +f 98/144/12 97/139/12 100/140/12 +f 131/146/12 132/255/12 129/147/12 +f 128/149/3 132/255/3 131/146/3 +f 125/151/1 130/256/1 129/152/1 +f 127/154/2 129/257/2 132/155/2 +f 126/157/4 131/258/4 130/158/4 +f 163/160/12 164/259/12 161/161/12 +f 160/163/3 164/259/3 163/160/3 +f 157/165/1 162/260/1 161/166/1 +f 159/168/2 161/261/2 164/169/2 +f 158/171/4 163/262/4 162/172/4 +f 172/174/8 169/190/8 173/175/8 +f 168/177/3 172/174/3 171/178/3 +f 167/180/2 169/190/2 172/174/2 +f 166/181/4 171/187/4 170/182/4 +f 175/184/12 176/263/12 173/185/12 +f 171/187/9 175/264/9 174/188/9 +f 172/174/6 176/265/6 175/189/6 +f 169/190/7 170/182/7 174/191/7 +f 167/180/1 165/183/1 170/182/1 +f 207/193/12 208/266/12 205/194/12 +f 204/196/3 208/266/3 207/193/3 +f 201/198/1 206/267/1 205/199/1 +f 203/201/2 205/268/2 208/202/2 +f 202/204/4 207/269/4 206/205/4 +f 179/209/12 200/270/12 199/271/12 +f 199/271/12 198/272/12 197/207/12 +f 197/207/12 196/273/12 195/274/12 +f 195/274/12 194/275/12 193/208/12 +f 193/208/12 192/276/12 191/277/12 +f 191/277/12 180/278/12 193/208/12 +f 180/278/12 179/209/12 193/208/12 +f 179/209/12 199/271/12 197/207/12 +f 197/207/12 195/274/12 193/208/12 +f 246/210/12 258/231/12 268/211/12 +f 247/213/12 259/223/12 257/214/12 +f 254/216/12 266/225/12 265/217/12 +f 251/219/12 263/227/12 262/220/12 +f 248/222/12 260/229/12 259/223/12 +f 254/216/12 255/230/12 267/224/12 +f 252/226/12 264/232/12 263/227/12 +f 249/228/12 261/233/12 260/229/12 +f 256/212/12 268/211/12 267/224/12 +f 245/215/12 257/214/12 258/231/12 +f 253/218/12 265/217/12 264/232/12 +f 250/221/12 262/220/12 261/233/12 +f 101/236/12 102/279/12 103/280/12 +f 103/280/12 104/281/12 105/282/12 +f 105/282/12 106/283/12 107/284/12 +f 107/284/12 108/285/12 109/234/12 +f 109/234/12 110/286/12 111/235/12 +f 111/235/12 112/287/12 101/236/12 +f 101/236/12 103/280/12 105/282/12 +f 105/282/12 107/284/12 101/236/12 +f 107/284/12 109/234/12 101/236/12 +f 133/239/12 134/288/12 135/289/12 +f 135/289/12 136/290/12 133/239/12 +f 136/290/12 137/291/12 133/239/12 +f 137/291/12 138/292/12 139/293/12 +f 139/293/12 140/294/12 141/237/12 +f 141/237/12 142/295/12 143/238/12 +f 143/238/12 144/296/12 133/239/12 +f 137/291/12 139/293/12 133/239/12 +f 139/293/12 141/237/12 133/239/12 +s 1 +f 215/297/25 195/298/3 214/299/3 +f 216/300/26 194/301/25 215/297/25 +f 214/299/3 196/302/27 213/303/27 +f 213/303/27 197/304/28 212/305/28 +f 212/305/28 198/306/4 211/307/4 +f 211/308/4 199/309/29 210/310/29 +f 210/310/29 200/311/30 209/312/30 +f 209/312/30 179/313/1 220/314/1 +f 217/315/2 193/316/26 216/300/26 +f 218/317/31 192/318/2 217/315/2 +f 219/319/32 191/320/31 218/317/31 +f 220/314/1 180/321/32 219/319/32 +f 229/322/33 214/299/34 213/303/33 +f 212/305/35 229/322/33 213/303/33 +f 227/323/36 212/305/35 211/307/36 +f 226/324/37 211/308/36 210/310/37 +f 209/312/38 226/324/37 210/310/37 +f 224/325/39 209/312/38 220/314/39 +f 223/326/40 220/314/39 219/319/40 +f 230/327/34 215/297/41 214/299/34 +f 231/328/41 216/300/42 215/297/41 +f 232/329/42 217/315/43 216/300/42 +f 221/330/43 218/317/44 217/315/43 +f 222/331/44 219/319/40 218/317/44 +f 190/332/45 223/326/46 189/333/46 +f 189/333/46 222/331/47 188/334/47 +f 177/335/48 224/325/45 190/332/45 +f 178/336/49 225/337/48 177/335/48 +f 181/338/50 226/324/49 178/336/49 +f 188/334/47 221/330/51 187/339/51 +f 187/339/51 232/329/52 186/340/52 +f 182/341/53 227/323/50 181/342/50 +f 183/343/54 228/344/53 182/341/53 +f 183/343/54 230/327/55 229/322/54 +f 185/345/56 230/327/55 184/346/55 +f 186/340/52 231/328/56 185/345/56 +f 262/347/26 273/348/25 261/349/25 +f 240/350/28 251/351/4 239/352/4 +f 237/353/30 248/354/1 236/355/1 +f 243/356/25 256/357/26 255/358/25 +f 233/359/2 245/360/31 246/361/2 +f 241/362/27 252/363/28 240/350/28 +f 238/364/29 249/365/30 237/353/30 +f 244/366/26 246/361/2 256/357/26 +f 234/367/31 247/368/32 245/360/31 +f 242/369/3 253/370/27 241/362/27 +f 239/371/4 250/372/29 238/364/29 +f 236/355/1 247/368/32 235/373/32 +f 243/356/25 254/374/3 242/369/3 +f 258/375/4 280/376/29 268/377/29 +f 259/378/27 269/379/28 257/380/28 +f 266/381/1 277/382/32 265/383/32 +f 263/384/2 274/385/26 262/347/26 +f 260/386/3 271/387/27 259/378/27 +f 267/388/30 278/389/1 266/381/1 +f 264/390/31 275/391/2 263/392/2 +f 261/349/25 272/393/3 260/386/3 +f 268/377/29 279/394/30 267/388/30 +f 257/380/28 270/395/4 258/375/4 +f 265/383/32 276/396/31 264/390/31 +f 116/397/1 105/398/30 104/399/1 +f 117/400/30 106/401/29 105/398/30 +f 118/402/29 107/403/4 106/401/29 +f 120/404/28 109/405/27 108/406/28 +f 121/407/27 110/408/3 109/405/27 +f 122/409/3 111/410/25 110/408/3 +f 113/411/31 103/412/32 102/413/31 +f 114/414/2 102/413/31 101/415/2 +f 124/416/26 101/417/2 112/418/26 +f 123/419/25 112/418/26 111/410/25 +f 119/420/4 108/406/28 107/403/4 +f 115/421/32 104/399/1 103/412/32 +f 147/422/32 136/423/1 135/424/32 +f 148/425/1 137/426/30 136/423/1 +f 149/427/30 138/428/29 137/426/30 +f 150/429/29 139/430/4 138/428/29 +f 151/431/4 140/432/28 139/430/4 +f 152/433/28 141/434/27 140/432/28 +f 153/435/27 142/436/3 141/434/27 +f 154/437/3 143/438/25 142/436/3 +f 155/439/25 144/440/26 143/438/25 +f 156/441/26 133/442/2 144/440/26 +f 146/443/2 134/444/31 133/445/2 +f 145/446/31 135/424/32 134/444/31 +f 215/297/25 194/301/25 195/298/3 +f 216/300/26 193/316/26 194/301/25 +f 214/299/3 195/298/3 196/302/27 +f 213/303/27 196/302/27 197/304/28 +f 212/305/28 197/304/28 198/306/4 +f 211/308/4 198/447/4 199/309/29 +f 210/310/29 199/309/29 200/311/30 +f 209/312/30 200/311/30 179/313/1 +f 217/315/2 192/318/2 193/316/26 +f 218/317/31 191/320/31 192/318/2 +f 219/319/32 180/321/32 191/320/31 +f 220/314/1 179/313/1 180/321/32 +f 229/322/33 230/327/34 214/299/34 +f 212/305/35 228/344/35 229/322/33 +f 227/323/36 228/344/35 212/305/35 +f 226/324/37 227/448/36 211/308/36 +f 209/312/38 225/337/38 226/324/37 +f 224/325/39 225/337/38 209/312/38 +f 223/326/40 224/325/39 220/314/39 +f 230/327/34 231/328/41 215/297/41 +f 231/328/41 232/329/42 216/300/42 +f 232/329/42 221/330/43 217/315/43 +f 221/330/43 222/331/44 218/317/44 +f 222/331/44 223/326/40 219/319/40 +f 190/332/45 224/325/45 223/326/46 +f 189/333/46 223/326/46 222/331/47 +f 177/335/48 225/337/48 224/325/45 +f 178/336/49 226/324/49 225/337/48 +f 181/338/50 227/448/50 226/324/49 +f 188/334/47 222/331/47 221/330/51 +f 187/339/51 221/330/51 232/329/52 +f 182/341/53 228/344/53 227/323/50 +f 183/343/54 229/322/54 228/344/53 +f 183/343/54 184/346/55 230/327/55 +f 185/345/56 231/328/56 230/327/55 +f 186/340/52 232/329/52 231/328/56 +f 262/347/26 274/385/26 273/348/25 +f 240/350/28 252/363/28 251/351/4 +f 237/353/30 249/365/30 248/354/1 +f 243/356/25 244/366/26 256/357/26 +f 233/359/2 234/367/31 245/360/31 +f 241/362/27 253/370/27 252/363/28 +f 238/364/29 250/372/29 249/365/30 +f 244/366/26 233/359/2 246/361/2 +f 234/367/31 235/373/32 247/368/32 +f 242/369/3 254/374/3 253/370/27 +f 239/371/4 251/449/4 250/372/29 +f 236/355/1 248/354/1 247/368/32 +f 243/356/25 255/358/25 254/374/3 +f 258/375/4 270/395/4 280/376/29 +f 259/378/27 271/387/27 269/379/28 +f 266/381/1 278/389/1 277/382/32 +f 263/384/2 275/450/2 274/385/26 +f 260/386/3 272/393/3 271/387/27 +f 267/388/30 279/394/30 278/389/1 +f 264/390/31 276/396/31 275/391/2 +f 261/349/25 273/348/25 272/393/3 +f 268/377/29 280/376/29 279/394/30 +f 257/380/28 269/379/28 270/395/4 +f 265/383/32 277/382/32 276/396/31 +f 116/397/1 117/400/30 105/398/30 +f 117/400/30 118/402/29 106/401/29 +f 118/402/29 119/420/4 107/403/4 +f 120/404/28 121/407/27 109/405/27 +f 121/407/27 122/409/3 110/408/3 +f 122/409/3 123/419/25 111/410/25 +f 113/411/31 115/421/32 103/412/32 +f 114/414/2 113/411/31 102/413/31 +f 124/416/26 114/451/2 101/417/2 +f 123/419/25 124/416/26 112/418/26 +f 119/420/4 120/404/28 108/406/28 +f 115/421/32 116/397/1 104/399/1 +f 147/422/32 148/425/1 136/423/1 +f 148/425/1 149/427/30 137/426/30 +f 149/427/30 150/429/29 138/428/29 +f 150/429/29 151/431/4 139/430/4 +f 151/431/4 152/433/28 140/432/28 +f 152/433/28 153/435/27 141/434/27 +f 153/435/27 154/437/3 142/436/3 +f 154/437/3 155/439/25 143/438/25 +f 155/439/25 156/441/26 144/440/26 +f 156/441/26 146/452/2 133/442/2 +f 146/443/2 145/446/31 134/444/31 +f 145/446/31 147/422/32 135/424/32 diff --git a/src/main/resources/assets/hbm/models/machines/microwave.obj b/src/main/resources/assets/hbm/models/machines/microwave.obj index 2f258c742..b13288dd5 100644 --- a/src/main/resources/assets/hbm/models/machines/microwave.obj +++ b/src/main/resources/assets/hbm/models/machines/microwave.obj @@ -1,963 +1,9 @@ -# Blender v2.82 (sub 7) OBJ File: 'microwave.blend' +# Blender v2.79 (sub 0) OBJ File: '' # www.blender.org -mtllib microwave.mtl -o mainbody_Cube.001 -v 0.238197 1.183358 -0.728996 -v 0.234821 1.183358 -0.728996 -v 0.238197 1.183358 -0.735637 -v 0.234821 1.183358 -0.735637 -v 0.238197 0.787154 -0.728996 -v 0.234821 0.787154 -0.728996 -v 0.234338 0.840926 -0.735637 -v 0.234821 1.127133 -0.735637 -v 0.238197 1.127133 -0.735637 -v 0.238197 0.840926 -0.735637 -v 0.155271 1.127133 -0.735637 -v 0.149897 1.125951 -0.735637 -v 0.838582 1.118357 -0.735637 -v 0.836356 1.121211 -0.735637 -v 0.827432 1.125951 -0.735637 -v 0.822058 1.127133 -0.735637 -v 0.826572 0.842109 -0.735637 -v 0.821198 0.840926 -0.735637 -v 0.837722 0.849703 -0.735637 -v 0.835496 0.846848 -0.735637 -v 0.140113 0.846848 -0.735637 -v 0.137887 0.849703 -0.735637 -v 0.154411 0.840926 -0.735637 -v 0.149037 0.842109 -0.735637 -v 0.138747 1.118357 -0.735637 -v 0.140973 1.121211 -0.735637 -v 0.234338 0.840926 -0.731795 -v 0.234821 1.127133 -0.731795 -v 0.140973 1.121211 -0.731795 -v 0.138747 1.118357 -0.731795 -v 0.149897 1.125951 -0.731795 -v 0.155271 1.127133 -0.731795 -v 0.137887 0.849703 -0.731795 -v 0.140113 0.846848 -0.731795 -v 0.149037 0.842109 -0.731795 -v 0.154411 0.840926 -0.731795 -v 0.303131 1.127133 -0.732176 -v 0.303131 0.840926 -0.732176 -v 0.820933 1.127133 -0.732176 -v 0.826308 1.125951 -0.732176 -v 0.835231 1.121211 -0.732176 -v 0.837458 1.118357 -0.732176 -v 0.836597 0.849703 -0.732176 -v 0.834371 0.846848 -0.732176 -v 0.825447 0.842109 -0.732176 -v 0.820073 0.840926 -0.732176 -v 0.234821 0.787154 -0.735637 -v 0.238197 0.787154 -0.735637 -v 0.114423 1.183358 -0.161513 -v 0.117047 1.181387 -0.156304 -v 0.127829 1.183358 -0.151007 -v 0.121182 1.181387 -0.153063 -v 0.127829 1.183358 -0.735637 -v 0.121182 1.181387 -0.733581 -v 0.117047 1.181387 -0.730340 -v 0.114423 1.183358 -0.725132 -v 0.862732 0.787154 -0.159690 -v 0.857794 0.789125 -0.156304 -v 0.849338 0.787154 -0.151007 -v 0.853658 0.789125 -0.153063 -v 0.847012 1.183358 -0.151007 -v 0.853658 1.181387 -0.153063 -v 0.857794 1.181387 -0.156304 -v 0.860417 1.183358 -0.161513 -v 0.853658 0.789125 -0.733581 -v 0.857794 0.789125 -0.730340 -v 0.860417 0.787154 -0.726955 -v 0.848027 0.787154 -0.735637 -v 0.860417 1.183358 -0.725132 -v 0.857794 1.181387 -0.730340 -v 0.853658 1.181387 -0.733581 -v 0.847012 1.183358 -0.735637 -v 0.112109 0.787154 -0.726955 -v 0.115750 0.789125 -0.732973 -v 0.120534 0.789125 -0.735475 -v 0.126814 0.787154 -0.735637 -v 0.125502 0.787154 -0.149193 -v 0.121182 0.789125 -0.153063 -v 0.117047 0.789125 -0.156304 -v 0.114423 0.787154 -0.159690 -v 0.246749 0.852258 -0.727568 -v 0.246749 1.118254 -0.727568 -v 0.246749 0.852258 -0.734150 -v 0.246749 1.118254 -0.734150 -v 0.282202 0.852258 -0.727568 -v 0.282202 1.118254 -0.727568 -v 0.282202 0.852258 -0.734150 -v 0.282202 1.118254 -0.734150 -v 0.246749 0.985256 -0.755632 -v 0.246749 0.985256 -0.762214 -v 0.264475 0.852258 -0.734150 -v 0.264475 1.118254 -0.734150 -v 0.282202 0.985256 -0.762214 -v 0.282202 0.985256 -0.755632 -v 0.264475 0.852258 -0.727568 -v 0.264475 1.118254 -0.727568 -v 0.264475 0.985256 -0.755632 -v 0.264475 0.985256 -0.762214 -v 0.246749 0.852258 -0.730859 -v 0.246749 1.051755 -0.751094 -v 0.246749 1.118254 -0.730859 -v 0.246749 0.918757 -0.754385 -v 0.255612 0.852258 -0.734150 -v 0.273339 1.118254 -0.734150 -v 0.282202 0.918757 -0.754385 -v 0.282202 0.852258 -0.730859 -v 0.282202 1.118254 -0.730859 -v 0.282202 0.918757 -0.747802 -v 0.273339 0.852258 -0.727568 -v 0.255612 1.118254 -0.727568 -v 0.246749 0.918757 -0.747802 -v 0.246749 1.051755 -0.757676 -v 0.273339 0.852258 -0.734150 -v 0.255612 1.118254 -0.734150 -v 0.282202 1.051755 -0.757676 -v 0.282202 1.051755 -0.751094 -v 0.255612 0.852258 -0.727568 -v 0.273339 1.118254 -0.727568 -v 0.264475 1.118254 -0.730849 -v 0.264475 0.852258 -0.730849 -v 0.255612 0.985256 -0.755632 -v 0.273339 0.985256 -0.755632 -v 0.264475 0.918757 -0.747802 -v 0.264475 1.051755 -0.751094 -v 0.282202 0.985256 -0.758923 -v 0.273339 0.985256 -0.762214 -v 0.255612 0.985256 -0.762214 -v 0.264475 0.918757 -0.754385 -v 0.264475 1.051755 -0.757676 -v 0.246749 0.985256 -0.758923 -v 0.246749 0.918757 -0.751094 -v 0.255612 1.051755 -0.757676 -v 0.255612 0.918757 -0.754385 -v 0.273339 0.918757 -0.754385 -v 0.282202 0.918757 -0.751094 -v 0.273339 1.051755 -0.751094 -v 0.273339 0.918757 -0.747802 -v 0.255612 0.918757 -0.747802 -v 0.255612 0.852258 -0.730849 -v 0.273339 1.118254 -0.730849 -v 0.255612 1.118254 -0.730849 -v 0.273339 0.852258 -0.730849 -v 0.255612 1.051755 -0.751094 -v 0.282202 1.051755 -0.754385 -v 0.273339 1.051755 -0.757676 -v 0.246749 1.051755 -0.754385 -v 0.303131 1.127133 -0.208209 -v 0.303131 0.840926 -0.208209 -v 0.820933 1.127133 -0.208209 -v 0.826308 1.125951 -0.208209 -v 0.835231 1.121211 -0.208209 -v 0.837458 1.118357 -0.208209 -v 0.836597 0.849703 -0.208209 -v 0.834371 0.846848 -0.208209 -v 0.825447 0.842109 -0.208209 -v 0.820073 0.840926 -0.208209 -v 0.339101 1.091541 -0.732176 -v 0.339101 0.874846 -0.732176 -v 0.796813 1.091541 -0.732176 -v 0.800847 1.090653 -0.732176 -v 0.807544 1.087096 -0.732176 -v 0.809215 1.084954 -0.732176 -v 0.808569 0.881432 -0.732176 -v 0.806898 0.879290 -0.732176 -v 0.800201 0.875733 -0.732176 -v 0.796168 0.874846 -0.732176 -v 0.238197 0.840926 -0.731795 -v 0.238197 1.127133 -0.731795 -v 0.415576 0.913412 -0.000812 -v 0.415576 1.057100 -0.000812 -v 0.415576 0.913412 -0.157633 -v 0.415576 1.057100 -0.157633 -v 0.559264 0.913412 -0.000812 -v 0.559264 1.057100 -0.000812 -v 0.559264 0.913412 -0.157633 -v 0.559264 1.057100 -0.157633 -vt 0.187756 0.185116 -vt 0.190250 0.359586 -vt 0.187359 0.359553 -vt 0.184816 0.183014 -vt 0.011904 0.361665 -vt 0.011410 0.182951 -vt 0.434160 0.035160 -vt 0.437617 0.233175 -vt 0.433848 0.233203 -vt 0.421314 0.234632 -vt 0.421314 0.024505 -vt 0.424461 0.141338 -vt 0.180342 0.556180 -vt 0.006258 0.555192 -vt 0.180341 0.553216 -vt 0.619010 0.294600 -vt 0.615336 0.293939 -vt 0.618997 0.293255 -vt 0.560911 0.771909 -vt 0.499383 0.771947 -vt 0.573681 0.763070 -vt 0.551781 0.278506 -vt 0.554882 0.277399 -vt 0.554849 0.278591 -vt 0.477598 0.276038 -vt 0.480699 0.274931 -vt 0.480666 0.276123 -vt 0.456844 0.275464 -vt 0.476217 0.274807 -vt 0.476184 0.275999 -vt 0.556296 0.277438 -vt 0.556263 0.278630 -vt 0.477631 0.274846 -vt 0.575727 0.277976 -vt 0.575694 0.279168 -vt 0.550366 0.278467 -vt 0.551814 0.277314 -vt 0.482080 0.276163 -vt 0.550399 0.277275 -vt 0.482113 0.274971 -vt 0.529499 0.294540 -vt 0.531162 0.293570 -vt 0.531174 0.294916 -vt 0.615349 0.295285 -vt 0.613628 0.294117 -vt 0.536559 0.295677 -vt 0.613641 0.295463 -vt 0.534848 0.295531 -vt 0.536546 0.294332 -vt 0.620678 0.294193 -vt 0.620665 0.292848 -vt 0.534835 0.294186 -vt 0.390231 0.176341 -vt 0.365296 0.176585 -vt 0.365277 0.174628 -vt 0.008379 0.053132 -vt 0.010531 0.175541 -vt 0.008501 0.175525 -vt 0.678815 0.051868 -vt 0.681765 0.009865 -vt 0.681766 0.212069 -vt 0.191651 0.177060 -vt 0.014270 0.002844 -vt 0.192984 0.003659 -vt 0.661827 0.216665 -vt 0.508504 0.216408 -vt 0.472754 0.213047 -vt 0.182461 0.549659 -vt 0.002549 0.378060 -vt 0.181254 0.376258 -vt 0.008747 0.359552 -vt 0.004975 0.185105 -vt 0.008120 0.184943 -vt 0.006284 0.051542 -vt 0.010601 0.053093 -vt 0.004000 0.561180 -vt 0.003756 0.551834 -vt 0.006284 0.177060 -vt 0.012743 0.177034 -vt 0.012878 0.051518 -vt 0.184195 0.361727 -vt 0.193393 0.361723 -vt 0.190903 0.184977 -vt 0.194207 0.183009 -vt 0.182571 0.559338 -vt 0.182461 0.550031 -vt 0.006443 0.558120 -vt 0.002020 0.183025 -vt 0.004195 0.360497 -vt 0.005856 0.359540 -vt 0.363575 0.189539 -vt 0.388348 0.187899 -vt 0.391408 0.191039 -vt 0.913862 0.374962 -vt 0.932207 0.411652 -vt 0.913862 0.411652 -vt 0.947121 0.484382 -vt 0.928948 0.502555 -vt 0.928948 0.484382 -vt 0.922832 0.558833 -vt 0.904487 0.595522 -vt 0.904487 0.558833 -vt 0.904487 0.650556 -vt 0.922832 0.668901 -vt 0.904487 0.668901 -vt 0.831108 0.558833 -vt 0.849453 0.595522 -vt 0.831108 0.595522 -vt 0.977866 0.558833 -vt 0.996210 0.595522 -vt 0.977866 0.595522 -vt 0.959521 0.558833 -vt 0.941176 0.595522 -vt 0.941176 0.558833 -vt 0.812764 0.558833 -vt 0.794419 0.595522 -vt 0.794419 0.558833 -vt 0.886142 0.650556 -vt 0.867798 0.668901 -vt 0.867798 0.650556 -vt 0.867798 0.613867 -vt 0.886142 0.632212 -vt 0.867798 0.632212 -vt 0.922832 0.613867 -vt 0.904487 0.632212 -vt 0.904487 0.613867 -vt 0.867798 0.558833 -vt 0.886142 0.595522 -vt 0.867798 0.595522 -vt 0.899580 0.488095 -vt 0.881478 0.506196 -vt 0.881478 0.488095 -vt 0.899580 0.451892 -vt 0.881478 0.469993 -vt 0.881478 0.451892 -vt 0.947121 0.448035 -vt 0.928948 0.466208 -vt 0.928948 0.448035 -vt 0.895517 0.374962 -vt 0.877173 0.411652 -vt 0.877173 0.374962 -vt 0.858828 0.411652 -vt 0.858828 0.374962 -vt 0.877173 0.338273 -vt 0.858828 0.338273 -vt 0.895517 0.338273 -vt 0.917681 0.451892 -vt 0.899580 0.469993 -vt 0.917681 0.433790 -vt 0.899580 0.433790 -vt 0.947121 0.429861 -vt 0.928948 0.429861 -vt 0.867173 0.448727 -vt 0.848828 0.467071 -vt 0.848828 0.448727 -vt 0.867173 0.430382 -vt 0.848828 0.430382 -vt 0.881478 0.433790 -vt 0.867173 0.485416 -vt 0.848828 0.503761 -vt 0.848828 0.485416 -vt 0.867173 0.467071 -vt 0.849453 0.558833 -vt 0.849453 0.522144 -vt 0.867798 0.522144 -vt 0.886142 0.558833 -vt 0.886142 0.613867 -vt 0.922832 0.595522 -vt 0.849453 0.632212 -vt 0.849453 0.613867 -vt 0.849453 0.668901 -vt 0.849453 0.650556 -vt 0.776074 0.595522 -vt 0.776074 0.558833 -vt 0.794419 0.522144 -vt 0.776074 0.522144 -vt 0.812764 0.522144 -vt 0.941176 0.522144 -vt 0.922832 0.522144 -vt 0.959521 0.522144 -vt 0.959521 0.595522 -vt 0.977866 0.522144 -vt 0.996210 0.558833 -vt 0.812764 0.595522 -vt 0.831108 0.522144 -vt 0.886142 0.668901 -vt 0.922832 0.632212 -vt 0.904487 0.522144 -vt 0.886142 0.522144 -vt 0.917681 0.488095 -vt 0.899580 0.506196 -vt 0.917681 0.469993 -vt 0.947121 0.466208 -vt 0.895517 0.411652 -vt 0.913862 0.338273 -vt 0.932207 0.374962 -vt 0.002361 0.690819 -vt 0.139582 0.797050 -vt 0.002382 0.797077 -vt 0.002401 0.574653 -vt 0.139602 0.577216 -vt 0.002401 0.577243 -vt 0.002381 0.685835 -vt 0.139582 0.688398 -vt 0.002381 0.688425 -vt 0.002381 0.579638 -vt 0.139602 0.683414 -vt 0.002401 0.683441 -vt 0.142087 0.686223 -vt 0.139686 0.823759 -vt 0.139686 0.686202 -vt 0.139581 0.685808 -vt 0.139686 0.574626 -vt 0.278011 0.686118 -vt 0.139686 0.686118 -vt 0.248444 0.686223 -vt 0.142087 0.823780 -vt 0.139581 0.579611 -vt 0.139561 0.690792 -vt 0.250041 0.742196 -vt 0.249216 0.741377 -vt 0.249011 0.740883 -vt 0.774121 0.040412 -vt 0.741243 0.024151 -vt 0.740050 0.027021 -vt 0.969467 0.033059 -vt 0.943495 0.044419 -vt 0.971709 0.034142 -vt 0.946381 0.253662 -vt 0.739889 0.270791 -vt 0.975938 0.269283 -vt 0.769234 0.254505 -vt 0.778655 0.034951 -vt 0.748853 0.018299 -vt 0.746005 0.019438 -vt 0.975297 0.038147 -vt 0.946804 0.049219 -vt 0.976119 0.040486 -vt 0.775156 0.037976 -vt 0.946189 0.047450 -vt 0.941812 0.043603 -vt 0.456798 0.276753 -vt 0.529486 0.293195 -vt 0.696767 0.284505 -vt 0.696612 0.283178 -vt 0.740071 0.299235 -vt 0.431207 0.203196 -vt 0.430221 0.118309 -vt 0.434139 0.035214 -vt 0.688985 0.442006 -vt 0.730728 0.480254 -vt 0.688985 0.480254 -vt 0.730728 0.556749 -vt 0.688985 0.518501 -vt 0.730728 0.518501 -vt 0.754269 0.654412 -vt 0.666048 0.576401 -vt 0.754269 0.576401 -vt 0.730728 0.442006 -vt 0.688985 0.403759 -vt 0.730728 0.403759 -vt 0.437617 0.035132 -vt 0.428782 0.141338 -vt 0.428782 0.234632 -vt 0.422863 0.024375 -vt 0.423529 0.042958 -vt 0.424425 0.042882 -vt 0.499383 0.483956 -vt 0.561202 0.483917 -vt 0.573995 0.492741 -vt 0.572269 0.489869 -vt 0.565361 0.485105 -vt 0.571963 0.765944 -vt 0.565067 0.770717 -vt 0.456877 0.274272 -vt 0.362261 0.174619 -vt 0.362252 0.177081 -vt 0.221168 0.176128 -vt 0.218310 0.173556 -vt 0.218310 0.006092 -vt 0.221417 0.003539 -vt 0.388881 0.003540 -vt 0.391433 0.006646 -vt 0.393601 0.173750 -vt 0.525055 0.212989 -vt 0.674718 0.186092 -vt 0.524902 0.186971 -vt 0.472754 0.045915 -vt 0.472804 0.009580 -vt 0.673151 0.046188 -vt 0.676096 0.185512 -vt 0.678376 0.183205 -vt 0.674995 0.046955 -vt 0.678054 0.050022 -vt 0.678940 0.181820 -vt 0.012947 0.175130 -vt 0.698934 0.213354 -vt 0.698934 0.245794 -vt 0.666837 0.221675 -vt 0.666837 0.245794 -vt 0.503488 0.245686 -vt 0.472755 0.245833 -vt 0.503488 0.221424 -vt 0.666162 0.220045 -vt 0.663456 0.217340 -vt 0.504163 0.219793 -vt 0.506872 0.217084 -vt 0.004989 0.551834 -vt 0.390747 0.356145 -vt 0.386158 0.360486 -vt 0.360628 0.189572 -vt 0.219798 0.360486 -vt 0.216697 0.357385 -vt 0.216697 0.191025 -vt 0.219798 0.187924 -vt 0.360628 0.187426 -vt 0.363600 0.187579 -vt 0.947121 0.502555 -vt 0.922832 0.650556 -vt 0.867173 0.503761 -vt 0.996210 0.522144 -vt 0.917681 0.506196 -vt 0.932207 0.338273 -vt 0.139601 0.574626 -vt 0.278011 0.574626 -vt 0.248444 0.823780 -vt 0.249011 0.687906 -vt 0.294366 0.687906 -vt 0.294366 0.740616 -vt 0.294160 0.741111 -vt 0.292839 0.742143 -vt 0.250538 0.742399 -vt 0.293336 0.741935 -vt 0.781306 0.033891 -vt 0.457098 0.275488 -vt 0.976119 0.297728 -vt 0.433827 0.231012 -vt 0.431907 0.231171 -vt 0.429916 0.203288 -vt 0.426195 0.118261 -vt 0.427181 0.035132 -vt 0.688985 0.556749 -vt 0.666048 0.654412 -vn 0.6168 0.0000 0.7871 -vn 0.0025 0.0046 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn -0.6168 0.0073 -0.7871 -vn -0.4637 -0.8731 -0.1506 -vn 0.4691 0.8832 0.0000 -vn 0.4691 -0.8832 0.0000 -vn 0.0000 -1.0000 0.0000 -vn 0.2148 0.9766 0.0000 -vn 0.2148 -0.9766 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.7885 0.6150 0.0000 -vn 1.0000 -0.0032 0.0000 -vn 0.7885 -0.6150 0.0000 -vn -0.2143 0.9743 -0.0697 -vn -0.7638 -0.5958 -0.2482 -vn -0.9511 0.0030 -0.3090 -vn -0.7639 0.5958 -0.2482 -vn -0.2143 -0.9743 -0.0696 -vn -0.4637 0.8731 -0.1507 -vn 0.6168 0.0000 -0.7871 -vn 1.0000 0.0058 -0.0041 -vn -1.0000 0.0058 0.0041 -vn -0.6168 0.0000 0.7871 -vn 0.5448 -0.4689 -0.6952 -vn -0.2589 -0.8607 -0.4385 -vn 0.3836 0.7831 -0.4895 -vn 0.8931 0.0000 -0.4499 -vn 0.3427 0.0009 -0.9394 -vn 0.3836 0.7831 0.4895 -vn 0.2955 0.0000 0.9553 -vn 0.5448 -0.4690 0.6952 -vn 0.5674 0.0071 0.8234 -vn -0.3836 0.7831 -0.4895 -vn -0.2969 0.0051 -0.9549 -vn -0.8565 0.0063 -0.5161 -vn -0.5448 -0.4689 0.6952 -vn -0.6654 0.0073 0.7465 -vn -0.3836 0.7831 0.4895 -vn -0.8931 0.0000 0.4499 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.3335 -0.9427 -vn 0.0000 -0.3335 0.9427 -vn 0.0000 0.1169 0.9931 -vn 0.0000 -0.1169 -0.9931 -vn 0.0000 0.0681 -0.9977 -vn 0.0000 -0.2911 -0.9567 -vn 0.0000 -0.0681 0.9977 -vn 0.0000 0.2911 0.9567 -vn -0.4691 0.8832 0.0000 -vn -0.4691 -0.8832 0.0000 -vn -1.0000 0.0032 0.0000 -vn -0.2149 0.9766 0.0000 -vn -0.7885 -0.6150 0.0000 -vn -0.7886 0.6150 0.0000 -vn -0.2148 -0.9766 0.0000 -vn -0.0059 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn 1.0000 0.0090 0.0000 -vn 0.9796 -0.0017 -0.2012 -vn -0.4635 0.0050 -0.8861 -vn -0.4637 -0.8731 -0.1507 -vn -0.2143 0.9743 -0.0696 -vn -0.7639 -0.5957 -0.2482 -vn -0.7639 0.5957 -0.2482 -vn 0.4513 -0.6177 -0.6440 -vn -0.2689 -0.8145 -0.5141 -vn 0.7912 0.0028 -0.6115 -vn 0.2956 0.0000 -0.9553 -vn 0.3836 0.7831 0.4894 -vn 0.4288 0.0025 0.9034 -vn 0.5423 -0.0782 0.8365 -vn 0.8931 0.0000 0.4499 -vn -0.3836 0.7831 -0.4894 -vn -0.0258 0.0001 -0.9997 -vn -0.8920 0.0073 -0.4520 -vn -0.6855 -0.0817 0.7235 -vn -0.2955 0.0000 0.9553 -vn -0.7912 0.0028 0.6115 -vn -0.7885 0.6150 0.0000 -usemtl Material.002 -s off -f 60/1/1 63/2/1 62/3/1 -f 59/4/2 51/5/2 77/6/2 -f 5/7/3 2/8/3 1/9/3 -f 2/10/4 6/11/4 28/12/4 -f 54/13/5 74/14/5 55/15/5 -f 15/16/6 41/17/6 40/18/6 -f 32/19/3 28/20/3 30/21/3 -f 21/22/7 35/23/7 24/24/7 -f 12/25/8 29/26/8 26/27/8 -f 8/28/9 32/29/9 11/30/9 -f 24/24/10 36/31/10 23/32/10 -f 11/30/11 31/33/11 12/25/11 -f 23/32/12 27/34/12 7/35/12 -f 22/36/13 34/37/13 21/22/13 -f 25/38/14 33/39/14 22/36/14 -f 26/27/15 30/40/15 25/38/15 -f 18/41/16 45/42/16 17/43/16 -f 14/44/17 42/45/17 41/17/17 -f 19/46/18 42/45/18 13/47/18 -f 20/48/19 43/49/19 19/46/19 -f 16/50/20 40/18/20 39/51/20 -f 17/43/21 44/52/21 20/48/21 -f 76/53/9 47/54/9 6/55/9 -f 66/56/22 71/57/22 70/58/22 -f 13/59/3 72/60/3 68/61/3 -f 67/62/23 64/63/23 57/64/23 -f 25/65/3 22/66/3 76/67/3 -f 80/68/24 56/69/24 73/70/24 -f 52/71/25 79/72/25 78/73/25 -f 67/74/26 65/75/26 66/56/26 -f 74/14/27 76/76/27 73/77/27 -f 69/78/28 71/57/28 72/79/28 -f 69/78/29 66/56/29 70/58/29 -f 72/79/30 65/75/30 68/80/30 -f 61/81/31 63/2/31 64/82/31 -f 61/81/32 60/1/32 62/3/32 -f 59/4/33 58/83/33 60/1/33 -f 64/82/34 58/83/34 57/84/34 -f 53/85/35 55/15/35 56/86/35 -f 53/85/36 75/87/36 54/13/36 -f 73/77/37 55/15/37 74/14/37 -f 80/88/38 78/73/38 79/72/38 -f 51/5/39 78/73/39 77/6/39 -f 49/89/40 52/71/40 51/5/40 -f 49/89/41 79/72/41 50/90/41 -f 2/91/12 53/92/12 56/93/12 -f 146/94/42 84/95/42 112/96/42 -f 104/97/43 115/98/43 145/99/43 -f 107/100/4 116/101/4 144/102/4 -f 143/103/44 82/104/44 100/105/44 -f 142/106/9 85/107/9 109/108/9 -f 141/109/12 82/110/12 110/111/12 -f 119/112/12 118/113/12 140/114/12 -f 120/115/9 117/116/9 139/117/9 -f 121/118/45 111/119/45 138/120/45 -f 137/121/45 97/122/45 123/123/45 -f 118/124/44 124/125/44 136/126/44 -f 135/127/4 94/128/4 108/129/4 -f 126/130/46 105/131/46 134/132/46 -f 127/133/46 128/134/46 133/135/46 -f 114/136/43 129/137/43 132/138/43 -f 130/139/42 102/140/42 131/141/42 -f 131/141/42 83/142/42 99/143/42 -f 111/144/42 99/143/42 81/145/42 -f 89/146/42 131/141/42 111/144/42 -f 132/147/47 98/148/47 127/133/47 -f 112/149/47 127/133/47 90/150/47 -f 84/151/43 132/138/43 112/152/43 -f 133/153/48 91/154/48 103/155/48 -f 102/156/48 103/155/48 83/157/48 -f 90/150/46 133/135/46 102/158/46 -f 134/159/48 87/160/48 113/161/48 -f 128/162/48 113/161/48 91/154/48 -f 98/148/46 134/132/46 128/134/46 -f 106/163/4 108/129/4 85/107/4 -f 87/164/4 135/127/4 106/163/4 -f 105/165/4 125/166/4 135/127/4 -f 136/126/49 97/122/49 122/167/49 -f 116/101/49 122/167/49 94/128/49 -f 86/168/44 136/126/44 116/101/44 -f 137/121/50 95/169/50 109/170/50 -f 108/129/50 109/170/50 85/107/50 -f 94/128/45 137/121/45 108/129/45 -f 138/120/50 81/171/50 117/172/50 -f 123/123/50 117/172/50 95/169/50 -f 97/122/45 138/120/45 123/123/45 -f 139/117/9 81/173/9 99/174/9 -f 103/175/9 99/174/9 83/176/9 -f 91/177/9 139/117/9 103/175/9 -f 140/114/12 86/168/12 107/100/12 -f 104/178/12 107/100/12 88/179/12 -f 92/180/12 140/114/12 104/178/12 -f 141/109/12 96/181/12 119/112/12 -f 114/182/12 119/112/12 92/180/12 -f 114/182/12 101/183/12 141/109/12 -f 142/106/9 95/184/9 120/115/9 -f 113/185/9 120/115/9 91/177/9 -f 113/185/9 106/163/9 142/106/9 -f 143/103/49 89/186/49 121/118/49 -f 124/125/49 121/118/49 97/122/49 -f 96/187/44 143/103/44 124/125/44 -f 144/102/4 94/128/4 125/166/4 -f 115/188/4 125/166/4 93/189/4 -f 88/179/4 144/102/4 115/188/4 -f 145/190/47 93/191/47 126/130/47 -f 129/192/47 126/130/47 98/148/47 -f 92/193/43 145/99/43 129/137/43 -f 130/139/42 112/96/42 90/194/42 -f 89/146/42 146/94/42 130/139/42 -f 100/195/42 101/196/42 146/94/42 -f 39/197/9 147/198/9 37/199/9 -f 45/200/51 154/201/51 44/202/51 -f 41/203/52 150/204/52 40/205/52 -f 43/206/53 152/207/53 42/208/53 -f 46/209/54 155/210/54 45/211/54 -f 42/208/55 151/212/55 41/203/55 -f 37/213/4 148/214/4 38/215/4 -f 38/216/12 156/217/12 46/209/12 -f 44/202/56 153/218/56 43/206/56 -f 40/205/57 149/219/57 39/197/57 -f 154/220/3 155/221/3 156/222/3 -f 166/223/3 45/224/3 46/225/3 -f 42/226/3 161/227/3 41/228/3 -f 157/229/3 38/230/3 37/231/3 -f 158/232/3 46/225/3 38/230/3 -f 164/233/3 43/234/3 44/235/3 -f 40/236/3 159/237/3 39/238/3 -f 39/238/3 157/229/3 37/231/3 -f 165/239/3 44/235/3 45/224/3 -f 41/228/3 160/240/3 40/236/3 -f 43/234/3 162/241/3 42/226/3 -f 10/242/12 46/243/12 18/41/12 -f 9/244/9 39/51/9 168/245/9 -f 167/246/58 37/231/58 38/230/58 -f 168/247/42 167/248/42 5/249/42 -f 170/250/42 171/251/42 169/252/42 -f 176/253/4 173/254/4 175/255/4 -f 174/256/59 169/257/59 173/258/59 -f 175/255/9 169/252/9 171/251/9 -f 172/259/12 174/260/12 176/261/12 -f 60/1/1 58/83/1 63/2/1 -f 59/4/59 61/81/59 51/5/59 -f 5/7/3 6/262/3 2/8/3 -f 8/263/4 4/264/4 28/12/4 -f 4/264/4 2/10/4 28/12/4 -f 6/11/60 47/265/60 27/266/60 -f 47/265/60 7/267/60 27/266/60 -f 6/11/61 27/266/61 28/12/61 -f 54/13/62 75/87/62 74/14/62 -f 15/16/63 14/44/63 41/17/63 -f 28/20/3 27/268/3 30/21/3 -f 27/268/3 36/269/3 33/270/3 -f 33/270/3 36/269/3 34/271/3 -f 36/269/3 35/272/3 34/271/3 -f 33/270/3 30/21/3 27/268/3 -f 30/21/3 29/273/3 31/274/3 -f 31/274/3 32/19/3 30/21/3 -f 21/22/7 34/37/7 35/23/7 -f 12/25/8 31/33/8 29/26/8 -f 8/28/9 28/275/9 32/29/9 -f 24/24/10 35/23/10 36/31/10 -f 11/30/11 32/29/11 31/33/11 -f 23/32/12 36/31/12 27/34/12 -f 22/36/13 33/39/13 34/37/13 -f 25/38/14 30/40/14 33/39/14 -f 26/27/15 29/26/15 30/40/15 -f 18/41/64 46/243/64 45/42/64 -f 14/44/65 13/47/65 42/45/65 -f 19/46/18 43/49/18 42/45/18 -f 20/48/66 44/52/66 43/49/66 -f 16/50/20 15/16/20 40/18/20 -f 17/43/21 45/42/21 44/52/21 -f 5/276/9 48/277/9 68/278/9 -f 68/278/9 67/279/9 5/276/9 -f 67/279/9 57/280/9 59/281/9 -f 5/276/9 67/279/9 59/281/9 -f 59/281/9 77/282/9 80/283/9 -f 5/276/9 59/281/9 80/283/9 -f 80/283/9 73/284/9 6/55/9 -f 5/276/9 80/283/9 6/55/9 -f 73/284/9 76/53/9 6/55/9 -f 66/56/22 65/75/22 71/57/22 -f 68/61/3 48/285/3 18/286/3 -f 48/285/3 10/287/3 18/286/3 -f 9/288/3 3/289/3 16/290/3 -f 3/289/3 72/60/3 16/290/3 -f 68/61/3 18/286/3 17/291/3 -f 68/61/3 17/291/3 20/292/3 -f 15/293/3 16/290/3 72/60/3 -f 14/294/3 15/293/3 72/60/3 -f 68/61/3 20/292/3 19/295/3 -f 13/59/3 14/294/3 72/60/3 -f 68/61/3 19/295/3 13/59/3 -f 67/62/4 69/296/4 64/63/4 -f 53/297/3 4/298/3 11/299/3 -f 4/298/3 8/300/3 11/299/3 -f 7/301/3 47/302/3 23/303/3 -f 47/302/3 76/67/3 23/303/3 -f 53/297/3 11/299/3 12/304/3 -f 53/297/3 12/304/3 26/305/3 -f 24/306/3 23/303/3 76/67/3 -f 21/307/3 24/306/3 76/67/3 -f 53/297/3 26/305/3 25/65/3 -f 22/66/3 21/307/3 76/67/3 -f 53/297/3 25/65/3 76/67/3 -f 80/68/42 49/308/42 56/69/42 -f 52/71/25 50/90/25 79/72/25 -f 67/74/67 68/80/67 65/75/67 -f 74/14/68 75/87/68 76/76/68 -f 69/78/28 70/58/28 71/57/28 -f 69/78/69 67/74/69 66/56/69 -f 72/79/70 71/57/70 65/75/70 -f 61/81/71 62/3/71 63/2/71 -f 61/81/72 59/4/72 60/1/72 -f 59/4/73 57/84/73 58/83/73 -f 64/82/74 63/2/74 58/83/74 -f 53/85/75 54/13/75 55/15/75 -f 53/85/76 76/76/76 75/87/76 -f 73/77/77 56/86/77 55/15/77 -f 80/88/78 77/6/78 78/73/78 -f 51/5/79 52/71/79 78/73/79 -f 49/89/40 50/90/40 52/71/40 -f 49/89/80 80/88/80 79/72/80 -f 56/93/12 49/309/12 2/91/12 -f 49/309/12 51/310/12 1/311/12 -f 2/91/12 49/309/12 1/311/12 -f 51/310/12 61/312/12 1/311/12 -f 61/312/12 64/313/12 1/311/12 -f 64/313/12 69/314/12 1/311/12 -f 69/314/12 72/315/12 1/311/12 -f 72/315/12 3/316/12 1/311/12 -f 2/91/12 4/317/12 53/92/12 -f 146/94/42 101/196/42 84/95/42 -f 104/97/43 88/318/43 115/98/43 -f 107/100/4 86/168/4 116/101/4 -f 143/103/44 110/319/44 82/104/44 -f 142/106/9 106/163/9 85/107/9 -f 141/109/12 101/183/12 82/110/12 -f 119/112/12 96/181/12 118/113/12 -f 120/115/9 95/184/9 117/116/9 -f 121/118/45 89/186/45 111/119/45 -f 137/121/45 122/167/45 97/122/45 -f 118/124/44 96/187/44 124/125/44 -f 135/127/4 125/166/4 94/128/4 -f 126/130/46 93/191/46 105/131/46 -f 127/133/46 98/148/46 128/134/46 -f 114/136/43 92/193/43 129/137/43 -f 130/139/42 90/194/42 102/140/42 -f 131/141/42 102/140/42 83/142/42 -f 111/144/42 131/141/42 99/143/42 -f 89/146/42 130/139/42 131/141/42 -f 132/147/47 129/192/47 98/148/47 -f 112/149/47 132/147/47 127/133/47 -f 84/151/43 114/136/43 132/138/43 -f 133/153/48 128/162/48 91/154/48 -f 102/156/48 133/153/48 103/155/48 -f 90/150/46 127/133/46 133/135/46 -f 134/159/48 105/320/48 87/160/48 -f 128/162/48 134/159/48 113/161/48 -f 98/148/46 126/130/46 134/132/46 -f 106/163/4 135/127/4 108/129/4 -f 87/164/4 105/165/4 135/127/4 -f 105/165/4 93/189/4 125/166/4 -f 136/126/49 124/125/49 97/122/49 -f 116/101/49 136/126/49 122/167/49 -f 86/168/44 118/124/44 136/126/44 -f 137/121/50 123/123/50 95/169/50 -f 108/129/50 137/121/50 109/170/50 -f 94/128/45 122/167/45 137/121/45 -f 138/120/50 111/119/50 81/171/50 -f 123/123/50 138/120/50 117/172/50 -f 97/122/45 121/118/45 138/120/45 -f 139/117/9 117/116/9 81/173/9 -f 103/175/9 139/117/9 99/174/9 -f 91/177/9 120/115/9 139/117/9 -f 140/114/12 118/113/12 86/168/12 -f 104/178/12 140/114/12 107/100/12 -f 92/180/12 119/112/12 140/114/12 -f 141/109/12 110/111/12 96/181/12 -f 114/182/12 141/109/12 119/112/12 -f 114/182/12 84/321/12 101/183/12 -f 142/106/9 109/108/9 95/184/9 -f 113/185/9 142/106/9 120/115/9 -f 113/185/9 87/164/9 106/163/9 -f 143/103/49 100/105/49 89/186/49 -f 124/125/49 143/103/49 121/118/49 -f 96/187/44 110/319/44 143/103/44 -f 144/102/4 116/101/4 94/128/4 -f 115/188/4 144/102/4 125/166/4 -f 88/179/4 107/100/4 144/102/4 -f 145/190/47 115/322/47 93/191/47 -f 129/192/47 145/190/47 126/130/47 -f 92/193/43 104/97/43 145/99/43 -f 130/139/42 146/94/42 112/96/42 -f 89/146/42 100/195/42 146/94/42 -f 100/195/42 82/323/42 101/196/42 -f 39/197/9 149/219/9 147/198/9 -f 45/200/51 155/324/51 154/201/51 -f 41/203/52 151/212/52 150/204/52 -f 43/206/53 153/218/53 152/207/53 -f 46/209/54 156/217/54 155/210/54 -f 42/208/55 152/207/55 151/212/55 -f 37/213/4 147/325/4 148/214/4 -f 38/216/12 148/326/12 156/217/12 -f 44/202/81 154/201/81 153/218/81 -f 40/205/57 150/204/57 149/219/57 -f 156/222/3 148/327/3 147/328/3 -f 147/328/3 149/329/3 156/222/3 -f 149/329/3 150/330/3 152/331/3 -f 156/222/3 149/329/3 153/332/3 -f 150/330/3 151/333/3 152/331/3 -f 152/331/3 153/332/3 149/329/3 -f 153/332/3 154/220/3 156/222/3 -f 166/223/3 165/239/3 45/224/3 -f 42/226/3 162/241/3 161/227/3 -f 157/229/3 158/232/3 38/230/3 -f 158/232/3 166/223/3 46/225/3 -f 164/233/3 163/334/3 43/234/3 -f 40/236/3 160/240/3 159/237/3 -f 39/238/3 159/237/3 157/229/3 -f 165/239/3 164/233/3 44/235/3 -f 41/228/3 161/227/3 160/240/3 -f 43/234/3 163/334/3 162/241/3 -f 10/242/12 167/335/12 46/243/12 -f 9/244/9 16/50/9 39/51/9 -f 167/246/58 168/336/58 37/231/58 -f 1/337/42 3/338/42 168/247/42 -f 3/338/42 9/339/42 168/247/42 -f 10/340/42 48/341/42 167/248/42 -f 48/341/42 5/249/42 167/248/42 -f 1/337/42 168/247/42 5/249/42 -f 170/250/42 172/259/42 171/251/42 -f 176/253/4 174/342/4 173/254/4 -f 174/256/59 170/343/59 169/257/59 -f 175/255/9 173/254/9 169/252/9 -f 172/259/12 170/250/12 174/260/12 -o window_Cube.002 -v 0.809482 1.091828 -0.732264 -v 0.338840 1.091828 -0.732264 -v 0.338840 0.874469 -0.732264 -v 0.809482 0.874469 -0.732264 -vt 0.978282 0.984581 -vt 0.711622 0.781054 -vt 0.978133 0.780594 -vt 0.713513 0.984128 -vn 0.0000 0.0000 -1.0000 -usemtl Material.002 -s off -f 178/344/82 180/345/82 179/346/82 -f 178/344/82 177/347/82 180/345/82 o plate_Cylinder -v 0.573046 0.817783 -0.643769 v 0.573046 0.868036 -0.643769 v 0.729762 0.817783 -0.568299 +v 0.573046 0.817783 -0.643769 v 0.729762 0.868036 -0.568299 v 0.768467 0.817783 -0.398719 v 0.768467 0.868036 -0.398719 @@ -969,132 +15,132 @@ v 0.377625 0.817783 -0.398719 v 0.377625 0.868036 -0.398719 v 0.416330 0.817783 -0.568299 v 0.416330 0.868036 -0.568299 -v 0.572966 0.867427 -0.529802 -v 0.572966 0.983075 -0.566974 -v 0.647860 0.867427 -0.486562 -v 0.680052 0.983075 -0.505148 -v 0.647860 0.867427 -0.400082 -v 0.680052 0.983075 -0.381496 -v 0.572966 0.867427 -0.356843 -v 0.572966 0.983075 -0.319670 -v 0.498072 0.867427 -0.400082 -v 0.465880 0.983075 -0.381496 -v 0.498072 0.867427 -0.486562 -v 0.465880 0.983075 -0.505148 -v 0.610413 0.867427 -0.508182 v 0.626509 0.983075 -0.536061 -v 0.572966 0.941312 -0.556665 v 0.671124 0.941312 -0.499994 -v 0.647860 0.867427 -0.443322 +v 0.622045 0.941312 -0.528329 v 0.680052 0.983075 -0.443322 v 0.671124 0.941312 -0.386651 -v 0.610413 0.867427 -0.378463 +v 0.671124 0.941312 -0.443322 v 0.626509 0.983075 -0.350583 v 0.572966 0.941312 -0.329980 -v 0.535519 0.867427 -0.378463 +v 0.622045 0.941312 -0.358315 v 0.519423 0.983075 -0.350583 v 0.474808 0.941312 -0.386651 -v 0.498072 0.867427 -0.443322 +v 0.523887 0.941312 -0.358315 +v 0.572966 0.983075 -0.347524 +v 0.531484 0.983075 -0.371474 v 0.465880 0.983075 -0.443322 v 0.474808 0.941312 -0.499994 -v 0.535519 0.867427 -0.508182 -v 0.519423 0.983075 -0.536061 -v 0.523887 0.941312 -0.528329 v 0.474808 0.941312 -0.443322 -v 0.523887 0.941312 -0.358315 -v 0.622045 0.941312 -0.358315 -v 0.671124 0.941312 -0.443322 -v 0.622045 0.941312 -0.528329 -v 0.572966 0.983075 -0.539121 -v 0.655930 0.983075 -0.491222 -v 0.655930 0.983075 -0.395423 -v 0.572966 0.983075 -0.347524 -v 0.490002 0.983075 -0.395423 -v 0.490002 0.983075 -0.491222 -v 0.614448 0.983075 -0.515171 -v 0.655930 0.983075 -0.443322 +v 0.519423 0.983075 -0.536061 +v 0.572966 0.941312 -0.556665 +v 0.523887 0.941312 -0.528329 +v 0.572966 0.867427 -0.529802 +v 0.535519 0.867427 -0.508182 +v 0.498072 0.867427 -0.486562 +v 0.498072 0.867427 -0.443322 +v 0.498072 0.867427 -0.400082 +v 0.535519 0.867427 -0.378463 +v 0.572966 0.867427 -0.356843 +v 0.610413 0.867427 -0.378463 +v 0.647860 0.867427 -0.400082 +v 0.647860 0.867427 -0.443322 +v 0.647860 0.867427 -0.486562 +v 0.610413 0.867427 -0.508182 v 0.614448 0.983075 -0.371474 -v 0.531484 0.983075 -0.371474 -v 0.490002 0.983075 -0.443322 -v 0.531484 0.983075 -0.515171 -v 0.572966 0.962908 -0.514054 -v 0.634221 0.962908 -0.478688 v 0.634221 0.962908 -0.407956 -v 0.572966 0.962908 -0.372591 -v 0.511710 0.962908 -0.407956 -v 0.511710 0.962908 -0.478688 -v 0.603594 0.962908 -0.496371 -v 0.634221 0.962908 -0.443322 v 0.603594 0.962908 -0.390274 +v 0.572966 0.983075 -0.539121 +v 0.572966 0.983075 -0.566974 +v 0.614448 0.983075 -0.515171 +v 0.655930 0.983075 -0.395423 +v 0.490002 0.983075 -0.491222 +v 0.465880 0.983075 -0.505148 +v 0.655930 0.983075 -0.491222 +v 0.655930 0.983075 -0.443322 +v 0.490002 0.983075 -0.395423 +v 0.465880 0.983075 -0.381496 +v 0.680052 0.983075 -0.505148 +v 0.572966 0.983075 -0.319670 +v 0.680052 0.983075 -0.381496 +v 0.531484 0.983075 -0.515171 +v 0.490002 0.983075 -0.443322 v 0.542338 0.962908 -0.390274 +v 0.634221 0.962908 -0.443322 +v 0.511710 0.962908 -0.407956 +v 0.634221 0.962908 -0.478688 +v 0.572966 0.962908 -0.372591 +v 0.511710 0.962908 -0.478688 +v 0.572966 0.962908 -0.514054 +v 0.603594 0.962908 -0.496371 v 0.511710 0.962908 -0.443322 v 0.542338 0.962908 -0.496371 -v 0.595406 0.982933 -0.519550 -v 0.702492 0.982933 -0.457724 -v 0.702492 0.982933 -0.334072 -v 0.595406 0.982933 -0.272246 -v 0.488321 0.982933 -0.334072 -v 0.488321 0.982933 -0.457724 -v 0.648949 0.982933 -0.488637 -v 0.702492 0.982933 -0.395898 -v 0.648949 0.982933 -0.303159 v 0.541863 0.982933 -0.303159 -v 0.488321 0.982933 -0.395898 -v 0.541863 0.982933 -0.488637 -v 0.678370 0.982933 -0.347999 -v 0.512442 0.982933 -0.347999 -v 0.553924 0.982933 -0.324049 -v 0.553924 0.982933 -0.467747 -v 0.648949 0.999716 -0.488637 -v 0.595406 0.999716 -0.519550 -v 0.702492 0.999716 -0.395898 -v 0.702492 0.999716 -0.457724 -v 0.648949 0.999716 -0.303159 -v 0.702492 0.999716 -0.334072 -v 0.541863 0.999716 -0.303159 -v 0.595406 0.999716 -0.272246 -v 0.488321 0.999716 -0.395898 -v 0.488321 0.999716 -0.334072 -v 0.541863 0.999716 -0.488637 -v 0.488321 0.999716 -0.457724 -v 0.595406 0.999716 -0.491697 -v 0.636888 0.999716 -0.324049 -v 0.553924 0.999716 -0.324049 -v 0.512442 0.999716 -0.395898 -v 0.553924 0.999716 -0.467747 -v 0.595406 0.982933 -0.491697 -v 0.678370 0.982933 -0.443797 v 0.595406 0.982933 -0.300100 +v 0.595406 0.982933 -0.272246 +v 0.595406 0.982933 -0.491697 +v 0.541863 0.982933 -0.488637 +v 0.595406 0.982933 -0.519550 +v 0.648949 0.982933 -0.488637 +v 0.648949 0.982933 -0.303159 +v 0.678370 0.982933 -0.347999 +v 0.702492 0.982933 -0.334072 v 0.512442 0.982933 -0.443797 -v 0.636888 0.982933 -0.467747 -v 0.678370 0.982933 -0.395898 -v 0.636888 0.982933 -0.324049 -v 0.512442 0.982933 -0.395898 -v 0.636888 0.999716 -0.467747 -v 0.678370 0.999716 -0.395898 -v 0.678370 0.999716 -0.443797 -v 0.678370 0.999716 -0.347999 +v 0.488321 0.982933 -0.395898 +v 0.488321 0.982933 -0.457724 +v 0.702492 0.982933 -0.395898 +v 0.678370 0.982933 -0.443797 +v 0.702492 0.982933 -0.457724 +v 0.512442 0.982933 -0.347999 +v 0.488321 0.982933 -0.334072 +v 0.541863 0.999716 -0.303159 v 0.595406 0.999716 -0.300100 -v 0.512442 0.999716 -0.347999 +v 0.553924 0.999716 -0.324049 +v 0.541863 0.999716 -0.488637 +v 0.595406 0.999716 -0.491697 +v 0.595406 0.999716 -0.519550 +v 0.648949 0.999716 -0.488637 +v 0.636888 0.999716 -0.467747 +v 0.648949 0.999716 -0.303159 +v 0.678370 0.999716 -0.347999 +v 0.636888 0.999716 -0.324049 +v 0.488321 0.999716 -0.395898 v 0.512442 0.999716 -0.443797 -v 0.556395 0.998139 -0.385001 -v 0.526238 0.998974 -0.385001 -v 0.556395 0.998139 -0.406796 -v 0.526238 0.998974 -0.406796 -v 0.634417 0.998139 -0.385001 -v 0.667116 0.998562 -0.385001 -v 0.634417 0.998139 -0.406796 -v 0.667116 0.998562 -0.406796 -v 0.556395 0.998139 -0.395898 -v 0.526238 0.998974 -0.395898 +v 0.488321 0.999716 -0.457724 +v 0.702492 0.999716 -0.395898 +v 0.678370 0.999716 -0.443797 +v 0.678370 0.999716 -0.395898 +v 0.512442 0.999716 -0.347999 +v 0.488321 0.999716 -0.334072 +v 0.702492 0.999716 -0.457724 +v 0.595406 0.999716 -0.272246 +v 0.702492 0.999716 -0.334072 +v 0.553924 0.999716 -0.467747 +v 0.512442 0.999716 -0.395898 v 0.595406 1.026090 -0.406796 -v 0.595406 1.052068 -0.406796 -v 0.634417 0.998139 -0.395898 -v 0.667116 0.998562 -0.395898 +v 0.667116 0.998562 -0.406796 +v 0.634417 0.998139 -0.406796 v 0.595406 1.026090 -0.385001 +v 0.526238 0.998974 -0.385001 +v 0.556395 0.998139 -0.385001 +v 0.634417 0.998139 -0.395898 +v 0.595406 1.026090 -0.395898 +v 0.526238 0.998974 -0.395898 v 0.595406 1.052068 -0.385001 v 0.595406 1.052068 -0.395898 -v 0.595406 1.026090 -0.395898 +v 0.667116 0.998562 -0.385001 +v 0.667116 0.998562 -0.395898 +v 0.595406 1.052068 -0.406796 +v 0.526238 0.998974 -0.406796 +v 0.556395 0.998139 -0.395898 +v 0.556395 0.998139 -0.406796 +v 0.634417 0.998139 -0.385001 +v 0.553924 0.982933 -0.324049 +v 0.636888 0.982933 -0.324049 +v 0.678370 0.982933 -0.395898 +v 0.553924 0.982933 -0.467747 +v 0.636888 0.982933 -0.467747 +v 0.512442 0.982933 -0.395898 vt 0.516568 0.925663 vt 0.501815 0.874025 vt 0.516568 0.874025 @@ -1345,26 +391,32 @@ vn 0.0000 1.0000 0.0000 vn -0.9749 0.0000 -0.2225 vn -0.4339 0.0000 -0.9010 vn 0.4890 -0.2091 -0.8469 +vn 0.4889 -0.2090 -0.8469 +vn 0.4889 -0.2091 -0.8469 vn 0.9779 -0.2091 0.0000 -vn 0.4890 -0.2091 0.8469 +vn 0.4889 -0.2091 0.8469 +vn -0.4889 -0.2091 0.8469 vn -0.4890 -0.2091 0.8469 vn -0.9779 -0.2091 0.0000 +vn -0.4890 -0.2091 -0.8469 vn -0.4889 -0.2091 -0.8469 vn -0.4769 -0.3003 -0.8260 -vn -0.4890 -0.2091 -0.8469 +vn -0.4889 -0.2090 -0.8469 vn -0.9538 -0.3003 0.0000 vn -0.4769 -0.3003 0.8260 vn 0.4769 -0.3003 0.8260 +vn 0.4769 -0.3003 0.8261 +vn 0.4890 -0.2091 0.8469 vn 0.9538 -0.3003 0.0000 vn 0.4769 -0.3003 -0.8260 -vn 0.4889 -0.2091 -0.8469 vn -0.3403 0.7326 -0.5894 vn 0.3403 0.7326 -0.5894 vn -0.3403 0.7326 0.5894 +vn -0.3403 0.7327 0.5894 vn 0.6806 0.7326 0.0000 vn -0.6806 0.7326 0.0000 vn 0.3403 0.7326 0.5894 -vn 0.0000 -1.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 vn -0.5000 0.0000 -0.8660 vn 0.5000 0.0000 -0.8660 vn 1.0000 0.0000 0.0000 @@ -1373,251 +425,1187 @@ vn -0.5000 0.0000 0.8660 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn -0.5824 -0.8129 0.0000 -vn -0.6089 0.7933 0.0000 +vn -0.6089 0.7932 0.0000 vn 0.5980 0.8015 0.0000 vn 0.5824 -0.8129 0.0000 -vn -0.6089 0.7932 0.0000 -usemtl Material.002 -s off -f 182/348/83 183/349/83 181/350/83 -f 184/351/84 185/352/84 183/349/84 -f 186/353/85 187/354/85 185/352/85 -f 188/355/86 189/356/86 187/354/86 -f 190/357/87 191/358/87 189/356/87 -f 190/359/88 188/360/88 182/361/88 -f 192/362/89 193/363/89 191/358/89 -f 194/364/90 181/365/90 193/363/90 -f 208/366/91 210/367/91 230/368/91 -f 212/369/92 213/370/92 229/371/92 -f 215/372/93 216/373/93 228/374/93 -f 218/375/94 219/376/94 227/377/94 -f 218/375/88 234/378/88 240/379/88 -f 221/380/95 222/381/95 226/382/95 -f 224/383/96 209/384/96 225/385/96 -f 225/385/97 195/386/97 223/387/97 -f 205/388/97 225/385/97 223/387/97 -f 222/381/98 224/383/98 225/385/98 -f 226/382/99 205/388/99 220/389/99 -f 203/390/99 226/382/99 220/389/99 -f 219/376/95 221/380/95 226/382/95 -f 227/377/100 203/390/100 217/391/100 -f 201/392/100 227/377/100 217/391/100 -f 216/373/94 218/375/94 227/377/94 -f 228/374/101 201/392/101 214/393/101 -f 199/394/101 228/374/101 214/393/101 -f 213/370/93 215/372/93 228/374/93 -f 229/371/102 199/394/102 211/395/102 -f 197/396/102 229/371/102 211/395/102 -f 210/367/92 212/369/92 229/371/92 -f 230/368/103 197/396/103 207/397/103 -f 195/398/103 230/368/103 207/397/103 -f 209/399/104 208/366/104 230/368/104 -f 239/400/105 245/401/105 251/402/105 -f 224/383/88 231/403/88 196/404/88 -f 208/366/88 231/405/88 237/406/88 -f 215/372/88 233/407/88 239/408/88 -f 221/380/88 236/409/88 206/410/88 -f 212/369/88 232/411/88 238/412/88 -f 218/375/88 235/413/88 204/414/88 -f 208/366/88 232/411/88 198/415/88 -f 215/372/88 234/378/88 202/416/88 -f 212/369/88 233/407/88 200/417/88 -f 224/383/88 236/409/88 242/418/88 -f 221/380/88 235/413/88 241/419/88 -f 252/420/88 251/421/88 250/422/88 -f 240/423/106 247/424/106 235/425/106 -f 237/426/107 244/427/107 232/428/107 -f 240/423/106 246/429/106 252/430/106 -f 241/431/108 248/432/108 236/433/108 -f 237/426/107 243/434/107 249/435/107 -f 238/436/109 245/401/109 233/437/109 -f 241/431/108 247/424/108 253/438/108 -f 242/439/110 243/434/110 231/440/110 -f 238/436/109 244/427/109 250/441/109 -f 239/400/105 246/429/105 234/442/105 -f 242/439/110 248/432/110 254/443/110 -f 264/444/111 290/445/111 258/446/111 -f 288/447/111 266/448/111 255/449/111 -f 261/450/111 288/447/111 255/449/111 -f 263/451/111 267/452/111 257/453/111 -f 291/454/111 265/455/111 260/456/111 -f 262/457/111 289/458/111 256/459/111 -f 268/460/111 264/444/111 259/461/111 -f 289/458/111 261/450/111 256/459/111 -f 290/445/111 263/451/111 258/446/111 -f 267/452/111 262/457/111 257/453/111 -f 266/448/111 291/454/111 260/456/111 -f 265/455/111 268/460/111 259/461/111 -f 277/462/88 300/463/88 285/464/88 -f 281/465/88 283/466/88 272/467/88 -f 271/468/88 283/466/88 296/469/88 -f 275/470/88 299/471/88 284/472/88 -f 279/473/88 302/474/88 282/475/88 -f 273/476/88 298/477/88 297/478/88 -f 277/462/88 301/479/88 280/480/88 -f 271/468/88 298/477/88 274/481/88 -f 275/470/88 300/463/88 278/482/88 -f 273/476/88 299/471/88 276/483/88 -f 281/465/88 302/474/88 287/484/88 -f 279/473/88 301/479/88 286/485/88 -f 260/486/112 281/487/112 266/488/112 -f 261/489/113 274/490/113 256/491/113 -f 262/492/114 276/493/114 257/494/114 -f 255/495/113 271/496/113 261/489/113 -f 263/497/115 278/498/115 258/499/115 -f 256/500/114 273/501/114 262/492/114 -f 264/502/116 280/503/116 259/504/116 -f 257/494/115 275/505/115 263/497/115 -f 265/506/117 282/507/117 260/486/117 -f 258/499/116 277/508/116 264/502/116 -f 266/488/112 272/509/112 255/495/112 -f 259/504/117 279/510/117 265/506/117 -f 285/511/88 284/512/88 297/513/88 -f 313/514/118 310/515/118 309/516/118 -f 317/517/86 304/518/86 303/519/86 -f 315/520/119 317/521/119 320/522/119 -f 312/523/120 318/524/120 319/525/120 -f 319/526/121 308/527/121 316/528/121 -f 314/529/121 316/530/121 310/515/121 -f 306/531/120 319/532/120 314/533/120 -f 320/534/122 303/519/122 311/535/122 -f 313/536/122 311/537/122 305/538/122 -f 309/516/119 320/539/119 313/514/119 -f 308/527/86 317/521/86 307/540/86 -f 306/531/118 313/536/118 305/538/118 -f 269/541/88 294/542/88 293/543/88 -f 182/348/83 184/351/83 183/349/83 -f 184/351/84 186/353/84 185/352/84 -f 186/353/85 188/355/85 187/354/85 -f 188/355/86 190/357/86 189/356/86 -f 190/357/87 192/362/87 191/358/87 -f 186/544/88 184/545/88 188/360/88 -f 184/545/88 182/361/88 188/360/88 -f 182/361/88 194/546/88 192/547/88 -f 192/547/88 190/359/88 182/361/88 -f 192/362/89 194/364/89 193/363/89 -f 194/364/90 182/548/90 181/365/90 -f 208/366/91 198/415/91 210/367/91 -f 212/369/92 200/417/92 213/370/92 -f 215/372/93 202/416/93 216/373/93 -f 218/375/94 204/414/94 219/376/94 -f 218/375/88 202/416/88 234/378/88 -f 221/380/95 206/410/95 222/381/95 -f 224/383/98 196/404/98 209/384/98 -f 225/385/97 209/384/97 195/386/97 -f 205/388/97 222/381/97 225/385/97 -f 222/381/98 206/410/98 224/383/98 -f 226/382/99 222/381/99 205/388/99 -f 203/390/99 219/376/99 226/382/99 -f 219/376/95 204/414/95 221/380/95 -f 227/377/100 219/376/100 203/390/100 -f 201/392/100 216/373/100 227/377/100 -f 216/373/94 202/416/94 218/375/94 -f 228/374/101 216/373/101 201/392/101 -f 199/394/101 213/370/101 228/374/101 -f 213/370/93 200/417/93 215/372/93 -f 229/371/102 213/370/102 199/394/102 -f 197/396/102 210/367/102 229/371/102 -f 210/367/92 198/415/92 212/369/92 -f 230/368/103 210/367/103 197/396/103 -f 195/398/103 209/399/103 230/368/103 -f 209/399/91 196/549/91 208/366/91 -f 239/400/105 233/437/105 245/401/105 -f 224/383/88 242/418/88 231/403/88 -f 208/366/88 196/549/88 231/405/88 -f 215/372/88 200/417/88 233/407/88 -f 221/380/88 241/419/88 236/409/88 -f 212/369/88 198/415/88 232/411/88 -f 218/375/88 240/379/88 235/413/88 -f 208/366/88 237/406/88 232/411/88 -f 215/372/88 239/408/88 234/378/88 -f 212/369/88 238/412/88 233/407/88 -f 224/383/88 206/410/88 236/409/88 -f 221/380/88 204/414/88 235/413/88 -f 250/422/88 244/550/88 249/551/88 -f 249/551/88 243/552/88 254/553/88 -f 254/553/88 248/554/88 253/555/88 -f 253/555/88 247/556/88 252/420/88 -f 252/420/88 246/557/88 251/421/88 -f 251/421/88 245/558/88 250/422/88 -f 250/422/88 249/551/88 252/420/88 -f 249/551/88 254/553/88 252/420/88 -f 254/553/88 253/555/88 252/420/88 -f 240/423/106 252/430/106 247/424/106 -f 237/426/107 249/435/107 244/427/107 -f 240/423/106 234/442/106 246/429/106 -f 241/431/108 253/438/108 248/432/108 -f 237/426/107 231/440/107 243/434/107 -f 238/436/109 250/441/109 245/401/109 -f 241/431/108 235/425/108 247/424/108 -f 242/439/110 254/443/110 243/434/110 -f 238/436/109 232/428/109 244/427/109 -f 239/400/105 251/402/105 246/429/105 -f 242/439/110 236/433/110 248/432/110 -f 264/444/111 269/559/111 290/445/111 -f 288/447/111 270/560/111 266/448/111 -f 261/450/111 292/561/111 288/447/111 -f 263/451/111 294/562/111 267/452/111 -f 291/454/111 295/563/111 265/455/111 -f 262/457/111 293/564/111 289/458/111 -f 268/460/111 269/559/111 264/444/111 -f 289/458/111 292/561/111 261/450/111 -f 290/445/111 294/562/111 263/451/111 -f 267/452/111 293/564/111 262/457/111 -f 266/448/111 270/560/111 291/454/111 -f 265/455/111 295/563/111 268/460/111 -f 277/462/88 278/482/88 300/463/88 -f 281/465/88 287/484/88 283/466/88 -f 271/468/88 272/467/88 283/466/88 -f 275/470/88 276/483/88 299/471/88 -f 279/473/88 286/485/88 302/474/88 -f 273/476/88 274/481/88 298/477/88 -f 277/462/88 285/464/88 301/479/88 -f 271/468/88 296/469/88 298/477/88 -f 275/470/88 284/472/88 300/463/88 -f 273/476/88 297/478/88 299/471/88 -f 281/465/88 282/475/88 302/474/88 -f 279/473/88 280/480/88 301/479/88 -f 260/486/112 282/507/112 281/487/112 -f 261/489/113 271/496/113 274/490/113 -f 262/492/114 273/501/114 276/493/114 -f 255/495/113 272/509/113 271/496/113 -f 263/497/115 275/505/115 278/498/115 -f 256/500/114 274/565/114 273/501/114 -f 264/502/116 277/508/116 280/503/116 -f 257/494/115 276/493/115 275/505/115 -f 265/506/117 279/510/117 282/507/117 -f 258/499/116 278/498/116 277/508/116 -f 266/488/112 281/487/112 272/509/112 -f 259/504/117 280/503/117 279/510/117 -f 297/513/88 298/566/88 296/567/88 -f 296/567/88 283/568/88 287/569/88 -f 287/569/88 302/570/88 286/571/88 -f 286/571/88 301/572/88 285/511/88 -f 285/511/88 300/573/88 284/512/88 -f 284/512/88 299/574/88 297/513/88 -f 297/513/88 296/567/88 285/511/88 -f 296/567/88 287/569/88 285/511/88 -f 287/569/88 286/571/88 285/511/88 -f 313/514/118 314/529/118 310/515/118 -f 317/517/86 318/524/86 304/518/86 -f 315/520/119 307/540/119 317/521/119 -f 312/523/123 304/518/123 318/524/123 -f 319/526/121 318/575/121 308/527/121 -f 314/529/121 319/576/121 316/530/121 -f 306/531/123 312/577/123 319/532/123 -f 320/534/122 317/517/122 303/519/122 -f 313/536/122 320/578/122 311/537/122 -f 309/516/119 315/579/119 320/539/119 -f 308/527/86 318/575/86 317/521/86 -f 306/531/118 314/533/118 313/536/118 -f 293/543/88 289/580/88 292/581/88 -f 292/581/88 288/582/88 270/583/88 -f 270/583/88 291/584/88 295/585/88 -f 295/585/88 268/586/88 269/541/88 -f 269/541/88 290/587/88 294/542/88 -f 294/542/88 267/588/88 293/543/88 -f 293/543/88 292/581/88 269/541/88 -f 292/581/88 270/583/88 269/541/88 -f 270/583/88 295/585/88 269/541/88 -l 289 298 +vn 0.4890 -0.2090 -0.8469 +vn -0.4769 -0.3003 -0.8261 +vn -0.4890 -0.2090 -0.8469 +vn -0.4769 -0.3003 0.8261 +vn 0.4769 -0.3003 -0.8261 +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 9/9/4 7/7/4 +f 10/10/5 11/11/5 9/9/5 +f 10/12/6 8/13/6 1/14/6 +f 12/15/7 13/16/7 11/11/7 +f 14/17/8 3/18/8 13/16/8 +f 15/19/9 16/20/10 17/21/11 +f 18/22/12 19/23/12 20/24/12 +f 21/25/13 22/26/13 23/27/13 +f 24/28/14 25/29/15 26/30/14 +f 24/28/6 27/31/6 28/32/6 +f 29/33/16 30/34/16 31/35/16 +f 32/36/17 33/37/17 34/38/18 +f 34/38/19 35/39/19 36/40/19 +f 37/41/19 34/38/19 36/40/19 +f 30/34/20 32/36/17 34/38/18 +f 31/35/21 37/41/21 38/42/21 +f 39/43/21 31/35/21 38/42/21 +f 25/29/16 29/33/16 31/35/16 +f 26/30/22 39/43/22 40/44/22 +f 41/45/22 26/30/22 40/44/22 +f 22/26/14 24/28/14 26/30/14 +f 23/27/23 41/45/23 42/46/23 +f 43/47/24 23/27/23 42/46/23 +f 19/23/25 21/25/13 23/27/13 +f 20/24/26 43/47/26 44/48/26 +f 45/49/26 20/24/26 44/48/26 +f 16/20/12 18/22/12 20/24/12 +f 17/21/27 45/49/27 46/50/27 +f 35/51/27 17/21/27 46/50/27 +f 33/52/9 15/19/9 17/21/11 +f 47/53/28 48/54/28 49/55/28 +f 32/36/6 50/56/6 51/57/6 +f 15/19/6 50/58/6 52/59/6 +f 21/25/6 53/60/6 47/61/6 +f 29/33/6 54/62/6 55/63/6 +f 18/22/6 56/64/6 57/65/6 +f 24/28/6 58/66/6 59/67/6 +f 15/19/6 56/64/6 60/68/6 +f 21/25/6 27/31/6 61/69/6 +f 18/22/6 53/60/6 62/70/6 +f 32/36/6 54/62/6 63/71/6 +f 29/33/6 58/66/6 64/72/6 +f 65/73/6 49/74/6 66/75/6 +f 28/76/29 67/77/29 58/78/29 +f 52/79/30 68/80/30 56/81/31 +f 28/76/29 69/82/29 65/83/29 +f 64/84/32 70/85/32 54/86/32 +f 52/79/30 71/87/30 72/88/30 +f 57/89/33 48/54/33 53/90/33 +f 64/84/32 67/77/32 73/91/32 +f 63/92/34 71/87/34 50/93/34 +f 57/89/33 68/80/33 66/94/33 +f 47/53/28 69/82/28 27/95/28 +f 63/92/34 70/85/34 74/96/34 +f 75/97/35 76/98/35 77/99/35 +f 78/100/35 79/101/35 80/102/35 +f 81/103/35 78/100/35 80/102/35 +f 82/104/35 83/105/35 84/106/35 +f 85/107/35 86/108/35 87/109/35 +f 88/110/35 89/111/35 90/112/35 +f 91/113/35 75/97/35 92/114/35 +f 89/111/35 81/103/35 90/112/35 +f 76/98/35 82/104/35 77/99/35 +f 83/105/35 88/110/35 84/106/35 +f 79/101/35 85/107/35 87/109/35 +f 86/108/35 91/113/35 92/114/35 +f 93/115/6 94/116/6 95/117/6 +f 96/118/6 97/119/6 98/120/6 +f 99/121/6 97/119/6 100/122/6 +f 101/123/6 102/124/6 103/125/6 +f 104/126/6 105/127/6 106/128/6 +f 107/129/6 108/130/6 109/131/6 +f 93/115/6 110/132/6 111/133/6 +f 99/121/6 108/130/6 112/134/6 +f 101/123/6 94/116/6 113/135/6 +f 107/129/6 102/124/6 114/136/6 +f 96/118/6 105/127/6 115/137/6 +f 104/126/6 110/132/6 116/138/6 +f 87/139/36 96/140/36 79/141/36 +f 81/142/37 112/143/37 90/144/37 +f 88/145/38 114/146/38 84/147/38 +f 80/148/37 99/149/37 81/142/37 +f 82/150/39 113/151/39 77/152/39 +f 90/153/38 107/154/38 88/145/38 +f 75/155/40 111/156/40 92/157/40 +f 84/147/39 101/158/39 82/150/39 +f 86/159/41 106/160/41 87/139/41 +f 77/152/40 93/161/40 75/155/40 +f 79/141/36 98/162/36 80/148/36 +f 92/157/41 104/163/41 86/159/41 +f 95/164/6 103/165/6 109/166/6 +f 117/167/42 118/168/42 119/169/42 +f 120/170/4 121/171/4 122/172/4 +f 123/173/43 120/174/43 124/175/43 +f 125/176/44 126/177/44 127/178/44 +f 127/179/45 128/180/45 129/181/45 +f 130/182/45 129/183/45 118/168/45 +f 131/184/44 127/185/44 130/186/44 +f 124/187/46 122/172/46 132/188/46 +f 117/189/46 132/190/46 133/191/46 +f 119/169/43 124/192/43 117/167/43 +f 128/180/4 120/174/4 134/193/4 +f 131/184/42 117/189/42 133/191/42 +f 135/194/6 136/195/6 137/196/6 +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 10/10/4 9/9/4 +f 10/10/5 12/15/5 11/11/5 +f 6/197/6 4/198/6 8/13/6 +f 4/198/6 1/14/6 8/13/6 +f 1/14/6 14/199/6 12/200/6 +f 12/200/6 10/12/6 1/14/6 +f 12/15/7 14/17/7 13/16/7 +f 14/17/8 1/201/8 3/18/8 +f 15/19/9 60/68/47 16/20/10 +f 18/22/12 62/70/12 19/23/12 +f 21/25/13 61/69/13 22/26/13 +f 24/28/14 59/67/15 25/29/15 +f 24/28/6 61/69/6 27/31/6 +f 29/33/16 55/63/16 30/34/16 +f 32/36/17 51/57/17 33/37/17 +f 34/38/19 33/37/19 35/39/19 +f 37/41/48 30/34/48 34/38/48 +f 30/34/20 55/63/49 32/36/17 +f 31/35/21 30/34/21 37/41/21 +f 39/43/21 25/29/21 31/35/21 +f 25/29/16 59/67/16 29/33/16 +f 26/30/22 25/29/22 39/43/22 +f 41/45/50 22/26/50 26/30/50 +f 22/26/14 61/69/14 24/28/14 +f 23/27/23 22/26/24 41/45/23 +f 43/47/23 19/23/23 23/27/23 +f 19/23/25 62/70/25 21/25/13 +f 20/24/26 19/23/26 43/47/26 +f 45/49/26 16/20/26 20/24/26 +f 16/20/12 60/68/12 18/22/12 +f 17/21/27 16/20/51 45/49/27 +f 35/51/27 33/52/27 17/21/27 +f 33/52/9 51/202/9 15/19/9 +f 47/53/28 53/90/28 48/54/28 +f 32/36/6 63/71/6 50/56/6 +f 15/19/6 51/202/6 50/58/6 +f 21/25/6 62/70/6 53/60/6 +f 29/33/6 64/72/6 54/62/6 +f 18/22/6 60/68/6 56/64/6 +f 24/28/6 28/32/6 58/66/6 +f 15/19/6 52/59/6 56/64/6 +f 21/25/6 47/61/6 27/31/6 +f 18/22/6 57/65/6 53/60/6 +f 32/36/6 55/63/6 54/62/6 +f 29/33/6 59/67/6 58/66/6 +f 66/75/6 68/203/6 72/204/6 +f 72/204/6 71/205/6 74/206/6 +f 74/206/6 70/207/6 73/208/6 +f 73/208/6 67/209/6 65/73/6 +f 65/73/6 69/210/6 49/74/6 +f 49/74/6 48/211/6 66/75/6 +f 66/75/6 72/204/6 65/73/6 +f 72/204/6 74/206/6 65/73/6 +f 74/206/6 73/208/6 65/73/6 +f 28/76/29 65/83/29 67/77/29 +f 52/79/30 72/88/30 68/80/30 +f 28/76/29 27/95/29 69/82/29 +f 64/84/32 73/91/32 70/85/32 +f 52/79/30 50/93/30 71/87/30 +f 57/89/33 66/94/33 48/54/33 +f 64/84/32 58/78/32 67/77/32 +f 63/92/34 74/96/34 71/87/34 +f 57/89/33 56/81/33 68/80/33 +f 47/53/28 49/55/28 69/82/28 +f 63/92/34 54/86/34 70/85/34 +f 75/97/35 135/212/35 76/98/35 +f 78/100/35 138/213/35 79/101/35 +f 81/103/35 139/214/35 78/100/35 +f 82/104/35 136/215/35 83/105/35 +f 85/107/35 140/216/35 86/108/35 +f 88/110/35 137/217/35 89/111/35 +f 91/113/35 135/212/35 75/97/35 +f 89/111/35 139/214/35 81/103/35 +f 76/98/35 136/215/35 82/104/35 +f 83/105/35 137/217/35 88/110/35 +f 79/101/35 138/213/35 85/107/35 +f 86/108/35 140/216/35 91/113/35 +f 93/115/6 113/135/6 94/116/6 +f 96/118/6 115/137/6 97/119/6 +f 99/121/6 98/120/6 97/119/6 +f 101/123/6 114/136/6 102/124/6 +f 104/126/6 116/138/6 105/127/6 +f 107/129/6 112/134/6 108/130/6 +f 93/115/6 95/117/6 110/132/6 +f 99/121/6 100/122/6 108/130/6 +f 101/123/6 103/125/6 94/116/6 +f 107/129/6 109/131/6 102/124/6 +f 96/118/6 106/128/6 105/127/6 +f 104/126/6 111/133/6 110/132/6 +f 87/139/36 106/160/36 96/140/36 +f 81/142/37 99/149/37 112/143/37 +f 88/145/38 107/154/38 114/146/38 +f 80/148/37 98/162/37 99/149/37 +f 82/150/39 101/158/39 113/151/39 +f 90/153/38 112/218/38 107/154/38 +f 75/155/40 93/161/40 111/156/40 +f 84/147/39 114/146/39 101/158/39 +f 86/159/41 104/163/41 106/160/41 +f 77/152/40 113/151/40 93/161/40 +f 79/141/36 96/140/36 98/162/36 +f 92/157/41 111/156/41 104/163/41 +f 109/166/6 108/219/6 100/220/6 +f 100/220/6 97/221/6 115/222/6 +f 115/222/6 105/223/6 116/224/6 +f 116/224/6 110/225/6 95/164/6 +f 95/164/6 94/226/6 103/165/6 +f 103/165/6 102/227/6 109/166/6 +f 109/166/6 100/220/6 95/164/6 +f 100/220/6 115/222/6 95/164/6 +f 115/222/6 116/224/6 95/164/6 +f 117/167/42 130/182/42 118/168/42 +f 120/170/4 126/177/4 121/171/4 +f 123/173/43 134/193/43 120/174/43 +f 125/176/44 121/171/44 126/177/44 +f 127/179/45 126/228/45 128/180/45 +f 130/182/45 127/229/45 129/183/45 +f 131/184/44 125/230/44 127/185/44 +f 124/187/46 120/170/46 122/172/46 +f 117/189/46 124/231/46 132/190/46 +f 119/169/43 123/232/43 124/192/43 +f 128/180/4 126/228/4 120/174/4 +f 131/184/42 130/186/42 117/189/42 +f 137/196/6 89/233/6 139/234/6 +f 139/234/6 78/235/6 138/236/6 +f 138/236/6 85/237/6 140/238/6 +f 140/238/6 91/239/6 135/194/6 +f 135/194/6 76/240/6 136/195/6 +f 136/195/6 83/241/6 137/196/6 +f 137/196/6 139/234/6 135/194/6 +f 139/234/6 138/236/6 135/194/6 +f 138/236/6 140/238/6 135/194/6 +l 89 108 +o window_Cube.002 +v 0.338840 1.091828 -0.732264 +v 0.809482 0.874469 -0.732264 +v 0.338840 0.874469 -0.732264 +v 0.809482 1.091828 -0.732264 +vt 0.978282 0.984581 +vt 0.711622 0.781054 +vt 0.978133 0.780594 +vt 0.713513 0.984128 +vn 0.0000 0.0000 -1.0000 +s 1 +f 141/242/52 142/243/52 143/244/52 +f 141/242/52 144/245/52 142/243/52 +o mainbody_Cube.001 +v 0.853658 0.789125 -0.153063 +v 0.857794 1.181387 -0.156304 +v 0.853658 1.181387 -0.153063 +v 0.849338 0.787154 -0.151007 +v 0.127829 1.183358 -0.151007 +v 0.125502 0.787154 -0.149193 +v 0.238197 0.787154 -0.728996 +v 0.234821 1.183358 -0.728996 +v 0.238197 1.183358 -0.728996 +v 0.234821 0.787154 -0.728996 +v 0.234821 1.127133 -0.731795 +v 0.121182 1.181387 -0.733581 +v 0.115750 0.789125 -0.732973 +v 0.117047 1.181387 -0.730340 +v 0.827432 1.125951 -0.735637 +v 0.835231 1.121211 -0.732176 +v 0.826308 1.125951 -0.732176 +v 0.155271 1.127133 -0.731795 +v 0.138747 1.118357 -0.731795 +v 0.140113 0.846848 -0.735637 +v 0.149037 0.842109 -0.731795 +v 0.149037 0.842109 -0.735637 +v 0.149897 1.125951 -0.735637 +v 0.140973 1.121211 -0.731795 +v 0.140973 1.121211 -0.735637 +v 0.234821 1.127133 -0.735637 +v 0.155271 1.127133 -0.735637 +v 0.154411 0.840926 -0.731795 +v 0.154411 0.840926 -0.735637 +v 0.149897 1.125951 -0.731795 +v 0.234338 0.840926 -0.731795 +v 0.234338 0.840926 -0.735637 +v 0.137887 0.849703 -0.735637 +v 0.140113 0.846848 -0.731795 +v 0.138747 1.118357 -0.735637 +v 0.137887 0.849703 -0.731795 +v 0.821198 0.840926 -0.735637 +v 0.825447 0.842109 -0.732176 +v 0.826572 0.842109 -0.735637 +v 0.836356 1.121211 -0.735637 +v 0.837458 1.118357 -0.732176 +v 0.837722 0.849703 -0.735637 +v 0.838582 1.118357 -0.735637 +v 0.835496 0.846848 -0.735637 +v 0.836597 0.849703 -0.732176 +v 0.822058 1.127133 -0.735637 +v 0.820933 1.127133 -0.732176 +v 0.834371 0.846848 -0.732176 +v 0.126814 0.787154 -0.735637 +v 0.234821 0.787154 -0.735637 +v 0.857794 0.789125 -0.730340 +v 0.853658 1.181387 -0.733581 +v 0.857794 1.181387 -0.730340 +v 0.847012 1.183358 -0.735637 +v 0.848027 0.787154 -0.735637 +v 0.860417 0.787154 -0.726955 +v 0.860417 1.183358 -0.161513 +v 0.862732 0.787154 -0.159690 +v 0.114423 0.787154 -0.159690 +v 0.114423 1.183358 -0.725132 +v 0.112109 0.787154 -0.726955 +v 0.121182 1.181387 -0.153063 +v 0.117047 0.789125 -0.156304 +v 0.121182 0.789125 -0.153063 +v 0.853658 0.789125 -0.733581 +v 0.860417 1.183358 -0.725132 +v 0.847012 1.183358 -0.151007 +v 0.857794 0.789125 -0.156304 +v 0.127829 1.183358 -0.735637 +v 0.120534 0.789125 -0.735475 +v 0.114423 1.183358 -0.161513 +v 0.117047 1.181387 -0.156304 +v 0.246749 1.051755 -0.754385 +v 0.246749 1.118254 -0.734150 +v 0.246749 1.051755 -0.757676 +v 0.273339 1.118254 -0.734150 +v 0.282202 1.051755 -0.757676 +v 0.273339 1.051755 -0.757676 +v 0.282202 1.118254 -0.730859 +v 0.282202 1.051755 -0.751094 +v 0.282202 1.051755 -0.754385 +v 0.255612 1.051755 -0.751094 +v 0.246749 1.118254 -0.727568 +v 0.246749 1.051755 -0.751094 +v 0.273339 0.852258 -0.730849 +v 0.282202 0.852258 -0.727568 +v 0.273339 0.852258 -0.727568 +v 0.255612 1.118254 -0.730849 +v 0.255612 1.118254 -0.727568 +v 0.264475 1.118254 -0.730849 +v 0.273339 1.118254 -0.727568 +v 0.273339 1.118254 -0.730849 +v 0.264475 0.852258 -0.730849 +v 0.255612 0.852258 -0.727568 +v 0.255612 0.852258 -0.730849 +v 0.255612 0.985256 -0.755632 +v 0.246749 0.918757 -0.747802 +v 0.255612 0.918757 -0.747802 +v 0.273339 0.918757 -0.747802 +v 0.264475 0.985256 -0.755632 +v 0.264475 0.918757 -0.747802 +v 0.264475 1.051755 -0.751094 +v 0.273339 1.051755 -0.751094 +v 0.282202 0.918757 -0.751094 +v 0.282202 0.985256 -0.755632 +v 0.282202 0.918757 -0.747802 +v 0.273339 0.985256 -0.762214 +v 0.282202 0.918757 -0.754385 +v 0.273339 0.918757 -0.754385 +v 0.255612 0.985256 -0.762214 +v 0.264475 0.918757 -0.754385 +v 0.255612 0.918757 -0.754385 +v 0.255612 1.118254 -0.734150 +v 0.264475 1.051755 -0.757676 +v 0.255612 1.051755 -0.757676 +v 0.246749 0.985256 -0.758923 +v 0.246749 0.918757 -0.754385 +v 0.246749 0.918757 -0.751094 +v 0.246749 0.852258 -0.734150 +v 0.246749 0.852258 -0.730859 +v 0.246749 0.852258 -0.727568 +v 0.246749 0.985256 -0.755632 +v 0.264475 0.985256 -0.762214 +v 0.246749 0.985256 -0.762214 +v 0.264475 0.852258 -0.734150 +v 0.255612 0.852258 -0.734150 +v 0.282202 0.852258 -0.734150 +v 0.273339 0.852258 -0.734150 +v 0.282202 0.852258 -0.730859 +v 0.282202 0.985256 -0.758923 +v 0.273339 0.985256 -0.755632 +v 0.282202 1.118254 -0.727568 +v 0.264475 0.852258 -0.727568 +v 0.282202 1.118254 -0.734150 +v 0.264475 1.118254 -0.734150 +v 0.264475 1.118254 -0.727568 +v 0.246749 1.118254 -0.730859 +v 0.282202 0.985256 -0.762214 +v 0.303131 1.127133 -0.208209 +v 0.303131 1.127133 -0.732176 +v 0.834371 0.846848 -0.208209 +v 0.826308 1.125951 -0.208209 +v 0.837458 1.118357 -0.208209 +v 0.820073 0.840926 -0.732176 +v 0.825447 0.842109 -0.208209 +v 0.835231 1.121211 -0.208209 +v 0.303131 0.840926 -0.208209 +v 0.303131 0.840926 -0.732176 +v 0.820073 0.840926 -0.208209 +v 0.836597 0.849703 -0.208209 +v 0.820933 1.127133 -0.208209 +v 0.796168 0.874846 -0.732176 +v 0.807544 1.087096 -0.732176 +v 0.339101 1.091541 -0.732176 +v 0.339101 0.874846 -0.732176 +v 0.806898 0.879290 -0.732176 +v 0.796813 1.091541 -0.732176 +v 0.800201 0.875733 -0.732176 +v 0.800847 1.090653 -0.732176 +v 0.809215 1.084954 -0.732176 +v 0.238197 0.840926 -0.735637 +v 0.238197 1.127133 -0.735637 +v 0.238197 1.127133 -0.731795 +v 0.238197 0.840926 -0.731795 +v 0.234821 1.183358 -0.735637 +v 0.238197 0.787154 -0.735637 +v 0.238197 1.183358 -0.735637 +v 0.808569 0.881432 -0.732176 +vt 0.187756 0.185116 +vt 0.190250 0.359586 +vt 0.187359 0.359553 +vt 0.184816 0.183014 +vt 0.011904 0.361665 +vt 0.011410 0.182951 +vt 0.434160 0.035160 +vt 0.437617 0.233175 +vt 0.433848 0.233203 +vt 0.421314 0.234632 +vt 0.421314 0.024505 +vt 0.424461 0.141338 +vt 0.180342 0.556180 +vt 0.006258 0.555192 +vt 0.180341 0.553216 +vt 0.619010 0.294600 +vt 0.615336 0.293939 +vt 0.618997 0.293255 +vt 0.560911 0.771909 +vt 0.499383 0.771947 +vt 0.573681 0.763070 +vt 0.551781 0.278506 +vt 0.554882 0.277399 +vt 0.554849 0.278591 +vt 0.477598 0.276038 +vt 0.480699 0.274931 +vt 0.480666 0.276123 +vt 0.456844 0.275464 +vt 0.476217 0.274807 +vt 0.476184 0.275999 +vt 0.556296 0.277438 +vt 0.556263 0.278630 +vt 0.477631 0.274846 +vt 0.575727 0.277976 +vt 0.575694 0.279168 +vt 0.550366 0.278467 +vt 0.551814 0.277314 +vt 0.482080 0.276163 +vt 0.550399 0.277275 +vt 0.482113 0.274971 +vt 0.529499 0.294540 +vt 0.531162 0.293570 +vt 0.531174 0.294916 +vt 0.615349 0.295285 +vt 0.613628 0.294117 +vt 0.536559 0.295677 +vt 0.613641 0.295463 +vt 0.534848 0.295531 +vt 0.536546 0.294332 +vt 0.620678 0.294193 +vt 0.620665 0.292848 +vt 0.534835 0.294186 +vt 0.390231 0.176341 +vt 0.365296 0.176585 +vt 0.365277 0.174628 +vt 0.008379 0.053132 +vt 0.010531 0.175541 +vt 0.008501 0.175525 +vt 0.678815 0.051868 +vt 0.681765 0.009865 +vt 0.681766 0.212069 +vt 0.191651 0.177060 +vt 0.014270 0.002844 +vt 0.192984 0.003659 +vt 0.661827 0.216665 +vt 0.508504 0.216408 +vt 0.472754 0.213047 +vt 0.182461 0.549659 +vt 0.002549 0.378060 +vt 0.181254 0.376258 +vt 0.008747 0.359552 +vt 0.004975 0.185105 +vt 0.008120 0.184943 +vt 0.006284 0.051542 +vt 0.010601 0.053093 +vt 0.004000 0.561180 +vt 0.003756 0.551834 +vt 0.006284 0.177060 +vt 0.012743 0.177034 +vt 0.012878 0.051518 +vt 0.184195 0.361727 +vt 0.193393 0.361723 +vt 0.190903 0.184977 +vt 0.194207 0.183009 +vt 0.182571 0.559338 +vt 0.182461 0.550031 +vt 0.006443 0.558120 +vt 0.002020 0.183025 +vt 0.004195 0.360497 +vt 0.005856 0.359540 +vt 0.363575 0.189539 +vt 0.388348 0.187899 +vt 0.391408 0.191039 +vt 0.913862 0.374962 +vt 0.932207 0.411652 +vt 0.913862 0.411652 +vt 0.947121 0.484382 +vt 0.928948 0.502555 +vt 0.928948 0.484382 +vt 0.922832 0.558833 +vt 0.904487 0.595522 +vt 0.904487 0.558833 +vt 0.904487 0.650556 +vt 0.922832 0.668901 +vt 0.904487 0.668901 +vt 0.831108 0.558833 +vt 0.849453 0.595522 +vt 0.831108 0.595522 +vt 0.977866 0.558833 +vt 0.996210 0.595522 +vt 0.977866 0.595522 +vt 0.959521 0.558833 +vt 0.941176 0.595522 +vt 0.941176 0.558833 +vt 0.812764 0.558833 +vt 0.794419 0.595522 +vt 0.794419 0.558833 +vt 0.886142 0.650556 +vt 0.867798 0.668901 +vt 0.867798 0.650556 +vt 0.867798 0.613867 +vt 0.886142 0.632212 +vt 0.867798 0.632212 +vt 0.922832 0.613867 +vt 0.904487 0.632212 +vt 0.904487 0.613867 +vt 0.867798 0.558833 +vt 0.886142 0.595522 +vt 0.867798 0.595522 +vt 0.899580 0.488095 +vt 0.881478 0.506196 +vt 0.881478 0.488095 +vt 0.899580 0.451892 +vt 0.881478 0.469993 +vt 0.881478 0.451892 +vt 0.947121 0.448035 +vt 0.928948 0.466208 +vt 0.928948 0.448035 +vt 0.895517 0.374962 +vt 0.877173 0.411652 +vt 0.877173 0.374962 +vt 0.858828 0.411652 +vt 0.858828 0.374962 +vt 0.877173 0.338273 +vt 0.858828 0.338273 +vt 0.895517 0.338273 +vt 0.917681 0.451892 +vt 0.899580 0.469993 +vt 0.917681 0.433790 +vt 0.899580 0.433790 +vt 0.947121 0.429861 +vt 0.928948 0.429861 +vt 0.867173 0.448727 +vt 0.848828 0.467071 +vt 0.848828 0.448727 +vt 0.867173 0.430382 +vt 0.848828 0.430382 +vt 0.881478 0.433790 +vt 0.867173 0.485416 +vt 0.848828 0.503761 +vt 0.848828 0.485416 +vt 0.867173 0.467071 +vt 0.849453 0.558833 +vt 0.849453 0.522144 +vt 0.867798 0.522144 +vt 0.886142 0.558833 +vt 0.886142 0.613867 +vt 0.922832 0.595522 +vt 0.849453 0.632212 +vt 0.849453 0.613867 +vt 0.849453 0.668901 +vt 0.849453 0.650556 +vt 0.776074 0.595522 +vt 0.776074 0.558833 +vt 0.794419 0.522144 +vt 0.776074 0.522144 +vt 0.812764 0.522144 +vt 0.941176 0.522144 +vt 0.922832 0.522144 +vt 0.959521 0.522144 +vt 0.959521 0.595522 +vt 0.977866 0.522144 +vt 0.996210 0.558833 +vt 0.812764 0.595522 +vt 0.831108 0.522144 +vt 0.886142 0.668901 +vt 0.922832 0.632212 +vt 0.904487 0.522144 +vt 0.886142 0.522144 +vt 0.917681 0.488095 +vt 0.899580 0.506196 +vt 0.917681 0.469993 +vt 0.947121 0.466208 +vt 0.895517 0.411652 +vt 0.913862 0.338273 +vt 0.932207 0.374962 +vt 0.002361 0.690819 +vt 0.139582 0.797050 +vt 0.002382 0.797077 +vt 0.002401 0.574653 +vt 0.139602 0.577216 +vt 0.002401 0.577243 +vt 0.002381 0.685835 +vt 0.139582 0.688398 +vt 0.002381 0.688425 +vt 0.002381 0.579638 +vt 0.139602 0.683414 +vt 0.002401 0.683441 +vt 0.142087 0.686223 +vt 0.139686 0.823759 +vt 0.139686 0.686202 +vt 0.139581 0.685808 +vt 0.139686 0.574626 +vt 0.278011 0.686118 +vt 0.139686 0.686118 +vt 0.248444 0.686223 +vt 0.142087 0.823780 +vt 0.139581 0.579611 +vt 0.139561 0.690792 +vt 0.250041 0.742196 +vt 0.249216 0.741377 +vt 0.249011 0.740883 +vt 0.774121 0.040412 +vt 0.741243 0.024151 +vt 0.740050 0.027021 +vt 0.969467 0.033059 +vt 0.943495 0.044419 +vt 0.971709 0.034142 +vt 0.946381 0.253662 +vt 0.739889 0.270791 +vt 0.975938 0.269283 +vt 0.769234 0.254505 +vt 0.778655 0.034951 +vt 0.748853 0.018299 +vt 0.746005 0.019438 +vt 0.975297 0.038147 +vt 0.946804 0.049219 +vt 0.976119 0.040486 +vt 0.775156 0.037976 +vt 0.946189 0.047450 +vt 0.941812 0.043603 +vt 0.456798 0.276753 +vt 0.529486 0.293195 +vt 0.696767 0.284505 +vt 0.696612 0.283178 +vt 0.740071 0.299235 +vt 0.431207 0.203196 +vt 0.430221 0.118309 +vt 0.434139 0.035214 +vt 0.437617 0.035132 +vt 0.428782 0.141338 +vt 0.428782 0.234632 +vt 0.422863 0.024375 +vt 0.423529 0.042958 +vt 0.424425 0.042882 +vt 0.499383 0.483956 +vt 0.561202 0.483917 +vt 0.573995 0.492741 +vt 0.572269 0.489869 +vt 0.565361 0.485105 +vt 0.571963 0.765944 +vt 0.565067 0.770717 +vt 0.456877 0.274272 +vt 0.362261 0.174619 +vt 0.362252 0.177081 +vt 0.221168 0.176128 +vt 0.218310 0.173556 +vt 0.218310 0.006092 +vt 0.221417 0.003539 +vt 0.388881 0.003540 +vt 0.391433 0.006646 +vt 0.393601 0.173750 +vt 0.525055 0.212989 +vt 0.674718 0.186092 +vt 0.524902 0.186971 +vt 0.472754 0.045915 +vt 0.472804 0.009580 +vt 0.673151 0.046188 +vt 0.676096 0.185512 +vt 0.678376 0.183205 +vt 0.674995 0.046955 +vt 0.678054 0.050022 +vt 0.678940 0.181820 +vt 0.012947 0.175130 +vt 0.698934 0.213354 +vt 0.698934 0.245794 +vt 0.666837 0.221675 +vt 0.666837 0.245794 +vt 0.503488 0.245686 +vt 0.472755 0.245833 +vt 0.503488 0.221424 +vt 0.666162 0.220045 +vt 0.663456 0.217340 +vt 0.504163 0.219793 +vt 0.506872 0.217084 +vt 0.004989 0.551834 +vt 0.390747 0.356145 +vt 0.386158 0.360486 +vt 0.360628 0.189572 +vt 0.219798 0.360486 +vt 0.216697 0.357385 +vt 0.216697 0.191025 +vt 0.219798 0.187924 +vt 0.360628 0.187426 +vt 0.363600 0.187579 +vt 0.947121 0.502555 +vt 0.922832 0.650556 +vt 0.867173 0.503761 +vt 0.996210 0.522144 +vt 0.917681 0.506196 +vt 0.932207 0.338273 +vt 0.139601 0.574626 +vt 0.278011 0.574626 +vt 0.248444 0.823780 +vt 0.249011 0.687906 +vt 0.294366 0.687906 +vt 0.294366 0.740616 +vt 0.294160 0.741111 +vt 0.292839 0.742143 +vt 0.250538 0.742399 +vt 0.293336 0.741935 +vt 0.781306 0.033891 +vt 0.457098 0.275488 +vt 0.976119 0.297728 +vt 0.433827 0.231012 +vt 0.431907 0.231171 +vt 0.429916 0.203288 +vt 0.426195 0.118261 +vt 0.427181 0.035132 +vn 0.6168 0.0000 0.7871 +vn 0.0021 0.0039 1.0000 +vn 0.0003 0.0007 1.0000 +vn 0.0025 0.0046 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn -0.6169 0.0073 -0.7870 +vn -0.4638 -0.8731 -0.1507 +vn -0.4637 -0.8731 -0.1507 +vn 0.4690 0.8832 0.0000 +vn 0.4691 -0.8832 0.0000 +vn 0.0000 -1.0000 0.0000 +vn 0.2150 0.9766 0.0000 +vn 0.2148 -0.9767 0.0000 +vn 0.0000 1.0000 0.0000 +vn 0.7883 0.6153 0.0000 +vn 0.7884 0.6151 0.0000 +vn 1.0000 -0.0032 0.0000 +vn 0.7885 -0.6150 0.0000 +vn -0.2141 0.9743 -0.0697 +vn -0.7638 -0.5958 -0.2482 +vn -0.7637 -0.5959 -0.2482 +vn -0.9511 0.0030 -0.3089 +vn -0.7639 0.5956 -0.2483 +vn -0.2143 -0.9743 -0.0696 +vn -0.4636 0.8731 -0.1507 +vn 0.6168 0.0000 -0.7871 +vn 1.0000 0.0052 -0.0037 +vn 1.0000 0.0005 -0.0005 +vn 1.0000 0.0058 -0.0041 +vn -1.0000 0.0052 0.0037 +vn -1.0000 0.0005 0.0005 +vn -1.0000 0.0058 0.0041 +vn -0.6169 -0.0000 0.7871 +vn 0.5448 -0.4689 -0.6952 +vn -0.2589 -0.8606 -0.4385 +vn 0.3836 0.7830 -0.4896 +vn 0.3837 0.7830 -0.4896 +vn 0.8931 0.0000 -0.4498 +vn 0.3427 0.0009 -0.9394 +vn 0.3836 0.7832 0.4893 +vn 0.3836 0.7831 0.4895 +vn 0.2955 -0.0000 0.9553 +vn 0.5448 -0.4689 0.6952 +vn 0.5674 0.0071 0.8234 +vn -0.3835 0.7833 -0.4892 +vn -0.3835 0.7833 -0.4893 +vn -0.2969 0.0051 -0.9549 +vn -0.8565 0.0063 -0.5161 +vn -0.5449 -0.4688 0.6952 +vn -0.6654 0.0073 0.7465 +vn -0.3837 0.7830 0.4895 +vn -0.3836 0.7831 0.4895 +vn -0.8931 -0.0000 0.4499 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.3335 -0.9427 +vn 0.0000 -0.3335 0.9427 +vn 0.0000 0.1169 0.9931 +vn 0.0000 -0.1169 -0.9931 +vn 0.0000 0.0681 -0.9977 +vn 0.0000 -0.2911 -0.9567 +vn 0.0000 -0.0681 0.9977 +vn 0.0000 0.2911 0.9567 +vn -0.4690 0.8832 0.0000 +vn -0.4691 -0.8831 0.0000 +vn -1.0000 0.0032 0.0000 +vn -0.2150 0.9766 0.0000 +vn -0.7886 -0.6149 -0.0000 +vn -0.7886 0.6149 0.0000 +vn -0.2148 -0.9767 0.0000 +vn 0.0000 -1.0000 0.0001 +vn -0.0059 0.0000 -1.0000 +vn 0.0000 -0.0000 1.0000 +vn 1.0000 0.0090 0.0000 +vn 0.9796 -0.0017 -0.2008 +vn -0.4634 0.0050 -0.8861 +vn 0.7886 0.6149 0.0000 +vn -0.2142 0.9743 -0.0695 +vn -0.7639 -0.5958 -0.2481 +vn -0.9511 0.0029 -0.3088 +vn 0.4513 -0.6178 -0.6439 +vn -0.2689 -0.8145 -0.5141 +vn 0.7912 0.0028 -0.6115 +vn 0.2955 0.0000 -0.9553 +vn 0.3837 0.7830 0.4897 +vn 0.4288 0.0025 0.9034 +vn 0.5423 -0.0784 0.8365 +vn 0.8932 -0.0000 0.4498 +vn -0.3836 0.7831 -0.4895 +vn -0.0258 0.0001 -0.9997 +vn -0.8919 0.0073 -0.4521 +vn -0.6855 -0.0819 0.7235 +vn -0.2955 -0.0000 0.9553 +vn -0.7912 0.0028 0.6115 +vn -0.7887 -0.6148 -0.0000 +s 1 +f 145/246/53 146/247/53 147/248/53 +f 148/249/54 149/250/55 150/251/56 +f 151/252/57 152/253/57 153/254/57 +f 152/255/58 154/256/58 155/257/58 +f 156/258/59 157/259/59 158/260/59 +f 159/261/60 160/262/61 161/263/60 +f 162/264/57 155/265/57 163/266/57 +f 164/267/62 165/268/62 166/269/62 +f 167/270/63 168/271/63 169/272/63 +f 170/273/64 162/274/64 171/275/64 +f 166/269/65 172/276/65 173/277/65 +f 171/275/66 174/278/66 167/270/66 +f 173/277/67 175/279/67 176/280/67 +f 177/281/68 178/282/69 164/267/69 +f 179/283/70 180/284/70 177/281/70 +f 169/272/71 163/285/71 179/283/71 +f 181/286/72 182/287/72 183/288/72 +f 184/289/73 185/290/73 160/262/74 +f 186/291/75 185/290/75 187/292/75 +f 188/293/76 189/294/76 186/291/76 +f 190/295/77 161/263/77 191/296/77 +f 183/288/78 192/297/78 188/293/78 +f 193/298/64 194/299/64 154/300/64 +f 195/301/79 196/302/79 197/303/79 +f 187/304/57 198/305/57 199/306/57 +f 200/307/80 201/308/81 202/309/82 +f 179/310/57 177/311/57 193/312/57 +f 203/313/83 204/314/84 205/315/85 +f 206/316/86 207/317/86 208/318/86 +f 200/319/87 209/320/87 195/301/87 +f 157/259/88 193/321/88 205/322/88 +f 210/323/89 196/302/90 198/324/90 +f 210/323/91 195/301/91 197/303/91 +f 198/324/92 209/320/92 199/325/92 +f 211/326/93 146/247/94 201/327/94 +f 211/326/95 145/246/95 147/248/95 +f 148/249/96 212/328/96 145/246/96 +f 201/327/97 212/328/97 202/329/97 +f 213/330/98 158/260/99 204/331/99 +f 213/330/100 214/332/100 156/258/100 +f 205/322/101 158/260/101 157/259/101 +f 203/333/102 208/318/102 207/317/102 +f 149/250/103 208/318/103 150/251/103 +f 215/334/104 206/316/105 149/250/105 +f 215/334/106 207/317/106 216/335/106 +f 152/336/67 213/337/67 204/338/67 +f 217/339/107 218/340/107 219/341/107 +f 220/342/108 221/343/108 222/344/108 +f 223/345/58 224/346/58 225/347/58 +f 226/348/109 227/349/109 228/350/109 +f 229/351/64 230/352/64 231/353/64 +f 232/354/67 227/355/67 233/356/67 +f 234/357/67 235/358/67 236/359/67 +f 237/360/64 238/361/64 239/362/64 +f 240/363/110 241/364/110 242/365/110 +f 243/366/110 244/367/110 245/368/110 +f 235/369/109 246/370/109 247/371/109 +f 248/372/58 249/373/58 250/374/58 +f 251/375/111 252/376/111 253/377/111 +f 254/378/111 255/379/111 256/380/111 +f 257/381/108 258/382/108 259/383/108 +f 260/384/107 261/385/107 262/386/107 +f 262/386/107 263/387/107 264/388/107 +f 241/389/107 264/388/107 265/390/107 +f 266/391/107 262/386/107 241/389/107 +f 259/392/112 267/393/112 254/378/112 +f 219/394/112 254/378/112 268/395/112 +f 218/396/108 259/383/108 219/397/108 +f 256/398/113 269/399/113 270/400/113 +f 261/401/113 270/400/113 263/402/113 +f 268/395/111 256/380/111 261/403/111 +f 253/404/113 271/405/113 272/406/113 +f 255/407/113 272/406/113 269/399/113 +f 267/393/111 253/377/111 255/379/111 +f 273/408/58 250/374/58 230/352/58 +f 271/409/58 248/372/58 273/408/58 +f 252/410/58 274/411/58 248/372/58 +f 247/371/114 244/367/114 275/412/114 +f 224/346/114 275/412/114 249/373/114 +f 276/413/109 247/371/109 224/346/109 +f 243/366/115 277/414/115 231/415/115 +f 250/374/115 231/415/115 230/352/115 +f 249/373/110 243/366/110 250/374/110 +f 242/365/115 265/416/115 238/417/115 +f 245/368/115 238/417/115 277/414/115 +f 244/367/110 242/365/110 245/368/110 +f 239/362/64 265/418/64 264/419/64 +f 270/420/64 264/419/64 263/421/64 +f 269/422/64 239/362/64 270/420/64 +f 236/359/67 276/413/67 223/345/67 +f 220/423/67 223/345/67 278/424/67 +f 279/425/67 236/359/67 220/423/67 +f 232/354/67 280/426/67 234/357/67 +f 257/427/67 234/357/67 279/425/67 +f 257/427/67 281/428/67 232/354/67 +f 229/351/64 277/429/64 237/360/64 +f 272/430/64 237/360/64 269/422/64 +f 272/430/64 273/408/64 229/351/64 +f 226/348/114 266/431/114 240/363/114 +f 246/370/114 240/363/114 244/367/114 +f 280/432/109 226/348/109 246/370/109 +f 225/347/58 249/373/58 274/411/58 +f 221/433/58 274/411/58 282/434/58 +f 278/424/58 225/347/58 221/433/58 +f 222/435/112 282/436/112 251/375/112 +f 258/437/112 251/375/112 267/393/112 +f 279/438/108 222/344/108 258/382/108 +f 260/384/107 219/341/107 268/439/107 +f 266/391/107 217/339/107 260/384/107 +f 228/440/107 281/441/107 217/339/107 +f 191/442/64 283/443/64 284/444/64 +f 182/445/116 285/446/116 192/447/116 +f 160/448/117 286/449/117 161/450/117 +f 189/451/118 287/452/118 185/453/118 +f 288/454/119 289/455/119 182/456/119 +f 185/453/120 290/457/120 160/448/120 +f 284/458/58 291/459/58 292/460/58 +f 292/461/67 293/462/67 288/454/67 +f 192/447/121 294/463/121 189/451/121 +f 161/450/122 295/464/122 191/442/122 +f 285/465/57 289/466/57 293/467/57 +f 296/468/57 182/469/57 288/470/57 +f 185/471/57 297/472/57 160/473/57 +f 298/474/57 292/475/57 284/476/57 +f 299/477/57 288/470/57 292/475/57 +f 300/478/57 189/479/57 192/480/57 +f 161/481/57 301/482/57 191/483/57 +f 191/483/57 298/474/57 284/476/57 +f 302/484/57 192/480/57 182/469/57 +f 160/473/57 303/485/57 161/481/57 +f 189/479/57 304/486/57 185/471/57 +f 305/487/67 288/488/67 181/286/67 +f 306/489/64 191/296/123 307/490/64 +f 308/491/124 284/476/124 292/475/124 +f 307/492/107 308/493/107 151/494/107 +f 145/246/53 212/328/53 146/247/53 +f 148/249/54 211/326/125 149/250/55 +f 151/252/57 154/495/57 152/253/57 +f 170/496/58 309/497/58 155/257/58 +f 309/497/58 152/255/58 155/257/58 +f 154/256/126 194/498/126 175/499/126 +f 194/498/126 176/500/126 175/499/126 +f 154/256/127 175/499/127 155/257/127 +f 156/258/128 214/332/128 157/259/128 +f 159/261/60 184/289/61 160/262/61 +f 155/265/57 175/501/57 163/266/57 +f 175/501/57 172/502/57 180/503/57 +f 180/503/57 172/502/57 178/504/57 +f 172/502/57 165/505/57 178/504/57 +f 180/503/57 163/266/57 175/501/57 +f 163/266/57 168/506/57 174/507/57 +f 174/507/57 162/264/57 163/266/57 +f 164/267/62 178/282/62 165/268/62 +f 167/270/63 174/278/63 168/271/63 +f 170/273/64 155/508/64 162/274/64 +f 166/269/65 165/268/65 172/276/65 +f 171/275/66 162/274/66 174/278/66 +f 173/277/67 172/276/67 175/279/67 +f 177/281/68 180/284/129 178/282/69 +f 179/283/70 163/285/70 180/284/70 +f 169/272/71 168/271/71 163/285/71 +f 181/286/130 288/488/130 182/287/130 +f 184/289/73 187/292/131 185/290/73 +f 186/291/132 189/294/132 185/290/132 +f 188/293/76 192/297/76 189/294/76 +f 190/295/77 159/261/77 161/263/77 +f 183/288/78 182/287/78 192/297/78 +f 151/509/64 310/510/64 199/511/64 +f 199/511/64 200/512/64 151/509/64 +f 200/512/64 202/513/64 148/514/64 +f 151/509/64 200/512/64 148/514/64 +f 148/514/64 150/515/64 203/516/64 +f 151/509/64 148/514/64 203/516/64 +f 203/516/64 205/517/64 154/300/64 +f 151/509/64 203/516/64 154/300/64 +f 205/517/64 193/298/64 154/300/64 +f 195/301/79 209/320/79 196/302/79 +f 199/306/57 310/518/57 181/519/57 +f 310/518/57 305/520/57 181/519/57 +f 306/521/57 311/522/57 190/523/57 +f 311/522/57 198/305/57 190/523/57 +f 199/306/57 181/519/57 183/524/57 +f 199/306/57 183/524/57 188/525/57 +f 159/526/57 190/523/57 198/305/57 +f 184/527/57 159/526/57 198/305/57 +f 199/306/57 188/525/57 186/528/57 +f 187/304/57 184/527/57 198/305/57 +f 199/306/57 186/528/57 187/304/57 +f 200/307/80 210/529/58 201/308/81 +f 213/530/57 309/531/57 171/532/57 +f 309/531/57 170/533/57 171/532/57 +f 176/534/57 194/535/57 173/536/57 +f 194/535/57 193/312/57 173/536/57 +f 213/530/57 171/532/57 167/537/57 +f 213/530/57 167/537/57 169/538/57 +f 166/539/57 173/536/57 193/312/57 +f 164/540/57 166/539/57 193/312/57 +f 213/530/57 169/538/57 179/310/57 +f 177/311/57 164/540/57 193/312/57 +f 213/530/57 179/310/57 193/312/57 +f 203/313/83 215/541/107 204/314/84 +f 206/316/86 216/335/86 207/317/86 +f 200/319/133 199/325/133 209/320/133 +f 157/259/134 214/332/134 193/321/134 +f 210/323/89 197/303/89 196/302/90 +f 210/323/135 200/319/135 195/301/135 +f 198/324/136 196/302/136 209/320/136 +f 211/326/93 147/248/137 146/247/94 +f 211/326/138 148/249/138 145/246/138 +f 148/249/139 202/329/139 212/328/139 +f 201/327/140 146/247/140 212/328/140 +f 213/330/98 156/258/141 158/260/99 +f 213/330/142 193/321/142 214/332/142 +f 205/322/143 204/331/143 158/260/143 +f 203/333/144 150/251/144 208/318/144 +f 149/250/145 206/316/145 208/318/145 +f 215/334/104 216/335/104 206/316/105 +f 215/334/146 203/333/146 207/317/146 +f 204/338/67 215/542/67 152/336/67 +f 215/542/67 149/543/67 153/544/67 +f 152/336/67 215/542/67 153/544/67 +f 149/543/67 211/545/67 153/544/67 +f 211/545/67 201/546/67 153/544/67 +f 201/546/67 210/547/67 153/544/67 +f 210/547/67 198/548/67 153/544/67 +f 198/548/67 311/549/67 153/544/67 +f 152/336/67 309/550/67 213/337/67 +f 217/339/107 281/441/107 218/340/107 +f 220/342/108 278/551/108 221/343/108 +f 223/345/58 276/413/58 224/346/58 +f 226/348/109 233/552/109 227/349/109 +f 229/351/64 273/408/64 230/352/64 +f 232/354/67 281/428/67 227/355/67 +f 234/357/67 280/426/67 235/358/67 +f 237/360/64 277/429/64 238/361/64 +f 240/363/110 266/431/110 241/364/110 +f 243/366/110 275/412/110 244/367/110 +f 235/369/109 280/432/109 246/370/109 +f 248/372/58 274/411/58 249/373/58 +f 251/375/111 282/436/111 252/376/111 +f 254/378/111 267/393/111 255/379/111 +f 257/381/108 279/438/108 258/382/108 +f 260/384/107 268/439/107 261/385/107 +f 262/386/107 261/385/107 263/387/107 +f 241/389/107 262/386/107 264/388/107 +f 266/391/107 260/384/107 262/386/107 +f 259/392/112 258/437/112 267/393/112 +f 219/394/112 259/392/112 254/378/112 +f 218/396/108 257/381/108 259/383/108 +f 256/398/113 255/407/113 269/399/113 +f 261/401/113 256/398/113 270/400/113 +f 268/395/111 254/378/111 256/380/111 +f 253/404/113 252/553/113 271/405/113 +f 255/407/113 253/404/113 272/406/113 +f 267/393/111 251/375/111 253/377/111 +f 273/408/58 248/372/58 250/374/58 +f 271/409/58 252/410/58 248/372/58 +f 252/410/58 282/434/58 274/411/58 +f 247/371/114 246/370/114 244/367/114 +f 224/346/114 247/371/114 275/412/114 +f 276/413/109 235/369/109 247/371/109 +f 243/366/115 245/368/115 277/414/115 +f 250/374/115 243/366/115 231/415/115 +f 249/373/110 275/412/110 243/366/110 +f 242/365/115 241/364/115 265/416/115 +f 245/368/115 242/365/115 238/417/115 +f 244/367/110 240/363/110 242/365/110 +f 239/362/64 238/361/64 265/418/64 +f 270/420/64 239/362/64 264/419/64 +f 269/422/64 237/360/64 239/362/64 +f 236/359/67 235/358/67 276/413/67 +f 220/423/67 236/359/67 223/345/67 +f 279/425/67 234/357/67 236/359/67 +f 232/354/67 233/356/67 280/426/67 +f 257/427/67 232/354/67 234/357/67 +f 257/427/67 218/554/67 281/428/67 +f 229/351/64 231/353/64 277/429/64 +f 272/430/64 229/351/64 237/360/64 +f 272/430/64 271/409/64 273/408/64 +f 226/348/114 228/350/114 266/431/114 +f 246/370/114 226/348/114 240/363/114 +f 280/432/109 233/552/109 226/348/109 +f 225/347/58 224/346/58 249/373/58 +f 221/433/58 225/347/58 274/411/58 +f 278/424/58 223/345/58 225/347/58 +f 222/435/112 221/555/112 282/436/112 +f 258/437/112 222/435/112 251/375/112 +f 279/438/108 220/342/108 222/344/108 +f 260/384/107 217/339/107 219/341/107 +f 266/391/107 228/440/107 217/339/107 +f 228/440/107 227/556/107 281/441/107 +f 191/442/64 295/464/64 283/443/64 +f 182/445/116 289/557/116 285/446/116 +f 160/448/117 290/457/117 286/449/117 +f 189/451/118 294/463/118 287/452/118 +f 288/454/119 293/462/119 289/455/119 +f 185/453/147 287/452/147 290/457/147 +f 284/458/58 283/558/58 291/459/58 +f 292/461/67 291/559/67 293/462/67 +f 192/447/121 285/446/121 294/463/121 +f 161/450/122 286/449/122 295/464/122 +f 293/467/57 291/560/57 283/561/57 +f 283/561/57 295/562/57 293/467/57 +f 295/562/57 286/563/57 287/564/57 +f 293/467/57 295/562/57 294/565/57 +f 286/563/57 290/566/57 287/564/57 +f 287/564/57 294/565/57 295/562/57 +f 294/565/57 285/465/57 293/467/57 +f 296/468/57 302/484/57 182/469/57 +f 185/471/57 304/486/57 297/472/57 +f 298/474/57 299/477/57 292/475/57 +f 299/477/57 296/468/57 288/470/57 +f 300/478/57 312/567/57 189/479/57 +f 161/481/57 303/485/57 301/482/57 +f 191/483/57 301/482/57 298/474/57 +f 302/484/57 300/478/57 192/480/57 +f 160/473/57 297/472/57 303/485/57 +f 189/479/57 312/567/57 304/486/57 +f 305/487/67 308/568/67 288/488/67 +f 306/489/64 190/295/123 191/296/123 +f 308/491/124 307/569/124 284/476/124 +f 153/570/107 311/571/107 307/492/107 +f 311/571/107 306/572/107 307/492/107 +f 305/573/107 310/574/107 308/493/107 +f 310/574/107 151/494/107 308/493/107 +f 153/570/107 307/492/107 151/494/107 diff --git a/src/main/resources/assets/hbm/sounds.json b/src/main/resources/assets/hbm/sounds.json index ab2066140..4a0266d81 100644 --- a/src/main/resources/assets/hbm/sounds.json +++ b/src/main/resources/assets/hbm/sounds.json @@ -52,6 +52,8 @@ "block.turbinegasRunning": {"category": "block", "sounds": [{"name": "block/turbinegasRunning", "stream": false}]}, "block.turbinegasShutdown": {"category": "block", "sounds": [{"name": "block/turbinegasShutdown", "stream": true}]}, "block.damage": {"category": "block", "sounds": ["block/dam1", "block/dam2", "block/dam3", "block/dam4"]}, + "block.electricHum": {"category": "block", "sounds": [{"name": "block/electricHum", "stream": false}]}, + "block.boiler": {"category": "block", "sounds": [{"name": "block/boiler", "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}]}, diff --git a/src/main/resources/assets/hbm/sounds/block/boiler.ogg b/src/main/resources/assets/hbm/sounds/block/boiler.ogg new file mode 100644 index 0000000000000000000000000000000000000000..c35d584f308dde45e23d89eb1ac5b495391b83cd GIT binary patch literal 191587 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

GtP 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 z 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/sounds/block/electricHum.ogg b/src/main/resources/assets/hbm/sounds/block/electricHum.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2d6a77653ac3bbae74134d66b7a648acce9c7019 GIT binary patch literal 30848 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 N002ovPDHLkV1l=$?rQ)5 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.machine.png b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.machine.png new file mode 100644 index 0000000000000000000000000000000000000000..53406350fa015e77948f54ae5f07880b0c7b6a65 GIT binary patch literal 515 zcmV+e0{s1nP)B@dw6ZoCj;E>jGz$c{)GJf^Sd&W z@IX}f`FUezjNTce0}zoEMP*S{EO$hNW=6|MB7&@ zNsEZRX-0Uk?#BRgEqZH2CZ>vtpshWR0h*cZ1K*uZ6*B_?LU>;nV~nS%s2~U)v1K4U z2>*AEOvdQ6)-Y8>jRMnQV);46WMP$-j!_4;CTpY(BA~qs|$`@T#(TJd`IA5=g zq`Q!JvpE-t?EPAZ$YxW8d^|AQl(Gt literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.machine_stripe.png b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.machine_stripe.png new file mode 100644 index 0000000000000000000000000000000000000000..e60525931563597a87ea2863b344e159d411ee96 GIT binary patch literal 507 zcmVvHo7~?UvxvG%F%4AIs-Obn>k^J)gJ5>e1*h~+$ zF{bac5wU@1SbzNa7c(X^uuXRZ5DLaaW-?QzcVv@JYmu3R0tw6p4Q;iyiS9;%s=lox5rL$KeP-wxbSvnYtwcf0 z3^ttSL4@`o^ng`0i2dD-&{kt3U`53Cd`q$ohP9IGx`+re7kKYx{Kalyg}x$@gl%#q zUCnu(?3m|awasxHguK(LF1iN{A(6S66(TdxYq>MPo_qZCB&49KP>AlKsyWvBYM^)C z+p50ezWWdn;#g~!=-#wnc}vX9%?{Ufkr_XgO@!@7=BuKw&UH7L32gtF>$wNIEv%1^ z4>FRzSyl!%|MNa$j0vqU3jcduyqzaiwJ+VVxUOPm xSk+Bt5IVW49vk_xBRxM~ReXDU+w{{U~5LP8b`ObP%1002ovPDHLkV1n0D=qCUG literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.pink.png b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.pink.png new file mode 100644 index 0000000000000000000000000000000000000000..bf6c79faba4226e9dcb380f11a2c3a48119ce6d2 GIT binary patch literal 523 zcmV+m0`&cfP)EcWSKw%sG8{ ztwryh)*5C8z!>8%KuU?$8l@EOb6poXXL|315KvWe&dv%Tgb)B6IfOt60TDq&IF7@m z0H`V=LTl|CKtz1QzsS9JwrwM&gqfkLF2l^+4=tsjs$ADa@12~p(>>3VecxTXh@h%& zxS64?HRhbWy}kLMnK8y7=gfJYhzKbquIqA;IVU1Qh%pjE_z}}ui^t=^aU6sYNGY+_ zBF4xV!!R!S*6pU)rne*l`{K`-$Logn}K N002ovPDHLkV1h0O?neLs literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.purple.png b/src/main/resources/assets/hbm/textures/blocks/concrete_colored_ext.purple.png new file mode 100644 index 0000000000000000000000000000000000000000..10101f3fbf21907926b7726e6836320fa96c0cc1 GIT binary patch literal 523 zcmV+m0`&cfP)EcWSKw%sG8{ ztwryh)*5C8z!>8%KuU?$8l@EOb6poXXL|315KvWe&dv%Tgb)B6IfOt60TDq&IF7@m z0H`V=LTl|CKtz1QzsS9JwrwM&gqfkLF2l^+4=tsjs$ADa@12~p(>>3VecxTXh@h%& zxS64?HRhbWy}kLMnK8y7=gfJYhzKbquIqA;IVU1Qh%pjE_z}}ui^t=^aU6sYNGY+_ zBF4xV!!R!S*6pU)rne*kXQK&Dd1p^^Xq N002ovPDHLkV1jx2@6-SQ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_bottom.png b/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..07af75aca5ea06fd62623193268766d622eee7a3 GIT binary patch literal 424 zcmV;Z0ayNsP)JwoWoiR5y8yxh#(?3=b);*-*47h0GxB`TLMJ{s#<^^5x)m_ z)>?HLV9trVv-d_-5fR+IE(55Up{jLJRcWo^?wA?(eIp_Ts;a1Jsd5o1h9~mgo8CL_ zUhHWj0U`pOb0Q+lIm?QfAtH=1xUQ?b1BeI_fr$L7$&g;JSIJY=0vltL_aqaMe-_LP zGvl1|C-v4E_kCk#^xiq=U}o&Siygr8kh1dfoU^ev7XE)I znREiCh2DEvnRAwHP5Do65mD22_v${G-|u$;c|_Fm@=2$^Twd?J>b$P&kKG?>LN0q% Sd%d#&0000lF(EG8ncaA`SA;Wn?QvyZ zC#1&=2tN4)lG1U+cx^XC+AGpbu7!mx~^O<7uvQZ=L|sed_Dn) zF%o0sd_FUdBiptyO%r|Jv+p~n)9Ikj^NhPAA~f!fy940v48s6G2mv!Yb}1#yjK||~ z+=>WlW~eIrz5}4Dgb-+&1~Vh2goqq;RYg^)wZ7-?qKF){pM@ABr4&jjxH~y#+?^1@ z+n|(kDAihjX`30fRz!rhZ4nX7jMwW$&KXtxw{QMEUmUe{tgQj*wg3PC07*qoM6N<$ Ef{a>!q5uE@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_side.png b/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_side.png new file mode 100644 index 0000000000000000000000000000000000000000..ce3162becd18fcdc33ac5110cfb2d2c635951335 GIT binary patch literal 307 zcmV-30nGl1P)|x)8zt@oW5L*CJG0G*wEQOk9ZN!2{po zZ9U7m+{4VkmoH$B$79Jk18_c{+3j{%Yw_N*TCIpN@-yG>_W-nQ%jtB&T`rf!rmCna zx7%%*g%A)C?)N*Y3P6mJuIm7hrfC4E>l*Jp*XwnW0X!ZLhGC$TLRD1&jN?cM;dR2{ za47G>dc6j~Irp-QFpeVt)>@`%VxDJ2gq$Wq?AZ05kkNigQ}8q<_T}YX#O~JXyX6?002ovPDHLk FV1ks_h~oeN literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_top.png b/src/main/resources/assets/hbm/textures/blocks/foundry_slagtap_top.png new file mode 100644 index 0000000000000000000000000000000000000000..945bb0bbdc372ece0e1e005ba1f9037732e8ab81 GIT binary patch literal 370 zcmV-&0ge8NP)RX_LZRX?J1T-m7vRWcNoU=V!(c@bv_&Bz zrn7>+!e79D!^7d`K3;&`q-kohEHita=eddFm~d+kwAN5c?J?$gMi2yq+j}6T#4rp* ztg4EzpAE{g1Y?Ydr_%|J$*Z~jqCMlq?9Pj5<&=A zm&@fVan7+U3oMHi`||VojA0m{wZ`Fa__@}98q=N#7S^@0!r$Kw%A)BJgbd7i)Q`Fz4IiemFpk|f4;T@v8?KANV% z{eIv0cfH4MAO2SD%7=}aw0HqY#wk4b_+jSi{=R}O62to+LKNBWIEGmC zzP+%KmqCGt+41qQPcAp>wX{XgG+a_VrN8cHXy|RTNegx>a+;szoW|m}A-AAua)a<6 e`9JLZwieBdjr-a!%gzQG#Ng@b=d#Wzp$PyNZ7Em) literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/slag.png b/src/main/resources/assets/hbm/textures/blocks/slag.png new file mode 100644 index 0000000000000000000000000000000000000000..6b39d33d52ae39ff4bebf8f273ac874920ae9715 GIT binary patch literal 775 zcmV+i1Ni)jP)_6-3 zzrd+Z?Nptzb&)tVAS9C!B;DSC&`fVYNd&pS!LQ}J^SN;EdCo!po6%?_Wm!rTMRI+8 zEg~Xmnu^w1q9~HdWFlH?Da%r{))EAPD5Yeh)9Kt;mWAUu_`XlS-=|iq@%sA8{{BAC z&(8oH9v<@Y^1|NU9=`AM_4P%!+hzUa+U+*oZkM7c zNRk8q%d*JxoH&j_MC9%5ZS}@tv5?!_TM-eN&1TCFWj32hnx>+ZlIe6RA|hp3%0{cz zx@k6>*tX5q))v0+b9s45RaNZl>=4H>pP!%X?(Xvb{*GZ70MzSsOw(lD^E`^8AdX{# zAmIG`oIKAl41+w+3BwT6G%*YVtu>8C1JCmqkH>^z$a<0_3qO9v&WOwOS-e zLKueFwoR60jK^af$D!3~ad&se>FFs&QLq+8kz`p$r_-U)Xpkfcj^mId3GH?p%d&{$ zn4&0HEEaUTU0l~Cj^n=z=JPq8=K)Yv6}?^$(=QyR%VM#R;c&PT zEz$jdX*e8;QcBV^m9^<~Dq3qC$HBI3s;a^?O?=*6>L z^?IHA`+E$-U@#bv=Q+SC151;us$xE$vo@Q}WJzI}vMkF0*xufzC<*|IqF_Fs6UQ-E zS6AeD{@0DA>so6`(^N!6lv1l+1VJF9(P(AblG?Hh{{YFm5W=G@A%Oq@002ovPDHLk FV1iioa0UPX literal 0 HcmV?d00001 From 7b0f648804af6906588852a955fa058979b4c7e8 Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Sun, 21 May 2023 20:51:16 +0300 Subject: [PATCH 106/285] Updated ru_RU.lang updated russian localization --- src/main/resources/assets/hbm/lang/ru_RU.lang | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index f1d124f2e..23a244c37 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -1735,6 +1735,7 @@ 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=Литейный бассейн @@ -2070,6 +2071,12 @@ 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_slab.concrete.name=Плита из бетонной плитки tile.concrete_slab.concrete_asbestos.name=Плита из асбестобетона tile.concrete_slab.concrete_smooth.name=Плита из бетона @@ -2166,6 +2173,8 @@ item.cart.destroyer.name=Вагонетка с уничтожителем мус item.cart.empty.name=Стальная вагонетка tile.rail_narrow.name=Узкоколейные вагонеточные рельсы tile.rail_wood.name=Деревянные рельсы +container.trainTram=Трамвай с плоской платформой +item.train.cargo_tram.name=Трамвай с плоской платформой tile.factory_titanium_hull.name=Корпус базовой фабрики tile.factory_titanium_furnace.name=Люк доступа базовой фабрики @@ -2973,6 +2982,7 @@ tile.block_tritium.name=Блок тритиевых пробирок tile.hazmat.name=Блок защитной ткани tile.deco_emitter.name=Декоративный источник света tile.part_emitter.name=Декоративный источник частиц +tile.piston_inserter.name=Вставщик tile.plant_flower.foxglove.name=Наперстянка tile.plant_flower.nightshade.name=Белладонна tile.plant_flower.tobacco.name=Табак From 7acf23b2aa5a3f6bbd3019f8a99c16fa3f009215 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 21 May 2023 22:51:04 +0200 Subject: [PATCH 107/285] ow my balls --- src/main/java/com/hbm/blocks/generic/BlockTallPlant.java | 2 +- .../com/hbm/tileentity/machine/TileEntityMachineTurbofan.java | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java b/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java index 4a972a3e7..f52da4c41 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java +++ b/src/main/java/com/hbm/blocks/generic/BlockTallPlant.java @@ -305,7 +305,7 @@ public class BlockTallPlant extends BlockEnumMulti implements IPlantable, IGrowa public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { ArrayList ret = super.getDrops(world, x, y, z, metadata, fortune); - if(rectify(world.getBlockMetadata(x, y, z)) == EnumTallFlower.CD4.ordinal()) { + if(metadata == EnumTallFlower.CD4.ordinal() + 8) { ret.add(DictFrame.fromOne(ModItems.plant_item, com.hbm.items.ItemEnums.EnumPlantType.MUSTARDWILLOW, 3 + world.rand.nextInt(4))); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index 942732fa1..4610b5216 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -309,6 +309,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements audio = rebootAudio(audio); } + audio.keepAlive(); audio.updateVolume(momentum); audio.updatePitch(momentum / 200F + 0.5F + this.afterburner * 0.16F); From 7ecc3fb1b79b961ad31c30fe4f55f6065a232430 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 22 May 2023 16:48:51 +0200 Subject: [PATCH 108/285] fixes, cryo cannon UV --- .../hbm/entity/projectile/EntityShrapnel.java | 12 + .../entity/projectile/EntityWaterSplash.java | 28 +- .../inventory/material/MatDistribution.java | 1 + src/main/java/com/hbm/items/ModItems.java | 2 +- .../machine/TileEntityMachineMiningLaser.java | 4 +- .../assets/hbm/models/weapons/cryo_cannon.obj | 5964 +++++++++++++++-- .../textures/models/weapons/cryo_cannon.png | Bin 2251 -> 2242 bytes .../models/weapons/cryo_cannon/fill_0.png | Bin 0 -> 144 bytes .../models/weapons/cryo_cannon/fill_1.png | Bin 0 -> 148 bytes .../models/weapons/cryo_cannon/fill_10.png | Bin 0 -> 153 bytes .../models/weapons/cryo_cannon/fill_11.png | Bin 0 -> 140 bytes .../models/weapons/cryo_cannon/fill_12.png | Bin 0 -> 142 bytes .../models/weapons/cryo_cannon/fill_13.png | Bin 0 -> 141 bytes .../models/weapons/cryo_cannon/fill_14.png | Bin 0 -> 138 bytes .../models/weapons/cryo_cannon/fill_2.png | Bin 0 -> 147 bytes .../models/weapons/cryo_cannon/fill_3.png | Bin 0 -> 152 bytes .../models/weapons/cryo_cannon/fill_4.png | Bin 0 -> 153 bytes .../models/weapons/cryo_cannon/fill_5.png | Bin 0 -> 156 bytes .../models/weapons/cryo_cannon/fill_6.png | Bin 0 -> 156 bytes .../models/weapons/cryo_cannon/fill_7.png | Bin 0 -> 151 bytes .../models/weapons/cryo_cannon/fill_8.png | Bin 0 -> 153 bytes .../models/weapons/cryo_cannon/fill_9.png | Bin 0 -> 154 bytes .../models/weapons/cryo_cannon/pressure_0.png | Bin 0 -> 220 bytes .../models/weapons/cryo_cannon/pressure_1.png | Bin 0 -> 225 bytes .../weapons/cryo_cannon/pressure_10.png | Bin 0 -> 227 bytes .../weapons/cryo_cannon/pressure_11.png | Bin 0 -> 227 bytes .../models/weapons/cryo_cannon/pressure_2.png | Bin 0 -> 225 bytes .../models/weapons/cryo_cannon/pressure_3.png | Bin 0 -> 219 bytes .../models/weapons/cryo_cannon/pressure_4.png | Bin 0 -> 224 bytes .../models/weapons/cryo_cannon/pressure_5.png | Bin 0 -> 208 bytes .../models/weapons/cryo_cannon/pressure_6.png | Bin 0 -> 204 bytes .../models/weapons/cryo_cannon/pressure_7.png | Bin 0 -> 222 bytes .../models/weapons/cryo_cannon/pressure_8.png | Bin 0 -> 213 bytes .../models/weapons/cryo_cannon/pressure_9.png | Bin 0 -> 227 bytes .../weapons/cryo_cannon/pressure_empty.png | Bin 0 -> 213 bytes .../models/weapons/cryo_cannon/turbine_0.png | Bin 0 -> 235 bytes .../models/weapons/cryo_cannon/turbine_1.png | Bin 0 -> 242 bytes .../models/weapons/cryo_cannon/turbine_2.png | Bin 0 -> 247 bytes .../models/weapons/cryo_cannon/turbine_3.png | Bin 0 -> 237 bytes .../models/weapons/cryo_cannon/turbine_4.png | Bin 0 -> 250 bytes .../models/weapons/cryo_cannon/turbine_5.png | Bin 0 -> 249 bytes .../models/weapons/cryo_cannon/turbine_6.png | Bin 0 -> 247 bytes .../models/weapons/cryo_cannon/turbine_7.png | Bin 0 -> 243 bytes .../models/weapons/cryo_cannon/turbine_8.png | Bin 0 -> 234 bytes .../weapons/cryo_cannon/turbine_empty.png | Bin 0 -> 206 bytes 45 files changed, 5359 insertions(+), 652 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_0.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_1.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_10.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_11.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_12.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_13.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_14.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_2.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_3.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_4.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_5.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_6.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_7.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_8.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_9.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_0.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_1.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_10.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_11.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_2.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_3.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_4.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_5.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_6.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_7.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_8.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_9.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_empty.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_0.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_1.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_2.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_3.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_4.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_5.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_6.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_7.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_8.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_empty.png diff --git a/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java b/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java index 3b1c7dea5..c7cc1a674 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java +++ b/src/main/java/com/hbm/entity/projectile/EntityShrapnel.java @@ -7,6 +7,7 @@ import com.hbm.lib.ModDamageSource; import net.minecraft.entity.EntityLivingBase; 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; @@ -106,4 +107,15 @@ public class EntityShrapnel extends EntityThrowable { public void setWatz(boolean b) { this.dataWatcher.updateObject(16, (byte) (b ? 3 : 0)); } + + @Override + public boolean writeToNBTOptional(NBTTagCompound nbt) { + return false; + } + + @Override + public void readEntityFromNBT(NBTTagCompound nbt) { + super.readEntityFromNBT(nbt); + this.setDead(); + } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityWaterSplash.java b/src/main/java/com/hbm/entity/projectile/EntityWaterSplash.java index d8501c733..4eed4570b 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityWaterSplash.java +++ b/src/main/java/com/hbm/entity/projectile/EntityWaterSplash.java @@ -9,24 +9,21 @@ import net.minecraft.world.World; public class EntityWaterSplash extends EntityThrowable { - public EntityWaterSplash(World p_i1773_1_) - { - super(p_i1773_1_); - } + public EntityWaterSplash(World p_i1773_1_) { + super(p_i1773_1_); + } - public EntityWaterSplash(World p_i1774_1_, EntityLivingBase p_i1774_2_) - { - super(p_i1774_1_, p_i1774_2_); - } + public EntityWaterSplash(World p_i1774_1_, EntityLivingBase p_i1774_2_) { + super(p_i1774_1_, p_i1774_2_); + } - @Override + @Override public void entityInit() { - } + } - 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_); - } + 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() { @@ -51,9 +48,12 @@ public class EntityWaterSplash extends EntityThrowable { } } + @Override public boolean writeToNBTOptional(NBTTagCompound nbt) { return false; } + + @Override public void readEntityFromNBT(NBTTagCompound nbt) { super.readEntityFromNBT(nbt); this.setDead(); diff --git a/src/main/java/com/hbm/inventory/material/MatDistribution.java b/src/main/java/com/hbm/inventory/material/MatDistribution.java index 71116ec6c..a8793dc1c 100644 --- a/src/main/java/com/hbm/inventory/material/MatDistribution.java +++ b/src/main/java/com/hbm/inventory/material/MatDistribution.java @@ -84,6 +84,7 @@ public class MatDistribution extends SerializableRecipe { 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)); } public static void registerEntry(Object key, Object... matDef) { diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index d055d6f01..8fc513266 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -3280,7 +3280,7 @@ public class ModItems { }).setUnlocalizedName("iv_blood").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":iv_blood"); iv_xp_empty = new ItemSimpleConsumable().setUseActionServer((stack, user) -> { - if(user.experienceTotal >= 100) { + if(EnchantmentUtil.getTotalExperience(user) >= 100) { ItemSimpleConsumable.giveSoundAndDecrement(stack, user, "hbm:item.syringe", new ItemStack(ModItems.iv_xp)); EnchantmentUtil.setExperience(user, EnchantmentUtil.getTotalExperience(user) - 100); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java index e0e4c52f7..82076c1cf 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMiningLaser.java @@ -262,7 +262,9 @@ public class TileEntityMachineMiningLaser extends TileEntityMachineBase implemen if(hasCrystallizer()) { CrystallizerRecipe result = CrystallizerRecipes.getOutput(stack, Fluids.ACID); - if(result != null && result.output.getItem() != ModItems.scrap) { + 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; } diff --git a/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj b/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj index db707ffc8..32b7cee31 100644 --- a/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj +++ b/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj @@ -1,5 +1,810 @@ # Blender v2.79 (sub 0) OBJ File: 'cryo_cannon.blend' # www.blender.org +o Plane.004 +v -0.437500 2.102596 -3.042822 +v -0.483253 2.144063 -3.023486 +v -0.500000 2.200707 -2.997072 +v -0.483253 2.257351 -2.970659 +v -0.437500 2.298818 -2.951323 +v -0.375000 2.313995 -2.944245 +v -0.312500 2.298818 -2.951323 +v -0.266747 2.257351 -2.970659 +v -0.250000 2.200707 -2.997072 +v -0.266747 2.144063 -3.023486 +v -0.312500 2.102596 -3.042822 +v -0.375000 2.087419 -3.049900 +vt 0.750000 0.933013 +vt 0.933013 0.750000 +vt 1.000000 0.500000 +vt 0.933013 0.250000 +vt 0.750000 0.066987 +vt 0.500000 0.000000 +vt 0.250000 0.066987 +vt 0.066987 0.250000 +vt 0.000000 0.500000 +vt 0.066987 0.750000 +vt 0.250000 0.933013 +vt 0.500000 1.000000 +vn -0.0000 0.4226 -0.9063 +s off +f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 7/7/1 8/8/1 9/9/1 10/10/1 11/11/1 12/12/1 +o Plane.003 +v -0.216506 2.340409 -3.000889 +v -0.250000 2.227120 -3.053716 +v -0.216506 2.113832 -3.106544 +v -0.125000 2.030899 -3.145216 +v 0.000000 2.000544 -3.159371 +v 0.125000 2.030899 -3.145216 +v 0.216506 2.113832 -3.106544 +v 0.250000 2.227120 -3.053716 +v 0.216506 2.340409 -3.000889 +v 0.125000 2.423342 -2.962217 +v 0.000000 2.453697 -2.948062 +v -0.125000 2.423342 -2.962217 +vt 0.250000 0.933013 +vt 0.500000 1.000000 +vt 0.750000 0.933013 +vt 0.933013 0.750000 +vt 1.000000 0.500000 +vt 0.933013 0.250000 +vt 0.750000 0.066987 +vt 0.500000 0.000000 +vt 0.250000 0.066987 +vt 0.066987 0.250000 +vt 0.000000 0.500000 +vt 0.066987 0.750000 +vn 0.0000 0.4226 -0.9063 +s off +f 24/13/2 23/14/2 22/15/2 21/16/2 20/17/2 19/18/2 18/19/2 17/20/2 16/21/2 15/22/2 14/23/2 13/24/2 +o Plane.002 +v -0.109472 2.437500 -0.413125 +v 0.003817 2.437500 -0.360298 +v 0.109472 2.437500 -0.586875 +v -0.003817 2.437500 -0.639702 +v 0.109472 2.312500 -0.586875 +v -0.003817 2.312500 -0.639702 +v -0.109472 2.312500 -0.413125 +v 0.003817 2.312500 -0.360298 +v 0.109472 0.062500 -0.413125 +v -0.003817 0.062500 -0.360298 +v -0.109472 0.062500 -0.586875 +v 0.003816 0.062500 -0.639702 +v -0.109472 0.187500 -0.586875 +v 0.003816 0.187500 -0.639702 +v 0.109472 0.187500 -0.413125 +v -0.003817 0.187500 -0.360298 +v 1.187500 1.359472 -0.413125 +v 1.187500 1.246183 -0.360298 +v 1.187500 1.140528 -0.586875 +v 1.187500 1.253817 -0.639702 +v 1.062500 1.140528 -0.586875 +v 1.062500 1.253817 -0.639702 +v 1.062500 1.359472 -0.413125 +v 1.062500 1.246183 -0.360298 +v -1.187500 1.140528 -0.413125 +v -1.187500 1.253817 -0.360298 +v -1.187500 1.359473 -0.586875 +v -1.187500 1.246184 -0.639702 +v -1.062500 1.359473 -0.586875 +v -1.062500 1.246184 -0.639702 +v -1.062500 1.140528 -0.413125 +v -1.062500 1.253817 -0.360298 +v 0.762281 2.167098 -0.413125 +v 0.842388 2.086991 -0.360298 +v 0.917098 2.012281 -0.586875 +v 0.836990 2.092388 -0.639702 +v 0.828709 1.923892 -0.586875 +v 0.748602 2.004000 -0.639702 +v 0.673892 2.078710 -0.413125 +v 0.754000 1.998602 -0.360298 +v -0.762281 0.332902 -0.413125 +v -0.842388 0.413010 -0.360298 +v -0.917098 0.487720 -0.586875 +v -0.836991 0.407612 -0.639702 +v -0.828710 0.576108 -0.586875 +v -0.748602 0.496001 -0.639702 +v -0.673892 0.421291 -0.413125 +v -0.754000 0.501398 -0.360298 +v 0.917098 0.487720 -0.413125 +v 0.836990 0.407612 -0.360298 +v 0.762280 0.332902 -0.586875 +v 0.842388 0.413010 -0.639702 +v 0.673892 0.421291 -0.586875 +v 0.753999 0.501398 -0.639702 +v 0.828709 0.576108 -0.413125 +v 0.748602 0.496001 -0.360298 +v -0.917098 2.012281 -0.413125 +v -0.836990 2.092388 -0.360298 +v -0.762281 2.167098 -0.586875 +v -0.842388 2.086991 -0.639702 +v -0.673892 2.078710 -0.586875 +v -0.754000 1.998602 -0.639702 +v -0.828709 1.923893 -0.413125 +v -0.748602 2.004000 -0.360298 +v 1.083141 0.751056 -0.413125 +v 1.026497 0.652945 -0.360298 +v 0.973669 0.561444 -0.586875 +v 1.030313 0.659555 -0.639702 +v 0.865416 0.623944 -0.586875 +v 0.922060 0.722055 -0.639702 +v 0.974888 0.813556 -0.413125 +v 0.918243 0.715445 -0.360298 +v -1.083141 1.748945 -0.413125 +v -1.026497 1.847056 -0.360298 +v -0.973669 1.938556 -0.586875 +v -1.030313 1.840445 -0.639702 +v -0.865416 1.876056 -0.586875 +v -0.922060 1.777945 -0.639702 +v -0.974888 1.686445 -0.413125 +v -0.918244 1.784556 -0.360298 +v -0.498944 0.166859 -0.413125 +v -0.597055 0.223504 -0.360298 +v -0.688556 0.276331 -0.586875 +v -0.590445 0.219687 -0.639702 +v -0.626056 0.384585 -0.586875 +v -0.527945 0.327940 -0.639702 +v -0.436444 0.275112 -0.413125 +v -0.534555 0.331757 -0.360298 +v 0.498944 2.333141 -0.413125 +v 0.597055 2.276497 -0.360298 +v 0.688556 2.223669 -0.586875 +v 0.590445 2.280313 -0.639702 +v 0.626056 2.115416 -0.586875 +v 0.527945 2.172060 -0.639702 +v 0.436444 2.224888 -0.413125 +v 0.534555 2.168244 -0.360298 +v 0.413089 0.131297 -0.413125 +v 0.303661 0.101975 -0.360298 +v 0.201605 0.074630 -0.586875 +v 0.311034 0.103951 -0.639702 +v 0.169253 0.195371 -0.586875 +v 0.278682 0.224692 -0.639702 +v 0.380737 0.252038 -0.413125 +v 0.271308 0.222716 -0.360298 +v -0.413090 2.368703 -0.413125 +v -0.303661 2.398025 -0.360298 +v -0.201605 2.425371 -0.586875 +v -0.311034 2.396049 -0.639702 +v -0.169253 2.304630 -0.586875 +v -0.278682 2.275309 -0.639702 +v -0.380737 2.247963 -0.413125 +v -0.271308 2.277284 -0.360298 +v -1.118703 0.836911 -0.413125 +v -1.148025 0.946339 -0.360298 +v -1.175370 1.048395 -0.586875 +v -1.146049 0.938966 -0.639702 +v -1.054630 1.080747 -0.586875 +v -1.025308 0.971319 -0.639702 +v -0.997963 0.869263 -0.413125 +v -1.027284 0.978692 -0.360298 +v 1.118703 1.663090 -0.413125 +v 1.148025 1.553661 -0.360298 +v 1.175370 1.451605 -0.586875 +v 1.146049 1.561034 -0.639702 +v 1.054630 1.419253 -0.586875 +v 1.025308 1.528682 -0.639702 +v 0.997963 1.630737 -0.413125 +v 1.027284 1.521308 -0.360298 +v -0.973669 0.561445 -0.413125 +v -1.030313 0.659556 -0.360298 +v -1.083141 0.751056 -0.586875 +v -1.026497 0.652945 -0.639702 +v -0.974888 0.813556 -0.586875 +v -0.918244 0.715445 -0.639702 +v -0.865416 0.623945 -0.413125 +v -0.922060 0.722056 -0.360298 +v 0.973669 1.938556 -0.413125 +v 1.030313 1.840445 -0.360298 +v 1.083141 1.748944 -0.586875 +v 1.026497 1.847055 -0.639702 +v 0.974888 1.686444 -0.586875 +v 0.918244 1.784555 -0.639702 +v 0.865416 1.876056 -0.413125 +v 0.922060 1.777945 -0.360298 +v -0.688556 2.223669 -0.413125 +v -0.590444 2.280313 -0.360298 +v -0.498944 2.333141 -0.586875 +v -0.597055 2.276497 -0.639702 +v -0.436444 2.224888 -0.586875 +v -0.534555 2.168244 -0.639702 +v -0.626056 2.115416 -0.413125 +v -0.527944 2.172060 -0.360298 +v 0.688555 0.276331 -0.413125 +v 0.590444 0.219687 -0.360298 +v 0.498944 0.166859 -0.586875 +v 0.597055 0.223503 -0.639702 +v 0.436444 0.275112 -0.586875 +v 0.534555 0.331756 -0.639702 +v 0.626055 0.384584 -0.413125 +v 0.527944 0.327940 -0.360298 +v -1.175370 1.451606 -0.413125 +v -1.146049 1.561034 -0.360298 +v -1.118703 1.663090 -0.586875 +v -1.148025 1.553661 -0.639702 +v -0.997963 1.630738 -0.586875 +v -1.027284 1.521309 -0.639702 +v -1.054630 1.419253 -0.413125 +v -1.025308 1.528682 -0.360298 +v 1.175370 1.048394 -0.413125 +v 1.146049 0.938966 -0.360298 +v 1.118703 0.836910 -0.586875 +v 1.148024 0.946339 -0.639702 +v 0.997963 0.869263 -0.586875 +v 1.027284 0.978691 -0.639702 +v 1.054630 1.080747 -0.413125 +v 1.025308 0.971318 -0.360298 +v 0.201606 2.425370 -0.413125 +v 0.311034 2.396049 -0.360298 +v 0.413090 2.368703 -0.586875 +v 0.303661 2.398025 -0.639702 +v 0.380738 2.247962 -0.586875 +v 0.271309 2.277284 -0.639702 +v 0.169253 2.304630 -0.413125 +v 0.278682 2.275308 -0.360298 +v -0.201606 0.074630 -0.413125 +v -0.311035 0.103951 -0.360298 +v -0.413090 0.131297 -0.586875 +v -0.303662 0.101975 -0.639702 +v -0.380738 0.252038 -0.586875 +v -0.271309 0.222716 -0.639702 +v -0.169254 0.195371 -0.413125 +v -0.278682 0.224692 -0.360298 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.109375 +vt 0.317241 0.125000 +vt 0.303448 0.125000 +vt 0.303448 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vn 0.0000 1.0000 0.0000 +vn 0.4226 0.0000 -0.9063 +vn -0.4226 -0.0000 0.9063 +vn 0.9063 -0.0000 0.4226 +vn -0.9063 0.0000 -0.4226 +vn 0.0000 -1.0000 -0.0000 +vn -0.4226 -0.0000 -0.9063 +vn 0.4226 -0.0000 0.9063 +vn -0.9063 0.0000 0.4226 +vn 0.9063 -0.0000 -0.4226 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -0.4226 -0.9063 +vn 0.0000 0.4226 0.9063 +vn 0.0000 -0.9063 0.4226 +vn 0.0000 0.9063 -0.4226 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.4226 -0.9063 +vn 0.0000 -0.4226 0.9063 +vn 0.0000 0.9063 0.4226 +vn 0.0000 -0.9063 -0.4226 +vn 0.7071 0.7071 0.0000 +vn 0.2988 -0.2988 -0.9063 +vn -0.2988 0.2988 0.9063 +vn 0.6409 -0.6409 0.4226 +vn -0.6409 0.6409 -0.4226 +vn -0.7071 -0.7071 0.0000 +vn -0.2988 0.2988 -0.9063 +vn 0.2988 -0.2988 0.9063 +vn -0.6409 0.6409 0.4226 +vn 0.6409 -0.6409 -0.4226 +vn 0.7071 -0.7071 0.0000 +vn -0.2988 -0.2988 -0.9063 +vn 0.2988 0.2988 0.9063 +vn -0.6409 -0.6409 0.4226 +vn 0.6409 0.6409 -0.4226 +vn -0.7071 0.7071 0.0000 +vn 0.2988 0.2988 -0.9063 +vn -0.2988 -0.2988 0.9063 +vn 0.6409 0.6409 0.4226 +vn -0.6409 -0.6409 -0.4226 +vn 0.8660 -0.5000 0.0000 +vn -0.2113 -0.3660 -0.9063 +vn 0.2113 0.3660 0.9063 +vn -0.4532 -0.7849 0.4226 +vn 0.4532 0.7849 -0.4226 +vn -0.8660 0.5000 -0.0000 +vn 0.2113 0.3660 -0.9063 +vn -0.2113 -0.3660 0.9063 +vn 0.4532 0.7849 0.4226 +vn -0.4532 -0.7849 -0.4226 +vn -0.5000 -0.8660 0.0000 +vn -0.3660 0.2113 -0.9063 +vn 0.3660 -0.2113 0.9063 +vn -0.7849 0.4532 0.4226 +vn 0.7849 -0.4532 -0.4226 +vn 0.5000 0.8660 0.0000 +vn 0.3660 -0.2113 -0.9063 +vn -0.3660 0.2113 0.9063 +vn 0.7849 -0.4532 0.4226 +vn -0.7849 0.4532 -0.4226 +vn 0.2588 -0.9659 -0.0000 +vn -0.4082 -0.1094 -0.9063 +vn 0.4082 0.1094 0.9063 +vn -0.8754 -0.2346 0.4226 +vn 0.8754 0.2346 -0.4226 +vn -0.2588 0.9659 -0.0000 +vn 0.4082 0.1094 -0.9063 +vn -0.4082 -0.1094 0.9063 +vn 0.8754 0.2346 0.4226 +vn -0.8754 -0.2346 -0.4226 +vn -0.9659 -0.2588 0.0000 +vn -0.1094 0.4082 -0.9063 +vn 0.1094 -0.4082 0.9063 +vn -0.2346 0.8754 0.4226 +vn 0.2346 -0.8754 -0.4226 +vn 0.9659 0.2588 0.0000 +vn 0.1094 -0.4082 -0.9063 +vn -0.1094 0.4082 0.9063 +vn 0.2346 -0.8754 0.4226 +vn -0.2346 0.8754 -0.4226 +vn -0.8660 -0.5000 0.0000 +vn -0.2113 0.3660 -0.9063 +vn 0.2113 -0.3660 0.9063 +vn -0.4532 0.7849 0.4226 +vn 0.4532 -0.7849 -0.4226 +vn 0.8660 0.5000 0.0000 +vn 0.2113 -0.3660 -0.9063 +vn -0.2113 0.3660 0.9063 +vn 0.4532 -0.7849 0.4226 +vn -0.4532 0.7849 -0.4226 +vn -0.5000 0.8660 0.0000 +vn 0.3660 0.2113 -0.9063 +vn -0.3660 -0.2113 0.9063 +vn 0.7849 0.4532 0.4226 +vn -0.7849 -0.4532 -0.4226 +vn 0.5000 -0.8660 -0.0000 +vn -0.3660 -0.2113 -0.9063 +vn 0.3660 0.2113 0.9063 +vn -0.7849 -0.4532 0.4226 +vn 0.7849 0.4532 -0.4226 +vn -0.9659 0.2588 0.0000 +vn 0.1094 0.4082 -0.9063 +vn -0.1094 -0.4082 0.9063 +vn 0.2346 0.8754 0.4226 +vn -0.2346 -0.8754 -0.4226 +vn 0.9659 -0.2588 -0.0000 +vn -0.1094 -0.4082 -0.9063 +vn 0.1094 0.4082 0.9063 +vn -0.2346 -0.8754 0.4226 +vn 0.2346 0.8754 -0.4226 +vn 0.2588 0.9659 0.0000 +vn 0.4082 -0.1094 -0.9063 +vn -0.4082 0.1094 0.9063 +vn 0.8754 -0.2346 0.4226 +vn -0.8754 0.2346 -0.4226 +vn -0.2588 -0.9659 0.0000 +vn -0.4082 0.1094 -0.9063 +vn 0.4082 -0.1094 0.9063 +vn -0.8754 0.2346 0.4226 +vn 0.8754 -0.2346 -0.4226 +s off +f 25/25/3 26/26/3 27/27/3 28/28/3 +f 28/28/4 27/27/4 29/29/4 30/30/4 +f 26/26/5 25/25/5 31/31/5 32/32/5 +f 27/27/6 26/26/6 32/33/6 29/34/6 +f 25/25/7 28/28/7 30/35/7 31/36/7 +f 33/37/8 34/38/8 35/39/8 36/40/8 +f 36/40/9 35/39/9 37/41/9 38/42/9 +f 34/38/10 33/37/10 39/43/10 40/44/10 +f 35/39/11 34/38/11 40/45/11 37/46/11 +f 33/37/12 36/40/12 38/47/12 39/48/12 +f 41/49/13 42/50/13 43/51/13 44/52/13 +f 44/52/14 43/51/14 45/53/14 46/54/14 +f 42/50/15 41/49/15 47/55/15 48/56/15 +f 43/51/16 42/50/16 48/57/16 45/58/16 +f 41/49/17 44/52/17 46/59/17 47/60/17 +f 49/61/18 50/62/18 51/63/18 52/64/18 +f 52/64/19 51/63/19 53/65/19 54/66/19 +f 50/62/20 49/61/20 55/67/20 56/68/20 +f 51/63/21 50/62/21 56/69/21 53/70/21 +f 49/61/22 52/64/22 54/71/22 55/72/22 +f 57/73/23 58/74/23 59/75/23 60/76/23 +f 60/76/24 59/75/24 61/77/24 62/78/24 +f 58/74/25 57/73/25 63/79/25 64/80/25 +f 59/75/26 58/74/26 64/81/26 61/82/26 +f 57/73/27 60/76/27 62/83/27 63/84/27 +f 65/85/28 66/86/28 67/87/28 68/88/28 +f 68/88/29 67/87/29 69/89/29 70/90/29 +f 66/86/30 65/85/30 71/91/30 72/92/30 +f 67/87/31 66/86/31 72/93/31 69/94/31 +f 65/85/32 68/88/32 70/95/32 71/96/32 +f 73/97/33 74/98/33 75/99/33 76/100/33 +f 76/100/34 75/99/34 77/101/34 78/102/34 +f 74/98/35 73/97/35 79/103/35 80/104/35 +f 75/99/36 74/98/36 80/105/36 77/106/36 +f 73/97/37 76/100/37 78/107/37 79/108/37 +f 81/109/38 82/110/38 83/111/38 84/112/38 +f 84/112/39 83/111/39 85/113/39 86/114/39 +f 82/110/40 81/109/40 87/115/40 88/116/40 +f 83/111/41 82/110/41 88/117/41 85/118/41 +f 81/109/42 84/112/42 86/119/42 87/120/42 +f 89/121/43 90/122/43 91/123/43 92/124/43 +f 92/124/44 91/123/44 93/125/44 94/126/44 +f 90/122/45 89/121/45 95/127/45 96/128/45 +f 91/123/46 90/122/46 96/129/46 93/130/46 +f 89/121/47 92/124/47 94/131/47 95/132/47 +f 97/133/48 98/134/48 99/135/48 100/136/48 +f 100/136/49 99/135/49 101/137/49 102/138/49 +f 98/134/50 97/133/50 103/139/50 104/140/50 +f 99/135/51 98/134/51 104/141/51 101/142/51 +f 97/133/52 100/136/52 102/143/52 103/144/52 +f 105/145/53 106/146/53 107/147/53 108/148/53 +f 108/148/54 107/147/54 109/149/54 110/150/54 +f 106/146/55 105/145/55 111/151/55 112/152/55 +f 107/147/56 106/146/56 112/153/56 109/154/56 +f 105/145/57 108/148/57 110/155/57 111/156/57 +f 113/157/58 114/158/58 115/159/58 116/160/58 +f 116/160/59 115/159/59 117/161/59 118/162/59 +f 114/158/60 113/157/60 119/163/60 120/164/60 +f 115/159/61 114/158/61 120/165/61 117/166/61 +f 113/157/62 116/160/62 118/167/62 119/168/62 +f 121/169/63 122/170/63 123/171/63 124/172/63 +f 124/172/64 123/171/64 125/173/64 126/174/64 +f 122/170/65 121/169/65 127/175/65 128/176/65 +f 123/171/66 122/170/66 128/177/66 125/178/66 +f 121/169/67 124/172/67 126/179/67 127/180/67 +f 129/181/68 130/182/68 131/183/68 132/184/68 +f 132/184/69 131/183/69 133/185/69 134/186/69 +f 130/182/70 129/181/70 135/187/70 136/188/70 +f 131/183/71 130/182/71 136/189/71 133/190/71 +f 129/181/72 132/184/72 134/191/72 135/192/72 +f 137/193/73 138/194/73 139/195/73 140/196/73 +f 140/196/74 139/195/74 141/197/74 142/198/74 +f 138/194/75 137/193/75 143/199/75 144/200/75 +f 139/195/76 138/194/76 144/201/76 141/202/76 +f 137/193/77 140/196/77 142/203/77 143/204/77 +f 145/205/78 146/206/78 147/207/78 148/208/78 +f 148/208/79 147/207/79 149/209/79 150/210/79 +f 146/206/80 145/205/80 151/211/80 152/212/80 +f 147/207/81 146/206/81 152/213/81 149/214/81 +f 145/205/82 148/208/82 150/215/82 151/216/82 +f 153/217/83 154/218/83 155/219/83 156/220/83 +f 156/220/84 155/219/84 157/221/84 158/222/84 +f 154/218/85 153/217/85 159/223/85 160/224/85 +f 155/219/86 154/218/86 160/225/86 157/226/86 +f 153/217/87 156/220/87 158/227/87 159/228/87 +f 161/229/88 162/230/88 163/231/88 164/232/88 +f 164/232/89 163/231/89 165/233/89 166/234/89 +f 162/230/90 161/229/90 167/235/90 168/236/90 +f 163/231/91 162/230/91 168/237/91 165/238/91 +f 161/229/92 164/232/92 166/239/92 167/240/92 +f 169/241/93 170/242/93 171/243/93 172/244/93 +f 172/244/94 171/243/94 173/245/94 174/246/94 +f 170/242/95 169/241/95 175/247/95 176/248/95 +f 171/243/96 170/242/96 176/249/96 173/250/96 +f 169/241/97 172/244/97 174/251/97 175/252/97 +f 177/253/98 178/254/98 179/255/98 180/256/98 +f 180/256/99 179/255/99 181/257/99 182/258/99 +f 178/254/100 177/253/100 183/259/100 184/260/100 +f 179/255/101 178/254/101 184/261/101 181/262/101 +f 177/253/102 180/256/102 182/263/102 183/264/102 +f 185/265/103 186/266/103 187/267/103 188/268/103 +f 188/268/104 187/267/104 189/269/104 190/270/104 +f 186/266/105 185/265/105 191/271/105 192/272/105 +f 187/267/106 186/266/106 192/273/106 189/274/106 +f 185/265/107 188/268/107 190/275/107 191/276/107 +f 193/277/108 194/278/108 195/279/108 196/280/108 +f 196/280/109 195/279/109 197/281/109 198/282/109 +f 194/278/110 193/277/110 199/283/110 200/284/110 +f 195/279/111 194/278/111 200/285/111 197/286/111 +f 193/277/112 196/280/112 198/287/112 199/288/112 +f 201/289/113 202/290/113 203/291/113 204/292/113 +f 204/292/114 203/291/114 205/293/114 206/294/114 +f 202/290/115 201/289/115 207/295/115 208/296/115 +f 203/291/116 202/290/116 208/297/116 205/298/116 +f 201/289/117 204/292/117 206/299/117 207/300/117 +f 209/301/118 210/302/118 211/303/118 212/304/118 +f 212/304/119 211/303/119 213/305/119 214/306/119 +f 210/302/120 209/301/120 215/307/120 216/308/120 +f 211/303/121 210/302/121 216/309/121 213/310/121 +f 209/301/122 212/304/122 214/311/122 215/312/122 +o Plane.001 +v 0.000000 2.453697 -2.948062 +v 0.125000 2.423342 -2.962217 +v 0.216506 2.340409 -3.000889 +v 0.250000 2.227120 -3.053716 +v 0.216506 2.113832 -3.106544 +v 0.000000 2.566986 -2.895234 +v 0.324759 2.057188 -3.132957 +v 0.375000 2.227120 -3.053716 +v 0.324760 2.397053 -2.974475 +v 0.187500 2.521452 -2.916467 +vt 1.000000 0.000000 +vt 1.000000 0.250000 +vt 0.000000 0.250000 +vt -0.000000 -0.000000 +vt 1.000000 0.500000 +vt -0.000000 0.500000 +vt 1.000000 0.750000 +vt -0.000000 0.750000 +vt 0.000000 1.000000 +vt 1.000000 1.000000 +vn 0.0000 0.4226 -0.9063 +s off +f 221/313/123 220/314/123 224/315/123 223/316/123 +f 220/314/123 219/317/123 225/318/123 224/315/123 +f 219/317/123 218/319/123 226/320/123 225/318/123 +f 222/321/123 226/320/123 218/319/123 217/322/123 o Plane v -0.500000 -0.000000 0.125000 v -0.500000 0.000000 -0.375000 @@ -459,9 +1264,6 @@ v -0.062500 2.243718 -5.265165 v -0.062500 2.066942 -5.088388 v -0.125000 2.423342 -2.962217 v 0.000000 2.453697 -2.948062 -v 0.125000 2.423342 -2.962217 -v 0.216506 2.340409 -3.000889 -v 0.250000 2.227120 -3.053716 v 0.216506 2.113832 -3.106544 v 0.125000 2.030899 -3.145216 v 0.000000 2.000544 -3.159371 @@ -556,14 +1358,6 @@ v 0.012500 2.134191 -3.062400 v 0.012500 2.009191 -3.062400 v -0.137500 2.134191 -3.062400 v -0.012500 2.134191 -3.062400 -v -0.109472 2.437500 -0.413125 -v 0.003817 2.437500 -0.360298 -v 0.109472 2.437500 -0.586875 -v -0.003817 2.437500 -0.639702 -v 0.109472 2.312500 -0.586875 -v -0.003817 2.312500 -0.639702 -v -0.109472 2.312500 -0.413125 -v 0.003817 2.312500 -0.360298 v -0.625000 1.938500 -3.250000 v 0.625000 1.938500 -3.250000 v 0.625000 1.830247 -3.187500 @@ -837,6 +1631,2962 @@ v 1.088388 1.859835 -1.750000 v 0.698223 2.125000 -1.875000 v 1.051777 1.771446 -1.750000 v 1.000000 0.500000 -2.625000 +v 0.344030 1.791848 -0.175597 +v 0.424630 1.866847 -0.128904 +v 0.388541 1.881795 -0.128904 +v 0.328091 1.825547 -0.163924 +v 0.420670 1.976871 -0.082211 +v 0.334466 2.057472 -0.062870 +v 0.320918 2.024764 -0.079378 +v 0.385571 1.964314 -0.093884 +v 0.216518 2.061433 -0.082211 +v 0.135918 1.986435 -0.128904 +v 0.172007 1.971487 -0.128904 +v 0.232457 2.027735 -0.093884 +v 0.139879 1.876410 -0.175597 +v 0.174978 1.888968 -0.163924 +v 0.226082 1.795810 -0.194938 +v 0.239630 1.828518 -0.178429 +v 0.208096 1.956538 -0.128904 +v 0.210077 1.901526 -0.152250 +v 0.253178 1.861225 -0.161921 +v 0.312152 1.859245 -0.152250 +v 0.352451 1.896744 -0.128904 +v 0.350472 1.951756 -0.105557 +v 0.307370 1.992056 -0.095887 +v 0.248396 1.994037 -0.105557 +v 0.222349 2.003332 -0.037240 +v 0.161900 1.947084 -0.072260 +v 0.197989 1.932135 -0.072260 +v 0.238288 1.969634 -0.048913 +v 0.164869 1.864565 -0.107280 +v 0.199968 1.877123 -0.095606 +v 0.229523 1.804115 -0.121785 +v 0.243071 1.836822 -0.105277 +v 0.317984 1.801143 -0.107280 +v 0.302044 1.834842 -0.095606 +v 0.378433 1.857392 -0.072260 +v 0.342344 1.872341 -0.072260 +v 0.375462 1.939911 -0.037240 +v 0.340365 1.927353 -0.048913 +v 0.310810 2.000361 -0.022734 +v 0.297262 1.967653 -0.039243 +v -0.110485 1.735485 -0.750000 +v -0.156250 1.625000 -0.750000 +v -0.156250 1.762294 -0.418544 +v -0.110485 1.840419 -0.496669 +v -0.110485 1.514515 -0.750000 +v 0.000000 1.468750 -0.750000 +v 0.000000 1.651808 -0.308058 +v -0.110485 1.684169 -0.340419 +v 0.110486 1.514515 -0.750000 +v 0.156250 1.625000 -0.750000 +v 0.156250 1.762294 -0.418544 +v 0.110486 1.684169 -0.340419 +v 0.110486 1.735485 -0.750000 +v 0.110486 1.840419 -0.496669 +v 0.000000 1.781250 -0.750000 +v 0.000000 1.872779 -0.529029 +v 0.156250 1.914367 -0.316931 +v 0.110486 1.872086 -0.214856 +v 0.000000 1.854573 -0.172575 +v -0.110485 1.872086 -0.214856 +v -0.156250 1.914367 -0.316931 +v -0.110485 1.956648 -0.419007 +v 0.000000 1.974162 -0.461288 +v 0.110486 1.956648 -0.419007 +v -0.110485 2.093750 -0.391735 +v 0.000000 2.093750 -0.437500 +v 0.110486 2.093750 -0.391735 +v 0.156250 2.093750 -0.281250 +v 0.110486 2.093750 -0.170765 +v 0.000000 2.093750 -0.125000 +v -0.110485 2.093750 -0.170765 +v -0.156250 2.093750 -0.281250 +v 0.110486 2.315414 -0.214856 +v 0.000000 2.332927 -0.172575 +v -0.110485 2.315414 -0.214856 +v -0.156250 2.273133 -0.316932 +v -0.110485 2.230852 -0.419007 +v 0.000000 2.213339 -0.461288 +v 0.110486 2.230852 -0.419007 +v 0.156250 2.273133 -0.316932 +v 0.196566 2.132853 -0.468769 +v 0.200528 2.022828 -0.515462 +v 0.286731 1.942228 -0.534803 +v 0.404678 1.938266 -0.515462 +v 0.485279 2.013265 -0.468769 +v 0.481318 2.123290 -0.422076 +v 0.395115 2.203890 -0.402735 +v 0.277166 2.207852 -0.422076 +v -0.541848 1.594031 -0.175597 +v -0.616847 1.674630 -0.128904 +v -0.631795 1.638541 -0.128904 +v -0.575547 1.578091 -0.163924 +v -0.726871 1.670670 -0.082211 +v -0.807472 1.584466 -0.062870 +v -0.774764 1.570918 -0.079378 +v -0.714314 1.635571 -0.093884 +v -0.811433 1.466519 -0.082211 +v -0.736435 1.385918 -0.128904 +v -0.721487 1.422007 -0.128904 +v -0.777735 1.482457 -0.093884 +v -0.626410 1.389879 -0.175597 +v -0.638968 1.424978 -0.163924 +v -0.545810 1.476082 -0.194938 +v -0.578518 1.489630 -0.178429 +v -0.706538 1.458096 -0.128904 +v -0.651526 1.460078 -0.152250 +v -0.611225 1.503178 -0.161921 +v -0.609245 1.562152 -0.152250 +v -0.646744 1.602452 -0.128904 +v -0.701756 1.600472 -0.105557 +v -0.742056 1.557370 -0.095887 +v -0.744037 1.498396 -0.105557 +v -0.753332 1.472349 -0.037240 +v -0.697084 1.411900 -0.072260 +v -0.682135 1.447989 -0.072260 +v -0.719634 1.488288 -0.048913 +v -0.614565 1.414870 -0.107280 +v -0.627123 1.449969 -0.095606 +v -0.554115 1.479523 -0.121785 +v -0.586822 1.493071 -0.105277 +v -0.551143 1.567984 -0.107280 +v -0.584842 1.552044 -0.095606 +v -0.607392 1.628433 -0.072260 +v -0.622341 1.592345 -0.072260 +v -0.689911 1.625462 -0.037240 +v -0.677353 1.590365 -0.048913 +v -0.750361 1.560810 -0.022734 +v -0.717653 1.547262 -0.039243 +v -0.485485 1.139515 -0.750000 +v -0.375000 1.093750 -0.750000 +v -0.512294 1.093750 -0.418544 +v -0.590419 1.139515 -0.496669 +v -0.264515 1.139515 -0.750000 +v -0.218750 1.250000 -0.750000 +v -0.401808 1.250000 -0.308058 +v -0.434169 1.139515 -0.340419 +v -0.264515 1.360486 -0.750000 +v -0.375000 1.406250 -0.750000 +v -0.512294 1.406250 -0.418544 +v -0.434169 1.360486 -0.340419 +v -0.485485 1.360486 -0.750000 +v -0.590419 1.360486 -0.496669 +v -0.531250 1.250000 -0.750000 +v -0.622779 1.250000 -0.529029 +v -0.664367 1.406250 -0.316931 +v -0.622086 1.360486 -0.214856 +v -0.604573 1.250000 -0.172575 +v -0.622086 1.139515 -0.214856 +v -0.664367 1.093750 -0.316931 +v -0.706648 1.139515 -0.419007 +v -0.724162 1.250000 -0.461288 +v -0.706648 1.360486 -0.419007 +v -0.843750 1.139515 -0.391735 +v -0.843750 1.250000 -0.437500 +v -0.843750 1.360486 -0.391735 +v -0.843750 1.406250 -0.281250 +v -0.843750 1.360486 -0.170765 +v -0.843750 1.250000 -0.125000 +v -0.843750 1.139515 -0.170765 +v -0.843750 1.093750 -0.281250 +v -1.065414 1.360486 -0.214856 +v -1.082927 1.250000 -0.172575 +v -1.065414 1.139515 -0.214856 +v -1.023133 1.093750 -0.316932 +v -0.980852 1.139515 -0.419007 +v -0.963339 1.250000 -0.461288 +v -0.980852 1.360486 -0.419007 +v -1.023133 1.406250 -0.316932 +v -0.882853 1.446566 -0.468769 +v -0.772828 1.450528 -0.515462 +v -0.692228 1.536731 -0.534803 +v -0.688266 1.654678 -0.515462 +v -0.763265 1.735279 -0.468769 +v -0.873290 1.731318 -0.422076 +v -0.953890 1.645115 -0.402735 +v -0.957852 1.527166 -0.422076 +v 0.541848 0.905970 -0.175597 +v 0.616847 0.825370 -0.128904 +v 0.631795 0.861459 -0.128904 +v 0.575547 0.921909 -0.163924 +v 0.726871 0.829330 -0.082211 +v 0.807472 0.915534 -0.062870 +v 0.774764 0.929082 -0.079378 +v 0.714314 0.864429 -0.093884 +v 0.811433 1.033482 -0.082211 +v 0.736435 1.114082 -0.128904 +v 0.721487 1.077993 -0.128904 +v 0.777735 1.017543 -0.093884 +v 0.626410 1.110121 -0.175597 +v 0.638968 1.075022 -0.163924 +v 0.545810 1.023918 -0.194938 +v 0.578518 1.010370 -0.178429 +v 0.706538 1.041904 -0.128904 +v 0.651526 1.039923 -0.152250 +v 0.611225 0.996822 -0.161921 +v 0.609245 0.937848 -0.152250 +v 0.646744 0.897549 -0.128904 +v 0.701756 0.899529 -0.105557 +v 0.742056 0.942630 -0.095887 +v 0.744037 1.001604 -0.105557 +v 0.753332 1.027651 -0.037240 +v 0.697084 1.088100 -0.072260 +v 0.682135 1.052011 -0.072260 +v 0.719634 1.011712 -0.048913 +v 0.614565 1.085131 -0.107280 +v 0.627123 1.050032 -0.095606 +v 0.554115 1.020477 -0.121785 +v 0.586822 1.006929 -0.105277 +v 0.551143 0.932016 -0.107280 +v 0.584842 0.947956 -0.095606 +v 0.607392 0.871567 -0.072260 +v 0.622341 0.907656 -0.072260 +v 0.689911 0.874539 -0.037240 +v 0.677353 0.909636 -0.048913 +v 0.750361 0.939190 -0.022734 +v 0.717653 0.952738 -0.039243 +v 0.485485 1.360485 -0.750000 +v 0.375000 1.406250 -0.750000 +v 0.512294 1.406250 -0.418544 +v 0.590419 1.360485 -0.496669 +v 0.264515 1.360485 -0.750000 +v 0.218750 1.250000 -0.750000 +v 0.401808 1.250000 -0.308058 +v 0.434169 1.360485 -0.340419 +v 0.264515 1.139514 -0.750000 +v 0.375000 1.093750 -0.750000 +v 0.512294 1.093750 -0.418544 +v 0.434169 1.139514 -0.340419 +v 0.485485 1.139514 -0.750000 +v 0.590419 1.139514 -0.496669 +v 0.531250 1.250000 -0.750000 +v 0.622779 1.250000 -0.529029 +v 0.664367 1.093750 -0.316931 +v 0.622086 1.139514 -0.214856 +v 0.604573 1.250000 -0.172575 +v 0.622086 1.360485 -0.214856 +v 0.664367 1.406250 -0.316931 +v 0.706648 1.360485 -0.419007 +v 0.724162 1.250000 -0.461288 +v 0.706648 1.139514 -0.419007 +v 0.843750 1.360485 -0.391735 +v 0.843750 1.250000 -0.437500 +v 0.843750 1.139514 -0.391735 +v 0.843750 1.093750 -0.281250 +v 0.843750 1.139514 -0.170765 +v 0.843750 1.250000 -0.125000 +v 0.843750 1.360485 -0.170765 +v 0.843750 1.406250 -0.281250 +v 1.065414 1.139514 -0.214856 +v 1.082927 1.250000 -0.172575 +v 1.065414 1.360485 -0.214856 +v 1.023133 1.406250 -0.316932 +v 0.980852 1.360485 -0.419007 +v 0.963339 1.250000 -0.461288 +v 0.980852 1.139514 -0.419007 +v 1.023133 1.093750 -0.316932 +v 0.882853 1.053434 -0.468769 +v 0.772828 1.049472 -0.515462 +v 0.692228 0.963269 -0.534803 +v 0.688266 0.845322 -0.515462 +v 0.763265 0.764721 -0.468769 +v 0.873290 0.768682 -0.422076 +v 0.953890 0.854885 -0.402735 +v 0.957852 0.972834 -0.422076 +v -0.626411 1.110122 -0.175597 +v -0.736436 1.114082 -0.128904 +v -0.721487 1.077994 -0.128904 +v -0.638968 1.075022 -0.163924 +v -0.811434 1.033483 -0.082211 +v -0.807472 0.915534 -0.062870 +v -0.774764 0.929083 -0.079378 +v -0.777736 1.017543 -0.093884 +v -0.726871 0.829332 -0.082211 +v -0.616847 0.825370 -0.128904 +v -0.631795 0.861459 -0.128904 +v -0.714314 0.864430 -0.093884 +v -0.541848 0.905971 -0.175597 +v -0.575547 0.921910 -0.163924 +v -0.545810 1.023918 -0.194938 +v -0.578518 1.010370 -0.178429 +v -0.646744 0.897548 -0.128904 +v -0.609246 0.937849 -0.152250 +v -0.611225 0.996822 -0.161921 +v -0.651526 1.039924 -0.152250 +v -0.706538 1.041904 -0.128904 +v -0.744037 1.001604 -0.105557 +v -0.742056 0.942631 -0.095887 +v -0.701756 0.899529 -0.105557 +v -0.689911 0.874538 -0.037240 +v -0.607393 0.871567 -0.072260 +v -0.622341 0.907657 -0.072260 +v -0.677353 0.909637 -0.048913 +v -0.551143 0.932017 -0.107280 +v -0.584842 0.947956 -0.095606 +v -0.554116 1.020479 -0.121785 +v -0.586823 1.006931 -0.105277 +v -0.614565 1.085132 -0.107280 +v -0.627123 1.050032 -0.095606 +v -0.697084 1.088102 -0.072260 +v -0.682136 1.052012 -0.072260 +v -0.753332 1.027651 -0.037240 +v -0.719635 1.011713 -0.048913 +v -0.750361 0.939191 -0.022734 +v -0.717654 0.952739 -0.039243 +v -0.265165 0.828586 -0.750000 +v -0.154680 0.874350 -0.750000 +v -0.251761 0.777268 -0.418544 +v -0.339365 0.754386 -0.496669 +v -0.108916 0.984835 -0.750000 +v -0.154680 1.095320 -0.750000 +v -0.284121 0.965879 -0.308058 +v -0.228879 0.864871 -0.340419 +v -0.265166 1.141085 -0.750000 +v -0.375651 1.095320 -0.750000 +v -0.472732 0.998239 -0.418544 +v -0.385129 1.021122 -0.340419 +v -0.421415 0.984836 -0.750000 +v -0.495615 0.910636 -0.496669 +v -0.375651 0.874350 -0.750000 +v -0.440371 0.809629 -0.529029 +v -0.580264 0.890707 -0.316931 +v -0.518007 0.888244 -0.214856 +v -0.427498 0.822502 -0.172575 +v -0.361757 0.731994 -0.214856 +v -0.359293 0.669736 -0.316931 +v -0.421551 0.672200 -0.419007 +v -0.512060 0.737940 -0.461288 +v -0.577801 0.828450 -0.419007 +v -0.518497 0.575254 -0.391735 +v -0.596621 0.653379 -0.437500 +v -0.674747 0.731504 -0.391735 +v -0.707107 0.763864 -0.281250 +v -0.674747 0.731504 -0.170765 +v -0.596621 0.653379 -0.125000 +v -0.518497 0.575254 -0.170765 +v -0.486136 0.542893 -0.281250 +v -0.831487 0.574764 -0.214856 +v -0.765745 0.484255 -0.172575 +v -0.675237 0.418514 -0.214856 +v -0.612979 0.416050 -0.316932 +v -0.615442 0.478308 -0.419007 +v -0.681184 0.568817 -0.461288 +v -0.771693 0.634558 -0.419007 +v -0.833950 0.637021 -0.316932 +v -0.763264 0.764722 -0.468769 +v -0.688267 0.845323 -0.515462 +v -0.692228 0.963270 -0.534803 +v -0.772828 1.049473 -0.515462 +v -0.882854 1.053434 -0.468769 +v -0.957852 0.972834 -0.422076 +v -0.953891 0.854886 -0.402735 +v -0.873290 0.768683 -0.422076 +v 0.626411 1.389878 -0.175597 +v 0.736436 1.385918 -0.128904 +v 0.721487 1.422006 -0.128904 +v 0.638968 1.424978 -0.163924 +v 0.811434 1.466517 -0.082211 +v 0.807472 1.584466 -0.062870 +v 0.774764 1.570918 -0.079378 +v 0.777736 1.482457 -0.093884 +v 0.726872 1.670668 -0.082211 +v 0.616847 1.674630 -0.128904 +v 0.631796 1.638541 -0.128904 +v 0.714314 1.635570 -0.093884 +v 0.541848 1.594029 -0.175597 +v 0.575547 1.578090 -0.163924 +v 0.545810 1.476082 -0.194938 +v 0.578518 1.489630 -0.178429 +v 0.646744 1.602452 -0.128904 +v 0.609246 1.562152 -0.152250 +v 0.611225 1.503178 -0.161921 +v 0.651526 1.460077 -0.152250 +v 0.706538 1.458097 -0.128904 +v 0.744037 1.498396 -0.105557 +v 0.742057 1.557369 -0.095887 +v 0.701756 1.600471 -0.105557 +v 0.689911 1.625462 -0.037240 +v 0.607393 1.628433 -0.072260 +v 0.622342 1.592343 -0.072260 +v 0.677353 1.590363 -0.048913 +v 0.551144 1.567983 -0.107280 +v 0.584842 1.552044 -0.095606 +v 0.554116 1.479522 -0.121785 +v 0.586823 1.493069 -0.105277 +v 0.614566 1.414869 -0.107280 +v 0.627123 1.449969 -0.095606 +v 0.697084 1.411898 -0.072260 +v 0.682136 1.447988 -0.072260 +v 0.753332 1.472350 -0.037240 +v 0.719635 1.488287 -0.048913 +v 0.750361 1.560810 -0.022734 +v 0.717654 1.547261 -0.039243 +v 0.265165 1.671415 -0.750000 +v 0.154680 1.625651 -0.750000 +v 0.251761 1.722732 -0.418544 +v 0.339365 1.745614 -0.496669 +v 0.108916 1.515165 -0.750000 +v 0.154680 1.404680 -0.750000 +v 0.284121 1.534121 -0.308058 +v 0.228879 1.635129 -0.340419 +v 0.265166 1.358915 -0.750000 +v 0.375651 1.404680 -0.750000 +v 0.472732 1.501761 -0.418544 +v 0.385129 1.478879 -0.340419 +v 0.421415 1.515165 -0.750000 +v 0.495615 1.589364 -0.496669 +v 0.375651 1.625651 -0.750000 +v 0.440371 1.690371 -0.529029 +v 0.580264 1.609293 -0.316931 +v 0.518007 1.611756 -0.214856 +v 0.427498 1.677498 -0.172575 +v 0.361757 1.768006 -0.214856 +v 0.359293 1.830264 -0.316931 +v 0.421551 1.827801 -0.419007 +v 0.512060 1.762060 -0.461288 +v 0.577801 1.671550 -0.419007 +v 0.518497 1.924746 -0.391735 +v 0.596621 1.846622 -0.437500 +v 0.674747 1.768496 -0.391735 +v 0.707107 1.736136 -0.281250 +v 0.674747 1.768496 -0.170765 +v 0.596621 1.846622 -0.125000 +v 0.518497 1.924746 -0.170765 +v 0.486136 1.957107 -0.281250 +v 0.831487 1.925236 -0.214856 +v 0.765745 2.015745 -0.172575 +v 0.675237 2.081486 -0.214856 +v 0.612979 2.083950 -0.316932 +v 0.615442 2.021692 -0.419007 +v 0.681184 1.931184 -0.461288 +v 0.771693 1.865442 -0.419007 +v 0.833950 1.862979 -0.316932 +v 0.763264 1.735279 -0.468769 +v 0.688267 1.654677 -0.515462 +v 0.692229 1.536730 -0.534803 +v 0.772828 1.450527 -0.515462 +v 0.882854 1.446566 -0.468769 +v 0.957852 1.527166 -0.422076 +v 0.953891 1.645114 -0.402735 +v 0.873290 1.731318 -0.422076 +v -0.139878 1.876411 -0.175597 +v -0.135918 1.986436 -0.128904 +v -0.172006 1.971487 -0.128904 +v -0.174978 1.888969 -0.163924 +v -0.216517 2.061434 -0.082211 +v -0.334466 2.057472 -0.062870 +v -0.320918 2.024765 -0.079378 +v -0.232457 2.027736 -0.093884 +v -0.420668 1.976872 -0.082211 +v -0.424630 1.866847 -0.128904 +v -0.388541 1.881796 -0.128904 +v -0.385570 1.964314 -0.093884 +v -0.344029 1.791849 -0.175597 +v -0.328090 1.825547 -0.163924 +v -0.226082 1.795810 -0.194938 +v -0.239630 1.828518 -0.178429 +v -0.352452 1.896744 -0.128904 +v -0.312151 1.859246 -0.152250 +v -0.253178 1.861225 -0.161921 +v -0.210077 1.901526 -0.152250 +v -0.208096 1.956538 -0.128904 +v -0.248396 1.994038 -0.105557 +v -0.307369 1.992057 -0.095887 +v -0.350471 1.951756 -0.105557 +v -0.375462 1.939911 -0.037240 +v -0.378433 1.857393 -0.072260 +v -0.342343 1.872342 -0.072260 +v -0.340363 1.927353 -0.048913 +v -0.317983 1.801144 -0.107280 +v -0.302044 1.834842 -0.095606 +v -0.229521 1.804116 -0.121785 +v -0.243069 1.836823 -0.105277 +v -0.164869 1.864566 -0.107280 +v -0.199968 1.877123 -0.095606 +v -0.161898 1.947084 -0.072260 +v -0.197988 1.932136 -0.072260 +v -0.222349 2.003333 -0.037240 +v -0.238287 1.969635 -0.048913 +v -0.310809 2.000361 -0.022734 +v -0.297261 1.967654 -0.039243 +v -0.421415 1.515165 -0.750000 +v -0.375651 1.404680 -0.750000 +v -0.472732 1.501761 -0.418544 +v -0.495614 1.589365 -0.496669 +v -0.265165 1.358916 -0.750000 +v -0.154680 1.404680 -0.750000 +v -0.284121 1.534121 -0.308058 +v -0.385129 1.478879 -0.340419 +v -0.108915 1.515166 -0.750000 +v -0.154680 1.625651 -0.750000 +v -0.251761 1.722732 -0.418544 +v -0.228879 1.635129 -0.340419 +v -0.265164 1.671415 -0.750000 +v -0.339364 1.745615 -0.496669 +v -0.375651 1.625651 -0.750000 +v -0.440371 1.690372 -0.529029 +v -0.359293 1.830264 -0.316931 +v -0.361756 1.768007 -0.214856 +v -0.427498 1.677498 -0.172575 +v -0.518006 1.611757 -0.214856 +v -0.580264 1.609293 -0.316931 +v -0.577800 1.671551 -0.419007 +v -0.512060 1.762060 -0.461288 +v -0.421550 1.827801 -0.419007 +v -0.674746 1.768497 -0.391735 +v -0.596621 1.846622 -0.437500 +v -0.518496 1.924747 -0.391735 +v -0.486136 1.957107 -0.281250 +v -0.518496 1.924747 -0.170765 +v -0.596621 1.846622 -0.125000 +v -0.674746 1.768497 -0.170765 +v -0.707107 1.736136 -0.281250 +v -0.675236 2.081487 -0.214856 +v -0.765745 2.015745 -0.172575 +v -0.831486 1.925237 -0.214856 +v -0.833950 1.862979 -0.316932 +v -0.771692 1.865443 -0.419007 +v -0.681184 1.931184 -0.461288 +v -0.615442 2.021693 -0.419007 +v -0.612979 2.083950 -0.316932 +v -0.485278 2.013265 -0.468769 +v -0.404677 1.938267 -0.515462 +v -0.286730 1.942229 -0.534803 +v -0.200527 2.022829 -0.515462 +v -0.196566 2.132854 -0.468769 +v -0.277167 2.207852 -0.422076 +v -0.395114 2.203891 -0.402735 +v -0.481318 2.123290 -0.422076 +v 0.139878 0.623589 -0.175597 +v 0.135918 0.513564 -0.128904 +v 0.172006 0.528513 -0.128904 +v 0.174978 0.611032 -0.163924 +v 0.216517 0.438566 -0.082211 +v 0.334466 0.442528 -0.062870 +v 0.320918 0.475236 -0.079378 +v 0.232457 0.472264 -0.093884 +v 0.420668 0.523129 -0.082211 +v 0.424630 0.633153 -0.128904 +v 0.388541 0.618205 -0.128904 +v 0.385570 0.535686 -0.093884 +v 0.344029 0.708152 -0.175597 +v 0.328090 0.674453 -0.163924 +v 0.226082 0.704190 -0.194938 +v 0.239630 0.671482 -0.178429 +v 0.352452 0.603256 -0.128904 +v 0.312151 0.640754 -0.152250 +v 0.253178 0.638775 -0.161921 +v 0.210077 0.598474 -0.152250 +v 0.208096 0.543462 -0.128904 +v 0.248396 0.505963 -0.105557 +v 0.307369 0.507944 -0.095887 +v 0.350471 0.548244 -0.105557 +v 0.375462 0.560089 -0.037240 +v 0.378433 0.642607 -0.072260 +v 0.342343 0.627659 -0.072260 +v 0.340363 0.572647 -0.048913 +v 0.317983 0.698857 -0.107280 +v 0.302044 0.665158 -0.095606 +v 0.229521 0.695884 -0.121785 +v 0.243069 0.663177 -0.105277 +v 0.164869 0.635435 -0.107280 +v 0.199969 0.622877 -0.095606 +v 0.161898 0.552916 -0.072260 +v 0.197988 0.567865 -0.072260 +v 0.222349 0.496668 -0.037240 +v 0.238287 0.530365 -0.048913 +v 0.310809 0.499639 -0.022734 +v 0.297261 0.532347 -0.039243 +v 0.421415 0.984835 -0.750000 +v 0.375651 1.095320 -0.750000 +v 0.472732 0.998239 -0.418544 +v 0.495614 0.910635 -0.496669 +v 0.265165 1.141084 -0.750000 +v 0.154680 1.095320 -0.750000 +v 0.284121 0.965879 -0.308058 +v 0.385129 1.021121 -0.340419 +v 0.108915 0.984834 -0.750000 +v 0.154680 0.874350 -0.750000 +v 0.251761 0.777268 -0.418544 +v 0.228879 0.864871 -0.340419 +v 0.265164 0.828585 -0.750000 +v 0.339364 0.754385 -0.496669 +v 0.375650 0.874350 -0.750000 +v 0.440371 0.809629 -0.529029 +v 0.359293 0.669736 -0.316931 +v 0.361756 0.731993 -0.214856 +v 0.427498 0.822502 -0.172575 +v 0.518006 0.888243 -0.214856 +v 0.580264 0.890707 -0.316931 +v 0.577800 0.828449 -0.419007 +v 0.512060 0.737940 -0.461288 +v 0.421550 0.672199 -0.419007 +v 0.674746 0.731503 -0.391735 +v 0.596621 0.653379 -0.437500 +v 0.518496 0.575253 -0.391735 +v 0.486136 0.542893 -0.281250 +v 0.518496 0.575253 -0.170765 +v 0.596621 0.653379 -0.125000 +v 0.674746 0.731503 -0.170765 +v 0.707107 0.763864 -0.281250 +v 0.675236 0.418513 -0.214856 +v 0.765745 0.484255 -0.172575 +v 0.831486 0.574763 -0.214856 +v 0.833950 0.637021 -0.316932 +v 0.771692 0.634558 -0.419007 +v 0.681184 0.568816 -0.461288 +v 0.615442 0.478308 -0.419007 +v 0.612979 0.416050 -0.316932 +v 0.485278 0.486736 -0.468769 +v 0.404677 0.561733 -0.515462 +v 0.286730 0.557772 -0.534803 +v 0.200527 0.477172 -0.515462 +v 0.196566 0.367146 -0.468769 +v 0.277166 0.292148 -0.422076 +v 0.395114 0.296109 -0.402735 +v 0.481317 0.376710 -0.422076 +v 0.391169 2.232164 0.136894 +v 0.014465 2.307096 0.136894 +v 0.014465 2.197720 -0.081856 +v 0.349313 2.131115 -0.081856 +v 0.025414 2.252758 -0.109375 +v 0.360261 2.186152 -0.109375 +v 0.025414 2.362132 0.109375 +v 0.402117 2.287201 0.109375 +v -0.982164 1.641169 0.136894 +v -1.057095 1.264466 0.136894 +v -0.947720 1.264466 -0.081856 +v -0.881115 1.599313 -0.081856 +v -1.002758 1.275414 -0.109375 +v -0.936152 1.610261 -0.109375 +v -1.112132 1.275414 0.109375 +v -1.037201 1.652117 0.109375 +v 0.982164 0.858831 0.136894 +v 1.057095 1.235535 0.136894 +v 0.947720 1.235535 -0.081856 +v 0.881115 0.900687 -0.081856 +v 1.002758 1.224586 -0.109375 +v 0.936152 0.889739 -0.109375 +v 1.112132 1.224586 0.109375 +v 1.037201 0.847883 0.109375 +v -0.971093 0.832103 0.136894 +v -0.757708 0.512749 0.136894 +v -0.680368 0.590089 -0.081856 +v -0.870044 0.873959 -0.081856 +v -0.727027 0.558913 -0.109375 +v -0.916702 0.842784 -0.109375 +v -0.804366 0.481574 0.109375 +v -1.017751 0.800928 0.109375 +v 0.971093 1.667897 0.136894 +v 0.757708 1.987251 0.136894 +v 0.680368 1.909911 -0.081856 +v 0.870044 1.626041 -0.081856 +v 0.727027 1.941087 -0.109375 +v 0.916703 1.657217 -0.109375 +v 0.804366 2.018426 0.109375 +v 1.017752 1.699073 0.109375 +v -0.417897 2.221093 0.136894 +v -0.737251 2.007708 0.136894 +v -0.659911 1.930368 -0.081856 +v -0.376041 2.120044 -0.081856 +v -0.691087 1.977027 -0.109375 +v -0.407216 2.166703 -0.109375 +v -0.768426 2.054366 0.109375 +v -0.449072 2.267752 0.109375 +v 0.417897 0.278907 0.136894 +v 0.737251 0.492292 0.136894 +v 0.659911 0.569632 -0.081856 +v 0.376041 0.379956 -0.081856 +v 0.691087 0.522973 -0.109375 +v 0.407216 0.333298 -0.109375 +v 0.768426 0.445634 0.109375 +v 0.449072 0.232249 0.109375 +v -0.737251 0.492293 0.136894 +v -0.417897 0.278907 0.136894 +v -0.376041 0.379957 -0.081856 +v -0.659911 0.569632 -0.081856 +v -0.407218 0.333298 -0.109375 +v -0.691088 0.522974 -0.109375 +v -0.449074 0.232249 0.109375 +v -0.768427 0.445635 0.109375 +v 0.737251 2.007708 0.136894 +v 0.417897 2.221093 0.136894 +v 0.376041 2.120044 -0.081856 +v 0.659911 1.930368 -0.081856 +v 0.407218 2.166703 -0.109375 +v 0.691088 1.977026 -0.109375 +v 0.449074 2.267751 0.109375 +v 0.768427 2.054366 0.109375 +v -0.757708 1.987251 0.136894 +v -0.971093 1.667897 0.136894 +v -0.870044 1.626041 -0.081856 +v -0.680368 1.909911 -0.081856 +v -0.916702 1.657218 -0.109375 +v -0.727026 1.941088 -0.109375 +v -1.017751 1.699074 0.109375 +v -0.804365 2.018427 0.109375 +v 0.757708 0.512749 0.136894 +v 0.971093 0.832103 0.136894 +v 0.870044 0.873959 -0.081856 +v 0.680368 0.590089 -0.081856 +v 0.916702 0.842782 -0.109375 +v 0.727026 0.558912 -0.109375 +v 1.017751 0.800926 0.109375 +v 0.804366 0.481573 0.109375 +v -1.057095 1.235535 0.136894 +v -0.982164 0.858832 0.136894 +v -0.881115 0.900688 -0.081856 +v -0.947720 1.235535 -0.081856 +v -0.936153 0.889740 -0.109375 +v -1.002758 1.224588 -0.109375 +v -1.037201 0.847885 0.109375 +v -1.112132 1.224588 0.109375 +v 1.057095 1.264465 0.136894 +v 0.982164 1.641169 0.136894 +v 0.881115 1.599313 -0.081856 +v 0.947720 1.264465 -0.081856 +v 0.936153 1.610260 -0.109375 +v 1.002758 1.275412 -0.109375 +v 1.037202 1.652116 0.109375 +v 1.112132 1.275412 0.109375 +v -0.014465 2.307096 0.136894 +v -0.391168 2.232164 0.136894 +v -0.349312 2.131115 -0.081856 +v -0.014465 2.197721 -0.081856 +v -0.360260 2.186153 -0.109375 +v -0.025412 2.252758 -0.109375 +v -0.402115 2.287201 0.109375 +v -0.025412 2.362133 0.109375 +v 0.014465 0.192905 0.136894 +v 0.391169 0.267836 0.136894 +v 0.349312 0.368885 -0.081856 +v 0.014465 0.302280 -0.081856 +v 0.360260 0.313847 -0.109375 +v 0.025412 0.247242 -0.109375 +v 0.402115 0.212799 0.109375 +v 0.025412 0.137868 0.109375 +vt 0.227586 -0.000000 +vt 0.255172 -0.000000 +vt 0.255172 0.125000 +vt 0.227586 0.125000 +vt 0.227586 0.625000 +vt 0.227586 0.500000 +vt 0.255172 0.500000 +vt 0.255172 0.625000 +vt 0.227586 0.750000 +vt 0.255172 0.750000 +vt 0.255172 0.875000 +vt 0.227586 0.875000 +vt 0.227586 0.375000 +vt 0.227586 0.250000 +vt 0.255172 0.250000 +vt 0.255172 0.375000 +vt 0.255172 1.000000 +vt 0.227586 1.000000 +vt 0.130816 0.408077 +vt 0.185647 0.407982 +vt 0.181809 0.433762 +vt 0.158206 0.423338 +vt 0.134644 0.434152 +vt 0.227246 0.501121 +vt 0.215680 0.509781 +vt 0.201106 0.462288 +vt 0.226770 0.624909 +vt 0.215543 0.616068 +vt 0.220300 0.563004 +vt 0.185661 0.717018 +vt 0.181941 0.690910 +vt 0.202736 0.659045 +vt 0.131028 0.716313 +vt 0.134829 0.690268 +vt 0.158386 0.701199 +vt 0.089995 0.623885 +vt 0.101155 0.615205 +vt 0.113984 0.658150 +vt 0.089997 0.501305 +vt 0.101178 0.509856 +vt 0.096611 0.562314 +vt 0.113890 0.466628 +vt 0.551724 0.750000 +vt 0.682759 0.750000 +vt 0.662069 0.796875 +vt 0.662069 0.875000 +vt 0.551724 0.875000 +vt 0.606897 0.125000 +vt 0.634483 0.218750 +vt 0.662069 0.218750 +vt 0.724138 0.218750 +vt 0.724138 0.250000 +vt 0.551724 0.250000 +vt 0.551724 0.125000 +vt 0.682759 0.375000 +vt 0.551724 0.375000 +vt 0.724138 0.359375 +vt 0.703448 0.375000 +vt 0.551724 -0.000000 +vt 0.606897 -0.000000 +vt 0.662069 0.906250 +vt 0.634483 0.906250 +vt 0.606897 1.000000 +vt 0.551724 1.000000 +vt 0.413793 0.187500 +vt 0.413793 0.062500 +vt 0.441379 -0.000000 +vt 0.441379 0.250000 +vt 0.703448 0.406250 +vt 0.682759 0.406250 +vt 0.724138 0.875000 +vt 0.717241 0.875000 +vt 0.717241 0.796875 +vt 0.724138 0.765625 +vt 0.703448 0.750000 +vt 0.724138 0.906250 +vt 0.717241 0.906250 +vt 0.282759 0.796875 +vt 0.324138 0.796875 +vt 0.324138 0.812500 +vt 0.282759 0.812500 +vt 0.282759 0.828125 +vt 0.324138 0.828125 +vt 0.324138 0.843750 +vt 0.282759 0.843750 +vt 0.282759 0.859375 +vt 0.324138 0.859375 +vt 0.324138 0.875000 +vt 0.282759 0.875000 +vt 0.275862 0.906250 +vt 0.282759 0.890625 +vt 0.324138 0.890625 +vt 0.331034 0.906250 +vt 0.275862 0.765625 +vt 0.331034 0.765625 +vt 0.324138 0.781250 +vt 0.282759 0.781250 +vt 0.324138 1.000000 +vt 0.282759 1.000000 +vt 0.282759 0.984375 +vt 0.324138 0.984375 +vt 0.275862 0.984375 +vt 0.275862 0.968750 +vt 0.282759 0.968750 +vt 0.282759 0.953125 +vt 0.324138 0.953125 +vt 0.324138 0.968750 +vt 0.282759 0.968750 +vt 0.275862 0.984375 +vt 0.275862 0.968750 +vt 0.282759 0.984375 +vt 0.282759 0.984375 +vt 0.282759 0.968750 +vt 0.324138 0.968750 +vt 0.324138 0.984375 +vt 0.324138 0.968750 +vt 0.324138 0.984375 +vt 0.282759 0.968750 +vt 0.324138 0.968750 +vt 0.324138 0.984375 +vt 0.282759 0.984375 +vt 0.275862 0.984375 +vt 0.275862 0.968750 +vt 0.282759 0.953125 +vt 0.324138 0.953125 +vt 0.331034 0.968750 +vt 0.331034 0.984375 +vt 0.324138 1.000000 +vt 0.282759 1.000000 +vt 0.331034 0.968750 +vt 0.331034 0.984375 +vt 0.282759 0.953125 +vt 0.324138 0.953125 +vt 0.331034 0.968750 +vt 0.331034 0.984375 +vt 0.324138 1.000000 +vt 0.282759 1.000000 +vt 0.331034 0.968750 +vt 0.331034 0.984375 +vt 0.282759 0.953125 +vt 0.324138 0.953125 +vt 0.275862 0.984375 +vt 0.275862 0.968750 +vt 0.324138 1.000000 +vt 0.282759 1.000000 +vt 0.737931 0.250000 +vt 0.737931 0.359375 +vt 0.737931 0.218750 +vt 0.737931 0.765625 +vt 0.737931 0.875000 +vt 0.737931 0.906250 +vt 0.724138 0.375000 +vt 0.724138 0.406250 +vt 0.703448 0.718750 +vt 0.724138 0.718750 +vt 0.724138 0.750000 +vt 0.682759 0.718750 +vt 0.662069 0.625000 +vt 0.662069 0.500000 +vt 0.675862 0.500000 +vt 0.675862 0.625000 +vt 0.696552 0.421875 +vt 0.696552 0.453125 +vt 0.696552 0.671875 +vt 0.696552 0.703125 +vt 0.151724 0.046875 +vt 0.158621 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.165517 0.046875 +vt 0.172414 0.046875 +vt 0.172414 0.062500 +vt 0.165517 0.062500 +vt 0.179310 0.046875 +vt 0.186207 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.193103 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.200000 0.046875 +vt 0.200000 0.062500 +vt 0.172208 0.125000 +vt 0.170248 0.135718 +vt 0.165517 0.140158 +vt 0.160786 0.135718 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.170248 0.114281 +vt 0.179310 0.078125 +vt 0.186207 0.078125 +vt 0.186207 0.093750 +vt 0.179310 0.093750 +vt 0.193103 0.078125 +vt 0.193103 0.093750 +vt 0.200000 0.078125 +vt 0.200000 0.093750 +vt 0.144828 0.078125 +vt 0.151724 0.078125 +vt 0.151724 0.093750 +vt 0.144828 0.093750 +vt 0.158621 0.078125 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.165517 0.093750 +vt 0.172414 0.078125 +vt 0.172414 0.093750 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.296552 0.031250 +vt 0.310345 0.031250 +vt 0.303448 0.046875 +vt 0.296552 0.046875 +vt 0.259370 0.124136 +vt 0.255554 0.115489 +vt 0.255554 0.103261 +vt 0.259370 0.094614 +vt 0.264768 0.094614 +vt 0.268584 0.103261 +vt 0.268584 0.115489 +vt 0.264768 0.124136 +vt 0.282759 0.031250 +vt 0.289655 0.046875 +vt 0.282759 0.046875 +vt 0.268966 0.031250 +vt 0.275862 0.046875 +vt 0.268966 0.046875 +vt 0.255172 0.031250 +vt 0.262069 0.046875 +vt 0.255172 0.046875 +vt 0.351724 0.031250 +vt 0.365517 0.031250 +vt 0.358621 0.046875 +vt 0.351724 0.046875 +vt 0.337931 0.031250 +vt 0.344828 0.046875 +vt 0.337931 0.046875 +vt 0.324138 0.031250 +vt 0.331034 0.046875 +vt 0.324138 0.046875 +vt 0.317241 0.046875 +vt 0.310345 0.046875 +vt 0.296552 0.078125 +vt 0.296552 0.062500 +vt 0.303448 0.062500 +vt 0.303448 0.078125 +vt 0.282759 0.078125 +vt 0.282759 0.062500 +vt 0.289655 0.062500 +vt 0.289655 0.078125 +vt 0.268966 0.078125 +vt 0.268966 0.062500 +vt 0.275862 0.062500 +vt 0.275862 0.078125 +vt 0.255172 0.078125 +vt 0.255172 0.062500 +vt 0.262069 0.062500 +vt 0.262069 0.078125 +vt 0.351724 0.078125 +vt 0.351724 0.062500 +vt 0.358621 0.062500 +vt 0.358621 0.078125 +vt 0.337931 0.078125 +vt 0.337931 0.062500 +vt 0.344828 0.062500 +vt 0.344828 0.078125 +vt 0.324138 0.078125 +vt 0.324138 0.062500 +vt 0.331034 0.062500 +vt 0.331034 0.078125 +vt 0.310345 0.078125 +vt 0.310345 0.062500 +vt 0.317241 0.062500 +vt 0.317241 0.078125 +vt 0.106793 0.119651 +vt 0.097935 0.106242 +vt 0.092016 0.086173 +vt 0.089938 0.062500 +vt 0.092016 0.038827 +vt 0.097935 0.018758 +vt 0.106793 0.005349 +vt 0.117241 0.000640 +vt 0.127690 0.005349 +vt 0.136548 0.018758 +vt 0.142467 0.038827 +vt 0.144545 0.062500 +vt 0.142467 0.086173 +vt 0.136548 0.106242 +vt 0.127690 0.119651 +vt 0.117241 0.124360 +vt 0.297766 0.407469 +vt 0.301337 0.432859 +vt 0.282000 0.461238 +vt 0.267164 0.508207 +vt 0.255663 0.499249 +vt 0.351705 0.408442 +vt 0.347882 0.434234 +vt 0.324503 0.423194 +vt 0.392481 0.500826 +vt 0.381418 0.509360 +vt 0.368692 0.466561 +vt 0.392687 0.622102 +vt 0.381587 0.613816 +vt 0.386036 0.561123 +vt 0.351758 0.717531 +vt 0.347834 0.691162 +vt 0.368830 0.657546 +vt 0.296432 0.717486 +vt 0.300333 0.691179 +vt 0.324106 0.701882 +vt 0.255589 0.622775 +vt 0.266830 0.614350 +vt 0.279544 0.658120 +vt 0.262317 0.561201 +vt 0.455702 0.407223 +vt 0.510269 0.408300 +vt 0.506371 0.433702 +vt 0.482981 0.422939 +vt 0.459519 0.433393 +vt 0.414646 0.501350 +vt 0.438585 0.466370 +vt 0.426010 0.510034 +vt 0.414688 0.625413 +vt 0.421416 0.563439 +vt 0.426182 0.616753 +vt 0.455784 0.717773 +vt 0.440498 0.663712 +vt 0.459554 0.692474 +vt 0.509818 0.717777 +vt 0.482677 0.702808 +vt 0.505992 0.692526 +vt 0.550560 0.624932 +vt 0.524922 0.663497 +vt 0.539080 0.616333 +vt 0.550871 0.501314 +vt 0.543898 0.563031 +vt 0.539362 0.509732 +vt 0.525316 0.462681 +vt 0.864604 0.213006 +vt 0.848515 0.125000 +vt 0.864604 0.036995 +vt 0.903448 0.000542 +vt 0.942292 0.036994 +vt 0.958382 0.125000 +vt 0.942292 0.213005 +vt 0.903448 0.249458 +vt 0.351724 0.765625 +vt 0.351724 0.906250 +vt 0.275862 0.718750 +vt 0.331034 0.718750 +vt 0.255172 0.906250 +vt 0.255172 0.765625 +vt 0.331034 0.953125 +vt 0.275862 0.953125 +vt 0.942292 0.463005 +vt 0.903448 0.499458 +vt 0.864604 0.463005 +vt 0.848515 0.375000 +vt 0.864604 0.286994 +vt 0.903448 0.250541 +vt 0.942292 0.286994 +vt 0.958382 0.375000 +vt 0.848276 0.375000 +vt 0.737931 0.375000 +vt 0.737931 0.281250 +vt 0.848276 0.281250 +vt 0.848276 0.187500 +vt 0.737931 0.187500 +vt 0.737931 0.093750 +vt 0.848276 0.093750 +vt 0.848276 0.562500 +vt 0.737931 0.562500 +vt 0.737931 0.468750 +vt 0.848276 0.468750 +vt 0.737931 -0.000000 +vt 0.848276 -0.000000 +vt 0.848276 0.656250 +vt 0.737931 0.656250 +vt 0.262069 0.171875 +vt 0.262069 0.140625 +vt 0.268966 0.140625 +vt 0.268966 0.171875 +vt 0.303448 0.171875 +vt 0.296552 0.171875 +vt 0.296552 0.140625 +vt 0.303448 0.140625 +vt 0.268966 0.125000 +vt 0.296552 0.125000 +vt 0.268966 0.187500 +vt 0.296552 0.187500 +vt 0.268966 0.093750 +vt 0.296552 0.093750 +vt 0.303448 0.140625 +vt 0.303448 0.171875 +vt 0.296552 0.171875 +vt 0.296552 0.140625 +vt 0.262069 0.140625 +vt 0.268966 0.140625 +vt 0.268966 0.171875 +vt 0.262069 0.171875 +vt 0.296552 0.187500 +vt 0.268966 0.187500 +vt 0.296552 0.125000 +vt 0.268966 0.125000 +vt 0.296552 0.093750 +vt 0.268966 0.093750 +vt 0.262069 0.171875 +vt 0.262069 0.140625 +vt 0.268966 0.140625 +vt 0.268966 0.171875 +vt 0.303448 0.171875 +vt 0.296552 0.171875 +vt 0.296552 0.140625 +vt 0.303448 0.140625 +vt 0.268966 0.125000 +vt 0.296552 0.125000 +vt 0.268966 0.187500 +vt 0.296552 0.187500 +vt 0.268966 0.093750 +vt 0.296552 0.093750 +vt 0.303448 0.140625 +vt 0.303448 0.171875 +vt 0.296552 0.171875 +vt 0.296552 0.140625 +vt 0.262069 0.140625 +vt 0.268966 0.140625 +vt 0.268966 0.171875 +vt 0.262069 0.171875 +vt 0.296552 0.187500 +vt 0.268966 0.187500 +vt 0.296552 0.125000 +vt 0.268966 0.125000 +vt 0.296552 0.093750 +vt 0.268966 0.093750 +vt 0.317241 0.171875 +vt 0.317241 0.140625 +vt 0.324138 0.140625 +vt 0.324138 0.171875 +vt 0.344828 0.187500 +vt 0.344828 0.171875 +vt 0.358621 0.171875 +vt 0.358621 0.187500 +vt 0.324138 0.125000 +vt 0.351724 0.125000 +vt 0.351724 0.140625 +vt 0.324138 0.187500 +vt 0.324138 0.093750 +vt 0.344828 0.093750 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.413793 0.914062 +vt 0.413793 0.859375 +vt 0.420690 0.859375 +vt 0.420690 0.914062 +vt 0.475862 0.914062 +vt 0.475862 0.859375 +vt 0.482759 0.859375 +vt 0.482759 0.914062 +vt 0.465517 0.937500 +vt 0.431034 0.937500 +vt 0.465517 0.953125 +vt 0.431034 0.953125 +vt 0.479310 0.937500 +vt 0.479310 0.953125 +vt 0.417241 0.953125 +vt 0.417241 0.937500 +vt 0.468966 -0.000000 +vt 0.468966 0.250000 +vt 0.337931 0.343750 +vt 0.255172 0.343750 +vt 0.255172 0.312500 +vt 0.337931 0.312500 +vt 0.351724 0.313754 +vt 0.363190 0.328752 +vt 0.363190 0.358748 +vt 0.351724 0.373746 +vt 0.340258 0.358748 +vt 0.340258 0.328752 +vt 0.255172 0.281250 +vt 0.337931 0.281250 +vt 0.255172 0.250000 +vt 0.337931 0.250000 +vt 0.340258 0.266252 +vt 0.351724 0.251254 +vt 0.363190 0.266252 +vt 0.363190 0.296248 +vt 0.351724 0.311246 +vt 0.340258 0.296248 +vt 0.924138 0.625000 +vt 0.868966 0.625000 +vt 0.868966 0.500000 +vt 0.924138 0.500000 +vt 0.848276 0.625000 +vt 0.848276 0.500000 +vt 0.944828 0.500000 +vt 0.944828 0.625000 +vt 0.834483 0.718750 +vt 0.834483 0.906250 +vt 0.765517 0.906250 +vt 0.765517 0.718750 +vt 0.737931 0.906250 +vt 0.737931 0.718750 +vt 0.862069 0.718750 +vt 0.862069 0.906250 +vt 0.834483 0.968750 +vt 0.765517 0.968750 +vt 0.765517 0.656250 +vt 0.834483 0.656250 +vt 0.958621 0.875000 +vt 0.903448 0.875000 +vt 0.903448 0.718750 +vt 0.958621 0.718750 +vt 0.903448 0.625000 +vt 0.958621 0.625000 +vt 0.958621 0.968750 +vt 0.903448 0.968750 +vt 0.862069 0.875000 +vt 0.862069 0.718750 +vt 1.000000 0.718750 +vt 1.000000 0.875000 +vt 0.986207 0.187500 +vt 0.958621 0.187500 +vt 0.958621 0.156250 +vt 0.986207 0.156250 +vt 0.986207 0.062500 +vt 0.958621 0.062500 +vt 0.958621 0.031250 +vt 0.986207 0.031250 +vt 0.986207 0.125000 +vt 0.958621 0.125000 +vt 0.958621 0.093750 +vt 0.986207 0.093750 +vt 0.958621 0.000000 +vt 0.986207 0.000000 +vt 0.978890 0.244165 +vt 0.965937 0.244165 +vt 0.959461 0.218750 +vt 0.965937 0.193335 +vt 0.978890 0.193335 +vt 0.985367 0.218750 +vt 0.737931 0.093750 +vt 0.737931 0.109375 +vt 0.724138 0.109375 +vt 0.724138 0.093750 +vt 0.737931 0.000000 +vt 0.737931 0.015625 +vt 0.724138 0.015625 +vt 0.724138 0.000000 +vt 0.737931 0.125000 +vt 0.737931 0.140625 +vt 0.724138 0.140625 +vt 0.724138 0.125000 +vt 0.737931 0.062500 +vt 0.737931 0.078125 +vt 0.724138 0.078125 +vt 0.724138 0.062500 +vt 0.737931 0.031250 +vt 0.737931 0.046875 +vt 0.724138 0.046875 +vt 0.724138 0.031250 +vt 0.737931 0.156250 +vt 0.737931 0.171875 +vt 0.724138 0.171875 +vt 0.724138 0.156250 +vt 0.717241 0.031250 +vt 0.717241 0.000000 +vt 0.717241 0.156250 +vt 0.717241 0.125000 +vt 0.717241 0.093750 +vt 0.717241 0.062500 +vt 0.717241 0.187500 +vt 0.675862 0.062500 +vt 0.675862 0.031250 +vt 0.675862 0.187500 +vt 0.675862 0.156250 +vt 0.675862 0.125000 +vt 0.675862 0.093750 +vt 0.675862 0.000000 +vt 0.668966 0.140625 +vt 0.668966 0.125000 +vt 0.668966 0.109375 +vt 0.668966 0.093750 +vt 0.668966 0.078125 +vt 0.668966 0.062500 +vt 0.668966 0.046875 +vt 0.668966 0.031250 +vt 0.668966 0.015625 +vt 0.668966 0.000000 +vt 0.668966 0.171875 +vt 0.668966 0.156250 +vt 0.655172 0.171875 +vt 0.655172 0.156250 +vt 0.655172 0.109375 +vt 0.655172 0.093750 +vt 0.655172 0.015625 +vt 0.655172 0.000000 +vt 0.655172 0.140625 +vt 0.655172 0.125000 +vt 0.655172 0.078125 +vt 0.655172 0.062500 +vt 0.655172 0.046875 +vt 0.655172 0.031250 +vt 0.648276 0.156250 +vt 0.648276 0.125000 +vt 0.648276 0.093750 +vt 0.648276 0.062500 +vt 0.648276 0.031250 +vt 0.648276 0.000000 +vt 0.648276 0.187500 +vt 0.641379 0.125000 +vt 0.641379 0.093750 +vt 0.641379 0.031250 +vt 0.641379 -0.000000 +vt 0.641379 0.156250 +vt 0.641379 0.062500 +vt 0.641379 0.187500 +vt 0.634483 0.078125 +vt 0.634483 0.062500 +vt 0.634483 0.046875 +vt 0.634483 0.031250 +vt 0.634483 0.171875 +vt 0.634483 0.156250 +vt 0.634483 0.109375 +vt 0.634483 0.093750 +vt 0.634483 0.015625 +vt 0.634483 0.000000 +vt 0.634483 0.140625 +vt 0.634483 0.125000 +vt 0.630883 0.028561 +vt 0.624290 0.028561 +vt 0.620993 0.015625 +vt 0.624290 0.002689 +vt 0.630883 0.002689 +vt 0.634179 0.015625 +vt 0.510345 0.156250 +vt 0.489655 0.156250 +vt 0.489655 0.046875 +vt 0.510345 0.046875 +vt 0.434483 0.750000 +vt 0.434483 0.812500 +vt 0.413793 0.812500 +vt 0.413793 0.765625 +vt 0.420690 0.750000 +vt 0.489655 0.000000 +vt 0.510345 0.000000 +vt 0.468966 0.156250 +vt 0.468966 0.046875 +vt 0.531034 0.046875 +vt 0.531034 0.156250 +vt 0.496552 0.156250 +vt 0.496552 0.187500 +vt 0.468966 0.187500 +vt 0.468966 0.156250 +vt 0.496552 0.265625 +vt 0.496552 0.312500 +vt 0.468966 0.312500 +vt 0.468966 0.265625 +vt 0.496552 0.234375 +vt 0.468966 0.234375 +vt 0.455172 0.750000 +vt 0.455172 0.812500 +vt 0.496552 0.750000 +vt 0.496552 0.765625 +vt 0.475862 0.765625 +vt 0.475862 0.750000 +vt 0.468966 0.750000 +vt 0.475862 0.812500 +vt 0.455172 0.859375 +vt 0.434483 0.859375 +vt 0.496552 0.812500 +vt 0.434483 0.718750 +vt 0.455172 0.718750 +vt 0.537931 0.812500 +vt 0.537931 0.828125 +vt 0.524138 0.828125 +vt 0.524138 0.812500 +vt 0.503448 0.718750 +vt 0.517241 0.718750 +vt 0.517241 0.812500 +vt 0.503448 0.812500 +vt 0.524138 0.718750 +vt 0.537931 0.718750 +vt 0.496552 0.718750 +vt 0.496552 0.812500 +vt 0.986207 0.609375 +vt 0.979310 0.609375 +vt 0.979310 0.593750 +vt 0.986207 0.593750 +vt 0.979310 0.531250 +vt 0.979310 0.515625 +vt 0.986207 0.515625 +vt 0.986207 0.531250 +vt 0.972414 0.593750 +vt 0.972414 0.562500 +vt 0.979310 0.578125 +vt 0.551724 0.500000 +vt 0.551724 0.625000 +vt 0.620690 0.734375 +vt 0.606897 0.734375 +vt 0.620690 0.640625 +vt 0.634483 0.640625 +vt 0.565517 0.640625 +vt 0.565517 0.734375 +vt 0.662069 0.734375 +vt 0.648276 0.640625 +vt 0.565517 0.390625 +vt 0.565517 0.484375 +vt 0.662069 0.375000 +vt 0.606897 0.390625 +vt 0.620690 0.484375 +vt 0.117241 0.906250 +vt 0.075862 0.906250 +vt 0.075862 0.875000 +vt 0.117241 0.875000 +vt 0.117241 0.125000 +vt 0.158621 0.125000 +vt 0.158621 0.156250 +vt 0.117241 0.156250 +vt 0.117241 0.906250 +vt 0.117241 0.875000 +vt 0.158621 0.875000 +vt 0.158621 0.906250 +vt 0.131034 0.250000 +vt 0.144828 0.250000 +vt 0.227586 0.875000 +vt 0.213793 0.875000 +vt 0.213793 0.781250 +vt 0.227586 0.781250 +vt 0.020690 0.781250 +vt 0.062069 0.781250 +vt 0.020690 0.875000 +vt 0.186207 0.281250 +vt 0.144828 0.281250 +vt 0.186207 0.250000 +vt 0.213793 0.750000 +vt 0.172414 0.781250 +vt 0.172414 0.750000 +vt 0.131034 0.281250 +vt 0.089655 0.281250 +vt 0.089655 0.250000 +vt 0.020690 0.906250 +vt 0.020690 0.750000 +vt 0.062069 0.750000 +vt 0.544828 0.203125 +vt 0.551724 0.203125 +vt 0.551724 0.250000 +vt 0.544828 0.250000 +vt 0.524138 0.203125 +vt 0.531034 0.203125 +vt 0.531034 0.250000 +vt 0.524138 0.250000 +vt 0.503448 0.203125 +vt 0.510345 0.203125 +vt 0.510345 0.250000 +vt 0.503448 0.250000 +vt 0.537931 0.203125 +vt 0.537931 0.250000 +vt 0.510345 0.296875 +vt 0.503448 0.296875 +vt 0.531034 0.296875 +vt 0.524138 0.296875 +vt 0.531034 0.203125 +vt 0.531034 0.187500 +vt 0.537931 0.187500 +vt 0.544828 0.187500 +vt 0.551724 0.187500 +vt 0.551724 0.203125 +vt 0.503448 0.203125 +vt 0.503448 0.187500 +vt 0.510345 0.187500 +vt 0.517241 0.187500 +vt 0.517241 0.203125 +vt 0.524138 0.187500 +vt 0.524138 0.203125 +vt 0.537931 0.156250 +vt 0.544828 0.156250 +vt 0.524138 0.156250 +vt 0.531034 0.156250 +vt 0.524138 0.187500 +vt 0.503448 0.156250 +vt 0.510345 0.156250 +vt 0.517241 0.156250 +vt 0.524138 0.156250 +vt 0.551724 0.156250 +vt 0.496552 0.156250 +vt 0.496552 0.187500 +vt 0.496552 0.203125 +vt 0.496552 0.250000 +vt 0.986207 0.515625 +vt 0.979310 0.515625 +vt 0.979310 0.484375 +vt 0.986207 0.484375 +vt 0.213793 0.906250 +vt 0.006897 0.875000 +vt 0.006897 0.781250 +vt 0.517241 0.250000 +vt 0.517241 0.296875 +vt 0.524138 0.250000 +vt 0.524138 0.296875 +vt 0.551724 0.296875 +vt 0.544828 0.296875 +vt 0.496552 0.296875 +vt 0.537931 0.296875 +vt 0.524138 0.203125 +vt 0.213793 0.265625 +vt 0.213793 0.109375 +vt 0.220690 0.109375 +vt 0.220690 0.265625 +vt 0.972414 0.515625 +vt 0.972414 0.484375 +vt 0.227586 0.109375 +vt 0.227586 0.265625 +vt 0.965517 0.515625 +vt 0.965517 0.484375 +vt 0.186207 0.265625 +vt 0.186207 0.109375 +vt 0.193103 0.109375 +vt 0.193103 0.265625 +vt 0.958621 0.515625 +vt 0.958621 0.484375 +vt 0.200000 0.109375 +vt 0.200000 0.265625 +vt 0.187370 0.273751 +vt 0.193103 0.266252 +vt 0.198836 0.273751 +vt 0.198836 0.288749 +vt 0.193103 0.296248 +vt 0.187370 0.288749 +vt 0.206897 0.109375 +vt 0.206897 0.265625 +vt 0.206897 0.266252 +vt 0.212630 0.273751 +vt 0.212630 0.288749 +vt 0.206897 0.296248 +vt 0.201164 0.288749 +vt 0.201164 0.273751 +vt 0.965517 0.468750 +vt 0.972414 0.468750 +vt 0.979310 0.484375 +vt 0.979310 0.468750 +vt 0.958621 0.468750 +vt 0.958621 0.484375 +vt 0.958621 0.453125 +vt 0.965517 0.453125 +vt 0.965517 0.437500 +vt 0.958621 0.437500 +vt 0.958621 0.421875 +vt 0.965517 0.421875 +vt 0.972414 0.453125 +vt 0.979310 0.453125 +vt 0.986207 0.468750 +vt 0.986207 0.453125 +vt 0.972414 0.437500 +vt 0.965517 0.453125 +vt 0.986207 0.453125 +vt 0.979310 0.437500 +vt 0.986207 0.437500 +vt 0.979310 0.421875 +vt 0.972414 0.421875 +vt 0.972414 0.343750 +vt 0.979310 0.343750 +vt 0.986207 0.421875 +vt 0.965517 0.328125 +vt 0.972414 0.328125 +vt 0.965517 0.343750 +vt 0.986207 0.343750 +vt 0.958621 0.343750 +vt 0.965517 0.343750 +vt 0.979310 0.328125 +vt 0.986207 0.328125 +vt 0.979310 0.296875 +vt 0.986207 0.296875 +vt 0.986207 0.343750 +vt 0.965517 0.281250 +vt 0.958621 0.281250 +vt 0.958621 0.250000 +vt 0.965517 0.250000 +vt 0.958621 0.328125 +vt 0.958621 0.296875 +vt 0.965517 0.296875 +vt 0.972414 0.296875 +vt 0.979310 0.296875 +vt 0.972414 0.281250 +vt 0.979310 0.281250 +vt 0.958621 0.296875 +vt 0.986207 0.281250 +vt 0.979310 0.250000 +vt 0.986207 0.250000 +vt 0.972414 0.250000 +vt 0.510345 0.156250 +vt 0.489655 0.156250 +vt 0.489655 0.046875 +vt 0.510345 0.046875 +vt 0.151724 0.046875 +vt 0.158621 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.165517 0.046875 +vt 0.172414 0.046875 +vt 0.172414 0.062500 +vt 0.165517 0.062500 +vt 0.179310 0.046875 +vt 0.186207 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.193103 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.200000 0.046875 +vt 0.200000 0.062500 +vt 0.172208 0.125000 +vt 0.170248 0.135718 +vt 0.165517 0.140158 +vt 0.160786 0.135718 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.170248 0.114281 +vt 0.179310 0.078125 +vt 0.186207 0.078125 +vt 0.186207 0.093750 +vt 0.179310 0.093750 +vt 0.193103 0.078125 +vt 0.193103 0.093750 +vt 0.200000 0.078125 +vt 0.200000 0.093750 +vt 0.144828 0.078125 +vt 0.151724 0.078125 +vt 0.151724 0.093750 +vt 0.144828 0.093750 +vt 0.158621 0.078125 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.165517 0.093750 +vt 0.172414 0.078125 +vt 0.172414 0.093750 +vt 0.151724 0.046875 +vt 0.158621 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.165517 0.046875 +vt 0.172414 0.046875 +vt 0.172414 0.062500 +vt 0.165517 0.062500 +vt 0.179310 0.046875 +vt 0.186207 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.193103 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.200000 0.046875 +vt 0.200000 0.062500 +vt 0.172208 0.125000 +vt 0.170248 0.135718 +vt 0.165517 0.140158 +vt 0.160786 0.135718 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.170248 0.114281 +vt 0.179310 0.078125 +vt 0.186207 0.078125 +vt 0.186207 0.093750 +vt 0.179310 0.093750 +vt 0.193103 0.078125 +vt 0.193103 0.093750 +vt 0.200000 0.078125 +vt 0.200000 0.093750 +vt 0.144828 0.078125 +vt 0.151724 0.078125 +vt 0.151724 0.093750 +vt 0.144828 0.093750 +vt 0.158621 0.078125 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.165517 0.093750 +vt 0.172414 0.078125 +vt 0.172414 0.093750 +vt 0.151724 0.046875 +vt 0.158621 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.165517 0.046875 +vt 0.172414 0.046875 +vt 0.172414 0.062500 +vt 0.165517 0.062500 +vt 0.179310 0.046875 +vt 0.186207 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.193103 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.200000 0.046875 +vt 0.200000 0.062500 +vt 0.172208 0.125000 +vt 0.170248 0.135718 +vt 0.165517 0.140158 +vt 0.160786 0.135718 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.170248 0.114281 +vt 0.179310 0.078125 +vt 0.186207 0.078125 +vt 0.186207 0.093750 +vt 0.179310 0.093750 +vt 0.193103 0.078125 +vt 0.193103 0.093750 +vt 0.200000 0.078125 +vt 0.200000 0.093750 +vt 0.144828 0.078125 +vt 0.151724 0.078125 +vt 0.151724 0.093750 +vt 0.144828 0.093750 +vt 0.158621 0.078125 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.165517 0.093750 +vt 0.172414 0.078125 +vt 0.172414 0.093750 +vt 0.151724 0.046875 +vt 0.158621 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.165517 0.046875 +vt 0.172414 0.046875 +vt 0.172414 0.062500 +vt 0.165517 0.062500 +vt 0.179310 0.046875 +vt 0.186207 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.193103 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.200000 0.046875 +vt 0.200000 0.062500 +vt 0.172208 0.125000 +vt 0.170248 0.135718 +vt 0.165517 0.140158 +vt 0.160786 0.135718 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.170248 0.114281 +vt 0.179310 0.078125 +vt 0.186207 0.078125 +vt 0.186207 0.093750 +vt 0.179310 0.093750 +vt 0.193103 0.078125 +vt 0.193103 0.093750 +vt 0.200000 0.078125 +vt 0.200000 0.093750 +vt 0.144828 0.078125 +vt 0.151724 0.078125 +vt 0.151724 0.093750 +vt 0.144828 0.093750 +vt 0.158621 0.078125 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.165517 0.093750 +vt 0.172414 0.078125 +vt 0.172414 0.093750 +vt 0.151724 0.046875 +vt 0.158621 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.165517 0.046875 +vt 0.172414 0.046875 +vt 0.172414 0.062500 +vt 0.165517 0.062500 +vt 0.179310 0.046875 +vt 0.186207 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.193103 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.200000 0.046875 +vt 0.200000 0.062500 +vt 0.172208 0.125000 +vt 0.170248 0.135718 +vt 0.165517 0.140158 +vt 0.160786 0.135718 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.170248 0.114281 +vt 0.179310 0.078125 +vt 0.186207 0.078125 +vt 0.186207 0.093750 +vt 0.179310 0.093750 +vt 0.193103 0.078125 +vt 0.193103 0.093750 +vt 0.200000 0.078125 +vt 0.200000 0.093750 +vt 0.144828 0.078125 +vt 0.151724 0.078125 +vt 0.151724 0.093750 +vt 0.144828 0.093750 +vt 0.158621 0.078125 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.165517 0.093750 +vt 0.172414 0.078125 +vt 0.172414 0.093750 +vt 0.151724 0.046875 +vt 0.158621 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.165517 0.046875 +vt 0.172414 0.046875 +vt 0.172414 0.062500 +vt 0.165517 0.062500 +vt 0.179310 0.046875 +vt 0.186207 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.193103 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.200000 0.046875 +vt 0.200000 0.062500 +vt 0.172208 0.125000 +vt 0.170248 0.135718 +vt 0.165517 0.140158 +vt 0.160786 0.135718 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.170248 0.114281 +vt 0.179310 0.078125 +vt 0.186207 0.078125 +vt 0.186207 0.093750 +vt 0.179310 0.093750 +vt 0.193103 0.078125 +vt 0.193103 0.093750 +vt 0.200000 0.078125 +vt 0.200000 0.093750 +vt 0.144828 0.078125 +vt 0.151724 0.078125 +vt 0.151724 0.093750 +vt 0.144828 0.093750 +vt 0.158621 0.078125 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.165517 0.093750 +vt 0.172414 0.078125 +vt 0.172414 0.093750 +vt 0.151724 0.046875 +vt 0.158621 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.165517 0.046875 +vt 0.172414 0.046875 +vt 0.172414 0.062500 +vt 0.165517 0.062500 +vt 0.179310 0.046875 +vt 0.186207 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.193103 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.200000 0.046875 +vt 0.200000 0.062500 +vt 0.172208 0.125000 +vt 0.170248 0.135718 +vt 0.165517 0.140158 +vt 0.160786 0.135718 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.170248 0.114281 +vt 0.179310 0.078125 +vt 0.186207 0.078125 +vt 0.186207 0.093750 +vt 0.179310 0.093750 +vt 0.193103 0.078125 +vt 0.193103 0.093750 +vt 0.200000 0.078125 +vt 0.200000 0.093750 +vt 0.144828 0.078125 +vt 0.151724 0.078125 +vt 0.151724 0.093750 +vt 0.144828 0.093750 +vt 0.158621 0.078125 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.165517 0.093750 +vt 0.172414 0.078125 +vt 0.172414 0.093750 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.096552 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.096552 0.343750 +vt 0.124138 0.296875 +vt 0.124138 0.328125 +vt 0.096552 0.281250 +vt 0.117241 0.281250 +vt 0.089655 0.328125 +vt 0.089655 0.296875 +vt 0.089655 0.375000 +vt 0.089655 0.421875 +vt 0.075862 0.421875 +vt 0.075862 0.375000 +vt 0.089655 0.328125 +vt 0.075862 0.328125 +vt 0.089655 0.281250 +vt 0.075862 0.281250 +vt 0.089655 0.234375 +vt 0.075862 0.234375 +vt 0.089655 0.187500 +vt 0.075862 0.187500 +vt 0.089655 0.140625 +vt 0.075862 0.140625 +vt 0.089655 0.093750 +vt 0.075862 0.093750 +vt 0.089655 0.046875 +vt 0.075862 0.046875 +vt 0.089655 -0.000000 +vt 0.075862 0.000000 +vt 0.089655 0.703125 +vt 0.089655 0.750000 +vt 0.075862 0.750000 +vt 0.075862 0.703125 +vt 0.089655 0.656250 +vt 0.075862 0.656250 +vt 0.089655 0.609375 +vt 0.075862 0.609375 +vt 0.089655 0.562500 +vt 0.075862 0.562500 +vt 0.089655 0.515625 +vt 0.075862 0.515625 +vt 0.089655 0.468750 +vt 0.075862 0.468750 +vt 0.055172 0.421875 +vt 0.055172 0.375000 +vt 0.055172 0.328125 +vt 0.055172 0.046875 +vt 0.055172 -0.000000 +vt 0.055172 0.468750 +vt 0.055172 0.093750 +vt 0.055172 0.515625 +vt 0.055172 0.140625 +vt 0.055172 0.562500 +vt 0.055172 0.187500 +vt 0.055172 0.609375 +vt 0.055172 0.234375 +vt 0.055172 0.656250 +vt 0.055172 0.281250 +vt 0.055172 0.703125 +vt 0.055172 0.750000 +vt 0.124138 0.390625 +vt 0.124138 0.375000 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.359375 +vt 0.124138 0.343750 +vt 0.144828 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.328125 +vt 0.124138 0.312500 +vt 0.144828 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.296875 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.281250 +vt 0.144828 0.281250 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.343750 +vt 0.158621 0.359375 +vt 0.158621 0.375000 +vt 0.158621 0.390625 +vt 0.158621 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.343750 +vt 0.172414 0.359375 +vt 0.172414 0.375000 +vt 0.172414 0.281250 +vt 0.186207 0.328125 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.296875 +vt 0.186207 0.312500 +vt 0.186207 0.281250 +vt 0.186207 -0.000000 +vt 0.193103 -0.000000 +vt 0.144828 -0.000000 +vt 0.151724 -0.000000 +vt 0.158621 -0.000000 +vt 0.165517 -0.000000 +vt 0.172414 -0.000000 +vt 0.179310 -0.000000 +vt 0.200000 -0.000000 +vt 0.193103 0.109375 +vt 0.186207 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.144828 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.172414 0.109375 +vt 0.165517 0.109375 +vt 0.000000 0.125000 +vt 0.000000 0.093750 +vt -0.000000 0.546875 +vt 0.000000 0.515625 +vt -0.000000 0.171875 +vt -0.000000 0.140625 +vt -0.000000 0.593750 +vt -0.000000 0.562500 +vt 0.000000 0.218750 +vt 0.000000 0.187500 +vt 0.000000 0.640625 +vt 0.000000 0.609375 +vt -0.000000 0.265625 +vt -0.000000 0.234375 +vt 0.000000 0.687500 +vt 0.000000 0.656250 +vt -0.000000 0.312500 +vt -0.000000 0.281250 +vt -0.000000 0.734375 +vt 0.000000 0.703125 +vt -0.000000 0.406250 +vt -0.000000 0.375000 +vt 0.000000 0.359375 +vt 0.000000 0.328125 +vt 0.000000 0.031250 +vt -0.000000 0.000000 +vt -0.000000 0.453125 +vt 0.000000 0.421875 +vt -0.000000 0.078125 +vt -0.000000 0.046875 +vt -0.000000 0.500000 +vt 0.000000 0.468750 +vt 0.296552 0.000000 +vt 0.310345 0.000000 +vt 0.268966 0.000000 +vt 0.282759 0.000000 +vt 0.351724 0.000000 +vt 0.365517 0.000000 +vt 0.324138 0.000000 +vt 0.337931 0.000000 +vt 0.255172 0.000000 +vt 0.317241 0.093750 +vt 0.310345 0.093750 +vt 0.303448 0.093750 +vt 0.296552 0.093750 +vt 0.289655 0.093750 +vt 0.282759 0.093750 +vt 0.275862 0.093750 +vt 0.268966 0.093750 +vt 0.331034 0.093750 +vt 0.324138 0.093750 +vt 0.344828 0.093750 +vt 0.337931 0.093750 +vt 0.358621 0.093750 +vt 0.351724 0.093750 +vt 0.262069 0.093750 +vt 0.255172 0.093750 +vt 0.393103 1.000000 +vt 0.393103 0.937500 +vt 0.413793 0.937500 +vt 0.413793 1.000000 +vt 0.393103 0.562500 +vt 0.393103 0.500000 +vt 0.413793 0.500000 +vt 0.413793 0.562500 +vt 0.393103 0.437500 +vt 0.413793 0.437500 +vt 0.393103 0.062500 +vt 0.393103 -0.000000 +vt 0.413793 -0.000000 +vt 0.413793 0.062500 +vt 0.393103 0.625000 +vt 0.413793 0.625000 +vt 0.393103 0.125000 +vt 0.413793 0.125000 +vt 0.393103 0.687500 +vt 0.413793 0.687500 +vt 0.393103 0.187500 +vt 0.413793 0.187500 +vt 0.393103 0.750000 +vt 0.413793 0.750000 +vt 0.393103 0.250000 +vt 0.413793 0.250000 +vt 0.393103 0.812500 +vt 0.413793 0.812500 +vt 0.393103 0.312500 +vt 0.413793 0.312500 +vt 0.393103 0.875000 +vt 0.413793 0.875000 +vt 0.393103 0.375000 +vt 0.413793 0.375000 +vt 0.958621 0.609375 +vt 0.958621 0.593750 +vt 0.965517 0.593750 +vt 0.965517 0.609375 +vt 0.958621 0.562500 +vt 0.958621 0.546875 +vt 0.965517 0.546875 +vt 0.965517 0.562500 +vt 0.986207 0.578125 +vt 0.958621 0.625000 +vt 0.965517 0.625000 +vt 0.958621 0.578125 +vt 0.965517 0.578125 +vt 0.979310 0.562500 +vt 0.986207 0.562500 +vt 0.958621 0.531250 +vt 0.958621 0.515625 +vt 0.965517 0.515625 +vt 0.965517 0.531250 +vt 0.958621 0.640625 +vt 0.965517 0.640625 +vt 0.979310 0.546875 +vt 0.986207 0.546875 +vt 0.965517 0.609375 +vt 0.965517 0.593750 +vt 0.972414 0.593750 +vt 0.972414 0.609375 +vt 0.965517 0.656250 +vt 0.965517 0.640625 +vt 0.972414 0.640625 +vt 0.972414 0.656250 +vt 0.965517 0.546875 +vt 0.965517 0.531250 +vt 0.972414 0.531250 +vt 0.972414 0.546875 +vt 0.965517 0.703125 +vt 0.965517 0.687500 +vt 0.972414 0.687500 +vt 0.972414 0.703125 +vt 0.965517 0.578125 +vt 0.972414 0.578125 +vt 0.965517 0.625000 +vt 0.972414 0.625000 +vt 0.965517 0.515625 +vt 0.972414 0.515625 +vt 0.965517 0.671875 +vt 0.972414 0.671875 +vt 0.965517 0.562500 +vt 0.972414 0.562500 +vt 0.296552 0.234375 +vt 0.296552 0.218750 +vt 0.310345 0.218750 +vt 0.310345 0.234375 +vt 0.296552 0.203125 +vt 0.296552 0.187500 +vt 0.310345 0.187500 +vt 0.310345 0.203125 +vt 0.296552 0.234375 +vt 0.310345 0.234375 +vt 0.310345 0.250000 +vt 0.296552 0.250000 +vt 0.296552 0.203125 +vt 0.310345 0.203125 +vt 0.310345 0.218750 +vt 0.296552 0.218750 +vt 0.296552 0.187500 +vt 0.310345 0.187500 +vt 0.324138 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.187500 +vt 0.324138 0.203125 +vt 0.324138 0.250000 +vt 0.296552 0.234375 +vt 0.310345 0.234375 +vt 0.310345 0.250000 +vt 0.296552 0.250000 +vt 0.296552 0.203125 +vt 0.310345 0.203125 +vt 0.310345 0.218750 +vt 0.296552 0.218750 +vt 0.296552 0.187500 +vt 0.310345 0.187500 +vt 0.324138 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.187500 +vt 0.324138 0.203125 +vt 0.324138 0.250000 +vt 0.296552 0.234375 +vt 0.310345 0.234375 +vt 0.310345 0.250000 +vt 0.296552 0.250000 +vt 0.296552 0.203125 +vt 0.310345 0.203125 +vt 0.310345 0.218750 +vt 0.296552 0.218750 +vt 0.296552 0.187500 +vt 0.310345 0.187500 +vt 0.324138 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.187500 +vt 0.324138 0.203125 +vt 0.324138 0.250000 +vt 0.255172 0.250000 +vt 0.255172 0.234375 +vt 0.255172 0.250000 +vt 0.255172 0.234375 +vt 0.255172 0.218750 +vt 0.255172 0.203125 +vt 0.255172 0.250000 +vt 0.255172 0.234375 +vt 0.255172 0.218750 +vt 0.255172 0.187500 +vt 0.255172 0.203125 +vt 0.255172 0.218750 +vt 0.255172 0.203125 +vt 0.255172 0.187500 +vt 0.255172 0.187500 +vt 0.296552 0.250000 +vt 0.310345 0.250000 +vt 0.324138 0.203125 +vt 0.324138 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.250000 +vt 0.324138 0.187500 +vt 0.296552 0.203125 +vt 0.296552 0.187500 +vt 0.310345 0.187500 +vt 0.310345 0.203125 +vt 0.296552 0.234375 +vt 0.296552 0.218750 +vt 0.310345 0.218750 +vt 0.310345 0.234375 +vt 0.296552 0.250000 +vt 0.310345 0.250000 +vt 0.324138 0.203125 +vt 0.324138 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.250000 +vt 0.324138 0.187500 +vt 0.296552 0.203125 +vt 0.296552 0.187500 +vt 0.310345 0.187500 +vt 0.310345 0.203125 +vt 0.296552 0.234375 +vt 0.296552 0.218750 +vt 0.310345 0.218750 +vt 0.310345 0.234375 +vt 0.296552 0.250000 +vt 0.310345 0.250000 +vt 0.324138 0.203125 +vt 0.324138 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.250000 +vt 0.324138 0.187500 +vt 0.255172 0.203125 +vt 0.255172 0.187500 +vt 0.255172 0.203125 +vt 0.255172 0.187500 +vt 0.255172 0.218750 +vt 0.255172 0.234375 +vt 0.255172 0.203125 +vt 0.255172 0.187500 +vt 0.255172 0.218750 +vt 0.255172 0.250000 +vt 0.255172 0.234375 +vt 0.255172 0.218750 +vt 0.255172 0.234375 +vt 0.255172 0.250000 +vt 0.255172 0.250000 +vt 0.124138 0.390625 +vt 0.124138 0.375000 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.359375 +vt 0.124138 0.343750 +vt 0.144828 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.328125 +vt 0.124138 0.312500 +vt 0.144828 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.296875 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.281250 +vt 0.144828 0.281250 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.343750 +vt 0.158621 0.359375 +vt 0.158621 0.375000 +vt 0.158621 0.390625 +vt 0.158621 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.343750 +vt 0.172414 0.359375 +vt 0.172414 0.375000 +vt 0.172414 0.281250 +vt 0.186207 0.328125 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.296875 +vt 0.186207 0.312500 +vt 0.186207 0.281250 +vt 0.186207 -0.000000 +vt 0.193103 -0.000000 +vt 0.144828 -0.000000 +vt 0.151724 -0.000000 +vt 0.158621 -0.000000 +vt 0.165517 -0.000000 +vt 0.172414 -0.000000 +vt 0.179310 -0.000000 +vt 0.200000 -0.000000 +vt 0.193103 0.109375 +vt 0.186207 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.144828 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.172414 0.109375 +vt 0.165517 0.109375 +vt 0.124138 0.390625 +vt 0.124138 0.375000 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.359375 +vt 0.124138 0.343750 +vt 0.144828 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.328125 +vt 0.124138 0.312500 +vt 0.144828 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.296875 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.281250 +vt 0.144828 0.281250 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.343750 +vt 0.158621 0.359375 +vt 0.158621 0.375000 +vt 0.158621 0.390625 +vt 0.158621 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.343750 +vt 0.172414 0.359375 +vt 0.172414 0.375000 +vt 0.172414 0.281250 +vt 0.186207 0.328125 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.296875 +vt 0.186207 0.312500 +vt 0.186207 0.281250 +vt 0.186207 -0.000000 +vt 0.193103 -0.000000 +vt 0.144828 -0.000000 +vt 0.151724 -0.000000 +vt 0.158621 -0.000000 +vt 0.165517 -0.000000 +vt 0.172414 -0.000000 +vt 0.179310 -0.000000 +vt 0.200000 -0.000000 +vt 0.193103 0.109375 +vt 0.186207 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.144828 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.172414 0.109375 +vt 0.165517 0.109375 +vt 0.124138 0.390625 +vt 0.124138 0.375000 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.359375 +vt 0.124138 0.343750 +vt 0.144828 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.328125 +vt 0.124138 0.312500 +vt 0.144828 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.296875 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.281250 +vt 0.144828 0.281250 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.343750 +vt 0.158621 0.359375 +vt 0.158621 0.375000 +vt 0.158621 0.390625 +vt 0.158621 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.343750 +vt 0.172414 0.359375 +vt 0.172414 0.375000 +vt 0.172414 0.281250 +vt 0.186207 0.328125 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.296875 +vt 0.186207 0.312500 +vt 0.186207 0.281250 +vt 0.186207 -0.000000 +vt 0.193103 -0.000000 +vt 0.144828 -0.000000 +vt 0.151724 -0.000000 +vt 0.158621 -0.000000 +vt 0.165517 -0.000000 +vt 0.172414 -0.000000 +vt 0.179310 -0.000000 +vt 0.200000 -0.000000 +vt 0.193103 0.109375 +vt 0.186207 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.144828 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.172414 0.109375 +vt 0.165517 0.109375 +vt 0.124138 0.390625 +vt 0.124138 0.375000 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.359375 +vt 0.124138 0.343750 +vt 0.144828 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.328125 +vt 0.124138 0.312500 +vt 0.144828 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.296875 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.281250 +vt 0.144828 0.281250 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.343750 +vt 0.158621 0.359375 +vt 0.158621 0.375000 +vt 0.158621 0.390625 +vt 0.158621 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.343750 +vt 0.172414 0.359375 +vt 0.172414 0.375000 +vt 0.172414 0.281250 +vt 0.186207 0.328125 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.296875 +vt 0.186207 0.312500 +vt 0.186207 0.281250 +vt 0.186207 -0.000000 +vt 0.193103 -0.000000 +vt 0.144828 -0.000000 +vt 0.151724 -0.000000 +vt 0.158621 -0.000000 +vt 0.165517 -0.000000 +vt 0.172414 -0.000000 +vt 0.179310 -0.000000 +vt 0.200000 -0.000000 +vt 0.193103 0.109375 +vt 0.186207 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.144828 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.172414 0.109375 +vt 0.165517 0.109375 +vt 0.124138 0.390625 +vt 0.124138 0.375000 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.359375 +vt 0.124138 0.343750 +vt 0.144828 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.328125 +vt 0.124138 0.312500 +vt 0.144828 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.296875 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.281250 +vt 0.144828 0.281250 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.343750 +vt 0.158621 0.359375 +vt 0.158621 0.375000 +vt 0.158621 0.390625 +vt 0.158621 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.343750 +vt 0.172414 0.359375 +vt 0.172414 0.375000 +vt 0.172414 0.281250 +vt 0.186207 0.328125 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.296875 +vt 0.186207 0.312500 +vt 0.186207 0.281250 +vt 0.186207 -0.000000 +vt 0.193103 -0.000000 +vt 0.144828 -0.000000 +vt 0.151724 -0.000000 +vt 0.158621 -0.000000 +vt 0.165517 -0.000000 +vt 0.172414 -0.000000 +vt 0.179310 -0.000000 +vt 0.200000 -0.000000 +vt 0.193103 0.109375 +vt 0.186207 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.144828 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.172414 0.109375 +vt 0.165517 0.109375 +vt 0.124138 0.390625 +vt 0.124138 0.375000 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.359375 +vt 0.124138 0.343750 +vt 0.144828 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.328125 +vt 0.124138 0.312500 +vt 0.144828 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.296875 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.281250 +vt 0.144828 0.281250 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.343750 +vt 0.158621 0.359375 +vt 0.158621 0.375000 +vt 0.158621 0.390625 +vt 0.158621 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.343750 +vt 0.172414 0.359375 +vt 0.172414 0.375000 +vt 0.172414 0.281250 +vt 0.186207 0.328125 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.296875 +vt 0.186207 0.312500 +vt 0.186207 0.281250 +vt 0.186207 -0.000000 +vt 0.193103 -0.000000 +vt 0.144828 -0.000000 +vt 0.151724 -0.000000 +vt 0.158621 -0.000000 +vt 0.165517 -0.000000 +vt 0.172414 -0.000000 +vt 0.179310 -0.000000 +vt 0.200000 -0.000000 +vt 0.193103 0.109375 +vt 0.186207 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.144828 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.172414 0.109375 +vt 0.165517 0.109375 +vt 0.124138 0.390625 +vt 0.124138 0.375000 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.359375 +vt 0.124138 0.343750 +vt 0.144828 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.328125 +vt 0.124138 0.312500 +vt 0.144828 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.296875 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.281250 +vt 0.144828 0.281250 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.343750 +vt 0.158621 0.359375 +vt 0.158621 0.375000 +vt 0.158621 0.390625 +vt 0.158621 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.343750 +vt 0.172414 0.359375 +vt 0.172414 0.375000 +vt 0.172414 0.281250 +vt 0.186207 0.328125 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.296875 +vt 0.186207 0.312500 +vt 0.186207 0.281250 +vt 0.186207 -0.000000 +vt 0.193103 -0.000000 +vt 0.144828 -0.000000 +vt 0.151724 -0.000000 +vt 0.158621 -0.000000 +vt 0.165517 -0.000000 +vt 0.172414 -0.000000 +vt 0.179310 -0.000000 +vt 0.200000 -0.000000 +vt 0.193103 0.109375 +vt 0.186207 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.144828 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.172414 0.109375 +vt 0.165517 0.109375 vn 0.0000 -1.0000 -0.0000 vn 0.0000 1.0000 0.0000 vn -1.0000 0.0000 0.0000 @@ -896,10 +4646,95 @@ vn 0.0000 -0.9285 0.3714 vn 0.0000 0.9285 -0.3714 vn 0.0000 -0.9900 -0.1407 vn 0.0000 0.9900 0.1407 -vn 0.4226 0.0000 -0.9063 -vn -0.4226 -0.0000 0.9063 -vn 0.9063 -0.0000 0.4226 -vn -0.9063 0.0000 -0.4226 +vn -0.1617 -0.3904 0.9063 +vn -0.1617 -0.3905 0.9063 +vn 0.3904 -0.1617 0.9063 +vn 0.3905 -0.1617 0.9063 +vn -0.3904 0.1617 0.9063 +vn -0.3905 0.1617 0.9063 +vn 0.3904 0.1617 0.9063 +vn 0.3905 0.1617 0.9063 +vn -0.3904 -0.1617 0.9063 +vn -0.3905 -0.1617 0.9063 +vn 0.1617 -0.3904 0.9063 +vn 0.1617 -0.3905 0.9063 +vn -0.1617 0.3904 0.9063 +vn -0.1617 0.3905 0.9063 +vn -0.1752 -0.8806 0.4403 +vn -0.0859 -0.4318 -0.8979 +vn -0.9845 0.1567 -0.0783 +vn 0.0859 0.4318 0.8978 +vn 0.9695 -0.2320 -0.0783 +vn 0.8806 -0.1752 0.4403 +vn 0.4318 -0.0859 -0.8978 +vn -0.1567 -0.9845 -0.0783 +vn -0.4318 0.0859 0.8978 +vn 0.2320 0.9695 -0.0783 +vn -0.8806 0.1752 0.4403 +vn -0.4318 0.0859 -0.8978 +vn 0.1567 0.9845 -0.0783 +vn 0.4318 -0.0859 0.8978 +vn -0.2320 -0.9695 -0.0783 +vn 0.7465 0.4988 0.4403 +vn 0.3661 0.2446 -0.8978 +vn 0.5854 -0.8070 -0.0783 +vn -0.3661 -0.2446 0.8978 +vn -0.5215 0.8496 -0.0783 +vn -0.7465 -0.4988 0.4403 +vn -0.3661 -0.2446 -0.8978 +vn -0.5854 0.8070 -0.0783 +vn 0.3661 0.2446 0.8978 +vn 0.5215 -0.8496 -0.0783 +vn 0.4988 -0.7465 0.4403 +vn 0.2446 -0.3661 -0.8979 +vn -0.8070 -0.5854 -0.0783 +vn -0.2446 0.3661 0.8978 +vn 0.8496 0.5215 -0.0783 +vn -0.4988 0.7465 0.4403 +vn -0.2446 0.3661 -0.8978 +vn 0.8070 0.5854 -0.0783 +vn 0.2446 -0.3661 0.8978 +vn -0.8496 -0.5215 -0.0783 +vn 0.4988 0.7465 0.4403 +vn 0.2446 0.3661 -0.8979 +vn 0.8496 -0.5215 -0.0783 +vn -0.2446 -0.3661 0.8978 +vn -0.8070 0.5854 -0.0783 +vn -0.4988 -0.7465 0.4403 +vn -0.2446 -0.3661 -0.8978 +vn -0.8496 0.5215 -0.0783 +vn 0.2446 0.3661 0.8978 +vn 0.8070 -0.5854 -0.0783 +vn 0.7465 -0.4988 0.4403 +vn 0.3661 -0.2446 -0.8978 +vn -0.5215 -0.8496 -0.0783 +vn -0.3661 0.2446 0.8978 +vn 0.5854 0.8070 -0.0783 +vn -0.7465 0.4988 0.4403 +vn -0.3661 0.2446 -0.8978 +vn 0.5215 0.8496 -0.0783 +vn 0.3661 -0.2446 0.8978 +vn -0.5854 -0.8070 -0.0783 +vn 0.8806 0.1752 0.4403 +vn 0.4318 0.0859 -0.8978 +vn 0.2320 -0.9696 -0.0783 +vn -0.4318 -0.0859 0.8978 +vn -0.1567 0.9845 -0.0783 +vn -0.8806 -0.1752 0.4403 +vn -0.4318 -0.0859 -0.8978 +vn -0.2320 0.9696 -0.0783 +vn 0.4318 0.0859 0.8978 +vn 0.1567 -0.9845 -0.0783 +vn 0.1752 -0.8806 0.4403 +vn 0.0859 -0.4318 -0.8979 +vn -0.9696 -0.2320 -0.0783 +vn -0.0859 0.4318 0.8978 +vn 0.9845 0.1567 -0.0783 +vn -0.1752 0.8806 0.4403 +vn -0.0859 0.4318 -0.8978 +vn 0.9696 0.2320 -0.0783 +vn 0.0859 -0.4318 0.8978 +vn -0.9845 -0.1567 -0.0783 vn 0.0000 -0.8944 0.4472 vn 0.3423 -0.8263 0.4472 vn -0.3423 -0.8263 0.4472 @@ -1026,626 +4861,1483 @@ vn 0.7559 -0.5345 0.3780 vn -0.5345 0.7559 0.3780 vn -0.0945 0.8431 0.5293 vn 0.8431 -0.0945 0.5294 +vn -0.7311 0.6303 -0.2611 +vn -0.9947 -0.0948 0.0393 +vn -0.9973 -0.0609 0.0399 +vn -0.7430 0.5190 -0.4226 +vn -0.6333 -0.7150 0.2962 +vn -0.0000 -0.7690 0.6392 +vn -0.6721 -0.5735 0.4683 +vn 0.6333 -0.7150 0.2962 +vn 0.9947 -0.0948 0.0393 +vn 0.9973 -0.0609 0.0399 +vn 0.6721 -0.5735 0.4683 +vn 0.7311 0.6303 -0.2611 +vn 0.7430 0.5190 -0.4226 +vn -0.0000 0.7779 -0.6284 +vn 0.9989 -0.0183 0.0441 +vn 0.6841 -0.2791 0.6739 +vn -0.6840 -0.2791 0.6739 +vn -0.9989 -0.0183 0.0441 +vn -0.7317 0.2608 -0.6297 +vn 0.7317 0.2608 -0.6297 +vn 0.6841 0.0000 0.7294 +vn -0.6840 0.0000 0.7294 +vn 0.6770 0.1436 0.7219 +vn -0.0000 0.1951 0.9808 +vn -0.6770 0.1436 0.7219 +vn -0.9988 0.0095 0.0477 +vn -0.7251 -0.1344 -0.6754 +vn -0.0000 -0.1951 -0.9808 +vn 0.7251 -0.1344 -0.6754 +vn 0.9988 0.0095 0.0477 +vn -0.8985 -0.3215 -0.2988 +vn -0.3468 -0.8373 -0.4226 +vn 0.4080 -0.8627 -0.2988 +vn 0.8985 0.3215 0.2988 +vn 0.3468 0.8373 0.4226 +vn -0.4080 0.8627 0.2988 +vn -0.6303 -0.7311 -0.2611 +vn 0.0948 -0.9947 0.0393 +vn 0.0609 -0.9973 0.0399 +vn -0.5190 -0.7430 -0.4226 +vn 0.7150 -0.6333 0.2962 +vn 0.9239 -0.0000 0.3827 +vn 0.7690 -0.0000 0.6392 +vn 0.5735 -0.6721 0.4683 +vn 0.7150 0.6333 0.2962 +vn 0.0948 0.9947 0.0393 +vn 0.0609 0.9973 0.0399 +vn 0.5735 0.6721 0.4683 +vn -0.6303 0.7311 -0.2611 +vn -0.5190 0.7430 -0.4226 +vn -0.9239 -0.0000 -0.3827 +vn -0.7779 -0.0000 -0.6284 +vn 0.0183 0.9989 0.0441 +vn 0.2791 0.6841 0.6739 +vn 0.3827 -0.0000 0.9239 +vn 0.2791 -0.6840 0.6739 +vn 0.0183 -0.9989 0.0441 +vn -0.2608 -0.7317 -0.6297 +vn -0.3827 -0.0000 -0.9239 +vn -0.2608 0.7317 -0.6297 +vn 0.0000 -0.7317 -0.6816 +vn 0.0000 0.7317 -0.6816 +vn 0.0000 0.9989 0.0477 +vn 0.0000 0.6841 0.7294 +vn -0.0000 -0.6840 0.7294 +vn -0.0000 -0.9989 0.0477 +vn -0.1436 0.6770 0.7219 +vn -0.1951 -0.0000 0.9808 +vn -0.1436 -0.6770 0.7219 +vn -0.0095 -0.9988 0.0477 +vn 0.1344 -0.7251 -0.6754 +vn 0.1951 -0.0000 -0.9808 +vn 0.1344 0.7251 -0.6754 +vn -0.0095 0.9988 0.0477 +vn 0.3215 -0.8985 -0.2988 +vn 0.8373 -0.3468 -0.4226 +vn 0.8627 0.4080 -0.2988 +vn -0.3215 0.8985 0.2988 +vn -0.8373 0.3468 0.4226 +vn -0.8627 -0.4080 0.2988 +vn 0.6303 0.7311 -0.2611 +vn -0.0948 0.9947 0.0393 +vn -0.0609 0.9973 0.0399 +vn 0.5190 0.7430 -0.4226 +vn -0.7150 0.6333 0.2962 +vn -0.9239 0.0000 0.3827 +vn -0.7690 0.0000 0.6392 +vn -0.5735 0.6721 0.4683 +vn -0.7150 -0.6333 0.2962 +vn -0.0948 -0.9947 0.0393 +vn -0.0609 -0.9973 0.0399 +vn -0.5735 -0.6721 0.4683 +vn 0.6303 -0.7311 -0.2611 +vn 0.5190 -0.7430 -0.4226 +vn 0.9239 0.0000 -0.3827 +vn 0.7779 0.0000 -0.6284 +vn -0.0183 -0.9989 0.0441 +vn -0.2791 -0.6841 0.6739 +vn -0.3827 0.0000 0.9239 +vn -0.2791 0.6840 0.6739 +vn -0.0183 0.9989 0.0441 +vn 0.2608 0.7317 -0.6297 +vn 0.3827 0.0000 -0.9239 +vn 0.2608 -0.7317 -0.6297 +vn 0.0000 -0.6841 0.7294 +vn 0.0000 0.6840 0.7294 +vn 0.1436 -0.6770 0.7219 +vn 0.1951 0.0000 0.9808 +vn 0.1436 0.6770 0.7219 +vn 0.0095 0.9988 0.0477 +vn -0.1344 0.7251 -0.6754 +vn -0.1951 0.0000 -0.9808 +vn -0.1344 -0.7251 -0.6754 +vn 0.0095 -0.9988 0.0477 +vn -0.3215 0.8985 -0.2988 +vn -0.8373 0.3468 -0.4226 +vn -0.8627 -0.4080 -0.2988 +vn 0.3215 -0.8985 0.2988 +vn 0.8373 -0.3468 0.4226 +vn 0.8627 0.4080 0.2988 +vn 0.0712 -0.9627 -0.2611 +vn 0.7704 -0.6363 0.0393 +vn 0.7483 -0.6622 0.0399 +vn 0.1584 -0.8924 -0.4226 +vn 0.9534 0.0578 0.2962 +vn 0.6533 0.6533 0.3827 +vn 0.5438 0.5438 0.6392 +vn 0.8808 -0.0697 0.4683 +vn 0.0578 0.9534 0.2962 +vn -0.6364 0.7704 0.0393 +vn -0.6622 0.7483 0.0399 +vn -0.0697 0.8808 0.4683 +vn -0.9627 0.0712 -0.2611 +vn -0.8924 0.1584 -0.4226 +vn -0.6533 -0.6533 -0.3827 +vn -0.5501 -0.5501 -0.6284 +vn -0.6934 0.7192 0.0441 +vn -0.2863 0.6811 0.6739 +vn 0.6811 -0.2863 0.6739 +vn 0.7192 -0.6934 0.0441 +vn 0.3330 -0.7018 -0.6297 +vn -0.2706 -0.2706 -0.9239 +vn -0.7018 0.3330 -0.6297 +vn 0.5174 -0.5174 -0.6816 +vn -0.5174 0.5174 -0.6816 +vn -0.7063 0.7063 0.0477 +vn -0.4837 0.4837 0.7294 +vn 0.4837 -0.4837 0.7294 +vn 0.7063 -0.7063 0.0477 +vn -0.5802 0.3772 0.7219 +vn -0.1379 -0.1379 0.9808 +vn 0.3772 -0.5802 0.7219 +vn 0.6996 -0.7130 0.0477 +vn 0.6077 -0.4177 -0.6754 +vn 0.1380 0.1380 -0.9808 +vn -0.4177 0.6077 -0.6754 +vn -0.7130 0.6996 0.0477 +vn 0.8627 -0.4080 -0.2988 +vn 0.8373 0.3468 -0.4226 +vn 0.3215 0.8985 -0.2988 +vn -0.8627 0.4080 0.2988 +vn -0.8373 -0.3468 0.4226 +vn -0.3215 -0.8985 0.2988 +vn -0.0712 0.9627 -0.2611 +vn -0.7704 0.6363 0.0393 +vn -0.7483 0.6622 0.0399 +vn -0.1584 0.8924 -0.4226 +vn -0.9534 -0.0578 0.2962 +vn -0.6533 -0.6533 0.3827 +vn -0.5438 -0.5438 0.6392 +vn -0.8808 0.0697 0.4683 +vn -0.0578 -0.9534 0.2962 +vn 0.6364 -0.7704 0.0393 +vn 0.6622 -0.7483 0.0399 +vn 0.0697 -0.8808 0.4683 +vn 0.9627 -0.0712 -0.2611 +vn 0.8924 -0.1584 -0.4226 +vn 0.6533 0.6533 -0.3827 +vn 0.5501 0.5501 -0.6284 +vn 0.6934 -0.7192 0.0441 +vn 0.2863 -0.6811 0.6739 +vn -0.2706 -0.2706 0.9239 +vn -0.6811 0.2863 0.6739 +vn -0.7192 0.6934 0.0441 +vn -0.3330 0.7018 -0.6297 +vn 0.2706 0.2706 -0.9239 +vn 0.7018 -0.3330 -0.6297 +vn 0.5802 -0.3772 0.7219 +vn 0.1379 0.1379 0.9808 +vn -0.3772 0.5802 0.7219 +vn -0.6996 0.7130 0.0477 +vn -0.6077 0.4177 -0.6754 +vn -0.1380 -0.1380 -0.9808 +vn 0.4177 -0.6077 -0.6754 +vn 0.7130 -0.6996 0.0477 +vn -0.8627 0.4080 -0.2988 +vn -0.8373 -0.3468 -0.4226 +vn -0.3215 -0.8985 -0.2988 +vn 0.8627 -0.4080 0.2988 +vn 0.8373 0.3468 0.4226 +vn 0.3215 0.8985 0.2988 +vn -0.9627 -0.0712 -0.2611 +vn -0.6363 -0.7704 0.0393 +vn -0.6622 -0.7483 0.0399 +vn -0.8924 -0.1584 -0.4226 +vn 0.0578 -0.9534 0.2962 +vn 0.6533 -0.6533 0.3827 +vn 0.5438 -0.5438 0.6392 +vn -0.0697 -0.8808 0.4683 +vn 0.9534 -0.0578 0.2962 +vn 0.7704 0.6364 0.0393 +vn 0.7483 0.6622 0.0399 +vn 0.8808 0.0697 0.4683 +vn 0.0712 0.9627 -0.2611 +vn 0.1584 0.8924 -0.4226 +vn -0.6533 0.6533 -0.3827 +vn -0.5501 0.5501 -0.6284 +vn 0.7192 0.6934 0.0441 +vn 0.6811 0.2863 0.6739 +vn 0.2706 -0.2706 0.9239 +vn -0.2863 -0.6811 0.6739 +vn -0.6934 -0.7192 0.0441 +vn -0.7018 -0.3330 -0.6297 +vn -0.2706 0.2706 -0.9239 +vn 0.3330 0.7018 -0.6297 +vn -0.5174 -0.5174 -0.6816 +vn 0.5174 0.5174 -0.6816 +vn 0.7063 0.7063 0.0477 +vn 0.4837 0.4837 0.7294 +vn -0.4837 -0.4837 0.7294 +vn -0.7063 -0.7063 0.0477 +vn 0.3772 0.5802 0.7219 +vn -0.1379 0.1379 0.9808 +vn -0.5802 -0.3772 0.7219 +vn -0.7130 -0.6996 0.0477 +vn -0.4177 -0.6077 -0.6754 +vn 0.1380 -0.1380 -0.9808 +vn 0.6077 0.4177 -0.6754 +vn 0.6996 0.7130 0.0477 +vn -0.4080 -0.8627 -0.2988 +vn 0.3468 -0.8373 -0.4226 +vn 0.8985 -0.3215 -0.2988 +vn 0.4080 0.8627 0.2988 +vn -0.3468 0.8373 0.4226 +vn -0.8985 0.3215 0.2988 +vn 0.9627 0.0712 -0.2611 +vn 0.6363 0.7704 0.0393 +vn 0.6622 0.7483 0.0399 +vn 0.8924 0.1584 -0.4226 +vn -0.0578 0.9534 0.2962 +vn -0.6533 0.6533 0.3827 +vn -0.5438 0.5438 0.6392 +vn 0.0697 0.8808 0.4683 +vn -0.9534 0.0578 0.2962 +vn -0.7704 -0.6363 0.0393 +vn -0.7483 -0.6622 0.0399 +vn -0.8808 -0.0697 0.4683 +vn -0.0712 -0.9627 -0.2611 +vn -0.1584 -0.8924 -0.4226 +vn 0.6533 -0.6533 -0.3827 +vn 0.5501 -0.5501 -0.6284 +vn -0.7192 -0.6934 0.0441 +vn -0.6811 -0.2863 0.6739 +vn 0.2863 0.6811 0.6739 +vn 0.6934 0.7192 0.0441 +vn 0.7018 0.3330 -0.6297 +vn 0.2706 -0.2706 -0.9239 +vn -0.3330 -0.7018 -0.6297 +vn -0.3772 -0.5802 0.7219 +vn 0.1379 -0.1379 0.9808 +vn 0.5802 0.3772 0.7219 +vn 0.7130 0.6996 0.0477 +vn 0.4177 0.6077 -0.6754 +vn -0.1380 0.1380 -0.9808 +vn -0.6077 -0.4177 -0.6754 +vn -0.6996 -0.7130 0.0477 +vn 0.4080 0.8627 -0.2988 +vn -0.3468 0.8373 -0.4226 +vn -0.8985 0.3215 -0.2988 +vn -0.4080 -0.8627 0.2988 +vn 0.3468 -0.8373 0.4226 +vn 0.8985 -0.3215 0.2988 s off -f 1//1 2//1 3//1 4//1 -f 5//2 6//2 7//2 8//2 -f 9//3 10//3 11//3 12//3 -f 13//4 14//4 15//4 16//4 -f 6//5 13//5 16//5 7//5 -f 3//6 15//6 14//6 4//6 -f 2//7 1//7 12//7 11//7 -f 5//8 8//8 10//8 9//8 -f 14//9 13//9 17//9 18//9 19//9 -f 13//9 6//9 20//9 21//9 17//9 -f 6//9 5//9 22//9 23//9 20//9 -f 5//9 9//9 24//9 25//9 22//9 -f 9//9 12//9 26//9 27//9 24//9 -f 12//9 1//9 28//9 29//9 26//9 -f 1//9 4//9 30//9 31//9 28//9 -f 4//9 14//9 19//9 32//9 30//9 -f 33//3 34//3 35//3 36//3 37//3 -f 38//6 39//6 836//6 40//6 41//6 42//6 43//6 -f 44//4 45//4 42//4 41//4 46//4 47//4 -f 48//1 49//1 38//1 43//1 -f 37//10 36//10 50//10 51//10 49//10 48//10 -f 38//11 49//11 51//11 39//11 -f 52//2 53//2 44//2 47//2 -f 54//3 55//3 56//3 57//3 -f 58//3 57//3 56//3 35//3 34//3 -f 55//12 54//12 59//12 60//12 -f 61//3 62//3 63//3 64//3 -f 65//3 66//3 67//3 68//3 -f 69//3 70//3 71//3 72//3 -f 73//3 74//3 75//3 76//3 -f 77//3 78//3 79//3 80//3 -f 73//3 77//3 80//3 61//3 64//3 65//3 68//3 69//3 72//3 74//3 -f 76//3 75//3 71//3 70//3 67//3 66//3 63//3 62//3 79//3 78//3 -f 70//1 69//1 81//1 82//1 -f 69//9 68//9 83//9 81//9 -f 64//2 63//2 84//2 85//2 -f 65//9 64//9 85//9 86//9 -f 87//3 88//3 89//3 90//3 -f 83//3 91//3 82//3 81//3 -f 86//3 85//3 84//3 92//3 -f 93//3 94//3 95//3 96//3 -f 74//9 72//9 88//9 87//9 -f 72//2 71//2 89//2 88//2 -f 71//13 75//13 90//13 89//13 -f 66//1 65//1 86//1 92//1 -f 67//13 70//13 82//13 91//13 -f 68//2 67//2 91//2 83//2 -f 63//13 66//13 92//13 84//13 -f 75//1 74//1 87//1 90//1 -f 79//13 62//13 95//13 94//13 -f 80//2 79//2 94//2 93//2 -f 61//9 80//9 93//9 96//9 -f 62//1 61//1 96//1 95//1 -f 46//13 41//13 97//13 98//13 -f 41//13 40//13 97//13 -f 54//13 57//13 99//13 100//13 -f 54//13 100//13 59//13 -f 47//14 46//14 98//14 52//14 -f 101//14 99//14 57//14 58//14 -f 102//2 101//2 58//2 34//2 -f 103//15 104//15 105//15 106//15 -f 104//15 44//15 53//15 105//15 -f 103//15 106//15 102//15 34//15 -f 107//16 108//16 109//16 110//16 -f 111//16 112//16 113//16 114//16 -f 115//16 116//16 117//16 118//16 -f 116//16 119//16 120//16 117//16 -f 121//16 107//16 110//16 122//16 -f 108//16 111//16 114//16 109//16 -f 112//16 115//16 118//16 113//16 -f 119//16 121//16 122//16 120//16 -f 123//16 124//16 125//16 126//16 127//16 128//16 129//16 130//16 -f 131//16 132//16 133//16 134//16 -f 132//16 135//16 136//16 133//16 -f 135//17 137//17 138//17 136//17 -f 137//17 139//17 140//17 138//17 -f 139//16 141//16 142//16 140//16 -f 141//17 143//17 144//17 142//17 -f 143//17 145//17 146//17 144//17 -f 145//17 131//17 134//17 146//17 -f 147//18 148//18 149//18 150//18 -f 151//19 152//19 150//19 149//19 -f 153//20 151//20 149//20 148//20 -f 154//21 153//21 148//21 147//21 -f 152//22 154//22 147//22 150//22 -f 155//9 156//9 157//9 158//9 -f 159//9 160//9 161//9 162//9 163//9 164//9 165//9 166//9 -f 167//9 155//9 158//9 168//9 -f 169//9 167//9 168//9 170//9 -f 171//9 169//9 170//9 172//9 -f 173//9 171//9 172//9 174//9 -f 175//9 173//9 174//9 176//9 -f 177//9 175//9 176//9 178//9 -f 156//9 177//9 178//9 157//9 -f 179//9 180//9 181//9 182//9 -f 183//9 184//9 180//9 179//9 -f 185//9 186//9 184//9 183//9 -f 187//9 188//9 186//9 185//9 -f 189//9 190//9 188//9 187//9 -f 191//9 192//9 190//9 189//9 -f 193//9 194//9 192//9 191//9 -f 182//9 181//9 194//9 193//9 -f 195//9 196//9 197//9 198//9 199//9 200//9 201//9 202//9 203//9 204//9 205//9 206//9 207//9 208//9 209//9 210//9 -f 16//13 211//13 212//13 213//13 7//13 -f 15//13 214//13 215//13 211//13 16//13 -f 3//13 216//13 217//13 214//13 15//13 -f 2//13 218//13 219//13 216//13 3//13 -f 11//13 220//13 221//13 218//13 2//13 -f 10//13 222//13 223//13 220//13 11//13 -f 8//13 224//13 225//13 222//13 10//13 -f 7//13 213//13 226//13 224//13 8//13 -f 227//9 228//9 229//9 230//9 231//9 -f 45//9 227//9 231//9 232//9 233//9 -f 42//9 45//9 233//9 234//9 235//9 -f 43//9 42//9 235//9 236//9 237//9 -f 48//9 43//9 237//9 238//9 239//9 -f 37//9 48//9 239//9 240//9 241//9 -f 33//9 37//9 241//9 242//9 243//9 -f 228//9 33//9 243//9 244//9 229//9 -f 245//3 246//3 247//3 248//3 249//3 250//3 251//3 252//3 -f 76//9 78//9 253//9 254//9 -f 78//1 77//1 255//1 253//1 -f 77//13 73//13 256//13 255//13 -f 73//2 76//2 254//2 256//2 -f 257//4 258//4 259//4 260//4 261//4 262//4 263//4 264//4 -f 246//23 264//23 263//23 247//23 -f 248//24 262//24 261//24 249//24 -f 252//25 258//25 257//25 245//25 -f 247//26 263//26 262//26 248//26 -f 249//27 261//27 260//27 250//27 -f 251//28 259//28 258//28 252//28 -f 245//29 257//29 264//29 246//29 -f 265//9 266//9 267//9 268//9 -f 269//13 270//13 271//13 272//13 -f 267//6 266//6 272//6 271//6 -f 265//8 268//8 270//8 269//8 -f 268//5 267//5 271//5 270//5 -f 266//7 265//7 269//7 272//7 -f 273//9 274//9 275//9 276//9 -f 277//13 278//13 279//13 280//13 -f 275//8 274//8 280//8 279//8 -f 273//6 276//6 278//6 277//6 -f 276//7 275//7 279//7 278//7 -f 274//5 273//5 277//5 280//5 -f 281//9 282//9 283//9 284//9 -f 285//13 286//13 287//13 288//13 -f 283//7 282//7 288//7 287//7 -f 281//5 284//5 286//5 285//5 -f 284//6 283//6 287//6 286//6 -f 282//8 281//8 285//8 288//8 -f 289//9 290//9 291//9 292//9 -f 293//13 294//13 295//13 296//13 -f 291//5 290//5 296//5 295//5 -f 289//7 292//7 294//7 293//7 -f 292//8 291//8 295//8 294//8 -f 290//6 289//6 293//6 296//6 -f 297//9 298//9 299//9 300//9 -f 301//30 302//30 303//30 304//30 -f 299//6 298//6 304//6 303//6 -f 297//8 300//8 302//8 301//8 -f 300//5 299//5 303//5 302//5 -f 298//7 297//7 301//7 304//7 -f 102//6 106//6 305//6 306//6 -f 105//7 53//7 307//7 308//7 -f 106//1 105//1 308//1 305//1 -f 305//15 308//15 307//15 306//15 -f 309//4 310//4 311//4 312//4 -f 313//3 314//3 315//3 316//3 -f 312//31 311//31 314//31 313//31 317//31 318//31 -f 318//32 317//32 319//32 320//32 -f 313//33 316//33 319//33 317//33 -f 309//34 312//34 318//34 320//34 -f 39//1 51//1 50//1 836//1 -f 321//35 322//35 323//35 324//35 -f 325//4 326//4 327//4 323//4 322//4 328//4 -f 324//25 323//25 327//25 329//25 -f 329//36 327//36 326//36 330//36 -f 330//3 331//3 332//3 321//3 324//3 329//3 -f 333//1 334//1 335//1 336//1 -f 335//4 334//4 337//4 338//4 -f 333//3 336//3 339//3 340//3 -f 341//13 342//13 343//13 344//13 -f 345//4 346//4 344//4 343//4 -f 347//3 348//3 342//3 341//3 -f 348//2 345//2 343//2 342//2 -f 346//1 347//1 341//1 344//1 -f 349//13 350//13 351//13 352//13 -f 353//1 354//1 352//1 351//1 -f 355//2 356//2 350//2 349//2 -f 356//4 353//4 351//4 350//4 -f 354//3 355//3 349//3 352//3 -f 357//1 358//1 359//1 360//1 -f 361//37 362//37 363//37 364//37 -f 365//38 366//38 367//38 368//38 -f 360//39 359//39 366//39 365//39 -f 364//40 363//40 358//40 357//40 -f 368//2 367//2 362//2 361//2 -f 368//4 361//4 364//4 357//4 360//4 365//4 -f 369//2 370//2 371//2 372//2 -f 373//1 374//1 375//1 376//1 -f 370//37 377//37 378//37 371//37 -f 379//38 369//38 372//38 380//38 -f 374//39 379//39 380//39 375//39 -f 377//40 373//40 376//40 378//40 -f 376//3 375//3 381//3 382//3 -f 371//3 378//3 383//3 384//3 -f 380//3 372//3 385//3 386//3 -f 375//3 380//3 386//3 381//3 -f 378//3 376//3 382//3 383//3 -f 372//3 371//3 384//3 385//3 -f 381//39 386//39 387//39 388//39 -f 383//40 382//40 389//40 390//40 -f 385//2 384//2 391//2 392//2 -f 382//1 381//1 388//1 389//1 -f 384//37 383//37 390//37 391//37 -f 386//38 385//38 392//38 387//38 -f 391//4 390//4 393//4 394//4 -f 392//4 391//4 394//4 395//4 -f 387//4 392//4 395//4 396//4 -f 388//4 387//4 396//4 397//4 -f 389//4 388//4 397//4 398//4 -f 390//4 389//4 398//4 393//4 -f 393//40 398//40 399//40 400//40 -f 395//2 394//2 401//2 402//2 -f 398//1 397//1 403//1 399//1 -f 394//37 393//37 400//37 401//37 -f 396//38 395//38 402//38 404//38 -f 397//39 396//39 404//39 403//39 -f 401//3 400//3 405//3 406//3 -f 402//3 401//3 406//3 407//3 -f 404//3 402//3 407//3 408//3 -f 403//3 404//3 408//3 409//3 -f 399//3 403//3 409//3 410//3 -f 400//3 399//3 410//3 405//3 -f 407//2 406//2 411//2 412//2 -f 410//1 409//1 413//1 414//1 -f 406//37 405//37 415//37 411//37 -f 408//38 407//38 412//38 416//38 -f 409//39 408//39 416//39 413//39 -f 405//40 410//40 414//40 415//40 -f 416//41 412//41 417//41 418//41 -f 413//42 416//42 418//42 419//42 -f 415//43 414//43 420//43 421//43 -f 412//44 411//44 422//44 417//44 -f 414//45 413//45 419//45 420//45 -f 411//46 415//46 421//46 422//46 -f 417//4 422//4 421//4 420//4 419//4 418//4 -f 423//2 424//2 425//2 426//2 -f 427//3 428//3 429//3 430//3 431//3 -f 426//13 425//13 432//13 433//13 -f 425//4 424//4 434//4 432//4 -f 423//3 426//3 433//3 435//3 -f 436//47 437//47 438//47 439//47 -f 440//3 436//3 439//3 441//3 -f 442//11 440//11 441//11 443//11 -f 437//4 442//4 443//4 438//4 -f 428//48 427//48 444//48 445//48 -f 431//13 430//13 446//13 447//13 -f 445//4 444//4 447//4 446//4 448//4 -f 428//47 445//47 448//47 429//47 -f 429//49 448//49 446//49 430//49 -f 444//11 427//11 431//11 447//11 -f 449//47 450//47 451//47 452//47 -f 453//4 454//4 451//4 450//4 -f 455//3 456//3 449//3 452//3 -f 454//49 455//49 452//49 451//49 -f 456//48 453//48 450//48 449//48 -f 457//31 458//31 459//31 460//31 461//31 462//31 463//31 464//31 465//31 466//31 467//31 468//31 -f 458//3 469//3 470//3 471//3 -f 472//50 473//50 462//50 474//50 -f 462//31 461//31 475//31 474//31 -f 461//31 460//31 476//31 475//31 -f 460//31 459//31 477//31 476//31 -f 471//31 477//31 459//31 458//31 -f 469//51 478//51 479//51 470//51 -f 480//31 481//31 482//31 483//31 484//31 485//31 486//31 487//31 488//31 489//31 490//31 491//31 -f 227//2 104//2 103//2 228//2 -f 492//8 493//8 494//8 495//8 -f 33//8 228//8 496//8 497//8 -f 103//8 34//8 498//8 499//8 -f 33//8 497//8 493//8 492//8 498//8 34//8 -f 228//8 103//8 499//8 495//8 494//8 496//8 -f 45//5 500//5 501//5 227//5 -f 44//5 502//5 500//5 45//5 -f 44//5 104//5 503//5 502//5 -f 227//5 501//5 503//5 104//5 -f 502//52 503//52 504//52 505//52 -f 498//5 492//5 506//5 507//5 -f 493//53 508//53 509//53 494//53 -f 510//8 507//8 506//8 511//8 -f 496//13 512//13 513//13 497//13 -f 514//5 505//5 504//5 515//5 -f 492//54 495//54 511//54 506//54 -f 497//5 513//5 508//5 493//5 -f 499//55 498//55 507//55 510//55 -f 495//7 499//7 510//7 511//7 -f 515//6 504//6 503//6 501//6 -f 505//8 514//8 500//8 502//8 -f 516//3 517//3 518//3 519//3 -f 517//56 520//56 521//56 518//56 -f 522//4 523//4 524//4 525//4 -f 526//57 516//57 519//57 527//57 -f 525//4 524//4 528//4 529//4 -f 518//58 521//58 530//58 531//58 -f 526//4 520//4 532//4 -f 532//49 533//49 516//49 526//49 -f 533//3 517//3 516//3 -f 523//4 522//4 534//4 -f 534//49 535//49 536//49 523//49 -f 535//3 537//3 536//3 -f 538//13 539//13 533//13 532//13 -f 540//9 541//9 520//9 517//9 -f 542//4 543//4 534//4 522//4 -f 544//3 545//3 537//3 535//3 -f 539//3 540//3 517//3 533//3 -f 543//13 544//13 535//13 534//13 -f 545//9 542//9 522//9 537//9 -f 541//4 538//4 532//4 520//4 -f 537//56 522//56 525//56 546//56 -f 520//4 526//4 527//4 521//4 -f 547//2 548//2 549//2 550//2 -f 509//8 508//8 513//8 512//8 -f 494//7 509//7 512//7 496//7 -f 514//13 515//13 501//13 500//13 -f 524//59 551//59 552//59 528//59 -f 551//3 546//3 553//3 552//3 -f 519//3 518//3 531//3 554//3 -f 546//58 525//58 529//58 553//58 -f 521//4 527//4 555//4 530//4 -f 527//59 519//59 554//59 555//59 -f 536//3 537//3 546//3 551//3 -f 523//57 536//57 551//57 524//57 -f 556//2 557//2 558//2 559//2 -f 559//60 558//60 560//60 561//60 -f 557//61 556//61 562//61 563//61 -f 558//62 557//62 563//62 560//62 -f 556//63 559//63 561//63 562//63 -f 564//39 565//39 566//39 567//39 -f 548//9 568//9 569//9 549//9 -f 567//1 566//1 570//1 571//1 -f 568//1 572//1 573//1 569//1 -f 571//40 570//40 574//40 575//40 -f 572//13 547//13 550//13 573//13 -f 575//37 574//37 576//37 577//37 -f 566//4 565//4 578//4 576//4 574//4 570//4 -f 548//3 547//3 572//3 568//3 -f 577//2 576//2 578//2 579//2 -f 579//38 578//38 565//38 564//38 -f 564//3 567//3 571//3 575//3 577//3 579//3 -f 569//6 573//6 580//6 581//6 -f 569//9 581//9 549//9 -f 550//13 580//13 573//13 -f 580//13 550//13 582//13 583//13 -f 583//1 582//1 584//1 585//1 -f 581//4 580//4 583//4 586//4 -f 549//9 581//9 586//9 587//9 -f 550//3 549//3 587//3 582//3 -f 583//4 588//4 586//4 -f 587//3 589//3 582//3 -f 586//47 588//47 589//47 587//47 -f 590//57 591//57 592//57 593//57 -f 588//4 583//4 585//4 591//4 -f 589//2 588//2 591//2 590//2 -f 582//3 589//3 590//3 584//3 -f 594//4 595//4 592//4 -f 584//3 590//3 593//3 596//3 -f 585//56 584//56 596//56 594//56 -f 591//4 585//4 594//4 592//4 -f 592//49 595//49 597//49 593//49 -f 596//3 597//3 598//3 599//3 -f 596//3 593//3 597//3 -f 600//9 599//9 601//9 602//9 -f 594//9 596//9 599//9 603//9 -f 595//4 594//4 603//4 604//4 -f 597//13 595//13 604//13 598//13 -f 604//13 605//13 598//13 -f 603//6 600//6 605//6 604//6 -f 599//9 600//9 603//9 -f 599//2 598//2 606//2 601//2 -f 598//13 605//13 607//13 606//13 -f 605//1 600//1 602//1 607//1 +f 227/323/124 228/324/124 229/325/124 230/326/124 +f 231/327/125 232/328/125 233/329/125 234/330/125 +f 235/331/126 236/332/126 237/333/126 238/334/126 +f 239/335/127 240/336/127 241/337/127 242/338/127 +f 232/328/128 239/335/128 242/338/128 233/329/128 +f 229/325/129 241/337/129 240/336/129 230/326/129 +f 228/339/130 227/340/130 238/334/130 237/333/130 +f 231/327/131 234/330/131 236/332/131 235/331/131 +f 240/341/132 239/342/132 243/343/132 244/344/132 245/345/132 +f 239/342/132 232/346/132 246/347/132 247/348/132 243/343/132 +f 232/346/132 231/349/132 248/350/132 249/351/132 246/347/132 +f 231/349/132 235/352/132 250/353/132 251/354/132 248/350/132 +f 235/352/132 238/355/132 252/356/132 253/357/132 250/353/132 +f 238/355/132 227/358/132 254/359/132 255/360/132 252/356/132 +f 227/358/132 230/361/132 256/362/132 257/363/132 254/359/132 +f 230/361/132 240/341/132 245/345/132 258/364/132 256/362/132 +f 259/365/126 260/366/126 261/367/126 262/368/126 263/369/126 +f 264/370/129 265/371/129 1051/372/129 266/373/129 267/374/129 268/375/129 269/376/129 +f 270/377/127 271/378/127 268/375/127 267/374/127 272/379/127 273/380/127 +f 274/381/124 275/382/124 264/370/124 269/376/124 +f 263/369/133 262/368/133 276/383/133 277/384/133 275/385/133 274/386/133 +f 264/387/134 275/388/134 277/389/134 265/390/134 +f 278/391/125 279/392/125 270/377/125 273/380/125 +f 280/393/126 281/394/126 282/395/126 283/396/126 +f 284/397/126 283/396/126 282/395/126 261/367/126 260/366/126 +f 281/394/135 280/393/135 285/398/135 286/399/135 +f 287/400/126 288/401/126 289/402/126 290/403/126 +f 291/404/126 292/405/126 293/406/126 294/407/126 +f 295/408/126 296/409/126 297/410/126 298/411/126 +f 299/412/126 300/413/126 301/414/126 302/415/126 +f 303/416/126 304/417/126 305/418/126 306/419/126 +f 299/412/126 303/416/126 306/419/126 287/400/126 290/403/126 291/404/126 294/407/126 295/408/126 298/411/126 300/413/126 +f 302/415/126 301/414/126 297/410/126 296/409/126 293/406/126 292/405/126 289/402/126 288/401/126 305/418/126 304/417/126 +f 296/420/124 295/421/124 307/422/124 308/423/124 +f 295/424/132 294/425/132 309/426/132 307/422/132 +f 290/427/125 289/428/125 310/429/125 311/430/125 +f 291/431/132 290/432/132 311/430/132 312/433/132 +f 313/434/126 314/435/126 315/436/126 316/437/126 +f 309/426/126 317/438/126 308/423/126 307/422/126 +f 312/433/126 311/430/126 310/429/126 318/439/126 +f 319/440/126 320/441/126 321/442/126 322/443/126 +f 300/444/132 298/445/132 314/435/132 313/434/132 +f 298/446/125 297/447/125 315/436/125 314/435/125 +f 297/448/136 301/449/136 316/437/136 315/436/136 +f 292/450/124 291/451/124 312/433/124 318/439/124 +f 293/452/136 296/453/136 308/423/136 317/438/136 +f 294/454/125 293/455/125 317/438/125 309/426/125 +f 289/456/136 292/457/136 318/439/136 310/429/136 +f 301/458/124 300/459/124 313/434/124 316/437/124 +f 305/460/136 288/461/136 321/442/136 320/441/136 +f 306/462/125 305/463/125 320/441/125 319/440/125 +f 287/464/132 306/465/132 319/440/132 322/443/132 +f 288/466/124 287/467/124 322/443/124 321/442/124 +f 272/379/136 267/374/136 323/468/136 324/469/136 +f 267/374/136 266/470/136 323/468/136 +f 280/393/136 283/396/136 325/471/136 326/472/136 +f 280/393/136 326/472/136 285/473/136 +f 273/380/137 272/474/137 324/475/137 278/391/137 +f 327/476/137 325/477/137 283/478/137 284/397/137 +f 328/479/125 327/476/125 284/397/125 260/366/125 +f 329/480/138 330/481/138 331/482/138 332/483/138 +f 330/481/138 270/484/138 279/485/138 331/482/138 +f 329/480/138 332/483/138 328/486/138 260/487/138 +f 333/488/139 334/489/139 335/490/139 336/491/139 +f 337/492/139 338/493/139 339/494/139 340/495/139 +f 341/496/139 342/497/139 343/498/139 344/499/139 +f 342/497/139 345/500/139 346/501/139 343/498/139 +f 347/502/139 333/488/139 336/491/139 348/503/139 +f 334/489/139 337/492/139 340/495/139 335/490/139 +f 338/493/139 341/496/139 344/499/139 339/494/139 +f 345/500/139 347/504/139 348/505/139 346/501/139 +f 349/506/139 350/507/139 351/508/139 352/509/139 353/510/139 354/511/139 355/512/139 356/513/139 +f 357/514/139 358/515/139 359/516/139 360/517/139 +f 358/515/139 361/518/139 362/519/139 359/516/139 +f 361/518/140 363/520/140 364/521/140 362/519/140 +f 363/522/140 365/523/140 366/524/140 364/525/140 +f 365/523/139 367/526/139 368/527/139 366/524/139 +f 367/526/140 369/528/140 370/529/140 368/527/140 +f 369/528/140 371/530/140 372/531/140 370/529/140 +f 371/530/140 357/514/140 360/517/140 372/531/140 +f 373/532/141 374/533/141 375/534/141 376/535/141 +f 377/536/142 378/537/142 376/535/142 375/534/142 +f 379/538/143 377/539/143 375/534/143 374/533/143 +f 380/540/144 379/541/144 374/533/144 373/532/144 +f 378/542/145 380/543/145 373/532/145 376/535/145 +f 381/544/132 382/545/132 383/546/132 384/547/132 +f 385/548/132 386/549/132 387/550/132 388/551/132 389/552/132 390/553/132 391/554/132 392/555/132 +f 393/556/132 381/544/132 384/557/132 394/558/132 +f 395/559/132 393/556/132 394/560/132 396/561/132 +f 397/562/132 395/559/132 396/563/132 398/564/132 +f 399/565/132 397/566/132 398/567/132 400/568/132 +f 401/569/132 399/565/132 400/570/132 402/571/132 +f 403/572/132 401/569/132 402/573/132 404/574/132 +f 382/545/132 403/572/132 404/575/132 383/576/132 +f 405/577/132 406/578/132 407/579/132 408/580/132 +f 409/581/132 410/582/132 406/583/132 405/584/132 +f 411/585/132 412/586/132 410/587/132 409/588/132 +f 413/589/132 414/590/132 412/591/132 411/592/132 +f 415/593/132 416/594/132 414/595/132 413/596/132 +f 417/597/132 418/598/132 416/599/132 415/600/132 +f 419/601/132 420/602/132 418/603/132 417/604/132 +f 408/605/132 407/606/132 420/607/132 419/608/132 +f 421/609/132 422/610/132 423/611/132 424/612/132 425/613/132 426/614/132 427/615/132 428/616/132 429/617/132 430/618/132 431/619/132 432/620/132 433/621/132 434/622/132 435/623/132 436/624/132 +f 242/625/136 437/626/136 438/627/136 439/628/136 233/629/136 +f 241/630/136 440/631/136 441/632/136 437/626/136 242/625/136 +f 229/633/136 442/634/136 443/635/136 440/631/136 241/630/136 +f 228/636/136 444/637/136 445/638/136 442/634/136 229/633/136 +f 237/639/136 446/640/136 447/641/136 444/637/136 228/636/136 +f 236/642/136 448/643/136 449/644/136 446/640/136 237/639/136 +f 234/645/136 450/646/136 451/647/136 448/643/136 236/642/136 +f 233/629/136 439/628/136 452/648/136 450/646/136 234/645/136 +f 453/649/132 454/650/132 455/651/132 456/652/132 457/653/132 +f 271/654/132 453/649/132 457/653/132 458/655/132 459/656/132 +f 268/657/132 271/654/132 459/656/132 460/658/132 461/659/132 +f 269/660/132 268/657/132 461/659/132 462/661/132 463/662/132 +f 274/663/132 269/660/132 463/662/132 464/664/132 465/665/132 +f 263/666/132 274/663/132 465/665/132 466/667/132 467/668/132 +f 259/669/132 263/666/132 467/668/132 468/670/132 469/671/132 +f 454/650/132 259/669/132 469/671/132 470/672/132 455/651/132 +f 471/673/126 472/674/126 473/675/126 474/676/126 475/677/126 476/678/126 477/679/126 478/680/126 +f 302/415/132 304/417/132 479/681/132 480/682/132 +f 304/417/124 303/416/124 481/683/124 479/684/124 +f 303/416/136 299/412/136 482/685/136 481/686/136 +f 299/412/125 302/415/125 480/687/125 482/688/125 +f 483/689/127 484/690/127 485/691/127 486/692/127 487/693/127 488/694/127 489/695/127 490/696/127 +f 472/697/146 490/698/146 489/699/146 473/700/146 +f 474/701/147 488/702/147 487/703/147 475/704/147 +f 478/705/148 484/706/148 483/707/148 471/708/148 +f 473/700/149 489/699/149 488/702/149 474/701/149 +f 475/704/150 487/703/150 486/709/150 476/710/150 +f 477/711/151 485/712/151 484/706/151 478/705/151 +f 471/708/152 483/707/152 490/698/152 472/697/152 +f 491/713/132 492/714/132 493/715/132 494/716/132 +f 495/717/136 496/718/136 497/719/136 498/720/136 +f 493/715/129 492/721/129 498/722/129 497/719/129 +f 491/723/131 494/716/131 496/718/131 495/724/131 +f 494/716/128 493/715/128 497/719/128 496/718/128 +f 492/721/130 491/725/130 495/726/130 498/722/130 +f 499/727/132 500/728/132 501/729/132 502/730/132 +f 503/731/136 504/732/136 505/733/136 506/734/136 +f 501/729/131 500/735/131 506/736/131 505/733/131 +f 499/737/129 502/730/129 504/732/129 503/738/129 +f 502/730/130 501/729/130 505/733/130 504/732/130 +f 500/739/128 499/737/128 503/738/128 506/740/128 +f 507/741/132 508/742/132 509/743/132 510/744/132 +f 511/745/136 512/746/136 513/747/136 514/748/136 +f 509/743/130 508/749/130 514/750/130 513/747/130 +f 507/751/128 510/744/128 512/746/128 511/752/128 +f 510/744/129 509/743/129 513/747/129 512/746/129 +f 508/749/131 507/753/131 511/754/131 514/750/131 +f 515/755/132 516/756/132 517/757/132 518/758/132 +f 519/759/136 520/760/136 521/761/136 522/762/136 +f 517/757/128 516/763/128 522/764/128 521/761/128 +f 515/765/130 518/758/130 520/760/130 519/766/130 +f 518/758/131 517/757/131 521/761/131 520/760/131 +f 516/767/129 515/765/129 519/766/129 522/768/129 +f 523/769/132 524/770/132 525/771/132 526/772/132 +f 527/773/153 528/774/153 529/775/153 530/776/153 +f 525/771/129 524/777/129 530/778/129 529/779/129 +f 523/780/131 526/772/131 528/774/131 527/773/131 +f 526/772/128 525/771/128 529/779/128 528/774/128 +f 524/777/130 523/781/130 527/782/130 530/778/130 +f 328/783/129 332/784/129 531/785/129 532/786/129 +f 331/787/130 279/788/130 533/789/130 534/790/130 +f 332/791/124 331/792/124 534/793/124 531/794/124 +f 531/795/138 534/796/138 533/789/138 532/786/138 +f 535/797/127 536/798/127 537/799/127 538/800/127 +f 539/801/126 540/802/126 541/803/126 542/804/126 +f 538/800/154 537/799/154 540/802/154 539/801/154 543/805/154 544/806/154 +f 544/806/155 543/805/155 545/807/155 546/808/155 +f 539/809/156 542/810/156 545/807/156 543/805/156 +f 535/811/157 538/812/157 544/806/157 546/808/157 +f 265/390/124 277/389/124 276/813/124 1051/814/124 +f 547/815/158 548/816/158 549/817/158 550/818/158 +f 551/819/127 552/820/127 553/821/127 549/822/127 548/823/127 554/824/127 +f 550/818/148 549/817/148 553/825/148 555/826/148 +f 555/826/159 553/825/159 552/827/159 556/828/159 +f 556/829/126 557/830/126 558/831/126 547/832/126 550/833/126 555/834/126 +f 559/835/124 560/836/124 561/837/124 562/838/124 +f 561/837/127 560/836/127 563/839/127 564/840/127 +f 559/835/126 562/838/126 565/841/126 566/842/126 +f 567/843/136 568/844/136 569/845/136 570/846/136 +f 571/847/127 572/848/127 570/846/127 569/845/127 +f 573/849/126 574/850/126 568/844/126 567/843/126 +f 574/851/125 571/852/125 569/845/125 568/844/125 +f 572/853/124 573/854/124 567/843/124 570/846/124 +f 575/855/136 576/856/136 577/857/136 578/858/136 +f 579/859/124 580/860/124 578/858/124 577/857/124 +f 581/861/125 582/862/125 576/856/125 575/855/125 +f 582/863/127 579/864/127 577/857/127 576/856/127 +f 580/865/126 581/866/126 575/855/126 578/858/126 +f 583/867/124 584/868/124 585/869/124 586/870/124 +f 587/871/160 588/872/160 589/873/160 590/874/160 +f 591/875/161 592/876/161 593/877/161 594/878/161 +f 586/870/162 585/869/162 592/876/162 591/875/162 +f 590/874/163 589/873/163 584/879/163 583/880/163 +f 594/878/125 593/877/125 588/872/125 587/871/125 +f 594/881/127 587/882/127 590/883/127 583/884/127 586/885/127 591/886/127 +f 595/887/125 596/888/125 597/889/125 598/890/125 +f 599/891/124 600/892/124 601/893/124 602/894/124 +f 596/895/160 603/896/160 604/897/160 597/898/160 +f 605/899/161 595/900/161 598/901/161 606/902/161 +f 600/903/162 605/904/162 606/905/162 601/906/162 +f 603/907/163 599/908/163 602/909/163 604/910/163 +f 602/894/126 601/893/126 607/911/126 608/912/126 +f 597/898/126 604/897/126 609/913/126 610/914/126 +f 606/902/126 598/901/126 611/915/126 612/916/126 +f 601/906/126 606/905/126 612/916/126 607/911/126 +f 604/910/126 602/909/126 608/917/126 609/913/126 +f 598/890/126 597/889/126 610/914/126 611/915/126 +f 607/911/162 612/916/162 613/918/162 614/919/162 +f 609/913/163 608/917/163 615/920/163 616/921/163 +f 611/915/125 610/914/125 617/922/125 618/923/125 +f 608/912/124 607/911/124 614/919/124 615/924/124 +f 610/914/160 609/913/160 616/921/160 617/922/160 +f 612/916/161 611/915/161 618/923/161 613/918/161 +f 617/922/127 616/921/127 619/925/127 620/926/127 +f 618/923/127 617/922/127 620/927/127 621/928/127 +f 613/918/127 618/923/127 621/929/127 622/930/127 +f 614/919/127 613/918/127 622/931/127 623/932/127 +f 615/924/127 614/919/127 623/933/127 624/934/127 +f 616/921/127 615/920/127 624/935/127 619/936/127 +f 619/936/163 624/935/163 625/937/163 626/938/163 +f 621/928/125 620/927/125 627/939/125 628/940/125 +f 624/934/124 623/933/124 629/941/124 625/942/124 +f 620/926/160 619/925/160 626/943/160 627/944/160 +f 622/930/161 621/929/161 628/945/161 630/946/161 +f 623/932/162 622/931/162 630/947/162 629/948/162 +f 627/944/126 626/943/126 631/949/126 632/950/126 +f 628/940/126 627/939/126 632/950/126 633/951/126 +f 630/946/126 628/945/126 633/951/126 634/952/126 +f 629/948/126 630/947/126 634/952/126 635/953/126 +f 625/942/126 629/941/126 635/953/126 636/954/126 +f 626/938/126 625/937/126 636/955/126 631/949/126 +f 633/951/125 632/950/125 637/956/125 638/957/125 +f 636/954/124 635/953/124 639/958/124 640/959/124 +f 632/950/160 631/949/160 641/960/160 637/956/160 +f 634/952/161 633/951/161 638/957/161 642/961/161 +f 635/953/162 634/952/162 642/961/162 639/958/162 +f 631/949/163 636/955/163 640/962/163 641/960/163 +f 642/961/164 638/957/164 643/963/164 644/964/164 +f 639/958/165 642/961/165 644/965/165 645/966/165 +f 641/960/166 640/962/166 646/967/166 647/968/166 +f 638/957/167 637/956/167 648/969/167 643/970/167 +f 640/959/168 639/958/168 645/971/168 646/972/168 +f 637/956/169 641/960/169 647/973/169 648/974/169 +f 643/975/127 648/976/127 647/977/127 646/978/127 645/979/127 644/980/127 +f 649/981/125 650/982/125 651/983/125 652/984/125 +f 653/985/126 654/986/126 655/987/126 656/988/126 657/989/126 +f 652/984/136 651/983/136 658/990/136 659/991/136 +f 651/983/127 650/982/127 660/992/127 658/993/127 +f 649/981/126 652/984/126 659/994/126 661/995/126 +f 662/996/170 663/997/170 664/998/170 665/999/170 +f 666/1000/126 662/1001/126 665/1002/126 667/1003/126 +f 668/1004/134 666/1000/134 667/1003/134 669/1005/134 +f 663/997/127 668/1004/127 669/1005/127 664/998/127 +f 654/986/171 653/985/171 670/1006/171 671/1007/171 +f 657/1008/136 656/1009/136 672/1010/136 673/1011/136 +f 671/1007/127 670/1006/127 673/1012/127 672/1010/127 674/1013/127 +f 654/986/170 671/1007/170 674/1014/170 655/1015/170 +f 655/1016/172 674/1013/172 672/1010/172 656/1009/172 +f 670/1006/134 653/985/134 657/1017/134 673/1018/134 +f 675/1019/170 676/1020/170 677/1021/170 678/1022/170 +f 679/1023/127 680/1024/127 677/1025/127 676/1026/127 +f 681/1027/126 682/1028/126 675/1019/126 678/1022/126 +f 680/1024/172 681/1027/172 678/1022/172 677/1025/172 +f 682/1029/171 679/1023/171 676/1026/171 675/1030/171 +f 684/1031/126 692/1032/126 693/1033/126 694/1034/126 +f 695/1035/173 696/1036/173 685/1037/173 697/1038/173 +f 692/1039/174 701/1040/174 702/1041/174 693/1033/174 +f 453/1042/125 330/481/125 329/480/125 454/1043/125 +f 715/1044/131 716/1045/131 717/1046/131 718/1047/131 +f 259/365/131 454/1043/131 719/1048/131 720/1049/131 +f 329/480/131 260/366/131 721/1050/131 722/1051/131 +f 259/365/131 720/1049/131 716/1045/131 715/1044/131 721/1050/131 260/366/131 +f 454/1043/131 329/480/131 722/1051/131 718/1047/131 717/1046/131 719/1048/131 +f 271/378/128 723/1052/128 724/1053/128 453/1042/128 +f 270/1054/128 725/1055/128 723/1052/128 271/378/128 +f 270/1054/128 330/481/128 726/1056/128 725/1055/128 +f 453/1042/128 724/1053/128 726/1056/128 330/481/128 +f 725/1057/175 726/1058/175 727/1059/175 728/1060/175 +f 721/1061/128 715/1062/128 729/1063/128 730/1064/128 +f 716/1065/176 731/1066/176 732/1067/176 717/1068/176 +f 733/1069/131 730/1064/131 729/1063/131 734/1070/131 +f 719/1071/136 735/1072/136 736/1073/136 720/1074/136 +f 737/1075/128 728/1076/128 727/1059/128 738/1077/128 +f 715/1078/177 718/1079/177 734/1070/177 729/1080/177 +f 720/1081/128 736/1073/128 731/1082/128 716/1083/128 +f 722/1084/178 721/1085/178 730/1086/178 733/1069/178 +f 718/1079/130 722/1084/130 733/1069/130 734/1070/130 +f 738/1077/129 727/1059/129 726/1058/129 724/1087/129 +f 728/1076/131 737/1075/131 723/1088/131 725/1089/131 +f 739/1090/126 740/1091/126 741/1092/126 742/1093/126 +f 740/1094/179 743/1095/179 744/1096/179 741/1097/179 +f 745/1098/127 746/1099/127 747/1100/127 748/1101/127 +f 749/1102/180 739/1090/180 742/1093/180 750/1103/180 +f 748/1101/127 747/1100/127 751/1104/127 752/1105/127 +f 741/1097/181 744/1096/181 753/1106/181 754/1107/181 +f 749/1108/127 743/1109/127 755/1110/127 +f 755/1110/172 756/1111/172 739/1090/172 749/1102/172 +f 756/1111/126 740/1112/126 739/1113/126 +f 746/1114/127 745/1115/127 757/1116/127 +f 757/1116/172 758/1117/172 759/1118/172 746/1099/172 +f 758/1117/126 760/1119/126 759/1120/126 +f 761/1121/136 762/1122/136 756/1111/136 755/1110/136 +f 763/1123/132 764/1124/132 743/1109/132 740/1125/132 +f 765/1126/127 766/1127/127 757/1116/127 745/1115/127 +f 767/1128/126 768/1129/126 760/1119/126 758/1117/126 +f 762/1122/126 763/1130/126 740/1112/126 756/1111/126 +f 766/1127/136 767/1128/136 758/1117/136 757/1116/136 +f 768/1131/132 765/1126/132 745/1115/132 760/1132/132 +f 764/1124/127 761/1121/127 755/1110/127 743/1109/127 +f 760/1133/179 745/1098/179 748/1101/179 769/1134/179 +f 743/1095/127 749/1102/127 750/1103/127 744/1096/127 +f 770/1135/125 771/1136/125 772/1137/125 773/1138/125 +f 732/1067/131 731/1082/131 736/1073/131 735/1072/131 +f 717/1068/130 732/1067/130 735/1072/130 719/1139/130 +f 737/1075/136 738/1077/136 724/1140/136 723/1141/136 +f 747/1100/182 774/1142/182 775/1143/182 751/1104/182 +f 774/1142/126 769/1144/126 776/1145/126 775/1143/126 +f 742/1093/126 741/1092/126 754/1146/126 777/1147/126 +f 769/1134/181 748/1101/181 752/1105/181 776/1148/181 +f 744/1096/127 750/1103/127 778/1149/127 753/1106/127 +f 750/1103/182 742/1093/182 777/1147/182 778/1149/182 +f 759/1118/126 760/1150/126 769/1144/126 774/1142/126 +f 746/1099/180 759/1118/180 774/1142/180 747/1100/180 +f 779/1151/162 780/1152/162 781/1153/162 782/1154/162 +f 771/1136/132 783/1155/132 784/1156/132 772/1137/132 +f 782/1154/124 781/1153/124 785/1157/124 786/1158/124 +f 783/1155/124 787/1159/124 788/1160/124 784/1156/124 +f 786/1161/163 785/1162/163 789/1163/163 790/1164/163 +f 787/1159/136 770/1165/136 773/1166/136 788/1160/136 +f 790/1164/160 789/1163/160 791/1167/160 792/1168/160 +f 781/1169/127 780/1170/127 793/1171/127 791/1172/127 789/1173/127 785/1174/127 +f 792/1168/125 791/1167/125 793/1175/125 794/1176/125 +f 794/1176/161 793/1175/161 780/1152/161 779/1151/161 +f 779/1177/126 782/1178/126 786/1179/126 790/1180/126 792/1181/126 794/1182/126 +f 784/1156/129 788/1160/129 795/1183/129 796/1184/129 +f 784/1185/132 796/1184/132 772/1186/132 +f 773/1187/136 795/1183/136 788/1188/136 +f 795/1183/136 773/1187/136 797/1189/136 798/1190/136 +f 798/1191/124 797/1192/124 799/1193/124 800/1194/124 +f 796/1184/127 795/1183/127 798/1190/127 801/1195/127 +f 772/1186/132 796/1184/132 801/1195/132 802/1196/132 +f 773/1197/126 772/1186/126 802/1196/126 797/1198/126 +f 798/1191/127 803/1199/127 801/1200/127 +f 802/1201/126 804/1202/126 797/1203/126 +f 801/1195/170 803/1199/170 804/1202/170 802/1196/170 +f 805/1204/180 806/1205/180 807/1206/180 808/1207/180 +f 803/1199/127 798/1191/127 800/1194/127 806/1205/127 +f 804/1202/125 803/1199/125 806/1205/125 805/1204/125 +f 797/1203/126 804/1202/126 805/1204/126 799/1208/126 +f 809/1209/127 810/1210/127 807/1211/127 +f 799/1208/126 805/1204/126 808/1207/126 811/1212/126 +f 800/1194/179 799/1193/179 811/1213/179 809/1214/179 +f 806/1205/127 800/1194/127 809/1214/127 807/1206/127 +f 807/1206/172 810/1210/172 812/1215/172 808/1207/172 +f 811/1216/126 812/1215/126 813/1217/126 814/1218/126 +f 811/1216/126 808/1219/126 812/1215/126 +f 815/1220/132 814/1221/132 816/1222/132 817/1223/132 +f 809/1209/132 811/1224/132 814/1225/132 818/1226/132 +f 810/1210/127 809/1209/127 818/1226/127 819/1227/127 +f 812/1215/136 810/1210/136 819/1227/136 813/1217/136 +f 819/1228/136 820/1229/136 813/1230/136 +f 818/1226/129 815/1220/129 820/1229/129 819/1227/129 +f 814/1221/132 815/1220/132 818/1231/132 +f 814/1232/125 813/1230/125 821/1233/125 816/1234/125 +f 813/1230/136 820/1229/136 822/1235/136 821/1233/136 +f 820/1229/124 815/1220/124 817/1223/124 822/1235/124 +f 660/1236/124 661/1237/124 659/1238/124 658/1239/124 +f 1052/1240/183 1053/1241/183 1054/1242/183 1055/1243/183 +f 1056/1244/183 1057/1245/183 1058/1246/183 1059/1247/183 +f 1060/1248/183 1061/1249/183 1062/1250/183 1063/1251/183 +f 1061/1249/183 1064/1252/183 1065/1253/183 1062/1250/183 +f 1066/1254/183 1052/1240/183 1055/1243/183 1067/1255/183 +f 1053/1241/183 1056/1244/183 1059/1247/183 1054/1242/183 +f 1057/1245/183 1060/1248/183 1063/1251/183 1058/1246/183 +f 1064/1252/183 1066/1256/183 1067/1257/183 1065/1253/183 +f 1068/1258/183 1069/1259/183 1070/1260/183 1071/1261/183 1072/1262/183 1073/1263/183 1074/1264/183 1075/1265/183 +f 1076/1266/183 1077/1267/183 1078/1268/183 1079/1269/183 +f 1077/1267/183 1080/1270/183 1081/1271/183 1078/1268/183 +f 1080/1270/184 1082/1272/184 1083/1273/184 1081/1271/184 +f 1082/1274/184 1084/1275/184 1085/1276/184 1083/1277/184 +f 1084/1275/183 1086/1278/183 1087/1279/183 1085/1276/183 +f 1086/1278/184 1088/1280/184 1089/1281/184 1087/1279/184 +f 1088/1280/184 1090/1282/184 1091/1283/184 1089/1281/184 +f 1090/1282/184 1076/1266/184 1079/1269/184 1091/1283/184 +f 1140/1284/185 1141/1285/185 1142/1286/185 1143/1287/185 +f 1144/1288/185 1145/1289/185 1146/1290/185 1147/1291/185 +f 1148/1292/185 1149/1293/185 1150/1294/185 1151/1295/185 +f 1149/1293/185 1152/1296/185 1153/1297/185 1150/1294/185 +f 1154/1298/185 1140/1284/185 1143/1287/185 1155/1299/185 +f 1141/1285/185 1144/1288/185 1147/1291/185 1142/1286/185 +f 1145/1289/185 1148/1292/185 1151/1295/185 1146/1290/185 +f 1152/1296/185 1154/1300/185 1155/1301/185 1153/1297/185 +f 1156/1302/185 1157/1303/185 1158/1304/185 1159/1305/185 1160/1306/185 1161/1307/185 1162/1308/185 1163/1309/185 +f 1164/1310/185 1165/1311/185 1166/1312/185 1167/1313/185 +f 1165/1311/185 1168/1314/185 1169/1315/185 1166/1312/185 +f 1168/1314/186 1170/1316/186 1171/1317/186 1169/1315/186 +f 1170/1318/186 1172/1319/186 1173/1320/186 1171/1321/186 +f 1172/1319/185 1174/1322/185 1175/1323/185 1173/1320/185 +f 1174/1322/185 1176/1324/185 1177/1325/185 1175/1323/185 +f 1176/1324/186 1178/1326/186 1179/1327/186 1177/1325/186 +f 1178/1326/185 1164/1310/185 1167/1313/185 1179/1327/185 +f 1228/1328/187 1229/1329/187 1230/1330/187 1231/1331/187 +f 1232/1332/187 1233/1333/187 1234/1334/187 1235/1335/187 +f 1236/1336/187 1237/1337/187 1238/1338/187 1239/1339/187 +f 1237/1337/187 1240/1340/187 1241/1341/187 1238/1338/187 +f 1242/1342/187 1228/1328/187 1231/1331/187 1243/1343/187 +f 1229/1329/187 1232/1332/187 1235/1335/187 1230/1330/187 +f 1233/1333/187 1236/1336/187 1239/1339/187 1234/1334/187 +f 1240/1340/187 1242/1344/187 1243/1345/187 1241/1341/187 +f 1244/1346/187 1245/1347/187 1246/1348/187 1247/1349/187 1248/1350/187 1249/1351/187 1250/1352/187 1251/1353/187 +f 1252/1354/187 1253/1355/187 1254/1356/187 1255/1357/187 +f 1253/1355/187 1256/1358/187 1257/1359/187 1254/1356/187 +f 1256/1358/188 1258/1360/188 1259/1361/188 1257/1359/188 +f 1258/1362/188 1260/1363/188 1261/1364/188 1259/1365/188 +f 1260/1363/188 1262/1366/188 1263/1367/188 1261/1364/188 +f 1262/1366/188 1264/1368/188 1265/1369/188 1263/1367/188 +f 1264/1368/188 1266/1370/188 1267/1371/188 1265/1369/188 +f 1266/1370/187 1252/1354/187 1255/1357/187 1267/1371/187 +f 1316/1372/189 1317/1373/189 1318/1374/189 1319/1375/189 +f 1320/1376/189 1321/1377/189 1322/1378/189 1323/1379/189 +f 1324/1380/190 1325/1381/190 1326/1382/190 1327/1383/190 +f 1325/1381/189 1328/1384/189 1329/1385/189 1326/1382/189 +f 1330/1386/189 1316/1372/189 1319/1375/189 1331/1387/189 +f 1317/1373/189 1320/1376/189 1323/1379/189 1318/1374/189 +f 1321/1377/189 1324/1380/189 1327/1383/189 1322/1378/189 +f 1328/1384/189 1330/1388/189 1331/1389/189 1329/1385/189 +f 1332/1390/189 1333/1391/189 1334/1392/189 1335/1393/189 1336/1394/189 1337/1395/189 1338/1396/189 1339/1397/189 +f 1340/1398/190 1341/1399/190 1342/1400/190 1343/1401/190 +f 1341/1399/190 1344/1402/190 1345/1403/190 1342/1400/190 +f 1344/1402/190 1346/1404/190 1347/1405/190 1345/1403/190 +f 1346/1406/190 1348/1407/190 1349/1408/190 1347/1409/190 +f 1348/1407/189 1350/1410/189 1351/1411/189 1349/1408/189 +f 1350/1410/190 1352/1412/190 1353/1413/190 1351/1411/190 +f 1352/1412/190 1354/1414/190 1355/1415/190 1353/1413/190 +f 1354/1414/189 1340/1398/189 1343/1401/189 1355/1415/189 +f 1404/1416/191 1405/1417/191 1406/1418/191 1407/1419/191 +f 1408/1420/191 1409/1421/191 1410/1422/191 1411/1423/191 +f 1412/1424/192 1413/1425/192 1414/1426/192 1415/1427/192 +f 1413/1425/191 1416/1428/191 1417/1429/191 1414/1426/191 +f 1418/1430/191 1404/1416/191 1407/1419/191 1419/1431/191 +f 1405/1417/191 1408/1420/191 1411/1423/191 1406/1418/191 +f 1409/1421/191 1412/1424/191 1415/1427/191 1410/1422/191 +f 1416/1428/191 1418/1432/191 1419/1433/191 1417/1429/191 +f 1420/1434/191 1421/1435/191 1422/1436/191 1423/1437/191 1424/1438/191 1425/1439/191 1426/1440/191 1427/1441/191 +f 1428/1442/192 1429/1443/192 1430/1444/192 1431/1445/192 +f 1429/1443/192 1432/1446/192 1433/1447/192 1430/1444/192 +f 1432/1446/192 1434/1448/192 1435/1449/192 1433/1447/192 +f 1434/1450/192 1436/1451/192 1437/1452/192 1435/1453/192 +f 1436/1451/191 1438/1454/191 1439/1455/191 1437/1452/191 +f 1438/1454/192 1440/1456/192 1441/1457/192 1439/1455/192 +f 1440/1456/192 1442/1458/192 1443/1459/192 1441/1457/192 +f 1442/1458/191 1428/1442/191 1431/1445/191 1443/1459/191 +f 1492/1460/193 1493/1461/193 1494/1462/193 1495/1463/193 +f 1496/1464/193 1497/1465/193 1498/1466/193 1499/1467/193 +f 1500/1468/194 1501/1469/194 1502/1470/194 1503/1471/194 +f 1501/1469/193 1504/1472/193 1505/1473/193 1502/1470/193 +f 1506/1474/193 1492/1460/193 1495/1463/193 1507/1475/193 +f 1493/1461/193 1496/1464/193 1499/1467/193 1494/1462/193 +f 1497/1465/193 1500/1468/193 1503/1471/193 1498/1466/193 +f 1504/1472/193 1506/1476/193 1507/1477/193 1505/1473/193 +f 1508/1478/193 1509/1479/193 1510/1480/193 1511/1481/193 1512/1482/193 1513/1483/193 1514/1484/193 1515/1485/193 +f 1516/1486/194 1517/1487/194 1518/1488/194 1519/1489/194 +f 1517/1487/194 1520/1490/194 1521/1491/194 1518/1488/194 +f 1520/1490/194 1522/1492/194 1523/1493/194 1521/1491/194 +f 1522/1494/194 1524/1495/194 1525/1496/194 1523/1497/194 +f 1524/1495/193 1526/1498/193 1527/1499/193 1525/1496/193 +f 1526/1498/194 1528/1500/194 1529/1501/194 1527/1499/194 +f 1528/1500/194 1530/1502/194 1531/1503/194 1529/1501/194 +f 1530/1502/194 1516/1486/194 1519/1489/194 1531/1503/194 +f 1580/1504/195 1581/1505/195 1582/1506/195 1583/1507/195 +f 1584/1508/195 1585/1509/195 1586/1510/195 1587/1511/195 +f 1588/1512/195 1589/1513/195 1590/1514/195 1591/1515/195 +f 1589/1513/195 1592/1516/195 1593/1517/195 1590/1514/195 +f 1594/1518/195 1580/1504/195 1583/1507/195 1595/1519/195 +f 1581/1505/195 1584/1508/195 1587/1511/195 1582/1506/195 +f 1585/1509/195 1588/1512/195 1591/1515/195 1586/1510/195 +f 1592/1516/195 1594/1520/195 1595/1521/195 1593/1517/195 +f 1596/1522/195 1597/1523/195 1598/1524/195 1599/1525/195 1600/1526/195 1601/1527/195 1602/1528/195 1603/1529/195 +f 1604/1530/196 1605/1531/196 1606/1532/196 1607/1533/196 +f 1605/1531/196 1608/1534/196 1609/1535/196 1606/1532/196 +f 1608/1534/196 1610/1536/196 1611/1537/196 1609/1535/196 +f 1610/1538/196 1612/1539/196 1613/1540/196 1611/1541/196 +f 1612/1539/195 1614/1542/195 1615/1543/195 1613/1540/195 +f 1614/1542/196 1616/1544/196 1617/1545/196 1615/1543/196 +f 1616/1544/196 1618/1546/196 1619/1547/196 1617/1545/196 +f 1618/1546/195 1604/1530/195 1607/1533/195 1619/1547/195 +f 1668/1548/197 1669/1549/197 1670/1550/197 1671/1551/197 +f 1672/1552/198 1673/1553/198 1671/1551/198 1670/1550/198 +f 1674/1554/199 1672/1555/199 1670/1550/199 1669/1549/199 +f 1675/1556/200 1674/1557/200 1669/1549/200 1668/1548/200 +f 1673/1558/201 1675/1559/201 1668/1548/201 1671/1551/201 +f 1676/1560/202 1677/1561/202 1678/1562/202 1679/1563/202 +f 1680/1564/203 1681/1565/203 1679/1563/203 1678/1562/203 +f 1682/1566/204 1680/1567/204 1678/1562/204 1677/1561/204 +f 1683/1568/205 1682/1569/205 1677/1561/205 1676/1560/205 +f 1681/1570/206 1683/1571/206 1676/1560/206 1679/1563/206 +f 1684/1572/207 1685/1573/207 1686/1574/207 1687/1575/207 +f 1688/1576/208 1689/1577/208 1687/1575/208 1686/1574/208 +f 1690/1578/209 1688/1579/209 1686/1574/209 1685/1573/209 +f 1691/1580/210 1690/1581/210 1685/1573/210 1684/1572/210 +f 1689/1582/211 1691/1583/211 1684/1572/211 1687/1575/211 +f 1692/1584/212 1693/1585/212 1694/1586/212 1695/1587/212 +f 1696/1588/213 1697/1589/213 1695/1587/213 1694/1586/213 +f 1698/1590/214 1696/1591/214 1694/1586/214 1693/1585/214 +f 1699/1592/215 1698/1593/215 1693/1585/215 1692/1584/215 +f 1697/1594/216 1699/1595/216 1692/1584/216 1695/1587/216 +f 1700/1596/217 1701/1597/217 1702/1598/217 1703/1599/217 +f 1704/1600/218 1705/1601/218 1703/1599/218 1702/1598/218 +f 1706/1602/219 1704/1603/219 1702/1598/219 1701/1597/219 +f 1707/1604/220 1706/1605/220 1701/1597/220 1700/1596/220 +f 1705/1606/221 1707/1607/221 1700/1596/221 1703/1599/221 +f 1708/1608/222 1709/1609/222 1710/1610/222 1711/1611/222 +f 1712/1612/223 1713/1613/223 1711/1611/223 1710/1610/223 +f 1714/1614/224 1712/1615/224 1710/1610/224 1709/1609/224 +f 1715/1616/225 1714/1617/225 1709/1609/225 1708/1608/225 +f 1713/1618/226 1715/1619/226 1708/1608/226 1711/1611/226 +f 1716/1620/227 1717/1621/227 1718/1622/227 1719/1623/227 +f 1720/1624/228 1721/1625/228 1719/1623/228 1718/1622/228 +f 1722/1626/229 1720/1627/229 1718/1622/229 1717/1621/229 +f 1723/1628/230 1722/1629/230 1717/1621/230 1716/1620/230 +f 1721/1630/231 1723/1631/231 1716/1620/231 1719/1623/231 +f 1724/1632/232 1725/1633/232 1726/1634/232 1727/1635/232 +f 1728/1636/233 1729/1637/233 1727/1635/233 1726/1634/233 +f 1730/1638/234 1728/1639/234 1726/1634/234 1725/1633/234 +f 1731/1640/235 1730/1641/235 1725/1633/235 1724/1632/235 +f 1729/1642/236 1731/1643/236 1724/1632/236 1727/1635/236 +f 1732/1644/237 1733/1645/237 1734/1646/237 1735/1647/237 +f 1736/1648/238 1737/1649/238 1735/1647/238 1734/1646/238 +f 1738/1650/239 1736/1651/239 1734/1646/239 1733/1645/239 +f 1739/1652/240 1738/1653/240 1733/1645/240 1732/1644/240 +f 1737/1654/241 1739/1655/241 1732/1644/241 1735/1647/241 +f 1740/1656/242 1741/1657/242 1742/1658/242 1743/1659/242 +f 1744/1660/243 1745/1661/243 1743/1659/243 1742/1658/243 +f 1746/1662/244 1744/1663/244 1742/1658/244 1741/1657/244 +f 1747/1664/245 1746/1665/245 1741/1657/245 1740/1656/245 +f 1745/1666/246 1747/1667/246 1740/1656/246 1743/1659/246 +f 1748/1668/247 1749/1669/247 1750/1670/247 1751/1671/247 +f 1752/1672/248 1753/1673/248 1751/1671/248 1750/1670/248 +f 1754/1674/249 1752/1675/249 1750/1670/249 1749/1669/249 +f 1755/1676/250 1754/1677/250 1749/1669/250 1748/1668/250 +f 1753/1678/251 1755/1679/251 1748/1668/251 1751/1671/251 +f 1756/1680/252 1757/1681/252 1758/1682/252 1759/1683/252 +f 1760/1684/253 1761/1685/253 1759/1683/253 1758/1682/253 +f 1762/1686/254 1760/1687/254 1758/1682/254 1757/1681/254 +f 1763/1688/255 1762/1689/255 1757/1681/255 1756/1680/255 +f 1761/1690/256 1763/1691/256 1756/1680/256 1759/1683/256 +f 1764/1692/257 1765/1693/257 1766/1694/257 1767/1695/257 +f 1768/1696/258 1769/1697/258 1767/1695/258 1766/1694/258 +f 1770/1698/259 1768/1699/259 1766/1694/259 1765/1693/259 +f 1771/1700/260 1770/1701/260 1765/1693/260 1764/1692/260 +f 1769/1702/261 1771/1703/261 1764/1692/261 1767/1695/261 +f 1772/1704/262 1773/1705/262 1774/1706/262 1775/1707/262 +f 1776/1708/263 1777/1709/263 1775/1707/263 1774/1706/263 +f 1778/1710/264 1776/1711/264 1774/1706/264 1773/1705/264 +f 1779/1712/265 1778/1713/265 1773/1705/265 1772/1704/265 +f 1777/1714/266 1779/1715/266 1772/1704/266 1775/1707/266 +f 1780/1716/267 1781/1717/267 1782/1718/267 1783/1719/267 +f 1784/1720/268 1785/1721/268 1783/1719/268 1782/1718/268 +f 1786/1722/269 1784/1723/269 1782/1718/269 1781/1717/269 +f 1787/1724/270 1786/1725/270 1781/1717/270 1780/1716/270 +f 1785/1726/271 1787/1727/271 1780/1716/271 1783/1719/271 s 1 -f 23//64 22//65 608//65 609//64 -f 20//66 23//64 609//64 610//66 -f 21//67 20//66 610//66 611//67 -f 17//68 21//67 611//67 612//68 -f 18//69 17//68 612//68 613//69 -f 19//70 18//69 613//69 614//70 -f 32//71 19//70 614//70 615//71 -f 30//72 32//71 615//71 616//72 -f 31//73 30//72 616//72 617//73 -f 28//74 31//73 617//73 618//74 -f 29//75 28//74 618//74 619//75 -f 26//76 29//75 619//75 620//76 -f 27//77 26//76 620//76 621//77 -f 24//78 27//77 621//77 622//78 -f 25//79 24//78 622//78 623//79 -f 22//65 25//79 623//79 608//65 -f 609//1 608//80 624//80 625//1 -f 610//81 609//1 625//1 626//81 -f 617//2 616//82 627//82 628//2 -f 608//80 623//6 629//6 624//80 -f 616//82 615//8 630//8 627//82 -f 623//6 622//83 631//83 629//6 -f 615//8 614//84 632//84 630//8 -f 622//83 621//4 633//4 631//83 -f 614//84 613//3 634//3 632//84 -f 621//4 620//85 635//85 633//4 -f 613//3 612//86 636//86 634//3 -f 620//85 619//5 637//5 635//85 -f 612//86 611//7 638//7 636//86 -f 619//5 618//87 639//87 637//5 -f 611//7 610//81 626//81 638//7 -f 618//87 617//2 628//2 639//87 -f 640//88 641//89 642//90 643//91 -f 644//92 645//28 646//93 647//94 -f 648//95 649//96 650//97 651//98 -f 649//96 652//99 653//100 650//97 -f 654//26 640//88 643//91 655//101 -f 641//89 644//92 647//94 642//90 -f 645//28 648//95 651//98 646//93 -f 652//99 654//26 655//101 653//100 -f 651//98 650//97 656//102 657//103 -f 647//94 646//93 658//104 659//105 -f 643//91 642//90 660//106 661//107 -f 653//100 655//101 662//23 663//108 -f 646//93 651//98 657//103 658//104 -f 642//90 647//94 659//105 660//106 -f 655//101 643//91 661//107 662//23 -f 650//97 653//100 663//108 656//102 -f 662//23 661//107 664//109 665//13 -f 656//102 663//108 666//110 667//111 -f 657//103 656//102 667//111 668//112 -f 659//105 658//104 669//9 670//113 -f 661//107 660//106 671//114 664//109 -f 663//108 662//23 665//13 666//110 -f 658//104 657//103 668//112 669//9 -f 660//106 659//105 670//113 671//114 -f 669//9 668//112 672//115 673//116 -f 671//114 670//113 674//117 675//118 -f 665//13 664//109 676//119 677//120 -f 667//111 666//110 678//121 679//122 -f 668//112 667//111 679//122 672//115 -f 670//113 669//9 673//116 674//117 -f 664//109 671//114 675//118 676//119 -f 666//110 665//13 677//120 678//121 -f 680//83 681//123 119//123 116//83 -f 682//124 683//125 107//125 121//124 -f 684//84 685//126 111//126 108//84 -f 686//127 687//128 115//128 112//127 -f 681//123 682//124 121//124 119//123 -f 683//125 684//84 108//84 107//125 -f 685//126 686//127 112//127 111//126 -f 687//128 680//83 116//83 115//128 -f 124//126 123//84 133//84 136//126 -f 118//128 117//83 132//83 131//128 -f 125//127 124//126 136//126 138//127 -f 117//83 120//123 135//123 132//83 -f 126//128 125//127 138//127 140//128 -f 120//123 122//124 137//124 135//123 -f 127//83 126//128 140//128 142//83 -f 122//124 110//125 139//125 137//124 -f 113//127 118//128 131//128 145//127 -f 123//84 130//125 134//125 133//84 -f 114//126 113//127 145//127 143//126 -f 130//125 129//124 146//124 134//125 -f 109//84 114//126 143//126 141//84 -f 129//124 128//123 144//123 146//124 -f 110//125 109//84 141//84 139//125 -f 128//123 127//83 142//83 144//123 -f 630//129 632//130 205//130 204//129 -f 631//131 633//132 198//132 197//131 -f 632//130 634//133 206//133 205//130 -f 633//132 635//134 199//134 198//132 -f 634//133 636//135 207//135 206//133 -f 635//134 637//136 200//136 199//134 -f 636//135 638//137 208//137 207//135 -f 637//136 639//138 201//138 200//136 -f 638//137 626//139 209//139 208//137 -f 639//138 628//140 202//140 201//138 -f 625//141 624//142 195//142 210//141 -f 626//139 625//141 210//141 209//139 -f 628//140 627//143 203//143 202//140 -f 624//142 629//144 196//144 195//142 -f 627//143 630//129 204//129 203//143 -f 629//144 631//131 197//131 196//144 -f 688//85 689//87 156//87 155//85 -f 690//80 691//83 167//83 169//80 -f 692//86 693//81 171//81 173//86 -f 694//82 695//84 175//84 177//82 -f 691//83 688//85 155//85 167//83 -f 693//81 690//80 169//80 171//81 -f 695//84 692//86 173//86 175//84 -f 689//87 694//82 177//82 156//87 -f 158//85 157//87 181//87 180//85 -f 159//80 166//81 182//81 193//80 -f 166//81 165//86 179//86 182//81 -f 168//83 158//85 180//85 184//83 -f 165//86 164//84 183//84 179//86 -f 170//80 168//83 184//83 186//80 -f 164//84 163//82 185//82 183//84 -f 172//81 170//80 186//80 188//81 -f 157//87 178//82 194//82 181//87 -f 160//83 159//80 193//80 191//83 -f 178//82 176//84 192//84 194//82 -f 161//85 160//83 191//83 189//85 -f 176//84 174//86 190//86 192//84 -f 162//87 161//85 189//85 187//87 -f 174//86 172//81 188//81 190//86 -f 163//82 162//87 187//87 185//82 -f 219//1 218//81 239//81 238//1 -f 224//82 226//2 230//2 229//82 -f 226//2 213//87 231//87 230//2 -f 216//80 219//1 238//1 237//80 -f 225//8 224//82 229//82 244//8 -f 217//6 216//80 237//80 236//6 -f 222//84 225//8 244//8 243//84 -f 214//83 217//6 236//6 235//83 -f 223//3 222//84 243//84 242//3 -f 215//4 214//83 235//83 234//4 -f 220//86 223//3 242//3 241//86 -f 211//85 215//4 234//4 233//85 -f 221//7 220//86 241//86 240//7 -f 212//5 211//85 233//85 232//5 -f 218//81 221//7 240//7 239//81 -f 213//87 212//5 232//5 231//87 -f 696//145 697//50 465//50 464//145 -f 698//3 699//146 468//146 467//3 -f 471//147 470//147 479//148 477//148 -f 700//149 696//145 464//145 463//149 -f 701//150 698//3 467//3 466//150 -f 477//148 479//148 478//151 476//151 -f 702//152 469//153 458//153 457//152 -f 473//154 700//149 463//149 462//154 -f 697//50 701//150 466//150 465//50 -f 476//151 478//151 703//4 475//4 -f 699//146 702//152 457//152 468//146 -f 472//155 474//155 475//4 703//4 -f 704//32 705//148 486//148 485//32 -f 706//3 707//146 483//146 482//3 -f 708//156 709//149 490//149 489//156 -f 710//145 711//50 480//50 491//145 -f 705//148 712//151 487//151 486//148 -f 707//146 713//152 484//152 483//146 -f 709//149 710//145 491//145 490//149 -f 711//50 714//150 481//150 480//50 -f 712//151 715//4 488//4 487//151 -f 713//152 704//32 485//32 484//152 -f 714//150 706//3 482//3 481//150 -f 715//4 708//156 489//156 488//4 -f 716//157 717//158 718//159 719//160 -f 720//161 721//162 722//163 723//164 -f 724//165 725//166 726//167 727//168 -f 728//169 729//170 730//171 731//172 -f 731//172 730//171 725//166 724//165 -f 732//173 733//174 729//170 728//169 -f 730//171 734//175 735//176 725//166 -f 733//174 736//177 737//178 729//170 -f 725//166 735//176 738//179 726//167 -f 729//170 737//178 734//175 730//171 -f 739//165 740//166 741//167 742//168 -f 743//169 744//170 745//171 746//172 -f 746//172 745//171 740//166 739//165 -f 747//173 748//174 744//170 743//169 -f 745//171 749//175 750//176 740//166 -f 748//174 751//177 752//178 744//170 -f 740//166 750//176 753//179 741//167 -f 744//170 752//178 749//175 745//171 -f 754//165 755//166 756//167 757//168 -f 758//169 759//180 760//171 761//172 -f 761//172 760//171 755//166 754//165 -f 762//173 763//174 759//180 758//169 -f 760//171 764//175 765//176 755//166 -f 763//174 766//177 767//178 759//180 -f 755//166 765//176 768//179 756//167 -f 759//180 767//178 764//175 760//171 -f 724//165 727//168 769//87 770//2 -f 739//165 742//168 771//87 772//2 -f 731//172 724//165 770//2 773//8 -f 728//169 731//172 773//8 774//3 -f 754//165 757//168 775//87 776//2 -f 746//172 739//165 772//2 777//8 -f 732//173 728//169 774//3 778//86 -f 743//169 746//172 777//8 779//3 -f 761//172 754//165 776//2 780//8 -f 758//169 761//172 780//8 781//3 -f 747//173 743//169 779//3 782//86 -f 762//173 758//169 781//3 783//86 -f 717//158 720//161 723//164 718//159 -f 784//181 716//157 719//160 785//182 -f 718//159 723//164 786//183 787//184 -f 785//182 719//160 788//185 789//186 -f 723//164 722//163 790//187 786//183 -f 719//160 718//159 787//184 788//185 -f 791//161 792//162 793//163 794//188 -f 795//157 796//158 797//159 798//160 -f 796//158 791//161 794//188 797//159 -f 799//181 795//157 798//160 800//182 -f 797//159 794//188 801//183 802//184 -f 800//182 798//160 803//185 804//186 -f 794//188 793//163 805//187 801//183 -f 798//160 797//159 802//184 803//185 -f 806//161 807//162 808//163 809//164 -f 810//157 811//158 812//159 813//189 -f 811//158 806//161 809//164 812//159 -f 814//181 810//157 813//189 815//182 -f 812//159 809//164 816//183 817//184 -f 815//182 813//189 818//185 819//186 -f 809//164 808//163 820//187 816//183 -f 813//189 812//159 817//184 818//185 -f 720//161 821//2 822//82 721//162 -f 791//161 823//2 824//82 792//162 -f 717//158 825//5 821//2 720//161 -f 716//157 826//4 825//5 717//158 -f 806//161 827//2 828//82 807//162 -f 796//158 829//5 823//2 791//161 -f 784//181 830//83 826//4 716//157 -f 795//157 831//4 829//5 796//158 -f 811//158 832//5 827//2 806//161 -f 810//157 833//4 832//5 811//158 -f 799//181 834//83 831//4 795//157 -f 814//181 835//83 833//4 810//157 +f 249/1728/272 248/1729/273 823/1730/273 824/1731/272 +f 246/1732/274 249/1728/272 824/1731/272 825/1733/274 +f 247/1734/275 246/1732/274 825/1733/274 826/1735/275 +f 243/1736/276 247/1734/275 826/1735/275 827/1737/276 +f 244/1738/277 243/1736/276 827/1737/276 828/1739/277 +f 245/1740/278 244/1738/277 828/1739/277 829/1741/278 +f 258/1742/279 245/1740/278 829/1741/278 830/1743/279 +f 256/1744/280 258/1742/279 830/1743/279 831/1745/280 +f 257/1746/281 256/1744/280 831/1745/280 832/1747/281 +f 254/1748/282 257/1749/281 832/1750/281 833/1751/282 +f 255/1752/283 254/1748/282 833/1751/282 834/1753/283 +f 252/1754/284 255/1752/283 834/1753/283 835/1755/284 +f 253/1756/285 252/1754/284 835/1755/284 836/1757/285 +f 250/1758/286 253/1756/285 836/1757/285 837/1759/286 +f 251/1760/287 250/1758/286 837/1759/286 838/1761/287 +f 248/1729/273 251/1760/287 838/1761/287 823/1730/273 +f 824/1731/124 823/1730/288 839/1762/288 840/1763/124 +f 825/1733/289 824/1731/124 840/1763/124 841/1764/289 +f 832/1747/125 831/1745/290 842/1765/290 843/1766/125 +f 823/1730/288 838/1761/129 844/1767/129 839/1762/288 +f 831/1745/290 830/1743/131 845/1768/131 842/1765/290 +f 838/1761/129 837/1759/291 846/1769/291 844/1767/129 +f 830/1743/131 829/1741/292 847/1770/292 845/1768/131 +f 837/1759/291 836/1757/127 848/1771/127 846/1769/291 +f 829/1741/292 828/1739/126 849/1772/126 847/1770/292 +f 836/1757/127 835/1755/293 850/1773/293 848/1771/127 +f 828/1739/126 827/1737/294 851/1774/294 849/1772/126 +f 835/1755/293 834/1753/128 852/1775/128 850/1773/293 +f 827/1737/294 826/1735/130 853/1776/130 851/1774/294 +f 834/1753/128 833/1751/295 854/1777/295 852/1775/128 +f 826/1735/130 825/1733/289 841/1764/289 853/1776/130 +f 833/1751/295 832/1750/125 843/1778/125 854/1777/295 +f 855/1779/296 856/1780/297 857/1781/298 858/1782/299 +f 859/1783/300 860/1784/151 861/1785/301 862/1786/302 +f 863/1787/303 864/1788/304 865/1789/305 866/1790/306 +f 864/1788/304 867/1791/307 868/1792/308 865/1789/305 +f 869/1793/149 855/1779/296 858/1782/299 870/1794/309 +f 856/1780/297 859/1783/300 862/1786/302 857/1781/298 +f 860/1784/151 863/1787/303 866/1790/306 861/1785/301 +f 867/1791/307 869/1795/149 870/1796/309 868/1792/308 +f 866/1790/306 865/1789/305 871/1797/310 872/1798/311 +f 862/1786/302 861/1785/301 873/1799/312 874/1800/313 +f 858/1782/299 857/1781/298 875/1801/314 876/1802/315 +f 868/1792/308 870/1796/309 877/1803/146 878/1804/316 +f 861/1785/301 866/1790/306 872/1798/311 873/1799/312 +f 857/1781/298 862/1786/302 874/1800/313 875/1801/314 +f 870/1794/309 858/1782/299 876/1802/315 877/1805/146 +f 865/1789/305 868/1792/308 878/1804/316 871/1797/310 +f 877/1805/146 876/1802/315 879/1806/317 880/1807/136 +f 871/1797/310 878/1804/316 881/1808/318 882/1809/319 +f 872/1798/311 871/1797/310 882/1809/319 883/1810/320 +f 874/1800/313 873/1799/312 884/1811/132 885/1812/321 +f 876/1802/315 875/1801/314 886/1813/322 879/1806/317 +f 878/1804/316 877/1803/146 880/1814/136 881/1808/318 +f 873/1799/312 872/1798/311 883/1810/320 884/1811/132 +f 875/1801/314 874/1800/313 885/1812/321 886/1813/322 +f 884/1811/132 883/1810/320 887/1815/323 888/1816/324 +f 886/1813/322 885/1812/321 889/1817/325 890/1818/326 +f 880/1807/136 879/1806/317 891/1819/327 892/1820/328 +f 882/1809/319 881/1808/318 893/1821/329 894/1822/330 +f 883/1810/320 882/1809/319 894/1822/330 887/1815/323 +f 885/1812/321 884/1811/132 888/1816/324 889/1817/325 +f 879/1806/317 886/1813/322 890/1818/326 891/1819/327 +f 881/1808/318 880/1814/136 892/1823/328 893/1821/329 +f 895/1824/291 896/1825/331 345/500/331 342/497/291 +f 897/1826/332 898/1827/333 333/488/333 347/502/332 +f 899/1828/292 900/1829/334 337/492/334 334/489/292 +f 901/1830/335 902/1831/336 341/496/336 338/493/335 +f 896/1825/331 897/1832/332 347/504/332 345/500/331 +f 898/1827/333 899/1828/292 334/489/292 333/488/333 +f 900/1829/334 901/1830/335 338/493/335 337/492/334 +f 902/1831/336 895/1824/291 342/497/291 341/496/336 +f 350/1833/334 349/1834/292 359/516/292 362/519/334 +f 344/499/336 343/498/291 358/515/291 357/514/336 +f 351/1835/335 350/1833/334 362/519/334 364/521/335 +f 343/498/291 346/501/331 361/518/331 358/515/291 +f 352/1836/336 351/1837/335 364/525/335 366/524/336 +f 346/501/331 348/505/332 363/520/332 361/518/331 +f 353/1838/291 352/1836/336 366/524/336 368/527/291 +f 348/503/332 336/491/333 365/523/333 363/522/332 +f 339/494/335 344/499/336 357/514/336 371/530/335 +f 349/1834/292 356/1839/333 360/517/333 359/516/292 +f 340/495/334 339/494/335 371/530/335 369/528/334 +f 356/1839/333 355/1840/332 372/531/332 360/517/333 +f 335/490/292 340/495/334 369/528/334 367/526/292 +f 355/1840/332 354/1841/331 370/529/331 372/531/332 +f 336/491/333 335/490/292 367/526/292 365/523/333 +f 354/1841/331 353/1838/291 368/527/291 370/529/331 +f 845/1768/337 847/1770/338 431/1842/338 430/1843/337 +f 846/1769/339 848/1771/340 424/1844/340 423/1845/339 +f 847/1770/338 849/1772/341 432/1846/341 431/1847/338 +f 848/1771/340 850/1773/342 425/1848/342 424/1849/340 +f 849/1772/341 851/1774/343 433/1850/343 432/1851/341 +f 850/1773/342 852/1775/344 426/1852/344 425/1853/342 +f 851/1774/343 853/1776/345 434/1854/345 433/1855/343 +f 852/1775/344 854/1777/346 427/1856/346 426/1857/344 +f 853/1776/345 841/1764/347 435/1858/347 434/1859/345 +f 854/1777/346 843/1778/348 428/1860/348 427/1861/346 +f 840/1763/349 839/1762/350 421/1862/350 436/1863/349 +f 841/1764/347 840/1763/349 436/1864/349 435/1865/347 +f 843/1766/348 842/1765/351 429/1866/351 428/1867/348 +f 839/1762/350 844/1767/352 422/1868/352 421/1869/350 +f 842/1765/351 845/1768/337 430/1870/337 429/1871/351 +f 844/1767/352 846/1769/339 423/1872/339 422/1873/352 +f 903/1874/293 904/1875/295 382/545/295 381/544/293 +f 905/1876/288 906/1877/291 393/556/291 395/559/288 +f 907/1878/294 908/1879/289 397/566/289 399/565/294 +f 909/1880/290 910/1881/292 401/569/292 403/572/290 +f 906/1877/291 903/1874/293 381/544/293 393/556/291 +f 908/1882/289 905/1876/288 395/559/288 397/562/289 +f 910/1881/292 907/1878/294 399/565/294 401/569/292 +f 904/1875/295 909/1880/290 403/572/290 382/545/295 +f 384/547/293 383/546/295 407/579/295 406/578/293 +f 385/1883/288 392/1884/289 408/605/289 419/608/288 +f 392/1885/289 391/1886/294 405/577/294 408/580/289 +f 394/558/291 384/557/293 406/583/293 410/582/291 +f 391/1887/294 390/1888/292 409/581/292 405/584/294 +f 396/561/288 394/560/291 410/587/291 412/586/288 +f 390/1889/292 389/1890/290 411/585/290 409/588/292 +f 398/564/289 396/563/288 412/591/288 414/590/289 +f 383/576/295 404/575/290 420/607/290 407/606/295 +f 386/1891/291 385/1892/288 419/601/288 417/604/291 +f 404/574/290 402/573/292 418/603/292 420/602/290 +f 387/1893/293 386/1894/291 417/597/291 415/600/293 +f 402/571/292 400/570/294 416/599/294 418/598/292 +f 388/1895/295 387/1896/293 415/593/293 413/596/295 +f 400/568/294 398/567/289 414/595/289 416/594/294 +f 389/1897/290 388/1898/295 413/589/295 411/592/290 +f 445/1899/124 444/1900/289 465/1901/289 464/1902/124 +f 450/1903/290 452/1904/125 456/1905/125 455/1906/290 +f 452/1904/125 439/1907/295 457/1908/295 456/1905/125 +f 442/1909/288 445/1910/124 464/1911/124 463/1912/288 +f 451/1913/131 450/1903/290 455/1906/290 470/1914/131 +f 443/1915/129 442/1909/288 463/1912/288 462/1916/129 +f 448/1917/292 451/1913/131 470/1914/131 469/1918/292 +f 440/1919/291 443/1915/129 462/1916/129 461/1920/291 +f 449/1921/126 448/1917/292 469/1918/292 468/1922/126 +f 441/1923/127 440/1919/291 461/1920/291 460/1924/127 +f 446/1925/294 449/1921/126 468/1922/126 467/1926/294 +f 437/1927/293 441/1923/127 460/1924/127 459/1928/293 +f 447/1929/130 446/1925/294 467/1926/294 466/1930/130 +f 438/1931/128 437/1927/293 459/1928/293 458/1932/128 +f 444/1900/289 447/1929/130 466/1930/130 465/1901/289 +f 439/1907/295 438/1931/128 458/1932/128 457/1908/295 +f 911/1933/353 912/1934/173 688/1935/173 687/1936/353 +f 913/1937/126 914/1938/354 691/1939/354 690/1940/126 +f 694/1034/355 693/1033/355 702/1041/356 700/1941/356 +f 915/1942/357 911/1933/353 687/1936/353 686/1943/357 +f 916/1944/358 913/1937/126 690/1940/126 689/1945/358 +f 700/1941/356 702/1041/356 701/1946/359 699/1947/359 +f 917/1948/360 692/1949/361 684/1950/361 683/1951/360 +f 696/1952/362 915/1942/357 686/1943/357 685/1953/362 +f 912/1934/173 916/1944/358 689/1945/358 688/1935/173 +f 699/1947/359 701/1946/359 918/1954/127 698/1955/127 +f 914/1938/354 917/1948/360 683/1951/360 691/1939/354 +f 695/1035/363 697/1038/363 698/1955/127 918/1954/127 +f 919/1956/155 920/1957/356 709/1958/356 708/1959/155 +f 921/1960/126 922/1961/354 706/1962/354 705/1963/126 +f 923/1964/364 924/1965/357 713/1966/357 712/1967/364 +f 925/1968/353 926/1969/173 703/1970/173 714/1971/353 +f 920/1957/356 927/1972/359 710/1973/359 709/1958/356 +f 922/1961/354 928/1974/360 707/1975/360 706/1962/354 +f 924/1965/357 925/1976/353 714/1977/353 713/1966/357 +f 926/1969/173 929/1978/358 704/1979/358 703/1970/173 +f 927/1972/359 930/1980/127 711/1981/127 710/1973/359 +f 928/1974/360 919/1956/155 708/1959/155 707/1975/360 +f 929/1978/358 921/1960/126 705/1963/126 704/1979/358 +f 930/1980/127 923/1964/364 712/1967/364 711/1981/127 +f 931/1982/365 932/1983/366 933/1984/367 934/1985/368 +f 935/1986/369 936/1987/370 937/1988/371 938/1989/372 +f 939/1990/373 940/1991/374 941/1992/375 942/1993/376 +f 943/1994/377 944/1995/378 945/1996/379 946/1997/380 +f 946/1997/380 945/1996/379 940/1991/374 939/1990/373 +f 947/1998/381 948/1999/382 944/1995/378 943/1994/377 +f 945/1996/379 949/2000/383 950/2001/384 940/1991/374 +f 948/1999/382 951/2002/385 952/2003/386 944/1995/378 +f 940/1991/374 950/2001/384 953/2004/387 941/1992/375 +f 944/1995/378 952/2003/386 949/2000/383 945/1996/379 +f 954/2005/373 955/2006/374 956/2007/375 957/2008/376 +f 958/2009/377 959/2010/378 960/2011/379 961/2012/380 +f 961/2012/380 960/2011/379 955/2006/374 954/2005/373 +f 962/2013/381 963/2014/382 959/2010/378 958/2009/377 +f 960/2011/379 964/2015/383 965/2016/384 955/2006/374 +f 963/2014/382 966/2017/385 967/2018/386 959/2010/378 +f 955/2006/374 965/2016/384 968/2019/387 956/2007/375 +f 959/2010/378 967/2018/386 964/2015/383 960/2011/379 +f 969/2020/373 970/2021/374 971/2022/375 972/2023/376 +f 973/2024/377 974/2025/388 975/2026/379 976/2027/380 +f 976/2027/380 975/2026/379 970/2021/374 969/2020/373 +f 977/2028/381 978/2029/382 974/2025/388 973/2024/377 +f 975/2026/379 979/2030/383 980/2031/384 970/2021/374 +f 978/2029/382 981/2032/385 982/2033/386 974/2025/388 +f 970/2021/374 980/2031/384 983/2034/387 971/2022/375 +f 974/2025/388 982/2033/386 979/2030/383 975/2026/379 +f 939/1990/373 942/1993/376 984/2035/295 985/2036/125 +f 954/2005/373 957/2008/376 986/2037/295 987/2038/125 +f 946/1997/380 939/1990/373 985/2036/125 988/2039/131 +f 943/1994/377 946/1997/380 988/2039/131 989/2040/126 +f 969/2020/373 972/2023/376 990/2041/295 991/2042/125 +f 961/2012/380 954/2005/373 987/2038/125 992/2043/131 +f 947/1998/381 943/1994/377 989/2040/126 993/2044/294 +f 958/2009/377 961/2012/380 992/2043/131 994/2045/126 +f 976/2027/380 969/2020/373 991/2042/125 995/2046/131 +f 973/2024/377 976/2027/380 995/2046/131 996/2047/126 +f 962/2013/381 958/2009/377 994/2045/126 997/2048/294 +f 977/2028/381 973/2024/377 996/2047/126 998/2049/294 +f 932/1983/366 935/1986/369 938/1989/372 933/1984/367 +f 999/2050/389 931/1982/365 934/1985/368 1000/2051/390 +f 933/1984/367 938/1989/372 1001/2052/391 1002/2053/392 +f 1000/2051/390 934/1985/368 1003/2054/393 1004/2055/394 +f 938/1989/372 937/1988/371 1005/2056/395 1001/2052/391 +f 934/1985/368 933/1984/367 1002/2053/392 1003/2054/393 +f 1006/2057/369 1007/2058/370 1008/2059/371 1009/2060/396 +f 1010/2061/365 1011/2062/366 1012/2063/367 1013/2064/368 +f 1011/2062/366 1006/2057/369 1009/2060/396 1012/2063/367 +f 1014/2065/389 1010/2061/365 1013/2064/368 1015/2066/390 +f 1012/2063/367 1009/2060/396 1016/2067/391 1017/2068/392 +f 1015/2066/390 1013/2064/368 1018/2069/393 1019/2070/394 +f 1009/2060/396 1008/2059/371 1020/2071/395 1016/2067/391 +f 1013/2064/368 1012/2063/367 1017/2068/392 1018/2069/393 +f 1021/2072/369 1022/2073/370 1023/2074/371 1024/2075/372 +f 1025/2076/365 1026/2077/366 1027/2078/367 1028/2079/397 +f 1026/2077/366 1021/2072/369 1024/2075/372 1027/2078/367 +f 1029/2080/389 1025/2076/365 1028/2079/397 1030/2081/390 +f 1027/2078/367 1024/2075/372 1031/2082/391 1032/2083/392 +f 1030/2081/390 1028/2079/397 1033/2084/393 1034/2085/394 +f 1024/2075/372 1023/2074/371 1035/2086/395 1031/2082/391 +f 1028/2079/397 1027/2078/367 1032/2083/392 1033/2084/393 +f 935/1986/369 1036/2087/125 1037/2088/290 936/1987/370 +f 1006/2057/369 1038/2089/125 1039/2090/290 1007/2058/370 +f 932/1983/366 1040/2091/128 1036/2087/125 935/1986/369 +f 931/1982/365 1041/2092/127 1040/2091/128 932/1983/366 +f 1021/2072/369 1042/2093/125 1043/2094/290 1022/2073/370 +f 1011/2062/366 1044/2095/128 1038/2089/125 1006/2057/369 +f 999/2050/389 1045/2096/291 1041/2092/127 931/1982/365 +f 1010/2061/365 1046/2097/127 1044/2095/128 1011/2062/366 +f 1026/2077/366 1047/2098/128 1042/2093/125 1021/2072/369 +f 1025/2076/365 1048/2099/127 1047/2098/128 1026/2077/366 +f 1014/2065/389 1049/2100/291 1046/2097/127 1010/2061/365 +f 1029/2080/389 1050/2101/291 1048/2099/127 1025/2076/365 +f 1092/2102/398 1093/2103/399 1094/2104/400 1095/2105/401 +f 1096/2106/402 1097/2107/147 1098/2108/403 1099/2109/404 +f 1100/2110/405 1101/2111/406 1102/2112/407 1103/2113/408 +f 1101/2111/406 1104/2114/409 1105/2115/410 1102/2112/407 +f 1106/2116/148 1092/2102/398 1095/2105/401 1107/2117/411 +f 1093/2103/399 1096/2106/402 1099/2109/404 1094/2104/400 +f 1097/2107/147 1100/2110/405 1103/2113/408 1098/2108/403 +f 1104/2114/409 1106/2118/148 1107/2119/411 1105/2115/410 +f 1103/2113/408 1102/2112/407 1108/2120/412 1109/2121/413 +f 1099/2109/404 1098/2108/403 1110/2122/150 1111/2123/414 +f 1095/2105/401 1094/2104/400 1112/2124/415 1113/2125/416 +f 1105/2115/410 1107/2119/411 1114/2126/152 1115/2127/417 +f 1098/2108/403 1103/2113/408 1109/2121/413 1110/2122/150 +f 1094/2104/400 1099/2109/404 1111/2123/414 1112/2124/415 +f 1107/2117/411 1095/2105/401 1113/2125/416 1114/2128/152 +f 1102/2112/407 1105/2115/410 1115/2127/417 1108/2120/412 +f 1114/2128/152 1113/2125/416 1116/2129/318 1117/2130/136 +f 1108/2120/412 1115/2127/417 1118/2131/317 1119/2132/322 +f 1109/2121/413 1108/2120/412 1119/2132/322 1120/2133/418 +f 1111/2123/414 1110/2122/150 1121/2134/132 1122/2135/419 +f 1113/2125/416 1112/2124/415 1123/2136/319 1116/2129/318 +f 1115/2127/417 1114/2126/152 1117/2137/136 1118/2131/317 +f 1110/2122/150 1109/2121/413 1120/2133/418 1121/2134/132 +f 1112/2124/415 1111/2123/414 1122/2135/419 1123/2136/319 +f 1121/2134/132 1120/2133/418 1124/2138/420 1125/2139/421 +f 1123/2136/319 1122/2135/419 1126/2140/422 1127/2141/423 +f 1117/2130/136 1116/2129/318 1128/2142/424 1129/2143/425 +f 1119/2132/322 1118/2131/317 1130/2144/426 1131/2145/427 +f 1120/2133/418 1119/2132/322 1131/2145/427 1124/2138/420 +f 1122/2135/419 1121/2134/132 1125/2139/421 1126/2140/422 +f 1116/2129/318 1123/2136/319 1127/2141/423 1128/2142/424 +f 1118/2131/317 1117/2137/136 1129/2146/425 1130/2144/426 +f 1132/2147/292 1133/2148/428 1064/1252/428 1061/1249/292 +f 1134/2149/429 1135/2150/430 1052/1240/430 1066/1254/429 +f 1136/2151/291 1137/2152/431 1056/1244/431 1053/1241/291 +f 1138/2153/432 1139/2154/433 1060/1248/433 1057/1245/432 +f 1133/2148/428 1134/2155/429 1066/1256/429 1064/1252/428 +f 1135/2150/430 1136/2151/291 1053/1241/291 1052/1240/430 +f 1137/2152/431 1138/2153/432 1057/1245/432 1056/1244/431 +f 1139/2154/433 1132/2147/292 1061/1249/292 1060/1248/433 +f 1069/2156/431 1068/2157/291 1078/1268/291 1081/1271/431 +f 1063/1251/433 1062/1250/292 1077/1267/292 1076/1266/433 +f 1070/2158/432 1069/2156/431 1081/1271/431 1083/1273/432 +f 1062/1250/292 1065/1253/428 1080/1270/428 1077/1267/292 +f 1071/2159/433 1070/2160/432 1083/1277/432 1085/1276/433 +f 1065/1253/428 1067/1257/429 1082/1272/429 1080/1270/428 +f 1072/2161/292 1071/2159/433 1085/1276/433 1087/1279/292 +f 1067/1255/429 1055/1243/430 1084/1275/430 1082/1274/429 +f 1058/1246/432 1063/1251/433 1076/1266/433 1090/1282/432 +f 1068/2157/291 1075/2162/430 1079/1269/430 1078/1268/291 +f 1059/1247/431 1058/1246/432 1090/1282/432 1088/1280/431 +f 1075/2162/430 1074/2163/429 1091/1283/429 1079/1269/430 +f 1054/1242/291 1059/1247/431 1088/1280/431 1086/1278/291 +f 1074/2163/429 1073/2164/428 1089/1281/428 1091/1283/429 +f 1055/1243/430 1054/1242/291 1086/1278/291 1084/1275/430 +f 1073/2164/428 1072/2161/292 1087/1279/292 1089/1281/428 +f 1180/2165/434 1181/2166/435 1182/2167/436 1183/2168/437 +f 1184/2169/438 1185/2170/439 1186/2171/440 1187/2172/441 +f 1188/2173/442 1189/2174/443 1190/2175/444 1191/2176/445 +f 1189/2174/443 1192/2177/446 1193/2178/447 1190/2175/444 +f 1194/2179/448 1180/2165/434 1183/2168/437 1195/2180/449 +f 1181/2166/435 1184/2169/438 1187/2172/441 1182/2167/436 +f 1185/2170/439 1188/2173/442 1191/2176/445 1186/2171/440 +f 1192/2177/446 1194/2181/448 1195/2182/449 1193/2178/447 +f 1191/2176/445 1190/2175/444 1196/2183/450 1197/2184/451 +f 1187/2172/441 1186/2171/440 1198/2185/452 1199/2186/453 +f 1183/2168/437 1182/2167/436 1200/2187/454 1201/2188/455 +f 1193/2178/447 1195/2182/449 1202/2189/456 1203/2190/457 +f 1186/2171/440 1191/2176/445 1197/2184/451 1198/2185/452 +f 1182/2167/436 1187/2172/441 1199/2186/453 1200/2187/454 +f 1195/2180/449 1183/2168/437 1201/2188/455 1202/2191/456 +f 1190/2175/444 1193/2178/447 1203/2190/457 1196/2183/450 +f 1202/2191/456 1201/2188/455 1204/2192/458 1205/2193/136 +f 1196/2183/450 1203/2190/457 1206/2194/459 1207/2195/460 +f 1197/2184/451 1196/2183/450 1207/2195/460 1208/2196/461 +f 1199/2186/453 1198/2185/452 1209/2197/132 1210/2198/462 +f 1201/2188/455 1200/2187/454 1211/2199/463 1204/2192/458 +f 1203/2190/457 1202/2189/456 1205/2200/136 1206/2194/459 +f 1198/2185/452 1197/2184/451 1208/2196/461 1209/2197/132 +f 1200/2187/454 1199/2186/453 1210/2198/462 1211/2199/463 +f 1209/2197/132 1208/2196/461 1212/2201/464 1213/2202/465 +f 1211/2199/463 1210/2198/462 1214/2203/466 1215/2204/467 +f 1205/2193/136 1204/2192/458 1216/2205/468 1217/2206/469 +f 1207/2195/460 1206/2194/459 1218/2207/470 1219/2208/471 +f 1208/2196/461 1207/2195/460 1219/2208/471 1212/2201/464 +f 1210/2198/462 1209/2197/132 1213/2202/465 1214/2203/466 +f 1204/2192/458 1211/2199/463 1215/2204/467 1216/2205/468 +f 1206/2194/459 1205/2200/136 1217/2209/469 1218/2207/470 +f 1220/2210/289 1221/2211/472 1152/1296/472 1149/1293/289 +f 1222/2212/473 1223/2213/474 1140/1284/474 1154/1298/473 +f 1224/2214/295 1225/2215/475 1144/1288/475 1141/1285/295 +f 1226/2216/476 1227/2217/477 1148/1292/477 1145/1289/476 +f 1221/2211/472 1222/2218/473 1154/1300/473 1152/1296/472 +f 1223/2213/474 1224/2214/295 1141/1285/295 1140/1284/474 +f 1225/2215/475 1226/2216/476 1145/1289/476 1144/1288/475 +f 1227/2217/477 1220/2210/289 1149/1293/289 1148/1292/477 +f 1157/2219/475 1156/2220/295 1166/1312/295 1169/1315/475 +f 1151/1295/477 1150/1294/289 1165/1311/289 1164/1310/477 +f 1158/2221/476 1157/2219/475 1169/1315/475 1171/1317/476 +f 1150/1294/289 1153/1297/472 1168/1314/472 1165/1311/289 +f 1159/2222/477 1158/2223/476 1171/1321/476 1173/1320/477 +f 1153/1297/472 1155/1301/473 1170/1316/473 1168/1314/472 +f 1160/2224/289 1159/2222/477 1173/1320/477 1175/1323/289 +f 1155/1299/473 1143/1287/474 1172/1319/474 1170/1318/473 +f 1146/1290/476 1151/1295/477 1164/1310/477 1178/1326/476 +f 1156/2220/295 1163/2225/474 1167/1313/474 1166/1312/295 +f 1147/1291/475 1146/1290/476 1178/1326/476 1176/1324/475 +f 1163/2225/474 1162/2226/473 1179/1327/473 1167/1313/474 +f 1142/1286/295 1147/1291/475 1176/1324/475 1174/1322/295 +f 1162/2226/473 1161/2227/472 1177/1325/472 1179/1327/473 +f 1143/1287/474 1142/1286/295 1174/1322/295 1172/1319/474 +f 1161/2227/472 1160/2224/289 1175/1323/289 1177/1325/472 +f 1268/2228/478 1269/2229/479 1270/2230/480 1271/2231/481 +f 1272/2232/482 1273/2233/483 1274/2234/484 1275/2235/485 +f 1276/2236/486 1277/2237/487 1278/2238/488 1279/2239/489 +f 1277/2237/487 1280/2240/490 1281/2241/491 1278/2238/488 +f 1282/2242/492 1268/2228/478 1271/2231/481 1283/2243/493 +f 1269/2229/479 1272/2232/482 1275/2235/485 1270/2230/480 +f 1273/2233/483 1276/2236/486 1279/2239/489 1274/2234/484 +f 1280/2240/490 1282/2244/492 1283/2245/493 1281/2241/491 +f 1279/2239/489 1278/2238/488 1284/2246/494 1285/2247/495 +f 1275/2235/485 1274/2234/484 1286/2248/496 1287/2249/497 +f 1271/2231/481 1270/2230/480 1288/2250/498 1289/2251/499 +f 1281/2241/491 1283/2245/493 1290/2252/500 1291/2253/501 +f 1274/2234/484 1279/2239/489 1285/2247/495 1286/2248/496 +f 1270/2230/480 1275/2235/485 1287/2249/497 1288/2250/498 +f 1283/2243/493 1271/2231/481 1289/2251/499 1290/2254/500 +f 1278/2238/488 1281/2241/491 1291/2253/501 1284/2246/494 +f 1290/2254/500 1289/2251/499 1292/2255/459 1293/2256/136 +f 1284/2246/494 1291/2253/501 1294/2257/458 1295/2258/463 +f 1285/2247/495 1284/2246/494 1295/2258/463 1296/2259/502 +f 1287/2249/497 1286/2248/496 1297/2260/132 1298/2261/503 +f 1289/2251/499 1288/2250/498 1299/2262/460 1292/2255/459 +f 1291/2253/501 1290/2252/500 1293/2263/136 1294/2257/458 +f 1286/2248/496 1285/2247/495 1296/2259/502 1297/2260/132 +f 1288/2250/498 1287/2249/497 1298/2261/503 1299/2262/460 +f 1297/2260/132 1296/2259/502 1300/2264/504 1301/2265/505 +f 1299/2262/460 1298/2261/503 1302/2266/506 1303/2267/507 +f 1293/2256/136 1292/2255/459 1304/2268/508 1305/2269/509 +f 1295/2258/463 1294/2257/458 1306/2270/510 1307/2271/511 +f 1296/2259/502 1295/2258/463 1307/2271/511 1300/2264/504 +f 1298/2261/503 1297/2260/132 1301/2265/505 1302/2266/506 +f 1292/2255/459 1299/2262/460 1303/2267/507 1304/2268/508 +f 1294/2257/458 1293/2263/136 1305/2272/509 1306/2270/510 +f 1308/2273/295 1309/2274/512 1240/1340/512 1237/1337/295 +f 1310/2275/513 1311/2276/514 1228/1328/514 1242/1342/513 +f 1312/2277/289 1313/2278/515 1232/1332/515 1229/1329/289 +f 1314/2279/516 1315/2280/517 1236/1336/517 1233/1333/516 +f 1309/2274/512 1310/2281/513 1242/1344/513 1240/1340/512 +f 1311/2276/514 1312/2277/289 1229/1329/289 1228/1328/514 +f 1313/2278/515 1314/2279/516 1233/1333/516 1232/1332/515 +f 1315/2280/517 1308/2273/295 1237/1337/295 1236/1336/517 +f 1245/2282/515 1244/2283/289 1254/1356/289 1257/1359/515 +f 1239/1339/517 1238/1338/295 1253/1355/295 1252/1354/517 +f 1246/2284/516 1245/2282/515 1257/1359/515 1259/1361/516 +f 1238/1338/295 1241/1341/512 1256/1358/512 1253/1355/295 +f 1247/2285/517 1246/2286/516 1259/1365/516 1261/1364/517 +f 1241/1341/512 1243/1345/513 1258/1360/513 1256/1358/512 +f 1248/2287/295 1247/2285/517 1261/1364/517 1263/1367/295 +f 1243/1343/513 1231/1331/514 1260/1363/514 1258/1362/513 +f 1234/1334/516 1239/1339/517 1252/1354/517 1266/1370/516 +f 1244/2283/289 1251/2288/514 1255/1357/514 1254/1356/289 +f 1235/1335/515 1234/1334/516 1266/1370/516 1264/1368/515 +f 1251/2288/514 1250/2289/513 1267/1371/513 1255/1357/514 +f 1230/1330/289 1235/1335/515 1264/1368/515 1262/1366/289 +f 1250/2289/513 1249/2290/512 1265/1369/512 1267/1371/513 +f 1231/1331/514 1230/1330/289 1262/1366/289 1260/1363/514 +f 1249/2290/512 1248/2287/295 1263/1367/295 1265/1369/512 +f 1356/2291/518 1357/2292/519 1358/2293/520 1359/2294/521 +f 1360/2295/522 1361/2296/523 1362/2297/524 1363/2298/525 +f 1364/2299/526 1365/2300/527 1366/2301/528 1367/2302/529 +f 1365/2300/527 1368/2303/530 1369/2304/531 1366/2301/528 +f 1370/2305/532 1356/2291/518 1359/2294/521 1371/2306/533 +f 1357/2292/519 1360/2295/522 1363/2298/525 1358/2293/520 +f 1361/2296/523 1364/2299/526 1367/2302/529 1362/2297/524 +f 1368/2303/530 1370/2307/532 1371/2308/533 1369/2304/531 +f 1367/2302/529 1366/2301/528 1372/2309/534 1373/2310/535 +f 1363/2298/525 1362/2297/524 1374/2311/392 1375/2312/536 +f 1359/2294/521 1358/2293/520 1376/2313/537 1377/2314/538 +f 1369/2304/531 1371/2308/533 1378/2315/539 1379/2316/540 +f 1362/2297/524 1367/2302/529 1373/2310/535 1374/2311/392 +f 1358/2293/520 1363/2298/525 1375/2312/536 1376/2313/537 +f 1371/2306/533 1359/2294/521 1377/2314/538 1378/2317/539 +f 1366/2301/528 1369/2304/531 1379/2316/540 1372/2309/534 +f 1378/2317/539 1377/2314/538 1380/2318/541 1381/2319/136 +f 1372/2309/534 1379/2316/540 1382/2320/542 1383/2321/543 +f 1373/2310/535 1372/2309/534 1383/2321/543 1384/2322/544 +f 1375/2312/536 1374/2311/392 1385/2323/132 1386/2324/545 +f 1377/2314/538 1376/2313/537 1387/2325/546 1380/2318/541 +f 1379/2316/540 1378/2315/539 1381/2326/136 1382/2320/542 +f 1374/2311/392 1373/2310/535 1384/2322/544 1385/2323/132 +f 1376/2313/537 1375/2312/536 1386/2324/545 1387/2325/546 +f 1385/2323/132 1384/2322/544 1388/2327/547 1389/2328/548 +f 1387/2325/546 1386/2324/545 1390/2329/549 1391/2330/550 +f 1381/2319/136 1380/2318/541 1392/2331/551 1393/2332/552 +f 1383/2321/543 1382/2320/542 1394/2333/553 1395/2334/554 +f 1384/2322/544 1383/2321/543 1395/2334/554 1388/2327/547 +f 1386/2324/545 1385/2323/132 1389/2328/548 1390/2329/549 +f 1380/2318/541 1387/2325/546 1391/2330/550 1392/2331/551 +f 1382/2320/542 1381/2326/136 1393/2335/552 1394/2333/553 +f 1396/2336/288 1397/2337/555 1328/1384/555 1325/1381/288 +f 1398/2338/556 1399/2339/557 1316/1372/557 1330/1386/556 +f 1400/2340/290 1401/2341/558 1320/1376/558 1317/1373/290 +f 1402/2342/559 1403/2343/560 1324/1380/560 1321/1377/559 +f 1397/2337/555 1398/2344/556 1330/1388/556 1328/1384/555 +f 1399/2339/557 1400/2340/290 1317/1373/290 1316/1372/557 +f 1401/2341/558 1402/2342/559 1321/1377/559 1320/1376/558 +f 1403/2343/560 1396/2336/288 1325/1381/288 1324/1380/560 +f 1333/2345/558 1332/2346/290 1342/1400/290 1345/1403/558 +f 1327/1383/560 1326/1382/288 1341/1399/288 1340/1398/560 +f 1334/2347/559 1333/2345/558 1345/1403/558 1347/1405/559 +f 1326/1382/288 1329/1385/555 1344/1402/555 1341/1399/288 +f 1335/2348/560 1334/2349/559 1347/1409/559 1349/1408/560 +f 1329/1385/555 1331/1389/556 1346/1404/556 1344/1402/555 +f 1336/2350/288 1335/2348/560 1349/1408/560 1351/1411/288 +f 1331/1387/556 1319/1375/557 1348/1407/557 1346/1406/556 +f 1322/1378/559 1327/1383/560 1340/1398/560 1354/1414/559 +f 1332/2346/290 1339/2351/557 1343/1401/557 1342/1400/290 +f 1323/1379/558 1322/1378/559 1354/1414/559 1352/1412/558 +f 1339/2351/557 1338/2352/556 1355/1415/556 1343/1401/557 +f 1318/1374/290 1323/1379/558 1352/1412/558 1350/1410/290 +f 1338/2352/556 1337/2353/555 1353/1413/555 1355/1415/556 +f 1319/1375/557 1318/1374/290 1350/1410/290 1348/1407/557 +f 1337/2353/555 1336/2350/288 1351/1411/288 1353/1413/555 +f 1444/2354/561 1445/2355/562 1446/2356/563 1447/2357/564 +f 1448/2358/565 1449/2359/566 1450/2360/567 1451/2361/568 +f 1452/2362/569 1453/2363/570 1454/2364/571 1455/2365/572 +f 1453/2363/570 1456/2366/573 1457/2367/574 1454/2364/571 +f 1458/2368/575 1444/2354/561 1447/2357/564 1459/2369/576 +f 1445/2355/562 1448/2358/565 1451/2361/568 1446/2356/563 +f 1449/2359/566 1452/2362/569 1455/2365/572 1450/2360/567 +f 1456/2366/573 1458/2370/575 1459/2371/576 1457/2367/574 +f 1455/2365/572 1454/2364/571 1460/2372/577 1461/2373/578 +f 1451/2361/568 1450/2360/567 1462/2374/579 1463/2375/580 +f 1447/2357/564 1446/2356/563 1464/2376/581 1465/2377/582 +f 1457/2367/574 1459/2371/576 1466/2378/583 1467/2379/584 +f 1450/2360/567 1455/2365/572 1461/2373/578 1462/2374/579 +f 1446/2356/563 1451/2361/568 1463/2375/580 1464/2376/581 +f 1459/2369/576 1447/2357/564 1465/2377/582 1466/2380/583 +f 1454/2364/571 1457/2367/574 1467/2379/584 1460/2372/577 +f 1466/2380/583 1465/2377/582 1468/2381/542 1469/2382/136 +f 1460/2372/577 1467/2379/584 1470/2383/541 1471/2384/546 +f 1461/2373/578 1460/2372/577 1471/2384/546 1472/2385/545 +f 1463/2375/580 1462/2374/579 1473/2386/132 1474/2387/544 +f 1465/2377/582 1464/2376/581 1475/2388/543 1468/2381/542 +f 1467/2379/584 1466/2378/583 1469/2389/136 1470/2383/541 +f 1462/2374/579 1461/2373/578 1472/2385/545 1473/2386/132 +f 1464/2376/581 1463/2375/580 1474/2387/544 1475/2388/543 +f 1473/2386/132 1472/2385/545 1476/2390/585 1477/2391/586 +f 1475/2388/543 1474/2387/544 1478/2392/587 1479/2393/588 +f 1469/2382/136 1468/2381/542 1480/2394/589 1481/2395/590 +f 1471/2384/546 1470/2383/541 1482/2396/591 1483/2397/592 +f 1472/2385/545 1471/2384/546 1483/2397/592 1476/2390/585 +f 1474/2387/544 1473/2386/132 1477/2391/586 1478/2392/587 +f 1468/2381/542 1475/2388/543 1479/2393/588 1480/2394/589 +f 1470/2383/541 1469/2389/136 1481/2398/590 1482/2396/591 +f 1484/2399/290 1485/2400/593 1416/1428/593 1413/1425/290 +f 1486/2401/594 1487/2402/595 1404/1416/595 1418/1430/594 +f 1488/2403/288 1489/2404/596 1408/1420/596 1405/1417/288 +f 1490/2405/597 1491/2406/598 1412/1424/598 1409/1421/597 +f 1485/2400/593 1486/2407/594 1418/1432/594 1416/1428/593 +f 1487/2402/595 1488/2403/288 1405/1417/288 1404/1416/595 +f 1489/2404/596 1490/2405/597 1409/1421/597 1408/1420/596 +f 1491/2406/598 1484/2399/290 1413/1425/290 1412/1424/598 +f 1421/2408/596 1420/2409/288 1430/1444/288 1433/1447/596 +f 1415/1427/598 1414/1426/290 1429/1443/290 1428/1442/598 +f 1422/2410/597 1421/2408/596 1433/1447/596 1435/1449/597 +f 1414/1426/290 1417/1429/593 1432/1446/593 1429/1443/290 +f 1423/2411/598 1422/2412/597 1435/1453/597 1437/1452/598 +f 1417/1429/593 1419/1433/594 1434/1448/594 1432/1446/593 +f 1424/2413/290 1423/2411/598 1437/1452/598 1439/1455/290 +f 1419/1431/594 1407/1419/595 1436/1451/595 1434/1450/594 +f 1410/1422/597 1415/1427/598 1428/1442/598 1442/1458/597 +f 1420/2409/288 1427/2414/595 1431/1445/595 1430/1444/288 +f 1411/1423/596 1410/1422/597 1442/1458/597 1440/1456/596 +f 1427/2414/595 1426/2415/594 1443/1459/594 1431/1445/595 +f 1406/1418/288 1411/1423/596 1440/1456/596 1438/1454/288 +f 1426/2415/594 1425/2416/593 1441/1457/593 1443/1459/594 +f 1407/1419/595 1406/1418/288 1438/1454/288 1436/1451/595 +f 1425/2416/593 1424/2413/290 1439/1455/290 1441/1457/593 +f 1532/2417/599 1533/2418/600 1534/2419/601 1535/2420/602 +f 1536/2421/603 1537/2422/604 1538/2423/605 1539/2424/606 +f 1540/2425/607 1541/2426/608 1542/2427/609 1543/2428/610 +f 1541/2426/608 1544/2429/611 1545/2430/612 1542/2427/609 +f 1546/2431/613 1532/2417/599 1535/2420/602 1547/2432/614 +f 1533/2418/600 1536/2421/603 1539/2424/606 1534/2419/601 +f 1537/2422/604 1540/2425/607 1543/2428/610 1538/2423/605 +f 1544/2429/611 1546/2433/613 1547/2434/614 1545/2430/612 +f 1543/2428/610 1542/2427/609 1548/2435/615 1549/2436/616 +f 1539/2424/606 1538/2423/605 1550/2437/617 1551/2438/618 +f 1535/2420/602 1534/2419/601 1552/2439/619 1553/2440/620 +f 1545/2430/612 1547/2434/614 1554/2441/621 1555/2442/622 +f 1538/2423/605 1543/2428/610 1549/2436/616 1550/2437/617 +f 1534/2419/601 1539/2424/606 1551/2438/618 1552/2439/619 +f 1547/2432/614 1535/2420/602 1553/2440/620 1554/2443/621 +f 1542/2427/609 1545/2430/612 1555/2442/622 1548/2435/615 +f 1554/2443/621 1553/2440/620 1556/2444/623 1557/2445/136 +f 1548/2435/615 1555/2442/622 1558/2446/624 1559/2447/625 +f 1549/2436/616 1548/2435/615 1559/2447/625 1560/2448/626 +f 1551/2438/618 1550/2437/617 1561/2449/132 1562/2450/627 +f 1553/2440/620 1552/2439/619 1563/2451/628 1556/2444/623 +f 1555/2442/622 1554/2441/621 1557/2452/136 1558/2446/624 +f 1550/2437/617 1549/2436/616 1560/2448/626 1561/2449/132 +f 1552/2439/619 1551/2438/618 1562/2450/627 1563/2451/628 +f 1561/2449/132 1560/2448/626 1564/2453/629 1565/2454/630 +f 1563/2451/628 1562/2450/627 1566/2455/631 1567/2456/632 +f 1557/2445/136 1556/2444/623 1568/2457/633 1569/2458/634 +f 1559/2447/625 1558/2446/624 1570/2459/635 1571/2460/636 +f 1560/2448/626 1559/2447/625 1571/2460/636 1564/2453/629 +f 1562/2450/627 1561/2449/132 1565/2454/630 1566/2455/631 +f 1556/2444/623 1563/2451/628 1567/2456/632 1568/2457/633 +f 1558/2446/624 1557/2452/136 1569/2461/634 1570/2459/635 +f 1572/2462/294 1573/2463/637 1504/1472/637 1501/1469/294 +f 1574/2464/638 1575/2465/639 1492/1460/639 1506/1474/638 +f 1576/2466/293 1577/2467/640 1496/1464/640 1493/1461/293 +f 1578/2468/641 1579/2469/642 1500/1468/642 1497/1465/641 +f 1573/2463/637 1574/2470/638 1506/1476/638 1504/1472/637 +f 1575/2465/639 1576/2466/293 1493/1461/293 1492/1460/639 +f 1577/2467/640 1578/2468/641 1497/1465/641 1496/1464/640 +f 1579/2469/642 1572/2462/294 1501/1469/294 1500/1468/642 +f 1509/2471/640 1508/2472/293 1518/1488/293 1521/1491/640 +f 1503/1471/642 1502/1470/294 1517/1487/294 1516/1486/642 +f 1510/2473/641 1509/2471/640 1521/1491/640 1523/1493/641 +f 1502/1470/294 1505/1473/637 1520/1490/637 1517/1487/294 +f 1511/2474/642 1510/2475/641 1523/1497/641 1525/1496/642 +f 1505/1473/637 1507/1477/638 1522/1492/638 1520/1490/637 +f 1512/2476/294 1511/2474/642 1525/1496/642 1527/1499/294 +f 1507/1475/638 1495/1463/639 1524/1495/639 1522/1494/638 +f 1498/1466/641 1503/1471/642 1516/1486/642 1530/1502/641 +f 1508/2472/293 1515/2477/639 1519/1489/639 1518/1488/293 +f 1499/1467/640 1498/1466/641 1530/1502/641 1528/1500/640 +f 1515/2477/639 1514/2478/638 1531/1503/638 1519/1489/639 +f 1494/1462/293 1499/1467/640 1528/1500/640 1526/1498/293 +f 1514/2478/638 1513/2479/637 1529/1501/637 1531/1503/638 +f 1495/1463/639 1494/1462/293 1526/1498/293 1524/1495/639 +f 1513/2479/637 1512/2476/294 1527/1499/294 1529/1501/637 +f 1620/2480/643 1621/2481/644 1622/2482/645 1623/2483/646 +f 1624/2484/647 1625/2485/648 1626/2486/649 1627/2487/650 +f 1628/2488/651 1629/2489/652 1630/2490/653 1631/2491/654 +f 1629/2489/652 1632/2492/655 1633/2493/656 1630/2490/653 +f 1634/2494/657 1620/2480/643 1623/2483/646 1635/2495/658 +f 1621/2481/644 1624/2484/647 1627/2487/650 1622/2482/645 +f 1625/2485/648 1628/2488/651 1631/2491/654 1626/2486/649 +f 1632/2492/655 1634/2496/657 1635/2497/658 1633/2493/656 +f 1631/2491/654 1630/2490/653 1636/2498/659 1637/2499/660 +f 1627/2487/650 1626/2486/649 1638/2500/383 1639/2501/661 +f 1623/2483/646 1622/2482/645 1640/2502/662 1641/2503/663 +f 1633/2493/656 1635/2497/658 1642/2504/664 1643/2505/665 +f 1626/2486/649 1631/2491/654 1637/2499/660 1638/2500/383 +f 1622/2482/645 1627/2487/650 1639/2501/661 1640/2502/662 +f 1635/2495/658 1623/2483/646 1641/2503/663 1642/2506/664 +f 1630/2490/653 1633/2493/656 1643/2505/665 1636/2498/659 +f 1642/2506/664 1641/2503/663 1644/2507/624 1645/2508/136 +f 1636/2498/659 1643/2505/665 1646/2509/623 1647/2510/628 +f 1637/2499/660 1636/2498/659 1647/2510/628 1648/2511/627 +f 1639/2501/661 1638/2500/383 1649/2512/132 1650/2513/626 +f 1641/2503/663 1640/2502/662 1651/2514/625 1644/2507/624 +f 1643/2505/665 1642/2504/664 1645/2515/136 1646/2509/623 +f 1638/2500/383 1637/2499/660 1648/2511/627 1649/2512/132 +f 1640/2502/662 1639/2501/661 1650/2513/626 1651/2514/625 +f 1649/2512/132 1648/2511/627 1652/2516/666 1653/2517/667 +f 1651/2514/625 1650/2513/626 1654/2518/668 1655/2519/669 +f 1645/2508/136 1644/2507/624 1656/2520/670 1657/2521/671 +f 1647/2510/628 1646/2509/623 1658/2522/672 1659/2523/673 +f 1648/2511/627 1647/2510/628 1659/2523/673 1652/2516/666 +f 1650/2513/626 1649/2512/132 1653/2517/667 1654/2518/668 +f 1644/2507/624 1651/2514/625 1655/2519/669 1656/2520/670 +f 1646/2509/623 1645/2515/136 1657/2524/671 1658/2522/672 +f 1660/2525/293 1661/2526/674 1592/1516/674 1589/1513/293 +f 1662/2527/675 1663/2528/676 1580/1504/676 1594/1518/675 +f 1664/2529/294 1665/2530/677 1584/1508/677 1581/1505/294 +f 1666/2531/678 1667/2532/679 1588/1512/679 1585/1509/678 +f 1661/2526/674 1662/2533/675 1594/1520/675 1592/1516/674 +f 1663/2528/676 1664/2529/294 1581/1505/294 1580/1504/676 +f 1665/2530/677 1666/2531/678 1585/1509/678 1584/1508/677 +f 1667/2532/679 1660/2525/293 1589/1513/293 1588/1512/679 +f 1597/2534/677 1596/2535/294 1606/1532/294 1609/1535/677 +f 1591/1515/679 1590/1514/293 1605/1531/293 1604/1530/679 +f 1598/2536/678 1597/2534/677 1609/1535/677 1611/1537/678 +f 1590/1514/293 1593/1517/674 1608/1534/674 1605/1531/293 +f 1599/2537/679 1598/2538/678 1611/1541/678 1613/1540/679 +f 1593/1517/674 1595/1521/675 1610/1536/675 1608/1534/674 +f 1600/2539/293 1599/2537/679 1613/1540/679 1615/1543/293 +f 1595/1519/675 1583/1507/676 1612/1539/676 1610/1538/675 +f 1586/1510/678 1591/1515/679 1604/1530/679 1618/1546/678 +f 1596/2535/294 1603/2540/676 1607/1533/676 1606/1532/294 +f 1587/1511/677 1586/1510/678 1618/1546/678 1616/1544/677 +f 1603/2540/676 1602/2541/675 1619/1547/675 1607/1533/676 +f 1582/1506/294 1587/1511/677 1616/1544/677 1614/1542/294 +f 1602/2541/675 1601/2542/674 1617/1545/674 1619/1547/675 +f 1583/1507/676 1582/1506/294 1614/1542/294 1612/1539/676 +f 1601/2542/674 1600/2539/293 1615/1543/293 1617/1545/674 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon.png index 8a5fb8d117c6e8e91287724f110a2b25ac19f5ac..c581b38ae7e1baf8c6690090441fec5da627a8f7 100644 GIT binary patch delta 2128 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 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_0.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_0.png new file mode 100644 index 0000000000000000000000000000000000000000..f495fbdfa2ddb8c5d7cf021218d9d9222e543607 GIT binary patch literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^EI=&4!3HD^x83^;5-4`^4B-HR8jh3>Am827#W6%; zYVx1@=7;voLJ3I;KyalYVFyDSSIU7iANm(Qe2}T}UfwXufJI`#yC3Hd9Qg46KX2Rr mlo^g~))5jw@M^OF6NC3N;kOJEDlLFUGI+ZBxvXAm7{5#W6%; zYVx1@=7;voLJ3I;KyalYVFyDSSIU7iANm(Qe2}T}UfwXufJI`#yC3Hd9Qg46KX2Rr slo^g|tpELQPhewXJN8Q_FVdQ&MBb@0G)X>y#N3J literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_10.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_10.png new file mode 100644 index 0000000000000000000000000000000000000000..0f3ba18831ed0f93773737e02e70f038ce8fdc05 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^EI=&4!3HD^x83^;5-4`^4B-HR8jh3>AV0v<#W6%; zYH$BR-UbB$7WUj@w=$TbKj$)s9R9%|df3_Q=JB{P^_>ZBR=Ny{tLylj7hm^Ev_CiP y)ZGiOG}+QzTumSUPf1zw!zgG@VvETB_wkwAl@`Q(mk0-%&EVAm7>3#W6%; z>fHW=oCgeejy&Am7!~#W6%; z>fHW=oDB{F%;{^7-P+cfTfAFRo_(H@dWORM2`wr)PnviYz8ws%u(;sZ;N{}F_K52f n-vjexzwPgPZ@uVK-G2s;vl{Vy4Am7E)#W6%; z>fHW=oCgeen9t8$wz-mX{ma~S{SLD(xqGtyl5z4#RPN?$uxM9zXjhL2?Od^9>JP6P m<~O?!|GU0%zp~c+@A^HR8u8baZn6T+WAJqKb6Mw<&;$UM)GmVn literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_14.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_14.png new file mode 100644 index 0000000000000000000000000000000000000000..4270afad14bbb04ca0fbba70a4f6808dedb4b028 GIT binary patch literal 138 zcmeAS@N?(olHy`uVBq!ia0vp^EI=&4!3HD^x83^;5-4`^4B-HR8jh3>Am7o`#W6%; z>fHW~yax<;4!^LQeE(0&{V(QkX0S*$g)LSP47zb*5xYX$kpe0Aq+r!Wi^3l5Ei!s@ ja>IYaeeXL?{r$)NNL?+yqdEF2&@cv1S3j3^P6Am7W=#W6%; zYVx1@=7;voLJ3I;KyalYVFyDSSIU7iANm(Qe2}T}UfwXufJI`#yC3Hd9Qg46KX2Rr rlo^eOW&i(oHZare`5L+69ybP0l+XkKZ!9#F literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_3.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_3.png new file mode 100644 index 0000000000000000000000000000000000000000..cae11f3fb152454a78b08191d164c0cfff8fdb7d GIT binary patch literal 152 zcmeAS@N?(olHy`uVBq!ia0vp^EI=&4!3HD^x83^;5-4`^4B-HR8jh3>Am889#W6%; z>fHW~ybT6CEczRGHm7oKmNMl|nI*#-C^ALuk*avzUjKh7j%>LMFDsTy2Pa+ed%EY{ ywyRSopIq=)aRKXp10`jxtS6#wU4Pd8XIN$;wW8qVnomHZ89ZJ6T-G@yGywqbiZS5; literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_4.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_4.png new file mode 100644 index 0000000000000000000000000000000000000000..44bc064316438e9dbcc2018b53d25de35e86547e GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^EI=&4!3HD^x83^;5-4`^4B-HR8jh3>AV0v<#W6%; zYH$BW-UA8(%9m2=g`UkZRu;bH-xjo%6Rt z?{@02)wVZ?-FbV#tznLUsOj>#eJ5W2|Hpn^P;SZYJF=EQvl%>H{an^LB{Ts5)#Wro literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_5.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_5.png new file mode 100644 index 0000000000000000000000000000000000000000..900289ac16c1eb1907cbc71ae35c354a3c39cd52 GIT binary patch literal 156 zcmeAS@N?(olHy`uVBq!ia0vp^EI=&4!3HD^x83^;5-4`^4B-HR8jh3>AV1jC#W6%; zYH$BR-UbB$7WUj@w=$TbKj$)s9RATDz%$9>q+MR|?w#CeDGAIR?xE((dMD03RCza7 zt6pic<8EgMV?Cv)uQw+uEn2i}#~TR_&3*Ul8KmyWEeYPAV1jC#W6%; zYH$BR-UbB`XZc+{n>Vtodv=p`M%!~n0|_DL$#Qj<&Hf(j;km(ZDDWrOzJ`%7rqHjAO4ZoZ8waA}DHl^xj8tPR+Xe^$c+{Am7i^#W6%; z>fHW~ybT5d%T`Q|7{y#%w?2?}^V3&eF6s8<%iMa#MImxarhVD#4>Xy<)78&qol`;+0Dbl@yZ`_I literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_8.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_8.png new file mode 100644 index 0000000000000000000000000000000000000000..53cf4aa43211e1a7990f456eb5322ce1ff947572 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^EI=&4!3HD^x83^;5-4`^4B-HR8jh3>AV0v<#W6%; zYH$BR-Ub7nBQX(eH#fON_L_62%$nscDDrXT(&{HuBD@SIHnJ|rvGxCWTOu;^&GAbA z+-FO~Z!sq*X|3wq+&58b{o-Rii?96HSI_v!Kxx5@K%<91vl%>H{an^LB{Ts56JRv@ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_9.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_9.png new file mode 100644 index 0000000000000000000000000000000000000000..db86ae0595776556476698dc557593e4cd263957 GIT binary patch literal 154 zcmeAS@N?(olHy`uVBq!ia0vp^EI=&4!3HD^x83^;5-4`^4B-HR8jh3>AV1L4#W6%; zYH$BR-UbB$7WUj@w=$TbKj$)s9RAUu!Pc9%sekvKbI+P2Uz#wsEd3S3Bfd9{>-Dzn zEBCl<`PJDd85nr>N369`&>jiRe~B$3@88R-{#IJ>_J)rt&~OG%S3j3^P65> literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_0.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_0.png new file mode 100644 index 0000000000000000000000000000000000000000..ac7bde5d9eb10ed229aedd20ab56eb3928442905 GIT binary patch literal 220 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfVZG1wLN(;dT*RWgWi!zRf(x8Fzoh`uzB*{ok=sow-F{(R;DZ RHK6ktJYD@<);T3K0RRQqRMP+e literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_1.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_1.png new file mode 100644 index 0000000000000000000000000000000000000000..572ed079928896004e4a0db7df5bd56cc8e21f9b GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfw7caMZFnfrnB;!(9nOR5z%?!R%bv}|&KxE6bX zl@puAd8v&j3eK6|RsWz?cIeitlUJk=wynxNIvlK-!=u5R05qfG?| z{M-*PJm1@rR#+$XW;2_10ke;)-0X^t0q-3)fAI-+7O3^rf5_M~wIxF3%(1_>yl+ff z5$TcU=XRQ>!1LLs`@0Wig)L)JII#Ao)OClaTNk*nO4&Gs&Uvr$=I*ap-yc7<|2sCT Y-+y5sS{5vO7U)U_Pgg&ebxsLQ0AH(I!TGIWp&tb z28y!pI4Ts*-M_-uE{$7KKrm#h{@bJ-#}@l$b*TMitcv^G6#vM!Z}%VV|BlW2cW#)4 TdtW;Zax;UctDnm{r-UW|aN|)= literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_3.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_3.png new file mode 100644 index 0000000000000000000000000000000000000000..71aec62b02cf1c83d6b10b23a22ec6835b0d4824 GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfaSXBO zy*ue3FO#BxtNgLWwKF1)1~k+P@J-viQF{h1RH6U? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_5.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_5.png new file mode 100644 index 0000000000000000000000000000000000000000..c83bb391302ceb7241e8754f28a40edd96ca7e9e GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf{~)BCOV6tfq%kkqPdMP`S3 z^9>hQ6wmlE_kg3wp;^Dzy?DN;n9WRzRe^uWT7v?q;PeMy)viev&OiQ(ODSQoV?x-I zOOgz22eR({;X2DClr;69?^KJe2ZeufInS?uD$nso_L#xH&F<}KKqoPHy85}Sb4q9e E0M6h{T>t<8 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_6.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_6.png new file mode 100644 index 0000000000000000000000000000000000000000..d4ffd98e2384976b4afefecf5e8a2b0b374aec82 GIT binary patch literal 204 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf33s79-SmT_)hi@2z|S=?p%~G0t)!Hq5>_yabJxZ;Ex^$!@j%qK9O5t#RvJ>ZFEA8QwH w1G|#ji^mKvUIoNBco>_R_At+z(%#6(U?*;vlYHf7B+xkwp00i_>zopr0A%bz+5i9m literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_7.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_7.png new file mode 100644 index 0000000000000000000000000000000000000000..2b2d05ff59bb24ce931a26565b2fcc60fa207baf GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfvJw#&xYXmz`?x{ N@O1TaS?83{1OQVzO9%h} literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_8.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_8.png new file mode 100644 index 0000000000000000000000000000000000000000..1c00d206e3fb0a64e4817dd4ddbc414ec2a5604c GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf)8nsR*!8Jg;L+j2nD*ICrC$~baY^`A%&3rey1jcFd)n-c3mId%B^iG0 zZsA?@uI`C-W48q7Y02`)KP{fN8yrvhd0#v5a#m5R=z%$F9`rS^(M6hNUPyL~ z0_Q|!vx-$UpS5kcmfX$mP!oH1UtxW)u+7A5(`TR8|6y*FEqiIE=hn~k66h`lPgg&e IbxsLQ0JLvToB#j- literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_9.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_9.png new file mode 100644 index 0000000000000000000000000000000000000000..73745acb05e60ea1129f78cfb73fc4c01ad85d9c GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf06M5lfc}a#S6QieNl5wRM8-o{r}kx>E#d zgB9M)R4Q7J^=O#J6vcVe#^B{({Us2*kr zc+RDk@$H+eZS)3yIcB|Qxs&=Ao|BrfKy{KggUY91~tGzWc+vUblRv$_u66HC}GyE{ePVb;bGppZLYrw4T?EJyrCA73eMoPgg&e IbxsLQ07@QB{r~^~ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_0.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_0.png new file mode 100644 index 0000000000000000000000000000000000000000..0dcb3691aab717842198054621bb62ecb0fff467 GIT binary patch literal 235 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfUs*oe*kF75F1|B7#MKHNVGDIoqT))c&~>(6tPnu6{1-oD!M<;1E@b literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_1.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_1.png new file mode 100644 index 0000000000000000000000000000000000000000..a463074ae0c1b4a3625a791d6f53aa63db0e2d16 GIT binary patch literal 242 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf#(=nrs34<>$=G85ZB&oV8$8z*SbC zqft8=J}`7}xTGk=<=kTwlx5$-sIfF><8L;@W0f)4ttWObop^K0rf8>gH)mN^@5=qt oYVezXCHIU;dyZ%xx?lg8+i{7N6R&GV0npJ5p00i_>zopr0QFs4+W-In literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_2.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_2.png new file mode 100644 index 0000000000000000000000000000000000000000..cbeba973020a461702cf478ff3445fe29acac35f GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfQ-Z^UN?LWlNxn6nMuv}f>>2pSKxtQt#q+~P3GQ8I2%5-VIh$Imfz_pF*H!41M*eT>1qE|9G4*FN^bQaXg&59QKC$IA0lE)*b zJL?)4-)(KPsh#%vaGf&421omr%_5zC@dw$Cvi&W(R`THfDnmDhLz@oFnZMG?z&NQ# zx?*+qyG0%k)L#6yTU{C(E@Cyukz*lO+bNz)9C=&}74K&=T~&P7xT=eJkH@xC&%{DZ wPYWxg%f4}5@@K*<7VQ-*F^B*DHQ&b&{M@qq{`?R7fNp2-boFyt=akR{0Oo^ZE&u=k literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_6.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_6.png new file mode 100644 index 0000000000000000000000000000000000000000..8f5eaa8d429138e89203b8e92117f8012bf9365f GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf_>-=KL2FoBz=?H5B)|>5G${U((m_na@VDmdzIH%d5KqOH8A$K=fMoK+_vw9r97Gc59M(<-q_ twkIo^?+a{{4+>3a(<$Kl{{8+BR`qJLdB;~5o&ma?!PC{xWt~$(69C|XU-SR~ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_7.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_7.png new file mode 100644 index 0000000000000000000000000000000000000000..b0fc60ea39927c65700937d416ee32d63db6f191 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfV! p6khrNu=A;9vkXuF`D=cUvGtfWUX9pE?0MZ!S{`0&J1Pg7VbdNSR$0!wRv*Iqw>0idHg}tZsfEuvR}vc!H~G fV&8}F_kXZSoHvx!X|HhvI+nrH)z4*}Q$iB}1-n^M literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_empty.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..61183254ec1050227ae17ea7159208630d77a6ff GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfft~yVwc=-6yAHgy?XSQ7?lQIJCC$UMa zGfUyT85RFcn&H5rcLyT77TgZsup;70@TRP$4fA#_o!MYHf9Ko-iOVXxo{7n^1pEz= za@nM{T6f3EsSK89LKyE0Y1%K*I^e6ic=hk!`8CYCbJQy$-WSUO9mL@2>gTe~DWM4f Df{;(D literal 0 HcmV?d00001 From e269653c69638e8bd41c016e196aa5251fb2c279 Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 22 May 2023 18:59:22 +0200 Subject: [PATCH 109/285] fixed none keybind --- gradle.properties | 2 +- src/main/java/com/hbm/lib/RefStrings.java | 2 +- src/main/java/com/hbm/main/ModEventHandlerClient.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/gradle.properties b/gradle.properties index c7f807b69..b9eb6b50b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4606 +mod_build_number=4607 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting),\ diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 7f4e466a7..f3cc40fb2 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 (4606)"; + public static final String VERSION = "1.0.27 BETA (4607)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 0b0967b59..68e243c6e 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -996,7 +996,7 @@ public class ModEventHandlerClient { for(Object o : KeyBinding.keybindArray) { KeyBinding key = (KeyBinding) o; - if(key.getKeyCode() == keyCode && KeyBinding.hash.lookup(key.getKeyCode()) != key) { + if(keyCode != 0 && key.getKeyCode() == keyCode && KeyBinding.hash.lookup(key.getKeyCode()) != key) { key.pressed = state; if(state) { From 7d49108c95506fce810423274bfff723710a18e5 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 23 May 2023 16:33:16 +0200 Subject: [PATCH 110/285] some model garbage --- .../assets/hbm/models/weapons/cryo_cannon.obj | 2267 ++--- .../hbm/models/weapons/cryo_cannon_alt.obj | 8217 +++++++++++++++++ .../hbm/textures/models/tank/tank_IONGEL.png | Bin 0 -> 1172 bytes .../textures/models/weapons/cryo_cannon.png | Bin 2242 -> 2283 bytes 4 files changed, 9453 insertions(+), 1031 deletions(-) create mode 100644 src/main/resources/assets/hbm/models/weapons/cryo_cannon_alt.obj create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_IONGEL.png diff --git a/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj b/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj index 32b7cee31..32f6af5ba 100644 --- a/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj +++ b/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj @@ -2367,6 +2367,74 @@ v 0.360260 0.313847 -0.109375 v 0.025412 0.247242 -0.109375 v 0.402115 0.212799 0.109375 v 0.025412 0.137868 0.109375 +v 0.375000 2.500000 -1.875000 +v 0.375000 2.500000 -0.875000 +v -0.375000 2.500000 -1.875000 +v -0.375000 2.500000 -0.875000 +v 0.375000 2.250000 -1.875000 +v 0.375000 2.250000 -0.875000 +v -0.375000 2.250000 -1.875000 +v -0.375000 2.250000 -0.875000 +v 0.000000 2.500000 -1.875000 +v -0.088388 2.463388 -1.875000 +v -0.125000 2.375000 -1.875000 +v 0.125000 2.375000 -1.875000 +v 0.088388 2.463388 -1.875000 +v 0.000000 2.500000 -1.125000 +v -0.088388 2.463388 -1.125000 +v -0.125000 2.375000 -1.125000 +v 0.125000 2.375000 -1.125000 +v 0.088388 2.463388 -1.125000 +v 0.000000 2.426777 -0.948223 +v -0.088388 2.400888 -0.974111 +v -0.125000 2.338388 -1.036612 +v 0.125000 2.338388 -1.036612 +v 0.088388 2.400888 -0.974111 +v 0.000000 2.250000 -0.875000 +v -0.088388 2.250000 -0.911611 +v -0.125000 2.250000 -1.000000 +v 0.125000 2.250000 -1.000000 +v 0.088388 2.250000 -0.911611 +v 0.250000 2.500000 -1.875000 +v 0.161612 2.463388 -1.875000 +v 0.125000 2.375000 -1.875000 +v 0.375000 2.375000 -1.875000 +v 0.338388 2.463388 -1.875000 +v 0.250000 2.500000 -1.125000 +v 0.161612 2.463388 -1.125000 +v 0.125000 2.375000 -1.125000 +v 0.375000 2.375000 -1.125000 +v 0.338388 2.463388 -1.125000 +v 0.250000 2.426777 -0.948223 +v 0.161612 2.400888 -0.974111 +v 0.125000 2.338388 -1.036612 +v 0.375000 2.338388 -1.036612 +v 0.338388 2.400888 -0.974111 +v 0.250000 2.250000 -0.875000 +v 0.161612 2.250000 -0.911611 +v 0.125000 2.250000 -1.000000 +v 0.375000 2.250000 -1.000000 +v 0.338388 2.250000 -0.911611 +v -0.250000 2.500000 -1.875000 +v -0.338388 2.463388 -1.875000 +v -0.375000 2.375000 -1.875000 +v -0.125000 2.375000 -1.875000 +v -0.161612 2.463388 -1.875000 +v -0.250000 2.500000 -1.125000 +v -0.338388 2.463388 -1.125000 +v -0.375000 2.375000 -1.125000 +v -0.125000 2.375000 -1.125000 +v -0.161612 2.463388 -1.125000 +v -0.250000 2.426777 -0.948223 +v -0.338388 2.400888 -0.974111 +v -0.375000 2.338388 -1.036612 +v -0.125000 2.338388 -1.036612 +v -0.161612 2.400888 -0.974111 +v -0.250000 2.250000 -0.875000 +v -0.338388 2.250000 -0.911611 +v -0.375000 2.250000 -1.000000 +v -0.125000 2.250000 -1.000000 +v -0.161612 2.250000 -0.911611 vt 0.227586 -0.000000 vt 0.255172 -0.000000 vt 0.255172 0.125000 @@ -2827,20 +2895,16 @@ vt 0.351724 0.140625 vt 0.324138 0.187500 vt 0.324138 0.093750 vt 0.344828 0.093750 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.000000 -vt 1.000000 0.000000 +vt 0.696552 0.687500 +vt 0.696552 0.625000 +vt 0.703448 0.625000 +vt 0.703448 0.687500 +vt 0.696552 0.500000 +vt 0.696552 0.437500 +vt 0.703448 0.437500 +vt 0.703448 0.500000 +vt 0.731034 0.437500 +vt 0.731034 0.687500 vt 0.413793 0.914062 vt 0.413793 0.859375 vt 0.420690 0.859375 @@ -3086,8 +3150,9 @@ vt 0.986207 0.531250 vt 0.972414 0.593750 vt 0.972414 0.562500 vt 0.979310 0.578125 -vt 0.551724 0.500000 vt 0.551724 0.625000 +vt 0.565517 0.609375 +vt 0.620690 0.609375 vt 0.620690 0.734375 vt 0.606897 0.734375 vt 0.620690 0.640625 @@ -3098,6 +3163,7 @@ vt 0.662069 0.734375 vt 0.648276 0.640625 vt 0.565517 0.390625 vt 0.565517 0.484375 +vt 0.551724 0.500000 vt 0.662069 0.375000 vt 0.606897 0.390625 vt 0.620690 0.484375 @@ -3772,6 +3838,28 @@ vt 0.096552 0.281250 vt 0.117241 0.281250 vt 0.089655 0.328125 vt 0.089655 0.296875 +vt 0.455172 0.531250 +vt 0.510345 0.531250 +vt 0.510345 0.562500 +vt 0.455172 0.562500 +vt 0.620690 0.515625 +vt 0.565517 0.515625 +vt 0.565517 0.515625 +vt 0.620690 0.515625 +vt 0.620690 0.609375 +vt 0.565517 0.609375 +vt 0.441379 0.609375 +vt 0.441379 0.515625 +vt 0.455172 0.515625 +vt 0.455172 0.609375 +vt 0.524138 0.515625 +vt 0.524138 0.609375 +vt 0.510345 0.609375 +vt 0.510345 0.515625 +vt 0.510345 0.593750 +vt 0.455172 0.593750 +vt 0.455172 0.562500 +vt 0.510345 0.562500 vt 0.089655 0.375000 vt 0.089655 0.421875 vt 0.075862 0.421875 @@ -4587,6 +4675,66 @@ vt 0.158621 0.109375 vt 0.179310 0.109375 vt 0.172414 0.109375 vt 0.165517 0.109375 +vt 0.255172 0.234375 +vt 0.255172 0.218750 +vt 0.296552 0.218750 +vt 0.296552 0.234375 +vt 0.255172 0.203125 +vt 0.255172 0.187500 +vt 0.296552 0.187500 +vt 0.296552 0.203125 +vt 0.255172 0.250000 +vt 0.296552 0.250000 +vt 0.310345 0.187500 +vt 0.310345 0.203125 +vt 0.310345 0.234375 +vt 0.310345 0.250000 +vt 0.310345 0.218750 +vt 0.324138 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.187500 +vt 0.324138 0.203125 +vt 0.324138 0.250000 +vt 0.255172 0.234375 +vt 0.255172 0.218750 +vt 0.296552 0.218750 +vt 0.296552 0.234375 +vt 0.255172 0.203125 +vt 0.255172 0.187500 +vt 0.296552 0.187500 +vt 0.296552 0.203125 +vt 0.255172 0.250000 +vt 0.296552 0.250000 +vt 0.310345 0.187500 +vt 0.310345 0.203125 +vt 0.310345 0.234375 +vt 0.310345 0.250000 +vt 0.310345 0.218750 +vt 0.324138 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.187500 +vt 0.324138 0.203125 +vt 0.324138 0.250000 +vt 0.255172 0.234375 +vt 0.255172 0.218750 +vt 0.296552 0.218750 +vt 0.296552 0.234375 +vt 0.255172 0.203125 +vt 0.255172 0.187500 +vt 0.296552 0.187500 +vt 0.296552 0.203125 +vt 0.255172 0.250000 +vt 0.296552 0.250000 +vt 0.310345 0.187500 +vt 0.310345 0.203125 +vt 0.310345 0.234375 +vt 0.310345 0.250000 +vt 0.310345 0.218750 +vt 0.324138 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.187500 +vt 0.324138 0.203125 +vt 0.324138 0.250000 vn 0.0000 -1.0000 -0.0000 vn 0.0000 1.0000 0.0000 vn -1.0000 0.0000 0.0000 @@ -5143,6 +5291,19 @@ vn -0.8985 0.3215 -0.2988 vn -0.4080 -0.8627 0.2988 vn 0.3468 -0.8373 0.4226 vn 0.8985 -0.3215 0.2988 +vn -0.0000 0.9824 0.1866 +vn 0.6794 0.7194 0.1448 +vn -0.9204 0.3812 0.0866 +vn -0.6794 0.7194 0.1448 +vn 0.9204 0.3812 0.0866 +vn -0.9239 0.2706 0.2706 +vn -0.6630 0.5294 0.5294 +vn 0.6630 0.5294 0.5294 +vn 0.9239 0.2706 0.2706 +vn 0.6333 0.2962 0.7150 +vn -0.9125 0.1566 0.3780 +vn -0.6333 0.2962 0.7150 +vn 0.9125 0.1566 0.3780 s off f 227/323/124 228/324/124 229/325/124 230/326/124 f 231/327/125 232/328/125 233/329/125 234/330/125 @@ -5308,1036 +5469,1080 @@ f 526/772/128 525/771/128 529/779/128 528/774/128 f 524/777/130 523/781/130 527/782/130 530/778/130 f 328/783/129 332/784/129 531/785/129 532/786/129 f 331/787/130 279/788/130 533/789/130 534/790/130 -f 332/791/124 331/792/124 534/793/124 531/794/124 -f 531/795/138 534/796/138 533/789/138 532/786/138 -f 535/797/127 536/798/127 537/799/127 538/800/127 -f 539/801/126 540/802/126 541/803/126 542/804/126 -f 538/800/154 537/799/154 540/802/154 539/801/154 543/805/154 544/806/154 -f 544/806/155 543/805/155 545/807/155 546/808/155 -f 539/809/156 542/810/156 545/807/156 543/805/156 -f 535/811/157 538/812/157 544/806/157 546/808/157 -f 265/390/124 277/389/124 276/813/124 1051/814/124 -f 547/815/158 548/816/158 549/817/158 550/818/158 -f 551/819/127 552/820/127 553/821/127 549/822/127 548/823/127 554/824/127 -f 550/818/148 549/817/148 553/825/148 555/826/148 -f 555/826/159 553/825/159 552/827/159 556/828/159 -f 556/829/126 557/830/126 558/831/126 547/832/126 550/833/126 555/834/126 -f 559/835/124 560/836/124 561/837/124 562/838/124 -f 561/837/127 560/836/127 563/839/127 564/840/127 -f 559/835/126 562/838/126 565/841/126 566/842/126 -f 567/843/136 568/844/136 569/845/136 570/846/136 -f 571/847/127 572/848/127 570/846/127 569/845/127 -f 573/849/126 574/850/126 568/844/126 567/843/126 -f 574/851/125 571/852/125 569/845/125 568/844/125 -f 572/853/124 573/854/124 567/843/124 570/846/124 -f 575/855/136 576/856/136 577/857/136 578/858/136 -f 579/859/124 580/860/124 578/858/124 577/857/124 -f 581/861/125 582/862/125 576/856/125 575/855/125 -f 582/863/127 579/864/127 577/857/127 576/856/127 -f 580/865/126 581/866/126 575/855/126 578/858/126 -f 583/867/124 584/868/124 585/869/124 586/870/124 -f 587/871/160 588/872/160 589/873/160 590/874/160 -f 591/875/161 592/876/161 593/877/161 594/878/161 -f 586/870/162 585/869/162 592/876/162 591/875/162 -f 590/874/163 589/873/163 584/879/163 583/880/163 -f 594/878/125 593/877/125 588/872/125 587/871/125 -f 594/881/127 587/882/127 590/883/127 583/884/127 586/885/127 591/886/127 -f 595/887/125 596/888/125 597/889/125 598/890/125 -f 599/891/124 600/892/124 601/893/124 602/894/124 -f 596/895/160 603/896/160 604/897/160 597/898/160 -f 605/899/161 595/900/161 598/901/161 606/902/161 -f 600/903/162 605/904/162 606/905/162 601/906/162 -f 603/907/163 599/908/163 602/909/163 604/910/163 -f 602/894/126 601/893/126 607/911/126 608/912/126 -f 597/898/126 604/897/126 609/913/126 610/914/126 -f 606/902/126 598/901/126 611/915/126 612/916/126 -f 601/906/126 606/905/126 612/916/126 607/911/126 -f 604/910/126 602/909/126 608/917/126 609/913/126 -f 598/890/126 597/889/126 610/914/126 611/915/126 -f 607/911/162 612/916/162 613/918/162 614/919/162 -f 609/913/163 608/917/163 615/920/163 616/921/163 -f 611/915/125 610/914/125 617/922/125 618/923/125 -f 608/912/124 607/911/124 614/919/124 615/924/124 -f 610/914/160 609/913/160 616/921/160 617/922/160 -f 612/916/161 611/915/161 618/923/161 613/918/161 -f 617/922/127 616/921/127 619/925/127 620/926/127 -f 618/923/127 617/922/127 620/927/127 621/928/127 -f 613/918/127 618/923/127 621/929/127 622/930/127 -f 614/919/127 613/918/127 622/931/127 623/932/127 -f 615/924/127 614/919/127 623/933/127 624/934/127 -f 616/921/127 615/920/127 624/935/127 619/936/127 -f 619/936/163 624/935/163 625/937/163 626/938/163 -f 621/928/125 620/927/125 627/939/125 628/940/125 -f 624/934/124 623/933/124 629/941/124 625/942/124 -f 620/926/160 619/925/160 626/943/160 627/944/160 -f 622/930/161 621/929/161 628/945/161 630/946/161 -f 623/932/162 622/931/162 630/947/162 629/948/162 -f 627/944/126 626/943/126 631/949/126 632/950/126 -f 628/940/126 627/939/126 632/950/126 633/951/126 -f 630/946/126 628/945/126 633/951/126 634/952/126 -f 629/948/126 630/947/126 634/952/126 635/953/126 -f 625/942/126 629/941/126 635/953/126 636/954/126 -f 626/938/126 625/937/126 636/955/126 631/949/126 -f 633/951/125 632/950/125 637/956/125 638/957/125 -f 636/954/124 635/953/124 639/958/124 640/959/124 -f 632/950/160 631/949/160 641/960/160 637/956/160 -f 634/952/161 633/951/161 638/957/161 642/961/161 -f 635/953/162 634/952/162 642/961/162 639/958/162 -f 631/949/163 636/955/163 640/962/163 641/960/163 -f 642/961/164 638/957/164 643/963/164 644/964/164 -f 639/958/165 642/961/165 644/965/165 645/966/165 -f 641/960/166 640/962/166 646/967/166 647/968/166 -f 638/957/167 637/956/167 648/969/167 643/970/167 -f 640/959/168 639/958/168 645/971/168 646/972/168 -f 637/956/169 641/960/169 647/973/169 648/974/169 -f 643/975/127 648/976/127 647/977/127 646/978/127 645/979/127 644/980/127 -f 649/981/125 650/982/125 651/983/125 652/984/125 -f 653/985/126 654/986/126 655/987/126 656/988/126 657/989/126 -f 652/984/136 651/983/136 658/990/136 659/991/136 -f 651/983/127 650/982/127 660/992/127 658/993/127 -f 649/981/126 652/984/126 659/994/126 661/995/126 -f 662/996/170 663/997/170 664/998/170 665/999/170 -f 666/1000/126 662/1001/126 665/1002/126 667/1003/126 -f 668/1004/134 666/1000/134 667/1003/134 669/1005/134 -f 663/997/127 668/1004/127 669/1005/127 664/998/127 -f 654/986/171 653/985/171 670/1006/171 671/1007/171 -f 657/1008/136 656/1009/136 672/1010/136 673/1011/136 -f 671/1007/127 670/1006/127 673/1012/127 672/1010/127 674/1013/127 -f 654/986/170 671/1007/170 674/1014/170 655/1015/170 -f 655/1016/172 674/1013/172 672/1010/172 656/1009/172 -f 670/1006/134 653/985/134 657/1017/134 673/1018/134 -f 675/1019/170 676/1020/170 677/1021/170 678/1022/170 -f 679/1023/127 680/1024/127 677/1025/127 676/1026/127 -f 681/1027/126 682/1028/126 675/1019/126 678/1022/126 -f 680/1024/172 681/1027/172 678/1022/172 677/1025/172 -f 682/1029/171 679/1023/171 676/1026/171 675/1030/171 -f 684/1031/126 692/1032/126 693/1033/126 694/1034/126 -f 695/1035/173 696/1036/173 685/1037/173 697/1038/173 -f 692/1039/174 701/1040/174 702/1041/174 693/1033/174 -f 453/1042/125 330/481/125 329/480/125 454/1043/125 -f 715/1044/131 716/1045/131 717/1046/131 718/1047/131 -f 259/365/131 454/1043/131 719/1048/131 720/1049/131 -f 329/480/131 260/366/131 721/1050/131 722/1051/131 -f 259/365/131 720/1049/131 716/1045/131 715/1044/131 721/1050/131 260/366/131 -f 454/1043/131 329/480/131 722/1051/131 718/1047/131 717/1046/131 719/1048/131 -f 271/378/128 723/1052/128 724/1053/128 453/1042/128 -f 270/1054/128 725/1055/128 723/1052/128 271/378/128 -f 270/1054/128 330/481/128 726/1056/128 725/1055/128 -f 453/1042/128 724/1053/128 726/1056/128 330/481/128 -f 725/1057/175 726/1058/175 727/1059/175 728/1060/175 -f 721/1061/128 715/1062/128 729/1063/128 730/1064/128 -f 716/1065/176 731/1066/176 732/1067/176 717/1068/176 -f 733/1069/131 730/1064/131 729/1063/131 734/1070/131 -f 719/1071/136 735/1072/136 736/1073/136 720/1074/136 -f 737/1075/128 728/1076/128 727/1059/128 738/1077/128 -f 715/1078/177 718/1079/177 734/1070/177 729/1080/177 -f 720/1081/128 736/1073/128 731/1082/128 716/1083/128 -f 722/1084/178 721/1085/178 730/1086/178 733/1069/178 -f 718/1079/130 722/1084/130 733/1069/130 734/1070/130 -f 738/1077/129 727/1059/129 726/1058/129 724/1087/129 -f 728/1076/131 737/1075/131 723/1088/131 725/1089/131 -f 739/1090/126 740/1091/126 741/1092/126 742/1093/126 -f 740/1094/179 743/1095/179 744/1096/179 741/1097/179 -f 745/1098/127 746/1099/127 747/1100/127 748/1101/127 -f 749/1102/180 739/1090/180 742/1093/180 750/1103/180 -f 748/1101/127 747/1100/127 751/1104/127 752/1105/127 -f 741/1097/181 744/1096/181 753/1106/181 754/1107/181 -f 749/1108/127 743/1109/127 755/1110/127 -f 755/1110/172 756/1111/172 739/1090/172 749/1102/172 -f 756/1111/126 740/1112/126 739/1113/126 -f 746/1114/127 745/1115/127 757/1116/127 -f 757/1116/172 758/1117/172 759/1118/172 746/1099/172 -f 758/1117/126 760/1119/126 759/1120/126 -f 761/1121/136 762/1122/136 756/1111/136 755/1110/136 -f 763/1123/132 764/1124/132 743/1109/132 740/1125/132 -f 765/1126/127 766/1127/127 757/1116/127 745/1115/127 -f 767/1128/126 768/1129/126 760/1119/126 758/1117/126 -f 762/1122/126 763/1130/126 740/1112/126 756/1111/126 -f 766/1127/136 767/1128/136 758/1117/136 757/1116/136 -f 768/1131/132 765/1126/132 745/1115/132 760/1132/132 -f 764/1124/127 761/1121/127 755/1110/127 743/1109/127 -f 760/1133/179 745/1098/179 748/1101/179 769/1134/179 -f 743/1095/127 749/1102/127 750/1103/127 744/1096/127 -f 770/1135/125 771/1136/125 772/1137/125 773/1138/125 -f 732/1067/131 731/1082/131 736/1073/131 735/1072/131 -f 717/1068/130 732/1067/130 735/1072/130 719/1139/130 -f 737/1075/136 738/1077/136 724/1140/136 723/1141/136 -f 747/1100/182 774/1142/182 775/1143/182 751/1104/182 -f 774/1142/126 769/1144/126 776/1145/126 775/1143/126 -f 742/1093/126 741/1092/126 754/1146/126 777/1147/126 -f 769/1134/181 748/1101/181 752/1105/181 776/1148/181 -f 744/1096/127 750/1103/127 778/1149/127 753/1106/127 -f 750/1103/182 742/1093/182 777/1147/182 778/1149/182 -f 759/1118/126 760/1150/126 769/1144/126 774/1142/126 -f 746/1099/180 759/1118/180 774/1142/180 747/1100/180 -f 779/1151/162 780/1152/162 781/1153/162 782/1154/162 -f 771/1136/132 783/1155/132 784/1156/132 772/1137/132 -f 782/1154/124 781/1153/124 785/1157/124 786/1158/124 -f 783/1155/124 787/1159/124 788/1160/124 784/1156/124 -f 786/1161/163 785/1162/163 789/1163/163 790/1164/163 -f 787/1159/136 770/1165/136 773/1166/136 788/1160/136 -f 790/1164/160 789/1163/160 791/1167/160 792/1168/160 -f 781/1169/127 780/1170/127 793/1171/127 791/1172/127 789/1173/127 785/1174/127 -f 792/1168/125 791/1167/125 793/1175/125 794/1176/125 -f 794/1176/161 793/1175/161 780/1152/161 779/1151/161 -f 779/1177/126 782/1178/126 786/1179/126 790/1180/126 792/1181/126 794/1182/126 -f 784/1156/129 788/1160/129 795/1183/129 796/1184/129 -f 784/1185/132 796/1184/132 772/1186/132 -f 773/1187/136 795/1183/136 788/1188/136 -f 795/1183/136 773/1187/136 797/1189/136 798/1190/136 -f 798/1191/124 797/1192/124 799/1193/124 800/1194/124 -f 796/1184/127 795/1183/127 798/1190/127 801/1195/127 -f 772/1186/132 796/1184/132 801/1195/132 802/1196/132 -f 773/1197/126 772/1186/126 802/1196/126 797/1198/126 -f 798/1191/127 803/1199/127 801/1200/127 -f 802/1201/126 804/1202/126 797/1203/126 -f 801/1195/170 803/1199/170 804/1202/170 802/1196/170 -f 805/1204/180 806/1205/180 807/1206/180 808/1207/180 -f 803/1199/127 798/1191/127 800/1194/127 806/1205/127 -f 804/1202/125 803/1199/125 806/1205/125 805/1204/125 -f 797/1203/126 804/1202/126 805/1204/126 799/1208/126 -f 809/1209/127 810/1210/127 807/1211/127 -f 799/1208/126 805/1204/126 808/1207/126 811/1212/126 -f 800/1194/179 799/1193/179 811/1213/179 809/1214/179 -f 806/1205/127 800/1194/127 809/1214/127 807/1206/127 -f 807/1206/172 810/1210/172 812/1215/172 808/1207/172 -f 811/1216/126 812/1215/126 813/1217/126 814/1218/126 -f 811/1216/126 808/1219/126 812/1215/126 -f 815/1220/132 814/1221/132 816/1222/132 817/1223/132 -f 809/1209/132 811/1224/132 814/1225/132 818/1226/132 -f 810/1210/127 809/1209/127 818/1226/127 819/1227/127 -f 812/1215/136 810/1210/136 819/1227/136 813/1217/136 -f 819/1228/136 820/1229/136 813/1230/136 -f 818/1226/129 815/1220/129 820/1229/129 819/1227/129 -f 814/1221/132 815/1220/132 818/1231/132 -f 814/1232/125 813/1230/125 821/1233/125 816/1234/125 -f 813/1230/136 820/1229/136 822/1235/136 821/1233/136 -f 820/1229/124 815/1220/124 817/1223/124 822/1235/124 -f 660/1236/124 661/1237/124 659/1238/124 658/1239/124 -f 1052/1240/183 1053/1241/183 1054/1242/183 1055/1243/183 -f 1056/1244/183 1057/1245/183 1058/1246/183 1059/1247/183 -f 1060/1248/183 1061/1249/183 1062/1250/183 1063/1251/183 -f 1061/1249/183 1064/1252/183 1065/1253/183 1062/1250/183 -f 1066/1254/183 1052/1240/183 1055/1243/183 1067/1255/183 -f 1053/1241/183 1056/1244/183 1059/1247/183 1054/1242/183 -f 1057/1245/183 1060/1248/183 1063/1251/183 1058/1246/183 -f 1064/1252/183 1066/1256/183 1067/1257/183 1065/1253/183 -f 1068/1258/183 1069/1259/183 1070/1260/183 1071/1261/183 1072/1262/183 1073/1263/183 1074/1264/183 1075/1265/183 -f 1076/1266/183 1077/1267/183 1078/1268/183 1079/1269/183 -f 1077/1267/183 1080/1270/183 1081/1271/183 1078/1268/183 -f 1080/1270/184 1082/1272/184 1083/1273/184 1081/1271/184 -f 1082/1274/184 1084/1275/184 1085/1276/184 1083/1277/184 -f 1084/1275/183 1086/1278/183 1087/1279/183 1085/1276/183 -f 1086/1278/184 1088/1280/184 1089/1281/184 1087/1279/184 -f 1088/1280/184 1090/1282/184 1091/1283/184 1089/1281/184 -f 1090/1282/184 1076/1266/184 1079/1269/184 1091/1283/184 -f 1140/1284/185 1141/1285/185 1142/1286/185 1143/1287/185 -f 1144/1288/185 1145/1289/185 1146/1290/185 1147/1291/185 -f 1148/1292/185 1149/1293/185 1150/1294/185 1151/1295/185 -f 1149/1293/185 1152/1296/185 1153/1297/185 1150/1294/185 -f 1154/1298/185 1140/1284/185 1143/1287/185 1155/1299/185 -f 1141/1285/185 1144/1288/185 1147/1291/185 1142/1286/185 -f 1145/1289/185 1148/1292/185 1151/1295/185 1146/1290/185 -f 1152/1296/185 1154/1300/185 1155/1301/185 1153/1297/185 -f 1156/1302/185 1157/1303/185 1158/1304/185 1159/1305/185 1160/1306/185 1161/1307/185 1162/1308/185 1163/1309/185 -f 1164/1310/185 1165/1311/185 1166/1312/185 1167/1313/185 -f 1165/1311/185 1168/1314/185 1169/1315/185 1166/1312/185 -f 1168/1314/186 1170/1316/186 1171/1317/186 1169/1315/186 -f 1170/1318/186 1172/1319/186 1173/1320/186 1171/1321/186 -f 1172/1319/185 1174/1322/185 1175/1323/185 1173/1320/185 -f 1174/1322/185 1176/1324/185 1177/1325/185 1175/1323/185 -f 1176/1324/186 1178/1326/186 1179/1327/186 1177/1325/186 -f 1178/1326/185 1164/1310/185 1167/1313/185 1179/1327/185 -f 1228/1328/187 1229/1329/187 1230/1330/187 1231/1331/187 -f 1232/1332/187 1233/1333/187 1234/1334/187 1235/1335/187 -f 1236/1336/187 1237/1337/187 1238/1338/187 1239/1339/187 -f 1237/1337/187 1240/1340/187 1241/1341/187 1238/1338/187 -f 1242/1342/187 1228/1328/187 1231/1331/187 1243/1343/187 -f 1229/1329/187 1232/1332/187 1235/1335/187 1230/1330/187 -f 1233/1333/187 1236/1336/187 1239/1339/187 1234/1334/187 -f 1240/1340/187 1242/1344/187 1243/1345/187 1241/1341/187 -f 1244/1346/187 1245/1347/187 1246/1348/187 1247/1349/187 1248/1350/187 1249/1351/187 1250/1352/187 1251/1353/187 -f 1252/1354/187 1253/1355/187 1254/1356/187 1255/1357/187 -f 1253/1355/187 1256/1358/187 1257/1359/187 1254/1356/187 -f 1256/1358/188 1258/1360/188 1259/1361/188 1257/1359/188 -f 1258/1362/188 1260/1363/188 1261/1364/188 1259/1365/188 -f 1260/1363/188 1262/1366/188 1263/1367/188 1261/1364/188 -f 1262/1366/188 1264/1368/188 1265/1369/188 1263/1367/188 -f 1264/1368/188 1266/1370/188 1267/1371/188 1265/1369/188 -f 1266/1370/187 1252/1354/187 1255/1357/187 1267/1371/187 -f 1316/1372/189 1317/1373/189 1318/1374/189 1319/1375/189 -f 1320/1376/189 1321/1377/189 1322/1378/189 1323/1379/189 -f 1324/1380/190 1325/1381/190 1326/1382/190 1327/1383/190 -f 1325/1381/189 1328/1384/189 1329/1385/189 1326/1382/189 -f 1330/1386/189 1316/1372/189 1319/1375/189 1331/1387/189 -f 1317/1373/189 1320/1376/189 1323/1379/189 1318/1374/189 -f 1321/1377/189 1324/1380/189 1327/1383/189 1322/1378/189 -f 1328/1384/189 1330/1388/189 1331/1389/189 1329/1385/189 -f 1332/1390/189 1333/1391/189 1334/1392/189 1335/1393/189 1336/1394/189 1337/1395/189 1338/1396/189 1339/1397/189 -f 1340/1398/190 1341/1399/190 1342/1400/190 1343/1401/190 -f 1341/1399/190 1344/1402/190 1345/1403/190 1342/1400/190 -f 1344/1402/190 1346/1404/190 1347/1405/190 1345/1403/190 -f 1346/1406/190 1348/1407/190 1349/1408/190 1347/1409/190 -f 1348/1407/189 1350/1410/189 1351/1411/189 1349/1408/189 -f 1350/1410/190 1352/1412/190 1353/1413/190 1351/1411/190 -f 1352/1412/190 1354/1414/190 1355/1415/190 1353/1413/190 -f 1354/1414/189 1340/1398/189 1343/1401/189 1355/1415/189 -f 1404/1416/191 1405/1417/191 1406/1418/191 1407/1419/191 -f 1408/1420/191 1409/1421/191 1410/1422/191 1411/1423/191 -f 1412/1424/192 1413/1425/192 1414/1426/192 1415/1427/192 -f 1413/1425/191 1416/1428/191 1417/1429/191 1414/1426/191 -f 1418/1430/191 1404/1416/191 1407/1419/191 1419/1431/191 -f 1405/1417/191 1408/1420/191 1411/1423/191 1406/1418/191 -f 1409/1421/191 1412/1424/191 1415/1427/191 1410/1422/191 -f 1416/1428/191 1418/1432/191 1419/1433/191 1417/1429/191 -f 1420/1434/191 1421/1435/191 1422/1436/191 1423/1437/191 1424/1438/191 1425/1439/191 1426/1440/191 1427/1441/191 -f 1428/1442/192 1429/1443/192 1430/1444/192 1431/1445/192 -f 1429/1443/192 1432/1446/192 1433/1447/192 1430/1444/192 -f 1432/1446/192 1434/1448/192 1435/1449/192 1433/1447/192 -f 1434/1450/192 1436/1451/192 1437/1452/192 1435/1453/192 -f 1436/1451/191 1438/1454/191 1439/1455/191 1437/1452/191 -f 1438/1454/192 1440/1456/192 1441/1457/192 1439/1455/192 -f 1440/1456/192 1442/1458/192 1443/1459/192 1441/1457/192 -f 1442/1458/191 1428/1442/191 1431/1445/191 1443/1459/191 -f 1492/1460/193 1493/1461/193 1494/1462/193 1495/1463/193 -f 1496/1464/193 1497/1465/193 1498/1466/193 1499/1467/193 -f 1500/1468/194 1501/1469/194 1502/1470/194 1503/1471/194 -f 1501/1469/193 1504/1472/193 1505/1473/193 1502/1470/193 -f 1506/1474/193 1492/1460/193 1495/1463/193 1507/1475/193 -f 1493/1461/193 1496/1464/193 1499/1467/193 1494/1462/193 -f 1497/1465/193 1500/1468/193 1503/1471/193 1498/1466/193 -f 1504/1472/193 1506/1476/193 1507/1477/193 1505/1473/193 -f 1508/1478/193 1509/1479/193 1510/1480/193 1511/1481/193 1512/1482/193 1513/1483/193 1514/1484/193 1515/1485/193 -f 1516/1486/194 1517/1487/194 1518/1488/194 1519/1489/194 -f 1517/1487/194 1520/1490/194 1521/1491/194 1518/1488/194 -f 1520/1490/194 1522/1492/194 1523/1493/194 1521/1491/194 -f 1522/1494/194 1524/1495/194 1525/1496/194 1523/1497/194 -f 1524/1495/193 1526/1498/193 1527/1499/193 1525/1496/193 -f 1526/1498/194 1528/1500/194 1529/1501/194 1527/1499/194 -f 1528/1500/194 1530/1502/194 1531/1503/194 1529/1501/194 -f 1530/1502/194 1516/1486/194 1519/1489/194 1531/1503/194 -f 1580/1504/195 1581/1505/195 1582/1506/195 1583/1507/195 -f 1584/1508/195 1585/1509/195 1586/1510/195 1587/1511/195 -f 1588/1512/195 1589/1513/195 1590/1514/195 1591/1515/195 -f 1589/1513/195 1592/1516/195 1593/1517/195 1590/1514/195 -f 1594/1518/195 1580/1504/195 1583/1507/195 1595/1519/195 -f 1581/1505/195 1584/1508/195 1587/1511/195 1582/1506/195 -f 1585/1509/195 1588/1512/195 1591/1515/195 1586/1510/195 -f 1592/1516/195 1594/1520/195 1595/1521/195 1593/1517/195 -f 1596/1522/195 1597/1523/195 1598/1524/195 1599/1525/195 1600/1526/195 1601/1527/195 1602/1528/195 1603/1529/195 -f 1604/1530/196 1605/1531/196 1606/1532/196 1607/1533/196 -f 1605/1531/196 1608/1534/196 1609/1535/196 1606/1532/196 -f 1608/1534/196 1610/1536/196 1611/1537/196 1609/1535/196 -f 1610/1538/196 1612/1539/196 1613/1540/196 1611/1541/196 -f 1612/1539/195 1614/1542/195 1615/1543/195 1613/1540/195 -f 1614/1542/196 1616/1544/196 1617/1545/196 1615/1543/196 -f 1616/1544/196 1618/1546/196 1619/1547/196 1617/1545/196 -f 1618/1546/195 1604/1530/195 1607/1533/195 1619/1547/195 -f 1668/1548/197 1669/1549/197 1670/1550/197 1671/1551/197 -f 1672/1552/198 1673/1553/198 1671/1551/198 1670/1550/198 -f 1674/1554/199 1672/1555/199 1670/1550/199 1669/1549/199 -f 1675/1556/200 1674/1557/200 1669/1549/200 1668/1548/200 -f 1673/1558/201 1675/1559/201 1668/1548/201 1671/1551/201 -f 1676/1560/202 1677/1561/202 1678/1562/202 1679/1563/202 -f 1680/1564/203 1681/1565/203 1679/1563/203 1678/1562/203 -f 1682/1566/204 1680/1567/204 1678/1562/204 1677/1561/204 -f 1683/1568/205 1682/1569/205 1677/1561/205 1676/1560/205 -f 1681/1570/206 1683/1571/206 1676/1560/206 1679/1563/206 -f 1684/1572/207 1685/1573/207 1686/1574/207 1687/1575/207 -f 1688/1576/208 1689/1577/208 1687/1575/208 1686/1574/208 -f 1690/1578/209 1688/1579/209 1686/1574/209 1685/1573/209 -f 1691/1580/210 1690/1581/210 1685/1573/210 1684/1572/210 -f 1689/1582/211 1691/1583/211 1684/1572/211 1687/1575/211 -f 1692/1584/212 1693/1585/212 1694/1586/212 1695/1587/212 -f 1696/1588/213 1697/1589/213 1695/1587/213 1694/1586/213 -f 1698/1590/214 1696/1591/214 1694/1586/214 1693/1585/214 -f 1699/1592/215 1698/1593/215 1693/1585/215 1692/1584/215 -f 1697/1594/216 1699/1595/216 1692/1584/216 1695/1587/216 -f 1700/1596/217 1701/1597/217 1702/1598/217 1703/1599/217 -f 1704/1600/218 1705/1601/218 1703/1599/218 1702/1598/218 -f 1706/1602/219 1704/1603/219 1702/1598/219 1701/1597/219 -f 1707/1604/220 1706/1605/220 1701/1597/220 1700/1596/220 -f 1705/1606/221 1707/1607/221 1700/1596/221 1703/1599/221 -f 1708/1608/222 1709/1609/222 1710/1610/222 1711/1611/222 -f 1712/1612/223 1713/1613/223 1711/1611/223 1710/1610/223 -f 1714/1614/224 1712/1615/224 1710/1610/224 1709/1609/224 -f 1715/1616/225 1714/1617/225 1709/1609/225 1708/1608/225 -f 1713/1618/226 1715/1619/226 1708/1608/226 1711/1611/226 -f 1716/1620/227 1717/1621/227 1718/1622/227 1719/1623/227 -f 1720/1624/228 1721/1625/228 1719/1623/228 1718/1622/228 -f 1722/1626/229 1720/1627/229 1718/1622/229 1717/1621/229 -f 1723/1628/230 1722/1629/230 1717/1621/230 1716/1620/230 -f 1721/1630/231 1723/1631/231 1716/1620/231 1719/1623/231 -f 1724/1632/232 1725/1633/232 1726/1634/232 1727/1635/232 -f 1728/1636/233 1729/1637/233 1727/1635/233 1726/1634/233 -f 1730/1638/234 1728/1639/234 1726/1634/234 1725/1633/234 -f 1731/1640/235 1730/1641/235 1725/1633/235 1724/1632/235 -f 1729/1642/236 1731/1643/236 1724/1632/236 1727/1635/236 -f 1732/1644/237 1733/1645/237 1734/1646/237 1735/1647/237 -f 1736/1648/238 1737/1649/238 1735/1647/238 1734/1646/238 -f 1738/1650/239 1736/1651/239 1734/1646/239 1733/1645/239 -f 1739/1652/240 1738/1653/240 1733/1645/240 1732/1644/240 -f 1737/1654/241 1739/1655/241 1732/1644/241 1735/1647/241 -f 1740/1656/242 1741/1657/242 1742/1658/242 1743/1659/242 -f 1744/1660/243 1745/1661/243 1743/1659/243 1742/1658/243 -f 1746/1662/244 1744/1663/244 1742/1658/244 1741/1657/244 -f 1747/1664/245 1746/1665/245 1741/1657/245 1740/1656/245 -f 1745/1666/246 1747/1667/246 1740/1656/246 1743/1659/246 -f 1748/1668/247 1749/1669/247 1750/1670/247 1751/1671/247 -f 1752/1672/248 1753/1673/248 1751/1671/248 1750/1670/248 -f 1754/1674/249 1752/1675/249 1750/1670/249 1749/1669/249 -f 1755/1676/250 1754/1677/250 1749/1669/250 1748/1668/250 -f 1753/1678/251 1755/1679/251 1748/1668/251 1751/1671/251 -f 1756/1680/252 1757/1681/252 1758/1682/252 1759/1683/252 -f 1760/1684/253 1761/1685/253 1759/1683/253 1758/1682/253 -f 1762/1686/254 1760/1687/254 1758/1682/254 1757/1681/254 -f 1763/1688/255 1762/1689/255 1757/1681/255 1756/1680/255 -f 1761/1690/256 1763/1691/256 1756/1680/256 1759/1683/256 -f 1764/1692/257 1765/1693/257 1766/1694/257 1767/1695/257 -f 1768/1696/258 1769/1697/258 1767/1695/258 1766/1694/258 -f 1770/1698/259 1768/1699/259 1766/1694/259 1765/1693/259 -f 1771/1700/260 1770/1701/260 1765/1693/260 1764/1692/260 -f 1769/1702/261 1771/1703/261 1764/1692/261 1767/1695/261 -f 1772/1704/262 1773/1705/262 1774/1706/262 1775/1707/262 -f 1776/1708/263 1777/1709/263 1775/1707/263 1774/1706/263 -f 1778/1710/264 1776/1711/264 1774/1706/264 1773/1705/264 -f 1779/1712/265 1778/1713/265 1773/1705/265 1772/1704/265 -f 1777/1714/266 1779/1715/266 1772/1704/266 1775/1707/266 -f 1780/1716/267 1781/1717/267 1782/1718/267 1783/1719/267 -f 1784/1720/268 1785/1721/268 1783/1719/268 1782/1718/268 -f 1786/1722/269 1784/1723/269 1782/1718/269 1781/1717/269 -f 1787/1724/270 1786/1725/270 1781/1717/270 1780/1716/270 -f 1785/1726/271 1787/1727/271 1780/1716/271 1783/1719/271 +f 332/784/124 331/787/124 534/790/124 531/785/124 +f 531/785/138 534/790/138 533/791/138 532/792/138 +f 535/793/127 536/794/127 537/795/127 538/796/127 +f 539/797/126 540/798/126 541/799/126 542/800/126 +f 538/796/154 537/795/154 540/798/154 539/797/154 543/801/154 544/802/154 +f 544/802/155 543/801/155 545/803/155 546/804/155 +f 539/805/156 542/806/156 545/803/156 543/801/156 +f 535/807/157 538/808/157 544/802/157 546/804/157 +f 265/390/124 277/389/124 276/809/124 1051/810/124 +f 547/811/158 548/812/158 549/813/158 550/814/158 +f 551/815/127 552/816/127 553/817/127 549/818/127 548/819/127 554/820/127 +f 550/814/148 549/813/148 553/821/148 555/822/148 +f 555/822/159 553/821/159 552/823/159 556/824/159 +f 556/825/126 557/826/126 558/827/126 547/828/126 550/829/126 555/830/126 +f 559/831/124 560/832/124 561/833/124 562/834/124 +f 561/833/127 560/832/127 563/835/127 564/836/127 +f 559/831/126 562/834/126 565/837/126 566/838/126 +f 567/839/136 568/840/136 569/841/136 570/842/136 +f 571/843/127 572/844/127 570/842/127 569/841/127 +f 573/845/126 574/846/126 568/840/126 567/839/126 +f 574/847/125 571/848/125 569/841/125 568/840/125 +f 572/849/124 573/850/124 567/839/124 570/842/124 +f 575/851/136 576/852/136 577/853/136 578/854/136 +f 579/855/124 580/856/124 578/854/124 577/853/124 +f 581/857/125 582/858/125 576/852/125 575/851/125 +f 582/859/127 579/860/127 577/853/127 576/852/127 +f 580/861/126 581/862/126 575/851/126 578/854/126 +f 583/863/124 584/864/124 585/865/124 586/866/124 +f 587/867/160 588/868/160 589/869/160 590/870/160 +f 591/871/161 592/872/161 593/873/161 594/874/161 +f 586/866/162 585/865/162 592/872/162 591/871/162 +f 590/870/163 589/869/163 584/875/163 583/876/163 +f 594/874/125 593/873/125 588/868/125 587/867/125 +f 594/877/127 587/878/127 590/879/127 583/880/127 586/881/127 591/882/127 +f 595/883/125 596/884/125 597/885/125 598/886/125 +f 599/887/124 600/888/124 601/889/124 602/890/124 +f 596/891/160 603/892/160 604/893/160 597/894/160 +f 605/895/161 595/896/161 598/897/161 606/898/161 +f 600/899/162 605/900/162 606/901/162 601/902/162 +f 603/903/163 599/904/163 602/905/163 604/906/163 +f 602/890/126 601/889/126 607/907/126 608/908/126 +f 597/894/126 604/893/126 609/909/126 610/910/126 +f 606/898/126 598/897/126 611/911/126 612/912/126 +f 601/902/126 606/901/126 612/912/126 607/907/126 +f 604/906/126 602/905/126 608/913/126 609/909/126 +f 598/886/126 597/885/126 610/910/126 611/911/126 +f 607/907/162 612/912/162 613/914/162 614/915/162 +f 609/909/163 608/913/163 615/916/163 616/917/163 +f 611/911/125 610/910/125 617/918/125 618/919/125 +f 608/908/124 607/907/124 614/915/124 615/920/124 +f 610/910/160 609/909/160 616/917/160 617/918/160 +f 612/912/161 611/911/161 618/919/161 613/914/161 +f 617/918/127 616/917/127 619/921/127 620/922/127 +f 618/919/127 617/918/127 620/923/127 621/924/127 +f 613/914/127 618/919/127 621/925/127 622/926/127 +f 614/915/127 613/914/127 622/927/127 623/928/127 +f 615/920/127 614/915/127 623/929/127 624/930/127 +f 616/917/127 615/916/127 624/931/127 619/932/127 +f 619/932/163 624/931/163 625/933/163 626/934/163 +f 621/924/125 620/923/125 627/935/125 628/936/125 +f 624/930/124 623/929/124 629/937/124 625/938/124 +f 620/922/160 619/921/160 626/939/160 627/940/160 +f 622/926/161 621/925/161 628/941/161 630/942/161 +f 623/928/162 622/927/162 630/943/162 629/944/162 +f 627/940/126 626/939/126 631/945/126 632/946/126 +f 628/936/126 627/935/126 632/946/126 633/947/126 +f 630/942/126 628/941/126 633/947/126 634/948/126 +f 629/944/126 630/943/126 634/948/126 635/949/126 +f 625/938/126 629/937/126 635/949/126 636/950/126 +f 626/934/126 625/933/126 636/951/126 631/945/126 +f 633/947/125 632/946/125 637/952/125 638/953/125 +f 636/950/124 635/949/124 639/954/124 640/955/124 +f 632/946/160 631/945/160 641/956/160 637/952/160 +f 634/948/161 633/947/161 638/953/161 642/957/161 +f 635/949/162 634/948/162 642/957/162 639/954/162 +f 631/945/163 636/951/163 640/958/163 641/956/163 +f 642/957/164 638/953/164 643/959/164 644/960/164 +f 639/954/165 642/957/165 644/961/165 645/962/165 +f 641/956/166 640/958/166 646/963/166 647/964/166 +f 638/953/167 637/952/167 648/965/167 643/966/167 +f 640/955/168 639/954/168 645/967/168 646/968/168 +f 637/952/169 641/956/169 647/969/169 648/970/169 +f 643/971/127 648/972/127 647/973/127 646/974/127 645/975/127 644/976/127 +f 649/977/125 650/978/125 651/979/125 652/980/125 +f 653/981/126 654/982/126 655/983/126 656/984/126 657/985/126 +f 652/980/136 651/979/136 658/986/136 659/987/136 +f 651/979/127 650/978/127 660/988/127 658/989/127 +f 649/977/126 652/980/126 659/990/126 661/991/126 +f 662/992/170 663/993/170 664/994/170 665/995/170 +f 666/996/126 662/997/126 665/998/126 667/999/126 +f 668/1000/134 666/996/134 667/999/134 669/1001/134 +f 663/993/127 668/1000/127 669/1001/127 664/994/127 +f 654/982/171 653/981/171 670/1002/171 671/1003/171 +f 657/1004/136 656/1005/136 672/1006/136 673/1007/136 +f 671/1003/127 670/1002/127 673/1008/127 672/1006/127 674/1009/127 +f 654/982/170 671/1003/170 674/1010/170 655/1011/170 +f 655/1012/172 674/1009/172 672/1006/172 656/1005/172 +f 670/1002/134 653/981/134 657/1013/134 673/1014/134 +f 675/1015/170 676/1016/170 677/1017/170 678/1018/170 +f 679/1019/127 680/1020/127 677/1021/127 676/1022/127 +f 681/1023/126 682/1024/126 675/1015/126 678/1018/126 +f 680/1020/172 681/1023/172 678/1018/172 677/1021/172 +f 682/1025/171 679/1019/171 676/1022/171 675/1026/171 +f 684/1027/126 692/1028/126 693/1029/126 694/1030/126 +f 695/1031/173 696/1032/173 685/1033/173 697/1034/173 +f 692/1035/174 701/1036/174 702/1037/174 693/1029/174 +f 329/480/125 454/1038/125 1791/1039/125 1790/1040/125 +f 715/1041/131 716/1042/131 717/1043/131 718/1044/131 +f 259/365/131 454/1038/131 719/1045/131 720/1046/131 +f 329/480/131 260/366/131 721/1047/131 722/1048/131 +f 259/365/131 720/1046/131 716/1042/131 715/1041/131 721/1047/131 260/366/131 +f 454/1038/131 329/480/131 722/1048/131 718/1044/131 717/1043/131 719/1045/131 +f 271/378/128 723/1049/128 724/1050/128 453/1051/128 +f 270/1052/128 725/1053/128 723/1049/128 271/378/128 +f 270/1052/128 330/481/128 726/1054/128 725/1053/128 +f 453/1051/128 724/1050/128 726/1054/128 330/481/128 +f 725/1055/175 726/1056/175 727/1057/175 728/1058/175 +f 721/1059/128 715/1060/128 729/1061/128 730/1062/128 +f 716/1063/176 731/1064/176 732/1065/176 717/1066/176 +f 733/1067/131 730/1062/131 729/1061/131 734/1068/131 +f 719/1069/136 735/1070/136 736/1071/136 720/1072/136 +f 737/1073/128 728/1074/128 727/1057/128 738/1075/128 +f 715/1076/177 718/1077/177 734/1068/177 729/1078/177 +f 720/1079/128 736/1071/128 731/1080/128 716/1081/128 +f 722/1082/178 721/1083/178 730/1084/178 733/1067/178 +f 718/1077/130 722/1082/130 733/1067/130 734/1068/130 +f 738/1075/129 727/1057/129 726/1056/129 724/1085/129 +f 728/1074/131 737/1073/131 723/1086/131 725/1087/131 +f 739/1088/126 740/1089/126 741/1090/126 742/1091/126 +f 740/1092/179 743/1093/179 744/1094/179 741/1095/179 +f 745/1096/127 746/1097/127 747/1098/127 748/1099/127 +f 749/1100/180 739/1088/180 742/1091/180 750/1101/180 +f 748/1099/127 747/1098/127 751/1102/127 752/1103/127 +f 741/1095/181 744/1094/181 753/1104/181 754/1105/181 +f 749/1106/127 743/1107/127 755/1108/127 +f 755/1108/172 756/1109/172 739/1088/172 749/1100/172 +f 756/1109/126 740/1110/126 739/1111/126 +f 746/1112/127 745/1113/127 757/1114/127 +f 757/1114/172 758/1115/172 759/1116/172 746/1097/172 +f 758/1115/126 760/1117/126 759/1118/126 +f 761/1119/136 762/1120/136 756/1109/136 755/1108/136 +f 763/1121/132 764/1122/132 743/1107/132 740/1123/132 +f 765/1124/127 766/1125/127 757/1114/127 745/1113/127 +f 767/1126/126 768/1127/126 760/1117/126 758/1115/126 +f 762/1120/126 763/1128/126 740/1110/126 756/1109/126 +f 766/1125/136 767/1126/136 758/1115/136 757/1114/136 +f 768/1129/132 765/1124/132 745/1113/132 760/1130/132 +f 764/1122/127 761/1119/127 755/1108/127 743/1107/127 +f 760/1131/179 745/1096/179 748/1099/179 769/1132/179 +f 743/1093/127 749/1100/127 750/1101/127 744/1094/127 +f 770/1133/125 771/1134/125 772/1135/125 773/1136/125 +f 732/1065/131 731/1080/131 736/1071/131 735/1070/131 +f 717/1066/130 732/1065/130 735/1070/130 719/1137/130 +f 737/1073/136 738/1075/136 724/1138/136 723/1139/136 +f 747/1098/182 774/1140/182 775/1141/182 751/1102/182 +f 774/1140/126 769/1142/126 776/1143/126 775/1141/126 +f 742/1091/126 741/1090/126 754/1144/126 777/1145/126 +f 769/1132/181 748/1099/181 752/1103/181 776/1146/181 +f 744/1094/127 750/1101/127 778/1147/127 753/1104/127 +f 750/1101/182 742/1091/182 777/1145/182 778/1147/182 +f 759/1116/126 760/1148/126 769/1142/126 774/1140/126 +f 746/1097/180 759/1116/180 774/1140/180 747/1098/180 +f 779/1149/162 780/1150/162 781/1151/162 782/1152/162 +f 771/1134/132 783/1153/132 784/1154/132 772/1135/132 +f 782/1152/124 781/1151/124 785/1155/124 786/1156/124 +f 783/1153/124 787/1157/124 788/1158/124 784/1154/124 +f 786/1159/163 785/1160/163 789/1161/163 790/1162/163 +f 787/1157/136 770/1163/136 773/1164/136 788/1158/136 +f 790/1162/160 789/1161/160 791/1165/160 792/1166/160 +f 781/1167/127 780/1168/127 793/1169/127 791/1170/127 789/1171/127 785/1172/127 +f 792/1166/125 791/1165/125 793/1173/125 794/1174/125 +f 794/1174/161 793/1173/161 780/1150/161 779/1149/161 +f 779/1175/126 782/1176/126 786/1177/126 790/1178/126 792/1179/126 794/1180/126 +f 784/1154/129 788/1158/129 795/1181/129 796/1182/129 +f 784/1183/132 796/1182/132 772/1184/132 +f 773/1185/136 795/1181/136 788/1186/136 +f 795/1181/136 773/1185/136 797/1187/136 798/1188/136 +f 798/1189/124 797/1190/124 799/1191/124 800/1192/124 +f 796/1182/127 795/1181/127 798/1188/127 801/1193/127 +f 772/1184/132 796/1182/132 801/1193/132 802/1194/132 +f 773/1195/126 772/1184/126 802/1194/126 797/1196/126 +f 798/1189/127 803/1197/127 801/1198/127 +f 802/1199/126 804/1200/126 797/1201/126 +f 801/1193/170 803/1197/170 804/1200/170 802/1194/170 +f 805/1202/180 806/1203/180 807/1204/180 808/1205/180 +f 803/1197/127 798/1189/127 800/1192/127 806/1203/127 +f 804/1200/125 803/1197/125 806/1203/125 805/1202/125 +f 797/1201/126 804/1200/126 805/1202/126 799/1206/126 +f 809/1207/127 810/1208/127 807/1209/127 +f 799/1206/126 805/1202/126 808/1205/126 811/1210/126 +f 800/1192/179 799/1191/179 811/1211/179 809/1212/179 +f 806/1203/127 800/1192/127 809/1212/127 807/1204/127 +f 807/1204/172 810/1208/172 812/1213/172 808/1205/172 +f 811/1214/126 812/1213/126 813/1215/126 814/1216/126 +f 811/1214/126 808/1217/126 812/1213/126 +f 815/1218/132 814/1219/132 816/1220/132 817/1221/132 +f 809/1207/132 811/1222/132 814/1223/132 818/1224/132 +f 810/1208/127 809/1207/127 818/1224/127 819/1225/127 +f 812/1213/136 810/1208/136 819/1225/136 813/1215/136 +f 819/1226/136 820/1227/136 813/1228/136 +f 818/1224/129 815/1218/129 820/1227/129 819/1225/129 +f 814/1219/132 815/1218/132 818/1229/132 +f 814/1230/125 813/1228/125 821/1231/125 816/1232/125 +f 813/1228/136 820/1227/136 822/1233/136 821/1231/136 +f 820/1227/124 815/1218/124 817/1221/124 822/1233/124 +f 660/1234/124 661/1235/124 659/1236/124 658/1237/124 +f 1052/1238/183 1053/1239/183 1054/1240/183 1055/1241/183 +f 1056/1242/183 1057/1243/183 1058/1244/183 1059/1245/183 +f 1060/1246/183 1061/1247/183 1062/1248/183 1063/1249/183 +f 1061/1247/183 1064/1250/183 1065/1251/183 1062/1248/183 +f 1066/1252/183 1052/1238/183 1055/1241/183 1067/1253/183 +f 1053/1239/183 1056/1242/183 1059/1245/183 1054/1240/183 +f 1057/1243/183 1060/1246/183 1063/1249/183 1058/1244/183 +f 1064/1250/183 1066/1254/183 1067/1255/183 1065/1251/183 +f 1068/1256/183 1069/1257/183 1070/1258/183 1071/1259/183 1072/1260/183 1073/1261/183 1074/1262/183 1075/1263/183 +f 1076/1264/183 1077/1265/183 1078/1266/183 1079/1267/183 +f 1077/1265/183 1080/1268/183 1081/1269/183 1078/1266/183 +f 1080/1268/184 1082/1270/184 1083/1271/184 1081/1269/184 +f 1082/1272/184 1084/1273/184 1085/1274/184 1083/1275/184 +f 1084/1273/183 1086/1276/183 1087/1277/183 1085/1274/183 +f 1086/1276/184 1088/1278/184 1089/1279/184 1087/1277/184 +f 1088/1278/184 1090/1280/184 1091/1281/184 1089/1279/184 +f 1090/1280/184 1076/1264/184 1079/1267/184 1091/1281/184 +f 1140/1282/185 1141/1283/185 1142/1284/185 1143/1285/185 +f 1144/1286/185 1145/1287/185 1146/1288/185 1147/1289/185 +f 1148/1290/185 1149/1291/185 1150/1292/185 1151/1293/185 +f 1149/1291/185 1152/1294/185 1153/1295/185 1150/1292/185 +f 1154/1296/185 1140/1282/185 1143/1285/185 1155/1297/185 +f 1141/1283/185 1144/1286/185 1147/1289/185 1142/1284/185 +f 1145/1287/185 1148/1290/185 1151/1293/185 1146/1288/185 +f 1152/1294/185 1154/1298/185 1155/1299/185 1153/1295/185 +f 1156/1300/185 1157/1301/185 1158/1302/185 1159/1303/185 1160/1304/185 1161/1305/185 1162/1306/185 1163/1307/185 +f 1164/1308/185 1165/1309/185 1166/1310/185 1167/1311/185 +f 1165/1309/185 1168/1312/185 1169/1313/185 1166/1310/185 +f 1168/1312/186 1170/1314/186 1171/1315/186 1169/1313/186 +f 1170/1316/186 1172/1317/186 1173/1318/186 1171/1319/186 +f 1172/1317/185 1174/1320/185 1175/1321/185 1173/1318/185 +f 1174/1320/185 1176/1322/185 1177/1323/185 1175/1321/185 +f 1176/1322/186 1178/1324/186 1179/1325/186 1177/1323/186 +f 1178/1324/185 1164/1308/185 1167/1311/185 1179/1325/185 +f 1228/1326/187 1229/1327/187 1230/1328/187 1231/1329/187 +f 1232/1330/187 1233/1331/187 1234/1332/187 1235/1333/187 +f 1236/1334/187 1237/1335/187 1238/1336/187 1239/1337/187 +f 1237/1335/187 1240/1338/187 1241/1339/187 1238/1336/187 +f 1242/1340/187 1228/1326/187 1231/1329/187 1243/1341/187 +f 1229/1327/187 1232/1330/187 1235/1333/187 1230/1328/187 +f 1233/1331/187 1236/1334/187 1239/1337/187 1234/1332/187 +f 1240/1338/187 1242/1342/187 1243/1343/187 1241/1339/187 +f 1244/1344/187 1245/1345/187 1246/1346/187 1247/1347/187 1248/1348/187 1249/1349/187 1250/1350/187 1251/1351/187 +f 1252/1352/187 1253/1353/187 1254/1354/187 1255/1355/187 +f 1253/1353/187 1256/1356/187 1257/1357/187 1254/1354/187 +f 1256/1356/188 1258/1358/188 1259/1359/188 1257/1357/188 +f 1258/1360/188 1260/1361/188 1261/1362/188 1259/1363/188 +f 1260/1361/188 1262/1364/188 1263/1365/188 1261/1362/188 +f 1262/1364/188 1264/1366/188 1265/1367/188 1263/1365/188 +f 1264/1366/188 1266/1368/188 1267/1369/188 1265/1367/188 +f 1266/1368/187 1252/1352/187 1255/1355/187 1267/1369/187 +f 1316/1370/189 1317/1371/189 1318/1372/189 1319/1373/189 +f 1320/1374/189 1321/1375/189 1322/1376/189 1323/1377/189 +f 1324/1378/190 1325/1379/190 1326/1380/190 1327/1381/190 +f 1325/1379/189 1328/1382/189 1329/1383/189 1326/1380/189 +f 1330/1384/189 1316/1370/189 1319/1373/189 1331/1385/189 +f 1317/1371/189 1320/1374/189 1323/1377/189 1318/1372/189 +f 1321/1375/189 1324/1378/189 1327/1381/189 1322/1376/189 +f 1328/1382/189 1330/1386/189 1331/1387/189 1329/1383/189 +f 1332/1388/189 1333/1389/189 1334/1390/189 1335/1391/189 1336/1392/189 1337/1393/189 1338/1394/189 1339/1395/189 +f 1340/1396/190 1341/1397/190 1342/1398/190 1343/1399/190 +f 1341/1397/190 1344/1400/190 1345/1401/190 1342/1398/190 +f 1344/1400/190 1346/1402/190 1347/1403/190 1345/1401/190 +f 1346/1404/190 1348/1405/190 1349/1406/190 1347/1407/190 +f 1348/1405/189 1350/1408/189 1351/1409/189 1349/1406/189 +f 1350/1408/190 1352/1410/190 1353/1411/190 1351/1409/190 +f 1352/1410/190 1354/1412/190 1355/1413/190 1353/1411/190 +f 1354/1412/189 1340/1396/189 1343/1399/189 1355/1413/189 +f 1404/1414/191 1405/1415/191 1406/1416/191 1407/1417/191 +f 1408/1418/191 1409/1419/191 1410/1420/191 1411/1421/191 +f 1412/1422/192 1413/1423/192 1414/1424/192 1415/1425/192 +f 1413/1423/191 1416/1426/191 1417/1427/191 1414/1424/191 +f 1418/1428/191 1404/1414/191 1407/1417/191 1419/1429/191 +f 1405/1415/191 1408/1418/191 1411/1421/191 1406/1416/191 +f 1409/1419/191 1412/1422/191 1415/1425/191 1410/1420/191 +f 1416/1426/191 1418/1430/191 1419/1431/191 1417/1427/191 +f 1420/1432/191 1421/1433/191 1422/1434/191 1423/1435/191 1424/1436/191 1425/1437/191 1426/1438/191 1427/1439/191 +f 1428/1440/192 1429/1441/192 1430/1442/192 1431/1443/192 +f 1429/1441/192 1432/1444/192 1433/1445/192 1430/1442/192 +f 1432/1444/192 1434/1446/192 1435/1447/192 1433/1445/192 +f 1434/1448/192 1436/1449/192 1437/1450/192 1435/1451/192 +f 1436/1449/191 1438/1452/191 1439/1453/191 1437/1450/191 +f 1438/1452/192 1440/1454/192 1441/1455/192 1439/1453/192 +f 1440/1454/192 1442/1456/192 1443/1457/192 1441/1455/192 +f 1442/1456/191 1428/1440/191 1431/1443/191 1443/1457/191 +f 1492/1458/193 1493/1459/193 1494/1460/193 1495/1461/193 +f 1496/1462/193 1497/1463/193 1498/1464/193 1499/1465/193 +f 1500/1466/194 1501/1467/194 1502/1468/194 1503/1469/194 +f 1501/1467/193 1504/1470/193 1505/1471/193 1502/1468/193 +f 1506/1472/193 1492/1458/193 1495/1461/193 1507/1473/193 +f 1493/1459/193 1496/1462/193 1499/1465/193 1494/1460/193 +f 1497/1463/193 1500/1466/193 1503/1469/193 1498/1464/193 +f 1504/1470/193 1506/1474/193 1507/1475/193 1505/1471/193 +f 1508/1476/193 1509/1477/193 1510/1478/193 1511/1479/193 1512/1480/193 1513/1481/193 1514/1482/193 1515/1483/193 +f 1516/1484/194 1517/1485/194 1518/1486/194 1519/1487/194 +f 1517/1485/194 1520/1488/194 1521/1489/194 1518/1486/194 +f 1520/1488/194 1522/1490/194 1523/1491/194 1521/1489/194 +f 1522/1492/194 1524/1493/194 1525/1494/194 1523/1495/194 +f 1524/1493/193 1526/1496/193 1527/1497/193 1525/1494/193 +f 1526/1496/194 1528/1498/194 1529/1499/194 1527/1497/194 +f 1528/1498/194 1530/1500/194 1531/1501/194 1529/1499/194 +f 1530/1500/194 1516/1484/194 1519/1487/194 1531/1501/194 +f 1580/1502/195 1581/1503/195 1582/1504/195 1583/1505/195 +f 1584/1506/195 1585/1507/195 1586/1508/195 1587/1509/195 +f 1588/1510/195 1589/1511/195 1590/1512/195 1591/1513/195 +f 1589/1511/195 1592/1514/195 1593/1515/195 1590/1512/195 +f 1594/1516/195 1580/1502/195 1583/1505/195 1595/1517/195 +f 1581/1503/195 1584/1506/195 1587/1509/195 1582/1504/195 +f 1585/1507/195 1588/1510/195 1591/1513/195 1586/1508/195 +f 1592/1514/195 1594/1518/195 1595/1519/195 1593/1515/195 +f 1596/1520/195 1597/1521/195 1598/1522/195 1599/1523/195 1600/1524/195 1601/1525/195 1602/1526/195 1603/1527/195 +f 1604/1528/196 1605/1529/196 1606/1530/196 1607/1531/196 +f 1605/1529/196 1608/1532/196 1609/1533/196 1606/1530/196 +f 1608/1532/196 1610/1534/196 1611/1535/196 1609/1533/196 +f 1610/1536/196 1612/1537/196 1613/1538/196 1611/1539/196 +f 1612/1537/195 1614/1540/195 1615/1541/195 1613/1538/195 +f 1614/1540/196 1616/1542/196 1617/1543/196 1615/1541/196 +f 1616/1542/196 1618/1544/196 1619/1545/196 1617/1543/196 +f 1618/1544/195 1604/1528/195 1607/1531/195 1619/1545/195 +f 1668/1546/197 1669/1547/197 1670/1548/197 1671/1549/197 +f 1672/1550/198 1673/1551/198 1671/1549/198 1670/1548/198 +f 1674/1552/199 1672/1553/199 1670/1548/199 1669/1547/199 +f 1675/1554/200 1674/1555/200 1669/1547/200 1668/1546/200 +f 1673/1556/201 1675/1557/201 1668/1546/201 1671/1549/201 +f 1676/1558/202 1677/1559/202 1678/1560/202 1679/1561/202 +f 1680/1562/203 1681/1563/203 1679/1561/203 1678/1560/203 +f 1682/1564/204 1680/1565/204 1678/1560/204 1677/1559/204 +f 1683/1566/205 1682/1567/205 1677/1559/205 1676/1558/205 +f 1681/1568/206 1683/1569/206 1676/1558/206 1679/1561/206 +f 1684/1570/207 1685/1571/207 1686/1572/207 1687/1573/207 +f 1688/1574/208 1689/1575/208 1687/1573/208 1686/1572/208 +f 1690/1576/209 1688/1577/209 1686/1572/209 1685/1571/209 +f 1691/1578/210 1690/1579/210 1685/1571/210 1684/1570/210 +f 1689/1580/211 1691/1581/211 1684/1570/211 1687/1573/211 +f 1692/1582/212 1693/1583/212 1694/1584/212 1695/1585/212 +f 1696/1586/213 1697/1587/213 1695/1585/213 1694/1584/213 +f 1698/1588/214 1696/1589/214 1694/1584/214 1693/1583/214 +f 1699/1590/215 1698/1591/215 1693/1583/215 1692/1582/215 +f 1697/1592/216 1699/1593/216 1692/1582/216 1695/1585/216 +f 1700/1594/217 1701/1595/217 1702/1596/217 1703/1597/217 +f 1704/1598/218 1705/1599/218 1703/1597/218 1702/1596/218 +f 1706/1600/219 1704/1601/219 1702/1596/219 1701/1595/219 +f 1707/1602/220 1706/1603/220 1701/1595/220 1700/1594/220 +f 1705/1604/221 1707/1605/221 1700/1594/221 1703/1597/221 +f 1708/1606/222 1709/1607/222 1710/1608/222 1711/1609/222 +f 1712/1610/223 1713/1611/223 1711/1609/223 1710/1608/223 +f 1714/1612/224 1712/1613/224 1710/1608/224 1709/1607/224 +f 1715/1614/225 1714/1615/225 1709/1607/225 1708/1606/225 +f 1713/1616/226 1715/1617/226 1708/1606/226 1711/1609/226 +f 1716/1618/227 1717/1619/227 1718/1620/227 1719/1621/227 +f 1720/1622/228 1721/1623/228 1719/1621/228 1718/1620/228 +f 1722/1624/229 1720/1625/229 1718/1620/229 1717/1619/229 +f 1723/1626/230 1722/1627/230 1717/1619/230 1716/1618/230 +f 1721/1628/231 1723/1629/231 1716/1618/231 1719/1621/231 +f 1724/1630/232 1725/1631/232 1726/1632/232 1727/1633/232 +f 1728/1634/233 1729/1635/233 1727/1633/233 1726/1632/233 +f 1730/1636/234 1728/1637/234 1726/1632/234 1725/1631/234 +f 1731/1638/235 1730/1639/235 1725/1631/235 1724/1630/235 +f 1729/1640/236 1731/1641/236 1724/1630/236 1727/1633/236 +f 1732/1642/237 1733/1643/237 1734/1644/237 1735/1645/237 +f 1736/1646/238 1737/1647/238 1735/1645/238 1734/1644/238 +f 1738/1648/239 1736/1649/239 1734/1644/239 1733/1643/239 +f 1739/1650/240 1738/1651/240 1733/1643/240 1732/1642/240 +f 1737/1652/241 1739/1653/241 1732/1642/241 1735/1645/241 +f 1740/1654/242 1741/1655/242 1742/1656/242 1743/1657/242 +f 1744/1658/243 1745/1659/243 1743/1657/243 1742/1656/243 +f 1746/1660/244 1744/1661/244 1742/1656/244 1741/1655/244 +f 1747/1662/245 1746/1663/245 1741/1655/245 1740/1654/245 +f 1745/1664/246 1747/1665/246 1740/1654/246 1743/1657/246 +f 1748/1666/247 1749/1667/247 1750/1668/247 1751/1669/247 +f 1752/1670/248 1753/1671/248 1751/1669/248 1750/1668/248 +f 1754/1672/249 1752/1673/249 1750/1668/249 1749/1667/249 +f 1755/1674/250 1754/1675/250 1749/1667/250 1748/1666/250 +f 1753/1676/251 1755/1677/251 1748/1666/251 1751/1669/251 +f 1756/1678/252 1757/1679/252 1758/1680/252 1759/1681/252 +f 1760/1682/253 1761/1683/253 1759/1681/253 1758/1680/253 +f 1762/1684/254 1760/1685/254 1758/1680/254 1757/1679/254 +f 1763/1686/255 1762/1687/255 1757/1679/255 1756/1678/255 +f 1761/1688/256 1763/1689/256 1756/1678/256 1759/1681/256 +f 1764/1690/257 1765/1691/257 1766/1692/257 1767/1693/257 +f 1768/1694/258 1769/1695/258 1767/1693/258 1766/1692/258 +f 1770/1696/259 1768/1697/259 1766/1692/259 1765/1691/259 +f 1771/1698/260 1770/1699/260 1765/1691/260 1764/1690/260 +f 1769/1700/261 1771/1701/261 1764/1690/261 1767/1693/261 +f 1772/1702/262 1773/1703/262 1774/1704/262 1775/1705/262 +f 1776/1706/263 1777/1707/263 1775/1705/263 1774/1704/263 +f 1778/1708/264 1776/1709/264 1774/1704/264 1773/1703/264 +f 1779/1710/265 1778/1711/265 1773/1703/265 1772/1702/265 +f 1777/1712/266 1779/1713/266 1772/1702/266 1775/1705/266 +f 1780/1714/267 1781/1715/267 1782/1716/267 1783/1717/267 +f 1784/1718/268 1785/1719/268 1783/1717/268 1782/1716/268 +f 1786/1720/269 1784/1721/269 1782/1716/269 1781/1715/269 +f 1787/1722/270 1786/1723/270 1781/1715/270 1780/1714/270 +f 1785/1724/271 1787/1725/271 1780/1714/271 1783/1717/271 +f 1789/1726/126 1788/1727/126 1792/1728/126 1793/1729/126 +f 330/481/125 329/480/125 1790/1040/125 1788/1730/125 +f 453/1051/125 330/481/125 1788/1730/125 1789/1731/125 +f 454/1038/125 453/1051/125 1789/1731/125 1791/1039/125 +f 1793/1732/125 1792/1733/125 1794/1734/125 1795/1735/125 +f 1791/1736/136 1789/1737/136 1793/1738/136 1795/1739/136 +f 1788/1740/132 1790/1741/132 1794/1742/132 1792/1743/132 +f 1790/1744/127 1791/1745/127 1795/1746/127 1794/1747/127 s 1 -f 249/1728/272 248/1729/273 823/1730/273 824/1731/272 -f 246/1732/274 249/1728/272 824/1731/272 825/1733/274 -f 247/1734/275 246/1732/274 825/1733/274 826/1735/275 -f 243/1736/276 247/1734/275 826/1735/275 827/1737/276 -f 244/1738/277 243/1736/276 827/1737/276 828/1739/277 -f 245/1740/278 244/1738/277 828/1739/277 829/1741/278 -f 258/1742/279 245/1740/278 829/1741/278 830/1743/279 -f 256/1744/280 258/1742/279 830/1743/279 831/1745/280 -f 257/1746/281 256/1744/280 831/1745/280 832/1747/281 -f 254/1748/282 257/1749/281 832/1750/281 833/1751/282 -f 255/1752/283 254/1748/282 833/1751/282 834/1753/283 -f 252/1754/284 255/1752/283 834/1753/283 835/1755/284 -f 253/1756/285 252/1754/284 835/1755/284 836/1757/285 -f 250/1758/286 253/1756/285 836/1757/285 837/1759/286 -f 251/1760/287 250/1758/286 837/1759/286 838/1761/287 -f 248/1729/273 251/1760/287 838/1761/287 823/1730/273 -f 824/1731/124 823/1730/288 839/1762/288 840/1763/124 -f 825/1733/289 824/1731/124 840/1763/124 841/1764/289 -f 832/1747/125 831/1745/290 842/1765/290 843/1766/125 -f 823/1730/288 838/1761/129 844/1767/129 839/1762/288 -f 831/1745/290 830/1743/131 845/1768/131 842/1765/290 -f 838/1761/129 837/1759/291 846/1769/291 844/1767/129 -f 830/1743/131 829/1741/292 847/1770/292 845/1768/131 -f 837/1759/291 836/1757/127 848/1771/127 846/1769/291 -f 829/1741/292 828/1739/126 849/1772/126 847/1770/292 -f 836/1757/127 835/1755/293 850/1773/293 848/1771/127 -f 828/1739/126 827/1737/294 851/1774/294 849/1772/126 -f 835/1755/293 834/1753/128 852/1775/128 850/1773/293 -f 827/1737/294 826/1735/130 853/1776/130 851/1774/294 -f 834/1753/128 833/1751/295 854/1777/295 852/1775/128 -f 826/1735/130 825/1733/289 841/1764/289 853/1776/130 -f 833/1751/295 832/1750/125 843/1778/125 854/1777/295 -f 855/1779/296 856/1780/297 857/1781/298 858/1782/299 -f 859/1783/300 860/1784/151 861/1785/301 862/1786/302 -f 863/1787/303 864/1788/304 865/1789/305 866/1790/306 -f 864/1788/304 867/1791/307 868/1792/308 865/1789/305 -f 869/1793/149 855/1779/296 858/1782/299 870/1794/309 -f 856/1780/297 859/1783/300 862/1786/302 857/1781/298 -f 860/1784/151 863/1787/303 866/1790/306 861/1785/301 -f 867/1791/307 869/1795/149 870/1796/309 868/1792/308 -f 866/1790/306 865/1789/305 871/1797/310 872/1798/311 -f 862/1786/302 861/1785/301 873/1799/312 874/1800/313 -f 858/1782/299 857/1781/298 875/1801/314 876/1802/315 -f 868/1792/308 870/1796/309 877/1803/146 878/1804/316 -f 861/1785/301 866/1790/306 872/1798/311 873/1799/312 -f 857/1781/298 862/1786/302 874/1800/313 875/1801/314 -f 870/1794/309 858/1782/299 876/1802/315 877/1805/146 -f 865/1789/305 868/1792/308 878/1804/316 871/1797/310 -f 877/1805/146 876/1802/315 879/1806/317 880/1807/136 -f 871/1797/310 878/1804/316 881/1808/318 882/1809/319 -f 872/1798/311 871/1797/310 882/1809/319 883/1810/320 -f 874/1800/313 873/1799/312 884/1811/132 885/1812/321 -f 876/1802/315 875/1801/314 886/1813/322 879/1806/317 -f 878/1804/316 877/1803/146 880/1814/136 881/1808/318 -f 873/1799/312 872/1798/311 883/1810/320 884/1811/132 -f 875/1801/314 874/1800/313 885/1812/321 886/1813/322 -f 884/1811/132 883/1810/320 887/1815/323 888/1816/324 -f 886/1813/322 885/1812/321 889/1817/325 890/1818/326 -f 880/1807/136 879/1806/317 891/1819/327 892/1820/328 -f 882/1809/319 881/1808/318 893/1821/329 894/1822/330 -f 883/1810/320 882/1809/319 894/1822/330 887/1815/323 -f 885/1812/321 884/1811/132 888/1816/324 889/1817/325 -f 879/1806/317 886/1813/322 890/1818/326 891/1819/327 -f 881/1808/318 880/1814/136 892/1823/328 893/1821/329 -f 895/1824/291 896/1825/331 345/500/331 342/497/291 -f 897/1826/332 898/1827/333 333/488/333 347/502/332 -f 899/1828/292 900/1829/334 337/492/334 334/489/292 -f 901/1830/335 902/1831/336 341/496/336 338/493/335 -f 896/1825/331 897/1832/332 347/504/332 345/500/331 -f 898/1827/333 899/1828/292 334/489/292 333/488/333 -f 900/1829/334 901/1830/335 338/493/335 337/492/334 -f 902/1831/336 895/1824/291 342/497/291 341/496/336 -f 350/1833/334 349/1834/292 359/516/292 362/519/334 +f 249/1748/272 248/1749/273 823/1750/273 824/1751/272 +f 246/1752/274 249/1748/272 824/1751/272 825/1753/274 +f 247/1754/275 246/1752/274 825/1753/274 826/1755/275 +f 243/1756/276 247/1754/275 826/1755/275 827/1757/276 +f 244/1758/277 243/1756/276 827/1757/276 828/1759/277 +f 245/1760/278 244/1758/277 828/1759/277 829/1761/278 +f 258/1762/279 245/1760/278 829/1761/278 830/1763/279 +f 256/1764/280 258/1762/279 830/1763/279 831/1765/280 +f 257/1766/281 256/1764/280 831/1765/280 832/1767/281 +f 254/1768/282 257/1769/281 832/1770/281 833/1771/282 +f 255/1772/283 254/1768/282 833/1771/282 834/1773/283 +f 252/1774/284 255/1772/283 834/1773/283 835/1775/284 +f 253/1776/285 252/1774/284 835/1775/284 836/1777/285 +f 250/1778/286 253/1776/285 836/1777/285 837/1779/286 +f 251/1780/287 250/1778/286 837/1779/286 838/1781/287 +f 248/1749/273 251/1780/287 838/1781/287 823/1750/273 +f 824/1751/124 823/1750/288 839/1782/288 840/1783/124 +f 825/1753/289 824/1751/124 840/1783/124 841/1784/289 +f 832/1767/125 831/1765/290 842/1785/290 843/1786/125 +f 823/1750/288 838/1781/129 844/1787/129 839/1782/288 +f 831/1765/290 830/1763/131 845/1788/131 842/1785/290 +f 838/1781/129 837/1779/291 846/1789/291 844/1787/129 +f 830/1763/131 829/1761/292 847/1790/292 845/1788/131 +f 837/1779/291 836/1777/127 848/1791/127 846/1789/291 +f 829/1761/292 828/1759/126 849/1792/126 847/1790/292 +f 836/1777/127 835/1775/293 850/1793/293 848/1791/127 +f 828/1759/126 827/1757/294 851/1794/294 849/1792/126 +f 835/1775/293 834/1773/128 852/1795/128 850/1793/293 +f 827/1757/294 826/1755/130 853/1796/130 851/1794/294 +f 834/1773/128 833/1771/295 854/1797/295 852/1795/128 +f 826/1755/130 825/1753/289 841/1784/289 853/1796/130 +f 833/1771/295 832/1770/125 843/1798/125 854/1797/295 +f 855/1799/296 856/1800/297 857/1801/298 858/1802/299 +f 859/1803/300 860/1804/151 861/1805/301 862/1806/302 +f 863/1807/303 864/1808/304 865/1809/305 866/1810/306 +f 864/1808/304 867/1811/307 868/1812/308 865/1809/305 +f 869/1813/149 855/1799/296 858/1802/299 870/1814/309 +f 856/1800/297 859/1803/300 862/1806/302 857/1801/298 +f 860/1804/151 863/1807/303 866/1810/306 861/1805/301 +f 867/1811/307 869/1815/149 870/1816/309 868/1812/308 +f 866/1810/306 865/1809/305 871/1817/310 872/1818/311 +f 862/1806/302 861/1805/301 873/1819/312 874/1820/313 +f 858/1802/299 857/1801/298 875/1821/314 876/1822/315 +f 868/1812/308 870/1816/309 877/1823/146 878/1824/316 +f 861/1805/301 866/1810/306 872/1818/311 873/1819/312 +f 857/1801/298 862/1806/302 874/1820/313 875/1821/314 +f 870/1814/309 858/1802/299 876/1822/315 877/1825/146 +f 865/1809/305 868/1812/308 878/1824/316 871/1817/310 +f 877/1825/146 876/1822/315 879/1826/317 880/1827/136 +f 871/1817/310 878/1824/316 881/1828/318 882/1829/319 +f 872/1818/311 871/1817/310 882/1829/319 883/1830/320 +f 874/1820/313 873/1819/312 884/1831/132 885/1832/321 +f 876/1822/315 875/1821/314 886/1833/322 879/1826/317 +f 878/1824/316 877/1823/146 880/1834/136 881/1828/318 +f 873/1819/312 872/1818/311 883/1830/320 884/1831/132 +f 875/1821/314 874/1820/313 885/1832/321 886/1833/322 +f 884/1831/132 883/1830/320 887/1835/323 888/1836/324 +f 886/1833/322 885/1832/321 889/1837/325 890/1838/326 +f 880/1827/136 879/1826/317 891/1839/327 892/1840/328 +f 882/1829/319 881/1828/318 893/1841/329 894/1842/330 +f 883/1830/320 882/1829/319 894/1842/330 887/1835/323 +f 885/1832/321 884/1831/132 888/1836/324 889/1837/325 +f 879/1826/317 886/1833/322 890/1838/326 891/1839/327 +f 881/1828/318 880/1834/136 892/1843/328 893/1841/329 +f 895/1844/291 896/1845/331 345/500/331 342/497/291 +f 897/1846/332 898/1847/333 333/488/333 347/502/332 +f 899/1848/292 900/1849/334 337/492/334 334/489/292 +f 901/1850/335 902/1851/336 341/496/336 338/493/335 +f 896/1845/331 897/1852/332 347/504/332 345/500/331 +f 898/1847/333 899/1848/292 334/489/292 333/488/333 +f 900/1849/334 901/1850/335 338/493/335 337/492/334 +f 902/1851/336 895/1844/291 342/497/291 341/496/336 +f 350/1853/334 349/1854/292 359/516/292 362/519/334 f 344/499/336 343/498/291 358/515/291 357/514/336 -f 351/1835/335 350/1833/334 362/519/334 364/521/335 +f 351/1855/335 350/1853/334 362/519/334 364/521/335 f 343/498/291 346/501/331 361/518/331 358/515/291 -f 352/1836/336 351/1837/335 364/525/335 366/524/336 +f 352/1856/336 351/1857/335 364/525/335 366/524/336 f 346/501/331 348/505/332 363/520/332 361/518/331 -f 353/1838/291 352/1836/336 366/524/336 368/527/291 +f 353/1858/291 352/1856/336 366/524/336 368/527/291 f 348/503/332 336/491/333 365/523/333 363/522/332 f 339/494/335 344/499/336 357/514/336 371/530/335 -f 349/1834/292 356/1839/333 360/517/333 359/516/292 +f 349/1854/292 356/1859/333 360/517/333 359/516/292 f 340/495/334 339/494/335 371/530/335 369/528/334 -f 356/1839/333 355/1840/332 372/531/332 360/517/333 +f 356/1859/333 355/1860/332 372/531/332 360/517/333 f 335/490/292 340/495/334 369/528/334 367/526/292 -f 355/1840/332 354/1841/331 370/529/331 372/531/332 +f 355/1860/332 354/1861/331 370/529/331 372/531/332 f 336/491/333 335/490/292 367/526/292 365/523/333 -f 354/1841/331 353/1838/291 368/527/291 370/529/331 -f 845/1768/337 847/1770/338 431/1842/338 430/1843/337 -f 846/1769/339 848/1771/340 424/1844/340 423/1845/339 -f 847/1770/338 849/1772/341 432/1846/341 431/1847/338 -f 848/1771/340 850/1773/342 425/1848/342 424/1849/340 -f 849/1772/341 851/1774/343 433/1850/343 432/1851/341 -f 850/1773/342 852/1775/344 426/1852/344 425/1853/342 -f 851/1774/343 853/1776/345 434/1854/345 433/1855/343 -f 852/1775/344 854/1777/346 427/1856/346 426/1857/344 -f 853/1776/345 841/1764/347 435/1858/347 434/1859/345 -f 854/1777/346 843/1778/348 428/1860/348 427/1861/346 -f 840/1763/349 839/1762/350 421/1862/350 436/1863/349 -f 841/1764/347 840/1763/349 436/1864/349 435/1865/347 -f 843/1766/348 842/1765/351 429/1866/351 428/1867/348 -f 839/1762/350 844/1767/352 422/1868/352 421/1869/350 -f 842/1765/351 845/1768/337 430/1870/337 429/1871/351 -f 844/1767/352 846/1769/339 423/1872/339 422/1873/352 -f 903/1874/293 904/1875/295 382/545/295 381/544/293 -f 905/1876/288 906/1877/291 393/556/291 395/559/288 -f 907/1878/294 908/1879/289 397/566/289 399/565/294 -f 909/1880/290 910/1881/292 401/569/292 403/572/290 -f 906/1877/291 903/1874/293 381/544/293 393/556/291 -f 908/1882/289 905/1876/288 395/559/288 397/562/289 -f 910/1881/292 907/1878/294 399/565/294 401/569/292 -f 904/1875/295 909/1880/290 403/572/290 382/545/295 +f 354/1861/331 353/1858/291 368/527/291 370/529/331 +f 845/1788/337 847/1790/338 431/1862/338 430/1863/337 +f 846/1789/339 848/1791/340 424/1864/340 423/1865/339 +f 847/1790/338 849/1792/341 432/1866/341 431/1867/338 +f 848/1791/340 850/1793/342 425/1868/342 424/1869/340 +f 849/1792/341 851/1794/343 433/1870/343 432/1871/341 +f 850/1793/342 852/1795/344 426/1872/344 425/1873/342 +f 851/1794/343 853/1796/345 434/1874/345 433/1875/343 +f 852/1795/344 854/1797/346 427/1876/346 426/1877/344 +f 853/1796/345 841/1784/347 435/1878/347 434/1879/345 +f 854/1797/346 843/1798/348 428/1880/348 427/1881/346 +f 840/1783/349 839/1782/350 421/1882/350 436/1883/349 +f 841/1784/347 840/1783/349 436/1884/349 435/1885/347 +f 843/1786/348 842/1785/351 429/1886/351 428/1887/348 +f 839/1782/350 844/1787/352 422/1888/352 421/1889/350 +f 842/1785/351 845/1788/337 430/1890/337 429/1891/351 +f 844/1787/352 846/1789/339 423/1892/339 422/1893/352 +f 903/1894/293 904/1895/295 382/545/295 381/544/293 +f 905/1896/288 906/1897/291 393/556/291 395/559/288 +f 907/1898/294 908/1899/289 397/566/289 399/565/294 +f 909/1900/290 910/1901/292 401/569/292 403/572/290 +f 906/1897/291 903/1894/293 381/544/293 393/556/291 +f 908/1902/289 905/1896/288 395/559/288 397/562/289 +f 910/1901/292 907/1898/294 399/565/294 401/569/292 +f 904/1895/295 909/1900/290 403/572/290 382/545/295 f 384/547/293 383/546/295 407/579/295 406/578/293 -f 385/1883/288 392/1884/289 408/605/289 419/608/288 -f 392/1885/289 391/1886/294 405/577/294 408/580/289 +f 385/1903/288 392/1904/289 408/605/289 419/608/288 +f 392/1905/289 391/1906/294 405/577/294 408/580/289 f 394/558/291 384/557/293 406/583/293 410/582/291 -f 391/1887/294 390/1888/292 409/581/292 405/584/294 +f 391/1907/294 390/1908/292 409/581/292 405/584/294 f 396/561/288 394/560/291 410/587/291 412/586/288 -f 390/1889/292 389/1890/290 411/585/290 409/588/292 +f 390/1909/292 389/1910/290 411/585/290 409/588/292 f 398/564/289 396/563/288 412/591/288 414/590/289 f 383/576/295 404/575/290 420/607/290 407/606/295 -f 386/1891/291 385/1892/288 419/601/288 417/604/291 +f 386/1911/291 385/1912/288 419/601/288 417/604/291 f 404/574/290 402/573/292 418/603/292 420/602/290 -f 387/1893/293 386/1894/291 417/597/291 415/600/293 +f 387/1913/293 386/1914/291 417/597/291 415/600/293 f 402/571/292 400/570/294 416/599/294 418/598/292 -f 388/1895/295 387/1896/293 415/593/293 413/596/295 +f 388/1915/295 387/1916/293 415/593/293 413/596/295 f 400/568/294 398/567/289 414/595/289 416/594/294 -f 389/1897/290 388/1898/295 413/589/295 411/592/290 -f 445/1899/124 444/1900/289 465/1901/289 464/1902/124 -f 450/1903/290 452/1904/125 456/1905/125 455/1906/290 -f 452/1904/125 439/1907/295 457/1908/295 456/1905/125 -f 442/1909/288 445/1910/124 464/1911/124 463/1912/288 -f 451/1913/131 450/1903/290 455/1906/290 470/1914/131 -f 443/1915/129 442/1909/288 463/1912/288 462/1916/129 -f 448/1917/292 451/1913/131 470/1914/131 469/1918/292 -f 440/1919/291 443/1915/129 462/1916/129 461/1920/291 -f 449/1921/126 448/1917/292 469/1918/292 468/1922/126 -f 441/1923/127 440/1919/291 461/1920/291 460/1924/127 -f 446/1925/294 449/1921/126 468/1922/126 467/1926/294 -f 437/1927/293 441/1923/127 460/1924/127 459/1928/293 -f 447/1929/130 446/1925/294 467/1926/294 466/1930/130 -f 438/1931/128 437/1927/293 459/1928/293 458/1932/128 -f 444/1900/289 447/1929/130 466/1930/130 465/1901/289 -f 439/1907/295 438/1931/128 458/1932/128 457/1908/295 -f 911/1933/353 912/1934/173 688/1935/173 687/1936/353 -f 913/1937/126 914/1938/354 691/1939/354 690/1940/126 -f 694/1034/355 693/1033/355 702/1041/356 700/1941/356 -f 915/1942/357 911/1933/353 687/1936/353 686/1943/357 -f 916/1944/358 913/1937/126 690/1940/126 689/1945/358 -f 700/1941/356 702/1041/356 701/1946/359 699/1947/359 -f 917/1948/360 692/1949/361 684/1950/361 683/1951/360 -f 696/1952/362 915/1942/357 686/1943/357 685/1953/362 -f 912/1934/173 916/1944/358 689/1945/358 688/1935/173 -f 699/1947/359 701/1946/359 918/1954/127 698/1955/127 -f 914/1938/354 917/1948/360 683/1951/360 691/1939/354 -f 695/1035/363 697/1038/363 698/1955/127 918/1954/127 -f 919/1956/155 920/1957/356 709/1958/356 708/1959/155 -f 921/1960/126 922/1961/354 706/1962/354 705/1963/126 -f 923/1964/364 924/1965/357 713/1966/357 712/1967/364 -f 925/1968/353 926/1969/173 703/1970/173 714/1971/353 -f 920/1957/356 927/1972/359 710/1973/359 709/1958/356 -f 922/1961/354 928/1974/360 707/1975/360 706/1962/354 -f 924/1965/357 925/1976/353 714/1977/353 713/1966/357 -f 926/1969/173 929/1978/358 704/1979/358 703/1970/173 -f 927/1972/359 930/1980/127 711/1981/127 710/1973/359 -f 928/1974/360 919/1956/155 708/1959/155 707/1975/360 -f 929/1978/358 921/1960/126 705/1963/126 704/1979/358 -f 930/1980/127 923/1964/364 712/1967/364 711/1981/127 -f 931/1982/365 932/1983/366 933/1984/367 934/1985/368 -f 935/1986/369 936/1987/370 937/1988/371 938/1989/372 -f 939/1990/373 940/1991/374 941/1992/375 942/1993/376 -f 943/1994/377 944/1995/378 945/1996/379 946/1997/380 -f 946/1997/380 945/1996/379 940/1991/374 939/1990/373 -f 947/1998/381 948/1999/382 944/1995/378 943/1994/377 -f 945/1996/379 949/2000/383 950/2001/384 940/1991/374 -f 948/1999/382 951/2002/385 952/2003/386 944/1995/378 -f 940/1991/374 950/2001/384 953/2004/387 941/1992/375 -f 944/1995/378 952/2003/386 949/2000/383 945/1996/379 -f 954/2005/373 955/2006/374 956/2007/375 957/2008/376 -f 958/2009/377 959/2010/378 960/2011/379 961/2012/380 -f 961/2012/380 960/2011/379 955/2006/374 954/2005/373 -f 962/2013/381 963/2014/382 959/2010/378 958/2009/377 -f 960/2011/379 964/2015/383 965/2016/384 955/2006/374 -f 963/2014/382 966/2017/385 967/2018/386 959/2010/378 -f 955/2006/374 965/2016/384 968/2019/387 956/2007/375 -f 959/2010/378 967/2018/386 964/2015/383 960/2011/379 -f 969/2020/373 970/2021/374 971/2022/375 972/2023/376 -f 973/2024/377 974/2025/388 975/2026/379 976/2027/380 -f 976/2027/380 975/2026/379 970/2021/374 969/2020/373 -f 977/2028/381 978/2029/382 974/2025/388 973/2024/377 -f 975/2026/379 979/2030/383 980/2031/384 970/2021/374 -f 978/2029/382 981/2032/385 982/2033/386 974/2025/388 -f 970/2021/374 980/2031/384 983/2034/387 971/2022/375 -f 974/2025/388 982/2033/386 979/2030/383 975/2026/379 -f 939/1990/373 942/1993/376 984/2035/295 985/2036/125 -f 954/2005/373 957/2008/376 986/2037/295 987/2038/125 -f 946/1997/380 939/1990/373 985/2036/125 988/2039/131 -f 943/1994/377 946/1997/380 988/2039/131 989/2040/126 -f 969/2020/373 972/2023/376 990/2041/295 991/2042/125 -f 961/2012/380 954/2005/373 987/2038/125 992/2043/131 -f 947/1998/381 943/1994/377 989/2040/126 993/2044/294 -f 958/2009/377 961/2012/380 992/2043/131 994/2045/126 -f 976/2027/380 969/2020/373 991/2042/125 995/2046/131 -f 973/2024/377 976/2027/380 995/2046/131 996/2047/126 -f 962/2013/381 958/2009/377 994/2045/126 997/2048/294 -f 977/2028/381 973/2024/377 996/2047/126 998/2049/294 -f 932/1983/366 935/1986/369 938/1989/372 933/1984/367 -f 999/2050/389 931/1982/365 934/1985/368 1000/2051/390 -f 933/1984/367 938/1989/372 1001/2052/391 1002/2053/392 -f 1000/2051/390 934/1985/368 1003/2054/393 1004/2055/394 -f 938/1989/372 937/1988/371 1005/2056/395 1001/2052/391 -f 934/1985/368 933/1984/367 1002/2053/392 1003/2054/393 -f 1006/2057/369 1007/2058/370 1008/2059/371 1009/2060/396 -f 1010/2061/365 1011/2062/366 1012/2063/367 1013/2064/368 -f 1011/2062/366 1006/2057/369 1009/2060/396 1012/2063/367 -f 1014/2065/389 1010/2061/365 1013/2064/368 1015/2066/390 -f 1012/2063/367 1009/2060/396 1016/2067/391 1017/2068/392 -f 1015/2066/390 1013/2064/368 1018/2069/393 1019/2070/394 -f 1009/2060/396 1008/2059/371 1020/2071/395 1016/2067/391 -f 1013/2064/368 1012/2063/367 1017/2068/392 1018/2069/393 -f 1021/2072/369 1022/2073/370 1023/2074/371 1024/2075/372 -f 1025/2076/365 1026/2077/366 1027/2078/367 1028/2079/397 -f 1026/2077/366 1021/2072/369 1024/2075/372 1027/2078/367 -f 1029/2080/389 1025/2076/365 1028/2079/397 1030/2081/390 -f 1027/2078/367 1024/2075/372 1031/2082/391 1032/2083/392 -f 1030/2081/390 1028/2079/397 1033/2084/393 1034/2085/394 -f 1024/2075/372 1023/2074/371 1035/2086/395 1031/2082/391 -f 1028/2079/397 1027/2078/367 1032/2083/392 1033/2084/393 -f 935/1986/369 1036/2087/125 1037/2088/290 936/1987/370 -f 1006/2057/369 1038/2089/125 1039/2090/290 1007/2058/370 -f 932/1983/366 1040/2091/128 1036/2087/125 935/1986/369 -f 931/1982/365 1041/2092/127 1040/2091/128 932/1983/366 -f 1021/2072/369 1042/2093/125 1043/2094/290 1022/2073/370 -f 1011/2062/366 1044/2095/128 1038/2089/125 1006/2057/369 -f 999/2050/389 1045/2096/291 1041/2092/127 931/1982/365 -f 1010/2061/365 1046/2097/127 1044/2095/128 1011/2062/366 -f 1026/2077/366 1047/2098/128 1042/2093/125 1021/2072/369 -f 1025/2076/365 1048/2099/127 1047/2098/128 1026/2077/366 -f 1014/2065/389 1049/2100/291 1046/2097/127 1010/2061/365 -f 1029/2080/389 1050/2101/291 1048/2099/127 1025/2076/365 -f 1092/2102/398 1093/2103/399 1094/2104/400 1095/2105/401 -f 1096/2106/402 1097/2107/147 1098/2108/403 1099/2109/404 -f 1100/2110/405 1101/2111/406 1102/2112/407 1103/2113/408 -f 1101/2111/406 1104/2114/409 1105/2115/410 1102/2112/407 -f 1106/2116/148 1092/2102/398 1095/2105/401 1107/2117/411 -f 1093/2103/399 1096/2106/402 1099/2109/404 1094/2104/400 -f 1097/2107/147 1100/2110/405 1103/2113/408 1098/2108/403 -f 1104/2114/409 1106/2118/148 1107/2119/411 1105/2115/410 -f 1103/2113/408 1102/2112/407 1108/2120/412 1109/2121/413 -f 1099/2109/404 1098/2108/403 1110/2122/150 1111/2123/414 -f 1095/2105/401 1094/2104/400 1112/2124/415 1113/2125/416 -f 1105/2115/410 1107/2119/411 1114/2126/152 1115/2127/417 -f 1098/2108/403 1103/2113/408 1109/2121/413 1110/2122/150 -f 1094/2104/400 1099/2109/404 1111/2123/414 1112/2124/415 -f 1107/2117/411 1095/2105/401 1113/2125/416 1114/2128/152 -f 1102/2112/407 1105/2115/410 1115/2127/417 1108/2120/412 -f 1114/2128/152 1113/2125/416 1116/2129/318 1117/2130/136 -f 1108/2120/412 1115/2127/417 1118/2131/317 1119/2132/322 -f 1109/2121/413 1108/2120/412 1119/2132/322 1120/2133/418 -f 1111/2123/414 1110/2122/150 1121/2134/132 1122/2135/419 -f 1113/2125/416 1112/2124/415 1123/2136/319 1116/2129/318 -f 1115/2127/417 1114/2126/152 1117/2137/136 1118/2131/317 -f 1110/2122/150 1109/2121/413 1120/2133/418 1121/2134/132 -f 1112/2124/415 1111/2123/414 1122/2135/419 1123/2136/319 -f 1121/2134/132 1120/2133/418 1124/2138/420 1125/2139/421 -f 1123/2136/319 1122/2135/419 1126/2140/422 1127/2141/423 -f 1117/2130/136 1116/2129/318 1128/2142/424 1129/2143/425 -f 1119/2132/322 1118/2131/317 1130/2144/426 1131/2145/427 -f 1120/2133/418 1119/2132/322 1131/2145/427 1124/2138/420 -f 1122/2135/419 1121/2134/132 1125/2139/421 1126/2140/422 -f 1116/2129/318 1123/2136/319 1127/2141/423 1128/2142/424 -f 1118/2131/317 1117/2137/136 1129/2146/425 1130/2144/426 -f 1132/2147/292 1133/2148/428 1064/1252/428 1061/1249/292 -f 1134/2149/429 1135/2150/430 1052/1240/430 1066/1254/429 -f 1136/2151/291 1137/2152/431 1056/1244/431 1053/1241/291 -f 1138/2153/432 1139/2154/433 1060/1248/433 1057/1245/432 -f 1133/2148/428 1134/2155/429 1066/1256/429 1064/1252/428 -f 1135/2150/430 1136/2151/291 1053/1241/291 1052/1240/430 -f 1137/2152/431 1138/2153/432 1057/1245/432 1056/1244/431 -f 1139/2154/433 1132/2147/292 1061/1249/292 1060/1248/433 -f 1069/2156/431 1068/2157/291 1078/1268/291 1081/1271/431 -f 1063/1251/433 1062/1250/292 1077/1267/292 1076/1266/433 -f 1070/2158/432 1069/2156/431 1081/1271/431 1083/1273/432 -f 1062/1250/292 1065/1253/428 1080/1270/428 1077/1267/292 -f 1071/2159/433 1070/2160/432 1083/1277/432 1085/1276/433 -f 1065/1253/428 1067/1257/429 1082/1272/429 1080/1270/428 -f 1072/2161/292 1071/2159/433 1085/1276/433 1087/1279/292 -f 1067/1255/429 1055/1243/430 1084/1275/430 1082/1274/429 -f 1058/1246/432 1063/1251/433 1076/1266/433 1090/1282/432 -f 1068/2157/291 1075/2162/430 1079/1269/430 1078/1268/291 -f 1059/1247/431 1058/1246/432 1090/1282/432 1088/1280/431 -f 1075/2162/430 1074/2163/429 1091/1283/429 1079/1269/430 -f 1054/1242/291 1059/1247/431 1088/1280/431 1086/1278/291 -f 1074/2163/429 1073/2164/428 1089/1281/428 1091/1283/429 -f 1055/1243/430 1054/1242/291 1086/1278/291 1084/1275/430 -f 1073/2164/428 1072/2161/292 1087/1279/292 1089/1281/428 -f 1180/2165/434 1181/2166/435 1182/2167/436 1183/2168/437 -f 1184/2169/438 1185/2170/439 1186/2171/440 1187/2172/441 -f 1188/2173/442 1189/2174/443 1190/2175/444 1191/2176/445 -f 1189/2174/443 1192/2177/446 1193/2178/447 1190/2175/444 -f 1194/2179/448 1180/2165/434 1183/2168/437 1195/2180/449 -f 1181/2166/435 1184/2169/438 1187/2172/441 1182/2167/436 -f 1185/2170/439 1188/2173/442 1191/2176/445 1186/2171/440 -f 1192/2177/446 1194/2181/448 1195/2182/449 1193/2178/447 -f 1191/2176/445 1190/2175/444 1196/2183/450 1197/2184/451 -f 1187/2172/441 1186/2171/440 1198/2185/452 1199/2186/453 -f 1183/2168/437 1182/2167/436 1200/2187/454 1201/2188/455 -f 1193/2178/447 1195/2182/449 1202/2189/456 1203/2190/457 -f 1186/2171/440 1191/2176/445 1197/2184/451 1198/2185/452 -f 1182/2167/436 1187/2172/441 1199/2186/453 1200/2187/454 -f 1195/2180/449 1183/2168/437 1201/2188/455 1202/2191/456 -f 1190/2175/444 1193/2178/447 1203/2190/457 1196/2183/450 -f 1202/2191/456 1201/2188/455 1204/2192/458 1205/2193/136 -f 1196/2183/450 1203/2190/457 1206/2194/459 1207/2195/460 -f 1197/2184/451 1196/2183/450 1207/2195/460 1208/2196/461 -f 1199/2186/453 1198/2185/452 1209/2197/132 1210/2198/462 -f 1201/2188/455 1200/2187/454 1211/2199/463 1204/2192/458 -f 1203/2190/457 1202/2189/456 1205/2200/136 1206/2194/459 -f 1198/2185/452 1197/2184/451 1208/2196/461 1209/2197/132 -f 1200/2187/454 1199/2186/453 1210/2198/462 1211/2199/463 -f 1209/2197/132 1208/2196/461 1212/2201/464 1213/2202/465 -f 1211/2199/463 1210/2198/462 1214/2203/466 1215/2204/467 -f 1205/2193/136 1204/2192/458 1216/2205/468 1217/2206/469 -f 1207/2195/460 1206/2194/459 1218/2207/470 1219/2208/471 -f 1208/2196/461 1207/2195/460 1219/2208/471 1212/2201/464 -f 1210/2198/462 1209/2197/132 1213/2202/465 1214/2203/466 -f 1204/2192/458 1211/2199/463 1215/2204/467 1216/2205/468 -f 1206/2194/459 1205/2200/136 1217/2209/469 1218/2207/470 -f 1220/2210/289 1221/2211/472 1152/1296/472 1149/1293/289 -f 1222/2212/473 1223/2213/474 1140/1284/474 1154/1298/473 -f 1224/2214/295 1225/2215/475 1144/1288/475 1141/1285/295 -f 1226/2216/476 1227/2217/477 1148/1292/477 1145/1289/476 -f 1221/2211/472 1222/2218/473 1154/1300/473 1152/1296/472 -f 1223/2213/474 1224/2214/295 1141/1285/295 1140/1284/474 -f 1225/2215/475 1226/2216/476 1145/1289/476 1144/1288/475 -f 1227/2217/477 1220/2210/289 1149/1293/289 1148/1292/477 -f 1157/2219/475 1156/2220/295 1166/1312/295 1169/1315/475 -f 1151/1295/477 1150/1294/289 1165/1311/289 1164/1310/477 -f 1158/2221/476 1157/2219/475 1169/1315/475 1171/1317/476 -f 1150/1294/289 1153/1297/472 1168/1314/472 1165/1311/289 -f 1159/2222/477 1158/2223/476 1171/1321/476 1173/1320/477 -f 1153/1297/472 1155/1301/473 1170/1316/473 1168/1314/472 -f 1160/2224/289 1159/2222/477 1173/1320/477 1175/1323/289 -f 1155/1299/473 1143/1287/474 1172/1319/474 1170/1318/473 -f 1146/1290/476 1151/1295/477 1164/1310/477 1178/1326/476 -f 1156/2220/295 1163/2225/474 1167/1313/474 1166/1312/295 -f 1147/1291/475 1146/1290/476 1178/1326/476 1176/1324/475 -f 1163/2225/474 1162/2226/473 1179/1327/473 1167/1313/474 -f 1142/1286/295 1147/1291/475 1176/1324/475 1174/1322/295 -f 1162/2226/473 1161/2227/472 1177/1325/472 1179/1327/473 -f 1143/1287/474 1142/1286/295 1174/1322/295 1172/1319/474 -f 1161/2227/472 1160/2224/289 1175/1323/289 1177/1325/472 -f 1268/2228/478 1269/2229/479 1270/2230/480 1271/2231/481 -f 1272/2232/482 1273/2233/483 1274/2234/484 1275/2235/485 -f 1276/2236/486 1277/2237/487 1278/2238/488 1279/2239/489 -f 1277/2237/487 1280/2240/490 1281/2241/491 1278/2238/488 -f 1282/2242/492 1268/2228/478 1271/2231/481 1283/2243/493 -f 1269/2229/479 1272/2232/482 1275/2235/485 1270/2230/480 -f 1273/2233/483 1276/2236/486 1279/2239/489 1274/2234/484 -f 1280/2240/490 1282/2244/492 1283/2245/493 1281/2241/491 -f 1279/2239/489 1278/2238/488 1284/2246/494 1285/2247/495 -f 1275/2235/485 1274/2234/484 1286/2248/496 1287/2249/497 -f 1271/2231/481 1270/2230/480 1288/2250/498 1289/2251/499 -f 1281/2241/491 1283/2245/493 1290/2252/500 1291/2253/501 -f 1274/2234/484 1279/2239/489 1285/2247/495 1286/2248/496 -f 1270/2230/480 1275/2235/485 1287/2249/497 1288/2250/498 -f 1283/2243/493 1271/2231/481 1289/2251/499 1290/2254/500 -f 1278/2238/488 1281/2241/491 1291/2253/501 1284/2246/494 -f 1290/2254/500 1289/2251/499 1292/2255/459 1293/2256/136 -f 1284/2246/494 1291/2253/501 1294/2257/458 1295/2258/463 -f 1285/2247/495 1284/2246/494 1295/2258/463 1296/2259/502 -f 1287/2249/497 1286/2248/496 1297/2260/132 1298/2261/503 -f 1289/2251/499 1288/2250/498 1299/2262/460 1292/2255/459 -f 1291/2253/501 1290/2252/500 1293/2263/136 1294/2257/458 -f 1286/2248/496 1285/2247/495 1296/2259/502 1297/2260/132 -f 1288/2250/498 1287/2249/497 1298/2261/503 1299/2262/460 -f 1297/2260/132 1296/2259/502 1300/2264/504 1301/2265/505 -f 1299/2262/460 1298/2261/503 1302/2266/506 1303/2267/507 -f 1293/2256/136 1292/2255/459 1304/2268/508 1305/2269/509 -f 1295/2258/463 1294/2257/458 1306/2270/510 1307/2271/511 -f 1296/2259/502 1295/2258/463 1307/2271/511 1300/2264/504 -f 1298/2261/503 1297/2260/132 1301/2265/505 1302/2266/506 -f 1292/2255/459 1299/2262/460 1303/2267/507 1304/2268/508 -f 1294/2257/458 1293/2263/136 1305/2272/509 1306/2270/510 -f 1308/2273/295 1309/2274/512 1240/1340/512 1237/1337/295 -f 1310/2275/513 1311/2276/514 1228/1328/514 1242/1342/513 -f 1312/2277/289 1313/2278/515 1232/1332/515 1229/1329/289 -f 1314/2279/516 1315/2280/517 1236/1336/517 1233/1333/516 -f 1309/2274/512 1310/2281/513 1242/1344/513 1240/1340/512 -f 1311/2276/514 1312/2277/289 1229/1329/289 1228/1328/514 -f 1313/2278/515 1314/2279/516 1233/1333/516 1232/1332/515 -f 1315/2280/517 1308/2273/295 1237/1337/295 1236/1336/517 -f 1245/2282/515 1244/2283/289 1254/1356/289 1257/1359/515 -f 1239/1339/517 1238/1338/295 1253/1355/295 1252/1354/517 -f 1246/2284/516 1245/2282/515 1257/1359/515 1259/1361/516 -f 1238/1338/295 1241/1341/512 1256/1358/512 1253/1355/295 -f 1247/2285/517 1246/2286/516 1259/1365/516 1261/1364/517 -f 1241/1341/512 1243/1345/513 1258/1360/513 1256/1358/512 -f 1248/2287/295 1247/2285/517 1261/1364/517 1263/1367/295 -f 1243/1343/513 1231/1331/514 1260/1363/514 1258/1362/513 -f 1234/1334/516 1239/1339/517 1252/1354/517 1266/1370/516 -f 1244/2283/289 1251/2288/514 1255/1357/514 1254/1356/289 -f 1235/1335/515 1234/1334/516 1266/1370/516 1264/1368/515 -f 1251/2288/514 1250/2289/513 1267/1371/513 1255/1357/514 -f 1230/1330/289 1235/1335/515 1264/1368/515 1262/1366/289 -f 1250/2289/513 1249/2290/512 1265/1369/512 1267/1371/513 -f 1231/1331/514 1230/1330/289 1262/1366/289 1260/1363/514 -f 1249/2290/512 1248/2287/295 1263/1367/295 1265/1369/512 -f 1356/2291/518 1357/2292/519 1358/2293/520 1359/2294/521 -f 1360/2295/522 1361/2296/523 1362/2297/524 1363/2298/525 -f 1364/2299/526 1365/2300/527 1366/2301/528 1367/2302/529 -f 1365/2300/527 1368/2303/530 1369/2304/531 1366/2301/528 -f 1370/2305/532 1356/2291/518 1359/2294/521 1371/2306/533 -f 1357/2292/519 1360/2295/522 1363/2298/525 1358/2293/520 -f 1361/2296/523 1364/2299/526 1367/2302/529 1362/2297/524 -f 1368/2303/530 1370/2307/532 1371/2308/533 1369/2304/531 -f 1367/2302/529 1366/2301/528 1372/2309/534 1373/2310/535 -f 1363/2298/525 1362/2297/524 1374/2311/392 1375/2312/536 -f 1359/2294/521 1358/2293/520 1376/2313/537 1377/2314/538 -f 1369/2304/531 1371/2308/533 1378/2315/539 1379/2316/540 -f 1362/2297/524 1367/2302/529 1373/2310/535 1374/2311/392 -f 1358/2293/520 1363/2298/525 1375/2312/536 1376/2313/537 -f 1371/2306/533 1359/2294/521 1377/2314/538 1378/2317/539 -f 1366/2301/528 1369/2304/531 1379/2316/540 1372/2309/534 -f 1378/2317/539 1377/2314/538 1380/2318/541 1381/2319/136 -f 1372/2309/534 1379/2316/540 1382/2320/542 1383/2321/543 -f 1373/2310/535 1372/2309/534 1383/2321/543 1384/2322/544 -f 1375/2312/536 1374/2311/392 1385/2323/132 1386/2324/545 -f 1377/2314/538 1376/2313/537 1387/2325/546 1380/2318/541 -f 1379/2316/540 1378/2315/539 1381/2326/136 1382/2320/542 -f 1374/2311/392 1373/2310/535 1384/2322/544 1385/2323/132 -f 1376/2313/537 1375/2312/536 1386/2324/545 1387/2325/546 -f 1385/2323/132 1384/2322/544 1388/2327/547 1389/2328/548 -f 1387/2325/546 1386/2324/545 1390/2329/549 1391/2330/550 -f 1381/2319/136 1380/2318/541 1392/2331/551 1393/2332/552 -f 1383/2321/543 1382/2320/542 1394/2333/553 1395/2334/554 -f 1384/2322/544 1383/2321/543 1395/2334/554 1388/2327/547 -f 1386/2324/545 1385/2323/132 1389/2328/548 1390/2329/549 -f 1380/2318/541 1387/2325/546 1391/2330/550 1392/2331/551 -f 1382/2320/542 1381/2326/136 1393/2335/552 1394/2333/553 -f 1396/2336/288 1397/2337/555 1328/1384/555 1325/1381/288 -f 1398/2338/556 1399/2339/557 1316/1372/557 1330/1386/556 -f 1400/2340/290 1401/2341/558 1320/1376/558 1317/1373/290 -f 1402/2342/559 1403/2343/560 1324/1380/560 1321/1377/559 -f 1397/2337/555 1398/2344/556 1330/1388/556 1328/1384/555 -f 1399/2339/557 1400/2340/290 1317/1373/290 1316/1372/557 -f 1401/2341/558 1402/2342/559 1321/1377/559 1320/1376/558 -f 1403/2343/560 1396/2336/288 1325/1381/288 1324/1380/560 -f 1333/2345/558 1332/2346/290 1342/1400/290 1345/1403/558 -f 1327/1383/560 1326/1382/288 1341/1399/288 1340/1398/560 -f 1334/2347/559 1333/2345/558 1345/1403/558 1347/1405/559 -f 1326/1382/288 1329/1385/555 1344/1402/555 1341/1399/288 -f 1335/2348/560 1334/2349/559 1347/1409/559 1349/1408/560 -f 1329/1385/555 1331/1389/556 1346/1404/556 1344/1402/555 -f 1336/2350/288 1335/2348/560 1349/1408/560 1351/1411/288 -f 1331/1387/556 1319/1375/557 1348/1407/557 1346/1406/556 -f 1322/1378/559 1327/1383/560 1340/1398/560 1354/1414/559 -f 1332/2346/290 1339/2351/557 1343/1401/557 1342/1400/290 -f 1323/1379/558 1322/1378/559 1354/1414/559 1352/1412/558 -f 1339/2351/557 1338/2352/556 1355/1415/556 1343/1401/557 -f 1318/1374/290 1323/1379/558 1352/1412/558 1350/1410/290 -f 1338/2352/556 1337/2353/555 1353/1413/555 1355/1415/556 -f 1319/1375/557 1318/1374/290 1350/1410/290 1348/1407/557 -f 1337/2353/555 1336/2350/288 1351/1411/288 1353/1413/555 -f 1444/2354/561 1445/2355/562 1446/2356/563 1447/2357/564 -f 1448/2358/565 1449/2359/566 1450/2360/567 1451/2361/568 -f 1452/2362/569 1453/2363/570 1454/2364/571 1455/2365/572 -f 1453/2363/570 1456/2366/573 1457/2367/574 1454/2364/571 -f 1458/2368/575 1444/2354/561 1447/2357/564 1459/2369/576 -f 1445/2355/562 1448/2358/565 1451/2361/568 1446/2356/563 -f 1449/2359/566 1452/2362/569 1455/2365/572 1450/2360/567 -f 1456/2366/573 1458/2370/575 1459/2371/576 1457/2367/574 -f 1455/2365/572 1454/2364/571 1460/2372/577 1461/2373/578 -f 1451/2361/568 1450/2360/567 1462/2374/579 1463/2375/580 -f 1447/2357/564 1446/2356/563 1464/2376/581 1465/2377/582 -f 1457/2367/574 1459/2371/576 1466/2378/583 1467/2379/584 -f 1450/2360/567 1455/2365/572 1461/2373/578 1462/2374/579 -f 1446/2356/563 1451/2361/568 1463/2375/580 1464/2376/581 -f 1459/2369/576 1447/2357/564 1465/2377/582 1466/2380/583 -f 1454/2364/571 1457/2367/574 1467/2379/584 1460/2372/577 -f 1466/2380/583 1465/2377/582 1468/2381/542 1469/2382/136 -f 1460/2372/577 1467/2379/584 1470/2383/541 1471/2384/546 -f 1461/2373/578 1460/2372/577 1471/2384/546 1472/2385/545 -f 1463/2375/580 1462/2374/579 1473/2386/132 1474/2387/544 -f 1465/2377/582 1464/2376/581 1475/2388/543 1468/2381/542 -f 1467/2379/584 1466/2378/583 1469/2389/136 1470/2383/541 -f 1462/2374/579 1461/2373/578 1472/2385/545 1473/2386/132 -f 1464/2376/581 1463/2375/580 1474/2387/544 1475/2388/543 -f 1473/2386/132 1472/2385/545 1476/2390/585 1477/2391/586 -f 1475/2388/543 1474/2387/544 1478/2392/587 1479/2393/588 -f 1469/2382/136 1468/2381/542 1480/2394/589 1481/2395/590 -f 1471/2384/546 1470/2383/541 1482/2396/591 1483/2397/592 -f 1472/2385/545 1471/2384/546 1483/2397/592 1476/2390/585 -f 1474/2387/544 1473/2386/132 1477/2391/586 1478/2392/587 -f 1468/2381/542 1475/2388/543 1479/2393/588 1480/2394/589 -f 1470/2383/541 1469/2389/136 1481/2398/590 1482/2396/591 -f 1484/2399/290 1485/2400/593 1416/1428/593 1413/1425/290 -f 1486/2401/594 1487/2402/595 1404/1416/595 1418/1430/594 -f 1488/2403/288 1489/2404/596 1408/1420/596 1405/1417/288 -f 1490/2405/597 1491/2406/598 1412/1424/598 1409/1421/597 -f 1485/2400/593 1486/2407/594 1418/1432/594 1416/1428/593 -f 1487/2402/595 1488/2403/288 1405/1417/288 1404/1416/595 -f 1489/2404/596 1490/2405/597 1409/1421/597 1408/1420/596 -f 1491/2406/598 1484/2399/290 1413/1425/290 1412/1424/598 -f 1421/2408/596 1420/2409/288 1430/1444/288 1433/1447/596 -f 1415/1427/598 1414/1426/290 1429/1443/290 1428/1442/598 -f 1422/2410/597 1421/2408/596 1433/1447/596 1435/1449/597 -f 1414/1426/290 1417/1429/593 1432/1446/593 1429/1443/290 -f 1423/2411/598 1422/2412/597 1435/1453/597 1437/1452/598 -f 1417/1429/593 1419/1433/594 1434/1448/594 1432/1446/593 -f 1424/2413/290 1423/2411/598 1437/1452/598 1439/1455/290 -f 1419/1431/594 1407/1419/595 1436/1451/595 1434/1450/594 -f 1410/1422/597 1415/1427/598 1428/1442/598 1442/1458/597 -f 1420/2409/288 1427/2414/595 1431/1445/595 1430/1444/288 -f 1411/1423/596 1410/1422/597 1442/1458/597 1440/1456/596 -f 1427/2414/595 1426/2415/594 1443/1459/594 1431/1445/595 -f 1406/1418/288 1411/1423/596 1440/1456/596 1438/1454/288 -f 1426/2415/594 1425/2416/593 1441/1457/593 1443/1459/594 -f 1407/1419/595 1406/1418/288 1438/1454/288 1436/1451/595 -f 1425/2416/593 1424/2413/290 1439/1455/290 1441/1457/593 -f 1532/2417/599 1533/2418/600 1534/2419/601 1535/2420/602 -f 1536/2421/603 1537/2422/604 1538/2423/605 1539/2424/606 -f 1540/2425/607 1541/2426/608 1542/2427/609 1543/2428/610 -f 1541/2426/608 1544/2429/611 1545/2430/612 1542/2427/609 -f 1546/2431/613 1532/2417/599 1535/2420/602 1547/2432/614 -f 1533/2418/600 1536/2421/603 1539/2424/606 1534/2419/601 -f 1537/2422/604 1540/2425/607 1543/2428/610 1538/2423/605 -f 1544/2429/611 1546/2433/613 1547/2434/614 1545/2430/612 -f 1543/2428/610 1542/2427/609 1548/2435/615 1549/2436/616 -f 1539/2424/606 1538/2423/605 1550/2437/617 1551/2438/618 -f 1535/2420/602 1534/2419/601 1552/2439/619 1553/2440/620 -f 1545/2430/612 1547/2434/614 1554/2441/621 1555/2442/622 -f 1538/2423/605 1543/2428/610 1549/2436/616 1550/2437/617 -f 1534/2419/601 1539/2424/606 1551/2438/618 1552/2439/619 -f 1547/2432/614 1535/2420/602 1553/2440/620 1554/2443/621 -f 1542/2427/609 1545/2430/612 1555/2442/622 1548/2435/615 -f 1554/2443/621 1553/2440/620 1556/2444/623 1557/2445/136 -f 1548/2435/615 1555/2442/622 1558/2446/624 1559/2447/625 -f 1549/2436/616 1548/2435/615 1559/2447/625 1560/2448/626 -f 1551/2438/618 1550/2437/617 1561/2449/132 1562/2450/627 -f 1553/2440/620 1552/2439/619 1563/2451/628 1556/2444/623 -f 1555/2442/622 1554/2441/621 1557/2452/136 1558/2446/624 -f 1550/2437/617 1549/2436/616 1560/2448/626 1561/2449/132 -f 1552/2439/619 1551/2438/618 1562/2450/627 1563/2451/628 -f 1561/2449/132 1560/2448/626 1564/2453/629 1565/2454/630 -f 1563/2451/628 1562/2450/627 1566/2455/631 1567/2456/632 -f 1557/2445/136 1556/2444/623 1568/2457/633 1569/2458/634 -f 1559/2447/625 1558/2446/624 1570/2459/635 1571/2460/636 -f 1560/2448/626 1559/2447/625 1571/2460/636 1564/2453/629 -f 1562/2450/627 1561/2449/132 1565/2454/630 1566/2455/631 -f 1556/2444/623 1563/2451/628 1567/2456/632 1568/2457/633 -f 1558/2446/624 1557/2452/136 1569/2461/634 1570/2459/635 -f 1572/2462/294 1573/2463/637 1504/1472/637 1501/1469/294 -f 1574/2464/638 1575/2465/639 1492/1460/639 1506/1474/638 -f 1576/2466/293 1577/2467/640 1496/1464/640 1493/1461/293 -f 1578/2468/641 1579/2469/642 1500/1468/642 1497/1465/641 -f 1573/2463/637 1574/2470/638 1506/1476/638 1504/1472/637 -f 1575/2465/639 1576/2466/293 1493/1461/293 1492/1460/639 -f 1577/2467/640 1578/2468/641 1497/1465/641 1496/1464/640 -f 1579/2469/642 1572/2462/294 1501/1469/294 1500/1468/642 -f 1509/2471/640 1508/2472/293 1518/1488/293 1521/1491/640 -f 1503/1471/642 1502/1470/294 1517/1487/294 1516/1486/642 -f 1510/2473/641 1509/2471/640 1521/1491/640 1523/1493/641 -f 1502/1470/294 1505/1473/637 1520/1490/637 1517/1487/294 -f 1511/2474/642 1510/2475/641 1523/1497/641 1525/1496/642 -f 1505/1473/637 1507/1477/638 1522/1492/638 1520/1490/637 -f 1512/2476/294 1511/2474/642 1525/1496/642 1527/1499/294 -f 1507/1475/638 1495/1463/639 1524/1495/639 1522/1494/638 -f 1498/1466/641 1503/1471/642 1516/1486/642 1530/1502/641 -f 1508/2472/293 1515/2477/639 1519/1489/639 1518/1488/293 -f 1499/1467/640 1498/1466/641 1530/1502/641 1528/1500/640 -f 1515/2477/639 1514/2478/638 1531/1503/638 1519/1489/639 -f 1494/1462/293 1499/1467/640 1528/1500/640 1526/1498/293 -f 1514/2478/638 1513/2479/637 1529/1501/637 1531/1503/638 -f 1495/1463/639 1494/1462/293 1526/1498/293 1524/1495/639 -f 1513/2479/637 1512/2476/294 1527/1499/294 1529/1501/637 -f 1620/2480/643 1621/2481/644 1622/2482/645 1623/2483/646 -f 1624/2484/647 1625/2485/648 1626/2486/649 1627/2487/650 -f 1628/2488/651 1629/2489/652 1630/2490/653 1631/2491/654 -f 1629/2489/652 1632/2492/655 1633/2493/656 1630/2490/653 -f 1634/2494/657 1620/2480/643 1623/2483/646 1635/2495/658 -f 1621/2481/644 1624/2484/647 1627/2487/650 1622/2482/645 -f 1625/2485/648 1628/2488/651 1631/2491/654 1626/2486/649 -f 1632/2492/655 1634/2496/657 1635/2497/658 1633/2493/656 -f 1631/2491/654 1630/2490/653 1636/2498/659 1637/2499/660 -f 1627/2487/650 1626/2486/649 1638/2500/383 1639/2501/661 -f 1623/2483/646 1622/2482/645 1640/2502/662 1641/2503/663 -f 1633/2493/656 1635/2497/658 1642/2504/664 1643/2505/665 -f 1626/2486/649 1631/2491/654 1637/2499/660 1638/2500/383 -f 1622/2482/645 1627/2487/650 1639/2501/661 1640/2502/662 -f 1635/2495/658 1623/2483/646 1641/2503/663 1642/2506/664 -f 1630/2490/653 1633/2493/656 1643/2505/665 1636/2498/659 -f 1642/2506/664 1641/2503/663 1644/2507/624 1645/2508/136 -f 1636/2498/659 1643/2505/665 1646/2509/623 1647/2510/628 -f 1637/2499/660 1636/2498/659 1647/2510/628 1648/2511/627 -f 1639/2501/661 1638/2500/383 1649/2512/132 1650/2513/626 -f 1641/2503/663 1640/2502/662 1651/2514/625 1644/2507/624 -f 1643/2505/665 1642/2504/664 1645/2515/136 1646/2509/623 -f 1638/2500/383 1637/2499/660 1648/2511/627 1649/2512/132 -f 1640/2502/662 1639/2501/661 1650/2513/626 1651/2514/625 -f 1649/2512/132 1648/2511/627 1652/2516/666 1653/2517/667 -f 1651/2514/625 1650/2513/626 1654/2518/668 1655/2519/669 -f 1645/2508/136 1644/2507/624 1656/2520/670 1657/2521/671 -f 1647/2510/628 1646/2509/623 1658/2522/672 1659/2523/673 -f 1648/2511/627 1647/2510/628 1659/2523/673 1652/2516/666 -f 1650/2513/626 1649/2512/132 1653/2517/667 1654/2518/668 -f 1644/2507/624 1651/2514/625 1655/2519/669 1656/2520/670 -f 1646/2509/623 1645/2515/136 1657/2524/671 1658/2522/672 -f 1660/2525/293 1661/2526/674 1592/1516/674 1589/1513/293 -f 1662/2527/675 1663/2528/676 1580/1504/676 1594/1518/675 -f 1664/2529/294 1665/2530/677 1584/1508/677 1581/1505/294 -f 1666/2531/678 1667/2532/679 1588/1512/679 1585/1509/678 -f 1661/2526/674 1662/2533/675 1594/1520/675 1592/1516/674 -f 1663/2528/676 1664/2529/294 1581/1505/294 1580/1504/676 -f 1665/2530/677 1666/2531/678 1585/1509/678 1584/1508/677 -f 1667/2532/679 1660/2525/293 1589/1513/293 1588/1512/679 -f 1597/2534/677 1596/2535/294 1606/1532/294 1609/1535/677 -f 1591/1515/679 1590/1514/293 1605/1531/293 1604/1530/679 -f 1598/2536/678 1597/2534/677 1609/1535/677 1611/1537/678 -f 1590/1514/293 1593/1517/674 1608/1534/674 1605/1531/293 -f 1599/2537/679 1598/2538/678 1611/1541/678 1613/1540/679 -f 1593/1517/674 1595/1521/675 1610/1536/675 1608/1534/674 -f 1600/2539/293 1599/2537/679 1613/1540/679 1615/1543/293 -f 1595/1519/675 1583/1507/676 1612/1539/676 1610/1538/675 -f 1586/1510/678 1591/1515/679 1604/1530/679 1618/1546/678 -f 1596/2535/294 1603/2540/676 1607/1533/676 1606/1532/294 -f 1587/1511/677 1586/1510/678 1618/1546/678 1616/1544/677 -f 1603/2540/676 1602/2541/675 1619/1547/675 1607/1533/676 -f 1582/1506/294 1587/1511/677 1616/1544/677 1614/1542/294 -f 1602/2541/675 1601/2542/674 1617/1545/674 1619/1547/675 -f 1583/1507/676 1582/1506/294 1614/1542/294 1612/1539/676 -f 1601/2542/674 1600/2539/293 1615/1543/293 1617/1545/674 +f 389/1917/290 388/1918/295 413/589/295 411/592/290 +f 445/1919/124 444/1920/289 465/1921/289 464/1922/124 +f 450/1923/290 452/1924/125 456/1925/125 455/1926/290 +f 452/1924/125 439/1927/295 457/1928/295 456/1925/125 +f 442/1929/288 445/1930/124 464/1931/124 463/1932/288 +f 451/1933/131 450/1923/290 455/1926/290 470/1934/131 +f 443/1935/129 442/1929/288 463/1932/288 462/1936/129 +f 448/1937/292 451/1933/131 470/1934/131 469/1938/292 +f 440/1939/291 443/1935/129 462/1936/129 461/1940/291 +f 449/1941/126 448/1937/292 469/1938/292 468/1942/126 +f 441/1943/127 440/1939/291 461/1940/291 460/1944/127 +f 446/1945/294 449/1941/126 468/1942/126 467/1946/294 +f 437/1947/293 441/1943/127 460/1944/127 459/1948/293 +f 447/1949/130 446/1945/294 467/1946/294 466/1950/130 +f 438/1951/128 437/1947/293 459/1948/293 458/1952/128 +f 444/1920/289 447/1949/130 466/1950/130 465/1921/289 +f 439/1927/295 438/1951/128 458/1952/128 457/1928/295 +f 911/1953/353 912/1954/173 688/1955/173 687/1956/353 +f 913/1957/126 914/1958/354 691/1959/354 690/1960/126 +f 694/1030/355 693/1029/355 702/1037/356 700/1961/356 +f 915/1962/357 911/1953/353 687/1956/353 686/1963/357 +f 916/1964/358 913/1957/126 690/1960/126 689/1965/358 +f 700/1961/356 702/1037/356 701/1966/359 699/1967/359 +f 917/1968/360 692/1969/361 684/1970/361 683/1971/360 +f 696/1972/362 915/1962/357 686/1963/357 685/1973/362 +f 912/1954/173 916/1964/358 689/1965/358 688/1955/173 +f 699/1967/359 701/1966/359 918/1974/127 698/1975/127 +f 914/1958/354 917/1968/360 683/1971/360 691/1959/354 +f 695/1031/363 697/1034/363 698/1975/127 918/1974/127 +f 919/1976/155 920/1977/356 709/1978/356 708/1979/155 +f 921/1980/126 922/1981/354 706/1982/354 705/1983/126 +f 923/1984/364 924/1985/357 713/1986/357 712/1987/364 +f 925/1988/353 926/1989/173 703/1990/173 714/1991/353 +f 920/1977/356 927/1992/359 710/1993/359 709/1978/356 +f 922/1981/354 928/1994/360 707/1995/360 706/1982/354 +f 924/1985/357 925/1996/353 714/1997/353 713/1986/357 +f 926/1989/173 929/1998/358 704/1999/358 703/1990/173 +f 927/1992/359 930/2000/127 711/2001/127 710/1993/359 +f 928/1994/360 919/1976/155 708/1979/155 707/1995/360 +f 929/1998/358 921/1980/126 705/1983/126 704/1999/358 +f 930/2000/127 923/1984/364 712/1987/364 711/2001/127 +f 931/2002/365 932/2003/366 933/2004/367 934/2005/368 +f 935/2006/369 936/2007/370 937/2008/371 938/2009/372 +f 939/2010/373 940/2011/374 941/2012/375 942/2013/376 +f 943/2014/377 944/2015/378 945/2016/379 946/2017/380 +f 946/2017/380 945/2016/379 940/2011/374 939/2010/373 +f 947/2018/381 948/2019/382 944/2015/378 943/2014/377 +f 945/2016/379 949/2020/383 950/2021/384 940/2011/374 +f 948/2019/382 951/2022/385 952/2023/386 944/2015/378 +f 940/2011/374 950/2021/384 953/2024/387 941/2012/375 +f 944/2015/378 952/2023/386 949/2020/383 945/2016/379 +f 954/2025/373 955/2026/374 956/2027/375 957/2028/376 +f 958/2029/377 959/2030/378 960/2031/379 961/2032/380 +f 961/2032/380 960/2031/379 955/2026/374 954/2025/373 +f 962/2033/381 963/2034/382 959/2030/378 958/2029/377 +f 960/2031/379 964/2035/383 965/2036/384 955/2026/374 +f 963/2034/382 966/2037/385 967/2038/386 959/2030/378 +f 955/2026/374 965/2036/384 968/2039/387 956/2027/375 +f 959/2030/378 967/2038/386 964/2035/383 960/2031/379 +f 969/2040/373 970/2041/374 971/2042/375 972/2043/376 +f 973/2044/377 974/2045/388 975/2046/379 976/2047/380 +f 976/2047/380 975/2046/379 970/2041/374 969/2040/373 +f 977/2048/381 978/2049/382 974/2045/388 973/2044/377 +f 975/2046/379 979/2050/383 980/2051/384 970/2041/374 +f 978/2049/382 981/2052/385 982/2053/386 974/2045/388 +f 970/2041/374 980/2051/384 983/2054/387 971/2042/375 +f 974/2045/388 982/2053/386 979/2050/383 975/2046/379 +f 939/2010/373 942/2013/376 984/2055/295 985/2056/125 +f 954/2025/373 957/2028/376 986/2057/295 987/2058/125 +f 946/2017/380 939/2010/373 985/2056/125 988/2059/131 +f 943/2014/377 946/2017/380 988/2059/131 989/2060/126 +f 969/2040/373 972/2043/376 990/2061/295 991/2062/125 +f 961/2032/380 954/2025/373 987/2058/125 992/2063/131 +f 947/2018/381 943/2014/377 989/2060/126 993/2064/294 +f 958/2029/377 961/2032/380 992/2063/131 994/2065/126 +f 976/2047/380 969/2040/373 991/2062/125 995/2066/131 +f 973/2044/377 976/2047/380 995/2066/131 996/2067/126 +f 962/2033/381 958/2029/377 994/2065/126 997/2068/294 +f 977/2048/381 973/2044/377 996/2067/126 998/2069/294 +f 932/2003/366 935/2006/369 938/2009/372 933/2004/367 +f 999/2070/389 931/2002/365 934/2005/368 1000/2071/390 +f 933/2004/367 938/2009/372 1001/2072/391 1002/2073/392 +f 1000/2071/390 934/2005/368 1003/2074/393 1004/2075/394 +f 938/2009/372 937/2008/371 1005/2076/395 1001/2072/391 +f 934/2005/368 933/2004/367 1002/2073/392 1003/2074/393 +f 1006/2077/369 1007/2078/370 1008/2079/371 1009/2080/396 +f 1010/2081/365 1011/2082/366 1012/2083/367 1013/2084/368 +f 1011/2082/366 1006/2077/369 1009/2080/396 1012/2083/367 +f 1014/2085/389 1010/2081/365 1013/2084/368 1015/2086/390 +f 1012/2083/367 1009/2080/396 1016/2087/391 1017/2088/392 +f 1015/2086/390 1013/2084/368 1018/2089/393 1019/2090/394 +f 1009/2080/396 1008/2079/371 1020/2091/395 1016/2087/391 +f 1013/2084/368 1012/2083/367 1017/2088/392 1018/2089/393 +f 1021/2092/369 1022/2093/370 1023/2094/371 1024/2095/372 +f 1025/2096/365 1026/2097/366 1027/2098/367 1028/2099/397 +f 1026/2097/366 1021/2092/369 1024/2095/372 1027/2098/367 +f 1029/2100/389 1025/2096/365 1028/2099/397 1030/2101/390 +f 1027/2098/367 1024/2095/372 1031/2102/391 1032/2103/392 +f 1030/2101/390 1028/2099/397 1033/2104/393 1034/2105/394 +f 1024/2095/372 1023/2094/371 1035/2106/395 1031/2102/391 +f 1028/2099/397 1027/2098/367 1032/2103/392 1033/2104/393 +f 935/2006/369 1036/2107/125 1037/2108/290 936/2007/370 +f 1006/2077/369 1038/2109/125 1039/2110/290 1007/2078/370 +f 932/2003/366 1040/2111/128 1036/2107/125 935/2006/369 +f 931/2002/365 1041/2112/127 1040/2111/128 932/2003/366 +f 1021/2092/369 1042/2113/125 1043/2114/290 1022/2093/370 +f 1011/2082/366 1044/2115/128 1038/2109/125 1006/2077/369 +f 999/2070/389 1045/2116/291 1041/2112/127 931/2002/365 +f 1010/2081/365 1046/2117/127 1044/2115/128 1011/2082/366 +f 1026/2097/366 1047/2118/128 1042/2113/125 1021/2092/369 +f 1025/2096/365 1048/2119/127 1047/2118/128 1026/2097/366 +f 1014/2085/389 1049/2120/291 1046/2117/127 1010/2081/365 +f 1029/2100/389 1050/2121/291 1048/2119/127 1025/2096/365 +f 1092/2122/398 1093/2123/399 1094/2124/400 1095/2125/401 +f 1096/2126/402 1097/2127/147 1098/2128/403 1099/2129/404 +f 1100/2130/405 1101/2131/406 1102/2132/407 1103/2133/408 +f 1101/2131/406 1104/2134/409 1105/2135/410 1102/2132/407 +f 1106/2136/148 1092/2122/398 1095/2125/401 1107/2137/411 +f 1093/2123/399 1096/2126/402 1099/2129/404 1094/2124/400 +f 1097/2127/147 1100/2130/405 1103/2133/408 1098/2128/403 +f 1104/2134/409 1106/2138/148 1107/2139/411 1105/2135/410 +f 1103/2133/408 1102/2132/407 1108/2140/412 1109/2141/413 +f 1099/2129/404 1098/2128/403 1110/2142/150 1111/2143/414 +f 1095/2125/401 1094/2124/400 1112/2144/415 1113/2145/416 +f 1105/2135/410 1107/2139/411 1114/2146/152 1115/2147/417 +f 1098/2128/403 1103/2133/408 1109/2141/413 1110/2142/150 +f 1094/2124/400 1099/2129/404 1111/2143/414 1112/2144/415 +f 1107/2137/411 1095/2125/401 1113/2145/416 1114/2148/152 +f 1102/2132/407 1105/2135/410 1115/2147/417 1108/2140/412 +f 1114/2148/152 1113/2145/416 1116/2149/318 1117/2150/136 +f 1108/2140/412 1115/2147/417 1118/2151/317 1119/2152/322 +f 1109/2141/413 1108/2140/412 1119/2152/322 1120/2153/418 +f 1111/2143/414 1110/2142/150 1121/2154/132 1122/2155/419 +f 1113/2145/416 1112/2144/415 1123/2156/319 1116/2149/318 +f 1115/2147/417 1114/2146/152 1117/2157/136 1118/2151/317 +f 1110/2142/150 1109/2141/413 1120/2153/418 1121/2154/132 +f 1112/2144/415 1111/2143/414 1122/2155/419 1123/2156/319 +f 1121/2154/132 1120/2153/418 1124/2158/420 1125/2159/421 +f 1123/2156/319 1122/2155/419 1126/2160/422 1127/2161/423 +f 1117/2150/136 1116/2149/318 1128/2162/424 1129/2163/425 +f 1119/2152/322 1118/2151/317 1130/2164/426 1131/2165/427 +f 1120/2153/418 1119/2152/322 1131/2165/427 1124/2158/420 +f 1122/2155/419 1121/2154/132 1125/2159/421 1126/2160/422 +f 1116/2149/318 1123/2156/319 1127/2161/423 1128/2162/424 +f 1118/2151/317 1117/2157/136 1129/2166/425 1130/2164/426 +f 1132/2167/292 1133/2168/428 1064/1250/428 1061/1247/292 +f 1134/2169/429 1135/2170/430 1052/1238/430 1066/1252/429 +f 1136/2171/291 1137/2172/431 1056/1242/431 1053/1239/291 +f 1138/2173/432 1139/2174/433 1060/1246/433 1057/1243/432 +f 1133/2168/428 1134/2175/429 1066/1254/429 1064/1250/428 +f 1135/2170/430 1136/2171/291 1053/1239/291 1052/1238/430 +f 1137/2172/431 1138/2173/432 1057/1243/432 1056/1242/431 +f 1139/2174/433 1132/2167/292 1061/1247/292 1060/1246/433 +f 1069/2176/431 1068/2177/291 1078/1266/291 1081/1269/431 +f 1063/1249/433 1062/1248/292 1077/1265/292 1076/1264/433 +f 1070/2178/432 1069/2176/431 1081/1269/431 1083/1271/432 +f 1062/1248/292 1065/1251/428 1080/1268/428 1077/1265/292 +f 1071/2179/433 1070/2180/432 1083/1275/432 1085/1274/433 +f 1065/1251/428 1067/1255/429 1082/1270/429 1080/1268/428 +f 1072/2181/292 1071/2179/433 1085/1274/433 1087/1277/292 +f 1067/1253/429 1055/1241/430 1084/1273/430 1082/1272/429 +f 1058/1244/432 1063/1249/433 1076/1264/433 1090/1280/432 +f 1068/2177/291 1075/2182/430 1079/1267/430 1078/1266/291 +f 1059/1245/431 1058/1244/432 1090/1280/432 1088/1278/431 +f 1075/2182/430 1074/2183/429 1091/1281/429 1079/1267/430 +f 1054/1240/291 1059/1245/431 1088/1278/431 1086/1276/291 +f 1074/2183/429 1073/2184/428 1089/1279/428 1091/1281/429 +f 1055/1241/430 1054/1240/291 1086/1276/291 1084/1273/430 +f 1073/2184/428 1072/2181/292 1087/1277/292 1089/1279/428 +f 1180/2185/434 1181/2186/435 1182/2187/436 1183/2188/437 +f 1184/2189/438 1185/2190/439 1186/2191/440 1187/2192/441 +f 1188/2193/442 1189/2194/443 1190/2195/444 1191/2196/445 +f 1189/2194/443 1192/2197/446 1193/2198/447 1190/2195/444 +f 1194/2199/448 1180/2185/434 1183/2188/437 1195/2200/449 +f 1181/2186/435 1184/2189/438 1187/2192/441 1182/2187/436 +f 1185/2190/439 1188/2193/442 1191/2196/445 1186/2191/440 +f 1192/2197/446 1194/2201/448 1195/2202/449 1193/2198/447 +f 1191/2196/445 1190/2195/444 1196/2203/450 1197/2204/451 +f 1187/2192/441 1186/2191/440 1198/2205/452 1199/2206/453 +f 1183/2188/437 1182/2187/436 1200/2207/454 1201/2208/455 +f 1193/2198/447 1195/2202/449 1202/2209/456 1203/2210/457 +f 1186/2191/440 1191/2196/445 1197/2204/451 1198/2205/452 +f 1182/2187/436 1187/2192/441 1199/2206/453 1200/2207/454 +f 1195/2200/449 1183/2188/437 1201/2208/455 1202/2211/456 +f 1190/2195/444 1193/2198/447 1203/2210/457 1196/2203/450 +f 1202/2211/456 1201/2208/455 1204/2212/458 1205/2213/136 +f 1196/2203/450 1203/2210/457 1206/2214/459 1207/2215/460 +f 1197/2204/451 1196/2203/450 1207/2215/460 1208/2216/461 +f 1199/2206/453 1198/2205/452 1209/2217/132 1210/2218/462 +f 1201/2208/455 1200/2207/454 1211/2219/463 1204/2212/458 +f 1203/2210/457 1202/2209/456 1205/2220/136 1206/2214/459 +f 1198/2205/452 1197/2204/451 1208/2216/461 1209/2217/132 +f 1200/2207/454 1199/2206/453 1210/2218/462 1211/2219/463 +f 1209/2217/132 1208/2216/461 1212/2221/464 1213/2222/465 +f 1211/2219/463 1210/2218/462 1214/2223/466 1215/2224/467 +f 1205/2213/136 1204/2212/458 1216/2225/468 1217/2226/469 +f 1207/2215/460 1206/2214/459 1218/2227/470 1219/2228/471 +f 1208/2216/461 1207/2215/460 1219/2228/471 1212/2221/464 +f 1210/2218/462 1209/2217/132 1213/2222/465 1214/2223/466 +f 1204/2212/458 1211/2219/463 1215/2224/467 1216/2225/468 +f 1206/2214/459 1205/2220/136 1217/2229/469 1218/2227/470 +f 1220/2230/289 1221/2231/472 1152/1294/472 1149/1291/289 +f 1222/2232/473 1223/2233/474 1140/1282/474 1154/1296/473 +f 1224/2234/295 1225/2235/475 1144/1286/475 1141/1283/295 +f 1226/2236/476 1227/2237/477 1148/1290/477 1145/1287/476 +f 1221/2231/472 1222/2238/473 1154/1298/473 1152/1294/472 +f 1223/2233/474 1224/2234/295 1141/1283/295 1140/1282/474 +f 1225/2235/475 1226/2236/476 1145/1287/476 1144/1286/475 +f 1227/2237/477 1220/2230/289 1149/1291/289 1148/1290/477 +f 1157/2239/475 1156/2240/295 1166/1310/295 1169/1313/475 +f 1151/1293/477 1150/1292/289 1165/1309/289 1164/1308/477 +f 1158/2241/476 1157/2239/475 1169/1313/475 1171/1315/476 +f 1150/1292/289 1153/1295/472 1168/1312/472 1165/1309/289 +f 1159/2242/477 1158/2243/476 1171/1319/476 1173/1318/477 +f 1153/1295/472 1155/1299/473 1170/1314/473 1168/1312/472 +f 1160/2244/289 1159/2242/477 1173/1318/477 1175/1321/289 +f 1155/1297/473 1143/1285/474 1172/1317/474 1170/1316/473 +f 1146/1288/476 1151/1293/477 1164/1308/477 1178/1324/476 +f 1156/2240/295 1163/2245/474 1167/1311/474 1166/1310/295 +f 1147/1289/475 1146/1288/476 1178/1324/476 1176/1322/475 +f 1163/2245/474 1162/2246/473 1179/1325/473 1167/1311/474 +f 1142/1284/295 1147/1289/475 1176/1322/475 1174/1320/295 +f 1162/2246/473 1161/2247/472 1177/1323/472 1179/1325/473 +f 1143/1285/474 1142/1284/295 1174/1320/295 1172/1317/474 +f 1161/2247/472 1160/2244/289 1175/1321/289 1177/1323/472 +f 1268/2248/478 1269/2249/479 1270/2250/480 1271/2251/481 +f 1272/2252/482 1273/2253/483 1274/2254/484 1275/2255/485 +f 1276/2256/486 1277/2257/487 1278/2258/488 1279/2259/489 +f 1277/2257/487 1280/2260/490 1281/2261/491 1278/2258/488 +f 1282/2262/492 1268/2248/478 1271/2251/481 1283/2263/493 +f 1269/2249/479 1272/2252/482 1275/2255/485 1270/2250/480 +f 1273/2253/483 1276/2256/486 1279/2259/489 1274/2254/484 +f 1280/2260/490 1282/2264/492 1283/2265/493 1281/2261/491 +f 1279/2259/489 1278/2258/488 1284/2266/494 1285/2267/495 +f 1275/2255/485 1274/2254/484 1286/2268/496 1287/2269/497 +f 1271/2251/481 1270/2250/480 1288/2270/498 1289/2271/499 +f 1281/2261/491 1283/2265/493 1290/2272/500 1291/2273/501 +f 1274/2254/484 1279/2259/489 1285/2267/495 1286/2268/496 +f 1270/2250/480 1275/2255/485 1287/2269/497 1288/2270/498 +f 1283/2263/493 1271/2251/481 1289/2271/499 1290/2274/500 +f 1278/2258/488 1281/2261/491 1291/2273/501 1284/2266/494 +f 1290/2274/500 1289/2271/499 1292/2275/459 1293/2276/136 +f 1284/2266/494 1291/2273/501 1294/2277/458 1295/2278/463 +f 1285/2267/495 1284/2266/494 1295/2278/463 1296/2279/502 +f 1287/2269/497 1286/2268/496 1297/2280/132 1298/2281/503 +f 1289/2271/499 1288/2270/498 1299/2282/460 1292/2275/459 +f 1291/2273/501 1290/2272/500 1293/2283/136 1294/2277/458 +f 1286/2268/496 1285/2267/495 1296/2279/502 1297/2280/132 +f 1288/2270/498 1287/2269/497 1298/2281/503 1299/2282/460 +f 1297/2280/132 1296/2279/502 1300/2284/504 1301/2285/505 +f 1299/2282/460 1298/2281/503 1302/2286/506 1303/2287/507 +f 1293/2276/136 1292/2275/459 1304/2288/508 1305/2289/509 +f 1295/2278/463 1294/2277/458 1306/2290/510 1307/2291/511 +f 1296/2279/502 1295/2278/463 1307/2291/511 1300/2284/504 +f 1298/2281/503 1297/2280/132 1301/2285/505 1302/2286/506 +f 1292/2275/459 1299/2282/460 1303/2287/507 1304/2288/508 +f 1294/2277/458 1293/2283/136 1305/2292/509 1306/2290/510 +f 1308/2293/295 1309/2294/512 1240/1338/512 1237/1335/295 +f 1310/2295/513 1311/2296/514 1228/1326/514 1242/1340/513 +f 1312/2297/289 1313/2298/515 1232/1330/515 1229/1327/289 +f 1314/2299/516 1315/2300/517 1236/1334/517 1233/1331/516 +f 1309/2294/512 1310/2301/513 1242/1342/513 1240/1338/512 +f 1311/2296/514 1312/2297/289 1229/1327/289 1228/1326/514 +f 1313/2298/515 1314/2299/516 1233/1331/516 1232/1330/515 +f 1315/2300/517 1308/2293/295 1237/1335/295 1236/1334/517 +f 1245/2302/515 1244/2303/289 1254/1354/289 1257/1357/515 +f 1239/1337/517 1238/1336/295 1253/1353/295 1252/1352/517 +f 1246/2304/516 1245/2302/515 1257/1357/515 1259/1359/516 +f 1238/1336/295 1241/1339/512 1256/1356/512 1253/1353/295 +f 1247/2305/517 1246/2306/516 1259/1363/516 1261/1362/517 +f 1241/1339/512 1243/1343/513 1258/1358/513 1256/1356/512 +f 1248/2307/295 1247/2305/517 1261/1362/517 1263/1365/295 +f 1243/1341/513 1231/1329/514 1260/1361/514 1258/1360/513 +f 1234/1332/516 1239/1337/517 1252/1352/517 1266/1368/516 +f 1244/2303/289 1251/2308/514 1255/1355/514 1254/1354/289 +f 1235/1333/515 1234/1332/516 1266/1368/516 1264/1366/515 +f 1251/2308/514 1250/2309/513 1267/1369/513 1255/1355/514 +f 1230/1328/289 1235/1333/515 1264/1366/515 1262/1364/289 +f 1250/2309/513 1249/2310/512 1265/1367/512 1267/1369/513 +f 1231/1329/514 1230/1328/289 1262/1364/289 1260/1361/514 +f 1249/2310/512 1248/2307/295 1263/1365/295 1265/1367/512 +f 1356/2311/518 1357/2312/519 1358/2313/520 1359/2314/521 +f 1360/2315/522 1361/2316/523 1362/2317/524 1363/2318/525 +f 1364/2319/526 1365/2320/527 1366/2321/528 1367/2322/529 +f 1365/2320/527 1368/2323/530 1369/2324/531 1366/2321/528 +f 1370/2325/532 1356/2311/518 1359/2314/521 1371/2326/533 +f 1357/2312/519 1360/2315/522 1363/2318/525 1358/2313/520 +f 1361/2316/523 1364/2319/526 1367/2322/529 1362/2317/524 +f 1368/2323/530 1370/2327/532 1371/2328/533 1369/2324/531 +f 1367/2322/529 1366/2321/528 1372/2329/534 1373/2330/535 +f 1363/2318/525 1362/2317/524 1374/2331/392 1375/2332/536 +f 1359/2314/521 1358/2313/520 1376/2333/537 1377/2334/538 +f 1369/2324/531 1371/2328/533 1378/2335/539 1379/2336/540 +f 1362/2317/524 1367/2322/529 1373/2330/535 1374/2331/392 +f 1358/2313/520 1363/2318/525 1375/2332/536 1376/2333/537 +f 1371/2326/533 1359/2314/521 1377/2334/538 1378/2337/539 +f 1366/2321/528 1369/2324/531 1379/2336/540 1372/2329/534 +f 1378/2337/539 1377/2334/538 1380/2338/541 1381/2339/136 +f 1372/2329/534 1379/2336/540 1382/2340/542 1383/2341/543 +f 1373/2330/535 1372/2329/534 1383/2341/543 1384/2342/544 +f 1375/2332/536 1374/2331/392 1385/2343/132 1386/2344/545 +f 1377/2334/538 1376/2333/537 1387/2345/546 1380/2338/541 +f 1379/2336/540 1378/2335/539 1381/2346/136 1382/2340/542 +f 1374/2331/392 1373/2330/535 1384/2342/544 1385/2343/132 +f 1376/2333/537 1375/2332/536 1386/2344/545 1387/2345/546 +f 1385/2343/132 1384/2342/544 1388/2347/547 1389/2348/548 +f 1387/2345/546 1386/2344/545 1390/2349/549 1391/2350/550 +f 1381/2339/136 1380/2338/541 1392/2351/551 1393/2352/552 +f 1383/2341/543 1382/2340/542 1394/2353/553 1395/2354/554 +f 1384/2342/544 1383/2341/543 1395/2354/554 1388/2347/547 +f 1386/2344/545 1385/2343/132 1389/2348/548 1390/2349/549 +f 1380/2338/541 1387/2345/546 1391/2350/550 1392/2351/551 +f 1382/2340/542 1381/2346/136 1393/2355/552 1394/2353/553 +f 1396/2356/288 1397/2357/555 1328/1382/555 1325/1379/288 +f 1398/2358/556 1399/2359/557 1316/1370/557 1330/1384/556 +f 1400/2360/290 1401/2361/558 1320/1374/558 1317/1371/290 +f 1402/2362/559 1403/2363/560 1324/1378/560 1321/1375/559 +f 1397/2357/555 1398/2364/556 1330/1386/556 1328/1382/555 +f 1399/2359/557 1400/2360/290 1317/1371/290 1316/1370/557 +f 1401/2361/558 1402/2362/559 1321/1375/559 1320/1374/558 +f 1403/2363/560 1396/2356/288 1325/1379/288 1324/1378/560 +f 1333/2365/558 1332/2366/290 1342/1398/290 1345/1401/558 +f 1327/1381/560 1326/1380/288 1341/1397/288 1340/1396/560 +f 1334/2367/559 1333/2365/558 1345/1401/558 1347/1403/559 +f 1326/1380/288 1329/1383/555 1344/1400/555 1341/1397/288 +f 1335/2368/560 1334/2369/559 1347/1407/559 1349/1406/560 +f 1329/1383/555 1331/1387/556 1346/1402/556 1344/1400/555 +f 1336/2370/288 1335/2368/560 1349/1406/560 1351/1409/288 +f 1331/1385/556 1319/1373/557 1348/1405/557 1346/1404/556 +f 1322/1376/559 1327/1381/560 1340/1396/560 1354/1412/559 +f 1332/2366/290 1339/2371/557 1343/1399/557 1342/1398/290 +f 1323/1377/558 1322/1376/559 1354/1412/559 1352/1410/558 +f 1339/2371/557 1338/2372/556 1355/1413/556 1343/1399/557 +f 1318/1372/290 1323/1377/558 1352/1410/558 1350/1408/290 +f 1338/2372/556 1337/2373/555 1353/1411/555 1355/1413/556 +f 1319/1373/557 1318/1372/290 1350/1408/290 1348/1405/557 +f 1337/2373/555 1336/2370/288 1351/1409/288 1353/1411/555 +f 1444/2374/561 1445/2375/562 1446/2376/563 1447/2377/564 +f 1448/2378/565 1449/2379/566 1450/2380/567 1451/2381/568 +f 1452/2382/569 1453/2383/570 1454/2384/571 1455/2385/572 +f 1453/2383/570 1456/2386/573 1457/2387/574 1454/2384/571 +f 1458/2388/575 1444/2374/561 1447/2377/564 1459/2389/576 +f 1445/2375/562 1448/2378/565 1451/2381/568 1446/2376/563 +f 1449/2379/566 1452/2382/569 1455/2385/572 1450/2380/567 +f 1456/2386/573 1458/2390/575 1459/2391/576 1457/2387/574 +f 1455/2385/572 1454/2384/571 1460/2392/577 1461/2393/578 +f 1451/2381/568 1450/2380/567 1462/2394/579 1463/2395/580 +f 1447/2377/564 1446/2376/563 1464/2396/581 1465/2397/582 +f 1457/2387/574 1459/2391/576 1466/2398/583 1467/2399/584 +f 1450/2380/567 1455/2385/572 1461/2393/578 1462/2394/579 +f 1446/2376/563 1451/2381/568 1463/2395/580 1464/2396/581 +f 1459/2389/576 1447/2377/564 1465/2397/582 1466/2400/583 +f 1454/2384/571 1457/2387/574 1467/2399/584 1460/2392/577 +f 1466/2400/583 1465/2397/582 1468/2401/542 1469/2402/136 +f 1460/2392/577 1467/2399/584 1470/2403/541 1471/2404/546 +f 1461/2393/578 1460/2392/577 1471/2404/546 1472/2405/545 +f 1463/2395/580 1462/2394/579 1473/2406/132 1474/2407/544 +f 1465/2397/582 1464/2396/581 1475/2408/543 1468/2401/542 +f 1467/2399/584 1466/2398/583 1469/2409/136 1470/2403/541 +f 1462/2394/579 1461/2393/578 1472/2405/545 1473/2406/132 +f 1464/2396/581 1463/2395/580 1474/2407/544 1475/2408/543 +f 1473/2406/132 1472/2405/545 1476/2410/585 1477/2411/586 +f 1475/2408/543 1474/2407/544 1478/2412/587 1479/2413/588 +f 1469/2402/136 1468/2401/542 1480/2414/589 1481/2415/590 +f 1471/2404/546 1470/2403/541 1482/2416/591 1483/2417/592 +f 1472/2405/545 1471/2404/546 1483/2417/592 1476/2410/585 +f 1474/2407/544 1473/2406/132 1477/2411/586 1478/2412/587 +f 1468/2401/542 1475/2408/543 1479/2413/588 1480/2414/589 +f 1470/2403/541 1469/2409/136 1481/2418/590 1482/2416/591 +f 1484/2419/290 1485/2420/593 1416/1426/593 1413/1423/290 +f 1486/2421/594 1487/2422/595 1404/1414/595 1418/1428/594 +f 1488/2423/288 1489/2424/596 1408/1418/596 1405/1415/288 +f 1490/2425/597 1491/2426/598 1412/1422/598 1409/1419/597 +f 1485/2420/593 1486/2427/594 1418/1430/594 1416/1426/593 +f 1487/2422/595 1488/2423/288 1405/1415/288 1404/1414/595 +f 1489/2424/596 1490/2425/597 1409/1419/597 1408/1418/596 +f 1491/2426/598 1484/2419/290 1413/1423/290 1412/1422/598 +f 1421/2428/596 1420/2429/288 1430/1442/288 1433/1445/596 +f 1415/1425/598 1414/1424/290 1429/1441/290 1428/1440/598 +f 1422/2430/597 1421/2428/596 1433/1445/596 1435/1447/597 +f 1414/1424/290 1417/1427/593 1432/1444/593 1429/1441/290 +f 1423/2431/598 1422/2432/597 1435/1451/597 1437/1450/598 +f 1417/1427/593 1419/1431/594 1434/1446/594 1432/1444/593 +f 1424/2433/290 1423/2431/598 1437/1450/598 1439/1453/290 +f 1419/1429/594 1407/1417/595 1436/1449/595 1434/1448/594 +f 1410/1420/597 1415/1425/598 1428/1440/598 1442/1456/597 +f 1420/2429/288 1427/2434/595 1431/1443/595 1430/1442/288 +f 1411/1421/596 1410/1420/597 1442/1456/597 1440/1454/596 +f 1427/2434/595 1426/2435/594 1443/1457/594 1431/1443/595 +f 1406/1416/288 1411/1421/596 1440/1454/596 1438/1452/288 +f 1426/2435/594 1425/2436/593 1441/1455/593 1443/1457/594 +f 1407/1417/595 1406/1416/288 1438/1452/288 1436/1449/595 +f 1425/2436/593 1424/2433/290 1439/1453/290 1441/1455/593 +f 1532/2437/599 1533/2438/600 1534/2439/601 1535/2440/602 +f 1536/2441/603 1537/2442/604 1538/2443/605 1539/2444/606 +f 1540/2445/607 1541/2446/608 1542/2447/609 1543/2448/610 +f 1541/2446/608 1544/2449/611 1545/2450/612 1542/2447/609 +f 1546/2451/613 1532/2437/599 1535/2440/602 1547/2452/614 +f 1533/2438/600 1536/2441/603 1539/2444/606 1534/2439/601 +f 1537/2442/604 1540/2445/607 1543/2448/610 1538/2443/605 +f 1544/2449/611 1546/2453/613 1547/2454/614 1545/2450/612 +f 1543/2448/610 1542/2447/609 1548/2455/615 1549/2456/616 +f 1539/2444/606 1538/2443/605 1550/2457/617 1551/2458/618 +f 1535/2440/602 1534/2439/601 1552/2459/619 1553/2460/620 +f 1545/2450/612 1547/2454/614 1554/2461/621 1555/2462/622 +f 1538/2443/605 1543/2448/610 1549/2456/616 1550/2457/617 +f 1534/2439/601 1539/2444/606 1551/2458/618 1552/2459/619 +f 1547/2452/614 1535/2440/602 1553/2460/620 1554/2463/621 +f 1542/2447/609 1545/2450/612 1555/2462/622 1548/2455/615 +f 1554/2463/621 1553/2460/620 1556/2464/623 1557/2465/136 +f 1548/2455/615 1555/2462/622 1558/2466/624 1559/2467/625 +f 1549/2456/616 1548/2455/615 1559/2467/625 1560/2468/626 +f 1551/2458/618 1550/2457/617 1561/2469/132 1562/2470/627 +f 1553/2460/620 1552/2459/619 1563/2471/628 1556/2464/623 +f 1555/2462/622 1554/2461/621 1557/2472/136 1558/2466/624 +f 1550/2457/617 1549/2456/616 1560/2468/626 1561/2469/132 +f 1552/2459/619 1551/2458/618 1562/2470/627 1563/2471/628 +f 1561/2469/132 1560/2468/626 1564/2473/629 1565/2474/630 +f 1563/2471/628 1562/2470/627 1566/2475/631 1567/2476/632 +f 1557/2465/136 1556/2464/623 1568/2477/633 1569/2478/634 +f 1559/2467/625 1558/2466/624 1570/2479/635 1571/2480/636 +f 1560/2468/626 1559/2467/625 1571/2480/636 1564/2473/629 +f 1562/2470/627 1561/2469/132 1565/2474/630 1566/2475/631 +f 1556/2464/623 1563/2471/628 1567/2476/632 1568/2477/633 +f 1558/2466/624 1557/2472/136 1569/2481/634 1570/2479/635 +f 1572/2482/294 1573/2483/637 1504/1470/637 1501/1467/294 +f 1574/2484/638 1575/2485/639 1492/1458/639 1506/1472/638 +f 1576/2486/293 1577/2487/640 1496/1462/640 1493/1459/293 +f 1578/2488/641 1579/2489/642 1500/1466/642 1497/1463/641 +f 1573/2483/637 1574/2490/638 1506/1474/638 1504/1470/637 +f 1575/2485/639 1576/2486/293 1493/1459/293 1492/1458/639 +f 1577/2487/640 1578/2488/641 1497/1463/641 1496/1462/640 +f 1579/2489/642 1572/2482/294 1501/1467/294 1500/1466/642 +f 1509/2491/640 1508/2492/293 1518/1486/293 1521/1489/640 +f 1503/1469/642 1502/1468/294 1517/1485/294 1516/1484/642 +f 1510/2493/641 1509/2491/640 1521/1489/640 1523/1491/641 +f 1502/1468/294 1505/1471/637 1520/1488/637 1517/1485/294 +f 1511/2494/642 1510/2495/641 1523/1495/641 1525/1494/642 +f 1505/1471/637 1507/1475/638 1522/1490/638 1520/1488/637 +f 1512/2496/294 1511/2494/642 1525/1494/642 1527/1497/294 +f 1507/1473/638 1495/1461/639 1524/1493/639 1522/1492/638 +f 1498/1464/641 1503/1469/642 1516/1484/642 1530/1500/641 +f 1508/2492/293 1515/2497/639 1519/1487/639 1518/1486/293 +f 1499/1465/640 1498/1464/641 1530/1500/641 1528/1498/640 +f 1515/2497/639 1514/2498/638 1531/1501/638 1519/1487/639 +f 1494/1460/293 1499/1465/640 1528/1498/640 1526/1496/293 +f 1514/2498/638 1513/2499/637 1529/1499/637 1531/1501/638 +f 1495/1461/639 1494/1460/293 1526/1496/293 1524/1493/639 +f 1513/2499/637 1512/2496/294 1527/1497/294 1529/1499/637 +f 1620/2500/643 1621/2501/644 1622/2502/645 1623/2503/646 +f 1624/2504/647 1625/2505/648 1626/2506/649 1627/2507/650 +f 1628/2508/651 1629/2509/652 1630/2510/653 1631/2511/654 +f 1629/2509/652 1632/2512/655 1633/2513/656 1630/2510/653 +f 1634/2514/657 1620/2500/643 1623/2503/646 1635/2515/658 +f 1621/2501/644 1624/2504/647 1627/2507/650 1622/2502/645 +f 1625/2505/648 1628/2508/651 1631/2511/654 1626/2506/649 +f 1632/2512/655 1634/2516/657 1635/2517/658 1633/2513/656 +f 1631/2511/654 1630/2510/653 1636/2518/659 1637/2519/660 +f 1627/2507/650 1626/2506/649 1638/2520/383 1639/2521/661 +f 1623/2503/646 1622/2502/645 1640/2522/662 1641/2523/663 +f 1633/2513/656 1635/2517/658 1642/2524/664 1643/2525/665 +f 1626/2506/649 1631/2511/654 1637/2519/660 1638/2520/383 +f 1622/2502/645 1627/2507/650 1639/2521/661 1640/2522/662 +f 1635/2515/658 1623/2503/646 1641/2523/663 1642/2526/664 +f 1630/2510/653 1633/2513/656 1643/2525/665 1636/2518/659 +f 1642/2526/664 1641/2523/663 1644/2527/624 1645/2528/136 +f 1636/2518/659 1643/2525/665 1646/2529/623 1647/2530/628 +f 1637/2519/660 1636/2518/659 1647/2530/628 1648/2531/627 +f 1639/2521/661 1638/2520/383 1649/2532/132 1650/2533/626 +f 1641/2523/663 1640/2522/662 1651/2534/625 1644/2527/624 +f 1643/2525/665 1642/2524/664 1645/2535/136 1646/2529/623 +f 1638/2520/383 1637/2519/660 1648/2531/627 1649/2532/132 +f 1640/2522/662 1639/2521/661 1650/2533/626 1651/2534/625 +f 1649/2532/132 1648/2531/627 1652/2536/666 1653/2537/667 +f 1651/2534/625 1650/2533/626 1654/2538/668 1655/2539/669 +f 1645/2528/136 1644/2527/624 1656/2540/670 1657/2541/671 +f 1647/2530/628 1646/2529/623 1658/2542/672 1659/2543/673 +f 1648/2531/627 1647/2530/628 1659/2543/673 1652/2536/666 +f 1650/2533/626 1649/2532/132 1653/2537/667 1654/2538/668 +f 1644/2527/624 1651/2534/625 1655/2539/669 1656/2540/670 +f 1646/2529/623 1645/2535/136 1657/2544/671 1658/2542/672 +f 1660/2545/293 1661/2546/674 1592/1514/674 1589/1511/293 +f 1662/2547/675 1663/2548/676 1580/1502/676 1594/1516/675 +f 1664/2549/294 1665/2550/677 1584/1506/677 1581/1503/294 +f 1666/2551/678 1667/2552/679 1588/1510/679 1585/1507/678 +f 1661/2546/674 1662/2553/675 1594/1518/675 1592/1514/674 +f 1663/2548/676 1664/2549/294 1581/1503/294 1580/1502/676 +f 1665/2550/677 1666/2551/678 1585/1507/678 1584/1506/677 +f 1667/2552/679 1660/2545/293 1589/1511/293 1588/1510/679 +f 1597/2554/677 1596/2555/294 1606/1530/294 1609/1533/677 +f 1591/1513/679 1590/1512/293 1605/1529/293 1604/1528/679 +f 1598/2556/678 1597/2554/677 1609/1533/677 1611/1535/678 +f 1590/1512/293 1593/1515/674 1608/1532/674 1605/1529/293 +f 1599/2557/679 1598/2558/678 1611/1539/678 1613/1538/679 +f 1593/1515/674 1595/1519/675 1610/1534/675 1608/1532/674 +f 1600/2559/293 1599/2557/679 1613/1538/679 1615/1541/293 +f 1595/1517/675 1583/1505/676 1612/1537/676 1610/1536/675 +f 1586/1508/678 1591/1513/679 1604/1528/679 1618/1544/678 +f 1596/2555/294 1603/2560/676 1607/1531/676 1606/1530/294 +f 1587/1509/677 1586/1508/678 1618/1544/678 1616/1542/677 +f 1603/2560/676 1602/2561/675 1619/1545/675 1607/1531/676 +f 1582/1504/294 1587/1509/677 1616/1542/677 1614/1540/294 +f 1602/2561/675 1601/2562/674 1617/1543/674 1619/1545/675 +f 1583/1505/676 1582/1504/294 1614/1540/294 1612/1537/676 +f 1601/2562/674 1600/2559/293 1615/1541/293 1617/1543/674 +f 1800/2563/128 1796/2564/125 1801/2565/680 1805/2566/681 +f 1797/2567/131 1798/2568/292 1803/2569/682 1802/2570/683 +f 1799/2571/293 1800/2563/128 1805/2566/681 1804/2572/684 +f 1796/2564/125 1797/2567/131 1802/2570/683 1801/2565/680 +f 1802/2570/683 1803/2569/682 1808/2573/685 1807/2574/686 +f 1804/2572/684 1805/2566/681 1810/2575/687 1809/2576/688 +f 1801/2565/680 1802/2570/683 1807/2574/686 1806/2577/170 +f 1805/2566/681 1801/2565/680 1806/2577/170 1810/2575/687 +f 1810/2575/687 1806/2577/170 1811/2578/312 1815/2579/689 +f 1807/2574/686 1808/2573/685 1813/2580/690 1812/2581/691 +f 1809/2576/688 1810/2575/687 1815/2579/689 1814/2582/692 +f 1806/2577/170 1807/2574/686 1812/2581/691 1811/2578/312 +f 1820/2583/128 1816/2584/125 1821/2585/680 1825/2586/681 +f 1817/2587/131 1818/2588/292 1823/2589/682 1822/2590/683 +f 1819/2591/293 1820/2583/128 1825/2586/681 1824/2592/684 +f 1816/2584/125 1817/2587/131 1822/2590/683 1821/2585/680 +f 1822/2590/683 1823/2589/682 1828/2593/685 1827/2594/686 +f 1824/2592/684 1825/2586/681 1830/2595/687 1829/2596/688 +f 1821/2585/680 1822/2590/683 1827/2594/686 1826/2597/170 +f 1825/2586/681 1821/2585/680 1826/2597/170 1830/2595/687 +f 1830/2595/687 1826/2597/170 1831/2598/312 1835/2599/689 +f 1827/2594/686 1828/2593/685 1833/2600/690 1832/2601/691 +f 1829/2596/688 1830/2595/687 1835/2599/689 1834/2602/692 +f 1826/2597/170 1827/2594/686 1832/2601/691 1831/2598/312 +f 1840/2603/128 1836/2604/125 1841/2605/680 1845/2606/681 +f 1837/2607/131 1838/2608/292 1843/2609/682 1842/2610/683 +f 1839/2611/293 1840/2603/128 1845/2606/681 1844/2612/684 +f 1836/2604/125 1837/2607/131 1842/2610/683 1841/2605/680 +f 1842/2610/683 1843/2609/682 1848/2613/685 1847/2614/686 +f 1844/2612/684 1845/2606/681 1850/2615/687 1849/2616/688 +f 1841/2605/680 1842/2610/683 1847/2614/686 1846/2617/170 +f 1845/2606/681 1841/2605/680 1846/2617/170 1850/2615/687 +f 1850/2615/687 1846/2617/170 1851/2618/312 1855/2619/689 +f 1847/2614/686 1848/2613/685 1853/2620/690 1852/2621/691 +f 1849/2616/688 1850/2615/687 1855/2619/689 1854/2622/692 +f 1846/2617/170 1847/2614/686 1852/2621/691 1851/2618/312 diff --git a/src/main/resources/assets/hbm/models/weapons/cryo_cannon_alt.obj b/src/main/resources/assets/hbm/models/weapons/cryo_cannon_alt.obj new file mode 100644 index 000000000..9276f71a0 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/cryo_cannon_alt.obj @@ -0,0 +1,8217 @@ +# Blender v2.79 (sub 0) OBJ File: 'cryo_cannon_alt.blend' +# www.blender.org +o Plane.004 +v -0.437500 2.102596 -3.042822 +v -0.483253 2.144063 -3.023486 +v -0.500000 2.200707 -2.997072 +v -0.483253 2.257351 -2.970659 +v -0.437500 2.298818 -2.951323 +v -0.375000 2.313995 -2.944245 +v -0.312500 2.298818 -2.951323 +v -0.266747 2.257351 -2.970659 +v -0.250000 2.200707 -2.997072 +v -0.266747 2.144063 -3.023486 +v -0.312500 2.102596 -3.042822 +v -0.375000 2.087419 -3.049900 +vt 0.500000 0.000000 +vt 0.066987 0.250000 +vt 0.500000 1.000000 +vt 0.750000 0.933013 +vt 0.933013 0.750000 +vt 1.000000 0.500000 +vt 0.933013 0.250000 +vt 0.750000 0.066987 +vt 0.250000 0.066987 +vt 0.000000 0.500000 +vt 0.066987 0.750000 +vt 0.250000 0.933013 +vn -0.0000 0.4226 -0.9063 +s off +f 6/1/1 8/2/1 12/3/1 +f 12/3/1 1/4/1 2/5/1 +f 2/5/1 3/6/1 12/3/1 +f 3/6/1 4/7/1 12/3/1 +f 4/7/1 5/8/1 6/1/1 +f 6/1/1 7/9/1 8/2/1 +f 8/2/1 9/10/1 12/3/1 +f 9/10/1 10/11/1 12/3/1 +f 10/11/1 11/12/1 12/3/1 +f 4/7/1 6/1/1 12/3/1 +o Plane.003 +v -0.216506 2.340409 -3.000889 +v -0.250000 2.227120 -3.053716 +v -0.216506 2.113832 -3.106544 +v -0.125000 2.030899 -3.145216 +v 0.000000 2.000544 -3.159371 +v 0.125000 2.030899 -3.145216 +v 0.216506 2.113832 -3.106544 +v 0.250000 2.227120 -3.053716 +v 0.216506 2.340409 -3.000889 +v 0.125000 2.423342 -2.962217 +v 0.000000 2.453697 -2.948062 +v -0.125000 2.423342 -2.962217 +vt 0.500000 0.000000 +vt 0.066987 0.250000 +vt 0.066987 0.750000 +vt 0.250000 0.933013 +vt 0.500000 1.000000 +vt 0.750000 0.933013 +vt 0.933013 0.750000 +vt 1.000000 0.500000 +vt 0.933013 0.250000 +vt 0.750000 0.066987 +vt 0.250000 0.066987 +vt 0.000000 0.500000 +vn 0.0000 0.4226 -0.9063 +s off +f 17/13/2 15/14/2 13/15/2 +f 13/15/2 24/16/2 23/17/2 +f 23/17/2 22/18/2 21/19/2 +f 21/19/2 20/20/2 19/21/2 +f 19/21/2 18/22/2 17/13/2 +f 17/13/2 16/23/2 15/14/2 +f 15/14/2 14/24/2 13/15/2 +f 13/15/2 23/17/2 17/13/2 +f 23/17/2 21/19/2 17/13/2 +f 21/19/2 19/21/2 17/13/2 +o Plane.002 +v -0.109472 2.437500 -0.413125 +v 0.003817 2.437500 -0.360298 +v 0.109472 2.437500 -0.586875 +v -0.003817 2.437500 -0.639702 +v 0.109472 2.312500 -0.586875 +v -0.003817 2.312500 -0.639702 +v -0.109472 2.312500 -0.413125 +v 0.003817 2.312500 -0.360298 +v 0.109472 0.062500 -0.413125 +v -0.003817 0.062500 -0.360298 +v -0.109472 0.062500 -0.586875 +v 0.003816 0.062500 -0.639702 +v -0.109472 0.187500 -0.586875 +v 0.003816 0.187500 -0.639702 +v 0.109472 0.187500 -0.413125 +v -0.003817 0.187500 -0.360298 +v 1.187500 1.359472 -0.413125 +v 1.187500 1.246183 -0.360298 +v 1.187500 1.140528 -0.586875 +v 1.187500 1.253817 -0.639702 +v 1.062500 1.140528 -0.586875 +v 1.062500 1.253817 -0.639702 +v 1.062500 1.359472 -0.413125 +v 1.062500 1.246183 -0.360298 +v -1.187500 1.140528 -0.413125 +v -1.187500 1.253817 -0.360298 +v -1.187500 1.359473 -0.586875 +v -1.187500 1.246184 -0.639702 +v -1.062500 1.359473 -0.586875 +v -1.062500 1.246184 -0.639702 +v -1.062500 1.140528 -0.413125 +v -1.062500 1.253817 -0.360298 +v 0.762281 2.167098 -0.413125 +v 0.842388 2.086991 -0.360298 +v 0.917098 2.012281 -0.586875 +v 0.836990 2.092388 -0.639702 +v 0.828709 1.923892 -0.586875 +v 0.748602 2.004000 -0.639702 +v 0.673892 2.078710 -0.413125 +v 0.754000 1.998602 -0.360298 +v -0.762281 0.332902 -0.413125 +v -0.842388 0.413010 -0.360298 +v -0.917098 0.487720 -0.586875 +v -0.836991 0.407612 -0.639702 +v -0.828710 0.576108 -0.586875 +v -0.748602 0.496001 -0.639702 +v -0.673892 0.421291 -0.413125 +v -0.754000 0.501398 -0.360298 +v 0.917098 0.487720 -0.413125 +v 0.836990 0.407612 -0.360298 +v 0.762280 0.332902 -0.586875 +v 0.842388 0.413010 -0.639702 +v 0.673892 0.421291 -0.586875 +v 0.753999 0.501398 -0.639702 +v 0.828709 0.576108 -0.413125 +v 0.748602 0.496001 -0.360298 +v -0.917098 2.012281 -0.413125 +v -0.836990 2.092388 -0.360298 +v -0.762281 2.167098 -0.586875 +v -0.842388 2.086991 -0.639702 +v -0.673892 2.078710 -0.586875 +v -0.754000 1.998602 -0.639702 +v -0.828709 1.923893 -0.413125 +v -0.748602 2.004000 -0.360298 +v 1.083141 0.751056 -0.413125 +v 1.026497 0.652945 -0.360298 +v 0.973669 0.561444 -0.586875 +v 1.030313 0.659555 -0.639702 +v 0.865416 0.623944 -0.586875 +v 0.922060 0.722055 -0.639702 +v 0.974888 0.813556 -0.413125 +v 0.918243 0.715445 -0.360298 +v -1.083141 1.748945 -0.413125 +v -1.026497 1.847056 -0.360298 +v -0.973669 1.938556 -0.586875 +v -1.030313 1.840445 -0.639702 +v -0.865416 1.876056 -0.586875 +v -0.922060 1.777945 -0.639702 +v -0.974888 1.686445 -0.413125 +v -0.918244 1.784556 -0.360298 +v -0.498944 0.166859 -0.413125 +v -0.597055 0.223504 -0.360298 +v -0.688556 0.276331 -0.586875 +v -0.590445 0.219687 -0.639702 +v -0.626056 0.384585 -0.586875 +v -0.527945 0.327940 -0.639702 +v -0.436444 0.275112 -0.413125 +v -0.534555 0.331757 -0.360298 +v 0.498944 2.333141 -0.413125 +v 0.597055 2.276497 -0.360298 +v 0.688556 2.223669 -0.586875 +v 0.590445 2.280313 -0.639702 +v 0.626056 2.115416 -0.586875 +v 0.527945 2.172060 -0.639702 +v 0.436444 2.224888 -0.413125 +v 0.534555 2.168244 -0.360298 +v 0.413089 0.131297 -0.413125 +v 0.303661 0.101975 -0.360298 +v 0.201605 0.074630 -0.586875 +v 0.311034 0.103951 -0.639702 +v 0.169253 0.195371 -0.586875 +v 0.278682 0.224692 -0.639702 +v 0.380737 0.252038 -0.413125 +v 0.271308 0.222716 -0.360298 +v -0.413090 2.368703 -0.413125 +v -0.303661 2.398025 -0.360298 +v -0.201605 2.425371 -0.586875 +v -0.311034 2.396049 -0.639702 +v -0.169253 2.304630 -0.586875 +v -0.278682 2.275309 -0.639702 +v -0.380737 2.247963 -0.413125 +v -0.271308 2.277284 -0.360298 +v -1.118703 0.836911 -0.413125 +v -1.148025 0.946339 -0.360298 +v -1.175370 1.048395 -0.586875 +v -1.146049 0.938966 -0.639702 +v -1.054630 1.080747 -0.586875 +v -1.025308 0.971319 -0.639702 +v -0.997963 0.869263 -0.413125 +v -1.027284 0.978692 -0.360298 +v 1.118703 1.663090 -0.413125 +v 1.148025 1.553661 -0.360298 +v 1.175370 1.451605 -0.586875 +v 1.146049 1.561034 -0.639702 +v 1.054630 1.419253 -0.586875 +v 1.025308 1.528682 -0.639702 +v 0.997963 1.630737 -0.413125 +v 1.027284 1.521308 -0.360298 +v -0.973669 0.561445 -0.413125 +v -1.030313 0.659556 -0.360298 +v -1.083141 0.751056 -0.586875 +v -1.026497 0.652945 -0.639702 +v -0.974888 0.813556 -0.586875 +v -0.918244 0.715445 -0.639702 +v -0.865416 0.623945 -0.413125 +v -0.922060 0.722056 -0.360298 +v 0.973669 1.938556 -0.413125 +v 1.030313 1.840445 -0.360298 +v 1.083141 1.748944 -0.586875 +v 1.026497 1.847055 -0.639702 +v 0.974888 1.686444 -0.586875 +v 0.918244 1.784555 -0.639702 +v 0.865416 1.876056 -0.413125 +v 0.922060 1.777945 -0.360298 +v -0.688556 2.223669 -0.413125 +v -0.590444 2.280313 -0.360298 +v -0.498944 2.333141 -0.586875 +v -0.597055 2.276497 -0.639702 +v -0.436444 2.224888 -0.586875 +v -0.534555 2.168244 -0.639702 +v -0.626056 2.115416 -0.413125 +v -0.527944 2.172060 -0.360298 +v 0.688555 0.276331 -0.413125 +v 0.590444 0.219687 -0.360298 +v 0.498944 0.166859 -0.586875 +v 0.597055 0.223503 -0.639702 +v 0.436444 0.275112 -0.586875 +v 0.534555 0.331756 -0.639702 +v 0.626055 0.384584 -0.413125 +v 0.527944 0.327940 -0.360298 +v -1.175370 1.451606 -0.413125 +v -1.146049 1.561034 -0.360298 +v -1.118703 1.663090 -0.586875 +v -1.148025 1.553661 -0.639702 +v -0.997963 1.630738 -0.586875 +v -1.027284 1.521309 -0.639702 +v -1.054630 1.419253 -0.413125 +v -1.025308 1.528682 -0.360298 +v 1.175370 1.048394 -0.413125 +v 1.146049 0.938966 -0.360298 +v 1.118703 0.836910 -0.586875 +v 1.148024 0.946339 -0.639702 +v 0.997963 0.869263 -0.586875 +v 1.027284 0.978691 -0.639702 +v 1.054630 1.080747 -0.413125 +v 1.025308 0.971318 -0.360298 +v 0.201606 2.425370 -0.413125 +v 0.311034 2.396049 -0.360298 +v 0.413090 2.368703 -0.586875 +v 0.303661 2.398025 -0.639702 +v 0.380738 2.247962 -0.586875 +v 0.271309 2.277284 -0.639702 +v 0.169253 2.304630 -0.413125 +v 0.278682 2.275308 -0.360298 +v -0.201606 0.074630 -0.413125 +v -0.311035 0.103951 -0.360298 +v -0.413090 0.131297 -0.586875 +v -0.303662 0.101975 -0.639702 +v -0.380738 0.252038 -0.586875 +v -0.271309 0.222716 -0.639702 +v -0.169254 0.195371 -0.413125 +v -0.278682 0.224692 -0.360298 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.303448 0.125000 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.303448 0.125000 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.303448 0.125000 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.303448 0.125000 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.303448 0.125000 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.303448 0.125000 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.303448 0.125000 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.296552 0.125000 +vt 0.324138 0.109375 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.296552 0.125000 +vt 0.324138 0.109375 +vt 0.303448 0.093750 +vt 0.296552 0.125000 +vt 0.324138 0.109375 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.324138 0.109375 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.296552 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.296552 0.125000 +vt 0.324138 0.109375 +vt 0.303448 0.093750 +vt 0.324138 0.109375 +vt 0.303448 0.093750 +vt 0.296552 0.125000 +vt 0.324138 0.109375 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.296552 0.125000 +vt 0.324138 0.109375 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.296552 0.125000 +vt 0.303448 0.093750 +vt 0.296552 0.125000 +vt 0.324138 0.109375 +vt 0.324138 0.109375 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.324138 0.109375 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.296552 0.125000 +vt 0.324138 0.109375 +vt 0.303448 0.093750 +vt 0.324138 0.109375 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.324138 0.109375 +vt 0.303448 0.093750 +vt 0.296552 0.125000 +vt 0.324138 0.109375 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.296552 0.125000 +vt 0.303448 0.093750 +vt 0.296552 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.296552 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.296552 0.125000 +vn 0.0000 1.0000 0.0000 +vn 0.4226 0.0000 -0.9063 +vn -0.4226 -0.0000 0.9063 +vn 0.9063 0.0000 0.4226 +vn -0.9063 0.0000 -0.4226 +vn -0.0000 -1.0000 -0.0000 +vn -0.4226 -0.0000 -0.9063 +vn 0.4226 -0.0000 0.9063 +vn -0.9063 0.0000 0.4226 +vn 0.9063 -0.0000 -0.4226 +vn 1.0000 0.0000 0.0000 +vn 0.0000 -0.4226 -0.9063 +vn 0.0000 0.4226 0.9063 +vn 0.0000 -0.9063 0.4226 +vn 0.0000 0.9063 -0.4226 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.4226 -0.9063 +vn 0.0000 -0.4226 0.9063 +vn 0.0000 0.9063 0.4226 +vn 0.0000 -0.9063 -0.4226 +vn 0.7071 0.7071 0.0000 +vn 0.2988 -0.2988 -0.9063 +vn -0.2988 0.2988 0.9063 +vn 0.6409 -0.6409 0.4226 +vn -0.6409 0.6409 -0.4226 +vn -0.7071 -0.7071 0.0000 +vn -0.2988 0.2988 -0.9063 +vn 0.2988 -0.2988 0.9063 +vn -0.6409 0.6409 0.4226 +vn 0.6409 -0.6409 -0.4226 +vn 0.7071 -0.7071 0.0000 +vn -0.2988 -0.2988 -0.9063 +vn 0.2988 0.2988 0.9063 +vn -0.6409 -0.6409 0.4226 +vn 0.6409 0.6409 -0.4226 +vn -0.7071 0.7071 -0.0000 +vn 0.2988 0.2988 -0.9063 +vn -0.2988 -0.2988 0.9063 +vn 0.6409 0.6409 0.4226 +vn -0.6409 -0.6409 -0.4226 +vn 0.8660 -0.5000 0.0000 +vn -0.2113 -0.3660 -0.9063 +vn 0.2113 0.3660 0.9063 +vn -0.4532 -0.7849 0.4226 +vn 0.4532 0.7849 -0.4226 +vn -0.8660 0.5000 -0.0000 +vn 0.2113 0.3660 -0.9063 +vn -0.2113 -0.3660 0.9063 +vn 0.4532 0.7849 0.4226 +vn -0.4532 -0.7849 -0.4226 +vn -0.5000 -0.8660 0.0000 +vn -0.3660 0.2113 -0.9063 +vn 0.3660 -0.2113 0.9063 +vn -0.7849 0.4532 0.4226 +vn 0.7849 -0.4532 -0.4226 +vn 0.5000 0.8660 -0.0000 +vn 0.3660 -0.2113 -0.9063 +vn -0.3660 0.2113 0.9063 +vn 0.7849 -0.4532 0.4226 +vn -0.7849 0.4532 -0.4226 +vn 0.2588 -0.9659 -0.0000 +vn -0.4082 -0.1094 -0.9063 +vn 0.4082 0.1094 0.9063 +vn -0.8754 -0.2346 0.4226 +vn 0.8754 0.2346 -0.4226 +vn -0.2588 0.9659 -0.0000 +vn 0.4082 0.1094 -0.9063 +vn -0.4082 -0.1094 0.9063 +vn 0.8754 0.2346 0.4226 +vn -0.8754 -0.2346 -0.4226 +vn -0.9659 -0.2588 0.0000 +vn -0.1094 0.4082 -0.9063 +vn 0.1094 -0.4082 0.9063 +vn -0.2346 0.8754 0.4226 +vn 0.2346 -0.8754 -0.4226 +vn 0.9659 0.2588 0.0000 +vn 0.1094 -0.4082 -0.9063 +vn -0.1094 0.4082 0.9063 +vn 0.2346 -0.8754 0.4226 +vn -0.2346 0.8754 -0.4226 +vn -0.8660 -0.5000 0.0000 +vn -0.2113 0.3660 -0.9063 +vn 0.2113 -0.3660 0.9063 +vn -0.4532 0.7849 0.4226 +vn 0.4532 -0.7849 -0.4226 +vn 0.8660 0.5000 0.0000 +vn 0.2113 -0.3660 -0.9063 +vn -0.2113 0.3660 0.9063 +vn 0.4532 -0.7849 0.4226 +vn -0.4532 0.7849 -0.4226 +vn -0.5000 0.8660 0.0000 +vn 0.3660 0.2113 -0.9063 +vn -0.3660 -0.2113 0.9063 +vn 0.7849 0.4532 0.4226 +vn -0.7849 -0.4532 -0.4226 +vn 0.5000 -0.8660 -0.0000 +vn -0.3660 -0.2113 -0.9063 +vn 0.3660 0.2113 0.9063 +vn -0.7849 -0.4532 0.4226 +vn 0.7849 0.4532 -0.4226 +vn -0.9659 0.2588 0.0000 +vn 0.1094 0.4082 -0.9063 +vn -0.1094 -0.4082 0.9063 +vn 0.2346 0.8754 0.4226 +vn -0.2346 -0.8754 -0.4226 +vn 0.9659 -0.2588 -0.0000 +vn -0.1094 -0.4082 -0.9063 +vn 0.1094 0.4082 0.9063 +vn -0.2346 -0.8754 0.4226 +vn 0.2346 0.8754 -0.4226 +vn 0.2588 0.9659 -0.0000 +vn 0.4082 -0.1094 -0.9063 +vn -0.4082 0.1094 0.9063 +vn 0.8754 -0.2346 0.4226 +vn -0.8754 0.2346 -0.4226 +vn -0.2588 -0.9659 0.0000 +vn -0.4082 0.1094 -0.9063 +vn 0.4082 -0.1094 0.9063 +vn -0.8754 0.2346 0.4226 +vn 0.8754 -0.2346 -0.4226 +s off +f 26/25/3 28/26/3 25/27/3 +f 27/28/4 30/29/4 28/26/4 +f 25/27/5 32/30/5 26/25/5 +f 26/25/6 29/31/6 27/28/6 +f 28/26/7 31/32/7 25/27/7 +f 34/33/8 36/34/8 33/35/8 +f 35/36/9 38/37/9 36/34/9 +f 33/35/10 40/38/10 34/33/10 +f 35/36/11 40/39/11 37/40/11 +f 36/34/12 39/41/12 33/35/12 +f 42/42/13 44/43/13 41/44/13 +f 43/45/14 46/46/14 44/43/14 +f 41/44/15 48/47/15 42/42/15 +f 42/42/16 45/48/16 43/45/16 +f 44/43/17 47/49/17 41/44/17 +f 50/50/18 52/51/18 49/52/18 +f 52/51/19 53/53/19 54/54/19 +f 49/52/20 56/55/20 50/50/20 +f 50/50/21 53/56/21 51/57/21 +f 52/51/22 55/58/22 49/52/22 +f 58/59/23 60/60/23 57/61/23 +f 59/62/24 62/63/24 60/60/24 +f 58/59/25 63/64/25 64/65/25 +f 58/59/26 61/66/26 59/62/26 +f 60/60/27 63/67/27 57/61/27 +f 66/68/28 68/69/28 65/70/28 +f 68/69/29 69/71/29 70/72/29 +f 66/68/30 71/73/30 72/74/30 +f 66/68/31 69/75/31 67/76/31 +f 68/69/32 71/77/32 65/70/32 +f 74/78/33 76/79/33 73/80/33 +f 75/81/34 78/82/34 76/79/34 +f 73/80/35 80/83/35 74/78/35 +f 75/81/36 80/84/36 77/85/36 +f 76/79/37 79/86/37 73/80/37 +f 82/87/38 84/88/38 81/89/38 +f 84/88/39 85/90/39 86/91/39 +f 81/89/40 88/92/40 82/87/40 +f 83/93/41 88/94/41 85/95/41 +f 84/88/42 87/96/42 81/89/42 +f 90/97/43 92/98/43 89/99/43 +f 91/100/44 94/101/44 92/98/44 +f 89/99/45 96/102/45 90/97/45 +f 90/97/46 93/103/46 91/100/46 +f 92/98/47 95/104/47 89/99/47 +f 98/105/48 100/106/48 97/107/48 +f 100/106/49 101/108/49 102/109/49 +f 98/105/50 103/110/50 104/111/50 +f 98/105/51 101/112/51 99/113/51 +f 100/106/52 103/114/52 97/107/52 +f 106/115/53 108/116/53 105/117/53 +f 107/118/54 110/119/54 108/116/54 +f 105/117/55 112/120/55 106/115/55 +f 106/115/56 109/121/56 107/118/56 +f 108/116/57 111/122/57 105/117/57 +f 114/123/58 116/124/58 113/125/58 +f 115/126/59 118/127/59 116/124/59 +f 114/123/60 119/128/60 120/129/60 +f 115/126/61 120/130/61 117/131/61 +f 116/124/62 119/132/62 113/125/62 +f 122/133/63 124/134/63 121/135/63 +f 123/136/64 126/137/64 124/134/64 +f 121/135/65 128/138/65 122/133/65 +f 123/136/66 128/139/66 125/140/66 +f 121/135/67 126/141/67 127/142/67 +f 130/143/68 132/144/68 129/145/68 +f 132/144/69 133/146/69 134/147/69 +f 129/145/70 136/148/70 130/143/70 +f 130/143/71 133/149/71 131/150/71 +f 132/144/72 135/151/72 129/145/72 +f 138/152/73 140/153/73 137/154/73 +f 140/153/74 141/155/74 142/156/74 +f 137/154/75 144/157/75 138/152/75 +f 138/152/76 141/158/76 139/159/76 +f 140/153/77 143/160/77 137/154/77 +f 146/161/78 148/162/78 145/163/78 +f 147/164/79 150/165/79 148/162/79 +f 145/163/80 152/166/80 146/161/80 +f 147/164/81 152/167/81 149/168/81 +f 148/162/82 151/169/82 145/163/82 +f 154/170/83 156/171/83 153/172/83 +f 156/171/84 157/173/84 158/174/84 +f 153/172/85 160/175/85 154/170/85 +f 154/170/86 157/176/86 155/177/86 +f 156/171/87 159/178/87 153/172/87 +f 162/179/88 164/180/88 161/181/88 +f 164/180/89 165/182/89 166/183/89 +f 161/181/90 168/184/90 162/179/90 +f 163/185/91 168/186/91 165/187/91 +f 164/180/92 167/188/92 161/181/92 +f 170/189/93 172/190/93 169/191/93 +f 171/192/94 174/193/94 172/190/94 +f 169/191/95 176/194/95 170/189/95 +f 170/189/96 173/195/96 171/192/96 +f 172/190/97 175/196/97 169/191/97 +f 178/197/98 180/198/98 177/199/98 +f 179/200/99 182/201/99 180/198/99 +f 178/197/100 183/202/100 184/203/100 +f 179/200/101 184/204/101 181/205/101 +f 180/198/102 183/206/102 177/199/102 +f 186/207/103 188/208/103 185/209/103 +f 187/210/104 190/211/104 188/208/104 +f 186/207/105 191/212/105 192/213/105 +f 187/210/106 192/214/106 189/215/106 +f 185/209/107 190/216/107 191/217/107 +f 194/218/108 196/219/108 193/220/108 +f 196/219/109 197/221/109 198/222/109 +f 194/218/110 199/223/110 200/224/110 +f 194/218/111 197/225/111 195/226/111 +f 196/219/112 199/227/112 193/220/112 +f 202/228/113 204/229/113 201/230/113 +f 203/231/114 206/232/114 204/229/114 +f 202/228/115 207/233/115 208/234/115 +f 202/228/116 205/235/116 203/231/116 +f 204/229/117 207/236/117 201/230/117 +f 210/237/118 212/238/118 209/239/118 +f 211/240/119 214/241/119 212/238/119 +f 210/237/120 215/242/120 216/243/120 +f 211/240/121 216/244/121 213/245/121 +f 209/239/122 214/246/122 215/247/122 +f 26/25/3 27/28/3 28/26/3 +f 27/28/4 29/248/4 30/29/4 +f 25/27/5 31/249/5 32/30/5 +f 26/25/6 32/250/6 29/31/6 +f 28/26/7 30/251/7 31/32/7 +f 34/33/8 35/36/8 36/34/8 +f 35/36/9 37/252/9 38/37/9 +f 33/35/10 39/253/10 40/38/10 +f 35/36/11 34/33/11 40/39/11 +f 36/34/12 38/254/12 39/41/12 +f 42/42/13 43/45/13 44/43/13 +f 43/45/14 45/255/14 46/46/14 +f 41/44/15 47/256/15 48/47/15 +f 42/42/16 48/257/16 45/48/16 +f 44/43/17 46/258/17 47/49/17 +f 50/50/18 51/57/18 52/51/18 +f 52/51/19 51/57/19 53/53/19 +f 49/52/20 55/259/20 56/55/20 +f 50/50/21 56/260/21 53/56/21 +f 52/51/22 54/261/22 55/58/22 +f 58/59/23 59/62/23 60/60/23 +f 59/62/24 61/262/24 62/63/24 +f 58/59/25 57/61/25 63/64/25 +f 58/59/26 64/263/26 61/66/26 +f 60/60/27 62/264/27 63/67/27 +f 66/68/28 67/76/28 68/69/28 +f 68/69/29 67/76/29 69/71/29 +f 66/68/30 65/70/30 71/73/30 +f 66/68/31 72/265/31 69/75/31 +f 68/69/32 70/266/32 71/77/32 +f 74/78/33 75/81/33 76/79/33 +f 75/81/34 77/267/34 78/82/34 +f 73/80/35 79/268/35 80/83/35 +f 75/81/36 74/78/36 80/84/36 +f 76/79/37 78/269/37 79/86/37 +f 82/87/38 83/93/38 84/88/38 +f 84/88/39 83/93/39 85/90/39 +f 81/89/40 87/270/40 88/92/40 +f 83/93/41 82/87/41 88/94/41 +f 84/88/42 86/271/42 87/96/42 +f 90/97/43 91/100/43 92/98/43 +f 91/100/44 93/272/44 94/101/44 +f 89/99/45 95/273/45 96/102/45 +f 90/97/46 96/274/46 93/103/46 +f 92/98/47 94/275/47 95/104/47 +f 98/105/48 99/113/48 100/106/48 +f 100/106/49 99/113/49 101/108/49 +f 98/105/50 97/107/50 103/110/50 +f 98/105/51 104/276/51 101/112/51 +f 100/106/52 102/277/52 103/114/52 +f 106/115/53 107/118/53 108/116/53 +f 107/118/54 109/278/54 110/119/54 +f 105/117/55 111/279/55 112/120/55 +f 106/115/56 112/280/56 109/121/56 +f 108/116/57 110/281/57 111/122/57 +f 114/123/58 115/126/58 116/124/58 +f 115/126/59 117/282/59 118/127/59 +f 114/123/60 113/125/60 119/128/60 +f 115/126/61 114/123/61 120/130/61 +f 116/124/62 118/283/62 119/132/62 +f 122/133/63 123/136/63 124/134/63 +f 123/136/64 125/284/64 126/137/64 +f 121/135/65 127/285/65 128/138/65 +f 123/136/66 122/133/66 128/139/66 +f 121/135/67 124/134/67 126/141/67 +f 130/143/68 131/150/68 132/144/68 +f 132/144/69 131/150/69 133/146/69 +f 129/145/70 135/286/70 136/148/70 +f 130/143/71 136/287/71 133/149/71 +f 132/144/72 134/288/72 135/151/72 +f 138/152/73 139/159/73 140/153/73 +f 140/153/74 139/159/74 141/155/74 +f 137/154/75 143/289/75 144/157/75 +f 138/152/76 144/290/76 141/158/76 +f 140/153/77 142/291/77 143/160/77 +f 146/161/78 147/164/78 148/162/78 +f 147/164/79 149/292/79 150/165/79 +f 145/163/80 151/293/80 152/166/80 +f 147/164/81 146/161/81 152/167/81 +f 148/162/82 150/294/82 151/169/82 +f 154/170/83 155/177/83 156/171/83 +f 156/171/84 155/177/84 157/173/84 +f 153/172/85 159/295/85 160/175/85 +f 154/170/86 160/296/86 157/176/86 +f 156/171/87 158/297/87 159/178/87 +f 162/179/88 163/185/88 164/180/88 +f 164/180/89 163/185/89 165/182/89 +f 161/181/90 167/298/90 168/184/90 +f 163/185/91 162/179/91 168/186/91 +f 164/180/92 166/299/92 167/188/92 +f 170/189/93 171/192/93 172/190/93 +f 171/192/94 173/300/94 174/193/94 +f 169/191/95 175/301/95 176/194/95 +f 170/189/96 176/302/96 173/195/96 +f 172/190/97 174/303/97 175/196/97 +f 178/197/98 179/200/98 180/198/98 +f 179/200/99 181/304/99 182/201/99 +f 178/197/100 177/199/100 183/202/100 +f 179/200/101 178/197/101 184/204/101 +f 180/198/102 182/305/102 183/206/102 +f 186/207/103 187/210/103 188/208/103 +f 187/210/104 189/306/104 190/211/104 +f 186/207/105 185/209/105 191/212/105 +f 187/210/106 186/207/106 192/214/106 +f 185/209/107 188/208/107 190/216/107 +f 194/218/108 195/226/108 196/219/108 +f 196/219/109 195/226/109 197/221/109 +f 194/218/110 193/220/110 199/223/110 +f 194/218/111 200/307/111 197/225/111 +f 196/219/112 198/308/112 199/227/112 +f 202/228/113 203/231/113 204/229/113 +f 203/231/114 205/309/114 206/232/114 +f 202/228/115 201/230/115 207/233/115 +f 202/228/116 208/310/116 205/235/116 +f 204/229/117 206/311/117 207/236/117 +f 210/237/118 211/240/118 212/238/118 +f 211/240/119 213/312/119 214/241/119 +f 210/237/120 209/239/120 215/242/120 +f 211/240/121 210/237/121 216/244/121 +f 209/239/122 212/238/122 214/246/122 +o Plane.001 +v 0.000000 2.453697 -2.948062 +v 0.125000 2.423342 -2.962217 +v 0.216506 2.340409 -3.000889 +v 0.250000 2.227120 -3.053716 +v 0.216506 2.113832 -3.106544 +v 0.000000 2.566986 -2.895234 +v 0.324759 2.057188 -3.132957 +v 0.375000 2.227120 -3.053716 +v 0.324760 2.397053 -2.974475 +v 0.187500 2.521452 -2.916467 +vt 1.000000 0.250000 +vt -0.000000 -0.000000 +vt 1.000000 0.000000 +vt -0.000000 0.500000 +vt 0.000000 0.250000 +vt 1.000000 0.500000 +vt -0.000000 0.750000 +vt 0.000000 1.000000 +vt 1.000000 0.750000 +vt 1.000000 1.000000 +vn 0.0000 0.4226 -0.9063 +s off +f 220/313/123 223/314/123 221/315/123 +f 220/313/123 225/316/123 224/317/123 +f 219/318/123 226/319/123 225/316/123 +f 222/320/123 218/321/123 217/322/123 +f 220/313/123 224/317/123 223/314/123 +f 220/313/123 219/318/123 225/316/123 +f 219/318/123 218/321/123 226/319/123 +f 222/320/123 226/319/123 218/321/123 +o Plane +v -1.250000 1.750000 -0.625000 +v -1.250000 1.750000 -3.000000 +v -1.250000 1.376000 -2.625000 +v -1.250000 0.751000 -2.625000 +v -1.250000 0.750000 -0.625000 +v 0.500000 0.000000 -1.625000 +v 1.000000 0.500000 -2.125000 +v 1.000000 0.500000 -3.750000 +v 1.250000 0.750000 -3.750000 +v 1.250000 0.750000 -0.625000 +v 0.500000 0.000000 -0.625000 +v 1.250000 1.750000 -3.000000 +v 1.250000 1.750000 -0.625000 +v 1.250000 1.625000 -3.750000 +v 1.250000 1.750000 -3.375000 +v -0.500000 0.000000 -0.625000 +v -0.500000 0.000000 -1.625000 +v -1.000000 0.500000 -2.625000 +v -1.000000 0.500000 -2.125000 +v 1.000000 1.750000 -3.375000 +v 1.000000 1.750000 -3.000000 +v -1.250000 0.750000 -3.750000 +v -1.250000 0.751000 -3.625000 +v -1.250000 1.376000 -3.625000 +v -1.250000 1.625000 -3.750000 +v -1.250000 1.750000 -3.375000 +v -1.000000 0.500000 -3.750000 +v -1.000000 0.501000 -3.625000 +v -1.312500 0.501000 -3.500000 +v -1.312500 0.501000 -2.750000 +v -1.312500 0.626000 -2.750000 +v -1.312500 0.626000 -3.500000 +v -1.312500 0.751000 -3.500000 +v -1.312500 0.751000 -2.750000 +v -1.312500 0.876000 -2.750000 +v -1.312500 0.876000 -3.500000 +v -1.312500 1.001000 -3.500000 +v -1.312500 1.001000 -2.750000 +v -1.312500 1.126000 -2.750000 +v -1.312500 1.126000 -3.500000 +v -1.312500 1.376000 -3.625000 +v -1.312500 1.251000 -3.500000 +v -1.312500 1.251000 -2.750000 +v -1.312500 1.376000 -2.625000 +v -1.312500 0.251000 -3.625000 +v -1.312500 0.251000 -2.625000 +v -1.312500 0.376000 -2.750000 +v -1.312500 0.376000 -3.500000 +v -1.187500 1.001000 -3.500000 +v -1.187500 1.001000 -2.750000 +v -1.187500 0.876000 -3.500000 +v -1.187500 0.626000 -2.750000 +v -1.187500 0.626000 -3.500000 +v -1.187500 0.751000 -3.500000 +v -1.187500 1.251000 -3.500000 +v -1.187500 1.126000 -3.500000 +v -1.187500 1.126000 -2.750000 +v -1.187500 1.251000 -2.750000 +v -1.187500 0.876000 -2.750000 +v -1.187500 0.751000 -2.750000 +v -1.187500 0.376000 -3.500000 +v -1.187500 0.376000 -2.750000 +v -1.187500 0.501000 -2.750000 +v -1.187500 0.501000 -3.500000 +v 1.000000 0.750000 -3.750000 +v 1.000000 1.625000 -3.750000 +v -1.000000 1.625000 -3.750000 +v -1.000000 0.750000 -3.750000 +v -1.000000 1.750000 -3.375000 +v -1.000000 1.750000 -3.000000 +v -0.500000 2.500000 -2.625000 +v 0.500000 2.500000 -2.625000 +v 0.500000 2.250000 -2.750000 +v -0.500000 2.250000 -2.750000 +v -0.344030 0.708152 -0.175597 +v -0.424630 0.633153 -0.128904 +v -0.388541 0.618205 -0.128904 +v -0.328091 0.674453 -0.163924 +v -0.420670 0.523129 -0.082211 +v -0.334466 0.442528 -0.062870 +v -0.320918 0.475236 -0.079378 +v -0.385571 0.535686 -0.093884 +v -0.216518 0.438567 -0.082211 +v -0.135918 0.513565 -0.128904 +v -0.172007 0.528513 -0.128904 +v -0.232457 0.472265 -0.093884 +v -0.139879 0.623590 -0.175597 +v -0.174978 0.611032 -0.163924 +v -0.226082 0.704190 -0.194938 +v -0.239630 0.671482 -0.178429 +v -0.208096 0.543462 -0.128904 +v -0.210077 0.598474 -0.152250 +v -0.253178 0.638775 -0.161921 +v -0.312152 0.640755 -0.152250 +v -0.352451 0.603256 -0.128904 +v -0.350471 0.548244 -0.105557 +v -0.307370 0.507944 -0.095887 +v -0.248396 0.505963 -0.105557 +v -0.222349 0.496668 -0.037240 +v -0.161900 0.552916 -0.072260 +v -0.197989 0.567865 -0.072260 +v -0.238288 0.530366 -0.048913 +v -0.164869 0.635435 -0.107280 +v -0.199968 0.622877 -0.095606 +v -0.229523 0.695885 -0.121785 +v -0.243071 0.663178 -0.105277 +v -0.317984 0.698857 -0.107280 +v -0.302044 0.665158 -0.095606 +v -0.378433 0.642608 -0.072260 +v -0.342344 0.627659 -0.072260 +v -0.375462 0.560089 -0.037240 +v -0.340364 0.572647 -0.048913 +v -0.310810 0.499639 -0.022734 +v -0.297262 0.532347 -0.039243 +v -0.391169 0.267836 0.136894 +v -0.014465 0.192905 0.136894 +v -0.014465 0.302280 -0.081856 +v -0.349313 0.368885 -0.081856 +v -0.025414 0.247242 -0.109375 +v -0.360261 0.313848 -0.109375 +v -0.025414 0.137868 0.109375 +v -0.402117 0.212799 0.109375 +v 0.230970 1.345671 -0.500000 +v 0.095671 1.480970 -0.500000 +v 0.071753 1.423227 -0.500000 +v 0.173227 1.321753 -0.500000 +v -0.047836 1.365485 -0.500000 +v -0.115485 1.297835 -0.500000 +v -0.115485 1.202165 -0.500000 +v -0.047836 1.134515 -0.500000 +v 0.047834 1.134515 -0.500000 +v 0.115485 1.202165 -0.500000 +v 0.115485 1.297835 -0.500000 +v 0.047834 1.365485 -0.500000 +v 0.230970 1.154329 -0.500000 +v 0.173227 1.178247 -0.500000 +v 0.095671 1.019030 -0.500000 +v 0.071753 1.076773 -0.500000 +v -0.095671 1.019030 -0.500000 +v -0.071753 1.076773 -0.500000 +v -0.230970 1.154329 -0.500000 +v -0.173227 1.178247 -0.500000 +v -0.230970 1.345671 -0.500000 +v -0.173227 1.321753 -0.500000 +v -0.095671 1.480970 -0.500000 +v -0.071753 1.423227 -0.500000 +v 0.115485 1.297835 -0.375000 +v 0.173227 1.321753 -0.375000 +v 0.071753 1.423227 -0.375000 +v 0.047834 1.365485 -0.375000 +v 0.115485 1.202165 -0.375000 +v 0.173227 1.178247 -0.375000 +v 0.047834 1.134515 -0.375000 +v 0.071753 1.076773 -0.375000 +v -0.047836 1.134515 -0.375000 +v -0.071753 1.076773 -0.375000 +v -0.115485 1.202165 -0.375000 +v -0.173227 1.178247 -0.375000 +v -0.115485 1.297835 -0.375000 +v -0.173227 1.321753 -0.375000 +v -0.047836 1.365485 -0.375000 +v -0.071753 1.423227 -0.375000 +v 0.500000 2.500000 -0.625000 +v -0.500000 2.500000 -0.625000 +v 1.039364 1.680519 -0.625000 +v 1.125000 1.250000 -0.625000 +v 1.039364 0.819481 -0.625000 +v 0.795495 0.454505 -0.625000 +v 0.430519 0.210635 -0.625000 +v 0.000000 0.125000 -0.625000 +v -0.430519 0.210636 -0.625000 +v -0.795495 0.454505 -0.625000 +v -1.039364 0.819481 -0.625000 +v -1.125000 1.250000 -0.625000 +v -1.039364 1.680519 -0.625000 +v -1.000000 1.645607 -3.832107 +v -1.000000 0.938500 -4.125000 +v -1.000000 0.231393 -3.832107 +v -1.000000 -0.061500 -3.125000 +v -1.000000 0.231393 -2.417893 +v -1.000000 0.938500 -2.125000 +v -1.000000 1.645607 -2.417893 +v -1.000000 1.938500 -3.125000 +v -1.000000 0.251000 -2.625000 +v -1.000000 1.376000 -2.625000 +v -1.000000 0.251000 -3.625000 +v -1.000000 1.376000 -3.625000 +v 1.000000 1.645607 -3.832107 +v 1.000000 1.938500 -3.125000 +v 1.000000 1.645607 -2.417893 +v 1.000000 0.938500 -2.125000 +v 1.000000 0.231393 -2.417893 +v 1.000000 -0.061500 -3.125000 +v 1.000000 0.231393 -3.832107 +v 1.000000 0.938500 -4.125000 +v 0.554916 2.356694 0.187500 +v 0.731694 2.179917 0.187500 +v 0.820084 2.268306 0.187500 +v 0.643306 2.445082 0.187500 +v 0.554916 2.356694 -0.312500 +v 0.643306 2.445082 -0.312500 +v 0.820084 2.268306 -0.312500 +v 0.731694 2.179917 -0.312500 +v -0.929916 0.518306 0.187500 +v -1.106694 0.695083 0.187500 +v -1.195084 0.606694 0.187500 +v -1.018306 0.429918 0.187500 +v -0.929916 0.518306 -0.312500 +v -1.018306 0.429918 -0.312500 +v -1.195084 0.606694 -0.312500 +v -1.106694 0.695083 -0.312500 +v 1.106694 0.695082 0.187500 +v 0.929916 0.518306 0.187500 +v 1.018306 0.429917 0.187500 +v 1.195082 0.606694 0.187500 +v 1.106694 0.695082 -0.312500 +v 1.195082 0.606694 -0.312500 +v 1.018306 0.429917 -0.312500 +v 0.929916 0.518306 -0.312500 +v -0.731694 2.179918 0.187500 +v -0.554916 2.356694 0.187500 +v -0.643306 2.445083 0.187500 +v -0.820082 2.268306 0.187500 +v -0.731694 2.179918 -0.312500 +v -0.820082 2.268306 -0.312500 +v -0.643306 2.445083 -0.312500 +v -0.554916 2.356694 -0.312500 +v 0.554916 2.356694 -2.375000 +v 0.731694 2.179917 -2.375000 +v 0.820084 2.268306 -2.375000 +v 0.643306 2.445082 -2.375000 +v 0.554916 2.356694 -2.750000 +v 0.643306 2.445082 -2.750000 +v 0.820084 2.268306 -2.875000 +v 0.731694 2.179917 -2.875000 +v -0.500000 2.250000 -2.625000 +v -1.000000 1.750000 -2.875000 +v 1.000000 1.750000 -2.875000 +v 0.500000 2.250000 -2.625000 +v 0.500000 2.215740 -2.715952 +v 0.500000 1.819230 -2.900848 +v 0.500000 1.872057 -3.014137 +v 0.500000 2.268567 -2.829241 +v -0.500000 2.268567 -2.829241 +v -0.500000 1.872057 -3.014137 +v -0.500000 1.819230 -2.900848 +v -0.500000 2.215740 -2.715952 +v -0.312500 2.438500 -2.750000 +v 0.312500 2.438500 -2.750000 +v -0.312500 2.385673 -2.636712 +v 0.312500 2.385673 -2.636712 +v -0.750000 1.887724 -3.247583 +v 0.750000 1.887724 -3.247583 +v 0.750000 2.039915 -3.445922 +v -0.750000 2.039915 -3.445922 +v 0.750000 1.544192 -3.511185 +v 0.750000 1.696383 -3.709523 +v 0.750000 1.944244 -3.676892 +v 0.750000 1.639863 -3.280215 +v -0.750000 1.944244 -3.676892 +v -0.750000 1.696383 -3.709523 +v -0.750000 1.544192 -3.511185 +v -0.750000 1.639863 -3.280215 +v -0.500000 0.125000 -2.750000 +v 0.500000 0.125000 -2.750000 +v 0.500000 0.125000 -1.750000 +v -0.500000 0.125000 -1.750000 +v 0.500000 0.500000 -2.750000 +v 0.500000 0.500000 -1.750000 +v -0.500000 0.500000 -1.750000 +v -0.500000 0.500000 -2.750000 +v -0.625000 0.187500 -4.125000 +v -0.625000 1.687500 -4.125000 +v 0.625000 1.687500 -4.125000 +v 0.625000 0.187500 -4.125000 +v 0.625000 1.687500 -3.625000 +v 0.625000 0.187500 -3.625000 +v -0.625000 0.187500 -3.625000 +v -0.625000 1.687500 -3.625000 +v -0.500000 1.562500 -4.875000 +v 0.500000 1.562500 -4.875000 +v 0.500000 0.312500 -4.875000 +v -0.500000 0.312500 -4.875000 +v 0.500000 0.312500 -4.125000 +v -0.500000 0.312500 -4.125000 +v -0.500000 1.562500 -4.125000 +v 0.500000 1.562500 -4.125000 +v 1.375000 1.658494 -2.187500 +v 0.875000 1.658494 -2.187500 +v 0.875000 1.658494 -2.437500 +v 1.375000 1.658494 -2.437500 +v 1.375000 2.091506 -2.187500 +v 0.875000 2.091506 -2.187500 +v 0.875000 1.875000 -2.062500 +v 1.375000 1.875000 -2.062500 +v 1.375000 1.875000 -2.562500 +v 0.875000 1.875000 -2.562500 +v 0.875000 2.091506 -2.437500 +v 1.375000 2.091506 -2.437500 +v 1.375000 1.983253 -2.375000 +v 1.375000 1.983253 -2.250000 +v 1.562500 1.983253 -2.250000 +v 1.562500 1.983253 -2.375000 +v 1.375000 1.766747 -2.250000 +v 1.375000 1.766747 -2.375000 +v 1.562500 1.766747 -2.375000 +v 1.562500 1.766747 -2.250000 +v 1.375000 1.875000 -2.187500 +v 1.562500 1.875000 -2.187500 +v 1.375000 1.875000 -2.437500 +v 1.562500 1.875000 -2.437500 +v 1.562500 1.712620 -2.406250 +v 1.562500 1.712620 -2.218750 +v 1.562500 1.875000 -2.125000 +v 1.562500 2.037380 -2.218750 +v 1.562500 2.037380 -2.406250 +v 1.562500 1.875000 -2.500000 +v 2.312500 1.875000 -2.500000 +v 2.312500 1.712620 -2.406250 +v 2.312500 1.712620 -2.218750 +v 2.312500 1.875000 -2.125000 +v 2.312500 2.037380 -2.218750 +v 2.312500 2.037380 -2.406250 +v 2.312500 1.875000 -2.187500 +v 2.312500 1.983253 -2.250000 +v 2.312500 1.983253 -2.375000 +v 2.312500 1.875000 -2.437500 +v 2.312500 1.766747 -2.375000 +v 2.312500 1.766747 -2.250000 +v 2.500000 1.766747 -2.250000 +v 2.500000 1.875000 -2.187500 +v 2.500000 1.983253 -2.250000 +v 2.500000 1.983253 -2.375000 +v 2.500000 1.766747 -2.375000 +v 2.500000 1.875000 -2.437500 +v 2.500000 1.875000 -2.062500 +v 2.500000 2.091506 -2.187500 +v 2.500000 2.091506 -2.437500 +v 2.500000 1.875000 -2.562500 +v 2.500000 1.658494 -2.437500 +v 2.500000 1.658494 -2.187500 +v 2.625000 2.091506 -2.187500 +v 2.625000 2.091506 -2.437500 +v 2.625000 1.658494 -2.437500 +v 2.625000 1.658494 -2.187500 +v 2.625000 1.875000 -2.062500 +v 2.625000 1.875000 -2.562500 +v 2.750000 1.983253 -2.375000 +v 2.750000 1.875000 -2.437500 +v 2.750000 1.766747 -2.375000 +v 2.750000 1.766747 -2.250000 +v 2.750000 1.875000 -2.187500 +v 2.750000 1.983253 -2.250000 +v -0.187500 1.625000 -4.125000 +v 0.187500 1.625000 -4.125000 +v 0.187500 1.625000 -5.000000 +v -0.187500 1.625000 -5.000000 +v -0.187500 1.669194 -5.397748 +v -0.187500 2.022748 -5.044194 +v -0.187500 2.287913 -5.309359 +v -0.187500 2.022748 -5.574524 +v -0.187500 1.845971 -5.574524 +v 0.187500 1.250000 -5.000000 +v -0.187500 1.250000 -5.000000 +v 0.187500 1.250000 -4.125000 +v -0.187500 1.250000 -4.125000 +v -0.125000 1.625000 -4.734835 +v 0.125000 1.625000 -4.734835 +v 0.125000 1.978553 -5.088388 +v -0.125000 1.978553 -5.088388 +v -0.125000 1.359835 -5.000000 +v -0.125000 1.713388 -5.353553 +v 0.125000 1.359835 -5.000000 +v 0.125000 1.713388 -5.353553 +v 0.187500 1.669194 -5.397748 +v 0.187500 2.022748 -5.044194 +v 0.187500 2.022748 -5.574524 +v 0.187500 1.845971 -5.574524 +v 0.187500 2.287913 -5.309359 +v -0.062500 2.597272 -4.558058 +v 0.062500 2.597272 -4.558058 +v 0.062500 2.774049 -4.734835 +v -0.062500 2.774049 -4.734835 +v 0.062500 2.066942 -5.088388 +v 0.062500 2.243718 -5.265165 +v -0.062500 2.243718 -5.265165 +v -0.062500 2.066942 -5.088388 +v -0.125000 2.423342 -2.962217 +v 0.000000 2.453697 -2.948062 +v 0.216506 2.113832 -3.106544 +v 0.125000 2.030899 -3.145216 +v 0.000000 2.000544 -3.159371 +v -0.125000 2.030899 -3.145216 +v -0.216506 2.113832 -3.106544 +v -0.250000 2.227120 -3.053716 +v -0.216506 2.340409 -3.000889 +v 0.000000 2.374456 -2.778129 +v 0.000000 2.487745 -2.725302 +v 0.000000 2.566986 -2.895234 +v 0.324759 1.977947 -2.963025 +v 0.216506 2.034591 -2.936611 +v 0.324759 2.057188 -3.132957 +v 0.375000 2.227120 -3.053716 +v 0.324760 2.397053 -2.974475 +v 0.187500 2.521452 -2.916467 +v 0.324760 2.317812 -2.804543 +v 0.187500 2.442212 -2.746534 +v -0.437500 2.102596 -3.042822 +v -0.483253 2.144063 -3.023486 +v -0.500000 2.200707 -2.997072 +v -0.483253 2.257351 -2.970659 +v -0.437500 2.298818 -2.951323 +v -0.375000 2.313995 -2.944245 +v -0.312500 2.298818 -2.951323 +v -0.266747 2.257351 -2.970659 +v -0.250000 2.200707 -2.997072 +v -0.266747 2.144063 -3.023486 +v -0.312500 2.102596 -3.042822 +v -0.375000 2.087419 -3.049900 +v -1.125000 1.875000 -1.875000 +v -1.125000 1.875000 -1.625000 +v -0.625000 2.375000 -1.875000 +v -0.625000 2.375000 -2.125000 +v -0.625000 2.375000 -0.875000 +v -1.125000 1.875000 -0.875000 +v -1.125000 1.875000 -2.625000 +v -0.625000 2.375000 -2.375000 +v 1.125000 1.875000 -0.875000 +v 0.625000 2.375000 -0.875000 +v 1.125000 1.875000 -1.625000 +v 0.625000 2.375000 -1.875000 +v 0.448223 2.198223 -1.875000 +v 0.948223 1.698223 -1.625000 +v -1.036612 1.786612 -1.875000 +v -1.036612 1.786612 -2.625000 +v -0.948223 1.698223 -1.625000 +v -0.448223 2.198223 -1.875000 +v -0.536612 2.286612 -2.375000 +v -0.536612 2.286612 -2.125000 +v -0.448223 2.198223 -0.875000 +v -0.948223 1.698223 -0.875000 +v 0.948223 1.698223 -0.875000 +v 0.448223 2.198223 -0.875000 +v -0.137500 2.062500 -3.749900 +v -0.137500 1.937500 -3.749900 +v -0.137500 2.062500 -3.437400 +v -0.137500 2.187500 -3.437400 +v -0.012500 1.937500 -3.749900 +v -0.012500 2.062500 -3.437400 +v 0.137500 1.937500 -3.749900 +v 0.137500 2.062500 -3.749900 +v 0.137500 2.187500 -3.437400 +v 0.137500 2.062500 -3.437400 +v -0.012500 2.062500 -3.749900 +v -0.012500 2.187500 -3.437400 +v 0.137500 2.134191 -3.062400 +v 0.137500 2.009191 -3.062400 +v -0.012500 2.009191 -3.062400 +v -0.137500 2.009191 -3.062400 +v -0.012500 1.937500 -3.874900 +v -0.137500 1.937500 -3.874900 +v 0.137500 1.937500 -3.874900 +v 0.012500 1.937500 -3.874900 +v 0.012500 2.062500 -3.749900 +v 0.012500 1.937500 -3.749900 +v -0.012500 1.687500 -3.874900 +v -0.137500 1.687500 -3.874900 +v -0.137500 1.687500 -3.749900 +v -0.012500 1.687500 -3.749900 +v 0.137500 1.687500 -3.749900 +v 0.137500 1.687500 -3.874900 +v 0.012500 1.687500 -3.874900 +v 0.012500 1.687500 -3.749900 +v 0.012500 2.062500 -3.437400 +v 0.625000 2.001000 -3.187500 +v 0.625000 2.001000 -3.062500 +v 0.875000 2.001000 -3.062500 +v 0.875000 2.001000 -3.187500 +v 0.012500 2.187500 -3.437400 +v 0.012500 2.134191 -3.062400 +v 0.012500 2.009191 -3.062400 +v -0.137500 2.134191 -3.062400 +v -0.012500 2.134191 -3.062400 +v -0.625000 1.938500 -3.250000 +v 0.625000 1.938500 -3.250000 +v 0.625000 1.830247 -3.187500 +v -0.625000 1.830247 -3.187500 +v 0.625000 1.876000 -3.062500 +v 0.875000 1.876000 -3.062500 +v 0.625000 1.830247 -3.062500 +v -0.625000 1.830247 -3.062500 +v 0.625000 1.876000 -3.187500 +v 0.875000 1.876000 -3.187500 +v 0.625000 1.938500 -3.000000 +v -0.625000 1.938500 -3.000000 +v 0.625000 2.046753 -3.062500 +v -0.625000 2.046753 -3.062500 +v 0.625000 2.046753 -3.187500 +v -0.625000 2.046753 -3.187500 +v 1.000000 2.001000 -3.187500 +v 1.000000 2.001000 -3.062500 +v 0.875000 2.126000 -3.187500 +v 1.000000 2.126000 -3.187500 +v 0.875000 2.126000 -3.312500 +v 1.000000 2.126000 -3.312500 +v 1.000000 2.126000 -3.062500 +v 0.875000 2.126000 -3.062500 +v 1.000000 2.251000 -3.187500 +v 0.875000 2.251000 -3.187500 +v 0.875000 2.251000 -3.312500 +v 1.000000 2.251000 -3.312500 +v 1.000000 2.001000 -3.937500 +v 0.875000 2.001000 -3.937500 +v 1.000000 1.876000 -3.937500 +v 1.000000 1.876000 -4.062500 +v 0.875000 1.876000 -3.937500 +v 0.875000 1.876000 -4.062500 +v 0.875000 1.626000 -4.062500 +v 0.875000 1.626000 -3.937500 +v 0.875000 1.501000 -3.937500 +v 0.625000 1.626000 -3.937500 +v 0.625000 1.501000 -3.937500 +v 1.000000 1.626000 -3.937500 +v 1.000000 1.626000 -4.062500 +v 0.875000 1.501000 -4.062500 +v 0.625000 1.626000 -4.062500 +v 0.625000 1.501000 -4.062500 +v 0.110485 0.764515 -0.750000 +v 0.156250 0.875000 -0.750000 +v 0.156250 0.737706 -0.418544 +v 0.110485 0.659581 -0.496669 +v 0.110485 0.985485 -0.750000 +v 0.000000 1.031250 -0.750000 +v 0.000000 0.848192 -0.308058 +v 0.110485 0.815831 -0.340419 +v -0.110486 0.985485 -0.750000 +v -0.156250 0.875000 -0.750000 +v -0.156250 0.737706 -0.418544 +v -0.110486 0.815831 -0.340419 +v -0.110486 0.764515 -0.750000 +v -0.110486 0.659581 -0.496669 +v 0.000000 0.718750 -0.750000 +v 0.000000 0.627221 -0.529029 +v -0.156250 0.585633 -0.316931 +v -0.110486 0.627914 -0.214856 +v 0.000000 0.645427 -0.172575 +v 0.110485 0.627914 -0.214856 +v 0.156250 0.585633 -0.316931 +v 0.110485 0.543352 -0.419007 +v 0.000000 0.525838 -0.461288 +v -0.110486 0.543352 -0.419007 +v 0.110485 0.406250 -0.391735 +v 0.000000 0.406250 -0.437500 +v -0.110486 0.406250 -0.391735 +v -0.156250 0.406250 -0.281250 +v -0.110486 0.406250 -0.170765 +v 0.000000 0.406250 -0.125000 +v 0.110485 0.406250 -0.170765 +v 0.156250 0.406250 -0.281250 +v -0.110486 0.184586 -0.214856 +v 0.000000 0.167073 -0.172575 +v 0.110485 0.184586 -0.214856 +v 0.156250 0.226867 -0.316932 +v 0.110485 0.269148 -0.419007 +v 0.000000 0.286661 -0.461288 +v -0.110486 0.269148 -0.419007 +v -0.156250 0.226867 -0.316932 +v -0.196566 0.367147 -0.468769 +v -0.200528 0.477172 -0.515462 +v -0.286731 0.557772 -0.534803 +v -0.404678 0.561734 -0.515462 +v -0.485279 0.486735 -0.468769 +v -0.481318 0.376710 -0.422076 +v -0.395115 0.296110 -0.402735 +v -0.277166 0.292148 -0.422076 +v 0.230970 1.345671 -0.750000 +v 0.095671 1.480970 -0.750000 +v 0.095671 1.019030 -0.750000 +v 0.230970 1.154329 -0.750000 +v -0.230970 1.154329 -0.750000 +v -0.095671 1.019030 -0.750000 +v -0.095671 1.480970 -0.750000 +v -0.230970 1.345671 -0.750000 +v 0.000000 1.921303 -2.989438 +v -0.125000 1.951658 -2.975283 +v -0.250000 2.147880 -2.883784 +v -0.216506 2.261168 -2.830956 +v 0.125000 1.951658 -2.975283 +v -0.216506 2.034591 -2.936611 +v -0.125000 2.344101 -2.792284 +v 0.375000 2.147880 -2.883783 +v -0.375000 2.261168 -2.830956 +v -0.312500 2.245990 -2.838034 +v -0.500000 2.147880 -2.883784 +v -0.483253 2.204524 -2.857370 +v -0.266747 2.091235 -2.910197 +v -0.312500 2.049769 -2.929533 +v -0.375000 2.034591 -2.936611 +v -0.437500 2.049769 -2.929533 +v -0.266747 2.204524 -2.857370 +v -0.437500 2.245990 -2.838034 +v -0.483253 2.091235 -2.910197 +v -0.250000 2.147880 -2.883784 +v 0.911612 2.036612 -1.125000 +v 0.875000 2.125000 -1.125000 +v 0.823223 2.073223 -0.948223 +v 0.867418 1.992418 -0.974112 +v 0.786612 2.161612 -1.125000 +v 0.698223 2.125000 -1.125000 +v 0.672335 2.099112 -1.036612 +v 0.742418 2.117417 -0.974112 +v -0.786612 2.161612 -1.125000 +v -0.742418 2.117417 -0.974112 +v -0.672335 2.099112 -1.036612 +v -0.698223 2.125000 -1.125000 +v -0.911612 2.036612 -1.125000 +v -0.867418 1.992418 -0.974112 +v -0.823223 2.073223 -0.948223 +v -0.875000 2.125000 -1.125000 +v -0.875000 1.948223 -1.125000 +v -0.849112 1.922335 -1.036612 +v -0.698223 1.948223 -0.875000 +v -0.635723 2.010723 -0.911612 +v -0.786612 1.859835 -1.000000 +v -0.760723 1.885723 -0.911612 +v -0.609835 2.036612 -1.000000 +v -0.609835 2.338388 -1.125000 +v -0.565641 2.294194 -0.974112 +v -0.495558 2.275888 -1.036612 +v -0.521447 2.301777 -1.125000 +v -0.734835 2.213388 -1.125000 +v -0.690641 2.169194 -0.974112 +v -0.646447 2.250000 -0.948223 +v -0.698223 2.301777 -1.125000 +v -0.698223 2.125000 -1.125000 +v -0.672335 2.099112 -1.036612 +v -0.521447 2.125000 -0.875000 +v -0.458947 2.187500 -0.911612 +v -0.609835 2.036612 -1.000000 +v -0.583947 2.062500 -0.911612 +v -0.433058 2.213388 -1.000000 +v -0.963388 1.984835 -1.125000 +v -0.919194 1.940641 -0.974112 +v -0.849112 1.922335 -1.036612 +v -0.875000 1.948223 -1.125000 +v -1.088388 1.859835 -1.125000 +v -1.044194 1.815641 -0.974112 +v -1.000000 1.896446 -0.948223 +v -1.051777 1.948223 -1.125000 +v -1.051777 1.771446 -1.125000 +v -1.025888 1.745558 -1.036612 +v -0.875000 1.771446 -0.875000 +v -0.812500 1.833946 -0.911612 +v -0.963388 1.683058 -1.000000 +v -0.937500 1.708946 -0.911612 +v -0.786612 1.859835 -1.000000 +v -0.698223 2.125000 -1.812500 +v -0.786612 2.161612 -1.812500 +v -0.521447 2.301777 -1.875000 +v -0.609835 2.338388 -1.875000 +v -0.875000 2.125000 -1.812500 +v -0.911612 2.036612 -1.812500 +v -0.875000 1.948223 -1.750000 +v -0.963388 1.984835 -1.750000 +v -0.698223 2.301777 -1.875000 +v -0.875000 1.948223 -1.812500 +v -0.734835 2.213388 -1.875000 +v -1.051777 1.948223 -1.750000 +v -1.088388 1.859835 -1.750000 +v -0.698223 2.125000 -1.875000 +v -1.051777 1.771446 -1.750000 +v 0.875000 1.948223 -1.125000 +v 0.849112 1.922335 -1.036612 +v 0.635723 2.010723 -0.911612 +v 0.698223 1.948223 -0.875000 +v 0.760723 1.885723 -0.911612 +v 0.786612 1.859835 -1.000000 +v 0.609835 2.036612 -1.000000 +v 0.609835 2.338388 -1.125000 +v 0.521447 2.301777 -1.125000 +v 0.495558 2.275888 -1.036612 +v 0.565641 2.294194 -0.974112 +v 0.734835 2.213388 -1.125000 +v 0.698223 2.301777 -1.125000 +v 0.646447 2.250000 -0.948223 +v 0.690641 2.169194 -0.974112 +v 0.698223 2.125000 -1.125000 +v 0.672335 2.099112 -1.036612 +v 0.458947 2.187500 -0.911612 +v 0.521447 2.125000 -0.875000 +v 0.583947 2.062500 -0.911612 +v 0.609835 2.036612 -1.000000 +v 0.433058 2.213388 -1.000000 +v 0.963388 1.984835 -1.125000 +v 0.875000 1.948223 -1.125000 +v 0.849112 1.922335 -1.036612 +v 0.919194 1.940641 -0.974112 +v 1.088388 1.859835 -1.125000 +v 1.051777 1.948223 -1.125000 +v 1.000000 1.896446 -0.948223 +v 1.044194 1.815641 -0.974112 +v 1.051777 1.771446 -1.125000 +v 1.025888 1.745558 -1.036612 +v 0.812500 1.833946 -0.911612 +v 0.875000 1.771446 -0.875000 +v 0.937500 1.708946 -0.911612 +v 0.963388 1.683058 -1.000000 +v 0.786612 1.859835 -1.000000 +v 0.786612 2.161612 -1.812500 +v 0.698223 2.125000 -1.812500 +v 0.609835 2.338388 -1.875000 +v 0.521447 2.301777 -1.875000 +v 0.875000 2.125000 -1.812500 +v 0.911612 2.036612 -1.812500 +v 0.963388 1.984835 -1.750000 +v 0.875000 1.948223 -1.750000 +v 0.698223 2.301777 -1.875000 +v 0.875000 1.948223 -1.812500 +v 0.734835 2.213388 -1.875000 +v 1.051777 1.948223 -1.750000 +v 1.088388 1.859835 -1.750000 +v 0.698223 2.125000 -1.875000 +v 1.051777 1.771446 -1.750000 +v 1.000000 0.500000 -2.625000 +v 0.344030 1.791848 -0.175597 +v 0.424630 1.866847 -0.128904 +v 0.388541 1.881795 -0.128904 +v 0.328091 1.825547 -0.163924 +v 0.420670 1.976871 -0.082211 +v 0.334466 2.057472 -0.062870 +v 0.320918 2.024764 -0.079378 +v 0.385571 1.964314 -0.093884 +v 0.216518 2.061433 -0.082211 +v 0.135918 1.986435 -0.128904 +v 0.172007 1.971487 -0.128904 +v 0.232457 2.027735 -0.093884 +v 0.139879 1.876410 -0.175597 +v 0.174978 1.888968 -0.163924 +v 0.226082 1.795810 -0.194938 +v 0.239630 1.828518 -0.178429 +v 0.208096 1.956538 -0.128904 +v 0.210077 1.901526 -0.152250 +v 0.253178 1.861225 -0.161921 +v 0.312152 1.859245 -0.152250 +v 0.352451 1.896744 -0.128904 +v 0.350472 1.951756 -0.105557 +v 0.307370 1.992056 -0.095887 +v 0.248396 1.994037 -0.105557 +v 0.222349 2.003332 -0.037240 +v 0.161900 1.947084 -0.072260 +v 0.197989 1.932135 -0.072260 +v 0.238288 1.969634 -0.048913 +v 0.164869 1.864565 -0.107280 +v 0.199968 1.877123 -0.095606 +v 0.229523 1.804115 -0.121785 +v 0.243071 1.836822 -0.105277 +v 0.317984 1.801143 -0.107280 +v 0.302044 1.834842 -0.095606 +v 0.378433 1.857392 -0.072260 +v 0.342344 1.872341 -0.072260 +v 0.375462 1.939911 -0.037240 +v 0.340365 1.927353 -0.048913 +v 0.310810 2.000361 -0.022734 +v 0.297262 1.967653 -0.039243 +v -0.110485 1.735485 -0.750000 +v -0.156250 1.625000 -0.750000 +v -0.156250 1.762294 -0.418544 +v -0.110485 1.840419 -0.496669 +v -0.110485 1.514515 -0.750000 +v 0.000000 1.468750 -0.750000 +v 0.000000 1.651808 -0.308058 +v -0.110485 1.684169 -0.340419 +v 0.110486 1.514515 -0.750000 +v 0.156250 1.625000 -0.750000 +v 0.156250 1.762294 -0.418544 +v 0.110486 1.684169 -0.340419 +v 0.110486 1.735485 -0.750000 +v 0.110486 1.840419 -0.496669 +v 0.000000 1.781250 -0.750000 +v 0.000000 1.872779 -0.529029 +v 0.156250 1.914367 -0.316931 +v 0.110486 1.872086 -0.214856 +v 0.000000 1.854573 -0.172575 +v -0.110485 1.872086 -0.214856 +v -0.156250 1.914367 -0.316931 +v -0.110485 1.956648 -0.419007 +v 0.000000 1.974162 -0.461288 +v 0.110486 1.956648 -0.419007 +v -0.110485 2.093750 -0.391735 +v 0.000000 2.093750 -0.437500 +v 0.110486 2.093750 -0.391735 +v 0.156250 2.093750 -0.281250 +v 0.110486 2.093750 -0.170765 +v 0.000000 2.093750 -0.125000 +v -0.110485 2.093750 -0.170765 +v -0.156250 2.093750 -0.281250 +v 0.110486 2.315414 -0.214856 +v 0.000000 2.332927 -0.172575 +v -0.110485 2.315414 -0.214856 +v -0.156250 2.273133 -0.316932 +v -0.110485 2.230852 -0.419007 +v 0.000000 2.213339 -0.461288 +v 0.110486 2.230852 -0.419007 +v 0.156250 2.273133 -0.316932 +v 0.196566 2.132853 -0.468769 +v 0.200528 2.022828 -0.515462 +v 0.286731 1.942228 -0.534803 +v 0.404678 1.938266 -0.515462 +v 0.485279 2.013265 -0.468769 +v 0.481318 2.123290 -0.422076 +v 0.395115 2.203890 -0.402735 +v 0.277166 2.207852 -0.422076 +v -0.541848 1.594031 -0.175597 +v -0.616847 1.674630 -0.128904 +v -0.631795 1.638541 -0.128904 +v -0.575547 1.578091 -0.163924 +v -0.726871 1.670670 -0.082211 +v -0.807472 1.584466 -0.062870 +v -0.774764 1.570918 -0.079378 +v -0.714314 1.635571 -0.093884 +v -0.811433 1.466519 -0.082211 +v -0.736435 1.385918 -0.128904 +v -0.721487 1.422007 -0.128904 +v -0.777735 1.482457 -0.093884 +v -0.626410 1.389879 -0.175597 +v -0.638968 1.424978 -0.163924 +v -0.545810 1.476082 -0.194938 +v -0.578518 1.489630 -0.178429 +v -0.706538 1.458096 -0.128904 +v -0.651526 1.460078 -0.152250 +v -0.611225 1.503178 -0.161921 +v -0.609245 1.562152 -0.152250 +v -0.646744 1.602452 -0.128904 +v -0.701756 1.600472 -0.105557 +v -0.742056 1.557370 -0.095887 +v -0.744037 1.498396 -0.105557 +v -0.753332 1.472349 -0.037240 +v -0.697084 1.411900 -0.072260 +v -0.682135 1.447989 -0.072260 +v -0.719634 1.488288 -0.048913 +v -0.614565 1.414870 -0.107280 +v -0.627123 1.449969 -0.095606 +v -0.554115 1.479523 -0.121785 +v -0.586822 1.493071 -0.105277 +v -0.551143 1.567984 -0.107280 +v -0.584842 1.552044 -0.095606 +v -0.607392 1.628433 -0.072260 +v -0.622341 1.592345 -0.072260 +v -0.689911 1.625462 -0.037240 +v -0.677353 1.590365 -0.048913 +v -0.750361 1.560810 -0.022734 +v -0.717653 1.547262 -0.039243 +v -0.485485 1.139515 -0.750000 +v -0.375000 1.093750 -0.750000 +v -0.512294 1.093750 -0.418544 +v -0.590419 1.139515 -0.496669 +v -0.264515 1.139515 -0.750000 +v -0.218750 1.250000 -0.750000 +v -0.401808 1.250000 -0.308058 +v -0.434169 1.139515 -0.340419 +v -0.264515 1.360486 -0.750000 +v -0.375000 1.406250 -0.750000 +v -0.512294 1.406250 -0.418544 +v -0.434169 1.360486 -0.340419 +v -0.485485 1.360486 -0.750000 +v -0.590419 1.360486 -0.496669 +v -0.531250 1.250000 -0.750000 +v -0.622779 1.250000 -0.529029 +v -0.664367 1.406250 -0.316931 +v -0.622086 1.360486 -0.214856 +v -0.604573 1.250000 -0.172575 +v -0.622086 1.139515 -0.214856 +v -0.664367 1.093750 -0.316931 +v -0.706648 1.139515 -0.419007 +v -0.724162 1.250000 -0.461288 +v -0.706648 1.360486 -0.419007 +v -0.843750 1.139515 -0.391735 +v -0.843750 1.250000 -0.437500 +v -0.843750 1.360486 -0.391735 +v -0.843750 1.406250 -0.281250 +v -0.843750 1.360486 -0.170765 +v -0.843750 1.250000 -0.125000 +v -0.843750 1.139515 -0.170765 +v -0.843750 1.093750 -0.281250 +v -1.065414 1.360486 -0.214856 +v -1.082927 1.250000 -0.172575 +v -1.065414 1.139515 -0.214856 +v -1.023133 1.093750 -0.316932 +v -0.980852 1.139515 -0.419007 +v -0.963339 1.250000 -0.461288 +v -0.980852 1.360486 -0.419007 +v -1.023133 1.406250 -0.316932 +v -0.882853 1.446566 -0.468769 +v -0.772828 1.450528 -0.515462 +v -0.692228 1.536731 -0.534803 +v -0.688266 1.654678 -0.515462 +v -0.763265 1.735279 -0.468769 +v -0.873290 1.731318 -0.422076 +v -0.953890 1.645115 -0.402735 +v -0.957852 1.527166 -0.422076 +v 0.541848 0.905970 -0.175597 +v 0.616847 0.825370 -0.128904 +v 0.631795 0.861459 -0.128904 +v 0.575547 0.921909 -0.163924 +v 0.726871 0.829330 -0.082211 +v 0.807472 0.915534 -0.062870 +v 0.774764 0.929082 -0.079378 +v 0.714314 0.864429 -0.093884 +v 0.811433 1.033482 -0.082211 +v 0.736435 1.114082 -0.128904 +v 0.721487 1.077993 -0.128904 +v 0.777735 1.017543 -0.093884 +v 0.626410 1.110121 -0.175597 +v 0.638968 1.075022 -0.163924 +v 0.545810 1.023918 -0.194938 +v 0.578518 1.010370 -0.178429 +v 0.706538 1.041904 -0.128904 +v 0.651526 1.039923 -0.152250 +v 0.611225 0.996822 -0.161921 +v 0.609245 0.937848 -0.152250 +v 0.646744 0.897549 -0.128904 +v 0.701756 0.899529 -0.105557 +v 0.742056 0.942630 -0.095887 +v 0.744037 1.001604 -0.105557 +v 0.753332 1.027651 -0.037240 +v 0.697084 1.088100 -0.072260 +v 0.682135 1.052011 -0.072260 +v 0.719634 1.011712 -0.048913 +v 0.614565 1.085131 -0.107280 +v 0.627123 1.050032 -0.095606 +v 0.554115 1.020477 -0.121785 +v 0.586822 1.006929 -0.105277 +v 0.551143 0.932016 -0.107280 +v 0.584842 0.947956 -0.095606 +v 0.607392 0.871567 -0.072260 +v 0.622341 0.907656 -0.072260 +v 0.689911 0.874539 -0.037240 +v 0.677353 0.909636 -0.048913 +v 0.750361 0.939190 -0.022734 +v 0.717653 0.952738 -0.039243 +v 0.485485 1.360485 -0.750000 +v 0.375000 1.406250 -0.750000 +v 0.512294 1.406250 -0.418544 +v 0.590419 1.360485 -0.496669 +v 0.264515 1.360485 -0.750000 +v 0.218750 1.250000 -0.750000 +v 0.401808 1.250000 -0.308058 +v 0.434169 1.360485 -0.340419 +v 0.264515 1.139514 -0.750000 +v 0.375000 1.093750 -0.750000 +v 0.512294 1.093750 -0.418544 +v 0.434169 1.139514 -0.340419 +v 0.485485 1.139514 -0.750000 +v 0.590419 1.139514 -0.496669 +v 0.531250 1.250000 -0.750000 +v 0.622779 1.250000 -0.529029 +v 0.664367 1.093750 -0.316931 +v 0.622086 1.139514 -0.214856 +v 0.604573 1.250000 -0.172575 +v 0.622086 1.360485 -0.214856 +v 0.664367 1.406250 -0.316931 +v 0.706648 1.360485 -0.419007 +v 0.724162 1.250000 -0.461288 +v 0.706648 1.139514 -0.419007 +v 0.843750 1.360485 -0.391735 +v 0.843750 1.250000 -0.437500 +v 0.843750 1.139514 -0.391735 +v 0.843750 1.093750 -0.281250 +v 0.843750 1.139514 -0.170765 +v 0.843750 1.250000 -0.125000 +v 0.843750 1.360485 -0.170765 +v 0.843750 1.406250 -0.281250 +v 1.065414 1.139514 -0.214856 +v 1.082927 1.250000 -0.172575 +v 1.065414 1.360485 -0.214856 +v 1.023133 1.406250 -0.316932 +v 0.980852 1.360485 -0.419007 +v 0.963339 1.250000 -0.461288 +v 0.980852 1.139514 -0.419007 +v 1.023133 1.093750 -0.316932 +v 0.882853 1.053434 -0.468769 +v 0.772828 1.049472 -0.515462 +v 0.692228 0.963269 -0.534803 +v 0.688266 0.845322 -0.515462 +v 0.763265 0.764721 -0.468769 +v 0.873290 0.768682 -0.422076 +v 0.953890 0.854885 -0.402735 +v 0.957852 0.972834 -0.422076 +v -0.626411 1.110122 -0.175597 +v -0.736436 1.114082 -0.128904 +v -0.721487 1.077994 -0.128904 +v -0.638968 1.075022 -0.163924 +v -0.811434 1.033483 -0.082211 +v -0.807472 0.915534 -0.062870 +v -0.774764 0.929083 -0.079378 +v -0.777736 1.017543 -0.093884 +v -0.726871 0.829332 -0.082211 +v -0.616847 0.825370 -0.128904 +v -0.631795 0.861459 -0.128904 +v -0.714314 0.864430 -0.093884 +v -0.541848 0.905971 -0.175597 +v -0.575547 0.921910 -0.163924 +v -0.545810 1.023918 -0.194938 +v -0.578518 1.010370 -0.178429 +v -0.646744 0.897548 -0.128904 +v -0.609246 0.937849 -0.152250 +v -0.611225 0.996822 -0.161921 +v -0.651526 1.039924 -0.152250 +v -0.706538 1.041904 -0.128904 +v -0.744037 1.001604 -0.105557 +v -0.742056 0.942631 -0.095887 +v -0.701756 0.899529 -0.105557 +v -0.689911 0.874538 -0.037240 +v -0.607393 0.871567 -0.072260 +v -0.622341 0.907657 -0.072260 +v -0.677353 0.909637 -0.048913 +v -0.551143 0.932017 -0.107280 +v -0.584842 0.947956 -0.095606 +v -0.554116 1.020479 -0.121785 +v -0.586823 1.006931 -0.105277 +v -0.614565 1.085132 -0.107280 +v -0.627123 1.050032 -0.095606 +v -0.697084 1.088102 -0.072260 +v -0.682136 1.052012 -0.072260 +v -0.753332 1.027651 -0.037240 +v -0.719635 1.011713 -0.048913 +v -0.750361 0.939191 -0.022734 +v -0.717654 0.952739 -0.039243 +v -0.265165 0.828586 -0.750000 +v -0.154680 0.874350 -0.750000 +v -0.251761 0.777268 -0.418544 +v -0.339365 0.754386 -0.496669 +v -0.108916 0.984835 -0.750000 +v -0.154680 1.095320 -0.750000 +v -0.284121 0.965879 -0.308058 +v -0.228879 0.864871 -0.340419 +v -0.265166 1.141085 -0.750000 +v -0.375651 1.095320 -0.750000 +v -0.472732 0.998239 -0.418544 +v -0.385129 1.021122 -0.340419 +v -0.421415 0.984836 -0.750000 +v -0.495615 0.910636 -0.496669 +v -0.375651 0.874350 -0.750000 +v -0.440371 0.809629 -0.529029 +v -0.580264 0.890707 -0.316931 +v -0.518007 0.888244 -0.214856 +v -0.427498 0.822502 -0.172575 +v -0.361757 0.731994 -0.214856 +v -0.359293 0.669736 -0.316931 +v -0.421551 0.672200 -0.419007 +v -0.512060 0.737940 -0.461288 +v -0.577801 0.828450 -0.419007 +v -0.518497 0.575254 -0.391735 +v -0.596621 0.653379 -0.437500 +v -0.674747 0.731504 -0.391735 +v -0.707107 0.763864 -0.281250 +v -0.674747 0.731504 -0.170765 +v -0.596621 0.653379 -0.125000 +v -0.518497 0.575254 -0.170765 +v -0.486136 0.542893 -0.281250 +v -0.831487 0.574764 -0.214856 +v -0.765745 0.484255 -0.172575 +v -0.675237 0.418514 -0.214856 +v -0.612979 0.416050 -0.316932 +v -0.615442 0.478308 -0.419007 +v -0.681184 0.568817 -0.461288 +v -0.771693 0.634558 -0.419007 +v -0.833950 0.637021 -0.316932 +v -0.763264 0.764722 -0.468769 +v -0.688267 0.845323 -0.515462 +v -0.692228 0.963270 -0.534803 +v -0.772828 1.049473 -0.515462 +v -0.882854 1.053434 -0.468769 +v -0.957852 0.972834 -0.422076 +v -0.953891 0.854886 -0.402735 +v -0.873290 0.768683 -0.422076 +v 0.626411 1.389878 -0.175597 +v 0.736436 1.385918 -0.128904 +v 0.721487 1.422006 -0.128904 +v 0.638968 1.424978 -0.163924 +v 0.811434 1.466517 -0.082211 +v 0.807472 1.584466 -0.062870 +v 0.774764 1.570918 -0.079378 +v 0.777736 1.482457 -0.093884 +v 0.726872 1.670668 -0.082211 +v 0.616847 1.674630 -0.128904 +v 0.631796 1.638541 -0.128904 +v 0.714314 1.635570 -0.093884 +v 0.541848 1.594029 -0.175597 +v 0.575547 1.578090 -0.163924 +v 0.545810 1.476082 -0.194938 +v 0.578518 1.489630 -0.178429 +v 0.646744 1.602452 -0.128904 +v 0.609246 1.562152 -0.152250 +v 0.611225 1.503178 -0.161921 +v 0.651526 1.460077 -0.152250 +v 0.706538 1.458097 -0.128904 +v 0.744037 1.498396 -0.105557 +v 0.742057 1.557369 -0.095887 +v 0.701756 1.600471 -0.105557 +v 0.689911 1.625462 -0.037240 +v 0.607393 1.628433 -0.072260 +v 0.622342 1.592343 -0.072260 +v 0.677353 1.590363 -0.048913 +v 0.551144 1.567983 -0.107280 +v 0.584842 1.552044 -0.095606 +v 0.554116 1.479522 -0.121785 +v 0.586823 1.493069 -0.105277 +v 0.614566 1.414869 -0.107280 +v 0.627123 1.449969 -0.095606 +v 0.697084 1.411898 -0.072260 +v 0.682136 1.447988 -0.072260 +v 0.753332 1.472350 -0.037240 +v 0.719635 1.488287 -0.048913 +v 0.750361 1.560810 -0.022734 +v 0.717654 1.547261 -0.039243 +v 0.265165 1.671415 -0.750000 +v 0.154680 1.625651 -0.750000 +v 0.251761 1.722732 -0.418544 +v 0.339365 1.745614 -0.496669 +v 0.108916 1.515165 -0.750000 +v 0.154680 1.404680 -0.750000 +v 0.284121 1.534121 -0.308058 +v 0.228879 1.635129 -0.340419 +v 0.265166 1.358915 -0.750000 +v 0.375651 1.404680 -0.750000 +v 0.472732 1.501761 -0.418544 +v 0.385129 1.478879 -0.340419 +v 0.421415 1.515165 -0.750000 +v 0.495615 1.589364 -0.496669 +v 0.375651 1.625651 -0.750000 +v 0.440371 1.690371 -0.529029 +v 0.580264 1.609293 -0.316931 +v 0.518007 1.611756 -0.214856 +v 0.427498 1.677498 -0.172575 +v 0.361757 1.768006 -0.214856 +v 0.359293 1.830264 -0.316931 +v 0.421551 1.827801 -0.419007 +v 0.512060 1.762060 -0.461288 +v 0.577801 1.671550 -0.419007 +v 0.518497 1.924746 -0.391735 +v 0.596621 1.846622 -0.437500 +v 0.674747 1.768496 -0.391735 +v 0.707107 1.736136 -0.281250 +v 0.674747 1.768496 -0.170765 +v 0.596621 1.846622 -0.125000 +v 0.518497 1.924746 -0.170765 +v 0.486136 1.957107 -0.281250 +v 0.831487 1.925236 -0.214856 +v 0.765745 2.015745 -0.172575 +v 0.675237 2.081486 -0.214856 +v 0.612979 2.083950 -0.316932 +v 0.615442 2.021692 -0.419007 +v 0.681184 1.931184 -0.461288 +v 0.771693 1.865442 -0.419007 +v 0.833950 1.862979 -0.316932 +v 0.763264 1.735279 -0.468769 +v 0.688267 1.654677 -0.515462 +v 0.692229 1.536730 -0.534803 +v 0.772828 1.450527 -0.515462 +v 0.882854 1.446566 -0.468769 +v 0.957852 1.527166 -0.422076 +v 0.953891 1.645114 -0.402735 +v 0.873290 1.731318 -0.422076 +v -0.139878 1.876411 -0.175597 +v -0.135918 1.986436 -0.128904 +v -0.172006 1.971487 -0.128904 +v -0.174978 1.888969 -0.163924 +v -0.216517 2.061434 -0.082211 +v -0.334466 2.057472 -0.062870 +v -0.320918 2.024765 -0.079378 +v -0.232457 2.027736 -0.093884 +v -0.420668 1.976872 -0.082211 +v -0.424630 1.866847 -0.128904 +v -0.388541 1.881796 -0.128904 +v -0.385570 1.964314 -0.093884 +v -0.344029 1.791849 -0.175597 +v -0.328090 1.825547 -0.163924 +v -0.226082 1.795810 -0.194938 +v -0.239630 1.828518 -0.178429 +v -0.352452 1.896744 -0.128904 +v -0.312151 1.859246 -0.152250 +v -0.253178 1.861225 -0.161921 +v -0.210077 1.901526 -0.152250 +v -0.208096 1.956538 -0.128904 +v -0.248396 1.994038 -0.105557 +v -0.307369 1.992057 -0.095887 +v -0.350471 1.951756 -0.105557 +v -0.375462 1.939911 -0.037240 +v -0.378433 1.857393 -0.072260 +v -0.342343 1.872342 -0.072260 +v -0.340363 1.927353 -0.048913 +v -0.317983 1.801144 -0.107280 +v -0.302044 1.834842 -0.095606 +v -0.229521 1.804116 -0.121785 +v -0.243069 1.836823 -0.105277 +v -0.164869 1.864566 -0.107280 +v -0.199968 1.877123 -0.095606 +v -0.161898 1.947084 -0.072260 +v -0.197988 1.932136 -0.072260 +v -0.222349 2.003333 -0.037240 +v -0.238287 1.969635 -0.048913 +v -0.310809 2.000361 -0.022734 +v -0.297261 1.967654 -0.039243 +v -0.421415 1.515165 -0.750000 +v -0.375651 1.404680 -0.750000 +v -0.472732 1.501761 -0.418544 +v -0.495614 1.589365 -0.496669 +v -0.265165 1.358916 -0.750000 +v -0.154680 1.404680 -0.750000 +v -0.284121 1.534121 -0.308058 +v -0.385129 1.478879 -0.340419 +v -0.108915 1.515166 -0.750000 +v -0.154680 1.625651 -0.750000 +v -0.251761 1.722732 -0.418544 +v -0.228879 1.635129 -0.340419 +v -0.265164 1.671415 -0.750000 +v -0.339364 1.745615 -0.496669 +v -0.375651 1.625651 -0.750000 +v -0.440371 1.690372 -0.529029 +v -0.359293 1.830264 -0.316931 +v -0.361756 1.768007 -0.214856 +v -0.427498 1.677498 -0.172575 +v -0.518006 1.611757 -0.214856 +v -0.580264 1.609293 -0.316931 +v -0.577800 1.671551 -0.419007 +v -0.512060 1.762060 -0.461288 +v -0.421550 1.827801 -0.419007 +v -0.674746 1.768497 -0.391735 +v -0.596621 1.846622 -0.437500 +v -0.518496 1.924747 -0.391735 +v -0.486136 1.957107 -0.281250 +v -0.518496 1.924747 -0.170765 +v -0.596621 1.846622 -0.125000 +v -0.674746 1.768497 -0.170765 +v -0.707107 1.736136 -0.281250 +v -0.675236 2.081487 -0.214856 +v -0.765745 2.015745 -0.172575 +v -0.831486 1.925237 -0.214856 +v -0.833950 1.862979 -0.316932 +v -0.771692 1.865443 -0.419007 +v -0.681184 1.931184 -0.461288 +v -0.615442 2.021693 -0.419007 +v -0.612979 2.083950 -0.316932 +v -0.485278 2.013265 -0.468769 +v -0.404677 1.938267 -0.515462 +v -0.286730 1.942229 -0.534803 +v -0.200527 2.022829 -0.515462 +v -0.196566 2.132854 -0.468769 +v -0.277167 2.207852 -0.422076 +v -0.395114 2.203891 -0.402735 +v -0.481318 2.123290 -0.422076 +v 0.139878 0.623589 -0.175597 +v 0.135918 0.513564 -0.128904 +v 0.172006 0.528513 -0.128904 +v 0.174978 0.611032 -0.163924 +v 0.216517 0.438566 -0.082211 +v 0.334466 0.442528 -0.062870 +v 0.320918 0.475236 -0.079378 +v 0.232457 0.472264 -0.093884 +v 0.420668 0.523129 -0.082211 +v 0.424630 0.633153 -0.128904 +v 0.388541 0.618205 -0.128904 +v 0.385570 0.535686 -0.093884 +v 0.344029 0.708152 -0.175597 +v 0.328090 0.674453 -0.163924 +v 0.226082 0.704190 -0.194938 +v 0.239630 0.671482 -0.178429 +v 0.352452 0.603256 -0.128904 +v 0.312151 0.640754 -0.152250 +v 0.253178 0.638775 -0.161921 +v 0.210077 0.598474 -0.152250 +v 0.208096 0.543462 -0.128904 +v 0.248396 0.505963 -0.105557 +v 0.307369 0.507944 -0.095887 +v 0.350471 0.548244 -0.105557 +v 0.375462 0.560089 -0.037240 +v 0.378433 0.642607 -0.072260 +v 0.342343 0.627659 -0.072260 +v 0.340363 0.572647 -0.048913 +v 0.317983 0.698857 -0.107280 +v 0.302044 0.665158 -0.095606 +v 0.229521 0.695884 -0.121785 +v 0.243069 0.663177 -0.105277 +v 0.164869 0.635435 -0.107280 +v 0.199969 0.622877 -0.095606 +v 0.161898 0.552916 -0.072260 +v 0.197988 0.567865 -0.072260 +v 0.222349 0.496668 -0.037240 +v 0.238287 0.530365 -0.048913 +v 0.310809 0.499639 -0.022734 +v 0.297261 0.532347 -0.039243 +v 0.421415 0.984835 -0.750000 +v 0.375651 1.095320 -0.750000 +v 0.472732 0.998239 -0.418544 +v 0.495614 0.910635 -0.496669 +v 0.265165 1.141084 -0.750000 +v 0.154680 1.095320 -0.750000 +v 0.284121 0.965879 -0.308058 +v 0.385129 1.021121 -0.340419 +v 0.108915 0.984834 -0.750000 +v 0.154680 0.874350 -0.750000 +v 0.251761 0.777268 -0.418544 +v 0.228879 0.864871 -0.340419 +v 0.265164 0.828585 -0.750000 +v 0.339364 0.754385 -0.496669 +v 0.375650 0.874350 -0.750000 +v 0.440371 0.809629 -0.529029 +v 0.359293 0.669736 -0.316931 +v 0.361756 0.731993 -0.214856 +v 0.427498 0.822502 -0.172575 +v 0.518006 0.888243 -0.214856 +v 0.580264 0.890707 -0.316931 +v 0.577800 0.828449 -0.419007 +v 0.512060 0.737940 -0.461288 +v 0.421550 0.672199 -0.419007 +v 0.674746 0.731503 -0.391735 +v 0.596621 0.653379 -0.437500 +v 0.518496 0.575253 -0.391735 +v 0.486136 0.542893 -0.281250 +v 0.518496 0.575253 -0.170765 +v 0.596621 0.653379 -0.125000 +v 0.674746 0.731503 -0.170765 +v 0.707107 0.763864 -0.281250 +v 0.675236 0.418513 -0.214856 +v 0.765745 0.484255 -0.172575 +v 0.831486 0.574763 -0.214856 +v 0.833950 0.637021 -0.316932 +v 0.771692 0.634558 -0.419007 +v 0.681184 0.568816 -0.461288 +v 0.615442 0.478308 -0.419007 +v 0.612979 0.416050 -0.316932 +v 0.485278 0.486736 -0.468769 +v 0.404677 0.561733 -0.515462 +v 0.286730 0.557772 -0.534803 +v 0.200527 0.477172 -0.515462 +v 0.196566 0.367146 -0.468769 +v 0.277166 0.292148 -0.422076 +v 0.395114 0.296109 -0.402735 +v 0.481317 0.376710 -0.422076 +v 0.391169 2.232164 0.136894 +v 0.014465 2.307096 0.136894 +v 0.014465 2.197720 -0.081856 +v 0.349313 2.131115 -0.081856 +v 0.025414 2.252758 -0.109375 +v 0.360261 2.186152 -0.109375 +v 0.025414 2.362132 0.109375 +v 0.402117 2.287201 0.109375 +v -0.982164 1.641169 0.136894 +v -1.057095 1.264466 0.136894 +v -0.947720 1.264466 -0.081856 +v -0.881115 1.599313 -0.081856 +v -1.002758 1.275414 -0.109375 +v -0.936152 1.610261 -0.109375 +v -1.112132 1.275414 0.109375 +v -1.037201 1.652117 0.109375 +v 0.982164 0.858831 0.136894 +v 1.057095 1.235535 0.136894 +v 0.947720 1.235535 -0.081856 +v 0.881115 0.900687 -0.081856 +v 1.002758 1.224586 -0.109375 +v 0.936152 0.889739 -0.109375 +v 1.112132 1.224586 0.109375 +v 1.037201 0.847883 0.109375 +v -0.971093 0.832103 0.136894 +v -0.757708 0.512749 0.136894 +v -0.680368 0.590089 -0.081856 +v -0.870044 0.873959 -0.081856 +v -0.727027 0.558913 -0.109375 +v -0.916702 0.842784 -0.109375 +v -0.804366 0.481574 0.109375 +v -1.017751 0.800928 0.109375 +v 0.971093 1.667897 0.136894 +v 0.757708 1.987251 0.136894 +v 0.680368 1.909911 -0.081856 +v 0.870044 1.626041 -0.081856 +v 0.727027 1.941087 -0.109375 +v 0.916703 1.657217 -0.109375 +v 0.804366 2.018426 0.109375 +v 1.017752 1.699073 0.109375 +v -0.417897 2.221093 0.136894 +v -0.737251 2.007708 0.136894 +v -0.659911 1.930368 -0.081856 +v -0.376041 2.120044 -0.081856 +v -0.691087 1.977027 -0.109375 +v -0.407216 2.166703 -0.109375 +v -0.768426 2.054366 0.109375 +v -0.449072 2.267752 0.109375 +v 0.417897 0.278907 0.136894 +v 0.737251 0.492292 0.136894 +v 0.659911 0.569632 -0.081856 +v 0.376041 0.379956 -0.081856 +v 0.691087 0.522973 -0.109375 +v 0.407216 0.333298 -0.109375 +v 0.768426 0.445634 0.109375 +v 0.449072 0.232249 0.109375 +v -0.737251 0.492293 0.136894 +v -0.417897 0.278907 0.136894 +v -0.376041 0.379957 -0.081856 +v -0.659911 0.569632 -0.081856 +v -0.407218 0.333298 -0.109375 +v -0.691088 0.522974 -0.109375 +v -0.449074 0.232249 0.109375 +v -0.768427 0.445635 0.109375 +v 0.737251 2.007708 0.136894 +v 0.417897 2.221093 0.136894 +v 0.376041 2.120044 -0.081856 +v 0.659911 1.930368 -0.081856 +v 0.407218 2.166703 -0.109375 +v 0.691088 1.977026 -0.109375 +v 0.449074 2.267751 0.109375 +v 0.768427 2.054366 0.109375 +v -0.757708 1.987251 0.136894 +v -0.971093 1.667897 0.136894 +v -0.870044 1.626041 -0.081856 +v -0.680368 1.909911 -0.081856 +v -0.916702 1.657218 -0.109375 +v -0.727026 1.941088 -0.109375 +v -1.017751 1.699074 0.109375 +v -0.804365 2.018427 0.109375 +v 0.757708 0.512749 0.136894 +v 0.971093 0.832103 0.136894 +v 0.870044 0.873959 -0.081856 +v 0.680368 0.590089 -0.081856 +v 0.916702 0.842782 -0.109375 +v 0.727026 0.558912 -0.109375 +v 1.017751 0.800926 0.109375 +v 0.804366 0.481573 0.109375 +v -1.057095 1.235535 0.136894 +v -0.982164 0.858832 0.136894 +v -0.881115 0.900688 -0.081856 +v -0.947720 1.235535 -0.081856 +v -0.936153 0.889740 -0.109375 +v -1.002758 1.224588 -0.109375 +v -1.037201 0.847885 0.109375 +v -1.112132 1.224588 0.109375 +v 1.057095 1.264465 0.136894 +v 0.982164 1.641169 0.136894 +v 0.881115 1.599313 -0.081856 +v 0.947720 1.264465 -0.081856 +v 0.936153 1.610260 -0.109375 +v 1.002758 1.275412 -0.109375 +v 1.037202 1.652116 0.109375 +v 1.112132 1.275412 0.109375 +v -0.014465 2.307096 0.136894 +v -0.391168 2.232164 0.136894 +v -0.349312 2.131115 -0.081856 +v -0.014465 2.197721 -0.081856 +v -0.360260 2.186153 -0.109375 +v -0.025412 2.252758 -0.109375 +v -0.402115 2.287201 0.109375 +v -0.025412 2.362133 0.109375 +v 0.014465 0.192905 0.136894 +v 0.391169 0.267836 0.136894 +v 0.349312 0.368885 -0.081856 +v 0.014465 0.302280 -0.081856 +v 0.360260 0.313847 -0.109375 +v 0.025412 0.247242 -0.109375 +v 0.402115 0.212799 0.109375 +v 0.025412 0.137868 0.109375 +v 0.375000 2.500000 -1.875000 +v 0.375000 2.500000 -0.875000 +v -0.375000 2.500000 -1.875000 +v -0.375000 2.500000 -0.875000 +v 0.375000 2.250000 -1.875000 +v 0.375000 2.250000 -0.875000 +v -0.375000 2.250000 -1.875000 +v -0.375000 2.250000 -0.875000 +v 0.000000 2.500000 -1.875000 +v -0.088388 2.463388 -1.875000 +v -0.125000 2.375000 -1.875000 +v 0.125000 2.375000 -1.875000 +v 0.088388 2.463388 -1.875000 +v 0.000000 2.500000 -1.125000 +v -0.088388 2.463388 -1.125000 +v -0.125000 2.375000 -1.125000 +v 0.125000 2.375000 -1.125000 +v 0.088388 2.463388 -1.125000 +v 0.000000 2.426777 -0.948223 +v -0.088388 2.400888 -0.974111 +v -0.125000 2.338388 -1.036612 +v 0.125000 2.338388 -1.036612 +v 0.088388 2.400888 -0.974111 +v 0.000000 2.250000 -0.875000 +v -0.088388 2.250000 -0.911611 +v -0.125000 2.250000 -1.000000 +v 0.125000 2.250000 -1.000000 +v 0.088388 2.250000 -0.911611 +v 0.250000 2.500000 -1.875000 +v 0.161612 2.463388 -1.875000 +v 0.125000 2.375000 -1.875000 +v 0.375000 2.375000 -1.875000 +v 0.338388 2.463388 -1.875000 +v 0.250000 2.500000 -1.125000 +v 0.161612 2.463388 -1.125000 +v 0.125000 2.375000 -1.125000 +v 0.375000 2.375000 -1.125000 +v 0.338388 2.463388 -1.125000 +v 0.250000 2.426777 -0.948223 +v 0.161612 2.400888 -0.974111 +v 0.125000 2.338388 -1.036612 +v 0.375000 2.338388 -1.036612 +v 0.338388 2.400888 -0.974111 +v 0.250000 2.250000 -0.875000 +v 0.161612 2.250000 -0.911611 +v 0.125000 2.250000 -1.000000 +v 0.375000 2.250000 -1.000000 +v 0.338388 2.250000 -0.911611 +v -0.250000 2.500000 -1.875000 +v -0.338388 2.463388 -1.875000 +v -0.375000 2.375000 -1.875000 +v -0.125000 2.375000 -1.875000 +v -0.161612 2.463388 -1.875000 +v -0.250000 2.500000 -1.125000 +v -0.338388 2.463388 -1.125000 +v -0.375000 2.375000 -1.125000 +v -0.125000 2.375000 -1.125000 +v -0.161612 2.463388 -1.125000 +v -0.250000 2.426777 -0.948223 +v -0.338388 2.400888 -0.974111 +v -0.375000 2.338388 -1.036612 +v -0.125000 2.338388 -1.036612 +v -0.161612 2.400888 -0.974111 +v -0.250000 2.250000 -0.875000 +v -0.338388 2.250000 -0.911611 +v -0.375000 2.250000 -1.000000 +v -0.125000 2.250000 -1.000000 +v -0.161612 2.250000 -0.911611 +v -0.536612 2.286612 -0.875000 +v -1.036612 1.786612 -0.875000 +v 0.375000 2.375000 -0.875000 +v -0.375000 2.375000 -0.875000 +v 0.536612 2.286612 -0.875000 +v 1.036612 1.786612 -0.875000 +v -0.625000 2.375000 -0.625000 +v -1.125000 1.875000 -0.625000 +v 1.125000 1.875000 -0.625000 +v 0.625000 2.375000 -0.625000 +v 0.375000 2.500000 -0.625000 +v -0.375000 2.500000 -0.625000 +v -0.536612 2.286612 -0.625000 +v -1.036612 1.786612 -0.625000 +v 0.375000 2.375000 -0.625000 +v -0.375000 2.375000 -0.625000 +v 0.536612 2.286612 -0.625000 +v 1.036612 1.786612 -0.625000 +v 1.125000 1.875000 -0.875000 +v 0.625000 2.375000 -0.875000 +v 1.125000 1.875000 -0.625000 +v 0.625000 2.375000 -0.625000 +v 0.375000 2.500000 -0.875000 +v -0.375000 2.500000 -0.875000 +v 0.375000 2.500000 -0.625000 +v -0.375000 2.500000 -0.625000 +v -0.625000 2.375000 -0.875000 +v -1.125000 1.875000 -0.875000 +v -0.625000 2.375000 -0.625000 +v -1.125000 1.875000 -0.625000 +v -0.430519 2.289364 -0.625000 +v 0.430518 2.289365 -0.625000 +v -0.500000 -0.000000 0.125000 +v -0.500000 0.000000 -0.375000 +v 0.500000 0.000000 -0.375000 +v 0.500000 -0.000000 0.125000 +v -0.500000 2.500000 0.125000 +v 0.500000 2.500000 0.125000 +v 0.500000 2.500000 -0.375000 +v -0.500000 2.500000 -0.375000 +v -1.250000 1.750000 0.125000 +v -1.250000 1.750000 -0.375000 +v -1.250000 0.750000 -0.375000 +v -1.250000 0.750000 0.125000 +v 1.250000 1.750000 0.125000 +v 1.250000 0.750000 0.125000 +v 1.250000 0.750000 -0.375000 +v 1.250000 1.750000 -0.375000 +v 1.039364 1.680519 0.125000 +v 1.125000 1.250000 0.125000 +v 1.039364 0.819481 0.125000 +v 0.430518 2.289365 0.125000 +v 0.795495 2.045496 0.125000 +v -0.430519 2.289364 0.125000 +v 0.000000 2.375000 0.125000 +v -1.039364 1.680519 0.125000 +v -0.795495 2.045495 0.125000 +v -1.039364 0.819481 0.125000 +v -1.125000 1.250000 0.125000 +v -0.430519 0.210636 0.125000 +v -0.795495 0.454505 0.125000 +v 0.430519 0.210635 0.125000 +v 0.000000 0.125000 0.125000 +v 0.795495 0.454505 0.125000 +v -0.191341 1.711940 -0.750000 +v -0.353553 1.603553 -0.750000 +v -0.461940 1.441342 -0.750000 +v -0.500000 1.250000 -0.750000 +v -0.461940 1.058658 -0.750000 +v -0.353553 0.896447 -0.750000 +v -0.191341 0.788060 -0.750000 +v 0.000000 0.750000 -0.750000 +v 0.191341 0.788060 -0.750000 +v 0.353553 0.896446 -0.750000 +v 0.461940 1.058658 -0.750000 +v 0.500000 1.250000 -0.750000 +v 0.461940 1.441342 -0.750000 +v 0.353553 1.603554 -0.750000 +v 0.191341 1.711940 -0.750000 +v 0.000000 1.750000 -0.750000 +v 1.039364 1.680519 -0.375000 +v 0.795495 2.045496 -0.375000 +v 0.430518 2.289365 -0.375000 +v 1.039364 0.819481 -0.375000 +v 1.125000 1.250000 -0.375000 +v 0.430519 0.210635 -0.375000 +v 0.795495 0.454505 -0.375000 +v -0.430519 0.210636 -0.375000 +v 0.000000 0.125000 -0.375000 +v -1.039364 0.819481 -0.375000 +v -0.795495 0.454505 -0.375000 +v -1.039364 1.680519 -0.375000 +v -1.125000 1.250000 -0.375000 +v -0.430519 2.289364 -0.375000 +v -0.795495 2.045495 -0.375000 +v 0.000000 2.375000 -0.375000 +v -0.430519 2.289364 -0.625000 +v 0.000000 2.375000 -0.625000 +v 0.430518 2.289365 -0.625000 +v 0.795495 2.045496 -0.625000 +v 1.039364 1.680519 -0.625000 +v 1.125000 1.250000 -0.625000 +v 1.039364 0.819481 -0.625000 +v 0.795495 0.454505 -0.625000 +v 0.430519 0.210635 -0.625000 +v 0.000000 0.125000 -0.625000 +v -0.430519 0.210636 -0.625000 +v -0.795495 0.454505 -0.625000 +v -1.039364 0.819481 -0.625000 +v -1.125000 1.250000 -0.625000 +v -1.039364 1.680519 -0.625000 +v -0.795495 2.045495 -0.625000 +v -0.382683 2.173880 -0.125000 +v 0.000000 2.250000 -0.125000 +v 0.382683 2.173880 -0.125000 +v 0.707106 1.957107 -0.125000 +v 0.923880 1.632684 -0.125000 +v 1.000000 1.250000 -0.125000 +v 0.923880 0.867316 -0.125000 +v 0.707106 0.542893 -0.125000 +v 0.382683 0.326120 -0.125000 +v 0.000000 0.250000 -0.125000 +v -0.382684 0.326120 -0.125000 +v -0.707108 0.542893 -0.125000 +v -0.923880 0.867316 -0.125000 +v -1.000000 1.250000 -0.125000 +v -0.923880 1.632683 -0.125000 +v -0.707108 1.957107 -0.125000 +v -0.382683 2.173880 -0.500000 +v 0.000000 2.250000 -0.500000 +v 0.382683 2.173880 -0.500000 +v 0.382683 0.326120 -0.500000 +v 0.000000 0.250000 -0.500000 +v -0.707108 1.957107 -0.500000 +v 0.707106 0.542893 -0.500000 +v -0.923880 1.632683 -0.500000 +v 0.923880 0.867316 -0.500000 +v -1.000000 1.250000 -0.500000 +v 1.000000 1.250000 -0.500000 +v -0.923880 0.867316 -0.500000 +v 0.923880 1.632684 -0.500000 +v -0.707108 0.542893 -0.500000 +v 0.707106 1.957107 -0.500000 +v -0.382684 0.326120 -0.500000 +vt 0.662069 0.796875 +vt 0.662069 0.875000 +vt 0.551724 0.875000 +vt 0.634483 0.218750 +vt 0.724138 0.250000 +vt 0.551724 0.250000 +vt 0.724138 0.359375 +vt 0.703448 0.375000 +vt 0.606897 -0.000000 +vt 0.551724 0.125000 +vt 0.551724 -0.000000 +vt 0.634483 0.906250 +vt 0.606897 1.000000 +vt 0.413793 0.062500 +vt 0.441379 0.250000 +vt 0.413793 0.187500 +vt 0.682759 0.406250 +vt 0.703448 0.406250 +vt 0.724138 0.875000 +vt 0.717241 0.796875 +vt 0.724138 0.765625 +vt 0.682759 0.750000 +vt 0.717241 0.906250 +vt 0.717241 0.875000 +vt 0.324138 0.796875 +vt 0.282759 0.812500 +vt 0.282759 0.796875 +vt 0.324138 0.828125 +vt 0.282759 0.843750 +vt 0.282759 0.828125 +vt 0.324138 0.859375 +vt 0.282759 0.875000 +vt 0.282759 0.859375 +vt 0.282759 0.890625 +vt 0.331034 0.906250 +vt 0.275862 0.906250 +vt 0.331034 0.765625 +vt 0.282759 0.781250 +vt 0.275862 0.765625 +vt 0.324138 0.812500 +vt 0.282759 1.000000 +vt 0.324138 0.984375 +vt 0.324138 1.000000 +vt 0.275862 0.968750 +vt 0.282759 0.984375 +vt 0.275862 0.984375 +vt 0.324138 0.953125 +vt 0.282759 0.968750 +vt 0.282759 0.953125 +vt 0.275862 0.968750 +vt 0.282759 0.984375 +vt 0.275862 0.984375 +vt 0.282759 0.968750 +vt 0.324138 0.984375 +vt 0.282759 0.984375 +vt 0.324138 0.968750 +vt 0.282759 0.968750 +vt 0.324138 0.984375 +vt 0.324138 0.968750 +vt 0.282759 0.984375 +vt 0.282759 0.968750 +vt 0.275862 0.968750 +vt 0.275862 0.984375 +vt 0.324138 0.953125 +vt 0.282759 0.953125 +vt 0.331034 0.984375 +vt 0.324138 0.968750 +vt 0.331034 0.968750 +vt 0.282759 1.000000 +vt 0.324138 1.000000 +vt 0.331034 0.984375 +vt 0.331034 0.968750 +vt 0.324138 0.953125 +vt 0.282759 0.953125 +vt 0.331034 0.984375 +vt 0.324138 0.968750 +vt 0.331034 0.968750 +vt 0.282759 1.000000 +vt 0.324138 1.000000 +vt 0.331034 0.984375 +vt 0.331034 0.968750 +vt 0.324138 0.953125 +vt 0.282759 0.953125 +vt 0.275862 0.968750 +vt 0.275862 0.984375 +vt 0.282759 1.000000 +vt 0.324138 0.984375 +vt 0.324138 1.000000 +vt 0.737931 0.359375 +vt 0.737931 0.218750 +vt 0.737931 0.250000 +vt 0.737931 0.875000 +vt 0.737931 0.906250 +vt 0.724138 0.375000 +vt 0.724138 0.718750 +vt 0.703448 0.750000 +vt 0.703448 0.718750 +vt 0.682759 0.718750 +vt 0.662069 0.500000 +vt 0.675862 0.625000 +vt 0.662069 0.625000 +vt 0.696552 0.421875 +vt 0.675862 0.500000 +vt 0.696552 0.703125 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.186207 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.193103 0.046875 +vt 0.200000 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.078125 +vt 0.151724 0.093750 +vt 0.165517 0.093750 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.117241 0.296875 +vt 0.096552 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.343750 +vt 0.117241 0.328125 +vt 0.124138 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.310345 0.031250 +vt 0.296552 0.046875 +vt 0.296552 0.031250 +vt 0.268584 0.103261 +vt 0.268584 0.115489 +vt 0.264768 0.124136 +vt 0.282759 0.046875 +vt 0.282759 0.031250 +vt 0.268966 0.031250 +vt 0.275862 0.046875 +vt 0.268966 0.046875 +vt 0.255172 0.046875 +vt 0.255172 0.031250 +vt 0.365517 0.031250 +vt 0.351724 0.046875 +vt 0.351724 0.031250 +vt 0.337931 0.046875 +vt 0.337931 0.031250 +vt 0.324138 0.031250 +vt 0.331034 0.046875 +vt 0.324138 0.046875 +vt 0.310345 0.046875 +vt 0.296552 0.078125 +vt 0.303448 0.062500 +vt 0.303448 0.078125 +vt 0.282759 0.078125 +vt 0.289655 0.062500 +vt 0.289655 0.078125 +vt 0.268966 0.062500 +vt 0.275862 0.078125 +vt 0.268966 0.078125 +vt 0.255172 0.062500 +vt 0.262069 0.078125 +vt 0.255172 0.078125 +vt 0.351724 0.062500 +vt 0.358621 0.078125 +vt 0.351724 0.078125 +vt 0.337931 0.078125 +vt 0.344828 0.062500 +vt 0.344828 0.078125 +vt 0.324138 0.078125 +vt 0.331034 0.062500 +vt 0.331034 0.078125 +vt 0.310345 0.078125 +vt 0.317241 0.062500 +vt 0.317241 0.078125 +vt 0.020690 0.781250 +vt 0.013793 0.875000 +vt 0.013793 0.781250 +vt 0.213793 0.781250 +vt 0.227586 0.875000 +vt 0.213793 0.875000 +vt 0.510209 0.406422 +vt 0.506394 0.432721 +vt 0.482676 0.422118 +vt 0.455123 0.406613 +vt 0.458988 0.432863 +vt 0.438078 0.465736 +vt 0.414116 0.500678 +vt 0.425220 0.509148 +vt 0.420595 0.561221 +vt 0.413934 0.622365 +vt 0.425067 0.614088 +vt 0.437826 0.657998 +vt 0.454859 0.718112 +vt 0.458836 0.691761 +vt 0.482625 0.702699 +vt 0.455172 0.609375 +vt 0.441379 0.515625 +vt 0.455172 0.515625 +vt 0.848515 0.125000 +vt 0.903448 0.000542 +vt 0.958382 0.125000 +vt 0.351724 0.906250 +vt 0.331034 0.718750 +vt 0.255172 0.765625 +vt 0.275862 0.953125 +vt 0.848515 0.375000 +vt 0.903448 0.250541 +vt 0.958382 0.375000 +vt 0.737931 0.375000 +vt 0.848276 0.281250 +vt 0.848276 0.375000 +vt 0.737931 0.187500 +vt 0.848276 0.093750 +vt 0.848276 0.187500 +vt 0.737931 0.562500 +vt 0.848276 0.468750 +vt 0.848276 0.562500 +vt 0.737931 0.281250 +vt 0.737931 0.093750 +vt 0.848276 -0.000000 +vt 0.737931 0.656250 +vt 0.848276 0.656250 +vt 0.737931 0.468750 +vt 0.262069 0.140625 +vt 0.268966 0.171875 +vt 0.262069 0.171875 +vt 0.296552 0.171875 +vt 0.303448 0.140625 +vt 0.303448 0.171875 +vt 0.268966 0.125000 +vt 0.296552 0.140625 +vt 0.268966 0.140625 +vt 0.296552 0.187500 +vt 0.268966 0.187500 +vt 0.268966 0.093750 +vt 0.296552 0.125000 +vt 0.303448 0.171875 +vt 0.296552 0.140625 +vt 0.303448 0.140625 +vt 0.268966 0.140625 +vt 0.262069 0.171875 +vt 0.262069 0.140625 +vt 0.296552 0.187500 +vt 0.268966 0.171875 +vt 0.296552 0.171875 +vt 0.268966 0.125000 +vt 0.296552 0.125000 +vt 0.268966 0.093750 +vt 0.296552 0.093750 +vt 0.262069 0.171875 +vt 0.268966 0.140625 +vt 0.268966 0.171875 +vt 0.303448 0.171875 +vt 0.296552 0.140625 +vt 0.303448 0.140625 +vt 0.268966 0.125000 +vt 0.296552 0.187500 +vt 0.268966 0.187500 +vt 0.296552 0.171875 +vt 0.268966 0.093750 +vt 0.296552 0.125000 +vt 0.303448 0.140625 +vt 0.296552 0.171875 +vt 0.296552 0.140625 +vt 0.262069 0.140625 +vt 0.268966 0.171875 +vt 0.262069 0.171875 +vt 0.296552 0.187500 +vt 0.268966 0.125000 +vt 0.296552 0.125000 +vt 0.268966 0.140625 +vt 0.268966 0.093750 +vt 0.296552 0.093750 +vt 0.317241 0.140625 +vt 0.324138 0.171875 +vt 0.317241 0.171875 +vt 0.344828 0.171875 +vt 0.358621 0.187500 +vt 0.344828 0.187500 +vt 0.324138 0.125000 +vt 0.351724 0.140625 +vt 0.324138 0.140625 +vt 0.324138 0.187500 +vt 0.344828 0.093750 +vt 0.351724 0.125000 +vt 0.696552 0.625000 +vt 0.703448 0.687500 +vt 0.696552 0.687500 +vt 0.696552 0.500000 +vt 0.703448 0.437500 +vt 0.703448 0.500000 +vt 0.703448 0.625000 +vt 0.731034 0.687500 +vt 0.413793 0.859375 +vt 0.420690 0.914062 +vt 0.413793 0.914062 +vt 0.475862 0.914062 +vt 0.482759 0.859375 +vt 0.482759 0.914062 +vt 0.431034 0.937500 +vt 0.475862 0.859375 +vt 0.465517 0.937500 +vt 0.431034 0.953125 +vt 0.479310 0.937500 +vt 0.465517 0.953125 +vt 0.417241 0.937500 +vt 0.417241 0.953125 +vt 0.441379 -0.000000 +vt 0.468966 0.250000 +vt 0.255172 0.343750 +vt 0.337931 0.312500 +vt 0.337931 0.343750 +vt 0.363190 0.328752 +vt 0.351724 0.373746 +vt 0.340258 0.328752 +vt 0.255172 0.312500 +vt 0.337931 0.281250 +vt 0.255172 0.281250 +vt 0.337931 0.250000 +vt 0.363190 0.296248 +vt 0.351724 0.311246 +vt 0.340258 0.296248 +vt 0.868966 0.625000 +vt 0.924138 0.500000 +vt 0.924138 0.625000 +vt 0.848276 0.500000 +vt 0.868966 0.500000 +vt 0.944828 0.625000 +vt 0.834483 0.906250 +vt 0.765517 0.718750 +vt 0.834483 0.718750 +vt 0.737931 0.718750 +vt 0.765517 0.906250 +vt 0.737931 0.906250 +vt 0.862069 0.906250 +vt 0.862069 0.718750 +vt 0.765517 0.968750 +vt 0.834483 0.968750 +vt 0.834483 0.656250 +vt 0.765517 0.656250 +vt 0.903448 0.875000 +vt 0.958621 0.718750 +vt 0.958621 0.875000 +vt 0.958621 0.625000 +vt 0.903448 0.718750 +vt 0.903448 0.625000 +vt 0.903448 0.968750 +vt 0.958621 0.968750 +vt 0.862069 0.718750 +vt 0.862069 0.875000 +vt 1.000000 0.875000 +vt 1.000000 0.718750 +vt 0.958621 0.187500 +vt 0.986207 0.156250 +vt 0.986207 0.187500 +vt 0.958621 0.062500 +vt 0.986207 0.031250 +vt 0.986207 0.062500 +vt 0.958621 0.125000 +vt 0.986207 0.093750 +vt 0.986207 0.125000 +vt 0.958621 0.156250 +vt 0.958621 0.031250 +vt 0.986207 0.000000 +vt 0.958621 0.093750 +vt 0.965937 0.193335 +vt 0.978890 0.193335 +vt 0.985367 0.218750 +vt 0.737931 0.109375 +vt 0.724138 0.093750 +vt 0.737931 0.093750 +vt 0.737931 0.015625 +vt 0.724138 0.000000 +vt 0.737931 0.000000 +vt 0.737931 0.140625 +vt 0.724138 0.125000 +vt 0.737931 0.125000 +vt 0.737931 0.078125 +vt 0.724138 0.062500 +vt 0.737931 0.062500 +vt 0.737931 0.046875 +vt 0.724138 0.031250 +vt 0.737931 0.031250 +vt 0.737931 0.171875 +vt 0.724138 0.156250 +vt 0.737931 0.156250 +vt 0.724138 0.015625 +vt 0.717241 0.000000 +vt 0.717241 0.156250 +vt 0.717241 0.125000 +vt 0.724138 0.078125 +vt 0.717241 0.062500 +vt 0.717241 0.031250 +vt 0.724138 0.171875 +vt 0.724138 0.109375 +vt 0.717241 0.093750 +vt 0.675862 0.031250 +vt 0.717241 0.187500 +vt 0.675862 0.156250 +vt 0.675862 0.093750 +vt 0.675862 0.000000 +vt 0.675862 0.125000 +vt 0.675862 0.062500 +vt 0.668966 0.125000 +vt 0.668966 0.093750 +vt 0.668966 0.078125 +vt 0.668966 0.062500 +vt 0.668966 0.031250 +vt 0.668966 0.000000 +vt 0.668966 0.171875 +vt 0.668966 0.156250 +vt 0.655172 0.156250 +vt 0.668966 0.109375 +vt 0.655172 0.093750 +vt 0.668966 0.015625 +vt 0.655172 0.000000 +vt 0.668966 0.140625 +vt 0.655172 0.125000 +vt 0.655172 0.062500 +vt 0.668966 0.046875 +vt 0.655172 0.031250 +vt 0.655172 0.140625 +vt 0.648276 0.125000 +vt 0.655172 0.109375 +vt 0.648276 0.093750 +vt 0.648276 0.062500 +vt 0.655172 0.046875 +vt 0.648276 0.031250 +vt 0.655172 0.015625 +vt 0.648276 0.000000 +vt 0.648276 0.187500 +vt 0.648276 0.156250 +vt 0.641379 0.093750 +vt 0.641379 -0.000000 +vt 0.641379 0.125000 +vt 0.641379 0.062500 +vt 0.641379 0.031250 +vt 0.641379 0.156250 +vt 0.634483 0.062500 +vt 0.634483 0.031250 +vt 0.634483 0.171875 +vt 0.634483 0.156250 +vt 0.634483 0.093750 +vt 0.634483 0.000000 +vt 0.634483 0.140625 +vt 0.634483 0.125000 +vt 0.624290 0.002689 +vt 0.630883 0.002689 +vt 0.634179 0.015625 +vt 0.489655 0.156250 +vt 0.510345 0.046875 +vt 0.510345 0.156250 +vt 0.434483 0.812500 +vt 0.413793 0.765625 +vt 0.420690 0.750000 +vt 0.489655 0.046875 +vt 0.510345 0.000000 +vt 0.468966 0.046875 +vt 0.531034 0.156250 +vt 0.496552 0.187500 +vt 0.468966 0.156250 +vt 0.496552 0.156250 +vt 0.496552 0.312500 +vt 0.468966 0.265625 +vt 0.496552 0.265625 +vt 0.468966 0.234375 +vt 0.496552 0.234375 +vt 0.468966 0.187500 +vt 0.434483 0.750000 +vt 0.455172 0.812500 +vt 0.496552 0.765625 +vt 0.475862 0.750000 +vt 0.496552 0.750000 +vt 0.455172 0.750000 +vt 0.468966 0.750000 +vt 0.475862 0.765625 +vt 0.434483 0.859375 +vt 0.475862 0.812500 +vt 0.496552 0.812500 +vt 0.455172 0.718750 +vt 0.537931 0.828125 +vt 0.524138 0.812500 +vt 0.537931 0.812500 +vt 0.503448 0.718750 +vt 0.517241 0.812500 +vt 0.503448 0.812500 +vt 0.537931 0.718750 +vt 0.524138 0.718750 +vt 0.517241 0.718750 +vt 0.496552 0.812500 +vt 0.496552 0.718750 +vt 0.986207 0.609375 +vt 0.979310 0.593750 +vt 0.986207 0.593750 +vt 0.979310 0.531250 +vt 0.986207 0.515625 +vt 0.986207 0.531250 +vt 0.972414 0.593750 +vt 0.979310 0.578125 +vt 0.551724 0.625000 +vt 0.620690 0.609375 +vt 0.620690 0.734375 +vt 0.620690 0.640625 +vt 0.634483 0.640625 +vt 0.020690 0.875000 +vt 0.006897 0.781250 +vt 0.020690 0.781250 +vt 0.662069 0.734375 +vt 0.648276 0.640625 +vt 0.565517 0.640625 +vt 0.551724 0.625000 +vt 0.565517 0.625000 +vt 0.606897 0.390625 +vt 0.551724 0.375000 +vt 0.662069 0.375000 +vt 0.620690 0.484375 +vt 0.551724 0.500000 +vt 0.117241 0.906250 +vt 0.075862 0.875000 +vt 0.117241 0.875000 +vt 0.158621 0.125000 +vt 0.117241 0.156250 +vt 0.117241 0.125000 +vt 0.117241 0.906250 +vt 0.158621 0.875000 +vt 0.158621 0.906250 +vt 0.144828 0.250000 +vt 0.131034 0.250000 +vt 0.213793 0.875000 +vt 0.220690 0.781250 +vt 0.220690 0.875000 +vt 0.062069 0.781250 +vt 0.020690 0.875000 +vt 0.144828 0.281250 +vt 0.186207 0.250000 +vt 0.186207 0.281250 +vt 0.213793 0.765625 +vt 0.172414 0.781250 +vt 0.172414 0.750000 +vt 0.131034 0.281250 +vt 0.089655 0.250000 +vt 0.075862 0.906250 +vt 0.020690 0.906250 +vt 0.020690 0.890625 +vt 0.020690 0.765625 +vt 0.020690 0.750000 +vt 0.062069 0.750000 +vt 0.544828 0.203125 +vt 0.551724 0.250000 +vt 0.544828 0.250000 +vt 0.531034 0.203125 +vt 0.524138 0.250000 +vt 0.524138 0.203125 +vt 0.510345 0.203125 +vt 0.503448 0.250000 +vt 0.503448 0.203125 +vt 0.537931 0.250000 +vt 0.537931 0.203125 +vt 0.510345 0.296875 +vt 0.503448 0.296875 +vt 0.531034 0.250000 +vt 0.524138 0.296875 +vt 0.531034 0.203125 +vt 0.531034 0.187500 +vt 0.537931 0.187500 +vt 0.544828 0.187500 +vt 0.551724 0.187500 +vt 0.551724 0.203125 +vt 0.503448 0.203125 +vt 0.503448 0.187500 +vt 0.510345 0.187500 +vt 0.517241 0.187500 +vt 0.524138 0.187500 +vt 0.524138 0.203125 +vt 0.544828 0.156250 +vt 0.537931 0.156250 +vt 0.531034 0.156250 +vt 0.524138 0.187500 +vt 0.524138 0.156250 +vt 0.510345 0.156250 +vt 0.503448 0.156250 +vt 0.524138 0.156250 +vt 0.517241 0.156250 +vt 0.551724 0.156250 +vt 0.496552 0.187500 +vt 0.496552 0.156250 +vt 0.496552 0.250000 +vt 0.496552 0.203125 +vt 0.979310 0.515625 +vt 0.986207 0.484375 +vt 0.986207 0.515625 +vt 0.213793 0.890625 +vt 0.565517 0.515625 +vt 0.551724 0.500000 +vt 0.565517 0.500000 +vt 0.517241 0.250000 +vt 0.510345 0.250000 +vt 0.524138 0.250000 +vt 0.517241 0.296875 +vt 0.544828 0.296875 +vt 0.496552 0.296875 +vt 0.537931 0.296875 +vt 0.531034 0.296875 +vt 0.517241 0.203125 +vt 0.213793 0.109375 +vt 0.220690 0.265625 +vt 0.213793 0.265625 +vt 0.972414 0.515625 +vt 0.979310 0.484375 +vt 0.220690 0.109375 +vt 0.227586 0.265625 +vt 0.965517 0.515625 +vt 0.972414 0.484375 +vt 0.186207 0.109375 +vt 0.193103 0.265625 +vt 0.186207 0.265625 +vt 0.958621 0.515625 +vt 0.965517 0.484375 +vt 0.193103 0.109375 +vt 0.200000 0.265625 +vt 0.198836 0.288749 +vt 0.193103 0.296248 +vt 0.187370 0.288749 +vt 0.200000 0.109375 +vt 0.206897 0.265625 +vt 0.206897 0.109375 +vt 0.201164 0.288749 +vt 0.201164 0.273751 +vt 0.212630 0.273751 +vt 0.972414 0.468750 +vt 0.979310 0.484375 +vt 0.979310 0.468750 +vt 0.958621 0.468750 +vt 0.965517 0.468750 +vt 0.958621 0.484375 +vt 0.965517 0.453125 +vt 0.958621 0.437500 +vt 0.965517 0.421875 +vt 0.965517 0.437500 +vt 0.972414 0.453125 +vt 0.979310 0.453125 +vt 0.986207 0.453125 +vt 0.986207 0.468750 +vt 0.972414 0.437500 +vt 0.965517 0.453125 +vt 0.986207 0.453125 +vt 0.979310 0.437500 +vt 0.986207 0.437500 +vt 0.972414 0.421875 +vt 0.979310 0.343750 +vt 0.979310 0.421875 +vt 0.986207 0.421875 +vt 0.965517 0.328125 +vt 0.972414 0.328125 +vt 0.965517 0.343750 +vt 0.986207 0.343750 +vt 0.958621 0.421875 +vt 0.965517 0.343750 +vt 0.972414 0.343750 +vt 0.979310 0.328125 +vt 0.986207 0.296875 +vt 0.986207 0.328125 +vt 0.986207 0.343750 +vt 0.958621 0.281250 +vt 0.965517 0.250000 +vt 0.965517 0.281250 +vt 0.958621 0.328125 +vt 0.965517 0.296875 +vt 0.972414 0.296875 +vt 0.979310 0.296875 +vt 0.979310 0.296875 +vt 0.972414 0.281250 +vt 0.979310 0.281250 +vt 0.958621 0.296875 +vt 0.986207 0.250000 +vt 0.986207 0.281250 +vt 0.979310 0.250000 +vt 0.972414 0.250000 +vt 0.539805 0.495450 +vt 0.539959 0.508696 +vt 0.506403 0.692192 +vt 0.539824 0.629444 +vt 0.512254 0.691859 +vt 0.544674 0.484410 +vt 0.551565 0.500009 +vt 0.544695 0.609268 +vt 0.539977 0.616199 +vt 0.489655 0.156250 +vt 0.510345 0.046875 +vt 0.510345 0.156250 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.186207 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.193103 0.046875 +vt 0.200000 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.093750 +vt 0.151724 0.093750 +vt 0.158621 0.078125 +vt 0.165517 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.186207 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.193103 0.046875 +vt 0.200000 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.078125 +vt 0.151724 0.093750 +vt 0.165517 0.093750 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.186207 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.193103 0.046875 +vt 0.200000 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.078125 +vt 0.151724 0.093750 +vt 0.165517 0.093750 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.186207 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.193103 0.046875 +vt 0.200000 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.078125 +vt 0.151724 0.093750 +vt 0.165517 0.093750 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.186207 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.193103 0.046875 +vt 0.200000 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.078125 +vt 0.151724 0.093750 +vt 0.165517 0.093750 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.186207 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.193103 0.046875 +vt 0.200000 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.078125 +vt 0.151724 0.093750 +vt 0.165517 0.093750 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.193103 0.046875 +vt 0.186207 0.046875 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.200000 0.062500 +vt 0.193103 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.078125 +vt 0.151724 0.093750 +vt 0.165517 0.093750 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.117241 0.296875 +vt 0.096552 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.343750 +vt 0.117241 0.328125 +vt 0.124138 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.117241 0.296875 +vt 0.096552 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.343750 +vt 0.117241 0.328125 +vt 0.124138 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.117241 0.296875 +vt 0.096552 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.343750 +vt 0.117241 0.328125 +vt 0.124138 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.117241 0.296875 +vt 0.096552 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.343750 +vt 0.117241 0.328125 +vt 0.124138 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.510345 0.562500 +vt 0.455172 0.562500 +vt 0.455172 0.546875 +vt 0.620690 0.515625 +vt 0.565517 0.515625 +vt 0.565517 0.750000 +vt 0.551724 0.734375 +vt 0.565517 0.734375 +vt 0.620690 0.515625 +vt 0.565517 0.609375 +vt 0.565517 0.515625 +vt 0.448276 0.515625 +vt 0.455172 0.609375 +vt 0.448276 0.609375 +vt 0.524138 0.609375 +vt 0.510345 0.515625 +vt 0.524138 0.515625 +vt 0.455172 0.578125 +vt 0.455172 0.562500 +vt 0.510345 0.562500 +vt 0.565517 0.625000 +vt 0.551724 0.609375 +vt 0.565517 0.609375 +vt 0.565517 0.500000 +vt 0.551724 0.484375 +vt 0.565517 0.484375 +vt 0.565517 0.390625 +vt 0.551724 0.375000 +vt 0.565517 0.375000 +vt 0.565517 0.484375 +vt 0.551724 0.484375 +vt 0.551724 0.515625 +vt 0.565517 0.609375 +vt 0.551724 0.609375 +vt 0.565517 0.640625 +vt 0.551724 0.640625 +vt 0.565517 0.390625 +vt 0.551724 0.390625 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.565517 0.734375 +vt 0.551724 0.750000 +vt 0.551724 0.734375 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.551583 0.624874 +vt 0.510212 0.718578 +vt 0.512238 0.433055 +vt 0.255172 -0.000000 +vt 0.227586 0.125000 +vt 0.227586 -0.000000 +vt 0.227586 0.500000 +vt 0.255172 0.625000 +vt 0.227586 0.625000 +vt 0.255172 0.750000 +vt 0.227586 0.875000 +vt 0.227586 0.750000 +vt 0.227586 0.250000 +vt 0.255172 0.375000 +vt 0.227586 0.375000 +vt 0.255172 0.500000 +vt 0.255172 0.250000 +vt 0.255172 0.125000 +vt 0.227586 1.000000 +vt 0.255172 0.875000 +vt 0.255172 1.000000 +vt 0.185647 0.407982 +vt 0.181809 0.433762 +vt 0.158206 0.423338 +vt 0.227246 0.501121 +vt 0.215680 0.509781 +vt 0.201106 0.462288 +vt 0.226770 0.624909 +vt 0.215543 0.616068 +vt 0.220300 0.563004 +vt 0.185661 0.717018 +vt 0.181941 0.690910 +vt 0.202736 0.659045 +vt 0.131028 0.716313 +vt 0.134829 0.690268 +vt 0.158386 0.701199 +vt 0.089995 0.623885 +vt 0.101155 0.615205 +vt 0.113984 0.658150 +vt 0.089997 0.501305 +vt 0.101178 0.509856 +vt 0.096611 0.562314 +vt 0.130816 0.408077 +vt 0.134644 0.434152 +vt 0.113890 0.466628 +vt 0.117241 0.000640 +vt 0.144545 0.062500 +vt 0.117241 0.124360 +vt 0.282000 0.461238 +vt 0.267164 0.508207 +vt 0.255663 0.499249 +vt 0.324503 0.423194 +vt 0.301337 0.432859 +vt 0.297766 0.407469 +vt 0.368692 0.466561 +vt 0.347882 0.434234 +vt 0.351705 0.408442 +vt 0.386036 0.561123 +vt 0.381418 0.509360 +vt 0.392481 0.500826 +vt 0.368830 0.657546 +vt 0.381587 0.613816 +vt 0.392687 0.622102 +vt 0.324106 0.701882 +vt 0.347834 0.691162 +vt 0.351758 0.717531 +vt 0.279544 0.658120 +vt 0.300333 0.691179 +vt 0.296432 0.717486 +vt 0.262317 0.561201 +vt 0.266830 0.614350 +vt 0.255589 0.622775 +vt 0.606897 0.125000 +vt 0.662069 0.218750 +vt 0.724138 0.218750 +vt 0.682759 0.375000 +vt 0.551724 1.000000 +vt 0.662069 0.906250 +vt 0.724138 0.906250 +vt 0.324138 0.843750 +vt 0.324138 0.875000 +vt 0.324138 0.890625 +vt 0.324138 0.781250 +vt 0.737931 0.765625 +vt 0.724138 0.406250 +vt 0.724138 0.750000 +vt 0.696552 0.453125 +vt 0.696552 0.671875 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.303448 0.046875 +vt 0.259370 0.124136 +vt 0.255554 0.115489 +vt 0.255554 0.103261 +vt 0.259370 0.094614 +vt 0.264768 0.094614 +vt 0.289655 0.046875 +vt 0.262069 0.046875 +vt 0.358621 0.046875 +vt 0.344828 0.046875 +vt 0.317241 0.046875 +vt 0.296552 0.062500 +vt 0.282759 0.062500 +vt 0.275862 0.062500 +vt 0.262069 0.062500 +vt 0.358621 0.062500 +vt 0.337931 0.062500 +vt 0.324138 0.062500 +vt 0.310345 0.062500 +vt 0.227586 0.781250 +vt 0.441379 0.609375 +vt 0.903448 0.249458 +vt 0.864604 0.213006 +vt 0.864604 0.036995 +vt 0.942292 0.036994 +vt 0.942292 0.213005 +vt 0.351724 0.765625 +vt 0.275862 0.718750 +vt 0.255172 0.906250 +vt 0.331034 0.953125 +vt 0.942292 0.463005 +vt 0.903448 0.499458 +vt 0.864604 0.463005 +vt 0.864604 0.286994 +vt 0.942292 0.286994 +vt 0.737931 -0.000000 +vt 0.296552 0.093750 +vt 0.268966 0.187500 +vt 0.262069 0.140625 +vt 0.296552 0.093750 +vt 0.303448 0.171875 +vt 0.268966 0.187500 +vt 0.358621 0.171875 +vt 0.324138 0.093750 +vt 0.696552 0.437500 +vt 0.731034 0.437500 +vt 0.420690 0.859375 +vt 0.479310 0.953125 +vt 0.468966 -0.000000 +vt 0.351724 0.313754 +vt 0.363190 0.358748 +vt 0.340258 0.358748 +vt 0.255172 0.250000 +vt 0.340258 0.266252 +vt 0.351724 0.251254 +vt 0.363190 0.266252 +vt 0.848276 0.625000 +vt 0.944828 0.500000 +vt 0.958621 0.000000 +vt 0.978890 0.244165 +vt 0.965937 0.244165 +vt 0.959461 0.218750 +vt 0.724138 0.140625 +vt 0.724138 0.046875 +vt 0.675862 0.187500 +vt 0.655172 0.171875 +vt 0.655172 0.078125 +vt 0.641379 0.187500 +vt 0.634483 0.078125 +vt 0.634483 0.046875 +vt 0.634483 0.109375 +vt 0.634483 0.015625 +vt 0.630883 0.028561 +vt 0.624290 0.028561 +vt 0.620993 0.015625 +vt 0.413793 0.812500 +vt 0.489655 0.000000 +vt 0.468966 0.156250 +vt 0.531034 0.046875 +vt 0.468966 0.312500 +vt 0.455172 0.859375 +vt 0.434483 0.718750 +vt 0.524138 0.828125 +vt 0.979310 0.609375 +vt 0.979310 0.515625 +vt 0.972414 0.562500 +vt 0.606897 0.734375 +vt 0.006897 0.875000 +vt 0.551724 0.640625 +vt 0.158621 0.156250 +vt 0.117241 0.875000 +vt 0.213793 0.781250 +vt 0.213793 0.750000 +vt 0.089655 0.281250 +vt 0.551724 0.203125 +vt 0.213793 0.906250 +vt 0.551724 0.515625 +vt 0.524138 0.296875 +vt 0.551724 0.296875 +vt 0.524138 0.203125 +vt 0.227586 0.109375 +vt 0.958621 0.484375 +vt 0.187370 0.273751 +vt 0.193103 0.266252 +vt 0.198836 0.273751 +vt 0.206897 0.266252 +vt 0.212630 0.288749 +vt 0.206897 0.296248 +vt 0.958621 0.453125 +vt 0.958621 0.343750 +vt 0.958621 0.250000 +vt 0.958621 0.296875 +vt 0.551568 0.515616 +vt 0.544680 0.515623 +vt 0.489655 0.046875 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.455172 0.531250 +vt 0.510345 0.531250 +vt 0.551724 0.750000 +vt 0.620690 0.609375 +vt 0.455172 0.515625 +vt 0.510345 0.609375 +vt 0.510345 0.593750 +vt 0.455172 0.593750 +vt 0.551724 0.625000 +vt 0.551724 0.500000 +vt 0.551724 0.390625 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.000000 0.000000 +vt 0.551583 0.609269 +vt 0.544695 0.640480 +vt 0.517133 0.702938 +vt 0.517104 0.422013 +vt 0.106793 0.119651 +vt 0.097935 0.106242 +vt 0.092016 0.086173 +vt 0.089938 0.062500 +vt 0.092016 0.038827 +vt 0.097935 0.018758 +vt 0.106793 0.005349 +vt 0.127690 0.005349 +vt 0.136548 0.018758 +vt 0.142467 0.038827 +vt 0.142467 0.086173 +vt 0.136548 0.106242 +vt 0.127690 0.119651 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.179310 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.310345 0.000000 +vt 0.296552 0.000000 +vt 0.282759 0.000000 +vt 0.268966 0.000000 +vt 0.365517 0.000000 +vt 0.351724 0.000000 +vt 0.337931 0.000000 +vt 0.324138 0.000000 +vt 0.255172 0.000000 +vt 0.310345 0.093750 +vt 0.317241 0.093750 +vt 0.296552 0.093750 +vt 0.303448 0.093750 +vt 0.282759 0.093750 +vt 0.289655 0.093750 +vt 0.268966 0.093750 +vt 0.275862 0.093750 +vt 0.324138 0.093750 +vt 0.331034 0.093750 +vt 0.337931 0.093750 +vt 0.344828 0.093750 +vt 0.351724 0.093750 +vt 0.358621 0.093750 +vt 0.255172 0.093750 +vt 0.262069 0.093750 +vt 0.958621 0.609375 +vt 0.965517 0.593750 +vt 0.965517 0.609375 +vt 0.958621 0.562500 +vt 0.965517 0.546875 +vt 0.965517 0.562500 +vt 0.986207 0.578125 +vt 0.965517 0.625000 +vt 0.958621 0.625000 +vt 0.958621 0.578125 +vt 0.965517 0.578125 +vt 0.986207 0.562500 +vt 0.958621 0.531250 +vt 0.965517 0.515625 +vt 0.965517 0.531250 +vt 0.958621 0.640625 +vt 0.965517 0.640625 +vt 0.958621 0.593750 +vt 0.979310 0.562500 +vt 0.986207 0.546875 +vt 0.958621 0.546875 +vt 0.979310 0.546875 +vt 0.965517 0.593750 +vt 0.972414 0.609375 +vt 0.965517 0.609375 +vt 0.965517 0.656250 +vt 0.972414 0.640625 +vt 0.972414 0.656250 +vt 0.965517 0.546875 +vt 0.972414 0.531250 +vt 0.972414 0.546875 +vt 0.965517 0.703125 +vt 0.972414 0.687500 +vt 0.972414 0.703125 +vt 0.972414 0.578125 +vt 0.972414 0.593750 +vt 0.965517 0.625000 +vt 0.965517 0.640625 +vt 0.965517 0.515625 +vt 0.965517 0.531250 +vt 0.965517 0.671875 +vt 0.965517 0.687500 +vt 0.965517 0.562500 +vt 0.965517 0.578125 +vt 0.972414 0.625000 +vt 0.972414 0.671875 +vt 0.972414 0.562500 +vt 0.296552 0.218750 +vt 0.310345 0.234375 +vt 0.296552 0.234375 +vt 0.296552 0.187500 +vt 0.310345 0.203125 +vt 0.296552 0.203125 +vt 0.310345 0.234375 +vt 0.296552 0.250000 +vt 0.296552 0.234375 +vt 0.310345 0.203125 +vt 0.296552 0.218750 +vt 0.296552 0.203125 +vt 0.296552 0.187500 +vt 0.310345 0.218750 +vt 0.324138 0.234375 +vt 0.310345 0.187500 +vt 0.324138 0.203125 +vt 0.324138 0.250000 +vt 0.310345 0.250000 +vt 0.310345 0.234375 +vt 0.296552 0.250000 +vt 0.296552 0.234375 +vt 0.310345 0.203125 +vt 0.296552 0.218750 +vt 0.296552 0.203125 +vt 0.310345 0.187500 +vt 0.296552 0.187500 +vt 0.310345 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.203125 +vt 0.310345 0.250000 +vt 0.310345 0.234375 +vt 0.296552 0.250000 +vt 0.296552 0.234375 +vt 0.310345 0.203125 +vt 0.296552 0.218750 +vt 0.296552 0.203125 +vt 0.310345 0.187500 +vt 0.296552 0.187500 +vt 0.310345 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.187500 +vt 0.324138 0.250000 +vt 0.310345 0.250000 +vt 0.324138 0.203125 +vt 0.255172 0.234375 +vt 0.255172 0.234375 +vt 0.255172 0.218750 +vt 0.255172 0.203125 +vt 0.255172 0.234375 +vt 0.255172 0.218750 +vt 0.255172 0.187500 +vt 0.255172 0.203125 +vt 0.255172 0.218750 +vt 0.255172 0.203125 +vt 0.255172 0.187500 +vt 0.255172 0.187500 +vt 0.310345 0.218750 +vt 0.296552 0.250000 +vt 0.310345 0.250000 +vt 0.324138 0.203125 +vt 0.324138 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.250000 +vt 0.324138 0.187500 +vt 0.296552 0.187500 +vt 0.310345 0.203125 +vt 0.296552 0.203125 +vt 0.296552 0.218750 +vt 0.310345 0.234375 +vt 0.296552 0.234375 +vt 0.310345 0.218750 +vt 0.310345 0.250000 +vt 0.296552 0.250000 +vt 0.324138 0.203125 +vt 0.324138 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.250000 +vt 0.310345 0.187500 +vt 0.296552 0.187500 +vt 0.310345 0.203125 +vt 0.296552 0.203125 +vt 0.296552 0.218750 +vt 0.310345 0.234375 +vt 0.296552 0.234375 +vt 0.310345 0.218750 +vt 0.310345 0.250000 +vt 0.296552 0.250000 +vt 0.324138 0.203125 +vt 0.324138 0.218750 +vt 0.324138 0.250000 +vt 0.324138 0.187500 +vt 0.324138 0.234375 +vt 0.255172 0.203125 +vt 0.255172 0.203125 +vt 0.255172 0.218750 +vt 0.255172 0.234375 +vt 0.255172 0.203125 +vt 0.255172 0.218750 +vt 0.255172 0.250000 +vt 0.255172 0.234375 +vt 0.255172 0.218750 +vt 0.255172 0.234375 +vt 0.255172 0.250000 +vt 0.255172 0.250000 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.179310 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.179310 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.179310 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.179310 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.172414 0.390625 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.179310 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.179310 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.179310 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.255172 0.218750 +vt 0.296552 0.234375 +vt 0.255172 0.234375 +vt 0.255172 0.187500 +vt 0.296552 0.203125 +vt 0.255172 0.203125 +vt 0.296552 0.250000 +vt 0.255172 0.250000 +vt 0.296552 0.218750 +vt 0.310345 0.187500 +vt 0.310345 0.203125 +vt 0.310345 0.250000 +vt 0.310345 0.218750 +vt 0.310345 0.234375 +vt 0.324138 0.234375 +vt 0.324138 0.187500 +vt 0.324138 0.203125 +vt 0.324138 0.250000 +vt 0.324138 0.218750 +vt 0.255172 0.218750 +vt 0.296552 0.234375 +vt 0.255172 0.234375 +vt 0.255172 0.187500 +vt 0.296552 0.203125 +vt 0.255172 0.203125 +vt 0.296552 0.250000 +vt 0.255172 0.250000 +vt 0.296552 0.218750 +vt 0.310345 0.187500 +vt 0.310345 0.203125 +vt 0.310345 0.250000 +vt 0.310345 0.218750 +vt 0.310345 0.234375 +vt 0.324138 0.234375 +vt 0.324138 0.187500 +vt 0.324138 0.203125 +vt 0.324138 0.250000 +vt 0.324138 0.218750 +vt 0.255172 0.218750 +vt 0.296552 0.234375 +vt 0.255172 0.234375 +vt 0.255172 0.187500 +vt 0.296552 0.203125 +vt 0.255172 0.203125 +vt 0.296552 0.250000 +vt 0.255172 0.250000 +vt 0.296552 0.218750 +vt 0.310345 0.187500 +vt 0.310345 0.203125 +vt 0.310345 0.250000 +vt 0.310345 0.218750 +vt 0.310345 0.234375 +vt 0.324138 0.234375 +vt 0.324138 0.187500 +vt 0.324138 0.203125 +vt 0.324138 0.250000 +vt 0.324138 0.218750 +vt 0.089655 0.375000 +vt 0.075862 0.421875 +vt 0.075862 0.375000 +vt 0.075862 0.328125 +vt 0.089655 0.328125 +vt 0.075862 0.281250 +vt 0.089655 0.281250 +vt 0.075862 0.234375 +vt 0.089655 0.234375 +vt 0.075862 0.187500 +vt 0.089655 0.187500 +vt 0.089655 0.140625 +vt 0.075862 0.140625 +vt 0.089655 0.093750 +vt 0.075862 0.093750 +vt 0.089655 0.046875 +vt 0.075862 0.046875 +vt 0.089655 -0.000000 +vt 0.075862 0.000000 +vt 0.089655 0.750000 +vt 0.075862 0.703125 +vt 0.089655 0.703125 +vt 0.075862 0.656250 +vt 0.089655 0.656250 +vt 0.089655 0.609375 +vt 0.075862 0.609375 +vt 0.075862 0.562500 +vt 0.089655 0.562500 +vt 0.075862 0.515625 +vt 0.089655 0.515625 +vt 0.075862 0.468750 +vt 0.089655 0.468750 +vt 0.089655 0.421875 +vt 0.055172 0.375000 +vt 0.055172 0.328125 +vt 0.055172 -0.000000 +vt 0.055172 0.421875 +vt 0.055172 0.046875 +vt 0.055172 0.468750 +vt 0.055172 0.093750 +vt 0.055172 0.515625 +vt 0.055172 0.140625 +vt 0.055172 0.562500 +vt 0.055172 0.187500 +vt 0.055172 0.609375 +vt 0.055172 0.234375 +vt 0.055172 0.656250 +vt 0.055172 0.281250 +vt 0.075862 0.750000 +vt 0.055172 0.703125 +vt 0.000000 0.125000 +vt 0.000000 0.093750 +vt -0.000000 0.546875 +vt 0.000000 0.515625 +vt -0.000000 0.140625 +vt -0.000000 0.593750 +vt -0.000000 0.562500 +vt 0.000000 0.218750 +vt 0.000000 0.187500 +vt 0.000000 0.609375 +vt -0.000000 0.234375 +vt 0.000000 0.687500 +vt 0.000000 0.656250 +vt -0.000000 0.281250 +vt 0.055172 0.750000 +vt 0.000000 0.703125 +vt -0.000000 0.406250 +vt -0.000000 0.375000 +vt 0.000000 0.328125 +vt 0.000000 0.031250 +vt -0.000000 0.000000 +vt 0.000000 0.421875 +vt -0.000000 0.046875 +vt -0.000000 0.500000 +vt 0.000000 0.468750 +vt 0.393103 0.937500 +vt 0.413793 1.000000 +vt 0.393103 1.000000 +vt 0.393103 0.500000 +vt 0.413793 0.562500 +vt 0.393103 0.562500 +vt 0.393103 0.437500 +vt 0.413793 0.500000 +vt 0.393103 -0.000000 +vt 0.413793 0.062500 +vt 0.393103 0.062500 +vt 0.413793 0.625000 +vt 0.393103 0.625000 +vt 0.413793 0.125000 +vt 0.393103 0.125000 +vt 0.413793 0.687500 +vt 0.393103 0.687500 +vt 0.413793 0.187500 +vt 0.393103 0.187500 +vt 0.413793 0.750000 +vt 0.393103 0.750000 +vt 0.413793 0.250000 +vt 0.393103 0.250000 +vt 0.413793 0.812500 +vt 0.393103 0.812500 +vt 0.413793 0.312500 +vt 0.393103 0.312500 +vt 0.413793 0.875000 +vt 0.393103 0.875000 +vt 0.413793 0.375000 +vt 0.393103 0.375000 +vt 0.413793 0.937500 +vt 0.413793 0.437500 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.958621 0.515625 +vt 0.972414 0.515625 +vt 0.310345 0.187500 +vt 0.324138 0.218750 +vt 0.324138 0.187500 +vt 0.324138 0.218750 +vt 0.324138 0.187500 +vt 0.324138 0.250000 +vt 0.324138 0.218750 +vt 0.255172 0.250000 +vt 0.255172 0.250000 +vt 0.255172 0.250000 +vt 0.324138 0.187500 +vt 0.310345 0.187500 +vt 0.255172 0.187500 +vt 0.255172 0.187500 +vt 0.255172 0.187500 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.296552 0.187500 +vt 0.296552 0.187500 +vt 0.296552 0.187500 +vt -0.000000 0.171875 +vt 0.000000 0.640625 +vt -0.000000 0.265625 +vt -0.000000 0.312500 +vt -0.000000 0.734375 +vt 0.000000 0.359375 +vt -0.000000 0.453125 +vt -0.000000 0.078125 +vt 0.413793 -0.000000 +vn -1.0000 0.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.7071 -0.7071 +vn 0.0000 1.0000 0.0000 +vn -0.7071 -0.7071 0.0057 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.9487 -0.3162 +vn 0.0000 0.4472 -0.8944 +vn 0.1617 0.3904 0.9063 +vn 0.1617 0.3905 0.9063 +vn 0.1752 0.8806 0.4403 +vn 0.0859 0.4318 -0.8979 +vn 0.9845 -0.1567 -0.0783 +vn -0.0859 -0.4318 0.8978 +vn -0.9695 0.2320 -0.0783 +vn -0.7071 0.7071 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.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.7071 0.7071 0.0000 +vn -0.3162 0.3162 -0.8944 +vn 0.0000 0.4226 -0.9063 +vn 0.0000 0.9063 0.4226 +vn -0.7071 0.6409 0.2988 +vn 0.7071 0.6409 0.2988 +vn 0.0000 0.7934 0.6088 +vn 0.0000 0.1305 -0.9914 +vn 0.0000 0.5000 0.8660 +vn 0.0000 0.5000 -0.8660 +vn 0.0000 -0.5000 -0.8660 +vn 0.0000 -0.5000 0.8660 +vn 0.6547 0.3780 -0.6547 +vn 0.6547 -0.3780 -0.6547 +vn 0.6547 -0.3780 0.6547 +vn 0.6547 0.7559 0.0000 +vn 0.6547 -0.7559 0.0000 +vn 0.6547 0.3780 0.6547 +vn 0.0000 0.7071 0.7071 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +vn -0.5000 -0.7849 -0.3660 +vn -0.0000 -0.4226 0.9063 +vn -0.2357 0.2357 0.9428 +vn 0.2357 0.2357 0.9428 +vn -0.2357 -0.2357 -0.9428 +vn -0.2357 -0.2357 0.9428 +vn 0.0000 -0.9285 0.3714 +vn 0.0000 0.9285 -0.3714 +vn 0.0000 -0.9900 -0.1407 +vn 0.0000 0.9900 0.1407 +vn -0.1617 -0.3904 0.9063 +vn -0.1617 -0.3905 0.9063 +vn 0.3904 -0.1617 0.9063 +vn 0.3905 -0.1617 0.9063 +vn -0.3904 0.1617 0.9063 +vn -0.3905 0.1617 0.9063 +vn 0.3905 0.1617 0.9063 +vn 0.3904 0.1617 0.9063 +vn -0.3905 -0.1617 0.9063 +vn -0.3904 -0.1617 0.9063 +vn 0.1617 -0.3905 0.9063 +vn 0.1617 -0.3904 0.9063 +vn -0.1617 0.3905 0.9063 +vn -0.1617 0.3904 0.9063 +vn -0.1752 -0.8806 0.4403 +vn -0.0859 -0.4318 -0.8979 +vn -0.9845 0.1567 -0.0783 +vn 0.0859 0.4318 0.8978 +vn 0.9695 -0.2320 -0.0783 +vn 0.8806 -0.1752 0.4403 +vn 0.4318 -0.0859 -0.8979 +vn -0.1567 -0.9845 -0.0783 +vn -0.4318 0.0859 0.8978 +vn 0.2320 0.9695 -0.0783 +vn -0.8806 0.1752 0.4403 +vn -0.4318 0.0859 -0.8979 +vn 0.1567 0.9845 -0.0783 +vn 0.4318 -0.0859 0.8978 +vn -0.2320 -0.9695 -0.0783 +vn 0.7465 0.4988 0.4403 +vn 0.3661 0.2446 -0.8979 +vn 0.5854 -0.8070 -0.0783 +vn -0.3661 -0.2446 0.8978 +vn -0.5215 0.8496 -0.0783 +vn -0.7465 -0.4988 0.4403 +vn -0.3661 -0.2446 -0.8979 +vn -0.5854 0.8070 -0.0783 +vn 0.3661 0.2446 0.8978 +vn 0.5215 -0.8496 -0.0783 +vn 0.4988 -0.7465 0.4403 +vn 0.2446 -0.3661 -0.8979 +vn -0.8070 -0.5854 -0.0783 +vn -0.2446 0.3661 0.8978 +vn 0.8496 0.5215 -0.0783 +vn -0.4988 0.7465 0.4403 +vn -0.2446 0.3661 -0.8979 +vn 0.8070 0.5854 -0.0783 +vn 0.2446 -0.3661 0.8978 +vn -0.8496 -0.5215 -0.0783 +vn 0.4988 0.7465 0.4403 +vn 0.2446 0.3661 -0.8979 +vn 0.8496 -0.5215 -0.0783 +vn -0.2446 -0.3661 0.8978 +vn -0.8070 0.5854 -0.0783 +vn -0.4988 -0.7465 0.4403 +vn -0.2446 -0.3661 -0.8979 +vn -0.8496 0.5215 -0.0783 +vn 0.2446 0.3661 0.8978 +vn 0.8070 -0.5854 -0.0783 +vn 0.7465 -0.4988 0.4403 +vn 0.3661 -0.2446 -0.8979 +vn -0.5215 -0.8496 -0.0783 +vn -0.3661 0.2446 0.8978 +vn 0.5854 0.8070 -0.0783 +vn -0.7465 0.4988 0.4403 +vn -0.3661 0.2446 -0.8979 +vn 0.5215 0.8496 -0.0783 +vn 0.3661 -0.2446 0.8978 +vn -0.5854 -0.8070 -0.0783 +vn 0.8806 0.1752 0.4403 +vn 0.4318 0.0859 -0.8979 +vn 0.2320 -0.9696 -0.0783 +vn -0.4318 -0.0859 0.8978 +vn -0.1567 0.9845 -0.0783 +vn -0.8806 -0.1752 0.4403 +vn -0.4318 -0.0859 -0.8979 +vn -0.2320 0.9696 -0.0783 +vn 0.4318 0.0859 0.8978 +vn 0.1567 -0.9845 -0.0783 +vn 0.1752 -0.8806 0.4403 +vn 0.0859 -0.4318 -0.8979 +vn -0.9696 -0.2320 -0.0783 +vn -0.0859 0.4318 0.8978 +vn 0.9845 0.1567 -0.0783 +vn -0.1752 0.8806 0.4403 +vn -0.0859 0.4318 -0.8979 +vn 0.9696 0.2320 -0.0783 +vn 0.0859 -0.4318 0.8978 +vn -0.9845 -0.1567 -0.0783 +vn -0.7082 -0.7060 -0.0004 +vn -0.7085 -0.7057 0.0000 +vn 0.0859 0.4318 -0.8978 +vn -0.0859 -0.4318 -0.8978 +vn 0.4318 -0.0859 -0.8978 +vn -0.4318 0.0859 -0.8978 +vn 0.3661 0.2446 -0.8978 +vn -0.3661 -0.2446 -0.8978 +vn 0.2446 -0.3661 -0.8978 +vn -0.2446 0.3661 -0.8978 +vn 0.2446 0.3661 -0.8978 +vn -0.2446 -0.3661 -0.8978 +vn 0.3661 -0.2446 -0.8978 +vn -0.3661 0.2446 -0.8978 +vn 0.4318 0.0859 -0.8978 +vn -0.4318 -0.0859 -0.8978 +vn 0.0859 -0.4318 -0.8978 +vn -0.0859 0.4318 -0.8978 +vn 0.7311 -0.6303 -0.2611 +vn 0.9973 0.0609 0.0399 +vn 0.7430 -0.5190 -0.4226 +vn 0.6721 0.5735 0.4683 +vn 0.6333 0.7150 0.2962 +vn -0.9947 0.0948 0.0393 +vn -0.6721 0.5735 0.4683 +vn -0.6333 0.7150 0.2962 +vn -0.7311 -0.6303 -0.2611 +vn -0.9973 0.0609 0.0399 +vn 0.0000 -0.7779 -0.6284 +vn 0.9947 0.0948 0.0393 +vn 0.0000 0.7690 0.6392 +vn -0.7430 -0.5190 -0.4226 +vn -0.9989 0.0183 0.0441 +vn -0.6840 0.2791 0.6739 +vn 0.6840 0.2791 0.6739 +vn 0.7317 -0.2608 -0.6297 +vn -0.7317 -0.2608 -0.6297 +vn 0.0000 0.3827 0.9239 +vn 0.9989 0.0183 0.0441 +vn 0.7317 0.0000 -0.6816 +vn -0.7317 0.0000 -0.6816 +vn -0.9989 0.0000 0.0477 +vn -0.6841 -0.0000 0.7294 +vn 0.6840 -0.0000 0.7294 +vn 0.9989 0.0000 0.0477 +vn 0.0000 -0.1951 0.9808 +vn 0.6770 -0.1436 0.7219 +vn 0.9988 -0.0095 0.0477 +vn 0.7251 0.1344 -0.6754 +vn 0.0000 0.1951 -0.9808 +vn -0.9988 -0.0095 0.0477 +vn -0.6770 -0.1436 0.7219 +vn -0.7251 0.1344 -0.6754 +vn 0.8985 0.3215 -0.2988 +vn 0.9239 -0.3827 -0.0000 +vn -0.4080 0.8627 -0.2988 +vn 0.3468 0.8373 -0.4226 +vn -0.9239 0.3827 0.0000 +vn -0.8985 -0.3215 0.2988 +vn 0.4080 -0.8627 0.2988 +vn -0.3468 -0.8373 0.4226 +vn -0.4080 0.8627 -0.2989 +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.3827 0.9239 0.0000 +vn 0.0000 -0.9063 -0.4226 +vn -0.8660 0.4532 0.2113 +vn 0.2588 0.8754 0.4082 +vn 0.5000 0.7849 0.3660 +vn 0.5000 -0.7849 -0.3660 +vn -0.8660 -0.4532 -0.2113 +vn 0.8660 0.4532 0.2113 +vn -0.5000 0.7849 0.3660 +vn -0.2588 0.8754 0.4082 +vn 0.7071 -0.6409 -0.2988 +vn 0.9659 -0.2346 -0.1094 +vn 0.8660 -0.4532 -0.2113 +vn 0.6947 0.6947 0.1866 +vn 0.8431 -0.0945 0.5293 +vn 0.9891 0.0283 0.1448 +vn -0.3812 0.9204 0.0866 +vn -0.0945 0.8431 0.5294 +vn 0.0283 0.9891 0.1448 +vn 0.0945 0.8431 0.5294 +vn 0.3812 0.9204 0.0866 +vn -0.0283 0.9891 0.1448 +vn -0.8431 -0.0945 0.5293 +vn -0.6947 0.6947 0.1866 +vn -0.9891 0.0283 0.1448 +vn -0.9204 -0.3812 0.0866 +vn -0.5000 0.5000 0.7071 +vn 0.2384 0.6572 0.7150 +vn -0.8446 -0.4619 0.2706 +vn -0.6572 -0.2384 0.7150 +vn 0.5345 0.7559 0.3780 +vn 0.4619 0.8446 0.2706 +vn -0.8431 -0.0945 0.5294 +vn -0.7559 -0.5345 0.3780 +vn 0.5000 0.5000 0.7071 +vn 0.9204 -0.3812 0.0866 +vn 0.8446 -0.4619 0.2706 +vn -0.2384 0.6572 0.7150 +vn 0.2706 0.2706 0.9239 +vn 0.6572 -0.2384 0.7150 +vn 0.7559 -0.5345 0.3780 +vn -0.5345 0.7559 0.3780 +vn -0.4619 0.8446 0.2706 +vn 0.8431 -0.0945 0.5294 +vn -0.7311 0.6303 -0.2611 +vn -0.9973 -0.0609 0.0399 +vn -0.7430 0.5190 -0.4226 +vn -0.6721 -0.5735 0.4683 +vn -0.6333 -0.7150 0.2962 +vn 0.9947 -0.0948 0.0393 +vn 0.6721 -0.5735 0.4683 +vn 0.6333 -0.7150 0.2962 +vn 0.7311 0.6303 -0.2611 +vn 0.9973 -0.0609 0.0399 +vn -0.0000 0.7779 -0.6284 +vn -0.9947 -0.0948 0.0393 +vn -0.0000 -0.7690 0.6392 +vn 0.7430 0.5190 -0.4226 +vn 0.9989 -0.0183 0.0441 +vn 0.6841 -0.2791 0.6739 +vn -0.6840 -0.2791 0.6739 +vn -0.7317 0.2608 -0.6297 +vn 0.7317 0.2608 -0.6297 +vn -0.9989 -0.0183 0.0441 +vn 0.6841 -0.0000 0.7294 +vn -0.6840 0.0000 0.7294 +vn -0.0000 0.1951 0.9808 +vn -0.6770 0.1436 0.7219 +vn -0.9988 0.0095 0.0477 +vn -0.7251 -0.1344 -0.6754 +vn -0.0000 -0.1951 -0.9808 +vn 0.9988 0.0095 0.0477 +vn 0.6770 0.1436 0.7219 +vn 0.7251 -0.1344 -0.6754 +vn -0.8985 -0.3215 -0.2988 +vn 0.4080 -0.8627 -0.2988 +vn -0.3468 -0.8373 -0.4226 +vn 0.8985 0.3215 0.2988 +vn -0.4080 0.8627 0.2988 +vn 0.3468 0.8373 0.4226 +vn 0.4080 -0.8627 -0.2989 +vn -0.6303 -0.7311 -0.2611 +vn 0.0609 -0.9973 0.0399 +vn -0.5190 -0.7430 -0.4226 +vn 0.9239 -0.0000 0.3827 +vn 0.5735 -0.6721 0.4683 +vn 0.7150 -0.6333 0.2962 +vn 0.0948 0.9947 0.0393 +vn 0.5735 0.6721 0.4683 +vn 0.7150 0.6333 0.2962 +vn -0.6303 0.7311 -0.2611 +vn 0.0609 0.9973 0.0399 +vn -0.9239 -0.0000 -0.3827 +vn -0.7779 -0.0000 -0.6284 +vn 0.0948 -0.9947 0.0393 +vn 0.7690 -0.0000 0.6392 +vn -0.5190 0.7430 -0.4226 +vn 0.0183 0.9989 0.0441 +vn 0.2791 0.6841 0.6739 +vn 0.2791 -0.6840 0.6739 +vn -0.2608 -0.7317 -0.6297 +vn -0.2608 0.7317 -0.6297 +vn 0.3827 -0.0000 0.9239 +vn 0.0183 -0.9989 0.0441 +vn -0.3827 -0.0000 -0.9239 +vn 0.0000 -0.7317 -0.6816 +vn 0.0000 0.7317 -0.6816 +vn 0.0000 0.9989 0.0477 +vn 0.0000 0.6841 0.7294 +vn -0.0000 -0.6840 0.7294 +vn 0.0000 -0.9989 0.0477 +vn -0.1951 -0.0000 0.9808 +vn -0.1436 -0.6770 0.7219 +vn -0.0095 -0.9988 0.0477 +vn 0.1344 -0.7251 -0.6754 +vn 0.1951 -0.0000 -0.9808 +vn -0.0095 0.9988 0.0477 +vn -0.1436 0.6770 0.7219 +vn 0.1344 0.7251 -0.6754 +vn 0.3215 -0.8985 -0.2988 +vn 0.8627 0.4080 -0.2988 +vn 0.8373 -0.3468 -0.4226 +vn -0.3215 0.8985 0.2988 +vn -0.8627 -0.4080 0.2988 +vn -0.8373 0.3468 0.4226 +vn 0.8627 0.4080 -0.2989 +vn 0.6303 0.7311 -0.2611 +vn -0.0609 0.9973 0.0399 +vn 0.5190 0.7430 -0.4226 +vn -0.9239 0.0000 0.3827 +vn -0.5735 0.6721 0.4683 +vn -0.7150 0.6333 0.2962 +vn -0.0948 -0.9947 0.0393 +vn -0.5735 -0.6721 0.4683 +vn -0.7150 -0.6333 0.2962 +vn 0.6303 -0.7311 -0.2611 +vn -0.0609 -0.9973 0.0399 +vn 0.9239 0.0000 -0.3827 +vn 0.7779 0.0000 -0.6284 +vn -0.0948 0.9947 0.0393 +vn -0.7690 0.0000 0.6392 +vn 0.5190 -0.7430 -0.4226 +vn -0.0183 -0.9989 0.0441 +vn -0.2791 -0.6840 0.6739 +vn -0.2791 0.6840 0.6739 +vn 0.2608 0.7317 -0.6297 +vn 0.2608 -0.7317 -0.6297 +vn -0.3827 0.0000 0.9239 +vn -0.0183 0.9989 0.0441 +vn 0.3827 0.0000 -0.9239 +vn -0.0000 -0.6841 0.7294 +vn 0.0000 0.6840 0.7294 +vn 0.1951 0.0000 0.9808 +vn 0.1436 0.6770 0.7219 +vn 0.0095 0.9988 0.0477 +vn -0.1344 0.7251 -0.6754 +vn -0.1951 0.0000 -0.9808 +vn 0.0095 -0.9988 0.0477 +vn 0.1436 -0.6770 0.7219 +vn -0.1344 -0.7251 -0.6754 +vn -0.3215 0.8985 -0.2988 +vn -0.8627 -0.4080 -0.2988 +vn -0.8373 0.3468 -0.4226 +vn 0.3215 -0.8985 0.2988 +vn 0.8373 -0.3468 0.4226 +vn 0.8627 0.4080 0.2988 +vn -0.8627 -0.4080 -0.2989 +vn 0.3215 -0.8985 0.2989 +vn 0.0712 -0.9627 -0.2611 +vn 0.7483 -0.6622 0.0399 +vn 0.1584 -0.8924 -0.4226 +vn 0.6533 0.6533 0.3827 +vn 0.8808 -0.0697 0.4683 +vn 0.9534 0.0578 0.2962 +vn -0.6364 0.7704 0.0393 +vn -0.0697 0.8808 0.4683 +vn 0.0578 0.9534 0.2962 +vn -0.9627 0.0712 -0.2611 +vn -0.6622 0.7483 0.0399 +vn -0.6533 -0.6533 -0.3827 +vn -0.5501 -0.5501 -0.6284 +vn 0.7704 -0.6363 0.0393 +vn 0.5438 0.5438 0.6392 +vn -0.8924 0.1584 -0.4226 +vn -0.6934 0.7192 0.0441 +vn -0.2863 0.6811 0.6739 +vn 0.6811 -0.2863 0.6739 +vn 0.3330 -0.7018 -0.6297 +vn -0.7018 0.3330 -0.6297 +vn 0.7192 -0.6934 0.0441 +vn -0.2706 -0.2706 -0.9239 +vn 0.5174 -0.5174 -0.6816 +vn -0.5174 0.5174 -0.6816 +vn -0.7063 0.7063 0.0477 +vn -0.4837 0.4837 0.7294 +vn 0.4837 -0.4837 0.7294 +vn 0.7063 -0.7063 0.0477 +vn -0.1379 -0.1379 0.9808 +vn 0.3772 -0.5802 0.7219 +vn 0.6996 -0.7130 0.0477 +vn 0.6077 -0.4177 -0.6754 +vn 0.1380 0.1379 -0.9808 +vn -0.7130 0.6996 0.0477 +vn -0.5802 0.3772 0.7219 +vn -0.4177 0.6077 -0.6754 +vn 0.8627 -0.4080 -0.2988 +vn 0.3215 0.8985 -0.2988 +vn 0.8373 0.3468 -0.4226 +vn -0.8627 0.4080 0.2988 +vn -0.3215 -0.8985 0.2988 +vn -0.8373 -0.3468 0.4226 +vn 0.3215 0.8985 -0.2989 +vn -0.0712 0.9627 -0.2611 +vn -0.7483 0.6622 0.0399 +vn -0.1584 0.8924 -0.4226 +vn -0.6533 -0.6533 0.3827 +vn -0.8808 0.0697 0.4683 +vn -0.9534 -0.0578 0.2962 +vn 0.6364 -0.7704 0.0393 +vn 0.0697 -0.8808 0.4683 +vn -0.0578 -0.9534 0.2962 +vn 0.9627 -0.0712 -0.2611 +vn 0.6622 -0.7483 0.0399 +vn 0.6533 0.6533 -0.3827 +vn 0.5501 0.5501 -0.6284 +vn -0.7704 0.6363 0.0393 +vn -0.5438 -0.5438 0.6392 +vn 0.8924 -0.1584 -0.4226 +vn 0.6934 -0.7192 0.0441 +vn 0.2863 -0.6811 0.6739 +vn -0.6811 0.2863 0.6739 +vn -0.3330 0.7018 -0.6297 +vn 0.7018 -0.3330 -0.6297 +vn -0.2706 -0.2706 0.9239 +vn -0.7192 0.6934 0.0441 +vn 0.2706 0.2706 -0.9239 +vn 0.1379 0.1379 0.9808 +vn -0.3772 0.5802 0.7219 +vn -0.6996 0.7130 0.0477 +vn -0.6077 0.4177 -0.6754 +vn -0.1380 -0.1380 -0.9808 +vn 0.7130 -0.6996 0.0477 +vn 0.5802 -0.3772 0.7219 +vn 0.4177 -0.6077 -0.6754 +vn -0.8627 0.4080 -0.2988 +vn -0.3215 -0.8985 -0.2988 +vn -0.8373 -0.3468 -0.4226 +vn 0.8627 -0.4080 0.2988 +vn 0.3215 0.8985 0.2988 +vn 0.8373 0.3468 0.4226 +vn -0.8627 0.4080 -0.2989 +vn -0.3215 -0.8985 -0.2989 +vn 0.8627 -0.4080 0.2989 +vn -0.9627 -0.0712 -0.2611 +vn -0.6622 -0.7483 0.0399 +vn -0.8924 -0.1584 -0.4226 +vn 0.6533 -0.6533 0.3827 +vn -0.0697 -0.8808 0.4683 +vn 0.0578 -0.9534 0.2962 +vn 0.7704 0.6364 0.0393 +vn 0.8808 0.0697 0.4683 +vn 0.9534 -0.0578 0.2962 +vn 0.0712 0.9627 -0.2611 +vn 0.7483 0.6622 0.0399 +vn -0.6533 0.6533 -0.3827 +vn -0.5501 0.5501 -0.6284 +vn -0.6363 -0.7704 0.0393 +vn 0.5438 -0.5438 0.6392 +vn 0.1584 0.8924 -0.4226 +vn 0.7192 0.6934 0.0441 +vn 0.6811 0.2863 0.6739 +vn -0.2863 -0.6811 0.6739 +vn -0.7018 -0.3330 -0.6297 +vn 0.3330 0.7018 -0.6297 +vn 0.2706 -0.2706 0.9239 +vn -0.6934 -0.7192 0.0441 +vn -0.2706 0.2706 -0.9239 +vn -0.5174 -0.5174 -0.6816 +vn 0.5174 0.5174 -0.6816 +vn 0.7063 0.7063 0.0477 +vn 0.4837 0.4837 0.7294 +vn -0.4837 -0.4837 0.7294 +vn -0.7063 -0.7063 0.0477 +vn -0.1379 0.1379 0.9808 +vn -0.5802 -0.3772 0.7219 +vn -0.7130 -0.6996 0.0477 +vn -0.4177 -0.6077 -0.6754 +vn 0.1379 -0.1380 -0.9808 +vn 0.6996 0.7130 0.0477 +vn 0.3772 0.5802 0.7219 +vn 0.6077 0.4177 -0.6754 +vn -0.4080 -0.8627 -0.2988 +vn 0.8985 -0.3215 -0.2988 +vn 0.3468 -0.8373 -0.4226 +vn 0.4080 0.8627 0.2988 +vn -0.8985 0.3215 0.2988 +vn -0.3468 0.8373 0.4226 +vn 0.8985 -0.3215 -0.2989 +vn 0.9627 0.0712 -0.2611 +vn 0.6622 0.7483 0.0399 +vn 0.8924 0.1584 -0.4226 +vn -0.6533 0.6533 0.3827 +vn 0.0697 0.8808 0.4683 +vn -0.0578 0.9534 0.2962 +vn -0.7704 -0.6363 0.0393 +vn -0.8808 -0.0697 0.4683 +vn -0.9534 0.0578 0.2962 +vn -0.0713 -0.9627 -0.2611 +vn -0.7483 -0.6622 0.0399 +vn 0.6533 -0.6533 -0.3827 +vn 0.5501 -0.5501 -0.6284 +vn 0.6363 0.7704 0.0393 +vn -0.5438 0.5438 0.6392 +vn -0.1584 -0.8924 -0.4226 +vn -0.7192 -0.6934 0.0441 +vn -0.6811 -0.2863 0.6739 +vn 0.2863 0.6811 0.6739 +vn 0.7018 0.3330 -0.6297 +vn -0.3330 -0.7018 -0.6297 +vn -0.2706 0.2706 0.9239 +vn 0.6934 0.7192 0.0441 +vn 0.2706 -0.2706 -0.9239 +vn 0.1379 -0.1379 0.9808 +vn 0.5802 0.3772 0.7219 +vn 0.7130 0.6996 0.0477 +vn 0.4177 0.6077 -0.6754 +vn -0.1379 0.1380 -0.9808 +vn -0.6996 -0.7130 0.0477 +vn -0.3772 -0.5802 0.7219 +vn -0.6077 -0.4177 -0.6754 +vn 0.4080 0.8627 -0.2988 +vn -0.8985 0.3215 -0.2988 +vn -0.3468 0.8373 -0.4226 +vn -0.4080 -0.8627 0.2988 +vn 0.3468 -0.8373 0.4226 +vn 0.8985 -0.3215 0.2988 +vn 0.4080 0.8627 -0.2989 +vn -0.8985 0.3215 -0.2989 +vn -0.4080 -0.8627 0.2989 +vn 0.6794 0.7194 0.1448 +vn -0.6794 0.7194 0.1448 +vn 0.9204 0.3812 0.0866 +vn -0.0000 0.9824 0.1866 +vn -0.9239 0.2706 0.2706 +vn -0.6630 0.5294 0.5294 +vn 0.9239 0.2706 0.2706 +vn 0.6630 0.5294 0.5294 +vn 0.6333 0.2962 0.7150 +vn -0.9125 0.1566 0.3780 +vn -0.6333 0.2962 0.7150 +vn 0.9125 0.1566 0.3780 +vn 0.0000 -0.8944 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 +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.3162 0.3162 0.8944 +vn -0.4132 0.1711 0.8944 +vn 0.4132 -0.1711 0.8944 +vn 0.4472 -0.0000 0.8944 +vn -0.4472 -0.0000 0.8944 +vn 0.4132 0.1711 0.8944 +vn -0.4132 -0.1711 0.8944 +vn 0.3162 0.3162 0.8944 +vn -0.3162 -0.3162 0.8944 +vn 0.1711 0.4132 0.8944 +vn -0.1711 -0.4132 0.8944 +vn -0.0000 0.4472 0.8944 +vn 0.0000 -0.4472 0.8944 +vn 0.1711 -0.4132 0.8944 +vn -0.1711 0.4132 0.8944 +vn 0.3162 -0.3162 0.8944 +vn -0.9204 0.3812 0.0866 +s off +f 229/323/124 230/324/124 231/325/124 +f 233/326/125 235/327/125 236/328/125 +f 235/327/126 240/329/126 241/330/126 +f 243/331/127 237/332/127 242/333/127 +f 245/334/128 243/335/128 231/325/128 +f 243/336/129 233/337/129 232/338/129 +f 247/339/130 241/330/130 246/340/130 +f 248/341/124 250/342/124 251/343/124 +f 250/342/124 229/323/124 228/344/124 +f 248/341/131 254/345/131 249/346/131 +f 256/347/124 258/348/124 255/349/124 +f 260/350/124 262/351/124 259/352/124 +f 264/353/124 266/354/124 263/355/124 +f 268/356/124 270/357/124 267/358/124 +f 272/359/124 274/360/124 271/361/124 +f 263/355/124 267/358/124 262/351/124 +f 257/362/124 256/347/124 272/359/124 +f 263/363/127 276/364/127 264/365/127 +f 262/366/132 275/367/132 263/368/132 +f 257/369/130 279/370/130 258/371/130 +f 258/372/132 280/373/132 259/374/132 +f 282/375/124 284/376/124 281/377/124 +f 285/378/124 275/367/124 277/379/124 +f 279/370/124 286/380/124 280/373/124 +f 288/381/124 290/382/124 287/383/124 +f 266/384/132 281/377/132 268/385/132 +f 265/386/130 282/375/130 266/387/130 +f 269/388/133 283/389/133 265/390/133 +f 259/391/127 286/380/127 260/392/127 +f 264/393/133 285/378/133 261/394/133 +f 261/395/130 277/379/130 262/396/130 +f 260/397/133 278/398/133 257/399/133 +f 268/400/127 284/376/127 269/401/127 +f 256/402/133 288/381/133 273/403/133 +f 273/404/130 287/383/130 274/405/130 +f 274/406/132 290/382/132 255/407/132 +f 255/408/127 289/409/127 256/410/127 +f 235/327/133 292/411/133 240/329/133 +f 235/327/133 234/412/133 291/413/133 +f 251/343/133 294/414/133 248/341/133 +f 248/341/133 294/414/133 253/415/133 +f 240/416/134 246/340/134 241/330/134 +f 293/417/134 252/418/134 295/419/134 +f 295/419/130 228/344/130 296/420/130 +f 298/421/135 300/422/135 297/423/135 +f 238/424/135 299/425/135 298/421/135 +f 300/422/135 228/426/135 297/423/135 +f 301/427/136 303/428/136 304/429/136 +f 306/430/136 308/431/136 305/432/136 +f 309/433/136 311/434/136 312/435/136 +f 310/436/136 314/437/136 311/434/136 +f 315/438/137 304/429/137 316/439/137 +f 302/440/136 308/431/136 303/428/136 +f 309/433/136 307/441/136 306/430/136 +f 313/442/136 316/443/136 314/437/136 +f 324/444/136 318/445/136 320/446/136 +f 326/447/136 328/448/136 325/449/136 +f 326/447/136 330/450/136 327/451/136 +f 331/452/137 330/450/137 329/453/137 +f 333/454/136 332/455/136 331/456/136 +f 335/457/137 334/458/137 333/454/137 +f 335/457/137 338/459/137 336/460/137 +f 337/461/136 340/462/136 338/459/136 +f 339/463/137 328/448/137 340/462/137 +f 342/464/138 344/465/138 341/466/138 +f 345/467/139 344/465/139 343/468/139 +f 347/469/140 343/468/140 342/464/140 +f 347/470/141 341/466/141 348/471/141 +f 348/472/142 344/465/142 346/473/142 +f 350/474/132 352/475/132 349/476/132 +f 358/477/132 359/478/132 360/479/132 +f 349/476/132 362/480/132 361/481/132 +f 363/482/132 362/483/132 364/484/132 +f 363/482/132 366/485/132 365/486/132 +f 365/487/132 368/488/132 367/489/132 +f 367/489/132 370/490/132 369/491/132 +f 371/492/132 370/493/132 372/494/132 +f 371/492/132 351/495/132 350/474/132 +f 373/496/132 375/497/132 376/498/132 +f 377/499/132 374/500/132 373/501/132 +f 380/502/132 377/503/132 379/504/132 +f 382/505/132 379/506/132 381/507/132 +f 384/508/132 381/509/132 383/510/132 +f 385/511/132 384/512/132 383/513/132 +f 387/514/132 386/515/132 385/516/132 +f 376/517/132 388/518/132 387/519/132 +f 668/520/133 1759/521/133 1760/522/133 +f 1756/523/143 1767/524/143 1755/525/143 +f 239/526/132 391/527/132 392/528/132 +f 236/529/132 393/530/132 394/531/132 +f 237/532/132 395/533/132 396/534/132 +f 242/535/132 397/536/132 398/537/132 +f 231/538/132 399/539/132 400/540/132 +f 1758/541/130 1769/542/130 1757/543/130 +f 403/544/124 405/545/124 407/546/124 +f 272/359/132 411/547/132 270/357/132 +f 271/361/127 410/548/127 272/359/127 +f 267/358/133 412/549/133 271/361/133 +f 270/357/130 413/550/130 267/358/130 +f 417/551/126 419/552/126 421/553/126 +f 421/554/144 404/555/144 403/556/144 +f 419/557/145 406/558/145 405/559/145 +f 415/560/146 402/561/146 409/562/146 +f 420/563/147 405/559/147 404/555/147 +f 418/564/148 407/565/148 406/558/148 +f 416/566/149 409/562/149 408/567/149 +f 414/568/150 403/556/150 402/561/150 +f 423/569/132 425/570/132 422/571/132 +f 427/572/133 429/573/133 426/574/133 +f 423/575/125 428/576/125 424/577/125 +f 425/570/143 426/578/143 422/579/143 +f 424/577/151 427/572/151 425/570/151 +f 422/580/128 429/581/128 423/575/128 +f 431/582/132 433/583/132 430/584/132 +f 435/585/133 437/586/133 434/587/133 +f 431/588/143 436/589/143 432/590/143 +f 433/583/125 434/591/125 430/592/125 +f 432/590/128 435/585/128 433/583/128 +f 430/592/151 437/593/151 431/594/151 +f 438/595/132 440/596/132 441/597/132 +f 442/598/133 444/599/133 445/600/133 +f 439/601/128 444/599/128 440/596/128 +f 441/597/151 442/602/151 438/603/151 +f 440/596/125 443/604/125 441/597/125 +f 438/605/143 445/606/143 439/601/143 +f 446/607/132 448/608/132 449/609/132 +f 450/610/133 452/611/133 453/612/133 +f 447/613/151 452/611/151 448/608/151 +f 449/609/128 450/614/128 446/615/128 +f 448/608/143 451/616/143 449/609/143 +f 446/615/125 453/617/125 447/618/125 +f 455/619/132 457/620/132 454/621/132 +f 459/622/152 461/623/152 458/624/152 +f 455/625/125 460/626/125 456/627/125 +f 457/620/143 458/624/143 454/628/143 +f 456/627/151 459/622/151 457/620/151 +f 455/625/128 458/629/128 461/630/128 +f 300/631/125 463/632/125 296/633/125 +f 299/634/128 464/635/128 465/636/128 +f 299/634/127 462/637/127 300/631/127 +f 465/636/135 463/638/135 462/637/135 +f 467/639/126 469/640/126 466/641/126 +f 470/642/124 472/643/124 473/644/124 +f 475/645/153 471/646/153 474/647/153 +f 474/647/154 477/648/154 475/645/154 +f 470/649/155 476/650/155 474/647/155 +f 469/651/156 477/648/156 466/652/156 +f 245/653/127 950/654/127 233/337/127 +f 479/655/157 481/656/157 478/657/157 +f 483/658/126 480/659/126 485/660/126 +f 480/661/146 486/662/146 481/656/146 +f 484/663/158 487/664/158 486/662/158 +f 478/665/124 481/666/124 486/667/124 +f 491/668/127 493/669/127 490/670/127 +f 491/668/126 495/671/126 492/672/126 +f 493/669/124 497/673/124 490/670/124 +f 499/674/133 501/675/133 498/676/133 +f 503/677/126 500/678/126 502/679/126 +f 505/680/124 498/676/124 504/681/124 +f 502/682/130 499/674/130 505/683/130 +f 504/684/127 501/675/127 503/685/127 +f 507/686/133 509/687/133 506/688/133 +f 511/689/127 508/690/127 510/691/127 +f 513/692/130 506/688/130 512/693/130 +f 510/694/126 507/686/126 513/695/126 +f 512/696/124 509/687/124 511/697/124 +f 515/698/127 517/699/127 514/700/127 +f 519/701/159 521/702/159 518/703/159 +f 523/704/160 525/705/160 522/706/160 +f 516/707/161 522/706/161 517/699/161 +f 520/708/162 514/709/162 521/702/162 +f 524/710/130 518/703/130 525/705/130 +f 514/711/126 517/712/126 522/713/126 +f 527/714/130 529/715/130 526/716/130 +f 531/717/127 533/718/127 530/719/127 +f 534/720/159 528/721/159 527/722/159 +f 526/723/160 537/724/160 536/725/160 +f 536/726/161 532/727/161 531/728/161 +f 530/729/162 535/730/162 534/731/162 +f 532/732/124 539/733/124 533/718/124 +f 528/721/124 540/734/124 541/735/124 +f 529/736/124 543/737/124 537/724/124 +f 532/727/124 543/737/124 538/738/124 +f 533/739/124 540/734/124 535/730/124 +f 528/740/124 542/741/124 529/715/124 +f 543/737/161 545/742/161 538/738/161 +f 539/743/162 547/744/162 540/734/162 +f 541/735/130 549/745/130 542/741/130 +f 538/738/127 546/746/127 539/733/127 +f 540/734/159 548/747/159 541/735/159 +f 542/741/160 544/748/160 543/737/160 +f 547/744/126 551/749/126 548/747/126 +f 548/747/126 552/750/126 549/745/126 +f 544/748/126 552/751/126 553/752/126 +f 544/748/126 554/753/126 545/742/126 +f 545/742/126 555/754/126 546/746/126 +f 547/744/126 555/755/126 550/756/126 +f 555/755/162 557/757/162 550/756/162 +f 551/758/130 559/759/130 552/750/130 +f 554/760/127 556/761/127 555/754/127 +f 550/762/159 558/763/159 551/749/159 +f 552/751/160 561/764/160 553/752/160 +f 553/765/161 560/766/161 554/753/161 +f 557/767/124 563/768/124 558/763/124 +f 558/769/124 564/770/124 559/759/124 +f 561/764/124 564/770/124 565/771/124 +f 561/772/124 566/773/124 560/766/124 +f 560/774/124 567/775/124 556/761/124 +f 557/757/124 567/776/124 562/777/124 +f 563/768/130 569/778/130 564/770/130 +f 566/773/127 571/779/127 567/775/127 +f 562/777/159 568/780/159 563/768/159 +f 564/770/160 573/781/160 565/771/160 +f 565/771/161 570/782/161 566/773/161 +f 567/776/162 572/783/162 562/777/162 +f 569/778/163 575/784/163 573/781/163 +f 573/781/164 576/785/164 570/782/164 +f 572/783/165 577/786/165 578/787/165 +f 568/780/166 574/788/166 569/778/166 +f 570/782/167 577/789/167 571/779/167 +f 568/780/168 578/790/168 579/791/168 +f 577/792/126 576/793/126 575/794/126 +f 581/795/130 583/796/130 580/797/130 +f 585/798/124 587/799/124 588/800/124 +f 582/801/133 590/802/133 583/796/133 +f 581/795/126 589/803/126 582/801/126 +f 583/796/124 592/804/124 580/797/124 +f 594/805/169 596/806/169 593/807/169 +f 593/808/124 598/809/124 597/810/124 +f 597/810/129 600/811/129 599/812/129 +f 594/805/126 600/811/126 595/813/126 +f 584/814/170 602/815/170 585/798/170 +f 587/816/133 604/817/133 588/818/133 +f 601/819/126 604/820/126 603/821/126 +f 602/815/169 586/822/169 585/798/169 +f 605/823/171 587/816/171 586/824/171 +f 584/814/129 604/825/129 601/819/129 +f 607/826/169 609/827/169 606/828/169 +f 610/829/126 608/830/126 607/831/126 +f 613/832/124 609/827/124 612/833/124 +f 612/833/171 608/830/171 611/834/171 +f 610/829/170 606/835/170 613/836/170 +f 615/837/124 624/838/124 625/839/124 +f 626/840/172 616/841/172 628/842/172 +f 623/843/173 633/844/173 624/838/173 +f 390/845/130 1689/846/130 297/423/130 +f 646/847/143 648/848/143 649/849/143 +f 1759/850/151 1772/851/151 1760/852/151 +f 297/423/143 652/853/143 653/854/143 +f 646/847/143 652/853/143 228/344/143 +f 297/423/143 649/849/143 648/848/143 +f 1755/855/128 1761/856/128 650/857/128 +f 656/858/151 239/859/151 238/860/151 +f 238/860/151 657/861/151 656/858/151 +f 389/862/151 657/861/151 298/421/151 +f 656/863/174 658/864/174 659/865/174 +f 646/866/151 661/867/151 652/868/151 +f 647/869/175 663/870/175 648/871/175 +f 661/867/143 665/872/143 664/873/143 +f 666/874/133 1756/875/133 1755/876/133 +f 659/877/151 669/878/151 668/520/151 +f 649/879/176 660/880/176 646/881/176 +f 1756/882/151 662/883/151 647/884/151 +f 653/885/177 661/886/177 664/873/177 +f 653/885/128 665/872/128 649/879/128 +f 657/887/125 655/888/125 1759/889/125 +f 1760/890/143 654/891/143 656/892/143 +f 670/893/124 672/894/124 673/895/124 +f 674/896/178 672/897/178 671/898/178 +f 677/899/126 679/900/126 676/901/126 +f 670/893/179 681/902/179 680/903/179 +f 679/900/126 682/904/126 683/905/126 +f 675/906/180 685/907/180 672/897/180 +f 680/908/126 674/909/126 686/910/126 +f 687/911/171 680/903/171 686/910/171 +f 687/911/124 671/912/124 670/913/124 +f 677/914/126 676/915/126 688/916/126 +f 689/917/171 677/899/171 688/916/171 +f 689/917/124 691/918/124 690/919/124 +f 693/920/133 686/910/133 692/921/133 +f 695/922/132 671/923/132 694/924/132 +f 697/925/126 676/915/126 696/926/126 +f 699/927/124 689/917/124 698/928/124 +f 694/929/124 687/911/124 693/920/124 +f 698/928/133 688/916/133 697/925/133 +f 696/926/132 691/930/132 699/931/132 +f 692/921/126 674/909/126 695/922/126 +f 676/901/178 700/932/178 691/933/178 +f 680/903/126 675/906/126 674/896/126 +f 702/934/130 704/935/130 701/936/130 +f 662/883/143 666/874/143 663/870/143 +f 663/870/128 666/874/128 1755/937/128 +f 1757/938/124 1765/939/124 1688/940/124 +f 705/941/181 682/904/181 678/942/181 +f 700/943/124 706/944/124 705/941/124 +f 672/894/124 708/945/124 673/895/124 +f 679/900/180 707/946/180 700/932/180 +f 675/906/126 709/947/126 684/948/126 +f 673/895/181 709/947/181 681/902/181 +f 690/949/124 700/943/124 705/941/124 +f 690/949/179 678/942/179 677/899/179 +f 711/950/161 713/951/161 710/952/161 +f 714/953/132 703/954/132 702/934/132 +f 712/955/127 717/956/127 713/951/127 +f 718/957/127 715/958/127 714/953/127 +f 716/959/162 721/960/162 717/961/162 +f 701/962/133 719/963/133 718/957/133 +f 720/964/159 723/965/159 721/960/159 +f 722/966/126 720/967/126 716/968/126 +f 722/969/130 725/970/130 723/965/130 +f 724/971/160 710/952/160 725/970/160 +f 723/972/124 725/973/124 713/974/124 +f 719/963/125 727/975/125 715/958/125 +f 715/976/132 727/975/132 703/977/132 +f 704/978/133 726/979/133 719/980/133 +f 704/978/133 729/981/133 726/979/133 +f 728/982/127 731/983/127 729/984/127 +f 726/979/126 732/985/126 727/975/126 +f 727/975/132 733/986/132 703/977/132 +f 703/977/124 728/987/124 704/988/124 +f 729/984/126 734/989/126 732/990/126 +f 733/991/124 735/992/124 728/993/124 +f 734/989/169 733/986/169 732/985/169 +f 737/994/179 739/995/179 736/996/179 +f 729/984/126 737/994/126 734/989/126 +f 734/989/130 736/996/130 735/992/130 +f 735/992/124 730/997/124 728/993/124 +f 740/998/126 741/999/126 738/1000/126 +f 730/997/124 739/995/124 742/1001/124 +f 730/1002/178 740/1003/178 731/983/178 +f 731/983/126 738/1004/126 737/994/126 +f 741/999/171 739/995/171 738/1004/171 +f 743/1005/124 745/1006/124 742/1007/124 +f 742/1007/124 739/1008/124 743/1005/124 +f 745/1009/132 748/1010/132 746/1011/132 +f 742/1012/132 749/1013/132 740/998/132 +f 740/998/126 750/1014/126 741/999/126 +f 741/999/133 744/1015/133 743/1005/133 +f 750/1016/133 751/1017/133 744/1018/133 +f 746/1011/125 750/1014/125 749/1013/125 +f 745/1009/132 746/1011/132 749/1019/132 +f 744/1018/130 747/1020/130 745/1021/130 +f 751/1017/133 752/1022/133 744/1018/133 +f 746/1011/127 753/1023/127 751/1017/127 +f 391/527/132 1771/1024/132 1786/1025/132 +f 401/1026/132 1767/1027/132 1768/1028/132 +f 1771/1024/132 1764/1029/132 389/1030/132 +f 1786/1025/132 1770/1031/132 1785/1032/132 +f 592/1033/127 589/1034/127 591/1035/127 +f 951/1036/182 953/1037/182 954/1038/182 +f 956/1039/182 958/1040/182 955/1041/182 +f 959/1042/182 961/1043/182 962/1044/182 +f 960/1045/182 964/1046/182 961/1043/182 +f 965/1047/183 954/1038/183 966/1048/183 +f 952/1049/182 958/1040/182 953/1037/182 +f 956/1039/182 962/1044/182 957/1050/182 +f 963/1051/182 966/1052/182 964/1046/182 +f 974/1053/182 968/1054/182 970/1055/182 +f 976/1056/182 978/1057/182 975/1058/182 +f 976/1056/182 980/1059/182 977/1060/182 +f 981/1061/183 980/1059/183 979/1062/183 +f 983/1063/182 982/1064/182 981/1065/182 +f 983/1063/183 986/1066/183 984/1067/183 +f 985/1068/183 988/1069/183 986/1066/183 +f 987/1070/182 990/1071/182 988/1069/182 +f 989/1072/183 978/1057/183 990/1071/183 +f 1039/1073/184 1041/1074/184 1042/1075/184 +f 1044/1076/184 1046/1077/184 1043/1078/184 +f 1047/1079/184 1049/1080/184 1050/1081/184 +f 1048/1082/184 1052/1083/184 1049/1080/184 +f 1053/1084/185 1042/1075/185 1054/1085/185 +f 1040/1086/184 1046/1077/184 1041/1074/184 +f 1047/1079/184 1045/1087/184 1044/1076/184 +f 1051/1088/184 1054/1089/184 1052/1083/184 +f 1062/1090/184 1056/1091/184 1058/1092/184 +f 1064/1093/184 1066/1094/184 1063/1095/184 +f 1064/1093/184 1068/1096/184 1065/1097/184 +f 1069/1098/185 1068/1096/185 1067/1099/185 +f 1071/1100/184 1070/1101/184 1069/1102/184 +f 1073/1103/185 1072/1104/185 1071/1100/185 +f 1073/1103/185 1076/1105/185 1074/1106/185 +f 1075/1107/184 1078/1108/184 1076/1105/184 +f 1077/1109/185 1066/1094/185 1078/1108/185 +f 1127/1110/186 1129/1111/186 1130/1112/186 +f 1132/1113/186 1134/1114/186 1131/1115/186 +f 1135/1116/186 1137/1117/186 1138/1118/186 +f 1136/1119/186 1140/1120/186 1137/1117/186 +f 1141/1121/187 1130/1112/187 1142/1122/187 +f 1128/1123/186 1134/1114/186 1129/1111/186 +f 1135/1116/186 1133/1124/186 1132/1113/186 +f 1139/1125/186 1142/1126/186 1140/1120/186 +f 1150/1127/186 1144/1128/186 1146/1129/186 +f 1152/1130/186 1154/1131/186 1151/1132/186 +f 1152/1130/186 1156/1133/186 1153/1134/186 +f 1157/1135/187 1156/1133/187 1155/1136/187 +f 1159/1137/186 1158/1138/186 1157/1139/186 +f 1161/1140/187 1160/1141/187 1159/1137/187 +f 1161/1140/187 1164/1142/187 1162/1143/187 +f 1163/1144/186 1166/1145/186 1164/1142/186 +f 1165/1146/187 1154/1131/187 1166/1145/187 +f 1215/1147/188 1217/1148/188 1218/1149/188 +f 1220/1150/189 1222/1151/189 1219/1152/189 +f 1223/1153/188 1225/1154/188 1226/1155/188 +f 1224/1156/189 1228/1157/189 1225/1154/189 +f 1229/1158/188 1218/1149/188 1230/1159/188 +f 1216/1160/189 1222/1151/189 1217/1148/189 +f 1223/1153/189 1221/1161/189 1220/1150/189 +f 1227/1162/189 1230/1163/189 1228/1157/189 +f 1238/1164/188 1232/1165/188 1234/1166/188 +f 1240/1167/188 1242/1168/188 1239/1169/188 +f 1240/1167/189 1244/1170/189 1241/1171/189 +f 1245/1172/188 1244/1170/188 1243/1173/188 +f 1247/1174/189 1246/1175/189 1245/1176/189 +f 1249/1177/189 1248/1178/189 1247/1174/189 +f 1249/1177/188 1252/1179/188 1250/1180/188 +f 1251/1181/189 1254/1182/189 1252/1179/189 +f 1253/1183/188 1242/1168/188 1254/1182/188 +f 1303/1184/190 1305/1185/190 1306/1186/190 +f 1308/1187/191 1310/1188/191 1307/1189/191 +f 1311/1190/190 1313/1191/190 1314/1192/190 +f 1312/1193/191 1316/1194/191 1313/1191/191 +f 1317/1195/190 1306/1186/190 1318/1196/190 +f 1304/1197/191 1310/1188/191 1305/1185/191 +f 1311/1190/191 1309/1198/191 1308/1187/191 +f 1315/1199/191 1318/1200/191 1316/1194/191 +f 1326/1201/191 1320/1202/191 1322/1203/191 +f 1328/1204/190 1330/1205/190 1327/1206/190 +f 1328/1204/191 1332/1207/191 1329/1208/191 +f 1333/1209/190 1332/1207/190 1331/1210/190 +f 1335/1211/191 1334/1212/191 1333/1213/191 +f 1337/1214/190 1336/1215/190 1335/1211/190 +f 1337/1214/190 1340/1216/190 1338/1217/190 +f 1339/1218/191 1342/1219/191 1340/1216/191 +f 1341/1220/190 1330/1205/190 1342/1219/190 +f 1391/1221/192 1393/1222/192 1394/1223/192 +f 1396/1224/192 1398/1225/192 1395/1226/192 +f 1399/1227/192 1401/1228/192 1402/1229/192 +f 1400/1230/193 1404/1231/193 1401/1228/193 +f 1405/1232/193 1394/1223/193 1406/1233/193 +f 1392/1234/193 1398/1225/193 1393/1222/193 +f 1396/1224/193 1402/1229/193 1397/1235/193 +f 1403/1236/193 1406/1237/193 1404/1231/193 +f 1414/1238/192 1408/1239/192 1410/1240/192 +f 1416/1241/192 1418/1242/192 1415/1243/192 +f 1416/1241/193 1420/1244/193 1417/1245/193 +f 1421/1246/192 1420/1244/192 1419/1247/192 +f 1423/1248/193 1422/1249/193 1421/1250/193 +f 1425/1251/193 1424/1252/193 1423/1248/193 +f 1425/1251/192 1428/1253/192 1426/1254/192 +f 1427/1255/193 1430/1256/193 1428/1253/193 +f 1429/1257/192 1418/1242/192 1430/1256/192 +f 1479/1258/194 1481/1259/194 1482/1260/194 +f 1484/1261/195 1486/1262/195 1483/1263/195 +f 1487/1264/194 1489/1265/194 1490/1266/194 +f 1491/1267/195 1489/1265/195 1488/1268/195 +f 1493/1269/194 1482/1260/194 1494/1270/194 +f 1480/1271/195 1486/1262/195 1481/1259/195 +f 1487/1264/195 1485/1272/195 1484/1261/195 +f 1491/1267/195 1494/1273/195 1492/1274/195 +f 1502/1275/195 1496/1276/195 1498/1277/195 +f 1504/1278/194 1506/1279/194 1503/1280/194 +f 1504/1278/195 1508/1281/195 1505/1282/195 +f 1509/1283/194 1508/1281/194 1507/1284/194 +f 1511/1285/195 1510/1286/195 1509/1287/195 +f 1513/1288/194 1512/1289/194 1511/1285/194 +f 1513/1288/194 1516/1290/194 1514/1291/194 +f 1515/1292/195 1518/1293/195 1516/1290/195 +f 1517/1294/194 1506/1279/194 1518/1293/194 +f 1567/1295/196 1569/1296/196 1570/1297/196 +f 1571/1298/197 1570/1297/197 1569/1296/197 +f 1573/1299/198 1569/1296/198 1568/1300/198 +f 1573/1301/199 1567/1295/199 1574/1302/199 +f 1574/1303/200 1570/1297/200 1572/1304/200 +f 1576/1305/201 1578/1306/201 1575/1307/201 +f 1579/1308/202 1578/1306/202 1577/1309/202 +f 1581/1310/203 1577/1309/203 1576/1305/203 +f 1581/1311/204 1575/1307/204 1582/1312/204 +f 1582/1313/205 1578/1306/205 1580/1314/205 +f 1583/1315/206 1585/1316/206 1586/1317/206 +f 1587/1318/207 1586/1317/207 1585/1316/207 +f 1589/1319/208 1585/1316/208 1584/1320/208 +f 1589/1321/209 1583/1315/209 1590/1322/209 +f 1590/1323/210 1586/1317/210 1588/1324/210 +f 1591/1325/211 1593/1326/211 1594/1327/211 +f 1595/1328/212 1594/1327/212 1593/1326/212 +f 1597/1329/213 1593/1326/213 1592/1330/213 +f 1597/1331/214 1591/1325/214 1598/1332/214 +f 1598/1333/215 1594/1327/215 1596/1334/215 +f 1599/1335/216 1601/1336/216 1602/1337/216 +f 1603/1338/217 1602/1337/217 1601/1336/217 +f 1605/1339/218 1601/1336/218 1600/1340/218 +f 1605/1341/219 1599/1335/219 1606/1342/219 +f 1606/1343/220 1602/1337/220 1604/1344/220 +f 1608/1345/221 1610/1346/221 1607/1347/221 +f 1611/1348/222 1610/1346/222 1609/1349/222 +f 1613/1350/223 1609/1349/223 1608/1345/223 +f 1613/1351/224 1607/1347/224 1614/1352/224 +f 1614/1353/225 1610/1346/225 1612/1354/225 +f 1615/1355/226 1617/1356/226 1618/1357/226 +f 1619/1358/227 1618/1357/227 1617/1356/227 +f 1621/1359/228 1617/1356/228 1616/1360/228 +f 1621/1361/229 1615/1355/229 1622/1362/229 +f 1622/1363/230 1618/1357/230 1620/1364/230 +f 1624/1365/231 1626/1366/231 1623/1367/231 +f 1627/1368/232 1626/1366/232 1625/1369/232 +f 1629/1370/233 1625/1369/233 1624/1365/233 +f 1629/1371/234 1623/1367/234 1630/1372/234 +f 1630/1373/235 1626/1366/235 1628/1374/235 +f 1631/1375/236 1633/1376/236 1634/1377/236 +f 1635/1378/237 1634/1377/237 1633/1376/237 +f 1637/1379/238 1633/1376/238 1632/1380/238 +f 1637/1381/239 1631/1375/239 1638/1382/239 +f 1638/1383/240 1634/1377/240 1636/1384/240 +f 1639/1385/241 1641/1386/241 1642/1387/241 +f 1643/1388/242 1642/1387/242 1641/1386/242 +f 1645/1389/243 1641/1386/243 1640/1390/243 +f 1645/1391/244 1639/1385/244 1646/1392/244 +f 1646/1393/245 1642/1387/245 1644/1394/245 +f 1647/1395/246 1649/1396/246 1650/1397/246 +f 1651/1398/247 1650/1397/247 1649/1396/247 +f 1653/1399/248 1649/1396/248 1648/1400/248 +f 1653/1401/249 1647/1395/249 1654/1402/249 +f 1654/1403/250 1650/1397/250 1652/1404/250 +f 1655/1405/251 1657/1406/251 1658/1407/251 +f 1659/1408/252 1658/1407/252 1657/1406/252 +f 1661/1409/253 1657/1406/253 1656/1410/253 +f 1661/1411/254 1655/1405/254 1662/1412/254 +f 1662/1413/255 1658/1407/255 1660/1414/255 +f 1663/1415/256 1665/1416/256 1666/1417/256 +f 1667/1418/257 1666/1417/257 1665/1416/257 +f 1669/1419/258 1665/1416/258 1664/1420/258 +f 1669/1421/259 1663/1415/259 1670/1422/259 +f 1670/1423/260 1666/1417/260 1668/1424/260 +f 1672/1425/261 1674/1426/261 1671/1427/261 +f 1675/1428/262 1674/1426/262 1673/1429/262 +f 1677/1430/263 1673/1429/263 1672/1425/263 +f 1677/1431/264 1671/1427/264 1678/1432/264 +f 1678/1433/265 1674/1426/265 1676/1434/265 +f 1679/1435/266 1681/1436/266 1682/1437/266 +f 1683/1438/267 1682/1437/267 1681/1436/267 +f 1685/1439/268 1681/1436/268 1680/1440/268 +f 1685/1441/269 1679/1435/269 1686/1442/269 +f 1686/1443/270 1682/1437/270 1684/1444/270 +f 1691/1445/124 1692/1446/124 1757/1447/124 +f 297/423/130 1687/1448/130 298/421/130 +f 389/862/130 1687/1448/130 1688/1449/130 +f 651/1450/151 1768/1451/151 1756/1452/151 +f 1691/1453/130 1694/1454/130 1692/1455/130 +f 1757/1456/133 1694/1457/133 1758/1458/133 +f 1689/1459/132 1691/1460/132 1687/1461/132 +f 1758/1462/126 1694/1463/126 1693/1464/126 +f 1690/1465/126 1770/1466/126 1758/1467/126 +f 655/1468/125 1771/1469/125 1759/1470/125 +f 1760/1471/143 1763/1472/143 654/1473/143 +f 655/1474/151 389/862/151 1764/1475/151 +f 1688/1449/130 1765/1476/130 389/862/130 +f 1690/1477/130 390/845/130 1766/1478/130 +f 650/1479/143 1761/1480/143 390/845/143 +f 654/1481/151 1763/1482/151 239/859/151 +f 1775/1483/151 1774/1484/151 1776/1485/151 +f 1778/1486/130 1779/1487/130 1777/1488/130 +f 651/1489/143 227/1490/143 1762/1491/143 +f 1783/1492/143 1782/1493/143 1784/1494/143 +f 390/1495/132 1767/1027/132 1770/1031/132 +f 1768/1028/132 227/1496/132 401/1026/132 +f 239/526/132 1772/1497/132 391/527/132 +f 1788/1498/127 1790/1499/127 1787/1500/127 +f 1792/1501/130 1794/1502/130 1791/1503/130 +f 1796/1504/124 1798/1505/124 1795/1506/124 +f 1800/1507/126 1802/1508/126 1799/1509/126 +f 1799/1509/151 1793/1510/151 1792/1501/151 +f 1801/1511/125 1790/1499/125 1789/1512/125 +f 1787/1513/128 1797/1514/128 1788/1515/128 +f 1794/1502/143 1795/1506/143 1791/1503/143 +f 1799/1516/132 1803/1517/132 1804/1518/132 +f 1792/1519/132 1806/1520/132 1807/1521/132 +f 1791/1522/132 1808/1523/132 1809/1524/132 +f 1795/1525/132 1810/1526/132 1811/1527/132 +f 1798/1528/132 1812/1529/132 1813/1530/132 +f 1787/1531/132 1814/1532/132 1815/1533/132 +f 1790/1534/132 1816/1535/132 1817/1536/132 +f 1800/1537/132 1805/1538/132 1818/1539/132 +f 1826/1540/132 1830/1541/132 1834/1542/132 +f 1836/1543/133 1837/1544/133 1793/1545/133 +f 1839/1546/133 1835/1547/133 1802/1548/133 +f 1841/1549/133 1838/1550/133 1801/1551/133 +f 1843/1552/133 1840/1553/133 1789/1554/133 +f 1845/1555/133 1842/1556/133 1788/1557/133 +f 1847/1558/133 1844/1559/133 1797/1560/133 +f 1849/1561/133 1846/1562/133 1796/1563/133 +f 1850/1564/133 1848/1565/133 1794/1566/133 +f 231/325/124 227/1490/124 229/323/124 +f 227/1490/124 228/344/124 229/323/124 +f 237/332/125 232/1567/125 236/328/125 +f 232/1567/125 233/326/125 236/328/125 +f 950/1568/125 234/1569/125 235/327/125 +f 233/326/125 950/1568/125 235/327/125 +f 241/330/126 238/1570/126 235/327/126 +f 238/1570/126 239/859/126 236/328/126 +f 235/327/126 238/1570/126 236/328/126 +f 243/331/127 232/1567/127 237/332/127 +f 242/1571/128 231/325/128 243/335/128 +f 231/325/271 230/324/271 245/334/271 +f 230/324/272 244/1572/272 245/334/272 +f 243/336/129 245/653/129 233/337/129 +f 247/339/130 238/1570/130 241/330/130 +f 248/341/124 249/346/124 250/342/124 +f 228/344/124 252/418/124 250/342/124 +f 252/418/124 251/343/124 250/342/124 +f 248/341/131 253/1573/131 254/345/131 +f 256/347/124 257/362/124 258/348/124 +f 260/350/124 261/1574/124 262/351/124 +f 264/353/124 265/1575/124 266/354/124 +f 268/356/124 269/1576/124 270/357/124 +f 272/359/124 273/1577/124 274/360/124 +f 268/356/124 267/358/124 266/354/124 +f 267/358/124 271/361/124 262/351/124 +f 266/354/124 267/358/124 263/355/124 +f 271/361/124 274/360/124 255/349/124 +f 258/348/124 259/352/124 271/361/124 +f 259/352/124 262/351/124 271/361/124 +f 271/361/124 255/349/124 258/348/124 +f 272/359/124 270/357/124 261/1574/124 +f 270/357/124 269/1576/124 265/1575/124 +f 265/1575/124 264/353/124 270/357/124 +f 264/353/124 261/1574/124 270/357/124 +f 256/347/124 273/1577/124 272/359/124 +f 261/1574/124 260/350/124 272/359/124 +f 260/350/124 257/362/124 272/359/124 +f 263/363/127 275/367/127 276/364/127 +f 262/366/132 277/379/132 275/367/132 +f 257/369/130 278/398/130 279/370/130 +f 258/372/132 279/370/132 280/373/132 +f 282/375/124 283/389/124 284/376/124 +f 285/378/124 276/364/124 275/367/124 +f 279/370/124 278/398/124 286/380/124 +f 288/381/124 289/409/124 290/382/124 +f 266/384/132 282/375/132 281/377/132 +f 265/386/130 283/389/130 282/375/130 +f 269/388/133 284/376/133 283/389/133 +f 259/391/127 280/373/127 286/380/127 +f 264/393/133 276/364/133 285/378/133 +f 261/395/130 285/378/130 277/379/130 +f 260/397/133 286/380/133 278/398/133 +f 268/400/127 281/377/127 284/376/127 +f 256/402/133 289/409/133 288/381/133 +f 273/404/130 288/381/130 287/383/130 +f 274/406/132 287/383/132 290/382/132 +f 255/408/127 290/382/127 289/409/127 +f 235/327/133 291/413/133 292/411/133 +f 251/343/133 293/1578/133 294/414/133 +f 240/416/134 292/1579/134 246/340/134 +f 293/417/134 251/1580/134 252/418/134 +f 295/419/130 252/418/130 228/344/130 +f 298/421/135 299/425/135 300/422/135 +f 238/424/135 247/1581/135 299/425/135 +f 300/422/135 296/1582/135 228/426/135 +f 301/427/137 302/440/137 303/428/137 +f 306/430/136 307/441/136 308/431/136 +f 309/433/137 310/436/137 311/434/137 +f 310/436/136 313/442/136 314/437/136 +f 315/438/136 301/427/136 304/429/136 +f 302/440/136 305/432/136 308/431/136 +f 309/433/136 312/435/136 307/441/136 +f 313/442/137 315/1583/137 316/443/137 +f 324/444/136 317/1584/136 318/445/136 +f 318/445/136 319/1585/136 320/446/136 +f 320/446/136 321/1586/136 324/444/136 +f 321/1586/137 322/1587/137 324/444/137 +f 322/1587/136 323/1588/136 324/444/136 +f 326/447/137 327/451/137 328/448/137 +f 326/447/136 329/453/136 330/450/136 +f 331/452/136 332/1589/136 330/450/136 +f 333/454/137 334/458/137 332/455/137 +f 335/457/136 336/460/136 334/458/136 +f 335/457/136 337/461/136 338/459/136 +f 337/461/137 339/463/137 340/462/137 +f 339/463/136 325/449/136 328/448/136 +f 342/464/138 343/468/138 344/465/138 +f 345/467/273 346/1590/273 344/465/273 +f 347/469/140 345/1591/140 343/468/140 +f 347/470/141 342/464/141 341/466/141 +f 348/472/142 341/466/142 344/465/142 +f 350/474/132 351/1592/132 352/475/132 +f 360/479/132 353/1593/132 354/1594/132 +f 354/1594/132 355/1595/132 360/479/132 +f 355/1595/132 356/1596/132 360/479/132 +f 356/1596/132 357/1597/132 360/479/132 +f 357/1597/132 358/477/132 360/479/132 +f 349/476/132 352/1598/132 362/480/132 +f 363/482/132 361/481/132 362/483/132 +f 363/482/132 364/1599/132 366/485/132 +f 365/487/132 366/1600/132 368/488/132 +f 367/489/132 368/1601/132 370/490/132 +f 371/492/132 369/491/132 370/493/132 +f 371/492/132 372/1602/132 351/495/132 +f 373/496/132 374/1603/132 375/497/132 +f 377/499/132 378/1604/132 374/500/132 +f 380/502/132 378/1605/132 377/503/132 +f 382/505/132 380/1606/132 379/506/132 +f 384/508/132 382/1607/132 381/509/132 +f 385/511/132 386/1608/132 384/512/132 +f 387/514/132 388/1609/132 386/515/132 +f 376/517/132 375/1610/132 388/518/132 +f 668/520/133 669/878/133 1759/521/133 +f 1756/523/143 1768/1611/143 1767/524/143 +f 393/530/132 236/529/132 392/528/132 +f 236/529/132 239/526/132 392/528/132 +f 395/533/132 237/532/132 394/531/132 +f 237/532/132 236/529/132 394/531/132 +f 397/536/132 242/535/132 396/534/132 +f 242/535/132 237/532/132 396/534/132 +f 399/539/132 231/538/132 398/537/132 +f 231/538/132 242/535/132 398/537/132 +f 401/1026/132 227/1496/132 400/540/132 +f 227/1496/132 231/538/132 400/540/132 +f 1758/541/130 1770/1612/130 1769/542/130 +f 409/1613/124 402/1614/124 403/544/124 +f 403/544/124 404/1615/124 405/545/124 +f 405/545/124 406/1616/124 407/546/124 +f 407/546/124 408/1617/124 409/1613/124 +f 409/1613/124 403/544/124 407/546/124 +f 272/359/132 410/1618/132 411/547/132 +f 271/361/127 412/1619/127 410/548/127 +f 267/358/133 413/1620/133 412/549/133 +f 270/357/130 411/1621/130 413/550/130 +f 421/553/126 414/1622/126 415/1623/126 +f 415/1623/126 416/1624/126 417/551/126 +f 417/551/126 418/1625/126 419/552/126 +f 419/552/126 420/1626/126 421/553/126 +f 421/553/126 415/1623/126 417/551/126 +f 421/554/144 420/563/144 404/555/144 +f 419/557/145 418/564/145 406/558/145 +f 415/560/146 414/568/146 402/561/146 +f 420/563/147 419/557/147 405/559/147 +f 418/564/148 417/1627/148 407/565/148 +f 416/566/149 415/560/149 409/562/149 +f 414/568/150 421/554/150 403/556/150 +f 423/569/132 424/577/132 425/570/132 +f 427/572/133 428/576/133 429/573/133 +f 423/575/125 429/581/125 428/576/125 +f 425/570/143 427/572/143 426/578/143 +f 424/577/151 428/576/151 427/572/151 +f 422/580/128 426/1628/128 429/581/128 +f 431/582/132 432/590/132 433/583/132 +f 435/585/133 436/589/133 437/586/133 +f 431/588/143 437/1629/143 436/589/143 +f 433/583/125 435/585/125 434/591/125 +f 432/590/128 436/589/128 435/585/128 +f 430/592/151 434/591/151 437/593/151 +f 438/595/132 439/1630/132 440/596/132 +f 442/598/133 443/604/133 444/599/133 +f 439/601/128 445/606/128 444/599/128 +f 441/597/151 443/604/151 442/602/151 +f 440/596/125 444/599/125 443/604/125 +f 438/605/143 442/1631/143 445/606/143 +f 446/607/132 447/1632/132 448/608/132 +f 450/610/133 451/616/133 452/611/133 +f 447/613/151 453/1633/151 452/611/151 +f 449/609/128 451/616/128 450/614/128 +f 448/608/143 452/611/143 451/616/143 +f 446/615/125 450/614/125 453/617/125 +f 455/619/132 456/627/132 457/620/132 +f 459/622/152 460/1634/152 461/623/152 +f 455/625/125 461/630/125 460/626/125 +f 457/620/143 459/622/143 458/624/143 +f 456/627/151 460/626/151 459/622/151 +f 455/625/128 454/1635/128 458/629/128 +f 300/631/125 462/637/125 463/632/125 +f 299/634/128 247/1636/128 464/635/128 +f 299/634/127 465/636/127 462/637/127 +f 465/636/135 464/1637/135 463/638/135 +f 467/639/126 468/1638/126 469/640/126 +f 470/642/124 471/646/124 472/643/124 +f 475/645/153 469/640/153 468/1638/153 +f 468/1638/153 471/646/153 475/645/153 +f 471/646/153 470/642/153 474/647/153 +f 474/647/154 476/650/154 477/648/154 +f 470/649/155 473/1639/155 476/650/155 +f 469/651/156 475/645/156 477/648/156 +f 245/653/127 244/1640/127 950/654/127 +f 479/655/157 480/661/157 481/656/157 +f 485/660/126 482/1641/126 483/658/126 +f 483/658/126 484/1642/126 480/659/126 +f 480/659/126 479/1643/126 485/660/126 +f 480/661/146 484/663/146 486/662/146 +f 484/663/158 483/1644/158 487/664/158 +f 486/667/124 487/1645/124 478/665/124 +f 487/1645/124 488/1646/124 478/665/124 +f 488/1646/124 489/1647/124 478/665/124 +f 491/668/127 492/672/127 493/669/127 +f 491/668/126 494/1648/126 495/671/126 +f 493/669/124 496/1649/124 497/673/124 +f 499/674/133 500/678/133 501/675/133 +f 503/677/126 501/675/126 500/678/126 +f 505/680/124 499/674/124 498/676/124 +f 502/682/130 500/678/130 499/674/130 +f 504/684/127 498/676/127 501/675/127 +f 507/686/133 508/690/133 509/687/133 +f 511/689/127 509/687/127 508/690/127 +f 513/692/130 507/686/130 506/688/130 +f 510/694/126 508/690/126 507/686/126 +f 512/696/124 506/688/124 509/687/124 +f 515/698/127 516/707/127 517/699/127 +f 519/701/159 520/708/159 521/702/159 +f 523/704/160 524/710/160 525/705/160 +f 516/707/161 523/704/161 522/706/161 +f 520/708/162 515/1650/162 514/709/162 +f 524/710/130 519/701/130 518/703/130 +f 522/713/126 525/1651/126 514/711/126 +f 525/1651/126 518/1652/126 514/711/126 +f 518/1652/126 521/1653/126 514/711/126 +f 527/714/130 528/740/130 529/715/130 +f 531/717/127 532/732/127 533/718/127 +f 534/720/159 535/1654/159 528/721/159 +f 526/723/160 529/736/160 537/724/160 +f 536/726/161 537/1655/161 532/727/161 +f 530/729/162 533/739/162 535/730/162 +f 532/732/124 538/738/124 539/733/124 +f 528/721/124 535/1654/124 540/734/124 +f 529/736/124 542/741/124 543/737/124 +f 532/727/124 537/1655/124 543/737/124 +f 533/739/124 539/743/124 540/734/124 +f 528/740/124 541/735/124 542/741/124 +f 543/737/161 544/748/161 545/742/161 +f 539/743/162 546/1656/162 547/744/162 +f 541/735/130 548/747/130 549/745/130 +f 538/738/127 545/742/127 546/746/127 +f 540/734/159 547/744/159 548/747/159 +f 542/741/160 549/745/160 544/748/160 +f 547/744/126 550/762/126 551/749/126 +f 548/747/126 551/758/126 552/750/126 +f 544/748/126 549/745/126 552/751/126 +f 544/748/126 553/765/126 554/753/126 +f 545/742/126 554/760/126 555/754/126 +f 547/744/126 546/1656/126 555/755/126 +f 555/755/162 556/1657/162 557/757/162 +f 551/758/130 558/769/130 559/759/130 +f 554/760/127 560/774/127 556/761/127 +f 550/762/159 557/767/159 558/763/159 +f 552/751/160 559/1658/160 561/764/160 +f 553/765/161 561/772/161 560/766/161 +f 557/767/124 562/777/124 563/768/124 +f 558/769/124 563/768/124 564/770/124 +f 561/764/124 559/1658/124 564/770/124 +f 561/772/124 565/771/124 566/773/124 +f 560/774/124 566/773/124 567/775/124 +f 557/757/124 556/1657/124 567/776/124 +f 563/768/130 568/780/130 569/778/130 +f 566/773/127 570/782/127 571/779/127 +f 562/777/159 572/783/159 568/780/159 +f 564/770/160 569/778/160 573/781/160 +f 565/771/161 573/781/161 570/782/161 +f 567/776/162 571/1659/162 572/783/162 +f 569/778/163 574/1660/163 575/784/163 +f 573/781/164 575/1661/164 576/785/164 +f 572/783/165 571/1659/165 577/786/165 +f 568/780/166 579/1662/166 574/788/166 +f 570/782/167 576/1663/167 577/789/167 +f 568/780/168 572/783/168 578/790/168 +f 575/794/126 574/1664/126 577/792/126 +f 574/1664/126 579/1665/126 577/792/126 +f 579/1665/126 578/1666/126 577/792/126 +f 581/795/130 582/801/130 583/796/130 +f 588/800/124 584/814/124 585/798/124 +f 585/798/124 586/1667/124 587/799/124 +f 582/801/133 589/1668/133 590/802/133 +f 581/795/126 591/1669/126 589/803/126 +f 583/796/124 590/1670/124 592/804/124 +f 594/805/169 595/813/169 596/806/169 +f 593/808/124 596/1671/124 598/809/124 +f 597/810/129 598/809/129 600/811/129 +f 594/805/126 599/812/126 600/811/126 +f 584/814/170 601/819/170 602/815/170 +f 587/816/133 603/821/133 604/817/133 +f 605/823/126 602/815/126 603/821/126 +f 602/815/126 601/819/126 603/821/126 +f 602/815/169 605/1672/169 586/822/169 +f 605/823/171 603/821/171 587/816/171 +f 584/814/129 588/1673/129 604/825/129 +f 607/826/169 608/1674/169 609/827/169 +f 610/829/126 611/834/126 608/830/126 +f 613/832/124 606/828/124 609/827/124 +f 612/833/171 609/827/171 608/830/171 +f 610/829/170 607/831/170 606/835/170 +f 615/837/124 623/1675/124 624/838/124 +f 626/840/172 627/1676/172 616/841/172 +f 623/843/173 632/1677/173 633/844/173 +f 390/845/130 1690/1477/130 1689/846/130 +f 646/847/143 647/1678/143 648/848/143 +f 1759/850/151 1771/1679/151 1772/851/151 +f 297/423/143 228/344/143 652/853/143 +f 228/344/143 227/1490/143 646/847/143 +f 227/1490/143 651/1489/143 647/1678/143 +f 647/1678/143 646/847/143 227/1490/143 +f 650/1479/143 390/845/143 648/848/143 +f 390/845/143 297/423/143 648/848/143 +f 297/423/143 653/854/143 649/849/143 +f 1755/855/128 1767/1680/128 1761/856/128 +f 656/858/151 654/1481/151 239/859/151 +f 238/860/151 298/421/151 657/861/151 +f 389/862/151 655/1474/151 657/861/151 +f 656/863/174 657/887/174 658/864/174 +f 646/866/151 660/1681/151 661/867/151 +f 647/869/175 662/1682/175 663/870/175 +f 661/867/143 660/1681/143 665/872/143 +f 666/874/133 667/1683/133 1756/875/133 +f 659/877/151 658/864/151 669/878/151 +f 649/879/176 665/872/176 660/880/176 +f 647/884/151 651/1684/151 1756/882/151 +f 1756/882/151 667/1683/151 662/883/151 +f 653/885/177 652/1685/177 661/886/177 +f 653/885/128 664/873/128 665/872/128 +f 1759/889/125 669/878/125 658/864/125 +f 658/864/125 657/887/125 1759/889/125 +f 656/892/143 659/877/143 1760/890/143 +f 659/877/143 668/520/143 1760/890/143 +f 670/893/124 671/1686/124 672/894/124 +f 674/896/178 675/906/178 672/897/178 +f 677/899/126 678/942/126 679/900/126 +f 670/893/179 673/895/179 681/902/179 +f 679/900/126 678/942/126 682/904/126 +f 675/906/180 684/948/180 685/907/180 +f 687/911/171 670/893/171 680/903/171 +f 689/917/171 690/949/171 677/899/171 +f 693/920/133 687/911/133 686/910/133 +f 695/922/132 674/909/132 671/923/132 +f 697/925/126 688/916/126 676/915/126 +f 699/927/124 691/918/124 689/917/124 +f 694/929/124 671/912/124 687/911/124 +f 698/928/133 689/917/133 688/916/133 +f 696/926/132 676/915/132 691/930/132 +f 692/921/126 686/910/126 674/909/126 +f 676/901/178 679/900/178 700/932/178 +f 680/903/126 681/902/126 675/906/126 +f 702/934/130 703/954/130 704/935/130 +f 662/883/143 667/1683/143 666/874/143 +f 650/1687/128 648/871/128 1755/937/128 +f 648/871/128 663/870/128 1755/937/128 +f 1757/938/124 1769/1688/124 1765/939/124 +f 705/941/181 706/944/181 682/904/181 +f 700/943/124 707/1689/124 706/944/124 +f 672/894/124 685/1690/124 708/945/124 +f 679/900/180 683/905/180 707/946/180 +f 675/906/126 681/902/126 709/947/126 +f 673/895/181 708/945/181 709/947/181 +f 690/949/124 691/1691/124 700/943/124 +f 690/949/179 705/941/179 678/942/179 +f 711/950/161 712/955/161 713/951/161 +f 714/953/132 715/958/132 703/954/132 +f 712/955/127 716/1692/127 717/956/127 +f 718/957/127 719/963/127 715/958/127 +f 716/959/162 720/964/162 721/960/162 +f 701/962/133 704/1693/133 719/963/133 +f 720/964/159 722/969/159 723/965/159 +f 716/968/126 712/1694/126 711/1695/126 +f 711/1695/126 724/1696/126 716/968/126 +f 724/1696/126 722/966/126 716/968/126 +f 722/969/130 724/971/130 725/970/130 +f 724/971/160 711/950/160 710/952/160 +f 725/973/124 710/1697/124 713/974/124 +f 713/974/124 717/1698/124 721/1699/124 +f 721/1699/124 723/972/124 713/974/124 +f 719/963/125 726/979/125 727/975/125 +f 704/978/133 728/1700/133 729/981/133 +f 728/982/127 730/1002/127 731/983/127 +f 726/979/126 729/981/126 732/985/126 +f 727/975/132 732/985/132 733/986/132 +f 703/977/124 733/986/124 728/987/124 +f 734/989/169 735/992/169 733/986/169 +f 737/994/179 738/1004/179 739/995/179 +f 729/984/126 731/983/126 737/994/126 +f 734/989/130 737/994/130 736/996/130 +f 735/992/124 736/996/124 730/997/124 +f 730/997/124 736/996/124 739/995/124 +f 730/1002/178 742/1701/178 740/1003/178 +f 731/983/126 740/1003/126 738/1004/126 +f 741/999/171 743/1005/171 739/995/171 +f 743/1005/124 744/1015/124 745/1006/124 +f 745/1009/132 747/1702/132 748/1010/132 +f 742/1012/132 745/1703/132 749/1013/132 +f 740/998/126 749/1013/126 750/1014/126 +f 741/999/133 750/1014/133 744/1015/133 +f 746/1011/125 751/1017/125 750/1014/125 +f 744/1018/130 752/1022/130 747/1020/130 +f 751/1017/133 753/1023/133 752/1022/133 +f 746/1011/127 748/1010/127 753/1023/127 +f 391/527/132 1772/1497/132 1771/1024/132 +f 401/1026/132 1785/1032/132 1767/1027/132 +f 1765/1704/132 1769/1705/132 389/1030/132 +f 1769/1705/132 1786/1025/132 1771/1024/132 +f 389/1030/132 1769/1705/132 1771/1024/132 +f 1786/1025/132 1769/1705/132 1770/1031/132 +f 592/1033/127 590/1706/127 589/1034/127 +f 951/1036/183 952/1049/183 953/1037/183 +f 956/1039/182 957/1050/182 958/1040/182 +f 959/1042/182 960/1045/182 961/1043/182 +f 960/1045/182 963/1051/182 964/1046/182 +f 965/1047/182 951/1036/182 954/1038/182 +f 952/1049/182 955/1041/182 958/1040/182 +f 956/1039/182 959/1042/182 962/1044/182 +f 963/1051/183 965/1707/183 966/1052/183 +f 974/1053/182 967/1708/182 968/1054/182 +f 968/1054/183 969/1709/183 970/1055/183 +f 970/1055/183 971/1710/183 972/1711/183 +f 972/1711/182 973/1712/182 970/1055/182 +f 973/1712/182 974/1053/182 970/1055/182 +f 976/1056/183 977/1060/183 978/1057/183 +f 976/1056/182 979/1062/182 980/1059/182 +f 981/1061/182 982/1713/182 980/1059/182 +f 983/1063/183 984/1067/183 982/1064/183 +f 983/1063/182 985/1068/182 986/1066/182 +f 985/1068/183 987/1070/183 988/1069/183 +f 987/1070/183 989/1072/183 990/1071/183 +f 989/1072/182 975/1058/182 978/1057/182 +f 1039/1073/184 1040/1086/184 1041/1074/184 +f 1044/1076/184 1045/1087/184 1046/1077/184 +f 1047/1079/185 1048/1082/185 1049/1080/185 +f 1048/1082/184 1051/1088/184 1052/1083/184 +f 1053/1084/184 1039/1073/184 1042/1075/184 +f 1040/1086/184 1043/1078/184 1046/1077/184 +f 1047/1079/184 1050/1081/184 1045/1087/184 +f 1051/1088/185 1053/1714/185 1054/1089/185 +f 1062/1090/184 1055/1715/184 1056/1091/184 +f 1056/1091/185 1057/1716/185 1058/1092/185 +f 1058/1092/184 1059/1717/184 1062/1090/184 +f 1059/1717/185 1060/1718/185 1062/1090/185 +f 1060/1718/184 1061/1719/184 1062/1090/184 +f 1064/1093/185 1065/1097/185 1066/1094/185 +f 1064/1093/184 1067/1099/184 1068/1096/184 +f 1069/1098/184 1070/1720/184 1068/1096/184 +f 1071/1100/185 1072/1104/185 1070/1101/185 +f 1073/1103/184 1074/1106/184 1072/1104/184 +f 1073/1103/184 1075/1107/184 1076/1105/184 +f 1075/1107/185 1077/1109/185 1078/1108/185 +f 1077/1109/184 1063/1095/184 1066/1094/184 +f 1127/1110/187 1128/1123/187 1129/1111/187 +f 1132/1113/186 1133/1124/186 1134/1114/186 +f 1135/1116/187 1136/1119/187 1137/1117/187 +f 1136/1119/186 1139/1125/186 1140/1120/186 +f 1141/1121/186 1127/1110/186 1130/1112/186 +f 1128/1123/186 1131/1115/186 1134/1114/186 +f 1135/1116/186 1138/1118/186 1133/1124/186 +f 1139/1125/187 1141/1721/187 1142/1126/187 +f 1150/1127/186 1143/1722/186 1144/1128/186 +f 1144/1128/187 1145/1723/187 1146/1129/187 +f 1146/1129/186 1147/1724/186 1150/1127/186 +f 1147/1724/187 1148/1725/187 1150/1127/187 +f 1148/1725/186 1149/1726/186 1150/1127/186 +f 1152/1130/187 1153/1134/187 1154/1131/187 +f 1152/1130/186 1155/1136/186 1156/1133/186 +f 1157/1135/186 1158/1727/186 1156/1133/186 +f 1159/1137/187 1160/1141/187 1158/1138/187 +f 1161/1140/186 1162/1143/186 1160/1141/186 +f 1161/1140/187 1163/1144/187 1164/1142/187 +f 1163/1144/187 1165/1146/187 1166/1145/187 +f 1165/1146/186 1151/1132/186 1154/1131/186 +f 1215/1147/189 1216/1160/189 1217/1148/189 +f 1220/1150/189 1221/1161/189 1222/1151/189 +f 1223/1153/189 1224/1156/189 1225/1154/189 +f 1224/1156/189 1227/1162/189 1228/1157/189 +f 1229/1158/189 1215/1147/189 1218/1149/189 +f 1216/1160/189 1219/1152/189 1222/1151/189 +f 1223/1153/189 1226/1155/189 1221/1161/189 +f 1227/1162/188 1229/1728/188 1230/1163/188 +f 1238/1164/188 1231/1729/188 1232/1165/188 +f 1232/1165/188 1233/1730/188 1234/1166/188 +f 1234/1166/189 1235/1731/189 1238/1164/189 +f 1235/1731/188 1236/1732/188 1238/1164/188 +f 1236/1732/189 1237/1733/189 1238/1164/189 +f 1240/1167/188 1241/1171/188 1242/1168/188 +f 1240/1167/188 1243/1173/188 1244/1170/188 +f 1245/1172/189 1246/1734/189 1244/1170/189 +f 1247/1174/188 1248/1178/188 1246/1175/188 +f 1249/1177/189 1250/1180/189 1248/1178/189 +f 1249/1177/189 1251/1181/189 1252/1179/189 +f 1251/1181/188 1253/1183/188 1254/1182/188 +f 1253/1183/189 1239/1169/189 1242/1168/189 +f 1303/1184/191 1304/1197/191 1305/1185/191 +f 1308/1187/191 1309/1198/191 1310/1188/191 +f 1311/1190/191 1312/1193/191 1313/1191/191 +f 1312/1193/191 1315/1199/191 1316/1194/191 +f 1317/1195/191 1303/1184/191 1306/1186/191 +f 1304/1197/191 1307/1189/191 1310/1188/191 +f 1311/1190/191 1314/1192/191 1309/1198/191 +f 1315/1199/190 1317/1735/190 1318/1200/190 +f 1326/1201/190 1319/1736/190 1320/1202/190 +f 1320/1202/190 1321/1737/190 1322/1203/190 +f 1322/1203/191 1323/1738/191 1326/1201/191 +f 1323/1738/190 1324/1739/190 1326/1201/190 +f 1324/1739/191 1325/1740/191 1326/1201/191 +f 1328/1204/190 1329/1208/190 1330/1205/190 +f 1328/1204/190 1331/1210/190 1332/1207/190 +f 1333/1209/191 1334/1741/191 1332/1207/191 +f 1335/1211/190 1336/1215/190 1334/1212/190 +f 1337/1214/191 1338/1217/191 1336/1215/191 +f 1337/1214/191 1339/1218/191 1340/1216/191 +f 1339/1218/190 1341/1220/190 1342/1219/190 +f 1341/1220/191 1327/1206/191 1330/1205/191 +f 1391/1221/193 1392/1234/193 1393/1222/193 +f 1396/1224/193 1397/1235/193 1398/1225/193 +f 1399/1227/193 1400/1230/193 1401/1228/193 +f 1400/1230/193 1403/1236/193 1404/1231/193 +f 1405/1232/193 1391/1221/193 1394/1223/193 +f 1392/1234/193 1395/1226/193 1398/1225/193 +f 1396/1224/193 1399/1227/193 1402/1229/193 +f 1403/1236/192 1405/1742/192 1406/1237/192 +f 1414/1238/192 1407/1743/192 1408/1239/192 +f 1408/1239/192 1409/1744/192 1410/1240/192 +f 1410/1240/193 1411/1745/193 1412/1746/193 +f 1412/1746/192 1413/1747/192 1410/1240/192 +f 1413/1747/193 1414/1238/193 1410/1240/193 +f 1416/1241/192 1417/1245/192 1418/1242/192 +f 1416/1241/192 1419/1247/192 1420/1244/192 +f 1421/1246/193 1422/1748/193 1420/1244/193 +f 1423/1248/192 1424/1252/192 1422/1249/192 +f 1425/1251/193 1426/1254/193 1424/1252/193 +f 1425/1251/193 1427/1255/193 1428/1253/193 +f 1427/1255/192 1429/1257/192 1430/1256/192 +f 1429/1257/193 1415/1243/193 1418/1242/193 +f 1479/1258/195 1480/1271/195 1481/1259/195 +f 1484/1261/195 1485/1272/195 1486/1262/195 +f 1487/1264/195 1488/1268/195 1489/1265/195 +f 1491/1267/195 1492/1274/195 1489/1265/195 +f 1493/1269/195 1479/1258/195 1482/1260/195 +f 1480/1271/195 1483/1263/195 1486/1262/195 +f 1487/1264/195 1490/1266/195 1485/1272/195 +f 1491/1267/194 1493/1749/194 1494/1273/194 +f 1502/1275/194 1495/1750/194 1496/1276/194 +f 1496/1276/194 1497/1751/194 1498/1277/194 +f 1498/1277/195 1499/1752/195 1502/1275/195 +f 1499/1752/194 1500/1753/194 1502/1275/194 +f 1500/1753/195 1501/1754/195 1502/1275/195 +f 1504/1278/194 1505/1282/194 1506/1279/194 +f 1504/1278/194 1507/1284/194 1508/1281/194 +f 1509/1283/195 1510/1755/195 1508/1281/195 +f 1511/1285/194 1512/1289/194 1510/1286/194 +f 1513/1288/195 1514/1291/195 1512/1289/195 +f 1513/1288/195 1515/1292/195 1516/1290/195 +f 1515/1292/194 1517/1294/194 1518/1293/194 +f 1517/1294/195 1503/1280/195 1506/1279/195 +f 1567/1295/196 1568/1300/196 1569/1296/196 +f 1571/1298/274 1572/1756/274 1570/1297/274 +f 1573/1299/198 1571/1757/198 1569/1296/198 +f 1573/1301/199 1568/1300/199 1567/1295/199 +f 1574/1303/200 1567/1295/200 1570/1297/200 +f 1576/1305/201 1577/1309/201 1578/1306/201 +f 1579/1308/275 1580/1758/275 1578/1306/275 +f 1581/1310/203 1579/1759/203 1577/1309/203 +f 1581/1311/204 1576/1305/204 1575/1307/204 +f 1582/1313/205 1575/1307/205 1578/1306/205 +f 1583/1315/206 1584/1320/206 1585/1316/206 +f 1587/1318/276 1588/1760/276 1586/1317/276 +f 1589/1319/208 1587/1761/208 1585/1316/208 +f 1589/1321/209 1584/1320/209 1583/1315/209 +f 1590/1323/210 1583/1315/210 1586/1317/210 +f 1591/1325/211 1592/1330/211 1593/1326/211 +f 1595/1328/277 1596/1762/277 1594/1327/277 +f 1597/1329/213 1595/1763/213 1593/1326/213 +f 1597/1331/214 1592/1330/214 1591/1325/214 +f 1598/1333/215 1591/1325/215 1594/1327/215 +f 1599/1335/216 1600/1340/216 1601/1336/216 +f 1603/1338/278 1604/1764/278 1602/1337/278 +f 1605/1339/218 1603/1765/218 1601/1336/218 +f 1605/1341/219 1600/1340/219 1599/1335/219 +f 1606/1343/220 1599/1335/220 1602/1337/220 +f 1608/1345/221 1609/1349/221 1610/1346/221 +f 1611/1348/279 1612/1766/279 1610/1346/279 +f 1613/1350/223 1611/1767/223 1609/1349/223 +f 1613/1351/224 1608/1345/224 1607/1347/224 +f 1614/1353/225 1607/1347/225 1610/1346/225 +f 1615/1355/226 1616/1360/226 1617/1356/226 +f 1619/1358/280 1620/1768/280 1618/1357/280 +f 1621/1359/228 1619/1769/228 1617/1356/228 +f 1621/1361/229 1616/1360/229 1615/1355/229 +f 1622/1363/230 1615/1355/230 1618/1357/230 +f 1624/1365/231 1625/1369/231 1626/1366/231 +f 1627/1368/281 1628/1770/281 1626/1366/281 +f 1629/1370/233 1627/1771/233 1625/1369/233 +f 1629/1371/234 1624/1365/234 1623/1367/234 +f 1630/1373/235 1623/1367/235 1626/1366/235 +f 1631/1375/236 1632/1380/236 1633/1376/236 +f 1635/1378/282 1636/1772/282 1634/1377/282 +f 1637/1379/238 1635/1773/238 1633/1376/238 +f 1637/1381/239 1632/1380/239 1631/1375/239 +f 1638/1383/240 1631/1375/240 1634/1377/240 +f 1639/1385/241 1640/1390/241 1641/1386/241 +f 1643/1388/283 1644/1774/283 1642/1387/283 +f 1645/1389/243 1643/1775/243 1641/1386/243 +f 1645/1391/244 1640/1390/244 1639/1385/244 +f 1646/1393/245 1639/1385/245 1642/1387/245 +f 1647/1395/246 1648/1400/246 1649/1396/246 +f 1651/1398/284 1652/1776/284 1650/1397/284 +f 1653/1399/248 1651/1777/248 1649/1396/248 +f 1653/1401/249 1648/1400/249 1647/1395/249 +f 1654/1403/250 1647/1395/250 1650/1397/250 +f 1655/1405/251 1656/1410/251 1657/1406/251 +f 1659/1408/285 1660/1778/285 1658/1407/285 +f 1661/1409/253 1659/1779/253 1657/1406/253 +f 1661/1411/254 1656/1410/254 1655/1405/254 +f 1662/1413/255 1655/1405/255 1658/1407/255 +f 1663/1415/256 1664/1420/256 1665/1416/256 +f 1667/1418/286 1668/1780/286 1666/1417/286 +f 1669/1419/258 1667/1781/258 1665/1416/258 +f 1669/1421/259 1664/1420/259 1663/1415/259 +f 1670/1423/260 1663/1415/260 1666/1417/260 +f 1672/1425/261 1673/1429/261 1674/1426/261 +f 1675/1428/287 1676/1782/287 1674/1426/287 +f 1677/1430/263 1675/1783/263 1673/1429/263 +f 1677/1431/264 1672/1425/264 1671/1427/264 +f 1678/1433/265 1671/1427/265 1674/1426/265 +f 1679/1435/266 1680/1440/266 1681/1436/266 +f 1683/1438/288 1684/1784/288 1682/1437/288 +f 1685/1439/268 1683/1785/268 1681/1436/268 +f 1685/1441/269 1680/1440/269 1679/1435/269 +f 1686/1443/270 1679/1435/270 1682/1437/270 +f 1757/1447/124 1688/1786/124 1687/1787/124 +f 1687/1787/124 1691/1445/124 1757/1447/124 +f 297/423/130 1689/846/130 1687/1448/130 +f 389/862/130 298/421/130 1687/1448/130 +f 651/1450/151 1762/1788/151 1768/1451/151 +f 1691/1453/130 1693/1789/130 1694/1454/130 +f 1757/1456/133 1692/1790/133 1694/1457/133 +f 1689/1459/132 1693/1791/132 1691/1460/132 +f 1693/1464/126 1689/1792/126 1758/1462/126 +f 1689/1792/126 1690/1793/126 1758/1462/126 +f 1690/1465/126 1766/1794/126 1770/1466/126 +f 655/1468/125 1764/1795/125 1771/1469/125 +f 1760/1471/143 1772/1796/143 1763/1472/143 +f 1775/1483/151 1773/1797/151 1774/1484/151 +f 1778/1486/130 1780/1798/130 1779/1487/130 +f 1783/1492/143 1781/1799/143 1782/1493/143 +f 1785/1032/132 1770/1031/132 1767/1027/132 +f 1770/1031/132 1766/1800/132 390/1495/132 +f 390/1495/132 1761/1801/132 1767/1027/132 +f 1768/1028/132 1762/1802/132 227/1496/132 +f 239/526/132 1763/1803/132 1772/1497/132 +f 1788/1498/127 1789/1512/127 1790/1499/127 +f 1792/1501/130 1793/1510/130 1794/1502/130 +f 1796/1504/124 1797/1514/124 1798/1505/124 +f 1800/1507/126 1801/1511/126 1802/1508/126 +f 1799/1509/151 1802/1508/151 1793/1510/151 +f 1801/1511/125 1800/1507/125 1790/1499/125 +f 1787/1513/128 1798/1505/128 1797/1514/128 +f 1794/1502/143 1796/1504/143 1795/1506/143 +f 1805/1538/132 1800/1537/132 1804/1518/132 +f 1800/1537/132 1799/1516/132 1804/1518/132 +f 1803/1517/132 1799/1516/132 1807/1521/132 +f 1799/1516/132 1792/1519/132 1807/1521/132 +f 1806/1520/132 1792/1519/132 1809/1524/132 +f 1792/1519/132 1791/1522/132 1809/1524/132 +f 1808/1523/132 1791/1522/132 1811/1527/132 +f 1791/1522/132 1795/1525/132 1811/1527/132 +f 1810/1526/132 1795/1525/132 1813/1530/132 +f 1795/1525/132 1798/1528/132 1813/1530/132 +f 1812/1529/132 1798/1528/132 1815/1533/132 +f 1798/1528/132 1787/1531/132 1815/1533/132 +f 1814/1532/132 1787/1531/132 1817/1536/132 +f 1787/1531/132 1790/1534/132 1817/1536/132 +f 1816/1535/132 1790/1534/132 1818/1539/132 +f 1790/1534/132 1800/1537/132 1818/1539/132 +f 1834/1542/132 1819/1804/132 1820/1805/132 +f 1820/1805/132 1821/1806/132 1822/1807/132 +f 1822/1807/132 1823/1808/132 1824/1809/132 +f 1824/1809/132 1825/1810/132 1826/1540/132 +f 1826/1540/132 1827/1811/132 1828/1812/132 +f 1828/1812/132 1829/1813/132 1830/1541/132 +f 1830/1541/132 1831/1814/132 1832/1815/132 +f 1832/1815/132 1833/1816/132 1834/1542/132 +f 1834/1542/132 1820/1805/132 1826/1540/132 +f 1820/1805/132 1822/1807/132 1826/1540/132 +f 1822/1807/132 1824/1809/132 1826/1540/132 +f 1826/1540/132 1828/1812/132 1830/1541/132 +f 1830/1541/132 1832/1815/132 1834/1542/132 +f 1793/1545/133 1802/1548/133 1836/1543/133 +f 1802/1548/133 1835/1547/133 1836/1543/133 +f 1802/1548/133 1801/1551/133 1839/1546/133 +f 1801/1551/133 1838/1550/133 1839/1546/133 +f 1801/1551/133 1789/1554/133 1841/1549/133 +f 1789/1554/133 1840/1553/133 1841/1549/133 +f 1789/1554/133 1788/1557/133 1843/1552/133 +f 1788/1557/133 1842/1556/133 1843/1552/133 +f 1788/1557/133 1797/1560/133 1845/1555/133 +f 1797/1560/133 1844/1559/133 1845/1555/133 +f 1797/1560/133 1796/1563/133 1847/1558/133 +f 1796/1563/133 1846/1562/133 1847/1558/133 +f 1796/1563/133 1794/1566/133 1849/1561/133 +f 1794/1566/133 1848/1565/133 1849/1561/133 +f 1794/1566/133 1793/1545/133 1850/1564/133 +f 1793/1545/133 1837/1544/133 1850/1564/133 +s 1 +f 754/1817/289 756/1818/290 757/1819/291 +f 759/1820/149 761/1821/292 758/1822/293 +f 763/1823/294 765/1824/295 762/1825/296 +f 766/1826/297 764/1827/298 763/1823/294 +f 768/1828/147 757/1819/291 769/1829/299 +f 755/1830/300 761/1821/292 756/1818/290 +f 759/1820/149 765/1824/295 760/1831/301 +f 768/1832/147 767/1833/302 766/1826/297 +f 765/1824/295 770/1834/303 771/1835/304 +f 760/1831/301 773/1836/305 761/1821/292 +f 756/1818/290 775/1837/306 757/1819/291 +f 769/1838/299 777/1839/307 767/1833/302 +f 760/1831/301 771/1835/304 772/1840/308 +f 761/1821/292 774/1841/309 756/1818/290 +f 769/1829/299 775/1837/306 776/1842/144 +f 764/1827/298 777/1839/307 770/1834/303 +f 776/1842/144 778/1843/310 779/1844/133 +f 770/1834/303 780/1845/311 781/1846/312 +f 770/1834/303 782/1847/313 771/1835/304 +f 772/1840/308 784/1848/314 773/1836/305 +f 774/1841/309 778/1843/310 775/1837/306 +f 776/1849/144 780/1845/311 777/1839/307 +f 772/1840/308 782/1847/313 783/1850/132 +f 774/1841/309 784/1848/314 785/1851/315 +f 782/1847/313 787/1852/316 783/1850/132 +f 785/1851/315 788/1853/317 789/1854/318 +f 779/1844/133 790/1855/319 791/1856/320 +f 780/1845/311 793/1857/321 781/1846/312 +f 781/1846/312 786/1858/322 782/1847/313 +f 784/1848/314 787/1852/316 788/1853/317 +f 778/1843/310 789/1854/318 790/1855/319 +f 779/1859/133 792/1860/323 780/1845/311 +f 795/1861/324 310/436/325 794/1862/325 +f 797/1863/326 315/438/327 796/1864/327 +f 798/1865/328 305/432/329 302/440/328 +f 801/1866/330 306/430/331 800/1867/331 +f 795/1861/324 315/1583/327 313/442/324 +f 797/1863/326 302/440/328 301/427/326 +f 800/1867/331 305/432/329 799/1868/329 +f 794/1862/325 309/433/330 801/1866/330 +f 318/1869/329 327/451/328 330/450/329 +f 312/435/330 326/447/325 325/449/330 +f 318/1869/329 332/1589/331 319/1870/331 +f 314/437/324 326/447/325 311/434/325 +f 320/1871/330 332/455/331 334/458/330 +f 316/443/327 329/453/324 314/437/324 +f 320/1871/330 336/460/325 321/1872/325 +f 304/429/332 331/456/327 316/439/327 +f 307/441/331 325/449/330 339/463/331 +f 324/1873/326 327/451/328 317/1874/328 +f 307/441/331 337/461/329 308/431/329 +f 324/1873/326 340/462/327 328/448/326 +f 303/428/328 337/461/329 335/457/328 +f 322/1875/324 340/462/327 323/1876/327 +f 303/428/328 333/454/332 304/429/332 +f 322/1875/324 336/460/325 338/459/324 +f 803/1877/333 349/476/334 802/1878/334 +f 805/1879/325 363/482/335 804/1880/335 +f 807/1881/336 367/489/337 806/1882/337 +f 809/1883/328 371/492/338 808/1884/338 +f 802/1878/334 361/481/325 805/1879/325 +f 804/1880/335 365/486/336 807/1885/336 +f 806/1882/337 369/491/328 809/1883/328 +f 808/1884/338 350/474/333 803/1877/333 +f 351/1592/333 374/1603/334 352/475/334 +f 360/1886/336 387/519/335 353/1887/335 +f 359/1888/337 376/498/336 360/1889/336 +f 352/1598/334 378/1604/325 362/480/325 +f 358/1890/328 373/501/337 359/1891/337 +f 362/483/325 380/502/335 364/484/335 +f 357/1892/338 377/503/328 358/1893/328 +f 364/1599/335 382/505/336 366/485/336 +f 372/1602/338 375/1610/333 351/495/333 +f 353/1894/335 385/516/325 354/1895/325 +f 370/493/328 388/1609/338 372/494/338 +f 354/1896/325 383/513/334 355/1897/334 +f 368/1601/337 386/1608/328 370/490/328 +f 355/1898/334 381/509/333 356/1899/333 +f 366/1600/336 384/508/337 368/488/337 +f 356/1900/333 379/506/338 357/1901/338 +f 810/1902/339 619/1903/172 618/1904/339 +f 812/1905/124 622/1906/340 621/1907/124 +f 624/838/341 631/1908/342 625/839/341 +f 810/1902/339 617/1909/343 814/1910/343 +f 815/1911/344 621/1907/124 620/1912/344 +f 633/844/342 630/1913/345 631/1908/342 +f 816/1914/346 615/1915/347 614/1916/346 +f 627/1917/348 617/1909/343 616/1918/348 +f 815/1911/344 619/1903/172 811/1919/172 +f 632/1920/345 629/1921/126 630/1913/345 +f 816/1914/346 622/1906/340 813/1922/340 +f 626/840/349 629/1921/126 817/1923/126 +f 819/1924/342 639/1925/154 818/1926/154 +f 820/1927/124 637/1928/340 636/1929/124 +f 822/1930/350 644/1931/343 643/1932/350 +f 824/1933/339 634/1934/172 645/1935/339 +f 819/1924/342 641/1936/345 640/1937/342 +f 827/1938/346 637/1928/340 821/1939/340 +f 824/1940/339 644/1931/343 823/1941/343 +f 828/1942/344 634/1934/172 825/1943/172 +f 829/1944/126 641/1936/345 826/1945/345 +f 827/1938/346 639/1925/154 638/1946/346 +f 820/1927/124 635/1947/344 828/1942/344 +f 829/1944/126 643/1932/350 642/1948/126 +f 831/1949/351 833/1950/352 830/1951/353 +f 835/1952/354 837/1953/355 834/1954/356 +f 839/1955/357 841/1956/358 838/1957/359 +f 843/1958/360 845/1959/361 842/1960/362 +f 845/1959/361 839/1955/357 838/1957/359 +f 846/1961/363 843/1958/360 842/1960/362 +f 844/1962/364 849/1963/365 839/1955/357 +f 847/1964/366 851/1965/367 843/1958/360 +f 839/1955/357 852/1966/368 840/1967/369 +f 851/1965/367 844/1962/364 843/1958/360 +f 854/1968/357 856/1969/358 853/1970/359 +f 858/1971/360 860/1972/361 857/1973/362 +f 860/1972/361 854/1968/357 853/1970/359 +f 862/1974/366 857/1973/362 861/1975/363 +f 859/1976/364 864/1977/365 854/1968/357 +f 862/1974/366 866/1978/367 858/1971/360 +f 864/1977/365 855/1979/369 854/1968/357 +f 866/1978/367 859/1976/364 858/1971/360 +f 869/1980/357 871/1981/358 868/1982/359 +f 873/1983/370 875/1984/361 872/1985/362 +f 875/1984/361 869/1980/357 868/1982/359 +f 877/1986/366 872/1985/362 876/1987/363 +f 874/1988/364 879/1989/365 869/1980/357 +f 880/1990/371 873/1983/370 877/1986/366 +f 869/1980/357 882/1991/368 870/1992/369 +f 881/1993/367 874/1988/364 873/1983/370 +f 841/1956/358 884/1994/130 838/1957/359 +f 856/1969/358 886/1995/130 853/1970/359 +f 838/1957/359 887/1996/143 845/1959/361 +f 845/1959/361 888/1997/124 842/1960/362 +f 871/1981/358 890/1998/130 868/1982/359 +f 853/1970/359 891/1999/143 860/1972/361 +f 842/1960/362 892/2000/337 846/1961/363 +f 860/1972/361 893/2001/124 857/1973/362 +f 868/1982/359 894/2002/143 875/1984/361 +f 875/1984/361 895/2003/124 872/1985/362 +f 857/1973/362 896/2004/337 861/1975/363 +f 872/1985/362 897/2005/337 876/1987/363 +f 831/1949/351 837/1953/355 832/2006/372 +f 898/2007/373 833/1950/352 899/2008/374 +f 832/2006/372 900/2009/375 901/2010/376 +f 899/2008/374 902/2011/377 903/2012/378 +f 837/1953/355 904/2013/379 900/2009/375 +f 832/2006/372 902/2011/377 833/1950/352 +f 906/2014/354 908/2015/355 905/2016/356 +f 910/2017/351 912/2018/352 909/2019/353 +f 910/2017/351 908/2015/355 911/2020/372 +f 909/2019/353 914/2021/374 913/2022/373 +f 911/2020/372 915/2023/375 916/2024/376 +f 914/2021/374 917/2025/377 918/2026/378 +f 907/2027/380 915/2023/375 908/2015/355 +f 911/2020/372 917/2025/377 912/2018/352 +f 921/2028/354 923/2029/355 920/2030/356 +f 925/2031/351 927/2032/381 924/2033/353 +f 925/2031/351 923/2029/355 926/2034/372 +f 924/2033/353 929/2035/374 928/2036/373 +f 926/2034/372 930/2037/375 931/2038/376 +f 927/2032/381 933/2039/378 929/2035/374 +f 923/2029/355 934/2040/379 930/2037/375 +f 926/2034/372 932/2041/377 927/2032/381 +f 935/2042/130 835/1952/354 834/1954/356 +f 937/2043/130 906/2014/354 905/2016/356 +f 939/2044/151 834/1954/356 831/1949/351 +f 940/2045/126 831/1949/351 830/1951/353 +f 941/2046/130 921/2028/354 920/2030/356 +f 943/2047/151 905/2016/356 910/2017/351 +f 944/2048/325 830/1951/353 898/2007/373 +f 945/2049/126 910/2017/351 909/2019/353 +f 946/2050/151 920/2030/356 925/2031/351 +f 947/2051/126 925/2031/351 924/2033/353 +f 948/2052/325 909/2019/353 913/2022/373 +f 949/2053/325 924/2033/353 928/2036/373 +f 991/2054/382 993/2055/383 994/2056/384 +f 996/2057/145 998/2058/385 995/2059/386 +f 1000/2060/387 1002/2061/388 999/2062/389 +f 1003/2063/390 1001/2064/391 1000/2060/387 +f 1005/2065/146 994/2056/384 1006/2066/392 +f 995/2059/386 993/2055/383 992/2067/393 +f 996/2057/145 1002/2061/388 997/2068/394 +f 1005/2069/146 1004/2070/395 1003/2063/390 +f 1002/2061/388 1007/2071/396 1008/2072/397 +f 997/2068/394 1010/2073/398 998/2058/385 +f 993/2055/383 1012/2074/399 994/2056/384 +f 1006/2075/392 1014/2076/400 1004/2070/395 +f 997/2068/394 1008/2072/397 1009/2077/148 +f 998/2058/385 1011/2078/401 993/2055/383 +f 1006/2066/392 1012/2074/399 1013/2079/150 +f 1001/2064/391 1014/2076/400 1007/2071/396 +f 1013/2079/150 1015/2080/311 1016/2081/133 +f 1007/2071/396 1017/2082/310 1018/2083/315 +f 1007/2071/396 1019/2084/402 1008/2072/397 +f 1009/2077/148 1021/2085/403 1010/2073/398 +f 1011/2078/401 1015/2080/311 1012/2074/399 +f 1013/2086/150 1017/2082/310 1014/2076/400 +f 1009/2077/148 1019/2084/402 1020/2087/132 +f 1011/2078/401 1021/2085/403 1022/2088/312 +f 1019/2084/402 1024/2089/404 1020/2087/132 +f 1022/2088/312 1025/2090/405 1026/2091/406 +f 1016/2081/133 1027/2092/407 1028/2093/408 +f 1017/2082/310 1030/2094/409 1018/2083/315 +f 1018/2083/315 1023/2095/410 1019/2084/402 +f 1021/2085/403 1024/2089/404 1025/2090/405 +f 1015/2080/311 1026/2091/406 1027/2092/407 +f 1016/2096/133 1029/2097/411 1017/2082/310 +f 1032/2098/412 960/1045/328 1031/2099/328 +f 1034/2100/413 965/1047/414 1033/2101/414 +f 1035/2102/325 955/1041/415 952/1049/325 +f 1038/2103/416 956/1039/417 1037/2104/417 +f 1032/2098/412 965/1707/414 963/1051/412 +f 1034/2100/413 952/1049/325 951/1036/413 +f 1037/2104/417 955/1041/415 1036/2105/415 +f 1031/2099/328 959/1042/416 1038/2103/416 +f 968/2106/415 977/1060/325 980/1059/415 +f 962/1044/416 976/1056/328 975/1058/416 +f 968/2106/415 982/1713/417 969/2107/417 +f 964/1046/412 976/1056/328 961/1043/328 +f 970/2108/416 982/1064/417 984/1067/416 +f 966/1052/414 979/1062/412 964/1046/412 +f 970/2108/416 986/1066/328 971/2109/328 +f 954/1038/418 981/1065/414 966/1048/414 +f 957/1050/417 975/1058/416 989/1072/417 +f 974/2110/413 977/1060/325 967/2111/325 +f 957/1050/417 987/1070/415 958/1040/415 +f 974/2110/413 990/1071/414 978/1057/413 +f 953/1037/325 987/1070/415 985/1068/325 +f 972/2112/412 990/1071/414 973/2113/414 +f 953/1037/325 983/1063/418 954/1038/418 +f 972/2112/412 986/1066/328 988/1069/412 +f 1079/2114/419 1081/2115/420 1082/2116/421 +f 1084/2117/422 1086/2118/423 1083/2119/424 +f 1088/2120/425 1090/2121/426 1087/2122/427 +f 1091/2123/428 1089/2124/429 1088/2120/425 +f 1093/2125/430 1082/2116/421 1094/2126/431 +f 1083/2119/424 1081/2115/420 1080/2127/432 +f 1084/2117/422 1090/2121/426 1085/2128/433 +f 1093/2129/430 1092/2130/434 1091/2123/428 +f 1090/2121/426 1095/2131/435 1096/2132/436 +f 1085/2128/433 1098/2133/437 1086/2118/423 +f 1081/2115/420 1100/2134/438 1082/2116/421 +f 1094/2135/431 1102/2136/439 1092/2130/434 +f 1085/2128/433 1096/2132/436 1097/2137/440 +f 1086/2118/423 1099/2138/441 1081/2115/420 +f 1094/2126/431 1100/2134/438 1101/2139/442 +f 1089/2124/429 1102/2136/439 1095/2131/435 +f 1101/2139/442 1103/2140/443 1104/2141/133 +f 1095/2131/435 1105/2142/444 1106/2143/445 +f 1095/2131/435 1107/2144/446 1096/2132/436 +f 1097/2137/440 1109/2145/447 1098/2133/437 +f 1099/2138/441 1103/2140/443 1100/2134/438 +f 1101/2146/442 1105/2142/444 1102/2136/439 +f 1097/2137/440 1107/2144/446 1108/2147/132 +f 1099/2138/441 1109/2145/447 1110/2148/448 +f 1107/2144/446 1112/2149/449 1108/2147/132 +f 1110/2148/448 1113/2150/450 1114/2151/451 +f 1104/2141/133 1115/2152/452 1116/2153/453 +f 1105/2142/444 1118/2154/454 1106/2143/445 +f 1106/2143/445 1111/2155/455 1107/2144/446 +f 1109/2145/447 1112/2149/449 1113/2150/450 +f 1103/2140/443 1114/2151/451 1115/2152/452 +f 1104/2156/133 1117/2157/456 1105/2142/444 +f 1120/2158/457 1048/1082/336 1119/2159/336 +f 1122/2160/458 1053/1084/459 1121/2161/459 +f 1123/2162/333 1043/1078/460 1040/1086/333 +f 1126/2163/461 1044/1076/462 1125/2164/462 +f 1120/2158/457 1053/1714/459 1051/1088/457 +f 1122/2160/458 1040/1086/333 1039/1073/458 +f 1124/2165/460 1044/1076/462 1043/1078/460 +f 1119/2159/336 1047/1079/461 1126/2163/461 +f 1056/2166/460 1065/1097/333 1068/1096/460 +f 1050/1081/461 1064/1093/336 1063/1095/461 +f 1056/2166/460 1070/1720/462 1057/2167/462 +f 1052/1083/457 1064/1093/336 1049/1080/336 +f 1058/2168/461 1070/1101/462 1072/1104/461 +f 1054/1089/459 1067/1099/457 1052/1083/457 +f 1058/2168/461 1074/1106/336 1059/2169/336 +f 1042/1075/463 1069/1102/459 1054/1085/459 +f 1045/1087/462 1063/1095/461 1077/1109/462 +f 1062/2170/458 1065/1097/333 1055/2171/333 +f 1045/1087/462 1075/1107/460 1046/1077/460 +f 1062/2170/458 1078/1108/459 1066/1094/458 +f 1046/1077/460 1073/1103/333 1041/1074/333 +f 1060/2172/457 1078/1108/459 1061/2173/459 +f 1041/1074/333 1071/1100/463 1042/1075/463 +f 1060/2172/457 1074/1106/336 1076/1105/457 +f 1167/2174/464 1169/2175/465 1170/2176/466 +f 1172/2177/467 1174/2178/468 1171/2179/469 +f 1176/2180/470 1178/2181/471 1175/2182/472 +f 1179/2183/473 1177/2184/474 1176/2180/470 +f 1181/2185/475 1170/2176/466 1182/2186/476 +f 1168/2187/477 1174/2178/468 1169/2175/465 +f 1172/2177/467 1178/2181/471 1173/2188/478 +f 1181/2189/475 1180/2190/479 1179/2183/473 +f 1178/2181/471 1183/2191/480 1184/2192/481 +f 1173/2188/478 1186/2193/482 1174/2178/468 +f 1169/2175/465 1188/2194/483 1170/2176/466 +f 1182/2195/476 1190/2196/484 1180/2190/479 +f 1173/2188/478 1184/2192/481 1185/2197/485 +f 1174/2178/468 1187/2198/486 1169/2175/465 +f 1182/2186/476 1188/2194/483 1189/2199/487 +f 1177/2184/474 1190/2196/484 1183/2191/480 +f 1189/2199/487 1191/2200/444 1192/2201/133 +f 1183/2191/480 1193/2202/443 1194/2203/448 +f 1183/2191/480 1195/2204/488 1184/2192/481 +f 1185/2197/485 1197/2205/489 1186/2193/482 +f 1187/2198/486 1191/2200/444 1188/2194/483 +f 1189/2206/487 1193/2202/443 1190/2196/484 +f 1185/2197/485 1195/2204/488 1196/2207/132 +f 1187/2198/486 1197/2205/489 1198/2208/445 +f 1195/2204/488 1200/2209/490 1196/2207/132 +f 1198/2208/445 1201/2210/491 1202/2211/492 +f 1192/2201/133 1203/2212/493 1204/2213/494 +f 1193/2202/443 1206/2214/495 1194/2203/448 +f 1194/2203/448 1199/2215/496 1195/2204/488 +f 1197/2205/489 1200/2209/490 1201/2210/491 +f 1191/2200/444 1202/2211/492 1203/2212/493 +f 1192/2216/133 1205/2217/497 1193/2202/443 +f 1208/2218/498 1136/1119/333 1207/2219/333 +f 1210/2220/499 1141/1121/500 1209/2221/500 +f 1211/2222/336 1131/1115/501 1128/1123/336 +f 1213/2223/502 1135/1116/503 1132/1113/502 +f 1208/2218/498 1141/1721/500 1139/1125/498 +f 1210/2220/499 1128/1123/336 1127/1110/499 +f 1213/2223/502 1131/1115/501 1212/2224/501 +f 1207/2219/333 1135/1116/503 1214/2225/503 +f 1144/2226/501 1153/1134/336 1156/1133/501 +f 1138/1118/503 1152/1130/333 1151/1132/503 +f 1144/2226/501 1158/1727/502 1145/2227/502 +f 1140/1120/498 1152/1130/333 1137/1117/333 +f 1146/2228/503 1158/1138/502 1160/1141/503 +f 1142/1126/500 1155/1136/498 1140/1120/498 +f 1146/2228/503 1162/1143/333 1147/2229/333 +f 1130/1112/504 1157/1139/500 1142/1122/500 +f 1133/1124/502 1151/1132/503 1165/1146/502 +f 1150/2230/499 1153/1134/336 1143/2231/336 +f 1133/1124/502 1163/1144/505 1134/1114/501 +f 1150/2230/499 1166/1145/500 1154/1131/499 +f 1134/1114/501 1161/1140/336 1129/1111/336 +f 1148/2232/498 1166/1145/500 1149/2233/500 +f 1129/1111/336 1159/1137/504 1130/1112/504 +f 1148/2232/498 1162/1143/333 1164/1142/498 +f 1255/2234/506 1257/2235/507 1258/2236/508 +f 1260/2237/509 1262/2238/510 1259/2239/511 +f 1264/2240/512 1266/2241/513 1263/2242/514 +f 1267/2243/515 1265/2244/516 1264/2240/512 +f 1269/2245/517 1258/2236/508 1270/2246/518 +f 1256/2247/519 1262/2238/510 1257/2235/507 +f 1260/2237/509 1266/2241/513 1261/2248/520 +f 1269/2249/517 1268/2250/521 1267/2243/515 +f 1266/2241/513 1271/2251/522 1272/2252/523 +f 1261/2248/520 1274/2253/524 1262/2238/510 +f 1257/2235/507 1276/2254/525 1258/2236/508 +f 1270/2255/518 1278/2256/526 1268/2250/521 +f 1261/2248/520 1272/2252/523 1273/2257/376 +f 1262/2238/510 1275/2258/527 1257/2235/507 +f 1270/2246/518 1276/2254/525 1277/2259/528 +f 1265/2244/516 1278/2256/526 1271/2251/522 +f 1277/2259/528 1279/2260/529 1280/2261/133 +f 1271/2251/522 1281/2262/530 1282/2263/531 +f 1271/2251/522 1283/2264/532 1272/2252/523 +f 1273/2257/376 1285/2265/533 1274/2253/524 +f 1275/2258/527 1279/2260/529 1276/2254/525 +f 1277/2266/528 1281/2262/530 1278/2256/526 +f 1273/2257/376 1283/2264/532 1284/2267/132 +f 1275/2258/527 1285/2265/533 1286/2268/534 +f 1283/2264/532 1288/2269/535 1284/2267/132 +f 1286/2268/534 1289/2270/536 1290/2271/537 +f 1280/2261/133 1291/2272/538 1292/2273/539 +f 1281/2262/530 1294/2274/540 1282/2263/531 +f 1282/2263/531 1287/2275/541 1283/2264/532 +f 1285/2265/533 1288/2269/535 1289/2270/536 +f 1279/2260/529 1290/2271/537 1291/2272/538 +f 1280/2276/133 1293/2277/542 1281/2262/530 +f 1296/2278/543 1224/1156/335 1295/2279/335 +f 1298/2280/544 1229/1158/545 1297/2281/545 +f 1299/2282/338 1219/1152/546 1216/1160/338 +f 1302/2283/547 1220/1150/548 1301/2284/548 +f 1296/2278/543 1229/1728/545 1227/1162/543 +f 1298/2280/544 1216/1160/338 1215/1147/544 +f 1300/2285/546 1220/1150/548 1219/1152/546 +f 1295/2279/335 1223/1153/547 1302/2283/547 +f 1232/2286/546 1241/1171/338 1244/1170/546 +f 1226/1155/547 1240/1167/335 1239/1169/547 +f 1232/2286/546 1246/1734/548 1233/2287/548 +f 1228/1157/543 1240/1167/335 1225/1154/335 +f 1234/2288/547 1246/1175/548 1248/1178/547 +f 1230/1163/545 1243/1173/543 1228/1157/543 +f 1234/2288/547 1250/1180/335 1235/2289/335 +f 1218/1149/549 1245/1176/545 1230/1159/545 +f 1221/1161/548 1239/1169/547 1253/1183/548 +f 1238/2290/544 1241/1171/338 1231/2291/338 +f 1221/1161/548 1251/1181/546 1222/1151/546 +f 1238/2290/544 1254/1182/545 1242/1168/544 +f 1222/1151/546 1249/1177/338 1217/1148/338 +f 1236/2292/543 1254/1182/545 1237/2293/545 +f 1217/1148/338 1247/1174/549 1218/1149/549 +f 1236/2292/543 1250/1180/335 1252/1179/543 +f 1343/2294/550 1345/2295/551 1346/2296/552 +f 1348/2297/553 1350/2298/554 1347/2299/555 +f 1352/2300/556 1354/2301/557 1351/2302/558 +f 1355/2303/559 1353/2304/560 1352/2300/556 +f 1357/2305/561 1346/2296/552 1358/2306/562 +f 1344/2307/563 1350/2298/554 1345/2295/551 +f 1351/2302/558 1349/2308/564 1348/2297/553 +f 1357/2309/561 1356/2310/565 1355/2303/559 +f 1354/2301/557 1359/2311/566 1360/2312/567 +f 1349/2308/564 1362/2313/568 1350/2298/554 +f 1345/2295/551 1364/2314/569 1346/2296/552 +f 1358/2315/562 1366/2316/570 1356/2310/565 +f 1349/2308/564 1360/2312/567 1361/2317/571 +f 1350/2298/554 1363/2318/572 1345/2295/551 +f 1358/2306/562 1364/2314/569 1365/2319/573 +f 1353/2304/560 1366/2316/570 1359/2311/566 +f 1364/2314/569 1368/2320/133 1365/2319/573 +f 1359/2311/566 1369/2321/529 1370/2322/534 +f 1359/2311/566 1371/2323/533 1360/2312/567 +f 1361/2317/571 1373/2324/532 1362/2313/568 +f 1363/2318/572 1367/2325/530 1364/2314/569 +f 1365/2326/573 1369/2321/529 1366/2316/570 +f 1361/2317/571 1371/2323/533 1372/2327/132 +f 1363/2318/572 1373/2324/532 1374/2328/531 +f 1371/2323/533 1376/2329/574 1372/2327/132 +f 1374/2328/531 1377/2330/575 1378/2331/576 +f 1368/2320/133 1379/2332/577 1380/2333/578 +f 1369/2321/529 1382/2334/579 1370/2322/534 +f 1370/2322/534 1375/2335/580 1371/2323/533 +f 1373/2324/532 1376/2329/574 1377/2330/575 +f 1367/2325/530 1378/2331/576 1379/2332/577 +f 1368/2336/133 1381/2337/581 1369/2321/529 +f 1384/2338/582 1312/1193/338 1383/2339/338 +f 1386/2340/583 1317/1195/584 1385/2341/584 +f 1387/2342/335 1307/1189/585 1304/1197/335 +f 1390/2343/586 1308/1187/587 1389/2344/587 +f 1384/2338/582 1317/1735/584 1315/1199/582 +f 1386/2340/583 1304/1197/335 1303/1184/583 +f 1389/2344/587 1307/1189/585 1388/2345/585 +f 1383/2339/338 1311/1190/586 1390/2343/586 +f 1320/2346/585 1329/1208/335 1332/1207/585 +f 1314/1192/586 1328/1204/338 1327/1206/586 +f 1320/2346/585 1334/1741/587 1321/2347/587 +f 1313/1191/338 1331/1210/582 1328/1204/338 +f 1322/2348/586 1334/1212/587 1336/1215/586 +f 1318/1200/584 1331/1210/582 1316/1194/588 +f 1322/2348/586 1338/1217/338 1323/2349/338 +f 1306/1186/589 1333/1213/584 1318/1196/584 +f 1309/1198/587 1327/1206/586 1341/1220/587 +f 1326/2350/583 1329/1208/335 1319/2351/335 +f 1309/1198/587 1339/1218/590 1310/1188/585 +f 1326/2350/583 1342/1219/584 1330/1205/583 +f 1310/1188/585 1337/1214/335 1305/1185/335 +f 1324/2352/582 1342/1219/584 1325/2353/584 +f 1305/1185/335 1335/1211/589 1306/1186/589 +f 1324/2352/582 1338/1217/338 1340/1216/582 +f 1431/2354/591 1433/2355/592 1434/2356/593 +f 1436/2357/594 1438/2358/595 1435/2359/596 +f 1440/2360/597 1442/2361/598 1439/2362/599 +f 1443/2363/600 1441/2364/601 1440/2360/597 +f 1445/2365/602 1434/2356/593 1446/2366/603 +f 1435/2359/596 1433/2355/592 1432/2367/604 +f 1436/2357/594 1442/2361/598 1437/2368/605 +f 1445/2369/602 1444/2370/606 1443/2363/600 +f 1442/2361/598 1447/2371/607 1448/2372/608 +f 1437/2368/605 1450/2373/609 1438/2358/595 +f 1433/2355/592 1452/2374/610 1434/2356/593 +f 1446/2375/603 1454/2376/611 1444/2370/606 +f 1437/2368/605 1448/2372/608 1449/2377/612 +f 1438/2358/595 1451/2378/613 1433/2355/592 +f 1446/2366/603 1452/2374/610 1453/2379/614 +f 1441/2364/601 1454/2376/611 1447/2371/607 +f 1453/2379/614 1455/2380/615 1456/2381/133 +f 1447/2371/607 1457/2382/616 1458/2383/617 +f 1447/2371/607 1459/2384/618 1448/2372/608 +f 1449/2377/612 1461/2385/619 1450/2373/609 +f 1451/2378/613 1455/2380/615 1452/2374/610 +f 1453/2386/614 1457/2382/616 1454/2376/611 +f 1449/2377/612 1459/2384/618 1460/2387/132 +f 1451/2378/613 1461/2385/619 1462/2388/620 +f 1459/2384/618 1464/2389/621 1460/2387/132 +f 1462/2388/620 1465/2390/622 1466/2391/623 +f 1456/2381/133 1467/2392/624 1468/2393/625 +f 1457/2382/616 1470/2394/626 1458/2383/617 +f 1458/2383/617 1463/2395/627 1459/2384/618 +f 1461/2385/619 1464/2389/621 1465/2390/622 +f 1455/2380/615 1466/2391/623 1467/2392/624 +f 1456/2396/133 1469/2397/628 1457/2382/616 +f 1472/2398/629 1400/1230/337 1471/2399/337 +f 1474/2400/630 1405/1232/631 1473/2401/631 +f 1475/2402/334 1395/1226/632 1392/1234/334 +f 1478/2403/633 1396/1224/634 1477/2404/634 +f 1472/2398/629 1405/1742/631 1403/1236/629 +f 1474/2400/630 1392/1234/334 1391/1221/630 +f 1477/2404/634 1395/1226/632 1476/2405/632 +f 1471/2399/337 1399/1227/633 1478/2403/633 +f 1408/2406/632 1417/1245/334 1420/1244/632 +f 1402/1229/633 1416/1241/337 1415/1243/633 +f 1408/2406/632 1422/1748/634 1409/2407/634 +f 1404/1231/629 1416/1241/337 1401/1228/337 +f 1410/2408/633 1422/1249/634 1424/1252/633 +f 1406/1237/631 1419/1247/629 1404/1231/629 +f 1410/2408/633 1426/1254/337 1411/2409/337 +f 1394/1223/635 1421/1250/631 1406/1233/631 +f 1397/1235/634 1415/1243/633 1429/1257/634 +f 1414/2410/630 1417/1245/334 1407/2411/334 +f 1397/1235/634 1427/1255/632 1398/1225/632 +f 1414/2410/630 1430/1256/631 1418/1242/630 +f 1398/1225/632 1425/1251/334 1393/1222/334 +f 1412/2412/629 1430/1256/631 1413/2413/631 +f 1393/1222/334 1423/1248/635 1394/1223/635 +f 1412/2412/629 1426/1254/337 1428/1253/629 +f 1519/2414/636 1521/2415/637 1522/2416/638 +f 1524/2417/639 1526/2418/640 1523/2419/641 +f 1528/2420/642 1530/2421/643 1527/2422/644 +f 1531/2423/645 1529/2424/646 1528/2420/642 +f 1533/2425/647 1522/2416/638 1534/2426/648 +f 1520/2427/649 1526/2418/640 1521/2415/637 +f 1524/2417/639 1530/2421/643 1525/2428/650 +f 1533/2429/647 1532/2430/651 1531/2423/645 +f 1530/2421/643 1535/2431/652 1536/2432/653 +f 1525/2428/650 1538/2433/654 1526/2418/640 +f 1521/2415/637 1540/2434/655 1522/2416/638 +f 1534/2435/648 1542/2436/656 1532/2430/651 +f 1530/2421/643 1537/2437/657 1525/2428/650 +f 1526/2418/640 1539/2438/658 1521/2415/637 +f 1534/2426/648 1540/2434/655 1541/2439/659 +f 1529/2424/646 1542/2436/656 1535/2431/652 +f 1541/2439/659 1543/2440/616 1544/2441/133 +f 1535/2431/652 1545/2442/615 1546/2443/620 +f 1535/2431/652 1547/2444/619 1536/2432/653 +f 1537/2437/657 1549/2445/618 1538/2433/654 +f 1539/2438/658 1543/2440/616 1540/2434/655 +f 1541/2446/659 1545/2442/615 1542/2436/656 +f 1537/2437/657 1547/2444/619 1548/2447/132 +f 1539/2438/658 1549/2445/618 1550/2448/617 +f 1547/2444/619 1552/2449/660 1548/2447/132 +f 1550/2448/617 1553/2450/661 1554/2451/662 +f 1544/2441/133 1555/2452/663 1556/2453/664 +f 1545/2442/615 1558/2454/665 1546/2443/620 +f 1546/2443/620 1551/2455/666 1547/2444/619 +f 1549/2445/618 1552/2449/660 1553/2450/661 +f 1543/2440/616 1554/2451/662 1555/2452/663 +f 1544/2456/133 1557/2457/667 1545/2442/615 +f 1560/2458/668 1488/1268/334 1559/2459/334 +f 1562/2460/669 1493/1269/670 1561/2461/670 +f 1563/2462/337 1483/1263/671 1480/1271/337 +f 1565/2463/672 1487/1264/673 1484/1261/672 +f 1560/2458/668 1493/1749/670 1491/1267/668 +f 1562/2460/669 1480/1271/337 1479/1258/669 +f 1564/2464/671 1484/1261/672 1483/1263/671 +f 1559/2459/334 1487/1264/673 1566/2465/673 +f 1496/2466/671 1505/1282/337 1508/1281/671 +f 1490/1266/673 1504/1278/334 1503/1280/673 +f 1496/2466/671 1510/1755/672 1497/2467/672 +f 1489/1265/334 1507/1284/668 1504/1278/334 +f 1498/2468/673 1510/1286/672 1512/1289/673 +f 1494/1273/670 1507/1284/668 1492/1274/674 +f 1498/2468/673 1514/1291/334 1499/2469/334 +f 1482/1260/675 1509/1287/670 1494/1270/670 +f 1485/1272/672 1503/1280/673 1517/1294/672 +f 1502/2470/669 1505/1282/337 1495/2471/337 +f 1485/1272/672 1515/1292/676 1486/1262/671 +f 1502/2470/669 1518/1293/670 1506/1279/669 +f 1486/1262/671 1513/1288/337 1481/1259/337 +f 1500/2472/668 1518/1293/670 1501/2473/670 +f 1481/1259/337 1511/1285/675 1482/1260/675 +f 1500/2472/668 1514/1291/334 1516/1290/668 +f 1695/2474/130 1704/2475/677 1699/2476/151 +f 1697/2477/328 1701/2478/678 1696/2479/143 +f 1699/2476/151 1703/2480/679 1698/2481/334 +f 1696/2479/143 1700/2482/680 1695/2474/130 +f 1701/2478/678 1707/2483/681 1706/2484/682 +f 1704/2475/677 1708/2485/683 1703/2480/679 +f 1701/2478/678 1705/2486/169 1700/2482/680 +f 1704/2475/677 1705/2486/169 1709/2487/684 +f 1705/2486/169 1714/2488/685 1709/2487/684 +f 1706/2484/682 1712/2489/686 1711/2490/687 +f 1709/2487/684 1713/2491/688 1708/2485/683 +f 1705/2486/169 1711/2490/687 1710/2492/308 +f 1715/2493/130 1724/2494/677 1719/2495/151 +f 1717/2496/328 1721/2497/678 1716/2498/143 +f 1719/2495/151 1723/2499/679 1718/2500/334 +f 1716/2498/143 1720/2501/680 1715/2493/130 +f 1721/2497/678 1727/2502/681 1726/2503/682 +f 1724/2494/677 1728/2504/683 1723/2499/679 +f 1721/2497/678 1725/2505/169 1720/2501/680 +f 1724/2494/677 1725/2505/169 1729/2506/684 +f 1725/2505/169 1734/2507/685 1729/2506/684 +f 1726/2503/682 1732/2508/686 1731/2509/687 +f 1729/2506/684 1733/2510/688 1728/2504/683 +f 1726/2503/682 1730/2511/308 1725/2505/169 +f 1735/2512/130 1744/2513/677 1739/2514/151 +f 1737/2515/328 1741/2516/678 1736/2517/143 +f 1739/2514/151 1743/2518/679 1738/2519/334 +f 1736/2517/143 1740/2520/680 1735/2512/130 +f 1741/2516/678 1747/2521/681 1746/2522/682 +f 1744/2513/677 1748/2523/683 1743/2518/679 +f 1741/2516/678 1745/2524/169 1740/2520/680 +f 1744/2513/677 1745/2524/169 1749/2525/684 +f 1745/2524/169 1754/2526/685 1749/2525/684 +f 1746/2522/682 1752/2527/686 1751/2528/687 +f 1749/2525/684 1753/2529/688 1748/2523/683 +f 1746/2522/682 1750/2530/308 1745/2524/169 +f 1809/2531/689 1867/2532/690 1868/2533/689 +f 1809/2531/689 1869/2534/691 1806/2535/691 +f 1806/2535/691 1870/2536/692 1807/2537/692 +f 1807/2537/692 1871/2538/693 1803/2539/693 +f 1803/2539/693 1872/2540/694 1804/2541/694 +f 1805/2542/695 1872/2540/694 1873/2543/695 +f 1818/2544/696 1873/2543/695 1874/2545/696 +f 1816/2546/697 1874/2545/696 1875/2547/697 +f 1817/2548/698 1875/2547/697 1876/2549/698 +f 1817/2550/698 1877/2551/699 1814/2552/699 +f 1814/2552/699 1878/2553/700 1815/2554/700 +f 1812/2555/701 1878/2553/700 1879/2556/701 +f 1812/2555/701 1880/2557/702 1813/2558/702 +f 1813/2558/702 1881/2559/703 1810/2560/703 +f 1810/2560/703 1882/2561/704 1811/2562/704 +f 1808/2563/690 1882/2561/704 1867/2532/690 +f 1867/2532/335 1884/2564/127 1868/2533/127 +f 1868/2533/127 1885/2565/336 1869/2534/336 +f 1875/2547/338 1887/2566/130 1876/2549/130 +f 1882/2561/125 1883/2567/335 1867/2532/335 +f 1874/2545/143 1886/2568/338 1875/2547/338 +f 1881/2559/325 1888/2569/125 1882/2561/125 +f 1873/2543/328 1889/2570/143 1874/2545/143 +f 1880/2557/126 1890/2571/325 1881/2559/325 +f 1872/2540/124 1891/2572/328 1873/2543/328 +f 1879/2556/334 1892/2573/126 1880/2557/126 +f 1871/2538/337 1893/2574/124 1872/2540/124 +f 1878/2553/151 1894/2575/334 1879/2556/334 +f 1870/2536/128 1895/2576/337 1871/2538/337 +f 1877/2551/333 1896/2577/151 1878/2553/151 +f 1869/2534/336 1897/2578/128 1870/2536/128 +f 1876/2579/130 1898/2580/333 1877/2551/333 +f 1889/2570/705 1829/2581/706 1828/2582/705 +f 1890/2571/707 1822/2583/708 1821/2584/707 +f 1893/2574/709 1829/2585/706 1891/2572/706 +f 1892/2573/708 1823/2586/710 1822/2587/708 +f 1893/2574/709 1831/2588/711 1830/2589/709 +f 1896/2577/712 1823/2590/710 1894/2575/710 +f 1897/2578/713 1831/2591/711 1895/2576/711 +f 1896/2577/712 1825/2592/714 1824/2593/712 +f 1885/2565/715 1832/2594/713 1897/2578/713 +f 1887/2595/716 1825/2596/714 1898/2580/714 +f 1884/2564/717 1819/2597/718 1834/2598/717 +f 1884/2564/717 1833/2599/715 1885/2565/715 +f 1887/2566/716 1827/2600/719 1826/2601/716 +f 1888/2569/720 1819/2602/718 1883/2567/718 +f 1889/2570/705 1827/2603/719 1886/2568/719 +f 1888/2569/720 1821/2604/707 1820/2605/720 +f 1842/2606/336 1860/2607/127 1843/2608/127 +f 1850/2609/130 1851/2610/338 1848/2611/338 +f 1837/2612/333 1852/2613/130 1850/2609/130 +f 1843/2614/127 1859/2615/335 1840/2616/335 +f 1848/2611/338 1866/2617/143 1849/2618/143 +f 1840/2616/335 1858/2619/125 1841/2620/125 +f 1849/2618/143 1865/2621/328 1846/2622/328 +f 1841/2620/125 1857/2623/325 1838/2624/325 +f 1846/2622/328 1864/2625/124 1847/2626/124 +f 1838/2624/325 1856/2627/126 1839/2628/126 +f 1847/2626/124 1863/2629/337 1844/2630/337 +f 1839/2628/126 1855/2631/334 1835/2632/334 +f 1844/2630/337 1862/2633/128 1845/2634/128 +f 1835/2632/334 1854/2635/151 1836/2636/151 +f 1845/2634/128 1861/2637/336 1842/2606/336 +f 1836/2636/151 1853/2638/333 1837/2612/333 +f 754/1817/289 755/1830/300 756/1818/290 +f 759/1820/149 760/1831/301 761/1821/292 +f 763/1823/294 764/1827/298 765/1824/295 +f 766/1826/297 767/1833/302 764/1827/298 +f 768/1828/147 754/1817/289 757/1819/291 +f 755/1830/300 758/1822/293 761/1821/292 +f 759/1820/149 762/1825/296 765/1824/295 +f 768/1832/147 769/1838/299 767/1833/302 +f 765/1824/295 764/1827/298 770/1834/303 +f 760/1831/301 772/1840/308 773/1836/305 +f 756/1818/290 774/1841/309 775/1837/306 +f 769/1838/299 776/1849/144 777/1839/307 +f 760/1831/301 765/1824/295 771/1835/304 +f 761/1821/292 773/1836/305 774/1841/309 +f 769/1829/299 757/1819/291 775/1837/306 +f 764/1827/298 767/1833/302 777/1839/307 +f 776/1842/144 775/1837/306 778/1843/310 +f 770/1834/303 777/1839/307 780/1845/311 +f 770/1834/303 781/1846/312 782/1847/313 +f 772/1840/308 783/1850/132 784/1848/314 +f 774/1841/309 785/1851/315 778/1843/310 +f 776/1849/144 779/1859/133 780/1845/311 +f 772/1840/308 771/1835/304 782/1847/313 +f 774/1841/309 773/1836/305 784/1848/314 +f 782/1847/313 786/1858/322 787/1852/316 +f 785/1851/315 784/1848/314 788/1853/317 +f 779/1844/133 778/1843/310 790/1855/319 +f 780/1845/311 792/1860/323 793/1857/321 +f 781/1846/312 793/1857/321 786/1858/322 +f 784/1848/314 783/1850/132 787/1852/316 +f 778/1843/310 785/1851/315 789/1854/318 +f 779/1859/133 791/2639/320 792/1860/323 +f 795/1861/324 313/442/324 310/436/325 +f 797/1863/326 301/427/326 315/438/327 +f 798/1865/328 799/1868/329 305/432/329 +f 801/1866/330 309/433/330 306/430/331 +f 795/1861/324 796/2640/327 315/1583/327 +f 797/1863/326 798/1865/328 302/440/328 +f 800/1867/331 306/430/331 305/432/329 +f 794/1862/325 310/436/325 309/433/330 +f 318/1869/329 317/1874/328 327/451/328 +f 312/435/330 311/434/325 326/447/325 +f 318/1869/329 330/450/329 332/1589/331 +f 314/437/324 329/453/324 326/447/325 +f 320/1871/330 319/2641/331 332/455/331 +f 316/443/327 331/452/327 329/453/324 +f 320/1871/330 334/458/330 336/460/325 +f 304/429/332 333/454/332 331/456/327 +f 307/441/331 312/435/330 325/449/330 +f 324/1873/326 328/448/326 327/451/328 +f 307/441/331 339/463/331 337/461/329 +f 324/1873/326 323/1876/327 340/462/327 +f 303/428/328 308/431/329 337/461/329 +f 322/1875/324 338/459/324 340/462/327 +f 303/428/328 335/457/328 333/454/332 +f 322/1875/324 321/1872/325 336/460/325 +f 803/1877/333 350/474/333 349/476/334 +f 805/1879/325 361/481/325 363/482/335 +f 807/1881/336 365/487/336 367/489/337 +f 809/1883/328 369/491/328 371/492/338 +f 802/1878/334 349/476/334 361/481/325 +f 804/1880/335 363/482/335 365/486/336 +f 806/1882/337 367/489/337 369/491/328 +f 808/1884/338 371/492/338 350/474/333 +f 351/1592/333 375/497/333 374/1603/334 +f 360/1886/336 376/517/336 387/519/335 +f 359/1888/337 373/496/337 376/498/336 +f 352/1598/334 374/500/334 378/1604/325 +f 358/1890/328 377/499/328 373/501/337 +f 362/483/325 378/1605/325 380/502/335 +f 357/1892/338 379/504/338 377/503/328 +f 364/1599/335 380/1606/335 382/505/336 +f 372/1602/338 388/518/338 375/1610/333 +f 353/1894/335 387/514/335 385/516/325 +f 370/493/328 386/515/328 388/1609/338 +f 354/1896/325 385/511/325 383/513/334 +f 368/1601/337 384/512/337 386/1608/328 +f 355/1898/334 383/510/334 381/509/333 +f 366/1600/336 382/1607/336 384/508/337 +f 356/1900/333 381/507/333 379/506/338 +f 810/1902/339 811/1919/172 619/1903/172 +f 812/1905/124 813/1922/340 622/1906/340 +f 624/838/341 633/844/342 631/1908/342 +f 810/1902/339 618/1904/339 617/1909/343 +f 815/1911/344 812/1905/124 621/1907/124 +f 633/844/342 632/1920/345 630/1913/345 +f 816/1914/346 623/2642/347 615/1915/347 +f 627/1917/348 814/1910/343 617/1909/343 +f 815/1911/344 620/1912/344 619/1903/172 +f 632/1920/345 817/1923/126 629/1921/126 +f 816/1914/346 614/1916/346 622/1906/340 +f 626/840/349 628/842/349 629/1921/126 +f 819/1924/342 640/1937/342 639/1925/154 +f 820/1927/124 821/1939/340 637/1928/340 +f 822/1930/350 823/1941/343 644/1931/343 +f 824/1933/339 825/1943/172 634/1934/172 +f 819/1924/342 826/1945/345 641/1936/345 +f 827/1938/346 638/1946/346 637/1928/340 +f 824/1940/339 645/2643/339 644/1931/343 +f 828/1942/344 635/1947/344 634/1934/172 +f 829/1944/126 642/1948/126 641/1936/345 +f 827/1938/346 818/1926/154 639/1925/154 +f 820/1927/124 636/1929/124 635/1947/344 +f 829/1944/126 822/1930/350 643/1932/350 +f 831/1949/351 832/2006/372 833/1950/352 +f 835/1952/354 836/2644/380 837/1953/355 +f 839/1955/357 840/1967/369 841/1956/358 +f 843/1958/360 844/1962/364 845/1959/361 +f 845/1959/361 844/1962/364 839/1955/357 +f 846/1961/363 847/1964/366 843/1958/360 +f 844/1962/364 848/2645/657 849/1963/365 +f 847/1964/366 850/2646/371 851/1965/367 +f 839/1955/357 849/1963/365 852/1966/368 +f 851/1965/367 848/2645/657 844/1962/364 +f 854/1968/357 855/1979/369 856/1969/358 +f 858/1971/360 859/1976/364 860/1972/361 +f 860/1972/361 859/1976/364 854/1968/357 +f 862/1974/366 858/1971/360 857/1973/362 +f 859/1976/364 863/2647/657 864/1977/365 +f 862/1974/366 865/2648/371 866/1978/367 +f 864/1977/365 867/2649/368 855/1979/369 +f 866/1978/367 863/2647/657 859/1976/364 +f 869/1980/357 870/1992/369 871/1981/358 +f 873/1983/370 874/1988/364 875/1984/361 +f 875/1984/361 874/1988/364 869/1980/357 +f 877/1986/366 873/1983/370 872/1985/362 +f 874/1988/364 878/2650/657 879/1989/365 +f 880/1990/371 881/1993/367 873/1983/370 +f 869/1980/357 879/1989/365 882/1991/368 +f 881/1993/367 878/2650/657 874/1988/364 +f 841/1956/358 883/2651/333 884/1994/130 +f 856/1969/358 885/2652/333 886/1995/130 +f 838/1957/359 884/1994/130 887/1996/143 +f 845/1959/361 887/1996/143 888/1997/124 +f 871/1981/358 889/2653/333 890/1998/130 +f 853/1970/359 886/1995/130 891/1999/143 +f 842/1960/362 888/1997/124 892/2000/337 +f 860/1972/361 891/1999/143 893/2001/124 +f 868/1982/359 890/1998/130 894/2002/143 +f 875/1984/361 894/2002/143 895/2003/124 +f 857/1973/362 893/2001/124 896/2004/337 +f 872/1985/362 895/2003/124 897/2005/337 +f 831/1949/351 834/1954/356 837/1953/355 +f 898/2007/373 830/1951/353 833/1950/352 +f 832/2006/372 837/1953/355 900/2009/375 +f 899/2008/374 833/1950/352 902/2011/377 +f 837/1953/355 836/2644/380 904/2013/379 +f 832/2006/372 901/2010/376 902/2011/377 +f 906/2014/354 907/2027/380 908/2015/355 +f 910/2017/351 911/2020/372 912/2018/352 +f 910/2017/351 905/2016/356 908/2015/355 +f 909/2019/353 912/2018/352 914/2021/374 +f 911/2020/372 908/2015/355 915/2023/375 +f 914/2021/374 912/2018/352 917/2025/377 +f 907/2027/380 919/2654/379 915/2023/375 +f 911/2020/372 916/2024/376 917/2025/377 +f 921/2028/354 922/2655/380 923/2029/355 +f 925/2031/351 926/2034/372 927/2032/381 +f 925/2031/351 920/2030/356 923/2029/355 +f 924/2033/353 927/2032/381 929/2035/374 +f 926/2034/372 923/2029/355 930/2037/375 +f 927/2032/381 932/2041/377 933/2039/378 +f 923/2029/355 922/2655/380 934/2040/379 +f 926/2034/372 931/2038/376 932/2041/377 +f 935/2042/130 936/2656/338 835/1952/354 +f 937/2043/130 938/2657/338 906/2014/354 +f 939/2044/151 935/2042/130 834/1954/356 +f 940/2045/126 939/2044/151 831/1949/351 +f 941/2046/130 942/2658/338 921/2028/354 +f 943/2047/151 937/2043/130 905/2016/356 +f 944/2048/325 940/2045/126 830/1951/353 +f 945/2049/126 943/2047/151 910/2017/351 +f 946/2050/151 941/2046/130 920/2030/356 +f 947/2051/126 946/2050/151 925/2031/351 +f 948/2052/325 945/2049/126 909/2019/353 +f 949/2053/325 947/2051/126 924/2033/353 +f 991/2054/382 992/2067/393 993/2055/383 +f 996/2057/145 997/2068/394 998/2058/385 +f 1000/2060/387 1001/2064/391 1002/2061/388 +f 1003/2063/390 1004/2070/395 1001/2064/391 +f 1005/2065/146 991/2054/382 994/2056/384 +f 995/2059/386 998/2058/385 993/2055/383 +f 996/2057/145 999/2062/389 1002/2061/388 +f 1005/2069/146 1006/2075/392 1004/2070/395 +f 1002/2061/388 1001/2064/391 1007/2071/396 +f 997/2068/394 1009/2077/148 1010/2073/398 +f 993/2055/383 1011/2078/401 1012/2074/399 +f 1006/2075/392 1013/2086/150 1014/2076/400 +f 997/2068/394 1002/2061/388 1008/2072/397 +f 998/2058/385 1010/2073/398 1011/2078/401 +f 1006/2066/392 994/2056/384 1012/2074/399 +f 1001/2064/391 1004/2070/395 1014/2076/400 +f 1013/2079/150 1012/2074/399 1015/2080/311 +f 1007/2071/396 1014/2076/400 1017/2082/310 +f 1007/2071/396 1018/2083/315 1019/2084/402 +f 1009/2077/148 1020/2087/132 1021/2085/403 +f 1011/2078/401 1022/2088/312 1015/2080/311 +f 1013/2086/150 1016/2096/133 1017/2082/310 +f 1009/2077/148 1008/2072/397 1019/2084/402 +f 1011/2078/401 1010/2073/398 1021/2085/403 +f 1019/2084/402 1023/2095/410 1024/2089/404 +f 1022/2088/312 1021/2085/403 1025/2090/405 +f 1016/2081/133 1015/2080/311 1027/2092/407 +f 1017/2082/310 1029/2097/411 1030/2094/409 +f 1018/2083/315 1030/2094/409 1023/2095/410 +f 1021/2085/403 1020/2087/132 1024/2089/404 +f 1015/2080/311 1022/2088/312 1026/2091/406 +f 1016/2096/133 1028/2659/408 1029/2097/411 +f 1032/2098/412 963/1051/412 960/1045/328 +f 1034/2100/413 951/1036/413 965/1047/414 +f 1035/2102/325 1036/2105/415 955/1041/415 +f 1038/2103/416 959/1042/416 956/1039/417 +f 1032/2098/412 1033/2660/414 965/1707/414 +f 1034/2100/413 1035/2102/325 952/1049/325 +f 1037/2104/417 956/1039/417 955/1041/415 +f 1031/2099/328 960/1045/328 959/1042/416 +f 968/2106/415 967/2111/325 977/1060/325 +f 962/1044/416 961/1043/328 976/1056/328 +f 968/2106/415 980/1059/415 982/1713/417 +f 964/1046/412 979/1062/412 976/1056/328 +f 970/2108/416 969/2661/417 982/1064/417 +f 966/1052/414 981/1061/414 979/1062/412 +f 970/2108/416 984/1067/416 986/1066/328 +f 954/1038/418 983/1063/418 981/1065/414 +f 957/1050/417 962/1044/416 975/1058/416 +f 974/2110/413 978/1057/413 977/1060/325 +f 957/1050/417 989/1072/417 987/1070/415 +f 974/2110/413 973/2113/414 990/1071/414 +f 953/1037/325 958/1040/415 987/1070/415 +f 972/2112/412 988/1069/412 990/1071/414 +f 953/1037/325 985/1068/325 983/1063/418 +f 972/2112/412 971/2109/328 986/1066/328 +f 1079/2114/419 1080/2127/432 1081/2115/420 +f 1084/2117/422 1085/2128/433 1086/2118/423 +f 1088/2120/425 1089/2124/429 1090/2121/426 +f 1091/2123/428 1092/2130/434 1089/2124/429 +f 1093/2125/430 1079/2114/419 1082/2116/421 +f 1083/2119/424 1086/2118/423 1081/2115/420 +f 1084/2117/422 1087/2122/427 1090/2121/426 +f 1093/2129/430 1094/2135/431 1092/2130/434 +f 1090/2121/426 1089/2124/429 1095/2131/435 +f 1085/2128/433 1097/2137/440 1098/2133/437 +f 1081/2115/420 1099/2138/441 1100/2134/438 +f 1094/2135/431 1101/2146/442 1102/2136/439 +f 1085/2128/433 1090/2121/426 1096/2132/436 +f 1086/2118/423 1098/2133/437 1099/2138/441 +f 1094/2126/431 1082/2116/421 1100/2134/438 +f 1089/2124/429 1092/2130/434 1102/2136/439 +f 1101/2139/442 1100/2134/438 1103/2140/443 +f 1095/2131/435 1102/2136/439 1105/2142/444 +f 1095/2131/435 1106/2143/445 1107/2144/446 +f 1097/2137/440 1108/2147/132 1109/2145/447 +f 1099/2138/441 1110/2148/448 1103/2140/443 +f 1101/2146/442 1104/2156/133 1105/2142/444 +f 1097/2137/440 1096/2132/436 1107/2144/446 +f 1099/2138/441 1098/2133/437 1109/2145/447 +f 1107/2144/446 1111/2155/455 1112/2149/449 +f 1110/2148/448 1109/2145/447 1113/2150/450 +f 1104/2141/133 1103/2140/443 1115/2152/452 +f 1105/2142/444 1117/2157/456 1118/2154/454 +f 1106/2143/445 1118/2154/454 1111/2155/455 +f 1109/2145/447 1108/2147/132 1112/2149/449 +f 1103/2140/443 1110/2148/448 1114/2151/451 +f 1104/2156/133 1116/2662/453 1117/2157/456 +f 1120/2158/457 1051/1088/457 1048/1082/336 +f 1122/2160/458 1039/1073/458 1053/1084/459 +f 1123/2162/333 1124/2165/460 1043/1078/460 +f 1126/2163/461 1047/1079/461 1044/1076/462 +f 1120/2158/457 1121/2663/459 1053/1714/459 +f 1122/2160/458 1123/2162/333 1040/1086/333 +f 1124/2165/460 1125/2164/462 1044/1076/462 +f 1119/2159/336 1048/1082/336 1047/1079/461 +f 1056/2166/460 1055/2171/333 1065/1097/333 +f 1050/1081/461 1049/1080/336 1064/1093/336 +f 1056/2166/460 1068/1096/460 1070/1720/462 +f 1052/1083/457 1067/1099/457 1064/1093/336 +f 1058/2168/461 1057/2664/462 1070/1101/462 +f 1054/1089/459 1069/1098/459 1067/1099/457 +f 1058/2168/461 1072/1104/461 1074/1106/336 +f 1042/1075/463 1071/1100/463 1069/1102/459 +f 1045/1087/462 1050/1081/461 1063/1095/461 +f 1062/2170/458 1066/1094/458 1065/1097/333 +f 1045/1087/462 1077/1109/462 1075/1107/460 +f 1062/2170/458 1061/2173/459 1078/1108/459 +f 1046/1077/460 1075/1107/460 1073/1103/333 +f 1060/2172/457 1076/1105/457 1078/1108/459 +f 1041/1074/333 1073/1103/333 1071/1100/463 +f 1060/2172/457 1059/2169/336 1074/1106/336 +f 1167/2174/464 1168/2187/477 1169/2175/465 +f 1172/2177/467 1173/2188/478 1174/2178/468 +f 1176/2180/470 1177/2184/474 1178/2181/471 +f 1179/2183/473 1180/2190/479 1177/2184/474 +f 1181/2185/475 1167/2174/464 1170/2176/466 +f 1168/2187/477 1171/2179/469 1174/2178/468 +f 1172/2177/467 1175/2182/472 1178/2181/471 +f 1181/2189/475 1182/2195/476 1180/2190/479 +f 1178/2181/471 1177/2184/474 1183/2191/480 +f 1173/2188/478 1185/2197/485 1186/2193/482 +f 1169/2175/465 1187/2198/486 1188/2194/483 +f 1182/2195/476 1189/2206/487 1190/2196/484 +f 1173/2188/478 1178/2181/471 1184/2192/481 +f 1174/2178/468 1186/2193/482 1187/2198/486 +f 1182/2186/476 1170/2176/466 1188/2194/483 +f 1177/2184/474 1180/2190/479 1190/2196/484 +f 1189/2199/487 1188/2194/483 1191/2200/444 +f 1183/2191/480 1190/2196/484 1193/2202/443 +f 1183/2191/480 1194/2203/448 1195/2204/488 +f 1185/2197/485 1196/2207/132 1197/2205/489 +f 1187/2198/486 1198/2208/445 1191/2200/444 +f 1189/2206/487 1192/2216/133 1193/2202/443 +f 1185/2197/485 1184/2192/481 1195/2204/488 +f 1187/2198/486 1186/2193/482 1197/2205/489 +f 1195/2204/488 1199/2215/496 1200/2209/490 +f 1198/2208/445 1197/2205/489 1201/2210/491 +f 1192/2201/133 1191/2200/444 1203/2212/493 +f 1193/2202/443 1205/2217/497 1206/2214/495 +f 1194/2203/448 1206/2214/495 1199/2215/496 +f 1197/2205/489 1196/2207/132 1200/2209/490 +f 1191/2200/444 1198/2208/445 1202/2211/492 +f 1192/2216/133 1204/2665/494 1205/2217/497 +f 1208/2218/498 1139/1125/498 1136/1119/333 +f 1210/2220/499 1127/1110/499 1141/1121/500 +f 1211/2222/336 1212/2224/501 1131/1115/501 +f 1213/2223/502 1214/2225/503 1135/1116/503 +f 1208/2218/498 1209/2666/500 1141/1721/500 +f 1210/2220/499 1211/2222/336 1128/1123/336 +f 1213/2223/502 1132/1113/502 1131/1115/501 +f 1207/2219/333 1136/1119/333 1135/1116/503 +f 1144/2226/501 1143/2231/336 1153/1134/336 +f 1138/1118/503 1137/1117/333 1152/1130/333 +f 1144/2226/501 1156/1133/501 1158/1727/502 +f 1140/1120/498 1155/1136/498 1152/1130/333 +f 1146/2228/503 1145/2667/502 1158/1138/502 +f 1142/1126/500 1157/1135/500 1155/1136/498 +f 1146/2228/503 1160/1141/503 1162/1143/333 +f 1130/1112/504 1159/1137/504 1157/1139/500 +f 1133/1124/502 1138/1118/503 1151/1132/503 +f 1150/2230/499 1154/1131/499 1153/1134/336 +f 1133/1124/502 1165/1146/502 1163/1144/505 +f 1150/2230/499 1149/2233/500 1166/1145/500 +f 1134/1114/501 1163/1144/505 1161/1140/336 +f 1148/2232/498 1164/1142/498 1166/1145/500 +f 1129/1111/336 1161/1140/336 1159/1137/504 +f 1148/2232/498 1147/2229/333 1162/1143/333 +f 1255/2234/506 1256/2247/519 1257/2235/507 +f 1260/2237/509 1261/2248/520 1262/2238/510 +f 1264/2240/512 1265/2244/516 1266/2241/513 +f 1267/2243/515 1268/2250/521 1265/2244/516 +f 1269/2245/517 1255/2234/506 1258/2236/508 +f 1256/2247/519 1259/2239/511 1262/2238/510 +f 1260/2237/509 1263/2242/514 1266/2241/513 +f 1269/2249/517 1270/2255/518 1268/2250/521 +f 1266/2241/513 1265/2244/516 1271/2251/522 +f 1261/2248/520 1273/2257/376 1274/2253/524 +f 1257/2235/507 1275/2258/527 1276/2254/525 +f 1270/2255/518 1277/2266/528 1278/2256/526 +f 1261/2248/520 1266/2241/513 1272/2252/523 +f 1262/2238/510 1274/2253/524 1275/2258/527 +f 1270/2246/518 1258/2236/508 1276/2254/525 +f 1265/2244/516 1268/2250/521 1278/2256/526 +f 1277/2259/528 1276/2254/525 1279/2260/529 +f 1271/2251/522 1278/2256/526 1281/2262/530 +f 1271/2251/522 1282/2263/531 1283/2264/532 +f 1273/2257/376 1284/2267/132 1285/2265/533 +f 1275/2258/527 1286/2268/534 1279/2260/529 +f 1277/2266/528 1280/2276/133 1281/2262/530 +f 1273/2257/376 1272/2252/523 1283/2264/532 +f 1275/2258/527 1274/2253/524 1285/2265/533 +f 1283/2264/532 1287/2275/541 1288/2269/535 +f 1286/2268/534 1285/2265/533 1289/2270/536 +f 1280/2261/133 1279/2260/529 1291/2272/538 +f 1281/2262/530 1293/2277/542 1294/2274/540 +f 1282/2263/531 1294/2274/540 1287/2275/541 +f 1285/2265/533 1284/2267/132 1288/2269/535 +f 1279/2260/529 1286/2268/534 1290/2271/537 +f 1280/2276/133 1292/2668/539 1293/2277/542 +f 1296/2278/543 1227/1162/543 1224/1156/335 +f 1298/2280/544 1215/1147/544 1229/1158/545 +f 1299/2282/338 1300/2285/546 1219/1152/546 +f 1302/2283/547 1223/1153/547 1220/1150/548 +f 1296/2278/543 1297/2669/545 1229/1728/545 +f 1298/2280/544 1299/2282/338 1216/1160/338 +f 1300/2285/546 1301/2284/548 1220/1150/548 +f 1295/2279/335 1224/1156/335 1223/1153/547 +f 1232/2286/546 1231/2291/338 1241/1171/338 +f 1226/1155/547 1225/1154/335 1240/1167/335 +f 1232/2286/546 1244/1170/546 1246/1734/548 +f 1228/1157/543 1243/1173/543 1240/1167/335 +f 1234/2288/547 1233/2670/548 1246/1175/548 +f 1230/1163/545 1245/1172/545 1243/1173/543 +f 1234/2288/547 1248/1178/547 1250/1180/335 +f 1218/1149/549 1247/1174/549 1245/1176/545 +f 1221/1161/548 1226/1155/547 1239/1169/547 +f 1238/2290/544 1242/1168/544 1241/1171/338 +f 1221/1161/548 1253/1183/548 1251/1181/546 +f 1238/2290/544 1237/2293/545 1254/1182/545 +f 1222/1151/546 1251/1181/546 1249/1177/338 +f 1236/2292/543 1252/1179/543 1254/1182/545 +f 1217/1148/338 1249/1177/338 1247/1174/549 +f 1236/2292/543 1235/2289/335 1250/1180/335 +f 1343/2294/550 1344/2307/563 1345/2295/551 +f 1348/2297/553 1349/2308/564 1350/2298/554 +f 1352/2300/556 1353/2304/560 1354/2301/557 +f 1355/2303/559 1356/2310/565 1353/2304/560 +f 1357/2305/561 1343/2294/550 1346/2296/552 +f 1344/2307/563 1347/2299/555 1350/2298/554 +f 1351/2302/558 1354/2301/557 1349/2308/564 +f 1357/2309/561 1358/2315/562 1356/2310/565 +f 1354/2301/557 1353/2304/560 1359/2311/566 +f 1349/2308/564 1361/2317/571 1362/2313/568 +f 1345/2295/551 1363/2318/572 1364/2314/569 +f 1358/2315/562 1365/2326/573 1366/2316/570 +f 1349/2308/564 1354/2301/557 1360/2312/567 +f 1350/2298/554 1362/2313/568 1363/2318/572 +f 1358/2306/562 1346/2296/552 1364/2314/569 +f 1353/2304/560 1356/2310/565 1366/2316/570 +f 1364/2314/569 1367/2325/530 1368/2320/133 +f 1359/2311/566 1366/2316/570 1369/2321/529 +f 1359/2311/566 1370/2322/534 1371/2323/533 +f 1361/2317/571 1372/2327/132 1373/2324/532 +f 1363/2318/572 1374/2328/531 1367/2325/530 +f 1365/2326/573 1368/2336/133 1369/2321/529 +f 1361/2317/571 1360/2312/567 1371/2323/533 +f 1363/2318/572 1362/2313/568 1373/2324/532 +f 1371/2323/533 1375/2335/580 1376/2329/574 +f 1374/2328/531 1373/2324/532 1377/2330/575 +f 1368/2320/133 1367/2325/530 1379/2332/577 +f 1369/2321/529 1381/2337/581 1382/2334/579 +f 1370/2322/534 1382/2334/579 1375/2335/580 +f 1373/2324/532 1372/2327/132 1376/2329/574 +f 1367/2325/530 1374/2328/531 1378/2331/576 +f 1368/2336/133 1380/2671/578 1381/2337/581 +f 1384/2338/582 1315/1199/582 1312/1193/338 +f 1386/2340/583 1303/1184/583 1317/1195/584 +f 1387/2342/335 1388/2345/585 1307/1189/585 +f 1390/2343/586 1311/1190/586 1308/1187/587 +f 1384/2338/582 1385/2672/584 1317/1735/584 +f 1386/2340/583 1387/2342/335 1304/1197/335 +f 1389/2344/587 1308/1187/587 1307/1189/585 +f 1383/2339/338 1312/1193/338 1311/1190/586 +f 1320/2346/585 1319/2351/335 1329/1208/335 +f 1314/1192/586 1313/1191/338 1328/1204/338 +f 1320/2346/585 1332/1207/585 1334/1741/587 +f 1313/1191/338 1316/1194/588 1331/1210/582 +f 1322/2348/586 1321/2673/587 1334/1212/587 +f 1318/1200/584 1333/1209/584 1331/1210/582 +f 1322/2348/586 1336/1215/586 1338/1217/338 +f 1306/1186/589 1335/1211/589 1333/1213/584 +f 1309/1198/587 1314/1192/586 1327/1206/586 +f 1326/2350/583 1330/1205/583 1329/1208/335 +f 1309/1198/587 1341/1220/587 1339/1218/590 +f 1326/2350/583 1325/2353/584 1342/1219/584 +f 1310/1188/585 1339/1218/590 1337/1214/335 +f 1324/2352/582 1340/1216/582 1342/1219/584 +f 1305/1185/335 1337/1214/335 1335/1211/589 +f 1324/2352/582 1323/2349/338 1338/1217/338 +f 1431/2354/591 1432/2367/604 1433/2355/592 +f 1436/2357/594 1437/2368/605 1438/2358/595 +f 1440/2360/597 1441/2364/601 1442/2361/598 +f 1443/2363/600 1444/2370/606 1441/2364/601 +f 1445/2365/602 1431/2354/591 1434/2356/593 +f 1435/2359/596 1438/2358/595 1433/2355/592 +f 1436/2357/594 1439/2362/599 1442/2361/598 +f 1445/2369/602 1446/2375/603 1444/2370/606 +f 1442/2361/598 1441/2364/601 1447/2371/607 +f 1437/2368/605 1449/2377/612 1450/2373/609 +f 1433/2355/592 1451/2378/613 1452/2374/610 +f 1446/2375/603 1453/2386/614 1454/2376/611 +f 1437/2368/605 1442/2361/598 1448/2372/608 +f 1438/2358/595 1450/2373/609 1451/2378/613 +f 1446/2366/603 1434/2356/593 1452/2374/610 +f 1441/2364/601 1444/2370/606 1454/2376/611 +f 1453/2379/614 1452/2374/610 1455/2380/615 +f 1447/2371/607 1454/2376/611 1457/2382/616 +f 1447/2371/607 1458/2383/617 1459/2384/618 +f 1449/2377/612 1460/2387/132 1461/2385/619 +f 1451/2378/613 1462/2388/620 1455/2380/615 +f 1453/2386/614 1456/2396/133 1457/2382/616 +f 1449/2377/612 1448/2372/608 1459/2384/618 +f 1451/2378/613 1450/2373/609 1461/2385/619 +f 1459/2384/618 1463/2395/627 1464/2389/621 +f 1462/2388/620 1461/2385/619 1465/2390/622 +f 1456/2381/133 1455/2380/615 1467/2392/624 +f 1457/2382/616 1469/2397/628 1470/2394/626 +f 1458/2383/617 1470/2394/626 1463/2395/627 +f 1461/2385/619 1460/2387/132 1464/2389/621 +f 1455/2380/615 1462/2388/620 1466/2391/623 +f 1456/2396/133 1468/2674/625 1469/2397/628 +f 1472/2398/629 1403/1236/629 1400/1230/337 +f 1474/2400/630 1391/1221/630 1405/1232/631 +f 1475/2402/334 1476/2405/632 1395/1226/632 +f 1478/2403/633 1399/1227/633 1396/1224/634 +f 1472/2398/629 1473/2675/631 1405/1742/631 +f 1474/2400/630 1475/2402/334 1392/1234/334 +f 1477/2404/634 1396/1224/634 1395/1226/632 +f 1471/2399/337 1400/1230/337 1399/1227/633 +f 1408/2406/632 1407/2411/334 1417/1245/334 +f 1402/1229/633 1401/1228/337 1416/1241/337 +f 1408/2406/632 1420/1244/632 1422/1748/634 +f 1404/1231/629 1419/1247/629 1416/1241/337 +f 1410/2408/633 1409/2676/634 1422/1249/634 +f 1406/1237/631 1421/1246/631 1419/1247/629 +f 1410/2408/633 1424/1252/633 1426/1254/337 +f 1394/1223/635 1423/1248/635 1421/1250/631 +f 1397/1235/634 1402/1229/633 1415/1243/633 +f 1414/2410/630 1418/1242/630 1417/1245/334 +f 1397/1235/634 1429/1257/634 1427/1255/632 +f 1414/2410/630 1413/2413/631 1430/1256/631 +f 1398/1225/632 1427/1255/632 1425/1251/334 +f 1412/2412/629 1428/1253/629 1430/1256/631 +f 1393/1222/334 1425/1251/334 1423/1248/635 +f 1412/2412/629 1411/2409/337 1426/1254/337 +f 1519/2414/636 1520/2427/649 1521/2415/637 +f 1524/2417/639 1525/2428/650 1526/2418/640 +f 1528/2420/642 1529/2424/646 1530/2421/643 +f 1531/2423/645 1532/2430/651 1529/2424/646 +f 1533/2425/647 1519/2414/636 1522/2416/638 +f 1520/2427/649 1523/2419/641 1526/2418/640 +f 1524/2417/639 1527/2422/644 1530/2421/643 +f 1533/2429/647 1534/2435/648 1532/2430/651 +f 1530/2421/643 1529/2424/646 1535/2431/652 +f 1525/2428/650 1537/2437/657 1538/2433/654 +f 1521/2415/637 1539/2438/658 1540/2434/655 +f 1534/2435/648 1541/2446/659 1542/2436/656 +f 1530/2421/643 1536/2432/653 1537/2437/657 +f 1526/2418/640 1538/2433/654 1539/2438/658 +f 1534/2426/648 1522/2416/638 1540/2434/655 +f 1529/2424/646 1532/2430/651 1542/2436/656 +f 1541/2439/659 1540/2434/655 1543/2440/616 +f 1535/2431/652 1542/2436/656 1545/2442/615 +f 1535/2431/652 1546/2443/620 1547/2444/619 +f 1537/2437/657 1548/2447/132 1549/2445/618 +f 1539/2438/658 1550/2448/617 1543/2440/616 +f 1541/2446/659 1544/2456/133 1545/2442/615 +f 1537/2437/657 1536/2432/653 1547/2444/619 +f 1539/2438/658 1538/2433/654 1549/2445/618 +f 1547/2444/619 1551/2455/666 1552/2449/660 +f 1550/2448/617 1549/2445/618 1553/2450/661 +f 1544/2441/133 1543/2440/616 1555/2452/663 +f 1545/2442/615 1557/2457/667 1558/2454/665 +f 1546/2443/620 1558/2454/665 1551/2455/666 +f 1549/2445/618 1548/2447/132 1552/2449/660 +f 1543/2440/616 1550/2448/617 1554/2451/662 +f 1544/2456/133 1556/2677/664 1557/2457/667 +f 1560/2458/668 1491/1267/668 1488/1268/334 +f 1562/2460/669 1479/1258/669 1493/1269/670 +f 1563/2462/337 1564/2464/671 1483/1263/671 +f 1565/2463/672 1566/2465/673 1487/1264/673 +f 1560/2458/668 1561/2678/670 1493/1749/670 +f 1562/2460/669 1563/2462/337 1480/1271/337 +f 1564/2464/671 1565/2463/672 1484/1261/672 +f 1559/2459/334 1488/1268/334 1487/1264/673 +f 1496/2466/671 1495/2471/337 1505/1282/337 +f 1490/1266/673 1489/1265/334 1504/1278/334 +f 1496/2466/671 1508/1281/671 1510/1755/672 +f 1489/1265/334 1492/1274/674 1507/1284/668 +f 1498/2468/673 1497/2679/672 1510/1286/672 +f 1494/1273/670 1509/1283/670 1507/1284/668 +f 1498/2468/673 1512/1289/673 1514/1291/334 +f 1482/1260/675 1511/1285/675 1509/1287/670 +f 1485/1272/672 1490/1266/673 1503/1280/673 +f 1502/2470/669 1506/1279/669 1505/1282/337 +f 1485/1272/672 1517/1294/672 1515/1292/676 +f 1502/2470/669 1501/2473/670 1518/1293/670 +f 1486/1262/671 1515/1292/676 1513/1288/337 +f 1500/2472/668 1516/1290/668 1518/1293/670 +f 1481/1259/337 1513/1288/337 1511/1285/675 +f 1500/2472/668 1499/2469/334 1514/1291/334 +f 1695/2474/130 1700/2482/680 1704/2475/677 +f 1697/2477/328 1702/2680/721 1701/2478/678 +f 1699/2476/151 1704/2475/677 1703/2480/679 +f 1696/2479/143 1701/2478/678 1700/2482/680 +f 1701/2478/678 1702/2680/721 1707/2483/681 +f 1704/2475/677 1709/2487/684 1708/2485/683 +f 1701/2478/678 1706/2484/682 1705/2486/169 +f 1704/2475/677 1700/2482/680 1705/2486/169 +f 1705/2486/169 1710/2492/308 1714/2488/685 +f 1706/2484/682 1707/2483/681 1712/2489/686 +f 1709/2487/684 1714/2488/685 1713/2491/688 +f 1705/2486/169 1706/2484/682 1711/2490/687 +f 1715/2493/130 1720/2501/680 1724/2494/677 +f 1717/2496/328 1722/2681/721 1721/2497/678 +f 1719/2495/151 1724/2494/677 1723/2499/679 +f 1716/2498/143 1721/2497/678 1720/2501/680 +f 1721/2497/678 1722/2681/721 1727/2502/681 +f 1724/2494/677 1729/2506/684 1728/2504/683 +f 1721/2497/678 1726/2503/682 1725/2505/169 +f 1724/2494/677 1720/2501/680 1725/2505/169 +f 1725/2505/169 1730/2511/308 1734/2507/685 +f 1726/2503/682 1727/2502/681 1732/2508/686 +f 1729/2506/684 1734/2507/685 1733/2510/688 +f 1726/2503/682 1731/2509/687 1730/2511/308 +f 1735/2512/130 1740/2520/680 1744/2513/677 +f 1737/2515/328 1742/2682/721 1741/2516/678 +f 1739/2514/151 1744/2513/677 1743/2518/679 +f 1736/2517/143 1741/2516/678 1740/2520/680 +f 1741/2516/678 1742/2682/721 1747/2521/681 +f 1744/2513/677 1749/2525/684 1748/2523/683 +f 1741/2516/678 1746/2522/682 1745/2524/169 +f 1744/2513/677 1740/2520/680 1745/2524/169 +f 1745/2524/169 1750/2530/308 1754/2526/685 +f 1746/2522/682 1747/2521/681 1752/2527/686 +f 1749/2525/684 1754/2526/685 1753/2529/688 +f 1746/2522/682 1751/2528/687 1750/2530/308 +f 1809/2531/689 1808/2563/690 1867/2532/690 +f 1809/2531/689 1868/2533/689 1869/2534/691 +f 1806/2535/691 1869/2534/691 1870/2536/692 +f 1807/2537/692 1870/2536/692 1871/2538/693 +f 1803/2539/693 1871/2538/693 1872/2540/694 +f 1805/2542/695 1804/2541/694 1872/2540/694 +f 1818/2544/696 1805/2542/695 1873/2543/695 +f 1816/2546/697 1818/2544/696 1874/2545/696 +f 1817/2548/698 1816/2546/697 1875/2547/697 +f 1817/2550/698 1876/2579/698 1877/2551/699 +f 1814/2552/699 1877/2551/699 1878/2553/700 +f 1812/2555/701 1815/2554/700 1878/2553/700 +f 1812/2555/701 1879/2556/701 1880/2557/702 +f 1813/2558/702 1880/2557/702 1881/2559/703 +f 1810/2560/703 1881/2559/703 1882/2561/704 +f 1808/2563/690 1811/2562/704 1882/2561/704 +f 1867/2532/335 1883/2567/335 1884/2564/127 +f 1868/2533/127 1884/2564/127 1885/2565/336 +f 1875/2547/338 1886/2568/338 1887/2566/130 +f 1882/2561/125 1888/2569/125 1883/2567/335 +f 1874/2545/143 1889/2570/143 1886/2568/338 +f 1881/2559/325 1890/2571/325 1888/2569/125 +f 1873/2543/328 1891/2572/328 1889/2570/143 +f 1880/2557/126 1892/2573/126 1890/2571/325 +f 1872/2540/124 1893/2574/124 1891/2572/328 +f 1879/2556/334 1894/2575/334 1892/2573/126 +f 1871/2538/337 1895/2576/337 1893/2574/124 +f 1878/2553/151 1896/2577/151 1894/2575/334 +f 1870/2536/128 1897/2578/128 1895/2576/337 +f 1877/2551/333 1898/2580/333 1896/2577/151 +f 1869/2534/336 1885/2565/336 1897/2578/128 +f 1876/2579/130 1887/2595/130 1898/2580/333 +f 1889/2570/705 1891/2572/706 1829/2581/706 +f 1890/2571/707 1892/2573/708 1822/2583/708 +f 1893/2574/709 1830/2683/709 1829/2585/706 +f 1892/2573/708 1894/2575/710 1823/2586/710 +f 1893/2574/709 1895/2576/711 1831/2588/711 +f 1896/2577/712 1824/2684/712 1823/2590/710 +f 1897/2578/713 1832/2685/713 1831/2591/711 +f 1896/2577/712 1898/2580/714 1825/2592/714 +f 1885/2565/715 1833/2686/715 1832/2594/713 +f 1887/2595/716 1826/2687/716 1825/2596/714 +f 1884/2564/717 1883/2567/718 1819/2597/718 +f 1884/2564/717 1834/2688/717 1833/2599/715 +f 1887/2566/716 1886/2568/719 1827/2600/719 +f 1888/2569/720 1820/2689/720 1819/2602/718 +f 1889/2570/705 1828/2690/705 1827/2603/719 +f 1888/2569/720 1890/2571/707 1821/2604/707 +f 1842/2606/336 1861/2637/336 1860/2607/127 +f 1850/2609/130 1852/2613/130 1851/2610/338 +f 1837/2612/333 1853/2638/333 1852/2613/130 +f 1843/2614/127 1860/2691/127 1859/2615/335 +f 1848/2611/338 1851/2610/338 1866/2617/143 +f 1840/2616/335 1859/2615/335 1858/2619/125 +f 1849/2618/143 1866/2617/143 1865/2621/328 +f 1841/2620/125 1858/2619/125 1857/2623/325 +f 1846/2622/328 1865/2621/328 1864/2625/124 +f 1838/2624/325 1857/2623/325 1856/2627/126 +f 1847/2626/124 1864/2625/124 1863/2629/337 +f 1839/2628/126 1856/2627/126 1855/2631/334 +f 1844/2630/337 1863/2629/337 1862/2633/128 +f 1835/2632/334 1855/2631/334 1854/2635/151 +f 1845/2634/128 1862/2633/128 1861/2637/336 +f 1836/2636/151 1854/2635/151 1853/2638/333 diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_IONGEL.png b/src/main/resources/assets/hbm/textures/models/tank/tank_IONGEL.png new file mode 100644 index 0000000000000000000000000000000000000000..174c13aaabe9467dfd30673a6e2af8587757e01a GIT binary patch literal 1172 zcmeAS@N?(olHy`uVBq!ia0vp^RY2Us!3HEZPulwcNU;<Eakt zG3V`F`@Gu*BF77NozN_5JahA|o@C5|W^2(CoV%8;zRi7Pv)_e_Cq(#pA1Ma!NjF+eY?pLtp%wP|;i{_C}d$7alr zxA*IN`+LXz_p9H=2F~c7J^OH3UroJtm+Hku!kad;CG1{g zP=9Yxn0QBcQ%Cp*rMQKrTx(fc!E5i;!euop9^PKt*EPubh@164=A(uT(;W>M_UM}toZ~E004s_Dz)z4}>!Z|zV z?&W&5c=0~v?r+!To!dJkOuD-rJ*K+@_ zYdiQqYAJ5~xN5r0T<<*+#=kOT0$vDmRIS~eyXTT!K=!L$KnoOWO?0h*inLyA&3iOe zMvt!rX#Fcycj5JI?(%C{ET!1bAen#U*y;s8GagNyv+q%;{`H=P);hV3ZZXEoSiZ+; z9^4zw{Msn4Rc19O&_v&luL}3y-z~rW`}y|s$EB1%dI^ZLAM*b6$ieTf@_{97LQgVO zcYM!ExKqulKW*Cy5%1^&-bI<*AjuWcoN4Q)Bz((Ch>_vY*W)`Q0@is?8!8!R5V&ai zQr&?5rMeG}UJ{%6=#fK(>fR!Sw&1y~^)@y#viuj^wH+5uRfyx9)D;eloz%#ASNbn6 z5*CtLpCmS087yqLTG8N@ABT7J0@J9HXHNMOmb+>@?h#TET%WXPs^OLwOInVszEQdd z7z-+oLf>S}IT+!j@>sO>9Ls5cMGkP}u2|pA?0jL7@S)pW>0RIVHi>Tz&**i6SZtY= zKi^zdrn_S5ipaBN@g3o|A4JR2Zf(tZ6q@u#DSyuMTVlUOj%YjXQ`&vodCsxj*LJx+ zuZfC}xO?@|FH5n{DXZANDP^AjOSPO3$80&SllUo>tj==5HMi{ z$*+H4eyU>W!HmbEw-Uc`tqsgj1!gs1$Q;qG5L|EMx~EC}BSBHkqpSDFuQ55TziRG9 QU@^ns>FVdQ&MBb@06%;_iU0rr literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon.png index c581b38ae7e1baf8c6690090441fec5da627a8f7..93e7958ea079061f61a8271916cacd7c2472ee19 100644 GIT binary patch delta 2157 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 Date: Tue, 23 May 2023 21:54:10 +0200 Subject: [PATCH 111/285] fish oil, some experimental mixer stuff --- .../java/com/hbm/inventory/fluid/Fluids.java | 10 +++- .../hbm/inventory/recipes/CokerRecipes.java | 2 + .../inventory/recipes/CrucibleRecipes.java | 4 +- .../recipes/CrystallizerRecipes.java | 1 + .../recipes/LiquefactionRecipes.java | 8 +++ .../hbm/inventory/recipes/MixerRecipes.java | 46 ++++++++++++++++++ src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 2 + .../hbm/textures/gui/fluids/fishoil.png | Bin 0 -> 489 bytes .../hbm/textures/gui/fluids/sunfloweroil.png | Bin 0 -> 490 bytes .../hbm/textures/gui/processing/gui_mixer.png | Bin 3119 -> 3122 bytes .../gui/processing/gui_mixer_experimental.png | Bin 0 -> 3194 bytes .../hbm/textures/models/tank/tank_FISHOIL.png | Bin 0 -> 1350 bytes .../models/tank/tank_SUNFLOWEROIL.png | Bin 0 -> 1075 bytes 14 files changed, 72 insertions(+), 3 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/fishoil.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/sunfloweroil.png create mode 100644 src/main/resources/assets/hbm/textures/gui/processing/gui_mixer_experimental.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_FISHOIL.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_SUNFLOWEROIL.png diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index bf2ce2575..9b0c6f33a 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -130,6 +130,8 @@ public class Fluids { public static FluidType EGG; public static FluidType CHOLESTEROL; public static FluidType ESTRADIOL; + public static FluidType FISHOIL; + public static FluidType SUNFLOWEROIL; private static final HashMap idMapping = new HashMap(); private static final HashMap nameMapping = new HashMap(); @@ -270,7 +272,9 @@ public class Fluids { GAS_COKER = new FluidType("GAS_COKER", 0xDEF4CA, 1, 4, 0, EnumSymbol.NONE).addTraits(GASEOUS); EGG = new FluidType("EGG", 0xD2C273, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); CHOLESTEROL = new FluidType("CHOLESTEROL", 0xD6D2BD, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); - ESTRADIOL = new FluidType(109, "ESTRADIOL", 0xCDD5D8, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); + ESTRADIOL = new FluidType("ESTRADIOL", 0xCDD5D8, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); + FISHOIL = new FluidType("FISHOIL", 0x4B4A45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID); + SUNFLOWEROIL = new FluidType(111, "SUNFLOWEROIL", 0xCBAD45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID); // ^ ^ ^ ^ ^ ^ ^ ^ //ADD NEW FLUIDS HERE @@ -357,6 +361,8 @@ public class Fluids { metaOrder.add(BIOGAS); metaOrder.add(BIOFUEL); metaOrder.add(ETHANOL); + metaOrder.add(FISHOIL); + metaOrder.add(SUNFLOWEROIL); metaOrder.add(NITAN); metaOrder.add(BALEFIRE); //processing fluids @@ -523,6 +529,8 @@ public class Fluids { registerCalculatedFuel(WOODOIL, 110_000 /* 20_000 TU per 250mB + a bonus */, 0, null); registerCalculatedFuel(COALCREOSOTE, 250_000 /* 20_000 TU per 100mB + a bonus */, 0, null); + registerCalculatedFuel(FISHOIL, 75_000, 0, null); + registerCalculatedFuel(SUNFLOWEROIL, 50_000, 0, null); registerCalculatedFuel(SOLVENT, 100_000, 0, null); // flammable, sure, but not combustable registerCalculatedFuel(RADIOSOLVENT, 150_000, 0, null); diff --git a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java index 1c74b406c..e87da47ca 100644 --- a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java @@ -50,6 +50,8 @@ public class CokerRecipes extends SerializableRecipe { registerAuto(AROMATICS, GAS_COKER); registerAuto(REFORMATE, GAS_COKER); registerAuto(XYLENE, GAS_COKER); + registerAuto(FISHOIL, NAPHTHA_COKER); + registerAuto(SUNFLOWEROIL, GAS_COKER); registerSFAuto(WOODOIL, 340_000L, new ItemStack(Items.coal, 1, 1), GAS_COKER); diff --git a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java index 9fa52a29e..1c87197ba 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java @@ -186,11 +186,11 @@ public class CrucibleRecipes extends SerializableRecipe { input[i] = new MaterialStack(Mats.matByName.get(matname), amount); } MaterialStack[] output = new MaterialStack[obj.get("output").getAsJsonArray().size()]; - for(int i = 0; i < input.length; i++) { + for(int i = 0; i < output.length; i++) { JsonArray entry = obj.get("output").getAsJsonArray().get(i).getAsJsonArray(); String matname = entry.get(0).getAsString(); int amount = entry.get(1).getAsInt(); - input[i] = new MaterialStack(Mats.matByName.get(matname), amount); + output[i] = new MaterialStack(Mats.matByName.get(matname), amount); } recipes.add(new CrucibleRecipe(id, name, freq, icon).inputs(input).outputs(output)); } diff --git a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java index 933a7c970..3eee4adf6 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java @@ -102,6 +102,7 @@ public class CrystallizerRecipes extends SerializableRecipe { registerRecipe(new ComparableStack(ModItems.powder_semtex_mix), new CrystallizerRecipe(ModItems.ingot_semtex, baseTime)); 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, baseTime), new FluidStack(Fluids.FISHOIL, 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)); diff --git a/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java b/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java index bd6698749..7a663f90d 100644 --- a/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java @@ -23,6 +23,7 @@ import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.item.ItemFood; import net.minecraft.item.ItemStack; +import net.minecraftforge.oredict.OreDictionary; public class LiquefactionRecipes extends SerializableRecipe { @@ -56,6 +57,8 @@ public class LiquefactionRecipes extends SerializableRecipe { 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(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(Items.wheat_seeds), new FluidStack(50, Fluids.SEEDSLURRY)); recipes.put(new ComparableStack(Blocks.tallgrass, 1, 1), new FluidStack(100, Fluids.SEEDSLURRY)); @@ -74,6 +77,11 @@ public class LiquefactionRecipes extends SerializableRecipe { ComparableStack comp = new ComparableStack(stack.getItem(), 1, stack.getItemDamage()); + if(recipes.containsKey(comp)) + return recipes.get(comp); + + comp = new ComparableStack(stack.getItem(), 1, OreDictionary.WILDCARD_VALUE); + if(recipes.containsKey(comp)) return recipes.get(comp); diff --git a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java index 9e79c597a..421453a5d 100644 --- a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java @@ -21,12 +21,16 @@ import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemFluidIcon; +import net.minecraft.init.Blocks; import net.minecraft.init.Items; +import net.minecraftforge.oredict.OreDictionary; public class MixerRecipes extends SerializableRecipe { public static HashMap recipes = new HashMap(); + public static HashMap recipes_experimental = new HashMap(); + @Override public void registerDefaults() { recipes.put(Fluids.COOLANT, new MixerRecipe(2_000, 50).setStack1(new FluidStack(Fluids.WATER, 1_800)).setSolid(new OreDictStack(KNO.dust()))); @@ -40,6 +44,8 @@ public class MixerRecipes extends SerializableRecipe { recipes.put(Fluids.MUSTARDGAS, new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.REFORMGAS, 750)).setStack2(new FluidStack(Fluids.CHLORINE, 250)).setSolid(new OreDictStack(S.dust()))); recipes.put(Fluids.IONGEL, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.WATER, 1000)).setStack2(new FluidStack(Fluids.HYDROGEN, 200)).setSolid(new ComparableStack(ModItems.pellet_charged))); recipes.put(Fluids.EGG, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.RADIOSOLVENT, 500)).setSolid(new ComparableStack(Items.egg))); + recipes.put(Fluids.FISHOIL, new MixerRecipe(100, 50).setSolid(new ComparableStack(Items.fish, 1, OreDictionary.WILDCARD_VALUE))); + recipes.put(Fluids.SUNFLOWEROIL, new MixerRecipe(100, 50).setSolid(new ComparableStack(Blocks.double_plant, 1, 0))); recipes.put(Fluids.SOLVENT, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500))); recipes.put(Fluids.SULFURIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.ACID, 800)).setSolid(new OreDictStack(S.dust()))); @@ -62,6 +68,22 @@ public class MixerRecipes extends SerializableRecipe { recipes.put(Fluids.KEROSENE_REFORM, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.KEROSENE, 900)).setStack2(new FluidStack(Fluids.REFORMATE, 100))); } + public static void registerExperimental(FluidType type, MixerRecipe... recipes) { + recipes_experimental.put(type, recipes); + } + + public static MixerRecipe[] getOutputExperimental(FluidType type) { + return recipes_experimental.get(type); + } + + public static MixerRecipe getOutputExperimental(FluidType type, int index) { + MixerRecipe[] recs = recipes_experimental.get(type); + + if(recs == null) return null; + + return recs[index % recs.length]; + } + public static MixerRecipe getOutput(FluidType type) { return recipes.get(type); } @@ -130,6 +152,30 @@ public class MixerRecipes extends SerializableRecipe { return recipes; } + + public static HashMap getRecipesExperimental() { + + HashMap recipes = new HashMap(); + + for(Entry entry : MixerRecipes.recipes_experimental.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; diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 4a9c5faf2..8f2c19202 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -625,6 +625,7 @@ hbmfluid.egg=Gelöstes Ei hbmfluid.estradiol=Estradiollösung hbmfluid.ethanol=Ethanol hbmfluid.enderjuice=Endersaft +hbmfluid.fishoil=Fischöl hbmfluid.fracksol=Frackinglösung hbmfluid.gas=Erdgas hbmfluid.gas_coker=Koker-Gas @@ -689,6 +690,7 @@ hbmfluid.sourgas=Saures Gas hbmfluid.spentsteam=Niedrigdruckdampf hbmfluid.steam=Dampf hbmfluid.sulfuric_acid=Schwefelsäure +hbmfluid.sunfloweroil=Sonnenblumenkernöl hbmfluid.superhotsteam=Superverdichteter Dampf hbmfluid.syngas=Synthesegas hbmfluid.tritium=Tritium diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index b179aee53..9ba04761b 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1197,6 +1197,7 @@ hbmfluid.egg=Dissolved Egg hbmfluid.estradiol=Estradiol Solution hbmfluid.ethanol=Ethanol hbmfluid.enderjuice=Ender Juice +hbmfluid.fishoil=Fish Oil hbmfluid.fracksol=Fracking Solution hbmfluid.gas=Natural Gas hbmfluid.gas_coker=Coker Gas @@ -1261,6 +1262,7 @@ hbmfluid.sourgas=Sour Gas hbmfluid.spentsteam=Low-Pressure Steam hbmfluid.steam=Steam hbmfluid.sulfuric_acid=Sulfuric Acid +hbmfluid.sunfloweroil=Sunflower Seed Oil hbmfluid.superhotsteam=Super Dense Steam hbmfluid.syngas=Syngas hbmfluid.tritium=Tritium diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/fishoil.png b/src/main/resources/assets/hbm/textures/gui/fluids/fishoil.png new file mode 100644 index 0000000000000000000000000000000000000000..59a2057bdb491f1ecf6cfd833124cf81499a9f27 GIT binary patch literal 489 zcmV@o%48uU%w%BnTQA&|gLMesT8m%=cB~nVI zp@^{WJKlTddFJ(cky64MV^B&VBIQ8-R!U*5MJYwwwq-K!{r~>}F~(9b#^9VI##nC8 zb*(k)x|Tepgw6PjF=d_SnUqpFtdzogf8a(bMT`-fZw3kktu<}ivhRCo(lia*wjm;j zNP%IUbL{($h#VSi+g3&e$Vv^vP>BBd`N8&m&-Hrc{eCk|Q^DQ$Jt2ewC9mT+VvM2d zy05H#-?JZmoYNvyfjS|cKa5WYUh zrm0!Z>eP-j#uPQ0runK+Z>*K5^SYKN3L$(ss7K2i>ZtSD;whysZ}nrzo3nhirJJU~ z7{jtG2bc#4H4k}2tu$qO8hzPgajmP6rd}5oXp>1122mo|l$K`S%#>nUMA;yUJ gp6By<@I^M*KYijnZ0#n!+W-In07*qoM6N<$f;^7o1ONa4 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_mixer.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_mixer.png index dae11341596fb9f50342357f592ecdd19a724971..1bb5e85f15bff9b71477d24b72c32ca467896ce5 100644 GIT binary patch delta 2725 zcmYLJdpwkB8-Cu`n1e%%3XK?}Eee?$QaMc_*^=3rXmDDiBoY|Tijl*oQU}NH4+cDWjmyY5ht5#8-`Ibi*`TQaV{sZdxrj3u4 z%!<4)QP5RaTSH?fJ@K^BM8rjFot(dK^@#1n{sL}O5o0QN&GXdpoAb_Ri@p;Vg^{rR019qsg zl3@gxZ(Y9d&VL<$hUW#HOGX{E`PbfNec*zek0NMz1H9y9bL>d zp(q~oBWxH&qKX-}YOx6e{W(#*j9)qB(ULC>pa3~Z~6hlj}>i!Jp<+0Pn0AL+`A z|Ky-A@PaF&KlcR)QSnIpS_k=Hfhm7}%y^~4*yjFnRUA>Etmk{W57Fd=X?rHILjKj(0BHJ%D zv^qUmEYgA|T*gLrZArtQZxlzndvkaF7g|F&{pD zGPYN)x@HHN($x(O-pQSa)TD0E7&|mu@Vv}EVf@1NO6hxKy;QoK12<=PgEQgnpx1kA zgPIcGykl{q<(^TLd8O2&rvMz;NO%~dLMN7{YFUA$n%;s-J9@Y!&pI>N$d$!NTb8kMc|5`%9f6)VH2~Gd-fo_1=D>$Zn5%>Wa;zV>;8bX2x{HmbpjVB8g$$( zkQpYSSib47XM^Qq&d}pE`;&xFFDo+xp{b#zH<9QPZd6u!%+ln-uq-I`OLwbvK4++U zjnHS&(te1p{|E}*8=_{X_K*%8+^%&&xz?tlSJjw!4s2OORejLMTZfDp09$T-H zaFY4;N-^Z{H2|!%fr)TJp$0pL7SB?RzrVW-8}o_pJy=JGB`aycCm*P@wXE2pHfh~u zdNGL;e6ulQQd#$&&Ncmbe0)HN68Cp>T%e!mZY<@JyL2|~9Cj_jfelf|;ESM?CzUMK zh;VJi6lm7eov#I+O4s3P^5$jIMy;#`;Vr_s5!_^Jt6@MS@2-NQ&1Lk!yVeILLf;$MMWaP!H}IaydTaXktDP%O z=jP4<6MrQW%DXt|+^F%x0#wB=4aMO5m?;UuGOlz3lk-Cs2QU#uIpnD%L`< z!Z8eY=inpVWD?u%lM?skES!HA8N3Kl$={_BtQNXQq7wT4xpdBl(3mONh}KYQ%&--K zu>)ic7+|}aTm+D-3iqN{%w#aS<$nw^J?e#t3Hjf;>zq%S>mM~Nu+rK>tLXgNl+tqGL5EI zZOJ5b@!R!0O|$?>5~DD5SDC3=@aX6l;U4Trx*h19c{|}Y99L|I3Gcn3_bB!{C3&G7 zOGi5B9a?brV`%~TslfY5pb$~2wx)Op%NJIyI@J_M5Y8O$SIRH%r z{EO-|vj^OIyX8f2yD|)no*&Eb#IT9}oI1f4m{Fg_WFZ2YjPm>-<6M>!=LG-sAtml# zo82n5lfCfIz29sH`E9IKpmZ5yXyhdFHS^sKI+sJ;R}MO>ShP>#(`7x`rgMZNpEnsY zbRnR-3xF#`VDdrSRq}@hq~(S2i;=(K{pIb_`mGgn%h&1WBNco;Id7FuL`;mC)^KbR zA(*wW;h;@v;xi2ZQqvve!6Xgys#8fXSpy*z!3&OwuYxH%@lI3eR9RlLL04BMp4M)n z{XtnUKRfx_K%FXh`}StiXJWA0LkuSEtm=xi2^G?oQSnMyU!S2&d1hv2U|`@<4- z8x69(S}1P3Jyf-h$J6-=CnhF_hllU9c}#nvAL`+rxF@Yo#d^o6Sc4H3=DtirBOwsw z;aI*&jUg4jSCjmDqT}`Be=fKZnPmg(>+4@lYMh!XYh04N$VgJ0&qa0;P4q)RS_#1- zO+dh{slP#g>=A3TJMsU~NX*^bPdz~{+=xO*q0_%ujI|B?cAs?IF!#NFJeyRuX1}c; ztcbINFo59`MojgOKcTp|23}(jseB*Jk+(H>+3o-Fal7h^1^>OvKR$0+4czczE%>(` z^p)0fm(|uzN6UQ7yqHX8#70I+He^=G<0Tv5saR#f)-3(14dE*U(Q0vNZ&h8=`c$zx a$Hx#K)f(}5+js#$m#gzWr{bNAU;Y7kr~79B delta 2717 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 RuYzyjAl>yqm4pBJ{{f-52?YQE diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_mixer_experimental.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_mixer_experimental.png new file mode 100644 index 0000000000000000000000000000000000000000..a04e3e7a7aa6e466705f4cae7b27c2ba3b8cc458 GIT binary patch literal 3194 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 Qmm8?o7WU*~Gs=~}1EiZ{`v3p{ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_FISHOIL.png b/src/main/resources/assets/hbm/textures/models/tank/tank_FISHOIL.png new file mode 100644 index 0000000000000000000000000000000000000000..5b9c063b537df683600ebde779e4e786bd64a2ee GIT binary patch literal 1350 zcmV-M1-bf(P)*xP zba%7tXP=qpv-8ZPAqUH^y!^oBb{Mw)^=4z#ZQ`%((xnw`e6u$AI*KA49_)?fxiknd z9Ib`LL9nfbMMY7hna2IGJT^faF*EHafXN_eBM91vk+VXHS$9!+XWc$Aq64yYX=Ui^ z*23c09-CQrK&V$JjZL=^1Z@OC8$rGDhtyeC$n`N~6llQfa?`xwddRVXA?l!w~+MA3TXvX7=-c{Hhd<mCIvgVKNqwtP8WdydkpQ4Ad)+SR9B{EDl5_4r&-dk2ZpHucnN1uaJsMTT~R6 zwm>Q_ZGlY8x{cuIl@T1hnlcs#A{C1RD=MVLfsE*YaPAc{G3z#hO}7zT+G5JMv;|Ue zX^VjOc*4)~o)EJP+!XN51M+k*gt4 zuL8oQEl?UGy5d|mXdF7*C6`hSU84HNddPUF` zQTFmv?4yk!Xd|ds9))z}Kt^;x__M+l71H0mV%8lHj$WZOf;NJnji6q|tgUZIl2(?N zBuQ_*e_226ey{H~t`vGa>Q#XHAt%3!Bp+ zpFi^-9?TK7o!uwNTR9`i8!`aU9_1AHJ>mm!4Pi>=_;X-czsB)#HCZ zq9@O{BuNLJgXZX!C-IQ4cdreF+&p_mot<4B{CHD8Y~PS1J^Rf0X+GUj%A{gFZKA3KK6tpsoid$`WjE_wKX}S`#m`s^48|6wl-IFbN^e-HRsj6{qu?Y zh)J8>BMGxXMIz1&3Wx_-x>s6B;+D|)+>`Ey6>|$-wP&WsrZ!x zU6`&{?|kuzB&pZwsJ{?g+$)qu&_)on5!5S>s8>iuy{ahc6;e^J zP#QrSLC{7}uRNk&Arc#16vpxAA~)!o1LOedlF3UuWlHx3bd0PMWCc7nNK45{=dlyWZBRQDSi^g>_p+ukB|Q}+u^MbpMUSBw&@<* z$Cq2Vx%_o{9YT=%{d1DbuTq{)NP3tosq|v+c&Qd$E#%fCSDmLUSV}~-A+(wCn&TN#4AI@D?|~m3Prqv ziLp}!U3UdET|9-ZKnP)S8wy>4uV4O7ZbQ5>w06AW99@W|@k+BD@ygIz@k+BD@v0(p z-JsAlAV)i)$@oMs6yo)(s1h%@xy5B#mZ&7OgAn3X)pt;sf zp`D=66;NI4&S?T$ZPq%roTCe~G+t@W(Znl5Ob$d+ZI0&3Sml^A<^(w!C)~XgIrCI=!Zx^5>JbvwarN+(#_Vq+|Afhd-?C=`xPJM!K8TF2jpqdP7tpQS;VV; zw4y~9NE5G?L@N>El_`sOwIo`J5U+}-?YbFt7vkLIr#MGDL7|->UKz@1*~F`i zbc@^;Huk%%(RH6;sG!}~TXo~9xh?ciOO6f5YACkLLQi$qH5QwtEew78{$4~xnx+{% z#%mp0mn}NhQe)@na|dNj)9l8I+-DiDT#vfP3c1C|ySqfi;dmt>gwy&Y=Z?Bv7g~gP zQmm7$#C)qlj`xeAre$zcEh002ovPDHLkV1iDi{v`ka literal 0 HcmV?d00001 From 305b7232f23ad4f1d26e55cea170179c95fe6b35 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 24 May 2023 14:35:43 +0200 Subject: [PATCH 112/285] Blast fishing, fish bombing, dynamite fishing or grenade fishing is a de structive fishing practice using explosives to stun or kill schools of fish for easy collection. --- .../java/com/hbm/crafting/WeaponRecipes.java | 1 + .../grenade/EntityGrenadeBouncyGeneric.java | 2 +- .../grenade/EntityGrenadeImpactGeneric.java | 2 +- .../entity/projectile/EntityRBMKDebris.java | 48 +++--- .../java/com/hbm/inventory/fluid/Fluids.java | 5 +- .../java/com/hbm/inventory/gui/GUIMixer.java | 38 +++++ .../hbm/inventory/recipes/CokerRecipes.java | 2 +- .../recipes/CrystallizerRecipes.java | 16 +- .../hbm/inventory/recipes/MixerRecipes.java | 160 +++++++++--------- src/main/java/com/hbm/items/ModItems.java | 2 + .../hbm/items/weapon/ItemGenericGrenade.java | 4 +- .../hbm/items/weapon/ItemGrenadeFishing.java | 59 +++++++ .../machine/TileEntityMachineMixer.java | 41 ++++- src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 2 + .../hbm/textures/gui/processing/gui_mixer.png | Bin 3122 -> 3194 bytes .../gui/processing/gui_mixer_experimental.png | Bin 3194 -> 0 bytes .../textures/items/stick_dynamite_fishing.png | Bin 0 -> 215 bytes 18 files changed, 263 insertions(+), 121 deletions(-) create mode 100644 src/main/java/com/hbm/items/weapon/ItemGrenadeFishing.java delete mode 100644 src/main/resources/assets/hbm/textures/gui/processing/gui_mixer_experimental.png create mode 100644 src/main/resources/assets/hbm/textures/items/stick_dynamite_fishing.png diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index 72585ccb7..87da12304 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -348,6 +348,7 @@ public class WeaponRecipes { //Sticks of explosives CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_dynamite, 4), new Object[] { " S ", "PDP", "PDP", 'S', ModItems.safety_fuse, 'P', Items.paper, 'D', ModItems.ball_dynamite }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.stick_dynamite_fishing, 1), new Object[] { ModItems.stick_dynamite, ModItems.stick_dynamite, ModItems.stick_dynamite, Items.paper, ANY_TAR.any() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_tnt, 4), new Object[] { " S ", "PDP", "PDP", 'S', ModBlocks.det_cord, 'P', Items.paper, 'D', ModItems.ball_tnt }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_semtex, 4), new Object[] { " S ", "PDP", "PDP", 'S', ModBlocks.det_cord, 'P', Items.paper, 'D', ModItems.ingot_semtex }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_c4, 4), new Object[] { " S ", "PDP", "PDP", 'S', ModBlocks.det_cord, 'P', Items.paper, 'D', ModItems.ingot_c4 }); diff --git a/src/main/java/com/hbm/entity/grenade/EntityGrenadeBouncyGeneric.java b/src/main/java/com/hbm/entity/grenade/EntityGrenadeBouncyGeneric.java index cc440ec35..05f5326dd 100644 --- a/src/main/java/com/hbm/entity/grenade/EntityGrenadeBouncyGeneric.java +++ b/src/main/java/com/hbm/entity/grenade/EntityGrenadeBouncyGeneric.java @@ -40,7 +40,7 @@ public class EntityGrenadeBouncyGeneric extends EntityGrenadeBouncyBase implemen @Override public void explode() { - getGrenade().explode(worldObj, posX, posY, posZ); + getGrenade().explode(this, this.getThrower(), worldObj, posX, posY, posZ); this.setDead(); } diff --git a/src/main/java/com/hbm/entity/grenade/EntityGrenadeImpactGeneric.java b/src/main/java/com/hbm/entity/grenade/EntityGrenadeImpactGeneric.java index febe81373..82d4e89ca 100644 --- a/src/main/java/com/hbm/entity/grenade/EntityGrenadeImpactGeneric.java +++ b/src/main/java/com/hbm/entity/grenade/EntityGrenadeImpactGeneric.java @@ -42,7 +42,7 @@ public class EntityGrenadeImpactGeneric extends EntityGrenadeBase implements IGe public void explode() { if(!this.worldObj.isRemote && getGrenade() != null) { - getGrenade().explode(worldObj, posX, posY, posZ); + getGrenade().explode(this, this.getThrower(), worldObj, posX, posY, posZ); this.setDead(); } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityRBMKDebris.java b/src/main/java/com/hbm/entity/projectile/EntityRBMKDebris.java index c92fb2ae6..0bc62c9e3 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityRBMKDebris.java +++ b/src/main/java/com/hbm/entity/projectile/EntityRBMKDebris.java @@ -68,30 +68,6 @@ public class EntityRBMKDebris extends EntityDebrisBase { hasSizeSet = true; } - this.prevPosX = this.posX; - this.prevPosY = this.posY; - this.prevPosZ = this.posZ; - - this.motionY -= 0.04D; - this.moveEntity(this.motionX, this.motionY, this.motionZ); - - this.lastRot = this.rot; - - if(this.onGround) { - this.motionX *= 0.85D; - this.motionZ *= 0.85D; - this.motionY *= -0.5D; - - } else { - - this.rot += 10F; - - if(rot >= 360F) { - this.rot -= 360F; - this.lastRot -= 360F; - } - } - if(!worldObj.isRemote) { if(this.getType() == DebrisType.LID && motionY > 0) { @@ -133,6 +109,30 @@ public class EntityRBMKDebris extends EntityDebrisBase { if(!RBMKDials.getPermaScrap(worldObj) && this.ticksExisted > getLifetime() + this.getEntityId() % 50) this.setDead(); } + + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; + + this.motionY -= 0.04D; + this.moveEntity(this.motionX, this.motionY, this.motionZ); + + this.lastRot = this.rot; + + if(this.onGround) { + this.motionX *= 0.85D; + this.motionZ *= 0.85D; + this.motionY *= -0.5D; + + } else { + + this.rot += 10F; + + if(rot >= 360F) { + this.rot -= 360F; + this.lastRot -= 360F; + } + } } @Override diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index 9b0c6f33a..b7c73b12e 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -132,6 +132,7 @@ public class Fluids { public static FluidType ESTRADIOL; public static FluidType FISHOIL; public static FluidType SUNFLOWEROIL; + public static FluidType NITROGLYCERIN; private static final HashMap idMapping = new HashMap(); private static final HashMap nameMapping = new HashMap(); @@ -274,7 +275,8 @@ public class Fluids { CHOLESTEROL = new FluidType("CHOLESTEROL", 0xD6D2BD, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); ESTRADIOL = new FluidType("ESTRADIOL", 0xCDD5D8, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); FISHOIL = new FluidType("FISHOIL", 0x4B4A45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID); - SUNFLOWEROIL = new FluidType(111, "SUNFLOWEROIL", 0xCBAD45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID); + SUNFLOWEROIL = new FluidType("SUNFLOWEROIL", 0xCBAD45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID); + NITROGLYCERIN = new FluidType(112, "SUNFLOWEROIL", 0xCBAD45, 0, 4, 0, EnumSymbol.NONE).addTraits(LIQUID); // ^ ^ ^ ^ ^ ^ ^ ^ //ADD NEW FLUIDS HERE @@ -390,6 +392,7 @@ public class Fluids { metaOrder.add(PHOSGENE); metaOrder.add(MUSTARDGAS); metaOrder.add(ESTRADIOL); + metaOrder.add(NITROGLYCERIN); //antimatter metaOrder.add(AMAT); metaOrder.add(ASCHRAB); diff --git a/src/main/java/com/hbm/inventory/gui/GUIMixer.java b/src/main/java/com/hbm/inventory/gui/GUIMixer.java index ae109391e..9d082bbfe 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMixer.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMixer.java @@ -1,14 +1,26 @@ package com.hbm.inventory.gui; +import java.util.ArrayList; +import java.util.List; + import org.lwjgl.opengl.GL11; 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.AuxButtonPacket; +import com.hbm.packet.NBTControlPacket; +import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.machine.TileEntityMachineMixer; +import com.hbm.util.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 GUIMixer extends GuiInfoContainer { @@ -29,12 +41,38 @@ public class GUIMixer extends GuiInfoContainer { super.drawScreen(x, y, interp); this.drawElectricityInfo(this, x, y, guiLeft + 23, guiTop + 23, 16, 52, mixer.getPower(), mixer.getMaxPower()); + + MixerRecipe[] recipes = MixerRecipes.getOutput(mixer.tanks[2].getTankType()); + + if(recipes != null && recipes.length > 1) { + List label = new ArrayList(); + label.add(EnumChatFormatting.YELLOW + "Current recipe (" + (mixer.recipeIndex + 1) + "/" + recipes.length + "):"); + MixerRecipe recipe = recipes[mixer.recipeIndex % recipes.length]; + if(recipe.input1 != null) label.add("-" + I18nUtil.resolveKey(recipe.input1.type.getUnlocalizedName())); + if(recipe.input2 != null) label.add("-" + I18nUtil.resolveKey(recipe.input2.type.getUnlocalizedName())); + if(recipe.solidInput != null) label.add("-" + recipe.solidInput.extractForCyclingDisplay(20).getDisplayName()); + label.add(EnumChatFormatting.RED + "Click to change!"); + this.drawCustomInfoStat(x, y, guiLeft + 62, guiTop + 22, 12, 12, x, y, label); + } mixer.tanks[0].renderTankInfo(this, x, y, guiLeft + 43, guiTop + 23, 7, 52); mixer.tanks[1].renderTankInfo(this, x, y, guiLeft + 52, guiTop + 23, 7, 52); mixer.tanks[2].renderTankInfo(this, x, y, guiLeft + 117, guiTop + 23, 16, 52); } + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + if(guiLeft + 62 <= x && guiLeft + 62 + 12 > x && guiTop + 22 < y && guiTop + 22 + 12 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("toggle", true); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, mixer.xCoord, mixer.yCoord, mixer.zCoord)); + } + } + @Override protected void drawGuiContainerForegroundLayer( int i, int j) { diff --git a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java index e87da47ca..01dfe8dd6 100644 --- a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java @@ -50,7 +50,7 @@ public class CokerRecipes extends SerializableRecipe { registerAuto(AROMATICS, GAS_COKER); registerAuto(REFORMATE, GAS_COKER); registerAuto(XYLENE, GAS_COKER); - registerAuto(FISHOIL, NAPHTHA_COKER); + registerAuto(FISHOIL, MERCURY); registerAuto(SUNFLOWEROIL, GAS_COKER); registerSFAuto(WOODOIL, 340_000L, new ItemStack(Items.coal, 1, 1), GAS_COKER); diff --git a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java index 3eee4adf6..7b73f053f 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java @@ -127,13 +127,15 @@ public class CrystallizerRecipes extends SerializableRecipe { registerRecipe(new ComparableStack(ModItems.ore_nitrocrystalline, 1, i), new CrystallizerRecipe(new ItemStack(ModItems.ore_seared, 1, i), oreTime), hiperf); } - FluidStack woodOil = new FluidStack(Fluids.WOODOIL, 100); - registerRecipe(COAL.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLACK, 4), 20), woodOil); - registerRecipe(TI.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.WHITE, 4), 20), woodOil); - registerRecipe(IRON.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.RED, 4), 20), woodOil); - registerRecipe(W.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.YELLOW, 4), 20), woodOil); - registerRecipe(CU.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.GREEN, 4), 20), woodOil); - registerRecipe(CO.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLUE, 4), 20), woodOil); + FluidStack[] dyes = new FluidStack[] {new FluidStack(Fluids.WOODOIL, 100), new FluidStack(Fluids.FISHOIL, 100)}; + for(FluidStack dye : dyes) { + registerRecipe(COAL.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLACK, 4), 20), dye); + registerRecipe(TI.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.WHITE, 4), 20), dye); + registerRecipe(IRON.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.RED, 4), 20), dye); + registerRecipe(W.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.YELLOW, 4), 20), dye); + registerRecipe(CU.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.GREEN, 4), 20), dye); + registerRecipe(CO.dust(), new CrystallizerRecipe(DictFrame.fromOne(ModItems.chemical_dye, EnumChemDye.BLUE, 4), 20), 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)); registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK)), new CrystallizerRecipe(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WAX), 20), new FluidStack(Fluids.CHLORINE, 100)); diff --git a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java index 421453a5d..d1a12d6f2 100644 --- a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java @@ -8,6 +8,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map.Entry; +import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; @@ -27,67 +28,72 @@ import net.minecraftforge.oredict.OreDictionary; public class MixerRecipes extends SerializableRecipe { - public static HashMap recipes = new HashMap(); - - public static HashMap recipes_experimental = new HashMap(); + public static HashMap recipes = new HashMap(); @Override public void registerDefaults() { - recipes.put(Fluids.COOLANT, new MixerRecipe(2_000, 50).setStack1(new FluidStack(Fluids.WATER, 1_800)).setSolid(new OreDictStack(KNO.dust()))); - recipes.put(Fluids.CRYOGEL, new MixerRecipe(2_000, 50).setStack1(new FluidStack(Fluids.COOLANT, 1_800)).setSolid(new ComparableStack(ModItems.powder_ice))); - recipes.put(Fluids.NITAN, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.KEROSENE, 600)).setStack2(new FluidStack(Fluids.MERCURY, 200)).setSolid(new ComparableStack(ModItems.powder_nitan_mix))); - recipes.put(Fluids.FRACKSOL, new MixerRecipe(1_000, 20).setStack1(new FluidStack(Fluids.SULFURIC_ACID, 900)).setStack2(new FluidStack(Fluids.PETROLEUM, 100))); - recipes.put(Fluids.ENDERJUICE, new MixerRecipe(100, 100).setStack1(new FluidStack(Fluids.XPJUICE, 500)).setSolid(new OreDictStack(DIAMOND.dust()))); - recipes.put(Fluids.SALIENT, new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.SEEDSLURRY, 500)).setStack2(new FluidStack(Fluids.BLOOD, 500))); - recipes.put(Fluids.COLLOID, new MixerRecipe(500, 20).setStack1(new FluidStack(Fluids.WATER, 500)).setSolid(new ComparableStack(ModItems.dust))); - recipes.put(Fluids.PHOSGENE, new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.UNSATURATEDS, 500)).setStack2(new FluidStack(Fluids.CHLORINE, 500))); - recipes.put(Fluids.MUSTARDGAS, new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.REFORMGAS, 750)).setStack2(new FluidStack(Fluids.CHLORINE, 250)).setSolid(new OreDictStack(S.dust()))); - recipes.put(Fluids.IONGEL, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.WATER, 1000)).setStack2(new FluidStack(Fluids.HYDROGEN, 200)).setSolid(new ComparableStack(ModItems.pellet_charged))); - recipes.put(Fluids.EGG, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.RADIOSOLVENT, 500)).setSolid(new ComparableStack(Items.egg))); - recipes.put(Fluids.FISHOIL, new MixerRecipe(100, 50).setSolid(new ComparableStack(Items.fish, 1, OreDictionary.WILDCARD_VALUE))); - recipes.put(Fluids.SUNFLOWEROIL, new MixerRecipe(100, 50).setSolid(new ComparableStack(Blocks.double_plant, 1, 0))); + register(Fluids.COOLANT, new MixerRecipe(2_000, 50).setStack1(new FluidStack(Fluids.WATER, 1_800)).setSolid(new OreDictStack(KNO.dust()))); + register(Fluids.CRYOGEL, new MixerRecipe(2_000, 50).setStack1(new FluidStack(Fluids.COOLANT, 1_800)).setSolid(new ComparableStack(ModItems.powder_ice))); + register(Fluids.NITAN, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.KEROSENE, 600)).setStack2(new FluidStack(Fluids.MERCURY, 200)).setSolid(new ComparableStack(ModItems.powder_nitan_mix))); + register(Fluids.FRACKSOL, + new MixerRecipe(1_000, 20).setStack1(new FluidStack(Fluids.SULFURIC_ACID, 900)).setStack2(new FluidStack(Fluids.PETROLEUM, 100)), + new MixerRecipe(1_000, 20).setStack1(new FluidStack(Fluids.WATER, 1000)).setStack2(new FluidStack(Fluids.PETROLEUM, 100)).setSolid(new OreDictStack(S.dust()))); + register(Fluids.ENDERJUICE, new MixerRecipe(100, 100).setStack1(new FluidStack(Fluids.XPJUICE, 500)).setSolid(new OreDictStack(DIAMOND.dust()))); + register(Fluids.SALIENT, new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.SEEDSLURRY, 500)).setStack2(new FluidStack(Fluids.BLOOD, 500))); + register(Fluids.COLLOID, new MixerRecipe(500, 20).setStack1(new FluidStack(Fluids.WATER, 500)).setSolid(new ComparableStack(ModItems.dust))); + register(Fluids.PHOSGENE, new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.UNSATURATEDS, 500)).setStack2(new FluidStack(Fluids.CHLORINE, 500))); + register(Fluids.MUSTARDGAS, new MixerRecipe(1000, 20).setStack1(new FluidStack(Fluids.REFORMGAS, 750)).setStack2(new FluidStack(Fluids.CHLORINE, 250)).setSolid(new OreDictStack(S.dust()))); + register(Fluids.IONGEL, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.WATER, 1000)).setStack2(new FluidStack(Fluids.HYDROGEN, 200)).setSolid(new ComparableStack(ModItems.pellet_charged))); + register(Fluids.EGG, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.RADIOSOLVENT, 500)).setSolid(new ComparableStack(Items.egg))); + register(Fluids.FISHOIL, new MixerRecipe(100, 50).setSolid(new ComparableStack(Items.fish, 1, OreDictionary.WILDCARD_VALUE))); + register(Fluids.SUNFLOWEROIL, new MixerRecipe(100, 50).setSolid(new ComparableStack(Blocks.double_plant, 1, 0))); - recipes.put(Fluids.SOLVENT, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500))); - recipes.put(Fluids.SULFURIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.ACID, 800)).setSolid(new OreDictStack(S.dust()))); - recipes.put(Fluids.NITRIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.SULFURIC_ACID, 500)).setSolid(new OreDictStack(KNO.dust()))); - recipes.put(Fluids.RADIOSOLVENT, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.REFORMGAS, 750)).setStack2(new FluidStack(Fluids.CHLORINE, 250))); - recipes.put(Fluids.SCHRABIDIC, new MixerRecipe(16_000, 100).setStack1(new FluidStack(Fluids.SAS3, 8_000)).setStack2(new FluidStack(Fluids.ACID, 6_000)).setSolid(new ComparableStack(ModItems.pellet_charged))); + register(Fluids.SOLVENT, new MixerRecipe(1000, 50).setStack1(new FluidStack(Fluids.NAPHTHA, 500)).setStack2(new FluidStack(Fluids.AROMATICS, 500))); + register(Fluids.SULFURIC_ACID, new MixerRecipe(500, 50).setStack1(new FluidStack(Fluids.ACID, 800)).setSolid(new OreDictStack(S.dust()))); + register(Fluids.NITRIC_ACID, new MixerRecipe(500, 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.ACID, 6_000)).setSolid(new ComparableStack(ModItems.pellet_charged))); - recipes.put(Fluids.LUBRICANT, new MixerRecipe(1_000, 20).setStack1(new FluidStack(Fluids.HEATINGOIL, 500)).setStack2(new FluidStack(Fluids.UNSATURATEDS, 500))); - recipes.put(Fluids.PETROIL, new MixerRecipe(1_000, 30).setStack1(new FluidStack(Fluids.RECLAIMED, 800)).setStack2(new FluidStack(Fluids.LUBRICANT, 200))); + 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)), + new MixerRecipe(1_000, 20).setStack1(new FluidStack(Fluids.FISHOIL, 800)).setStack2(new FluidStack(Fluids.ETHANOL, 200)), + new MixerRecipe(1_000, 20).setStack1(new FluidStack(Fluids.SUNFLOWEROIL, 800)).setStack2(new FluidStack(Fluids.ETHANOL, 200))); + register(Fluids.BIOFUEL, + new MixerRecipe(250, 20).setStack1(new FluidStack(Fluids.FISHOIL, 500)).setStack2(new FluidStack(Fluids.WOODOIL, 500)), + new MixerRecipe(200, 20).setStack1(new FluidStack(Fluids.SUNFLOWEROIL, 500)).setStack2(new FluidStack(Fluids.WOODOIL, 500))); + 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))); - recipes.put(Fluids.SYNGAS, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.COALOIL, 500)).setStack2(new FluidStack(Fluids.STEAM, 500))); - recipes.put(Fluids.OXYHYDROGEN, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.HYDROGEN, 500)).setStack2(new FluidStack(Fluids.OXYGEN, 500))); + 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)).setStack2(new FluidStack(Fluids.OXYGEN, 500))); - recipes.put(Fluids.PETROIL_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.PETROIL, 10_000)).setSolid(new ComparableStack(ModItems.antiknock))); - recipes.put(Fluids.GASOLINE_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.GASOLINE, 10_000)).setSolid(new ComparableStack(ModItems.antiknock))); - recipes.put(Fluids.COALGAS_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.COALGAS, 10_000)).setSolid(new ComparableStack(ModItems.antiknock))); + register(Fluids.PETROIL_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.PETROIL, 10_000)).setSolid(new ComparableStack(ModItems.antiknock))); + register(Fluids.GASOLINE_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.GASOLINE, 10_000)).setSolid(new ComparableStack(ModItems.antiknock))); + register(Fluids.COALGAS_LEADED, new MixerRecipe(12_000, 40).setStack1(new FluidStack(Fluids.COALGAS, 10_000)).setSolid(new ComparableStack(ModItems.antiknock))); - recipes.put(Fluids.DIESEL_REFORM, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.DIESEL, 900)).setStack2(new FluidStack(Fluids.REFORMATE, 100))); - recipes.put(Fluids.DIESEL_CRACK_REFORM, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.DIESEL_CRACK, 900)).setStack2(new FluidStack(Fluids.REFORMATE, 100))); - recipes.put(Fluids.KEROSENE_REFORM, new MixerRecipe(1_000, 50).setStack1(new FluidStack(Fluids.KEROSENE, 900)).setStack2(new FluidStack(Fluids.REFORMATE, 100))); + 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))); } - public static void registerExperimental(FluidType type, MixerRecipe... recipes) { - recipes_experimental.put(type, recipes); + public static void register(FluidType type, MixerRecipe... rec) { + recipes.put(type, rec); } - public static MixerRecipe[] getOutputExperimental(FluidType type) { - return recipes_experimental.get(type); + public static MixerRecipe[] getOutput(FluidType type) { + return recipes.get(type); } - public static MixerRecipe getOutputExperimental(FluidType type, int index) { - MixerRecipe[] recs = recipes_experimental.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]; } - public static MixerRecipe getOutput(FluidType type) { - return recipes.get(type); - } - @Override public String getFileName() { return "hbmMixer.json"; @@ -107,57 +113,53 @@ public class MixerRecipes extends SerializableRecipe { public void readRecipe(JsonElement recipe) { JsonObject obj = (JsonObject) recipe; - FluidStack output = this.readFluidStack(obj.get("output").getAsJsonArray()); - MixerRecipe mix = new MixerRecipe(output.fill, obj.get("duration").getAsInt()); - - if(obj.has("input1")) mix.setStack1(this.readFluidStack(obj.get("input1").getAsJsonArray())); - if(obj.has("input2")) mix.setStack2(this.readFluidStack(obj.get("input2").getAsJsonArray())); - if(obj.has("solidInput")) mix.setSolid(this.readAStack(obj.get("solidInput").getAsJsonArray())); + FluidType outputType = Fluids.fromName(obj.get("outputType").getAsString()); + JsonArray recipeArray = obj.get("recipes").getAsJsonArray(); + MixerRecipe[] array = new MixerRecipe[recipeArray.size()]; - recipes.put(output.type, mix); + 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 mix = rec.getValue(); - FluidStack output = new FluidStack(rec.getKey(), mix.output); + Entry rec = (Entry) recipe; + MixerRecipe[] recipes = rec.getValue(); - writer.name("duration").value(mix.processTime); - writer.name("output"); - this.writeFluidStack(output, writer); + writer.name("outputType").value(rec.getKey().getName()); + writer.name("recipes").beginArray(); - 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); } + for(MixerRecipe mix : recipes) { + writer.beginObject(); + FluidStack output = new FluidStack(rec.getKey(), mix.output); + + 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); } + writer.endObject(); + } + writer.endArray(); } public static HashMap getRecipes() { HashMap recipes = new HashMap(); - for(Entry entry : MixerRecipes.recipes.entrySet()) { - - FluidType type = entry.getKey(); - MixerRecipe recipe = entry.getValue(); - 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 HashMap getRecipesExperimental() { - - HashMap recipes = new HashMap(); - - for(Entry entry : MixerRecipes.recipes_experimental.entrySet()) { + for(Entry entry : MixerRecipes.recipes.entrySet()) { FluidType type = entry.getKey(); MixerRecipe[] recs = entry.getValue(); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 8fc513266..5bce97c3c 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1613,6 +1613,7 @@ public class ModItems { 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; @@ -4220,6 +4221,7 @@ public class ModItems { 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"); diff --git a/src/main/java/com/hbm/items/weapon/ItemGenericGrenade.java b/src/main/java/com/hbm/items/weapon/ItemGenericGrenade.java index e7f417999..c300075f8 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGenericGrenade.java +++ b/src/main/java/com/hbm/items/weapon/ItemGenericGrenade.java @@ -3,6 +3,8 @@ package com.hbm.items.weapon; import com.hbm.entity.grenade.EntityGrenadeBouncyGeneric; import com.hbm.entity.grenade.EntityGrenadeImpactGeneric; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.world.World; @@ -33,7 +35,7 @@ public class ItemGenericGrenade extends ItemGrenade { return stack; } - public void explode(World world, double x, double y, double z) { } + public void explode(Entity grenade, EntityLivingBase thrower, World world, double x, double y, double z) { } public int getMaxTimer() { return this.fuse * 20; diff --git a/src/main/java/com/hbm/items/weapon/ItemGrenadeFishing.java b/src/main/java/com/hbm/items/weapon/ItemGrenadeFishing.java new file mode 100644 index 000000000..f61e6a274 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/ItemGrenadeFishing.java @@ -0,0 +1,59 @@ +package com.hbm.items.weapon; + +import java.util.Random; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemGrenadeFishing extends ItemGenericGrenade { + + public ItemGrenadeFishing(int fuse) { + super(fuse); + } + + @Override + public void explode(Entity grenade, EntityLivingBase thrower, World world, double x, double y, double z) { + world.newExplosion(null, x, y + 0.25D, z, 3F, false, false); + + int iX = (int) Math.floor(x); + int iY = (int) Math.floor(y); + int iZ = (int) Math.floor(z); + + for(int i = 0; i < 15; i++) { + + int rX = iX + world.rand.nextInt(15) - 7; + int rY = iY + world.rand.nextInt(15) - 7; + int rZ = iZ + world.rand.nextInt(15) - 7; + + if(world.getBlock(rX, rY, rZ).getMaterial() == Material.water) { + ItemStack loot = this.getRandomLoot(world.rand); + if(loot != null) { + EntityItem item = new EntityItem(world, rX + 0.5, rY + 0.5, rZ + 0.5, loot.copy()); + item.motionY = 3; + world.spawnEntityInWorld(item); + } + } + } + } + + public static ItemStack getRandomLoot(Random rand) { + float chance = rand.nextFloat(); + int luck = 0; + int speed = 100; //reduces both the junk and treasure chance to near zero + return net.minecraftforge.common.FishingHooks.getRandomFishable(rand, chance, luck, speed); + } + + @Override + public int getMaxTimer() { + return 60; + } + + @Override + public double getBounceMod() { + return 0.5D; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java index 37333a316..4f62b9aa8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineMixer.java @@ -1,5 +1,6 @@ package com.hbm.tileentity.machine; +import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.UpgradeManager; import com.hbm.inventory.container.ContainerMixer; import com.hbm.inventory.fluid.Fluids; @@ -26,12 +27,13 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; -public class TileEntityMachineMixer extends TileEntityMachineBase implements INBTPacketReceiver, IGUIProvider, IEnergyUser, IFluidStandardTransceiver { +public class TileEntityMachineMixer extends TileEntityMachineBase implements INBTPacketReceiver, IControlReceiver, IGUIProvider, IEnergyUser, IFluidStandardTransceiver { 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; @@ -107,6 +109,7 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB data.setLong("power", power); data.setInteger("processTime", processTime); data.setInteger("progress", progress); + data.setInteger("recipe", recipeIndex); data.setBoolean("wasOn", wasOn); for(int i = 0; i < 3; i++) { tanks[i].writeToNBT(data, i + ""); @@ -133,6 +136,7 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB 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 + ""); @@ -140,10 +144,19 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB } public boolean canProcess() { + + MixerRecipe[] recipes = MixerRecipes.getOutput(tanks[2].getTankType()); + if(recipes == null || recipes.length <= 0) { + this.recipeIndex = 0; + return false; + } - MixerRecipe recipe = MixerRecipes.getOutput(tanks[2].getTankType()); - - if(recipe == null) 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); @@ -169,7 +182,8 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB protected void process() { - MixerRecipe recipe = MixerRecipes.getOutput(tanks[2].getTankType()); + MixerRecipe[] recipes = MixerRecipes.getOutput(tanks[2].getTankType()); + MixerRecipe recipe = recipes[this.recipeIndex % recipes.length]; if(recipe.input1 != null) tanks[0].setFill(tanks[0].getFill() - recipe.input1.fill); if(recipe.input2 != null) tanks[1].setFill(tanks[1].getFill() - recipe.input2.fill); @@ -199,8 +213,10 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB @Override public boolean isItemValidForSlot(int i, ItemStack itemStack) { - MixerRecipe recipe = MixerRecipes.getOutput(tanks[2].getTankType()); + 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); @@ -213,6 +229,7 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB this.power = nbt.getLong("power"); this.progress = nbt.getInteger("progress"); this.processTime = nbt.getInteger("processTime"); + this.recipeIndex = nbt.getInteger("recipe"); for(int i = 0; i < 3; i++) this.tanks[i].readFromNBT(nbt, i + ""); } @@ -223,6 +240,7 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB nbt.setLong("power", power); nbt.setInteger("progress", progress); nbt.setInteger("processTime", processTime); + nbt.setInteger("recipe", recipeIndex); for(int i = 0; i < 3; i++) this.tanks[i].writeToNBT(nbt, i + ""); } @@ -284,4 +302,15 @@ public class TileEntityMachineMixer extends TileEntityMachineBase implements INB public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public boolean hasPermission(EntityPlayer player) { + return player.getDistance(xCoord + 0.5, yCoord + 0.5, zCoord + 0.5) <= 16; + } + + @Override + public void receiveControl(NBTTagCompound data) { + + if(data.hasKey("toggle")) this.recipeIndex++; + } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 8f2c19202..4e2684089 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -659,6 +659,7 @@ hbmfluid.naphtha_coker=Koker-Naphtha hbmfluid.naphtha_crack=Crack-Mitteldestillat hbmfluid.nitan=NITAN© 100 Oktan Supertreibstoff hbmfluid.nitric_acid=Salpetersäure +hbmfluid.nitroglycerin=Nitroglycerin hbmfluid.none=Nichts hbmfluid.oil=Rohöl hbmfluid.oil_coker=Koker-Öl @@ -3097,6 +3098,7 @@ item.steel_shovel.name=Stahlschaufel item.steel_sword.name=Stahlschwert item.stick_c4.name=Stange C4 item.stick_dynamite.name=Stange Dynamit +item.stick_dynamite_fishing.name=Stange Fischerei-Dynamit item.stick_semtex.name=Stange Semtex item.stick_tnt.name=Stange TNT item.stopsign.name=Stopschild-Streitaxt diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 9ba04761b..3758781ef 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1231,6 +1231,7 @@ hbmfluid.naphtha_coker=Coker Naphtha hbmfluid.naphtha_crack=Cracked Naphtha hbmfluid.nitan=NITAN© 100 Octane Super Fuel hbmfluid.nitric_acid=Nitric Acid +hbmfluid.nitroglycerin=Nitroglycerin hbmfluid.none=None hbmfluid.oil=Crude Oil hbmfluid.oil_coker=Coker Oil @@ -3882,6 +3883,7 @@ item.steel_shovel.name=Steel Shovel item.steel_sword.name=Steel Sword 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 diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_mixer.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_mixer.png index 1bb5e85f15bff9b71477d24b72c32ca467896ce5..a04e3e7a7aa6e466705f4cae7b27c2ba3b8cc458 100644 GIT binary patch literal 3194 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 Qmm8?o7WU*~Gs=~}1EiZ{`v3p{ literal 3122 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 diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_mixer_experimental.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_mixer_experimental.png deleted file mode 100644 index a04e3e7a7aa6e466705f4cae7b27c2ba3b8cc458..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3194 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 Qmm8?o7WU*~Gs=~}1EiZ{`v3p{ diff --git a/src/main/resources/assets/hbm/textures/items/stick_dynamite_fishing.png b/src/main/resources/assets/hbm/textures/items/stick_dynamite_fishing.png new file mode 100644 index 0000000000000000000000000000000000000000..973506281c341fe739640eab0ef3e0a6354a8341 GIT binary patch literal 215 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfb2yQDN_uVe3WLmdZysH zGV|fN{5-tRIG0$?e)#S8f1ca&f6`~vJhXQ{=*aV&pYN=X#H@*b&J=tHDrBj4tNEtL zqY!9(# Date: Wed, 24 May 2023 16:13:14 +0200 Subject: [PATCH 113/285] buoyant items, press fix --- .../java/com/hbm/entity/EntityMappings.java | 3 +++ .../hbm/entity/item/EntityItemBuoyant.java | 27 +++++++++++++++++++ src/main/java/com/hbm/items/ModItems.java | 1 + .../hbm/items/weapon/ItemGrenadeFishing.java | 7 ++--- src/main/java/com/hbm/main/MainRegistry.java | 13 +++++++++ .../machine/TileEntityMachineEPress.java | 4 +-- .../machine/TileEntityMachinePress.java | 4 +-- 7 files changed, 52 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/hbm/entity/item/EntityItemBuoyant.java diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index f5457e462..8d388474a 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -212,6 +212,9 @@ public class EntityMappings { addEntity(EntityChemical.class, "entity_chemthrower_splash", 1000); addEntity(EntityMist.class, "entity_mist", 1000); + addEntity(EntityItemWaste.class, "entity_item_waste", 100); + addEntity(EntityItemBuoyant.class, "entity_item_buoyant", 100); + addEntity(SeatDummyEntity.class, "entity_ntm_seat_dummy", 250, false); addEntity(BoundingBoxDummyEntity.class, "entity_ntm_bounding_dummy", 250, false); addEntity(TrainCargoTram.class, "entity_ntm_cargo_tram", 250, false); diff --git a/src/main/java/com/hbm/entity/item/EntityItemBuoyant.java b/src/main/java/com/hbm/entity/item/EntityItemBuoyant.java new file mode 100644 index 000000000..9a19b7490 --- /dev/null +++ b/src/main/java/com/hbm/entity/item/EntityItemBuoyant.java @@ -0,0 +1,27 @@ +package com.hbm.entity.item; + +import net.minecraft.block.material.Material; +import net.minecraft.entity.item.EntityItem; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class EntityItemBuoyant extends EntityItem { + + public EntityItemBuoyant(World world) { + super(world); + } + + public EntityItemBuoyant(World world, double x, double y, double z, ItemStack stack) { + super(world, x, y, z, stack); + } + + @Override + public void onUpdate() { + + if(worldObj.getBlock((int) Math.floor(posX), (int) Math.floor(posY - 0.0625), (int) Math.floor(posZ)).getMaterial() == Material.water) { + this.motionY += 0.045D; + } + + super.onUpdate(); + } +} diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 5bce97c3c..68ae2a5a4 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -7262,6 +7262,7 @@ public class ModItems { //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()); diff --git a/src/main/java/com/hbm/items/weapon/ItemGrenadeFishing.java b/src/main/java/com/hbm/items/weapon/ItemGrenadeFishing.java index f61e6a274..a04d29f7e 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGrenadeFishing.java +++ b/src/main/java/com/hbm/items/weapon/ItemGrenadeFishing.java @@ -2,10 +2,11 @@ package com.hbm.items.weapon; import java.util.Random; +import com.hbm.entity.item.EntityItemBuoyant; + import net.minecraft.block.material.Material; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.item.EntityItem; import net.minecraft.item.ItemStack; import net.minecraft.world.World; @@ -32,8 +33,8 @@ public class ItemGrenadeFishing extends ItemGenericGrenade { if(world.getBlock(rX, rY, rZ).getMaterial() == Material.water) { ItemStack loot = this.getRandomLoot(world.rand); if(loot != null) { - EntityItem item = new EntityItem(world, rX + 0.5, rY + 0.5, rZ + 0.5, loot.copy()); - item.motionY = 3; + EntityItemBuoyant item = new EntityItemBuoyant(world, rX + 0.5, rY + 0.5, rZ + 0.5, loot.copy()); + item.motionY = 1; world.spawnEntityInWorld(item); } } diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index acaadd51d..e58761275 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -67,6 +67,7 @@ import com.hbm.inventory.recipes.anvil.AnvilRecipes; import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.items.ModItems; import com.hbm.items.tool.ItemFertilizer; +import com.hbm.items.weapon.ItemGenericGrenade; import com.hbm.items.ItemAmmoEnums.Ammo4Gauge; import com.hbm.lib.HbmWorld; import com.hbm.lib.Library; @@ -613,6 +614,18 @@ public class MainRegistry { return new EntityGrenadeDynamite(world, position.getX(), position.getY(), position.getZ()); } }); + BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.grenade_kyiv, new BehaviorProjectileDispense() { + + protected IProjectile getProjectileEntity(World world, IPosition position) { + return new EntityGrenadeImpactGeneric(world, position.getX(), position.getY(), position.getZ()).setType((ItemGenericGrenade) ModItems.grenade_kyiv); + } + }); + BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.stick_dynamite_fishing, new BehaviorProjectileDispense() { + + protected IProjectile getProjectileEntity(World world, IPosition position) { + return new EntityGrenadeImpactGeneric(world, position.getX(), position.getY(), position.getZ()).setType((ItemGenericGrenade) ModItems.stick_dynamite_fishing); + } + }); BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.powder_fertilizer, new BehaviorDefaultDispenseItem() { private boolean dispenseSound = true; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java index c99db935b..01ba0af31 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineEPress.java @@ -171,8 +171,8 @@ public class TileEntityMachineEPress extends TileEntityMachineBase implements IE @Override public boolean isItemValidForSlot(int i, ItemStack stack) { - if(stack.getItem() instanceof ItemStamp && i == 1) - return true; + if(stack.getItem() instanceof ItemStamp) + return i == 1; return i == 2; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java index 1de7e31a5..c049d696e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePress.java @@ -191,8 +191,8 @@ public class TileEntityMachinePress extends TileEntityMachineBase implements IGU @Override public boolean isItemValidForSlot(int i, ItemStack stack) { - if(stack.getItem() instanceof ItemStamp && i == 1) - return true; + if(stack.getItem() instanceof ItemStamp) + return i == 1; if(TileEntityFurnace.getItemBurnTime(stack) > 0 && i == 0) return true; From 9a1d7c76e8febf16249414b485b329ab283edc93 Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 24 May 2023 21:46:26 +0200 Subject: [PATCH 114/285] some fixes, tram flatbed wagon --- .../blocks/machine/pile/BlockGraphite.java | 2 +- .../java/com/hbm/entity/EntityMappings.java | 3 +- .../entity/train/TrainCargoTramTrailer.java | 54 ++ .../java/com/hbm/inventory/fluid/Fluids.java | 2 +- .../recipes/CrystallizerRecipes.java | 2 + .../hbm/inventory/recipes/MixerRecipes.java | 2 - .../java/com/hbm/items/special/ItemTrain.java | 16 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/CraftingManager.java | 2 +- .../java/com/hbm/main/ResourceManager.java | 2 + .../item/RenderTrainCargoTramTrailer.java | 41 ++ .../machine/TileEntityCoreEmitter.java | 4 +- .../hbm/models/vehicles/tram_trailer.obj | 561 ++++++++++++++++++ .../hbm/textures/gui/fluids/nitroglycerin.png | Bin 0 -> 717 bytes .../items/train.cargo_tram_trailer.png | Bin 0 -> 164 bytes .../models/tank/tank_NITROGLYCERIN.png | Bin 0 -> 1270 bytes .../textures/models/trains/tram_trailer.png | Bin 0 -> 3204 bytes 17 files changed, 677 insertions(+), 15 deletions(-) create mode 100644 src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java create mode 100644 src/main/java/com/hbm/render/entity/item/RenderTrainCargoTramTrailer.java create mode 100644 src/main/resources/assets/hbm/models/vehicles/tram_trailer.obj create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/nitroglycerin.png create mode 100644 src/main/resources/assets/hbm/textures/items/train.cargo_tram_trailer.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_NITROGLYCERIN.png create mode 100644 src/main/resources/assets/hbm/textures/models/trains/tram_trailer.png 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 45ceb6d10..c5018700a 100644 --- a/src/main/java/com/hbm/blocks/machine/pile/BlockGraphite.java +++ b/src/main/java/com/hbm/blocks/machine/pile/BlockGraphite.java @@ -32,7 +32,7 @@ public class BlockGraphite extends BlockFlammable implements IToolable { PacketDispatcher.wrapper.sendToAllAround(new ParticleBurstPacket(x, y, z, Block.getIdFromBlock(this), 0), new TargetPoint(world.provider.dimensionId, x, y, z, 50)); world.playSoundEffect(x + 0.5, y + 0.5, z + 0.5, this.stepSound.func_150496_b(), (this.stepSound.getVolume() + 1.0F) / 2.0F, this.stepSound.getPitch() * 0.8F); - BlockGraphiteRod.ejectItem(world, x, y, z, ForgeDirection.getOrientation(side), new ItemStack(ModItems.powder_coal)); + BlockGraphiteRod.ejectItem(world, x, y, z, ForgeDirection.getOrientation(side), new ItemStack(ModItems.ingot_graphite)); } return true; diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index 8d388474a..fee770026 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -16,7 +16,7 @@ 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.TrainCargoTram; +import com.hbm.entity.train.*; import com.hbm.main.MainRegistry; import com.hbm.util.Tuple.Quartet; @@ -218,6 +218,7 @@ public class EntityMappings { addEntity(SeatDummyEntity.class, "entity_ntm_seat_dummy", 250, false); 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); addMob(EntityCreeperNuclear.class, "entity_mob_nuclear_creeper", 0x204131, 0x75CE00); addMob(EntityCreeperTainted.class, "entity_mob_tainted_creeper", 0x813b9b, 0xd71fdd); diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java b/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java new file mode 100644 index 000000000..8ff36ead4 --- /dev/null +++ b/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java @@ -0,0 +1,54 @@ +package com.hbm.entity.train; + +import com.hbm.blocks.rail.IRailNTM.TrackGauge; + +import net.minecraft.util.DamageSource; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class TrainCargoTramTrailer extends EntityRailCarCargo { + + /* + * + * <-- + * + * _O\____________________________________________/O_ + * |____| |____| + * \__________________________________________/ + * '( + )' '( + )' + * + */ + + public TrainCargoTramTrailer(World world) { + super(world); + this.setSize(5F, 2F); + } + + @Override public TrackGauge getGauge() { return TrackGauge.STANDARD; } + @Override public double getLengthSpan() { return 1.5; } + @Override public int getSizeInventory() { return 29; } + @Override public String getInventoryName() { return this.hasCustomInventoryName() ? this.getEntityName() : "container.trainTramTrailer"; } + + @Override + public double getCurrentSpeed() { + return 0; //we'll figure out how linked carts work later on - i hope + } + + @Override + public DummyConfig[] getDummies() { + return new DummyConfig[] { + new DummyConfig(2F, 1F, Vec3.createVectorHelper(0, 0, 1.5)), + new DummyConfig(2F, 1F, Vec3.createVectorHelper(0, 0, 0)), + new DummyConfig(2F, 1F, Vec3.createVectorHelper(0, 0, -1.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/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index b7c73b12e..b39ac64ad 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -276,7 +276,7 @@ public class Fluids { ESTRADIOL = new FluidType("ESTRADIOL", 0xCDD5D8, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); FISHOIL = new FluidType("FISHOIL", 0x4B4A45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID); SUNFLOWEROIL = new FluidType("SUNFLOWEROIL", 0xCBAD45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID); - NITROGLYCERIN = new FluidType(112, "SUNFLOWEROIL", 0xCBAD45, 0, 4, 0, EnumSymbol.NONE).addTraits(LIQUID); + NITROGLYCERIN = new FluidType(112, "NITROGLYCERIN", 0x92ACA6, 0, 4, 0, EnumSymbol.NONE).addTraits(LIQUID); // ^ ^ ^ ^ ^ ^ ^ ^ //ADD NEW FLUIDS HERE diff --git a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java index 7b73f053f..b47ad8804 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java @@ -143,6 +143,8 @@ public class CrystallizerRecipes extends SerializableRecipe { registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.PARAFFIN)), new CrystallizerRecipe(new ItemStack(ModItems.pill_red), 200), new FluidStack(Fluids.ESTRADIOL, 250)); 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"); diff --git a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java index d1a12d6f2..e9bcf6ffc 100644 --- a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java @@ -142,8 +142,6 @@ public class MixerRecipes extends SerializableRecipe { for(MixerRecipe mix : recipes) { writer.beginObject(); - FluidStack output = new FluidStack(rec.getKey(), mix.output); - writer.name("duration").value(mix.processTime); writer.name("outputAmount").value(mix.output); diff --git a/src/main/java/com/hbm/items/special/ItemTrain.java b/src/main/java/com/hbm/items/special/ItemTrain.java index 1a2648d38..05f55231d 100644 --- a/src/main/java/com/hbm/items/special/ItemTrain.java +++ b/src/main/java/com/hbm/items/special/ItemTrain.java @@ -5,6 +5,7 @@ import java.util.List; import com.hbm.blocks.rail.IRailNTM; import com.hbm.entity.train.EntityRailCarBase; import com.hbm.entity.train.TrainCargoTram; +import com.hbm.entity.train.TrainCargoTramTrailer; import com.hbm.items.ItemEnumMulti; import com.hbm.util.EnumUtil; @@ -27,18 +28,19 @@ public class ItemTrain extends ItemEnumMulti { public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { EnumTrainType train = EnumUtil.grabEnumSafely(this.theEnum, stack.getItemDamage()); - list.add(EnumChatFormatting.GREEN + "Engine: " + EnumChatFormatting.RESET + train.engine); + if(train.engine != null) list.add(EnumChatFormatting.GREEN + "Engine: " + EnumChatFormatting.RESET + train.engine); list.add(EnumChatFormatting.GREEN + "Gauge: " + EnumChatFormatting.RESET + train.gauge); - list.add(EnumChatFormatting.GREEN + "Max Speed: " + EnumChatFormatting.RESET + train.maxSpeed); - list.add(EnumChatFormatting.GREEN + "Acceleration: " + EnumChatFormatting.RESET + train.acceleration); - list.add(EnumChatFormatting.GREEN + "Engine Brake Threshold: " + EnumChatFormatting.RESET + train.brakeThreshold); - list.add(EnumChatFormatting.GREEN + "Parking Brake: " + EnumChatFormatting.RESET + train.parkingBrake); + if(train.maxSpeed != null) list.add(EnumChatFormatting.GREEN + "Max Speed: " + EnumChatFormatting.RESET + train.maxSpeed); + if(train.acceleration != null) list.add(EnumChatFormatting.GREEN + "Acceleration: " + EnumChatFormatting.RESET + train.acceleration); + if(train.brakeThreshold != null) list.add(EnumChatFormatting.GREEN + "Engine Brake Threshold: " + EnumChatFormatting.RESET + train.brakeThreshold); + if(train.parkingBrake != null) list.add(EnumChatFormatting.GREEN + "Parking Brake: " + EnumChatFormatting.RESET + train.parkingBrake); } public static enum EnumTrainType { - // Engine Gauge Max Speed Accel. Eng. Brake Parking Brake - CARGO_TRAM(TrainCargoTram.class, "Electric", "Standard Gauge", "10m/s", "0.2m/s", "<1m/s", "Yes"); + // 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"); public Class train; public String engine; diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index c47b1b9e1..a757432e5 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -691,6 +691,7 @@ public class ClientProxy extends ServerProxy { 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()); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 02ce53a80..7fda63959 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -578,7 +578,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.gun_kit_2, 1), new Object[] { "III", "GLG", "PPP", 'I', ModItems.plate_polymer, 'L', ModItems.ducttape, 'G', ModItems.gun_kit_1, 'P', IRON.plate() }); addRecipeAuto(new ItemStack(ModItems.igniter, 1), new Object[] { " W", "SC", "CE", 'S', STEEL.plate(), 'W', ModItems.wire_schrabidium, 'C', ModItems.circuit_schrabidium, 'E', EUPH.ingot() }); - addRecipeAuto(new ItemStack(ModItems.watch, 1), new Object[] { "LEL", "EWE", "LEL", 'E', EUPH.ingot(), 'L', KEY_BLUE, 'W', Items.clock }); + addRecipeAuto(new ItemStack(ModItems.watch, 1), new Object[] { "LYL", "EWE", "LYL", 'E', EUPH.ingot(), 'L', KEY_BLUE, 'W', Items.clock, 'Y', ModItems.billet_yharonite }); addRecipeAuto(new ItemStack(ModItems.key, 1), new Object[] { " B", " B ", "P ", 'P', STEEL.plate(), 'B', ModItems.bolt_tungsten }); addRecipeAuto(new ItemStack(ModItems.key_kit, 1), new Object[] { "PKP", "DTD", "PKP", 'P', GOLD.plate(), 'K', ModItems.key, 'D', DESH.dust(), 'T', KEY_TOOL_SCREWDRIVER }); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index c947a97be..30f1e2c2e 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1014,6 +1014,7 @@ public class ResourceManager { 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")); ////Texture Entities @@ -1288,6 +1289,7 @@ public class ResourceManager { public static final ResourceLocation cart_semtex_side = new ResourceLocation(RefStrings.MODID, "textures/blocks/semtex_side.png"); 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"); //ISBRHs public static final IModelCustom scaffold = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/scaffold.obj")); diff --git a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTramTrailer.java b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTramTrailer.java new file mode 100644 index 000000000..e0166ac4a --- /dev/null +++ b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTramTrailer.java @@ -0,0 +1,41 @@ +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 RenderTrainCargoTramTrailer extends Render { + + @Override + public void doRender(Entity entity, double x, double y, double z, float swing, float interp) { + GL11.glPushMatrix(); + GL11.glTranslated(x, y, 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); + GL11.glRotated(-entity.rotationPitch, 0, 0, 1); + + GL11.glDisable(GL11.GL_CULL_FACE); + bindTexture(ResourceManager.tram_trailer); + ResourceManager.train_cargo_tram_trailer.renderAll(); + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return ResourceManager.tram_trailer; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java index ec4354528..218168090 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -66,8 +66,6 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne watts = MathHelper.clamp_int(watts, 1, 100); long demand = maxPower * watts / 2000; - - tank.updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); beam = 0; @@ -175,6 +173,7 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne data.setLong("prev", prev); data.setInteger("beam", beam); data.setBoolean("isOn", isOn); + tank.writeToNBT(data, "tank"); this.networkPack(data, 250); } } @@ -186,6 +185,7 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne prev = data.getLong("prev"); beam = data.getInteger("beam"); isOn = data.getBoolean("isOn"); + tank.readFromNBT(data, "tank"); } public long getPowerScaled(long i) { diff --git a/src/main/resources/assets/hbm/models/vehicles/tram_trailer.obj b/src/main/resources/assets/hbm/models/vehicles/tram_trailer.obj new file mode 100644 index 000000000..270cdde15 --- /dev/null +++ b/src/main/resources/assets/hbm/models/vehicles/tram_trailer.obj @@ -0,0 +1,561 @@ +# Blender v2.79 (sub 0) OBJ File: 'tram_trailer.blend' +# www.blender.org +o Plane +v -1.000000 0.250000 2.500000 +v 1.000000 0.250000 2.500000 +v -1.000000 0.250000 -2.500000 +v 1.000000 0.250000 -2.500000 +v -1.000000 0.750000 -2.500000 +v -1.000000 0.750000 2.500000 +v 1.000000 0.750000 2.500000 +v 1.000000 0.750000 -2.500000 +v 0.562500 0.375000 2.562500 +v 0.562500 0.875000 2.562500 +v 0.562500 0.375000 2.062500 +v 0.562500 0.875000 2.062500 +v 1.062500 0.375000 2.562500 +v 1.062500 0.875000 2.562500 +v 1.062500 0.375000 2.062500 +v 1.062500 0.875000 2.062500 +v -1.062500 0.375000 2.562500 +v -1.062500 0.875000 2.562500 +v -1.062500 0.375000 2.062500 +v -1.062500 0.875000 2.062500 +v -0.562500 0.375000 2.562500 +v -0.562500 0.875000 2.562500 +v -0.562500 0.375000 2.062500 +v -0.562500 0.875000 2.062500 +v 0.562500 0.375000 -1.812500 +v 0.562500 0.875000 -1.812500 +v 0.562500 0.375000 -2.562500 +v 0.562500 0.875000 -2.562500 +v 1.062500 0.375000 -1.812500 +v 1.062500 0.875000 -1.812500 +v 1.062500 0.375000 -2.562500 +v 1.062500 0.875000 -2.562500 +v -1.062500 0.375000 -1.812500 +v -1.062500 0.875000 -1.812500 +v -1.062500 0.375000 -2.562500 +v -1.062500 0.875000 -2.562500 +v -0.562500 0.375000 -1.812500 +v -0.562500 0.875000 -1.812500 +v -0.562500 0.375000 -2.562500 +v -0.562500 0.875000 -2.562500 +v 0.875000 0.250000 -1.625000 +v 0.750000 0.250000 1.750000 +v 0.750000 0.073223 -1.676777 +v 0.875000 0.250000 -1.250000 +v 0.875000 0.250000 1.750000 +v 0.750000 0.073223 1.323223 +v 0.750000 0.000000 1.500000 +v 0.750000 0.073223 1.676777 +v 0.750000 0.250000 -1.250000 +v 0.750000 0.250000 1.250000 +v 0.875000 0.250000 -1.375000 +v 0.875000 0.073223 -1.323223 +v 0.875000 0.250000 1.250000 +v 0.875000 0.073223 1.323223 +v 0.875000 0.000000 1.500000 +v 0.875000 0.073223 1.676777 +v 0.875000 0.250000 1.625000 +v 0.875000 0.000000 -1.500000 +v 0.875000 0.073223 -1.676777 +v 0.875000 0.250000 -1.750000 +v 0.875000 0.250000 1.375000 +v 0.875000 0.161612 1.411612 +v 0.875000 0.125000 1.500000 +v 0.875000 0.161612 1.588388 +v 0.937500 0.250000 1.625000 +v 0.750000 0.250000 -1.750000 +v 0.750000 0.073223 -1.323223 +v 0.750000 0.000000 -1.500000 +v 0.937500 0.250000 1.375000 +v 0.937500 0.161612 1.411612 +v 0.937500 0.125000 1.500000 +v 0.937500 0.161612 1.588388 +v 0.875000 0.161612 -1.588388 +v 0.875000 0.125000 -1.500000 +v 0.875000 0.161612 -1.411612 +v 0.937500 0.250000 -1.375000 +v 0.937500 0.250000 -1.625000 +v 0.937500 0.161612 -1.588388 +v 0.937500 0.125000 -1.500000 +v 0.937500 0.161612 -1.411612 +v -0.750000 0.250000 2.000000 +v 0.750000 0.250000 2.000000 +v -0.750000 0.250000 -2.000000 +v 0.750000 0.250000 -2.000000 +v -0.750000 0.125000 -1.875000 +v -0.750000 0.125000 1.875000 +v 0.750000 0.125000 1.875000 +v 0.750000 0.125000 -1.875000 +v -0.875000 0.250000 1.625000 +v -0.750000 0.250000 -1.750000 +v -0.750000 0.073223 1.676777 +v -0.875000 0.250000 1.250000 +v -0.875000 0.250000 -1.750000 +v -0.750000 0.073223 -1.323223 +v -0.750000 0.000000 -1.500000 +v -0.750000 0.073223 -1.676777 +v -0.750000 0.250000 1.250000 +v -0.750000 0.250000 -1.250000 +v -0.875000 0.250000 1.375000 +v -0.875000 0.073223 1.323223 +v -0.875000 0.250000 -1.250000 +v -0.875000 0.073223 -1.323223 +v -0.875000 0.000000 -1.500000 +v -0.875000 0.073223 -1.676777 +v -0.875000 0.250000 -1.625000 +v -0.875000 0.000000 1.500000 +v -0.875000 0.073223 1.676777 +v -0.875000 0.250000 1.750000 +v -0.875000 0.250000 -1.375000 +v -0.875000 0.161612 -1.411611 +v -0.875000 0.125000 -1.500000 +v -0.875000 0.161612 -1.588388 +v -0.937500 0.250000 -1.625000 +v -0.750000 0.250000 1.750000 +v -0.750000 0.073223 1.323223 +v -0.750000 0.000000 1.500000 +v -0.937500 0.250000 -1.375000 +v -0.937500 0.161612 -1.411611 +v -0.937500 0.125000 -1.500000 +v -0.937500 0.161612 -1.588388 +v -0.875000 0.161612 1.588389 +v -0.875000 0.125000 1.500000 +v -0.875000 0.161612 1.411612 +v -0.937500 0.250000 1.375000 +v -0.937500 0.250000 1.625000 +v -0.937500 0.161612 1.588389 +v -0.937500 0.125000 1.500000 +v -0.937500 0.161612 1.411612 +vt 0.543210 0.090909 +vt 0.049383 0.454545 +vt 0.049383 0.090909 +vt 0.049383 0.090909 +vt 0.543210 0.454545 +vt 0.049383 0.454545 +vt 0.543210 0.000000 +vt 0.049383 0.000000 +vt 0.049383 0.545455 +vt 0.543210 0.545455 +vt 0.592593 0.454545 +vt 0.543210 0.090909 +vt 0.592593 0.090909 +vt -0.000000 0.090909 +vt -0.000000 0.454545 +vt 0.049383 0.727273 +vt -0.000000 0.636364 +vt 0.049383 0.636364 +vt 0.049383 0.818182 +vt 0.098765 0.909091 +vt 0.049383 0.909091 +vt 0.148148 0.727273 +vt 0.098765 0.636364 +vt 0.148148 0.636364 +vt 0.098765 0.727273 +vt 0.098765 0.545455 +vt 0.049383 0.545455 +vt 0.098765 0.818182 +vt 0.049383 0.727273 +vt -0.000000 0.636364 +vt 0.049383 0.636364 +vt 0.049383 0.818182 +vt 0.098765 0.909091 +vt 0.049383 0.909091 +vt 0.148148 0.727273 +vt 0.098765 0.636364 +vt 0.148148 0.636364 +vt 0.098765 0.727273 +vt 0.098765 0.545455 +vt 0.049383 0.545455 +vt 0.098765 0.818182 +vt 0.345679 0.772727 +vt 0.271605 0.681818 +vt 0.345679 0.681818 +vt 0.271605 0.772727 +vt 0.222222 0.681818 +vt 0.222222 0.772727 +vt 0.148148 0.681818 +vt 0.222222 0.909091 +vt 0.271605 1.000000 +vt 0.222222 1.000000 +vt 0.271605 0.545455 +vt 0.345679 0.772727 +vt 0.271605 0.681818 +vt 0.345679 0.681818 +vt 0.271605 0.772727 +vt 0.222222 0.681818 +vt 0.222222 0.772727 +vt 0.148148 0.681818 +vt 0.222222 0.909091 +vt 0.271605 1.000000 +vt 0.222222 1.000000 +vt 0.271605 0.545455 +vt 0.456790 0.568182 +vt 0.438272 0.590909 +vt 0.438272 0.568182 +vt 0.456790 0.568182 +vt 0.438272 0.590909 +vt 0.438272 0.568182 +vt 0.419210 0.590495 +vt 0.377874 0.558974 +vt 0.394996 0.545918 +vt 0.493827 0.568182 +vt 0.475309 0.590909 +vt 0.475309 0.568182 +vt 0.349457 0.574879 +vt 0.358021 0.568349 +vt 0.366584 0.574879 +vt 0.469136 0.590909 +vt 0.456790 0.590909 +vt 0.419753 0.568182 +vt 0.432099 0.590909 +vt 0.419753 0.590909 +vt 0.469136 0.590909 +vt 0.456790 0.590909 +vt 0.419753 0.568182 +vt 0.432099 0.590909 +vt 0.419753 0.590909 +vt 0.493827 0.568182 +vt 0.475309 0.590909 +vt 0.475309 0.568182 +vt 0.349457 0.574879 +vt 0.358021 0.568349 +vt 0.366584 0.574879 +vt 0.377874 0.558974 +vt 0.394996 0.545918 +vt 0.412118 0.558974 +vt 0.975309 0.022727 +vt 0.604938 0.295455 +vt 0.604938 0.022727 +vt 0.987654 0.295455 +vt 0.987654 0.022727 +vt 0.592593 0.022727 +vt 0.592593 0.295455 +vt 0.592593 0.318182 +vt 0.975309 0.295455 +vt 0.987654 0.318182 +vt 0.987654 0.000000 +vt 0.592593 0.000000 +vt 0.456790 0.568182 +vt 0.438272 0.590909 +vt 0.438272 0.568182 +vt 0.456790 0.568182 +vt 0.438272 0.590909 +vt 0.438272 0.568182 +vt 0.419210 0.590495 +vt 0.377874 0.558974 +vt 0.394996 0.545918 +vt 0.493827 0.568182 +vt 0.475309 0.590909 +vt 0.475309 0.568182 +vt 0.358021 0.568349 +vt 0.366584 0.574879 +vt 0.370132 0.590644 +vt 0.475309 0.568182 +vt 0.456790 0.590909 +vt 0.419753 0.590909 +vt 0.419753 0.568182 +vt 0.456790 0.590909 +vt 0.419753 0.590909 +vt 0.419753 0.568182 +vt 0.493827 0.568182 +vt 0.475309 0.590909 +vt 0.358021 0.568349 +vt 0.366584 0.574879 +vt 0.370132 0.590644 +vt 0.377874 0.558974 +vt 0.394996 0.545918 +vt 0.412118 0.558974 +vt 0.543210 0.454545 +vt -0.000000 0.727273 +vt -0.000000 0.727273 +vt 0.148148 0.772727 +vt 0.271605 0.909091 +vt 0.222222 0.545455 +vt 0.148148 0.772727 +vt 0.271605 0.909091 +vt 0.222222 0.545455 +vt 0.450617 0.590909 +vt 0.450617 0.590909 +vt 0.412118 0.558974 +vt 0.370781 0.590495 +vt 0.487654 0.590909 +vt 0.370132 0.590644 +vt 0.345910 0.590644 +vt 0.487654 0.590909 +vt 0.370132 0.590644 +vt 0.345910 0.590644 +vt 0.419210 0.590495 +vt 0.370781 0.590495 +vt 0.450617 0.590909 +vt 0.450617 0.590909 +vt 0.412118 0.558974 +vt 0.370781 0.590495 +vt 0.487654 0.590909 +vt 0.345910 0.590644 +vt 0.349457 0.574879 +vt 0.469136 0.590909 +vt 0.432099 0.590909 +vt 0.469136 0.590909 +vt 0.432099 0.590909 +vt 0.487654 0.590909 +vt 0.345910 0.590644 +vt 0.349457 0.574879 +vt 0.419210 0.590495 +vt 0.370781 0.590495 +vt 0.475309 0.545455 +vt 0.456790 0.545455 +vt 0.456790 0.602273 +vt 0.438272 0.545455 +vt 0.493827 0.545455 +vt 0.419753 0.602273 +vt 0.475309 0.602273 +vt 0.419753 0.545455 +vt 0.438272 0.602273 +vt 0.438272 0.545455 +vt 0.419753 0.545455 +vt 0.438272 0.602273 +vt 0.475309 0.602273 +vt 0.493827 0.545455 +vt 0.475309 0.545455 +vt 0.456790 0.545455 +vt 0.419753 0.602273 +vt 0.456790 0.602273 +vt 0.475309 0.545455 +vt 0.456790 0.545455 +vt 0.456790 0.602273 +vt 0.438272 0.545455 +vt 0.493827 0.545455 +vt 0.419753 0.602273 +vt 0.475309 0.602273 +vt 0.419753 0.545455 +vt 0.438272 0.602273 +vt 0.438272 0.545455 +vt 0.419753 0.545455 +vt 0.438272 0.602273 +vt 0.475309 0.602273 +vt 0.475309 0.545455 +vt 0.456790 0.545455 +vt 0.419753 0.602273 +vt 0.456790 0.602273 +vt 0.469136 0.602273 +vt 0.432099 0.602273 +vt 0.487654 0.602273 +vt 0.450617 0.602273 +vt 0.450617 0.602273 +vt 0.487654 0.602273 +vt 0.432099 0.602273 +vt 0.469136 0.602273 +vt 0.469136 0.602273 +vt 0.432099 0.602273 +vt 0.487654 0.602273 +vt 0.450617 0.602273 +vt 0.450617 0.602273 +vt 0.487654 0.602273 +vt 0.493827 0.545455 +vt 0.432099 0.602273 +vt 0.469136 0.602273 +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.3827 -0.9239 +vn 0.0000 -0.3827 0.9239 +s off +f 3/1/1 2/2/1 1/3/1 +f 7/4/2 5/5/2 6/6/2 +f 4/7/3 7/4/3 2/8/3 +f 1/9/4 5/5/4 3/10/4 +f 3/11/5 8/12/5 4/13/5 +f 2/14/6 6/6/6 1/15/6 +f 10/16/4 11/17/4 9/18/4 +f 12/19/5 15/20/5 11/21/5 +f 16/22/3 13/23/3 15/24/3 +f 14/25/6 9/18/6 13/23/6 +f 15/26/1 9/18/1 11/27/1 +f 12/19/2 14/25/2 16/28/2 +f 18/29/4 19/30/4 17/31/4 +f 20/32/5 23/33/5 19/34/5 +f 24/35/3 21/36/3 23/37/3 +f 22/38/6 17/31/6 21/36/6 +f 23/39/1 17/31/1 19/40/1 +f 20/32/2 22/38/2 24/41/2 +f 26/42/4 27/43/4 25/44/4 +f 28/45/5 31/46/5 27/43/5 +f 32/47/3 29/48/3 31/46/3 +f 30/49/6 25/50/6 29/51/6 +f 31/46/1 25/52/1 27/43/1 +f 28/45/2 30/49/2 32/47/2 +f 34/53/4 35/54/4 33/55/4 +f 36/56/5 39/57/5 35/54/5 +f 40/58/3 37/59/3 39/57/3 +f 38/60/6 33/61/6 37/62/6 +f 39/57/1 33/63/1 35/54/1 +f 36/56/2 38/60/2 40/58/2 +f 58/64/3 75/65/3 52/66/3 +f 55/67/3 64/68/3 56/69/3 +f 49/70/4 43/71/4 68/72/4 +f 53/73/3 62/74/3 54/75/3 +f 80/76/3 79/77/3 78/78/3 +f 58/64/3 73/79/3 74/80/3 +f 45/81/3 64/82/3 57/83/3 +f 55/67/3 62/84/3 63/85/3 +f 44/86/3 75/87/3 51/88/3 +f 60/89/3 73/90/3 59/91/3 +f 72/92/3 71/93/3 70/94/3 +f 46/95/4 47/96/4 48/97/4 +f 85/98/1 87/99/1 86/100/1 +f 84/101/7 85/98/7 83/102/7 +f 81/103/8 87/99/8 82/104/8 +f 82/105/3 88/106/3 84/107/3 +f 83/108/4 86/100/4 81/109/4 +f 106/110/4 123/111/4 100/112/4 +f 103/113/4 112/114/4 104/115/4 +f 97/116/3 91/117/3 116/118/3 +f 101/119/4 110/120/4 102/121/4 +f 127/122/4 126/123/4 125/124/4 +f 107/125/4 122/126/4 106/110/4 +f 104/115/4 105/127/4 93/128/4 +f 102/121/4 111/129/4 103/113/4 +f 100/112/4 99/130/4 92/131/4 +f 108/132/4 121/133/4 107/125/4 +f 119/134/4 118/135/4 117/136/4 +f 94/137/3 95/138/3 96/139/3 +f 3/1/1 4/140/1 2/2/1 +f 7/4/2 8/12/2 5/5/2 +f 4/7/3 8/12/3 7/4/3 +f 1/9/4 6/6/4 5/5/4 +f 3/11/5 5/5/5 8/12/5 +f 2/14/6 7/4/6 6/6/6 +f 10/16/4 12/141/4 11/17/4 +f 12/19/5 16/28/5 15/20/5 +f 16/22/3 14/25/3 13/23/3 +f 14/25/6 10/16/6 9/18/6 +f 15/26/1 13/23/1 9/18/1 +f 12/19/2 10/16/2 14/25/2 +f 18/29/4 20/142/4 19/30/4 +f 20/32/5 24/41/5 23/33/5 +f 24/35/3 22/38/3 21/36/3 +f 22/38/6 18/29/6 17/31/6 +f 23/39/1 21/36/1 17/31/1 +f 20/32/2 18/29/2 22/38/2 +f 26/42/4 28/45/4 27/43/4 +f 28/45/5 32/47/5 31/46/5 +f 32/47/3 30/143/3 29/48/3 +f 30/49/6 26/144/6 25/50/6 +f 31/46/1 29/145/1 25/52/1 +f 28/45/2 26/144/2 30/49/2 +f 34/53/4 36/56/4 35/54/4 +f 36/56/5 40/58/5 39/57/5 +f 40/58/3 38/146/3 37/59/3 +f 38/60/6 34/147/6 33/61/6 +f 39/57/1 37/148/1 33/63/1 +f 36/56/2 34/147/2 38/60/2 +f 58/64/3 74/149/3 75/65/3 +f 55/67/3 63/150/3 64/68/3 +f 68/72/4 67/151/4 49/70/4 +f 49/70/4 66/152/4 43/71/4 +f 53/73/3 61/153/3 62/74/3 +f 77/154/3 76/155/3 78/78/3 +f 76/155/3 80/76/3 78/78/3 +f 58/64/3 59/91/3 73/79/3 +f 45/81/3 56/69/3 64/82/3 +f 55/67/3 54/75/3 62/84/3 +f 44/86/3 52/66/3 75/87/3 +f 60/89/3 41/156/3 73/90/3 +f 69/157/3 65/158/3 70/94/3 +f 65/158/3 72/92/3 70/94/3 +f 42/159/4 50/160/4 48/97/4 +f 50/160/4 46/95/4 48/97/4 +f 85/98/1 88/106/1 87/99/1 +f 84/101/7 88/106/7 85/98/7 +f 81/103/8 86/100/8 87/99/8 +f 82/105/3 87/99/3 88/106/3 +f 83/108/4 85/98/4 86/100/4 +f 106/110/4 122/161/4 123/111/4 +f 103/113/4 111/162/4 112/114/4 +f 116/118/3 115/163/3 97/116/3 +f 97/116/3 114/164/3 91/117/3 +f 101/119/4 109/165/4 110/120/4 +f 125/124/4 124/166/4 128/167/4 +f 128/167/4 127/122/4 125/124/4 +f 107/125/4 121/168/4 122/126/4 +f 104/115/4 112/169/4 105/127/4 +f 102/121/4 110/170/4 111/129/4 +f 100/112/4 123/171/4 99/130/4 +f 108/132/4 89/172/4 121/133/4 +f 117/136/4 113/173/4 120/174/4 +f 120/174/4 119/134/4 117/136/4 +f 90/175/3 98/176/3 96/139/3 +f 98/176/3 94/137/3 96/139/3 +s 1 +f 46/177/7 55/67/1 47/178/1 +f 73/79/7 79/179/1 74/80/1 +f 47/178/1 56/69/8 48/180/8 +f 50/181/9 54/75/7 46/177/7 +f 75/87/8 76/182/10 51/88/10 +f 41/156/9 78/183/7 73/90/7 +f 48/180/8 45/81/10 42/184/10 +f 74/149/1 80/185/8 75/65/8 +f 67/186/8 44/86/10 49/187/10 +f 63/150/1 72/188/8 64/68/8 +f 61/153/9 70/189/7 62/74/7 +f 66/190/9 59/91/7 43/191/7 +f 68/192/1 52/66/8 67/186/8 +f 64/82/8 65/193/10 57/83/10 +f 62/84/7 71/194/1 63/85/1 +f 43/191/7 58/64/1 68/192/1 +f 94/195/8 103/113/1 95/196/1 +f 121/168/8 127/197/1 122/126/1 +f 95/196/1 104/115/7 96/198/7 +f 98/199/10 102/121/8 94/195/8 +f 123/171/7 124/200/9 99/130/9 +f 89/172/10 126/201/8 121/133/8 +f 90/202/9 104/115/7 93/128/9 +f 122/161/1 128/203/7 123/111/7 +f 115/204/7 92/131/9 97/205/9 +f 111/162/1 120/206/7 112/114/7 +f 109/165/10 118/207/8 110/120/8 +f 91/208/8 108/132/10 107/125/8 +f 116/209/1 100/112/7 115/204/7 +f 112/169/7 113/210/9 105/127/9 +f 110/170/8 119/211/1 111/129/1 +f 91/208/8 106/110/1 116/209/1 +f 46/177/7 54/75/7 55/67/1 +f 73/79/7 78/212/7 79/179/1 +f 47/178/1 55/67/1 56/69/8 +f 50/181/9 53/73/9 54/75/7 +f 75/87/8 80/213/8 76/182/10 +f 41/156/9 77/214/9 78/183/7 +f 48/180/8 56/69/8 45/81/10 +f 74/149/1 79/215/1 80/185/8 +f 67/186/8 52/66/8 44/86/10 +f 63/150/1 71/216/1 72/188/8 +f 61/153/9 69/217/9 70/189/7 +f 66/190/9 60/89/9 59/91/7 +f 68/192/1 58/64/1 52/66/8 +f 64/82/8 72/218/8 65/193/10 +f 62/84/7 70/219/7 71/194/1 +f 43/191/7 59/91/7 58/64/1 +f 94/195/8 102/121/8 103/113/1 +f 121/168/8 126/220/8 127/197/1 +f 95/196/1 103/113/1 104/115/7 +f 98/199/10 101/119/10 102/121/8 +f 123/171/7 128/221/7 124/200/9 +f 89/172/10 125/222/10 126/201/8 +f 90/202/9 96/198/7 104/115/7 +f 122/161/1 127/223/1 128/203/7 +f 115/204/7 100/112/7 92/131/9 +f 111/162/1 119/224/1 120/206/7 +f 109/165/10 117/225/10 118/207/8 +f 91/208/8 114/226/10 108/132/10 +f 116/209/1 106/110/1 100/112/7 +f 112/169/7 120/227/7 113/210/9 +f 110/170/8 118/228/8 119/211/1 +f 91/208/8 107/125/8 106/110/1 diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/nitroglycerin.png b/src/main/resources/assets/hbm/textures/gui/fluids/nitroglycerin.png new file mode 100644 index 0000000000000000000000000000000000000000..7ce1380945b234ae9af1f9acb4a81298cd95d063 GIT binary patch literal 717 zcmV;;0y6!HP)4c`%e2l`x4vit89}d zRhqX)&T5BF3A2G&|BnhJHI-GN? zRx7mD>~=enBq2!>q?9P726uH`vtF+O=(>&&0#Q{}gM&DZ5km0!`AJa}G);pLf+&gr zXqsk-m!>HIkq`o<6kXS`-EJ9=$K2iBQI;jwc*Yon5C9lsI2;aWt*NRCF_}!zS~HnU zhGXD=F|sV9ZCjL5IOj;y6k`lpYlIMjzVA^=vDs`0At0rsX&Rh!%;$525R_$!b8dL< zRYg%0#Bn@Srj#O0Qx=N_Wm)p_^1^<<$9vE5c*J{;a}FWIFSXY4@$o^^G_-At_a194 zbzPI^IYJ2D-rhK$&rGLNk|aTE4Zw1_Bs!f=NGWm7adUHna}Mu4Ns@3notRFi)OF3% z(-Viof$#5coO4JiIh{_(-~Rah&kzE$*^JR>L=;8L=X2V&C4|6uJSI(3&gV0;*^Kdc zjFgfniun2YL5xNtmdho5-(!s7_VyNludgriJO{v9JM8xR{m{U4IwiWlzb8o&oO2uw z2e#WS>-Czh>)7pfWLY*qV~nBeI=uH(RrRZdrfKlrbBz&25zo)hR8>WmWms#GQX-|K z>pF^}Kq*C*WkgX#6vr`b+oH9mZCe(L1=d<7lL^+^fdQoyMNtf>XIVxF0TDvLT8q}2 z5CQ;so>SNLl{5e@mkY12ue`s%18_VZ5kl}E(CR*J=~&V!00000NkvXXu0mjfFx|?tEx|@A24sW_!&ieBS=&U42)Fq~Pc4zbBsCf0OZ*k345khgbm68U{~S KKbLh*2~7YrGdzm` literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_NITROGLYCERIN.png b/src/main/resources/assets/hbm/textures/models/tank/tank_NITROGLYCERIN.png new file mode 100644 index 0000000000000000000000000000000000000000..afc63209a6ca3629de1519efb4050906a259f768 GIT binary patch literal 1270 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 qEUm`HGQHo-@|rip Date: Thu, 25 May 2023 16:01:00 +0200 Subject: [PATCH 115/285] preparation for train coupling --- .../hbm/entity/train/EntityRailCarBase.java | 62 +++++++++++++++---- .../entity/train/EntityRailCarRidable.java | 22 +++---- .../entity/item/RenderTrainCargoTram.java | 13 ++++ 3 files changed, 73 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index 008ed2e78..f816f07bd 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -20,6 +20,7 @@ public abstract class EntityRailCarBase extends Entity { public boolean isOnRail = true; private int turnProgress; + /* Clientside position that should be approached with smooth interpolation */ private double trainX; private double trainY; private double trainZ; @@ -29,6 +30,16 @@ public abstract class EntityRailCarBase extends Entity { @SideOnly(Side.CLIENT) private double velocityX; @SideOnly(Side.CLIENT) private double velocityY; @SideOnly(Side.CLIENT) private double velocityZ; + /* "Actual" position with offset directly between the front and back pos, won't match the standard position on curves */ + public double lastRenderX; + public double lastRenderY; + public double lastRenderZ; + public double renderX; + public double renderY; + public double renderZ; + + public EntityRailCarBase coupledFront; + public EntityRailCarBase coupledBack; public boolean initDummies = false; public BoundingBoxDummyEntity[] dummies = new BoundingBoxDummyEntity[0]; @@ -40,21 +51,15 @@ public abstract class EntityRailCarBase extends Entity { @Override protected void entityInit() { } @Override protected void readEntityFromNBT(NBTTagCompound nbt) { } @Override protected void writeEntityToNBT(NBTTagCompound nbt) { } - - /*@Override - public boolean canBePushed() { - return true; - } - - @Override - public boolean canBeCollidedWith() { - return !this.isDead; - }*/ @Override public void onUpdate() { if(this.worldObj.isRemote) { + + this.prevPosX = this.posX; + this.prevPosY = this.posY; + this.prevPosZ = this.posZ; if(this.turnProgress > 0) { this.prevRotationYaw = this.rotationYaw; @@ -71,6 +76,21 @@ public abstract class EntityRailCarBase extends Entity { this.setPosition(this.posX, this.posY, this.posZ); this.setRotation(this.rotationYaw, this.rotationPitch); } + + BlockPos anchor = this.getCurentAnchorPos(); + Vec3 frontPos = getRelPosAlongRail(anchor, this.getLengthSpan()); + Vec3 backPos = getRelPosAlongRail(anchor, -this.getLengthSpan()); + + this.lastRenderX = this.renderX; + this.lastRenderY = this.renderY; + this.lastRenderZ = this.renderZ; + + if(frontPos != null && backPos != null) { + this.renderX = (frontPos.xCoord + backPos.xCoord) / 2D; + this.renderY = (frontPos.yCoord + backPos.yCoord) / 2D; + this.renderZ = (frontPos.zCoord + backPos.zCoord) / 2D; + } + } else { DummyConfig[] definitions = this.getDummies(); @@ -109,6 +129,9 @@ public abstract class EntityRailCarBase extends Entity { this.derail(); return; } else { + this.renderX = (frontPos.xCoord + backPos.xCoord) / 2D; + this.renderY = (frontPos.yCoord + backPos.yCoord) / 2D; + this.renderZ = (frontPos.zCoord + backPos.zCoord) / 2D; this.prevRotationYaw = this.rotationYaw; this.rotationYaw = this.movementYaw = generateYaw(frontPos, backPos); this.motionX = this.rotationYaw / 360D; // hijacking this crap for easy syncing @@ -121,9 +144,9 @@ public abstract class EntityRailCarBase extends Entity { BoundingBoxDummyEntity dummy = dummies[i]; Vec3 rot = Vec3.createVectorHelper(def.offset.xCoord, def.offset.yCoord, def.offset.zCoord); rot.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); - double x = posX + rot.xCoord; - double y = posY + rot.yCoord; - double z = posZ + rot.zCoord; + double x = renderX + rot.xCoord; + double y = renderY + rot.yCoord; + double z = renderZ + rot.zCoord; dummy.setSize(def.width, def.height); // TEMP dummy.setPosition(x, y, z); } @@ -319,4 +342,17 @@ public abstract class EntityRailCarBase extends Entity { this.offset = offset; } } + + public static enum TrainCoupling { + FRONT, + BACK + } + + public Vec3 getCouplingPos(TrainCoupling coupling) { + return null; + } + + public EntityRailCarBase getCoupledTo(TrainCoupling coupling) { + return coupling == TrainCoupling.FRONT ? this.coupledFront : coupling == TrainCoupling.BACK ? this.coupledBack : null; + } } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index f49a95c45..272fa431b 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -90,8 +90,8 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { if(passengerSeats[i] != null) continue; seat.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); - double x = posX + seat.xCoord; - double z = posZ + seat.zCoord; + double x = renderX + seat.xCoord; + double z = renderZ + seat.zCoord; double deltaX = player.posX - x; double deltaZ = player.posZ - z; @@ -108,8 +108,8 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { if(this.riddenByEntity == null) { Vec3 seat = getRiderSeatPosition(); seat.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); - double x = posX + seat.xCoord; - double z = posZ + seat.zCoord; + double x = renderX + seat.xCoord; + double z = renderZ + seat.zCoord; double deltaX = player.posX - x; double deltaZ = player.posZ - z; @@ -131,9 +131,9 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { SeatDummyEntity dummySeat = new SeatDummyEntity(worldObj, this); Vec3 passengerSeat = this.getPassengerSeats()[nearestSeat]; passengerSeat.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); - double x = posX + passengerSeat.xCoord; - double y = posY + passengerSeat.yCoord; - double z = posZ + passengerSeat.zCoord; + double x = renderX + passengerSeat.xCoord; + double y = renderY + passengerSeat.yCoord; + double z = renderZ + passengerSeat.zCoord; dummySeat.setPosition(x, y - 1, z); passengerSeats[nearestSeat] = dummySeat; worldObj.spawnEntityInWorld(dummySeat); @@ -160,9 +160,9 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { } else { Vec3 rot = seats[i]; rot.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); - double x = posX + rot.xCoord; - double y = posY + rot.yCoord; - double z = posZ + rot.zCoord; + double x = renderX + rot.xCoord; + double y = renderY + rot.yCoord; + double z = renderZ + rot.zCoord; seat.setPosition(x, y - 1, z); } } @@ -177,7 +177,7 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { offset.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); if(this.riddenByEntity != null) { - this.riddenByEntity.setPosition(this.posX + offset.xCoord, this.posY + offset.yCoord, this.posZ + offset.zCoord); + this.riddenByEntity.setPosition(this.renderX + offset.xCoord, this.renderY + offset.yCoord, this.renderZ + offset.zCoord); } } diff --git a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java index 8e097ac2b..7f50e2bef 100644 --- a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java +++ b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java @@ -2,6 +2,7 @@ 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; @@ -13,6 +14,18 @@ public class RenderTrainCargoTram 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, z); float yaw = entity.rotationYaw; From 2512ed91511485ad56fec156daf7b543410a284d Mon Sep 17 00:00:00 2001 From: burningwater202 Date: Thu, 25 May 2023 21:37:41 -0400 Subject: [PATCH 116/285] Laminate Glass (real) At long last. Adds: Laminate Glass Recipe is 250mb BTX + 250mb Phosgene + 4 Tungsten Bolts + 1 Reinforced Glass Will add later: -Laminate Panes -3 to 4 cracked laminate types (meta) --- src/main/java/com/hbm/blocks/ModBlocks.java | 5 +- .../inventory/recipes/ChemplantRecipes.java | 10 + src/main/resources/assets/hbm/lang/en_US.lang | 316 +++++++++--------- .../blocks/glass/reinforced_glass.png | Bin 0 -> 206 bytes .../blocks/glass/reinforced_glass_ct.png | Bin 0 -> 192 bytes .../textures/blocks/reinforced_laminate.png | Bin 0 -> 206 bytes .../blocks/reinforced_laminate_ct.png | Bin 0 -> 192 bytes .../hbm/textures/items/chem_icon_LAMINATE.png | Bin 0 -> 367 bytes 8 files changed, 173 insertions(+), 158 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/blocks/glass/reinforced_glass.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/glass/reinforced_glass_ct.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/reinforced_laminate.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/reinforced_laminate_ct.png create mode 100644 src/main/resources/assets/hbm/textures/items/chem_icon_LAMINATE.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 0397a6f6e..3b3611da3 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -315,6 +315,7 @@ public class ModBlocks { 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 lamp_tritium_green_off; public static Block lamp_tritium_green_on; @@ -1492,7 +1493,8 @@ public class ModBlocks { reinforced_sand = new BlockGeneric(Material.rock).setBlockName("reinforced_sand").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(400.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(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_off"); reinforced_lamp_on = new ReinforcedLamp(Material.rock, true).setBlockName("reinforced_lamp_on").setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_on"); - + reinforced_laminate = new BlockNTMGlassCT(1, RefStrings.MODID + ":reinforced_laminate", Material.rock).setBlockName("reinforced_laminate").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(1000.0F); + lamp_tritium_green_off = new ReinforcedLamp(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 ReinforcedLamp(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 ReinforcedLamp(Material.redstoneLight, false).setBlockName("lamp_tritium_blue_off").setStepSound(Block.soundTypeGlass).setCreativeTab(MainRegistry.blockTab).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_blue_off"); @@ -2629,6 +2631,7 @@ public class ModBlocks { 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()); //Bricks GameRegistry.registerBlock(reinforced_stone, ItemBlockBlastInfo.class, reinforced_stone.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index 57bad806d..a84dc1bf6 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -114,6 +114,16 @@ 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( + new FluidStack(Fluids.XYLENE, 250), + new FluidStack(Fluids.PHOSGENE, 250)) + .inputItems( + new ComparableStack(com.hbm.blocks.ModBlocks.reinforced_glass), + new ComparableStack(com.hbm.items.ModItems.bolt_tungsten, 4)) + .outputItems(new ItemStack(com.hbm.blocks.ModBlocks.reinforced_laminate))); recipes.add(new ChemRecipe(94, "PC", 100) .inputFluids( new FluidStack(Fluids.XYLENE, 500), diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index e2b518d48..96fc869ad 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -120,7 +120,7 @@ achievement.technetium.desc=It's medicinal, it's medicinal! achievement.technetium=Big Man, Pig Man achievement.watzBoom.desc=Drain your septic tank next time. achievement.watzBoom=Disgusting -achievement.watz.desc=Fólkvangr fields possibly included. +achievement.watz.desc=Fólkvangr fields possibly included. achievement.watz=The Power of Element-126 achievement.witchtaunter.desc=Those wacky creatures got nothing on you! achievement.witchtaunter=Witch Taunter @@ -194,129 +194,129 @@ book.test.page1=Test Page 1 book.error.cover=Hadron Collider:$Troubleshooting 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.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.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.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.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.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.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.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.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.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=My first RBMK:$Basics of$building a$reactor 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.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.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.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.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.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.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.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.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.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.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.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.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.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.rbmk.page16=§4§lAVOID. book.starter.cover=An Industrialist's$Guide to Rebuilding$Society book.starter.title1=Introduction book.starter.page1=If you're reading this, it's highly likely that society, in one way or another, has collapsed entirely. Governments, countries, and authority are a concept of the past - along with all of the amenities of civilized life. As such, this guide will inform you how to change that by recreating the industry and technology of the past for the improvement of your own life. book.starter.title2=Coal & Mustard Gas -book.starter.page2=Whilst it is impossible to predict the actual state of the world in a post-apocalyptic time, it's not unlikely that war and industry in its current form may not have ended. To protect your own lungs, an effective and cheap way is to urinate on some §lcloth§r to make a §ltrench mask§r, to protect you from coal dust or mustard gas, if you ever encounter either. +book.starter.page2=Whilst it is impossible to predict the actual state of the world in a post-apocalyptic time, it's not unlikely that war and industry in its current form may not have ended. To protect your own lungs, an effective and cheap way is to urinate on some §lcloth§r to make a §ltrench mask§r, to protect you from coal dust or mustard gas, if you ever encounter either. book.starter.title3=Anvils & Presses -book.starter.page3=The quintessentials to beginning your industrial revitalization is an §lanvil§r and a §lburner press§r. The anvil will allow you to manually craft together early machinery such as the Assembler, whilst the burner press will let you make plates, wires, and circuits that you cannot hammer together with an anvil. +book.starter.page3=The quintessentials to beginning your industrial revitalization is an §lanvil§r and a §lburner press§r. The anvil will allow you to manually craft together early machinery such as the Assembler, whilst the burner press will let you make plates, wires, and circuits that you cannot hammer together with an anvil. book.starter.title4=Templates -book.starter.page4=In order to stamp metal into useful shapes, assemble machinery, and perform chemical reactions, you will need to create a §lMachine Template Folder§r to create the various stamps and templates shown to the right. +book.starter.page4=In order to stamp metal into useful shapes, assemble machinery, and perform chemical reactions, you will need to create a §lMachine Template Folder§r to create the various stamps and templates shown to the right. book.starter.title5=Scavenging book.starter.page5=Depending on how bad the initial apocalyptic event was to the preexisting structures of the world, there's a likely chance that many useful materials and machines can be salvaged from them directly. Metallic alloys like steel, parts like circuitry, and even fissile material from a nuclear power plant might be awaiting you. Beware certain ruins, however, as there may be an excess of danger lurking there like a snake in the grass; waiting to strike you down with radiation, traps, or indescribable horrors... book.starter.title6=Early Machinery -book.starter.page6a=Two of the first machines you should assemble are the §lBlast Furnace§r and the §lAssembly Machine§r. The former will allow you to create alloys such as §lsteel§r, §lminecraft-grade copper§r, and §ladvanced alloy§r; you will need to use these metals for the bodies of machines, the wiring of circuits, advanced electromagnets, and more. -book.starter.page6b=The assembler will be used to create practically every other machine described in this guide. You will need a power source, such as a §lCombustion§r §lGenerator§r or §lSolar Boiler§r. -book.starter.page7a=The §lShredder§r, along with a pair of shredder blades, will be very useful for doubling the output of most ores, via shredding into smeltable powders. These powders are also crucial to begin making circuitry for various machines, such as §lEnhanced§r and §lOverclocked§r circuits. -book.starter.page7b=Using your new machinery, you can create the §lChemical Plant§r, used for the synthesis of better circuits, concrete, the processing of petrochemicals, and more. +book.starter.page6a=Two of the first machines you should assemble are the §lBlast Furnace§r and the §lAssembly Machine§r. The former will allow you to create alloys such as §lsteel§r, §lminecraft-grade copper§r, and §ladvanced alloy§r; you will need to use these metals for the bodies of machines, the wiring of circuits, advanced electromagnets, and more. +book.starter.page6b=The assembler will be used to create practically every other machine described in this guide. You will need a power source, such as a §lCombustion§r §lGenerator§r or §lSolar Boiler§r. +book.starter.page7a=The §lShredder§r, along with a pair of shredder blades, will be very useful for doubling the output of most ores, via shredding into smeltable powders. These powders are also crucial to begin making circuitry for various machines, such as §lEnhanced§r and §lOverclocked§r circuits. +book.starter.page7b=Using your new machinery, you can create the §lChemical Plant§r, used for the synthesis of better circuits, concrete, the processing of petrochemicals, and more. book.starter.title8=Black Gold -book.starter.page8a=Using an §lOil §lReservoir§r §lDetector§r, you can find underground oil deposits to place a §lPumpjack§r or §lDerrick§r over via surveying an area. Remember that oil deposits will run out over time. -book.starter.page8b=Before the oil can be refined and separated into its constituent parts in an §lOil Refinery§r, you must heat the oil to 300°C in a §lBoiler§r. +book.starter.page8a=Using an §lOil §lReservoir§r §lDetector§r, you can find underground oil deposits to place a §lPumpjack§r or §lDerrick§r over via surveying an area. Remember that oil deposits will run out over time. +book.starter.page8b=Before the oil can be refined and separated into its constituent parts in an §lOil Refinery§r, you must heat the oil to 300°C in a §lBoiler§r. book.starter.title9=Petrochemicals -book.starter.page9=Using §lChemical Plants§r, §lFractioning§r §lTowers§r, and §lCatalytic Cracking§r §lTowers§r, you can transform the separated oil into a variety of useful products. For example: §lPolymer§r or §lBakelite§r, durable and flexible plastics; §lDesh§r, an extremely durable and heat-resistant rare earth metal alloy; §lSolid Fuel§r, which can be burnt for energy; or even §lLiquid Fuels§r, such as §lGasoline§r, §lDiesel§r, §lKerosene§r, and more. +book.starter.page9=Using §lChemical Plants§r, §lFractioning§r §lTowers§r, and §lCatalytic Cracking§r §lTowers§r, you can transform the separated oil into a variety of useful products. For example: §lPolymer§r or §lBakelite§r, durable and flexible plastics; §lDesh§r, an extremely durable and heat-resistant rare earth metal alloy; §lSolid Fuel§r, which can be burnt for energy; or even §lLiquid Fuels§r, such as §lGasoline§r, §lDiesel§r, §lKerosene§r, and more. book.starter.title10=Advanced Machinery -book.starter.page10=With oil processing under your belt, you can create the §lCentrifuge§r, which will triple ore outputs; the §lOre §lAcidizer§r, which will crystallize ores, increasing the yield; and the §lSILEX + §lFEL§r, two marvels of modern engineering which can separate the isotopes of materials with ease. You will require significantly more energy to power these; which can be obtained with sources such as a §lDiesel Generator§r, an §lIndustrial Generator§r, or even a nuclear reactor. +book.starter.page10=With oil processing under your belt, you can create the §lCentrifuge§r, which will triple ore outputs; the §lOre §lAcidizer§r, which will crystallize ores, increasing the yield; and the §lSILEX + §lFEL§r, two marvels of modern engineering which can separate the isotopes of materials with ease. You will require significantly more energy to power these; which can be obtained with sources such as a §lDiesel Generator§r, an §lIndustrial Generator§r, or even a nuclear reactor. book.starter.title11=Strata -book.starter.page11=Underneath the ground you walk, there is several naturally-occurring §lStrata§r, or special mineral layers and formations. §lSchist Strata§r are blue, lithium-containing layers filled with uranium, iron, copper, asbestos, and other ores for your own use. §lDepth Rock§r contains large quantities of rarer minerals, such as §lZirconium§r and §lBoron§r, but requires explosives to properly harvest. +book.starter.page11=Underneath the ground you walk, there is several naturally-occurring §lStrata§r, or special mineral layers and formations. §lSchist Strata§r are blue, lithium-containing layers filled with uranium, iron, copper, asbestos, and other ores for your own use. §lDepth Rock§r contains large quantities of rarer minerals, such as §lZirconium§r and §lBoron§r, but requires explosives to properly harvest. book.starter.title12=Radiation -book.starter.page12a=§oThe rest of this book will deal with matters that involve §oradiation. For the safety of you and others, I will give §oadvice on how to mitigate and deal with exposure to it. -book.starter.page12b=Enough exposure to radiation can and will cause bodily harm. The first step is prevention; be sure to limit your exposure, and wear protective gear, such as a §lHazmat Suit§r, or apply §lCladding§r to your clothing or armor; you can also take §lRad-X§r to limit your intake. Thanks to modern medicine, the second step can be removal if necessary; for example, a §lPlayer §lDecontaminator§r will slowly reduce the radiation absorbed by your body. §lRad-Away§r can also be used as a post-exposure prophylaxis, quickly and effectively reversing damage caused to your body by ionizing radiation. +book.starter.page12a=§oThe rest of this book will deal with matters that involve §oradiation. For the safety of you and others, I will give §oadvice on how to mitigate and deal with exposure to it. +book.starter.page12b=Enough exposure to radiation can and will cause bodily harm. The first step is prevention; be sure to limit your exposure, and wear protective gear, such as a §lHazmat Suit§r, or apply §lCladding§r to your clothing or armor; you can also take §lRad-X§r to limit your intake. Thanks to modern medicine, the second step can be removal if necessary; for example, a §lPlayer §lDecontaminator§r will slowly reduce the radiation absorbed by your body. §lRad-Away§r can also be used as a post-exposure prophylaxis, quickly and effectively reversing damage caused to your body by ionizing radiation. book.starter.title13=Uranium Enrichment -book.starter.page13=There are a few, easy options for fuels to use for a nuclear reactor; for instance, §lNatural Uranium§r or §lThorium Fuel§r. However, if you're looking for something more powerful, you can set up an enrichment cascade of two §lGas Centrifuges§r to produce §lUranium Fuel§r with leftover §lUranium-238§r. You will have to transmute the natural uranium into §lYellowcake§r, then §lUranium §lHexafluoride§r to do so. +book.starter.page13=There are a few, easy options for fuels to use for a nuclear reactor; for instance, §lNatural Uranium§r or §lThorium Fuel§r. However, if you're looking for something more powerful, you can set up an enrichment cascade of two §lGas Centrifuges§r to produce §lUranium Fuel§r with leftover §lUranium-238§r. You will have to transmute the natural uranium into §lYellowcake§r, then §lUranium §lHexafluoride§r to do so. book.starter.title14=The Chicago Pile -book.starter.page14=Alternatively, you can breed §lReactor-Grade Plutonium§r, a more powerful fuel, from Natural Uranium using the §lChicago Pile§r. By stacking graphite blocks and drilling into them, you can insert fuel rods to breed into plutonium and neutron source rods, such as §lRadium-Beryllium§r, to begin the reaction. Make sure to test your designs; spacing out or limiting the amount of blocks may be necessary to prevent overheating. +book.starter.page14=Alternatively, you can breed §lReactor-Grade Plutonium§r, a more powerful fuel, from Natural Uranium using the §lChicago Pile§r. By stacking graphite blocks and drilling into them, you can insert fuel rods to breed into plutonium and neutron source rods, such as §lRadium-Beryllium§r, to begin the reaction. Make sure to test your designs; spacing out or limiting the amount of blocks may be necessary to prevent overheating. book.starter.title15=ZIRNOX GCR -book.starter.page15=Finally, you can create your first §oreal§r source of energy: the §lZIRNOX§r Nuclear Reactor. Nuclear reactors require more setup then other power sources; first, you will want to have a good source of water, such as the §lHeavy §lInfinite Water Tank§r. To remove heat from the reactor core and boil the water into steam, you will need a sufficient amount of §lCarbon Dioxide§r. You want just enough pressure, but not §otoo§r much. You will also need three steam turbines to utilize the created steam to make energy; the §lSteam §lTurbine§r or §lIndustrial Steam §lTurbine§r will be optimal. Finally, a §lCondensor§r or §lAuxilary Cooling Tower§r is needed to condense the leftover steam into water, where it can be voided or recycled in a cooling loop. +book.starter.page15=Finally, you can create your first §oreal§r source of energy: the §lZIRNOX§r Nuclear Reactor. Nuclear reactors require more setup then other power sources; first, you will want to have a good source of water, such as the §lHeavy §lInfinite Water Tank§r. To remove heat from the reactor core and boil the water into steam, you will need a sufficient amount of §lCarbon Dioxide§r. You want just enough pressure, but not §otoo§r much. You will also need three steam turbines to utilize the created steam to make energy; the §lSteam §lTurbine§r or §lIndustrial Steam §lTurbine§r will be optimal. Finally, a §lCondensor§r or §lAuxilary Cooling Tower§r is needed to condense the leftover steam into water, where it can be voided or recycled in a cooling loop. book.starter.title16=Conclusion -book.starter.page16=If you've reached this far, you're on track to helping rebuild civilization. You've successfully recreated the advanced machinery of the pre-apocalypse - with nuclear power, petrochemicals, and more. I cannot know §ohow§r you will use these new-found advantages, but it's my personal hope you use them for the good of yourself and others - or at the very least, in self-defense. Au revoir! +book.starter.page16=If you've reached this far, you're on track to helping rebuild civilization. You've successfully recreated the advanced machinery of the pre-apocalypse - with nuclear power, petrochemicals, and more. I cannot know §ohow§r you will use these new-found advantages, but it's my personal hope you use them for the good of yourself and others - or at the very least, in self-defense. Au revoir! book.starter.title18=About the Author -book.starter.page18=vær is just a guy who has been trapped in the grey void featured in the Talking Head's §oOnce In A Lifetime§r for too long. He once found a studio door, but to his dismay found out it was a cardboard cut-out. +book.starter.page18=vær is just a guy who has been trapped in the grey void featured in the Talking Head's §oOnce In A Lifetime§r for too long. He once found a studio door, but to his dismay found out it was a cardboard cut-out. #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.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.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.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.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.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.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.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.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.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.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.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.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.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.rbmk.page16=§4§lAvoid. book_lore.author=By %s book_lore.test.name=Test @@ -399,10 +399,10 @@ cannery.crucible.0=The crucible is used to smelt ores, ingots or other metallic 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.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.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. @@ -553,6 +553,7 @@ chem.VIT_LIQUID=Liquid Nuclear Waste Vitrification chem.XENON=Linde Xenon Cycle chem.XENON_OXY=Boosted Linde Xenon Cycle chem.YELLOWCAKE=Yellowcake Production +chem.LAMINATE=Reinforced Glass Lamination container.amsBase=AMS Base (Deco) container.amsEmitter=AMS Emitter (Deco) @@ -648,7 +649,7 @@ container.nukeFurnace=Nuclear Powered Furnace container.nukeGadget=The Gadget container.nukeMan=Fat Man container.nukeMike=Ivy Mike -container.nukeN2=N² Mine +container.nukeN2=N² Mine container.nukeN45=N45 Naval Mine container.nukePrototype=The Prototype container.nukeSolinium=The Blue Rinse @@ -779,35 +780,35 @@ 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. -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. -desc.gui.gasCent.output=§6Fluid Transfer§r$Fluid can be transferred to another centrifuge$via the output port for further processing. -desc.gui.nukeBoy.desc=§1Requires:§r$ * Neutron Shielding$ * U235 Projectile$ * Subcritical U235 Target$ * Propellant$ * Bomb Igniter -desc.gui.nukeGadget.desc=§1Requires:§r$ * 4 Arrays of First-Generation$ High-Explosive Lenses$ * Heavy Plutonium Core$ * Wiring -desc.gui.nukeMan.desc=§1Requires:§r$ * 4 Arrays of First-Generation$ High-Explosive Lenses$ * Plutonium Core$ * Bomb Firing Unit -desc.gui.nukeMike.desc=§1Requires:§r$ * 4 Arrays of High-Explosive Lenses$ * Plutonium Core$ * Deuterium Cooling Unit$ * Uranium Coated Deuterium Tank$ * Deuterium Tank -desc.gui.nukeTsar.desc=§1Requires:§r$ * 4 Arrays of High-Explosive Lenses$ * Plutonium Core$§9Optional:§r$ * Tsar Bomba Core -desc.gui.radiolysis.desc=§9Description§r$This RTG is more efficient then others, and$comes equipped with a radiolysis chamber for$cracking and sterilization. +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. +desc.gui.gasCent.output=§6Fluid Transfer§r$Fluid can be transferred to another centrifuge$via the output port for further processing. +desc.gui.nukeBoy.desc=§1Requires:§r$ * Neutron Shielding$ * U235 Projectile$ * Subcritical U235 Target$ * Propellant$ * Bomb Igniter +desc.gui.nukeGadget.desc=§1Requires:§r$ * 4 Arrays of First-Generation$ High-Explosive Lenses$ * Heavy Plutonium Core$ * Wiring +desc.gui.nukeMan.desc=§1Requires:§r$ * 4 Arrays of First-Generation$ High-Explosive Lenses$ * Plutonium Core$ * Bomb Firing Unit +desc.gui.nukeMike.desc=§1Requires:§r$ * 4 Arrays of High-Explosive Lenses$ * Plutonium Core$ * Deuterium Cooling Unit$ * Uranium Coated Deuterium Tank$ * Deuterium Tank +desc.gui.nukeTsar.desc=§1Requires:§r$ * 4 Arrays of High-Explosive Lenses$ * Plutonium Core$§9Optional:§r$ * Tsar Bomba Core +desc.gui.radiolysis.desc=§9Description§r$This RTG is more efficient then others, and$comes equipped with a radiolysis chamber for$cracking and sterilization. desc.gui.rtgBFurnace.desc=Requires at least 15 heat to process$The more heat on top of that, the faster it runs$Heat going over maximum speed will have no effect$Short-lived pellets may decay -desc.gui.rtg.heat=§eCurrent heat level: %s +desc.gui.rtg.heat=§eCurrent heat level: %s desc.gui.rtg.pellets=Accepted Pellets: desc.gui.rtg.pelletHeat=%s (%s heat) desc.gui.rtg.pelletPower=%s (%s HE/tick) -desc.gui.template=§9Templates§r$Templates can be made by$using the Machine Template Folder. -desc.gui.turbinegas.automode=§2Automatic Turbine Throttling Mode§r$By clicking the "AUTO" button, the turbine$will automatically adjust the power production$based on the power required from the network -desc.gui.turbinegas.fuels=§6Accepted fuels:§r -desc.gui.turbinegas.warning=§cFuel or lubricant level low!§r -desc.gui.upgrade=§lAcceptable Upgrades:§r -desc.gui.upgrade.afterburner= * §dAfterburner§r: Stacks to level 3 -desc.gui.upgrade.effectiveness= * §aEffectiveness§r: Stacks to level 3 -desc.gui.upgrade.overdrive= * §7Overdrive§r: Stacks to level 3 -desc.gui.upgrade.power= * §1Power-Saving§r: Stacks to level 3 -desc.gui.upgrade.speed= * §4Speed§r: Stacks to level 3 -desc.gui.zirnox.coolant=§3Coolant§r$CO2 transfers heat from the core to the water.$This will boil it into super dense steam.$The efficiency of cooling and steam production$is based on pressure. -desc.gui.zirnox.pressure=§6Pressure§r$Pressure can be reduced by venting CO2.$However, too low a pressure, and cooling$efficiency and steam production will be reduced.$Look out for meltdowns! -desc.gui.zirnox.warning1=§cError:§r Water is required for$the reactor to function properly! -desc.gui.zirnox.warning2=§cError:§r CO2 is required for$the reactor to function properly! +desc.gui.template=§9Templates§r$Templates can be made by$using the Machine Template Folder. +desc.gui.turbinegas.automode=§2Automatic Turbine Throttling Mode§r$By clicking the "AUTO" button, the turbine$will automatically adjust the power production$based on the power required from the network +desc.gui.turbinegas.fuels=§6Accepted fuels:§r +desc.gui.turbinegas.warning=§cFuel or lubricant level low!§r +desc.gui.upgrade=§lAcceptable Upgrades:§r +desc.gui.upgrade.afterburner= * §dAfterburner§r: Stacks to level 3 +desc.gui.upgrade.effectiveness= * §aEffectiveness§r: Stacks to level 3 +desc.gui.upgrade.overdrive= * §7Overdrive§r: Stacks to level 3 +desc.gui.upgrade.power= * §1Power-Saving§r: Stacks to level 3 +desc.gui.upgrade.speed= * §4Speed§r: Stacks to level 3 +desc.gui.zirnox.coolant=§3Coolant§r$CO2 transfers heat from the core to the water.$This will boil it into super dense steam.$The efficiency of cooling and steam production$is based on pressure. +desc.gui.zirnox.pressure=§6Pressure§r$Pressure can be reduced by venting CO2.$However, too low a pressure, and cooling$efficiency and steam production will be reduced.$Look out for meltdowns! +desc.gui.zirnox.warning1=§cError:§r Water is required for$the reactor to function properly! +desc.gui.zirnox.warning2=§cError:§r CO2 is required for$the reactor to function properly! desc.item.ammo.con_accuracy2=- Highly decreased accuracy desc.item.ammo.con_damage=- Highly decreased damage desc.item.ammo.con_heavy_wear=- Highly increased wear @@ -915,7 +916,7 @@ desc.item.kitArmor=Armor will be displaced by new set. desc.item.kitHaz=Armor will be displaced by hazmat suit. desc.item.kitPack=What a bargain! desc.item.kitPool=Please empty inventory before opening! -desc.item.pileRod=§eUse on drilled graphite to insert$§eUse screwdriver to extract$ +desc.item.pileRod=§eUse on drilled graphite to insert$§eUse screwdriver to extract$ desc.item.rtgDecay=Decays to: %s desc.item.rtgHeat=Power Level: %s desc.item.storage.capacity=Capacity %s%%s @@ -923,19 +924,19 @@ desc.item.storage.proscons=to view pros cons list desc.misc.357=.357 Magnum desc.misc.556=.223 Remington desc.misc.762=.308 Winchester -desc.misc.func=§n-- Function -- +desc.misc.func=§n-- Function -- desc.misc.lanthanum="Lanthanum" -desc.misc.lctrl=§8Hold <§e§oLCTRL§8§o> %s -desc.misc.lore=§n-- Lore -- -desc.misc.lshift=§8Hold <§e§oLSHIFT§8§o> %s -desc.misc.luna=§o20x155mm Lunatic -desc.misc.meltPoint=Melting point: §c%s +desc.misc.lctrl=§8Hold <§e§oLCTRL§8§o> %s +desc.misc.lore=§n-- Lore -- +desc.misc.lshift=§8Hold <§e§oLSHIFT§8§o> %s +desc.misc.luna=§o20x155mm Lunatic +desc.misc.meltPoint=Melting point: §c%s desc.misc.noPos=No position set! desc.misc.pos=Set pos to: %s, %s, %s desc.misc.posSet=Position set! desc.item.wasteCooling=Cool in a Spent Fuel Pool Drum -desc.item.zirnoxBreedingRod=§2[ZIRNOX Breeding Rod]$§ePlace next to fuel rods to breed$§eLasts %d ticks -desc.item.zirnoxRod=§a[ZIRNOX Fuel Rod]$§eGenerates %1$d heat per tick$§eLasts %2$d ticks +desc.item.zirnoxBreedingRod=§2[ZIRNOX Breeding Rod]$§ePlace next to fuel rods to breed$§eLasts %d ticks +desc.item.zirnoxRod=§a[ZIRNOX Fuel Rod]$§eGenerates %1$d heat per tick$§eLasts %2$d ticks digamma.playerDigamma=Digamma exposure: digamma.playerHealth=Digamma influence: @@ -1059,15 +1060,15 @@ 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.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.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.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 @@ -1080,7 +1081,7 @@ 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.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 @@ -1123,11 +1124,11 @@ 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.hopper0=§eNormal Mode:$All items will be used. +hadron.hopper1=§eHopper Mode:$One item will always remain. 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.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! @@ -1227,7 +1228,7 @@ hbmfluid.mustardgas=Mustard Gas hbmfluid.naphtha=Naphtha hbmfluid.naphtha_coker=Coker Naphtha hbmfluid.naphtha_crack=Cracked Naphtha -hbmfluid.nitan=NITAN© 100 Octane Super Fuel +hbmfluid.nitan=NITAN© 100 Octane Super Fuel hbmfluid.nitric_acid=Nitric Acid hbmfluid.none=None hbmfluid.oil=Crude Oil @@ -1545,7 +1546,7 @@ 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_nuclear.name=40mm Grenade (Привет) +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) @@ -1579,7 +1580,7 @@ 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_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) @@ -1593,7 +1594,7 @@ 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_nuclear.name=Stinger Rocket (Привет) item.ammo_stinger_rocket_bones.name=Stinger Rocket (Bone-Seeking) item.ams_catalyst_aluminium.name=Aluminium Reaction Catalyst item.ams_catalyst_beryllium.name=Beryllium Reaction Catalyst @@ -1632,7 +1633,7 @@ item.apple_schrabidium.name=Schrabidium Apple item.arc_electrode.name=Graphite Electrode item.arc_electrode_burnt.name=Molten Electrode item.arc_electrode_desh.name=Desh Electrode -item.armor_polish.name=ShiningArmor™ Armor Polish +item.armor_polish.name=ShiningArmorâ„¢ Armor Polish item.asbestos_boots.name=Fire Proximity Boots item.asbestos_cloth.name=Fire Proximity Cloth item.asbestos_helmet.name=Fire Proximity Helmet @@ -1853,7 +1854,7 @@ item.can_mug.name=MUG Root Beer item.can_overcharge.name=Overcharge Delirium XT item.can_redbomb.name='Red Bomb' Energy Drink item.can_smart.name='Smart' Energy Drink -item.canister_NITAN.name=NITAN© 100 Octane Super Fuel (LEGACY) +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) @@ -1897,7 +1898,7 @@ item.canned_fried.name=Canned Fried Chicken item.canned_fried.desc=Even the can is deep fried! item.canned_hotdogs.name=Canned Hotdogs item.canned_hotdogs.desc=Not to be confused with cool cats. -item.canned_jizz.name=FlimFlam Industries Canned Stallion Milk™ +item.canned_jizz.name=FlimFlam Industries Canned Stallion Milkâ„¢ item.canned_jizz.desc=Wait wh- item.canned_kerosene.name=Canned Kerosene item.canned_kerosene.desc=Just imagine a witty line here. @@ -1911,14 +1912,14 @@ 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 item.canned_oil.desc=It makes motors go, so why not humans? -item.canned_pashtet.name=Паштет -item.canned_pashtet.desc=услуги перевода недоступны! +item.canned_pashtet.name=Паштет +item.canned_pashtet.desc=уÑ�луги перевода недоÑ�тупны! item.canned_pizza.name=Canned Pepperoni Pizza item.canned_pizza.desc=A crime against humanity. item.canned_recursion.name=Canned Recursion item.canned_recursion.desc=Canned Recursion item.canned_spam.name=Canned Spam -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_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=Canned "Mushroom Stew" item.canned_stew.desc=... item.canned_tomato.name=Canned Tomato Soup @@ -2455,9 +2456,9 @@ item.grenade_tau.name=Tau Grenade item.grenade_zomg.name=Negative Energy Pair Annihilation Grenade item.gun_ar15.name=Josh item.gun_avenger.name=CZ57 Avenger Minigun -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_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_bf.name=BEL item.gun_bf_ammo.name=Balefire Shell item.gun_bio_revolver.name=Atlas @@ -2507,7 +2508,7 @@ 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_lever_action_sonata_2.name=§cSonata's Microphone§r item.gun_lunatic_marksman.name=Lunatic Sniper Rifle item.gun_m2.name=Ma Deuce item.gun_minigun.name=CZ53 Personal Minigun @@ -2525,7 +2526,7 @@ item.gun_osipr_ammo2.name=Combine Ball 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_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 @@ -2637,7 +2638,7 @@ item.ingot_am242.name=Americium-242 Ingot item.ingot_americium_fuel.name=Ingot of Americium Fuel item.ingot_arsenic.name=Arsenic Ingot item.ingot_asbestos.name=Asbestos Sheet -item.ingot_asbestos.desc=§o"Filled with life, self-doubt and asbestos. That comes with the air."§r +item.ingot_asbestos.desc=§o"Filled with life, self-doubt and asbestos. That comes with the air."§r item.ingot_au198.name=Gold-198 Ingot item.ingot_australium.name=Australium Ingot item.ingot_bakelite.name=Bakelite Bar @@ -2713,7 +2714,7 @@ item.ingot_semtex.name=Bar of Semtex item.ingot_smore.name=S'more Ingot item.ingot_solinium.name=Solinium Ingot item.ingot_sr90.name=Strontium-90 Ingot -item.ingot_starmetal.name=§9Starmetal Ingot§r +item.ingot_starmetal.name=§9Starmetal Ingot§r item.ingot_steel.name=Steel Ingot item.ingot_steel_dusted.name=Dusted Steel Ingot item.ingot_tantalium.name=Tantalium Ingot @@ -2737,7 +2738,7 @@ item.ingot_weidanium.name=Weidanium Ingot item.ingot_zirconium.name=Zirconium Cube item.injector_5htp.name=5-HTP Autoinjector item.injector_knife.name=8 Inch Blade Autoinjector -item.ink.name=林 Ink +item.ink.name=æž— Ink item.insert_doxium.name=Astolfium-Doped Doxium Insert item.insert_du.name=DU Insert item.insert_era.name=Explosive Reactive Armor Insert @@ -2768,7 +2769,7 @@ item.key_fake.name=Counterfeit Key item.key_kit.name=Key Imitation Kit item.key_red.name=Red Key item.key_red.desc=Explore the other side. -item.key_red.desc.P11=§4e§r +item.key_red.desc.P11=§4e§r item.kit_toolbox.name=Toolbox item.kit_toolbox_empty.name=Empty Toolbox item.laser_crystal_bismuth.desc=Bismuth-Samarium-Uranium-Thorium crystal matrix @@ -2794,7 +2795,7 @@ item.liquidator_plate.name=Liquidator Suit Chestplate item.lithium.name=Lithium Cube item.lodestone.name=Lodestone item.loop_stew.name=IT Breakfast -item.loops.name=Lööps +item.loops.name=Lööps item.loot_10.name=Size 10 Missile Loot Crate item.loot_15.name=Size 15 Missile Loot Crate item.loot_misc.name=General Missile Loot Crate @@ -2825,7 +2826,7 @@ item.med_ptsd.name=PTSD Medication item.med_schiziphrenia.name=Schizophrenia Medication item.medal_liquidator.name=Liquidator Medal item.meltdown_tool.name=Dyatlov Instant Meltdown Applicator -item.memespoon.name=§eMarket Gardener +item.memespoon.name=§eMarket Gardener item.memory.name=item.null.name item.mese_gavel.name=Mese Gavel item.mese_pickaxe.name=Mese Pickaxe @@ -2892,7 +2893,7 @@ item.missile_skin_orange_insulation.desc=Not an orange juice bottle;$do not atte item.missile_skin_sleek.name=Missile Skin: IF-R&D item.missile_skin_sleek.desc=Chevrons are cool! item.missile_skin_soviet_glory.name=Missile Skin: Soviet Glory -item.missile_skin_soviet_glory.desc=услуга перевода недоступна +item.missile_skin_soviet_glory.desc=уÑ�луга перевода недоÑ�тупна item.missile_skin_soviet_stank.name=Missile Skin: Soviet Stank item.missile_skin_soviet_stank.desc=This one's got the real 60's stank to it. item.missile_soyuz.name=Soyuz-FG @@ -3023,7 +3024,7 @@ item.mp_warhead_15_balefire.name=Size 15 BF Warhead item.mp_warhead_15_boxcar.name=Size 15 Boxcar? item.mp_warhead_15_he.name=Size 15 HE Warhead item.mp_warhead_15_incendiary.name=Size 15 Incendiary Warhead -item.mp_warhead_15_n2.name=Size 15 N² Mine +item.mp_warhead_15_n2.name=Size 15 N² Mine item.mp_warhead_15_nuclear.name=Size 15 Nuclear Warhead item.mp_warhead_15_nuclear_mimi.name=Size 15 Mimi-chan's Head item.mp_warhead_15_nuclear_shark.name=Size 15 Nuclear Warhead @@ -3089,7 +3090,7 @@ item.nugget_les.name=Low Enriched Schrabidium Fuel Nugget item.nugget_mercury_tiny.name=Tiny Drop of Mercury item.nugget_mercury.name=Drop of Mercury item.nugget_mox_fuel.name=Nugget of MOX Fuel -item.nugget_mox_fuel.desc=Moxie says: §lTAX EVASION.§r +item.nugget_mox_fuel.desc=Moxie says: §lTAX EVASION.§r item.nugget_neptunium.name=Neptunium Nugget item.nugget_neptunium_fuel.name=Neptunium Fuel Nugget item.nugget_osmiridium.name=Osmiridium Nugget @@ -3197,7 +3198,7 @@ item.particle_aproton.name=Antiproton Capsule item.particle_aschrab.name=Antischrabidium Capsule item.particle_copper.name=Copper Ion Capsule item.particle_dark.name=Dark Matter Capsule -item.particle_digamma.name=§cThe Digamma Particle§r +item.particle_digamma.name=§cThe Digamma Particle§r item.particle_empty.name=Empty Particle Capsule item.particle_higgs.name=Higgs Boson Capsule item.particle_hydrogen.name=Hydrogen Ion Capsule @@ -3263,19 +3264,19 @@ item.pellet_rtg_weak.desc=Cheaper and weaker pellet, now with more U238! item.pellet_schrabidium.name=Pure Schrabidium Watz Pellet item.photo_panel.name=Photovoltaic Panel item.pile_rod_boron.name=Chicago Pile Control Rod -item.pile_rod_boron.desc=§9[Neutron Absorber]$§eClick to toggle +item.pile_rod_boron.desc=§9[Neutron Absorber]$§eClick to toggle item.pile_rod_detector.name=Chicago Pile Control & Detector Rod -item.pile_rod_detector.desc=§9[Neutron Detector/Absorber]$§eUse defuser to increase/decrease neutron limit$§eUse screwdriver w/o sneaking to inspect flux +item.pile_rod_detector.desc=§9[Neutron Detector/Absorber]$§eUse defuser to increase/decrease neutron limit$§eUse screwdriver w/o sneaking to inspect flux item.pile_rod_lithium.name=Chicago Pile Lithium Cell -item.pile_rod_lithium.desc=§a[Breedable Fuel]$§eUse hand drill to inspect core +item.pile_rod_lithium.desc=§a[Breedable Fuel]$§eUse hand drill to inspect core item.pile_rod_plutonium.name=Chicago Pile Plutonium Rod -item.pile_rod_plutonium.desc=§d[Neutron Source] +item.pile_rod_plutonium.desc=§d[Neutron Source] item.pile_rod_pu239.name=Chicago Pile Bred Uranium Rod -item.pile_rod_pu239.desc=§a[Reactive Fuel]$§eRich in Plutonium-239. +item.pile_rod_pu239.desc=§a[Reactive Fuel]$§eRich in Plutonium-239. item.pile_rod_source.name=Chicago Pile Ra226Be Neutron Source -item.pile_rod_source.desc=§d[Neutron Source] +item.pile_rod_source.desc=§d[Neutron Source] item.pile_rod_uranium.name=Chicago Pile Uranium Rod -item.pile_rod_uranium.desc=§a[Reactive Fuel]$§eUse hand drill to take core sample +item.pile_rod_uranium.desc=§a[Reactive Fuel]$§eUse hand drill to take core sample item.pill_iodine.name=Iodine Pill item.pill_iodine.desc=Removes negative effects item.pill_herbal.name=Herbal Paste @@ -3336,7 +3337,7 @@ item.powder_actinium_tiny.name=Tiny Pile of Actinium Powder item.powder_advanced_alloy.name=Advanced Alloy Powder item.powder_aluminium.name=Aluminium Powder item.powder_asbestos.name=Asbestos Powder -item.powder_asbestos.desc=§o\"Sniffffffff- MHHHHHHMHHHHHHHHH\"§r +item.powder_asbestos.desc=§o\"Sniffffffff- MHHHHHHMHHHHHHHHH\"§r item.powder_astatine.name=Astatine Powder item.powder_at209.name=Astatine-209 Powder item.powder_au198.name=Gold-198 Powder @@ -3370,7 +3371,7 @@ item.powder_cs137_tiny.name=Tiny Pile of Caesium-137 Powder item.powder_daffergon.name=Daffergon Powder item.powder_desh.name=Desh Powder item.powder_desh_mix.name=Desh Blend -item.powder_desh_ready.name=DeshReady™ Blend +item.powder_desh_ready.name=DeshReadyâ„¢ Blend item.powder_diamond.name=Diamond Powder item.powder_dineutronium.name=Dineutronium Powder item.powder_dura_steel.name=High-Speed Steel Powder @@ -3465,7 +3466,7 @@ item.rag_damp.name=Damp Cloth item.rag_piss.name=Piss-Soaked Rag 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 +item.rbmk_fuel_drx.name=§cDigamma RBMK Fuel Rod§r item.rbmk_fuel_empty.name=Empty RBMK Fuel Rod item.rbmk_fuel_flashlead.name=Flashlead RBMK Fuel Rod item.rbmk_fuel_hea241.name=HEA-241 RBMK Fuel Rod @@ -3499,7 +3500,7 @@ item.rbmk_lid.name=RBMK Cover Panel item.rbmk_lid_glass.name=RBMK Glass Cover Panel item.rbmk_pellet_balefire.name=Balefire Fuel Pellet item.rbmk_pellet_balefire_gold.name=Flashgold Fuel Pellet -item.rbmk_pellet_drx.name=§cDigamma Fuel Pellet§r +item.rbmk_pellet_drx.name=§cDigamma Fuel Pellet§r item.rbmk_pellet_flashlead.name=Flashlead Fuel Pellet item.rbmk_pellet_hea241.name=HEA-241 Fuel Pellet item.rbmk_pellet_hea242.name=HEA-242 Fuel Pellet @@ -3545,7 +3546,7 @@ item.redstone_sword.name=Redstone Sword item.reer_graar.name=The Reer Graar item.remote.name=Broken Remote item.ring_pull.name=Ring Pull -item.ring_starmetal.name=§9Starmetal Ring§r +item.ring_starmetal.name=§9Starmetal Ring§r item.robes_boots.name=Field Boots item.robes_helmet.name=Casual Hoodie item.robes_legs.name=Casual Pants @@ -4063,12 +4064,12 @@ 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.weapon_bat.name=Richard's Default -item.weapon_bat_nail.name=The Cliché +item.weapon_bat_nail.name=The Cliché item.weapon_golf_club.name=Russian Mobster's Club 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.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 @@ -4131,11 +4132,11 @@ rbmk.console.fuel_depletion=Monitor average fuel depletion rbmk.console.fuel_poison=Monitor average xenon poisoning rbmk.console.fuel_temp=Monitor average fuel temperature rbmk.control.level=%s -rbmk.control.red=§cRed Group -rbmk.control.yellow=§eYellow Group -rbmk.control.green=§aGreen Group -rbmk.control.blue=§1Blue Group -rbmk.control.purple=§5Purple Group +rbmk.control.red=§cRed Group +rbmk.control.yellow=§eYellow Group +rbmk.control.green=§aGreen Group +rbmk.control.blue=§1Blue Group +rbmk.control.purple=§5Purple Group rbmk.moderated=Moderated rbmk.rod.depletion=Depletion: %s rbmk.rod.xenon=Xenon poison: %s @@ -4198,7 +4199,7 @@ tile.barbed_wire_wither.name=Withered Barbed Wire tile.barrel_antimatter.name=Magnetic Antimatter Container tile.barrel_corroded.name=Corroded Barrel tile.barrel_iron.name=Iron Barrel -tile.barrel_plastic.name=Safe Barrel™ +tile.barrel_plastic.name=Safe Barrelâ„¢ tile.barrel_steel.name=Steel Barrel tile.barrel_tcalloy.name=Technetium Steel Barrel tile.barricade.name=Sand Bags @@ -4297,7 +4298,7 @@ tile.block_semtex.name=Block of Semtex tile.block_slag.name=Block of Slag tile.block_smore.name=Block of S'more tile.block_solinium.name=Block of Solinium -tile.block_starmetal.name=§9Block of Starmetal§r +tile.block_starmetal.name=§9Block of Starmetal§r tile.block_steel.name=Block of Steel tile.block_sulfur.name=Block of Sulfur tile.block_tantalium.name=Block of Tantalium @@ -4425,7 +4426,7 @@ tile.concrete_slab.ducrete_smooth.name=Ducrete Slab tile.concrete_smooth.name=Concrete tile.concrete_smooth_stairs.name=Concrete Stairs tile.concrete_stairs.name=Concrete Tile Stairs -tile.concrete_super.name=Über Concrete +tile.concrete_super.name=Über Concrete tile.concrete_super_broken.name=Moldy Debris tile.conveyor.name=Conveyor Belt tile.conveyor_chute.name=Conveyor Chute @@ -4565,11 +4566,11 @@ tile.frozen_grass.name=Frozen Grass tile.frozen_log.name=Frozen Log tile.frozen_planks.name=Frozen Planks tile.furnace_combination.name=Combination Oven -tile.furnace_combination.desc=A large furnace that can produce charcoal and coal coke.$Produces fluid byproducts.$Heat transfer rate: ΔT*0.25 TU/t +tile.furnace_combination.desc=A large furnace that can produce charcoal and coal coke.$Produces fluid byproducts.$Heat transfer rate: ΔT*0.25 TU/t tile.furnace_iron.name=Iron Furnace tile.furnace_iron.desc=Larger and more efficient furnace,$does not waste fuel when idle. tile.furnace_steel.name=Steel Furnace -tile.furnace_steel.desc=Very large furnace that can provide bonus items$when smelting ores. Requires external heat source.$Heat transfer rate: ΔT*0.05 TU/t$(Δ means difference and T means temperature) +tile.furnace_steel.desc=Very large furnace that can provide bonus items$when smelting ores. Requires external heat source.$Heat transfer rate: ΔT*0.05 TU/t$(Δ means difference and T means temperature) tile.fusion_center.name=Central Magnet Piece tile.fusion_conductor.name=Superconducting Magnet tile.fusion_core.name=Fusion Reactor Control @@ -4679,7 +4680,7 @@ tile.machine_bat9000.name=Big-Ass Tank 9000 tile.machine_battery.name=Energy Storage Block tile.machine_battery_potato.name=Potato Battery Block 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.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 @@ -4694,7 +4695,7 @@ tile.machine_chungus.desc=Efficiency: 85%% tile.machine_coal_off.name=Combustion Generator tile.machine_coal_on.name=Combustion Generator tile.machine_coker.name=Coker Unit -tile.machine_coker.desc=Cokes oil, creating fluid byproducts.$Requires external heat source.$Heat transfer rate: ΔT*0.025 TU/t +tile.machine_coker.desc=Cokes oil, creating fluid byproducts.$Requires external heat source.$Heat transfer rate: ΔT*0.025 TU/t tile.machine_combine_factory.name=CMB Steel Furnace tile.machine_combustion_engine.name=Industrial Combustion Engine tile.machine_condenser.name=Steam Condenser @@ -4830,7 +4831,7 @@ tile.nuke_fstbmb.name=Balefire Bomb tile.nuke_gadget.name=The Gadget tile.nuke_man.name=Fat Man tile.nuke_mike.name=Ivy Mike -tile.nuke_n2.name=N² Mine +tile.nuke_n2.name=N² Mine tile.nuke_n45.name=N45 Naval Mine tile.nuke_prototype.name=The Prototype tile.nuke_solinium.name=The Blue Rinse @@ -4987,6 +4988,7 @@ tile.reinforced_brick.name=Reinforced Stone tile.reinforced_brick_stairs.name=Reinforced Stone Stairs tile.reinforced_ducrete.name=Reinforced Ducrete tile.reinforced_glass.name=Reinforced Glass +tile.reinforced_laminate.name=Laminate Glass tile.reinforced_lamp_off.name=Reinforced Lamp tile.reinforced_lamp_on.name=Reinforced Lamp tile.reinforced_light.name=Reinforced Glowstone @@ -5195,9 +5197,9 @@ tool.ability.silktouch=Silk Touch tool.ability.smelter=Auto-Smelter turret.animals=Target Passive: %s -turret.arty.artillery=§eArtillery Mode$Grace: 250m$Range: 3,000m -turret.arty.cannon=§eCannon Mode$Grace: 32m$Range: 250m -turret.arty.manual=§eManual Mode$Range: 3,000m +turret.arty.artillery=§eArtillery Mode$Grace: 250m$Range: 3,000m +turret.arty.cannon=§eCannon Mode$Grace: 32m$Range: 250m +turret.arty.manual=§eManual Mode$Range: 3,000m turret.machines=Target Machines: %s turret.mobs=Target Mobs: %s turret.none=None diff --git a/src/main/resources/assets/hbm/textures/blocks/glass/reinforced_glass.png b/src/main/resources/assets/hbm/textures/blocks/glass/reinforced_glass.png new file mode 100644 index 0000000000000000000000000000000000000000..d003abb6cb903b9698ecda6dd5605b8183fa8da7 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!DLSt#}Etu9pEh}C`hmmdKI;Vst0A*c2!vFvP literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/glass/reinforced_glass_ct.png b/src/main/resources/assets/hbm/textures/blocks/glass/reinforced_glass_ct.png new file mode 100644 index 0000000000000000000000000000000000000000..2105d94d494a4afb95240fa981c83a4f9d800413 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!V5p~yV@QO1@|U}t&E_^5C2${USM-_Gs4G0h zFd^Xz<6=IE(gQ1)-DC}3H3YIZ++y}#kW<9CGndg|fm?HnlEExCs8o*?P&M9pEh}C`hmmdKI;Vst0A*c2!vFvP literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/reinforced_laminate_ct.png b/src/main/resources/assets/hbm/textures/blocks/reinforced_laminate_ct.png new file mode 100644 index 0000000000000000000000000000000000000000..2105d94d494a4afb95240fa981c83a4f9d800413 GIT binary patch literal 192 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSL74G){)!Z!V5p~yV@QO1@|U}t&E_^5C2${USM-_Gs4G0h zFd^Xz<6=IE(gQ1)-DC}3H3YIZ++y}#kW<9CGndg|fm?HnlEExCs8o*?P&M#gAj`g}MR_>}C35&hQqSGH67cP0Q6grgmbv z)B~v+jinEm*k(`o!@K@mIole+;{8nbB@?9YfB$`9r*w+)5$T+`YWtPa=QDwU#Ng@b K=d#Wzp$Py=Zi=@6 literal 0 HcmV?d00001 From 3085b3c7dcf82d2362094e31259c3b29388e7b63 Mon Sep 17 00:00:00 2001 From: burningwater202 Date: Thu, 25 May 2023 21:38:49 -0400 Subject: [PATCH 117/285] Fork me in the glass I have no idea what I'm doing --- .../com/example/examplemod/ExampleMod.java | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/main/java/com/example/examplemod/ExampleMod.java diff --git a/src/main/java/com/example/examplemod/ExampleMod.java b/src/main/java/com/example/examplemod/ExampleMod.java new file mode 100644 index 000000000..4245c7e92 --- /dev/null +++ b/src/main/java/com/example/examplemod/ExampleMod.java @@ -0,0 +1,20 @@ +package com.example.examplemod; + +import net.minecraft.init.Blocks; +import cpw.mods.fml.common.Mod; +import cpw.mods.fml.common.Mod.EventHandler; +import cpw.mods.fml.common.event.FMLInitializationEvent; + +@Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION) +public class ExampleMod +{ + public static final String MODID = "examplemod"; + public static final String VERSION = "1.0"; + + @EventHandler + public void init(FMLInitializationEvent event) + { + // some example code + System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName()); + } +} From 85ce4008a14255a2c26506ba675cc74d6e453cce Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 26 May 2023 14:54:57 +0200 Subject: [PATCH 118/285] train coupling (physics pending) --- .../java/com/hbm/crafting/WeaponRecipes.java | 10 +-- .../hbm/entity/train/EntityRailCarBase.java | 80 +++++++++++++++++- .../entity/train/EntityRailCarRidable.java | 1 + .../com/hbm/entity/train/TrainCargoTram.java | 2 + src/main/java/com/hbm/items/ModItems.java | 3 + .../com/hbm/items/tool/ItemCouplingTool.java | 5 ++ .../java/com/hbm/main/CraftingManager.java | 2 +- .../hbm/textures/items/coupling_tool.png | Bin 0 -> 183 bytes 8 files changed, 96 insertions(+), 7 deletions(-) create mode 100644 src/main/java/com/hbm/items/tool/ItemCouplingTool.java create mode 100644 src/main/resources/assets/hbm/textures/items/coupling_tool.png diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index 87da12304..a85f8ca36 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -188,11 +188,11 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_12gauge, 12), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', ModItems.ballistite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(ModItems.ammo_12gauge.stackFromEnum(12, Ammo12Gauge.PERCUSSION), new Object[] { "G", "C", "P", 'G', ModItems.ballistite, 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ammo_4gauge, 12), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_buckshot, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); - CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.SLUG), new Object[] { " I ", "GCL", " P ", 'I', PB.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); - CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.FLECHETTE), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_flechette, 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); - CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.EXPLOSIVE), new Object[] { " I ", "GCL", " P ", 'I', ModBlocks.tnt, 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); - CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(6, Ammo4Gauge.EXPLOSIVE), new Object[] { " I ", "GCL", " P ", 'I', ANY_PLASTICEXPLOSIVE.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); - CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.MINING), new Object[] { " I ", "GCL", " P ", 'I', ModBlocks.det_miner, 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); + CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.SLUG), new Object[] { " I ", "GCL", " P ", 'I', PB.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); + CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(12, Ammo4Gauge.FLECHETTE), new Object[] { " I ", "GCL", " P ", 'I', ModItems.pellet_flechette, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); + CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.EXPLOSIVE), new Object[] { " I ", "GCL", " P ", 'I', ModBlocks.tnt, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); + CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(6, Ammo4Gauge.EXPLOSIVE), new Object[] { " I ", "GCL", " P ", 'I', ANY_PLASTICEXPLOSIVE.ingot(), 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); + CraftingManager.addRecipeAuto(ModItems.ammo_4gauge.stackFromEnum(4, Ammo4Gauge.MINING), new Object[] { " I ", "GCL", " P ", 'I', ModBlocks.det_miner, 'G', ModItems.cordite, 'C', ModItems.casing_50, 'P', ModItems.primer_50, 'L', ModItems.plate_polymer }); 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", " P ", 'I', ModItems.pellet_buckshot, 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', CU.plate() }); CraftingManager.addRecipeAuto(ModItems.ammo_20gauge.stackFromEnum(12, Ammo20Gauge.SLUG), new Object[] { " I ", "GCL", " P ", 'I', PB.ingot(), 'G', ANY_SMOKELESS.dust(), 'C', ModItems.casing_buckshot, 'P', ModItems.primer_buckshot, 'L', CU.plate() }); diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index f816f07bd..c63fca7cf 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -1,8 +1,11 @@ package com.hbm.entity.train; +import java.util.List; + import com.hbm.blocks.rail.IRailNTM; import com.hbm.blocks.rail.IRailNTM.RailContext; import com.hbm.blocks.rail.IRailNTM.TrackGauge; +import com.hbm.items.ModItems; import com.hbm.util.fauxpointtwelve.BlockPos; import cpw.mods.fml.relauncher.Side; @@ -11,6 +14,7 @@ import net.minecraft.block.Block; 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.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; @@ -51,6 +55,51 @@ public abstract class EntityRailCarBase extends Entity { @Override protected void entityInit() { } @Override protected void readEntityFromNBT(NBTTagCompound nbt) { } @Override protected void writeEntityToNBT(NBTTagCompound nbt) { } + + @Override + public boolean interactFirst(EntityPlayer player) { + + if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.coupling_tool) { + + List intersecting = worldObj.getEntitiesWithinAABB(EntityRailCarBase.class, this.boundingBox.expand(2D, 0D, 2D)); + + for(EntityRailCarBase neighbor : intersecting) { + if(neighbor == this) continue; + if(neighbor.getGauge() != this.getGauge()) continue; + + TrainCoupling closestOwnCoupling = null; + TrainCoupling closestNeighborCoupling = null; + double closestDist = Double.POSITIVE_INFINITY; + + for(TrainCoupling ownCoupling : TrainCoupling.values()) { + for(TrainCoupling neighborCoupling : TrainCoupling.values()) { + Vec3 ownPos = this.getCouplingPos(ownCoupling); + Vec3 neighborPos = neighbor.getCouplingPos(neighborCoupling); + if(ownPos != null && neighborPos != null) { + Vec3 delta = Vec3.createVectorHelper(ownPos.xCoord - neighborPos.xCoord, ownPos.yCoord - neighborPos.yCoord, ownPos.zCoord - neighborPos.zCoord); + double length = delta.lengthVector(); + + if(length < 1 && length < closestDist) { + closestDist = length; + closestOwnCoupling = ownCoupling; + closestNeighborCoupling = neighborCoupling; + } + } + } + } + + if(closestOwnCoupling != null && closestNeighborCoupling != null) { + if(this.getCoupledTo(closestOwnCoupling) != null) continue; + if(neighbor.getCoupledTo(closestNeighborCoupling) != null) continue; + this.couple(closestOwnCoupling, neighbor); + neighbor.couple(closestNeighborCoupling, this); + return true; + } + } + } + + return false; + } @Override public void onUpdate() { @@ -77,6 +126,13 @@ public abstract class EntityRailCarBase extends Entity { this.setRotation(this.rotationYaw, this.rotationPitch); } + /* + * TODO: move movement into the world tick event handler. + * step 1: detect linked trains, move linked units (LTUs) as one later + * step 2: move LTUs together using coupling rules (important to happen first, consistency has to be achieved before major movement) + * step 3: move LTUs based on their engine and gravity speed + * step 4: move LTUs based on collisions between LTUs (important to happen last, collision is most important) + */ BlockPos anchor = this.getCurentAnchorPos(); Vec3 frontPos = getRelPosAlongRail(anchor, this.getLengthSpan()); Vec3 backPos = getRelPosAlongRail(anchor, -this.getLengthSpan()); @@ -226,6 +282,10 @@ public abstract class EntityRailCarBase extends Entity { public abstract TrackGauge getGauge(); /** Returns the length between the core and one of the bogies */ public abstract double getLengthSpan(); + /* Returns a collision box, usually smaller than the entity's AABB for rendering, which is used for colliding trains */ + public AxisAlignedBB getCollisionBox() { + return this.boundingBox; + } /** Returns the "true" position of the train, i.e. the block it wants to snap to */ public BlockPos getCurentAnchorPos() { @@ -348,11 +408,29 @@ public abstract class EntityRailCarBase extends Entity { BACK } + public double getCouplingDist(TrainCoupling coupling) { + return 0D; + } + public Vec3 getCouplingPos(TrainCoupling coupling) { - return null; + double dist = this.getCouplingDist(coupling); + + if(dist <= 0) return null; + + Vec3 rot = Vec3.createVectorHelper(0, 0, dist); + rot.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180D)); + rot.xCoord += this.renderX; + rot.yCoord += this.renderY; + rot.zCoord += this.renderZ; + return rot; } public EntityRailCarBase getCoupledTo(TrainCoupling coupling) { return coupling == TrainCoupling.FRONT ? this.coupledFront : coupling == TrainCoupling.BACK ? this.coupledBack : null; } + + public void couple(TrainCoupling coupling, EntityRailCarBase to) { + if(coupling == TrainCoupling.FRONT) this.coupledFront = to; + if(coupling == TrainCoupling.BACK) this.coupledBack = to; + } } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index 272fa431b..7cd217354 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -77,6 +77,7 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { @Override public boolean interactFirst(EntityPlayer player) { + if(super.interactFirst(player)) return true; if(worldObj.isRemote) return true; double nearestDist = Double.POSITIVE_INFINITY; diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index e0d1aaa2a..602efd8cc 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -18,6 +18,7 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; @@ -54,6 +55,7 @@ public class TrainCargoTram extends EntityRailCarElectric implements IGUIProvide @Override public boolean shouldRiderSit() { return false; } @Override public int getSizeInventory() { return 29; } @Override public String getInventoryName() { return this.hasCustomInventoryName() ? this.getEntityName() : "container.trainTram"; } + @Override public AxisAlignedBB getCollisionBox() { return AxisAlignedBB.getBoundingBox(renderX, renderY, renderZ, renderX, renderY + 1, renderZ).expand(4, 0, 4); } @Override public int getMaxPower() { return this.getPowerConsumption() * 100; } @Override public int getPowerConsumption() { return 10; } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 68ae2a5a4..c87bb3a60 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1252,6 +1252,7 @@ public class ModItems { public static Item rbmk_tool; public static Item coltan_tool; public static Item power_net_tool; + public static Item coupling_tool; public static Item template_folder; public static Item journal_pip; @@ -4580,6 +4581,7 @@ public class ModItems { 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"); + coupling_tool = new ItemCouplingTool().setUnlocalizedName("coupling_tool").setMaxStackSize(1).setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":coupling_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"); @@ -6722,6 +6724,7 @@ public class ModItems { GameRegistry.registerItem(rbmk_tool, rbmk_tool.getUnlocalizedName()); GameRegistry.registerItem(coltan_tool, coltan_tool.getUnlocalizedName()); GameRegistry.registerItem(power_net_tool, power_net_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()); diff --git a/src/main/java/com/hbm/items/tool/ItemCouplingTool.java b/src/main/java/com/hbm/items/tool/ItemCouplingTool.java new file mode 100644 index 000000000..c6295697d --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemCouplingTool.java @@ -0,0 +1,5 @@ +package com.hbm.items.tool; + +import net.minecraft.item.Item; + +public class ItemCouplingTool extends Item { } diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 7fda63959..0b25b3eb3 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -909,7 +909,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(Items.lead, 4), new Object[] { "RSR", 'R', DictFrame.fromOne(ModItems.plant_item, EnumPlantType.ROPE), 'S', KEY_SLIME }); addRecipeAuto(new ItemStack(ModItems.rag, 4), new Object[] { "SW", "WS", 'S', Items.string, 'W', Blocks.wool }); - addShapelessAuto(new ItemStack(ModItems.solid_fuel, 2), new Object[] { Fluids.HEATINGOIL.getDict(1000), KEY_TOOL_CHEMISTRYSET }); + addShapelessAuto(new ItemStack(ModItems.solid_fuel, 3), new Object[] { Fluids.HEATINGOIL.getDict(16000), KEY_TOOL_CHEMISTRYSET }); addShapelessAuto(new ItemStack(ModItems.canister_full, 2, Fluids.LUBRICANT.getID()), new Object[] { Fluids.HEATINGOIL.getDict(1000), Fluids.UNSATURATEDS.getDict(1000), ModItems.canister_empty, ModItems.canister_empty, KEY_TOOL_CHEMISTRYSET }); addRecipeAuto(new ItemStack(ModBlocks.machine_condenser), new Object[] { "SIS", "ICI", "SIS", 'S', STEEL.ingot(), 'I', IRON.plate(), 'C', ModItems.board_copper }); diff --git a/src/main/resources/assets/hbm/textures/items/coupling_tool.png b/src/main/resources/assets/hbm/textures/items/coupling_tool.png new file mode 100644 index 0000000000000000000000000000000000000000..e09856ebcd4ec617b96bfe0b59822f598d444e14 GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfug4{y~o d<8Q<(sS7^0tNXpyaSqUC22WQ%mvv4FO#qb{KmGs! literal 0 HcmV?d00001 From 68354bd6f3d5500dd953d20682763c789cba9db6 Mon Sep 17 00:00:00 2001 From: Toshayo Date: Fri, 26 May 2023 18:15:13 +0200 Subject: [PATCH 119/285] Added CurseForge task configuration --- .gitignore | 6 ++++++ build.gradle | 38 +++++++++++++++++++++++++++++++++++ changelog | 0 curseforge.properties.example | 5 +++++ 4 files changed, 49 insertions(+) create mode 100644 changelog create mode 100644 curseforge.properties.example diff --git a/.gitignore b/.gitignore index 231f1afed..2b15b7112 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,9 @@ build # other run + +# CurseForge configuration +/curseforge.properties + +# Changelog backup +/changelog.bak \ No newline at end of file diff --git a/build.gradle b/build.gradle index 2817f3c3c..9a1ea516d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,6 @@ +import java.nio.file.Files +import java.nio.file.Paths + buildscript { repositories { maven { url = 'https://maven.minecraftforge.net/' } @@ -10,6 +13,14 @@ buildscript { } apply plugin: 'forge' +apply plugin: 'curseforge' + + +if(Files.exists(Paths.get("curseforge.properties"))) { + // Load CurseForge configuration + ext.cfprops = parseConfig(file("curseforge.properties")) +} + def version_name = version = mod_version if(!mod_build_number.isEmpty()) { version_name = mod_version + "_X" + mod_build_number @@ -114,3 +125,30 @@ task version { println project.version } } + +if(Files.exists(Paths.get("curseforge.properties"))) { + curse { + apiKey = cfprops.api_key + projectId = cfprops.project_id + releaseType = "release" + + if (Files.exists(Paths.get("changelog"))) { + changelog = String.join("\r\n", Files.readAllLines(Paths.get("changelog"))) + + // Perform a backup of the changelog and create a new file for next changes + doLast { + Files.move(Paths.get("changelog"), Paths.get("changelog.bak")) + Files.createFile(Paths.get("changelog")) + } + } + } +} + +// Properties file parsing helper +static def parseConfig(File config) { + config.withReader { + def prop = new Properties() + prop.load(it) + return (new ConfigSlurper().parse(prop)) + } +} diff --git a/changelog b/changelog new file mode 100644 index 000000000..e69de29bb diff --git a/curseforge.properties.example b/curseforge.properties.example new file mode 100644 index 000000000..002b2b4f5 --- /dev/null +++ b/curseforge.properties.example @@ -0,0 +1,5 @@ +# CurseForge API token (obtainable from https://legacy.curseforge.com/account/api-tokens) +api_key= + +# CurseForge project ID +project_id= From e20c4f16118a0b48f0e68bef3e4bbf72d89f0c54 Mon Sep 17 00:00:00 2001 From: Toshayo <67237514+Toshayo@users.noreply.github.com> Date: Fri, 26 May 2023 18:26:43 +0200 Subject: [PATCH 120/285] Update .gitignore Newlines are good --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 2b15b7112..22222fc39 100644 --- a/.gitignore +++ b/.gitignore @@ -25,4 +25,4 @@ run /curseforge.properties # Changelog backup -/changelog.bak \ No newline at end of file +/changelog.bak From e12065440381d6a4cd05bd52d96c6c6a69297368 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 27 May 2023 23:38:15 +0200 Subject: [PATCH 121/285] more train coupling stuff --- .../hbm/entity/train/EntityRailCarBase.java | 17 +++++++++- .../entity/train/EntityRailCarRidable.java | 34 ++++++++++++++++--- .../com/hbm/entity/train/TrainCargoTram.java | 3 +- .../entity/train/TrainCargoTramTrailer.java | 3 ++ .../java/com/hbm/items/special/ItemTrain.java | 8 +++++ 5 files changed, 58 insertions(+), 7 deletions(-) diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index c63fca7cf..e33f02380 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -1,5 +1,6 @@ package com.hbm.entity.train; +import java.util.ArrayList; import java.util.List; import com.hbm.blocks.rail.IRailNTM; @@ -93,6 +94,7 @@ public abstract class EntityRailCarBase extends Entity { if(neighbor.getCoupledTo(closestNeighborCoupling) != null) continue; this.couple(closestOwnCoupling, neighbor); neighbor.couple(closestNeighborCoupling, this); + player.swingItem(); return true; } } @@ -282,10 +284,14 @@ public abstract class EntityRailCarBase extends Entity { public abstract TrackGauge getGauge(); /** Returns the length between the core and one of the bogies */ public abstract double getLengthSpan(); - /* Returns a collision box, usually smaller than the entity's AABB for rendering, which is used for colliding trains */ + /** Returns a collision box, usually smaller than the entity's AABB for rendering, which is used for colliding trains */ public AxisAlignedBB getCollisionBox() { return this.boundingBox; } + /** Returns a collision box used for block collisions when derailed */ + @Override public AxisAlignedBB getBoundingBox() { + return this.boundingBox; + } /** Returns the "true" position of the train, i.e. the block it wants to snap to */ public BlockPos getCurentAnchorPos() { @@ -417,6 +423,8 @@ public abstract class EntityRailCarBase extends Entity { if(dist <= 0) return null; + if(coupling == TrainCoupling.BACK) dist *= -1; + Vec3 rot = Vec3.createVectorHelper(0, 0, dist); rot.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180D)); rot.xCoord += this.renderX; @@ -433,4 +441,11 @@ public abstract class EntityRailCarBase extends Entity { if(coupling == TrainCoupling.FRONT) this.coupledFront = to; if(coupling == TrainCoupling.BACK) this.coupledBack = to; } + + public static class LogicalTrainUnit { + + List trains = new ArrayList(); + + //TBI + } } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index 7cd217354..42aaa0248 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -129,7 +129,7 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { if(nearestSeat == -1) { player.mountEntity(this); } else { - SeatDummyEntity dummySeat = new SeatDummyEntity(worldObj, this); + SeatDummyEntity dummySeat = new SeatDummyEntity(worldObj, this, nearestSeat); Vec3 passengerSeat = this.getPassengerSeats()[nearestSeat]; passengerSeat.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); double x = renderX + passengerSeat.xCoord; @@ -194,16 +194,17 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { private double trainX; private double trainY; private double trainZ; - public EntityRailCarBase train; + public EntityRailCarRidable train; public SeatDummyEntity(World world) { super(world); this.setSize(0.5F, 0.1F);} - public SeatDummyEntity(World world, EntityRailCarBase train) { + public SeatDummyEntity(World world, EntityRailCarRidable train, int index) { this(world); this.train = train; if(train != null) this.dataWatcher.updateObject(3, train.getEntityId()); + this.dataWatcher.updateObject(4, index); } - @Override protected void entityInit() { this.dataWatcher.addObject(3, new Integer(0)); } + @Override protected void entityInit() { this.dataWatcher.addObject(3, new Integer(0)); this.dataWatcher.addObject(4, new Integer(0)); } @Override protected void writeEntityToNBT(NBTTagCompound nbt) { } @Override public boolean writeToNBTOptional(NBTTagCompound nbt) { return false; } @Override public void readEntityFromNBT(NBTTagCompound nbt) { this.setDead(); } @@ -238,7 +239,30 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { @Override public void updateRiderPosition() { if(this.riddenByEntity != null) { - this.riddenByEntity.setPosition(this.posX, this.posY + 1, this.posZ); + + if(train == null) { + int eid = this.dataWatcher.getWatchableObjectInt(3); + Entity entity = worldObj.getEntityByID(eid); + if(entity instanceof EntityRailCarRidable) { + train = (EntityRailCarRidable) entity; + } + } + + //fallback for when train is null + if(train == null) { + this.riddenByEntity.setPosition(posX, posY + 1, posZ); + return; + } + + //doing it like this instead of with the position directly removes any discrepancies caused by entity tick order + //mmhmhmhm silky smooth + int index = this.dataWatcher.getWatchableObjectInt(4); + Vec3 rot = this.train.getPassengerSeats()[index]; + rot.rotateAroundY((float) (-train.rotationYaw * Math.PI / 180)); + double x = train.renderX + rot.xCoord; + double y = train.renderY + rot.yCoord; + double z = train.renderZ + rot.zCoord; + this.riddenByEntity.setPosition(x, y, z); } } } diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index 602efd8cc..abb278066 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -51,11 +51,12 @@ public class TrainCargoTram extends EntityRailCarElectric implements IGUIProvide @Override public TrackGauge getGauge() { return TrackGauge.STANDARD; } @Override public double getLengthSpan() { return 1.5; } - @Override public Vec3 getRiderSeatPosition() { return Vec3.createVectorHelper(0.375, 2.25, 0.5); } + @Override public Vec3 getRiderSeatPosition() { return Vec3.createVectorHelper(0.375, 2.375, 0.5); } @Override public boolean shouldRiderSit() { return false; } @Override public int getSizeInventory() { return 29; } @Override public String getInventoryName() { return this.hasCustomInventoryName() ? this.getEntityName() : "container.trainTram"; } @Override public AxisAlignedBB getCollisionBox() { return AxisAlignedBB.getBoundingBox(renderX, renderY, renderZ, renderX, renderY + 1, renderZ).expand(4, 0, 4); } + @Override public double getCouplingDist(TrainCoupling coupling) { return coupling != null ? 2.75 : 0; } @Override public int getMaxPower() { return this.getPowerConsumption() * 100; } @Override public int getPowerConsumption() { return 10; } diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java b/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java index 8ff36ead4..6e771e40a 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java @@ -2,6 +2,7 @@ package com.hbm.entity.train; import com.hbm.blocks.rail.IRailNTM.TrackGauge; +import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -28,6 +29,8 @@ public class TrainCargoTramTrailer extends EntityRailCarCargo { @Override public double getLengthSpan() { return 1.5; } @Override public int getSizeInventory() { return 29; } @Override public String getInventoryName() { return this.hasCustomInventoryName() ? this.getEntityName() : "container.trainTramTrailer"; } + @Override public AxisAlignedBB getCollisionBox() { return AxisAlignedBB.getBoundingBox(renderX, renderY, renderZ, renderX, renderY + 1, renderZ).expand(4, 0, 4); } + @Override public double getCouplingDist(TrainCoupling coupling) { return coupling != null ? 2.75 : 0; } @Override public double getCurrentSpeed() { diff --git a/src/main/java/com/hbm/items/special/ItemTrain.java b/src/main/java/com/hbm/items/special/ItemTrain.java index 05f55231d..d8353bcd2 100644 --- a/src/main/java/com/hbm/items/special/ItemTrain.java +++ b/src/main/java/com/hbm/items/special/ItemTrain.java @@ -8,12 +8,14 @@ import com.hbm.entity.train.TrainCargoTram; import com.hbm.entity.train.TrainCargoTramTrailer; 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; +import net.minecraft.util.Vec3; import net.minecraft.world.World; public class ItemTrain extends ItemEnumMulti { @@ -74,7 +76,13 @@ public class ItemTrain extends ItemEnumMulti { if(train != null && train.getGauge() == ((IRailNTM) b).getGauge(world, x, y, z)) { if(!world.isRemote) { train.setPosition(x + fx, y + fy, z + fz); + BlockPos anchor = train.getCurentAnchorPos(); train.rotationYaw = entity.rotationYaw; + Vec3 corePos = train.getRelPosAlongRail(anchor, 0); + train.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); + Vec3 frontPos = train.getRelPosAlongRail(anchor, train.getLengthSpan()); + Vec3 backPos = train.getRelPosAlongRail(anchor, -train.getLengthSpan()); + train.rotationYaw = train.generateYaw(frontPos, backPos); world.spawnEntityInWorld(train); } From 727a158ed1094571946922aa668db4908caa0274 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 28 May 2023 21:53:58 +0200 Subject: [PATCH 122/285] bauxite, achievement stuff, fixes --- gradle.properties | 2 +- src/main/java/com/hbm/blocks/BlockEnums.java | 3 +- src/main/java/com/hbm/config/WorldConfig.java | 42 +++++++---- .../java/com/hbm/crafting/MineralRecipes.java | 4 ++ .../hbm/handler/guncfg/Gun20GaugeFactory.java | 4 ++ .../com/hbm/inventory/SlotCraftingOutput.java | 36 +--------- .../java/com/hbm/inventory/fluid/Fluids.java | 6 +- .../hbm/inventory/recipes/CokerRecipes.java | 1 + .../inventory/recipes/CombinationRecipes.java | 3 + .../recipes/SolidificationRecipes.java | 1 + src/main/java/com/hbm/items/ItemEnums.java | 12 ++++ src/main/java/com/hbm/items/ModItems.java | 19 +---- .../com/hbm/items/special/ItemBedrockOre.java | 4 +- .../com/hbm/items/special/ItemByproduct.java | 6 +- .../java/com/hbm/items/tool/ItemBoltgun.java | 4 ++ .../com/hbm/items/tool/ItemToolAbility.java | 17 ++--- src/main/java/com/hbm/lib/HbmWorldGen.java | 22 +++--- src/main/java/com/hbm/lib/RefStrings.java | 2 +- src/main/java/com/hbm/main/MainRegistry.java | 30 +++++--- .../java/com/hbm/main/ModEventHandler.java | 24 +------ src/main/java/com/hbm/main/ServerProxy.java | 5 +- .../java/com/hbm/packet/AnvilCraftPacket.java | 16 +---- .../weapon/ItemRenderWeaponFFMaresLeg.java | 3 + .../machine/TileEntityMachineTurbineGas.java | 6 +- .../storage/TileEntityMachineFENSU.java | 39 +++++++++- .../java/com/hbm/util/AchievementHandler.java | 67 ++++++++++++++++++ src/main/java/com/hbm/util/ChatBuilder.java | 23 ++++++ .../com/hbm/util/WeightedRandomGeneric.java | 17 +++++ .../com/hbm/world/feature/BedrockOre.java | 63 ++++++++++++++++ .../java/com/hbm/world/feature/OilSpot.java | 2 +- .../com/hbm/world/feature/OreLayer3D.java | 24 +++++-- .../hbm/world/generator/DungeonToolbox.java | 26 ------- src/main/resources/assets/hbm/lang/de_DE.lang | 28 +++++--- src/main/resources/assets/hbm/lang/en_US.lang | 26 ++++--- .../blocks/stone_resource.bauxite.png | Bin 0 -> 811 bytes .../assets/hbm/textures/gui/fluids/redmud.png | Bin 0 -> 624 bytes .../textures/items/achievement_icon.acid.png | Bin 0 -> 29485 bytes .../textures/items/achievement_icon.balls.png | Bin 0 -> 31217 bytes ...l.png => achievement_icon.digammafeel.png} | Bin .../achievement_icon.digammaforourright.png | Bin 0 -> 208 bytes ... => achievement_icon.digammakauaimoho.png} | Bin ...w.png => achievement_icon.digammaknow.png} | Bin ...ee.png => achievement_icon.digammasee.png} | Bin ....png => achievement_icon.digammaunity.png} | Bin ...ng => achievement_icon.digammaupontop.png} | Bin .../items/achievement_icon.gofish.png | Bin 0 -> 174 bytes .../hbm/textures/items/digamma_128kbps.png | Bin 200 -> 0 bytes .../textures/items/digamma_event_horizon.png | Bin 169 -> 0 bytes 48 files changed, 398 insertions(+), 189 deletions(-) create mode 100644 src/main/java/com/hbm/util/AchievementHandler.java create mode 100644 src/main/java/com/hbm/util/WeightedRandomGeneric.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/stone_resource.bauxite.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/redmud.png create mode 100644 src/main/resources/assets/hbm/textures/items/achievement_icon.acid.png create mode 100644 src/main/resources/assets/hbm/textures/items/achievement_icon.balls.png rename src/main/resources/assets/hbm/textures/items/{digamma_feel.png => achievement_icon.digammafeel.png} (100%) create mode 100644 src/main/resources/assets/hbm/textures/items/achievement_icon.digammaforourright.png rename src/main/resources/assets/hbm/textures/items/{digamma_kauai_moho.png => achievement_icon.digammakauaimoho.png} (100%) rename src/main/resources/assets/hbm/textures/items/{digamma_know.png => achievement_icon.digammaknow.png} (100%) rename src/main/resources/assets/hbm/textures/items/{digamma_see.png => achievement_icon.digammasee.png} (100%) rename src/main/resources/assets/hbm/textures/items/{digamma_unity.png => achievement_icon.digammaunity.png} (100%) rename src/main/resources/assets/hbm/textures/items/{digamma_up_on_top.png => achievement_icon.digammaupontop.png} (100%) create mode 100644 src/main/resources/assets/hbm/textures/items/achievement_icon.gofish.png delete mode 100644 src/main/resources/assets/hbm/textures/items/digamma_128kbps.png delete mode 100644 src/main/resources/assets/hbm/textures/items/digamma_event_horizon.png diff --git a/gradle.properties b/gradle.properties index b9eb6b50b..17db097d2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4607 +mod_build_number=4613 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting),\ diff --git a/src/main/java/com/hbm/blocks/BlockEnums.java b/src/main/java/com/hbm/blocks/BlockEnums.java index 5a8e89122..717ac2639 100644 --- a/src/main/java/com/hbm/blocks/BlockEnums.java +++ b/src/main/java/com/hbm/blocks/BlockEnums.java @@ -7,7 +7,8 @@ public class BlockEnums { ASBESTOS, HEMATITE, MALACHITE, - LIMESTONE + LIMESTONE, + BAUXITE } public static enum EnumBiomeType { diff --git a/src/main/java/com/hbm/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index 9f560b536..62d951918 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -33,14 +33,20 @@ public class WorldConfig { public static int bedrockOilSpawn = 200; public static int meteoriteSpawn = 500; - public static int bedrockIronSpawn = 200; + public static int bedrockIronSpawn = 100; public static int bedrockCopperSpawn = 200; - public static int bedrockBoraxSpawn = 300; - public static int bedrockAsbestosSpawn = 300; - public static int bedrockNiobiumSpawn = 300; - public static int bedrockTitaniumSpawn = 400; - public static int bedrockTungstenSpawn = 300; - public static int bedrockGoldSpawn = 500; + public static int bedrockBoraxSpawn = 50; + public static int bedrockAsbestosSpawn = 50; + public static int bedrockNiobiumSpawn = 50; + public static int bedrockTitaniumSpawn = 100; + public static int bedrockTungstenSpawn = 100; + public static int bedrockGoldSpawn = 50; + public static int bedrockUraniumSpawn = 35; + public static int bedrockThoriumSpawn = 50; + public static int bedrockCoalSpawn = 200; + public static int bedrockNiterSpawn = 50; + public static int bedrockFluoriteSpawn = 50; + public static int bedrockRedstoneSpawn = 50; public static int ironClusterSpawn = 4; public static int titaniumClusterSpawn = 2; @@ -133,14 +139,20 @@ public class WorldConfig { bedrockOilSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.22_bedrockOilSpawnRate", "Spawns a bedrock oil node every nTH chunk", 200); meteoriteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.23_meteoriteSpawnRate", "Spawns a fallen meteorite every nTH chunk", 200); - bedrockIronSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B00_bedrockIronSpawn", "Spawns a bedrock iron deposit every nTH chunk", 200); - bedrockCopperSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B01_bedrockCopperSpawn", "Spawns a bedrock copper deposit every nTH chunk", 200); - bedrockBoraxSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B02_bedrockBoraxSpawn", "Spawns a bedrock borax deposit every nTH chunk", 300); - bedrockAsbestosSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B03_bedrockAsbestosSpawn", "Spawns a bedrock asbestos deposit every nTH chunk", 300); - bedrockNiobiumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B04_bedrockNiobiumSpawn", "Spawns a bedrock niobium deposit every nTH chunk", 300); - bedrockTitaniumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B05_bedrockTitaniumSpawn", "Spawns a bedrock titanium deposit every nTH chunk", 500); - bedrockTungstenSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B06_bedrockTungstenSpawn", "Spawns a bedrock tungsten deposit every nTH chunk", 300); - bedrockGoldSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B07_bedrockGoldSpawn", "Spawns a bedrock gold deposit every nTH chunk", 500); + bedrockIronSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B00_bedrockIronWeight", "Spawn weight for iron bedrock ore", 100); + bedrockCopperSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B01_bedrockCopperWeight", "Spawn weight for copper bedrock ore", 200); + bedrockBoraxSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B02_bedrockBoraxWeight", "Spawn weight for borax bedrock ore", 50); + bedrockAsbestosSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B03_bedrockAsbestosWeight", "Spawn weight for asbestos bedrock ore", 50); + bedrockNiobiumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B04_bedrockNiobiumWeight", "Spawn weight for niobium bedrock ore", 50); + bedrockTitaniumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B05_bedrockTitaniumWeight", "Spawn weight for titanium bedrock ore", 100); + bedrockTungstenSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B06_bedrockTungstenWeight", "Spawn weight for tungsten bedrock ore", 100); + bedrockGoldSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B07_bedrockGoldWeight", "Spawn weight for gold bedrock ore", 50); + bedrockUraniumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B08_bedrockUraniumWeight", "Spawn weight for uranium bedrock ore", 35); + bedrockThoriumSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B09_bedrockThoriumWeight", "Spawn weight for thorium bedrock ore", 50); + bedrockCoalSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B10_bedrockCoalWeight", "Spawn weight for coal bedrock ore", 200); + bedrockNiterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B11_bedrockNiterWeight", "Spawn weight for niter bedrock ore", 50); + bedrockFluoriteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B12_bedrockFluoriteWeight", "Spawn weight for fluorite bedrock ore", 50); + bedrockRedstoneSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B13_bedrockRedstoneWeight", "Spawn weight for redstone bedrock ore", 50); ironClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C00_ironClusterSpawn", "Amount of iron cluster veins per chunk", 4); titaniumClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C01_titaniumClusterSpawn", "Amount of titanium cluster veins per chunk", 2); diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index 0f440dbe3..039775e82 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -454,6 +454,10 @@ public class MineralRecipes { add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_SULFUR), new ItemStack(ModItems.sulfur)); add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_CALCIUM), new ItemStack(ModItems.powder_calcium)); add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_BISMUTH), new ItemStack(ModItems.powder_bismuth)); + add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_RADIUM), new ItemStack(ModItems.powder_ra226)); + add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_TECHNETIUM), new ItemStack(ModItems.billet_technetium)); + add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_POLONIUM), new ItemStack(ModItems.billet_polonium)); + add9To1(DictFrame.fromOne(ModItems.ore_byproduct, EnumByproduct.B_URANIUM), new ItemStack(ModItems.powder_uranium)); } //Bundled 1/9 recipes diff --git a/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java index b99da2c21..80f96b057 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java @@ -78,6 +78,8 @@ public class Gun20GaugeFactory { 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; @@ -95,6 +97,8 @@ public class Gun20GaugeFactory { 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; diff --git a/src/main/java/com/hbm/inventory/SlotCraftingOutput.java b/src/main/java/com/hbm/inventory/SlotCraftingOutput.java index 7b8a1c86a..5095f2b7e 100644 --- a/src/main/java/com/hbm/inventory/SlotCraftingOutput.java +++ b/src/main/java/com/hbm/inventory/SlotCraftingOutput.java @@ -3,6 +3,7 @@ package com.hbm.inventory; import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; +import com.hbm.util.AchievementHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; @@ -27,40 +28,7 @@ public class SlotCraftingOutput extends Slot { //ugly but nothing to be done public static void checkAchievements(EntityPlayer player, ItemStack stack) { - Item item = stack.getItem(); - - if(item == Item.getItemFromBlock(ModBlocks.machine_chemplant)) - player.triggerAchievement(MainRegistry.achChemplant); - if(item == Item.getItemFromBlock(ModBlocks.concrete_smooth) || item == Item.getItemFromBlock(ModBlocks.concrete_asbestos)) - player.triggerAchievement(MainRegistry.achConcrete); - if(item == ModItems.ingot_polymer) - player.triggerAchievement(MainRegistry.achPolymer); - if(item == ModItems.ingot_desh) - player.triggerAchievement(MainRegistry.achDesh); - if(item == ModItems.gem_tantalium) - player.triggerAchievement(MainRegistry.achTantalum); - if(item == Item.getItemFromBlock(ModBlocks.machine_gascent)) - player.triggerAchievement(MainRegistry.achGasCent); - if(item == Item.getItemFromBlock(ModBlocks.machine_centrifuge)) - player.triggerAchievement(MainRegistry.achCentrifuge); - if(item == ModItems.ingot_schrabidium || item == ModItems.nugget_schrabidium) - player.triggerAchievement(MainRegistry.achSchrab); - if(item == Item.getItemFromBlock(ModBlocks.machine_crystallizer)) - player.triggerAchievement(MainRegistry.achAcidizer); - if(item == Item.getItemFromBlock(ModBlocks.machine_silex)) - player.triggerAchievement(MainRegistry.achSILEX); - if(item == ModItems.nugget_technetium) - player.triggerAchievement(MainRegistry.achTechnetium); - if(item == Item.getItemFromBlock(ModBlocks.watz_core)) - player.triggerAchievement(MainRegistry.achWatz); - if(item == ModItems.nugget_bismuth) - player.triggerAchievement(MainRegistry.achBismuth); - if(item == ModItems.nugget_am241 || item == ModItems.nugget_am242) - player.triggerAchievement(MainRegistry.achBreeding); - if(item == ModItems.missile_nuclear || item == ModItems.missile_nuclear_cluster || item == ModItems.missile_doomsday || item == ModItems.mp_warhead_10_nuclear || item == ModItems.mp_warhead_10_nuclear_large || item == ModItems.mp_warhead_15_nuclear || item == ModItems.mp_warhead_15_nuclear_shark || item == ModItems.mp_warhead_15_boxcar) - player.triggerAchievement(MainRegistry.achRedBalloons); - if(item == Item.getItemFromBlock(ModBlocks.struct_iter_core)) - player.triggerAchievement(MainRegistry.achFusion); + AchievementHandler.fire(player, stack); } @Override diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index b39ac64ad..b1b4a9ad4 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -133,6 +133,7 @@ public class Fluids { public static FluidType FISHOIL; public static FluidType SUNFLOWEROIL; public static FluidType NITROGLYCERIN; + public static FluidType REDMUD; private static final HashMap idMapping = new HashMap(); private static final HashMap nameMapping = new HashMap(); @@ -276,7 +277,8 @@ public class Fluids { ESTRADIOL = new FluidType("ESTRADIOL", 0xCDD5D8, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); FISHOIL = new FluidType("FISHOIL", 0x4B4A45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID); SUNFLOWEROIL = new FluidType("SUNFLOWEROIL", 0xCBAD45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID); - NITROGLYCERIN = new FluidType(112, "NITROGLYCERIN", 0x92ACA6, 0, 4, 0, EnumSymbol.NONE).addTraits(LIQUID); + NITROGLYCERIN = new FluidType("NITROGLYCERIN", 0x92ACA6, 0, 4, 0, EnumSymbol.NONE).addTraits(LIQUID); + REDMUD = new FluidType(113, "REDMUD", 0xD85638, 3, 0, 4, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, LEADCON, new FT_Corrosive(60), new FT_Flammable(1_000)); // ^ ^ ^ ^ ^ ^ ^ ^ //ADD NEW FLUIDS HERE @@ -384,6 +386,7 @@ public class Fluids { metaOrder.add(PAIN); metaOrder.add(DEATH); metaOrder.add(WATZ); + metaOrder.add(REDMUD); metaOrder.add(EGG); metaOrder.add(CHOLESTEROL); //solutions and working fluids @@ -415,6 +418,7 @@ public class Fluids { MUSTARDGAS.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 10, HazardClass.GAS_CORROSIVE, false)) .addEntry(new ToxinEffects(HazardClass.GAS_CORROSIVE, true).add(new PotionEffect(Potion.wither.id, 100, 1), new PotionEffect(Potion.confusion.id, 100, 0)))); ESTRADIOL.addTraits(new FT_Toxin().addEntry(new ToxinEffects(HazardClass.PARTICLE_FINE, false).add(new PotionEffect(HbmPotion.death.id, 60 * 60 * 20, 0)))); + REDMUD.addTraits(new FT_Toxin().addEntry(new ToxinEffects(HazardClass.GAS_CORROSIVE, false).add(new PotionEffect(Potion.wither.id, 30 * 20, 2)))); double eff_steam_boil = 1.0D; double eff_steam_heatex = 0.25D; diff --git a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java index 01dfe8dd6..7dad7530d 100644 --- a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java @@ -56,6 +56,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, 2), 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)); } diff --git a/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java b/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java index fa3b7ffaa..022068894 100644 --- a/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java @@ -9,6 +9,8 @@ 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; @@ -43,6 +45,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, 50))); + 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(KEY_LOG, new Pair(new ItemStack(Items.coal, 1 ,1), new FluidStack(Fluids.WOODOIL, 250))); recipes.put(KEY_SAPLING, new Pair(null, new FluidStack(Fluids.WOODOIL, 50))); diff --git a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java index 38f618aea..2612ba3c3 100644 --- a/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/SolidificationRecipes.java @@ -67,6 +67,7 @@ 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(OIL, SF_OIL, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRUDE)); registerRecipe(CRACKOIL, SF_CRACK, DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK)); diff --git a/src/main/java/com/hbm/items/ItemEnums.java b/src/main/java/com/hbm/items/ItemEnums.java index a15664ddb..c1424f43f 100644 --- a/src/main/java/com/hbm/items/ItemEnums.java +++ b/src/main/java/com/hbm/items/ItemEnums.java @@ -40,4 +40,16 @@ public class ItemEnums { ROPE, MUSTARDWILLOW } + + public static enum EnumAchievementType { + GOFISH, + ACID, + BALLS, + DIGAMMASEE, + DIGAMMAFEEL, + DIGAMMAKNOW, + DIGAMMAKAUAIMOHO, + DIGAMMAUPONTOP, + DIGAMMAFOROURRIGHT + } } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index c87bb3a60..791bcf915 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -2436,18 +2436,13 @@ public class ModItems { public static Item nothing; public static Item void_anim; + 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 digamma_see; - public static Item digamma_feel; - public static Item digamma_know; - public static Item digamma_kauai_moho; - public static Item digamma_up_on_top; - public static Item mysteryshovel; public static Item memory; @@ -5452,16 +5447,12 @@ public class ModItems { void_anim = new Item().setUnlocalizedName("void_anim").setTextureName(RefStrings.MODID + ":void_anim"); + 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"); - digamma_see = new Item().setUnlocalizedName("digamma_see").setTextureName(RefStrings.MODID + ":digamma_see"); - digamma_feel = new Item().setUnlocalizedName("digamma_feel").setTextureName(RefStrings.MODID + ":digamma_feel"); - digamma_know = new Item().setUnlocalizedName("digamma_know").setTextureName(RefStrings.MODID + ":digamma_know"); - digamma_kauai_moho = new Item().setUnlocalizedName("digamma_kauai_moho").setTextureName(RefStrings.MODID + ":digamma_kauai_moho"); - digamma_up_on_top = new Item().setUnlocalizedName("digamma_up_on_top").setTextureName(RefStrings.MODID + ":digamma_up_on_top"); 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"); @@ -8055,16 +8046,12 @@ public class ModItems { GameRegistry.registerItem(ln2_10, ln2_10.getUnlocalizedName()); GameRegistry.registerItem(nothing, nothing.getUnlocalizedName()); GameRegistry.registerItem(void_anim, void_anim.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(digamma_see, digamma_see.getUnlocalizedName()); - GameRegistry.registerItem(digamma_feel, digamma_feel.getUnlocalizedName()); - GameRegistry.registerItem(digamma_know, digamma_know.getUnlocalizedName()); - GameRegistry.registerItem(digamma_kauai_moho, digamma_kauai_moho.getUnlocalizedName()); - GameRegistry.registerItem(digamma_up_on_top, digamma_up_on_top.getUnlocalizedName()); GameRegistry.registerItem(mysteryshovel, mysteryshovel.getUnlocalizedName()); GameRegistry.registerItem(memory, memory.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/special/ItemBedrockOre.java b/src/main/java/com/hbm/items/special/ItemBedrockOre.java index 55539aa79..6dc73e9fc 100644 --- a/src/main/java/com/hbm/items/special/ItemBedrockOre.java +++ b/src/main/java/com/hbm/items/special/ItemBedrockOre.java @@ -92,7 +92,9 @@ public class ItemBedrockOre extends ItemEnumMulti { NIOBIUM("Niobium", 0xAF58D8, B_IRON, B_IRON, B_IRON), //iron in columbite, often found along tantalite TITANIUM("Titanium", 0xF2EFE2, B_SILICON, B_CALCIUM, B_ALUMINIUM), //titanite is titanium + calcium + silicon with traces of iron and aluminium TUNGSTEN("Tungsten", 0x2C293C, B_LEAD, B_IRON, B_BISMUTH), //ferberite has iron, raspite has lead, russelite is bismuth tungsten - GOLD("Gold", 0xF9D738, B_LEAD, B_COPPER, B_BISMUTH); //occurs with copper, lead and rare bismuthide + GOLD("Gold", 0xF9D738, B_LEAD, B_COPPER, B_BISMUTH), //occurs with copper, lead and rare bismuthide + URANIUM("Uranium", 0x868D82, B_LEAD, B_RADIUM, B_POLONIUM), //uranium and its decay products + THORIUM("Thorium", 0x7D401D, B_SILICON, B_URANIUM, B_TECHNETIUM); //thorium occours with uraninite and decay products public String oreName; public int color; diff --git a/src/main/java/com/hbm/items/special/ItemByproduct.java b/src/main/java/com/hbm/items/special/ItemByproduct.java index 049c8f20e..6b513884f 100644 --- a/src/main/java/com/hbm/items/special/ItemByproduct.java +++ b/src/main/java/com/hbm/items/special/ItemByproduct.java @@ -31,7 +31,11 @@ public class ItemByproduct extends ItemEnumMulti { B_ALUMINIUM(0xE8F2F9), B_SULFUR(0xEAD377), B_CALCIUM(0xCFCFA6), - B_BISMUTH(0x8D8577); + B_BISMUTH(0x8D8577), + B_RADIUM(0xE9FAF6), + B_TECHNETIUM(0xCADFDF), + B_POLONIUM(0xCADFDF), + B_URANIUM(0x868D82); public int color; diff --git a/src/main/java/com/hbm/items/tool/ItemBoltgun.java b/src/main/java/com/hbm/items/tool/ItemBoltgun.java index a4ef287f3..34440b70a 100644 --- a/src/main/java/com/hbm/items/tool/ItemBoltgun.java +++ b/src/main/java/com/hbm/items/tool/ItemBoltgun.java @@ -63,6 +63,10 @@ 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); + } NBTTagCompound data = new NBTTagCompound(); data.setString("type", "vanillaExt"); diff --git a/src/main/java/com/hbm/items/tool/ItemToolAbility.java b/src/main/java/com/hbm/items/tool/ItemToolAbility.java index 85e0694d0..f0c4496ad 100644 --- a/src/main/java/com/hbm/items/tool/ItemToolAbility.java +++ b/src/main/java/com/hbm/items/tool/ItemToolAbility.java @@ -11,6 +11,10 @@ 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.main.MainRegistry; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.PlayerInformPacket; +import com.hbm.util.ChatBuilder; import com.hbm.handler.WeaponAbility; import api.hbm.item.IDepthRockTool; @@ -22,14 +26,12 @@ import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.entity.ai.attributes.AttributeModifier; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; import net.minecraft.init.Blocks; import net.minecraft.item.EnumRarity; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemTool; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.ChatComponentTranslation; -import net.minecraft.util.ChatStyle; import net.minecraft.util.EnumChatFormatting; import net.minecraft.world.World; @@ -239,18 +241,17 @@ public class ItemToolAbility extends ItemTool implements IItemAbility, IDepthRoc while(getCurrentAbility(stack) != null && !getCurrentAbility(stack).isAllowed()) { - player.addChatComponentMessage(new ChatComponentText("[Ability ").appendSibling(new ChatComponentTranslation(getCurrentAbility(stack).getName(), new Object[0])) - .appendSibling(new ChatComponentText(getCurrentAbility(stack).getExtension() + " is blacklisted!]")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.RED))); + 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(getCurrentAbility(stack) != null) { - player.addChatComponentMessage(new ChatComponentText("[Enabled ").appendSibling(new ChatComponentTranslation(getCurrentAbility(stack).getName(), new Object[0])) - .appendSibling(new ChatComponentText(getCurrentAbility(stack).getExtension() + "]")).setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW))); + 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); } else { - player.addChatComponentMessage(new ChatComponentText(EnumChatFormatting.GOLD + "[Tool ability deactivated]")); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("[Tool ability deactivated]").color(EnumChatFormatting.GOLD).flush(), MainRegistry.proxy.ID_TOOLABILITY), (EntityPlayerMP) player); } world.playSoundAtEntity(player, "random.orb", 0.25F, getCurrentAbility(stack) == null ? 0.75F : 1.25F); diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index 58f772881..dac6fed84 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -8,14 +8,12 @@ import com.hbm.blocks.generic.BlockMotherOfAllOres; import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType; import com.hbm.config.GeneralConfig; import com.hbm.config.WorldConfig; -import com.hbm.inventory.FluidStack; -import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre; import com.hbm.main.MainRegistry; import com.hbm.saveddata.TomSaveData; import com.hbm.tileentity.machine.storage.TileEntitySafe; import com.hbm.tileentity.machine.storage.TileEntitySoyuzCapsule; +import com.hbm.util.WeightedRandomGeneric; import com.hbm.world.dungeon.AncientTomb; import com.hbm.world.dungeon.Antenna; import com.hbm.world.dungeon.ArcticVault; @@ -32,6 +30,7 @@ import com.hbm.world.dungeon.Silo; import com.hbm.world.dungeon.Spaceship; import com.hbm.world.dungeon.Vertibird; import com.hbm.world.feature.BedrockOre; +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; @@ -49,6 +48,7 @@ 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; @@ -154,18 +154,16 @@ public class HbmWorldGen implements IWorldGenerator { 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.hematiteSpawn, 10, 4, 80, ModBlocks.stone_resource, EnumStoneType.HEMATITE.ordinal()); DungeonToolbox.generateOre(world, rand, i, j, WorldConfig.malachiteSpawn, 10, 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.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.IRON, 1, WorldConfig.bedrockIronSpawn); - DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.COPPER, 1, WorldConfig.bedrockCopperSpawn); - DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.BORAX, new FluidStack(Fluids.SULFURIC_ACID, 500), 3, WorldConfig.bedrockBoraxSpawn); - DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.ASBESTOS, 2, WorldConfig.bedrockAsbestosSpawn); - DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.NIOBIUM, new FluidStack(Fluids.ACID, 1_000), 2, WorldConfig.bedrockNiobiumSpawn); - DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.TITANIUM, new FluidStack(Fluids.SULFURIC_ACID, 500), 2, WorldConfig.bedrockTitaniumSpawn); - DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.TUNGSTEN, new FluidStack(Fluids.ACID, 1_000), 2, WorldConfig.bedrockTungstenSpawn); - DungeonToolbox.generateBedrockOreWithChance(world, rand, i, j, EnumBedrockOre.GOLD, 1, WorldConfig.bedrockGoldSpawn); + if(rand.nextInt(3) == 0) { + WeightedRandomGeneric item = (WeightedRandomGeneric) WeightedRandom.getRandomItem(rand, BedrockOre.weightedOres); + BedrockOreDefinition def = item.get(); + int randPosX = i + rand.nextInt(2) + 8; + int randPosZ = j + rand.nextInt(2) + 8; + BedrockOre.generate(world, randPosX, randPosZ, def.stack, def.acid, def.color, def.tier); + } for(int k = 0; k < WorldConfig.randomSpawn; k++) { BlockMotherOfAllOres.shuffleOverride(rand); diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index f3cc40fb2..5416fa4d3 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 (4607)"; + public static final String VERSION = "1.0.27 BETA (4613)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index e58761275..99df0747c 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -61,6 +61,7 @@ import com.hbm.handler.imc.*; import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.hazard.HazardRegistry; import com.hbm.inventory.*; +import com.hbm.inventory.OreDictManager.DictFrame; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.recipes.*; import com.hbm.inventory.recipes.anvil.AnvilRecipes; @@ -69,6 +70,7 @@ import com.hbm.items.ModItems; import com.hbm.items.tool.ItemFertilizer; import com.hbm.items.weapon.ItemGenericGrenade; import com.hbm.items.ItemAmmoEnums.Ammo4Gauge; +import com.hbm.items.ItemEnums.EnumAchievementType; import com.hbm.lib.HbmWorld; import com.hbm.lib.Library; import com.hbm.lib.RefStrings; @@ -79,6 +81,7 @@ import com.hbm.tileentity.TileMappings; import com.hbm.tileentity.bomb.TileEntityNukeCustom; import com.hbm.tileentity.machine.*; import com.hbm.tileentity.machine.rbmk.RBMKDials; +import com.hbm.util.AchievementHandler; import com.hbm.util.ArmorUtil; import com.hbm.util.Compat; import com.hbm.util.StatHelper; @@ -187,6 +190,7 @@ public class MainRegistry { public static Achievement achSlimeball; public static Achievement achSulfuric; public static Achievement achWitchtaunter; + public static Achievement achGoFish; public static Achievement achNo9; public static Achievement achInferno; public static Achievement bobHidden; @@ -657,6 +661,7 @@ public class MainRegistry { 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(); @@ -668,8 +673,8 @@ public class MainRegistry { 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, Items.slime_ball, null).initIndependentStat().registerStat(); - achSulfuric = new Achievement("achievement.sulfuric", "sulfuric", -10, 8, ModItems.bucket_sulfuric_acid, achSlimeball).initIndependentStat().setSpecial().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(); bobHidden = new Achievement("achievement.hidden", "hidden", 15, -4, ModItems.gun_dampfmaschine, null).initIndependentStat().registerStat(); @@ -689,11 +694,11 @@ public class MainRegistry { achSomeWounds = new Achievement("achievement.someWounds", "someWounds", -2, 10, ModItems.injector_knife, null).initIndependentStat().registerStat(); - digammaSee = new Achievement("achievement.digammaSee", "digammaSee", -1, 8, ModItems.digamma_see, null).initIndependentStat().registerStat(); - digammaFeel = new Achievement("achievement.digammaFeel", "digammaFeel", 1, 8, ModItems.digamma_feel, digammaSee).initIndependentStat().registerStat(); - digammaKnow = new Achievement("achievement.digammaKnow", "digammaKnow", 3, 8, ModItems.digamma_know, digammaFeel).initIndependentStat().registerStat().setSpecial(); - digammaKauaiMoho = new Achievement("achievement.digammaKauaiMoho", "digammaKauaiMoho", 5, 8, ModItems.digamma_kauai_moho, digammaKnow).initIndependentStat().registerStat().setSpecial(); - digammaUpOnTop = new Achievement("achievement.digammaUpOnTop", "digammaUpOnTop", 7, 8, ModItems.digamma_up_on_top, digammaKauaiMoho).initIndependentStat().registerStat().setSpecial(); + 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(); @@ -732,6 +737,7 @@ public class MainRegistry { achSacrifice, achImpossible, achTOB, + achGoFish, achFreytag, achPotato, achC44, @@ -847,6 +853,7 @@ public class MainRegistry { FluidContainerRegistry.register(); TileEntityMachineReactorLarge.registerAll(); BlockToolConversion.registerRecipes(); + AchievementHandler.register(); proxy.registerMissileItems(); @@ -860,9 +867,11 @@ public class MainRegistry { 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()); + 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); //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(); @@ -1104,6 +1113,11 @@ public class MainRegistry { ignoreMappings.add("hbm:item.gun_revolver_lead_ammo"); ignoreMappings.add("hbm:item.gun_revolver_schrabidium_ammo"); ignoreMappings.add("hbm:item.tank_waste"); + ignoreMappings.add("hbm:item.digamma_see"); + ignoreMappings.add("hbm:item.digamma_feel"); + ignoreMappings.add("hbm:item.digamma_know"); + ignoreMappings.add("hbm:item.digamma_kauai_moho"); + ignoreMappings.add("hbm:item.digamma_up_on_top"); /// REMAP /// remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 949a92461..00d3a9f64 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -63,6 +63,7 @@ import com.hbm.packet.PlayerInformPacket; import com.hbm.potion.HbmPotion; import com.hbm.saveddata.AuxSavedData; import com.hbm.tileentity.network.RTTYSystem; +import com.hbm.util.AchievementHandler; import com.hbm.util.ArmorUtil; import com.hbm.util.ContaminationUtil; import com.hbm.util.EnchantmentUtil; @@ -1111,31 +1112,12 @@ public class ModEventHandler { @SubscribeEvent public void itemCrafted(PlayerEvent.ItemCraftedEvent e) { - - Item item = e.crafting.getItem(); - - if(item == ModItems.gun_mp40) { - e.player.addStat(MainRegistry.achFreytag, 1); - } - if(item == ModItems.piston_selenium || item == ModItems.gun_b92) { - e.player.addStat(MainRegistry.achSelenium, 1); - } - if(item == ModItems.battery_potatos) { - e.player.addStat(MainRegistry.achPotato, 1); - } - if(item == ModItems.gun_revolver_pip) { - e.player.addStat(MainRegistry.achC44, 1); - } - if(item == Item.getItemFromBlock(ModBlocks.machine_press)) { - e.player.triggerAchievement(MainRegistry.achBurnerPress); - } - if(item == ModItems.rbmk_fuel_empty) { - e.player.triggerAchievement(MainRegistry.achRBMK); - } + 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) { diff --git a/src/main/java/com/hbm/main/ServerProxy.java b/src/main/java/com/hbm/main/ServerProxy.java index d296c9ab3..ac286d931 100644 --- a/src/main/java/com/hbm/main/ServerProxy.java +++ b/src/main/java/com/hbm/main/ServerProxy.java @@ -24,8 +24,9 @@ public class ServerProxy { public static final int ID_HUD = 5; public static final int ID_DETONATOR = 6; public static final int ID_FLUID_ID = 7; - public static final int ID_GUN_MODE = 8; - public static final int ID_GAS_HAZARD = 9; + public static final int ID_TOOLABILITY = 8; + public static final int ID_GUN_MODE = 9; + public static final int ID_GAS_HAZARD = 10; public void registerRenderInfo() { } public void registerTileEntitySpecialRenderer() { } diff --git a/src/main/java/com/hbm/packet/AnvilCraftPacket.java b/src/main/java/com/hbm/packet/AnvilCraftPacket.java index bc1719702..d8b1049a4 100644 --- a/src/main/java/com/hbm/packet/AnvilCraftPacket.java +++ b/src/main/java/com/hbm/packet/AnvilCraftPacket.java @@ -1,12 +1,9 @@ package com.hbm.packet; -import com.hbm.blocks.ModBlocks; import com.hbm.inventory.container.ContainerAnvil; import com.hbm.inventory.recipes.anvil.AnvilRecipes; import com.hbm.inventory.recipes.anvil.AnvilRecipes.AnvilConstructionRecipe; -import com.hbm.items.ItemAmmoEnums; -import com.hbm.items.ModItems; -import com.hbm.main.MainRegistry; +import com.hbm.util.AchievementHandler; import com.hbm.util.InventoryUtil; import cpw.mods.fml.common.network.simpleimpl.IMessage; @@ -14,7 +11,6 @@ import cpw.mods.fml.common.network.simpleimpl.IMessageHandler; import cpw.mods.fml.common.network.simpleimpl.MessageContext; import io.netty.buffer.ByteBuf; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; public class AnvilCraftPacket implements IMessage { @@ -65,15 +61,7 @@ public class AnvilCraftPacket implements IMessage { if(InventoryUtil.doesPlayerHaveAStacks(p, recipe.input, true)) { InventoryUtil.giveChanceStacksToPlayer(p, recipe.output); - - if(recipe.output.get(0).stack.getItem() == Item.getItemFromBlock(ModBlocks.machine_difurnace_off)) - p.triggerAchievement(MainRegistry.achBlastFurnace); - if(recipe.output.get(0).stack.getItem() == Item.getItemFromBlock(ModBlocks.machine_assembler)) - p.triggerAchievement(MainRegistry.achAssembly); - if(recipe.output.get(0).stack.getItem() == ModItems.billet_pu_mix) - p.triggerAchievement(MainRegistry.achChicagoPile); - if(recipe.output.get(0).stack.getItem() == ModItems.ammo_4gauge && recipe.output.get(0).stack.getItemDamage() == ItemAmmoEnums.Ammo4Gauge.VAMPIRE.ordinal()) - p.triggerAchievement(MainRegistry.achWitchtaunter); + AchievementHandler.fire(p, recipe.output.get(0).stack); } else { break; diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFMaresLeg.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFMaresLeg.java index b95260b35..f63f1d68e 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFMaresLeg.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFMaresLeg.java @@ -67,6 +67,9 @@ public class ItemRenderWeaponFFMaresLeg implements IItemRenderer { 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"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java index 419664383..f00709901 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java @@ -60,6 +60,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement 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, 2.5D); // halved because it's too powerful // default to 5 if not in list } @@ -121,7 +122,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement ForgeDirection rot = dir.getRotation(ForgeDirection.UP); NBTTagCompound data = new NBTTagCompound(); - data.setLong("power", this.power); //set first to get an unmodified view of how much power was generated before deductions from the net + 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 //do net/battery deductions first... power = Library.chargeItemsFromTE(slots, 0, power, maxPower); @@ -141,9 +142,6 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement //steam this.sendFluid(tanks[3], worldObj, xCoord + dir.offsetZ * 6, yCoord + 1, zCoord - dir.offsetX * 6, rot.getOpposite()); - //if(audio != null) // audio shouldn't even exist serverside - // audio.updatePitch((float) (0.45 + 0.05 * rpm / 10)); - data.setInteger("rpm", this.rpm); data.setInteger("temp", this.temp); data.setInteger("state", this.state); diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java index 46770f2a6..b936d41b8 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFENSU.java @@ -1,9 +1,12 @@ package com.hbm.tileentity.machine.storage; +import com.hbm.lib.Library; + import api.hbm.energy.IEnergyConductor; import api.hbm.energy.IEnergyConnector; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; @@ -17,7 +20,41 @@ public class TileEntityMachineFENSU extends TileEntityMachineBattery { @Override public void updateEntity() { - super.updateEntity(); + + if(!worldObj.isRemote) { + + long prevPower = this.power; + + power = Library.chargeItemsFromTE(slots, 1, power, getMaxPower()); + + ////////////////////////////////////////////////////////////////////// + this.transmitPowerFairly(); + ////////////////////////////////////////////////////////////////////// + + byte comp = this.getComparatorPower(); + if(comp != this.lastRedstone) + this.markDirty(); + this.lastRedstone = comp; + + power = Library.chargeTEFromItems(slots, 0, power, getMaxPower()); + + long avg = (power / 2 + 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; + + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setLong("power", avg); + nbt.setLong("delta", delta); + nbt.setShort("redLow", redLow); + nbt.setShort("redHigh", redHigh); + nbt.setByte("priority", (byte) this.priority.ordinal()); + this.networkPack(nbt, 20); + } if(worldObj.isRemote) { this.prevRotation = this.rotation; diff --git a/src/main/java/com/hbm/util/AchievementHandler.java b/src/main/java/com/hbm/util/AchievementHandler.java new file mode 100644 index 000000000..3d395a43e --- /dev/null +++ b/src/main/java/com/hbm/util/AchievementHandler.java @@ -0,0 +1,67 @@ +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; + +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.concrete_smooth), MainRegistry.achConcrete); + craftingAchievements.put(new ComparableStack(ModBlocks.concrete_asbestos), MainRegistry.achConcrete); + craftingAchievements.put(new ComparableStack(ModItems.ingot_polymer), MainRegistry.achPolymer); + craftingAchievements.put(new ComparableStack(ModItems.ingot_desh), MainRegistry.achDesh); + craftingAchievements.put(new ComparableStack(ModItems.gem_tantalium), MainRegistry.achTantalum); + craftingAchievements.put(new ComparableStack(ModBlocks.machine_gascent), MainRegistry.achGasCent); + craftingAchievements.put(new ComparableStack(ModBlocks.machine_centrifuge), MainRegistry.achCentrifuge); + craftingAchievements.put(new ComparableStack(ModItems.ingot_schrabidium), MainRegistry.achSchrab); + craftingAchievements.put(new ComparableStack(ModItems.nugget_schrabidium), MainRegistry.achSchrab); + craftingAchievements.put(new ComparableStack(ModBlocks.machine_crystallizer), MainRegistry.achAcidizer); + craftingAchievements.put(new ComparableStack(ModBlocks.machine_silex), MainRegistry.achSILEX); + craftingAchievements.put(new ComparableStack(ModItems.nugget_technetium), MainRegistry.achTechnetium); + craftingAchievements.put(new ComparableStack(ModBlocks.struct_watz_core), MainRegistry.achWatz); + craftingAchievements.put(new ComparableStack(ModItems.nugget_bismuth), MainRegistry.achBismuth); + craftingAchievements.put(new ComparableStack(ModItems.nugget_am241), MainRegistry.achBreeding); + craftingAchievements.put(new ComparableStack(ModItems.nugget_am242), MainRegistry.achBreeding); + craftingAchievements.put(new ComparableStack(ModItems.missile_nuclear), MainRegistry.achRedBalloons); + craftingAchievements.put(new ComparableStack(ModItems.missile_nuclear_cluster), MainRegistry.achRedBalloons); + craftingAchievements.put(new ComparableStack(ModItems.missile_doomsday), MainRegistry.achRedBalloons); + craftingAchievements.put(new ComparableStack(ModItems.mp_warhead_10_nuclear), MainRegistry.achRedBalloons); + craftingAchievements.put(new ComparableStack(ModItems.mp_warhead_10_nuclear_large), MainRegistry.achRedBalloons); + craftingAchievements.put(new ComparableStack(ModItems.mp_warhead_15_nuclear), MainRegistry.achRedBalloons); + craftingAchievements.put(new ComparableStack(ModItems.mp_warhead_15_nuclear_shark), MainRegistry.achRedBalloons); + craftingAchievements.put(new ComparableStack(ModItems.mp_warhead_15_boxcar), MainRegistry.achRedBalloons); + craftingAchievements.put(new ComparableStack(ModBlocks.struct_iter_core), MainRegistry.achFusion); + 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(); + Achievement achievement = craftingAchievements.get(comp); + if(achievement != null) { + player.triggerAchievement(achievement); + } + } +} diff --git a/src/main/java/com/hbm/util/ChatBuilder.java b/src/main/java/com/hbm/util/ChatBuilder.java index 0140af364..9fc0c6169 100644 --- a/src/main/java/com/hbm/util/ChatBuilder.java +++ b/src/main/java/com/hbm/util/ChatBuilder.java @@ -1,10 +1,15 @@ package com.hbm.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 { @@ -46,6 +51,24 @@ public class ChatBuilder { 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/WeightedRandomGeneric.java b/src/main/java/com/hbm/util/WeightedRandomGeneric.java new file mode 100644 index 000000000..e72a7e6e8 --- /dev/null +++ b/src/main/java/com/hbm/util/WeightedRandomGeneric.java @@ -0,0 +1,17 @@ +package com.hbm.util; + +import net.minecraft.util.WeightedRandom; + +public class WeightedRandomGeneric extends WeightedRandom.Item { + + T item; + + public WeightedRandomGeneric(T o, int weight) { + super(weight); + item = o; + } + + public T get() { + return item; + } +} diff --git a/src/main/java/com/hbm/world/feature/BedrockOre.java b/src/main/java/com/hbm/world/feature/BedrockOre.java index 71cd87a12..6d054e206 100644 --- a/src/main/java/com/hbm/world/feature/BedrockOre.java +++ b/src/main/java/com/hbm/world/feature/BedrockOre.java @@ -1,15 +1,49 @@ package com.hbm.world.feature; +import java.util.ArrayList; +import java.util.List; + import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockBedrockOreTE.TileEntityBedrockOre; +import com.hbm.config.WorldConfig; import com.hbm.inventory.FluidStack; +import com.hbm.inventory.OreDictManager.DictFrame; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.items.ModItems; +import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre; +import com.hbm.util.WeightedRandomGeneric; import net.minecraft.block.Block; import net.minecraft.init.Blocks; +import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class BedrockOre { + + public static List> weightedOres = new ArrayList(); + + public static void init() { + registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.IRON, 1), WorldConfig.bedrockIronSpawn); + registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.COPPER, 1), WorldConfig.bedrockCopperSpawn); + registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.BORAX, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockBoraxSpawn); + registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.ASBESTOS, 2), WorldConfig.bedrockAsbestosSpawn); + registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.NIOBIUM, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiobiumSpawn); + registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.TITANIUM, 2, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockTitaniumSpawn); + registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.TUNGSTEN, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockTungstenSpawn); + registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.GOLD, 1), WorldConfig.bedrockGoldSpawn); + registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.URANIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockUraniumSpawn); + registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.THORIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockThoriumSpawn); + registerBedrockOre(new BedrockOreDefinition(new ItemStack(Items.coal, 4), 1, 0x202020), WorldConfig.bedrockCoalSpawn); + registerBedrockOre(new BedrockOreDefinition(new ItemStack(ModItems.niter, 4), 2, 0x808080, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiterSpawn); + registerBedrockOre(new BedrockOreDefinition(new ItemStack(ModItems.fluorite, 4), 1, 0xd0d0d0), WorldConfig.bedrockFluoriteSpawn); + registerBedrockOre(new BedrockOreDefinition(new ItemStack(Items.redstone, 4), 1, 0xd01010), WorldConfig.bedrockRedstoneSpawn); + } + + public static void registerBedrockOre(BedrockOreDefinition def, int weight) { + WeightedRandomGeneric weighted = new WeightedRandomGeneric(def, weight); + weightedOres.add(weighted); + } public static void generate(World world, int x, int z, ItemStack stack, FluidStack acid, int color, int tier) { @@ -49,4 +83,33 @@ public class BedrockOre { } } } + + public static class BedrockOreDefinition { + public ItemStack stack; + public FluidStack acid; + public int tier; + public int color; + + public BedrockOreDefinition(ItemStack stack, int tier, int color) { + this(stack, tier, color, null); + } + + public BedrockOreDefinition(ItemStack stack, int tier, int color, FluidStack acid) { + this.stack = stack; + this.tier = tier; + this.color = color; + this.acid = acid; + } + + public BedrockOreDefinition(EnumBedrockOre type, int tier) { + this(type, tier, null); + } + + public BedrockOreDefinition(EnumBedrockOre type, int tier, FluidStack acid) { + this.stack = DictFrame.fromOne(ModItems.ore_bedrock, type); + this.color = type.color; + this.tier = tier; + this.acid = acid; + } + } } diff --git a/src/main/java/com/hbm/world/feature/OilSpot.java b/src/main/java/com/hbm/world/feature/OilSpot.java index bcd746638..7b02e5263 100644 --- a/src/main/java/com/hbm/world/feature/OilSpot.java +++ b/src/main/java/com/hbm/world/feature/OilSpot.java @@ -80,7 +80,7 @@ public class OilSpot { world.setBlock(rX, y, rZ, ModBlocks.stone_cracked); break; - } else if(ground.getMaterial() == Material.leaves) { + } else if(ground.getMaterial() == Material.leaves && (meta & 8) != 0 && (meta & 4) == 0) { world.setBlockToAir(rX, y, rZ); break; } diff --git a/src/main/java/com/hbm/world/feature/OreLayer3D.java b/src/main/java/com/hbm/world/feature/OreLayer3D.java index 67fecb388..aee3cf43d 100644 --- a/src/main/java/com/hbm/world/feature/OreLayer3D.java +++ b/src/main/java/com/hbm/world/feature/OreLayer3D.java @@ -16,6 +16,10 @@ public class OreLayer3D { NoiseGeneratorPerlin noiseY; NoiseGeneratorPerlin noiseZ; + double scaleH; + double scaleV; + double threshold; + Block block; int meta; int dim = 0; @@ -30,6 +34,21 @@ public class OreLayer3D { this.dim = dim; return this; } + + public OreLayer3D setScaleH(double scale) { + this.scaleH = scale; + return this; + } + + public OreLayer3D setScaleV(double scale) { + this.scaleV = scale; + return this; + } + + public OreLayer3D setThreshold(double threshold) { + this.threshold = threshold; + return this; + } @SubscribeEvent public void onDecorate(DecorateBiomeEvent.Pre event) { @@ -44,9 +63,6 @@ public class OreLayer3D { int cX = event.chunkX; int cZ = event.chunkZ; - - double scaleH = 0.04D; - double scaleV = 0.25D; for(int x = cX + 8; x < cX + 24; x++) { for(int z = cZ + 8; z < cZ + 24; z++) { @@ -55,7 +71,7 @@ public class OreLayer3D { double nY = this.noiseY.func_151601_a(x * scaleH, z * scaleH); double nZ = this.noiseZ.func_151601_a(x * scaleH, y * scaleV); - if(nX * nY * nZ > 220) { + if(nX * nY * nZ > threshold) { Block target = world.getBlock(x, y, z); if(target.isNormalCube() && target.getMaterial() == Material.rock) { diff --git a/src/main/java/com/hbm/world/generator/DungeonToolbox.java b/src/main/java/com/hbm/world/generator/DungeonToolbox.java index f8a739378..7e0a899f9 100644 --- a/src/main/java/com/hbm/world/generator/DungeonToolbox.java +++ b/src/main/java/com/hbm/world/generator/DungeonToolbox.java @@ -3,15 +3,10 @@ package com.hbm.world.generator; import java.util.List; import java.util.Random; -import com.hbm.inventory.FluidStack; import com.hbm.inventory.RecipesCommon.MetaBlock; -import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBedrockOre.EnumBedrockOre; -import com.hbm.world.feature.BedrockOre; import net.minecraft.block.Block; import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraft.world.gen.feature.WorldGenFlowers; @@ -25,11 +20,8 @@ public class DungeonToolbox { return; for(int i = x; i < x + sx; i++) { - for(int j = y; j < y + sy; j++) { - for(int k = z; k < z + sz; k++) { - MetaBlock b = getRandom(blocks, world.rand); world.setBlock(i, j, k, b.block, b.meta, 2); } @@ -93,24 +85,6 @@ public class DungeonToolbox { (new WorldGenMinable(ore, meta, amount, target)).generate(world, rand, x, y, z); } } - - public static void generateBedrockOreWithChance(World world, Random rand, int chunkX, int chunkZ, EnumBedrockOre ore, int tier, int chance) { - if(chance > 0 && rand.nextInt(chance) == 0) generateBedrockOre(world, rand, chunkX, chunkZ, ore, null, tier); - } - - public static void generateBedrockOreWithChance(World world, Random rand, int chunkX, int chunkZ, EnumBedrockOre ore, FluidStack stack, int tier, int chance) { - if(chance > 0 && rand.nextInt(chance) == 0) generateBedrockOre(world, rand, chunkX, chunkZ, ore, stack, tier); - } - - public static void generateBedrockOre(World world, Random rand, int chunkX, int chunkZ, EnumBedrockOre ore, int tier) { - generateBedrockOre(world, rand, chunkX, chunkZ, ore, null, tier); - } - - public static void generateBedrockOre(World world, Random rand, int chunkX, int chunkZ, EnumBedrockOre ore, FluidStack stack, int tier) { - int randPosX = chunkX + rand.nextInt(16) + 8; - int randPosZ = chunkZ + rand.nextInt(16) + 8; - BedrockOre.generate(world, randPosX, randPosZ, new ItemStack(ModItems.ore_bedrock, 1, ore.ordinal()), stack, ore.color, tier); - } private static WorldGenFlowers genFlowers = new WorldGenFlowers(null); public static void generateFlowers(World world, Random rand, int chunkX, int chunkZ, Block flower, int meta) { diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 4e2684089..f17622a7a 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -18,22 +18,24 @@ achievement.c44.desc=Galvanisch verzinkt! ...das macht in der Übersetzung sowas achievement.c44=Kapitel 44 achievement.chemistry.desc=Bobmazon Level 3 (Betonziegel) achievement.chemistry=Chemie -achievement.digammaFeel.desc=the hollow within. -achievement.digammaFeel=The Terror of Feeling +achievement.digammaFeel.desc=Meine Augen bluten +achievement.digammaFeel=SEWAGE-INFUSED GARBAGE WORLD achievement.digammaKauaiMoho.desc=Alles ist schrecklich, hier ist etwas heiße Schoki. -achievement.digammaKauaiMoho=Sing, sing mir das Lied der Kauai Moho +achievement.digammaKauaiMoho=SING, SING ME THE SONG OF THE KAUAI MOHO achievement.digammaKnow.desc=what this world is about. -achievement.digammaKnow=The Terror of Knowing -achievement.digammaSee.desc=into the abyss. -achievement.digammaSee=The Terror of Seeing -achievement.digammaUpOnTop.desc=Bewundere meinen Sohn, er ist mein Klon. -achievement.digammaUpOnTop=Bewundere mich, bewundere mein Heim +achievement.digammaKnow=THE TERROR OF KNOWING +achievement.digammaSee.desc=Es ist Dunkel, bring eine Taschenlampe. +achievement.digammaSee=ENTER THE ABYSS +achievement.digammaUpOnTop.desc=Admire my son, he's my clone. +achievement.digammaUpOnTop=ADMIRE ME, ADMIRE MY HOME achievement.fiend.desc=Sei gemein. achievement.fiend2.desc=Sei gemeiner. achievement.fiend2=Unhold 2: Noch unholdiger achievement.fiend=Unhold achievement.freytag.desc=Leibgarde Herold achievement.freytag=Freytag +achievement.goFish.desc=Kreuzigung auf See +achievement.goFish=Go Fish achievement.hidden.desc=Töte einen Enderman mit einem fallenden Güterwagon wärend du brennst und mehr als 250 RADs hast. achievement.hidden=Versteckter Katalog achievement.horizonsBonus.desc=junge was ist denn mit dir verkehrt @@ -679,6 +681,7 @@ hbmfluid.plasma_xm=Xenon-Quecksilber-Plasma hbmfluid.puf6=Plutoniumhexafluorid hbmfluid.radiosolvent=Hochleistungs-Lösungsmittel hbmfluid.reclaimed=Wiederaufbetreitetes Industrieöl +hbmfluid.redmud=Rotschlamm hbmfluid.reformate=Reformat hbmfluid.reformgas=Reformatgas hbmfluid.salient=Saftiges Grün @@ -2473,6 +2476,8 @@ item.ore.iron=Eisen item.ore.niobium=Niob item.ore.titanium=Titan item.ore.tungsten=Wolfram +item.ore.thorium=Thorium +item.ore.uranium=Uran item.ore_bedrock.name=Bedrock-%serz item.ore_byproduct.b_aluminium.name=Kristallines Aluminiumfragment item.ore_byproduct.b_bismuth.name=Kristallines Bismutfragment @@ -2481,9 +2486,13 @@ item.ore_byproduct.b_copper.name=Kristallines Kupferfragment item.ore_byproduct.b_iron.name=Kristallines Eisenfragment item.ore_byproduct.b_lead.name=Kristallines Bleifragment item.ore_byproduct.b_lithium.name=Kristallines Lithiumfragment +item.ore_byproduct.b_polonium.name=Kristallines Poloniumfragment +item.ore_byproduct.b_radium.name=Kristallines Radiumfragment item.ore_byproduct.b_silicon.name=Kristallines Siliziumfragment item.ore_byproduct.b_sulfur.name=Kristallines Schwefelfragment +item.ore_byproduct.b_technetium.name=Kristallines Technetiumfragment item.ore_byproduct.b_titanium.name=Kristallines Titanfragment +item.ore_byproduct.b_uranium.name=Kristallines Uranfragment item.ore_centrifuged.name=Zentrifugiertes %serz item.ore_cleaned.name=Gereinigtes %serz item.ore_deepcleaned.name=Tiefengereinigtes %serz @@ -2491,7 +2500,7 @@ item.ore_enriched.name=Reiches %serz item.ore_nitrated.name=Nitriertes %serz item.ore_nitrocrystalline.name=Nitrokristallines %serz item.ore_purified.name=Pures %serz -item.ore_radcleaaned.name=Strahlengereinigtes %serz +item.ore_radcleaned.name=Strahlengereinigtes %serz item.ore_seared.name=Geätztes %serz item.ore_separated.name=Separiertes %serz item.overfuse.name=Singularitätsschraubenzieher @@ -4242,6 +4251,7 @@ tile.stone_depth_nether.name=Nether-Tiefenfels tile.stone_gneiss.name=Graphitschiefer tile.stone_porous.name=Poröser Stein tile.stone_resource.asbestos.name=Chrysotil +tile.stone_resource.bauxite.name=Bauxit tile.stone_resource.hematite.name=Hämatit tile.stone_resource.limestone.name=Kalkstein tile.stone_resource.malachite.name=Malachit diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 3758781ef..5a20f09a4 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -36,16 +36,16 @@ achievement.concrete.desc=A Bolshevik's favorite. achievement.concrete=Old Reliable achievement.desh.desc="Come on then, you lot. Places to go!" achievement.desh=Le Verrier -achievement.digammaFeel.desc=the hollow within. -achievement.digammaFeel=The Terror of Feeling +achievement.digammaFeel.desc=My eyes are bleeding +achievement.digammaFeel=SEWAGE-INFUSED GARBAGE WORLD achievement.digammaKauaiMoho.desc=Everything is awful, here's some hot choccy. -achievement.digammaKauaiMoho=Sing, sing me the song of the Kauai Moho +achievement.digammaKauaiMoho=SING, SING ME THE SONG OF THE KAUAI MOHO achievement.digammaKnow.desc=what this world is about. -achievement.digammaKnow=The Terror of Knowing -achievement.digammaSee.desc=into the abyss. -achievement.digammaSee=The Terror of Seeing +achievement.digammaKnow=THE TERROR OF KNOWING +achievement.digammaSee.desc=It's a bit dark, bring a flashlight. +achievement.digammaSee=ENTER THE ABYSS achievement.digammaUpOnTop.desc=Admire my son, he's my clone. -achievement.digammaUpOnTop=Admire Me, Admire my Home +achievement.digammaUpOnTop=ADMIRE ME, ADMIRE MY HOME achievement.fiend.desc=Be mean. achievement.fiend2.desc=Be meaner. achievement.fiend2=Delinquent 2: Delinquent Harder @@ -56,6 +56,8 @@ achievement.fusion.desc=A dance of deuterons, tritons, and energy. achievement.fusion=Fusion achievement.gasCent.desc=Unenriched Uranium hates him! achievement.gasCent=The Zippe Style +achievement.goFish.desc=Nautical Crucifixion +achievement.goFish=Go Fish achievement.hidden.desc=Kill a tainted creeper with a falling boxcar. achievement.hidden=Hidden Catalog achievement.horizonsBonus.desc=honest to god what the hell is wrong with you @@ -1251,6 +1253,7 @@ hbmfluid.plasma_xm=Xenon-Mercury Plasma hbmfluid.puf6=Plutonium Hexafluoride hbmfluid.radiosolvent=High-Performance Solvent hbmfluid.reclaimed=Reclaimed Industrial Oil +hbmfluid.redmud=Red Mud hbmfluid.reformate=Reformate hbmfluid.reformgas=Reformate Gas hbmfluid.salient=Salient Green @@ -3152,6 +3155,8 @@ item.ore.iron=Iron item.ore.niobium=Niobium item.ore.titanium=Titanium item.ore.tungsten=Tungsten +item.ore.thorium=Thorium +item.ore.uranium=Uranium item.ore_bedrock.name=%s Bedrock Ore item.ore_byproduct.b_aluminium.name=Crystalline Aluminium Fragment item.ore_byproduct.b_bismuth.name=Crystalline Bismuth Fragment @@ -3160,9 +3165,13 @@ item.ore_byproduct.b_copper.name=Crystalline Copper Fragment item.ore_byproduct.b_iron.name=Crystalline Iron Fragment item.ore_byproduct.b_lead.name=Crystalline Lead Fragment item.ore_byproduct.b_lithium.name=Crystalline Lithium Fragment +item.ore_byproduct.b_polonium.name=Crystalline Polonium Fragment +item.ore_byproduct.b_radium.name=Crystalline Radium Fragment item.ore_byproduct.b_silicon.name=Crystalline Silicon Fragment item.ore_byproduct.b_sulfur.name=Crystalline Sulfur Fragment +item.ore_byproduct.b_technetium.name=Crystalline Technetium Fragment item.ore_byproduct.b_titanium.name=Crystalline Titanium Fragment +item.ore_byproduct.b_uranium.name=Crystalline Uranium Fragment item.ore_centrifuged.name=Centrifuged %s Ore item.ore_cleaned.name=Cleaned %s Ore item.ore_deepcleaned.name=Deep Cleaned %s Ore @@ -3170,7 +3179,7 @@ item.ore_enriched.name=Enriched %s Ore item.ore_nitrated.name=Nitrated %s Ore item.ore_nitrocrystalline.name=Nitrocrystalline %s Ore item.ore_purified.name=Purified %s Ore -item.ore_raadcleaned.name=Radiation-Cleaned %s Ore +item.ore_radcleaned.name=Radiation-Cleaned %s Ore item.ore_seared.name=Seared %s Ore item.ore_separated.name=Separated %s Ore item.overfuse.name=Singularity Screwdriver @@ -5062,6 +5071,7 @@ tile.stone_depth_nether.name=Nether Depth Rock tile.stone_gneiss.name=Graphitic Schist tile.stone_porous.name=Porous Stone tile.stone_resource.asbestos.name=Chrysotile +tile.stone_resource.bauxite.name=Bauxite tile.stone_resource.hematite.name=Hematite tile.stone_resource.limestone.name=Limestone tile.stone_resource.malachite.name=Malachite diff --git a/src/main/resources/assets/hbm/textures/blocks/stone_resource.bauxite.png b/src/main/resources/assets/hbm/textures/blocks/stone_resource.bauxite.png new file mode 100644 index 0000000000000000000000000000000000000000..d2b38295d37df0c3d1b261659d4d5d34904bfe07 GIT binary patch literal 811 zcmV+`1JwM9P)A8_g4 z;a}37OIPk(*@UEGnxbi}HJG*vNS!h*L0~?Z;r+UE?{)FU#It)AC(m=vc}{TtWz~zD z8i44)@E^ASOu4sE;OhGdBv2N}nWK_gnuYwF8yZ=WSmSZOjp)6x zWE1%AhXiGuXQiPCmvR~I)UvWFSsvvx#v#i&S+{2R`P(5{z`d5@c;Ha=sv^85A$G_Q zLS#!o;^;mcvao&y6o}?50_c7HI`=B`M2Y8g;n@op3zxw3jt#fqQ3o-m#d8XXCRn zY7l!aQ%kcZDAfdED5?Hq*|=LkE{0TW#P3Hb2ah6VLdjf3u(lxSU3iEcYVEd0OiM@{ z&z@(TT*TC?3LydpKVI;nn@2W3rC3|l2pw?p*93sA?HJWNu@naufc3itqPLPK`x$$$ z3}++9{FGqvjz-^a12pb-%+V6Ds=^|GU4WXR7!%~w}!=quW;j=stLjB=5nCuH{Z$B7*?yJ!zWP;?+CLF!gLS6^j4CJUpV? zcbJK%IVb53Es24Gf}#%40=k0<_czOkDap>G7-ioioc)nuw?>={9a=!@p;F4f?UUPz pB+D0s*CfqjfzScbf#Ji3tu+Ap@$m+&HPbY) zEDJG4)^#O>z}wp!ecv;VBiHMdrfIlbE-0l)DRI4CvCq%XG)=>Pzvp;7qLiYpYm6~` ze0(sDBhERjwKPpb+qTT}j8Y2kJ$6|ZthE5#+}zN09q02IV+;=u4^&l!bB^6^$Jf^v zcXxLT!vKIW2D`3n0asOph~T~F_VyNluIuRgp7Z&Ph_EaRbzRf8Ep=UE4~GMFUE{qc z=Zv+Mr>7^3F;rDWjFFr(IcJ7ppzAtB1OV?nI;HeO#ad#Fgb)fFW6Vz%Yw7#Gd@3R+ zrC62)t+hreMb4SJu4$SEYb{DC=6MDv%(kvuPDHT#{hkm)DKN$$BE{z|9%IB9Q$}6a zm6Q?|Kq-ZY5JDh?Kvh-6PJnGpr4%tnzQ4aq-fkVe_q1&bfO8HJA;$P0t4$N{J;2W* z0fqGrQf6VHk>V z8&E`wolVmaLMS?H+Gt}8#+d)CTGzE)X9%HO-*(n9Mx1jv=lBPrP*Hz^9#>=l0000< KMNUMnLSTZp`4Dda literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/achievement_icon.acid.png b/src/main/resources/assets/hbm/textures/items/achievement_icon.acid.png new file mode 100644 index 0000000000000000000000000000000000000000..e83e786e34c2210894a3abb121a747fc55ef8382 GIT binary patch literal 29485 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
VScbgJ`YgLIpgd+r$^nSZ#*eh zKxQ(_w&nKuGsGAj-D(^;2Q3t(To=sJG+vuX=j*CMiMcOP=9G|9wf*zsauiGW)?%<# zdiL0FXwBn*Dq}rOrFsNijG zTMJr}4wbZ;(_do@ecREuEvbx*r-9?)NX~_}ZCNgt495dg%#d{EfvL}J(1*lSFgDAO zz4usaXuFpEVNVQ^p$z1b>f%AlIwn>%dY-p$-}3cWUuo(wsVl=uO+7NcKICB-M`hh= zOx5zL7L=T^v`x!$sfwX-9F=*S( zJEZTl(Q}ya&12uAmB*Pw#hN-ku24*=b$A^>A=Xd~#1e7hDAdQr6y+g|d7N%mN~tr1 zYO9;omApZmn_+C|zT>-B-*G&i zbOK1pESC#je)b7{)A0J+ub5lATi4Q5q&$N)>nzq8rg55~4#w&)N};)3bJJ&p5hw_Eo6J-08OX-%N-IgJyboQA33 z-sP+sc2K5GB-e4`9x)(J$RQKTgfDe03W(cm=Wdm1F?dq8PT4F zjkSq1gi#Gis4-Jx>s(6y;)^fnx`tsmaXKC8+D^kjRkNg&xVpL`#))tL@HM;bj@^Ez zdVuwskRl~3gJ!Ma^5TNq>nrZxwB+FHBoV#oV(P$#oX<}n^XF#_Y7L-BL3{7Cuw|V& zYY~mDBWmjcd+W|XSyOl&ZqYcekISK)8&i!a@nems2P!&O(ak-VHC@FDMGQ73#t?Lp zy0?sJ($Rd*VK9})uNsCjXA(te^BU@$7dWZ5QTMA3^g8YLOv6CGTyS@H$BV!Cl#7c? zRx1q&pMLrYE~Wg0g9Ai&P1`hd6$kj)3R6O?trIg6-g(-#!5YqPi3%iBRCje6M?U@R zC3knXe7JwlYP~{Csgp*Fj*X3xQZlFGo_As5csQ!$-1&1Fx#$;+qmoeGTe`O6`s$kN zt1HrUP!7IUs+6cwW-?doVBJi@7);YpQhmgoF-TT@-aH)Ih-eL>KIXDt^eTL*e0$D` zaT+y5)bxxxDB8I>a{yx>C!0O}Gt=hk6%1Y1()F#jzG<~b+woJXN?%_Ax_Zu9_GG); zA=WXCT6jw-p7jS)OiZVdX&6~wTr50 z@!do)sw&a+Pix9LH$W>@+GVTMu!vy_6Q|P=-!{B>{*2RbWV^ZN@?uTfIELDZlPZvc z!trnI!f(}`@y1LY!_w5G-r77ud&6&U~bFWu554o<3;2Uj87bA3D z+o^RRgglmJndkXdMzMfoeF%kiBCCgJeWTsWN%ePiNL|$#XuGz`>1qa0>l-nu0XA*J za=EBFLFF%|X<`~xL~ETTC0q3mT7${8n^{9tINzVXZ`ltcW6DfpV45naWIa=yKp>XH zn|E)yy}Q%CfcXZ`<6v`!w(VH0)+}~A9_+n7hQ%o-9;QKE)45Qiv2m)sb^27wat1)V z-4<&thuvNkMe_Kh%bYX@VhXnHNI{?aHB+j&URX(4CzOgBMofY0n`^Fbu6h6NmCp4` z`P|ex@32|aX^iIjVhklGFb3n@nFJ9GU8_x`iW%}5fm>%QkW=?QH_zy^lggRZo3VhR zYTeDo+PR`qU935$!FAU`F5FyQad&gWaQIf+@FeNOIS&V#+AeR6J_%(W+|e`*#7xPy z&N={VJ;yOJgv4PQdHd!Kx6hwpdTnJh&Jl8Am?pM|J!YP9_xLAiamEPC<$}ArTP`oJ zaLy4zIM36Yb%5hA@Nj?6VzH<|($q)E2D~%$Z9^Cb4x0_*Y2e}A2M)VEQVTDx(y6vK zeCR~3M{3&C#heXveine$Y1Az1gCfH;oogDgPV}5=mvhdAR7zzZpR}B7B}&;jQSQLh zCd;O6>$8Vv66dk~dR<$;q@XU>DY(>vkEvKgLGV1Uk6PBwDUl}io>m?W`|{#~FFyO6 zzHJ##gNjIF(85kkNXkeZW}PeNpxK9dAt-p~Y1)p9i_7}lMay=#WxLw~R9d+{+gWsK z>)8X$6RE6qG~RQ0dByehHErASt6%++cW+*E3PA;p2+lWnE8O4T^S}P-pJ=_3BGzi0 zG9p~8FZjhT{)!^-?%iAVVzJ&sa>|S`^Xm0$zW(|fe)joi8XmGD|BKa%ySrOne)58x zGn@DCSaiMSzGg0|<}*mrwDIw&n^MY|1DDzt=$rz^-ELP$oauO5Tl?at6!FHLhfPNw zr)fxymoW^qUF86*{TOG=#*&f>RBDM^j5+i5^W$w&N@p1wsCS?WM^n_Kt)#4cg4D2A zROmVPHRK$z&Q@cc=(~o${PJ^#X=3wmeXwO%LO;r*W{F$rlHd3g%Bb+DL(?# zG`LZXq|xD9A!m-2Wi+)4IA6nNv%%S_dJ({SSI4#Lle-=s?%5yq%c| z8#_v2946kqea~$T6S-s--GYntn(M18tO)!4L1k67EF6Q*_=R$gxu)KfxeZ*Z8)c?V zQ^cgi>9FVh`?p%`Sg%-Iu4$J`jq%f{YT}r6m=uO#oCqmuSvD)1HVgyj2PqeA)@+)l z*8MdMjMJ!puOX>aup3e$)a)VGeuAgj2BO(SP7#rE<^*I;jjO@=)+>+`R89tjSoq}A zPdTN+?|%Cm-o1It`};`uT}QuM;EiRNBF;BVIgmx?2+wqR)#_or)A2RaNDhh9puG*N zrOsxU%iGg5@#KN=Ga}JnZnhiVf7tNh{vFO(R?8LMd40~FZOCE5Iej$ic7Mbe$BP%A zu-$EN#-ZR!W)UNgw{0isBrSwrz)4n=L8=_rB4IWp$Uh|F5+7Y_cW0 z&h(yb(i~g%+P-bj0LcN#5h-!>MGDR6r|~x_G{IlM2n{tF8esqeXp1)2lsz`xHu|tu zX4P#pAxd))h-*X}zGz!1JAA6JKqW7lf>gtN!_Q37+4P{Z#X;wf8ktN6Ubc_EaLC4XoL z!aEpEnG0Xw@Engv-d$a3c5$LP9Lf42O_EjZtfMFjnzos4RLn_sg1QDY9K*_c$SOaJ zN!>^y5Jfxade7*0;=wsx?(`Pc^$%(JN`Ih~D&$r)xOL`VLKfNF(xh~$yk!X;iQr9)|06A$*%c5j= z5Y5GYx94IQW$sp-+Gq9e>jFm2{${hGIkb?WQ~Ot|el;nl$?+?tj4wQ^)r!9FSuK~m zc=n8WJ(IA)z9R++l**&~XHFA(Hul9{RjWCxJYBa@66&ZSi)4t2@4x?^U;N@1eE8~> zI9}{URGL%7yHcl_BcU~7)tSVoljo>g5La}ue{YUQaoo@rHK=^s7)RTR0y@SdNoBhA zK6nfxW|t{o#7SCj@JMG<@`#szcj6eJ0oz8}PFEBZS}0yzoYVF_L&{v=TuI$i%_VrE zEUBwX)YxSyg`Nslt#b?!=Jkx_e9oacQuu=7ZcpfY%xtD@tGbGfx_{xj$<1%uMs5~D z%N`4e#bODn>mPn9hHljVxa7orVR$jLjed3@un z-O)BjdAhO;U@(T#7gE(a4^BJ>Z?3NydZ9tz-ChfeR=3@8Zl7y#L8@`_8<6&K9KuNT zZV6Uo=}mKloar3hVg+|ILJpYq|W%zQRuv$-eqf!A-}@a)A4wdt*hSt4MJ))p9X2pI!BjqX(Y z-HyV^b)4+v4fw8UrWNb86_R#F$GS#Pw8DGN&dvlxA#scYiKNynhSRe%e*W{H(;g2j zW;6DiE$!hb66!Ny0S{r|csQy>S)TleibCkv$NfQy%qVAl;XKwls=A(Xdg`iXR@Xdz zBCXN8w{PS)P)XIeP>eCu&XX(YYC?*WV{q1y=m-=gHFaFCmkdMTa5&I(?F4LDV;I6f zHwgBTlGQ9_%}%zcuYw{N3Q4EYI5p}ta~zV5Iyoh^k|q2)7ywI-1I9?|>gD-4tHpx* z%_%om*WBFRaDRU%pP?^g$FfSAH4Z{#4BW8JQB)N}5*wVM@5PcYOVYcw20uQL2Enn% zQcwbt9!9FpTI#CQ?b?kp01}beY(`OvF3%a6O}h-u{=ms;^0x7$-!6~@Zgb%bRl zilt}hJAqlFkTMG|c5JRFsJ)|8vzoS*uuP+V!jNg2hO#V`6Crs4AxJuTQj*NXGnAQ+{CPY! z#+^dHf6O8bIWZ)#PMG>J8mupf?GaLDy;`aHb>{mwZ@?JVYf(RioEf?!WP>kDwY4?) zLY&EB$ZR$n?(Xh*{_3UJ0FtQc3V%54$G5~o9zfQe0F0HbOkA)$g>xMGfvPB_z%ej{ zo}zHf=QVK@{cG7M_jj=@DHu@I}oGiwXMhiu!1!Pc+KPzEG0<>ci@=Quu_!VPD zQ5MPidUe9P>l@y@ev2`d)ybJW&Bl`uK*+jC8UjUGFrUvUQpG`O;rsob*?KZBHb^ZGUScX#YI8;*yA zY^hBv!=ey0!CM@*7qdBaRkGjj89Es|%ZxyH`c8*Cz9=Ys!R7e{fB6@G!P)5<+xvUE zZXm>r&CsWa%`M(|EKc3cAw&tjz#%tWSxLv^Q9>QtR>h;@r+0F4q8NUjZrVs&pX!y~ ztF3%5BlEtas%8}4Os%2eVZ;n-_+=kK#abjJJvK%ni!pYx*0t6V!hmQhpsr_JUS9J3 zci(e&ch6#V!eX(aYg@@d#$wDM#MT%o>xy|^Jv>*puSG5IROjn-mA3fLmD1m#kL{Qpgm>v&~zQ7aNwOPl~ZncxmgL5*waAc|uhb zZ0_#a?>6iYdqMOt#8P2hV^q;3F?cCwj{AccP^h=jcDn(3GKI|*N0A_q@oKrm8bjB% z)O9VxB4nai6eT$Y3Ke!#zMxUFi(wE_>M(S21Q^-H9&v0U}oKgz!0Pc8jI8M z<(&k17BI#ftDF?4|(M50|+HD@QMq!eim zEqyCo0RvNfdDLmxWMk?^^Jj6s9*?CMA{MwfyP)y~pZ(^yeEs#;+}+)=+ln~Fc}H9< z$tf|b>xp>btYx#^(KJVzV@q=sjbc@nLVl?$W_87UK4-aFO*jHNi~>{qaaq)`U1r1Fa0~_dEKo zm-JR+*zNZm4@c(fHDQS2c~FYwU0GJ(46D-<%Bp6yTJiS!nyZ@|KK$rIaaZ9-UQW4l zLEDuOJF2RroRxBZ4uPVqh*=aphhxLrch_ViSUJvN3s1eAb8L>x>ls5cP&iL2B2`ro zhkz*xhQ60bI&B9>#_$hcLCQg zER$p4ls;;Llz&dg1EXzts8WL~Us3K>|Ep%2?MaqgE|E}wLDYW#66sECJUW7uy zR)j0gI+77xge<2A7BP?hEMwpn=c^yN68f}e=(?V&s;9(r>l{On&Sy5C^Yq0_=F2(9 zu9JIKl(gNEH*a2Z`Q%aowui_6p$No0uvTkel@JtYi7E&dNqo+P6sxKH0{_5ecE}a_s1yN z*H9R*n2Dt*W(-4CDVyNy<6;Y86ut;u+&YUhO6OAVH|76KT#T_xGR|rndK8Zz#b`$V z->R;7`|j;zUTuu9wd$%Oq{L>o<8*z(&;IDA6jjYP-+f1We@8u^QB^g!cXwxs2Xk#8txnw!+b~_HoBVG$9YaQ7HJyMhmk%F*_j1|WbYX~7j zN+PEYQgb9VJPFE z>jjR&JILdc(i37Lq^uC8qHE@X)}?PlEKrR`)ek*ZlSYfOAPj-0&z^F!UUPeQ$L;N{ zV(kL9l-d)QWig%qUEk3hJ3;(lx+75+Kvq7X(Nn2V-CkKq8u-{Ai$AYm7%`1}LG=p2 zXxhlbQ#Jx%j9+0LUN?uK?*$39Zc;>z_b8@B$}*3L8sJ$J^4X0qDC?SJ3?*=)h2i0F zAf$+OVwba8t@-ZtcYOE#_dI{`Op3rU4AAI!c9egQ)vCasNlaE1Xo*8)HD6#Cnb3FK z-rljf-*S0*rdmI=2aXyU8?{A(oFg&mV#p71aE~3!jCsJ!$3-yu`B!xLr9ven!`0Zh80i3h%r+f9nwCG4;66 z*}ym^ve=0eSj}c!K6yfW*z@+y8@jgR=H`ZHPoGE|=6XWVl}r|D6eCeo$Ejf)MDbvJ zt9#@aBRjsFbF^K{{pL>R>6xMu0c)w%d{E3ga6d2z|-pMB16e*Ig#DeNP{g04^}zdHL6K%Fqa2$d@sd9sRt@QW%y|lWz;Iq+VK;c=C z^V}Q5cDEy^#O?hZPcENG3zrjJ-*Y$~+3xlXeb3?0P}eio>op-Hh05m>S5GKnGFUSz zCYjF{GK^|kl6AC)BVFHMjA6c9kWC^X)4$V`Q&#I0MOolVM~I2i80xZSypk;&#*1e!xWBpQ=H>=JpUriB<%v=~b_0_7DP!BVZAclcq$0{ncb2n@ zCoC2VB`ti%ezy~!0q3GQ!dwFY;IvS?|dj#+Vfzb$T8LJt|xwYMsSu z$?9ay$;rudB$TD_0t@eHTRGB_ZYg6Ci$R4Qi9vO9LH&(JMvqZ`LeiG-0UlRGv?@ta zL@^^LUXWyRbU*k5A-om&E{M_eU5SBd0dq>v)O{K8xa1r z<@EHFCr_TT-R|&JJ)5@q$6j@SB!+?{PZpJ^eY%b}Z{7k9?+O;HC8y_Se6zXdzx>1B z^XaFb@bcL+taJFX!mISVsw7;xkcbN10dyX(v~77R#vDK)K1vQinyT@-t|_aEv$In! zE-u*Z_tQ;2><S`zT>DNRL*2d@38Z^UT@idr_k;Yu~vjPWmS=LqO8X- zY49QQcZ_+|dfp)924AXEW~Z@A&Y8SKQp*^6p*7`Pn6# ziyeNkSWHLESZqy+Vd-I1dU|@wd^Y3u`i6IJuUO6(kTbq;ELSU>cYOB6=luOY{ymHT z>3_x>i!DT4TGzF5^*ga~OJjCl!g`NWt=$Ns=wm@220~1e$FNrutHol*V!jYQKAGm& z2xDfuWf%r_+bsu$daW{l#{pf;V=-&MO21vGAXGw^sP9!?E zP#pa6Yg!0Hn6v`cI?76(zOL)oZMOXS*T3fcbj_2?XS`m2%j@sI<@2w<;wPVe%Cjd= z=wqa;XT-i&(*}!45C?ezi=vPl62WK3C@$^C^ztl25;->H#x0PY;@C6-Pz{0oe$UnQ z6^Fx-wryzJPK6w*EwB<8nWeBH4S^H`Uh|KOQjoxr_aK_birIWFRkwBtl434NUj|D# zh)HExmK+a9mWwrIRdP7&>0BoXCZmg(GqlZ-&90!nxuYmcPEXf5njWwkx{0V%S#>7ZU?fBq}1jEFdE(oZ40NUC(B_ zRm*r!rA{6gk;uWZfdkx9<7{sjkaA-JLuZbqA@>(a3QD}H02cRrO0cDiq zI1DmP#TxN*NRG1bYYzxs;xa*2Q9a0vlI zER?efQYqfJC^b0@Qe0Y3W)MC6AknQcjFB!`J^UrDd<0;Q$D`=yj>0+U^$ad55l0k7 zNlFOy%07%eoOgo%R~6QJ4u?j=rW|1igh3~ISy{Ad$v*b1IVajzSdRhH~E{tkqbFbopscCuc{B(Upfx{i>cQy->~#E;oHhxcNT*>ye6 z7ZOdABJ;&!0Y`Bmrzc^inSOI@rtNzKhejJ%V+=z-Ohw=Q zW-BS2#!%KZ&WVBZ$>|woRnZx7n>&_^6=!D`ltsaEu@Dv0Vy-Q*Rp+ln3JGV$Wjw^hkcFD& zy{9TG4tdYe2l6aaS2J=lYPsvEXC+aKzmAS`3`5Wa_$UJyVJ>G}Q4j}pc+(sPV-3D< zyZ0eC03FFjBh~A6zvr;qPyDn*!q|j$u-)(3Y_~kQyyW8Il6P<3(H{2P-QMxtx8G40 zHS3cVWod~7upVEQRHHv(MhFaTFRe`<@I^sCgej;wr92vdlk@^?He23ZU$bu-hL~_g zNmU;whw@s7hJ9q6n4& z)bV)47}?Fbwqv`!1(O*U&c z%MwE1=I)+N+c6}lXLFpDqEmn_5xfqMc6{qB{%|<_iwhuTnLgEZO1UoI%BitZ?}aIw3q#HW*+m+YSkyDBy2e>2+&YAYCTdza zvjdOJBrt>&xw^Swe>||=?b+_OWGsFzp_QxEn%Qj5yQ^z%Z*TQtIz2>XWKj+IYzn~j>%AwR&HEE&dSuIak zF6XRQr_}YF*=&Xtn&5k^VCO|1*N1`q@yKemkVT)e_%RxbwVF{}Rq|fCjv)j>j*@W@ z49Q!JlRU+n>ucJSS)HCDakQd>cD}$DcA}}FTn}$8zE{fEkG+P`UUWXEaGvFSPS-Y6 zWr4M_8bA5u6HZT0G1gJnb5_d}oGXY?P`S-+!`00VRaH4Z>P?Tgg}8O;Xt--TQNpy1I(Iqnc2f7|oO%8FHTU=T)7G7HCS+-;K)8MVe$Q++ zR@K!)J1+%j(pmEm1KA2p-?gm}O2l>J$6sT= zEsC59Q&rSe$;%hd8HS#3zWIi}kB~&>9i!|D^W}p5Zc8?>Z}z;odc)b-301YG4+H2n z{_^Du&Mz(|6^^r`!IH<>fpc{*S-= zJ8}x#-dxeQjmqWRgmM;T$y^DgCnqbsmt(Cg3iVz@$Se6llIESms7q+hnXVU9u^ogH z(e@ohHN!YZ(=?)ykV`E*$}G&G7{%%yFCC7rDk0_QI3FFSTQ91qXySA|W6JnxAoC+H zqnLKz_mpaev|KFkzToxiH>3o8H?Z3s@ZOP>g8bz2lKpN+=m#){{c*?5-8EHdg&)}U zWFpr$cYOM@Kj!JP=d?{bS*knl@P(gDo<}KD*Y|98I~md_Fp`i9&~zVld{PWNF^2;xI z_wJqU8iB>UmKN4pPF8DXGeHh#RmFO>W;Uy3r!0%f8%fA8Nfkrm&Co;>E2^ZFrS&zz z;9OMFZAmu_#3+`#&dG>a#v}%kjOJqy^9hV4rc71Om@k+3y2chFhjU)!V`O0%Stp@c z7^w}s*rWdV5)iL_>49Aq377MNI<;+wwPFm_bsfVX?%-wVIls8z_U@M3n_C9mir-yb zQ#p@+`UGQO=m*}seaqo+;Oy*_YBr~8T4EH_iBJS~aj)EXDPYEUSfgG87$bISDbZ@| ztW~qBs8%tfu=V8hgrEQX=ls=Q{W~r$FBtlP|LZ^hXa4zD|I9D{>o3`E_uSuY)FVko zuC>+{h4XkP5pE7i@~W#+qG%R#37J%4Xi-WsSdP+GPA(|Z+HC(ov9Y5SHT1`4Y-wg#|HoX7M7x2+r}<6l_gc>e4;FF$xm zS(JSK*>Cy3|LGrTnwBrV_?)+|-w;Bi@D>w>8ME1px~%XfQ#!|LKBp=k5W&D*zp{kz}sCx7y91gbTH)6W+*yZsL5 z4Wa4f-y2iKbb(r%fk=*04Wy7D1uTge66I{hVqSB1bH#uC#V^?H_V}{m^z@Y3Y{tp@ zgym{UQ?xY4hByS`5F`QhuLo$IlRxDu85hWMdd&m~MW^i6JHuhO@^fXgF<|I( zVliJ+&gTp%V+#?T7-Jxf=D+6QZjOu+6pyf$?RNXfDfIW&%KNVv<9mNQwn0M(3@VSZ z&T4xhs?^1DNm-TjMp!|+?FMTzbs_#jrIirHZ@&4KpZ(D_7pG@5hlBb9bu8v{Zf|c1 z{UCD)BR4>tx*bE`OzhnhqG0A(C}^3iffJ&~tLu7V@Qli*7z5UON?$Nj__*{1#>nyK z)o5b0tTQ0ti^Bk<$9h}=5` z%F2TcBpd05NM#Mi7L;{KIbUGQlE_$I>Ww!>8OslkavUD$ZH4nh@439Z6lKuk8!O-7 z_}9KtQqjmTkdsx{Y~dKXvS7Jh)3q(@<%$?O?(YvcBf}6opOc5k)y*yc{HtH{KmOIf zV|8*OkY|v5pV5h{aMBLesyj$g3YoxzfO1S3@lNuAGKurE3l_^Ih4E**PC_5;tPeGXchrD$R z$k!a32Io8p)Qd={+$K4-wG}Z)NEu(16m?B8pA!*qEu#h%N_zFqYqo*-6^>3WBMwn` zVR?Boa+CG-n5O)|(bt=r9)gQR6(j|us96)`=xR;I8OLI_2#`? z*>Z_13XFCr>UpT`#E*3+nkySTb1z zl~N>HWe{sU5+k+p_U7{?pMLsNe)`j&^6^I>VVvjY_Kq*V_=2WwlnRwq_7$e5cG4{< z4VuuifB&xuRwN@xwA(E`n+}f^V zh=WAjr^KMwPCSe)%`m{o{r3)ERg_hU)2LfP2gf5ms|zUFvwiHs%x4?czRezJ)a4Iqwgr|fdKu+#)!?FwVYpEFz=VFmMczAPgyQkym;}F)6-L&_cTq* z=1$yB@9yqpYgQ5GCEN$qepmhk_ z%6XDCxT+>(5tnpbCpTINtJ#j`l~#AMahNv9O;slJ*iCuwM`@U>oN4p_|F8qd5h7T2 zP(Q%Y*FR-T+jea3?$~VZv1H0>Mlpyl&*9ioS2G~dbv?JYcl_#Czm{`*Hpdqg-fJ|R znlC%8)QhTQKC5`Xdcnt^e9U6Lpzp(^4|w8uBK(I$VFe({#`2SoKjFoPA5kqAxO&EKKmU?1zxo|kmCwdn@h4DEqKEcf z9n#e8&6QiVWlk7_z+jC45?jHND1 zj;$1eqfv;NtvTO{uoZ0*({nRup1-xLmG8>o*L_vWeW@-g0$y#r^#~ZPU=U z%~Z%@Mu*Ncjar8xs1egc*rQS6&d#{?Gy#7l{=#PKcXQ z{f<#7*2+cR@AgQVWlhkLs`?rUaY328P1jLYH6MQP0nQ3wBRsdD@v@@mG1iI|j1l9; zzVF#?w`?{WZf|ed?|0L%MaHhEFq4UTJ^p`WACK075Ts`|j!w4}<JWq8_AN0zfWP2cm&U;mm9U%le_(`THVowM0(G0wb4 z!LnAY*^e5RZcLtZ0$tZlJCp2ABD^rpOfz_?ptBw)3Sz~iRPZs8OX?5#3|7;|(72c+ zGYaE~K~TRzarjOp<{^mNmvHwIZQH4fnd$@-Y3v7SGclGvsN5@OjCKxv->JD(OI=kg z=5rYn>*9`4IR;h=OskG8)>+!ak-M84_WM0|n|u1MP=?dZvMB+5f-> zFg@jC7{Yk5va)w$OdLX^Z%QIqQkLL{*Uw($1!@}&TYQt8K_JFefn z<#;?Y^gVqLVeH9r^@n$WKXe30RJ)8~0kTPxYlT$Xa@NNrNg62yX0zD@f?$kz-xunU zqioliq#C84MfL$5o7#d|e&(#2`@ z{HCw)lz2k zD;)U=&O7=ZF?u#Ck{Je^%QUUHo901a<>t_^TqWWVi9=v9o6Bq>GZ9TC0X5)_P{ZH7 zdCTkXzGJu95xS1l4|KioDT-1@*;R#mIu(Hvq#-wy{0A4nv`BQJjH}&%V)0T_jIe{z zPM}eSu>>cG;4?+>;EO5Zw0jU`iwHHIy?9PlR}7(7|C}UvwuU`~80foR2SY*!lQU2R zC}mkNQ*nlIB3La{pplgwGupjbD~=+gRoue@a$rTh9AYG?WUbRgl3wTTLkP58D+}Kk zd?^K_7-9=-9yM{L9|p-cQqs#9_0qLHDVr(Y#i{SXY&Pe^k3Z(c%a^=<^M>92K;b3N zz!f6mxw*dK-Me?(-rNxTf%bTmoiz+9$Yt_FS}&LX?F(SU>dm9@J7L+bS2V{1yZw$Z1kD~0Q|nW5A5R`Bj27Kw6FT@LAxn7A+0*3X;iI8T7z~+9#_0<)xU%#e3 z9;wQL=g*!}7M{>a24UBAQ}H{iYL@f)!x3QqK+E^9d5zPuhmJyhb_;Q|%u%LtvwB86 zIpO~PUKBTK@8X;znKV6>A@&^G$nE_NxA(U!mo;8F{l+L|Jq{0*d`==)3y)GpiUQ|q zF^$f`9f(o#XA39O%$PIjaG3Cmae@|7#NxzNK(~5Qe2C8Lhl%qqbBcmQrVqW4J)9tW zAx20EYa}o#W|6#wsNooS^d2-EyIvm{IeIdJOO&&k5ZkBF9>x_TT~(s>%*Pg#gE%a8Z*u^riaH}_u&3y=Nv$cSy4MhzAU#E42W@{;7{%;$3shoiPbmJ~X` zFq_Zlx?!5IRb|C~f8hG|mi2PZY`Nsvw)80qJexCF3BrZK5spGE?z!@O= zJ!6RKGhmD?|FM<=)PJZ0YuN2}lYFhc={U9>UEe7*ZD`ttpMLr&m**Gag5EUJdUg%- z*^E~oeZXQh=d<7ZmTbhv&pmnm@~`FTeg94y^{{{cuYbQae4k5@C*{dFZIf-%Oojz{ zbWy~x-|xi|#Yk}_=$>Z`S{w~2!w^U&vsf)jIdi|c7XZdcvDk-!E(DrEItb^5hj(m_ zbls5{2Kv5}&_#uTo%K_jXq_wov5XO8YKzdij84zSLf06pR(fh7YsC{etJ1fwD>a*X zn7u#vG5>(1mBoQ{R6hypN;{DWzp&~LAYDS&^|W0}*SAyXcF>fQ^RrWa`st@M&5`Tt zD-rUlORDptT)H?r=luMfloH40i2oOF{{OF+LXg^X#~5jjjliAW5i`<5J1=cc&TO|^ z;=E?Dm{FD$tJRvE;p*L6HEWE-9L4MY@Pzep$@=_)ZV2p;d&1Du=R}{Sx^9{yO{+4n zoF=~>JK_OWZp4TqIGj-0(pajFu4&U)MC*rfhs=x#E8`88*c<<#1LP67q&0$m>-6>G z<&tb6m8oH*omN^IPW%O(wbH*UC4L+=$0(rGezT*hYhJu~K~9O?W}`t};_Fyd_4M9{ zq37w-OU_PD`OR;Bga5so|M(IAkuKne^MM~*D#kjj6|g15gmoFK!cKA`XDOzNqM|GZ zhA1S*jN{_+nUE|pG{>Vbf@5a4JMj5upR-)dNg;7}zoBUx;xI6@EebD!iPJ7*u!!Ha z!DLm+j@GV5g{O~9F+tA%ki@bsgkf9?SSzTV6oty^*QeBIg+D&A!HB!xI0s4k})d0kb+!U(})+7b)pdv z1MfNK=Vw0vf*$w{KYIU1!okB|y#Gbwf^9S@tRQgRXRoFs z<}Dw@#Q*vq{sSRI{^_6oiO)X!Oge_X=dj-sLm>5oJQZ;u4UrrJh4Z*-CUfzzls8O$ z^fb8A5BVPAnIBemHkl!VB{NJn%up9HdoW4FpeYBvp|T(nx>LkRKw2WJR56%UJ*lNv)M9e;cb++nMPL-gqMge z{Hm@VEdcX}k-vZ4OP@5oFk-AMlq;h*WkTGXRSten%CKIoc>44imlu~T7Auyk1vfW0 z{OVV~WWV3j_YK}j@iw%r_z)IKs0{s}+%$xkSXf`9mje`L3pl&j7R zxN=z&It`2$AM}WkV%203Pz*81zzQbhB^jOnCrv3+5Gw;Xk8_5qs4)f>ixptlAC8QA zzsIq6qPLTuS9q^md&Xs{D`eUzPH1wCbRqQlfwiOC^)L*=wlV^z=lC#{jWJFRYV-L5 zXT|jK<;xdzT}RscXxNBl&R~PRR3O7 zO-9{8q!1VT8{sAzj0GR`Y#A591B=8x+OkGP&WP-f+nOQd_iwnh?=O_Bg8-v#2nLCW zvxes%zTnB_6V~gsm`Qy9S^}NghB4f+Sj>3tpVICd4%Xq9vW>UW$=VGEZ0kXp^-U8 ztn5a|bIC}E6u!id_0oF)5bxi_@lPZFFHiq9|KMXKMknm)W#j^jmtHj)GoGKFvOZZe zt7q&F2VTE@&E4HSIU8p4g;J@->=|pYSqKGz0j3~)gR(C9$)`W%gO@Ml-?o{uuE<$zeT63|AeZ+Zqp>;TpHon3ycGj%>1vGu z?4$es*g!HrLIrij{IDO??|InrHNO|gT99O$S)Z->=%bH#_39OOcXwR9d&hU*e@D)+ zUac91Fo_$iF(S;YYZ`NqhZiHG+(EeaWWnvnohIm%&a2|4DCB)c^~Oo5f3Lfd5U4yo z8CgG`9mOl|A!j$Hh)XKvdQ{*|^7`qQ{BWIkSd`=L`cM?=Ra43Ks3AxxQq?u1Ay>)~ zg48;mf+tU(^6{siKum158$wEyb*aiMqqT|PAY>7sSm$t7)W}&aioN&zKi{%=1G=WZ QbpQYW07*qoM6N<$f?YF^7SoNf%hHOSgbXaT8S~@ zjHTp^_Z|w=3Y0>v73&N-SG3VsrCEtWzz9O=F0`h3GDA3f*#@|5fI4No3jbGlhW zo;lg9h%r%1!6>MuV4WuCOsSPz3bj<05QwGl@UTN+*zP9^hTHplmSrL5OiYCsBR6;V zpfvkwVGfa8GC5^(spMLzwNl!-=VCb=6)3gJ&kB?V1%N_pgVq+U3>l5J7VACxdE(98 zJ^$Yi{+c-kFq&E`l}go`QVZ5PYAt9jzZ+LQ-gh`>(N+VXwMMCSUjbt@ps4NsTWiP} zRD03kJX1>iDu+Ekzd&ovG%e%=^L`?cS*C>;Gt)FNcuz`6K7>k&5#t=rSZd0wRwI2s z@b>l&=N%~|dhekWytgP|)jKwW;pz1mk1x-;I2n2I{1KO@r<|R1oSm+?xY)27durB{ z9I!?%*f~qhiCQZuX+X2gK`t~FQYnmGM~E3sCFh7kQI%n-8EX_v$XKIULIes*RkSf4fVSRLKr4+hZGn^l6s5}h8&fG|!8*H{g$T>ITP#7Z{Bj*f&bM99+fUB!3 za?Y&A!mC#|yuNuum?M-*$%Ve}IXM~G@ArfdsI{V%LW_BVfw3FNsnYw7lmeZz=o&G` zF*>-uIODsYe#|G&AMtA+f6UeChV|e$S@o=jk(1MbTxa^;G{xGL(YR8m}$R7^05UdR$UjaP{6Qx1XDB$d0Fq zS3CYEg=(f!t1Ob%8Yom{Kr3`r^j`D$@`C+tA}*0aAy;{?TxGG0F@$9Sr3gxsYr*$U zuIFHkZP$ypkH8&1~)UGM0}4s8o#H=qra zoLTh)VG1~BiD98q31LAiD{i!1urU^G3MpnN6>lvQ3Z)F>8Ee31MJfq$hFXuVvev`u z8mu#YhtX3n&n4>``r6@&0TP+o1%+U*!<_SJD za>X|tcA6&UDR6tUWxJgysi2iYX^pjxlp+rg55yS7<}18Gt26$SKmBL?(?9rKo?Kn9eS1TVfz4)vaRomphM`AU1*%d4l#ozXVTuB8$hi_@ zrXsu0Sc7Rhz#2^ja!TZoan67?OuHR57jleX3>8T21{tFvW|Wd}k_sqo2r*EboB!t9 z)o$o}zjV$~E5x{9+#umWL(ZAL@5wpw?8y`6W#NmLuL(6t7}1(#Sx`!$wQ7rw$ca)U zzQ>p-^~0M`at0-FR2wZuqhwL6wWR#s{(o=v4?mYuKuKJ-od>1RszNT*TyV}Y^gZ4? zrj#fxpYqlLvda|;tu%27Y)hf*d#tzOQEH{6LmfE#rsY^TpOM}dCG79=5JxmhaYh8o&|A(&R9$f0dZM4->muQ(KY|# z`+vxv{NeBL$&c=P~fwA9{^J4H57JBJ=U`w~#SCo6E{fbTnMt#sZ| zOD4<<)>sbPwR0T`g>?>REi{*?TE_0YM{7l?m0HR%erv7KMq{jm7U$gu3w$u{U%avJ zJVZ+3RkSjcQp5vLvBsda#(R%Zn#b3VxV*T;pfF04+oHekYYzFuyUitG;^1{{JI|al z(=-Fn_Z`NVmQ3nnPVlQ9_U!D89HADALUVgNlT)HJ>)LL&a&w$JW|@b>IfvI4m7(T> zs+G;qv*{cc>w(c}Mq8+H##u!r;#Zzx4YqSArzsBTq~xll5~dmJJs~Big_>m-<|47s z8b|dSV+zw8NK0n7+mUmowpi+{VHiA0t=LTq_uDO%f_Dz*97{+axN%A1D!IfD;-}Jz zl;363RaOaVre+03QJecMMRq!+09BGX*Rw1W##p@fc;_T6%##>o$;WV0ltLdoN|o4d zj6tEr1QjiO8L38UIaUzPDe;KMszx1+pyXek9NI^Z9JXaox$qYf#Qm zsN`Jee2>bYVx^{;YNY&wN-mk2DNZ* z6^znojb!Asg!dbQetoYxIK1-RzbaHo{&Fsql2K}42?1kmOAI64dn%gIdmcS{#QlC^ zzs$#7u9QMIZ{@V?;zMFL&kMsKpJ}b&0a|HF!$NjDsm!#t?@B_gk0Jd1Gyk@%#-@}h zS#D~~iBc=dXmTl7*MN#@$judLtp$`Z7F9Ksina!;HJx?z8aAEd<0n^KUz~Dzd4lgO zrZ=Dz#yPSAWeuuUC>&3ol*uWfLdGeB@{*v{n9vGr=ZQp|vfSNo0flvjWsU&!y=Ph$ z<`^(q(RZHE;<>d}jILIcR;WX^*LGYfm0I2bDeo-c!+&ZdX%kF9Ty_XaZh9>^;~H3` zaMnv=n=1;%IE;+ri1)r#7%fICMOEO9)bF}s5Vh1J{!$7Ut*E7 zP$?Y^;Jvc-7YraQkrWH_ej?0^#7L#YGEpewNV#B?K9(T`MM)WBKpRa}6{RZPY0fr1 z-~T7S%Wr)4jLYj&Hm584%?Q3w6l6mKQN*BfEiG1y+bSueYbJ$4Es2^kIY)fgGw=3T zV~H{0oFS!!5DLz9q?CwZK{At!wU!VfMjQIxusrPOx}KOSsl=9jL&`0Krh=*{Dpe`D zY0WBB&=wwWk;$C zIZ<+AnkQlmlq9vg){>!jT`vox6txt5=WxzYYnGU3_3>xLJ9sq5gtb;YhPC2KP20(c z0U9G^WoghXMcjHV8ASuXlxksCYVefv(TyLHFNL`FWfA;hnxxJzMF6Gs*faW$&Us8b zKiw*TQVXhWv|440@bX|x^VOQZG#of(S@X( z8NH{J3}_7E0j#xHt+7U<8$N1{;p}w7qw5PUuFg4K^_-oa;5v)$44H^&i&aX+I7_LL z*g2!o6-hiBzYxPh%mq~oIVVca4Bf!I%vfcy#TWc1-bTKmx#sTZM`>jzq;7LjqI-j#Tq_)>^^x(Nda~LX3eJ6UJD{2WA1zlmhQM zhGC?VWtW!1dbMITjJ&XK+}LBqcvJ7Hmenv=V$bt=j>#I zK~X8h9FHHEa~7A^kU3|JWVxkMbERehf+&?37jg>69UI~-F0y7)NoX{ka~PwDIW#XI zi{zZe7%f)r1VSx2;aVxB#N&&nXgQr$3TGTndsI<4W9WT{){1`U@V!SH@pk2y{ev;$ zU2@KZWg*5$2!R+Q(>$@n1=Er^qcua{OZbZkjlw&Rw@wmBV=-2Mo(jhjFXv1Q@tENs zU8dn?BvS~>GHL%Q!BvrYxeb_SXCrYlQSlMoO6e`9V zy53W(AZ{^)BU$2{LtBUSj`e1Z?>zm`GYkVLu-0I$!&^s*32zNnDV#Pq>x4|QhR$`= zoavmW<}4^_tK*$2|{vg5s2 zyM#sPRvIj-q!e`4VYNZGg;xlK+Pe;N#CwfXg_W}{lg*?!Q%j`QOfG_g)ttq>mP(DX z+f9MGBy7>>qR>U*lx6S(sv3;)fW!F>+K!~6!B}F2B_+Ck0A-+A+@y zMrrz9=;C~!=|4yezm5b-z9XCVLu0WI5BJP1&cDx!zJC~{C5t~~?^Vhm=Ul_VE5^Xd z*mJg7kxL{dO;tt2BI}Woq9i1xN@lIhQ8-d!MpcEXnrWHIxuUeiSWSu=qbs19=UM(= zt;|bgKTmk)QOe+b*9a?#(IF)%2umjBg0Y^yA4z4x8bc*ha>ZE3vV>!Z^Ul$AoD8$W^j_MP;6YB$9bc)s~Fr>iUZD?*^8* zh0^d3ZOFQ!C~VF~O3uU*5Tg0O4klsziX?sqG0C@QdSXCI32goK6}CBLDix*lF~-+& zz@1y|tKK7m8jUI0F{DyZUg9wn$OS{iDNPJB+PPzmZ?vFTs+CzaWpswPUzm3@DMgk! zGS7h&GHD6qEJ;?(!Uo1vP}&fa!nvOPenFc`Omcp%F>y9un zBAP@>nXa?sT%}w~8RZM((BnJzfl8<}I2xm=S#G+vhMFQVM$XPox!($SJ1;Y6L#m2e zBhDDWG3_2&cwKXTcFyhHUBd$O5$CT}G0hXs8M@lZ=afu};we%rlq^7$F_QP>_^uL= zwJW4nB`K|?9M1U{yn|JZeE5})R_jV$pvXnaG?Nu^T9{+y_U;Z!ro@Sw3)X9DNK`bn zXbcr0sSe&YWAo@tr@O;{55Z|^Zmc={zIViJ@x=0ZV#0K3GPseB;X*R znY9{nCC1u3iEs$kT5?VwBdkAM^Q_lvPEJmUb0X(}Ml%mWR=yXF?AMa zJ7UUcrSK_ob9*b$vnn`e$vKMGiIIxnA|Vw*j8vsTSA1vj-m)x_?RL*J2X@pb@lTdeb>syNx4a(Z^g$1h&+gCG6~r3FtpRA0Gdv^Jcaouag6UKW&+QrEhU zWtu3~9oG(x@Fguw0LLA#wIRPpYUTF`A}bj9f#Ur(#8^tdk}KX@hM^NyZ4OWii9)Di zSvhB>{lv*hPc9j!JKo;E1*6a*3FnO>Es=-YJ$JX;hAs+pyUc-93ME097y4m^A3RUa zF4;{xoE_P{eZZ(pijm!JYU-fGb{}xvs);l-)3RV~$96Xpb0sE`WO?5U;}$ae{e<<7 zIR>;bgphFFW1XcKO-+d@EQBZ^Q;3l{2Ks(Q*Nvj*E0A;L?(SX;V82Hxg=^XXD5RX4 zwy#P_SYRAS&MwZ`oUGYyx2SAbim-a~vM}^L0KT11jFFUzl)QY%^l77y25@lbIp-!C zP4AM)s(3#Nm~qwr*=|3fm4F$NFo+q%5RdeuYTlviIa_bbpA2aj{SZjrNR=UEL>Pn2-?~AgYW=NNo$tJCxrh|bHryqbA{c{`GO^Th1cY)Hte}?K^a=tmqaZaj zQ8m;{YYCxBD{RRXqYd8xDa%E`(fv~)#DvzCnq^1WBCpd*G4um{KVYq87<|Lj6*Xqa z8C_cFK=Jl=i?$<6NbE!5&FwwY6q%NQ){cFc$@>|UVOm}@j&B*po{O^!oF7GnV&Ki&du%r{qDVzl&Bi$P(~c!%l#ZO8ogM4!B?N5e*-v|hVdTx58)~h1 z*Rh``mLTUeErFP_5J0N3odN~T{rx>L3hisHB_qb9fE1$C_C;iD2U)mj67gkOh;QC- zd40vBt7|_0{PTvwHr`)LY!Ayq-*t4(vD1PaZq^%i`yDyu7N+Y5+LZ&VsMUMb+Iz>r zdsuC(WTD^S{DnYiM{^y>Kg(!N9ML3)yyBR??HTG!y+!`Lm}az z{8Jx1XRTah2x0)P5l4q)aOiv1>kT0a^lK2XWxo#?ZCK{a>sPP&w}1Kn@_+u{f63iG zGAFp-P3-1KObJwG99M_x70?u*9|oLO^y3QaJe$?X*~y9*FJAEc`ExEFeS~r=e)OXs zvVU{OXG`Yn;t`*J`4y#P5lZBYQJQ6m6eg_mXzN(!i5N4oDGVWl3W>M(JMJF#EU7Rr ziD`~3DKjk-O9+$$&W^(8%rNxrUK|!)GVM}DtYS@*jTy<_Q;LkM{s_#UpPljc?yV3` z4JMbJEJonF4y)xoj8=?8kI~}k)Hg}jj%W7`&o&*QjWLPr>3uj+eP|`MN<%|G^el4_ z;HC2z1xCy3df!o6SdjQ4&}hz)utes0;{JZ(hd=%qfAyoEGG~M92XZR7V(Cn#gg^nd zStQx2HE_&JpbJ9D_H)H|p1b{?S9iDE%?n@L+;VY#hBJn4wPt&N&riR6#UFj|x9P_f zZ{NOc@1-zk!4YC6=LXQUM0lD4OUz6mazD@f{PhhFyNSEq%n}kIWtI@dn*b%(BiyUB z0T#5@jj=SMQY!Djmx6Tjm`a0ry-3}bf;NWrYTX2-8muIBrB)%9Qo?nT3=W+b+AwtF z6oni4d&HmLcG#HW-}@pFPiSI@jq?_s+B$objFqx5^akf?7j8%-mU&@WGTZIKn>P>q z)eruTyX`{JjwNP7uFNShr%cfnw3SLC2DB25UqVC5SY-(h6Lt{~1r#Z{D&G3$YYlKip9& ze06inZd%w)3o%t8YHB4n(MVB>T17aMlPs3iMgX*?5jgf2HI>g2BAqtu_j@Xpv0q`m z7kz_s(p;09(I|z{O#fF_YeSC%r%&0Rthkrevbsyo@D3wet z3DsnDx$!EwzGEn3DpH9pGs7?l%UTO1M`DEY^E1v)Pub5CN^4XVu0$zCjDh_$F%E-t zIyon-tate22;o=n1^Cba4#LRy;{8$Yekd4Ag2TltgHnZ3mFV+~p&J}2is16$e#>;a zMk^p2YKh#uec<-(p4YecBAIdy<9pU_U^@qjO7yE0)BOX+d!|_!$|)>DQX$NjKG3J= zCjD02Z})iTgrP(cLLr2i%ae0{_~V}tQU>jq}G5$jhz!*dMdZ)zK4&9PHW5xAr zWsfCdt%aB})obqV?kSHiaJFlr2@z+!xq0A=FJIG-E8-Ne)lvv7DU(`f?sm6jj*)4Z zP)f7JnUoT#u~?tLLdKLmT;uReb*sU@JcM1L*nJEWi^hR zY&N8nxqJJTB?jt2aMOq*+eEQSE6y*@d3E!e>1H}o?;!?kb>tW^eNWM#tp%e|#^5?n zit|6t0BX(08vk&V#%nw4q+P1ymeC$At_pQ)%scp4!?XnE5QN)~g{&&CU*GVv&tI~n zg6~IkfZMyR(7M|_b4=VmY?(qN=1Rz!T$|o5mnJ)xj8$7B^s7=rV4)zDMoLMe#dbfD zW29u*Jv?xJvO#N67wx8rkGr0EUU+!8C+5m-n)u@9KW9#v{Svv~ZdsN{D6)$ynp6bg zbgs2{mxA-YX$bUDOJS(&b~||vj>@1?3eTTEr}Lhl{rn60T}tfsJIqR>y<@xGa&~sc zY8-j?>>00KzitGQFt0I2j1}2gN6%)x#yQ6;ATHq_wfM~dYRdt>rM(D*07>GijCNAq zDUGRz#t2PF39XH&aZ@7K!gl+>?d=^}X`Fv2ZQAb_?(TN%m&h(G#8OE`nj=yX6>N%8 z6ho~cR2fZ7Q4}zTmh9FDQmZ1Cg0of>wY6~fuoJCZO&FsnDUxGAX~S-}XZx^4S)qPY z3vDScR3*^vflN`y1k5zJTsPrN!n>Yv99iZW>l`5joDuBgK+vR|2r*Jh=Is2OB}QJ~ zylRadwh2lFjI-9z4Fe~e6FT2X`FPMRB6-K5=iu=E)=DCt_y#2JS1|x%93f0--P)3% z!KI?;5e}d<6|kbD(zF*1NKgu0GpnKJ@%1H-t}f`kC5FU)d(Xqe4$$NT57Uk}w-4Mu z?0DGiSyEz|_oR}U=Y?Dyxj~?{YT@ilY}x_Y;mSfON$~8dp{Z%5M_!R?reuS6nSDqY zW9Yo5#)Q{~&CnA%hrPU@pxN#xY*9SSGs+lI_f*8gp$JQ$vyRe+XH+t^4aE2tfAS}s zoSgE1{Q18j=R|KEvuQ3qXS{c$_Ve5Od-|>eRq)O>uHaxS0F@9Io}WGC+2d=z_~}ph z{O4a1wcHQe!f*@$YwfW;ToOUg5`OtSfCJ?H3kD!>B;vt?%c=Pw{A{x7a^TWiGsp3$ zZGeNpXv690DXX<8XpGf_FtZw0%poytXF`a?B$zgIl+?>yiAjqfne6}sz<001BWNkl*KT2V&A;#wB(Rk~yKxZu{L(h}5HUH&*_8;^3;uK0? znP=`FcH{~b!xSQKZr}37SFhMFf$g-2%g-6>9sMxieGghXXmTxd-b=HklH}8S(e&q% zkMyZ(q6}?K>x30=AT41AQ!6zF&Q?AD>3{U6{P92iLq2-;m}$QgyX;e*t!6hQ<#@6l++ zt{2y@nkV;t17F`ae21Ed8tiP&dp$?b10WgEQyMUDGyUM zPESu*jU&ctXga$PXRMaa9F1rdy?0UqRgrvaqfiE%cM=C1Ybjm9`dG>u1*127^86{+ z=O=hw(Iixfc&8b9&&9Oqez&7< z5O9g=7)p%AL)jE4PN}jsTi#2FDnUbOFJB+r3IbfSUu(OVu7cMVP_~g^) zoSv?+Cb3Ji^!_Q#Zr|QgN@25EGgLz=@b>O4`&l}IzxO-e}uU@~F zMu?(YAD&qKvPkxxQpRYRvLRhNGW@|>D|)tC>AgcM7zfXP_=n%)d%yJ^O579Yt+bkX zL&_Gk;%>X=(-$9ca(c?EH@A4zalf5eN+Kw@ogYwE3n50~tFK;icYDi^{`#*40@hj< z+gowht+!GsWR6nnInYfS@11+saxcFGWOl(k&yeey}`OE3a7iDHHr0x5RX zTsYZmSi-{Xo4085PS*FU9$EyF1!DwSwN8^$#OT_{3&}4J8RtQJUt1fOw}$oDae01< zHPW5xoW*%hRZ7q=6xMhQnxXTo#u0$+_JO^gg8%AY{VRU&_kJI$O#6^f6nMD1 zXPIY-uj9yOy*Um+a*febP3y0<)ZU%*bk4I`t@!x)Gp;Vrh|8YdS)}K9(m_WrE=^_>ovv40oS*P(pM1=!cdW;r7tbGaeR0m? zC)Zp*zUJTl<-g-^fATpTxU^E}I!lQK?RvDgR9)HKFKA;)C1Z`H7R_NUfKp1DLz;1D zBlLBQ31bDq)%u-`&gwSxqhx&7iQLYJ)D9}XbMk!a>iNCzeUI=Lf5FY$w<65Z8ta^h zLfpH77Kf_fA8Y{s&A(rfhElR z{HK3I=alFO7J*@Nk^U{|;g?**c^Ot=jiI!gpp=wpgZK2-;+$bMxHgqUbGjM1zPdP0 z8F~8Xn)$omVVM@be076WKuLJ3rO&`Qx>0lnufMuyN(p1laR9`jen0354n37A6>3$& zk^;V+-?6V#Ht=w@SDH(8Q*#F zv9yP2MdvN+e#BYB+36{tefAljeflw%7w4$fXKfHRhH z7_i3TtZlL|BjK*3#u=ESM>AUEjK&$bzBu92kDk(dN!E3HEMei$xuuP!@1%=ceQV11 z&Cly@Fr++jdOo5}CdQew^HVObE=4C`kfBMfJzOi*nkp-O=NWp(+3A{b)uBu!=X7j@ z)D`KpO+qFuOOPJKS{QmSL#RTcOE46Lu7&Z?Q&m)0xug~hlAU{P zuz=MCuQH?2oOF)!^@{b_v04qF#6W%Li81l^<_)SOPBtT(RnO3OSR++W=RGACfo7jR z=E;+5Hlw_z^Ik9!rN~Wzs}O?7c_$gZwKB8FIne+f`YG!>iCu-`Y#-n_3QihYr9;|V z%aiNt)-|QbF&!s_#D*}|3aj;+7(*-N$~Qc|#Q;hTCypfXcWaW8sb;fr- zdCs%P*SvV~oF^YWMRgX{S+WA{Eini7lT-z(VL+FHE``+K@lrETI5|Jzv(H}eonQZq z$B(ZWRwKUm7$=Kd0plFXNSCy8j;`xkf59LXlreOjZ;h$afnCc1VYRI+R?Sc>R0$u` zwCD6>!^QcTK-=%3f+;0lzI@4>H*fg(H|t_Tho6N0)ftF^p@veq`Ae z&d*Qiz2V_ukE({8%Ms@;rC<)DV2#GAg4K|VcnW7VHAOn3Aq%eGbsgS$#&N~%{aaFu z-0!!bDuhT#iBFz?%om@3MX4e?`|9?AQWDl4x@ID(N~f+tp{+)ywPe=)h*5>XDmJ6% zWVD>DdLBQ%W;|J=yr<}l@s1cHy<4-nIAgyo=&V`p_tGtkZk;>|?=&UO7-JZ%;rwLP zVzyzwpU8PSDt3=kRjj3y)OOvW#IB?)Jpxt>v~HbkZRHZqL_KU8^D50Pr3moW^`5iS zQ$BzBTIMQ5Q2>_&^E|VJfKxJ&?10|>s)zZ{|BHYAXT#W`3|wAb^MfD!ki395p1$k( z@!$List`G~RGc<+&eB`M$B(c1RIa5<5M|kz+EAF=w+BiOX@hLz2 zn;)aBpj=8Re)iM9x7|tayzfv-(Rpc=?m9sRb<5hlHLO3TtB&FeRfLGis~%dJG3>J&U1Qs$!Zv+qb(zv z`zT`1kTcc_mVlOFm@@6F!#U453}|C1S@3vk4BojW(|#w{mi(u17_qC6b~U9%K8 zs;9+qXD!}Y^iiOr$+@yxpK|;5p1b>d0e*}oro?{QOCw24$F3hCw|+HOV25$Q7|r(K zfu~O|SeC%FFVv)D_lyJgcR{*&+6Yyx!8yz6dd07O@&{uWn`?XX@eYk=Xw0> z5xaTf;r@m{`s43Y3e5Aw+qXBoeEB6g9U3SdahkY1-B7FIW{%V%lfP0Dn%N+@iPm6L z#_P&34xFq!gR?w+bjJB+&3AwOGaf&=rs~!`WHrWH89G71Dvec&@#KtQ8(7Ve^?HS~ zx5p+5MTIJrkJUyR50zzz(x0fbVeSXE+btl1nUoUm%kyHC9N`e>MLw6P`7k9=rimFN za|aZVVj@{lOUa15%E`%wk3V|Om#a{=PN6{*pe?Z!!R_G@pO|bDlka z$~*<;Y2oedmK-amr)OMUU9x|8dC&>BL5l#HvGgt>qFJ1_wZ2|8v2C8mziO{mcy`#>7%g5K;-)~uO*7RL3 zbBBt+(9T+_(WE35fL1ctp|h5#M6uL&owSQJphrT$hsRNQ1#P~9J+74Zk~|(p>>ol( z&Y3w%wx3eq^6G-2>&d0ac={A2mr#mS#UNzo|LPWCzxd({?zcA#tB%d)9Ah>2_ggfM zz6)HOU-9D~ejy~u;e?&TX+!TEL+^yA_Jd5Y0*osdUpT+IAa zGU!Y$`V4rXiI4`2)=Fr-|m**$?_yQ6#aqsJxfgZzQY@CP(?p@NM5N8XZRHiz&Xceb1K|=)eQZLhld?Qx8m-8%jxNPo6u=RZl#pW?ddd1 zwZV+ufzd>=G$9&AHPY+vT*uRAABlLBN>Ov0KwhXRp);7OF=$E&bY4TqYF%}OP;$g*Mc^=-w@AlsQ!O88a_QEst!$NrJ=FH18Enlps=4Zh zrdn-Kt#!;<*Kh{Kw4dnuo-hYWtt`t-?>)QyB!V0ip&o`(sUtG^4{!k3uJc@6ose@N z#=zO>8B3UnF|pl0V4Pudx+YA4TIHe-3CikZq#K+hF|NaULsWaT1E(D)r{@?H!xDLO z^OjO%{E9|^CGQ+Nrgq}8OPn@j5@^Ngx)WrvB*Q|T- zNX|$O5~&m=?QCw4PGytd^R&pc zFa%?vLD1SNVfqe2StY#z+8R=k`9DhOudnwn8o)3NXroRxH%lu|L?llBWG7tYSlDJe0oM9A^#&1v7G)8<}zy zW1#q+nuRt#IX}gB9i@s|2BmR>=I(CCU}VTq3YpDjB&0Rr)hz1WDi{JeQ&J)((bGwd z-bq4fS_f=9S($+=KuB*5r|T7;ym-!f9N4US=4ppN)Xx=iSV#&6@5DtbO{#^QB33&x zg5IGuRVT)iH5XTBJb(I>IVL`T`3g6TXsvMC(m5GcVYOvH1(rE9U0;;R9!QTwZ9M~> zml5~Q$jk$yEwsU!rR3uP>7ke5Q#3t5Ze?6X67C|Jc0I`S<^hSFc_*wbC!o1?;q67)DPiQtO^QKj9Dl;CK1I_J2W)fq9wOtXI78 zj+_FfB_6ccXRSkNEj2NqjYE0M=KP$W{_t-(U-xWQYm^#5ol|S!Bt-6R?odTb`*uo9 zbC8;PHDHV*rqHNl-Nw>`QNkzmo#*P}jMMeVqpNdz@5phXq)4>}a-q|fWtq{&5+1f- z4Yrf|*%+B(mP@53arH6Fq*K*s@ZNP;E#Dnbt0C9+ojj!wmq-eti`Y%m5x>`3sC4h- zi#B4C0Ta-^*QX@O-gBF`P|A@fIS6wO^6*-!l!dJ{Jcvk~x0sd)Z_dv7>^Hu{92Wk6 z;@+%Bk}OTnd(L8un=cU=5xI3$byam$_iWt|W}3qWA(0x26d{t3M1Ud%LeK>TK^MA` z{z3l(trP_a5CMVUC3P!-ATPubDGq14o6|kL)RL81xySDAW^T)|bB->)V;)h})ipf= z2zeo@GO{uw!p)AI<@?_Ec^L!u?%rj-Sb$di%YXU%(mVNMB>z_HjK$&*H?}CFxL#lJ z&O2|gTi1O0=@YIlBkE4h6D`LvYcxu0X^lpOiKK=|#3-9otQxaeaPsgz>zB`Io0ipT z#e7~dILFZScZ}memM&J7TMkxBs+lx+4wn_H z#T=s|SLf$+T}xGobEa9Z1t>8q@hGxcNjb03MaCEdr)f_I6^aTDYuay8jQiBm{sJ7+B@36B~_k8_Tq zEU>xV`xdp)s37I|F#6P!(X6kp`NJRlE3`E%syR*5aPQtdzW(*E^TQwhknQ%5xBc1e zc0)h3{O&*dzxbVh=XWUbmc??;ul(x!!o-P&weC1PzQe`qQ-UAq-9VPN&4YPpRe$w6!b`4|w?In`yRE zLfO!g6r#0Z9G&zxvW&yS6>Zy-Swr1-C@WYO=RIBD(+>l~FoF_sYG&=;HfF71@B@Pz z_WHn(+(iT}qE{tC+#;7f!6XBdS;6lcOl46rfx3d98a*)yKp_%|%9EGnK1`zPJBp%6 zl$3Dm==sG*1KW2!M@I)79Uc)zMc?&o)|V_7OP0$y^J>ZEb%!lVw6%$B307&U#az~@ zbWurDl|nX4$_J=seD(eJdHM7yKmN&2QNSAy9&jgV-?w!~-}m%g$E?U{ni>-9d09zq zyDUqVt0hKTj*st3N`{uQ=VrT=vpAZ(EHT!yts9=bc+PsWVQ`Lj-+PzUYC&O5;u>TG zBg>Z3vM;bUBRa8*Sp!9G$uol*I+@B%wr@|1C{;5$PxMd}g{XtHA*)IVqwJNEJ6b6v z$Qdu7$h;6I^)Li%f=|X|C0j0+fVhXVJZE&WAILL{+L880Swh()(nvz{Ob~8s?Y@|_ zuWC-{^Un`}XD^;{|KSP0`J3NHDd|-gMMl$XIX}OkZg$ko4r47oLT)UWy!F*LIk|U_YF0w< zL_eU6MUkO~5tS*N4`j1KnpVj(*!Qh0JytU-E3VEj(Y8P-lNbq77B@!n4>Ss8?S8Xb z6eZW|HAFBbOOy{M8^)AEl4tq;c1$-)sgzI>rPLmh!e|o1mPH|WSuaF%l-%r~Zh%nU zdr*ozFK+4reDTc(urFS|;J3}UrA?X5@MDK_LEuXfn!2HBYUXo+HuxBE<3Jd-giQ91 zFgT*oFv}tMJqX&zh#Dg*#=Ugwt#{t$-pL7{KKg{y*JrHPFL9$6BB#>inV~E)s%pk! zQAx$mX8S5z*Z26*Q8zVp-Ru+2?w*`*c(|nNTAn|DPFWOu{r&eb*6!tE-EN01h5xIJ z#Udw{-SwKx-XP*tLdXjM%41C~i6hASn9WK7QKsh3r027FIugrCaF2VDo1A3lh2HB1 z<)+EQvRGtE^f`GOL|-_LBKsBqm(&2PF^n+?Z(tlT`AwYOgseB_m*WNK7$s^gMB&@T z7&%zo!AHg5JptLFYLm|4#*&vMS}Xi0_)|ttrVtvaQVd-yWU3GdhzP^vIeM0-ff0D{ z=2!T}ul@?}yz@2>A3hM#<=CTCpe%)lQ&lC9%D~3#X`I72vfga=)~yK-=e^?l-}^(Z zuQz=2Ti+tjONM#lX~ zL5`OZV=Y;cql`+YjGG+ADW?G7`1lw(eV8vT2-&vlxVpMVYeUoYtQHH3q96n~IJmU4SoUFYb!-9D*n97hfhS1cA4qj$88=h=%>W;59=4hi1W_dSc% zGD+SGv2dgCgOl08IT$@UM7)#Dps*0+NgSM`b)H$Zl;f|lj8O_>G2EnfMy0U&MyTn1 zTAqqL!5O6qjk`E&fA|HnUKF{=noM?X4-G2^n?@$|(@-n@6f!D`9fhxh0`6w7%kWk%vKq6p{^ ziB6s}9l0@1q>^O_0juSxwFe`_D2`sGXxk3&q1)AXCj;m3@KBy;?|J$16(4=@Deu1X zF7Lhf9&QXoEo2X4j5v=%Ak!(L4hg6b(ul~im6AxA1oDud%ZF6{bp$)^Q7@7nqFC40 zT%2FA+qE=p$MMNM7V|mQT8bj4ZQI1z_Is`5G_8x+!&4N+z7;GGDe*VvMb2isrRzG$ z8B8`fLEL48am3i9khV9`d)w`n<#PE;i9+-^4rn7N(ykq7nwIbV!4G)(;uZC_rSBYf z4vxq(LBkh$kw_R3FyzHds(F1+yJ@fiObp~kN!*J@;@`9pqEt-QFr_gGxR7N!nNkdS zX2g-0B-WG68Z^!&8@CgCR$1g|eX3BP~c)<6g>O>M&C{YowAIg64tQu1H;hW zh*056{Q`EHZVnF*dHe0J^S}MQf50c7JY{peW*7n=fAECw{r>;MyYIfstg2|XHLme{ zD(3T-FL?LiA!T9N)ivd!!nYkNH^ktvYtGIu`1I*hLI_gRFAEM1 z4k#1BB+oP2R(ylQkbHegAeqzY0{q_4F$@D$RS{zlylVndt(HrS&S-a?#NqTknYH*- zevZi?8&VBm^qy^9liB>2GK<*Bw^rl@!!Ypar%zd5*K|9F8v{c>(rg0^RaI2;imvaevN_%8x!TtJ zC001BWNkl*0j;ARx1t;4ycNP-L8=(BBg3HF7o2lYwB*`{PGfQa*Fwqv-2~azdjZFdLaQ~ zIi1FV&?rSYn=z{@{OG`YX7f39U1ReCv`S$YYG3pb{l8}D2k8bTCv+HtglA}JuTS|& z-pgz;N%HwZ<(Dj-o9%|f!#grizEp_>R&cHXYf8?}E@;~x*IP23Qxp|rFFV+_?>IO- z5MP^848Q<%KCs!f6dTKS*OKRk?bVjW!F;c#>HL_?93m!>(q@MD(&2K>?b)?4ihU}K zk>CQZAJLd}fh4gs&n%-K>D|cb=4AlKd7c}SFhHe=498BGGXl1ZE zW4*ng-UW<>Jd=FlJTEZHvh5w4u4ldLXvaXVVF-c2rwrmeBc^k(rwb8Gz>iW?F`arAnSLvLn~VCZdVBgsm}qf~ZVz8kCU_v;?R7`=V!w7_koM|kEB*1ov8?8FyN2jILk}?;Q3OT9Fb1MB4BbdaPgxcO zL>uqNK|+_j7r#4UAHF=LVaMt0s?=V`7h|OBL?4&uIZ8_?)V6LJJt!kbu7hQT)sWeo zJ4biebxsE8&|~uqYiuH#XUt|<>f4Xxc?C$&Q{C)1yWFyA2l_D*mBx*ptjP8%-lE76 zg|rw~Cm57>Bi1OqHhUsCN(3DfYVW22AZb<;svad~n8l)E==;4kKsK2rP2I|%QVAuy zUjyU|T4Nc56Bl+8mE?I&*Y|`ZssF+OFr7*NtN;4HB+F*}!S8>c|LK4DU)Wr4K*>nl zcAo#_Z~aZ?^En^=^ds_2vuSt2xEV#@AXAK{u3KKdJY}_*vCAxX4i@CIVqc%0YSmN3 zt4_8vAAG8WiJ@{FT`HaWglC!j^_I5lxVX5a*>w^E5k`#B$3J$S&U z&tGzUFi-7jjkOtf@0~!>1rDPJEBw3v-oHt`X;`m2UcI>B z;9$vr{$KoO{KJ3vzvF_Vta5B_=mtlX8=76sYJP{VA24y?;_3?T9jj_aW;K_uItEi&DbXz*;LFiQ>-oQ+K$b(mRNgWwOXd*qjX|cRmS1s zgwn#I$OutUw=#>Axh#8VL!K$dAQ-$^Sx^)OcMcE9+7WlX-n)=AQd@{YDwIuAr_;f$ zSe6jTt@!#R5JH|$n~AwY+`v8|WRezO3}_Vy{w4{;8WD`5R7(4hwzBi`{bX|||3Av* zf#gEEv4%}SVDezf$Ip)d8`Gvt8^h=Z7Rwob`)~iJcprKE_$AMtp7Z3B$NV?{-G9sT zXU{PhqK=e{8JC-D7R515+tT)Po_zY0Dpz>l{1}2F^17OvP>E*BLRDhW7xGlo9&iu(-6?uBBRKa45;83`oOGQVQt34d-qr^4D)&wXzoQqiNmwq;w_9L_WPVWiL&lNsC?2tn{L!OIPsYVqDj+#p4f%;xmIOAVDsp5?Of z!K0(W4PrL6_QoyaoJ?uGb7*TIYTP(5Tdkx`I=U498Zj!e+qGm??BIPr5YYr>Sl2s- zF)$80Y@Xpp&w9P4*>&vNUci-;`69C^g;hGEl4LgQpD3S-JXx6&oD{8;_l&8-C#kD; zKYJ-70UDFmkEn3Y(Q6oHj>2bTWtn&YQp^!_e0utky+lNaB4sG)cYVV1%lCI~WJrM) zG4e$ZzYKs~Gf?Ci<;*e+p7r&X`*-gXf}?F4lnzv@8GeYEsK|7N4wm`B0iV47gvw;R zb?=zImjun+mKa;IYX^=Gj@Y$5uU=pC*4uAzc5#ITLM26tadfiYCGw`#7NZnKK{M{i zGR1OX2*|qY)6*e=)+(`r0(n(3n-$FGRa#=CWI7CvSvhCD-Qpu$uD1kj1rPh`HM^#z z?Rtu`+^_#*2&^|7l#%@5BG09dpXXHbih$bpA+D}BfD~#lnlS|C%Ne^}i{>Vttxwgv zDYblh0?ow!OM1a+4IhK#E-dl_Yix?6&Db_OvT`aeNi$8tre*ojTJN1ha(%~rZcvPI z&lLL10Ju26=sXfIzba(eI3M%t65T_tp?VjKfLBo2OA;FV?wid{Ey zT{jdea=pH0wy4lXG0QX9b(FJ0LMDUs1!h&r=%ns1?%Pr-Vaf|kavaFAj4p9;b8E>n zp_GQ`Sk1+{T@)pGR!BUJ$po!xEPXfNqM~Vb^n-*`Zg)GnuBROwUDwgJt?Y+@uI(u2 zX0OIo$$gV&Io9TB2d~)e#GMl-PdK}{;_Uo_M~@!UwmtpeSZ_BpZAaUQ3kaogqfE0(8?3R+ z7YjkNr=wr9YpLs+p?CY7U~%(^=AkHLLphtx63$-BGLj$=&N;@U<&*YpPVk=9VosJ? z$3i|gbX`Z+JBCSW9wWQ1OS95k;%mHgSBtX5+KlJVpL2bEjZVi&z1IhRZU*@H!%z9W z-}^p){@?jC6lFn~XE@iRHB?o}Y?kkTaFhb0(V3MaNS@=no^EtREq=f;(XaYm3?NcP z95_8a=PM8Iql1VZuCKSuiV`!=@ha|*d&bE69izCmY$nw1G02fhrCz~&KF7Bm%hjAB zmnSICvi(Rm#xO>>-qbvM`HJ4b#pRl9vlCWvy`!9!BHm1n+N>y8t`5;AL)(&JbP`XO zl)XbAa6YiD8`@z=f(@DG2PZdZlD-LDJfloGN;>KNA`%O0t)=OE*%(G7-K?6?G&Lbq zsoX6Ev-y0%`PKE8mUJiNT$chYH=9j@O@}?b{IeT@lp5wn&kw%;L%#8i_jvbfZxgXN z4<;+clb4MYSxHR%K)f6`43Jq(Gdiy74U1*T;o%Y$psMDy(UTcXUSteF-wm8zt|=63 zHw_9nK03j=KsC$o1cFhZL{lGpKn0;*bX~^;W)drvMG-MXv=PN@UWiGx>wAj(2X5YMY23+wOX-Qta#&%hd3X&t~(xm@+rH%XXr-8 zMoP*G5t4c@$E4>+YzSx#AGLJ#qN-vF8h&om=MHN*Lc86ANj z2z;eQkP;%%hXk=Ur~tFPVCXtr=kUSN4+C8{(6(L5bC91g#_8sN!3{j4>=06**A!CTl%ACOsltHkvCKH#D^K!(p)}SYjve9XZlnqms;7fV%0*1^Jog>7A zWiwn|Z@IkM@bcw3AsSv^yk^_9)VrOmiwcTz#yE~tS;5=yzQ=Xk`eAJ%Yme8TbZ33u<_xYa{Qd~(e4rhAqESSx z)2Zc(cGrtEErui=vtM}Qe{KcYt*-|_PFl*gYw=ltTD)ALKTF_cA# z)q#g^y@^+_Iym6yVI_FVD*6S^weDauI{gw9^hJm6GX|uR+q>tY2TJkJs*LQn! z!_mnR_a8jqXLQSB)OO;W}tU9^R^-{#8KQk&)9dkzQgq;F^)WZ_>g|+czExK zm>NJzX?z^9duq9qh3E4bP16H$U#piW*qmM0vF!%xuIK6Vmz-T(a&dLd7zX-wz-UB( zYBUFjha4UqQX5uFdHwp7 zEYHza^X|LvaddKz?|=XM=`5}}zr4gKk+ZjbFHNy}Ba-*oOrH2GBXdp~N!F%RmxQ3wt2=7Mvm^DKycC^LfVo|-;o`xlFm&+oj?5e5%0hI4!fpd zjEc*vH6K0tg!}jJ($p>0QYv5`MKP-w+ip+R)(NVZ7t#{m*0qE{Y0a+faREB#xw_tR zezD=|y2g(I?;OiY!Xm0_PLY=wlhgN(fAo+42~QqBVOGrnL)&&_MS=4}^6-uPm4E*~ zWO;Z;DB;%|MjtskIiYustE($aw2X-oo)-nH)sp-7?=$@9M_g{!5F@*`r|$=5MS;&n zCSDdd?j4(Fj81w2UEk9*4dpBiMyu25!jR_$y6eQ3nHMN8dW5lVekl>?=U*u!MxstX z{`g~wD9xs5Q?V&crC6bH%Nf-g3o()v8JlJc2J%@!UY0anOI{Wn9vz{rWpE>C!?tO# zMM1r5iAv(#>s>2AsD5C*-T($Sj$*1*)7~|TayE$?6v7Ogat^Yr0AmOWUcP$G>$3~4 zHnl{r1!+7*C9$)2j*mIMcaLEl`Q88fpK*G6PPJHqHrOnun9a$Gf_LBj8sGfZxA={3 zev|Kf=Q})n@E}#%1O-1hM>(5`7{prK=qP40hSAaNc07CWg3WfD$lpR-_YuYr=#uno z*LL_In@4So$jOvEENAEEv~4GSh8P&bh#N=RzDq~#JW)v{&_YzkznBR6B{P6jtDFnG ze09pFPoMJkJ8vZ8f~Bk~Os4iY^gdpH5%jH=4e zqsJ5_y$>u_hs8!<1`)`66_Ye< zATt`Tg;r)##Z}lo8k^PZDFnNxT0i8+cLbGd$N|DWS@_9wwwq&`XzFuQY z#zD1U^p1n&oFcPqdvV={(b4Q$nq7@rEx5Y6VtKG4MlWHB3Nfbo8wIVknY4(tq0CE^ zvb252x~+MAv7zs!5u%lpYlktiI5?&{IOgoS=KDYR0cV%z_z>wwPhMEY5c#uz?$7g= z{^IX2J33*zS(82b8D<=)hnC(u+R@>a!UuTr=`()x!ymEhT3LGk=*R4u-QM&9z!)&< zWVPbAJ8Te~p+5I>Rt>c;|q6vrEoa2O69oDT)%MG`qed zFG{*@z&pqBgS%XvoskuDhW?C;^Goi&f6V3UD}3Ma;Qk3`=jY7w45MY!x4zzRP|XMt z+O8vvo?89{;z+JpZ=>q;OW`9G^-S&{sgQnFNvgHN%1BVCYT0}D9ViWdMo-ftgt+@_wQkqmPU;m zIlsK-6Q>h85Ef0Yd3nmFMCZ{%iW|6h>G5g=)NcGb4-?Dl*IEWq+2?HGTU~C zLR#c|YCF*Gc8~<7#+W}QJ@B&wKq)1s0O?d^SX=P?*(*Ny;A6i2jrYhh@taNEs=O!( z9{MmqG#H%$fv6RaK7GtLe&g49=j-qAhu`}?vue(Ddx7gmY@V~Z+TvZ5TKr~%>pLFY ze;`t<-f?(vgx2ukqfa6w{&h~Q}0r7WKzdi zR8ioy=0`vM8Luub8GK+ws+A@}e|FA?pMJ{V9DneKKa>>kB&wM%RgstESxi1faDMpA zz20MB0Hv~Dc=@Mv@qNHk6qV30N+f-VV6-rTY&L~SrSw#-X?urrgB-_;f}tN6-6%%Z zU(oFN>?`r7$2Fh<}6o-JbCtvm#3$= z7>P#X$58|&V<7lmctfp*uWPS}VCoQr6a@%sD~yRK!iT5)*X@buXuHvK>! zMk=FNH#JAAIVbljs*>!yQ;UmTfKB`+(FPoY>Q{GOb-L=9Jh;qaC zQ~b@P{F3UryuL_uvH$x?(JRm?Y0*08m}%i4csC~HUQ8}1O4z+G=@F4ot~4-QdA0-&$2uL)sNxkd)((Z*7i6`M`N>(^)0>zXi1 zVM!Uon9%IwI12eAFKBzm<@K7nAKC0WT!h{Sl*!1;if!F;T{oZ%yRJ{#Ka=(^K_t{M zZ5oLLC3Mj*yqtgXI?KjK5>>M`FYawi6%nt89SqJu~+<+_(0!w6nF1pl%{W5Opu@J_7*@X_LgylWGs+a0yep_B5JbX$3(P} zCt@5&`flX(^(B2D@MFS~1x1V^%yh#@jEcS=7zXKuXNiBiYihJs;=MaLrjMRJcwF$< zOw>PUg)MTr(G#?x860)nQSUnPS%tDWSyo7Q&4Y?+zu6l7h*olwhi-?_;D-Up6gL=? zgPC!)X;^n1tsiKI7OY~3!VCWY`!xY7jNr?q#GQ2fnlzaPnfASx$|y?Vk!06lbYdwV z9dSR+-&XzJd@m_BWeHLtaH}jgpd(g9ih_I@hMv)l($gP2Kl|y&w7Y?$qhr?VZ91+w z3??C3S|C8^`1;qsL6OY`7njSRIy<{$H9O$s{sX$E#s_%w&9CywM<3$Gk$hHgaOVhR z44oT6=WLr6d%5BA{FL(F_;q^c_QyWing^xRp0l~3s^O7wt}Dk!reE(r(`)sB85cq^iZXrfqA!4&!ejDKsj^k|yHEF*kJ&AtkvDVV}12z@L zRMKjgq@J4U1;K}Xq>on9#&=BJzyxF#vxyWNv^ETbBZSD+MgR`esI+MVGl87$-n~nf z6=YdKjEdQOLDzIVeDEf}{;gl-(T5+=H8tC|;b$LwKxVWsZKLP(^=mSvxxBh&R_2^v zT=K>nUm-;J@Z(1u9j|!f;e8I4a{)?OlO#`uacuEHGy>L$L$)X@RHo6}p04kSQM~ig zU^23iQu5z_9j`C#$VD-ROl8}srj#&gy-#tw=*fVZz!F*p_M}V>DK~Kpfx2n-Pq`rQ z(?Ce!+f#*dYOCu=%1+Ly77O$=-DGKv5HY44MvN8F!-OH3M%2{7QYpOWJ9qAoWtj*)y{D;nTwPxSl3udeG&H-O zZWyJbmNf2KYjOM^T`8i)a-)IM)mvX6oQIuM~~QAkw1 zHK|4{5+~W5h@j(UBu|oKpJY%1R!Rm%H0#Zlx@jn@ifX=KyWUb&6-C+d(Z`Q@@#>U^ z_wN!Fbb3cK^jtl^Vi-%0G-z3ZQu5fppN`{d!%T7oK#(I{gijwamH z3?_F^H}rU9@MDY|<5GicQWneilOz{EI@GN`!Bl&gzGsYq<$TV*RVBVN`60u2v*yT% zW&e3(!kABH1VyuJ7)OU62dS}ZO`&To>;M26gh@m}RM&Mv2tQcz^vP2;P0PWZBeu;B z7e<^P*>)|lsmCGHfM1gt~Q{U2J&pz+-fZaU(E}QvI6GD*Abl5XmgZ zC^3!rw42V2!i_R*0{gXgde`Y4rnff@kMsacJF7VTIeGsf4gH%c+s)T9w|IOJJ_B@; zCsgq76X_$do9+)qE{&d$ie92?2uV_wPHj&dDsej|`L6>SXa(o4p4A13q zNnT{ks}d`?w)oj+LaSRpGAOV1x^rL;C!EToqDvD~328SwQ9Nf^!MA?nTU>9hI5=2v zd2vA(A{iCgY))n}L9zA&+omHcW?VNr@FS)y**051^X%m*mcSbiAFy1_(~(Bv?D8z* z@Zf-c^vvfow9^vnrW`tnBti(XCUR5cpME`Eu>FPeOq*$`6e_(hw8(AN`z3L@!P9O( z``iGyz1T=-)wD5-gmFZdh2Y_}Nfx~sL)YCz%Bs{4NI=R-i{YcdBb7-3K0#*i5G7R7 zMD|Oai~~t2x7Omufz@ixYB|jS@v{@x=Z`Ma2qUIvL&=dsfQ#}rm6pw6-*+e_r--5N zxxTt&SqUztnwQLGB~4uuW1wz#6j3EmqQS?28y)NQwU9iNw1(&7$aT|TLg4Ut;J_ZS zYiqQTw&{?JEJc}visY%E5WKX63vC$?Vs?n5h)8~kJe^w?KtvfKRq>{q&y)gwbImND z9RTiDkx8d@d76gHvcOs+?x7-O1Wq%Rky&)PToPOPJ`d%DAl+;r)_uC zE-*i+7zW21Z@k5}*%1cmegy@)uIF&Epsv@b7&%xSvaDt_SC^8@bAG{{qhnMU>73`{ zYJ;$u#J9JcFZk+PUu9i43?b45Ej%GD=oB3!x-|k>5?6$qYqNh%w{EIA#OVk%_4;p} zsi*gUGXQQK@os(T+a-F9ToZ^Q|IRE`(li++tmFyWHNZ+^mslKyc$|)lm@>dp<@9VhSN}eZ3}xxCbCh z46AT{ZDwfOo>?`cn9Z5bmt1!jrQ%#mpMUq}p*lkZZ%P z9Z>AJcXEhQW3rVeCZW;Tmzd4-`{9)GZ~|kuEEG@#%5?prjUe}SDJnh|DjJ9 z9c2`4y`!xgY0;tt8*=-e-TG9TP6L5JR^$?x5j?HyFstR_yPw_jBXwtPx<|M9GB==s zgeFh$fwpZiM#$Y+mg5ry$|XK<2&r!!VX;~QkzL!Ox#^9MqoeP7>P?L{h6nfV@%r^^ zwAOs(D{tVE3isuUSKPaIf+Di5Ys$PN_&{behCPU)rO1Rz;=HHnB*Rcem1+T!RX81= zvUJYQjM+D1Cggga*^~$dnKrU(Pv>r%)@r>kzDzSj$`edCStr1RwMLRctrg!zo(uG{ zD5M_aAc3W?fT%;$T{xI(PwgYO7IB6LEC z)OEc_z=Ko`ZDz5lco*X5Ht=8Y@?OXyi^YOFM@PKz#+&@sZ~hjC2TROyIsdL!H|VqJ zd^-L5Mt3)jurwHym^VzS)2n22>bj1%-+5c|1q941rC~n`X(P=bi^YQFYDMoHO@bsD zt%*tZW{lzd{5(BDLdTrVDt2v4o)>#1?Q~!n`W9m~vmzriLM5}-a_7zwqYn&eACTUG zltYpAUIiJz(~M`Q^sfE;muXgMLBQEW?$EbpfS5!Z*dE-)K!) zmXrw=O^i3Z#2_tjpL+en=#p7f?cGGfFff52zibB3O5sM&_4S(bvkTsN=WWWO7=QZk|jkep^Rk)Z8giq0;>&GRWX~*qz^MKt0C+o;M=YTtr`4C)1|P; zEW=o{HO*-g9(#u=n2UJSU*Zi;Cludo=Ap*Gu&3;2mSa zYiW}J&Z+ViL)aHvCd%gRe~57(65$it-VIXvj*(ksU4b>{dA@)8CHF5QHyN2V&ggt-$l1CqX z#M${dW5S>)6$;G)1zE*Qci}R|lz6mLguQ<@EH7#bUwH@ri7Nyr(F0 zV(_e%OWf!s^`n?!m1T52Wo|fJE?BM>_`%T)1Lb^9jDh?2PI&O}4K&cyTdWbavm}O0 zWmCD~Zg8n3>-LEyqf2(UGy{rtt=L1PWw|i>c-YL^eSdx$98-fwYAX_2JuN%V3oX4H z`jiSTVDDYqf|4qX)}q%?ioNvQS|jObX&_JV3YGr+)E6<;qWbPscmC|Um$or+qFdis zq1n#_w?0q1>FG_~zkh#^NV&MUVAt+AIy$kYxDJ&BfC!ls*AmIY-|$k$6YIb#eqrGZ#u zFv(J9jM>M;YNeRXN|e@80Zd6D(MJX+iKITwqEmgQcaGi((?Ajyao zz47LoXrtL&uOXz_q$pS|mZ^C%GP;pjRWhHIC_J-5^!7(bcUUYIRF$A%)#w=8nsMkM zdNhIW{OND=xBli|k&e406K zmxAPe$nw<>60_rzrLQQ8{aw{sO#?t~`0ePiskSgR7v!ehWYx1j3dVgEOe^Um?shxg zdh4y^H-N{FAM@bB1KxP!E6f)Q!JR1SG7dveS(emw&9>k1E5G(@>~=e@udZ1wSJLm# zvXqCjA2SI;X=uBaO}*j%-Mfs=bAEooX0zew_zy5_;X`#ik=fJcuWrJh2hEDO3_OWzOlZO5+J zQ5Iz?Zz`#7p$Mbr{NjwJsi|fKL)%i7B|dnpmWY}n&snXOtd`)pFH99=_#8{jZ&JbsyH|}kf(bh zbKSbhQ)@}36!4p_T{4fRf|=i^qey6^N^w5TZkJA8(rBAbB$HZ5p#)!(I)KwAaSD`F zkc2a`8J)PzW|5YF&!`ALGx?|g##MQMg8bm~s^U+7=R5rP$3N!b!w1~I ze{Y}vD>yi5UxpxO-z?A3QL$ZbSyXf0d;fh-PhUwNJVq7=OX2gzh|P1#vZU_@X0r-w zbB1+!qW!lCuFLSJh zBG0(Ix@7D-(b6kL7zbkXTFjX* zY8I;nM!{k(!z`<2!Mv`xSuL1VGZym|Wl>SrGpXl^DYT7ZoEZYwggT@%B!9Cu+1O{N z)exAbWNVlHu8hIONI!HEzg4c-cx6JFns@1QLJSO}cnoB^pGMhuNa1r!df2Qy%qN> zBlT(BG>qdw9$$*-T6=ze=KgLCsU@rxs36v^Wm&@H@ky+C97jqcCwmx2s%plp5L|z| z-LPCP6Jf;@i4>)DH?zCxYO$cMN)(ZsWyAdTp4;`BB1y$I^^B^lDJwCtUM?3XqX|*G zg{AbC4&pHOjHAr@MPv+I@R`gxAcY4*QIwa3Mk%Ju`b_{7O2i_@N$B6Uu$K)by2(xq zBvZmB*7M?#*!3Neh)IV^5Los*<({&wx{`Wt#-EH{%^WVw~QHr*0lay-iqNQCNJl}rzEe{V59FIq~&o4AaUYfO* zFa_${+f)Y5D2sxZmltl6txena6xMPcC+5gJVu%{0EjQZYgQL(kRWp(0a>2Z*>H417 zi5_27%@~G(-R{7tcT7=yd`36o2!v<|(PFF^Modmfw0$pOD@;!2AB?aBvSFpx0`Lf( zJ6Yz$h#N;ShF0RMSkLF6HRoZ6O5Ou`GHOiV6Y83%8*3$ZNFl;1`zqwbOHbnUV}G>d zAN>|dxxtUR4OvAyLH&tLnl?h(!OnY5$0MJ7@(IMqG|EiD`}g0`o{#+c*T3Ta{vCBK zIyw8@4wMIVb;CNJN48tJHM(<)cLIu7YuL3XZp$Wh$ReF{=(3;-0Tm+cxdjZ*n;qJe zSfd#BEqy=XqvB>Y$0RS{BEU2aR8=K9JX+DUXROj-3zkiT(vIy>983FNJeFmkv*Xwa z19==r+FoQ|`BuM;jI0@xY%w`EB`^u&}*hLp^WLCA((}TY)U867)y3%2_fVgAmyU}j8*VIo{s~@g%VZB7*ko6ylgi7 z{O3QzSWVZTQ3@tEa@g%K1^`-gY@ex}TynFYS)8WYD z4?l=DZecj9h^l97_D7oAf58-%51S1)Ay7=7s+`y#&s5cks<6CSuh}2=^rK_5-LPJ- z}e|X}29vKsb%=?gNxpGLduu~>> z6h#3_LV}+rloe^)VMrQ(#8izbMmJHJ>T-1}gyv?ox>(4n6pr(PgAz`G7VpKJZ0Abk zYPfN2?Ahybs#m4mPu&Ao04b9xvQ{p@_uqfdXP^C&tG}LnL7!T}#zwkfPg#K}Ji&7b zMGBSTDD+*&oBMn2?(f*|_k<8wEmj;}cGP8wDGcZCj4hTjI_*7`wm1*7Swr8C41LGV z%?(q8{bs|P`&;Hd5QCEjkpe%B^yiM^6JOqxd9~h?=75 zCsWj*uD0=760z4jfqYxm^^9>Ch0hnoRxiusI`2`&CyIMyoE(LfaFPWkl@gMvPnJ8N zQuSb@N*c1Z!?nSeF@ca0|DUcX`0>hfMGq4rCF2E&C4^EuK0YSb3Q4%EtuF1>SQb>X zia-3}_q;s6@b|xucrVpPrb5dn$(``^*I#q9Tyb}I$9B7=J-3$)S5~5-zu9aV$ART? ziS~}RZBxviaMQrz7sk5X(EQmsg>S* zKY51U;bY4C{Ul|rLR`|dK*KI$@A+MYtT8Nyrt5^%p)Q&Ib<8_o_fzT)+T^@81^3ZP zgm|s>QE)o+7nOCR4FoO{K-Y77h4Iq{$bF*xx<7tmh{>WvcB)c|6rmMh5`!pS>dh>C z@ci_I*05f$d3t(EHYOz@N~m~#dStbnF)Qy_tt@~0^1oOtR#+989K=#Ol-_xQQydN_ zKr;@G?QVxcQKC@ZQ%93z=M79ATNOM$|G=VdMAb8OAbs#CQ?NOlnLE!gd8V$Vm^Cy_ z#o#B3l+<3<1($)|ENgdlwtgew@lh)l;MtsCj%-n2v}S)e@ZrM;9v^t`iBg8qN0~c_!iVd-f$eV3!`pinvzpOC6*WV$pN&3HRw7!ZE5rHRQZ*|~1cr&j zNlMegXta;Gcx}v}G(!kO2{$tks0m))4XZ z{U8G*H!~*RQLM|UaD{PD76sFM zVw?hV4_fcpA5R1&zQRUnT+{?Fh+R<@phVhD5Iu-ds+=qs4O|SMFYIh2T;`uyMMMcy zlWqVlj3gtKg$ph@5a|ne_v3?lP5xd9PQ-}0ySx3PHu~aa^W#mBucg=hfa@vFS6{r` z99di;D_s2I7oT!>_l7UO{M#jatx7R%^kL$5z2dXa{uQMpDVZlseLip4ZTB+wS6CK{ z1-G|1Xf0g6wiPcusiB4bHEU+f=MBmSPRApY3!M9b`!{cRdVb;9wvfE`j)#NL&8)!| zf{l;U2ob76(=@fTvzs}qo3%_i&F2)en&r)!#bQaUE-$b)D$$oSYvu~|Udba6qmrrH7%yUlwy+!ydp`a2)5~V+l15Kv zuYB{(H^i7E&T@57h*!ZUKYPpZw86)os?yZ;3}dbI(Mv0EvQhZxnZn4qJ99dpXon7E zE2f|rT;Oo(uvNn_Mf%axjsvl@Od2LlvZ6T>gD8z}4@X>pa@H_ku9zkEZdp|c=@fdk z#B(EFglWhla~pGS#3r{eA}F*pY|^{%L6FIu{J8|YW#u-XbE@>-O{(R!k_q3KbOLg- g=chg{<{9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/digamma_feel.png b/src/main/resources/assets/hbm/textures/items/achievement_icon.digammafeel.png similarity index 100% rename from src/main/resources/assets/hbm/textures/items/digamma_feel.png rename to src/main/resources/assets/hbm/textures/items/achievement_icon.digammafeel.png diff --git a/src/main/resources/assets/hbm/textures/items/achievement_icon.digammaforourright.png b/src/main/resources/assets/hbm/textures/items/achievement_icon.digammaforourright.png new file mode 100644 index 0000000000000000000000000000000000000000..bccb7255a1ec255c5cde816dbe617aaba996c12e GIT binary patch literal 208 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf(WAr;|p$=_#7*cuF42y$$E0FTv6)Bryq>#IxjC<{o(^_mAduQV_NI*Gy4)z4*}Q$iB} DfK5wg literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/digamma_kauai_moho.png b/src/main/resources/assets/hbm/textures/items/achievement_icon.digammakauaimoho.png similarity index 100% rename from src/main/resources/assets/hbm/textures/items/digamma_kauai_moho.png rename to src/main/resources/assets/hbm/textures/items/achievement_icon.digammakauaimoho.png diff --git a/src/main/resources/assets/hbm/textures/items/digamma_know.png b/src/main/resources/assets/hbm/textures/items/achievement_icon.digammaknow.png similarity index 100% rename from src/main/resources/assets/hbm/textures/items/digamma_know.png rename to src/main/resources/assets/hbm/textures/items/achievement_icon.digammaknow.png diff --git a/src/main/resources/assets/hbm/textures/items/digamma_see.png b/src/main/resources/assets/hbm/textures/items/achievement_icon.digammasee.png similarity index 100% rename from src/main/resources/assets/hbm/textures/items/digamma_see.png rename to src/main/resources/assets/hbm/textures/items/achievement_icon.digammasee.png diff --git a/src/main/resources/assets/hbm/textures/items/digamma_unity.png b/src/main/resources/assets/hbm/textures/items/achievement_icon.digammaunity.png similarity index 100% rename from src/main/resources/assets/hbm/textures/items/digamma_unity.png rename to src/main/resources/assets/hbm/textures/items/achievement_icon.digammaunity.png diff --git a/src/main/resources/assets/hbm/textures/items/digamma_up_on_top.png b/src/main/resources/assets/hbm/textures/items/achievement_icon.digammaupontop.png similarity index 100% rename from src/main/resources/assets/hbm/textures/items/digamma_up_on_top.png rename to src/main/resources/assets/hbm/textures/items/achievement_icon.digammaupontop.png diff --git a/src/main/resources/assets/hbm/textures/items/achievement_icon.gofish.png b/src/main/resources/assets/hbm/textures/items/achievement_icon.gofish.png new file mode 100644 index 0000000000000000000000000000000000000000..f6622381a37c2ecd55082cf5e39a6b9db205040e GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VflSbB4w;YfOjn;>WldDMcQO6w z^*0Qf&t7g_qoKUvv&_^Doxe*QPq-GZ_}lx5x57AOmXOPhaL!e4CoQ<8$GPtX!{l78 VUsZkyd%?BKXO4CmzRQ4p7ZPafP(m~7boXDJ$Z}S>szv*q{t2y uIVbLkA^QKrxf}L|SUpo^I_;(}&mdR5-MW#zb(b5^DGZ*jelF{r5}E*HP(=p- diff --git a/src/main/resources/assets/hbm/textures/items/digamma_event_horizon.png b/src/main/resources/assets/hbm/textures/items/digamma_event_horizon.png deleted file mode 100644 index 11a7ae960ee5c735cc5b401373fff85021f8f8cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfb-;kbIr!#5n_cG7`?;bGoVOpk7jNhpyn^{aC%;VAgLm7DU6$-R$a~{N!GzK? zGml+aAe9sqc6itJ;%-~sfBXUSpL9OG`Mt%jd-b&|3zFC-#YXIjTc#(xFGOBi(N3!f PXcvR0tDnm{r-UW|70o=( From 7fa942dde36aafef4b3b69b7a0cb3ad042e622df Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Sun, 28 May 2023 23:58:45 +0300 Subject: [PATCH 123/285] Updated ru_RU.lang updated russian localization --- src/main/resources/assets/hbm/lang/ru_RU.lang | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index 23a244c37..31f1280a6 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -152,6 +152,8 @@ achievement.inferno.desc="Превратите его в пепел! Этого achievement.inferno=Операция "Каннибал" achievement.no9.desc="Я надеюсь, что свинец, который я добываю, будет использован в вашей краске" achievement.no9=Старый номер Девять +achievement.goFish.desc=Морское распятие +achievement.goFish=Иди порыбачь cannery.f1=[ Нажмите f1 для справки ] @@ -1178,6 +1180,10 @@ hbmfluid.oil_coker=Коксовая нефть hbmfluid.cholesterol=Раствор холестерина hbmfluid.egg=Растворенное яйцо hbmfluid.estradiol=Раствор эстрадиола +hbmfluid.fishoil=Рыбий жир +hbmfluid.sunfloweroil=Подсолнечное масло +hbmfluid.nitroglycerin=Нитроглицерин +hbmfluid.redmud=Красный шлам hbmmat.actinium227=Актиний-227 hbmmat.advancedalloy=Продвинутый сплав @@ -2553,6 +2559,7 @@ 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=Шашка семтекса @@ -2914,6 +2921,8 @@ item.ore.iron=Железная item.ore.niobium=Ниобиевая item.ore.titanium=Титановая item.ore.tungsten=Вольфрамовая +item.ore.thorium=Ториевая +item.ore.uranium=Урановая item.ore_bedrock.name=%s бедроковая руда item.ore_centrifuged.name=Центрифугированная %s бедроковая руда item.ore_cleaned.name=Очищенная %s бедроковая руда @@ -2935,6 +2944,10 @@ 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=Болванчик @@ -3093,6 +3106,7 @@ 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=Частицы асбеста в воздухе From 87a87738ba2fdcfd4bd8002155668c474608d8fb Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 29 May 2023 16:50:51 +0200 Subject: [PATCH 124/285] train coupling, pulling physics --- .../java/com/hbm/crafting/PowderRecipes.java | 6 +- .../hbm/entity/train/EntityRailCarBase.java | 248 ++++++++++++++---- .../com/hbm/entity/train/TrainCargoTram.java | 1 + .../entity/train/TrainCargoTramTrailer.java | 1 + .../inventory/recipes/AssemblerRecipes.java | 22 +- .../recipes/CrystallizerRecipes.java | 1 + .../java/com/hbm/main/CraftingManager.java | 16 +- .../java/com/hbm/main/ModEventHandler.java | 6 + .../items/battery_schrabidium_cell.png | Bin 182 -> 168 bytes .../items/battery_schrabidium_cell_2.png | Bin 213 -> 202 bytes .../items/battery_schrabidium_cell_4.png | Bin 288 -> 312 bytes .../items/battery_schrabidium_new.png | Bin 319 -> 287 bytes 12 files changed, 245 insertions(+), 56 deletions(-) diff --git a/src/main/java/com/hbm/crafting/PowderRecipes.java b/src/main/java/com/hbm/crafting/PowderRecipes.java index 6c6845ed9..22200d0ef 100644 --- a/src/main/java/com/hbm/crafting/PowderRecipes.java +++ b/src/main/java/com/hbm/crafting/PowderRecipes.java @@ -41,11 +41,11 @@ public class PowderRecipes { CraftingManager.addShapelessAuto(new ItemStack(Items.gunpowder, 3), new Object[] { S.dust(), KNO.dust(), new ItemStack(Items.coal, 1, 1) }); //Blends - CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_power, 5), new Object[] { REDSTONE.dust(), "dustGlowstone", DIAMOND.dust(), NP237.dust(), MAGTUNG.dust() }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_power, 3), new Object[] { "dustGlowstone", DIAMOND.dust(), MAGTUNG.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_nitan_mix, 6), new Object[] { NP237.dust(), I.dust(), TH232.dust(), AT.dust(), ND.dust(), CS.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_nitan_mix, 6), new Object[] { ST.dust(), CO.dust(), BR.dust(), TS.dust(), NB.dust(), CE.dust() }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_spark_mix, 5), new Object[] { DESH.dust(), EUPH.dust(), ModItems.powder_meteorite, ModItems.powder_power, ModItems.powder_nitan_mix }); - CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_meteorite, 5), new Object[] { IRON.dust(), CU.dust(), LI.dust(), W.dust(), U.dust() }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_spark_mix, 3), new Object[] { DESH.dust(), EUPH.dust(), ModItems.powder_power }); + CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_meteorite, 4), new Object[] { IRON.dust(), CU.dust(), LI.dust(), NETHERQUARTZ.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_thermite, 4), new Object[] { IRON.dust(), IRON.dust(), IRON.dust(), AL.dust() }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.powder_desh_mix, 1), new Object[] { B.dustTiny(), B.dustTiny(), LA.dustTiny(), LA.dustTiny(), CE.dustTiny(), CO.dustTiny(), LI.dustTiny(), ND.dustTiny(), NB.dustTiny() }); diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index e33f02380..163adc596 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -1,14 +1,19 @@ package com.hbm.entity.train; import java.util.ArrayList; +import java.util.HashSet; import java.util.List; +import java.util.Set; import com.hbm.blocks.rail.IRailNTM; import com.hbm.blocks.rail.IRailNTM.RailContext; import com.hbm.blocks.rail.IRailNTM.TrackGauge; import com.hbm.items.ModItems; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; import com.hbm.util.fauxpointtwelve.BlockPos; +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; @@ -23,6 +28,7 @@ import net.minecraft.world.World; public abstract class EntityRailCarBase extends Entity { + public LogicalTrainUnit ltu; public boolean isOnRail = true; private int turnProgress; /* Clientside position that should be approached with smooth interpolation */ @@ -94,12 +100,29 @@ public abstract class EntityRailCarBase extends Entity { if(neighbor.getCoupledTo(closestNeighborCoupling) != null) continue; this.couple(closestOwnCoupling, neighbor); neighbor.couple(closestNeighborCoupling, this); + if(this.ltu != null) this.ltu.dissolve(); + if(neighbor.ltu != null) neighbor.ltu.dissolve(); player.swingItem(); return true; } } } + if(this.ltu != null) { + + String id = Integer.toHexString(ltu.hashCode()); + + for(EntityRailCarBase train : ltu.trains) { + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "debug"); + data.setInteger("color", 0x0000ff); + data.setFloat("scale", 1.5F); + data.setString("text", id); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, train.posX, train.posY + 1, train.posZ), new TargetPoint(this.dimension, train.posX, train.posY + 1, train.posZ, 50)); + } + } + return false; } @@ -127,14 +150,7 @@ public abstract class EntityRailCarBase extends Entity { this.setPosition(this.posX, this.posY, this.posZ); this.setRotation(this.rotationYaw, this.rotationPitch); } - - /* - * TODO: move movement into the world tick event handler. - * step 1: detect linked trains, move linked units (LTUs) as one later - * step 2: move LTUs together using coupling rules (important to happen first, consistency has to be achieved before major movement) - * step 3: move LTUs based on their engine and gravity speed - * step 4: move LTUs based on collisions between LTUs (important to happen last, collision is most important) - */ + BlockPos anchor = this.getCurentAnchorPos(); Vec3 frontPos = getRelPosAlongRail(anchor, this.getLengthSpan()); Vec3 backPos = getRelPosAlongRail(anchor, -this.getLengthSpan()); @@ -150,6 +166,19 @@ public abstract class EntityRailCarBase extends Entity { } } else { + + if(this.coupledFront != null && this.coupledFront.isDead) { + this.coupledFront = null; + if(this.ltu != null) this.ltu.dissolve(); + } + if(this.coupledBack != null && this.coupledBack.isDead) { + this.coupledBack = null; + if(this.ltu != null) this.ltu.dissolve(); + } + + if(this.ltu == null && (this.coupledFront == null || this.coupledBack == null)) { + LogicalTrainUnit.generate(this); + } DummyConfig[] definitions = this.getDummies(); @@ -172,31 +201,6 @@ public abstract class EntityRailCarBase extends Entity { this.initDummies = true; } - BlockPos anchor = this.getCurentAnchorPos(); - Vec3 corePos = getRelPosAlongRail(anchor, this.getCurrentSpeed()); - - if(corePos == null) { - this.derail(); - } else { - this.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); - anchor = this.getCurentAnchorPos(); //reset origin to new position - Vec3 frontPos = getRelPosAlongRail(anchor, this.getLengthSpan()); - Vec3 backPos = getRelPosAlongRail(anchor, -this.getLengthSpan()); - - if(frontPos == null || backPos == null) { - this.derail(); - return; - } else { - this.renderX = (frontPos.xCoord + backPos.xCoord) / 2D; - this.renderY = (frontPos.yCoord + backPos.yCoord) / 2D; - this.renderZ = (frontPos.zCoord + backPos.zCoord) / 2D; - this.prevRotationYaw = this.rotationYaw; - this.rotationYaw = this.movementYaw = generateYaw(frontPos, backPos); - this.motionX = this.rotationYaw / 360D; // hijacking this crap for easy syncing - this.velocityChanged = true; - } - } - for(int i = 0; i < definitions.length; i++) { DummyConfig def = definitions[i]; BoundingBoxDummyEntity dummy = dummies[i]; @@ -212,15 +216,16 @@ public abstract class EntityRailCarBase extends Entity { } public Vec3 getRelPosAlongRail(BlockPos anchor, double distanceToCover) { - - float yaw = this.rotationYaw; + return getRelPosAlongRail(anchor, distanceToCover, this.getGauge(), this.worldObj, Vec3.createVectorHelper(posX, posY, posZ), this.rotationYaw); + } + + public static Vec3 getRelPosAlongRail(BlockPos anchor, double distanceToCover, TrackGauge gauge, World worldObj, Vec3 next, float yaw) { if(distanceToCover < 0) { distanceToCover *= -1; yaw += 180; } - Vec3 next = Vec3.createVectorHelper(posX, posY, posZ); int it = 0; do { @@ -228,8 +233,6 @@ public abstract class EntityRailCarBase extends Entity { it++; if(it > 30) { - worldObj.createExplosion(this, posX, posY, posZ, 5F, false); - this.derail(); return null; } @@ -250,7 +253,7 @@ public abstract class EntityRailCarBase extends Entity { boolean flip = distanceToCover < 0; - if(rail.getGauge(worldObj, x, y, z) == this.getGauge()) { + if(rail.getGauge(worldObj, x, y, z) == gauge) { RailContext info = new RailContext(); Vec3 prev = next; next = rail.getTravelLocation(worldObj, x, y, z, prev.xCoord, prev.yCoord, prev.zCoord, rot.xCoord, rot.yCoord, rot.zCoord, distanceToCover, info); @@ -271,15 +274,34 @@ public abstract class EntityRailCarBase extends Entity { return next; } - public float generateYaw(Vec3 front, Vec3 back) { + public static float generateYaw(Vec3 front, Vec3 back) { double deltaX = front.xCoord - back.xCoord; double deltaZ = front.zCoord - back.zCoord; double radians = -Math.atan2(deltaX, deltaZ); return (float) MathHelper.wrapAngleTo180_double(radians * 180D / Math.PI); } + + public static void updateMotion(World world) { + Set ltus = new HashSet(); + + /* gather all LTUs */ + for(Object o : world.loadedEntityList) { + if(o instanceof EntityRailCarBase) { + EntityRailCarBase train = (EntityRailCarBase) o; + if(train.ltu != null) ltus.add(train.ltu); + } + } + + /* Move carts together with links */ + for(LogicalTrainUnit ltu : ltus) ltu.combineLinks(); + + /* Move carts with unified speed */ + for(LogicalTrainUnit ltu : ltus) ltu.moveLinks(); + } /** Returns the amount of blocks that the train should move per tick */ public abstract double getCurrentSpeed(); + public abstract double getMaxRailSpeed(); /** Returns the gauge of this train */ public abstract TrackGauge getGauge(); /** Returns the length between the core and one of the bogies */ @@ -289,9 +311,9 @@ public abstract class EntityRailCarBase extends Entity { return this.boundingBox; } /** Returns a collision box used for block collisions when derailed */ - @Override public AxisAlignedBB getBoundingBox() { + /*@Override public AxisAlignedBB getBoundingBox() { return this.boundingBox; - } + }*/ /** Returns the "true" position of the train, i.e. the block it wants to snap to */ public BlockPos getCurentAnchorPos() { @@ -437,6 +459,10 @@ public abstract class EntityRailCarBase extends Entity { return coupling == TrainCoupling.FRONT ? this.coupledFront : coupling == TrainCoupling.BACK ? this.coupledBack : null; } + public TrainCoupling getCouplingFrom(EntityRailCarBase coupledTo) { + return coupledTo == this.coupledFront ? TrainCoupling.FRONT : coupledTo == this.coupledBack ? TrainCoupling.BACK : null; + } + public void couple(TrainCoupling coupling, EntityRailCarBase to) { if(coupling == TrainCoupling.FRONT) this.coupledFront = to; if(coupling == TrainCoupling.BACK) this.coupledBack = to; @@ -444,8 +470,142 @@ public abstract class EntityRailCarBase extends Entity { public static class LogicalTrainUnit { - List trains = new ArrayList(); + protected EntityRailCarBase trains[]; - //TBI + /** Assumes that the train is an endpoint, i.e. that only one coupling is in use */ + public static LogicalTrainUnit generate(EntityRailCarBase train) { + List links = new ArrayList(); + Set brake = new HashSet(); + links.add(train); + brake.add(train); + LogicalTrainUnit ltu = new LogicalTrainUnit(); + + if(train.coupledFront == null && train.coupledFront == null) { + ltu.trains = new EntityRailCarBase[] {train}; + train.ltu = ltu; + return ltu; + } + + EntityRailCarBase prevCar = train; + EntityRailCarBase nextCar = train.coupledBack == null ? train.coupledFront : train.coupledBack; + + while(nextCar != null) { + links.add(nextCar); + brake.add(nextCar); + + EntityRailCarBase currentCar = nextCar; + nextCar = nextCar.coupledBack == prevCar ? nextCar.coupledFront : nextCar.coupledBack; + prevCar = currentCar; + + if(brake.contains(nextCar)) { + break; + } + } + + ltu.trains = new EntityRailCarBase[links.size()]; + + for(int i = 0; i < ltu.trains.length; i++) { + ltu.trains[i] = links.get(i); + ltu.trains[i].ltu = ltu; + } + + return ltu; + } + + public void dissolve() { + for(EntityRailCarBase train : trains) { + train.ltu = null; + } + } + + public void combineLinks() { + + if(trains.length <= 1) return; + + boolean odd = trains.length % 2 == 1; + int centerIndex = odd ? trains.length / 2 : trains.length / 2 - 1; + EntityRailCarBase center = trains[centerIndex]; + EntityRailCarBase prev = center; + + for(int i = centerIndex - 1; i >= 0; i--) { + EntityRailCarBase next = trains[i]; + moveTo(prev, next); + prev = next; + } + + prev = center; + for(int i = centerIndex + 1; i < trains.length; i++) { + EntityRailCarBase next = trains[i]; + moveTo(prev, next); + prev = next; + } + } + + public static void moveTo(EntityRailCarBase prev, EntityRailCarBase next) { + TrainCoupling prevCouple = prev.getCouplingFrom(next); + TrainCoupling nextCouple = next.getCouplingFrom(prev); + Vec3 prevLoc = prev.getCouplingPos(prevCouple); + Vec3 nextLoc = next.getCouplingPos(nextCouple); + Vec3 delta = Vec3.createVectorHelper(prevLoc.xCoord - nextLoc.xCoord, 0, prevLoc.zCoord - nextLoc.zCoord); + double len = delta.lengthVector(); + len *= 0.25D; //suspension, causes movements to be less rigid + BlockPos anchor = new BlockPos(next.posX, next.posY, next.posZ); + Vec3 trainPos = Vec3.createVectorHelper(next.posX, next.posY, next.posZ); + float yaw = EntityRailCarBase.generateYaw(prevLoc, nextLoc); + Vec3 newPos = EntityRailCarBase.getRelPosAlongRail(anchor, len, next.getGauge(), next.worldObj, trainPos, yaw); + next.setPosition(newPos.xCoord, newPos.yCoord, newPos.zCoord); + } + + public void moveLinks() { + + EntityRailCarBase prev = trains[0]; + TrainCoupling dir = prev.getCouplingFrom(null); + double totalSpeed = 0; + double maxSpeed = Double.POSITIVE_INFINITY; + + for(EntityRailCarBase train : this.trains) { + boolean con = train.getCouplingFrom(prev) == dir; + double speed = train.getCurrentSpeed(); + if(!con) speed *= -1; + totalSpeed += speed; + maxSpeed = Math.min(maxSpeed, train.getMaxRailSpeed()); + prev = train; + } + + if(Math.abs(totalSpeed) > maxSpeed) { + totalSpeed = maxSpeed * Math.signum(totalSpeed); + } + + for(EntityRailCarBase train : this.trains) { + + BlockPos anchor = train.getCurentAnchorPos(); + Vec3 corePos = train.getRelPosAlongRail(anchor, totalSpeed); + + if(corePos == null) { + train.derail(); + this.dissolve(); + return; + } else { + train.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); + anchor = train.getCurentAnchorPos(); //reset origin to new position + Vec3 frontPos = train.getRelPosAlongRail(anchor, train.getLengthSpan()); + Vec3 backPos = train.getRelPosAlongRail(anchor, -train.getLengthSpan()); + + if(frontPos == null || backPos == null) { + train.derail(); + this.dissolve(); + return; + } else { + train.renderX = (frontPos.xCoord + backPos.xCoord) / 2D; + train.renderY = (frontPos.yCoord + backPos.yCoord) / 2D; + train.renderZ = (frontPos.zCoord + backPos.zCoord) / 2D; + train.prevRotationYaw = train.rotationYaw; + train.rotationYaw = train.movementYaw = generateYaw(frontPos, backPos); + train.motionX = train.rotationYaw / 360D; // hijacking this crap for easy syncing + train.velocityChanged = true; + } + } + } + } } } diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index abb278066..af8bbe587 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -48,6 +48,7 @@ public class TrainCargoTram extends EntityRailCarElectric implements IGUIProvide @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 1.5; } diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java b/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java index 6e771e40a..e077a14da 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java @@ -25,6 +25,7 @@ public class TrainCargoTramTrailer extends EntityRailCarCargo { this.setSize(5F, 2F); } + @Override public double getMaxRailSpeed() { return 1; } @Override public TrackGauge getGauge() { return TrackGauge.STANDARD; } @Override public double getLengthSpan() { return 1.5; } @Override public int getSizeInventory() { return 29; } diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 5464b4581..f93ba08bc 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -529,6 +529,26 @@ public class AssemblerRecipes { 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), + new OreDictStack(RUBBER.ingot(), 8) + }, 200); + makeRecipe(new ComparableStack(ModItems.drillbit, 1, EnumDrillType.TCALLOY_DIAMOND.ordinal()), new AStack[] { + 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), + new OreDictStack(BI.ingot(), 4), + }, 200); + makeRecipe(new ComparableStack(ModItems.drillbit, 1, EnumDrillType.FERRO_DIAMOND.ordinal()), new AStack[] { + new ComparableStack(ModItems.drillbit, 1, EnumDrillType.FERRO.ordinal()), + new OreDictStack(DIAMOND.dust(), 56) + }, 100); + makeRecipe(new ComparableStack(ModBlocks.machine_large_turbine, 1), new AStack[] { new OreDictStack(STEEL.plate528(), 12), new OreDictStack(RUBBER.ingot(), 4), @@ -953,7 +973,7 @@ public class AssemblerRecipes { new ComparableStack(ModItems.sphere_steel, 1), new ComparableStack(ModItems.pipes_steel, 1), new ComparableStack(ModItems.motor_desh, 3), - new ComparableStack(ModItems.circuit_gold, 1) + new OreDictStack(KEY_CIRCUIT_BISMUTH, 1) }, 200); makeRecipe(new ComparableStack(ModBlocks.machine_catalytic_reformer, 1), new AStack[] { new OreDictStack(STEEL.plateCast(), 12), diff --git a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java index b47ad8804..69c7652e1 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrystallizerRecipes.java @@ -139,6 +139,7 @@ public class CrystallizerRecipes extends SerializableRecipe { 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)); registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.CRACK)), new CrystallizerRecipe(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WAX), 20), new FluidStack(Fluids.CHLORINE, 100)); + registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.PARAFFIN)), new CrystallizerRecipe(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WAX), 20), new FluidStack(Fluids.CHLORINE, 100)); registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WAX)), new CrystallizerRecipe(new ItemStack(ModItems.pellet_charged), 200), new FluidStack(Fluids.IONGEL, 500)); registerRecipe(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.PARAFFIN)), new CrystallizerRecipe(new ItemStack(ModItems.pill_red), 200), new FluidStack(Fluids.ESTRADIOL, 250)); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 0b25b3eb3..1b8d0b48a 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -522,7 +522,7 @@ public class CraftingManager { addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_lithium), new Object[] { "A A", "PLP", "PSP", 'A', ModItems.wire_gold, 'P', TI.plate(), 'S', LI.dust(), 'L', CO.dust() }); addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_schrabidium), new Object[] { " A ", "PNP", "PSP", 'A', ModItems.wire_schrabidium, 'P', SA326.plate(), 'S', SA326.dust(), 'N', NP237.dust() }); addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_schrabidium), new Object[] { " A ", "PSP", "PNP", 'A', ModItems.wire_schrabidium, 'P', SA326.plate(), 'S', SA326.dust(), 'N', NP237.dust() }); - addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark), new Object[] { " A ", "PSP", "PSP", 'A', ModItems.wire_magnetized_tungsten, 'P', ModItems.plate_dineutronium, 'S', ModItems.powder_spark_mix }); + addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark), new Object[] { "P", "S", "S", 'P', ModItems.plate_dineutronium, 'S', ModItems.powder_spark_mix }); addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_trixite), new Object[] { " A ", "PSP", "PTP", 'A', ModItems.wire_aluminium, 'P', AL.plate(), 'S', ModItems.powder_power, 'T', ModItems.crystal_trixite }); addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_trixite), new Object[] { " A ", "PTP", "PSP", 'A', ModItems.wire_aluminium, 'P', AL.plate(), 'S', ModItems.powder_power, 'T', ModItems.crystal_trixite }); addRecipeAuto(ItemBattery.getFullBattery(ModItems.energy_core), new Object[] { "PCW", "TRD", "PCW", 'P', ALLOY.plate(), 'C', ModItems.coil_advanced_alloy, 'W', ModItems.wire_advanced_alloy, 'R', ModItems.cell_tritium, 'D', ModItems.cell_deuterium, 'T', W.ingot() }); @@ -544,13 +544,13 @@ public class CraftingManager { addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_advanced_cell_12), new Object[] { "WPW", "BBB", "WPW", 'W', ModItems.wire_red_copper, 'P', CU.plate(), 'B', ItemBattery.getEmptyBattery(ModItems.battery_advanced_cell_4) }); addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_lithium_cell_6), new Object[] { "WPW", "BWB", "WPW", 'W', ModItems.wire_gold, 'P', TI.plate(), 'B', ItemBattery.getEmptyBattery(ModItems.battery_lithium_cell_3) }); addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_schrabidium_cell_4), new Object[] { "WPW", "BWB", "WPW", 'W', ModItems.wire_schrabidium, 'P', SA326.plate(), 'B', ItemBattery.getEmptyBattery(ModItems.battery_schrabidium_cell_2) }); - addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_6), new Object[] { "BBW", "BBP", "BBW", 'W', ModItems.wire_magnetized_tungsten, 'P', ModItems.plate_dineutronium, 'B', ItemBattery.getEmptyBattery(ModItems.battery_spark) }); - addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_25), new Object[] { " WW", "PCC", "BCC", 'W', ModItems.wire_magnetized_tungsten, 'P', ModItems.plate_dineutronium, 'B', ItemBattery.getEmptyBattery(ModItems.battery_spark), 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_6) }); - addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_100), new Object[] { "W W", "BPB", "BPB", 'W', ModItems.wire_magnetized_tungsten, 'P', ModItems.plate_dineutronium, 'B', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_25) }); - addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_1000), new Object[] { "CCC", "CSC", "CCC", 'S', ModItems.singularity_spark, 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_100) }); - addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_2500), new Object[] { "CVC", "PSP", "CVC", 'S', ModItems.singularity_spark, 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_100), 'V', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_1000), 'P', ModItems.plate_dineutronium }); - addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_10000), new Object[] { "PVP", "VSV", "PVP", 'S', ModItems.singularity_spark, 'V', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_2500), 'P', ModItems.plate_dineutronium }); - addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_power), new Object[] { "CCC", "CSC", "CCC", 'S', ModItems.singularity_spark, 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_10000) }); + addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_6), new Object[] { "BW", "PW", "BW", 'W', ModItems.wire_magnetized_tungsten, 'P', ModItems.powder_spark_mix, 'B', ItemBattery.getEmptyBattery(ModItems.battery_spark) }); + addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_25), new Object[] { "W W", "SCS", "PSP", 'W', ModItems.wire_magnetized_tungsten, 'P', ModItems.plate_dineutronium, 'S', ModItems.powder_spark_mix, 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_6) }); + addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_100), new Object[] { "W W", "BPB", "SSS", 'W', ModItems.wire_magnetized_tungsten, 'P', ModItems.plate_dineutronium, 'S', ModItems.powder_spark_mix, 'B', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_25) }); + addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_1000), new Object[] { "PCP", "CSC", "PCP", 'S', ModItems.singularity_spark, 'P', ModItems.powder_spark_mix, 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_100) }); + addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_2500), new Object[] { "SCS", "CVC", "SCS", 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_100), 'V', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_1000), 'S', ModItems.powder_spark_mix }); + addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_10000), new Object[] { "OSO", "SVS", "OSO", 'S', ModItems.singularity_spark, 'V', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_2500), 'O', ModItems.ingot_osmiridium }); + addRecipeAuto(ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_power), new Object[] { "YSY", "SCS", "YSY", 'S', ModItems.singularity_spark, 'C', ItemBattery.getEmptyBattery(ModItems.battery_spark_cell_10000), 'Y', ModItems.billet_yharonite }); addRecipeAuto(ItemBattery.getFullBattery(ModItems.battery_su), new Object[] { "P", "R", "C", 'P', Items.paper, 'R', REDSTONE.dust(), 'C', COAL.dust() }); addRecipeAuto(ItemBattery.getFullBattery(ModItems.battery_su), new Object[] { "P", "C", "R", 'P', Items.paper, 'R', REDSTONE.dust(), 'C', COAL.dust() }); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 00d3a9f64..c7554d48d 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -28,6 +28,7 @@ import com.hbm.entity.mob.EntityQuackos; import com.hbm.entity.mob.EntityCreeperTainted; import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.entity.projectile.EntityBurningFOEQ; +import com.hbm.entity.train.EntityRailCarBase; import com.hbm.extprop.HbmLivingProps; import com.hbm.extprop.HbmPlayerProps; import com.hbm.handler.ArmorModHandler; @@ -692,6 +693,11 @@ public class ModEventHandler { */ } /// RADIATION STUFF END /// + + + if(event.phase == Phase.END) { + EntityRailCarBase.updateMotion(event.world); + } } if(event.phase == Phase.START) { diff --git a/src/main/resources/assets/hbm/textures/items/battery_schrabidium_cell.png b/src/main/resources/assets/hbm/textures/items/battery_schrabidium_cell.png index d9e92ed00771268b01586299c63e9a19addd6e41..96af24f72ea2ec62560df404deba642d855d6b94 100644 GIT binary patch delta 123 zcmV->0EGXx0jL3xG<07{L_t(Ijm?w64Ztu61Fdf08Q6dkG6$=Y5xSE5>Nknt6MvCU zwuFJ}Wo9ayNy;UWEJ7lLOd+BMASp9zBmjPMy@E^23eS%5&bhpA0X{|#aDRfOND7&) dKj>}YL?5-iDHZ!5UR?kH002ovPDHLkV1j>MGGqV% delta 138 zcmV;50CoSU0k#24S+BV1P{b0Opp;Who{IOlx*XSKtatePmh!Y zl7?$s*gn~k4ZmjxbvGwakd(S5X2M;V6$Mjkf)%)ctx&tv1m`1u$4o)0t}wS8N6yuJ sQxIYt6a0UIDhY)9z$G&H3vajqf}MzHRI34YT;%Cikqf~};4^`jUe zi4i|Kzky>}jyvG9n3-DMgruA#k}7%5SPDqqBgF`K4**KQ>GRyzz|1ZUa_`|7R>f}! zK~54vP|-7nTE-e<({BUZG&TKC4fe&=8WbTZEX(B%a_{2RFBd#v1I*-7$zID*6#xJL M07*qoM6N<$g1P=gzyJUM delta 169 zcmV;a09OCX0o4JJG=GdqL_t(Ijn$K}4TCTcMIRBPFo8#4j%!%KgQQGL!x}IG1vR_; zG(<7zuoKZFud$xx`#M>7@UuKXInNS7K~mg`j-FDv31*_}pzq&zFCT_ojT;a_4X^@t zsE(e#t-XMyaF#Jskc63BPq>|B%+r+hVnArytp8I7+sB=C;35)1jN@(+Q~!udyYLN9 XXgN&^&4nQd00000NkvXXu0mjf-DXPl diff --git a/src/main/resources/assets/hbm/textures/items/battery_schrabidium_cell_4.png b/src/main/resources/assets/hbm/textures/items/battery_schrabidium_cell_4.png index b35ac68822dc4421f01f6cfcdb2896a9c66d8bc3..fe84f7e26e8eb81ae6d33a4fa0254261d9b9d7f8 100644 GIT binary patch delta 269 zcmV+o0rLK!0=NQ@G=J|&L_t(Ijm49(Zo)7WMGvJLLwVUy2Snb+g4Fzhzl{D8QbyQW zio(P|GL|i7L1N-{XoG@dl}c6BJNekx*YC+T{DoB2zT>-_HP1~|Ez2?sIrKk<6Xkde zMS;{cPy0P}lHgk`Nn+mnUgPhF0dhRfpLaXno#QYZaz35V#ed?4*=}DOe=iIGOhf=k z)0C>Jt_uyfE9lBO(>%AYAOkwwws%@!GMW3q07fIG>ote6#9uBq+-~6^R)o%G0KBbM zQEn?5P!K`% TH$V{p0000|%0c?LS4)t%EM*C@1##J}AG;5GrD(Kf z3hYFf!V4EeX;P3Jge()PO31Pf+w~*YU=9)i5ikSJz}4Z6^=+>+!bvGiSz?~W20CnO z(wQNOR<|JF5{BHh=Fl|U+V+JpX8kq+K%6819P8T4w!8+7)&MM&^75d;e-oru7q_D? ufmb<50YX(t@mwsMKXU=x-S^$X*Lnb_Hh-EkmJ?0@0000prVdP zNOgU-K;D26(o!dH5+440~p5<0HTl})@D*ld3^PGo?)#GdX7>oB0|@7 zUM$*zT@CGs&MZq^_PKJTc%#5aCXe~bF=w}KVsw(c?qX(XzQ(pi~YqbCX002ov JPDHLkV1n11)~B!2;OQb$4nuFf3k00004XF*Lt006O%3;baP00009a7bBm000id z000id0mpBsWB>pF)Ja4^R5(w?lCcfKFc3wLER)g_5*si>ipU#;8JGY%Mo58c+H8=* zNk`a%364AKoIq>`1O-nz-M8fbeU=V>WhFge3xFaW&BEOPHh*JL-~kcWR9B^N9+s?D`(=)Z2Go@e^==t~1q!O0JDWC*arfJa^||7@(uqZ=^3& z^9eHPBTZF_n#`V7Yf%$H08@6IsENHXqF#vxFh??QP-(5J6v=>3`F}v1s&Z@0Tgcl8 q#vo`NUFGyv%^eMOy}W_n0q_7Rg=2W?_clTR0000 Date: Mon, 29 May 2023 20:37:34 -0700 Subject: [PATCH 125/285] Preliminary BunkerComponents --- .../java/com/hbm/items/tool/ItemWandD.java | 41 +- src/main/java/com/hbm/lib/HbmWorld.java | 18 +- .../{worldgen => gen}/MapGenNTMFeatures.java | 14 +- .../com/hbm/world/gen/NTMWorldGenerator.java | 126 ++++ .../world/gen/ProceduralStructureStart.java | 247 ++++++++ .../world/gen/component/BunkerComponents.java | 547 ++++++++++++++++++ .../component}/CivilianFeatures.java | 2 +- .../component}/Component.java | 76 ++- .../component}/OfficeFeatures.java | 28 +- .../component}/RuinFeatures.java | 2 +- .../hbm/world/worldgen/NTMWorldGenerator.java | 53 -- .../components/ProceduralComponents.java | 240 -------- 12 files changed, 1012 insertions(+), 382 deletions(-) rename src/main/java/com/hbm/world/{worldgen => gen}/MapGenNTMFeatures.java (93%) create mode 100644 src/main/java/com/hbm/world/gen/NTMWorldGenerator.java create mode 100644 src/main/java/com/hbm/world/gen/ProceduralStructureStart.java create mode 100644 src/main/java/com/hbm/world/gen/component/BunkerComponents.java rename src/main/java/com/hbm/world/{worldgen/components => gen/component}/CivilianFeatures.java (99%) rename src/main/java/com/hbm/world/{worldgen/components => gen/component}/Component.java (94%) rename src/main/java/com/hbm/world/{worldgen/components => gen/component}/OfficeFeatures.java (96%) rename src/main/java/com/hbm/world/{worldgen/components => gen/component}/RuinFeatures.java (99%) delete mode 100644 src/main/java/com/hbm/world/worldgen/NTMWorldGenerator.java delete mode 100644 src/main/java/com/hbm/world/worldgen/components/ProceduralComponents.java diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index 7ea8ad8b7..a9c9a49ae 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -2,34 +2,15 @@ package com.hbm.items.tool; import java.util.List; -import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.rail.IRailNTM; -import com.hbm.blocks.rail.IRailNTM.RailContext; -import com.hbm.explosion.vanillant.ExplosionVNT; -import com.hbm.explosion.vanillant.standard.BlockAllocatorBulkie; -import com.hbm.explosion.vanillant.standard.BlockMutatorBulkie; -import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; -import com.hbm.explosion.vanillant.standard.EntityProcessorStandard; -import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard; -import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; import com.hbm.lib.Library; -import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PlayerInformPacket; -import com.hbm.util.ParticleUtil; -import com.hbm.util.fauxpointtwelve.BlockPos; -import com.hbm.world.feature.OilSpot; +import com.hbm.world.gen.component.BunkerComponents; -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.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; import net.minecraft.world.World; +import net.minecraft.world.gen.structure.StructureBoundingBox; public class ItemWandD extends Item { @@ -43,13 +24,13 @@ public class ItemWandD extends Item { if(pos != null) { - ExplosionVNT vnt = new ExplosionVNT(world, pos.hitVec.xCoord, pos.hitVec.yCoord, pos.hitVec.zCoord, 7); + /*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()); vnt.setEntityProcessor(new EntityProcessorStandard()); vnt.setPlayerProcessor(new PlayerProcessorStandard()); vnt.setSFX(new ExplosionEffectStandard()); - vnt.explode(); + vnt.explode();*/ /*TimeAnalyzer.startCount("setBlock"); world.setBlock(pos.blockX, pos.blockY, pos.blockZ, Blocks.dirt); @@ -71,20 +52,12 @@ public class ItemWandD extends Item { tom.destructionRange = 600; world.spawnEntityInWorld(tom);*/ - /*ItemStack itemStack = new ItemStack(ModItems.book_lore); - BookLoreType.setTypeForStack(itemStack, BookLoreType.BOOK_IODINE); - - player.inventory.addItemStackToInventory(itemStack); - player.inventoryContainer.detectAndSendChanges();*/ - //use sparingly - /*int k = ((pos.blockX >> 4) << 4) + 8; + int k = ((pos.blockX >> 4) << 4) + 8; int l = ((pos.blockZ >> 4) << 4) + 8; - MapGenBunker.Start start = new MapGenBunker.Start(world, world.rand, pos.blockX >> 4, pos.blockZ >> 4); - start.generateStructure(world, world.rand, new StructureBoundingBox(k - 124, l - 124, k + 15 + 124, l + 15 + 124));*/ - //MapGenStronghold.Start startS = new MapGenStronghold.Start(world, world.rand, pos.blockX >> 4, pos.blockZ >> 4); - //startS.generateStructure(world, world.rand, new StructureBoundingBox(k - 124, l - 124, k + 15 + 124, l + 15 + 124)); + BunkerComponents.BunkerStart start = new BunkerComponents.BunkerStart(world, world.rand, pos.blockX >> 4, pos.blockZ >> 4); + start.generateStructure(world, world.rand, new StructureBoundingBox(k - 124, l - 124, k + 15 + 124, l + 15 + 124)); /*EntityNukeTorex torex = new EntityNukeTorex(world); torex.setPositionAndRotation(pos.blockX, pos.blockY + 1, pos.blockZ, 0, 0); diff --git a/src/main/java/com/hbm/lib/HbmWorld.java b/src/main/java/com/hbm/lib/HbmWorld.java index 44bea3667..c12dd3f6c 100644 --- a/src/main/java/com/hbm/lib/HbmWorld.java +++ b/src/main/java/com/hbm/lib/HbmWorld.java @@ -1,14 +1,16 @@ package com.hbm.lib; -import com.hbm.world.worldgen.MapGenNTMFeatures; -import com.hbm.world.worldgen.NTMWorldGenerator; -import com.hbm.world.worldgen.components.CivilianFeatures; -import com.hbm.world.worldgen.components.OfficeFeatures; -import com.hbm.world.worldgen.components.RuinFeatures; +import com.hbm.world.gen.MapGenNTMFeatures; +import com.hbm.world.gen.NTMWorldGenerator; +import com.hbm.world.gen.component.BunkerComponents; +import com.hbm.world.gen.component.CivilianFeatures; +import com.hbm.world.gen.component.OfficeFeatures; +import com.hbm.world.gen.component.RuinFeatures; 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 { @@ -24,7 +26,10 @@ public class HbmWorld { registerNTMFeatures(); registerWorldGen(new HbmWorldGen(), 1); - registerWorldGen(new NTMWorldGenerator(), 1); //Ideally, move everything over from HbmWorldGen to NTMWorldGenerator + + NTMWorldGenerator worldGenerator = new NTMWorldGenerator(); + registerWorldGen(worldGenerator, 1); //Ideally, move everything over from HbmWorldGen to NTMWorldGenerator + MinecraftForge.EVENT_BUS.register(worldGenerator); //registerWorldGen(new WorldGenTest(), 1); } @@ -37,5 +42,6 @@ public class HbmWorld { CivilianFeatures.registerComponents(); OfficeFeatures.registerComponents(); RuinFeatures.registerComponents(); + BunkerComponents.registerComponents(); } } diff --git a/src/main/java/com/hbm/world/worldgen/MapGenNTMFeatures.java b/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java similarity index 93% rename from src/main/java/com/hbm/world/worldgen/MapGenNTMFeatures.java rename to src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java index 4bb3ea17b..9c1a55339 100644 --- a/src/main/java/com/hbm/world/worldgen/MapGenNTMFeatures.java +++ b/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java @@ -1,4 +1,4 @@ -package com.hbm.world.worldgen; +package com.hbm.world.gen; import java.util.Arrays; import java.util.Iterator; @@ -7,9 +7,9 @@ import java.util.Random; import com.hbm.config.GeneralConfig; import com.hbm.config.StructureConfig; -import com.hbm.world.worldgen.components.CivilianFeatures.*; -import com.hbm.world.worldgen.components.OfficeFeatures.*; -import com.hbm.world.worldgen.components.RuinFeatures.*; +import com.hbm.world.gen.component.CivilianFeatures.*; +import com.hbm.world.gen.component.OfficeFeatures.*; +import com.hbm.world.gen.component.RuinFeatures.*; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; @@ -99,10 +99,8 @@ public class MapGenNTMFeatures extends MapGenStructure { public Start(World world, Random rand, int chunkX, int chunkZ) { super(chunkX, chunkZ); - BiomeGenBase biome = world.getBiomeGenForCoords(chunkX * 16 + 8, chunkZ * 16 + 8); - int posY = world.getHeightValue(chunkX * 16 + 8, chunkZ * 16 + 8); - if(posY == 0) - posY = world.getTopSolidOrLiquidBlock(chunkX * 16 + 8, chunkZ * 16 + 8); + BiomeGenBase biome = world.getBiomeGenForCoords(chunkX * 16 + 8, chunkZ * 16 + 8); //Only gets the biome in the corner of the chunk. + final int posY = 64; // Terrain *does not exist* at this stage - at least, for vanilla. Here it has to be called after, but better safe than sorry. /* * 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 diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java new file mode 100644 index 000000000..0337af69a --- /dev/null +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -0,0 +1,126 @@ +package com.hbm.world.gen; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType; +import com.hbm.config.StructureConfig; + +import cpw.mods.fml.common.IWorldGenerator; +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +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.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate; +import net.minecraftforge.event.terraingen.InitMapGenEvent.EventType; +import net.minecraftforge.event.terraingen.PopulateChunkEvent; +import static net.minecraftforge.event.terraingen.TerrainGen.*; +import net.minecraftforge.event.world.WorldEvent; + +public class NTMWorldGenerator implements IWorldGenerator { + + private MapGenNTMFeatures scatteredFeatureGenerator = new MapGenNTMFeatures(); + + 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) { + scatteredFeatureGenerator = (MapGenNTMFeatures) getModdedMapGen(new MapGenNTMFeatures(), 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()); + 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) return; + + switch (event.world.provider.dimensionId) { + case -1: + break; + case 0: + generateOverworldStructures(event.world, event.chunkProvider, event.chunkX, event.chunkZ); + break; + case 1: + break; + } + } + + 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.scatteredFeatureGenerator.func_151539_a(chunkProvider, world, chunkX, chunkZ, ablock); + this.scatteredFeatureGenerator.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 + if(StructureConfig.enableStructures) generateOverworldStructures(world, chunkGenerator, chunkX, chunkZ); //Do it through the post-population generation directly + } + + final int posX = (chunkX << 4) + 8; + final int posZ = (chunkZ << 4) + 8; + BiomeGenBase biome = world.getBiomeGenForCoords(posX, posZ); + + /* 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). */ + + + } + + 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; + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/world/gen/ProceduralStructureStart.java b/src/main/java/com/hbm/world/gen/ProceduralStructureStart.java new file mode 100644 index 000000000..f5dcc1446 --- /dev/null +++ b/src/main/java/com/hbm/world/gen/ProceduralStructureStart.java @@ -0,0 +1,247 @@ +package com.hbm.world.gen; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; +import java.util.Random; + +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; +import net.minecraft.world.gen.structure.StructureBoundingBox; +import net.minecraft.world.gen.structure.StructureComponent; +import net.minecraft.world.gen.structure.StructureStart; + +/** This makes so much more sense! OOP wasn't confusing sometimes, you were just retarded! */ +public class ProceduralStructureStart extends StructureStart { + /** List of queued components to call buildComponent on randomly. Iterated over until hard limits reached. */ + public List queuedComponents = new ArrayList(); + /** List of the component weights for this particular structure -- weights removed as components are 'used up.' */ + protected List componentWeightList; //Make sure to initialize the array list to the weight array size, since might as well + + public ProceduralStructureStart() { } + + public ProceduralStructureStart(int chunkX, int chunkZ) { + super(chunkX, chunkZ); + } + + /** 'starter' is just the starting component, so like a village well. meant to be nice and convenient and not needing a super necessarily. */ + public ProceduralStructureStart buildStart(World world, Random rand, StructureComponent starter, Weight...weights) { + prepareWeights(weights); + + components.add(starter); + queuedComponents.add(starter); + while(!queuedComponents.isEmpty()) { + final int i = rand.nextInt(queuedComponents.size()); + StructureComponent component = queuedComponents.remove(i); + if(component instanceof ProceduralComponent) + ((ProceduralComponent) component).buildComponent(this, rand); //additional components are added to the list; the 'last component' is the caller already. + } + + this.updateBoundingBox(); + return this; + } + + public void prepareWeights(Weight...weights) { + componentWeightList = new ArrayList(weights.length); + + for(int i = 0; i < weights.length; i++) { + weights[i].instancesSpawned = 0; + componentWeightList.add(weights[i]); + } + } + + /** Reads from NBT. */ + @Override + public void func_143017_b(NBTTagCompound nbt) { + + } + + /** Writes to NBT. */ + @Override + public void func_143022_a(NBTTagCompound nbt) { + + } + + protected int getTotalWeight() { + boolean flag = false; + int totalWeight = 0; + Weight weight; + + for(Iterator iterator = componentWeightList.iterator(); iterator.hasNext(); totalWeight += weight.weight) { //Iterates over the entire list to find the total weight + weight = (Weight) iterator.next(); + + if(weight.instanceLimit >= 0 && weight.instancesSpawned < weight.instanceLimit) //can more structure pieces be added, in general? + flag = true; + } + + return flag ? totalWeight : -1; + } + + protected StructureComponent getWeightedComponent(StructureComponent last, Random rand, int minX, int minY, int minZ, int coordMode, int componentType) { + int totalWeight = getTotalWeight(); + + if(totalWeight < 0) + return null; + + for(int i = 0; i < 5; i++) { + int value = rand.nextInt(totalWeight); //Pick a random value, based on how many parts there are already + Iterator iterator = componentWeightList.iterator(); + + while(iterator.hasNext()) { + Weight weight = (Weight)iterator.next(); + value -= weight.weight; //Iterate over the list until the value is less than 0 + + if(value < 0) { + if(!weight.canSpawnStructure(componentType, coordMode, last)) //Additional checks based on game state info preventing spawn? start from beginning + break; + + StructureComponent component = weight.lambda.findValidPlacement(components, rand, minX, minY, minZ, coordMode, componentType); //Construct the chosen component + + if(component != null) { //If it has been constructed, add it + weight.instancesSpawned++; + + if(!weight.canSpawnMoreStructures()) //Structure can no longer be spawned regardless of game state? remove as an option + componentWeightList.remove(weight); + + return component; + } + + } + } + } + + return null; + } + + //might remove these, add hard limits so subclasses can create their own implementations + protected int sizeLimit = 50; + protected int distanceLimit = 64; + + /** Gets the next valid component based on the structure start's members */ + protected StructureComponent getNextValidComponent(StructureComponent last, Random rand, int minX, int minY, int minZ, int coordMode, int componentType) { + + if(components.size() > sizeLimit) //Hard limit on amount of components + return null; + + if(Math.abs(minX - (func_143019_e() * 16 + 8)) <= distanceLimit && Math.abs(minZ - (func_143018_f() * 16 + 8)) <= distanceLimit) { //Hard limit on spread of structure + + StructureComponent structure = getWeightedComponent(last, rand, minX, minY, minZ, coordMode, componentType + 1); //Returns null if all checks fail + + if(structure != null) { + this.components.add(structure); //Adds component to structure start list + this.queuedComponents.add(structure); //Add it to the list of queued components waiting to be built + } + + return structure; + } + + return null; + } + + /** Useful utility method to automatically construct the appropriate structure bounding box; based on the getNextComponents below!
+ * posX, posY, posZ represent the original anchor point of the structurecomponent (minX, minY, minZ).
+ * offsetX, offsetY, offsetZ all add onto that point, meaning that offsets will always move that anchor towards +x, +y, +z (in terms of south).
+ * maxX, maxY, maxZ additionally are added to get the maximum x, y, z (obviously) in terms of south. An offset of 1 is subtracted, so these do not start at 0, and + * refer to the ACTUAL dimensions of the component.
+ * The initial anchor point is kind of arbitrary based on where it is in the door, so what really matters is keeping it consistent. + */ + public static StructureBoundingBox getComponentToAddBoundingBox(int posX, int posY, int posZ, int offsetX, int offsetY, int offsetZ, int maxX, int maxY, int maxZ, int coordMode) { + switch(coordMode) { + default: + case 0: return new StructureBoundingBox(posX + offsetX, posY + offsetY, posZ + offsetZ, posX + maxX - 1 + offsetX, posY + maxY - 1 + offsetY, posZ + maxZ - 1 + offsetZ); //South + case 1: return new StructureBoundingBox(posX - maxZ + 1 - offsetZ, posY + offsetY, posZ + offsetX, posX - offsetZ, posY + maxY - 1 + offsetY, posZ + maxX - 1 + offsetX); //West + case 2: return new StructureBoundingBox(posX - maxX + 1 - offsetX, posY + offsetY, posZ - maxZ + 1 - offsetZ, posX - offsetX, posY + maxY - 1 + offsetY, posZ + offsetZ); //North + case 3: return new StructureBoundingBox(posX + offsetZ, posY + offsetY, posZ - maxX + 1 - offsetX, posX + maxZ - 1 + offsetZ, posY + maxY - 1 + offsetY, posZ - offsetX); //East + } + } + + /** no class-based multiple inheritance? */ + public static interface ProceduralComponent { + + public default void buildComponent(ProceduralStructureStart start, Random rand) { } //no class-based multiple inheritance? + + /** Gets next component in the direction this component is facing.
'original' refers to the initial starting component (hard distance limits), 'components' refers to the StructureStart list.
+ * offset and offsetY are added to the anchor point of the new component
, referring to the minX and minY respectively (in terms of south).
+ * An offset of 1 is added to the minZ anchor point, relative to south. + */ + public default StructureComponent getNextComponentNormal(ProceduralStructureStart start, StructureComponent caller, int coordMode, Random rand, int offset, int offsetY) { + StructureBoundingBox box = caller.getBoundingBox(); + switch(coordMode) { + case 0: return start.getNextValidComponent(caller, rand, box.minX + offset, box.minY + offsetY, box.maxZ + 1, coordMode, caller.getComponentType()); //South + case 1: return start.getNextValidComponent(caller, rand, box.minX - 1, box.minY + offsetY, box.minZ + offset, coordMode, caller.getComponentType()); //West + case 2: return start.getNextValidComponent(caller, rand, box.maxX - offset, box.minY + offsetY, box.minZ - 1, coordMode, caller.getComponentType()); //North + case 3: return start.getNextValidComponent(caller, rand, box.maxX + 1, box.minY + offsetY, box.maxZ - offset, coordMode, caller.getComponentType()); //East + default: return null; + } + } + + /** Gets next component in the opposite direction this component is facing. */ + public default StructureComponent getNextComponentAntiNormal(ProceduralStructureStart start, StructureComponent caller, int coordMode, Random rand, int offset, int offsetY) { + StructureBoundingBox box = caller.getBoundingBox(); + switch(coordMode) { + case 0: return start.getNextValidComponent(caller, rand, box.maxX - offset, box.minY + offsetY, box.minZ - 1, 2, caller.getComponentType()); //South + case 1: return start.getNextValidComponent(caller, rand, box.maxX + 1, box.minY + offsetY, box.maxZ - offset, 3, caller.getComponentType()); //West + case 2: return start.getNextValidComponent(caller, rand, box.minX + offset, box.minY + offsetY, box.maxZ + 1, 0, caller.getComponentType()); //North + case 3: return start.getNextValidComponent(caller, rand, box.minX - 1, box.minY + offsetY, box.minZ + offset, 1, caller.getComponentType()); //East + default: return null; + } + } + + //Keep in mind for these methods: a given room would have its *actual entrance* opposite the side it is facing. + /** Gets next component, to the West (-X) relative to this component. */ + public default StructureComponent getNextComponentWest(ProceduralStructureStart start, StructureComponent caller, int coordMode, Random rand, int offset, int offsetY) { + StructureBoundingBox box = caller.getBoundingBox(); + switch(coordMode) { + case 0: return start.getNextValidComponent(caller, rand, box.minX - 1, box.minY + offsetY, box.minZ + offset, 1, caller.getComponentType()); //South + case 1: return start.getNextValidComponent(caller, rand, box.maxX - offset, box.minY + offsetY, box.minZ - 1, 2, caller.getComponentType()); //West + case 2: return start.getNextValidComponent(caller, rand, box.maxX + 1, box.minY + offsetY, box.maxZ - offset, 3, caller.getComponentType()); //North + case 3: return start.getNextValidComponent(caller, rand, box.minX + offset, box.minY + offsetY, box.maxZ + 1, 0, caller.getComponentType()); //East + default: return null; + } + } + + /** Gets next component, to the East (+X) relative to this component. */ + public default StructureComponent getNextComponentEast(ProceduralStructureStart start, StructureComponent caller, int coordMode, Random rand, int offset, int offsetY) { + StructureBoundingBox box = caller.getBoundingBox(); + switch(coordMode) { + case 0: return start.getNextValidComponent(caller, rand, box.maxX + 1, box.minY + offsetY, box.maxZ - offset, 3, caller.getComponentType()); //South + case 1: return start.getNextValidComponent(caller, rand, box.minX + offset, box.minY + offsetY, box.maxZ + 1, 0, caller.getComponentType()); //West + case 2: return start.getNextValidComponent(caller, rand, box.minX - 1, box.minY + offsetY, box.minZ + offset, 1, caller.getComponentType()); //North + case 3: return start.getNextValidComponent(caller, rand, box.maxX - offset, box.minY + offsetY, box.minZ - 1, 2, caller.getComponentType()); //East + default: return null; + } + } + } + + /** Returns a new instance of this structureComponent, or null if not able to be placed.
Based on bounding box checks. Please use a method reference in the component. */ + @FunctionalInterface + protected static interface instantiateStructure { + StructureComponent findValidPlacement(List components, Random rand, int minX, int minY, int minZ, int coordMode, int componentType); + } + + protected static class Weight { + + public final instantiateStructure lambda; //Read above + + public final int weight; //Weight of this component + public int instancesSpawned; //How many components spawned? + public int instanceLimit; //Limit on amount of components: -1 for no limit + + public Weight(int weight, int limit, instantiateStructure lambda) { + this.weight = weight; + this.instanceLimit = limit; + this.lambda = lambda; + } + + //Checks if another structure can be spawned based on input data + public boolean canSpawnStructure(int componentAmount, int coordMode, StructureComponent component) { + return this.instanceLimit < 0 || this.instancesSpawned < this.instanceLimit; + } + + //Checks if another structure can be spawned at all (used to flag for removal from the list) + public boolean canSpawnMoreStructures() { + return this.instanceLimit < 0 || this.instancesSpawned < this.instanceLimit; + } + + } +} \ 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 new file mode 100644 index 000000000..b132b862d --- /dev/null +++ b/src/main/java/com/hbm/world/gen/component/BunkerComponents.java @@ -0,0 +1,547 @@ +package com.hbm.world.gen.component; + +import java.util.List; +import java.util.Random; + +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.HbmChestContents; +import com.hbm.world.gen.ProceduralStructureStart; +import com.hbm.world.gen.ProceduralStructureStart.ProceduralComponent; +import com.hbm.world.gen.component.Component.ConcreteBricks; + +import net.minecraft.init.Blocks; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.world.World; +import net.minecraft.world.gen.structure.MapGenStructureIO; +import net.minecraft.world.gen.structure.StructureBoundingBox; +import net.minecraft.world.gen.structure.StructureComponent; + +public class BunkerComponents { + + public static class BunkerStart extends ProceduralStructureStart { + + public BunkerStart(World world, Random rand, int chunkX, int chunkZ) { + super(chunkX, chunkZ); + + this.sizeLimit = 7 + rand.nextInt(6); + this.distanceLimit = 40; + + final int x = chunkX * 16 + 8; + final int z = chunkZ * 16 + 8; + + Weight[] weights = new Weight[] { + new Weight(6, 3, Corridor::findValidPlacement), + new Weight(7, 4, BedroomL::findValidPlacement), + new Weight(10, 3, FunJunction::findValidPlacement), + new Weight(5, 2, BathroomL::findValidPlacement), + }; + + StructureComponent starter = new StartingHub(rand, x, z); + + buildStart(world, rand, starter, weights); + + this.markAvailableHeight(world, rand, 20); + } + + } + + public static void registerComponents() { + MapGenStructureIO.func_143031_a(StartingHub.class, "NTMBStartingHub"); + MapGenStructureIO.func_143031_a(Corridor.class, "NTMBCorridor"); + MapGenStructureIO.func_143031_a(BedroomL.class, "NTMBBedroomL"); + MapGenStructureIO.func_143031_a(FunJunction.class, "NTMBFunJunction"); + MapGenStructureIO.func_143031_a(BathroomL.class, "NTMBBathroomL"); + //TODO more rooms for more variety + } + + //why are we still doing this? + private static ConcreteBricks ConcreteBricks = new ConcreteBricks(); + + public static class StartingHub extends Component implements ProceduralComponent { + + private boolean[] paths = new boolean[3]; + + public StartingHub() { } + + public StartingHub(Random rand, int x, int z) { + super(rand, x, 64, z, 7, 5, 7); + } + + public StartingHub(int componentType, StructureBoundingBox box, int coordMode) { + super(componentType); + this.boundingBox = box; + this.coordBaseMode = coordMode; + } + + /** write to nbt */ + @Override + protected void func_143012_a(NBTTagCompound nbt) { + super.func_143012_a(nbt); + for(int i = 0; i < paths.length; i++) + nbt.setBoolean("p" + i, paths[i]); + } + + /** read from nbt */ + @Override + protected void func_143011_b(NBTTagCompound nbt) { + super.func_143011_b(nbt); + for(int i = 0; i < paths.length; i++) + paths[i] = nbt.getBoolean("p" + i); + } + + @Override + public void buildComponent(ProceduralStructureStart start, Random rand) { + paths[0] = this.getNextComponentEast(start, this, coordBaseMode, rand, 5, 1) != null; + paths[1] = this.getNextComponentAntiNormal(start, this, coordBaseMode, rand, 4, 1) != null; + paths[2] = this.getNextComponentWest(start, this, coordBaseMode, rand, 3, 1) != null; + } + + @Override + public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { + + fillWithAir(world, box, 1, 1, 1, 6, 3, 6); + //floor + fillWithMetadataBlocks(world, box, 1, 0, 1, 6, 0, 6, ModBlocks.vinyl_tile, 1); + //ceiling + fillWithBlocks(world, box, 1, 4, 1, 6, 4, 6, ModBlocks.vinyl_tile); + //upper shield + fillWithBlocks(world, box, 1, 4, 4, 3, 4, 6, ModBlocks.reinforced_stone); + fillWithBlocks(world, box, 0, 5, 0, 7, 5, 7, ModBlocks.reinforced_stone); + //walls + fillWithRandomizedBlocks(world, box, 0, 0, 0, 0, 4, 7, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 1, 0, 7, 6, 4, 7, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 7, 0, 0, 7, 4, 7, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 1, 0, 0, 6, 4, 0, rand, ConcreteBricks); + //meh, fix the area later + final int hpos = Component.getAverageHeight(world, boundingBox, box, componentType - boundingBox.minY); + //top hatch + placeBlockAtCurrentPosition(world, ModBlocks.concrete_slab, 1, 0, hpos, 5, box); + 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.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)); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_slab, 1, 4, hpos, 5, box); + //tunnel downwards + fillWithBlocks(world, box, 1, 6, 4, 1, hpos - 1, 6, ModBlocks.reinforced_stone); + fillWithBlocks(world, box, 2, 1, 6, 2, hpos - 1, 6, ModBlocks.reinforced_stone); + fillWithBlocks(world, box, 3, 6, 4, 3, hpos - 1, 6, ModBlocks.reinforced_stone); + fillWithBlocks(world, box, 2, 6, 4, 2, hpos - 1, 4, ModBlocks.reinforced_stone); + fillWithMetadataBlocks(world, box, 2, 1, 5, 2, hpos - 1, 5, ModBlocks.ladder_sturdy, getDecoMeta(2)); //double check meta + + /* DECO */ + //lamps + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 2, 5, 2, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 5, 5, 2, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 5, 5, 5, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 2, 4, 2, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 5, 4, 2, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 5, 4, 5, box); + //machine + placeBlockAtCurrentPosition(world, ModBlocks.deco_tungsten, 0, 3, 1, 6, box); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(2), 4, 1, 6, HbmChestContents.antenna/*TODO change */, 5); + placeBlockAtCurrentPosition(world, ModBlocks.deco_tungsten, 0, 5, 1, 6, box); + fillWithMetadataBlocks(world, box, 3, 2, 6, 5, 2, 6, ModBlocks.concrete_smooth_stairs, getStairMeta(2) | 4); + fillWithMetadataBlocks(world, box, 3, 3, 6, 5, 3, 6, ModBlocks.tape_recorder, getDecoMeta(2)); + //desk + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, getStairMeta(1) | 4, 3, 1, 4, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, getStairMeta(3) | 4, 4, 1, 4, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, getStairMeta(0) | 4, 5, 1, 4, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(0), 4, 2, 4, box); + //clear out entryways based on path + if(paths[0]) fillWithAir(world, box, 7, 1, 2, 7, 2, 3); + if(paths[1]) fillWithAir(world, box, 3, 1, 0, 4, 2, 0); + if(paths[2]) fillWithAir(world, box, 0, 1, 2, 0, 2, 3); + + return true; + } + } + + public static class Corridor extends Component implements ProceduralComponent { + + private boolean path; + + public Corridor() { } + + public Corridor(int componentType, StructureBoundingBox box, int coordMode) { + super(componentType); + this.boundingBox = box; + this.coordBaseMode = coordMode; + } + + /** write to nbt */ + @Override + protected void func_143012_a(NBTTagCompound nbt) { + super.func_143012_a(nbt); + nbt.setBoolean("p", path); + } + + /** read from nbt */ + @Override + protected void func_143011_b(NBTTagCompound nbt) { + super.func_143011_b(nbt); + path = nbt.getBoolean("p"); + } + + @Override + public void buildComponent(ProceduralStructureStart start, Random rand) { + path = this.getNextComponentNormal(start, this, coordBaseMode, rand, 3, 1) != null; + } + + @Override + public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { + + fillWithAir(world, box, 1, 1, 1, 4, 3, 5); + //floor + fillWithMetadataBlocks(world, box, 1, 0, 1, 4, 0, 5, ModBlocks.vinyl_tile, 1); + //ceiling + fillWithBlocks(world, box, 1, 4, 1, 4, 4, 5, ModBlocks.vinyl_tile); + //upper shield + fillWithBlocks(world, box, 0, 5, 0, 5, 5, 6, ModBlocks.reinforced_stone); + //walls + fillWithRandomizedBlocks(world, box, 0, 0, 0, 0, 4, 6, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 1, 0, 6, 4, 4, 6, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 5, 0, 0, 5, 4, 6, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 1, 0, 0, 4, 4, 0, rand, ConcreteBricks); + + //TODO different deco types? maybe plants or vending machines? + //save it to nbt either way + /* DECO */ + //lamps + fillWithBlocks(world, box, 2, 5, 3, 3, 5, 3, ModBlocks.reinforced_lamp_off); + fillWithBlocks(world, box, 2, 4, 3, 3, 4, 3, ModBlocks.fan); + //table w/ chairs + final int stairMetaS = getStairMeta(3); + final int stairMetaN = getStairMeta(2); + + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaS, 1, 1, 2, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaN, 1, 1, 4, box); + placeBlockAtCurrentPosition(world, Blocks.fence, 0, 1, 1, 3, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_pressure_plate, 1, 1, 2, 3, box); + //desk w/ computer + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, 4, 1, 2, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaN, 4, 1, 4, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(1), 4, 2, 2, box); + //doors + placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 2, 1, 0); + placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 3, 1, 0); + if(path) fillWithAir(world, box, 2, 1, 6, 3, 2, 6); + + return true; + } + + public static StructureComponent findValidPlacement(List components, Random rand, int x, int y, int z, int coordMode, int type) { + StructureBoundingBox box = ProceduralStructureStart.getComponentToAddBoundingBox(x, y, z, -3, -1, 0, 6, 6, 7, coordMode); + return box.minY > 10 && StructureComponent.findIntersecting(components, box) == null ? new Corridor(type, box, coordMode) : null; + } + } + + public static class BedroomL extends Component implements ProceduralComponent { + + private boolean path; + + public BedroomL() { } + + public BedroomL(int componentType, StructureBoundingBox box, int coordMode) { + super(componentType); + this.boundingBox = box; + this.coordBaseMode = coordMode; + } + + /** write to nbt */ + @Override + protected void func_143012_a(NBTTagCompound nbt) { + super.func_143012_a(nbt); + nbt.setBoolean("p", path); + } + + /** read from nbt */ + @Override + protected void func_143011_b(NBTTagCompound nbt) { + super.func_143011_b(nbt); + path = nbt.getBoolean("p"); + } + + @Override + public void buildComponent(ProceduralStructureStart start, Random rand) { + path = this.getNextComponentWest(start, this, coordBaseMode, rand, 9, 1) != null; + } + + @Override + public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { + + fillWithAir(world, box, 4, 1, 1, 8, 3, 4); + fillWithAir(world, box, 1, 1, 5, 8, 3, 9); + //floor + fillWithMetadataBlocks(world, box, 4, 0, 1, 8, 0, 4, ModBlocks.vinyl_tile, 1); + fillWithMetadataBlocks(world, box, 1, 0, 5, 8, 0, 9, ModBlocks.vinyl_tile, 1); + //ceiling + fillWithBlocks(world, box, 4, 4, 1, 8, 4, 4, ModBlocks.vinyl_tile); + fillWithBlocks(world, box, 1, 4, 5, 8, 4, 9, ModBlocks.vinyl_tile); + //upper shield + fillWithBlocks(world, box, 3, 5, 0, 9, 5, 3, ModBlocks.reinforced_stone); + fillWithBlocks(world, box, 0, 5, 4, 9, 5, 10, ModBlocks.reinforced_stone); + //walls + fillWithRandomizedBlocks(world, box, 0, 0, 4, 0, 4, 10, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 1, 0, 10, 8, 4, 10, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 9, 0, 0, 9, 4, 10, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 4, 0, 0, 8, 4, 0, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 3, 0, 0, 3, 4, 4, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 1, 0, 4, 2, 4, 4, rand, ConcreteBricks); + + /* DECO */ + //lamps + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 3, 5, 7, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 6, 5, 7, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 6, 5, 3, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 3, 4, 7, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 6, 4, 7, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 6, 4, 3, box); + //Beds w/ table + final int stairMetaW = getStairMeta(0); + final int stairMetaE = getStairMeta(1); + final int stairMetaN = getStairMeta(2); + final int stairMetaS = getStairMeta(3); + placeBed(world, box, 1, 5, 1, 1); + placeBed(world, box, 1, 5, 1, 3); + placeBed(world, box, 2, 3, 1, 6); + placeBed(world, box, 2, 1, 1, 6); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaE | 4, 4, 1, 2, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaE | 4, 4, 1, 4, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, 4, 1, 5, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, 2, 1, 5, box); + placeBlockAtCurrentPosition(world, ModBlocks.radiorec, getDecoMeta(4), 4, 2, 4, box); + //table w/ microwave + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, 8, 1, 3, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaN | 4, 8, 1, 4, box); + placeBlockAtCurrentPosition(world, Blocks.noteblock, 0, 8, 1, 5, box); + placeBlockAtCurrentPosition(world, ModBlocks.machine_microwave, getDecoMeta(4), 8, 2, 4, box); + //desk w/ computer + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaW | 4, 6, 1, 9, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaN | 4, 5, 1, 9, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaE | 4, 4, 1, 9, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaS, 5, 1, 8, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(0), 5, 2, 9, box); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 1, 9, HbmChestContents.antenna/*TODO change */, 5); + //lockers + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 1, 7, HbmChestContents.antenna/*TODO change */, 3); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 2, 7, HbmChestContents.antenna/*TODO change */, 3); + fillWithBlocks(world, box, 8, 1, 8, 8, 2, 8, ModBlocks.deco_tungsten); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 1, 9, HbmChestContents.antenna/*TODO change */, 3); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 2, 9, HbmChestContents.antenna/*TODO change */, 3); + fillWithMetadataBlocks(world, box, 8, 3, 7, 8, 3, 9, Blocks.trapdoor, getDecoModelMeta(2) >> 2); + //doors + placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 7, 1, 0); + placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 8, 1, 0); + if(path) fillWithAir(world, box, 0, 1, 8, 0, 2, 9); + + return true; + } + + public static StructureComponent findValidPlacement(List components, Random rand, int x, int y, int z, int coordMode, int type) { + StructureBoundingBox box = ProceduralStructureStart.getComponentToAddBoundingBox(x, y, z, -8, -1, 0, 10, 6, 11, coordMode); + return box.minY > 10 && StructureComponent.findIntersecting(components, box) == null ? new BedroomL(type, box, coordMode) : null; + } + } + + public static class FunJunction extends Component implements ProceduralComponent { + + private boolean[] paths = new boolean[2]; + + public FunJunction() { } + + public FunJunction(int componentType, StructureBoundingBox box, int coordMode) { + super(componentType); + this.boundingBox = box; + this.coordBaseMode = coordMode; + } + + /** write to nbt */ + @Override + protected void func_143012_a(NBTTagCompound nbt) { + super.func_143012_a(nbt); + for(int i = 0; i < paths.length; i++) + nbt.setBoolean("p" + i, paths[i]); + } + + /** read from nbt */ + @Override + protected void func_143011_b(NBTTagCompound nbt) { + super.func_143011_b(nbt); + for(int i = 0; i < paths.length; i++) + paths[i] = nbt.getBoolean("p" + i); + } + + @Override + public void buildComponent(ProceduralStructureStart start, Random rand) { + paths[0] = this.getNextComponentEast(start, this, coordBaseMode, rand, 6, 1) != null; + paths[1] = this.getNextComponentNormal(start, this, coordBaseMode, rand, 5, 1) != null; + } + + @Override + public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { + + fillWithAir(world, box, 1, 1, 1, 6, 3, 10); + //floor + fillWithMetadataBlocks(world, box, 1, 0, 1, 6, 0, 10, ModBlocks.vinyl_tile, 1); + //ceiling + fillWithBlocks(world, box, 1, 4, 1, 6, 4, 10, ModBlocks.vinyl_tile); + //upper shield + fillWithBlocks(world, box, 0, 5, 0, 7, 5, 11, ModBlocks.reinforced_stone); + //walls + fillWithRandomizedBlocks(world, box, 0, 0, 0, 0, 4, 11, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 1, 0, 11, 6, 4, 11, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 7, 0, 0, 7, 4, 11, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 1, 0, 0, 6, 4, 0, rand, ConcreteBricks); + + /* DECO */ + //lamps + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 2, 5, 3, box); + fillWithBlocks(world, box, 5, 5, 5, 5, 5, 6, ModBlocks.reinforced_lamp_off); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 2, 5, 8, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 2, 4, 3, box); + fillWithBlocks(world, box, 5, 4, 5, 5, 4, 6, ModBlocks.fan); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 2, 4, 8, box); + //couches w/ tables + final int stairMetaW = getStairMeta(0); + final int stairMetaE = getStairMeta(1); + final int stairMetaN = getStairMeta(2); + final int stairMetaS = getStairMeta(3); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaE, 1, 1, 1, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaS, 2, 1, 1, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaW, 3, 1, 1, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaS, 1, 1, 4, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaE, 1, 1, 5, box); + fillWithMetadataBlocks(world, box, 1, 1, 6, 2, 1, 6, Blocks.oak_stairs, stairMetaN); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaW, 3, 1, 6, box); + placeBlockAtCurrentPosition(world, Blocks.fence, 0, 1, 1, 3, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_pressure_plate, 0, 1, 2, 3, box); + placeBlockAtCurrentPosition(world, Blocks.fence, 0, 3, 1, 4, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_pressure_plate, 0, 3, 2, 4, box); + //table & chest + placeBlockAtCurrentPosition(world, Blocks.fence, 0, 6, 1, 2, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_pressure_plate, 0, 6, 2, 2, box); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 6, 1, 3, HbmChestContents.antenna/*TODO change */, 7); + //desk w/ computer + bobblehead + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, 1, 1, 8, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaE | 4, 1, 1, 9, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaN | 4, 1, 1, 10, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaS, 2, 1, 8, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(3), 1, 2, 9, box); + if(rand.nextBoolean()) placeRandomBobble(world, box, rand, 1, 2, 8); + //jukebox + fillWithBlocks(world, box, 6, 1, 8, 6, 2, 8, Blocks.noteblock); + placeBlockAtCurrentPosition(world, ModBlocks.deco_tungsten, 0, 6, 1, 9, box); + placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, getDecoMeta(4), 6, 2, 9, box); + fillWithBlocks(world, box, 6, 3, 8, 6, 3, 9, ModBlocks.concrete_slab); + placeBlockAtCurrentPosition(world, Blocks.lever, getDecoMeta(2), 5, 1, 9, box); //double-check meta + //doors + placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 4, 1, 0); + placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 5, 1, 0); + if(paths[0]) fillWithAir(world, box, 7, 1, 5, 7, 2, 6); + if(paths[1]) fillWithAir(world, box, 4, 1, 11, 5, 2, 11); + + return true; + } + + public static StructureComponent findValidPlacement(List components, Random rand, int x, int y, int z, int coordMode, int type) { + StructureBoundingBox box = ProceduralStructureStart.getComponentToAddBoundingBox(x, y, z, -5, -1, 0, 8, 6, 12, coordMode); + return box.minY > 10 && StructureComponent.findIntersecting(components, box) == null ? new FunJunction(type, box, coordMode) : null; + } + } + + public static class BathroomL extends Component implements ProceduralComponent { + + private boolean path; + + public BathroomL() { } + + public BathroomL(int componentType, StructureBoundingBox box, int coordMode) { + super(componentType); + this.boundingBox = box; + this.coordBaseMode = coordMode; + } + + /** write to nbt */ + @Override + protected void func_143012_a(NBTTagCompound nbt) { + super.func_143012_a(nbt); + nbt.setBoolean("p", path); + } + + /** read from nbt */ + @Override + protected void func_143011_b(NBTTagCompound nbt) { + super.func_143011_b(nbt); + path = nbt.getBoolean("p"); + } + + @Override + public void buildComponent(ProceduralStructureStart start, Random rand) { + path = this.getNextComponentEast(start, this, coordBaseMode, rand, 3, 1) != null; + } + + @Override + public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { + + fillWithAir(world, box, 1, 1, 1, 7, 3, 9); + //floor + fillWithMetadataBlocks(world, box, 1, 0, 1, 7, 0, 9, ModBlocks.vinyl_tile, 1); + //ceiling + fillWithBlocks(world, box, 1, 4, 1, 7, 4, 9, ModBlocks.vinyl_tile); + //upper shield + fillWithBlocks(world, box, 0, 5, 0, 8, 5, 10, ModBlocks.reinforced_stone); + //walls + fillWithRandomizedBlocks(world, box, 0, 0, 0, 0, 4, 10, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 1, 0, 10, 7, 4, 10, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 8, 0, 0, 8, 4, 10, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 1, 0, 0, 7, 4, 0, rand, ConcreteBricks); + + /* DECO */ + //lamps + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 2, 5, 3, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 2, 5, 7, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 5, 5, 7, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 5, 5, 3, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 2, 4, 3, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 2, 4, 7, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 5, 4, 7, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 5, 4, 3, box); + //sinks + for(int i = 2; i <= 8; i += 2) { + placeBlockAtCurrentPosition(world, Blocks.cauldron, rand.nextInt(4), 1, 1, i, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_slab, 8, 1, 1, i + 1, box); + placeBlockAtCurrentPosition(world, Blocks.tripwire_hook, getTripwireMeta(3), 1, 2, i, box); + } + //hand-dryers (industrial-strength) + placeBlockAtCurrentPosition(world, ModBlocks.steel_beam, 3, 4, 1, 9, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, getDecoMeta(2), 4, 2, 9, box); + placeBlockAtCurrentPosition(world, Blocks.stone_button, 2, 3, 2, 9, box); //TODO button meta + placeBlockAtCurrentPosition(world, ModBlocks.steel_beam, 3, 6, 1, 9, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, getDecoMeta(2), 6, 2, 9, box); + placeBlockAtCurrentPosition(world, Blocks.stone_button, 1, 7, 2, 9, box); + //stalls w/ toilets + for(int i = 1; i <= 5; i += 2) { + placeBlockAtCurrentPosition(world, ModBlocks.door_metal, 0, 5, 1, i, box); + placeDoor(world, box, ModBlocks.door_metal, 0, false, rand.nextBoolean(), 5, 1, i); + fillWithMetadataBlocks(world, box, 5, 1, i + 1, 5, 2, i + 1, ModBlocks.steel_corner, getDecoMeta(2)); + fillWithMetadataBlocks(world, box, 6, 1, i + 1, 7, 2, i + 1, ModBlocks.steel_wall, getDecoMeta(2)); + placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_rim, 0, 7, 1, i, box); + placeBlockAtCurrentPosition(world, Blocks.trapdoor, getDecoModelMeta(2) >> 2, 7, 2, i, box); + } + //doors + placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 2, 1, 0); + placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 3, 1, 0); + if(path) fillWithAir(world, box, 8, 1, 7, 8, 2, 8); + + return true; + } + + public static StructureComponent findValidPlacement(List components, Random rand, int x, int y, int z, int coordMode, int type) { + StructureBoundingBox box = ProceduralStructureStart.getComponentToAddBoundingBox(x, y, z, -3, -1, 0, 9, 6, 11, coordMode); + return box.minY > 10 && StructureComponent.findIntersecting(components, box) == null ? new BathroomL(type, box, coordMode) : null; + } + } +} diff --git a/src/main/java/com/hbm/world/worldgen/components/CivilianFeatures.java b/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java similarity index 99% rename from src/main/java/com/hbm/world/worldgen/components/CivilianFeatures.java rename to src/main/java/com/hbm/world/gen/component/CivilianFeatures.java index 958313bd7..60190d1c0 100644 --- a/src/main/java/com/hbm/world/worldgen/components/CivilianFeatures.java +++ b/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java @@ -1,4 +1,4 @@ -package com.hbm.world.worldgen.components; +package com.hbm.world.gen.component; import java.util.Random; diff --git a/src/main/java/com/hbm/world/worldgen/components/Component.java b/src/main/java/com/hbm/world/gen/component/Component.java similarity index 94% rename from src/main/java/com/hbm/world/worldgen/components/Component.java rename to src/main/java/com/hbm/world/gen/component/Component.java index 9c6c8e527..effd0c592 100644 --- a/src/main/java/com/hbm/world/worldgen/components/Component.java +++ b/src/main/java/com/hbm/world/gen/component/Component.java @@ -1,4 +1,4 @@ -package com.hbm.world.worldgen.components; +package com.hbm.world.gen.component; import java.util.Random; @@ -108,6 +108,26 @@ abstract public class Component extends StructureComponent { 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)) { + total += Math.max(world.getTopSolidOrLiquidBlock(x, z), world.provider.getAverageGroundLevel()); + iterations++; + } + } + } + + if(iterations == 0) + return -1; + + return total / iterations; + } + public int getCoordMode() { return this.coordBaseMode; } @@ -224,35 +244,41 @@ abstract public class Component extends StructureComponent { return metadata; } - /* For Later: - * 0/S: S->S; W->W; N->N; E->E - * 1/W: S->W; W->N; N->E; E->S - * 2/N: S->N; W->E; N->S; E->W - * 3/E: S->E; W->S; N->W; E->N - * 0/b00/W, 1/b01/N, 2/b10/E, 3/b11/S - */ - /** - * Places door at specified location with orientation-adjusted meta - * 0 = West, 1 = North, 2 = East, 3 = South + /* + * 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. + *
  • When the 4th bit is on, the 1st bit indicates whether the door opens to the right or not: on (0b1001) for yes, off (0b1000) for no. + *
  • The bits 1 & 2 (0b0011 or 3) indicate the direction the door is facing. + *
  • When the 4th bit is off, the 3rd bit (0b0100 or 4) indicates whether the door is open or not: on for yes, off for no. Used for doors' interactions with redstone power. + *
  • */ - protected void placeDoor(World world, StructureBoundingBox box, Block door, int meta, int featureX, int featureY, int featureZ) { - switch(this.coordBaseMode) { - default: - break; - case 1: - meta = (meta + 1) % 4; break; - case 2: - meta = meta ^ 2; break; //Flip second bit - case 3: - meta = (meta - 1) % 4; break; - } - + protected void placeDoor(World world, StructureBoundingBox box, Block door, int dirMeta, boolean opensRight, boolean isOpen, int featureX, int featureY, int featureZ) { //isOpen for randomly opened doors int posX = this.getXWithOffset(featureX, featureZ); int posY = this.getYWithOffset(featureY); int posZ = this.getZWithOffset(featureX, featureZ); - this.placeBlockAtCurrentPosition(world, door, meta, featureX, featureY, featureZ, box); - ItemDoor.placeDoorBlock(world, posX, posY, posZ, meta, door); + if(!box.isVecInside(posX, posY, posZ)) return; + + switch(this.coordBaseMode) { + default: + break; + case 1: + dirMeta = (dirMeta + 1) % 4; break; + case 2: + dirMeta ^= 2; break; //Flip second bit + case 3: + dirMeta = (dirMeta - 1) % 4; break; + } + + //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); + } } /**N:0 W:1 S:2 E:3 */ diff --git a/src/main/java/com/hbm/world/worldgen/components/OfficeFeatures.java b/src/main/java/com/hbm/world/gen/component/OfficeFeatures.java similarity index 96% rename from src/main/java/com/hbm/world/worldgen/components/OfficeFeatures.java rename to src/main/java/com/hbm/world/gen/component/OfficeFeatures.java index 22ad5fead..3a3549106 100644 --- a/src/main/java/com/hbm/world/worldgen/components/OfficeFeatures.java +++ b/src/main/java/com/hbm/world/gen/component/OfficeFeatures.java @@ -1,4 +1,4 @@ -package com.hbm.world.worldgen.components; +package com.hbm.world.gen.component; import java.util.Random; @@ -200,9 +200,9 @@ public class OfficeFeatures { randomlyFillWithBlocks(world, box, rand, 0.25F, 6, 3, 1, sizeX - 1, 3, 6, Blocks.web); randomlyFillWithBlocks(world, box, rand, 0.25F, 10, 3, 7, sizeX - 1, 3, sizeZ - 1, Blocks.web); //Doors - placeDoor(world, box, ModBlocks.door_office, 3, 2, 1, 7); - placeDoor(world, box, ModBlocks.door_office, 3, 3, 1, 7); - placeDoor(world, box, ModBlocks.door_office, 0, 5, 1, 6); + placeDoor(world, box, ModBlocks.door_office, 3, false, rand.nextBoolean(), 2, 1, 7); + placeDoor(world, box, ModBlocks.door_office, 3, false, rand.nextBoolean(), 3, 1, 7); + placeDoor(world, box, ModBlocks.door_office, 0, false, rand.nextBoolean(), 5, 1, 6); //Woot if(!this.hasPlacedLoot[0]) @@ -427,16 +427,16 @@ public class OfficeFeatures { fillWithRandomizedBlocks(world, box, 2, 11, 10, 3, 11, 10, rand, ConcreteBricks); fillWithRandomizedBlocks(world, box, 2, 9, 10, 2, 10, 10, rand, ConcreteBricks); //Doors - placeDoor(world, box, Blocks.wooden_door, 3, 1, 1, 14); - placeDoor(world, box, Blocks.wooden_door, 3, 2, 1, 14); - placeDoor(world, box, Blocks.wooden_door, 0, 0, 1, 12); - placeDoor(world, box, Blocks.wooden_door, 0, 0, 1, 13); - placeDoor(world, box, ModBlocks.door_office, 0, 6, 1, 3); - placeDoor(world, box, ModBlocks.door_office, 0, 5, 5, 3); - placeDoor(world, box, ModBlocks.door_office, 2, 4, 5, 11); - placeDoor(world, box, ModBlocks.door_office, 0, 10, 9, 3); - placeDoor(world, box, ModBlocks.door_office, 1, 3, 9, 10); - placeDoor(world, box, ModBlocks.door_metal, 0, 5, 13, 3); + placeDoor(world, box, Blocks.wooden_door, 3, false, rand.nextBoolean(), 1, 1, 14); + placeDoor(world, box, Blocks.wooden_door, 3, true, rand.nextBoolean(), 2, 1, 14); + placeDoor(world, box, Blocks.wooden_door, 0, false, rand.nextBoolean(), 0, 1, 12); + placeDoor(world, box, Blocks.wooden_door, 0, true, rand.nextBoolean(), 0, 1, 13); + placeDoor(world, box, ModBlocks.door_office, 0, false, rand.nextBoolean(), 6, 1, 3); + placeDoor(world, box, ModBlocks.door_office, 0, false, rand.nextBoolean(), 5, 5, 3); + placeDoor(world, box, ModBlocks.door_office, 2, false, rand.nextBoolean(), 4, 5, 11); + placeDoor(world, box, ModBlocks.door_office, 0, false, rand.nextBoolean(), 10, 9, 3); + placeDoor(world, box, ModBlocks.door_office, 1, false, rand.nextBoolean(), 3, 9, 10); + placeDoor(world, box, ModBlocks.door_metal, 0, false, rand.nextBoolean(), 5, 13, 3); //Furniture //Floor 1 int NorthStairMeta = getStairMeta(2); diff --git a/src/main/java/com/hbm/world/worldgen/components/RuinFeatures.java b/src/main/java/com/hbm/world/gen/component/RuinFeatures.java similarity index 99% rename from src/main/java/com/hbm/world/worldgen/components/RuinFeatures.java rename to src/main/java/com/hbm/world/gen/component/RuinFeatures.java index a04e2ca2c..b5f5d141d 100644 --- a/src/main/java/com/hbm/world/worldgen/components/RuinFeatures.java +++ b/src/main/java/com/hbm/world/gen/component/RuinFeatures.java @@ -1,4 +1,4 @@ -package com.hbm.world.worldgen.components; +package com.hbm.world.gen.component; import java.util.Random; diff --git a/src/main/java/com/hbm/world/worldgen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/worldgen/NTMWorldGenerator.java deleted file mode 100644 index 01c7b7acc..000000000 --- a/src/main/java/com/hbm/world/worldgen/NTMWorldGenerator.java +++ /dev/null @@ -1,53 +0,0 @@ -package com.hbm.world.worldgen; - -import java.util.Random; - -import com.hbm.config.StructureConfig; - -import cpw.mods.fml.common.IWorldGenerator; -import net.minecraft.block.Block; -import net.minecraft.world.World; -import net.minecraft.world.chunk.IChunkProvider; -import net.minecraftforge.event.terraingen.InitMapGenEvent.EventType; -import net.minecraftforge.event.terraingen.TerrainGen; - -public class NTMWorldGenerator implements IWorldGenerator { - - private MapGenNTMFeatures NTMFeatureGenerator = new MapGenNTMFeatures(); - - { - NTMFeatureGenerator = (MapGenNTMFeatures) TerrainGen.getModdedMapGen(NTMFeatureGenerator, EventType.CUSTOM); - } - - @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, 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) { } - - private void generateSurface(World world, Random rand, IChunkProvider chunkGenerator, int chunkX, int chunkZ) { - Block[] ablock = new Block[65536]; - - //WorldConfig.enableStructures - /** Spawns structure starts. Utilizes canSpawnStructureAtCoords() + if else checks in Start constructor */ - if(StructureConfig.enableStructures) { - this.NTMFeatureGenerator.func_151539_a(chunkGenerator, world, chunkX, chunkZ, ablock); - } - - /** Actually generates structures in a given chunk. */ - if(StructureConfig.enableStructures) { - this.NTMFeatureGenerator.generateStructuresInChunk(world, rand, chunkX, chunkZ); - } - } - - private void generateEnd(World world, Random rand, IChunkProvider chunkGenerator, int chunkX, int chunkZ) { } -} diff --git a/src/main/java/com/hbm/world/worldgen/components/ProceduralComponents.java b/src/main/java/com/hbm/world/worldgen/components/ProceduralComponents.java deleted file mode 100644 index 4bf1f4801..000000000 --- a/src/main/java/com/hbm/world/worldgen/components/ProceduralComponents.java +++ /dev/null @@ -1,240 +0,0 @@ -package com.hbm.world.worldgen.components; - -import java.util.ArrayList; -import java.util.Iterator; -import java.util.List; -import java.util.Random; - -import net.minecraft.world.gen.structure.StructureBoundingBox; - -public abstract class ProceduralComponents { - - protected List componentWeightList; - - protected static Weight[] weightArray = new Weight[] { }; - - public void prepareComponents() { - componentWeightList = new ArrayList(); - - for(int i = 0; i < weightArray.length; i++) { - weightArray[i].instancesSpawned = 0; - componentWeightList.add(weightArray[i]); - } - } - - protected int getTotalWeight() { - boolean flag = false; - int totalWeight = 0; - Weight weight; - - for(Iterator iterator = componentWeightList.iterator(); iterator.hasNext(); totalWeight += weight.weight) { //Iterates over the entire list to find the total weight - weight = (Weight) iterator.next(); - - if(weight.instanceLimit >= 0 && weight.instancesSpawned < weight.instanceLimit) //can more structure pieces be added, in general? - flag = true; - } - - return flag ? totalWeight : -1; - } - - protected ProceduralComponent getWeightedComponent(ControlComponent original, List components, Random rand, int minX, int minY, int minZ, int coordMode, int componentType) { - int totalWeight = getTotalWeight(); - - if(totalWeight < 0) - return null; - - for(int i = 0; i < 5; i++) { - int value = rand.nextInt(totalWeight); //Pick a random value, based on how many parts there are already - Iterator iterator = componentWeightList.iterator(); - - while(iterator.hasNext()) { - Weight weight = (Weight)iterator.next(); - value -= weight.weight; //Iterate over the list until the value is less than 0 - - if(value < 0) { - if(!weight.canSpawnStructure(componentType, coordMode, original.lastComponent)) //Additional checks based on game state info preventing spawn? start from beginning - break; - - ProceduralComponent component = (ProceduralComponent) weight.lambda.findValidPlacement(components, rand, minX, minY, minZ, coordMode, componentType); //Construct the chosen component - - if(component != null) { //If it has been constructed, add it - weight.instancesSpawned++; - - if(!weight.canSpawnMoreStructures()) //Structure can no longer be spawned regardless of game state? remove as an option - componentWeightList.remove(weight); - - return component; - } - - } - } - } - - return null; - } - - protected int sizeLimit = 50; - protected int distanceLimit = 64; - - protected ProceduralComponent getNextValidComponent(ControlComponent original, List components, Random rand, int minX, int minY, int minZ, int coordMode, int componentType) { - - if(components.size() > sizeLimit) //Hard limit on amount of components - return null; - - if(Math.abs(minX - original.getBoundingBox().minX) <= distanceLimit && Math.abs(minZ - original.getBoundingBox().minZ) <= distanceLimit) { //Hard limit on spread of structure - - ProceduralComponent structure = getWeightedComponent(original, components, rand, minX, minY, minZ, coordMode, componentType + 1); //Returns null if all checks fail - - if(structure != null) { - components.add(structure); //Adds component to structure start list - original.queuedComponents.add(structure); //Add it to the list of queued components waiting to be built - } - - return structure; - } - - return null; - } - - public static StructureBoundingBox getComponentToAddBoundingBox(int posX, int posY, int posZ, int offsetX, int offsetY, int offsetZ, int maxX, int maxY, int maxZ, int coordMode) { - switch(coordMode) { - case 0: //South - return new StructureBoundingBox(posX + offsetX, posY + offsetY, posZ + offsetZ, posX + maxX - 1 + offsetX, posY + maxY - 1 + offsetY, posZ + maxZ - 1 + offsetZ); - case 1: //West - return new StructureBoundingBox(posX - maxZ + 1 - offsetZ, posY + offsetY, posZ + offsetX, posX - offsetZ, posY + maxY - 1 + offsetY, posZ + maxX - 1 + offsetX); - case 2: //North - return new StructureBoundingBox(posX - maxX + 1 - offsetX, posY + offsetY, posZ - maxZ + 1 - offsetZ, posX - offsetX, posY + maxY - 1 + offsetY, posZ + offsetZ); - case 3: //East - return new StructureBoundingBox(posX + offsetZ, posY + offsetY, posZ - maxX + 1 - offsetX, posX + maxZ - 1 + offsetZ, posY + maxY - 1 + offsetY, posZ - offsetX); - default: - return new StructureBoundingBox(posX + offsetX, posY + offsetY, posZ + offsetZ, posX + maxX - 1 + offsetX, posY + maxY - 1 + offsetY, posZ + maxZ - 1 + offsetZ); - } - } - - /** StructureComponent that supports procedural generation */ - public abstract static class ProceduralComponent extends Component { - - public ProceduralComponent() { } - - public ProceduralComponent(int componentType) { - super(componentType); //Important to carry over. - } - - public void buildComponent(ProceduralComponents instance, ControlComponent original, List components, Random rand) { } - - /** Gets next component in the direction this component is facing.
    'original' refers to the initial starting component (hard distance limits), 'components' refers to the StructureStart list. */ - protected ProceduralComponent getNextComponentNormal(ProceduralComponents instance, ControlComponent original, List components, Random rand, int offset, int offsetY) { - switch(this.coordBaseMode) { - case 0: //South - return instance.getNextValidComponent(original, components, rand, this.boundingBox.minX + offset, this.boundingBox.minY + offsetY, this.boundingBox.maxZ + 1, this.coordBaseMode, this.getComponentType()); - case 1: //West - return instance.getNextValidComponent(original, components, rand, this.boundingBox.minX - 1, this.boundingBox.minY + offsetY, this.boundingBox.minZ + offset, this.coordBaseMode, this.getComponentType()); - case 2: //North - return instance.getNextValidComponent(original, components, rand, this.boundingBox.maxX - offset, this.boundingBox.minY + offsetY, this.boundingBox.minZ - 1, this.coordBaseMode, this.getComponentType()); - case 3: //East - return instance.getNextValidComponent(original, components, rand, this.boundingBox.maxX + 1, this.boundingBox.minY + offsetY, this.boundingBox.maxZ - offset, this.coordBaseMode, this.getComponentType()); - default: - return null; - } - } - - /** Gets next component in the opposite direction this component is facing. */ - protected ProceduralComponent getNextComponentAntiNormal(ProceduralComponents instance, ControlComponent original, List components, Random rand, int offset, int offsetY) { - switch(this.coordBaseMode) { - case 0: //South - return instance.getNextValidComponent(original, components, rand, this.boundingBox.maxX - offset, this.boundingBox.minY + offsetY, this.boundingBox.minZ - 1, 2, this.getComponentType()); - case 1: //West - return instance.getNextValidComponent(original, components, rand, this.boundingBox.maxX + 1, this.boundingBox.minY + offsetY, this.boundingBox.maxZ - offset, 3, this.getComponentType()); - case 2: //North - return instance.getNextValidComponent(original, components, rand, this.boundingBox.minX + offset, this.boundingBox.minY + offsetY, this.boundingBox.maxZ + 1, 0, this.getComponentType()); - case 3: //East - return instance.getNextValidComponent(original, components, rand, this.boundingBox.minX - 1, this.boundingBox.minY + offsetY, this.boundingBox.minZ + offset, 1, this.getComponentType()); - default: - return null; - } - } - - //Keep in mind for these methods: a given room would have its *actual entrance* opposite the side it is facing. - /** Gets next component, to the West (-X) relative to this component. */ - protected ProceduralComponent getNextComponentNX(ProceduralComponents instance, ControlComponent original, List components, Random rand, int offset, int offsetY) { - switch(this.coordBaseMode) { - case 0: //South - return instance.getNextValidComponent(original, components, rand, this.boundingBox.minX - 1, this.boundingBox.minY + offsetY, this.boundingBox.minZ + offset, 1, this.getComponentType()); - case 1: //West - return instance.getNextValidComponent(original, components, rand, this.boundingBox.maxX - offset, this.boundingBox.minY + offsetY, this.boundingBox.minZ - 1, 2, this.getComponentType()); - case 2: //North - return instance.getNextValidComponent(original, components, rand, this.boundingBox.maxX + 1, this.boundingBox.minY + offsetY, this.boundingBox.maxZ - offset, 3, this.getComponentType()); - case 3: //East - return instance.getNextValidComponent(original, components, rand, this.boundingBox.minX + offset, this.boundingBox.minY + offsetY, this.boundingBox.maxZ + 1, 0, this.getComponentType()); - default: - return null; - } - } - - /** Gets next component, to the East (+X) relative to this component. */ - protected ProceduralComponent getNextComponentPX(ProceduralComponents instance, ControlComponent original, List components, Random rand, int offset, int offsetY) { - switch(this.coordBaseMode) { - case 0: //South - return instance.getNextValidComponent(original, components, rand, this.boundingBox.maxX + 1, this.boundingBox.minY + offsetY, this.boundingBox.maxZ - offset, 3, this.getComponentType() + 1); - case 1: //West - return instance.getNextValidComponent(original, components, rand, this.boundingBox.minX + offset, this.boundingBox.minY + offsetY, this.boundingBox.maxZ + 1, 0, this.getComponentType() + 1); - case 2: //North - return instance.getNextValidComponent(original, components, rand, this.boundingBox.minX - 1, this.boundingBox.minY + offsetY, this.boundingBox.minZ + offset, 1, this.getComponentType() + 1); - case 3: //East - return instance.getNextValidComponent(original, components, rand, this.boundingBox.maxX - offset, this.boundingBox.minY + offsetY, this.boundingBox.minZ - 1, 2, this.getComponentType() + 1); - default: - return null; - } - } - - /** Finds valid placement, using input information. Should be passed as a method reference to its respective Weight. */ - //Static so no override (cringe!) - //public static ProceduralComponent findValidPlacement(List components, Random rand, int minX, int minY, int minZ, int coordMode, int componentType) { return null; } - } - - /** ProceduralComponent that can serve as a master "control component" for procedural generation and building of components. */ - public abstract static class ControlComponent extends ProceduralComponent { - - public List queuedComponents = new ArrayList(); //List of all queued ProceduralComponents waiting to be built. Randomly iterated over until limits like component amt or dist are reached. - public ProceduralComponent lastComponent = this; //Last component to be built. Used as input for the random selection's checks for specific components. - - public ControlComponent() { } - - public ControlComponent(int componentType) { - super(componentType); - } - } - - /** Returns a new instance of this structureComponent, or null if not able to be placed.
    Based on bounding box checks. */ - @FunctionalInterface - interface instantiateStructure { - ProceduralComponent findValidPlacement(List components, Random rand, int minX, int minY, int minZ, int coordMode, int componentType); - } - - protected static class Weight { - - public final instantiateStructure lambda; //Read above - - public final int weight; //Weight of this component - public int instancesSpawned; //How many components spawned? - public int instanceLimit; //Limit on amount of components: -1 for no limit - - public Weight(int weight, int limit, instantiateStructure lambda) { - this.weight = weight; - this.instanceLimit = limit; - this.lambda = lambda; - } - - //Checks if another structure can be spawned based on input data - public boolean canSpawnStructure(int componentAmount, int coordMode, ProceduralComponent component) { - return this.instanceLimit < 0 || this.instancesSpawned < this.instanceLimit; - } - - //Checks if another structure can be spawned at all (used to flag for removal from the list) - public boolean canSpawnMoreStructures() { - return this.instanceLimit < 0 || this.instancesSpawned < this.instanceLimit; - } - - } - -} From 404aacc32befcd5d58511b03d050e42cd1cd682f Mon Sep 17 00:00:00 2001 From: HbmMods Date: Tue, 30 May 2023 14:39:24 +0200 Subject: [PATCH 126/285] Delete ExampleMod.java --- .../com/example/examplemod/ExampleMod.java | 20 ------------------- 1 file changed, 20 deletions(-) delete mode 100644 src/main/java/com/example/examplemod/ExampleMod.java diff --git a/src/main/java/com/example/examplemod/ExampleMod.java b/src/main/java/com/example/examplemod/ExampleMod.java deleted file mode 100644 index 4245c7e92..000000000 --- a/src/main/java/com/example/examplemod/ExampleMod.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.example.examplemod; - -import net.minecraft.init.Blocks; -import cpw.mods.fml.common.Mod; -import cpw.mods.fml.common.Mod.EventHandler; -import cpw.mods.fml.common.event.FMLInitializationEvent; - -@Mod(modid = ExampleMod.MODID, version = ExampleMod.VERSION) -public class ExampleMod -{ - public static final String MODID = "examplemod"; - public static final String VERSION = "1.0"; - - @EventHandler - public void init(FMLInitializationEvent event) - { - // some example code - System.out.println("DIRT BLOCK >> "+Blocks.dirt.getUnlocalizedName()); - } -} From d50506ce1380b1b7e30ffb042dea04eb417f2e5c Mon Sep 17 00:00:00 2001 From: HbmMods Date: Tue, 30 May 2023 14:40:48 +0200 Subject: [PATCH 127/285] Update en_US.lang --- src/main/resources/assets/hbm/lang/en_US.lang | 358 ++++++++++-------- 1 file changed, 190 insertions(+), 168 deletions(-) diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 96fc869ad..5091ddb4b 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -36,16 +36,16 @@ achievement.concrete.desc=A Bolshevik's favorite. achievement.concrete=Old Reliable achievement.desh.desc="Come on then, you lot. Places to go!" achievement.desh=Le Verrier -achievement.digammaFeel.desc=the hollow within. -achievement.digammaFeel=The Terror of Feeling +achievement.digammaFeel.desc=My eyes are bleeding +achievement.digammaFeel=SEWAGE-INFUSED GARBAGE WORLD achievement.digammaKauaiMoho.desc=Everything is awful, here's some hot choccy. -achievement.digammaKauaiMoho=Sing, sing me the song of the Kauai Moho +achievement.digammaKauaiMoho=SING, SING ME THE SONG OF THE KAUAI MOHO achievement.digammaKnow.desc=what this world is about. -achievement.digammaKnow=The Terror of Knowing -achievement.digammaSee.desc=into the abyss. -achievement.digammaSee=The Terror of Seeing +achievement.digammaKnow=THE TERROR OF KNOWING +achievement.digammaSee.desc=It's a bit dark, bring a flashlight. +achievement.digammaSee=ENTER THE ABYSS achievement.digammaUpOnTop.desc=Admire my son, he's my clone. -achievement.digammaUpOnTop=Admire Me, Admire my Home +achievement.digammaUpOnTop=ADMIRE ME, ADMIRE MY HOME achievement.fiend.desc=Be mean. achievement.fiend2.desc=Be meaner. achievement.fiend2=Delinquent 2: Delinquent Harder @@ -56,6 +56,8 @@ achievement.fusion.desc=A dance of deuterons, tritons, and energy. achievement.fusion=Fusion achievement.gasCent.desc=Unenriched Uranium hates him! achievement.gasCent=The Zippe Style +achievement.goFish.desc=Nautical Crucifixion +achievement.goFish=Go Fish achievement.hidden.desc=Kill a tainted creeper with a falling boxcar. achievement.hidden=Hidden Catalog achievement.horizonsBonus.desc=honest to god what the hell is wrong with you @@ -120,7 +122,7 @@ achievement.technetium.desc=It's medicinal, it's medicinal! achievement.technetium=Big Man, Pig Man achievement.watzBoom.desc=Drain your septic tank next time. achievement.watzBoom=Disgusting -achievement.watz.desc=Fólkvangr fields possibly included. +achievement.watz.desc=Fólkvangr fields possibly included. achievement.watz=The Power of Element-126 achievement.witchtaunter.desc=Those wacky creatures got nothing on you! achievement.witchtaunter=Witch Taunter @@ -194,129 +196,129 @@ book.test.page1=Test Page 1 book.error.cover=Hadron Collider:$Troubleshooting 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.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.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.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.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.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.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.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.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.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=My first RBMK:$Basics of$building a$reactor 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.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.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.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.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.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.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.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.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.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.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.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.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.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.rbmk.page16=§4§lAVOID. book.starter.cover=An Industrialist's$Guide to Rebuilding$Society book.starter.title1=Introduction book.starter.page1=If you're reading this, it's highly likely that society, in one way or another, has collapsed entirely. Governments, countries, and authority are a concept of the past - along with all of the amenities of civilized life. As such, this guide will inform you how to change that by recreating the industry and technology of the past for the improvement of your own life. book.starter.title2=Coal & Mustard Gas -book.starter.page2=Whilst it is impossible to predict the actual state of the world in a post-apocalyptic time, it's not unlikely that war and industry in its current form may not have ended. To protect your own lungs, an effective and cheap way is to urinate on some §lcloth§r to make a §ltrench mask§r, to protect you from coal dust or mustard gas, if you ever encounter either. +book.starter.page2=Whilst it is impossible to predict the actual state of the world in a post-apocalyptic time, it's not unlikely that war and industry in its current form may not have ended. To protect your own lungs, an effective and cheap way is to urinate on some §lcloth§r to make a §ltrench mask§r, to protect you from coal dust or mustard gas, if you ever encounter either. book.starter.title3=Anvils & Presses -book.starter.page3=The quintessentials to beginning your industrial revitalization is an §lanvil§r and a §lburner press§r. The anvil will allow you to manually craft together early machinery such as the Assembler, whilst the burner press will let you make plates, wires, and circuits that you cannot hammer together with an anvil. +book.starter.page3=The quintessentials to beginning your industrial revitalization is an §lanvil§r and a §lburner press§r. The anvil will allow you to manually craft together early machinery such as the Assembler, whilst the burner press will let you make plates, wires, and circuits that you cannot hammer together with an anvil. book.starter.title4=Templates -book.starter.page4=In order to stamp metal into useful shapes, assemble machinery, and perform chemical reactions, you will need to create a §lMachine Template Folder§r to create the various stamps and templates shown to the right. +book.starter.page4=In order to stamp metal into useful shapes, assemble machinery, and perform chemical reactions, you will need to create a §lMachine Template Folder§r to create the various stamps and templates shown to the right. book.starter.title5=Scavenging book.starter.page5=Depending on how bad the initial apocalyptic event was to the preexisting structures of the world, there's a likely chance that many useful materials and machines can be salvaged from them directly. Metallic alloys like steel, parts like circuitry, and even fissile material from a nuclear power plant might be awaiting you. Beware certain ruins, however, as there may be an excess of danger lurking there like a snake in the grass; waiting to strike you down with radiation, traps, or indescribable horrors... book.starter.title6=Early Machinery -book.starter.page6a=Two of the first machines you should assemble are the §lBlast Furnace§r and the §lAssembly Machine§r. The former will allow you to create alloys such as §lsteel§r, §lminecraft-grade copper§r, and §ladvanced alloy§r; you will need to use these metals for the bodies of machines, the wiring of circuits, advanced electromagnets, and more. -book.starter.page6b=The assembler will be used to create practically every other machine described in this guide. You will need a power source, such as a §lCombustion§r §lGenerator§r or §lSolar Boiler§r. -book.starter.page7a=The §lShredder§r, along with a pair of shredder blades, will be very useful for doubling the output of most ores, via shredding into smeltable powders. These powders are also crucial to begin making circuitry for various machines, such as §lEnhanced§r and §lOverclocked§r circuits. -book.starter.page7b=Using your new machinery, you can create the §lChemical Plant§r, used for the synthesis of better circuits, concrete, the processing of petrochemicals, and more. +book.starter.page6a=Two of the first machines you should assemble are the §lBlast Furnace§r and the §lAssembly Machine§r. The former will allow you to create alloys such as §lsteel§r, §lminecraft-grade copper§r, and §ladvanced alloy§r; you will need to use these metals for the bodies of machines, the wiring of circuits, advanced electromagnets, and more. +book.starter.page6b=The assembler will be used to create practically every other machine described in this guide. You will need a power source, such as a §lCombustion§r §lGenerator§r or §lSolar Boiler§r. +book.starter.page7a=The §lShredder§r, along with a pair of shredder blades, will be very useful for doubling the output of most ores, via shredding into smeltable powders. These powders are also crucial to begin making circuitry for various machines, such as §lEnhanced§r and §lOverclocked§r circuits. +book.starter.page7b=Using your new machinery, you can create the §lChemical Plant§r, used for the synthesis of better circuits, concrete, the processing of petrochemicals, and more. book.starter.title8=Black Gold -book.starter.page8a=Using an §lOil §lReservoir§r §lDetector§r, you can find underground oil deposits to place a §lPumpjack§r or §lDerrick§r over via surveying an area. Remember that oil deposits will run out over time. -book.starter.page8b=Before the oil can be refined and separated into its constituent parts in an §lOil Refinery§r, you must heat the oil to 300°C in a §lBoiler§r. +book.starter.page8a=Using an §lOil §lReservoir§r §lDetector§r, you can find underground oil deposits to place a §lPumpjack§r or §lDerrick§r over via surveying an area. Remember that oil deposits will run out over time. +book.starter.page8b=Before the oil can be refined and separated into its constituent parts in an §lOil Refinery§r, you must heat the oil to 300°C in a §lBoiler§r. book.starter.title9=Petrochemicals -book.starter.page9=Using §lChemical Plants§r, §lFractioning§r §lTowers§r, and §lCatalytic Cracking§r §lTowers§r, you can transform the separated oil into a variety of useful products. For example: §lPolymer§r or §lBakelite§r, durable and flexible plastics; §lDesh§r, an extremely durable and heat-resistant rare earth metal alloy; §lSolid Fuel§r, which can be burnt for energy; or even §lLiquid Fuels§r, such as §lGasoline§r, §lDiesel§r, §lKerosene§r, and more. +book.starter.page9=Using §lChemical Plants§r, §lFractioning§r §lTowers§r, and §lCatalytic Cracking§r §lTowers§r, you can transform the separated oil into a variety of useful products. For example: §lPolymer§r or §lBakelite§r, durable and flexible plastics; §lDesh§r, an extremely durable and heat-resistant rare earth metal alloy; §lSolid Fuel§r, which can be burnt for energy; or even §lLiquid Fuels§r, such as §lGasoline§r, §lDiesel§r, §lKerosene§r, and more. book.starter.title10=Advanced Machinery -book.starter.page10=With oil processing under your belt, you can create the §lCentrifuge§r, which will triple ore outputs; the §lOre §lAcidizer§r, which will crystallize ores, increasing the yield; and the §lSILEX + §lFEL§r, two marvels of modern engineering which can separate the isotopes of materials with ease. You will require significantly more energy to power these; which can be obtained with sources such as a §lDiesel Generator§r, an §lIndustrial Generator§r, or even a nuclear reactor. +book.starter.page10=With oil processing under your belt, you can create the §lCentrifuge§r, which will triple ore outputs; the §lOre §lAcidizer§r, which will crystallize ores, increasing the yield; and the §lSILEX + §lFEL§r, two marvels of modern engineering which can separate the isotopes of materials with ease. You will require significantly more energy to power these; which can be obtained with sources such as a §lDiesel Generator§r, an §lIndustrial Generator§r, or even a nuclear reactor. book.starter.title11=Strata -book.starter.page11=Underneath the ground you walk, there is several naturally-occurring §lStrata§r, or special mineral layers and formations. §lSchist Strata§r are blue, lithium-containing layers filled with uranium, iron, copper, asbestos, and other ores for your own use. §lDepth Rock§r contains large quantities of rarer minerals, such as §lZirconium§r and §lBoron§r, but requires explosives to properly harvest. +book.starter.page11=Underneath the ground you walk, there is several naturally-occurring §lStrata§r, or special mineral layers and formations. §lSchist Strata§r are blue, lithium-containing layers filled with uranium, iron, copper, asbestos, and other ores for your own use. §lDepth Rock§r contains large quantities of rarer minerals, such as §lZirconium§r and §lBoron§r, but requires explosives to properly harvest. book.starter.title12=Radiation -book.starter.page12a=§oThe rest of this book will deal with matters that involve §oradiation. For the safety of you and others, I will give §oadvice on how to mitigate and deal with exposure to it. -book.starter.page12b=Enough exposure to radiation can and will cause bodily harm. The first step is prevention; be sure to limit your exposure, and wear protective gear, such as a §lHazmat Suit§r, or apply §lCladding§r to your clothing or armor; you can also take §lRad-X§r to limit your intake. Thanks to modern medicine, the second step can be removal if necessary; for example, a §lPlayer §lDecontaminator§r will slowly reduce the radiation absorbed by your body. §lRad-Away§r can also be used as a post-exposure prophylaxis, quickly and effectively reversing damage caused to your body by ionizing radiation. +book.starter.page12a=§oThe rest of this book will deal with matters that involve §oradiation. For the safety of you and others, I will give §oadvice on how to mitigate and deal with exposure to it. +book.starter.page12b=Enough exposure to radiation can and will cause bodily harm. The first step is prevention; be sure to limit your exposure, and wear protective gear, such as a §lHazmat Suit§r, or apply §lCladding§r to your clothing or armor; you can also take §lRad-X§r to limit your intake. Thanks to modern medicine, the second step can be removal if necessary; for example, a §lPlayer §lDecontaminator§r will slowly reduce the radiation absorbed by your body. §lRad-Away§r can also be used as a post-exposure prophylaxis, quickly and effectively reversing damage caused to your body by ionizing radiation. book.starter.title13=Uranium Enrichment -book.starter.page13=There are a few, easy options for fuels to use for a nuclear reactor; for instance, §lNatural Uranium§r or §lThorium Fuel§r. However, if you're looking for something more powerful, you can set up an enrichment cascade of two §lGas Centrifuges§r to produce §lUranium Fuel§r with leftover §lUranium-238§r. You will have to transmute the natural uranium into §lYellowcake§r, then §lUranium §lHexafluoride§r to do so. +book.starter.page13=There are a few, easy options for fuels to use for a nuclear reactor; for instance, §lNatural Uranium§r or §lThorium Fuel§r. However, if you're looking for something more powerful, you can set up an enrichment cascade of two §lGas Centrifuges§r to produce §lUranium Fuel§r with leftover §lUranium-238§r. You will have to transmute the natural uranium into §lYellowcake§r, then §lUranium §lHexafluoride§r to do so. book.starter.title14=The Chicago Pile -book.starter.page14=Alternatively, you can breed §lReactor-Grade Plutonium§r, a more powerful fuel, from Natural Uranium using the §lChicago Pile§r. By stacking graphite blocks and drilling into them, you can insert fuel rods to breed into plutonium and neutron source rods, such as §lRadium-Beryllium§r, to begin the reaction. Make sure to test your designs; spacing out or limiting the amount of blocks may be necessary to prevent overheating. +book.starter.page14=Alternatively, you can breed §lReactor-Grade Plutonium§r, a more powerful fuel, from Natural Uranium using the §lChicago Pile§r. By stacking graphite blocks and drilling into them, you can insert fuel rods to breed into plutonium and neutron source rods, such as §lRadium-Beryllium§r, to begin the reaction. Make sure to test your designs; spacing out or limiting the amount of blocks may be necessary to prevent overheating. book.starter.title15=ZIRNOX GCR -book.starter.page15=Finally, you can create your first §oreal§r source of energy: the §lZIRNOX§r Nuclear Reactor. Nuclear reactors require more setup then other power sources; first, you will want to have a good source of water, such as the §lHeavy §lInfinite Water Tank§r. To remove heat from the reactor core and boil the water into steam, you will need a sufficient amount of §lCarbon Dioxide§r. You want just enough pressure, but not §otoo§r much. You will also need three steam turbines to utilize the created steam to make energy; the §lSteam §lTurbine§r or §lIndustrial Steam §lTurbine§r will be optimal. Finally, a §lCondensor§r or §lAuxilary Cooling Tower§r is needed to condense the leftover steam into water, where it can be voided or recycled in a cooling loop. +book.starter.page15=Finally, you can create your first §oreal§r source of energy: the §lZIRNOX§r Nuclear Reactor. Nuclear reactors require more setup then other power sources; first, you will want to have a good source of water, such as the §lHeavy §lInfinite Water Tank§r. To remove heat from the reactor core and boil the water into steam, you will need a sufficient amount of §lCarbon Dioxide§r. You want just enough pressure, but not §otoo§r much. You will also need three steam turbines to utilize the created steam to make energy; the §lSteam §lTurbine§r or §lIndustrial Steam §lTurbine§r will be optimal. Finally, a §lCondensor§r or §lAuxilary Cooling Tower§r is needed to condense the leftover steam into water, where it can be voided or recycled in a cooling loop. book.starter.title16=Conclusion -book.starter.page16=If you've reached this far, you're on track to helping rebuild civilization. You've successfully recreated the advanced machinery of the pre-apocalypse - with nuclear power, petrochemicals, and more. I cannot know §ohow§r you will use these new-found advantages, but it's my personal hope you use them for the good of yourself and others - or at the very least, in self-defense. Au revoir! +book.starter.page16=If you've reached this far, you're on track to helping rebuild civilization. You've successfully recreated the advanced machinery of the pre-apocalypse - with nuclear power, petrochemicals, and more. I cannot know §ohow§r you will use these new-found advantages, but it's my personal hope you use them for the good of yourself and others - or at the very least, in self-defense. Au revoir! book.starter.title18=About the Author -book.starter.page18=vær is just a guy who has been trapped in the grey void featured in the Talking Head's §oOnce In A Lifetime§r for too long. He once found a studio door, but to his dismay found out it was a cardboard cut-out. +book.starter.page18=vær is just a guy who has been trapped in the grey void featured in the Talking Head's §oOnce In A Lifetime§r for too long. He once found a studio door, but to his dismay found out it was a cardboard cut-out. #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.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.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.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.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.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.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.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.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.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.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.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.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.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.rbmk.page16=§4§lAvoid. book_lore.author=By %s book_lore.test.name=Test @@ -399,10 +401,10 @@ cannery.crucible.0=The crucible is used to smelt ores, ingots or other metallic 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.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.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. @@ -553,7 +555,6 @@ chem.VIT_LIQUID=Liquid Nuclear Waste Vitrification chem.XENON=Linde Xenon Cycle chem.XENON_OXY=Boosted Linde Xenon Cycle chem.YELLOWCAKE=Yellowcake Production -chem.LAMINATE=Reinforced Glass Lamination container.amsBase=AMS Base (Deco) container.amsEmitter=AMS Emitter (Deco) @@ -649,7 +650,7 @@ container.nukeFurnace=Nuclear Powered Furnace container.nukeGadget=The Gadget container.nukeMan=Fat Man container.nukeMike=Ivy Mike -container.nukeN2=N² Mine +container.nukeN2=N² Mine container.nukeN45=N45 Naval Mine container.nukePrototype=The Prototype container.nukeSolinium=The Blue Rinse @@ -691,6 +692,7 @@ container.soyuzLauncher=Soyuz Launch Platform container.storageDrum=Nuclear Waste Disposal Drum container.teleLinker=TelLink Device container.teleporter=Teleporter +container.trainTram=Electric Flat Bed Tram container.turbinegas=Combined Cycle Gas Turbine container.turretArty=Greg container.turretChekhov=Chekhov's Gun @@ -780,35 +782,35 @@ 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. -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. -desc.gui.gasCent.output=§6Fluid Transfer§r$Fluid can be transferred to another centrifuge$via the output port for further processing. -desc.gui.nukeBoy.desc=§1Requires:§r$ * Neutron Shielding$ * U235 Projectile$ * Subcritical U235 Target$ * Propellant$ * Bomb Igniter -desc.gui.nukeGadget.desc=§1Requires:§r$ * 4 Arrays of First-Generation$ High-Explosive Lenses$ * Heavy Plutonium Core$ * Wiring -desc.gui.nukeMan.desc=§1Requires:§r$ * 4 Arrays of First-Generation$ High-Explosive Lenses$ * Plutonium Core$ * Bomb Firing Unit -desc.gui.nukeMike.desc=§1Requires:§r$ * 4 Arrays of High-Explosive Lenses$ * Plutonium Core$ * Deuterium Cooling Unit$ * Uranium Coated Deuterium Tank$ * Deuterium Tank -desc.gui.nukeTsar.desc=§1Requires:§r$ * 4 Arrays of High-Explosive Lenses$ * Plutonium Core$§9Optional:§r$ * Tsar Bomba Core -desc.gui.radiolysis.desc=§9Description§r$This RTG is more efficient then others, and$comes equipped with a radiolysis chamber for$cracking and sterilization. +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. +desc.gui.gasCent.output=§6Fluid Transfer§r$Fluid can be transferred to another centrifuge$via the output port for further processing. +desc.gui.nukeBoy.desc=§1Requires:§r$ * Neutron Shielding$ * U235 Projectile$ * Subcritical U235 Target$ * Propellant$ * Bomb Igniter +desc.gui.nukeGadget.desc=§1Requires:§r$ * 4 Arrays of First-Generation$ High-Explosive Lenses$ * Heavy Plutonium Core$ * Wiring +desc.gui.nukeMan.desc=§1Requires:§r$ * 4 Arrays of First-Generation$ High-Explosive Lenses$ * Plutonium Core$ * Bomb Firing Unit +desc.gui.nukeMike.desc=§1Requires:§r$ * 4 Arrays of High-Explosive Lenses$ * Plutonium Core$ * Deuterium Cooling Unit$ * Uranium Coated Deuterium Tank$ * Deuterium Tank +desc.gui.nukeTsar.desc=§1Requires:§r$ * 4 Arrays of High-Explosive Lenses$ * Plutonium Core$§9Optional:§r$ * Tsar Bomba Core +desc.gui.radiolysis.desc=§9Description§r$This RTG is more efficient then others, and$comes equipped with a radiolysis chamber for$cracking and sterilization. desc.gui.rtgBFurnace.desc=Requires at least 15 heat to process$The more heat on top of that, the faster it runs$Heat going over maximum speed will have no effect$Short-lived pellets may decay -desc.gui.rtg.heat=§eCurrent heat level: %s +desc.gui.rtg.heat=§eCurrent heat level: %s desc.gui.rtg.pellets=Accepted Pellets: desc.gui.rtg.pelletHeat=%s (%s heat) desc.gui.rtg.pelletPower=%s (%s HE/tick) -desc.gui.template=§9Templates§r$Templates can be made by$using the Machine Template Folder. -desc.gui.turbinegas.automode=§2Automatic Turbine Throttling Mode§r$By clicking the "AUTO" button, the turbine$will automatically adjust the power production$based on the power required from the network -desc.gui.turbinegas.fuels=§6Accepted fuels:§r -desc.gui.turbinegas.warning=§cFuel or lubricant level low!§r -desc.gui.upgrade=§lAcceptable Upgrades:§r -desc.gui.upgrade.afterburner= * §dAfterburner§r: Stacks to level 3 -desc.gui.upgrade.effectiveness= * §aEffectiveness§r: Stacks to level 3 -desc.gui.upgrade.overdrive= * §7Overdrive§r: Stacks to level 3 -desc.gui.upgrade.power= * §1Power-Saving§r: Stacks to level 3 -desc.gui.upgrade.speed= * §4Speed§r: Stacks to level 3 -desc.gui.zirnox.coolant=§3Coolant§r$CO2 transfers heat from the core to the water.$This will boil it into super dense steam.$The efficiency of cooling and steam production$is based on pressure. -desc.gui.zirnox.pressure=§6Pressure§r$Pressure can be reduced by venting CO2.$However, too low a pressure, and cooling$efficiency and steam production will be reduced.$Look out for meltdowns! -desc.gui.zirnox.warning1=§cError:§r Water is required for$the reactor to function properly! -desc.gui.zirnox.warning2=§cError:§r CO2 is required for$the reactor to function properly! +desc.gui.template=§9Templates§r$Templates can be made by$using the Machine Template Folder. +desc.gui.turbinegas.automode=§2Automatic Turbine Throttling Mode§r$By clicking the "AUTO" button, the turbine$will automatically adjust the power production$based on the power required from the network +desc.gui.turbinegas.fuels=§6Accepted fuels:§r +desc.gui.turbinegas.warning=§cFuel or lubricant level low!§r +desc.gui.upgrade=§lAcceptable Upgrades:§r +desc.gui.upgrade.afterburner= * §dAfterburner§r: Stacks to level 3 +desc.gui.upgrade.effectiveness= * §aEffectiveness§r: Stacks to level 3 +desc.gui.upgrade.overdrive= * §7Overdrive§r: Stacks to level 3 +desc.gui.upgrade.power= * §1Power-Saving§r: Stacks to level 3 +desc.gui.upgrade.speed= * §4Speed§r: Stacks to level 3 +desc.gui.zirnox.coolant=§3Coolant§r$CO2 transfers heat from the core to the water.$This will boil it into super dense steam.$The efficiency of cooling and steam production$is based on pressure. +desc.gui.zirnox.pressure=§6Pressure§r$Pressure can be reduced by venting CO2.$However, too low a pressure, and cooling$efficiency and steam production will be reduced.$Look out for meltdowns! +desc.gui.zirnox.warning1=§cError:§r Water is required for$the reactor to function properly! +desc.gui.zirnox.warning2=§cError:§r CO2 is required for$the reactor to function properly! desc.item.ammo.con_accuracy2=- Highly decreased accuracy desc.item.ammo.con_damage=- Highly decreased damage desc.item.ammo.con_heavy_wear=- Highly increased wear @@ -916,7 +918,7 @@ desc.item.kitArmor=Armor will be displaced by new set. desc.item.kitHaz=Armor will be displaced by hazmat suit. desc.item.kitPack=What a bargain! desc.item.kitPool=Please empty inventory before opening! -desc.item.pileRod=§eUse on drilled graphite to insert$§eUse screwdriver to extract$ +desc.item.pileRod=§eUse on drilled graphite to insert$§eUse screwdriver to extract$ desc.item.rtgDecay=Decays to: %s desc.item.rtgHeat=Power Level: %s desc.item.storage.capacity=Capacity %s%%s @@ -924,19 +926,19 @@ desc.item.storage.proscons=to view pros cons list desc.misc.357=.357 Magnum desc.misc.556=.223 Remington desc.misc.762=.308 Winchester -desc.misc.func=§n-- Function -- +desc.misc.func=§n-- Function -- desc.misc.lanthanum="Lanthanum" -desc.misc.lctrl=§8Hold <§e§oLCTRL§8§o> %s -desc.misc.lore=§n-- Lore -- -desc.misc.lshift=§8Hold <§e§oLSHIFT§8§o> %s -desc.misc.luna=§o20x155mm Lunatic -desc.misc.meltPoint=Melting point: §c%s +desc.misc.lctrl=§8Hold <§e§oLCTRL§8§o> %s +desc.misc.lore=§n-- Lore -- +desc.misc.lshift=§8Hold <§e§oLSHIFT§8§o> %s +desc.misc.luna=§o20x155mm Lunatic +desc.misc.meltPoint=Melting point: §c%s desc.misc.noPos=No position set! desc.misc.pos=Set pos to: %s, %s, %s desc.misc.posSet=Position set! desc.item.wasteCooling=Cool in a Spent Fuel Pool Drum -desc.item.zirnoxBreedingRod=§2[ZIRNOX Breeding Rod]$§ePlace next to fuel rods to breed$§eLasts %d ticks -desc.item.zirnoxRod=§a[ZIRNOX Fuel Rod]$§eGenerates %1$d heat per tick$§eLasts %2$d ticks +desc.item.zirnoxBreedingRod=§2[ZIRNOX Breeding Rod]$§ePlace next to fuel rods to breed$§eLasts %d ticks +desc.item.zirnoxRod=§a[ZIRNOX Fuel Rod]$§eGenerates %1$d heat per tick$§eLasts %2$d ticks digamma.playerDigamma=Digamma exposure: digamma.playerHealth=Digamma influence: @@ -1060,15 +1062,15 @@ 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.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.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.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 @@ -1081,7 +1083,7 @@ 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.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 @@ -1124,11 +1126,11 @@ 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.hopper0=§eNormal Mode:$All items will be used. +hadron.hopper1=§eHopper Mode:$One item will always remain. 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.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! @@ -1197,6 +1199,7 @@ hbmfluid.egg=Dissolved Egg hbmfluid.estradiol=Estradiol Solution hbmfluid.ethanol=Ethanol hbmfluid.enderjuice=Ender Juice +hbmfluid.fishoil=Fish Oil hbmfluid.fracksol=Fracking Solution hbmfluid.gas=Natural Gas hbmfluid.gas_coker=Coker Gas @@ -1228,8 +1231,9 @@ hbmfluid.mustardgas=Mustard Gas hbmfluid.naphtha=Naphtha hbmfluid.naphtha_coker=Coker Naphtha hbmfluid.naphtha_crack=Cracked Naphtha -hbmfluid.nitan=NITAN© 100 Octane Super Fuel +hbmfluid.nitan=NITAN© 100 Octane Super Fuel hbmfluid.nitric_acid=Nitric Acid +hbmfluid.nitroglycerin=Nitroglycerin hbmfluid.none=None hbmfluid.oil=Crude Oil hbmfluid.oil_coker=Coker Oil @@ -1249,6 +1253,7 @@ hbmfluid.plasma_xm=Xenon-Mercury Plasma hbmfluid.puf6=Plutonium Hexafluoride hbmfluid.radiosolvent=High-Performance Solvent hbmfluid.reclaimed=Reclaimed Industrial Oil +hbmfluid.redmud=Red Mud hbmfluid.reformate=Reformate hbmfluid.reformgas=Reformate Gas hbmfluid.salient=Salient Green @@ -1261,6 +1266,7 @@ hbmfluid.sourgas=Sour Gas hbmfluid.spentsteam=Low-Pressure Steam hbmfluid.steam=Steam hbmfluid.sulfuric_acid=Sulfuric Acid +hbmfluid.sunfloweroil=Sunflower Seed Oil hbmfluid.superhotsteam=Super Dense Steam hbmfluid.syngas=Syngas hbmfluid.tritium=Tritium @@ -1546,7 +1552,7 @@ 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_nuclear.name=40mm Grenade (Привет) +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) @@ -1580,7 +1586,7 @@ 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_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) @@ -1594,7 +1600,7 @@ 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_nuclear.name=Stinger Rocket (Привет) item.ammo_stinger_rocket_bones.name=Stinger Rocket (Bone-Seeking) item.ams_catalyst_aluminium.name=Aluminium Reaction Catalyst item.ams_catalyst_beryllium.name=Beryllium Reaction Catalyst @@ -1633,7 +1639,7 @@ item.apple_schrabidium.name=Schrabidium Apple item.arc_electrode.name=Graphite Electrode item.arc_electrode_burnt.name=Molten Electrode item.arc_electrode_desh.name=Desh Electrode -item.armor_polish.name=ShiningArmorâ„¢ Armor Polish +item.armor_polish.name=ShiningArmor™ Armor Polish item.asbestos_boots.name=Fire Proximity Boots item.asbestos_cloth.name=Fire Proximity Cloth item.asbestos_helmet.name=Fire Proximity Helmet @@ -1854,7 +1860,7 @@ item.can_mug.name=MUG Root Beer item.can_overcharge.name=Overcharge Delirium XT item.can_redbomb.name='Red Bomb' Energy Drink item.can_smart.name='Smart' Energy Drink -item.canister_NITAN.name=NITAN© 100 Octane Super Fuel (LEGACY) +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) @@ -1898,7 +1904,7 @@ item.canned_fried.name=Canned Fried Chicken item.canned_fried.desc=Even the can is deep fried! item.canned_hotdogs.name=Canned Hotdogs item.canned_hotdogs.desc=Not to be confused with cool cats. -item.canned_jizz.name=FlimFlam Industries Canned Stallion Milkâ„¢ +item.canned_jizz.name=FlimFlam Industries Canned Stallion Milk™ item.canned_jizz.desc=Wait wh- item.canned_kerosene.name=Canned Kerosene item.canned_kerosene.desc=Just imagine a witty line here. @@ -1912,14 +1918,14 @@ 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 item.canned_oil.desc=It makes motors go, so why not humans? -item.canned_pashtet.name=Паштет -item.canned_pashtet.desc=уÑ�луги перевода недоÑ�тупны! +item.canned_pashtet.name=Паштет +item.canned_pashtet.desc=услуги перевода недоступны! item.canned_pizza.name=Canned Pepperoni Pizza item.canned_pizza.desc=A crime against humanity. item.canned_recursion.name=Canned Recursion item.canned_recursion.desc=Canned Recursion item.canned_spam.name=Canned Spam -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_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=Canned "Mushroom Stew" item.canned_stew.desc=... item.canned_tomato.name=Canned Tomato Soup @@ -2456,9 +2462,9 @@ item.grenade_tau.name=Tau Grenade item.grenade_zomg.name=Negative Energy Pair Annihilation Grenade item.gun_ar15.name=Josh item.gun_avenger.name=CZ57 Avenger Minigun -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_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_bf.name=BEL item.gun_bf_ammo.name=Balefire Shell item.gun_bio_revolver.name=Atlas @@ -2508,7 +2514,7 @@ 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_lever_action_sonata_2.name=§cSonata's Microphone§r item.gun_lunatic_marksman.name=Lunatic Sniper Rifle item.gun_m2.name=Ma Deuce item.gun_minigun.name=CZ53 Personal Minigun @@ -2526,7 +2532,7 @@ item.gun_osipr_ammo2.name=Combine Ball 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_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 @@ -2638,7 +2644,7 @@ item.ingot_am242.name=Americium-242 Ingot item.ingot_americium_fuel.name=Ingot of Americium Fuel item.ingot_arsenic.name=Arsenic Ingot item.ingot_asbestos.name=Asbestos Sheet -item.ingot_asbestos.desc=§o"Filled with life, self-doubt and asbestos. That comes with the air."§r +item.ingot_asbestos.desc=§o"Filled with life, self-doubt and asbestos. That comes with the air."§r item.ingot_au198.name=Gold-198 Ingot item.ingot_australium.name=Australium Ingot item.ingot_bakelite.name=Bakelite Bar @@ -2714,7 +2720,7 @@ item.ingot_semtex.name=Bar of Semtex item.ingot_smore.name=S'more Ingot item.ingot_solinium.name=Solinium Ingot item.ingot_sr90.name=Strontium-90 Ingot -item.ingot_starmetal.name=§9Starmetal Ingot§r +item.ingot_starmetal.name=§9Starmetal Ingot§r item.ingot_steel.name=Steel Ingot item.ingot_steel_dusted.name=Dusted Steel Ingot item.ingot_tantalium.name=Tantalium Ingot @@ -2738,7 +2744,7 @@ item.ingot_weidanium.name=Weidanium Ingot item.ingot_zirconium.name=Zirconium Cube item.injector_5htp.name=5-HTP Autoinjector item.injector_knife.name=8 Inch Blade Autoinjector -item.ink.name=æž— Ink +item.ink.name=林 Ink item.insert_doxium.name=Astolfium-Doped Doxium Insert item.insert_du.name=DU Insert item.insert_era.name=Explosive Reactive Armor Insert @@ -2769,7 +2775,7 @@ item.key_fake.name=Counterfeit Key item.key_kit.name=Key Imitation Kit item.key_red.name=Red Key item.key_red.desc=Explore the other side. -item.key_red.desc.P11=§4e§r +item.key_red.desc.P11=§4e§r item.kit_toolbox.name=Toolbox item.kit_toolbox_empty.name=Empty Toolbox item.laser_crystal_bismuth.desc=Bismuth-Samarium-Uranium-Thorium crystal matrix @@ -2795,7 +2801,7 @@ item.liquidator_plate.name=Liquidator Suit Chestplate item.lithium.name=Lithium Cube item.lodestone.name=Lodestone item.loop_stew.name=IT Breakfast -item.loops.name=Lööps +item.loops.name=Lööps item.loot_10.name=Size 10 Missile Loot Crate item.loot_15.name=Size 15 Missile Loot Crate item.loot_misc.name=General Missile Loot Crate @@ -2826,7 +2832,7 @@ item.med_ptsd.name=PTSD Medication item.med_schiziphrenia.name=Schizophrenia Medication item.medal_liquidator.name=Liquidator Medal item.meltdown_tool.name=Dyatlov Instant Meltdown Applicator -item.memespoon.name=§eMarket Gardener +item.memespoon.name=§eMarket Gardener item.memory.name=item.null.name item.mese_gavel.name=Mese Gavel item.mese_pickaxe.name=Mese Pickaxe @@ -2893,7 +2899,7 @@ item.missile_skin_orange_insulation.desc=Not an orange juice bottle;$do not atte item.missile_skin_sleek.name=Missile Skin: IF-R&D item.missile_skin_sleek.desc=Chevrons are cool! item.missile_skin_soviet_glory.name=Missile Skin: Soviet Glory -item.missile_skin_soviet_glory.desc=уÑ�луга перевода недоÑ�тупна +item.missile_skin_soviet_glory.desc=услуга перевода недоступна item.missile_skin_soviet_stank.name=Missile Skin: Soviet Stank item.missile_skin_soviet_stank.desc=This one's got the real 60's stank to it. item.missile_soyuz.name=Soyuz-FG @@ -3024,7 +3030,7 @@ item.mp_warhead_15_balefire.name=Size 15 BF Warhead item.mp_warhead_15_boxcar.name=Size 15 Boxcar? item.mp_warhead_15_he.name=Size 15 HE Warhead item.mp_warhead_15_incendiary.name=Size 15 Incendiary Warhead -item.mp_warhead_15_n2.name=Size 15 N² Mine +item.mp_warhead_15_n2.name=Size 15 N² Mine item.mp_warhead_15_nuclear.name=Size 15 Nuclear Warhead item.mp_warhead_15_nuclear_mimi.name=Size 15 Mimi-chan's Head item.mp_warhead_15_nuclear_shark.name=Size 15 Nuclear Warhead @@ -3090,7 +3096,7 @@ item.nugget_les.name=Low Enriched Schrabidium Fuel Nugget item.nugget_mercury_tiny.name=Tiny Drop of Mercury item.nugget_mercury.name=Drop of Mercury item.nugget_mox_fuel.name=Nugget of MOX Fuel -item.nugget_mox_fuel.desc=Moxie says: §lTAX EVASION.§r +item.nugget_mox_fuel.desc=Moxie says: §lTAX EVASION.§r item.nugget_neptunium.name=Neptunium Nugget item.nugget_neptunium_fuel.name=Neptunium Fuel Nugget item.nugget_osmiridium.name=Osmiridium Nugget @@ -3149,6 +3155,8 @@ item.ore.iron=Iron item.ore.niobium=Niobium item.ore.titanium=Titanium item.ore.tungsten=Tungsten +item.ore.thorium=Thorium +item.ore.uranium=Uranium item.ore_bedrock.name=%s Bedrock Ore item.ore_byproduct.b_aluminium.name=Crystalline Aluminium Fragment item.ore_byproduct.b_bismuth.name=Crystalline Bismuth Fragment @@ -3157,9 +3165,13 @@ item.ore_byproduct.b_copper.name=Crystalline Copper Fragment item.ore_byproduct.b_iron.name=Crystalline Iron Fragment item.ore_byproduct.b_lead.name=Crystalline Lead Fragment item.ore_byproduct.b_lithium.name=Crystalline Lithium Fragment +item.ore_byproduct.b_polonium.name=Crystalline Polonium Fragment +item.ore_byproduct.b_radium.name=Crystalline Radium Fragment item.ore_byproduct.b_silicon.name=Crystalline Silicon Fragment item.ore_byproduct.b_sulfur.name=Crystalline Sulfur Fragment +item.ore_byproduct.b_technetium.name=Crystalline Technetium Fragment item.ore_byproduct.b_titanium.name=Crystalline Titanium Fragment +item.ore_byproduct.b_uranium.name=Crystalline Uranium Fragment item.ore_centrifuged.name=Centrifuged %s Ore item.ore_cleaned.name=Cleaned %s Ore item.ore_deepcleaned.name=Deep Cleaned %s Ore @@ -3167,7 +3179,7 @@ item.ore_enriched.name=Enriched %s Ore item.ore_nitrated.name=Nitrated %s Ore item.ore_nitrocrystalline.name=Nitrocrystalline %s Ore item.ore_purified.name=Purified %s Ore -item.ore_raadcleaned.name=Radiation-Cleaned %s Ore +item.ore_radcleaned.name=Radiation-Cleaned %s Ore item.ore_seared.name=Seared %s Ore item.ore_separated.name=Separated %s Ore item.overfuse.name=Singularity Screwdriver @@ -3198,7 +3210,7 @@ item.particle_aproton.name=Antiproton Capsule item.particle_aschrab.name=Antischrabidium Capsule item.particle_copper.name=Copper Ion Capsule item.particle_dark.name=Dark Matter Capsule -item.particle_digamma.name=§cThe Digamma Particle§r +item.particle_digamma.name=§cThe Digamma Particle§r item.particle_empty.name=Empty Particle Capsule item.particle_higgs.name=Higgs Boson Capsule item.particle_hydrogen.name=Hydrogen Ion Capsule @@ -3264,19 +3276,19 @@ item.pellet_rtg_weak.desc=Cheaper and weaker pellet, now with more U238! item.pellet_schrabidium.name=Pure Schrabidium Watz Pellet item.photo_panel.name=Photovoltaic Panel item.pile_rod_boron.name=Chicago Pile Control Rod -item.pile_rod_boron.desc=§9[Neutron Absorber]$§eClick to toggle +item.pile_rod_boron.desc=§9[Neutron Absorber]$§eClick to toggle item.pile_rod_detector.name=Chicago Pile Control & Detector Rod -item.pile_rod_detector.desc=§9[Neutron Detector/Absorber]$§eUse defuser to increase/decrease neutron limit$§eUse screwdriver w/o sneaking to inspect flux +item.pile_rod_detector.desc=§9[Neutron Detector/Absorber]$§eUse defuser to increase/decrease neutron limit$§eUse screwdriver w/o sneaking to inspect flux item.pile_rod_lithium.name=Chicago Pile Lithium Cell -item.pile_rod_lithium.desc=§a[Breedable Fuel]$§eUse hand drill to inspect core +item.pile_rod_lithium.desc=§a[Breedable Fuel]$§eUse hand drill to inspect core item.pile_rod_plutonium.name=Chicago Pile Plutonium Rod -item.pile_rod_plutonium.desc=§d[Neutron Source] +item.pile_rod_plutonium.desc=§d[Neutron Source] item.pile_rod_pu239.name=Chicago Pile Bred Uranium Rod -item.pile_rod_pu239.desc=§a[Reactive Fuel]$§eRich in Plutonium-239. +item.pile_rod_pu239.desc=§a[Reactive Fuel]$§eRich in Plutonium-239. item.pile_rod_source.name=Chicago Pile Ra226Be Neutron Source -item.pile_rod_source.desc=§d[Neutron Source] +item.pile_rod_source.desc=§d[Neutron Source] item.pile_rod_uranium.name=Chicago Pile Uranium Rod -item.pile_rod_uranium.desc=§a[Reactive Fuel]$§eUse hand drill to take core sample +item.pile_rod_uranium.desc=§a[Reactive Fuel]$§eUse hand drill to take core sample item.pill_iodine.name=Iodine Pill item.pill_iodine.desc=Removes negative effects item.pill_herbal.name=Herbal Paste @@ -3337,7 +3349,7 @@ item.powder_actinium_tiny.name=Tiny Pile of Actinium Powder item.powder_advanced_alloy.name=Advanced Alloy Powder item.powder_aluminium.name=Aluminium Powder item.powder_asbestos.name=Asbestos Powder -item.powder_asbestos.desc=§o\"Sniffffffff- MHHHHHHMHHHHHHHHH\"§r +item.powder_asbestos.desc=§o\"Sniffffffff- MHHHHHHMHHHHHHHHH\"§r item.powder_astatine.name=Astatine Powder item.powder_at209.name=Astatine-209 Powder item.powder_au198.name=Gold-198 Powder @@ -3371,7 +3383,7 @@ item.powder_cs137_tiny.name=Tiny Pile of Caesium-137 Powder item.powder_daffergon.name=Daffergon Powder item.powder_desh.name=Desh Powder item.powder_desh_mix.name=Desh Blend -item.powder_desh_ready.name=DeshReadyâ„¢ Blend +item.powder_desh_ready.name=DeshReady™ Blend item.powder_diamond.name=Diamond Powder item.powder_dineutronium.name=Dineutronium Powder item.powder_dura_steel.name=High-Speed Steel Powder @@ -3466,7 +3478,7 @@ item.rag_damp.name=Damp Cloth item.rag_piss.name=Piss-Soaked Rag 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 +item.rbmk_fuel_drx.name=§cDigamma RBMK Fuel Rod§r item.rbmk_fuel_empty.name=Empty RBMK Fuel Rod item.rbmk_fuel_flashlead.name=Flashlead RBMK Fuel Rod item.rbmk_fuel_hea241.name=HEA-241 RBMK Fuel Rod @@ -3500,7 +3512,7 @@ item.rbmk_lid.name=RBMK Cover Panel item.rbmk_lid_glass.name=RBMK Glass Cover Panel item.rbmk_pellet_balefire.name=Balefire Fuel Pellet item.rbmk_pellet_balefire_gold.name=Flashgold Fuel Pellet -item.rbmk_pellet_drx.name=§cDigamma Fuel Pellet§r +item.rbmk_pellet_drx.name=§cDigamma Fuel Pellet§r item.rbmk_pellet_flashlead.name=Flashlead Fuel Pellet item.rbmk_pellet_hea241.name=HEA-241 Fuel Pellet item.rbmk_pellet_hea242.name=HEA-242 Fuel Pellet @@ -3546,7 +3558,7 @@ item.redstone_sword.name=Redstone Sword item.reer_graar.name=The Reer Graar item.remote.name=Broken Remote item.ring_pull.name=Ring Pull -item.ring_starmetal.name=§9Starmetal Ring§r +item.ring_starmetal.name=§9Starmetal Ring§r item.robes_boots.name=Field Boots item.robes_helmet.name=Casual Hoodie item.robes_legs.name=Casual Pants @@ -3880,6 +3892,7 @@ item.steel_shovel.name=Steel Shovel item.steel_sword.name=Steel Sword 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 @@ -3942,6 +3955,7 @@ item.titanium_plate.name=Titanium Chestplate item.titanium_shovel.name=Titanium Shovel item.titanium_sword.name=Titanium Sword item.toothpicks.name=Toothpicks +item.train.cargo_tram.name=Electric Flat Bed Tram item.trinitite.name=Trinitite item.tritium_deuterium_cake.name=Tritium-Deuterium-Cake item.tritium_deuterium_cake.desc=Not actual cake, but great$universal fusion fuel! @@ -4064,12 +4078,12 @@ 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.weapon_bat.name=Richard's Default -item.weapon_bat_nail.name=The Cliché +item.weapon_bat_nail.name=The Cliché item.weapon_golf_club.name=Russian Mobster's Club 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.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 @@ -4132,11 +4146,11 @@ rbmk.console.fuel_depletion=Monitor average fuel depletion rbmk.console.fuel_poison=Monitor average xenon poisoning rbmk.console.fuel_temp=Monitor average fuel temperature rbmk.control.level=%s -rbmk.control.red=§cRed Group -rbmk.control.yellow=§eYellow Group -rbmk.control.green=§aGreen Group -rbmk.control.blue=§1Blue Group -rbmk.control.purple=§5Purple Group +rbmk.control.red=§cRed Group +rbmk.control.yellow=§eYellow Group +rbmk.control.green=§aGreen Group +rbmk.control.blue=§1Blue Group +rbmk.control.purple=§5Purple Group rbmk.moderated=Moderated rbmk.rod.depletion=Depletion: %s rbmk.rod.xenon=Xenon poison: %s @@ -4199,7 +4213,7 @@ tile.barbed_wire_wither.name=Withered Barbed Wire tile.barrel_antimatter.name=Magnetic Antimatter Container tile.barrel_corroded.name=Corroded Barrel tile.barrel_iron.name=Iron Barrel -tile.barrel_plastic.name=Safe Barrelâ„¢ +tile.barrel_plastic.name=Safe Barrel™ tile.barrel_steel.name=Steel Barrel tile.barrel_tcalloy.name=Technetium Steel Barrel tile.barricade.name=Sand Bags @@ -4298,7 +4312,7 @@ tile.block_semtex.name=Block of Semtex tile.block_slag.name=Block of Slag tile.block_smore.name=Block of S'more tile.block_solinium.name=Block of Solinium -tile.block_starmetal.name=§9Block of Starmetal§r +tile.block_starmetal.name=§9Block of Starmetal§r tile.block_steel.name=Block of Steel tile.block_sulfur.name=Block of Sulfur tile.block_tantalium.name=Block of Tantalium @@ -4417,6 +4431,12 @@ tile.concrete_colored.red.name=Red Concrete tile.concrete_colored.silver.name=Light Gray Concrete tile.concrete_colored.white.name=White Concrete tile.concrete_colored.yellow.name=Yellow Concrete +tile.concrete_colored_ext.hazard.name=Builder's Choice Concrete - Hazard Stripe +tile.concrete_colored_ext.indigo.name=Builder's Choice Concrete - Deep Indigo +tile.concrete_colored_ext.machine.name=Builder's Choice Concrete - Industrial Tinge +tile.concrete_colored_ext.machine_stripe.name=Builder's Choice Concrete - Industrial Stripe +tile.concrete_colored_ext.pink.name=Builder's Choice Concrete - Manly Pink +tile.concrete_colored_ext.purple.name=Builder's Choice Concrete - Mysterious Purple tile.concrete_pillar.name=Rebar Reinforced Concrete Pillar tile.concrete_slab.concrete.name=Concrete Tile Slab tile.concrete_slab.concrete_asbestos.name=Asbestos Concrete Slab @@ -4426,7 +4446,7 @@ tile.concrete_slab.ducrete_smooth.name=Ducrete Slab tile.concrete_smooth.name=Concrete tile.concrete_smooth_stairs.name=Concrete Stairs tile.concrete_stairs.name=Concrete Tile Stairs -tile.concrete_super.name=Über Concrete +tile.concrete_super.name=Über Concrete tile.concrete_super_broken.name=Moldy Debris tile.conveyor.name=Conveyor Belt tile.conveyor_chute.name=Conveyor Chute @@ -4463,6 +4483,7 @@ tile.deco_beryllium.name=Beryllium Deco Block tile.deco_computer.ibm_300pl.name=IBM Personal Computer 300PL tile.deco_emitter.name=Deco Light Emitter tile.part_emitter.name=Deco Particle Emitter +tile.piston_inserter.name=Inserter tile.deco_lead.name=Lead Deco Block tile.deco_rbmk.name=RBMK Deco Block tile.deco_rbmk_smooth.name=Smooth RBMK Deco Block @@ -4560,17 +4581,18 @@ tile.foundry_channel.name=Foundry Channel tile.foundry_tank.name=Foundry Storage Basin tile.foundry_mold.name=Shallow Foundry Basin tile.foundry_outlet.name=Foundry Outlet +tile.foundry_slagtap.name=Foundry Slag Outlet tile.fraction_spacer.name=Fractioning Tower Separator tile.frozen_dirt.name=Frozen Dirt tile.frozen_grass.name=Frozen Grass tile.frozen_log.name=Frozen Log tile.frozen_planks.name=Frozen Planks tile.furnace_combination.name=Combination Oven -tile.furnace_combination.desc=A large furnace that can produce charcoal and coal coke.$Produces fluid byproducts.$Heat transfer rate: ΔT*0.25 TU/t +tile.furnace_combination.desc=A large furnace that can produce charcoal and coal coke.$Produces fluid byproducts.$Heat transfer rate: ΔT*0.25 TU/t tile.furnace_iron.name=Iron Furnace tile.furnace_iron.desc=Larger and more efficient furnace,$does not waste fuel when idle. tile.furnace_steel.name=Steel Furnace -tile.furnace_steel.desc=Very large furnace that can provide bonus items$when smelting ores. Requires external heat source.$Heat transfer rate: ΔT*0.05 TU/t$(Δ means difference and T means temperature) +tile.furnace_steel.desc=Very large furnace that can provide bonus items$when smelting ores. Requires external heat source.$Heat transfer rate: ΔT*0.05 TU/t$(Δ means difference and T means temperature) tile.fusion_center.name=Central Magnet Piece tile.fusion_conductor.name=Superconducting Magnet tile.fusion_core.name=Fusion Reactor Control @@ -4680,7 +4702,7 @@ tile.machine_bat9000.name=Big-Ass Tank 9000 tile.machine_battery.name=Energy Storage Block tile.machine_battery_potato.name=Potato Battery Block 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.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 @@ -4695,7 +4717,7 @@ tile.machine_chungus.desc=Efficiency: 85%% tile.machine_coal_off.name=Combustion Generator tile.machine_coal_on.name=Combustion Generator tile.machine_coker.name=Coker Unit -tile.machine_coker.desc=Cokes oil, creating fluid byproducts.$Requires external heat source.$Heat transfer rate: ΔT*0.025 TU/t +tile.machine_coker.desc=Cokes oil, creating fluid byproducts.$Requires external heat source.$Heat transfer rate: ΔT*0.025 TU/t tile.machine_combine_factory.name=CMB Steel Furnace tile.machine_combustion_engine.name=Industrial Combustion Engine tile.machine_condenser.name=Steam Condenser @@ -4831,7 +4853,7 @@ tile.nuke_fstbmb.name=Balefire Bomb tile.nuke_gadget.name=The Gadget tile.nuke_man.name=Fat Man tile.nuke_mike.name=Ivy Mike -tile.nuke_n2.name=N² Mine +tile.nuke_n2.name=N² Mine tile.nuke_n45.name=N45 Naval Mine tile.nuke_prototype.name=The Prototype tile.nuke_solinium.name=The Blue Rinse @@ -4988,7 +5010,6 @@ tile.reinforced_brick.name=Reinforced Stone tile.reinforced_brick_stairs.name=Reinforced Stone Stairs tile.reinforced_ducrete.name=Reinforced Ducrete tile.reinforced_glass.name=Reinforced Glass -tile.reinforced_laminate.name=Laminate Glass tile.reinforced_lamp_off.name=Reinforced Lamp tile.reinforced_lamp_on.name=Reinforced Lamp tile.reinforced_light.name=Reinforced Glowstone @@ -5050,6 +5071,7 @@ tile.stone_depth_nether.name=Nether Depth Rock tile.stone_gneiss.name=Graphitic Schist tile.stone_porous.name=Porous Stone tile.stone_resource.asbestos.name=Chrysotile +tile.stone_resource.bauxite.name=Bauxite tile.stone_resource.hematite.name=Hematite tile.stone_resource.limestone.name=Limestone tile.stone_resource.malachite.name=Malachite @@ -5197,9 +5219,9 @@ tool.ability.silktouch=Silk Touch tool.ability.smelter=Auto-Smelter turret.animals=Target Passive: %s -turret.arty.artillery=§eArtillery Mode$Grace: 250m$Range: 3,000m -turret.arty.cannon=§eCannon Mode$Grace: 32m$Range: 250m -turret.arty.manual=§eManual Mode$Range: 3,000m +turret.arty.artillery=§eArtillery Mode$Grace: 250m$Range: 3,000m +turret.arty.cannon=§eCannon Mode$Grace: 32m$Range: 250m +turret.arty.manual=§eManual Mode$Range: 3,000m turret.machines=Target Machines: %s turret.mobs=Target Mobs: %s turret.none=None @@ -5234,4 +5256,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 From a9af4fa277622dd3caef2132a9256cbef2294328 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 30 May 2023 14:56:10 +0200 Subject: [PATCH 128/285] changelog --- changelog | 14 ++++++++++++++ curseforge.properties.example | 5 ----- gradle.properties | 21 ++++++++++++--------- 3 files changed, 26 insertions(+), 14 deletions(-) delete mode 100644 curseforge.properties.example diff --git a/changelog b/changelog index e69de29bb..9e3e29f28 100644 --- a/changelog +++ b/changelog @@ -0,0 +1,14 @@ +## Added +* Laminate glass + * A new variant of refinroced glass with higher blast resistance + +## Changed +* Updated russian localization +* Rebalanced some powder recipes like meteorite powder, spark blend and energy powder +* Changed spark battery recipes, the total cost and crafting steps for higher tier batteries should no longer be as insane as before +* Technetium steel and ferrouranium drillbits are now craftable +* The vacuum refinery now requires a bismuth chipset +* Paraffin wax can now also be used to make chlorated petroleum wax +* Retextured schrabidium batteries, the cap is now black instead of red + +## Fixed \ No newline at end of file diff --git a/curseforge.properties.example b/curseforge.properties.example deleted file mode 100644 index 002b2b4f5..000000000 --- a/curseforge.properties.example +++ /dev/null @@ -1,5 +0,0 @@ -# CurseForge API token (obtainable from https://legacy.curseforge.com/account/api-tokens) -api_key= - -# CurseForge project ID -project_id= diff --git a/gradle.properties b/gradle.properties index 17db097d2..a7d9d6e1a 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,12 +3,15 @@ mod_version=1.0.27 mod_build_number=4613 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ - \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models, porting),\ - \ UFFR (RTGs, guns, casings), Pu-238 (Tom impact effects), Bismarck (chinese localization),\ - \ Frooz (models), Minecreep (models), VT-6/24 (models, textures), Pheo (textures, various machines, models, weapons), Vr (gas centrifuges,\ - \ better worldgen, ZIRNOX, CP-1 parts, starter guide), Adam29 (liquid petroleum, ethanol, electric furnace),\ - \ Pashtet (russian localization), MartinTheDragon (calculator, chunk-based fallout), haru315 (spiral point algorithm),\ - \ Sten89 (models), Pixelguru26 (textures), TheBlueHat (textures), Alcater (GUI textures, porting), impbk2002 (project settings),\ - \ OvermindDL1 (project settings), TehTemmie (reacher radiation function), Toshayo (satellite loot system, project settings), Silly541 (config for safe ME drives),\ - \ Voxelstice (OpenComputers integration, turbine spinup), BallOfEnergy1 (OpenComputers integration), martemen (project settings),\ - \ Pvndols (thorium fuel recipe, gas turbine), JamesH2 (blood mechanics, nitric acid), sdddddf80 (recipe configs), SuperCraftAlex (tooltips) + \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ + \ porting), UFFR (RTGs, guns, casings), Pu-238 (Tom impact effects), Bismarck (chinese localization),\ + \ Frooz (models), Minecreep (models), VT-6/24 (models, textures), Pheo (textures, various machines,\ + \ models, weapons), Vr (gas centrifuges, better worldgen, ZIRNOX, CP-1 parts, starter guide), Adam29\ + \ (liquid petroleum, ethanol, electric furnace), Pashtet (russian localization), MartinTheDragon\ + \ (calculator, chunk-based fallout), haru315 (spiral point algorithm), Sten89 (models), Pixelguru26\ + \ (textures), TheBlueHat (textures), Alcater (GUI textures, porting), impbk2002 (project settings),\ + \ Burningwater202 (laminate glass), OvermindDL1 (project settings), TehTemmie (reacher radiation function),\ + \ Toshayo (satellite loot system, project settings, gradle curse task), Silly541 (config for safe ME drives),\ + \ Voxelstice (OpenComputers integration, turbine spinup), BallOfEnergy1 (OpenComputers integration), martemen\ + \ (project settings), Pvndols (thorium fuel recipe, gas turbine), JamesH2 (blood mechanics, nitric acid,\ + \ particle emitter), sdddddf80 (recipe configs, chinese localization), SuperCraftAlex (tooltips) From f4d67be51eef1b4e03748223d8ebe4e8ec133432 Mon Sep 17 00:00:00 2001 From: Vaern Date: Tue, 30 May 2023 20:04:55 -0700 Subject: [PATCH 129/285] deco --- .../world/gen/component/BunkerComponents.java | 73 +++++++++++++++---- 1 file changed, 59 insertions(+), 14 deletions(-) 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 b132b862d..3efd261fd 100644 --- a/src/main/java/com/hbm/world/gen/component/BunkerComponents.java +++ b/src/main/java/com/hbm/world/gen/component/BunkerComponents.java @@ -141,7 +141,7 @@ public class BunkerComponents { placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 5, 4, 5, box); //machine placeBlockAtCurrentPosition(world, ModBlocks.deco_tungsten, 0, 3, 1, 6, box); - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(2), 4, 1, 6, HbmChestContents.antenna/*TODO change */, 5); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(3), 4, 1, 6, HbmChestContents.antenna/*TODO change */, 5); placeBlockAtCurrentPosition(world, ModBlocks.deco_tungsten, 0, 5, 1, 6, box); fillWithMetadataBlocks(world, box, 3, 2, 6, 5, 2, 6, ModBlocks.concrete_smooth_stairs, getStairMeta(2) | 4); fillWithMetadataBlocks(world, box, 3, 3, 6, 5, 3, 6, ModBlocks.tape_recorder, getDecoMeta(2)); @@ -149,7 +149,7 @@ public class BunkerComponents { placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, getStairMeta(1) | 4, 3, 1, 4, box); placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, getStairMeta(3) | 4, 4, 1, 4, box); placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, getStairMeta(0) | 4, 5, 1, 4, box); - placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(0), 4, 2, 4, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(1), 4, 2, 4, box); //clear out entryways based on path if(paths[0]) fillWithAir(world, box, 7, 1, 2, 7, 2, 3); if(paths[1]) fillWithAir(world, box, 3, 1, 0, 4, 2, 0); @@ -162,13 +162,17 @@ public class BunkerComponents { public static class Corridor extends Component implements ProceduralComponent { private boolean path; + private int[] decorations = new int[2]; public Corridor() { } - public Corridor(int componentType, StructureBoundingBox box, int coordMode) { + public Corridor(int componentType, StructureBoundingBox box, int coordMode, Random rand) { super(componentType); this.boundingBox = box; this.coordBaseMode = coordMode; + + decorations[0] = rand.nextInt(6); + decorations[1] = rand.nextInt(6); } /** write to nbt */ @@ -176,6 +180,7 @@ public class BunkerComponents { protected void func_143012_a(NBTTagCompound nbt) { super.func_143012_a(nbt); nbt.setBoolean("p", path); + nbt.setIntArray("d", decorations); } /** read from nbt */ @@ -183,6 +188,7 @@ public class BunkerComponents { protected void func_143011_b(NBTTagCompound nbt) { super.func_143011_b(nbt); path = nbt.getBoolean("p"); + decorations = nbt.getIntArray("d"); } @Override @@ -212,18 +218,57 @@ public class BunkerComponents { //lamps fillWithBlocks(world, box, 2, 5, 3, 3, 5, 3, ModBlocks.reinforced_lamp_off); fillWithBlocks(world, box, 2, 4, 3, 3, 4, 3, ModBlocks.fan); - //table w/ chairs - final int stairMetaS = getStairMeta(3); + //deco misc + final int stairMetaW = getStairMeta(0); + final int stairMetaE = getStairMeta(1); final int stairMetaN = getStairMeta(2); + final int stairMetaS = getStairMeta(3); + final int decoMetaE = getDecoMeta(4); + final int decoMetaW = getDecoMeta(5); - placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaS, 1, 1, 2, box); - placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaN, 1, 1, 4, box); - placeBlockAtCurrentPosition(world, Blocks.fence, 0, 1, 1, 3, box); - placeBlockAtCurrentPosition(world, Blocks.wooden_pressure_plate, 1, 1, 2, 3, box); - //desk w/ computer - placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, 4, 1, 2, box); - placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaN, 4, 1, 4, box); - placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(1), 4, 2, 2, box); + for(int i = 0; i <= 1; i++) { + final int x = 1 + i * 3; + switch (decorations[i]) { + default: //table w/ chairs + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaS, x, 1, 2, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaN, x, 1, 4, box); + placeBlockAtCurrentPosition(world, Blocks.fence, 0, x, 1, 3, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_pressure_plate, 1, x, 2, 3, box); + break; + case 1://desk w/ computer + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, x, 1, 2, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaN, x, 1, 4, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(1), x, 2, 2, box); + break; + case 2: //couch + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaS, x, 1, 2, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, i < 1 ? stairMetaE : stairMetaW, x, 1, 3, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaN, x, 1, 4, box); + break; + case 3: + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, x, 1, 2, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, (i < 1 ? stairMetaE : stairMetaW) | 4, x, 1, 3, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaN | 4, x, 1, 4, box); + placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, x, 2, 2, box); + break; + case 4: + fillWithBlocks(world, box, x, 1, 1, x, 3, 1, ModBlocks.deco_tungsten); + placeBlockAtCurrentPosition(world, ModBlocks.deco_tungsten, 0, x, 1, 3, box); + fillWithMetadataBlocks(world, box, x, 3, 2, x, 3, 4, ModBlocks.concrete_smooth_stairs, i < 1 ? stairMetaE : stairMetaW); + fillWithBlocks(world, box, x, 1, 5, x, 3, 5, ModBlocks.deco_tungsten); + fillWithMetadataBlocks(world, box, x, 1, 2, x, 2, 2, ModBlocks.tape_recorder, i < 1 ? decoMetaW : decoMetaE); //don't ask me + fillWithMetadataBlocks(world, box, x, 1, 4, x, 2, 4, ModBlocks.tape_recorder, i < 1 ? decoMetaW : decoMetaE); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, i < 1 ? getDecoModelMeta(3) : getDecoModelMeta(2), x, 2, 3, box); + break; + case 5: + placeBlockAtCurrentPosition(world, Blocks.fence, 0, x, 1, 1, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_pressure_plate, 0, x, 2, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, x, 1, 3, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaN | 4, x, 1, 4, box); + placeBlockAtCurrentPosition(world, ModBlocks.radiorec, i < 1 ? decoMetaE : decoMetaW, x, 2, 3, box); + break; + } + } //doors placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 2, 1, 0); placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 3, 1, 0); @@ -234,7 +279,7 @@ public class BunkerComponents { public static StructureComponent findValidPlacement(List components, Random rand, int x, int y, int z, int coordMode, int type) { StructureBoundingBox box = ProceduralStructureStart.getComponentToAddBoundingBox(x, y, z, -3, -1, 0, 6, 6, 7, coordMode); - return box.minY > 10 && StructureComponent.findIntersecting(components, box) == null ? new Corridor(type, box, coordMode) : null; + return box.minY > 10 && StructureComponent.findIntersecting(components, box) == null ? new Corridor(type, box, coordMode, rand) : null; } } From af695359b325c1c1d0ac957504dc30d47d3ff75f Mon Sep 17 00:00:00 2001 From: Vaern Date: Tue, 30 May 2023 20:52:47 -0700 Subject: [PATCH 130/285] small fix --- src/main/java/com/hbm/world/gen/component/BunkerComponents.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 3efd261fd..9937ac15f 100644 --- a/src/main/java/com/hbm/world/gen/component/BunkerComponents.java +++ b/src/main/java/com/hbm/world/gen/component/BunkerComponents.java @@ -113,7 +113,7 @@ public class BunkerComponents { fillWithRandomizedBlocks(world, box, 7, 0, 0, 7, 4, 7, rand, ConcreteBricks); fillWithRandomizedBlocks(world, box, 1, 0, 0, 6, 4, 0, rand, ConcreteBricks); //meh, fix the area later - final int hpos = Component.getAverageHeight(world, boundingBox, box, componentType - boundingBox.minY); + final int hpos = Component.getAverageHeight(world, boundingBox, box, boundingBox.maxY) - boundingBox.minY; //top hatch placeBlockAtCurrentPosition(world, ModBlocks.concrete_slab, 1, 0, hpos, 5, box); fillWithMetadataBlocks(world, box, 1, hpos, 4, 1, hpos, 6, ModBlocks.concrete_smooth_stairs, getStairMeta(0)); From ccce86a41c716c3d549325abc52e81e5188b1a08 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 31 May 2023 15:18:16 +0200 Subject: [PATCH 131/285] usable tram trailer --- changelog | 2 +- .../entity/train/TrainCargoTramTrailer.java | 141 +++++++++++++++++- .../hbm/inventory/FluidContainerRegistry.java | 1 + .../gui/vehicles/gui_cargo_tram_trailer.png | Bin 0 -> 1382 bytes 4 files changed, 135 insertions(+), 9 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/gui/vehicles/gui_cargo_tram_trailer.png diff --git a/changelog b/changelog index 9e3e29f28..68bff38a5 100644 --- a/changelog +++ b/changelog @@ -1,6 +1,6 @@ ## Added * Laminate glass - * A new variant of refinroced glass with higher blast resistance + * A new variant of reinforced glass with higher blast resistance ## Changed * Updated russian localization diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java b/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java index e077a14da..05d465476 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java @@ -1,13 +1,31 @@ package com.hbm.entity.train; -import com.hbm.blocks.rail.IRailNTM.TrackGauge; +import org.lwjgl.opengl.GL11; +import com.hbm.blocks.rail.IRailNTM.TrackGauge; +import com.hbm.inventory.gui.GuiInfoContainer; +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.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; +import net.minecraft.inventory.Slot; +import net.minecraft.item.ItemStack; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class TrainCargoTramTrailer extends EntityRailCarCargo { +public class TrainCargoTramTrailer extends EntityRailCarCargo implements IGUIProvider { /* * @@ -28,15 +46,11 @@ public class TrainCargoTramTrailer extends EntityRailCarCargo { @Override public double getMaxRailSpeed() { return 1; } @Override public TrackGauge getGauge() { return TrackGauge.STANDARD; } @Override public double getLengthSpan() { return 1.5; } - @Override public int getSizeInventory() { return 29; } + @Override public int getSizeInventory() { return 45; } @Override public String getInventoryName() { return this.hasCustomInventoryName() ? this.getEntityName() : "container.trainTramTrailer"; } @Override public AxisAlignedBB getCollisionBox() { return AxisAlignedBB.getBoundingBox(renderX, renderY, renderZ, renderX, renderY + 1, renderZ).expand(4, 0, 4); } @Override public double getCouplingDist(TrainCoupling coupling) { return coupling != null ? 2.75 : 0; } - - @Override - public double getCurrentSpeed() { - return 0; //we'll figure out how linked carts work later on - i hope - } + @Override public double getCurrentSpeed() { return 0; } @Override public DummyConfig[] getDummies() { @@ -55,4 +69,115 @@ public class TrainCargoTramTrailer extends EntityRailCarCargo { return true; } + + @Override + public boolean interactFirst(EntityPlayer player) { + if(super.interactFirst(player)) return false; + + if(!this.worldObj.isRemote) { + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, worldObj, this.getEntityId(), 0, 0); + } + + return true; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerTrainCargoTramTrailer(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUITrainCargoTramTrailer(player.inventory, this); + } + + /* + * ##### ##### # # ##### ##### ### # # ##### #### + * # # # ## # # # # # ## # # # # + * # # # # # # # ##### # # # # ### #### + * # # # # ## # # # # # ## # # # + * ##### ##### # # # # # ### # # ##### # # + */ + public static class ContainerTrainCargoTramTrailer extends Container { + private TrainCargoTramTrailer train; + public ContainerTrainCargoTramTrailer(InventoryPlayer invPlayer, TrainCargoTramTrailer train) { + this.train = train; + for(int i = 0; i < 5; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(train, i * 7 + j, 8 + 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, 140 + i * 18)); + } + } + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 198)); + } + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int slotIndex) { + ItemStack stackCopy = null; + Slot slot = (Slot) this.inventorySlots.get(slotIndex); + if(slot != null && slot.getHasStack()) { + ItemStack stack = slot.getStack(); + stackCopy = stack.copy(); + if(slotIndex < train.getSizeInventory()) { + if(!this.mergeItemStack(stack, train.getSizeInventory(), this.inventorySlots.size(), true)) { + return null; + } + } else + if(!this.mergeItemStack(stack, 0, 45, false)) { + return null; + } + if(stack.stackSize == 0) { + slot.putStack((ItemStack) null); + } else { + slot.onSlotChanged(); + } + } + return stackCopy; + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return train.isUseableByPlayer(player); + } + } + + /* + * ##### # # ### + * # # # # + * # ## # # # + * # # # # # + * ##### ##### ### + */ + @SideOnly(Side.CLIENT) + public static class GUITrainCargoTramTrailer extends GuiInfoContainer { + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/vehicles/gui_cargo_tram_trailer.png"); + private TrainCargoTramTrailer train; + public GUITrainCargoTramTrailer(InventoryPlayer invPlayer, TrainCargoTramTrailer train) { + super(new ContainerTrainCargoTramTrailer(invPlayer, train)); + this.train = train; + this.xSize = 176; + this.ySize = 222; + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.train.hasCustomInventoryName() ? this.train.getInventoryName() : I18n.format(this.train.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 intero, 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); + } + } } diff --git a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java index aacd3c2f2..4ad6a1b50 100644 --- a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java +++ b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java @@ -22,6 +22,7 @@ public class FluidContainerRegistry { 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)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.bucket_mud), new ItemStack(Items.bucket), Fluids.WATZ, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.bucket_schrabidic_acid), new ItemStack(Items.bucket), Fluids.SCHRABIDIC, 1000)); diff --git a/src/main/resources/assets/hbm/textures/gui/vehicles/gui_cargo_tram_trailer.png b/src/main/resources/assets/hbm/textures/gui/vehicles/gui_cargo_tram_trailer.png new file mode 100644 index 0000000000000000000000000000000000000000..5e7ed276200f0d92e544acb4593b6c7f1a9ee672 GIT binary patch literal 1382 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G$6%N?Bp530R%N1DIE+9tg@ai zjv*Cu-rhCLyIm%6>|uXf`<(^OZp$6l2UNe9wzIjY^$lAI|J%JyCSSNBmuR#2@}_uf zS54Dr4nb6F* zLGZ*Jv1f1cS%exs-rz{_`&^vEGOI5gtMk#Vg8OST(2!@(Z*Z8%N;jU#tn2G_xV#ZA zbRIJta2f=ZNK>9*dG`E9!3--irkR)j$VfLXONI;0V?+&5d@vQmD$`?v< zSd5ncv@~P#Jq{PLVMdA>0tSKNve)66iT!c61utcI7`AvY9D59l7{62RKFu$D^KSmH zv$MJN_0*3VH#~f|uj22gM^7*EvCKPk(!TGn_y+q^fd?*I{sg6U5O}xa`|JjHYpx2Z z{VXPv>hE)3_yGi6y?h|0Fzz>2NR)02lQH5-HYz)*RMD4KbT{-`f65cpXK>^#igaDNQv(A&plzQ zr&>O33WgPb$U|R($W6XPiwloqwLaUby(oLSJAati2z8^>9D?c3Ap~f;oQM z|Mp5XcslvWLt65NBnqS?0Z%25B}sELBuV%@f8eH&F|pU-aUnM>|62bLxDb|595rL} ze$g2pZ*b)RbA`>Ed418i@->za0hRL5fb$Fm@!yt3~ANLLUry37l&iMmLEO^KRF8>&{U#1>)SsVKoq|DRR&t;uc GLK6U;S>omZ literal 0 HcmV?d00001 From 36d4a4c4e0f84c5795f842e1dc0726429da6c946 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 31 May 2023 16:31:54 +0200 Subject: [PATCH 132/285] some more train stuff --- .../hbm/entity/train/EntityRailCarBase.java | 64 ++++++++++++------- .../entity/train/EntityRailCarRidable.java | 60 +++++++++++------ .../com/hbm/main/ModEventHandlerClient.java | 20 ++++-- 3 files changed, 99 insertions(+), 45 deletions(-) diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index 163adc596..bfab8bcc1 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -5,15 +5,13 @@ import java.util.HashSet; import java.util.List; import java.util.Set; +import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.rail.IRailNTM; import com.hbm.blocks.rail.IRailNTM.RailContext; import com.hbm.blocks.rail.IRailNTM.TrackGauge; import com.hbm.items.ModItems; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; import com.hbm.util.fauxpointtwelve.BlockPos; -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; @@ -25,8 +23,9 @@ import net.minecraft.util.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent; -public abstract class EntityRailCarBase extends Entity { +public abstract class EntityRailCarBase extends Entity implements ILookOverlay { public LogicalTrainUnit ltu; public boolean isOnRail = true; @@ -100,15 +99,16 @@ public abstract class EntityRailCarBase extends Entity { if(neighbor.getCoupledTo(closestNeighborCoupling) != null) continue; this.couple(closestOwnCoupling, neighbor); neighbor.couple(closestNeighborCoupling, this); - if(this.ltu != null) this.ltu.dissolve(); - if(neighbor.ltu != null) neighbor.ltu.dissolve(); + if(this.ltu != null) this.ltu.dissolveTrain(); + if(neighbor.ltu != null) neighbor.ltu.dissolveTrain(); player.swingItem(); return true; } } } - if(this.ltu != null) { + //DEBUG + /*if(this.ltu != null) { String id = Integer.toHexString(ltu.hashCode()); @@ -121,7 +121,7 @@ public abstract class EntityRailCarBase extends Entity { data.setString("text", id); PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, train.posX, train.posY + 1, train.posZ), new TargetPoint(this.dimension, train.posX, train.posY + 1, train.posZ, 50)); } - } + }*/ return false; } @@ -169,15 +169,15 @@ public abstract class EntityRailCarBase extends Entity { if(this.coupledFront != null && this.coupledFront.isDead) { this.coupledFront = null; - if(this.ltu != null) this.ltu.dissolve(); + if(this.ltu != null) this.ltu.dissolveTrain(); } if(this.coupledBack != null && this.coupledBack.isDead) { this.coupledBack = null; - if(this.ltu != null) this.ltu.dissolve(); + if(this.ltu != null) this.ltu.dissolveTrain(); } if(this.ltu == null && (this.coupledFront == null || this.coupledBack == null)) { - LogicalTrainUnit.generate(this); + LogicalTrainUnit.generateTrain(this); } DummyConfig[] definitions = this.getDummies(); @@ -293,10 +293,10 @@ public abstract class EntityRailCarBase extends Entity { } /* Move carts together with links */ - for(LogicalTrainUnit ltu : ltus) ltu.combineLinks(); + for(LogicalTrainUnit ltu : ltus) ltu.combineWagons(); /* Move carts with unified speed */ - for(LogicalTrainUnit ltu : ltus) ltu.moveLinks(); + for(LogicalTrainUnit ltu : ltus) ltu.moveTrain(); } /** Returns the amount of blocks that the train should move per tick */ @@ -473,7 +473,7 @@ public abstract class EntityRailCarBase extends Entity { protected EntityRailCarBase trains[]; /** Assumes that the train is an endpoint, i.e. that only one coupling is in use */ - public static LogicalTrainUnit generate(EntityRailCarBase train) { + public static LogicalTrainUnit generateTrain(EntityRailCarBase train) { List links = new ArrayList(); Set brake = new HashSet(); links.add(train); @@ -512,13 +512,15 @@ public abstract class EntityRailCarBase extends Entity { return ltu; } - public void dissolve() { + /** Removes the LTU from all wagons */ + public void dissolveTrain() { for(EntityRailCarBase train : trains) { train.ltu = null; } } - public void combineLinks() { + /** Find the center fo the train, then moves all wagons towards that center until the coupling points roughly touch */ + public void combineWagons() { if(trains.length <= 1) return; @@ -529,19 +531,20 @@ public abstract class EntityRailCarBase extends Entity { for(int i = centerIndex - 1; i >= 0; i--) { EntityRailCarBase next = trains[i]; - moveTo(prev, next); + moveWagonTo(prev, next); prev = next; } prev = center; for(int i = centerIndex + 1; i < trains.length; i++) { EntityRailCarBase next = trains[i]; - moveTo(prev, next); + moveWagonTo(prev, next); prev = next; } } - public static void moveTo(EntityRailCarBase prev, EntityRailCarBase next) { + /** Moves one wagon to ne next until the coupling points roughly touch */ + public static void moveWagonTo(EntityRailCarBase prev, EntityRailCarBase next) { TrainCoupling prevCouple = prev.getCouplingFrom(next); TrainCoupling nextCouple = next.getCouplingFrom(prev); Vec3 prevLoc = prev.getCouplingPos(prevCouple); @@ -556,7 +559,8 @@ public abstract class EntityRailCarBase extends Entity { next.setPosition(newPos.xCoord, newPos.yCoord, newPos.zCoord); } - public void moveLinks() { + /** Generates the speed of the train, then moves the rain along the rail */ + public void moveTrain() { EntityRailCarBase prev = trains[0]; TrainCoupling dir = prev.getCouplingFrom(null); @@ -576,6 +580,12 @@ public abstract class EntityRailCarBase extends Entity { totalSpeed = maxSpeed * Math.signum(totalSpeed); } + this.moveTrainBy(totalSpeed); + } + + /** Moves the entire train along the rail by a certain speed */ + public void moveTrainBy(double totalSpeed) { + for(EntityRailCarBase train : this.trains) { BlockPos anchor = train.getCurentAnchorPos(); @@ -583,7 +593,7 @@ public abstract class EntityRailCarBase extends Entity { if(corePos == null) { train.derail(); - this.dissolve(); + this.dissolveTrain(); return; } else { train.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); @@ -593,7 +603,7 @@ public abstract class EntityRailCarBase extends Entity { if(frontPos == null || backPos == null) { train.derail(); - this.dissolve(); + this.dissolveTrain(); return; } else { train.renderX = (frontPos.xCoord + backPos.xCoord) / 2D; @@ -608,4 +618,14 @@ public abstract class EntityRailCarBase extends Entity { } } } + + @Override + @SideOnly(Side.CLIENT) + public void printHook(RenderGameOverlayEvent.Pre event, World world, int x, int y, int z) { + /*List text = new ArrayList(); + text.add("LTU: " + this.ltu); + text.add("Front: " + this.coupledFront); + text.add("Back: " + this.coupledBack); + ILookOverlay.printGeneric(event, this.toString(), 0xffff00, 0x404000, text);*/ //none of this shit is going to work anyway + } } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index 42aaa0248..79fd80a13 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -1,5 +1,10 @@ package com.hbm.entity.train; +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.ILookOverlay; +import com.hbm.main.MainRegistry; import com.hbm.util.BobMathUtil; import cpw.mods.fml.relauncher.Side; @@ -10,6 +15,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent; public abstract class EntityRailCarRidable extends EntityRailCarCargo { @@ -80,8 +86,30 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { if(super.interactFirst(player)) return true; if(worldObj.isRemote) return true; + int nearestSeat = this.getNearestSeat(player); + + if(nearestSeat == -1) { + player.mountEntity(this); + } else if(nearestSeat >= 0) { + SeatDummyEntity dummySeat = new SeatDummyEntity(worldObj, this, nearestSeat); + Vec3 passengerSeat = this.getPassengerSeats()[nearestSeat]; + passengerSeat.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); + double x = renderX + passengerSeat.xCoord; + double y = renderY + passengerSeat.yCoord; + double z = renderZ + passengerSeat.zCoord; + dummySeat.setPosition(x, y - 1, z); + passengerSeats[nearestSeat] = dummySeat; + worldObj.spawnEntityInWorld(dummySeat); + player.mountEntity(dummySeat); + } + + return true; + } + + public int getNearestSeat(EntityPlayer player) { + double nearestDist = Double.POSITIVE_INFINITY; - int nearestSeat = -1; + int nearestSeat = -2; Vec3[] seats = getPassengerSeats(); for(int i = 0; i < seats.length; i++) { @@ -124,24 +152,9 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { } } - if(nearestDist > 180) return true; + if(nearestDist > 180) return -2; - if(nearestSeat == -1) { - player.mountEntity(this); - } else { - SeatDummyEntity dummySeat = new SeatDummyEntity(worldObj, this, nearestSeat); - Vec3 passengerSeat = this.getPassengerSeats()[nearestSeat]; - passengerSeat.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); - double x = renderX + passengerSeat.xCoord; - double y = renderY + passengerSeat.yCoord; - double z = renderZ + passengerSeat.zCoord; - dummySeat.setPosition(x, y - 1, z); - passengerSeats[nearestSeat] = dummySeat; - worldObj.spawnEntityInWorld(dummySeat); - player.mountEntity(dummySeat); - } - - return true; + return nearestSeat; } @Override @@ -266,4 +279,15 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { } } } + + @Override + @SideOnly(Side.CLIENT) + public void printHook(RenderGameOverlayEvent.Pre event, World world, int x, int y, int z) { + List text = new ArrayList(); + /*text.add("LTU: " + this.ltu); + text.add("Front: " + this.coupledFront); + text.add("Back: " + this.coupledBack);*/ + text.add("Nearest seat: " + this.getNearestSeat(MainRegistry.proxy.me())); + ILookOverlay.printGeneric(event, this.toString(), 0xffff00, 0x404000, text); + } } diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 68e243c6e..31a779355 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -104,6 +104,7 @@ 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.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Items; import net.minecraft.inventory.Slot; @@ -171,13 +172,22 @@ public class ModEventHandlerClient { World world = mc.theWorld; MovingObjectPosition mop = mc.objectMouseOver; - if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK ) { + if(mop != null) { - if(player.getHeldItem() != null && player.getHeldItem().getItem() instanceof ILookOverlay) { - ((ILookOverlay) player.getHeldItem().getItem()).printHook(event, world, mop.blockX, mop.blockY, mop.blockZ); + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { - } 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); + 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); + } + } else if(mop.typeOfHit == mop.typeOfHit.ENTITY) { + Entity entity = mop.entityHit; + + if(entity instanceof ILookOverlay) { + ((ILookOverlay) entity).printHook(event, world, 0, 0, 0); + } } } From 46da9272d1a2734687b4c86552adb717fc3b4e57 Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 31 May 2023 22:10:51 +0200 Subject: [PATCH 133/285] assets --- .../hbm/models/machines/steamhammer.obj | 2331 +++++++++++++++++ .../textures/models/machines/steamhammer.png | Bin 0 -> 1907 bytes 2 files changed, 2331 insertions(+) create mode 100644 src/main/resources/assets/hbm/models/machines/steamhammer.obj create mode 100644 src/main/resources/assets/hbm/textures/models/machines/steamhammer.png diff --git a/src/main/resources/assets/hbm/models/machines/steamhammer.obj b/src/main/resources/assets/hbm/models/machines/steamhammer.obj new file mode 100644 index 000000000..5960e6fea --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/steamhammer.obj @@ -0,0 +1,2331 @@ +# Blender v2.79 (sub 0) OBJ File: 'steamhammer.blend' +# www.blender.org +o Piston2 +v -0.562750 2.000000 -0.687500 +v -0.187750 2.000000 -0.687500 +v -0.562750 2.000000 -1.062500 +v -0.187750 2.000000 -1.062500 +v -0.562750 2.250000 -1.062500 +v -0.562750 2.250000 -0.687500 +v -0.187750 2.250000 -0.687500 +v -0.187750 2.250000 -1.062500 +vt 0.771739 0.206349 +vt 0.804348 0.158730 +vt 0.804348 0.206349 +vt 0.771739 0.126984 +vt 0.739130 0.158730 +vt 0.739130 0.126984 +vt 0.836957 0.126984 +vt 0.804348 0.126984 +vt 0.771739 0.158730 +vt 0.869565 0.126984 +vt 0.836957 0.158730 +vt 0.869565 0.158730 +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 7/1/1 5/2/1 6/3/1 +f 4/4/2 7/5/2 2/6/2 +f 1/7/3 5/2/3 3/8/3 +f 3/8/4 8/9/4 4/4/4 +f 2/10/5 6/11/5 1/7/5 +f 7/1/1 8/9/1 5/2/1 +f 4/4/2 8/9/2 7/5/2 +f 1/7/3 6/11/3 5/2/3 +f 3/8/4 5/2/4 8/9/4 +f 2/10/5 7/12/5 6/11/5 +o Piston1 +v 0.187250 2.000000 -0.687500 +v 0.562250 2.000000 -0.687500 +v 0.187250 2.000000 -1.062500 +v 0.562250 2.000000 -1.062500 +v 0.187250 2.250000 -1.062500 +v 0.187250 2.250000 -0.687500 +v 0.562250 2.250000 -0.687500 +v 0.562250 2.250000 -1.062500 +vt 0.771739 0.206349 +vt 0.804348 0.158730 +vt 0.804348 0.206349 +vt 0.869565 0.126984 +vt 0.836957 0.158730 +vt 0.836957 0.126984 +vt 0.771739 0.126984 +vt 0.739130 0.158730 +vt 0.739130 0.126984 +vt 0.804348 0.126984 +vt 0.771739 0.158730 +vt 0.869565 0.158730 +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 +s off +f 15/13/6 13/14/6 14/15/6 +f 10/16/7 14/17/7 9/18/7 +f 12/19/8 15/20/8 10/21/8 +f 9/18/9 13/14/9 11/22/9 +f 11/22/10 16/23/10 12/19/10 +f 15/13/6 16/23/6 13/14/6 +f 10/16/7 15/24/7 14/17/7 +f 12/19/8 16/23/8 15/20/8 +f 9/18/9 14/17/9 13/14/9 +f 11/22/10 13/14/10 16/23/10 +o HammerRight_HammerRicht +v 1.875000 0.687500 -0.125000 +v 2.125000 0.687500 -0.125000 +v 1.875000 0.687500 -0.375000 +v 2.125000 0.687500 -0.375000 +v 1.875000 0.812500 -0.375000 +v 1.875000 0.812500 -0.125000 +v 2.125000 0.812500 -0.125000 +v 2.125000 0.812500 -0.375000 +v 1.906250 0.812500 -0.156250 +v 2.093750 0.812500 -0.156250 +v 1.906250 0.812500 -0.343750 +v 2.093750 0.812500 -0.343750 +v 1.906250 1.812500 -0.343750 +v 1.906250 1.812500 -0.156250 +v 2.093750 1.812500 -0.156250 +v 2.093750 1.812500 -0.343750 +vt 0.695652 0.507937 +vt 0.673913 0.539683 +vt 0.673913 0.507937 +vt 0.690217 0.563492 +vt 0.673913 0.555556 +vt 0.695652 0.555556 +vt 0.717391 0.539683 +vt 0.695652 0.539683 +vt 0.652174 0.555556 +vt 0.652174 0.539683 +vt 0.739130 0.539683 +vt 0.717391 0.555556 +vt 0.684783 0.587302 +vt 0.668478 0.714286 +vt 0.668478 0.587302 +vt 0.690217 0.579365 +vt 0.695652 0.587302 +vt 0.679348 0.579365 +vt 0.673913 0.587302 +vt 0.679348 0.563492 +vt 0.717391 0.587302 +vt 0.701087 0.714286 +vt 0.701087 0.587302 +vt 0.684783 0.714286 +vt 0.652174 0.714286 +vt 0.652174 0.587302 +vt 0.739130 0.555556 +vt 0.717391 0.714286 +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 +s off +f 19/25/11 18/26/11 17/27/11 +f 28/28/12 23/29/12 24/30/12 +f 19/31/13 24/30/13 20/32/13 +f 18/26/14 22/33/14 17/34/14 +f 20/32/15 23/29/15 18/26/15 +f 17/35/16 21/36/16 19/31/16 +f 28/37/15 31/38/15 26/39/15 +f 27/40/12 24/30/12 21/41/12 +f 25/42/12 21/41/12 22/43/12 +f 26/44/12 22/43/12 23/29/12 +f 25/45/16 29/46/16 27/47/16 +f 27/47/13 32/48/13 28/37/13 +f 26/39/14 30/49/14 25/50/14 +f 19/25/11 20/32/11 18/26/11 +f 28/28/12 26/44/12 23/29/12 +f 19/31/13 21/36/13 24/30/13 +f 18/26/14 23/29/14 22/33/14 +f 20/32/15 24/30/15 23/29/15 +f 17/35/16 22/51/16 21/36/16 +f 28/37/15 32/48/15 31/38/15 +f 27/40/12 28/28/12 24/30/12 +f 25/42/12 27/40/12 21/41/12 +f 26/44/12 25/42/12 22/43/12 +f 25/45/16 30/52/16 29/46/16 +f 27/47/13 29/46/13 32/48/13 +f 26/39/14 31/38/14 30/49/14 +o HammerLeft +v 1.875000 0.687500 0.375000 +v 2.125000 0.687500 0.375000 +v 1.875000 0.687500 0.125000 +v 2.125000 0.687500 0.125000 +v 1.875000 0.812500 0.125000 +v 1.875000 0.812500 0.375000 +v 2.125000 0.812500 0.375000 +v 2.125000 0.812500 0.125000 +v 1.906250 0.812500 0.343750 +v 2.093750 0.812500 0.343750 +v 1.906250 0.812500 0.156250 +v 2.093750 0.812500 0.156250 +v 1.906250 1.812500 0.156250 +v 1.906250 1.812500 0.343750 +v 2.093750 1.812500 0.343750 +v 2.093750 1.812500 0.156250 +vt 0.695652 0.507937 +vt 0.673913 0.539683 +vt 0.673913 0.507937 +vt 0.690217 0.563492 +vt 0.673913 0.555556 +vt 0.695652 0.555556 +vt 0.717391 0.539683 +vt 0.695652 0.539683 +vt 0.652174 0.555556 +vt 0.652174 0.539683 +vt 0.739130 0.539683 +vt 0.717391 0.555556 +vt 0.684783 0.587302 +vt 0.668478 0.714286 +vt 0.668478 0.587302 +vt 0.690217 0.579365 +vt 0.695652 0.587302 +vt 0.679348 0.579365 +vt 0.673913 0.587302 +vt 0.679348 0.563492 +vt 0.717391 0.587302 +vt 0.701087 0.714286 +vt 0.701087 0.587302 +vt 0.684783 0.714286 +vt 0.652174 0.714286 +vt 0.652174 0.587302 +vt 0.739130 0.555556 +vt 0.717391 0.714286 +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 +s off +f 35/53/17 34/54/17 33/55/17 +f 44/56/18 39/57/18 40/58/18 +f 35/59/19 40/58/19 36/60/19 +f 34/54/20 38/61/20 33/62/20 +f 36/60/21 39/57/21 34/54/21 +f 33/63/22 37/64/22 35/59/22 +f 44/65/21 47/66/21 42/67/21 +f 43/68/18 40/58/18 37/69/18 +f 41/70/18 37/69/18 38/71/18 +f 42/72/18 38/71/18 39/57/18 +f 41/73/22 45/74/22 43/75/22 +f 43/75/19 48/76/19 44/65/19 +f 42/67/20 46/77/20 41/78/20 +f 35/53/17 36/60/17 34/54/17 +f 44/56/18 42/72/18 39/57/18 +f 35/59/19 37/64/19 40/58/19 +f 34/54/20 39/57/20 38/61/20 +f 36/60/21 40/58/21 39/57/21 +f 33/63/22 38/79/22 37/64/22 +f 44/65/21 48/76/21 47/66/21 +f 43/68/18 44/56/18 40/58/18 +f 41/70/18 43/68/18 37/69/18 +f 42/72/18 41/70/18 38/71/18 +f 41/73/22 46/80/22 45/74/22 +f 43/75/19 45/74/19 48/76/19 +f 42/67/20 47/66/20 46/77/20 +o Main +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 0.500000 1.500000 +v 0.500000 0.500000 1.500000 +v -0.500000 1.000000 1.500000 +v 0.500000 1.000000 1.500000 +v -0.500000 0.500000 -1.500000 +v 0.500000 0.500000 -1.500000 +v -0.500000 1.000000 -1.500000 +v 0.500000 1.000000 -1.500000 +v -1.187500 0.500000 -1.500000 +v -0.812500 0.500000 -1.500000 +v -1.187500 0.687500 -1.500000 +v -0.812500 0.687500 -1.500000 +v -1.187500 0.500000 1.500000 +v -0.812500 0.500000 1.500000 +v -1.187500 0.687500 1.500000 +v -0.812500 0.687500 1.500000 +v -0.500000 0.500000 -1.250000 +v 0.500000 0.500000 -1.250000 +v -0.500000 1.000000 -1.250000 +v 0.500000 1.000000 -1.250000 +v -1.187500 0.500000 -1.250000 +v -0.812500 0.500000 -1.250000 +v -1.187500 0.687500 -1.250000 +v -0.812500 0.687500 -1.250000 +v -0.500000 0.500000 1.250000 +v 0.500000 0.500000 1.250000 +v -0.500000 1.000000 1.250000 +v 0.500000 1.000000 1.250000 +v -1.187500 0.500000 1.250000 +v -0.812500 0.500000 1.250000 +v -1.187500 0.687500 1.250000 +v -0.812500 0.687500 1.250000 +v -1.500000 0.500000 1.500000 +v 1.500000 0.500000 1.500000 +v -1.500000 0.500000 -1.500000 +v 1.500000 0.500000 -1.500000 +v 1.249500 0.500000 -1.250000 +v 1.249500 0.500000 1.250000 +v -1.250000 0.500000 -1.250000 +v -1.250000 0.500000 1.250000 +v 1.249500 1.500000 -1.250000 +v 1.249500 1.500000 1.250000 +v -1.250000 1.500000 -1.250000 +v -1.250000 1.500000 1.250000 +v 1.249500 2.000000 -0.500000 +v 1.249500 2.000000 0.500000 +v -1.250000 2.000000 -0.500000 +v -1.250000 2.000000 0.500000 +v 1.750000 1.875000 0.500000 +v 2.250000 1.875000 0.500000 +v 1.750000 1.875000 -0.500000 +v 2.250000 1.875000 -0.500000 +v 1.750000 3.375000 -0.500000 +v 1.750000 3.375000 0.500000 +v 2.250000 3.375000 0.500000 +v 2.250000 3.375000 -0.500000 +v 0.250000 2.000000 0.375000 +v 0.250000 2.000000 -0.375000 +v 1.000000 2.000000 -0.375000 +v 1.000000 2.000000 0.375000 +v 1.250000 2.250000 0.375000 +v 1.000000 2.750000 0.375000 +v 1.250000 2.250000 -0.375000 +v 1.000000 2.750000 -0.375000 +v 1.750000 2.750000 -0.375000 +v 1.750000 2.250000 -0.375000 +v 1.750000 2.750000 0.375000 +v 1.750000 2.250000 0.375000 +v 1.812500 1.875000 -0.437500 +v 1.812500 1.875000 0.437500 +v 2.187500 1.875000 0.437500 +v 2.187500 1.875000 -0.437500 +v 1.812500 1.812500 -0.437500 +v 1.812500 1.812500 0.437500 +v 2.187500 1.812500 0.437500 +v 2.187500 1.812500 -0.437500 +v 1.875000 3.500000 -0.375000 +v 1.875000 3.500000 0.375000 +v 2.125000 3.500000 0.375000 +v 2.125000 3.500000 -0.375000 +v 1.875000 3.250000 -0.500000 +v 1.786612 3.213388 -0.500000 +v 1.750000 3.125000 -0.500000 +v 1.786612 3.036612 -0.500000 +v 1.875000 3.000000 -0.500000 +v 1.963388 3.036612 -0.500000 +v 2.000000 3.125000 -0.500000 +v 1.963388 3.213388 -0.500000 +v 1.875000 3.176777 -0.676777 +v 1.786612 3.150888 -0.650888 +v 1.750000 3.088388 -0.588388 +v 1.786612 3.025888 -0.525888 +v 1.963388 3.025888 -0.525888 +v 2.000000 3.088388 -0.588388 +v 1.963388 3.150888 -0.650888 +v 1.875000 3.000000 -0.750000 +v 1.786612 3.000000 -0.713388 +v 1.750000 3.000000 -0.625000 +v 1.786612 3.000000 -0.536612 +v 1.963388 3.000000 -0.536612 +v 2.000000 3.000000 -0.625000 +v 1.963388 3.000000 -0.713388 +v 1.875000 1.875000 -0.500000 +v 1.875000 1.875000 -0.750000 +v 1.786612 1.875000 -0.713388 +v 1.750000 1.875000 -0.625000 +v 1.786612 1.875000 -0.536612 +v 1.963388 1.875000 -0.536612 +v 2.000000 1.875000 -0.625000 +v 1.963388 1.875000 -0.713388 +v 1.838388 1.786612 -0.500000 +v 1.838388 1.786612 -0.750000 +v 1.775888 1.849112 -0.713388 +v 1.775888 1.849112 -0.536612 +v 1.900888 1.724112 -0.536612 +v 1.926777 1.698223 -0.625000 +v 1.900888 1.724112 -0.713388 +v 1.750000 1.750000 -0.500000 +v 1.750000 1.750000 -0.750000 +v 1.750000 1.838388 -0.713388 +v 1.750000 1.838388 -0.536612 +v 1.750000 1.661612 -0.536612 +v 1.750000 1.625000 -0.625000 +v 1.750000 1.661612 -0.713388 +v 1.250000 1.875000 -0.625000 +v 1.250000 1.750000 -0.500000 +v 1.250000 1.750000 -0.750000 +v 1.250000 1.838388 -0.713388 +v 1.250000 1.838388 -0.536612 +v 1.250000 1.661612 -0.536612 +v 1.250000 1.625000 -0.625000 +v 1.250000 1.661612 -0.713388 +v 2.000000 3.500000 0.125000 +v 1.911612 3.500000 0.161612 +v 1.875000 3.500000 0.250000 +v 1.911612 3.500000 0.338388 +v 2.000000 3.500000 0.375000 +v 2.088388 3.500000 0.338388 +v 2.125000 3.500000 0.250000 +v 2.088388 3.500000 0.161612 +v 1.963388 3.588388 0.125000 +v 1.900888 3.525888 0.161612 +v 1.900888 3.525888 0.338388 +v 1.963388 3.588388 0.375000 +v 2.025888 3.650888 0.338388 +v 2.051777 3.676777 0.250000 +v 2.025888 3.650888 0.161612 +v 1.875000 3.625000 0.125000 +v 1.875000 3.536612 0.161612 +v 1.875000 3.536612 0.338388 +v 1.875000 3.625000 0.375000 +v 1.875000 3.713388 0.338388 +v 1.875000 3.750000 0.250000 +v 1.875000 3.713388 0.161612 +v 1.625000 3.500000 0.250000 +v 1.625000 3.625000 0.125000 +v 1.625000 3.536612 0.161612 +v 1.625000 3.536612 0.338388 +v 1.625000 3.625000 0.375000 +v 1.625000 3.713388 0.338388 +v 1.625000 3.750000 0.250000 +v 1.625000 3.713388 0.161612 +v 1.536612 3.588388 0.125000 +v 1.599111 3.525888 0.161612 +v 1.599111 3.525888 0.338388 +v 1.536612 3.588388 0.375000 +v 1.474112 3.650888 0.338388 +v 1.448223 3.676777 0.250000 +v 1.474112 3.650888 0.161612 +v 1.500000 3.500000 0.125000 +v 1.588388 3.500000 0.161612 +v 1.588388 3.500000 0.338388 +v 1.500000 3.500000 0.375000 +v 1.411612 3.500000 0.338388 +v 1.375000 3.500000 0.250000 +v 1.411612 3.500000 0.161612 +v 1.625000 3.000000 0.250000 +v 1.500000 3.000000 0.125000 +v 1.588388 3.000000 0.161612 +v 1.588388 3.000000 0.338388 +v 1.500000 3.000000 0.375000 +v 1.411612 3.000000 0.338388 +v 1.375000 3.000000 0.250000 +v 1.411612 3.000000 0.161612 +v 1.551777 2.823223 0.250000 +v 1.463388 2.911612 0.125000 +v 1.525888 2.849112 0.161612 +v 1.525888 2.849112 0.338388 +v 1.463388 2.911612 0.375000 +v 1.400888 2.974112 0.338388 +v 1.400888 2.974112 0.161612 +v 1.375000 2.750000 0.250000 +v 1.375000 2.875000 0.125000 +v 1.375000 2.786612 0.161612 +v 1.375000 2.786612 0.338388 +v 1.375000 2.875000 0.375000 +v 1.375000 2.963388 0.338388 +v 1.375000 2.963388 0.161612 +v 0.250000 3.000000 0.250000 +v 0.250000 2.750000 0.250000 +v 0.250000 2.875000 0.125000 +v 0.250000 2.786612 0.161612 +v 0.250000 2.786612 0.338388 +v 0.250000 2.875000 0.375000 +v 0.250000 2.963388 0.338388 +v 0.250000 2.963388 0.161612 +v 0.073223 2.926777 0.250000 +v 0.161612 2.838388 0.125000 +v 0.224112 2.775889 0.161612 +v 0.224112 2.775889 0.338388 +v 0.161612 2.838388 0.375000 +v 0.099112 2.900888 0.338388 +v 0.099112 2.900888 0.161612 +v 0.000000 2.750000 0.250000 +v 0.125000 2.750000 0.125000 +v 0.213388 2.750000 0.161612 +v 0.213388 2.750000 0.338388 +v 0.125000 2.750000 0.375000 +v 0.036612 2.750000 0.338388 +v 0.036612 2.750000 0.161612 +v 0.250000 2.000000 0.250000 +v 0.000000 2.000000 0.250000 +v 0.125000 2.000000 0.125000 +v 0.213388 2.000000 0.161612 +v 0.213388 2.000000 0.338388 +v 0.125000 2.000000 0.375000 +v 0.036612 2.000000 0.338388 +v 0.036612 2.000000 0.161612 +v 1.812500 1.812500 0.062500 +v 2.187500 1.812500 0.062500 +v 1.812500 1.812500 -0.062500 +v 2.187500 1.812500 -0.062500 +v 2.187500 1.875000 -0.062500 +v 1.812500 1.875000 -0.062500 +v 1.812500 1.875000 0.062500 +v 2.187500 1.875000 0.062500 +v 0.124750 2.000000 -0.625000 +v 0.624750 2.000000 -0.625000 +v 0.124750 2.000000 -1.125000 +v 0.624750 2.000000 -1.125000 +v 0.124750 1.500000 -1.125000 +v 0.124750 1.500000 -0.625000 +v 0.624750 1.500000 -0.625000 +v 0.624750 1.500000 -1.125000 +v -0.625250 2.000000 -0.625000 +v -0.125250 2.000000 -0.625000 +v -0.625250 2.000000 -1.125000 +v -0.125250 2.000000 -1.125000 +v -0.625250 1.500000 -1.125000 +v -0.625250 1.500000 -0.625000 +v -0.125250 1.500000 -0.625000 +v -0.125250 1.500000 -1.125000 +v 2.125000 3.250000 -0.500000 +v 2.036612 3.213388 -0.500000 +v 2.000000 3.125000 -0.500000 +v 2.036612 3.036612 -0.500000 +v 2.125000 3.000000 -0.500000 +v 2.213388 3.036612 -0.500000 +v 2.250000 3.125000 -0.500000 +v 2.213388 3.213388 -0.500000 +v 2.125000 3.176777 -0.676777 +v 2.036612 3.150888 -0.650888 +v 2.000000 3.088388 -0.588388 +v 2.036612 3.025888 -0.525888 +v 2.213388 3.025888 -0.525888 +v 2.250000 3.088388 -0.588388 +v 2.213388 3.150888 -0.650888 +v 2.125000 3.000000 -0.750000 +v 2.036612 3.000000 -0.713388 +v 2.000000 3.000000 -0.625000 +v 2.036612 3.000000 -0.536612 +v 2.213388 3.000000 -0.536612 +v 2.250000 3.000000 -0.625000 +v 2.213388 3.000000 -0.713388 +v 2.125000 1.625000 -0.500000 +v 2.125000 1.625000 -0.750000 +v 2.036612 1.625000 -0.713388 +v 2.000000 1.625000 -0.625000 +v 2.036612 1.625000 -0.536612 +v 2.213388 1.625000 -0.536612 +v 2.250000 1.625000 -0.625000 +v 2.213388 1.625000 -0.713388 +v 2.088388 1.536612 -0.500000 +v 2.088388 1.536612 -0.750000 +v 2.025888 1.599112 -0.713388 +v 2.025888 1.599112 -0.536612 +v 2.150888 1.474112 -0.536612 +v 2.176777 1.448223 -0.625000 +v 2.150888 1.474112 -0.713388 +v 2.000000 1.500000 -0.500000 +v 2.000000 1.500000 -0.750000 +v 2.000000 1.588388 -0.713388 +v 2.000000 1.588388 -0.536612 +v 2.000000 1.411612 -0.536612 +v 2.000000 1.375000 -0.625000 +v 2.000000 1.411612 -0.713388 +v 1.250000 1.625000 -0.625000 +v 1.250000 1.500000 -0.500000 +v 1.250000 1.500000 -0.750000 +v 1.250000 1.588388 -0.713388 +v 1.250000 1.588388 -0.536612 +v 1.250000 1.411612 -0.536612 +v 1.250000 1.375000 -0.625000 +v 1.250000 1.411612 -0.713388 +v 0.124750 2.000000 1.125000 +v 0.624750 2.000000 1.125000 +v 0.124750 2.000000 0.625000 +v 0.624750 2.000000 0.625000 +v 0.124750 1.500000 0.625000 +v 0.124750 1.500000 1.125000 +v 0.624750 1.500000 1.125000 +v 0.624750 1.500000 0.625000 +v -0.625250 2.000000 1.125000 +v -0.125250 2.000000 1.125000 +v -0.625250 2.000000 0.625000 +v -0.125250 2.000000 0.625000 +v -0.625250 1.500000 0.625000 +v -0.625250 1.500000 1.125000 +v -0.125250 1.500000 1.125000 +v -0.125250 1.500000 0.625000 +v -0.562750 2.000000 1.062500 +v -0.187750 2.000000 1.062500 +v -0.562750 2.000000 0.687500 +v -0.187750 2.000000 0.687500 +v -0.500250 2.000000 1.000000 +v -0.250250 2.000000 1.000000 +v -0.500250 2.000000 0.750000 +v -0.250250 2.000000 0.750000 +v -0.562750 2.125000 0.687500 +v -0.562750 2.125000 1.062500 +v -0.187750 2.125000 1.062500 +v -0.187750 2.125000 0.687500 +v -0.500250 2.125000 0.750000 +v -0.500250 2.125000 1.000000 +v -0.250250 2.125000 1.000000 +v -0.250250 2.125000 0.750000 +v -0.406500 2.062500 1.000000 +v -0.406500 2.062500 0.750000 +v -0.469000 2.062500 1.000000 +v -0.469000 2.062500 0.750000 +v -0.281500 2.062500 1.000000 +v -0.281500 2.062500 0.750000 +v -0.344000 2.062500 1.000000 +v -0.344000 2.062500 0.750000 +v 0.187250 2.000000 1.062500 +v 0.562250 2.000000 1.062500 +v 0.187250 2.000000 0.687500 +v 0.562250 2.000000 0.687500 +v 0.249750 2.000000 1.000000 +v 0.499750 2.000000 1.000000 +v 0.249750 2.000000 0.750000 +v 0.499750 2.000000 0.750000 +v 0.187250 2.125000 0.687500 +v 0.187250 2.125000 1.062500 +v 0.562250 2.125000 1.062500 +v 0.562250 2.125000 0.687500 +v 0.249750 2.125000 0.750000 +v 0.249750 2.125000 1.000000 +v 0.499750 2.125000 1.000000 +v 0.499750 2.125000 0.750000 +v 0.343500 2.062500 1.000000 +v 0.343500 2.062500 0.750000 +v 0.281000 2.062500 1.000000 +v 0.281000 2.062500 0.750000 +v 0.468500 2.062500 1.000000 +v 0.468500 2.062500 0.750000 +v 0.406000 2.062500 1.000000 +v 0.406000 2.062500 0.750000 +v 2.000000 3.500000 -0.375000 +v 1.911612 3.500000 -0.338388 +v 1.875000 3.500000 -0.250000 +v 1.911612 3.500000 -0.161612 +v 2.000000 3.500000 -0.125000 +v 2.088388 3.500000 -0.161612 +v 2.125000 3.500000 -0.250000 +v 2.088388 3.500000 -0.338388 +v 1.963388 3.588388 -0.375000 +v 1.900888 3.525888 -0.338388 +v 1.900888 3.525888 -0.161612 +v 1.963388 3.588388 -0.125000 +v 2.025888 3.650888 -0.161612 +v 2.051777 3.676777 -0.250000 +v 2.025888 3.650888 -0.338388 +v 1.875000 3.625000 -0.375000 +v 1.875000 3.536612 -0.338388 +v 1.875000 3.536612 -0.161612 +v 1.875000 3.625000 -0.125000 +v 1.875000 3.713388 -0.161612 +v 1.875000 3.750000 -0.250000 +v 1.875000 3.713388 -0.338388 +v 1.625000 3.500000 -0.250000 +v 1.625000 3.625000 -0.375000 +v 1.625000 3.536612 -0.338388 +v 1.625000 3.536612 -0.161612 +v 1.625000 3.625000 -0.125000 +v 1.625000 3.713388 -0.161612 +v 1.625000 3.750000 -0.250000 +v 1.625000 3.713388 -0.338388 +v 1.536612 3.588388 -0.375000 +v 1.599111 3.525888 -0.338388 +v 1.599111 3.525888 -0.161612 +v 1.536612 3.588388 -0.125000 +v 1.474112 3.650888 -0.161612 +v 1.448223 3.676777 -0.250000 +v 1.474112 3.650888 -0.338388 +v 1.500000 3.500000 -0.375000 +v 1.588388 3.500000 -0.338388 +v 1.588388 3.500000 -0.161612 +v 1.500000 3.500000 -0.125000 +v 1.411612 3.500000 -0.161612 +v 1.375000 3.500000 -0.250000 +v 1.411612 3.500000 -0.338388 +v 1.625000 3.000000 -0.250000 +v 1.500000 3.000000 -0.375000 +v 1.588388 3.000000 -0.338388 +v 1.588388 3.000000 -0.161612 +v 1.500000 3.000000 -0.125000 +v 1.411612 3.000000 -0.161612 +v 1.375000 3.000000 -0.250000 +v 1.411612 3.000000 -0.338388 +v 1.551777 2.823223 -0.250000 +v 1.463388 2.911612 -0.375000 +v 1.525888 2.849112 -0.338388 +v 1.525888 2.849112 -0.161612 +v 1.463388 2.911612 -0.125000 +v 1.400888 2.974112 -0.161612 +v 1.400888 2.974112 -0.338388 +v 1.375000 2.750000 -0.250000 +v 1.375000 2.875000 -0.375000 +v 1.375000 2.786612 -0.338388 +v 1.375000 2.786612 -0.161612 +v 1.375000 2.875000 -0.125000 +v 1.375000 2.963388 -0.161612 +v 1.375000 2.963388 -0.338388 +v 0.250000 3.000000 -0.250000 +v 0.250000 2.750000 -0.250000 +v 0.250000 2.875000 -0.375000 +v 0.250000 2.786612 -0.338388 +v 0.250000 2.786612 -0.161612 +v 0.250000 2.875000 -0.125000 +v 0.250000 2.963388 -0.161612 +v 0.250000 2.963388 -0.338388 +v 0.073223 2.926777 -0.250000 +v 0.161612 2.838388 -0.375000 +v 0.224112 2.775889 -0.338388 +v 0.224112 2.775889 -0.161612 +v 0.161612 2.838388 -0.125000 +v 0.099112 2.900888 -0.161612 +v 0.099112 2.900888 -0.338388 +v 0.000000 2.750000 -0.250000 +v 0.125000 2.750000 -0.375000 +v 0.213388 2.750000 -0.338388 +v 0.213388 2.750000 -0.161612 +v 0.125000 2.750000 -0.125000 +v 0.036612 2.750000 -0.161612 +v 0.036612 2.750000 -0.338388 +v 0.250000 2.000000 -0.250000 +v 0.000000 2.000000 -0.250000 +v 0.125000 2.000000 -0.375000 +v 0.213388 2.000000 -0.338388 +v 0.213388 2.000000 -0.161612 +v 0.125000 2.000000 -0.125000 +v 0.036612 2.000000 -0.161612 +v 0.036612 2.000000 -0.338388 +vt 0.304348 -0.000000 +vt 0.043478 0.380952 +vt 0.043478 -0.000000 +vt 0.282609 0.730159 +vt 0.239130 0.698413 +vt 0.282609 0.698413 +vt 0.239130 0.539683 +vt 0.282609 0.571429 +vt 0.239130 0.571429 +vt 0.217391 0.690476 +vt 0.201087 0.658730 +vt 0.217391 0.658730 +vt 0.201087 0.579365 +vt 0.217391 0.611111 +vt 0.201087 0.611111 +vt 0.179348 0.658730 +vt 0.217391 0.698413 +vt 0.146739 0.658730 +vt 0.130435 0.690476 +vt 0.130435 0.658730 +vt 0.146739 0.611111 +vt 0.168478 0.658730 +vt 0.065217 0.571429 +vt 0.108696 0.539683 +vt 0.108696 0.571429 +vt 0.108696 0.698413 +vt 0.065217 0.730159 +vt 0.065217 0.698413 +vt 0.130435 0.611111 +vt 0.146739 0.579365 +vt 0.130435 0.698413 +vt 0.304348 0.444444 +vt 0.304348 0.380952 +vt 0.043478 0.825397 +vt 0.304348 0.888889 +vt 0.043478 0.888889 +vt -0.000000 0.444444 +vt 0.043478 0.571429 +vt 0.043478 0.698413 +vt 0.304348 0.698413 +vt 0.304348 0.571429 +vt 0.347826 0.444444 +vt 0.065217 0.476190 +vt 0.043478 0.444444 +vt 0.065217 0.571429 +vt 0.282609 0.476190 +vt 0.282609 0.571429 +vt 0.282609 0.738095 +vt 0.304348 0.738095 +vt 0.065217 0.738095 +vt 0.065217 0.698413 +vt 0.065217 0.793651 +vt 0.304348 0.825397 +vt 0.304348 0.785714 +vt 0.282609 0.793651 +vt 0.282609 0.785714 +vt 0.043478 0.785714 +vt 0.065217 0.785714 +vt 0.652174 0.698413 +vt 0.434783 0.698413 +vt 0.500000 0.507937 +vt 0.652174 0.507937 +vt 0.695652 0.412698 +vt 0.722826 0.452381 +vt 0.391304 0.412698 +vt 0.434783 0.507937 +vt 0.364130 0.452381 +vt 0.586957 0.190476 +vt 0.652174 0.190476 +vt 0.434783 0.190476 +vt 0.500000 0.190476 +vt 0.586957 0.507937 +vt 0.434783 -0.000000 +vt 0.652174 0.000000 +vt 0.353261 0.753968 +vt 0.347826 0.706349 +vt 0.353261 0.706349 +vt 0.521739 0.952381 +vt 0.489130 0.968254 +vt 0.478261 0.952381 +vt 0.478261 0.761905 +vt 0.391304 0.952381 +vt 0.391304 0.761905 +vt 0.608696 0.761905 +vt 0.521739 0.761905 +vt 0.347826 0.952381 +vt 0.347826 0.761905 +vt 0.391304 0.753968 +vt 0.385870 0.706349 +vt 0.391304 0.706349 +vt 0.891304 0.206349 +vt 0.847826 0.301587 +vt 0.847826 0.206349 +vt 0.782609 0.206349 +vt 0.739130 0.269841 +vt 0.739130 0.206349 +vt 0.934783 0.269841 +vt 0.891304 0.301587 +vt 0.804348 0.269841 +vt 0.804348 0.206349 +vt 0.782609 0.269841 +vt 0.739130 0.301587 +vt 0.353261 0.706349 +vt 0.385870 0.753968 +vt 0.353261 0.753968 +vt 0.782609 0.301587 +vt 0.782609 0.396825 +vt 0.956522 0.301587 +vt 0.847826 0.396825 +vt 0.891304 0.396825 +vt 0.385870 0.761905 +vt 0.385870 0.753968 +vt 0.472826 0.706349 +vt 0.478261 0.698413 +vt 0.391304 0.698413 +vt 0.396739 0.753968 +vt 0.429348 0.753968 +vt 0.440217 0.706349 +vt 0.440217 0.753968 +vt 0.347826 0.706349 +vt 0.347826 0.753968 +vt 0.385870 0.706349 +vt 0.391304 0.753968 +vt 0.402174 0.968254 +vt 0.467391 1.000000 +vt 0.402174 1.000000 +vt 0.358696 0.968254 +vt 0.608696 0.952381 +vt 0.532609 0.968254 +vt 0.385870 0.761905 +vt 0.385870 0.698413 +vt 0.385870 0.698413 +vt 0.472826 0.753968 +vt 0.429348 0.706349 +vt 0.869565 0.126984 +vt 0.913043 0.063492 +vt 0.913043 0.126984 +vt 0.869565 0.126984 +vt 0.913043 0.063492 +vt 0.913043 0.126984 +vt 0.869565 0.063492 +vt 0.913043 -0.000000 +vt 0.956522 0.063492 +vt 1.000000 -0.000000 +vt 1.000000 0.063492 +vt 0.826087 0.063492 +vt 0.869565 -0.000000 +vt 0.956522 -0.000000 +vt 0.869565 0.063492 +vt 0.913043 -0.000000 +vt 0.956522 0.063492 +vt 1.000000 -0.000000 +vt 1.000000 0.063492 +vt 0.826087 0.063492 +vt 0.869565 -0.000000 +vt 0.956522 -0.000000 +vt 0.739130 0.063492 +vt 0.695652 0.126984 +vt 0.695652 0.063492 +vt 0.739130 0.063492 +vt 0.695652 0.126984 +vt 0.695652 0.063492 +vt 0.782609 0.063492 +vt 0.826087 0.000000 +vt 0.826087 0.063492 +vt 0.739130 0.000000 +vt 0.782609 0.000000 +vt 0.652174 0.063492 +vt 0.695652 0.000000 +vt 0.782609 0.063492 +vt 0.826087 0.000000 +vt 0.826087 0.063492 +vt 0.739130 0.000000 +vt 0.782609 0.000000 +vt 0.652174 0.063492 +vt 0.695652 0.000000 +vt 0.673913 0.071429 +vt 0.652174 0.079365 +vt 0.652174 0.071429 +vt 0.673913 0.063492 +vt 0.652174 0.071429 +vt 0.652174 0.063492 +vt 0.673913 0.063492 +vt 0.652174 0.071429 +vt 0.652174 0.063492 +vt 0.673913 0.071429 +vt 0.652174 0.079365 +vt 0.652174 0.071429 +vt 0.798913 0.095238 +vt 0.771739 0.079365 +vt 0.804348 0.079365 +vt 0.766304 0.095238 +vt 0.739130 0.079365 +vt 0.831522 0.095238 +vt 0.836957 0.079365 +vt 0.864130 0.095238 +vt 0.869565 0.079365 +vt 0.842391 0.111111 +vt 0.864130 0.111111 +vt 0.777174 0.111111 +vt 0.798913 0.111111 +vt 0.869565 0.063492 +vt 0.836957 0.063492 +vt 0.804348 0.063492 +vt 0.771739 0.063492 +vt 0.809783 0.111111 +vt 0.831522 0.111111 +vt 0.744565 0.111111 +vt 0.766304 0.111111 +vt 0.739130 0.063492 +vt 0.798913 0.095238 +vt 0.771739 0.079365 +vt 0.804348 0.079365 +vt 0.766304 0.095238 +vt 0.739130 0.079365 +vt 0.831522 0.095238 +vt 0.836957 0.079365 +vt 0.864130 0.095238 +vt 0.869565 0.079365 +vt 0.842391 0.111111 +vt 0.864130 0.111111 +vt 0.777174 0.111111 +vt 0.798913 0.111111 +vt 0.869565 0.063492 +vt 0.836957 0.063492 +vt 0.804348 0.063492 +vt 0.771739 0.063492 +vt 0.809783 0.111111 +vt 0.831522 0.111111 +vt 0.744565 0.111111 +vt 0.766304 0.111111 +vt 0.739130 0.063492 +vt 0.239130 0.730159 +vt 0.282609 0.539683 +vt 0.201087 0.690476 +vt 0.217391 0.579365 +vt 0.179348 0.611111 +vt 0.217391 0.571429 +vt 0.146739 0.690476 +vt 0.168478 0.611111 +vt 0.065217 0.539683 +vt 0.108696 0.730159 +vt 0.130435 0.579365 +vt 0.130435 0.571429 +vt -0.000000 0.825397 +vt 0.043478 0.738095 +vt 0.347826 0.825397 +vt 0.282609 0.698413 +vt 0.434783 0.571429 +vt 0.652174 0.571429 +vt 0.722826 0.500000 +vt 0.739130 0.500000 +vt 0.739130 0.507937 +vt 0.739130 0.190476 +vt 0.695652 0.285714 +vt 0.739130 0.285714 +vt 0.739130 0.412698 +vt 0.739130 0.452381 +vt 0.391304 0.285714 +vt 0.347826 0.285714 +vt 0.347826 0.190476 +vt 0.347826 0.507937 +vt 0.364130 0.500000 +vt 0.347826 0.500000 +vt 0.347826 0.452381 +vt 0.347826 0.412698 +vt 0.652174 0.126984 +vt 0.434783 0.126984 +vt 0.347826 0.753968 +vt 0.510870 0.968254 +vt 0.934783 0.206349 +vt 0.956522 0.396825 +vt 0.353261 0.761905 +vt 0.396739 0.706349 +vt 0.391304 0.706349 +vt 0.467391 0.968254 +vt 0.380435 0.968254 +vt 0.597826 0.968254 +vt 0.353261 0.761905 +vt 0.353261 0.698413 +vt 0.353261 0.698413 +vt 0.826087 -0.000000 +vt 0.826087 -0.000000 +vt 0.739130 0.126984 +vt 0.739130 0.126984 +vt 0.652174 0.000000 +vt 0.652174 0.000000 +vt 0.673913 0.079365 +vt 0.673913 0.071429 +vt 0.673913 0.071429 +vt 0.673913 0.079365 +vt 0.777174 0.095238 +vt 0.744565 0.095238 +vt 0.809783 0.095238 +vt 0.842391 0.095238 +vt 0.777174 0.095238 +vt 0.744565 0.095238 +vt 0.809783 0.095238 +vt 0.842391 0.095238 +vt 0.978261 0.698413 +vt 0.967391 0.674603 +vt 0.978261 0.674603 +vt 0.945652 0.682540 +vt 0.956522 0.674603 +vt 0.956522 0.690476 +vt 0.989130 0.698413 +vt 1.000000 0.674603 +vt 1.000000 0.690476 +vt 0.967391 0.698413 +vt 0.923913 0.682540 +vt 0.913043 0.674603 +vt 0.923913 0.674603 +vt 0.989130 0.674603 +vt 0.967391 0.650794 +vt 0.913043 0.658730 +vt 0.923913 0.666667 +vt 0.989130 0.650794 +vt 0.978261 0.650794 +vt 0.945652 0.674603 +vt 0.956522 0.658730 +vt 1.000000 0.658730 +vt 0.934783 0.674603 +vt 0.945652 0.666667 +vt 0.923913 0.650794 +vt 0.934783 0.507937 +vt 0.934783 0.650794 +vt 0.956522 0.650794 +vt 0.967391 0.507937 +vt 0.913043 0.650794 +vt 0.923913 0.507937 +vt 0.989130 0.507937 +vt 0.945652 0.507937 +vt 0.945652 0.650794 +vt 0.978261 0.507937 +vt 0.956522 0.507937 +vt 1.000000 0.507937 +vt 1.000000 0.650794 +vt 0.989130 0.492063 +vt 0.978261 0.484127 +vt 0.989130 0.484127 +vt 0.934783 0.500000 +vt 0.945652 0.484127 +vt 0.978261 0.500000 +vt 0.956522 0.484127 +vt 0.923913 0.484127 +vt 0.934783 0.484127 +vt 0.967391 0.484127 +vt 0.934783 0.468254 +vt 0.967391 0.460317 +vt 0.978261 0.468254 +vt 0.989130 0.476190 +vt 0.945652 0.460317 +vt 0.956522 0.460317 +vt 1.000000 0.484127 +vt 0.913043 0.484127 +vt 0.923913 0.492063 +vt 0.923913 0.476190 +vt 0.923913 0.460317 +vt 0.934783 0.396825 +vt 0.934783 0.460317 +vt 0.967391 0.396825 +vt 0.978261 0.460317 +vt 0.989130 0.396825 +vt 0.989130 0.460317 +vt 0.913043 0.460317 +vt 0.923913 0.396825 +vt 0.945652 0.396825 +vt 1.000000 0.396825 +vt 1.000000 0.460317 +vt 0.978261 0.396825 +vt 0.956522 0.396825 +vt 0.771739 0.920635 +vt 0.782609 0.896825 +vt 0.782609 0.920635 +vt 0.793478 0.920635 +vt 0.804348 0.896825 +vt 0.804348 0.912698 +vt 0.750000 0.896825 +vt 0.760870 0.912698 +vt 0.750000 0.904762 +vt 0.771739 0.896825 +vt 0.815217 0.904762 +vt 0.771739 0.873016 +vt 0.793478 0.873016 +vt 0.793478 0.896825 +vt 0.750000 0.888889 +vt 0.760870 0.896825 +vt 0.782609 0.873016 +vt 0.815217 0.888889 +vt 0.815217 0.896825 +vt 0.739130 0.896825 +vt 0.826087 0.896825 +vt 0.804348 0.873016 +vt 0.793478 0.841270 +vt 0.804348 0.841270 +vt 0.750000 0.873016 +vt 0.760870 0.841270 +vt 0.760870 0.873016 +vt 0.739130 0.841270 +vt 0.750000 0.841270 +vt 0.771739 0.841270 +vt 0.815217 0.841270 +vt 0.815217 0.873016 +vt 0.826087 0.841270 +vt 0.826087 0.873016 +vt 0.782609 0.841270 +vt 0.760870 0.833333 +vt 0.771739 0.817460 +vt 0.782609 0.817460 +vt 0.793478 0.817460 +vt 0.815217 0.825397 +vt 0.804348 0.817460 +vt 0.815217 0.817460 +vt 0.804348 0.833333 +vt 0.750000 0.825397 +vt 0.760870 0.817460 +vt 0.793478 0.793651 +vt 0.804348 0.801587 +vt 0.750000 0.809524 +vt 0.760870 0.801587 +vt 0.771739 0.793651 +vt 0.815217 0.809524 +vt 0.782609 0.793651 +vt 0.739130 0.817460 +vt 0.750000 0.817460 +vt 0.826087 0.817460 +vt 0.760870 0.793651 +vt 0.750000 0.730159 +vt 0.760870 0.730159 +vt 0.815217 0.793651 +vt 0.826087 0.730159 +vt 0.826087 0.793651 +vt 0.771739 0.730159 +vt 0.739130 0.793651 +vt 0.750000 0.793651 +vt 0.793478 0.730159 +vt 0.804348 0.793651 +vt 0.815217 0.730159 +vt 0.782609 0.730159 +vt 0.804348 0.730159 +vt 0.760870 0.722222 +vt 0.771739 0.706349 +vt 0.771739 0.714286 +vt 0.804348 0.722222 +vt 0.815217 0.706349 +vt 0.739130 0.706349 +vt 0.750000 0.706349 +vt 0.793478 0.706349 +vt 0.804348 0.706349 +vt 0.760870 0.706349 +vt 0.826087 0.706349 +vt 0.750000 0.682540 +vt 0.760870 0.690476 +vt 0.826087 0.682540 +vt 0.771739 0.698413 +vt 0.815217 0.682540 +vt 0.793478 0.698413 +vt 0.804348 0.690476 +vt 0.782609 0.706349 +vt 0.793478 0.714286 +vt 0.782609 0.682540 +vt 0.793478 0.539683 +vt 0.793478 0.682540 +vt 0.815217 0.539683 +vt 0.826087 0.539683 +vt 0.771739 0.682540 +vt 0.782609 0.539683 +vt 0.760870 0.682540 +vt 0.771739 0.539683 +vt 0.804348 0.682540 +vt 0.739130 0.682540 +vt 0.750000 0.539683 +vt 0.804348 0.539683 +vt 0.760870 0.539683 +vt 0.760870 0.531746 +vt 0.771739 0.515873 +vt 0.804348 0.531746 +vt 0.815217 0.515873 +vt 0.815217 0.523810 +vt 0.782609 0.515873 +vt 0.793478 0.515873 +vt 0.804348 0.515873 +vt 0.750000 0.523810 +vt 0.760870 0.515873 +vt 0.793478 0.492063 +vt 0.771739 0.492063 +vt 0.815217 0.507937 +vt 0.782609 0.492063 +vt 0.804348 0.500000 +vt 0.750000 0.507937 +vt 0.760870 0.500000 +vt 0.739130 0.515873 +vt 0.750000 0.515873 +vt 0.826087 0.515873 +vt 0.815217 0.492063 +vt 0.826087 0.396825 +vt 0.826087 0.492063 +vt 0.793478 0.396825 +vt 0.739130 0.492063 +vt 0.750000 0.396825 +vt 0.750000 0.492063 +vt 0.760870 0.492063 +vt 0.771739 0.396825 +vt 0.804348 0.492063 +vt 0.815217 0.396825 +vt 0.782609 0.396825 +vt 0.804348 0.396825 +vt 0.760870 0.396825 +vt 0.858696 0.746032 +vt 0.869565 0.738095 +vt 0.869565 0.753968 +vt 0.891304 0.761905 +vt 0.880435 0.738095 +vt 0.891304 0.738095 +vt 0.913043 0.753968 +vt 0.902174 0.738095 +vt 0.913043 0.738095 +vt 0.880435 0.761905 +vt 0.836957 0.746032 +vt 0.826087 0.738095 +vt 0.836957 0.738095 +vt 0.902174 0.761905 +vt 0.880435 0.714286 +vt 0.826087 0.722222 +vt 0.836957 0.730159 +vt 0.902174 0.714286 +vt 0.891304 0.714286 +vt 0.858696 0.738095 +vt 0.869565 0.722222 +vt 0.913043 0.722222 +vt 0.847826 0.738095 +vt 0.858696 0.730159 +vt 0.836957 0.714286 +vt 0.847826 0.539683 +vt 0.847826 0.714286 +vt 0.869565 0.714286 +vt 0.880435 0.539683 +vt 0.826087 0.714286 +vt 0.836957 0.539683 +vt 0.902174 0.539683 +vt 0.858696 0.539683 +vt 0.858696 0.714286 +vt 0.891304 0.539683 +vt 0.869565 0.539683 +vt 0.913043 0.539683 +vt 0.913043 0.714286 +vt 0.891304 0.531746 +vt 0.902174 0.515873 +vt 0.902174 0.523810 +vt 0.847826 0.515873 +vt 0.858696 0.515873 +vt 0.891304 0.515873 +vt 0.869565 0.515873 +vt 0.847826 0.531746 +vt 0.836957 0.515873 +vt 0.880435 0.515873 +vt 0.847826 0.500000 +vt 0.880435 0.492063 +vt 0.891304 0.500000 +vt 0.902174 0.507937 +vt 0.858696 0.492063 +vt 0.869565 0.492063 +vt 0.913043 0.515873 +vt 0.826087 0.515873 +vt 0.836957 0.523810 +vt 0.836957 0.507937 +vt 0.836957 0.492063 +vt 0.847826 0.396825 +vt 0.847826 0.492063 +vt 0.880435 0.396825 +vt 0.891304 0.492063 +vt 0.902174 0.396825 +vt 0.902174 0.492063 +vt 0.826087 0.492063 +vt 0.836957 0.396825 +vt 0.858696 0.396825 +vt 0.913043 0.396825 +vt 0.913043 0.492063 +vt 0.891304 0.396825 +vt 0.869565 0.396825 +vt 0.771739 0.920635 +vt 0.782609 0.896825 +vt 0.782609 0.920635 +vt 0.793478 0.896825 +vt 0.804348 0.912698 +vt 0.793478 0.920635 +vt 0.750000 0.896825 +vt 0.760870 0.912698 +vt 0.750000 0.904762 +vt 0.760870 0.896825 +vt 0.804348 0.896825 +vt 0.815217 0.904762 +vt 0.771739 0.896825 +vt 0.782609 0.873016 +vt 0.793478 0.873016 +vt 0.750000 0.888889 +vt 0.771739 0.873016 +vt 0.815217 0.888889 +vt 0.815217 0.896825 +vt 0.739130 0.896825 +vt 0.826087 0.896825 +vt 0.804348 0.873016 +vt 0.793478 0.841270 +vt 0.804348 0.841270 +vt 0.750000 0.873016 +vt 0.760870 0.841270 +vt 0.760870 0.873016 +vt 0.739130 0.841270 +vt 0.750000 0.841270 +vt 0.771739 0.841270 +vt 0.815217 0.841270 +vt 0.815217 0.873016 +vt 0.826087 0.841270 +vt 0.826087 0.873016 +vt 0.782609 0.841270 +vt 0.760870 0.833333 +vt 0.771739 0.817460 +vt 0.793478 0.817460 +vt 0.815217 0.825397 +vt 0.804348 0.817460 +vt 0.815217 0.817460 +vt 0.782609 0.817460 +vt 0.804348 0.833333 +vt 0.750000 0.825397 +vt 0.760870 0.817460 +vt 0.793478 0.793651 +vt 0.804348 0.801587 +vt 0.750000 0.809524 +vt 0.760870 0.801587 +vt 0.771739 0.793651 +vt 0.815217 0.809524 +vt 0.782609 0.793651 +vt 0.739130 0.817460 +vt 0.750000 0.817460 +vt 0.826087 0.817460 +vt 0.760870 0.793651 +vt 0.750000 0.730159 +vt 0.760870 0.730159 +vt 0.815217 0.793651 +vt 0.826087 0.730159 +vt 0.826087 0.793651 +vt 0.771739 0.730159 +vt 0.739130 0.793651 +vt 0.750000 0.793651 +vt 0.793478 0.730159 +vt 0.804348 0.793651 +vt 0.815217 0.730159 +vt 0.782609 0.730159 +vt 0.804348 0.730159 +vt 0.760870 0.722222 +vt 0.771739 0.706349 +vt 0.771739 0.714286 +vt 0.804348 0.722222 +vt 0.815217 0.706349 +vt 0.739130 0.730159 +vt 0.750000 0.706349 +vt 0.793478 0.706349 +vt 0.804348 0.706349 +vt 0.760870 0.706349 +vt 0.826087 0.706349 +vt 0.750000 0.682540 +vt 0.760870 0.690476 +vt 0.815217 0.682540 +vt 0.826087 0.682540 +vt 0.771739 0.698413 +vt 0.739130 0.706349 +vt 0.793478 0.698413 +vt 0.804348 0.690476 +vt 0.782609 0.706349 +vt 0.793478 0.714286 +vt 0.782609 0.682540 +vt 0.793478 0.539683 +vt 0.793478 0.682540 +vt 0.815217 0.539683 +vt 0.826087 0.539683 +vt 0.771739 0.682540 +vt 0.782609 0.539683 +vt 0.760870 0.682540 +vt 0.771739 0.539683 +vt 0.804348 0.682540 +vt 0.739130 0.682540 +vt 0.750000 0.539683 +vt 0.804348 0.539683 +vt 0.760870 0.539683 +vt 0.760870 0.531746 +vt 0.771739 0.515873 +vt 0.815217 0.523810 +vt 0.804348 0.515873 +vt 0.815217 0.515873 +vt 0.782609 0.515873 +vt 0.804348 0.531746 +vt 0.793478 0.515873 +vt 0.750000 0.515873 +vt 0.760870 0.515873 +vt 0.793478 0.492063 +vt 0.771739 0.492063 +vt 0.815217 0.507937 +vt 0.782609 0.492063 +vt 0.804348 0.500000 +vt 0.750000 0.507937 +vt 0.760870 0.500000 +vt 0.739130 0.515873 +vt 0.750000 0.523810 +vt 0.826087 0.515873 +vt 0.815217 0.492063 +vt 0.826087 0.396825 +vt 0.826087 0.492063 +vt 0.793478 0.396825 +vt 0.739130 0.492063 +vt 0.750000 0.396825 +vt 0.750000 0.492063 +vt 0.760870 0.492063 +vt 0.771739 0.396825 +vt 0.804348 0.492063 +vt 0.815217 0.396825 +vt 0.782609 0.396825 +vt 0.804348 0.396825 +vt 0.760870 0.396825 +vt 0.913043 0.690476 +vt 0.913043 0.507937 +vt 0.913043 0.396825 +vt 0.804348 0.880952 +vt 0.760870 0.880952 +vt 0.739130 0.873016 +vt 0.739130 0.730159 +vt 0.739130 0.539683 +vt 0.739130 0.396825 +vt 0.826087 0.753968 +vt 0.826087 0.539683 +vt 0.826087 0.396825 +vt 0.804348 0.880952 +vt 0.760870 0.880952 +vt 0.739130 0.873016 +vt 0.739130 0.539683 +vt 0.739130 0.396825 +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.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.8321 -0.5547 +vn 0.0000 0.8321 0.5547 +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.7071 0.7071 +vn 0.7071 0.7071 0.0000 +vn 0.0000 0.9239 -0.3827 +vn 0.6630 0.5293 -0.5293 +vn 0.7311 -0.6303 0.2611 +vn 0.9955 0.0670 -0.0670 +vn 0.9947 0.0948 -0.0392 +vn -0.6332 0.7150 -0.2962 +vn -0.9955 0.0670 -0.0670 +vn -0.9947 0.0948 -0.0392 +vn 0.6332 0.7150 -0.2962 +vn -0.7311 -0.6303 0.2611 +vn -0.7573 -0.4617 0.4617 +vn -0.6630 0.5293 -0.5293 +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.0000 -0.1944 0.9809 +vn 0.7263 -0.1363 0.6737 +vn 0.0473 -0.0196 0.9987 +vn 0.7194 -0.1447 -0.6794 +vn -0.6737 0.1363 0.7263 +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.0670 -0.0670 -0.9955 +vn -0.4617 0.4617 -0.7573 +vn 0.5293 -0.5293 0.6630 +vn -0.4617 0.4617 0.7573 +vn 0.0670 -0.0670 0.9955 +vn 0.5293 -0.5293 -0.6630 +vn 0.0196 -0.0473 0.9987 +vn 0.1447 -0.7194 -0.6794 +vn 0.0196 -0.0473 -0.9987 +vn -0.1363 0.6737 -0.7263 +vn 0.1447 -0.7194 0.6794 +vn 0.1866 -0.9824 0.0000 +vn -0.1363 0.6737 0.7263 +vn 0.0000 -0.7071 -0.7071 +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.5293 0.5293 -0.6630 +vn -0.6303 -0.2611 0.7311 +vn 0.1447 0.7194 -0.6794 +vn 0.1447 0.7194 0.6794 +vn 0.5293 0.5293 0.6630 +vn -0.1363 -0.6737 -0.7263 +vn 0.0670 0.0670 -0.9955 +vn 0.1866 0.9824 0.0000 +vn -0.1363 -0.6737 0.7263 +vn -0.4617 -0.4617 0.7573 +vn -0.1944 -0.9809 0.0000 +vn 0.0196 0.0473 0.9987 +vn -0.1447 0.7194 0.6794 +vn -0.0196 0.0473 0.9987 +vn -0.0196 0.0473 -0.9987 +vn 0.0196 0.0473 -0.9987 +vn 0.1363 -0.6737 -0.7263 +vn -0.1447 0.7194 -0.6794 +vn 0.1363 -0.6737 0.7263 +vn -0.1866 0.9824 0.0000 +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.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.0473 0.0196 -0.9987 +vn -0.7194 0.1447 -0.6794 +vn 0.6737 -0.1363 0.7263 +vn -0.9824 0.1866 0.0000 +vn 0.4617 -0.4617 -0.7573 +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 51/81/23 50/82/23 49/83/23 +f 69/84/24 59/85/24 57/86/24 +f 72/87/25 58/88/25 60/89/25 +f 73/90/24 63/91/24 61/92/24 +f 76/93/25 62/94/25 64/95/25 +f 75/96/26 64/95/26 63/91/26 +f 71/97/26 60/89/26 59/85/26 +f 67/98/24 81/99/24 65/100/24 +f 68/101/26 83/102/26 67/98/26 +f 54/103/25 80/104/25 56/105/25 +f 55/106/24 77/107/24 53/108/24 +f 66/109/25 84/110/25 68/101/25 +f 56/105/26 79/111/26 55/106/26 +f 88/112/25 50/82/25 52/113/25 +f 85/114/24 51/115/24 49/116/24 +f 60/89/27 57/86/27 59/85/27 +f 64/95/27 61/92/27 63/91/27 +f 53/108/28 56/105/28 55/106/28 +f 65/100/28 68/101/28 67/98/28 +f 50/117/28 54/118/28 53/119/28 +f 57/120/27 58/121/27 52/122/27 +f 88/112/26 90/123/26 86/124/26 +f 54/118/26 90/123/26 78/125/26 +f 89/126/26 58/121/26 70/127/26 +f 74/128/26 57/120/26 62/129/26 +f 82/130/26 53/119/26 77/131/26 +f 92/132/26 87/133/26 85/114/26 +f 61/134/26 91/135/26 73/136/26 +f 92/132/26 65/137/26 81/138/26 +f 91/139/24 92/140/24 100/141/24 +f 95/142/27 71/143/27 76/144/27 +f 79/145/28 96/146/28 84/147/28 +f 95/142/29 97/148/29 93/149/29 +f 94/150/30 100/141/30 96/146/30 +f 98/151/26 99/152/26 100/141/26 +f 90/153/25 89/154/25 97/148/25 +f 284/155/28 286/156/28 283/157/28 +f 105/158/31 132/159/31 108/160/31 +f 104/161/25 107/162/25 102/163/25 +f 101/164/24 105/158/24 103/165/24 +f 103/165/27 108/160/27 104/161/27 +f 102/163/28 106/166/28 101/167/28 +f 124/168/27 125/169/27 121/170/27 +f 117/171/26 114/172/26 119/173/26 +f 120/174/23 115/175/23 118/176/23 +f 117/171/27 115/177/27 116/178/27 +f 119/173/28 113/179/28 120/180/28 +f 113/181/32 111/182/32 115/175/32 +f 126/183/23 282/184/23 127/185/23 +f 112/186/28 114/172/28 109/187/28 +f 111/188/27 116/178/27 115/177/27 +f 109/189/33 116/178/33 110/190/33 +f 124/191/25 284/155/25 128/192/25 +f 104/161/23 121/193/23 103/194/23 +f 101/195/23 123/196/23 102/163/23 +f 288/197/23 286/198/23 285/199/23 +f 122/200/28 127/185/28 123/201/28 +f 281/202/27 288/203/27 282/184/27 +f 128/192/23 283/157/23 125/169/23 +f 131/204/26 129/205/26 130/206/26 +f 107/162/34 130/207/34 106/166/34 +f 108/160/35 131/204/35 107/162/35 +f 106/208/33 129/209/33 105/158/33 +f 288/210/25 127/185/25 282/184/25 +f 126/183/24 287/211/24 281/202/24 +f 283/157/24 121/212/24 125/169/24 +f 285/199/23 124/213/23 104/161/23 +f 103/194/23 286/198/23 287/214/23 +f 290/215/26 291/216/26 289/217/26 +f 298/218/26 299/219/26 297/220/26 +f 292/221/27 293/222/27 291/216/27 +f 289/223/28 295/224/28 290/225/28 +f 290/226/25 296/227/25 292/221/25 +f 291/216/24 294/228/24 289/223/24 +f 300/229/27 301/230/27 299/219/27 +f 297/231/28 303/232/28 298/233/28 +f 298/234/25 304/235/25 300/229/25 +f 299/219/24 302/236/24 297/231/24 +f 358/237/26 359/238/26 357/239/26 +f 366/240/26 367/241/26 365/242/26 +f 360/243/27 361/244/27 359/245/27 +f 357/239/28 363/246/28 358/237/28 +f 358/237/25 364/247/25 360/243/25 +f 359/248/24 362/249/24 357/239/24 +f 368/250/27 369/251/27 367/252/27 +f 365/242/28 371/253/28 366/240/28 +f 366/240/25 372/254/25 368/250/25 +f 367/255/24 370/256/24 365/242/24 +f 414/257/26 415/258/26 413/259/26 +f 418/260/26 419/261/26 417/262/26 +f 394/263/26 395/264/26 393/265/26 +f 390/266/26 391/267/26 389/268/26 +f 387/269/26 382/270/26 383/271/26 +f 386/272/26 381/273/26 382/270/26 +f 388/274/26 383/271/26 384/275/26 +f 385/276/26 384/275/26 381/277/26 +f 380/278/28 385/276/28 379/279/28 +f 377/280/27 387/269/27 378/281/27 +f 375/282/27 384/275/27 376/283/27 +f 374/284/28 382/270/28 373/285/28 +f 378/286/24 388/274/24 380/287/24 +f 379/288/25 386/272/25 377/289/25 +f 376/283/25 383/271/25 374/284/25 +f 373/285/24 381/273/24 375/290/24 +f 411/291/26 406/292/26 407/293/26 +f 410/294/26 405/295/26 406/292/26 +f 412/296/26 407/293/26 408/297/26 +f 409/298/26 408/297/26 405/299/26 +f 404/300/28 409/298/28 403/301/28 +f 401/302/27 411/291/27 402/303/27 +f 399/304/27 408/297/27 400/305/27 +f 398/306/28 406/292/28 397/307/28 +f 402/308/24 412/296/24 404/309/24 +f 403/310/25 410/294/25 401/311/25 +f 400/305/25 407/293/25 398/306/25 +f 397/307/24 405/295/24 399/312/24 +f 51/81/23 52/113/23 50/82/23 +f 69/84/24 71/313/24 59/85/24 +f 72/87/25 70/314/25 58/88/25 +f 73/90/24 75/315/24 63/91/24 +f 76/93/25 74/316/25 62/94/25 +f 75/96/26 76/317/26 64/95/26 +f 71/97/26 72/318/26 60/89/26 +f 67/98/24 83/319/24 81/99/24 +f 68/101/26 84/320/26 83/102/26 +f 54/103/25 78/321/25 80/104/25 +f 55/106/24 79/322/24 77/107/24 +f 66/109/25 82/323/25 84/110/25 +f 56/105/26 80/324/26 79/111/26 +f 88/112/25 86/124/25 50/82/25 +f 85/114/24 87/133/24 51/115/24 +f 60/89/27 58/88/27 57/86/27 +f 64/95/27 62/94/27 61/92/27 +f 53/108/28 54/103/28 56/105/28 +f 65/100/28 66/109/28 68/101/28 +f 85/114/28 49/325/28 65/137/28 +f 49/325/28 50/117/28 53/119/28 +f 65/137/28 49/325/28 66/326/28 +f 50/117/28 86/124/28 54/118/28 +f 53/119/28 66/326/28 49/325/28 +f 52/122/27 51/327/27 57/120/27 +f 51/327/27 87/133/27 61/134/27 +f 61/134/27 62/129/27 51/327/27 +f 62/129/27 57/120/27 51/327/27 +f 58/121/27 88/112/27 52/122/27 +f 88/112/26 89/126/26 90/123/26 +f 54/118/26 86/124/26 90/123/26 +f 89/126/26 88/112/26 58/121/26 +f 74/128/26 69/328/26 57/120/26 +f 82/130/26 66/326/26 53/119/26 +f 92/132/26 91/135/26 87/133/26 +f 61/134/26 87/133/26 91/135/26 +f 92/132/26 85/114/26 65/137/26 +f 92/140/24 96/329/24 100/141/24 +f 100/141/24 99/152/24 91/139/24 +f 99/152/24 95/330/24 91/139/24 +f 75/331/27 73/332/27 91/333/27 +f 93/149/27 89/334/27 72/335/27 +f 89/334/27 70/336/27 72/335/27 +f 75/331/27 91/333/27 95/142/27 +f 69/337/27 74/338/27 76/144/27 +f 76/144/27 75/331/27 95/142/27 +f 95/142/27 93/149/27 71/143/27 +f 93/149/27 72/335/27 71/143/27 +f 71/143/27 69/337/27 76/144/27 +f 80/339/28 78/340/28 90/341/28 +f 96/146/28 92/342/28 83/343/28 +f 92/342/28 81/344/28 83/343/28 +f 80/339/28 90/341/28 94/150/28 +f 82/345/28 77/346/28 84/147/28 +f 77/346/28 79/145/28 84/147/28 +f 79/145/28 80/339/28 94/150/28 +f 96/146/28 83/343/28 84/147/28 +f 79/145/28 94/150/28 96/146/28 +f 95/142/29 99/152/29 97/148/29 +f 94/150/30 98/151/30 100/141/30 +f 98/151/26 97/148/26 99/152/26 +f 89/154/25 93/347/25 97/148/25 +f 97/148/25 98/151/25 90/153/25 +f 98/151/25 94/348/25 90/153/25 +f 284/155/28 285/349/28 286/156/28 +f 105/158/31 129/350/31 132/159/31 +f 104/161/25 108/160/25 107/162/25 +f 101/164/24 106/208/24 105/158/24 +f 103/165/27 105/158/27 108/160/27 +f 102/163/28 107/162/28 106/166/28 +f 124/168/27 128/192/27 125/169/27 +f 117/171/26 116/178/26 114/172/26 +f 120/174/23 113/181/23 115/175/23 +f 117/171/27 118/351/27 115/177/27 +f 119/173/28 114/172/28 113/179/28 +f 113/181/32 112/186/32 111/182/32 +f 126/183/23 281/202/23 282/184/23 +f 112/186/28 113/179/28 114/172/28 +f 111/188/27 110/352/27 116/178/27 +f 109/189/33 114/172/33 116/178/33 +f 124/191/25 285/353/25 284/155/25 +f 104/161/23 124/213/23 121/193/23 +f 101/195/23 122/354/23 123/196/23 +f 288/197/23 287/214/23 286/198/23 +f 122/200/28 126/183/28 127/185/28 +f 281/202/27 287/355/27 288/203/27 +f 128/192/23 284/155/23 283/157/23 +f 131/204/26 132/356/26 129/205/26 +f 107/162/34 131/357/34 130/207/34 +f 108/160/35 132/356/35 131/204/35 +f 106/208/33 130/358/33 129/209/33 +f 288/210/25 123/359/25 127/185/25 +f 126/183/24 122/360/24 287/211/24 +f 283/157/24 286/361/24 121/212/24 +f 104/161/23 102/163/23 288/197/23 +f 102/163/23 123/196/23 288/197/23 +f 288/197/23 285/199/23 104/161/23 +f 122/354/23 101/195/23 287/214/23 +f 101/195/23 103/194/23 287/214/23 +f 103/194/23 121/193/23 286/198/23 +f 290/215/26 292/221/26 291/216/26 +f 298/218/26 300/229/26 299/219/26 +f 292/221/27 296/227/27 293/222/27 +f 289/223/28 294/228/28 295/224/28 +f 290/226/25 295/362/25 296/227/25 +f 291/216/24 293/222/24 294/228/24 +f 300/229/27 304/235/27 301/230/27 +f 297/231/28 302/236/28 303/232/28 +f 298/234/25 303/363/25 304/235/25 +f 299/219/24 301/230/24 302/236/24 +f 358/237/26 360/364/26 359/238/26 +f 366/240/26 368/365/26 367/241/26 +f 360/243/27 364/247/27 361/244/27 +f 357/239/28 362/249/28 363/246/28 +f 358/237/25 363/246/25 364/247/25 +f 359/248/24 361/366/24 362/249/24 +f 368/250/27 372/254/27 369/251/27 +f 365/242/28 370/256/28 371/253/28 +f 366/240/25 371/253/25 372/254/25 +f 367/255/24 369/367/24 370/256/24 +f 414/257/26 416/368/26 415/258/26 +f 418/260/26 420/369/26 419/261/26 +f 394/263/26 396/370/26 395/264/26 +f 390/266/26 392/371/26 391/267/26 +f 387/269/26 386/372/26 382/270/26 +f 386/272/26 385/373/26 381/273/26 +f 388/274/26 387/374/26 383/271/26 +f 385/276/26 388/375/26 384/275/26 +f 380/278/28 388/375/28 385/276/28 +f 377/280/27 386/372/27 387/269/27 +f 375/282/27 381/277/27 384/275/27 +f 374/284/28 383/271/28 382/270/28 +f 378/286/24 387/374/24 388/274/24 +f 379/288/25 385/373/25 386/272/25 +f 376/283/25 384/275/25 383/271/25 +f 373/285/24 382/270/24 381/273/24 +f 411/291/26 410/376/26 406/292/26 +f 410/294/26 409/377/26 405/295/26 +f 412/296/26 411/378/26 407/293/26 +f 409/298/26 412/379/26 408/297/26 +f 404/300/28 412/379/28 409/298/28 +f 401/302/27 410/376/27 411/291/27 +f 399/304/27 405/299/27 408/297/27 +f 398/306/28 407/293/28 406/292/28 +f 402/308/24 411/378/24 412/296/24 +f 403/310/25 409/377/25 410/294/25 +f 400/305/25 408/297/25 407/293/25 +f 397/307/24 406/292/24 405/295/24 +s 1 +f 133/380/36 147/381/37 141/382/31 +f 138/383/38 146/384/39 139/385/40 +f 134/386/41 143/387/42 135/388/43 +f 139/385/40 147/381/37 140/389/44 +f 136/390/45 143/391/42 144/392/46 +f 133/380/36 142/393/47 134/386/41 +f 146/384/39 154/394/48 147/381/37 +f 144/392/46 150/395/49 151/396/50 +f 141/382/31 149/397/51 142/393/47 +f 147/381/37 148/398/52 141/382/31 +f 145/399/53 153/400/54 146/384/39 +f 143/387/42 149/397/51 150/401/49 +f 137/402/55 145/399/53 138/383/38 +f 136/390/45 144/392/46 137/402/55 +f 144/392/46 151/396/50 137/402/55 +f 145/399/53 137/402/55 152/403/56 +f 151/404/50 155/405/57 137/406/55 +f 153/407/54 162/408/58 154/394/48 +f 150/409/49 159/410/59 151/404/50 +f 148/398/52 157/411/60 149/397/51 +f 137/406/55 160/412/61 152/413/56 +f 154/394/48 156/414/62 148/398/52 +f 152/413/56 161/415/63 153/407/54 +f 149/397/51 158/416/33 150/417/49 +f 157/418/60 164/419/64 165/420/65 +f 155/421/57 167/422/66 160/412/61 +f 162/408/58 164/419/64 156/423/62 +f 160/412/61 168/424/32 161/415/63 +f 155/421/57 166/425/67 163/426/68 +f 162/408/58 168/424/32 169/427/69 +f 166/425/67 170/428/70 163/426/68 +f 168/424/32 176/429/71 169/427/69 +f 165/420/65 171/430/72 172/431/73 +f 163/426/68 174/432/74 167/422/66 +f 164/419/64 176/429/71 171/430/72 +f 167/422/66 175/433/75 168/424/32 +f 157/418/60 165/420/65 158/434/33 +f 165/420/65 172/431/73 158/434/33 +f 158/435/33 166/425/67 159/436/59 +f 166/425/67 158/435/33 173/437/76 +f 173/438/76 178/439/28 170/440/70 +f 175/433/75 184/441/77 176/429/71 +f 171/442/72 180/443/31 172/444/73 +f 158/445/33 181/446/34 173/438/76 +f 170/440/70 182/447/78 174/432/74 +f 172/444/73 177/448/26 158/449/33 +f 176/429/71 179/450/27 171/442/72 +f 174/432/74 183/451/23 175/433/75 +f 192/452/79 198/453/35 191/454/80 +f 190/455/81 196/456/82 189/457/83 +f 194/458/84 185/459/85 186/460/86 +f 185/459/85 199/461/87 192/452/79 +f 198/453/35 190/455/81 191/454/80 +f 196/456/82 188/462/88 189/457/83 +f 206/463/89 198/453/35 199/461/87 +f 204/464/90 196/456/82 197/465/91 +f 201/466/92 193/467/93 194/458/84 +f 193/467/93 206/463/89 199/461/87 +f 205/468/94 197/465/91 198/453/35 +f 196/456/82 202/469/95 195/470/96 +f 186/460/86 187/471/97 194/458/84 +f 187/472/97 188/462/88 195/470/96 +f 195/470/96 202/469/95 187/472/97 +f 194/458/84 187/471/97 201/466/92 +f 203/473/98 212/474/99 211/475/100 +f 201/476/92 208/477/101 200/478/102 +f 201/476/92 207/479/32 209/480/103 +f 200/478/102 214/481/104 206/463/89 +f 205/468/94 212/474/99 204/464/90 +f 203/473/98 210/482/105 202/483/95 +f 202/483/95 207/484/32 187/485/97 +f 206/463/89 213/486/106 205/468/94 +f 208/487/101 221/488/107 214/481/104 +f 212/474/99 220/489/33 219/490/108 +f 210/491/105 218/492/109 217/493/110 +f 213/486/106 221/488/107 220/489/33 +f 211/494/100 219/490/108 218/492/109 +f 209/495/103 215/496/111 208/487/101 +f 218/492/109 226/497/112 225/498/113 +f 215/496/111 223/499/114 222/500/115 +f 215/496/111 228/501/116 221/488/107 +f 220/489/33 226/497/112 219/490/108 +f 218/492/109 224/502/117 217/493/110 +f 220/489/33 228/501/116 227/503/118 +f 207/504/32 216/505/119 209/495/103 +f 216/505/119 207/504/32 223/499/114 +f 210/491/105 217/493/110 207/506/32 +f 217/493/110 224/502/117 207/506/32 +f 222/507/115 231/508/58 230/509/62 +f 224/510/117 229/511/63 207/512/32 +f 222/507/115 236/513/60 228/501/116 +f 207/514/32 231/508/58 223/515/114 +f 227/503/118 234/516/59 226/497/112 +f 225/517/113 232/518/61 224/510/117 +f 228/501/116 235/519/33 227/503/118 +f 225/517/113 234/516/59 233/520/57 +f 230/521/62 243/522/65 236/523/60 +f 233/524/57 240/525/66 232/518/61 +f 231/508/58 237/526/32 239/527/69 +f 233/524/57 242/528/67 241/529/68 +f 230/521/62 239/527/69 238/530/64 +f 232/518/61 237/531/32 229/511/63 +f 238/530/64 246/532/71 245/533/72 +f 240/525/66 244/534/75 237/531/32 +f 238/530/64 250/535/73 243/522/65 +f 241/529/68 247/536/74 240/525/66 +f 237/526/32 246/532/71 239/527/69 +f 241/529/68 249/537/76 248/538/70 +f 236/523/60 243/522/65 235/539/33 +f 243/522/65 250/535/73 235/539/33 +f 234/540/59 235/539/33 242/528/67 +f 242/528/67 235/539/33 249/537/76 +f 235/541/33 257/542/99 249/543/76 +f 244/534/75 255/544/105 252/545/32 +f 250/546/73 251/547/106 235/541/33 +f 245/548/72 258/549/104 250/546/73 +f 248/550/70 255/544/105 247/536/74 +f 244/551/75 254/552/103 246/532/71 +f 248/550/70 257/542/99 256/553/100 +f 245/548/72 254/552/103 253/554/101 +f 253/555/101 265/556/107 258/549/104 +f 256/557/100 262/558/110 255/559/105 +f 251/547/106 265/556/107 259/560/33 +f 256/557/100 264/561/108 263/562/109 +f 254/563/103 260/564/111 253/555/101 +f 251/547/106 264/561/108 257/542/99 +f 259/560/33 271/565/112 264/561/108 +f 260/564/111 272/566/116 265/556/107 +f 263/562/109 269/567/117 262/558/110 +f 265/556/107 266/568/118 259/560/33 +f 263/562/109 271/565/112 270/569/113 +f 260/564/111 268/570/114 267/571/115 +f 252/572/32 261/573/119 254/563/103 +f 261/573/119 252/572/32 268/570/114 +f 255/559/105 262/558/110 252/574/32 +f 262/558/110 269/567/117 252/574/32 +f 269/575/117 273/576/25 252/577/32 +f 266/568/118 279/578/120 271/565/112 +f 252/579/32 276/580/121 268/581/114 +f 267/582/115 280/583/122 272/566/116 +f 270/584/113 277/585/123 269/575/117 +f 272/566/116 274/586/24 266/568/118 +f 270/584/113 279/578/120 278/587/28 +f 267/582/115 276/580/121 275/588/27 +f 310/589/38 318/590/39 311/591/40 +f 305/592/36 319/593/37 313/594/31 +f 307/595/43 314/596/47 315/597/42 +f 311/591/40 319/593/37 312/598/44 +f 308/599/45 315/600/42 316/601/46 +f 306/602/41 313/594/31 314/596/47 +f 318/590/39 326/603/48 319/593/37 +f 316/601/46 322/604/49 323/605/50 +f 313/594/31 321/606/51 314/596/47 +f 313/594/31 326/603/48 320/607/52 +f 317/608/53 325/609/54 318/590/39 +f 315/597/42 321/606/51 322/610/49 +f 309/611/55 317/608/53 310/589/38 +f 308/599/45 316/601/46 309/611/55 +f 316/601/46 323/605/50 309/611/55 +f 317/608/53 309/611/55 324/612/56 +f 323/613/50 327/614/57 309/615/55 +f 325/616/54 334/617/58 326/603/48 +f 322/618/49 331/619/59 323/613/50 +f 320/607/52 329/620/60 321/606/51 +f 309/615/55 332/621/61 324/622/56 +f 326/603/48 328/623/62 320/607/52 +f 324/622/56 333/624/63 325/616/54 +f 321/606/51 330/625/33 322/626/49 +f 328/627/62 337/628/65 329/629/60 +f 332/621/61 335/630/68 339/631/66 +f 334/617/58 336/632/64 328/627/62 +f 332/621/61 340/633/32 333/624/63 +f 327/634/57 338/635/67 335/630/68 +f 333/624/63 341/636/69 334/617/58 +f 338/635/67 342/637/70 335/630/68 +f 340/633/32 348/638/71 341/636/69 +f 337/628/65 343/639/72 344/640/73 +f 339/631/66 342/637/70 346/641/74 +f 341/636/69 343/639/72 336/632/64 +f 339/631/66 347/642/75 340/633/32 +f 329/629/60 337/628/65 330/643/33 +f 337/628/65 344/640/73 330/643/33 +f 330/644/33 338/635/67 331/645/59 +f 338/635/67 330/644/33 345/646/76 +f 345/647/76 350/648/28 342/649/70 +f 347/642/75 356/650/77 348/638/71 +f 343/651/72 352/652/31 344/653/73 +f 330/654/33 353/655/34 345/647/76 +f 342/649/70 354/656/78 346/641/74 +f 344/653/73 349/657/26 330/658/33 +f 348/638/71 351/659/27 343/651/72 +f 346/641/74 355/660/23 347/642/75 +f 428/661/79 434/662/35 427/663/80 +f 433/664/91 425/665/83 426/666/81 +f 430/667/84 421/668/85 422/669/86 +f 429/670/93 428/661/79 421/668/85 +f 434/662/35 426/666/81 427/663/80 +f 432/671/82 424/672/88 425/665/83 +f 435/673/87 441/674/94 434/662/35 +f 440/675/90 432/671/82 433/664/91 +f 437/676/92 429/670/93 430/667/84 +f 429/670/93 442/677/89 435/673/87 +f 434/662/35 440/675/90 433/664/91 +f 432/671/82 438/678/95 431/679/96 +f 422/669/86 423/680/97 430/667/84 +f 423/681/97 424/672/88 431/679/96 +f 431/679/96 438/678/95 423/681/97 +f 430/667/84 423/680/97 437/676/92 +f 439/682/98 448/683/99 447/684/100 +f 437/685/92 444/686/101 436/687/102 +f 437/685/92 443/688/32 445/689/103 +f 436/687/102 450/690/104 442/677/89 +f 441/674/94 448/683/99 440/675/90 +f 439/682/98 446/691/105 438/692/95 +f 438/692/95 443/693/32 423/694/97 +f 442/677/89 449/695/106 441/674/94 +f 444/696/101 457/697/107 450/690/104 +f 449/695/106 455/698/108 448/683/99 +f 446/699/105 454/700/109 453/701/110 +f 450/690/104 456/702/33 449/695/106 +f 447/703/100 455/698/108 454/700/109 +f 445/704/103 451/705/111 444/696/101 +f 454/700/109 462/706/112 461/707/113 +f 451/705/111 459/708/114 458/709/115 +f 451/705/111 464/710/116 457/697/107 +f 456/702/33 462/706/112 455/698/108 +f 454/700/109 460/711/117 453/701/110 +f 457/697/107 463/712/118 456/702/33 +f 443/713/32 452/714/119 445/704/103 +f 452/714/119 443/713/32 459/708/114 +f 446/699/105 453/701/110 443/715/32 +f 453/701/110 460/711/117 443/715/32 +f 458/716/115 467/717/58 466/718/62 +f 460/719/117 465/720/63 443/721/32 +f 458/716/115 472/722/60 464/710/116 +f 443/723/32 467/717/58 459/724/114 +f 463/712/118 470/725/59 462/706/112 +f 461/726/113 468/727/61 460/719/117 +f 464/710/116 471/728/33 463/712/118 +f 461/726/113 470/725/59 469/729/57 +f 466/730/62 479/731/65 472/732/60 +f 469/733/57 476/734/66 468/727/61 +f 465/735/63 475/736/69 467/717/58 +f 469/733/57 478/737/67 477/738/68 +f 466/730/62 475/736/69 474/739/64 +f 468/727/61 473/740/32 465/720/63 +f 474/739/64 482/741/71 481/742/72 +f 473/740/32 483/743/74 480/744/75 +f 474/739/64 486/745/73 479/731/65 +f 477/738/68 483/743/74 476/734/66 +f 473/746/32 482/741/71 475/736/69 +f 477/738/68 485/747/76 484/748/70 +f 472/732/60 479/731/65 471/749/33 +f 479/731/65 486/745/73 471/749/33 +f 470/750/59 471/749/33 478/737/67 +f 478/737/67 471/749/33 485/747/76 +f 471/751/33 493/752/99 485/753/76 +f 480/744/75 491/754/105 488/755/32 +f 486/756/73 487/757/106 471/751/33 +f 481/758/72 494/759/104 486/756/73 +f 484/760/70 491/754/105 483/743/74 +f 480/761/75 490/762/103 482/741/71 +f 484/760/70 493/752/99 492/763/100 +f 481/758/72 490/762/103 489/764/101 +f 489/765/101 501/766/107 494/759/104 +f 491/767/105 499/768/109 498/769/110 +f 487/757/106 501/766/107 495/770/33 +f 492/771/100 500/772/108 499/768/109 +f 489/765/101 497/773/119 496/774/111 +f 487/757/106 500/772/108 493/752/99 +f 495/770/33 507/775/112 500/772/108 +f 496/774/111 508/776/116 501/766/107 +f 499/768/109 505/777/117 498/769/110 +f 495/770/33 508/776/116 502/778/118 +f 499/768/109 507/775/112 506/779/113 +f 496/774/111 504/780/114 503/781/115 +f 488/782/32 497/773/119 490/783/103 +f 497/773/119 488/782/32 504/780/114 +f 491/767/105 498/769/110 488/784/32 +f 498/769/110 505/777/117 488/784/32 +f 505/785/117 509/786/25 488/787/32 +f 502/778/118 515/788/120 507/775/112 +f 488/789/32 512/790/121 504/791/114 +f 503/792/115 516/793/122 508/776/116 +f 506/794/113 513/795/123 505/785/117 +f 508/776/116 510/796/24 502/778/118 +f 506/794/113 515/788/120 514/797/28 +f 503/792/115 512/790/121 511/798/27 +f 133/380/36 140/389/44 147/381/37 +f 138/383/38 145/399/53 146/384/39 +f 134/386/41 142/393/47 143/387/42 +f 139/385/40 146/384/39 147/381/37 +f 136/390/45 135/799/43 143/391/42 +f 133/380/36 141/382/31 142/393/47 +f 146/384/39 153/400/54 154/394/48 +f 144/392/46 143/391/42 150/395/49 +f 141/382/31 148/398/52 149/397/51 +f 147/381/37 154/394/48 148/398/52 +f 145/399/53 152/403/56 153/400/54 +f 143/387/42 142/393/47 149/397/51 +f 151/404/50 159/410/59 155/405/57 +f 153/407/54 161/415/63 162/408/58 +f 150/409/49 158/800/33 159/410/59 +f 148/398/52 156/414/62 157/411/60 +f 137/406/55 155/405/57 160/412/61 +f 154/394/48 162/408/58 156/414/62 +f 152/413/56 160/412/61 161/415/63 +f 149/397/51 157/411/60 158/416/33 +f 157/418/60 156/423/62 164/419/64 +f 155/421/57 163/426/68 167/422/66 +f 162/408/58 169/427/69 164/419/64 +f 160/412/61 167/422/66 168/424/32 +f 155/421/57 159/436/59 166/425/67 +f 162/408/58 161/415/63 168/424/32 +f 166/425/67 173/437/76 170/428/70 +f 168/424/32 175/433/75 176/429/71 +f 165/420/65 164/419/64 171/430/72 +f 163/426/68 170/428/70 174/432/74 +f 164/419/64 169/427/69 176/429/71 +f 167/422/66 174/432/74 175/433/75 +f 173/438/76 181/446/34 178/439/28 +f 175/433/75 183/451/23 184/441/77 +f 171/442/72 179/450/27 180/443/31 +f 158/445/33 177/801/26 181/446/34 +f 170/440/70 178/439/28 182/447/78 +f 172/444/73 180/443/31 177/448/26 +f 176/429/71 184/441/77 179/450/27 +f 174/432/74 182/447/78 183/451/23 +f 192/452/79 199/461/87 198/453/35 +f 190/455/81 197/465/91 196/456/82 +f 194/458/84 193/467/93 185/459/85 +f 185/459/85 193/467/93 199/461/87 +f 198/453/35 197/465/91 190/455/81 +f 196/456/82 195/470/96 188/462/88 +f 206/463/89 205/468/94 198/453/35 +f 204/464/90 203/802/98 196/456/82 +f 201/466/92 200/803/102 193/467/93 +f 193/467/93 200/803/102 206/463/89 +f 205/468/94 204/464/90 197/465/91 +f 196/456/82 203/802/98 202/469/95 +f 203/473/98 204/464/90 212/474/99 +f 201/476/92 209/480/103 208/477/101 +f 201/476/92 187/804/97 207/479/32 +f 200/478/102 208/477/101 214/481/104 +f 205/468/94 213/486/106 212/474/99 +f 203/473/98 211/475/100 210/482/105 +f 202/483/95 210/482/105 207/484/32 +f 206/463/89 214/481/104 213/486/106 +f 208/487/101 215/496/111 221/488/107 +f 212/474/99 213/486/106 220/489/33 +f 210/491/105 211/494/100 218/492/109 +f 213/486/106 214/481/104 221/488/107 +f 211/494/100 212/474/99 219/490/108 +f 209/495/103 216/505/119 215/496/111 +f 218/492/109 219/490/108 226/497/112 +f 215/496/111 216/505/119 223/499/114 +f 215/496/111 222/500/115 228/501/116 +f 220/489/33 227/503/118 226/497/112 +f 218/492/109 225/498/113 224/502/117 +f 220/489/33 221/488/107 228/501/116 +f 222/507/115 223/515/114 231/508/58 +f 224/510/117 232/518/61 229/511/63 +f 222/507/115 230/509/62 236/513/60 +f 207/514/32 229/805/63 231/508/58 +f 227/503/118 235/519/33 234/516/59 +f 225/517/113 233/520/57 232/518/61 +f 228/501/116 236/513/60 235/519/33 +f 225/517/113 226/497/112 234/516/59 +f 230/521/62 238/530/64 243/522/65 +f 233/524/57 241/529/68 240/525/66 +f 231/508/58 229/805/63 237/526/32 +f 233/524/57 234/540/59 242/528/67 +f 230/521/62 231/508/58 239/527/69 +f 232/518/61 240/525/66 237/531/32 +f 238/530/64 239/527/69 246/532/71 +f 240/525/66 247/536/74 244/534/75 +f 238/530/64 245/533/72 250/535/73 +f 241/529/68 248/538/70 247/536/74 +f 237/526/32 244/551/75 246/532/71 +f 241/529/68 242/528/67 249/537/76 +f 235/541/33 251/547/106 257/542/99 +f 244/534/75 247/536/74 255/544/105 +f 250/546/73 258/549/104 251/547/106 +f 245/548/72 253/554/101 258/549/104 +f 248/550/70 256/553/100 255/544/105 +f 244/551/75 252/806/32 254/552/103 +f 248/550/70 249/543/76 257/542/99 +f 245/548/72 246/532/71 254/552/103 +f 253/555/101 260/564/111 265/556/107 +f 256/557/100 263/562/109 262/558/110 +f 251/547/106 258/549/104 265/556/107 +f 256/557/100 257/542/99 264/561/108 +f 254/563/103 261/573/119 260/564/111 +f 251/547/106 259/560/33 264/561/108 +f 259/560/33 266/568/118 271/565/112 +f 260/564/111 267/571/115 272/566/116 +f 263/562/109 270/569/113 269/567/117 +f 265/556/107 272/566/116 266/568/118 +f 263/562/109 264/561/108 271/565/112 +f 260/564/111 261/573/119 268/570/114 +f 269/575/117 277/585/123 273/576/25 +f 266/568/118 274/586/24 279/578/120 +f 252/579/32 273/807/25 276/580/121 +f 267/582/115 275/588/27 280/583/122 +f 270/584/113 278/587/28 277/585/123 +f 272/566/116 280/583/122 274/586/24 +f 270/584/113 271/565/112 279/578/120 +f 267/582/115 268/581/114 276/580/121 +f 310/589/38 317/608/53 318/590/39 +f 305/592/36 312/598/44 319/593/37 +f 307/595/43 306/602/41 314/596/47 +f 311/591/40 318/590/39 319/593/37 +f 308/599/45 307/808/43 315/600/42 +f 306/602/41 305/592/36 313/594/31 +f 318/590/39 325/609/54 326/603/48 +f 316/601/46 315/600/42 322/604/49 +f 313/594/31 320/607/52 321/606/51 +f 313/594/31 319/593/37 326/603/48 +f 317/608/53 324/612/56 325/609/54 +f 315/597/42 314/596/47 321/606/51 +f 323/613/50 331/619/59 327/614/57 +f 325/616/54 333/624/63 334/617/58 +f 322/618/49 330/809/33 331/619/59 +f 320/607/52 328/623/62 329/620/60 +f 309/615/55 327/614/57 332/621/61 +f 326/603/48 334/617/58 328/623/62 +f 324/622/56 332/621/61 333/624/63 +f 321/606/51 329/620/60 330/625/33 +f 328/627/62 336/632/64 337/628/65 +f 332/621/61 327/634/57 335/630/68 +f 334/617/58 341/636/69 336/632/64 +f 332/621/61 339/631/66 340/633/32 +f 327/634/57 331/645/59 338/635/67 +f 333/624/63 340/633/32 341/636/69 +f 338/635/67 345/646/76 342/637/70 +f 340/633/32 347/642/75 348/638/71 +f 337/628/65 336/632/64 343/639/72 +f 339/631/66 335/630/68 342/637/70 +f 341/636/69 348/638/71 343/639/72 +f 339/631/66 346/641/74 347/642/75 +f 345/647/76 353/655/34 350/648/28 +f 347/642/75 355/660/23 356/650/77 +f 343/651/72 351/659/27 352/652/31 +f 330/654/33 349/810/26 353/655/34 +f 342/649/70 350/648/28 354/656/78 +f 344/653/73 352/652/31 349/657/26 +f 348/638/71 356/650/77 351/659/27 +f 346/641/74 354/656/78 355/660/23 +f 428/661/79 435/673/87 434/662/35 +f 433/664/91 432/671/82 425/665/83 +f 430/667/84 429/670/93 421/668/85 +f 429/670/93 435/673/87 428/661/79 +f 434/662/35 433/664/91 426/666/81 +f 432/671/82 431/679/96 424/672/88 +f 435/673/87 442/677/89 441/674/94 +f 440/675/90 439/811/98 432/671/82 +f 437/676/92 436/812/102 429/670/93 +f 429/670/93 436/812/102 442/677/89 +f 434/662/35 441/674/94 440/675/90 +f 432/671/82 439/811/98 438/678/95 +f 439/682/98 440/675/90 448/683/99 +f 437/685/92 445/689/103 444/686/101 +f 437/685/92 423/813/97 443/688/32 +f 436/687/102 444/686/101 450/690/104 +f 441/674/94 449/695/106 448/683/99 +f 439/682/98 447/684/100 446/691/105 +f 438/692/95 446/691/105 443/693/32 +f 442/677/89 450/690/104 449/695/106 +f 444/696/101 451/705/111 457/697/107 +f 449/695/106 456/702/33 455/698/108 +f 446/699/105 447/703/100 454/700/109 +f 450/690/104 457/697/107 456/702/33 +f 447/703/100 448/683/99 455/698/108 +f 445/704/103 452/714/119 451/705/111 +f 454/700/109 455/698/108 462/706/112 +f 451/705/111 452/714/119 459/708/114 +f 451/705/111 458/709/115 464/710/116 +f 456/702/33 463/712/118 462/706/112 +f 454/700/109 461/707/113 460/711/117 +f 457/697/107 464/710/116 463/712/118 +f 458/716/115 459/724/114 467/717/58 +f 460/719/117 468/727/61 465/720/63 +f 458/716/115 466/718/62 472/722/60 +f 443/723/32 465/735/63 467/717/58 +f 463/712/118 471/728/33 470/725/59 +f 461/726/113 469/729/57 468/727/61 +f 464/710/116 472/722/60 471/728/33 +f 461/726/113 462/706/112 470/725/59 +f 466/730/62 474/739/64 479/731/65 +f 469/733/57 477/738/68 476/734/66 +f 465/735/63 473/746/32 475/736/69 +f 469/733/57 470/750/59 478/737/67 +f 466/730/62 467/717/58 475/736/69 +f 468/727/61 476/734/66 473/740/32 +f 474/739/64 475/736/69 482/741/71 +f 473/740/32 476/734/66 483/743/74 +f 474/739/64 481/742/72 486/745/73 +f 477/738/68 484/748/70 483/743/74 +f 473/746/32 480/761/75 482/741/71 +f 477/738/68 478/737/67 485/747/76 +f 471/751/33 487/757/106 493/752/99 +f 480/744/75 483/743/74 491/754/105 +f 486/756/73 494/759/104 487/757/106 +f 481/758/72 489/764/101 494/759/104 +f 484/760/70 492/763/100 491/754/105 +f 480/761/75 488/814/32 490/762/103 +f 484/760/70 485/753/76 493/752/99 +f 481/758/72 482/741/71 490/762/103 +f 489/765/101 496/774/111 501/766/107 +f 491/767/105 492/771/100 499/768/109 +f 487/757/106 494/759/104 501/766/107 +f 492/771/100 493/752/99 500/772/108 +f 489/765/101 490/783/103 497/773/119 +f 487/757/106 495/770/33 500/772/108 +f 495/770/33 502/778/118 507/775/112 +f 496/774/111 503/781/115 508/776/116 +f 499/768/109 506/779/113 505/777/117 +f 495/770/33 501/766/107 508/776/116 +f 499/768/109 500/772/108 507/775/112 +f 496/774/111 497/773/119 504/780/114 +f 505/785/117 513/795/123 509/786/25 +f 502/778/118 510/796/24 515/788/120 +f 488/789/32 509/815/25 512/790/121 +f 503/792/115 511/798/27 516/793/122 +f 506/794/113 514/797/28 513/795/123 +f 508/776/116 516/793/122 510/796/24 +f 506/794/113 507/775/112 515/788/120 +f 503/792/115 504/791/114 512/790/121 diff --git a/src/main/resources/assets/hbm/textures/models/machines/steamhammer.png b/src/main/resources/assets/hbm/textures/models/machines/steamhammer.png new file mode 100644 index 0000000000000000000000000000000000000000..ce0ae052e1ce70e45abd8cfddafdd752559148c8 GIT binary patch literal 1907 zcmV-(2aNcMP)KW^kU6voNG2XPTB25GnO9gM8209&|mZ7in91w>sSK#Yak zOtZzd$zt!Yh115^CO$y!pcER~BUV;$=8GJ+&%J+OXY(hBYCOJCar^&H zY#+OSh}_Lt?F!U}5*Q`W+WQA?;K2cFAaKAM2pq6x^Bx?8G2D)ga`kOoRu{+5<8uGd zR-+dJ2VQh<{Zg6w0+9D@2ptv$I2mrmphX)(_f`zP7e!7G!GRN-74co}AM)4H1u5`B z)V~U2ka(CCh4$3yB1{LZSQJEX;Dr_}WjoNw1gnC|nwZPx`n3g*MkZhl1P)jOfdkgS zg99fs*^tp=TfBHH*%J*SIPk*vfln(Bcr<5Jo?8{FNG_=3dsnI=D`lxzTX|#;ivpZ1 zeS)c%YXgA;C%zAOOls%9H4r%P!uOGVZA)SjEbzYZz8&4l`_8n6j@-W1L>O6?+JYwq z-nyVo%=#(_e$yaL2v`Gw1J-Q5k@-amIXuqW7`YR2>8Mku`;Xb4JNn$KyK!0VkDtfo zKGMT)Uf{!{81%`U`|X{ui&TrB`hCl20n6R=9CZs`gIfYD3MfK%D~9e?48!C2uT;5Y z1UJ)et!Gt`CTt6v_3&Np@8il3wkXuCCDt>=mMId38O&g_=p4_~Jsl9E@5%bomJQ|&*KRkuXV;>F& z=l*{=)D{1~H-Bf@@2m41IBrTRsJH&JNAOc`=G%p`r8h#r6x-i$X}4O6P|t6&d5Z$v zP~)DERwYqAd_BJj1P+=ewhaJ*gH^E9^Jf>h(VCt%Kp*CP+vzqcSH-|8i1qx4;Gk)O zJ-@Mx&Q^dm5IA5B1P)jOfdkg$&!U_pqR!V1l3n0S24OtirmNHqlQkdYcz&P7&X?eqj;S{-QooZq zvp?q_rSwb3Pft%l>z|*W7cFn=z=KDklxlXA0c+hp4#O6rw-E5)Nzg)4N;M&xiLgx} ze^t|!sozDPu3{BH1W!l{(Y%E^v_$y$;FZUFrpm89@K3F1ZWXp}P-@JGZT@aB^JCB~ zYyHl$z2$BCSL3Hd4l98Oo{5r?v_x64v#j|J*`|khTUt*Oc<_wmj^-tV9XrdKT3GJ$ z#SodIhrkPc`xwvy(n&D`A~c9u0QSZdHs+aOG@2KBU{FGOA6 z%?lj3iJfIl9l!LoCc@0JTraD)z91lQ&@{1afbj9bF~B@1NbF3@h~QuqENufo;Gk(@ z+W?yvI5H=%IXx%CU#enF;yIJVq*BAmJvViHYURfV+@LQCU=0KgSOb9r)}WC|bXwxx z2&ImH?bFF1f&K^^};9;fF@NcpEIJ0*(m zg@p(Xl29^|hm^JX2oBs(p83=RUkNF5ceo0@kPyKEYanpI8VDS)1_B4HfxrQ4AaKAM z2pq5md2rywmUq@qK$Vz2>ZHb5q56)b1`!;vX7dre*o3Obh!;9Cm5Cmys^nDRYX%X# z0698zZM~D2FPo3xIms=;XCI7cZUqrM6D1=oqPZRN%3u4un0@5vvZ16Njn*XhXt6W< zn>`-eaoFl-TmR9>-d$}9G4_!Yeh~R)V$b(06 zI2@WjKV+Vn@ZiI5^S%Gn-TeA$Z~5M`zWC-U9UdG2C-C6RiS@myBDHn>>yX-n1A#Ng zY7I651kRlPshfUrX|$;>m3#ZImhXSHZ2!}AvHN4ZVb~(Ix^NaR1knbhwuc7?tbxD* tYanpI8VDS)1_B4HfxrQ4AaKB%{{hic2yuHKt;hfX002ovPDHLkV1iK5jRgPz literal 0 HcmV?d00001 From 7ed32a6c7f99d8e4794d39c3a8d3b971e01a6a7e Mon Sep 17 00:00:00 2001 From: Vaern Date: Wed, 31 May 2023 20:08:36 -0700 Subject: [PATCH 134/285] a --- .../world/gen/component/BunkerComponents.java | 130 +++++++++++++++++- .../hbm/world/gen/component/Component.java | 18 ++- 2 files changed, 142 insertions(+), 6 deletions(-) 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 9937ac15f..2f14105b6 100644 --- a/src/main/java/com/hbm/world/gen/component/BunkerComponents.java +++ b/src/main/java/com/hbm/world/gen/component/BunkerComponents.java @@ -31,9 +31,10 @@ public class BunkerComponents { Weight[] weights = new Weight[] { new Weight(6, 3, Corridor::findValidPlacement), - new Weight(7, 4, BedroomL::findValidPlacement), + new Weight(5, 4, BedroomL::findValidPlacement), new Weight(10, 3, FunJunction::findValidPlacement), new Weight(5, 2, BathroomL::findValidPlacement), + new Weight(7, 2, Laboratory::findValidPlacement), }; StructureComponent starter = new StartingHub(rand, x, z); @@ -51,6 +52,7 @@ public class BunkerComponents { MapGenStructureIO.func_143031_a(BedroomL.class, "NTMBBedroomL"); MapGenStructureIO.func_143031_a(FunJunction.class, "NTMBFunJunction"); MapGenStructureIO.func_143031_a(BathroomL.class, "NTMBBathroomL"); + MapGenStructureIO.func_143031_a(Laboratory.class, "NTMBLaboratory"); //TODO more rooms for more variety } @@ -569,7 +571,6 @@ public class BunkerComponents { placeBlockAtCurrentPosition(world, Blocks.stone_button, 1, 7, 2, 9, box); //stalls w/ toilets for(int i = 1; i <= 5; i += 2) { - placeBlockAtCurrentPosition(world, ModBlocks.door_metal, 0, 5, 1, i, box); placeDoor(world, box, ModBlocks.door_metal, 0, false, rand.nextBoolean(), 5, 1, i); fillWithMetadataBlocks(world, box, 5, 1, i + 1, 5, 2, i + 1, ModBlocks.steel_corner, getDecoMeta(2)); fillWithMetadataBlocks(world, box, 6, 1, i + 1, 7, 2, i + 1, ModBlocks.steel_wall, getDecoMeta(2)); @@ -589,4 +590,129 @@ public class BunkerComponents { return box.minY > 10 && StructureComponent.findIntersecting(components, box) == null ? new BathroomL(type, box, coordMode) : null; } } + + public static class Laboratory extends Component implements ProceduralComponent { + + private boolean[] paths = new boolean[2]; + + public Laboratory() { } + + public Laboratory(int componentType, StructureBoundingBox box, int coordMode) { + super(componentType); + this.boundingBox = box; + this.coordBaseMode = coordMode; + } + + /** write to nbt */ + @Override + protected void func_143012_a(NBTTagCompound nbt) { + super.func_143012_a(nbt); + for(int i = 0; i < paths.length; i++) + nbt.setBoolean("p" + i, paths[i]); + } + + /** read from nbt */ + @Override + protected void func_143011_b(NBTTagCompound nbt) { + super.func_143011_b(nbt); + for(int i = 0; i < paths.length; i++) + paths[i] = nbt.getBoolean("p" + i); + } + + @Override + public void buildComponent(ProceduralStructureStart start, Random rand) { + paths[0] = this.getNextComponentWest(start, this, coordBaseMode, rand, 3, 1) != null; + paths[1] = this.getNextComponentNormal(start, this, coordBaseMode, rand, 6, 1) != null; + } + + @Override + public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { + + fillWithAir(world, box, 1, 1, 1, 7, 3, 11); + //floor + fillWithMetadataBlocks(world, box, 1, 0, 1, 7, 0, 11, ModBlocks.vinyl_tile, 1); + //ceiling + fillWithBlocks(world, box, 1, 4, 1, 7, 4, 11, ModBlocks.vinyl_tile); + //upper shield + fillWithBlocks(world, box, 0, 5, 0, 8, 5, 12, ModBlocks.reinforced_stone); + //walls + fillWithBlocks(world, box, 0, 0, 0, 0, 4, 12, ModBlocks.brick_concrete); + fillWithBlocks(world, box, 1, 0, 12, 7, 4, 12, ModBlocks.brick_concrete); + fillWithBlocks(world, box, 8, 0, 0, 8, 4, 12, ModBlocks.brick_concrete); + fillWithBlocks(world, box, 1, 0, 0, 7, 4, 0, ModBlocks.brick_concrete); + + /* DECO */ + //lamps + for(int x = 3; x <= 5; x += 2) { + for(int z = 3; z <= 9; z += 3) { + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, x, 5, z, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, x, 4, z, box); + } + } + //couch w/ table + final int stairMetaW = getStairMeta(0); + final int stairMetaE = getStairMeta(1); + final int stairMetaN = getStairMeta(2); + final int stairMetaS = getStairMeta(3); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaE, 1, 1, 1, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaS, 2, 1, 1, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaW, 3, 1, 1, box); + placeBlockAtCurrentPosition(world, Blocks.fence, 0, 4, 1, 1, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_pressure_plate, 0, 4, 2, 1, box); + //big ole wall machine + final int decoMetaE = getDecoMeta(4); + final int decoMetaW = getDecoMeta(5); + final int decoModelMetaW = getDecoModelMeta(2); + final int decoModelMetaE = getDecoModelMeta(3); + fillWithBlocks(world, box, 1, 1, 5, 1, 3, 5, ModBlocks.deco_tungsten); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 1, 1, 6, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, decoModelMetaE, 1, 2, 6, box); + placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, decoMetaW, 1, 3, 6, box); + fillWithMetadataBlocks(world, box, 1, 1, 7, 1, 3, 7, ModBlocks.tape_recorder, decoMetaW); + fillWithBlocks(world, box, 1, 1, 8, 1, 3, 8, ModBlocks.deco_tungsten); + fillWithMetadataBlocks(world, box, 1, 1, 9, 1, 1, 10, ModBlocks.tape_recorder, decoMetaW); + fillWithMetadataBlocks(world, box, 1, 2, 9, 1, 2, 10, ModBlocks.concrete_smooth_stairs, stairMetaE | 4); + fillWithMetadataBlocks(world, box, 1, 3, 9, 1, 3, 10, ModBlocks.tape_recorder, decoMetaW); + fillWithBlocks(world, box, 1, 1, 11, 1, 3, 11, ModBlocks.deco_tungsten); + //desks w/ computers + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(2), 3, 1, 4, HbmChestContents.antenna, 4); //wip + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, 3, 1, 5, box); + fillWithMetadataBlocks(world, box, 4, 1, 5, 4, 1, 7, ModBlocks.concrete_smooth_stairs, stairMetaW | 4); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaN, 3, 1, 7, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, 3, 1, 9, box); + fillWithMetadataBlocks(world, box, 4, 1, 9, 4, 1, 11, ModBlocks.concrete_smooth_stairs, 4); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaN, 3, 1, 11, box); + placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 3, 2, 5, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, decoModelMetaW, 4, 2, 6, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, decoModelMetaW, 4, 2, 10, box); + //lever wall machine + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaW | 4, 7, 1, 3, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_red_copper, 0, 7, 2, 3, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaW, 7, 3, 3, box); + placeBlockAtCurrentPosition(world, Blocks.lever, 2, 6, 2, 3, box); //TODO lever meta + fillWithMetadataBlocks(world, box, 7, 1, 4, 7, 2, 4, ModBlocks.steel_poles, decoMetaE); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 7, 3, 4, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_tungsten, 0, 7, 1, 5, box); + placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, decoMetaE, 7, 1, 6, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_tungsten, 0, 7, 1, 7, box); + fillWithMetadataBlocks(world, box, 7, 2, 5, 7, 2, 7, ModBlocks.concrete_smooth_stairs, stairMetaW | 4); + fillWithMetadataBlocks(world, box, 7, 3, 5, 7, 3, 7, ModBlocks.tape_recorder, decoMetaE); + //table w/ chest + placeBlockAtCurrentPosition(world, Blocks.fence, 0, 7, 1, 9, box); + placeBlockAtCurrentPosition(world, Blocks.wooden_pressure_plate, 0, 7, 2, 9, box); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 7, 1, 10, HbmChestContents.antenna, 4); //wip + //doors + placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 5, 1, 0); + placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 6, 1, 0); + if(paths[0]) fillWithAir(world, box, 0, 1, 2, 0, 2, 3); + if(paths[1]) fillWithAir(world, box, 5, 1, 12, 6, 2, 12); + + return true; + } + + public static StructureComponent findValidPlacement(List components, Random rand, int x, int y, int z, int coordMode, int type) { + StructureBoundingBox box = ProceduralStructureStart.getComponentToAddBoundingBox(x, y, z, -6, -1, 0, 9, 6, 12, coordMode); + return box.minY > 10 && StructureComponent.findIntersecting(components, box) == null ? new Laboratory(type, box, coordMode) : null; + } + } } 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 effd0c592..eb42dc9b7 100644 --- a/src/main/java/com/hbm/world/gen/component/Component.java +++ b/src/main/java/com/hbm/world/gen/component/Component.java @@ -261,13 +261,13 @@ abstract public class Component extends StructureComponent { if(!box.isVecInside(posX, posY, posZ)) return; switch(this.coordBaseMode) { - default: + default: //South break; - case 1: + case 1: //West dirMeta = (dirMeta + 1) % 4; break; - case 2: + case 2: //North dirMeta ^= 2; break; //Flip second bit - case 3: + case 3: //East dirMeta = (dirMeta - 1) % 4; break; } @@ -281,6 +281,16 @@ abstract public class Component extends StructureComponent { } } + protected void placeLever(World world, StructureBoundingBox box, int dirMeta, boolean on, int featureX, int featureY, int featureZ) { + int posX = this.getXWithOffset(featureX, featureZ); + int posY = this.getYWithOffset(featureY); + int posZ = this.getZWithOffset(featureX, featureZ); + + if(!box.isVecInside(posX, posY, posZ)) return; + + //levers suck ass + } + /**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; From de10c15ea6e9d546b2fc73c6d03cae9a9e214218 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 1 Jun 2023 16:19:33 +0200 Subject: [PATCH 135/285] more rail logic, straight standard gauge model --- src/main/java/com/hbm/blocks/ModBlocks.java | 4 + .../java/com/hbm/blocks/rail/IRailNTM.java | 20 +- .../com/hbm/blocks/rail/RailNarrowCurve.java | 2 +- .../hbm/blocks/rail/RailNarrowStraight.java | 2 +- .../hbm/blocks/rail/RailStandardBuffer.java | 57 ++ .../hbm/blocks/rail/RailStandardCurve.java | 2 +- .../hbm/blocks/rail/RailStandardStraight.java | 7 +- .../hbm/entity/train/EntityRailCarBase.java | 43 +- .../com/hbm/entity/train/TrainCargoTram.java | 4 +- .../entity/train/TrainCargoTramTrailer.java | 4 +- src/main/java/com/hbm/items/ModItems.java | 3 + .../java/com/hbm/items/special/ItemTrain.java | 8 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/CraftingManager.java | 1 + .../java/com/hbm/main/ResourceManager.java | 1 + .../block/RenderStandardStraightRail.java | 65 ++ src/main/resources/assets/hbm/lang/de_DE.lang | 1 + src/main/resources/assets/hbm/lang/en_US.lang | 1 + .../hbm/models/blocks/rail_standard.obj | 698 ++++++++++++++++++ .../hbm/textures/items/motor_bismuth.png | Bin 0 -> 537 bytes 20 files changed, 897 insertions(+), 27 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/rail/RailStandardBuffer.java create mode 100644 src/main/java/com/hbm/render/block/RenderStandardStraightRail.java create mode 100644 src/main/resources/assets/hbm/models/blocks/rail_standard.obj create mode 100644 src/main/resources/assets/hbm/textures/items/motor_bismuth.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index c006878ad..a4d55f383 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -13,6 +13,7 @@ import com.hbm.blocks.machine.rbmk.*; import com.hbm.blocks.network.*; import com.hbm.blocks.rail.RailNarrowCurve; import com.hbm.blocks.rail.RailNarrowStraight; +import com.hbm.blocks.rail.RailStandardBuffer; import com.hbm.blocks.rail.RailStandardCurve; import com.hbm.blocks.rail.RailStandardStraight; import com.hbm.blocks.siege.*; @@ -1100,6 +1101,7 @@ public class ModBlocks { public static Block rail_narrow_curve; public static Block rail_large_straight; public static Block rail_large_curve; + public static Block rail_large_buffer; public static Block statue_elb; public static Block statue_elb_g; @@ -2129,6 +2131,7 @@ public class ModBlocks { rail_narrow_curve = new RailNarrowCurve().setBlockName("rail_narrow_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).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 + ":block_steel"); rail_large_curve = new RailStandardCurve().setBlockName("rail_large_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":block_steel"); + rail_large_buffer = new RailStandardBuffer().setBlockName("rail_large_buffer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":block_steel"); 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"); @@ -3359,6 +3362,7 @@ public class ModBlocks { register(rail_narrow_curve); register(rail_large_straight); register(rail_large_curve); + register(rail_large_buffer); //Crate GameRegistry.registerBlock(crate, crate.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/rail/IRailNTM.java b/src/main/java/com/hbm/blocks/rail/IRailNTM.java index 4fd66886a..782dc15e6 100644 --- a/src/main/java/com/hbm/blocks/rail/IRailNTM.java +++ b/src/main/java/com/hbm/blocks/rail/IRailNTM.java @@ -19,7 +19,7 @@ public interface IRailNTM { * Motion ends up being *-1 if the train is going in reverse, still pointing forwards despite the speed being negative. * Also features a double[] wrapper with size 1 which holds the speed value that overshoots the rail. * */ - public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info); + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info, MoveContext context); /** Returns that rail's gauge. Trains will derail if the gauge does not match. */ public TrackGauge getGauge(World world, int x, int y, int z); @@ -41,4 +41,22 @@ public interface IRailNTM { public RailContext dist(double d) { this.overshoot = d; return this; } public RailContext pos(BlockPos d) { this.pos = d; return this; } } + + /** A wrapper for additional information like stopping on rails and what type of check we're doing */ + public static class MoveContext { + public RailCheckType type; + public boolean collision = false; //if a buffer stop or similar applies + public double overshoot; //how much of the travel distance was cut shor + + public MoveContext(RailCheckType type) { + this.type = type; + } + } + + public static enum RailCheckType { + CORE, + FRONT, + BACK, + OTHER + } } diff --git a/src/main/java/com/hbm/blocks/rail/RailNarrowCurve.java b/src/main/java/com/hbm/blocks/rail/RailNarrowCurve.java index 1fc4c01ae..ac317b65d 100644 --- a/src/main/java/com/hbm/blocks/rail/RailNarrowCurve.java +++ b/src/main/java/com/hbm/blocks/rail/RailNarrowCurve.java @@ -38,7 +38,7 @@ public class RailNarrowCurve extends BlockDummyable implements IRailNTM { } @Override - public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info, MoveContext context) { return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); } diff --git a/src/main/java/com/hbm/blocks/rail/RailNarrowStraight.java b/src/main/java/com/hbm/blocks/rail/RailNarrowStraight.java index 4d51dfe07..624087974 100644 --- a/src/main/java/com/hbm/blocks/rail/RailNarrowStraight.java +++ b/src/main/java/com/hbm/blocks/rail/RailNarrowStraight.java @@ -59,7 +59,7 @@ public class RailNarrowStraight extends BlockDummyable implements IRailNTM { } @Override - public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info, MoveContext context) { return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); } diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardBuffer.java b/src/main/java/com/hbm/blocks/rail/RailStandardBuffer.java new file mode 100644 index 000000000..52bee4310 --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/RailStandardBuffer.java @@ -0,0 +1,57 @@ +package com.hbm.blocks.rail; + +import com.hbm.blocks.BlockDummyable; + +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.Vec3; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; + +public class RailStandardBuffer extends BlockDummyable implements IRailNTM { + + public RailStandardBuffer() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return null; + } + + @Override + public int getRenderType() { + return 0; + } + + @Override + public int[] getDimensions() { + return new int[] {0, 0, 2, 2, 1, 0}; + } + + @Override + public int getOffset() { + return 2; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + } + + // TBI + @Override + public Vec3 getSnappingPos(World world, int x, int y, int z, double trainX, double trainY, double trainZ) { + return null; + } + + @Override + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info, MoveContext context) { + return null; + } + + @Override + public TrackGauge getGauge(World world, int x, int y, int z) { + return TrackGauge.STANDARD; + } +} diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java index 7028571ce..712b395bf 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java @@ -35,7 +35,7 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { } @Override - public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info, MoveContext context) { return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); } diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java index 903e01e1b..72c4be7b5 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java @@ -4,6 +4,7 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.lib.Library; import com.hbm.util.fauxpointtwelve.BlockPos; +import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; @@ -24,9 +25,11 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { return null; } + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + @Override public int getRenderType() { - return 0; + return renderID; } @Override @@ -56,7 +59,7 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { } @Override - public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info, MoveContext context) { return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index bfab8bcc1..885532850 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -7,6 +7,8 @@ import java.util.Set; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.rail.IRailNTM; +import com.hbm.blocks.rail.IRailNTM.MoveContext; +import com.hbm.blocks.rail.IRailNTM.RailCheckType; import com.hbm.blocks.rail.IRailNTM.RailContext; import com.hbm.blocks.rail.IRailNTM.TrackGauge; import com.hbm.items.ModItems; @@ -18,7 +20,6 @@ import net.minecraft.block.Block; 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.DamageSource; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; @@ -152,8 +153,8 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } BlockPos anchor = this.getCurentAnchorPos(); - Vec3 frontPos = getRelPosAlongRail(anchor, this.getLengthSpan()); - Vec3 backPos = getRelPosAlongRail(anchor, -this.getLengthSpan()); + Vec3 frontPos = getRelPosAlongRail(anchor, this.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); + Vec3 backPos = getRelPosAlongRail(anchor, -this.getLengthSpan(), new MoveContext(RailCheckType.BACK)); this.lastRenderX = this.renderX; this.lastRenderY = this.renderY; @@ -215,11 +216,11 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } } - public Vec3 getRelPosAlongRail(BlockPos anchor, double distanceToCover) { - return getRelPosAlongRail(anchor, distanceToCover, this.getGauge(), this.worldObj, Vec3.createVectorHelper(posX, posY, posZ), this.rotationYaw); + public Vec3 getRelPosAlongRail(BlockPos anchor, double distanceToCover, MoveContext context) { + return getRelPosAlongRail(anchor, distanceToCover, this.getGauge(), this.worldObj, Vec3.createVectorHelper(posX, posY, posZ), this.rotationYaw, context); } - public static Vec3 getRelPosAlongRail(BlockPos anchor, double distanceToCover, TrackGauge gauge, World worldObj, Vec3 next, float yaw) { + public static Vec3 getRelPosAlongRail(BlockPos anchor, double distanceToCover, TrackGauge gauge, World worldObj, Vec3 next, float yaw, MoveContext context) { if(distanceToCover < 0) { distanceToCover *= -1; @@ -248,7 +249,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { IRailNTM rail = (IRailNTM) block; if(it == 1) { - next = rail.getTravelLocation(worldObj, x, y, z, next.xCoord, next.yCoord, next.zCoord, rot.xCoord, rot.yCoord, rot.zCoord, 0, new RailContext()); + next = rail.getTravelLocation(worldObj, x, y, z, next.xCoord, next.yCoord, next.zCoord, rot.xCoord, rot.yCoord, rot.zCoord, 0, new RailContext(), context); } boolean flip = distanceToCover < 0; @@ -256,7 +257,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { if(rail.getGauge(worldObj, x, y, z) == gauge) { RailContext info = new RailContext(); Vec3 prev = next; - next = rail.getTravelLocation(worldObj, x, y, z, prev.xCoord, prev.yCoord, prev.zCoord, rot.xCoord, rot.yCoord, rot.zCoord, distanceToCover, info); + next = rail.getTravelLocation(worldObj, x, y, z, prev.xCoord, prev.yCoord, prev.zCoord, rot.xCoord, rot.yCoord, rot.zCoord, distanceToCover, info, context); distanceToCover = info.overshoot; anchor = info.pos; @@ -292,6 +293,18 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } } + //TODO: rethink this entire concept + /* + * first, figure out which train is the "front" when moving + * if the train is not in motion, reuse the contract ("combine") function we have now + * move the first wagon until either it finishes or bumps into a buffer + * if it derails, continue using the velocity + * then take the second wagon and move it towards the first wagon's collision point, assuming it didn't derail + * continue with all further wagons + * + * step 3 may also do collision checks for other trains, which is good because that's an issue we would have to solve sooner or later + */ + /* Move carts together with links */ for(LogicalTrainUnit ltu : ltus) ltu.combineWagons(); @@ -306,10 +319,12 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { public abstract TrackGauge getGauge(); /** Returns the length between the core and one of the bogies */ public abstract double getLengthSpan(); + /** Returns the length between the core and the collision points */ + public abstract double getCollisionSpan(); /** Returns a collision box, usually smaller than the entity's AABB for rendering, which is used for colliding trains */ - public AxisAlignedBB getCollisionBox() { + /*public AxisAlignedBB getCollisionBox() { return this.boundingBox; - } + }*/ /** Returns a collision box used for block collisions when derailed */ /*@Override public AxisAlignedBB getBoundingBox() { return this.boundingBox; @@ -555,7 +570,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { BlockPos anchor = new BlockPos(next.posX, next.posY, next.posZ); Vec3 trainPos = Vec3.createVectorHelper(next.posX, next.posY, next.posZ); float yaw = EntityRailCarBase.generateYaw(prevLoc, nextLoc); - Vec3 newPos = EntityRailCarBase.getRelPosAlongRail(anchor, len, next.getGauge(), next.worldObj, trainPos, yaw); + Vec3 newPos = EntityRailCarBase.getRelPosAlongRail(anchor, len, next.getGauge(), next.worldObj, trainPos, yaw, new MoveContext(RailCheckType.CORE)); next.setPosition(newPos.xCoord, newPos.yCoord, newPos.zCoord); } @@ -589,7 +604,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { for(EntityRailCarBase train : this.trains) { BlockPos anchor = train.getCurentAnchorPos(); - Vec3 corePos = train.getRelPosAlongRail(anchor, totalSpeed); + Vec3 corePos = train.getRelPosAlongRail(anchor, totalSpeed, new MoveContext(RailCheckType.CORE)); if(corePos == null) { train.derail(); @@ -598,8 +613,8 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } else { train.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); anchor = train.getCurentAnchorPos(); //reset origin to new position - Vec3 frontPos = train.getRelPosAlongRail(anchor, train.getLengthSpan()); - Vec3 backPos = train.getRelPosAlongRail(anchor, -train.getLengthSpan()); + Vec3 frontPos = train.getRelPosAlongRail(anchor, train.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); + Vec3 backPos = train.getRelPosAlongRail(anchor, -train.getLengthSpan(), new MoveContext(RailCheckType.BACK)); if(frontPos == null || backPos == null) { train.derail(); diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTram.java b/src/main/java/com/hbm/entity/train/TrainCargoTram.java index af8bbe587..3b64d7679 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTram.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTram.java @@ -18,7 +18,6 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; @@ -52,11 +51,12 @@ public class TrainCargoTram extends EntityRailCarElectric implements IGUIProvide @Override public TrackGauge getGauge() { return TrackGauge.STANDARD; } @Override public double getLengthSpan() { return 1.5; } + @Override public double getCollisionSpan() { return 2.5; } @Override public Vec3 getRiderSeatPosition() { return Vec3.createVectorHelper(0.375, 2.375, 0.5); } @Override public boolean shouldRiderSit() { return false; } @Override public int getSizeInventory() { return 29; } @Override public String getInventoryName() { return this.hasCustomInventoryName() ? this.getEntityName() : "container.trainTram"; } - @Override public AxisAlignedBB getCollisionBox() { return AxisAlignedBB.getBoundingBox(renderX, renderY, renderZ, renderX, renderY + 1, renderZ).expand(4, 0, 4); } + //@Override public AxisAlignedBB getCollisionBox() { return AxisAlignedBB.getBoundingBox(renderX, renderY, renderZ, renderX, renderY + 1, renderZ).expand(4, 0, 4); } @Override public double getCouplingDist(TrainCoupling coupling) { return coupling != null ? 2.75 : 0; } @Override public int getMaxPower() { return this.getPowerConsumption() * 100; } diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java b/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java index 05d465476..ffeea5245 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java @@ -19,7 +19,6 @@ import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; import net.minecraft.inventory.Slot; import net.minecraft.item.ItemStack; -import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.DamageSource; import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; @@ -46,9 +45,10 @@ public class TrainCargoTramTrailer extends EntityRailCarCargo implements IGUIPro @Override public double getMaxRailSpeed() { return 1; } @Override public TrackGauge getGauge() { return TrackGauge.STANDARD; } @Override public double getLengthSpan() { return 1.5; } + @Override public double getCollisionSpan() { return 2.5; } @Override public int getSizeInventory() { return 45; } @Override public String getInventoryName() { return this.hasCustomInventoryName() ? this.getEntityName() : "container.trainTramTrailer"; } - @Override public AxisAlignedBB getCollisionBox() { return AxisAlignedBB.getBoundingBox(renderX, renderY, renderZ, renderX, renderY + 1, renderZ).expand(4, 0, 4); } + //@Override public AxisAlignedBB getCollisionBox() { return AxisAlignedBB.getBoundingBox(renderX, renderY, renderZ, renderX, renderY + 1, renderZ).expand(4, 0, 4); } @Override public double getCouplingDist(TrainCoupling coupling) { return coupling != null ? 2.75 : 0; } @Override public double getCurrentSpeed() { return 0; } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 791bcf915..317ecb9e8 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -552,6 +552,7 @@ public class ModItems { 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 centrifuge_tower; public static Item reactor_core; @@ -2928,6 +2929,7 @@ public class ModItems { 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"); //centrifuge_tower = new Item().setUnlocalizedName("centrifuge_tower").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":centrifuge_tower"); reactor_core = new Item().setUnlocalizedName("reactor_core").setCreativeTab(MainRegistry.partsTab).setTextureName(RefStrings.MODID + ":reactor_core"); @@ -5985,6 +5987,7 @@ public class ModItems { 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()); diff --git a/src/main/java/com/hbm/items/special/ItemTrain.java b/src/main/java/com/hbm/items/special/ItemTrain.java index d8353bcd2..62695488a 100644 --- a/src/main/java/com/hbm/items/special/ItemTrain.java +++ b/src/main/java/com/hbm/items/special/ItemTrain.java @@ -3,6 +3,8 @@ package com.hbm.items.special; import java.util.List; import com.hbm.blocks.rail.IRailNTM; +import com.hbm.blocks.rail.IRailNTM.MoveContext; +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; @@ -78,10 +80,10 @@ public class ItemTrain extends ItemEnumMulti { train.setPosition(x + fx, y + fy, z + fz); BlockPos anchor = train.getCurentAnchorPos(); train.rotationYaw = entity.rotationYaw; - Vec3 corePos = train.getRelPosAlongRail(anchor, 0); + Vec3 corePos = train.getRelPosAlongRail(anchor, 0, new MoveContext(RailCheckType.CORE)); train.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); - Vec3 frontPos = train.getRelPosAlongRail(anchor, train.getLengthSpan()); - Vec3 backPos = train.getRelPosAlongRail(anchor, -train.getLengthSpan()); + Vec3 frontPos = train.getRelPosAlongRail(anchor, train.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); + Vec3 backPos = train.getRelPosAlongRail(anchor, -train.getLengthSpan(), new MoveContext(RailCheckType.BACK)); train.rotationYaw = train.generateYaw(frontPos, backPos); world.spawnEntityInWorld(train); } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index a757432e5..bd9794aed 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -786,6 +786,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderNarrowStraightRail()); RenderingRegistry.registerBlockHandler(new RenderNarrowCurveRail()); + RenderingRegistry.registerBlockHandler(new RenderStandardStraightRail()); RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_dynamite.getRenderType(), ResourceManager.charge_dynamite)); RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_c4.getRenderType(), ResourceManager.charge_c4)); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 1b8d0b48a..3fb520d1a 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -189,6 +189,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.motor, 2), new Object[] { " R ", "ICI", "ITI", 'R', ModItems.wire_red_copper, 'T', ModItems.coil_copper_torus, 'I', IRON.plate(), 'C', ModItems.coil_copper }); addRecipeAuto(new ItemStack(ModItems.motor, 2), new Object[] { " R ", "ICI", " T ", 'R', ModItems.wire_red_copper, 'T', ModItems.coil_copper_torus, 'I', STEEL.plate(), 'C', ModItems.coil_copper }); addRecipeAuto(new ItemStack(ModItems.motor_desh, 1), new Object[] { "PCP", "DMD", "PCP", 'P', ANY_PLASTIC.ingot(), 'C', ModItems.coil_gold_torus, 'D', DESH.ingot(), 'M', ModItems.motor }); + addRecipeAuto(new ItemStack(ModItems.motor_bismuth, 1), new Object[] { "BCB", "SBS", "BCB", 'B', BI.nugget(), 'C', ModBlocks.hadron_coil_alloy, 'S', STEEL.plateCast(), 'B', DURA.ingot() }); //addRecipeAuto(new ItemStack(ModItems.centrifuge_element, 1), new Object[] { " T ", "WTW", "RMR", 'R', ModItems.wire_red_copper, 'T', ModItems.tank_steel, 'M', ModItems.motor, 'W', ModItems.coil_tungsten }); //addRecipeAuto(new ItemStack(ModItems.centrifuge_tower, 1), new Object[] { "LL", "EE", "EE", 'E', ModItems.centrifuge_element, 'L', KEY_BLUE }); //addRecipeAuto(new ItemStack(ModItems.reactor_core, 1), new Object[] { "LNL", "N N", "LNL", 'N', getReflector(), 'L', PB.plate() }); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 30f1e2c2e..44716fec9 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1331,6 +1331,7 @@ public class ResourceManager { public static final IModelCustom splitter = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/splitter.obj")); public static final IModelCustom rail_narrow_straight = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_narrow.obj")); public static final IModelCustom rail_narrow_curve = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_narrow_bend.obj")); + public static final IModelCustom rail_standard_straight = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard.obj")); 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")); diff --git a/src/main/java/com/hbm/render/block/RenderStandardStraightRail.java b/src/main/java/com/hbm/render/block/RenderStandardStraightRail.java new file mode 100644 index 000000000..1343795ca --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderStandardStraightRail.java @@ -0,0 +1,65 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.rail.RailStandardStraight; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +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; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderStandardStraightRail implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + + GL11.glTranslated(0, -0.0625, 0); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_straight, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + int meta = world.getBlockMetadata(x, y, z); + if(meta < 12) return true; + + Tessellator tessellator = Tessellator.instance; + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + float rotation = 0; + + if(meta == 12) rotation = 90F / 180F * (float) Math.PI; + if(meta == 14) rotation = 180F / 180F * (float) Math.PI; + if(meta == 13) rotation = 270F / 180F * (float) Math.PI; + + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_straight, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return RailStandardStraight.renderID; + } +} diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index f17622a7a..7a5a8049b 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -2242,6 +2242,7 @@ item.mold_base.name=Blanke Gussform item.mold.name=Gussform item.morning_glory.name=Zaunwinde item.motor.name=Motor +item.motor_bismuth.name=Bismuth-Motor item.motor_desh.name=Desh-Motor item.mp_c_1.name=Stufe 1 Zielsucher-Schaltkreis item.mp_c_2.name=Stufe 2 Zielsucher-Schaltkreis diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 5091ddb4b..94cfb0809 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -2913,6 +2913,7 @@ item.mold_base.name=Blank Foundry Mold item.mold.name=Foundry Mold item.morning_glory.name=Morning Glory item.motor.name=Motor +item.motor_bismuth.name=Bismuth Motor item.motor_desh.name=Desh Motor item.mp_c_1.name=Tier 1 Missile Targeting Circuit item.mp_c_2.name=Tier 2 Missile Targeting Circuit diff --git a/src/main/resources/assets/hbm/models/blocks/rail_standard.obj b/src/main/resources/assets/hbm/models/blocks/rail_standard.obj new file mode 100644 index 000000000..292011e56 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/rail_standard.obj @@ -0,0 +1,698 @@ +# Blender v2.79 (sub 0) OBJ File: 'rail_standard.blend' +# www.blender.org +o Plane +v 0.750000 0.062500 2.500000 +v 0.750000 0.062500 -2.500000 +v -0.750000 0.062500 2.500000 +v -0.750000 0.062500 -2.500000 +v 0.750000 0.187500 2.500000 +v 0.750000 0.187500 -2.500000 +v -0.750000 0.187500 2.500000 +v -0.750000 0.187500 -2.500000 +v 0.812500 0.062500 2.500000 +v 0.812500 0.062500 -2.500000 +v 0.812500 0.187500 2.500000 +v 0.812500 0.187500 -2.500000 +v -0.812500 0.062500 2.500000 +v -0.812500 0.062500 -2.500000 +v -0.812500 0.187500 2.500000 +v -0.812500 0.187500 -2.500000 +v -1.000000 0.000000 -0.250000 +v 1.000000 0.000000 -0.250000 +v -1.000000 0.000000 0.250000 +v 1.000000 0.000000 0.250000 +v 1.000000 0.062500 -0.250000 +v -1.000000 0.062500 -0.250000 +v 1.000000 0.062500 0.250000 +v -1.000000 0.062500 0.250000 +v -1.000000 0.000000 2.250000 +v 1.000000 0.000000 2.250000 +v -1.000000 0.000000 2.500000 +v 1.000000 0.000000 2.500000 +v 1.000000 0.062500 2.250000 +v -1.000000 0.062500 2.250000 +v 1.000000 0.062500 2.500000 +v -1.000000 0.062500 2.500000 +v -1.000000 0.000000 1.000000 +v 1.000000 0.000000 1.000000 +v -1.000000 0.000000 1.500000 +v 1.000000 0.000000 1.500000 +v 1.000000 0.062500 1.000000 +v -1.000000 0.062500 1.000000 +v 1.000000 0.062500 1.500000 +v -1.000000 0.062500 1.500000 +v -1.000000 0.000000 -2.500000 +v 1.000000 0.000000 -2.500000 +v -1.000000 0.000000 -2.250000 +v 1.000000 0.000000 -2.250000 +v 1.000000 0.062500 -2.500000 +v -1.000000 0.062500 -2.500000 +v 1.000000 0.062500 -2.250000 +v -1.000000 0.062500 -2.250000 +v -1.000000 0.000000 -1.500000 +v 1.000000 0.000000 -1.500000 +v -1.000000 0.000000 -1.000000 +v 1.000000 0.000000 -1.000000 +v 1.000000 0.062500 -1.500000 +v -1.000000 0.062500 -1.500000 +v 1.000000 0.062500 -1.000000 +v -1.000000 0.062500 -1.000000 +v 0.625000 0.062500 0.062500 +v 0.937500 0.062500 0.062500 +v 0.625000 0.062500 -0.062500 +v 0.937500 0.062500 -0.062500 +v 0.625000 0.125000 -0.062500 +v 0.625000 0.125000 0.062500 +v 0.937500 0.125000 0.062500 +v 0.937500 0.125000 -0.062500 +v -0.937500 0.062500 0.062500 +v -0.625000 0.062500 0.062500 +v -0.937500 0.062500 -0.062500 +v -0.625000 0.062500 -0.062500 +v -0.937500 0.125000 -0.062500 +v -0.937500 0.125000 0.062500 +v -0.625000 0.125000 0.062500 +v -0.625000 0.125000 -0.062500 +v 0.625000 0.062500 -1.187500 +v 0.937500 0.062500 -1.187500 +v 0.625000 0.062500 -1.312500 +v 0.937500 0.062500 -1.312500 +v 0.625000 0.125000 -1.312500 +v 0.625000 0.125000 -1.187500 +v 0.937500 0.125000 -1.187500 +v 0.937500 0.125000 -1.312500 +v -0.937500 0.062500 -1.187500 +v -0.625000 0.062500 -1.187500 +v -0.937500 0.062500 -1.312500 +v -0.625000 0.062500 -1.312500 +v -0.937500 0.125000 -1.312500 +v -0.937500 0.125000 -1.187500 +v -0.625000 0.125000 -1.187500 +v -0.625000 0.125000 -1.312500 +v 0.625000 0.062500 2.500000 +v 0.937500 0.062500 2.500000 +v 0.625000 0.062500 2.437500 +v 0.937500 0.062500 2.437500 +v 0.625000 0.125000 2.437500 +v 0.625000 0.125000 2.500000 +v 0.937500 0.125000 2.500000 +v 0.937500 0.125000 2.437500 +v -0.937500 0.062500 2.500000 +v -0.625000 0.062500 2.500000 +v -0.937500 0.062500 2.437500 +v -0.625000 0.062500 2.437500 +v -0.937500 0.125000 2.437500 +v -0.937500 0.125000 2.500000 +v -0.625000 0.125000 2.500000 +v -0.625000 0.125000 2.437500 +v 0.625000 0.062500 1.312500 +v 0.937500 0.062500 1.312500 +v 0.625000 0.062500 1.187500 +v 0.937500 0.062500 1.187500 +v 0.625000 0.125000 1.187500 +v 0.625000 0.125000 1.312500 +v 0.937500 0.125000 1.312500 +v 0.937500 0.125000 1.187500 +v -0.937500 0.062500 1.312500 +v -0.625000 0.062500 1.312500 +v -0.937500 0.062500 1.187500 +v -0.625000 0.062500 1.187500 +v -0.937500 0.125000 1.187500 +v -0.937500 0.125000 1.312500 +v -0.625000 0.125000 1.312500 +v -0.625000 0.125000 1.187500 +v 0.625000 0.062500 -2.437500 +v 0.937500 0.062500 -2.437500 +v 0.625000 0.062500 -2.500000 +v 0.937500 0.062500 -2.500000 +v 0.625000 0.125000 -2.500000 +v 0.625000 0.125000 -2.437500 +v 0.937500 0.125000 -2.437500 +v 0.937500 0.125000 -2.500000 +v -0.937500 0.062500 -2.437500 +v -0.625000 0.062500 -2.437500 +v -0.937500 0.062500 -2.500000 +v -0.625000 0.062500 -2.500000 +v -0.937500 0.125000 -2.500000 +v -0.937500 0.125000 -2.437500 +v -0.625000 0.125000 -2.437500 +v -0.625000 0.125000 -2.500000 +vt 0.750000 1.000000 +vt 0.781249 0.000000 +vt 0.781250 1.000000 +vt 0.875000 1.000000 +vt 0.843750 0.000000 +vt 0.875000 0.000000 +vt 0.781250 1.000000 +vt 0.812499 0.000000 +vt 0.812500 1.000000 +vt 0.468750 0.550000 +vt 0.453125 0.575000 +vt 0.453125 0.550000 +vt 0.968750 0.000000 +vt 0.953125 1.000000 +vt 0.953125 0.000000 +vt 1.000000 0.000000 +vt 0.984375 1.000000 +vt 0.984375 0.000000 +vt 0.531250 0.575000 +vt 0.546875 0.550000 +vt 0.546875 0.575000 +vt 0.843750 1.000000 +vt 0.812500 0.000000 +vt 0.843750 0.000000 +vt 0.656249 0.550000 +vt 0.640624 0.525000 +vt 0.656249 0.525000 +vt 0.656249 0.550000 +vt 0.671874 0.575000 +vt 0.656249 0.575000 +vt 0.953125 1.000000 +vt 0.937500 0.000000 +vt 0.953125 0.000000 +vt 0.984375 1.000000 +vt 0.968750 0.000000 +vt 0.984375 0.000000 +vt 0.375000 0.000000 +vt 0.499999 0.400000 +vt 0.375000 0.400000 +vt 0.250000 0.400000 +vt 0.375000 0.000000 +vt 0.375000 0.400000 +vt 0.593749 0.500000 +vt 0.609374 0.400000 +vt 0.609374 0.500000 +vt 0.359375 0.800000 +vt 0.375000 0.400000 +vt 0.375000 0.800000 +vt 0.562499 0.500000 +vt 0.578124 0.400000 +vt 0.578124 0.500000 +vt 0.312500 0.400000 +vt 0.296875 0.800000 +vt 0.296875 0.400000 +vt 0.187500 0.800000 +vt 0.125000 0.400000 +vt 0.187500 0.400000 +vt 0.062500 0.400000 +vt 0.000000 0.800000 +vt 0.000000 0.400000 +vt 0.406250 0.575000 +vt 0.421875 0.525000 +vt 0.421875 0.575000 +vt 0.390625 0.400000 +vt 0.375000 0.800000 +vt 0.375000 0.400000 +vt 0.421875 0.575000 +vt 0.437500 0.525000 +vt 0.437500 0.575000 +vt 0.218750 0.400000 +vt 0.203125 0.800000 +vt 0.203125 0.400000 +vt 0.125000 0.000000 +vt 0.250000 0.400000 +vt 0.125000 0.400000 +vt 0.624999 0.000000 +vt 0.500000 0.400000 +vt 0.499999 0.000000 +vt 0.609374 0.500000 +vt 0.624999 0.400000 +vt 0.624999 0.500000 +vt 0.250000 0.800000 +vt 0.265625 0.400000 +vt 0.265625 0.800000 +vt 0.578124 0.500000 +vt 0.593749 0.400000 +vt 0.593749 0.500000 +vt 0.281250 0.400000 +vt 0.265625 0.800000 +vt 0.265625 0.400000 +vt 0.125000 0.800000 +vt 0.062500 0.400000 +vt 0.125000 0.400000 +vt 0.937500 0.000000 +vt 0.875000 0.400000 +vt 0.875000 0.000000 +vt 0.390625 0.575000 +vt 0.406250 0.525000 +vt 0.406250 0.575000 +vt 0.203125 0.400000 +vt 0.187500 0.800000 +vt 0.187500 0.400000 +vt 0.437500 0.575000 +vt 0.453125 0.525000 +vt 0.453125 0.575000 +vt 0.359374 0.400000 +vt 0.343750 0.800000 +vt 0.343749 0.400000 +vt 0.749999 0.400000 +vt 0.624999 0.000000 +vt 0.749999 0.000000 +vt 0.000000 0.400000 +vt 0.125000 0.000000 +vt 0.125000 0.400000 +vt 0.624999 0.500000 +vt 0.640624 0.400000 +vt 0.640624 0.500000 +vt 0.250000 0.400000 +vt 0.234375 0.800000 +vt 0.234375 0.400000 +vt 0.312500 0.500000 +vt 0.328125 0.400000 +vt 0.328125 0.500000 +vt 0.296875 0.400000 +vt 0.281250 0.800000 +vt 0.281250 0.400000 +vt 0.453125 0.462500 +vt 0.484375 0.525000 +vt 0.453125 0.525000 +vt 0.468750 0.550000 +vt 0.453125 0.525000 +vt 0.468750 0.525000 +vt 0.703124 0.550000 +vt 0.687499 0.525000 +vt 0.703124 0.525000 +vt 0.531249 0.462500 +vt 0.515625 0.400000 +vt 0.531249 0.400000 +vt 0.640624 0.400000 +vt 0.656249 0.462500 +vt 0.640624 0.462500 +vt 0.421875 0.462500 +vt 0.453125 0.525000 +vt 0.421875 0.525000 +vt 0.687499 0.550000 +vt 0.671874 0.525000 +vt 0.687499 0.525000 +vt 0.484375 0.550000 +vt 0.468750 0.525000 +vt 0.484375 0.525000 +vt 0.515625 0.525000 +vt 0.500000 0.462500 +vt 0.515625 0.462500 +vt 0.546874 0.400000 +vt 0.562499 0.462500 +vt 0.546874 0.462500 +vt 0.421875 0.525000 +vt 0.390625 0.462500 +vt 0.421875 0.462500 +vt 0.484375 0.575000 +vt 0.468750 0.550000 +vt 0.484375 0.550000 +vt 0.531250 0.575000 +vt 0.515625 0.550000 +vt 0.531250 0.550000 +vt 0.656249 0.400000 +vt 0.671874 0.462500 +vt 0.656249 0.462500 +vt 0.531249 0.462500 +vt 0.546874 0.525000 +vt 0.531249 0.525000 +vt 0.484375 0.462500 +vt 0.453125 0.400000 +vt 0.484375 0.400000 +vt 0.671874 0.550000 +vt 0.656249 0.525000 +vt 0.671874 0.525000 +vt 0.546874 0.550000 +vt 0.531249 0.525000 +vt 0.546874 0.525000 +vt 0.593749 0.500000 +vt 0.609374 0.562500 +vt 0.593749 0.562500 +vt 0.546874 0.462500 +vt 0.562499 0.525000 +vt 0.546874 0.525000 +vt 0.624999 0.562500 +vt 0.609374 0.500000 +vt 0.624999 0.500000 +vt 0.578124 0.575000 +vt 0.562499 0.562500 +vt 0.578124 0.562500 +vt 0.624999 0.575000 +vt 0.609374 0.562500 +vt 0.624999 0.562500 +vt 0.531249 0.400000 +vt 0.546874 0.462500 +vt 0.531249 0.462500 +vt 0.703124 0.400000 +vt 0.718749 0.462500 +vt 0.703124 0.462500 +vt 0.640624 0.562500 +vt 0.624999 0.500000 +vt 0.640624 0.500000 +vt 0.328125 0.575000 +vt 0.312500 0.562500 +vt 0.328125 0.562500 +vt 0.656249 0.562500 +vt 0.640624 0.550000 +vt 0.656249 0.550000 +vt 0.671874 0.400000 +vt 0.687499 0.462500 +vt 0.671874 0.462500 +vt 0.687499 0.462500 +vt 0.703124 0.525000 +vt 0.687499 0.525000 +vt 0.453125 0.462500 +vt 0.421875 0.400000 +vt 0.453125 0.400000 +vt 0.500000 0.575000 +vt 0.484375 0.550000 +vt 0.500000 0.550000 +vt 0.515625 0.575000 +vt 0.500000 0.550000 +vt 0.515625 0.550000 +vt 0.640624 0.462500 +vt 0.656249 0.525000 +vt 0.640624 0.525000 +vt 0.312500 0.500000 +vt 0.328125 0.562500 +vt 0.312500 0.562500 +vt 0.421875 0.462500 +vt 0.390625 0.400000 +vt 0.421875 0.400000 +vt 0.687499 0.575000 +vt 0.671874 0.550000 +vt 0.687499 0.550000 +vt 0.515625 0.550000 +vt 0.500000 0.525000 +vt 0.515625 0.525000 +vt 0.656249 0.462500 +vt 0.671874 0.525000 +vt 0.656249 0.525000 +vt 0.671874 0.462500 +vt 0.687499 0.525000 +vt 0.671874 0.525000 +vt 0.578124 0.562500 +vt 0.562499 0.500000 +vt 0.578124 0.500000 +vt 0.609374 0.575000 +vt 0.593749 0.562500 +vt 0.609374 0.562500 +vt 0.640624 0.575000 +vt 0.624999 0.562500 +vt 0.640624 0.562500 +vt 0.703124 0.462500 +vt 0.718749 0.525000 +vt 0.703124 0.525000 +vt 0.515625 0.462500 +vt 0.531249 0.525000 +vt 0.515625 0.525000 +vt 0.593749 0.562500 +vt 0.578124 0.500000 +vt 0.593749 0.500000 +vt 0.593749 0.575000 +vt 0.578124 0.562500 +vt 0.593749 0.562500 +vt 0.703124 0.562500 +vt 0.687499 0.550000 +vt 0.703124 0.550000 +vt 0.687499 0.400000 +vt 0.703124 0.462500 +vt 0.687499 0.462500 +vt 0.500000 0.400000 +vt 0.515625 0.462500 +vt 0.500000 0.462500 +vt 0.749999 0.000000 +vt 0.843750 1.000000 +vt 0.781250 0.000000 +vt 0.468750 0.575000 +vt 0.968750 1.000000 +vt 1.000000 1.000000 +vt 0.531250 0.550000 +vt 0.812500 1.000000 +vt 0.640624 0.550000 +vt 0.671874 0.550000 +vt 0.937500 1.000000 +vt 0.968750 1.000000 +vt 0.499999 0.000000 +vt 0.250000 0.000000 +vt 0.593749 0.400000 +vt 0.359375 0.400000 +vt 0.562499 0.400000 +vt 0.312500 0.800000 +vt 0.125000 0.800000 +vt 0.062500 0.800000 +vt 0.406250 0.525000 +vt 0.390625 0.800000 +vt 0.421875 0.525000 +vt 0.218750 0.800000 +vt 0.250000 0.000000 +vt 0.624999 0.400000 +vt 0.609374 0.400000 +vt 0.250000 0.400000 +vt 0.578124 0.400000 +vt 0.281250 0.800000 +vt 0.062500 0.800000 +vt 0.937500 0.400000 +vt 0.390625 0.525000 +vt 0.203125 0.800000 +vt 0.437500 0.525000 +vt 0.359375 0.800000 +vt 0.624999 0.400000 +vt 0.000000 0.000000 +vt 0.624999 0.400000 +vt 0.250000 0.800000 +vt 0.312500 0.400000 +vt 0.296875 0.800000 +vt 0.484375 0.462500 +vt 0.453125 0.550000 +vt 0.687499 0.550000 +vt 0.515625 0.462500 +vt 0.656249 0.400000 +vt 0.453125 0.462500 +vt 0.671874 0.550000 +vt 0.468750 0.550000 +vt 0.500000 0.525000 +vt 0.562499 0.400000 +vt 0.390625 0.525000 +vt 0.468750 0.575000 +vt 0.515625 0.575000 +vt 0.671874 0.400000 +vt 0.546874 0.462500 +vt 0.453125 0.462500 +vt 0.656249 0.550000 +vt 0.531249 0.550000 +vt 0.609374 0.500000 +vt 0.562499 0.462500 +vt 0.609374 0.562500 +vt 0.562499 0.575000 +vt 0.609374 0.575000 +vt 0.546874 0.400000 +vt 0.718749 0.400000 +vt 0.624999 0.562500 +vt 0.312500 0.575000 +vt 0.640624 0.562500 +vt 0.687499 0.400000 +vt 0.703124 0.462500 +vt 0.421875 0.462500 +vt 0.484375 0.575000 +vt 0.500000 0.575000 +vt 0.656249 0.462500 +vt 0.328125 0.500000 +vt 0.390625 0.462500 +vt 0.671874 0.575000 +vt 0.500000 0.550000 +vt 0.671874 0.462500 +vt 0.687499 0.462500 +vt 0.562499 0.562500 +vt 0.593749 0.575000 +vt 0.624999 0.575000 +vt 0.718749 0.462500 +vt 0.531249 0.462500 +vt 0.578124 0.562500 +vt 0.578124 0.575000 +vt 0.687499 0.562500 +vt 0.703124 0.400000 +vt 0.515625 0.400000 +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 off +f 8/1/1 3/2/1 4/3/1 +f 1/4/2 6/5/2 2/6/2 +f 12/7/1 9/8/1 10/9/1 +f 12/10/3 2/11/3 6/12/3 +f 11/13/4 6/14/4 5/15/4 +f 10/16/5 1/17/5 2/18/5 +f 9/19/6 5/20/6 1/21/6 +f 13/22/2 16/23/2 14/24/2 +f 4/25/3 16/26/3 8/27/3 +f 7/28/6 13/29/6 3/30/6 +f 8/31/4 15/32/4 7/33/4 +f 3/34/5 14/35/5 4/36/5 +f 18/37/5 19/38/5 17/39/5 +f 24/40/4 21/41/4 22/42/4 +f 24/43/2 17/44/2 19/45/2 +f 22/46/3 18/47/3 17/48/3 +f 21/49/1 20/50/1 18/51/1 +f 23/52/6 19/53/6 20/54/6 +f 26/55/5 27/56/5 25/57/5 +f 32/58/4 29/59/4 30/60/4 +f 32/61/2 25/62/2 27/63/2 +f 30/64/3 26/65/3 25/66/3 +f 29/67/1 28/68/1 26/69/1 +f 31/70/6 27/71/6 28/72/6 +f 34/73/5 35/74/5 33/75/5 +f 40/76/4 37/77/4 38/78/4 +f 40/79/2 33/80/2 35/81/2 +f 38/82/3 34/83/3 33/84/3 +f 37/85/1 36/86/1 34/87/1 +f 39/88/6 35/89/6 36/90/6 +f 42/91/5 43/92/5 41/93/5 +f 48/94/4 45/95/4 46/96/4 +f 48/97/2 41/98/2 43/99/2 +f 46/100/3 42/101/3 41/102/3 +f 45/103/1 44/104/1 42/105/1 +f 47/106/6 43/107/6 44/108/6 +f 50/109/5 51/110/5 49/111/5 +f 56/112/4 53/113/4 54/114/4 +f 56/115/2 49/116/2 51/117/2 +f 54/118/3 50/119/3 49/120/3 +f 53/121/1 52/122/1 50/123/1 +f 55/124/6 51/125/6 52/126/6 +f 63/127/4 61/128/4 62/129/4 +f 60/130/1 63/131/1 58/132/1 +f 57/133/2 61/134/2 59/135/2 +f 59/136/3 64/137/3 60/138/3 +f 58/139/6 62/140/6 57/141/6 +f 71/142/4 69/143/4 70/144/4 +f 68/145/1 71/146/1 66/147/1 +f 65/148/2 69/149/2 67/150/2 +f 67/151/3 72/152/3 68/153/3 +f 66/154/6 70/155/6 65/156/6 +f 79/157/4 77/158/4 78/159/4 +f 76/160/1 79/161/1 74/162/1 +f 73/163/2 77/164/2 75/165/2 +f 75/166/3 80/167/3 76/168/3 +f 74/169/6 78/170/6 73/171/6 +f 87/172/4 85/173/4 86/174/4 +f 84/175/1 87/176/1 82/177/1 +f 81/178/2 85/179/2 83/180/2 +f 83/181/3 88/182/3 84/183/3 +f 82/184/6 86/185/6 81/186/6 +f 95/187/4 93/188/4 94/189/4 +f 92/190/1 95/191/1 90/192/1 +f 89/193/2 93/194/2 91/195/2 +f 91/196/3 96/197/3 92/198/3 +f 90/199/6 94/200/6 89/201/6 +f 103/202/4 101/203/4 102/204/4 +f 100/205/1 103/206/1 98/207/1 +f 97/208/2 101/209/2 99/210/2 +f 99/211/3 104/212/3 100/213/3 +f 98/214/6 102/215/6 97/216/6 +f 111/217/4 109/218/4 110/219/4 +f 108/220/1 111/221/1 106/222/1 +f 105/223/2 109/224/2 107/225/2 +f 107/226/3 112/227/3 108/228/3 +f 106/229/6 110/230/6 105/231/6 +f 119/232/4 117/233/4 118/234/4 +f 116/235/1 119/236/1 114/237/1 +f 113/238/2 117/239/2 115/240/2 +f 115/241/3 120/242/3 116/243/3 +f 114/244/6 118/245/6 113/246/6 +f 127/247/4 125/248/4 126/249/4 +f 124/250/1 127/251/1 122/252/1 +f 121/253/2 125/254/2 123/255/2 +f 123/256/3 128/257/3 124/258/3 +f 122/259/6 126/260/6 121/261/6 +f 135/262/4 133/263/4 134/264/4 +f 132/265/1 135/266/1 130/267/1 +f 129/268/2 133/269/2 131/270/2 +f 131/271/3 136/272/3 132/273/3 +f 130/274/6 134/275/6 129/276/6 +f 8/1/1 7/277/1 3/2/1 +f 1/4/2 5/278/2 6/5/2 +f 12/7/1 11/279/1 9/8/1 +f 12/10/3 10/280/3 2/11/3 +f 11/13/4 12/281/4 6/14/4 +f 10/16/5 9/282/5 1/17/5 +f 9/19/6 11/283/6 5/20/6 +f 13/22/2 15/284/2 16/23/2 +f 4/25/3 14/285/3 16/26/3 +f 7/28/6 15/286/6 13/29/6 +f 8/31/4 16/287/4 15/32/4 +f 3/34/5 13/288/5 14/35/5 +f 18/37/5 20/289/5 19/38/5 +f 24/40/4 23/290/4 21/41/4 +f 24/43/2 22/291/2 17/44/2 +f 22/46/3 21/292/3 18/47/3 +f 21/49/1 23/293/1 20/50/1 +f 23/52/6 24/294/6 19/53/6 +f 26/55/5 28/295/5 27/56/5 +f 32/58/4 31/296/4 29/59/4 +f 32/61/2 30/297/2 25/62/2 +f 30/64/3 29/298/3 26/65/3 +f 29/67/1 31/299/1 28/68/1 +f 31/70/6 32/300/6 27/71/6 +f 34/73/5 36/301/5 35/74/5 +f 40/76/4 39/302/4 37/77/4 +f 40/79/2 38/303/2 33/80/2 +f 38/82/3 37/304/3 34/83/3 +f 37/85/1 39/305/1 36/86/1 +f 39/88/6 40/306/6 35/89/6 +f 42/91/5 44/307/5 43/92/5 +f 48/94/4 47/308/4 45/95/4 +f 48/97/2 46/309/2 41/98/2 +f 46/100/3 45/310/3 42/101/3 +f 45/103/1 47/311/1 44/104/1 +f 47/106/6 48/312/6 43/107/6 +f 50/109/5 52/313/5 51/110/5 +f 56/112/4 55/314/4 53/113/4 +f 56/115/2 54/315/2 49/116/2 +f 54/118/3 53/316/3 50/119/3 +f 53/121/1 55/317/1 52/122/1 +f 55/124/6 56/318/6 51/125/6 +f 63/127/4 64/319/4 61/128/4 +f 60/130/1 64/320/1 63/131/1 +f 57/133/2 62/321/2 61/134/2 +f 59/136/3 61/322/3 64/137/3 +f 58/139/6 63/323/6 62/140/6 +f 71/142/4 72/324/4 69/143/4 +f 68/145/1 72/325/1 71/146/1 +f 65/148/2 70/326/2 69/149/2 +f 67/151/3 69/327/3 72/152/3 +f 66/154/6 71/328/6 70/155/6 +f 79/157/4 80/329/4 77/158/4 +f 76/160/1 80/330/1 79/161/1 +f 73/163/2 78/331/2 77/164/2 +f 75/166/3 77/332/3 80/167/3 +f 74/169/6 79/333/6 78/170/6 +f 87/172/4 88/334/4 85/173/4 +f 84/175/1 88/335/1 87/176/1 +f 81/178/2 86/336/2 85/179/2 +f 83/181/3 85/337/3 88/182/3 +f 82/184/6 87/338/6 86/185/6 +f 95/187/4 96/339/4 93/188/4 +f 92/190/1 96/340/1 95/191/1 +f 89/193/2 94/341/2 93/194/2 +f 91/196/3 93/342/3 96/197/3 +f 90/199/6 95/343/6 94/200/6 +f 103/202/4 104/344/4 101/203/4 +f 100/205/1 104/345/1 103/206/1 +f 97/208/2 102/346/2 101/209/2 +f 99/211/3 101/347/3 104/212/3 +f 98/214/6 103/348/6 102/215/6 +f 111/217/4 112/349/4 109/218/4 +f 108/220/1 112/350/1 111/221/1 +f 105/223/2 110/351/2 109/224/2 +f 107/226/3 109/352/3 112/227/3 +f 106/229/6 111/353/6 110/230/6 +f 119/232/4 120/354/4 117/233/4 +f 116/235/1 120/355/1 119/236/1 +f 113/238/2 118/356/2 117/239/2 +f 115/241/3 117/357/3 120/242/3 +f 114/244/6 119/358/6 118/245/6 +f 127/247/4 128/359/4 125/248/4 +f 124/250/1 128/360/1 127/251/1 +f 121/253/2 126/361/2 125/254/2 +f 123/256/3 125/362/3 128/257/3 +f 122/259/6 127/363/6 126/260/6 +f 135/262/4 136/364/4 133/263/4 +f 132/265/1 136/365/1 135/266/1 +f 129/268/2 134/366/2 133/269/2 +f 131/271/3 133/367/3 136/272/3 +f 130/274/6 135/368/6 134/275/6 diff --git a/src/main/resources/assets/hbm/textures/items/motor_bismuth.png b/src/main/resources/assets/hbm/textures/items/motor_bismuth.png new file mode 100644 index 0000000000000000000000000000000000000000..404e935e17f208634e405b4c06717643da7a8580 GIT binary patch literal 537 zcmV+!0_OdRP)a*+z8^t1>=X=>i95)a*=_{ zmkxy}jmg-gamF&Fbq!qsMx1gt}=;f7D07 zeFmsfDWm~V$A_^wY&>QMbjl-RBuWxwfU5 zYCDuPjkVRaKedM*2*BOgsC@bKm6*DBO>WyQxcd6|WSr*1dYR1pTuX0L1@BMDKy>oR b|I$)>=+~{*{fM#V00000NkvXXu0mjfgXad_ literal 0 HcmV?d00001 From b9d159bffe86b3814a2f2c734846d44bc6f91030 Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 1 Jun 2023 19:07:21 +0200 Subject: [PATCH 136/285] chlorocalcite --- changelog | 2 ++ src/main/java/com/hbm/config/WorldConfig.java | 2 ++ .../com/hbm/inventory/OreDictManager.java | 2 ++ .../inventory/recipes/CombinationRecipes.java | 3 ++- src/main/java/com/hbm/items/ModItems.java | 3 +++ .../com/hbm/items/special/ItemBedrockOre.java | 23 +++++++++--------- .../block/RenderStandardStraightRail.java | 14 ++++++++--- .../com/hbm/world/feature/BedrockOre.java | 1 + src/main/resources/assets/hbm/lang/de_DE.lang | 2 ++ src/main/resources/assets/hbm/lang/en_US.lang | 2 ++ .../textures/items/powder_chlorocalcite.png | Bin 0 -> 482 bytes 11 files changed, 39 insertions(+), 15 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/items/powder_chlorocalcite.png diff --git a/changelog b/changelog index 68bff38a5..5dade27bb 100644 --- a/changelog +++ b/changelog @@ -1,6 +1,8 @@ ## Added * Laminate glass * A new variant of reinforced glass with higher blast resistance +* Chlorocalcite + * A new bedrock ore, the powder can be heated in the combination furnace to make calcium and chlorine ## Changed * Updated russian localization diff --git a/src/main/java/com/hbm/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index 62d951918..faedff279 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -36,6 +36,7 @@ public class WorldConfig { public static int bedrockIronSpawn = 100; public static int bedrockCopperSpawn = 200; public static int bedrockBoraxSpawn = 50; + public static int bedrockChlorocalciteSpawn = 35; public static int bedrockAsbestosSpawn = 50; public static int bedrockNiobiumSpawn = 50; public static int bedrockTitaniumSpawn = 100; @@ -153,6 +154,7 @@ public class WorldConfig { bedrockNiterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B11_bedrockNiterWeight", "Spawn weight for niter bedrock ore", 50); bedrockFluoriteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B12_bedrockFluoriteWeight", "Spawn weight for fluorite bedrock ore", 50); bedrockRedstoneSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B13_bedrockRedstoneWeight", "Spawn weight for redstone bedrock ore", 50); + bedrockChlorocalciteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B14_bedrockbChlorocalciteWeight", "Spawn weight for chlorocalcite bedrock ore", 35); ironClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C00_ironClusterSpawn", "Amount of iron cluster veins per chunk", 4); titaniumClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C01_titaniumClusterSpawn", "Amount of titanium cluster veins per chunk", 2); diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index f85df1900..0f1db9e1a 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -209,6 +209,7 @@ public class OreDictManager { public static final DictFrame LIGCOKE = new DictFrame("LigniteCoke"); public static final DictFrame CINNABAR = new DictFrame("Cinnabar"); public static final DictFrame BORAX = new DictFrame("Borax"); + public static final DictFrame CHLOROCALCITE = new DictFrame("Chlorocalcite"); public static final DictFrame VOLCANIC = new DictFrame("Volcanic"); public static final DictFrame HEMATITE = new DictFrame("Hematite"); public static final DictFrame MALACHITE = new DictFrame("Malachite"); @@ -390,6 +391,7 @@ public class OreDictManager { LIGCOKE .gem(fromOne(coke, EnumCokeType.LIGNITE)) .block(fromOne(block_coke, EnumCokeType.LIGNITE)); CINNABAR .crystal(cinnebar) .gem(cinnebar) .ore(ore_cinnebar, ore_depth_cinnebar); BORAX .dust(powder_borax) .ore(ore_depth_borax); + CHLOROCALCITE .dust(powder_chlorocalcite); VOLCANIC .gem(gem_volcanic) .ore(basalt_gem); HEMATITE .ore(fromOne(stone_resource, EnumStoneType.HEMATITE)); MALACHITE .ore(fromOne(stone_resource, EnumStoneType.MALACHITE)); diff --git a/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java b/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java index 022068894..3442fcee4 100644 --- a/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java @@ -42,8 +42,9 @@ public class CombinationRecipes extends SerializableRecipe { 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))); - + recipes.put(CINNABAR.crystal(), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.MERCURY, 100))); + recipes.put(CHLOROCALCITE.dust(), new Pair(new ItemStack(ModItems.powder_calcium), new FluidStack(Fluids.CHLORINE, 250))); recipes.put(new ComparableStack(Items.glowstone_dust), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.CHLORINE, 50))); recipes.put(new ComparableStack(DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.BAUXITE)), new Pair(new ItemStack(ModItems.ingot_aluminium, 2), new FluidStack(Fluids.REDMUD, 250))); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 317ecb9e8..5b97238fc 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -513,6 +513,7 @@ public class ModItems { 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_lanthanium; public static Item powder_actinium; @@ -2907,6 +2908,7 @@ public class ModItems { 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"); 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"); @@ -5716,6 +5718,7 @@ public class ModItems { 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_yellowcake, powder_yellowcake.getUnlocalizedName()); GameRegistry.registerItem(powder_beryllium, powder_beryllium.getUnlocalizedName()); GameRegistry.registerItem(powder_dura_steel, powder_dura_steel.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/special/ItemBedrockOre.java b/src/main/java/com/hbm/items/special/ItemBedrockOre.java index 6dc73e9fc..9d12bade0 100644 --- a/src/main/java/com/hbm/items/special/ItemBedrockOre.java +++ b/src/main/java/com/hbm/items/special/ItemBedrockOre.java @@ -84,17 +84,18 @@ public class ItemBedrockOre extends ItemEnumMulti { */ public static enum EnumBedrockOre { - //Ore Byproduct 1, 2, 3 - IRON("Iron", 0xE2C0AA, B_SULFUR, B_TITANIUM, B_TITANIUM), //titanium, sulfur from pyrite - COPPER("Copper", 0xEC9A63, B_SULFUR, B_SULFUR, B_SULFUR), //sulfur sulfur sulfur sulfur - BORAX("Borax", 0xE4BE74, B_LITHIUM, B_CALCIUM, B_CALCIUM), //calcium from ulexite, uhhh lithium? - ASBESTOS("Asbestos", 0xBFBFB9, B_SILICON, B_SILICON, B_SILICON), //quartz i guess? - NIOBIUM("Niobium", 0xAF58D8, B_IRON, B_IRON, B_IRON), //iron in columbite, often found along tantalite - TITANIUM("Titanium", 0xF2EFE2, B_SILICON, B_CALCIUM, B_ALUMINIUM), //titanite is titanium + calcium + silicon with traces of iron and aluminium - TUNGSTEN("Tungsten", 0x2C293C, B_LEAD, B_IRON, B_BISMUTH), //ferberite has iron, raspite has lead, russelite is bismuth tungsten - GOLD("Gold", 0xF9D738, B_LEAD, B_COPPER, B_BISMUTH), //occurs with copper, lead and rare bismuthide - URANIUM("Uranium", 0x868D82, B_LEAD, B_RADIUM, B_POLONIUM), //uranium and its decay products - THORIUM("Thorium", 0x7D401D, B_SILICON, B_URANIUM, B_TECHNETIUM); //thorium occours with uraninite and decay products + //Ore Byproduct 1, 2, 3 + IRON("Iron", 0xE2C0AA, B_SULFUR, B_TITANIUM, B_TITANIUM), //titanium, sulfur from pyrite + COPPER("Copper", 0xEC9A63, B_SULFUR, B_SULFUR, B_SULFUR), //sulfur sulfur sulfur sulfur + BORAX("Borax", 0xE4BE74, B_LITHIUM, B_CALCIUM, B_CALCIUM), //calcium from ulexite, uhhh lithium? + ASBESTOS("Asbestos", 0xBFBFB9, B_SILICON, B_SILICON, B_SILICON), //quartz i guess? + NIOBIUM("Niobium", 0xAF58D8, B_IRON, B_IRON, B_IRON), //iron in columbite, often found along tantalite + TITANIUM("Titanium", 0xF2EFE2, B_SILICON, B_CALCIUM, B_ALUMINIUM), //titanite is titanium + calcium + silicon with traces of iron and aluminium + TUNGSTEN("Tungsten", 0x2C293C, B_LEAD, B_IRON, B_BISMUTH), //ferberite has iron, raspite has lead, russelite is bismuth tungsten + GOLD("Gold", 0xF9D738, B_LEAD, B_COPPER, B_BISMUTH), //occurs with copper, lead and rare bismuthide + URANIUM("Uranium", 0x868D82, B_LEAD, B_RADIUM, B_POLONIUM), //uranium and its decay products + THORIUM("Thorium", 0x7D401D, B_SILICON, B_URANIUM, B_TECHNETIUM), //thorium occours with uraninite and decay products + CHLOROCALCITE("Chlorocalcite", 0xCDE036, B_LITHIUM, B_SILICON, B_SILICON); //i guess? public String oreName; public int color; diff --git a/src/main/java/com/hbm/render/block/RenderStandardStraightRail.java b/src/main/java/com/hbm/render/block/RenderStandardStraightRail.java index 1343795ca..1dafab520 100644 --- a/src/main/java/com/hbm/render/block/RenderStandardStraightRail.java +++ b/src/main/java/com/hbm/render/block/RenderStandardStraightRail.java @@ -42,14 +42,22 @@ public class RenderStandardStraightRail implements ISimpleBlockRenderingHandler float rotation = 0; - if(meta == 12) rotation = 90F / 180F * (float) Math.PI; - if(meta == 14) rotation = 180F / 180F * (float) Math.PI; - if(meta == 13) rotation = 270F / 180F * (float) Math.PI; + if(meta == 14 || meta == 15) rotation = 90F / 180F * (float) Math.PI; + + if(meta == 12) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, -0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, 0.5F); tessellator.addTranslation(x + 0.5F, y, z + 0.5F); ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_straight, block.getIcon(1, 0), tessellator, rotation, true); tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + if(meta == 12) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, 0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, -0.5F); + return true; } diff --git a/src/main/java/com/hbm/world/feature/BedrockOre.java b/src/main/java/com/hbm/world/feature/BedrockOre.java index 6d054e206..cce83e8ec 100644 --- a/src/main/java/com/hbm/world/feature/BedrockOre.java +++ b/src/main/java/com/hbm/world/feature/BedrockOre.java @@ -27,6 +27,7 @@ public class BedrockOre { registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.IRON, 1), WorldConfig.bedrockIronSpawn); registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.COPPER, 1), WorldConfig.bedrockCopperSpawn); registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.BORAX, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockBoraxSpawn); + registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.CHLOROCALCITE, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockChlorocalciteSpawn); registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.ASBESTOS, 2), WorldConfig.bedrockAsbestosSpawn); registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.NIOBIUM, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiobiumSpawn); registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.TITANIUM, 2, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockTitaniumSpawn); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 7a5a8049b..f31fb87d5 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -2471,6 +2471,7 @@ item.oil_tar.wax.name=Chloriertes Petroleumwachs item.oil_tar.wood.name=Holzteer item.ore.asbestos=Asbest item.ore.borax=Borax +item.ore.chlorocalcite=Chlorokalzit item.ore.copper=Kupfer item.ore.gold=Gold item.ore.iron=Eisen @@ -2643,6 +2644,7 @@ item.powder_caesium.name=Caesiumstaub item.powder_calcium.name=Kalziumstaub item.powder_cerium.name=Cerstaub item.powder_cerium_tiny.name=Kleiner Haufen Cerstaub +item.powder_chlorocalcite.name=Chlorokalzit item.powder_chlorophyte.name=Grünalgenstaub item.powder_cloud.name=Wolkenrückstände item.powder_co60.name=Kobalt-60-Staub diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 94cfb0809..6ec00e3fb 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -3150,6 +3150,7 @@ item.oil_tar.wax.name=Chlorinated Petroleum Wax item.oil_tar.wood.name=Wood Tar item.ore.asbestos=Asbestos item.ore.borax=Borax +item.ore.chlorocalcite=Chlorocalcite item.ore.copper=Copper item.ore.gold=Gold item.ore.iron=Iron @@ -3368,6 +3369,7 @@ item.powder_caesium.name=Caesium Powder item.powder_calcium.name=Calcium Powder item.powder_cerium.name=Cerium Powder item.powder_cerium_tiny.name=Tiny Pile of Cerium Powder +item.powder_chlorocalcite.name=Chlorocalcite item.powder_chlorophyte.name=Chlorophyte Powder item.powder_cloud.name=Cloud Residue item.powder_co60.name=Cobalt-60 Powder diff --git a/src/main/resources/assets/hbm/textures/items/powder_chlorocalcite.png b/src/main/resources/assets/hbm/textures/items/powder_chlorocalcite.png new file mode 100644 index 0000000000000000000000000000000000000000..901a98e2db7438e9848c46d6c6e21343433e7ea2 GIT binary patch literal 482 zcmV<80UiE{P)~tkBq4v?j!B8YmY8aqtrB;vZ6oqE6DG zLOT?9ojN>ukK+a9XPobTpB@`WiU z`3pWQ860G)=J%^R3_OqHDJ1u;q%{SMB~4jbG&n8l^bKvWvu@#*eGCl6X$|_31|jMq z=o;h;I;SVqE5BR%Nk^w5*yg9`xIF4;;c=wCiyB}oY0B%_7;on`h<5qd{$gQS0X}_J z6dadQ@r*YM2CwE5v|oex07jCg3?`y%Zv9|wIYIb|V(+U?Cg)LbTzdNhTzX*Vb1S$e@&2%Sfk2L<707Sa~vw1^* Y02JP%M6~2V!Z literal 0 HcmV?d00001 From b6212b6110d6f54ffac7506af0a01fb60f27c0d5 Mon Sep 17 00:00:00 2001 From: burningwater202 Date: Thu, 1 Jun 2023 21:51:09 -0400 Subject: [PATCH 137/285] god I wish it were me Glass panes (I'm in pane) --- .gitignore | 6 +++ src/main/java/com/hbm/blocks/ModBlocks.java | 4 ++ .../hbm/blocks/generic/BlockNTMGlassPane.java | 43 ++++++++++++++++++ .../blocks/generic/BlockNTMGlassPaneRot.java | 28 ++++++++++++ .../blocks/reinforced_laminate_pane.png | Bin 0 -> 206 bytes 5 files changed, 81 insertions(+) create mode 100644 src/main/java/com/hbm/blocks/generic/BlockNTMGlassPane.java create mode 100644 src/main/java/com/hbm/blocks/generic/BlockNTMGlassPaneRot.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/reinforced_laminate_pane.png diff --git a/.gitignore b/.gitignore index 22222fc39..ab2c2acdb 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,9 @@ run # Changelog backup /changelog.bak +CREDITS-fml.txt +forge-1.7.10-10.13.4.1614-1.7.10-changelog.txt +LICENSE-fml.txt +MinecraftForge-Credits.txt +MinecraftForge-License.txt +README.txt diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index c006878ad..c406c9868 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -30,6 +30,7 @@ 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.BlockPane; import net.minecraft.block.material.*; import net.minecraft.creativetab.CreativeTabs; import net.minecraftforge.fluids.Fluid; @@ -318,6 +319,7 @@ public class ModBlocks { 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; @@ -1503,6 +1505,7 @@ public class ModBlocks { reinforced_lamp_off = new ReinforcedLamp(Material.rock, false).setBlockName("reinforced_lamp_off").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_off"); reinforced_lamp_on = new ReinforcedLamp(Material.rock, true).setBlockName("reinforced_lamp_on").setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_on"); reinforced_laminate = new BlockNTMGlassCT(1, RefStrings.MODID + ":reinforced_laminate", Material.rock).setBlockName("reinforced_laminate").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(1000.0F); + reinforced_laminate_pane = new BlockNTMGlassPaneRot(1, RefStrings.MODID + ":reinforced_laminate_pane",RefStrings.MODID + ":reinforced_laminate_pane_edge", Material.rock, false).setBlockName("reinforced_laminate_pane").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(1000.0F); lamp_tritium_green_off = new ReinforcedLamp(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 ReinforcedLamp(Material.redstoneLight, true).setBlockName("lamp_tritium_green_on").setStepSound(Block.soundTypeGlass).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_green_on"); @@ -2648,6 +2651,7 @@ public class ModBlocks { 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()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPane.java b/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPane.java new file mode 100644 index 000000000..c18e300a9 --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPane.java @@ -0,0 +1,43 @@ +package com.hbm.blocks.generic; + +import java.util.Random; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.BlockBreakable; +import net.minecraft.block.BlockPane; +import net.minecraft.block.material.Material; + +public class BlockNTMGlassPane extends BlockBreakable { + + int renderLayer; + boolean doesDrop = false; + + public BlockNTMGlassPane(int layer, String name, Material material) { + this(layer, name, material, false); + } + + public BlockNTMGlassPane(int layer, String name, Material material, boolean doesDrop) { + super(name, material, false); + this.renderLayer = layer; + this.doesDrop = doesDrop; + } + + public int quantityDropped(Random rand) { + return doesDrop ? 1 : 0; + } + + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return renderLayer; + } + + public boolean renderAsNormalBlock() { + return false; + } + + protected boolean canSilkHarvest() { + return true; + } + +} diff --git a/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPaneRot.java b/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPaneRot.java new file mode 100644 index 000000000..feead29cb --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPaneRot.java @@ -0,0 +1,28 @@ +package com.hbm.blocks.generic; + +import net.minecraft.block.BlockPane; +import net.minecraft.block.material.Material; + +public class BlockNTMGlassPaneRot extends BlockPane +{ + int renderLayer; + boolean doesDrop = false; + + //NOTE when you have eclipse make the constructor for you it *WILL BE 'protected'* so make sure to make this public like below. + public BlockNTMGlassPaneRot(String flatFaceTextureName, String rimTextureName, + Material mat, boolean bool) { + super(flatFaceTextureName, rimTextureName, mat, bool); + // TODO Auto-generated constructor stub + + this.opaque = true; + } + + public BlockNTMGlassPaneRot(int layer, String name, String rimTextureName, Material material, boolean doesDrop) { + super(name, rimTextureName, material, false); + this.renderLayer = layer; + this.doesDrop = doesDrop; + this.opaque = true; + this.setLightOpacity(1); + } + +} diff --git a/src/main/resources/assets/hbm/textures/blocks/reinforced_laminate_pane.png b/src/main/resources/assets/hbm/textures/blocks/reinforced_laminate_pane.png new file mode 100644 index 0000000000000000000000000000000000000000..d003abb6cb903b9698ecda6dd5605b8183fa8da7 GIT binary patch literal 206 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!DLSt#}Etu9pEh}C`hmmdKI;Vst0A*c2!vFvP literal 0 HcmV?d00001 From 2d3217c96bba16ec111c2f21691358ecc555ed1a Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 2 Jun 2023 14:22:29 +0200 Subject: [PATCH 138/285] block remapping, steel alloy blocks, osmiridium cast plates --- changelog | 1 + src/main/java/com/hbm/blocks/BlockRemap.java | 41 ++++++++++++++++++ src/main/java/com/hbm/blocks/ModBlocks.java | 19 +++++++- .../java/com/hbm/crafting/MineralRecipes.java | 3 ++ .../standard/BlockMutatorDebris.java | 36 +++++++++++++++ .../com/hbm/inventory/OreDictManager.java | 2 +- .../java/com/hbm/inventory/material/Mats.java | 3 +- src/main/java/com/hbm/items/ModItems.java | 4 -- .../com/hbm/items/block/ItemBlockRemap.java | 34 +++++++++++++++ .../java/com/hbm/main/CraftingManager.java | 8 ++-- .../block/RenderStandardStraightRail.java | 2 + src/main/resources/assets/hbm/lang/de_DE.lang | 3 ++ src/main/resources/assets/hbm/lang/en_US.lang | 3 ++ .../hbm/textures/blocks/block_cdalloy.png | Bin 0 -> 288 bytes .../hbm/textures/blocks/block_tcalloy.png | Bin 0 -> 265 bytes 15 files changed, 147 insertions(+), 12 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/BlockRemap.java create mode 100644 src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorDebris.java create mode 100644 src/main/java/com/hbm/items/block/ItemBlockRemap.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/block_cdalloy.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/block_tcalloy.png diff --git a/changelog b/changelog index 5dade27bb..494b463ba 100644 --- a/changelog +++ b/changelog @@ -3,6 +3,7 @@ * A new variant of reinforced glass with higher blast resistance * Chlorocalcite * A new bedrock ore, the powder can be heated in the combination furnace to make calcium and chlorine +* Blocks for cadmium, TC and CD alloy ## Changed * Updated russian localization diff --git a/src/main/java/com/hbm/blocks/BlockRemap.java b/src/main/java/com/hbm/blocks/BlockRemap.java new file mode 100644 index 000000000..c9d66894f --- /dev/null +++ b/src/main/java/com/hbm/blocks/BlockRemap.java @@ -0,0 +1,41 @@ +package com.hbm.blocks; + +import java.util.ArrayList; +import java.util.Random; + +import com.hbm.lib.RefStrings; + +import net.minecraft.block.Block; +import net.minecraft.block.material.Material; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class BlockRemap extends Block implements ILookOverlay { + + public Block remapBlock; + public int remapMeta; + + protected BlockRemap(Block block, int meta) { + super(Material.tnt); + this.remapBlock = block; + this.remapMeta = meta; + this.setTickRandomly(true); + } + + @Override + public Block setBlockName(String name) { + super.setBlockName(name); + this.setBlockTextureName(RefStrings.MODID + ":" + name); + return this; + } + + @Override + public void updateTick(World world, int x, int y, int z, Random rand) { + world.setBlock(x, y, z, this.remapBlock, this.remapMeta, 2); + } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + ILookOverlay.printGeneric(event, "Compatibility block, will convert on update tick.", 0xffff00, 0x404000, new ArrayList()); + } +} diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index a4d55f383..c296c8153 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -33,6 +33,7 @@ import net.minecraft.block.Block; import net.minecraft.block.BlockFalling; import net.minecraft.block.material.*; import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.ItemBlock; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidRegistry; @@ -207,8 +208,11 @@ public class ModBlocks { 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; @@ -1395,8 +1399,11 @@ public class ModBlocks { block_aluminium = new BlockBeaconable(Material.iron).setBlockName("block_aluminium").setCreativeTab(MainRegistry.blockTab).setStepSound(Block.soundTypeMetal).setHardness(5.0F).setResistance(10.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(10.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(10.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(10.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(30.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(30.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(30.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(30.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(30.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(30.0F); @@ -2533,8 +2540,11 @@ public class ModBlocks { 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()); @@ -3451,7 +3461,12 @@ public class ModBlocks { GameRegistry.registerBlock(b, ItemBlockBase.class, b.getUnlocalizedName()); } - /*private static void register(Block b, Class clazz) { + 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); + } } diff --git a/src/main/java/com/hbm/crafting/MineralRecipes.java b/src/main/java/com/hbm/crafting/MineralRecipes.java index 039775e82..039644891 100644 --- a/src/main/java/com/hbm/crafting/MineralRecipes.java +++ b/src/main/java/com/hbm/crafting/MineralRecipes.java @@ -51,6 +51,9 @@ public class MineralRecipes { add1To9Pair(ModBlocks.block_polymer, ModItems.ingot_polymer); add1To9Pair(ModBlocks.block_bakelite, ModItems.ingot_bakelite); add1To9Pair(ModBlocks.block_rubber, ModItems.ingot_rubber); + add1To9Pair(ModBlocks.block_cadmium, ModItems.ingot_cadmium); + add1To9Pair(ModBlocks.block_tcalloy, ModItems.ingot_tcalloy); + add1To9Pair(ModBlocks.block_cdalloy, ModItems.ingot_cdalloy); for(int i = 0; i < EnumCokeType.values().length; i++) { add1To9PairSameMeta(Item.getItemFromBlock(ModBlocks.block_coke), ModItems.coke, i); diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorDebris.java b/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorDebris.java new file mode 100644 index 000000000..3210eff6e --- /dev/null +++ b/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorDebris.java @@ -0,0 +1,36 @@ +package com.hbm.explosion.vanillant.standard; + +import com.hbm.explosion.vanillant.ExplosionVNT; +import com.hbm.explosion.vanillant.interfaces.IBlockMutator; +import com.hbm.inventory.RecipesCommon.MetaBlock; + +import net.minecraft.block.Block; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class BlockMutatorDebris implements IBlockMutator { + + protected MetaBlock metaBlock; + + public BlockMutatorDebris(Block block) { + this(block, 0); + } + + public BlockMutatorDebris(Block block, int meta) { + this.metaBlock = new MetaBlock(block, meta); + } + + @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) { + + World world = explosion.world; + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); + if(b.isNormalCube()) { + world.setBlock(x, y, z, metaBlock.block, metaBlock.meta, 3); + return; + } + } + } +} diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 0f1db9e1a..53138c7ee 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -352,7 +352,7 @@ public class OreDictManager { BI .nugget(nugget_bismuth) .ingot(ingot_bismuth) .dust(powder_bismuth); AS .nugget(nugget_arsenic) .ingot(ingot_arsenic); CA .ingot(ingot_calcium) .dust(powder_calcium); - CD .ingot(ingot_cadmium) .dust(powder_cadmium); + CD .ingot(ingot_cadmium) .dust(powder_cadmium) .block(block_cadmium); TA .nugget(nugget_tantalium) .gem(gem_tantalium) .ingot(ingot_tantalium) .dust(powder_tantalium) .block(block_tantalium); COLTAN .ingot(fragment_coltan) .dust(powder_coltan_ore) .block(block_coltan) .ore(ore_coltan); NB .nugget(fragment_niobium) .ingot(ingot_niobium) .dustSmall(powder_niobium_tiny) .dust(powder_niobium) .block(block_niobium); diff --git a/src/main/java/com/hbm/inventory/material/Mats.java b/src/main/java/com/hbm/inventory/material/Mats.java index ffb7d3516..58ccaad64 100644 --- a/src/main/java/com/hbm/inventory/material/Mats.java +++ b/src/main/java/com/hbm/inventory/material/Mats.java @@ -99,7 +99,7 @@ public class Mats { public static final NTMMaterial MAT_TUNGSTEN = makeSmeltable(7400, W, 0x868686, 0x000000, 0x977474).setShapes(WIRE, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_ALUMINIUM = makeSmeltable(1300, AL, 0xFFFFFF, 0x344550, 0xD0B8EB).setShapes(WIRE, INGOT, DUST, PLATE, CASTPLATE, BLOCK); public static final NTMMaterial MAT_LEAD = makeSmeltable(8200, PB, 0xA6A6B2, 0x03030F, 0x646470).setShapes(NUGGET, INGOT, DUST, PLATE, CASTPLATE, BLOCK); - public static final NTMMaterial MAT_BISMUTH = makeSmeltable(8300, df("Bismuth"), 0xB200FF).setShapes(NUGGET, BILLET, INGOT, DUST, BLOCK); + public static final NTMMaterial MAT_BISMUTH = makeSmeltable(8300, BI, 0xB200FF).setShapes(NUGGET, BILLET, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_ARSENIC = makeSmeltable(3300, AS, 0x6CBABA, 0x242525, 0x558080).setShapes(NUGGET, INGOT); public static final NTMMaterial MAT_TANTALIUM = makeSmeltable(7300, TA, 0xFFFFFF, 0x1D1D36, 0xA89B74).setShapes(NUGGET, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_NIOBIUM = makeSmeltable(4100, NB, 0xB76EC9, 0x2F2D42, 0xD576B1).setShapes(NUGGET, DUSTTINY, INGOT, DUST, BLOCK); @@ -107,6 +107,7 @@ public class Mats { public static final NTMMaterial MAT_COBALT = makeSmeltable(2700, CO, 0xC2D1EE, 0x353554, 0x8F72AE).setShapes(NUGGET, DUSTTINY, BILLET, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_BORON = makeSmeltable(500, B, 0xBDC8D2, 0x29343E, 0xAD72AE).setShapes(DUSTTINY, INGOT, DUST, BLOCK); public static final NTMMaterial MAT_CADMIUM = makeSmeltable(4800, CD, 0xFFFADE, 0x350000, 0xA85600).setShapes(INGOT, DUST); + public static final NTMMaterial MAT_OSMIRIDIUM = makeSmeltable(7699, OSMIRIDIUM, 0xDBE3EF, 0x7891BE, 0xACBDD9).setShapes(NUGGET, INGOT, CASTPLATE); //Alloys public static final NTMMaterial MAT_STEEL = makeSmeltable(_AS + 0, STEEL, 0xAFAFAF, 0x0F0F0F, 0x4A4A4A).setShapes(DUSTTINY, INGOT, DUST, PLATE, CASTPLATE, BLOCK); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 5b97238fc..fc5d18874 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -8107,10 +8107,6 @@ public class ModItems { addRemap("gas_lpg", gas_full, Fluids.LPG.getID()); } - public static void addRemap(String unloc, int removoingTheseWouldTakeForever, Item item, Enum sub) { - addRemap(unloc, item, sub.ordinal()); - } - public static void addRemap(String unloc, Item item, Enum sub) { addRemap(unloc, item, sub.ordinal()); } diff --git a/src/main/java/com/hbm/items/block/ItemBlockRemap.java b/src/main/java/com/hbm/items/block/ItemBlockRemap.java new file mode 100644 index 000000000..bda77f379 --- /dev/null +++ b/src/main/java/com/hbm/items/block/ItemBlockRemap.java @@ -0,0 +1,34 @@ +package com.hbm.items.block; + +import java.util.List; + +import com.hbm.blocks.BlockRemap; + +import net.minecraft.block.Block; +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; + +public class ItemBlockRemap extends ItemBlockBase { + + public ItemBlockRemap(Block block) { + super(block); + } + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int slot, boolean held) { + + if(!(entity instanceof EntityPlayer) || !(this.field_150939_a instanceof BlockRemap)) return; + + EntityPlayer player = (EntityPlayer) entity; + BlockRemap remap = (BlockRemap) this.field_150939_a; + player.inventory.setInventorySlotContents(slot, new ItemStack(remap.remapBlock, stack.stackSize, remap.remapMeta)); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + list.add(EnumChatFormatting.RED + "Compatibility item, hold in inventory to convert!"); + } +} diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 3fb520d1a..a37150a43 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -764,10 +764,10 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModItems.ams_catalyst_schrabidium, 1), new Object[] { ModItems.ams_catalyst_blank, ModItems.rune_dagaz, ModItems.rune_hagalaz, ModItems.rune_thurisaz, ModItems.rune_thurisaz, SA326.dust(), SA326.dust(), SA326.dust(), SA326.dust() }); addShapelessAuto(new ItemStack(ModItems.ams_catalyst_dineutronium, 1), new Object[] { ModItems.ams_catalyst_blank, ModItems.rune_hagalaz, ModItems.rune_hagalaz, ModItems.rune_thurisaz, ModItems.rune_thurisaz, DNT.dust(), DNT.dust(), DNT.dust(), DNT.dust() }); addRecipeAuto(new ItemStack(ModBlocks.dfc_core, 1), new Object[] { "DLD", "LML", "DLD", 'D', ModItems.ingot_bismuth, 'L', DNT.block(), 'M', KEY_CIRCUIT_BISMUTH }); - addRecipeAuto(new ItemStack(ModBlocks.dfc_emitter, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.ingot(), '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.ingot(), 'D', ModItems.plate_desh, 'T', ModBlocks.machine_transformer_dnt, 'X', new ItemStack(ModBlocks.sellafield, 1, 5), 'L', ModItems.hull_small_steel }); - addRecipeAuto(new ItemStack(ModBlocks.dfc_injector, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.ingot(), '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.ingot(), 'D', ModItems.plate_desh, 'T', ModItems.singularity_spark, 'X', ModItems.magnet_circular, 'L', ModItems.crystal_xen }); + addRecipeAuto(new ItemStack(ModBlocks.dfc_emitter, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateCast(), '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.plateCast(), 'D', ModItems.plate_desh, 'T', ModBlocks.machine_transformer_dnt, 'X', new ItemStack(ModBlocks.sellafield, 1, 5), 'L', ModItems.hull_small_steel }); + addRecipeAuto(new ItemStack(ModBlocks.dfc_injector, 1), new Object[] { "SDS", "TXL", "SDS", 'S', OSMIRIDIUM.plateCast(), '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.plateCast(), 'D', ModItems.plate_desh, 'T', ModItems.singularity_spark, 'X', ModItems.magnet_circular, '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() }); diff --git a/src/main/java/com/hbm/render/block/RenderStandardStraightRail.java b/src/main/java/com/hbm/render/block/RenderStandardStraightRail.java index 1dafab520..5108aaea2 100644 --- a/src/main/java/com/hbm/render/block/RenderStandardStraightRail.java +++ b/src/main/java/com/hbm/render/block/RenderStandardStraightRail.java @@ -22,6 +22,8 @@ public class RenderStandardStraightRail implements ISimpleBlockRenderingHandler Tessellator tessellator = Tessellator.instance; GL11.glTranslated(0, -0.0625, 0); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(0.3, 0.3, 0.3); tessellator.startDrawingQuads(); ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_straight, block.getIcon(1, 0), tessellator, 0, false); tessellator.draw(); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index f31fb87d5..3667c7753 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -3432,6 +3432,7 @@ tile.block_beryllium.name=Berylliumblock tile.block_bismuth.name=Bismutblock tile.block_boron.name=Borblock tile.block_c4.name=C4-Block +tile.block_cadmium.name=Cadmiumblock tile.block_cap_fritz.name=Fritz-Kola Kronkorkenblock tile.block_cap_korl.name=Korl Kronkorkenblock tile.block_cap_nuka.name=Nuka Kronkorkenblock @@ -3440,6 +3441,7 @@ tile.block_cap_rad.name=S~Cola RAD Kronkorkenblock tile.block_cap_sparkle.name=S~Cola Kronkorkenblock tile.block_cap_star.name=Sunset Sarsaparilla Kronkorkenblock tile.block_cap_sunset.name=Sunset Sarsaparilla Sternkronkorkenblock +tile.block_cdalloy.name=Cadmiumstahlblock tile.block_cobalt.name=Kobaltblock tile.block_coke.coal.name=Kohlekoksblock tile.block_coke.lignite.name=Braunkohlekoksblock @@ -3507,6 +3509,7 @@ tile.block_starmetal.name=§9Sternenmetallblock§r tile.block_steel.name=Stahlblock tile.block_sulfur.name=Schwefelblock tile.block_tantalium.name=Tantalblock +tile.block_tcalloy.name=Technetiumstahlblock tile.block_thorium.name=Thorium-232-Block tile.block_thorium_fuel.name=Thoriumkernbrennstoffblock tile.block_titanium.name=Titanblock diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 6ec00e3fb..39d246706 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4240,6 +4240,7 @@ tile.block_beryllium.name=Block of Beryllium tile.block_bismuth.name=Block of Bismuth tile.block_boron.name=Block of Boron tile.block_c4.name=Block of C-4 +tile.block_cadmium.name=Block of Cadmium tile.block_cap_fritz.name=Block of Fritz Cola Bottle Caps tile.block_cap_korl.name=Block of Korl Bottle Caps tile.block_cap_nuka.name=Block of Nuka Cola Bottle Caps @@ -4248,6 +4249,7 @@ tile.block_cap_rad.name=Block of S~Cola RAD Bottle Caps tile.block_cap_sparkle.name=Block of S~Cola Bottle Caps 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=Block of Cadmium Steel tile.block_cobalt.name=Block of Cobalt tile.block_coke.coal.name=Block of Coal Coke tile.block_coke.lignite.name=Block of Lignite Coke @@ -4319,6 +4321,7 @@ tile.block_starmetal.name=§9Block of Starmetal§r tile.block_steel.name=Block of Steel tile.block_sulfur.name=Block of Sulfur tile.block_tantalium.name=Block of Tantalium +tile.block_tcalloy.name=Block of Technetium Steel tile.block_thorium.name=Block of Thorium-232 tile.block_thorium_fuel.name=Block of Thorium Fuel tile.block_titanium.name=Block of Titanium diff --git a/src/main/resources/assets/hbm/textures/blocks/block_cdalloy.png b/src/main/resources/assets/hbm/textures/blocks/block_cdalloy.png new file mode 100644 index 0000000000000000000000000000000000000000..4b93264c69ece20788d3cf6aa2f3f4fade29aabe GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfWD za@+56*B|>_$I1}#IDq|tRQuVovz9Jh(T{hOS;+->`tCnroB3|#rDs2Mp3XCgy1J2r z+hcOD%>*NM@7(RHm?yF`2vqXa{jrL0dgtl9lFdcV%k&c;)61fJ-Q|2w9;9qy&P?)Q zGf>>zV7hL{(~6=u4XlUOYu)tC6)!g^zaEsI}LW!!UnA0K+) i&T}u#cmAxN{fz0xoF%pMf*u0B$l&Sf=d#Wzp$Pyv8EOOo literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/block_tcalloy.png b/src/main/resources/assets/hbm/textures/blocks/block_tcalloy.png new file mode 100644 index 0000000000000000000000000000000000000000..22fc05fa5155bb986e9ae4b83d59aa3dfd3421eb GIT binary patch literal 265 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfKaSXBO zof_oGcUXbv^Qt&6m$dp|i*T2BYarK*v)iUZo z1P+QFa(Cpe5Iw zT~$Hp^{B8Wu??a6A~B7{%-!J|=B;4!TdcmaSC=J6QN(#;`cdijDco=GZfG_I`h~&M L)z4*}Q$iB}y>n*5 literal 0 HcmV?d00001 From df830d9612592a2248a608d4ed02ba92680d2b05 Mon Sep 17 00:00:00 2001 From: burningwater202 Date: Sat, 3 Jun 2023 13:19:50 -0400 Subject: [PATCH 139/285] :letsfuckingGOOOOO: Y'know I'm a bit of a pane in the glass --- src/main/java/com/hbm/blocks/ModBlocks.java | 5 +- .../hbm/blocks/generic/BlockNTMGlassPane.java | 62 +++++++++--------- .../blocks/generic/BlockNTMGlassPaneRot.java | 28 -------- .../java/com/hbm/main/CraftingManager.java | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 3 + .../textures/blocks/reinforced_glass_pane.png | Bin 0 -> 236 bytes .../blocks/reinforced_glass_pane_edge.png | Bin 0 -> 146 bytes .../blocks/reinforced_laminate_pane_edge.png | Bin 0 -> 140 bytes 8 files changed, 41 insertions(+), 59 deletions(-) delete mode 100644 src/main/java/com/hbm/blocks/generic/BlockNTMGlassPaneRot.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/reinforced_glass_pane.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/reinforced_glass_pane_edge.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/reinforced_laminate_pane_edge.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index c406c9868..32b852431 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -314,6 +314,7 @@ public class ModBlocks { 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; @@ -1500,12 +1501,13 @@ public class ModBlocks { reinforced_brick = new BlockGeneric(Material.rock).setBlockName("reinforced_brick").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(8000.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(15.0F).setResistance(200.0F); + reinforced_glass_pane = new BlockNTMGlassPane(1, RefStrings.MODID + ":reinforced_glass_pane",RefStrings.MODID + ":reinforced_glass_pane_edge", Material.rock, false).setBlockName("reinforced_glass_pane").setCreativeTab(MainRegistry.blockTab).setLightOpacity(1).setHardness(15.0F).setResistance(200.0F); reinforced_light = new BlockGeneric(Material.rock).setBlockName("reinforced_light").setCreativeTab(MainRegistry.blockTab).setLightLevel(1.0F).setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_light"); reinforced_sand = new BlockGeneric(Material.rock).setBlockName("reinforced_sand").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(400.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(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_off"); reinforced_lamp_on = new ReinforcedLamp(Material.rock, true).setBlockName("reinforced_lamp_on").setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_on"); reinforced_laminate = new BlockNTMGlassCT(1, RefStrings.MODID + ":reinforced_laminate", Material.rock).setBlockName("reinforced_laminate").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(1000.0F); - reinforced_laminate_pane = new BlockNTMGlassPaneRot(1, RefStrings.MODID + ":reinforced_laminate_pane",RefStrings.MODID + ":reinforced_laminate_pane_edge", Material.rock, false).setBlockName("reinforced_laminate_pane").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(1000.0F); + reinforced_laminate_pane = new BlockNTMGlassPane(1, RefStrings.MODID + ":reinforced_laminate_pane",RefStrings.MODID + ":reinforced_laminate_pane_edge", Material.rock, false).setBlockName("reinforced_laminate_pane").setCreativeTab(MainRegistry.blockTab).setLightOpacity(1).setHardness(15.0F).setResistance(1000.0F); lamp_tritium_green_off = new ReinforcedLamp(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 ReinforcedLamp(Material.redstoneLight, true).setBlockName("lamp_tritium_green_on").setStepSound(Block.soundTypeGlass).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_green_on"); @@ -2646,6 +2648,7 @@ public class ModBlocks { 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()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPane.java b/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPane.java index c18e300a9..7246191aa 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPane.java +++ b/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPane.java @@ -1,43 +1,45 @@ package com.hbm.blocks.generic; -import java.util.Random; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.block.BlockBreakable; import net.minecraft.block.BlockPane; import net.minecraft.block.material.Material; +import net.minecraft.world.IBlockAccess; +import net.minecraftforge.common.util.ForgeDirection; -public class BlockNTMGlassPane extends BlockBreakable { - +public class BlockNTMGlassPane extends BlockPane +{ int renderLayer; boolean doesDrop = false; - public BlockNTMGlassPane(int layer, String name, Material material) { - this(layer, name, material, false); - } - - public BlockNTMGlassPane(int layer, String name, Material material, boolean doesDrop) { - super(name, material, false); + //NOTE when you have eclipse make the constructor for you it *WILL BE 'protected'* so make sure to make this public like below. + /*public BlockNTMGlassPane(String flatFaceTextureName, String rimTextureName, + Material mat, boolean bool) { + super(flatFaceTextureName, rimTextureName, mat, bool); + // TODO Auto-generated constructor stub + this.setLightOpacity(1); + this.opaque = true; + }*/ + + public BlockNTMGlassPane(int layer, String name, String rimTextureName, Material material, boolean doesDrop) { + super(name, rimTextureName, material, false); this.renderLayer = layer; this.doesDrop = doesDrop; + this.opaque = true; + this.setLightOpacity(1); + + } - - public int quantityDropped(Random rand) { - return doesDrop ? 1 : 0; - } - - @SideOnly(Side.CLIENT) - public int getRenderBlockPass() { - return renderLayer; - } - - public boolean renderAsNormalBlock() { - return false; - } - - protected boolean canSilkHarvest() { - return true; - } + + public boolean canPaneConnectTo(IBlockAccess world, int x, int y, int z, ForgeDirection dir) + { + + if (getIdFromBlock(world.getBlock(x,y,z)) == 0) + return false; + else + return true; + + /*return canPaneConnectToBlock(world.getBlock(x, y, z)) || + world.isSideSolid(x, y, z, dir.getOpposite(), false);*/ + + } } diff --git a/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPaneRot.java b/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPaneRot.java deleted file mode 100644 index feead29cb..000000000 --- a/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPaneRot.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.hbm.blocks.generic; - -import net.minecraft.block.BlockPane; -import net.minecraft.block.material.Material; - -public class BlockNTMGlassPaneRot extends BlockPane -{ - int renderLayer; - boolean doesDrop = false; - - //NOTE when you have eclipse make the constructor for you it *WILL BE 'protected'* so make sure to make this public like below. - public BlockNTMGlassPaneRot(String flatFaceTextureName, String rimTextureName, - Material mat, boolean bool) { - super(flatFaceTextureName, rimTextureName, mat, bool); - // TODO Auto-generated constructor stub - - this.opaque = true; - } - - public BlockNTMGlassPaneRot(int layer, String name, String rimTextureName, Material material, boolean doesDrop) { - super(name, rimTextureName, material, false); - this.renderLayer = layer; - this.doesDrop = doesDrop; - this.opaque = true; - this.setLightOpacity(1); - } - -} diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 1b8d0b48a..407b6574d 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -433,6 +433,8 @@ public class CraftingManager { 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', ModItems.bolt_tungsten, 'B', ModBlocks.reinforced_brick, 'T', ANY_TAR.any() }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_glass), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', Blocks.glass }); + addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_glass_pane), 16), new Object[] { " ", "GGG", "GGG", 'G', ModBlocks.reinforced_glass}); + addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_laminate_pane), 16), new Object[] { " ", "LLL", "LLL", 'L', ModBlocks.reinforced_laminate}); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_light), 1), new Object[] { "FFF", "FBF", "FFF", 'F', Blocks.iron_bars, 'B', Blocks.glowstone }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_lamp_off), 1), new Object[] { "FFF", "FBF", "FFF", 'F', Blocks.iron_bars, 'B', Blocks.redstone_lamp }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.reinforced_sand), 4), new Object[] { "FBF", "BFB", "FBF", 'F', Blocks.iron_bars, 'B', Blocks.sandstone }); diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 5091ddb4b..c484480eb 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -5010,12 +5010,15 @@ tile.reinforced_brick.name=Reinforced Stone tile.reinforced_brick_stairs.name=Reinforced Stone Stairs tile.reinforced_ducrete.name=Reinforced Ducrete tile.reinforced_glass.name=Reinforced Glass +tile.reinforced_glass_pane.name=Reinforced Glass Pane tile.reinforced_lamp_off.name=Reinforced Lamp tile.reinforced_lamp_on.name=Reinforced Lamp tile.reinforced_light.name=Reinforced Glowstone tile.reinforced_sand.name=Reinforced Sandstone tile.reinforced_stone.name=Dense Stone tile.reinforced_stone_stairs.name=Dense Stone Stairs +tile.reinforced_laminate.name=Reinforced Laminate +tile.reinforced_laminate_pane.name=Reinforced Laminate Pane tile.rejuvinator.name=Rejuvination Device tile.residue.name=Cloud Residue tile.safe.name=Safe diff --git a/src/main/resources/assets/hbm/textures/blocks/reinforced_glass_pane.png b/src/main/resources/assets/hbm/textures/blocks/reinforced_glass_pane.png new file mode 100644 index 0000000000000000000000000000000000000000..157496351ace151f26f32c8a5a1d50b4da1b63cb GIT binary patch literal 236 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`oCO|{#S9F5he4R}c>anMpx``D z7sn8b)2+eLTn7|*KJSn_!2B-gcj;kAuUSi@1g^Q?GC6mxy1w9;#5ZX>zT?u9&fb`F z`Pg(;z6a~2ZZ2ej$;4hW2Fxor2nX${?e$u+h5^t`Axvk(8^nc*> hB%z?{l2r14Rt`~#bs8c}hCr7xc)I$ztaD0e0swQ3T8{t# literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/reinforced_glass_pane_edge.png b/src/main/resources/assets/hbm/textures/blocks/reinforced_glass_pane_edge.png new file mode 100644 index 0000000000000000000000000000000000000000..9c2ff4dd15f23ec7af588f8b1b5e063d45570c96 GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!73?$#)eFPFGn5)5Z Date: Sun, 4 Jun 2023 17:08:11 +0200 Subject: [PATCH 140/285] redid most train physics, pollution handling stuff --- src/main/java/com/hbm/blocks/ModBlocks.java | 4 +- .../hbm/blocks/rail/RailStandardCurve.java | 5 +- .../hbm/entity/train/EntityRailCarBase.java | 261 ++- .../hbm/entity/train/EntityRailCarCargo.java | 22 + .../entity/train/EntityRailCarElectric.java | 6 +- .../entity/train/EntityRailCarRidable.java | 26 +- .../entity/train/TrainCargoTramTrailer.java | 2 +- .../handler/pollution/PollutionHandler.java | 139 ++ .../java/com/hbm/items/special/ItemTrain.java | 2 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + src/main/java/com/hbm/main/MainRegistry.java | 5 + .../com/hbm/main/ModEventHandlerClient.java | 4 +- .../java/com/hbm/main/ResourceManager.java | 1 + .../render/block/RenderStandardCurveRail.java | 70 + .../item/RenderTrainCargoTramTrailer.java | 75 + .../hbm/models/blocks/rail_standard.obj | 1407 +++++++++-------- .../hbm/models/blocks/rail_standard_bend.obj | 982 ++++++++++++ .../blocks/rail_standard_straight.png | Bin 0 -> 467 bytes .../hbm/textures/items/coupling_tool.png | Bin 183 -> 204 bytes 19 files changed, 2262 insertions(+), 750 deletions(-) create mode 100644 src/main/java/com/hbm/handler/pollution/PollutionHandler.java create mode 100644 src/main/java/com/hbm/render/block/RenderStandardCurveRail.java create mode 100644 src/main/resources/assets/hbm/models/blocks/rail_standard_bend.obj create mode 100644 src/main/resources/assets/hbm/textures/blocks/rail_standard_straight.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index c296c8153..b3d95c9c2 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -2136,8 +2136,8 @@ public class ModBlocks { 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(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_narrow_neo"); rail_narrow_curve = new RailNarrowCurve().setBlockName("rail_narrow_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).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 + ":block_steel"); - rail_large_curve = new RailStandardCurve().setBlockName("rail_large_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":block_steel"); + 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_curve = new RailStandardCurve().setBlockName("rail_large_curve").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 + ":block_steel"); crate = new BlockCrate(Material.wood).setBlockName("crate").setStepSound(Block.soundTypeWood).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate"); diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java index 712b395bf..49394f6a8 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java @@ -4,6 +4,7 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.lib.Library; import com.hbm.util.fauxpointtwelve.BlockPos; +import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; @@ -24,9 +25,11 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { return null; } + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + @Override public int getRenderType() { - return 0; + return renderID; } @Override diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index 885532850..e5e21d817 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -12,23 +12,32 @@ import com.hbm.blocks.rail.IRailNTM.RailCheckType; import com.hbm.blocks.rail.IRailNTM.RailContext; import com.hbm.blocks.rail.IRailNTM.TrackGauge; import com.hbm.items.ModItems; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; +import com.hbm.packet.PlayerInformPacket; +import com.hbm.util.ChatBuilder; import com.hbm.util.fauxpointtwelve.BlockPos; +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.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ChatComponentText; import net.minecraft.util.DamageSource; +import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; public abstract class EntityRailCarBase extends Entity implements ILookOverlay { public LogicalTrainUnit ltu; + public int ltuIndex = 0; public boolean isOnRail = true; private int turnProgress; /* Clientside position that should be approached with smooth interpolation */ @@ -103,13 +112,16 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { if(this.ltu != null) this.ltu.dissolveTrain(); if(neighbor.ltu != null) neighbor.ltu.dissolveTrain(); player.swingItem(); + + player.addChatComponentMessage(new ChatComponentText("Coupled " + this.hashCode() + " (" + closestOwnCoupling.name() + ") to " + neighbor.hashCode() + " (" + closestNeighborCoupling.name() + ")")); + return true; } } } //DEBUG - /*if(this.ltu != null) { + if(this.ltu != null) { String id = Integer.toHexString(ltu.hashCode()); @@ -122,7 +134,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { data.setString("text", id); PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, train.posX, train.posY + 1, train.posZ), new TargetPoint(this.dimension, train.posX, train.posY + 1, train.posZ, 50)); } - }*/ + } return false; } @@ -152,7 +164,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { this.setRotation(this.rotationYaw, this.rotationPitch); } - BlockPos anchor = this.getCurentAnchorPos(); + BlockPos anchor = this.getCurrentAnchorPos(); Vec3 frontPos = getRelPosAlongRail(anchor, this.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); Vec3 backPos = getRelPosAlongRail(anchor, -this.getLengthSpan(), new MoveContext(RailCheckType.BACK)); @@ -293,23 +305,51 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } } - //TODO: rethink this entire concept - /* - * first, figure out which train is the "front" when moving - * if the train is not in motion, reuse the contract ("combine") function we have now - * move the first wagon until either it finishes or bumps into a buffer - * if it derails, continue using the velocity - * then take the second wagon and move it towards the first wagon's collision point, assuming it didn't derail - * continue with all further wagons - * - * step 3 may also do collision checks for other trains, which is good because that's an issue we would have to solve sooner or later - */ - /* Move carts together with links */ - for(LogicalTrainUnit ltu : ltus) ltu.combineWagons(); + //for(LogicalTrainUnit ltu : ltus) ltu.combineWagons(); /* Move carts with unified speed */ - for(LogicalTrainUnit ltu : ltus) ltu.moveTrain(); + //for(LogicalTrainUnit ltu : ltus) ltu.moveTrain(); + + for(LogicalTrainUnit ltu : ltus) { + + double speed = ltu.getTotalSpeed(); + + if(Math.abs(speed) < 0.001) speed = 0; + + if(ltu.trains.length == 1) { + + EntityRailCarBase train = ltu.trains[0]; + + BlockPos anchor = new BlockPos(train.posX, train.posY, train.posZ); + Vec3 newPos = train.getRelPosAlongRail(anchor, speed, new MoveContext(RailCheckType.CORE)); + if(newPos == null) { + train.derail(); + ltu.dissolveTrain(); + continue; + } + train.setPosition(newPos.xCoord, newPos.yCoord, newPos.zCoord); + anchor = train.getCurrentAnchorPos(); + Vec3 frontPos = train.getRelPosAlongRail(anchor, train.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); + Vec3 backPos = train.getRelPosAlongRail(anchor, -train.getLengthSpan(), new MoveContext(RailCheckType.BACK)); + + if(frontPos == null || backPos == null) { + train.derail(); + ltu.dissolveTrain(); + continue; + } else { + ltu.setRenderPos(train, frontPos, backPos); + } + + continue; + } + + if(speed == 0) { + ltu.combineWagons(); + } else { + ltu.moveTrainByApproach(speed); + } + } } /** Returns the amount of blocks that the train should move per tick */ @@ -331,7 +371,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { }*/ /** Returns the "true" position of the train, i.e. the block it wants to snap to */ - public BlockPos getCurentAnchorPos() { + public BlockPos getCurrentAnchorPos() { return new BlockPos(posX, posY, posZ); } @@ -363,7 +403,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } /** Invisible entities that make up the dynamic bounding structure of the train, moving as the train rotates. */ - public static class BoundingBoxDummyEntity extends Entity { + public static class BoundingBoxDummyEntity extends Entity implements ILookOverlay { private int turnProgress; private double trainX; @@ -428,6 +468,13 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { this.trainZ = posZ; this.turnProgress = turnProg + 2; } + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + Entity e = worldObj.getEntityByID(this.dataWatcher.getWatchableObjectInt(3)); + if(e instanceof EntityRailCarBase) { + ((EntityRailCarBase) e).printHook(event, world, x, y, z); + } + } } public DummyConfig[] getDummies() { @@ -491,37 +538,36 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { public static LogicalTrainUnit generateTrain(EntityRailCarBase train) { List links = new ArrayList(); Set brake = new HashSet(); - links.add(train); - brake.add(train); LogicalTrainUnit ltu = new LogicalTrainUnit(); - if(train.coupledFront == null && train.coupledFront == null) { + if(train.coupledFront == null && train.coupledBack == null) { ltu.trains = new EntityRailCarBase[] {train}; train.ltu = ltu; + train.ltuIndex = 0; return ltu; } - EntityRailCarBase prevCar = train; - EntityRailCarBase nextCar = train.coupledBack == null ? train.coupledFront : train.coupledBack; + EntityRailCarBase current = train; + EntityRailCarBase next = null; - while(nextCar != null) { - links.add(nextCar); - brake.add(nextCar); + do { + next = null; + + if(current.coupledFront != null && !brake.contains(current.coupledFront)) next = current.coupledFront; + if(current.coupledBack != null && !brake.contains(current.coupledBack)) next = current.coupledBack; - EntityRailCarBase currentCar = nextCar; - nextCar = nextCar.coupledBack == prevCar ? nextCar.coupledFront : nextCar.coupledBack; - prevCar = currentCar; + links.add(current); + brake.add(current); - if(brake.contains(nextCar)) { - break; - } - } + current = next; + + } while(next != null); ltu.trains = new EntityRailCarBase[links.size()]; - for(int i = 0; i < ltu.trains.length; i++) { ltu.trains[i] = links.get(i); ltu.trains[i].ltu = ltu; + ltu.trains[i].ltuIndex = i; } return ltu; @@ -531,6 +577,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { public void dissolveTrain() { for(EntityRailCarBase train : trains) { train.ltu = null; + train.ltuIndex = 0; } } @@ -559,23 +606,34 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } /** Moves one wagon to ne next until the coupling points roughly touch */ - public static void moveWagonTo(EntityRailCarBase prev, EntityRailCarBase next) { - TrainCoupling prevCouple = prev.getCouplingFrom(next); - TrainCoupling nextCouple = next.getCouplingFrom(prev); - Vec3 prevLoc = prev.getCouplingPos(prevCouple); - Vec3 nextLoc = next.getCouplingPos(nextCouple); + public void moveWagonTo(EntityRailCarBase moveTo, EntityRailCarBase moving) { + TrainCoupling prevCouple = moveTo.getCouplingFrom(moving); + TrainCoupling nextCouple = moving.getCouplingFrom(moveTo); + Vec3 prevLoc = moveTo.getCouplingPos(prevCouple); + Vec3 nextLoc = moving.getCouplingPos(nextCouple); Vec3 delta = Vec3.createVectorHelper(prevLoc.xCoord - nextLoc.xCoord, 0, prevLoc.zCoord - nextLoc.zCoord); double len = delta.lengthVector(); - len *= 0.25D; //suspension, causes movements to be less rigid - BlockPos anchor = new BlockPos(next.posX, next.posY, next.posZ); - Vec3 trainPos = Vec3.createVectorHelper(next.posX, next.posY, next.posZ); + len *= 0.75; //suspension, causes movements to be less rigid + BlockPos anchor = new BlockPos(moving.posX, moving.posY, moving.posZ); + Vec3 trainPos = Vec3.createVectorHelper(moving.posX, moving.posY, moving.posZ); float yaw = EntityRailCarBase.generateYaw(prevLoc, nextLoc); - Vec3 newPos = EntityRailCarBase.getRelPosAlongRail(anchor, len, next.getGauge(), next.worldObj, trainPos, yaw, new MoveContext(RailCheckType.CORE)); - next.setPosition(newPos.xCoord, newPos.yCoord, newPos.zCoord); + Vec3 newPos = EntityRailCarBase.getRelPosAlongRail(anchor, len, moving.getGauge(), moving.worldObj, trainPos, yaw, new MoveContext(RailCheckType.CORE)); + moving.setPosition(newPos.xCoord, newPos.yCoord, newPos.zCoord); + anchor = moving.getCurrentAnchorPos(); //reset origin to new position + Vec3 frontPos = moving.getRelPosAlongRail(anchor, moving.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); + Vec3 backPos = moving.getRelPosAlongRail(anchor, -moving.getLengthSpan(), new MoveContext(RailCheckType.BACK)); + + if(frontPos == null || backPos == null) { + moving.derail(); + this.dissolveTrain(); + return; + } else { + setRenderPos(moving, frontPos, backPos); + } } /** Generates the speed of the train, then moves the rain along the rail */ - public void moveTrain() { + @Deprecated public void moveTrain() { EntityRailCarBase prev = trains[0]; TrainCoupling dir = prev.getCouplingFrom(null); @@ -599,11 +657,11 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } /** Moves the entire train along the rail by a certain speed */ - public void moveTrainBy(double totalSpeed) { + @Deprecated public void moveTrainBy(double totalSpeed) { for(EntityRailCarBase train : this.trains) { - BlockPos anchor = train.getCurentAnchorPos(); + BlockPos anchor = train.getCurrentAnchorPos(); Vec3 corePos = train.getRelPosAlongRail(anchor, totalSpeed, new MoveContext(RailCheckType.CORE)); if(corePos == null) { @@ -612,7 +670,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { return; } else { train.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); - anchor = train.getCurentAnchorPos(); //reset origin to new position + anchor = train.getCurrentAnchorPos(); //reset origin to new position Vec3 frontPos = train.getRelPosAlongRail(anchor, train.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); Vec3 backPos = train.getRelPosAlongRail(anchor, -train.getLengthSpan(), new MoveContext(RailCheckType.BACK)); @@ -632,15 +690,110 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } } } + + /** Returns the total speed of the LTU, negative if it is backwards compared to the arbitrary "front" wagon */ + public double getTotalSpeed() { + + EntityRailCarBase prev = trains[0]; + double totalSpeed = 0; + double maxSpeed = Double.POSITIVE_INFINITY; + //if the first car is in reverse, flip all subsequent cars as well + boolean reverseTheReverse = prev.getCouplingFrom(null) == TrainCoupling.BACK; + + if(trains.length == 1) { + return prev.getCurrentSpeed(); + } + + for(EntityRailCarBase train : this.trains) { + //if the car's linked indices are the wrong way, it is in reverse and speed applies negatively + boolean reverse = false; + + EntityRailCarBase conFront = train.getCoupledTo(TrainCoupling.FRONT); + EntityRailCarBase conBack = train.getCoupledTo(TrainCoupling.BACK); + + if(conFront != null && conFront.ltuIndex > train.ltuIndex) reverse = true; + if(conBack != null && conBack.ltuIndex < train.ltuIndex) reverse = true; + + reverse ^= reverseTheReverse; + + double speed = train.getCurrentSpeed(); + if(reverse) speed *= -1; + totalSpeed += speed; + maxSpeed = Math.min(maxSpeed, train.getMaxRailSpeed()); + prev = train; + } + + if(Math.abs(totalSpeed) > maxSpeed) { + totalSpeed = maxSpeed * Math.signum(totalSpeed); + } + + return totalSpeed; + } + + /** Determines the "front" wagon based on the movement and moves it, then moves all other wagons towards that */ + public void moveTrainByApproach(double speed) { + boolean forward = speed < 0; + double origSpeed = speed; + speed = Math.abs(speed); + EntityRailCarBase previous = null; + + EntityRailCarBase first = this.trains[0]; + + for(int i = forward ? 0 : this.trains.length - 1; forward ? i < this.trains.length : i >= 0; i += forward ? 1 : -1) { + EntityRailCarBase current = this.trains[i]; + + if(previous == null) { + PacketDispatcher.wrapper.sendToAllAround(new PlayerInformPacket(ChatBuilder.start("" + current.getClass() + " " + origSpeed).color(EnumChatFormatting.RED).flush(), 1), + new TargetPoint(current.dimension, current.posX, current.posY + 1, current.posZ, 50)); + + boolean inReverse = first.getCouplingFrom(null) == current.getCouplingFrom(null); + int sigNum = inReverse ? -1 : 1; + BlockPos anchor = current.getCurrentAnchorPos(); + Vec3 corePos = current.getRelPosAlongRail(anchor, speed * sigNum, new MoveContext(RailCheckType.CORE)); + + if(corePos == null) { + current.derail(); + this.dissolveTrain(); + return; + } else { + current.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); + anchor = current.getCurrentAnchorPos(); //reset origin to new position + Vec3 frontPos = current.getRelPosAlongRail(anchor, current.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); + Vec3 backPos = current.getRelPosAlongRail(anchor, -current.getLengthSpan(), new MoveContext(RailCheckType.BACK)); + + if(frontPos == null || backPos == null) { + current.derail(); + this.dissolveTrain(); + return; + } else { + setRenderPos(current, frontPos, backPos); + } + } + + } else { + this.moveWagonTo(previous, current); + } + + previous = current; + } + } + + /** Uses the front and back bogey positions to set the render pos and angles of a wagon */ + public void setRenderPos(EntityRailCarBase current, Vec3 frontPos, Vec3 backPos) { + current.renderX = (frontPos.xCoord + backPos.xCoord) / 2D; + current.renderY = (frontPos.yCoord + backPos.yCoord) / 2D; + current.renderZ = (frontPos.zCoord + backPos.zCoord) / 2D; + current.prevRotationYaw = current.rotationYaw; + current.rotationYaw = current.movementYaw = generateYaw(frontPos, backPos); + current.motionX = current.rotationYaw / 360D; // hijacking this crap for easy syncing + current.velocityChanged = true; + } } @Override @SideOnly(Side.CLIENT) public void printHook(RenderGameOverlayEvent.Pre event, World world, int x, int y, int z) { - /*List text = new ArrayList(); - text.add("LTU: " + this.ltu); - text.add("Front: " + this.coupledFront); - text.add("Back: " + this.coupledBack); - ILookOverlay.printGeneric(event, this.toString(), 0xffff00, 0x404000, text);*/ //none of this shit is going to work anyway + List text = new ArrayList(); + ILookOverlay.printGeneric(event, this.getClass().getSimpleName() + " " + this.hashCode(), 0xffff00, 0x404000, text); //none of this shit is going to work anyway } } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarCargo.java b/src/main/java/com/hbm/entity/train/EntityRailCarCargo.java index 2e41f6d4d..31823285b 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarCargo.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarCargo.java @@ -15,6 +15,22 @@ public abstract class EntityRailCarCargo extends EntityRailCarBase implements II public EntityRailCarCargo(World world) { super(world); } + + @Override + protected void entityInit() { + super.entityInit(); + this.dataWatcher.addObject(10, new Integer(0)); + } + + public int countVacantSlots() { + int slots = 0; + + for(int i = 0; i < this.getSizeInventory(); i++) { + if(this.getStackInSlot(i) != null) slots++; + } + + return slots; + } @Override public ItemStack getStackInSlot(int slot) { @@ -37,9 +53,11 @@ public abstract class EntityRailCarCargo extends EntityRailCarBase implements II this.slots[slot] = null; } + if(!this.worldObj.isRemote) this.dataWatcher.updateObject(10, this.countVacantSlots()); return itemstack; } } else { + if(!this.worldObj.isRemote) this.dataWatcher.updateObject(10, this.countVacantSlots()); return null; } } @@ -49,8 +67,10 @@ public abstract class EntityRailCarCargo extends EntityRailCarBase implements II if(this.slots[slot] != null) { ItemStack itemstack = this.slots[slot]; this.slots[slot] = null; + if(!this.worldObj.isRemote) this.dataWatcher.updateObject(10, this.countVacantSlots()); return itemstack; } else { + if(!this.worldObj.isRemote) this.dataWatcher.updateObject(10, this.countVacantSlots()); return null; } } @@ -119,6 +139,8 @@ public abstract class EntityRailCarCargo extends EntityRailCarBase implements II this.slots[j] = ItemStack.loadItemStackFromNBT(nbttagcompound1); } } + + this.dataWatcher.updateObject(10, this.countVacantSlots()); } @Override diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarElectric.java b/src/main/java/com/hbm/entity/train/EntityRailCarElectric.java index 4a6b0bdff..46643b029 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarElectric.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarElectric.java @@ -19,15 +19,17 @@ public abstract class EntityRailCarElectric extends EntityRailCarRidable { public int getChargeSlot() { return 0; } @Override protected void entityInit() { + super.entityInit(); this.dataWatcher.addObject(3, new Integer(0)); } @Override public boolean canAccelerate() { - return this.getPower() >= this.getPowerConsumption(); + return true; + //return this.getPower() >= this.getPowerConsumption(); } @Override public void consumeFuel() { - this.setPower(this.getPower() - this.getPowerConsumption()); + //this.setPower(this.getPower() - this.getPowerConsumption()); } public void setPower(int power) { diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index 79fd80a13..b7ae2784a 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -5,7 +5,6 @@ import java.util.List; import com.hbm.blocks.ILookOverlay; import com.hbm.main.MainRegistry; -import com.hbm.util.BobMathUtil; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -109,9 +108,14 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { public int getNearestSeat(EntityPlayer player) { double nearestDist = Double.POSITIVE_INFINITY; - int nearestSeat = -2; + int nearestSeat = -3; Vec3[] seats = getPassengerSeats(); + Vec3 look = player.getLook(2); + look.xCoord += player.posX; + look.yCoord += player.posY + player.eyeHeight - player.yOffset; + look.zCoord += player.posZ; + for(int i = 0; i < seats.length; i++) { Vec3 seat = seats[i]; @@ -120,13 +124,11 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { seat.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); double x = renderX + seat.xCoord; + double y = renderY + seat.yCoord; double z = renderZ + seat.zCoord; - double deltaX = player.posX - x; - double deltaZ = player.posZ - z; - double radians = -Math.atan2(deltaX, deltaZ); - double degrees = MathHelper.wrapAngleTo180_double(radians * 180D / Math.PI - 90); - double dist = Math.abs(BobMathUtil.angularDifference(degrees, player.rotationYaw)); + Vec3 delta = Vec3.createVectorHelper(look.xCoord - x, look.yCoord - y, look.zCoord - z); + double dist = delta.lengthVector(); if(dist < nearestDist) { nearestDist = dist; @@ -138,13 +140,11 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { Vec3 seat = getRiderSeatPosition(); seat.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); double x = renderX + seat.xCoord; + double y = renderY + seat.yCoord; double z = renderZ + seat.zCoord; - double deltaX = player.posX - x; - double deltaZ = player.posZ - z; - double radians = -Math.atan2(deltaX, deltaZ); - double degrees = MathHelper.wrapAngleTo180_double(radians * 180D / Math.PI - 90); - double dist = Math.abs(BobMathUtil.angularDifference(degrees, player.rotationYaw)); + Vec3 delta = Vec3.createVectorHelper(look.xCoord - x, look.yCoord - y, look.zCoord - z); + double dist = delta.lengthVector(); if(dist < nearestDist) { nearestDist = dist; @@ -288,6 +288,6 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { text.add("Front: " + this.coupledFront); text.add("Back: " + this.coupledBack);*/ text.add("Nearest seat: " + this.getNearestSeat(MainRegistry.proxy.me())); - ILookOverlay.printGeneric(event, this.toString(), 0xffff00, 0x404000, text); + ILookOverlay.printGeneric(event, this.getClass().getSimpleName() + " " + this.hashCode(), 0xffff00, 0x404000, text); } } diff --git a/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java b/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java index ffeea5245..afefb1d9a 100644 --- a/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java +++ b/src/main/java/com/hbm/entity/train/TrainCargoTramTrailer.java @@ -105,7 +105,7 @@ public class TrainCargoTramTrailer extends EntityRailCarCargo implements IGUIPro this.train = train; for(int i = 0; i < 5; i++) { for(int j = 0; j < 9; j++) { - this.addSlotToContainer(new Slot(train, i * 7 + j, 8 + j * 18, 18 + i * 18)); + this.addSlotToContainer(new Slot(train, i * 9 + j, 8 + j * 18, 18 + i * 18)); } } for(int i = 0; i < 3; i++) { diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java new file mode 100644 index 000000000..692ba83a2 --- /dev/null +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -0,0 +1,139 @@ +package com.hbm.handler.pollution; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.util.HashMap; +import java.util.Map.Entry; + +import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import net.minecraft.nbt.CompressedStreamTools; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.nbt.NBTTagList; +import net.minecraft.world.ChunkCoordIntPair; +import net.minecraft.world.World; +import net.minecraft.world.WorldServer; +import net.minecraftforge.event.world.WorldEvent; + +public class PollutionHandler { + + public static final String fileName = "hbmpollution.dat"; + public static HashMap perWorld = new HashMap(); + + @SubscribeEvent + public void onWorldLoad(WorldEvent.Load event) { + if(!event.world.isRemote) { + WorldServer world = (WorldServer) event.world; + String dirPath = getDataDir(world); + + try { + File pollutionFile = new File(dirPath, fileName); + + if(pollutionFile != null) { + + if(pollutionFile.exists()) { + FileInputStream io = new FileInputStream(pollutionFile); + NBTTagCompound data = CompressedStreamTools.readCompressed(io); + io.close(); + perWorld.put(event.world, new PollutionPerWorld(data)); + } else { + perWorld.put(event.world, new PollutionPerWorld()); + } + } + } catch(Exception ex) { + ex.printStackTrace(); + } + } + } + + @SubscribeEvent + public void onWorldUnload(WorldEvent.Unload event) { + if(!event.world.isRemote) perWorld.remove(event.world); + } + + @SubscribeEvent + public void onWorldSave(WorldEvent.Save event) { + if(!event.world.isRemote) { + WorldServer world = (WorldServer) event.world; + String dirPath = getDataDir(world); + + try { + File pollutionFile = new File(dirPath, fileName); + if(!pollutionFile.exists()) pollutionFile.createNewFile(); + NBTTagCompound data = perWorld.get(world).writeToNBT(); + CompressedStreamTools.writeCompressed(data, new FileOutputStream(pollutionFile)); + } catch(Exception ex) { + ex.printStackTrace(); + } + } + } + + public String getDataDir(WorldServer world) { + String dir = world.getSaveHandler().getWorldDirectory().getAbsolutePath(); + + if(world.provider.dimensionId != 0) { + dir += File.separator + "DIM" + world.provider.dimensionId; + } + + dir += File.separator + "data"; + + return dir; + } + + public static class PollutionPerWorld { + public HashMap pollution = new HashMap(); + + public PollutionPerWorld() { } + + public PollutionPerWorld(NBTTagCompound data) { + + NBTTagList list = data.getTagList("entries", 10); + + for(int i = 0; i < list.tagCount(); i++) { + NBTTagCompound nbt = list.getCompoundTagAt(i); + int chunkX = nbt.getInteger("chunkX"); + int chunkZ = nbt.getInteger("chunkZ"); + pollution.put(new ChunkCoordIntPair(chunkX, chunkZ), PollutionData.fromNBT(nbt)); + } + } + + public NBTTagCompound writeToNBT() { + + NBTTagCompound data = new NBTTagCompound(); + + NBTTagList list = new NBTTagList(); + + for(Entry entry : pollution.entrySet()) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setInteger("chunkX", entry.getKey().chunkXPos); + nbt.setInteger("chunkZ", entry.getKey().chunkZPos); + entry.getValue().toNBT(nbt); + list.appendTag(nbt); + } + + data.setTag("entries", list); + + return data; + } + } + + public static class PollutionData { + float soot; + float poison; + float heavyMetal; + + public static PollutionData fromNBT(NBTTagCompound nbt) { + PollutionData data = new PollutionData(); + data.soot = nbt.getFloat("soot"); + data.poison = nbt.getFloat("poison"); + data.heavyMetal = nbt.getFloat("heavyMetal"); + return data; + } + + public void toNBT(NBTTagCompound nbt) { + nbt.setFloat("soot", soot); + nbt.setFloat("poison", poison); + nbt.setFloat("heavyMetal", heavyMetal); + } + } +} diff --git a/src/main/java/com/hbm/items/special/ItemTrain.java b/src/main/java/com/hbm/items/special/ItemTrain.java index 62695488a..25dc46ccf 100644 --- a/src/main/java/com/hbm/items/special/ItemTrain.java +++ b/src/main/java/com/hbm/items/special/ItemTrain.java @@ -78,7 +78,7 @@ public class ItemTrain extends ItemEnumMulti { if(train != null && train.getGauge() == ((IRailNTM) b).getGauge(world, x, y, z)) { if(!world.isRemote) { train.setPosition(x + fx, y + fy, z + fz); - BlockPos anchor = train.getCurentAnchorPos(); + BlockPos anchor = train.getCurrentAnchorPos(); train.rotationYaw = entity.rotationYaw; Vec3 corePos = train.getRelPosAlongRail(anchor, 0, new MoveContext(RailCheckType.CORE)); train.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index bd9794aed..3cd7392bc 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -787,6 +787,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderNarrowStraightRail()); RenderingRegistry.registerBlockHandler(new RenderNarrowCurveRail()); RenderingRegistry.registerBlockHandler(new RenderStandardStraightRail()); + RenderingRegistry.registerBlockHandler(new RenderStandardCurveRail()); RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_dynamite.getRenderType(), ResourceManager.charge_dynamite)); RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_c4.getRenderType(), ResourceManager.charge_c4)); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 99df0747c..19c93acf9 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -58,6 +58,7 @@ import com.hbm.entity.logic.*; import com.hbm.entity.mob.siege.*; import com.hbm.handler.*; import com.hbm.handler.imc.*; +import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.hazard.HazardRegistry; import com.hbm.inventory.*; @@ -903,6 +904,10 @@ public class MainRegistry { ChunkRadiationManager radiationSystem = new ChunkRadiationManager(); MinecraftForge.EVENT_BUS.register(radiationSystem); FMLCommonHandler.instance().bus().register(radiationSystem); + + PollutionHandler pollution = new PollutionHandler(); + MinecraftForge.EVENT_BUS.register(pollution); + FMLCommonHandler.instance().bus().register(pollution); if(event.getSide() == Side.CLIENT) { HbmKeybinds.register(); diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 31a779355..4a7bbe41f 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -259,12 +259,12 @@ public class ModEventHandlerClient { 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); + 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)); 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); + 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)); 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); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 44716fec9..1bd34ccdb 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1332,6 +1332,7 @@ public class ResourceManager { public static final IModelCustom rail_narrow_straight = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_narrow.obj")); public static final IModelCustom rail_narrow_curve = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_narrow_bend.obj")); public static final IModelCustom rail_standard_straight = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard.obj")); + public static final IModelCustom rail_standard_curve = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_bend.obj")); 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")); diff --git a/src/main/java/com/hbm/render/block/RenderStandardCurveRail.java b/src/main/java/com/hbm/render/block/RenderStandardCurveRail.java new file mode 100644 index 000000000..a238d461d --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderStandardCurveRail.java @@ -0,0 +1,70 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.rail.RailStandardCurve; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +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; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderStandardCurveRail implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + + GL11.glScaled(0.2, 0.2, 0.2); + GL11.glTranslated(2.5, -0.0625, -1.5); + GL11.glRotated(90, 0, 1, 0); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_curve, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + int meta = world.getBlockMetadata(x, y, z); + if(meta < 12) return true; + + Tessellator tessellator = Tessellator.instance; + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + float rotation = 0; + + if(meta == 15) + rotation = 90F / 180F * (float) Math.PI; + if(meta == 12) + rotation = 180F / 180F * (float) Math.PI; + if(meta == 14) + rotation = 270F / 180F * (float) Math.PI; + + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_curve, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return RailStandardCurve.renderID; + } +} diff --git a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTramTrailer.java b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTramTrailer.java index e0166ac4a..58d150ea8 100644 --- a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTramTrailer.java +++ b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTramTrailer.java @@ -2,10 +2,15 @@ package com.hbm.render.entity.item; import org.lwjgl.opengl.GL11; +import com.hbm.blocks.ModBlocks; import com.hbm.main.ResourceManager; 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.ItemStack; import net.minecraft.util.ResourceLocation; public class RenderTrainCargoTramTrailer extends Render { @@ -31,6 +36,76 @@ public class RenderTrainCargoTramTrailer extends Render { ResourceManager.train_cargo_tram_trailer.renderAll(); GL11.glEnable(GL11.GL_CULL_FACE); + int slots = entity.getDataWatcher().getWatchableObjectInt(10); + + if(slots > 0) { + + EntityItem dummy = new EntityItem(entity.worldObj, 0, 0, 0, new ItemStack(ModBlocks.crate)); + dummy.hoverStart = 0.0F; + + RenderItem.renderInFrame = true; + double scale = 2; + GL11.glScaled(scale, scale, scale); + + if(slots <= 5) { + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.0D, 0.375D, 0.0D, 0.0F, 0.0F); + } else if(slots <= 10) { + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.1D, 0.375D, 0.25D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.1D, 0.375D, -0.25D, 0.0F, 0.0F); + } else if(slots <= 15) { + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.1D, 0.375D, 0.0D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.1D, 0.375D, 0.375D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.1D, 0.375D, -0.375D, 0.0F, 0.0F); + } else if(slots <= 20) { + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, 0.3D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, -0.2D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, 0.2D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, -0.3D, 0.0F, 0.0F); + } else if(slots <= 25) { + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, 0.6D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, 0.0D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, -0.5D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, 0.2D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, -0.3D, 0.0F, 0.0F); + } else if(slots <= 30) { + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, 0.6D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, 0.0D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, -0.5D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, 0.5D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, -0.1D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, -0.6D, 0.0F, 0.0F); + } else if(slots <= 35) { + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, 0.4D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, 0.0D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, -0.4D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, 0.3D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, -0.1D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, -0.5D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.0D, 0.6875D, -0.25D, 0.0F, 0.0F); + } else if(slots <= 40) { + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, 0.4D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, 0.0D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, -0.4D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, 0.3D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, -0.1D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, -0.5D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.0D, 0.6875D, -0.25D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.0D, 0.6875D, 0.15D, 0.0F, 0.0F); + } else { + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, 0.4D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, 0.0D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.2D, 0.375D, -0.4D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, 0.3D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, -0.1D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.2D, 0.375D, -0.5D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.0D, 0.6875D, -0.25D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, 0.0D, 0.6875D, 0.15D, 0.0F, 0.0F); + RenderManager.instance.renderEntityWithPosYaw(dummy, -0.1D, 0.375D, 0.8D, 0.0F, 0.0F); + } + + RenderItem.renderInFrame = false; + } + GL11.glPopMatrix(); } diff --git a/src/main/resources/assets/hbm/models/blocks/rail_standard.obj b/src/main/resources/assets/hbm/models/blocks/rail_standard.obj index 292011e56..0323332c5 100644 --- a/src/main/resources/assets/hbm/models/blocks/rail_standard.obj +++ b/src/main/resources/assets/hbm/models/blocks/rail_standard.obj @@ -1,698 +1,757 @@ -# Blender v2.79 (sub 0) OBJ File: 'rail_standard.blend' +# Blender v2.79 (sub 0) OBJ File: 'rail_standard_straight.blend' # www.blender.org -o Plane +o Plane.001 +v 1.000000 0.062500 -0.187500 +v 1.000000 0.062500 0.187500 +v -1.000000 0.062500 0.187500 +v -1.000000 0.062500 -0.187500 +v -1.000000 0.000000 0.187500 +v 1.000000 0.000000 0.187500 +v -1.000000 0.000000 -0.187500 +v 1.000000 0.000000 -0.187500 +v -1.000000 0.000000 -0.812500 +v 1.000000 0.000000 -0.812500 +v -1.000000 0.000000 -1.187500 +v 1.000000 0.000000 -1.187500 +v -1.000000 0.000000 -1.812500 +v 1.000000 0.000000 -1.812500 +v -1.000000 0.000000 -2.187500 +v 1.000000 0.000000 -2.187500 +v -1.000000 0.000000 2.187500 +v 1.000000 0.000000 2.187500 +v -1.000000 0.000000 1.812500 +v 1.000000 0.000000 1.812500 +v -1.000000 0.000000 1.187500 +v 1.000000 0.000000 1.187500 +v -1.000000 0.000000 0.812500 +v 1.000000 0.000000 0.812500 +v -1.000000 0.062500 -1.187500 +v -1.000000 0.062500 -0.812500 +v 1.000000 0.062500 -0.812500 +v 1.000000 0.062500 -1.187500 +v -1.000000 0.062500 -2.187500 +v -1.000000 0.062500 -1.812500 +v 1.000000 0.062500 -1.812500 +v 1.000000 0.062500 -2.187500 +v -1.000000 0.062500 1.812500 +v -1.000000 0.062500 2.187500 +v 1.000000 0.062500 2.187500 +v 1.000000 0.062500 1.812500 +v -1.000000 0.062500 0.812500 +v -1.000000 0.062500 1.187500 +v 1.000000 0.062500 1.187500 +v 1.000000 0.062500 0.812500 +v -0.812500 0.062500 2.500000 +v 0.812500 0.062500 2.500000 +v -0.812500 0.062500 -2.500000 +v 0.812500 0.062500 -2.500000 +v -0.812500 0.187500 2.500000 +v 0.812500 0.187500 2.500000 +v -0.812500 0.187500 -2.500000 +v 0.812500 0.187500 -2.500000 v 0.750000 0.062500 2.500000 v 0.750000 0.062500 -2.500000 -v -0.750000 0.062500 2.500000 -v -0.750000 0.062500 -2.500000 v 0.750000 0.187500 2.500000 v 0.750000 0.187500 -2.500000 -v -0.750000 0.187500 2.500000 +v -0.750000 0.062500 -2.500000 +v -0.750000 0.062500 2.500000 v -0.750000 0.187500 -2.500000 -v 0.812500 0.062500 2.500000 -v 0.812500 0.062500 -2.500000 -v 0.812500 0.187500 2.500000 -v 0.812500 0.187500 -2.500000 -v -0.812500 0.062500 2.500000 -v -0.812500 0.062500 -2.500000 -v -0.812500 0.187500 2.500000 -v -0.812500 0.187500 -2.500000 -v -1.000000 0.000000 -0.250000 -v 1.000000 0.000000 -0.250000 -v -1.000000 0.000000 0.250000 -v 1.000000 0.000000 0.250000 -v 1.000000 0.062500 -0.250000 -v -1.000000 0.062500 -0.250000 -v 1.000000 0.062500 0.250000 -v -1.000000 0.062500 0.250000 -v -1.000000 0.000000 2.250000 -v 1.000000 0.000000 2.250000 -v -1.000000 0.000000 2.500000 -v 1.000000 0.000000 2.500000 -v 1.000000 0.062500 2.250000 -v -1.000000 0.062500 2.250000 -v 1.000000 0.062500 2.500000 -v -1.000000 0.062500 2.500000 -v -1.000000 0.000000 1.000000 -v 1.000000 0.000000 1.000000 -v -1.000000 0.000000 1.500000 -v 1.000000 0.000000 1.500000 -v 1.000000 0.062500 1.000000 -v -1.000000 0.062500 1.000000 -v 1.000000 0.062500 1.500000 -v -1.000000 0.062500 1.500000 -v -1.000000 0.000000 -2.500000 -v 1.000000 0.000000 -2.500000 -v -1.000000 0.000000 -2.250000 -v 1.000000 0.000000 -2.250000 -v 1.000000 0.062500 -2.500000 -v -1.000000 0.062500 -2.500000 -v 1.000000 0.062500 -2.250000 -v -1.000000 0.062500 -2.250000 -v -1.000000 0.000000 -1.500000 -v 1.000000 0.000000 -1.500000 -v -1.000000 0.000000 -1.000000 -v 1.000000 0.000000 -1.000000 -v 1.000000 0.062500 -1.500000 -v -1.000000 0.062500 -1.500000 -v 1.000000 0.062500 -1.000000 -v -1.000000 0.062500 -1.000000 +v -0.750000 0.187500 2.500000 +v 0.625000 0.062500 2.062500 +v 0.937500 0.062500 2.062500 +v 0.625000 0.062500 1.937500 +v 0.937500 0.062500 1.937500 +v 0.625000 0.125000 2.062500 +v 0.937500 0.125000 2.062500 +v 0.625000 0.125000 1.937500 +v 0.937500 0.125000 1.937500 +v -0.937500 0.062500 2.062500 +v -0.625000 0.062500 2.062500 +v -0.937500 0.062500 1.937500 +v -0.625000 0.062500 1.937500 +v -0.937500 0.125000 2.062500 +v -0.625000 0.125000 2.062500 +v -0.937500 0.125000 1.937500 +v -0.625000 0.125000 1.937500 +v 0.625000 0.062500 1.062500 +v 0.937500 0.062500 1.062500 +v 0.625000 0.062500 0.937500 +v 0.937500 0.062500 0.937500 +v 0.625000 0.125000 1.062500 +v 0.937500 0.125000 1.062500 +v 0.625000 0.125000 0.937500 +v 0.937500 0.125000 0.937500 +v -0.937500 0.062500 1.062500 +v -0.625000 0.062500 1.062500 +v -0.937500 0.062500 0.937500 +v -0.625000 0.062500 0.937500 +v -0.937500 0.125000 1.062500 +v -0.625000 0.125000 1.062500 +v -0.937500 0.125000 0.937500 +v -0.625000 0.125000 0.937500 v 0.625000 0.062500 0.062500 v 0.937500 0.062500 0.062500 v 0.625000 0.062500 -0.062500 v 0.937500 0.062500 -0.062500 -v 0.625000 0.125000 -0.062500 v 0.625000 0.125000 0.062500 v 0.937500 0.125000 0.062500 +v 0.625000 0.125000 -0.062500 v 0.937500 0.125000 -0.062500 v -0.937500 0.062500 0.062500 v -0.625000 0.062500 0.062500 v -0.937500 0.062500 -0.062500 v -0.625000 0.062500 -0.062500 -v -0.937500 0.125000 -0.062500 v -0.937500 0.125000 0.062500 v -0.625000 0.125000 0.062500 +v -0.937500 0.125000 -0.062500 v -0.625000 0.125000 -0.062500 -v 0.625000 0.062500 -1.187500 -v 0.937500 0.062500 -1.187500 -v 0.625000 0.062500 -1.312500 -v 0.937500 0.062500 -1.312500 -v 0.625000 0.125000 -1.312500 -v 0.625000 0.125000 -1.187500 -v 0.937500 0.125000 -1.187500 -v 0.937500 0.125000 -1.312500 -v -0.937500 0.062500 -1.187500 -v -0.625000 0.062500 -1.187500 -v -0.937500 0.062500 -1.312500 -v -0.625000 0.062500 -1.312500 -v -0.937500 0.125000 -1.312500 -v -0.937500 0.125000 -1.187500 -v -0.625000 0.125000 -1.187500 -v -0.625000 0.125000 -1.312500 -v 0.625000 0.062500 2.500000 -v 0.937500 0.062500 2.500000 -v 0.625000 0.062500 2.437500 -v 0.937500 0.062500 2.437500 -v 0.625000 0.125000 2.437500 -v 0.625000 0.125000 2.500000 -v 0.937500 0.125000 2.500000 -v 0.937500 0.125000 2.437500 -v -0.937500 0.062500 2.500000 -v -0.625000 0.062500 2.500000 -v -0.937500 0.062500 2.437500 -v -0.625000 0.062500 2.437500 -v -0.937500 0.125000 2.437500 -v -0.937500 0.125000 2.500000 -v -0.625000 0.125000 2.500000 -v -0.625000 0.125000 2.437500 -v 0.625000 0.062500 1.312500 -v 0.937500 0.062500 1.312500 -v 0.625000 0.062500 1.187500 -v 0.937500 0.062500 1.187500 -v 0.625000 0.125000 1.187500 -v 0.625000 0.125000 1.312500 -v 0.937500 0.125000 1.312500 -v 0.937500 0.125000 1.187500 -v -0.937500 0.062500 1.312500 -v -0.625000 0.062500 1.312500 -v -0.937500 0.062500 1.187500 -v -0.625000 0.062500 1.187500 -v -0.937500 0.125000 1.187500 -v -0.937500 0.125000 1.312500 -v -0.625000 0.125000 1.312500 -v -0.625000 0.125000 1.187500 -v 0.625000 0.062500 -2.437500 -v 0.937500 0.062500 -2.437500 -v 0.625000 0.062500 -2.500000 -v 0.937500 0.062500 -2.500000 -v 0.625000 0.125000 -2.500000 -v 0.625000 0.125000 -2.437500 -v 0.937500 0.125000 -2.437500 -v 0.937500 0.125000 -2.500000 -v -0.937500 0.062500 -2.437500 -v -0.625000 0.062500 -2.437500 -v -0.937500 0.062500 -2.500000 -v -0.625000 0.062500 -2.500000 -v -0.937500 0.125000 -2.500000 -v -0.937500 0.125000 -2.437500 -v -0.625000 0.125000 -2.437500 -v -0.625000 0.125000 -2.500000 -vt 0.750000 1.000000 -vt 0.781249 0.000000 -vt 0.781250 1.000000 -vt 0.875000 1.000000 -vt 0.843750 0.000000 -vt 0.875000 0.000000 -vt 0.781250 1.000000 -vt 0.812499 0.000000 -vt 0.812500 1.000000 -vt 0.468750 0.550000 -vt 0.453125 0.575000 -vt 0.453125 0.550000 -vt 0.968750 0.000000 -vt 0.953125 1.000000 -vt 0.953125 0.000000 -vt 1.000000 0.000000 -vt 0.984375 1.000000 -vt 0.984375 0.000000 -vt 0.531250 0.575000 -vt 0.546875 0.550000 -vt 0.546875 0.575000 -vt 0.843750 1.000000 -vt 0.812500 0.000000 -vt 0.843750 0.000000 -vt 0.656249 0.550000 -vt 0.640624 0.525000 -vt 0.656249 0.525000 -vt 0.656249 0.550000 -vt 0.671874 0.575000 -vt 0.656249 0.575000 -vt 0.953125 1.000000 -vt 0.937500 0.000000 -vt 0.953125 0.000000 -vt 0.984375 1.000000 -vt 0.968750 0.000000 -vt 0.984375 0.000000 -vt 0.375000 0.000000 -vt 0.499999 0.400000 -vt 0.375000 0.400000 -vt 0.250000 0.400000 -vt 0.375000 0.000000 -vt 0.375000 0.400000 -vt 0.593749 0.500000 -vt 0.609374 0.400000 -vt 0.609374 0.500000 -vt 0.359375 0.800000 -vt 0.375000 0.400000 -vt 0.375000 0.800000 -vt 0.562499 0.500000 -vt 0.578124 0.400000 -vt 0.578124 0.500000 -vt 0.312500 0.400000 -vt 0.296875 0.800000 -vt 0.296875 0.400000 -vt 0.187500 0.800000 -vt 0.125000 0.400000 -vt 0.187500 0.400000 -vt 0.062500 0.400000 -vt 0.000000 0.800000 -vt 0.000000 0.400000 -vt 0.406250 0.575000 -vt 0.421875 0.525000 -vt 0.421875 0.575000 -vt 0.390625 0.400000 -vt 0.375000 0.800000 -vt 0.375000 0.400000 -vt 0.421875 0.575000 -vt 0.437500 0.525000 -vt 0.437500 0.575000 -vt 0.218750 0.400000 -vt 0.203125 0.800000 -vt 0.203125 0.400000 -vt 0.125000 0.000000 -vt 0.250000 0.400000 -vt 0.125000 0.400000 -vt 0.624999 0.000000 -vt 0.500000 0.400000 -vt 0.499999 0.000000 -vt 0.609374 0.500000 -vt 0.624999 0.400000 -vt 0.624999 0.500000 -vt 0.250000 0.800000 -vt 0.265625 0.400000 -vt 0.265625 0.800000 -vt 0.578124 0.500000 -vt 0.593749 0.400000 -vt 0.593749 0.500000 -vt 0.281250 0.400000 -vt 0.265625 0.800000 -vt 0.265625 0.400000 -vt 0.125000 0.800000 -vt 0.062500 0.400000 -vt 0.125000 0.400000 -vt 0.937500 0.000000 -vt 0.875000 0.400000 -vt 0.875000 0.000000 -vt 0.390625 0.575000 -vt 0.406250 0.525000 -vt 0.406250 0.575000 -vt 0.203125 0.400000 -vt 0.187500 0.800000 -vt 0.187500 0.400000 -vt 0.437500 0.575000 -vt 0.453125 0.525000 -vt 0.453125 0.575000 -vt 0.359374 0.400000 -vt 0.343750 0.800000 -vt 0.343749 0.400000 -vt 0.749999 0.400000 -vt 0.624999 0.000000 -vt 0.749999 0.000000 -vt 0.000000 0.400000 -vt 0.125000 0.000000 -vt 0.125000 0.400000 -vt 0.624999 0.500000 -vt 0.640624 0.400000 -vt 0.640624 0.500000 -vt 0.250000 0.400000 -vt 0.234375 0.800000 -vt 0.234375 0.400000 -vt 0.312500 0.500000 -vt 0.328125 0.400000 -vt 0.328125 0.500000 -vt 0.296875 0.400000 -vt 0.281250 0.800000 -vt 0.281250 0.400000 -vt 0.453125 0.462500 -vt 0.484375 0.525000 -vt 0.453125 0.525000 -vt 0.468750 0.550000 -vt 0.453125 0.525000 -vt 0.468750 0.525000 -vt 0.703124 0.550000 -vt 0.687499 0.525000 -vt 0.703124 0.525000 -vt 0.531249 0.462500 -vt 0.515625 0.400000 -vt 0.531249 0.400000 -vt 0.640624 0.400000 -vt 0.656249 0.462500 -vt 0.640624 0.462500 -vt 0.421875 0.462500 -vt 0.453125 0.525000 -vt 0.421875 0.525000 -vt 0.687499 0.550000 -vt 0.671874 0.525000 -vt 0.687499 0.525000 -vt 0.484375 0.550000 -vt 0.468750 0.525000 -vt 0.484375 0.525000 -vt 0.515625 0.525000 -vt 0.500000 0.462500 -vt 0.515625 0.462500 -vt 0.546874 0.400000 -vt 0.562499 0.462500 -vt 0.546874 0.462500 -vt 0.421875 0.525000 -vt 0.390625 0.462500 -vt 0.421875 0.462500 -vt 0.484375 0.575000 -vt 0.468750 0.550000 -vt 0.484375 0.550000 -vt 0.531250 0.575000 -vt 0.515625 0.550000 -vt 0.531250 0.550000 -vt 0.656249 0.400000 -vt 0.671874 0.462500 -vt 0.656249 0.462500 -vt 0.531249 0.462500 -vt 0.546874 0.525000 -vt 0.531249 0.525000 -vt 0.484375 0.462500 -vt 0.453125 0.400000 -vt 0.484375 0.400000 -vt 0.671874 0.550000 -vt 0.656249 0.525000 -vt 0.671874 0.525000 -vt 0.546874 0.550000 -vt 0.531249 0.525000 -vt 0.546874 0.525000 -vt 0.593749 0.500000 -vt 0.609374 0.562500 -vt 0.593749 0.562500 -vt 0.546874 0.462500 -vt 0.562499 0.525000 -vt 0.546874 0.525000 -vt 0.624999 0.562500 -vt 0.609374 0.500000 -vt 0.624999 0.500000 -vt 0.578124 0.575000 -vt 0.562499 0.562500 -vt 0.578124 0.562500 -vt 0.624999 0.575000 -vt 0.609374 0.562500 -vt 0.624999 0.562500 -vt 0.531249 0.400000 -vt 0.546874 0.462500 -vt 0.531249 0.462500 -vt 0.703124 0.400000 -vt 0.718749 0.462500 -vt 0.703124 0.462500 -vt 0.640624 0.562500 -vt 0.624999 0.500000 -vt 0.640624 0.500000 -vt 0.328125 0.575000 -vt 0.312500 0.562500 -vt 0.328125 0.562500 -vt 0.656249 0.562500 -vt 0.640624 0.550000 -vt 0.656249 0.550000 -vt 0.671874 0.400000 -vt 0.687499 0.462500 -vt 0.671874 0.462500 -vt 0.687499 0.462500 -vt 0.703124 0.525000 -vt 0.687499 0.525000 -vt 0.453125 0.462500 -vt 0.421875 0.400000 -vt 0.453125 0.400000 -vt 0.500000 0.575000 -vt 0.484375 0.550000 -vt 0.500000 0.550000 -vt 0.515625 0.575000 -vt 0.500000 0.550000 -vt 0.515625 0.550000 -vt 0.640624 0.462500 -vt 0.656249 0.525000 -vt 0.640624 0.525000 -vt 0.312500 0.500000 -vt 0.328125 0.562500 -vt 0.312500 0.562500 -vt 0.421875 0.462500 -vt 0.390625 0.400000 -vt 0.421875 0.400000 -vt 0.687499 0.575000 -vt 0.671874 0.550000 -vt 0.687499 0.550000 -vt 0.515625 0.550000 -vt 0.500000 0.525000 -vt 0.515625 0.525000 -vt 0.656249 0.462500 -vt 0.671874 0.525000 -vt 0.656249 0.525000 -vt 0.671874 0.462500 -vt 0.687499 0.525000 -vt 0.671874 0.525000 -vt 0.578124 0.562500 -vt 0.562499 0.500000 -vt 0.578124 0.500000 -vt 0.609374 0.575000 -vt 0.593749 0.562500 -vt 0.609374 0.562500 -vt 0.640624 0.575000 -vt 0.624999 0.562500 -vt 0.640624 0.562500 -vt 0.703124 0.462500 -vt 0.718749 0.525000 -vt 0.703124 0.525000 -vt 0.515625 0.462500 -vt 0.531249 0.525000 -vt 0.515625 0.525000 -vt 0.593749 0.562500 -vt 0.578124 0.500000 -vt 0.593749 0.500000 -vt 0.593749 0.575000 -vt 0.578124 0.562500 -vt 0.593749 0.562500 -vt 0.703124 0.562500 -vt 0.687499 0.550000 -vt 0.703124 0.550000 -vt 0.687499 0.400000 -vt 0.703124 0.462500 -vt 0.687499 0.462500 -vt 0.500000 0.400000 -vt 0.515625 0.462500 -vt 0.500000 0.462500 -vt 0.749999 0.000000 -vt 0.843750 1.000000 -vt 0.781250 0.000000 -vt 0.468750 0.575000 -vt 0.968750 1.000000 -vt 1.000000 1.000000 -vt 0.531250 0.550000 -vt 0.812500 1.000000 -vt 0.640624 0.550000 -vt 0.671874 0.550000 -vt 0.937500 1.000000 -vt 0.968750 1.000000 -vt 0.499999 0.000000 -vt 0.250000 0.000000 -vt 0.593749 0.400000 -vt 0.359375 0.400000 -vt 0.562499 0.400000 -vt 0.312500 0.800000 -vt 0.125000 0.800000 -vt 0.062500 0.800000 -vt 0.406250 0.525000 -vt 0.390625 0.800000 -vt 0.421875 0.525000 -vt 0.218750 0.800000 -vt 0.250000 0.000000 -vt 0.624999 0.400000 -vt 0.609374 0.400000 -vt 0.250000 0.400000 -vt 0.578124 0.400000 -vt 0.281250 0.800000 -vt 0.062500 0.800000 -vt 0.937500 0.400000 -vt 0.390625 0.525000 -vt 0.203125 0.800000 -vt 0.437500 0.525000 -vt 0.359375 0.800000 -vt 0.624999 0.400000 -vt 0.000000 0.000000 -vt 0.624999 0.400000 -vt 0.250000 0.800000 -vt 0.312500 0.400000 -vt 0.296875 0.800000 -vt 0.484375 0.462500 -vt 0.453125 0.550000 -vt 0.687499 0.550000 -vt 0.515625 0.462500 -vt 0.656249 0.400000 -vt 0.453125 0.462500 -vt 0.671874 0.550000 -vt 0.468750 0.550000 -vt 0.500000 0.525000 -vt 0.562499 0.400000 -vt 0.390625 0.525000 -vt 0.468750 0.575000 -vt 0.515625 0.575000 -vt 0.671874 0.400000 -vt 0.546874 0.462500 -vt 0.453125 0.462500 -vt 0.656249 0.550000 -vt 0.531249 0.550000 -vt 0.609374 0.500000 -vt 0.562499 0.462500 -vt 0.609374 0.562500 -vt 0.562499 0.575000 -vt 0.609374 0.575000 -vt 0.546874 0.400000 -vt 0.718749 0.400000 -vt 0.624999 0.562500 -vt 0.312500 0.575000 -vt 0.640624 0.562500 -vt 0.687499 0.400000 -vt 0.703124 0.462500 -vt 0.421875 0.462500 -vt 0.484375 0.575000 -vt 0.500000 0.575000 -vt 0.656249 0.462500 -vt 0.328125 0.500000 -vt 0.390625 0.462500 -vt 0.671874 0.575000 -vt 0.500000 0.550000 -vt 0.671874 0.462500 -vt 0.687499 0.462500 -vt 0.562499 0.562500 -vt 0.593749 0.575000 -vt 0.624999 0.575000 -vt 0.718749 0.462500 -vt 0.531249 0.462500 -vt 0.578124 0.562500 -vt 0.578124 0.575000 -vt 0.687499 0.562500 -vt 0.703124 0.400000 -vt 0.515625 0.400000 -vn 1.0000 0.0000 0.0000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 +v 0.625000 0.062500 -0.937500 +v 0.937500 0.062500 -0.937500 +v 0.625000 0.062500 -1.062500 +v 0.937500 0.062500 -1.062500 +v 0.625000 0.125000 -0.937500 +v 0.937500 0.125000 -0.937500 +v 0.625000 0.125000 -1.062500 +v 0.937500 0.125000 -1.062500 +v -0.937500 0.062500 -0.937500 +v -0.625000 0.062500 -0.937500 +v -0.937500 0.062500 -1.062500 +v -0.625000 0.062500 -1.062500 +v -0.937500 0.125000 -0.937500 +v -0.625000 0.125000 -0.937500 +v -0.937500 0.125000 -1.062500 +v -0.625000 0.125000 -1.062500 +v 0.625000 0.062500 -1.937500 +v 0.937500 0.062500 -1.937500 +v 0.625000 0.062500 -2.062500 +v 0.937500 0.062500 -2.062500 +v 0.625000 0.125000 -1.937500 +v 0.937500 0.125000 -1.937500 +v 0.625000 0.125000 -2.062500 +v 0.937500 0.125000 -2.062500 +v -0.937500 0.062500 -1.937500 +v -0.625000 0.062500 -1.937500 +v -0.937500 0.062500 -2.062500 +v -0.625000 0.062500 -2.062500 +v -0.937500 0.125000 -1.937500 +v -0.625000 0.125000 -1.937500 +v -0.937500 0.125000 -2.062500 +v -0.625000 0.125000 -2.062500 +v -0.812500 0.062500 -1.500000 +v -0.812500 0.062500 -0.500000 +v -0.812500 0.062500 0.500000 +v -0.812500 0.062500 1.500000 +v 0.812500 0.062500 1.500000 +v 0.812500 0.062500 0.500000 +v 0.812500 0.062500 -0.500000 +v 0.812500 0.062500 -1.500000 +v -0.812500 0.187500 -1.500000 +v -0.812500 0.187500 -0.500000 +v -0.812500 0.187500 0.500000 +v -0.812500 0.187500 1.500000 +v 0.812500 0.187500 1.500000 +v 0.812500 0.187500 0.500000 +v 0.812500 0.187500 -0.500000 +v 0.812500 0.187500 -1.500000 +v 0.750000 0.062500 1.500000 +v 0.750000 0.062500 0.500000 +v 0.750000 0.062500 -0.500000 +v 0.750000 0.062500 -1.500000 +v 0.750000 0.187500 1.500000 +v 0.750000 0.187500 0.500000 +v 0.750000 0.187500 -0.500000 +v 0.750000 0.187500 -1.500000 +v -0.750000 0.062500 -1.500000 +v -0.750000 0.062500 -0.500000 +v -0.750000 0.062500 0.500000 +v -0.750000 0.062500 1.500000 +v -0.750000 0.187500 -1.500000 +v -0.750000 0.187500 -0.500000 +v -0.750000 0.187500 0.500000 +v -0.750000 0.187500 1.500000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.406250 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.718750 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.718750 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.500000 0.718750 +vt 0.406250 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.718750 +vt 0.531250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 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 8/1/1 3/2/1 4/3/1 -f 1/4/2 6/5/2 2/6/2 -f 12/7/1 9/8/1 10/9/1 -f 12/10/3 2/11/3 6/12/3 -f 11/13/4 6/14/4 5/15/4 -f 10/16/5 1/17/5 2/18/5 -f 9/19/6 5/20/6 1/21/6 -f 13/22/2 16/23/2 14/24/2 -f 4/25/3 16/26/3 8/27/3 -f 7/28/6 13/29/6 3/30/6 -f 8/31/4 15/32/4 7/33/4 -f 3/34/5 14/35/5 4/36/5 -f 18/37/5 19/38/5 17/39/5 -f 24/40/4 21/41/4 22/42/4 -f 24/43/2 17/44/2 19/45/2 -f 22/46/3 18/47/3 17/48/3 -f 21/49/1 20/50/1 18/51/1 -f 23/52/6 19/53/6 20/54/6 -f 26/55/5 27/56/5 25/57/5 -f 32/58/4 29/59/4 30/60/4 -f 32/61/2 25/62/2 27/63/2 -f 30/64/3 26/65/3 25/66/3 -f 29/67/1 28/68/1 26/69/1 -f 31/70/6 27/71/6 28/72/6 -f 34/73/5 35/74/5 33/75/5 -f 40/76/4 37/77/4 38/78/4 -f 40/79/2 33/80/2 35/81/2 -f 38/82/3 34/83/3 33/84/3 -f 37/85/1 36/86/1 34/87/1 -f 39/88/6 35/89/6 36/90/6 -f 42/91/5 43/92/5 41/93/5 -f 48/94/4 45/95/4 46/96/4 -f 48/97/2 41/98/2 43/99/2 -f 46/100/3 42/101/3 41/102/3 -f 45/103/1 44/104/1 42/105/1 -f 47/106/6 43/107/6 44/108/6 -f 50/109/5 51/110/5 49/111/5 -f 56/112/4 53/113/4 54/114/4 -f 56/115/2 49/116/2 51/117/2 -f 54/118/3 50/119/3 49/120/3 -f 53/121/1 52/122/1 50/123/1 -f 55/124/6 51/125/6 52/126/6 -f 63/127/4 61/128/4 62/129/4 -f 60/130/1 63/131/1 58/132/1 -f 57/133/2 61/134/2 59/135/2 -f 59/136/3 64/137/3 60/138/3 -f 58/139/6 62/140/6 57/141/6 -f 71/142/4 69/143/4 70/144/4 -f 68/145/1 71/146/1 66/147/1 -f 65/148/2 69/149/2 67/150/2 -f 67/151/3 72/152/3 68/153/3 -f 66/154/6 70/155/6 65/156/6 -f 79/157/4 77/158/4 78/159/4 -f 76/160/1 79/161/1 74/162/1 -f 73/163/2 77/164/2 75/165/2 -f 75/166/3 80/167/3 76/168/3 -f 74/169/6 78/170/6 73/171/6 -f 87/172/4 85/173/4 86/174/4 -f 84/175/1 87/176/1 82/177/1 -f 81/178/2 85/179/2 83/180/2 -f 83/181/3 88/182/3 84/183/3 -f 82/184/6 86/185/6 81/186/6 -f 95/187/4 93/188/4 94/189/4 -f 92/190/1 95/191/1 90/192/1 -f 89/193/2 93/194/2 91/195/2 -f 91/196/3 96/197/3 92/198/3 -f 90/199/6 94/200/6 89/201/6 -f 103/202/4 101/203/4 102/204/4 -f 100/205/1 103/206/1 98/207/1 -f 97/208/2 101/209/2 99/210/2 -f 99/211/3 104/212/3 100/213/3 -f 98/214/6 102/215/6 97/216/6 -f 111/217/4 109/218/4 110/219/4 -f 108/220/1 111/221/1 106/222/1 -f 105/223/2 109/224/2 107/225/2 -f 107/226/3 112/227/3 108/228/3 -f 106/229/6 110/230/6 105/231/6 -f 119/232/4 117/233/4 118/234/4 -f 116/235/1 119/236/1 114/237/1 -f 113/238/2 117/239/2 115/240/2 -f 115/241/3 120/242/3 116/243/3 -f 114/244/6 118/245/6 113/246/6 -f 127/247/4 125/248/4 126/249/4 -f 124/250/1 127/251/1 122/252/1 -f 121/253/2 125/254/2 123/255/2 -f 123/256/3 128/257/3 124/258/3 -f 122/259/6 126/260/6 121/261/6 -f 135/262/4 133/263/4 134/264/4 -f 132/265/1 135/266/1 130/267/1 -f 129/268/2 133/269/2 131/270/2 -f 131/271/3 136/272/3 132/273/3 -f 130/274/6 134/275/6 129/276/6 -f 8/1/1 7/277/1 3/2/1 -f 1/4/2 5/278/2 6/5/2 -f 12/7/1 11/279/1 9/8/1 -f 12/10/3 10/280/3 2/11/3 -f 11/13/4 12/281/4 6/14/4 -f 10/16/5 9/282/5 1/17/5 -f 9/19/6 11/283/6 5/20/6 -f 13/22/2 15/284/2 16/23/2 -f 4/25/3 14/285/3 16/26/3 -f 7/28/6 15/286/6 13/29/6 -f 8/31/4 16/287/4 15/32/4 -f 3/34/5 13/288/5 14/35/5 -f 18/37/5 20/289/5 19/38/5 -f 24/40/4 23/290/4 21/41/4 -f 24/43/2 22/291/2 17/44/2 -f 22/46/3 21/292/3 18/47/3 -f 21/49/1 23/293/1 20/50/1 -f 23/52/6 24/294/6 19/53/6 -f 26/55/5 28/295/5 27/56/5 -f 32/58/4 31/296/4 29/59/4 -f 32/61/2 30/297/2 25/62/2 -f 30/64/3 29/298/3 26/65/3 -f 29/67/1 31/299/1 28/68/1 -f 31/70/6 32/300/6 27/71/6 -f 34/73/5 36/301/5 35/74/5 -f 40/76/4 39/302/4 37/77/4 -f 40/79/2 38/303/2 33/80/2 -f 38/82/3 37/304/3 34/83/3 -f 37/85/1 39/305/1 36/86/1 -f 39/88/6 40/306/6 35/89/6 -f 42/91/5 44/307/5 43/92/5 -f 48/94/4 47/308/4 45/95/4 -f 48/97/2 46/309/2 41/98/2 -f 46/100/3 45/310/3 42/101/3 -f 45/103/1 47/311/1 44/104/1 -f 47/106/6 48/312/6 43/107/6 -f 50/109/5 52/313/5 51/110/5 -f 56/112/4 55/314/4 53/113/4 -f 56/115/2 54/315/2 49/116/2 -f 54/118/3 53/316/3 50/119/3 -f 53/121/1 55/317/1 52/122/1 -f 55/124/6 56/318/6 51/125/6 -f 63/127/4 64/319/4 61/128/4 -f 60/130/1 64/320/1 63/131/1 -f 57/133/2 62/321/2 61/134/2 -f 59/136/3 61/322/3 64/137/3 -f 58/139/6 63/323/6 62/140/6 -f 71/142/4 72/324/4 69/143/4 -f 68/145/1 72/325/1 71/146/1 -f 65/148/2 70/326/2 69/149/2 -f 67/151/3 69/327/3 72/152/3 -f 66/154/6 71/328/6 70/155/6 -f 79/157/4 80/329/4 77/158/4 -f 76/160/1 80/330/1 79/161/1 -f 73/163/2 78/331/2 77/164/2 -f 75/166/3 77/332/3 80/167/3 -f 74/169/6 79/333/6 78/170/6 -f 87/172/4 88/334/4 85/173/4 -f 84/175/1 88/335/1 87/176/1 -f 81/178/2 86/336/2 85/179/2 -f 83/181/3 85/337/3 88/182/3 -f 82/184/6 87/338/6 86/185/6 -f 95/187/4 96/339/4 93/188/4 -f 92/190/1 96/340/1 95/191/1 -f 89/193/2 94/341/2 93/194/2 -f 91/196/3 93/342/3 96/197/3 -f 90/199/6 95/343/6 94/200/6 -f 103/202/4 104/344/4 101/203/4 -f 100/205/1 104/345/1 103/206/1 -f 97/208/2 102/346/2 101/209/2 -f 99/211/3 101/347/3 104/212/3 -f 98/214/6 103/348/6 102/215/6 -f 111/217/4 112/349/4 109/218/4 -f 108/220/1 112/350/1 111/221/1 -f 105/223/2 110/351/2 109/224/2 -f 107/226/3 109/352/3 112/227/3 -f 106/229/6 111/353/6 110/230/6 -f 119/232/4 120/354/4 117/233/4 -f 116/235/1 120/355/1 119/236/1 -f 113/238/2 118/356/2 117/239/2 -f 115/241/3 117/357/3 120/242/3 -f 114/244/6 119/358/6 118/245/6 -f 127/247/4 128/359/4 125/248/4 -f 124/250/1 128/360/1 127/251/1 -f 121/253/2 126/361/2 125/254/2 -f 123/256/3 125/362/3 128/257/3 -f 122/259/6 127/363/6 126/260/6 -f 135/262/4 136/364/4 133/263/4 -f 132/265/1 136/365/1 135/266/1 -f 129/268/2 134/366/2 133/269/2 -f 131/271/3 133/367/3 136/272/3 -f 130/274/6 135/368/6 134/275/6 +f 2/1/1 4/2/1 3/3/1 +f 7/4/2 6/5/2 5/6/2 +f 11/7/2 10/8/2 9/9/2 +f 15/10/2 14/11/2 13/12/2 +f 19/13/2 18/14/2 17/15/2 +f 23/16/2 22/17/2 21/18/2 +f 27/19/1 25/20/1 26/21/1 +f 31/22/1 29/23/1 30/24/1 +f 35/25/1 33/26/1 34/27/1 +f 39/28/1 37/29/1 38/30/1 +f 17/31/3 33/32/3 19/33/3 +f 10/34/4 26/35/4 9/36/4 +f 18/37/4 34/38/4 17/39/4 +f 12/40/5 27/41/5 10/8/5 +f 20/42/5 35/43/5 18/14/5 +f 11/7/6 28/44/6 12/45/6 +f 5/46/3 4/47/3 7/48/3 +f 19/13/6 36/49/6 20/50/6 +f 13/51/3 29/52/3 15/53/3 +f 6/54/4 3/55/4 5/56/4 +f 21/57/3 37/58/3 23/59/3 +f 14/60/4 30/61/4 13/62/4 +f 8/63/5 2/64/5 6/5/5 +f 22/65/4 38/66/4 21/67/4 +f 16/68/5 31/69/5 14/11/5 +f 7/4/6 1/70/6 8/71/6 +f 24/72/5 39/73/5 22/17/5 +f 15/10/6 32/74/6 16/75/6 +f 9/76/3 25/77/3 11/78/3 +f 23/16/6 40/79/6 24/80/6 +f 149/81/5 42/82/5 141/83/5 +f 145/84/3 43/85/3 137/86/3 +f 49/87/3 157/88/3 153/89/3 +f 46/90/4 49/91/4 42/92/4 +f 48/93/1 160/94/1 152/95/1 +f 42/82/2 153/96/2 141/83/2 +f 44/97/6 52/98/6 48/99/6 +f 53/100/5 165/101/5 161/102/5 +f 45/103/1 168/104/1 148/105/1 +f 43/106/2 161/102/2 137/107/2 +f 47/108/6 53/109/6 43/110/6 +f 41/111/4 56/112/4 45/113/4 +f 61/114/3 59/115/3 57/116/3 +f 63/117/6 60/118/6 59/119/6 +f 62/120/4 57/121/4 58/122/4 +f 64/123/5 58/124/5 60/125/5 +f 61/114/1 64/123/1 63/117/1 +f 69/126/3 67/127/3 65/128/3 +f 71/129/6 68/130/6 67/131/6 +f 70/132/4 65/133/4 66/134/4 +f 72/135/5 66/136/5 68/137/5 +f 69/126/1 72/135/1 71/129/1 +f 77/138/3 75/139/3 73/140/3 +f 79/141/6 76/142/6 75/143/6 +f 78/144/4 73/145/4 74/146/4 +f 80/147/5 74/148/5 76/149/5 +f 77/138/1 80/147/1 79/141/1 +f 85/150/3 83/151/3 81/152/3 +f 87/153/6 84/154/6 83/155/6 +f 86/156/4 81/157/4 82/158/4 +f 88/159/5 82/160/5 84/161/5 +f 85/150/1 88/159/1 87/153/1 +f 93/162/3 91/163/3 89/164/3 +f 95/165/6 92/166/6 91/167/6 +f 94/168/4 89/169/4 90/170/4 +f 96/171/5 90/172/5 92/173/5 +f 93/162/1 96/171/1 95/165/1 +f 101/174/3 99/175/3 97/176/3 +f 103/177/6 100/178/6 99/179/6 +f 102/180/4 97/181/4 98/182/4 +f 104/183/5 98/184/5 100/185/5 +f 101/174/1 104/183/1 103/177/1 +f 109/186/3 107/187/3 105/188/3 +f 111/189/6 108/190/6 107/191/6 +f 110/192/4 105/193/4 106/194/4 +f 112/195/5 106/196/5 108/197/5 +f 109/186/1 112/195/1 111/189/1 +f 117/198/3 115/199/3 113/200/3 +f 119/201/6 116/202/6 115/203/6 +f 118/204/4 113/205/4 114/206/4 +f 120/207/5 114/208/5 116/209/5 +f 117/198/1 120/207/1 119/201/1 +f 125/210/3 123/211/3 121/212/3 +f 127/213/6 124/214/6 123/215/6 +f 126/216/4 121/217/4 122/218/4 +f 128/219/5 122/220/5 124/221/5 +f 125/210/1 128/219/1 127/213/1 +f 133/222/3 131/223/3 129/224/3 +f 135/225/6 132/226/6 131/227/6 +f 134/228/4 129/229/4 130/230/4 +f 136/231/5 130/232/5 132/233/5 +f 133/222/1 136/231/1 135/225/1 +f 140/234/2 54/235/2 41/236/2 +f 139/237/2 164/238/2 140/239/2 +f 138/240/2 163/241/2 139/242/2 +f 137/243/2 162/244/2 138/245/2 +f 145/84/1 55/246/1 47/247/1 +f 146/248/1 165/249/1 145/250/1 +f 147/251/1 166/252/1 146/253/1 +f 148/254/1 167/255/1 147/256/1 +f 164/257/5 56/258/5 54/235/5 +f 163/259/5 168/260/5 164/238/5 +f 162/261/5 167/262/5 163/241/5 +f 161/263/5 166/264/5 162/244/5 +f 144/265/2 50/266/2 44/267/2 +f 143/268/2 156/269/2 144/270/2 +f 142/271/2 155/272/2 143/273/2 +f 141/274/2 154/275/2 142/276/2 +f 149/81/1 51/277/1 46/278/1 +f 150/279/1 157/280/1 149/281/1 +f 151/282/1 158/283/1 150/284/1 +f 152/285/1 159/286/1 151/287/1 +f 156/288/3 52/289/3 50/290/3 +f 155/291/3 160/292/3 156/293/3 +f 154/294/3 159/295/3 155/296/3 +f 153/297/3 158/298/3 154/299/3 +f 45/103/3 140/300/3 41/301/3 +f 148/254/3 139/302/3 140/303/3 +f 147/251/3 138/304/3 139/305/3 +f 146/248/3 137/306/3 138/307/3 +f 48/93/5 144/265/5 44/267/5 +f 152/285/5 143/268/5 144/270/5 +f 151/282/5 142/271/5 143/273/5 +f 150/279/5 141/274/5 142/276/5 +f 2/1/1 1/70/1 4/2/1 +f 7/4/2 8/71/2 6/5/2 +f 11/7/2 12/45/2 10/8/2 +f 15/10/2 16/75/2 14/11/2 +f 19/13/2 20/50/2 18/14/2 +f 23/16/2 24/80/2 22/17/2 +f 27/19/1 28/44/1 25/20/1 +f 31/22/1 32/74/1 29/23/1 +f 35/25/1 36/49/1 33/26/1 +f 39/28/1 40/79/1 37/29/1 +f 17/31/3 34/308/3 33/32/3 +f 10/34/4 27/309/4 26/35/4 +f 18/37/4 35/310/4 34/38/4 +f 12/40/5 28/311/5 27/41/5 +f 20/42/5 36/312/5 35/43/5 +f 11/7/6 25/20/6 28/44/6 +f 5/46/3 3/313/3 4/47/3 +f 19/13/6 33/26/6 36/49/6 +f 13/51/3 30/314/3 29/52/3 +f 6/54/4 2/315/4 3/55/4 +f 21/57/3 38/316/3 37/58/3 +f 14/60/4 31/317/4 30/61/4 +f 8/63/5 1/318/5 2/64/5 +f 22/65/4 39/319/4 38/66/4 +f 16/68/5 32/320/5 31/69/5 +f 7/4/6 4/2/6 1/70/6 +f 24/72/5 40/321/5 39/73/5 +f 15/10/6 29/23/6 32/74/6 +f 9/76/3 26/322/3 25/77/3 +f 23/16/6 37/29/6 40/79/6 +f 149/81/5 46/278/5 42/82/5 +f 145/84/3 47/247/3 43/85/3 +f 49/87/3 51/277/3 157/88/3 +f 46/90/4 51/323/4 49/91/4 +f 48/93/1 52/289/1 160/94/1 +f 42/82/2 49/324/2 153/96/2 +f 44/97/6 50/325/6 52/98/6 +f 53/100/5 55/246/5 165/101/5 +f 45/103/1 56/258/1 168/104/1 +f 43/106/2 53/100/2 161/102/2 +f 47/108/6 55/326/6 53/109/6 +f 41/111/4 54/327/4 56/112/4 +f 61/114/3 63/117/3 59/115/3 +f 63/117/6 64/123/6 60/118/6 +f 62/120/4 61/114/4 57/121/4 +f 64/123/5 62/120/5 58/124/5 +f 61/114/1 62/120/1 64/123/1 +f 69/126/3 71/129/3 67/127/3 +f 71/129/6 72/135/6 68/130/6 +f 70/132/4 69/126/4 65/133/4 +f 72/135/5 70/132/5 66/136/5 +f 69/126/1 70/132/1 72/135/1 +f 77/138/3 79/141/3 75/139/3 +f 79/141/6 80/147/6 76/142/6 +f 78/144/4 77/138/4 73/145/4 +f 80/147/5 78/144/5 74/148/5 +f 77/138/1 78/144/1 80/147/1 +f 85/150/3 87/153/3 83/151/3 +f 87/153/6 88/159/6 84/154/6 +f 86/156/4 85/150/4 81/157/4 +f 88/159/5 86/156/5 82/160/5 +f 85/150/1 86/156/1 88/159/1 +f 93/162/3 95/165/3 91/163/3 +f 95/165/6 96/171/6 92/166/6 +f 94/168/4 93/162/4 89/169/4 +f 96/171/5 94/168/5 90/172/5 +f 93/162/1 94/168/1 96/171/1 +f 101/174/3 103/177/3 99/175/3 +f 103/177/6 104/183/6 100/178/6 +f 102/180/4 101/174/4 97/181/4 +f 104/183/5 102/180/5 98/184/5 +f 101/174/1 102/180/1 104/183/1 +f 109/186/3 111/189/3 107/187/3 +f 111/189/6 112/195/6 108/190/6 +f 110/192/4 109/186/4 105/193/4 +f 112/195/5 110/192/5 106/196/5 +f 109/186/1 110/192/1 112/195/1 +f 117/198/3 119/201/3 115/199/3 +f 119/201/6 120/207/6 116/202/6 +f 118/204/4 117/198/4 113/205/4 +f 120/207/5 118/204/5 114/208/5 +f 117/198/1 118/204/1 120/207/1 +f 125/210/3 127/213/3 123/211/3 +f 127/213/6 128/219/6 124/214/6 +f 126/216/4 125/210/4 121/217/4 +f 128/219/5 126/216/5 122/220/5 +f 125/210/1 126/216/1 128/219/1 +f 133/222/3 135/225/3 131/223/3 +f 135/225/6 136/231/6 132/226/6 +f 134/228/4 133/222/4 129/229/4 +f 136/231/5 134/228/5 130/232/5 +f 133/222/1 134/228/1 136/231/1 +f 140/234/2 164/257/2 54/235/2 +f 139/237/2 163/259/2 164/238/2 +f 138/240/2 162/261/2 163/241/2 +f 137/243/2 161/263/2 162/244/2 +f 145/84/1 165/101/1 55/246/1 +f 146/248/1 166/264/1 165/249/1 +f 147/251/1 167/262/1 166/252/1 +f 148/254/1 168/260/1 167/255/1 +f 164/257/5 168/104/5 56/258/5 +f 163/259/5 167/255/5 168/260/5 +f 162/261/5 166/252/5 167/262/5 +f 161/263/5 165/249/5 166/264/5 +f 144/265/2 156/328/2 50/266/2 +f 143/268/2 155/329/2 156/269/2 +f 142/271/2 154/330/2 155/272/2 +f 141/274/2 153/331/2 154/275/2 +f 149/81/1 157/88/1 51/277/1 +f 150/279/1 158/298/1 157/280/1 +f 151/282/1 159/295/1 158/283/1 +f 152/285/1 160/292/1 159/286/1 +f 156/288/3 160/94/3 52/289/3 +f 155/291/3 159/286/3 160/292/3 +f 154/294/3 158/283/3 159/295/3 +f 153/297/3 157/280/3 158/298/3 +f 45/103/3 148/105/3 140/300/3 +f 148/254/3 147/256/3 139/302/3 +f 147/251/3 146/253/3 138/304/3 +f 146/248/3 145/250/3 137/306/3 +f 48/93/5 152/95/5 144/265/5 +f 152/285/5 151/287/5 143/268/5 +f 151/282/5 150/284/5 142/271/5 +f 150/279/5 149/281/5 141/274/5 diff --git a/src/main/resources/assets/hbm/models/blocks/rail_standard_bend.obj b/src/main/resources/assets/hbm/models/blocks/rail_standard_bend.obj new file mode 100644 index 000000000..23702e62b --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/rail_standard_bend.obj @@ -0,0 +1,982 @@ +# Blender v2.79 (sub 0) OBJ File: 'rail_standard_curve.blend' +# www.blender.org +o Plane.001 +v -1.312500 0.062500 0.500000 +v -1.141243 0.062500 -2.858757 +v -1.312500 0.187500 0.500000 +v -1.141243 0.187500 -2.858757 +v -1.097049 0.062500 -2.902951 +v -1.097049 0.187500 -2.902951 +v -1.250000 0.062500 0.500000 +v -1.250000 0.187500 0.500000 +v -4.500000 0.062500 -2.687500 +v -4.500000 0.062500 -4.312500 +v -4.500000 0.187500 -2.687500 +v -4.500000 0.187500 -4.312500 +v -4.500000 0.062500 -4.250000 +v -4.500000 0.187500 -4.250000 +v -4.500000 0.062500 -2.750000 +v -4.500000 0.187500 -2.750000 +v -2.246097 0.062500 -1.753903 +v -0.550519 0.187500 -2.138958 +v -2.246097 0.187500 -1.753903 +v -0.498553 0.187500 -2.173681 +v -0.498553 0.062500 -2.173681 +v -0.550519 0.062500 -2.138958 +v -2.201903 0.062500 -1.798097 +v -2.201903 0.187500 -1.798097 +v -3.675014 0.062500 -2.578888 +v -3.675014 0.187500 -2.578888 +v -3.658838 0.062500 -2.639259 +v -3.658838 0.187500 -2.639259 +v -2.906250 0.062500 -2.260456 +v -2.906250 0.187500 -2.260456 +v -2.875000 0.062500 -2.314582 +v -2.875000 0.187500 -2.314582 +v -1.739544 0.062500 -1.093750 +v -1.739544 0.187500 -1.093750 +v -1.685418 0.062500 -1.125000 +v -1.685418 0.187500 -1.125000 +v -1.421111 0.062500 -0.324986 +v -1.421111 0.187500 -0.324986 +v -1.360741 0.062500 -0.341162 +v -1.360741 0.187500 -0.341162 +v -3.561128 0.187500 -4.220029 +v -3.561128 0.062500 -4.220029 +v -3.573321 0.187500 -4.158730 +v -3.573321 0.062500 -4.158730 +v -2.658336 0.187500 -3.946170 +v -2.658336 0.062500 -3.946170 +v -2.682254 0.187500 -3.888428 +v -2.682254 0.062500 -3.888428 +v -1.826319 0.187500 -3.501447 +v -1.826319 0.062500 -3.501447 +v -1.861041 0.187500 -3.449481 +v -1.861041 0.062500 -3.449481 +v -0.111573 0.062500 -1.317746 +v -0.053831 0.062500 -1.341664 +v -0.053831 0.187500 -1.341664 +v -0.111573 0.187500 -1.317746 +v 0.158730 0.062500 -0.426678 +v 0.220028 0.062500 -0.438872 +v 0.220028 0.187500 -0.438872 +v 0.158730 0.187500 -0.426678 +v 0.250000 0.062500 0.500000 +v 0.312499 0.062500 0.500000 +v 0.312499 0.187500 0.500000 +v 0.250000 0.187500 0.500000 +v -1.501192 0.000000 0.294317 +v 0.481698 0.000000 0.033265 +v -1.550139 0.000000 -0.077475 +v 0.432751 0.000000 -0.338527 +v -1.550139 0.062500 -0.077475 +v -1.501192 0.062500 0.294317 +v 0.481698 0.062500 0.033265 +v 0.432751 0.062500 -0.338527 +v -1.656608 0.000000 -0.474823 +v 0.191151 0.000000 -1.240190 +v -1.800115 0.000000 -0.821278 +v 0.047645 0.000000 -1.586645 +v -1.800115 0.062500 -0.821278 +v -1.656608 0.062500 -0.474823 +v 0.191151 0.062500 -1.240190 +v 0.047645 0.062500 -1.586645 +v -2.005797 0.000000 -1.177531 +v -0.419090 0.000000 -2.395053 +v -2.234083 0.000000 -1.475038 +v -0.647376 0.000000 -2.692561 +v -2.234083 0.062500 -1.475038 +v -2.005797 0.062500 -1.177531 +v -0.419090 0.062500 -2.395053 +v -0.647376 0.062500 -2.692561 +v -2.524962 0.000000 -1.765917 +v -1.307439 0.000000 -3.352624 +v -2.822469 0.000000 -1.994203 +v -1.604947 0.000000 -3.580910 +v -2.822469 0.062500 -1.994203 +v -2.524962 0.062500 -1.765917 +v -1.307439 0.062500 -3.352624 +v -1.604947 0.062500 -3.580910 +v -3.178722 0.000000 -2.199886 +v -2.413356 0.000000 -4.047645 +v -3.525177 0.000000 -2.343392 +v -2.759810 0.000000 -4.191151 +v -3.525177 0.062500 -2.343392 +v -3.178722 0.062500 -2.199886 +v -2.413356 0.062500 -4.047645 +v -2.759810 0.062500 -4.191151 +v -3.922526 0.000000 -2.449861 +v -3.661473 0.000000 -4.432751 +v -4.294317 0.000000 -2.498808 +v -4.033265 0.000000 -4.481698 +v -4.294317 0.062500 -2.498808 +v -3.922526 0.062500 -2.449861 +v -3.661473 0.062500 -4.432751 +v -4.033265 0.062500 -4.481698 +v 0.387101 0.125000 -0.206438 +v 0.077275 0.125000 -0.165649 +v 0.403417 0.125000 -0.082508 +v 0.093590 0.125000 -0.041718 +v 0.387101 0.062500 -0.206438 +v 0.077275 0.062500 -0.165649 +v 0.403417 0.062500 -0.082508 +v 0.093590 0.062500 -0.041718 +v -1.455542 0.062500 0.162229 +v -1.145715 0.062500 0.121439 +v -1.471858 0.062500 0.038298 +v -1.162031 0.062500 -0.002491 +v -1.455542 0.125000 0.162229 +v -1.145715 0.125000 0.121439 +v -1.471858 0.125000 0.038298 +v -1.162031 0.125000 -0.002491 +v 0.037737 0.125000 -1.447242 +v -0.250975 0.125000 -1.327653 +v 0.085573 0.125000 -1.331757 +v -0.203139 0.125000 -1.212168 +v 0.037737 0.062500 -1.447242 +v -0.250975 0.062500 -1.327653 +v 0.085573 0.062500 -1.331757 +v -0.203139 0.062500 -1.212168 +v -1.646701 0.062500 -0.614226 +v -1.357989 0.062500 -0.733814 +v -1.694537 0.062500 -0.729711 +v -1.405824 0.062500 -0.849299 +v -1.646701 0.125000 -0.614226 +v -1.357989 0.125000 -0.733814 +v -1.694537 0.125000 -0.729711 +v -1.405824 0.125000 -0.849299 +v -0.620866 0.125000 -2.555344 +v -0.868788 0.125000 -2.365106 +v -0.544770 0.125000 -2.456175 +v -0.792693 0.125000 -2.265937 +v -0.620866 0.062500 -2.555344 +v -0.868788 0.062500 -2.365106 +v -0.544770 0.062500 -2.456175 +v -0.792693 0.062500 -2.265937 +v -2.032308 0.062500 -1.314747 +v -1.784385 0.062500 -1.504985 +v -2.108403 0.062500 -1.413917 +v -1.860480 0.062500 -1.604154 +v -2.032308 0.125000 -1.314747 +v -1.784385 0.125000 -1.504985 +v -2.108403 0.125000 -1.413917 +v -1.860480 0.125000 -1.604154 +v -1.543825 0.125000 -3.455230 +v -1.734063 0.125000 -3.207307 +v -1.444656 0.125000 -3.379134 +v -1.634893 0.125000 -3.131212 +v -1.543825 0.062500 -3.455230 +v -1.734063 0.062500 -3.207307 +v -1.444656 0.062500 -3.379134 +v -1.634893 0.062500 -3.131212 +v -2.586083 0.062500 -1.891597 +v -2.395845 0.062500 -2.139520 +v -2.685253 0.062500 -1.967692 +v -2.495015 0.062500 -2.215615 +v -2.586083 0.125000 -1.891597 +v -2.395845 0.125000 -2.139520 +v -2.685253 0.125000 -1.967692 +v -2.495015 0.125000 -2.215615 +v -2.668243 0.125000 -4.085573 +v -2.787832 0.125000 -3.796861 +v -2.552758 0.125000 -4.037737 +v -2.672346 0.125000 -3.749025 +v -2.668243 0.062500 -4.085573 +v -2.787832 0.062500 -3.796861 +v -2.552758 0.062500 -4.037737 +v -2.672346 0.062500 -3.749025 +v -3.270289 0.062500 -2.305463 +v -3.150701 0.062500 -2.594176 +v -3.385775 0.062500 -2.353299 +v -3.266186 0.062500 -2.642011 +v -3.270289 0.125000 -2.305463 +v -3.150701 0.125000 -2.594176 +v -3.385775 0.125000 -2.353299 +v -3.266186 0.125000 -2.642011 +v -3.917492 0.125000 -4.403417 +v -3.958282 0.125000 -4.093591 +v -3.793562 0.125000 -4.387100 +v -3.834351 0.125000 -4.077275 +v -3.917492 0.062500 -4.403417 +v -3.958282 0.062500 -4.093591 +v -3.793562 0.062500 -4.387100 +v -3.834351 0.062500 -4.077275 +v -4.038298 0.062500 -2.528142 +v -3.997509 0.062500 -2.837969 +v -4.162229 0.062500 -2.544458 +v -4.121440 0.062500 -2.854284 +v -4.038298 0.125000 -2.528142 +v -3.997509 0.125000 -2.837969 +v -4.162229 0.125000 -2.544458 +v -4.121440 0.125000 -2.854284 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.718750 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.656250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.656250 +vt 0.437500 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.593750 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.531250 0.156250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.156250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.500000 0.718750 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.218750 1.000000 +vt 0.187500 0.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 1.000000 +vt 0.218750 0.000000 +vt 0.406250 0.000000 +vt -0.000000 1.000000 +vt 0.187500 0.000000 +vt 0.187500 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.218750 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.062500 +vt 0.593750 0.125000 +vt 0.437500 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.062500 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.500000 0.718750 +vt 0.531250 0.656250 +vt 0.500000 0.718750 +vt 0.406250 0.156250 +vt 0.406250 0.156250 +vt 0.531250 0.156250 +vt 0.406250 0.156250 +vt 0.406250 0.156250 +vt 0.593750 0.656250 +vt 0.406250 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.656250 +vt 0.406250 0.656250 +vt 0.531250 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.531250 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.656250 +vt 0.531250 0.656250 +vt 0.531250 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.656250 +vt 0.531250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt -0.000000 0.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vn 0.7730 0.0000 -0.6344 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.6344 0.0000 -0.7730 +vn 0.0000 -1.0000 0.0000 +vn -0.1305 0.0000 0.9914 +vn 0.0000 1.0000 0.0000 +vn 0.1305 0.0000 -0.9914 +vn 0.3827 0.0000 -0.9239 +vn -0.3827 0.0000 0.9239 +vn 0.6088 0.0000 -0.7934 +vn -0.6088 0.0000 0.7934 +vn 0.7934 0.0000 -0.6088 +vn -0.7934 0.0000 0.6088 +vn 0.9914 0.0000 -0.1305 +vn 0.9239 0.0000 -0.3827 +vn -0.9239 0.0000 0.3827 +vn -0.9914 0.0000 0.1305 +vn -0.0980 0.0000 0.9952 +vn 0.0980 0.0000 -0.9952 +vn 0.2903 0.0000 -0.9569 +vn -0.2903 0.0000 0.9569 +vn -0.4714 0.0000 0.8819 +vn 0.4714 0.0000 -0.8819 +vn -0.6344 0.0000 0.7730 +vn -0.7730 0.0000 0.6344 +vn 0.9569 0.0000 -0.2903 +vn 0.8819 0.0000 -0.4714 +vn -0.8819 0.0000 0.4714 +vn -0.9952 0.0000 0.0980 +vn -0.9569 0.0000 0.2903 +vn 0.9952 0.0000 -0.0980 +vn 0.1305 0.0000 0.9914 +vn -0.1305 0.0000 -0.9914 +vn 0.3827 0.0000 0.9239 +vn -0.3827 0.0000 -0.9239 +vn 0.6088 0.0000 0.7934 +vn -0.6088 0.0000 -0.7934 +vn 0.7934 0.0000 0.6088 +vn -0.7934 0.0000 -0.6088 +vn 0.9239 0.0000 0.3827 +vn -0.9239 0.0000 -0.3827 +vn 0.9914 0.0000 0.1305 +vn -0.9914 0.0000 -0.1305 +s off +f 20/1/1 5/2/1 6/3/1 +f 7/4/2 3/5/2 1/6/2 +f 10/7/3 14/8/3 12/9/3 +f 11/10/3 15/11/3 9/12/3 +f 6/13/4 50/14/4 49/15/4 +f 35/16/5 17/17/5 23/18/5 +f 31/19/5 25/20/5 27/21/5 +f 25/22/6 11/23/6 9/24/6 +f 11/23/7 28/25/7 16/26/7 +f 27/27/5 9/28/5 15/29/5 +f 28/25/8 15/29/8 16/26/8 +f 23/30/5 29/31/5 31/32/5 +f 32/33/9 27/21/9 28/34/9 +f 30/35/7 28/34/7 26/36/7 +f 29/37/10 26/36/10 25/38/10 +f 23/30/11 32/39/11 24/40/11 +f 24/40/7 30/41/7 19/42/7 +f 30/41/12 17/43/12 19/42/12 +f 39/44/5 33/45/5 35/46/5 +f 36/47/13 23/18/13 24/48/13 +f 33/49/14 19/50/14 17/51/14 +f 19/50/7 36/47/7 24/48/7 +f 7/52/15 40/53/15 8/54/15 +f 40/55/16 35/46/16 36/56/16 +f 34/57/7 40/55/7 36/56/7 +f 37/58/17 34/57/17 33/59/17 +f 8/54/7 38/60/7 3/61/7 +f 38/60/18 1/62/18 3/61/18 +f 1/63/5 39/64/5 7/52/5 +f 43/65/7 45/66/7 41/67/7 +f 14/68/7 41/69/7 12/70/7 +f 42/71/5 13/72/5 10/73/5 +f 44/74/19 14/68/19 13/75/19 +f 41/69/20 10/73/20 12/70/20 +f 50/76/5 48/77/5 46/78/5 +f 45/66/21 42/79/21 41/67/21 +f 46/80/5 44/81/5 42/79/5 +f 48/82/22 43/65/22 44/83/22 +f 51/84/7 6/13/7 49/15/7 +f 52/85/23 47/86/23 48/87/23 +f 47/86/7 49/88/7 45/89/7 +f 49/88/24 46/78/24 45/89/24 +f 5/90/5 52/91/5 50/14/5 +f 2/92/25 51/84/25 52/93/25 +f 54/94/5 22/95/5 21/96/5 +f 4/97/7 20/1/7 6/3/7 +f 21/98/5 2/99/5 5/2/5 +f 22/100/26 4/97/26 2/101/26 +f 59/102/27 54/103/27 55/104/27 +f 55/105/28 21/96/28 20/106/28 +f 18/107/7 55/105/7 20/106/7 +f 53/108/29 18/107/29 22/109/29 +f 61/110/30 60/111/30 57/112/30 +f 56/113/7 59/102/7 55/104/7 +f 57/114/31 56/113/31 53/115/31 +f 58/116/5 53/117/5 54/103/5 +f 64/118/2 62/119/2 63/120/2 +f 62/121/5 57/122/5 58/123/5 +f 63/124/32 58/123/32 59/125/32 +f 60/111/7 63/124/7 59/125/7 +f 67/126/5 66/127/5 65/128/5 +f 71/129/7 69/130/7 70/131/7 +f 65/132/18 69/133/18 67/134/18 +f 66/135/33 70/136/33 65/137/33 +f 68/138/15 71/139/15 66/127/15 +f 67/126/34 72/140/34 68/141/34 +f 75/142/5 74/143/5 73/144/5 +f 79/145/7 77/146/7 78/147/7 +f 73/148/17 77/149/17 75/150/17 +f 74/151/35 78/152/35 73/153/35 +f 76/154/16 79/155/16 74/143/16 +f 75/142/36 80/156/36 76/157/36 +f 81/158/5 84/159/5 82/160/5 +f 87/161/7 85/162/7 86/163/7 +f 81/164/14 85/165/14 83/166/14 +f 82/167/37 86/168/37 81/169/37 +f 84/170/13 87/171/13 82/160/13 +f 83/172/38 88/173/38 84/159/38 +f 91/174/5 90/175/5 89/176/5 +f 95/177/7 93/178/7 94/179/7 +f 89/180/12 93/181/12 91/182/12 +f 90/183/39 94/184/39 89/185/39 +f 92/186/11 95/187/11 90/175/11 +f 91/174/40 96/188/40 92/189/40 +f 97/190/5 100/191/5 98/192/5 +f 102/193/7 104/194/7 101/195/7 +f 97/196/10 101/197/10 99/198/10 +f 98/199/41 102/200/41 97/201/41 +f 100/202/9 103/203/9 98/192/9 +f 99/204/42 104/194/42 100/191/42 +f 107/205/5 106/206/5 105/207/5 +f 111/208/7 109/209/7 110/210/7 +f 105/211/6 109/212/6 107/213/6 +f 106/214/43 110/215/43 105/216/43 +f 108/217/8 111/218/8 106/206/8 +f 107/205/44 112/219/44 108/220/44 +f 125/221/18 123/222/18 121/223/18 +f 114/224/7 115/225/7 113/226/7 +f 113/226/15 119/227/15 117/228/15 +f 115/225/33 120/229/33 119/230/33 +f 114/224/34 117/231/34 118/232/34 +f 116/233/18 118/234/18 120/235/18 +f 127/236/34 124/237/34 123/238/34 +f 126/239/33 121/240/33 122/241/33 +f 128/242/15 122/243/15 124/244/15 +f 125/221/7 128/242/7 127/236/7 +f 141/245/17 139/246/17 137/247/17 +f 130/248/7 131/249/7 129/250/7 +f 129/250/16 135/251/16 133/252/16 +f 131/249/35 136/253/35 135/254/35 +f 130/248/36 133/255/36 134/256/36 +f 132/257/17 134/258/17 136/259/17 +f 143/260/36 140/261/36 139/262/36 +f 142/263/35 137/264/35 138/265/35 +f 144/266/16 138/267/16 140/268/16 +f 141/245/7 144/266/7 143/260/7 +f 157/269/14 155/270/14 153/271/14 +f 148/272/7 145/273/7 146/274/7 +f 145/273/13 151/275/13 149/276/13 +f 147/277/37 152/278/37 151/279/37 +f 146/274/38 149/280/38 150/281/38 +f 148/272/14 150/282/14 152/283/14 +f 159/284/38 156/285/38 155/286/38 +f 158/287/37 153/288/37 154/289/37 +f 160/290/13 154/291/13 156/292/13 +f 157/269/7 160/290/7 159/284/7 +f 173/293/12 171/294/12 169/295/12 +f 162/296/7 163/297/7 161/298/7 +f 161/298/11 167/299/11 165/300/11 +f 163/297/39 168/301/39 167/302/39 +f 162/296/40 165/303/40 166/304/40 +f 164/305/12 166/306/12 168/307/12 +f 175/308/40 172/309/40 171/310/40 +f 174/311/39 169/312/39 170/313/39 +f 176/314/11 170/315/11 172/316/11 +f 173/293/7 176/314/7 175/308/7 +f 189/317/10 187/318/10 185/319/10 +f 178/320/7 179/321/7 177/322/7 +f 177/322/9 183/323/9 181/324/9 +f 179/321/41 184/325/41 183/326/41 +f 178/320/42 181/327/42 182/328/42 +f 180/329/10 182/330/10 184/331/10 +f 191/332/42 188/333/42 187/334/42 +f 190/335/41 185/336/41 186/337/41 +f 192/338/9 186/339/9 188/340/9 +f 191/332/7 190/335/7 192/338/7 +f 205/341/6 203/342/6 201/343/6 +f 194/344/7 195/345/7 193/346/7 +f 193/346/8 199/347/8 197/348/8 +f 195/345/43 200/349/43 199/350/43 +f 194/344/44 197/351/44 198/352/44 +f 196/353/6 198/354/6 200/355/6 +f 207/356/44 204/357/44 203/358/44 +f 206/359/43 201/360/43 202/361/43 +f 208/362/8 202/363/8 204/364/8 +f 207/356/7 206/359/7 208/362/7 +f 20/1/1 21/98/1 5/2/1 +f 7/4/2 8/365/2 3/5/2 +f 10/7/3 13/366/3 14/8/3 +f 11/10/3 16/367/3 15/11/3 +f 6/13/4 5/90/4 50/14/4 +f 35/16/5 33/368/5 17/17/5 +f 31/19/5 29/369/5 25/20/5 +f 25/22/6 26/370/6 11/23/6 +f 11/23/7 26/370/7 28/25/7 +f 27/27/5 25/371/5 9/28/5 +f 28/25/8 27/27/8 15/29/8 +f 23/30/5 17/372/5 29/31/5 +f 32/33/9 31/19/9 27/21/9 +f 30/35/7 32/33/7 28/34/7 +f 29/37/10 30/35/10 26/36/10 +f 23/30/11 31/32/11 32/39/11 +f 24/40/7 32/39/7 30/41/7 +f 30/41/12 29/373/12 17/43/12 +f 39/44/5 37/374/5 33/45/5 +f 36/47/13 35/16/13 23/18/13 +f 33/49/14 34/375/14 19/50/14 +f 19/50/7 34/375/7 36/47/7 +f 7/52/15 39/64/15 40/53/15 +f 40/55/16 39/44/16 35/46/16 +f 34/57/7 38/376/7 40/55/7 +f 37/58/17 38/376/17 34/57/17 +f 8/54/7 40/53/7 38/60/7 +f 38/60/18 37/377/18 1/62/18 +f 1/63/5 37/378/5 39/64/5 +f 43/65/7 47/379/7 45/66/7 +f 14/68/7 43/380/7 41/69/7 +f 42/71/5 44/381/5 13/72/5 +f 44/74/19 43/380/19 14/68/19 +f 41/69/20 42/71/20 10/73/20 +f 50/76/5 52/382/5 48/77/5 +f 45/66/21 46/80/21 42/79/21 +f 46/80/5 48/383/5 44/81/5 +f 48/82/22 47/379/22 43/65/22 +f 51/84/7 4/384/7 6/13/7 +f 52/85/23 51/385/23 47/86/23 +f 47/86/7 51/385/7 49/88/7 +f 49/88/24 50/76/24 46/78/24 +f 5/90/5 2/386/5 52/91/5 +f 2/92/25 4/384/25 51/84/25 +f 54/94/5 53/387/5 22/95/5 +f 4/97/7 18/388/7 20/1/7 +f 21/98/5 22/389/5 2/99/5 +f 22/100/26 18/388/26 4/97/26 +f 59/102/27 58/116/27 54/103/27 +f 55/105/28 54/94/28 21/96/28 +f 18/107/7 56/390/7 55/105/7 +f 53/108/29 56/390/29 18/107/29 +f 61/110/30 64/391/30 60/111/30 +f 56/113/7 60/392/7 59/102/7 +f 57/114/31 60/392/31 56/113/31 +f 58/116/5 57/393/5 53/117/5 +f 64/118/2 61/394/2 62/119/2 +f 62/121/5 61/395/5 57/122/5 +f 63/124/32 62/121/32 58/123/32 +f 60/111/7 64/391/7 63/124/7 +f 67/126/5 68/141/5 66/127/5 +f 71/129/7 72/140/7 69/130/7 +f 65/132/18 70/396/18 69/133/18 +f 66/135/33 71/397/33 70/136/33 +f 68/138/15 72/398/15 71/139/15 +f 67/126/34 69/130/34 72/140/34 +f 75/142/5 76/157/5 74/143/5 +f 79/145/7 80/156/7 77/146/7 +f 73/148/17 78/399/17 77/149/17 +f 74/151/35 79/400/35 78/152/35 +f 76/154/16 80/401/16 79/155/16 +f 75/142/36 77/146/36 80/156/36 +f 81/158/5 83/172/5 84/159/5 +f 87/161/7 88/173/7 85/162/7 +f 81/164/14 86/402/14 85/165/14 +f 82/167/37 87/403/37 86/168/37 +f 84/170/13 88/404/13 87/171/13 +f 83/172/38 85/162/38 88/173/38 +f 91/174/5 92/189/5 90/175/5 +f 95/177/7 96/188/7 93/178/7 +f 89/180/12 94/405/12 93/181/12 +f 90/183/39 95/406/39 94/184/39 +f 92/186/11 96/407/11 95/187/11 +f 91/174/40 93/178/40 96/188/40 +f 97/190/5 99/204/5 100/191/5 +f 102/193/7 103/408/7 104/194/7 +f 97/196/10 102/409/10 101/197/10 +f 98/199/41 103/410/41 102/200/41 +f 100/202/9 104/411/9 103/203/9 +f 99/204/42 101/195/42 104/194/42 +f 107/205/5 108/220/5 106/206/5 +f 111/208/7 112/219/7 109/209/7 +f 105/211/6 110/412/6 109/212/6 +f 106/214/43 111/413/43 110/215/43 +f 108/217/8 112/414/8 111/218/8 +f 107/205/44 109/209/44 112/219/44 +f 125/221/18 127/236/18 123/222/18 +f 114/224/7 116/233/7 115/225/7 +f 113/226/15 115/225/15 119/227/15 +f 115/225/33 116/233/33 120/229/33 +f 114/224/34 113/226/34 117/231/34 +f 116/233/18 114/224/18 118/234/18 +f 127/236/34 128/242/34 124/237/34 +f 126/239/33 125/221/33 121/240/33 +f 128/242/15 126/239/15 122/243/15 +f 125/221/7 126/239/7 128/242/7 +f 141/245/17 143/260/17 139/246/17 +f 130/248/7 132/257/7 131/249/7 +f 129/250/16 131/249/16 135/251/16 +f 131/249/35 132/257/35 136/253/35 +f 130/248/36 129/250/36 133/255/36 +f 132/257/17 130/248/17 134/258/17 +f 143/260/36 144/266/36 140/261/36 +f 142/263/35 141/245/35 137/264/35 +f 144/266/16 142/263/16 138/267/16 +f 141/245/7 142/263/7 144/266/7 +f 157/269/14 159/284/14 155/270/14 +f 148/272/7 147/277/7 145/273/7 +f 145/273/13 147/277/13 151/275/13 +f 147/277/37 148/272/37 152/278/37 +f 146/274/38 145/273/38 149/280/38 +f 148/272/14 146/274/14 150/282/14 +f 159/284/38 160/290/38 156/285/38 +f 158/287/37 157/269/37 153/288/37 +f 160/290/13 158/287/13 154/291/13 +f 157/269/7 158/287/7 160/290/7 +f 173/293/12 175/308/12 171/294/12 +f 162/296/7 164/305/7 163/297/7 +f 161/298/11 163/297/11 167/299/11 +f 163/297/39 164/305/39 168/301/39 +f 162/296/40 161/298/40 165/303/40 +f 164/305/12 162/296/12 166/306/12 +f 175/308/40 176/314/40 172/309/40 +f 174/311/39 173/293/39 169/312/39 +f 176/314/11 174/311/11 170/315/11 +f 173/293/7 174/311/7 176/314/7 +f 189/317/10 191/332/10 187/318/10 +f 178/320/7 180/329/7 179/321/7 +f 177/322/9 179/321/9 183/323/9 +f 179/321/41 180/329/41 184/325/41 +f 178/320/42 177/322/42 181/327/42 +f 180/329/10 178/320/10 182/330/10 +f 191/332/42 192/338/42 188/333/42 +f 190/335/41 189/317/41 185/336/41 +f 192/338/9 190/335/9 186/339/9 +f 191/332/7 189/317/7 190/335/7 +f 205/341/6 207/356/6 203/342/6 +f 194/344/7 196/353/7 195/345/7 +f 193/346/8 195/345/8 199/347/8 +f 195/345/43 196/353/43 200/349/43 +f 194/344/44 193/346/44 197/351/44 +f 196/353/6 194/344/6 198/354/6 +f 207/356/44 208/362/44 204/357/44 +f 206/359/43 205/341/43 201/360/43 +f 208/362/8 206/359/8 202/363/8 +f 207/356/7 205/341/7 206/359/7 diff --git a/src/main/resources/assets/hbm/textures/blocks/rail_standard_straight.png b/src/main/resources/assets/hbm/textures/blocks/rail_standard_straight.png new file mode 100644 index 0000000000000000000000000000000000000000..649fbd388e9de62f307e51c25836daf08e0caa40 GIT binary patch literal 467 zcmV;^0WAKBP)U5Jf*I1wu)OOC&C|S3ufZP^=Ke7TjVbuCT}83Upht zog?HfDIyzihFJjl`_mA&j?K?{f0U%8j(nJ9O)cG=-z%elc zKfk>jh@xmVfn#C@thfkY5xp~zCJM%wS%h{$iisNlfc~msj3Fm+OvJ$S$NhykCT0M5 zq`JRqauUbH3>+nAVET9S#j&cYRyVRI1Gd7cRC7#1Cx0MK)MCVz6-9B2;~2v*Aj>lM zT$bhP7Cozht=q6iE(5mVP~zBLJ)H%0VeuIr%dI%uuYwk@>Q=(=v70bst*e!8bD&vWt` zwlw~yfg_J&cN*Gi_b(n4Ynq03BWK2L}Mqq5ggqS9K{Xnmmw9}YEwb*=bd`! z7|md2?=p`f#}@%Jn<7+&0L-qcN_mnpyw+{FEl`1PJy`b>5dz?``)dRYz$43JXJ=c7 tvju0M3SZ30#+5q*@a-pQU)WzFClTj9e*3LKoB#j-07*qoL Date: Mon, 5 Jun 2023 16:39:05 +0200 Subject: [PATCH 141/285] fixes, some more pollution stuff --- changelog | 3 +- .../handler/pollution/PollutionHandler.java | 101 +++++++++++++++--- .../hazard/type/HazardTypeHydroactive.java | 3 +- src/main/java/com/hbm/items/ModItems.java | 3 + .../hbm/items/tool/ItemPollutionDetector.java | 32 ++++++ .../java/com/hbm/items/tool/ItemWandD.java | 8 +- .../hbm/textures/items/pollution_detector.png | Bin 0 -> 241 bytes 7 files changed, 133 insertions(+), 17 deletions(-) create mode 100644 src/main/java/com/hbm/items/tool/ItemPollutionDetector.java create mode 100644 src/main/resources/assets/hbm/textures/items/pollution_detector.png diff --git a/changelog b/changelog index 494b463ba..f875507b2 100644 --- a/changelog +++ b/changelog @@ -14,4 +14,5 @@ * Paraffin wax can now also be used to make chlorated petroleum wax * Retextured schrabidium batteries, the cap is now black instead of red -## Fixed \ No newline at end of file +## Fixed +* Fixed hydroreactive stat not applying when an item is dropped in the rain diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index 692ba83a2..fff803ed6 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -4,12 +4,17 @@ import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.HashMap; +import java.util.Locale; import java.util.Map.Entry; import cpw.mods.fml.common.eventhandler.SubscribeEvent; +import cpw.mods.fml.common.gameevent.TickEvent; +import cpw.mods.fml.common.gameevent.TickEvent.Phase; +import cpw.mods.fml.relauncher.Side; import net.minecraft.nbt.CompressedStreamTools; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; +import net.minecraft.util.MathHelper; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; import net.minecraft.world.WorldServer; @@ -19,7 +24,58 @@ public class PollutionHandler { public static final String fileName = "hbmpollution.dat"; public static HashMap perWorld = new HashMap(); + + /////////////////////// + /// UTILITY METHODS /// + /////////////////////// + public static void incrementPollution(World world, int x, int y, int z, PollutionType type, float amount) { + PollutionPerWorld ppw = perWorld.get(world); + if(ppw == null) return; + ChunkCoordIntPair pos = new ChunkCoordIntPair(x >> 6, z >> 6); + PollutionData data = ppw.pollution.get(pos); + if(data == null) { + data = new PollutionData(); + ppw.pollution.put(pos, data); + } + data.pollution[type.ordinal()] = MathHelper.clamp_float(data.pollution[type.ordinal()] + amount, 0F, 10_000F); + } + + public static void decrementPollution(World world, int x, int y, int z, PollutionType type, float amount) { + incrementPollution(world, x, y, z, type, -amount); + } + + public static void setPollution(World world, int x, int y, int z, PollutionType type, float amount) { + PollutionPerWorld ppw = perWorld.get(world); + if(ppw == null) return; + ChunkCoordIntPair pos = new ChunkCoordIntPair(x >> 6, z >> 6); + PollutionData data = ppw.pollution.get(pos); + if(data == null) { + data = new PollutionData(); + ppw.pollution.put(pos, data); + } + data.pollution[type.ordinal()] = amount; + } + + public static float getPollution(World world, int x, int y, int z, PollutionType type) { + PollutionPerWorld ppw = perWorld.get(world); + if(ppw == null) return 0F; + ChunkCoordIntPair pos = new ChunkCoordIntPair(x >> 6, z >> 6); + PollutionData data = ppw.pollution.get(pos); + if(data == null) return 0F; + return data.pollution[type.ordinal()]; + } + + public static PollutionData getPollutionData(World world, int x, int y, int z) { + PollutionPerWorld ppw = perWorld.get(world); + if(ppw == null) return null; + ChunkCoordIntPair pos = new ChunkCoordIntPair(x >> 6, z >> 6); + PollutionData data = ppw.pollution.get(pos); + return data; + } + ////////////////////// + /// EVENT HANDLING /// + ////////////////////// @SubscribeEvent public void onWorldLoad(WorldEvent.Load event) { if(!event.world.isRemote) { @@ -70,16 +126,33 @@ public class PollutionHandler { public String getDataDir(WorldServer world) { String dir = world.getSaveHandler().getWorldDirectory().getAbsolutePath(); - if(world.provider.dimensionId != 0) { dir += File.separator + "DIM" + world.provider.dimensionId; } - dir += File.separator + "data"; - return dir; } + + ////////////////////////// + /// SYSTEM UPDATE LOOP /// + ////////////////////////// + int eggTimer = 0; + @SubscribeEvent + public void updateSystem(TickEvent.ServerTickEvent event) { + + if(event.side == Side.SERVER && event.phase == Phase.END) { + + eggTimer++; + if(eggTimer < 60) return; + eggTimer = 0; + + // TBI + } + } + ////////////////////// + /// DATA STRUCTURE /// + ////////////////////// public static class PollutionPerWorld { public HashMap pollution = new HashMap(); @@ -118,22 +191,26 @@ public class PollutionHandler { } public static class PollutionData { - float soot; - float poison; - float heavyMetal; + public float[] pollution = new float[PollutionType.values().length]; public static PollutionData fromNBT(NBTTagCompound nbt) { PollutionData data = new PollutionData(); - data.soot = nbt.getFloat("soot"); - data.poison = nbt.getFloat("poison"); - data.heavyMetal = nbt.getFloat("heavyMetal"); + + for(int i = 0; i < PollutionType.values().length; i++) { + data.pollution[i] = nbt.getFloat(PollutionType.values()[i].name().toLowerCase(Locale.US)); + } + return data; } public void toNBT(NBTTagCompound nbt) { - nbt.setFloat("soot", soot); - nbt.setFloat("poison", poison); - nbt.setFloat("heavyMetal", heavyMetal); + for(int i = 0; i < PollutionType.values().length; i++) { + nbt.setFloat(PollutionType.values()[i].name().toLowerCase(Locale.US), pollution[i]); + } } } + + public static enum PollutionType { + SOOT, POISON, HEAVYMETAL, FALLOUT; + } } diff --git a/src/main/java/com/hbm/hazard/type/HazardTypeHydroactive.java b/src/main/java/com/hbm/hazard/type/HazardTypeHydroactive.java index 2a2dbb9e5..f7d6a3c49 100644 --- a/src/main/java/com/hbm/hazard/type/HazardTypeHydroactive.java +++ b/src/main/java/com/hbm/hazard/type/HazardTypeHydroactive.java @@ -6,7 +6,6 @@ import com.hbm.config.RadiationConfig; import com.hbm.hazard.modifier.HazardModifier; import com.hbm.util.I18nUtil; -import net.minecraft.block.material.Material; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.item.EntityItem; import net.minecraft.entity.player.EntityPlayer; @@ -33,7 +32,7 @@ public class HazardTypeHydroactive extends HazardTypeBase { if(RadiationConfig.disableHydro) return; - if(item.worldObj.getBlock((int)Math.floor(item.posX), (int)Math.floor(item.posY), (int)Math.floor(item.posZ)).getMaterial() == Material.water) { + if(item.isWet()) { 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/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index fc5d18874..816ecdfe4 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1249,6 +1249,7 @@ public class ModItems { public static Item dosimeter; public static Item geiger_counter; public static Item digamma_diagnostic; + public static Item pollution_detector; public static Item survey_scanner; public static Item mirror_tool; public static Item rbmk_tool; @@ -4575,6 +4576,7 @@ public class ModItems { 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"); 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"); @@ -6725,6 +6727,7 @@ public class ModItems { 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()); //Keys and Locks diff --git a/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java new file mode 100644 index 000000000..ef45af10d --- /dev/null +++ b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java @@ -0,0 +1,32 @@ +package com.hbm.items.tool; + +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.util.ChatBuilder; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; + +public class ItemPollutionDetector extends Item { + + @Override + public void onUpdate(ItemStack stack, World world, Entity entity, int i, boolean bool) { + + if(!(entity instanceof EntityPlayerMP) || world.getTotalWorldTime() % 10 != 0) return; + + PollutionData data = PollutionHandler.getPollutionData(world, (int) Math.floor(entity.posX), (int) Math.floor(entity.posY), (int) Math.floor(entity.posZ)); + if(data == null) data = new PollutionData(); + + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Soot: " + data.pollution[PollutionType.SOOT.ordinal()]).color(EnumChatFormatting.RED).flush(), 100), (EntityPlayerMP) entity); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Poison: " + data.pollution[PollutionType.POISON.ordinal()]).color(EnumChatFormatting.RED).flush(), 101), (EntityPlayerMP) entity); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Heavy metal: " + data.pollution[PollutionType.HEAVYMETAL.ordinal()]).color(EnumChatFormatting.RED).flush(), 102), (EntityPlayerMP) entity); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Fallout: " + data.pollution[PollutionType.FALLOUT.ordinal()]).color(EnumChatFormatting.RED).flush(), 103), (EntityPlayerMP) entity); + } +} diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index 7ea8ad8b7..b165bae10 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -12,6 +12,8 @@ import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; import com.hbm.explosion.vanillant.standard.EntityProcessorStandard; import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard; import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.lib.Library; import com.hbm.packet.PacketDispatcher; import com.hbm.packet.PlayerInformPacket; @@ -43,13 +45,15 @@ public class ItemWandD extends Item { if(pos != null) { - ExplosionVNT vnt = new ExplosionVNT(world, pos.hitVec.xCoord, pos.hitVec.yCoord, pos.hitVec.zCoord, 7); + /*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()); vnt.setEntityProcessor(new EntityProcessorStandard()); vnt.setPlayerProcessor(new PlayerProcessorStandard()); vnt.setSFX(new ExplosionEffectStandard()); - vnt.explode(); + vnt.explode();*/ + + PollutionHandler.incrementPollution(world, pos.blockX, pos.blockY, pos.blockZ, PollutionType.SOOT, 15); /*TimeAnalyzer.startCount("setBlock"); world.setBlock(pos.blockX, pos.blockY, pos.blockZ, Blocks.dirt); diff --git a/src/main/resources/assets/hbm/textures/items/pollution_detector.png b/src/main/resources/assets/hbm/textures/items/pollution_detector.png new file mode 100644 index 0000000000000000000000000000000000000000..b926f8086389a911a67c40c5028aa3f7c47a2d86 GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf Date: Mon, 5 Jun 2023 21:50:33 +0200 Subject: [PATCH 142/285] Update .gitignore --- .gitignore | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.gitignore b/.gitignore index ab2c2acdb..22222fc39 100644 --- a/.gitignore +++ b/.gitignore @@ -26,9 +26,3 @@ run # Changelog backup /changelog.bak -CREDITS-fml.txt -forge-1.7.10-10.13.4.1614-1.7.10-changelog.txt -LICENSE-fml.txt -MinecraftForge-Credits.txt -MinecraftForge-License.txt -README.txt From 41444173d23a805d16853b35ce83a0e87e82a3ce Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 5 Jun 2023 21:50:45 +0200 Subject: [PATCH 143/285] fixed liquefactor being stupid --- changelog | 1 + gradle.properties | 2 +- src/main/java/com/hbm/blocks/ModBlocks.java | 10 +++++----- src/main/java/com/hbm/inventory/RecipesCommon.java | 1 - .../com/hbm/inventory/recipes/LiquefactionRecipes.java | 3 +-- src/main/java/com/hbm/lib/RefStrings.java | 2 +- .../machine/oil/TileEntityMachineLiquefactor.java | 2 +- 7 files changed, 10 insertions(+), 11 deletions(-) diff --git a/changelog b/changelog index f875507b2..9712e87f7 100644 --- a/changelog +++ b/changelog @@ -16,3 +16,4 @@ ## Fixed * Fixed hydroreactive stat not applying when an item is dropped in the rain +* Fixed the liquefactor not working with ore dictionary recipes diff --git a/gradle.properties b/gradle.properties index a7d9d6e1a..c314b14dd 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4613 +mod_build_number=4621 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index b3d95c9c2..c6b28f2b5 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -2134,11 +2134,11 @@ public class ModBlocks { 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(CreativeTabs.tabTransport).setBlockTextureName(RefStrings.MODID + ":rail_narrow_neo"); - rail_narrow_curve = new RailNarrowCurve().setBlockName("rail_narrow_curve").setHardness(5.0F).setResistance(10.0F).setCreativeTab(CreativeTabs.tabTransport).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_curve = new RailStandardCurve().setBlockName("rail_large_curve").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 + ":block_steel"); + 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_curve = new RailStandardCurve().setBlockName("rail_large_curve").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 + ":block_steel"); 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"); diff --git a/src/main/java/com/hbm/inventory/RecipesCommon.java b/src/main/java/com/hbm/inventory/RecipesCommon.java index 2b1191f55..9e963743b 100644 --- a/src/main/java/com/hbm/inventory/RecipesCommon.java +++ b/src/main/java/com/hbm/inventory/RecipesCommon.java @@ -169,7 +169,6 @@ public class RecipesCommon { String[] entries = new String[ids.length]; for(int i = 0; i < ids.length; i++) { - entries[i] = OreDictionary.getOreName(ids[i]); } diff --git a/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java b/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java index 7a663f90d..43ee798ca 100644 --- a/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java @@ -80,13 +80,12 @@ public class LiquefactionRecipes extends SerializableRecipe { if(recipes.containsKey(comp)) return recipes.get(comp); + String[] dictKeys = comp.getDictKeys(); comp = new ComparableStack(stack.getItem(), 1, OreDictionary.WILDCARD_VALUE); if(recipes.containsKey(comp)) return recipes.get(comp); - String[] dictKeys = comp.getDictKeys(); - for(String key : dictKeys) { if(recipes.containsKey(key)) diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 5416fa4d3..3d65e0ba6 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 (4613)"; + public static final String VERSION = "1.0.27 BETA (4621)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version 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 99f9d8bf0..edfeeff30 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineLiquefactor.java @@ -67,7 +67,7 @@ public class TileEntityMachineLiquefactor extends TileEntityMachineBase implemen int power = Math.min(UpgradeManager.getLevel(UpgradeType.POWER), 3); this.processTime = processTimeBase - (processTimeBase / 4) * speed; - this.usage = (usageBase + (usageBase * speed)) / (power + 1); + this.usage = (usageBase + (usageBase * speed)) / (power + 1); if(this.canProcess()) this.process(); From 72078d6b032ec014ba43303076e8f57e97fd6bf6 Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 5 Jun 2023 21:58:16 +0200 Subject: [PATCH 144/285] better safe than sorry --- changelog | 2 ++ src/main/java/com/hbm/main/MainRegistry.java | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/changelog b/changelog index 9712e87f7..2fdd4c818 100644 --- a/changelog +++ b/changelog @@ -1,6 +1,8 @@ ## Added * Laminate glass * A new variant of reinforced glass with higher blast resistance + * Also comes in pane shape +* Reinforced glass panes * Chlorocalcite * A new bedrock ore, the powder can be heated in the combination furnace to make calcium and chlorine * Blocks for cadmium, TC and CD alloy diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 19c93acf9..2f1baa02a 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -905,9 +905,9 @@ public class MainRegistry { MinecraftForge.EVENT_BUS.register(radiationSystem); FMLCommonHandler.instance().bus().register(radiationSystem); - PollutionHandler pollution = new PollutionHandler(); + /*PollutionHandler pollution = new PollutionHandler(); MinecraftForge.EVENT_BUS.register(pollution); - FMLCommonHandler.instance().bus().register(pollution); + FMLCommonHandler.instance().bus().register(pollution);*/ if(event.getSide() == Side.CLIENT) { HbmKeybinds.register(); From 32ae24823a8d55837a4bfcf97c0893efda0294e0 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 6 Jun 2023 15:26:36 +0200 Subject: [PATCH 145/285] soot fog, hostile mob buffs, tiny mass storage, comparator output --- src/main/java/com/hbm/blocks/ModBlocks.java | 7 +- .../com/hbm/blocks/generic/BlockNTMGlass.java | 4 + .../hbm/blocks/generic/BlockNTMGlassPane.java | 37 +++++---- .../hbm/blocks/machine/BlockMassStorage.java | 25 ++++-- .../handler/pollution/PollutionHandler.java | 78 +++++++++++++++++- .../java/com/hbm/main/CraftingManager.java | 1 + src/main/java/com/hbm/main/MainRegistry.java | 4 +- .../com/hbm/main/ModEventHandlerRenderer.java | 32 +++++++ .../java/com/hbm/packet/PermaSyncHandler.java | 18 ++++ .../machine/TileEntityFurnaceCombination.java | 4 + .../machine/TileEntityFurnaceIron.java | 3 + .../machine/TileEntityFurnaceSteel.java | 3 + .../machine/oil/TileEntityMachineCoker.java | 4 + .../oil/TileEntityMachineGasFlare.java | 4 + .../oil/TileEntityMachineRefinery.java | 4 + .../storage/TileEntityMassStorage.java | 10 +++ .../blocks/mass_storage_side_wood.png | Bin 0 -> 526 bytes .../textures/blocks/mass_storage_top_wood.png | Bin 0 -> 545 bytes 18 files changed, 210 insertions(+), 28 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/blocks/mass_storage_side_wood.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/mass_storage_top_wood.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index b93a0a4ec..006621f66 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -31,7 +31,6 @@ 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.BlockPane; import net.minecraft.block.material.*; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.ItemBlock; @@ -1510,13 +1509,13 @@ public class ModBlocks { reinforced_brick = new BlockGeneric(Material.rock).setBlockName("reinforced_brick").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(8000.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(15.0F).setResistance(200.0F); - reinforced_glass_pane = new BlockNTMGlassPane(1, RefStrings.MODID + ":reinforced_glass_pane",RefStrings.MODID + ":reinforced_glass_pane_edge", Material.rock, false).setBlockName("reinforced_glass_pane").setCreativeTab(MainRegistry.blockTab).setLightOpacity(1).setHardness(15.0F).setResistance(200.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(15.0F).setResistance(200.0F); reinforced_light = new BlockGeneric(Material.rock).setBlockName("reinforced_light").setCreativeTab(MainRegistry.blockTab).setLightLevel(1.0F).setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_light"); reinforced_sand = new BlockGeneric(Material.rock).setBlockName("reinforced_sand").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(400.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(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_off"); reinforced_lamp_on = new ReinforcedLamp(Material.rock, true).setBlockName("reinforced_lamp_on").setHardness(15.0F).setResistance(300.0F).setBlockTextureName(RefStrings.MODID + ":reinforced_lamp_on"); - reinforced_laminate = new BlockNTMGlassCT(1, RefStrings.MODID + ":reinforced_laminate", Material.rock).setBlockName("reinforced_laminate").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(1000.0F); - reinforced_laminate_pane = new BlockNTMGlassPane(1, RefStrings.MODID + ":reinforced_laminate_pane",RefStrings.MODID + ":reinforced_laminate_pane_edge", Material.rock, false).setBlockName("reinforced_laminate_pane").setCreativeTab(MainRegistry.blockTab).setLightOpacity(1).setHardness(15.0F).setResistance(1000.0F); + reinforced_laminate = new BlockNTMGlassCT(1, RefStrings.MODID + ":reinforced_laminate", Material.rock, true).setBlockName("reinforced_laminate").setCreativeTab(MainRegistry.blockTab).setLightOpacity(0).setHardness(15.0F).setResistance(1000.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(1000.0F); lamp_tritium_green_off = new ReinforcedLamp(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 ReinforcedLamp(Material.redstoneLight, true).setBlockName("lamp_tritium_green_on").setStepSound(Block.soundTypeGlass).setHardness(3.0F).setBlockTextureName(RefStrings.MODID + ":lamp_tritium_green_on"); diff --git a/src/main/java/com/hbm/blocks/generic/BlockNTMGlass.java b/src/main/java/com/hbm/blocks/generic/BlockNTMGlass.java index 440352102..acfdc1521 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockNTMGlass.java +++ b/src/main/java/com/hbm/blocks/generic/BlockNTMGlass.java @@ -22,19 +22,23 @@ public class BlockNTMGlass extends BlockBreakable { this.doesDrop = doesDrop; } + @Override public int quantityDropped(Random rand) { return doesDrop ? 1 : 0; } + @Override @SideOnly(Side.CLIENT) public int getRenderBlockPass() { return renderLayer; } + @Override public boolean renderAsNormalBlock() { return false; } + @Override protected boolean canSilkHarvest() { return true; } diff --git a/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPane.java b/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPane.java index 7246191aa..204064e52 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPane.java +++ b/src/main/java/com/hbm/blocks/generic/BlockNTMGlassPane.java @@ -1,5 +1,10 @@ package com.hbm.blocks.generic; +import java.util.Random; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; import net.minecraft.block.BlockPane; import net.minecraft.block.material.Material; import net.minecraft.world.IBlockAccess; @@ -25,21 +30,23 @@ public class BlockNTMGlassPane extends BlockPane this.doesDrop = doesDrop; this.opaque = true; this.setLightOpacity(1); - - } - - public boolean canPaneConnectTo(IBlockAccess world, int x, int y, int z, ForgeDirection dir) - { - - if (getIdFromBlock(world.getBlock(x,y,z)) == 0) - return false; - else - return true; - - /*return canPaneConnectToBlock(world.getBlock(x, y, z)) || - world.isSideSolid(x, y, z, dir.getOpposite(), false);*/ - - } + + @Override + public boolean canPaneConnectTo(IBlockAccess world, int x, int y, int z, ForgeDirection dir) { + Block b = world.getBlock(x, y, z); + return super.canPaneConnectTo(world, x, y, z, dir) || b instanceof BlockNTMGlass; + } + + @Override + @SideOnly(Side.CLIENT) + public int getRenderBlockPass() { + return renderLayer; + } + + @Override + public int quantityDropped(Random rand) { + return doesDrop ? 1 : 0; + } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java b/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java index 519011857..a86b9a8db 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java +++ b/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java @@ -47,8 +47,8 @@ public class BlockMassStorage extends BlockContainer implements IBlockMulti, ILo @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { - this.iconTop = new IIcon[3]; - this.iconSide = new IIcon[3]; + this.iconTop = new IIcon[4]; + this.iconSide = new IIcon[4]; this.iconTop[0] = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_top_iron"); this.iconSide[0] = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_side_iron"); @@ -56,14 +56,17 @@ public class BlockMassStorage extends BlockContainer implements IBlockMulti, ILo this.iconSide[1] = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_side_desh"); this.iconTop[2] = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_top"); this.iconSide[2] = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_side"); + this.iconTop[2] = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_top_wood"); + this.iconSide[2] = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_side_wood"); } @Override @SideOnly(Side.CLIENT) public void getSubBlocks(Item item, CreativeTabs tab, List list) { - for(int i = 0; i < getSubCount(); ++i) { - list.add(new ItemStack(item, 1, i)); - } + list.add(new ItemStack(item, 1, 3)); + list.add(new ItemStack(item, 1, 0)); + list.add(new ItemStack(item, 1, 1)); + list.add(new ItemStack(item, 1, 2)); } @Override @@ -84,7 +87,7 @@ public class BlockMassStorage extends BlockContainer implements IBlockMulti, ILo } public int getCapacity(int meta) { - return meta == 0 ? 10_000 : meta == 1 ? 100_000 : meta == 2 ? 1_000_000 : 0; + return meta == 3 ? 100 : meta == 0 ? 10_000 : meta == 1 ? 100_000 : meta == 2 ? 1_000_000 : 0; } @Override @@ -286,4 +289,14 @@ public class BlockMassStorage extends BlockContainer implements IBlockMulti, ILo list.add(String.format("%,d", stack.stackTagCompound.getInteger("stack")) + " / " + String.format("%,d", getCapacity(stack.getItemDamage()))); } } + + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + @Override + public int getComparatorInputOverride(World world, int x, int y, int z, int side) { + return ((TileEntityMassStorage) world.getTileEntity(x, y, z)).redstone; + } } diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index fff803ed6..1881e1019 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -11,6 +11,10 @@ import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.common.gameevent.TickEvent.Phase; import cpw.mods.fml.relauncher.Side; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.attributes.AttributeModifier; +import net.minecraft.entity.monster.IMob; import net.minecraft.nbt.CompressedStreamTools; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; @@ -18,6 +22,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; import net.minecraft.world.WorldServer; +import net.minecraftforge.event.entity.living.LivingSpawnEvent; import net.minecraftforge.event.world.WorldEvent; public class PollutionHandler { @@ -25,6 +30,9 @@ public class PollutionHandler { public static final String fileName = "hbmpollution.dat"; public static HashMap perWorld = new HashMap(); + /** Baserate of soot generation for a furnace-equivalent machine per second */ + public static final float SOOT_PER_SECOND = 1F / 25F; + /////////////////////// /// UTILITY METHODS /// /////////////////////// @@ -145,8 +153,52 @@ public class PollutionHandler { eggTimer++; if(eggTimer < 60) return; eggTimer = 0; + - // TBI + for(Entry entry : perWorld.entrySet()) { + HashMap newPollution = new HashMap(); + + for(Entry chunk : entry.getValue().pollution.entrySet()) { + int x = chunk.getKey().chunkXPos; + int z = chunk.getKey().chunkZPos; + PollutionData data = chunk.getValue(); + + float[] pollutionForNeightbors = new float[PollutionType.values().length]; + int S = PollutionType.SOOT.ordinal(); + int H = PollutionType.HEAVYMETAL.ordinal(); + + /* CALCULATION */ + if(data.pollution[S] > 15) { + pollutionForNeightbors[S] = data.pollution[S] * 0.05F; + data.pollution[S] *= 0.8F; + } else { + data.pollution[S] *= 0.99F; + } + + data.pollution[H] *= 0.999F; + + /* SPREADING */ + //apply new data to self + PollutionData newData = newPollution.get(chunk.getKey()); + if(newData == null) newData = new PollutionData(); + + for(int i = 0; i < newData.pollution.length; i++) newData.pollution[i] += data.pollution[i]; + newPollution.put(chunk.getKey(), newData); + + //apply neighbor data to neighboring chunks + int[][] offsets = new int[][] {{1, 0}, {-1, 0}, {0, 1}, {0, -1}}; + for(int[] offset : offsets) { + ChunkCoordIntPair offPos = new ChunkCoordIntPair(x + offset[0], z + offset[1]); + PollutionData offsetData = newPollution.get(offPos); + if(offsetData == null) offsetData = new PollutionData(); + + for(int i = 0; i < offsetData.pollution.length; i++) offsetData.pollution[i] += pollutionForNeightbors[i]; + newPollution.put(offPos, offsetData); + } + } + + entry.getValue().pollution = newPollution; + } } } @@ -213,4 +265,28 @@ public class PollutionHandler { public static enum PollutionType { SOOT, POISON, HEAVYMETAL, FALLOUT; } + + /////////////////// + /// MOB EFFECTS /// + /////////////////// + + + @SubscribeEvent + public void decorateMob(LivingSpawnEvent event) { + + World world = event.world; + if(world.isRemote) return; + EntityLivingBase living = event.entityLiving; + + PollutionData data = getPollutionData(world, (int) Math.floor(event.x), (int) Math.floor(event.y), (int) Math.floor(event.z)); + if(data == null) return; + + if(living instanceof IMob) { + + if(data.pollution[PollutionType.SOOT.ordinal()] > 15) { + if(living.getEntityAttribute(SharedMonsterAttributes.maxHealth) != null) living.getEntityAttribute(SharedMonsterAttributes.maxHealth).applyModifier(new AttributeModifier("Soot Anger Health Increase", 2D, 1)); + if(living.getEntityAttribute(SharedMonsterAttributes.attackDamage) != null) living.getEntityAttribute(SharedMonsterAttributes.attackDamage).applyModifier(new AttributeModifier("Soot Anger Damage Increase", 1.5D, 1)); + } + } + } } diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 09b4a3f1e..319bf0e9d 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -295,6 +295,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 0), new Object[] { "ICI", "CLC", "ICI", 'I', TI.ingot(), 'C', ModBlocks.crate_steel, 'L', ModItems.circuit_copper }); addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 1), new Object[] { "PCP", "PMP", "PPP", 'P', DESH.ingot(), 'C', ModItems.circuit_red_copper, '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', ModItems.circuit_gold, 'M', new ItemStack(ModBlocks.mass_storage, 1, 1) }); + addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 2), 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', ModItems.circuit_copper, 'M', ModItems.motor, 'W', Blocks.crafting_table }); 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 }); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 2f1baa02a..19c93acf9 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -905,9 +905,9 @@ public class MainRegistry { MinecraftForge.EVENT_BUS.register(radiationSystem); FMLCommonHandler.instance().bus().register(radiationSystem); - /*PollutionHandler pollution = new PollutionHandler(); + PollutionHandler pollution = new PollutionHandler(); MinecraftForge.EVENT_BUS.register(pollution); - FMLCommonHandler.instance().bus().register(pollution);*/ + FMLCommonHandler.instance().bus().register(pollution); if(event.getSide() == Side.CLIENT) { HbmKeybinds.register(); diff --git a/src/main/java/com/hbm/main/ModEventHandlerRenderer.java b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java index 1c629ee3f..85e7544e4 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerRenderer.java +++ b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java @@ -3,14 +3,17 @@ package com.hbm.main; import org.lwjgl.opengl.GL11; import com.hbm.blocks.ICustomBlockHighlight; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.items.armor.IArmorDisableModel; import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart; import com.hbm.packet.PermaSyncHandler; import com.hbm.render.model.ModelMan; +import cpw.mods.fml.common.eventhandler.Event.Result; import cpw.mods.fml.common.eventhandler.EventPriority; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; +import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelRenderer; import net.minecraft.client.renderer.RenderBlocks; import net.minecraft.client.renderer.entity.RenderManager; @@ -23,6 +26,9 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; import net.minecraftforge.client.event.DrawBlockHighlightEvent; +import net.minecraftforge.client.event.EntityViewRenderEvent.FogColors; +import net.minecraftforge.client.event.EntityViewRenderEvent.FogDensity; +import net.minecraftforge.client.event.EntityViewRenderEvent.RenderFogEvent; import net.minecraftforge.client.event.RenderPlayerEvent; public class ModEventHandlerRenderer { @@ -318,4 +324,30 @@ public class ModEventHandlerRenderer { GL11.glPopMatrix(); } }*/ + + @SubscribeEvent + public void setupFog(RenderFogEvent event) { + } + + @SubscribeEvent(priority = EventPriority.LOW) + public void thickenFog(FogDensity event) { + float soot = PermaSyncHandler.pollution[PollutionType.SOOT.ordinal()]; + if(soot > 10) { + //event.density = Math.min((soot - 5) * 0.01F, 0.5F); + GL11.glFogf(GL11.GL_FOG_START, 0.0F); + float farPlaneDistance = (float) (Minecraft.getMinecraft().gameSettings.renderDistanceChunks * 16); + GL11.glFogf(GL11.GL_FOG_END, Math.max(farPlaneDistance * 0.8F / (soot * 0.05F), 5F)); + event.setCanceled(true); + } + } + + @SubscribeEvent(priority = EventPriority.LOW) + public void tintFog(FogColors event) { + float soot = PermaSyncHandler.pollution[PollutionType.SOOT.ordinal()]; + if(soot > 10) { + event.red = 0.15F; + event.green = 0.15F; + event.blue = 0.15F; + } + } } diff --git a/src/main/java/com/hbm/packet/PermaSyncHandler.java b/src/main/java/com/hbm/packet/PermaSyncHandler.java index 6d15243be..bcd566e72 100644 --- a/src/main/java/com/hbm/packet/PermaSyncHandler.java +++ b/src/main/java/com/hbm/packet/PermaSyncHandler.java @@ -5,6 +5,9 @@ import java.util.HashSet; import java.util.List; import com.hbm.handler.ImpactWorldHandler; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionData; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.potion.HbmPotion; import com.hbm.saveddata.TomSaveData; @@ -21,6 +24,7 @@ import net.minecraft.world.World; public class PermaSyncHandler { public static HashSet boykissers = new HashSet(); + public static float[] pollution = new float[PollutionType.values().length]; public static void writePacket(ByteBuf buf, World world, EntityPlayerMP player) { @@ -42,6 +46,14 @@ public class PermaSyncHandler { buf.writeShort((short) ids.size()); for(Integer i : ids) buf.writeInt(i); /// SHITTY MEMES /// + + /// POLLUTION /// + PollutionData pollution = PollutionHandler.getPollutionData(world, (int) Math.floor(player.posX), (int) Math.floor(player.posY), (int) Math.floor(player.posZ)); + if(pollution == null) pollution = new PollutionData(); + for(int i = 0; i < PollutionType.values().length; i++) { + buf.writeFloat(pollution.pollution[i]); + } + /// POLLUTION /// } public static void readPacket(ByteBuf buf, World world, EntityPlayer player) { @@ -58,5 +70,11 @@ public class PermaSyncHandler { int ids = buf.readShort(); for(int i = 0; i < ids; i++) boykissers.add(buf.readInt()); /// SHITTY MEMES /// + + /// POLLUTION /// + for(int i = 0; i < PollutionType.values().length; i++) { + pollution[i] = buf.readFloat(); + } + /// POLLUTION /// } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java index a35eaa70d..aeb9e670c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java @@ -2,6 +2,8 @@ package com.hbm.tileentity.machine; import java.util.List; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.inventory.FluidStack; import com.hbm.inventory.container.ContainerFurnaceCombo; import com.hbm.inventory.fluid.Fluids; @@ -119,6 +121,8 @@ public class TileEntityFurnaceCombination extends TileEntityMachineBase implemen if(worldObj.getTotalWorldTime() % 10 == 0) this.worldObj.playSoundEffect(this.xCoord, this.yCoord + 1, this.zCoord, "hbm:weapon.flamethrowerShoot", 0.25F, 0.5F); } + + if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 3); } else { this.progress = 0; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java index 2fde9b86e..0a5dfbd92 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java @@ -1,5 +1,7 @@ package com.hbm.tileentity.machine; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.inventory.UpgradeManager; import com.hbm.inventory.container.ContainerFurnaceIron; import com.hbm.inventory.gui.GUIFurnaceIron; @@ -104,6 +106,7 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI this.progress = 0; this.markDirty(); } + if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND); } else { this.progress = 0; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java index ff6bffa73..77d212d9e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceSteel.java @@ -2,6 +2,8 @@ package com.hbm.tileentity.machine; import java.util.List; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.inventory.container.ContainerFurnaceSteel; import com.hbm.inventory.gui.GUIFurnaceSteel; import com.hbm.tileentity.IGUIProvider; @@ -67,6 +69,7 @@ public class TileEntityFurnaceSteel extends TileEntityMachineBase implements IGU progress[i] += burn; this.heat -= burn; this.wasOn = true; + if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 2); } lastItems[i] = slots[i]; 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 65db88540..f2adcb771 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineCoker.java @@ -1,5 +1,7 @@ package com.hbm.tileentity.machine.oil; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.inventory.FluidStack; import com.hbm.inventory.container.ContainerMachineCoker; import com.hbm.inventory.fluid.Fluids; @@ -98,6 +100,8 @@ public class TileEntityMachineCoker extends TileEntityMachineBase implements IFl tanks[0].setFill(tanks[0].getFill() - fillReq); } } + + if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 20); } for(DirPos pos : getConPos()) { 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 e340df841..d305dc9b9 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java @@ -2,6 +2,8 @@ package com.hbm.tileentity.machine.oil; import java.util.List; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.interfaces.IControlReceiver; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; @@ -157,6 +159,8 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements if(worldObj.getTotalWorldTime() % 3 == 0) this.worldObj.playSoundEffect(this.xCoord, this.yCoord + 11, this.zCoord, "hbm:weapon.flamethrowerShoot", 1.5F, 0.75F); + + if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 5); } } } 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 ee2d7b79a..d36a3370d 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java @@ -7,6 +7,8 @@ import java.util.Random; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.interfaces.IControlReceiver; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; @@ -319,6 +321,8 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements this.markDirty(); } + + if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 5); this.power -= 5; } 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 2b38ee9a0..61af46838 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMassStorage.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMassStorage.java @@ -21,6 +21,7 @@ public class TileEntityMassStorage extends TileEntityCrateBase implements INBTPa private int stack = 0; public boolean output = false; private int capacity; + public int redstone = 0; @SideOnly(Side.CLIENT) public ItemStack type; @@ -43,6 +44,13 @@ public class TileEntityMassStorage extends TileEntityCrateBase implements INBTPa 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(); } @@ -132,6 +140,7 @@ public class TileEntityMassStorage extends TileEntityCrateBase implements INBTPa this.stack = nbt.getInteger("stack"); this.output = nbt.getBoolean("output"); this.capacity = nbt.getInteger("capacity"); + this.redstone = nbt.getByte("redstone"); if(this.capacity <= 0) { this.capacity = 10_000; @@ -144,6 +153,7 @@ public class TileEntityMassStorage extends TileEntityCrateBase implements INBTPa nbt.setInteger("stack", stack); nbt.setBoolean("output", output); nbt.setInteger("capacity", capacity); + nbt.setByte("redstone", (byte) redstone); } @Override diff --git a/src/main/resources/assets/hbm/textures/blocks/mass_storage_side_wood.png b/src/main/resources/assets/hbm/textures/blocks/mass_storage_side_wood.png new file mode 100644 index 0000000000000000000000000000000000000000..d71ef7d610b6ae2c8afbaff54700d92b6ba38866 GIT binary patch literal 526 zcmV+p0`dKcP)FnlHvx!;Nv^=R9pYhvZ#$T#$;;P2G6I18AjGn+u^)s0 zl&vKIJ_TJis;dBq{wdX4D*y!T7=Xgg_U6nXi)nL;!b)Kdv0LFB}ll#jw!&AB+#rX)W@F!40N|`GHP)Y&d*(Ks(f*6kg zGJ=Zdvr&cJdW7q`x$bjh(+L&NXEX$eGJ>}szS8apz|{(*lo*CFN1~L%vrFv0J4B8Z zaOT0|dus&k_(}z)X~J~ER&8D5ivY*Hm}nq$=f(LKJ-CQ3LUtg+Qh>TtfhL_!=I}*; zy~dHA=`s&4D%firanc_FZbq zz_;)Pd;=d~+zoC7DU^{}C^I0K>7v$5Ei~yg*YuAeo4N?OZHb`xtuB}EoP6hZPYU~c zyL0|iQ52y8yr`FmtULgId(k& zO6D2>pWHt8w{8LujxN}`vjKqH4FD+Y@9oYlJp9p=(J%Y2u`SDD!LY|Wb|f%0gOzH6r!(mZJcs5c(Skm&? Date: Tue, 6 Jun 2023 23:01:51 +0200 Subject: [PATCH 146/285] minor fixes --- src/main/java/com/hbm/blocks/machine/BlockMassStorage.java | 6 +++--- src/main/java/com/hbm/inventory/OreDictManager.java | 4 ++-- src/main/java/com/hbm/main/CraftingManager.java | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java b/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java index a86b9a8db..d8e2f6773 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java +++ b/src/main/java/com/hbm/blocks/machine/BlockMassStorage.java @@ -56,8 +56,8 @@ public class BlockMassStorage extends BlockContainer implements IBlockMulti, ILo this.iconSide[1] = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_side_desh"); this.iconTop[2] = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_top"); this.iconSide[2] = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_side"); - this.iconTop[2] = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_top_wood"); - this.iconSide[2] = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_side_wood"); + this.iconTop[3] = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_top_wood"); + this.iconSide[3] = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_side_wood"); } @Override @@ -245,7 +245,7 @@ public class BlockMassStorage extends BlockContainer implements IBlockMulti, ILo @Override public int getSubCount() { - return 3; + return 4; } @Override diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 53138c7ee..c6d7d5e5a 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -346,8 +346,8 @@ public class OreDictManager { W .ingot(ingot_tungsten) .dust(powder_tungsten) .block(block_tungsten) .ore(ore_tungsten, ore_nether_tungsten, ore_meteor_tungsten) .oreNether(ore_nether_tungsten); AL .ingot(ingot_aluminium) .dust(powder_aluminium) .plate(plate_aluminium) .block(block_aluminium) .ore(ore_aluminium, ore_meteor_aluminium); STEEL .ingot(ingot_steel) .dustSmall(powder_steel_tiny) .dust(powder_steel) .plate(plate_steel) .block(block_steel); - TCALLOY .ingot(ingot_tcalloy) .dust(powder_tcalloy); - CDALLOY .ingot(ingot_cdalloy); + TCALLOY .ingot(ingot_tcalloy) .dust(powder_tcalloy) .block(block_tcalloy); + CDALLOY .ingot(ingot_cdalloy) .block(block_cdalloy); PB .nugget(nugget_lead) .ingot(ingot_lead) .dust(powder_lead) .plate(plate_lead) .block(block_lead) .ore(ore_lead, ore_meteor_lead); BI .nugget(nugget_bismuth) .ingot(ingot_bismuth) .dust(powder_bismuth); AS .nugget(nugget_arsenic) .ingot(ingot_arsenic); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 319bf0e9d..4a3b9778d 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -295,7 +295,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 0), new Object[] { "ICI", "CLC", "ICI", 'I', TI.ingot(), 'C', ModBlocks.crate_steel, 'L', ModItems.circuit_copper }); addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 1), new Object[] { "PCP", "PMP", "PPP", 'P', DESH.ingot(), 'C', ModItems.circuit_red_copper, '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', ModItems.circuit_gold, 'M', new ItemStack(ModBlocks.mass_storage, 1, 1) }); - addRecipeAuto(new ItemStack(ModBlocks.mass_storage, 1, 2), new Object[] { "PPP", "PIP", "PPP", 'P', KEY_PLANKS, 'I', IRON.plate() }); + 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', ModItems.circuit_copper, 'M', ModItems.motor, 'W', Blocks.crafting_table }); 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 }); From 1a9da01d74f897fbe450c2c508338d98d1aa3802 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 7 Jun 2023 16:36:26 +0200 Subject: [PATCH 147/285] pollution stuff --- changelog | 1 + .../java/com/hbm/handler/pollution/PollutionHandler.java | 3 ++- .../java/com/hbm/tileentity/machine/TileEntityCrucible.java | 6 ++++++ .../com/hbm/tileentity/machine/TileEntityDiFurnace.java | 4 ++++ .../com/hbm/tileentity/machine/TileEntityFireboxBase.java | 3 +++ .../hbm/tileentity/machine/TileEntityHeaterOilburner.java | 4 ++++ .../com/hbm/tileentity/machine/TileEntityMachineCoal.java | 4 ++++ .../machine/TileEntityMachineCombustionEngine.java | 4 ++++ 8 files changed, 28 insertions(+), 1 deletion(-) diff --git a/changelog b/changelog index 2fdd4c818..f3f78f256 100644 --- a/changelog +++ b/changelog @@ -6,6 +6,7 @@ * Chlorocalcite * A new bedrock ore, the powder can be heated in the combination furnace to make calcium and chlorine * Blocks for cadmium, TC and CD alloy +* Machines now emit soot. Soot collects in units of 4x4 chunks, and spreads into neighboring regions. High levels of soot cause visible smog. ## Changed * Updated russian localization diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index 1881e1019..e1bdbf7cd 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -197,7 +197,8 @@ public class PollutionHandler { } } - entry.getValue().pollution = newPollution; + entry.getValue().pollution.clear(); + entry.getValue().pollution.putAll(newPollution); } } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java index 3581d35b4..a6ee9501c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCrucible.java @@ -7,6 +7,8 @@ import java.util.List; import com.google.gson.JsonObject; 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.inventory.container.ContainerCrucible; import com.hbm.inventory.gui.GUICrucible; import com.hbm.inventory.material.MaterialShapes; @@ -169,6 +171,8 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro 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)); } + + PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND / 2F); } /* pour recipe stack */ @@ -207,6 +211,8 @@ public class TileEntityCrucible extends TileEntityMachineBase implements IGUIPro 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)); } + + PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND / 2F); } /* clean up stacks */ diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java index a2da04057..57aa32c9c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java @@ -2,6 +2,8 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.MachineDiFurnace; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.inventory.container.ContainerDiFurnace; import com.hbm.inventory.gui.GUIDiFurnace; import com.hbm.inventory.recipes.BlastFurnaceRecipes; @@ -211,6 +213,8 @@ public class TileEntityDiFurnace extends TileEntityMachineBase implements IGUIPr if(fuel < 0) { fuel = 0; } + + if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * (extension ? 3 : 1)); } else { progress = 0; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java index 9fb40234e..b4d5a109c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java @@ -1,6 +1,8 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.BlockDummyable; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.module.ModuleBurnTime; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; @@ -74,6 +76,7 @@ public abstract class TileEntityFireboxBase extends TileEntityMachineBase implem if(this.heatEnergy < getMaxHeat()) { burnTime--; + if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 3); } this.wasOn = true; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java index 535d5939b..a4ba8adab 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java @@ -1,5 +1,7 @@ package com.hbm.tileentity.machine; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.interfaces.IControlReceiver; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.inventory.container.ContainerOilburner; @@ -70,6 +72,8 @@ public class TileEntityHeaterOilburner extends TileEntityMachineBase implements int heat = (int)(type.getHeatEnergy() / 1000); this.heatEnergy += heat * toBurn; + + if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * burnRate * 0.5F); shouldCool = false; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java index 3abf74d1f..449e3aea4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java @@ -5,6 +5,8 @@ import java.io.IOException; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; import com.hbm.blocks.machine.MachineCoal; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.inventory.FluidContainerRegistry; @@ -290,6 +292,8 @@ public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISide if(burnTime > 0) { burnTime--; + if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND); + if(tank.getFill() > 0) { tank.setFill(tank.getFill() - 1); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java index 18d48904a..64ea819ff 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java @@ -1,6 +1,8 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.BlockDummyable; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.container.ContainerCombustionEngine; import com.hbm.inventory.fluid.FluidType; @@ -84,6 +86,8 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachineBase imp this.power += toBurn * (trait.getCombustionEnergy() / 10_000D) * eff; fill -= toBurn; + if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * setting * 0.1F); + if(toBurn > 0) { wasOn = true; } From b08a2bd6b7222fd6614809e8253f37d4a33a21af Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Wed, 7 Jun 2023 18:03:24 +0300 Subject: [PATCH 148/285] Updated ru_RU.lang updated russian localization --- src/main/resources/assets/hbm/lang/ru_RU.lang | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index 31f1280a6..a4786659c 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -2814,6 +2814,9 @@ 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 @@ -2915,6 +2918,7 @@ tile.ore_bedrock.name=Бедроковая руда item.ore.asbestos=Асбестовая item.ore.borax=Буровая +item.ore.chlorocalcite=Хлоркальцитовая item.ore.copper=Медная item.ore.gold=Золотая item.ore.iron=Железная @@ -3015,6 +3019,9 @@ 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=Усиленная лампа @@ -3256,6 +3263,7 @@ item.fallout.name=Куча радиоактивных осадков item.powder_zirconium.name=Циркониевый порошок item.powder_boron.name=Борный порошок item.powder_borax.name=Бура +item.powder_chlorocalcite.name=Хлоркальцит item.powder_boron_tiny.name=Кучка борного порошка item.powder_at209.name=Порошок астата-209 item.powder_au198.name=Порошок золота-198 @@ -3395,6 +3403,7 @@ 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=Активная зона реактора-размножителя From 1c27afbd739b8038075e22ad07f4b1cce1210c5a Mon Sep 17 00:00:00 2001 From: UFFR Date: Wed, 7 Jun 2023 18:10:01 -0400 Subject: [PATCH 149/285] Euphemium capacitor lmao Finally added it as it's own thing. Hopefully has a reasonable recipe. --- .gitignore | 18 ++++++++++++++++++ .../inventory/recipes/AssemblerRecipes.java | 9 +++++++++ src/main/java/com/hbm/items/ModItems.java | 3 +++ ...leEntityMachineSchrabidiumTransmutator.java | 12 +++++++----- src/main/resources/assets/hbm/lang/en_US.lang | 2 ++ 5 files changed, 39 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index 22222fc39..776998c18 100644 --- a/.gitignore +++ b/.gitignore @@ -26,3 +26,21 @@ run # Changelog backup /changelog.bak + +screenshots/ + +saves/ + +usernamecache.json + +options.txt + +logs/ + +doc/ + +crash-reports/ + +config/ + +asm/ diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index f93ba08bc..818f2b000 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -985,6 +985,15 @@ public class AssemblerRecipes { new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_red_copper, 3) }, 200); + + makeRecipe(new ComparableStack(ModItems.euphemium_capacitor, 1), new AStack[] + { + new OreDictStack(NB.ingot(), 4), + new ComparableStack(ModItems.redcoil_capacitor, 1), + new ComparableStack(ModItems.ingot_euphemium, 4), + new ComparableStack(ModItems.circuit_tantalium, 6), + new ComparableStack(ModItems.powder_nitan_mix, 18), + }, 600); makeRecipe(new ComparableStack(ModBlocks.block_cap_nuka, 1), new AStack[] { new ComparableStack(ModItems.cap_nuka, 128) }, 10); makeRecipe(new ComparableStack(ModBlocks.block_cap_quantum, 1), new AStack[] { new ComparableStack(ModItems.cap_quantum, 128) }, 10); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 816ecdfe4..e4b0ec747 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1799,6 +1799,7 @@ public class ModItems { public static Item energy_core; public static Item fuse; public static Item redcoil_capacitor; + public static Item euphemium_capacitor; public static Item titanium_filter; //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 @@ -4410,6 +4411,7 @@ public class ModItems { 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"); titanium_filter = new ItemCapacitor(6 * 60 * 60 * 20).setUnlocalizedName("titanium_filter").setMaxStackSize(1).setCreativeTab(MainRegistry.controlTab).setTextureName(RefStrings.MODID + ":titanium_filter"); screwdriver = new ItemTooling(ToolType.SCREWDRIVER, 100).setUnlocalizedName("screwdriver"); screwdriver_desh = new ItemTooling(ToolType.SCREWDRIVER, 0).setUnlocalizedName("screwdriver_desh"); @@ -6437,6 +6439,7 @@ public class ModItems { //Machine Items GameRegistry.registerItem(fuse, fuse.getUnlocalizedName()); GameRegistry.registerItem(redcoil_capacitor, redcoil_capacitor.getUnlocalizedName()); + GameRegistry.registerItem(euphemium_capacitor, euphemium_capacitor.getUnlocalizedName()); GameRegistry.registerItem(titanium_filter, titanium_filter.getUnlocalizedName()); GameRegistry.registerItem(screwdriver, screwdriver.getUnlocalizedName()); GameRegistry.registerItem(screwdriver_desh, screwdriver_desh.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java index 12bdd43ec..ba08db645 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSchrabidiumTransmutator.java @@ -55,7 +55,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB return true; break; case 2: - if (stack.getItem() == ModItems.redcoil_capacitor) + if (stack.getItem() == ModItems.redcoil_capacitor || stack.getItem() == ModItems.euphemium_capacitor) return true; break; case 3: @@ -89,7 +89,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB @Override public boolean canExtractItem(int i, ItemStack stack, int j) { - if (i == 2 && stack.getItem() != null && stack.getItem() == ModItems.redcoil_capacitor && ItemCapacitor.getDura(stack) <= 0) { + if (i == 2 && stack.getItem() != null && (stack.getItem() == ModItems.redcoil_capacitor && ItemCapacitor.getDura(stack) <= 0) || stack.getItem() == ModItems.euphemium_capacitor) { return true; } @@ -115,8 +115,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB public boolean canProcess() { if (power >= 4990000 && slots[0] != null && MachineRecipes.mODE(slots[0], OreDictManager.U.ingot()) && slots[2] != null - && slots[2].getItem() == ModItems.redcoil_capacitor - && ItemCapacitor.getDura(slots[2]) > 0 + && (slots[2].getItem() == ModItems.redcoil_capacitor && ItemCapacitor.getDura(slots[2]) > 0 || slots[2].getItem() == ModItems.euphemium_capacitor) && (slots[1] == null || (slots[1] != null && slots[1].getItem() == VersatileConfig.getTransmutatorItem() && slots[1].stackSize < slots[1].getMaxStackSize()))) { return true; @@ -146,7 +145,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB } else { slots[1].stackSize++; } - if (slots[2] != null) { + if (slots[2] != null && slots[2].getItem() == ModItems.redcoil_capacitor) { ItemCapacitor.setDura(slots[2], ItemCapacitor.getDura(slots[2]) - 1); } @@ -195,6 +194,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB } } + @Override public AudioWrapper createAudioLoop() { return MainRegistry.proxy.getLoopedSound("hbm:weapon.tauChargeLoop", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); } @@ -205,6 +205,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB this.trySubscribe(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); } + @Override public void onChunkUnload() { if(audio != null) { @@ -213,6 +214,7 @@ public class TileEntityMachineSchrabidiumTransmutator extends TileEntityMachineB } } + @Override public void invalidate() { super.invalidate(); diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index c5d2f90be..7a80609d0 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -2305,6 +2305,8 @@ item.energy_core.name=Makeshift Energy Core item.entanglement_kit.name=Entanglement Kit item.entanglement_kit.desc=Teleporter crafting item.$Enables dimension-shifting via a$beryllium-enhanced resource scanner. item.euphemium_boots.name=Euphemium Boots +item.euphemium_capacitor.name=Euphemium Capacitor +item.euphemium_capacitor.desc=Permits passive dispersion of accumulated positive energy. item.euphemium_helmet.name=Euphemium Helmet item.euphemium_kit.name=Euphemium Kit item.euphemium_legs.name=Euphemium Leggings From 447cb061f294f98d530eb13a0856b28ead903f77 Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 8 Jun 2023 16:51:54 +0200 Subject: [PATCH 150/285] artillery gas shells --- changelog | 24 ++---- .../java/com/hbm/crafting/ArmorRecipes.java | 14 ++-- .../java/com/hbm/entity/EntityMappings.java | 2 +- .../com/hbm/entity/effect/EntityMist.java | 27 ++++++- .../standard/BlockMutatorDebris.java | 2 +- .../standard/BlockProcessorStandard.java | 2 + .../com/hbm/inventory/SlotCraftingOutput.java | 4 - .../java/com/hbm/inventory/fluid/Fluids.java | 2 +- .../hbm/inventory/fluid/trait/FT_Toxin.java | 2 + .../java/com/hbm/inventory/gui/GUIMixer.java | 1 - .../inventory/recipes/ChemplantRecipes.java | 18 +++++ .../java/com/hbm/items/tool/ItemWandD.java | 21 ------ .../com/hbm/items/weapon/ItemAmmoArty.java | 69 +++++++++++++++++- .../com/hbm/items/weapon/ItemAmmoHIMARS.java | 4 +- .../java/com/hbm/main/CraftingManager.java | 2 +- .../com/hbm/main/ModEventHandlerRenderer.java | 50 ++++++++++--- .../render/tileentity/RendererObjTester.java | 2 - .../TileEntityMachineChemplantBase.java | 2 - .../machine/pile/TileEntityPileBase.java | 2 - .../java/com/hbm/world/feature/BiomeCave.java | 2 - src/main/resources/assets/hbm/lang/de_DE.lang | 3 + src/main/resources/assets/hbm/lang/en_US.lang | 3 + .../items/chem_icon_SHELL_CHLORINE.png | Bin 0 -> 523 bytes .../items/chem_icon_SHELL_MUSTARD.png | Bin 0 -> 494 bytes .../items/chem_icon_SHELL_PHOSGENE.png | Bin 0 -> 491 bytes 25 files changed, 178 insertions(+), 80 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/items/chem_icon_SHELL_CHLORINE.png create mode 100644 src/main/resources/assets/hbm/textures/items/chem_icon_SHELL_MUSTARD.png create mode 100644 src/main/resources/assets/hbm/textures/items/chem_icon_SHELL_PHOSGENE.png diff --git a/changelog b/changelog index f3f78f256..d773337ea 100644 --- a/changelog +++ b/changelog @@ -1,22 +1,14 @@ ## Added -* Laminate glass - * A new variant of reinforced glass with higher blast resistance - * Also comes in pane shape -* Reinforced glass panes -* Chlorocalcite - * A new bedrock ore, the powder can be heated in the combination furnace to make calcium and chlorine -* Blocks for cadmium, TC and CD alloy * Machines now emit soot. Soot collects in units of 4x4 chunks, and spreads into neighboring regions. High levels of soot cause visible smog. +* Gas artillery shells + * Chlorine + * Phosgene + * Mustard gas ## Changed -* Updated russian localization -* Rebalanced some powder recipes like meteorite powder, spark blend and energy powder -* Changed spark battery recipes, the total cost and crafting steps for higher tier batteries should no longer be as insane as before -* Technetium steel and ferrouranium drillbits are now craftable -* The vacuum refinery now requires a bismuth chipset -* Paraffin wax can now also be used to make chlorated petroleum wax -* Retextured schrabidium batteries, the cap is now black instead of red +* Mist now spawns cloud particles with the correct color instead of standard white +* HE artillery shells and rockets now turn blocks into slag ## Fixed -* Fixed hydroreactive stat not applying when an item is dropped in the rain -* Fixed the liquefactor not working with ore dictionary recipes +* Fixed the TOXIC trait not respecting protection when applying potion effects +* Fixed some armor recipes only accepting polymer and not bakelite \ No newline at end of file diff --git a/src/main/java/com/hbm/crafting/ArmorRecipes.java b/src/main/java/com/hbm/crafting/ArmorRecipes.java index 40a284856..96b9543b8 100644 --- a/src/main/java/com/hbm/crafting/ArmorRecipes.java +++ b/src/main/java/com/hbm/crafting/ArmorRecipes.java @@ -54,8 +54,8 @@ public class ArmorRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.robes_boots, 1), new Object[] { "R R", "P P", 'R', ModItems.rag, 'P', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.security_helmet, 1), new Object[] { "SSS", "IGI", 'S', STEEL.plate(), 'I', ModItems.plate_polymer, 'G', KEY_ANYPANE }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.security_plate, 1), new Object[] { "KWK", "IKI", "WKW", 'K', ModItems.plate_kevlar, 'I', POLYMER.ingot(), 'W', new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE) }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.security_legs, 1), new Object[] { "IWI", "K K", "W W", 'K', ModItems.plate_kevlar, 'I', POLYMER.ingot(), 'W', new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE) }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.security_plate, 1), new Object[] { "KWK", "IKI", "WKW", 'K', ModItems.plate_kevlar, 'I', ANY_PLASTIC.ingot(), 'W', new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE) }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.security_legs, 1), new Object[] { "IWI", "K K", "W W", 'K', ModItems.plate_kevlar, 'I', ANY_PLASTIC.ingot(), 'W', new ItemStack(Blocks.wool, 1, OreDictionary.WILDCARD_VALUE) }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.security_boots, 1), new Object[] { "P P", "I I", 'P', STEEL.plate(), 'I', ModItems.plate_polymer }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.dnt_helmet, 1), new Object[] { "EEE", "EE ", 'E', DNT.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.dnt_plate, 1), new Object[] { "EE ", "EEE", "EEE", 'E', DNT.ingot() }); @@ -68,7 +68,7 @@ public class ArmorRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.t45_plate, 1), new Object[] { "MPM", "TBT", "PPP", 'M', ModItems.motor, 'P', ModItems.plate_armor_titanium, 'T', ModItems.gas_empty, 'B', ModItems.titanium_plate }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.t45_legs, 1), new Object[] { "MPM", "PBP", "P P", 'M', ModItems.motor, 'P', ModItems.plate_armor_titanium, 'B', ModItems.titanium_legs }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.t45_boots, 1), new Object[] { "P P", "PBP", 'P', ModItems.plate_armor_titanium, 'B', ModItems.titanium_boots }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ajr_helmet, 1), new Object[] { "PPC", "PBP", "IXI", 'P', ModItems.plate_armor_ajr, 'C', ModItems.circuit_targeting_tier4, 'I', POLYMER.ingot(), 'X', ModItems.gas_mask_m65, 'B', ModItems.alloy_helmet }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ajr_helmet, 1), new Object[] { "PPC", "PBP", "IXI", 'P', ModItems.plate_armor_ajr, 'C', ModItems.circuit_targeting_tier4, 'I', ANY_PLASTIC.ingot(), 'X', ModItems.gas_mask_m65, 'B', ModItems.alloy_helmet }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ajr_plate, 1), new Object[] { "MPM", "TBT", "PPP", 'M', ModItems.motor_desh, 'P', ModItems.plate_armor_ajr, 'T', ModItems.gas_empty, 'B', ModItems.alloy_plate }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ajr_legs, 1), new Object[] { "MPM", "PBP", "P P", 'M', ModItems.motor_desh, 'P', ModItems.plate_armor_ajr, 'B', ModItems.alloy_legs }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ajr_boots, 1), new Object[] { "P P", "PBP", 'P', ModItems.plate_armor_ajr, 'B', ModItems.alloy_boots }); @@ -81,9 +81,9 @@ public class ArmorRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.bj_plate_jetpack, 1), new Object[] { "NFN", "TPT", "ICI", 'N', ModItems.plate_armor_lunar, 'F', ModItems.fins_quad_titanium, 'T', new ItemStack(ModItems.fluid_tank_full, 1, Fluids.XENON.getID()), 'P', ModItems.bj_plate, 'I', ModItems.mp_thruster_10_xenon, 'C', ModItems.crystal_phosphorus }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.bj_legs, 1), new Object[] { "MBM", "NSN", "N N", 'N', ModItems.plate_armor_lunar, 'M', ModItems.motor_desh, 'S', ModItems.starmetal_legs, 'B', ModBlocks.block_starmetal }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.bj_boots, 1), new Object[] { "N N", "BSB", 'N', ModItems.plate_armor_lunar, 'S', ModItems.starmetal_boots, 'B', ModBlocks.block_starmetal }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.hev_helmet, 1), new Object[] { "PPC", "PBP", "IFI", 'P', ModItems.plate_armor_hev, 'C', ModItems.circuit_targeting_tier4, 'B', ModItems.titanium_helmet, 'I', ModItems.plate_polymer, 'F', ModItems.gas_mask_filter }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.hev_plate, 1), new Object[] { "MPM", "IBI", "PPP", 'P', ModItems.plate_armor_hev, 'B', ModItems.titanium_plate, 'I', POLYMER.ingot(), 'M', ModItems.motor_desh }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.hev_legs, 1), new Object[] { "MPM", "IBI", "P P", 'P', ModItems.plate_armor_hev, 'B', ModItems.titanium_legs, 'I', POLYMER.ingot(), 'M', ModItems.motor_desh }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.hev_helmet, 1), new Object[] { "PPC", "PBP", "IFI", 'P', ModItems.plate_armor_hev, 'C', ModItems.circuit_targeting_tier4, 'B', ModItems.titanium_helmet, 'I', ANY_PLASTIC.ingot(), 'F', ModItems.gas_mask_filter }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.hev_plate, 1), new Object[] { "MPM", "IBI", "PPP", 'P', ModItems.plate_armor_hev, 'B', ModItems.titanium_plate, 'I', ANY_PLASTIC.ingot(), 'M', ModItems.motor_desh }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.hev_legs, 1), new Object[] { "MPM", "IBI", "P P", 'P', ModItems.plate_armor_hev, 'B', ModItems.titanium_legs, 'I', ANY_PLASTIC.ingot(), 'M', ModItems.motor_desh }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.hev_boots, 1), new Object[] { "P P", "PBP", 'P', ModItems.plate_armor_hev, 'B', ModItems.titanium_boots }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.fau_helmet, 1), new Object[] { "PWP", "PBP", "FSF", 'P', ModItems.plate_armor_fau, 'W', new ItemStack(Blocks.wool, 1, 14), 'B', ModItems.starmetal_helmet, 'F', ModItems.gas_mask_filter, 'S', ModItems.pipes_steel }); 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 }); @@ -162,7 +162,7 @@ public class ArmorRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.gas_mask_olde, 1), new Object[] { "PPP", "GPG", " F ", 'G', KEY_ANYPANE, 'P', Items.leather, 'F', IRON.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.gas_mask_mono, 1), new Object[] { " P ", "PPP", " F ", 'P', ModItems.plate_polymer, 'F', IRON.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.mask_of_infamy, 1), new Object[] { "III", "III", " I ", 'I', IRON.plate() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.ashglasses, 1), new Object[] { "I I", "GPG", 'I', ModItems.plate_polymer, 'G', ModBlocks.glass_ash, 'P', POLYMER.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.ashglasses, 1), new Object[] { "I I", "GPG", 'I', ModItems.plate_polymer, 'G', ModBlocks.glass_ash, 'P', ANY_PLASTIC.ingot() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.mask_rag, 1), new Object[] { "RRR", 'R', ModItems.rag_damp }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.mask_piss, 1), new Object[] { "RRR", 'R', ModItems.rag_piss }); diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index fee770026..797097dfc 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -210,7 +210,7 @@ public class EntityMappings { 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", 1000); + addEntity(EntityMist.class, "entity_mist", 250, false); addEntity(EntityItemWaste.class, "entity_item_waste", 100); addEntity(EntityItemBuoyant.class, "entity_item_buoyant", 100); diff --git a/src/main/java/com/hbm/entity/effect/EntityMist.java b/src/main/java/com/hbm/entity/effect/EntityMist.java index 4150a436b..ceb2dc014 100644 --- a/src/main/java/com/hbm/entity/effect/EntityMist.java +++ b/src/main/java/com/hbm/entity/effect/EntityMist.java @@ -16,6 +16,7 @@ import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous_ART; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Liquid; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Viscous; import com.hbm.lib.ModDamageSource; +import com.hbm.main.MainRegistry; import com.hbm.util.ArmorUtil; import com.hbm.util.ContaminationUtil; import com.hbm.util.EntityDamageUtil; @@ -101,10 +102,21 @@ public class EntityMist extends Entity { } else { for(int i = 0; i < 2; i++) { - double x = this.boundingBox.minX + rand.nextDouble() * (this.boundingBox.maxX - this.boundingBox.minX); + double x = this.boundingBox.minX + (rand.nextDouble() - 0.5) * (this.boundingBox.maxX - this.boundingBox.minX); double y = this.boundingBox.minY + rand.nextDouble() * (this.boundingBox.maxY - this.boundingBox.minY); - double z = this.boundingBox.minZ + rand.nextDouble() * (this.boundingBox.maxZ - this.boundingBox.minZ); - worldObj.spawnParticle("cloud", x, y, z, 0, 0, 0); + double z = this.boundingBox.minZ + (rand.nextDouble() - 0.5) * (this.boundingBox.maxZ - this.boundingBox.minZ); + + NBTTagCompound fx = new NBTTagCompound(); + fx.setString("type", "tower"); + fx.setFloat("lift", 0.5F); + fx.setFloat("base", 0.75F); + fx.setFloat("max", 2F); + fx.setInteger("life", 50 + worldObj.rand.nextInt(10)); + fx.setInteger("color",this.getType().getColor()); + fx.setDouble("posX", x); + fx.setDouble("posY", y); + fx.setDouble("posZ", z); + MainRegistry.proxy.effectNT(fx); } } } @@ -192,11 +204,14 @@ public class EntityMist extends Entity { @Override protected void readEntityFromNBT(NBTTagCompound nbt) { this.setType(Fluids.fromID(nbt.getInteger("type"))); + this.setArea(nbt.getFloat("width"), nbt.getFloat("height")); } @Override protected void writeEntityToNBT(NBTTagCompound nbt) { nbt.setInteger("type", this.getType().getID()); + nbt.setFloat("width", this.dataWatcher.getWatchableObjectFloat(11)); + nbt.setFloat("height", this.dataWatcher.getWatchableObjectFloat(12)); } @Override @@ -204,6 +219,12 @@ public class EntityMist extends Entity { public boolean canRenderOnFire() { return false; } + + @Override public void moveEntity(double x, double y, double z) { } + @Override public void addVelocity(double x, double y, double z) { } + @Override public void setPosition(double x, double y, double z) { + if(this.ticksExisted == 0) super.setPosition(x, y, z); //honest to fucking god mojang suck my fucking nuts + } public static SprayStyle getStyleFromType(FluidType type) { diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorDebris.java b/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorDebris.java index 3210eff6e..9feb9a918 100644 --- a/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorDebris.java +++ b/src/main/java/com/hbm/explosion/vanillant/standard/BlockMutatorDebris.java @@ -27,7 +27,7 @@ public class BlockMutatorDebris implements IBlockMutator { World world = explosion.world; for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { Block b = world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ); - if(b.isNormalCube()) { + if(b.isNormalCube() && (b != metaBlock.block || world.getBlockMetadata(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ) != metaBlock.meta)) { world.setBlock(x, y, z, metaBlock.block, metaBlock.meta, 3); return; } diff --git a/src/main/java/com/hbm/explosion/vanillant/standard/BlockProcessorStandard.java b/src/main/java/com/hbm/explosion/vanillant/standard/BlockProcessorStandard.java index a6da1e153..8d76b9d9a 100644 --- a/src/main/java/com/hbm/explosion/vanillant/standard/BlockProcessorStandard.java +++ b/src/main/java/com/hbm/explosion/vanillant/standard/BlockProcessorStandard.java @@ -64,6 +64,8 @@ public class BlockProcessorStandard implements IBlockProcessor { block.onBlockExploded(world, blockX, blockY, blockZ, explosion.compat); if(this.convert != null) this.convert.mutatePre(explosion, block, world.getBlockMetadata(blockX, blockY, blockZ), blockX, blockY, blockZ); + } else { + iterator.remove(); } } diff --git a/src/main/java/com/hbm/inventory/SlotCraftingOutput.java b/src/main/java/com/hbm/inventory/SlotCraftingOutput.java index 5095f2b7e..46770d660 100644 --- a/src/main/java/com/hbm/inventory/SlotCraftingOutput.java +++ b/src/main/java/com/hbm/inventory/SlotCraftingOutput.java @@ -1,14 +1,10 @@ package com.hbm.inventory; -import com.hbm.blocks.ModBlocks; -import com.hbm.items.ModItems; -import com.hbm.main.MainRegistry; import com.hbm.util.AchievementHandler; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.Slot; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; public class SlotCraftingOutput extends Slot { diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index b1b4a9ad4..c62591afc 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -254,7 +254,7 @@ public class Fluids { 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)); - CHLORINE = new FluidType("CHLORINE", 0xBAB572, 3, 0, 0, EnumSymbol.OXIDIZER).addContainers(new CD_Gastank(0xBAB572, 0x887B34)).addTraits(GASEOUS, new FT_Corrosive(25), new FT_Poison(true, 1)); + 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).addContainers(new CD_Canister(0x513F39)); REFORMATE = new FluidType("REFORMATE", 0x835472, 2, 2, 0, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS).addContainers(new CD_Canister(0xD180D6)); LIGHTOIL_VACUUM = new FluidType("LIGHTOIL_VACUUM", 0x8C8851, 1, 2, 0, EnumSymbol.NONE).addTraits(LIQUID).addContainers(new CD_Canister(0xB46B52)); 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 456b8e0a8..fc759219b 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 @@ -116,6 +116,8 @@ public class FT_Toxin extends FluidTrait { @Override public void poison(EntityLivingBase entity, double intensity) { + if(isProtected(entity)) return; + for(PotionEffect eff : effects) { entity.addPotionEffect(new PotionEffect(eff.getPotionID(), (int) (eff.getDuration() * intensity), eff.getAmplifier())); } diff --git a/src/main/java/com/hbm/inventory/gui/GUIMixer.java b/src/main/java/com/hbm/inventory/gui/GUIMixer.java index 9d082bbfe..15dd31b72 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMixer.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMixer.java @@ -9,7 +9,6 @@ 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.AuxButtonPacket; import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.machine.TileEntityMachineMixer; diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index f482f0a3c..f05689475 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -380,6 +380,24 @@ public class ChemplantRecipes extends SerializableRecipe { .inputItems(new OreDictStack(DIAMOND.dust(), 1)) .inputFluids(new FluidStack(Fluids.XPJUICE, 500)) .outputFluids(new FluidStack(Fluids.ENDERJUICE, 100))); + recipes.add(new ChemRecipe(98, "SHELL_CHLORINE", 100) + .inputItems( + new ComparableStack(ModItems.ammo_arty, 1, 0), + new OreDictStack(ANY_PLASTIC.ingot(), 1)) + .inputFluids(new FluidStack(Fluids.CHLORINE, 4000)) + .outputItems(new ItemStack(ModItems.ammo_arty, 1, 9))); + recipes.add(new ChemRecipe(99, "SHELL_PHOSGENE", 100) + .inputItems( + new ComparableStack(ModItems.ammo_arty, 1, 0), + new OreDictStack(ANY_PLASTIC.ingot(), 1)) + .inputFluids(new FluidStack(Fluids.PHOSGENE, 4000)) + .outputItems(new ItemStack(ModItems.ammo_arty, 1, 10))); + recipes.add(new ChemRecipe(100, "SHELL_MUSTARD", 100) + .inputItems( + new ComparableStack(ModItems.ammo_arty, 1, 0), + new OreDictStack(ANY_PLASTIC.ingot(), 1)) + .inputFluids(new FluidStack(Fluids.MUSTARDGAS, 4000)) + .outputItems(new ItemStack(ModItems.ammo_arty, 1, 11))); } public static void registerFuelProcessing() { diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index b165bae10..06b5fe384 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -2,35 +2,14 @@ package com.hbm.items.tool; import java.util.List; -import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.rail.IRailNTM; -import com.hbm.blocks.rail.IRailNTM.RailContext; -import com.hbm.explosion.vanillant.ExplosionVNT; -import com.hbm.explosion.vanillant.standard.BlockAllocatorBulkie; -import com.hbm.explosion.vanillant.standard.BlockMutatorBulkie; -import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; -import com.hbm.explosion.vanillant.standard.EntityProcessorStandard; -import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard; -import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.lib.Library; -import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PlayerInformPacket; -import com.hbm.util.ParticleUtil; -import com.hbm.util.fauxpointtwelve.BlockPos; -import com.hbm.world.feature.OilSpot; -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.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.ChatComponentText; -import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; import net.minecraft.world.World; public class ItemWandD extends Item { diff --git a/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java b/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java index 8a96ce169..40efef4ce 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java @@ -3,7 +3,9 @@ package com.hbm.items.weapon; import java.util.List; import java.util.Random; +import com.hbm.blocks.ModBlocks; import com.hbm.config.BombConfig; +import com.hbm.entity.effect.EntityMist; import com.hbm.entity.effect.EntityNukeCloudSmall; import com.hbm.entity.logic.EntityNukeExplosionMK5; import com.hbm.entity.projectile.EntityArtilleryShell; @@ -12,10 +14,12 @@ import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNukeSmall; 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.EntityProcessorCross; import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard; import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; @@ -46,8 +50,7 @@ import net.minecraft.util.MovingObjectPosition.MovingObjectType; public class ItemAmmoArty extends Item { public static Random rand = new Random(); - public static ArtilleryShell[] itemTypes = new ArtilleryShell[ /* >>> */ 9 /* <<< */ ]; - //public static ArtilleryShell[] shellTypes = new ArtilleryShell[ /* >>> */ 8 /* <<< */ ]; + public static ArtilleryShell[] itemTypes = new ArtilleryShell[ /* >>> */ 12 /* <<< */ ]; /* item types */ public final int NORMAL = 0; public final int CLASSIC = 1; @@ -58,6 +61,9 @@ public class ItemAmmoArty extends Item { public final int MINI_NUKE_MULTI = 6; public final int PHOSPHORUS_MULTI = 7; public final int CARGO = 8; + public final int CHLORINE = 9; + public final int PHOSGENE = 10; + public final int MUSTARD = 11; /* non-item shell types */ public ItemAmmoArty() { @@ -78,6 +84,9 @@ public class ItemAmmoArty extends Item { list.add(new ItemStack(item, 1, MINI_NUKE_MULTI)); list.add(new ItemStack(item, 1, NUKE)); list.add(new ItemStack(item, 1, CARGO)); + list.add(new ItemStack(item, 1, CHLORINE)); + list.add(new ItemStack(item, 1, PHOSGENE)); + list.add(new ItemStack(item, 1, MUSTARD)); } @Override @@ -195,7 +204,7 @@ public class ItemAmmoArty extends Item { ExplosionVNT xnt = new ExplosionVNT(shell.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, size); if(breaksBlocks) { xnt.setBlockAllocator(new BlockAllocatorStandard(48)); - xnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop()); + xnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop().withBlockEffect(new BlockMutatorDebris(ModBlocks.block_slag, 1))); } xnt.setEntityProcessor(new EntityProcessorCross(7.5D).withRangeMod(rangeMod)); xnt.setPlayerProcessor(new PlayerProcessorStandard()); @@ -298,6 +307,60 @@ public class ItemAmmoArty extends Item { } }}; + /* GAS */ + this.itemTypes[CHLORINE] = new ArtilleryShell("ammo_arty_chlorine", SpentCasing.COLOR_CASE_16INCH) { + public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { + shell.killAndClear(); + Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); + shell.worldObj.createExplosion(shell, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, 5F, false); + EntityMist mist = new EntityMist(shell.worldObj); + mist.setType(Fluids.CHLORINE); + mist.setPosition(mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord - 3, mop.hitVec.zCoord - vec.zCoord); + mist.setArea(15, 7.5F); + shell.worldObj.spawnEntityInWorld(mist); + } + }; + this.itemTypes[PHOSGENE] = new ArtilleryShell("ammo_arty_phosgene", SpentCasing.COLOR_CASE_16INCH_NUKE) { + public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { + shell.killAndClear(); + Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); + shell.worldObj.createExplosion(shell, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, 5F, false); + for(int i = 0; i < 3; i++) { + EntityMist mist = new EntityMist(shell.worldObj); + mist.setType(Fluids.PHOSGENE); + double x = mop.hitVec.xCoord - vec.xCoord; + double z = mop.hitVec.zCoord - vec.zCoord; + if(i > 0) { + x += rand.nextGaussian() * 15; + z += rand.nextGaussian() * 15; + } + mist.setPosition(x, mop.hitVec.yCoord - vec.yCoord - 5, z); + mist.setArea(15, 10); + shell.worldObj.spawnEntityInWorld(mist); + } + } + }; + this.itemTypes[MUSTARD] = new ArtilleryShell("ammo_arty_mustard_gas", SpentCasing.COLOR_CASE_16INCH_NUKE) { + public void onImpact(EntityArtilleryShell shell, MovingObjectPosition mop) { + shell.killAndClear(); + Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); + shell.worldObj.createExplosion(shell, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, 5F, false); + for(int i = 0; i < 5; i++) { + EntityMist mist = new EntityMist(shell.worldObj); + mist.setType(Fluids.MUSTARDGAS); + double x = mop.hitVec.xCoord - vec.xCoord; + double z = mop.hitVec.zCoord - vec.zCoord; + if(i > 0) { + x += rand.nextGaussian() * 25; + z += rand.nextGaussian() * 25; + } + mist.setPosition(x, mop.hitVec.yCoord - vec.yCoord - 5, z); + mist.setArea(20, 10); + shell.worldObj.spawnEntityInWorld(mist); + } + } + }; + /* 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 9d2b1dba1..b3d26faf8 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java @@ -2,12 +2,14 @@ package com.hbm.items.weapon; import java.util.List; +import com.hbm.blocks.ModBlocks; import com.hbm.entity.projectile.EntityArtilleryRocket; import com.hbm.explosion.ExplosionChaos; import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNukeSmall; 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.EntityProcessorCross; import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard; @@ -143,7 +145,7 @@ public class ItemAmmoHIMARS extends Item { ExplosionVNT xnt = new ExplosionVNT(rocket.worldObj, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, size); if(breaksBlocks) { xnt.setBlockAllocator(new BlockAllocatorStandard(48)); - xnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop()); + xnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop().withBlockEffect(new BlockMutatorDebris(ModBlocks.block_slag, 1))); } xnt.setEntityProcessor(new EntityProcessorCross(7.5).withRangeMod(rangeMod)); xnt.setPlayerProcessor(new PlayerProcessorStandard()); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 4a3b9778d..99ca2d9be 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -189,7 +189,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.motor, 2), new Object[] { " R ", "ICI", "ITI", 'R', ModItems.wire_red_copper, 'T', ModItems.coil_copper_torus, 'I', IRON.plate(), 'C', ModItems.coil_copper }); addRecipeAuto(new ItemStack(ModItems.motor, 2), new Object[] { " R ", "ICI", " T ", 'R', ModItems.wire_red_copper, 'T', ModItems.coil_copper_torus, 'I', STEEL.plate(), 'C', ModItems.coil_copper }); addRecipeAuto(new ItemStack(ModItems.motor_desh, 1), new Object[] { "PCP", "DMD", "PCP", 'P', ANY_PLASTIC.ingot(), 'C', ModItems.coil_gold_torus, 'D', DESH.ingot(), 'M', ModItems.motor }); - addRecipeAuto(new ItemStack(ModItems.motor_bismuth, 1), new Object[] { "BCB", "SBS", "BCB", 'B', BI.nugget(), 'C', ModBlocks.hadron_coil_alloy, 'S', STEEL.plateCast(), 'B', DURA.ingot() }); + addRecipeAuto(new ItemStack(ModItems.motor_bismuth, 1), new Object[] { "BCB", "SDS", "BCB", 'B', BI.nugget(), 'C', ModBlocks.hadron_coil_alloy, 'S', STEEL.plateCast(), 'D', DURA.ingot() }); //addRecipeAuto(new ItemStack(ModItems.centrifuge_element, 1), new Object[] { " T ", "WTW", "RMR", 'R', ModItems.wire_red_copper, 'T', ModItems.tank_steel, 'M', ModItems.motor, 'W', ModItems.coil_tungsten }); //addRecipeAuto(new ItemStack(ModItems.centrifuge_tower, 1), new Object[] { "LL", "EE", "EE", 'E', ModItems.centrifuge_element, 'L', KEY_BLUE }); //addRecipeAuto(new ItemStack(ModItems.reactor_core, 1), new Object[] { "LNL", "N N", "LNL", 'N', getReflector(), 'L', PB.plate() }); diff --git a/src/main/java/com/hbm/main/ModEventHandlerRenderer.java b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java index 85e7544e4..e01007977 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerRenderer.java +++ b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java @@ -1,6 +1,7 @@ package com.hbm.main; import org.lwjgl.opengl.GL11; +import org.lwjgl.opengl.GLContext; import com.hbm.blocks.ICustomBlockHighlight; import com.hbm.handler.pollution.PollutionHandler.PollutionType; @@ -9,9 +10,9 @@ import com.hbm.items.armor.IArmorDisableModel.EnumPlayerPart; import com.hbm.packet.PermaSyncHandler; import com.hbm.render.model.ModelMan; -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.gameevent.TickEvent.WorldTickEvent; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.model.ModelRenderer; @@ -28,7 +29,6 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraftforge.client.event.DrawBlockHighlightEvent; import net.minecraftforge.client.event.EntityViewRenderEvent.FogColors; import net.minecraftforge.client.event.EntityViewRenderEvent.FogDensity; -import net.minecraftforge.client.event.EntityViewRenderEvent.RenderFogEvent; import net.minecraftforge.client.event.RenderPlayerEvent; public class ModEventHandlerRenderer { @@ -325,29 +325,55 @@ public class ModEventHandlerRenderer { } }*/ + float renderSoot = 0; + @SubscribeEvent - public void setupFog(RenderFogEvent event) { + public void worldTick(WorldTickEvent event) { + + if(event.phase == event.phase.START) { + + float step = 0.05F; + float soot = PermaSyncHandler.pollution[PollutionType.SOOT.ordinal()]; + + if(Math.abs(renderSoot - soot) < step) { + renderSoot = soot; + } else if(renderSoot < soot) { + renderSoot += step; + } else if(renderSoot > soot) { + renderSoot -= step; + } + } } @SubscribeEvent(priority = EventPriority.LOW) public void thickenFog(FogDensity event) { - float soot = PermaSyncHandler.pollution[PollutionType.SOOT.ordinal()]; - if(soot > 10) { + float soot = renderSoot - 35; + if(soot > 0) { //event.density = Math.min((soot - 5) * 0.01F, 0.5F); - GL11.glFogf(GL11.GL_FOG_START, 0.0F); float farPlaneDistance = (float) (Minecraft.getMinecraft().gameSettings.renderDistanceChunks * 16); - GL11.glFogf(GL11.GL_FOG_END, Math.max(farPlaneDistance * 0.8F / (soot * 0.05F), 5F)); + float fogDist = farPlaneDistance / (1 + soot * 0.05F); + GL11.glFogf(GL11.GL_FOG_START, 0); + GL11.glFogf(GL11.GL_FOG_END, fogDist); + + if(GLContext.getCapabilities().GL_NV_fog_distance) { + GL11.glFogi(34138, 34139); + } + //GL11.glFogi(GL11.GL_FOG_MODE, GL11.GL_EXP); + //GL11.glFogf(GL11.GL_FOG_DENSITY, 2F); event.setCanceled(true); } } @SubscribeEvent(priority = EventPriority.LOW) public void tintFog(FogColors event) { - float soot = PermaSyncHandler.pollution[PollutionType.SOOT.ordinal()]; - if(soot > 10) { - event.red = 0.15F; - event.green = 0.15F; - event.blue = 0.15F; + float soot = renderSoot - 35; + float sootColor = 0.15F; + float sootReq = 100F; + if(soot > 0) { + float interp = Math.min(soot / sootReq, 1F); + event.red = event.red * (1 - interp) + sootColor * interp; + event.green = event.green * (1 - interp) + sootColor * interp; + event.blue = event.blue * (1 - interp) + sootColor * interp; } } } diff --git a/src/main/java/com/hbm/render/tileentity/RendererObjTester.java b/src/main/java/com/hbm/render/tileentity/RendererObjTester.java index 49ef618d6..7c8eebb57 100644 --- a/src/main/java/com/hbm/render/tileentity/RendererObjTester.java +++ b/src/main/java/com/hbm/render/tileentity/RendererObjTester.java @@ -20,8 +20,6 @@ import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; -import net.minecraftforge.client.model.AdvancedModelLoader; -import net.minecraftforge.client.model.IModelCustom; public class RendererObjTester extends TileEntitySpecialRenderer { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java index 9956e1810..6d2501a7e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java @@ -3,8 +3,6 @@ package com.hbm.tileentity.machine; import java.util.ArrayList; import java.util.List; -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.RecipesCommon.AStack; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; 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 30d6c3552..8c06fd658 100644 --- a/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBase.java +++ b/src/main/java/com/hbm/tileentity/machine/pile/TileEntityPileBase.java @@ -4,7 +4,6 @@ import java.util.List; import java.util.Random; import com.hbm.blocks.ModBlocks; -import com.hbm.main.MainRegistry; import com.hbm.util.ContaminationUtil; import com.hbm.util.ContaminationUtil.ContaminationType; import com.hbm.util.ContaminationUtil.HazardType; @@ -12,7 +11,6 @@ import com.hbm.util.ContaminationUtil.HazardType; import api.hbm.block.IPileNeutronReceiver; import net.minecraft.block.Block; import net.minecraft.entity.EntityLivingBase; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; diff --git a/src/main/java/com/hbm/world/feature/BiomeCave.java b/src/main/java/com/hbm/world/feature/BiomeCave.java index 9d297778e..0add71808 100644 --- a/src/main/java/com/hbm/world/feature/BiomeCave.java +++ b/src/main/java/com/hbm/world/feature/BiomeCave.java @@ -4,11 +4,9 @@ import java.util.Random; import com.hbm.blocks.BlockEnums.EnumBiomeType; import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.generic.BlockStalagmite; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import net.minecraft.block.Block; -import net.minecraft.block.material.Material; import net.minecraft.world.World; import net.minecraft.world.biome.BiomeGenBase; import net.minecraft.world.biome.BiomeGenBase.TempCategory; diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 3667c7753..6d02868f9 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -942,11 +942,14 @@ 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) item.ammo_arty_classic.name=16" Artilleriegranate (Das Factorio-Spezial) item.ammo_arty_he.name=16" Artilleriegranate (HE) item.ammo_arty_mini_nuke.name=16" Mikroatomgranate item.ammo_arty_mini_nuke_multi.name=16" Mehrfach-Mikroatomgranate +item.ammo_arty_mustard_gas.name=16" Artilleriegranate (Senfgas) 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 diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index c5d2f90be..94ee5060f 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1522,11 +1522,14 @@ 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 item.ammo_arty_classic.name=16" Artillery Shell (The Factorio Special) item.ammo_arty_he.name=16" High Explosive Artillery Shell item.ammo_arty_mini_nuke.name=16" Micro Nuclear Artillery Shell item.ammo_arty_mini_nuke_multi.name=16" Multi Micro Nuclear Artillery Shell +item.ammo_arty_mustard_gas.name=16" Mustard Gas Artillery Shell 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 diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_SHELL_CHLORINE.png b/src/main/resources/assets/hbm/textures/items/chem_icon_SHELL_CHLORINE.png new file mode 100644 index 0000000000000000000000000000000000000000..21ce59d8289dcd9319cd9e135aa4682680053c06 GIT binary patch literal 523 zcmV+m0`&cfP)t<6rmzgi^K>S2*O1K4}w9a z7DWWDf;J^MI@%_%jS$iwD8iK>ErKD45L!tDMYSFVT?Fz>WVr8Tdfha4eDj=`v%2uz z^PS&!E?4lcE_+!GFgNp;bb3k9Vp+ArZ-0Y8g-Cgb;gKO-sa({p7#!$3e_8{~Ot+Cr zwc+JAaohw_+6<2jX@HOKJ~bt>>XQ}MZd3tyGiNh;`wxzr0N`$Zpec=5Sm@HJl*9Eq z+q`<(4#0z{gQgjvH|f*g5t5tu86&YgZ$;E5OR2c`aGO8{1S&L_9D9e1)Xa~ciIG^f z{Ex=A@ba5RsF|EQzDDk3NO8GyUlW6rKGmTC9M|De-%)cR*P|#dck<-IDgb^cC|8Av zW6@B73V8o*ox$#a!R~-^RYc-6l0=qrHG9n9<$4rbN4kvm>~j*wO+-lMzq`b?`uOHy zy|<}w#Wh++YLbci3SRzj;}PyZ-!P`P&iWMIDx;OF0za(JbnKlt!G0tesUvYRQd6qf zOwN84|NS(LCQIulj5hoFivXGvG&3nxY+fv`nZB03?cUc}{O~K%vkR6OskNzo?c)Fd N002ovPDHLkV1kGj?eqWu literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_SHELL_MUSTARD.png b/src/main/resources/assets/hbm/textures/items/chem_icon_SHELL_MUSTARD.png new file mode 100644 index 0000000000000000000000000000000000000000..dd8ee6c2a0fb3243e7e5d4c20a29501c136139cb GIT binary patch literal 494 zcmV9oCiUT2NDzQDV5tB~R zg_Nmdd#zY1Hi2zZssuzqB}IyGLO?w55|uMK4%yi|Wzu9v*Y(6#&G2~N```O#4F1Pl z`LzOAtK3j5el>Vz^u&k1S50IX;W#;F=BHJy_DVem&^u8YQvj8f48EVCywpP2Ssce= zW`0@$?0nhns;K9#bI8KmYXCOaEEbpB2s;bF#LMxnYK$NlR=zKI^X``Q)dBz?Kbg81 z;PQ6^)9Ph^`zWQv04RH zB-`}$yKMR=lz$GTAo@@o9aOrrX={jA$PUdi+biS~<9r@F$1%->lE%dqsjbGN#6=%klZl-?bSE`J z?f935E>s7oxZjfFg^|8nSu3sJF(twlkGiwBbznUCX&yrEyYv0$N_@$pWzO?8#U)mhYEzu_$=?>M!r#765qtCS!^L zeqFZ7*l7+weM=~@0Lt@oS~vo~=~COW0T7Nbkk0QeSz)6Bm4H|PzF*Q&XD{!Wq;LeG z>N7p-ve&SwY;+S4b12WxY12957>HNM<2PN_YkdGz5XK Date: Thu, 8 Jun 2023 21:58:09 +0200 Subject: [PATCH 151/285] rail ramps, some performance stuff, fixes --- changelog | 3 + gradle.properties | 8 +- src/main/java/com/hbm/blocks/ModBlocks.java | 4 + .../com/hbm/blocks/rail/RailStandardRamp.java | 133 +++ .../hbm/entity/train/EntityRailCarBase.java | 5 +- .../com/hbm/handler/EntityEffectHandler.java | 10 +- .../handler/pollution/PollutionHandler.java | 17 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ModEventHandler.java | 6 +- .../com/hbm/main/ModEventHandlerClient.java | 5 + .../java/com/hbm/main/ResourceManager.java | 1 + .../render/block/RenderStandardRampRail.java | 80 ++ .../TileEntityMachineElectricFurnace.java | 2 +- src/main/resources/META-INF/HBM_at.cfg | 3 + .../hbm/models/blocks/rail_standard_ramp.obj | 759 ++++++++++++++++++ 15 files changed, 1017 insertions(+), 20 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/rail/RailStandardRamp.java create mode 100644 src/main/java/com/hbm/render/block/RenderStandardRampRail.java create mode 100644 src/main/resources/assets/hbm/models/blocks/rail_standard_ramp.obj diff --git a/changelog b/changelog index d773337ea..5060b78ac 100644 --- a/changelog +++ b/changelog @@ -4,8 +4,11 @@ * Chlorine * Phosgene * Mustard gas +* Euphemium capacitor + * Used for schrabidium transmutation, has infinite durability ## Changed +* Updated russian localization * Mist now spawns cloud particles with the correct color instead of standard white * HE artillery shells and rockets now turn blocks into slag diff --git a/gradle.properties b/gradle.properties index c314b14dd..4c35fac9e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,10 +4,10 @@ mod_build_number=4621 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ - \ porting), UFFR (RTGs, guns, casings), Pu-238 (Tom impact effects), Bismarck (chinese localization),\ - \ Frooz (models), Minecreep (models), VT-6/24 (models, textures), Pheo (textures, various machines,\ - \ models, weapons), Vr (gas centrifuges, better worldgen, ZIRNOX, CP-1 parts, starter guide), Adam29\ - \ (liquid petroleum, ethanol, electric furnace), Pashtet (russian localization), MartinTheDragon\ + \ porting), UFFR (RTGs, guns, casings, euphemium capacitor), Pu-238 (Tom impact effects), Bismarck\ + \ (chinese localization), Frooz (models), Minecreep (models), VT-6/24 (models, textures), Pheo (textures,\ + \ various machines, models, weapons), Vr (gas centrifuges, better worldgen, ZIRNOX, CP-1 parts, starter guide),\ + \ Adam29 (liquid petroleum, ethanol, electric furnace), Pashtet (russian localization), MartinTheDragon\ \ (calculator, chunk-based fallout), haru315 (spiral point algorithm), Sten89 (models), Pixelguru26\ \ (textures), TheBlueHat (textures), Alcater (GUI textures, porting), impbk2002 (project settings),\ \ Burningwater202 (laminate glass), OvermindDL1 (project settings), TehTemmie (reacher radiation function),\ diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 006621f66..75e59d0a7 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -15,6 +15,7 @@ import com.hbm.blocks.rail.RailNarrowCurve; import com.hbm.blocks.rail.RailNarrowStraight; import com.hbm.blocks.rail.RailStandardBuffer; import com.hbm.blocks.rail.RailStandardCurve; +import com.hbm.blocks.rail.RailStandardRamp; import com.hbm.blocks.rail.RailStandardStraight; import com.hbm.blocks.siege.*; import com.hbm.blocks.test.*; @@ -1107,6 +1108,7 @@ public class ModBlocks { public static Block rail_narrow_curve; public static Block rail_large_straight; public static Block rail_large_curve; + public static Block rail_large_ramp; public static Block rail_large_buffer; public static Block statue_elb; @@ -2142,6 +2144,7 @@ public class ModBlocks { 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_curve = new RailStandardCurve().setBlockName("rail_large_curve").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 + ":block_steel"); crate = new BlockCrate(Material.wood).setBlockName("crate").setStepSound(Block.soundTypeWood).setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.consumableTab).setBlockTextureName(RefStrings.MODID + ":crate"); @@ -3378,6 +3381,7 @@ public class ModBlocks { register(rail_narrow_curve); register(rail_large_straight); register(rail_large_curve); + register(rail_large_ramp); register(rail_large_buffer); //Crate diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardRamp.java b/src/main/java/com/hbm/blocks/rail/RailStandardRamp.java new file mode 100644 index 000000000..d8cd3fdff --- /dev/null +++ b/src/main/java/com/hbm/blocks/rail/RailStandardRamp.java @@ -0,0 +1,133 @@ +package com.hbm.blocks.rail; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.lib.Library; +import com.hbm.util.fauxpointtwelve.BlockPos; + +import cpw.mods.fml.client.registry.RenderingRegistry; +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class RailStandardRamp extends BlockDummyable implements IRailNTM { + + public RailStandardRamp() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return null; + } + + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + + @Override + public int getRenderType() { + return renderID; + } + + @Override + public int[] getDimensions() { + return new int[] {0, 0, 2, 2, 1, 0}; + } + + @Override + public int getOffset() { + return 2; + } + + @Override + public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); + return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); + } + + @Override + public Vec3 getSnappingPos(World world, int x, int y, int z, double trainX, double trainY, double trainZ) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new RailContext()); + } + + @Override + public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info, MoveContext context) { + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info); + } + + /* Very simple function determining the snapping position and adding the motion value to it, if desired. */ + public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return Vec3.createVectorHelper(trainX, trainY, trainZ); + int cX = pos[0]; + int cY = pos[1]; + int cZ = pos[2]; + int meta = world.getBlockMetadata(cX, cY, cZ) - this.offset; + ForgeDirection dir = ForgeDirection.getOrientation(meta); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); + + if(speed == 0) { + //return vec; + } + + if(dir == Library.POS_X || dir == Library.NEG_X) { + double targetX = trainX; + if(motionX > 0) { + targetX += speed; + info.yaw(-90F); + } else { + targetX -= speed; + info.yaw(90F); + } + double dist = (cX + 0.5 - targetX + 2.5) / 5; + vec.xCoord = MathHelper.clamp_double(targetX, cX - 2, cX + 3); + vec.yCoord = MathHelper.clamp_double(dir == Library.POS_X ? cY + dist : cY + 1 - dist, cY, cY + 1); + vec.zCoord = cZ + 0.5 + rot.offsetZ * 0.5; + info.dist(Math.abs(targetX - vec.xCoord) * Math.signum(speed)); + info.pos(new BlockPos(cX + (motionX * speed > 0 ? 3 : -3), cY + (motionX * speed > 0 ^ dir == Library.POS_X ? 1 : 0), cZ)); + } else { + double targetZ = trainZ; + if(motionZ > 0) { + targetZ += speed; + info.yaw(0F); + } else { + targetZ -= speed; + info.yaw(180F); + } + double dist = (cZ + 0.5 - targetZ + 2.5) / 5; + vec.xCoord = cX + 0.5 + rot.offsetX * 0.5; + vec.yCoord = MathHelper.clamp_double(dir == Library.POS_Z ? cY + dist : cY + 1 - dist, cY, cY + 1); + vec.zCoord = MathHelper.clamp_double(targetZ, cZ - 2,cZ + 3); + info.dist(Math.abs(targetZ - vec.zCoord) * Math.signum(speed)); + info.pos(new BlockPos(cX, cY + (motionZ * speed > 0 ^ dir == Library.POS_Z ? 1 : 0), cZ + (motionZ * speed > 0 ? 3 : -3))); + } + + return vec; + } + + @Override + public TrackGauge getGauge(World world, int x, int y, int z) { + return TrackGauge.STANDARD; + } + + protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { + return MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, getDimensions(), x, y, z, dir) && + MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {1, -1, 2, 2, 1, 0}, x, y, z, dir); + } + + protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, getDimensions(), this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {1, -1, 2, 2, 1, 0}, this, dir); + } +} diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index e5e21d817..7b39c014b 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -207,6 +207,8 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { double y = posY + rot.yCoord; double z = posZ + rot.zCoord; dummy.setPosition(x, y, z); + dummy.setSize(def.width, def.height); + dummy.velocityChanged = true; worldObj.spawnEntityInWorld(dummy); this.dummies[i] = dummy; } @@ -222,7 +224,6 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { double x = renderX + rot.xCoord; double y = renderY + rot.yCoord; double z = renderZ + rot.zCoord; - dummy.setSize(def.width, def.height); // TEMP dummy.setPosition(x, y, z); } } @@ -372,7 +373,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { /** Returns the "true" position of the train, i.e. the block it wants to snap to */ public BlockPos getCurrentAnchorPos() { - return new BlockPos(posX, posY, posZ); + return new BlockPos(posX, posY + 0.25, posZ); } public void derail() { diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index 2ccce3b4a..6d6f29d5c 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -122,13 +122,13 @@ public class EntityEffectHandler { private static void handleRadiation(EntityLivingBase entity) { - if(ContaminationUtil.isRadImmune(entity)) - return; - World world = entity.worldObj; if(!world.isRemote) { + 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); @@ -416,6 +416,10 @@ public class EntityEffectHandler { } private static void handleOil(EntityLivingBase entity) { + + if(entity.worldObj.isRemote) + return; + int oil = HbmLivingProps.getOil(entity); if(oil > 0) { diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index e1bdbf7cd..16d91da8d 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -153,7 +153,6 @@ public class PollutionHandler { eggTimer++; if(eggTimer < 60) return; eggTimer = 0; - for(Entry entry : perWorld.entrySet()) { HashMap newPollution = new HashMap(); @@ -182,8 +181,12 @@ public class PollutionHandler { PollutionData newData = newPollution.get(chunk.getKey()); if(newData == null) newData = new PollutionData(); - for(int i = 0; i < newData.pollution.length; i++) newData.pollution[i] += data.pollution[i]; - newPollution.put(chunk.getKey(), newData); + boolean shouldPut = false; + for(int i = 0; i < newData.pollution.length; i++) { + newData.pollution[i] += data.pollution[i]; + if(newData.pollution[i] > 0) shouldPut = true; + } + if(shouldPut) newPollution.put(chunk.getKey(), newData); //apply neighbor data to neighboring chunks int[][] offsets = new int[][] {{1, 0}, {-1, 0}, {0, 1}, {0, -1}}; @@ -192,8 +195,12 @@ public class PollutionHandler { PollutionData offsetData = newPollution.get(offPos); if(offsetData == null) offsetData = new PollutionData(); - for(int i = 0; i < offsetData.pollution.length; i++) offsetData.pollution[i] += pollutionForNeightbors[i]; - newPollution.put(offPos, offsetData); + shouldPut = false; + for(int i = 0; i < offsetData.pollution.length; i++) { + offsetData.pollution[i] += pollutionForNeightbors[i]; + if(offsetData.pollution[i] > 0) shouldPut = true; + } + if(shouldPut) newPollution.put(offPos, offsetData); } } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 3cd7392bc..64ad4bffe 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -788,6 +788,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderNarrowCurveRail()); RenderingRegistry.registerBlockHandler(new RenderStandardStraightRail()); RenderingRegistry.registerBlockHandler(new RenderStandardCurveRail()); + RenderingRegistry.registerBlockHandler(new RenderStandardRampRail()); RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_dynamite.getRenderType(), ResourceManager.charge_dynamite)); RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_c4.getRenderType(), ResourceManager.charge_c4)); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index c7554d48d..69a28216f 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -478,11 +478,7 @@ public class ModEventHandler { @SubscribeEvent public void onLivingUpdate(LivingUpdateEvent event) { - ItemStack[] prevArmor = null; - - try { - prevArmor = (ItemStack[]) ReflectionHelper.findField(EntityLivingBase.class, "field_82180_bT", "previousEquipment").get(event.entityLiving); - } catch(Exception e) { } + ItemStack[] prevArmor = event.entityLiving.previousEquipment; if(event.entityLiving instanceof EntityPlayer && prevArmor != null && event.entityLiving.getHeldItem() != null && (prevArmor[0] == null || prevArmor[0].getItem() != event.entityLiving.getHeldItem().getItem()) diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 4a7bbe41f..31ef5a08e 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -13,6 +13,10 @@ import org.lwjgl.opengl.GL11; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockAshes; +import com.hbm.blocks.rail.IRailNTM; +import com.hbm.blocks.rail.IRailNTM.MoveContext; +import com.hbm.blocks.rail.IRailNTM.RailCheckType; +import com.hbm.blocks.rail.IRailNTM.RailContext; import com.hbm.config.GeneralConfig; import com.hbm.entity.effect.EntityNukeTorex; import com.hbm.entity.mob.EntityHunterChopper; @@ -66,6 +70,7 @@ 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.fauxpointtwelve.BlockPos; import com.hbm.wiaj.GuiWorldInAJar; import com.hbm.wiaj.cannery.CanneryBase; import com.hbm.wiaj.cannery.Jars; diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 1bd34ccdb..c573f1b49 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1333,6 +1333,7 @@ public class ResourceManager { public static final IModelCustom rail_narrow_curve = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_narrow_bend.obj")); public static final IModelCustom rail_standard_straight = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard.obj")); public static final IModelCustom rail_standard_curve = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_bend.obj")); + public static final IModelCustom rail_standard_ramp = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_ramp.obj")); 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")); diff --git a/src/main/java/com/hbm/render/block/RenderStandardRampRail.java b/src/main/java/com/hbm/render/block/RenderStandardRampRail.java new file mode 100644 index 000000000..eb1e245fd --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderStandardRampRail.java @@ -0,0 +1,80 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.rail.RailStandardRamp; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +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; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderStandardRampRail implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + + GL11.glTranslated(0, -0.0625, 0); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(0.3, 0.3, 0.3); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_ramp, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + int meta = world.getBlockMetadata(x, y, z); + if(meta < 12) return true; + + Tessellator tessellator = Tessellator.instance; + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + float rotation = 0; + + if(meta == 15) + rotation = 90F / 180F * (float) Math.PI; + if(meta == 12) + rotation = 180F / 180F * (float) Math.PI; + if(meta == 14) + rotation = 270F / 180F * (float) Math.PI; + + if(meta == 12) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, -0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, 0.5F); + + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_ramp, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + + if(meta == 12) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, 0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, -0.5F); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return RailStandardRamp.renderID; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java index 3a51328b0..53e8c3f74 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineElectricFurnace.java @@ -166,7 +166,7 @@ public class TileEntityMachineElectricFurnace extends TileEntityMachineBase impl power = Library.chargeTEFromItems(slots, 0, power, maxPower); - this.updateConnections(); + if(worldObj.getTotalWorldTime() % 40 == 0) this.updateConnections(); this.consumption = 50; this.maxProgress = 100; diff --git a/src/main/resources/META-INF/HBM_at.cfg b/src/main/resources/META-INF/HBM_at.cfg index ab5149f2d..7fa1a50fe 100644 --- a/src/main/resources/META-INF/HBM_at.cfg +++ b/src/main/resources/META-INF/HBM_at.cfg @@ -18,3 +18,6 @@ public net.minecraft.client.settings.KeyBinding field_151474_i # pr # GuiMainMenu public net.minecraft.client.gui.GuiMainMenu field_73975_c # splashText + +# EntityLivingBase +public net.minecraft.entity.EntityLivingBase field_82180_bT # previousEquipment diff --git a/src/main/resources/assets/hbm/models/blocks/rail_standard_ramp.obj b/src/main/resources/assets/hbm/models/blocks/rail_standard_ramp.obj new file mode 100644 index 000000000..2dec4fc8c --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/rail_standard_ramp.obj @@ -0,0 +1,759 @@ +# Blender v2.79 (sub 0) OBJ File: 'rail_standard_ramp.blend' +# www.blender.org +o Plane.001 +v 1.000000 0.562500 -0.187500 +v 1.000000 0.562500 0.187500 +v -1.000000 0.562500 0.187500 +v -1.000000 0.562500 -0.187500 +v -1.000000 0.500000 0.187500 +v 1.000000 0.500000 0.187500 +v -1.000000 0.500000 -0.187500 +v 1.000000 0.500000 -0.187500 +v -1.000000 0.700000 -0.812500 +v 1.000000 0.700000 -0.812500 +v -1.000000 0.700000 -1.187500 +v 1.000000 0.700000 -1.187500 +v -1.000000 0.800000 -1.812500 +v 1.000000 0.800000 -1.812500 +v -1.000000 0.800000 -2.187500 +v 1.000000 0.800000 -2.187500 +v -1.000000 0.100000 2.187500 +v 1.000000 0.100000 2.187500 +v -1.000000 0.100000 1.812500 +v 1.000000 0.100000 1.812500 +v -1.000000 0.300000 1.187500 +v 1.000000 0.300000 1.187500 +v -1.000000 0.300000 0.812500 +v 1.000000 0.300000 0.812500 +v -1.000000 0.762500 -1.187500 +v -1.000000 0.762500 -0.812500 +v 1.000000 0.762500 -0.812500 +v 1.000000 0.762500 -1.187500 +v -1.000000 0.862500 -2.187500 +v -1.000000 0.862500 -1.812500 +v 1.000000 0.862500 -1.812500 +v 1.000000 0.862500 -2.187500 +v -1.000000 0.162500 1.812500 +v -1.000000 0.162500 2.187500 +v 1.000000 0.162500 2.187500 +v 1.000000 0.162500 1.812500 +v -1.000000 0.362500 0.812500 +v -1.000000 0.362500 1.187500 +v 1.000000 0.362500 1.187500 +v 1.000000 0.362500 0.812500 +v -0.812500 0.062500 2.500000 +v 0.812500 0.062500 2.500000 +v -0.812500 1.062500 -2.500000 +v 0.812500 1.062500 -2.500000 +v -0.812500 0.187500 2.500000 +v 0.812500 0.187500 2.500000 +v -0.812500 1.187500 -2.500000 +v 0.812500 1.187500 -2.500000 +v 0.750000 0.062500 2.500000 +v 0.750000 1.062500 -2.500000 +v 0.750000 0.187500 2.500000 +v 0.750000 1.187500 -2.500000 +v -0.750000 1.062500 -2.500000 +v -0.750000 0.062500 2.500000 +v -0.750000 1.187500 -2.500000 +v -0.750000 0.187500 2.500000 +v 0.625000 0.162500 2.062500 +v 0.937500 0.162500 2.062500 +v 0.625000 0.162500 1.937500 +v 0.937500 0.162500 1.937500 +v 0.625000 0.225000 2.062500 +v 0.937500 0.225000 2.062500 +v 0.625000 0.225000 1.937500 +v 0.937500 0.225000 1.937500 +v -0.937500 0.162500 2.062500 +v -0.625000 0.162500 2.062500 +v -0.937500 0.162500 1.937500 +v -0.625000 0.162500 1.937500 +v -0.937500 0.225000 2.062500 +v -0.625000 0.225000 2.062500 +v -0.937500 0.225000 1.937500 +v -0.625000 0.225000 1.937500 +v 0.625000 0.362500 1.062500 +v 0.937500 0.362500 1.062500 +v 0.625000 0.362500 0.937500 +v 0.937500 0.362500 0.937500 +v 0.625000 0.425000 1.062500 +v 0.937500 0.425000 1.062500 +v 0.625000 0.425000 0.937500 +v 0.937500 0.425000 0.937500 +v -0.937500 0.362500 1.062500 +v -0.625000 0.362500 1.062500 +v -0.937500 0.362500 0.937500 +v -0.625000 0.362500 0.937500 +v -0.937500 0.425000 1.062500 +v -0.625000 0.425000 1.062500 +v -0.937500 0.425000 0.937500 +v -0.625000 0.425000 0.937500 +v 0.625000 0.562500 0.062500 +v 0.937500 0.562500 0.062500 +v 0.625000 0.562500 -0.062500 +v 0.937500 0.562500 -0.062500 +v 0.625000 0.625000 0.062500 +v 0.937500 0.625000 0.062500 +v 0.625000 0.625000 -0.062500 +v 0.937500 0.625000 -0.062500 +v -0.937500 0.562500 0.062500 +v -0.625000 0.562500 0.062500 +v -0.937500 0.562500 -0.062500 +v -0.625000 0.562500 -0.062500 +v -0.937500 0.625000 0.062500 +v -0.625000 0.625000 0.062500 +v -0.937500 0.625000 -0.062500 +v -0.625000 0.625000 -0.062500 +v 0.625000 0.762500 -0.937500 +v 0.937500 0.762500 -0.937500 +v 0.625000 0.762500 -1.062500 +v 0.937500 0.762500 -1.062500 +v 0.625000 0.825000 -0.937500 +v 0.937500 0.825000 -0.937500 +v 0.625000 0.825000 -1.062500 +v 0.937500 0.825000 -1.062500 +v -0.937500 0.762500 -0.937500 +v -0.625000 0.762500 -0.937500 +v -0.937500 0.762500 -1.062500 +v -0.625000 0.762500 -1.062500 +v -0.937500 0.825000 -0.937500 +v -0.625000 0.825000 -0.937500 +v -0.937500 0.825000 -1.062500 +v -0.625000 0.825000 -1.062500 +v 0.625000 0.862500 -1.937500 +v 0.937500 0.862500 -1.937500 +v 0.625000 0.862500 -2.062500 +v 0.937500 0.862500 -2.062500 +v 0.625000 0.925000 -1.937500 +v 0.937500 0.925000 -1.937500 +v 0.625000 0.925000 -2.062500 +v 0.937500 0.925000 -2.062500 +v -0.937500 0.862500 -1.937500 +v -0.625000 0.862500 -1.937500 +v -0.937500 0.862500 -2.062500 +v -0.625000 0.862500 -2.062500 +v -0.937500 0.925000 -1.937500 +v -0.625000 0.925000 -1.937500 +v -0.937500 0.925000 -2.062500 +v -0.625000 0.925000 -2.062500 +v -0.812500 0.862500 -1.500000 +v -0.812500 0.662500 -0.500000 +v -0.812500 0.462500 0.500000 +v -0.812500 0.262500 1.500000 +v 0.812500 0.262500 1.500000 +v 0.812500 0.462500 0.500000 +v 0.812500 0.662500 -0.500000 +v 0.812500 0.862500 -1.500000 +v -0.812500 0.987500 -1.500000 +v -0.812500 0.787500 -0.500000 +v -0.812500 0.587500 0.500000 +v -0.812500 0.387500 1.500000 +v 0.812500 0.387500 1.500000 +v 0.812500 0.587500 0.500000 +v 0.812500 0.787500 -0.500000 +v 0.812500 0.987500 -1.500000 +v 0.750000 0.262500 1.500000 +v 0.750000 0.462500 0.500000 +v 0.750000 0.662500 -0.500000 +v 0.750000 0.862500 -1.500000 +v 0.750000 0.387500 1.500000 +v 0.750000 0.587500 0.500000 +v 0.750000 0.787500 -0.500000 +v 0.750000 0.987500 -1.500000 +v -0.750000 0.862500 -1.500000 +v -0.750000 0.662500 -0.500000 +v -0.750000 0.462500 0.500000 +v -0.750000 0.262500 1.500000 +v -0.750000 0.987500 -1.500000 +v -0.750000 0.787500 -0.500000 +v -0.750000 0.587500 0.500000 +v -0.750000 0.387500 1.500000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt 0.218750 1.000000 +vt 0.406250 0.000000 +vt 0.406250 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt -0.000000 0.000000 +vt 0.187500 1.000000 +vt -0.000000 1.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.218750 1.000000 +vt 0.187500 -0.000000 +vt 0.218750 -0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.593750 -0.000000 +vt 0.406250 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.406250 0.031250 +vt 0.593750 -0.000000 +vt 0.593750 0.031250 +vt 0.187500 0.000000 +vt 0.218750 0.000000 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.531250 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.656250 +vt 0.531250 0.156250 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.406250 0.156250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.718750 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.406250 0.156250 +vt 0.406250 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.531250 0.718750 +vt 0.500000 0.718750 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.437500 0.062500 +vt 0.406250 0.125000 +vt 0.406250 0.062500 +vt 0.437500 0.125000 +vt 0.593750 0.156250 +vt 0.437500 0.156250 +vt 0.593750 0.062500 +vt 0.437500 0.031250 +vt 0.593750 0.031250 +vt 0.593750 0.125000 +vt 0.625000 0.062500 +vt 0.625000 0.125000 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.156250 +vt 0.500000 0.656250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.437500 0.656250 +vt 0.406250 0.156250 +vt 0.437500 0.156250 +vt 0.500000 0.156250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.500000 0.156250 +vt 0.531250 0.656250 +vt 0.500000 0.656250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.531250 0.156250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.593750 0.156250 +vt 0.593750 0.656250 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.406250 -0.000000 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.187500 1.000000 +vt 0.593750 0.031250 +vt 0.593750 0.031250 +vt 0.406250 -0.000000 +vt 0.593750 0.656250 +vt 0.500000 0.718750 +vt 0.406250 0.656250 +vt 0.531250 0.656250 +vt 0.500000 0.718750 +vt 0.531250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.406250 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +vt 0.593750 0.656250 +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.0000 0.9806 0.1961 +vn 0.0000 -0.9806 -0.1961 +s off +f 2/1/1 4/2/1 3/3/1 +f 7/4/2 6/5/2 5/6/2 +f 11/7/2 10/8/2 9/9/2 +f 15/10/2 14/11/2 13/12/2 +f 19/13/2 18/14/2 17/15/2 +f 23/16/2 22/17/2 21/18/2 +f 27/19/1 25/20/1 26/21/1 +f 31/22/1 29/23/1 30/24/1 +f 35/25/1 33/26/1 34/27/1 +f 39/28/1 37/29/1 38/30/1 +f 17/31/3 33/32/3 19/33/3 +f 10/34/4 26/35/4 9/36/4 +f 18/37/4 34/38/4 17/39/4 +f 12/40/5 27/41/5 10/8/5 +f 20/42/5 35/43/5 18/14/5 +f 11/7/6 28/44/6 12/45/6 +f 5/46/3 4/47/3 7/48/3 +f 19/13/6 36/49/6 20/50/6 +f 13/51/3 29/52/3 15/53/3 +f 6/54/4 3/55/4 5/56/4 +f 21/57/3 37/58/3 23/59/3 +f 14/60/4 30/61/4 13/62/4 +f 8/63/5 2/64/5 6/5/5 +f 22/65/4 38/66/4 21/67/4 +f 16/68/5 31/69/5 14/11/5 +f 7/4/6 1/70/6 8/71/6 +f 24/72/5 39/73/5 22/17/5 +f 15/10/6 32/74/6 16/75/6 +f 9/76/3 25/77/3 11/78/3 +f 23/16/6 40/79/6 24/80/6 +f 141/81/5 46/82/5 42/83/5 +f 145/84/3 43/85/3 137/86/3 +f 153/87/3 51/88/3 157/89/3 +f 46/90/4 49/91/4 42/92/4 +f 48/93/7 160/94/7 152/95/7 +f 42/83/8 153/96/8 141/81/8 +f 44/97/6 52/98/6 48/99/6 +f 53/100/5 165/101/5 161/102/5 +f 45/103/7 168/104/7 148/105/7 +f 43/106/8 161/102/8 137/107/8 +f 47/108/6 53/109/6 43/110/6 +f 41/111/4 56/112/4 45/113/4 +f 61/114/3 59/115/3 57/116/3 +f 63/117/6 60/118/6 59/119/6 +f 62/120/4 57/121/4 58/122/4 +f 64/123/5 58/124/5 60/125/5 +f 61/114/1 64/123/1 63/117/1 +f 69/126/3 67/127/3 65/128/3 +f 71/129/6 68/130/6 67/131/6 +f 70/132/4 65/133/4 66/134/4 +f 72/135/5 66/136/5 68/137/5 +f 69/126/1 72/135/1 71/129/1 +f 77/138/3 75/139/3 73/140/3 +f 79/141/6 76/142/6 75/143/6 +f 78/144/4 73/145/4 74/146/4 +f 80/147/5 74/148/5 76/149/5 +f 77/138/1 80/147/1 79/141/1 +f 85/150/3 83/151/3 81/152/3 +f 87/153/6 84/154/6 83/155/6 +f 86/156/4 81/157/4 82/158/4 +f 88/159/5 82/160/5 84/161/5 +f 85/150/1 88/159/1 87/153/1 +f 93/162/3 91/163/3 89/164/3 +f 95/165/6 92/166/6 91/167/6 +f 94/168/4 89/169/4 90/170/4 +f 96/171/5 90/172/5 92/173/5 +f 93/162/1 96/171/1 95/165/1 +f 101/174/3 99/175/3 97/176/3 +f 103/177/6 100/178/6 99/179/6 +f 102/180/4 97/181/4 98/182/4 +f 104/183/5 98/184/5 100/185/5 +f 101/174/1 104/183/1 103/177/1 +f 109/186/3 107/187/3 105/188/3 +f 111/189/6 108/190/6 107/191/6 +f 110/192/4 105/193/4 106/194/4 +f 112/195/5 106/196/5 108/197/5 +f 109/186/1 112/195/1 111/189/1 +f 117/198/3 115/199/3 113/200/3 +f 119/201/6 116/202/6 115/203/6 +f 118/204/4 113/205/4 114/206/4 +f 120/207/5 114/208/5 116/209/5 +f 117/198/1 120/207/1 119/201/1 +f 125/210/3 123/211/3 121/212/3 +f 127/213/6 124/214/6 123/215/6 +f 126/216/4 121/217/4 122/218/4 +f 128/219/5 122/220/5 124/221/5 +f 125/210/1 128/219/1 127/213/1 +f 133/222/3 131/223/3 129/224/3 +f 135/225/6 132/226/6 131/227/6 +f 134/228/4 129/229/4 130/230/4 +f 136/231/5 130/232/5 132/233/5 +f 133/222/1 136/231/1 135/225/1 +f 140/234/8 54/235/8 41/236/8 +f 139/237/8 164/238/8 140/239/8 +f 138/240/8 163/241/8 139/242/8 +f 137/243/8 162/244/8 138/245/8 +f 145/84/7 55/246/7 47/247/7 +f 146/248/7 165/249/7 145/250/7 +f 147/251/7 166/252/7 146/253/7 +f 148/254/7 167/255/7 147/256/7 +f 164/257/5 56/258/5 54/235/5 +f 163/259/5 168/260/5 164/238/5 +f 162/261/5 167/262/5 163/241/5 +f 161/263/5 166/264/5 162/244/5 +f 144/265/8 50/266/8 44/267/8 +f 143/268/8 156/269/8 144/270/8 +f 142/271/8 155/272/8 143/273/8 +f 141/274/8 154/275/8 142/276/8 +f 149/277/7 51/88/7 46/82/7 +f 150/278/7 157/279/7 149/280/7 +f 151/281/7 158/282/7 150/283/7 +f 152/284/7 159/285/7 151/286/7 +f 50/287/3 160/94/3 52/288/3 +f 156/289/3 159/285/3 160/290/3 +f 155/291/3 158/282/3 159/292/3 +f 154/293/3 157/279/3 158/294/3 +f 45/103/3 140/295/3 41/296/3 +f 148/254/3 139/297/3 140/298/3 +f 147/251/3 138/299/3 139/300/3 +f 146/248/3 137/301/3 138/302/3 +f 44/267/5 152/95/5 144/265/5 +f 144/270/5 151/286/5 143/268/5 +f 143/273/5 150/283/5 142/271/5 +f 142/276/5 149/280/5 141/274/5 +f 2/1/1 1/70/1 4/2/1 +f 7/4/2 8/71/2 6/5/2 +f 11/7/2 12/45/2 10/8/2 +f 15/10/2 16/75/2 14/11/2 +f 19/13/2 20/50/2 18/14/2 +f 23/16/2 24/80/2 22/17/2 +f 27/19/1 28/44/1 25/20/1 +f 31/22/1 32/74/1 29/23/1 +f 35/25/1 36/49/1 33/26/1 +f 39/28/1 40/79/1 37/29/1 +f 17/31/3 34/303/3 33/32/3 +f 10/34/4 27/304/4 26/35/4 +f 18/37/4 35/305/4 34/38/4 +f 12/40/5 28/306/5 27/41/5 +f 20/42/5 36/307/5 35/43/5 +f 11/7/6 25/20/6 28/44/6 +f 5/46/3 3/308/3 4/47/3 +f 19/13/6 33/26/6 36/49/6 +f 13/51/3 30/309/3 29/52/3 +f 6/54/4 2/310/4 3/55/4 +f 21/57/3 38/311/3 37/58/3 +f 14/60/4 31/312/4 30/61/4 +f 8/63/5 1/313/5 2/64/5 +f 22/65/4 39/314/4 38/66/4 +f 16/68/5 32/315/5 31/69/5 +f 7/4/6 4/2/6 1/70/6 +f 24/72/5 40/316/5 39/73/5 +f 15/10/6 29/23/6 32/74/6 +f 9/76/3 26/317/3 25/77/3 +f 23/16/6 37/29/6 40/79/6 +f 141/81/5 149/277/5 46/82/5 +f 145/84/3 47/247/3 43/85/3 +f 153/87/3 49/318/3 51/88/3 +f 46/90/4 51/319/4 49/91/4 +f 48/93/7 52/288/7 160/94/7 +f 42/83/8 49/320/8 153/96/8 +f 44/97/6 50/321/6 52/98/6 +f 53/100/5 55/246/5 165/101/5 +f 45/103/7 56/258/7 168/104/7 +f 43/106/8 53/100/8 161/102/8 +f 47/108/6 55/322/6 53/109/6 +f 41/111/4 54/323/4 56/112/4 +f 61/114/3 63/117/3 59/115/3 +f 63/117/6 64/123/6 60/118/6 +f 62/120/4 61/114/4 57/121/4 +f 64/123/5 62/120/5 58/124/5 +f 61/114/1 62/120/1 64/123/1 +f 69/126/3 71/129/3 67/127/3 +f 71/129/6 72/135/6 68/130/6 +f 70/132/4 69/126/4 65/133/4 +f 72/135/5 70/132/5 66/136/5 +f 69/126/1 70/132/1 72/135/1 +f 77/138/3 79/141/3 75/139/3 +f 79/141/6 80/147/6 76/142/6 +f 78/144/4 77/138/4 73/145/4 +f 80/147/5 78/144/5 74/148/5 +f 77/138/1 78/144/1 80/147/1 +f 85/150/3 87/153/3 83/151/3 +f 87/153/6 88/159/6 84/154/6 +f 86/156/4 85/150/4 81/157/4 +f 88/159/5 86/156/5 82/160/5 +f 85/150/1 86/156/1 88/159/1 +f 93/162/3 95/165/3 91/163/3 +f 95/165/6 96/171/6 92/166/6 +f 94/168/4 93/162/4 89/169/4 +f 96/171/5 94/168/5 90/172/5 +f 93/162/1 94/168/1 96/171/1 +f 101/174/3 103/177/3 99/175/3 +f 103/177/6 104/183/6 100/178/6 +f 102/180/4 101/174/4 97/181/4 +f 104/183/5 102/180/5 98/184/5 +f 101/174/1 102/180/1 104/183/1 +f 109/186/3 111/189/3 107/187/3 +f 111/189/6 112/195/6 108/190/6 +f 110/192/4 109/186/4 105/193/4 +f 112/195/5 110/192/5 106/196/5 +f 109/186/1 110/192/1 112/195/1 +f 117/198/3 119/201/3 115/199/3 +f 119/201/6 120/207/6 116/202/6 +f 118/204/4 117/198/4 113/205/4 +f 120/207/5 118/204/5 114/208/5 +f 117/198/1 118/204/1 120/207/1 +f 125/210/3 127/213/3 123/211/3 +f 127/213/6 128/219/6 124/214/6 +f 126/216/4 125/210/4 121/217/4 +f 128/219/5 126/216/5 122/220/5 +f 125/210/1 126/216/1 128/219/1 +f 133/222/3 135/225/3 131/223/3 +f 135/225/6 136/231/6 132/226/6 +f 134/228/4 133/222/4 129/229/4 +f 136/231/5 134/228/5 130/232/5 +f 133/222/1 134/228/1 136/231/1 +f 140/234/8 164/257/8 54/235/8 +f 139/237/8 163/259/8 164/238/8 +f 138/240/8 162/261/8 163/241/8 +f 137/243/8 161/263/8 162/244/8 +f 145/84/7 165/101/7 55/246/7 +f 146/248/7 166/264/7 165/249/7 +f 147/251/7 167/262/7 166/252/7 +f 148/254/7 168/260/7 167/255/7 +f 164/257/5 168/104/5 56/258/5 +f 163/259/5 167/255/5 168/260/5 +f 162/261/5 166/252/5 167/262/5 +f 161/263/5 165/249/5 166/264/5 +f 144/265/8 156/324/8 50/266/8 +f 143/268/8 155/325/8 156/269/8 +f 142/271/8 154/326/8 155/272/8 +f 141/274/8 153/327/8 154/275/8 +f 149/277/7 157/89/7 51/88/7 +f 150/278/7 158/294/7 157/279/7 +f 151/281/7 159/292/7 158/282/7 +f 152/284/7 160/290/7 159/285/7 +f 50/287/3 156/328/3 160/94/3 +f 156/289/3 155/329/3 159/285/3 +f 155/291/3 154/330/3 158/282/3 +f 154/293/3 153/331/3 157/279/3 +f 45/103/3 148/105/3 140/295/3 +f 148/254/3 147/256/3 139/297/3 +f 147/251/3 146/253/3 138/299/3 +f 146/248/3 145/250/3 137/301/3 +f 44/267/5 48/93/5 152/95/5 +f 144/270/5 152/284/5 151/286/5 +f 143/273/5 151/281/5 150/283/5 +f 142/276/5 150/278/5 149/280/5 From 4846313b06855d0710d30153f9b1c006961bb5eb Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 8 Jun 2023 22:32:27 +0200 Subject: [PATCH 152/285] can't forget this thing --- .../assets/hbm/models/weapons/coilgun.obj | 5594 +++++++++-------- 1 file changed, 2910 insertions(+), 2684 deletions(-) diff --git a/src/main/resources/assets/hbm/models/weapons/coilgun.obj b/src/main/resources/assets/hbm/models/weapons/coilgun.obj index 2bf0c74b4..50e810e4b 100644 --- a/src/main/resources/assets/hbm/models/weapons/coilgun.obj +++ b/src/main/resources/assets/hbm/models/weapons/coilgun.obj @@ -1,256 +1,256 @@ # Blender v2.79 (sub 0) OBJ File: 'coilgun.blend' # www.blender.org o Coils_Cylinder.012 -v -0.463562 0.524760 -0.428106 -v -0.237813 0.524760 -0.428106 -v -0.237813 0.222044 -0.302716 -v -0.463562 0.222044 -0.302716 -v -0.237813 0.096655 0.000000 -v -0.463562 0.096655 0.000000 -v -0.237813 0.222044 0.302716 -v -0.463562 0.222044 0.302716 -v -0.237813 0.524760 0.428106 -v -0.463562 0.524760 0.428106 -v -0.237813 0.827477 0.302716 -v -0.463562 0.827477 0.302716 -v -0.237813 0.952866 0.000000 -v -0.463562 0.952866 0.000000 -v -0.237813 0.827477 -0.302716 -v -0.463562 0.827477 -0.302716 -v -0.170088 0.524760 -0.428106 -v 0.055660 0.524760 -0.428106 -v 0.055660 0.222044 -0.302716 -v -0.170088 0.222044 -0.302716 -v 0.055660 0.096655 0.000000 -v -0.170088 0.096655 0.000000 -v 0.055660 0.222044 0.302716 -v -0.170088 0.222044 0.302716 -v 0.055660 0.524760 0.428106 -v -0.170088 0.524760 0.428106 -v 0.055660 0.827477 0.302716 -v -0.170088 0.827477 0.302716 -v 0.055660 0.952866 0.000000 -v -0.170088 0.952866 0.000000 -v 0.055660 0.827477 -0.302716 -v -0.170088 0.827477 -0.302716 -v 0.123385 0.524760 -0.428106 -v 0.349134 0.524760 -0.428106 -v 0.349134 0.222044 -0.302716 -v 0.123385 0.222044 -0.302716 -v 0.349134 0.096655 0.000000 -v 0.123385 0.096655 0.000000 -v 0.349134 0.222044 0.302716 -v 0.123385 0.222044 0.302716 -v 0.349134 0.524760 0.428106 -v 0.123385 0.524760 0.428106 -v 0.349134 0.827477 0.302716 -v 0.123385 0.827477 0.302716 -v 0.349134 0.952866 0.000000 -v 0.123385 0.952866 0.000000 -v 0.349134 0.827477 -0.302716 -v 0.123385 0.827477 -0.302716 -v 0.416858 0.524760 -0.428106 -v 0.642607 0.524760 -0.428106 -v 0.642607 0.222044 -0.302716 -v 0.416858 0.222044 -0.302716 -v 0.642607 0.096655 0.000000 -v 0.416858 0.096655 0.000000 -v 0.642607 0.222044 0.302716 -v 0.416858 0.222044 0.302716 -v 0.642607 0.524760 0.428106 -v 0.416858 0.524760 0.428106 -v 0.642607 0.827477 0.302716 -v 0.416858 0.827477 0.302716 -v 0.642607 0.952866 0.000000 -v 0.416858 0.952866 0.000000 -v 0.642607 0.827477 -0.302716 -v 0.416858 0.827477 -0.302716 -v 0.710331 0.524760 -0.428106 -v 0.936080 0.524760 -0.428106 -v 0.936080 0.222044 -0.302716 -v 0.710331 0.222044 -0.302716 -v 0.936080 0.096655 0.000000 -v 0.710331 0.096655 0.000000 -v 0.936080 0.222044 0.302716 -v 0.710331 0.222044 0.302716 -v 0.936080 0.524760 0.428106 -v 0.710331 0.524760 0.428106 -v 0.936080 0.827477 0.302716 -v 0.710331 0.827477 0.302716 -v 0.936080 0.952866 0.000000 -v 0.710331 0.952866 0.000000 -v 0.936080 0.827477 -0.302716 -v 0.710331 0.827477 -0.302716 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.875000 0.500000 -vt 0.750000 1.000000 -vt 0.750000 0.500000 -vt 0.625000 1.000000 -vt 0.625000 0.500000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.375000 1.000000 -vt 0.375000 0.500000 -vt 0.250000 1.000000 -vt 0.250000 0.500000 -vt 0.419706 0.419706 -vt 0.250000 0.490000 -vt 0.080294 0.419706 -vt 0.010000 0.250000 -vt 0.080294 0.080294 -vt 0.250000 0.010000 -vt 0.419706 0.080294 -vt 0.490000 0.250000 -vt 0.125000 1.000000 -vt 0.125000 0.500000 -vt 0.000000 1.000000 -vt 0.000000 0.500000 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.990000 0.250000 -vt 0.919706 0.080294 -vt 0.750000 0.010000 -vt 0.580294 0.080294 -vt 0.510000 0.250000 -vt 0.580294 0.419706 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.875000 0.500000 -vt 0.750000 1.000000 -vt 0.750000 0.500000 -vt 0.625000 1.000000 -vt 0.625000 0.500000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.375000 1.000000 -vt 0.375000 0.500000 -vt 0.250000 1.000000 -vt 0.250000 0.500000 -vt 0.419706 0.419706 -vt 0.250000 0.490000 -vt 0.080294 0.419706 -vt 0.010000 0.250000 -vt 0.080294 0.080294 -vt 0.250000 0.010000 -vt 0.419706 0.080294 -vt 0.490000 0.250000 -vt 0.125000 1.000000 -vt 0.125000 0.500000 -vt 0.000000 1.000000 -vt 0.000000 0.500000 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.990000 0.250000 -vt 0.919706 0.080294 -vt 0.750000 0.010000 -vt 0.580294 0.080294 -vt 0.510000 0.250000 -vt 0.580294 0.419706 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.875000 0.500000 -vt 0.750000 1.000000 -vt 0.750000 0.500000 -vt 0.625000 1.000000 -vt 0.625000 0.500000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.375000 1.000000 -vt 0.375000 0.500000 -vt 0.250000 1.000000 -vt 0.250000 0.500000 -vt 0.419706 0.419706 -vt 0.250000 0.490000 -vt 0.080294 0.419706 -vt 0.010000 0.250000 -vt 0.080294 0.080294 -vt 0.250000 0.010000 -vt 0.419706 0.080294 -vt 0.490000 0.250000 -vt 0.125000 1.000000 -vt 0.125000 0.500000 -vt 0.000000 1.000000 -vt 0.000000 0.500000 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.990000 0.250000 -vt 0.919706 0.080294 -vt 0.750000 0.010000 -vt 0.580294 0.080294 -vt 0.510000 0.250000 -vt 0.580294 0.419706 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.875000 0.500000 -vt 0.750000 1.000000 -vt 0.750000 0.500000 -vt 0.625000 1.000000 -vt 0.625000 0.500000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.375000 1.000000 -vt 0.375000 0.500000 -vt 0.250000 1.000000 -vt 0.250000 0.500000 -vt 0.419706 0.419706 -vt 0.250000 0.490000 -vt 0.080294 0.419706 -vt 0.010000 0.250000 -vt 0.080294 0.080294 -vt 0.250000 0.010000 -vt 0.419706 0.080294 -vt 0.490000 0.250000 -vt 0.125000 1.000000 -vt 0.125000 0.500000 -vt 0.000000 1.000000 -vt 0.000000 0.500000 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.990000 0.250000 -vt 0.919706 0.080294 -vt 0.750000 0.010000 -vt 0.580294 0.080294 -vt 0.510000 0.250000 -vt 0.580294 0.419706 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.875000 0.500000 -vt 0.750000 1.000000 -vt 0.750000 0.500000 -vt 0.625000 1.000000 -vt 0.625000 0.500000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.375000 1.000000 -vt 0.375000 0.500000 -vt 0.250000 1.000000 -vt 0.250000 0.500000 -vt 0.419706 0.419706 -vt 0.250000 0.490000 -vt 0.080294 0.419706 -vt 0.010000 0.250000 -vt 0.080294 0.080294 -vt 0.250000 0.010000 -vt 0.419706 0.080294 -vt 0.490000 0.250000 -vt 0.125000 1.000000 -vt 0.125000 0.500000 -vt 0.000000 1.000000 -vt 0.000000 0.500000 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.990000 0.250000 -vt 0.919706 0.080294 -vt 0.750000 0.010000 -vt 0.580294 0.080294 -vt 0.510000 0.250000 -vt 0.580294 0.419706 +v -0.463562 0.524760 2.571894 +v -0.237813 0.524760 2.571894 +v -0.237813 0.222044 2.697284 +v -0.463562 0.222044 2.697284 +v -0.237813 0.096655 3.000000 +v -0.463562 0.096655 3.000000 +v -0.237813 0.222044 3.302716 +v -0.463562 0.222044 3.302716 +v -0.237813 0.524760 3.428106 +v -0.463562 0.524760 3.428106 +v -0.237813 0.827477 3.302716 +v -0.463562 0.827477 3.302716 +v -0.237813 0.952866 3.000000 +v -0.463562 0.952866 3.000000 +v -0.237813 0.827477 2.697284 +v -0.463562 0.827477 2.697284 +v -0.170088 0.524760 2.571894 +v 0.055660 0.524760 2.571894 +v 0.055660 0.222044 2.697284 +v -0.170088 0.222044 2.697284 +v 0.055660 0.096655 3.000000 +v -0.170088 0.096655 3.000000 +v 0.055660 0.222044 3.302716 +v -0.170088 0.222044 3.302716 +v 0.055660 0.524760 3.428106 +v -0.170088 0.524760 3.428106 +v 0.055660 0.827477 3.302716 +v -0.170088 0.827477 3.302716 +v 0.055660 0.952866 3.000000 +v -0.170088 0.952866 3.000000 +v 0.055660 0.827477 2.697284 +v -0.170088 0.827477 2.697284 +v 0.123385 0.524760 2.571894 +v 0.349134 0.524760 2.571894 +v 0.349134 0.222044 2.697284 +v 0.123385 0.222044 2.697284 +v 0.349134 0.096655 3.000000 +v 0.123385 0.096655 3.000000 +v 0.349134 0.222044 3.302716 +v 0.123385 0.222044 3.302716 +v 0.349134 0.524760 3.428106 +v 0.123385 0.524760 3.428106 +v 0.349134 0.827477 3.302716 +v 0.123385 0.827477 3.302716 +v 0.349134 0.952866 3.000000 +v 0.123385 0.952866 3.000000 +v 0.349134 0.827477 2.697284 +v 0.123385 0.827477 2.697284 +v 0.416858 0.524760 2.571894 +v 0.642607 0.524760 2.571894 +v 0.642607 0.222044 2.697284 +v 0.416858 0.222044 2.697284 +v 0.642607 0.096655 3.000000 +v 0.416858 0.096655 3.000000 +v 0.642607 0.222044 3.302716 +v 0.416858 0.222044 3.302716 +v 0.642607 0.524760 3.428106 +v 0.416858 0.524760 3.428106 +v 0.642607 0.827477 3.302716 +v 0.416858 0.827477 3.302716 +v 0.642607 0.952866 3.000000 +v 0.416858 0.952866 3.000000 +v 0.642607 0.827477 2.697284 +v 0.416858 0.827477 2.697284 +v 0.710331 0.524760 2.571894 +v 0.936080 0.524760 2.571894 +v 0.936080 0.222044 2.697284 +v 0.710331 0.222044 2.697284 +v 0.936080 0.096655 3.000000 +v 0.710331 0.096655 3.000000 +v 0.936080 0.222044 3.302716 +v 0.710331 0.222044 3.302716 +v 0.936080 0.524760 3.428106 +v 0.710331 0.524760 3.428106 +v 0.936080 0.827477 3.302716 +v 0.710331 0.827477 3.302716 +v 0.936080 0.952866 3.000000 +v 0.710331 0.952866 3.000000 +v 0.936080 0.827477 2.697284 +v 0.710331 0.827477 2.697284 +vt 0.781097 0.399443 +vt 0.718903 0.399443 +vt 0.718903 0.309173 +vt 0.781097 0.309173 +vt 0.718903 0.218903 +vt 0.781097 0.218903 +vt 0.781097 0.941064 +vt 0.718903 0.941064 +vt 0.718903 0.850794 +vt 0.781097 0.850794 +vt 0.718903 0.760524 +vt 0.781097 0.760524 +vt 0.718903 0.670254 +vt 0.781097 0.670254 +vt 0.718903 0.579984 +vt 0.781097 0.579984 +vt 0.218903 0.282734 +vt 0.282733 0.218903 +vt 0.373004 0.218903 +vt 0.436834 0.282734 +vt 0.436834 0.373004 +vt 0.373003 0.436835 +vt 0.282733 0.436834 +vt 0.218903 0.373004 +vt 0.718903 0.489714 +vt 0.781097 0.489714 +vt 0.064155 0.437482 +vt 0.154425 0.437483 +vt 0.218255 0.501313 +vt 0.218255 0.591583 +vt 0.154425 0.655414 +vt 0.064154 0.655414 +vt 0.000324 0.591583 +vt 0.000324 0.501313 +vt 0.999676 0.180864 +vt 0.937482 0.180864 +vt 0.937482 0.090594 +vt 0.999676 0.090594 +vt 0.937482 0.000324 +vt 0.999676 0.000324 +vt 0.999676 0.722485 +vt 0.937482 0.722485 +vt 0.937482 0.632215 +vt 0.999676 0.632215 +vt 0.937482 0.541944 +vt 0.999676 0.541944 +vt 0.937482 0.451674 +vt 0.999676 0.451674 +vt 0.937482 0.361404 +vt 0.999676 0.361404 +vt 0.000324 0.282734 +vt 0.064154 0.218903 +vt 0.154425 0.218903 +vt 0.218255 0.282734 +vt 0.218255 0.373004 +vt 0.154424 0.436835 +vt 0.064154 0.436834 +vt 0.000324 0.373004 +vt 0.937482 0.271134 +vt 0.999676 0.271134 +vt 0.501313 0.218903 +vt 0.591583 0.218903 +vt 0.655413 0.282734 +vt 0.655413 0.373004 +vt 0.591583 0.436835 +vt 0.501313 0.436834 +vt 0.437482 0.373004 +vt 0.437482 0.282734 +vt 0.718255 0.399443 +vt 0.656061 0.399443 +vt 0.656061 0.309173 +vt 0.718255 0.309173 +vt 0.656061 0.218903 +vt 0.718255 0.218903 +vt 0.718255 0.941064 +vt 0.656061 0.941064 +vt 0.656061 0.850794 +vt 0.718255 0.850794 +vt 0.656061 0.760524 +vt 0.718255 0.760524 +vt 0.656061 0.670254 +vt 0.718255 0.670254 +vt 0.656061 0.579984 +vt 0.718255 0.579984 +vt 0.218903 0.501313 +vt 0.282733 0.437482 +vt 0.373004 0.437483 +vt 0.436834 0.501313 +vt 0.436834 0.591583 +vt 0.373003 0.655414 +vt 0.282733 0.655414 +vt 0.218903 0.591583 +vt 0.656061 0.489714 +vt 0.718255 0.489714 +vt 0.501313 0.437482 +vt 0.591583 0.437483 +vt 0.655413 0.501313 +vt 0.655413 0.591583 +vt 0.591583 0.655414 +vt 0.501313 0.655414 +vt 0.437482 0.591583 +vt 0.437482 0.501313 +vt 0.936834 0.180864 +vt 0.874640 0.180864 +vt 0.874640 0.090594 +vt 0.936834 0.090594 +vt 0.874640 0.000324 +vt 0.936834 0.000324 +vt 0.936834 0.722484 +vt 0.874640 0.722484 +vt 0.874640 0.632214 +vt 0.936834 0.632214 +vt 0.874640 0.541944 +vt 0.936834 0.541944 +vt 0.874640 0.451674 +vt 0.936834 0.451674 +vt 0.874640 0.361404 +vt 0.936834 0.361404 +vt 0.656061 0.064155 +vt 0.719891 0.000324 +vt 0.810162 0.000324 +vt 0.873992 0.064155 +vt 0.873992 0.154425 +vt 0.810162 0.218255 +vt 0.719891 0.218255 +vt 0.656061 0.154425 +vt 0.874640 0.271134 +vt 0.936834 0.271134 +vt 0.501313 0.000324 +vt 0.591583 0.000324 +vt 0.655413 0.064155 +vt 0.655413 0.154425 +vt 0.591583 0.218255 +vt 0.501313 0.218255 +vt 0.437482 0.154425 +vt 0.437482 0.064155 +vt 0.873992 0.399443 +vt 0.811798 0.399443 +vt 0.811798 0.309173 +vt 0.873992 0.309173 +vt 0.811798 0.218903 +vt 0.873992 0.218903 +vt 0.873992 0.941064 +vt 0.811798 0.941064 +vt 0.811798 0.850794 +vt 0.873992 0.850794 +vt 0.811798 0.760524 +vt 0.873992 0.760524 +vt 0.811798 0.670253 +vt 0.873992 0.670253 +vt 0.811798 0.579983 +vt 0.873992 0.579983 +vt 0.218903 0.064155 +vt 0.282733 0.000324 +vt 0.373004 0.000324 +vt 0.436834 0.064155 +vt 0.436834 0.154425 +vt 0.373003 0.218255 +vt 0.282733 0.218255 +vt 0.218903 0.154425 +vt 0.811798 0.489713 +vt 0.873992 0.489713 +vt 0.064155 0.000324 +vt 0.154425 0.000324 +vt 0.218255 0.064155 +vt 0.218255 0.154425 +vt 0.154425 0.218255 +vt 0.064154 0.218255 +vt 0.000324 0.154425 +vt 0.000324 0.064155 vn 0.0000 -0.3827 -0.9239 vn 0.0000 -0.9239 -0.3827 vn 0.0000 -0.9239 0.3827 @@ -261,56 +261,56 @@ vn 1.0000 0.0000 0.0000 vn 0.0000 0.9239 -0.3827 vn 0.0000 0.3827 -0.9239 vn -1.0000 0.0000 0.0000 -s 1 +s off f 1/1/1 2/2/1 3/3/1 4/4/1 f 4/4/2 3/3/2 5/5/2 6/6/2 -f 6/6/3 5/5/3 7/7/3 8/8/3 -f 8/8/4 7/7/4 9/9/4 10/10/4 -f 10/10/5 9/9/5 11/11/5 12/12/5 -f 12/12/6 11/11/6 13/13/6 14/14/6 -f 3/15/7 2/16/7 15/17/7 13/18/7 11/19/7 9/20/7 7/21/7 5/22/7 -f 14/14/8 13/13/8 15/23/8 16/24/8 -f 16/24/9 15/23/9 2/25/9 1/26/9 +f 6/7/3 5/8/3 7/9/3 8/10/3 +f 8/10/4 7/9/4 9/11/4 10/12/4 +f 10/12/5 9/11/5 11/13/5 12/14/5 +f 12/14/6 11/13/6 13/15/6 14/16/6 +f 3/17/7 2/18/7 15/19/7 13/20/7 11/21/7 9/22/7 7/23/7 5/24/7 +f 14/16/8 13/15/8 15/25/8 16/26/8 +f 16/26/9 15/25/9 2/2/9 1/1/9 f 1/27/10 4/28/10 6/29/10 8/30/10 10/31/10 12/32/10 14/33/10 16/34/10 f 17/35/1 18/36/1 19/37/1 20/38/1 f 20/38/2 19/37/2 21/39/2 22/40/2 -f 22/40/3 21/39/3 23/41/3 24/42/3 -f 24/42/4 23/41/4 25/43/4 26/44/4 -f 26/44/5 25/43/5 27/45/5 28/46/5 -f 28/46/6 27/45/6 29/47/6 30/48/6 -f 19/49/7 18/50/7 31/51/7 29/52/7 27/53/7 25/54/7 23/55/7 21/56/7 -f 30/48/8 29/47/8 31/57/8 32/58/8 -f 32/58/9 31/57/9 18/59/9 17/60/9 +f 22/41/3 21/42/3 23/43/3 24/44/3 +f 24/44/4 23/43/4 25/45/4 26/46/4 +f 26/46/5 25/45/5 27/47/5 28/48/5 +f 28/48/6 27/47/6 29/49/6 30/50/6 +f 19/51/7 18/52/7 31/53/7 29/54/7 27/55/7 25/56/7 23/57/7 21/58/7 +f 30/50/8 29/49/8 31/59/8 32/60/8 +f 32/60/9 31/59/9 18/36/9 17/35/9 f 17/61/10 20/62/10 22/63/10 24/64/10 26/65/10 28/66/10 30/67/10 32/68/10 f 33/69/1 34/70/1 35/71/1 36/72/1 f 36/72/2 35/71/2 37/73/2 38/74/2 -f 38/74/3 37/73/3 39/75/3 40/76/3 -f 40/76/4 39/75/4 41/77/4 42/78/4 -f 42/78/5 41/77/5 43/79/5 44/80/5 -f 44/80/6 43/79/6 45/81/6 46/82/6 -f 35/83/7 34/84/7 47/85/7 45/86/7 43/87/7 41/88/7 39/89/7 37/90/7 -f 46/82/8 45/81/8 47/91/8 48/92/8 -f 48/92/9 47/91/9 34/93/9 33/94/9 +f 38/75/3 37/76/3 39/77/3 40/78/3 +f 40/78/4 39/77/4 41/79/4 42/80/4 +f 42/80/5 41/79/5 43/81/5 44/82/5 +f 44/82/6 43/81/6 45/83/6 46/84/6 +f 35/85/7 34/86/7 47/87/7 45/88/7 43/89/7 41/90/7 39/91/7 37/92/7 +f 46/84/8 45/83/8 47/93/8 48/94/8 +f 48/94/9 47/93/9 34/70/9 33/69/9 f 33/95/10 36/96/10 38/97/10 40/98/10 42/99/10 44/100/10 46/101/10 48/102/10 f 49/103/1 50/104/1 51/105/1 52/106/1 f 52/106/2 51/105/2 53/107/2 54/108/2 -f 54/108/3 53/107/3 55/109/3 56/110/3 -f 56/110/4 55/109/4 57/111/4 58/112/4 -f 58/112/5 57/111/5 59/113/5 60/114/5 -f 60/114/6 59/113/6 61/115/6 62/116/6 -f 51/117/7 50/118/7 63/119/7 61/120/7 59/121/7 57/122/7 55/123/7 53/124/7 -f 62/116/8 61/115/8 63/125/8 64/126/8 -f 64/126/9 63/125/9 50/127/9 49/128/9 +f 54/109/3 53/110/3 55/111/3 56/112/3 +f 56/112/4 55/111/4 57/113/4 58/114/4 +f 58/114/5 57/113/5 59/115/5 60/116/5 +f 60/116/6 59/115/6 61/117/6 62/118/6 +f 51/119/7 50/120/7 63/121/7 61/122/7 59/123/7 57/124/7 55/125/7 53/126/7 +f 62/118/8 61/117/8 63/127/8 64/128/8 +f 64/128/9 63/127/9 50/104/9 49/103/9 f 49/129/10 52/130/10 54/131/10 56/132/10 58/133/10 60/134/10 62/135/10 64/136/10 f 65/137/1 66/138/1 67/139/1 68/140/1 f 68/140/2 67/139/2 69/141/2 70/142/2 -f 70/142/3 69/141/3 71/143/3 72/144/3 -f 72/144/4 71/143/4 73/145/4 74/146/4 -f 74/146/5 73/145/5 75/147/5 76/148/5 -f 76/148/6 75/147/6 77/149/6 78/150/6 -f 67/151/7 66/152/7 79/153/7 77/154/7 75/155/7 73/156/7 71/157/7 69/158/7 -f 78/150/8 77/149/8 79/159/8 80/160/8 -f 80/160/9 79/159/9 66/161/9 65/162/9 +f 70/143/3 69/144/3 71/145/3 72/146/3 +f 72/146/4 71/145/4 73/147/4 74/148/4 +f 74/148/5 73/147/5 75/149/5 76/150/5 +f 76/150/6 75/149/6 77/151/6 78/152/6 +f 67/153/7 66/154/7 79/155/7 77/156/7 75/157/7 73/158/7 71/159/7 69/160/7 +f 78/152/8 77/151/8 79/161/8 80/162/8 +f 80/162/9 79/161/9 66/138/9 65/137/9 f 65/163/10 68/164/10 70/165/10 72/166/10 74/167/10 76/168/10 78/169/10 80/170/10 o Tech_thingy_Cylinder.011 v -1.457017 0.997796 0.139627 @@ -3054,420 +3054,533 @@ f 700/1212/367 693/1203/400 695/1205/400 701/1213/368 f 691/1201/364 697/1207/364 723/1237/401 698/1208/401 f 716/1228/396 717/1229/402 730/1254/402 729/1253/397 o AmmunitionCan_Cylinder.007 -v -1.114931 0.645018 -0.394257 -v -0.705608 0.645018 -0.392564 -v -0.705608 0.367434 -0.277584 -v -1.115595 0.367434 -0.277584 -v -0.705608 0.252454 0.000000 -v -1.115595 0.252454 0.000000 -v -0.705608 0.367434 0.277584 -v -1.115595 0.367434 0.277584 -v -0.705608 0.645018 0.392564 -v -1.115595 0.645018 0.392564 -v -0.705608 0.922602 0.277584 -v -1.115595 0.922602 0.277584 -v -0.705608 1.037581 0.000000 -v -1.115595 1.037581 0.000000 -v -0.705608 0.922602 -0.277584 -v -1.115595 0.922602 -0.277584 -v -1.680468 0.367434 -0.277584 -v -1.680468 0.252454 0.000000 -v -1.696762 0.326183 0.000000 -v -1.696762 0.419567 -0.225451 -v -1.696762 0.645018 0.318835 -v -1.696762 0.870468 0.225451 -v -1.717499 0.922175 0.277157 -v -1.717499 0.645018 0.391959 -v -1.680468 0.645018 0.392564 -v -1.680468 0.922602 0.277584 -v -1.680468 0.922602 -0.277584 -v -1.680468 0.645018 -0.392564 -v -1.696762 0.645018 -0.318835 -v -1.696762 0.870469 -0.225450 -v -1.680468 0.367434 0.277584 -v -1.696762 0.419567 0.225451 -v -1.680468 1.037582 0.000000 -v -1.696762 0.963853 0.000000 -v -1.717499 1.036977 0.000000 -v -1.717499 0.922175 -0.277157 -v -1.807855 0.922175 -0.277157 -v -1.807855 1.036977 0.000000 -v -1.717499 0.367861 0.277157 -v -1.717499 0.253059 0.000000 -v -1.717499 0.367861 -0.277157 -v -1.717499 0.645018 -0.391959 -v -1.807855 0.922175 0.277157 -v -1.827112 0.964049 0.000000 -v -1.827112 0.870607 0.225589 -v -1.807856 0.645018 0.391959 -v -1.807856 0.367861 0.277157 -v -1.807856 0.253059 0.000000 -v -1.807856 0.367861 -0.277157 -v -1.807856 0.645018 -0.391959 -v -1.827112 0.645018 -0.319031 -v -1.827112 0.419429 -0.225589 -v -1.850272 0.367220 -0.277798 -v -1.850272 0.645018 -0.392866 -v -1.827112 0.645018 0.319031 -v -1.827112 0.419429 0.225589 -v -1.827112 0.325987 0.000000 -v -1.827112 0.870607 -0.225589 -v -1.850272 1.037884 0.000000 -v -1.850272 0.922816 -0.277798 -v -1.929992 0.922816 -0.277798 -v -1.929992 1.037884 0.000000 -v -1.850272 0.922816 0.277798 -v -1.850272 0.645018 0.392866 -v -1.850272 0.367220 0.277798 -v -1.850272 0.252152 0.000000 -v -1.929992 0.367220 -0.277798 -v -1.929992 0.252152 0.000000 -v -2.043752 0.321683 0.000000 -v -2.043752 0.416385 -0.228633 -v -1.929992 0.922816 0.277798 -v -1.929992 0.645018 0.392866 -v -1.929992 0.367220 0.277798 -v -1.929992 0.645018 -0.392866 -v -2.043752 0.873651 -0.228633 -v -2.043752 0.645018 -0.323335 -v -2.121962 0.645018 -0.225354 -v -2.121962 0.804367 -0.159349 -v -2.043752 0.968353 0.000000 -v -2.043752 0.873651 0.228633 -v -2.043752 0.645018 0.323335 -v -2.043752 0.416385 0.228633 -v -2.121962 0.870372 0.000000 -v -2.179800 0.787147 -0.142129 -v -2.179800 0.846019 0.000000 -v -2.121962 0.804367 0.159349 -v -2.121962 0.645018 0.225354 -v -2.121962 0.485669 0.159349 -v -2.121962 0.419664 0.000000 -v -2.121962 0.485669 -0.159349 -v -2.179800 0.787147 0.142129 -v -2.179800 0.817735 0.000000 -v -2.179800 0.767148 0.122130 -v -2.179800 0.645018 0.201001 -v -2.179800 0.502889 0.142129 -v -2.179800 0.444017 0.000000 -v -2.179800 0.502889 -0.142129 -v -2.179800 0.645018 -0.201001 -v -2.179800 0.645018 -0.172717 -v -2.179800 0.522888 -0.122130 -v -2.139229 0.522888 -0.122130 -v -2.139229 0.645018 -0.172717 -v -2.179800 0.645018 0.172717 -v -2.179800 0.522888 0.122130 -v -2.179800 0.472301 0.000000 -v -2.179800 0.767148 -0.122130 -v -2.139229 0.472301 0.000000 -v -2.139229 0.522888 0.122130 -v -2.139229 0.645018 0.172717 -v -2.139229 0.767148 0.122130 -v -2.139229 0.817735 0.000000 -v -2.139229 0.767148 -0.122130 -v -1.416219 0.923800 -0.278782 -v -1.416219 0.645018 -0.394257 -v -1.415588 1.037581 0.000000 -v -1.416219 0.923800 0.278782 -v -1.416219 0.645018 0.394257 -v -1.416219 0.366236 0.278782 -v -1.415589 0.252454 0.000000 -v -1.416219 0.366236 -0.278782 -v -1.161507 0.923800 -0.278782 -v -1.161507 0.645018 -0.394257 -v -1.161507 1.039275 0.000000 -v -1.161507 0.923800 0.278782 -v -1.161507 0.645018 0.394257 -v -1.161507 0.366236 0.278782 -v -1.161507 0.250761 0.000000 -v -1.161507 0.366236 -0.278782 -v -1.379544 0.645018 -0.394257 -v -1.379545 0.366236 -0.278782 -v -1.379545 1.039275 0.000000 -v -1.379545 0.923800 0.278782 -v -1.382795 0.953877 0.308859 -v -1.382795 1.081811 0.000000 -v -1.319287 0.645018 -0.409318 -v -1.221764 0.645018 -0.409318 -v -1.221764 0.355586 -0.289432 -v -1.319287 0.355586 -0.289432 -v -1.158621 0.950501 -0.305483 -v -1.158621 1.077036 0.000000 -v -1.379545 0.250761 0.000000 -v -1.319287 0.235700 0.000000 -v -1.316037 0.208225 0.000000 -v -1.316037 0.336159 -0.308859 -v -1.221764 0.235700 0.000000 -v -1.158621 0.950501 0.305483 -v -1.158621 0.645018 0.432019 -v -1.379545 0.366236 0.278782 -v -1.379545 0.645018 0.394257 -v -1.382795 0.336159 0.308859 -v -1.382795 0.645018 0.436793 -v -1.221764 0.355586 0.289432 -v -1.319287 0.355586 0.289432 -v -1.221764 0.934450 -0.289432 -v -1.221764 1.054336 0.000000 -v -1.224650 1.077036 0.000000 -v -1.224650 0.950501 -0.305483 -v -1.382795 0.336159 -0.308859 -v -1.382795 0.208225 0.000000 -v -1.221764 0.645018 0.409318 -v -1.319287 0.645018 0.409318 -v -1.158621 0.339535 0.305483 -v -1.158621 0.212999 0.000000 -v -1.319287 1.054336 0.000000 -v -1.319287 0.934450 -0.289432 -v -1.316037 0.953877 -0.308859 -v -1.316037 1.081811 0.000000 -v -1.221764 0.934450 0.289432 -v -1.319287 0.934450 0.289432 -v -1.224650 0.645018 0.432019 -v -1.224650 0.950501 0.305483 -v -1.316037 0.953877 0.308859 -v -1.316037 0.645018 0.436793 -v -1.158621 0.339535 -0.305483 -v -1.158621 0.645018 -0.432019 -v -1.379545 0.923800 -0.278782 -v -1.382795 0.953877 -0.308859 -v -1.224650 0.212999 0.000000 -v -1.224650 0.339535 0.305483 -v -1.316037 0.336159 0.308859 -v -1.224650 0.645018 -0.432019 -v -1.224650 0.339535 -0.305483 -v -1.382795 0.645018 -0.436793 -v -1.316036 0.645018 -0.436793 -vt 1.000000 0.825168 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.875000 0.825168 -vt 0.750000 1.000000 -vt 0.750000 0.825168 -vt 0.625000 1.000000 -vt 0.625000 0.825168 -vt 0.500000 1.000000 -vt 0.500000 0.825168 -vt 0.375000 1.000000 -vt 0.375000 0.825168 -vt 0.250000 1.000000 -vt 0.250000 0.825168 -vt 0.419706 0.419706 -vt 0.250000 0.490000 -vt 0.080294 0.419706 -vt 0.010000 0.250000 -vt 0.080294 0.080294 -vt 0.250000 0.010000 -vt 0.419706 0.080294 -vt 0.490000 0.250000 -vt 0.125000 1.000000 -vt 0.125000 0.825168 -vt 0.000000 1.000000 -vt 0.000000 0.825168 -vt 0.875000 0.500000 -vt 0.750000 0.500000 -vt 0.750000 0.500000 -vt 0.875000 0.500000 -vt 0.500000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.500000 0.500000 -vt 0.500000 0.500000 -vt 0.375000 0.500000 -vt 0.125000 0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.500000 -vt 0.125000 0.500000 -vt 1.000000 0.500000 -vt 1.000000 0.500000 -vt 0.625000 0.500000 -vt 0.625000 0.500000 -vt 0.250000 0.500000 -vt 0.250000 0.500000 -vt 0.250000 0.500000 -vt 0.125000 0.500000 -vt 0.125000 0.500000 -vt 0.250000 0.500000 -vt 0.625000 0.500000 -vt 0.750000 0.500000 -vt 0.875000 0.500000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vt 0.375000 0.500000 -vt 0.250000 0.500000 -vt 0.375000 0.500000 -vt 0.500000 0.500000 -vt 0.625000 0.500000 -vt 0.750000 0.500000 -vt 0.875000 0.500000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vt 1.000000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 0.500000 -vt 1.000000 0.500000 -vt 0.500000 0.500000 -vt 0.625000 0.500000 -vt 0.750000 0.500000 -vt 0.125000 0.500000 -vt 0.000000 0.500000 -vt 0.250000 0.500000 -vt 0.125000 0.500000 -vt 0.125000 0.500000 -vt 0.250000 0.500000 -vt 0.000000 0.500000 -vt 0.375000 0.500000 -vt 0.500000 0.500000 -vt 0.625000 0.500000 -vt 0.750000 0.500000 -vt 0.875000 0.500000 -vt 0.750000 0.500000 -vt 0.750000 0.500000 -vt 0.875000 0.500000 -vt 0.375000 0.500000 -vt 0.500000 0.500000 -vt 0.625000 0.500000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vt 0.125000 0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.500000 -vt 0.125000 0.500000 -vt 0.250000 0.500000 -vt 0.375000 0.500000 -vt 0.500000 0.500000 -vt 0.625000 0.500000 -vt 1.000000 0.500000 -vt 0.250000 0.500000 -vt 0.125000 0.500000 -vt 0.250000 0.500000 -vt 0.375000 0.500000 -vt 0.500000 0.500000 -vt 0.625000 0.500000 -vt 0.750000 0.500000 -vt 0.875000 0.500000 -vt 1.000000 0.500000 -vt 0.375000 0.500000 -vt 0.250000 0.500000 -vt 0.375000 0.500000 -vt 0.500000 0.500000 -vt 0.625000 0.500000 -vt 0.750000 0.500000 -vt 0.875000 0.500000 -vt 1.000000 0.500000 -vt 0.000000 0.500000 -vt 1.000000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 0.500000 -vt 1.000000 0.500000 -vt 0.500000 0.500000 -vt 0.625000 0.500000 -vt 0.750000 0.500000 -vt 0.125000 0.500000 -vt 0.000000 0.500000 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.990000 0.250000 -vt 0.919706 0.080294 -vt 0.750000 0.010000 -vt 0.580294 0.080294 -vt 0.510000 0.250000 -vt 0.580294 0.419706 -vt 0.000000 0.500000 -vt 0.125000 0.500000 -vt 0.250000 0.500000 -vt 0.375000 0.500000 -vt 0.500000 0.500000 -vt 0.625000 0.500000 -vt 0.750000 0.500000 -vt 0.125000 0.658502 -vt 0.000000 0.658502 -vt 0.250000 0.658502 -vt 0.375000 0.658502 -vt 0.500000 0.658502 -vt 0.625000 0.658502 -vt 0.750000 0.658502 -vt 0.875000 0.658502 -vt 1.000000 0.658502 -vt 0.125000 0.790724 -vt 0.000000 0.790724 -vt 0.250000 0.790724 -vt 0.375000 0.790724 -vt 0.500000 0.790724 -vt 0.625000 0.790724 -vt 0.750000 0.790724 -vt 0.875000 0.790724 -vt 1.000000 0.790724 -vt 1.000000 0.690724 -vt 0.875000 0.690724 -vt 0.250000 0.690724 -vt 0.375000 0.690724 -vt 0.375000 0.690724 -vt 0.250000 0.690724 -vt 1.000000 0.724057 -vt 1.000000 0.757391 -vt 0.875000 0.757391 -vt 0.875000 0.724057 -vt 0.125000 0.790724 -vt 0.250000 0.790724 -vt 0.750000 0.690724 -vt 0.750000 0.724057 -vt 0.750000 0.724057 -vt 0.875000 0.724057 -vt 0.750000 0.757391 -vt 0.375000 0.790724 -vt 0.500000 0.790724 -vt 0.625000 0.690724 -vt 0.500000 0.690724 -vt 0.625000 0.690724 -vt 0.500000 0.690724 -vt 0.625000 0.757391 -vt 0.625000 0.724057 -vt 0.125000 0.757391 -vt 0.250000 0.757391 -vt 0.250000 0.757391 -vt 0.125000 0.757391 -vt 0.875000 0.690724 -vt 0.750000 0.690724 -vt 0.500000 0.757391 -vt 0.500000 0.724057 -vt 0.625000 0.790724 -vt 0.750000 0.790724 -vt 0.250000 0.724057 -vt 0.125000 0.724057 -vt 0.125000 0.724057 -vt 0.250000 0.724057 -vt 0.375000 0.757391 -vt 0.375000 0.724057 -vt 0.500000 0.757391 -vt 0.375000 0.757391 -vt 0.375000 0.724057 -vt 0.500000 0.724057 -vt 0.875000 0.790724 -vt 1.000000 0.790724 -vt 0.125000 0.690724 -vt 0.125000 0.690724 -vt 0.750000 0.757391 -vt 0.625000 0.757391 -vt 0.000000 0.690724 -vt 0.625000 0.724057 -vt 0.000000 0.757391 -vt 0.000000 0.724057 -vt 1.000000 0.757391 -vt 0.875000 0.757391 -vt 0.000000 0.790724 -vt 0.000000 0.757391 -vt 1.000000 0.690724 -vt 1.000000 0.724057 -vt 0.000000 0.724057 -vt 0.000000 0.690724 +v -1.114931 0.645018 2.605743 +v -0.705608 0.645018 2.607436 +v -0.705608 0.367434 2.722416 +v -1.115595 0.367434 2.722416 +v -0.705608 0.252454 3.000000 +v -1.115595 0.252454 3.000000 +v -0.705608 0.367434 3.277584 +v -1.115595 0.367434 3.277584 +v -0.705608 0.645018 3.392564 +v -1.115595 0.645018 3.392564 +v -0.705608 0.922602 3.277584 +v -1.115595 0.922602 3.277584 +v -0.705608 1.037581 3.000000 +v -1.115595 1.037581 3.000000 +v -0.705608 0.922602 2.722416 +v -1.115595 0.922602 2.722416 +v -1.680468 0.367434 2.722416 +v -1.680468 0.252454 3.000000 +v -1.696762 0.326183 3.000000 +v -1.696762 0.419567 2.774549 +v -1.696762 0.645018 3.318835 +v -1.696762 0.870468 3.225451 +v -1.717499 0.922175 3.277157 +v -1.717499 0.645018 3.391959 +v -1.680468 0.645018 3.392564 +v -1.680468 0.922602 3.277584 +v -1.680468 0.922602 2.722416 +v -1.680468 0.645018 2.607436 +v -1.696762 0.645018 2.681165 +v -1.696762 0.870469 2.774550 +v -1.680468 0.367434 3.277584 +v -1.696762 0.419567 3.225451 +v -1.680468 1.037582 3.000000 +v -1.696762 0.963853 3.000000 +v -1.717499 1.036977 3.000000 +v -1.717499 0.922175 2.722843 +v -1.807855 0.922175 2.722843 +v -1.807855 1.036977 3.000000 +v -1.717499 0.367861 3.277157 +v -1.717499 0.253059 3.000000 +v -1.717499 0.367861 2.722843 +v -1.717499 0.645018 2.608041 +v -1.807855 0.922175 3.277157 +v -1.827112 0.964049 3.000000 +v -1.827112 0.870607 3.225589 +v -1.807856 0.645018 3.391959 +v -1.807856 0.367861 3.277157 +v -1.807856 0.253059 3.000000 +v -1.807856 0.367861 2.722843 +v -1.807856 0.645018 2.608041 +v -1.827112 0.645018 2.680969 +v -1.827112 0.419429 2.774411 +v -1.850272 0.367220 2.722202 +v -1.850272 0.645018 2.607134 +v -1.827112 0.645018 3.319031 +v -1.827112 0.419429 3.225589 +v -1.827112 0.325987 3.000000 +v -1.827112 0.870607 2.774411 +v -1.850272 1.037884 3.000000 +v -1.850272 0.922816 2.722202 +v -1.929992 0.922816 2.722202 +v -1.929992 1.037884 3.000000 +v -1.850272 0.922816 3.277798 +v -1.850272 0.645018 3.392866 +v -1.850272 0.367220 3.277798 +v -1.850272 0.252152 3.000000 +v -1.929992 0.367220 2.722202 +v -1.929992 0.252152 3.000000 +v -2.043752 0.321683 3.000000 +v -2.043752 0.416385 2.771367 +v -1.929992 0.922816 3.277798 +v -1.929992 0.645018 3.392866 +v -1.929992 0.367220 3.277798 +v -1.929992 0.645018 2.607134 +v -2.043752 0.873651 2.771367 +v -2.043752 0.645018 2.676665 +v -2.121962 0.645018 2.774646 +v -2.121962 0.804367 2.840651 +v -2.043752 0.968353 3.000000 +v -2.043752 0.873651 3.228633 +v -2.043752 0.645018 3.323335 +v -2.043752 0.416385 3.228633 +v -2.121962 0.870372 3.000000 +v -2.179800 0.787147 2.857871 +v -2.179800 0.846019 3.000000 +v -2.121962 0.804367 3.159349 +v -2.121962 0.645018 3.225354 +v -2.121962 0.485669 3.159349 +v -2.121962 0.419664 3.000000 +v -2.121962 0.485669 2.840651 +v -2.179800 0.787147 3.142129 +v -2.179800 0.817735 3.000000 +v -2.179800 0.767148 3.122130 +v -2.179800 0.645018 3.201001 +v -2.179800 0.502889 3.142129 +v -2.179800 0.444017 3.000000 +v -2.179800 0.502889 2.857871 +v -2.179800 0.645018 2.798999 +v -2.179800 0.645018 2.827283 +v -2.179800 0.522888 2.877870 +v -2.139229 0.522888 2.877870 +v -2.139229 0.645018 2.827283 +v -2.179800 0.645018 3.172717 +v -2.179800 0.522888 3.122130 +v -2.179800 0.472301 3.000000 +v -2.179800 0.767148 2.877870 +v -2.139229 0.472301 3.000000 +v -2.139229 0.522888 3.122130 +v -2.139229 0.645018 3.172717 +v -2.139229 0.767148 3.122130 +v -2.139229 0.817735 3.000000 +v -2.139229 0.767148 2.877870 +v -1.416219 0.923800 2.721218 +v -1.416219 0.645018 2.605743 +v -1.415588 1.037581 3.000000 +v -1.416219 0.923800 3.278782 +v -1.416219 0.645018 3.394257 +v -1.416219 0.366236 3.278782 +v -1.415589 0.252454 3.000000 +v -1.416219 0.366236 2.721218 +v -1.161507 0.923800 2.721218 +v -1.161507 0.645018 2.605743 +v -1.161507 1.039275 3.000000 +v -1.161507 0.923800 3.278782 +v -1.161507 0.645018 3.394257 +v -1.161507 0.366236 3.278782 +v -1.161507 0.250761 3.000000 +v -1.161507 0.366236 2.721218 +v -1.379544 0.645018 2.605743 +v -1.379545 0.366236 2.721218 +v -1.379545 1.039275 3.000000 +v -1.379545 0.923800 3.278782 +v -1.382795 0.953877 3.308859 +v -1.382795 1.081811 3.000000 +v -1.319287 0.645018 2.590682 +v -1.221764 0.645018 2.590682 +v -1.221764 0.355586 2.710568 +v -1.319287 0.355586 2.710568 +v -1.158621 0.950501 2.694517 +v -1.158621 1.077036 3.000000 +v -1.379545 0.250761 3.000000 +v -1.319287 0.235700 3.000000 +v -1.316037 0.208225 3.000000 +v -1.316037 0.336159 2.691141 +v -1.221764 0.235700 3.000000 +v -1.158621 0.950501 3.305483 +v -1.158621 0.645018 3.432019 +v -1.379545 0.366236 3.278782 +v -1.379545 0.645018 3.394257 +v -1.382795 0.336159 3.308859 +v -1.382795 0.645018 3.436793 +v -1.221764 0.355586 3.289432 +v -1.319287 0.355586 3.289432 +v -1.221764 0.934450 2.710568 +v -1.221764 1.054336 3.000000 +v -1.224650 1.077036 3.000000 +v -1.224650 0.950501 2.694517 +v -1.382795 0.336159 2.691141 +v -1.382795 0.208225 3.000000 +v -1.221764 0.645018 3.409318 +v -1.319287 0.645018 3.409318 +v -1.158621 0.339535 3.305483 +v -1.158621 0.212999 3.000000 +v -1.319287 1.054336 3.000000 +v -1.319287 0.934450 2.710568 +v -1.316037 0.953877 2.691141 +v -1.316037 1.081811 3.000000 +v -1.221764 0.934450 3.289432 +v -1.319287 0.934450 3.289432 +v -1.224650 0.645018 3.432019 +v -1.224650 0.950501 3.305483 +v -1.316037 0.953877 3.308859 +v -1.316037 0.645018 3.436793 +v -1.158621 0.339535 2.694517 +v -1.158621 0.645018 2.567981 +v -1.379545 0.923800 2.721218 +v -1.382795 0.953877 2.691141 +v -1.224650 0.212999 3.000000 +v -1.224650 0.339535 3.305483 +v -1.316037 0.336159 3.308859 +v -1.224650 0.645018 2.567981 +v -1.224650 0.339535 2.694517 +v -1.382795 0.645018 2.563207 +v -1.316036 0.645018 2.563207 +vt 0.333771 0.122601 +vt 0.250827 0.123696 +vt 0.249913 0.062860 +vt 0.333162 0.061441 +vt 0.248762 0.002028 +vt 0.331770 0.000458 +vt 0.331178 0.489363 +vt 0.248762 0.487236 +vt 0.250204 0.426885 +vt 0.333040 0.428574 +vt 0.251228 0.366447 +vt 0.334273 0.367529 +vt 0.251779 0.305898 +vt 0.334946 0.306336 +vt 0.251870 0.245242 +vt 0.335158 0.245008 +vt 0.387778 0.000111 +vt 0.448672 0.000111 +vt 0.491729 0.043169 +vt 0.491729 0.104062 +vt 0.448671 0.147120 +vt 0.387778 0.147120 +vt 0.344720 0.104062 +vt 0.344720 0.043169 +vt 0.251510 0.184543 +vt 0.334843 0.183746 +vt 0.184792 0.411952 +vt 0.180019 0.475285 +vt 0.164389 0.467565 +vt 0.169068 0.411085 +vt 0.171376 0.116511 +vt 0.173907 0.173123 +vt 0.158223 0.172770 +vt 0.156306 0.116051 +vt 0.187710 0.116136 +vt 0.188188 0.173263 +vt 0.187862 0.290744 +vt 0.187045 0.350935 +vt 0.169556 0.350164 +vt 0.173074 0.290555 +vt 0.169093 0.410760 +vt 0.169539 0.350497 +vt 0.182936 0.002420 +vt 0.185636 0.059963 +vt 0.171429 0.060361 +vt 0.168682 0.009053 +vt 0.188834 0.231566 +vt 0.171901 0.231236 +vt 0.173902 0.173419 +vt 0.171377 0.116200 +vt 0.171433 0.060647 +vt 0.173086 0.290248 +vt 0.171893 0.231559 +vt 0.156248 0.230716 +vt 0.156867 0.289505 +vt 0.136903 0.289718 +vt 0.137407 0.231137 +vt 0.156897 0.060302 +vt 0.156891 0.004402 +vt 0.151894 0.409417 +vt 0.153421 0.349240 +vt 0.147572 0.472946 +vt 0.138952 0.173384 +vt 0.121938 0.230032 +vt 0.123479 0.172751 +vt 0.138214 0.116866 +vt 0.138770 0.061156 +vt 0.138353 0.003891 +vt 0.132267 0.409089 +vt 0.134072 0.349295 +vt 0.126815 0.471069 +vt 0.118159 0.348200 +vt 0.116549 0.407518 +vt 0.099353 0.406365 +vt 0.101957 0.346731 +vt 0.123291 0.116133 +vt 0.123243 0.060809 +vt 0.114079 0.464786 +vt 0.116522 0.407844 +vt 0.120912 0.288422 +vt 0.121921 0.230342 +vt 0.123493 0.172442 +vt 0.123281 0.116431 +vt 0.123249 0.060512 +vt 0.123844 0.009530 +vt 0.118183 0.347881 +vt 0.120892 0.288742 +vt 0.106188 0.229161 +vt 0.104711 0.287384 +vt 0.088322 0.287014 +vt 0.090113 0.228932 +vt 0.107837 0.171744 +vt 0.108130 0.115645 +vt 0.108841 0.060451 +vt 0.096873 0.470749 +vt 0.108910 0.003319 +vt 0.083013 0.405933 +vt 0.079907 0.469925 +vt 0.052378 0.462912 +vt 0.054935 0.410246 +vt 0.092029 0.171671 +vt 0.092656 0.115769 +vt 0.093106 0.060660 +vt 0.092149 0.003387 +vt 0.085408 0.346282 +vt 0.062313 0.290993 +vt 0.059914 0.339771 +vt 0.036698 0.331221 +vt 0.038369 0.297224 +vt 0.063245 0.281096 +vt 0.064719 0.233294 +vt 0.067796 0.166452 +vt 0.068312 0.120444 +vt 0.068137 0.056008 +vt 0.067350 0.008871 +vt 0.057308 0.399614 +vt 0.059278 0.350520 +vt 0.065403 0.223033 +vt 0.066980 0.175906 +vt 0.068752 0.110697 +vt 0.069122 0.065341 +vt 0.041387 0.239824 +vt 0.040360 0.273141 +vt 0.028428 0.270971 +vt 0.029344 0.241254 +vt 0.042861 0.215130 +vt 0.043960 0.182284 +vt 0.046882 0.103646 +vt 0.047140 0.072034 +vt 0.027306 0.453697 +vt 0.029088 0.416990 +vt 0.045633 0.159231 +vt 0.045993 0.127165 +vt 0.045231 0.049246 +vt 0.044683 0.016394 +vt 0.033874 0.391223 +vt 0.035247 0.357006 +vt 0.032082 0.183664 +vt 0.031102 0.212960 +vt 0.026194 0.210732 +vt 0.027037 0.185558 +vt 0.034115 0.157369 +vt 0.034435 0.128769 +vt 0.033381 0.047668 +vt 0.032891 0.018366 +vt 0.021636 0.388880 +vt 0.022861 0.358361 +vt 0.024556 0.328782 +vt 0.026047 0.298459 +vt 0.035522 0.101845 +vt 0.035752 0.073650 +vt 0.014195 0.451072 +vt 0.015784 0.418332 +vt 0.017591 0.360300 +vt 0.016539 0.386525 +vt 0.008490 0.386202 +vt 0.009543 0.359977 +vt 0.030749 0.099822 +vt 0.030947 0.075594 +vt 0.008745 0.448499 +vt 0.010111 0.420366 +vt 0.023445 0.268724 +vt 0.024232 0.243190 +vt 0.029279 0.155303 +vt 0.029555 0.130726 +vt 0.028369 0.045690 +vt 0.027949 0.020511 +vt 0.019510 0.326396 +vt 0.020791 0.300340 +vt 0.363665 0.147342 +vt 0.390456 0.147342 +vt 0.409400 0.166287 +vt 0.409400 0.193078 +vt 0.390456 0.212022 +vt 0.363664 0.212022 +vt 0.344720 0.193078 +vt 0.344720 0.166286 +vt 0.011513 0.326003 +vt 0.012794 0.299946 +vt 0.018468 0.210474 +vt 0.019311 0.185300 +vt 0.023313 0.099761 +vt 0.023511 0.075533 +vt 0.000111 0.448080 +vt 0.001477 0.419947 +vt 0.015608 0.268483 +vt 0.016395 0.242948 +vt 0.021737 0.155218 +vt 0.022012 0.130642 +vt 0.020642 0.045819 +vt 0.020221 0.020640 +vt 0.241179 0.291205 +vt 0.241048 0.352210 +vt 0.241424 0.231328 +vt 0.239656 0.172428 +vt 0.238302 0.114877 +vt 0.236112 0.057792 +vt 0.234041 0.000494 +vt 0.239378 0.414394 +vt 0.236869 0.477863 +vt 0.344164 0.183645 +vt 0.343181 0.122473 +vt 0.344498 0.244994 +vt 0.344304 0.306406 +vt 0.343563 0.367674 +vt 0.342352 0.428813 +vt 0.340421 0.489783 +vt 0.342493 0.061278 +vt 0.341044 0.000111 +vt 0.248540 0.352310 +vt 0.247025 0.414653 +vt 0.518660 0.274425 +vt 0.518660 0.335581 +vt 0.510669 0.338880 +vt 0.510669 0.271126 +vt 0.618935 0.542365 +vt 0.618935 0.562130 +vt 0.555443 0.562130 +vt 0.555443 0.542365 +vt 0.518975 0.265234 +vt 0.518996 0.204078 +vt 0.526092 0.201151 +vt 0.526069 0.268165 +vt 0.244474 0.478305 +vt 0.491952 0.065734 +vt 0.491951 0.002242 +vt 0.497138 0.000111 +vt 0.497138 0.067865 +vt 0.491951 0.562130 +vt 0.491951 0.542365 +vt 0.518929 0.399261 +vt 0.518950 0.338104 +vt 0.526046 0.335178 +vt 0.526022 0.402192 +vt 0.240901 0.000111 +vt 0.243075 0.057522 +vt 0.518660 0.409933 +vt 0.518660 0.471090 +vt 0.510668 0.474388 +vt 0.510668 0.406634 +vt 0.999889 0.542365 +vt 0.999889 0.562130 +vt 0.936397 0.562130 +vt 0.936397 0.542365 +vt 0.543764 0.202918 +vt 0.543742 0.266410 +vt 0.539451 0.268169 +vt 0.539474 0.201156 +vt 0.245271 0.114659 +vt 0.518659 0.003410 +vt 0.518659 0.064565 +vt 0.510668 0.067865 +vt 0.510667 0.000111 +vt 0.872904 0.562130 +vt 0.872904 0.542365 +vt 0.518882 0.533287 +vt 0.518903 0.472131 +vt 0.525999 0.469205 +vt 0.525976 0.536218 +vt 0.246721 0.172240 +vt 0.491952 0.268995 +vt 0.491952 0.205503 +vt 0.497139 0.203372 +vt 0.497139 0.271126 +vt 0.809412 0.562130 +vt 0.809412 0.542365 +vt 0.543718 0.336945 +vt 0.543696 0.400437 +vt 0.539405 0.402196 +vt 0.539428 0.335183 +vt 0.248540 0.231225 +vt 0.491952 0.404503 +vt 0.491952 0.341011 +vt 0.497139 0.338880 +vt 0.497138 0.406634 +vt 0.745919 0.562130 +vt 0.745919 0.542365 +vt 0.519021 0.131207 +vt 0.519042 0.070051 +vt 0.526138 0.067125 +vt 0.526115 0.134138 +vt 0.248518 0.291219 +vt 0.518660 0.206671 +vt 0.518660 0.267827 +vt 0.510668 0.203372 +vt 0.682427 0.562130 +vt 0.682427 0.542365 +vt 0.543671 0.470972 +vt 0.543649 0.534464 +vt 0.539358 0.536223 +vt 0.539381 0.469210 +vt 0.491951 0.540012 +vt 0.491952 0.476519 +vt 0.497138 0.474388 +vt 0.497138 0.542143 +vt 0.543810 0.068891 +vt 0.543788 0.132383 +vt 0.539497 0.134142 +vt 0.539520 0.067129 +vt 0.526161 0.000111 +vt 0.539543 0.000116 +vt 0.543833 0.001878 +vt 0.543811 0.065370 +vt 0.543695 0.403959 +vt 0.543672 0.467451 +vt 0.519044 0.064193 +vt 0.519065 0.003037 +vt 0.543741 0.269931 +vt 0.543719 0.333424 +vt 0.518906 0.466274 +vt 0.518927 0.405118 +vt 0.543787 0.135905 +vt 0.543765 0.199397 +vt 0.518952 0.332247 +vt 0.518973 0.271091 +vt 0.518998 0.198220 +vt 0.519019 0.137064 +vt 0.510668 0.135618 +vt 0.497138 0.135618 +vt 0.510668 0.542143 +vt 0.491952 0.472258 +vt 0.491952 0.408765 +vt 0.518660 0.138917 +vt 0.518660 0.200073 +vt 0.491952 0.336749 +vt 0.491952 0.273257 +vt 0.491952 0.201241 +vt 0.491952 0.137749 +vt 0.518660 0.071163 +vt 0.518660 0.132319 +vt 0.518660 0.477687 +vt 0.518660 0.538844 +vt 0.491952 0.133487 +vt 0.491952 0.069996 +vt 0.518660 0.342179 +vt 0.518660 0.403335 vn 0.0019 -0.3851 -0.9229 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 1.0000 -0.0000 0.0000 +vn 1.0000 0.0000 0.0000 vn 0.0000 0.9239 -0.3827 vn 0.0019 0.3851 -0.9229 vn -0.9726 -0.2149 -0.0890 @@ -3530,17 +3643,13 @@ vn -0.3625 0.8610 0.3567 vn -0.3625 -0.3567 0.8610 vn -0.3625 -0.8610 -0.3567 vn -0.0059 0.3827 -0.9239 -vn -0.0030 0.3827 -0.9239 vn -0.0030 0.9249 -0.3803 vn -0.0030 0.9249 0.3803 vn -0.0059 0.3827 0.9239 -vn -0.0030 0.3827 0.9239 vn -0.0059 -0.3827 0.9239 -vn -0.0030 -0.3827 0.9239 vn -0.0030 -0.9249 0.3803 vn -0.0030 -0.9249 -0.3803 vn -0.0059 -0.3827 -0.9239 -vn -0.0030 -0.3827 -0.9239 vn 0.0169 0.3850 -0.9227 vn 0.0341 0.9233 -0.3825 vn 0.0341 0.9233 0.3825 @@ -3560,20 +3669,20 @@ vn -0.9907 -0.1260 0.0522 vn -0.9966 0.0761 0.0315 vn 0.9966 0.0762 -0.0316 vn 0.9919 -0.1173 0.0486 -vn -0.9907 -0.0522 -0.1260 +vn -0.9907 -0.0522 -0.1259 vn -0.0215 0.9247 0.3802 vn 0.9919 -0.0486 -0.1173 -vn 0.9966 0.0315 0.0762 +vn 0.9966 0.0316 0.0762 vn -0.0215 0.9247 -0.3802 vn -0.9966 -0.0761 0.0315 vn -0.9907 0.1260 -0.0522 vn 0.9919 0.1173 -0.0486 vn -0.9907 0.0522 0.1260 -vn -0.9907 0.1259 0.0522 +vn -0.9907 0.1260 0.0522 vn -0.9907 0.0522 -0.1260 vn 0.9966 0.0762 0.0316 vn -0.9907 -0.1260 -0.0522 -vn 0.9966 0.0315 -0.0762 +vn 0.9966 0.0316 -0.0762 vn -0.9907 -0.0522 0.1260 vn 0.9966 -0.0762 -0.0316 vn 0.9966 -0.0316 0.0762 @@ -3585,422 +3694,464 @@ vn -0.9966 0.0315 0.0762 vn -0.9966 0.0761 -0.0315 vn 0.9919 0.0486 0.1173 vn -0.9966 -0.0315 -0.0761 -s 1 +s off f 733/1257/403 734/1258/403 735/1259/403 736/1260/403 f 736/1260/404 735/1259/404 737/1261/404 738/1262/404 -f 738/1262/405 737/1261/405 739/1263/405 740/1264/405 -f 740/1264/406 739/1263/406 741/1265/406 742/1266/406 -f 742/1266/407 741/1265/407 743/1267/407 744/1268/407 -f 744/1268/408 743/1267/408 745/1269/408 746/1270/408 -f 735/1271/409 734/1272/409 747/1273/409 745/1274/409 743/1275/409 741/1276/409 739/1277/409 737/1278/409 -f 746/1270/410 745/1269/410 747/1279/410 748/1280/410 -f 748/1280/411 747/1279/411 734/1281/411 733/1282/411 +f 738/1263/405 737/1264/405 739/1265/405 740/1266/405 +f 740/1266/406 739/1265/406 741/1267/406 742/1268/406 +f 742/1268/407 741/1267/407 743/1269/407 744/1270/407 +f 744/1270/408 743/1269/408 745/1271/408 746/1272/408 +f 735/1273/409 734/1274/409 747/1275/409 745/1276/409 743/1277/409 741/1278/409 739/1279/409 737/1280/409 +f 746/1272/410 745/1271/410 747/1281/410 748/1282/410 +f 748/1282/411 747/1281/411 734/1258/411 733/1257/411 f 749/1283/412 750/1284/412 751/1285/412 752/1286/412 f 753/1287/413 754/1288/413 755/1289/413 756/1290/413 f 757/1291/414 758/1292/414 754/1288/414 753/1287/414 f 759/1293/415 760/1294/415 761/1295/415 762/1296/415 -f 760/1297/416 749/1283/416 752/1286/416 761/1298/416 -f 750/1284/417 763/1299/417 764/1300/417 751/1285/417 -f 758/1292/418 765/1301/418 766/1302/418 754/1288/418 -f 763/1299/419 757/1291/419 753/1287/419 764/1300/419 -f 765/1301/420 759/1293/420 762/1296/420 766/1302/420 -f 767/1303/410 768/1304/410 769/1305/410 770/1306/410 -f 751/1285/421 764/1300/421 771/1307/421 772/1308/421 -f 761/1298/422 752/1286/422 773/1309/422 774/1310/422 -f 762/1296/423 761/1295/423 774/1311/423 768/1304/423 -f 754/1288/424 766/1302/424 767/1303/424 755/1289/424 -f 764/1300/425 753/1287/425 756/1290/425 771/1307/425 -f 752/1286/426 751/1285/426 772/1308/426 773/1309/426 -f 766/1302/427 762/1296/427 768/1304/427 767/1303/427 -f 775/1312/428 770/1306/428 776/1313/428 777/1314/428 -f 756/1290/407 755/1289/407 775/1312/407 778/1315/407 -f 772/1308/405 771/1307/405 779/1316/405 780/1317/405 -f 774/1310/429 773/1309/429 781/1318/429 782/1319/429 -f 768/1304/430 774/1311/430 782/1320/430 769/1305/430 -f 755/1289/408 767/1303/408 770/1306/408 775/1312/408 -f 771/1307/406 756/1290/406 778/1315/406 779/1316/406 -f 773/1309/404 772/1308/404 780/1317/404 781/1318/404 -f 783/1321/431 784/1322/431 785/1323/431 786/1324/431 -f 779/1316/432 778/1315/432 787/1325/432 788/1326/432 -f 781/1318/433 780/1317/433 789/1327/433 784/1322/433 -f 770/1306/434 769/1305/434 790/1328/434 776/1313/434 -f 778/1315/435 775/1312/435 777/1314/435 787/1325/435 -f 780/1317/436 779/1316/436 788/1326/436 789/1327/436 -f 782/1319/437 781/1318/437 784/1322/437 783/1321/437 -f 769/1305/438 782/1320/438 783/1329/438 790/1328/438 -f 791/1330/410 792/1331/410 793/1332/410 794/1333/410 -f 790/1328/439 783/1329/439 786/1334/439 792/1331/439 -f 777/1314/440 776/1313/440 791/1330/440 795/1335/440 -f 788/1326/441 787/1325/441 796/1336/441 797/1337/441 -f 784/1322/442 789/1327/442 798/1338/442 785/1323/442 -f 776/1313/443 790/1328/443 792/1331/443 791/1330/443 -f 787/1325/444 777/1314/444 795/1335/444 796/1336/444 -f 789/1327/445 788/1326/445 797/1337/445 798/1338/445 -f 799/1339/446 800/1340/446 801/1341/446 802/1342/446 -f 796/1336/407 795/1335/407 803/1343/407 804/1344/407 -f 798/1338/405 797/1337/405 805/1345/405 800/1340/405 -f 786/1324/429 785/1323/429 799/1339/429 806/1346/429 -f 792/1331/430 786/1334/430 806/1347/430 793/1332/430 -f 795/1335/408 791/1330/408 794/1333/408 803/1343/408 -f 797/1337/406 796/1336/406 804/1344/406 805/1345/406 -f 785/1323/404 798/1338/404 800/1340/404 799/1339/404 -f 807/1348/447 808/1349/447 809/1350/447 810/1351/447 -f 794/1333/448 793/1332/448 807/1348/448 811/1352/448 -f 804/1344/449 803/1343/449 812/1353/449 813/1354/449 -f 800/1340/450 805/1345/450 814/1355/450 801/1341/450 -f 806/1346/451 799/1339/451 802/1342/451 808/1356/451 -f 793/1332/452 806/1347/452 808/1349/452 807/1348/452 -f 803/1343/453 794/1333/453 811/1352/453 812/1353/453 -f 805/1345/454 804/1344/454 813/1354/454 814/1355/454 -f 815/1357/455 810/1351/455 816/1358/455 817/1359/455 -f 812/1353/456 811/1352/456 815/1357/456 818/1360/456 -f 814/1355/457 813/1354/457 819/1361/457 820/1362/457 -f 802/1342/458 801/1341/458 821/1363/458 822/1364/458 -f 811/1352/459 807/1348/459 810/1351/459 815/1357/459 -f 813/1354/460 812/1353/460 818/1360/460 819/1361/460 -f 801/1341/461 814/1355/461 820/1362/461 821/1363/461 -f 808/1356/462 802/1342/462 822/1364/462 809/1365/462 -f 823/1366/463 817/1359/463 824/1367/463 825/1368/463 -f 819/1361/464 818/1360/464 823/1366/464 826/1369/464 -f 821/1363/465 820/1362/465 827/1370/465 828/1371/465 -f 809/1365/466 822/1364/466 829/1372/466 830/1373/466 -f 810/1351/467 809/1350/467 830/1374/467 816/1358/467 -f 818/1360/468 815/1357/468 817/1359/468 823/1366/468 -f 820/1362/469 819/1361/469 826/1369/469 827/1370/469 -f 822/1364/470 821/1363/470 828/1371/470 829/1372/470 -f 831/1375/407 832/1376/407 833/1377/407 834/1378/407 -f 827/1370/463 826/1369/463 835/1379/463 836/1380/463 -f 829/1372/463 828/1371/463 837/1381/463 832/1376/463 -f 817/1359/463 816/1358/463 838/1382/463 824/1367/463 -f 826/1369/463 823/1366/463 825/1368/463 835/1379/463 -f 828/1371/463 827/1370/463 836/1380/463 837/1381/463 -f 830/1373/463 829/1372/463 832/1376/463 831/1375/463 -f 816/1358/463 830/1374/463 831/1383/463 838/1382/463 -f 834/1384/463 833/1385/463 839/1386/463 840/1387/463 841/1388/463 842/1389/463 843/1390/463 844/1391/463 -f 838/1382/406 831/1383/406 834/1392/406 844/1393/406 -f 825/1368/404 824/1367/404 843/1394/404 842/1395/404 -f 836/1380/430 835/1379/430 841/1396/430 840/1397/430 -f 832/1376/408 837/1381/408 839/1398/408 833/1377/408 -f 824/1367/405 838/1382/405 844/1393/405 843/1394/405 -f 835/1379/429 825/1368/429 842/1395/429 841/1396/429 -f 837/1381/410 836/1380/410 840/1397/410 839/1398/410 -f 759/1293/471 845/1399/472 846/1400/472 760/1294/471 -f 765/1301/473 847/1401/473 845/1399/473 759/1293/473 -f 758/1292/474 848/1402/474 847/1401/474 765/1301/474 -f 757/1291/475 849/1403/476 848/1402/476 758/1292/475 -f 763/1299/477 850/1404/478 849/1403/478 757/1291/477 -f 750/1284/479 851/1405/479 850/1404/479 763/1299/479 -f 749/1283/480 852/1406/480 851/1405/480 750/1284/480 -f 760/1297/481 846/1407/482 852/1406/482 749/1283/481 -f 853/1408/483 748/1280/483 733/1282/483 854/1409/483 -f 855/1410/484 746/1270/484 748/1280/484 853/1408/484 -f 856/1411/485 744/1268/485 746/1270/485 855/1410/485 -f 857/1412/486 742/1266/486 744/1268/486 856/1411/486 -f 858/1413/487 740/1264/487 742/1266/487 857/1412/487 -f 859/1414/488 738/1262/488 740/1264/488 858/1413/488 -f 860/1415/489 736/1260/489 738/1262/489 859/1414/489 -f 854/1416/490 733/1257/490 736/1260/490 860/1415/490 -f 846/1407/482 861/1417/429 862/1418/429 852/1406/482 -f 863/1419/491 864/1420/491 865/1421/491 866/1422/491 -f 867/1423/429 868/1424/429 869/1425/429 870/1426/429 -f 855/1410/492 853/1408/492 871/1427/492 872/1428/492 -f 852/1406/493 862/1418/493 873/1429/493 851/1405/493 -f 870/1426/494 874/1430/494 875/1431/494 876/1432/494 -f 870/1426/404 869/1425/404 877/1433/404 874/1430/404 -f 857/1412/495 856/1411/495 878/1434/495 879/1435/495 -f 851/1405/496 873/1429/496 880/1436/496 850/1404/496 -f 881/1437/497 880/1436/497 882/1438/497 883/1439/497 -f 874/1430/405 877/1433/405 884/1440/405 885/1441/405 -f 886/1442/498 887/1443/498 888/1444/498 889/1445/498 -f 850/1404/478 880/1436/406 881/1437/406 849/1403/478 -f 873/1429/499 862/1418/499 890/1446/499 891/1447/499 -f 885/1441/406 884/1440/406 892/1448/406 893/1449/406 -f 859/1414/500 858/1413/500 894/1450/500 895/1451/500 -f 849/1403/476 881/1437/407 864/1420/407 848/1402/476 -f 896/1452/501 897/1453/501 898/1454/501 899/1455/501 -f 893/1449/407 892/1448/407 900/1456/407 901/1457/407 -f 900/1456/502 892/1448/502 902/1458/502 903/1459/502 -f 848/1402/503 864/1420/503 863/1419/503 847/1401/503 -f 893/1449/504 901/1457/504 904/1460/504 905/1461/504 -f 901/1457/408 900/1456/408 887/1443/408 896/1452/408 -f 854/1416/505 860/1415/505 906/1462/505 907/1463/505 -f 847/1401/506 863/1419/506 908/1464/506 845/1399/506 -f 908/1464/507 863/1419/507 866/1422/507 909/1465/507 -f 896/1452/410 887/1443/410 886/1442/410 897/1453/410 -f 884/1440/508 877/1433/508 910/1466/508 911/1467/508 -f 845/1399/472 908/1464/430 861/1468/430 846/1400/472 -f 874/1430/509 885/1441/509 912/1469/509 875/1431/509 -f 897/1453/430 886/1442/430 868/1470/430 867/1471/430 -f 869/1425/510 868/1424/510 913/1472/510 914/1473/510 -f 913/1472/429 907/1463/429 906/1462/429 914/1473/429 -f 914/1473/404 906/1462/404 895/1451/404 910/1466/404 -f 910/1466/405 895/1451/405 894/1450/405 911/1467/405 -f 911/1467/406 894/1450/406 879/1435/406 902/1458/406 -f 902/1458/407 879/1435/407 878/1434/407 903/1459/407 -f 903/1459/408 878/1434/408 872/1428/408 888/1444/408 -f 888/1444/410 872/1428/410 871/1427/410 889/1445/410 -f 889/1445/430 871/1427/430 907/1474/430 913/1475/430 -f 877/1433/511 869/1425/511 914/1473/511 910/1466/511 -f 892/1448/512 884/1440/512 911/1467/512 902/1458/512 -f 860/1415/513 859/1414/513 895/1451/513 906/1462/513 -f 887/1443/514 900/1456/514 903/1459/514 888/1444/514 -f 858/1413/515 857/1412/515 879/1435/515 894/1450/515 -f 868/1470/516 886/1442/516 889/1445/516 913/1475/516 -f 856/1411/517 855/1410/517 872/1428/517 878/1434/517 -f 853/1408/518 854/1409/518 907/1474/518 871/1427/518 -f 915/1476/429 916/1477/429 876/1432/429 890/1446/429 -f 890/1446/404 876/1432/404 875/1431/404 891/1447/404 -f 891/1447/405 875/1431/405 912/1469/405 882/1438/405 -f 882/1438/406 912/1469/406 905/1461/406 883/1439/406 -f 883/1439/407 905/1461/407 904/1460/407 865/1421/407 -f 865/1421/408 904/1460/408 899/1455/408 866/1422/408 -f 866/1422/410 899/1455/410 898/1454/410 909/1465/410 -f 909/1465/430 898/1454/430 916/1478/430 915/1479/430 -f 885/1441/519 893/1449/519 905/1461/519 912/1469/519 -f 861/1468/520 908/1464/520 909/1465/520 915/1479/520 -f 901/1457/521 896/1452/521 899/1455/521 904/1460/521 -f 897/1453/522 867/1471/522 916/1478/522 898/1454/522 -f 862/1418/523 861/1417/523 915/1476/523 890/1446/523 -f 880/1436/524 873/1429/524 891/1447/524 882/1438/524 -f 867/1423/525 870/1426/525 876/1432/525 916/1477/525 -f 864/1420/526 881/1437/526 883/1439/526 865/1421/526 +f 760/1294/416 749/1283/416 752/1297/416 761/1298/416 +f 750/1299/417 763/1300/417 764/1301/417 751/1302/417 +f 758/1292/418 765/1303/418 766/1304/418 754/1305/418 +f 763/1300/419 757/1291/419 753/1306/419 764/1307/419 +f 765/1303/420 759/1293/420 762/1308/420 766/1309/420 +f 767/1310/410 768/1311/410 769/1312/410 770/1313/410 +f 751/1302/421 764/1301/421 771/1314/421 772/1315/421 +f 761/1298/422 752/1297/422 773/1316/422 774/1317/422 +f 762/1296/423 761/1295/423 774/1317/423 768/1311/423 +f 754/1305/424 766/1304/424 767/1310/424 755/1289/424 +f 764/1307/425 753/1306/425 756/1290/425 771/1314/425 +f 752/1286/426 751/1285/426 772/1318/426 773/1316/426 +f 766/1309/427 762/1308/427 768/1311/427 767/1310/427 +f 775/1319/428 770/1313/428 776/1320/428 777/1321/428 +f 756/1290/407 755/1289/407 775/1319/407 778/1322/407 +f 772/1315/405 771/1314/405 779/1323/405 780/1324/405 +f 774/1317/429 773/1316/429 781/1325/429 782/1326/429 +f 768/1311/430 774/1317/430 782/1326/430 769/1312/430 +f 755/1289/408 767/1310/408 770/1313/408 775/1319/408 +f 771/1314/406 756/1290/406 778/1322/406 779/1323/406 +f 773/1316/404 772/1318/404 780/1327/404 781/1325/404 +f 783/1328/431 784/1329/431 785/1330/431 786/1331/431 +f 779/1323/432 778/1322/432 787/1332/432 788/1333/432 +f 781/1325/433 780/1327/433 789/1334/433 784/1335/433 +f 770/1313/434 769/1312/434 790/1336/434 776/1337/434 +f 778/1322/435 775/1319/435 777/1338/435 787/1339/435 +f 780/1324/436 779/1323/436 788/1340/436 789/1341/436 +f 782/1326/437 781/1325/437 784/1329/437 783/1328/437 +f 769/1312/438 782/1326/438 783/1342/438 790/1343/438 +f 791/1344/410 792/1345/410 793/1346/410 794/1347/410 +f 790/1343/439 783/1342/439 786/1331/439 792/1345/439 +f 777/1321/440 776/1320/440 791/1344/440 795/1348/440 +f 788/1333/441 787/1332/441 796/1349/441 797/1350/441 +f 784/1335/442 789/1334/442 798/1351/442 785/1330/442 +f 776/1337/443 790/1336/443 792/1345/443 791/1344/443 +f 787/1339/444 777/1338/444 795/1348/444 796/1349/444 +f 789/1341/445 788/1340/445 797/1350/445 798/1352/445 +f 799/1353/446 800/1354/446 801/1355/446 802/1356/446 +f 796/1349/407 795/1348/407 803/1357/407 804/1358/407 +f 798/1352/405 797/1350/405 805/1359/405 800/1360/405 +f 786/1331/429 785/1330/429 799/1353/429 806/1361/429 +f 792/1345/430 786/1331/430 806/1361/430 793/1346/430 +f 795/1348/408 791/1344/408 794/1347/408 803/1357/408 +f 797/1350/406 796/1349/406 804/1358/406 805/1359/406 +f 785/1330/404 798/1351/404 800/1354/404 799/1353/404 +f 807/1362/447 808/1363/447 809/1364/447 810/1365/447 +f 794/1347/448 793/1346/448 807/1366/448 811/1367/448 +f 804/1358/449 803/1357/449 812/1368/449 813/1369/449 +f 800/1360/450 805/1359/450 814/1370/450 801/1371/450 +f 806/1361/451 799/1353/451 802/1372/451 808/1373/451 +f 793/1346/452 806/1361/452 808/1363/452 807/1362/452 +f 803/1357/453 794/1347/453 811/1374/453 812/1375/453 +f 805/1359/454 804/1358/454 813/1376/454 814/1377/454 +f 815/1378/455 810/1379/455 816/1380/455 817/1381/455 +f 812/1375/456 811/1374/456 815/1382/456 818/1383/456 +f 814/1377/457 813/1376/457 819/1384/457 820/1385/457 +f 802/1356/458 801/1355/458 821/1386/458 822/1387/458 +f 811/1367/459 807/1366/459 810/1379/459 815/1378/459 +f 813/1369/460 812/1368/460 818/1388/460 819/1389/460 +f 801/1371/461 814/1370/461 820/1390/461 821/1391/461 +f 808/1373/462 802/1372/462 822/1392/462 809/1393/462 +f 823/1394/463 817/1395/463 824/1396/463 825/1397/463 +f 819/1389/464 818/1388/464 823/1398/464 826/1399/464 +f 821/1391/465 820/1390/465 827/1400/465 828/1401/465 +f 809/1393/466 822/1392/466 829/1402/466 830/1403/466 +f 810/1365/467 809/1364/467 830/1404/467 816/1405/467 +f 818/1383/468 815/1382/468 817/1395/468 823/1394/468 +f 820/1385/469 819/1384/469 826/1406/469 827/1407/469 +f 822/1387/470 821/1386/470 828/1408/470 829/1409/470 +f 831/1410/407 832/1411/407 833/1412/407 834/1413/407 +f 827/1407/463 826/1406/463 835/1414/463 836/1415/463 +f 829/1409/463 828/1408/463 837/1416/463 832/1417/463 +f 817/1381/463 816/1380/463 838/1418/463 824/1419/463 +f 826/1399/463 823/1398/463 825/1420/463 835/1421/463 +f 828/1401/463 827/1400/463 836/1422/463 837/1423/463 +f 830/1403/463 829/1402/463 832/1411/463 831/1410/463 +f 816/1405/463 830/1404/463 831/1424/463 838/1425/463 +f 834/1426/463 833/1427/463 839/1428/463 840/1429/463 841/1430/463 842/1431/463 843/1432/463 844/1433/463 +f 838/1425/406 831/1424/406 834/1434/406 844/1435/406 +f 825/1397/404 824/1396/404 843/1436/404 842/1437/404 +f 836/1415/430 835/1414/430 841/1438/430 840/1439/430 +f 832/1417/408 837/1416/408 839/1440/408 833/1441/408 +f 824/1419/405 838/1418/405 844/1442/405 843/1443/405 +f 835/1421/429 825/1420/429 842/1444/429 841/1445/429 +f 837/1423/410 836/1422/410 840/1446/410 839/1447/410 +f 759/1293/471 845/1448/471 846/1449/471 760/1294/471 +f 765/1303/472 847/1450/472 845/1448/472 759/1293/472 +f 758/1292/473 848/1451/473 847/1450/473 765/1303/473 +f 757/1291/474 849/1452/474 848/1451/474 758/1292/474 +f 763/1300/475 850/1453/475 849/1452/475 757/1291/475 +f 750/1299/476 851/1454/476 850/1453/476 763/1300/476 +f 749/1283/477 852/1455/477 851/1456/477 750/1284/477 +f 760/1294/478 846/1449/478 852/1455/478 749/1283/478 +f 853/1457/479 748/1282/479 733/1257/479 854/1458/479 +f 855/1459/480 746/1272/480 748/1282/480 853/1457/480 +f 856/1460/481 744/1270/481 746/1272/481 855/1459/481 +f 857/1461/482 742/1268/482 744/1270/482 856/1460/482 +f 858/1462/483 740/1266/483 742/1268/483 857/1461/483 +f 859/1463/484 738/1263/484 740/1266/484 858/1462/484 +f 860/1464/485 736/1260/485 738/1262/485 859/1465/485 +f 854/1458/486 733/1257/486 736/1260/486 860/1464/486 +f 846/1449/429 861/1466/429 862/1467/429 852/1455/429 +f 863/1468/487 864/1469/487 865/1470/487 866/1471/487 +f 867/1472/429 868/1473/429 869/1474/429 870/1475/429 +f 855/1476/488 853/1477/488 871/1478/488 872/1479/488 +f 852/1455/489 862/1467/489 873/1480/489 851/1456/489 +f 870/1481/490 874/1482/490 875/1483/490 876/1484/490 +f 870/1475/404 869/1474/404 877/1485/404 874/1486/404 +f 857/1487/491 856/1488/491 878/1489/491 879/1490/491 +f 851/1454/492 873/1491/492 880/1492/492 850/1453/492 +f 881/1493/493 880/1494/493 882/1495/493 883/1496/493 +f 874/1497/405 877/1498/405 884/1499/405 885/1500/405 +f 886/1501/494 887/1502/494 888/1503/494 889/1504/494 +f 850/1453/406 880/1492/406 881/1505/406 849/1452/406 +f 873/1506/495 862/1507/495 890/1508/495 891/1509/495 +f 885/1500/406 884/1499/406 892/1510/406 893/1511/406 +f 859/1512/496 858/1513/496 894/1514/496 895/1515/496 +f 849/1452/407 881/1505/407 864/1516/407 848/1451/407 +f 896/1517/497 897/1518/497 898/1519/497 899/1520/497 +f 893/1511/407 892/1510/407 900/1521/407 901/1522/407 +f 900/1523/498 892/1524/498 902/1525/498 903/1526/498 +f 848/1451/499 864/1516/499 863/1527/499 847/1450/499 +f 893/1528/500 901/1529/500 904/1530/500 905/1531/500 +f 901/1522/408 900/1521/408 887/1532/408 896/1533/408 +f 854/1534/501 860/1535/501 906/1536/501 907/1537/501 +f 847/1450/502 863/1527/502 908/1538/502 845/1448/502 +f 908/1539/503 863/1540/503 866/1471/503 909/1541/503 +f 896/1533/410 887/1532/410 886/1542/410 897/1543/410 +f 884/1544/504 877/1545/504 910/1546/504 911/1547/504 +f 845/1448/430 908/1538/430 861/1466/430 846/1449/430 +f 874/1548/505 885/1549/505 912/1550/505 875/1551/505 +f 897/1543/430 886/1542/430 868/1473/430 867/1472/430 +f 869/1552/506 868/1553/506 913/1554/506 914/1555/506 +f 913/1554/429 907/1537/429 906/1536/429 914/1555/429 +f 914/1555/404 906/1536/404 895/1556/404 910/1557/404 +f 910/1546/405 895/1515/405 894/1514/405 911/1547/405 +f 911/1547/406 894/1514/406 879/1490/406 902/1525/406 +f 902/1525/407 879/1490/407 878/1489/407 903/1526/407 +f 903/1526/408 878/1489/408 872/1479/408 888/1503/408 +f 888/1503/410 872/1479/410 871/1478/410 889/1504/410 +f 889/1504/430 871/1478/430 907/1537/430 913/1554/430 +f 877/1558/507 869/1559/507 914/1555/507 910/1557/507 +f 892/1560/508 884/1561/508 911/1547/508 902/1525/508 +f 860/1562/509 859/1563/509 895/1556/509 906/1536/509 +f 887/1564/510 900/1565/510 903/1526/510 888/1503/510 +f 858/1566/511 857/1567/511 879/1490/511 894/1514/511 +f 868/1568/512 886/1569/512 889/1504/512 913/1554/512 +f 856/1570/513 855/1571/513 872/1479/513 878/1489/513 +f 853/1572/514 854/1573/514 907/1537/514 871/1478/514 +f 915/1574/429 916/1575/429 876/1484/429 890/1508/429 +f 890/1508/404 876/1484/404 875/1483/404 891/1509/404 +f 891/1576/405 875/1551/405 912/1550/405 882/1495/405 +f 882/1495/406 912/1550/406 905/1531/406 883/1496/406 +f 883/1496/407 905/1531/407 904/1530/407 865/1470/407 +f 865/1470/408 904/1530/408 899/1520/408 866/1471/408 +f 866/1471/410 899/1520/410 898/1519/410 909/1541/410 +f 909/1541/430 898/1519/430 916/1575/430 915/1574/430 +f 885/1577/515 893/1578/515 905/1531/515 912/1550/515 +f 861/1579/516 908/1580/516 909/1541/516 915/1574/516 +f 901/1581/517 896/1582/517 899/1520/517 904/1530/517 +f 897/1583/518 867/1584/518 916/1575/518 898/1519/518 +f 862/1585/519 861/1586/519 915/1574/519 890/1508/519 +f 880/1587/520 873/1588/520 891/1576/520 882/1495/520 +f 867/1589/521 870/1590/521 876/1484/521 916/1575/521 +f 864/1591/522 881/1592/522 883/1496/522 865/1470/522 o SideScrews_Cylinder.005 -v -0.436383 0.265019 0.509254 -v 1.004741 0.265019 0.509254 -v 1.004741 0.179718 0.544586 -v -0.436383 0.179718 0.544586 -v 1.004741 0.144386 0.629887 -v -0.436383 0.144385 0.629887 -v 1.004741 0.179718 0.715187 -v -0.436383 0.179718 0.715187 -v 1.004741 0.265019 0.750520 -v -0.436383 0.265019 0.750520 -v 1.004741 0.350319 0.715187 -v -0.436383 0.350319 0.715187 -v 1.004741 0.385652 0.629887 -v -0.436383 0.385652 0.629887 -v 1.088061 0.265019 0.750520 -v 1.088061 0.350319 0.715187 -v 1.004741 0.350319 0.544586 -v -0.436383 0.350319 0.544586 -v -0.513171 0.364069 0.629887 -v -0.513171 0.335058 0.699926 -v -0.513171 0.265019 0.530836 -v -0.513171 0.194979 0.559848 -v -0.513171 0.165968 0.629887 -v -0.513171 0.194979 0.699926 -v -0.513171 0.265019 0.728937 -v -0.513171 0.335058 0.559848 -v 1.088061 0.265019 0.509254 -v 1.088061 0.350319 0.544586 -v 1.100404 0.336110 0.558795 -v 1.100404 0.265019 0.529348 -v 1.088061 0.179718 0.544586 -v 1.088061 0.144386 0.629887 -v 1.088061 0.179718 0.715187 -v 1.088061 0.385652 0.629887 -v 1.100404 0.336110 0.700979 -v 1.100404 0.365558 0.629887 -v 1.100404 0.193927 0.700979 -v 1.100404 0.265019 0.730426 -v 1.100404 0.193927 0.558795 -v 1.100404 0.164480 0.629887 -v 1.127149 0.181939 0.629887 -v 1.127149 0.206273 0.688633 -v 1.127149 0.206273 0.571141 -v 1.127149 0.265019 0.546807 -v 1.127149 0.323765 0.571141 -v 1.127149 0.348098 0.629887 -v 1.127149 0.323765 0.688633 -v 1.127149 0.265019 0.712966 -v -0.436384 0.265019 -0.509254 -v -0.436384 0.179718 -0.544586 -v 1.004741 0.179718 -0.544586 -v 1.004741 0.265019 -0.509254 -v -0.436384 0.144385 -0.629887 -v 1.004741 0.144386 -0.629887 -v -0.436384 0.179718 -0.715187 -v 1.004741 0.179718 -0.715187 -v -0.436384 0.265019 -0.750520 -v 1.004741 0.265019 -0.750520 -v -0.436384 0.350319 -0.715187 -v 1.004741 0.350319 -0.715187 -v -0.436384 0.385652 -0.629887 -v 1.004741 0.385652 -0.629887 -v 1.088061 0.350319 -0.715187 -v 1.088061 0.265019 -0.750520 -v -0.436384 0.350319 -0.544586 -v 1.004741 0.350319 -0.544586 -v -0.513171 0.335058 -0.699926 -v -0.513171 0.364069 -0.629887 -v -0.513171 0.265019 -0.530836 -v -0.513171 0.335058 -0.559848 -v -0.513171 0.265019 -0.728937 -v -0.513171 0.194979 -0.699926 -v -0.513171 0.165968 -0.629887 -v -0.513171 0.194979 -0.559848 -v 1.088061 0.265019 -0.509254 -v 1.100404 0.265019 -0.529348 -v 1.100404 0.336111 -0.558795 -v 1.088061 0.350319 -0.544586 -v 1.088061 0.179718 -0.544586 -v 1.088061 0.179718 -0.715187 -v 1.088061 0.144386 -0.629887 -v 1.088061 0.385652 -0.629887 -v 1.100404 0.365558 -0.629887 -v 1.100404 0.336110 -0.700979 -v 1.100404 0.265019 -0.730426 -v 1.100404 0.193927 -0.700979 -v 1.100404 0.164480 -0.629887 -v 1.100404 0.193927 -0.558795 -v 1.127149 0.206273 -0.688633 -v 1.127149 0.181939 -0.629887 -v 1.127149 0.206273 -0.571141 -v 1.127149 0.265019 -0.712966 -v 1.127149 0.323765 -0.688633 -v 1.127149 0.348098 -0.629887 -v 1.127149 0.323765 -0.571141 -v 1.127149 0.265019 -0.546807 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.875000 0.500000 -vt 0.750000 1.000000 -vt 0.750000 0.500000 -vt 0.625000 1.000000 -vt 0.625000 0.500000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.375000 1.000000 -vt 0.375000 0.500000 -vt 0.250000 1.000000 -vt 0.250000 0.500000 -vt 0.500000 1.000000 -vt 0.375000 1.000000 -vt 0.125000 1.000000 -vt 0.125000 0.500000 -vt 0.000000 1.000000 -vt 0.000000 0.500000 -vt 0.250000 0.500000 -vt 0.375000 0.500000 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.990000 0.250000 -vt 0.919706 0.080294 -vt 0.750000 0.010000 -vt 0.580294 0.080294 -vt 0.510000 0.250000 -vt 0.580294 0.419706 -vt 0.500000 0.500000 -vt 0.625000 0.500000 -vt 0.125000 0.500000 -vt 0.750000 0.500000 -vt 0.875000 0.500000 -vt 0.000000 0.500000 -vt 1.000000 0.500000 -vt 0.000000 1.000000 -vt 0.125000 1.000000 -vt 0.125000 1.000000 -vt 0.000000 1.000000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.750000 1.000000 -vt 0.625000 1.000000 -vt 0.250000 1.000000 -vt 0.375000 1.000000 -vt 0.250000 1.000000 -vt 0.625000 1.000000 -vt 0.500000 1.000000 -vt 0.875000 1.000000 -vt 0.750000 1.000000 -vt 1.000000 1.000000 -vt 0.750000 1.000000 -vt 0.625000 1.000000 -vt 0.419706 0.419706 -vt 0.250000 0.490000 -vt 0.080294 0.419706 -vt 0.010000 0.250000 -vt 0.080294 0.080294 -vt 0.250000 0.010000 -vt 0.419706 0.080294 -vt 0.490000 0.250000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.125000 1.000000 -vt 0.000000 1.000000 -vt 0.375000 1.000000 -vt 0.250000 1.000000 -vt 0.500000 1.000000 -vt 1.000000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 1.000000 -vt 1.000000 1.000000 -vt 0.750000 0.500000 -vt 0.750000 1.000000 -vt 0.625000 0.500000 -vt 0.625000 1.000000 -vt 0.500000 0.500000 -vt 0.500000 1.000000 -vt 0.375000 0.500000 -vt 0.375000 1.000000 -vt 0.250000 0.500000 -vt 0.250000 1.000000 -vt 0.375000 1.000000 -vt 0.500000 1.000000 -vt 0.125000 0.500000 -vt 0.125000 1.000000 -vt 0.000000 0.500000 -vt 0.000000 1.000000 -vt 0.375000 0.500000 -vt 0.250000 0.500000 -vt 0.750000 0.490000 -vt 0.580294 0.419706 -vt 0.510000 0.250000 -vt 0.580294 0.080294 -vt 0.750000 0.010000 -vt 0.919706 0.080294 -vt 0.990000 0.250000 -vt 0.919706 0.419706 -vt 0.625000 0.500000 -vt 0.500000 0.500000 -vt 0.125000 0.500000 -vt 0.875000 0.500000 -vt 0.750000 0.500000 -vt 0.000000 0.500000 -vt 1.000000 0.500000 -vt 0.000000 1.000000 -vt 0.000000 1.000000 -vt 0.125000 1.000000 -vt 0.125000 1.000000 -vt 0.875000 1.000000 -vt 1.000000 1.000000 -vt 0.625000 1.000000 -vt 0.750000 1.000000 -vt 0.250000 1.000000 -vt 0.250000 1.000000 -vt 0.375000 1.000000 -vt 0.500000 1.000000 -vt 0.625000 1.000000 -vt 0.750000 1.000000 -vt 0.875000 1.000000 -vt 1.000000 1.000000 -vt 0.625000 1.000000 -vt 0.750000 1.000000 -vt 0.419706 0.419706 -vt 0.490000 0.250000 -vt 0.419706 0.080294 -vt 0.250000 0.010000 -vt 0.080294 0.080294 -vt 0.010000 0.250000 -vt 0.080294 0.419706 -vt 0.250000 0.490000 -vt 0.875000 1.000000 -vt 1.000000 1.000000 -vt 0.000000 1.000000 -vt 0.125000 1.000000 -vt 0.250000 1.000000 -vt 0.375000 1.000000 -vt 0.500000 1.000000 +v -0.436383 0.265019 3.509254 +v 1.004741 0.265019 3.509254 +v 1.004741 0.179718 3.544586 +v -0.436383 0.179718 3.544586 +v 1.004741 0.144386 3.629887 +v -0.436383 0.144385 3.629887 +v 1.004741 0.179718 3.715187 +v -0.436383 0.179718 3.715187 +v 1.004741 0.265019 3.750520 +v -0.436383 0.265019 3.750520 +v 1.004741 0.350319 3.715187 +v -0.436383 0.350319 3.715187 +v 1.004741 0.385652 3.629887 +v -0.436383 0.385652 3.629887 +v 1.088061 0.265019 3.750520 +v 1.088061 0.350319 3.715187 +v 1.004741 0.350319 3.544586 +v -0.436383 0.350319 3.544586 +v -0.513171 0.364069 3.629887 +v -0.513171 0.335058 3.699926 +v -0.513171 0.265019 3.530836 +v -0.513171 0.194979 3.559848 +v -0.513171 0.165968 3.629887 +v -0.513171 0.194979 3.699926 +v -0.513171 0.265019 3.728937 +v -0.513171 0.335058 3.559848 +v 1.088061 0.265019 3.509254 +v 1.088061 0.350319 3.544586 +v 1.100404 0.336110 3.558795 +v 1.100404 0.265019 3.529348 +v 1.088061 0.179718 3.544586 +v 1.088061 0.144386 3.629887 +v 1.088061 0.179718 3.715187 +v 1.088061 0.385652 3.629887 +v 1.100404 0.336110 3.700979 +v 1.100404 0.365558 3.629887 +v 1.100404 0.193927 3.700979 +v 1.100404 0.265019 3.730426 +v 1.100404 0.193927 3.558795 +v 1.100404 0.164480 3.629887 +v 1.127149 0.181939 3.629887 +v 1.127149 0.206273 3.688633 +v 1.127149 0.206273 3.571141 +v 1.127149 0.265019 3.546807 +v 1.127149 0.323765 3.571141 +v 1.127149 0.348098 3.629887 +v 1.127149 0.323765 3.688633 +v 1.127149 0.265019 3.712966 +v -0.436384 0.265019 2.490746 +v -0.436384 0.179718 2.455414 +v 1.004741 0.179718 2.455414 +v 1.004741 0.265019 2.490746 +v -0.436384 0.144385 2.370113 +v 1.004741 0.144386 2.370113 +v -0.436384 0.179718 2.284813 +v 1.004741 0.179718 2.284813 +v -0.436384 0.265019 2.249480 +v 1.004741 0.265019 2.249480 +v -0.436384 0.350319 2.284813 +v 1.004741 0.350319 2.284813 +v -0.436384 0.385652 2.370113 +v 1.004741 0.385652 2.370113 +v 1.088061 0.350319 2.284813 +v 1.088061 0.265019 2.249480 +v -0.436384 0.350319 2.455414 +v 1.004741 0.350319 2.455414 +v -0.513171 0.335058 2.300074 +v -0.513171 0.364069 2.370113 +v -0.513171 0.265019 2.469164 +v -0.513171 0.335058 2.440152 +v -0.513171 0.265019 2.271063 +v -0.513171 0.194979 2.300074 +v -0.513171 0.165968 2.370113 +v -0.513171 0.194979 2.440152 +v 1.088061 0.265019 2.490746 +v 1.100404 0.265019 2.470652 +v 1.100404 0.336111 2.441205 +v 1.088061 0.350319 2.455414 +v 1.088061 0.179718 2.455414 +v 1.088061 0.179718 2.284813 +v 1.088061 0.144386 2.370113 +v 1.088061 0.385652 2.370113 +v 1.100404 0.365558 2.370113 +v 1.100404 0.336110 2.299021 +v 1.100404 0.265019 2.269574 +v 1.100404 0.193927 2.299021 +v 1.100404 0.164480 2.370113 +v 1.100404 0.193927 2.441205 +v 1.127149 0.206273 2.311367 +v 1.127149 0.181939 2.370113 +v 1.127149 0.206273 2.428859 +v 1.127149 0.265019 2.287034 +v 1.127149 0.323765 2.311367 +v 1.127149 0.348098 2.370113 +v 1.127149 0.323765 2.428859 +v 1.127149 0.265019 2.453193 +vt 0.047908 0.778254 +vt 0.915002 0.778254 +vt 0.915002 0.833806 +vt 0.047908 0.833806 +vt 0.915002 0.889359 +vt 0.047908 0.889358 +vt 0.047908 0.444941 +vt 0.915002 0.444941 +vt 0.915002 0.500493 +vt 0.047908 0.500493 +vt 0.915002 0.556045 +vt 0.047908 0.556045 +vt 0.915002 0.611597 +vt 0.047908 0.611598 +vt 0.915002 0.667149 +vt 0.047908 0.667150 +vt 0.965134 0.556045 +vt 0.965134 0.611597 +vt 0.915002 0.722702 +vt 0.047908 0.722702 +vt 0.000174 0.662180 +vt 0.000174 0.616567 +vt 0.188508 0.999826 +vt 0.142894 0.999826 +vt 0.110641 0.967572 +vt 0.110641 0.921959 +vt 0.142895 0.889706 +vt 0.188508 0.889706 +vt 0.220761 0.921959 +vt 0.220761 0.967572 +vt 0.000174 0.551076 +vt 0.000174 0.505463 +vt 0.000174 0.717732 +vt 0.000174 0.672119 +vt 0.000174 0.884388 +vt 0.000174 0.838776 +vt 0.000174 0.606628 +vt 0.000174 0.561015 +vt 0.000174 0.773284 +vt 0.000174 0.727671 +vt 0.000174 0.828837 +vt 0.000174 0.783223 +vt 0.000174 0.495524 +vt 0.000174 0.449911 +vt 0.965134 0.778254 +vt 0.965134 0.722702 +vt 0.978548 0.727329 +vt 0.978548 0.773627 +vt 0.965134 0.833806 +vt 0.965134 0.444941 +vt 0.965134 0.500493 +vt 0.965134 0.667149 +vt 0.965134 0.889359 +vt 0.978548 0.616224 +vt 0.978548 0.662523 +vt 0.978548 0.505120 +vt 0.978548 0.551419 +vt 0.978548 0.838433 +vt 0.978548 0.884732 +vt 0.978548 0.671776 +vt 0.978548 0.718075 +vt 0.978548 0.560672 +vt 0.978548 0.606970 +vt 0.978548 0.449567 +vt 0.978548 0.495866 +vt 0.978548 0.782880 +vt 0.978548 0.829179 +vt 0.997340 0.453587 +vt 0.997340 0.491846 +vt 0.313821 0.916759 +vt 0.340874 0.889706 +vt 0.379132 0.889706 +vt 0.406185 0.916760 +vt 0.406185 0.955018 +vt 0.379132 0.982071 +vt 0.340873 0.982071 +vt 0.313820 0.955018 +vt 0.997340 0.786900 +vt 0.997340 0.825159 +vt 0.997340 0.731349 +vt 0.997339 0.769607 +vt 0.997340 0.620244 +vt 0.997340 0.658502 +vt 0.997340 0.509140 +vt 0.997340 0.547398 +vt 0.997340 0.842454 +vt 0.997340 0.880712 +vt 0.997340 0.675796 +vt 0.997340 0.714055 +vt 0.997340 0.564692 +vt 0.997340 0.602951 +vt 0.047908 0.111279 +vt 0.047908 0.055726 +vt 0.915003 0.055729 +vt 0.915003 0.111281 +vt 0.047908 0.000174 +vt 0.915003 0.000177 +vt 0.047907 0.444592 +vt 0.047907 0.389040 +vt 0.915002 0.389041 +vt 0.915002 0.444593 +vt 0.047907 0.333487 +vt 0.915002 0.333489 +vt 0.047907 0.277935 +vt 0.915002 0.277937 +vt 0.047908 0.222383 +vt 0.915002 0.222385 +vt 0.965134 0.277937 +vt 0.965134 0.333489 +vt 0.047908 0.166830 +vt 0.915003 0.166833 +vt 0.000174 0.272966 +vt 0.000174 0.227352 +vt 0.032427 0.889706 +vt 0.078041 0.889706 +vt 0.110294 0.921960 +vt 0.110294 0.967573 +vt 0.078041 0.999826 +vt 0.032427 0.999826 +vt 0.000174 0.967573 +vt 0.000174 0.921960 +vt 0.000174 0.384070 +vt 0.000174 0.338457 +vt 0.000174 0.217413 +vt 0.000174 0.171800 +vt 0.000175 0.050756 +vt 0.000175 0.005143 +vt 0.000174 0.328517 +vt 0.000174 0.282904 +vt 0.000174 0.161861 +vt 0.000175 0.116248 +vt 0.000175 0.106309 +vt 0.000175 0.060695 +vt 0.000174 0.439622 +vt 0.000174 0.394009 +vt 0.965135 0.111281 +vt 0.978548 0.115908 +vt 0.978548 0.162207 +vt 0.965135 0.166833 +vt 0.965135 0.055729 +vt 0.965134 0.389041 +vt 0.965134 0.444593 +vt 0.965134 0.222385 +vt 0.965135 0.000177 +vt 0.978548 0.227012 +vt 0.978548 0.273311 +vt 0.978547 0.338116 +vt 0.978547 0.384414 +vt 0.978548 0.004803 +vt 0.978548 0.051102 +vt 0.978547 0.171460 +vt 0.978547 0.217759 +vt 0.978547 0.282564 +vt 0.978547 0.328863 +vt 0.978548 0.393668 +vt 0.978548 0.439967 +vt 0.978548 0.060356 +vt 0.978548 0.106654 +vt 0.997340 0.397688 +vt 0.997340 0.435947 +vt 0.248162 0.982070 +vt 0.221109 0.955017 +vt 0.221109 0.916758 +vt 0.248162 0.889706 +vt 0.286421 0.889706 +vt 0.313473 0.916759 +vt 0.313473 0.955017 +vt 0.286420 0.982071 +vt 0.997340 0.064376 +vt 0.997340 0.102635 +vt 0.997340 0.119928 +vt 0.997341 0.158187 +vt 0.997340 0.231032 +vt 0.997340 0.269291 +vt 0.997339 0.342136 +vt 0.997339 0.380394 +vt 0.997340 0.008823 +vt 0.997340 0.047082 +vt 0.997339 0.175480 +vt 0.997339 0.213738 +vt 0.997340 0.286584 +vt 0.997340 0.324842 vn 0.0000 -0.3827 -0.9239 vn 0.0000 -0.9239 -0.3827 vn 0.0000 -0.9239 0.3827 @@ -4027,7 +4178,7 @@ vn 0.8327 0.2119 0.5115 vn 0.8327 -0.5115 0.2119 vn 0.8327 -0.2119 -0.5115 vn 0.5165 -0.7911 0.3277 -vn 1.0000 -0.0000 0.0000 +vn 1.0000 0.0000 0.0000 vn 0.5165 -0.3277 -0.7911 vn 0.5165 0.3277 -0.7911 vn 0.5165 0.7911 0.3277 @@ -4035,91 +4186,91 @@ vn 0.5165 -0.3277 0.7911 vn 0.5165 -0.7911 -0.3277 vn 0.5165 0.7911 -0.3277 vn 0.5165 0.3277 0.7911 -s 1 -f 917/1480/527 918/1481/527 919/1482/527 920/1483/527 -f 920/1483/528 919/1482/528 921/1484/528 922/1485/528 -f 922/1485/529 921/1484/529 923/1486/529 924/1487/529 -f 924/1487/530 923/1486/530 925/1488/530 926/1489/530 -f 926/1489/531 925/1488/531 927/1490/531 928/1491/531 -f 928/1491/532 927/1490/532 929/1492/532 930/1493/532 -f 927/1490/531 925/1488/531 931/1494/531 932/1495/531 -f 930/1493/533 929/1492/533 933/1496/533 934/1497/533 -f 934/1497/534 933/1496/534 918/1498/534 917/1499/534 -f 928/1491/535 930/1493/535 935/1500/535 936/1501/535 -f 937/1502/536 938/1503/536 939/1504/536 940/1505/536 941/1506/536 936/1507/536 935/1508/536 942/1509/536 -f 924/1487/537 926/1489/537 941/1510/537 940/1511/537 -f 930/1493/538 934/1497/538 942/1512/538 935/1500/538 -f 920/1483/539 922/1485/539 939/1513/539 938/1514/539 -f 926/1489/540 928/1491/540 936/1501/540 941/1510/540 -f 934/1497/541 917/1499/541 937/1515/541 942/1512/541 -f 917/1480/542 920/1483/542 938/1514/542 937/1516/542 -f 922/1485/543 924/1487/543 940/1511/543 939/1513/543 -f 943/1517/544 944/1518/544 945/1519/544 946/1520/544 -f 918/1498/534 933/1496/534 944/1518/534 943/1517/534 -f 919/1482/527 918/1481/527 943/1521/527 947/1522/527 -f 923/1486/529 921/1484/529 948/1523/529 949/1524/529 -f 929/1492/532 927/1490/532 932/1495/532 950/1525/532 -f 925/1488/530 923/1486/530 949/1524/530 931/1494/530 -f 933/1496/533 929/1492/533 950/1525/533 944/1518/533 -f 921/1484/528 919/1482/528 947/1522/528 948/1523/528 -f 950/1525/545 932/1495/545 951/1526/545 952/1527/545 -f 931/1494/546 949/1524/546 953/1528/546 954/1529/546 -f 948/1523/547 947/1522/547 955/1530/547 956/1531/547 -f 944/1518/548 950/1525/548 952/1527/548 945/1519/548 -f 932/1495/549 931/1494/549 954/1529/549 951/1526/549 -f 949/1524/550 948/1523/550 956/1531/550 953/1528/550 -f 947/1522/551 943/1521/551 946/1532/551 955/1530/551 -f 953/1528/552 956/1531/552 957/1533/552 958/1534/552 -f 959/1535/553 960/1536/553 961/1537/553 962/1538/553 963/1539/553 964/1540/553 958/1541/553 957/1542/553 -f 955/1530/554 946/1532/554 960/1543/554 959/1544/554 -f 946/1520/555 945/1519/555 961/1545/555 960/1546/555 -f 952/1527/556 951/1526/556 963/1547/556 962/1548/556 -f 954/1529/557 953/1528/557 958/1534/557 964/1549/557 -f 956/1531/558 955/1530/558 959/1544/558 957/1533/558 -f 945/1519/559 952/1527/559 962/1548/559 961/1545/559 -f 951/1526/560 954/1529/560 964/1549/560 963/1547/560 -f 965/1550/530 966/1551/530 967/1552/530 968/1553/530 -f 966/1551/529 969/1554/529 970/1555/529 967/1552/529 -f 969/1554/528 971/1556/528 972/1557/528 970/1555/528 -f 971/1556/527 973/1558/527 974/1559/527 972/1557/527 -f 973/1558/534 975/1560/534 976/1561/534 974/1559/534 -f 975/1560/533 977/1562/533 978/1563/533 976/1561/533 -f 976/1561/534 979/1564/534 980/1565/534 974/1559/534 -f 977/1562/532 981/1566/532 982/1567/532 978/1563/532 -f 981/1566/531 965/1568/531 968/1569/531 982/1567/531 -f 975/1560/538 983/1570/538 984/1571/538 977/1562/538 -f 985/1572/536 986/1573/536 984/1574/536 983/1575/536 987/1576/536 988/1577/536 989/1578/536 990/1579/536 -f 971/1556/542 988/1580/542 987/1581/542 973/1558/542 -f 977/1562/535 984/1571/535 986/1582/535 981/1566/535 -f 966/1551/543 990/1583/543 989/1584/543 969/1554/543 -f 973/1558/541 987/1581/541 983/1570/541 975/1560/541 -f 981/1566/540 986/1582/540 985/1585/540 965/1568/540 -f 965/1550/537 985/1586/537 990/1583/537 966/1551/537 -f 969/1554/539 989/1584/539 988/1580/539 971/1556/539 -f 991/1587/549 992/1588/549 993/1589/549 994/1590/549 -f 968/1569/531 991/1587/531 994/1590/531 982/1567/531 -f 967/1552/530 995/1591/530 991/1592/530 968/1553/530 -f 972/1557/528 996/1593/528 997/1594/528 970/1555/528 -f 978/1563/533 998/1595/533 979/1564/533 976/1561/533 -f 974/1559/527 980/1565/527 996/1593/527 972/1557/527 -f 982/1567/532 994/1590/532 998/1595/532 978/1563/532 -f 970/1555/529 997/1594/529 995/1591/529 967/1552/529 -f 998/1595/548 999/1596/548 1000/1597/548 979/1564/548 -f 980/1565/551 1001/1598/551 1002/1599/551 996/1593/551 -f 997/1594/550 1003/1600/550 1004/1601/550 995/1591/550 -f 994/1590/545 993/1589/545 999/1596/545 998/1595/545 -f 979/1564/544 1000/1597/544 1001/1598/544 980/1565/544 -f 996/1593/547 1002/1599/547 1003/1600/547 997/1594/547 -f 995/1591/546 1004/1601/546 992/1602/546 991/1592/546 -f 1002/1599/558 1005/1603/558 1006/1604/558 1003/1600/558 -f 1007/1605/553 1006/1606/553 1005/1607/553 1008/1608/553 1009/1609/553 1010/1610/553 1011/1611/553 1012/1612/553 -f 1004/1601/557 1007/1613/557 1012/1614/557 992/1602/557 -f 992/1588/560 1012/1615/560 1011/1616/560 993/1589/560 -f 999/1596/559 1010/1617/559 1009/1618/559 1000/1597/559 -f 1001/1598/554 1008/1619/554 1005/1603/554 1002/1599/554 -f 1003/1600/552 1006/1604/552 1007/1613/552 1004/1601/552 -f 993/1589/556 1011/1616/556 1010/1617/556 999/1596/556 -f 1000/1597/555 1009/1618/555 1008/1619/555 1001/1598/555 +s off +f 917/1593/523 918/1594/523 919/1595/523 920/1596/523 +f 920/1596/524 919/1595/524 921/1597/524 922/1598/524 +f 922/1599/525 921/1600/525 923/1601/525 924/1602/525 +f 924/1602/526 923/1601/526 925/1603/526 926/1604/526 +f 926/1604/527 925/1603/527 927/1605/527 928/1606/527 +f 928/1606/528 927/1605/528 929/1607/528 930/1608/528 +f 927/1605/527 925/1603/527 931/1609/527 932/1610/527 +f 930/1608/529 929/1607/529 933/1611/529 934/1612/529 +f 934/1612/530 933/1611/530 918/1594/530 917/1593/530 +f 928/1606/531 930/1608/531 935/1613/531 936/1614/531 +f 937/1615/532 938/1616/532 939/1617/532 940/1618/532 941/1619/532 936/1620/532 935/1621/532 942/1622/532 +f 924/1602/533 926/1604/533 941/1623/533 940/1624/533 +f 930/1608/534 934/1612/534 942/1625/534 935/1626/534 +f 920/1596/535 922/1598/535 939/1627/535 938/1628/535 +f 926/1604/536 928/1606/536 936/1629/536 941/1630/536 +f 934/1612/537 917/1593/537 937/1631/537 942/1632/537 +f 917/1593/538 920/1596/538 938/1633/538 937/1634/538 +f 922/1599/539 924/1602/539 940/1635/539 939/1636/539 +f 943/1637/540 944/1638/540 945/1639/540 946/1640/540 +f 918/1594/530 933/1611/530 944/1638/530 943/1637/530 +f 919/1595/523 918/1594/523 943/1637/523 947/1641/523 +f 923/1601/525 921/1600/525 948/1642/525 949/1643/525 +f 929/1607/528 927/1605/528 932/1610/528 950/1644/528 +f 925/1603/526 923/1601/526 949/1643/526 931/1609/526 +f 933/1611/529 929/1607/529 950/1644/529 944/1638/529 +f 921/1597/524 919/1595/524 947/1641/524 948/1645/524 +f 950/1644/541 932/1610/541 951/1646/541 952/1647/541 +f 931/1609/542 949/1643/542 953/1648/542 954/1649/542 +f 948/1645/543 947/1641/543 955/1650/543 956/1651/543 +f 944/1638/544 950/1644/544 952/1652/544 945/1653/544 +f 932/1610/545 931/1609/545 954/1654/545 951/1655/545 +f 949/1643/546 948/1642/546 956/1656/546 953/1657/546 +f 947/1641/547 943/1637/547 946/1658/547 955/1659/547 +f 953/1657/548 956/1656/548 957/1660/548 958/1661/548 +f 959/1662/549 960/1663/549 961/1664/549 962/1665/549 963/1666/549 964/1667/549 958/1668/549 957/1669/549 +f 955/1659/550 946/1658/550 960/1670/550 959/1671/550 +f 946/1640/551 945/1639/551 961/1672/551 960/1673/551 +f 952/1647/552 951/1646/552 963/1674/552 962/1675/552 +f 954/1649/553 953/1648/553 958/1676/553 964/1677/553 +f 956/1651/554 955/1650/554 959/1678/554 957/1679/554 +f 945/1653/555 952/1652/555 962/1680/555 961/1681/555 +f 951/1655/556 954/1654/556 964/1682/556 963/1683/556 +f 965/1684/526 966/1685/526 967/1686/526 968/1687/526 +f 966/1685/525 969/1688/525 970/1689/525 967/1686/525 +f 969/1690/524 971/1691/524 972/1692/524 970/1693/524 +f 971/1691/523 973/1694/523 974/1695/523 972/1692/523 +f 973/1694/530 975/1696/530 976/1697/530 974/1695/530 +f 975/1696/529 977/1698/529 978/1699/529 976/1697/529 +f 976/1697/530 979/1700/530 980/1701/530 974/1695/530 +f 977/1698/528 981/1702/528 982/1703/528 978/1699/528 +f 981/1702/527 965/1684/527 968/1687/527 982/1703/527 +f 975/1696/534 983/1704/534 984/1705/534 977/1698/534 +f 985/1706/532 986/1707/532 984/1708/532 983/1709/532 987/1710/532 988/1711/532 989/1712/532 990/1713/532 +f 971/1691/538 988/1714/538 987/1715/538 973/1694/538 +f 977/1698/531 984/1716/531 986/1717/531 981/1702/531 +f 966/1685/539 990/1718/539 989/1719/539 969/1688/539 +f 973/1694/537 987/1720/537 983/1721/537 975/1696/537 +f 981/1702/536 986/1722/536 985/1723/536 965/1684/536 +f 965/1684/533 985/1724/533 990/1725/533 966/1685/533 +f 969/1690/535 989/1726/535 988/1727/535 971/1691/535 +f 991/1728/545 992/1729/545 993/1730/545 994/1731/545 +f 968/1687/527 991/1728/527 994/1731/527 982/1703/527 +f 967/1686/526 995/1732/526 991/1728/526 968/1687/526 +f 972/1692/524 996/1733/524 997/1734/524 970/1693/524 +f 978/1699/529 998/1735/529 979/1700/529 976/1697/529 +f 974/1695/523 980/1701/523 996/1733/523 972/1692/523 +f 982/1703/528 994/1731/528 998/1735/528 978/1699/528 +f 970/1689/525 997/1736/525 995/1732/525 967/1686/525 +f 998/1735/544 999/1737/544 1000/1738/544 979/1700/544 +f 980/1701/547 1001/1739/547 1002/1740/547 996/1733/547 +f 997/1736/546 1003/1741/546 1004/1742/546 995/1732/546 +f 994/1731/541 993/1743/541 999/1744/541 998/1735/541 +f 979/1700/540 1000/1745/540 1001/1746/540 980/1701/540 +f 996/1733/543 1002/1747/543 1003/1748/543 997/1734/543 +f 995/1732/542 1004/1749/542 992/1750/542 991/1728/542 +f 1002/1747/554 1005/1751/554 1006/1752/554 1003/1748/554 +f 1007/1753/549 1006/1754/549 1005/1755/549 1008/1756/549 1009/1757/549 1010/1758/549 1011/1759/549 1012/1760/549 +f 1004/1749/553 1007/1761/553 1012/1762/553 992/1750/553 +f 992/1729/556 1012/1763/556 1011/1764/556 993/1730/556 +f 999/1737/555 1010/1765/555 1009/1766/555 1000/1738/555 +f 1001/1739/550 1008/1767/550 1005/1768/550 1002/1740/550 +f 1003/1741/548 1006/1769/548 1007/1770/548 1004/1742/548 +f 993/1743/552 1011/1771/552 1010/1772/552 999/1744/552 +f 1000/1745/551 1009/1773/551 1008/1774/551 1001/1746/551 o CoiCanon_Cylinder.004 v -0.419369 0.526526 -0.206986 v 0.947632 0.526526 -0.206986 @@ -4182,16 +4333,16 @@ vn 0.0000 0.9239 -0.3827 vn 0.0000 0.3827 -0.9239 vn -1.0000 0.0000 0.0000 s 1 -f 1013/1620/561 1014/1621/561 1015/1622/561 1016/1623/561 -f 1016/1623/562 1015/1622/562 1017/1624/562 1018/1625/562 -f 1018/1625/563 1017/1624/563 1019/1626/563 1020/1627/563 -f 1020/1627/564 1019/1626/564 1021/1628/564 1022/1629/564 -f 1022/1629/565 1021/1628/565 1023/1630/565 1024/1631/565 -f 1024/1631/566 1023/1630/566 1025/1632/566 1026/1633/566 -f 1015/1634/567 1014/1635/567 1027/1636/567 1025/1637/567 1023/1638/567 1021/1639/567 1019/1640/567 1017/1641/567 -f 1026/1633/568 1025/1632/568 1027/1642/568 1028/1643/568 -f 1028/1643/569 1027/1642/569 1014/1644/569 1013/1645/569 -f 1013/1646/570 1016/1647/570 1018/1648/570 1020/1649/570 1022/1650/570 1024/1651/570 1026/1652/570 1028/1653/570 +f 1013/1775/557 1014/1776/557 1015/1777/557 1016/1778/557 +f 1016/1778/558 1015/1777/558 1017/1779/558 1018/1780/558 +f 1018/1780/559 1017/1779/559 1019/1781/559 1020/1782/559 +f 1020/1782/560 1019/1781/560 1021/1783/560 1022/1784/560 +f 1022/1784/561 1021/1783/561 1023/1785/561 1024/1786/561 +f 1024/1786/562 1023/1785/562 1025/1787/562 1026/1788/562 +f 1015/1789/563 1014/1790/563 1027/1791/563 1025/1792/563 1023/1793/563 1021/1794/563 1019/1795/563 1017/1796/563 +f 1026/1788/564 1025/1787/564 1027/1797/564 1028/1798/564 +f 1028/1798/565 1027/1797/565 1014/1799/565 1013/1800/565 +f 1013/1801/566 1016/1802/566 1018/1803/566 1020/1804/566 1022/1805/566 1024/1806/566 1026/1807/566 1028/1808/566 o SideHolders_Cube.003 v 1.384588 0.551670 0.654257 v 1.384588 0.551670 0.449972 @@ -4292,34 +4443,34 @@ vn -0.3634 0.0000 0.9316 vn 0.4890 0.0000 -0.8723 vn -0.3635 0.0000 -0.9316 s 1 -f 1029/1654/571 1030/1655/571 1031/1656/571 1032/1657/571 -f 1033/1658/572 1030/1659/572 1034/1660/572 1035/1661/572 -f 1034/1660/573 1036/1662/573 1037/1663/573 1038/1664/573 -f 1039/1665/574 1036/1662/574 1029/1666/574 1040/1667/574 -f 1033/1668/575 1035/1661/575 1039/1665/575 1040/1669/575 -f 1034/1660/576 1030/1655/576 1029/1654/576 1036/1662/576 -f 1041/1670/577 1038/1664/577 1037/1663/577 1042/1671/577 -f 1035/1661/572 1034/1660/572 1038/1664/572 1041/1670/572 -f 1036/1662/578 1039/1665/578 1042/1671/578 1037/1663/578 -f 1039/1665/579 1035/1661/579 1041/1670/579 1042/1671/579 -f 1043/1672/580 1032/1673/580 1031/1674/580 1044/1675/580 -f 1033/1668/581 1040/1669/581 1043/1676/581 1044/1677/581 -f 1030/1659/572 1033/1658/572 1044/1675/572 1031/1674/572 -f 1040/1667/582 1029/1666/582 1032/1678/582 1043/1679/582 -f 1045/1680/571 1046/1681/571 1047/1682/571 1048/1683/571 -f 1049/1684/574 1050/1685/574 1051/1686/574 1048/1687/574 -f 1051/1686/573 1052/1688/573 1053/1689/573 1054/1690/573 -f 1055/1691/572 1056/1692/572 1045/1693/572 1054/1690/572 -f 1049/1694/575 1056/1695/575 1055/1691/575 1050/1685/575 -f 1051/1686/576 1054/1690/576 1045/1680/576 1048/1683/576 -f 1057/1696/577 1058/1697/577 1053/1689/577 1052/1688/577 -f 1050/1685/574 1057/1696/574 1052/1688/574 1051/1686/574 -f 1054/1690/583 1053/1689/583 1058/1697/583 1055/1691/583 -f 1055/1691/579 1058/1697/579 1057/1696/579 1050/1685/579 -f 1059/1698/580 1060/1699/580 1047/1700/580 1046/1701/580 -f 1049/1694/581 1060/1702/581 1059/1703/581 1056/1695/581 -f 1048/1687/574 1047/1700/574 1060/1699/574 1049/1684/574 -f 1056/1692/584 1059/1704/584 1046/1705/584 1045/1693/584 +f 1029/1809/567 1030/1810/567 1031/1811/567 1032/1812/567 +f 1033/1813/568 1030/1814/568 1034/1815/568 1035/1816/568 +f 1034/1815/569 1036/1817/569 1037/1818/569 1038/1819/569 +f 1039/1820/570 1036/1817/570 1029/1821/570 1040/1822/570 +f 1033/1823/571 1035/1816/571 1039/1820/571 1040/1824/571 +f 1034/1815/572 1030/1810/572 1029/1809/572 1036/1817/572 +f 1041/1825/573 1038/1819/573 1037/1818/573 1042/1826/573 +f 1035/1816/568 1034/1815/568 1038/1819/568 1041/1825/568 +f 1036/1817/574 1039/1820/574 1042/1826/574 1037/1818/574 +f 1039/1820/575 1035/1816/575 1041/1825/575 1042/1826/575 +f 1043/1827/576 1032/1828/576 1031/1829/576 1044/1830/576 +f 1033/1823/577 1040/1824/577 1043/1831/577 1044/1832/577 +f 1030/1814/568 1033/1813/568 1044/1830/568 1031/1829/568 +f 1040/1822/578 1029/1821/578 1032/1833/578 1043/1834/578 +f 1045/1835/567 1046/1836/567 1047/1837/567 1048/1838/567 +f 1049/1839/570 1050/1840/570 1051/1841/570 1048/1842/570 +f 1051/1841/569 1052/1843/569 1053/1844/569 1054/1845/569 +f 1055/1846/568 1056/1847/568 1045/1848/568 1054/1845/568 +f 1049/1849/571 1056/1850/571 1055/1846/571 1050/1840/571 +f 1051/1841/572 1054/1845/572 1045/1835/572 1048/1838/572 +f 1057/1851/573 1058/1852/573 1053/1844/573 1052/1843/573 +f 1050/1840/570 1057/1851/570 1052/1843/570 1051/1841/570 +f 1054/1845/579 1053/1844/579 1058/1852/579 1055/1846/579 +f 1055/1846/575 1058/1852/575 1057/1851/575 1050/1840/575 +f 1059/1853/576 1060/1854/576 1047/1855/576 1046/1856/576 +f 1049/1849/577 1060/1857/577 1059/1858/577 1056/1850/577 +f 1048/1842/570 1047/1855/570 1060/1854/570 1049/1839/570 +f 1056/1847/580 1059/1859/580 1046/1860/580 1045/1848/580 o Rail_Cube v -1.606489 0.994589 0.070837 v -1.606489 1.084445 0.070837 @@ -4572,1029 +4723,1097 @@ vn -0.0000 0.4280 -0.9038 vn 0.7944 -0.6074 0.0000 vn -0.7944 -0.6074 0.0000 s 1 -f 1061/1706/585 1062/1707/585 1063/1708/585 1064/1709/585 -f 1064/1709/586 1063/1708/586 1065/1710/586 1066/1711/586 1067/1712/586 1068/1713/586 -f 1069/1714/587 1070/1715/587 1071/1716/587 1072/1717/587 -f 1073/1718/588 1074/1719/588 1075/1720/588 1076/1721/588 1077/1722/588 1078/1723/588 -f 1079/1724/589 1080/1725/589 1081/1726/589 1082/1727/589 -f 1083/1728/589 1084/1729/589 1085/1730/589 1086/1731/589 -f 1087/1732/589 1088/1733/589 1073/1718/589 1078/1734/589 -f 1061/1735/589 1064/1736/589 1068/1737/589 1089/1738/589 -f 1090/1739/590 1091/1740/590 1092/1741/590 1093/1742/590 -f 1069/1714/591 1094/1743/591 1095/1744/591 1070/1715/591 -f 1096/1745/592 1097/1746/592 1088/1733/592 1098/1747/592 1090/1739/592 -f 1074/1719/593 1073/1718/593 1094/1743/593 1069/1714/593 1093/1742/593 -f 1073/1718/594 1088/1733/594 1097/1746/594 1094/1743/594 -f 1093/1742/595 1069/1714/595 1072/1717/595 1099/1748/595 -f 1094/1743/589 1097/1746/589 1100/1749/589 1095/1744/589 -f 1101/1750/596 1096/1745/596 1102/1751/596 1103/1752/596 -f 1097/1746/597 1096/1745/597 1101/1750/597 1100/1749/597 -f 1104/1753/598 1105/1754/598 1106/1755/598 1107/1756/598 -f 1100/1749/599 1101/1750/599 1105/1754/599 1104/1753/599 -f 1070/1715/600 1095/1744/600 1107/1756/600 1106/1755/600 -f 1095/1744/601 1100/1749/601 1104/1753/601 1107/1756/601 -f 1108/1757/602 1099/1748/602 1072/1717/602 1102/1751/602 -f 1103/1752/603 1071/1716/603 1109/1758/603 1110/1759/603 -f 1102/1751/590 1072/1717/590 1071/1716/590 1103/1752/590 -f 1070/1715/604 1106/1755/604 1109/1758/604 1071/1716/604 -f 1106/1755/605 1105/1754/605 1110/1759/605 1109/1758/605 -f 1090/1739/606 1093/1742/606 1099/1748/606 1108/1757/606 -f 1096/1745/607 1090/1739/607 1108/1757/607 1102/1751/607 -f 1105/1754/608 1101/1750/608 1103/1752/608 1110/1759/608 -f 1062/1760/609 1111/1761/609 1112/1762/609 1113/1763/609 1114/1764/609 1115/1765/609 1075/1720/609 1074/1719/609 1093/1742/609 1092/1766/609 -f 1063/1708/610 1062/1707/610 1092/1767/610 1091/1768/610 -f 1098/1747/611 1116/1769/611 1117/1770/611 1118/1771/611 1119/1772/611 1120/1773/611 1065/1710/611 1063/1708/611 1091/1768/611 1090/1739/611 -f 1066/1774/589 1121/1775/589 1122/1776/589 1123/1777/589 -f 1082/1778/585 1124/1779/585 1125/1780/585 1079/1781/585 -f 1068/1782/598 1067/1783/598 1126/1784/598 1089/1785/598 -f 1067/1786/612 1066/1774/612 1123/1777/612 1126/1787/612 -f 1122/1776/613 1121/1775/613 1125/1780/613 1124/1779/613 -f 1127/1788/589 1128/1789/589 1129/1790/589 1130/1791/589 -f 1086/1792/585 1131/1793/585 1132/1794/585 1083/1795/585 -f 1080/1796/598 1133/1797/598 1134/1798/598 1081/1799/598 -f 1133/1800/612 1127/1788/612 1130/1791/612 1134/1801/612 -f 1132/1794/613 1131/1793/613 1129/1790/613 1128/1789/613 -f 1135/1802/589 1136/1803/589 1076/1804/589 1137/1805/589 -f 1077/1806/585 1138/1807/585 1087/1808/585 1078/1809/585 -f 1084/1810/598 1139/1811/598 1140/1812/598 1085/1813/598 -f 1140/1814/612 1139/1815/612 1135/1802/612 1137/1805/612 -f 1076/1804/613 1136/1803/613 1138/1807/613 1077/1806/613 -f 1129/1816/588 1114/1764/588 1113/1763/588 1130/1817/588 -f 1137/1818/588 1115/1765/588 1114/1764/588 1129/1816/588 1131/1819/588 1086/1820/588 1085/1821/588 1140/1822/588 -f 1076/1721/588 1075/1720/588 1115/1765/588 1137/1818/588 -f 1130/1817/588 1113/1763/588 1112/1762/588 1122/1823/588 1124/1824/588 1082/1825/588 1081/1826/588 1134/1827/588 -f 1122/1823/588 1112/1762/588 1111/1761/588 1123/1828/588 -f 1123/1828/588 1111/1761/588 1062/1760/588 1061/1829/588 1089/1830/588 1126/1831/588 -f 1136/1832/586 1116/1769/586 1098/1747/586 1088/1733/586 1087/1833/586 1138/1834/586 -f 1135/1835/586 1117/1770/586 1116/1769/586 1136/1832/586 -f 1128/1836/586 1118/1771/586 1117/1770/586 1135/1835/586 1139/1837/586 1084/1838/586 1083/1839/586 1132/1840/586 -f 1127/1841/586 1119/1772/586 1118/1771/586 1128/1836/586 -f 1121/1842/586 1120/1773/586 1119/1772/586 1127/1841/586 1133/1843/586 1080/1844/586 1079/1845/586 1125/1846/586 -f 1066/1711/586 1065/1710/586 1120/1773/586 1121/1842/586 +f 1061/1861/581 1062/1862/581 1063/1863/581 1064/1864/581 +f 1064/1864/582 1063/1863/582 1065/1865/582 1066/1866/582 1067/1867/582 1068/1868/582 +f 1069/1869/583 1070/1870/583 1071/1871/583 1072/1872/583 +f 1073/1873/584 1074/1874/584 1075/1875/584 1076/1876/584 1077/1877/584 1078/1878/584 +f 1079/1879/585 1080/1880/585 1081/1881/585 1082/1882/585 +f 1083/1883/585 1084/1884/585 1085/1885/585 1086/1886/585 +f 1087/1887/585 1088/1888/585 1073/1873/585 1078/1889/585 +f 1061/1890/585 1064/1891/585 1068/1892/585 1089/1893/585 +f 1090/1894/586 1091/1895/586 1092/1896/586 1093/1897/586 +f 1069/1869/587 1094/1898/587 1095/1899/587 1070/1870/587 +f 1096/1900/588 1097/1901/588 1088/1888/588 1098/1902/588 1090/1894/588 +f 1074/1874/589 1073/1873/589 1094/1898/589 1069/1869/589 1093/1897/589 +f 1073/1873/590 1088/1888/590 1097/1901/590 1094/1898/590 +f 1093/1897/591 1069/1869/591 1072/1872/591 1099/1903/591 +f 1094/1898/585 1097/1901/585 1100/1904/585 1095/1899/585 +f 1101/1905/592 1096/1900/592 1102/1906/592 1103/1907/592 +f 1097/1901/593 1096/1900/593 1101/1905/593 1100/1904/593 +f 1104/1908/594 1105/1909/594 1106/1910/594 1107/1911/594 +f 1100/1904/595 1101/1905/595 1105/1909/595 1104/1908/595 +f 1070/1870/596 1095/1899/596 1107/1911/596 1106/1910/596 +f 1095/1899/597 1100/1904/597 1104/1908/597 1107/1911/597 +f 1108/1912/598 1099/1903/598 1072/1872/598 1102/1906/598 +f 1103/1907/599 1071/1871/599 1109/1913/599 1110/1914/599 +f 1102/1906/586 1072/1872/586 1071/1871/586 1103/1907/586 +f 1070/1870/600 1106/1910/600 1109/1913/600 1071/1871/600 +f 1106/1910/601 1105/1909/601 1110/1914/601 1109/1913/601 +f 1090/1894/602 1093/1897/602 1099/1903/602 1108/1912/602 +f 1096/1900/603 1090/1894/603 1108/1912/603 1102/1906/603 +f 1105/1909/604 1101/1905/604 1103/1907/604 1110/1914/604 +f 1062/1915/605 1111/1916/605 1112/1917/605 1113/1918/605 1114/1919/605 1115/1920/605 1075/1875/605 1074/1874/605 1093/1897/605 1092/1921/605 +f 1063/1863/606 1062/1862/606 1092/1922/606 1091/1923/606 +f 1098/1902/607 1116/1924/607 1117/1925/607 1118/1926/607 1119/1927/607 1120/1928/607 1065/1865/607 1063/1863/607 1091/1923/607 1090/1894/607 +f 1066/1929/585 1121/1930/585 1122/1931/585 1123/1932/585 +f 1082/1933/581 1124/1934/581 1125/1935/581 1079/1936/581 +f 1068/1937/594 1067/1938/594 1126/1939/594 1089/1940/594 +f 1067/1941/608 1066/1929/608 1123/1932/608 1126/1942/608 +f 1122/1931/609 1121/1930/609 1125/1935/609 1124/1934/609 +f 1127/1943/585 1128/1944/585 1129/1945/585 1130/1946/585 +f 1086/1947/581 1131/1948/581 1132/1949/581 1083/1950/581 +f 1080/1951/594 1133/1952/594 1134/1953/594 1081/1954/594 +f 1133/1955/608 1127/1943/608 1130/1946/608 1134/1956/608 +f 1132/1949/609 1131/1948/609 1129/1945/609 1128/1944/609 +f 1135/1957/585 1136/1958/585 1076/1959/585 1137/1960/585 +f 1077/1961/581 1138/1962/581 1087/1963/581 1078/1964/581 +f 1084/1965/594 1139/1966/594 1140/1967/594 1085/1968/594 +f 1140/1969/608 1139/1970/608 1135/1957/608 1137/1960/608 +f 1076/1959/609 1136/1958/609 1138/1962/609 1077/1961/609 +f 1129/1971/584 1114/1919/584 1113/1918/584 1130/1972/584 +f 1137/1973/584 1115/1920/584 1114/1919/584 1129/1971/584 1131/1974/584 1086/1975/584 1085/1976/584 1140/1977/584 +f 1076/1876/584 1075/1875/584 1115/1920/584 1137/1973/584 +f 1130/1972/584 1113/1918/584 1112/1917/584 1122/1978/584 1124/1979/584 1082/1980/584 1081/1981/584 1134/1982/584 +f 1122/1978/584 1112/1917/584 1111/1916/584 1123/1983/584 +f 1123/1983/584 1111/1916/584 1062/1915/584 1061/1984/584 1089/1985/584 1126/1986/584 +f 1136/1987/582 1116/1924/582 1098/1902/582 1088/1888/582 1087/1988/582 1138/1989/582 +f 1135/1990/582 1117/1925/582 1116/1924/582 1136/1987/582 +f 1128/1991/582 1118/1926/582 1117/1925/582 1135/1990/582 1139/1992/582 1084/1993/582 1083/1994/582 1132/1995/582 +f 1127/1996/582 1119/1927/582 1118/1926/582 1128/1991/582 +f 1121/1997/582 1120/1928/582 1119/1927/582 1127/1996/582 1133/1998/582 1080/1999/582 1079/2000/582 1125/2001/582 +f 1066/1866/582 1065/1865/582 1120/1928/582 1121/1997/582 o CanonBody_Cylinder.002 -v 1.103664 0.525584 -0.500000 -v 1.292985 0.525584 -0.500000 -v 1.292985 0.172030 -0.353553 -v 1.103664 0.172030 -0.353553 -v 1.103664 0.525584 0.500000 -v 1.292985 0.525584 0.500000 -v 1.292985 0.879137 0.353553 -v 1.103664 0.879137 0.353553 -v 1.292985 1.025584 0.000000 -v 1.103664 1.025584 0.000000 -v 1.503651 1.012795 0.000000 -v 1.503651 0.870094 -0.344510 -v 1.509822 0.895986 -0.370402 -v 1.509822 1.049411 0.000000 -v 1.080568 0.851567 0.325983 -v 1.080568 0.525584 0.461010 -v 1.292985 0.879137 -0.353553 -v 1.286814 0.905708 -0.380125 -v 1.286814 0.525584 -0.537577 -v 1.286814 0.525584 0.537577 -v 1.286814 0.905708 0.380125 -v 1.503651 0.038372 0.000000 -v 1.503651 0.181073 0.344510 -v 1.509822 0.155181 0.370402 -v 1.509822 0.001756 0.000000 -v 1.503651 0.870094 0.344510 -v 1.509822 0.895986 0.370402 -v 1.503651 0.525584 0.487211 -v 1.669294 0.525584 0.401911 -v 1.669294 0.809777 0.284194 -v 1.503651 0.181073 -0.344510 -v 1.503651 0.525584 -0.487211 -v 1.669294 0.525584 -0.401911 -v 1.669294 0.241390 -0.284194 -v 1.669294 0.809777 -0.284194 -v 1.669294 0.927494 0.000000 -v 1.669294 0.241390 0.284194 -v -0.603601 0.525584 -0.500000 -v 1.044523 0.525584 -0.500000 -v 1.044523 0.172030 -0.353553 -v -0.603601 0.172030 -0.353553 -v -0.603601 0.025584 0.000000 -v 1.044523 0.025584 0.000000 -v 1.044523 0.172030 0.353553 -v -0.603601 0.172030 0.353553 -v 0.951045 0.197436 0.364077 -v -0.460212 0.197436 0.364077 -v 1.044523 0.879137 0.353553 -v 0.899442 0.953734 0.173461 -v 0.899442 0.879137 0.353553 -v 1.044523 0.525584 0.500000 -v 1.068921 0.199748 0.325836 -v 1.068921 0.525584 0.460801 -v 1.044523 0.879137 -0.353553 -v 0.899442 0.735289 -0.413137 -v 0.899442 0.879137 -0.353553 -v 1.068921 0.986385 0.000000 -v 1.068921 0.851420 -0.325836 -v 1.044523 0.998052 -0.066468 -v 1.044523 1.025584 0.000000 -v 0.985768 0.843292 0.316901 -v 0.899442 0.843292 0.316901 -v 0.899442 0.918248 0.161081 -v 0.968182 0.918248 0.161081 -v 1.068921 0.525584 -0.460801 -v 1.044523 0.655732 -0.446091 -v 1.068921 0.199748 -0.325836 -v 1.068921 0.851420 0.325836 -v 1.044523 0.998052 0.066468 -v 1.080568 0.851567 -0.325983 -v 1.080568 0.525584 -0.461010 -v 1.080568 0.199600 -0.325983 -v 1.080568 0.064574 0.000000 -v 1.080568 0.199600 0.325983 -v 1.080568 0.986594 0.000000 -v 1.103664 0.172030 0.353553 -v 1.068921 0.064782 0.000000 -v -0.603601 0.997972 -0.066659 -v -0.603601 1.025584 0.000000 -v 0.810528 0.997935 -0.101577 -v -0.388078 0.997935 -0.101577 -v 0.810528 0.952228 0.101577 -v 0.969099 0.952228 0.101577 -v 0.988155 0.719760 0.368080 -v 0.899442 0.719760 0.368080 -v 0.810528 0.997935 0.101577 -v -0.603601 0.997968 0.066670 -v -0.388078 0.997935 0.101577 -v 0.810528 0.655494 -0.446189 -v 1.286814 1.063161 0.000000 -v 1.320923 0.951339 0.425755 -v 1.320923 1.127692 0.000000 -v 1.286814 0.145459 -0.380125 -v 1.320923 0.525584 -0.602109 -v 1.320923 0.099829 -0.425755 -v 1.509822 0.525584 -0.523828 -v 1.475712 0.525584 -0.586708 -v 1.475712 0.940449 -0.414865 -v 1.286814 -0.011994 -0.000000 -v 1.320923 -0.076525 -0.000000 -v 1.509822 0.525584 0.523828 -v 1.475712 0.940449 0.414865 -v 1.475712 0.525584 0.586708 -v 1.509822 0.155181 -0.370402 -v 1.320923 0.525584 0.602109 -v 1.320923 0.951339 -0.425755 -v 1.475712 0.110718 -0.414866 -v 1.475712 1.112292 0.000000 -v 1.475712 0.110718 0.414866 -v 1.669294 0.271118 -0.254466 -v 1.669294 0.525584 -0.359869 -v 1.423236 0.525584 -0.300328 -v 1.423236 0.313220 -0.212364 -v 1.669294 0.780049 -0.254466 -v 1.669294 0.885452 0.000000 -v 1.669294 0.525584 0.359869 -v 1.669294 0.780049 0.254466 -v 1.669294 0.271118 0.254466 -v 1.423236 0.737947 -0.212364 -v 1.423236 0.825911 0.000000 -v 1.657500 0.838523 0.000000 -v 1.657500 0.746865 -0.221281 -v 1.423236 0.525584 0.300328 -v 1.423236 0.737947 0.212364 -v 1.657500 0.746865 0.221281 -v 1.657500 0.525584 0.312939 -v 1.657500 0.525584 0.252281 -v 1.657500 0.703973 0.178389 -v 1.657500 0.525584 -0.312939 -v 1.657500 0.304302 -0.221282 -v 1.423236 0.313220 0.212364 -v 1.657500 0.304302 0.221282 -v 1.657500 0.703973 -0.178389 -v 1.657500 0.525584 -0.252281 -v 1.657500 0.347194 -0.178389 -v 1.657500 0.347194 0.178389 -v 1.432520 0.525584 -0.169385 -v 1.432520 0.645357 -0.119773 -v 1.651829 0.645357 -0.119773 -v 1.651829 0.525584 -0.169385 -v 1.657500 0.777864 0.000000 -v 1.432520 0.645357 0.119773 -v 1.432520 0.694968 0.000000 -v 1.432520 0.405810 -0.119773 -v 1.432520 0.405810 0.119773 -v 1.432520 0.525584 0.169385 -v 1.657500 0.273303 0.000000 -v 1.432520 0.356199 0.000000 -v 1.651829 0.431184 0.000000 -v 1.651829 0.356199 0.000000 -v 1.651829 0.405810 -0.119773 -v 1.651829 0.525394 -0.094211 -v 1.651829 0.458777 -0.066617 -v 1.651829 0.405810 0.119773 -v 1.651829 0.525584 0.169385 -v 1.651829 0.645357 0.119773 -v 1.127542 0.525394 -0.094211 -v 1.127542 0.458777 -0.066617 -v 1.127542 0.431184 0.000000 -v 1.127542 0.525394 0.094211 -v 1.127542 0.592011 0.066617 -v 1.651829 0.592011 0.066617 -v 1.651829 0.525394 0.094211 -v 1.651829 0.619605 0.000000 -v 1.127542 0.619605 0.000000 -v 1.127542 0.592011 -0.066617 -v 1.651829 0.592011 -0.066617 -v 1.127542 0.458777 0.066617 -v -0.476991 0.837264 -0.291860 -v -0.476991 0.714942 -0.357372 -v -0.476991 0.735289 -0.413137 -v -0.476991 0.879137 -0.353553 -v -0.476991 0.879137 0.353553 -v -0.476991 0.953734 0.173461 -v -0.603601 0.879137 0.353553 -v 0.899442 0.735289 0.413137 -v -0.603601 0.879137 -0.353553 -v -0.724548 0.869896 -0.337068 -v 1.044523 0.655732 0.446091 -v -0.476991 0.953734 -0.173461 -v -0.476991 0.735289 0.413137 -v -0.388078 0.655494 0.446189 -v -0.603601 0.655322 0.446261 -v -0.388078 0.655494 -0.446189 -v -0.603601 0.658327 -0.445016 -v 0.810528 0.655494 0.446189 -v -0.603601 0.525584 0.500000 -v 1.651829 0.458777 0.066617 -v -0.388078 0.633076 0.392654 -v -0.476991 0.714942 0.357372 -v -0.476991 0.837264 0.291860 -v -0.388078 0.944133 0.101577 -v -0.388078 0.944133 -0.101577 -v 0.810528 0.952228 -0.101577 -v 1.657500 0.212644 0.000000 -v 1.651829 0.694968 0.000000 -v -0.476991 0.926475 0.173461 -v 0.899442 0.843292 -0.316901 -v 0.899442 0.918248 -0.161081 -v 0.899442 0.953734 -0.173461 -v 0.899442 0.719760 -0.368080 -v 0.810528 0.655494 -0.378684 -v 0.810528 0.655494 0.378684 -v -0.388078 0.633076 -0.392654 -v 1.669294 0.123673 0.000000 -v 1.669294 0.165715 0.000000 -v 0.985768 0.843292 -0.316901 -v 0.968182 0.918248 -0.161081 -v 0.969099 0.952228 -0.101577 -v 0.988155 0.719760 -0.368080 -v 1.475712 -0.061125 -0.000000 -v 1.423236 0.225256 0.000000 -v 0.984259 0.655494 -0.391440 -v 0.984259 0.528318 -0.436781 -v 0.984259 0.228435 -0.325032 -v 0.984259 0.095638 0.005025 -v 0.984259 0.228435 0.325032 -v 0.984259 0.528318 0.436781 -v 0.984259 0.655494 0.391440 -v 1.103664 0.025584 0.000000 -v -0.534084 0.903408 0.173461 -v -0.534084 0.903408 -0.173461 -v -0.476991 0.926475 -0.173461 -v -0.548068 0.837264 0.291860 -v -0.551352 0.714942 0.357372 -v -0.550334 0.633076 0.392654 -v -0.548068 0.837264 -0.291860 -v -0.551352 0.714942 -0.357372 -v -0.550334 0.633076 -0.392654 -v 1.292985 0.025584 0.000000 -v -0.550334 0.529772 0.433593 -v -0.550334 0.236472 0.339820 -v -0.550334 0.062663 0.005342 -v -0.550334 0.236472 -0.339820 -v -0.550334 0.529772 -0.433593 -v -0.388078 0.540720 0.422003 -v -0.388078 0.540720 -0.422003 -v 0.810528 0.526819 -0.419828 -v 0.810528 0.526819 0.419828 -v -0.388078 0.088709 0.007100 -v -0.388078 0.229035 -0.323350 -v -0.388078 0.229035 0.323350 -v 0.810528 0.240010 -0.300109 -v 0.810528 0.100279 0.006216 -v 0.810528 0.240010 0.300109 -v -0.460212 0.500178 0.489476 -v -0.460212 0.155552 0.465195 -v -0.460212 0.458293 0.590595 -v 0.641563 0.500178 0.489476 -v 0.674042 0.500178 0.489476 -v 0.951045 0.500178 0.489476 -v 0.951045 0.458293 0.590595 -v 0.674638 0.458293 0.590595 -v 0.676644 0.321964 0.818654 -v 0.948697 0.323297 0.818799 -v 0.951045 0.155552 0.465195 -v 0.678557 0.155552 0.465195 -v 0.649846 0.155552 0.465195 -v -0.059018 0.088623 0.724480 -v -0.004002 0.088898 0.724510 -v -0.004015 0.318594 0.818287 -v -0.060217 0.318313 0.818256 -v 0.645678 0.092117 0.724860 -v 0.346592 0.090651 0.724701 -v 0.275455 0.090295 0.724662 -v 0.190590 0.089871 0.724616 -v 0.128016 0.089558 0.724582 -v 0.053442 0.089185 0.724541 -v 0.949896 0.093608 0.725023 -v 0.051715 0.318872 0.818317 -v 0.044163 0.311789 0.796066 -v 0.045414 0.108104 0.712906 -v 0.127999 0.319254 0.818359 -v 0.188876 0.319558 0.818392 -v 0.137105 0.309206 0.794886 -v 0.180025 0.309468 0.794915 -v 0.273733 0.319982 0.818438 -v 0.346589 0.320346 0.818478 -v 0.285150 0.311362 0.795548 -v 0.335438 0.311680 0.795582 -v 0.643209 0.321800 0.818636 -v 0.137117 0.111516 0.714176 -v 0.181234 0.111785 0.714205 -v 0.286340 0.110829 0.713675 -v 0.335441 0.111139 0.713708 -v 0.003776 0.311542 0.796039 -v 0.003785 0.107850 0.712878 -v 0.671568 0.425284 0.596467 -v 0.673140 0.318430 0.775219 -v 0.641987 0.458293 0.590595 -v 0.648869 0.138277 0.701704 -v 0.646934 0.318302 0.775205 -v 0.678212 0.092276 0.724878 -v 0.674369 0.138402 0.701718 -v 0.645976 0.425284 0.596467 -v 0.645644 0.458113 0.517211 -v 0.671101 0.458113 0.517211 -v 0.652136 0.187997 0.498180 -v 0.674639 0.187997 0.498180 -v 1.292985 0.172030 0.353553 -v 1.103664 0.879137 -0.353553 -v -0.460212 0.197436 -0.364077 -v 0.951045 0.197436 -0.364077 -v 1.286814 0.145459 0.380125 -v 1.320923 0.099829 0.425755 -v -0.460212 0.500178 -0.489476 -v -0.460212 0.458293 -0.590595 -v -0.460212 0.155552 -0.465195 -v 0.951045 0.500178 -0.489476 -v 0.674042 0.500178 -0.489476 -v 0.641563 0.500178 -0.489476 -v 0.951045 0.458293 -0.590595 -v 0.948697 0.323297 -0.818799 -v 0.676644 0.321964 -0.818654 -v 0.674638 0.458293 -0.590595 -v 0.951045 0.155552 -0.465195 -v 0.649846 0.155552 -0.465195 -v 0.678557 0.155552 -0.465195 -v -0.059018 0.088623 -0.724480 -v -0.060217 0.318313 -0.818256 -v -0.004015 0.318594 -0.818287 -v -0.004002 0.088898 -0.724510 -v 0.053442 0.089185 -0.724541 -v 0.128016 0.089558 -0.724582 -v 0.190590 0.089871 -0.724616 -v 0.275455 0.090295 -0.724662 -v 0.346592 0.090651 -0.724701 -v 0.645678 0.092117 -0.724860 -v 0.949896 0.093608 -0.725023 -v 0.045414 0.108104 -0.712906 -v 0.044163 0.311789 -0.796066 -v 0.051715 0.318872 -0.818317 -v 0.127999 0.319254 -0.818359 -v 0.188876 0.319558 -0.818392 -v 0.180025 0.309468 -0.794915 -v 0.137105 0.309206 -0.794886 -v 0.273733 0.319982 -0.818438 -v 0.346589 0.320346 -0.818478 -v 0.335438 0.311680 -0.795582 -v 0.285150 0.311362 -0.795548 -v 0.643209 0.321800 -0.818636 -v 0.181234 0.111785 -0.714205 -v 0.137117 0.111516 -0.714176 -v 0.335441 0.111139 -0.713708 -v 0.286340 0.110829 -0.713675 -v 0.003776 0.311542 -0.796039 -v 0.003785 0.107850 -0.712878 -v 0.673140 0.318430 -0.775219 -v 0.671568 0.425284 -0.596467 -v 0.641987 0.458293 -0.590595 -v 0.646934 0.318302 -0.775205 -v 0.648869 0.138277 -0.701704 -v 0.678212 0.092276 -0.724878 -v 0.674369 0.138402 -0.701718 -v 0.645644 0.458113 -0.517211 -v 0.645976 0.425284 -0.596467 -v 0.671101 0.458113 -0.517211 -v 0.674639 0.187997 -0.498180 -v 0.652136 0.187997 -0.498180 -v -0.724548 0.532825 -0.476687 -v -0.724548 0.195753 -0.337068 -v -0.724548 0.056134 0.000004 -v -0.724548 0.195753 0.337075 -v -0.724548 0.532825 0.476694 -v -0.724548 0.869896 0.337075 -v -0.724548 1.009515 0.000004 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.875000 0.500000 -vt 0.500000 0.500000 -vt 0.500000 1.000000 -vt 0.375000 1.000000 -vt 0.375000 0.500000 -vt 0.250000 1.000000 -vt 0.250000 0.500000 -vt 0.250000 1.000000 -vt 0.125000 1.000000 -vt 0.125000 1.000000 -vt 0.250000 1.000000 -vt 0.375000 0.500000 -vt 0.500000 0.500000 -vt 0.000000 1.000000 -vt 0.125000 1.000000 -vt 0.125000 1.000000 -vt 0.000000 1.000000 -vt 0.500000 1.000000 -vt 0.375000 1.000000 -vt 0.750000 1.000000 -vt 0.625000 1.000000 -vt 0.625000 1.000000 -vt 0.750000 1.000000 -vt 0.375000 1.000000 -vt 0.375000 1.000000 -vt 0.500000 1.000000 -vt 0.500000 1.000000 -vt 0.375000 1.000000 -vt 0.875000 1.000000 -vt 1.000000 1.000000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.000000 1.000000 -vt 0.125000 1.000000 -vt 0.000000 1.000000 -vt 0.250000 1.000000 -vt 0.625000 1.000000 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.875000 0.500000 -vt 0.750000 0.500000 -vt 0.750000 1.000000 -vt 0.625000 1.000000 -vt 0.625000 0.500000 -vt 0.625000 1.000000 -vt 0.625000 0.500000 -vt 0.311328 0.973144 -vt 0.273600 0.943506 -vt 0.273532 1.000000 -vt 0.375000 1.000000 -vt 0.375000 0.973144 -vt 0.500000 1.000000 -vt 0.625000 1.000000 -vt 0.500000 1.000000 -vt 0.074142 0.973144 -vt 0.045930 0.943506 -vt 0.045816 1.000000 -vt 0.125000 1.000000 -vt 0.125000 0.973144 -vt 0.250000 1.000000 -vt 0.125000 1.000000 -vt 0.125000 1.000000 -vt 0.226500 1.000000 -vt 0.250000 1.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 1.000000 -vt 0.000000 1.000000 -vt 0.045816 1.000000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.375000 1.000000 -vt 0.273532 1.000000 -vt 0.375000 1.000000 -vt 0.580294 0.419706 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.990000 0.250000 -vt 0.919706 0.080294 -vt 0.750000 0.010000 -vt 0.580294 0.080294 -vt 0.510000 0.250000 -vt 0.625000 0.500000 -vt 0.625000 0.500000 -vt 0.419706 0.419706 -vt 0.250000 0.490000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.226429 0.500000 -vt 0.250000 0.500000 -vt 0.226400 0.943506 -vt 0.226400 0.560020 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.273568 0.500000 -vt 0.273600 0.560020 -vt 0.273600 0.943506 -vt 0.250000 1.000000 -vt 0.375000 1.000000 -vt 0.250000 1.000000 -vt 0.875000 1.000000 -vt 1.000000 1.000000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 1.000000 -vt 0.125000 1.000000 -vt 0.750000 1.000000 -vt 0.750000 1.000000 -vt 0.500000 1.000000 -vt 0.375000 1.000000 -vt 0.500000 1.000000 -vt 0.875000 1.000000 -vt 1.000000 1.000000 -vt 0.500000 1.000000 -vt 0.000000 1.000000 -vt 0.125000 1.000000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.250000 1.000000 -vt 0.625000 1.000000 -vt 0.875000 1.000000 -vt 1.000000 1.000000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.125000 1.000000 -vt 0.000000 1.000000 -vt 0.250000 1.000000 -vt 0.500000 1.000000 -vt 0.375000 1.000000 -vt 0.625000 1.000000 -vt 0.125000 1.000000 -vt 0.250000 1.000000 -vt 0.250000 1.000000 -vt 0.125000 1.000000 -vt 0.500000 1.000000 -vt 0.375000 1.000000 -vt 0.000000 1.000000 -vt 0.375000 1.000000 -vt 0.500000 1.000000 -vt 0.500000 1.000000 -vt 0.375000 1.000000 -vt 0.000000 1.000000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.625000 1.000000 -vt 0.625000 1.000000 -vt 0.125000 1.000000 -vt 0.000000 1.000000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.625000 1.000000 -vt 0.000000 1.000000 -vt 0.125000 1.000000 -vt 0.125000 1.000000 -vt 0.000000 1.000000 -vt 0.250000 1.000000 -vt 0.375000 1.000000 -vt 0.250000 1.000000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.625000 1.000000 -vt 0.500000 1.000000 -vt 0.750000 1.000000 -vt 0.750000 1.000000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.625000 1.000000 -vt 0.500000 1.000000 -vt 0.375000 1.000000 -vt 1.000000 0.728416 -vt 1.000000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 0.728416 -vt 0.750000 0.500000 -vt 0.750000 0.728416 -vt 0.500000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.728416 -vt 0.500000 0.728416 -vt 0.250000 0.728416 -vt 0.250000 0.500000 -vt 0.125000 0.500000 -vt 0.125000 0.728416 -vt 0.000000 0.500000 -vt 0.000000 0.728416 -vt 0.990000 0.250000 -vt 0.919706 0.419706 -vt 0.750000 0.490000 -vt 0.580294 0.419706 -vt 0.510000 0.250000 -vt 0.580294 0.080294 -vt 0.750000 0.010000 -vt 0.919706 0.080294 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.074142 0.530382 -vt 0.125000 0.530382 -vt 0.454131 0.500000 -vt 0.125000 0.500000 -vt 0.425858 0.530382 -vt 0.454070 0.560020 -vt 0.311328 0.973144 -vt 0.375000 0.973144 -vt 0.125000 0.500000 -vt 0.125000 0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.500000 -vt 0.046932 0.500000 -vt 0.125000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 1.000000 -vt 0.273568 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.250000 0.500000 -vt 0.454070 0.943506 -vt 0.453986 1.000000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.045930 0.560020 -vt 0.344657 0.155611 -vt 0.383755 0.250000 -vt 0.490000 0.250000 -vt 0.419706 0.080294 -vt 1.000000 0.728416 -vt 0.875000 0.728416 -vt 0.875000 0.500000 -vt 1.000000 0.500000 -vt 0.074142 0.530382 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.125000 0.530382 -vt 0.226400 0.560020 -vt 0.000000 0.000000 -vt 0.226400 0.943506 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.750000 1.000000 -vt 0.875000 1.000000 -vt 0.875000 1.000000 -vt 0.125000 1.000000 -vt 0.125000 1.000000 -vt 0.250000 1.000000 -vt 0.188672 0.530382 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.074142 0.973144 -vt 0.000000 0.000000 -vt 0.750000 1.000000 -vt 0.045930 0.943506 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.045930 0.560020 -vt 0.000000 0.000000 -vt 0.750000 1.000000 -vt 0.750000 1.000000 -vt 0.875000 1.000000 -vt 0.875000 1.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.625000 1.000000 -vt 0.625000 1.000000 -vt 0.750000 1.000000 -vt 0.625000 1.000000 -vt 0.625000 1.000000 -vt 0.750000 1.000000 -vt 0.375000 1.000000 -vt 0.375000 1.000000 -vt 0.500000 1.000000 -vt 0.500000 1.000000 -vt 0.875000 1.000000 -vt 0.875000 1.000000 -vt 0.000000 0.000000 -vt 0.625000 1.000000 -vt 0.625000 1.000000 -vt 0.625000 1.000000 -vt 0.750000 0.490000 -vt 0.250000 0.490000 -vt 0.419706 0.419706 -vt 0.919706 0.419706 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.875000 1.000000 -vt 1.000000 1.000000 -vt 1.000000 1.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.875000 0.500000 -vt 0.875000 0.500000 -vt 0.750000 0.500000 -vt 0.750000 0.500000 -vt 0.125000 1.000000 -vt 0.125000 1.000000 -vt 0.250000 0.500000 -vt 0.125000 0.500000 -vt 0.125000 0.500000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.750000 1.000000 -vt 0.125000 1.000000 -vt 0.125000 1.000000 -vt 0.625000 1.000000 -vt 0.625000 1.000000 -vt 0.750000 1.000000 -vt 0.344657 0.155611 -vt 0.419706 0.080294 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.919706 0.419706 -vt 0.750000 0.490000 -vt 0.000000 0.500000 -vt 0.000000 0.890352 -vt 0.000000 0.901860 -vt 0.000000 1.000000 -vt 0.500000 1.000000 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.000000 1.000000 -vt 0.000000 0.902071 -vt 0.000000 0.866263 -vt 0.000000 1.000000 -vt 0.625000 1.000000 -vt 0.625000 0.903459 -vt 0.625000 0.893287 -vt 0.625000 0.500000 -vt 0.625000 0.500000 -vt 0.625000 0.527590 -vt 0.500000 0.528185 -vt 0.500000 0.500000 -vt 0.625000 0.850445 -vt 0.625000 0.703414 -vt 0.625000 0.667738 -vt 0.625000 0.625178 -vt 0.625000 0.593798 -vt 0.625000 0.556398 -vt 0.919706 0.419706 -vt 0.750000 0.490000 -vt 0.500000 0.556134 -vt 0.500000 0.556134 -vt 0.625000 0.556398 -vt 0.500000 0.594391 -vt 0.000000 0.624920 -vt 0.000000 0.594391 -vt 0.000000 0.594391 -vt 0.000000 0.624920 -vt 0.500000 0.624920 -vt 0.500000 0.667476 -vt 0.000000 0.704013 -vt 0.000000 0.667476 -vt 0.000000 0.667476 -vt 0.000000 0.704013 -vt 0.500000 0.704013 -vt 0.500000 0.849827 -vt 0.500000 0.594391 -vt 0.625000 0.593798 -vt 0.625000 0.625178 -vt 0.500000 0.624920 -vt 0.500000 0.667476 -vt 0.625000 0.667738 -vt 0.625000 0.703414 -vt 0.500000 0.704013 -vt 0.500000 0.528185 -vt 0.625000 0.527590 -vt 0.000000 0.556134 -vt 0.000000 0.528185 -vt 0.000000 0.528185 -vt 0.000000 0.556134 -vt 0.000000 0.902071 -vt 0.000000 0.866263 -vt 0.000000 0.849827 -vt 0.000000 0.890503 -vt 0.000000 0.500000 -vt 0.000000 0.500000 -vt 0.625000 0.850445 -vt 0.500000 0.849827 -vt 0.625000 0.866439 -vt 0.500000 0.866263 -vt 0.500000 0.866263 -vt 0.625000 0.866439 -vt 0.625000 1.000000 -vt 0.500000 1.000000 -vt 0.000000 0.890503 -vt 0.000000 0.890352 -vt 0.000000 0.849827 -vt 0.000000 0.901860 -vt 0.625000 0.893287 -vt 0.625000 0.903459 -vt 1.000000 0.500000 -vt 0.875000 1.000000 -vt 1.000000 1.000000 -vt 0.500000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 1.000000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.375000 0.500000 -vt 1.000000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 1.000000 -vt 1.000000 1.000000 -vt 0.625000 0.500000 -vt 0.625000 0.500000 -vt 0.625000 1.000000 -vt 0.625000 1.000000 -vt 0.625000 1.000000 -vt 0.500000 1.000000 -vt 0.500000 1.000000 -vt 0.500000 1.000000 -vt 0.625000 0.500000 -vt 0.625000 0.500000 -vt 0.875000 1.000000 -vt 0.875000 1.000000 -vt 1.000000 1.000000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 1.000000 1.000000 -vt 0.125000 1.000000 -vt 0.125000 1.000000 -vt 0.125000 1.000000 -vt 0.125000 0.728416 -vt 0.125000 0.500000 -vt 0.188672 0.530382 -vt 0.625000 1.000000 -vt 0.875000 0.500000 -vt 0.125000 0.500000 -vt 0.125000 0.500000 -vt 0.750000 0.490000 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.919706 0.419706 -vt 0.000000 1.000000 -vt 0.000000 0.901860 -vt 0.000000 0.890352 -vt 0.000000 0.500000 -vt 0.000000 0.500000 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.000000 1.000000 -vt 0.000000 1.000000 -vt 0.000000 0.866263 -vt 0.000000 0.902071 -vt 0.500000 1.000000 -vt 0.625000 0.500000 -vt 0.625000 0.893287 -vt 0.625000 0.903459 -vt 0.625000 0.500000 -vt 0.500000 0.500000 -vt 0.500000 0.528185 -vt 0.625000 0.527590 -vt 0.625000 0.556398 -vt 0.625000 0.593798 -vt 0.625000 0.625178 -vt 0.625000 0.667738 -vt 0.625000 0.703414 -vt 0.625000 0.850445 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.625000 0.556398 -vt 0.500000 0.556134 -vt 0.500000 0.556134 -vt 0.500000 0.594391 -vt 0.000000 0.624920 -vt 0.000000 0.624920 -vt 0.000000 0.594391 -vt 0.000000 0.594391 -vt 0.500000 0.624920 -vt 0.500000 0.667476 -vt 0.000000 0.704013 -vt 0.000000 0.704013 -vt 0.000000 0.667476 -vt 0.000000 0.667476 -vt 0.500000 0.704013 -vt 0.500000 0.849827 -vt 0.500000 0.594391 -vt 0.500000 0.624920 -vt 0.625000 0.625178 -vt 0.625000 0.593798 -vt 0.500000 0.667476 -vt 0.500000 0.704013 -vt 0.625000 0.703414 -vt 0.625000 0.667738 -vt 0.500000 0.528185 -vt 0.625000 0.527590 -vt 0.000000 0.556134 -vt 0.000000 0.556134 -vt 0.000000 0.528185 -vt 0.000000 0.528185 -vt 0.000000 0.866263 -vt 0.000000 0.902071 -vt 0.000000 0.849827 -vt 0.000000 0.500000 -vt 0.000000 0.500000 -vt 0.000000 0.890503 -vt 0.500000 0.849827 -vt 0.625000 0.850445 -vt 0.625000 0.866439 -vt 0.625000 0.866439 -vt 0.500000 0.866263 -vt 0.500000 0.866263 -vt 0.000000 0.890352 -vt 0.000000 0.890503 -vt 0.000000 0.849827 -vt 0.000000 0.901860 -vt 0.625000 0.903459 -vt 0.625000 0.893287 -vt 0.580294 0.080294 -vt 0.750000 0.010000 -vt 0.919706 0.080294 -vt 0.990000 0.250000 -vt 0.919706 0.419706 -vt 0.750000 0.490000 -vt 0.580294 0.419706 -vt 0.510000 0.250000 -vt 0.750000 0.500000 -vt 0.625000 0.500000 -vt 0.226429 0.500000 -vt 0.273600 0.560020 -vt 0.311328 0.530382 -vt 0.375000 0.530382 -vt 0.625000 0.500000 -vt 0.875000 0.500000 -vt 1.000000 0.500000 -vt 0.500000 0.500000 -vt 0.125000 0.500000 -vt 0.125000 0.973144 -vt 0.116782 0.250000 -vt 0.010000 0.250000 -vt 0.080294 0.080294 -vt 0.155879 0.155611 -vt 0.155879 0.155611 -vt 0.080294 0.080294 -vt 0.250268 0.116514 -vt 0.250000 0.010000 -vt 0.250268 0.116514 -vt 0.250000 0.010000 -vt 0.250000 0.490000 -vt 0.250268 0.383486 -vt 0.155879 0.344389 -vt 0.080294 0.419706 +v 1.103664 0.525584 2.500000 +v 1.292985 0.525584 2.500000 +v 1.292985 0.172030 2.646447 +v 1.103664 0.172030 2.646447 +v 1.103664 0.525584 3.500000 +v 1.292985 0.525584 3.500000 +v 1.292985 0.879137 3.353553 +v 1.103664 0.879137 3.353553 +v 1.292985 1.025584 3.000000 +v 1.103664 1.025584 3.000000 +v 1.503651 1.012795 3.000000 +v 1.503651 0.870094 2.655490 +v 1.509822 0.895986 2.629598 +v 1.509822 1.049411 3.000000 +v 1.080568 0.851567 3.325983 +v 1.080568 0.525584 3.461010 +v 1.292985 0.879137 2.646447 +v 1.286814 0.905708 2.619875 +v 1.286814 0.525584 2.462423 +v 1.286814 0.525584 3.537577 +v 1.286814 0.905708 3.380125 +v 1.503651 0.038372 3.000000 +v 1.503651 0.181073 3.344510 +v 1.509822 0.155181 3.370402 +v 1.509822 0.001756 3.000000 +v 1.503651 0.870094 3.344510 +v 1.509822 0.895986 3.370402 +v 1.503651 0.525584 3.487211 +v 1.669294 0.525584 3.401911 +v 1.669294 0.809777 3.284194 +v 1.503651 0.181073 2.655490 +v 1.503651 0.525584 2.512789 +v 1.669294 0.525584 2.598089 +v 1.669294 0.241390 2.715806 +v 1.669294 0.809777 2.715806 +v 1.669294 0.927494 3.000000 +v 1.669294 0.241390 3.284194 +v -0.603601 0.525584 2.500000 +v 1.044523 0.525584 2.500000 +v 1.044523 0.172030 2.646447 +v -0.603601 0.172030 2.646447 +v -0.603601 0.025584 3.000000 +v 1.044523 0.025584 3.000000 +v 1.044523 0.172030 3.353553 +v -0.603601 0.172030 3.353553 +v 0.951045 0.197436 3.364077 +v -0.460212 0.197436 3.364077 +v 1.044523 0.879137 3.353553 +v 0.899442 0.953734 3.173461 +v 0.899442 0.879137 3.353553 +v 1.044523 0.525584 3.500000 +v 1.068921 0.199748 3.325836 +v 1.068921 0.525584 3.460801 +v 1.044523 0.879137 2.646447 +v 0.899442 0.735289 2.586863 +v 0.899442 0.879137 2.646447 +v 1.068921 0.986385 3.000000 +v 1.068921 0.851420 2.674164 +v 1.044523 1.025584 3.000000 +v 0.985768 0.843292 3.316901 +v 0.899442 0.843292 3.316901 +v 0.899442 0.918248 3.161081 +v 1.068921 0.525584 2.539199 +v 1.068921 0.199748 2.674164 +v 1.068921 0.851420 3.325836 +v 1.080568 0.851567 2.674017 +v 1.080568 0.525584 2.538990 +v 1.080568 0.199600 2.674017 +v 1.080568 0.064574 3.000000 +v 1.080568 0.199600 3.325983 +v 1.080568 0.986594 3.000000 +v 1.103664 0.172030 3.353553 +v 1.068921 0.064782 3.000000 +v -0.603601 1.025584 3.000000 +v 0.810528 0.997935 2.898423 +v -0.388078 0.997935 2.898423 +v 0.810528 0.952228 3.101577 +v 0.969099 0.952228 3.101577 +v 0.899442 0.719760 3.368080 +v 0.810528 0.997935 3.101577 +v -0.388078 0.997935 3.101577 +v 0.810528 0.655494 2.553811 +v 1.286814 1.063161 3.000000 +v 1.320923 0.951339 3.425755 +v 1.320923 1.127692 3.000000 +v 1.286814 0.145459 2.619875 +v 1.320923 0.525584 2.397891 +v 1.320923 0.099829 2.574245 +v 1.509822 0.525584 2.476172 +v 1.475712 0.525584 2.413292 +v 1.475712 0.940449 2.585135 +v 1.286814 -0.011994 3.000000 +v 1.320923 -0.076525 3.000000 +v 1.509822 0.525584 3.523828 +v 1.475712 0.940449 3.414865 +v 1.475712 0.525584 3.586708 +v 1.509822 0.155181 2.629598 +v 1.320923 0.525584 3.602109 +v 1.320923 0.951339 2.574245 +v 1.475712 0.110718 2.585134 +v 1.475712 1.112292 3.000000 +v 1.475712 0.110718 3.414866 +v 1.669294 0.271118 2.745534 +v 1.669294 0.525584 2.640131 +v 1.423236 0.525584 2.699672 +v 1.423236 0.313220 2.787636 +v 1.669294 0.780049 2.745534 +v 1.669294 0.885452 3.000000 +v 1.669294 0.525584 3.359869 +v 1.669294 0.780049 3.254466 +v 1.669294 0.271118 3.254466 +v 1.423236 0.737947 2.787636 +v 1.423236 0.825911 3.000000 +v 1.657500 0.838523 3.000000 +v 1.657500 0.746865 2.778719 +v 1.423236 0.525584 3.300328 +v 1.423236 0.737947 3.212364 +v 1.657500 0.746865 3.221281 +v 1.657500 0.525584 3.312939 +v 1.657500 0.525584 3.252281 +v 1.657500 0.703973 3.178389 +v 1.657500 0.525584 2.687061 +v 1.657500 0.304302 2.778718 +v 1.423236 0.313220 3.212364 +v 1.657500 0.304302 3.221282 +v 1.657500 0.703973 2.821611 +v 1.657500 0.525584 2.747719 +v 1.657500 0.347194 2.821611 +v 1.657500 0.347194 3.178389 +v 1.432520 0.525584 2.830615 +v 1.432520 0.645357 2.880227 +v 1.651829 0.645357 2.880227 +v 1.651829 0.525584 2.830615 +v 1.657500 0.777864 3.000000 +v 1.432520 0.645357 3.119773 +v 1.432520 0.694968 3.000000 +v 1.432520 0.405810 2.880227 +v 1.432520 0.405810 3.119773 +v 1.432520 0.525584 3.169385 +v 1.657500 0.273303 3.000000 +v 1.432520 0.356199 3.000000 +v 1.651829 0.431184 3.000000 +v 1.651829 0.356199 3.000000 +v 1.651829 0.405810 2.880227 +v 1.651829 0.525394 2.905789 +v 1.651829 0.458777 2.933383 +v 1.651829 0.405810 3.119773 +v 1.651829 0.525584 3.169385 +v 1.651829 0.645357 3.119773 +v 1.127542 0.525394 2.905789 +v 1.127542 0.458777 2.933383 +v 1.127542 0.431184 3.000000 +v 1.127542 0.525394 3.094211 +v 1.127542 0.592011 3.066617 +v 1.651829 0.592011 3.066617 +v 1.651829 0.525394 3.094211 +v 1.651829 0.619605 3.000000 +v 1.127542 0.619605 3.000000 +v 1.127542 0.592011 2.933383 +v 1.651829 0.592011 2.933383 +v 1.127542 0.458777 3.066617 +v -0.476991 0.837264 2.708140 +v -0.476991 0.714942 2.642628 +v -0.476991 0.735289 2.586863 +v -0.476991 0.879137 2.646447 +v -0.476991 0.879137 3.353553 +v -0.476991 0.953734 3.173461 +v -0.603601 0.879137 3.353553 +v 0.899442 0.735289 3.413137 +v -0.603601 0.879137 2.646447 +v -0.724548 0.869896 2.662932 +v -0.476991 0.953734 2.826539 +v -0.476991 0.735289 3.413137 +v -0.388078 0.655494 3.446189 +v -0.388078 0.655494 2.553811 +v 0.810528 0.655494 3.446189 +v -0.603601 0.525584 3.500000 +v 1.651829 0.458777 3.066617 +v -0.388078 0.633076 3.392654 +v -0.476991 0.714942 3.357372 +v -0.476991 0.837264 3.291860 +v -0.388078 0.944133 3.101577 +v -0.388078 0.944133 2.898423 +v 0.810528 0.952228 2.898423 +v 1.657500 0.212644 3.000000 +v 1.651829 0.694968 3.000000 +v -0.476991 0.926475 3.173461 +v 0.899442 0.843292 2.683099 +v 0.899442 0.918248 2.838919 +v 0.899442 0.953734 2.826539 +v 0.899442 0.719760 2.631920 +v 0.810528 0.655494 2.621316 +v 0.810528 0.655494 3.378684 +v -0.388078 0.633076 2.607346 +v 1.669294 0.123673 3.000000 +v 1.669294 0.165715 3.000000 +v 0.985768 0.843292 2.683099 +v 0.969099 0.952228 2.898423 +v 1.475712 -0.061125 3.000000 +v 1.423236 0.225256 3.000000 +v 0.984259 0.528318 2.563219 +v 0.984259 0.228435 2.674968 +v 0.984259 0.095638 3.005025 +v 0.984259 0.228435 3.325032 +v 0.984259 0.528318 3.436781 +v 1.103664 0.025584 3.000000 +v -0.534084 0.903408 3.173461 +v -0.534084 0.903408 2.826539 +v -0.476991 0.926475 2.826539 +v -0.548068 0.837264 3.291860 +v -0.548068 0.837264 2.708140 +v 1.292985 0.025584 3.000000 +v -0.550334 0.529772 3.433593 +v -0.550334 0.236472 3.339820 +v -0.550334 0.062663 3.005342 +v -0.550334 0.236472 2.660180 +v -0.550334 0.529772 2.566407 +v -0.388078 0.540720 3.422003 +v -0.388078 0.540720 2.577997 +v 0.810528 0.526819 2.580172 +v 0.810528 0.526819 3.419828 +v -0.388078 0.088709 3.007100 +v -0.388078 0.229035 2.676650 +v -0.388078 0.229035 3.323350 +v 0.810528 0.240010 2.699891 +v 0.810528 0.100279 3.006216 +v 0.810528 0.240010 3.300109 +v -0.460212 0.500178 3.489476 +v 0.678212 0.092276 2.275122 +v 0.648869 0.138277 2.298296 +v 0.951045 0.500178 3.489476 +v 0.646934 0.318302 2.224795 +v 0.641987 0.458293 2.409405 +v 0.671568 0.425284 2.403533 +v 0.673140 0.318430 2.224781 +v 0.003785 0.107850 2.287122 +v 0.003776 0.311542 2.203961 +v 0.286340 0.110829 2.286325 +v 0.335441 0.111139 2.286292 +v 0.137117 0.111516 2.285824 +v 0.181234 0.111785 2.285795 +v 0.643209 0.321800 2.181364 +v 0.285150 0.311362 2.204452 +v 0.335438 0.311680 2.204418 +v 0.346589 0.320346 2.181522 +v 0.273733 0.319982 2.181562 +v 0.137105 0.309206 2.205114 +v 0.180025 0.309468 2.205085 +v 0.188876 0.319558 2.181608 +v 0.127999 0.319254 2.181641 +v 0.051715 0.318872 2.181683 +v 0.044163 0.311789 2.203934 +v 0.045414 0.108104 2.287094 +v 0.949896 0.093608 2.274977 +v 0.645678 0.092117 2.275140 +v 0.346592 0.090651 2.275299 +v 0.275455 0.090295 2.275338 +v 0.190590 0.089871 2.275384 +v 0.128016 0.089558 2.275418 +v 0.053442 0.089185 2.275459 +v -0.004002 0.088898 2.275490 +v -0.004015 0.318594 2.181713 +v -0.060217 0.318313 2.181744 +v -0.059018 0.088623 2.275520 +v 0.678557 0.155552 2.534805 +v 0.649846 0.155552 2.534805 +v 0.951045 0.155552 2.534805 +v 0.674638 0.458293 2.409405 +v 0.676644 0.321964 2.181346 +v 0.948697 0.323297 2.181201 +v 0.951045 0.458293 2.409405 +v 0.641563 0.500178 2.510524 +v 0.674042 0.500178 2.510524 +v 0.951045 0.500178 2.510524 +v -0.460212 0.155552 2.534805 +v -0.460212 0.458293 2.409405 +v -0.460212 0.500178 2.510524 +v 0.951045 0.197436 2.635923 +v -0.460212 0.197436 2.635923 +v 1.292985 0.172030 3.353553 +v 1.103664 0.879137 2.646447 +v -0.460212 0.197436 2.635923 +v 0.951045 0.197436 2.635923 +v 1.286814 0.145459 3.380125 +v 1.320923 0.099829 3.425755 +v -0.460212 0.500178 2.510524 +v 0.951045 0.500178 2.510524 +v -0.724548 0.532825 2.523313 +v -0.724548 0.195753 2.662932 +v -0.724548 0.056134 3.000004 +v -0.724548 0.195753 3.337075 +v -0.724548 0.532825 3.476694 +v -0.724548 0.869896 3.337075 +v -0.724548 1.009515 3.000004 +v 0.951045 0.197436 3.364077 +v -0.460212 0.197436 3.364077 +v -0.460212 0.500178 3.489476 +v -0.460212 0.155552 3.465195 +v -0.460212 0.458293 3.590595 +v 0.641563 0.500178 3.489476 +v 0.674042 0.500178 3.489476 +v 0.951045 0.500178 3.489476 +v 0.951045 0.458293 3.590595 +v 0.674638 0.458293 3.590595 +v 0.676644 0.321964 3.818654 +v 0.948697 0.323297 3.818799 +v 0.951045 0.155552 3.465195 +v 0.678557 0.155552 3.465195 +v 0.649846 0.155552 3.465195 +v -0.059018 0.088623 3.724480 +v -0.004002 0.088898 3.724510 +v -0.004015 0.318594 3.818287 +v -0.060217 0.318313 3.818256 +v 0.645678 0.092117 3.724860 +v 0.346592 0.090651 3.724701 +v 0.275455 0.090295 3.724662 +v 0.190590 0.089871 3.724616 +v 0.128016 0.089558 3.724582 +v 0.053442 0.089185 3.724541 +v 0.949896 0.093608 3.725023 +v 0.051715 0.318872 3.818317 +v 0.044163 0.311789 3.796066 +v 0.045414 0.108104 3.712906 +v 0.127999 0.319254 3.818359 +v 0.188876 0.319558 3.818392 +v 0.137105 0.309206 3.794886 +v 0.180025 0.309468 3.794915 +v 0.273733 0.319982 3.818438 +v 0.346589 0.320346 3.818478 +v 0.285150 0.311362 3.795548 +v 0.335438 0.311680 3.795582 +v 0.643209 0.321800 3.818636 +v 0.137117 0.111516 3.714176 +v 0.181234 0.111785 3.714205 +v 0.286340 0.110829 3.713675 +v 0.335441 0.111139 3.713708 +v 0.003776 0.311542 3.796039 +v 0.003785 0.107850 3.712878 +v 0.671568 0.425284 3.596467 +v 0.673140 0.318430 3.775219 +v 0.641987 0.458293 3.590595 +v 0.648869 0.138277 3.701704 +v 0.646934 0.318302 3.775205 +v 0.678212 0.092276 3.724878 +v 0.674369 0.138402 3.701718 +v 0.645976 0.425284 3.596467 +v 0.645644 0.458113 3.517211 +v 0.671101 0.458113 3.517211 +v 0.652136 0.187997 3.498180 +v 0.674639 0.187997 3.498180 +v 0.674369 0.138402 2.298282 +v 0.645644 0.458113 2.482789 +v 0.645976 0.425284 2.403533 +v 0.671101 0.458113 2.482789 +v 0.674639 0.187997 2.501820 +v 0.652136 0.187997 2.501820 +vt 0.444444 0.967260 +vt 0.444444 0.999701 +vt 0.378868 0.999701 +vt 0.378868 0.967260 +vt 0.706744 0.967259 +vt 0.706744 0.999701 +vt 0.641169 0.999701 +vt 0.641169 0.967260 +vt 0.575594 0.999701 +vt 0.575594 0.967260 +vt 0.250824 0.305563 +vt 0.248404 0.241712 +vt 0.254201 0.239089 +vt 0.256804 0.307740 +vt 0.643725 0.959927 +vt 0.704187 0.959927 +vt 0.301657 0.158688 +vt 0.309096 0.223840 +vt 0.303372 0.226973 +vt 0.295374 0.156925 +vt 0.309096 0.399006 +vt 0.301657 0.464157 +vt 0.295374 0.465920 +vt 0.303372 0.395872 +vt 0.207069 0.603722 +vt 0.223821 0.542059 +vt 0.230137 0.541287 +vt 0.212125 0.607583 +vt 0.248403 0.381134 +vt 0.250824 0.317282 +vt 0.256804 0.315106 +vt 0.254201 0.383756 +vt 0.247516 0.392819 +vt 0.240267 0.456304 +vt 0.209672 0.447180 +vt 0.215652 0.394810 +vt 0.226462 0.092204 +vt 0.238498 0.154958 +vt 0.206574 0.155385 +vt 0.196646 0.103618 +vt 0.240267 0.166542 +vt 0.247516 0.230027 +vt 0.215652 0.228035 +vt 0.209672 0.175665 +vt 0.217205 0.374353 +vt 0.219202 0.321681 +vt 0.238498 0.467888 +vt 0.226462 0.530642 +vt 0.196646 0.519228 +vt 0.206574 0.467461 +vt 0.313293 0.285661 +vt 0.315256 0.001710 +vt 0.381187 0.002166 +vt 0.379225 0.286117 +vt 0.385814 0.018304 +vt 0.384134 0.261443 +vt 0.541993 0.266641 +vt 0.555933 0.251561 +vt 0.573731 0.287890 +vt 0.706744 0.950449 +vt 0.772319 0.950449 +vt 0.769748 0.957931 +vt 0.709314 0.957931 +vt 0.675439 0.043014 +vt 0.700338 0.002620 +vt 0.702300 0.286572 +vt 0.678306 0.250613 +vt 0.573023 0.957932 +vt 0.512589 0.957931 +vt 0.510019 0.950449 +vt 0.575594 0.950449 +vt 0.579242 0.518640 +vt 0.567657 0.507006 +vt 0.582693 0.478078 +vt 0.507448 0.957932 +vt 0.447014 0.957931 +vt 0.444444 0.950449 +vt 0.378868 0.950449 +vt 0.441873 0.957932 +vt 0.381439 0.957932 +vt 0.638598 0.957931 +vt 0.578164 0.957931 +vt 0.641169 0.950449 +vt 0.772319 0.967259 +vt 0.709300 0.959927 +vt 0.769762 0.959927 +vt 0.441887 0.959927 +vt 0.381425 0.959928 +vt 0.447000 0.959927 +vt 0.507462 0.959927 +vt 0.643739 0.957931 +vt 0.704173 0.957931 +vt 0.315850 0.959928 +vt 0.315864 0.957932 +vt 0.376298 0.957932 +vt 0.376312 0.959928 +vt 0.662036 0.025151 +vt 0.553298 0.626937 +vt 0.568495 0.615996 +vt 0.583228 0.650081 +vt 0.568261 0.593570 +vt 0.582779 0.593348 +vt 0.637541 0.000299 +vt 0.638364 0.022418 +vt 0.306751 0.316097 +vt 0.304080 0.386550 +vt 0.292159 0.390332 +vt 0.295150 0.311423 +vt 0.280683 0.078442 +vt 0.293963 0.147683 +vt 0.283200 0.154056 +vt 0.268327 0.076503 +vt 0.253643 0.231744 +vt 0.245850 0.163488 +vt 0.256851 0.158081 +vt 0.265580 0.234531 +vt 0.260091 0.001297 +vt 0.278575 0.069334 +vt 0.247624 0.000299 +vt 0.245850 0.459358 +vt 0.253643 0.391101 +vt 0.265580 0.388314 +vt 0.256851 0.464764 +vt 0.231797 0.088736 +vt 0.244737 0.156206 +vt 0.312696 0.318788 +vt 0.310212 0.384316 +vt 0.244737 0.466639 +vt 0.231797 0.534110 +vt 0.287081 0.079724 +vt 0.299432 0.144125 +vt 0.283200 0.468789 +vt 0.292159 0.232513 +vt 0.242358 0.082512 +vt 0.268495 0.311423 +vt 0.242358 0.540334 +vt 0.190629 0.107579 +vt 0.199519 0.153931 +vt 0.156352 0.158234 +vt 0.148933 0.119551 +vt 0.208727 0.226051 +vt 0.203372 0.179159 +vt 0.217205 0.248492 +vt 0.219202 0.301165 +vt 0.212447 0.298662 +vt 0.210659 0.251499 +vt 0.203372 0.443686 +vt 0.208727 0.396794 +vt 0.190629 0.515267 +vt 0.199518 0.468915 +vt 0.167634 0.257037 +vt 0.169126 0.296397 +vt 0.128994 0.298746 +vt 0.127439 0.257734 +vt 0.160890 0.434906 +vt 0.165358 0.395772 +vt 0.212447 0.324183 +vt 0.210659 0.371346 +vt 0.167634 0.365808 +vt 0.169126 0.326448 +vt 0.165358 0.227073 +vt 0.160890 0.187940 +vt 0.125520 0.390391 +vt 0.120864 0.431168 +vt 0.111774 0.426126 +vt 0.115527 0.393253 +vt 0.127439 0.365112 +vt 0.128994 0.324099 +vt 0.125519 0.232455 +vt 0.120864 0.191677 +vt 0.117035 0.166617 +vt 0.109305 0.126309 +vt 0.156352 0.464612 +vt 0.148933 0.503295 +vt 0.109305 0.496537 +vt 0.117035 0.456229 +vt 0.115527 0.229592 +vt 0.111774 0.196719 +vt 0.106855 0.164519 +vt 0.100623 0.132025 +vt 0.100623 0.490821 +vt 0.106855 0.458327 +vt 0.071929 0.206740 +vt 0.074449 0.228811 +vt 0.037112 0.233074 +vt 0.034592 0.211003 +vt 0.119247 0.327710 +vt 0.117994 0.360773 +vt 0.077505 0.353798 +vt 0.078346 0.331599 +vt 0.065836 0.166851 +vt 0.061652 0.145034 +vt 0.061651 0.477812 +vt 0.065836 0.455995 +vt 0.093280 0.522558 +vt 0.084605 0.554487 +vt 0.046731 0.538565 +vt 0.052555 0.517127 +vt 0.071929 0.416106 +vt 0.074449 0.394034 +vt 0.028929 0.173930 +vt 0.024744 0.152113 +vt 0.024744 0.470733 +vt 0.028928 0.448916 +vt 0.034592 0.411843 +vt 0.037112 0.389771 +vt 0.673665 0.673462 +vt 0.583825 0.673463 +vt 0.583825 0.661107 +vt 0.673665 0.661107 +vt 0.583825 0.648751 +vt 0.673665 0.648751 +vt 0.583825 0.722886 +vt 0.583825 0.710530 +vt 0.673665 0.710530 +vt 0.673665 0.722885 +vt 0.673665 0.698174 +vt 0.583825 0.698174 +vt 0.583825 0.685818 +vt 0.673665 0.685818 +vt 0.674263 0.657488 +vt 0.683000 0.648751 +vt 0.695355 0.648751 +vt 0.704092 0.657488 +vt 0.704092 0.669844 +vt 0.695355 0.678581 +vt 0.682999 0.678581 +vt 0.674263 0.669844 +vt 0.003304 0.848715 +vt 0.026872 0.851863 +vt 0.026964 0.862035 +vt 0.000299 0.861133 +vt 0.591528 0.251561 +vt 0.573730 0.006258 +vt 0.592097 0.045324 +vt 0.447123 0.002620 +vt 0.509921 0.000299 +vt 0.509097 0.022418 +vt 0.485425 0.025151 +vt 0.509283 0.287766 +vt 0.508527 0.308267 +vt 0.447395 0.307129 +vt 0.445161 0.286572 +vt 0.638178 0.287766 +vt 0.636248 0.308292 +vt 0.574805 0.308410 +vt 0.664090 0.265938 +vt 0.605468 0.266641 +vt 0.637900 0.266577 +vt 0.003538 0.113914 +vt 0.000299 0.101991 +vt 0.010465 0.094133 +vt 0.016290 0.115571 +vt 0.673665 0.735241 +vt 0.583825 0.735241 +vt 0.026978 0.828506 +vt 0.048218 0.828557 +vt 0.048221 0.838503 +vt 0.026647 0.838672 +vt 0.003011 0.841266 +vt 0.000299 0.828780 +vt 0.051046 0.800371 +vt 0.050910 0.791153 +vt 0.256297 0.789503 +vt 0.256413 0.797334 +vt 0.552466 0.552854 +vt 0.344608 0.554207 +vt 0.343802 0.517193 +vt 0.552492 0.518459 +vt 0.092829 0.560843 +vt 0.103590 0.521237 +vt 0.039952 0.352375 +vt 0.040793 0.330176 +vt 0.031344 0.793088 +vt 0.031275 0.788417 +vt 0.307992 0.821098 +vt 0.302442 0.827908 +vt 0.274466 0.818149 +vt 0.275890 0.811868 +vt 0.512575 0.959927 +vt 0.573037 0.959927 +vt 0.300046 0.855841 +vt 0.274150 0.862262 +vt 0.272670 0.854230 +vt 0.294909 0.848715 +vt 0.304080 0.236296 +vt 0.306751 0.306748 +vt 0.046731 0.084281 +vt 0.052555 0.105719 +vt 0.253531 0.867360 +vt 0.253849 0.855797 +vt 0.256296 0.811837 +vt 0.256412 0.804005 +vt 0.274467 0.783191 +vt 0.275891 0.789471 +vt 0.302443 0.773432 +vt 0.307993 0.780242 +vt 0.272433 0.842081 +vt 0.274101 0.834087 +vt 0.299839 0.841114 +vt 0.294536 0.848117 +vt 0.253607 0.828505 +vt 0.253654 0.840073 +vt 0.048200 0.862482 +vt 0.048437 0.852539 +vt 0.178202 0.590083 +vt 0.172502 0.585678 +vt 0.184876 0.540132 +vt 0.192021 0.539216 +vt 0.553418 0.650133 +vt 0.568459 0.455510 +vt 0.553313 0.444607 +vt 0.583141 0.421546 +vt 0.222184 0.008257 +vt 0.184876 0.082714 +vt 0.142159 0.090273 +vt 0.131832 0.052263 +vt 0.172502 0.037168 +vt 0.010465 0.528712 +vt 0.016290 0.507275 +vt 0.553438 0.421486 +vt 0.579294 0.552649 +vt 0.207069 0.019124 +vt 0.212125 0.015262 +vt 0.230137 0.081559 +vt 0.223821 0.080787 +vt 0.192021 0.083630 +vt 0.178202 0.032763 +vt 0.835337 0.959927 +vt 0.774876 0.959927 +vt 0.774889 0.957931 +vt 0.835324 0.957931 +vt 0.119247 0.295135 +vt 0.117994 0.262072 +vt 0.073156 0.623144 +vt 0.124543 0.642293 +vt 0.147298 0.698850 +vt 0.124543 0.753685 +vt 0.073156 0.772834 +vt 0.019183 0.752292 +vt 0.000299 0.715395 +vt 0.000299 0.680584 +vt 0.019183 0.643686 +vt 0.837894 0.967259 +vt 0.131833 0.570583 +vt 0.142159 0.532572 +vt 0.578150 0.959927 +vt 0.638612 0.959927 +vt 0.316588 0.566360 +vt 0.316135 0.505151 +vt 0.327032 0.505997 +vt 0.327205 0.565445 +vt 0.325199 0.589422 +vt 0.313422 0.589890 +vt 0.325128 0.481936 +vt 0.313293 0.481323 +vt 0.328396 0.458075 +vt 0.318149 0.422764 +vt 0.344931 0.443095 +vt 0.317500 0.648537 +vt 0.328166 0.613272 +vt 0.313293 0.999701 +vt 0.313293 0.967260 +vt 0.266568 0.002090 +vt 0.283760 0.065372 +vt 0.222185 0.614589 +vt 0.103590 0.101609 +vt 0.092829 0.062002 +vt 0.093280 0.100288 +vt 0.084605 0.068358 +vt 0.313293 0.950449 +vt 0.310212 0.238529 +vt 0.312696 0.304057 +vt 0.003538 0.508931 +vt 0.000299 0.520855 +vt 0.280629 0.647431 +vt 0.292214 0.667720 +vt 0.292214 0.727167 +vt 0.280630 0.747455 +vt 0.227938 0.771742 +vt 0.177679 0.755673 +vt 0.147896 0.698358 +vt 0.177679 0.639213 +vt 0.227938 0.623144 +vt 0.344518 0.628436 +vt 0.344864 0.645367 +vt 0.567679 0.564328 +vt 0.345386 0.426160 +vt 0.321379 0.309007 +vt 0.348181 0.311072 +vt 0.346814 0.370598 +vt 0.319918 0.372352 +vt 0.319035 0.699253 +vt 0.346062 0.701099 +vt 0.578629 0.309007 +vt 0.582482 0.368090 +vt 0.552730 0.367902 +vt 0.550048 0.310686 +vt 0.578748 0.761487 +vt 0.550076 0.759426 +vt 0.552676 0.703908 +vt 0.582541 0.703747 +vt 0.347270 0.758738 +vt 0.558065 0.928960 +vt 0.550687 0.924347 +vt 0.550930 0.885091 +vt 0.558374 0.878875 +vt 0.442273 0.018695 +vt 0.440594 0.261833 +vt 0.719990 0.753760 +vt 0.711362 0.753164 +vt 0.711409 0.748802 +vt 0.720050 0.748194 +vt 0.558809 0.782594 +vt 0.553466 0.785950 +vt 0.553542 0.769874 +vt 0.558906 0.762085 +vt 0.523071 0.801651 +vt 0.527269 0.805192 +vt 0.527585 0.839077 +vt 0.523474 0.844882 +vt 0.583864 0.748194 +vt 0.591789 0.748650 +vt 0.591759 0.752506 +vt 0.583825 0.753114 +vt 0.523958 0.885237 +vt 0.530497 0.890536 +vt 0.531283 0.924612 +vt 0.524961 0.928713 +vt 0.627693 0.748375 +vt 0.627655 0.752744 +vt 0.696662 0.753087 +vt 0.696709 0.748702 +vt 0.660976 0.752977 +vt 0.661014 0.748487 +vt 0.522918 0.783847 +vt 0.527615 0.790596 +vt 0.527735 0.804551 +vt 0.609284 0.879288 +vt 0.609125 0.929342 +vt 0.558678 0.832385 +vt 0.609657 0.832799 +vt 0.551099 0.872461 +vt 0.551338 0.836023 +vt 0.529863 0.848009 +vt 0.530243 0.879639 +vt 0.343779 0.802494 +vt 0.343695 0.784690 +vt 0.475224 0.845209 +vt 0.463372 0.845290 +vt 0.449569 0.845385 +vt 0.439666 0.845452 +vt 0.427257 0.845537 +vt 0.418192 0.845599 +vt 0.409050 0.845661 +vt 0.553912 0.825721 +vt 0.554015 0.786696 +vt 0.748183 0.664506 +vt 0.743885 0.667670 +vt 0.709471 0.667342 +vt 0.704690 0.663671 +vt 0.748230 0.677708 +vt 0.743428 0.674541 +vt 0.708946 0.674384 +vt 0.704690 0.677993 +vt 0.674263 0.679178 +vt 0.678954 0.683000 +vt 0.678513 0.691305 +vt 0.674263 0.695158 +vt 0.713191 0.691406 +vt 0.717948 0.694885 +vt 0.717906 0.679285 +vt 0.713573 0.682833 +vt 0.674263 0.712333 +vt 0.679256 0.716024 +vt 0.678779 0.723450 +vt 0.674263 0.727142 +vt 0.712677 0.723401 +vt 0.717760 0.726648 +vt 0.717703 0.712821 +vt 0.713087 0.716118 +vt 0.475305 0.885568 +vt 0.463733 0.885647 +vt 0.449929 0.885741 +vt 0.439749 0.885811 +vt 0.427618 0.885894 +vt 0.331098 0.838796 +vt 0.409325 0.886018 +vt 0.331097 0.892100 +vt 0.344391 0.930068 +vt 0.418274 0.885957 +vt 0.568226 0.477860 +vt 0.610810 0.762612 +vt 0.610602 0.783121 +vt 0.313294 0.838795 +vt 0.313293 0.892100 +vt 0.772319 0.999701 +vt 0.510019 0.967260 +vt 0.510019 0.999701 +vt 0.834166 0.285661 +vt 0.768234 0.286116 +vt 0.766275 0.002164 +vt 0.832207 0.001709 +vt 0.763326 0.261444 +vt 0.761647 0.018304 +vt 0.280683 0.544403 +vt 0.268327 0.546342 +vt 0.293963 0.475162 +vt 0.260091 0.621549 +vt 0.247624 0.622547 +vt 0.278575 0.553512 +vt 0.287081 0.543122 +vt 0.299432 0.478720 +vt 0.078346 0.291246 +vt 0.077505 0.269047 +vt 0.673665 0.747597 +vt 0.583825 0.747597 +vt 0.000299 0.780763 +vt 0.010763 0.773432 +vt 0.031275 0.812923 +vt 0.010763 0.827908 +vt 0.000299 0.820577 +vt 0.031344 0.808252 +vt 0.051046 0.800969 +vt 0.050910 0.810187 +vt 0.040794 0.292669 +vt 0.039952 0.270471 +vt 0.837894 0.999701 +vt 0.266568 0.620755 +vt 0.283760 0.557474 +vt 0.837894 0.950449 +vt 0.320375 0.761358 +vt 0.705187 0.018693 +vt 0.706867 0.261833 +vt 0.658686 0.887344 +vt 0.658868 0.825939 +vt 0.679378 0.826000 +vt 0.679195 0.887405 +vt 0.690550 0.648153 +vt 0.628032 0.648153 +vt 0.583825 0.603947 +vt 0.583825 0.541429 +vt 0.628032 0.497222 +vt 0.690550 0.497222 +vt 0.734757 0.541428 +vt 0.734757 0.603946 +vt 0.832300 0.307073 +vt 0.769442 0.307507 +vt 0.606368 0.029512 +vt 0.378018 0.307507 +vt 0.315160 0.307073 +vt 0.572655 0.308410 +vt 0.511212 0.308292 +vt 0.765692 0.307390 +vt 0.702831 0.307825 +vt 0.444631 0.307825 +vt 0.381768 0.307391 +vt 0.700066 0.307129 +vt 0.638933 0.308268 +vt 0.028684 0.334662 +vt 0.028216 0.347009 +vt 0.028684 0.288183 +vt 0.028216 0.275836 +vt 0.024713 0.229498 +vt 0.023312 0.217222 +vt 0.016319 0.171298 +vt 0.013991 0.159164 +vt 0.016318 0.451548 +vt 0.013991 0.463682 +vt 0.023312 0.405623 +vt 0.024713 0.393347 +vt 0.929360 0.371663 +vt 0.949870 0.371663 +vt 0.949869 0.433068 +vt 0.929359 0.433068 +vt 0.541093 0.029512 +vt 0.555364 0.045324 +vt 0.472022 0.043014 +vt 0.469155 0.250613 +vt 0.483371 0.265938 +vt 0.509562 0.266577 +vt 0.583825 0.419180 +vt 0.583984 0.365876 +vt 0.601788 0.365929 +vt 0.601629 0.419233 +vt 0.880965 0.475742 +vt 0.829171 0.476114 +vt 0.829189 0.426323 +vt 0.880169 0.426061 +vt 0.881113 0.496251 +vt 0.829206 0.496624 +vt 0.615382 0.310197 +vt 0.879832 0.309007 +vt 0.879925 0.329517 +vt 0.828864 0.329746 +vt 0.795759 0.329895 +vt 0.615195 0.328000 +vt 0.679997 0.372243 +vt 0.688946 0.372331 +vt 0.688744 0.412689 +vt 0.679601 0.412599 +vt 0.794627 0.373366 +vt 0.745976 0.372890 +vt 0.734404 0.372777 +vt 0.720600 0.372642 +vt 0.710421 0.372542 +vt 0.698290 0.372423 +vt 0.704690 0.648751 +vt 0.748230 0.649035 +vt 0.743428 0.652203 +vt 0.708946 0.652359 +vt 0.697809 0.412778 +vt 0.710217 0.412900 +vt 0.717760 0.728233 +vt 0.717703 0.742060 +vt 0.713086 0.738763 +vt 0.712677 0.731480 +vt 0.720120 0.412997 +vt 0.733923 0.413133 +vt 0.717948 0.696029 +vt 0.717906 0.711629 +vt 0.713573 0.708081 +vt 0.713190 0.699508 +vt 0.745774 0.413249 +vt 0.794023 0.413720 +vt 0.679256 0.738857 +vt 0.678779 0.731431 +vt 0.674263 0.742548 +vt 0.674263 0.727739 +vt 0.678954 0.707914 +vt 0.678513 0.699609 +vt 0.674263 0.711736 +vt 0.674263 0.695756 +vt 0.743885 0.659074 +vt 0.709471 0.659401 +vt 0.704690 0.663073 +vt 0.748183 0.662238 +vt 0.824389 0.471998 +vt 0.824403 0.432972 +vt 0.793491 0.456950 +vt 0.614203 0.455572 +vt 0.793285 0.474753 +vt 0.614066 0.473375 +vt 0.800895 0.378983 +vt 0.800421 0.410612 +vt 0.829024 0.379832 +vt 0.821859 0.422664 +vt 0.821730 0.386224 +vt 0.879935 0.379571 +vt 0.798164 0.454064 +vt 0.798002 0.468018 +vt 0.660993 0.759351 +vt 0.627670 0.759305 +vt 0.627654 0.754935 +vt 0.660975 0.754860 +vt 0.696662 0.754919 +vt 0.696688 0.759304 +vt 0.711362 0.754912 +vt 0.711388 0.759274 +vt 0.591768 0.758859 +vt 0.591756 0.755003 +vt 0.802069 0.334014 +vt 0.801182 0.368087 +vt 0.583841 0.759277 +vt 0.583825 0.754357 +vt 0.798116 0.419538 +vt 0.797699 0.453421 +vt 0.823866 0.488818 +vt 0.823838 0.472743 +vt 0.719993 0.754357 +vt 0.720026 0.759923 +vt 0.821598 0.373594 +vt 0.821472 0.334337 +vt 0.608971 0.949851 +vt 0.344525 0.947871 vn 0.0000 -0.3827 -0.9239 vn 0.0000 0.3827 0.9239 vn 0.0000 0.9239 0.3827 @@ -5611,22 +5830,21 @@ vn 0.4296 0.8343 0.3456 vn 0.4296 -0.3456 0.8343 vn 0.0000 -0.9239 0.3827 vn 0.0000 -0.3827 0.9239 -vn 0.0161 0.9158 -0.4012 +vn -0.0913 0.8947 0.4372 vn 0.8293 -0.2138 0.5162 +vn 0.0000 0.3827 -0.9239 vn 0.8293 0.5162 -0.2138 -vn 0.0000 -0.9012 -0.4335 +vn 0.0464 -0.8899 0.4538 vn 0.8293 0.2138 -0.5162 vn 0.8293 -0.2138 -0.5162 vn 0.8293 0.5162 0.2138 -vn -1.0000 0.0000 0.0000 vn -0.8418 -0.2066 0.4987 -vn -0.0165 -0.3826 -0.9238 +vn -0.0166 -0.3826 -0.9238 vn -0.0165 0.3826 -0.9238 vn -0.0165 0.3826 0.9238 vn -0.0165 -0.9238 -0.3826 -vn -0.0000 0.9616 -0.2745 -vn 0.0000 -0.8684 -0.4959 -vn -0.0000 0.9616 0.2745 +vn 0.1008 -0.2962 -0.9498 +vn 0.0000 -0.3828 -0.9239 vn -0.8680 0.4588 0.1900 vn -0.8680 -0.1900 -0.4588 vn 0.8623 0.1938 -0.4678 @@ -5658,20 +5876,21 @@ vn -0.0497 0.3822 -0.9227 vn -0.0497 -0.3822 -0.9227 vn -0.0497 -0.3822 0.9227 vn -0.0497 0.3822 0.9227 -vn 0.0000 0.3827 -0.9239 vn 0.3223 -0.8746 -0.3623 vn 0.3223 0.3623 0.8746 vn 0.3223 0.3623 -0.8746 vn 0.3223 0.8746 -0.3623 vn 0.3223 -0.3623 -0.8746 -vn 0.0161 0.9158 0.4012 +vn 0.0000 0.9649 -0.2626 vn -0.1533 0.3782 0.9130 vn 0.8293 0.2138 0.5162 vn -0.1218 0.9170 -0.3798 +vn -0.0000 0.9239 -0.3827 vn 0.7023 0.6629 -0.2594 vn 0.0000 0.0000 1.0000 vn 0.0068 -1.0000 0.0000 vn 0.6287 0.0000 0.7776 +vn -1.0000 0.0000 0.0000 vn -0.0165 0.9238 -0.3826 vn -0.8680 0.4588 -0.1900 vn 0.0000 -0.9239 -0.3827 @@ -5681,33 +5900,34 @@ vn -0.6231 -0.1179 0.7732 vn -0.6414 0.7600 -0.1048 vn -0.0103 0.9832 -0.1821 vn -0.0103 0.9832 0.1821 -vn 0.0000 -0.9012 0.4335 -vn 0.0000 -0.8684 0.4959 +vn -0.0453 -0.3552 -0.9337 +vn 0.0951 -0.3032 -0.9482 +vn 0.1008 -0.2962 0.9498 vn 0.0915 -0.9200 -0.3811 vn 0.2182 0.9016 0.3735 vn 0.3223 -0.3623 0.8746 -vn 0.0465 -0.2865 0.9570 +vn 0.0951 -0.3032 0.9482 vn 0.0000 -1.0000 0.0000 vn 0.9838 0.1658 0.0687 vn 0.4296 -0.8343 -0.3456 -vn -0.0166 -0.3826 0.9238 +vn -0.0165 -0.3826 0.9238 vn -0.0165 -0.9238 0.3826 vn 0.8623 -0.4678 -0.1938 vn 0.2182 0.3735 -0.9016 vn 0.7023 0.6629 0.2594 -vn -0.9999 -0.0123 -0.0000 +vn -0.9999 -0.0105 0.0000 vn 0.0915 0.9200 -0.3811 -vn 0.0465 -0.2865 -0.9570 +vn -0.0453 -0.3552 0.9337 vn -0.8418 -0.4987 0.2066 vn -0.0497 -0.9227 0.3822 vn -0.8418 0.4987 0.2066 vn 0.3746 -0.9272 0.0000 vn 0.1495 -0.8307 -0.5362 -vn 0.0000 -0.4721 -0.8815 -vn 0.0000 -0.3958 -0.9183 -vn 0.1495 -0.8307 0.5362 vn 0.0000 -0.4721 0.8815 -vn 0.0000 -0.3958 0.9183 +vn 0.0120 -0.3847 0.9230 +vn 0.1495 -0.8307 0.5362 +vn 0.1144 -0.4166 0.9019 +vn 0.1144 -0.4166 -0.9019 vn -0.9846 0.1617 0.0670 vn 0.4296 -0.8343 0.3456 vn 0.0915 0.9200 0.3811 @@ -5717,11 +5937,11 @@ vn -0.0497 -0.9227 -0.3822 vn 0.3223 0.8746 0.3623 vn 0.8293 -0.5162 -0.2138 vn -0.9846 -0.1617 0.0670 -vn 0.9999 -0.0145 -0.0000 -vn -0.0222 -0.3380 -0.9409 -vn -0.0222 -0.3380 0.9409 -vn 0.0821 -0.3191 0.9441 -vn 0.0821 -0.3191 -0.9441 +vn 0.9999 -0.0151 0.0000 +vn -0.0476 -0.3025 -0.9520 +vn 0.0120 -0.3847 -0.9230 +vn 0.0000 -0.9012 -0.4335 +vn 0.0000 -0.8684 0.4959 vn -0.0053 -0.3038 0.9527 vn -0.0053 -0.3038 -0.9527 vn -0.0755 0.9042 0.4204 @@ -5734,10 +5954,71 @@ vn -0.0095 0.3428 -0.9394 vn -0.0127 0.9088 -0.4171 vn -0.0124 0.9153 0.4026 vn -0.0095 0.3428 0.9394 -vn -0.0039 0.8598 0.5107 +vn -0.9952 -0.0952 0.0245 +vn 0.0000 0.5505 -0.8349 +vn -0.9938 0.1009 -0.0476 +vn 0.9884 0.1326 -0.0741 +vn 0.0000 -0.7129 -0.7012 +vn 0.9976 -0.0694 0.0010 +vn 0.0026 -0.9715 0.2370 +vn -0.0023 0.8582 -0.5133 +vn 0.0014 -0.3780 -0.9258 +vn 0.9905 0.1284 -0.0490 +vn 0.0024 -0.9722 0.2343 +vn -0.9957 -0.0410 -0.0837 +vn 0.9959 -0.0250 -0.0874 +vn -0.0018 0.8543 -0.5198 +vn -0.9919 0.1050 -0.0715 +vn 0.9172 -0.1505 -0.3689 +vn 0.0050 -0.9531 -0.3028 +vn -0.0034 0.5235 -0.8520 +vn 0.0017 -0.3780 -0.9258 +vn -0.0031 0.4723 -0.8815 +vn -0.8491 -0.1997 -0.4891 +vn 0.8493 -0.1946 -0.4907 +vn 0.0018 -0.3780 -0.9258 +vn -0.0029 0.4287 -0.9035 +vn -0.8914 -0.1765 -0.4174 +vn 0.8917 -0.1710 -0.4191 +vn 0.0050 -0.9355 -0.3532 +vn 0.0048 -0.9190 -0.3942 +vn -0.9170 -0.1562 -0.3671 +vn -0.5510 -0.3187 -0.7712 +vn 0.0019 -0.9695 0.2450 +vn 0.0000 -0.9012 0.4335 +vn -0.0022 0.8595 -0.5111 +vn -0.8418 0.2066 -0.4987 +vn -0.8418 -0.2066 -0.4987 +vn -0.8680 -0.1900 0.4588 +vn -0.8680 -0.4588 0.1900 +vn -0.9846 0.0670 -0.1617 +vn 0.0915 -0.3811 0.9200 +vn 0.8623 0.4678 0.1938 +vn 0.3223 -0.8746 0.3623 +vn -0.0000 0.0000 -1.0000 +vn 0.6287 0.0000 -0.7776 +vn -0.0165 0.9238 0.3826 +vn 0.0915 -0.9200 0.3811 +vn 0.2182 0.9016 -0.3735 +vn 0.1948 -0.9808 0.0000 +vn -0.8418 -0.4987 -0.2066 +vn -0.8418 0.4987 -0.2066 +vn -0.9846 0.1617 -0.0670 +vn 0.8293 -0.5162 0.2138 +vn -0.0712 0.8983 -0.4336 +vn 0.1218 0.3643 0.9233 +vn -0.2273 -0.8997 -0.3727 +vn -0.0913 0.8947 -0.4372 +vn 0.0864 0.8928 -0.4421 +vn -0.2272 -0.8997 0.3727 +vn -0.1218 0.9170 0.3798 +vn -0.1970 -0.3752 -0.9058 +vn -0.1970 -0.3752 0.9058 +vn -0.1533 0.3782 -0.9130 +vn 1.0000 -0.0006 -0.0069 +vn 0.0864 0.8928 0.4421 +vn 0.0000 0.9649 0.2626 vn -0.0022 0.8595 0.5111 -vn 0.0005 0.9245 0.3812 -vn -0.0013 -0.9234 -0.3838 vn 0.0014 -0.3780 0.9258 vn 0.0019 -0.9695 -0.2450 vn -0.5510 -0.3187 0.7712 @@ -5751,7 +6032,7 @@ vn -0.0029 0.4287 0.9035 vn 0.0018 -0.3780 0.9258 vn 0.8493 -0.1946 0.4907 vn -0.8491 -0.1997 0.4891 -vn -0.0031 0.4723 0.8814 +vn -0.0031 0.4723 0.8815 vn -0.0034 0.5235 0.8520 vn 0.0050 -0.9531 0.3028 vn 0.9172 -0.1505 0.3689 @@ -5760,411 +6041,356 @@ vn -0.0018 0.8543 0.5198 vn 0.9959 -0.0250 0.0874 vn -0.9957 -0.0410 0.0837 vn 0.0024 -0.9722 -0.2343 -vn 0.0013 -0.9725 -0.2331 vn 0.9905 0.1284 0.0490 -vn 0.0013 -0.3780 0.9258 vn -0.0023 0.8582 0.5133 vn 0.0026 -0.9715 -0.2370 vn 0.9976 -0.0694 -0.0010 vn 0.0000 -0.7129 0.7012 vn 0.9884 0.1326 0.0741 -vn -0.9938 0.1009 0.0477 +vn -0.9938 0.1009 0.0476 vn 0.0000 0.5505 0.8349 vn -0.9952 -0.0952 -0.0245 -vn 0.0000 0.9239 -0.3827 -vn -0.8418 0.2066 -0.4987 -vn 1.0000 -0.0007 -0.0064 -vn 1.0000 -0.0004 -0.0047 -vn 1.0000 0.0013 -0.0051 -vn -0.8418 -0.2066 -0.4987 -vn -0.8680 -0.1900 0.4588 -vn -0.8680 -0.4588 0.1900 -vn -0.9846 0.0670 -0.1617 -vn 0.0915 -0.3811 0.9200 -vn 0.8623 0.4678 0.1938 -vn 0.3223 -0.8746 0.3623 -vn 0.0000 0.0000 -1.0000 -vn 0.6287 0.0000 -0.7776 -vn -0.0165 0.9238 0.3826 -vn 0.0915 -0.9200 0.3811 -vn 0.2182 0.9016 -0.3735 -vn 0.1948 -0.9808 0.0000 -vn -0.8418 -0.4987 -0.2066 -vn -0.8418 0.4987 -0.2066 -vn -0.9846 0.1617 -0.0670 -vn 0.8293 -0.5162 0.2138 -vn -0.0712 0.8983 -0.4336 -vn 0.1218 0.3643 0.9233 -vn -0.0007 0.8599 -0.5105 -vn -0.0022 0.8595 -0.5111 -vn 1.0000 -0.0009 0.0063 -vn 1.0000 -0.0004 0.0047 -vn 1.0000 0.0013 0.0051 -vn 0.0008 0.9233 -0.3841 -vn -0.0001 -0.9232 0.3843 -vn 0.0014 -0.3780 -0.9258 -vn 0.0019 -0.9695 0.2450 -vn -0.5510 -0.3187 -0.7712 -vn -0.9170 -0.1562 -0.3671 -vn 0.0048 -0.9190 -0.3942 -vn 0.0050 -0.9355 -0.3532 -vn 0.0017 -0.3780 -0.9258 -vn 0.8917 -0.1710 -0.4191 -vn -0.8914 -0.1765 -0.4174 -vn -0.0029 0.4287 -0.9035 -vn 0.0018 -0.3780 -0.9258 -vn 0.8493 -0.1946 -0.4907 -vn -0.8491 -0.1997 -0.4891 -vn -0.0031 0.4723 -0.8814 -vn -0.0034 0.5235 -0.8520 -vn 0.0050 -0.9531 -0.3028 -vn 0.9172 -0.1505 -0.3689 -vn -0.9919 0.1050 -0.0715 -vn -0.0018 0.8543 -0.5198 -vn 0.9959 -0.0250 -0.0874 -vn -0.9957 -0.0410 -0.0837 -vn 0.0024 -0.9722 0.2343 -vn 0.0007 -0.9722 0.2343 -vn 0.9905 0.1284 -0.0490 -vn -0.0023 0.8582 -0.5133 -vn 0.0026 -0.9715 0.2370 -vn 0.9976 -0.0694 0.0010 -vn 0.0000 -0.7129 -0.7012 -vn 0.9884 0.1326 -0.0741 -vn -0.9938 0.1009 -0.0476 -vn 0.0000 0.5505 -0.8349 -vn -0.9952 -0.0952 0.0245 -vn -0.2273 -0.8997 -0.3727 -vn -0.0182 0.9159 0.4009 -vn -0.0182 0.9159 -0.4009 -vn -0.2272 -0.8997 0.3727 -vn -0.1218 0.9170 0.3798 -vn -0.1970 -0.3752 -0.9058 -vn -0.1970 -0.3752 0.9058 -vn -0.1533 0.3782 -0.9130 +vn 1.0000 -0.0006 0.0069 +vn 0.0464 -0.8899 -0.4538 +vn 0.0000 -0.8684 -0.4959 +vn -0.0476 -0.3025 0.9520 +vn 0.0000 -0.4721 -0.8815 s off -f 1141/1847/614 1142/1848/614 1143/1849/614 1144/1850/614 -f 1145/1851/615 1146/1852/615 1147/1853/615 1148/1854/615 -f 1148/1854/616 1147/1853/616 1149/1855/616 1150/1856/616 -f 1151/1857/617 1152/1858/617 1153/1859/617 1154/1860/617 -f 1145/1851/618 1148/1854/618 1155/1861/618 1156/1862/618 -f 1142/1863/619 1157/1864/619 1158/1865/619 1159/1866/619 -f 1147/1853/620 1146/1852/620 1160/1867/620 1161/1868/620 -f 1162/1869/621 1163/1870/621 1164/1871/621 1165/1872/621 -f 1166/1873/622 1151/1857/622 1154/1860/622 1167/1874/622 -f 1166/1873/623 1168/1875/623 1169/1876/623 1170/1877/623 -f 1171/1878/624 1172/1879/624 1173/1880/624 1174/1881/624 -f 1172/1882/625 1152/1858/625 1175/1883/625 1173/1884/625 -f 1151/1857/626 1166/1873/626 1170/1877/626 1176/1885/626 -f 1168/1875/627 1163/1870/627 1177/1886/627 1169/1876/627 -f 1178/1887/614 1179/1888/614 1180/1889/614 1181/1890/614 -f 1182/1891/628 1183/1892/628 1184/1893/628 1185/1894/628 -f 1185/1894/629 1184/1893/629 1186/1895/629 1187/1896/629 -f 1340/1897/630 1220/1898/630 1199/1899/630 1194/1900/630 1196/1901/630 -f 1191/1902/631 1184/1893/631 1192/1903/631 1193/1904/631 -f 1316/1905/615 1326/1906/615 1319/1907/615 1188/1908/615 1190/1909/615 -f 1197/1910/632 1198/1911/632 1194/1912/632 1199/1913/632 1200/1914/632 -f 1201/1915/633 1202/1916/633 1203/1917/633 1204/1918/633 -f 1198/1911/634 1205/1919/634 1179/1920/634 1206/1921/634 1194/1912/634 -f 1180/1889/635 1179/1888/635 1205/1922/635 1207/1923/635 -f 1208/1924/636 1197/1910/636 1200/1914/636 1209/1925/636 1188/1926/636 -f 1210/1927/637 1211/1928/637 1212/1929/637 1213/1930/637 1214/1931/637 1156/1932/637 1155/1933/637 1215/1934/637 -f 1216/1935/638 1145/1851/638 1156/1862/638 1214/1936/638 -f 1211/1928/639 1212/1929/639 1207/1937/639 1205/1938/639 -f 1211/1939/640 1205/1940/640 1198/1941/640 1210/1942/640 -f 1155/1943/641 1208/1944/641 1193/1945/641 1156/1946/641 -f 1213/1947/642 1217/1948/642 1207/1949/642 1212/1950/642 -f 1218/1951/643 1219/1952/643 1200/1914/643 1199/1913/643 1220/1953/643 1221/1954/643 -f 1204/1918/644 1203/1917/644 1222/1955/644 1223/1956/644 -f 1201/1915/614 1224/1957/614 1225/1958/614 1202/1916/614 -f 1200/1914/645 1219/1952/645 1227/1959/645 1228/1960/645 1226/1961/645 1209/1925/645 -f 1230/1962/646 1161/1868/646 1231/1963/646 1232/1964/646 -f 1233/1965/647 1159/1966/647 1234/1967/647 1235/1968/647 -f 1153/1859/648 1236/1969/648 1237/1970/648 1238/1971/648 -f 1239/1972/649 1233/1965/649 1235/1968/649 1240/1973/649 -f 1241/1974/650 1167/1874/650 1242/1975/650 1243/1976/650 -f 1172/1879/651 1171/1878/651 1244/1977/651 1236/1978/651 -f 1149/1855/652 1147/1853/652 1161/1868/652 1230/1962/652 -f 1168/1875/653 1166/1873/653 1167/1874/653 1241/1974/653 -f 1152/1858/654 1172/1882/654 1236/1969/654 1153/1859/654 -f 1163/1870/655 1168/1875/655 1241/1974/655 1164/1871/655 -f 1143/1849/656 1142/1848/656 1159/1966/656 1233/1965/656 -f 1231/1963/657 1245/1979/657 1243/1976/657 1242/1975/657 -f 1234/1980/658 1246/1981/658 1238/1971/658 1237/1970/658 -f 1235/1968/659 1234/1967/659 1237/1982/659 1247/1983/659 -f 1159/1866/660 1158/1865/660 1246/1981/660 1234/1980/660 -f 1161/1868/661 1160/1867/661 1245/1979/661 1231/1963/661 -f 1154/1860/662 1153/1859/662 1238/1971/662 1248/1984/662 -f 1164/1871/663 1241/1974/663 1243/1976/663 1249/1985/663 -f 1236/1978/664 1244/1977/664 1247/1983/664 1237/1982/664 -f 1250/1986/665 1251/1987/665 1252/1988/665 1253/1989/665 -f 1173/1884/666 1175/1883/666 1254/1990/666 1251/1991/666 -f 1174/1881/666 1173/1880/666 1251/1987/666 1250/1986/666 -f 1175/1883/666 1176/1885/666 1255/1992/666 1254/1990/666 -f 1170/1877/666 1169/1876/666 1256/1993/666 1257/1994/666 -f 1169/1876/666 1177/1886/666 1258/1995/666 1256/1993/666 -f 1259/1996/667 1260/1997/667 1261/1998/667 1262/1999/667 -f 1257/1994/668 1256/1993/668 1263/2000/668 1264/2001/668 -f 1254/1990/669 1255/1992/669 1260/1997/669 1259/1996/669 -f 1255/1992/670 1257/1994/670 1264/2001/670 1260/1997/670 -f 1251/1991/671 1254/1990/671 1259/1996/671 1252/2002/671 -f 1265/2003/666 1266/2004/666 1267/2005/666 1268/2006/666 -f 1260/1997/672 1264/2001/672 1265/2003/672 1261/1998/672 -f 1252/2002/673 1259/1996/673 1262/1999/673 1269/2007/673 -f 1253/1989/674 1252/1988/674 1269/2008/674 1270/2009/674 -f 1263/2000/675 1271/2010/675 1272/2011/675 1266/2004/675 -f 1264/2001/676 1263/2000/676 1266/2004/676 1265/2003/676 -f 1269/2007/666 1262/1999/666 1273/2012/666 1274/2013/666 -f 1270/2009/666 1269/2008/666 1274/2014/666 1275/2015/666 -f 1266/2004/666 1272/2011/666 1276/2016/666 1267/2005/666 -f 1277/2017/677 1278/2018/677 1279/2019/677 1280/2020/677 -f 1281/2021/678 1268/2006/678 1282/2022/678 1283/2023/678 -f 1275/2015/679 1274/2014/679 1277/2024/679 1284/2025/679 -f 1267/2005/680 1276/2016/680 1285/2026/680 1286/2027/680 -f 1276/2016/681 1287/2028/681 1288/2029/681 1285/2026/681 -f 1268/2006/682 1267/2005/682 1286/2027/682 1282/2022/682 -f 1284/2025/614 1277/2024/614 1280/2030/614 1291/2031/614 -f 1286/2027/629 1285/2026/629 1294/2032/629 1295/2033/629 -f 1282/2022/615 1286/2027/615 1295/2033/615 1296/2034/615 -f 1292/2035/615 1297/2036/615 1298/2037/615 1293/2038/615 -f 1298/2037/616 1299/2039/616 1289/2040/616 1293/2038/616 -f 1300/2041/614 1301/2042/614 1302/2043/614 1303/2044/614 -f 1304/2045/628 1305/2046/628 1306/2047/628 1307/2048/628 -f 1307/2048/629 1306/2047/629 1297/2049/629 1292/2050/629 -f 1299/2051/666 1298/2052/666 1297/2053/666 1306/2054/666 1305/2055/666 1301/2056/666 1300/2057/666 1308/2058/666 -f 1309/2059/666 1310/2060/666 1311/2061/666 1312/2062/666 -f 1325/2063/677 1317/2064/677 1312/2062/677 1311/2065/677 1324/2066/677 -f 1188/1926/683 1209/1925/683 1226/1961/683 1189/2067/683 1190/2068/683 -f 1315/2069/684 1505/2070/684 1504/2071/684 1327/2072/684 1323/2073/684 -f 1208/2074/685 1188/1908/685 1319/1907/685 1191/2075/685 1193/2076/685 -f 1218/2077/686 1317/2078/686 1318/2079/686 1506/2080/686 1219/1952/686 -f 1325/2063/677 1324/2066/677 1229/2081/677 1206/2082/677 1179/2083/677 1178/2084/677 -f 1191/2075/615 1319/1907/615 1326/1906/615 1322/2085/615 1323/2073/615 1327/2072/615 -f 1293/2086/666 1289/2087/666 1290/2088/666 1291/2089/666 -f 1303/2090/677 1328/2091/677 1308/2092/677 1300/2093/677 -f 1321/2094/687 1322/2085/687 1329/2095/687 1330/2096/687 -f 1331/2097/666 1313/2098/666 1321/2094/666 1330/2096/666 -f 1228/2099/688 1332/2100/688 1222/1955/688 1226/2101/688 -f 1222/1955/689 1332/2100/689 1333/2102/689 1334/2103/689 -f 1335/2104/666 1287/2028/666 1276/2105/666 1272/2106/666 -f 1282/2107/616 1296/2108/616 1336/2109/616 1283/2023/616 -f 1228/2099/690 1314/2110/690 1337/2111/690 1332/2100/690 -f 1196/2112/637 1338/2113/637 1339/2114/637 1340/2115/637 -f 1210/1942/691 1198/1941/691 1197/2116/691 1215/2117/691 -f 1196/2112/637 1195/2118/637 1341/2119/637 1338/2113/637 -f 1158/1865/692 1230/1962/692 1232/1964/692 1246/1981/692 -f 1288/2029/693 1284/2025/693 1291/2031/693 1290/2120/693 -f 1229/2121/694 1342/2122/694 1341/2119/694 1195/2118/694 -f 1334/2103/695 1220/2123/695 1340/2115/695 1339/2114/695 -f 1203/1917/696 1189/2124/696 1226/1961/696 1222/1955/696 -f 1203/1917/637 1202/1916/637 1190/2068/637 1189/2124/637 -f 1225/1958/637 1316/2125/637 1190/2126/637 1202/1916/637 -f 1326/2127/697 1316/2125/697 1225/1958/697 1343/2128/697 -f 1329/2095/698 1322/2085/698 1326/2127/698 1343/2128/698 -f 1229/2121/699 1324/2129/699 1344/2130/699 1342/2122/699 -f 1345/2131/666 1346/2132/666 1258/2133/666 1177/2134/666 -f 1347/2135/700 1348/2136/700 1339/2114/700 1338/2113/700 -f 1348/2136/701 1349/2137/701 1334/2103/701 1339/2114/701 -f 1347/2135/629 1338/2113/629 1341/2119/629 1350/2138/629 -f 1235/2139/702 1247/2140/702 1351/2141/702 1240/1973/702 -f 1250/2142/703 1253/2143/703 1352/2144/703 1346/2132/703 -f 1273/2145/704 1278/2146/704 1277/2147/704 1274/2148/704 -f 1288/2029/628 1290/2120/628 1294/2149/628 1285/2150/628 -f 1353/2151/705 1350/2138/705 1341/2119/705 1342/2122/705 -f 1334/2103/706 1349/2137/706 1223/1956/706 1222/1955/706 -f 1162/1869/707 1165/1872/707 1244/2152/707 1171/2153/707 -f 1171/2153/708 1174/2154/708 1345/2131/708 1162/1869/708 -f 1156/2155/709 1193/2156/709 1192/2157/709 1214/2158/709 -f 1213/1947/710 1214/2159/710 1192/2160/710 1217/1948/710 -f 1165/1872/711 1351/2141/711 1247/2140/711 1244/2152/711 -f 1258/2133/712 1271/2161/712 1263/2162/712 1256/2163/712 -f 1262/1999/666 1261/1998/666 1281/2021/666 1273/2012/666 -f 1311/2061/713 1310/2060/713 1344/2130/713 1324/2129/713 -f 1354/2164/714 1355/2165/714 1356/2166/714 1357/2167/714 1358/2168/714 1359/2169/714 1224/1957/714 1201/1915/714 1204/1918/714 1223/1956/714 1349/2137/714 1348/2136/714 1347/2135/714 1350/2138/714 1353/2151/714 -f 1345/2131/666 1174/1881/666 1250/1986/666 1346/2132/666 -f 1246/1981/715 1232/1964/715 1248/1984/715 1238/1971/715 -f 1359/2169/716 1343/2128/716 1225/1958/716 1224/1957/716 -f 1216/2170/717 1214/2171/717 1213/2172/717 1360/2173/717 -f 1352/2144/718 1335/2104/718 1272/2106/718 1271/2161/718 -f 1265/2174/666 1268/2175/666 1281/2021/666 1261/1998/666 -f 1150/1856/719 1215/2176/719 1155/2177/719 1148/2178/719 -f 1361/2179/720 1362/2180/720 1363/2181/720 1337/2111/720 -f 1361/2179/721 1337/2111/721 1331/2097/721 1364/2182/721 -f 1364/2182/722 1331/2097/722 1330/2096/722 1365/2183/722 -f 1366/2184/723 1365/2183/723 1330/2096/723 1329/2095/723 -f 1363/2181/724 1362/2180/724 1367/2185/724 1309/2059/724 -f 1309/2059/725 1367/2185/725 1368/2186/725 1310/2060/725 -f 1310/2060/726 1368/2186/726 1369/2187/726 1344/2130/726 -f 1144/1850/693 1143/1849/693 1370/2188/693 1360/2173/693 -f 1370/2188/727 1143/1849/727 1233/1965/727 1239/1972/727 -f 1163/1870/728 1162/1869/728 1345/2131/728 1177/1886/728 -f 1231/2189/729 1242/2190/729 1248/1984/729 1232/1964/729 -f 1152/1858/730 1151/1857/730 1176/1885/730 1175/1883/730 -f 1165/1872/731 1164/1871/731 1249/1985/731 1351/2141/731 -f 1352/2144/732 1253/1989/732 1270/2009/732 1335/2104/732 -f 1335/2104/666 1270/2009/666 1275/2015/666 1287/2028/666 -f 1287/2028/733 1275/2015/733 1284/2025/733 1288/2029/733 -f 1180/2191/734 1207/2192/734 1217/2193/734 1183/1892/734 -f 1157/1864/735 1149/1855/735 1230/1962/735 1158/1865/735 -f 1328/2194/666 1294/2195/666 1290/2088/666 1289/2087/666 -f 1367/2185/736 1362/2180/736 1361/2179/736 1364/2182/736 1365/2183/736 1366/2184/736 1371/2196/736 1372/2197/736 1373/2198/736 1374/2199/736 1375/2200/736 1369/2187/736 1368/2186/736 -f 1376/2201/737 1371/2196/737 1366/2184/737 1329/2095/737 -f 1377/2202/738 1344/2130/738 1369/2187/738 1375/2200/738 -f 1354/2164/739 1353/2151/739 1342/2122/739 1378/2203/739 -f 1358/2168/740 1379/2204/740 1343/2128/740 1359/2169/740 -f 1342/2122/741 1344/2130/741 1377/2202/741 1378/2203/741 -f 1343/2128/742 1379/2204/742 1376/2201/742 1329/2095/742 -f 1373/2198/743 1380/2205/743 1381/2206/743 1374/2199/743 -f 1374/2199/744 1381/2206/744 1377/2202/744 1375/2200/744 -f 1372/2197/745 1371/2196/745 1376/2201/745 1382/2207/745 -f 1356/2166/746 1355/2165/746 1383/2208/746 1384/2209/746 -f 1356/2166/747 1384/2209/747 1385/2210/747 1357/2167/747 -f 1357/2167/748 1385/2210/748 1379/2204/748 1358/2168/748 -f 1379/2204/749 1385/2210/749 1382/2207/749 1376/2201/749 -f 1380/2205/750 1382/2207/750 1385/2210/750 1384/2209/750 -f 1380/2205/751 1384/2209/751 1383/2208/751 1381/2206/751 -f 1378/2203/752 1377/2202/752 1381/2206/752 1383/2208/752 -f 1386/2211/637 1187/2212/637 1387/2213/637 1388/2214/637 -f 1191/2075/629 1327/2072/629 1386/2215/629 1389/2216/629 1390/2217/629 1391/2218/629 -f 1184/1893/629 1191/1902/629 1391/2219/629 1186/1895/629 -f 1327/2220/629 1185/2221/629 1187/2212/629 1386/2211/629 -f 1392/2222/753 1393/2223/754 1394/2224/754 1395/2225/754 -f 1391/2218/616 1390/2217/616 1393/2223/616 1392/2222/755 -f 1187/1896/693 1186/1895/693 1396/2226/756 1397/2227/693 1398/2228/693 1387/2229/693 -f 1399/2230/757 1400/2231/757 1401/2232/757 1402/2233/757 -f 1387/2229/758 1398/2228/758 1403/2234/758 1404/2235/758 1405/2236/758 1406/2237/758 1407/2238/758 1408/2239/758 1400/2231/758 1399/2230/758 -f 1388/2214/759 1387/2213/759 1399/2240/759 1402/2241/759 -f 1408/2239/760 1410/2242/760 1411/2243/760 1412/2244/760 -f 1410/2242/757 1408/2239/757 1407/2238/757 1413/2245/757 -f 1414/2246/761 1413/2247/761 1415/2248/761 1416/2249/761 -f 1414/2250/757 1406/2237/757 1405/2236/757 1417/2251/757 -f 1418/2252/762 1417/2253/762 1419/2254/762 1420/2255/762 -f 1418/2256/757 1404/2235/757 1403/2234/757 1421/2257/757 -f 1415/2258/763 1422/2259/763 1423/2260/763 1416/2261/763 -f 1413/2245/764 1407/2238/764 1422/2259/764 1415/2258/764 -f 1406/2237/765 1414/2250/765 1416/2261/765 1423/2260/765 -f 1407/2238/766 1406/2237/766 1423/2260/766 1422/2259/766 -f 1419/2262/767 1424/2263/767 1425/2264/767 1420/2265/767 -f 1417/2251/768 1405/2236/768 1424/2263/768 1419/2262/768 -f 1404/2235/769 1418/2256/769 1420/2265/769 1425/2264/769 -f 1405/2236/770 1404/2235/770 1425/2264/770 1424/2263/770 -f 1426/2266/763 1427/2267/763 1412/2244/763 1411/2243/763 -f 1400/2231/771 1408/2239/771 1412/2244/771 1427/2267/771 -f 1410/2268/772 1401/2269/772 1426/2270/772 1411/2271/772 -f 1401/2232/773 1400/2231/773 1427/2267/773 1426/2266/773 -f 1394/2224/774 1393/2223/774 1428/2272/774 1429/2273/774 -f 1421/2274/775 1430/2275/775 1388/2276/775 1402/2277/775 1401/2269/775 1410/2268/775 1413/2247/775 1414/2246/775 1417/2253/775 1418/2252/775 -f 1430/2275/616 1389/2216/616 1386/2215/616 1388/2276/616 -f 1421/2257/776 1403/2234/776 1431/2278/776 1432/2279/776 -f 1433/2280/777 1394/2281/777 1429/2282/777 1434/2283/777 -f 1394/2281/757 1433/2280/757 1409/2284/757 1395/2285/757 -f 1433/2280/778 1397/2227/778 1396/2226/779 1409/2284/778 -f 1389/2216/780 1430/2275/780 1435/2286/780 1436/2287/780 -f 1432/2279/781 1431/2278/781 1434/2283/781 1429/2282/781 -f 1429/2273/782 1428/2272/782 1435/2286/782 1432/2288/782 -f 1428/2272/616 1437/2289/616 1436/2287/616 1435/2286/616 -f 1431/2278/783 1438/2290/783 1439/2291/783 1434/2283/783 -f 1403/2234/784 1398/2228/784 1438/2290/784 1431/2278/784 -f 1398/2228/785 1397/2227/785 1439/2291/785 1438/2290/785 -f 1430/2275/786 1421/2274/786 1432/2288/786 1435/2286/786 -f 1393/2223/787 1390/2217/787 1437/2289/787 1428/2272/787 -f 1390/2217/788 1389/2216/788 1436/2287/788 1437/2289/788 -f 1397/2227/789 1433/2280/789 1434/2283/789 1439/2291/789 -f 1145/2292/629 1216/2170/629 1440/2293/629 1146/2294/629 -f 1141/2295/677 1441/2296/677 1157/2297/677 1142/2298/677 -f 1441/2296/790 1150/1856/790 1149/1855/790 1157/2297/790 -f 1141/2295/791 1211/2299/791 1210/2300/791 1441/2296/791 -f 1327/2301/629 1185/2302/629 1184/2303/629 1191/2304/629 -f 1182/1891/693 1181/2305/693 1180/2191/693 1183/1892/693 -f 1181/2305/614 1442/2306/614 1443/2307/614 1180/2191/614 -f 1456/2308/792 1469/2309/793 1453/2310/793 1452/2311/794 1449/2312/793 1443/2307/793 -f 1144/2313/795 1212/2314/795 1211/2299/795 1141/2295/795 -f 1444/2315/796 1445/2316/796 1245/2317/796 1160/2318/796 -f 1239/1972/797 1240/1973/797 1445/2316/797 1444/2315/797 -f 1440/2293/798 1444/2315/798 1160/2318/798 1146/2294/798 -f 1445/2316/799 1249/2319/799 1243/2320/799 1245/2317/799 -f 1154/1860/800 1248/1984/800 1242/2190/800 1167/2321/800 -f 1170/2322/666 1257/2323/666 1255/1992/666 1176/1885/666 -f 1281/2021/801 1283/2023/801 1278/2146/801 1273/2145/801 -f 1308/2092/790 1328/2091/790 1289/2040/790 1299/2039/790 -f 1304/2045/693 1302/2324/693 1301/2325/693 1305/2046/693 -f 1337/2111/666 1314/2110/666 1313/2098/666 1331/2097/666 -f 1363/2181/666 1309/2059/666 1312/2062/666 1320/2326/666 -f 1221/1954/802 1220/1953/802 1334/2103/802 1333/2102/802 -f 1278/2018/790 1283/2023/790 1336/2109/790 1279/2019/790 -f 1221/1954/803 1333/2102/803 1363/2181/803 1320/2326/803 -f 1155/1943/804 1215/2117/804 1197/2116/804 1208/1944/804 -f 1445/2327/805 1240/1973/805 1351/2141/805 1249/1985/805 -f 1258/1995/806 1346/2132/806 1352/2144/806 1271/2010/806 -f 1333/2102/807 1332/2100/807 1337/2111/807 1363/2181/807 -f 1144/1850/808 1360/2173/808 1213/2172/808 1212/2328/808 -f 1150/1856/809 1441/2329/809 1210/2330/809 1215/2176/809 -f 1216/2170/628 1360/2173/628 1370/2188/628 1440/2293/628 -f 1370/2188/810 1239/1972/810 1444/2315/810 1440/2293/810 -f 1184/1893/811 1183/1892/811 1217/2193/811 1192/1903/811 -f 1373/2198/812 1372/2197/812 1382/2207/812 1380/2205/812 -f 1355/2165/813 1354/2164/813 1378/2203/813 1383/2208/813 -f 1446/2331/637 1447/2332/637 1448/2333/637 1442/2334/637 -f 1179/1920/614 1449/2335/614 1450/2336/614 1451/2337/614 1446/2338/614 1178/2339/614 -f 1180/2191/614 1443/2307/614 1449/2312/614 1179/2083/614 -f 1178/2340/614 1446/2331/614 1442/2334/614 1181/2341/614 -f 1452/2342/814 1453/2343/815 1454/2344/815 1455/2345/815 -f 1392/2346/816 1395/2285/817 1409/2284/817 1396/2226/818 1186/1895/817 1391/2219/817 -f 1449/2335/790 1452/2342/819 1455/2345/790 1450/2336/790 -f 1442/2306/628 1448/2347/628 1457/2348/628 1458/2349/628 1456/2308/820 1443/2307/628 -f 1459/2350/821 1460/2351/821 1461/2352/821 1462/2353/821 -f 1448/2347/822 1459/2350/822 1462/2353/822 1463/2354/822 1464/2355/822 1465/2356/822 1466/2357/822 1467/2358/822 1468/2359/822 1457/2348/822 -f 1447/2332/823 1460/2360/823 1459/2361/823 1448/2333/823 -f 1463/2354/824 1470/2362/824 1471/2363/824 1472/2364/824 -f 1472/2364/821 1473/2365/821 1464/2355/821 1463/2354/821 -f 1474/2366/825 1475/2367/825 1476/2368/825 1473/2369/825 -f 1474/2370/821 1477/2371/821 1466/2357/821 1465/2356/821 -f 1478/2372/826 1479/2373/826 1480/2374/826 1477/2375/826 -f 1478/2376/821 1481/2377/821 1468/2359/821 1467/2358/821 -f 1476/2378/827 1475/2379/827 1482/2380/827 1483/2381/827 -f 1473/2365/828 1476/2378/828 1483/2381/828 1464/2355/828 -f 1465/2356/829 1482/2380/829 1475/2379/829 1474/2370/829 -f 1464/2355/830 1483/2381/830 1482/2380/830 1465/2356/830 -f 1480/2382/831 1479/2383/831 1484/2384/831 1485/2385/831 -f 1477/2371/832 1480/2382/832 1485/2385/832 1466/2357/832 -f 1467/2358/833 1484/2384/833 1479/2383/833 1478/2376/833 -f 1466/2357/834 1485/2385/834 1484/2384/834 1467/2358/834 -f 1486/2386/827 1471/2363/827 1470/2362/827 1487/2387/827 -f 1462/2353/835 1487/2387/835 1470/2362/835 1463/2354/835 -f 1472/2388/836 1471/2389/836 1486/2390/836 1461/2391/836 -f 1461/2352/837 1486/2386/837 1487/2387/837 1462/2353/837 -f 1454/2344/838 1488/2392/838 1489/2393/838 1455/2345/838 -f 1481/2394/839 1478/2372/839 1477/2375/839 1474/2366/839 1473/2369/839 1472/2388/839 1461/2391/839 1460/2395/839 1447/2396/839 1490/2397/839 -f 1490/2397/790 1447/2396/790 1446/2338/790 1451/2337/790 -f 1481/2377/840 1491/2398/840 1492/2399/840 1468/2359/840 -f 1493/2400/841 1494/2401/841 1488/2402/841 1454/2403/841 -f 1454/2403/821 1453/2310/821 1469/2309/821 1493/2400/821 -f 1493/2400/842 1469/2309/842 1456/2308/843 1458/2349/842 -f 1451/2337/844 1495/2404/844 1496/2405/844 1490/2397/844 -f 1491/2398/821 1488/2402/821 1494/2401/821 1492/2399/821 -f 1488/2392/845 1491/2406/845 1496/2405/845 1489/2393/845 -f 1489/2393/790 1496/2405/790 1495/2404/790 1497/2407/790 -f 1492/2399/846 1494/2401/846 1498/2408/846 1499/2409/846 -f 1468/2359/847 1492/2399/847 1499/2409/847 1457/2348/847 -f 1457/2348/848 1499/2409/848 1498/2408/848 1458/2349/848 -f 1490/2397/849 1496/2405/849 1491/2406/849 1481/2394/849 -f 1455/2345/850 1489/2393/850 1497/2407/850 1450/2336/850 -f 1450/2336/851 1497/2407/851 1495/2404/851 1451/2337/851 -f 1458/2349/852 1498/2408/852 1494/2401/852 1493/2400/852 -f 1318/2410/637 1500/2411/637 1501/2412/637 1502/2413/637 1503/2414/637 1504/2415/637 1505/2416/637 1506/2417/637 -f 1181/2305/853 1182/1891/853 1502/2418/853 1501/2419/853 -f 1314/2110/854 1228/2099/854 1227/2420/854 1315/2069/854 1313/2098/854 -f 1221/2421/855 1320/2422/855 1312/2423/855 1317/2078/855 1218/2077/855 -f 1182/1891/856 1185/1894/856 1503/2424/856 1502/2418/856 -f 1315/2069/857 1227/1959/857 1219/1952/857 1506/2080/857 1505/2070/857 -f 1178/1887/858 1181/1890/858 1501/2425/858 1500/2426/858 -f 1185/2221/859 1327/2220/859 1504/2415/859 1503/2414/859 -f 1325/2063/860 1178/2084/860 1500/2427/860 1318/2428/860 1317/2064/860 -f 1194/1912/677 1206/1921/677 1229/2121/677 1195/2118/677 1196/2429/677 -f 1304/2430/666 1336/2431/666 1296/2432/666 1302/2433/666 -f 1336/2431/666 1304/2430/666 1307/2434/666 1279/2435/666 -f 1279/2435/666 1307/2434/666 1292/2436/666 1280/2437/666 -f 1280/2437/666 1292/2436/666 1293/2086/666 1291/2089/666 -f 1303/2438/666 1295/2439/666 1294/2195/666 1328/2194/666 -f 1295/2440/666 1303/2441/666 1302/2442/666 1296/2443/666 -f 1322/2085/615 1321/2094/615 1313/2098/615 1315/2069/615 1323/2073/615 +f 1141/2002/610 1142/2003/610 1143/2004/610 1144/2005/610 +f 1145/2006/611 1146/2007/611 1147/2008/611 1148/2009/611 +f 1148/2009/612 1147/2008/612 1149/2010/612 1150/2011/612 +f 1151/2012/613 1152/2013/613 1153/2014/613 1154/2015/613 +f 1145/2006/614 1148/2009/614 1155/2016/614 1156/2017/614 +f 1142/2018/615 1157/2019/615 1158/2020/615 1159/2021/615 +f 1147/2022/616 1146/2023/616 1160/2024/616 1161/2025/616 +f 1162/2026/617 1163/2027/617 1164/2028/617 1165/2029/617 +f 1166/2030/618 1151/2031/618 1154/2032/618 1167/2033/618 +f 1166/2034/619 1168/2035/619 1169/2036/619 1170/2037/619 +f 1171/2038/620 1172/2039/620 1173/2040/620 1174/2041/620 +f 1172/2042/621 1152/2043/621 1175/2044/621 1173/2045/621 +f 1151/2031/622 1166/2030/622 1170/2046/622 1176/2047/622 +f 1168/2048/623 1163/2049/623 1177/2050/623 1169/2051/623 +f 1182/2052/624 1183/2053/624 1184/2054/624 1185/2055/624 +f 1185/2055/625 1184/2054/625 1186/2056/625 1187/2057/625 +f 1307/2058/626 1221/2059/626 1214/2060/626 +f 1191/2061/627 1184/2062/627 1192/2063/627 1193/2064/627 +f 1222/2065/628 1179/2066/628 1178/2067/628 1315/2068/628 +f 1197/2069/629 1198/2070/629 1194/2071/629 1199/2072/629 +f 1338/2073/630 1329/2074/630 1337/2075/630 +f 1198/2076/631 1203/2077/631 1179/2078/631 1194/2071/631 +f 1180/2079/632 1179/2078/632 1203/2080/632 1204/2081/632 +f 1205/2082/633 1197/2083/633 1199/2072/633 1188/2084/633 +f 1212/2085/634 1145/2006/634 1156/2086/634 1210/2087/634 +f 1207/2088/635 1208/2089/635 1204/2081/635 1203/2080/635 +f 1207/2090/636 1203/2077/636 1198/2076/636 1206/2091/636 +f 1155/2016/637 1205/2092/637 1193/2093/637 1156/2017/637 +f 1209/2094/638 1213/2095/638 1204/2096/638 1208/2097/638 +f 1195/2098/628 1179/2066/628 1222/2065/628 +f 1333/2099/639 1219/2100/639 1345/2101/639 +f 1219/2100/640 1201/2102/640 1200/2103/640 +f 1194/2104/628 1179/2066/628 1195/2098/628 1196/2105/628 +f 1223/2106/641 1161/2107/641 1224/2108/641 1225/2109/641 +f 1226/2110/642 1159/2111/642 1227/2112/642 1228/2113/642 +f 1153/2114/643 1229/2115/643 1230/2116/643 1231/2117/643 +f 1232/2118/644 1226/2119/644 1228/2113/644 1233/2120/644 +f 1234/2121/645 1167/2122/645 1235/2123/645 1236/2124/645 +f 1172/2039/646 1171/2038/646 1237/2125/646 1229/2126/646 +f 1149/2127/647 1147/2128/647 1161/2107/647 1223/2106/647 +f 1168/2035/648 1166/2034/648 1167/2122/648 1234/2121/648 +f 1152/2043/649 1172/2042/649 1229/2115/649 1153/2114/649 +f 1163/2049/650 1168/2048/650 1234/2129/650 1164/2130/650 +f 1143/2131/651 1142/2132/651 1159/2111/651 1226/2110/651 +f 1224/2108/652 1238/2133/652 1236/2124/652 1235/2123/652 +f 1227/2112/653 1239/2134/653 1231/2117/653 1230/2116/653 +f 1228/2113/654 1227/2112/654 1230/2116/654 1240/2135/654 +f 1159/2021/655 1158/2020/655 1239/2134/655 1227/2112/655 +f 1161/2025/656 1160/2024/656 1238/2133/656 1224/2108/656 +f 1154/2015/657 1153/2014/657 1231/2117/657 1241/2136/657 +f 1164/2130/658 1234/2129/658 1236/2124/658 1242/2137/658 +f 1229/2126/659 1237/2125/659 1240/2135/659 1230/2116/659 +f 1243/2138/660 1244/2139/660 1245/2140/660 1246/2141/660 +f 1173/2045/661 1175/2044/661 1247/2142/661 1244/2143/661 +f 1174/2041/661 1173/2040/661 1244/2139/661 1243/2138/661 +f 1175/2144/661 1176/2145/661 1248/2146/661 1247/2147/661 +f 1170/2037/661 1169/2036/661 1249/2148/661 1250/2149/661 +f 1169/2051/661 1177/2050/661 1251/2150/661 1249/2151/661 +f 1252/2152/662 1253/2153/662 1254/2154/662 1255/2155/662 +f 1250/2149/663 1249/2148/663 1256/2156/663 1257/2157/663 +f 1247/2147/664 1248/2146/664 1253/2153/664 1252/2152/664 +f 1248/2158/665 1250/2159/665 1257/2160/665 1253/2161/665 +f 1244/2143/666 1247/2142/666 1252/2162/666 1245/2163/666 +f 1258/2164/661 1259/2165/661 1260/2166/661 1261/2167/661 +f 1253/2161/667 1257/2160/667 1258/2168/667 1254/2169/667 +f 1245/2163/668 1252/2162/668 1255/2170/668 1262/2171/668 +f 1246/2141/669 1245/2140/669 1262/2172/669 1263/2173/669 +f 1256/2174/670 1264/2175/670 1265/2176/670 1259/2177/670 +f 1257/2157/671 1256/2156/671 1259/2165/671 1258/2164/671 +f 1262/2171/661 1255/2170/661 1266/2178/661 1267/2179/661 +f 1263/2173/661 1262/2172/661 1267/2180/661 1268/2181/661 +f 1259/2177/661 1265/2176/661 1269/2182/661 1260/2183/661 +f 1270/2184/628 1271/2185/628 1272/2186/628 1273/2187/628 +f 1274/2188/672 1261/2189/672 1275/2190/672 1276/2191/672 +f 1268/2181/673 1267/2180/673 1270/2192/673 1277/2193/673 +f 1260/2183/674 1269/2182/674 1278/2194/674 1279/2195/674 +f 1269/2196/675 1280/2197/675 1281/2198/675 1278/2199/675 +f 1261/2167/676 1260/2166/676 1279/2200/676 1275/2201/676 +f 1277/2193/610 1270/2192/610 1273/2202/610 1284/2203/610 +f 1279/2195/625 1278/2194/625 1287/2204/625 1288/2205/625 +f 1275/2201/611 1279/2200/611 1288/2206/611 1289/2207/611 +f 1285/2208/611 1290/2209/611 1291/2210/611 1286/2211/611 +f 1291/2210/612 1292/2212/612 1282/2213/612 1286/2211/612 +f 1293/2214/610 1294/2215/610 1295/2216/610 1296/2217/610 +f 1297/2218/624 1298/2219/624 1299/2220/624 1300/2221/624 +f 1300/2221/625 1299/2220/625 1290/2209/625 1285/2208/625 +f 1292/2222/661 1291/2223/661 1290/2224/661 1299/2225/661 1298/2226/661 1294/2227/661 1293/2228/661 1301/2229/661 +f 1302/2230/661 1303/2231/661 1304/2232/661 1305/2233/661 +f 1216/2234/677 1214/2060/677 1199/2235/677 1215/2236/677 +f 1191/2237/611 1188/2238/611 1190/2239/611 1309/2240/611 +f 1308/2241/678 1433/2242/678 1432/2243/678 1317/2244/678 +f 1205/2092/679 1188/2084/679 1191/2061/679 1193/2093/679 +f 1214/2060/680 1310/2245/680 1311/2246/680 1434/2247/680 +f 1315/2068/628 1178/2067/628 1304/2248/628 +f 1312/2249/681 1305/2250/681 1310/2245/681 1214/2060/681 +f 1286/2251/661 1282/2252/661 1283/2253/661 1284/2254/661 +f 1296/2217/628 1318/2255/628 1301/2256/628 1293/2214/628 +f 1313/2257/682 1314/2258/682 1319/2259/682 1320/2260/682 +f 1321/2261/661 1306/2262/661 1313/2257/661 1320/2260/661 +f 1221/2263/683 1322/2264/683 1217/2265/683 1220/2266/683 +f 1217/2267/684 1322/2268/684 1323/2269/684 1324/2270/684 +f 1325/2271/661 1280/2197/661 1269/2196/661 1265/2272/661 +f 1275/2190/612 1289/2273/612 1326/2274/612 1276/2191/612 +f 1221/2263/685 1307/2275/685 1327/2276/685 1322/2264/685 +f 1196/2277/686 1328/2278/686 1329/2279/686 1330/2280/686 +f 1206/2281/687 1198/2070/687 1197/2069/687 1211/2282/687 +f 1196/2283/686 1195/2284/686 1331/2285/686 1328/2286/686 +f 1158/2287/688 1223/2288/688 1225/2109/688 1239/2134/688 +f 1281/2289/689 1277/2290/689 1284/2254/689 1283/2253/689 +f 1222/2291/690 1332/2292/690 1331/2285/690 1195/2284/690 +f 1324/2293/691 1215/2294/691 1330/2280/691 1329/2279/691 +f 1202/2295/692 1189/2296/692 1220/2266/692 1217/2265/692 +f 1202/2295/686 1201/2297/686 1190/2298/686 1189/2296/686 +f 1219/2299/686 1309/2300/686 1190/2301/686 1201/2302/686 +f 1316/2303/693 1309/2300/693 1219/2299/693 1333/2304/693 +f 1319/2259/694 1314/2258/694 1316/2303/694 1333/2304/694 +f 1222/2291/695 1315/2305/695 1334/2306/695 1332/2292/695 +f 1335/2307/661 1336/2308/661 1251/2309/661 1177/2310/661 +f 1200/2103/696 1345/2101/696 1219/2100/696 +f 1361/2311/697 1333/2099/697 1345/2101/697 +f 1331/2312/698 1332/2313/698 1341/2314/698 +f 1228/2113/699 1240/2135/699 1339/2315/699 1233/2120/699 +f 1243/2316/700 1246/2317/700 1340/2318/700 1336/2319/700 +f 1266/2178/701 1271/2185/701 1270/2184/701 1267/2179/701 +f 1281/2198/624 1283/2320/624 1287/2321/624 1278/2199/624 +f 1360/2322/702 1341/2314/702 1332/2313/702 +f 1324/2270/703 1338/2073/703 1218/2323/703 1217/2267/703 +f 1162/2324/704 1165/2325/704 1237/2326/704 1171/2327/704 +f 1171/2327/705 1174/2328/705 1335/2329/705 1162/2324/705 +f 1156/2086/706 1193/2064/706 1192/2063/706 1210/2087/706 +f 1209/2330/707 1210/2331/707 1192/2332/707 1213/2333/707 +f 1165/2325/708 1339/2315/708 1240/2135/708 1237/2326/708 +f 1251/2150/709 1264/2175/709 1256/2174/709 1249/2151/709 +f 1255/2155/661 1254/2154/661 1274/2334/661 1266/2335/661 +f 1304/2232/710 1303/2231/710 1334/2306/710 1315/2305/710 +f 1341/2336/711 1342/2337/711 1343/2338/711 1344/2339/711 1345/2340/711 1200/2341/711 1218/2342/711 1338/2343/711 1337/2344/711 +f 1335/2329/661 1174/2328/661 1243/2316/661 1336/2319/661 +f 1239/2134/712 1225/2109/712 1241/2136/712 1231/2117/712 +f 1341/2314/713 1337/2075/713 1331/2312/713 +f 1212/2085/714 1210/2331/714 1209/2330/714 1346/2345/714 +f 1340/2346/715 1325/2271/715 1265/2272/715 1264/2347/715 +f 1258/2168/661 1261/2189/661 1274/2188/661 1254/2169/661 +f 1150/2011/716 1211/2348/716 1155/2349/716 1148/2009/716 +f 1347/2350/717 1348/2351/717 1349/2352/717 1327/2353/717 +f 1347/2350/718 1327/2353/718 1321/2354/718 1350/2355/718 +f 1302/2356/719 1351/2357/719 1303/2358/719 +f 1357/2359/720 1334/2360/720 1303/2358/720 +f 1349/2352/721 1348/2351/721 1351/2357/721 1302/2356/721 +f 1351/2357/722 1357/2359/722 1303/2358/722 +f 1353/2361/723 1350/2355/723 1320/2362/723 +f 1144/2005/689 1143/2004/689 1352/2363/689 1346/2364/689 +f 1352/2365/724 1143/2366/724 1226/2119/724 1232/2118/724 +f 1163/2027/725 1162/2026/725 1335/2307/725 1177/2310/725 +f 1224/2108/726 1235/2123/726 1241/2136/726 1225/2109/726 +f 1152/2013/727 1151/2012/727 1176/2145/727 1175/2144/727 +f 1165/2029/728 1164/2028/728 1242/2137/728 1339/2367/728 +f 1340/2318/729 1246/2317/729 1263/2368/729 1325/2369/729 +f 1325/2369/661 1263/2368/661 1268/2370/661 1280/2371/661 +f 1280/2371/730 1268/2370/730 1277/2290/730 1281/2289/730 +f 1180/2079/731 1204/2096/731 1213/2095/731 1183/2372/731 +f 1157/2373/732 1149/2374/732 1223/2288/732 1158/2287/732 +f 1318/2375/661 1287/2321/661 1283/2320/661 1282/2376/661 +f 1351/2377/733 1348/2378/733 1347/2379/733 1350/2380/733 1353/2381/733 1354/2382/733 1355/2383/733 1356/2384/733 1357/2385/733 +f 1319/2386/734 1358/2387/734 1353/2361/734 +f 1320/2362/735 1319/2386/735 1353/2361/735 +f 1200/2103/736 1201/2102/736 1202/2388/736 +f 1338/2073/737 1324/2270/737 1329/2074/737 +f 1332/2313/738 1334/2360/738 1359/2389/738 1360/2322/738 +f 1333/2099/739 1361/2311/739 1358/2387/739 1319/2386/739 +f 1355/2390/740 1362/2391/740 1363/2392/740 1356/2393/740 +f 1356/2393/741 1363/2392/741 1359/2389/741 1357/2359/741 +f 1354/2394/742 1353/2361/742 1358/2387/742 1364/2395/742 +f 1343/2396/743 1342/2397/743 1365/2398/743 1366/2399/743 +f 1343/2400/744 1366/2401/744 1367/2402/744 1344/2403/744 +f 1344/2403/745 1367/2402/745 1361/2311/745 1345/2101/745 +f 1361/2311/746 1367/2402/746 1364/2395/746 1358/2387/746 +f 1362/2404/747 1364/2395/747 1367/2402/747 1366/2401/747 +f 1362/2391/748 1366/2399/748 1365/2398/748 1363/2392/748 +f 1360/2322/749 1359/2389/749 1363/2392/749 1365/2398/749 +f 1405/2405/750 1495/2406/750 1491/2407/750 1369/2408/750 +f 1184/2054/625 1191/2237/625 1371/2409/625 1186/2056/625 +f 1317/2244/625 1185/2055/625 1187/2057/625 1368/2410/625 +f 1413/2411/751 1494/2412/751 1492/2413/751 1412/2414/751 +f 1408/2415/752 1374/2416/752 1494/2417/752 1413/2418/752 +f 1373/2419/753 1493/2420/753 1372/2421/753 1382/2422/753 +f 1406/2423/754 1496/2424/754 1495/2425/754 1405/2426/754 +f 1395/2427/755 1370/2428/755 1496/2429/755 1406/2430/755 +f 1370/2431/756 1491/2432/756 1495/2425/756 1496/2424/756 +f 1374/2433/681 1493/2434/681 1492/2413/681 1494/2412/681 +f 1375/2435/757 1372/2436/757 1493/2434/757 1374/2433/757 +f 1372/2436/758 1375/2435/758 1491/2432/758 1370/2431/758 +f 1412/2437/759 1492/2438/759 1493/2439/759 1373/2419/759 +f 1369/2408/760 1394/2440/760 1407/2441/760 1405/2405/760 +f 1409/2442/758 1410/2443/758 1394/2440/758 1369/2408/758 +f 1369/2408/761 1491/2444/761 1375/2445/761 1409/2442/761 +f 1382/2422/762 1372/2446/762 1370/2447/762 1395/2427/762 +f 1373/2419/681 1416/2448/681 1417/2449/681 1412/2437/681 +f 1382/2422/763 1385/2450/763 1386/2451/763 1389/2452/763 1390/2453/763 1391/2454/763 1402/2455/763 1403/2456/763 1416/2448/763 1373/2419/763 +f 1409/2442/764 1375/2457/764 1374/2458/764 1408/2415/764 +f 1402/2459/765 1377/2460/765 1376/2461/765 1401/2462/765 +f 1391/2463/766 1392/2464/766 1377/2460/766 1402/2459/766 +f 1401/2462/767 1376/2461/767 1393/2465/767 1400/2466/767 +f 1377/2460/768 1392/2464/768 1393/2465/768 1376/2461/768 +f 1397/2467/769 1378/2468/769 1379/2469/769 1396/2470/769 +f 1396/2470/770 1379/2469/770 1384/2471/770 1385/2472/770 +f 1386/2473/771 1383/2474/771 1378/2468/771 1397/2467/771 +f 1383/2474/772 1384/2471/772 1379/2469/772 1378/2468/772 +f 1399/2475/773 1380/2476/773 1381/2477/773 1398/2478/773 +f 1398/2478/774 1381/2477/774 1388/2479/774 1389/2480/774 +f 1390/2481/775 1387/2482/775 1380/2476/775 1399/2475/775 +f 1387/2482/768 1388/2479/768 1381/2477/768 1380/2476/768 +f 1385/2450/758 1382/2422/758 1395/2427/758 1396/2483/758 +f 1385/2472/776 1384/2471/776 1383/2474/776 1386/2473/776 +f 1389/2452/758 1386/2451/758 1397/2484/758 1398/2485/758 +f 1389/2480/777 1388/2479/777 1387/2482/777 1390/2481/777 +f 1391/2454/758 1390/2453/758 1399/2486/758 1400/2487/758 +f 1400/2466/778 1393/2465/778 1392/2464/778 1391/2463/778 +f 1416/2488/779 1403/2456/779 1404/2489/779 1415/2490/779 +f 1415/2491/780 1404/2489/780 1401/2492/780 1400/2487/780 1399/2486/780 1398/2485/780 1397/2484/780 1396/2483/780 1395/2427/780 1406/2430/780 +f 1404/2489/758 1403/2456/758 1402/2455/758 1401/2492/758 +f 1329/2074/781 1328/2493/781 1337/2075/781 +f 1414/2494/681 1411/2495/681 1408/2415/681 1413/2418/681 +f 1411/2495/782 1410/2443/782 1409/2442/782 1408/2415/782 +f 1417/2496/686 1416/2488/686 1415/2490/686 1419/2497/686 +f 1145/2006/625 1212/2085/625 1420/2498/625 1146/2007/625 +f 1141/2002/628 1421/2499/628 1157/2500/628 1142/2003/628 +f 1421/2499/681 1150/2011/681 1149/2010/681 1157/2500/681 +f 1141/2002/783 1207/2090/783 1206/2091/783 1421/2499/783 +f 1182/2501/689 1181/2502/689 1180/2503/689 1183/2504/689 +f 1181/2502/610 1422/2505/610 1423/2506/610 1180/2503/610 +f 1144/2005/784 1208/2089/784 1207/2088/784 1141/2002/784 +f 1424/2507/785 1425/2508/785 1238/2133/785 1160/2509/785 +f 1232/2510/786 1233/2511/786 1425/2508/786 1424/2512/786 +f 1420/2513/787 1424/2507/787 1160/2509/787 1146/2514/787 +f 1425/2508/788 1242/2137/788 1236/2124/788 1238/2133/788 +f 1154/2032/789 1241/2136/789 1235/2123/789 1167/2033/789 +f 1170/2046/661 1250/2159/661 1248/2158/661 1176/2047/661 +f 1274/2334/790 1276/2515/790 1271/2516/790 1266/2335/790 +f 1301/2256/681 1318/2255/681 1282/2517/681 1292/2518/681 +f 1297/2218/689 1295/2216/689 1294/2215/689 1298/2219/689 +f 1327/2276/661 1307/2275/661 1306/2519/661 1321/2520/661 +f 1349/2521/661 1302/2522/661 1305/2523/661 1312/2524/661 +f 1216/2525/791 1215/2294/791 1324/2293/791 1323/2526/791 +f 1271/2516/681 1276/2515/681 1326/2527/681 1272/2528/681 +f 1216/2525/792 1323/2526/792 1349/2521/792 1312/2524/792 +f 1155/2349/793 1211/2348/793 1197/2083/793 1205/2082/793 +f 1425/2508/794 1233/2511/794 1339/2367/794 1242/2137/794 +f 1251/2309/795 1336/2308/795 1340/2346/795 1264/2347/795 +f 1323/2269/796 1322/2268/796 1327/2353/796 1349/2352/796 +f 1144/2005/797 1346/2364/797 1209/2094/797 1208/2097/797 +f 1150/2011/798 1421/2499/798 1206/2281/798 1211/2282/798 +f 1212/2085/624 1346/2345/624 1352/2529/624 1420/2498/624 +f 1352/2530/799 1232/2510/799 1424/2512/799 1420/2531/799 +f 1184/2062/800 1183/2532/800 1213/2333/800 1192/2332/800 +f 1355/2533/801 1354/2394/801 1364/2395/801 1362/2404/801 +f 1342/2397/802 1341/2314/802 1360/2322/802 1365/2398/802 +f 1179/2066/610 1427/2534/610 1426/2535/610 1178/2067/610 +f 1180/2503/610 1423/2506/610 1427/2534/610 1179/2066/610 +f 1178/2067/610 1426/2535/610 1422/2505/610 1181/2502/610 +f 1407/2536/661 1411/2537/661 1414/2538/661 1418/2539/661 +f 1311/2540/686 1428/2541/686 1429/2542/686 1430/2543/686 1431/2544/686 1432/2545/686 1433/2546/686 1434/2547/686 +f 1181/2502/803 1182/2501/803 1430/2548/803 1429/2549/803 +f 1214/2060/804 1216/2234/804 1312/2249/804 +f 1215/2236/805 1199/2235/805 1330/2550/805 +f 1182/2052/806 1185/2055/806 1431/2551/806 1430/2552/806 +f 1308/2241/807 1214/2060/807 1434/2553/807 1433/2554/807 +f 1178/2067/808 1181/2502/808 1429/2555/808 1428/2556/808 +f 1185/2055/809 1317/2244/809 1432/2557/809 1431/2558/809 +f 1178/2067/810 1428/2559/810 1311/2560/810 1310/2245/810 +f 1330/2550/681 1199/2235/681 1194/2104/681 1196/2105/681 +f 1297/2561/661 1326/2274/661 1289/2273/661 1295/2562/661 +f 1326/2527/661 1297/2563/661 1300/2564/661 1272/2528/661 +f 1272/2186/661 1300/2565/661 1285/2566/661 1273/2187/661 +f 1273/2202/661 1285/2567/661 1286/2568/661 1284/2203/661 +f 1296/2569/661 1288/2205/661 1287/2204/661 1318/2570/661 +f 1288/2206/661 1296/2571/661 1295/2572/661 1289/2207/661 +f 1447/2573/661 1435/2574/661 1442/2575/661 1443/2576/661 +f 1411/2537/811 1407/2536/811 1394/2440/811 1410/2443/811 +f 1304/2248/628 1178/2067/628 1310/2245/628 1305/2250/628 +f 1199/2235/612 1189/2577/612 1190/2239/612 1188/2238/612 +f 1189/2577/812 1199/2235/812 1220/2578/812 +f 1309/2240/611 1316/2579/611 1191/2237/611 +f 1316/2579/611 1314/2580/611 1317/2244/611 1191/2237/611 +f 1317/2244/611 1314/2580/611 1313/2581/611 +f 1313/2581/611 1306/2582/611 1308/2241/611 1317/2244/611 +f 1214/2060/813 1221/2059/813 1220/2578/813 1199/2235/813 +f 1214/2060/612 1308/2241/612 1306/2582/612 1307/2058/612 +f 1368/2410/625 1371/2409/625 1191/2237/625 1317/2244/625 +f 1437/2583/686 1436/2584/686 1438/2585/686 1439/2586/686 +f 1443/2587/814 1444/2588/814 1445/2589/814 1446/2590/814 +f 1442/2591/612 1441/2592/612 1444/2588/612 1443/2587/612 +f 1436/2593/689 1435/2594/689 1447/2595/689 1448/2596/689 1449/2597/689 1438/2598/689 +f 1450/2599/815 1451/2600/815 1452/2601/815 1453/2602/815 +f 1438/2598/816 1449/2597/816 1454/2603/816 1455/2604/816 1456/2605/816 1457/2606/816 1458/2607/816 1459/2608/816 1451/2600/816 1450/2599/816 +f 1439/2586/817 1438/2585/817 1450/2599/817 1453/2602/817 +f 1459/2609/818 1461/2610/818 1462/2611/818 1463/2612/818 +f 1461/2613/815 1459/2608/815 1458/2607/815 1464/2614/815 +f 1465/2615/819 1464/2616/819 1466/2617/819 1467/2618/819 +f 1465/2619/815 1457/2606/815 1456/2605/815 1468/2620/815 +f 1469/2621/820 1468/2622/820 1470/2623/820 1471/2624/820 +f 1469/2625/815 1455/2604/815 1454/2603/815 1472/2626/815 +f 1466/2617/821 1473/2627/821 1474/2628/821 1467/2618/821 +f 1464/2616/822 1458/2629/822 1473/2627/822 1466/2617/822 +f 1457/2630/823 1465/2615/823 1467/2618/823 1474/2628/823 +f 1458/2629/824 1457/2630/824 1474/2628/824 1473/2627/824 +f 1470/2623/825 1475/2631/825 1476/2632/825 1471/2624/825 +f 1468/2622/826 1456/2633/826 1475/2631/826 1470/2623/826 +f 1455/2634/827 1469/2621/827 1471/2624/827 1476/2632/827 +f 1456/2633/828 1455/2634/828 1476/2632/828 1475/2631/828 +f 1477/2635/821 1478/2636/821 1463/2612/821 1462/2611/821 +f 1451/2637/829 1459/2609/829 1463/2612/829 1478/2636/829 +f 1461/2610/830 1452/2638/830 1477/2635/830 1462/2611/830 +f 1452/2638/831 1451/2637/831 1478/2636/831 1477/2635/831 +f 1445/2589/832 1444/2588/832 1479/2639/832 1480/2640/832 +f 1472/2626/833 1481/2641/833 1439/2642/833 1453/2602/833 1452/2601/833 1461/2613/833 1464/2614/833 1465/2619/833 1468/2620/833 1469/2625/833 +f 1481/2641/612 1440/2643/612 1437/2644/612 1439/2642/612 +f 1472/2626/834 1454/2603/834 1482/2645/834 1483/2646/834 +f 1484/2647/835 1445/2589/835 1480/2648/835 1485/2649/835 +f 1445/2589/815 1484/2647/815 1460/2650/815 1446/2590/815 +f 1484/2647/836 1448/2596/836 1447/2595/836 1460/2650/836 +f 1440/2643/837 1481/2641/837 1486/2651/837 1487/2652/837 +f 1483/2653/815 1482/2654/815 1485/2655/815 1480/2656/815 +f 1480/2656/838 1479/2657/838 1486/2658/838 1483/2653/838 +f 1479/2657/612 1488/2659/612 1487/2660/612 1486/2658/612 +f 1482/2654/839 1489/2661/839 1490/2662/839 1485/2655/839 +f 1454/2603/840 1449/2597/840 1489/2663/840 1482/2664/840 +f 1449/2665/841 1448/2666/841 1490/2662/841 1489/2661/841 +f 1481/2641/842 1472/2626/842 1483/2667/842 1486/2668/842 +f 1444/2588/843 1441/2592/843 1488/2669/843 1479/2670/843 +f 1441/2671/844 1440/2672/844 1487/2660/844 1488/2659/844 +f 1448/2596/845 1484/2647/845 1485/2673/845 1490/2674/845 +f 1443/2576/846 1446/2590/846 1460/2650/846 1447/2573/846 +f 1337/2075/625 1328/2493/625 1331/2312/625 +f 1406/2430/624 1405/2405/624 1407/2441/624 1418/2675/624 1419/2676/624 1415/2491/624 +f 1218/2323/847 1200/2103/847 1202/2388/847 +f 1202/2388/848 1217/2267/848 1218/2323/848 +f 1357/2359/849 1359/2389/849 1334/2360/849 +f 1350/2355/850 1321/2354/850 1320/2362/850 From 30dee77dae28f82f798db5e59ee3b498f61ee5c1 Mon Sep 17 00:00:00 2001 From: UFFR Date: Thu, 8 Jun 2023 20:08:15 -0400 Subject: [PATCH 153/285] =?UTF-8?q?=F0=9F=85=B1=EF=B8=8Fesh=20gaming?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The ultimate alloy --- src/main/java/com/hbm/items/ModItems.java | 15 +++++++++++++++ src/main/java/com/hbm/main/CraftingManager.java | 5 +++++ src/main/resources/assets/hbm/lang/en_US.lang | 4 ++++ 3 files changed, 24 insertions(+) diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index e4b0ec747..35b9cb0d5 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -765,6 +765,11 @@ public class ModItems { 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; @@ -3224,6 +3229,11 @@ public class ModItems { 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_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"); @@ -6386,6 +6396,11 @@ public class ModItems { 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()); //Molds GameRegistry.registerItem(mold_base, mold_base.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 99ca2d9be..0e1c20035 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -482,6 +482,11 @@ public class CraftingManager { 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 }); diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 40758ba0d..a0519159d 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -3854,6 +3854,10 @@ item.stamp_desh_circuit.name=Circuit Stamp (Desh) item.stamp_desh_flat.name=Flat Stamp (Desh) item.stamp_desh_plate.name=Plate Stamp (Desh) item.stamp_desh_wire.name=Wire Stamp (Desh) +item.stamp_desh_357.name=.357 Magnum Stamp (Desh) +item.stamp_desh_44.name=.44 Magnum Stamp (Desh) +item.stamp_desh_50.name=Large Caliber Stamp (Desh) +item.stamp_desh_9.name=Small Caliber Stamp (Desh) item.stamp_iron_circuit.name=Circuit Stamp (Iron) item.stamp_iron_flat.name=Flat Stamp (Iron) item.stamp_iron_plate.name=Plate Stamp (Iron) From 3ecc74f6db1b9aa17cf94d65f00af468059d4a16 Mon Sep 17 00:00:00 2001 From: Vaern Date: Thu, 8 Jun 2023 23:29:25 -0700 Subject: [PATCH 154/285] reactor room, meta pain --- .../world/gen/component/BunkerComponents.java | 212 +++++++++++++++++- .../hbm/world/gen/component/Component.java | 38 +++- 2 files changed, 243 insertions(+), 7 deletions(-) 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 2f14105b6..d23b1f733 100644 --- a/src/main/java/com/hbm/world/gen/component/BunkerComponents.java +++ b/src/main/java/com/hbm/world/gen/component/BunkerComponents.java @@ -35,6 +35,7 @@ public class BunkerComponents { new Weight(10, 3, FunJunction::findValidPlacement), new Weight(5, 2, BathroomL::findValidPlacement), new Weight(7, 2, Laboratory::findValidPlacement), + new Weight(5, 1, PowerRoom::findValidPlacement), }; StructureComponent starter = new StartingHub(rand, x, z); @@ -53,6 +54,7 @@ public class BunkerComponents { MapGenStructureIO.func_143031_a(FunJunction.class, "NTMBFunJunction"); MapGenStructureIO.func_143031_a(BathroomL.class, "NTMBBathroomL"); MapGenStructureIO.func_143031_a(Laboratory.class, "NTMBLaboratory"); + MapGenStructureIO.func_143031_a(PowerRoom.class, "NTMBPowerRoom"); //TODO more rooms for more variety } @@ -483,7 +485,7 @@ public class BunkerComponents { placeBlockAtCurrentPosition(world, ModBlocks.deco_tungsten, 0, 6, 1, 9, box); placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, getDecoMeta(4), 6, 2, 9, box); fillWithBlocks(world, box, 6, 3, 8, 6, 3, 9, ModBlocks.concrete_slab); - placeBlockAtCurrentPosition(world, Blocks.lever, getDecoMeta(2), 5, 1, 9, box); //double-check meta + placeLever(world, box, 2, rand.nextBoolean(), 5, 1, 9); //doors placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 4, 1, 0); placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 5, 1, 0); @@ -565,10 +567,10 @@ public class BunkerComponents { //hand-dryers (industrial-strength) placeBlockAtCurrentPosition(world, ModBlocks.steel_beam, 3, 4, 1, 9, box); placeBlockAtCurrentPosition(world, ModBlocks.fan, getDecoMeta(2), 4, 2, 9, box); - placeBlockAtCurrentPosition(world, Blocks.stone_button, 2, 3, 2, 9, box); //TODO button meta + placeBlockAtCurrentPosition(world, Blocks.stone_button, getButtonMeta(2), 3, 2, 9, box); //TODO button meta placeBlockAtCurrentPosition(world, ModBlocks.steel_beam, 3, 6, 1, 9, box); placeBlockAtCurrentPosition(world, ModBlocks.fan, getDecoMeta(2), 6, 2, 9, box); - placeBlockAtCurrentPosition(world, Blocks.stone_button, 1, 7, 2, 9, box); + placeBlockAtCurrentPosition(world, Blocks.stone_button, getButtonMeta(1), 7, 2, 9, box); //stalls w/ toilets for(int i = 1; i <= 5; i += 2) { placeDoor(world, box, ModBlocks.door_metal, 0, false, rand.nextBoolean(), 5, 1, i); @@ -689,7 +691,7 @@ public class BunkerComponents { placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaW | 4, 7, 1, 3, box); placeBlockAtCurrentPosition(world, ModBlocks.deco_red_copper, 0, 7, 2, 3, box); placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaW, 7, 3, 3, box); - placeBlockAtCurrentPosition(world, Blocks.lever, 2, 6, 2, 3, box); //TODO lever meta + placeLever(world, box, 2, rand.nextBoolean(), 6, 2, 3); fillWithMetadataBlocks(world, box, 7, 1, 4, 7, 2, 4, ModBlocks.steel_poles, decoMetaE); placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 7, 3, 4, box); placeBlockAtCurrentPosition(world, ModBlocks.deco_tungsten, 0, 7, 1, 5, box); @@ -715,4 +717,206 @@ public class BunkerComponents { return box.minY > 10 && StructureComponent.findIntersecting(components, box) == null ? new Laboratory(type, box, coordMode) : null; } } + + public static class PowerRoom extends Component implements ProceduralComponent { + + private boolean path; + + private int powerType; + + public PowerRoom() { } + + public PowerRoom(int componentType, StructureBoundingBox box, int coordMode, Random rand) { + super(componentType); + this.boundingBox = box; + this.coordBaseMode = coordMode; + + float chance = rand.nextFloat(); + powerType = chance < 0.2 ? 2 : chance < 0.6 ? 1 : 0; + } + + /** write to nbt */ + @Override + protected void func_143012_a(NBTTagCompound nbt) { + super.func_143012_a(nbt); + nbt.setBoolean("p", path); + } + + /** read from nbt */ + @Override + protected void func_143011_b(NBTTagCompound nbt) { + super.func_143011_b(nbt); + path = nbt.getBoolean("p"); + } + + @Override + public void buildComponent(ProceduralStructureStart start, Random rand) { + path = this.getNextComponentEast(start, this, coordBaseMode, rand, 4, 1) != null; + } + + @Override + public boolean addComponentParts(World world, Random rand, StructureBoundingBox box) { + + fillWithAir(world, box, 1, 1, 1, 10, 3, 10); + //floor + fillWithMetadataBlocks(world, box, 1, 0, 1, 10, 0, 10, ModBlocks.vinyl_tile, 1); + //ceiling + fillWithBlocks(world, box, 1, 4, 1, 10, 4, 10, ModBlocks.vinyl_tile); + //upper shield + fillWithBlocks(world, box, 0, 5, 0, 11, 5, 11, ModBlocks.reinforced_stone); + //walls + fillWithRandomizedBlocks(world, box, 0, 0, 0, 11, 4, 0, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 0, 0, 1, 0, 4, 10, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 0, 0, 11, 11, 4, 11, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 11, 0, 1, 11, 4, 10, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 5, 1, 1, 5, 3, 6, rand, ConcreteBricks); + fillWithRandomizedBlocks(world, box, 6, 1, 6, 10, 3, 6, rand, ConcreteBricks); + + /* DECO */ + //lamps + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 3, 5, 2, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 3, 5, 5, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 3, 5, 8, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 6, 5, 8, box); + placeBlockAtCurrentPosition(world, ModBlocks.reinforced_lamp_off, 0, 9, 5, 8, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 3, 4, 2, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 3, 4, 5, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 3, 4, 8, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 6, 4, 8, box); + placeBlockAtCurrentPosition(world, ModBlocks.fan, 0, 9, 4, 8, box); + //power room stuff + fillWithBlocks(world, box, 7, 2, 6, 9, 2, 6, ModBlocks.reinforced_glass); + int decoMetaE = getDecoMeta(5); + int decoMetaW = getDecoMeta(4); + int decoMetaN = getDecoMeta(3); + int decoMetaS = getDecoMeta(2); + + int stairMetaS = getStairMeta(3); + int stairMetaN = getStairMeta(2); + int stairMetaW = getStairMeta(1); + int stairMetaE = getStairMeta(0); + + switch(this.powerType) { + default: + fillWithBlocks(world, box, 6, 1, 1, 6, 3, 1, ModBlocks.deco_pipe_framed_rusted); + for(int i = 7; i <= 9; i += 2) { + placeBlockAtCurrentPosition(world, ModBlocks.machine_coal_off, decoMetaN, i, 1, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.steel_beam, 2, i, 2, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.machine_coal_off, decoMetaN, i, 3, 1, box); + } + placeBlockAtCurrentPosition(world, ModBlocks.deco_red_copper, 0, 8, 1, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored_ext, 5, 8, 2, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_red_copper, 0, 8, 3, 1, box); + placeLever(world, box, 3, rand.nextBoolean(), 8, 2, 2); + for(int i = 1; i <= 3; i += 2) { + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 10, i, 1, box); + fillWithMetadataBlocks(world, box, 10, i, 2, 10, i, 4, ModBlocks.deco_pipe_quad_rusted, getPillarMeta(8)); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 10, i, 5, box); + } + placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_framed_rusted, 0, 10, 2, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.fluid_duct_gauge, decoMetaW, 10, 2, 5, box); + placeBlockAtCurrentPosition(world, ModBlocks.barrel_plastic, 0, 6, 1, 5, box); + //chests + generateInvContents(world, box, rand, Blocks.chest, decoMetaS, 7, 1, 5, HbmChestContents.antenna, 4); //WIP + generateInvContents(world, box, rand, Blocks.chest, decoMetaS, 9, 1, 5, HbmChestContents.antenna, 4); + break; + case 1: + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored_ext, 5, 6, 1, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.cable_detector, 0, 6, 2, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored_ext, 5, 6, 3, 1, box); + placeLever(world, box, 3, false, 6, 2, 2); + for(int i = 7; i <= 9; i += 2) { + placeBlockAtCurrentPosition(world, ModBlocks.steel_scaffold, 8, i, 1, 1, box); //i'm not making another fucking meta method + placeBlockAtCurrentPosition(world, ModBlocks.machine_diesel, decoMetaE, i, 2, 1, box); + } + placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_rim_rusted, getPillarMeta(4), 8, 2, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_rim_rusted, getPillarMeta(4), 8, 2, 1, box); + fillWithMetadataBlocks(world, box, 7, 3, 1, 9, 3, 1, ModBlocks.concrete_smooth_stairs, stairMetaS); + fillWithBlocks(world, box, 10, 1, 1, 10, 1, 3, ModBlocks.deco_steel); + placeBlockAtCurrentPosition(world, ModBlocks.deco_red_copper, 0, 10, 2, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_steel, 0, 10, 3, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.steel_grate, 7, 10, 2, 2, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(2), 10, 3, 2, box); + fillWithMetadataBlocks(world, box, 10, 2, 3, 10, 3, 3, ModBlocks.tape_recorder, decoMetaW); + fillWithMetadataBlocks(world, box, 9, 1, 2, 9, 1, 3, ModBlocks.steel_grate, 7); + fillWithBlocks(world, box, 9, 1, 5, 10, 1, 5, ModBlocks.barrel_iron); + placeBlockAtCurrentPosition(world, ModBlocks.barrel_iron, 0, 10, 2, 5, box); + fillWithBlocks(world, box, 6, 1, 5, 6, 2, 5, ModBlocks.barrel_iron); + placeBlockAtCurrentPosition(world, ModBlocks.barrel_iron, 0, 6, 1, 2, box); + break; + case 2: + for(int i = 7; i <= 9; i += 2) { + fillWithBlocks(world, box, i, 1, 2, i, 1, 4, ModBlocks.deco_lead); + fillWithBlocks(world, box, i, 2, 2, i, 2, 4, ModBlocks.block_lead); + fillWithBlocks(world, box, i, 3, 2, i, 3, 4, ModBlocks.deco_lead); + } + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored_ext, 5, 8, 1, 4, box); + placeBlockAtCurrentPosition(world, ModBlocks.reactor_computer, 0, 8, 2, 4, box); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored_ext, 5, 8, 3, 4, box); + placeLever(world, box, 3, rand.nextBoolean(), 8, 2, 5); + placeBlockAtCurrentPosition(world, ModBlocks.reactor_element, 0, 8, 1, 3, box); + placeBlockAtCurrentPosition(world, ModBlocks.reactor_control, 0, 8, 2, 3, box); + placeBlockAtCurrentPosition(world, ModBlocks.reactor_element, 0, 8, 3, 3, box); + placeBlockAtCurrentPosition(world, ModBlocks.block_copper, 0, 8, 1, 2, box); + placeBlockAtCurrentPosition(world, ModBlocks.block_lead, 0, 8, 2, 2, box); + placeBlockAtCurrentPosition(world, ModBlocks.block_copper, 0, 8, 3, 2, box); + placeBlockAtCurrentPosition(world, ModBlocks.reactor_conductor, 0, 8, 1, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.machine_turbine, 0, 8, 2, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.reactor_conductor, 0, 8, 3, 1, box); + fillWithBlocks(world, box, 9, 1, 1, 9, 3, 1, ModBlocks.deco_steel); + placeBlockAtCurrentPosition(world, ModBlocks.steel_grate, 7, 10, 1, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(1), 10, 2, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, decoMetaN, 10, 3, 1, box); + fillWithMetadataBlocks(world, box, 6, 1, 1, 7, 1, 1, ModBlocks.deco_pipe_quad_rusted, getPillarMeta(4)); + placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_quad_rusted, getPillarMeta(4), 7, 3, 1, box); + placeBlockAtCurrentPosition(world, ModBlocks.fluid_duct_gauge, decoMetaN, 6, 3, 1, box); + //chest + generateInvContents(world, box, rand, Blocks.chest, decoMetaN, 6, 1, 2, HbmChestContents.antenna, 4); //WIP + break; + } + //transformer + 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.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); + placeBlockAtCurrentPosition(world, ModBlocks.cable_switch, 0, 1, 2, 5, box); + //machine + for(int i = 1; i <= 5; i += 4) { + placeBlockAtCurrentPosition(world, ModBlocks.deco_beryllium, 0, i, 1, 10, box); + placeBlockAtCurrentPosition(world, ModBlocks.steel_scaffold, 0, i, 2, 10, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_beryllium, 0, i, 3, 10, box); + } + placeBlockAtCurrentPosition(world, ModBlocks.steel_scaffold, 0, 2, 1, 10, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_tungsten, 0, 3, 1, 10, box); + placeBlockAtCurrentPosition(world, ModBlocks.steel_scaffold, 0, 4, 1, 10, box); + placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, decoMetaS, 2, 2, 10, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(0), 3, 2, 10, box); + placeBlockAtCurrentPosition(world, ModBlocks.tape_recorder, decoMetaS, 4, 2, 10, box); + fillWithMetadataBlocks(world, box, 2, 3, 10, 4, 3, 10, ModBlocks.tape_recorder, decoMetaS); + //desk + fillWithMetadataBlocks(world, box, 8, 1, 10, 10, 1, 10, ModBlocks.concrete_smooth_stairs, stairMetaN | 4); + placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaE | 4, 10, 1, 9, box); + placeBlockAtCurrentPosition(world, Blocks.oak_stairs,stairMetaS, 9, 1, 9, box); + placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 8, 2, 10, box); + placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(0), 9, 2, 10, box); + //loot + generateInvContents(world, box, rand, Blocks.chest, decoMetaE, 1, 1, 7, HbmChestContents.antenna, 4); //WIP + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 7, 1, 10, HbmChestContents.antenna, 4); + //doors + placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 3, 1, 0); + placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 4, 1, 0); + placeDoor(world, box, ModBlocks.door_bunker, 0, false, false, 5, 1, 3); + if(path) fillWithAir(world, box, 11, 1, 7, 11, 2, 8); + + return true; + } + + public static StructureComponent findValidPlacement(List components, Random rand, int x, int y, int z, int coordMode, int type) { + StructureBoundingBox box = ProceduralStructureStart.getComponentToAddBoundingBox(x, y, z, -4, -1, 0, 12, 6, 12, coordMode); + return box.minY > 10 && StructureComponent.findIntersecting(components, box) == null ? new PowerRoom(type, box, coordMode, rand) : null; + } + } } 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 eb42dc9b7..73a1ce5f8 100644 --- a/src/main/java/com/hbm/world/gen/component/Component.java +++ b/src/main/java/com/hbm/world/gen/component/Component.java @@ -268,7 +268,7 @@ abstract public class Component extends StructureComponent { case 2: //North dirMeta ^= 2; break; //Flip second bit case 3: //East - dirMeta = (dirMeta - 1) % 4; break; + dirMeta = Math.abs(dirMeta - 1) % 4; break; //fuck you modulo } //hee hoo @@ -280,7 +280,7 @@ abstract public class Component extends StructureComponent { world.setBlock(posX, posY + 1, posZ, door, metaTop, 2); } } - + /** 1 for west face, 2 for east face, 3 for north, 4 for south*/ protected void placeLever(World world, StructureBoundingBox box, int dirMeta, boolean on, int featureX, int featureY, int featureZ) { int posX = this.getXWithOffset(featureX, featureZ); int posY = this.getYWithOffset(featureY); @@ -288,7 +288,39 @@ abstract public class Component extends StructureComponent { if(!box.isVecInside(posX, posY, posZ)) return; - //levers suck ass + if(dirMeta <= 0 || dirMeta >= 7) { //levers suck ass + switch(this.coordBaseMode) { + case 1: case 3: //west / east + dirMeta ^= 0b111; + } + } else if(dirMeta >= 5) { + switch(this.coordBaseMode) { + case 1: case 3: //west / east + dirMeta = (dirMeta + 1) % 2 + 5; + } + } 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? + case 1: //West + if(dirMeta <= 2) return dirMeta + 2; + else if(dirMeta < 4) return dirMeta - 1; + else return dirMeta - 3;// this shit sucks ass + case 2: //North + return dirMeta + (dirMeta % 2 == 0 ? -1 : 1); + case 3: //East + if(dirMeta <= 1) return dirMeta + 3; + else if(dirMeta <= 2) return dirMeta + 1; + else return dirMeta - 2; + default: //South + return dirMeta; + } } /**N:0 W:1 S:2 E:3 */ From 31e5caa2dbffffba491049181f3ad2fe4f6e2a77 Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 9 Jun 2023 11:35:02 +0200 Subject: [PATCH 155/285] capacitor blocks --- src/main/java/com/hbm/blocks/ModBlocks.java | 18 +- .../hbm/blocks/machine/MachineCapacitor.java | 233 ++++++++++++++++++ .../blocks/machine/MachineCapacitorBus.java | 50 ++++ src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ResourceManager.java | 1 + .../com/hbm/render/block/RenderCapacitor.java | 89 +++++++ .../assets/hbm/models/blocks/capacitor.obj | 128 ++++++++++ .../hbm/textures/blocks/capacitor_bus_out.png | Bin 0 -> 195 bytes .../textures/blocks/capacitor_bus_side.png | Bin 0 -> 187 bytes .../blocks/capacitor_copper_bottom.png | Bin 0 -> 612 bytes .../blocks/capacitor_copper_inner_side.png | Bin 0 -> 177 bytes .../blocks/capacitor_copper_inner_top.png | Bin 0 -> 276 bytes .../textures/blocks/capacitor_copper_side.png | Bin 0 -> 379 bytes .../textures/blocks/capacitor_copper_top.png | Bin 0 -> 228 bytes 14 files changed, 515 insertions(+), 5 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/machine/MachineCapacitor.java create mode 100644 src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java create mode 100644 src/main/java/com/hbm/render/block/RenderCapacitor.java create mode 100644 src/main/resources/assets/hbm/models/blocks/capacitor.obj create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_bus_out.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_bus_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_copper_bottom.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_copper_inner_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_copper_inner_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_copper_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_copper_top.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 75e59d0a7..0d2b78975 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -756,6 +756,9 @@ public class ModBlocks { 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 machine_coal_off; public static Block machine_coal_on; @@ -1872,13 +1875,16 @@ public class ModBlocks { //machine_deuterium = new MachineDeuterium(Material.iron).setBlockName("machine_deuterium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_battery_potato = new MachineBattery(Material.iron, 10000).setBlockName("machine_battery_potato").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_battery = new MachineBattery(Material.iron, 1000000).setBlockName("machine_battery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_lithium_battery = new MachineBattery(Material.iron, 50000000).setBlockName("machine_lithium_battery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_schrabidium_battery = new MachineBattery(Material.iron, 25000000000L).setBlockName("machine_schrabidium_battery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); - machine_dineutronium_battery = new MachineBattery(Material.iron, 1000000000000L).setBlockName("machine_dineutronium_battery").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); + 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).setBlockName("capacitor_copper").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_copper"); + machine_coal_off = new MachineCoal(false).setBlockName("machine_coal_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_coal_on = new MachineCoal(true).setBlockName("machine_coal_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); @@ -3192,6 +3198,8 @@ public class ModBlocks { register(machine_schrabidium_battery); register(machine_dineutronium_battery); register(machine_fensu); + register(capacitor_bus); + register(capacitor_copper); 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()); diff --git a/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java b/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java new file mode 100644 index 000000000..ad9effd70 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java @@ -0,0 +1,233 @@ +package com.hbm.blocks.machine; + +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.ILookOverlay; +import com.hbm.blocks.IPersistentInfoProvider; +import com.hbm.blocks.ModBlocks; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.INBTPacketReceiver; +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 api.hbm.energy.IEnergyUser; +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.client.renderer.texture.IIconRegister; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.stats.StatList; +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 net.minecraftforge.common.util.ForgeDirection; + +public class MachineCapacitor extends BlockContainer implements ILookOverlay, IPersistentInfoProvider { + + @SideOnly(Side.CLIENT) public IIcon iconTop; + @SideOnly(Side.CLIENT) public IIcon iconSide; + @SideOnly(Side.CLIENT) public IIcon iconBottom; + @SideOnly(Side.CLIENT) public IIcon iconInnerTop; + @SideOnly(Side.CLIENT) public IIcon iconInnerSide; + + protected long power; + + public MachineCapacitor(Material mat, long power) { + super(mat); + this.power = power; + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":capacitor_copper_top"); + this.iconSide = iconRegister.registerIcon(RefStrings.MODID + ":capacitor_copper_side"); + this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":capacitor_copper_bottom"); + this.iconInnerTop = iconRegister.registerIcon(RefStrings.MODID + ":capacitor_copper_inner_top"); + this.iconInnerSide = iconRegister.registerIcon(RefStrings.MODID + ":capacitor_copper_inner_side"); + } + + 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 int onBlockPlaced(World world, int x, int y, int z, int side, float fX, float fY, float fZ, int meta) { + return side; + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityCapacitor(this.power); + } + + @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) + "%"); + + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } + + @Override + public void addInformation(ItemStack stack, NBTTagCompound persistentTag, EntityPlayer player, List list, boolean ext) { + list.add(EnumChatFormatting.YELLOW + "" + BobMathUtil.getShortNumber(persistentTag.getLong("power")) + "/" + BobMathUtil.getShortNumber(persistentTag.getLong("maxPower")) + "HE"); + } + + @Override + public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { + return IPersistentNBT.getDrops(world, x, y, z, this); + } + + @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 IEnergyUser, INBTPacketReceiver, IPersistentNBT { + + public long power; + protected long maxPower; + + 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.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), last); + } + + this.trySubscribe(worldObj, xCoord + opp.offsetX, yCoord+ opp.offsetY, zCoord + opp.offsetZ, opp); + + NBTTagCompound data = new NBTTagCompound(); + data.setLong("power", power); + data.setLong("maxPower", maxPower); + INBTPacketReceiver.networkPack(this, data, 15); + } + } + + @Override + public void networkUnpack(NBTTagCompound nbt) { + this.power = nbt.getLong("power"); + } + + @Override + public long getPower() { + return power; + } + + @Override + public long getMaxPower() { + return maxPower; + } + + @Override + public ConnectionPriority getPriority() { + return ConnectionPriority.LOW; + } + + @Override + public void setPower(long power) { + this.power = power; + } + + @Override + public boolean canConnect(ForgeDirection dir) { + return dir == ForgeDirection.getOrientation(this.getBlockMetadata()); + } + + @Override + public void writeNBT(NBTTagCompound nbt) { + NBTTagCompound data = new NBTTagCompound(); + data.setLong("power", power); + data.setLong("maxPower", maxPower); + nbt.setTag(NBT_PERSISTENT_KEY, data); + } + + @Override + public void readNBT(NBTTagCompound nbt) { + NBTTagCompound data = nbt.getCompoundTag(NBT_PERSISTENT_KEY); + 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); + } + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java b/src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java new file mode 100644 index 000000000..8ed5b2ed1 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java @@ -0,0 +1,50 @@ +package com.hbm.blocks.machine; + +import com.hbm.lib.RefStrings; + +import api.hbm.energy.IEnergyConnectorBlock; +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.item.ItemStack; +import net.minecraft.util.IIcon; +import net.minecraft.world.IBlockAccess; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class MachineCapacitorBus extends Block implements IEnergyConnectorBlock { + + @SideOnly(Side.CLIENT) private IIcon topIcon; + + public MachineCapacitorBus(Material mat) { + super(mat); + } + + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister p_149651_1_) { + this.blockIcon = p_149651_1_.registerIcon(RefStrings.MODID + ":capacitor_bus_side"); + this.topIcon = p_149651_1_.registerIcon(RefStrings.MODID + ":capacitor_bus_out"); + } + + @SideOnly(Side.CLIENT) + 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); + world.setBlockMetadataWithNotify(x, y, z, l, 2); + } + + @Override + public boolean canConnect(IBlockAccess world, int x, int y, int z, ForgeDirection dir) { + int meta = world.getBlockMetadata(x, y, z); + ForgeDirection busDir = ForgeDirection.getOrientation(meta); + return dir == busDir; + } +} diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 64ad4bffe..492673357 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -777,6 +777,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderRTTY()); RenderingRegistry.registerBlockHandler(new RenderDiFurnaceExtension()); RenderingRegistry.registerBlockHandler(new RenderSplitter()); + RenderingRegistry.registerBlockHandler(new RenderCapacitor()); RenderingRegistry.registerBlockHandler(new RenderFoundryBasin()); RenderingRegistry.registerBlockHandler(new RenderFoundryMold()); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index c573f1b49..3dfe7107b 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1334,6 +1334,7 @@ public class ResourceManager { public static final IModelCustom rail_standard_straight = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard.obj")); public static final IModelCustom rail_standard_curve = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_bend.obj")); public static final IModelCustom rail_standard_ramp = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_ramp.obj")); + public static final IModelCustom capacitor = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/capacitor.obj")); 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")); diff --git a/src/main/java/com/hbm/render/block/RenderCapacitor.java b/src/main/java/com/hbm/render/block/RenderCapacitor.java new file mode 100644 index 000000000..227bf140c --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderCapacitor.java @@ -0,0 +1,89 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.machine.MachineCapacitor; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +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; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderCapacitor implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + tessellator.setColorOpaque_F(1, 1, 1); + + MachineCapacitor capacitor = (MachineCapacitor) block; + + tessellator.startDrawingQuads(); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.capacitor, "Top", capacitor.iconTop, tessellator, 0, false); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.capacitor, "Side", capacitor.iconSide, tessellator, 0, false); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.capacitor, "Bottom", capacitor.iconBottom, tessellator, 0, false); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.capacitor, "InnerTop", capacitor.iconInnerTop, tessellator, 0, false); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.capacitor, "InnerSide", capacitor.iconInnerSide, tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + Tessellator tessellator = Tessellator.instance; + MachineCapacitor capacitor = (MachineCapacitor) block; + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + float flip = 0; + float rotation = 0; + + int meta = world.getBlockMetadata(x, y, z); + + if(meta == 0) + flip = (float)Math.PI; + + if(meta == 2) + rotation = 90F / 180F * (float) Math.PI; + + if(meta == 3) + rotation = 270F / 180F * (float) Math.PI; + + if(meta == 4) + rotation = 180F / 180F * (float)Math.PI; + + if(rotation != 0F || meta == 5) + flip = (float)Math.PI * 0.5F; + + tessellator.addTranslation(x + 0.5F, y + 0.5F, z + 0.5F); + + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.capacitor, "Top", capacitor.iconTop, tessellator, rotation, flip, true); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.capacitor, "Side", capacitor.iconSide, tessellator, rotation, flip, true); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.capacitor, "Bottom", capacitor.iconBottom, tessellator, rotation, flip, true); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.capacitor, "InnerTop", capacitor.iconInnerTop, tessellator, rotation, flip, true); + ObjUtil.renderPartWithIcon((WavefrontObject) ResourceManager.capacitor, "InnerSide", capacitor.iconInnerSide, tessellator, rotation, flip, true); + + tessellator.addTranslation(-x - 0.5F, -y - 0.5F, -z - 0.5F); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return MachineCapacitor.renderID; + } +} diff --git a/src/main/resources/assets/hbm/models/blocks/capacitor.obj b/src/main/resources/assets/hbm/models/blocks/capacitor.obj new file mode 100644 index 000000000..81f79da44 --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/capacitor.obj @@ -0,0 +1,128 @@ +# Blender v2.79 (sub 0) OBJ File: 'capacitor.blend' +# www.blender.org +o InnerSide +v -0.437500 -0.250000 0.437500 +v -0.437500 -0.250000 -0.437500 +v 0.437500 -0.250000 0.437500 +v 0.437500 -0.250000 -0.437500 +v -0.437500 0.437500 0.437500 +v -0.437500 0.437500 -0.437500 +v 0.437500 0.437500 -0.437500 +v 0.437500 0.437500 0.437500 +vt 0.937500 0.250000 +vt 0.062500 0.937500 +vt 0.062500 0.250000 +vt 0.062500 0.937500 +vt 0.937500 0.250000 +vt 0.937500 0.937500 +vt 0.937500 0.250000 +vt 0.062500 0.937500 +vt 0.062500 0.250000 +vt 0.062500 0.937500 +vt 0.937500 0.250000 +vt 0.937500 0.937500 +vt 0.937500 0.937500 +vt 0.062500 0.250000 +vt 0.937500 0.937500 +vt 0.062500 0.250000 +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 +s off +f 3/1/1 5/2/1 1/3/1 +f 2/4/2 7/5/2 4/6/2 +f 4/7/3 8/8/3 3/9/3 +f 1/10/4 6/11/4 2/12/4 +f 3/1/1 8/13/1 5/2/1 +f 2/4/2 6/14/2 7/5/2 +f 4/7/3 7/15/3 8/8/3 +f 1/10/4 5/16/4 6/11/4 +o InnerTop +v -0.437500 0.437500 0.437500 +v -0.437500 0.437500 -0.437500 +v 0.437500 0.437500 -0.437500 +v 0.437500 0.437500 0.437500 +vt 0.937500 0.937500 +vt 0.062500 0.062500 +vt 0.937500 0.062500 +vt 0.062500 0.937500 +vn 0.0000 1.0000 0.0000 +s off +f 10/17/5 12/18/5 11/19/5 +f 10/17/5 9/20/5 12/18/5 +o Side +v -0.500000 -0.500000 0.500000 +v -0.500000 0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v -0.500000 0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v 0.500000 0.500000 -0.500000 +vt 1.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 1.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 1.000000 +vt 0.000000 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 +s off +f 14/21/6 15/22/6 13/23/6 +f 16/24/7 19/25/7 15/26/7 +f 20/27/8 17/28/8 19/29/8 +f 18/30/9 13/31/9 17/32/9 +f 14/21/6 16/33/6 15/22/6 +f 16/24/7 20/34/7 19/25/7 +f 20/27/8 18/35/8 17/28/8 +f 18/30/9 14/36/9 13/31/9 +o Top +v -0.500000 0.500000 0.500000 +v -0.500000 0.500000 -0.500000 +v 0.500000 0.500000 0.500000 +v 0.500000 0.500000 -0.500000 +vt 1.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 1.000000 +vn 0.0000 1.0000 0.0000 +s off +f 22/37/10 23/38/10 24/39/10 +f 22/37/10 21/40/10 23/38/10 +o Bottom +v -0.500000 -0.500000 0.500000 +v -0.500000 -0.500000 -0.500000 +v 0.500000 -0.500000 0.500000 +v 0.500000 -0.500000 -0.500000 +v -0.500000 -0.250000 0.500000 +v -0.500000 -0.250000 -0.500000 +v 0.500000 -0.250000 0.500000 +v 0.500000 -0.250000 -0.500000 +vt 1.000000 1.000000 +vt 0.000000 0.000000 +vt 1.000000 0.000000 +vt 0.000000 0.000000 +vt 1.000000 1.000000 +vt 0.000000 1.000000 +vt 0.000000 1.000000 +vt 1.000000 0.000000 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 1.0000 0.0000 +s off +f 28/41/11 25/42/11 26/43/11 +f 30/44/12 31/45/12 32/46/12 +f 28/41/11 27/47/11 25/42/11 +f 30/44/12 29/48/12 31/45/12 diff --git a/src/main/resources/assets/hbm/textures/blocks/capacitor_bus_out.png b/src/main/resources/assets/hbm/textures/blocks/capacitor_bus_out.png new file mode 100644 index 0000000000000000000000000000000000000000..c9a207e23aea062507bc44b8c20b64fa7bdda6c9 GIT binary patch literal 195 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf=FKK#%|c literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/capacitor_bus_side.png b/src/main/resources/assets/hbm/textures/blocks/capacitor_bus_side.png new file mode 100644 index 0000000000000000000000000000000000000000..ae4dbc27800f8f32b39db0885b05d1266c03f65e GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf~nvU!I+n-gC}vdV95_gF}O(vorH@x0p{lC+3Lj$3568JKLsB+=G=l|3HS-0w*h= f(GI){L5vJjI-KSgN!)4&+RotV>gTe~DWM4f9#}gk literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/capacitor_copper_bottom.png b/src/main/resources/assets/hbm/textures/blocks/capacitor_copper_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..32987415c75d9d064248e0f6ba19756b7fdf6d51 GIT binary patch literal 612 zcmV-q0-ODbP)MBP~i%Kz1+qOyUZ7fd;hQ@-CCY`=^yIrHv)s4IBU(t4k zh^?n<FFtdFd7ezSQCkkD3+-Uw%dmx=wxEuxd zGiX`oEESeHJgsBSrKmMJY?ktJ6ID%d)U-Hmb`W7Wrt8?e|M82rulIoKj})Kdcs;jA z&+SofNBP5Wj1VG;J(%!h#pL7nLjdN@8~|sQ%LBy%pzGM^nod$tm^X8gyGTY1Vz=bX y3`0KvKuf6%{QxB?q~ISvg7MfELK@is0000UQk literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/capacitor_copper_inner_side.png b/src/main/resources/assets/hbm/textures/blocks/capacitor_copper_inner_side.png new file mode 100644 index 0000000000000000000000000000000000000000..554d60816ff52c64b04384a25e3a35a4aa0ba5f4 GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf-A`$s96Yt^22EJ~agaT^|!-ZA6q`dfS7?TVSFbuK_g)cx@8 z`SPYWvxH1Lb?fVW-)y`0vHfA5hpnEoQH<>*!NLg}=i7GNIQb`U_VS5p8BJ780avHS+=>gaORZewpJ}ZwzMc5Y z{PepLv(-nNrzxho@gJDoGuvF9Yvw9(27%)n3pWQ@dOfq)_Lr66&&+faOJ9+PFPQ>Z z81ljcZ6lv~%zU`(oq9ME!?NOd>&RtYkL`4xY-Ko5RjogV`SqCu6P>G}Obme{j0!Cc zsqxX5*E0Jo`o`uIVxOT~a6^_;M{9j7_Y1jG50fhdEP)7xV6oo&79Y`R-2)eXYr4AkXC$V)+-<(It6Lf4l1Yw~- zAt2HrH8l`Yq29^4_W69ybwnJ;1^*}sV2n9isI|rzQv%#3z<4|sRU+%wy|7^yNsrNRbsd7>)0~JAn(H!gg&q;yP?mcekh`_$7h-nv=r}?jLSh6$O-%m zDb?<*+-%k?z7}k^1usu`KkN$tJdtyIeZ@M@0hrBayW8JB41pgYrBp;=k6~9ZnWg{? z`olfz%JY~^Q=(3U@;m_2tQ>`SeZJWZMKznumt~YryTyFD!c)ILYrftv&6f1L?b4x= Zd;=o0r-(xk=!yUU002ovPDHLkV1hf;oGt(W literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/capacitor_copper_top.png b/src/main/resources/assets/hbm/textures/blocks/capacitor_copper_top.png new file mode 100644 index 0000000000000000000000000000000000000000..42a14038a4c78297d7feaeb38df310f23324ca9f GIT binary patch literal 228 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfs@^tNt_I0~)f87p<8VZ*cr;AQ7dhU$uYBOUs>0y_AeT7^bz&x8K8S%zQw# zgL`lJssmd;3cgN}HnK3=$GXaEs>-2NUi^-#HxD|@aGbK`8k@2IB%V5xj!8fEHE(Y+ z_hkKeCavwO#nJ@X8~bltYTdZ5&DnY4!z@Xe$J-wpZr Date: Fri, 9 Jun 2023 14:11:06 +0200 Subject: [PATCH 156/285] liquefied pain --- .../assets/hbm/models/weapons/coilgun.obj | 10556 ++++++++-------- 1 file changed, 5328 insertions(+), 5228 deletions(-) diff --git a/src/main/resources/assets/hbm/models/weapons/coilgun.obj b/src/main/resources/assets/hbm/models/weapons/coilgun.obj index 50e810e4b..b24831496 100644 --- a/src/main/resources/assets/hbm/models/weapons/coilgun.obj +++ b/src/main/resources/assets/hbm/models/weapons/coilgun.obj @@ -1,4787 +1,5 @@ # Blender v2.79 (sub 0) OBJ File: 'coilgun.blend' # www.blender.org -o Coils_Cylinder.012 -v -0.463562 0.524760 2.571894 -v -0.237813 0.524760 2.571894 -v -0.237813 0.222044 2.697284 -v -0.463562 0.222044 2.697284 -v -0.237813 0.096655 3.000000 -v -0.463562 0.096655 3.000000 -v -0.237813 0.222044 3.302716 -v -0.463562 0.222044 3.302716 -v -0.237813 0.524760 3.428106 -v -0.463562 0.524760 3.428106 -v -0.237813 0.827477 3.302716 -v -0.463562 0.827477 3.302716 -v -0.237813 0.952866 3.000000 -v -0.463562 0.952866 3.000000 -v -0.237813 0.827477 2.697284 -v -0.463562 0.827477 2.697284 -v -0.170088 0.524760 2.571894 -v 0.055660 0.524760 2.571894 -v 0.055660 0.222044 2.697284 -v -0.170088 0.222044 2.697284 -v 0.055660 0.096655 3.000000 -v -0.170088 0.096655 3.000000 -v 0.055660 0.222044 3.302716 -v -0.170088 0.222044 3.302716 -v 0.055660 0.524760 3.428106 -v -0.170088 0.524760 3.428106 -v 0.055660 0.827477 3.302716 -v -0.170088 0.827477 3.302716 -v 0.055660 0.952866 3.000000 -v -0.170088 0.952866 3.000000 -v 0.055660 0.827477 2.697284 -v -0.170088 0.827477 2.697284 -v 0.123385 0.524760 2.571894 -v 0.349134 0.524760 2.571894 -v 0.349134 0.222044 2.697284 -v 0.123385 0.222044 2.697284 -v 0.349134 0.096655 3.000000 -v 0.123385 0.096655 3.000000 -v 0.349134 0.222044 3.302716 -v 0.123385 0.222044 3.302716 -v 0.349134 0.524760 3.428106 -v 0.123385 0.524760 3.428106 -v 0.349134 0.827477 3.302716 -v 0.123385 0.827477 3.302716 -v 0.349134 0.952866 3.000000 -v 0.123385 0.952866 3.000000 -v 0.349134 0.827477 2.697284 -v 0.123385 0.827477 2.697284 -v 0.416858 0.524760 2.571894 -v 0.642607 0.524760 2.571894 -v 0.642607 0.222044 2.697284 -v 0.416858 0.222044 2.697284 -v 0.642607 0.096655 3.000000 -v 0.416858 0.096655 3.000000 -v 0.642607 0.222044 3.302716 -v 0.416858 0.222044 3.302716 -v 0.642607 0.524760 3.428106 -v 0.416858 0.524760 3.428106 -v 0.642607 0.827477 3.302716 -v 0.416858 0.827477 3.302716 -v 0.642607 0.952866 3.000000 -v 0.416858 0.952866 3.000000 -v 0.642607 0.827477 2.697284 -v 0.416858 0.827477 2.697284 -v 0.710331 0.524760 2.571894 -v 0.936080 0.524760 2.571894 -v 0.936080 0.222044 2.697284 -v 0.710331 0.222044 2.697284 -v 0.936080 0.096655 3.000000 -v 0.710331 0.096655 3.000000 -v 0.936080 0.222044 3.302716 -v 0.710331 0.222044 3.302716 -v 0.936080 0.524760 3.428106 -v 0.710331 0.524760 3.428106 -v 0.936080 0.827477 3.302716 -v 0.710331 0.827477 3.302716 -v 0.936080 0.952866 3.000000 -v 0.710331 0.952866 3.000000 -v 0.936080 0.827477 2.697284 -v 0.710331 0.827477 2.697284 -vt 0.781097 0.399443 -vt 0.718903 0.399443 -vt 0.718903 0.309173 -vt 0.781097 0.309173 -vt 0.718903 0.218903 -vt 0.781097 0.218903 -vt 0.781097 0.941064 -vt 0.718903 0.941064 -vt 0.718903 0.850794 -vt 0.781097 0.850794 -vt 0.718903 0.760524 -vt 0.781097 0.760524 -vt 0.718903 0.670254 -vt 0.781097 0.670254 -vt 0.718903 0.579984 -vt 0.781097 0.579984 -vt 0.218903 0.282734 -vt 0.282733 0.218903 -vt 0.373004 0.218903 -vt 0.436834 0.282734 -vt 0.436834 0.373004 -vt 0.373003 0.436835 -vt 0.282733 0.436834 -vt 0.218903 0.373004 -vt 0.718903 0.489714 -vt 0.781097 0.489714 -vt 0.064155 0.437482 -vt 0.154425 0.437483 -vt 0.218255 0.501313 -vt 0.218255 0.591583 -vt 0.154425 0.655414 -vt 0.064154 0.655414 -vt 0.000324 0.591583 -vt 0.000324 0.501313 -vt 0.999676 0.180864 -vt 0.937482 0.180864 -vt 0.937482 0.090594 -vt 0.999676 0.090594 -vt 0.937482 0.000324 -vt 0.999676 0.000324 -vt 0.999676 0.722485 -vt 0.937482 0.722485 -vt 0.937482 0.632215 -vt 0.999676 0.632215 -vt 0.937482 0.541944 -vt 0.999676 0.541944 -vt 0.937482 0.451674 -vt 0.999676 0.451674 -vt 0.937482 0.361404 -vt 0.999676 0.361404 -vt 0.000324 0.282734 -vt 0.064154 0.218903 -vt 0.154425 0.218903 -vt 0.218255 0.282734 -vt 0.218255 0.373004 -vt 0.154424 0.436835 -vt 0.064154 0.436834 -vt 0.000324 0.373004 -vt 0.937482 0.271134 -vt 0.999676 0.271134 -vt 0.501313 0.218903 -vt 0.591583 0.218903 -vt 0.655413 0.282734 -vt 0.655413 0.373004 -vt 0.591583 0.436835 -vt 0.501313 0.436834 -vt 0.437482 0.373004 -vt 0.437482 0.282734 -vt 0.718255 0.399443 -vt 0.656061 0.399443 -vt 0.656061 0.309173 -vt 0.718255 0.309173 -vt 0.656061 0.218903 -vt 0.718255 0.218903 -vt 0.718255 0.941064 -vt 0.656061 0.941064 -vt 0.656061 0.850794 -vt 0.718255 0.850794 -vt 0.656061 0.760524 -vt 0.718255 0.760524 -vt 0.656061 0.670254 -vt 0.718255 0.670254 -vt 0.656061 0.579984 -vt 0.718255 0.579984 -vt 0.218903 0.501313 -vt 0.282733 0.437482 -vt 0.373004 0.437483 -vt 0.436834 0.501313 -vt 0.436834 0.591583 -vt 0.373003 0.655414 -vt 0.282733 0.655414 -vt 0.218903 0.591583 -vt 0.656061 0.489714 -vt 0.718255 0.489714 -vt 0.501313 0.437482 -vt 0.591583 0.437483 -vt 0.655413 0.501313 -vt 0.655413 0.591583 -vt 0.591583 0.655414 -vt 0.501313 0.655414 -vt 0.437482 0.591583 -vt 0.437482 0.501313 -vt 0.936834 0.180864 -vt 0.874640 0.180864 -vt 0.874640 0.090594 -vt 0.936834 0.090594 -vt 0.874640 0.000324 -vt 0.936834 0.000324 -vt 0.936834 0.722484 -vt 0.874640 0.722484 -vt 0.874640 0.632214 -vt 0.936834 0.632214 -vt 0.874640 0.541944 -vt 0.936834 0.541944 -vt 0.874640 0.451674 -vt 0.936834 0.451674 -vt 0.874640 0.361404 -vt 0.936834 0.361404 -vt 0.656061 0.064155 -vt 0.719891 0.000324 -vt 0.810162 0.000324 -vt 0.873992 0.064155 -vt 0.873992 0.154425 -vt 0.810162 0.218255 -vt 0.719891 0.218255 -vt 0.656061 0.154425 -vt 0.874640 0.271134 -vt 0.936834 0.271134 -vt 0.501313 0.000324 -vt 0.591583 0.000324 -vt 0.655413 0.064155 -vt 0.655413 0.154425 -vt 0.591583 0.218255 -vt 0.501313 0.218255 -vt 0.437482 0.154425 -vt 0.437482 0.064155 -vt 0.873992 0.399443 -vt 0.811798 0.399443 -vt 0.811798 0.309173 -vt 0.873992 0.309173 -vt 0.811798 0.218903 -vt 0.873992 0.218903 -vt 0.873992 0.941064 -vt 0.811798 0.941064 -vt 0.811798 0.850794 -vt 0.873992 0.850794 -vt 0.811798 0.760524 -vt 0.873992 0.760524 -vt 0.811798 0.670253 -vt 0.873992 0.670253 -vt 0.811798 0.579983 -vt 0.873992 0.579983 -vt 0.218903 0.064155 -vt 0.282733 0.000324 -vt 0.373004 0.000324 -vt 0.436834 0.064155 -vt 0.436834 0.154425 -vt 0.373003 0.218255 -vt 0.282733 0.218255 -vt 0.218903 0.154425 -vt 0.811798 0.489713 -vt 0.873992 0.489713 -vt 0.064155 0.000324 -vt 0.154425 0.000324 -vt 0.218255 0.064155 -vt 0.218255 0.154425 -vt 0.154425 0.218255 -vt 0.064154 0.218255 -vt 0.000324 0.154425 -vt 0.000324 0.064155 -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 1.0000 0.0000 0.0000 -vn 0.0000 0.9239 -0.3827 -vn 0.0000 0.3827 -0.9239 -vn -1.0000 0.0000 0.0000 -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 4/4/2 3/3/2 5/5/2 6/6/2 -f 6/7/3 5/8/3 7/9/3 8/10/3 -f 8/10/4 7/9/4 9/11/4 10/12/4 -f 10/12/5 9/11/5 11/13/5 12/14/5 -f 12/14/6 11/13/6 13/15/6 14/16/6 -f 3/17/7 2/18/7 15/19/7 13/20/7 11/21/7 9/22/7 7/23/7 5/24/7 -f 14/16/8 13/15/8 15/25/8 16/26/8 -f 16/26/9 15/25/9 2/2/9 1/1/9 -f 1/27/10 4/28/10 6/29/10 8/30/10 10/31/10 12/32/10 14/33/10 16/34/10 -f 17/35/1 18/36/1 19/37/1 20/38/1 -f 20/38/2 19/37/2 21/39/2 22/40/2 -f 22/41/3 21/42/3 23/43/3 24/44/3 -f 24/44/4 23/43/4 25/45/4 26/46/4 -f 26/46/5 25/45/5 27/47/5 28/48/5 -f 28/48/6 27/47/6 29/49/6 30/50/6 -f 19/51/7 18/52/7 31/53/7 29/54/7 27/55/7 25/56/7 23/57/7 21/58/7 -f 30/50/8 29/49/8 31/59/8 32/60/8 -f 32/60/9 31/59/9 18/36/9 17/35/9 -f 17/61/10 20/62/10 22/63/10 24/64/10 26/65/10 28/66/10 30/67/10 32/68/10 -f 33/69/1 34/70/1 35/71/1 36/72/1 -f 36/72/2 35/71/2 37/73/2 38/74/2 -f 38/75/3 37/76/3 39/77/3 40/78/3 -f 40/78/4 39/77/4 41/79/4 42/80/4 -f 42/80/5 41/79/5 43/81/5 44/82/5 -f 44/82/6 43/81/6 45/83/6 46/84/6 -f 35/85/7 34/86/7 47/87/7 45/88/7 43/89/7 41/90/7 39/91/7 37/92/7 -f 46/84/8 45/83/8 47/93/8 48/94/8 -f 48/94/9 47/93/9 34/70/9 33/69/9 -f 33/95/10 36/96/10 38/97/10 40/98/10 42/99/10 44/100/10 46/101/10 48/102/10 -f 49/103/1 50/104/1 51/105/1 52/106/1 -f 52/106/2 51/105/2 53/107/2 54/108/2 -f 54/109/3 53/110/3 55/111/3 56/112/3 -f 56/112/4 55/111/4 57/113/4 58/114/4 -f 58/114/5 57/113/5 59/115/5 60/116/5 -f 60/116/6 59/115/6 61/117/6 62/118/6 -f 51/119/7 50/120/7 63/121/7 61/122/7 59/123/7 57/124/7 55/125/7 53/126/7 -f 62/118/8 61/117/8 63/127/8 64/128/8 -f 64/128/9 63/127/9 50/104/9 49/103/9 -f 49/129/10 52/130/10 54/131/10 56/132/10 58/133/10 60/134/10 62/135/10 64/136/10 -f 65/137/1 66/138/1 67/139/1 68/140/1 -f 68/140/2 67/139/2 69/141/2 70/142/2 -f 70/143/3 69/144/3 71/145/3 72/146/3 -f 72/146/4 71/145/4 73/147/4 74/148/4 -f 74/148/5 73/147/5 75/149/5 76/150/5 -f 76/150/6 75/149/6 77/151/6 78/152/6 -f 67/153/7 66/154/7 79/155/7 77/156/7 75/157/7 73/158/7 71/159/7 69/160/7 -f 78/152/8 77/151/8 79/161/8 80/162/8 -f 80/162/9 79/161/9 66/138/9 65/137/9 -f 65/163/10 68/164/10 70/165/10 72/166/10 74/167/10 76/168/10 78/169/10 80/170/10 -o Tech_thingy_Cylinder.011 -v -1.457017 0.997796 0.139627 -v -1.457017 1.110929 0.189700 -v -1.405270 1.098405 0.216824 -v -1.405270 0.985272 0.166751 -v -1.405270 1.073357 0.271072 -v -1.405270 0.960224 0.220999 -v -1.457017 1.060833 0.298196 -v -1.457017 0.947700 0.248123 -v -1.508763 1.073357 0.271072 -v -1.508763 0.960224 0.220999 -v -1.508763 1.098405 0.216824 -v -1.508763 0.985272 0.166751 -v -1.322476 0.997796 0.139627 -v -1.322476 1.110929 0.189700 -v -1.270730 1.098405 0.216824 -v -1.270730 0.985272 0.166751 -v -1.270730 1.073357 0.271072 -v -1.270730 0.960224 0.220999 -v -1.322476 1.060833 0.298196 -v -1.322476 0.947700 0.248123 -v -1.374223 1.073357 0.271072 -v -1.374223 0.960224 0.220999 -v -1.374223 1.098405 0.216824 -v -1.374223 0.985272 0.166751 -v -1.187935 0.997796 0.139627 -v -1.187935 1.110929 0.189700 -v -1.136189 1.098405 0.216824 -v -1.136189 0.985272 0.166751 -v -1.136189 1.073357 0.271072 -v -1.136189 0.960224 0.220999 -v -1.187935 1.060833 0.298196 -v -1.187935 0.947700 0.248123 -v -1.239682 1.073357 0.271072 -v -1.239682 0.960224 0.220999 -v -1.239682 1.098405 0.216824 -v -1.239682 0.985272 0.166751 -v -1.551588 0.824089 0.270719 -v -1.551588 0.906574 0.321562 -v -1.551588 1.018668 0.066710 -v -1.551588 0.936183 0.015867 -v -1.097206 1.018668 0.066710 -v -1.097206 0.936183 0.015867 -v -1.097206 0.906574 0.321562 -v -1.097206 0.824089 0.270719 -v -1.521210 0.950031 0.320343 -v -1.521210 1.047137 0.099566 -v -1.127583 1.047137 0.099566 -v -1.127583 0.950031 0.320343 -v -1.457017 0.997796 -0.139627 -v -1.405271 0.985272 -0.166751 -v -1.405271 1.098405 -0.216824 -v -1.457017 1.110929 -0.189700 -v -1.405271 0.960224 -0.220999 -v -1.405271 1.073357 -0.271072 -v -1.457017 0.947700 -0.248123 -v -1.457017 1.060833 -0.298196 -v -1.508764 0.960224 -0.220999 -v -1.508764 1.073357 -0.271072 -v -1.508764 1.098405 -0.216824 -v -1.508764 0.985272 -0.166751 -v -1.322476 0.997796 -0.139627 -v -1.270730 0.985272 -0.166751 -v -1.270730 1.098405 -0.216824 -v -1.322476 1.110929 -0.189700 -v -1.270730 0.960224 -0.220999 -v -1.270730 1.073357 -0.271072 -v -1.322476 0.947700 -0.248123 -v -1.322476 1.060833 -0.298196 -v -1.374223 0.960224 -0.220999 -v -1.374223 1.073357 -0.271072 -v -1.374223 1.098405 -0.216824 -v -1.374223 0.985272 -0.166751 -v -1.187936 0.997796 -0.139627 -v -1.136189 0.985272 -0.166751 -v -1.136189 1.098405 -0.216824 -v -1.187936 1.110929 -0.189700 -v -1.136189 0.960224 -0.220999 -v -1.136189 1.073357 -0.271072 -v -1.187936 0.947700 -0.248123 -v -1.187936 1.060833 -0.298196 -v -1.239682 0.960224 -0.220999 -v -1.239682 1.073357 -0.271072 -v -1.239682 1.098405 -0.216824 -v -1.239682 0.985272 -0.166751 -v -1.551588 0.824089 -0.270719 -v -1.551588 0.936183 -0.015867 -v -1.551588 1.018668 -0.066710 -v -1.551588 0.906574 -0.321562 -v -1.097206 0.936183 -0.015867 -v -1.097206 1.018668 -0.066710 -v -1.097206 0.824089 -0.270719 -v -1.097206 0.906574 -0.321562 -v -1.521211 1.047137 -0.099566 -v -1.521211 0.950031 -0.320343 -v -1.127584 1.047137 -0.099566 -v -1.127584 0.950031 -0.320343 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.833333 1.000000 -vt 0.833333 0.500000 -vt 0.666667 1.000000 -vt 0.666667 0.500000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.333333 1.000000 -vt 0.333333 0.500000 -vt 0.457846 0.370000 -vt 0.250000 0.490000 -vt 0.042154 0.370000 -vt 0.042154 0.130000 -vt 0.250000 0.010000 -vt 0.457846 0.130000 -vt 0.166667 1.000000 -vt 0.166667 0.500000 -vt -0.000000 1.000000 -vt -0.000000 0.500000 -vt 0.750000 0.490000 -vt 0.957846 0.370000 -vt 0.957846 0.130000 -vt 0.750000 0.010000 -vt 0.542154 0.130000 -vt 0.542154 0.370000 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.833333 1.000000 -vt 0.833333 0.500000 -vt 0.666667 1.000000 -vt 0.666667 0.500000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.333333 1.000000 -vt 0.333333 0.500000 -vt 0.457846 0.370000 -vt 0.250000 0.490000 -vt 0.042154 0.370000 -vt 0.042154 0.130000 -vt 0.250000 0.010000 -vt 0.457846 0.130000 -vt 0.166667 1.000000 -vt 0.166667 0.500000 -vt -0.000000 1.000000 -vt -0.000000 0.500000 -vt 0.750000 0.490000 -vt 0.957846 0.370000 -vt 0.957846 0.130000 -vt 0.750000 0.010000 -vt 0.542154 0.130000 -vt 0.542154 0.370000 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.833333 1.000000 -vt 0.833333 0.500000 -vt 0.666667 1.000000 -vt 0.666667 0.500000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.333333 1.000000 -vt 0.333333 0.500000 -vt 0.457846 0.370000 -vt 0.250000 0.490000 -vt 0.042154 0.370000 -vt 0.042154 0.130000 -vt 0.250000 0.010000 -vt 0.457846 0.130000 -vt 0.166667 1.000000 -vt 0.166667 0.500000 -vt -0.000000 1.000000 -vt -0.000000 0.500000 -vt 0.750000 0.490000 -vt 0.957846 0.370000 -vt 0.957846 0.130000 -vt 0.750000 0.010000 -vt 0.542154 0.130000 -vt 0.542154 0.370000 -vt 0.375000 0.000000 -vt 0.625000 0.000000 -vt 0.625000 0.250000 -vt 0.375000 0.250000 -vt 0.625000 0.500000 -vt 0.375000 0.500000 -vt 0.625000 0.750000 -vt 0.375000 0.750000 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vt 0.125000 0.500000 -vt 0.125000 0.750000 -vt 0.625000 0.000000 -vt 0.625000 0.250000 -vt 0.625000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 0.750000 -vt 0.625000 0.750000 -vt 0.625000 1.000000 -vt 1.000000 0.500000 -vt 0.833333 0.500000 -vt 0.833333 1.000000 -vt 1.000000 1.000000 -vt 0.666667 0.500000 -vt 0.666667 1.000000 -vt 0.500000 0.500000 -vt 0.500000 1.000000 -vt 0.333333 0.500000 -vt 0.333333 1.000000 -vt 0.457846 0.370000 -vt 0.457846 0.130000 -vt 0.250000 0.010000 -vt 0.042154 0.130000 -vt 0.042154 0.370000 -vt 0.250000 0.490000 -vt 0.166667 0.500000 -vt 0.166667 1.000000 -vt -0.000000 0.500000 -vt -0.000000 1.000000 -vt 0.750000 0.490000 -vt 0.542154 0.370000 -vt 0.542154 0.130000 -vt 0.750000 0.010000 -vt 0.957846 0.130000 -vt 0.957846 0.370000 -vt 1.000000 0.500000 -vt 0.833333 0.500000 -vt 0.833333 1.000000 -vt 1.000000 1.000000 -vt 0.666667 0.500000 -vt 0.666667 1.000000 -vt 0.500000 0.500000 -vt 0.500000 1.000000 -vt 0.333333 0.500000 -vt 0.333333 1.000000 -vt 0.457846 0.370000 -vt 0.457846 0.130000 -vt 0.250000 0.010000 -vt 0.042154 0.130000 -vt 0.042154 0.370000 -vt 0.250000 0.490000 -vt 0.166667 0.500000 -vt 0.166667 1.000000 -vt -0.000000 0.500000 -vt -0.000000 1.000000 -vt 0.750000 0.490000 -vt 0.542154 0.370000 -vt 0.542154 0.130000 -vt 0.750000 0.010000 -vt 0.957846 0.130000 -vt 0.957846 0.370000 -vt 1.000000 0.500000 -vt 0.833333 0.500000 -vt 0.833333 1.000000 -vt 1.000000 1.000000 -vt 0.666667 0.500000 -vt 0.666667 1.000000 -vt 0.500000 0.500000 -vt 0.500000 1.000000 -vt 0.333333 0.500000 -vt 0.333333 1.000000 -vt 0.457846 0.370000 -vt 0.457846 0.130000 -vt 0.250000 0.010000 -vt 0.042154 0.130000 -vt 0.042154 0.370000 -vt 0.250000 0.490000 -vt 0.166667 0.500000 -vt 0.166667 1.000000 -vt -0.000000 0.500000 -vt -0.000000 1.000000 -vt 0.750000 0.490000 -vt 0.542154 0.370000 -vt 0.542154 0.130000 -vt 0.750000 0.010000 -vt 0.957846 0.130000 -vt 0.957846 0.370000 -vt 0.375000 0.000000 -vt 0.375000 0.250000 -vt 0.625000 0.250000 -vt 0.625000 0.000000 -vt 0.375000 0.500000 -vt 0.625000 0.500000 -vt 0.375000 0.750000 -vt 0.625000 0.750000 -vt 0.375000 1.000000 -vt 0.625000 1.000000 -vt 0.125000 0.500000 -vt 0.125000 0.750000 -vt 0.625000 0.250000 -vt 0.625000 0.000000 -vt 0.625000 0.500000 -vt 0.625000 0.750000 -vt 0.875000 0.750000 -vt 0.875000 0.500000 -vt 0.625000 1.000000 -vn 0.4999 0.3505 -0.7920 -vn 1.0000 -0.0000 0.0000 -vn 0.4999 -0.3505 0.7920 -vn -0.5000 -0.3505 0.7919 -vn 0.0000 0.9079 0.4192 -vn -1.0000 0.0000 0.0000 -vn -0.5000 0.3505 -0.7919 -vn 0.0000 -0.9079 -0.4192 -vn 0.5000 0.3505 -0.7919 -vn 0.5000 -0.3505 0.7919 -vn -0.4999 -0.3505 0.7920 -vn -0.4999 0.3505 -0.7920 -vn 0.0000 0.5247 -0.8513 -vn 0.0000 -0.5247 0.8513 -vn 0.0000 -0.9154 -0.4026 -vn -0.7911 0.5599 0.2463 -vn 0.0000 0.9154 0.4026 -vn 0.0000 0.0280 0.9996 -vn 0.0000 0.7558 -0.6548 -vn 0.7911 0.5599 0.2463 -vn 0.5000 0.3505 0.7919 -vn 0.5000 -0.3505 -0.7919 -vn -0.4999 -0.3505 -0.7920 -vn 0.0000 0.9079 -0.4192 -vn -0.4999 0.3505 0.7920 -vn 0.0000 -0.9079 0.4192 -vn 0.4999 0.3505 0.7920 -vn 0.4999 -0.3505 -0.7920 -vn -0.5000 -0.3505 -0.7919 -vn -0.5000 0.3505 0.7919 -vn 0.0000 0.5247 0.8513 -vn 0.0000 -0.5247 -0.8513 -vn 0.0000 -0.9154 0.4026 -vn -0.7911 0.5599 -0.2463 -vn 0.0000 0.9154 -0.4026 -vn 0.0000 0.0280 -0.9996 -vn 0.0000 0.7558 0.6548 -vn 0.7911 0.5599 -0.2463 -s 1 -f 81/171/11 82/172/11 83/173/11 84/174/11 -f 84/174/12 83/173/12 85/175/12 86/176/12 -f 86/176/13 85/175/13 87/177/13 88/178/13 -f 88/178/14 87/177/14 89/179/14 90/180/14 -f 83/181/15 82/182/15 91/183/15 89/184/15 87/185/15 85/186/15 -f 90/180/16 89/179/16 91/187/16 92/188/16 -f 92/188/17 91/187/17 82/189/17 81/190/17 -f 81/191/18 84/192/18 86/193/18 88/194/18 90/195/18 92/196/18 -f 93/197/19 94/198/19 95/199/19 96/200/19 -f 96/200/12 95/199/12 97/201/12 98/202/12 -f 98/202/20 97/201/20 99/203/20 100/204/20 -f 100/204/21 99/203/21 101/205/21 102/206/21 -f 95/207/15 94/208/15 103/209/15 101/210/15 99/211/15 97/212/15 -f 102/206/16 101/205/16 103/213/16 104/214/16 -f 104/214/22 103/213/22 94/215/22 93/216/22 -f 93/217/18 96/218/18 98/219/18 100/220/18 102/221/18 104/222/18 -f 105/223/19 106/224/19 107/225/19 108/226/19 -f 108/226/12 107/225/12 109/227/12 110/228/12 -f 110/228/20 109/227/20 111/229/20 112/230/20 -f 112/230/21 111/229/21 113/231/21 114/232/21 -f 107/233/15 106/234/15 115/235/15 113/236/15 111/237/15 109/238/15 -f 114/232/16 113/231/16 115/239/16 116/240/16 -f 116/240/22 115/239/22 106/241/22 105/242/22 -f 105/243/18 108/244/18 110/245/18 112/246/18 114/247/18 116/248/18 -f 117/249/16 118/250/16 119/251/16 120/252/16 -f 120/252/23 119/251/23 121/253/23 122/254/23 -f 122/254/12 121/253/12 123/255/12 124/256/12 -f 124/256/24 123/255/24 118/257/24 117/258/24 -f 120/259/25 122/254/25 124/256/25 117/260/25 -f 119/251/26 118/250/26 125/261/26 126/262/26 -f 127/263/27 126/264/27 125/265/27 128/266/27 -f 118/257/28 123/255/28 128/266/28 125/267/28 -f 121/253/29 119/251/29 126/262/29 127/263/29 -f 123/255/30 121/253/30 127/263/30 128/266/30 -f 129/268/31 130/269/31 131/270/31 132/271/31 -f 130/269/12 133/272/12 134/273/12 131/270/12 -f 133/272/32 135/274/32 136/275/32 134/273/32 -f 135/274/33 137/276/33 138/277/33 136/275/33 -f 131/278/34 134/279/34 136/280/34 138/281/34 139/282/34 132/283/34 -f 137/276/16 140/284/16 139/285/16 138/277/16 -f 140/284/35 129/286/35 132/287/35 139/285/35 -f 129/288/36 140/289/36 137/290/36 135/291/36 133/292/36 130/293/36 -f 141/294/31 142/295/31 143/296/31 144/297/31 -f 142/295/12 145/298/12 146/299/12 143/296/12 -f 145/298/32 147/300/32 148/301/32 146/299/32 -f 147/300/33 149/302/33 150/303/33 148/301/33 -f 143/304/34 146/305/34 148/306/34 150/307/34 151/308/34 144/309/34 -f 149/302/16 152/310/16 151/311/16 150/303/16 -f 152/310/35 141/312/35 144/313/35 151/311/35 -f 141/314/36 152/315/36 149/316/36 147/317/36 145/318/36 142/319/36 -f 153/320/37 154/321/37 155/322/37 156/323/37 -f 154/321/12 157/324/12 158/325/12 155/322/12 -f 157/324/38 159/326/38 160/327/38 158/325/38 -f 159/326/39 161/328/39 162/329/39 160/327/39 -f 155/330/34 158/331/34 160/332/34 162/333/34 163/334/34 156/335/34 -f 161/328/16 164/336/16 163/337/16 162/329/16 -f 164/336/40 153/338/40 156/339/40 163/337/40 -f 153/340/36 164/341/36 161/342/36 159/343/36 157/344/36 154/345/36 -f 165/346/16 166/347/16 167/348/16 168/349/16 -f 166/347/41 169/350/41 170/351/41 167/348/41 -f 169/350/12 171/352/12 172/353/12 170/351/12 -f 171/352/42 165/354/42 168/355/42 172/353/42 -f 166/356/43 165/357/43 171/352/43 169/350/43 -f 167/348/44 173/358/44 174/359/44 168/349/44 -f 175/360/45 176/361/45 174/362/45 173/363/45 -f 168/355/46 174/364/46 176/361/46 172/353/46 -f 170/351/47 175/360/47 173/358/47 167/348/47 -f 172/353/48 176/361/48 175/360/48 170/351/48 -o SideThingy_Cube.009 -v -1.552216 0.766425 0.449060 -v -1.552216 0.766425 0.324053 -v -1.613245 0.699098 0.324053 -v -1.613245 0.699098 0.449060 -v -1.552216 0.456014 0.324053 -v -1.052377 0.766425 0.324053 -v -1.052377 0.456014 0.324053 -v -1.052377 0.766425 0.449060 -v -1.048308 0.766425 0.449060 -v -1.048308 0.766425 0.324053 -v -1.052377 0.456014 0.449060 -v -1.552216 0.456014 0.449060 -v -1.048308 0.456014 0.324053 -v -1.041527 0.788142 0.315308 -v -1.041527 0.434297 0.315308 -v -1.048308 0.456014 0.449060 -v -1.041527 0.788142 0.457806 -v -1.041527 0.434297 0.457806 -v -0.900483 0.434297 0.457806 -v -0.900483 0.788142 0.457806 -v -0.900483 0.788142 0.315308 -v -0.896414 0.768510 0.449899 -v -0.896414 0.768510 0.323214 -v -0.900483 0.434297 0.315308 -v -0.896414 0.453929 0.449899 -v -0.817755 0.457256 0.449106 -v -0.817755 0.767895 0.449106 -v -0.896414 0.453929 0.323214 -v -0.817755 0.457256 0.324007 -v -0.817755 0.767895 0.324007 -v -1.613245 0.523341 0.449060 -v -1.613245 0.523341 0.324053 -v -1.552216 0.766425 -0.449060 -v -1.613245 0.699098 -0.449060 -v -1.613245 0.699098 -0.324053 -v -1.552216 0.766425 -0.324053 -v -1.552216 0.456014 -0.324053 -v -1.052377 0.456014 -0.324053 -v -1.052377 0.766425 -0.324053 -v -1.048308 0.766425 -0.324053 -v -1.048308 0.766425 -0.449060 -v -1.052377 0.766425 -0.449060 -v -1.052377 0.456014 -0.449060 -v -1.552216 0.456014 -0.449060 -v -1.048308 0.456014 -0.324053 -v -1.041528 0.434297 -0.315308 -v -1.041528 0.788142 -0.315308 -v -1.048308 0.456014 -0.449060 -v -1.041528 0.788142 -0.457806 -v -0.900483 0.788142 -0.457806 -v -0.900483 0.434297 -0.457806 -v -1.041528 0.434297 -0.457806 -v -0.900483 0.788142 -0.315308 -v -0.896414 0.768510 -0.323214 -v -0.896414 0.768510 -0.449899 -v -0.900483 0.434297 -0.315308 -v -0.817755 0.767895 -0.449106 -v -0.817755 0.457256 -0.449106 -v -0.896414 0.453929 -0.449899 -v -0.896414 0.453929 -0.323214 -v -0.817755 0.457256 -0.324007 -v -0.817755 0.767895 -0.324007 -v -1.613245 0.523341 -0.449060 -v -1.613245 0.523341 -0.324053 -vt 0.875000 0.750000 -vt 0.875000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 0.750000 -vt 0.375000 0.250000 -vt 0.625000 0.250000 -vt 0.625000 0.500000 -vt 0.375000 0.500000 -vt 0.625000 0.750000 -vt 0.625000 0.750000 -vt 0.625000 0.500000 -vt 0.375000 0.750000 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vt 0.125000 0.500000 -vt 0.125000 0.750000 -vt 0.375000 0.500000 -vt 0.625000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.750000 -vt 0.625000 0.750000 -vt 0.375000 0.750000 -vt 0.375000 0.750000 -vt 0.625000 0.750000 -vt 0.625000 0.500000 -vt 0.625000 0.750000 -vt 0.625000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.750000 -vt 0.375000 0.750000 -vt 0.625000 0.750000 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.625000 0.500000 -vt 0.375000 0.000000 -vt 0.625000 0.000000 -vt 0.625000 0.250000 -vt 0.375000 0.250000 -vt 0.125000 0.750000 -vt 0.125000 0.500000 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vt 0.875000 0.750000 -vt 0.875000 0.750000 -vt 0.875000 0.500000 -vt 0.875000 0.500000 -vt 0.375000 0.250000 -vt 0.375000 0.500000 -vt 0.625000 0.500000 -vt 0.625000 0.250000 -vt 0.625000 0.500000 -vt 0.625000 0.750000 -vt 0.625000 0.750000 -vt 0.375000 0.750000 -vt 0.375000 1.000000 -vt 0.625000 1.000000 -vt 0.125000 0.500000 -vt 0.125000 0.750000 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.625000 0.500000 -vt 0.375000 0.750000 -vt 0.625000 0.750000 -vt 0.625000 0.750000 -vt 0.375000 0.750000 -vt 0.375000 0.750000 -vt 0.625000 0.500000 -vt 0.625000 0.500000 -vt 0.625000 0.750000 -vt 0.375000 0.500000 -vt 0.625000 0.750000 -vt 0.375000 0.750000 -vt 0.375000 0.750000 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.625000 0.500000 -vt 0.375000 0.000000 -vt 0.375000 0.250000 -vt 0.625000 0.250000 -vt 0.625000 0.000000 -vt 0.125000 0.500000 -vt 0.125000 0.750000 -vt 0.375000 1.000000 -vt 0.625000 1.000000 -vn -0.7409 0.6716 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 -0.7903 0.0000 -0.6128 -vn -0.7903 0.0000 0.6127 -vn -0.9545 -0.2981 -0.0000 -vn -0.9545 0.2981 0.0000 -vn 0.9792 0.2030 0.0000 -vn 0.0101 0.0000 0.9999 -vn 0.8891 0.0000 -0.4576 -vn 0.8892 0.0000 0.4576 -vn 0.9792 -0.2030 -0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0423 -0.9991 -0.0000 -vn 0.0078 1.0000 0.0000 -vn 0.0101 0.0000 -0.9999 -vn -1.0000 0.0000 0.0000 -vn -0.7409 -0.6716 0.0000 -vn -0.7903 0.0000 -0.6127 -vn -0.9546 -0.2980 -0.0000 -vn -0.9546 0.2980 0.0000 -vn 0.8891 0.0000 0.4576 -vn 0.8892 0.0000 -0.4576 -s 1 -f 177/365/49 178/366/49 179/367/49 180/368/49 -f 181/369/50 178/370/50 182/371/50 183/372/50 -f 182/371/51 184/373/51 185/374/51 186/375/51 -f 187/376/52 184/373/52 177/377/52 188/378/52 -f 181/379/53 183/372/53 187/376/53 188/380/53 -f 182/371/51 178/366/51 177/365/51 184/373/51 -f 189/381/54 186/375/54 190/382/54 191/383/54 -f 183/372/50 182/371/50 186/375/50 189/381/50 -f 184/373/52 187/376/52 192/384/52 185/374/52 -f 187/376/53 183/372/53 189/381/53 192/384/53 -f 193/385/52 194/386/52 195/387/52 196/388/52 -f 185/374/55 192/384/55 194/386/55 193/385/55 -f 192/384/56 189/381/56 191/383/56 194/386/56 -f 186/375/57 185/374/57 193/385/57 190/382/57 -f 197/389/58 196/388/58 198/390/58 199/391/58 -f 194/386/53 191/383/53 200/392/53 195/387/53 -f 190/382/51 193/385/51 196/388/51 197/389/51 -f 191/383/50 190/382/50 197/389/50 200/392/50 -f 198/390/59 201/393/59 202/394/59 203/395/59 -f 200/392/60 197/389/60 199/391/60 204/396/60 -f 196/388/61 195/387/61 201/393/61 198/390/61 -f 195/387/62 200/392/62 204/396/62 201/393/62 -f 205/397/63 206/398/63 203/395/63 202/394/63 -f 201/393/64 204/396/64 205/397/64 202/394/64 -f 199/391/65 198/390/65 203/395/65 206/398/65 -f 204/396/66 199/391/66 206/398/66 205/397/66 -f 207/399/67 180/400/67 179/401/67 208/402/67 -f 181/379/68 188/380/68 207/403/68 208/404/68 -f 178/370/50 181/369/50 208/402/50 179/401/50 -f 188/378/52 177/377/52 180/405/52 207/406/52 -f 209/407/49 210/408/49 211/409/49 212/410/49 -f 213/411/52 214/412/52 215/413/52 212/414/52 -f 215/413/51 216/415/51 217/416/51 218/417/51 -f 219/418/50 220/419/50 209/420/50 218/417/50 -f 213/421/53 220/422/53 219/418/53 214/412/53 -f 215/413/51 218/417/51 209/407/51 212/410/51 -f 221/423/55 222/424/55 223/425/55 216/415/55 -f 214/412/52 221/423/52 216/415/52 215/413/52 -f 218/417/50 217/416/50 224/426/50 219/418/50 -f 219/418/53 224/426/53 221/423/53 214/412/53 -f 225/427/50 226/428/50 227/429/50 228/430/50 -f 217/416/69 225/427/69 228/430/69 224/426/69 -f 224/426/70 228/430/70 222/424/70 221/423/70 -f 216/415/71 223/425/71 225/427/71 217/416/71 -f 229/431/58 230/432/58 231/433/58 226/428/58 -f 228/430/53 227/429/53 232/434/53 222/424/53 -f 223/425/51 229/431/51 226/428/51 225/427/51 -f 222/424/52 232/434/52 229/431/52 223/425/52 -f 231/433/66 233/435/66 234/436/66 235/437/66 -f 232/434/72 236/438/72 230/432/72 229/431/72 -f 226/428/73 231/433/73 235/437/73 227/429/73 -f 227/429/62 235/437/62 236/438/62 232/434/62 -f 237/439/63 234/436/63 233/435/63 238/440/63 -f 235/437/64 234/436/64 237/439/64 236/438/64 -f 230/432/65 238/440/65 233/435/65 231/433/65 -f 236/438/59 237/439/59 238/440/59 230/432/59 -f 239/441/67 240/442/67 211/443/67 210/444/67 -f 213/421/68 240/445/68 239/446/68 220/422/68 -f 212/414/52 211/443/52 240/442/52 213/411/52 -f 220/419/50 239/447/50 210/448/50 209/420/50 -o AmmoVice_Cylinder.010 -v -2.170566 0.644712 -0.108739 -v -2.102717 0.644712 -0.108739 -v -2.102717 0.567822 -0.076890 -v -2.170566 0.567822 -0.076890 -v -2.102717 0.535974 0.000000 -v -2.170566 0.535974 0.000000 -v -2.102717 0.567822 0.076890 -v -2.170566 0.567822 0.076890 -v -2.102717 0.644712 0.108739 -v -2.170566 0.644712 0.108739 -v -2.102717 0.721602 0.076890 -v -2.170566 0.721602 0.076890 -v -2.102717 0.753451 0.000000 -v -2.170566 0.753451 0.000000 -v -2.102717 0.721602 -0.076890 -v -2.170566 0.721602 -0.076890 -v -2.209619 0.644712 0.088337 -v -2.209619 0.582248 0.062464 -v -2.209619 0.644712 -0.088337 -v -2.209619 0.582248 -0.062464 -v -2.209619 0.556375 0.000000 -v -2.209619 0.707176 0.062464 -v -2.209619 0.733049 0.000000 -v -2.209619 0.707176 -0.062464 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.875000 0.500000 -vt 0.750000 1.000000 -vt 0.750000 0.500000 -vt 0.625000 1.000000 -vt 0.625000 0.500000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.375000 1.000000 -vt 0.375000 0.500000 -vt 0.250000 1.000000 -vt 0.250000 0.500000 -vt 0.419706 0.419706 -vt 0.250000 0.490000 -vt 0.080294 0.419706 -vt 0.010000 0.250000 -vt 0.080294 0.080294 -vt 0.250000 0.010000 -vt 0.419706 0.080294 -vt 0.490000 0.250000 -vt 0.125000 1.000000 -vt 0.125000 0.500000 -vt 0.000000 1.000000 -vt 0.000000 0.500000 -vt 0.500000 0.500000 -vt 0.625000 0.500000 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.990000 0.250000 -vt 0.919706 0.080294 -vt 0.750000 0.010000 -vt 0.580294 0.080294 -vt 0.510000 0.250000 -vt 0.580294 0.419706 -vt 0.125000 0.500000 -vt 0.250000 0.500000 -vt 0.750000 0.500000 -vt 0.875000 0.500000 -vt 0.375000 0.500000 -vt 0.000000 0.500000 -vt 1.000000 0.500000 -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 1.0000 0.0000 0.0000 -vn 0.0000 0.9239 -0.3827 -vn 0.0000 0.3827 -0.9239 -vn -0.4347 -0.3446 0.8320 -vn -1.0000 0.0000 0.0000 -vn -0.4347 0.8320 -0.3446 -vn -0.4347 -0.8320 -0.3446 -vn -0.4347 0.3446 0.8320 -vn -0.4347 0.3446 -0.8320 -vn -0.4347 -0.3446 -0.8320 -vn -0.4347 -0.8320 0.3446 -vn -0.4347 0.8320 0.3446 -s 1 -f 241/449/74 242/450/74 243/451/74 244/452/74 -f 244/452/75 243/451/75 245/453/75 246/454/75 -f 246/454/76 245/453/76 247/455/76 248/456/76 -f 248/456/77 247/455/77 249/457/77 250/458/77 -f 250/458/78 249/457/78 251/459/78 252/460/78 -f 252/460/79 251/459/79 253/461/79 254/462/79 -f 243/463/80 242/464/80 255/465/80 253/466/80 251/467/80 249/468/80 247/469/80 245/470/80 -f 254/462/81 253/461/81 255/471/81 256/472/81 -f 256/472/82 255/471/82 242/473/82 241/474/82 -f 248/456/83 250/458/83 257/475/83 258/476/83 -f 259/477/84 260/478/84 261/479/84 258/480/84 257/481/84 262/482/84 263/483/84 264/484/84 -f 254/462/85 256/472/85 264/485/85 263/486/85 -f 244/452/86 246/454/86 261/487/86 260/488/86 -f 250/458/87 252/460/87 262/489/87 257/475/87 -f 256/472/88 241/474/88 259/490/88 264/485/88 -f 241/449/89 244/452/89 260/488/89 259/491/89 -f 246/454/90 248/456/90 258/476/90 261/487/90 -f 252/460/91 254/462/91 263/486/91 262/489/91 -o UnderailBit_Cylinder.006 -v -0.166791 0.038391 -0.117032 -v -0.166791 0.038391 0.117032 -v -0.118438 0.018363 0.117032 -v -0.118438 0.018363 -0.117032 -v -0.098409 -0.029991 0.117032 -v -0.098409 -0.029991 -0.117032 -v -0.118438 -0.078344 0.117032 -v -0.118438 -0.078344 -0.117032 -v -0.166791 -0.098373 0.117032 -v -0.166791 -0.098373 -0.117032 -v -0.215145 -0.078344 0.117032 -v -0.215145 -0.078344 -0.117032 -v -0.235173 -0.029991 0.117032 -v -0.235173 -0.029991 -0.117032 -v -0.215145 0.018363 0.117032 -v -0.215145 0.018363 -0.117032 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.875000 0.500000 -vt 0.750000 1.000000 -vt 0.750000 0.500000 -vt 0.625000 1.000000 -vt 0.625000 0.500000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.375000 1.000000 -vt 0.375000 0.500000 -vt 0.250000 1.000000 -vt 0.250000 0.500000 -vt 0.419706 0.419706 -vt 0.250000 0.490000 -vt 0.080294 0.419706 -vt 0.010000 0.250000 -vt 0.080294 0.080294 -vt 0.250000 0.010000 -vt 0.419706 0.080294 -vt 0.490000 0.250000 -vt 0.125000 1.000000 -vt 0.125000 0.500000 -vt 0.000000 1.000000 -vt 0.000000 0.500000 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.990000 0.250000 -vt 0.919706 0.080294 -vt 0.750000 0.010000 -vt 0.580294 0.080294 -vt 0.510000 0.250000 -vt 0.580294 0.419706 -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.3827 0.9239 0.0000 -vn -0.0000 0.0000 -1.0000 -s 1 -f 265/492/92 266/493/92 267/494/92 268/495/92 -f 268/495/93 267/494/93 269/496/93 270/497/93 -f 270/497/94 269/496/94 271/498/94 272/499/94 -f 272/499/95 271/498/95 273/500/95 274/501/95 -f 274/501/96 273/500/96 275/502/96 276/503/96 -f 276/503/97 275/502/97 277/504/97 278/505/97 -f 267/506/98 266/507/98 279/508/98 277/509/98 275/510/98 273/511/98 271/512/98 269/513/98 -f 278/505/99 277/504/99 279/514/99 280/515/99 -f 280/515/100 279/514/100 266/516/100 265/517/100 -f 265/518/101 268/519/101 270/520/101 272/521/101 274/522/101 276/523/101 278/524/101 280/525/101 -o Underail_Cube.004 -v -0.033837 0.094104 -0.072767 -v -0.033837 -0.016338 -0.072767 -v -0.115306 -0.142061 -0.072767 -v -0.115306 0.094104 -0.072767 -v 0.797049 0.094104 -0.072767 -v 0.797049 -0.016338 -0.072767 -v 0.796577 -0.079782 0.048582 -v 0.796577 -0.079782 -0.048582 -v 0.886076 -0.258069 -0.048582 -v 0.886076 -0.258069 0.048582 -v 0.797049 -0.016338 0.072767 -v 0.797049 0.094104 0.072767 -v -0.033837 0.094104 0.072767 -v -0.033837 -0.016338 0.072767 -v -0.026079 -0.079782 -0.048582 -v -0.115306 0.094104 0.072767 -v -0.272459 0.094104 -0.072767 -v -0.272459 0.094104 0.072767 -v -0.115306 -0.142061 0.072767 -v -0.272459 -0.098487 0.072767 -v -0.264701 -0.161930 0.048582 -v -0.107548 -0.205505 0.048582 -v -0.272459 -0.098487 -0.072767 -v -0.026079 -0.079782 0.048582 -v -0.107548 -0.205505 -0.048582 -v -0.264701 -0.161930 -0.048582 -v 0.886547 0.093771 0.072767 -v 0.886547 0.093771 -0.072767 -v 0.886547 -0.194626 0.072767 -v 0.888072 -0.069961 0.072767 -v 0.917361 0.000750 0.072767 -v 0.988072 0.030039 0.072767 -v 1.058783 0.000750 0.072767 -v 1.088072 -0.069961 0.072767 -v 1.088250 -0.195375 0.072767 -v 1.088250 0.093022 0.072767 -v 0.886547 -0.194626 -0.072767 -v 1.088250 -0.195375 -0.072767 -v 1.087778 -0.258818 -0.048582 -v 1.087778 -0.258818 0.048582 -v 1.152616 -0.153109 -0.048582 -v 1.152616 -0.153109 0.048582 -v 1.153087 -0.089666 0.072767 -v 1.088250 0.093022 -0.072767 -v 0.888072 -0.069961 -0.072767 -v 0.917362 -0.140671 -0.072767 -v 0.988072 -0.169961 -0.072767 -v 1.058783 -0.140671 -0.072767 -v 1.088072 -0.069961 -0.072767 -v 1.153087 -0.089666 -0.072767 -v 1.153087 0.092782 -0.072767 -v 1.153087 0.092782 0.072767 -v 0.917361 0.000750 -0.072767 -v 1.058783 0.000750 -0.072767 -v 1.058783 -0.140671 0.072767 -v 0.988072 -0.169961 0.072767 -v 0.917362 -0.140671 0.072767 -v 0.988072 0.030039 -0.072767 -vt 0.625000 0.250000 -vt 0.375000 0.250000 -vt 0.375000 0.250000 -vt 0.625000 0.250000 -vt 0.625000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.750000 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.750000 -vt 0.375000 0.750000 -vt 0.625000 0.750000 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vt 0.375000 0.250000 -vt 0.875000 0.500000 -vt 0.875000 0.750000 -vt 0.875000 0.750000 -vt 0.875000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 0.750000 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vt 0.375000 1.000000 -vt 0.375000 1.000000 -vt 0.375000 1.000000 -vt 0.375000 0.000000 -vt 0.625000 0.000000 -vt 0.625000 0.250000 -vt 0.375000 0.250000 -vt 0.375000 1.000000 -vt 0.625000 1.000000 -vt 0.125000 0.500000 -vt 0.125000 0.750000 -vt 0.125000 0.750000 -vt 0.125000 0.500000 -vt 0.125000 0.750000 -vt 0.125000 0.500000 -vt 0.375000 0.250000 -vt 0.375000 0.000000 -vt 0.625000 0.750000 -vt 0.625000 0.500000 -vt 0.375000 0.250000 -vt 0.375000 0.750000 -vt 0.483072 0.750000 -vt 0.544463 0.750000 -vt 0.570080 0.750000 -vt 0.544918 0.750000 -vt 0.483716 0.750000 -vt 0.375000 0.750000 -vt 0.625000 0.750000 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.750000 -vt 0.375000 0.500000 -vt 0.375000 0.750000 -vt 0.375000 0.750000 -vt 0.625000 0.500000 -vt 0.483072 0.500000 -vt 0.421870 0.500000 -vt 0.396708 0.500000 -vt 0.422325 0.500000 -vt 0.483716 0.500000 -vt 0.375000 0.500000 -vt 0.625000 0.500000 -vt 0.625000 0.750000 -vt 0.125000 0.688522 -vt 0.125000 0.811478 -vt 0.250000 0.811478 -vt 0.250000 0.688522 -vt 0.750000 0.688522 -vt 0.750000 0.811478 -vt 0.875000 0.811478 -vt 0.875000 0.688522 -vt 0.422325 0.750000 -vt 0.396708 0.750000 -vt 0.421870 0.750000 -vt 0.375000 0.811478 -vt 0.375000 0.688522 -vt 0.625000 0.688522 -vt 0.625000 0.811478 -vt 0.500000 0.688522 -vt 0.500000 0.811478 -vt 0.000000 0.688522 -vt 0.000000 0.811478 -vt 1.000000 0.811478 -vt 1.000000 0.688522 -vt 0.544918 0.500000 -vt 0.570080 0.500000 -vt 0.544463 0.500000 -vn 0.0000 0.0000 -1.0000 -vn -0.8937 -0.4486 0.0000 -vn 0.0000 -0.0000 1.0000 -vn 0.0000 -0.3562 -0.9344 -vn 0.0019 1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn -0.1012 -0.3652 0.9254 -vn -1.0000 -0.0000 0.0000 -vn 0.4263 -0.2762 0.8614 -vn 0.0000 -1.0000 0.0000 -vn 0.8392 -0.5438 0.0000 -vn -0.2672 -0.9636 0.0000 -vn -0.9926 -0.1214 0.0000 -vn 0.0037 1.0000 0.0000 -vn -0.1012 -0.3652 -0.9254 -vn 0.4263 -0.2762 -0.8614 -vn 0.0000 -0.3562 0.9344 -vn -0.0013 -0.3562 -0.9344 -vn -0.5737 -0.2880 -0.7667 -vn -0.5737 -0.2880 0.7667 -vn 0.8524 -0.5228 0.0000 -vn 0.5062 -0.3105 0.8046 -vn -0.0013 -0.3562 0.9344 -vn -0.0037 -1.0000 0.0000 -vn 1.0000 -0.0069 -0.0000 -vn 1.0000 0.0000 0.0000 -vn 1.0000 -0.0074 0.0000 -vn 0.5062 -0.3105 -0.8046 -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 1 -f 281/526/102 282/527/102 283/528/102 284/529/102 -f 282/527/102 281/526/102 285/530/102 286/531/102 -f 287/532/103 288/533/103 289/534/103 290/535/103 -f 291/536/104 292/537/104 293/538/104 294/539/104 -f 282/527/105 286/531/105 288/533/105 295/540/105 -f 285/530/106 281/541/107 293/542/107 292/537/106 -f 296/543/107 284/544/107 297/545/107 298/546/107 -f 294/539/104 293/538/104 296/547/104 299/548/104 -f 293/542/107 281/541/107 284/544/107 296/543/107 -f 299/548/108 300/549/108 301/550/108 302/551/108 -f 300/552/109 298/553/109 297/554/109 303/555/109 -f 294/539/110 299/548/110 302/551/110 304/556/110 -f 284/529/102 283/528/102 303/555/102 297/554/102 -f 299/548/104 296/547/104 298/557/104 300/549/104 -f 295/558/111 288/533/111 287/532/111 304/559/111 -f 295/558/112 304/559/112 302/560/112 305/561/112 -f 305/561/113 302/560/113 301/562/113 306/563/113 -f 300/552/114 303/555/114 306/564/114 301/565/114 -f 285/530/106 292/537/106 307/566/115 308/567/115 -f 303/555/116 283/528/116 305/568/116 306/564/116 -f 283/528/117 282/527/117 295/540/117 305/568/117 -f 291/536/118 294/539/118 304/556/118 287/532/118 -f 307/566/104 309/569/104 310/570/104 311/571/104 312/572/104 313/573/104 314/574/104 315/575/104 316/576/104 -f 289/534/119 317/577/119 318/578/119 319/579/119 -f 288/533/120 286/531/120 317/577/120 289/534/120 -f 286/531/102 285/530/102 308/567/102 317/577/102 -f 291/536/121 287/532/121 290/535/121 309/569/121 -f 292/537/104 291/536/104 309/569/104 307/566/104 -f 320/580/122 319/579/122 321/581/122 322/582/122 -f 315/575/123 320/580/123 322/582/123 323/583/123 -f 309/569/124 290/535/124 320/580/124 315/575/124 -f 290/535/125 289/534/125 319/579/125 320/580/125 -f 308/567/115 307/566/115 316/576/115 324/584/115 -f 317/577/102 325/585/102 326/586/102 327/587/102 328/588/102 329/589/102 318/578/102 -f 330/590/126 331/591/127 332/592/127 323/583/126 -f 330/590/126 323/583/126 322/582/128 321/581/128 -f 324/584/115 316/576/115 332/592/115 331/591/115 -f 318/578/102 324/584/102 331/591/102 330/590/102 -f 319/579/129 318/578/129 330/590/129 321/581/129 -f 316/576/104 315/575/104 323/583/104 332/592/104 -f 333/593/130 311/594/130 310/595/130 325/596/130 -f 329/597/131 314/598/131 313/599/131 334/600/131 -f 315/575/104 314/574/104 335/601/104 336/602/104 337/603/104 310/570/104 309/569/104 -f 325/596/132 310/595/132 337/604/132 326/605/132 -f 328/606/133 335/607/133 314/598/133 329/597/133 -f 327/608/134 336/609/134 335/607/134 328/606/134 -f 338/610/135 312/611/135 311/594/135 333/593/135 -f 334/600/136 313/599/136 312/612/136 338/613/136 -f 326/605/137 337/604/137 336/609/137 327/608/137 -f 318/578/102 329/589/102 334/614/102 338/615/102 333/616/102 325/585/102 317/577/102 308/567/102 324/584/102 -o UndeRail_Cube.005 -v -1.185225 0.299229 -0.228225 -v -1.185225 0.078919 -0.228225 -v -1.579320 0.146982 -0.228225 -v -1.579320 0.299229 -0.228225 -v -0.726389 0.070637 -0.201417 -v -0.726389 0.299229 -0.201417 -v -0.726389 0.299229 0.201417 -v -0.726389 0.070637 0.201417 -v -0.770558 0.343398 -0.201417 -v -1.096886 0.343398 -0.201417 -v -1.096886 0.343398 0.201417 -v -0.770558 0.343398 0.201417 -v -1.185225 0.078919 0.228225 -v -1.185225 0.299229 0.228225 -v -1.579320 0.299229 0.228225 -v -1.579320 0.146982 0.228225 -v -1.185225 0.343398 0.201417 -v -1.185225 0.343398 -0.201417 -v -1.579320 0.343398 -0.201417 -v -1.579320 0.343398 0.201417 -v -1.096886 0.026467 -0.201417 -v -0.770558 0.026467 -0.201417 -v -0.770558 0.026467 0.201417 -v -1.096886 0.026467 0.201417 -v -1.096886 0.070637 -0.228225 -v -1.096886 0.299229 -0.228225 -v -0.770558 0.299229 -0.228225 -v -0.770558 0.070637 -0.228225 -v -0.770558 0.070637 0.228225 -v -0.770558 0.299229 0.228225 -v -1.096886 0.299229 0.228225 -v -1.096886 0.070637 0.228225 -v -1.690351 0.200246 0.201417 -v -1.690351 0.287913 0.201417 -v -1.690351 0.287913 -0.201417 -v -1.690351 0.200246 -0.201417 -v -1.184581 0.033984 0.201417 -v -1.184581 0.033984 -0.201417 -v -1.659805 0.134929 0.201417 -v -1.579964 0.102270 0.201417 -v -1.667659 0.194088 0.228225 -v -1.667659 0.291126 0.228225 -v -1.646801 0.339453 0.201417 -v -1.659805 0.134929 -0.201417 -v -1.667659 0.194088 -0.228225 -v -1.579964 0.102270 -0.201417 -v -1.667040 0.336028 -0.201417 -v -1.667659 0.291126 -0.228225 -vt 0.588425 0.250000 -vt 0.411758 0.250000 -vt 0.420274 0.250000 -vt 0.579929 0.250000 -vt 0.409842 0.514683 -vt 0.590158 0.514683 -vt 0.590158 0.735317 -vt 0.409842 0.735317 -vt 0.651630 0.514683 -vt 0.848370 0.514683 -vt 0.848370 0.735317 -vt 0.651630 0.735317 -vt 0.411758 1.000000 -vt 0.588425 1.000000 -vt 0.579929 1.000000 -vt 0.420274 1.000000 -vt 0.875000 0.735317 -vt 0.875000 0.514683 -vt 0.875000 0.514683 -vt 0.875000 0.735317 -vt 0.151630 0.514683 -vt 0.348370 0.514683 -vt 0.348370 0.735317 -vt 0.151630 0.735317 -vt 0.409842 0.276630 -vt 0.590158 0.276630 -vt 0.590158 0.473370 -vt 0.409842 0.473370 -vt 0.409842 0.776629 -vt 0.590158 0.776630 -vt 0.590158 0.973370 -vt 0.409842 0.973370 -vt 0.437738 0.014683 -vt 0.562262 0.014683 -vt 0.562262 0.235317 -vt 0.437738 0.235317 -vt 0.098759 0.735317 -vt 0.125000 0.735317 -vt 0.151630 0.750000 -vt 0.125000 0.750000 -vt 0.590158 1.000000 -vt 0.625000 1.000000 -vt 0.625000 1.000000 -vt 0.098759 0.514683 -vt 0.125000 0.500000 -vt 0.151630 0.500000 -vt 0.125000 0.514683 -vt 0.625000 0.250000 -vt 0.625000 0.250000 -vt 0.590158 0.250000 -vt 0.625000 0.250000 -vt 0.375000 0.735317 -vt 0.348370 0.750000 -vt 0.625000 0.776630 -vt 0.625000 0.776630 -vt 0.590158 0.750000 -vt 0.348370 0.500000 -vt 0.375000 0.514683 -vt 0.625000 0.514683 -vt 0.625000 0.514683 -vt 0.590158 0.500000 -vt 0.125000 0.735317 -vt 0.125000 0.735317 -vt 0.125000 0.750000 -vt 0.125000 0.750000 -vt 0.565038 1.000000 -vt 0.577732 1.000000 -vt 0.625000 1.000000 -vt 0.617113 1.000000 -vt 0.125000 0.514683 -vt 0.125000 0.500000 -vt 0.125000 0.500000 -vt 0.125000 0.514683 -vt 0.611973 0.250000 -vt 0.625000 0.250000 -vt 0.625000 0.250000 -vt 0.569060 0.250000 -vt 0.125000 0.735317 -vt 0.572214 1.000000 -vt 0.625000 1.000000 -vt 0.562262 1.000000 -vt 0.125000 0.514683 -vt 0.625000 0.250000 -vt 0.625000 0.250000 -vt 0.562262 0.250000 -vt 0.125000 0.735317 -vt 0.125000 0.514683 -vt 0.625000 0.276630 -vt 0.625000 0.473370 -vt 0.625000 0.973370 -vt 0.567775 1.000000 -vt 0.441517 1.000000 -vt 0.875000 0.514683 -vt 0.875000 0.735317 -vt 0.441517 0.250000 -vt 0.567775 0.250000 -vt 0.436229 1.000000 -vt 0.437738 1.000000 -vt 0.625000 0.014683 -vt 0.625000 0.235317 -vt 0.572214 0.250000 -vt 0.436229 0.250000 -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 -1.0000 0.0000 0.0000 -vn -0.0462 -0.5153 0.8558 -vn 0.0000 0.5189 0.8549 -vn -0.0462 -0.5153 -0.8558 -vn 0.0000 0.5189 -0.8549 -vn 0.4606 -0.4605 0.7588 -vn 0.4606 0.4606 0.7588 -vn 0.4606 -0.4605 -0.7588 -vn 0.4606 0.4606 -0.7588 -vn -0.2180 -0.4596 0.8610 -vn -0.0393 0.5077 0.8606 -vn -0.2180 -0.4596 -0.8610 -vn -0.0453 0.5154 -0.8557 -vn -0.7527 -0.3520 0.5563 -vn -0.6638 0.5609 0.4947 -vn -0.7527 -0.3520 -0.5563 -vn -0.7340 0.3556 -0.5787 -vn -0.0854 -0.9963 -0.0000 -vn 0.0000 -0.5188 -0.8549 -vn 0.5189 0.0000 -0.8549 -vn 0.7071 -0.7071 -0.0000 -vn 0.7071 0.7071 0.0000 -vn 0.5189 -0.0000 0.8549 -vn 0.0000 -0.5188 0.8549 -vn -0.3786 -0.9256 -0.0000 -vn -0.0727 0.9974 -0.0024 -vn -0.0883 -0.5113 0.8549 -vn -0.0883 -0.5113 -0.8549 -vn -0.9058 -0.4236 -0.0000 -vn -0.7633 0.0000 0.6461 -vn -0.8303 0.5571 0.0185 -vn -0.7633 0.0000 -0.6461 -vn -0.1702 -0.9854 -0.0000 -s 1 -f 339/617/138 340/618/138 341/619/138 342/620/138 -f 343/621/139 344/622/139 345/623/139 346/624/139 -f 347/625/140 348/626/140 349/627/140 350/628/140 -f 351/629/141 352/630/141 353/631/141 354/632/141 -f 355/633/140 356/634/140 357/635/140 358/636/140 -f 359/637/142 360/638/142 361/639/142 362/640/142 -f 363/641/138 364/642/138 365/643/138 366/644/138 -f 367/645/141 368/646/141 369/647/141 370/648/141 -f 371/649/143 372/650/143 373/651/143 374/652/143 -f 375/653/144 362/654/144 370/655/144 351/656/144 -f 352/630/145 369/657/145 349/658/145 355/659/145 -f 376/660/146 340/661/146 363/662/146 359/663/146 -f 356/664/147 348/665/147 364/666/147 339/667/147 -f 361/639/148 346/668/148 367/669/148 -f 350/670/149 368/671/149 345/672/149 -f 360/638/150 366/673/150 343/674/150 -f 347/675/151 344/676/151 365/677/151 -f 377/678/152 378/679/152 354/680/152 379/681/152 -f 380/682/153 353/683/153 358/684/153 381/685/153 -f 382/686/154 383/687/154 341/688/154 384/689/154 -f 385/690/155 357/691/155 342/692/155 386/693/155 -f 377/678/156 379/681/156 371/694/156 -f 380/695/157 381/696/157 372/697/157 -f 382/686/158 374/698/158 383/687/158 -f 385/699/159 386/700/159 373/701/159 -f 359/637/160 362/640/160 375/702/160 376/703/160 -f 370/648/141 369/647/141 352/630/141 351/629/141 -f 349/627/140 348/626/140 356/634/140 355/633/140 -f 364/642/138 363/641/138 340/618/138 339/617/138 -f 360/638/161 359/637/161 363/662/161 366/673/161 -f 348/704/147 347/705/147 365/643/147 364/642/147 -f 344/622/162 343/621/162 366/644/162 365/643/162 -f 361/639/163 360/638/163 343/621/163 346/624/163 -f 347/625/164 350/628/164 345/623/164 344/622/164 -f 368/646/165 367/645/165 346/624/165 345/623/165 -f 362/640/166 361/639/166 367/669/166 370/655/166 -f 350/670/145 349/706/145 369/647/145 368/646/145 -f 384/689/167 378/679/167 377/678/167 382/686/167 -f 354/632/141 353/631/141 380/707/141 379/708/141 -f 358/636/168 357/635/168 385/709/168 381/710/168 -f 342/620/138 341/619/138 383/711/138 386/712/138 -f 339/617/147 342/620/147 357/691/147 356/664/147 -f 353/631/145 352/630/145 355/659/145 358/684/145 -f 351/656/169 354/680/169 378/679/169 375/702/169 -f 341/688/170 340/661/170 376/703/170 384/689/170 -f 382/686/171 377/678/171 371/694/171 374/698/171 -f 379/713/172 380/695/172 372/697/172 371/714/172 -f 381/715/173 385/716/173 373/651/173 372/650/173 -f 386/717/174 383/718/174 374/652/174 373/651/174 -f 376/703/175 375/702/175 378/679/175 384/689/175 -o TriggerGuard_Cube.007 -v -0.991593 0.009137 0.090896 -v -0.991593 0.050129 0.090896 -v -0.991593 0.050129 -0.090896 -v -0.991593 0.009137 -0.090896 -v -0.359255 0.050129 -0.090896 -v -0.359255 0.009137 -0.090896 -v -0.359255 0.050129 0.090896 -v -0.359255 0.009137 0.090896 -v -0.952793 -0.032302 0.079741 -v -0.475801 -0.032302 0.079741 -v -0.398056 -0.032302 0.079741 -v -0.952793 -0.032302 -0.079741 -v -0.477062 -0.032302 -0.079741 -v -0.398056 -0.032302 -0.079741 -v -0.547697 -0.243266 -0.079741 -v -0.468691 -0.243266 -0.079741 -v -0.417833 -0.308250 -0.079741 -v -0.496840 -0.308250 -0.079741 -v -0.468691 -0.243266 0.079741 -v -0.546437 -0.243266 0.079741 -v -0.495579 -0.308250 0.079741 -v -0.884730 -0.317360 -0.073714 -v -0.883469 -0.317360 0.085769 -v -0.417833 -0.308250 0.079741 -v -0.548320 -0.390292 0.079741 -v -0.549581 -0.390292 -0.079741 -v -0.470574 -0.390292 -0.079741 -v -0.470574 -0.390292 0.079741 -v -0.933383 -0.398929 -0.073714 -v -0.932122 -0.398929 0.085769 -v -1.071287 -0.315922 0.087949 -v -1.072548 -0.315922 -0.071533 -v -1.022634 -0.234353 0.087949 -v -1.023895 -0.234353 -0.071533 -vt 0.375000 0.000000 -vt 0.625000 0.000000 -vt 0.625000 0.250000 -vt 0.375000 0.250000 -vt 0.625000 0.500000 -vt 0.375000 0.500000 -vt 0.625000 0.750000 -vt 0.375000 0.750000 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vt 0.375000 1.000000 -vt 0.375000 0.806259 -vt 0.375000 0.750000 -vt 0.875000 0.500000 -vt 0.875000 0.750000 -vt 0.125000 0.500000 -vt 0.318173 0.500000 -vt 0.318741 0.750000 -vt 0.125000 0.750000 -vt 0.375000 0.500000 -vt 0.375000 0.443173 -vt 0.375000 0.250000 -vt 0.375000 0.000000 -vt 0.375000 0.443173 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.443173 -vt 0.375000 0.750000 -vt 0.375000 0.806259 -vt 0.318173 0.500000 -vt 0.318741 0.750000 -vt 0.318741 0.750000 -vt 0.318173 0.500000 -vt 0.318173 0.500000 -vt 0.318741 0.750000 -vt 0.375000 0.750000 -vt 0.375000 0.806259 -vt 0.318741 0.750000 -vt 0.318173 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.750000 -vt 0.375000 0.806259 -vt 0.375000 0.443173 -vt 0.318173 0.500000 -vt 0.318741 0.750000 -vt 0.318741 0.750000 -vt 0.318173 0.500000 -vt 0.375000 0.443173 -vt 0.375000 0.443173 -vt 0.375000 0.806259 -vt 0.375000 0.806259 -vt 0.318741 0.750000 -vt 0.318173 0.500000 -vt 0.375000 0.443173 -vt 0.375000 0.443173 -vt 0.375000 0.806259 -vt 0.375000 0.806259 -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 -0.2599 0.9656 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 -0.0000 -vn 0.0000 -0.2599 -0.9656 -vn -0.7300 -0.6835 -0.0000 -vn 0.7300 -0.6835 -0.0000 -vn 0.9483 -0.3175 0.0000 -vn -0.9482 0.3175 0.0075 -vn -0.0235 0.9997 0.0002 -vn 0.7875 0.6163 0.0000 -vn -0.7875 -0.6163 0.0062 -vn 0.8412 -0.5408 0.0000 -vn -0.5122 -0.8589 0.0040 -vn -0.0158 0.0098 -0.9998 -vn -0.0154 0.0095 -0.9998 -vn -0.0119 0.0071 -0.9999 -vn 0.0158 -0.0098 0.9998 -vn 0.0119 -0.0071 0.9999 -vn 0.0154 -0.0095 0.9998 -vn 0.0225 -0.9997 -0.0002 -vn -0.8588 0.5123 0.0068 -vn -0.0116 0.0069 -0.9999 -vn 0.5122 0.8589 -0.0040 -vn 0.0116 -0.0069 0.9999 -s 1 -f 387/719/176 388/720/176 389/721/176 390/722/176 -f 390/722/177 389/721/177 391/723/177 392/724/177 -f 392/724/178 391/723/178 393/725/178 394/726/178 -f 394/726/179 393/725/179 388/727/179 387/728/179 -f 394/726/180 387/728/180 395/729/180 396/730/180 397/731/180 -f 391/723/181 389/732/181 388/733/181 393/725/181 -f 398/734/182 399/735/182 396/736/182 395/737/182 -f 390/722/183 392/724/183 400/738/183 399/739/183 398/740/183 -f 387/719/184 390/722/184 398/740/184 395/741/184 -f 392/724/185 394/726/185 397/731/185 400/738/185 -f 401/742/177 402/743/177 403/744/177 404/745/177 -f 400/738/186 397/731/186 405/746/186 402/743/186 -f 397/731/179 396/730/179 406/747/179 405/746/179 -f 396/736/187 399/735/187 401/748/187 406/749/187 -f 399/739/177 400/738/177 402/743/177 401/742/177 -f 407/750/188 404/751/188 408/752/188 409/753/188 -f 402/743/189 405/746/189 410/754/189 403/744/189 -f 406/749/190 401/748/190 404/751/190 407/750/190 -f 405/746/179 406/747/179 407/755/179 410/754/179 -f 411/756/182 412/757/182 413/758/182 414/759/182 -f 410/754/179 407/755/179 411/760/179 414/759/179 -f 404/745/177 403/744/177 413/758/177 412/761/177 -f 403/744/191 410/754/191 414/759/191 413/758/191 -f 415/762/192 416/763/192 417/764/192 418/765/192 -f 404/745/193 412/761/193 415/766/194 408/767/195 -f 411/760/196 407/755/196 409/768/197 416/769/198 -f 412/757/199 411/756/199 416/763/199 415/762/199 -f 419/770/200 420/771/200 418/765/200 417/764/200 -f 408/767/195 415/766/194 418/772/201 420/773/201 -f 409/753/202 408/752/202 420/771/202 419/770/202 -f 416/769/198 409/768/197 419/774/203 417/775/203 -o Trigger_Cube.008 -v -0.906556 -0.031746 0.035327 -v -0.906556 -0.031746 -0.035327 -v -0.906556 -0.054594 -0.035327 -v -0.906556 -0.054594 0.035327 -v -0.750972 -0.031746 -0.035327 -v -0.757513 -0.054594 -0.035327 -v -0.750972 -0.031746 0.035327 -v -0.757513 -0.054594 0.035327 -v -0.891840 -0.172320 -0.035327 -v -0.891840 -0.172320 0.035327 -v -0.858049 -0.254618 0.035327 -v -0.773318 -0.237178 0.035327 -v -0.781494 -0.172320 0.035327 -v -0.781494 -0.172320 -0.035327 -v -0.752234 -0.268743 0.035327 -v -0.752234 -0.268743 -0.035327 -v -0.773318 -0.237178 -0.035327 -v -0.858049 -0.254618 -0.035327 -v -0.786277 -0.298175 0.035327 -v -0.786277 -0.298175 -0.035327 -vt 0.375000 0.000000 -vt 0.375000 0.250000 -vt 0.625000 0.250000 -vt 0.625000 0.000000 -vt 0.375000 0.500000 -vt 0.625000 0.500000 -vt 0.375000 0.750000 -vt 0.625000 0.750000 -vt 0.375000 1.000000 -vt 0.625000 1.000000 -vt 0.125000 0.500000 -vt 0.125000 0.750000 -vt 0.625000 0.250000 -vt 0.625000 0.000000 -vt 0.625000 1.000000 -vt 0.625000 1.000000 -vt 0.625000 0.750000 -vt 0.625000 0.750000 -vt 0.625000 0.500000 -vt 0.625000 0.750000 -vt 0.625000 0.500000 -vt 0.625000 0.500000 -vt 0.625000 0.250000 -vt 0.625000 0.000000 -vt 0.875000 0.750000 -vt 0.875000 0.500000 -vt 0.625000 0.250000 -vt 0.625000 0.000000 -vt 0.625000 1.000000 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.9614 -0.2752 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.9799 -0.1996 0.0000 -vn 0.8316 0.5554 0.0000 -vn 0.9921 0.1251 0.0000 -vn -0.9251 -0.3798 0.0000 -vn 0.6540 -0.7565 0.0000 -vn -0.5188 -0.8549 0.0000 -s 1 -f 421/776/204 422/777/204 423/778/204 424/779/204 -f 422/777/205 425/780/205 426/781/205 423/778/205 -f 425/780/206 427/782/206 428/783/206 426/781/206 -f 427/782/207 421/784/207 424/785/207 428/783/207 -f 422/786/208 421/787/208 427/782/208 425/780/208 -f 423/778/209 429/788/209 430/789/209 424/779/209 -f 430/790/207 431/791/207 432/792/207 433/793/207 -f 424/785/207 430/790/207 433/793/207 428/783/207 -f 426/781/205 434/794/205 429/788/205 423/778/205 -f 428/783/210 433/793/210 434/794/210 426/781/210 -f 432/792/211 435/795/211 436/796/211 437/797/211 -f 434/794/205 437/797/205 438/798/205 429/788/205 -f 433/793/212 432/792/212 437/797/212 434/794/212 -f 429/788/213 438/798/213 431/799/213 430/789/213 -f 436/796/214 435/795/214 439/800/214 440/801/214 -f 438/798/215 440/802/215 439/803/215 431/799/215 -f 431/791/207 439/804/207 435/795/207 432/792/207 -f 437/797/205 436/796/205 440/802/205 438/798/205 -o SideHolders.001_Cube.002 -v 1.310526 -0.082794 0.073582 -v 1.384588 0.101767 0.073582 -v 1.139921 0.101767 0.053905 -v 1.144858 -0.044123 0.053905 -v 1.384588 0.101767 -0.069977 -v 1.504148 0.101767 0.073582 -v 1.504148 0.101767 -0.069977 -v 1.430086 -0.082794 0.073582 -v 1.608182 -0.022025 0.051795 -v 1.577323 0.101767 0.051795 -v 1.430086 -0.082794 -0.069977 -v 1.310526 -0.082794 -0.069977 -v 1.577323 0.101767 -0.048191 -v 1.608182 -0.022025 -0.048191 -v 1.144858 -0.044123 -0.050301 -v 1.139921 0.101767 -0.050301 -vt 0.875000 0.750000 -vt 0.875000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 0.750000 -vt 0.375000 0.250000 -vt 0.625000 0.250000 -vt 0.625000 0.500000 -vt 0.375000 0.500000 -vt 0.625000 0.750000 -vt 0.625000 0.750000 -vt 0.625000 0.500000 -vt 0.375000 0.750000 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vt 0.125000 0.500000 -vt 0.125000 0.750000 -vt 0.375000 0.500000 -vt 0.375000 0.750000 -vt 0.375000 0.000000 -vt 0.625000 0.000000 -vt 0.625000 0.250000 -vt 0.375000 0.250000 -vt 0.125000 0.750000 -vt 0.125000 0.500000 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vn -0.0936 0.0196 0.9954 -vn 0.0000 1.0000 0.0000 -vn 0.1766 -0.0247 0.9840 -vn 0.0000 -1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 -0.0000 1.0000 -vn 0.9703 0.2419 0.0000 -vn 0.3229 -0.9464 -0.0000 -vn 0.1766 -0.0247 -0.9840 -vn -0.9994 -0.0338 -0.0000 -vn -0.0936 0.0196 -0.9954 -vn -0.2273 -0.9738 0.0000 -s 1 -f 441/805/216 442/806/216 443/807/216 444/808/216 -f 445/809/217 442/810/217 446/811/217 447/812/217 -f 446/811/218 448/813/218 449/814/218 450/815/218 -f 451/816/219 448/813/219 441/817/219 452/818/219 -f 445/819/220 447/812/220 451/816/220 452/820/220 -f 446/811/221 442/806/221 441/805/221 448/813/221 -f 453/821/222 450/815/222 449/814/222 454/822/222 -f 447/812/217 446/811/217 450/815/217 453/821/217 -f 448/813/223 451/816/223 454/822/223 449/814/223 -f 451/816/224 447/812/224 453/821/224 454/822/224 -f 455/823/225 444/824/225 443/825/225 456/826/225 -f 445/819/226 452/820/226 455/827/226 456/828/226 -f 442/810/217 445/809/217 456/826/217 443/825/217 -f 452/818/227 441/817/227 444/829/227 455/830/227 -o Roundthing_Cylinder.008 -v -0.745839 1.097427 -0.260529 -v -0.745839 1.097427 0.260529 -v -0.654718 0.939467 0.260529 -v -0.654718 0.939467 -0.260529 -v -0.745955 0.781575 0.260529 -v -0.745955 0.781575 -0.260529 -v -0.928312 0.781642 0.260529 -v -0.928312 0.781642 -0.260529 -v -1.019432 0.939601 0.260529 -v -1.019432 0.939601 -0.260529 -v -0.654718 0.939467 0.338343 -v -0.745955 0.781575 0.338343 -v -0.928196 1.097493 0.260529 -v -0.928196 1.097493 -0.260529 -v -0.745839 1.097427 0.338343 -v -0.757348 1.077508 0.380293 -v -0.677723 0.939476 0.380293 -v -1.019432 0.939601 0.338343 -v -0.928196 1.097493 0.338343 -v -0.928312 0.781642 0.338343 -v -0.916701 1.077567 0.380293 -v -0.996428 0.939592 0.380293 -v -0.949024 0.939575 0.380293 -v -0.893014 1.036505 0.380293 -v -0.916802 0.801560 0.380293 -v -0.757450 0.801501 0.380293 -v -0.781065 1.036464 0.380293 -v -0.884357 1.021497 0.419074 -v -0.789734 1.021463 0.419074 -v -0.781137 0.842563 0.380293 -v -0.893085 0.842604 0.380293 -v -0.725127 0.939493 0.380293 -v -0.931698 0.939569 0.419074 -v -0.877029 0.939549 0.419074 -v -0.857040 0.974142 0.419074 -v -0.884417 0.857606 0.419074 -v -0.742452 0.939499 0.419074 -v -0.789794 0.857571 0.419074 -v -0.817086 0.974128 0.419074 -v -0.857040 0.974142 0.317496 -v -0.817086 0.974128 0.317496 -v -0.817111 0.904926 0.419074 -v -0.857065 0.904940 0.419074 -v -0.797122 0.939519 0.419074 -v -0.797122 0.939519 0.317496 -v -0.877029 0.939549 0.317496 -v -0.857065 0.904940 0.317496 -v -0.817111 0.904926 0.317496 -v -0.745955 0.781575 -0.338343 -v -0.654718 0.939467 -0.338343 -v -0.677723 0.939476 -0.380293 -v -0.757348 1.077508 -0.380293 -v -0.745839 1.097427 -0.338343 -v -0.928196 1.097493 -0.338343 -v -1.019432 0.939601 -0.338343 -v -0.928312 0.781642 -0.338343 -v -0.916701 1.077567 -0.380293 -v -0.893014 1.036505 -0.380293 -v -0.949024 0.939575 -0.380293 -v -0.996428 0.939593 -0.380293 -v -0.916802 0.801560 -0.380293 -v -0.757450 0.801502 -0.380293 -v -0.781065 1.036464 -0.380293 -v -0.789734 1.021463 -0.419074 -v -0.884357 1.021497 -0.419074 -v -0.893085 0.842604 -0.380293 -v -0.781137 0.842563 -0.380293 -v -0.725127 0.939493 -0.380293 -v -0.857040 0.974142 -0.419074 -v -0.877029 0.939549 -0.419074 -v -0.931698 0.939569 -0.419074 -v -0.884417 0.857606 -0.419074 -v -0.789794 0.857571 -0.419074 -v -0.742452 0.939499 -0.419074 -v -0.817086 0.974128 -0.419074 -v -0.817086 0.974128 -0.317496 -v -0.857040 0.974142 -0.317496 -v -0.857065 0.904940 -0.419074 -v -0.817111 0.904926 -0.419074 -v -0.797122 0.939519 -0.419074 -v -0.797122 0.939519 -0.317496 -v -0.817111 0.904926 -0.317496 -v -0.857065 0.904940 -0.317496 -v -0.877029 0.939549 -0.317496 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.833333 1.000000 -vt 0.833333 0.500000 -vt 0.666667 1.000000 -vt 0.666667 0.500000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.333333 1.000000 -vt 0.333333 0.500000 -vt 0.833333 1.000000 -vt 0.666667 1.000000 -vt 0.166667 1.000000 -vt 0.166667 0.500000 -vt -0.000000 1.000000 -vt -0.000000 0.500000 -vt 0.750000 0.490000 -vt 0.957846 0.370000 -vt 0.957846 0.130000 -vt 0.750000 0.010000 -vt 0.542154 0.130000 -vt 0.542154 0.370000 -vt 1.000000 1.000000 -vt 1.000000 1.000000 -vt 0.833333 1.000000 -vt 0.333333 1.000000 -vt 0.166667 1.000000 -vt 0.500000 1.000000 -vt -0.000000 1.000000 -vt 0.166667 1.000000 -vt 0.333333 1.000000 -vt 0.333333 1.000000 -vt 0.166667 1.000000 -vt -0.000000 1.000000 -vt 0.500000 1.000000 -vt 0.666667 1.000000 -vt -0.000000 1.000000 -vt 0.166667 1.000000 -vt -0.000000 1.000000 -vt 0.666667 1.000000 -vt 0.500000 1.000000 -vt 1.000000 1.000000 -vt 0.833333 1.000000 -vt 0.333333 1.000000 -vt 0.333333 1.000000 -vt 0.166667 1.000000 -vt 0.500000 1.000000 -vt 0.833333 1.000000 -vt 0.666667 1.000000 -vt 1.000000 1.000000 -vt -0.000000 1.000000 -vt 0.166667 1.000000 -vt -0.000000 1.000000 -vt 0.666667 1.000000 -vt 0.500000 1.000000 -vt 1.000000 1.000000 -vt 0.833333 1.000000 -vt 0.457846 0.370000 -vt 0.250000 0.490000 -vt 0.042154 0.370000 -vt 0.042154 0.130000 -vt 0.250000 0.010000 -vt 0.457846 0.130000 -vt 0.500000 1.000000 -vt 0.333333 1.000000 -vt 0.833333 1.000000 -vt 0.666667 1.000000 -vt 1.000000 1.000000 -vt 0.666667 1.000000 -vt 0.666667 1.000000 -vt 0.833333 1.000000 -vt 0.833333 1.000000 -vt 0.750000 0.490000 -vt 0.542154 0.370000 -vt 0.542154 0.130000 -vt 0.750000 0.010000 -vt 0.957846 0.130000 -vt 0.957846 0.370000 -vt 0.833333 1.000000 -vt 1.000000 1.000000 -vt 1.000000 1.000000 -vt 0.166667 1.000000 -vt 0.166667 1.000000 -vt 0.333333 1.000000 -vt 0.333333 1.000000 -vt 1.000000 1.000000 -vt 0.500000 1.000000 -vt 0.500000 1.000000 -vt -0.000000 1.000000 -vt -0.000000 1.000000 -vt 0.166667 1.000000 -vt 0.166667 1.000000 -vt 0.333333 1.000000 -vt 0.333333 1.000000 -vt -0.000000 1.000000 -vt 0.500000 1.000000 -vt 0.666667 1.000000 -vt -0.000000 1.000000 -vt -0.000000 1.000000 -vt 0.166667 1.000000 -vt 0.500000 1.000000 -vt 0.666667 1.000000 -vt 0.833333 1.000000 -vt 1.000000 1.000000 -vt 0.166667 1.000000 -vt 0.333333 1.000000 -vt 0.333333 1.000000 -vt 0.500000 1.000000 -vt 0.666667 1.000000 -vt 0.833333 1.000000 -vt 1.000000 1.000000 -vt -0.000000 1.000000 -vt -0.000000 1.000000 -vt 0.166667 1.000000 -vt 0.500000 1.000000 -vt 0.666667 1.000000 -vt 0.833333 1.000000 -vt 1.000000 1.000000 -vt 0.457846 0.370000 -vt 0.457846 0.130000 -vt 0.250000 0.010000 -vt 0.042154 0.130000 -vt 0.042154 0.370000 -vt 0.250000 0.490000 -vt 0.333333 1.000000 -vt 0.500000 1.000000 -vt 0.666667 1.000000 -vt 0.833333 1.000000 -vt 1.000000 1.000000 -vn 0.8662 0.4997 0.0000 -vn 0.8658 -0.5003 0.0000 -vn -0.0004 -1.0000 0.0000 -vn -0.8662 -0.4997 0.0000 -vn -0.8658 0.5003 0.0000 -vn 0.0004 1.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.7825 0.4514 0.4290 -vn -0.0000 -0.0000 1.0000 -vn 0.0003 0.9033 0.4290 -vn -0.7825 -0.4514 0.4290 -vn 0.7821 -0.4519 0.4290 -vn -0.7821 0.4519 0.4290 -vn -0.0003 -0.9033 0.4290 -vn 0.0003 0.9326 0.3608 -vn -0.8079 -0.4660 0.3608 -vn 0.8075 -0.4666 0.3608 -vn -0.8075 0.4666 0.3608 -vn -0.0003 -0.9326 0.3608 -vn 0.8079 0.4660 0.3608 -vn 0.7825 0.4514 -0.4290 -vn 0.0003 0.9033 -0.4290 -vn -0.7825 -0.4514 -0.4290 -vn 0.7821 -0.4519 -0.4290 -vn -0.7821 0.4519 -0.4290 -vn -0.0003 -0.9033 -0.4290 -vn 0.0003 0.9326 -0.3608 -vn -0.8079 -0.4660 -0.3608 -vn 0.8075 -0.4666 -0.3608 -vn -0.8075 0.4666 -0.3608 -vn -0.0003 -0.9326 -0.3608 -vn 0.8079 0.4660 -0.3608 -s 1 -f 457/831/228 458/832/228 459/833/228 460/834/228 -f 460/834/229 459/833/229 461/835/229 462/836/229 -f 462/836/230 461/835/230 463/837/230 464/838/230 -f 464/838/231 463/837/231 465/839/231 466/840/231 -f 461/835/229 459/833/229 467/841/229 468/842/229 -f 466/840/232 465/839/232 469/843/232 470/844/232 -f 470/844/233 469/843/233 458/845/233 457/846/233 -f 457/847/234 460/848/234 462/849/234 464/850/234 466/851/234 470/852/234 -f 467/841/235 471/853/235 472/854/235 473/855/235 -f 469/843/232 465/839/232 474/856/232 475/857/232 -f 459/833/228 458/832/228 471/853/228 467/841/228 -f 463/837/230 461/835/230 468/842/230 476/858/230 -f 458/845/233 469/843/233 475/857/233 471/859/233 -f 465/839/231 463/837/231 476/858/231 474/856/231 -f 477/860/236 478/861/236 479/862/236 480/863/236 -f 471/859/237 475/857/237 477/860/237 472/864/237 -f 474/856/238 476/858/238 481/865/238 478/861/238 -f 468/842/239 467/841/239 473/855/239 482/866/239 -f 475/857/240 474/856/240 478/861/240 477/860/240 -f 476/858/241 468/842/241 482/866/241 481/865/241 -f 483/867/242 480/863/242 484/868/242 485/869/242 -f 481/865/236 482/866/236 486/870/236 487/871/236 -f 473/855/236 472/854/236 483/872/236 488/873/236 -f 472/864/236 477/860/236 480/863/236 483/867/236 -f 478/861/236 481/865/236 487/871/236 479/862/236 -f 482/866/236 473/855/236 488/873/236 486/870/236 -f 484/868/236 489/874/236 490/875/236 491/876/236 -f 479/862/243 487/871/243 492/877/243 489/874/243 -f 486/870/244 488/873/244 493/878/244 494/879/244 -f 480/863/245 479/862/245 489/874/245 484/868/245 -f 487/871/246 486/870/246 494/879/246 492/877/246 -f 488/873/247 483/872/247 485/880/247 493/878/247 -f 495/881/230 491/876/230 496/882/230 497/883/230 -f 492/877/236 494/879/236 498/884/236 499/885/236 -f 493/878/236 485/880/236 495/886/236 500/887/236 -f 485/869/236 484/868/236 491/876/236 495/881/236 -f 489/874/236 492/877/236 499/885/236 490/875/236 -f 494/879/236 493/878/236 500/887/236 498/884/236 -f 501/888/236 497/889/236 496/890/236 502/891/236 503/892/236 504/893/236 -f 490/875/228 499/885/228 503/894/228 502/895/228 -f 498/884/232 500/887/232 501/896/232 504/897/232 -f 491/876/229 490/875/229 502/895/229 496/882/229 -f 499/885/233 498/884/233 504/897/233 503/894/233 -f 500/887/231 495/886/231 497/898/231 501/896/231 -f 462/899/229 505/900/229 506/901/229 460/902/229 -f 458/903/236 469/904/236 465/905/236 463/906/236 461/907/236 459/908/236 -f 506/901/248 507/909/248 508/910/248 509/911/248 -f 470/912/232 510/913/232 511/914/232 466/915/232 -f 460/902/228 506/901/228 509/911/228 457/916/228 -f 464/917/230 512/918/230 505/900/230 462/899/230 -f 457/919/233 509/920/233 510/913/233 470/912/233 -f 466/915/231 511/914/231 512/918/231 464/917/231 -f 513/921/234 514/922/234 515/923/234 516/924/234 -f 509/920/249 508/925/249 513/921/249 510/913/249 -f 511/914/250 516/924/250 517/926/250 512/918/250 -f 505/900/251 518/927/251 507/909/251 506/901/251 -f 510/913/252 513/921/252 516/924/252 511/914/252 -f 512/918/253 517/926/253 518/927/253 505/900/253 -f 519/928/254 520/929/254 521/930/254 514/922/254 -f 517/926/234 522/931/234 523/932/234 518/927/234 -f 507/909/234 524/933/234 519/934/234 508/910/234 -f 508/925/234 519/928/234 514/922/234 513/921/234 -f 516/924/234 515/923/234 522/931/234 517/926/234 -f 518/927/234 523/932/234 524/933/234 507/909/234 -f 521/930/234 525/935/234 526/936/234 527/937/234 -f 515/923/255 527/937/255 528/938/255 522/931/255 -f 523/932/256 529/939/256 530/940/256 524/933/256 -f 514/922/257 521/930/257 527/937/257 515/923/257 -f 522/931/258 528/938/258 529/939/258 523/932/258 -f 524/933/259 530/940/259 520/941/259 519/934/259 -f 531/942/230 532/943/230 533/944/230 525/935/230 -f 528/938/234 534/945/234 535/946/234 529/939/234 -f 530/940/234 536/947/234 531/948/234 520/941/234 -f 520/929/234 531/942/234 525/935/234 521/930/234 -f 527/937/234 526/936/234 534/945/234 528/938/234 -f 529/939/234 535/946/234 536/947/234 530/940/234 -f 537/949/234 538/950/234 539/951/234 540/952/234 533/953/234 532/954/234 -f 526/936/228 540/955/228 539/956/228 534/945/228 -f 535/946/232 538/957/232 537/958/232 536/947/232 -f 525/935/229 533/944/229 540/955/229 526/936/229 -f 534/945/233 539/956/233 538/957/233 535/946/233 -f 536/947/231 537/958/231 532/959/231 531/948/231 -o ring_Torus -v 0.990151 -0.648179 -0.190841 -v 0.990151 -0.321606 -0.374799 -v 1.068843 -0.322088 -0.329369 -v 1.068843 -0.609076 -0.167709 -v 1.068843 -0.323051 -0.238509 -v 1.068843 -0.530870 -0.121444 -v 0.990151 -0.323533 -0.193078 -v 0.990151 -0.491768 -0.098312 -v 0.911459 -0.323051 -0.238509 -v 0.911459 -0.530870 -0.121444 -v 0.911459 -0.322088 -0.329369 -v 0.911459 -0.609076 -0.167709 -v 0.990151 0.000993 -0.183958 -v 1.068843 -0.038592 -0.161660 -v 1.068843 -0.117761 -0.117064 -v 0.990151 -0.157346 -0.094766 -v 0.911459 -0.117761 -0.117064 -v 0.911459 -0.038592 -0.161660 -v 0.990151 -0.002981 0.190841 -v 1.068843 -0.042084 0.167709 -v 1.068843 -0.120290 0.121444 -v 0.990151 -0.159393 0.098312 -v 0.911459 -0.120290 0.121444 -v 0.911459 -0.042084 0.167709 -v 0.990151 -0.329554 0.374799 -v 1.068843 -0.329073 0.329369 -v 1.068843 -0.328109 0.238509 -v 0.990151 -0.327627 0.193079 -v 0.911459 -0.328109 0.238509 -v 0.911459 -0.329073 0.329369 -v 0.990151 -0.652153 0.183958 -v 1.068843 -0.612568 0.161660 -v 1.068843 -0.533399 0.117064 -v 0.990151 -0.493815 0.094766 -v 0.911459 -0.533399 0.117064 -v 0.911459 -0.612568 0.161660 -vt 0.500000 0.500000 -vt 0.666667 0.500000 -vt 0.666667 0.666667 -vt 0.500000 0.666667 -vt 0.666667 0.833333 -vt 0.500000 0.833333 -vt 0.666667 1.000000 -vt 0.500000 1.000000 -vt 0.500000 -0.000000 -vt 0.666667 -0.000000 -vt 0.666667 0.166667 -vt 0.500000 0.166667 -vt 0.666667 0.333333 -vt 0.500000 0.333333 -vt 0.833333 0.500000 -vt 0.833333 0.666667 -vt 0.833333 0.833333 -vt 0.833333 1.000000 -vt 0.833333 -0.000000 -vt 0.833333 0.166667 -vt 0.833333 0.333333 -vt 1.000000 0.500000 -vt 1.000000 0.666667 -vt 1.000000 0.833333 -vt 1.000000 1.000000 -vt 1.000000 -0.000000 -vt 1.000000 0.166667 -vt 1.000000 0.333333 -vt -0.000000 0.500000 -vt 0.166667 0.500000 -vt 0.166667 0.666667 -vt -0.000000 0.666667 -vt 0.166667 0.833333 -vt -0.000000 0.833333 -vt 0.166667 1.000000 -vt -0.000000 1.000000 -vt -0.000000 -0.000000 -vt 0.166667 -0.000000 -vt 0.166667 0.166667 -vt -0.000000 0.166667 -vt 0.166667 0.333333 -vt -0.000000 0.333333 -vt 0.333333 0.500000 -vt 0.333333 0.666667 -vt 0.333333 0.833333 -vt 0.333333 1.000000 -vt 0.333333 -0.000000 -vt 0.333333 0.166667 -vt 0.333333 0.333333 -vn 0.4472 -0.4390 -0.7793 -vn 1.0000 0.0000 0.0000 -vn 0.4472 0.4390 0.7793 -vn -0.4472 0.4390 0.7793 -vn -1.0000 -0.0000 0.0000 -vn -0.4472 -0.4390 -0.7793 -vn 0.4472 0.4554 -0.7698 -vn 0.4472 -0.4554 0.7698 -vn -0.4472 -0.4554 0.7698 -vn -0.4472 0.4554 -0.7698 -vn 0.4472 0.8944 0.0095 -vn 0.4472 -0.8944 -0.0095 -vn -0.4472 -0.8944 -0.0095 -vn -0.4472 0.8944 0.0095 -s 1 -f 541/960/260 542/961/260 543/962/260 544/963/260 -f 544/963/261 543/962/261 545/964/261 546/965/261 -f 546/965/262 545/964/262 547/966/262 548/967/262 -f 548/968/263 547/969/263 549/970/263 550/971/263 -f 550/971/264 549/970/264 551/972/264 552/973/264 -f 552/973/265 551/972/265 542/961/265 541/960/265 -f 542/961/266 553/974/266 554/975/266 543/962/266 -f 543/962/261 554/975/261 555/976/261 545/964/261 -f 545/964/267 555/976/267 556/977/267 547/966/267 -f 547/969/268 556/978/268 557/979/268 549/970/268 -f 549/970/264 557/979/264 558/980/264 551/972/264 -f 551/972/269 558/980/269 553/974/269 542/961/269 -f 553/974/270 559/981/270 560/982/270 554/975/270 -f 554/975/261 560/982/261 561/983/261 555/976/261 -f 555/976/271 561/983/271 562/984/271 556/977/271 -f 556/978/272 562/985/272 563/986/272 557/979/272 -f 557/979/264 563/986/264 564/987/264 558/980/264 -f 558/980/273 564/987/273 559/981/273 553/974/273 -f 559/988/262 565/989/262 566/990/262 560/991/262 -f 560/991/261 566/990/261 567/992/261 561/993/261 -f 561/993/260 567/992/260 568/994/260 562/995/260 -f 562/996/265 568/997/265 569/998/265 563/999/265 -f 563/999/264 569/998/264 570/1000/264 564/1001/264 -f 564/1001/263 570/1000/263 565/989/263 559/988/263 -f 565/989/267 571/1002/267 572/1003/267 566/990/267 -f 566/990/261 572/1003/261 573/1004/261 567/992/261 -f 567/992/266 573/1004/266 574/1005/266 568/994/266 -f 568/997/269 574/1006/269 575/1007/269 569/998/269 -f 569/998/264 575/1007/264 576/1008/264 570/1000/264 -f 570/1000/268 576/1008/268 571/1002/268 565/989/268 -f 571/1002/271 541/960/271 544/963/271 572/1003/271 -f 572/1003/261 544/963/261 546/965/261 573/1004/261 -f 573/1004/270 546/965/270 548/967/270 574/1005/270 -f 574/1006/273 548/968/273 550/971/273 575/1007/273 -f 575/1007/264 550/971/264 552/973/264 576/1008/264 -f 576/1008/272 552/973/272 541/960/272 571/1002/272 -o HolographicHolder_Cylinder.009 -v -0.972691 1.166717 0.278124 -v -0.972691 1.166717 -0.278124 -v -0.987438 1.166717 -0.260322 -v -0.987438 1.166717 0.260322 -v -0.934937 1.102284 0.278124 -v -0.934937 1.102284 -0.278124 -v -0.971860 1.037372 0.278124 -v -0.971860 1.037372 -0.278124 -v -1.046537 1.036892 0.278124 -v -1.046537 1.036892 -0.278124 -v -1.047369 1.166237 0.278124 -v -1.084291 1.101324 0.278124 -v -1.084291 1.101324 -0.278124 -v -1.047368 1.166237 -0.278124 -v -1.032621 1.166237 -0.260322 -v -1.032621 1.166237 0.260322 -v -1.033084 1.202181 0.260322 -v -1.033084 1.202181 -0.260322 -v -0.987902 1.202661 0.260322 -v -0.987902 1.202661 -0.260322 -vt 0.833333 1.000000 -vt 0.833333 0.500000 -vt 0.833333 0.500000 -vt 0.833333 1.000000 -vt 0.666667 1.000000 -vt 0.666667 0.500000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.333333 1.000000 -vt 0.333333 0.500000 -vt 0.457846 0.370000 -vt 0.250000 0.490000 -vt 0.042154 0.370000 -vt 0.042154 0.130000 -vt 0.250000 0.010000 -vt 0.457846 0.130000 -vt 0.166667 1.000000 -vt 0.166667 0.500000 -vt -0.000000 1.000000 -vt -0.000000 0.500000 -vt 0.750000 0.490000 -vt 0.957846 0.370000 -vt 0.957846 0.130000 -vt 0.750000 0.010000 -vt 0.542154 0.130000 -vt 0.542154 0.370000 -vt -0.000000 0.500000 -vt -0.000000 1.000000 -vt -0.000000 1.000000 -vt -0.000000 0.500000 -vt 0.457846 0.370000 -vt 0.250000 0.490000 -vt 0.750000 0.490000 -vt 0.957846 0.370000 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.833333 1.000000 -vt 0.833333 0.500000 -vt 0.750000 0.490000 -vt 0.957846 0.370000 -vt 0.457846 0.370000 -vt 0.250000 0.490000 -vn -0.0005 1.0000 -0.0000 -vn -0.0078 1.0000 0.0000 -vn 0.8628 0.5055 0.0000 -vn 0.8692 -0.4944 0.0000 -vn 0.0064 -1.0000 0.0000 -vn -0.0000 0.0000 1.0000 -vn -0.8628 -0.5056 0.0000 -vn -0.8692 0.4944 -0.0000 -vn -0.0000 0.0000 -1.0000 -vn -0.9999 -0.0129 0.0000 -vn -0.0079 1.0000 -0.0000 -vn -0.0106 0.9999 0.0000 -vn 0.9999 0.0129 0.0000 -s 1 -f 577/1009/274 578/1010/274 579/1011/275 580/1012/275 -f 578/1010/276 577/1009/276 581/1013/276 582/1014/276 -f 582/1014/277 581/1013/277 583/1015/277 584/1016/277 -f 584/1016/278 583/1015/278 585/1017/278 586/1018/278 -f 577/1019/279 587/1020/279 588/1021/279 585/1022/279 583/1023/279 581/1024/279 -f 586/1018/280 585/1017/280 588/1025/280 589/1026/280 -f 589/1026/281 588/1025/281 587/1027/281 590/1028/281 -f 590/1029/282 578/1030/282 582/1031/282 584/1032/282 586/1033/282 589/1034/282 -f 591/1035/283 592/1036/283 593/1037/283 594/1038/283 -f 587/1020/274 577/1019/274 580/1039/275 592/1040/284 -f 590/1028/274 587/1027/274 592/1036/284 591/1035/284 -f 578/1030/274 590/1029/274 591/1041/284 579/1042/275 -f 594/1043/285 593/1044/285 595/1045/285 596/1046/285 -f 579/1042/282 591/1041/282 594/1047/282 596/1048/282 -f 580/1012/286 579/1011/286 596/1046/286 595/1045/286 -f 592/1040/279 580/1039/279 595/1049/279 593/1050/279 -o HandleHilt_Cylinder.003 -v -1.464091 -0.996279 -0.140051 -v -1.457375 -0.967729 -0.140051 -v -1.339310 -0.995504 -0.070026 -v -1.346026 -1.024054 -0.070026 -v -1.339310 -0.995504 0.070026 -v -1.346026 -1.024054 0.070026 -v -1.457375 -0.967729 0.140051 -v -1.464091 -0.996279 0.140051 -v -1.575440 -0.939954 0.070026 -v -1.582156 -0.968503 0.070026 -v -1.343945 -0.917630 -0.057125 -v -1.343945 -0.917630 0.057125 -v -1.575440 -0.939954 -0.070026 -v -1.582156 -0.968503 -0.070026 -v -1.482215 -1.073316 0.113549 -v -1.386492 -1.095835 0.056774 -v -1.440258 -0.894971 -0.114249 -v -1.536572 -0.872313 -0.057125 -v -1.536572 -0.872313 0.057125 -v -1.440258 -0.894971 0.114249 -v -1.577937 -1.050797 0.056774 -v -1.577937 -1.050797 -0.056774 -v -1.539716 -1.059789 -0.034105 -v -1.539716 -1.059789 0.034105 -v -1.482215 -1.073316 -0.113549 -v -1.386492 -1.095835 -0.056774 -v -1.482215 -1.073316 -0.068210 -v -1.487302 -1.094942 -0.059778 -v -1.537696 -1.083087 -0.029889 -v -1.482215 -1.073316 0.068210 -v -1.424713 -1.086844 0.034105 -v -1.424713 -1.086844 -0.034105 -v -1.436908 -1.106798 -0.029889 -v -1.436908 -1.106798 0.029889 -v -1.487302 -1.094942 0.059778 -v -1.537696 -1.083087 0.029889 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.833333 1.000000 -vt 0.833333 0.500000 -vt 0.666667 1.000000 -vt 0.666667 0.500000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.333333 1.000000 -vt 0.333333 0.500000 -vt 0.833333 1.000000 -vt 0.666667 1.000000 -vt 0.166667 1.000000 -vt 0.166667 0.500000 -vt -0.000000 1.000000 -vt -0.000000 0.500000 -vt 0.500000 0.500000 -vt 0.666667 0.500000 -vt 0.457846 0.370000 -vt 0.250000 0.490000 -vt 0.042154 0.370000 -vt 0.042154 0.130000 -vt 0.250000 0.010000 -vt 0.457846 0.130000 -vt 0.333333 1.000000 -vt 0.166667 1.000000 -vt 1.000000 1.000000 -vt 0.500000 1.000000 -vt -0.000000 1.000000 -vt 0.333333 0.500000 -vt 0.166667 0.500000 -vt 0.166667 0.500000 -vt 0.333333 0.500000 -vt -0.000000 0.500000 -vt 0.833333 0.500000 -vt 1.000000 0.500000 -vt -0.000000 0.500000 -vt -0.000000 0.500000 -vt 0.166667 0.500000 -vt 0.500000 0.500000 -vt 0.666667 0.500000 -vt 0.833333 0.500000 -vt 1.000000 0.500000 -vt 0.750000 0.490000 -vt 0.957846 0.370000 -vt 0.957846 0.130000 -vt 0.750000 0.010000 -vt 0.542154 0.130000 -vt 0.542154 0.370000 -vt 0.333333 0.500000 -vt 0.500000 0.500000 -vt 0.666667 0.500000 -vt 0.833333 0.500000 -vt 1.000000 0.500000 -vn 0.4867 -0.1145 -0.8660 -vn 0.9734 -0.2290 0.0000 -vn 0.4867 -0.1145 0.8660 -vn -0.4867 0.1145 0.8660 -vn 0.9982 0.0594 0.0000 -vn -0.9734 0.2290 0.0000 -vn -0.4867 0.1145 -0.8660 -vn 0.4037 -0.3811 0.8318 -vn 0.2290 0.9734 -0.0000 -vn -0.8670 0.4982 0.0000 -vn 0.5319 0.1691 -0.8297 -vn 0.5319 0.1691 0.8297 -vn -0.4007 0.3885 -0.8297 -vn -0.4007 0.3885 0.8297 -vn -0.2290 -0.9734 0.0000 -vn -0.5312 -0.1612 -0.8318 -vn -0.5312 -0.1612 0.8318 -vn 0.8711 -0.4911 0.0000 -vn -0.9987 -0.0512 0.0000 -vn 0.4037 -0.3811 -0.8318 -vn -0.5339 -0.1952 -0.8227 -vn -0.5339 -0.1952 0.8227 -vn 0.8533 -0.5215 0.0000 -vn -0.9963 -0.0864 0.0000 -vn 0.3909 -0.4127 0.8227 -vn 0.3909 -0.4127 -0.8227 -s 1 -f 597/1051/287 598/1052/287 599/1053/287 600/1054/287 -f 600/1054/288 599/1053/288 601/1055/288 602/1056/288 -f 602/1056/289 601/1055/289 603/1057/289 604/1058/289 -f 604/1058/290 603/1057/290 605/1059/290 606/1060/290 -f 601/1055/291 599/1053/291 607/1061/291 608/1062/291 -f 606/1060/292 605/1059/292 609/1063/292 610/1064/292 -f 610/1064/293 609/1063/293 598/1065/293 597/1066/293 -f 602/1056/294 604/1058/294 611/1067/294 612/1068/294 -f 607/1069/295 613/1070/295 614/1071/295 615/1072/295 616/1073/295 608/1074/295 -f 609/1063/296 605/1059/296 615/1075/296 614/1076/296 -f 599/1053/297 598/1052/297 613/1077/297 607/1061/297 -f 603/1057/298 601/1055/298 608/1062/298 616/1078/298 -f 598/1065/299 609/1063/299 614/1076/299 613/1079/299 -f 605/1059/300 603/1057/300 616/1078/300 615/1075/300 -f 617/1080/301 618/1081/301 619/1082/301 620/1083/301 -f 610/1064/302 597/1066/302 621/1084/302 618/1081/302 -f 604/1058/303 606/1060/303 617/1080/303 611/1067/303 -f 600/1054/304 602/1056/304 612/1068/304 622/1085/304 -f 606/1060/305 610/1064/305 618/1081/305 617/1080/305 -f 597/1051/306 600/1054/306 622/1085/306 621/1086/306 -f 619/1082/307 623/1087/307 624/1088/307 625/1089/307 -f 612/1068/301 611/1067/301 626/1090/301 627/1091/301 -f 621/1086/301 622/1085/301 628/1092/301 623/1093/301 -f 618/1081/301 621/1084/301 623/1087/301 619/1082/301 -f 611/1067/301 617/1080/301 620/1083/301 626/1090/301 -f 622/1085/301 612/1068/301 627/1091/301 628/1092/301 -f 624/1094/301 629/1095/301 630/1096/301 631/1097/301 632/1098/301 625/1099/301 -f 626/1090/308 620/1083/308 632/1100/308 631/1101/308 -f 628/1092/309 627/1091/309 630/1102/309 629/1103/309 -f 620/1083/310 619/1082/310 625/1089/310 632/1100/310 -f 627/1091/311 626/1090/311 631/1101/311 630/1102/311 -f 623/1093/312 628/1092/312 629/1103/312 624/1104/312 -o HandleComfortThing_Cube.006 -v -1.508359 -0.214874 0.108693 -v -1.504838 -0.215309 -0.106817 -v -1.564296 -0.274102 -0.089219 -v -1.567402 -0.273718 0.089973 -v -1.348484 -0.928894 -0.174279 -v -1.331423 -0.813343 -0.174279 -v -1.263873 -0.855085 -0.182453 -v -1.262042 -0.949106 -0.182453 -v -1.263873 -0.855085 0.182453 -v -1.207149 -0.865197 0.174081 -v -1.207149 -0.865197 -0.174081 -v -1.570189 -0.877055 0.143835 -v -1.435938 -0.379825 0.163084 -v -1.622805 -0.828855 0.096503 -v -1.262042 -0.949106 0.182453 -v -1.348484 -0.928894 0.174279 -v -1.435938 -0.379825 -0.163084 -v -1.112852 -0.829663 0.130793 -v -1.112852 -0.829663 -0.130793 -v -1.205319 -0.959218 -0.174081 -v -1.205319 -0.959218 0.174081 -v -1.111021 -0.923684 0.130793 -v -1.072210 -0.848373 0.087270 -v -1.073111 -0.802094 0.087270 -v -1.111021 -0.923684 -0.130793 -v -1.072210 -0.848373 -0.087270 -v -1.073111 -0.802094 -0.087270 -v -1.681696 -0.766817 -0.072169 -v -1.689936 -0.702839 -0.059605 -v -1.640119 -0.414721 -0.072179 -v -1.619700 -0.829239 -0.095954 -v -1.684682 -0.766448 0.071709 -v -1.643105 -0.414353 0.071698 -v -1.666879 -0.498637 -0.059615 -v -1.669865 -0.498268 0.058900 -v -1.692922 -0.702470 0.058910 -v -1.690559 -0.607421 0.054481 -v -1.687573 -0.607789 -0.055307 -v -1.331423 -0.813343 0.174279 -v -1.416650 -0.767127 -0.178303 -v -1.416650 -0.767127 0.178303 -v -1.469005 -0.685482 -0.171908 -v -1.469005 -0.685482 0.171908 -v -1.542909 -0.883434 -0.161182 -v -1.516768 -0.889546 -0.174389 -v -1.516768 -0.889546 0.174389 -v -1.542909 -0.883434 0.161182 -v -1.432626 -0.909220 -0.178303 -v -1.432626 -0.909220 0.178303 -v -1.484962 -0.656299 -0.158888 -v -1.570189 -0.877055 -0.143835 -v -1.484962 -0.656299 0.158888 -vt 0.875000 0.750000 -vt 0.875000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 0.750000 -vt 0.375000 0.435792 -vt 0.625000 0.435792 -vt 0.625000 0.500000 -vt 0.375000 0.500000 -vt 0.625000 0.750000 -vt 0.625000 0.750000 -vt 0.625000 0.500000 -vt 0.375000 0.978890 -vt 0.625000 0.978890 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vt 0.310792 0.500000 -vt 0.375000 0.750000 -vt 0.310792 0.750000 -vt 0.853890 0.500000 -vt 0.853890 0.750000 -vt 0.625000 0.750000 -vt 0.625000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.750000 -vt 0.375000 0.750000 -vt 0.375000 0.750000 -vt 0.625000 0.750000 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.625000 0.500000 -vt 0.625000 0.250000 -vt 0.375000 0.250000 -vt 0.375000 0.250000 -vt 0.625000 0.250000 -vt 0.125000 0.500000 -vt 0.125000 0.750000 -vt 0.125000 0.750000 -vt 0.125000 0.500000 -vt 0.625000 0.250000 -vt 0.375000 0.250000 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vt 0.875000 0.750000 -vt 0.875000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 0.750000 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vt 0.125000 0.750000 -vt 0.125000 0.500000 -vt 0.375000 0.000000 -vt 0.625000 0.000000 -vt 0.625000 0.250000 -vt 0.375000 0.250000 -vt 0.125000 0.750000 -vt 0.125000 0.500000 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vt 0.689208 0.500000 -vt 0.689208 0.750000 -vt 0.751708 0.500000 -vt 0.751708 0.750000 -vt 0.814208 0.500000 -vt 0.814208 0.750000 -vt 0.166374 0.500000 -vt 0.185792 0.500000 -vt 0.185792 0.750000 -vt 0.166374 0.750000 -vt 0.248292 0.500000 -vt 0.248292 0.750000 -vt 0.625000 0.814208 -vt 0.375000 0.814208 -vt 0.625000 0.876708 -vt 0.375000 0.876708 -vt 0.625000 0.939208 -vt 0.375000 0.939208 -vt 0.375000 0.291374 -vt 0.625000 0.291374 -vt 0.625000 0.310792 -vt 0.375000 0.310792 -vt 0.625000 0.373292 -vt 0.375000 0.373292 -vt 0.625000 0.271110 -vt 0.375000 0.271110 -vt 0.146110 0.500000 -vt 0.146110 0.750000 -vt 0.833626 0.500000 -vt 0.833626 0.750000 -vt 0.625000 0.958626 -vt 0.375000 0.958626 -vn -0.7044 0.7097 -0.0133 -vn -0.1026 0.0075 -0.9947 -vn 0.1755 0.9845 0.0000 -vn -0.5269 0.0940 0.8447 -vn -0.2277 -0.9737 0.0000 -vn 0.9190 0.3942 0.0057 -vn -0.3526 0.9358 0.0000 -vn 0.1465 0.0029 -0.9892 -vn 0.1465 0.0029 0.9892 -vn -0.1755 -0.9845 0.0000 -vn 0.7339 0.0143 0.6791 -vn 0.4147 0.0081 -0.9099 -vn 0.4147 0.0081 0.9099 -vn 0.3526 -0.9358 0.0000 -vn 0.9998 0.0195 0.0000 -vn 0.8889 -0.4581 0.0000 -vn -0.5700 0.8216 0.0000 -vn 0.7339 0.0143 -0.6791 -vn -0.3667 0.0433 -0.9293 -vn -0.7097 -0.7044 -0.0113 -vn -0.3211 0.0435 -0.9461 -vn -0.3371 0.0447 0.9404 -vn -0.9525 0.3038 -0.0225 -vn -0.3829 0.0452 0.9227 -vn -0.8802 0.4743 -0.0177 -vn -0.9916 -0.1277 -0.0222 -vn -0.9822 0.1862 -0.0263 -vn -0.9993 0.0248 -0.0262 -vn -0.5482 0.0619 -0.8340 -vn -0.5564 0.0629 0.8286 -vn 0.5257 0.8507 0.0000 -vn 0.4767 0.8791 0.0000 -vn 0.8418 0.5398 0.0000 -vn -0.1026 0.0075 0.9947 -vn 0.0452 -0.0058 0.9990 -vn -0.0616 0.0185 0.9979 -vn -0.4504 0.1202 -0.8847 -vn -0.0616 0.0185 -0.9979 -vn 0.0452 -0.0058 -0.9990 -vn -0.5492 0.1006 -0.8296 -vn -0.3469 0.0702 -0.9353 -vn -0.6850 -0.7286 -0.0038 -vn 0.8774 0.4798 0.0000 -vn 0.9846 -0.1746 0.0000 -vn -0.4504 0.1202 0.8847 -vn -0.3469 0.0702 0.9353 -s 1 -f 633/1105/313 634/1106/313 635/1107/313 636/1108/313 -f 637/1109/314 638/1110/314 639/1111/314 640/1112/314 -f 639/1111/315 641/1113/315 642/1114/315 643/1115/315 -f 644/1116/316 645/1117/316 633/1118/316 646/1119/316 -f 637/1120/317 640/1112/317 647/1121/317 648/1122/317 -f 649/1123/318 634/1106/318 633/1105/318 645/1124/318 -f 643/1115/319 642/1114/319 650/1125/319 651/1126/319 -f 640/1112/320 639/1111/320 643/1115/320 652/1127/320 -f 641/1113/321 647/1121/321 653/1128/321 642/1114/321 -f 647/1121/322 640/1112/322 652/1127/322 653/1128/322 -f 650/1125/323 654/1129/323 655/1130/323 656/1131/323 -f 652/1127/324 643/1115/324 651/1126/324 657/1132/324 -f 642/1114/325 653/1128/325 654/1129/325 650/1125/325 -f 653/1128/326 652/1127/326 657/1132/326 654/1129/326 -f 658/1133/327 659/1134/327 656/1131/327 655/1130/327 -f 654/1129/328 657/1132/328 658/1133/328 655/1130/328 -f 651/1126/329 650/1125/329 656/1131/329 659/1134/329 -f 657/1132/330 651/1126/330 659/1134/330 658/1133/330 -f 635/1135/331 660/1136/331 661/1137/331 662/1138/331 -f 663/1139/332 646/1140/332 664/1141/332 660/1142/332 -f 634/1143/333 663/1144/333 660/1136/333 635/1135/333 -f 646/1119/334 633/1118/334 636/1145/334 664/1146/334 -f 665/1147/335 662/1148/335 666/1149/335 667/1150/335 -f 664/1146/336 636/1145/336 665/1151/336 668/1152/336 -f 636/1108/337 635/1107/337 662/1148/337 665/1147/337 -f 660/1142/338 664/1141/338 668/1153/338 661/1154/338 -f 669/1155/339 667/1156/339 666/1157/339 670/1158/339 -f 661/1154/340 668/1153/340 669/1159/340 670/1160/340 -f 662/1138/341 661/1137/341 670/1158/341 666/1157/341 -f 668/1152/342 665/1151/342 667/1161/342 669/1162/342 -f 639/1111/343 638/1163/343 671/1164/343 641/1113/343 -f 638/1163/344 672/1165/344 673/1166/344 671/1164/344 -f 672/1165/345 674/1167/345 675/1168/345 673/1166/345 -f 676/1169/317 677/1170/317 678/1171/317 679/1172/317 -f 677/1170/317 680/1173/317 681/1174/317 678/1171/317 -f 680/1173/317 637/1120/317 648/1122/317 681/1174/317 -f 647/1121/346 641/1113/346 671/1175/346 648/1176/346 -f 648/1176/347 671/1175/347 673/1177/347 681/1178/347 -f 681/1178/348 673/1177/348 675/1179/348 678/1180/348 -f 676/1181/349 682/1182/349 674/1183/349 677/1184/349 -f 677/1184/350 674/1183/350 672/1185/350 680/1186/350 -f 680/1186/351 672/1185/351 638/1110/351 637/1109/351 -f 663/1144/352 634/1143/352 649/1187/352 683/1188/352 -f 683/1188/353 649/1187/353 682/1182/353 676/1181/353 -f 663/1139/354 683/1189/354 644/1190/354 646/1140/354 -f 683/1189/317 676/1169/317 679/1172/317 644/1190/317 -f 674/1167/355 682/1191/355 684/1192/355 675/1168/355 -f 682/1191/356 649/1123/356 645/1124/356 684/1192/356 -f 678/1180/357 675/1179/357 684/1193/357 679/1194/357 -f 679/1194/358 684/1193/358 645/1117/358 644/1116/358 -o Grip_Cube.001 -v -1.325666 -0.019640 0.170554 -v -1.325666 0.137146 0.170554 -v -1.472478 0.148884 0.071087 -v -1.472478 -0.007902 0.071087 -v -1.325666 -0.019640 -0.170554 -v -1.325666 0.137146 -0.170554 -v -1.062875 0.137146 -0.170554 -v -1.062875 -0.019640 -0.170554 -v -1.130714 -0.142396 -0.170554 -v -0.914155 -0.020276 -0.107189 -v -0.981994 -0.143031 -0.107189 -v -1.062875 -0.019640 0.170554 -v -1.062875 0.137146 0.170554 -v -0.914155 0.136510 -0.107189 -v -1.259746 -0.728734 -0.170554 -v -1.147611 -0.221161 -0.170554 -v -0.998891 -0.221796 -0.107189 -v -1.111026 -0.729370 -0.107189 -v -1.346664 -0.179545 0.170554 -v -1.130714 -0.142396 0.170554 -v -1.346664 -0.179545 -0.170554 -v -1.447785 -0.735647 0.170554 -v -1.363562 -0.258310 0.170554 -v -1.510373 -0.246572 0.071087 -v -1.594597 -0.723909 0.071087 -v -0.981994 -0.143031 0.107189 -v -0.914155 -0.020276 0.107189 -v -1.363562 -0.258310 -0.170554 -v -1.447785 -0.735647 -0.170554 -v -1.594597 -0.723909 -0.071087 -v -1.510373 -0.246572 -0.071087 -v -1.147611 -0.221161 0.170554 -v -1.259746 -0.728734 0.170554 -v -1.483874 -0.874924 0.170554 -v -1.219691 -0.868011 0.170554 -v -1.493475 -0.167807 0.071087 -v -1.483874 -0.751872 -0.170554 -v -1.219691 -0.868011 -0.170554 -v -0.914155 0.136510 0.107189 -v -1.472478 -0.007902 -0.071087 -v -1.472478 0.148884 -0.071087 -v -1.493475 -0.167807 -0.071087 -v -1.630686 -0.740134 -0.071087 -v -1.630686 -0.740134 0.071087 -v -0.998891 -0.221796 0.107189 -v -1.111026 -0.729370 0.107189 -v -1.100054 -0.868647 0.107189 -v -1.100054 -0.868647 -0.107189 -vt 0.375000 1.000000 -vt 0.625000 1.000000 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vt 0.375000 0.250000 -vt 0.625000 0.250000 -vt 0.625000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.750000 -vt 0.625000 0.750000 -vt 0.625000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 0.750000 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 0.500000 -vt 0.375000 1.000000 -vt 0.375000 0.750000 -vt 0.375000 0.250000 -vt 0.375000 1.000000 -vt 0.375000 1.000000 -vt 0.375000 1.000000 -vt 0.375000 1.000000 -vt 0.375000 0.750000 -vt 0.375000 0.750000 -vt 0.375000 0.250000 -vt 0.375000 0.250000 -vt 0.375000 0.250000 -vt 0.375000 0.250000 -vt 0.375000 0.750000 -vt 0.375000 0.750000 -vt 0.375000 1.000000 -vt 0.375000 0.750000 -vt 0.375000 1.000000 -vt 0.125000 0.500000 -vt 0.375000 0.500000 -vt 0.125000 0.750000 -vt 0.375000 0.250000 -vt 0.625000 0.750000 -vt 0.375000 0.250000 -vt 0.625000 0.250000 -vt 0.375000 0.000000 -vt 0.625000 0.000000 -vt 0.375000 0.250000 -vt 0.375000 0.000000 -vt 0.375000 0.000000 -vt 0.375000 0.000000 -vt 0.375000 0.250000 -vt 0.375000 0.000000 -vt 0.125000 0.750000 -vt 0.125000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 0.750000 -vt 0.375000 1.000000 -vt 0.375000 0.750000 -vt 0.375000 0.750000 -vt 0.375000 0.750000 -vt 0.375000 0.500000 -vn -0.5609 0.0000 0.8279 -vn 0.0000 0.0000 -1.0000 -vn 0.3824 -0.2113 -0.8995 -vn -0.0000 -0.0000 1.0000 -vn 0.3920 0.0000 -0.9200 -vn 0.0039 1.0000 0.0000 -vn 0.0000 1.0000 0.0000 -vn 0.3902 -0.0862 -0.9167 -vn 0.3902 -0.0839 -0.9169 -vn 0.3901 -0.0861 -0.9167 -vn -0.5529 0.0976 0.8275 -vn 0.3824 -0.2113 0.8995 -vn -0.5529 0.0976 -0.8275 -vn -0.5505 0.1181 0.8264 -vn -0.1994 -0.9644 -0.1739 -vn 0.3920 -0.0000 0.9200 -vn -0.5609 -0.0000 -0.8279 -vn -1.0000 0.0000 0.0000 -vn -0.9915 0.1302 0.0000 -vn -0.9778 0.2098 0.0000 -vn -0.9848 0.1738 0.0000 -vn -0.4100 0.9121 0.0000 -vn -0.5554 0.0729 0.8284 -vn -0.4354 -0.8724 -0.2221 -vn 0.0797 0.9968 0.0000 -vn -0.5554 0.0729 -0.8284 -vn -0.3339 0.7427 -0.5805 -vn -0.5505 0.1181 -0.8264 -vn -0.4704 0.2183 0.8550 -vn 1.0000 -0.0000 0.0000 -vn 0.8752 -0.4837 -0.0000 -vn 0.9778 -0.2098 0.0000 -vn 0.9771 -0.2127 0.0000 -vn 0.9765 -0.2157 0.0000 -vn 0.9969 0.0785 0.0000 -vn 0.4260 0.0780 0.9013 -vn 0.3903 -0.0837 0.9169 -vn 0.3902 -0.0839 0.9169 -vn 0.3901 -0.0861 0.9167 -vn -0.0053 -1.0000 0.0000 -vn 0.4260 0.0780 -0.9013 -vn 0.3903 -0.0837 -0.9169 -vn 0.0043 1.0000 0.0000 -vn 0.3902 -0.0862 0.9167 -s 1 -f 685/1195/359 686/1196/359 687/1197/359 688/1198/359 -f 689/1199/360 690/1200/360 691/1201/360 692/1202/360 -f 693/1203/361 692/1202/361 694/1204/361 695/1205/361 -f 696/1206/362 697/1207/362 686/1196/362 685/1195/362 -f 692/1202/363 691/1201/363 698/1208/363 694/1204/363 -f 691/1201/364 690/1209/365 686/1210/365 697/1207/364 -f 699/1211/366 700/1212/367 701/1213/368 702/1214/366 -f 696/1206/362 685/1195/362 703/1215/362 704/1216/362 -f 689/1199/360 692/1202/360 693/1203/360 705/1217/360 -f 706/1218/369 707/1219/369 708/1220/369 709/1221/369 -f 696/1206/370 704/1216/370 710/1222/370 711/1223/370 -f 712/1224/371 713/1225/371 714/1226/371 715/1227/371 -f 704/1216/362 703/1215/362 707/1219/362 716/1228/362 -f 705/1217/360 693/1203/360 700/1212/360 712/1224/360 -f 717/1229/362 706/1218/362 718/1230/362 719/1231/362 -f 707/1219/372 703/1215/372 720/1232/372 708/1220/372 -f 716/1228/362 707/1219/362 706/1218/362 717/1229/362 -f 712/1224/360 700/1212/360 699/1211/360 713/1225/360 -f 721/1233/373 722/1234/373 719/1231/373 718/1235/373 -f 713/1225/360 699/1211/360 722/1234/360 721/1236/360 -f 697/1207/374 696/1206/374 711/1223/374 723/1237/374 -f 690/1200/375 689/1199/375 724/1238/375 725/1239/375 -f 688/1240/376 687/1241/376 725/1239/376 724/1238/376 -f 688/1240/377 724/1238/377 726/1242/377 720/1243/377 -f 720/1243/378 726/1242/378 715/1227/378 708/1244/378 -f 708/1244/379 715/1227/379 714/1226/379 709/1245/379 -f 709/1245/380 714/1226/380 727/1246/380 728/1247/380 -f 703/1215/381 685/1195/381 688/1198/381 720/1232/381 -f 721/1233/382 718/1235/382 728/1248/382 727/1249/382 -f 686/1210/383 690/1209/383 725/1250/383 687/1251/383 -f 689/1199/384 705/1217/384 726/1242/384 724/1238/384 -f 713/1225/385 721/1236/385 727/1246/385 714/1226/385 -f 705/1217/386 712/1224/386 715/1227/386 726/1242/386 -f 718/1230/387 706/1218/387 709/1221/387 728/1252/387 -f 694/1204/388 698/1208/388 723/1237/388 711/1223/388 -f 694/1204/389 711/1223/389 710/1222/389 695/1205/389 -f 695/1205/390 710/1222/390 729/1253/391 701/1213/391 -f 701/1213/391 729/1253/391 730/1254/392 702/1214/392 -f 702/1214/393 730/1254/393 731/1255/393 732/1256/393 -f 717/1229/394 719/1231/394 731/1255/394 730/1254/394 -f 704/1216/395 716/1228/396 729/1253/397 710/1222/395 -f 719/1231/398 722/1234/398 732/1256/398 731/1255/398 -f 722/1234/399 699/1211/399 702/1214/399 732/1256/399 -f 700/1212/367 693/1203/400 695/1205/400 701/1213/368 -f 691/1201/364 697/1207/364 723/1237/401 698/1208/401 -f 716/1228/396 717/1229/402 730/1254/402 729/1253/397 -o AmmunitionCan_Cylinder.007 -v -1.114931 0.645018 2.605743 -v -0.705608 0.645018 2.607436 -v -0.705608 0.367434 2.722416 -v -1.115595 0.367434 2.722416 -v -0.705608 0.252454 3.000000 -v -1.115595 0.252454 3.000000 -v -0.705608 0.367434 3.277584 -v -1.115595 0.367434 3.277584 -v -0.705608 0.645018 3.392564 -v -1.115595 0.645018 3.392564 -v -0.705608 0.922602 3.277584 -v -1.115595 0.922602 3.277584 -v -0.705608 1.037581 3.000000 -v -1.115595 1.037581 3.000000 -v -0.705608 0.922602 2.722416 -v -1.115595 0.922602 2.722416 -v -1.680468 0.367434 2.722416 -v -1.680468 0.252454 3.000000 -v -1.696762 0.326183 3.000000 -v -1.696762 0.419567 2.774549 -v -1.696762 0.645018 3.318835 -v -1.696762 0.870468 3.225451 -v -1.717499 0.922175 3.277157 -v -1.717499 0.645018 3.391959 -v -1.680468 0.645018 3.392564 -v -1.680468 0.922602 3.277584 -v -1.680468 0.922602 2.722416 -v -1.680468 0.645018 2.607436 -v -1.696762 0.645018 2.681165 -v -1.696762 0.870469 2.774550 -v -1.680468 0.367434 3.277584 -v -1.696762 0.419567 3.225451 -v -1.680468 1.037582 3.000000 -v -1.696762 0.963853 3.000000 -v -1.717499 1.036977 3.000000 -v -1.717499 0.922175 2.722843 -v -1.807855 0.922175 2.722843 -v -1.807855 1.036977 3.000000 -v -1.717499 0.367861 3.277157 -v -1.717499 0.253059 3.000000 -v -1.717499 0.367861 2.722843 -v -1.717499 0.645018 2.608041 -v -1.807855 0.922175 3.277157 -v -1.827112 0.964049 3.000000 -v -1.827112 0.870607 3.225589 -v -1.807856 0.645018 3.391959 -v -1.807856 0.367861 3.277157 -v -1.807856 0.253059 3.000000 -v -1.807856 0.367861 2.722843 -v -1.807856 0.645018 2.608041 -v -1.827112 0.645018 2.680969 -v -1.827112 0.419429 2.774411 -v -1.850272 0.367220 2.722202 -v -1.850272 0.645018 2.607134 -v -1.827112 0.645018 3.319031 -v -1.827112 0.419429 3.225589 -v -1.827112 0.325987 3.000000 -v -1.827112 0.870607 2.774411 -v -1.850272 1.037884 3.000000 -v -1.850272 0.922816 2.722202 -v -1.929992 0.922816 2.722202 -v -1.929992 1.037884 3.000000 -v -1.850272 0.922816 3.277798 -v -1.850272 0.645018 3.392866 -v -1.850272 0.367220 3.277798 -v -1.850272 0.252152 3.000000 -v -1.929992 0.367220 2.722202 -v -1.929992 0.252152 3.000000 -v -2.043752 0.321683 3.000000 -v -2.043752 0.416385 2.771367 -v -1.929992 0.922816 3.277798 -v -1.929992 0.645018 3.392866 -v -1.929992 0.367220 3.277798 -v -1.929992 0.645018 2.607134 -v -2.043752 0.873651 2.771367 -v -2.043752 0.645018 2.676665 -v -2.121962 0.645018 2.774646 -v -2.121962 0.804367 2.840651 -v -2.043752 0.968353 3.000000 -v -2.043752 0.873651 3.228633 -v -2.043752 0.645018 3.323335 -v -2.043752 0.416385 3.228633 -v -2.121962 0.870372 3.000000 -v -2.179800 0.787147 2.857871 -v -2.179800 0.846019 3.000000 -v -2.121962 0.804367 3.159349 -v -2.121962 0.645018 3.225354 -v -2.121962 0.485669 3.159349 -v -2.121962 0.419664 3.000000 -v -2.121962 0.485669 2.840651 -v -2.179800 0.787147 3.142129 -v -2.179800 0.817735 3.000000 -v -2.179800 0.767148 3.122130 -v -2.179800 0.645018 3.201001 -v -2.179800 0.502889 3.142129 -v -2.179800 0.444017 3.000000 -v -2.179800 0.502889 2.857871 -v -2.179800 0.645018 2.798999 -v -2.179800 0.645018 2.827283 -v -2.179800 0.522888 2.877870 -v -2.139229 0.522888 2.877870 -v -2.139229 0.645018 2.827283 -v -2.179800 0.645018 3.172717 -v -2.179800 0.522888 3.122130 -v -2.179800 0.472301 3.000000 -v -2.179800 0.767148 2.877870 -v -2.139229 0.472301 3.000000 -v -2.139229 0.522888 3.122130 -v -2.139229 0.645018 3.172717 -v -2.139229 0.767148 3.122130 -v -2.139229 0.817735 3.000000 -v -2.139229 0.767148 2.877870 -v -1.416219 0.923800 2.721218 -v -1.416219 0.645018 2.605743 -v -1.415588 1.037581 3.000000 -v -1.416219 0.923800 3.278782 -v -1.416219 0.645018 3.394257 -v -1.416219 0.366236 3.278782 -v -1.415589 0.252454 3.000000 -v -1.416219 0.366236 2.721218 -v -1.161507 0.923800 2.721218 -v -1.161507 0.645018 2.605743 -v -1.161507 1.039275 3.000000 -v -1.161507 0.923800 3.278782 -v -1.161507 0.645018 3.394257 -v -1.161507 0.366236 3.278782 -v -1.161507 0.250761 3.000000 -v -1.161507 0.366236 2.721218 -v -1.379544 0.645018 2.605743 -v -1.379545 0.366236 2.721218 -v -1.379545 1.039275 3.000000 -v -1.379545 0.923800 3.278782 -v -1.382795 0.953877 3.308859 -v -1.382795 1.081811 3.000000 -v -1.319287 0.645018 2.590682 -v -1.221764 0.645018 2.590682 -v -1.221764 0.355586 2.710568 -v -1.319287 0.355586 2.710568 -v -1.158621 0.950501 2.694517 -v -1.158621 1.077036 3.000000 -v -1.379545 0.250761 3.000000 -v -1.319287 0.235700 3.000000 -v -1.316037 0.208225 3.000000 -v -1.316037 0.336159 2.691141 -v -1.221764 0.235700 3.000000 -v -1.158621 0.950501 3.305483 -v -1.158621 0.645018 3.432019 -v -1.379545 0.366236 3.278782 -v -1.379545 0.645018 3.394257 -v -1.382795 0.336159 3.308859 -v -1.382795 0.645018 3.436793 -v -1.221764 0.355586 3.289432 -v -1.319287 0.355586 3.289432 -v -1.221764 0.934450 2.710568 -v -1.221764 1.054336 3.000000 -v -1.224650 1.077036 3.000000 -v -1.224650 0.950501 2.694517 -v -1.382795 0.336159 2.691141 -v -1.382795 0.208225 3.000000 -v -1.221764 0.645018 3.409318 -v -1.319287 0.645018 3.409318 -v -1.158621 0.339535 3.305483 -v -1.158621 0.212999 3.000000 -v -1.319287 1.054336 3.000000 -v -1.319287 0.934450 2.710568 -v -1.316037 0.953877 2.691141 -v -1.316037 1.081811 3.000000 -v -1.221764 0.934450 3.289432 -v -1.319287 0.934450 3.289432 -v -1.224650 0.645018 3.432019 -v -1.224650 0.950501 3.305483 -v -1.316037 0.953877 3.308859 -v -1.316037 0.645018 3.436793 -v -1.158621 0.339535 2.694517 -v -1.158621 0.645018 2.567981 -v -1.379545 0.923800 2.721218 -v -1.382795 0.953877 2.691141 -v -1.224650 0.212999 3.000000 -v -1.224650 0.339535 3.305483 -v -1.316037 0.336159 3.308859 -v -1.224650 0.645018 2.567981 -v -1.224650 0.339535 2.694517 -v -1.382795 0.645018 2.563207 -v -1.316036 0.645018 2.563207 -vt 0.333771 0.122601 -vt 0.250827 0.123696 -vt 0.249913 0.062860 -vt 0.333162 0.061441 -vt 0.248762 0.002028 -vt 0.331770 0.000458 -vt 0.331178 0.489363 -vt 0.248762 0.487236 -vt 0.250204 0.426885 -vt 0.333040 0.428574 -vt 0.251228 0.366447 -vt 0.334273 0.367529 -vt 0.251779 0.305898 -vt 0.334946 0.306336 -vt 0.251870 0.245242 -vt 0.335158 0.245008 -vt 0.387778 0.000111 -vt 0.448672 0.000111 -vt 0.491729 0.043169 -vt 0.491729 0.104062 -vt 0.448671 0.147120 -vt 0.387778 0.147120 -vt 0.344720 0.104062 -vt 0.344720 0.043169 -vt 0.251510 0.184543 -vt 0.334843 0.183746 -vt 0.184792 0.411952 -vt 0.180019 0.475285 -vt 0.164389 0.467565 -vt 0.169068 0.411085 -vt 0.171376 0.116511 -vt 0.173907 0.173123 -vt 0.158223 0.172770 -vt 0.156306 0.116051 -vt 0.187710 0.116136 -vt 0.188188 0.173263 -vt 0.187862 0.290744 -vt 0.187045 0.350935 -vt 0.169556 0.350164 -vt 0.173074 0.290555 -vt 0.169093 0.410760 -vt 0.169539 0.350497 -vt 0.182936 0.002420 -vt 0.185636 0.059963 -vt 0.171429 0.060361 -vt 0.168682 0.009053 -vt 0.188834 0.231566 -vt 0.171901 0.231236 -vt 0.173902 0.173419 -vt 0.171377 0.116200 -vt 0.171433 0.060647 -vt 0.173086 0.290248 -vt 0.171893 0.231559 -vt 0.156248 0.230716 -vt 0.156867 0.289505 -vt 0.136903 0.289718 -vt 0.137407 0.231137 -vt 0.156897 0.060302 -vt 0.156891 0.004402 -vt 0.151894 0.409417 -vt 0.153421 0.349240 -vt 0.147572 0.472946 -vt 0.138952 0.173384 -vt 0.121938 0.230032 -vt 0.123479 0.172751 -vt 0.138214 0.116866 -vt 0.138770 0.061156 -vt 0.138353 0.003891 -vt 0.132267 0.409089 -vt 0.134072 0.349295 -vt 0.126815 0.471069 -vt 0.118159 0.348200 -vt 0.116549 0.407518 -vt 0.099353 0.406365 -vt 0.101957 0.346731 -vt 0.123291 0.116133 -vt 0.123243 0.060809 -vt 0.114079 0.464786 -vt 0.116522 0.407844 -vt 0.120912 0.288422 -vt 0.121921 0.230342 -vt 0.123493 0.172442 -vt 0.123281 0.116431 -vt 0.123249 0.060512 -vt 0.123844 0.009530 -vt 0.118183 0.347881 -vt 0.120892 0.288742 -vt 0.106188 0.229161 -vt 0.104711 0.287384 -vt 0.088322 0.287014 -vt 0.090113 0.228932 -vt 0.107837 0.171744 -vt 0.108130 0.115645 -vt 0.108841 0.060451 -vt 0.096873 0.470749 -vt 0.108910 0.003319 -vt 0.083013 0.405933 -vt 0.079907 0.469925 -vt 0.052378 0.462912 -vt 0.054935 0.410246 -vt 0.092029 0.171671 -vt 0.092656 0.115769 -vt 0.093106 0.060660 -vt 0.092149 0.003387 -vt 0.085408 0.346282 -vt 0.062313 0.290993 -vt 0.059914 0.339771 -vt 0.036698 0.331221 -vt 0.038369 0.297224 -vt 0.063245 0.281096 -vt 0.064719 0.233294 -vt 0.067796 0.166452 -vt 0.068312 0.120444 -vt 0.068137 0.056008 -vt 0.067350 0.008871 -vt 0.057308 0.399614 -vt 0.059278 0.350520 -vt 0.065403 0.223033 -vt 0.066980 0.175906 -vt 0.068752 0.110697 -vt 0.069122 0.065341 -vt 0.041387 0.239824 -vt 0.040360 0.273141 -vt 0.028428 0.270971 -vt 0.029344 0.241254 -vt 0.042861 0.215130 -vt 0.043960 0.182284 -vt 0.046882 0.103646 -vt 0.047140 0.072034 -vt 0.027306 0.453697 -vt 0.029088 0.416990 -vt 0.045633 0.159231 -vt 0.045993 0.127165 -vt 0.045231 0.049246 -vt 0.044683 0.016394 -vt 0.033874 0.391223 -vt 0.035247 0.357006 -vt 0.032082 0.183664 -vt 0.031102 0.212960 -vt 0.026194 0.210732 -vt 0.027037 0.185558 -vt 0.034115 0.157369 -vt 0.034435 0.128769 -vt 0.033381 0.047668 -vt 0.032891 0.018366 -vt 0.021636 0.388880 -vt 0.022861 0.358361 -vt 0.024556 0.328782 -vt 0.026047 0.298459 -vt 0.035522 0.101845 -vt 0.035752 0.073650 -vt 0.014195 0.451072 -vt 0.015784 0.418332 -vt 0.017591 0.360300 -vt 0.016539 0.386525 -vt 0.008490 0.386202 -vt 0.009543 0.359977 -vt 0.030749 0.099822 -vt 0.030947 0.075594 -vt 0.008745 0.448499 -vt 0.010111 0.420366 -vt 0.023445 0.268724 -vt 0.024232 0.243190 -vt 0.029279 0.155303 -vt 0.029555 0.130726 -vt 0.028369 0.045690 -vt 0.027949 0.020511 -vt 0.019510 0.326396 -vt 0.020791 0.300340 -vt 0.363665 0.147342 -vt 0.390456 0.147342 -vt 0.409400 0.166287 -vt 0.409400 0.193078 -vt 0.390456 0.212022 -vt 0.363664 0.212022 -vt 0.344720 0.193078 -vt 0.344720 0.166286 -vt 0.011513 0.326003 -vt 0.012794 0.299946 -vt 0.018468 0.210474 -vt 0.019311 0.185300 -vt 0.023313 0.099761 -vt 0.023511 0.075533 -vt 0.000111 0.448080 -vt 0.001477 0.419947 -vt 0.015608 0.268483 -vt 0.016395 0.242948 -vt 0.021737 0.155218 -vt 0.022012 0.130642 -vt 0.020642 0.045819 -vt 0.020221 0.020640 -vt 0.241179 0.291205 -vt 0.241048 0.352210 -vt 0.241424 0.231328 -vt 0.239656 0.172428 -vt 0.238302 0.114877 -vt 0.236112 0.057792 -vt 0.234041 0.000494 -vt 0.239378 0.414394 -vt 0.236869 0.477863 -vt 0.344164 0.183645 -vt 0.343181 0.122473 -vt 0.344498 0.244994 -vt 0.344304 0.306406 -vt 0.343563 0.367674 -vt 0.342352 0.428813 -vt 0.340421 0.489783 -vt 0.342493 0.061278 -vt 0.341044 0.000111 -vt 0.248540 0.352310 -vt 0.247025 0.414653 -vt 0.518660 0.274425 -vt 0.518660 0.335581 -vt 0.510669 0.338880 -vt 0.510669 0.271126 -vt 0.618935 0.542365 -vt 0.618935 0.562130 -vt 0.555443 0.562130 -vt 0.555443 0.542365 -vt 0.518975 0.265234 -vt 0.518996 0.204078 -vt 0.526092 0.201151 -vt 0.526069 0.268165 -vt 0.244474 0.478305 -vt 0.491952 0.065734 -vt 0.491951 0.002242 -vt 0.497138 0.000111 -vt 0.497138 0.067865 -vt 0.491951 0.562130 -vt 0.491951 0.542365 -vt 0.518929 0.399261 -vt 0.518950 0.338104 -vt 0.526046 0.335178 -vt 0.526022 0.402192 -vt 0.240901 0.000111 -vt 0.243075 0.057522 -vt 0.518660 0.409933 -vt 0.518660 0.471090 -vt 0.510668 0.474388 -vt 0.510668 0.406634 -vt 0.999889 0.542365 -vt 0.999889 0.562130 -vt 0.936397 0.562130 -vt 0.936397 0.542365 -vt 0.543764 0.202918 -vt 0.543742 0.266410 -vt 0.539451 0.268169 -vt 0.539474 0.201156 -vt 0.245271 0.114659 -vt 0.518659 0.003410 -vt 0.518659 0.064565 -vt 0.510668 0.067865 -vt 0.510667 0.000111 -vt 0.872904 0.562130 -vt 0.872904 0.542365 -vt 0.518882 0.533287 -vt 0.518903 0.472131 -vt 0.525999 0.469205 -vt 0.525976 0.536218 -vt 0.246721 0.172240 -vt 0.491952 0.268995 -vt 0.491952 0.205503 -vt 0.497139 0.203372 -vt 0.497139 0.271126 -vt 0.809412 0.562130 -vt 0.809412 0.542365 -vt 0.543718 0.336945 -vt 0.543696 0.400437 -vt 0.539405 0.402196 -vt 0.539428 0.335183 -vt 0.248540 0.231225 -vt 0.491952 0.404503 -vt 0.491952 0.341011 -vt 0.497139 0.338880 -vt 0.497138 0.406634 -vt 0.745919 0.562130 -vt 0.745919 0.542365 -vt 0.519021 0.131207 -vt 0.519042 0.070051 -vt 0.526138 0.067125 -vt 0.526115 0.134138 -vt 0.248518 0.291219 -vt 0.518660 0.206671 -vt 0.518660 0.267827 -vt 0.510668 0.203372 -vt 0.682427 0.562130 -vt 0.682427 0.542365 -vt 0.543671 0.470972 -vt 0.543649 0.534464 -vt 0.539358 0.536223 -vt 0.539381 0.469210 -vt 0.491951 0.540012 -vt 0.491952 0.476519 -vt 0.497138 0.474388 -vt 0.497138 0.542143 -vt 0.543810 0.068891 -vt 0.543788 0.132383 -vt 0.539497 0.134142 -vt 0.539520 0.067129 -vt 0.526161 0.000111 -vt 0.539543 0.000116 -vt 0.543833 0.001878 -vt 0.543811 0.065370 -vt 0.543695 0.403959 -vt 0.543672 0.467451 -vt 0.519044 0.064193 -vt 0.519065 0.003037 -vt 0.543741 0.269931 -vt 0.543719 0.333424 -vt 0.518906 0.466274 -vt 0.518927 0.405118 -vt 0.543787 0.135905 -vt 0.543765 0.199397 -vt 0.518952 0.332247 -vt 0.518973 0.271091 -vt 0.518998 0.198220 -vt 0.519019 0.137064 -vt 0.510668 0.135618 -vt 0.497138 0.135618 -vt 0.510668 0.542143 -vt 0.491952 0.472258 -vt 0.491952 0.408765 -vt 0.518660 0.138917 -vt 0.518660 0.200073 -vt 0.491952 0.336749 -vt 0.491952 0.273257 -vt 0.491952 0.201241 -vt 0.491952 0.137749 -vt 0.518660 0.071163 -vt 0.518660 0.132319 -vt 0.518660 0.477687 -vt 0.518660 0.538844 -vt 0.491952 0.133487 -vt 0.491952 0.069996 -vt 0.518660 0.342179 -vt 0.518660 0.403335 -vn 0.0019 -0.3851 -0.9229 -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 1.0000 0.0000 0.0000 -vn 0.0000 0.9239 -0.3827 -vn 0.0019 0.3851 -0.9229 -vn -0.9726 -0.2149 -0.0890 -vn 0.9560 0.1123 0.2711 -vn -0.9726 0.0890 0.2149 -vn -0.9726 0.0890 -0.2149 -vn -0.9726 -0.0890 -0.2149 -vn -0.9726 -0.2149 0.0890 -vn -0.9726 0.2149 0.0890 -vn -0.9726 -0.0890 0.2149 -vn -0.9726 0.2149 -0.0890 -vn 0.9560 -0.2711 0.1123 -vn 0.9560 -0.1123 -0.2711 -vn 0.9560 0.1123 -0.2711 -vn 0.9560 0.2711 0.1123 -vn 0.9560 -0.1123 0.2711 -vn 0.9560 -0.2711 -0.1123 -vn 0.9560 0.2711 -0.1123 -vn -0.9615 0.2539 0.1052 -vn 0.0000 -0.3827 -0.9239 -vn 0.0000 0.3827 -0.9239 -vn 0.9469 -0.1230 -0.2970 -vn -0.9615 -0.1052 0.2539 -vn -0.9615 -0.2539 -0.1052 -vn -0.9615 0.2539 -0.1052 -vn -0.9615 0.1052 0.2539 -vn -0.9615 -0.2539 0.1052 -vn -0.9615 -0.1052 -0.2539 -vn -0.9615 0.1052 -0.2539 -vn 0.9469 0.1230 -0.2970 -vn 0.9469 0.2970 0.1230 -vn 0.9469 -0.1230 0.2970 -vn 0.9469 -0.2970 -0.1230 -vn 0.9469 0.2970 -0.1230 -vn 0.9469 0.1230 0.2970 -vn 0.9469 -0.2970 0.1230 -vn -0.4917 -0.8045 -0.3332 -vn -0.7567 0.2502 -0.6040 -vn -0.4917 0.8045 -0.3332 -vn -0.4917 0.3332 0.8045 -vn -0.4917 -0.8045 0.3332 -vn -0.4917 -0.3332 -0.8045 -vn -0.4917 0.3332 -0.8045 -vn -0.4917 0.8045 0.3332 -vn -0.4917 -0.3332 0.8045 -vn -0.3625 0.8610 -0.3567 -vn -0.7567 0.6040 0.2502 -vn -0.7567 -0.2502 0.6040 -vn -0.7567 -0.6040 -0.2502 -vn -0.7567 0.6040 -0.2502 -vn -0.7567 0.2502 0.6040 -vn -0.7567 -0.6040 0.2502 -vn -0.7567 -0.2502 -0.6040 -vn -1.0000 0.0000 0.0000 -vn -0.3625 0.3567 0.8610 -vn -0.3625 -0.8610 0.3567 -vn -0.3625 -0.3567 -0.8610 -vn -0.3625 0.3567 -0.8610 -vn -0.3625 0.8610 0.3567 -vn -0.3625 -0.3567 0.8610 -vn -0.3625 -0.8610 -0.3567 -vn -0.0059 0.3827 -0.9239 -vn -0.0030 0.9249 -0.3803 -vn -0.0030 0.9249 0.3803 -vn -0.0059 0.3827 0.9239 -vn -0.0059 -0.3827 0.9239 -vn -0.0030 -0.9249 0.3803 -vn -0.0030 -0.9249 -0.3803 -vn -0.0059 -0.3827 -0.9239 -vn 0.0169 0.3850 -0.9227 -vn 0.0341 0.9233 -0.3825 -vn 0.0341 0.9233 0.3825 -vn 0.0341 0.3825 0.9233 -vn 0.0341 -0.3825 0.9233 -vn 0.0341 -0.9233 0.3825 -vn 0.0341 -0.9233 -0.3825 -vn 0.0169 -0.3850 -0.9227 -vn -0.9966 -0.0761 -0.0315 -vn 0.9966 -0.0762 0.0316 -vn -0.0215 -0.9247 -0.3802 -vn 0.9919 0.1173 0.0486 -vn 0.9966 -0.0316 -0.0762 -vn -0.0215 -0.9247 0.3802 -vn -0.9966 0.0315 -0.0761 -vn -0.9907 -0.1260 0.0522 -vn -0.9966 0.0761 0.0315 -vn 0.9966 0.0762 -0.0316 -vn 0.9919 -0.1173 0.0486 -vn -0.9907 -0.0522 -0.1259 -vn -0.0215 0.9247 0.3802 -vn 0.9919 -0.0486 -0.1173 -vn 0.9966 0.0316 0.0762 -vn -0.0215 0.9247 -0.3802 -vn -0.9966 -0.0761 0.0315 -vn -0.9907 0.1260 -0.0522 -vn 0.9919 0.1173 -0.0486 -vn -0.9907 0.0522 0.1260 -vn -0.9907 0.1260 0.0522 -vn -0.9907 0.0522 -0.1260 -vn 0.9966 0.0762 0.0316 -vn -0.9907 -0.1260 -0.0522 -vn 0.9966 0.0316 -0.0762 -vn -0.9907 -0.0522 0.1260 -vn 0.9966 -0.0762 -0.0316 -vn 0.9966 -0.0316 0.0762 -vn 0.9919 0.0486 -0.1173 -vn -0.9966 -0.0315 0.0762 -vn 0.9919 -0.1173 -0.0486 -vn 0.9919 -0.0486 0.1173 -vn -0.9966 0.0315 0.0762 -vn -0.9966 0.0761 -0.0315 -vn 0.9919 0.0486 0.1173 -vn -0.9966 -0.0315 -0.0761 -s off -f 733/1257/403 734/1258/403 735/1259/403 736/1260/403 -f 736/1260/404 735/1259/404 737/1261/404 738/1262/404 -f 738/1263/405 737/1264/405 739/1265/405 740/1266/405 -f 740/1266/406 739/1265/406 741/1267/406 742/1268/406 -f 742/1268/407 741/1267/407 743/1269/407 744/1270/407 -f 744/1270/408 743/1269/408 745/1271/408 746/1272/408 -f 735/1273/409 734/1274/409 747/1275/409 745/1276/409 743/1277/409 741/1278/409 739/1279/409 737/1280/409 -f 746/1272/410 745/1271/410 747/1281/410 748/1282/410 -f 748/1282/411 747/1281/411 734/1258/411 733/1257/411 -f 749/1283/412 750/1284/412 751/1285/412 752/1286/412 -f 753/1287/413 754/1288/413 755/1289/413 756/1290/413 -f 757/1291/414 758/1292/414 754/1288/414 753/1287/414 -f 759/1293/415 760/1294/415 761/1295/415 762/1296/415 -f 760/1294/416 749/1283/416 752/1297/416 761/1298/416 -f 750/1299/417 763/1300/417 764/1301/417 751/1302/417 -f 758/1292/418 765/1303/418 766/1304/418 754/1305/418 -f 763/1300/419 757/1291/419 753/1306/419 764/1307/419 -f 765/1303/420 759/1293/420 762/1308/420 766/1309/420 -f 767/1310/410 768/1311/410 769/1312/410 770/1313/410 -f 751/1302/421 764/1301/421 771/1314/421 772/1315/421 -f 761/1298/422 752/1297/422 773/1316/422 774/1317/422 -f 762/1296/423 761/1295/423 774/1317/423 768/1311/423 -f 754/1305/424 766/1304/424 767/1310/424 755/1289/424 -f 764/1307/425 753/1306/425 756/1290/425 771/1314/425 -f 752/1286/426 751/1285/426 772/1318/426 773/1316/426 -f 766/1309/427 762/1308/427 768/1311/427 767/1310/427 -f 775/1319/428 770/1313/428 776/1320/428 777/1321/428 -f 756/1290/407 755/1289/407 775/1319/407 778/1322/407 -f 772/1315/405 771/1314/405 779/1323/405 780/1324/405 -f 774/1317/429 773/1316/429 781/1325/429 782/1326/429 -f 768/1311/430 774/1317/430 782/1326/430 769/1312/430 -f 755/1289/408 767/1310/408 770/1313/408 775/1319/408 -f 771/1314/406 756/1290/406 778/1322/406 779/1323/406 -f 773/1316/404 772/1318/404 780/1327/404 781/1325/404 -f 783/1328/431 784/1329/431 785/1330/431 786/1331/431 -f 779/1323/432 778/1322/432 787/1332/432 788/1333/432 -f 781/1325/433 780/1327/433 789/1334/433 784/1335/433 -f 770/1313/434 769/1312/434 790/1336/434 776/1337/434 -f 778/1322/435 775/1319/435 777/1338/435 787/1339/435 -f 780/1324/436 779/1323/436 788/1340/436 789/1341/436 -f 782/1326/437 781/1325/437 784/1329/437 783/1328/437 -f 769/1312/438 782/1326/438 783/1342/438 790/1343/438 -f 791/1344/410 792/1345/410 793/1346/410 794/1347/410 -f 790/1343/439 783/1342/439 786/1331/439 792/1345/439 -f 777/1321/440 776/1320/440 791/1344/440 795/1348/440 -f 788/1333/441 787/1332/441 796/1349/441 797/1350/441 -f 784/1335/442 789/1334/442 798/1351/442 785/1330/442 -f 776/1337/443 790/1336/443 792/1345/443 791/1344/443 -f 787/1339/444 777/1338/444 795/1348/444 796/1349/444 -f 789/1341/445 788/1340/445 797/1350/445 798/1352/445 -f 799/1353/446 800/1354/446 801/1355/446 802/1356/446 -f 796/1349/407 795/1348/407 803/1357/407 804/1358/407 -f 798/1352/405 797/1350/405 805/1359/405 800/1360/405 -f 786/1331/429 785/1330/429 799/1353/429 806/1361/429 -f 792/1345/430 786/1331/430 806/1361/430 793/1346/430 -f 795/1348/408 791/1344/408 794/1347/408 803/1357/408 -f 797/1350/406 796/1349/406 804/1358/406 805/1359/406 -f 785/1330/404 798/1351/404 800/1354/404 799/1353/404 -f 807/1362/447 808/1363/447 809/1364/447 810/1365/447 -f 794/1347/448 793/1346/448 807/1366/448 811/1367/448 -f 804/1358/449 803/1357/449 812/1368/449 813/1369/449 -f 800/1360/450 805/1359/450 814/1370/450 801/1371/450 -f 806/1361/451 799/1353/451 802/1372/451 808/1373/451 -f 793/1346/452 806/1361/452 808/1363/452 807/1362/452 -f 803/1357/453 794/1347/453 811/1374/453 812/1375/453 -f 805/1359/454 804/1358/454 813/1376/454 814/1377/454 -f 815/1378/455 810/1379/455 816/1380/455 817/1381/455 -f 812/1375/456 811/1374/456 815/1382/456 818/1383/456 -f 814/1377/457 813/1376/457 819/1384/457 820/1385/457 -f 802/1356/458 801/1355/458 821/1386/458 822/1387/458 -f 811/1367/459 807/1366/459 810/1379/459 815/1378/459 -f 813/1369/460 812/1368/460 818/1388/460 819/1389/460 -f 801/1371/461 814/1370/461 820/1390/461 821/1391/461 -f 808/1373/462 802/1372/462 822/1392/462 809/1393/462 -f 823/1394/463 817/1395/463 824/1396/463 825/1397/463 -f 819/1389/464 818/1388/464 823/1398/464 826/1399/464 -f 821/1391/465 820/1390/465 827/1400/465 828/1401/465 -f 809/1393/466 822/1392/466 829/1402/466 830/1403/466 -f 810/1365/467 809/1364/467 830/1404/467 816/1405/467 -f 818/1383/468 815/1382/468 817/1395/468 823/1394/468 -f 820/1385/469 819/1384/469 826/1406/469 827/1407/469 -f 822/1387/470 821/1386/470 828/1408/470 829/1409/470 -f 831/1410/407 832/1411/407 833/1412/407 834/1413/407 -f 827/1407/463 826/1406/463 835/1414/463 836/1415/463 -f 829/1409/463 828/1408/463 837/1416/463 832/1417/463 -f 817/1381/463 816/1380/463 838/1418/463 824/1419/463 -f 826/1399/463 823/1398/463 825/1420/463 835/1421/463 -f 828/1401/463 827/1400/463 836/1422/463 837/1423/463 -f 830/1403/463 829/1402/463 832/1411/463 831/1410/463 -f 816/1405/463 830/1404/463 831/1424/463 838/1425/463 -f 834/1426/463 833/1427/463 839/1428/463 840/1429/463 841/1430/463 842/1431/463 843/1432/463 844/1433/463 -f 838/1425/406 831/1424/406 834/1434/406 844/1435/406 -f 825/1397/404 824/1396/404 843/1436/404 842/1437/404 -f 836/1415/430 835/1414/430 841/1438/430 840/1439/430 -f 832/1417/408 837/1416/408 839/1440/408 833/1441/408 -f 824/1419/405 838/1418/405 844/1442/405 843/1443/405 -f 835/1421/429 825/1420/429 842/1444/429 841/1445/429 -f 837/1423/410 836/1422/410 840/1446/410 839/1447/410 -f 759/1293/471 845/1448/471 846/1449/471 760/1294/471 -f 765/1303/472 847/1450/472 845/1448/472 759/1293/472 -f 758/1292/473 848/1451/473 847/1450/473 765/1303/473 -f 757/1291/474 849/1452/474 848/1451/474 758/1292/474 -f 763/1300/475 850/1453/475 849/1452/475 757/1291/475 -f 750/1299/476 851/1454/476 850/1453/476 763/1300/476 -f 749/1283/477 852/1455/477 851/1456/477 750/1284/477 -f 760/1294/478 846/1449/478 852/1455/478 749/1283/478 -f 853/1457/479 748/1282/479 733/1257/479 854/1458/479 -f 855/1459/480 746/1272/480 748/1282/480 853/1457/480 -f 856/1460/481 744/1270/481 746/1272/481 855/1459/481 -f 857/1461/482 742/1268/482 744/1270/482 856/1460/482 -f 858/1462/483 740/1266/483 742/1268/483 857/1461/483 -f 859/1463/484 738/1263/484 740/1266/484 858/1462/484 -f 860/1464/485 736/1260/485 738/1262/485 859/1465/485 -f 854/1458/486 733/1257/486 736/1260/486 860/1464/486 -f 846/1449/429 861/1466/429 862/1467/429 852/1455/429 -f 863/1468/487 864/1469/487 865/1470/487 866/1471/487 -f 867/1472/429 868/1473/429 869/1474/429 870/1475/429 -f 855/1476/488 853/1477/488 871/1478/488 872/1479/488 -f 852/1455/489 862/1467/489 873/1480/489 851/1456/489 -f 870/1481/490 874/1482/490 875/1483/490 876/1484/490 -f 870/1475/404 869/1474/404 877/1485/404 874/1486/404 -f 857/1487/491 856/1488/491 878/1489/491 879/1490/491 -f 851/1454/492 873/1491/492 880/1492/492 850/1453/492 -f 881/1493/493 880/1494/493 882/1495/493 883/1496/493 -f 874/1497/405 877/1498/405 884/1499/405 885/1500/405 -f 886/1501/494 887/1502/494 888/1503/494 889/1504/494 -f 850/1453/406 880/1492/406 881/1505/406 849/1452/406 -f 873/1506/495 862/1507/495 890/1508/495 891/1509/495 -f 885/1500/406 884/1499/406 892/1510/406 893/1511/406 -f 859/1512/496 858/1513/496 894/1514/496 895/1515/496 -f 849/1452/407 881/1505/407 864/1516/407 848/1451/407 -f 896/1517/497 897/1518/497 898/1519/497 899/1520/497 -f 893/1511/407 892/1510/407 900/1521/407 901/1522/407 -f 900/1523/498 892/1524/498 902/1525/498 903/1526/498 -f 848/1451/499 864/1516/499 863/1527/499 847/1450/499 -f 893/1528/500 901/1529/500 904/1530/500 905/1531/500 -f 901/1522/408 900/1521/408 887/1532/408 896/1533/408 -f 854/1534/501 860/1535/501 906/1536/501 907/1537/501 -f 847/1450/502 863/1527/502 908/1538/502 845/1448/502 -f 908/1539/503 863/1540/503 866/1471/503 909/1541/503 -f 896/1533/410 887/1532/410 886/1542/410 897/1543/410 -f 884/1544/504 877/1545/504 910/1546/504 911/1547/504 -f 845/1448/430 908/1538/430 861/1466/430 846/1449/430 -f 874/1548/505 885/1549/505 912/1550/505 875/1551/505 -f 897/1543/430 886/1542/430 868/1473/430 867/1472/430 -f 869/1552/506 868/1553/506 913/1554/506 914/1555/506 -f 913/1554/429 907/1537/429 906/1536/429 914/1555/429 -f 914/1555/404 906/1536/404 895/1556/404 910/1557/404 -f 910/1546/405 895/1515/405 894/1514/405 911/1547/405 -f 911/1547/406 894/1514/406 879/1490/406 902/1525/406 -f 902/1525/407 879/1490/407 878/1489/407 903/1526/407 -f 903/1526/408 878/1489/408 872/1479/408 888/1503/408 -f 888/1503/410 872/1479/410 871/1478/410 889/1504/410 -f 889/1504/430 871/1478/430 907/1537/430 913/1554/430 -f 877/1558/507 869/1559/507 914/1555/507 910/1557/507 -f 892/1560/508 884/1561/508 911/1547/508 902/1525/508 -f 860/1562/509 859/1563/509 895/1556/509 906/1536/509 -f 887/1564/510 900/1565/510 903/1526/510 888/1503/510 -f 858/1566/511 857/1567/511 879/1490/511 894/1514/511 -f 868/1568/512 886/1569/512 889/1504/512 913/1554/512 -f 856/1570/513 855/1571/513 872/1479/513 878/1489/513 -f 853/1572/514 854/1573/514 907/1537/514 871/1478/514 -f 915/1574/429 916/1575/429 876/1484/429 890/1508/429 -f 890/1508/404 876/1484/404 875/1483/404 891/1509/404 -f 891/1576/405 875/1551/405 912/1550/405 882/1495/405 -f 882/1495/406 912/1550/406 905/1531/406 883/1496/406 -f 883/1496/407 905/1531/407 904/1530/407 865/1470/407 -f 865/1470/408 904/1530/408 899/1520/408 866/1471/408 -f 866/1471/410 899/1520/410 898/1519/410 909/1541/410 -f 909/1541/430 898/1519/430 916/1575/430 915/1574/430 -f 885/1577/515 893/1578/515 905/1531/515 912/1550/515 -f 861/1579/516 908/1580/516 909/1541/516 915/1574/516 -f 901/1581/517 896/1582/517 899/1520/517 904/1530/517 -f 897/1583/518 867/1584/518 916/1575/518 898/1519/518 -f 862/1585/519 861/1586/519 915/1574/519 890/1508/519 -f 880/1587/520 873/1588/520 891/1576/520 882/1495/520 -f 867/1589/521 870/1590/521 876/1484/521 916/1575/521 -f 864/1591/522 881/1592/522 883/1496/522 865/1470/522 -o SideScrews_Cylinder.005 -v -0.436383 0.265019 3.509254 -v 1.004741 0.265019 3.509254 -v 1.004741 0.179718 3.544586 -v -0.436383 0.179718 3.544586 -v 1.004741 0.144386 3.629887 -v -0.436383 0.144385 3.629887 -v 1.004741 0.179718 3.715187 -v -0.436383 0.179718 3.715187 -v 1.004741 0.265019 3.750520 -v -0.436383 0.265019 3.750520 -v 1.004741 0.350319 3.715187 -v -0.436383 0.350319 3.715187 -v 1.004741 0.385652 3.629887 -v -0.436383 0.385652 3.629887 -v 1.088061 0.265019 3.750520 -v 1.088061 0.350319 3.715187 -v 1.004741 0.350319 3.544586 -v -0.436383 0.350319 3.544586 -v -0.513171 0.364069 3.629887 -v -0.513171 0.335058 3.699926 -v -0.513171 0.265019 3.530836 -v -0.513171 0.194979 3.559848 -v -0.513171 0.165968 3.629887 -v -0.513171 0.194979 3.699926 -v -0.513171 0.265019 3.728937 -v -0.513171 0.335058 3.559848 -v 1.088061 0.265019 3.509254 -v 1.088061 0.350319 3.544586 -v 1.100404 0.336110 3.558795 -v 1.100404 0.265019 3.529348 -v 1.088061 0.179718 3.544586 -v 1.088061 0.144386 3.629887 -v 1.088061 0.179718 3.715187 -v 1.088061 0.385652 3.629887 -v 1.100404 0.336110 3.700979 -v 1.100404 0.365558 3.629887 -v 1.100404 0.193927 3.700979 -v 1.100404 0.265019 3.730426 -v 1.100404 0.193927 3.558795 -v 1.100404 0.164480 3.629887 -v 1.127149 0.181939 3.629887 -v 1.127149 0.206273 3.688633 -v 1.127149 0.206273 3.571141 -v 1.127149 0.265019 3.546807 -v 1.127149 0.323765 3.571141 -v 1.127149 0.348098 3.629887 -v 1.127149 0.323765 3.688633 -v 1.127149 0.265019 3.712966 -v -0.436384 0.265019 2.490746 -v -0.436384 0.179718 2.455414 -v 1.004741 0.179718 2.455414 -v 1.004741 0.265019 2.490746 -v -0.436384 0.144385 2.370113 -v 1.004741 0.144386 2.370113 -v -0.436384 0.179718 2.284813 -v 1.004741 0.179718 2.284813 -v -0.436384 0.265019 2.249480 -v 1.004741 0.265019 2.249480 -v -0.436384 0.350319 2.284813 -v 1.004741 0.350319 2.284813 -v -0.436384 0.385652 2.370113 -v 1.004741 0.385652 2.370113 -v 1.088061 0.350319 2.284813 -v 1.088061 0.265019 2.249480 -v -0.436384 0.350319 2.455414 -v 1.004741 0.350319 2.455414 -v -0.513171 0.335058 2.300074 -v -0.513171 0.364069 2.370113 -v -0.513171 0.265019 2.469164 -v -0.513171 0.335058 2.440152 -v -0.513171 0.265019 2.271063 -v -0.513171 0.194979 2.300074 -v -0.513171 0.165968 2.370113 -v -0.513171 0.194979 2.440152 -v 1.088061 0.265019 2.490746 -v 1.100404 0.265019 2.470652 -v 1.100404 0.336111 2.441205 -v 1.088061 0.350319 2.455414 -v 1.088061 0.179718 2.455414 -v 1.088061 0.179718 2.284813 -v 1.088061 0.144386 2.370113 -v 1.088061 0.385652 2.370113 -v 1.100404 0.365558 2.370113 -v 1.100404 0.336110 2.299021 -v 1.100404 0.265019 2.269574 -v 1.100404 0.193927 2.299021 -v 1.100404 0.164480 2.370113 -v 1.100404 0.193927 2.441205 -v 1.127149 0.206273 2.311367 -v 1.127149 0.181939 2.370113 -v 1.127149 0.206273 2.428859 -v 1.127149 0.265019 2.287034 -v 1.127149 0.323765 2.311367 -v 1.127149 0.348098 2.370113 -v 1.127149 0.323765 2.428859 -v 1.127149 0.265019 2.453193 -vt 0.047908 0.778254 -vt 0.915002 0.778254 -vt 0.915002 0.833806 -vt 0.047908 0.833806 -vt 0.915002 0.889359 -vt 0.047908 0.889358 -vt 0.047908 0.444941 -vt 0.915002 0.444941 -vt 0.915002 0.500493 -vt 0.047908 0.500493 -vt 0.915002 0.556045 -vt 0.047908 0.556045 -vt 0.915002 0.611597 -vt 0.047908 0.611598 -vt 0.915002 0.667149 -vt 0.047908 0.667150 -vt 0.965134 0.556045 -vt 0.965134 0.611597 -vt 0.915002 0.722702 -vt 0.047908 0.722702 -vt 0.000174 0.662180 -vt 0.000174 0.616567 -vt 0.188508 0.999826 -vt 0.142894 0.999826 -vt 0.110641 0.967572 -vt 0.110641 0.921959 -vt 0.142895 0.889706 -vt 0.188508 0.889706 -vt 0.220761 0.921959 -vt 0.220761 0.967572 -vt 0.000174 0.551076 -vt 0.000174 0.505463 -vt 0.000174 0.717732 -vt 0.000174 0.672119 -vt 0.000174 0.884388 -vt 0.000174 0.838776 -vt 0.000174 0.606628 -vt 0.000174 0.561015 -vt 0.000174 0.773284 -vt 0.000174 0.727671 -vt 0.000174 0.828837 -vt 0.000174 0.783223 -vt 0.000174 0.495524 -vt 0.000174 0.449911 -vt 0.965134 0.778254 -vt 0.965134 0.722702 -vt 0.978548 0.727329 -vt 0.978548 0.773627 -vt 0.965134 0.833806 -vt 0.965134 0.444941 -vt 0.965134 0.500493 -vt 0.965134 0.667149 -vt 0.965134 0.889359 -vt 0.978548 0.616224 -vt 0.978548 0.662523 -vt 0.978548 0.505120 -vt 0.978548 0.551419 -vt 0.978548 0.838433 -vt 0.978548 0.884732 -vt 0.978548 0.671776 -vt 0.978548 0.718075 -vt 0.978548 0.560672 -vt 0.978548 0.606970 -vt 0.978548 0.449567 -vt 0.978548 0.495866 -vt 0.978548 0.782880 -vt 0.978548 0.829179 -vt 0.997340 0.453587 -vt 0.997340 0.491846 -vt 0.313821 0.916759 -vt 0.340874 0.889706 -vt 0.379132 0.889706 -vt 0.406185 0.916760 -vt 0.406185 0.955018 -vt 0.379132 0.982071 -vt 0.340873 0.982071 -vt 0.313820 0.955018 -vt 0.997340 0.786900 -vt 0.997340 0.825159 -vt 0.997340 0.731349 -vt 0.997339 0.769607 -vt 0.997340 0.620244 -vt 0.997340 0.658502 -vt 0.997340 0.509140 -vt 0.997340 0.547398 -vt 0.997340 0.842454 -vt 0.997340 0.880712 -vt 0.997340 0.675796 -vt 0.997340 0.714055 -vt 0.997340 0.564692 -vt 0.997340 0.602951 -vt 0.047908 0.111279 -vt 0.047908 0.055726 -vt 0.915003 0.055729 -vt 0.915003 0.111281 -vt 0.047908 0.000174 -vt 0.915003 0.000177 -vt 0.047907 0.444592 -vt 0.047907 0.389040 -vt 0.915002 0.389041 -vt 0.915002 0.444593 -vt 0.047907 0.333487 -vt 0.915002 0.333489 -vt 0.047907 0.277935 -vt 0.915002 0.277937 -vt 0.047908 0.222383 -vt 0.915002 0.222385 -vt 0.965134 0.277937 -vt 0.965134 0.333489 -vt 0.047908 0.166830 -vt 0.915003 0.166833 -vt 0.000174 0.272966 -vt 0.000174 0.227352 -vt 0.032427 0.889706 -vt 0.078041 0.889706 -vt 0.110294 0.921960 -vt 0.110294 0.967573 -vt 0.078041 0.999826 -vt 0.032427 0.999826 -vt 0.000174 0.967573 -vt 0.000174 0.921960 -vt 0.000174 0.384070 -vt 0.000174 0.338457 -vt 0.000174 0.217413 -vt 0.000174 0.171800 -vt 0.000175 0.050756 -vt 0.000175 0.005143 -vt 0.000174 0.328517 -vt 0.000174 0.282904 -vt 0.000174 0.161861 -vt 0.000175 0.116248 -vt 0.000175 0.106309 -vt 0.000175 0.060695 -vt 0.000174 0.439622 -vt 0.000174 0.394009 -vt 0.965135 0.111281 -vt 0.978548 0.115908 -vt 0.978548 0.162207 -vt 0.965135 0.166833 -vt 0.965135 0.055729 -vt 0.965134 0.389041 -vt 0.965134 0.444593 -vt 0.965134 0.222385 -vt 0.965135 0.000177 -vt 0.978548 0.227012 -vt 0.978548 0.273311 -vt 0.978547 0.338116 -vt 0.978547 0.384414 -vt 0.978548 0.004803 -vt 0.978548 0.051102 -vt 0.978547 0.171460 -vt 0.978547 0.217759 -vt 0.978547 0.282564 -vt 0.978547 0.328863 -vt 0.978548 0.393668 -vt 0.978548 0.439967 -vt 0.978548 0.060356 -vt 0.978548 0.106654 -vt 0.997340 0.397688 -vt 0.997340 0.435947 -vt 0.248162 0.982070 -vt 0.221109 0.955017 -vt 0.221109 0.916758 -vt 0.248162 0.889706 -vt 0.286421 0.889706 -vt 0.313473 0.916759 -vt 0.313473 0.955017 -vt 0.286420 0.982071 -vt 0.997340 0.064376 -vt 0.997340 0.102635 -vt 0.997340 0.119928 -vt 0.997341 0.158187 -vt 0.997340 0.231032 -vt 0.997340 0.269291 -vt 0.997339 0.342136 -vt 0.997339 0.380394 -vt 0.997340 0.008823 -vt 0.997340 0.047082 -vt 0.997339 0.175480 -vt 0.997339 0.213738 -vt 0.997340 0.286584 -vt 0.997340 0.324842 -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.2513 0.8942 0.3704 -vn -1.0000 0.0000 0.0000 -vn -0.2513 -0.3704 0.8942 -vn -0.2513 0.8942 -0.3704 -vn -0.2513 -0.8942 -0.3704 -vn -0.2513 0.3704 0.8942 -vn -0.2513 0.3704 -0.8942 -vn -0.2513 -0.3704 -0.8942 -vn -0.2513 -0.8942 0.3704 -vn 0.8327 0.2119 -0.5115 -vn 0.8327 0.5115 0.2119 -vn 0.8327 -0.2119 0.5115 -vn 0.8327 -0.5115 -0.2119 -vn 0.8327 0.5115 -0.2119 -vn 0.8327 0.2119 0.5115 -vn 0.8327 -0.5115 0.2119 -vn 0.8327 -0.2119 -0.5115 -vn 0.5165 -0.7911 0.3277 -vn 1.0000 0.0000 0.0000 -vn 0.5165 -0.3277 -0.7911 -vn 0.5165 0.3277 -0.7911 -vn 0.5165 0.7911 0.3277 -vn 0.5165 -0.3277 0.7911 -vn 0.5165 -0.7911 -0.3277 -vn 0.5165 0.7911 -0.3277 -vn 0.5165 0.3277 0.7911 -s off -f 917/1593/523 918/1594/523 919/1595/523 920/1596/523 -f 920/1596/524 919/1595/524 921/1597/524 922/1598/524 -f 922/1599/525 921/1600/525 923/1601/525 924/1602/525 -f 924/1602/526 923/1601/526 925/1603/526 926/1604/526 -f 926/1604/527 925/1603/527 927/1605/527 928/1606/527 -f 928/1606/528 927/1605/528 929/1607/528 930/1608/528 -f 927/1605/527 925/1603/527 931/1609/527 932/1610/527 -f 930/1608/529 929/1607/529 933/1611/529 934/1612/529 -f 934/1612/530 933/1611/530 918/1594/530 917/1593/530 -f 928/1606/531 930/1608/531 935/1613/531 936/1614/531 -f 937/1615/532 938/1616/532 939/1617/532 940/1618/532 941/1619/532 936/1620/532 935/1621/532 942/1622/532 -f 924/1602/533 926/1604/533 941/1623/533 940/1624/533 -f 930/1608/534 934/1612/534 942/1625/534 935/1626/534 -f 920/1596/535 922/1598/535 939/1627/535 938/1628/535 -f 926/1604/536 928/1606/536 936/1629/536 941/1630/536 -f 934/1612/537 917/1593/537 937/1631/537 942/1632/537 -f 917/1593/538 920/1596/538 938/1633/538 937/1634/538 -f 922/1599/539 924/1602/539 940/1635/539 939/1636/539 -f 943/1637/540 944/1638/540 945/1639/540 946/1640/540 -f 918/1594/530 933/1611/530 944/1638/530 943/1637/530 -f 919/1595/523 918/1594/523 943/1637/523 947/1641/523 -f 923/1601/525 921/1600/525 948/1642/525 949/1643/525 -f 929/1607/528 927/1605/528 932/1610/528 950/1644/528 -f 925/1603/526 923/1601/526 949/1643/526 931/1609/526 -f 933/1611/529 929/1607/529 950/1644/529 944/1638/529 -f 921/1597/524 919/1595/524 947/1641/524 948/1645/524 -f 950/1644/541 932/1610/541 951/1646/541 952/1647/541 -f 931/1609/542 949/1643/542 953/1648/542 954/1649/542 -f 948/1645/543 947/1641/543 955/1650/543 956/1651/543 -f 944/1638/544 950/1644/544 952/1652/544 945/1653/544 -f 932/1610/545 931/1609/545 954/1654/545 951/1655/545 -f 949/1643/546 948/1642/546 956/1656/546 953/1657/546 -f 947/1641/547 943/1637/547 946/1658/547 955/1659/547 -f 953/1657/548 956/1656/548 957/1660/548 958/1661/548 -f 959/1662/549 960/1663/549 961/1664/549 962/1665/549 963/1666/549 964/1667/549 958/1668/549 957/1669/549 -f 955/1659/550 946/1658/550 960/1670/550 959/1671/550 -f 946/1640/551 945/1639/551 961/1672/551 960/1673/551 -f 952/1647/552 951/1646/552 963/1674/552 962/1675/552 -f 954/1649/553 953/1648/553 958/1676/553 964/1677/553 -f 956/1651/554 955/1650/554 959/1678/554 957/1679/554 -f 945/1653/555 952/1652/555 962/1680/555 961/1681/555 -f 951/1655/556 954/1654/556 964/1682/556 963/1683/556 -f 965/1684/526 966/1685/526 967/1686/526 968/1687/526 -f 966/1685/525 969/1688/525 970/1689/525 967/1686/525 -f 969/1690/524 971/1691/524 972/1692/524 970/1693/524 -f 971/1691/523 973/1694/523 974/1695/523 972/1692/523 -f 973/1694/530 975/1696/530 976/1697/530 974/1695/530 -f 975/1696/529 977/1698/529 978/1699/529 976/1697/529 -f 976/1697/530 979/1700/530 980/1701/530 974/1695/530 -f 977/1698/528 981/1702/528 982/1703/528 978/1699/528 -f 981/1702/527 965/1684/527 968/1687/527 982/1703/527 -f 975/1696/534 983/1704/534 984/1705/534 977/1698/534 -f 985/1706/532 986/1707/532 984/1708/532 983/1709/532 987/1710/532 988/1711/532 989/1712/532 990/1713/532 -f 971/1691/538 988/1714/538 987/1715/538 973/1694/538 -f 977/1698/531 984/1716/531 986/1717/531 981/1702/531 -f 966/1685/539 990/1718/539 989/1719/539 969/1688/539 -f 973/1694/537 987/1720/537 983/1721/537 975/1696/537 -f 981/1702/536 986/1722/536 985/1723/536 965/1684/536 -f 965/1684/533 985/1724/533 990/1725/533 966/1685/533 -f 969/1690/535 989/1726/535 988/1727/535 971/1691/535 -f 991/1728/545 992/1729/545 993/1730/545 994/1731/545 -f 968/1687/527 991/1728/527 994/1731/527 982/1703/527 -f 967/1686/526 995/1732/526 991/1728/526 968/1687/526 -f 972/1692/524 996/1733/524 997/1734/524 970/1693/524 -f 978/1699/529 998/1735/529 979/1700/529 976/1697/529 -f 974/1695/523 980/1701/523 996/1733/523 972/1692/523 -f 982/1703/528 994/1731/528 998/1735/528 978/1699/528 -f 970/1689/525 997/1736/525 995/1732/525 967/1686/525 -f 998/1735/544 999/1737/544 1000/1738/544 979/1700/544 -f 980/1701/547 1001/1739/547 1002/1740/547 996/1733/547 -f 997/1736/546 1003/1741/546 1004/1742/546 995/1732/546 -f 994/1731/541 993/1743/541 999/1744/541 998/1735/541 -f 979/1700/540 1000/1745/540 1001/1746/540 980/1701/540 -f 996/1733/543 1002/1747/543 1003/1748/543 997/1734/543 -f 995/1732/542 1004/1749/542 992/1750/542 991/1728/542 -f 1002/1747/554 1005/1751/554 1006/1752/554 1003/1748/554 -f 1007/1753/549 1006/1754/549 1005/1755/549 1008/1756/549 1009/1757/549 1010/1758/549 1011/1759/549 1012/1760/549 -f 1004/1749/553 1007/1761/553 1012/1762/553 992/1750/553 -f 992/1729/556 1012/1763/556 1011/1764/556 993/1730/556 -f 999/1737/555 1010/1765/555 1009/1766/555 1000/1738/555 -f 1001/1739/550 1008/1767/550 1005/1768/550 1002/1740/550 -f 1003/1741/548 1006/1769/548 1007/1770/548 1004/1742/548 -f 993/1743/552 1011/1771/552 1010/1772/552 999/1744/552 -f 1000/1745/551 1009/1773/551 1008/1774/551 1001/1746/551 -o CoiCanon_Cylinder.004 -v -0.419369 0.526526 -0.206986 -v 0.947632 0.526526 -0.206986 -v 0.947632 0.380164 -0.146361 -v -0.419369 0.380164 -0.146361 -v 0.947632 0.319540 0.000000 -v -0.419369 0.319540 0.000000 -v 0.947632 0.380164 0.146361 -v -0.419369 0.380164 0.146361 -v 0.947632 0.526526 0.206986 -v -0.419369 0.526526 0.206986 -v 0.947632 0.672887 0.146361 -v -0.419369 0.672887 0.146361 -v 0.947632 0.733512 0.000000 -v -0.419369 0.733512 0.000000 -v 0.947632 0.672887 -0.146361 -v -0.419369 0.672887 -0.146361 -vt 1.000000 0.500000 -vt 1.000000 1.000000 -vt 0.875000 1.000000 -vt 0.875000 0.500000 -vt 0.750000 1.000000 -vt 0.750000 0.500000 -vt 0.625000 1.000000 -vt 0.625000 0.500000 -vt 0.500000 1.000000 -vt 0.500000 0.500000 -vt 0.375000 1.000000 -vt 0.375000 0.500000 -vt 0.250000 1.000000 -vt 0.250000 0.500000 -vt 0.419706 0.419706 -vt 0.250000 0.490000 -vt 0.080294 0.419706 -vt 0.010000 0.250000 -vt 0.080294 0.080294 -vt 0.250000 0.010000 -vt 0.419706 0.080294 -vt 0.490000 0.250000 -vt 0.125000 1.000000 -vt 0.125000 0.500000 -vt 0.000000 1.000000 -vt 0.000000 0.500000 -vt 0.750000 0.490000 -vt 0.919706 0.419706 -vt 0.990000 0.250000 -vt 0.919706 0.080294 -vt 0.750000 0.010000 -vt 0.580294 0.080294 -vt 0.510000 0.250000 -vt 0.580294 0.419706 -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 1.0000 0.0000 0.0000 -vn 0.0000 0.9239 -0.3827 -vn 0.0000 0.3827 -0.9239 -vn -1.0000 0.0000 0.0000 -s 1 -f 1013/1775/557 1014/1776/557 1015/1777/557 1016/1778/557 -f 1016/1778/558 1015/1777/558 1017/1779/558 1018/1780/558 -f 1018/1780/559 1017/1779/559 1019/1781/559 1020/1782/559 -f 1020/1782/560 1019/1781/560 1021/1783/560 1022/1784/560 -f 1022/1784/561 1021/1783/561 1023/1785/561 1024/1786/561 -f 1024/1786/562 1023/1785/562 1025/1787/562 1026/1788/562 -f 1015/1789/563 1014/1790/563 1027/1791/563 1025/1792/563 1023/1793/563 1021/1794/563 1019/1795/563 1017/1796/563 -f 1026/1788/564 1025/1787/564 1027/1797/564 1028/1798/564 -f 1028/1798/565 1027/1797/565 1014/1799/565 1013/1800/565 -f 1013/1801/566 1016/1802/566 1018/1803/566 1020/1804/566 1022/1805/566 1024/1806/566 1026/1807/566 1028/1808/566 -o SideHolders_Cube.003 -v 1.384588 0.551670 0.654257 -v 1.384588 0.551670 0.449972 -v 1.139921 0.531994 0.449972 -v 1.139921 0.531994 0.558806 -v 1.384588 0.408111 0.449972 -v 1.504148 0.551670 0.449972 -v 1.504148 0.408111 0.449972 -v 1.504148 0.551670 0.654257 -v 1.577323 0.529883 0.613238 -v 1.577323 0.529883 0.449972 -v 1.504148 0.408111 0.654257 -v 1.384588 0.408111 0.654257 -v 1.577323 0.429898 0.449972 -v 1.577323 0.429898 0.613238 -v 1.139921 0.427787 0.558806 -v 1.139921 0.427787 0.449972 -v 1.384588 0.551670 -0.654257 -v 1.139921 0.531994 -0.558805 -v 1.139921 0.531994 -0.449972 -v 1.384588 0.551670 -0.449972 -v 1.384588 0.408111 -0.449972 -v 1.504148 0.408111 -0.449972 -v 1.504148 0.551670 -0.449972 -v 1.577323 0.529883 -0.449972 -v 1.577323 0.529883 -0.613238 -v 1.504148 0.551670 -0.654257 -v 1.504148 0.408111 -0.654257 -v 1.384588 0.408111 -0.654257 -v 1.577323 0.429898 -0.449972 -v 1.577323 0.429898 -0.613238 -v 1.139921 0.427787 -0.558805 -v 1.139921 0.427787 -0.449972 -vt 0.875000 0.750000 -vt 0.875000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 0.750000 -vt 0.375000 0.250000 -vt 0.625000 0.250000 -vt 0.625000 0.500000 -vt 0.375000 0.500000 -vt 0.625000 0.750000 -vt 0.625000 0.750000 -vt 0.625000 0.500000 -vt 0.375000 0.750000 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vt 0.125000 0.500000 -vt 0.125000 0.750000 -vt 0.375000 0.500000 -vt 0.375000 0.750000 -vt 0.375000 0.000000 -vt 0.625000 0.000000 -vt 0.625000 0.250000 -vt 0.375000 0.250000 -vt 0.125000 0.750000 -vt 0.125000 0.500000 -vt 0.625000 1.000000 -vt 0.375000 1.000000 -vt 0.875000 0.750000 -vt 0.875000 0.750000 -vt 0.875000 0.500000 -vt 0.875000 0.500000 -vt 0.375000 0.250000 -vt 0.375000 0.500000 -vt 0.625000 0.500000 -vt 0.625000 0.250000 -vt 0.625000 0.500000 -vt 0.625000 0.750000 -vt 0.625000 0.750000 -vt 0.375000 0.750000 -vt 0.375000 1.000000 -vt 0.625000 1.000000 -vt 0.125000 0.500000 -vt 0.125000 0.750000 -vt 0.375000 0.500000 -vt 0.375000 0.750000 -vt 0.375000 0.000000 -vt 0.375000 0.250000 -vt 0.625000 0.250000 -vt 0.625000 0.000000 -vt 0.125000 0.500000 -vt 0.125000 0.750000 -vt 0.375000 1.000000 -vt 0.625000 1.000000 -vn -0.0802 0.9968 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.2854 0.9584 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 0.4890 0.0000 0.8723 -vn 0.2854 -0.9584 0.0000 -vn -1.0000 0.0000 0.0000 -vn -0.0802 -0.9968 0.0000 -vn -0.3634 0.0000 0.9316 -vn 0.4890 0.0000 -0.8723 -vn -0.3635 0.0000 -0.9316 -s 1 -f 1029/1809/567 1030/1810/567 1031/1811/567 1032/1812/567 -f 1033/1813/568 1030/1814/568 1034/1815/568 1035/1816/568 -f 1034/1815/569 1036/1817/569 1037/1818/569 1038/1819/569 -f 1039/1820/570 1036/1817/570 1029/1821/570 1040/1822/570 -f 1033/1823/571 1035/1816/571 1039/1820/571 1040/1824/571 -f 1034/1815/572 1030/1810/572 1029/1809/572 1036/1817/572 -f 1041/1825/573 1038/1819/573 1037/1818/573 1042/1826/573 -f 1035/1816/568 1034/1815/568 1038/1819/568 1041/1825/568 -f 1036/1817/574 1039/1820/574 1042/1826/574 1037/1818/574 -f 1039/1820/575 1035/1816/575 1041/1825/575 1042/1826/575 -f 1043/1827/576 1032/1828/576 1031/1829/576 1044/1830/576 -f 1033/1823/577 1040/1824/577 1043/1831/577 1044/1832/577 -f 1030/1814/568 1033/1813/568 1044/1830/568 1031/1829/568 -f 1040/1822/578 1029/1821/578 1032/1833/578 1043/1834/578 -f 1045/1835/567 1046/1836/567 1047/1837/567 1048/1838/567 -f 1049/1839/570 1050/1840/570 1051/1841/570 1048/1842/570 -f 1051/1841/569 1052/1843/569 1053/1844/569 1054/1845/569 -f 1055/1846/568 1056/1847/568 1045/1848/568 1054/1845/568 -f 1049/1849/571 1056/1850/571 1055/1846/571 1050/1840/571 -f 1051/1841/572 1054/1845/572 1045/1835/572 1048/1838/572 -f 1057/1851/573 1058/1852/573 1053/1844/573 1052/1843/573 -f 1050/1840/570 1057/1851/570 1052/1843/570 1051/1841/570 -f 1054/1845/579 1053/1844/579 1058/1852/579 1055/1846/579 -f 1055/1846/575 1058/1852/575 1057/1851/575 1050/1840/575 -f 1059/1853/576 1060/1854/576 1047/1855/576 1046/1856/576 -f 1049/1849/577 1060/1857/577 1059/1858/577 1056/1850/577 -f 1048/1842/570 1047/1855/570 1060/1854/570 1049/1839/570 -f 1056/1847/580 1059/1859/580 1046/1860/580 1045/1848/580 -o Rail_Cube -v -1.606489 0.994589 0.070837 -v -1.606489 1.084445 0.070837 -v -1.606489 1.084277 -0.070837 -v -1.606489 0.994589 -0.070837 -v -0.511384 1.084480 -0.070837 -v -0.514357 1.052983 -0.070837 -v -0.549767 1.006668 -0.070837 -v -0.549767 0.994589 -0.070837 -v 1.313063 1.160981 0.058974 -v 1.498769 1.160981 0.058974 -v 1.498532 1.230366 0.031927 -v 1.312826 1.230366 0.031927 -v 1.225298 0.994589 0.070837 -v 1.225298 1.084445 0.070837 -v 0.962233 1.084445 0.070837 -v 0.964610 1.052983 0.070837 -v 1.000021 1.006668 0.070837 -v 1.000021 0.994589 0.070837 -v -0.197543 0.994589 -0.070837 -v 0.049014 0.994589 -0.070837 -v 0.049014 0.994589 0.070837 -v -0.197543 0.994589 0.070837 -v 0.401239 0.994589 -0.070837 -v 0.647796 0.994589 -0.070837 -v 0.647796 0.994589 0.070837 -v 0.401239 0.994589 0.070837 -v 1.000021 0.994589 -0.070837 -v 1.225298 0.994589 -0.070837 -v -0.549767 0.994589 0.070837 -v 1.225298 1.143051 -0.043128 -v -1.531817 1.143051 -0.043128 -v -1.531817 1.143051 0.043128 -v 1.225298 1.143051 0.043128 -v 1.313063 0.996053 0.070837 -v 1.498769 0.996053 0.070837 -v 1.313063 1.160981 -0.058974 -v 1.313063 0.996053 -0.070837 -v 1.225298 1.084802 -0.070837 -v 1.269521 1.219445 0.031927 -v 1.498769 0.996053 -0.070837 -v 1.498769 1.160981 -0.058974 -v 1.312826 1.230366 -0.031927 -v 1.498532 1.230366 -0.031927 -v 1.575087 0.954078 -0.070837 -v 1.575087 1.119006 -0.070837 -v 1.575087 1.119006 0.070837 -v 1.575087 0.954078 0.070837 -v 1.269521 1.219445 -0.031927 -v 1.554546 1.188392 0.031927 -v 1.554546 1.188392 -0.031927 -v -0.514597 1.084445 0.070837 -v -0.234129 1.084445 0.070837 -v 0.083877 1.084445 0.070837 -v 0.364860 1.084445 0.070837 -v 0.682044 1.084445 0.070837 -v 0.964998 1.084754 -0.070837 -v 0.683980 1.084702 -0.070837 -v 0.366670 1.084643 -0.070837 -v 0.084942 1.084590 -0.070837 -v -0.230760 1.084532 -0.070837 -v -0.232953 1.052983 -0.070837 -v -0.232953 1.052983 0.070837 -v -0.514357 1.052983 0.070837 -v -0.197543 1.006668 0.070837 -v -0.197543 1.006668 -0.070837 -v -0.549767 1.006668 0.070837 -v 0.084425 1.052983 -0.070837 -v 0.365828 1.052983 -0.070837 -v 0.365828 1.052983 0.070837 -v 0.084425 1.052983 0.070837 -v 0.401239 1.006668 0.070837 -v 0.401239 1.006668 -0.070837 -v 0.049014 1.006668 -0.070837 -v 0.049014 1.006668 0.070837 -v 0.683207 1.052983 -0.070837 -v 0.964610 1.052983 -0.070837 -v 0.683207 1.052983 0.070837 -v 1.000021 1.006668 -0.070837 -v 0.647796 1.006668 -0.070837 -v 0.647796 1.006668 0.070837 -vt 0.375000 0.000000 -vt 0.499342 0.000000 -vt 0.499091 0.250000 -vt 0.375000 0.250000 -vt 0.499394 0.346680 -vt 0.462188 0.264617 -vt 0.393035 0.259826 -vt 0.375000 0.259826 -vt 0.625000 0.750000 -vt 0.625000 0.750000 -vt 0.625000 0.750000 -vt 0.625000 0.750000 -vt 0.375000 0.750000 -vt 0.499342 0.750000 -vt 0.499342 0.773224 -vt 0.462188 0.785272 -vt 0.393035 0.780481 -vt 0.375000 0.780481 -vt 0.182484 0.500000 -vt 0.215844 0.500000 -vt 0.215844 0.750000 -vt 0.182484 0.750000 -vt 0.263501 0.500000 -vt 0.296862 0.500000 -vt 0.296862 0.750000 -vt 0.263501 0.750000 -vt 0.344519 0.500000 -vt 0.375000 0.500000 -vt 0.344519 0.750000 -vt 0.125000 0.750000 -vt 0.125000 0.500000 -vt 0.134826 0.500000 -vt 0.134826 0.750000 -vt 0.625000 0.500000 -vt 0.875000 0.500000 -vt 0.875000 0.750000 -vt 0.625000 0.750000 -vt 0.375000 0.750000 -vt 0.375000 0.750000 -vt 0.625000 0.500000 -vt 0.375000 0.500000 -vt 0.499875 0.500000 -vt 0.625000 0.750000 -vt 0.375000 0.500000 -vt 0.625000 0.500000 -vt 0.625000 0.500000 -vt 0.625000 0.500000 -vt 0.375000 0.500000 -vt 0.625000 0.500000 -vt 0.625000 0.750000 -vt 0.375000 0.750000 -vt 0.625000 0.500000 -vt 0.625000 0.750000 -vt 0.625000 0.500000 -vt 0.499342 1.000000 -vt 0.499342 0.903604 -vt 0.499342 0.878843 -vt 0.499342 0.850769 -vt 0.499342 0.825962 -vt 0.499342 0.797960 -vt 0.625000 1.000000 -vt 0.625000 0.000000 -vt 0.625000 0.250000 -vt 0.499803 0.477020 -vt 0.499725 0.452211 -vt 0.499637 0.424197 -vt 0.499559 0.399325 -vt 0.499472 0.371454 -vt 0.849867 0.594807 -vt 0.650133 0.594807 -vt 0.650133 0.655193 -vt 0.849867 0.655193 -vt 0.549693 0.655193 -vt 0.599866 0.655193 -vt 0.599866 0.594807 -vt 0.549693 0.594807 -vt 0.549693 0.155193 -vt 0.599866 0.155193 -vt 0.599866 0.094807 -vt 0.549693 0.094807 -vt 0.875000 0.594807 -vt 0.875000 0.655193 -vt 0.849867 0.594807 -vt 0.650133 0.594807 -vt 0.650133 0.655193 -vt 0.849867 0.655193 -vt 0.549693 0.655193 -vt 0.599866 0.655193 -vt 0.599866 0.594807 -vt 0.549693 0.594807 -vt 0.549693 0.155193 -vt 0.599866 0.155193 -vt 0.599866 0.094807 -vt 0.549693 0.094807 -vt 0.875000 0.594807 -vt 0.875000 0.655193 -vt 0.849867 0.594807 -vt 0.650133 0.594807 -vt 0.650133 0.655193 -vt 0.849867 0.655193 -vt 0.599866 0.655193 -vt 0.599866 0.594807 -vt 0.549693 0.594807 -vt 0.549693 0.655193 -vt 0.549693 0.155193 -vt 0.599866 0.155193 -vt 0.599866 0.094807 -vt 0.549693 0.094807 -vt 0.875000 0.655193 -vt 0.875000 0.594807 -vt 0.462188 0.866290 -vt 0.462188 0.904365 -vt 0.462188 0.823347 -vt 0.393035 0.861499 -vt 0.375000 0.861499 -vt 0.375000 0.828138 -vt 0.393035 0.828138 -vt 0.462188 0.947308 -vt 0.393035 0.942516 -vt 0.375000 0.942516 -vt 0.375000 0.909156 -vt 0.393035 0.909156 -vt 0.462188 0.985383 -vt 0.375000 1.000000 -vt 0.375000 0.990174 -vt 0.393035 0.990174 -vt 0.462188 0.464728 -vt 0.375000 0.469519 -vt 0.393035 0.469519 -vt 0.462188 0.426653 -vt 0.462188 0.383710 -vt 0.393035 0.421861 -vt 0.375000 0.421862 -vt 0.375000 0.388501 -vt 0.393035 0.388501 -vt 0.462188 0.345635 -vt 0.462188 0.302692 -vt 0.393035 0.340844 -vt 0.375000 0.340844 -vt 0.375000 0.307483 -vt 0.393035 0.307484 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.3632 0.9317 -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.0717 0.9974 -vn -0.0132 0.1253 -0.9920 -vn -0.0136 0.1253 0.9920 -vn 0.0167 -0.9999 0.0000 -vn -0.1793 0.2999 0.9370 -vn 0.0000 0.3632 -0.9317 -vn 0.0000 0.0717 -0.9974 -vn 1.0000 -0.0000 0.0000 -vn -0.0578 0.0359 -0.9977 -vn -0.0578 0.0359 0.9977 -vn -0.4819 -0.8762 0.0000 -vn -0.2445 0.9696 0.0000 -vn 0.5997 0.8003 0.0000 -vn 0.2041 0.4450 0.8720 -vn 0.9589 0.2839 0.0000 -vn -0.8655 0.5010 0.0000 -vn -0.1793 0.2999 -0.9370 -vn 0.2041 0.4450 -0.8720 -vn 0.0000 0.4274 0.9040 -vn -0.6179 0.7862 -0.0006 -vn -0.0000 0.4280 -0.9038 -vn 0.7944 -0.6074 0.0000 -vn -0.7944 -0.6074 0.0000 -s 1 -f 1061/1861/581 1062/1862/581 1063/1863/581 1064/1864/581 -f 1064/1864/582 1063/1863/582 1065/1865/582 1066/1866/582 1067/1867/582 1068/1868/582 -f 1069/1869/583 1070/1870/583 1071/1871/583 1072/1872/583 -f 1073/1873/584 1074/1874/584 1075/1875/584 1076/1876/584 1077/1877/584 1078/1878/584 -f 1079/1879/585 1080/1880/585 1081/1881/585 1082/1882/585 -f 1083/1883/585 1084/1884/585 1085/1885/585 1086/1886/585 -f 1087/1887/585 1088/1888/585 1073/1873/585 1078/1889/585 -f 1061/1890/585 1064/1891/585 1068/1892/585 1089/1893/585 -f 1090/1894/586 1091/1895/586 1092/1896/586 1093/1897/586 -f 1069/1869/587 1094/1898/587 1095/1899/587 1070/1870/587 -f 1096/1900/588 1097/1901/588 1088/1888/588 1098/1902/588 1090/1894/588 -f 1074/1874/589 1073/1873/589 1094/1898/589 1069/1869/589 1093/1897/589 -f 1073/1873/590 1088/1888/590 1097/1901/590 1094/1898/590 -f 1093/1897/591 1069/1869/591 1072/1872/591 1099/1903/591 -f 1094/1898/585 1097/1901/585 1100/1904/585 1095/1899/585 -f 1101/1905/592 1096/1900/592 1102/1906/592 1103/1907/592 -f 1097/1901/593 1096/1900/593 1101/1905/593 1100/1904/593 -f 1104/1908/594 1105/1909/594 1106/1910/594 1107/1911/594 -f 1100/1904/595 1101/1905/595 1105/1909/595 1104/1908/595 -f 1070/1870/596 1095/1899/596 1107/1911/596 1106/1910/596 -f 1095/1899/597 1100/1904/597 1104/1908/597 1107/1911/597 -f 1108/1912/598 1099/1903/598 1072/1872/598 1102/1906/598 -f 1103/1907/599 1071/1871/599 1109/1913/599 1110/1914/599 -f 1102/1906/586 1072/1872/586 1071/1871/586 1103/1907/586 -f 1070/1870/600 1106/1910/600 1109/1913/600 1071/1871/600 -f 1106/1910/601 1105/1909/601 1110/1914/601 1109/1913/601 -f 1090/1894/602 1093/1897/602 1099/1903/602 1108/1912/602 -f 1096/1900/603 1090/1894/603 1108/1912/603 1102/1906/603 -f 1105/1909/604 1101/1905/604 1103/1907/604 1110/1914/604 -f 1062/1915/605 1111/1916/605 1112/1917/605 1113/1918/605 1114/1919/605 1115/1920/605 1075/1875/605 1074/1874/605 1093/1897/605 1092/1921/605 -f 1063/1863/606 1062/1862/606 1092/1922/606 1091/1923/606 -f 1098/1902/607 1116/1924/607 1117/1925/607 1118/1926/607 1119/1927/607 1120/1928/607 1065/1865/607 1063/1863/607 1091/1923/607 1090/1894/607 -f 1066/1929/585 1121/1930/585 1122/1931/585 1123/1932/585 -f 1082/1933/581 1124/1934/581 1125/1935/581 1079/1936/581 -f 1068/1937/594 1067/1938/594 1126/1939/594 1089/1940/594 -f 1067/1941/608 1066/1929/608 1123/1932/608 1126/1942/608 -f 1122/1931/609 1121/1930/609 1125/1935/609 1124/1934/609 -f 1127/1943/585 1128/1944/585 1129/1945/585 1130/1946/585 -f 1086/1947/581 1131/1948/581 1132/1949/581 1083/1950/581 -f 1080/1951/594 1133/1952/594 1134/1953/594 1081/1954/594 -f 1133/1955/608 1127/1943/608 1130/1946/608 1134/1956/608 -f 1132/1949/609 1131/1948/609 1129/1945/609 1128/1944/609 -f 1135/1957/585 1136/1958/585 1076/1959/585 1137/1960/585 -f 1077/1961/581 1138/1962/581 1087/1963/581 1078/1964/581 -f 1084/1965/594 1139/1966/594 1140/1967/594 1085/1968/594 -f 1140/1969/608 1139/1970/608 1135/1957/608 1137/1960/608 -f 1076/1959/609 1136/1958/609 1138/1962/609 1077/1961/609 -f 1129/1971/584 1114/1919/584 1113/1918/584 1130/1972/584 -f 1137/1973/584 1115/1920/584 1114/1919/584 1129/1971/584 1131/1974/584 1086/1975/584 1085/1976/584 1140/1977/584 -f 1076/1876/584 1075/1875/584 1115/1920/584 1137/1973/584 -f 1130/1972/584 1113/1918/584 1112/1917/584 1122/1978/584 1124/1979/584 1082/1980/584 1081/1981/584 1134/1982/584 -f 1122/1978/584 1112/1917/584 1111/1916/584 1123/1983/584 -f 1123/1983/584 1111/1916/584 1062/1915/584 1061/1984/584 1089/1985/584 1126/1986/584 -f 1136/1987/582 1116/1924/582 1098/1902/582 1088/1888/582 1087/1988/582 1138/1989/582 -f 1135/1990/582 1117/1925/582 1116/1924/582 1136/1987/582 -f 1128/1991/582 1118/1926/582 1117/1925/582 1135/1990/582 1139/1992/582 1084/1993/582 1083/1994/582 1132/1995/582 -f 1127/1996/582 1119/1927/582 1118/1926/582 1128/1991/582 -f 1121/1997/582 1120/1928/582 1119/1927/582 1127/1996/582 1133/1998/582 1080/1999/582 1079/2000/582 1125/2001/582 -f 1066/1866/582 1065/1865/582 1120/1928/582 1121/1997/582 o CanonBody_Cylinder.002 v 1.103664 0.525584 2.500000 v 1.292985 0.525584 2.500000 @@ -4820,51 +38,48 @@ v 1.669294 0.241390 2.715806 v 1.669294 0.809777 2.715806 v 1.669294 0.927494 3.000000 v 1.669294 0.241390 3.284194 -v -0.603601 0.525584 2.500000 -v 1.044523 0.525584 2.500000 -v 1.044523 0.172030 2.646447 -v -0.603601 0.172030 2.646447 v -0.603601 0.025584 3.000000 v 1.044523 0.025584 3.000000 v 1.044523 0.172030 3.353553 v -0.603601 0.172030 3.353553 v 0.951045 0.197436 3.364077 v -0.460212 0.197436 3.364077 -v 1.044523 0.879137 3.353553 -v 0.899442 0.953734 3.173461 -v 0.899442 0.879137 3.353553 +v -0.476991 0.953734 3.173461 +v -0.388078 0.997935 3.101577 +v -0.603601 1.025584 3.000000 v 1.044523 0.525584 3.500000 v 1.068921 0.199748 3.325836 v 1.068921 0.525584 3.460801 -v 1.044523 0.879137 2.646447 -v 0.899442 0.735289 2.586863 -v 0.899442 0.879137 2.646447 +v 0.810528 0.655494 2.553811 +v 1.044523 0.525584 2.500000 +v -0.603601 0.525584 2.500000 +v -0.388078 0.655494 2.553811 v 1.068921 0.986385 3.000000 v 1.068921 0.851420 2.674164 +v 1.044523 0.879137 2.646447 v 1.044523 1.025584 3.000000 -v 0.985768 0.843292 3.316901 -v 0.899442 0.843292 3.316901 -v 0.899442 0.918248 3.161081 +v 0.969099 0.952228 2.898423 +v 0.899442 0.918248 2.838919 +v 0.985768 0.843292 2.683099 v 1.068921 0.525584 2.539199 +v 1.044523 0.172030 2.646447 v 1.068921 0.199748 2.674164 v 1.068921 0.851420 3.325836 -v 1.080568 0.851567 2.674017 +v 1.044523 0.879137 3.353553 +v 1.103664 0.172030 3.353553 +v 1.080568 0.199600 3.325983 v 1.080568 0.525584 2.538990 v 1.080568 0.199600 2.674017 +v 1.080568 0.851567 2.674017 v 1.080568 0.064574 3.000000 -v 1.080568 0.199600 3.325983 -v 1.080568 0.986594 3.000000 -v 1.103664 0.172030 3.353553 v 1.068921 0.064782 3.000000 -v -0.603601 1.025584 3.000000 -v 0.810528 0.997935 2.898423 -v -0.388078 0.997935 2.898423 -v 0.810528 0.952228 3.101577 -v 0.969099 0.952228 3.101577 +v 0.899442 0.735289 2.586863 +v 0.810528 0.655494 3.378684 v 0.899442 0.719760 3.368080 -v 0.810528 0.997935 3.101577 -v -0.388078 0.997935 3.101577 -v 0.810528 0.655494 2.553811 +v 0.984259 0.528318 3.436781 +v 0.899442 0.843292 3.316901 +v 0.985768 0.843292 3.316901 +v 0.899442 0.879137 2.646447 v 1.286814 1.063161 3.000000 v 1.320923 0.951339 3.425755 v 1.320923 1.127692 3.000000 @@ -4924,17 +139,16 @@ v 1.432520 0.405810 3.119773 v 1.432520 0.525584 3.169385 v 1.657500 0.273303 3.000000 v 1.432520 0.356199 3.000000 -v 1.651829 0.431184 3.000000 -v 1.651829 0.356199 3.000000 v 1.651829 0.405810 2.880227 -v 1.651829 0.525394 2.905789 -v 1.651829 0.458777 2.933383 v 1.651829 0.405810 3.119773 v 1.651829 0.525584 3.169385 v 1.651829 0.645357 3.119773 +v 1.651829 0.525394 2.905789 v 1.127542 0.525394 2.905789 v 1.127542 0.458777 2.933383 +v 1.651829 0.458777 2.933383 v 1.127542 0.431184 3.000000 +v 1.651829 0.431184 3.000000 v 1.127542 0.525394 3.094211 v 1.127542 0.592011 3.066617 v 1.651829 0.592011 3.066617 @@ -4948,148 +162,157 @@ v -0.476991 0.837264 2.708140 v -0.476991 0.714942 2.642628 v -0.476991 0.735289 2.586863 v -0.476991 0.879137 2.646447 -v -0.476991 0.879137 3.353553 -v -0.476991 0.953734 3.173461 -v -0.603601 0.879137 3.353553 +v -0.388078 0.997935 2.898423 +v 0.810528 0.997935 2.898423 +v 0.899442 0.879137 3.353553 v 0.899442 0.735289 3.413137 +v -0.603601 0.879137 3.353553 +v -0.724548 0.869896 3.337075 +v -0.724548 0.532825 3.476694 +v -0.603601 0.525584 3.500000 v -0.603601 0.879137 2.646447 v -0.724548 0.869896 2.662932 +v -0.724548 1.009515 3.000004 v -0.476991 0.953734 2.826539 +v 1.651829 0.356199 3.000000 +v 1.651829 0.458777 3.066617 v -0.476991 0.735289 3.413137 v -0.388078 0.655494 3.446189 -v -0.388078 0.655494 2.553811 -v 0.810528 0.655494 3.446189 -v -0.603601 0.525584 3.500000 -v 1.651829 0.458777 3.066617 v -0.388078 0.633076 3.392654 v -0.476991 0.714942 3.357372 v -0.476991 0.837264 3.291860 +v -0.476991 0.879137 3.353553 v -0.388078 0.944133 3.101577 +v 0.810528 0.952228 3.101577 +v 0.810528 0.997935 3.101577 v -0.388078 0.944133 2.898423 v 0.810528 0.952228 2.898423 v 1.657500 0.212644 3.000000 v 1.651829 0.694968 3.000000 v -0.476991 0.926475 3.173461 v 0.899442 0.843292 2.683099 -v 0.899442 0.918248 2.838919 v 0.899442 0.953734 2.826539 +v 1.080568 0.986594 3.000000 v 0.899442 0.719760 2.631920 v 0.810528 0.655494 2.621316 -v 0.810528 0.655494 3.378684 +v 0.899442 0.918248 3.161081 +v 0.899442 0.953734 3.173461 +v 0.810528 0.655494 3.446189 v -0.388078 0.633076 2.607346 v 1.669294 0.123673 3.000000 v 1.669294 0.165715 3.000000 -v 0.985768 0.843292 2.683099 -v 0.969099 0.952228 2.898423 +v 0.810528 0.526819 3.419828 +v 0.984259 0.528318 2.563219 v 1.475712 -0.061125 3.000000 v 1.423236 0.225256 3.000000 -v 0.984259 0.528318 2.563219 +v 0.810528 0.526819 2.580172 +v 0.969099 0.952228 3.101577 v 0.984259 0.228435 2.674968 v 0.984259 0.095638 3.005025 v 0.984259 0.228435 3.325032 -v 0.984259 0.528318 3.436781 v 1.103664 0.025584 3.000000 v -0.534084 0.903408 3.173461 v -0.534084 0.903408 2.826539 v -0.476991 0.926475 2.826539 v -0.548068 0.837264 3.291860 v -0.548068 0.837264 2.708140 -v 1.292985 0.025584 3.000000 +v -0.550334 0.529772 2.566407 v -0.550334 0.529772 3.433593 +v 1.292985 0.025584 3.000000 v -0.550334 0.236472 3.339820 v -0.550334 0.062663 3.005342 v -0.550334 0.236472 2.660180 -v -0.550334 0.529772 2.566407 v -0.388078 0.540720 3.422003 v -0.388078 0.540720 2.577997 -v 0.810528 0.526819 2.580172 -v 0.810528 0.526819 3.419828 v -0.388078 0.088709 3.007100 v -0.388078 0.229035 2.676650 v -0.388078 0.229035 3.323350 v 0.810528 0.240010 2.699891 v 0.810528 0.100279 3.006216 v 0.810528 0.240010 3.300109 -v -0.460212 0.500178 3.489476 +v 0.678557 0.155552 2.534805 +v 0.674639 0.187997 2.501820 +v 0.674369 0.138402 2.298282 v 0.678212 0.092276 2.275122 -v 0.648869 0.138277 2.298296 v 0.951045 0.500178 3.489476 -v 0.646934 0.318302 2.224795 -v 0.641987 0.458293 2.409405 +v -0.460212 0.500178 3.489476 +v 0.674042 0.500178 2.510524 +v 0.671101 0.458113 2.482789 +v 0.645644 0.458113 2.482789 +v 0.641563 0.500178 2.510524 +v 0.674638 0.458293 2.409405 v 0.671568 0.425284 2.403533 -v 0.673140 0.318430 2.224781 -v 0.003785 0.107850 2.287122 -v 0.003776 0.311542 2.203961 -v 0.286340 0.110829 2.286325 -v 0.335441 0.111139 2.286292 -v 0.137117 0.111516 2.285824 -v 0.181234 0.111785 2.285795 +v 0.641987 0.458293 2.409405 +v 0.645976 0.425284 2.403533 +v 0.646934 0.318302 2.224795 v 0.643209 0.321800 2.181364 -v 0.285150 0.311362 2.204452 -v 0.335438 0.311680 2.204418 +v 0.649846 0.155552 2.534805 +v 0.652136 0.187997 2.501820 +v 0.645678 0.092117 2.275140 +v 0.648869 0.138277 2.298296 +v 0.673140 0.318430 2.224781 +v 0.949896 0.093608 2.274977 +v 0.951045 0.155552 2.534805 +v 0.676644 0.321964 2.181346 +v 0.948697 0.323297 2.181201 +v -0.460212 0.458293 2.409405 +v -0.460212 0.500178 2.510524 v 0.346589 0.320346 2.181522 v 0.273733 0.319982 2.181562 -v 0.137105 0.309206 2.205114 -v 0.180025 0.309468 2.205085 v 0.188876 0.319558 2.181608 v 0.127999 0.319254 2.181641 v 0.051715 0.318872 2.181683 -v 0.044163 0.311789 2.203934 -v 0.045414 0.108104 2.287094 -v 0.949896 0.093608 2.274977 -v 0.645678 0.092117 2.275140 -v 0.346592 0.090651 2.275299 -v 0.275455 0.090295 2.275338 -v 0.190590 0.089871 2.275384 -v 0.128016 0.089558 2.275418 -v 0.053442 0.089185 2.275459 -v -0.004002 0.088898 2.275490 v -0.004015 0.318594 2.181713 v -0.060217 0.318313 2.181744 +v 0.003776 0.311542 2.203961 +v 0.003785 0.107850 2.287122 +v -0.004002 0.088898 2.275490 +v 0.044163 0.311789 2.203934 +v 0.045414 0.108104 2.287094 +v 0.053442 0.089185 2.275459 +v 0.275455 0.090295 2.275338 +v 0.286340 0.110829 2.286325 +v 0.335441 0.111139 2.286292 +v 0.346592 0.090651 2.275299 +v 0.335438 0.311680 2.204418 +v 0.285150 0.311362 2.204452 +v 0.128016 0.089558 2.275418 +v 0.137117 0.111516 2.285824 +v 0.181234 0.111785 2.285795 +v 0.190590 0.089871 2.275384 +v 0.180025 0.309468 2.205085 +v 0.137105 0.309206 2.205114 v -0.059018 0.088623 2.275520 -v 0.678557 0.155552 2.534805 -v 0.649846 0.155552 2.534805 -v 0.951045 0.155552 2.534805 -v 0.674638 0.458293 2.409405 -v 0.676644 0.321964 2.181346 -v 0.948697 0.323297 2.181201 -v 0.951045 0.458293 2.409405 -v 0.641563 0.500178 2.510524 -v 0.674042 0.500178 2.510524 -v 0.951045 0.500178 2.510524 v -0.460212 0.155552 2.534805 -v -0.460212 0.458293 2.409405 -v -0.460212 0.500178 2.510524 -v 0.951045 0.197436 2.635923 +v 0.951045 0.500178 2.510524 +v 0.951045 0.458293 2.409405 v -0.460212 0.197436 2.635923 v 1.292985 0.172030 3.353553 v 1.103664 0.879137 2.646447 +v -0.603601 0.172030 2.646447 v -0.460212 0.197436 2.635923 v 0.951045 0.197436 2.635923 v 1.286814 0.145459 3.380125 v 1.320923 0.099829 3.425755 -v -0.460212 0.500178 2.510524 v 0.951045 0.500178 2.510524 +v -0.460212 0.500178 2.510524 +v 0.951045 0.197436 2.635923 v -0.724548 0.532825 2.523313 v -0.724548 0.195753 2.662932 v -0.724548 0.056134 3.000004 v -0.724548 0.195753 3.337075 -v -0.724548 0.532825 3.476694 -v -0.724548 0.869896 3.337075 -v -0.724548 1.009515 3.000004 +v 0.951045 0.155552 3.465195 v 0.951045 0.197436 3.364077 -v -0.460212 0.197436 3.364077 -v -0.460212 0.500178 3.489476 -v -0.460212 0.155552 3.465195 -v -0.460212 0.458293 3.590595 -v 0.641563 0.500178 3.489476 -v 0.674042 0.500178 3.489476 v 0.951045 0.500178 3.489476 v 0.951045 0.458293 3.590595 +v -0.460212 0.500178 3.489476 +v -0.460212 0.197436 3.364077 +v -0.460212 0.155552 3.465195 +v -0.460212 0.458293 3.590595 v 0.674638 0.458293 3.590595 v 0.676644 0.321964 3.818654 v 0.948697 0.323297 3.818799 -v 0.951045 0.155552 3.465195 +v 0.674042 0.500178 3.489476 v 0.678557 0.155552 3.465195 v 0.649846 0.155552 3.465195 v -0.059018 0.088623 3.724480 @@ -5102,7 +325,6 @@ v 0.275455 0.090295 3.724662 v 0.190590 0.089871 3.724616 v 0.128016 0.089558 3.724582 v 0.053442 0.089185 3.724541 -v 0.949896 0.093608 3.725023 v 0.051715 0.318872 3.818317 v 0.044163 0.311789 3.796066 v 0.045414 0.108104 3.712906 @@ -5124,21 +346,17 @@ v 0.003785 0.107850 3.712878 v 0.671568 0.425284 3.596467 v 0.673140 0.318430 3.775219 v 0.641987 0.458293 3.590595 +v 0.641563 0.500178 3.489476 v 0.648869 0.138277 3.701704 v 0.646934 0.318302 3.775205 v 0.678212 0.092276 3.724878 v 0.674369 0.138402 3.701718 +v 0.949896 0.093608 3.725023 v 0.645976 0.425284 3.596467 v 0.645644 0.458113 3.517211 v 0.671101 0.458113 3.517211 v 0.652136 0.187997 3.498180 v 0.674639 0.187997 3.498180 -v 0.674369 0.138402 2.298282 -v 0.645644 0.458113 2.482789 -v 0.645976 0.425284 2.403533 -v 0.671101 0.458113 2.482789 -v 0.674639 0.187997 2.501820 -v 0.652136 0.187997 2.501820 vt 0.444444 0.967260 vt 0.444444 0.999701 vt 0.378868 0.999701 @@ -5844,7 +1062,6 @@ vn -0.0165 0.3826 -0.9238 vn -0.0165 0.3826 0.9238 vn -0.0165 -0.9238 -0.3826 vn 0.1008 -0.2962 -0.9498 -vn 0.0000 -0.3828 -0.9239 vn -0.8680 0.4588 0.1900 vn -0.8680 -0.1900 -0.4588 vn 0.8623 0.1938 -0.4678 @@ -5910,7 +1127,7 @@ vn 0.0951 -0.3032 0.9482 vn 0.0000 -1.0000 0.0000 vn 0.9838 0.1658 0.0687 vn 0.4296 -0.8343 -0.3456 -vn -0.0165 -0.3826 0.9238 +vn -0.0166 -0.3826 0.9238 vn -0.0165 -0.9238 0.3826 vn 0.8623 -0.4678 -0.1938 vn 0.2182 0.3735 -0.9016 @@ -5962,9 +1179,10 @@ vn 0.0000 -0.7129 -0.7012 vn 0.9976 -0.0694 0.0010 vn 0.0026 -0.9715 0.2370 vn -0.0023 0.8582 -0.5133 -vn 0.0014 -0.3780 -0.9258 +vn 0.0013 -0.3780 -0.9258 vn 0.9905 0.1284 -0.0490 vn 0.0024 -0.9722 0.2343 +vn 0.0014 -0.3780 -0.9258 vn -0.9957 -0.0410 -0.0837 vn 0.9959 -0.0250 -0.0874 vn -0.0018 0.8543 -0.5198 @@ -5973,7 +1191,7 @@ vn 0.9172 -0.1505 -0.3689 vn 0.0050 -0.9531 -0.3028 vn -0.0034 0.5235 -0.8520 vn 0.0017 -0.3780 -0.9258 -vn -0.0031 0.4723 -0.8815 +vn -0.0031 0.4723 -0.8814 vn -0.8491 -0.1997 -0.4891 vn 0.8493 -0.1946 -0.4907 vn 0.0018 -0.3780 -0.9258 @@ -6032,7 +1250,7 @@ vn -0.0029 0.4287 0.9035 vn 0.0018 -0.3780 0.9258 vn 0.8493 -0.1946 0.4907 vn -0.8491 -0.1997 0.4891 -vn -0.0031 0.4723 0.8815 +vn -0.0031 0.4723 0.8814 vn -0.0034 0.5235 0.8520 vn 0.0050 -0.9531 0.3028 vn 0.9172 -0.1505 0.3689 @@ -6042,12 +1260,13 @@ vn 0.9959 -0.0250 0.0874 vn -0.9957 -0.0410 0.0837 vn 0.0024 -0.9722 -0.2343 vn 0.9905 0.1284 0.0490 +vn 0.0013 -0.3780 0.9258 vn -0.0023 0.8582 0.5133 vn 0.0026 -0.9715 -0.2370 vn 0.9976 -0.0694 -0.0010 vn 0.0000 -0.7129 0.7012 vn 0.9884 0.1326 0.0741 -vn -0.9938 0.1009 0.0476 +vn -0.9938 0.1009 0.0477 vn 0.0000 0.5505 0.8349 vn -0.9952 -0.0952 -0.0245 vn 1.0000 -0.0006 0.0069 @@ -6056,341 +1275,5222 @@ vn 0.0000 -0.8684 -0.4959 vn -0.0476 -0.3025 0.9520 vn 0.0000 -0.4721 -0.8815 s off -f 1141/2002/610 1142/2003/610 1143/2004/610 1144/2005/610 -f 1145/2006/611 1146/2007/611 1147/2008/611 1148/2009/611 -f 1148/2009/612 1147/2008/612 1149/2010/612 1150/2011/612 -f 1151/2012/613 1152/2013/613 1153/2014/613 1154/2015/613 -f 1145/2006/614 1148/2009/614 1155/2016/614 1156/2017/614 -f 1142/2018/615 1157/2019/615 1158/2020/615 1159/2021/615 -f 1147/2022/616 1146/2023/616 1160/2024/616 1161/2025/616 -f 1162/2026/617 1163/2027/617 1164/2028/617 1165/2029/617 -f 1166/2030/618 1151/2031/618 1154/2032/618 1167/2033/618 -f 1166/2034/619 1168/2035/619 1169/2036/619 1170/2037/619 -f 1171/2038/620 1172/2039/620 1173/2040/620 1174/2041/620 -f 1172/2042/621 1152/2043/621 1175/2044/621 1173/2045/621 -f 1151/2031/622 1166/2030/622 1170/2046/622 1176/2047/622 -f 1168/2048/623 1163/2049/623 1177/2050/623 1169/2051/623 -f 1182/2052/624 1183/2053/624 1184/2054/624 1185/2055/624 -f 1185/2055/625 1184/2054/625 1186/2056/625 1187/2057/625 -f 1307/2058/626 1221/2059/626 1214/2060/626 -f 1191/2061/627 1184/2062/627 1192/2063/627 1193/2064/627 -f 1222/2065/628 1179/2066/628 1178/2067/628 1315/2068/628 -f 1197/2069/629 1198/2070/629 1194/2071/629 1199/2072/629 -f 1338/2073/630 1329/2074/630 1337/2075/630 -f 1198/2076/631 1203/2077/631 1179/2078/631 1194/2071/631 -f 1180/2079/632 1179/2078/632 1203/2080/632 1204/2081/632 -f 1205/2082/633 1197/2083/633 1199/2072/633 1188/2084/633 -f 1212/2085/634 1145/2006/634 1156/2086/634 1210/2087/634 -f 1207/2088/635 1208/2089/635 1204/2081/635 1203/2080/635 -f 1207/2090/636 1203/2077/636 1198/2076/636 1206/2091/636 -f 1155/2016/637 1205/2092/637 1193/2093/637 1156/2017/637 -f 1209/2094/638 1213/2095/638 1204/2096/638 1208/2097/638 -f 1195/2098/628 1179/2066/628 1222/2065/628 -f 1333/2099/639 1219/2100/639 1345/2101/639 -f 1219/2100/640 1201/2102/640 1200/2103/640 -f 1194/2104/628 1179/2066/628 1195/2098/628 1196/2105/628 -f 1223/2106/641 1161/2107/641 1224/2108/641 1225/2109/641 -f 1226/2110/642 1159/2111/642 1227/2112/642 1228/2113/642 -f 1153/2114/643 1229/2115/643 1230/2116/643 1231/2117/643 -f 1232/2118/644 1226/2119/644 1228/2113/644 1233/2120/644 -f 1234/2121/645 1167/2122/645 1235/2123/645 1236/2124/645 -f 1172/2039/646 1171/2038/646 1237/2125/646 1229/2126/646 -f 1149/2127/647 1147/2128/647 1161/2107/647 1223/2106/647 -f 1168/2035/648 1166/2034/648 1167/2122/648 1234/2121/648 -f 1152/2043/649 1172/2042/649 1229/2115/649 1153/2114/649 -f 1163/2049/650 1168/2048/650 1234/2129/650 1164/2130/650 -f 1143/2131/651 1142/2132/651 1159/2111/651 1226/2110/651 -f 1224/2108/652 1238/2133/652 1236/2124/652 1235/2123/652 -f 1227/2112/653 1239/2134/653 1231/2117/653 1230/2116/653 -f 1228/2113/654 1227/2112/654 1230/2116/654 1240/2135/654 -f 1159/2021/655 1158/2020/655 1239/2134/655 1227/2112/655 -f 1161/2025/656 1160/2024/656 1238/2133/656 1224/2108/656 -f 1154/2015/657 1153/2014/657 1231/2117/657 1241/2136/657 -f 1164/2130/658 1234/2129/658 1236/2124/658 1242/2137/658 -f 1229/2126/659 1237/2125/659 1240/2135/659 1230/2116/659 -f 1243/2138/660 1244/2139/660 1245/2140/660 1246/2141/660 -f 1173/2045/661 1175/2044/661 1247/2142/661 1244/2143/661 -f 1174/2041/661 1173/2040/661 1244/2139/661 1243/2138/661 -f 1175/2144/661 1176/2145/661 1248/2146/661 1247/2147/661 -f 1170/2037/661 1169/2036/661 1249/2148/661 1250/2149/661 -f 1169/2051/661 1177/2050/661 1251/2150/661 1249/2151/661 -f 1252/2152/662 1253/2153/662 1254/2154/662 1255/2155/662 -f 1250/2149/663 1249/2148/663 1256/2156/663 1257/2157/663 -f 1247/2147/664 1248/2146/664 1253/2153/664 1252/2152/664 -f 1248/2158/665 1250/2159/665 1257/2160/665 1253/2161/665 -f 1244/2143/666 1247/2142/666 1252/2162/666 1245/2163/666 -f 1258/2164/661 1259/2165/661 1260/2166/661 1261/2167/661 -f 1253/2161/667 1257/2160/667 1258/2168/667 1254/2169/667 -f 1245/2163/668 1252/2162/668 1255/2170/668 1262/2171/668 -f 1246/2141/669 1245/2140/669 1262/2172/669 1263/2173/669 -f 1256/2174/670 1264/2175/670 1265/2176/670 1259/2177/670 -f 1257/2157/671 1256/2156/671 1259/2165/671 1258/2164/671 -f 1262/2171/661 1255/2170/661 1266/2178/661 1267/2179/661 -f 1263/2173/661 1262/2172/661 1267/2180/661 1268/2181/661 -f 1259/2177/661 1265/2176/661 1269/2182/661 1260/2183/661 -f 1270/2184/628 1271/2185/628 1272/2186/628 1273/2187/628 -f 1274/2188/672 1261/2189/672 1275/2190/672 1276/2191/672 -f 1268/2181/673 1267/2180/673 1270/2192/673 1277/2193/673 -f 1260/2183/674 1269/2182/674 1278/2194/674 1279/2195/674 -f 1269/2196/675 1280/2197/675 1281/2198/675 1278/2199/675 -f 1261/2167/676 1260/2166/676 1279/2200/676 1275/2201/676 -f 1277/2193/610 1270/2192/610 1273/2202/610 1284/2203/610 -f 1279/2195/625 1278/2194/625 1287/2204/625 1288/2205/625 -f 1275/2201/611 1279/2200/611 1288/2206/611 1289/2207/611 -f 1285/2208/611 1290/2209/611 1291/2210/611 1286/2211/611 -f 1291/2210/612 1292/2212/612 1282/2213/612 1286/2211/612 -f 1293/2214/610 1294/2215/610 1295/2216/610 1296/2217/610 -f 1297/2218/624 1298/2219/624 1299/2220/624 1300/2221/624 -f 1300/2221/625 1299/2220/625 1290/2209/625 1285/2208/625 -f 1292/2222/661 1291/2223/661 1290/2224/661 1299/2225/661 1298/2226/661 1294/2227/661 1293/2228/661 1301/2229/661 -f 1302/2230/661 1303/2231/661 1304/2232/661 1305/2233/661 -f 1216/2234/677 1214/2060/677 1199/2235/677 1215/2236/677 -f 1191/2237/611 1188/2238/611 1190/2239/611 1309/2240/611 -f 1308/2241/678 1433/2242/678 1432/2243/678 1317/2244/678 -f 1205/2092/679 1188/2084/679 1191/2061/679 1193/2093/679 -f 1214/2060/680 1310/2245/680 1311/2246/680 1434/2247/680 -f 1315/2068/628 1178/2067/628 1304/2248/628 -f 1312/2249/681 1305/2250/681 1310/2245/681 1214/2060/681 -f 1286/2251/661 1282/2252/661 1283/2253/661 1284/2254/661 -f 1296/2217/628 1318/2255/628 1301/2256/628 1293/2214/628 -f 1313/2257/682 1314/2258/682 1319/2259/682 1320/2260/682 -f 1321/2261/661 1306/2262/661 1313/2257/661 1320/2260/661 -f 1221/2263/683 1322/2264/683 1217/2265/683 1220/2266/683 -f 1217/2267/684 1322/2268/684 1323/2269/684 1324/2270/684 -f 1325/2271/661 1280/2197/661 1269/2196/661 1265/2272/661 -f 1275/2190/612 1289/2273/612 1326/2274/612 1276/2191/612 -f 1221/2263/685 1307/2275/685 1327/2276/685 1322/2264/685 -f 1196/2277/686 1328/2278/686 1329/2279/686 1330/2280/686 -f 1206/2281/687 1198/2070/687 1197/2069/687 1211/2282/687 -f 1196/2283/686 1195/2284/686 1331/2285/686 1328/2286/686 -f 1158/2287/688 1223/2288/688 1225/2109/688 1239/2134/688 -f 1281/2289/689 1277/2290/689 1284/2254/689 1283/2253/689 -f 1222/2291/690 1332/2292/690 1331/2285/690 1195/2284/690 -f 1324/2293/691 1215/2294/691 1330/2280/691 1329/2279/691 -f 1202/2295/692 1189/2296/692 1220/2266/692 1217/2265/692 -f 1202/2295/686 1201/2297/686 1190/2298/686 1189/2296/686 -f 1219/2299/686 1309/2300/686 1190/2301/686 1201/2302/686 -f 1316/2303/693 1309/2300/693 1219/2299/693 1333/2304/693 -f 1319/2259/694 1314/2258/694 1316/2303/694 1333/2304/694 -f 1222/2291/695 1315/2305/695 1334/2306/695 1332/2292/695 -f 1335/2307/661 1336/2308/661 1251/2309/661 1177/2310/661 -f 1200/2103/696 1345/2101/696 1219/2100/696 -f 1361/2311/697 1333/2099/697 1345/2101/697 -f 1331/2312/698 1332/2313/698 1341/2314/698 -f 1228/2113/699 1240/2135/699 1339/2315/699 1233/2120/699 -f 1243/2316/700 1246/2317/700 1340/2318/700 1336/2319/700 -f 1266/2178/701 1271/2185/701 1270/2184/701 1267/2179/701 -f 1281/2198/624 1283/2320/624 1287/2321/624 1278/2199/624 -f 1360/2322/702 1341/2314/702 1332/2313/702 -f 1324/2270/703 1338/2073/703 1218/2323/703 1217/2267/703 -f 1162/2324/704 1165/2325/704 1237/2326/704 1171/2327/704 -f 1171/2327/705 1174/2328/705 1335/2329/705 1162/2324/705 -f 1156/2086/706 1193/2064/706 1192/2063/706 1210/2087/706 -f 1209/2330/707 1210/2331/707 1192/2332/707 1213/2333/707 -f 1165/2325/708 1339/2315/708 1240/2135/708 1237/2326/708 -f 1251/2150/709 1264/2175/709 1256/2174/709 1249/2151/709 -f 1255/2155/661 1254/2154/661 1274/2334/661 1266/2335/661 -f 1304/2232/710 1303/2231/710 1334/2306/710 1315/2305/710 -f 1341/2336/711 1342/2337/711 1343/2338/711 1344/2339/711 1345/2340/711 1200/2341/711 1218/2342/711 1338/2343/711 1337/2344/711 -f 1335/2329/661 1174/2328/661 1243/2316/661 1336/2319/661 -f 1239/2134/712 1225/2109/712 1241/2136/712 1231/2117/712 -f 1341/2314/713 1337/2075/713 1331/2312/713 -f 1212/2085/714 1210/2331/714 1209/2330/714 1346/2345/714 -f 1340/2346/715 1325/2271/715 1265/2272/715 1264/2347/715 -f 1258/2168/661 1261/2189/661 1274/2188/661 1254/2169/661 -f 1150/2011/716 1211/2348/716 1155/2349/716 1148/2009/716 -f 1347/2350/717 1348/2351/717 1349/2352/717 1327/2353/717 -f 1347/2350/718 1327/2353/718 1321/2354/718 1350/2355/718 -f 1302/2356/719 1351/2357/719 1303/2358/719 -f 1357/2359/720 1334/2360/720 1303/2358/720 -f 1349/2352/721 1348/2351/721 1351/2357/721 1302/2356/721 -f 1351/2357/722 1357/2359/722 1303/2358/722 -f 1353/2361/723 1350/2355/723 1320/2362/723 -f 1144/2005/689 1143/2004/689 1352/2363/689 1346/2364/689 -f 1352/2365/724 1143/2366/724 1226/2119/724 1232/2118/724 -f 1163/2027/725 1162/2026/725 1335/2307/725 1177/2310/725 -f 1224/2108/726 1235/2123/726 1241/2136/726 1225/2109/726 -f 1152/2013/727 1151/2012/727 1176/2145/727 1175/2144/727 -f 1165/2029/728 1164/2028/728 1242/2137/728 1339/2367/728 -f 1340/2318/729 1246/2317/729 1263/2368/729 1325/2369/729 -f 1325/2369/661 1263/2368/661 1268/2370/661 1280/2371/661 -f 1280/2371/730 1268/2370/730 1277/2290/730 1281/2289/730 -f 1180/2079/731 1204/2096/731 1213/2095/731 1183/2372/731 -f 1157/2373/732 1149/2374/732 1223/2288/732 1158/2287/732 -f 1318/2375/661 1287/2321/661 1283/2320/661 1282/2376/661 -f 1351/2377/733 1348/2378/733 1347/2379/733 1350/2380/733 1353/2381/733 1354/2382/733 1355/2383/733 1356/2384/733 1357/2385/733 -f 1319/2386/734 1358/2387/734 1353/2361/734 -f 1320/2362/735 1319/2386/735 1353/2361/735 -f 1200/2103/736 1201/2102/736 1202/2388/736 -f 1338/2073/737 1324/2270/737 1329/2074/737 -f 1332/2313/738 1334/2360/738 1359/2389/738 1360/2322/738 -f 1333/2099/739 1361/2311/739 1358/2387/739 1319/2386/739 -f 1355/2390/740 1362/2391/740 1363/2392/740 1356/2393/740 -f 1356/2393/741 1363/2392/741 1359/2389/741 1357/2359/741 -f 1354/2394/742 1353/2361/742 1358/2387/742 1364/2395/742 -f 1343/2396/743 1342/2397/743 1365/2398/743 1366/2399/743 -f 1343/2400/744 1366/2401/744 1367/2402/744 1344/2403/744 -f 1344/2403/745 1367/2402/745 1361/2311/745 1345/2101/745 -f 1361/2311/746 1367/2402/746 1364/2395/746 1358/2387/746 -f 1362/2404/747 1364/2395/747 1367/2402/747 1366/2401/747 -f 1362/2391/748 1366/2399/748 1365/2398/748 1363/2392/748 -f 1360/2322/749 1359/2389/749 1363/2392/749 1365/2398/749 -f 1405/2405/750 1495/2406/750 1491/2407/750 1369/2408/750 -f 1184/2054/625 1191/2237/625 1371/2409/625 1186/2056/625 -f 1317/2244/625 1185/2055/625 1187/2057/625 1368/2410/625 -f 1413/2411/751 1494/2412/751 1492/2413/751 1412/2414/751 -f 1408/2415/752 1374/2416/752 1494/2417/752 1413/2418/752 -f 1373/2419/753 1493/2420/753 1372/2421/753 1382/2422/753 -f 1406/2423/754 1496/2424/754 1495/2425/754 1405/2426/754 -f 1395/2427/755 1370/2428/755 1496/2429/755 1406/2430/755 -f 1370/2431/756 1491/2432/756 1495/2425/756 1496/2424/756 -f 1374/2433/681 1493/2434/681 1492/2413/681 1494/2412/681 -f 1375/2435/757 1372/2436/757 1493/2434/757 1374/2433/757 -f 1372/2436/758 1375/2435/758 1491/2432/758 1370/2431/758 -f 1412/2437/759 1492/2438/759 1493/2439/759 1373/2419/759 -f 1369/2408/760 1394/2440/760 1407/2441/760 1405/2405/760 -f 1409/2442/758 1410/2443/758 1394/2440/758 1369/2408/758 -f 1369/2408/761 1491/2444/761 1375/2445/761 1409/2442/761 -f 1382/2422/762 1372/2446/762 1370/2447/762 1395/2427/762 -f 1373/2419/681 1416/2448/681 1417/2449/681 1412/2437/681 -f 1382/2422/763 1385/2450/763 1386/2451/763 1389/2452/763 1390/2453/763 1391/2454/763 1402/2455/763 1403/2456/763 1416/2448/763 1373/2419/763 -f 1409/2442/764 1375/2457/764 1374/2458/764 1408/2415/764 -f 1402/2459/765 1377/2460/765 1376/2461/765 1401/2462/765 -f 1391/2463/766 1392/2464/766 1377/2460/766 1402/2459/766 -f 1401/2462/767 1376/2461/767 1393/2465/767 1400/2466/767 -f 1377/2460/768 1392/2464/768 1393/2465/768 1376/2461/768 -f 1397/2467/769 1378/2468/769 1379/2469/769 1396/2470/769 -f 1396/2470/770 1379/2469/770 1384/2471/770 1385/2472/770 -f 1386/2473/771 1383/2474/771 1378/2468/771 1397/2467/771 -f 1383/2474/772 1384/2471/772 1379/2469/772 1378/2468/772 -f 1399/2475/773 1380/2476/773 1381/2477/773 1398/2478/773 -f 1398/2478/774 1381/2477/774 1388/2479/774 1389/2480/774 -f 1390/2481/775 1387/2482/775 1380/2476/775 1399/2475/775 -f 1387/2482/768 1388/2479/768 1381/2477/768 1380/2476/768 -f 1385/2450/758 1382/2422/758 1395/2427/758 1396/2483/758 -f 1385/2472/776 1384/2471/776 1383/2474/776 1386/2473/776 -f 1389/2452/758 1386/2451/758 1397/2484/758 1398/2485/758 -f 1389/2480/777 1388/2479/777 1387/2482/777 1390/2481/777 -f 1391/2454/758 1390/2453/758 1399/2486/758 1400/2487/758 -f 1400/2466/778 1393/2465/778 1392/2464/778 1391/2463/778 -f 1416/2488/779 1403/2456/779 1404/2489/779 1415/2490/779 -f 1415/2491/780 1404/2489/780 1401/2492/780 1400/2487/780 1399/2486/780 1398/2485/780 1397/2484/780 1396/2483/780 1395/2427/780 1406/2430/780 -f 1404/2489/758 1403/2456/758 1402/2455/758 1401/2492/758 -f 1329/2074/781 1328/2493/781 1337/2075/781 -f 1414/2494/681 1411/2495/681 1408/2415/681 1413/2418/681 -f 1411/2495/782 1410/2443/782 1409/2442/782 1408/2415/782 -f 1417/2496/686 1416/2488/686 1415/2490/686 1419/2497/686 -f 1145/2006/625 1212/2085/625 1420/2498/625 1146/2007/625 -f 1141/2002/628 1421/2499/628 1157/2500/628 1142/2003/628 -f 1421/2499/681 1150/2011/681 1149/2010/681 1157/2500/681 -f 1141/2002/783 1207/2090/783 1206/2091/783 1421/2499/783 -f 1182/2501/689 1181/2502/689 1180/2503/689 1183/2504/689 -f 1181/2502/610 1422/2505/610 1423/2506/610 1180/2503/610 -f 1144/2005/784 1208/2089/784 1207/2088/784 1141/2002/784 -f 1424/2507/785 1425/2508/785 1238/2133/785 1160/2509/785 -f 1232/2510/786 1233/2511/786 1425/2508/786 1424/2512/786 -f 1420/2513/787 1424/2507/787 1160/2509/787 1146/2514/787 -f 1425/2508/788 1242/2137/788 1236/2124/788 1238/2133/788 -f 1154/2032/789 1241/2136/789 1235/2123/789 1167/2033/789 -f 1170/2046/661 1250/2159/661 1248/2158/661 1176/2047/661 -f 1274/2334/790 1276/2515/790 1271/2516/790 1266/2335/790 -f 1301/2256/681 1318/2255/681 1282/2517/681 1292/2518/681 -f 1297/2218/689 1295/2216/689 1294/2215/689 1298/2219/689 -f 1327/2276/661 1307/2275/661 1306/2519/661 1321/2520/661 -f 1349/2521/661 1302/2522/661 1305/2523/661 1312/2524/661 -f 1216/2525/791 1215/2294/791 1324/2293/791 1323/2526/791 -f 1271/2516/681 1276/2515/681 1326/2527/681 1272/2528/681 -f 1216/2525/792 1323/2526/792 1349/2521/792 1312/2524/792 -f 1155/2349/793 1211/2348/793 1197/2083/793 1205/2082/793 -f 1425/2508/794 1233/2511/794 1339/2367/794 1242/2137/794 -f 1251/2309/795 1336/2308/795 1340/2346/795 1264/2347/795 -f 1323/2269/796 1322/2268/796 1327/2353/796 1349/2352/796 -f 1144/2005/797 1346/2364/797 1209/2094/797 1208/2097/797 -f 1150/2011/798 1421/2499/798 1206/2281/798 1211/2282/798 -f 1212/2085/624 1346/2345/624 1352/2529/624 1420/2498/624 -f 1352/2530/799 1232/2510/799 1424/2512/799 1420/2531/799 -f 1184/2062/800 1183/2532/800 1213/2333/800 1192/2332/800 -f 1355/2533/801 1354/2394/801 1364/2395/801 1362/2404/801 -f 1342/2397/802 1341/2314/802 1360/2322/802 1365/2398/802 -f 1179/2066/610 1427/2534/610 1426/2535/610 1178/2067/610 -f 1180/2503/610 1423/2506/610 1427/2534/610 1179/2066/610 -f 1178/2067/610 1426/2535/610 1422/2505/610 1181/2502/610 -f 1407/2536/661 1411/2537/661 1414/2538/661 1418/2539/661 -f 1311/2540/686 1428/2541/686 1429/2542/686 1430/2543/686 1431/2544/686 1432/2545/686 1433/2546/686 1434/2547/686 -f 1181/2502/803 1182/2501/803 1430/2548/803 1429/2549/803 -f 1214/2060/804 1216/2234/804 1312/2249/804 -f 1215/2236/805 1199/2235/805 1330/2550/805 -f 1182/2052/806 1185/2055/806 1431/2551/806 1430/2552/806 -f 1308/2241/807 1214/2060/807 1434/2553/807 1433/2554/807 -f 1178/2067/808 1181/2502/808 1429/2555/808 1428/2556/808 -f 1185/2055/809 1317/2244/809 1432/2557/809 1431/2558/809 -f 1178/2067/810 1428/2559/810 1311/2560/810 1310/2245/810 -f 1330/2550/681 1199/2235/681 1194/2104/681 1196/2105/681 -f 1297/2561/661 1326/2274/661 1289/2273/661 1295/2562/661 -f 1326/2527/661 1297/2563/661 1300/2564/661 1272/2528/661 -f 1272/2186/661 1300/2565/661 1285/2566/661 1273/2187/661 -f 1273/2202/661 1285/2567/661 1286/2568/661 1284/2203/661 -f 1296/2569/661 1288/2205/661 1287/2204/661 1318/2570/661 -f 1288/2206/661 1296/2571/661 1295/2572/661 1289/2207/661 -f 1447/2573/661 1435/2574/661 1442/2575/661 1443/2576/661 -f 1411/2537/811 1407/2536/811 1394/2440/811 1410/2443/811 -f 1304/2248/628 1178/2067/628 1310/2245/628 1305/2250/628 -f 1199/2235/612 1189/2577/612 1190/2239/612 1188/2238/612 -f 1189/2577/812 1199/2235/812 1220/2578/812 -f 1309/2240/611 1316/2579/611 1191/2237/611 -f 1316/2579/611 1314/2580/611 1317/2244/611 1191/2237/611 -f 1317/2244/611 1314/2580/611 1313/2581/611 -f 1313/2581/611 1306/2582/611 1308/2241/611 1317/2244/611 -f 1214/2060/813 1221/2059/813 1220/2578/813 1199/2235/813 -f 1214/2060/612 1308/2241/612 1306/2582/612 1307/2058/612 -f 1368/2410/625 1371/2409/625 1191/2237/625 1317/2244/625 -f 1437/2583/686 1436/2584/686 1438/2585/686 1439/2586/686 -f 1443/2587/814 1444/2588/814 1445/2589/814 1446/2590/814 -f 1442/2591/612 1441/2592/612 1444/2588/612 1443/2587/612 -f 1436/2593/689 1435/2594/689 1447/2595/689 1448/2596/689 1449/2597/689 1438/2598/689 -f 1450/2599/815 1451/2600/815 1452/2601/815 1453/2602/815 -f 1438/2598/816 1449/2597/816 1454/2603/816 1455/2604/816 1456/2605/816 1457/2606/816 1458/2607/816 1459/2608/816 1451/2600/816 1450/2599/816 -f 1439/2586/817 1438/2585/817 1450/2599/817 1453/2602/817 -f 1459/2609/818 1461/2610/818 1462/2611/818 1463/2612/818 -f 1461/2613/815 1459/2608/815 1458/2607/815 1464/2614/815 -f 1465/2615/819 1464/2616/819 1466/2617/819 1467/2618/819 -f 1465/2619/815 1457/2606/815 1456/2605/815 1468/2620/815 -f 1469/2621/820 1468/2622/820 1470/2623/820 1471/2624/820 -f 1469/2625/815 1455/2604/815 1454/2603/815 1472/2626/815 -f 1466/2617/821 1473/2627/821 1474/2628/821 1467/2618/821 -f 1464/2616/822 1458/2629/822 1473/2627/822 1466/2617/822 -f 1457/2630/823 1465/2615/823 1467/2618/823 1474/2628/823 -f 1458/2629/824 1457/2630/824 1474/2628/824 1473/2627/824 -f 1470/2623/825 1475/2631/825 1476/2632/825 1471/2624/825 -f 1468/2622/826 1456/2633/826 1475/2631/826 1470/2623/826 -f 1455/2634/827 1469/2621/827 1471/2624/827 1476/2632/827 -f 1456/2633/828 1455/2634/828 1476/2632/828 1475/2631/828 -f 1477/2635/821 1478/2636/821 1463/2612/821 1462/2611/821 -f 1451/2637/829 1459/2609/829 1463/2612/829 1478/2636/829 -f 1461/2610/830 1452/2638/830 1477/2635/830 1462/2611/830 -f 1452/2638/831 1451/2637/831 1478/2636/831 1477/2635/831 -f 1445/2589/832 1444/2588/832 1479/2639/832 1480/2640/832 -f 1472/2626/833 1481/2641/833 1439/2642/833 1453/2602/833 1452/2601/833 1461/2613/833 1464/2614/833 1465/2619/833 1468/2620/833 1469/2625/833 -f 1481/2641/612 1440/2643/612 1437/2644/612 1439/2642/612 -f 1472/2626/834 1454/2603/834 1482/2645/834 1483/2646/834 -f 1484/2647/835 1445/2589/835 1480/2648/835 1485/2649/835 -f 1445/2589/815 1484/2647/815 1460/2650/815 1446/2590/815 -f 1484/2647/836 1448/2596/836 1447/2595/836 1460/2650/836 -f 1440/2643/837 1481/2641/837 1486/2651/837 1487/2652/837 -f 1483/2653/815 1482/2654/815 1485/2655/815 1480/2656/815 -f 1480/2656/838 1479/2657/838 1486/2658/838 1483/2653/838 -f 1479/2657/612 1488/2659/612 1487/2660/612 1486/2658/612 -f 1482/2654/839 1489/2661/839 1490/2662/839 1485/2655/839 -f 1454/2603/840 1449/2597/840 1489/2663/840 1482/2664/840 -f 1449/2665/841 1448/2666/841 1490/2662/841 1489/2661/841 -f 1481/2641/842 1472/2626/842 1483/2667/842 1486/2668/842 -f 1444/2588/843 1441/2592/843 1488/2669/843 1479/2670/843 -f 1441/2671/844 1440/2672/844 1487/2660/844 1488/2659/844 -f 1448/2596/845 1484/2647/845 1485/2673/845 1490/2674/845 -f 1443/2576/846 1446/2590/846 1460/2650/846 1447/2573/846 -f 1337/2075/625 1328/2493/625 1331/2312/625 -f 1406/2430/624 1405/2405/624 1407/2441/624 1418/2675/624 1419/2676/624 1415/2491/624 -f 1218/2323/847 1200/2103/847 1202/2388/847 -f 1202/2388/848 1217/2267/848 1218/2323/848 -f 1357/2359/849 1359/2389/849 1334/2360/849 -f 1350/2355/850 1321/2354/850 1320/2362/850 +f 1/1/1 2/2/1 3/3/1 4/4/1 +f 5/5/2 6/6/2 7/7/2 8/8/2 +f 8/8/3 7/7/3 9/9/3 10/10/3 +f 11/11/4 12/12/4 13/13/4 14/14/4 +f 5/5/5 8/8/5 15/15/5 16/16/5 +f 2/17/6 17/18/6 18/19/6 19/20/6 +f 7/21/7 6/22/7 20/23/7 21/24/7 +f 22/25/8 23/26/8 24/27/8 25/28/8 +f 26/29/9 11/30/9 14/31/9 27/32/9 +f 26/33/10 28/34/10 29/35/10 30/36/10 +f 31/37/11 32/38/11 33/39/11 34/40/11 +f 32/41/12 12/42/12 35/43/12 33/44/12 +f 11/30/13 26/29/13 30/45/13 36/46/13 +f 28/47/14 23/48/14 37/49/14 29/50/14 +f 38/51/15 39/52/15 40/53/15 41/54/15 +f 41/54/16 40/53/16 42/55/16 43/56/16 +f 44/57/17 45/58/17 46/59/17 +f 47/60/18 40/61/18 48/62/18 49/63/18 +f 50/64/19 51/65/19 52/66/19 53/67/19 +f 54/68/20 55/69/20 56/70/20 57/71/20 +f 58/72/21 59/73/21 60/74/21 +f 55/75/22 61/76/22 51/77/22 56/70/22 +f 62/78/23 51/77/23 61/79/23 63/80/23 +f 64/81/24 54/82/24 57/71/24 65/83/24 +f 66/84/25 5/5/25 16/85/25 67/86/25 +f 68/87/26 69/88/26 63/80/26 61/79/26 +f 68/89/27 61/76/27 55/75/27 70/90/27 +f 15/15/28 64/91/28 49/92/28 16/16/28 +f 71/93/29 72/94/29 63/95/29 69/96/29 +f 73/97/19 51/65/19 50/64/19 +f 74/98/30 75/99/30 76/100/30 +f 75/99/1 77/101/1 78/102/1 +f 56/103/19 51/65/19 73/97/19 79/104/19 +f 80/105/31 21/106/31 81/107/31 82/108/31 +f 83/109/32 19/110/32 84/111/32 85/112/32 +f 13/113/33 86/114/33 87/115/33 88/116/33 +f 89/117/34 83/118/34 85/112/34 90/119/34 +f 91/120/35 27/121/35 92/122/35 93/123/35 +f 32/38/36 31/37/36 94/124/36 86/125/36 +f 9/126/37 7/127/37 21/106/37 80/105/37 +f 28/34/38 26/33/38 27/121/38 91/120/38 +f 12/42/39 32/41/39 86/114/39 13/113/39 +f 23/48/40 28/47/40 91/128/40 24/129/40 +f 3/130/41 2/131/41 19/110/41 83/109/41 +f 81/107/42 95/132/42 93/123/42 92/122/42 +f 84/111/43 96/133/43 88/116/43 87/115/43 +f 85/112/44 84/111/44 87/115/44 97/134/44 +f 19/20/45 18/19/45 96/133/45 84/111/45 +f 21/24/46 20/23/46 95/132/46 81/107/46 +f 14/14/47 13/13/47 88/116/47 98/135/47 +f 24/129/48 91/128/48 93/123/48 99/136/48 +f 86/125/49 94/124/49 97/134/49 87/115/49 +f 100/137/50 101/138/50 102/139/50 103/140/50 +f 33/44/51 35/43/51 104/141/51 101/142/51 +f 34/40/51 33/39/51 101/138/51 100/137/51 +f 35/143/51 36/144/51 105/145/51 104/146/51 +f 30/36/51 29/35/51 106/147/51 107/148/51 +f 29/50/51 37/49/51 108/149/51 106/150/51 +f 109/151/52 110/152/52 111/153/52 112/154/52 +f 107/148/53 106/147/53 113/155/53 114/156/53 +f 104/146/54 105/145/54 110/152/54 109/151/54 +f 105/157/55 107/158/55 114/159/55 110/160/55 +f 101/142/56 104/141/56 109/161/56 102/162/56 +f 115/163/51 116/164/51 117/165/51 118/166/51 +f 110/160/57 114/159/57 115/167/57 111/168/57 +f 102/162/58 109/161/58 112/169/58 119/170/58 +f 103/140/59 102/139/59 119/171/59 120/172/59 +f 113/173/60 121/174/60 122/175/60 116/176/60 +f 114/156/61 113/155/61 116/164/61 115/163/61 +f 119/170/51 112/169/51 123/177/51 124/178/51 +f 120/172/51 119/171/51 124/179/51 125/180/51 +f 116/176/51 122/175/51 126/181/51 117/182/51 +f 127/183/19 128/184/19 129/185/19 130/186/19 +f 131/187/62 118/188/62 132/189/62 133/190/62 +f 125/180/63 124/179/63 127/191/63 134/192/63 +f 117/182/64 126/181/64 135/193/64 136/194/64 +f 126/195/65 137/196/65 138/197/65 135/198/65 +f 118/166/66 117/165/66 136/199/66 132/200/66 +f 134/192/1 127/191/1 130/201/1 139/202/1 +f 136/194/16 135/193/16 140/203/16 141/204/16 +f 132/200/2 136/199/2 141/205/2 142/206/2 +f 143/207/2 144/208/2 145/209/2 146/210/2 +f 145/209/3 147/211/3 148/212/3 146/210/3 +f 149/213/1 150/214/1 151/215/1 152/216/1 +f 153/217/15 154/218/15 155/219/15 156/220/15 +f 156/220/16 155/219/16 144/208/16 143/207/16 +f 147/221/51 145/222/51 144/223/51 155/224/51 154/225/51 150/226/51 149/227/51 157/228/51 +f 158/229/51 159/230/51 160/231/51 161/232/51 +f 162/233/67 46/59/67 57/234/67 163/235/67 +f 47/236/2 65/237/2 164/238/2 165/239/2 +f 166/240/68 167/241/68 168/242/68 169/243/68 +f 64/91/69 65/83/69 47/60/69 49/92/69 +f 46/59/70 170/244/70 171/245/70 172/246/70 +f 53/67/19 52/66/19 160/247/19 +f 173/248/71 161/249/71 170/244/71 46/59/71 +f 146/250/51 148/251/51 174/252/51 139/253/51 +f 152/216/19 175/254/19 157/255/19 149/213/19 +f 176/256/72 177/257/72 178/258/72 179/259/72 +f 180/260/51 181/261/51 176/256/51 179/259/51 +f 45/262/73 182/263/73 183/264/73 184/265/73 +f 183/266/74 182/267/74 185/268/74 186/269/74 +f 187/270/51 137/196/51 126/195/51 122/271/51 +f 132/189/3 142/272/3 188/273/3 133/190/3 +f 45/262/75 44/274/75 189/275/75 182/263/75 +f 79/276/76 190/277/76 59/278/76 191/279/76 +f 70/280/77 55/69/77 54/68/77 192/281/77 +f 79/282/76 73/283/76 193/284/76 190/285/76 +f 18/286/78 80/287/78 82/108/78 96/133/78 +f 138/288/79 134/289/79 139/253/79 174/252/79 +f 50/290/80 194/291/80 193/284/80 73/283/80 +f 186/292/81 163/293/81 191/279/81 59/278/81 +f 195/294/82 196/295/82 184/265/82 183/264/82 +f 195/294/76 77/296/76 164/297/76 196/295/76 +f 75/298/76 165/299/76 164/300/76 77/301/76 +f 197/302/83 165/299/83 75/298/83 74/303/83 +f 178/258/84 177/257/84 197/302/84 74/303/84 +f 50/290/85 53/304/85 198/305/85 194/291/85 +f 199/306/51 200/307/51 108/308/51 37/309/51 +f 78/102/86 76/100/86 75/99/86 +f 201/310/87 74/98/87 76/100/87 +f 193/311/88 194/312/88 202/313/88 +f 85/112/89 97/134/89 203/314/89 90/119/89 +f 100/315/90 103/316/90 204/317/90 200/318/90 +f 123/177/91 128/184/91 127/183/91 124/178/91 +f 138/197/15 174/319/15 140/320/15 135/198/15 +f 205/321/92 202/313/92 194/312/92 +f 186/269/93 58/72/93 206/322/93 183/266/93 +f 22/323/94 25/324/94 94/325/94 31/326/94 +f 31/326/95 34/327/95 199/328/95 22/323/95 +f 16/85/96 49/63/96 48/62/96 67/86/96 +f 71/329/97 67/330/97 48/331/97 72/332/97 +f 25/324/98 203/314/98 97/134/98 94/325/98 +f 108/149/99 121/174/99 113/173/99 106/150/99 +f 112/154/51 111/153/51 131/333/51 123/334/51 +f 160/231/100 159/230/100 198/305/100 53/304/100 +f 202/335/101 207/336/101 208/337/101 209/338/101 76/339/101 78/340/101 206/341/101 58/342/101 60/343/101 +f 199/328/51 34/327/51 100/315/51 200/318/51 +f 96/133/102 82/108/102 98/135/102 88/116/102 +f 202/313/103 60/74/103 193/311/103 +f 66/84/104 67/330/104 71/329/104 210/344/104 +f 204/345/105 187/270/105 122/271/105 121/346/105 +f 115/167/51 118/188/51 131/187/51 111/168/51 +f 10/10/106 192/347/106 15/348/106 8/8/106 +f 211/349/107 212/350/107 213/351/107 189/352/107 +f 211/349/108 189/352/108 180/353/108 214/354/108 +f 158/355/109 215/356/109 159/357/109 +f 216/358/110 198/359/110 159/357/110 +f 213/351/111 212/350/111 215/356/111 158/355/111 +f 215/356/112 216/358/112 159/357/112 +f 217/360/113 214/354/113 179/361/113 +f 4/4/79 3/3/79 218/362/79 210/363/79 +f 218/364/114 3/365/114 83/118/114 89/117/114 +f 23/26/115 22/25/115 199/306/115 37/309/115 +f 81/107/116 92/122/116 98/135/116 82/108/116 +f 12/12/117 11/11/117 36/144/117 35/143/117 +f 25/28/118 24/27/118 99/136/118 203/366/118 +f 204/317/119 103/316/119 120/367/119 187/368/119 +f 187/368/51 120/367/51 125/369/51 137/370/51 +f 137/370/120 125/369/120 134/289/120 138/288/120 +f 62/78/121 63/95/121 72/94/121 39/371/121 +f 17/372/122 9/373/122 80/287/122 18/286/122 +f 175/374/51 140/320/51 174/319/51 148/375/51 +f 215/376/123 212/377/123 211/378/123 214/379/123 217/380/123 219/381/123 220/382/123 221/383/123 216/384/123 +f 178/385/124 222/386/124 217/360/124 +f 179/361/125 178/385/125 217/360/125 +f 78/102/126 77/101/126 195/387/126 +f 58/72/127 186/269/127 59/73/127 +f 194/312/128 198/359/128 223/388/128 205/321/128 +f 74/98/129 201/310/129 222/386/129 178/385/129 +f 220/389/130 224/390/130 225/391/130 221/392/130 +f 221/392/131 225/391/131 223/388/131 216/358/131 +f 219/393/132 217/360/132 222/386/132 226/394/132 +f 208/395/133 207/396/133 227/397/133 228/398/133 +f 208/399/134 228/400/134 229/401/134 209/402/134 +f 209/402/135 229/401/135 201/310/135 76/100/135 +f 201/310/136 229/401/136 226/394/136 222/386/136 +f 224/403/137 226/394/137 229/401/137 228/400/137 +f 224/390/138 228/398/138 227/397/138 225/391/138 +f 205/321/139 223/388/139 225/391/139 227/397/139 +f 230/404/140 231/405/140 232/406/140 233/407/140 +f 40/53/16 47/236/16 234/408/16 42/55/16 +f 169/243/16 41/54/16 43/56/16 235/409/16 +f 236/410/141 237/411/141 238/412/141 239/413/141 +f 240/414/142 241/415/142 237/416/142 236/417/142 +f 242/418/143 243/419/143 244/420/143 245/421/143 +f 246/422/144 247/423/144 231/424/144 230/425/144 +f 248/426/145 249/427/145 247/428/145 246/429/145 +f 249/430/146 232/431/146 231/424/146 247/423/146 +f 241/432/71 243/433/71 238/412/71 237/411/71 +f 250/434/147 244/435/147 243/433/147 241/432/147 +f 244/435/148 250/434/148 232/431/148 249/430/148 +f 239/436/149 238/437/149 243/438/149 242/418/149 +f 233/407/150 251/439/150 252/440/150 230/404/150 +f 253/441/151 254/442/151 251/439/151 233/407/151 +f 233/407/152 232/443/152 250/444/152 253/441/152 +f 245/421/153 244/445/153 249/446/153 248/426/153 +f 242/418/71 255/447/71 256/448/71 239/436/71 +f 245/421/154 257/449/154 258/450/154 259/451/154 260/452/154 261/453/154 262/454/154 263/455/154 255/447/154 242/418/154 +f 253/441/155 250/456/155 241/457/155 240/414/155 +f 262/458/156 264/459/156 265/460/156 266/461/156 +f 261/462/157 267/463/157 264/459/157 262/458/157 +f 266/461/158 265/460/158 268/464/158 269/465/158 +f 264/459/159 267/463/159 268/464/159 265/460/159 +f 270/466/160 271/467/160 272/468/160 273/469/160 +f 273/469/161 272/468/161 274/470/161 257/471/161 +f 258/472/162 275/473/162 271/467/162 270/466/162 +f 275/473/163 274/470/163 272/468/163 271/467/163 +f 276/474/164 277/475/164 278/476/164 279/477/164 +f 279/477/165 278/476/165 280/478/165 259/479/165 +f 260/480/166 281/481/166 277/475/166 276/474/166 +f 281/481/159 280/478/159 278/476/159 277/475/159 +f 257/449/151 245/421/151 248/426/151 273/482/151 +f 257/471/167 274/470/167 275/473/167 258/472/167 +f 259/451/151 258/450/151 270/483/151 279/484/151 +f 259/479/168 280/478/168 281/481/168 260/480/168 +f 261/453/151 260/452/151 276/485/151 269/486/151 +f 269/465/169 268/464/169 267/463/169 261/462/169 +f 255/487/170 263/455/170 282/488/170 283/489/170 +f 283/490/171 282/488/171 266/491/171 269/486/171 276/485/171 279/484/171 270/483/171 273/482/171 248/426/171 246/429/171 +f 282/488/151 263/455/151 262/454/151 266/491/151 +f 59/73/172 190/492/172 60/74/172 +f 284/493/71 285/494/71 240/414/71 236/417/71 +f 285/494/173 254/442/173 253/441/173 240/414/173 +f 256/495/76 255/487/76 283/489/76 286/496/76 +f 5/5/16 66/84/16 287/497/16 6/6/16 +f 1/1/19 288/498/19 17/499/19 2/2/19 +f 288/498/71 10/10/71 9/9/71 17/499/71 +f 1/1/174 68/89/174 70/90/174 288/498/174 +f 38/500/79 289/501/79 62/502/79 39/503/79 +f 289/501/1 290/504/1 291/505/1 62/502/1 +f 4/4/175 69/88/175 68/87/175 1/1/175 +f 292/506/176 293/507/176 95/132/176 20/508/176 +f 89/509/177 90/510/177 293/507/177 292/511/177 +f 287/512/178 292/506/178 20/508/178 6/513/178 +f 293/507/179 99/136/179 93/123/179 95/132/179 +f 14/31/180 98/135/180 92/122/180 27/32/180 +f 30/45/51 107/158/51 105/157/51 36/46/51 +f 131/333/181 133/514/181 128/515/181 123/334/181 +f 157/255/71 175/254/71 148/516/71 147/517/71 +f 153/217/79 151/215/79 150/214/79 154/218/79 +f 189/275/51 44/274/51 181/518/51 180/519/51 +f 213/520/51 158/521/51 161/522/51 173/523/51 +f 162/524/182 163/293/182 186/292/182 185/525/182 +f 128/515/71 133/514/71 188/526/71 129/527/71 +f 162/524/183 185/525/183 213/520/183 173/523/183 +f 15/348/184 192/347/184 54/82/184 64/81/184 +f 293/507/185 90/510/185 203/366/185 99/136/185 +f 108/308/186 200/307/186 204/345/186 121/346/186 +f 185/268/187 182/267/187 189/352/187 213/351/187 +f 4/4/188 210/363/188 71/93/188 69/96/188 +f 10/10/189 288/498/189 70/280/189 192/281/189 +f 66/84/15 210/344/15 218/528/15 287/497/15 +f 218/529/190 89/509/190 292/511/190 287/530/190 +f 40/61/191 39/531/191 72/332/191 48/331/191 +f 220/532/192 219/393/192 226/394/192 224/403/192 +f 207/396/193 202/313/193 205/321/193 227/397/193 +f 51/65/1 294/533/1 295/534/1 52/66/1 +f 62/502/1 291/505/1 294/533/1 51/65/1 +f 52/66/1 295/534/1 290/504/1 289/501/1 +f 252/535/51 285/536/51 284/537/51 296/538/51 +f 171/539/76 297/540/76 298/541/76 299/542/76 300/543/76 168/544/76 167/545/76 172/546/76 +f 289/501/194 38/500/194 299/547/194 298/548/194 +f 46/59/195 162/233/195 173/248/195 +f 163/235/196 57/234/196 191/549/196 +f 38/51/197 41/54/197 300/550/197 299/551/197 +f 166/240/198 46/59/198 172/552/198 167/553/198 +f 52/66/199 289/501/199 298/554/199 297/555/199 +f 41/54/200 169/243/200 168/556/200 300/557/200 +f 52/66/201 297/558/201 171/559/201 170/244/201 +f 191/549/71 57/234/71 56/103/71 79/104/71 +f 153/560/51 188/273/51 142/272/51 151/561/51 +f 188/526/51 153/562/51 156/563/51 129/527/51 +f 129/185/51 156/564/51 143/565/51 130/186/51 +f 130/201/51 143/566/51 146/567/51 139/202/51 +f 152/568/51 141/204/51 140/203/51 175/569/51 +f 141/205/51 152/570/51 151/571/51 142/206/51 +f 301/572/51 302/573/51 303/574/51 304/575/51 +f 285/536/202 252/535/202 251/439/202 254/442/202 +f 160/247/19 52/66/19 170/244/19 161/249/19 +f 57/234/3 196/576/3 164/238/3 65/237/3 +f 196/576/203 57/234/203 184/577/203 +f 165/239/2 197/578/2 47/236/2 +f 197/578/2 177/579/2 169/243/2 47/236/2 +f 169/243/2 177/579/2 176/580/2 +f 176/580/2 181/581/2 166/240/2 169/243/2 +f 46/59/204 45/58/204 184/577/204 57/234/204 +f 46/59/3 166/240/3 181/581/3 44/57/3 +f 235/409/16 234/408/16 47/236/16 169/243/16 +f 305/582/76 306/583/76 307/584/76 308/585/76 +f 304/586/205 309/587/205 310/588/205 311/589/205 +f 303/590/3 312/591/3 309/587/3 304/586/3 +f 306/592/79 302/593/79 301/594/79 313/595/79 314/596/79 307/597/79 +f 315/598/206 316/599/206 317/600/206 318/601/206 +f 307/597/207 314/596/207 319/602/207 320/603/207 321/604/207 322/605/207 323/606/207 324/607/207 316/599/207 315/598/207 +f 308/585/208 307/584/208 315/598/208 318/601/208 +f 324/608/209 325/609/209 326/610/209 327/611/209 +f 325/612/206 324/607/206 323/606/206 328/613/206 +f 329/614/210 328/615/210 330/616/210 331/617/210 +f 329/618/206 322/605/206 321/604/206 332/619/206 +f 333/620/211 332/621/211 334/622/211 335/623/211 +f 333/624/206 320/603/206 319/602/206 336/625/206 +f 330/616/212 337/626/212 338/627/212 331/617/212 +f 328/615/213 323/628/213 337/626/213 330/616/213 +f 322/629/214 329/614/214 331/617/214 338/627/214 +f 323/628/215 322/629/215 338/627/215 337/626/215 +f 334/622/216 339/630/216 340/631/216 335/623/216 +f 332/621/217 321/632/217 339/630/217 334/622/217 +f 320/633/218 333/620/218 335/623/218 340/631/218 +f 321/632/219 320/633/219 340/631/219 339/630/219 +f 341/634/212 342/635/212 327/611/212 326/610/212 +f 316/636/220 324/608/220 327/611/220 342/635/220 +f 325/609/221 317/637/221 341/634/221 326/610/221 +f 317/637/222 316/636/222 342/635/222 341/634/222 +f 310/588/223 309/587/223 343/638/223 344/639/223 +f 336/625/224 345/640/224 308/641/224 318/601/224 317/600/224 325/612/224 328/613/224 329/618/224 332/619/224 333/624/224 +f 345/640/3 346/642/3 305/643/3 308/641/3 +f 336/625/225 319/602/225 347/644/225 348/645/225 +f 349/646/226 310/588/226 344/647/226 350/648/226 +f 310/588/206 349/646/206 351/649/206 311/589/206 +f 349/646/227 313/595/227 301/594/227 351/649/227 +f 346/642/228 345/640/228 352/650/228 353/651/228 +f 348/652/229 347/653/229 350/654/229 344/655/229 +f 344/655/230 343/656/230 352/657/230 348/652/230 +f 343/656/3 354/658/3 353/659/3 352/657/3 +f 347/653/231 355/660/231 356/661/231 350/654/231 +f 319/602/232 314/596/232 355/662/232 347/663/232 +f 314/664/233 313/665/233 356/661/233 355/660/233 +f 345/640/234 336/625/234 348/666/234 352/667/234 +f 309/587/235 312/591/235 354/668/235 343/669/235 +f 312/670/236 346/671/236 353/659/236 354/658/236 +f 313/595/237 349/646/237 350/672/237 356/673/237 +f 304/575/238 311/589/238 351/649/238 301/572/238 +f 60/74/16 190/492/16 193/311/16 +f 246/429/15 230/404/15 252/440/15 296/674/15 286/675/15 283/490/15 +f 206/322/239 78/102/239 195/387/239 +f 195/387/240 183/266/240 206/322/240 +f 216/358/241 223/388/241 198/359/241 +f 214/354/242 180/353/242 179/361/242 +o Rail_Cube +v -1.606489 0.994589 3.070837 +v -1.606489 1.084445 3.070837 +v -1.606489 1.084277 2.929163 +v -1.606489 0.994589 2.929163 +v -0.511384 1.084480 2.929163 +v -0.514357 1.052983 2.929163 +v -0.549767 1.006668 2.929163 +v -0.549767 0.994589 2.929163 +v 1.313063 1.160981 3.058974 +v 1.498769 1.160981 3.058974 +v 1.498532 1.230366 3.031927 +v 1.312826 1.230366 3.031927 +v 1.225298 0.994589 3.070837 +v 1.225298 1.084445 3.070837 +v 0.962233 1.084445 3.070837 +v 0.964610 1.052983 3.070837 +v 1.000021 1.006668 3.070837 +v 1.000021 0.994589 3.070837 +v -0.197543 0.994589 2.929163 +v 0.049014 0.994589 2.929163 +v 0.049014 0.994589 3.070837 +v -0.197543 0.994589 3.070837 +v 0.401239 0.994589 2.929163 +v 0.647796 0.994589 2.929163 +v 0.647796 0.994589 3.070837 +v 0.401239 0.994589 3.070837 +v 1.000021 0.994589 2.929163 +v 1.225298 0.994589 2.929163 +v -0.549767 0.994589 3.070837 +v 1.225298 1.143051 2.956872 +v -1.531817 1.143051 2.956872 +v -1.531817 1.143051 3.043128 +v 1.225298 1.143051 3.043128 +v 1.313063 0.996053 3.070837 +v 1.498769 0.996053 3.070837 +v 1.313063 1.160981 2.941026 +v 1.313063 0.996053 2.929163 +v 1.225298 1.084802 2.929163 +v 1.269521 1.219445 3.031927 +v 1.498769 0.996053 2.929163 +v 1.498769 1.160981 2.941026 +v 1.312826 1.230366 2.968073 +v 1.498532 1.230366 2.968073 +v 1.575087 0.954078 2.929163 +v 1.575087 1.119006 2.929163 +v 1.575087 1.119006 3.070837 +v 1.575087 0.954078 3.070837 +v 1.269521 1.219445 2.968073 +v 1.554546 1.188392 3.031927 +v 1.554546 1.188392 2.968073 +v -0.514597 1.084445 3.070837 +v -0.234129 1.084445 3.070837 +v 0.083877 1.084445 3.070837 +v 0.364860 1.084445 3.070837 +v 0.682044 1.084445 3.070837 +v 0.964998 1.084754 2.929163 +v 0.683980 1.084702 2.929163 +v 0.366670 1.084643 2.929163 +v 0.084942 1.084590 2.929163 +v -0.230760 1.084532 2.929163 +v -0.232953 1.052983 2.929163 +v -0.232953 1.052983 3.070837 +v -0.514357 1.052983 3.070837 +v -0.197543 1.006668 3.070837 +v -0.197543 1.006668 2.929163 +v -0.549767 1.006668 3.070837 +v 0.084425 1.052983 2.929163 +v 0.365828 1.052983 2.929163 +v 0.365828 1.052983 3.070837 +v 0.084425 1.052983 3.070837 +v 0.401239 1.006668 3.070837 +v 0.401239 1.006668 2.929163 +v 0.049014 1.006668 2.929163 +v 0.049014 1.006668 3.070837 +v 0.683207 1.052983 2.929163 +v 0.964610 1.052983 2.929163 +v 0.683207 1.052983 3.070837 +v 1.000021 1.006668 2.929163 +v 0.647796 1.006668 2.929163 +v 0.647796 1.006668 3.070837 +vt 0.000044 0.107430 +vt 0.024656 0.106940 +vt 0.025382 0.145745 +vt 0.000816 0.146234 +vt 0.030452 0.180549 +vt 0.030675 0.155877 +vt 0.331921 0.150233 +vt 0.331137 0.165014 +vt 0.321371 0.177755 +vt 0.321356 0.182832 +vt 0.841452 0.074598 +vt 0.898560 0.067293 +vt 0.901417 0.090204 +vt 0.844308 0.097509 +vt 0.805805 0.056957 +vt 0.805905 0.081576 +vt 0.733831 0.081869 +vt 0.734447 0.073247 +vt 0.744097 0.060518 +vt 0.744084 0.057208 +vt 0.418878 0.198936 +vt 0.488701 0.198936 +vt 0.488701 0.239057 +vt 0.418878 0.239057 +vt 0.608256 0.198936 +vt 0.678079 0.198936 +vt 0.678079 0.239057 +vt 0.608256 0.239057 +vt 0.797634 0.198936 +vt 0.861431 0.198936 +vt 0.861431 0.239057 +vt 0.797634 0.239057 +vt 0.000064 0.239057 +vt 0.000064 0.198936 +vt 0.299323 0.198936 +vt 0.299323 0.239057 +vt 0.806959 0.123674 +vt 0.051262 0.137650 +vt 0.050803 0.114024 +vt 0.805978 0.099337 +vt 0.834948 0.023749 +vt 0.892056 0.016444 +vt 0.848703 0.139669 +vt 0.848775 0.194135 +vt 0.819931 0.196127 +vt 0.818378 0.166453 +vt 0.819259 0.145224 +vt 0.808731 0.055009 +vt 0.805001 0.027402 +vt 0.832026 0.024208 +vt 0.813249 0.074592 +vt 0.886289 0.198936 +vt 0.886289 0.239057 +vt 0.830535 0.096090 +vt 0.938880 0.198936 +vt 0.938880 0.239057 +vt 0.907329 0.133247 +vt 0.846631 0.116524 +vt 0.903929 0.109840 +vt 0.854421 0.191870 +vt 0.913047 0.185448 +vt 0.999956 0.109718 +vt 0.949237 0.116206 +vt 0.943664 0.072638 +vt 0.994383 0.066151 +vt 0.916522 0.186846 +vt 0.934269 0.143004 +vt 0.943667 0.196128 +vt 0.890641 0.016645 +vt 0.911939 0.000044 +vt 0.920047 0.050529 +vt 0.963546 0.198936 +vt 0.963546 0.239057 +vt 0.833077 0.119378 +vt 0.831048 0.100155 +vt 0.922942 0.087450 +vt 0.925454 0.107087 +vt 0.917732 0.075896 +vt 0.923810 0.118972 +vt 0.030004 0.096674 +vt 0.329071 0.090840 +vt 0.405999 0.085274 +vt 0.493182 0.082863 +vt 0.570163 0.082535 +vt 0.657065 0.082182 +vt 0.807446 0.134947 +vt 0.761956 0.136920 +vt 0.712846 0.139052 +vt 0.657390 0.141473 +vt 0.607889 0.143639 +vt 0.517990 0.146718 +vt 0.319255 0.198936 +vt 0.398947 0.198936 +vt 0.398947 0.239057 +vt 0.319255 0.239057 +vt 0.415457 0.239057 +vt 0.415457 0.198936 +vt 0.302744 0.198936 +vt 0.302744 0.239057 +vt 0.508633 0.198936 +vt 0.588324 0.198936 +vt 0.588325 0.239057 +vt 0.508633 0.239057 +vt 0.604835 0.239057 +vt 0.604835 0.198936 +vt 0.492122 0.198936 +vt 0.492122 0.239057 +vt 0.698011 0.198936 +vt 0.777702 0.198936 +vt 0.777702 0.239057 +vt 0.698011 0.239057 +vt 0.794213 0.239057 +vt 0.794213 0.198936 +vt 0.681500 0.198936 +vt 0.681500 0.239057 +vt 0.570392 0.073909 +vt 0.493194 0.074229 +vt 0.657348 0.073560 +vt 0.580043 0.061180 +vt 0.580030 0.057871 +vt 0.647582 0.057600 +vt 0.647596 0.060910 +vt 0.405892 0.076638 +vt 0.415271 0.063632 +vt 0.415179 0.060309 +vt 0.483008 0.058434 +vt 0.483100 0.061757 +vt 0.328731 0.082202 +vt 0.029525 0.072069 +vt 0.318891 0.066437 +vt 0.321825 0.067919 +vt 0.762127 0.142476 +vt 0.808127 0.150713 +vt 0.768757 0.152413 +vt 0.766843 0.151519 +vt 0.712952 0.144596 +vt 0.657585 0.147020 +vt 0.707119 0.152950 +vt 0.707211 0.155057 +vt 0.664206 0.156936 +vt 0.664114 0.154829 +vt 0.608341 0.150969 +vt 0.517035 0.161727 +vt 0.599554 0.164923 +vt 0.599986 0.168387 +vt 0.529279 0.177207 +vt 0.528847 0.173743 +vn -1.0000 0.0000 0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.3632 0.9317 +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.0717 0.9974 +vn -0.0132 0.1253 -0.9920 +vn -0.0136 0.1253 0.9920 +vn 0.0167 -0.9999 0.0000 +vn -0.1793 0.2999 0.9370 +vn 0.0000 0.3632 -0.9317 +vn 0.0000 0.0717 -0.9974 +vn 1.0000 0.0000 0.0000 +vn -0.0578 0.0359 -0.9977 +vn -0.0578 0.0359 0.9977 +vn -0.4819 -0.8762 0.0000 +vn -0.2445 0.9696 0.0000 +vn 0.5997 0.8003 0.0000 +vn 0.2041 0.4450 0.8720 +vn 0.9589 0.2839 0.0000 +vn -0.8655 0.5010 0.0000 +vn -0.1793 0.2999 -0.9370 +vn 0.2041 0.4450 -0.8720 +vn 0.0000 0.4274 0.9040 +vn -0.6179 0.7862 -0.0006 +vn -0.0000 0.4280 -0.9038 +vn 0.7944 -0.6074 0.0000 +vn -0.7944 -0.6074 0.0000 +s off +f 357/676/243 358/677/243 359/678/243 360/679/243 +f 360/680/244 359/681/244 361/682/244 362/683/244 363/684/244 364/685/244 +f 365/686/245 366/687/245 367/688/245 368/689/245 +f 369/690/246 370/691/246 371/692/246 372/693/246 373/694/246 374/695/246 +f 375/696/247 376/697/247 377/698/247 378/699/247 +f 379/700/247 380/701/247 381/702/247 382/703/247 +f 383/704/247 384/705/247 369/706/247 374/707/247 +f 357/708/247 360/709/247 364/710/247 385/711/247 +f 386/712/248 387/713/248 388/714/248 389/715/248 +f 365/686/249 390/716/249 391/717/249 366/687/249 +f 392/718/250 393/719/250 384/720/250 394/721/250 386/722/250 +f 370/723/251 369/724/251 390/725/251 365/686/251 389/726/251 +f 369/706/252 384/705/252 393/727/252 390/728/252 +f 389/726/253 365/686/253 368/689/253 395/729/253 +f 390/728/247 393/727/247 396/730/247 391/731/247 +f 397/732/254 392/718/254 398/733/254 399/734/254 +f 393/735/255 392/718/255 397/732/255 396/736/255 +f 400/737/256 401/738/256 402/739/256 403/740/256 +f 396/741/257 397/732/257 401/742/257 400/743/257 +f 366/687/258 391/744/258 403/745/258 402/746/258 +f 391/731/259 396/730/259 400/747/259 403/748/259 +f 404/749/260 395/750/260 368/689/260 398/733/260 +f 399/734/261 367/688/261 405/751/261 406/752/261 +f 398/733/248 368/689/248 367/688/248 399/734/248 +f 366/687/262 402/746/262 405/753/262 367/688/262 +f 402/739/263 401/738/263 406/752/263 405/751/263 +f 386/712/264 389/715/264 395/750/264 404/749/264 +f 392/718/265 386/722/265 404/749/265 398/733/265 +f 401/742/266 397/732/266 399/734/266 406/754/266 +f 358/755/267 407/756/267 408/757/267 409/758/267 410/759/267 411/760/267 371/692/267 370/691/267 389/715/267 388/714/267 +f 359/678/268 358/677/268 388/714/268 387/713/268 +f 394/761/269 412/762/269 413/763/269 414/764/269 415/765/269 416/766/269 361/682/269 359/681/269 387/713/269 386/712/269 +f 362/767/247 417/768/247 418/769/247 419/770/247 +f 378/699/243 420/771/243 421/772/243 375/696/243 +f 364/710/256 363/773/256 422/774/256 385/711/256 +f 363/773/270 362/767/270 419/770/270 422/774/270 +f 418/769/271 417/768/271 421/772/271 420/771/271 +f 423/775/247 424/776/247 425/777/247 426/778/247 +f 382/703/243 427/779/243 428/780/243 379/700/243 +f 376/697/256 429/781/256 430/782/256 377/698/256 +f 429/781/270 423/775/270 426/778/270 430/782/270 +f 428/780/271 427/779/271 425/777/271 424/776/271 +f 431/783/247 432/784/247 372/785/247 433/786/247 +f 373/787/243 434/788/243 383/704/243 374/707/243 +f 380/701/256 435/789/256 436/790/256 381/702/256 +f 436/790/270 435/789/270 431/783/270 433/786/270 +f 372/785/271 432/784/271 434/788/271 373/787/271 +f 425/791/246 410/759/246 409/758/246 426/792/246 +f 433/793/246 411/760/246 410/759/246 425/791/246 427/794/246 382/795/246 381/796/246 436/797/246 +f 372/693/246 371/692/246 411/760/246 433/793/246 +f 426/792/246 409/758/246 408/757/246 418/798/246 420/799/246 378/800/246 377/801/246 430/802/246 +f 418/798/246 408/757/246 407/756/246 419/803/246 +f 419/803/246 407/756/246 358/755/246 357/804/246 385/805/246 422/806/246 +f 432/807/244 412/762/244 394/761/244 384/808/244 383/809/244 434/810/244 +f 431/811/244 413/763/244 412/762/244 432/807/244 +f 424/812/244 414/764/244 413/763/244 431/811/244 435/813/244 380/814/244 379/815/244 428/816/244 +f 423/817/244 415/765/244 414/764/244 424/812/244 +f 417/818/244 416/766/244 415/765/244 423/817/244 429/819/244 376/820/244 375/821/244 421/822/244 +f 362/683/244 361/682/244 416/766/244 417/818/244 +o CoiCanon_Cylinder.004 +v -0.419369 0.526526 2.793014 +v 0.947632 0.526526 2.793014 +v 0.947632 0.380164 2.853639 +v -0.419369 0.380164 2.853639 +v 0.947632 0.319540 3.000000 +v -0.419369 0.319540 3.000000 +v 0.947632 0.380164 3.146361 +v -0.419369 0.380164 3.146361 +v 0.947632 0.526526 3.206986 +v -0.419369 0.526526 3.206986 +v 0.947632 0.672887 3.146361 +v -0.419369 0.672887 3.146361 +v 0.947632 0.733512 3.000000 +v -0.419369 0.733512 3.000000 +v 0.947632 0.672887 2.853639 +v -0.419369 0.672887 2.853639 +vt 0.000126 0.575971 +vt 0.828281 0.575971 +vt 0.828281 0.671946 +vt 0.000126 0.671946 +vt 0.828281 0.767920 +vt 0.000126 0.767920 +vt 0.000126 0.000126 +vt 0.828282 0.000127 +vt 0.828282 0.096101 +vt 0.000126 0.096100 +vt 0.828282 0.192075 +vt 0.000126 0.192075 +vt 0.828282 0.288049 +vt 0.000126 0.288049 +vt 0.828281 0.384023 +vt 0.000126 0.384023 +vt 0.232080 0.836036 +vt 0.299945 0.768172 +vt 0.395919 0.768172 +vt 0.463783 0.836036 +vt 0.463783 0.932010 +vt 0.395919 0.999874 +vt 0.299944 0.999874 +vt 0.232081 0.932010 +vt 0.828281 0.479997 +vt 0.000126 0.479997 +vt 0.163964 0.999874 +vt 0.067990 0.999874 +vt 0.000126 0.932010 +vt 0.000126 0.836036 +vt 0.067990 0.768172 +vt 0.163964 0.768172 +vt 0.231828 0.836036 +vt 0.231828 0.932010 +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 1.0000 0.0000 0.0000 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 0.3827 -0.9239 +vn -1.0000 0.0000 0.0000 +s off +f 437/823/272 438/824/272 439/825/272 440/826/272 +f 440/826/273 439/825/273 441/827/273 442/828/273 +f 442/829/274 441/830/274 443/831/274 444/832/274 +f 444/832/275 443/831/275 445/833/275 446/834/275 +f 446/834/276 445/833/276 447/835/276 448/836/276 +f 448/836/277 447/835/277 449/837/277 450/838/277 +f 439/839/278 438/840/278 451/841/278 449/842/278 447/843/278 445/844/278 443/845/278 441/846/278 +f 450/838/279 449/837/279 451/847/279 452/848/279 +f 452/848/280 451/847/280 438/824/280 437/823/280 +f 437/849/281 440/850/281 442/851/281 444/852/281 446/853/281 448/854/281 450/855/281 452/856/281 +o SideScrews_Cylinder.005 +v -0.436383 0.265019 3.509254 +v 1.004741 0.265019 3.509254 +v 1.004741 0.179718 3.544586 +v -0.436383 0.179718 3.544586 +v 1.004741 0.144386 3.629887 +v -0.436383 0.144385 3.629887 +v 1.004741 0.179718 3.715187 +v -0.436383 0.179718 3.715187 +v 1.004741 0.265019 3.750520 +v -0.436383 0.265019 3.750520 +v 1.004741 0.350319 3.715187 +v -0.436383 0.350319 3.715187 +v 1.004741 0.385652 3.629887 +v -0.436383 0.385652 3.629887 +v 1.088061 0.265019 3.750520 +v 1.088061 0.350319 3.715187 +v 1.004741 0.350319 3.544586 +v -0.436383 0.350319 3.544586 +v -0.513171 0.364069 3.629887 +v -0.513171 0.335058 3.699926 +v -0.513171 0.265019 3.530836 +v -0.513171 0.194979 3.559848 +v -0.513171 0.165968 3.629887 +v -0.513171 0.194979 3.699926 +v -0.513171 0.265019 3.728937 +v -0.513171 0.335058 3.559848 +v 1.088061 0.265019 3.509254 +v 1.088061 0.350319 3.544586 +v 1.100404 0.336110 3.558795 +v 1.100404 0.265019 3.529348 +v 1.088061 0.179718 3.544586 +v 1.088061 0.144386 3.629887 +v 1.088061 0.179718 3.715187 +v 1.088061 0.385652 3.629887 +v 1.100404 0.336110 3.700979 +v 1.100404 0.365558 3.629887 +v 1.100404 0.193927 3.700979 +v 1.100404 0.265019 3.730426 +v 1.100404 0.193927 3.558795 +v 1.100404 0.164480 3.629887 +v 1.127149 0.181939 3.629887 +v 1.127149 0.206273 3.688633 +v 1.127149 0.206273 3.571141 +v 1.127149 0.265019 3.546807 +v 1.127149 0.323765 3.571141 +v 1.127149 0.348098 3.629887 +v 1.127149 0.323765 3.688633 +v 1.127149 0.265019 3.712966 +v -0.436384 0.265019 2.490746 +v -0.436384 0.179718 2.455414 +v 1.004741 0.179718 2.455414 +v 1.004741 0.265019 2.490746 +v -0.436384 0.144385 2.370113 +v 1.004741 0.144386 2.370113 +v -0.436384 0.179718 2.284813 +v 1.004741 0.179718 2.284813 +v -0.436384 0.265019 2.249480 +v 1.004741 0.265019 2.249480 +v -0.436384 0.350319 2.284813 +v 1.004741 0.350319 2.284813 +v -0.436384 0.385652 2.370113 +v 1.004741 0.385652 2.370113 +v 1.088061 0.350319 2.284813 +v 1.088061 0.265019 2.249480 +v -0.436384 0.350319 2.455414 +v 1.004741 0.350319 2.455414 +v -0.513171 0.335058 2.300074 +v -0.513171 0.364069 2.370113 +v -0.513171 0.265019 2.469164 +v -0.513171 0.335058 2.440152 +v -0.513171 0.265019 2.271063 +v -0.513171 0.194979 2.300074 +v -0.513171 0.165968 2.370113 +v -0.513171 0.194979 2.440152 +v 1.088061 0.265019 2.490746 +v 1.100404 0.265019 2.470652 +v 1.100404 0.336111 2.441205 +v 1.088061 0.350319 2.455414 +v 1.088061 0.179718 2.455414 +v 1.088061 0.179718 2.284813 +v 1.088061 0.144386 2.370113 +v 1.088061 0.385652 2.370113 +v 1.100404 0.365558 2.370113 +v 1.100404 0.336110 2.299021 +v 1.100404 0.265019 2.269574 +v 1.100404 0.193927 2.299021 +v 1.100404 0.164480 2.370113 +v 1.100404 0.193927 2.441205 +v 1.127149 0.206273 2.311367 +v 1.127149 0.181939 2.370113 +v 1.127149 0.206273 2.428859 +v 1.127149 0.265019 2.287034 +v 1.127149 0.323765 2.311367 +v 1.127149 0.348098 2.370113 +v 1.127149 0.323765 2.428859 +v 1.127149 0.265019 2.453193 +vt 0.047908 0.778254 +vt 0.915002 0.778254 +vt 0.915002 0.833806 +vt 0.047908 0.833806 +vt 0.915002 0.889359 +vt 0.047908 0.889358 +vt 0.047908 0.444941 +vt 0.915002 0.444941 +vt 0.915002 0.500493 +vt 0.047908 0.500493 +vt 0.915002 0.556045 +vt 0.047908 0.556045 +vt 0.915002 0.611597 +vt 0.047908 0.611598 +vt 0.915002 0.667149 +vt 0.047908 0.667150 +vt 0.965134 0.556045 +vt 0.965134 0.611597 +vt 0.915002 0.722702 +vt 0.047908 0.722702 +vt 0.000174 0.662180 +vt 0.000174 0.616567 +vt 0.188508 0.999826 +vt 0.142894 0.999826 +vt 0.110641 0.967572 +vt 0.110641 0.921959 +vt 0.142895 0.889706 +vt 0.188508 0.889706 +vt 0.220761 0.921959 +vt 0.220761 0.967572 +vt 0.000174 0.551076 +vt 0.000174 0.505463 +vt 0.000174 0.717732 +vt 0.000174 0.672119 +vt 0.000174 0.884388 +vt 0.000174 0.838776 +vt 0.000174 0.606628 +vt 0.000174 0.561015 +vt 0.000174 0.773284 +vt 0.000174 0.727671 +vt 0.000174 0.828837 +vt 0.000174 0.783223 +vt 0.000174 0.495524 +vt 0.000174 0.449911 +vt 0.965134 0.778254 +vt 0.965134 0.722702 +vt 0.978548 0.727329 +vt 0.978548 0.773627 +vt 0.965134 0.833806 +vt 0.965134 0.444941 +vt 0.965134 0.500493 +vt 0.965134 0.667149 +vt 0.965134 0.889359 +vt 0.978548 0.616224 +vt 0.978548 0.662523 +vt 0.978548 0.505120 +vt 0.978548 0.551419 +vt 0.978548 0.838433 +vt 0.978548 0.884732 +vt 0.978548 0.671776 +vt 0.978548 0.718075 +vt 0.978548 0.560672 +vt 0.978548 0.606970 +vt 0.978548 0.449567 +vt 0.978548 0.495866 +vt 0.978548 0.782880 +vt 0.978548 0.829179 +vt 0.997340 0.453587 +vt 0.997340 0.491846 +vt 0.313821 0.916759 +vt 0.340874 0.889706 +vt 0.379132 0.889706 +vt 0.406185 0.916760 +vt 0.406185 0.955018 +vt 0.379132 0.982071 +vt 0.340873 0.982071 +vt 0.313820 0.955018 +vt 0.997340 0.786900 +vt 0.997340 0.825159 +vt 0.997340 0.731349 +vt 0.997339 0.769607 +vt 0.997340 0.620244 +vt 0.997340 0.658502 +vt 0.997340 0.509140 +vt 0.997340 0.547398 +vt 0.997340 0.842454 +vt 0.997340 0.880712 +vt 0.997340 0.675796 +vt 0.997340 0.714055 +vt 0.997340 0.564692 +vt 0.997340 0.602951 +vt 0.047908 0.111279 +vt 0.047908 0.055726 +vt 0.915003 0.055729 +vt 0.915003 0.111281 +vt 0.047908 0.000174 +vt 0.915003 0.000177 +vt 0.047907 0.444592 +vt 0.047907 0.389040 +vt 0.915002 0.389041 +vt 0.915002 0.444593 +vt 0.047907 0.333487 +vt 0.915002 0.333489 +vt 0.047907 0.277935 +vt 0.915002 0.277937 +vt 0.047908 0.222383 +vt 0.915002 0.222385 +vt 0.965134 0.277937 +vt 0.965134 0.333489 +vt 0.047908 0.166830 +vt 0.915003 0.166833 +vt 0.000174 0.272966 +vt 0.000174 0.227352 +vt 0.032427 0.889706 +vt 0.078041 0.889706 +vt 0.110294 0.921960 +vt 0.110294 0.967573 +vt 0.078041 0.999826 +vt 0.032427 0.999826 +vt 0.000174 0.967573 +vt 0.000174 0.921960 +vt 0.000174 0.384070 +vt 0.000174 0.338457 +vt 0.000174 0.217413 +vt 0.000174 0.171800 +vt 0.000175 0.050756 +vt 0.000175 0.005143 +vt 0.000174 0.328517 +vt 0.000174 0.282904 +vt 0.000174 0.161861 +vt 0.000175 0.116248 +vt 0.000175 0.106309 +vt 0.000175 0.060695 +vt 0.000174 0.439622 +vt 0.000174 0.394009 +vt 0.965135 0.111281 +vt 0.978548 0.115908 +vt 0.978548 0.162207 +vt 0.965135 0.166833 +vt 0.965135 0.055729 +vt 0.965134 0.389041 +vt 0.965134 0.444593 +vt 0.965134 0.222385 +vt 0.965135 0.000177 +vt 0.978548 0.227012 +vt 0.978548 0.273311 +vt 0.978547 0.338116 +vt 0.978547 0.384414 +vt 0.978548 0.004803 +vt 0.978548 0.051102 +vt 0.978547 0.171460 +vt 0.978547 0.217759 +vt 0.978547 0.282564 +vt 0.978547 0.328863 +vt 0.978548 0.393668 +vt 0.978548 0.439967 +vt 0.978548 0.060356 +vt 0.978548 0.106654 +vt 0.997340 0.397688 +vt 0.997340 0.435947 +vt 0.248162 0.982070 +vt 0.221109 0.955017 +vt 0.221109 0.916758 +vt 0.248162 0.889706 +vt 0.286421 0.889706 +vt 0.313473 0.916759 +vt 0.313473 0.955017 +vt 0.286420 0.982071 +vt 0.997340 0.064376 +vt 0.997340 0.102635 +vt 0.997340 0.119928 +vt 0.997341 0.158187 +vt 0.997340 0.231032 +vt 0.997340 0.269291 +vt 0.997339 0.342136 +vt 0.997339 0.380394 +vt 0.997340 0.008823 +vt 0.997340 0.047082 +vt 0.997339 0.175480 +vt 0.997339 0.213738 +vt 0.997340 0.286584 +vt 0.997340 0.324842 +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.2513 0.8942 0.3704 +vn -1.0000 0.0000 0.0000 +vn -0.2513 -0.3704 0.8942 +vn -0.2513 0.8942 -0.3704 +vn -0.2513 -0.8942 -0.3704 +vn -0.2513 0.3704 0.8942 +vn -0.2513 0.3704 -0.8942 +vn -0.2513 -0.3704 -0.8942 +vn -0.2513 -0.8942 0.3704 +vn 0.8327 0.2119 -0.5115 +vn 0.8327 0.5115 0.2119 +vn 0.8327 -0.2119 0.5115 +vn 0.8327 -0.5115 -0.2119 +vn 0.8327 0.5115 -0.2119 +vn 0.8327 0.2119 0.5115 +vn 0.8327 -0.5115 0.2119 +vn 0.8327 -0.2119 -0.5115 +vn 0.5165 -0.7911 0.3277 +vn 1.0000 0.0000 0.0000 +vn 0.5165 -0.3277 -0.7911 +vn 0.5165 0.3277 -0.7911 +vn 0.5165 0.7911 0.3277 +vn 0.5165 -0.3277 0.7911 +vn 0.5165 -0.7911 -0.3277 +vn 0.5165 0.7911 -0.3277 +vn 0.5165 0.3277 0.7911 +s off +f 453/857/282 454/858/282 455/859/282 456/860/282 +f 456/860/283 455/859/283 457/861/283 458/862/283 +f 458/863/284 457/864/284 459/865/284 460/866/284 +f 460/866/285 459/865/285 461/867/285 462/868/285 +f 462/868/286 461/867/286 463/869/286 464/870/286 +f 464/870/287 463/869/287 465/871/287 466/872/287 +f 463/869/286 461/867/286 467/873/286 468/874/286 +f 466/872/288 465/871/288 469/875/288 470/876/288 +f 470/876/289 469/875/289 454/858/289 453/857/289 +f 464/870/290 466/872/290 471/877/290 472/878/290 +f 473/879/291 474/880/291 475/881/291 476/882/291 477/883/291 472/884/291 471/885/291 478/886/291 +f 460/866/292 462/868/292 477/887/292 476/888/292 +f 466/872/293 470/876/293 478/889/293 471/890/293 +f 456/860/294 458/862/294 475/891/294 474/892/294 +f 462/868/295 464/870/295 472/893/295 477/894/295 +f 470/876/296 453/857/296 473/895/296 478/896/296 +f 453/857/297 456/860/297 474/897/297 473/898/297 +f 458/863/298 460/866/298 476/899/298 475/900/298 +f 479/901/299 480/902/299 481/903/299 482/904/299 +f 454/858/289 469/875/289 480/902/289 479/901/289 +f 455/859/282 454/858/282 479/901/282 483/905/282 +f 459/865/284 457/864/284 484/906/284 485/907/284 +f 465/871/287 463/869/287 468/874/287 486/908/287 +f 461/867/285 459/865/285 485/907/285 467/873/285 +f 469/875/288 465/871/288 486/908/288 480/902/288 +f 457/861/283 455/859/283 483/905/283 484/909/283 +f 486/908/300 468/874/300 487/910/300 488/911/300 +f 467/873/301 485/907/301 489/912/301 490/913/301 +f 484/909/302 483/905/302 491/914/302 492/915/302 +f 480/902/303 486/908/303 488/916/303 481/917/303 +f 468/874/304 467/873/304 490/918/304 487/919/304 +f 485/907/305 484/906/305 492/920/305 489/921/305 +f 483/905/306 479/901/306 482/922/306 491/923/306 +f 489/921/307 492/920/307 493/924/307 494/925/307 +f 495/926/308 496/927/308 497/928/308 498/929/308 499/930/308 500/931/308 494/932/308 493/933/308 +f 491/923/309 482/922/309 496/934/309 495/935/309 +f 482/904/310 481/903/310 497/936/310 496/937/310 +f 488/911/311 487/910/311 499/938/311 498/939/311 +f 490/913/312 489/912/312 494/940/312 500/941/312 +f 492/915/313 491/914/313 495/942/313 493/943/313 +f 481/917/314 488/916/314 498/944/314 497/945/314 +f 487/919/315 490/918/315 500/946/315 499/947/315 +f 501/948/285 502/949/285 503/950/285 504/951/285 +f 502/949/284 505/952/284 506/953/284 503/950/284 +f 505/954/283 507/955/283 508/956/283 506/957/283 +f 507/955/282 509/958/282 510/959/282 508/956/282 +f 509/958/289 511/960/289 512/961/289 510/959/289 +f 511/960/288 513/962/288 514/963/288 512/961/288 +f 512/961/289 515/964/289 516/965/289 510/959/289 +f 513/962/287 517/966/287 518/967/287 514/963/287 +f 517/966/286 501/948/286 504/951/286 518/967/286 +f 511/960/293 519/968/293 520/969/293 513/962/293 +f 521/970/291 522/971/291 520/972/291 519/973/291 523/974/291 524/975/291 525/976/291 526/977/291 +f 507/955/297 524/978/297 523/979/297 509/958/297 +f 513/962/290 520/980/290 522/981/290 517/966/290 +f 502/949/298 526/982/298 525/983/298 505/952/298 +f 509/958/296 523/984/296 519/985/296 511/960/296 +f 517/966/295 522/986/295 521/987/295 501/948/295 +f 501/948/292 521/988/292 526/989/292 502/949/292 +f 505/954/294 525/990/294 524/991/294 507/955/294 +f 527/992/304 528/993/304 529/994/304 530/995/304 +f 504/951/286 527/992/286 530/995/286 518/967/286 +f 503/950/285 531/996/285 527/992/285 504/951/285 +f 508/956/283 532/997/283 533/998/283 506/957/283 +f 514/963/288 534/999/288 515/964/288 512/961/288 +f 510/959/282 516/965/282 532/997/282 508/956/282 +f 518/967/287 530/995/287 534/999/287 514/963/287 +f 506/953/284 533/1000/284 531/996/284 503/950/284 +f 534/999/303 535/1001/303 536/1002/303 515/964/303 +f 516/965/306 537/1003/306 538/1004/306 532/997/306 +f 533/1000/305 539/1005/305 540/1006/305 531/996/305 +f 530/995/300 529/1007/300 535/1008/300 534/999/300 +f 515/964/299 536/1009/299 537/1010/299 516/965/299 +f 532/997/302 538/1011/302 539/1012/302 533/998/302 +f 531/996/301 540/1013/301 528/1014/301 527/992/301 +f 538/1011/313 541/1015/313 542/1016/313 539/1012/313 +f 543/1017/308 542/1018/308 541/1019/308 544/1020/308 545/1021/308 546/1022/308 547/1023/308 548/1024/308 +f 540/1013/312 543/1025/312 548/1026/312 528/1014/312 +f 528/993/315 548/1027/315 547/1028/315 529/994/315 +f 535/1001/314 546/1029/314 545/1030/314 536/1002/314 +f 537/1003/309 544/1031/309 541/1032/309 538/1004/309 +f 539/1005/307 542/1033/307 543/1034/307 540/1006/307 +f 529/1007/311 547/1035/311 546/1036/311 535/1008/311 +f 536/1009/310 545/1037/310 544/1038/310 537/1010/310 +o AmmunitionCan_Cylinder.007 +v -1.114931 0.645018 2.605743 +v -0.705608 0.645018 2.607436 +v -0.705608 0.367434 2.722416 +v -1.115595 0.367434 2.722416 +v -0.705608 0.252454 3.000000 +v -1.115595 0.252454 3.000000 +v -0.705608 0.367434 3.277584 +v -1.115595 0.367434 3.277584 +v -0.705608 0.645018 3.392564 +v -1.115595 0.645018 3.392564 +v -0.705608 0.922602 3.277584 +v -1.115595 0.922602 3.277584 +v -0.705608 1.037581 3.000000 +v -1.115595 1.037581 3.000000 +v -0.705608 0.922602 2.722416 +v -1.115595 0.922602 2.722416 +v -1.680468 0.367434 2.722416 +v -1.680468 0.252454 3.000000 +v -1.696762 0.326183 3.000000 +v -1.696762 0.419567 2.774549 +v -1.696762 0.645018 3.318835 +v -1.696762 0.870468 3.225451 +v -1.717499 0.922175 3.277157 +v -1.717499 0.645018 3.391959 +v -1.680468 0.645018 3.392564 +v -1.680468 0.922602 3.277584 +v -1.680468 0.922602 2.722416 +v -1.680468 0.645018 2.607436 +v -1.696762 0.645018 2.681165 +v -1.696762 0.870469 2.774550 +v -1.680468 0.367434 3.277584 +v -1.696762 0.419567 3.225451 +v -1.680468 1.037582 3.000000 +v -1.696762 0.963853 3.000000 +v -1.717499 1.036977 3.000000 +v -1.717499 0.922175 2.722843 +v -1.807855 0.922175 2.722843 +v -1.807855 1.036977 3.000000 +v -1.717499 0.367861 3.277157 +v -1.717499 0.253059 3.000000 +v -1.717499 0.367861 2.722843 +v -1.717499 0.645018 2.608041 +v -1.807855 0.922175 3.277157 +v -1.827112 0.964049 3.000000 +v -1.827112 0.870607 3.225589 +v -1.807856 0.645018 3.391959 +v -1.807856 0.367861 3.277157 +v -1.807856 0.253059 3.000000 +v -1.807856 0.367861 2.722843 +v -1.807856 0.645018 2.608041 +v -1.827112 0.645018 2.680969 +v -1.827112 0.419429 2.774411 +v -1.850272 0.367220 2.722202 +v -1.850272 0.645018 2.607134 +v -1.827112 0.645018 3.319031 +v -1.827112 0.419429 3.225589 +v -1.827112 0.325987 3.000000 +v -1.827112 0.870607 2.774411 +v -1.850272 1.037884 3.000000 +v -1.850272 0.922816 2.722202 +v -1.929992 0.922816 2.722202 +v -1.929992 1.037884 3.000000 +v -1.850272 0.922816 3.277798 +v -1.850272 0.645018 3.392866 +v -1.850272 0.367220 3.277798 +v -1.850272 0.252152 3.000000 +v -1.929992 0.367220 2.722202 +v -1.929992 0.252152 3.000000 +v -2.043752 0.321683 3.000000 +v -2.043752 0.416385 2.771367 +v -1.929992 0.922816 3.277798 +v -1.929992 0.645018 3.392866 +v -1.929992 0.367220 3.277798 +v -1.929992 0.645018 2.607134 +v -2.043752 0.873651 2.771367 +v -2.043752 0.645018 2.676665 +v -2.121962 0.645018 2.774646 +v -2.121962 0.804367 2.840651 +v -2.043752 0.968353 3.000000 +v -2.043752 0.873651 3.228633 +v -2.043752 0.645018 3.323335 +v -2.043752 0.416385 3.228633 +v -2.121962 0.870372 3.000000 +v -2.179800 0.787147 2.857871 +v -2.179800 0.846019 3.000000 +v -2.121962 0.804367 3.159349 +v -2.121962 0.645018 3.225354 +v -2.121962 0.485669 3.159349 +v -2.121962 0.419664 3.000000 +v -2.121962 0.485669 2.840651 +v -2.179800 0.787147 3.142129 +v -2.179800 0.817735 3.000000 +v -2.179800 0.767148 3.122130 +v -2.179800 0.645018 3.201001 +v -2.179800 0.502889 3.142129 +v -2.179800 0.444017 3.000000 +v -2.179800 0.502889 2.857871 +v -2.179800 0.645018 2.798999 +v -2.179800 0.645018 2.827283 +v -2.179800 0.522888 2.877870 +v -2.139229 0.522888 2.877870 +v -2.139229 0.645018 2.827283 +v -2.179800 0.645018 3.172717 +v -2.179800 0.522888 3.122130 +v -2.179800 0.472301 3.000000 +v -2.179800 0.767148 2.877870 +v -2.139229 0.472301 3.000000 +v -2.139229 0.522888 3.122130 +v -2.139229 0.645018 3.172717 +v -2.139229 0.767148 3.122130 +v -2.139229 0.817735 3.000000 +v -2.139229 0.767148 2.877870 +v -1.416219 0.923800 2.721218 +v -1.416219 0.645018 2.605743 +v -1.415588 1.037581 3.000000 +v -1.416219 0.923800 3.278782 +v -1.416219 0.645018 3.394257 +v -1.416219 0.366236 3.278782 +v -1.415589 0.252454 3.000000 +v -1.416219 0.366236 2.721218 +v -1.161507 0.923800 2.721218 +v -1.161507 0.645018 2.605743 +v -1.161507 1.039275 3.000000 +v -1.161507 0.923800 3.278782 +v -1.161507 0.645018 3.394257 +v -1.161507 0.366236 3.278782 +v -1.161507 0.250761 3.000000 +v -1.161507 0.366236 2.721218 +v -1.379544 0.645018 2.605743 +v -1.379545 0.366236 2.721218 +v -1.379545 1.039275 3.000000 +v -1.379545 0.923800 3.278782 +v -1.382795 0.953877 3.308859 +v -1.382795 1.081811 3.000000 +v -1.319287 0.645018 2.590682 +v -1.221764 0.645018 2.590682 +v -1.221764 0.355586 2.710568 +v -1.319287 0.355586 2.710568 +v -1.158621 0.950501 2.694517 +v -1.158621 1.077036 3.000000 +v -1.379545 0.250761 3.000000 +v -1.319287 0.235700 3.000000 +v -1.316037 0.208225 3.000000 +v -1.316037 0.336159 2.691141 +v -1.221764 0.235700 3.000000 +v -1.158621 0.950501 3.305483 +v -1.158621 0.645018 3.432019 +v -1.379545 0.366236 3.278782 +v -1.379545 0.645018 3.394257 +v -1.382795 0.336159 3.308859 +v -1.382795 0.645018 3.436793 +v -1.221764 0.355586 3.289432 +v -1.319287 0.355586 3.289432 +v -1.221764 0.934450 2.710568 +v -1.221764 1.054336 3.000000 +v -1.224650 1.077036 3.000000 +v -1.224650 0.950501 2.694517 +v -1.382795 0.336159 2.691141 +v -1.382795 0.208225 3.000000 +v -1.221764 0.645018 3.409318 +v -1.319287 0.645018 3.409318 +v -1.158621 0.339535 3.305483 +v -1.158621 0.212999 3.000000 +v -1.319287 1.054336 3.000000 +v -1.319287 0.934450 2.710568 +v -1.316037 0.953877 2.691141 +v -1.316037 1.081811 3.000000 +v -1.221764 0.934450 3.289432 +v -1.319287 0.934450 3.289432 +v -1.224650 0.645018 3.432019 +v -1.224650 0.950501 3.305483 +v -1.316037 0.953877 3.308859 +v -1.316037 0.645018 3.436793 +v -1.158621 0.339535 2.694517 +v -1.158621 0.645018 2.567981 +v -1.379545 0.923800 2.721218 +v -1.382795 0.953877 2.691141 +v -1.224650 0.212999 3.000000 +v -1.224650 0.339535 3.305483 +v -1.316037 0.336159 3.308859 +v -1.224650 0.645018 2.567981 +v -1.224650 0.339535 2.694517 +v -1.382795 0.645018 2.563207 +v -1.316036 0.645018 2.563207 +vt 0.333771 0.122601 +vt 0.250827 0.123696 +vt 0.249913 0.062860 +vt 0.333162 0.061441 +vt 0.248762 0.002028 +vt 0.331770 0.000458 +vt 0.331178 0.489363 +vt 0.248762 0.487236 +vt 0.250204 0.426885 +vt 0.333040 0.428574 +vt 0.251228 0.366447 +vt 0.334273 0.367529 +vt 0.251779 0.305898 +vt 0.334946 0.306336 +vt 0.251870 0.245242 +vt 0.335158 0.245008 +vt 0.387778 0.000111 +vt 0.448672 0.000111 +vt 0.491729 0.043169 +vt 0.491729 0.104062 +vt 0.448671 0.147120 +vt 0.387778 0.147120 +vt 0.344720 0.104062 +vt 0.344720 0.043169 +vt 0.251510 0.184543 +vt 0.334843 0.183746 +vt 0.184792 0.411952 +vt 0.180019 0.475285 +vt 0.164389 0.467565 +vt 0.169068 0.411085 +vt 0.171376 0.116511 +vt 0.173907 0.173123 +vt 0.158223 0.172770 +vt 0.156306 0.116051 +vt 0.187710 0.116136 +vt 0.188188 0.173263 +vt 0.187862 0.290744 +vt 0.187045 0.350935 +vt 0.169556 0.350164 +vt 0.173074 0.290555 +vt 0.169093 0.410760 +vt 0.169539 0.350497 +vt 0.182936 0.002420 +vt 0.185636 0.059963 +vt 0.171429 0.060361 +vt 0.168682 0.009053 +vt 0.188834 0.231566 +vt 0.171901 0.231236 +vt 0.173902 0.173419 +vt 0.171377 0.116200 +vt 0.171433 0.060647 +vt 0.173086 0.290248 +vt 0.171893 0.231559 +vt 0.156248 0.230716 +vt 0.156867 0.289505 +vt 0.136903 0.289718 +vt 0.137407 0.231137 +vt 0.156897 0.060302 +vt 0.156891 0.004402 +vt 0.151894 0.409417 +vt 0.153421 0.349240 +vt 0.147572 0.472946 +vt 0.138952 0.173384 +vt 0.121938 0.230032 +vt 0.123479 0.172751 +vt 0.138214 0.116866 +vt 0.138770 0.061156 +vt 0.138353 0.003891 +vt 0.132267 0.409089 +vt 0.134072 0.349295 +vt 0.126815 0.471069 +vt 0.118159 0.348200 +vt 0.116549 0.407518 +vt 0.099353 0.406365 +vt 0.101957 0.346731 +vt 0.123291 0.116133 +vt 0.123243 0.060809 +vt 0.114079 0.464786 +vt 0.116522 0.407844 +vt 0.120912 0.288422 +vt 0.121921 0.230342 +vt 0.123493 0.172442 +vt 0.123281 0.116431 +vt 0.123249 0.060512 +vt 0.123844 0.009530 +vt 0.118183 0.347881 +vt 0.120892 0.288742 +vt 0.106188 0.229161 +vt 0.104711 0.287384 +vt 0.088322 0.287014 +vt 0.090113 0.228932 +vt 0.107837 0.171744 +vt 0.108130 0.115645 +vt 0.108841 0.060451 +vt 0.096873 0.470749 +vt 0.108910 0.003319 +vt 0.083013 0.405933 +vt 0.079907 0.469925 +vt 0.052378 0.462912 +vt 0.054935 0.410246 +vt 0.092029 0.171671 +vt 0.092656 0.115769 +vt 0.093106 0.060660 +vt 0.092149 0.003387 +vt 0.085408 0.346282 +vt 0.062313 0.290993 +vt 0.059914 0.339771 +vt 0.036698 0.331221 +vt 0.038369 0.297224 +vt 0.063245 0.281096 +vt 0.064719 0.233294 +vt 0.067796 0.166452 +vt 0.068312 0.120444 +vt 0.068137 0.056008 +vt 0.067350 0.008871 +vt 0.057308 0.399614 +vt 0.059278 0.350520 +vt 0.065403 0.223033 +vt 0.066980 0.175906 +vt 0.068752 0.110697 +vt 0.069122 0.065341 +vt 0.041387 0.239824 +vt 0.040360 0.273141 +vt 0.028428 0.270971 +vt 0.029344 0.241254 +vt 0.042861 0.215130 +vt 0.043960 0.182284 +vt 0.046882 0.103646 +vt 0.047140 0.072034 +vt 0.027306 0.453697 +vt 0.029088 0.416990 +vt 0.045633 0.159231 +vt 0.045993 0.127165 +vt 0.045231 0.049246 +vt 0.044683 0.016394 +vt 0.033874 0.391223 +vt 0.035247 0.357006 +vt 0.032082 0.183664 +vt 0.031102 0.212960 +vt 0.026194 0.210732 +vt 0.027037 0.185558 +vt 0.034115 0.157369 +vt 0.034435 0.128769 +vt 0.033381 0.047668 +vt 0.032891 0.018366 +vt 0.021636 0.388880 +vt 0.022861 0.358361 +vt 0.024556 0.328782 +vt 0.026047 0.298459 +vt 0.035522 0.101845 +vt 0.035752 0.073650 +vt 0.014195 0.451072 +vt 0.015784 0.418332 +vt 0.017591 0.360300 +vt 0.016539 0.386525 +vt 0.008490 0.386202 +vt 0.009543 0.359977 +vt 0.030749 0.099822 +vt 0.030947 0.075594 +vt 0.008745 0.448499 +vt 0.010111 0.420366 +vt 0.023445 0.268724 +vt 0.024232 0.243190 +vt 0.029279 0.155303 +vt 0.029555 0.130726 +vt 0.028369 0.045690 +vt 0.027949 0.020511 +vt 0.019510 0.326396 +vt 0.020791 0.300340 +vt 0.363665 0.147342 +vt 0.390456 0.147342 +vt 0.409400 0.166287 +vt 0.409400 0.193078 +vt 0.390456 0.212022 +vt 0.363664 0.212022 +vt 0.344720 0.193078 +vt 0.344720 0.166286 +vt 0.011513 0.326003 +vt 0.012794 0.299946 +vt 0.018468 0.210474 +vt 0.019311 0.185300 +vt 0.023313 0.099761 +vt 0.023511 0.075533 +vt 0.000111 0.448080 +vt 0.001477 0.419947 +vt 0.015608 0.268483 +vt 0.016395 0.242948 +vt 0.021737 0.155218 +vt 0.022012 0.130642 +vt 0.020642 0.045819 +vt 0.020221 0.020640 +vt 0.241179 0.291205 +vt 0.241048 0.352210 +vt 0.241424 0.231328 +vt 0.239656 0.172428 +vt 0.238302 0.114877 +vt 0.236112 0.057792 +vt 0.234041 0.000494 +vt 0.239378 0.414394 +vt 0.236869 0.477863 +vt 0.344164 0.183645 +vt 0.343181 0.122473 +vt 0.344498 0.244994 +vt 0.344304 0.306406 +vt 0.343563 0.367674 +vt 0.342352 0.428813 +vt 0.340421 0.489783 +vt 0.342493 0.061278 +vt 0.341044 0.000111 +vt 0.248540 0.352310 +vt 0.247025 0.414653 +vt 0.518660 0.274425 +vt 0.518660 0.335581 +vt 0.510669 0.338880 +vt 0.510669 0.271126 +vt 0.618935 0.542365 +vt 0.618935 0.562130 +vt 0.555443 0.562130 +vt 0.555443 0.542365 +vt 0.518975 0.265234 +vt 0.518996 0.204078 +vt 0.526092 0.201151 +vt 0.526069 0.268165 +vt 0.244474 0.478305 +vt 0.491952 0.065734 +vt 0.491951 0.002242 +vt 0.497138 0.000111 +vt 0.497138 0.067865 +vt 0.491951 0.562130 +vt 0.491951 0.542365 +vt 0.518929 0.399261 +vt 0.518950 0.338104 +vt 0.526046 0.335178 +vt 0.526022 0.402192 +vt 0.240901 0.000111 +vt 0.243075 0.057522 +vt 0.518660 0.409933 +vt 0.518660 0.471090 +vt 0.510668 0.474388 +vt 0.510668 0.406634 +vt 0.999889 0.542365 +vt 0.999889 0.562130 +vt 0.936397 0.562130 +vt 0.936397 0.542365 +vt 0.543764 0.202918 +vt 0.543742 0.266410 +vt 0.539451 0.268169 +vt 0.539474 0.201156 +vt 0.245271 0.114659 +vt 0.518659 0.003410 +vt 0.518659 0.064565 +vt 0.510668 0.067865 +vt 0.510667 0.000111 +vt 0.872904 0.562130 +vt 0.872904 0.542365 +vt 0.518882 0.533287 +vt 0.518903 0.472131 +vt 0.525999 0.469205 +vt 0.525976 0.536218 +vt 0.246721 0.172240 +vt 0.491952 0.268995 +vt 0.491952 0.205503 +vt 0.497139 0.203372 +vt 0.497139 0.271126 +vt 0.809412 0.562130 +vt 0.809412 0.542365 +vt 0.543718 0.336945 +vt 0.543696 0.400437 +vt 0.539405 0.402196 +vt 0.539428 0.335183 +vt 0.248540 0.231225 +vt 0.491952 0.404503 +vt 0.491952 0.341011 +vt 0.497139 0.338880 +vt 0.497138 0.406634 +vt 0.745919 0.562130 +vt 0.745919 0.542365 +vt 0.519021 0.131207 +vt 0.519042 0.070051 +vt 0.526138 0.067125 +vt 0.526115 0.134138 +vt 0.248518 0.291219 +vt 0.518660 0.206671 +vt 0.518660 0.267827 +vt 0.510668 0.203372 +vt 0.682427 0.562130 +vt 0.682427 0.542365 +vt 0.543671 0.470972 +vt 0.543649 0.534464 +vt 0.539358 0.536223 +vt 0.539381 0.469210 +vt 0.491951 0.540012 +vt 0.491952 0.476519 +vt 0.497138 0.474388 +vt 0.497138 0.542143 +vt 0.543810 0.068891 +vt 0.543788 0.132383 +vt 0.539497 0.134142 +vt 0.539520 0.067129 +vt 0.526161 0.000111 +vt 0.539543 0.000116 +vt 0.543833 0.001878 +vt 0.543811 0.065370 +vt 0.543695 0.403959 +vt 0.543672 0.467451 +vt 0.519044 0.064193 +vt 0.519065 0.003037 +vt 0.543741 0.269931 +vt 0.543719 0.333424 +vt 0.518906 0.466274 +vt 0.518927 0.405118 +vt 0.543787 0.135905 +vt 0.543765 0.199397 +vt 0.518952 0.332247 +vt 0.518973 0.271091 +vt 0.518998 0.198220 +vt 0.519019 0.137064 +vt 0.510668 0.135618 +vt 0.497138 0.135618 +vt 0.510668 0.542143 +vt 0.491952 0.472258 +vt 0.491952 0.408765 +vt 0.518660 0.138917 +vt 0.518660 0.200073 +vt 0.491952 0.336749 +vt 0.491952 0.273257 +vt 0.491952 0.201241 +vt 0.491952 0.137749 +vt 0.518660 0.071163 +vt 0.518660 0.132319 +vt 0.518660 0.477687 +vt 0.518660 0.538844 +vt 0.491952 0.133487 +vt 0.491952 0.069996 +vt 0.518660 0.342179 +vt 0.518660 0.403335 +vn 0.0019 -0.3851 -0.9229 +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 1.0000 0.0000 0.0000 +vn 0.0000 0.9239 -0.3827 +vn 0.0019 0.3851 -0.9229 +vn -0.9726 -0.2149 -0.0890 +vn 0.9560 0.1123 0.2711 +vn -0.9726 0.0890 0.2149 +vn -0.9726 0.0890 -0.2149 +vn -0.9726 -0.0890 -0.2149 +vn -0.9726 -0.2149 0.0890 +vn -0.9726 0.2149 0.0890 +vn -0.9726 -0.0890 0.2149 +vn -0.9726 0.2149 -0.0890 +vn 0.9560 -0.2711 0.1123 +vn 0.9560 -0.1123 -0.2711 +vn 0.9560 0.1123 -0.2711 +vn 0.9560 0.2711 0.1123 +vn 0.9560 -0.1123 0.2711 +vn 0.9560 -0.2711 -0.1123 +vn 0.9560 0.2711 -0.1123 +vn -0.9615 0.2539 0.1052 +vn 0.0000 -0.3827 -0.9239 +vn 0.0000 0.3827 -0.9239 +vn 0.9469 -0.1230 -0.2970 +vn -0.9615 -0.1052 0.2539 +vn -0.9615 -0.2539 -0.1052 +vn -0.9615 0.2539 -0.1052 +vn -0.9615 0.1052 0.2539 +vn -0.9615 -0.2539 0.1052 +vn -0.9615 -0.1052 -0.2539 +vn -0.9615 0.1052 -0.2539 +vn 0.9469 0.1230 -0.2970 +vn 0.9469 0.2970 0.1230 +vn 0.9469 -0.1230 0.2970 +vn 0.9469 -0.2970 -0.1230 +vn 0.9469 0.2970 -0.1230 +vn 0.9469 0.1230 0.2970 +vn 0.9469 -0.2970 0.1230 +vn -0.4917 -0.8045 -0.3332 +vn -0.7567 0.2502 -0.6040 +vn -0.4917 0.8045 -0.3332 +vn -0.4917 0.3332 0.8045 +vn -0.4917 -0.8045 0.3332 +vn -0.4917 -0.3332 -0.8045 +vn -0.4917 0.3332 -0.8045 +vn -0.4917 0.8045 0.3332 +vn -0.4917 -0.3332 0.8045 +vn -0.3625 0.8610 -0.3567 +vn -0.7567 0.6040 0.2502 +vn -0.7567 -0.2502 0.6040 +vn -0.7567 -0.6040 -0.2502 +vn -0.7567 0.6040 -0.2502 +vn -0.7567 0.2502 0.6040 +vn -0.7567 -0.6040 0.2502 +vn -0.7567 -0.2502 -0.6040 +vn -1.0000 0.0000 0.0000 +vn -0.3625 0.3567 0.8610 +vn -0.3625 -0.8610 0.3567 +vn -0.3625 -0.3567 -0.8610 +vn -0.3625 0.3567 -0.8610 +vn -0.3625 0.8610 0.3567 +vn -0.3625 -0.3567 0.8610 +vn -0.3625 -0.8610 -0.3567 +vn -0.0059 0.3827 -0.9239 +vn -0.0030 0.9249 -0.3803 +vn -0.0030 0.9249 0.3803 +vn -0.0059 0.3827 0.9239 +vn -0.0059 -0.3827 0.9239 +vn -0.0030 -0.9249 0.3803 +vn -0.0030 -0.9249 -0.3803 +vn -0.0059 -0.3827 -0.9239 +vn 0.0169 0.3850 -0.9227 +vn 0.0341 0.9233 -0.3825 +vn 0.0341 0.9233 0.3825 +vn 0.0341 0.3825 0.9233 +vn 0.0341 -0.3825 0.9233 +vn 0.0341 -0.9233 0.3825 +vn 0.0341 -0.9233 -0.3825 +vn 0.0169 -0.3850 -0.9227 +vn -0.9966 -0.0761 -0.0315 +vn 0.9966 -0.0762 0.0316 +vn -0.0215 -0.9247 -0.3802 +vn 0.9919 0.1173 0.0486 +vn 0.9966 -0.0316 -0.0762 +vn -0.0215 -0.9247 0.3802 +vn -0.9966 0.0315 -0.0761 +vn -0.9907 -0.1260 0.0522 +vn -0.9966 0.0761 0.0315 +vn 0.9966 0.0762 -0.0316 +vn 0.9919 -0.1173 0.0486 +vn -0.9907 -0.0522 -0.1260 +vn -0.0215 0.9247 0.3802 +vn 0.9919 -0.0486 -0.1173 +vn 0.9966 0.0316 0.0762 +vn -0.0215 0.9247 -0.3802 +vn -0.9966 -0.0761 0.0315 +vn -0.9907 0.1260 -0.0522 +vn 0.9919 0.1173 -0.0486 +vn -0.9907 0.0522 0.1260 +vn -0.9907 0.1260 0.0522 +vn -0.9907 0.0522 -0.1260 +vn 0.9966 0.0762 0.0316 +vn -0.9907 -0.1260 -0.0522 +vn 0.9966 0.0316 -0.0762 +vn -0.9907 -0.0522 0.1260 +vn 0.9966 -0.0762 -0.0316 +vn 0.9966 -0.0316 0.0762 +vn 0.9919 0.0486 -0.1173 +vn -0.9966 -0.0315 0.0762 +vn 0.9919 -0.1173 -0.0486 +vn 0.9919 -0.0486 0.1173 +vn -0.9966 0.0315 0.0762 +vn -0.9966 0.0761 -0.0315 +vn 0.9919 0.0486 0.1173 +vn -0.9966 -0.0315 -0.0761 +s off +f 549/1039/316 550/1040/316 551/1041/316 552/1042/316 +f 552/1042/317 551/1041/317 553/1043/317 554/1044/317 +f 554/1045/318 553/1046/318 555/1047/318 556/1048/318 +f 556/1048/319 555/1047/319 557/1049/319 558/1050/319 +f 558/1050/320 557/1049/320 559/1051/320 560/1052/320 +f 560/1052/321 559/1051/321 561/1053/321 562/1054/321 +f 551/1055/322 550/1056/322 563/1057/322 561/1058/322 559/1059/322 557/1060/322 555/1061/322 553/1062/322 +f 562/1054/323 561/1053/323 563/1063/323 564/1064/323 +f 564/1064/324 563/1063/324 550/1040/324 549/1039/324 +f 565/1065/325 566/1066/325 567/1067/325 568/1068/325 +f 569/1069/326 570/1070/326 571/1071/326 572/1072/326 +f 573/1073/327 574/1074/327 570/1070/327 569/1069/327 +f 575/1075/328 576/1076/328 577/1077/328 578/1078/328 +f 576/1076/329 565/1065/329 568/1079/329 577/1080/329 +f 566/1081/330 579/1082/330 580/1083/330 567/1084/330 +f 574/1074/331 581/1085/331 582/1086/331 570/1087/331 +f 579/1082/332 573/1073/332 569/1088/332 580/1089/332 +f 581/1085/333 575/1075/333 578/1090/333 582/1091/333 +f 583/1092/323 584/1093/323 585/1094/323 586/1095/323 +f 567/1084/334 580/1083/334 587/1096/334 588/1097/334 +f 577/1080/335 568/1079/335 589/1098/335 590/1099/335 +f 578/1078/336 577/1077/336 590/1099/336 584/1093/336 +f 570/1087/337 582/1086/337 583/1092/337 571/1071/337 +f 580/1089/338 569/1088/338 572/1072/338 587/1096/338 +f 568/1068/339 567/1067/339 588/1100/339 589/1098/339 +f 582/1091/340 578/1090/340 584/1093/340 583/1092/340 +f 591/1101/341 586/1095/341 592/1102/341 593/1103/341 +f 572/1072/320 571/1071/320 591/1101/320 594/1104/320 +f 588/1097/318 587/1096/318 595/1105/318 596/1106/318 +f 590/1099/342 589/1098/342 597/1107/342 598/1108/342 +f 584/1093/343 590/1099/343 598/1108/343 585/1094/343 +f 571/1071/321 583/1092/321 586/1095/321 591/1101/321 +f 587/1096/319 572/1072/319 594/1104/319 595/1105/319 +f 589/1098/317 588/1100/317 596/1109/317 597/1107/317 +f 599/1110/344 600/1111/344 601/1112/344 602/1113/344 +f 595/1105/345 594/1104/345 603/1114/345 604/1115/345 +f 597/1107/346 596/1109/346 605/1116/346 600/1117/346 +f 586/1095/347 585/1094/347 606/1118/347 592/1119/347 +f 594/1104/348 591/1101/348 593/1120/348 603/1121/348 +f 596/1106/349 595/1105/349 604/1122/349 605/1123/349 +f 598/1108/350 597/1107/350 600/1111/350 599/1110/350 +f 585/1094/351 598/1108/351 599/1124/351 606/1125/351 +f 607/1126/323 608/1127/323 609/1128/323 610/1129/323 +f 606/1125/352 599/1124/352 602/1113/352 608/1127/352 +f 593/1103/353 592/1102/353 607/1126/353 611/1130/353 +f 604/1115/354 603/1114/354 612/1131/354 613/1132/354 +f 600/1117/355 605/1116/355 614/1133/355 601/1112/355 +f 592/1119/356 606/1118/356 608/1127/356 607/1126/356 +f 603/1121/357 593/1120/357 611/1130/357 612/1131/357 +f 605/1123/358 604/1122/358 613/1132/358 614/1134/358 +f 615/1135/359 616/1136/359 617/1137/359 618/1138/359 +f 612/1131/320 611/1130/320 619/1139/320 620/1140/320 +f 614/1134/318 613/1132/318 621/1141/318 616/1142/318 +f 602/1113/342 601/1112/342 615/1135/342 622/1143/342 +f 608/1127/343 602/1113/343 622/1143/343 609/1128/343 +f 611/1130/321 607/1126/321 610/1129/321 619/1139/321 +f 613/1132/319 612/1131/319 620/1140/319 621/1141/319 +f 601/1112/317 614/1133/317 616/1136/317 615/1135/317 +f 623/1144/360 624/1145/360 625/1146/360 626/1147/360 +f 610/1129/361 609/1128/361 623/1148/361 627/1149/361 +f 620/1140/362 619/1139/362 628/1150/362 629/1151/362 +f 616/1142/363 621/1141/363 630/1152/363 617/1153/363 +f 622/1143/364 615/1135/364 618/1154/364 624/1155/364 +f 609/1128/365 622/1143/365 624/1145/365 623/1144/365 +f 619/1139/366 610/1129/366 627/1156/366 628/1157/366 +f 621/1141/367 620/1140/367 629/1158/367 630/1159/367 +f 631/1160/368 626/1161/368 632/1162/368 633/1163/368 +f 628/1157/369 627/1156/369 631/1164/369 634/1165/369 +f 630/1159/370 629/1158/370 635/1166/370 636/1167/370 +f 618/1138/371 617/1137/371 637/1168/371 638/1169/371 +f 627/1149/372 623/1148/372 626/1161/372 631/1160/372 +f 629/1151/373 628/1150/373 634/1170/373 635/1171/373 +f 617/1153/374 630/1152/374 636/1172/374 637/1173/374 +f 624/1155/375 618/1154/375 638/1174/375 625/1175/375 +f 639/1176/376 633/1177/376 640/1178/376 641/1179/376 +f 635/1171/377 634/1170/377 639/1180/377 642/1181/377 +f 637/1173/378 636/1172/378 643/1182/378 644/1183/378 +f 625/1175/379 638/1174/379 645/1184/379 646/1185/379 +f 626/1147/380 625/1146/380 646/1186/380 632/1187/380 +f 634/1165/381 631/1164/381 633/1177/381 639/1176/381 +f 636/1167/382 635/1166/382 642/1188/382 643/1189/382 +f 638/1169/383 637/1168/383 644/1190/383 645/1191/383 +f 647/1192/320 648/1193/320 649/1194/320 650/1195/320 +f 643/1189/376 642/1188/376 651/1196/376 652/1197/376 +f 645/1191/376 644/1190/376 653/1198/376 648/1199/376 +f 633/1163/376 632/1162/376 654/1200/376 640/1201/376 +f 642/1181/376 639/1180/376 641/1202/376 651/1203/376 +f 644/1183/376 643/1182/376 652/1204/376 653/1205/376 +f 646/1185/376 645/1184/376 648/1193/376 647/1192/376 +f 632/1187/376 646/1186/376 647/1206/376 654/1207/376 +f 650/1208/376 649/1209/376 655/1210/376 656/1211/376 657/1212/376 658/1213/376 659/1214/376 660/1215/376 +f 654/1207/319 647/1206/319 650/1216/319 660/1217/319 +f 641/1179/317 640/1178/317 659/1218/317 658/1219/317 +f 652/1197/343 651/1196/343 657/1220/343 656/1221/343 +f 648/1199/321 653/1198/321 655/1222/321 649/1223/321 +f 640/1201/318 654/1200/318 660/1224/318 659/1225/318 +f 651/1203/342 641/1202/342 658/1226/342 657/1227/342 +f 653/1205/323 652/1204/323 656/1228/323 655/1229/323 +f 575/1075/384 661/1230/384 662/1231/384 576/1076/384 +f 581/1085/385 663/1232/385 661/1230/385 575/1075/385 +f 574/1074/386 664/1233/386 663/1232/386 581/1085/386 +f 573/1073/387 665/1234/387 664/1233/387 574/1074/387 +f 579/1082/388 666/1235/388 665/1234/388 573/1073/388 +f 566/1081/389 667/1236/389 666/1235/389 579/1082/389 +f 565/1065/390 668/1237/390 667/1238/390 566/1066/390 +f 576/1076/391 662/1231/391 668/1237/391 565/1065/391 +f 669/1239/392 564/1064/392 549/1039/392 670/1240/392 +f 671/1241/393 562/1054/393 564/1064/393 669/1239/393 +f 672/1242/394 560/1052/394 562/1054/394 671/1241/394 +f 673/1243/395 558/1050/395 560/1052/395 672/1242/395 +f 674/1244/396 556/1048/396 558/1050/396 673/1243/396 +f 675/1245/397 554/1045/397 556/1048/397 674/1244/397 +f 676/1246/398 552/1042/398 554/1044/398 675/1247/398 +f 670/1240/399 549/1039/399 552/1042/399 676/1246/399 +f 662/1231/342 677/1248/342 678/1249/342 668/1237/342 +f 679/1250/400 680/1251/400 681/1252/400 682/1253/400 +f 683/1254/342 684/1255/342 685/1256/342 686/1257/342 +f 671/1258/401 669/1259/401 687/1260/401 688/1261/401 +f 668/1237/402 678/1249/402 689/1262/402 667/1238/402 +f 686/1263/403 690/1264/403 691/1265/403 692/1266/403 +f 686/1257/317 685/1256/317 693/1267/317 690/1268/317 +f 673/1269/404 672/1270/404 694/1271/404 695/1272/404 +f 667/1236/405 689/1273/405 696/1274/405 666/1235/405 +f 697/1275/406 696/1276/406 698/1277/406 699/1278/406 +f 690/1279/318 693/1280/318 700/1281/318 701/1282/318 +f 702/1283/407 703/1284/407 704/1285/407 705/1286/407 +f 666/1235/319 696/1274/319 697/1287/319 665/1234/319 +f 689/1288/408 678/1289/408 706/1290/408 707/1291/408 +f 701/1282/319 700/1281/319 708/1292/319 709/1293/319 +f 675/1294/409 674/1295/409 710/1296/409 711/1297/409 +f 665/1234/320 697/1287/320 680/1298/320 664/1233/320 +f 712/1299/410 713/1300/410 714/1301/410 715/1302/410 +f 709/1293/320 708/1292/320 716/1303/320 717/1304/320 +f 716/1305/411 708/1306/411 718/1307/411 719/1308/411 +f 664/1233/412 680/1298/412 679/1309/412 663/1232/412 +f 709/1310/413 717/1311/413 720/1312/413 721/1313/413 +f 717/1304/321 716/1303/321 703/1314/321 712/1315/321 +f 670/1316/414 676/1317/414 722/1318/414 723/1319/414 +f 663/1232/415 679/1309/415 724/1320/415 661/1230/415 +f 724/1321/416 679/1322/416 682/1253/416 725/1323/416 +f 712/1315/323 703/1314/323 702/1324/323 713/1325/323 +f 700/1326/417 693/1327/417 726/1328/417 727/1329/417 +f 661/1230/343 724/1320/343 677/1248/343 662/1231/343 +f 690/1330/418 701/1331/418 728/1332/418 691/1333/418 +f 713/1325/343 702/1324/343 684/1255/343 683/1254/343 +f 685/1334/419 684/1335/419 729/1336/419 730/1337/419 +f 729/1336/342 723/1319/342 722/1318/342 730/1337/342 +f 730/1337/317 722/1318/317 711/1338/317 726/1339/317 +f 726/1328/318 711/1297/318 710/1296/318 727/1329/318 +f 727/1329/319 710/1296/319 695/1272/319 718/1307/319 +f 718/1307/320 695/1272/320 694/1271/320 719/1308/320 +f 719/1308/321 694/1271/321 688/1261/321 704/1285/321 +f 704/1285/323 688/1261/323 687/1260/323 705/1286/323 +f 705/1286/343 687/1260/343 723/1319/343 729/1336/343 +f 693/1340/420 685/1341/420 730/1337/420 726/1339/420 +f 708/1342/421 700/1343/421 727/1329/421 718/1307/421 +f 676/1344/422 675/1345/422 711/1338/422 722/1318/422 +f 703/1346/423 716/1347/423 719/1308/423 704/1285/423 +f 674/1348/424 673/1349/424 695/1272/424 710/1296/424 +f 684/1350/425 702/1351/425 705/1286/425 729/1336/425 +f 672/1352/426 671/1353/426 688/1261/426 694/1271/426 +f 669/1354/427 670/1355/427 723/1319/427 687/1260/427 +f 731/1356/342 732/1357/342 692/1266/342 706/1290/342 +f 706/1290/317 692/1266/317 691/1265/317 707/1291/317 +f 707/1358/318 691/1333/318 728/1332/318 698/1277/318 +f 698/1277/319 728/1332/319 721/1313/319 699/1278/319 +f 699/1278/320 721/1313/320 720/1312/320 681/1252/320 +f 681/1252/321 720/1312/321 715/1302/321 682/1253/321 +f 682/1253/323 715/1302/323 714/1301/323 725/1323/323 +f 725/1323/343 714/1301/343 732/1357/343 731/1356/343 +f 701/1359/428 709/1360/428 721/1313/428 728/1332/428 +f 677/1361/429 724/1362/429 725/1323/429 731/1356/429 +f 717/1363/430 712/1364/430 715/1302/430 720/1312/430 +f 713/1365/431 683/1366/431 732/1357/431 714/1301/431 +f 678/1367/432 677/1368/432 731/1356/432 706/1290/432 +f 696/1369/433 689/1370/433 707/1358/433 698/1277/433 +f 683/1371/434 686/1372/434 692/1266/434 732/1357/434 +f 680/1373/435 697/1374/435 699/1278/435 681/1252/435 +o Grip_Cube.001 +v -1.325666 -0.019640 3.170554 +v -1.325666 0.137146 3.170554 +v -1.472478 0.148884 3.071087 +v -1.472478 -0.007902 3.071087 +v -1.325666 -0.019640 2.829446 +v -1.325666 0.137146 2.829446 +v -1.062875 0.137146 2.829446 +v -1.062875 -0.019640 2.829446 +v -1.130714 -0.142396 2.829446 +v -0.914155 -0.020276 2.892811 +v -0.981994 -0.143031 2.892811 +v -1.062875 -0.019640 3.170554 +v -1.062875 0.137146 3.170554 +v -0.914155 0.136510 2.892811 +v -1.259746 -0.728734 2.829446 +v -1.147611 -0.221161 2.829446 +v -0.998891 -0.221796 2.892811 +v -1.111026 -0.729370 2.892811 +v -1.346664 -0.179545 3.170554 +v -1.130714 -0.142396 3.170554 +v -1.346664 -0.179545 2.829446 +v -1.447785 -0.735647 3.170554 +v -1.363562 -0.258310 3.170554 +v -1.510373 -0.246572 3.071087 +v -1.594597 -0.723909 3.071087 +v -0.981994 -0.143031 3.107189 +v -0.914155 -0.020276 3.107189 +v -1.363562 -0.258310 2.829446 +v -1.447785 -0.735647 2.829446 +v -1.594597 -0.723909 2.928913 +v -1.510373 -0.246572 2.928913 +v -1.147611 -0.221161 3.170554 +v -1.259746 -0.728734 3.170554 +v -1.483874 -0.749924 3.170554 +v -1.219691 -0.868011 3.170554 +v -1.493475 -0.167807 3.071087 +v -1.483874 -0.751872 2.829446 +v -1.219691 -0.868011 2.829446 +v -0.914155 0.136510 3.107189 +v -1.472478 -0.007902 2.928913 +v -1.472478 0.148884 2.928913 +v -1.493475 -0.167807 2.928913 +v -1.630686 -0.740134 2.928913 +v -1.630686 -0.740134 3.071087 +v -0.998891 -0.221796 3.107189 +v -1.111026 -0.729370 3.107189 +v -1.100054 -0.868647 3.107189 +v -1.100054 -0.868647 2.892811 +vt 0.495816 0.528592 +vt 0.444632 0.528911 +vt 0.440297 0.471397 +vt 0.491177 0.470932 +vt 0.282573 0.528234 +vt 0.333716 0.528699 +vt 0.333553 0.614149 +vt 0.282755 0.613843 +vt 0.242508 0.592317 +vt 0.281795 0.666212 +vt 0.241263 0.645226 +vt 0.495309 0.614379 +vt 0.444469 0.614360 +vt 0.332850 0.666779 +vt 0.047162 0.550460 +vt 0.216648 0.586778 +vt 0.215631 0.639752 +vt 0.048294 0.604938 +vt 0.548343 0.521923 +vt 0.535717 0.592975 +vt 0.230173 0.521390 +vt 0.738670 0.486066 +vt 0.574234 0.516502 +vt 0.568535 0.459054 +vt 0.724885 0.427074 +vt 0.536722 0.646015 +vt 0.495988 0.666825 +vt 0.204360 0.515900 +vt 0.041140 0.485235 +vt 0.054329 0.426535 +vt 0.210200 0.458565 +vt 0.561660 0.587527 +vt 0.731929 0.551750 +vt 0.744574 0.473715 +vt 0.779174 0.567328 +vt 0.542981 0.464301 +vt 0.334470 0.132827 +vt 0.334470 0.038990 +vt 0.445386 0.038990 +vt 0.445387 0.133084 +vt 0.000088 0.565542 +vt 0.034734 0.473006 +vt 0.444846 0.667087 +vt 0.287393 0.470661 +vt 0.338208 0.471269 +vt 0.412478 0.429978 +vt 0.412380 0.480959 +vt 0.366151 0.480870 +vt 0.366248 0.429890 +vt 0.366348 0.377448 +vt 0.412578 0.377536 +vt 0.366398 0.351254 +vt 0.412628 0.351342 +vt 0.366699 0.193644 +vt 0.412928 0.193732 +vt 0.366723 0.180778 +vt 0.412953 0.180866 +vt 0.235698 0.463880 +vt 0.047562 0.415228 +vt 0.731595 0.415639 +vt 0.353968 0.713528 +vt 0.354065 0.662547 +vt 0.423773 0.662680 +vt 0.423676 0.713661 +vt 0.423589 0.759266 +vt 0.353881 0.759133 +vt 0.423539 0.785460 +vt 0.353831 0.785327 +vt 0.423216 0.954484 +vt 0.353508 0.954351 +vt 0.423129 0.999912 +vt 0.353422 0.999779 +vt 0.776716 0.612484 +vt 0.730434 0.606501 +vt 0.562445 0.640646 +vt 0.355074 0.000088 +vt 0.424782 0.000088 +vt 0.002168 0.610517 +vn -0.5609 0.0000 0.8279 +vn 0.0000 0.0000 -1.0000 +vn 0.0009 0.0005 -1.0000 +vn 0.3824 -0.2113 -0.8995 +vn 0.0000 0.0000 1.0000 +vn -0.0010 0.0003 1.0000 +vn 0.3920 0.0000 -0.9200 +vn 0.3915 0.0009 -0.9202 +vn 0.0005 1.0000 -0.0009 +vn 0.0000 1.0000 0.0000 +vn 0.0003 1.0000 -0.0010 +vn 0.3902 -0.0862 -0.9167 +vn 0.3907 -0.0861 -0.9165 +vn 0.3901 -0.0868 -0.9167 +vn -0.5529 0.0976 0.8275 +vn 0.3824 -0.2113 0.8995 +vn -0.5529 0.0976 -0.8275 +vn 0.0005 -0.0003 1.0000 +vn -0.0005 -0.0002 -1.0000 +vn -0.5505 0.1181 0.8264 +vn 0.0003 0.0005 1.0000 +vn 0.0000 -0.0006 -1.0000 +vn -0.4053 -0.9142 0.0026 +vn 0.3917 -0.0010 0.9201 +vn 0.3920 0.0000 0.9200 +vn -0.5609 0.0000 -0.8279 +vn -1.0000 0.0000 0.0000 +vn -0.9915 0.1302 0.0000 +vn -0.9778 0.2098 0.0000 +vn -0.9848 0.1738 0.0000 +vn -0.4100 0.9121 0.0000 +vn -0.5554 0.0729 0.8284 +vn -0.0731 -0.9973 0.0040 +vn 0.0797 0.9968 0.0000 +vn -0.5554 0.0729 -0.8284 +vn -0.3339 0.7427 -0.5805 +vn -0.5505 0.1181 -0.8264 +vn -0.3228 0.7637 0.5590 +vn 1.0000 0.0000 0.0000 +vn 0.8752 -0.4837 -0.0000 +vn 0.9778 -0.2098 -0.0000 +vn 0.9777 -0.2102 0.0004 +vn 0.9779 -0.2092 -0.0001 +vn 0.9765 -0.2157 0.0006 +vn 0.9765 -0.2154 0.0004 +vn 0.9765 -0.2157 0.0000 +vn 0.9969 0.0785 0.0000 +vn 0.4260 0.0780 0.9013 +vn 0.3903 -0.0837 0.9169 +vn 0.3899 -0.0842 0.9170 +vn 0.3907 -0.0841 0.9167 +vn -0.0053 -1.0000 0.0000 +vn 0.4260 0.0780 -0.9013 +vn 0.3903 -0.0832 -0.9169 +vn 0.3903 -0.0837 -0.9169 +vn 0.3898 -0.0838 -0.9171 +vn 0.0035 1.0000 -0.0006 +vn 0.0053 1.0000 -0.0001 +vn 0.0043 1.0000 0.0000 +vn 0.3898 -0.0858 0.9169 +vn 0.3902 -0.0862 0.9167 +vn 0.3906 -0.0858 0.9166 +s off +f 733/1375/436 734/1376/436 735/1377/436 736/1378/436 +f 737/1379/437 738/1380/437 739/1381/438 740/1382/437 +f 741/1383/439 740/1382/439 742/1384/439 743/1385/439 +f 744/1386/440 745/1387/441 734/1376/440 733/1375/440 +f 740/1382/442 739/1381/443 746/1388/442 742/1384/442 +f 739/1381/444 738/1380/445 734/1376/445 745/1387/446 +f 747/1389/447 748/1390/448 749/1391/449 750/1392/447 +f 744/1386/440 733/1375/440 751/1393/440 752/1394/440 +f 737/1379/437 740/1382/437 741/1383/437 753/1395/437 +f 754/1396/450 755/1397/450 756/1398/450 757/1399/450 +f 744/1386/451 752/1394/451 758/1400/451 759/1401/451 +f 760/1402/452 761/1403/452 762/1404/452 763/1405/452 +f 752/1394/440 751/1393/440 755/1397/440 764/1406/453 +f 753/1395/437 741/1383/437 748/1390/454 760/1402/437 +f 765/1407/440 754/1396/440 766/1408/440 767/1409/440 +f 755/1397/455 751/1393/455 768/1410/455 756/1398/455 +f 764/1406/456 755/1397/440 754/1396/440 765/1407/440 +f 760/1402/437 748/1390/457 747/1389/437 761/1403/437 +f 769/1411/458 770/1412/458 767/1413/458 766/1414/458 +f 761/1403/437 747/1389/437 770/1415/437 769/1416/437 +f 745/1387/459 744/1386/460 759/1401/460 771/1417/460 +f 738/1380/461 737/1379/461 772/1418/461 773/1419/461 +f 736/1420/462 735/1421/462 773/1422/462 772/1423/462 +f 736/1420/463 772/1423/463 774/1424/463 768/1425/463 +f 768/1425/464 774/1424/464 763/1426/464 756/1427/464 +f 756/1427/465 763/1426/465 762/1428/465 757/1429/465 +f 757/1429/466 762/1428/466 775/1430/466 776/1431/466 +f 751/1393/467 733/1375/467 736/1378/467 768/1410/467 +f 769/1411/468 766/1414/468 776/1431/468 775/1430/468 +f 734/1376/469 738/1380/469 773/1422/469 735/1421/469 +f 737/1379/470 753/1395/470 774/1432/470 772/1418/470 +f 761/1403/471 769/1416/471 775/1433/471 762/1404/471 +f 753/1395/472 760/1402/472 763/1405/472 774/1432/472 +f 766/1408/473 754/1396/473 757/1399/473 776/1434/473 +f 742/1435/474 746/1436/474 771/1437/474 759/1438/474 +f 742/1435/475 759/1438/475 758/1439/475 743/1440/475 +f 743/1440/476 758/1439/476 777/1441/477 749/1442/478 +f 749/1442/479 777/1441/480 778/1443/481 750/1444/481 +f 750/1444/482 778/1443/482 779/1445/482 780/1446/482 +f 765/1407/483 767/1409/483 779/1447/483 778/1448/483 +f 752/1394/484 764/1406/485 777/1449/486 758/1400/484 +f 767/1413/487 770/1412/487 780/1450/487 779/1451/487 +f 770/1415/488 747/1389/488 750/1392/488 780/1452/488 +f 748/1390/489 741/1383/490 743/1385/490 749/1391/491 +f 739/1381/492 745/1387/493 771/1437/494 746/1436/494 +f 764/1406/495 765/1407/496 778/1448/496 777/1449/497 +o HandleComfortThing_Cube.006 +v -1.508359 -0.214874 3.108693 +v -1.504838 -0.215309 2.893183 +v -1.564296 -0.274102 2.910781 +v -1.567402 -0.273718 3.089973 +v -1.348484 -0.928894 2.825721 +v -1.331423 -0.813343 2.825721 +v -1.263873 -0.855085 2.817547 +v -1.262042 -0.949106 2.817547 +v -1.263873 -0.855085 3.182453 +v -1.207149 -0.865197 3.174081 +v -1.207149 -0.865197 2.825919 +v -1.570189 -0.877055 3.143835 +v -1.435938 -0.379825 3.163084 +v -1.622805 -0.828855 3.096503 +v -1.262042 -0.949106 3.182453 +v -1.348484 -0.928894 3.174279 +v -1.435938 -0.379825 2.836916 +v -1.112852 -0.829663 3.130793 +v -1.112852 -0.829663 2.869207 +v -1.205319 -0.959218 2.825919 +v -1.205319 -0.959218 3.174081 +v -1.111021 -0.923684 3.130793 +v -1.072210 -0.848373 3.087270 +v -1.073111 -0.802094 3.087270 +v -1.111021 -0.923684 2.869207 +v -1.072210 -0.848373 2.912730 +v -1.073111 -0.802094 2.912730 +v -1.681696 -0.766817 2.927831 +v -1.689936 -0.702839 2.940395 +v -1.640119 -0.414721 2.927821 +v -1.619700 -0.829239 2.904046 +v -1.684682 -0.766448 3.071709 +v -1.643105 -0.414353 3.071698 +v -1.666879 -0.498637 2.940385 +v -1.669865 -0.498268 3.058900 +v -1.692922 -0.702470 3.058910 +v -1.690559 -0.607421 3.054481 +v -1.687573 -0.607789 2.944693 +v -1.331423 -0.813343 3.174279 +v -1.416650 -0.767127 2.821697 +v -1.416650 -0.767127 3.178303 +v -1.469005 -0.685482 2.828092 +v -1.469005 -0.685482 3.171908 +v -1.542909 -0.883434 2.838818 +v -1.516768 -0.889546 2.825611 +v -1.516768 -0.889546 3.174389 +v -1.542909 -0.883434 3.161182 +v -1.432626 -0.909220 2.821697 +v -1.432626 -0.909220 3.178303 +v -1.484962 -0.656299 2.841112 +v -1.570189 -0.877055 2.856165 +v -1.484962 -0.656299 3.158888 +vt 0.766671 0.048954 +vt 0.764142 0.169699 +vt 0.717619 0.158385 +vt 0.719660 0.057986 +vt 0.042513 0.365144 +vt 0.100642 0.395217 +vt 0.066109 0.423644 +vt 0.015965 0.407457 +vt 0.569776 0.563304 +vt 0.569776 0.767768 +vt 0.537491 0.763077 +vt 0.537491 0.567995 +vt 0.727808 0.563002 +vt 0.754866 0.275487 +vt 0.833210 0.204917 +vt 0.773959 0.549883 +vt 0.212049 0.200035 +vt 0.162307 0.204615 +vt 0.162307 0.000151 +vt 0.212049 0.004731 +vt 0.898905 0.574157 +vt 0.998844 0.605685 +vt 0.999849 0.726451 +vt 0.898904 0.756916 +vt 0.481028 0.738822 +vt 0.481028 0.592250 +vt 0.050295 0.452178 +vt 0.000151 0.435991 +vt 0.567644 0.488457 +vt 0.547535 0.537161 +vt 0.515547 0.530752 +vt 0.535656 0.482048 +vt 0.130023 0.199924 +vt 0.130023 0.004842 +vt 0.488806 0.442281 +vt 0.468697 0.490984 +vt 0.453927 0.439700 +vt 0.463825 0.415727 +vt 0.050295 0.513631 +vt 0.000151 0.497444 +vt 0.073559 0.175669 +vt 0.073559 0.029097 +vt 0.026087 0.151282 +vt 0.000151 0.151282 +vt 0.000151 0.053484 +vt 0.026087 0.053484 +vt 0.453927 0.714435 +vt 0.453927 0.616637 +vt 0.054374 0.549860 +vt 0.029692 0.541893 +vt 0.434697 0.361827 +vt 0.198019 0.204917 +vt 0.234409 0.210548 +vt 0.375642 0.293880 +vt 0.378192 0.156148 +vt 0.379610 0.048306 +vt 0.428848 0.062216 +vt 0.427492 0.142839 +vt 0.453625 0.405806 +vt 0.152314 0.227692 +vt 0.854471 0.247808 +vt 0.821023 0.529815 +vt 0.629927 0.065835 +vt 0.628389 0.146455 +vt 0.579211 0.138286 +vt 0.580423 0.071870 +vt 0.868174 0.336835 +vt 0.840364 0.498449 +vt 0.464907 0.069804 +vt 0.463716 0.136221 +vt 0.518136 0.073107 +vt 0.517022 0.134636 +vt 0.284278 0.229447 +vt 0.337590 0.261673 +vt 0.868174 0.386706 +vt 0.858265 0.448212 +vt 0.614269 0.567885 +vt 0.614269 0.763188 +vt 0.668593 0.565630 +vt 0.668593 0.765443 +vt 0.722938 0.569213 +vt 0.722938 0.761860 +vt 0.323927 0.192696 +vt 0.308885 0.200096 +vt 0.308884 0.004670 +vt 0.323927 0.012070 +vt 0.260467 0.202289 +vt 0.260466 0.002476 +vt 0.611663 0.480525 +vt 0.596973 0.544303 +vt 0.665618 0.473822 +vt 0.644946 0.551228 +vt 0.709766 0.441928 +vt 0.692917 0.558152 +vt 0.103015 0.268876 +vt 0.213001 0.340681 +vt 0.193552 0.345402 +vt 0.094041 0.283036 +vt 0.140668 0.358420 +vt 0.068278 0.324089 +vt 0.349630 0.418726 +vt 0.112923 0.253297 +vt 0.339625 0.182976 +vt 0.339625 0.021790 +vt 0.741574 0.576509 +vt 0.741574 0.754564 +vt 0.725950 0.430156 +vt 0.709519 0.560474 +vn -0.7044 0.7097 -0.0133 +vn -0.1026 0.0075 -0.9947 +vn 0.1755 0.9845 0.0000 +vn -0.5269 0.0940 0.8447 +vn -0.2277 -0.9737 0.0000 +vn 0.9190 0.3942 0.0057 +vn -0.3526 0.9358 0.0000 +vn 0.1465 0.0029 -0.9892 +vn 0.1465 0.0029 0.9892 +vn -0.1755 -0.9845 0.0000 +vn 0.7339 0.0143 0.6791 +vn 0.4147 0.0081 -0.9099 +vn 0.4147 0.0081 0.9099 +vn 0.3526 -0.9358 0.0000 +vn 0.9998 0.0195 0.0000 +vn 0.8889 -0.4581 0.0000 +vn -0.5700 0.8216 0.0000 +vn 0.7339 0.0143 -0.6791 +vn -0.3667 0.0433 -0.9293 +vn -0.7097 -0.7044 -0.0113 +vn -0.3211 0.0435 -0.9461 +vn -0.3371 0.0447 0.9404 +vn -0.9525 0.3038 -0.0225 +vn -0.3829 0.0452 0.9227 +vn -0.8802 0.4743 -0.0177 +vn -0.9916 -0.1277 -0.0222 +vn -0.9822 0.1862 -0.0263 +vn -0.9993 0.0248 -0.0262 +vn -0.5482 0.0619 -0.8340 +vn -0.5564 0.0629 0.8286 +vn 0.5257 0.8507 0.0000 +vn 0.4767 0.8791 0.0000 +vn 0.8418 0.5398 0.0000 +vn -0.1026 0.0075 0.9947 +vn 0.0452 -0.0058 0.9990 +vn -0.0616 0.0185 0.9979 +vn -0.4504 0.1202 -0.8847 +vn -0.0616 0.0185 -0.9979 +vn 0.0452 -0.0058 -0.9990 +vn -0.5492 0.1006 -0.8296 +vn -0.3469 0.0702 -0.9353 +vn -0.6850 -0.7286 -0.0038 +vn 0.8774 0.4798 0.0000 +vn 0.9846 -0.1746 0.0000 +vn -0.4504 0.1202 0.8847 +vn -0.3469 0.0702 0.9353 +s off +f 781/1453/498 782/1454/498 783/1455/498 784/1456/498 +f 785/1457/499 786/1458/499 787/1459/499 788/1460/499 +f 787/1461/500 789/1462/500 790/1463/500 791/1464/500 +f 792/1465/501 793/1466/501 781/1467/501 794/1468/501 +f 785/1469/502 788/1470/502 795/1471/502 796/1472/502 +f 797/1473/503 782/1474/503 781/1475/503 793/1476/503 +f 791/1464/504 790/1463/504 798/1477/504 799/1478/504 +f 788/1460/505 787/1459/505 791/1479/505 800/1480/505 +f 789/1481/506 795/1482/506 801/1483/506 790/1484/506 +f 795/1471/507 788/1470/507 800/1485/507 801/1486/507 +f 798/1487/508 802/1488/508 803/1489/508 804/1490/508 +f 800/1480/509 791/1479/509 799/1491/509 805/1492/509 +f 790/1484/510 801/1483/510 802/1488/510 798/1487/510 +f 801/1486/511 800/1485/511 805/1493/511 802/1494/511 +f 806/1495/512 807/1496/512 804/1497/512 803/1498/512 +f 802/1494/513 805/1493/513 806/1495/513 803/1498/513 +f 799/1478/514 798/1477/514 804/1499/514 807/1500/514 +f 805/1492/515 799/1491/515 807/1501/515 806/1502/515 +f 783/1503/516 808/1504/516 809/1505/516 810/1506/516 +f 811/1507/517 794/1508/517 812/1509/517 808/1510/517 +f 782/1511/518 811/1512/518 808/1504/518 783/1503/518 +f 794/1468/519 781/1467/519 784/1513/519 812/1514/519 +f 813/1515/520 810/1516/520 814/1517/520 815/1518/520 +f 812/1514/521 784/1513/521 813/1519/521 816/1520/521 +f 784/1456/522 783/1455/522 810/1516/522 813/1515/522 +f 808/1510/523 812/1509/523 816/1521/523 809/1522/523 +f 817/1523/524 815/1518/524 814/1517/524 818/1524/524 +f 809/1522/525 816/1521/525 817/1523/525 818/1524/525 +f 810/1506/526 809/1505/526 818/1525/526 814/1526/526 +f 816/1520/527 813/1519/527 815/1527/527 817/1528/527 +f 787/1461/528 786/1529/528 819/1530/528 789/1462/528 +f 786/1529/529 820/1531/529 821/1532/529 819/1530/529 +f 820/1531/530 822/1533/530 823/1534/530 821/1532/530 +f 824/1535/502 825/1536/502 826/1537/502 827/1538/502 +f 825/1536/502 828/1539/502 829/1540/502 826/1537/502 +f 828/1539/502 785/1469/502 796/1472/502 829/1540/502 +f 795/1482/531 789/1481/531 819/1541/531 796/1542/531 +f 796/1542/532 819/1541/532 821/1543/532 829/1544/532 +f 829/1544/533 821/1543/533 823/1545/533 826/1546/533 +f 824/1547/534 830/1548/534 822/1549/534 825/1550/534 +f 825/1550/535 822/1549/535 820/1551/535 828/1552/535 +f 828/1552/536 820/1551/536 786/1458/536 785/1457/536 +f 811/1512/537 782/1511/537 797/1553/537 831/1554/537 +f 831/1554/538 797/1553/538 830/1548/538 824/1547/538 +f 811/1507/539 831/1555/539 792/1556/539 794/1508/539 +f 831/1555/502 824/1535/502 827/1538/502 792/1556/502 +f 822/1533/540 830/1557/540 832/1558/540 823/1534/540 +f 830/1557/541 797/1473/541 793/1476/541 832/1558/541 +f 826/1546/542 823/1545/542 832/1559/542 827/1560/542 +f 827/1560/543 832/1559/543 793/1466/543 792/1465/543 +o HandleHilt_Cylinder.003 +v -1.464091 -0.996279 2.859949 +v -1.457375 -0.967729 2.859949 +v -1.339310 -0.995504 2.929974 +v -1.346026 -1.024054 2.929974 +v -1.339310 -0.995504 3.070026 +v -1.346026 -1.024054 3.070026 +v -1.457375 -0.967729 3.140051 +v -1.464091 -0.996279 3.140051 +v -1.575440 -0.939954 3.070026 +v -1.582156 -0.968503 3.070026 +v -1.343945 -0.917630 2.942875 +v -1.343945 -0.917630 3.057125 +v -1.575440 -0.939954 2.929974 +v -1.582156 -0.968503 2.929974 +v -1.482215 -1.073316 3.113549 +v -1.386492 -1.095835 3.056774 +v -1.440258 -0.894971 2.885751 +v -1.536572 -0.872313 2.942875 +v -1.536572 -0.872313 3.057125 +v -1.440258 -0.894971 3.114249 +v -1.577937 -1.050797 3.056774 +v -1.577937 -1.050797 2.943226 +v -1.539716 -1.059789 2.965895 +v -1.539716 -1.059789 3.034105 +v -1.482215 -1.073316 2.886451 +v -1.386492 -1.095835 2.943226 +v -1.482215 -1.073316 2.931790 +v -1.487302 -1.094942 2.940222 +v -1.537696 -1.083087 2.970111 +v -1.482215 -1.073316 3.068210 +v -1.424713 -1.086844 3.034105 +v -1.424713 -1.086844 2.965895 +v -1.436908 -1.106798 2.970111 +v -1.436908 -1.106798 3.029889 +v -1.487302 -1.094942 3.059778 +v -1.537696 -1.083087 3.029889 +vt 0.127792 0.499999 +vt 0.092894 0.499999 +vt 0.092896 0.333355 +vt 0.127794 0.333355 +vt 0.092894 0.166709 +vt 0.127793 0.166709 +vt 0.092891 0.000065 +vt 0.127790 0.000065 +vt 0.127791 0.999935 +vt 0.092893 0.999934 +vt 0.092892 0.833290 +vt 0.127789 0.833290 +vt 0.000070 0.318005 +vt 0.000069 0.182061 +vt 0.092892 0.666644 +vt 0.127789 0.666644 +vt 0.225837 0.015830 +vt 0.225840 0.150939 +vt 0.000065 0.817939 +vt 0.000065 0.681994 +vt 0.000068 0.484647 +vt 0.000070 0.348704 +vt 0.000069 0.151360 +vt 0.000065 0.015418 +vt 0.000066 0.651291 +vt 0.000067 0.515348 +vt 0.000066 0.984585 +vt 0.000065 0.848641 +vt 0.225839 0.817521 +vt 0.225839 0.682412 +vt 0.272559 0.709386 +vt 0.272559 0.790548 +vt 0.225840 0.515768 +vt 0.225839 0.650877 +vt 0.225839 0.849057 +vt 0.225839 0.984166 +vt 0.225841 0.182477 +vt 0.225842 0.317586 +vt 0.225842 0.349124 +vt 0.225840 0.484234 +vt 0.272559 0.623904 +vt 0.272560 0.542743 +vt 0.300386 0.547759 +vt 0.300385 0.618888 +vt 0.272558 0.042803 +vt 0.272559 0.123964 +vt 0.272561 0.376098 +vt 0.272561 0.457260 +vt 0.272559 0.876030 +vt 0.272559 0.957191 +vt 0.272561 0.209449 +vt 0.272562 0.290612 +vt 0.423583 0.118945 +vt 0.361985 0.154512 +vt 0.300385 0.118949 +vt 0.300384 0.047820 +vt 0.361982 0.012254 +vt 0.423582 0.047816 +vt 0.300385 0.881046 +vt 0.300386 0.952175 +vt 0.300387 0.214466 +vt 0.300388 0.285595 +vt 0.300385 0.714402 +vt 0.300385 0.785531 +vt 0.300387 0.381113 +vt 0.300387 0.452243 +vn 0.4867 -0.1145 -0.8660 +vn 0.9734 -0.2290 0.0000 +vn 0.4867 -0.1145 0.8660 +vn -0.4867 0.1145 0.8660 +vn 0.9982 0.0594 0.0000 +vn -0.9734 0.2290 0.0000 +vn -0.4867 0.1145 -0.8660 +vn 0.4037 -0.3811 0.8318 +vn -0.8670 0.4982 0.0000 +vn 0.5319 0.1691 -0.8297 +vn 0.5319 0.1691 0.8297 +vn -0.4007 0.3885 -0.8297 +vn -0.4007 0.3885 0.8297 +vn -0.2290 -0.9734 0.0000 +vn -0.5312 -0.1612 -0.8318 +vn -0.5312 -0.1612 0.8318 +vn 0.8711 -0.4911 0.0000 +vn -0.9987 -0.0512 0.0000 +vn 0.4037 -0.3811 -0.8318 +vn -0.5339 -0.1952 -0.8227 +vn -0.5339 -0.1952 0.8227 +vn 0.8533 -0.5215 0.0000 +vn -0.9963 -0.0864 0.0000 +vn 0.3909 -0.4127 0.8227 +vn 0.3909 -0.4127 -0.8227 +s off +f 833/1561/544 834/1562/544 835/1563/544 836/1564/544 +f 836/1564/545 835/1563/545 837/1565/545 838/1566/545 +f 838/1566/546 837/1565/546 839/1567/546 840/1568/546 +f 840/1569/547 839/1570/547 841/1571/547 842/1572/547 +f 837/1565/548 835/1563/548 843/1573/548 844/1574/548 +f 842/1572/549 841/1571/549 845/1575/549 846/1576/549 +f 846/1576/550 845/1575/550 834/1562/550 833/1561/550 +f 838/1566/551 840/1568/551 847/1577/551 848/1578/551 +f 845/1575/552 841/1571/552 851/1579/552 850/1580/552 +f 835/1563/553 834/1562/553 849/1581/553 843/1582/553 +f 839/1567/554 837/1565/554 844/1583/554 852/1584/554 +f 834/1562/555 845/1575/555 850/1585/555 849/1586/555 +f 841/1571/556 839/1570/556 852/1587/556 851/1588/556 +f 853/1589/557 854/1590/557 855/1591/557 856/1592/557 +f 846/1576/558 833/1561/558 857/1593/558 854/1594/558 +f 840/1569/559 842/1572/559 853/1595/559 847/1596/559 +f 836/1564/560 838/1566/560 848/1597/560 858/1598/560 +f 842/1572/561 846/1576/561 854/1590/561 853/1589/561 +f 833/1561/562 836/1564/562 858/1599/562 857/1600/562 +f 855/1601/563 859/1602/563 860/1603/563 861/1604/563 +f 848/1578/557 847/1577/557 862/1605/557 863/1606/557 +f 857/1600/557 858/1599/557 864/1607/557 859/1608/557 +f 854/1594/557 857/1593/557 859/1602/557 855/1601/557 +f 847/1596/557 853/1595/557 856/1609/557 862/1610/557 +f 858/1598/557 848/1597/557 863/1611/557 864/1612/557 +f 860/1613/557 865/1614/557 866/1615/557 867/1616/557 868/1617/557 861/1618/557 +f 862/1610/564 856/1609/564 868/1619/564 867/1620/564 +f 864/1612/565 863/1611/565 866/1621/565 865/1622/565 +f 856/1592/566 855/1591/566 861/1623/566 868/1624/566 +f 863/1606/567 862/1605/567 867/1616/567 866/1615/567 +f 859/1608/568 864/1607/568 865/1625/568 860/1626/568 +o HolographicHolder_Cylinder.009 +v -0.972691 1.166717 3.278124 +v -0.972691 1.166717 2.721876 +v -0.987438 1.166717 2.739678 +v -0.987438 1.166717 3.260322 +v -0.934937 1.102284 3.278124 +v -0.934937 1.102284 2.721876 +v -0.971860 1.037372 3.278124 +v -0.971860 1.037372 2.721876 +v -1.046537 1.036892 3.278124 +v -1.046537 1.036892 2.721876 +v -1.047369 1.166237 3.278124 +v -1.084291 1.101324 3.278124 +v -1.084291 1.101324 2.721876 +v -1.047368 1.166237 2.721876 +v -1.032621 1.166237 2.739678 +v -1.032621 1.166237 3.260322 +v -1.033084 1.202181 3.260322 +v -1.033084 1.202181 2.739678 +v -0.987902 1.202661 3.260322 +v -0.987902 1.202661 2.739678 +vt 0.183339 0.841202 +vt 0.183342 0.158794 +vt 0.201434 0.180634 +vt 0.201432 0.819360 +vt 0.091722 0.841201 +vt 0.091726 0.158793 +vt 0.000106 0.841201 +vt 0.000110 0.158793 +vt 0.549809 0.158794 +vt 0.549809 0.841202 +vt 0.458192 0.841202 +vt 0.458193 0.158794 +vt 0.274960 0.841202 +vt 0.320769 0.920549 +vt 0.274958 0.999893 +vt 0.183338 0.999893 +vt 0.137529 0.920547 +vt 0.366577 0.841202 +vt 0.366577 0.158794 +vt 0.274960 0.158794 +vt 0.137534 0.079449 +vt 0.183344 0.000106 +vt 0.274962 0.000107 +vt 0.320770 0.079451 +vt 0.693655 0.044206 +vt 0.693655 0.682938 +vt 0.649555 0.682938 +vt 0.649555 0.044206 +vt 0.256867 0.819362 +vt 0.256868 0.180635 +vt 0.594122 0.682938 +vt 0.594122 0.044206 +vt 0.594021 0.000106 +vt 0.649455 0.000106 +vt 0.550021 0.682938 +vt 0.550021 0.044206 +vt 0.649455 0.727038 +vt 0.594021 0.727038 +vn 0.0016 1.0000 -0.0012 +vn -0.0011 1.0000 -0.0016 +vn 0.0018 1.0000 0.0007 +vn 0.0013 1.0000 0.0015 +vn 0.8618 0.5072 0.0000 +vn 0.8635 0.5043 0.0014 +vn 0.8628 0.5055 0.0000 +vn 0.8692 -0.4944 0.0000 +vn 0.0064 -1.0000 0.0000 +vn -0.0015 0.0013 1.0000 +vn -0.0010 -0.0017 1.0000 +vn 0.0000 0.0000 1.0000 +vn -0.8628 -0.5056 0.0000 +vn -0.8692 0.4944 -0.0000 +vn -0.8692 0.4944 -0.0020 +vn -0.8699 0.4932 0.0014 +vn 0.0010 -0.0017 -1.0000 +vn 0.0018 0.0007 -1.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.9999 -0.0119 0.0017 +vn -0.9999 -0.0109 -0.0005 +vn -0.9999 -0.0129 0.0000 +vn -0.0060 1.0000 0.0000 +vn -0.0076 1.0000 -0.0019 +vn -0.0100 1.0000 0.0000 +vn -0.0086 1.0000 0.0019 +vn 0.0007 1.0000 0.0018 +vn 0.0013 1.0000 -0.0015 +vn -0.0008 1.0000 -0.0018 +vn -0.0020 1.0000 -0.0001 +vn -0.0062 1.0000 0.0008 +vn -0.0065 1.0000 -0.0014 +vn -0.0088 1.0000 -0.0018 +vn -0.0106 0.9999 0.0000 +vn -0.0014 0.0014 -1.0000 +vn 0.0010 0.0018 -1.0000 +vn 0.9999 0.0129 -0.0020 +vn 0.9999 0.0143 0.0014 +vn 0.9999 0.0129 0.0000 +vn 0.0019 0.0005 1.0000 +vn -0.0000 0.0020 1.0000 +s off +f 869/1627/569 870/1628/570 871/1629/571 872/1630/572 +f 870/1628/573 869/1627/574 873/1631/575 874/1632/575 +f 874/1632/576 873/1631/576 875/1633/576 876/1634/576 +f 876/1635/577 875/1636/577 877/1637/577 878/1638/577 +f 869/1627/578 879/1639/579 880/1640/580 877/1641/580 875/1642/580 873/1643/580 +f 878/1638/581 877/1637/581 880/1644/581 881/1645/581 +f 881/1645/582 880/1644/582 879/1639/583 882/1646/584 +f 882/1646/585 870/1628/586 874/1647/587 876/1648/587 878/1649/587 881/1650/587 +f 883/1651/588 884/1652/589 885/1653/590 886/1654/590 +f 879/1639/591 869/1627/592 872/1630/593 884/1655/594 +f 882/1646/595 879/1639/596 884/1655/597 883/1656/598 +f 870/1628/592 882/1646/599 883/1656/600 871/1629/601 +f 886/1654/602 885/1653/602 887/1657/602 888/1658/602 +f 871/1659/603 883/1660/604 886/1654/587 888/1658/587 +f 872/1661/605 871/1662/606 888/1658/607 887/1657/607 +f 884/1663/608 872/1664/609 887/1657/580 885/1653/580 +o ring_Torus +v 0.990151 -0.648179 2.809159 +v 0.990151 -0.321606 2.625201 +v 1.068843 -0.322088 2.670631 +v 1.068843 -0.609076 2.832291 +v 1.068843 -0.323051 2.761491 +v 1.068843 -0.530870 2.878556 +v 0.990151 -0.323533 2.806922 +v 0.990151 -0.491768 2.901688 +v 0.911459 -0.323051 2.761491 +v 0.911459 -0.530870 2.878556 +v 0.911459 -0.322088 2.670631 +v 0.911459 -0.609076 2.832291 +v 0.990151 0.000993 2.816042 +v 1.068843 -0.038592 2.838340 +v 1.068843 -0.117761 2.882936 +v 0.990151 -0.157346 2.905234 +v 0.911459 -0.117761 2.882936 +v 0.911459 -0.038592 2.838340 +v 0.990151 -0.002981 3.190841 +v 1.068843 -0.042084 3.167709 +v 1.068843 -0.120290 3.121444 +v 0.990151 -0.159393 3.098312 +v 0.911459 -0.120290 3.121444 +v 0.911459 -0.042084 3.167709 +v 0.990151 -0.329554 3.374799 +v 1.068843 -0.329073 3.329369 +v 1.068843 -0.328109 3.238509 +v 0.990151 -0.327627 3.193079 +v 0.911459 -0.328109 3.238509 +v 0.911459 -0.329073 3.329369 +v 0.990151 -0.652153 3.183958 +v 1.068843 -0.612568 3.161660 +v 1.068843 -0.533399 3.117064 +v 0.990151 -0.493815 3.094766 +v 0.911459 -0.533399 3.117064 +v 0.911459 -0.612568 3.161660 +vt 0.000208 0.606690 +vt 0.297562 0.606690 +vt 0.279540 0.676487 +vt 0.018230 0.676486 +vt 0.243498 0.738915 +vt 0.054272 0.738915 +vt 0.225476 0.808712 +vt 0.072293 0.808712 +vt 0.072294 0.404668 +vt 0.225476 0.404668 +vt 0.243498 0.474465 +vt 0.054272 0.474465 +vt 0.279540 0.536893 +vt 0.018230 0.536893 +vt 0.297978 0.202229 +vt 0.595332 0.202230 +vt 0.577310 0.272027 +vt 0.315999 0.272026 +vt 0.541267 0.334455 +vt 0.352042 0.334454 +vt 0.523245 0.404252 +vt 0.370063 0.404251 +vt 0.370064 0.000208 +vt 0.523246 0.000208 +vt 0.541268 0.070005 +vt 0.352042 0.070005 +vt 0.577310 0.132433 +vt 0.315999 0.132433 +vt 0.797770 0.000208 +vt 0.797770 0.297561 +vt 0.727973 0.279540 +vt 0.727973 0.018229 +vt 0.665545 0.243497 +vt 0.665545 0.054272 +vt 0.595748 0.225476 +vt 0.595748 0.072294 +vt 0.999792 0.072294 +vt 0.999792 0.225476 +vt 0.929995 0.243497 +vt 0.929995 0.054272 +vt 0.867567 0.279540 +vt 0.867567 0.018229 +vt 0.297562 0.202230 +vt 0.000208 0.202229 +vt 0.018229 0.132432 +vt 0.279541 0.132434 +vt 0.054273 0.070005 +vt 0.243498 0.070005 +vt 0.072294 0.000208 +vt 0.225477 0.000208 +vt 0.225475 0.404252 +vt 0.072292 0.404251 +vt 0.054271 0.334454 +vt 0.243497 0.334455 +vt 0.018228 0.272026 +vt 0.279540 0.272027 +vt 0.595332 0.606690 +vt 0.297978 0.606690 +vt 0.316000 0.536893 +vt 0.577310 0.536894 +vt 0.352043 0.474465 +vt 0.541268 0.474465 +vt 0.370064 0.404668 +vt 0.523247 0.404669 +vt 0.523246 0.808712 +vt 0.370063 0.808712 +vt 0.352042 0.738915 +vt 0.541268 0.738915 +vt 0.316000 0.676487 +vt 0.577310 0.676487 +vt 0.797769 0.595331 +vt 0.797770 0.297977 +vt 0.867567 0.315999 +vt 0.867567 0.577309 +vt 0.929995 0.352042 +vt 0.929995 0.541267 +vt 0.999791 0.370063 +vt 0.999791 0.523245 +vt 0.595748 0.523245 +vt 0.595748 0.370063 +vt 0.665544 0.352042 +vt 0.665544 0.541266 +vt 0.727973 0.315999 +vt 0.727973 0.577309 +vn 0.4472 -0.4390 -0.7793 +vn 1.0000 0.0000 0.0000 +vn 0.4472 0.4390 0.7793 +vn -0.4472 0.4390 0.7793 +vn -1.0000 0.0000 0.0000 +vn -0.4472 -0.4390 -0.7793 +vn 0.4472 0.4554 -0.7698 +vn 0.4472 -0.4554 0.7698 +vn -0.4472 -0.4554 0.7698 +vn -0.4472 0.4554 -0.7698 +vn 0.4472 0.8944 0.0095 +vn 0.4472 -0.8944 -0.0095 +vn -0.4472 -0.8944 -0.0095 +vn -0.4472 0.8944 0.0095 +s off +f 889/1665/610 890/1666/610 891/1667/610 892/1668/610 +f 892/1668/611 891/1667/611 893/1669/611 894/1670/611 +f 894/1670/612 893/1669/612 895/1671/612 896/1672/612 +f 896/1673/613 895/1674/613 897/1675/613 898/1676/613 +f 898/1676/614 897/1675/614 899/1677/614 900/1678/614 +f 900/1678/615 899/1677/615 890/1666/615 889/1665/615 +f 890/1679/616 901/1680/616 902/1681/616 891/1682/616 +f 891/1682/611 902/1681/611 903/1683/611 893/1684/611 +f 893/1684/617 903/1683/617 904/1685/617 895/1686/617 +f 895/1687/618 904/1688/618 905/1689/618 897/1690/618 +f 897/1690/614 905/1689/614 906/1691/614 899/1692/614 +f 899/1692/619 906/1691/619 901/1680/619 890/1679/619 +f 901/1693/620 907/1694/620 908/1695/620 902/1696/620 +f 902/1696/611 908/1695/611 909/1697/611 903/1698/611 +f 903/1698/621 909/1697/621 910/1699/621 904/1700/621 +f 904/1701/622 910/1702/622 911/1703/622 905/1704/622 +f 905/1704/614 911/1703/614 912/1705/614 906/1706/614 +f 906/1706/623 912/1705/623 907/1694/623 901/1693/623 +f 907/1707/612 913/1708/612 914/1709/612 908/1710/612 +f 908/1710/611 914/1709/611 915/1711/611 909/1712/611 +f 909/1712/610 915/1711/610 916/1713/610 910/1714/610 +f 910/1715/615 916/1716/615 917/1717/615 911/1718/615 +f 911/1718/614 917/1717/614 918/1719/614 912/1720/614 +f 912/1720/613 918/1719/613 913/1708/613 907/1707/613 +f 913/1721/617 919/1722/617 920/1723/617 914/1724/617 +f 914/1724/611 920/1723/611 921/1725/611 915/1726/611 +f 915/1726/616 921/1725/616 922/1727/616 916/1728/616 +f 916/1729/619 922/1730/619 923/1731/619 917/1732/619 +f 917/1732/614 923/1731/614 924/1733/614 918/1734/614 +f 918/1734/618 924/1733/618 919/1722/618 913/1721/618 +f 919/1735/621 889/1736/621 892/1737/621 920/1738/621 +f 920/1738/611 892/1737/611 894/1739/611 921/1740/611 +f 921/1740/620 894/1739/620 896/1741/620 922/1742/620 +f 922/1743/623 896/1744/623 898/1745/623 923/1746/623 +f 923/1746/614 898/1745/614 900/1747/614 924/1748/614 +f 924/1748/622 900/1747/622 889/1736/622 919/1735/622 +o Roundthing_Cylinder.008 +v -0.654718 0.939467 3.338343 +v -0.745955 0.781575 3.338343 +v -0.745839 1.097427 3.338343 +v -0.757348 1.077508 3.380293 +v -0.677723 0.939476 3.380293 +v -1.019432 0.939601 3.338343 +v -0.928196 1.097493 3.338343 +v -0.928312 0.781642 3.338343 +v -0.916701 1.077567 3.380293 +v -0.996428 0.939592 3.380293 +v -0.949024 0.939575 3.380293 +v -0.893014 1.036505 3.380293 +v -0.916802 0.801560 3.380293 +v -0.757450 0.801501 3.380293 +v -0.781065 1.036464 3.380293 +v -0.884357 1.021497 3.419074 +v -0.789734 1.021463 3.419074 +v -0.781137 0.842563 3.380293 +v -0.893085 0.842604 3.380293 +v -0.725127 0.939493 3.380293 +v -0.931698 0.939569 3.419074 +v -0.877029 0.939549 3.419074 +v -0.857040 0.974142 3.419074 +v -0.884417 0.857606 3.419074 +v -0.742452 0.939499 3.419074 +v -0.789794 0.857571 3.419074 +v -0.817086 0.974128 3.419074 +v -0.857040 0.974142 3.317496 +v -0.817086 0.974128 3.317496 +v -0.817111 0.904926 3.419074 +v -0.857065 0.904940 3.419074 +v -0.797122 0.939519 3.419074 +v -0.797122 0.939519 3.317496 +v -0.877029 0.939549 3.317496 +v -0.857065 0.904940 3.317496 +v -0.817111 0.904926 3.317496 +v -0.745955 0.781575 2.661657 +v -0.654718 0.939467 2.661657 +v -0.677723 0.939476 2.619707 +v -0.757348 1.077508 2.619707 +v -0.745839 1.097427 2.661657 +v -0.928196 1.097493 2.661657 +v -1.019432 0.939601 2.661657 +v -0.928312 0.781642 2.661657 +v -0.916701 1.077567 2.619707 +v -0.893014 1.036505 2.619707 +v -0.949024 0.939575 2.619707 +v -0.996428 0.939593 2.619707 +v -0.916802 0.801560 2.619707 +v -0.757450 0.801502 2.619707 +v -0.781065 1.036464 2.619707 +v -0.789734 1.021463 2.580926 +v -0.884357 1.021497 2.580926 +v -0.893085 0.842604 2.619707 +v -0.781137 0.842563 2.619707 +v -0.725127 0.939493 2.619707 +v -0.857040 0.974142 2.580926 +v -0.877029 0.939549 2.580926 +v -0.931698 0.939569 2.580926 +v -0.884417 0.857606 2.580926 +v -0.789794 0.857571 2.580926 +v -0.742452 0.939499 2.580926 +v -0.817086 0.974128 2.580926 +v -0.817086 0.974128 2.682504 +v -0.857040 0.974142 2.682504 +v -0.857065 0.904940 2.580926 +v -0.817111 0.904926 2.580926 +v -0.797122 0.939519 2.580926 +v -0.797122 0.939519 2.682504 +v -0.817111 0.904926 2.682504 +v -0.857065 0.904940 2.682504 +v -0.877029 0.939549 2.682504 +vt 0.295914 0.225582 +vt 0.443817 0.225582 +vt 0.443818 0.774418 +vt 0.295914 0.774418 +vt 0.148010 0.225582 +vt 0.148010 0.774418 +vt 0.286585 0.812084 +vt 0.157340 0.812084 +vt 0.591720 0.225581 +vt 0.739623 0.225582 +vt 0.739623 0.774418 +vt 0.591721 0.774418 +vt 0.887527 0.225581 +vt 0.887527 0.774418 +vt 0.453146 0.812084 +vt 0.582392 0.812084 +vt 0.563168 0.845381 +vt 0.472370 0.845381 +vt 0.434489 0.812084 +vt 0.305243 0.812085 +vt 0.730295 0.812084 +vt 0.601050 0.812084 +vt 0.000107 0.774419 +vt 0.138682 0.812085 +vt 0.009436 0.812084 +vt 0.878198 0.812084 +vt 0.748953 0.812084 +vt 0.324467 0.845381 +vt 0.415265 0.845381 +vt 0.408239 0.879107 +vt 0.331494 0.879107 +vt 0.858974 0.845380 +vt 0.768176 0.845380 +vt 0.267361 0.845381 +vt 0.176564 0.845381 +vt 0.711071 0.845381 +vt 0.620273 0.845380 +vt 0.119458 0.845381 +vt 0.028660 0.845381 +vt 0.479397 0.879107 +vt 0.556142 0.879107 +vt 0.533972 0.917507 +vt 0.501567 0.917507 +vt 0.704044 0.879107 +vt 0.627299 0.879107 +vt 0.112432 0.879107 +vt 0.035686 0.879108 +vt 0.851948 0.879107 +vt 0.775202 0.879107 +vt 0.260335 0.879107 +vt 0.183589 0.879107 +vt 0.353664 0.917507 +vt 0.386069 0.917507 +vt 0.386068 0.999893 +vt 0.353663 0.999893 +vt 0.829778 0.917507 +vt 0.797372 0.917506 +vt 0.238166 0.917507 +vt 0.205760 0.917507 +vt 0.681875 0.917506 +vt 0.649469 0.917507 +vt 0.090261 0.917507 +vt 0.057857 0.917507 +vt 0.943867 0.113737 +vt 0.915803 0.129940 +vt 0.887739 0.113737 +vt 0.887739 0.081333 +vt 0.915803 0.065129 +vt 0.943867 0.081332 +vt 0.681876 0.999892 +vt 0.649470 0.999893 +vt 0.090260 0.999894 +vt 0.057856 0.999893 +vt 0.533971 0.999893 +vt 0.501567 0.999893 +vt 0.829776 0.999893 +vt 0.797370 0.999892 +vt 0.238167 0.999893 +vt 0.205762 0.999894 +vt 0.157339 0.187916 +vt 0.286584 0.187916 +vt 0.000106 0.225582 +vt 0.453146 0.187916 +vt 0.472370 0.154619 +vt 0.563167 0.154619 +vt 0.582391 0.187916 +vt 0.305242 0.187916 +vt 0.434488 0.187916 +vt 0.601048 0.187916 +vt 0.730294 0.187915 +vt 0.009435 0.187917 +vt 0.138680 0.187916 +vt 0.748952 0.187916 +vt 0.878197 0.187915 +vt 0.324466 0.154619 +vt 0.331493 0.120893 +vt 0.408238 0.120893 +vt 0.415264 0.154619 +vt 0.768176 0.154619 +vt 0.858973 0.154619 +vt 0.176563 0.154619 +vt 0.267360 0.154619 +vt 0.620273 0.154619 +vt 0.711071 0.154619 +vt 0.028658 0.154620 +vt 0.119456 0.154619 +vt 0.479396 0.120893 +vt 0.501566 0.082493 +vt 0.533971 0.082493 +vt 0.556141 0.120893 +vt 0.627299 0.120893 +vt 0.704044 0.120893 +vt 0.035685 0.120893 +vt 0.112430 0.120893 +vt 0.775202 0.120893 +vt 0.851947 0.120893 +vt 0.183588 0.120893 +vt 0.260334 0.120893 +vt 0.353663 0.082493 +vt 0.353662 0.000107 +vt 0.386067 0.000107 +vt 0.386068 0.082493 +vt 0.797372 0.082493 +vt 0.829777 0.082493 +vt 0.205759 0.082493 +vt 0.238164 0.082493 +vt 0.649468 0.082493 +vt 0.681874 0.082493 +vt 0.057855 0.082494 +vt 0.090259 0.082493 +vt 0.943870 0.016312 +vt 0.943867 0.048716 +vt 0.915802 0.064917 +vt 0.887739 0.048711 +vt 0.887742 0.016307 +vt 0.915807 0.000106 +vt 0.649469 0.000107 +vt 0.681875 0.000107 +vt 0.057854 0.000108 +vt 0.090258 0.000107 +vt 0.501566 0.000107 +vt 0.533970 0.000107 +vt 0.797370 0.000107 +vt 0.829776 0.000106 +vt 0.205760 0.000106 +vt 0.238166 0.000107 +vn 0.0004 1.0000 0.0000 +vn 0.8662 0.4997 0.0000 +vn 0.7825 0.4514 0.4290 +vn -0.8662 -0.4997 0.0000 +vn -0.0004 -1.0000 0.0000 +vn -0.8658 0.5003 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0003 0.9033 0.4290 +vn -0.7825 -0.4514 0.4290 +vn 0.7821 -0.4519 0.4290 +vn -0.7821 0.4519 0.4290 +vn -0.0003 -0.9033 0.4290 +vn 0.0003 0.9326 0.3608 +vn -0.8079 -0.4660 0.3608 +vn 0.8075 -0.4666 0.3608 +vn -0.8075 0.4666 0.3608 +vn -0.0003 -0.9326 0.3608 +vn 0.8079 0.4660 0.3608 +vn 0.8658 -0.5003 0.0000 +vn 0.7825 0.4514 -0.4290 +vn 0.0000 0.0000 -1.0000 +vn 0.0003 0.9033 -0.4290 +vn -0.7825 -0.4514 -0.4290 +vn 0.7821 -0.4519 -0.4290 +vn -0.7821 0.4519 -0.4290 +vn -0.0003 -0.9033 -0.4290 +vn 0.0003 0.9326 -0.3608 +vn -0.8079 -0.4660 -0.3608 +vn 0.8075 -0.4666 -0.3608 +vn -0.8075 0.4666 -0.3608 +vn -0.0003 -0.9326 -0.3608 +vn 0.8079 0.4660 -0.3608 +s off +f 965/1749/624 966/1750/624 931/1751/624 927/1752/624 +f 962/1753/625 965/1749/625 927/1752/625 925/1754/625 +f 925/1754/626 927/1752/626 928/1755/626 929/1756/626 +f 967/1757/627 968/1758/627 932/1759/627 930/1760/627 +f 968/1758/628 961/1761/628 926/1762/628 932/1759/628 +f 967/1757/629 930/1760/629 931/1751/629 966/1750/629 +f 933/1763/630 934/1764/630 935/1765/630 936/1766/630 +f 927/1752/631 931/1751/631 933/1767/631 928/1768/631 +f 930/1760/632 932/1759/632 937/1769/632 934/1770/632 +f 926/1771/633 925/1754/633 929/1772/633 938/1773/633 +f 931/1751/634 930/1760/634 934/1764/634 933/1763/634 +f 932/1759/635 926/1762/635 938/1774/635 937/1775/635 +f 939/1776/636 936/1777/636 940/1778/636 941/1779/636 +f 937/1775/630 938/1774/630 942/1780/630 943/1781/630 +f 929/1756/630 928/1755/630 939/1782/630 944/1783/630 +f 928/1768/630 933/1767/630 936/1777/630 939/1776/630 +f 934/1770/630 937/1769/630 943/1784/630 935/1785/630 +f 938/1773/630 929/1772/630 944/1786/630 942/1787/630 +f 940/1788/630 945/1789/630 946/1790/630 947/1791/630 +f 935/1785/637 943/1784/637 948/1792/637 945/1793/637 +f 942/1787/638 944/1786/638 949/1794/638 950/1795/638 +f 936/1766/639 935/1765/639 945/1789/639 940/1788/639 +f 943/1781/640 942/1780/640 950/1796/640 948/1797/640 +f 944/1783/641 939/1782/641 941/1798/641 949/1799/641 +f 951/1800/628 947/1801/628 952/1802/628 953/1803/628 +f 948/1797/630 950/1796/630 954/1804/630 955/1805/630 +f 949/1799/630 941/1798/630 951/1806/630 956/1807/630 +f 941/1779/630 940/1778/630 947/1801/630 951/1800/630 +f 945/1793/630 948/1792/630 955/1808/630 946/1809/630 +f 950/1795/630 949/1794/630 956/1810/630 954/1811/630 +f 957/1812/630 953/1813/630 952/1814/630 958/1815/630 959/1816/630 960/1817/630 +f 946/1809/625 955/1808/625 959/1818/625 958/1819/625 +f 954/1811/629 956/1810/629 957/1820/629 960/1821/629 +f 947/1791/642 946/1790/642 958/1822/642 952/1823/642 +f 955/1805/624 954/1804/624 960/1824/624 959/1825/624 +f 956/1807/627 951/1806/627 953/1826/627 957/1827/627 +f 962/1753/643 963/1828/643 964/1829/643 965/1749/643 +f 961/1830/642 962/1753/642 925/1754/642 926/1771/642 +f 969/1831/644 970/1832/644 971/1833/644 972/1834/644 +f 965/1749/645 964/1835/645 969/1836/645 966/1750/645 +f 967/1757/646 972/1837/646 973/1838/646 968/1758/646 +f 961/1830/647 974/1839/647 963/1840/647 962/1753/647 +f 966/1750/648 969/1831/648 972/1834/648 967/1757/648 +f 968/1758/649 973/1841/649 974/1842/649 961/1761/649 +f 975/1843/650 976/1844/650 977/1845/650 970/1846/650 +f 973/1841/644 978/1847/644 979/1848/644 974/1842/644 +f 963/1828/644 980/1849/644 975/1850/644 964/1829/644 +f 964/1835/644 975/1843/644 970/1846/644 969/1836/644 +f 972/1837/644 971/1851/644 978/1852/644 973/1838/644 +f 974/1839/644 979/1853/644 980/1854/644 963/1840/644 +f 977/1855/644 981/1856/644 982/1857/644 983/1858/644 +f 971/1851/651 983/1859/651 984/1860/651 978/1852/651 +f 979/1853/652 985/1861/652 986/1862/652 980/1854/652 +f 970/1832/653 977/1855/653 983/1858/653 971/1833/653 +f 978/1847/654 984/1863/654 985/1864/654 979/1848/654 +f 980/1849/655 986/1865/655 976/1866/655 975/1850/655 +f 987/1867/628 988/1868/628 989/1869/628 981/1870/628 +f 984/1863/644 990/1871/644 991/1872/644 985/1864/644 +f 986/1865/644 992/1873/644 987/1874/644 976/1866/644 +f 976/1844/644 987/1867/644 981/1870/644 977/1845/644 +f 983/1859/644 982/1875/644 990/1876/644 984/1860/644 +f 985/1861/644 991/1877/644 992/1878/644 986/1862/644 +f 993/1879/644 994/1880/644 995/1881/644 996/1882/644 989/1883/644 988/1884/644 +f 982/1875/625 996/1885/625 995/1886/625 990/1876/625 +f 991/1877/629 994/1887/629 993/1888/629 992/1878/629 +f 981/1856/642 989/1889/642 996/1890/642 982/1857/642 +f 990/1871/624 995/1891/624 994/1892/624 991/1872/624 +f 992/1873/627 993/1893/627 988/1894/627 987/1874/627 +o SideHolders.001_Cube.002 +v 1.310526 -0.082794 3.073582 +v 1.384588 0.101767 3.073582 +v 1.139921 0.101767 3.053905 +v 1.144858 -0.044123 3.053905 +v 1.384588 0.101767 2.930023 +v 1.504148 0.101767 3.073582 +v 1.504148 0.101767 2.930023 +v 1.430086 -0.082794 3.073582 +v 1.608182 -0.022025 3.051795 +v 1.577323 0.101767 3.051795 +v 1.430086 -0.082794 2.930023 +v 1.310526 -0.082794 2.930023 +v 1.577323 0.101767 2.951809 +v 1.608182 -0.022025 2.951809 +v 1.144858 -0.044123 2.949699 +v 1.139921 0.101767 2.949699 +v 1.384588 0.551670 3.654257 +v 1.384588 0.551670 3.449972 +v 1.139921 0.531994 3.449972 +v 1.139921 0.531994 3.558806 +v 1.384588 0.408111 3.449972 +v 1.504148 0.551670 3.449972 +v 1.504148 0.408111 3.449972 +v 1.504148 0.551670 3.654257 +v 1.577323 0.529883 3.613238 +v 1.577323 0.529883 3.449972 +v 1.504148 0.408111 3.654257 +v 1.384588 0.408111 3.654257 +v 1.577323 0.429898 3.449972 +v 1.577323 0.429898 3.613238 +v 1.139921 0.427787 3.558806 +v 1.139921 0.427787 3.449972 +v 1.384588 0.551670 2.345743 +v 1.139921 0.531994 2.441195 +v 1.139921 0.531994 2.550028 +v 1.384588 0.551670 2.550028 +v 1.384588 0.408111 2.550028 +v 1.504148 0.408111 2.550028 +v 1.504148 0.551670 2.550028 +v 1.577323 0.529883 2.550028 +v 1.577323 0.529883 2.386762 +v 1.504148 0.551670 2.345743 +v 1.504148 0.408111 2.345743 +v 1.384588 0.408111 2.345743 +v 1.577323 0.429898 2.550028 +v 1.577323 0.429898 2.386762 +v 1.139921 0.427787 2.441195 +v 1.139921 0.427787 2.550028 +vt 0.300882 0.683064 +vt 0.346645 0.797105 +vt 0.194976 0.797301 +vt 0.197840 0.707149 +vt 0.346645 0.885811 +vt 0.420522 0.797105 +vt 0.420522 0.885811 +vt 0.374758 0.683064 +vt 0.485753 0.720233 +vt 0.467698 0.796970 +vt 0.660845 0.885811 +vt 0.660845 0.797105 +vt 0.734722 0.797105 +vt 0.734722 0.885811 +vt 0.374758 0.999852 +vt 0.300882 0.999852 +vt 0.465737 0.872350 +vt 0.465737 0.810568 +vt 0.544569 0.810568 +vt 0.544569 0.872350 +vt 0.467698 0.885946 +vt 0.485753 0.962683 +vt 0.105267 0.873653 +vt 0.105267 0.809264 +vt 0.195464 0.809264 +vt 0.195464 0.873653 +vt 0.197840 0.975767 +vt 0.194976 0.885615 +vt 0.000148 0.885811 +vt 0.000148 0.797105 +vt 0.380856 0.000148 +vt 0.380856 0.126376 +vt 0.229187 0.126376 +vt 0.229187 0.059127 +vt 0.380856 0.215082 +vt 0.454733 0.126376 +vt 0.454733 0.215082 +vt 0.454733 0.000148 +vt 0.501909 0.025494 +vt 0.501909 0.126376 +vt 0.652665 0.215082 +vt 0.652665 0.126376 +vt 0.726542 0.126376 +vt 0.726542 0.215082 +vt 0.454733 0.341311 +vt 0.380856 0.341311 +vt 0.499948 0.201620 +vt 0.499948 0.139839 +vt 0.600830 0.139839 +vt 0.600830 0.201620 +vt 0.501909 0.215082 +vt 0.501909 0.315965 +vt 0.162426 0.202924 +vt 0.162426 0.138534 +vt 0.229675 0.138534 +vt 0.229675 0.202924 +vt 0.229187 0.282331 +vt 0.229187 0.215082 +vt 0.000148 0.215082 +vt 0.000148 0.126376 +vt 0.380855 0.682769 +vt 0.229186 0.623789 +vt 0.229186 0.556540 +vt 0.380855 0.556540 +vt 0.380855 0.467835 +vt 0.454732 0.467835 +vt 0.454732 0.556540 +vt 0.501909 0.556540 +vt 0.501908 0.657423 +vt 0.454732 0.682769 +vt 0.652664 0.467835 +vt 0.726541 0.467835 +vt 0.726541 0.556540 +vt 0.652664 0.556540 +vt 0.380855 0.341606 +vt 0.454732 0.341606 +vt 0.499947 0.481297 +vt 0.600829 0.481297 +vt 0.600829 0.543078 +vt 0.499947 0.543078 +vt 0.501908 0.366952 +vt 0.501908 0.467835 +vt 0.162426 0.479993 +vt 0.229674 0.479993 +vt 0.229675 0.544383 +vt 0.162426 0.544383 +vt 0.229186 0.467835 +vt 0.229186 0.400586 +vt 0.000148 0.467835 +vt 0.000148 0.556540 +vn -0.0936 0.0196 0.9954 +vn 0.0000 1.0000 0.0000 +vn 0.1766 -0.0247 0.9840 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 0.0000 1.0000 +vn 0.9703 0.2419 0.0000 +vn 0.3229 -0.9464 -0.0000 +vn 0.1766 -0.0247 -0.9840 +vn -0.9994 -0.0338 -0.0000 +vn -0.0936 0.0196 -0.9954 +vn -0.2273 -0.9738 0.0000 +vn -0.0802 0.9968 0.0000 +vn 0.2854 0.9584 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.4890 0.0000 0.8723 +vn 0.2854 -0.9584 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.0802 -0.9968 0.0000 +vn -0.3634 0.0000 0.9316 +vn 0.4890 0.0000 -0.8723 +vn -0.3634 0.0000 -0.9316 +s off +f 997/1895/656 998/1896/656 999/1897/656 1000/1898/656 +f 1001/1899/657 998/1896/657 1002/1900/657 1003/1901/657 +f 1002/1900/658 1004/1902/658 1005/1903/658 1006/1904/658 +f 1007/1905/659 1004/1906/659 997/1907/659 1008/1908/659 +f 1001/1899/660 1003/1901/660 1007/1909/660 1008/1910/660 +f 1002/1900/661 998/1896/661 997/1895/661 1004/1902/661 +f 1009/1911/662 1006/1912/662 1005/1913/662 1010/1914/662 +f 1003/1901/657 1002/1900/657 1006/1912/657 1009/1911/657 +f 1004/1906/663 1007/1905/663 1010/1914/663 1005/1913/663 +f 1007/1909/664 1003/1901/664 1009/1915/664 1010/1916/664 +f 1011/1917/665 1000/1918/665 999/1919/665 1012/1920/665 +f 1001/1899/666 1008/1910/666 1011/1921/666 1012/1922/666 +f 998/1896/657 1001/1899/657 1012/1920/657 999/1919/657 +f 1008/1923/667 997/1924/667 1000/1918/667 1011/1917/667 +f 1013/1925/668 1014/1926/668 1015/1927/668 1016/1928/668 +f 1017/1929/660 1014/1926/660 1018/1930/660 1019/1931/660 +f 1018/1930/669 1020/1932/669 1021/1933/669 1022/1934/669 +f 1023/1935/661 1020/1936/661 1013/1937/661 1024/1938/661 +f 1017/1929/659 1019/1931/659 1023/1939/659 1024/1940/659 +f 1018/1930/657 1014/1926/657 1013/1925/657 1020/1932/657 +f 1025/1941/670 1022/1942/670 1021/1943/670 1026/1944/670 +f 1019/1931/660 1018/1930/660 1022/1942/660 1025/1941/660 +f 1020/1936/671 1023/1935/671 1026/1944/671 1021/1943/671 +f 1023/1939/672 1019/1931/672 1025/1945/672 1026/1946/672 +f 1027/1947/673 1016/1948/673 1015/1949/673 1028/1950/673 +f 1017/1929/674 1024/1940/674 1027/1951/674 1028/1952/674 +f 1014/1926/660 1017/1929/660 1028/1950/660 1015/1949/660 +f 1024/1953/675 1013/1954/675 1016/1948/675 1027/1947/675 +f 1029/1955/668 1030/1956/668 1031/1957/668 1032/1958/668 +f 1033/1959/661 1034/1960/661 1035/1961/661 1032/1958/661 +f 1035/1961/669 1036/1962/669 1037/1963/669 1038/1964/669 +f 1039/1965/660 1040/1966/660 1029/1967/660 1038/1968/660 +f 1033/1959/659 1040/1969/659 1039/1970/659 1034/1960/659 +f 1035/1961/657 1038/1964/657 1029/1955/657 1032/1958/657 +f 1041/1971/670 1042/1972/670 1037/1973/670 1036/1974/670 +f 1034/1960/661 1041/1971/661 1036/1974/661 1035/1961/661 +f 1038/1968/676 1037/1973/676 1042/1972/676 1039/1965/676 +f 1039/1970/672 1042/1975/672 1041/1976/672 1034/1960/672 +f 1043/1977/673 1044/1978/673 1031/1979/673 1030/1980/673 +f 1033/1959/674 1044/1981/674 1043/1982/674 1040/1969/674 +f 1032/1958/661 1031/1979/661 1044/1978/661 1033/1959/661 +f 1040/1983/677 1043/1977/677 1030/1980/677 1029/1984/677 +o Trigger_Cube.008 +v -0.906556 -0.031746 3.035327 +v -0.906556 -0.031746 2.964673 +v -0.750972 -0.031746 2.964673 +v -0.750972 -0.031746 3.035327 +v -0.891840 -0.172320 2.964673 +v -0.891840 -0.172320 3.035327 +v -0.858049 -0.254618 3.035327 +v -0.773318 -0.237178 3.035327 +v -0.781494 -0.172320 3.035327 +v -0.781494 -0.172320 2.964673 +v -0.752234 -0.268743 3.035327 +v -0.752234 -0.268743 2.964673 +v -0.773318 -0.237178 2.964673 +v -0.858049 -0.254618 2.964673 +v -0.786277 -0.298175 3.035327 +v -0.786277 -0.298175 2.964673 +vt 0.732975 0.555968 +vt 0.732975 0.444032 +vt 0.960872 0.444032 +vt 0.960872 0.555968 +vt 0.629883 0.999902 +vt 0.501865 0.816180 +vt 0.634112 0.701846 +vt 0.816347 0.838695 +vt 0.816347 0.161306 +vt 0.634112 0.298154 +vt 0.501866 0.183820 +vt 0.629884 0.000098 +vt 0.457090 0.682536 +vt 0.576709 0.615643 +vt 0.629409 0.555968 +vt 0.569271 0.555968 +vt 0.569271 0.444032 +vt 0.629409 0.444032 +vt 0.576709 0.384356 +vt 0.457091 0.317464 +vt 0.224023 0.444032 +vt 0.364968 0.444032 +vt 0.364968 0.555968 +vt 0.224023 0.555967 +vt 0.497976 0.555968 +vt 0.497976 0.444032 +vt 0.000098 0.555967 +vt 0.000098 0.444032 +vn 0.9772 -0.2122 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn 0.8316 0.5554 0.0000 +vn 0.9921 0.1251 0.0000 +vn -0.9251 -0.3798 0.0000 +vn 0.6540 -0.7565 0.0000 +vn -0.5188 -0.8549 0.0000 +vn -0.9946 -0.1041 0.0000 +s off +f 1053/1985/678 1054/1986/678 1047/1987/678 1048/1988/678 +f 1045/1989/679 1050/1990/679 1053/1991/679 1048/1992/679 +f 1047/1993/680 1054/1994/680 1049/1995/680 1046/1996/680 +f 1050/1990/679 1051/1997/679 1052/1998/679 1053/1991/679 +f 1052/1999/681 1055/2000/681 1056/2001/681 1057/2002/681 +f 1054/1994/680 1057/2003/680 1058/2004/680 1049/1995/680 +f 1053/1985/682 1052/1999/682 1057/2002/682 1054/1986/682 +f 1049/2005/683 1058/2006/683 1051/2007/683 1050/2008/683 +f 1056/2001/684 1055/2000/684 1059/2009/684 1060/2010/684 +f 1058/2006/685 1060/2010/685 1059/2009/685 1051/2007/685 +f 1051/1997/679 1059/2009/679 1055/2000/679 1052/1998/679 +f 1057/2003/680 1056/2001/680 1060/2010/680 1058/2004/680 +f 1049/2005/686 1050/2008/686 1045/2011/686 1046/2012/686 +o TriggerGuard_Cube.007 +v -0.991593 0.009137 3.090896 +v -0.991593 0.050129 3.090896 +v -0.991593 0.050129 2.909104 +v -0.991593 0.009137 2.909104 +v -0.359255 0.050129 2.909104 +v -0.359255 0.009137 2.909104 +v -0.359255 0.050129 3.090896 +v -0.359255 0.009137 3.090896 +v -0.952793 -0.032302 3.079741 +v -0.475801 -0.032302 3.079741 +v -0.398056 -0.032302 3.079741 +v -0.952793 -0.032302 2.920259 +v -0.477062 -0.032302 2.920259 +v -0.398056 -0.032302 2.920259 +v -0.547697 -0.243266 2.920259 +v -0.468691 -0.243266 2.920259 +v -0.417833 -0.308250 2.920259 +v -0.496840 -0.308250 2.920259 +v -0.468691 -0.243266 3.079741 +v -0.546437 -0.243266 3.079741 +v -0.495579 -0.308250 3.079741 +v -0.884730 -0.317360 2.926286 +v -0.883469 -0.317360 3.085769 +v -0.417833 -0.308250 3.079741 +v -0.548320 -0.390292 3.079741 +v -0.549581 -0.390292 2.920259 +v -0.470574 -0.390292 2.920259 +v -0.470574 -0.390292 3.079741 +v -0.933383 -0.398929 2.926286 +v -0.932122 -0.398929 3.085769 +v -1.071287 -0.315922 3.087949 +v -1.072548 -0.315922 2.928467 +v -1.022634 -0.234353 3.087949 +v -1.023895 -0.234353 2.928467 +vt 0.956076 0.222809 +vt 0.956106 0.245106 +vt 0.612150 0.245577 +vt 0.612119 0.223279 +vt 0.589852 0.245607 +vt 0.612285 0.344461 +vt 0.589988 0.344491 +vt 0.612315 0.366758 +vt 0.956241 0.343990 +vt 0.956272 0.366288 +vt 0.935199 0.389660 +vt 0.675742 0.390014 +vt 0.633453 0.390072 +vt 0.724411 0.676828 +vt 0.465641 0.676037 +vt 0.465221 0.589286 +vt 0.724676 0.590079 +vt 0.633193 0.199908 +vt 0.676167 0.199849 +vt 0.934939 0.199494 +vt 0.559100 0.338466 +vt 0.558982 0.251717 +vt 0.714431 0.085044 +vt 0.671457 0.085103 +vt 0.643744 0.049793 +vt 0.686720 0.049734 +vt 0.438087 0.338631 +vt 0.437968 0.251882 +vt 0.714322 0.504715 +vt 0.672032 0.504773 +vt 0.344631 0.676928 +vt 0.344210 0.590177 +vt 0.299324 0.590176 +vt 0.299745 0.676927 +vt 0.088672 0.676342 +vt 0.088251 0.589590 +vt 0.393201 0.338693 +vt 0.393082 0.251943 +vt 0.686706 0.540101 +vt 0.644417 0.540159 +vt 0.297859 0.338823 +vt 0.297055 0.252076 +vt 0.340030 0.252017 +vt 0.340149 0.338766 +vt 0.715456 0.584688 +vt 0.673166 0.584746 +vt 0.672371 0.005128 +vt 0.715347 0.005069 +vt 0.088240 0.255640 +vt 0.089045 0.342389 +vt 0.000907 0.343793 +vt 0.000102 0.257045 +vt 0.924132 0.000102 +vt 0.897728 0.044507 +vt 0.897730 0.544750 +vt 0.924255 0.589082 +vt 0.999898 0.045153 +vt 0.973494 0.089559 +vt 0.000523 0.676182 +vt 0.000102 0.589431 +vt 0.973372 0.499490 +vt 0.999898 0.543823 +vn 0.0000 0.0000 -1.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.2599 0.9656 +vn 0.0000 1.0000 0.0000 +vn 0.0000 -1.0000 -0.0000 +vn 0.0000 -0.2599 -0.9656 +vn 0.7300 -0.6835 -0.0000 +vn 0.9483 -0.3175 0.0000 +vn -0.9482 0.3175 0.0075 +vn -0.0235 0.9997 0.0002 +vn -0.0233 0.9997 0.0014 +vn -0.0222 0.9998 0.0002 +vn 0.7875 0.6163 0.0000 +vn -0.7875 -0.6163 0.0062 +vn 0.8412 -0.5408 -0.0000 +vn -0.5122 -0.8588 0.0053 +vn -0.5132 -0.8582 0.0046 +vn -0.5122 -0.8589 0.0040 +vn -0.0158 0.0098 -0.9998 +vn -0.0152 0.0109 -0.9998 +vn -0.0146 0.0096 -0.9998 +vn 0.0158 -0.0098 0.9998 +vn 0.0151 -0.0109 0.9998 +vn 0.0170 -0.0103 0.9998 +vn 0.0225 -0.9997 -0.0002 +vn 0.0220 -0.9998 -0.0014 +vn 0.0238 -0.9997 -0.0002 +vn -0.0123 0.0059 -0.9999 +vn -0.0127 0.0076 -0.9999 +vn -0.0116 0.0069 -0.9999 +vn 0.5123 0.8588 -0.0053 +vn 0.5112 0.8595 -0.0039 +vn 0.5122 0.8589 -0.0040 +vn 0.0126 -0.0061 0.9999 +vn 0.0105 -0.0062 0.9999 +vn 0.0116 -0.0069 0.9999 +s off +f 1064/2013/687 1063/2014/687 1065/2015/687 1066/2016/687 +f 1066/2017/688 1065/2015/688 1067/2018/688 1068/2019/688 +f 1068/2020/689 1067/2018/689 1062/2021/689 1061/2022/689 +f 1068/2020/690 1061/2022/690 1069/2023/690 1070/2024/690 1071/2025/690 +f 1065/2015/691 1063/2014/691 1062/2021/691 1067/2018/691 +f 1072/2026/692 1073/2027/692 1070/2028/692 1069/2029/692 +f 1064/2013/693 1066/2016/693 1074/2030/693 1073/2031/693 1072/2032/693 +f 1066/2017/694 1068/2019/694 1071/2033/694 1074/2034/694 +f 1075/2035/687 1076/2036/687 1077/2037/687 1078/2038/687 +f 1074/2034/695 1071/2033/695 1079/2039/695 1076/2040/695 +f 1071/2025/689 1070/2024/689 1080/2041/689 1079/2042/689 +f 1070/2028/696 1073/2027/696 1075/2043/696 1080/2044/696 +f 1073/2031/687 1074/2030/687 1076/2036/687 1075/2035/687 +f 1081/2045/697 1078/2046/697 1082/2047/698 1083/2048/699 +f 1076/2040/700 1079/2039/700 1084/2049/700 1077/2050/700 +f 1080/2044/701 1075/2043/701 1078/2046/701 1081/2045/701 +f 1079/2042/689 1080/2041/689 1081/2051/689 1084/2052/689 +f 1085/2053/692 1086/2054/692 1087/2055/692 1088/2056/692 +f 1084/2052/689 1081/2051/689 1085/2057/689 1088/2058/689 +f 1078/2038/687 1077/2037/687 1087/2059/687 1086/2060/687 +f 1077/2050/702 1084/2049/702 1088/2056/702 1087/2055/702 +f 1089/2061/703 1090/2062/704 1091/2063/705 1092/2064/705 +f 1078/2038/706 1086/2060/706 1089/2065/707 1082/2066/708 +f 1085/2057/709 1081/2051/709 1083/2067/710 1090/2068/711 +f 1086/2054/712 1085/2053/712 1090/2062/713 1089/2061/714 +f 1082/2066/715 1089/2065/716 1092/2069/717 1094/2070/717 +f 1083/2048/718 1082/2047/719 1094/2071/720 1093/2072/720 +f 1090/2068/721 1083/2067/722 1093/2073/723 1091/2074/723 +o UndeRail_Cube.005 +v -1.185225 0.299229 2.771775 +v -1.185225 0.078919 2.771775 +v -1.579320 0.146982 2.771775 +v -1.579320 0.299229 2.771775 +v -0.726389 0.070637 2.798583 +v -0.726389 0.299229 2.798583 +v -0.726389 0.299229 3.201417 +v -0.726389 0.070637 3.201417 +v -0.770558 0.343398 2.798583 +v -1.096886 0.343398 2.798583 +v -1.096886 0.343398 3.201417 +v -0.770558 0.343398 3.201417 +v -1.185225 0.078919 3.228225 +v -1.185225 0.299229 3.228225 +v -1.579320 0.299229 3.228225 +v -1.579320 0.146982 3.228225 +v -1.185225 0.343398 3.201417 +v -1.185225 0.343398 2.798583 +v -1.579320 0.343398 2.798583 +v -1.579320 0.343398 3.201417 +v -1.096886 0.026467 2.798583 +v -0.770558 0.026467 2.798583 +v -0.770558 0.026467 3.201417 +v -1.096886 0.026467 3.201417 +v -1.096886 0.070637 2.771775 +v -1.096886 0.299229 2.771775 +v -0.770558 0.299229 2.771775 +v -0.770558 0.070637 2.771775 +v -0.770558 0.070637 3.228225 +v -0.770558 0.299229 3.228225 +v -1.096886 0.299229 3.228225 +v -1.096886 0.070637 3.228225 +v -1.690351 0.200246 3.201417 +v -1.690351 0.287913 3.201417 +v -1.690351 0.287913 2.798583 +v -1.690351 0.200246 2.798583 +v -1.184581 0.033984 3.201417 +v -1.184581 0.033984 2.798583 +v -1.659805 0.134929 3.201417 +v -1.579964 0.102270 3.201417 +v -1.667659 0.194088 3.228225 +v -1.667659 0.291126 3.228225 +v -1.646801 0.339453 3.201417 +v -1.659805 0.134929 2.798583 +v -1.667659 0.194088 2.771775 +v -1.579964 0.102270 2.798583 +v -1.667040 0.336028 2.798583 +v -1.667659 0.291126 2.771775 +vt 0.496907 0.334267 +vt 0.496248 0.427323 +vt 0.330718 0.396651 +vt 0.331617 0.332937 +vt 0.796702 0.313152 +vt 0.699270 0.313152 +vt 0.699270 0.141452 +vt 0.796702 0.141452 +vt 0.672646 0.313152 +vt 0.534343 0.312606 +vt 0.534099 0.142197 +vt 0.672646 0.141452 +vt 0.495875 0.027439 +vt 0.496587 0.120544 +vt 0.331121 0.122196 +vt 0.330318 0.058264 +vt 0.496747 0.142387 +vt 0.497024 0.312498 +vt 0.332011 0.311404 +vt 0.331527 0.143826 +vt 0.962417 0.313152 +vt 0.823327 0.313152 +vt 0.823327 0.141452 +vt 0.962417 0.141452 +vt 0.533520 0.431122 +vt 0.534247 0.334472 +vt 0.672551 0.335076 +vt 0.671920 0.432340 +vt 0.671602 0.022049 +vt 0.672523 0.119489 +vt 0.533976 0.120298 +vt 0.533160 0.023583 +vt 0.237618 0.142584 +vt 0.274533 0.143000 +vt 0.272621 0.312625 +vt 0.235706 0.312209 +vt 0.495520 0.005286 +vt 0.532760 0.001691 +vt 0.495918 0.449476 +vt 0.533168 0.453017 +vt 0.817912 0.125359 +vt 0.796702 0.119430 +vt 0.678060 0.125358 +vt 0.699270 0.119430 +vt 0.817912 0.329246 +vt 0.796702 0.335174 +vt 0.678060 0.329246 +vt 0.699270 0.335174 +vt 0.294957 0.050376 +vt 0.328880 0.036291 +vt 0.292958 0.078293 +vt 0.293666 0.119719 +vt 0.302947 0.143203 +vt 0.295361 0.404466 +vt 0.293427 0.376539 +vt 0.329265 0.418612 +vt 0.295134 0.312879 +vt 0.294347 0.335145 +vt 0.208418 0.134257 +vt 0.235192 0.127765 +vt 0.276053 0.128226 +vt 0.300664 0.131838 +vt 0.206326 0.319876 +vt 0.232947 0.326970 +vt 0.294189 0.319085 +vt 0.273808 0.327430 +vt 0.999933 0.141452 +vt 0.999933 0.313152 +vt 0.671720 0.454277 +vt 0.671350 0.000067 +vt 0.169020 0.311458 +vt 0.170932 0.141832 +vt 0.207256 0.142242 +vt 0.205344 0.311867 +vt 0.000067 0.309553 +vt 0.001979 0.139928 +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 -1.0000 0.0000 0.0000 +vn -0.0462 -0.5153 0.8558 +vn 0.0000 0.5189 0.8549 +vn -0.0462 -0.5153 -0.8558 +vn 0.0000 0.5189 -0.8549 +vn 0.4606 -0.4605 0.7588 +vn 0.4605 0.4606 0.7588 +vn 0.4606 -0.4605 -0.7588 +vn 0.4605 0.4606 -0.7588 +vn -0.2180 -0.4596 0.8610 +vn -0.0393 0.5077 0.8606 +vn -0.2180 -0.4596 -0.8610 +vn -0.0453 0.5154 -0.8557 +vn -0.7527 -0.3520 0.5563 +vn -0.6638 0.5609 0.4947 +vn -0.7527 -0.3520 -0.5563 +vn -0.7340 0.3556 -0.5787 +vn -0.0854 -0.9963 -0.0000 +vn 0.0000 -0.5188 -0.8549 +vn 0.5189 0.0000 -0.8549 +vn 0.7071 -0.7071 -0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.5189 0.0000 0.8549 +vn 0.0000 -0.5188 0.8549 +vn -0.3786 -0.9256 -0.0000 +vn -0.0727 0.9974 -0.0024 +vn -0.0883 -0.5113 0.8549 +vn -0.0883 -0.5113 -0.8549 +vn -0.9058 -0.4236 -0.0000 +vn -0.7633 0.0000 0.6461 +vn -0.8303 0.5571 0.0185 +vn -0.7633 0.0000 -0.6461 +vn -0.1702 -0.9854 -0.0000 +s off +f 1095/2075/724 1096/2076/724 1097/2077/724 1098/2078/724 +f 1099/2079/725 1100/2080/725 1101/2081/725 1102/2082/725 +f 1103/2083/726 1104/2084/726 1105/2085/726 1106/2086/726 +f 1107/2087/727 1108/2088/727 1109/2089/727 1110/2090/727 +f 1111/2091/726 1112/2092/726 1113/2093/726 1114/2094/726 +f 1115/2095/728 1116/2096/728 1117/2097/728 1118/2098/728 +f 1119/2099/724 1120/2100/724 1121/2101/724 1122/2102/724 +f 1123/2103/727 1124/2104/727 1125/2105/727 1126/2106/727 +f 1127/2107/729 1128/2108/729 1129/2109/729 1130/2110/729 +f 1131/2111/730 1118/2112/730 1126/2106/730 1107/2087/730 +f 1108/2088/731 1125/2105/731 1105/2085/731 1111/2091/731 +f 1132/2113/732 1096/2076/732 1119/2099/732 1115/2114/732 +f 1112/2092/733 1104/2084/733 1120/2100/733 1095/2075/733 +f 1117/2115/734 1102/2082/734 1123/2116/734 +f 1106/2117/735 1124/2118/735 1101/2081/735 +f 1116/2119/736 1122/2120/736 1099/2079/736 +f 1103/2121/737 1100/2080/737 1121/2122/737 +f 1133/2123/738 1134/2124/738 1110/2090/738 1135/2125/738 +f 1136/2126/739 1109/2089/739 1114/2094/739 1137/2127/739 +f 1138/2128/740 1139/2129/740 1097/2077/740 1140/2130/740 +f 1141/2131/741 1113/2093/741 1098/2078/741 1142/2132/741 +f 1133/2133/742 1135/2134/742 1127/2107/742 +f 1136/2135/743 1137/2136/743 1128/2108/743 +f 1138/2137/744 1130/2110/744 1139/2138/744 +f 1141/2139/745 1142/2140/745 1129/2109/745 +f 1115/2095/746 1118/2098/746 1131/2141/746 1132/2142/746 +f 1126/2106/727 1125/2105/727 1108/2088/727 1107/2087/727 +f 1105/2085/726 1104/2084/726 1112/2092/726 1111/2091/726 +f 1120/2100/724 1119/2099/724 1096/2076/724 1095/2075/724 +f 1116/2143/747 1115/2114/747 1119/2099/747 1122/2102/747 +f 1104/2084/733 1103/2083/733 1121/2101/733 1120/2100/733 +f 1100/2080/748 1099/2079/748 1122/2120/748 1121/2122/748 +f 1117/2097/749 1116/2096/749 1099/2079/749 1102/2082/749 +f 1103/2083/750 1106/2086/750 1101/2081/750 1100/2080/750 +f 1124/2118/751 1123/2116/751 1102/2082/751 1101/2081/751 +f 1118/2112/752 1117/2144/752 1123/2103/752 1126/2106/752 +f 1106/2086/731 1105/2085/731 1125/2105/731 1124/2104/731 +f 1140/2145/753 1134/2146/753 1133/2147/753 1138/2148/753 +f 1110/2090/727 1109/2089/727 1136/2126/727 1135/2125/727 +f 1114/2094/754 1113/2093/754 1141/2131/754 1137/2127/754 +f 1098/2078/724 1097/2077/724 1139/2129/724 1142/2132/724 +f 1095/2075/733 1098/2078/733 1113/2093/733 1112/2092/733 +f 1109/2089/731 1108/2088/731 1111/2091/731 1114/2094/731 +f 1107/2087/755 1110/2090/755 1134/2124/755 1131/2111/755 +f 1097/2077/756 1096/2076/756 1132/2113/756 1140/2130/756 +f 1138/2148/757 1133/2147/757 1127/2107/757 1130/2110/757 +f 1135/2134/758 1136/2135/758 1128/2108/758 1127/2107/758 +f 1137/2127/759 1141/2131/759 1129/2109/759 1128/2108/759 +f 1142/2140/760 1139/2138/760 1130/2110/760 1129/2109/760 +f 1132/2149/761 1131/2150/761 1134/2146/761 1140/2145/761 +o Underail_Cube.004 +v -0.033837 0.094104 2.927233 +v -0.033837 -0.016338 2.927233 +v -0.115306 -0.142061 2.927233 +v -0.115306 0.094104 2.927233 +v 0.797049 0.094104 2.927233 +v 0.797049 -0.016338 2.927233 +v 0.796577 -0.079782 3.048582 +v 0.796577 -0.079782 2.951418 +v 0.886076 -0.258069 2.951418 +v 0.886076 -0.258069 3.048582 +v 0.797049 -0.016338 3.072767 +v 0.797049 0.094104 3.072767 +v -0.033837 0.094104 3.072767 +v -0.033837 -0.016338 3.072767 +v -0.026079 -0.079782 2.951418 +v -0.115306 0.094104 3.072767 +v -0.272459 0.094104 2.927233 +v -0.272459 0.094104 3.072767 +v -0.115306 -0.142061 3.072767 +v -0.272459 -0.098487 3.072767 +v -0.264701 -0.161930 3.048582 +v -0.107548 -0.205505 3.048582 +v -0.272459 -0.098487 2.927233 +v -0.026079 -0.079782 3.048582 +v -0.107548 -0.205505 2.951418 +v -0.264701 -0.161930 2.951418 +v 0.886547 0.093771 3.072767 +v 0.886547 0.093771 2.927233 +v 0.886547 -0.194626 3.072767 +v 0.888072 -0.069961 3.072767 +v 0.917361 0.000750 3.072767 +v 0.988072 0.030039 3.072767 +v 1.058783 0.000750 3.072767 +v 1.088072 -0.069961 3.072767 +v 1.088250 -0.195375 3.072767 +v 1.088250 0.093022 3.072767 +v 0.886547 -0.194626 2.927233 +v 1.088250 -0.195375 2.927233 +v 1.087778 -0.258818 2.951418 +v 1.087778 -0.258818 3.048582 +v 1.152616 -0.153109 2.951418 +v 1.152616 -0.153109 3.048582 +v 1.153087 -0.089666 3.072767 +v 1.088250 0.093022 2.927233 +v 0.888072 -0.069961 2.927233 +v 0.917362 -0.140671 2.927233 +v 0.988072 -0.169961 2.927233 +v 1.058783 -0.140671 2.927233 +v 1.088072 -0.069961 2.927233 +v 1.153087 -0.089666 2.927233 +v 1.153087 0.092782 2.927233 +v 1.153087 0.092782 3.072767 +v 0.917361 0.000750 2.927233 +v 1.058783 0.000750 2.927233 +v 1.058783 -0.140671 3.072767 +v 0.988072 -0.169961 3.072767 +v 0.917362 -0.140671 3.072767 +v 0.988072 0.030039 2.927233 +vt 0.256942 0.260185 +vt 0.256933 0.317461 +vt 0.214669 0.382666 +vt 0.214686 0.260176 +vt 0.687648 0.260227 +vt 0.687763 0.317493 +vt 0.601711 0.530833 +vt 0.601711 0.480441 +vt 0.705172 0.480441 +vt 0.705172 0.530833 +vt 0.687799 0.127573 +vt 0.687669 0.184827 +vt 0.256960 0.184694 +vt 0.256975 0.127402 +vt 0.171036 0.445226 +vt 0.601956 0.445228 +vt 0.175060 0.480439 +vt 0.214701 0.184684 +vt 0.133171 0.260163 +vt 0.133182 0.184670 +vt 0.214727 0.062176 +vt 0.084694 0.563932 +vt 0.000115 0.563931 +vt 0.012784 0.530830 +vt 0.097363 0.530831 +vt 0.033279 0.184656 +vt 0.033268 0.260149 +vt 0.221631 0.027404 +vt 0.263880 0.092631 +vt 0.133159 0.360057 +vt 0.133200 0.084764 +vt 0.175059 0.530831 +vt 0.097363 0.480439 +vt 0.012784 0.480438 +vt 0.000115 0.247598 +vt 0.000122 0.197196 +vt 0.734049 0.184804 +vt 0.734039 0.260260 +vt 0.000115 0.447338 +vt 0.084694 0.447338 +vt 0.263826 0.352230 +vt 0.221562 0.417436 +vt 0.601955 0.566046 +vt 0.171036 0.566045 +vt 0.839166 0.035177 +vt 0.787151 0.048192 +vt 0.734523 0.035224 +vt 0.705294 0.445228 +vt 0.809903 0.445228 +vt 0.809781 0.480442 +vt 0.683548 0.352473 +vt 0.734482 0.409867 +vt 0.730268 0.444846 +vt 0.872622 0.090131 +vt 0.838858 0.100240 +vt 0.823785 0.063507 +vt 0.683589 0.092599 +vt 0.730314 0.000250 +vt 0.809780 0.530834 +vt 0.874095 0.480442 +vt 0.874095 0.530834 +vt 0.842557 0.000115 +vt 0.876014 0.055069 +vt 0.705293 0.566047 +vt 0.809903 0.566047 +vt 0.838659 0.184791 +vt 0.838657 0.260295 +vt 0.966965 0.260301 +vt 0.872297 0.260301 +vt 0.872297 0.184787 +vt 0.966965 0.184787 +vt 0.999885 0.197336 +vt 0.999885 0.247752 +vt 0.735107 0.099900 +vt 0.842531 0.444996 +vt 0.839144 0.409928 +vt 0.872612 0.354969 +vt 0.876000 0.390038 +vt 0.039809 0.641755 +vt 0.039809 0.566277 +vt 0.079503 0.566277 +vt 0.079503 0.641755 +vt 0.238278 0.641755 +vt 0.238278 0.566277 +vt 0.277972 0.566277 +vt 0.277972 0.641755 +vt 0.786807 0.151937 +vt 0.119197 0.566277 +vt 0.119197 0.641755 +vt 0.198585 0.641755 +vt 0.198585 0.566277 +vt 0.158890 0.641755 +vt 0.158890 0.566277 +vt 0.000115 0.641755 +vt 0.000115 0.566277 +vt 0.317667 0.566277 +vt 0.317667 0.641755 +vt 0.823538 0.136870 +vt 0.750181 0.136623 +vt 0.750419 0.063267 +vt 0.786796 0.293143 +vt 0.823528 0.308218 +vt 0.750162 0.308451 +vt 0.838844 0.344854 +vt 0.735078 0.345179 +vt 0.823764 0.381591 +vt 0.787122 0.396904 +vt 0.750386 0.381821 +vn 0.0000 0.0000 -1.0000 +vn -0.8937 -0.4486 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 -0.3562 -0.9344 +vn 0.0000 1.0000 0.0000 +vn -0.1012 -0.3652 0.9254 +vn -1.0000 0.0000 0.0000 +vn 0.4263 -0.2762 0.8614 +vn 0.0000 -1.0000 -0.0000 +vn 0.8392 -0.5438 -0.0000 +vn -0.2672 -0.9636 0.0000 +vn -0.9926 -0.1214 0.0000 +vn 0.0037 1.0000 0.0000 +vn -0.1012 -0.3652 -0.9254 +vn 0.4263 -0.2762 -0.8614 +vn 0.0000 -0.3562 0.9344 +vn -0.0013 -0.3562 -0.9344 +vn -0.5737 -0.2880 -0.7667 +vn -0.0016 0.0010 1.0000 +vn -0.5737 -0.2880 0.7667 +vn 0.8524 -0.5228 0.0000 +vn 0.5062 -0.3105 0.8046 +vn 0.5049 -0.3117 0.8049 +vn -0.0013 -0.3562 0.9344 +vn -0.0037 -1.0000 0.0000 +vn -0.0001 0.0018 1.0000 +vn 1.0000 -0.0009 -0.0016 +vn 1.0000 0.0000 0.0000 +vn 1.0000 -0.0004 -0.0018 +vn 1.0000 -0.0060 -0.0012 +vn 1.0000 -0.0092 -0.0002 +vn 1.0000 -0.0074 -0.0000 +vn 0.5062 -0.3105 -0.8046 +vn 0.5071 -0.3089 -0.8046 +vn 0.0006 0.0017 1.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 +vn -0.0002 -0.0018 -1.0000 +vn 0.0009 -0.0016 -1.0000 +vn 0.0018 0.0002 -1.0000 +s off +f 1143/2151/762 1144/2152/762 1145/2153/762 1146/2154/762 +f 1144/2152/762 1143/2151/762 1147/2155/762 1148/2156/762 +f 1149/2157/763 1150/2158/763 1151/2159/763 1152/2160/763 +f 1153/2161/764 1154/2162/764 1155/2163/764 1156/2164/764 +f 1144/2165/765 1148/2166/765 1150/2158/765 1157/2167/765 +f 1147/2155/766 1143/2151/766 1155/2163/766 1154/2162/766 +f 1158/2168/766 1146/2154/766 1159/2169/766 1160/2170/766 +f 1156/2164/764 1155/2163/764 1158/2168/764 1161/2171/764 +f 1155/2163/766 1143/2151/766 1146/2154/766 1158/2168/766 +f 1161/2172/767 1162/2173/767 1163/2174/767 1164/2175/767 +f 1162/2176/768 1160/2170/768 1159/2169/768 1165/2177/768 +f 1156/2164/769 1161/2171/769 1164/2178/769 1166/2179/769 +f 1146/2154/762 1145/2153/762 1165/2180/762 1159/2169/762 +f 1161/2171/764 1158/2168/764 1160/2170/764 1162/2181/764 +f 1157/2167/770 1150/2158/770 1149/2157/770 1166/2182/770 +f 1157/2167/771 1166/2182/771 1164/2175/771 1167/2183/771 +f 1167/2183/772 1164/2175/772 1163/2174/772 1168/2184/772 +f 1162/2176/773 1165/2177/773 1168/2185/773 1163/2186/773 +f 1147/2155/774 1154/2162/774 1169/2187/774 1170/2188/774 +f 1165/2189/775 1145/2190/775 1167/2183/775 1168/2184/775 +f 1145/2153/776 1144/2152/776 1157/2191/776 1167/2192/776 +f 1153/2193/777 1156/2194/777 1166/2182/777 1149/2157/777 +f 1177/2195/764 1198/2196/764 1171/2197/764 +f 1151/2159/778 1179/2198/778 1180/2199/778 1181/2200/778 +f 1150/2201/779 1148/2156/779 1179/2202/779 1151/2203/779 +f 1177/2195/764 1185/2204/780 1176/2205/764 1197/2206/764 +f 1153/2161/781 1149/2207/781 1152/2208/781 1171/2197/781 +f 1154/2162/764 1153/2161/764 1169/2187/764 +f 1182/2209/782 1181/2200/782 1183/2210/782 1184/2211/782 +f 1177/2195/783 1182/2212/783 1184/2213/783 1185/2204/784 +f 1171/2214/785 1152/2160/785 1182/2209/785 1177/2215/785 +f 1152/2160/786 1151/2159/786 1181/2200/786 1182/2209/786 +f 1170/2188/774 1169/2187/774 1178/2216/774 1186/2217/774 +f 1176/2205/764 1185/2204/787 1178/2216/764 +f 1192/2218/788 1193/2219/789 1194/2220/789 1185/2221/790 +f 1192/2218/791 1185/2221/792 1184/2222/793 1183/2223/793 +f 1186/2217/774 1178/2216/774 1194/2220/774 1193/2219/774 +f 1172/2224/764 1169/2187/764 1153/2161/764 +f 1181/2225/794 1180/2226/794 1192/2227/795 1183/2228/794 +f 1178/2216/764 1185/2204/796 1194/2220/764 +f 1195/2229/797 1173/2230/797 1172/2231/797 1187/2232/797 +f 1191/2233/798 1176/2234/798 1175/2235/798 1196/2236/798 +f 1178/2216/764 1169/2187/764 1174/2237/764 +f 1187/2232/799 1172/2231/799 1199/2238/799 1188/2239/799 +f 1190/2240/800 1197/2241/800 1176/2234/800 1191/2233/800 +f 1189/2242/801 1198/2243/801 1197/2241/801 1190/2240/801 +f 1200/2244/802 1174/2245/802 1173/2230/802 1195/2229/802 +f 1196/2236/803 1175/2235/803 1174/2246/803 1200/2247/803 +f 1188/2239/804 1199/2238/804 1198/2243/804 1189/2242/804 +f 1177/2195/764 1197/2206/764 1198/2196/764 +f 1192/2227/805 1186/2217/762 1193/2219/762 +f 1170/2188/762 1148/2156/762 1147/2155/762 +f 1175/2248/764 1178/2216/764 1174/2237/764 +f 1173/2249/764 1169/2187/764 1172/2224/764 +f 1199/2250/764 1171/2197/764 1198/2196/764 +f 1171/2197/764 1199/2250/764 1172/2224/764 1153/2161/764 +f 1200/2251/762 1170/2188/762 1186/2217/762 +f 1200/2251/762 1186/2217/762 1196/2252/762 +f 1169/2187/764 1173/2249/764 1174/2237/764 +f 1178/2216/764 1175/2248/764 1176/2205/764 +f 1200/2251/762 1195/2253/762 1170/2188/762 +f 1196/2252/762 1186/2217/762 1191/2254/762 +f 1195/2253/762 1187/2255/762 1170/2188/762 +f 1170/2188/762 1187/2255/762 1148/2156/762 +f 1186/2217/762 1192/2227/806 1191/2254/762 +f 1191/2254/762 1192/2227/807 1180/2226/762 1190/2256/762 +f 1190/2256/762 1180/2226/762 1189/2257/762 +f 1179/2202/762 1148/2156/762 1187/2255/762 1188/2258/762 +f 1180/2226/762 1179/2202/762 1189/2257/762 +f 1188/2258/762 1189/2257/762 1179/2202/762 +o UnderailBit_Cylinder.006 +v -0.166791 0.038391 2.882968 +v -0.166791 0.038391 3.117032 +v -0.118438 0.018363 3.117032 +v -0.118438 0.018363 2.882968 +v -0.098409 -0.029991 3.117032 +v -0.098409 -0.029991 2.882968 +v -0.118438 -0.078344 3.117032 +v -0.118438 -0.078344 2.882968 +v -0.166791 -0.098373 3.117032 +v -0.166791 -0.098373 2.882968 +v -0.215145 -0.078344 3.117032 +v -0.215145 -0.078344 2.882968 +v -0.235173 -0.029991 3.117032 +v -0.235173 -0.029991 2.882968 +v -0.215145 0.018363 3.117032 +v -0.215145 0.018363 2.882968 +vt 0.936103 0.259604 +vt 0.936115 0.740360 +vt 0.828618 0.740362 +vt 0.828606 0.259607 +vt 0.721118 0.740365 +vt 0.721107 0.259609 +vt 0.613620 0.740368 +vt 0.613609 0.259612 +vt 0.506122 0.740370 +vt 0.506111 0.259614 +vt 0.398623 0.740373 +vt 0.398611 0.259617 +vt 0.291126 0.740375 +vt 0.291114 0.259620 +vt 0.000116 0.816392 +vt 0.076128 0.740380 +vt 0.183627 0.740378 +vt 0.259639 0.816392 +vt 0.259641 0.923889 +vt 0.183628 0.999903 +vt 0.076130 0.999903 +vt 0.000116 0.923892 +vt 0.183615 0.259622 +vt 0.076117 0.259625 +vt 0.000101 0.183616 +vt 0.000097 0.076116 +vt 0.076107 0.000102 +vt 0.183605 0.000097 +vt 0.259621 0.076108 +vt 0.259625 0.183605 +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.3827 0.9239 0.0000 +vn 0.0000 0.0000 -1.0000 +s off +f 1201/2259/808 1202/2260/808 1203/2261/808 1204/2262/808 +f 1204/2262/809 1203/2261/809 1205/2263/809 1206/2264/809 +f 1206/2264/810 1205/2263/810 1207/2265/810 1208/2266/810 +f 1208/2266/811 1207/2265/811 1209/2267/811 1210/2268/811 +f 1210/2268/812 1209/2267/812 1211/2269/812 1212/2270/812 +f 1212/2270/813 1211/2269/813 1213/2271/813 1214/2272/813 +f 1203/2273/814 1202/2274/814 1215/2275/814 1213/2276/814 1211/2277/814 1209/2278/814 1207/2279/814 1205/2280/814 +f 1214/2272/815 1213/2271/815 1215/2275/815 1216/2281/815 +f 1216/2281/816 1215/2275/816 1202/2274/816 1201/2282/816 +f 1201/2282/817 1204/2283/817 1206/2284/817 1208/2285/817 1210/2286/817 1212/2287/817 1214/2288/817 1216/2281/817 +o AmmoVice_Cylinder.010 +v -2.170566 0.644712 2.891261 +v -2.102717 0.644712 2.891261 +v -2.102717 0.567822 2.923110 +v -2.170566 0.567822 2.923110 +v -2.102717 0.535974 3.000000 +v -2.170566 0.535974 3.000000 +v -2.102717 0.567822 3.076890 +v -2.170566 0.567822 3.076890 +v -2.102717 0.644712 3.108739 +v -2.170566 0.644712 3.108739 +v -2.102717 0.721602 3.076890 +v -2.170566 0.721602 3.076890 +v -2.102717 0.753451 3.000000 +v -2.170566 0.753451 3.000000 +v -2.102717 0.721602 2.923110 +v -2.170566 0.721602 2.923110 +v -2.209619 0.644712 3.088337 +v -2.209619 0.582248 3.062464 +v -2.209619 0.644712 2.911663 +v -2.209619 0.582248 2.937536 +v -2.209619 0.556375 3.000000 +v -2.209619 0.707176 3.062464 +v -2.209619 0.733049 3.000000 +v -2.209619 0.707176 2.937536 +vt 0.101983 0.250048 +vt 0.000096 0.250048 +vt 0.000097 0.125071 +vt 0.101983 0.125072 +vt 0.000097 0.000096 +vt 0.101984 0.000096 +vt 0.101984 0.999904 +vt 0.000097 0.999905 +vt 0.000097 0.874929 +vt 0.101983 0.874929 +vt 0.000096 0.749953 +vt 0.101983 0.749952 +vt 0.000096 0.624977 +vt 0.101982 0.624976 +vt 0.000096 0.500000 +vt 0.101982 0.500000 +vt 0.000096 0.375024 +vt 0.101982 0.375024 +vt 0.167101 0.761676 +vt 0.167101 0.863204 +vt 0.340610 0.547116 +vt 0.239083 0.547116 +vt 0.167292 0.475324 +vt 0.167292 0.373796 +vt 0.239084 0.302006 +vt 0.340613 0.302006 +vt 0.412403 0.373798 +vt 0.412403 0.475326 +vt 0.167100 0.386748 +vt 0.167100 0.488276 +vt 0.167101 0.011819 +vt 0.167101 0.113348 +vt 0.167100 0.636700 +vt 0.167100 0.738228 +vt 0.167101 0.261772 +vt 0.167100 0.363300 +vt 0.167101 0.136796 +vt 0.167101 0.238324 +vt 0.167101 0.886652 +vt 0.167101 0.988181 +vt 0.167100 0.511724 +vt 0.167100 0.613252 +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.4347 -0.3446 0.8320 +vn -1.0000 0.0000 0.0000 +vn -0.4347 0.8320 -0.3446 +vn -0.4347 -0.8320 -0.3446 +vn -0.4347 0.3446 0.8320 +vn -0.4347 0.3446 -0.8320 +vn -0.4347 -0.3446 -0.8320 +vn -0.4347 -0.8320 0.3446 +vn -0.4347 0.8320 0.3446 +s off +f 1217/2289/818 1218/2290/818 1219/2291/818 1220/2292/818 +f 1220/2292/819 1219/2291/819 1221/2293/819 1222/2294/819 +f 1222/2295/820 1221/2296/820 1223/2297/820 1224/2298/820 +f 1224/2298/821 1223/2297/821 1225/2299/821 1226/2300/821 +f 1226/2300/822 1225/2299/822 1227/2301/822 1228/2302/822 +f 1228/2302/823 1227/2301/823 1229/2303/823 1230/2304/823 +f 1230/2304/824 1229/2303/824 1231/2305/824 1232/2306/824 +f 1232/2306/825 1231/2305/825 1218/2290/825 1217/2289/825 +f 1224/2298/826 1226/2300/826 1233/2307/826 1234/2308/826 +f 1235/2309/827 1236/2310/827 1237/2311/827 1234/2312/827 1233/2313/827 1238/2314/827 1239/2315/827 1240/2316/827 +f 1230/2304/828 1232/2306/828 1240/2317/828 1239/2318/828 +f 1220/2292/829 1222/2294/829 1237/2319/829 1236/2320/829 +f 1226/2300/830 1228/2302/830 1238/2321/830 1233/2322/830 +f 1232/2306/831 1217/2289/831 1235/2323/831 1240/2324/831 +f 1217/2289/832 1220/2292/832 1236/2325/832 1235/2326/832 +f 1222/2295/833 1224/2298/833 1234/2327/833 1237/2328/833 +f 1228/2302/834 1230/2304/834 1239/2329/834 1238/2330/834 +o SideThingy_Cube.009 +v -1.552216 0.766425 3.449060 +v -1.552216 0.766425 3.324053 +v -1.613245 0.699098 3.324053 +v -1.613245 0.699098 3.449060 +v -1.552216 0.456014 3.324053 +v -1.048308 0.766425 3.449060 +v -1.048308 0.766425 3.324053 +v -1.552216 0.456014 3.449060 +v -1.048308 0.456014 3.324053 +v -1.041527 0.788142 3.315308 +v -1.041527 0.434297 3.315308 +v -1.048308 0.456014 3.449060 +v -1.041527 0.788142 3.457806 +v -1.041527 0.434297 3.457806 +v -0.900483 0.434297 3.457806 +v -0.900483 0.788142 3.457806 +v -0.900483 0.788142 3.315308 +v -0.896414 0.768510 3.449899 +v -0.896414 0.768510 3.323214 +v -0.900483 0.434297 3.315308 +v -0.896414 0.453929 3.449899 +v -0.817755 0.457256 3.449106 +v -0.817755 0.767895 3.449106 +v -0.896414 0.453929 3.323214 +v -0.817755 0.457256 3.324007 +v -0.817755 0.767895 3.324007 +v -1.613245 0.523341 3.449060 +v -1.613245 0.523341 3.324053 +v -1.552216 0.766425 2.550940 +v -1.613245 0.699098 2.550940 +v -1.613245 0.699098 2.675947 +v -1.552216 0.766425 2.675947 +v -1.552216 0.456014 2.675947 +v -1.048308 0.766425 2.675947 +v -1.048308 0.766425 2.550940 +v -1.552216 0.456014 2.550940 +v -1.048308 0.456014 2.675947 +v -1.041528 0.434297 2.684692 +v -1.041528 0.788142 2.684692 +v -1.048308 0.456014 2.550940 +v -1.041528 0.788142 2.542194 +v -0.900483 0.788142 2.542194 +v -0.900483 0.434297 2.542194 +v -1.041528 0.434297 2.542194 +v -0.900483 0.788142 2.684692 +v -0.896414 0.768510 2.676786 +v -0.896414 0.768510 2.550101 +v -0.900483 0.434297 2.684692 +v -0.817755 0.767895 2.550894 +v -0.817755 0.457256 2.550894 +v -0.896414 0.453929 2.550101 +v -0.896414 0.453929 2.676786 +v -0.817755 0.457256 2.675993 +v -0.817755 0.767895 2.675993 +v -1.613245 0.523341 2.550940 +v -1.613245 0.523341 2.675947 +vt 0.482699 0.832844 +vt 0.432017 0.832844 +vt 0.432017 0.796002 +vt 0.482699 0.796002 +vt 0.583806 0.442127 +vt 0.634488 0.442127 +vt 0.634488 0.646427 +vt 0.583806 0.646427 +vt 0.457956 0.646427 +vt 0.457956 0.442127 +vt 0.711742 0.646766 +vt 0.711742 0.697448 +vt 0.507442 0.697448 +vt 0.507442 0.646766 +vt 0.711742 0.873980 +vt 0.711742 0.999830 +vt 0.507442 0.999830 +vt 0.507442 0.873980 +vt 0.004929 0.552138 +vt 0.004598 0.674127 +vt 0.000170 0.683319 +vt 0.000481 0.542899 +vt 0.203708 0.542544 +vt 0.058826 0.542797 +vt 0.058726 0.485047 +vt 0.203607 0.484794 +vt 0.054086 0.674326 +vt 0.054411 0.551828 +vt 0.058514 0.683411 +vt 0.000170 0.342162 +vt 0.058508 0.341959 +vt 0.054925 0.350069 +vt 0.003806 0.350339 +vt 0.000380 0.485149 +vt 0.262053 0.542442 +vt 0.261953 0.484692 +vt 0.406935 0.542189 +vt 0.406834 0.484439 +vt 0.565390 0.229561 +vt 0.437849 0.229561 +vt 0.439198 0.197668 +vt 0.565141 0.197668 +vt 0.003970 0.476972 +vt 0.055097 0.476933 +vt 0.439198 0.146949 +vt 0.565141 0.146949 +vt 0.407279 0.197990 +vt 0.407279 0.146628 +vt 0.597033 0.146628 +vt 0.597033 0.197990 +vt 0.437849 0.115057 +vt 0.565390 0.115057 +vt 0.482699 0.724744 +vt 0.432017 0.724744 +vt 0.432017 0.687903 +vt 0.482699 0.687903 +vt 0.407274 0.823298 +vt 0.407274 0.697448 +vt 0.507442 0.823298 +vt 0.593351 0.417384 +vt 0.556510 0.417384 +vt 0.556510 0.366702 +vt 0.593352 0.366702 +vt 0.407274 0.646427 +vt 0.407274 0.442127 +vt 0.760338 0.442127 +vt 0.760338 0.646427 +vt 0.711742 0.823298 +vt 0.402178 0.210347 +vt 0.406625 0.201108 +vt 0.406939 0.341526 +vt 0.402512 0.332335 +vt 0.203400 0.200758 +vt 0.203499 0.143007 +vt 0.348380 0.143257 +vt 0.348281 0.201007 +vt 0.353025 0.332535 +vt 0.348597 0.341620 +vt 0.352696 0.210039 +vt 0.406935 0.000372 +vt 0.403298 0.008549 +vt 0.352179 0.008280 +vt 0.348596 0.000170 +vt 0.406725 0.143358 +vt 0.145054 0.200657 +vt 0.145153 0.142906 +vt 0.000170 0.200407 +vt 0.000269 0.142656 +vt 0.565419 0.000214 +vt 0.565158 0.032106 +vt 0.439216 0.032063 +vt 0.437878 0.000170 +vt 0.403136 0.135182 +vt 0.352009 0.135143 +vt 0.439198 0.082782 +vt 0.565141 0.082825 +vt 0.407296 0.031730 +vt 0.407279 0.083092 +vt 0.597033 0.083158 +vt 0.597050 0.031796 +vt 0.437838 0.114674 +vt 0.565379 0.114718 +vt 0.485252 0.417384 +vt 0.485252 0.366702 +vt 0.448411 0.366702 +vt 0.448411 0.417384 +vt 0.583806 0.341959 +vt 0.457956 0.341959 +vn -0.7409 0.6716 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.7902 0.0000 -0.6128 +vn 0.0000 0.0000 1.0000 +vn -0.7903 0.0000 0.6127 +vn -0.9545 -0.2981 0.0000 +vn -0.9545 0.2981 0.0000 +vn 0.9792 0.2030 0.0000 +vn 0.0101 0.0000 0.9999 +vn 0.8891 0.0000 -0.4576 +vn 0.8892 0.0000 0.4576 +vn 0.9792 -0.2030 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0423 -0.9991 0.0000 +vn 0.0078 1.0000 0.0000 +vn 0.0101 0.0000 -0.9999 +vn -1.0000 0.0000 0.0000 +vn -0.7409 -0.6716 -0.0000 +vn -0.7903 0.0000 -0.6127 +vn -0.9546 -0.2980 0.0000 +vn -0.9546 0.2980 0.0000 +vn 0.9792 0.2029 0.0000 +vn 0.8891 0.0000 0.4576 +vn 0.8892 0.0000 -0.4576 +s off +f 1241/2331/835 1242/2332/835 1243/2333/835 1244/2334/835 +f 1269/2335/836 1272/2336/836 1274/2337/836 1275/2338/836 +f 1269/2335/837 1275/2338/837 1280/2339/837 1276/2340/837 +f 1249/2341/838 1252/2342/838 1248/2343/838 1245/2344/838 +f 1247/2345/837 1249/2346/837 1245/2347/837 1242/2348/837 +f 1249/2349/839 1247/2350/839 1250/2351/839 1251/2352/839 +f 1253/2353/840 1254/2354/840 1255/2355/840 1256/2356/840 +f 1246/2357/841 1252/2358/841 1254/2354/841 1253/2359/841 +f 1252/2358/842 1249/2349/842 1251/2352/842 1254/2354/842 +f 1247/2350/843 1246/2357/843 1253/2359/843 1250/2351/843 +f 1257/2360/844 1256/2361/844 1258/2362/844 1259/2363/844 +f 1254/2354/838 1251/2352/838 1260/2364/838 1255/2355/838 +f 1250/2365/836 1253/2353/836 1256/2356/836 1257/2366/836 +f 1251/2367/837 1250/2365/837 1257/2366/837 1260/2368/837 +f 1258/2369/845 1261/2370/845 1262/2371/845 1263/2372/845 +f 1260/2364/846 1257/2360/846 1259/2363/846 1264/2373/846 +f 1256/2361/847 1255/2355/847 1261/2374/847 1258/2362/847 +f 1255/2355/848 1260/2364/848 1264/2373/848 1261/2374/848 +f 1265/2375/849 1266/2376/849 1263/2372/849 1262/2371/849 +f 1261/2377/850 1264/2378/850 1265/2375/850 1262/2371/850 +f 1259/2379/851 1258/2380/851 1263/2372/851 1266/2376/851 +f 1264/2381/852 1259/2382/852 1266/2376/852 1265/2375/852 +f 1267/2383/853 1244/2334/853 1243/2333/853 1268/2384/853 +f 1245/2385/854 1248/2386/854 1267/2383/854 1268/2384/854 +f 1242/2387/837 1245/2388/837 1268/2384/837 1243/2333/837 +f 1248/2343/840 1241/2389/840 1244/2334/840 1267/2383/840 +f 1269/2390/835 1270/2391/835 1271/2392/835 1272/2393/835 +f 1276/2340/838 1280/2339/838 1277/2394/838 1273/2395/838 +f 1273/2396/840 1277/2397/840 1274/2337/840 1272/2336/840 +f 1248/2343/840 1252/2342/840 1246/2398/840 1241/2389/840 +f 1277/2399/841 1278/2400/841 1279/2401/841 1274/2402/841 +f 1281/2403/837 1282/2404/837 1283/2405/837 1284/2406/837 +f 1275/2407/855 1281/2408/855 1284/2406/855 1280/2409/855 +f 1280/2409/856 1284/2406/856 1278/2400/856 1277/2399/856 +f 1274/2402/857 1279/2401/857 1281/2408/857 1275/2407/857 +f 1285/2410/858 1286/2411/858 1287/2412/858 1282/2413/858 +f 1284/2406/838 1283/2405/838 1288/2414/838 1278/2400/838 +f 1279/2415/836 1285/2416/836 1282/2404/836 1281/2403/836 +f 1278/2417/840 1288/2418/840 1285/2416/840 1279/2415/840 +f 1287/2419/852 1289/2420/852 1290/2421/852 1291/2422/852 +f 1288/2414/859 1292/2423/859 1286/2411/859 1285/2410/859 +f 1282/2413/860 1287/2412/860 1291/2424/860 1283/2405/860 +f 1283/2405/848 1291/2424/848 1292/2423/848 1288/2414/848 +f 1293/2425/849 1290/2421/849 1289/2420/849 1294/2426/849 +f 1291/2427/850 1290/2421/850 1293/2425/850 1292/2428/850 +f 1286/2429/851 1294/2426/851 1289/2420/851 1287/2430/851 +f 1292/2431/845 1293/2425/845 1294/2426/845 1286/2432/845 +f 1295/2433/853 1296/2434/853 1271/2392/853 1270/2391/853 +f 1273/2435/854 1296/2434/854 1295/2433/854 1276/2436/854 +f 1272/2437/840 1271/2392/840 1296/2434/840 1273/2438/840 +f 1276/2340/837 1295/2433/837 1270/2391/837 1269/2335/837 +f 1247/2345/836 1242/2348/836 1241/2389/836 1246/2398/836 +o Tech_thingy_Cylinder.011 +v -1.457017 0.997796 3.139627 +v -1.457017 1.110929 3.189700 +v -1.405270 1.098405 3.216824 +v -1.405270 0.985272 3.166751 +v -1.405270 1.073357 3.271072 +v -1.405270 0.960224 3.220999 +v -1.457017 1.060833 3.298196 +v -1.457017 0.947700 3.248123 +v -1.508763 1.073357 3.271072 +v -1.508763 0.960224 3.220999 +v -1.508763 1.098405 3.216824 +v -1.508763 0.985272 3.166751 +v -1.322476 0.997796 3.139627 +v -1.322476 1.110929 3.189700 +v -1.270730 1.098405 3.216824 +v -1.270730 0.985272 3.166751 +v -1.270730 1.073357 3.271072 +v -1.270730 0.960224 3.220999 +v -1.322476 1.060833 3.298196 +v -1.322476 0.947700 3.248123 +v -1.374223 1.073357 3.271072 +v -1.374223 0.960224 3.220999 +v -1.374223 1.098405 3.216824 +v -1.374223 0.985272 3.166751 +v -1.187935 0.997796 3.139627 +v -1.187935 1.110929 3.189700 +v -1.136189 1.098405 3.216824 +v -1.136189 0.985272 3.166751 +v -1.136189 1.073357 3.271072 +v -1.136189 0.960224 3.220999 +v -1.187935 1.060833 3.298196 +v -1.187935 0.947700 3.248123 +v -1.239682 1.073357 3.271072 +v -1.239682 0.960224 3.220999 +v -1.239682 1.098405 3.216824 +v -1.239682 0.985272 3.166751 +v -1.551588 0.824089 3.270719 +v -1.551588 0.906574 3.321562 +v -1.551588 1.018668 3.066710 +v -1.551588 0.936183 3.015867 +v -1.097206 1.018668 3.066710 +v -1.097206 0.936183 3.015867 +v -1.097206 0.906574 3.321562 +v -1.097206 0.824089 3.270719 +v -1.521210 0.950031 3.320343 +v -1.521210 1.047137 3.099566 +v -1.127583 1.047137 3.099566 +v -1.127583 0.950031 3.320343 +v -1.457017 0.997796 2.860373 +v -1.405271 0.985272 2.833249 +v -1.405271 1.098405 2.783176 +v -1.457017 1.110929 2.810300 +v -1.405271 0.960224 2.779001 +v -1.405271 1.073357 2.728928 +v -1.457017 0.947700 2.751877 +v -1.457017 1.060833 2.701804 +v -1.508764 0.960224 2.779001 +v -1.508764 1.073357 2.728928 +v -1.508764 1.098405 2.783176 +v -1.508764 0.985272 2.833249 +v -1.322476 0.997796 2.860373 +v -1.270730 0.985272 2.833249 +v -1.270730 1.098405 2.783176 +v -1.322476 1.110929 2.810300 +v -1.270730 0.960224 2.779001 +v -1.270730 1.073357 2.728928 +v -1.322476 0.947700 2.751877 +v -1.322476 1.060833 2.701804 +v -1.374223 0.960224 2.779001 +v -1.374223 1.073357 2.728928 +v -1.374223 1.098405 2.783176 +v -1.374223 0.985272 2.833249 +v -1.187936 0.997796 2.860373 +v -1.136189 0.985272 2.833249 +v -1.136189 1.098405 2.783176 +v -1.187936 1.110929 2.810300 +v -1.136189 0.960224 2.779001 +v -1.136189 1.073357 2.728928 +v -1.187936 0.947700 2.751877 +v -1.187936 1.060833 2.701804 +v -1.239682 0.960224 2.779001 +v -1.239682 1.073357 2.728928 +v -1.239682 1.098405 2.783176 +v -1.239682 0.985272 2.833249 +v -1.551588 0.824089 2.729281 +v -1.551588 0.936183 2.984133 +v -1.551588 1.018668 2.933290 +v -1.551588 0.906574 2.678438 +v -1.097206 0.936183 2.984133 +v -1.097206 1.018668 2.933290 +v -1.097206 0.824089 2.729281 +v -1.097206 0.906574 2.678438 +v -1.521211 1.047137 2.900434 +v -1.521211 0.950031 2.679657 +v -1.127584 1.047137 2.900434 +v -1.127584 0.950031 2.679657 +vt 0.803021 0.000268 +vt 0.908675 0.000268 +vt 0.908270 0.051294 +vt 0.802616 0.051294 +vt 0.907459 0.102314 +vt 0.801805 0.102314 +vt 0.907054 0.153340 +vt 0.801400 0.153340 +vt 0.907459 0.204365 +vt 0.801805 0.204365 +vt 0.611293 0.613624 +vt 0.662320 0.613624 +vt 0.687833 0.657815 +vt 0.662320 0.702005 +vt 0.611293 0.702005 +vt 0.585779 0.657814 +vt 0.908270 0.255385 +vt 0.802616 0.255385 +vt 0.908675 0.306410 +vt 0.803021 0.306410 +vt 0.587400 0.306946 +vt 0.693054 0.306946 +vt 0.692649 0.357971 +vt 0.586995 0.357971 +vt 0.691839 0.408991 +vt 0.586185 0.408991 +vt 0.691434 0.460016 +vt 0.585779 0.460016 +vt 0.691839 0.511042 +vt 0.586185 0.511042 +vt 0.693590 0.746948 +vt 0.737780 0.721434 +vt 0.781971 0.746948 +vt 0.781971 0.797974 +vt 0.737780 0.823488 +vt 0.693590 0.797974 +vt 0.692649 0.562062 +vt 0.586995 0.562062 +vt 0.693054 0.613088 +vt 0.587400 0.613088 +vt 0.693590 0.719278 +vt 0.693590 0.613624 +vt 0.744615 0.614029 +vt 0.744615 0.719683 +vt 0.795635 0.614839 +vt 0.795635 0.720493 +vt 0.846660 0.615245 +vt 0.846660 0.720899 +vt 0.897686 0.614839 +vt 0.897686 0.720493 +vt 0.782507 0.746948 +vt 0.826697 0.721434 +vt 0.870889 0.746948 +vt 0.870889 0.797974 +vt 0.826697 0.823488 +vt 0.782507 0.797974 +vt 0.948706 0.614029 +vt 0.948706 0.719683 +vt 0.999732 0.613624 +vt 0.999732 0.719278 +vt 0.000349 0.115597 +vt 0.082314 0.104241 +vt 0.082232 0.342003 +vt 0.000268 0.353358 +vt 0.098665 0.445986 +vt 0.098694 0.363239 +vt 0.486728 0.363373 +vt 0.486700 0.446120 +vt 0.585161 0.353560 +vt 0.503205 0.342148 +vt 0.503287 0.104387 +vt 0.585244 0.115799 +vt 0.486854 0.000402 +vt 0.486825 0.083149 +vt 0.098790 0.083015 +vt 0.098819 0.000268 +vt 0.124720 0.120150 +vt 0.124649 0.326122 +vt 0.460800 0.326238 +vt 0.460871 0.120266 +vt 0.695211 0.306410 +vt 0.694805 0.255385 +vt 0.800460 0.255385 +vt 0.800865 0.306410 +vt 0.693995 0.204365 +vt 0.799649 0.204365 +vt 0.693590 0.153340 +vt 0.799244 0.153340 +vt 0.693995 0.102314 +vt 0.799649 0.102314 +vt 0.801400 0.486076 +vt 0.801400 0.435049 +vt 0.845590 0.409535 +vt 0.889782 0.435049 +vt 0.889782 0.486076 +vt 0.845590 0.511589 +vt 0.694805 0.051294 +vt 0.800460 0.051294 +vt 0.695211 0.000268 +vt 0.800865 0.000268 +vt 0.587400 0.306410 +vt 0.586995 0.255385 +vt 0.692649 0.255385 +vt 0.693054 0.306410 +vt 0.586185 0.204365 +vt 0.691839 0.204365 +vt 0.585779 0.153340 +vt 0.691434 0.153340 +vt 0.586185 0.102314 +vt 0.691839 0.102314 +vt 0.801400 0.383486 +vt 0.801400 0.332459 +vt 0.845591 0.306946 +vt 0.889782 0.332459 +vt 0.889782 0.383486 +vt 0.845591 0.409000 +vt 0.586995 0.051294 +vt 0.692649 0.051294 +vt 0.587400 0.000268 +vt 0.693054 0.000268 +vt 0.695211 0.613088 +vt 0.694805 0.562063 +vt 0.800460 0.562062 +vt 0.800865 0.613088 +vt 0.693995 0.511042 +vt 0.799649 0.511042 +vt 0.693590 0.460016 +vt 0.799244 0.460016 +vt 0.693995 0.408991 +vt 0.799649 0.408991 +vt 0.585779 0.779081 +vt 0.585779 0.728054 +vt 0.629971 0.702541 +vt 0.674161 0.728055 +vt 0.674161 0.779081 +vt 0.629971 0.804595 +vt 0.694805 0.357971 +vt 0.800459 0.357971 +vt 0.695211 0.306946 +vt 0.800865 0.306946 +vt 0.000268 0.777012 +vt 0.000268 0.539250 +vt 0.082229 0.550634 +vt 0.082229 0.788396 +vt 0.098698 0.446656 +vt 0.486733 0.446656 +vt 0.486733 0.529404 +vt 0.098698 0.529403 +vt 0.585162 0.539250 +vt 0.585162 0.777011 +vt 0.503202 0.788396 +vt 0.503201 0.550634 +vt 0.486733 0.892375 +vt 0.098698 0.892375 +vt 0.098698 0.809627 +vt 0.486733 0.809627 +vt 0.124639 0.566530 +vt 0.124639 0.772501 +vt 0.460790 0.566530 +vt 0.460790 0.772501 +vn 0.4999 0.3505 -0.7920 +vn 1.0000 0.0000 0.0000 +vn 0.4999 -0.3505 0.7920 +vn -0.5000 -0.3505 0.7919 +vn 0.0000 0.9079 0.4192 +vn -1.0000 0.0000 0.0000 +vn -0.5000 0.3505 -0.7919 +vn 0.5000 0.3505 -0.7919 +vn 0.5000 -0.3505 0.7919 +vn -0.5000 -0.3505 0.7920 +vn -0.4999 0.3505 -0.7920 +vn 0.0000 0.5247 -0.8513 +vn 0.0000 -0.5247 0.8513 +vn -0.7911 0.5599 0.2463 +vn 0.0000 0.9154 0.4026 +vn 0.0000 0.0280 0.9996 +vn 0.0000 0.7558 -0.6548 +vn 0.7911 0.5599 0.2463 +vn 0.5000 0.3505 0.7919 +vn 0.5000 -0.3505 -0.7919 +vn -0.4999 -0.3505 -0.7920 +vn 0.0000 0.9079 -0.4192 +vn -0.4999 0.3505 0.7920 +vn 0.4999 0.3505 0.7920 +vn 0.4999 -0.3505 -0.7920 +vn -0.5000 -0.3505 -0.7919 +vn -0.5000 0.3505 0.7919 +vn 0.0000 0.5247 0.8513 +vn 0.0000 -0.5247 -0.8513 +vn -0.7911 0.5599 -0.2463 +vn 0.0000 0.9154 -0.4026 +vn 0.0000 0.0280 -0.9996 +vn 0.0000 0.7558 0.6548 +vn 0.7911 0.5599 -0.2463 +s off +f 1297/2439/861 1298/2440/861 1299/2441/861 1300/2442/861 +f 1300/2442/862 1299/2441/862 1301/2443/862 1302/2444/862 +f 1302/2444/863 1301/2443/863 1303/2445/863 1304/2446/863 +f 1304/2446/864 1303/2445/864 1305/2447/864 1306/2448/864 +f 1299/2449/865 1298/2450/865 1307/2451/865 1305/2452/865 1303/2453/865 1301/2454/865 +f 1306/2448/866 1305/2447/866 1307/2455/866 1308/2456/866 +f 1308/2456/867 1307/2455/867 1298/2457/867 1297/2458/867 +f 1309/2459/868 1310/2460/868 1311/2461/868 1312/2462/868 +f 1312/2462/862 1311/2461/862 1313/2463/862 1314/2464/862 +f 1314/2464/869 1313/2463/869 1315/2465/869 1316/2466/869 +f 1316/2466/870 1315/2465/870 1317/2467/870 1318/2468/870 +f 1311/2469/865 1310/2470/865 1319/2471/865 1317/2472/865 1315/2473/865 1313/2474/865 +f 1318/2468/866 1317/2467/866 1319/2475/866 1320/2476/866 +f 1320/2476/871 1319/2475/871 1310/2477/871 1309/2478/871 +f 1321/2479/868 1322/2480/868 1323/2481/868 1324/2482/868 +f 1324/2482/862 1323/2481/862 1325/2483/862 1326/2484/862 +f 1326/2484/869 1325/2483/869 1327/2485/869 1328/2486/869 +f 1328/2486/870 1327/2485/870 1329/2487/870 1330/2488/870 +f 1323/2489/865 1322/2490/865 1331/2491/865 1329/2492/865 1327/2493/865 1325/2494/865 +f 1330/2488/866 1329/2487/866 1331/2495/866 1332/2496/866 +f 1332/2496/871 1331/2495/871 1322/2497/871 1321/2498/871 +f 1333/2499/866 1334/2500/866 1335/2501/866 1336/2502/866 +f 1336/2503/872 1335/2504/872 1337/2505/872 1338/2506/872 +f 1338/2507/862 1337/2508/862 1339/2509/862 1340/2510/862 +f 1340/2511/873 1339/2512/873 1334/2513/873 1333/2514/873 +f 1335/2501/874 1334/2500/874 1341/2515/874 1342/2516/874 +f 1343/2517/875 1342/2516/875 1341/2515/875 1344/2518/875 +f 1334/2513/876 1339/2512/876 1344/2518/876 1341/2515/876 +f 1337/2505/877 1335/2504/877 1342/2516/877 1343/2517/877 +f 1339/2509/878 1337/2508/878 1343/2517/878 1344/2518/878 +f 1345/2519/879 1346/2520/879 1347/2521/879 1348/2522/879 +f 1346/2520/862 1349/2523/862 1350/2524/862 1347/2521/862 +f 1349/2523/880 1351/2525/880 1352/2526/880 1350/2524/880 +f 1351/2525/881 1353/2527/881 1354/2528/881 1352/2526/881 +f 1347/2529/882 1350/2530/882 1352/2531/882 1354/2532/882 1355/2533/882 1348/2534/882 +f 1353/2527/866 1356/2535/866 1355/2536/866 1354/2528/866 +f 1356/2535/883 1345/2537/883 1348/2538/883 1355/2536/883 +f 1357/2539/879 1358/2540/879 1359/2541/879 1360/2542/879 +f 1358/2540/862 1361/2543/862 1362/2544/862 1359/2541/862 +f 1361/2543/880 1363/2545/880 1364/2546/880 1362/2544/880 +f 1363/2545/881 1365/2547/881 1366/2548/881 1364/2546/881 +f 1359/2549/882 1362/2550/882 1364/2551/882 1366/2552/882 1367/2553/882 1360/2554/882 +f 1365/2547/866 1368/2555/866 1367/2556/866 1366/2548/866 +f 1368/2555/883 1357/2557/883 1360/2558/883 1367/2556/883 +f 1369/2559/884 1370/2560/884 1371/2561/884 1372/2562/884 +f 1370/2560/862 1373/2563/862 1374/2564/862 1371/2561/862 +f 1373/2563/885 1375/2565/885 1376/2566/885 1374/2564/885 +f 1375/2565/886 1377/2567/886 1378/2568/886 1376/2566/886 +f 1371/2569/882 1374/2570/882 1376/2571/882 1378/2572/882 1379/2573/882 1372/2574/882 +f 1377/2567/866 1380/2575/866 1379/2576/866 1378/2568/866 +f 1380/2575/887 1369/2577/887 1372/2578/887 1379/2576/887 +f 1381/2579/866 1382/2580/866 1383/2581/866 1384/2582/866 +f 1382/2583/888 1385/2584/888 1386/2585/888 1383/2586/888 +f 1385/2587/862 1387/2588/862 1388/2589/862 1386/2590/862 +f 1387/2591/889 1381/2592/889 1384/2593/889 1388/2594/889 +f 1383/2581/890 1389/2595/890 1390/2596/890 1384/2582/890 +f 1391/2597/891 1392/2598/891 1390/2596/891 1389/2595/891 +f 1384/2593/892 1390/2596/892 1392/2598/892 1388/2594/892 +f 1386/2585/893 1391/2597/893 1389/2595/893 1383/2586/893 +f 1388/2589/894 1392/2598/894 1391/2597/894 1386/2590/894 +o Coils_Cylinder.012 +v -0.463562 0.524760 2.571894 +v -0.237813 0.524760 2.571894 +v -0.237813 0.222044 2.697284 +v -0.463562 0.222044 2.697284 +v -0.237813 0.096655 3.000000 +v -0.463562 0.096655 3.000000 +v -0.237813 0.222044 3.302716 +v -0.463562 0.222044 3.302716 +v -0.237813 0.524760 3.428106 +v -0.463562 0.524760 3.428106 +v -0.237813 0.827477 3.302716 +v -0.463562 0.827477 3.302716 +v -0.237813 0.952866 3.000000 +v -0.463562 0.952866 3.000000 +v -0.237813 0.827477 2.697284 +v -0.463562 0.827477 2.697284 +v -0.170088 0.524760 2.571894 +v 0.055660 0.524760 2.571894 +v 0.055660 0.222044 2.697284 +v -0.170088 0.222044 2.697284 +v 0.055660 0.096655 3.000000 +v -0.170088 0.096655 3.000000 +v 0.055660 0.222044 3.302716 +v -0.170088 0.222044 3.302716 +v 0.055660 0.524760 3.428106 +v -0.170088 0.524760 3.428106 +v 0.055660 0.827477 3.302716 +v -0.170088 0.827477 3.302716 +v 0.055660 0.952866 3.000000 +v -0.170088 0.952866 3.000000 +v 0.055660 0.827477 2.697284 +v -0.170088 0.827477 2.697284 +v 0.123385 0.524760 2.571894 +v 0.349134 0.524760 2.571894 +v 0.349134 0.222044 2.697284 +v 0.123385 0.222044 2.697284 +v 0.349134 0.096655 3.000000 +v 0.123385 0.096655 3.000000 +v 0.349134 0.222044 3.302716 +v 0.123385 0.222044 3.302716 +v 0.349134 0.524760 3.428106 +v 0.123385 0.524760 3.428106 +v 0.349134 0.827477 3.302716 +v 0.123385 0.827477 3.302716 +v 0.349134 0.952866 3.000000 +v 0.123385 0.952866 3.000000 +v 0.349134 0.827477 2.697284 +v 0.123385 0.827477 2.697284 +v 0.416858 0.524760 2.571894 +v 0.642607 0.524760 2.571894 +v 0.642607 0.222044 2.697284 +v 0.416858 0.222044 2.697284 +v 0.642607 0.096655 3.000000 +v 0.416858 0.096655 3.000000 +v 0.642607 0.222044 3.302716 +v 0.416858 0.222044 3.302716 +v 0.642607 0.524760 3.428106 +v 0.416858 0.524760 3.428106 +v 0.642607 0.827477 3.302716 +v 0.416858 0.827477 3.302716 +v 0.642607 0.952866 3.000000 +v 0.416858 0.952866 3.000000 +v 0.642607 0.827477 2.697284 +v 0.416858 0.827477 2.697284 +v 0.710331 0.524760 2.571894 +v 0.936080 0.524760 2.571894 +v 0.936080 0.222044 2.697284 +v 0.710331 0.222044 2.697284 +v 0.936080 0.096655 3.000000 +v 0.710331 0.096655 3.000000 +v 0.936080 0.222044 3.302716 +v 0.710331 0.222044 3.302716 +v 0.936080 0.524760 3.428106 +v 0.710331 0.524760 3.428106 +v 0.936080 0.827477 3.302716 +v 0.710331 0.827477 3.302716 +v 0.936080 0.952866 3.000000 +v 0.710331 0.952866 3.000000 +v 0.936080 0.827477 2.697284 +v 0.710331 0.827477 2.697284 +vt 0.781097 0.399443 +vt 0.718903 0.399443 +vt 0.718903 0.309173 +vt 0.781097 0.309173 +vt 0.718903 0.218903 +vt 0.781097 0.218903 +vt 0.781097 0.941064 +vt 0.718903 0.941064 +vt 0.718903 0.850794 +vt 0.781097 0.850794 +vt 0.718903 0.760524 +vt 0.781097 0.760524 +vt 0.718903 0.670254 +vt 0.781097 0.670254 +vt 0.718903 0.579984 +vt 0.781097 0.579984 +vt 0.218903 0.282734 +vt 0.282733 0.218903 +vt 0.373004 0.218903 +vt 0.436834 0.282734 +vt 0.436834 0.373004 +vt 0.373003 0.436835 +vt 0.282733 0.436834 +vt 0.218903 0.373004 +vt 0.718903 0.489714 +vt 0.781097 0.489714 +vt 0.064155 0.437482 +vt 0.154425 0.437483 +vt 0.218255 0.501313 +vt 0.218255 0.591583 +vt 0.154425 0.655414 +vt 0.064154 0.655414 +vt 0.000324 0.591583 +vt 0.000324 0.501313 +vt 0.999676 0.180864 +vt 0.937482 0.180864 +vt 0.937482 0.090594 +vt 0.999676 0.090594 +vt 0.937482 0.000324 +vt 0.999676 0.000324 +vt 0.999676 0.722485 +vt 0.937482 0.722485 +vt 0.937482 0.632215 +vt 0.999676 0.632215 +vt 0.937482 0.541944 +vt 0.999676 0.541944 +vt 0.937482 0.451674 +vt 0.999676 0.451674 +vt 0.937482 0.361404 +vt 0.999676 0.361404 +vt 0.000324 0.282734 +vt 0.064154 0.218903 +vt 0.154425 0.218903 +vt 0.218255 0.282734 +vt 0.218255 0.373004 +vt 0.154424 0.436835 +vt 0.064154 0.436834 +vt 0.000324 0.373004 +vt 0.937482 0.271134 +vt 0.999676 0.271134 +vt 0.501313 0.218903 +vt 0.591583 0.218903 +vt 0.655413 0.282734 +vt 0.655413 0.373004 +vt 0.591583 0.436835 +vt 0.501313 0.436834 +vt 0.437482 0.373004 +vt 0.437482 0.282734 +vt 0.718255 0.399443 +vt 0.656061 0.399443 +vt 0.656061 0.309173 +vt 0.718255 0.309173 +vt 0.656061 0.218903 +vt 0.718255 0.218903 +vt 0.718255 0.941064 +vt 0.656061 0.941064 +vt 0.656061 0.850794 +vt 0.718255 0.850794 +vt 0.656061 0.760524 +vt 0.718255 0.760524 +vt 0.656061 0.670254 +vt 0.718255 0.670254 +vt 0.656061 0.579984 +vt 0.718255 0.579984 +vt 0.218903 0.501313 +vt 0.282733 0.437482 +vt 0.373004 0.437483 +vt 0.436834 0.501313 +vt 0.436834 0.591583 +vt 0.373003 0.655414 +vt 0.282733 0.655414 +vt 0.218903 0.591583 +vt 0.656061 0.489714 +vt 0.718255 0.489714 +vt 0.501313 0.437482 +vt 0.591583 0.437483 +vt 0.655413 0.501313 +vt 0.655413 0.591583 +vt 0.591583 0.655414 +vt 0.501313 0.655414 +vt 0.437482 0.591583 +vt 0.437482 0.501313 +vt 0.936834 0.180864 +vt 0.874640 0.180864 +vt 0.874640 0.090594 +vt 0.936834 0.090594 +vt 0.874640 0.000324 +vt 0.936834 0.000324 +vt 0.936834 0.722484 +vt 0.874640 0.722484 +vt 0.874640 0.632214 +vt 0.936834 0.632214 +vt 0.874640 0.541944 +vt 0.936834 0.541944 +vt 0.874640 0.451674 +vt 0.936834 0.451674 +vt 0.874640 0.361404 +vt 0.936834 0.361404 +vt 0.656061 0.064155 +vt 0.719891 0.000324 +vt 0.810162 0.000324 +vt 0.873992 0.064155 +vt 0.873992 0.154425 +vt 0.810162 0.218255 +vt 0.719891 0.218255 +vt 0.656061 0.154425 +vt 0.874640 0.271134 +vt 0.936834 0.271134 +vt 0.501313 0.000324 +vt 0.591583 0.000324 +vt 0.655413 0.064155 +vt 0.655413 0.154425 +vt 0.591583 0.218255 +vt 0.501313 0.218255 +vt 0.437482 0.154425 +vt 0.437482 0.064155 +vt 0.873992 0.399443 +vt 0.811798 0.399443 +vt 0.811798 0.309173 +vt 0.873992 0.309173 +vt 0.811798 0.218903 +vt 0.873992 0.218903 +vt 0.873992 0.941064 +vt 0.811798 0.941064 +vt 0.811798 0.850794 +vt 0.873992 0.850794 +vt 0.811798 0.760524 +vt 0.873992 0.760524 +vt 0.811798 0.670253 +vt 0.873992 0.670253 +vt 0.811798 0.579983 +vt 0.873992 0.579983 +vt 0.218903 0.064155 +vt 0.282733 0.000324 +vt 0.373004 0.000324 +vt 0.436834 0.064155 +vt 0.436834 0.154425 +vt 0.373003 0.218255 +vt 0.282733 0.218255 +vt 0.218903 0.154425 +vt 0.811798 0.489713 +vt 0.873992 0.489713 +vt 0.064155 0.000324 +vt 0.154425 0.000324 +vt 0.218255 0.064155 +vt 0.218255 0.154425 +vt 0.154425 0.218255 +vt 0.064154 0.218255 +vt 0.000324 0.154425 +vt 0.000324 0.064155 +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 1.0000 0.0000 0.0000 +vn 0.0000 0.9239 -0.3827 +vn 0.0000 0.3827 -0.9239 +vn -1.0000 0.0000 0.0000 +s off +f 1393/2599/895 1394/2600/895 1395/2601/895 1396/2602/895 +f 1396/2602/896 1395/2601/896 1397/2603/896 1398/2604/896 +f 1398/2605/897 1397/2606/897 1399/2607/897 1400/2608/897 +f 1400/2608/898 1399/2607/898 1401/2609/898 1402/2610/898 +f 1402/2610/899 1401/2609/899 1403/2611/899 1404/2612/899 +f 1404/2612/900 1403/2611/900 1405/2613/900 1406/2614/900 +f 1395/2615/901 1394/2616/901 1407/2617/901 1405/2618/901 1403/2619/901 1401/2620/901 1399/2621/901 1397/2622/901 +f 1406/2614/902 1405/2613/902 1407/2623/902 1408/2624/902 +f 1408/2624/903 1407/2623/903 1394/2600/903 1393/2599/903 +f 1393/2625/904 1396/2626/904 1398/2627/904 1400/2628/904 1402/2629/904 1404/2630/904 1406/2631/904 1408/2632/904 +f 1409/2633/895 1410/2634/895 1411/2635/895 1412/2636/895 +f 1412/2636/896 1411/2635/896 1413/2637/896 1414/2638/896 +f 1414/2639/897 1413/2640/897 1415/2641/897 1416/2642/897 +f 1416/2642/898 1415/2641/898 1417/2643/898 1418/2644/898 +f 1418/2644/899 1417/2643/899 1419/2645/899 1420/2646/899 +f 1420/2646/900 1419/2645/900 1421/2647/900 1422/2648/900 +f 1411/2649/901 1410/2650/901 1423/2651/901 1421/2652/901 1419/2653/901 1417/2654/901 1415/2655/901 1413/2656/901 +f 1422/2648/902 1421/2647/902 1423/2657/902 1424/2658/902 +f 1424/2658/903 1423/2657/903 1410/2634/903 1409/2633/903 +f 1409/2659/904 1412/2660/904 1414/2661/904 1416/2662/904 1418/2663/904 1420/2664/904 1422/2665/904 1424/2666/904 +f 1425/2667/895 1426/2668/895 1427/2669/895 1428/2670/895 +f 1428/2670/896 1427/2669/896 1429/2671/896 1430/2672/896 +f 1430/2673/897 1429/2674/897 1431/2675/897 1432/2676/897 +f 1432/2676/898 1431/2675/898 1433/2677/898 1434/2678/898 +f 1434/2678/899 1433/2677/899 1435/2679/899 1436/2680/899 +f 1436/2680/900 1435/2679/900 1437/2681/900 1438/2682/900 +f 1427/2683/901 1426/2684/901 1439/2685/901 1437/2686/901 1435/2687/901 1433/2688/901 1431/2689/901 1429/2690/901 +f 1438/2682/902 1437/2681/902 1439/2691/902 1440/2692/902 +f 1440/2692/903 1439/2691/903 1426/2668/903 1425/2667/903 +f 1425/2693/904 1428/2694/904 1430/2695/904 1432/2696/904 1434/2697/904 1436/2698/904 1438/2699/904 1440/2700/904 +f 1441/2701/895 1442/2702/895 1443/2703/895 1444/2704/895 +f 1444/2704/896 1443/2703/896 1445/2705/896 1446/2706/896 +f 1446/2707/897 1445/2708/897 1447/2709/897 1448/2710/897 +f 1448/2710/898 1447/2709/898 1449/2711/898 1450/2712/898 +f 1450/2712/899 1449/2711/899 1451/2713/899 1452/2714/899 +f 1452/2714/900 1451/2713/900 1453/2715/900 1454/2716/900 +f 1443/2717/901 1442/2718/901 1455/2719/901 1453/2720/901 1451/2721/901 1449/2722/901 1447/2723/901 1445/2724/901 +f 1454/2716/902 1453/2715/902 1455/2725/902 1456/2726/902 +f 1456/2726/903 1455/2725/903 1442/2702/903 1441/2701/903 +f 1441/2727/904 1444/2728/904 1446/2729/904 1448/2730/904 1450/2731/904 1452/2732/904 1454/2733/904 1456/2734/904 +f 1457/2735/895 1458/2736/895 1459/2737/895 1460/2738/895 +f 1460/2738/896 1459/2737/896 1461/2739/896 1462/2740/896 +f 1462/2741/897 1461/2742/897 1463/2743/897 1464/2744/897 +f 1464/2744/898 1463/2743/898 1465/2745/898 1466/2746/898 +f 1466/2746/899 1465/2745/899 1467/2747/899 1468/2748/899 +f 1468/2748/900 1467/2747/900 1469/2749/900 1470/2750/900 +f 1459/2751/901 1458/2752/901 1471/2753/901 1469/2754/901 1467/2755/901 1465/2756/901 1463/2757/901 1461/2758/901 +f 1470/2750/902 1469/2749/902 1471/2759/902 1472/2760/902 +f 1472/2760/903 1471/2759/903 1458/2736/903 1457/2735/903 +f 1457/2761/904 1460/2762/904 1462/2763/904 1464/2764/904 1466/2765/904 1468/2766/904 1470/2767/904 1472/2768/904 From 0239ea79682ccdbad9931af6d8cb17c4f894e1a8 Mon Sep 17 00:00:00 2001 From: Vaern Date: Fri, 9 Jun 2023 13:36:57 -0700 Subject: [PATCH 157/285] finished enough --- .../java/com/hbm/lib/HbmChestContents.java | 52 +++++++++++++++++++ src/main/java/com/hbm/lib/HbmWorld.java | 2 + .../com/hbm/world/gen/MapGenNTMFeatures.java | 4 ++ .../world/gen/component/BunkerComponents.java | 30 ++++++----- 4 files changed, 74 insertions(+), 14 deletions(-) diff --git a/src/main/java/com/hbm/lib/HbmChestContents.java b/src/main/java/com/hbm/lib/HbmChestContents.java index 343a46e75..3cdf8a771 100644 --- a/src/main/java/com/hbm/lib/HbmChestContents.java +++ b/src/main/java/com/hbm/lib/HbmChestContents.java @@ -8,6 +8,7 @@ import com.hbm.items.ModItems; import com.hbm.items.machine.ItemBreedingRod.*; import com.hbm.items.machine.ItemZirnoxRod.EnumZirnoxType; import com.hbm.items.special.ItemBookLore.BookLoreType; +import com.hbm.items.tool.ItemBlowtorch; import net.minecraft.init.Items; import net.minecraft.item.Item; @@ -355,6 +356,57 @@ public class HbmChestContents { new WeightedRandomChestContent(ModItems.ink, 0, 1, 1, 1), //make that mf rare; 1:555 weight }; + public static WeightedRandomChestContent[] solidFuel = new WeightedRandomChestContent[] { + new WeightedRandomChestContent(ModItems.solid_fuel, 0, 1, 5, 1), + new WeightedRandomChestContent(ModItems.solid_fuel_presto, 0, 1, 2, 2), + new WeightedRandomChestContent(ModItems.ball_dynamite, 0, 1, 4, 2), + new WeightedRandomChestContent(Items.redstone, 0, 1, 3, 1), + new WeightedRandomChestContent(ModItems.niter, 0, 1, 3, 1) + }; + + public static WeightedRandomChestContent[] labVault = new WeightedRandomChestContent[] { + new WeightedRandomChestContent(ItemBlowtorch.getEmptyTool(ModItems.blowtorch), 1, 1, 4), + new WeightedRandomChestContent(ModItems.chemistry_set, 0, 1, 1, 15), + new WeightedRandomChestContent(ModItems.screwdriver, 0, 1, 1, 10), + new WeightedRandomChestContent(ModItems.nugget_mercury, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.morning_glory, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.filter_coal, 0, 1, 1, 5), + new WeightedRandomChestContent(ModItems.dust, 0, 1, 3, 25), + new WeightedRandomChestContent(Items.paper, 0, 1, 2, 15), + new WeightedRandomChestContent(ModItems.cell_empty, 0, 1, 1, 5), + new WeightedRandomChestContent(Items.glass_bottle, 0, 1, 1, 5), + new WeightedRandomChestContent(ModItems.powder_iodine, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.powder_bromine, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.powder_cobalt, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.powder_neodymium, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.powder_boron, 0, 1, 1, 1), + }; + + public static WeightedRandomChestContent[] lockersVault = new WeightedRandomChestContent[] { + new WeightedRandomChestContent(ModItems.robes_helmet, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.robes_plate, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.robes_legs, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.robes_boots, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.jackt, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.jackt2, 0, 1, 1, 1), + new WeightedRandomChestContent(ModItems.gas_mask_m65, 0, 1, 1, 2), + new WeightedRandomChestContent(ModItems.gas_mask_mono, 0, 1, 1, 2), + new WeightedRandomChestContent(ModItems.goggles, 0, 1, 1, 2), + new WeightedRandomChestContent(ModItems.gas_mask_filter, 0, 1, 1, 4), + new WeightedRandomChestContent(ModItems.flame_opinion, 0, 1, 3, 5), + new WeightedRandomChestContent(ModItems.flame_conspiracy, 0, 1, 3, 5), + new WeightedRandomChestContent(ModItems.flame_politics, 0, 1, 3, 5), + new WeightedRandomChestContent(ModItems.cigarette, 0, 1, 8, 5), + new WeightedRandomChestContent(ModItems.canteen_13, 0, 1, 1, 2), + new WeightedRandomChestContent(ModItems.armor_polish, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.gun_kit_1, 0, 1, 1, 3), + new WeightedRandomChestContent(ModItems.rag, 0, 1, 3, 5), + new WeightedRandomChestContent(Items.paper, 0, 1, 6, 7), + new WeightedRandomChestContent(Items.clock, 0, 1, 1, 3), + new WeightedRandomChestContent(Items.book, 0, 1, 5, 10), + new WeightedRandomChestContent(Items.experience_bottle, 0, 1, 3, 1), + }; + /** ITEMBOOKLORE ARRAYS */ //might make a wrapper class for this, if game-state knowledge using the nbt system becomes that relevant public final static BookLoreType[] books_office_sch = new BookLoreType[] { diff --git a/src/main/java/com/hbm/lib/HbmWorld.java b/src/main/java/com/hbm/lib/HbmWorld.java index c12dd3f6c..4a24a192f 100644 --- a/src/main/java/com/hbm/lib/HbmWorld.java +++ b/src/main/java/com/hbm/lib/HbmWorld.java @@ -6,6 +6,7 @@ import com.hbm.world.gen.component.BunkerComponents; 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.BunkerComponents.BunkerStart; import cpw.mods.fml.common.IWorldGenerator; import cpw.mods.fml.common.registry.GameRegistry; @@ -23,6 +24,7 @@ public class HbmWorld { //MapGenStructureIO.registerStructure(StructureStartTest.class, "HFR_STRUCTURE"); //MapGenStructureIO.func_143031_a(StructureComponentTest.class, "HFR_COMPONENT"); MapGenStructureIO.registerStructure(MapGenNTMFeatures.Start.class, "NTMFeatures"); + MapGenStructureIO.registerStructure(BunkerStart.class, "NTMBunker"); registerNTMFeatures(); registerWorldGen(new HbmWorldGen(), 1); diff --git a/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java b/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java index 9c1a55339..c5383cca0 100644 --- a/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java +++ b/src/main/java/com/hbm/world/gen/MapGenNTMFeatures.java @@ -7,6 +7,7 @@ import java.util.Random; import com.hbm.config.GeneralConfig; import com.hbm.config.StructureConfig; +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.*; @@ -89,6 +90,9 @@ public class MapGenNTMFeatures extends MapGenStructure { /** Returns new StructureStart if structure can be spawned at coords */ @Override protected StructureStart getStructureStart(int chunkX, int chunkZ) { + if(this.rand.nextInt(15) == 0) { //eh might as well, they'll already be prettty rare anyway + return new BunkerStart(this.worldObj, this.rand, chunkX, chunkZ); + } return new MapGenNTMFeatures.Start(this.worldObj, this.rand, chunkX, chunkZ); } 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 d23b1f733..acb8481c3 100644 --- a/src/main/java/com/hbm/world/gen/component/BunkerComponents.java +++ b/src/main/java/com/hbm/world/gen/component/BunkerComponents.java @@ -20,6 +20,8 @@ public class BunkerComponents { public static class BunkerStart extends ProceduralStructureStart { + public BunkerStart() {} + public BunkerStart(World world, Random rand, int chunkX, int chunkZ) { super(chunkX, chunkZ); @@ -373,13 +375,13 @@ public class BunkerComponents { placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaE | 4, 4, 1, 9, box); placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaS, 5, 1, 8, box); placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(0), 5, 2, 9, box); - generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 1, 9, HbmChestContents.antenna/*TODO change */, 5); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 1, 9, HbmChestContents.filingCabinet, 5); //lockers - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 1, 7, HbmChestContents.antenna/*TODO change */, 3); - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 2, 7, HbmChestContents.antenna/*TODO change */, 3); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 1, 7, HbmChestContents.lockersVault, 3); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 2, 7, HbmChestContents.lockersVault, 5); fillWithBlocks(world, box, 8, 1, 8, 8, 2, 8, ModBlocks.deco_tungsten); - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 1, 9, HbmChestContents.antenna/*TODO change */, 3); - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 2, 9, HbmChestContents.antenna/*TODO change */, 3); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 1, 9, HbmChestContents.lockersVault, 4); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 8, 2, 9, HbmChestContents.lockersVault, 5); fillWithMetadataBlocks(world, box, 8, 3, 7, 8, 3, 9, Blocks.trapdoor, getDecoModelMeta(2) >> 2); //doors placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 7, 1, 0); @@ -472,7 +474,7 @@ public class BunkerComponents { //table & chest placeBlockAtCurrentPosition(world, Blocks.fence, 0, 6, 1, 2, box); placeBlockAtCurrentPosition(world, Blocks.wooden_pressure_plate, 0, 6, 2, 2, box); - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 6, 1, 3, HbmChestContents.antenna/*TODO change */, 7); + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 6, 1, 3, HbmChestContents.lockersVault, 8); //desk w/ computer + bobblehead placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, 1, 1, 8, box); placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaE | 4, 1, 1, 9, box); @@ -677,12 +679,12 @@ public class BunkerComponents { fillWithMetadataBlocks(world, box, 1, 3, 9, 1, 3, 10, ModBlocks.tape_recorder, decoMetaW); fillWithBlocks(world, box, 1, 1, 11, 1, 3, 11, ModBlocks.deco_tungsten); //desks w/ computers - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(2), 3, 1, 4, HbmChestContents.antenna, 4); //wip + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(2), 3, 1, 4, HbmChestContents.machineParts, 6); placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, 3, 1, 5, box); fillWithMetadataBlocks(world, box, 4, 1, 5, 4, 1, 7, ModBlocks.concrete_smooth_stairs, stairMetaW | 4); placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaN, 3, 1, 7, box); placeBlockAtCurrentPosition(world, ModBlocks.concrete_smooth_stairs, stairMetaS | 4, 3, 1, 9, box); - fillWithMetadataBlocks(world, box, 4, 1, 9, 4, 1, 11, ModBlocks.concrete_smooth_stairs, 4); + fillWithMetadataBlocks(world, box, 4, 1, 9, 4, 1, 11, ModBlocks.concrete_smooth_stairs, stairMetaW | 4); placeBlockAtCurrentPosition(world, Blocks.oak_stairs, stairMetaN, 3, 1, 11, box); placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 3, 2, 5, box); placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, decoModelMetaW, 4, 2, 6, box); @@ -702,7 +704,7 @@ public class BunkerComponents { //table w/ chest placeBlockAtCurrentPosition(world, Blocks.fence, 0, 7, 1, 9, box); placeBlockAtCurrentPosition(world, Blocks.wooden_pressure_plate, 0, 7, 2, 9, box); - generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 7, 1, 10, HbmChestContents.antenna, 4); //wip + generateInvContents(world, box, rand, Blocks.chest, getDecoMeta(4), 7, 1, 10, HbmChestContents.labVault, 8); //doors placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 5, 1, 0); placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 6, 1, 0); @@ -817,8 +819,8 @@ public class BunkerComponents { placeBlockAtCurrentPosition(world, ModBlocks.fluid_duct_gauge, decoMetaW, 10, 2, 5, box); placeBlockAtCurrentPosition(world, ModBlocks.barrel_plastic, 0, 6, 1, 5, box); //chests - generateInvContents(world, box, rand, Blocks.chest, decoMetaS, 7, 1, 5, HbmChestContents.antenna, 4); //WIP - generateInvContents(world, box, rand, Blocks.chest, decoMetaS, 9, 1, 5, HbmChestContents.antenna, 4); + generateInvContents(world, box, rand, Blocks.chest, decoMetaS, 7, 1, 5, HbmChestContents.solidFuel, 5); + generateInvContents(world, box, rand, Blocks.chest, decoMetaS, 9, 1, 5, HbmChestContents.solidFuel, 6); break; case 1: placeBlockAtCurrentPosition(world, ModBlocks.concrete_colored_ext, 5, 6, 1, 1, box); @@ -871,7 +873,7 @@ public class BunkerComponents { placeBlockAtCurrentPosition(world, ModBlocks.deco_pipe_quad_rusted, getPillarMeta(4), 7, 3, 1, box); placeBlockAtCurrentPosition(world, ModBlocks.fluid_duct_gauge, decoMetaN, 6, 3, 1, box); //chest - generateInvContents(world, box, rand, Blocks.chest, decoMetaN, 6, 1, 2, HbmChestContents.antenna, 4); //WIP + generateInvContents(world, box, rand, Blocks.chest, decoMetaN, 6, 1, 2, HbmChestContents.nuclearFuel, 8); break; } //transformer @@ -903,8 +905,8 @@ public class BunkerComponents { placeBlockAtCurrentPosition(world, Blocks.flower_pot, 0, 8, 2, 10, box); placeBlockAtCurrentPosition(world, ModBlocks.deco_computer, getDecoModelMeta(0), 9, 2, 10, box); //loot - generateInvContents(world, box, rand, Blocks.chest, decoMetaE, 1, 1, 7, HbmChestContents.antenna, 4); //WIP - generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 7, 1, 10, HbmChestContents.antenna, 4); + generateInvContents(world, box, rand, Blocks.chest, decoMetaE, 1, 1, 7, HbmChestContents.machineParts, 6); + generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 7, 1, 10, HbmChestContents.filingCabinet, 4); //doors placeDoor(world, box, ModBlocks.door_bunker, 1, true, rand.nextBoolean(), 3, 1, 0); placeDoor(world, box, ModBlocks.door_bunker, 1, false, rand.nextBoolean(), 4, 1, 0); From 5df2465a169f1db0ba70ff4ff6528f21bb50c90d Mon Sep 17 00:00:00 2001 From: Vaern Date: Fri, 9 Jun 2023 13:41:04 -0700 Subject: [PATCH 158/285] o --- src/main/java/com/hbm/items/tool/ItemWandD.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index a9c9a49ae..1debe2a22 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -3,14 +3,12 @@ package com.hbm.items.tool; import java.util.List; import com.hbm.lib.Library; -import com.hbm.world.gen.component.BunkerComponents; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; -import net.minecraft.world.gen.structure.StructureBoundingBox; public class ItemWandD extends Item { @@ -52,13 +50,6 @@ public class ItemWandD extends Item { tom.destructionRange = 600; world.spawnEntityInWorld(tom);*/ - //use sparingly - int k = ((pos.blockX >> 4) << 4) + 8; - int l = ((pos.blockZ >> 4) << 4) + 8; - - BunkerComponents.BunkerStart start = new BunkerComponents.BunkerStart(world, world.rand, pos.blockX >> 4, pos.blockZ >> 4); - start.generateStructure(world, world.rand, new StructureBoundingBox(k - 124, l - 124, k + 15 + 124, l + 15 + 124)); - /*EntityNukeTorex torex = new EntityNukeTorex(world); torex.setPositionAndRotation(pos.blockX, pos.blockY + 1, pos.blockZ, 0, 0); torex.getDataWatcher().updateObject(10, 1.5F); From 55d2330219e606b397e0935b61cf9e1bffb3ebbe Mon Sep 17 00:00:00 2001 From: Vaern Date: Fri, 9 Jun 2023 13:50:07 -0700 Subject: [PATCH 159/285] destroy --- src/main/java/com/hbm/config/WorldConfig.java | 3 - src/main/java/com/hbm/lib/HbmWorldGen.java | 9 - .../java/com/hbm/world/dungeon/Bunker.java | 1596 ----------------- 3 files changed, 1608 deletions(-) delete mode 100644 src/main/java/com/hbm/world/dungeon/Bunker.java diff --git a/src/main/java/com/hbm/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index faedff279..cf0f08a67 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -78,7 +78,6 @@ public class WorldConfig { public static int dungeonStructure = 64; public static int relayStructure = 500; public static int satelliteStructure = 500; - public static int bunkerStructure = 1000; public static int siloStructure = 1000; public static int factoryStructure = 1000; public static int dudStructure = 500; @@ -185,7 +184,6 @@ public class WorldConfig { 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); - bunkerStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.07_bunkerSpawn", "Spawn bunker on every nTH chunk", 1000); siloStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.08_siloSpawn", "Spawn missile silo on every nTH chunk", 1000); factoryStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.09_factorySpawn", "Spawn factory on every nTH chunk", 1000); dudStructure = CommonConfig.createConfigInt(config, CATEGORY_DUNGEON, "4.10_dudSpawn", "Spawn dud on every nTH chunk", 500); @@ -220,7 +218,6 @@ public class WorldConfig { dungeonStructure = CommonConfig.setDefZero(dungeonStructure, 1000); relayStructure = CommonConfig.setDefZero(relayStructure, 1000); satelliteStructure = CommonConfig.setDefZero(satelliteStructure, 1000); - bunkerStructure = CommonConfig.setDefZero(bunkerStructure, 1000); siloStructure = CommonConfig.setDefZero(siloStructure, 1000); factoryStructure = CommonConfig.setDefZero(factoryStructure, 1000); dudStructure = CommonConfig.setDefZero(dudStructure, 1000); diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index dac6fed84..2d1bd69c5 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -18,7 +18,6 @@ import com.hbm.world.dungeon.AncientTomb; import com.hbm.world.dungeon.Antenna; import com.hbm.world.dungeon.ArcticVault; import com.hbm.world.dungeon.Barrel; -import com.hbm.world.dungeon.Bunker; import com.hbm.world.dungeon.CrashedVertibird; import com.hbm.world.dungeon.DesertAtom001; import com.hbm.world.dungeon.Factory; @@ -314,14 +313,6 @@ public class HbmWorldGen implements IWorldGenerator { } } - if(WorldConfig.bunkerStructure > 0 && rand.nextInt(WorldConfig.bunkerStructure) == 0) { - int x = i + rand.nextInt(16); - int z = j + rand.nextInt(16); - int y = world.getHeightValue(x, z); - - new Bunker().generate(world, rand, x, y, z); - } - if(WorldConfig.siloStructure > 0 && rand.nextInt(WorldConfig.siloStructure) == 0) { int x = i + rand.nextInt(16); int z = j + rand.nextInt(16); diff --git a/src/main/java/com/hbm/world/dungeon/Bunker.java b/src/main/java/com/hbm/world/dungeon/Bunker.java deleted file mode 100644 index 3290d5ebd..000000000 --- a/src/main/java/com/hbm/world/dungeon/Bunker.java +++ /dev/null @@ -1,1596 +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.blocks.generic.BlockBobble.BobbleType; -import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; -import com.hbm.config.GeneralConfig; -import com.hbm.lib.HbmChestContents; -import com.hbm.lib.Library; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemDoor; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.util.WeightedRandomChestContent; -import net.minecraft.world.World; -import net.minecraft.world.gen.feature.WorldGenerator; - -public class Bunker extends WorldGenerator { - Block Block1 = ModBlocks.reinforced_brick; - Block Block3 = ModBlocks.reinforced_light; - Block Block4 = ModBlocks.deco_steel; - Block Block5 = ModBlocks.deco_tungsten; - - protected Block[] GetValidSpawnBlocks() { - return new Block[] { Blocks.grass, Blocks.dirt, Blocks.stone, Blocks.sand, Blocks.sandstone, }; - } - - @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 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; - } - - public boolean generate_r0(World world, Random rand, int x, int y, int z) { - y += 1; - - if(!LocationIsValidSpawn(world, x + 9, y, z + 9)) { - return false; - } - - if(!LocationIsValidSpawn(world, x, y, z)) - { - return false; - } - - for(int i = 0; i < 11; i++) { - for(int j = 0; j < 9; j++) { - for(int k = 0; k < 15; k++) { - world.setBlock(x + i, y + j - 25, z + k, Blocks.air, 0, 3); - } - } - } - - world.setBlock(x + 0, y + -25, z + 0, Block1, 0, 3); - world.setBlock(x + 1, y + -25, z + 0, Block1, 0, 3); - world.setBlock(x + 2, y + -25, z + 0, Block1, 0, 3); - world.setBlock(x + 3, y + -25, z + 0, Block1, 0, 3); - world.setBlock(x + 4, y + -25, z + 0, Block1, 0, 3); - world.setBlock(x + 5, y + -25, z + 0, Block1, 0, 3); - world.setBlock(x + 6, y + -25, z + 0, Block1, 0, 3); - world.setBlock(x + 7, y + -25, z + 0, Block1, 0, 3); - world.setBlock(x + 8, y + -25, z + 0, Block1, 0, 3); - world.setBlock(x + 9, y + -25, z + 0, Block1, 0, 3); - world.setBlock(x + 10, y + -25, z + 0, Block1, 0, 3); - world.setBlock(x + 11, y + -25, z + 0, Block1, 0, 3); - world.setBlock(x + 0, y + -25, z + 1, Block1, 0, 3); - world.setBlock(x + 1, y + -25, z + 1, Block1, 0, 3); - world.setBlock(x + 2, y + -25, z + 1, Block1, 0, 3); - world.setBlock(x + 3, y + -25, z + 1, Block1, 0, 3); - world.setBlock(x + 4, y + -25, z + 1, Block1, 0, 3); - world.setBlock(x + 5, y + -25, z + 1, Block1, 0, 3); - world.setBlock(x + 6, y + -25, z + 1, Block1, 0, 3); - world.setBlock(x + 7, y + -25, z + 1, Block1, 0, 3); - world.setBlock(x + 8, y + -25, z + 1, Block1, 0, 3); - world.setBlock(x + 9, y + -25, z + 1, Block1, 0, 3); - world.setBlock(x + 10, y + -25, z + 1, Block1, 0, 3); - world.setBlock(x + 11, y + -25, z + 1, Block1, 0, 3); - world.setBlock(x + 0, y + -25, z + 2, Block1, 0, 3); - world.setBlock(x + 1, y + -25, z + 2, Block1, 0, 3); - world.setBlock(x + 2, y + -25, z + 2, Block1, 0, 3); - world.setBlock(x + 3, y + -25, z + 2, Block1, 0, 3); - world.setBlock(x + 4, y + -25, z + 2, Block1, 0, 3); - world.setBlock(x + 5, y + -25, z + 2, Block1, 0, 3); - world.setBlock(x + 6, y + -25, z + 2, Block1, 0, 3); - world.setBlock(x + 7, y + -25, z + 2, Block1, 0, 3); - world.setBlock(x + 8, y + -25, z + 2, Block1, 0, 3); - world.setBlock(x + 9, y + -25, z + 2, Block1, 0, 3); - world.setBlock(x + 10, y + -25, z + 2, Block1, 0, 3); - world.setBlock(x + 11, y + -25, z + 2, Block1, 0, 3); - world.setBlock(x + 0, y + -25, z + 3, Block1, 0, 3); - world.setBlock(x + 1, y + -25, z + 3, Block1, 0, 3); - world.setBlock(x + 2, y + -25, z + 3, Block1, 0, 3); - world.setBlock(x + 3, y + -25, z + 3, Block1, 0, 3); - world.setBlock(x + 4, y + -25, z + 3, Block1, 0, 3); - world.setBlock(x + 5, y + -25, z + 3, Block1, 0, 3); - world.setBlock(x + 6, y + -25, z + 3, Block1, 0, 3); - world.setBlock(x + 7, y + -25, z + 3, Block1, 0, 3); - world.setBlock(x + 8, y + -25, z + 3, Block1, 0, 3); - world.setBlock(x + 9, y + -25, z + 3, Block1, 0, 3); - world.setBlock(x + 10, y + -25, z + 3, Block1, 0, 3); - world.setBlock(x + 11, y + -25, z + 3, Block1, 0, 3); - world.setBlock(x + 0, y + -25, z + 4, Block1, 0, 3); - world.setBlock(x + 1, y + -25, z + 4, Block1, 0, 3); - world.setBlock(x + 2, y + -25, z + 4, Block1, 0, 3); - world.setBlock(x + 3, y + -25, z + 4, Block1, 0, 3); - world.setBlock(x + 4, y + -25, z + 4, Block1, 0, 3); - world.setBlock(x + 5, y + -25, z + 4, Block1, 0, 3); - world.setBlock(x + 6, y + -25, z + 4, Block1, 0, 3); - world.setBlock(x + 7, y + -25, z + 4, Block1, 0, 3); - world.setBlock(x + 8, y + -25, z + 4, Block1, 0, 3); - world.setBlock(x + 9, y + -25, z + 4, Block1, 0, 3); - world.setBlock(x + 10, y + -25, z + 4, Block1, 0, 3); - world.setBlock(x + 11, y + -25, z + 4, Block1, 0, 3); - world.setBlock(x + 0, y + -25, z + 5, Block1, 0, 3); - world.setBlock(x + 1, y + -25, z + 5, Block1, 0, 3); - world.setBlock(x + 2, y + -25, z + 5, Block1, 0, 3); - world.setBlock(x + 3, y + -25, z + 5, Block1, 0, 3); - world.setBlock(x + 4, y + -25, z + 5, Block1, 0, 3); - world.setBlock(x + 5, y + -25, z + 5, Block1, 0, 3); - world.setBlock(x + 6, y + -25, z + 5, Block1, 0, 3); - world.setBlock(x + 7, y + -25, z + 5, Block1, 0, 3); - world.setBlock(x + 8, y + -25, z + 5, Block1, 0, 3); - world.setBlock(x + 9, y + -25, z + 5, Block1, 0, 3); - world.setBlock(x + 10, y + -25, z + 5, Block1, 0, 3); - world.setBlock(x + 11, y + -25, z + 5, Block1, 0, 3); - world.setBlock(x + 0, y + -25, z + 6, Block1, 0, 3); - world.setBlock(x + 1, y + -25, z + 6, Block1, 0, 3); - world.setBlock(x + 2, y + -25, z + 6, Block1, 0, 3); - world.setBlock(x + 3, y + -25, z + 6, Block1, 0, 3); - world.setBlock(x + 4, y + -25, z + 6, Block1, 0, 3); - world.setBlock(x + 5, y + -25, z + 6, Block1, 0, 3); - world.setBlock(x + 6, y + -25, z + 6, Block1, 0, 3); - world.setBlock(x + 7, y + -25, z + 6, Block1, 0, 3); - world.setBlock(x + 8, y + -25, z + 6, Block1, 0, 3); - world.setBlock(x + 9, y + -25, z + 6, Block1, 0, 3); - world.setBlock(x + 10, y + -25, z + 6, Block1, 0, 3); - world.setBlock(x + 11, y + -25, z + 6, Block1, 0, 3); - world.setBlock(x + 0, y + -25, z + 7, Block1, 0, 3); - world.setBlock(x + 1, y + -25, z + 7, Block1, 0, 3); - world.setBlock(x + 2, y + -25, z + 7, Block1, 0, 3); - world.setBlock(x + 3, y + -25, z + 7, Block1, 0, 3); - world.setBlock(x + 4, y + -25, z + 7, Block1, 0, 3); - world.setBlock(x + 5, y + -25, z + 7, Block1, 0, 3); - world.setBlock(x + 6, y + -25, z + 7, Block1, 0, 3); - world.setBlock(x + 7, y + -25, z + 7, Block1, 0, 3); - world.setBlock(x + 8, y + -25, z + 7, Block1, 0, 3); - world.setBlock(x + 9, y + -25, z + 7, Block1, 0, 3); - world.setBlock(x + 10, y + -25, z + 7, Block1, 0, 3); - world.setBlock(x + 11, y + -25, z + 7, Block1, 0, 3); - world.setBlock(x + 0, y + -25, z + 8, Block1, 0, 3); - world.setBlock(x + 1, y + -25, z + 8, Block1, 0, 3); - world.setBlock(x + 2, y + -25, z + 8, Block1, 0, 3); - world.setBlock(x + 3, y + -25, z + 8, Block1, 0, 3); - world.setBlock(x + 4, y + -25, z + 8, Block1, 0, 3); - world.setBlock(x + 5, y + -25, z + 8, Block1, 0, 3); - world.setBlock(x + 6, y + -25, z + 8, Block1, 0, 3); - world.setBlock(x + 7, y + -25, z + 8, Block1, 0, 3); - world.setBlock(x + 8, y + -25, z + 8, Block1, 0, 3); - world.setBlock(x + 9, y + -25, z + 8, Block1, 0, 3); - world.setBlock(x + 10, y + -25, z + 8, Block1, 0, 3); - world.setBlock(x + 11, y + -25, z + 8, Block1, 0, 3); - world.setBlock(x + 0, y + -25, z + 9, Block1, 0, 3); - world.setBlock(x + 1, y + -25, z + 9, Block1, 0, 3); - world.setBlock(x + 2, y + -25, z + 9, Block1, 0, 3); - world.setBlock(x + 3, y + -25, z + 9, Block1, 0, 3); - world.setBlock(x + 4, y + -25, z + 9, Block1, 0, 3); - world.setBlock(x + 5, y + -25, z + 9, Block1, 0, 3); - world.setBlock(x + 6, y + -25, z + 9, Block1, 0, 3); - world.setBlock(x + 7, y + -25, z + 9, Block1, 0, 3); - world.setBlock(x + 8, y + -25, z + 9, Block1, 0, 3); - world.setBlock(x + 9, y + -25, z + 9, Block1, 0, 3); - world.setBlock(x + 10, y + -25, z + 9, Block1, 0, 3); - world.setBlock(x + 11, y + -25, z + 9, Block1, 0, 3); - world.setBlock(x + 0, y + -25, z + 10, Block1, 0, 3); - world.setBlock(x + 1, y + -25, z + 10, Block1, 0, 3); - world.setBlock(x + 2, y + -25, z + 10, Block1, 0, 3); - world.setBlock(x + 3, y + -25, z + 10, Block1, 0, 3); - world.setBlock(x + 4, y + -25, z + 10, Block1, 0, 3); - world.setBlock(x + 5, y + -25, z + 10, Block1, 0, 3); - world.setBlock(x + 6, y + -25, z + 10, Block1, 0, 3); - world.setBlock(x + 7, y + -25, z + 10, Block1, 0, 3); - world.setBlock(x + 8, y + -25, z + 10, Block1, 0, 3); - world.setBlock(x + 9, y + -25, z + 10, Block1, 0, 3); - world.setBlock(x + 10, y + -25, z + 10, Block1, 0, 3); - world.setBlock(x + 11, y + -25, z + 10, Block1, 0, 3); - world.setBlock(x + 0, y + -25, z + 11, Block1, 0, 3); - world.setBlock(x + 1, y + -25, z + 11, Block1, 0, 3); - world.setBlock(x + 2, y + -25, z + 11, Block1, 0, 3); - world.setBlock(x + 3, y + -25, z + 11, Block1, 0, 3); - world.setBlock(x + 4, y + -25, z + 11, Block1, 0, 3); - world.setBlock(x + 5, y + -25, z + 11, Block1, 0, 3); - world.setBlock(x + 6, y + -25, z + 11, Block1, 0, 3); - world.setBlock(x + 7, y + -25, z + 11, Block1, 0, 3); - world.setBlock(x + 8, y + -25, z + 11, Block1, 0, 3); - world.setBlock(x + 9, y + -25, z + 11, Block1, 0, 3); - world.setBlock(x + 10, y + -25, z + 11, Block1, 0, 3); - world.setBlock(x + 11, y + -25, z + 11, Block1, 0, 3); - world.setBlock(x + 0, y + -25, z + 12, Block1, 0, 3); - world.setBlock(x + 1, y + -25, z + 12, Block1, 0, 3); - world.setBlock(x + 2, y + -25, z + 12, Block1, 0, 3); - world.setBlock(x + 3, y + -25, z + 12, Block1, 0, 3); - world.setBlock(x + 4, y + -25, z + 12, Block1, 0, 3); - world.setBlock(x + 5, y + -25, z + 12, Block1, 0, 3); - world.setBlock(x + 6, y + -25, z + 12, Block1, 0, 3); - world.setBlock(x + 7, y + -25, z + 12, Block1, 0, 3); - world.setBlock(x + 8, y + -25, z + 12, Block1, 0, 3); - world.setBlock(x + 9, y + -25, z + 12, Block1, 0, 3); - world.setBlock(x + 10, y + -25, z + 12, Block1, 0, 3); - world.setBlock(x + 11, y + -25, z + 12, Block1, 0, 3); - world.setBlock(x + 0, y + -25, z + 13, Block1, 0, 3); - world.setBlock(x + 1, y + -25, z + 13, Block1, 0, 3); - world.setBlock(x + 2, y + -25, z + 13, Block1, 0, 3); - world.setBlock(x + 3, y + -25, z + 13, Block1, 0, 3); - world.setBlock(x + 4, y + -25, z + 13, Block1, 0, 3); - world.setBlock(x + 5, y + -25, z + 13, Block1, 0, 3); - world.setBlock(x + 6, y + -25, z + 13, Block1, 0, 3); - world.setBlock(x + 7, y + -25, z + 13, Block1, 0, 3); - world.setBlock(x + 8, y + -25, z + 13, Block1, 0, 3); - world.setBlock(x + 9, y + -25, z + 13, Block1, 0, 3); - world.setBlock(x + 10, y + -25, z + 13, Block1, 0, 3); - world.setBlock(x + 11, y + -25, z + 13, Block1, 0, 3); - world.setBlock(x + 0, y + -25, z + 14, Block1, 0, 3); - world.setBlock(x + 1, y + -25, z + 14, Block1, 0, 3); - world.setBlock(x + 2, y + -25, z + 14, Block1, 0, 3); - world.setBlock(x + 3, y + -25, z + 14, Block1, 0, 3); - world.setBlock(x + 4, y + -25, z + 14, Block1, 0, 3); - world.setBlock(x + 5, y + -25, z + 14, Block1, 0, 3); - world.setBlock(x + 6, y + -25, z + 14, Block1, 0, 3); - world.setBlock(x + 7, y + -25, z + 14, Block1, 0, 3); - world.setBlock(x + 8, y + -25, z + 14, Block1, 0, 3); - world.setBlock(x + 9, y + -25, z + 14, Block1, 0, 3); - world.setBlock(x + 10, y + -25, z + 14, Block1, 0, 3); - world.setBlock(x + 11, y + -25, z + 14, Block1, 0, 3); - world.setBlock(x + 0, y + -24, z + 0, Block1, 0, 3); - world.setBlock(x + 1, y + -24, z + 0, Block1, 0, 3); - world.setBlock(x + 2, y + -24, z + 0, Block1, 0, 3); - world.setBlock(x + 3, y + -24, z + 0, Block1, 0, 3); - world.setBlock(x + 4, y + -24, z + 0, Block1, 0, 3); - world.setBlock(x + 5, y + -24, z + 0, Block1, 0, 3); - world.setBlock(x + 6, y + -24, z + 0, Block1, 0, 3); - world.setBlock(x + 7, y + -24, z + 0, Block1, 0, 3); - world.setBlock(x + 8, y + -24, z + 0, Block1, 0, 3); - world.setBlock(x + 9, y + -24, z + 0, Block1, 0, 3); - world.setBlock(x + 10, y + -24, z + 0, Block1, 0, 3); - world.setBlock(x + 11, y + -24, z + 0, Block1, 0, 3); - world.setBlock(x + 0, y + -24, z + 1, Block1, 0, 3); - world.setBlock(x + 1, y + -24, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -24, z + 1, Blocks.chest, 3, 3); - world.setBlockMetadataWithNotify(x + 2, y + -24, z + 1, 3, 3); - if(world.getBlock(x + 2, y + -24, z + 1) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.expensive, (TileEntityChest) world.getTileEntity(x + 2, y + -24, z + 1), rand.nextInt(2) + 6); - } - - if(world.rand.nextInt(10) > 0) { - world.setBlock(x + 2, y + -23, z + 1, ModBlocks.geiger, 2, 3); - } else { - world.setBlock(x + 2, y + -23, z + 1, ModBlocks.bobblehead, 0, 3); - TileEntityBobble bobble = (TileEntityBobble) world.getTileEntity(x + 2, y + -23, z + 1); - - if(bobble != null) { - bobble.type = BobbleType.values()[world.rand.nextInt(BobbleType.values().length - 1) + 1]; - bobble.markDirty(); - } - } - - world.setBlock(x + 3, y + -24, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -24, z + 1, Block1, 0, 3); - world.setBlock(x + 11, y + -24, z + 1, Block1, 0, 3); - world.setBlock(x + 0, y + -24, z + 2, Block1, 0, 3); - world.setBlock(x + 1, y + -24, z + 2, Blocks.chest, 5, 3); - world.setBlockMetadataWithNotify(x + 1, y + -24, z + 5, 3, 3); - if(world.getBlock(x + 2, y + -24, z + 1) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest) world.getTileEntity(x + 1, y + -24, z + 2), 8); - } - world.setBlock(x + 3, y + -24, z + 2, Blocks.chest, 4, 3); - world.setBlockMetadataWithNotify(x + 3, y + -24, z + 2, 4, 3); - if(world.getBlock(x + 3, y + -24, z + 2) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest) world.getTileEntity(x + 3, y + -24, z + 2), 8); - } - world.setBlock(x + 4, y + -24, z + 2, Block1, 0, 3); - world.setBlock(x + 11, y + -24, z + 2, Block1, 0, 3); - world.setBlock(x + 0, y + -24, z + 3, Block1, 0, 3); - world.setBlock(x + 1, y + -24, z + 3, Blocks.chest, 5, 3); - world.setBlockMetadataWithNotify(x + 1, y + -24, z + 3, 5, 3); - if(world.getBlock(x + 1, y + -24, z + 3) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest) world.getTileEntity(x + 1, y + -24, z + 3), 8); - } - world.setBlock(x + 3, y + -24, z + 3, Blocks.chest, 4, 3); - world.setBlockMetadataWithNotify(x + 3, y + -24, z + 3, 5, 3); - if(world.getBlock(x + 3, y + -24, z + 3) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest) world.getTileEntity(x + 3, y + -24, z + 3), 8); - } - world.setBlock(x + 4, y + -24, z + 3, Block1, 0, 3); - world.setBlock(x + 7, y + -24, z + 3, Block1, 0, 3); - world.setBlock(x + 8, y + -24, z + 3, Block1, 0, 3); - world.setBlock(x + 9, y + -24, z + 3, Blocks.iron_door, 5, 3); - ItemDoor.placeDoorBlock(world, x + 9, y + -24, z + 3, 5, Blocks.iron_door); - world.setBlock(x + 10, y + -24, z + 3, Block1, 0, 3); - world.setBlock(x + 11, y + -24, z + 3, Block1, 0, 3); - world.setBlock(x + 0, y + -24, z + 4, Block1, 0, 3); - world.setBlock(x + 1, y + -24, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -24, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -24, z + 4, Block1, 0, 3); - world.setBlock(x + 7, y + -24, z + 4, Block1, 0, 3); - world.setBlock(x + 10, y + -24, z + 4, Blocks.cauldron, 0, 3); - world.setBlock(x + 11, y + -24, z + 4, Block1, 0, 3); - world.setBlock(x + 0, y + -24, z + 5, Block1, 0, 3); - world.setBlock(x + 1, y + -24, z + 5, Block1, 0, 3); - world.setBlock(x + 2, y + -24, z + 5, Blocks.iron_door, 3, 3); - ItemDoor.placeDoorBlock(world, x + 2, y + -24, z + 5, 3, Blocks.iron_door); - world.setBlock(x + 3, y + -24, z + 5, Block1, 0, 3); - world.setBlock(x + 4, y + -24, z + 5, Block1, 0, 3); - world.setBlock(x + 7, y + -24, z + 5, Block1, 0, 3); - world.setBlock(x + 10, y + -24, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 11, y + -24, z + 5, Block1, 0, 3); - world.setBlock(x + 0, y + -24, z + 6, Block1, 0, 3); - world.setBlock(x + 7, y + -24, z + 6, Block1, 0, 3); - world.setBlock(x + 10, y + -24, z + 6, Blocks.cauldron, 0, 3); - world.setBlock(x + 11, y + -24, z + 6, Block1, 0, 3); - world.setBlock(x + 0, y + -24, z + 7, Block1, 0, 3); - world.setBlock(x + 7, y + -24, z + 7, Block1, 0, 3); - world.setBlock(x + 10, y + -24, z + 7, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 11, y + -24, z + 7, Block1, 0, 3); - world.setBlock(x + 0, y + -24, z + 8, Block1, 0, 3); - world.setBlock(x + 3, y + -24, z + 8, Block1, 0, 3); - world.setBlock(x + 4, y + -24, z + 8, Block1, 0, 3); - world.setBlock(x + 5, y + -24, z + 8, Block1, 0, 3); - world.setBlock(x + 6, y + -24, z + 8, Block1, 0, 3); - world.setBlock(x + 7, y + -24, z + 8, Block1, 0, 3); - world.setBlock(x + 10, y + -24, z + 8, Blocks.cauldron, 0, 3); - world.setBlock(x + 11, y + -24, z + 8, Block1, 0, 3); - world.setBlock(x + 0, y + -24, z + 9, Block1, 0, 3); - world.setBlock(x + 3, y + -24, z + 9, Block1, 0, 3); - world.setBlock(x + 7, y + -24, z + 9, Blocks.iron_door, 1, 3); - ItemDoor.placeDoorBlock(world, x + 7, y + -24, z + 9, 1, Blocks.iron_door); - world.setBlock(x + 10, y + -24, z + 9, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 11, y + -24, z + 9, Block1, 0, 3); - world.setBlock(x + 0, y + -24, z + 10, Block1, 0, 3); - world.setBlock(x + 3, y + -24, z + 10, Block1, 0, 3); - world.setBlock(x + 4, y + -24, z + 10, Blocks.hopper, 4, 3); - world.setBlock(x + 6, y + -24, z + 10, Blocks.cauldron, 0, 3); - world.setBlock(x + 7, y + -24, z + 10, Block1, 0, 3); - world.setBlock(x + 10, y + -24, z + 10, Blocks.cauldron, 0, 3); - world.setBlock(x + 11, y + -24, z + 10, Block1, 0, 3); - world.setBlock(x + 0, y + -24, z + 11, Block1, 0, 3); - world.setBlock(x + 3, y + -24, z + 11, Block1, 0, 3); - world.setBlock(x + 4, y + -24, z + 11, Block1, 0, 3); - world.setBlock(x + 5, y + -24, z + 11, Block1, 0, 3); - world.setBlock(x + 6, y + -24, z + 11, Block1, 0, 3); - world.setBlock(x + 7, y + -24, z + 11, Block1, 0, 3); - world.setBlock(x + 8, y + -24, z + 11, Block1, 0, 3); - world.setBlock(x + 9, y + -24, z + 11, Block1, 0, 3); - world.setBlock(x + 10, y + -24, z + 11, Block1, 0, 3); - world.setBlock(x + 11, y + -24, z + 11, Block1, 0, 3); - world.setBlock(x + 0, y + -24, z + 12, Block1, 0, 3); - world.setBlock(x + 11, y + -24, z + 12, Block1, 0, 3); - world.setBlock(x + 0, y + -24, z + 13, Block1, 0, 3); - world.setBlock(x + 11, y + -24, z + 13, Block1, 0, 3); - world.setBlock(x + 0, y + -24, z + 14, Block1, 0, 3); - world.setBlock(x + 1, y + -24, z + 14, Block1, 0, 3); - world.setBlock(x + 2, y + -24, z + 14, Block1, 0, 3); - world.setBlock(x + 3, y + -24, z + 14, Block1, 0, 3); - world.setBlock(x + 4, y + -24, z + 14, Block1, 0, 3); - world.setBlock(x + 5, y + -24, z + 14, Block1, 0, 3); - world.setBlock(x + 6, y + -24, z + 14, Block1, 0, 3); - world.setBlock(x + 7, y + -24, z + 14, Block1, 0, 3); - world.setBlock(x + 8, y + -24, z + 14, Block1, 0, 3); - world.setBlock(x + 9, y + -24, z + 14, Block1, 0, 3); - world.setBlock(x + 10, y + -24, z + 14, Block1, 0, 3); - world.setBlock(x + 11, y + -24, z + 14, Block1, 0, 3); - world.setBlock(x + 0, y + -23, z + 0, Block1, 0, 3); - world.setBlock(x + 1, y + -23, z + 0, Block1, 0, 3); - world.setBlock(x + 2, y + -23, z + 0, Block1, 0, 3); - world.setBlock(x + 3, y + -23, z + 0, Block1, 0, 3); - world.setBlock(x + 4, y + -23, z + 0, Block1, 0, 3); - world.setBlock(x + 5, y + -23, z + 0, Block1, 0, 3); - world.setBlock(x + 6, y + -23, z + 0, Block3, 0, 3); - world.setBlock(x + 7, y + -23, z + 0, Block1, 0, 3); - world.setBlock(x + 8, y + -23, z + 0, Block1, 0, 3); - world.setBlock(x + 9, y + -23, z + 0, Block3, 0, 3); - world.setBlock(x + 10, y + -23, z + 0, Block1, 0, 3); - world.setBlock(x + 11, y + -23, z + 0, Block1, 0, 3); - world.setBlock(x + 0, y + -23, z + 1, Block1, 0, 3); - world.setBlock(x + 1, y + -23, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -23, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -23, z + 1, Block1, 0, 3); - world.setBlock(x + 5, y + -23, z + 1, Blocks.web, 0, 3); - world.setBlock(x + 10, y + -23, z + 1, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -23, z + 1, Block1, 0, 3); - world.setBlock(x + 0, y + -23, z + 2, Block1, 0, 3); - world.setBlock(x + 4, y + -23, z + 2, Block1, 0, 3); - world.setBlock(x + 11, y + -23, z + 2, Block1, 0, 3); - world.setBlock(x + 0, y + -23, z + 3, Block1, 0, 3); - world.setBlock(x + 4, y + -23, z + 3, Block1, 0, 3); - world.setBlock(x + 7, y + -23, z + 3, Block1, 0, 3); - world.setBlock(x + 8, y + -23, z + 3, Block1, 0, 3); - // world.setBlock(x + 9, y + -23, z + 3, Blocks.iron_door, 8, 3); - world.setBlock(x + 10, y + -23, z + 3, Block1, 0, 3); - world.setBlock(x + 11, y + -23, z + 3, Block1, 0, 3); - world.setBlock(x + 0, y + -23, z + 4, Block1, 0, 3); - world.setBlock(x + 1, y + -23, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -23, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -23, z + 4, Block1, 0, 3); - world.setBlock(x + 7, y + -23, z + 4, Block1, 0, 3); - world.setBlock(x + 11, y + -23, z + 4, Block1, 0, 3); - world.setBlock(x + 0, y + -23, z + 5, Block1, 0, 3); - world.setBlock(x + 1, y + -23, z + 5, Block1, 0, 3); - // world.setBlock(x + 2, y + -23, z + 5, Blocks.iron_door, 8, 3); - world.setBlock(x + 3, y + -23, z + 5, Block1, 0, 3); - world.setBlock(x + 4, y + -23, z + 5, Block3, 0, 3); - world.setBlock(x + 7, y + -23, z + 5, Block1, 0, 3); - world.setBlock(x + 11, y + -23, z + 5, Block1, 0, 3); - world.setBlock(x + 0, y + -23, z + 6, Block1, 0, 3); - world.setBlock(x + 7, y + -23, z + 6, Block1, 0, 3); - world.setBlock(x + 11, y + -23, z + 6, Block1, 0, 3); - world.setBlock(x + 0, y + -23, z + 7, Block1, 0, 3); - world.setBlock(x + 7, y + -23, z + 7, Block1, 0, 3); - world.setBlock(x + 11, y + -23, z + 7, Block1, 0, 3); - world.setBlock(x + 0, y + -23, z + 8, Block1, 0, 3); - world.setBlock(x + 3, y + -23, z + 8, Block1, 0, 3); - world.setBlock(x + 4, y + -23, z + 8, Block1, 0, 3); - world.setBlock(x + 5, y + -23, z + 8, Block1, 0, 3); - world.setBlock(x + 6, y + -23, z + 8, Block1, 0, 3); - world.setBlock(x + 7, y + -23, z + 8, Block1, 0, 3); - world.setBlock(x + 11, y + -23, z + 8, Block1, 0, 3); - world.setBlock(x + 0, y + -23, z + 9, Block1, 0, 3); - world.setBlock(x + 1, y + -23, z + 9, Blocks.web, 0, 3); - world.setBlock(x + 3, y + -23, z + 9, Block3, 0, 3); - // world.setBlock(x + 7, y + -23, z + 9, Blocks.iron_door, 8, 3); - world.setBlock(x + 11, y + -23, z + 9, Block1, 0, 3); - world.setBlock(x + 0, y + -23, z + 10, Block1, 0, 3); - world.setBlock(x + 3, y + -23, z + 10, Block1, 0, 3); - world.setBlock(x + 4, y + -23, z + 10, Blocks.trapdoor, 7, 3); - world.setBlock(x + 7, y + -23, z + 10, Block1, 0, 3); - world.setBlock(x + 11, y + -23, z + 10, Block1, 0, 3); - world.setBlock(x + 0, y + -23, z + 11, Block1, 0, 3); - world.setBlock(x + 3, y + -23, z + 11, Block1, 0, 3); - world.setBlock(x + 4, y + -23, z + 11, Block1, 0, 3); - world.setBlock(x + 5, y + -23, z + 11, Block1, 0, 3); - world.setBlock(x + 6, y + -23, z + 11, Block1, 0, 3); - world.setBlock(x + 7, y + -23, z + 11, Block1, 0, 3); - world.setBlock(x + 8, y + -23, z + 11, Block1, 0, 3); - world.setBlock(x + 9, y + -23, z + 11, Block1, 0, 3); - world.setBlock(x + 10, y + -23, z + 11, Block1, 0, 3); - world.setBlock(x + 11, y + -23, z + 11, Block1, 0, 3); - world.setBlock(x + 0, y + -23, z + 12, Block1, 0, 3); - world.setBlock(x + 11, y + -23, z + 12, Block1, 0, 3); - world.setBlock(x + 0, y + -23, z + 13, Block1, 0, 3); - world.setBlock(x + 1, y + -23, z + 13, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -23, z + 13, Block1, 0, 3); - world.setBlock(x + 0, y + -23, z + 14, Block1, 0, 3); - world.setBlock(x + 1, y + -23, z + 14, Block1, 0, 3); - // prevent geiger displacement - // world.setBlock(x + 2, y + -23, z + 14, Block1, 0, 3); - world.setBlock(x + 3, y + -23, z + 14, Block1, 0, 3); - world.setBlock(x + 4, y + -23, z + 14, Block3, 0, 3); - world.setBlock(x + 5, y + -23, z + 14, Block1, 0, 3); - world.setBlock(x + 6, y + -23, z + 14, Block1, 0, 3); - world.setBlock(x + 7, y + -23, z + 14, Block3, 0, 3); - world.setBlock(x + 8, y + -23, z + 14, Block1, 0, 3); - world.setBlock(x + 9, y + -23, z + 14, Block1, 0, 3); - world.setBlock(x + 10, y + -23, z + 14, Block1, 0, 3); - world.setBlock(x + 11, y + -23, z + 14, Block1, 0, 3); - world.setBlock(x + 0, y + -22, z + 0, Block1, 0, 3); - world.setBlock(x + 1, y + -22, z + 0, Block1, 0, 3); - world.setBlock(x + 2, y + -22, z + 0, Block1, 0, 3); - world.setBlock(x + 3, y + -22, z + 0, Block1, 0, 3); - world.setBlock(x + 4, y + -22, z + 0, Block1, 0, 3); - world.setBlock(x + 5, y + -22, z + 0, Block1, 0, 3); - world.setBlock(x + 6, y + -22, z + 0, Block1, 0, 3); - world.setBlock(x + 7, y + -22, z + 0, Block1, 0, 3); - world.setBlock(x + 8, y + -22, z + 0, Block1, 0, 3); - world.setBlock(x + 9, y + -22, z + 0, Block1, 0, 3); - world.setBlock(x + 10, y + -22, z + 0, Block1, 0, 3); - world.setBlock(x + 11, y + -22, z + 0, Block1, 0, 3); - world.setBlock(x + 0, y + -22, z + 1, Block1, 0, 3); - world.setBlock(x + 1, y + -22, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -22, z + 1, Block3, 0, 3); - world.setBlock(x + 3, y + -22, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -22, z + 1, Block1, 0, 3); - world.setBlock(x + 5, y + -22, z + 1, Blocks.web, 0, 3); - world.setBlock(x + 6, y + -22, z + 1, Blocks.web, 0, 3); - world.setBlock(x + 9, y + -22, z + 1, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -22, z + 1, Block1, 0, 3); - world.setBlock(x + 0, y + -22, z + 2, Block1, 0, 3); - world.setBlock(x + 4, y + -22, z + 2, Block1, 0, 3); - world.setBlock(x + 5, y + -22, z + 2, Blocks.web, 0, 3); - world.setBlock(x + 10, y + -22, z + 2, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -22, z + 2, Block1, 0, 3); - world.setBlock(x + 0, y + -22, z + 3, Block1, 0, 3); - world.setBlock(x + 4, y + -22, z + 3, Block1, 0, 3); - world.setBlock(x + 7, y + -22, z + 3, Block1, 0, 3); - world.setBlock(x + 8, y + -22, z + 3, Block1, 0, 3); - world.setBlock(x + 9, y + -22, z + 3, Block1, 0, 3); - world.setBlock(x + 10, y + -22, z + 3, Block1, 0, 3); - world.setBlock(x + 11, y + -22, z + 3, Block1, 0, 3); - world.setBlock(x + 0, y + -22, z + 4, Block1, 0, 3); - world.setBlock(x + 1, y + -22, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -22, z + 4, Block3, 0, 3); - world.setBlock(x + 3, y + -22, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -22, z + 4, Block1, 0, 3); - world.setBlock(x + 7, y + -22, z + 4, Block1, 0, 3); - world.setBlock(x + 8, y + -22, z + 4, Blocks.web, 0, 3); - world.setBlock(x + 10, y + -22, z + 4, Block3, 0, 3); - world.setBlock(x + 11, y + -22, z + 4, Block1, 0, 3); - world.setBlock(x + 0, y + -22, z + 5, Block1, 0, 3); - world.setBlock(x + 1, y + -22, z + 5, Block1, 0, 3); - world.setBlock(x + 2, y + -22, z + 5, Block1, 0, 3); - world.setBlock(x + 3, y + -22, z + 5, Block1, 0, 3); - world.setBlock(x + 4, y + -22, z + 5, Block1, 0, 3); - world.setBlock(x + 7, y + -22, z + 5, Block1, 0, 3); - world.setBlock(x + 11, y + -22, z + 5, Block1, 0, 3); - world.setBlock(x + 0, y + -22, z + 6, Block1, 0, 3); - world.setBlock(x + 1, y + -22, z + 6, Blocks.web, 0, 3); - world.setBlock(x + 6, y + -22, z + 6, Blocks.web, 0, 3); - world.setBlock(x + 7, y + -22, z + 6, Block1, 0, 3); - world.setBlock(x + 10, y + -22, z + 6, Block3, 0, 3); - world.setBlock(x + 11, y + -22, z + 6, Block1, 0, 3); - world.setBlock(x + 0, y + -22, z + 7, Block1, 0, 3); - world.setBlock(x + 5, y + -22, z + 7, Blocks.web, 0, 3); - world.setBlock(x + 6, y + -22, z + 7, Blocks.web, 0, 3); - world.setBlock(x + 7, y + -22, z + 7, Block1, 0, 3); - world.setBlock(x + 10, y + -22, z + 7, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -22, z + 7, Block1, 0, 3); - world.setBlock(x + 0, y + -22, z + 8, Block1, 0, 3); - world.setBlock(x + 1, y + -22, z + 8, Blocks.web, 0, 3); - world.setBlock(x + 3, y + -22, z + 8, Block1, 0, 3); - world.setBlock(x + 4, y + -22, z + 8, Block1, 0, 3); - world.setBlock(x + 5, y + -22, z + 8, Block1, 0, 3); - world.setBlock(x + 6, y + -22, z + 8, Block1, 0, 3); - world.setBlock(x + 7, y + -22, z + 8, Block1, 0, 3); - world.setBlock(x + 10, y + -22, z + 8, Block3, 0, 3); - world.setBlock(x + 11, y + -22, z + 8, Block1, 0, 3); - world.setBlock(x + 0, y + -22, z + 9, Block1, 0, 3); - world.setBlock(x + 2, y + -22, z + 9, Blocks.web, 0, 3); - world.setBlock(x + 3, y + -22, z + 9, Block1, 0, 3); - world.setBlock(x + 6, y + -22, z + 9, Blocks.web, 0, 3); - world.setBlock(x + 7, y + -22, z + 9, Block1, 0, 3); - world.setBlock(x + 8, y + -22, z + 9, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -22, z + 9, Block1, 0, 3); - world.setBlock(x + 0, y + -22, z + 10, Block1, 0, 3); - world.setBlock(x + 1, y + -22, z + 10, Blocks.web, 0, 3); - world.setBlock(x + 3, y + -22, z + 10, Block1, 0, 3); - world.setBlock(x + 7, y + -22, z + 10, Block1, 0, 3); - world.setBlock(x + 8, y + -22, z + 10, Blocks.web, 0, 3); - world.setBlock(x + 10, y + -22, z + 10, Block3, 0, 3); - world.setBlock(x + 11, y + -22, z + 10, Block1, 0, 3); - world.setBlock(x + 0, y + -22, z + 11, Block1, 0, 3); - world.setBlock(x + 3, y + -22, z + 11, Block1, 0, 3); - world.setBlock(x + 4, y + -22, z + 11, Block1, 0, 3); - world.setBlock(x + 5, y + -22, z + 11, Block1, 0, 3); - world.setBlock(x + 6, y + -22, z + 11, Block1, 0, 3); - world.setBlock(x + 7, y + -22, z + 11, Block1, 0, 3); - world.setBlock(x + 8, y + -22, z + 11, Block1, 0, 3); - world.setBlock(x + 9, y + -22, z + 11, Block1, 0, 3); - world.setBlock(x + 10, y + -22, z + 11, Block1, 0, 3); - world.setBlock(x + 11, y + -22, z + 11, Block1, 0, 3); - world.setBlock(x + 0, y + -22, z + 12, Block1, 0, 3); - world.setBlock(x + 1, y + -22, z + 12, Blocks.web, 0, 3); - world.setBlock(x + 5, y + -22, z + 12, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -22, z + 12, Block1, 0, 3); - world.setBlock(x + 0, y + -22, z + 13, Block1, 0, 3); - world.setBlock(x + 1, y + -22, z + 13, Blocks.web, 0, 3); - world.setBlock(x + 2, y + -22, z + 13, Blocks.web, 0, 3); - world.setBlock(x + 3, y + -22, z + 13, Blocks.web, 0, 3); - world.setBlock(x + 6, y + -22, z + 13, Blocks.web, 0, 3); - world.setBlock(x + 7, y + -22, z + 13, Blocks.web, 0, 3); - world.setBlock(x + 8, y + -22, z + 13, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -22, z + 13, Block1, 0, 3); - world.setBlock(x + 0, y + -22, z + 14, Block1, 0, 3); - world.setBlock(x + 1, y + -22, z + 14, Block1, 0, 3); - world.setBlock(x + 2, y + -22, z + 14, Block1, 0, 3); - world.setBlock(x + 3, y + -22, z + 14, Block1, 0, 3); - world.setBlock(x + 4, y + -22, z + 14, Block1, 0, 3); - world.setBlock(x + 5, y + -22, z + 14, Block1, 0, 3); - world.setBlock(x + 6, y + -22, z + 14, Block1, 0, 3); - world.setBlock(x + 7, y + -22, z + 14, Block1, 0, 3); - world.setBlock(x + 8, y + -22, z + 14, Block1, 0, 3); - world.setBlock(x + 9, y + -22, z + 14, Block1, 0, 3); - world.setBlock(x + 10, y + -22, z + 14, Block1, 0, 3); - world.setBlock(x + 11, y + -22, z + 14, Block1, 0, 3); - world.setBlock(x + 0, y + -21, z + 0, Block1, 0, 3); - world.setBlock(x + 1, y + -21, z + 0, Block1, 0, 3); - world.setBlock(x + 2, y + -21, z + 0, Block1, 0, 3); - world.setBlock(x + 3, y + -21, z + 0, Block1, 0, 3); - world.setBlock(x + 4, y + -21, z + 0, Block1, 0, 3); - world.setBlock(x + 5, y + -21, z + 0, Block1, 0, 3); - world.setBlock(x + 6, y + -21, z + 0, Block1, 0, 3); - world.setBlock(x + 7, y + -21, z + 0, Block1, 0, 3); - world.setBlock(x + 8, y + -21, z + 0, Block1, 0, 3); - world.setBlock(x + 9, y + -21, z + 0, Block1, 0, 3); - world.setBlock(x + 10, y + -21, z + 0, Block1, 0, 3); - world.setBlock(x + 11, y + -21, z + 0, Block1, 0, 3); - world.setBlock(x + 0, y + -21, z + 1, Block1, 0, 3); - world.setBlock(x + 1, y + -21, z + 1, Block1, 0, 3); - world.setBlock(x + 2, y + -21, z + 1, Block1, 0, 3); - world.setBlock(x + 3, y + -21, z + 1, Block1, 0, 3); - world.setBlock(x + 4, y + -21, z + 1, Block1, 0, 3); - world.setBlock(x + 5, y + -21, z + 1, Block1, 0, 3); - world.setBlock(x + 6, y + -21, z + 1, Block1, 0, 3); - world.setBlock(x + 7, y + -21, z + 1, Block1, 0, 3); - world.setBlock(x + 8, y + -21, z + 1, Block1, 0, 3); - world.setBlock(x + 9, y + -21, z + 1, Block1, 0, 3); - world.setBlock(x + 10, y + -21, z + 1, Block1, 0, 3); - world.setBlock(x + 11, y + -21, z + 1, Block1, 0, 3); - world.setBlock(x + 0, y + -21, z + 2, Block1, 0, 3); - world.setBlock(x + 1, y + -21, z + 2, Block1, 0, 3); - world.setBlock(x + 2, y + -21, z + 2, Block1, 0, 3); - world.setBlock(x + 3, y + -21, z + 2, Block1, 0, 3); - world.setBlock(x + 4, y + -21, z + 2, Block1, 0, 3); - world.setBlock(x + 5, y + -21, z + 2, Block1, 0, 3); - world.setBlock(x + 6, y + -21, z + 2, Block1, 0, 3); - world.setBlock(x + 7, y + -21, z + 2, Block1, 0, 3); - world.setBlock(x + 8, y + -21, z + 2, Block1, 0, 3); - world.setBlock(x + 9, y + -21, z + 2, Block1, 0, 3); - world.setBlock(x + 10, y + -21, z + 2, Block1, 0, 3); - world.setBlock(x + 11, y + -21, z + 2, Block1, 0, 3); - world.setBlock(x + 0, y + -21, z + 3, Block1, 0, 3); - world.setBlock(x + 1, y + -21, z + 3, Block1, 0, 3); - world.setBlock(x + 2, y + -21, z + 3, Block1, 0, 3); - world.setBlock(x + 3, y + -21, z + 3, Block1, 0, 3); - world.setBlock(x + 4, y + -21, z + 3, Block1, 0, 3); - world.setBlock(x + 5, y + -21, z + 3, Block1, 0, 3); - world.setBlock(x + 6, y + -21, z + 3, Block1, 0, 3); - world.setBlock(x + 7, y + -21, z + 3, Block1, 0, 3); - world.setBlock(x + 8, y + -21, z + 3, Block1, 0, 3); - world.setBlock(x + 9, y + -21, z + 3, Block1, 0, 3); - world.setBlock(x + 10, y + -21, z + 3, Block1, 0, 3); - world.setBlock(x + 11, y + -21, z + 3, Block1, 0, 3); - world.setBlock(x + 0, y + -21, z + 4, Block1, 0, 3); - world.setBlock(x + 1, y + -21, z + 4, Block1, 0, 3); - world.setBlock(x + 2, y + -21, z + 4, Block1, 0, 3); - world.setBlock(x + 3, y + -21, z + 4, Block1, 0, 3); - world.setBlock(x + 4, y + -21, z + 4, Block1, 0, 3); - world.setBlock(x + 5, y + -21, z + 4, Block1, 0, 3); - world.setBlock(x + 6, y + -21, z + 4, Block1, 0, 3); - world.setBlock(x + 7, y + -21, z + 4, Block1, 0, 3); - world.setBlock(x + 8, y + -21, z + 4, Block1, 0, 3); - world.setBlock(x + 9, y + -21, z + 4, Block1, 0, 3); - world.setBlock(x + 10, y + -21, z + 4, Block1, 0, 3); - world.setBlock(x + 11, y + -21, z + 4, Block1, 0, 3); - world.setBlock(x + 0, y + -21, z + 5, Block1, 0, 3); - world.setBlock(x + 1, y + -21, z + 5, Block1, 0, 3); - world.setBlock(x + 2, y + -21, z + 5, Block1, 0, 3); - world.setBlock(x + 3, y + -21, z + 5, Block1, 0, 3); - world.setBlock(x + 4, y + -21, z + 5, Block1, 0, 3); - world.setBlock(x + 5, y + -21, z + 5, Block1, 0, 3); - world.setBlock(x + 6, y + -21, z + 5, Block1, 0, 3); - world.setBlock(x + 7, y + -21, z + 5, Block1, 0, 3); - world.setBlock(x + 8, y + -21, z + 5, Block1, 0, 3); - world.setBlock(x + 9, y + -21, z + 5, Block1, 0, 3); - world.setBlock(x + 10, y + -21, z + 5, Block1, 0, 3); - world.setBlock(x + 11, y + -21, z + 5, Block1, 0, 3); - world.setBlock(x + 0, y + -21, z + 6, Block1, 0, 3); - world.setBlock(x + 1, y + -21, z + 6, Block1, 0, 3); - world.setBlock(x + 2, y + -21, z + 6, Block1, 0, 3); - world.setBlock(x + 3, y + -21, z + 6, Block1, 0, 3); - world.setBlock(x + 4, y + -21, z + 6, Block1, 0, 3); - world.setBlock(x + 5, y + -21, z + 6, Block1, 0, 3); - world.setBlock(x + 6, y + -21, z + 6, Block1, 0, 3); - world.setBlock(x + 7, y + -21, z + 6, Block1, 0, 3); - world.setBlock(x + 8, y + -21, z + 6, Block1, 0, 3); - world.setBlock(x + 9, y + -21, z + 6, Block1, 0, 3); - world.setBlock(x + 10, y + -21, z + 6, Block1, 0, 3); - world.setBlock(x + 11, y + -21, z + 6, Block1, 0, 3); - world.setBlock(x + 0, y + -21, z + 7, Block1, 0, 3); - world.setBlock(x + 1, y + -21, z + 7, Block1, 0, 3); - world.setBlock(x + 2, y + -21, z + 7, Block1, 0, 3); - world.setBlock(x + 3, y + -21, z + 7, Block1, 0, 3); - world.setBlock(x + 4, y + -21, z + 7, Block1, 0, 3); - world.setBlock(x + 5, y + -21, z + 7, Block1, 0, 3); - world.setBlock(x + 6, y + -21, z + 7, Block1, 0, 3); - world.setBlock(x + 7, y + -21, z + 7, Block1, 0, 3); - world.setBlock(x + 8, y + -21, z + 7, Block1, 0, 3); - world.setBlock(x + 9, y + -21, z + 7, Block1, 0, 3); - world.setBlock(x + 10, y + -21, z + 7, Block1, 0, 3); - world.setBlock(x + 11, y + -21, z + 7, Block1, 0, 3); - world.setBlock(x + 0, y + -21, z + 8, Block1, 0, 3); - world.setBlock(x + 1, y + -21, z + 8, Block1, 0, 3); - world.setBlock(x + 2, y + -21, z + 8, Block1, 0, 3); - world.setBlock(x + 3, y + -21, z + 8, Block1, 0, 3); - world.setBlock(x + 4, y + -21, z + 8, Block1, 0, 3); - world.setBlock(x + 5, y + -21, z + 8, Block1, 0, 3); - world.setBlock(x + 6, y + -21, z + 8, Block1, 0, 3); - world.setBlock(x + 7, y + -21, z + 8, Block1, 0, 3); - world.setBlock(x + 8, y + -21, z + 8, Block1, 0, 3); - world.setBlock(x + 9, y + -21, z + 8, Block1, 0, 3); - world.setBlock(x + 10, y + -21, z + 8, Block1, 0, 3); - world.setBlock(x + 11, y + -21, z + 8, Block1, 0, 3); - world.setBlock(x + 0, y + -21, z + 9, Block1, 0, 3); - world.setBlock(x + 1, y + -21, z + 9, Block1, 0, 3); - world.setBlock(x + 2, y + -21, z + 9, Block1, 0, 3); - world.setBlock(x + 3, y + -21, z + 9, Block1, 0, 3); - world.setBlock(x + 4, y + -21, z + 9, Block1, 0, 3); - world.setBlock(x + 5, y + -21, z + 9, Block1, 0, 3); - world.setBlock(x + 6, y + -21, z + 9, Block1, 0, 3); - world.setBlock(x + 7, y + -21, z + 9, Block1, 0, 3); - world.setBlock(x + 8, y + -21, z + 9, Block1, 0, 3); - world.setBlock(x + 9, y + -21, z + 9, Block1, 0, 3); - world.setBlock(x + 10, y + -21, z + 9, Block1, 0, 3); - world.setBlock(x + 11, y + -21, z + 9, Block1, 0, 3); - world.setBlock(x + 0, y + -21, z + 10, Block1, 0, 3); - world.setBlock(x + 1, y + -21, z + 10, Block1, 0, 3); - world.setBlock(x + 2, y + -21, z + 10, Block1, 0, 3); - world.setBlock(x + 3, y + -21, z + 10, Block1, 0, 3); - world.setBlock(x + 4, y + -21, z + 10, Block1, 0, 3); - world.setBlock(x + 5, y + -21, z + 10, Block1, 0, 3); - world.setBlock(x + 6, y + -21, z + 10, Block1, 0, 3); - world.setBlock(x + 7, y + -21, z + 10, Block1, 0, 3); - world.setBlock(x + 8, y + -21, z + 10, Block1, 0, 3); - world.setBlock(x + 9, y + -21, z + 10, Block1, 0, 3); - world.setBlock(x + 10, y + -21, z + 10, Block1, 0, 3); - world.setBlock(x + 11, y + -21, z + 10, Block1, 0, 3); - world.setBlock(x + 0, y + -21, z + 11, Block1, 0, 3); - world.setBlock(x + 1, y + -21, z + 11, Block1, 0, 3); - world.setBlock(x + 2, y + -21, z + 11, Block1, 0, 3); - world.setBlock(x + 3, y + -21, z + 11, Block1, 0, 3); - world.setBlock(x + 4, y + -21, z + 11, Block1, 0, 3); - world.setBlock(x + 5, y + -21, z + 11, Block1, 0, 3); - world.setBlock(x + 6, y + -21, z + 11, Block1, 0, 3); - world.setBlock(x + 7, y + -21, z + 11, Block1, 0, 3); - world.setBlock(x + 8, y + -21, z + 11, Block1, 0, 3); - world.setBlock(x + 9, y + -21, z + 11, Block1, 0, 3); - world.setBlock(x + 10, y + -21, z + 11, Block1, 0, 3); - world.setBlock(x + 11, y + -21, z + 11, Block1, 0, 3); - world.setBlock(x + 0, y + -21, z + 12, Block1, 0, 3); - world.setBlock(x + 1, y + -21, z + 12, Block1, 0, 3); - world.setBlock(x + 2, y + -21, z + 12, Block1, 0, 3); - world.setBlock(x + 3, y + -21, z + 12, Block1, 0, 3); - world.setBlock(x + 4, y + -21, z + 12, Block1, 0, 3); - world.setBlock(x + 5, y + -21, z + 12, Block1, 0, 3); - world.setBlock(x + 6, y + -21, z + 12, Block1, 0, 3); - world.setBlock(x + 7, y + -21, z + 12, Block1, 0, 3); - world.setBlock(x + 8, y + -21, z + 12, Block1, 0, 3); - world.setBlock(x + 9, y + -21, z + 12, Block1, 0, 3); - world.setBlock(x + 11, y + -21, z + 12, Block1, 0, 3); - world.setBlock(x + 0, y + -21, z + 13, Block1, 0, 3); - world.setBlock(x + 1, y + -21, z + 13, Block1, 0, 3); - world.setBlock(x + 2, y + -21, z + 13, Block1, 0, 3); - world.setBlock(x + 3, y + -21, z + 13, Block1, 0, 3); - world.setBlock(x + 4, y + -21, z + 13, Block1, 0, 3); - world.setBlock(x + 5, y + -21, z + 13, Block1, 0, 3); - world.setBlock(x + 6, y + -21, z + 13, Block1, 0, 3); - world.setBlock(x + 7, y + -21, z + 13, Block1, 0, 3); - world.setBlock(x + 8, y + -21, z + 13, Block1, 0, 3); - world.setBlock(x + 9, y + -21, z + 13, Block1, 0, 3); - world.setBlock(x + 11, y + -21, z + 13, Block1, 0, 3); - world.setBlock(x + 0, y + -21, z + 14, Block1, 0, 3); - world.setBlock(x + 1, y + -21, z + 14, Block1, 0, 3); - world.setBlock(x + 2, y + -21, z + 14, Block1, 0, 3); - world.setBlock(x + 3, y + -21, z + 14, Block1, 0, 3); - world.setBlock(x + 4, y + -21, z + 14, Block1, 0, 3); - world.setBlock(x + 5, y + -21, z + 14, Block1, 0, 3); - world.setBlock(x + 6, y + -21, z + 14, Block1, 0, 3); - world.setBlock(x + 7, y + -21, z + 14, Block1, 0, 3); - world.setBlock(x + 8, y + -21, z + 14, Block1, 0, 3); - world.setBlock(x + 9, y + -21, z + 14, Block1, 0, 3); - world.setBlock(x + 10, y + -21, z + 14, Block1, 0, 3); - world.setBlock(x + 11, y + -21, z + 14, Block1, 0, 3); - world.setBlock(x + 0, y + -20, z + 0, Block1, 0, 3); - world.setBlock(x + 1, y + -20, z + 0, Block1, 0, 3); - world.setBlock(x + 2, y + -20, z + 0, Block1, 0, 3); - world.setBlock(x + 3, y + -20, z + 0, Block1, 0, 3); - world.setBlock(x + 4, y + -20, z + 0, Block1, 0, 3); - world.setBlock(x + 5, y + -20, z + 0, Block1, 0, 3); - world.setBlock(x + 6, y + -20, z + 0, Block1, 0, 3); - world.setBlock(x + 7, y + -20, z + 0, Block1, 0, 3); - world.setBlock(x + 8, y + -20, z + 0, Block1, 0, 3); - world.setBlock(x + 9, y + -20, z + 0, Block1, 0, 3); - world.setBlock(x + 10, y + -20, z + 0, Block1, 0, 3); - world.setBlock(x + 11, y + -20, z + 0, Block1, 0, 3); - world.setBlock(x + 0, y + -20, z + 1, Block1, 0, 3); - world.setBlock(x + 3, y + -20, z + 1, Block1, 0, 3); - world.setBlock(x + 4, y + -20, z + 1, Blocks.chest, 5, 3); - world.setBlockMetadataWithNotify(x + 4, y + -20, z + 1, 5, 3); - if(world.getBlock(x + 4, y + -20, z + 1) == Blocks.chest) { - WeightedRandomChestContent.generateChestContents(rand, HbmChestContents.modGeneric, (TileEntityChest) world.getTileEntity(x + 4, y + -20, z + 1), 12); - } - world.setBlock(x + 8, y + -20, z + 1, Block4, 0, 3); - world.setBlock(x + 9, y + -20, z + 1, Block4, 0, 3); - world.setBlock(x + 10, y + -20, z + 1, Block4, 0, 3); - world.setBlock(x + 11, y + -20, z + 1, Block1, 0, 3); - world.setBlock(x + 0, y + -20, z + 2, Block1, 0, 3); - world.setBlock(x + 3, y + -20, z + 2, Block1, 0, 3); - world.setBlock(x + 8, y + -20, z + 2, Block4, 0, 3); - world.setBlock(x + 9, y + -20, z + 2, Block4, 0, 3); - world.setBlock(x + 10, y + -20, z + 2, Block4, 0, 3); - world.setBlock(x + 11, y + -20, z + 2, Block1, 0, 3); - world.setBlock(x + 0, y + -20, z + 3, Block1, 0, 3); - world.setBlock(x + 3, y + -20, z + 3, Block1, 0, 3); - world.setBlock(x + 8, y + -20, z + 3, Block4, 0, 3); - world.setBlock(x + 9, y + -20, z + 3, Block4, 0, 3); - world.setBlock(x + 10, y + -20, z + 3, Block4, 0, 3); - world.setBlock(x + 11, y + -20, z + 3, Block1, 0, 3); - world.setBlock(x + 0, y + -20, z + 4, Block1, 0, 3); - world.setBlock(x + 3, y + -20, z + 4, Block1, 0, 3); - world.setBlock(x + 4, y + -20, z + 4, Block1, 0, 3); - world.setBlock(x + 5, y + -20, z + 4, Blocks.iron_door, 3, 3); - ItemDoor.placeDoorBlock(world, x + 5, y + -20, z + 4, 3, Blocks.iron_door); - world.setBlock(x + 6, y + -20, z + 4, Block1, 0, 3); - world.setBlock(x + 7, y + -20, z + 4, Block1, 0, 3); - world.setBlock(x + 8, y + -20, z + 4, Block1, 0, 3); - world.setBlock(x + 9, y + -20, z + 4, Block1, 0, 3); - world.setBlock(x + 10, y + -20, z + 4, Block1, 0, 3); - world.setBlock(x + 11, y + -20, z + 4, Block1, 0, 3); - world.setBlock(x + 0, y + -20, z + 5, Block1, 0, 3); - world.setBlock(x + 3, y + -20, z + 5, Block1, 0, 3); - world.setBlock(x + 11, y + -20, z + 5, Block1, 0, 3); - world.setBlock(x + 0, y + -20, z + 6, Block1, 0, 3); - world.setBlock(x + 3, y + -20, z + 6, Blocks.iron_door, 0, 3); - ItemDoor.placeDoorBlock(world, x + 3, y + -20, z + 6, 0, Blocks.iron_door); - world.setBlock(x + 11, y + -20, z + 6, Block1, 0, 3); - world.setBlock(x + 0, y + -20, z + 7, Block1, 0, 3); - world.setBlock(x + 3, y + -20, z + 7, Block1, 0, 3); - world.setBlock(x + 8, y + -20, z + 7, Blocks.iron_door, 1, 3); - ItemDoor.placeDoorBlock(world, x + 8, y + -20, z + 7, 1, Blocks.iron_door); - world.setBlock(x + 10, y + -20, z + 7, Blocks.iron_door, 1, 3); - ItemDoor.placeDoorBlock(world, x + 10, y + -20, z + 7, 1, Blocks.iron_door); - world.setBlock(x + 11, y + -20, z + 7, Block1, 0, 3); - world.setBlock(x + 0, y + -20, z + 8, Block1, 0, 3); - world.setBlock(x + 3, y + -20, z + 8, Block1, 0, 3); - world.setBlock(x + 4, y + -20, z + 8, Blocks.iron_door, 3, 3); - ItemDoor.placeDoorBlock(world, x + 4, y + -20, z + 8, 3, Blocks.iron_door); - world.setBlock(x + 6, y + -20, z + 8, Blocks.iron_door, 3, 3); - ItemDoor.placeDoorBlock(world, x + 6, y + -20, z + 8, 3, Blocks.iron_door); - world.setBlock(x + 8, y + -20, z + 8, Blocks.iron_door, 3, 3); - ItemDoor.placeDoorBlock(world, x + 8, y + -20, z + 8, 3, Blocks.iron_door); - world.setBlock(x + 10, y + -20, z + 8, Blocks.iron_door, 3, 3); - ItemDoor.placeDoorBlock(world, x + 10, y + -20, z + 8, 3, Blocks.iron_door); - world.setBlock(x + 11, y + -20, z + 8, Block1, 0, 3); - world.setBlock(x + 0, y + -20, z + 9, Block1, 0, 3); - world.setBlock(x + 3, y + -20, z + 9, Block1, 0, 3); - world.setBlock(x + 11, y + -20, z + 9, Block1, 0, 3); - world.setBlock(x + 0, y + -20, z + 10, Block1, 0, 3); - world.setBlock(x + 3, y + -20, z + 10, Block1, 0, 3); - world.setBlock(x + 11, y + -20, z + 10, Block1, 0, 3); - world.setBlock(x + 0, y + -20, z + 11, Block1, 0, 3); - world.setBlock(x + 3, y + -20, z + 11, Block1, 0, 3); - world.setBlock(x + 4, y + -20, z + 11, Block1, 0, 3); - world.setBlock(x + 5, y + -20, z + 11, Block1, 0, 3); - world.setBlock(x + 6, y + -20, z + 11, Block1, 0, 3); - world.setBlock(x + 7, y + -20, z + 11, Block1, 0, 3); - world.setBlock(x + 8, y + -20, z + 11, Block1, 0, 3); - world.setBlock(x + 9, y + -20, z + 11, Block1, 0, 3); - world.setBlock(x + 10, y + -20, z + 11, Block1, 0, 3); - world.setBlock(x + 11, y + -20, z + 11, Block1, 0, 3); - world.setBlock(x + 0, y + -20, z + 12, Block1, 0, 3); - world.setBlock(x + 11, y + -20, z + 12, Block1, 0, 3); - world.setBlock(x + 0, y + -20, z + 13, Block1, 0, 3); - world.setBlock(x + 11, y + -20, z + 13, Block1, 0, 3); - world.setBlock(x + 0, y + -20, z + 14, Block1, 0, 3); - world.setBlock(x + 1, y + -20, z + 14, Block1, 0, 3); - world.setBlock(x + 2, y + -20, z + 14, Block1, 0, 3); - world.setBlock(x + 3, y + -20, z + 14, Block1, 0, 3); - world.setBlock(x + 4, y + -20, z + 14, Block1, 0, 3); - world.setBlock(x + 5, y + -20, z + 14, Block1, 0, 3); - world.setBlock(x + 6, y + -20, z + 14, Block1, 0, 3); - world.setBlock(x + 7, y + -20, z + 14, Block1, 0, 3); - world.setBlock(x + 8, y + -20, z + 14, Block1, 0, 3); - world.setBlock(x + 9, y + -20, z + 14, Block1, 0, 3); - world.setBlock(x + 10, y + -20, z + 14, Block1, 0, 3); - world.setBlock(x + 11, y + -20, z + 14, Block1, 0, 3); - world.setBlock(x + 0, y + -19, z + 0, Block1, 0, 3); - world.setBlock(x + 1, y + -19, z + 0, Block1, 0, 3); - world.setBlock(x + 2, y + -19, z + 0, Block1, 0, 3); - world.setBlock(x + 3, y + -19, z + 0, Block1, 0, 3); - world.setBlock(x + 4, y + -19, z + 0, Block1, 0, 3); - world.setBlock(x + 5, y + -19, z + 0, Block1, 0, 3); - world.setBlock(x + 6, y + -19, z + 0, Block3, 0, 3); - world.setBlock(x + 7, y + -19, z + 0, Block1, 0, 3); - world.setBlock(x + 8, y + -19, z + 0, Block1, 0, 3); - world.setBlock(x + 9, y + -19, z + 0, Block1, 0, 3); - world.setBlock(x + 10, y + -19, z + 0, Block1, 0, 3); - world.setBlock(x + 11, y + -19, z + 0, Block1, 0, 3); - world.setBlock(x + 0, y + -19, z + 1, Block1, 0, 3); - world.setBlock(x + 1, y + -19, z + 1, Blocks.web, 0, 3); - world.setBlock(x + 3, y + -19, z + 1, Block1, 0, 3); - world.setBlock(x + 8, y + -19, z + 1, Block4, 0, 3); - world.setBlock(x + 9, y + -19, z + 1, Block4, 0, 3); - world.setBlock(x + 10, y + -19, z + 1, Block4, 0, 3); - world.setBlock(x + 11, y + -19, z + 1, Block1, 0, 3); - world.setBlock(x + 0, y + -19, z + 2, Block1, 0, 3); - world.setBlock(x + 3, y + -19, z + 2, Block1, 0, 3); - world.setBlock(x + 7, y + -19, z + 2, Block5, 0, 3); - world.setBlock(x + 8, y + -19, z + 2, Block5, 0, 3); - world.setBlock(x + 9, y + -19, z + 2, Block5, 0, 3); - world.setBlock(x + 10, y + -19, z + 2, Block5, 0, 3); - world.setBlock(x + 11, y + -19, z + 2, Block1, 0, 3); - world.setBlock(x + 0, y + -19, z + 3, Block1, 0, 3); - world.setBlock(x + 3, y + -19, z + 3, Block1, 0, 3); - world.setBlock(x + 4, y + -19, z + 3, Blocks.web, 0, 3); - world.setBlock(x + 8, y + -19, z + 3, Block4, 0, 3); - world.setBlock(x + 9, y + -19, z + 3, Block4, 0, 3); - world.setBlock(x + 10, y + -19, z + 3, Block4, 0, 3); - world.setBlock(x + 11, y + -19, z + 3, Block1, 0, 3); - world.setBlock(x + 0, y + -19, z + 4, Block1, 0, 3); - world.setBlock(x + 3, y + -19, z + 4, Block1, 0, 3); - world.setBlock(x + 4, y + -19, z + 4, Block1, 0, 3); - // world.setBlock(x + 5, y + -19, z + 4, Blocks.iron_door, 8, 3); - world.setBlock(x + 6, y + -19, z + 4, Block1, 0, 3); - world.setBlock(x + 7, y + -19, z + 4, Block1, 0, 3); - world.setBlock(x + 8, y + -19, z + 4, Block1, 0, 3); - world.setBlock(x + 9, y + -19, z + 4, Block3, 0, 3); - world.setBlock(x + 10, y + -19, z + 4, Block1, 0, 3); - world.setBlock(x + 11, y + -19, z + 4, Block1, 0, 3); - world.setBlock(x + 0, y + -19, z + 5, Block1, 0, 3); - world.setBlock(x + 3, y + -19, z + 5, Block1, 0, 3); - world.setBlock(x + 11, y + -19, z + 5, Block1, 0, 3); - world.setBlock(x + 0, y + -19, z + 6, Block1, 0, 3); - // world.setBlock(x + 3, y + -19, z + 6, Blocks.iron_door, 8, 3); - world.setBlock(x + 11, y + -19, z + 6, Block1, 0, 3); - world.setBlock(x + 0, y + -19, z + 7, Block1, 0, 3); - world.setBlock(x + 3, y + -19, z + 7, Block3, 0, 3); - // world.setBlock(x + 8, y + -19, z + 7, Blocks.iron_door, 8, 3); - // world.setBlock(x + 10, y + -19, z + 7, Blocks.iron_door, 8, 3); - world.setBlock(x + 11, y + -19, z + 7, Block1, 0, 3); - world.setBlock(x + 0, y + -19, z + 8, Block1, 0, 3); - world.setBlock(x + 3, y + -19, z + 8, Block1, 0, 3); - // world.setBlock(x + 4, y + -19, z + 8, Blocks.iron_door, 8, 3); - // world.setBlock(x + 6, y + -19, z + 8, Blocks.iron_door, 8, 3); - // world.setBlock(x + 8, y + -19, z + 8, Blocks.iron_door, 8, 3); - // world.setBlock(x + 10, y + -19, z + 8, Blocks.iron_door, 9, 3); - world.setBlock(x + 11, y + -19, z + 8, Block1, 0, 3); - world.setBlock(x + 0, y + -19, z + 9, Block1, 0, 3); - world.setBlock(x + 3, y + -19, z + 9, Block1, 0, 3); - world.setBlock(x + 11, y + -19, z + 9, Block1, 0, 3); - world.setBlock(x + 0, y + -19, z + 10, Block1, 0, 3); - world.setBlock(x + 3, y + -19, z + 10, Block1, 0, 3); - world.setBlock(x + 11, y + -19, z + 10, Block1, 0, 3); - world.setBlock(x + 0, y + -19, z + 11, Block1, 0, 3); - world.setBlock(x + 3, y + -19, z + 11, Block1, 0, 3); - world.setBlock(x + 4, y + -19, z + 11, Block1, 0, 3); - world.setBlock(x + 5, y + -19, z + 11, Block3, 0, 3); - world.setBlock(x + 6, y + -19, z + 11, Block1, 0, 3); - world.setBlock(x + 7, y + -19, z + 11, Block1, 0, 3); - world.setBlock(x + 8, y + -19, z + 11, Block1, 0, 3); - world.setBlock(x + 9, y + -19, z + 11, Block3, 0, 3); - world.setBlock(x + 10, y + -19, z + 11, Block1, 0, 3); - world.setBlock(x + 11, y + -19, z + 11, Block1, 0, 3); - world.setBlock(x + 0, y + -19, z + 12, Block1, 0, 3); - world.setBlock(x + 11, y + -19, z + 12, Block1, 0, 3); - world.setBlock(x + 0, y + -19, z + 13, Block1, 0, 3); - world.setBlock(x + 1, y + -19, z + 13, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -19, z + 13, Block1, 0, 3); - world.setBlock(x + 0, y + -19, z + 14, Block1, 0, 3); - world.setBlock(x + 1, y + -19, z + 14, Block1, 0, 3); - world.setBlock(x + 2, y + -19, z + 14, Block1, 0, 3); - world.setBlock(x + 3, y + -19, z + 14, Block1, 0, 3); - world.setBlock(x + 4, y + -19, z + 14, Block1, 0, 3); - world.setBlock(x + 5, y + -19, z + 14, Block1, 0, 3); - world.setBlock(x + 6, y + -19, z + 14, Block1, 0, 3); - world.setBlock(x + 7, y + -19, z + 14, Block1, 0, 3); - world.setBlock(x + 8, y + -19, z + 14, Block1, 0, 3); - world.setBlock(x + 9, y + -19, z + 14, Block1, 0, 3); - world.setBlock(x + 10, y + -19, z + 14, Block1, 0, 3); - world.setBlock(x + 11, y + -19, z + 14, Block1, 0, 3); - world.setBlock(x + 0, y + -18, z + 0, Block1, 0, 3); - world.setBlock(x + 1, y + -18, z + 0, Block1, 0, 3); - world.setBlock(x + 2, y + -18, z + 0, Block1, 0, 3); - world.setBlock(x + 3, y + -18, z + 0, Block1, 0, 3); - world.setBlock(x + 4, y + -18, z + 0, Block1, 0, 3); - world.setBlock(x + 5, y + -18, z + 0, Block1, 0, 3); - world.setBlock(x + 6, y + -18, z + 0, Block1, 0, 3); - world.setBlock(x + 7, y + -18, z + 0, Block1, 0, 3); - world.setBlock(x + 8, y + -18, z + 0, Block1, 0, 3); - world.setBlock(x + 9, y + -18, z + 0, Block1, 0, 3); - world.setBlock(x + 10, y + -18, z + 0, Block1, 0, 3); - world.setBlock(x + 11, y + -18, z + 0, Block1, 0, 3); - world.setBlock(x + 0, y + -18, z + 1, Block1, 0, 3); - world.setBlock(x + 1, y + -18, z + 1, Blocks.web, 0, 3); - world.setBlock(x + 2, y + -18, z + 1, Blocks.web, 0, 3); - world.setBlock(x + 3, y + -18, z + 1, Block1, 0, 3); - world.setBlock(x + 9, y + -18, z + 1, Blocks.web, 0, 3); - world.setBlock(x + 10, y + -18, z + 1, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -18, z + 1, Block1, 0, 3); - world.setBlock(x + 0, y + -18, z + 2, Block1, 0, 3); - world.setBlock(x + 3, y + -18, z + 2, Block1, 0, 3); - world.setBlock(x + 4, y + -18, z + 2, Blocks.web, 0, 3); - world.setBlock(x + 8, y + -18, z + 2, Block4, 0, 3); - world.setBlock(x + 9, y + -18, z + 2, Block4, 0, 3); - world.setBlock(x + 10, y + -18, z + 2, Block4, 0, 3); - world.setBlock(x + 11, y + -18, z + 2, Block1, 0, 3); - world.setBlock(x + 0, y + -18, z + 3, Block1, 0, 3); - world.setBlock(x + 3, y + -18, z + 3, Block1, 0, 3); - world.setBlock(x + 5, y + -18, z + 3, Blocks.web, 0, 3); - world.setBlock(x + 8, y + -18, z + 3, Blocks.web, 0, 3); - world.setBlock(x + 9, y + -18, z + 3, Blocks.web, 0, 3); - world.setBlock(x + 10, y + -18, z + 3, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -18, z + 3, Block1, 0, 3); - world.setBlock(x + 0, y + -18, z + 4, Block1, 0, 3); - world.setBlock(x + 3, y + -18, z + 4, Block1, 0, 3); - world.setBlock(x + 4, y + -18, z + 4, Block1, 0, 3); - world.setBlock(x + 5, y + -18, z + 4, Block1, 0, 3); - world.setBlock(x + 6, y + -18, z + 4, Block1, 0, 3); - world.setBlock(x + 7, y + -18, z + 4, Block1, 0, 3); - world.setBlock(x + 8, y + -18, z + 4, Block1, 0, 3); - world.setBlock(x + 9, y + -18, z + 4, Block1, 0, 3); - world.setBlock(x + 10, y + -18, z + 4, Block1, 0, 3); - world.setBlock(x + 11, y + -18, z + 4, Block1, 0, 3); - world.setBlock(x + 0, y + -18, z + 5, Block1, 0, 3); - world.setBlock(x + 3, y + -18, z + 5, Block1, 0, 3); - world.setBlock(x + 4, y + -18, z + 5, Blocks.web, 0, 3); - world.setBlock(x + 9, y + -18, z + 5, Blocks.web, 0, 3); - world.setBlock(x + 10, y + -18, z + 5, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -18, z + 5, Block1, 0, 3); - world.setBlock(x + 0, y + -18, z + 6, Block1, 0, 3); - world.setBlock(x + 3, y + -18, z + 6, Block1, 0, 3); - world.setBlock(x + 10, y + -18, z + 6, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -18, z + 6, Block1, 0, 3); - world.setBlock(x + 0, y + -18, z + 7, Block1, 0, 3); - world.setBlock(x + 2, y + -18, z + 7, Blocks.web, 0, 3); - world.setBlock(x + 3, y + -18, z + 7, Block1, 0, 3); - world.setBlock(x + 11, y + -18, z + 7, Block1, 0, 3); - world.setBlock(x + 0, y + -18, z + 8, Block1, 0, 3); - world.setBlock(x + 1, y + -18, z + 8, Blocks.web, 0, 3); - world.setBlock(x + 3, y + -18, z + 8, Block1, 0, 3); - world.setBlock(x + 11, y + -18, z + 8, Block1, 0, 3); - world.setBlock(x + 0, y + -18, z + 9, Block1, 0, 3); - world.setBlock(x + 2, y + -18, z + 9, Blocks.web, 0, 3); - world.setBlock(x + 3, y + -18, z + 9, Block1, 0, 3); - world.setBlock(x + 4, y + -18, z + 9, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -18, z + 9, Block1, 0, 3); - world.setBlock(x + 0, y + -18, z + 10, Block1, 0, 3); - world.setBlock(x + 3, y + -18, z + 10, Block1, 0, 3); - world.setBlock(x + 5, y + -18, z + 10, Blocks.web, 0, 3); - world.setBlock(x + 8, y + -18, z + 10, Blocks.web, 0, 3); - world.setBlock(x + 9, y + -18, z + 10, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -18, z + 10, Block1, 0, 3); - world.setBlock(x + 0, y + -18, z + 11, Block1, 0, 3); - world.setBlock(x + 3, y + -18, z + 11, Block1, 0, 3); - world.setBlock(x + 4, y + -18, z + 11, Block1, 0, 3); - world.setBlock(x + 5, y + -18, z + 11, Block1, 0, 3); - world.setBlock(x + 6, y + -18, z + 11, Block1, 0, 3); - world.setBlock(x + 7, y + -18, z + 11, Block1, 0, 3); - world.setBlock(x + 8, y + -18, z + 11, Block1, 0, 3); - world.setBlock(x + 9, y + -18, z + 11, Block1, 0, 3); - world.setBlock(x + 10, y + -18, z + 11, Block1, 0, 3); - world.setBlock(x + 11, y + -18, z + 11, Block1, 0, 3); - world.setBlock(x + 0, y + -18, z + 12, Block1, 0, 3); - world.setBlock(x + 1, y + -18, z + 12, Blocks.web, 0, 3); - world.setBlock(x + 7, y + -18, z + 12, Blocks.web, 0, 3); - world.setBlock(x + 8, y + -18, z + 12, Blocks.web, 0, 3); - world.setBlock(x + 10, y + -18, z + 12, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -18, z + 12, Block1, 0, 3); - world.setBlock(x + 0, y + -18, z + 13, Block1, 0, 3); - world.setBlock(x + 2, y + -18, z + 13, Blocks.web, 0, 3); - world.setBlock(x + 11, y + -18, z + 13, Block1, 0, 3); - world.setBlock(x + 0, y + -18, z + 14, Block1, 0, 3); - world.setBlock(x + 1, y + -18, z + 14, Block1, 0, 3); - world.setBlock(x + 2, y + -18, z + 14, Block1, 0, 3); - world.setBlock(x + 3, y + -18, z + 14, Block1, 0, 3); - world.setBlock(x + 4, y + -18, z + 14, Block1, 0, 3); - world.setBlock(x + 5, y + -18, z + 14, Block1, 0, 3); - world.setBlock(x + 6, y + -18, z + 14, Block1, 0, 3); - world.setBlock(x + 7, y + -18, z + 14, Block1, 0, 3); - world.setBlock(x + 8, y + -18, z + 14, Block1, 0, 3); - world.setBlock(x + 9, y + -18, z + 14, Block1, 0, 3); - world.setBlock(x + 10, y + -18, z + 14, Block1, 0, 3); - world.setBlock(x + 11, y + -18, z + 14, Block1, 0, 3); - world.setBlock(x + 0, y + -17, z + 0, Block1, 0, 3); - world.setBlock(x + 1, y + -17, z + 0, Block1, 0, 3); - world.setBlock(x + 2, y + -17, z + 0, Block1, 0, 3); - world.setBlock(x + 3, y + -17, z + 0, Block1, 0, 3); - world.setBlock(x + 4, y + -17, z + 0, Block1, 0, 3); - world.setBlock(x + 5, y + -17, z + 0, Block1, 0, 3); - world.setBlock(x + 6, y + -17, z + 0, Block1, 0, 3); - world.setBlock(x + 7, y + -17, z + 0, Block1, 0, 3); - world.setBlock(x + 8, y + -17, z + 0, Block1, 0, 3); - world.setBlock(x + 9, y + -17, z + 0, Block1, 0, 3); - world.setBlock(x + 10, y + -17, z + 0, Block1, 0, 3); - world.setBlock(x + 11, y + -17, z + 0, Block1, 0, 3); - world.setBlock(x + 0, y + -17, z + 1, Block1, 0, 3); - world.setBlock(x + 1, y + -17, z + 1, Block1, 0, 3); - world.setBlock(x + 2, y + -17, z + 1, Block1, 0, 3); - world.setBlock(x + 3, y + -17, z + 1, Block1, 0, 3); - world.setBlock(x + 4, y + -17, z + 1, Block1, 0, 3); - world.setBlock(x + 5, y + -17, z + 1, Block1, 0, 3); - world.setBlock(x + 6, y + -17, z + 1, Block1, 0, 3); - world.setBlock(x + 7, y + -17, z + 1, Block1, 0, 3); - world.setBlock(x + 8, y + -17, z + 1, Block1, 0, 3); - world.setBlock(x + 9, y + -17, z + 1, Block1, 0, 3); - world.setBlock(x + 10, y + -17, z + 1, Block1, 0, 3); - world.setBlock(x + 11, y + -17, z + 1, Block1, 0, 3); - world.setBlock(x + 0, y + -17, z + 2, Block1, 0, 3); - world.setBlock(x + 1, y + -17, z + 2, Block1, 0, 3); - world.setBlock(x + 3, y + -17, z + 2, Block1, 0, 3); - world.setBlock(x + 4, y + -17, z + 2, Block1, 0, 3); - world.setBlock(x + 5, y + -17, z + 2, Block1, 0, 3); - world.setBlock(x + 6, y + -17, z + 2, Block1, 0, 3); - world.setBlock(x + 7, y + -17, z + 2, Block1, 0, 3); - world.setBlock(x + 8, y + -17, z + 2, Block1, 0, 3); - world.setBlock(x + 9, y + -17, z + 2, Block1, 0, 3); - world.setBlock(x + 10, y + -17, z + 2, Block1, 0, 3); - world.setBlock(x + 11, y + -17, z + 2, Block1, 0, 3); - world.setBlock(x + 0, y + -17, z + 3, Block1, 0, 3); - world.setBlock(x + 1, y + -17, z + 3, Block1, 0, 3); - world.setBlock(x + 2, y + -17, z + 3, Block1, 0, 3); - world.setBlock(x + 3, y + -17, z + 3, Block1, 0, 3); - world.setBlock(x + 4, y + -17, z + 3, Block1, 0, 3); - world.setBlock(x + 5, y + -17, z + 3, Block1, 0, 3); - world.setBlock(x + 6, y + -17, z + 3, Block1, 0, 3); - world.setBlock(x + 7, y + -17, z + 3, Block1, 0, 3); - world.setBlock(x + 8, y + -17, z + 3, Block1, 0, 3); - world.setBlock(x + 9, y + -17, z + 3, Block1, 0, 3); - world.setBlock(x + 10, y + -17, z + 3, Block1, 0, 3); - world.setBlock(x + 11, y + -17, z + 3, Block1, 0, 3); - world.setBlock(x + 0, y + -17, z + 4, Block1, 0, 3); - world.setBlock(x + 1, y + -17, z + 4, Block1, 0, 3); - world.setBlock(x + 2, y + -17, z + 4, Block1, 0, 3); - world.setBlock(x + 3, y + -17, z + 4, Block1, 0, 3); - world.setBlock(x + 4, y + -17, z + 4, Block1, 0, 3); - world.setBlock(x + 5, y + -17, z + 4, Block1, 0, 3); - world.setBlock(x + 6, y + -17, z + 4, Block1, 0, 3); - world.setBlock(x + 7, y + -17, z + 4, Block1, 0, 3); - world.setBlock(x + 8, y + -17, z + 4, Block1, 0, 3); - world.setBlock(x + 9, y + -17, z + 4, Block1, 0, 3); - world.setBlock(x + 10, y + -17, z + 4, Block1, 0, 3); - world.setBlock(x + 11, y + -17, z + 4, Block1, 0, 3); - world.setBlock(x + 0, y + -17, z + 5, Block1, 0, 3); - world.setBlock(x + 1, y + -17, z + 5, Block1, 0, 3); - world.setBlock(x + 2, y + -17, z + 5, Block1, 0, 3); - world.setBlock(x + 3, y + -17, z + 5, Block1, 0, 3); - world.setBlock(x + 4, y + -17, z + 5, Block1, 0, 3); - world.setBlock(x + 5, y + -17, z + 5, Block1, 0, 3); - world.setBlock(x + 6, y + -17, z + 5, Block1, 0, 3); - world.setBlock(x + 7, y + -17, z + 5, Block1, 0, 3); - world.setBlock(x + 8, y + -17, z + 5, Block1, 0, 3); - world.setBlock(x + 9, y + -17, z + 5, Block1, 0, 3); - world.setBlock(x + 10, y + -17, z + 5, Block1, 0, 3); - world.setBlock(x + 11, y + -17, z + 5, Block1, 0, 3); - world.setBlock(x + 0, y + -17, z + 6, Block1, 0, 3); - world.setBlock(x + 1, y + -17, z + 6, Block1, 0, 3); - world.setBlock(x + 2, y + -17, z + 6, Block1, 0, 3); - world.setBlock(x + 3, y + -17, z + 6, Block1, 0, 3); - world.setBlock(x + 4, y + -17, z + 6, Block1, 0, 3); - world.setBlock(x + 5, y + -17, z + 6, Block1, 0, 3); - world.setBlock(x + 6, y + -17, z + 6, Block1, 0, 3); - world.setBlock(x + 7, y + -17, z + 6, Block1, 0, 3); - world.setBlock(x + 8, y + -17, z + 6, Block1, 0, 3); - world.setBlock(x + 9, y + -17, z + 6, Block1, 0, 3); - world.setBlock(x + 10, y + -17, z + 6, Block1, 0, 3); - world.setBlock(x + 11, y + -17, z + 6, Block1, 0, 3); - world.setBlock(x + 0, y + -17, z + 7, Block1, 0, 3); - world.setBlock(x + 1, y + -17, z + 7, Block1, 0, 3); - world.setBlock(x + 2, y + -17, z + 7, Block1, 0, 3); - world.setBlock(x + 3, y + -17, z + 7, Block1, 0, 3); - world.setBlock(x + 4, y + -17, z + 7, Block1, 0, 3); - world.setBlock(x + 5, y + -17, z + 7, Block1, 0, 3); - world.setBlock(x + 6, y + -17, z + 7, Block1, 0, 3); - world.setBlock(x + 7, y + -17, z + 7, Block1, 0, 3); - world.setBlock(x + 8, y + -17, z + 7, Block1, 0, 3); - world.setBlock(x + 9, y + -17, z + 7, Block1, 0, 3); - world.setBlock(x + 10, y + -17, z + 7, Block1, 0, 3); - world.setBlock(x + 11, y + -17, z + 7, Block1, 0, 3); - world.setBlock(x + 0, y + -17, z + 8, Block1, 0, 3); - world.setBlock(x + 1, y + -17, z + 8, Block1, 0, 3); - world.setBlock(x + 2, y + -17, z + 8, Block1, 0, 3); - world.setBlock(x + 3, y + -17, z + 8, Block1, 0, 3); - world.setBlock(x + 4, y + -17, z + 8, Block1, 0, 3); - world.setBlock(x + 5, y + -17, z + 8, Block1, 0, 3); - world.setBlock(x + 6, y + -17, z + 8, Block1, 0, 3); - world.setBlock(x + 7, y + -17, z + 8, Block1, 0, 3); - world.setBlock(x + 8, y + -17, z + 8, Block1, 0, 3); - world.setBlock(x + 9, y + -17, z + 8, Block1, 0, 3); - world.setBlock(x + 10, y + -17, z + 8, Block1, 0, 3); - world.setBlock(x + 11, y + -17, z + 8, Block1, 0, 3); - world.setBlock(x + 0, y + -17, z + 9, Block1, 0, 3); - world.setBlock(x + 1, y + -17, z + 9, Block1, 0, 3); - world.setBlock(x + 2, y + -17, z + 9, Block1, 0, 3); - world.setBlock(x + 3, y + -17, z + 9, Block1, 0, 3); - world.setBlock(x + 4, y + -17, z + 9, Block1, 0, 3); - world.setBlock(x + 5, y + -17, z + 9, Block1, 0, 3); - world.setBlock(x + 6, y + -17, z + 9, Block1, 0, 3); - world.setBlock(x + 7, y + -17, z + 9, Block1, 0, 3); - world.setBlock(x + 8, y + -17, z + 9, Block1, 0, 3); - world.setBlock(x + 9, y + -17, z + 9, Block1, 0, 3); - world.setBlock(x + 10, y + -17, z + 9, Block1, 0, 3); - world.setBlock(x + 11, y + -17, z + 9, Block1, 0, 3); - world.setBlock(x + 0, y + -17, z + 10, Block1, 0, 3); - world.setBlock(x + 1, y + -17, z + 10, Block1, 0, 3); - world.setBlock(x + 2, y + -17, z + 10, Block1, 0, 3); - world.setBlock(x + 3, y + -17, z + 10, Block1, 0, 3); - world.setBlock(x + 4, y + -17, z + 10, Block1, 0, 3); - world.setBlock(x + 5, y + -17, z + 10, Block1, 0, 3); - world.setBlock(x + 6, y + -17, z + 10, Block1, 0, 3); - world.setBlock(x + 7, y + -17, z + 10, Block1, 0, 3); - world.setBlock(x + 8, y + -17, z + 10, Block1, 0, 3); - world.setBlock(x + 9, y + -17, z + 10, Block1, 0, 3); - world.setBlock(x + 10, y + -17, z + 10, Block1, 0, 3); - world.setBlock(x + 11, y + -17, z + 10, Block1, 0, 3); - world.setBlock(x + 0, y + -17, z + 11, Block1, 0, 3); - world.setBlock(x + 1, y + -17, z + 11, Block1, 0, 3); - world.setBlock(x + 2, y + -17, z + 11, Block1, 0, 3); - world.setBlock(x + 3, y + -17, z + 11, Block1, 0, 3); - world.setBlock(x + 4, y + -17, z + 11, Block1, 0, 3); - world.setBlock(x + 5, y + -17, z + 11, Block1, 0, 3); - world.setBlock(x + 6, y + -17, z + 11, Block1, 0, 3); - world.setBlock(x + 7, y + -17, z + 11, Block1, 0, 3); - world.setBlock(x + 8, y + -17, z + 11, Block1, 0, 3); - world.setBlock(x + 9, y + -17, z + 11, Block1, 0, 3); - world.setBlock(x + 10, y + -17, z + 11, Block1, 0, 3); - world.setBlock(x + 11, y + -17, z + 11, Block1, 0, 3); - world.setBlock(x + 0, y + -17, z + 12, Block1, 0, 3); - world.setBlock(x + 1, y + -17, z + 12, Block1, 0, 3); - world.setBlock(x + 2, y + -17, z + 12, Block1, 0, 3); - world.setBlock(x + 3, y + -17, z + 12, Block1, 0, 3); - world.setBlock(x + 4, y + -17, z + 12, Block1, 0, 3); - world.setBlock(x + 5, y + -17, z + 12, Block1, 0, 3); - world.setBlock(x + 6, y + -17, z + 12, Block1, 0, 3); - world.setBlock(x + 7, y + -17, z + 12, Block1, 0, 3); - world.setBlock(x + 8, y + -17, z + 12, Block1, 0, 3); - world.setBlock(x + 9, y + -17, z + 12, Block1, 0, 3); - world.setBlock(x + 10, y + -17, z + 12, Block1, 0, 3); - world.setBlock(x + 11, y + -17, z + 12, Block1, 0, 3); - world.setBlock(x + 0, y + -17, z + 13, Block1, 0, 3); - world.setBlock(x + 1, y + -17, z + 13, Block1, 0, 3); - world.setBlock(x + 2, y + -17, z + 13, Block1, 0, 3); - world.setBlock(x + 3, y + -17, z + 13, Block1, 0, 3); - world.setBlock(x + 4, y + -17, z + 13, Block1, 0, 3); - world.setBlock(x + 5, y + -17, z + 13, Block1, 0, 3); - world.setBlock(x + 6, y + -17, z + 13, Block1, 0, 3); - world.setBlock(x + 7, y + -17, z + 13, Block1, 0, 3); - world.setBlock(x + 8, y + -17, z + 13, Block1, 0, 3); - world.setBlock(x + 9, y + -17, z + 13, Block1, 0, 3); - world.setBlock(x + 10, y + -17, z + 13, Block1, 0, 3); - world.setBlock(x + 11, y + -17, z + 13, Block1, 0, 3); - world.setBlock(x + 0, y + -17, z + 14, Block1, 0, 3); - world.setBlock(x + 1, y + -17, z + 14, Block1, 0, 3); - world.setBlock(x + 2, y + -17, z + 14, Block1, 0, 3); - world.setBlock(x + 3, y + -17, z + 14, Block1, 0, 3); - world.setBlock(x + 4, y + -17, z + 14, Block1, 0, 3); - world.setBlock(x + 5, y + -17, z + 14, Block1, 0, 3); - world.setBlock(x + 6, y + -17, z + 14, Block1, 0, 3); - world.setBlock(x + 7, y + -17, z + 14, Block1, 0, 3); - world.setBlock(x + 8, y + -17, z + 14, Block1, 0, 3); - world.setBlock(x + 9, y + -17, z + 14, Block1, 0, 3); - world.setBlock(x + 10, y + -17, z + 14, Block1, 0, 3); - world.setBlock(x + 11, y + -17, z + 14, Block1, 0, 3); - world.setBlock(x + 1, y + -16, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -16, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -16, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -16, z + 2, Block3, 0, 3); - world.setBlock(x + 3, y + -16, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -16, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -16, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -16, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -15, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -15, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -15, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -15, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -15, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -15, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -15, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -15, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -14, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -14, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -14, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -14, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -14, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -14, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -14, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -14, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -13, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -13, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -13, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -13, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -13, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -13, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -13, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -13, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -12, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -12, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -12, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -12, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -12, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -12, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -12, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -12, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -11, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -11, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -11, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -11, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -11, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -11, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -11, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -11, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -10, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -10, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -10, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -10, z + 2, Block3, 0, 3); - world.setBlock(x + 3, y + -10, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -10, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -10, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -10, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -9, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -9, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -9, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -9, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -9, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -9, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -9, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -9, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -8, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -8, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -8, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -8, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -8, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -8, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -8, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -8, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -7, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -7, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -7, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -7, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -7, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -7, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -7, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -7, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -6, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -6, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -6, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -6, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -6, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -6, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -6, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -6, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -5, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -5, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -5, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -5, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -5, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -5, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -5, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -5, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -4, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -4, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -4, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -4, z + 2, Block3, 0, 3); - world.setBlock(x + 3, y + -4, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -4, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -4, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -4, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + -3, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -3, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -3, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -3, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -3, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + -3, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -3, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -3, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -3, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -3, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + -3, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -3, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -3, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -3, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + -3, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -3, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -3, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -3, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -3, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + -3, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -3, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -3, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -3, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -3, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -3, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -3, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -3, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + -2, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -2, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -2, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -2, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -2, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + -2, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -2, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -2, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -2, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -2, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + -2, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -2, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -2, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -2, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + -2, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -2, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -2, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -2, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -2, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + -2, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -2, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -2, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -2, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -2, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -2, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -2, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -2, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + -1, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -1, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -1, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -1, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -1, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + -1, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -1, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -1, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -1, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -1, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + -1, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -1, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -1, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -1, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + -1, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -1, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -1, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -1, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -1, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + -1, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -1, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -1, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -1, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + -1, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + -1, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + -1, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + -1, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + 0, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 0, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + 0, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + 0, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + 0, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + 0, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + 0, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + 0, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + 0, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + 0, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + 0, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + 0, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + 0, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + 0, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 0, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + 0, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + 0, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + 1, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 1, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + 1, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + 1, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + 1, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + 1, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + 1, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + 1, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + 1, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + 1, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + 1, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + 1, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + 1, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + 2, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 2, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + 2, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + 2, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + 2, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + 2, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 2, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + 2, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + 2, z + 1, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + 2, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 2, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + 2, z + 2, Block3, 0, 3); - world.setBlock(x + 3, y + 2, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + 2, z + 2, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + 2, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 2, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + 2, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + 2, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + 2, z + 3, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 0, y + 2, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 2, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + 2, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + 2, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 4, y + 2, z + 4, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 2, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + 2, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + 2, z + 5, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 1, y + 3, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + 3, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 3, y + 3, z + 0, Library.getRandomConcrete(), 0, 3); - world.setBlock(x + 2, y + 3, z + 1, Blocks.trapdoor, 1, 3); - - generate_r02_last(world, rand, x, y, z); - return true; - - } - - public boolean generate_r02_last(World world, Random rand, int x, int y, int z) { - - world.setBlock(x + 10, y + -24, z + 12, Blocks.ladder, 4, 3); - world.setBlock(x + 10, y + -24, z + 13, Blocks.ladder, 4, 3); - world.setBlock(x + 8, y + -23, z + 2, Blocks.lever, 12, 3); - world.setBlock(x + 10, y + -23, z + 4, Blocks.lever, 10, 3); - world.setBlock(x + 10, y + -23, z + 6, Blocks.lever, 10, 3); - world.setBlock(x + 10, y + -23, z + 8, Blocks.lever, 10, 3); - world.setBlock(x + 6, y + -23, z + 10, Blocks.lever, 12, 3); - world.setBlock(x + 10, y + -23, z + 10, Blocks.lever, 10, 3); - world.setBlock(x + 10, y + -23, z + 12, Blocks.ladder, 4, 3); - world.setBlock(x + 10, y + -23, z + 13, Blocks.ladder, 4, 3); - world.setBlock(x + 10, y + -22, z + 12, Blocks.ladder, 4, 3); - world.setBlock(x + 10, y + -22, z + 13, Blocks.ladder, 4, 3); - world.setBlock(x + 10, y + -21, z + 12, Blocks.ladder, 4, 3); - world.setBlock(x + 10, y + -21, z + 13, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -20, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 10, y + -20, z + 12, Blocks.ladder, 4, 3); - world.setBlock(x + 10, y + -20, z + 13, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -19, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -19, z + 5, Blocks.lever, 2, 3); - world.setBlock(x + 5, y + -19, z + 5, Blocks.wall_sign, 3, 3); - world.setBlock(x + 2, y + -18, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -17, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -16, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -15, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -14, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -13, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -12, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -11, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -10, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -9, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -8, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -7, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -6, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -5, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -4, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -3, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -2, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + -1, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + 0, z + 1, Blocks.ladder, 3, 3); - world.setBlock(x + 2, y + 0, z + 2, Blocks.ladder, 4, 3); - world.setBlock(x + 2, y + 1, z + 1, Blocks.ladder, 3, 3); - world.setBlock(x + 2, y + 2, z + 1, Blocks.ladder, 3, 3); - world.setBlock(x + 8, y + -20, z + 5, Blocks.bed, 10, 3); - world.setBlock(x + 10, y + -20, z + 5, Blocks.bed, 10, 3); - world.setBlock(x + 8, y + -20, z + 6, Blocks.bed, 2, 3); - world.setBlock(x + 10, y + -20, z + 6, Blocks.bed, 2, 3); - world.setBlock(x + 4, y + -20, z + 9, Blocks.bed, 0, 3); - world.setBlock(x + 6, y + -20, z + 9, Blocks.bed, 0, 3); - world.setBlock(x + 8, y + -20, z + 9, Blocks.bed, 0, 3); - world.setBlock(x + 10, y + -20, z + 9, Blocks.bed, 0, 3); - world.setBlock(x + 4, y + -20, z + 10, Blocks.bed, 8, 3); - world.setBlock(x + 6, y + -20, z + 10, Blocks.bed, 8, 3); - world.setBlock(x + 8, y + -20, z + 10, Blocks.bed, 8, 3); - world.setBlock(x + 10, y + -20, z + 10, Blocks.bed, 8, 3); - world.setBlock(x + 8, y + -19, z + 5, Blocks.bed, 10, 3); - world.setBlock(x + 10, y + -19, z + 5, Blocks.bed, 10, 3); - world.setBlock(x + 8, y + -19, z + 6, Blocks.bed, 2, 3); - world.setBlock(x + 10, y + -19, z + 6, Blocks.bed, 2, 3); - world.setBlock(x + 4, y + -19, z + 9, Blocks.bed, 0, 3); - world.setBlock(x + 6, y + -19, z + 9, Blocks.bed, 0, 3); - world.setBlock(x + 8, y + -19, z + 9, Blocks.bed, 0, 3); - world.setBlock(x + 10, y + -19, z + 9, Blocks.bed, 0, 3); - world.setBlock(x + 4, y + -19, z + 10, Blocks.bed, 8, 3); - world.setBlock(x + 6, y + -19, z + 10, Blocks.bed, 8, 3); - world.setBlock(x + 8, y + -19, z + 10, Blocks.bed, 8, 3); - world.setBlock(x + 10, y + -19, z + 10, Blocks.bed, 8, 3); - if(GeneralConfig.enableDebugMode) - System.out.print("[Debug] Successfully spawned bunker at " + x + " " + y + " " + z + "\n"); - return true; - - } - -} \ No newline at end of file From 189c861cf09e649ea881a49494b3fe03fbcc0d9d Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Fri, 9 Jun 2023 21:19:19 -0500 Subject: [PATCH 160/285] added something to outgasser OC compat the smallest change imaginable (added a callback for checking gas type) --- .../tileentity/machine/rbmk/TileEntityRBMKOutgasser.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 c3c2665bf..8e3f71a6a 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java @@ -237,6 +237,12 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement public Object[] getGasMax(Context context, Arguments args) { return new Object[] {gas.getMaxFill()}; } + + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getGasType(Context context, Arguments args) { + return new Object[] {gas.getTankType().getID()}; + } @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") @@ -253,7 +259,7 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[] {gas.getFill(), gas.getMaxFill(), progress, xCoord, yCoord, zCoord}; + return new Object[] {gas.getFill(), gas.getMaxFill(), progress, gas.getTankType().getID(), xCoord, yCoord, zCoord}; } @Override From de28eff0c792dec1224febc63e2789314bc208b4 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Sat, 10 Jun 2023 02:04:56 -0500 Subject: [PATCH 161/285] Another small addition --- .../java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 7c161a15e..f02f229ca 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -450,7 +450,7 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM OC_enrich_buf = "N/A"; OC_poison_buf = "N/A"; } - return new Object[] {heat, fluxSlow, fluxFast, OC_enrich_buf, OC_poison_buf, ((RBMKRod)this.getBlockType()).moderated, xCoord, yCoord, zCoord}; + return new Object[] {heat, ItemRBMKRod.getHullHeat(slots[0]), ItemRBMKRod.getCoreHeat(slots[0]), fluxSlow, fluxFast, OC_enrich_buf, OC_poison_buf, ((RBMKRod)this.getBlockType()).moderated, xCoord, yCoord, zCoord}; } @Callback(direct = true, limit = 8) From c2f05f4d114c42bd9a9589c12e18bff15d3c8381 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 10 Jun 2023 10:16:15 +0200 Subject: [PATCH 162/285] gold capacitor --- src/main/java/com/hbm/blocks/ModBlocks.java | 5 ++++- .../hbm/blocks/machine/MachineCapacitor.java | 20 ++++++++++++------ .../java/com/hbm/tileentity/TileMappings.java | 2 ++ .../hbm/textures/blocks/capacitor_bus_out.png | Bin 195 -> 301 bytes .../textures/blocks/capacitor_gold_bottom.png | Bin 0 -> 551 bytes .../blocks/capacitor_gold_inner_side.png | Bin 0 -> 169 bytes .../blocks/capacitor_gold_inner_top.png | Bin 0 -> 272 bytes .../textures/blocks/capacitor_gold_side.png | Bin 0 -> 357 bytes .../textures/blocks/capacitor_gold_top.png | Bin 0 -> 219 bytes 9 files changed, 20 insertions(+), 7 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_gold_bottom.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_gold_inner_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_gold_inner_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_gold_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_gold_top.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 0d2b78975..da8ec07e3 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -759,6 +759,7 @@ public class ModBlocks { public static Block capacitor_bus; public static Block capacitor_copper; + public static Block capacitor_gold; public static Block machine_coal_off; public static Block machine_coal_on; @@ -1883,7 +1884,8 @@ public class ModBlocks { 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).setBlockName("capacitor_copper").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_copper"); + 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"); machine_coal_off = new MachineCoal(false).setBlockName("machine_coal_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_coal_on = new MachineCoal(true).setBlockName("machine_coal_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); @@ -3200,6 +3202,7 @@ public class ModBlocks { register(machine_fensu); register(capacitor_bus); register(capacitor_copper); + register(capacitor_gold); 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()); diff --git a/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java b/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java index ad9effd70..64a76e113 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java @@ -21,6 +21,7 @@ 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.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -41,21 +42,23 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP @SideOnly(Side.CLIENT) public IIcon iconInnerSide; protected long power; + String name; - public MachineCapacitor(Material mat, long power) { + public MachineCapacitor(Material mat, long power, String name) { super(mat); this.power = power; + this.name = name; } @Override @SideOnly(Side.CLIENT) public void registerBlockIcons(IIconRegister iconRegister) { super.registerBlockIcons(iconRegister); - this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":capacitor_copper_top"); - this.iconSide = iconRegister.registerIcon(RefStrings.MODID + ":capacitor_copper_side"); - this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":capacitor_copper_bottom"); - this.iconInnerTop = iconRegister.registerIcon(RefStrings.MODID + ":capacitor_copper_inner_top"); - this.iconInnerSide = iconRegister.registerIcon(RefStrings.MODID + ":capacitor_copper_inner_side"); + this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":capacitor_" + name + "_top"); + this.iconSide = iconRegister.registerIcon(RefStrings.MODID + ":capacitor_" + name + "_side"); + this.iconBottom = iconRegister.registerIcon(RefStrings.MODID + ":capacitor_" + name + "_bottom"); + this.iconInnerTop = iconRegister.registerIcon(RefStrings.MODID + ":capacitor_" + name + "_inner_top"); + this.iconInnerSide = iconRegister.registerIcon(RefStrings.MODID + ":capacitor_" + name + "_inner_side"); } public static int renderID = RenderingRegistry.getNextAvailableRenderId(); @@ -104,6 +107,11 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP return IPersistentNBT.getDrops(world, x, y, z, this); } + @Override + public void onBlockPlacedBy(World world, int x, int y, int z, EntityLivingBase player, ItemStack itemStack) { + IPersistentNBT.restoreData(world, x, y, z, itemStack); + } + @Override public void onBlockHarvested(World world, int x, int y, int z, int meta, EntityPlayer player) { diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 824ecb205..f7098e052 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -13,6 +13,7 @@ import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.blocks.generic.BlockMotherOfAllOres.TileEntityRandomOre; import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; import com.hbm.blocks.generic.PartEmitter.TileEntityPartEmitter; +import com.hbm.blocks.machine.MachineCapacitor.TileEntityCapacitor; import com.hbm.blocks.machine.MachineFan.TileEntityFan; import com.hbm.blocks.machine.PistonInserter.TileEntityPistonInserter; import com.hbm.blocks.machine.WatzPump.TileEntityWatzPump; @@ -61,6 +62,7 @@ public class TileMappings { put(TileEntityDecoPoleTop.class, "tileentity_poletop"); put(TileEntityDecoPoleSatelliteReceiver.class, "tileentity_satellitereceicer"); put(TileEntityMachineBattery.class, "tileentity_battery"); + put(TileEntityCapacitor.class, "tileentity_capacitor"); put(TileEntityMachineCoal.class, "tileentity_coal"); put(TileEntityRedBarrel.class, "tileentity_barrel"); put(TileEntityYellowBarrel.class, "tileentity_nukebarrel"); diff --git a/src/main/resources/assets/hbm/textures/blocks/capacitor_bus_out.png b/src/main/resources/assets/hbm/textures/blocks/capacitor_bus_out.png index c9a207e23aea062507bc44b8c20b64fa7bdda6c9..2cb5d71316a30234599dfb6a09c8febbc20eeb40 100644 GIT binary patch delta 257 zcmV+c0sj8O0j&a%G=JntL_t(Ijir;j4Z<)KMNd9-AS@~`f#f0sz!srp3?^a=Qd5K! z86u^nNGSjX3a}JAHs4dl&%XEh$}f>p>c$_W078hL#9HfzfmwXYuwfe705}u{0PEGt zs!J(png)P4)WwM1Z zOs9}#bC$~)N#Z{c52G=F+YL_t(Ijjd9#4Zt7_GZjNePRR-Ma&i(M(4ndXs168fDHE|{ zCpZx)*nkIs5W*5U=Zs@#IsjWBsUoSa3DiVO#IuJhMsqTC@J>soHpQGY0;9ZNJ^x-| zCU@WCM5OF|BzlEDD|1J8P!p_Z)WL{2bTA7KJj+S}R002ovPDHLk FV1h-rI`aSk diff --git a/src/main/resources/assets/hbm/textures/blocks/capacitor_gold_bottom.png b/src/main/resources/assets/hbm/textures/blocks/capacitor_gold_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..bac7489b5696a6071c4e64f6c43050616c9102da GIT binary patch literal 551 zcmV+?0@(eDP)+m-}(6XK-P8T^YfEZ z3IHNP&Y6@FkB^U}ln5cl)^Mkgb*6YIF6K3=(>(`^?eUO z*LA$Syzu?~jn-NtBCQ#~7(rw62-I5dsGet~ zR0Cd?g>Bo=BGL*W1cqTiMDFySbpY=@-g}&LSZmSyzPDnGk$Ik*)^q>s$F^-PYNZr< z7=}B_N-0Vy?O&WA-upZHXQVoW(A*c1|It4a*|rU!{fm9ye^bag^YHM{SX?d_o}Qin zsI_8@;q=KEb7%5@DgElP){=8(o@bO&)LI+u7-N%Xtp(sXj$a8{>z4oJa%s({7cs`h zqSi{SwV5a)h;xo{9C>|xy_>k>IN0~SO=SpyX_{Eqm3`mo`~EkHx3{{%VX0;LbY8&!uO2B+@Qzt0phd OE(T9mKbLh*2~7am={vdr literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/capacitor_gold_inner_top.png b/src/main/resources/assets/hbm/textures/blocks/capacitor_gold_inner_top.png new file mode 100644 index 0000000000000000000000000000000000000000..52ffe26c57d2f80c46e565d1f7c7555ba099fade GIT binary patch literal 272 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfyU$h+x$s-jxHO5bVLpwx^#{CiOju&X6_%^2C z+f}UZ9;$nP_Kn~34NsdBk19qmEPlDE)Z&w{l6@#c!*&~U{`OOO)|+`44Cbwuni0H6 z;b~>C)9Q+cs(xD^S_GsmpWhq9#NZ?LI&1U%4?CW*PGx8~n>WL{`rW*H3v7~f85}qm z8>Vdf<`>SM5p;{MBu)20o#msQZL%S@A;}IOyQ3KYO}*L8UB z*=#m=?`hkXG)?i|qm)7jfiZ^r{Z5i)8F`+w+wGoQhGD=tM@-VTEqR{PG!4!?j-Sr$Y3AWvlv(X@`2)X4)02y3We4W>vNW*YX>1L3h?pz_ PbRC1ItDnm{r-UW|aA!_` literal 0 HcmV?d00001 From 6710370f81d524e77e23503f258dfea62319b750 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 10 Jun 2023 16:06:53 +0200 Subject: [PATCH 163/285] more capacitors, rail stuff --- changelog | 12 +- .../java/com/hbm/blocks/BlockDummyable.java | 12 +- src/main/java/com/hbm/blocks/ModBlocks.java | 6 + .../hbm/blocks/machine/MachineCapacitor.java | 33 +- .../blocks/machine/MachineCapacitorBus.java | 11 +- .../hbm/blocks/rail/RailStandardCurve.java | 6 +- .../com/hbm/blocks/rail/RailStandardRamp.java | 9 +- .../hbm/blocks/rail/RailStandardStraight.java | 4 +- .../hbm/entity/train/EntityRailCarBase.java | 18 +- .../entity/train/EntityRailCarRidable.java | 3 + .../java/com/hbm/main/CraftingManager.java | 5 + .../com/hbm/main/ModEventHandlerClient.java | 25 +- .../entity/item/RenderTrainCargoTram.java | 6 +- .../item/RenderTrainCargoTramTrailer.java | 19 +- .../machine/TileEntityMachineTurbofan.java | 4 +- .../hbm/world/gen/component/Component.java | 1 - src/main/resources/assets/hbm/lang/de_DE.lang | 6 + src/main/resources/assets/hbm/lang/en_US.lang | 6 + .../hbm/models/blocks/rail_standard_ramp.obj | 486 ++++++++++++++++-- .../blocks/capacitor_niobium_bottom.png | Bin 0 -> 550 bytes .../blocks/capacitor_niobium_inner_side.png | Bin 0 -> 187 bytes .../blocks/capacitor_niobium_inner_top.png | Bin 0 -> 280 bytes .../blocks/capacitor_niobium_side.png | Bin 0 -> 378 bytes .../textures/blocks/capacitor_niobium_top.png | Bin 0 -> 226 bytes .../blocks/capacitor_tantalium_bottom.png | Bin 0 -> 555 bytes .../blocks/capacitor_tantalium_inner_side.png | Bin 0 -> 174 bytes .../blocks/capacitor_tantalium_inner_top.png | Bin 0 -> 272 bytes .../blocks/capacitor_tantalium_side.png | Bin 0 -> 327 bytes .../blocks/capacitor_tantalium_top.png | Bin 0 -> 182 bytes 29 files changed, 580 insertions(+), 92 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_niobium_bottom.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_niobium_inner_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_niobium_inner_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_niobium_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_niobium_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_tantalium_bottom.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_tantalium_inner_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_tantalium_inner_top.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_tantalium_side.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/capacitor_tantalium_top.png diff --git a/changelog b/changelog index 5060b78ac..99abe8ebc 100644 --- a/changelog +++ b/changelog @@ -6,12 +6,22 @@ * Mustard gas * Euphemium capacitor * Used for schrabidium transmutation, has infinite durability +* Capacitor blocks + * Like batteries without GUIs that are constantly in input/output mode + * Input is on the top of the capacitor block, for output the capacitor has to be placed onto a capaictor bus + * Capacitor buses have one side for the output, multiple buses can be chained up given they are placed in a straight line + * Incentivizes splitting the power grid, looping the output back into the input will yield the same weirdness as combining multiple IO energy storage blocks +* Desh bullet stamps + * Like regular bullets stamps but with infinite durability ## Changed * Updated russian localization * Mist now spawns cloud particles with the correct color instead of standard white * HE artillery shells and rockets now turn blocks into slag +* The old static bunker structure has been removed and replaced with dynamically generated ones, using the same style of generation as vanilla strongholds. ## Fixed * Fixed the TOXIC trait not respecting protection when applying potion effects -* Fixed some armor recipes only accepting polymer and not bakelite \ No newline at end of file +* Fixed some armor recipes only accepting polymer and not bakelite +* Fixed turbofans not sucking in players +* Fixed NTM skybox not applying to superflat worlds \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/BlockDummyable.java b/src/main/java/com/hbm/blocks/BlockDummyable.java index 3c1869089..4d7b35b2e 100644 --- a/src/main/java/com/hbm/blocks/BlockDummyable.java +++ b/src/main/java/com/hbm/blocks/BlockDummyable.java @@ -490,12 +490,10 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl int[] pos = this.findCore(world, x, y, z); if(pos == null) return; - TileEntity tile = world.getTileEntity(pos[0], pos[1], pos[2]); - if(tile == null) return; - x = tile.xCoord; - y = tile.yCoord; - z = tile.zCoord; + x = pos[0]; + y = pos[1]; + z = pos[2]; EntityPlayer player = event.player; float interp = event.partialTicks; @@ -503,9 +501,11 @@ public abstract class BlockDummyable extends BlockContainer implements ICustomBl 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); ICustomBlockHighlight.setup(); - for(AxisAlignedBB aabb : this.bounding) event.context.drawOutlinedBoundingBox(getAABBRotationOffset(aabb.expand(exp, exp, exp), 0, 0, 0, ForgeDirection.getOrientation(tile.getBlockMetadata() - offset).getRotation(ForgeDirection.UP)).getOffsetBoundingBox(x - dX + 0.5, y - dY, z - dZ + 0.5), -1); + 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); ICustomBlockHighlight.cleanup(); } } diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index da8ec07e3..1a9438c41 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -760,6 +760,8 @@ public class ModBlocks { 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 machine_coal_off; public static Block machine_coal_on; @@ -1886,6 +1888,8 @@ public class ModBlocks { 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, 100_000_000L, "tantalium").setBlockName("capacitor_tantalium").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_tantalium"); machine_coal_off = new MachineCoal(false).setBlockName("machine_coal_off").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); machine_coal_on = new MachineCoal(true).setBlockName("machine_coal_on").setHardness(5.0F).setLightLevel(1.0F).setResistance(10.0F); @@ -3203,6 +3207,8 @@ public class ModBlocks { register(capacitor_bus); register(capacitor_copper); register(capacitor_gold); + register(capacitor_niobium); + register(capacitor_tantalium); 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()); diff --git a/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java b/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java index 64a76e113..be083f6e3 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCapacitor.java @@ -3,8 +3,11 @@ package com.hbm.blocks.machine; import java.util.ArrayList; import java.util.List; +import org.lwjgl.input.Keyboard; + import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.IPersistentInfoProvider; +import com.hbm.blocks.ITooltipProvider; import com.hbm.blocks.ModBlocks; import com.hbm.lib.RefStrings; import com.hbm.tileentity.INBTPacketReceiver; @@ -33,7 +36,7 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; -public class MachineCapacitor extends BlockContainer implements ILookOverlay, IPersistentInfoProvider { +public class MachineCapacitor extends BlockContainer implements ILookOverlay, IPersistentInfoProvider, ITooltipProvider { @SideOnly(Side.CLIENT) public IIcon iconTop; @SideOnly(Side.CLIENT) public IIcon iconSide; @@ -93,6 +96,8 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP 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); } @@ -101,6 +106,18 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP public void addInformation(ItemStack stack, NBTTagCompound persistentTag, EntityPlayer player, List list, boolean ext) { list.add(EnumChatFormatting.YELLOW + "" + BobMathUtil.getShortNumber(persistentTag.getLong("power")) + "/" + BobMathUtil.getShortNumber(persistentTag.getLong("maxPower")) + "HE"); } + + @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 { + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + + EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + + 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) { @@ -132,6 +149,9 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP public long power; protected long maxPower; + public long prevPower; + public long powerReceived; + public long powerSent; public TileEntityCapacitor() { } @@ -143,6 +163,8 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP public void updateEntity() { if(!worldObj.isRemote) { + + long gain = power - prevPower; ForgeDirection opp = ForgeDirection.getOrientation(this.getBlockMetadata()); ForgeDirection dir = opp.getOpposite(); @@ -165,23 +187,32 @@ public class MachineCapacitor extends BlockContainer implements ILookOverlay, IP pos = pos.offset(current); } + long preSend = power; if(pos != null && last != null) { this.tryUnsubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ()); this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), last); } + long sent = preSend - power; this.trySubscribe(worldObj, xCoord + opp.offsetX, yCoord+ opp.offsetY, zCoord + opp.offsetZ, opp); NBTTagCompound data = new NBTTagCompound(); data.setLong("power", power); data.setLong("maxPower", maxPower); + data.setLong("rec", gain); + data.setLong("sent", sent); INBTPacketReceiver.networkPack(this, data, 15); + + this.prevPower = power; } } @Override public void networkUnpack(NBTTagCompound nbt) { this.power = nbt.getLong("power"); + this.maxPower = nbt.getLong("maxPower"); + this.powerReceived = nbt.getLong("rec"); + this.powerSent = nbt.getLong("sent"); } @Override diff --git a/src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java b/src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java index 8ed5b2ed1..fa7aa8dbe 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCapacitorBus.java @@ -1,5 +1,8 @@ package com.hbm.blocks.machine; +import java.util.List; + +import com.hbm.blocks.ITooltipProvider; import com.hbm.lib.RefStrings; import api.hbm.energy.IEnergyConnectorBlock; @@ -10,13 +13,14 @@ 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.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.IIcon; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class MachineCapacitorBus extends Block implements IEnergyConnectorBlock { +public class MachineCapacitorBus extends Block implements IEnergyConnectorBlock, ITooltipProvider { @SideOnly(Side.CLIENT) private IIcon topIcon; @@ -47,4 +51,9 @@ public class MachineCapacitorBus extends Block implements IEnergyConnectorBlock ForgeDirection busDir = ForgeDirection.getOrientation(meta); return dir == busDir; } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + this.addStandardInfo(stack, player, list, ext); + } } diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java index 49394f6a8..bc3401b04 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java @@ -100,7 +100,7 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { moveAngle -= angleOvershoot; double lengthOvershoot = angleOvershoot * length90Deg / 90D; info.dist(lengthOvershoot * Math.signum(speed * angularChange)).pos(new BlockPos(cX - dir.offsetX * 4 + rot.offsetX * 5, y, cZ - dir.offsetZ * 4 + rot.offsetZ * 5)).yaw((float) moveAngle); - return Vec3.createVectorHelper(axisX - dir.offsetX * turnRadius, y, axisZ - dir.offsetZ * turnRadius); + return Vec3.createVectorHelper(axisX - dir.offsetX * turnRadius, y + 0.1875, axisZ - dir.offsetZ * turnRadius); } if(effAngle < 0) { @@ -108,13 +108,13 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { moveAngle -= angleOvershoot; double lengthOvershoot = angleOvershoot * length90Deg / 90D; info.dist(-lengthOvershoot * Math.signum(speed * angularChange)).pos(new BlockPos(cX + dir.offsetX , y, cZ + dir.offsetZ)).yaw((float) moveAngle); - return Vec3.createVectorHelper(axisX - rot.offsetX * turnRadius, y, axisZ -rot.offsetZ * turnRadius); + return Vec3.createVectorHelper(axisX - rot.offsetX * turnRadius, y + 0.1875, axisZ -rot.offsetZ * turnRadius); } double radianChange = angularChange * Math.PI / 180D; dist.rotateAroundY((float) radianChange); - return Vec3.createVectorHelper(axisX + dist.xCoord, y, axisZ + dist.zCoord); + return Vec3.createVectorHelper(axisX + dist.xCoord, y + 0.1875, axisZ + dist.zCoord); } @Override diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardRamp.java b/src/main/java/com/hbm/blocks/rail/RailStandardRamp.java index d8cd3fdff..d6911418c 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardRamp.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardRamp.java @@ -19,6 +19,11 @@ public class RailStandardRamp extends BlockDummyable implements IRailNTM { public RailStandardRamp() { super(Material.iron); + this.bounding.add(AxisAlignedBB.getBoundingBox(-2.5, 0.0, -1.5, -1.5, 0.1, 0.5)); + this.bounding.add(AxisAlignedBB.getBoundingBox(-1.5, 0.0, -1.5, -0.5, 0.3, 0.5)); + this.bounding.add(AxisAlignedBB.getBoundingBox(-0.5, 0.0, -1.5, 0.5, 0.5, 0.5)); + this.bounding.add(AxisAlignedBB.getBoundingBox(0.5, 0.0, -1.5, 1.5, 0.7, 0.5)); + this.bounding.add(AxisAlignedBB.getBoundingBox(1.5, 0.0, -1.5, 2.5, 0.9, 0.5)); } @Override @@ -92,7 +97,7 @@ public class RailStandardRamp extends BlockDummyable implements IRailNTM { } double dist = (cX + 0.5 - targetX + 2.5) / 5; vec.xCoord = MathHelper.clamp_double(targetX, cX - 2, cX + 3); - vec.yCoord = MathHelper.clamp_double(dir == Library.POS_X ? cY + dist : cY + 1 - dist, cY, cY + 1); + vec.yCoord = MathHelper.clamp_double(dir == Library.POS_X ? cY + dist : cY + 1 - dist, cY, cY + 1) + 0.1875; vec.zCoord = cZ + 0.5 + rot.offsetZ * 0.5; info.dist(Math.abs(targetX - vec.xCoord) * Math.signum(speed)); info.pos(new BlockPos(cX + (motionX * speed > 0 ? 3 : -3), cY + (motionX * speed > 0 ^ dir == Library.POS_X ? 1 : 0), cZ)); @@ -107,7 +112,7 @@ public class RailStandardRamp extends BlockDummyable implements IRailNTM { } double dist = (cZ + 0.5 - targetZ + 2.5) / 5; vec.xCoord = cX + 0.5 + rot.offsetX * 0.5; - vec.yCoord = MathHelper.clamp_double(dir == Library.POS_Z ? cY + dist : cY + 1 - dist, cY, cY + 1); + vec.yCoord = MathHelper.clamp_double(dir == Library.POS_Z ? cY + dist : cY + 1 - dist, cY, cY + 1) + 0.1875; vec.zCoord = MathHelper.clamp_double(targetZ, cZ - 2,cZ + 3); info.dist(Math.abs(targetZ - vec.zCoord) * Math.signum(speed)); info.pos(new BlockPos(cX, cY + (motionZ * speed > 0 ^ dir == Library.POS_Z ? 1 : 0), cZ + (motionZ * speed > 0 ? 3 : -3))); diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java index 72c4be7b5..b68aedd68 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardStraight.java @@ -90,7 +90,7 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { info.yaw(90F); } vec.xCoord = MathHelper.clamp_double(targetX, cX - 2, cX + 3); - vec.yCoord = y; + vec.yCoord = y + 0.1875; vec.zCoord = cZ + 0.5 + rot.offsetZ * 0.5; info.dist(Math.abs(targetX - vec.xCoord) * Math.signum(speed)); info.pos(new BlockPos(cX + (motionX * speed > 0 ? 3 : -3), y, cZ)); @@ -104,7 +104,7 @@ public class RailStandardStraight extends BlockDummyable implements IRailNTM { info.yaw(180F); } vec.xCoord = cX + 0.5 + rot.offsetX * 0.5; - vec.yCoord = y; + vec.yCoord = y + 0.1875; vec.zCoord = MathHelper.clamp_double(targetZ, cZ - 2,cZ + 3); info.dist(Math.abs(targetZ - vec.zCoord) * Math.signum(speed)); info.pos(new BlockPos(cX, y, cZ + (motionZ * speed > 0 ? 3 : -3))); diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index 7b39c014b..2f0a97813 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -47,6 +47,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { private double trainYaw; private double trainPitch; private float movementYaw; + private float movementPitch; @SideOnly(Side.CLIENT) private double velocityX; @SideOnly(Side.CLIENT) private double velocityY; @SideOnly(Side.CLIENT) private double velocityZ; @@ -179,6 +180,9 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } } else { + + PacketDispatcher.wrapper.sendToAllAround(new PlayerInformPacket(ChatBuilder.start("" + this.rotationPitch).color(EnumChatFormatting.RED).flush(), 1), + new TargetPoint(dimension, posX, posY + 1, posZ, 50)); if(this.coupledFront != null && this.coupledFront.isDead) { this.coupledFront = null; @@ -393,11 +397,13 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { this.motionY = this.velocityY; this.motionZ = this.velocityZ; this.trainYaw = this.movementYaw; + this.trainPitch = this.movementPitch; } @SideOnly(Side.CLIENT) public void setVelocity(double mX, double mY, double mZ) { this.movementYaw = (float) this.motionX * 360F; + this.movementPitch = (float) this.motionY * 360F; this.velocityX = this.motionX = mX; this.velocityY = this.motionY = mY; this.velocityZ = this.motionZ = mZ; @@ -614,7 +620,8 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { Vec3 nextLoc = moving.getCouplingPos(nextCouple); Vec3 delta = Vec3.createVectorHelper(prevLoc.xCoord - nextLoc.xCoord, 0, prevLoc.zCoord - nextLoc.zCoord); double len = delta.lengthVector(); - len *= 0.75; //suspension, causes movements to be less rigid + //len *= 0.25; //suspension, causes movements to be less rigid + len = (len / (0.5D / (len * len) + 1D)); //smart suspension BlockPos anchor = new BlockPos(moving.posX, moving.posY, moving.posZ); Vec3 trainPos = Vec3.createVectorHelper(moving.posX, moving.posY, moving.posZ); float yaw = EntityRailCarBase.generateYaw(prevLoc, nextLoc); @@ -740,15 +747,13 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { EntityRailCarBase first = this.trains[0]; - for(int i = forward ? 0 : this.trains.length - 1; forward ? i < this.trains.length : i >= 0; i += forward ? 1 : -1) { + for(int i = !forward ? 0 : this.trains.length - 1; !forward ? i < this.trains.length : i >= 0; i += !forward ? 1 : -1) { EntityRailCarBase current = this.trains[i]; if(previous == null) { - PacketDispatcher.wrapper.sendToAllAround(new PlayerInformPacket(ChatBuilder.start("" + current.getClass() + " " + origSpeed).color(EnumChatFormatting.RED).flush(), 1), - new TargetPoint(current.dimension, current.posX, current.posY + 1, current.posZ, 50)); boolean inReverse = first.getCouplingFrom(null) == current.getCouplingFrom(null); - int sigNum = inReverse ? -1 : 1; + int sigNum = inReverse ? 1 : -1; BlockPos anchor = current.getCurrentAnchorPos(); Vec3 corePos = current.getRelPosAlongRail(anchor, speed * sigNum, new MoveContext(RailCheckType.CORE)); @@ -786,7 +791,10 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { current.renderZ = (frontPos.zCoord + backPos.zCoord) / 2D; current.prevRotationYaw = current.rotationYaw; current.rotationYaw = current.movementYaw = generateYaw(frontPos, backPos); + Vec3 delta = Vec3.createVectorHelper(frontPos.xCoord - backPos.xCoord, frontPos.yCoord - backPos.yCoord, frontPos.zCoord - backPos.zCoord); + current.rotationPitch = current.movementPitch = (float) (Math.asin(delta.yCoord / delta.lengthVector()) * 180D / Math.PI); current.motionX = current.rotationYaw / 360D; // hijacking this crap for easy syncing + current.motionY = current.rotationPitch / 360D; current.velocityChanged = true; } } diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java index b7ae2784a..da9a66f4e 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarRidable.java @@ -173,6 +173,7 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { seat.setDead(); } else { Vec3 rot = seats[i]; + rot.rotateAroundX((float) (this.rotationPitch * Math.PI / 180)); rot.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); double x = renderX + rot.xCoord; double y = renderY + rot.yCoord; @@ -188,6 +189,7 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { public void updateRiderPosition() { Vec3 offset = getRiderSeatPosition(); + offset.rotateAroundX((float) (this.rotationPitch * Math.PI / 180)); offset.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); if(this.riddenByEntity != null) { @@ -271,6 +273,7 @@ public abstract class EntityRailCarRidable extends EntityRailCarCargo { //mmhmhmhm silky smooth int index = this.dataWatcher.getWatchableObjectInt(4); Vec3 rot = this.train.getPassengerSeats()[index]; + rot.rotateAroundX((float) (train.rotationPitch * Math.PI / 180)); rot.rotateAroundY((float) (-train.rotationYaw * Math.PI / 180)); double x = train.renderX + rot.xCoord; double y = train.renderY + rot.yCoord; diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 0e1c20035..29b6606ed 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -281,6 +281,11 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.red_connector, 4), new Object[] { "C", "I", "S", 'C', ModItems.coil_copper, 'I', ModItems.plate_polymer, 'S', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.red_pylon, 4), new Object[] { "CWC", "PWP", " T ", 'C', ModItems.coil_copper, 'W', KEY_PLANKS, 'P', ModItems.plate_polymer, 'T', ModBlocks.red_wire_coated }); addRecipeAuto(new ItemStack(ModBlocks.machine_battery_potato, 1), new Object[] { "PCP", "WRW", "PCP", 'P', ItemBattery.getEmptyBattery(ModItems.battery_potato), 'C', CU.ingot(), 'R', REDSTONE.block(), 'W', KEY_PLANKS }); + addRecipeAuto(new ItemStack(ModBlocks.capacitor_bus, 1), new Object[] { "PIP", "PIP", "PIP", 'P', ModItems.plate_polymer, 'I', MINGRADE.ingot() }); + addRecipeAuto(new ItemStack(ModBlocks.capacitor_copper, 1), new Object[] { "PPP", "PCP", "WWW", 'P', STEEL.plate(), 'C', CU.block(), 'W', KEY_PLANKS }); + addRecipeAuto(new ItemStack(ModBlocks.capacitor_gold, 1), new Object[] { "PPP", "ICI", "WWW", 'P', STEEL.plate(), 'I', ANY_PLASTIC.ingot(), 'C', GOLD.block(), 'W', STEEL.ingot() }); + addRecipeAuto(new ItemStack(ModBlocks.capacitor_niobium, 1), new Object[] { "PPP", "ICI", "WWW", 'P', STEEL.plate(), 'I', RUBBER.ingot(), 'C', NB.block(), 'W', STEEL.ingot() }); + addRecipeAuto(new ItemStack(ModBlocks.capacitor_tantalium, 1), new Object[] { "PPP", "ICI", "WWW", 'P', STEEL.plate(), 'I', ANY_RESISTANTALLOY.ingot(), 'C', TA.block(), 'W', STEEL.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.machine_coal_off, 1), new Object[] { "STS", "SCS", "SFS", 'S', STEEL.ingot(), 'T', ModItems.tank_steel, 'C', MINGRADE.ingot(), 'F', Blocks.furnace }); addRecipeAuto(new ItemStack(ModBlocks.machine_boiler_off, 1), new Object[] { "SPS", "TFT", "SPS", 'S', STEEL.ingot(), 'P', ModItems.board_copper, 'T', ModItems.tank_steel, 'F', Blocks.furnace }); addRecipeAuto(new ItemStack(ModBlocks.machine_boiler_electric_off, 1), new Object[] { "SPS", "TFT", "SPS", 'S', DESH.ingot(), 'P', ModItems.board_copper, 'T', ModItems.tank_steel, 'F', ModBlocks.machine_electric_furnace_off }); diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 31ef5a08e..3a7624b0b 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -13,10 +13,6 @@ import org.lwjgl.opengl.GL11; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockAshes; -import com.hbm.blocks.rail.IRailNTM; -import com.hbm.blocks.rail.IRailNTM.MoveContext; -import com.hbm.blocks.rail.IRailNTM.RailCheckType; -import com.hbm.blocks.rail.IRailNTM.RailContext; import com.hbm.config.GeneralConfig; import com.hbm.entity.effect.EntityNukeTorex; import com.hbm.entity.mob.EntityHunterChopper; @@ -70,7 +66,6 @@ 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.fauxpointtwelve.BlockPos; import com.hbm.wiaj.GuiWorldInAJar; import com.hbm.wiaj.cannery.CanneryBase; import com.hbm.wiaj.cannery.Jars; @@ -953,22 +948,26 @@ public class ModEventHandlerClient { if(event.phase == Phase.START && GeneralConfig.enableSkyboxes) { World world = Minecraft.getMinecraft().theWorld; + if(world == null) return; - if(world != null && world.provider instanceof WorldProviderSurface) { - - IRenderHandler sky = world.provider.getSkyRenderer(); + 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 if(!(sky instanceof RenderNTMSkyboxImpact)) { world.provider.setSkyRenderer(new RenderNTMSkyboxImpact()); + return; } - } else { - - if(!(sky instanceof RenderNTMSkyboxChainloader)) { - world.provider.setSkyRenderer(new RenderNTMSkyboxChainloader(sky)); - } + } + } + + if(world.provider.dimensionId == 0) { + + if(!(sky instanceof RenderNTMSkyboxChainloader)) { + world.provider.setSkyRenderer(new RenderNTMSkyboxChainloader(sky)); } } } diff --git a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java index 7f50e2bef..93cb9cf29 100644 --- a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java +++ b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTram.java @@ -37,7 +37,11 @@ public class RenderTrainCargoTram extends Render { float yawInterp = prevYaw + (yaw - prevYaw) * interp - 720; GL11.glRotated(-yawInterp, 0, 1, 0); - GL11.glRotated(-entity.rotationPitch, 0, 0, 1); + + 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); bindTexture(ResourceManager.train_tram); diff --git a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTramTrailer.java b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTramTrailer.java index 58d150ea8..867a396ba 100644 --- a/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTramTrailer.java +++ b/src/main/java/com/hbm/render/entity/item/RenderTrainCargoTramTrailer.java @@ -3,6 +3,7 @@ package com.hbm.render.entity.item; import org.lwjgl.opengl.GL11; import com.hbm.blocks.ModBlocks; +import com.hbm.entity.train.EntityRailCarBase; import com.hbm.main.ResourceManager; import net.minecraft.client.renderer.entity.Render; @@ -18,6 +19,18 @@ public class RenderTrainCargoTramTrailer 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, z); float yaw = entity.rotationYaw; @@ -29,7 +42,11 @@ public class RenderTrainCargoTramTrailer extends Render { float yawInterp = prevYaw + (yaw - prevYaw) * interp - 720; GL11.glRotated(-yawInterp, 0, 1, 0); - GL11.glRotated(-entity.rotationPitch, 0, 0, 1); + + 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); bindTexture(ResourceManager.tram_trailer); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index 4610b5216..613032cb6 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -326,9 +326,9 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements * Otherwise this could lead to desync since the motion is never sent form the server */ if(tank.getFill() > 0 && !MainRegistry.proxy.me().capabilities.isCreativeMode) { - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - 10).getRotation(ForgeDirection.UP); ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - + 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; 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 73a1ce5f8..9757ab534 100644 --- a/src/main/java/com/hbm/world/gen/component/Component.java +++ b/src/main/java/com/hbm/world/gen/component/Component.java @@ -16,7 +16,6 @@ import net.minecraft.block.BlockWeb; import net.minecraft.block.material.Material; import net.minecraft.init.Blocks; import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemDoor; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 6d02868f9..a717921bf 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -3586,6 +3586,12 @@ tile.c4.name=C4 tile.cable_detector.name=Redstone-Stromschalter tile.cable_diode.name=Rote Kupferdiode tile.cable_switch.name=Stromschalter +tile.capacitor_bus.name=Kondensator-Bus +tile.capacitor_bus.desc=Output für Kondensatoren$Kann in einer geraden Linie aneinandergereit werden +tile.capacitor_copper.name=Kupferkondensator +tile.capacitor_gold.name=Goldkondensator +tile.capacitor_niobium.name=Niobkondensator +tile.capacitor.desc=Input: Oben$Output: Unten, über Kondensator-Bus tile.charge_c4.name=Abrissladung tile.charge_dynamite.name=Zeitbombe tile.charge_miner.name=Bergbauladung mit Zeitzünder diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index a0519159d..f8ad73e4a 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4404,6 +4404,12 @@ tile.c4.name=C-4 tile.cable_detector.name=Redstone Power Switch tile.cable_diode.name=Red Copper Diode tile.cable_switch.name=Power Switch +tile.capacitor_bus.name=Capacitor Bus +tile.capacitor_bus.desc=Output block for capacitors$Can be chained up in a straight line +tile.capacitor_copper.name=Copper Capacitor +tile.capacitor_gold.name=Golden Capacitor +tile.capacitor_niobium.name=Niobium Capacitor +tile.capacitor.desc=Input: Top$Output: Bottom, via Capacitor Bus tile.charge_c4.name=Demolition Charge tile.charge_dynamite.name=Time Bomb tile.charge_miner.name=Timed Mining Charge diff --git a/src/main/resources/assets/hbm/models/blocks/rail_standard_ramp.obj b/src/main/resources/assets/hbm/models/blocks/rail_standard_ramp.obj index 2dec4fc8c..f1667d19b 100644 --- a/src/main/resources/assets/hbm/models/blocks/rail_standard_ramp.obj +++ b/src/main/resources/assets/hbm/models/blocks/rail_standard_ramp.obj @@ -13,10 +13,10 @@ v -1.000000 0.700000 -0.812500 v 1.000000 0.700000 -0.812500 v -1.000000 0.700000 -1.187500 v 1.000000 0.700000 -1.187500 -v -1.000000 0.800000 -1.812500 -v 1.000000 0.800000 -1.812500 -v -1.000000 0.800000 -2.187500 -v 1.000000 0.800000 -2.187500 +v -1.000000 0.900000 -1.812500 +v 1.000000 0.900000 -1.812500 +v -1.000000 0.900000 -2.187500 +v 1.000000 0.900000 -2.187500 v -1.000000 0.100000 2.187500 v 1.000000 0.100000 2.187500 v -1.000000 0.100000 1.812500 @@ -29,10 +29,10 @@ v -1.000000 0.762500 -1.187500 v -1.000000 0.762500 -0.812500 v 1.000000 0.762500 -0.812500 v 1.000000 0.762500 -1.187500 -v -1.000000 0.862500 -2.187500 -v -1.000000 0.862500 -1.812500 -v 1.000000 0.862500 -1.812500 -v 1.000000 0.862500 -2.187500 +v -1.000000 0.962500 -2.187500 +v -1.000000 0.962500 -1.812500 +v 1.000000 0.962500 -1.812500 +v 1.000000 0.962500 -2.187500 v -1.000000 0.162500 1.812500 v -1.000000 0.162500 2.187500 v 1.000000 0.162500 2.187500 @@ -121,22 +121,22 @@ v -0.937500 0.825000 -0.937500 v -0.625000 0.825000 -0.937500 v -0.937500 0.825000 -1.062500 v -0.625000 0.825000 -1.062500 -v 0.625000 0.862500 -1.937500 -v 0.937500 0.862500 -1.937500 -v 0.625000 0.862500 -2.062500 -v 0.937500 0.862500 -2.062500 -v 0.625000 0.925000 -1.937500 -v 0.937500 0.925000 -1.937500 -v 0.625000 0.925000 -2.062500 -v 0.937500 0.925000 -2.062500 -v -0.937500 0.862500 -1.937500 -v -0.625000 0.862500 -1.937500 -v -0.937500 0.862500 -2.062500 -v -0.625000 0.862500 -2.062500 -v -0.937500 0.925000 -1.937500 -v -0.625000 0.925000 -1.937500 -v -0.937500 0.925000 -2.062500 -v -0.625000 0.925000 -2.062500 +v 0.625000 0.962500 -1.937500 +v 0.937500 0.962500 -1.937500 +v 0.625000 0.962500 -2.062500 +v 0.937500 0.962500 -2.062500 +v 0.625000 1.025000 -1.937500 +v 0.937500 1.025000 -1.937500 +v 0.625000 1.025000 -2.062500 +v 0.937500 1.025000 -2.062500 +v -0.937500 0.962500 -1.937500 +v -0.625000 0.962500 -1.937500 +v -0.937500 0.962500 -2.062500 +v -0.625000 0.962500 -2.062500 +v -0.937500 1.025000 -1.937500 +v -0.625000 1.025000 -1.937500 +v -0.937500 1.025000 -2.062500 +v -0.625000 1.025000 -2.062500 v -0.812500 0.862500 -1.500000 v -0.812500 0.662500 -0.500000 v -0.812500 0.462500 0.500000 @@ -169,6 +169,86 @@ v -0.750000 0.987500 -1.500000 v -0.750000 0.787500 -0.500000 v -0.750000 0.587500 0.500000 v -0.750000 0.387500 1.500000 +v 0.625000 0.900000 -1.875000 +v 0.875000 0.900000 -1.875000 +v 0.625000 0.900000 -2.125000 +v 0.875000 0.900000 -2.125000 +v 0.625000 -0.037500 -2.125000 +v 0.625000 -0.037500 -1.875000 +v 0.875000 -0.037500 -1.875000 +v 0.875000 -0.037500 -2.125000 +v -0.875000 0.900000 -1.875000 +v -0.625000 0.900000 -1.875000 +v -0.875000 0.900000 -2.125000 +v -0.625000 0.900000 -2.125000 +v -0.875000 -0.037500 -2.125000 +v -0.875000 -0.037500 -1.875000 +v -0.625000 -0.037500 -1.875000 +v -0.625000 -0.037500 -2.125000 +v 0.625000 0.700000 -0.875000 +v 0.875000 0.700000 -0.875000 +v 0.625000 0.700000 -1.125000 +v 0.875000 0.700000 -1.125000 +v 0.625000 -0.050000 -1.125000 +v 0.625000 -0.050000 -0.875000 +v 0.875000 -0.050000 -0.875000 +v 0.875000 -0.050000 -1.125000 +v -0.875000 0.700000 -0.875000 +v -0.625000 0.700000 -0.875000 +v -0.875000 0.700000 -1.125000 +v -0.625000 0.700000 -1.125000 +v -0.875000 -0.050000 -1.125000 +v -0.875000 -0.050000 -0.875000 +v -0.625000 -0.050000 -0.875000 +v -0.625000 -0.050000 -1.125000 +v 0.625000 0.500000 0.125000 +v 0.875000 0.500000 0.125000 +v 0.625000 0.500000 -0.125000 +v 0.875000 0.500000 -0.125000 +v 0.625000 0.000000 -0.125000 +v 0.625000 0.000000 0.125000 +v 0.875000 0.000000 0.125000 +v 0.875000 0.000000 -0.125000 +v -0.875000 0.500000 0.125000 +v -0.625000 0.500000 0.125000 +v -0.875000 0.500000 -0.125000 +v -0.625000 0.500000 -0.125000 +v -0.875000 0.000000 -0.125000 +v -0.875000 0.000000 0.125000 +v -0.625000 0.000000 0.125000 +v -0.625000 0.000000 -0.125000 +v 0.625000 0.300000 1.125000 +v 0.875000 0.300000 1.125000 +v 0.625000 0.300000 0.875000 +v 0.875000 0.300000 0.875000 +v 0.625000 -0.012500 0.875000 +v 0.625000 -0.012500 1.125000 +v 0.875000 -0.012500 1.125000 +v 0.875000 -0.012500 0.875000 +v -0.875000 0.300000 1.125000 +v -0.625000 0.300000 1.125000 +v -0.875000 0.300000 0.875000 +v -0.625000 0.300000 0.875000 +v -0.875000 -0.012500 0.875000 +v -0.875000 -0.012500 1.125000 +v -0.625000 -0.012500 1.125000 +v -0.625000 -0.012500 0.875000 +v 0.625000 0.100000 2.125000 +v 0.875000 0.100000 2.125000 +v 0.625000 0.100000 1.875000 +v 0.875000 0.100000 1.875000 +v 0.625000 -0.025000 1.875000 +v 0.625000 -0.025000 2.125000 +v 0.875000 -0.025000 2.125000 +v 0.875000 -0.025000 1.875000 +v -0.875000 0.100000 2.125000 +v -0.625000 0.100000 2.125000 +v -0.875000 0.100000 1.875000 +v -0.625000 0.100000 1.875000 +v -0.875000 -0.025000 1.875000 +v -0.875000 -0.025000 2.125000 +v -0.625000 -0.025000 2.125000 +v -0.625000 -0.025000 1.875000 vt -0.000000 0.000000 vt 0.187500 1.000000 vt -0.000000 1.000000 @@ -471,6 +551,156 @@ vt 0.593750 0.156250 vt 0.593750 0.656250 vt 0.593750 0.156250 vt 0.593750 0.656250 +vt 0.031250 0.968750 +vt 0.156250 0.843750 +vt 0.031250 0.843750 +vt 0.031250 0.968750 +vt 0.156250 0.843750 +vt 0.031250 0.843750 +vt 0.156250 0.468750 +vt 0.031250 0.968750 +vt 0.156250 0.968750 +vt 0.156250 0.468750 +vt 0.031250 0.968750 +vt 0.156250 0.968750 +vt 0.156250 0.468750 +vt 0.031250 0.968750 +vt 0.156250 0.968750 +vt 0.156250 0.468750 +vt 0.031250 0.968750 +vt 0.156250 0.968750 +vt 0.156250 0.468750 +vt 0.031250 0.968750 +vt 0.156250 0.968750 +vt 0.156250 0.468750 +vt 0.031250 0.968750 +vt 0.156250 0.968750 +vt 0.156250 0.468750 +vt 0.031250 0.968750 +vt 0.156250 0.968750 +vt 0.156250 0.468750 +vt 0.031250 0.968750 +vt 0.156250 0.968750 +vt 0.031250 0.968750 +vt 0.156250 0.843750 +vt 0.031250 0.843750 +vt 0.031250 0.968750 +vt 0.156250 0.843750 +vt 0.031250 0.843750 +vt 0.156250 0.468750 +vt 0.031250 0.843750 +vt 0.156250 0.843750 +vt 0.156250 0.468750 +vt 0.031250 0.843750 +vt 0.156250 0.843750 +vt 0.156250 0.468750 +vt 0.031250 0.843750 +vt 0.156250 0.843750 +vt 0.156250 0.468750 +vt 0.031250 0.843750 +vt 0.156250 0.843750 +vt 0.156250 0.468750 +vt 0.031250 0.843750 +vt 0.156250 0.843750 +vt 0.156250 0.468750 +vt 0.031250 0.843750 +vt 0.156250 0.843750 +vt 0.156250 0.468750 +vt 0.031250 0.843750 +vt 0.156250 0.843750 +vt 0.156250 0.468750 +vt 0.031250 0.843750 +vt 0.156250 0.843750 +vt 0.031250 0.968750 +vt 0.156250 0.843750 +vt 0.031250 0.843750 +vt 0.031250 0.968750 +vt 0.156250 0.843750 +vt 0.031250 0.843750 +vt 0.156250 0.468750 +vt 0.031250 0.718750 +vt 0.156250 0.718750 +vt 0.156250 0.468750 +vt 0.031250 0.718750 +vt 0.156250 0.718750 +vt 0.156250 0.468750 +vt 0.031250 0.718750 +vt 0.156250 0.718750 +vt 0.156250 0.468750 +vt 0.031250 0.718750 +vt 0.156250 0.718750 +vt 0.156250 0.468750 +vt 0.031250 0.718750 +vt 0.156250 0.718750 +vt 0.156250 0.468750 +vt 0.031250 0.718750 +vt 0.156250 0.718750 +vt 0.156250 0.468750 +vt 0.031250 0.718750 +vt 0.156250 0.718750 +vt 0.156250 0.468750 +vt 0.031250 0.718750 +vt 0.156250 0.718750 +vt 0.031250 0.968750 +vt 0.156250 0.843750 +vt 0.031250 0.843750 +vt 0.031250 0.968750 +vt 0.156250 0.843750 +vt 0.031250 0.843750 +vt 0.156250 0.468750 +vt 0.031250 0.625000 +vt 0.156250 0.625000 +vt 0.156250 0.468750 +vt 0.031250 0.625000 +vt 0.156250 0.625000 +vt 0.156250 0.468750 +vt 0.031250 0.625000 +vt 0.156250 0.625000 +vt 0.156250 0.468750 +vt 0.031250 0.625000 +vt 0.156250 0.625000 +vt 0.156250 0.468750 +vt 0.031250 0.625000 +vt 0.156250 0.625000 +vt 0.156250 0.468750 +vt 0.031250 0.625000 +vt 0.156250 0.625000 +vt 0.156250 0.468750 +vt 0.031250 0.625000 +vt 0.156250 0.625000 +vt 0.156250 0.468750 +vt 0.031250 0.625000 +vt 0.156250 0.625000 +vt 0.031250 0.968750 +vt 0.156250 0.843750 +vt 0.031250 0.843750 +vt 0.031250 0.968750 +vt 0.156250 0.843750 +vt 0.031250 0.843750 +vt 0.156250 0.468750 +vt 0.031250 0.531250 +vt 0.156250 0.531250 +vt 0.156250 0.468750 +vt 0.031250 0.531250 +vt 0.156250 0.531250 +vt 0.156250 0.468750 +vt 0.031250 0.531250 +vt 0.156250 0.531250 +vt 0.156250 0.468750 +vt 0.031250 0.531250 +vt 0.156250 0.531250 +vt 0.156250 0.468750 +vt 0.031250 0.531250 +vt 0.156250 0.531250 +vt 0.156250 0.468750 +vt 0.031250 0.531250 +vt 0.156250 0.531250 +vt 0.156250 0.468750 +vt 0.031250 0.531250 +vt 0.156250 0.531250 +vt 0.156250 0.468750 +vt 0.031250 0.531250 +vt 0.156250 0.531250 vt 0.406250 -0.000000 vt 0.187500 1.000000 vt 0.187500 1.000000 @@ -500,6 +730,56 @@ vt 0.593750 0.656250 vt 0.593750 0.656250 vt 0.593750 0.656250 vt 0.593750 0.656250 +vt 0.156250 0.968750 +vt 0.156250 0.968750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.156250 0.968750 +vt 0.156250 0.968750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.156250 0.968750 +vt 0.156250 0.968750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.156250 0.968750 +vt 0.156250 0.968750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.156250 0.968750 +vt 0.156250 0.968750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 +vt 0.031250 0.468750 vn 0.0000 1.0000 0.0000 vn 0.0000 -1.0000 0.0000 vn -1.0000 0.0000 0.0000 @@ -633,6 +913,56 @@ f 44/267/5 152/95/5 144/265/5 f 144/270/5 151/286/5 143/268/5 f 143/273/5 150/283/5 142/271/5 f 142/276/5 149/280/5 141/274/5 +f 181/303/2 183/304/2 182/305/2 +f 173/306/2 175/307/2 174/308/2 +f 176/309/6 171/310/6 172/311/6 +f 174/312/4 170/313/4 169/314/4 +f 175/315/5 172/316/5 170/317/5 +f 173/318/3 169/319/3 171/320/3 +f 184/321/6 179/322/6 180/323/6 +f 182/324/4 178/325/4 177/326/4 +f 183/327/5 180/328/5 178/329/5 +f 181/330/3 177/331/3 179/332/3 +f 197/333/2 199/334/2 198/335/2 +f 189/336/2 191/337/2 190/338/2 +f 192/339/6 187/340/6 188/341/6 +f 190/342/4 186/343/4 185/344/4 +f 191/345/5 188/346/5 186/347/5 +f 189/348/3 185/349/3 187/350/3 +f 200/351/6 195/352/6 196/353/6 +f 198/354/4 194/355/4 193/356/4 +f 199/357/5 196/358/5 194/359/5 +f 197/360/3 193/361/3 195/362/3 +f 213/363/2 215/364/2 214/365/2 +f 205/366/2 207/367/2 206/368/2 +f 208/369/6 203/370/6 204/371/6 +f 206/372/4 202/373/4 201/374/4 +f 207/375/5 204/376/5 202/377/5 +f 205/378/3 201/379/3 203/380/3 +f 216/381/6 211/382/6 212/383/6 +f 214/384/4 210/385/4 209/386/4 +f 215/387/5 212/388/5 210/389/5 +f 213/390/3 209/391/3 211/392/3 +f 229/393/2 231/394/2 230/395/2 +f 221/396/2 223/397/2 222/398/2 +f 224/399/6 219/400/6 220/401/6 +f 222/402/4 218/403/4 217/404/4 +f 223/405/5 220/406/5 218/407/5 +f 221/408/3 217/409/3 219/410/3 +f 232/411/6 227/412/6 228/413/6 +f 230/414/4 226/415/4 225/416/4 +f 231/417/5 228/418/5 226/419/5 +f 229/420/3 225/421/3 227/422/3 +f 245/423/2 247/424/2 246/425/2 +f 237/426/2 239/427/2 238/428/2 +f 240/429/6 235/430/6 236/431/6 +f 238/432/4 234/433/4 233/434/4 +f 239/435/5 236/436/5 234/437/5 +f 237/438/3 233/439/3 235/440/3 +f 248/441/6 243/442/6 244/443/6 +f 246/444/4 242/445/4 241/446/4 +f 247/447/5 244/448/5 242/449/5 +f 245/450/3 241/451/3 243/452/3 f 2/1/1 1/70/1 4/2/1 f 7/4/2 8/71/2 6/5/2 f 11/7/2 12/45/2 10/8/2 @@ -643,38 +973,38 @@ f 27/19/1 28/44/1 25/20/1 f 31/22/1 32/74/1 29/23/1 f 35/25/1 36/49/1 33/26/1 f 39/28/1 40/79/1 37/29/1 -f 17/31/3 34/303/3 33/32/3 -f 10/34/4 27/304/4 26/35/4 -f 18/37/4 35/305/4 34/38/4 -f 12/40/5 28/306/5 27/41/5 -f 20/42/5 36/307/5 35/43/5 +f 17/31/3 34/453/3 33/32/3 +f 10/34/4 27/454/4 26/35/4 +f 18/37/4 35/455/4 34/38/4 +f 12/40/5 28/456/5 27/41/5 +f 20/42/5 36/457/5 35/43/5 f 11/7/6 25/20/6 28/44/6 -f 5/46/3 3/308/3 4/47/3 +f 5/46/3 3/458/3 4/47/3 f 19/13/6 33/26/6 36/49/6 -f 13/51/3 30/309/3 29/52/3 -f 6/54/4 2/310/4 3/55/4 -f 21/57/3 38/311/3 37/58/3 -f 14/60/4 31/312/4 30/61/4 -f 8/63/5 1/313/5 2/64/5 -f 22/65/4 39/314/4 38/66/4 -f 16/68/5 32/315/5 31/69/5 +f 13/51/3 30/459/3 29/52/3 +f 6/54/4 2/460/4 3/55/4 +f 21/57/3 38/461/3 37/58/3 +f 14/60/4 31/462/4 30/61/4 +f 8/63/5 1/463/5 2/64/5 +f 22/65/4 39/464/4 38/66/4 +f 16/68/5 32/465/5 31/69/5 f 7/4/6 4/2/6 1/70/6 -f 24/72/5 40/316/5 39/73/5 +f 24/72/5 40/466/5 39/73/5 f 15/10/6 29/23/6 32/74/6 -f 9/76/3 26/317/3 25/77/3 +f 9/76/3 26/467/3 25/77/3 f 23/16/6 37/29/6 40/79/6 f 141/81/5 149/277/5 46/82/5 f 145/84/3 47/247/3 43/85/3 -f 153/87/3 49/318/3 51/88/3 -f 46/90/4 51/319/4 49/91/4 +f 153/87/3 49/468/3 51/88/3 +f 46/90/4 51/469/4 49/91/4 f 48/93/7 52/288/7 160/94/7 -f 42/83/8 49/320/8 153/96/8 -f 44/97/6 50/321/6 52/98/6 +f 42/83/8 49/470/8 153/96/8 +f 44/97/6 50/471/6 52/98/6 f 53/100/5 55/246/5 165/101/5 f 45/103/7 56/258/7 168/104/7 f 43/106/8 53/100/8 161/102/8 -f 47/108/6 55/322/6 53/109/6 -f 41/111/4 54/323/4 56/112/4 +f 47/108/6 55/472/6 53/109/6 +f 41/111/4 54/473/4 56/112/4 f 61/114/3 63/117/3 59/115/3 f 63/117/6 64/123/6 60/118/6 f 62/120/4 61/114/4 57/121/4 @@ -737,18 +1067,18 @@ f 164/257/5 168/104/5 56/258/5 f 163/259/5 167/255/5 168/260/5 f 162/261/5 166/252/5 167/262/5 f 161/263/5 165/249/5 166/264/5 -f 144/265/8 156/324/8 50/266/8 -f 143/268/8 155/325/8 156/269/8 -f 142/271/8 154/326/8 155/272/8 -f 141/274/8 153/327/8 154/275/8 +f 144/265/8 156/474/8 50/266/8 +f 143/268/8 155/475/8 156/269/8 +f 142/271/8 154/476/8 155/272/8 +f 141/274/8 153/477/8 154/275/8 f 149/277/7 157/89/7 51/88/7 f 150/278/7 158/294/7 157/279/7 f 151/281/7 159/292/7 158/282/7 f 152/284/7 160/290/7 159/285/7 -f 50/287/3 156/328/3 160/94/3 -f 156/289/3 155/329/3 159/285/3 -f 155/291/3 154/330/3 158/282/3 -f 154/293/3 153/331/3 157/279/3 +f 50/287/3 156/478/3 160/94/3 +f 156/289/3 155/479/3 159/285/3 +f 155/291/3 154/480/3 158/282/3 +f 154/293/3 153/481/3 157/279/3 f 45/103/3 148/105/3 140/295/3 f 148/254/3 147/256/3 139/297/3 f 147/251/3 146/253/3 138/299/3 @@ -757,3 +1087,53 @@ f 44/267/5 48/93/5 152/95/5 f 144/270/5 152/284/5 151/286/5 f 143/273/5 151/281/5 150/283/5 f 142/276/5 150/278/5 149/280/5 +f 181/303/2 184/482/2 183/304/2 +f 173/306/2 176/483/2 175/307/2 +f 176/309/6 173/484/6 171/310/6 +f 174/312/4 175/485/4 170/313/4 +f 175/315/5 176/486/5 172/316/5 +f 173/318/3 174/487/3 169/319/3 +f 184/321/6 181/488/6 179/322/6 +f 182/324/4 183/489/4 178/325/4 +f 183/327/5 184/490/5 180/328/5 +f 181/330/3 182/491/3 177/331/3 +f 197/333/2 200/492/2 199/334/2 +f 189/336/2 192/493/2 191/337/2 +f 192/339/6 189/494/6 187/340/6 +f 190/342/4 191/495/4 186/343/4 +f 191/345/5 192/496/5 188/346/5 +f 189/348/3 190/497/3 185/349/3 +f 200/351/6 197/498/6 195/352/6 +f 198/354/4 199/499/4 194/355/4 +f 199/357/5 200/500/5 196/358/5 +f 197/360/3 198/501/3 193/361/3 +f 213/363/2 216/502/2 215/364/2 +f 205/366/2 208/503/2 207/367/2 +f 208/369/6 205/504/6 203/370/6 +f 206/372/4 207/505/4 202/373/4 +f 207/375/5 208/506/5 204/376/5 +f 205/378/3 206/507/3 201/379/3 +f 216/381/6 213/508/6 211/382/6 +f 214/384/4 215/509/4 210/385/4 +f 215/387/5 216/510/5 212/388/5 +f 213/390/3 214/511/3 209/391/3 +f 229/393/2 232/512/2 231/394/2 +f 221/396/2 224/513/2 223/397/2 +f 224/399/6 221/514/6 219/400/6 +f 222/402/4 223/515/4 218/403/4 +f 223/405/5 224/516/5 220/406/5 +f 221/408/3 222/517/3 217/409/3 +f 232/411/6 229/518/6 227/412/6 +f 230/414/4 231/519/4 226/415/4 +f 231/417/5 232/520/5 228/418/5 +f 229/420/3 230/521/3 225/421/3 +f 245/423/2 248/522/2 247/424/2 +f 237/426/2 240/523/2 239/427/2 +f 240/429/6 237/524/6 235/430/6 +f 238/432/4 239/525/4 234/433/4 +f 239/435/5 240/526/5 236/436/5 +f 237/438/3 238/527/3 233/439/3 +f 248/441/6 245/528/6 243/442/6 +f 246/444/4 247/529/4 242/445/4 +f 247/447/5 248/530/5 244/448/5 +f 245/450/3 246/531/3 241/451/3 diff --git a/src/main/resources/assets/hbm/textures/blocks/capacitor_niobium_bottom.png b/src/main/resources/assets/hbm/textures/blocks/capacitor_niobium_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..63aa941787e559b859ea4c70ff59b6bd6e232473 GIT binary patch literal 550 zcmV+>0@?kEP)+-5+5HQ$hxk4etuF) z0YF5^IkWFOkB^V+`%VY}?>+mzW35Fg#W;@KZZ||kD5Wq>6Cs2KGL9pq6uPeCTz%gI z&~+UzFE4z5f1|b5h)8P&FvbvLWZ!pUj3}jeetzcf$~gm|{~q>z2cVSF?sCpd)5P_9 zy#p5!YOQGJTtih#(RE#GE~OwMEX%^}cB9rxDFtH;-g`s@y{;?97y!m`B!ob%^^WR! zR!TMCWm(v^4J{(A5JF%W21Mje?^y@%-s8Q;Ifu0tolbLA>{O^v_6j2%)(zBLAa*CbDfCK>HUdrQZ~C&OAIkG!~c3g{P+{ z0BWrmV>o>>#@w0wUrN7vthMBvndcd$6t&hyJI2`LS!)3}j^kH?*1F|?xm;TF=|zmO zv8c6DYi%Zq2;!V$97kSXU+*UFI1W-uZ7M?uOw+`=uB4Rc`~DZ?>+6eoo_T+N$2mu> owN2eQh1OcG*DKcA_WGI5Km3a=t@U7-mH+?%07*qoM6N<$f`QTZ-v9sr literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/capacitor_niobium_inner_side.png b/src/main/resources/assets/hbm/textures/blocks/capacitor_niobium_inner_side.png new file mode 100644 index 0000000000000000000000000000000000000000..a91a791a5b60b36731df7403635d09d935e97dc3 GIT binary patch literal 187 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfyU$hYy6uPI|?1l{S+!1VjPP2-#@CnQ@v2ZLidVUliHH1h1{;ahLe_*#s2wU z7g`>D`Q#h7gIq@wn7_=rd*_+AipEzKh7QYgGxlQw9gZu1Ni!Jad^c7NS5llH>mb7* z;I{lrN~KEpsorpXMh1yewv#D>>n18%erAfw-g2#C z-t<*JxlaVG)MogxFP>+E&6+|T@$@&(*#GQWai-zwb>XK>HFbS=8rJUDPGQ?Hb(Odo b^BqR<4bEC^+3AyjUSsfd^>bP0l+XkK<;H74 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/capacitor_niobium_side.png b/src/main/resources/assets/hbm/textures/blocks/capacitor_niobium_side.png new file mode 100644 index 0000000000000000000000000000000000000000..121a437c42e24f1eb35c834631bc6270f3191a6d GIT binary patch literal 378 zcmV-=0fqjFP)wWKyM_6kI{!t3RIrp`&EK8hozksv}V67EnqL?-{l<`p4wTKU6W2NG{ zuEiT*3i3$|JdY3|>-Bml%kl{_CVoqhLel#u@khWnH3~>)cFyrS&LrUV!~WWioD#?W z6hv5ShZu8AoL1aUEax1`dyg@O^ZCqtKF1itX0sXkzDG()mSspOxn8dTbX^C4_nyPy zfNGkC-EPPIeg{A)Mb~wN5Lhf0gb--k7Gn${1hm!&Ay}E|(mSN7R15=X5%;-EPUUjA0laPSIIw&E;}IYyC(FFq_Tz Y0i-$8rr{cFB>(^b07*qoM6N<$f;rlr)Bpeg literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/capacitor_niobium_top.png b/src/main/resources/assets/hbm/textures/blocks/capacitor_niobium_top.png new file mode 100644 index 0000000000000000000000000000000000000000..1a02b2e461c01c0c573dd368e7784c992bab36f5 GIT binary patch literal 226 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfc6uZH`~noyy(vukWwrlznnn=nuNa<9F^XA)1HNdo8o_Yc-S@C{;| zfAj7}x#c2jn17dByR#mzQq5dtwJ43P_)(eCJ3I3g54L)y{Nh`c__m09-=B#L1x%5l W9sm6NqHKVUWbkzLb6Mw<&;$U+vQQ8J literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/capacitor_tantalium_bottom.png b/src/main/resources/assets/hbm/textures/blocks/capacitor_tantalium_bottom.png new file mode 100644 index 0000000000000000000000000000000000000000..c8b9428758d2d2e7627387747b4c690be36523d4 GIT binary patch literal 555 zcmV+`0@VG9P)X2M5QRUWz{Ksy-bGntnVZfL<^Xe=+#yO1;iTO**kESS zV-#!HASl)2{ZQ)H??2`H`y1yRZQC-ABi?)VeMf7Ja}KRF(=-9lbsYffy7K=1j?DAS z$HxabX8=TmloH#v@%Z@2wrzwE@ZPg+8`fHsQuKY#?RG;%gq$Mz(Du#)wji=jUgBu9Ol0`sZQWHUM(Y^)98v zFbrI;*AuviP)b2N=PIgFil%95bIutNVVWjxw;QDta?TiI@ZKXL=y{$o#sJXwJs|{2 zDJQDOSt(V4r)gqY7PN@eLI{Db>kyHX-lGoSy~lfxa}H}QdR^CAj4?8fW7T@>KmAyi zrADokLU&zvqO6o6=Uo5A0ph(s(LW;9A%yC_i2O(YNMuZ87{lR{G3I3Qzm)EJthJ<+7{?K%6s43(JH}Y$S!)5<_x&zGYhCldTrRcw z@FK=oS(H*JrBo9|1aZ#M_dTz#ucwLI_nmcJ>r{pi7>0p)o>|wGwr%eqpP!$MUHx3vIVCg!05t46eEHR1;=A=0jL)mZNr@Ag3ul2G@*D^HdoMt%j zdC%6g9HtV^$1G}_1qEc4TR7T%FKk(HuHnD_E7l*jefJu^NAfX6Y%|^=`G9lVduNAj TLM3y6USjZc^>bP0l+XkKlJ#j? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/capacitor_tantalium_side.png b/src/main/resources/assets/hbm/textures/blocks/capacitor_tantalium_side.png new file mode 100644 index 0000000000000000000000000000000000000000..ec7eb74da7722870fffbb67a6f898aaa2c53d222 GIT binary patch literal 327 zcmV-N0l5B&P)* z<*41XO_g0|<@uK9&9`WpX6KJG#-PICQB_q1@DUJnI-LYS(=@v==35`$h;SJaA6-EP zQ`fZ!!@91;PyYE0eoOvLe{O?+{0Hjg)o{677~U*tnlg?fNs_Q_8&XQ*I7UjzJkJ1R zSq6Y}j;`xa%d*h-J?pvxpp@cvyWzbj&vU%@SZhg=1n)gsYlILS4hOE+D=Nz}%Ch8m zJbs~U+lF)Q-o#o<=76I$zgLx3oX Zcn7$F-IaVTarXcK002ovPDHLkV1hABj7|Um literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/capacitor_tantalium_top.png b/src/main/resources/assets/hbm/textures/blocks/capacitor_tantalium_top.png new file mode 100644 index 0000000000000000000000000000000000000000..50d47236507763e224cafed0c15a4f2c3a0237da GIT binary patch literal 182 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfvQHg~oS9z8;SG;x2IE$nS@y3wirZ7&&J1c%E*$xZ^h?!=h_a zNwF_B{t{|XsPvNwxe+oYXwo_LHT%wrT@JbM{N77bQIjiod!O`+PW%2Kx-~8?a>-Ni cC)tLRWxwlnsPHdL2DysC)78&qol`;+0O&qMbpQYW literal 0 HcmV?d00001 From 792a75e32416966e7990d9314df056e711715475 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 10 Jun 2023 17:49:44 +0200 Subject: [PATCH 164/285] brick by brick, suck my di --- changelog | 4 +++- .../java/com/hbm/inventory/fluid/Fluids.java | 20 +++++++++++++++++- .../inventory/recipes/ChemplantRecipes.java | 10 +++++++++ .../hbm/inventory/recipes/CokerRecipes.java | 1 + .../inventory/recipes/CombinationRecipes.java | 2 +- .../inventory/recipes/FractionRecipes.java | 1 + .../hbm/inventory/recipes/MixerRecipes.java | 4 ++++ .../tileentity/machine/TileEntityITER.java | 2 ++ src/main/resources/assets/hbm/lang/de_DE.lang | 8 +++++++ src/main/resources/assets/hbm/lang/en_US.lang | 8 +++++++ .../textures/gui/fluids/calcium_chloride.png | Bin 0 -> 708 bytes .../gui/fluids/chlorocalcite_cleaned.png | Bin 0 -> 708 bytes .../textures/gui/fluids/chlorocalcite_mix.png | Bin 0 -> 708 bytes .../gui/fluids/chlorocalcite_solution.png | Bin 0 -> 708 bytes .../gui/fluids/potassium_chloride.png | Bin 0 -> 708 bytes .../items/chem_icon_CC_CENTRIFUGE.png | Bin 0 -> 160 bytes .../items/chem_icon_CC_ELECTROLYSIS.png | Bin 0 -> 155 bytes .../items/chem_icon_PC_ELECTROLYSIS.png | Bin 0 -> 171 bytes 18 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/calcium_chloride.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/chlorocalcite_cleaned.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/chlorocalcite_mix.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/chlorocalcite_solution.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/potassium_chloride.png create mode 100644 src/main/resources/assets/hbm/textures/items/chem_icon_CC_CENTRIFUGE.png create mode 100644 src/main/resources/assets/hbm/textures/items/chem_icon_CC_ELECTROLYSIS.png create mode 100644 src/main/resources/assets/hbm/textures/items/chem_icon_PC_ELECTROLYSIS.png diff --git a/changelog b/changelog index 99abe8ebc..697dbb496 100644 --- a/changelog +++ b/changelog @@ -19,9 +19,11 @@ * Mist now spawns cloud particles with the correct color instead of standard white * HE artillery shells and rockets now turn blocks into slag * The old static bunker structure has been removed and replaced with dynamically generated ones, using the same style of generation as vanilla strongholds. +* Changed the processing for chlorocalcite, instead of using a combination furnace it now requires a six step cleaning and electrolysis process ## Fixed * Fixed the TOXIC trait not respecting protection when applying potion effects * Fixed some armor recipes only accepting polymer and not bakelite * Fixed turbofans not sucking in players -* Fixed NTM skybox not applying to superflat worlds \ No newline at end of file +* Fixed NTM skybox not applying to superflat worlds +* Fixed breeding slot in the fusion reactor never resettingthe progress after completing an operation \ No newline at end of file diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index c62591afc..6a779d673 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -134,6 +134,12 @@ public class Fluids { public static FluidType SUNFLOWEROIL; public static FluidType NITROGLYCERIN; public static FluidType REDMUD; + public static FluidType CHLOROCALCITE_SOLUTION; + public static FluidType CHLOROCALCITE_MIX; + public static FluidType CHLOROCALCITE_CLEANED; + public static FluidType POTASSIUM_CHLORIDE; + public static FluidType CALCIUM_CHLORIDE; + public static FluidType CALCIUM_SOLUTION; private static final HashMap idMapping = new HashMap(); private static final HashMap nameMapping = new HashMap(); @@ -278,7 +284,13 @@ public class Fluids { FISHOIL = new FluidType("FISHOIL", 0x4B4A45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID); SUNFLOWEROIL = new FluidType("SUNFLOWEROIL", 0xCBAD45, 0, 1, 0, EnumSymbol.NONE).addTraits(LIQUID); NITROGLYCERIN = new FluidType("NITROGLYCERIN", 0x92ACA6, 0, 4, 0, EnumSymbol.NONE).addTraits(LIQUID); - REDMUD = new FluidType(113, "REDMUD", 0xD85638, 3, 0, 4, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, LEADCON, new FT_Corrosive(60), new FT_Flammable(1_000)); + REDMUD = new FluidType("REDMUD", 0xD85638, 3, 0, 4, EnumSymbol.NONE).addTraits(LIQUID, VISCOUS, LEADCON, new FT_Corrosive(60), new FT_Flammable(1_000)); + CHLOROCALCITE_SOLUTION = new FluidType("CHLOROCALCITE_SOLUTION", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); + CHLOROCALCITE_MIX = new FluidType("CHLOROCALCITE_MIX", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); + CHLOROCALCITE_CLEANED = new FluidType("CHLOROCALCITE_CLEANED", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); + POTASSIUM_CHLORIDE = new FluidType("POTASSIUM_CHLORIDE", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); + CALCIUM_CHLORIDE = new FluidType("CALCIUM_CHLORIDE", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); + CALCIUM_SOLUTION = new FluidType(119, "CALCIUM_SOLUTION", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); // ^ ^ ^ ^ ^ ^ ^ ^ //ADD NEW FLUIDS HERE @@ -389,6 +401,12 @@ public class Fluids { metaOrder.add(REDMUD); metaOrder.add(EGG); metaOrder.add(CHOLESTEROL); + metaOrder.add(CHLOROCALCITE_SOLUTION); + metaOrder.add(CHLOROCALCITE_MIX); + metaOrder.add(CHLOROCALCITE_CLEANED); + metaOrder.add(POTASSIUM_CHLORIDE); + metaOrder.add(CALCIUM_CHLORIDE); + metaOrder.add(CALCIUM_SOLUTION); //solutions and working fluids metaOrder.add(FRACKSOL); //the fun guys diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index f05689475..248073743 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -398,6 +398,16 @@ public class ChemplantRecipes extends SerializableRecipe { new OreDictStack(ANY_PLASTIC.ingot(), 1)) .inputFluids(new FluidStack(Fluids.MUSTARDGAS, 4000)) .outputItems(new ItemStack(ModItems.ammo_arty, 1, 11))); + recipes.add(new ChemRecipe(101, "CC_CENTRIFUGE", 200) + .inputFluids(new FluidStack(Fluids.CHLOROCALCITE_CLEANED, 500), new FluidStack(Fluids.WATER, 1_000)) + .outputFluids(new FluidStack(Fluids.POTASSIUM_CHLORIDE, 250), new FluidStack(Fluids.CALCIUM_CHLORIDE, 250))); + recipes.add(new ChemRecipe(102, "PC_ELECTROLYSIS", 200) + .inputFluids(new FluidStack(Fluids.POTASSIUM_CHLORIDE, 250)) + .outputItems(new ItemStack(ModItems.dust)) + .outputFluids(new FluidStack(Fluids.CHLORINE, 125))); + recipes.add(new ChemRecipe(103, "CC_ELECTROLYSIS", 200) + .inputFluids(new FluidStack(Fluids.CALCIUM_CHLORIDE, 250)) + .outputFluids(new FluidStack(Fluids.CHLORINE, 125), new FluidStack(Fluids.CALCIUM_SOLUTION, 125))); } public static void registerFuelProcessing() { diff --git a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java index 7dad7530d..3696d82d4 100644 --- a/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CokerRecipes.java @@ -59,6 +59,7 @@ public class CokerRecipes extends SerializableRecipe { registerRecipe(REDMUD, 1_000, new ItemStack(Items.iron_ingot, 2), 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)); } private static void registerAuto(FluidType fluid, FluidType type) { diff --git a/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java b/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java index 3442fcee4..f1d5d7658 100644 --- a/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CombinationRecipes.java @@ -44,7 +44,7 @@ public class CombinationRecipes extends SerializableRecipe { recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.briquette, EnumBriquetteType.LIGNITE)), new Pair(DictFrame.fromOne(ModItems.coke, EnumCokeType.LIGNITE), new FluidStack(Fluids.COALCREOSOTE, 100))); recipes.put(CINNABAR.crystal(), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.MERCURY, 100))); - recipes.put(CHLOROCALCITE.dust(), new Pair(new ItemStack(ModItems.powder_calcium), new FluidStack(Fluids.CHLORINE, 250))); + //recipes.put(CHLOROCALCITE.dust(), new Pair(new ItemStack(ModItems.powder_calcium), new FluidStack(Fluids.CHLORINE, 250))); recipes.put(new ComparableStack(Items.glowstone_dust), new Pair(new ItemStack(ModItems.sulfur), new FluidStack(Fluids.CHLORINE, 50))); recipes.put(new ComparableStack(DictFrame.fromOne(ModBlocks.stone_resource, EnumStoneType.BAUXITE)), new Pair(new ItemStack(ModItems.ingot_aluminium, 2), new FluidStack(Fluids.REDMUD, 250))); diff --git a/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java b/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java index 00f49aeae..b3b673a6a 100644 --- a/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/FractionRecipes.java @@ -63,6 +63,7 @@ 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))); } public static Pair getFractions(FluidType oil) { diff --git a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java index e9bcf6ffc..0a68397d6 100644 --- a/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/MixerRecipes.java @@ -76,6 +76,10 @@ 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))); } public static void register(FluidType type, MixerRecipe... rec) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java index 1e7d206f2..9802070ac 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityITER.java @@ -293,6 +293,8 @@ public class TileEntityITER extends TileEntityMachineBase implements IEnergyUser if(progress > this.duration) { + this.progress = 0; + if(slots[2] != null) { slots[2].stackSize++; } else { diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index a717921bf..90eda0803 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -178,6 +178,8 @@ chem.BALEFIRE=BF-Raketentreibstoffherstellung chem.BP_BIOFUEL=Biodieselumesterung chem.BP_BIOGAS=Biogasherstellung chem.C4=C4-Synthese +chem.CC_CENTRIFUGE=Chlorokalzitspaltung +chem.CC_ELECTROLYSIS=Kalziumchloridelektrolyse chem.CC_HEATING=Fortgeschrittene Kohleverflüssigung chem.CC_HEAVY=Einfache Kohleverflüssigung chem.CC_I=Erweiterte Kohleverflüssigung @@ -225,6 +227,7 @@ chem.NITAN=NITAN-Supertreibstoff mischen chem.NITRIC_ACID=Salpetersäureherstellung chem.OIL_SAND=Teersand-Extraktion chem.OSMIRIDIUM_DEATH=Osmiridiumlösung-Herstellung +chem.PC_ELECTROLYSIS=Kaliumchloridelektrolyse chem.PEROXIDE=Wasserstoffperoxidherstellung chem.PET=PET-Synthese chem.PETROIL_LEADED=Bleigemisch mischen @@ -605,8 +608,12 @@ hbmfluid.biogas=Biogas hbmfluid.bitumen=Bitumen hbmfluid.blood=Blut hbmfluid.blood_hot=Heißes Blut +hbmfluid.calcium_chloride=Kalziumchlorid-Lösung hbmfluid.carbondioxide=Kohlenstoffdioxid hbmfluid.chlorine=Chlorgas +hbmfluid.chlorocalcite_cleaned=Gereinigten Chlorokalzit-Lösung +hbmfluid.chlorocalcite_mix=Gemischte Chlorokalzit-Lösung +hbmfluid.chlorocalcite_solution=Chlorokalzit-Lösung hbmfluid.cholesterol=Cholesterinlösung hbmfluid.coalcreosote=Kohleteer-Kreosot hbmfluid.coalgas=Kohlebenzin @@ -678,6 +685,7 @@ hbmfluid.plasma_dt=Deuterium-Tritium-Plasma hbmfluid.plasma_hd=Wasserstoff-Deuterium-Plasma hbmfluid.plasma_ht=Wasserstoff-Tritium-Plasma hbmfluid.plasma_xm=Xenon-Quecksilber-Plasma +hbmfluid.potassium_chloride=Kaliumchlorid-Lösung hbmfluid.puf6=Plutoniumhexafluorid hbmfluid.radiosolvent=Hochleistungs-Lösungsmittel hbmfluid.reclaimed=Wiederaufbetreitetes Industrieöl diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index f8ad73e4a..bcc027726 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -465,6 +465,8 @@ chem.BALEFIRE=BF Rocket Fuel Mixing chem.BP_BIOFUEL=Biofuel Transesterification chem.BP_BIOGAS=Biogas Production chem.C4=C-4 Synthesis +chem.CC_CENTRIFUGE=Chlorocalcite Separation +chem.CC_ELECTROLYSIS=Calcium Chloride Electrolysis chem.CC_HEATING=Advanced Coal Liquefaction chem.CC_HEAVY=Basic Coal Liquefaction chem.CC_I=Enhanced Coal Liquefaction @@ -516,6 +518,7 @@ chem.NITAN=NITAN Super Fuel Mixing chem.NITRIC_ACID=Nitric Acid Production chem.OIL_SAND=Tar Sand Extraction chem.OSMIRIDIUM_DEATH=Osmiridic Solution Production +chem.PC_ELECTROLYSIS=Potassium Chloride Electrolysis chem.PEROXIDE=Hydrogen Peroxide Production chem.PET=PET Synthesis chem.PETROIL_LEADED=Leaded Petroil Mixing @@ -1177,8 +1180,12 @@ hbmfluid.biogas=Biogas hbmfluid.bitumen=Bitumen hbmfluid.blood=Blood hbmfluid.blood_hot=Hot Blood +hbmfluid.calcium_chloride=Calciumchloride Solution hbmfluid.carbondioxide=Carbon Dioxide hbmfluid.chlorine=Chlorine Gas +hbmfluid.chlorocalcite_cleaned=Cleaned Chlorocalcite Solution +hbmfluid.chlorocalcite_mix=Mixed Chlorocalcite Solution +hbmfluid.chlorocalcite_solution=Chlorocalcite Solution hbmfluid.cholesterol=Cholesterol Solution hbmfluid.coalcreosote=Coal Tar Creosote hbmfluid.coalgas=Coal Gasoline @@ -1250,6 +1257,7 @@ hbmfluid.plasma_dt=Deuterium-Tritium Plasma hbmfluid.plasma_hd=Hydrogen-Deuterium Plasma hbmfluid.plasma_ht=Hydrogen-Tritium Plasma hbmfluid.plasma_xm=Xenon-Mercury Plasma +hbmfluid.potassium_chloride=Potassiumchloride Solution hbmfluid.puf6=Plutonium Hexafluoride hbmfluid.radiosolvent=High-Performance Solvent hbmfluid.reclaimed=Reclaimed Industrial Oil diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/calcium_chloride.png b/src/main/resources/assets/hbm/textures/gui/fluids/calcium_chloride.png new file mode 100644 index 0000000000000000000000000000000000000000..f1ebd5aba4619ce2699a1d0678639c73f5345e78 GIT binary patch literal 708 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/chem_icon_PC_ELECTROLYSIS.png b/src/main/resources/assets/hbm/textures/items/chem_icon_PC_ELECTROLYSIS.png new file mode 100644 index 0000000000000000000000000000000000000000..7d41a1928783e9374879e92835040f9c73f0e714 GIT binary patch literal 171 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfEy=Isvj^1OC)U_CG9f`{;H{Wl3TN!%+r?U_ Date: Sat, 10 Jun 2023 21:57:52 -0500 Subject: [PATCH 165/285] added some stuff, removed some useless and stupid things --- .../machine/rbmk/TileEntityRBMKAbsorber.java | 26 +------------------ .../machine/rbmk/TileEntityRBMKBoiler.java | 18 ++++++------- .../machine/rbmk/TileEntityRBMKControl.java | 12 ++++----- .../rbmk/TileEntityRBMKControlManual.java | 2 +- .../machine/rbmk/TileEntityRBMKCooler.java | 10 +++---- .../machine/rbmk/TileEntityRBMKHeater.java | 18 ++++++------- .../machine/rbmk/TileEntityRBMKOutgasser.java | 12 ++++----- .../machine/rbmk/TileEntityRBMKReflector.java | 24 +---------------- .../machine/rbmk/TileEntityRBMKRod.java | 20 +++++++------- .../machine/rbmk/TileEntityRBMKStorage.java | 8 +++--- 10 files changed, 52 insertions(+), 98 deletions(-) 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 69610b38f..20512c206 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKAbsorber.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKAbsorber.java @@ -2,14 +2,8 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; -import cpw.mods.fml.common.Optional; -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; -@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityRBMKAbsorber extends TileEntityRBMKBase implements SimpleComponent { +public class TileEntityRBMKAbsorber extends TileEntityRBMKBase { @Override public void onMelt(int reduce) { @@ -23,24 +17,6 @@ public class TileEntityRBMKAbsorber extends TileEntityRBMKBase implements Simple super.onMelt(reduce); } - @Override - public String getComponentName() { - return "rbmk_absorber_rod"; - } - - @Callback(direct = true, limit = 4) - @Optional.Method(modid = "OpenComputers") - public Object[] getHeat(Context context, Arguments args) { - return new Object[] {heat}; - } - - - @Callback(direct = true, limit = 4) - @Optional.Method(modid = "OpenComputers") - public Object[] getCoordinates(Context context, Arguments args) { - return new Object[] {xCoord, yCoord, zCoord}; - } - @Override public ColumnType getConsoleType() { return ColumnType.ABSORBER; 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 6c1a784e6..6faf888fa 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java @@ -332,41 +332,41 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I return "rbmk_boiler"; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getHeat(Context context, Arguments args) { return new Object[] {heat}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getSteam(Context context, Arguments args) { return new Object[] {steam.getFill()}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getSteamMax(Context context, Arguments args) { return new Object[] {steam.getMaxFill()}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getWater(Context context, Arguments args) { return new Object[] {feed.getFill()}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getWaterMax(Context context, Arguments args) { return new Object[] {feed.getMaxFill()}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { FluidType type = steam.getTankType(); @@ -379,7 +379,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I return new Object[] {heat, steam.getFill(), steam.getMaxFill(), feed.getFill(), feed.getMaxFill(), type_1, xCoord, yCoord, zCoord}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getSteamType(Context context, Arguments args) { FluidType type = steam.getTankType(); @@ -390,7 +390,7 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I else {return new Object[] {"Unknown Error"};} } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] setSteamType(Context context, Arguments args) { int type = args.checkInteger(0); 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 8f23e5555..945638b7e 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControl.java @@ -126,37 +126,37 @@ public abstract class TileEntityRBMKControl extends TileEntityRBMKSlottedBase im return "rbmk_control_rod"; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getLevel(Context context, Arguments args) { return new Object[] {getMult() * 100}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getTargetLevel(Context context, Arguments args) { return new Object[] {targetLevel * 100}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getHeat(Context context, Arguments args) { return new Object[] {heat}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {heat, getMult() * 100, targetLevel * 100, xCoord, yCoord, zCoord}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] setLevel(Context context, Arguments args) { double newLevel = args.checkDouble(0)/100.0; 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 d9fb3bfe0..f22e00b47 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKControlManual.java @@ -133,7 +133,7 @@ public class TileEntityRBMKControlManual extends TileEntityRBMKControl implement return data; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getColor(Context context, Arguments args) { return new Object[] {this.color}; 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 b82bc546b..8c15cd8d7 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKCooler.java @@ -149,31 +149,31 @@ public class TileEntityRBMKCooler extends TileEntityRBMKBase implements IFluidAc return "rbmk_cooler"; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getHeat(Context context, Arguments args) { return new Object[]{heat}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getCryo(Context context, Arguments args) { return new Object[]{tank.getFill()}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getCryoMax(Context context, Arguments args) { return new Object[]{tank.getMaxFill()}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[]{heat, tank.getFill(), tank.getMaxFill(), xCoord, yCoord, zCoord}; 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 3d408086d..618f41a96 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java @@ -280,54 +280,54 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I return "rbmk_heater"; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getHeat(Context context, Arguments args) { return new Object[] {heat}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getFill(Context context, Arguments args) { return new Object[] {feed.getFill()}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getFillMax(Context context, Arguments args) { return new Object[] {feed.getMaxFill()}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getExport(Context context, Arguments args) { return new Object[] {steam.getFill()}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getExportMax(Context context, Arguments args) { return new Object[] {steam.getMaxFill()}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getFillType(Context context, Arguments args) { return new Object[] {feed.getTankType().getID()}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getExportType(Context context, Arguments args) { return new Object[] {steam.getTankType().getID()}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {heat, feed.getFill(), feed.getMaxFill(), steam.getFill(), steam.getMaxFill(), feed.getTankType().getID(), steam.getTankType().getID(), xCoord, yCoord, zCoord}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; 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 8e3f71a6a..8dbaa6360 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKOutgasser.java @@ -226,37 +226,37 @@ public class TileEntityRBMKOutgasser extends TileEntityRBMKSlottedBase implement return "rbmk_outgasser"; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getGas(Context context, Arguments args) { return new Object[] {gas.getFill()}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getGasMax(Context context, Arguments args) { return new Object[] {gas.getMaxFill()}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getGasType(Context context, Arguments args) { return new Object[] {gas.getTankType().getID()}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getProgress(Context context, Arguments args) { return new Object[] {progress}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {gas.getFill(), gas.getMaxFill(), progress, gas.getTankType().getID(), xCoord, yCoord, zCoord}; 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 91ab94a89..ed5b1afc0 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKReflector.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKReflector.java @@ -2,14 +2,8 @@ package com.hbm.tileentity.machine.rbmk; import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; -import cpw.mods.fml.common.Optional; -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; -@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityRBMKReflector extends TileEntityRBMKBase implements SimpleComponent { +public class TileEntityRBMKReflector extends TileEntityRBMKBase { @Override public void onMelt(int reduce) { @@ -22,22 +16,6 @@ public class TileEntityRBMKReflector extends TileEntityRBMKBase implements Simpl super.onMelt(reduce); } - @Override - public String getComponentName() { - return "rbmk_reflector_rod"; - } - - @Callback(direct = true, limit = 4) - @Optional.Method(modid = "OpenComputers") - public Object[] getHeat(Context context, Arguments args) { - return new Object[] {heat}; - } - - @Callback(direct = true, limit = 4) - @Optional.Method(modid = "OpenComputers") - public Object[] getCoordinates(Context context, Arguments args) { - return new Object[] {xCoord, yCoord, zCoord}; - } @Override public ColumnType getConsoleType() { 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 f02f229ca..38aab6d83 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -384,25 +384,25 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM return "rbmk_fuel_rod"; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getHeat(Context context, Arguments args) { return new Object[] {heat}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getFluxSlow(Context context, Arguments args) { return new Object[] {fluxSlow}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getFluxFast(Context context, Arguments args) { return new Object[] {fluxFast}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getDepletion(Context context, Arguments args) { if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { @@ -411,7 +411,7 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM return new Object[] {"N/A"}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getXenonPoison(Context context, Arguments args) { if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { @@ -420,7 +420,7 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM return new Object[] {"N/A"}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getCoreHeat(Context context, Arguments args) { if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { @@ -429,7 +429,7 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM return new Object[] {"N/A"}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getSkinHeat(Context context, Arguments args) { if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { @@ -438,7 +438,7 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM return new Object[] {"N/A"}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { Object OC_enrich_buf; @@ -453,13 +453,13 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM return new Object[] {heat, ItemRBMKRod.getHullHeat(slots[0]), ItemRBMKRod.getCoreHeat(slots[0]), fluxSlow, fluxFast, OC_enrich_buf, OC_poison_buf, ((RBMKRod)this.getBlockType()).moderated, xCoord, yCoord, zCoord}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getModerated(Context context, Arguments args) { return new Object[] {((RBMKRod)this.getBlockType()).moderated}; } - @Callback(direct = true, limit = 8) + @Callback(direct = true, limit = 16) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; 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 11fba927a..baa22c2c3 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKStorage.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKStorage.java @@ -95,26 +95,26 @@ public class TileEntityRBMKStorage extends TileEntityRBMKSlottedBase implements public String getComponentName() { return "rbmk_storage_rod"; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getCoordinates(Context context, Arguments args) { return new Object[] {xCoord, yCoord, zCoord}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getHeat(Context context, Arguments args) { return new Object[] {heat}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getStored(Context context, Arguments args) { return new Object[] {slots[0], slots[1], slots[2], slots[3], slots[4], slots[5], slots[6], slots[7], slots[8], slots[9], slots[10], slots[11]}; } - @Callback(direct = true, limit = 4) + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { return new Object[] {heat, slots[0], slots[1], slots[2], slots[3], slots[4], slots[5], slots[6], slots[7], slots[8], slots[9], slots[10], slots[11], xCoord, yCoord, zCoord}; From c050e099af9ab701b1d106ef37f7d61b1cfa1a59 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Sat, 10 Jun 2023 22:30:15 -0500 Subject: [PATCH 166/285] Urgent: `getInfo` function for fuel rods was fucked, and returned an unknown error when invoked. Fixed in this commit. --- .../hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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 38aab6d83..f13f34952 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -443,14 +443,20 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM public Object[] getInfo(Context context, Arguments args) { Object OC_enrich_buf; Object OC_poison_buf; + Object OC_hull_buf; + Object OC_core_buf; if(slots[0] != null && slots[0].getItem() instanceof ItemRBMKRod) { OC_enrich_buf = ItemRBMKRod.getEnrichment(slots[0]); OC_poison_buf = ItemRBMKRod.getPoison(slots[0]); + OC_hull_buf = ItemRBMKRod.getHullHeat(slots[0]); + OC_core_buf = ItemRBMKRod.getCoreHeat(slots[0]); } else { OC_enrich_buf = "N/A"; OC_poison_buf = "N/A"; + OC_hull_buf = "N/A"; + OC_core_buf = "N/A"; } - return new Object[] {heat, ItemRBMKRod.getHullHeat(slots[0]), ItemRBMKRod.getCoreHeat(slots[0]), fluxSlow, fluxFast, OC_enrich_buf, OC_poison_buf, ((RBMKRod)this.getBlockType()).moderated, xCoord, yCoord, zCoord}; + return new Object[] {heat, OC_hull_buf, OC_core_buf, fluxSlow, fluxFast, OC_enrich_buf, OC_poison_buf, ((RBMKRod)this.getBlockType()).moderated, xCoord, yCoord, zCoord}; } @Callback(direct = true, limit = 16) From 41648d4f68a4c28e06fc41d5fcad9f7513be47a9 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 11 Jun 2023 17:01:33 +0200 Subject: [PATCH 167/285] fixes, rail stuff --- changelog | 6 +++++- .../java/com/hbm/crafting/ToolRecipes.java | 1 + .../hbm/entity/train/EntityRailCarBase.java | 1 + .../hbm/entity/train/EntityRailCarCargo.java | 2 ++ .../hbm/items/tool/ItemPollutionDetector.java | 8 ++++---- src/main/java/com/hbm/potion/HbmPotion.java | 18 +++--------------- .../machine/storage/TileEntityBarrel.java | 2 ++ src/main/resources/assets/hbm/lang/de_DE.lang | 3 +++ src/main/resources/assets/hbm/lang/en_US.lang | 3 +++ 9 files changed, 24 insertions(+), 20 deletions(-) diff --git a/changelog b/changelog index 697dbb496..dcd735e35 100644 --- a/changelog +++ b/changelog @@ -1,5 +1,6 @@ ## Added * Machines now emit soot. Soot collects in units of 4x4 chunks, and spreads into neighboring regions. High levels of soot cause visible smog. + * The system has yet to be balanced, it's possible that only a few machines cause way too much soot or barely any * Gas artillery shells * Chlorine * Phosgene @@ -26,4 +27,7 @@ * Fixed some armor recipes only accepting polymer and not bakelite * Fixed turbofans not sucking in players * Fixed NTM skybox not applying to superflat worlds -* Fixed breeding slot in the fusion reactor never resettingthe progress after completing an operation \ No newline at end of file +* Fixed breeding slot in the fusion reactor never resettingthe progress after completing an operation +* Fixed potential issue where tanks would send fluids to invalidated tile entities, voiding themselves almost instantly +* Fixed cadmium and technetium steel blocks not having ore dict names +* Fixed potential crash regarding certain potion code running clientside \ No newline at end of file diff --git a/src/main/java/com/hbm/crafting/ToolRecipes.java b/src/main/java/com/hbm/crafting/ToolRecipes.java index 91ddd5338..7577f03d9 100644 --- a/src/main/java/com/hbm/crafting/ToolRecipes.java +++ b/src/main/java/com/hbm/crafting/ToolRecipes.java @@ -119,6 +119,7 @@ public class ToolRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.dosimeter, 1), new Object[] { "WGW", "WCW", "WBW", 'W', KEY_PLANKS, 'G', KEY_ANYPANE, 'C', ModItems.circuit_aluminium, 'B', BE.ingot() }); CraftingManager.addShapelessAuto(new ItemStack(ModBlocks.geiger), new Object[] { ModItems.geiger_counter }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.digamma_diagnostic), new Object[] { ModItems.geiger_counter, PO210.billet(), ASBESTOS.ingot() }); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.pollution_detector, 1), new Object[] { "SFS", "SCS", " S ", 'S', STEEL.plate(), 'F', ModItems.filter_coal, 'C', ModItems.circuit_copper }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.defuser, 1), new Object[] { " PS", "P P", " P ", 'P', POLYMER.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', ModItems.bolt_tungsten, 'I', W.ingot(), 'P', ModItems.plate_polymer }); diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index 2f0a97813..afd7b25ab 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -224,6 +224,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { DummyConfig def = definitions[i]; BoundingBoxDummyEntity dummy = dummies[i]; Vec3 rot = Vec3.createVectorHelper(def.offset.xCoord, def.offset.yCoord, def.offset.zCoord); + rot.rotateAroundX((float) (this.rotationPitch * Math.PI / 180D)); rot.rotateAroundY((float) (-this.rotationYaw * Math.PI / 180)); double x = renderX + rot.xCoord; double y = renderY + rot.yCoord; diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarCargo.java b/src/main/java/com/hbm/entity/train/EntityRailCarCargo.java index 31823285b..4bf5f2ee2 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarCargo.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarCargo.java @@ -82,6 +82,8 @@ public abstract class EntityRailCarCargo extends EntityRailCarBase implements II if(stack != null && stack.stackSize > this.getInventoryStackLimit()) { stack.stackSize = this.getInventoryStackLimit(); } + + if(!this.worldObj.isRemote) this.dataWatcher.updateObject(10, this.countVacantSlots()); } @Override diff --git a/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java index ef45af10d..5b0d27663 100644 --- a/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java +++ b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java @@ -24,9 +24,9 @@ public class ItemPollutionDetector extends Item { PollutionData data = PollutionHandler.getPollutionData(world, (int) Math.floor(entity.posX), (int) Math.floor(entity.posY), (int) Math.floor(entity.posZ)); if(data == null) data = new PollutionData(); - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Soot: " + data.pollution[PollutionType.SOOT.ordinal()]).color(EnumChatFormatting.RED).flush(), 100), (EntityPlayerMP) entity); - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Poison: " + data.pollution[PollutionType.POISON.ordinal()]).color(EnumChatFormatting.RED).flush(), 101), (EntityPlayerMP) entity); - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Heavy metal: " + data.pollution[PollutionType.HEAVYMETAL.ordinal()]).color(EnumChatFormatting.RED).flush(), 102), (EntityPlayerMP) entity); - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Fallout: " + data.pollution[PollutionType.FALLOUT.ordinal()]).color(EnumChatFormatting.RED).flush(), 103), (EntityPlayerMP) entity); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Soot: " + data.pollution[PollutionType.SOOT.ordinal()]).color(EnumChatFormatting.YELLOW).flush(), 100, 2000), (EntityPlayerMP) entity); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Poison: " + data.pollution[PollutionType.POISON.ordinal()]).color(EnumChatFormatting.YELLOW).flush(), 101, 2000), (EntityPlayerMP) entity); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Heavy metal: " + data.pollution[PollutionType.HEAVYMETAL.ordinal()]).color(EnumChatFormatting.YELLOW).flush(), 102, 2000), (EntityPlayerMP) entity); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Fallout: " + data.pollution[PollutionType.FALLOUT.ordinal()]).color(EnumChatFormatting.YELLOW).flush(), 103, 2000), (EntityPlayerMP) entity); } } diff --git a/src/main/java/com/hbm/potion/HbmPotion.java b/src/main/java/com/hbm/potion/HbmPotion.java index 48031fddf..7d5855009 100644 --- a/src/main/java/com/hbm/potion/HbmPotion.java +++ b/src/main/java/com/hbm/potion/HbmPotion.java @@ -99,6 +99,8 @@ public class HbmPotion extends Potion { } public void performEffect(EntityLivingBase entity, int level) { + + if(entity.worldObj.isRemote) return; if(this == taint) { @@ -123,7 +125,6 @@ public class HbmPotion extends Potion { ContaminationUtil.contaminate(entity, HazardType.RADIATION, ContaminationType.CREATIVE, (float)(level + 1F) * 0.05F); } if(this == radaway) { - HbmLivingProps.incrementRadiation(entity, -(level + 1)); } @@ -145,22 +146,9 @@ public class HbmPotion extends Potion { } } if(this == lead) { - entity.attackEntityFrom(ModDamageSource.lead, (level + 1)); } - /*if(this == telekinesis) { - - int remaining = entity.getActivePotionEffect(this).getDuration(); - - if(remaining > 1) { - entity.motionY = 0.5; - } else { - entity.motionY = -2; - entity.fallDistance = 50; - } - }*/ - if(this == phosphorus && !entity.worldObj.isRemote) { - + if(this == phosphorus) { entity.setFire(1); } } 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 e8f941496..d0bb7e4f8 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java @@ -136,6 +136,8 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc 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(); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 90eda0803..a92874167 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -609,6 +609,7 @@ hbmfluid.bitumen=Bitumen hbmfluid.blood=Blut hbmfluid.blood_hot=Heißes Blut hbmfluid.calcium_chloride=Kalziumchlorid-Lösung +hbmfluid.calcium_solution=Kalzium-Lösung hbmfluid.carbondioxide=Kohlenstoffdioxid hbmfluid.chlorine=Chlorgas hbmfluid.chlorocalcite_cleaned=Gereinigten Chlorokalzit-Lösung @@ -2633,6 +2634,7 @@ item.plate_schrabidium.name=Schrabidiumplatte item.plate_steel.name=Stahlplatte item.plate_titanium.name=Titanplatte item.polaroid.name=Das Polaroid +item.pollution_detector.name=Verschmutzungsdetektor item.powder_actinium.name=Actiniumstaub item.powder_actinium_tiny.name=Kleiner Haufen Actiniumstaub item.powder_advanced_alloy.name=Fortgeschrittener Legierungsstaub @@ -3599,6 +3601,7 @@ tile.capacitor_bus.desc=Output für Kondensatoren$Kann in einer geraden Linie an tile.capacitor_copper.name=Kupferkondensator tile.capacitor_gold.name=Goldkondensator tile.capacitor_niobium.name=Niobkondensator +tile.capacitor_tantalium.name=Tantalkondensator tile.capacitor.desc=Input: Oben$Output: Unten, über Kondensator-Bus tile.charge_c4.name=Abrissladung tile.charge_dynamite.name=Zeitbombe diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index bcc027726..a7feb2556 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1181,6 +1181,7 @@ hbmfluid.bitumen=Bitumen hbmfluid.blood=Blood hbmfluid.blood_hot=Hot Blood hbmfluid.calcium_chloride=Calciumchloride Solution +hbmfluid.calcium_solution=Calcium Solution hbmfluid.carbondioxide=Carbon Dioxide hbmfluid.chlorine=Chlorine Gas hbmfluid.chlorocalcite_cleaned=Cleaned Chlorocalcite Solution @@ -3359,6 +3360,7 @@ item.plate_schrabidium.name=Schrabidium Plate item.plate_steel.name=Steel Plate item.plate_titanium.name=Titanium Plate item.polaroid.name=The Polaroid +item.pollution_detector.name=Pollution Detector item.powder_actinium.name=Actinium Powder item.powder_actinium_tiny.name=Tiny Pile of Actinium Powder item.powder_advanced_alloy.name=Advanced Alloy Powder @@ -4417,6 +4419,7 @@ tile.capacitor_bus.desc=Output block for capacitors$Can be chained up in a strai tile.capacitor_copper.name=Copper Capacitor tile.capacitor_gold.name=Golden Capacitor tile.capacitor_niobium.name=Niobium Capacitor +tile.capacitor_tantalium.name=Tantalium Capacitor tile.capacitor.desc=Input: Top$Output: Bottom, via Capacitor Bus tile.charge_c4.name=Demolition Charge tile.charge_dynamite.name=Time Bomb From 692c8acc4599b70a1a63b889fd9e9314a722ec5c Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 11 Jun 2023 17:08:16 +0200 Subject: [PATCH 168/285] localization --- changelog | 2 +- gradle.properties | 2 +- src/main/java/com/hbm/lib/RefStrings.java | 2 +- src/main/resources/assets/hbm/lang/zh_CN.lang | 4986 ++++++++--------- 4 files changed, 2474 insertions(+), 2518 deletions(-) diff --git a/changelog b/changelog index dcd735e35..4af358249 100644 --- a/changelog +++ b/changelog @@ -16,7 +16,7 @@ * Like regular bullets stamps but with infinite durability ## Changed -* Updated russian localization +* Updated russian and chinese localization * Mist now spawns cloud particles with the correct color instead of standard white * HE artillery shells and rockets now turn blocks into slag * The old static bunker structure has been removed and replaced with dynamically generated ones, using the same style of generation as vanilla strongholds. diff --git a/gradle.properties b/gradle.properties index 4c35fac9e..2f43c1817 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4621 +mod_build_number=4627 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 3d65e0ba6..4e3d4bdfc 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 (4621)"; + public static final String VERSION = "1.0.27 BETA (4627)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/resources/assets/hbm/lang/zh_CN.lang b/src/main/resources/assets/hbm/lang/zh_CN.lang index a8de55f52..8876e8c0f 100644 --- a/src/main/resources/assets/hbm/lang/zh_CN.lang +++ b/src/main/resources/assets/hbm/lang/zh_CN.lang @@ -1,263 +1,212 @@ -achievement.acidizer.desc=嗷!我的皮肤! -achievement.acidizer=酸性的 -achievement.assembly.desc=等等,已经凌晨1点了? -achievement.assembly=科技线 第一阶段 -achievement.FOEQ.desc=向火星发射一个探测器…我是说发射到杜纳安轨道 +achievement.acidizer.desc=噢,我的皮肤 +achievement.acidizer=酸 +achievement.assembly.desc=Bobmazon 2级 (装配机) +achievement.assembly=制作 +achievement.FOEQ.desc=向火星传送信号!...其实我是说Duna achievement.FOEQ=飞马座运载火箭和发射架 -achievement.breeding.desc=谢谢你们啊,上帝保佑你们,上帝保佑美利坚合众国. -achievement.breeding=阴阳怪气 -achievement.bismuth.desc=还记得人们为此抱怨了一个月吗? 我记得. +achievement.breeding.desc=谢谢你们,上帝保佑你们,上帝保佑美利坚合众国。 +achievement.breeding=反话 +achievement.bismuth.desc=还记得有人抱怨了一个月吗?我愿意。 achievement.bismuth=铋 -achievement.blastFurnace.desc=他们为探险家1号打捞了一艘沉没的无畏舰. +achievement.blastFurnace.desc=他们为制造探险家1号去打捞了一艘沉没的无畏舰。 achievement.blastFurnace=煤和铁 -achievement.bossCreeper.desc='核爆爬行者? 那是啥玩意?!' -achievement.bossCreeper=四条腿上行走的核弹 -achievement.bossMaskman.desc=干♂爆那个大家伙. -achievement.bossMaskman=我被强制服役了6个月,到头来只得到一件糟糕的T恤 -achievement.bossMeltdown.desc=这可比预想的还要糟, 但我会尽我所能的. +achievement.bossCreeper.desc=核爆爬行者? 那是个什么玩意?! +achievement.bossCreeper=四条腿的行走核弹 +achievement.bossMaskman.desc=大男孩邦克 +achievement.bossMaskman=6个月的强制服务,我只得到一件糟糕的t恤 +achievement.bossMeltdown.desc=比伟大更可怕,但我会竭尽所能 achievement.bossMeltdown=3.6伦琴 -achievement.bossWorm.desc=用绝学法杖.我的屁股.你来算这个吧. -achievement.bossWorm=拆了 世-界-毁-灭-者 O-TRON -achievement.bossUFO.desc=哟,瞧瞧我们这儿有什么?一艘巨大的宇宙飞船正开向我们的星球? -achievement.bossUFO=Ayy Lmao -achievement.burnerPress.desc=压力压在我身上,也压在你身上 +achievement.bossWorm.desc=法布斯塔夫。我的屁股。你算算吧。 +achievement.bossWorm=拆掉机械蠕虫 +achievement.bossUFO.desc=哟,我们这儿有什么?一艘巨大的宇宙飞船正开向我们的星球? +achievement.bossUFO=呀哈哈哈,笑死我了 +achievement.burnerPress.desc=压力压在你我身上 achievement.burnerPress=压力之下 achievement.c20_5.desc=??? achievement.c20_5=第20.5章 achievement.c44.desc=镀锌!我是说,锌! achievement.c44=第四十四章 -achievement.centrifuge.desc=离心力是真的不要再@我了 -achievement.centrifuge=离心力 -achievement.chemplant.desc=现在你开始考虑化学物质了! -achievement.chemplant=科技线 第二阶段 -achievement.chicagoPile.desc="当地人怎么样?" / "非常友好." +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.concrete.desc=布尔什维克的最爱。 +achievement.concrete=老当益壮 +achievement.desh.desc=“来吧,你们这群人。有地方可去!” +achievement.desh=勒威耶 +achievement.digammaFeel.desc=内心的空虚 +achievement.digammaFeel=感觉的恐惧 +achievement.digammaKauaiMoho.desc=一切都糟透了,这里有些热巧克力 +achievement.digammaKauaiMoho=歌唱,为我歌唱《Kauai Moho》 +achievement.digammaKnow.desc=关于这个世界 achievement.digammaKnow=知晓的恐惧 -achievement.digammaSee.desc=坠入深渊. -achievement.digammaSee=直视真理的恐惧 +achievement.digammaSee.desc=坠入深渊 +achievement.digammaSee=可见的恐惧 achievement.digammaUpOnTop.desc=仰慕我的儿子,他是我的克隆人. achievement.digammaUpOnTop=仰慕我,仰慕我的家 achievement.fiend.desc=卑鄙 achievement.fiend2.desc=更卑鄙 -achievement.fiend2=残忍2:更加残忍 +achievement.fiend2=残忍2:更残忍 achievement.fiend=残忍 achievement.freytag.desc=英勇的救生员 achievement.freytag=弗雷塔格 -achievement.fusion.desc=氘核, 氚核和能量之舞. -achievement.fusion=热核聚变反应 -achievement.gasCent.desc=未浓缩的铀讨厌他! -achievement.gasCent=拉链式 -achievement.hidden.desc=使用一节坠落的车厢杀死一只污染爬行者 +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.desc=说实话,你到底怎么了 achievement.horizonsBonus=地平线! -achievement.horizonsEnd.desc=送汤姆回家. -achievement.horizonsEnd=地平线. +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; 八月六日, 1945 +achievement.inferno.desc=“把它变成灰烬!这还不够!投更多的炸弹!” +achievement.inferno=食人行动 +achievement.manhattan.desc=1945年8月6日 8:15 achievement.manhattan=曼哈顿计划 -achievement.meltdown.desc=你都走到了这一步,怎么还能把事情搞砸? -achievement.no9.desc="我希望我开采的铅能被用于你的绘画" -achievement.no9=老九号 -achievement.meltdown="快速"拆卸 -achievement.metalworks.desc=Bobmazon 1级 (高炉) -achievement.metalworks=金属制品 -achievement.nuclear.desc=Bobmazon 5级 (铀燃料) -achievement.nuclear=原子科学 -achievement.oil.desc=Bobmazon 4级 (电锅炉) -achievement.oil=石油 -achievement.omega12.desc=解决在这个荒凉的的星球上继续生存的问题. -achievement.omega12=欧米伽-12号粒子加速器 -achievement.polymer.desc=美味,美味的微塑料. -achievement.polymer=特氟隆 聚四氟乙烯 +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.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.sacrifice.desc=直面火海,活下去. +achievement.RBMKBoom.desc=谎言的代价是什么? +achievement.RBMKBoom=是15000伦琴辐射 +achievement.RBMK.desc=他有妄想症,带他去医务室。 +achievement.RBMK=3.6伦琴? +achievement.redBalloons.desc=“这就是我们一直在等待的。就是这样,孩子们,这就是战争。” +achievement.redBalloons=99个红气球 +achievement.sacrifice.desc=直面火海并存活 achievement.sacrifice=牺牲 -achievement.schrab.desc=不管怎样,我不会看这玩意太久. +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.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.soyuz.desc=变得松脆 +achievement.soyuz=土豆烹饪 achievement.space.desc=屡试屡败,浪费了价值9000万美元的资金 -achievement.space=最后战线-呃,算了吧 -achievement.sulfuric.desc= -achievement.sulfuric=我不该把我的蛋蛋浸在硫酸里. -achievement.tantalum.desc=一个难以捉摸但却永远需要的元素. -achievement.tantalum="钽" +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.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 - -armor.blastProtection=只受%s的爆炸伤害 -armor.cap=硬伤上限 %s -armor.damageModifier=只受%s的%s伤害 -armor.dash=提供 %s 次冲刺 -armor.electricJetpack=等离子推进器 +achievement.witchtaunter.desc=那些古怪的生物对你毫无兴趣! +achievement.witchtaunter=巫婆陶恩特 +achievement.ZIRNOXBoom.desc=处理, 看,满地是残骸碎片 +achievement.ZIRNOXBoom=锆诺克斯 +armor.blastProtection=修正 %s 的爆炸伤害 +armor.cap=伤害上限 %s +armor.damageModifier=修正 %s 对 %s 的伤害 +armor.dash=给予 %s 冲刺 +armor.electricJetpack=离子喷射背包 armor.explosionImmune=免疫除爆炸伤害外的一切伤害 armor.fastFall=快速降落 armor.fireproof=防火 -armor.fullSetBonus=完整套装增益: -armor.geigerHUD=内置盖格计数器 -armor.geigerSound=听觉式盖革计数器 -armor.glider=按下潜行以滑翔 -armor.gravity=重力效果调整为%s -armor.hardLanding=坠地AOE伤害 -armor.ignoreLimit=防御值不受防御值上限的影响 -armor.modifier=只受%s的一般伤害 -armor.nullDamage=免疫所有的%s伤害 -armor.projectileProtection=只受%s的弹射物伤害 +armor.fullSetBonus=全套效果: +armor.geigerHUD=盖革计数器HUD +armor.geigerSound=盖革计数器警报 +armor.glider=滑翔 +armor.gravity=重力修正 %s +armor.hardLanding=硬着陆 +armor.ignoreLimit=防御值不受防御上限的影响 +armor.modifier=伤害修正 %s +armor.nullDamage=免疫 %s 伤害 +armor.projectileProtection=免疫 %s 的弹射物伤害 armor.rocketBoots=火箭靴 armor.sprintBoost=冲刺辅助加速 armor.thermal=热成像 -armor.threshold=伤害阈值%s -armor.vats=敌对目标信息显示 -armor.yield=保护生效的最高伤害 :%s - -armorMod.all=任意盔甲部位 -armorMod.applicableTo=可安装于: +armor.threshold=伤害阈值 %s +armor.vats=敌对生物HUD +armor.yield=抵御低于%s的伤害 +armorMod.all=所有 +armorMod.applicableTo=适用于: armorMod.boots=靴子 armorMod.chestplates=胸甲 armorMod.helmets=头盔 -armorMod.insertHere=放入盔甲以进行改装... +armorMod.insertHere=插入装甲以改装。。。 armorMod.leggings=护腿 -armorMod.type.boots=靴子配件 -armorMod.type.chestplate=胸甲配件 +armorMod.type.boots=靴子 +armorMod.type.chestplate=胸甲 armorMod.type.cladding=覆层 -armorMod.type.helmet=头盔配件 -armorMod.type.insert=防弹插板 -armorMod.type.leggings=护腿配件 -armorMod.type.servo=伺服系统 -armorMod.type.special=特殊配件 - +armorMod.type.helmet=头盔 +armorMod.type.insert=插板 +armorMod.type.leggings=护腿 +armorMod.type.servo=伺服电机 +armorMod.type.special=特殊 battery.mode.buffer=输入/输出模式 battery.mode.input=输入模式 -battery.mode.off=OffW +battery.mode.off=关闭W 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=红石信号 OFF -battery.redstone.on=红石信号 ON - -bomb.detonated=成功引爆! -bomb.incompatible=目标无法被触发! -bomb.launched=成功发射! -bomb.missingComponent=组件缺失! -bomb.nobomb=链接位置不兼容或已被拆除! -bomb.triggered=成功触发! - +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.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.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.starter.cover=重建工业社会的$一本实业家$的指南 -book.starter.title1=介绍 -book.starter.page1=如果你读到这篇文章, 那么很有可能社会已经以这样或那样的方式完全崩溃了. 政府,国家和权威已经是过去的概念——以及文明生活 的所有便利设施. 因此,本指南将告诉你如何通过重新创造过去的行业和 科学技术 来改善你自己的生活. -book.starter.title2=煤尘与芥子气 -book.starter.page2=虽然不可能预测世界在后世界末日时代的实际状态, 但目前形式的战争和工业活动不太可能没有结束. 为了保护自己的肺部, 一种有效且廉价的方法是在一些 §l布料§r上小便来制作一个 §l战壕版粗制防护面罩§r, 以保护你免受煤尘或芥子气的伤害, 以防你遇到其中任何一种情况. -book.starter.title3=砧与锻压机 -book.starter.page3=开始你的工业振兴的核心是一个§lE合前期的机械, 如组装机, 而火力锻压机将允许您制作无法用砧锤击在一起的板材, 金属线和电路. -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, 耐用又柔性的塑料; §l德什§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,但 需要炸药才能采集. -book.starter.title12=辐射 -book.starter.page12a=§o本书其余部分将讨论与§o辐射有关的问题. 为了您和其他人的安全,我将提供§o一些建议以说明如何缓解和处理暴露于此的风险.§r -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.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是一个完全模块化的核反应堆. 与大多数其他反应堆不同的是, 该反应堆没有"多方块结构核心"和尺寸上的限制, 而反应堆的性能和效率仅取决于你是如何建造它的, 以及各个组件如何相互作用. @@ -275,9 +224,9 @@ book.rbmk.page6=§L自动控制棒§r 与常规控制棒几乎相同, 但它们 book.rbmk.title7=蒸汽管道 book.rbmk.page7=反应堆中的 §l蒸汽管道§r 是唯一能有效降低反应堆热水平的组件. 如果一个蒸汽管道组件的沸点高于其设定的蒸汽类型的沸点, 那么它将试图消耗尽可能多的水 并产生尽可能多的蒸汽来冷却到沸点以下. book.rbmk.title8=碳化钨中子反射器 -book.rbmk.page8=反应堆中的 §l碳化钨中子反射器§r 将阻止中子的通过, 相反, 中子将被反射回它们来自的燃料棒上. 这对于使用中子是有用的, 否则这些中子一旦离开反应堆就会被浪费掉. +book.rbmk.page8=反应堆中的 §l碳化钨中子反射器§r 将阻止中子的通过, 相反,中子将被反射回它们来自的燃料棒上. 这对于使用中子是有用的, 否则这些中子一旦离开反应堆就会被浪费掉. book.rbmk.title9=硼中子吸收器 -book.rbmk.page9=§l硼中子吸收器§r 只是阻挡中子. 被吸收的中子不会产生热量, 会被有效地吸收. 这有助于防止燃料棒发生过度反应从而超出临界值. +book.rbmk.page9=§l硼中子吸收器§r 只是阻挡中子. 被吸收的中子不会产生热量,会被有效地吸收. 这有助于防止燃料棒发生过度反应从而超出临界值. book.rbmk.title10=石墨慢化剂 book.rbmk.page10=§l石墨慢化剂§r 把穿过它的快中子转换成慢中子. 大多数核燃料反应释放出快中子, 而引起裂变需要慢中子, 所以强烈建议使用慢化剂. book.rbmk.title11=结构柱 @@ -285,180 +234,229 @@ 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.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_lore.author= %s 著 +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=By %s book_lore.test.name=测试 book_lore.test.author=那个家伙 -book_lore.test.page.1=>在我开始之前,请允许我 澄清我不是同性恋. >做我 >今晚 >18点 >趁我的父母走了几天,和我最好 的朋友一起出去玩 >我们已经是一年的好朋友了 >喝了点酒,玩了很多电子游戏, 还点了一个比萨饼 >我们玩得很开心 >在晚上的某个时刻,比如9点 左右,他开了一个非常有趣的 玩笑,我不记得了, 但我知道这让我们都笑得很开心 > 我不假思索地用右手 -book_lore.test.page.2=拂过他半卷曲的黑发, 说他真是一个有趣的男孩 >他脸红了 >我意识到我很慌乱 >我们有点太亲近了 >突然他吻了我,出于某种原因 我回吻了他 >我们做爱了 >拥抱在一起睡着了 >半夜醒来,他的头紧贴在我的 胸口和脖子上 >这感觉很好, 但我仍是个钢铁直男 -book_lore.test.page.3=我在他在我怀里睡着的时候 写了这个. 我怎么能让我最好的 朋友失望呢? 我可不想成为一个 [弱智] /b/ +book_lore.test.page.1=>你好,在我开始之前,让我澄清我不是同性恋。>做我>今天晚上>18>和我最好的朋友和我的父母出去玩了几天>我们已经是最好的朋友一年了>喝了点酒,玩了很多电子游戏,还点了一份披萨>我们玩得很开心>在晚上的某个时候,比如9点左右,他开了一个非常有趣的玩笑,我不记得了,但我知道这让我们俩都笑得很厉害>没有我想我用右手摸了摸他那半卷曲的黑发,然后叫他一个有趣的男孩>他脸红了>我意识到我很慌张>我们有点亲密>突然他吻了我,出于某种原因我又吻了他>我们做爱>拥抱在一起睡着了>半夜醒来时,他的头贴在我的胸部和颈部>感觉很好,但我不是同性恋 +book_lore.test.page.2=他在我怀里睡着时,我正在打字。我怎么才能让我最好的朋友失望呢?我不想成为[编辑]/b/ +book_lore.test.page.3=3 book_lore.test.page.4=4 book_lore.test.page.5=5 - book_lore.book_iodine.name=笔记 book_lore.book_iodine.author=戴夫 -book_lore.book_iodine.page.1=好吧,你不会相信的, 但自从两周前离开后,这位老人终于再次出现了。更令人惊讶的是,他竟然决定把他们在峡谷里的所作所为泄露出去: -book_lore.book_iodine.page.2=显然,研发部门的白痴们发现了一种主要是无机的化合物, 很像自然界中的毒素, 但要记住:濒死的细胞会繁殖毒素并通过皮肤排出, 产生一种具有高度传染性的气溶胶. -book_lore.book_iodine.page.3=就像病毒一样, 但不是病毒. 它的成分很奇怪, 你可以把它放在任何家用瓶子里,但你必须把顺序弄对. 博士告诉我第一种成分是粉末状的碘晶体,要放进槽 %d - +book_lore.book_iodine.page.1=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.2=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.3=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.1=嘿,又是我. 我想你收到了我最后的备忘录,博士对此不太高兴. 我得动作快点, 研发部门的笨蛋们现在又在抱怨了, 可能是因为钱, 又一次. 无论如何, 风向标博士发现第二种 -book_lore.book_phosphorous.page.2=成分是红磷, 必须将其混入 %d槽中 - +book_lore.book_phosphorous.page.1=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.2=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.1=当博士发现研发人员保留了剩下的一个样本时,他大发雷霆, 大喊大叫说这是严重的疏忽,简直是世界末日的剧本. 我告诉他冷静一分钟, 紧张起来对他的血压没有好处, 并 -book_lore.book_dust.page.2=不是说他还剩下很多血. 一个研发部的白痴在上周的通告中透露了更多信息, 他们称他们那宝贝混合物 \"MKU\" ,鬼知道这是啥意思, 它含有货真价实的家用棉绒. 你能相信吗? 这是他们 -book_lore.book_dust.page.3=最危险的发明之一而它含有灰尘. 奇怪的是,他们还提到它会进入槽 %d - +book_lore.book_dust.page.1=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.2=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.3=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.1=好吧,这就说得通了. 不包括呕吐的血液部分, 毒理学报告表明其主要类似于汞中毒. 为什么? 因为我们的小混合物也含有汞! 我只是想知道当这些东西 -book_lore.book_mercury.page.2=被身体复制时,它们从哪来? 不管怎样,水银要进入槽 %d - +book_lore.book_mercury.page.1=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.2=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.1=还记得我在第一份备忘录中提到的化合物大多是无机的吗? 好吧,你猜怎么着, 那个老家伙分享了第四种配料: 牵牛花, 花的一属. 就是喇叭花! 可能是因为它的硫含量低, 不管是什么情况, -book_lore.book_flower.page.2=其他花就是不起作用. 牵牛花要放入槽 %d - +book_lore.book_flower.page.1=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.2=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.1=我第五条留言的一个小附录, 显然你必须把这些叫MKU的东西放在一个容器里. 研发人员使用的是从医疗机构购买的普通金属注射器. 我猜是多余的, 他们有成千上万的针头. -book_lore.book_syringe.page.2=金属注射器要放入槽 %d - +book_lore.book_syringe.page.1=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.2=syringe goes into slot %d book_lore.resignation_note.name=辞职信 book_lore.resignation_note.author=科斯马 -book_lore.resignation_note.page.1=管理层昨天又缩减了我们的 部门.那些白痴只能怪自己, 我不知道他们在那场惨败后 会还有什么期待. 到底是谁泄露了这种信息? 我们损失了数百万 -book_lore.resignation_note.page.2=现在是我失业了. 我是那个被要求辞职的人. 我希望你们这些混蛋们终于 从自己的错误中吸取教训, 把那根棍子从屁股里拿出来. -book_lore.resignation_note.page.3=我星期五不会回来的. 发工资就行了. - -book_lore.memo_stocks.name=内部备忘录 -book_lore.memo_stocks.page.1=投资者关系部 - $ $ 最新季度报告中提供的数据 存在一些明显的差异. 让财务部门进行一些调整是 谨慎的做法, 所以不用有任何顾虑. - +book_lore.resignation_note.page.1=管理层昨天又对我们的部门进行裁员了。那群白痴要怪只能怪他们自己,我都不知道他们在那场惨败后还在期待什么。到底是谁他妈泄露了那种程度的信息? +book_lore.resignation_note.page.2=我们损失了几百万,而且现在失业的还是爷。老子希望你们这帮混蛋最后能从你们的一堆问题中学到点教训然后给爷滚去自闭。 +book_lore.resignation_note.page.3=我周五不回来了。工资寄过来就行。 +book_lore.memo_stocks.name=公司内部备忘录 +book_lore.memo_stocks.page.1=投资者报告 - $$最新的季度报告中提供的数据存在一些明显的差异。财政部所作出一些调整是明智的,因此不必有任何担忧。 book_lore.memo_schrab_gsa.name=内部备忘录 -book_lore.memo_schrab_gsa.page.1=合同管理部 - $ $ 法律部与DLA取得了突破. 他们授予我们450亿GSA计划, 用于进一步采购和研究saralloy. 根据目前的估计 -book_lore.memo_schrab_gsa.page.2=相关业务的利润至少为 40%%, 更不用说未来合同的可能性了. 由于保密性质,所有财务证据 都应保密. - +book_lore.memo_schrab_gsa.page.1=合同管理记录 - 法务部在与美国国防部后勤局的谈判中取得了突破。他们批准了450亿的联邦采购服务总署投资资金用于异变金属的采购与研究。 +book_lore.memo_schrab_gsa.page.2=就目前预期来看,这将至少产生40%的利润,更不必说以后行动所产生的利润,同时这将使我们未来有机会签订更多合同。鉴于此事的保密性质,所有财政证据都将为机密级别 book_lore.memo_schrab_rd.name=内部备忘录 -book_lore.memo_schrab_rd.page.1=研究与开发部 - $ $ 我们生产saralloy的主要方法是 使用新型粒子加速器. 然而, 与产量相比,能源成本过高. -book_lore.memo_schrab_rd.page.2=然而,Schrabauer博士发现 了一种新的相互作用, 称为 "奇异轻子振荡",可以 显著降低成本. 通过一个不完 全被理解的过程, 所提供的电 子通过一种 -book_lore.memo_schrab_rd.page.3=奇特的作用被转化为极高能 量的光子. 这是许多既定粒子 转化定律的极端例外, 但初步 实验证明,这些质子转变为 上下夸克,最终形成了 saralloy. -book_lore.memo_schrab_rd.page.4=奇怪的是,原型需要钨合金 和少量的 saralloy. 此外, 需要一个特殊的电容器来 抵消剩余的正电荷. - +book_lore.memo_schrab_rd.page.1=研发 - 目前我们主要生产方法是使用新型粒子加速器。然而,与产出量相比,能源成本高得惊人。 +book_lore.memo_schrab_rd.page.2=然而,Schrabauer博士发现了一种全新的相互作用——暂称为“奇异轻子振荡”——该作用可以显著降低生产成本。通过一个目前未被完全理解的的过程,提供的电子被一种奇特的“魔力”转化为极高能量的光子。 +book_lore.memo_schrab_rd.page.3=这是许多已明确的粒子转换定律的极端例外。但初步实验证明,这些质子先转变为上下夸克,最终形成了异变金属。奇怪的是,原型机中需要钨与少量异变金属合金化所得到的合金。 +book_lore.memo_schrab_rd.page.4=除此之外,还需要一个特殊的电容器用来抵消掉多余的正电荷。 book_lore.memo_schrab_nuke.name=研究报告 book_lore.memo_schrab_nuke.author=Schrabauer博士 -book_lore.memo_schrab_nuke.page.1=我们最近的调查使我们了 解了核爆炸对材料的影响. 感谢给我们的赠款, 我们 *意外地* 测试了 我们从铀直接合成 saralloy的理论. -book_lore.memo_schrab_nuke.page.2=以前只有我们的回旋加速 器真正创造了saralloy. 然而,在我们在埃弗沃彭 的地下拍摄中,在现场的 铀矿中发现了微量的saralloy. 附近所有纯金属铀都发生了 裂变. -book_lore.memo_schrab_nuke.page.3=因此,如果有足够多的铀 矿石集中在炸药周围, 甚至可能是一枚富含可裂 变材料的脏弹,人们可以 理论上制造出足够多的 saralloy来人工收集. - -cannery.f1=[ 按下 F1 思索 ] +book_lore.memo_schrab_nuke.page.1=最近的调查使我们了解了核爆炸对材料造成的影响。多亏外界给我们的赠款,我们*意外地*测试了铀直接合成异变金属的理论。 +book_lore.memo_schrab_nuke.page.2=而此前我们只在回旋加速器中制作出异变金属。但这次,我们在对Everwerpen的地下拍摄中,在该地点的铀矿石中发现了微量的异变金属。其附近所有的纯金属铀则都发生了裂变。 +book_lore.memo_schrab_nuke.page.3=因此,如果有足够多的铀矿石集中在核弹周围,甚至可能只需要一个富含裂变物质废料的脏弹,就有可能制造出质量大到可以被直接收集的异变金属。 +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.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.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=除了侧面的两个IO接口外,底部还有第三个隐藏IO接口,可以从中提取物品. -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.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=使用自动锯可以自动收割柳叶,它只会打碎准备收割的植物。 chem.ARSENIC=砷提取 chem.ASPHALT=沥青生产 chem.BAKELITE=电木生产 -chem.BALEFIRE=BF反物质火箭燃料混合 -chem.BP_BIOFUEL=生物燃料酯化合成 +chem.BALEFIRE=野火火箭燃料混合 +chem.BP_BIOFUEL=生物燃料酯化 chem.BP_BIOGAS=沼气生产 -chem.C4=C-4生产 -chem.CC_HEATING=民用燃油增产 -chem.CC_HEAVY=重油增产 -chem.CC_I=工业油增产 -chem.CC_NAPHTHA=石脑油增产 -chem.CC_OIL=原油增产 +chem.C4=C-4合成 +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.COALGAS_LEADED=含铅煤汽油混合 chem.COLTAN_CLEANING=钶钽铁矿提纯 chem.COLTAN_CRYSTAL=钽结晶 -chem.COLTAN_PAIN=潘地曼尼南(III)钽生产 +chem.COLTAN_PAIN=Pn(III)钽铁溶液生产 chem.CONCRETE=混凝土生产 chem.CONCRETE_ASBESTOS=石棉夹层混凝土生产 -chem.COOLANT=冷却液生产 +chem.COOLANT=冷却液混合 chem.CORDITE=无烟火药生产 -chem.CRYOGEL=超低温凝胶混合 -chem.DESH=德什金属锭生产 -chem.DEUTERIUM=氘提取 -chem.DUCRETE=贫化铀混凝土合成 +chem.CRYOGEL=冷凝胶混合 +chem.DESH=Desh生产 +chem.DEUTERIUM=氘萃取 +chem.DUCRETE=贫铀混凝土生产 chem.DYN_DNT=双聚中子态素合成 -chem.DYN_EUPH=Ep金属元素合成 -chem.DYN_SCHRAB=Sa326异变铀金属合成 +chem.DYN_EUPH=Ep合成 +chem.DYN_SCHRAB=Sa326合成 chem.DYNAMITE=炸药合成 chem.ELECTROLYSIS=低温电解水 chem.EPEARL=末影珍珠合成 @@ -472,98 +470,95 @@ 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.FR_PETROIL=汽油混合 +chem.FR_REOIL=原油再加工 +chem.FRACKSOL=压裂液生产 +chem.GASOLINE=含铅汽油生产 +chem.GASOLINE_LEADED=含铅汽油混合 +chem.HEAVY_ELECTROLYSIS=低温电解重水 +chem.HELIUM3=使用月球草皮提取氦-3 +chem.KEVLAR=凯夫拉生产 chem.LPG=石油天然气液化 -chem.LUBRICANT=混合润滑剂合成 +chem.LUBRICANT=润滑剂混合 chem.METH=甲基苯丙胺合成 -chem.NITAN=NITAN© 100 超级辛烷燃料混合 +chem.NITAN=NITAN牌超级燃料混合 chem.NITRIC_ACID=硝酸生产 chem.OIL_SAND=沥青砂提取 -chem.OSMIRIDIUM_DEATH=铱锇酸溶液生产 +chem.OSMIRIDIUM_DEATH=锇酸溶液生产 chem.PEROXIDE=过氧化氢生产 -chem.PET=PET聚酯合成 -chem.PETROIL_LEADED=混机油汽油铅混合 +chem.PET=PET合成 +chem.PETROIL_LEADED=含铅石油混合 chem.POLYMER=聚合物合成 chem.PUF6=六氟化钚生产 -chem.PC=硬质塑料棒合成 -chem.PVC=PVC聚乙烯棒合成 -chem.RUBBER=橡胶合成 -chem.SAS3=三硫化Sa326生产 +chem.RUBBER=橡胶生产 +chem.SAS3=三硫化Sa生产 chem.SATURN=土星锭生产 -chem.SCHRABIDATE=Sa326元素酸化铁生产 -chem.SCHRABIDIC=Sa326元素酸化混合 +chem.SCHRABIDATE=Sa酸铁生产 +chem.SCHRABIDIC=Sa酸合成 chem.SF_BIOFUEL=生物燃料固化 chem.SF_BIOGAS=沼气固化 chem.SF_DIESEL=柴油凝固 chem.SF_GAS=天然气固化 -chem.SF_HEATINGOIL=民用燃油固化 +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_PETROIL=石油固化 chem.SF_PETROLEUM=石油气固化 chem.SF_RECLAIMED=再生油固化 chem.SF_SMEAR=工业油固化 chem.SOLID_FUEL=固体火箭燃料生产 chem.SOLVENT=有机溶剂混合 -chem.STEAM=蒸汽生产 +chem.STEAM=烧水 chem.SULFURIC_ACID=硫酸生产 -chem.TATB=TATB三氨基三硝基苯合成 -chem.TEL=四乙基铅抗爆剂混合 +chem.TATB=TATB合成 +chem.TEL=四乙基铅混合 chem.TEST=测试 chem.TNT=TNT合成 chem.UF6=六氟化铀生产 chem.VIT_GAS=气态核废料玻璃化 chem.VIT_LIQUID=液态核废料玻璃化 chem.XENON=林德循环制氙 -chem.XENON_OXY=增强型林德循环制氙 +chem.XENON_OXY=增强林德循环制氙 chem.YELLOWCAKE=黄饼生产 - -container.amsBase=AMS基座 [装饰] -container.amsEmitter=AMS激发装置 [装饰] -container.amsLimiter=AMS稳定力场发生装置 [装饰] -container.anvil=%s 级砧 +container.amsBase=AMS基座(装饰) +container.amsEmitter=AMS发射极(装饰) +container.amsLimiter=AMS稳能器(装饰) +container.anvil=砧 container.arcFurnace=电弧炉 container.armorTable=装甲改装台 container.assembler=装配机 -container.autocrafter=自动化工作台 +container.autocrafter=自动工作台 container.barrel=桶 -container.bat9000="巨臀"9000号储罐 -container.battery=储能量 +container.bat9000=巨尻-9000 储罐 +container.battery=储能 container.bombMulti=多用途炸弹 -container.catalyticReformer=催化重整装置 +container.catalyticReformer=催化重整器 container.centrifuge=离心机 -container.chemplant=化工装置 +container.chemplant=化工厂 container.compactLauncher=紧凑型发射台 -container.craneBoxer=传送带打包器 -container.craneExtractor=传送带输出器 -container.craneGrabber=传送带抓取器 -container.craneInserter=传送带输入器 -container.craneRouter=传送带分流器 -container.craneUnboxer=传送带解包器 -container.crateDesh=德什制箱子 +container.craneBoxer=输送带打包机 +container.craneExtractor=输送带提取器 +container.craneGrabber=输送带抓斗 +container.craneInserter=输送带导入器 +container.craneRouter=传送路由器 +container.craneUnboxer=输送带解包机 +container.crateDesh=Desh箱 container.crateIron=铁箱 container.crateSteel=钢箱 container.crateTungsten=钨箱 -container.crystallizer=矿物结晶机 +container.crystallizer=矿物酸化器 container.cyclotron=回旋加速器 container.dfcCore=暗核聚变堆核心 -container.dfcEmitter=DFC激发装置 -container.dfcInjector=DFC燃料注入装置 -container.dfcReceiver=DFC接收装置 -container.dfcStabilizer=DFC聚变稳定器 +container.dfcEmitter=DFC发射器 +container.dfcInjector=DFC燃料喷射器 +container.dfcReceiver=DFC接收器 +container.dfcStabilizer=DFC稳定器 container.diFurnace=高炉 -container.diFurnaceRTG=核能高炉 +container.diFurnaceRTG=核高炉 container.electricFurnace=电炉 container.epress=电动锻压机 container.factoryAdvanced=高级工厂 @@ -571,623 +566,602 @@ container.factoryTitanium=工厂 container.fluidtank=储罐 container.fileCabinet=文件柜 container.forceField=力场发生器 -container.frackingTower=压裂式钻塔 -container.furnaceCombination=组合炉 -container.furnaceIron=铁制熔炉 -container.furnaceSteel=钢制熔炉 +container.frackingTower=水力压裂塔 +container.furnaceCombination=复式炼焦炉 +container.furnaceIron=铁炉 +container.furnaceSteel=钢炉 container.fusionMultiblock=大型聚变反应堆 container.fusionaryWatzPlant=Watz聚变反应堆 container.gasCentrifuge=气体离心机 -container.gasFlare=废气燃烧塔 -container.generator=核反应堆(旧) -container.hadron=粒子加速对撞分析机 +container.gasFlare=高架火炬 +container.generator=研究型反应堆 +container.hadron=粒子加速器 container.heaterFirebox=燃烧室 container.heaterHeatex=热交换器 -container.heaterOilburner=液体燃料燃烧室 +container.heaterOilburner=流体燃烧器 container.heaterOven=加热炉 container.iGenerator=工业发电机 container.keyForge=锁匠桌 container.launchPad=导弹发射台 -container.launchTable=大型导弹发射台 -container.leadBox=安全箱 -container.machineBoiler=原油加热器 +container.launchTable=大型发射台 +container.leadBox=安全盒 +container.machineBoiler=锅炉 container.machineCMB=CMB炼钢炉 container.machineCoal=火力发电机 container.machineCoker=焦化装置 container.machineCrucible=坩埚 container.machineDiesel=柴油发电机 -container.machineElectricBoiler=电力原油加热器 -container.machineFEL=FEL +container.machineElectricBoiler=电锅炉 +container.machineFEL=FEL自由电子激光器 container.machineITER=聚变反应堆 container.machineLargeTurbine=工业汽轮机 container.machineLiquefactor=液化机 -container.machineMixer=工业混合机 +container.machineMixer=工业搅拌机 container.machineRefinery=炼油厂 -container.machineSelenium=星型径向性能发电机 +container.machineSelenium=星型发动机 container.machineShredder=粉碎机 -container.machineSILEX=同位素激光分离室 +container.machineSILEX=SILEX激光同位素分离室 container.machineSolidifier=固化机 container.machineTurbine=汽轮机 -container.machineTurbofan=涡扇发电机 -container.machine_deuterium=氘提取器 -container.machine_schrabidium_transmutator=Sa326异变铀金属嬗变装置 -container.massStorage=存储器 +container.machineTurbofan=涡扇发动机 +container.machine_schrabidium_transmutator=Sa326嬗变装置 +container.massStorage=存储 container.microwave=微波炉 -container.miningDrill=采矿钻机 -container.miningLaser=自动激光采矿钻机 -container.missileAssembly=自定义导弹装配台 +container.miningDrill=自动采矿钻机 +container.miningLaser=采矿激光 +container.missileAssembly=导弹装配台 container.nukeBoy=小男孩 container.nukeCustom=自定义核弹 container.nukeFleija=F.L.E.I.J.A. -container.nukeFstbmb=BF炸弹 +container.nukeFstbmb=野火炸弹 container.nukeFurnace=核熔炉 container.nukeGadget=小玩意 container.nukeMan=胖子 container.nukeMike=常青藤迈克 -container.nukeN2=N²炸弹 +container.nukeN2=N2炸弹 container.nukeN45=N45水雷 container.nukePrototype=原型 container.nukeSolinium=蔚蓝洗礼 container.nukeTsar=沙皇炸弹 -container.oilWell=石油钻井塔 +container.oilWell=钻油塔 container.orbus=重型反物质储罐 container.plasmaHeater=等离子加热器 container.press=火力锻压机 container.puf6_tank=六氟化钚储罐 -container.pumpjack=梁式抽油机 +container.pumpjack=石油钻机 container.radGen=辐射能量发电机 container.radar=雷达 -container.radiobox=FM调频发射机 -container.radiolysis=RTG发电机与辐解室 -container.radiorec=FM调频收音机 +container.radiobox=FM发射机 +container.radiolysis=RTG辐射裂解室 +container.radiorec=FM收音机 container.rbmkBoiler=RBMK石墨式反应堆蒸汽管道 container.rbmkControl=RBMK石墨式反应堆控制棒 container.rbmkControlAuto=RBMK石墨式反应堆自动控制棒 -container.rbmkHeater=RBMK石墨式反应堆流体加热器 +container.rbmkHeater=RBMK流体加热器 container.rbmkOutgasser=RBMK石墨式反应堆辐照通道 -container.rbmkReaSim=RBMK石墨式反应堆燃料棒(雷西姆) +container.rbmkReaSim=RBMK石墨式反应堆燃料棒 (ReaSim) container.rbmkRod=RBMK石墨式反应堆燃料棒 -container.rbmkStorage=RBMK石墨式反应堆存储柱 +container.rbmkStorage=RBMK 燃料存储棒 container.reactorBreeding=增殖反应堆 -container.reactorControl=反应堆远程控模块 +container.reactorControl=反应堆遥控模块 container.reactorLarge=大型核反应堆 -container.reactorResearch=研究性核反应堆 +container.reactorResearch=研究型反应堆 container.reix=Rei-X主机 container.rtg=放射性同位素发电机 container.rtgFurnace=放射性同位素热力炉[RTG] -container.rttyReceiver=红石无线信号接收器 -container.rttySender=红石无线信号发送器 +container.rttyReceiver=无线红石接收器 +container.rttySender=无线红石发射器 container.safe=保险箱 container.satDock=卸货平台 -container.satLinker=卫星ID管理器 +container.satLinker=卫星ID管理 container.siren=警报器 container.soyuzCapsule=货物着陆舱 -container.soyuzLauncher=联盟号巨型运载火箭发射平台 +container.soyuzLauncher=联盟号发射平台 container.storageDrum=核废料处理桶 -container.teleLinker=炮塔ID管理器 +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.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=锆诺克斯反应堆 - +container.vacuumDistill=真空炼油厂 +container.wasteDrum=乏燃料池 +container.watzPowerplant=Watz发电厂 +container.zirnox=锆诺克斯核反应堆 crucible.aa=高级合金生产 -crucible.cdalloy=镉钢合金生产 +crucible.cdalloy=镉钢生产 crucible.cmb=CMB钢生产 crucible.ferro=铀铁合金生产 -crucible.hematite=赤铁矿->铁 生产 +crucible.hematite=赤铁矿炼铁 crucible.hss=高速钢生产 -crucible.malachite=孔雀石->铜 生产 +crucible.malachite=孔雀石炼铜 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.blender=%1$s 被切割成了很小的,以Byte计数的单位. -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 因为被 %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.item.pileRod=§e用于插入钻削过的石墨$§e使用螺丝刀翘出$ -desc.item.rtgDecay=衰变为: %s -desc.item.rtgHeat=热量级别: %s -desc.item.wasteCooling=在乏燃料池中冷却 -desc.item.zirnoxBreedingRod=§2[ZIRNOX锆诺克斯反应堆增殖棒]$§e放在燃料棒旁边以增殖$§e持续 %d ticks -desc.item.zirnoxRod=§a[ZIRNOX锆诺克斯反应堆燃料棒]$§e产生 %1$d 热量每tick$§e持续 %2$d ticks -desc.gui.assembler.warning=§c错误:§r 错误:此装配机需要组装机模板! -desc.gui.chemplant.warning=§c错误:§r 此化工装置需要化学配方模板! -desc.gui.gasCent.enrichment=§2浓缩§r$铀浓缩需要多个离心机串联.$两个离心串联$将仅分离出铀238,$四个离心串联将完全分离六氟化铀. -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.radiolysis.desc=§9说明§r$这种RTG比其他RTG效率更高, $配有一个辐解室,$用于裂解和灭菌. -desc.gui.rtgBFurnace.desc=需要至少15级热量来进行加工$热量越多,运行速度越快$超过最大速度后多余的热量不会产生任何影响$短半衰期的靶丸可能会衰变 -desc.gui.rtg.heat=§e当前热量级别: %s -desc.gui.rtg.pellets=可接受的靶丸: +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.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.radiolysis.desc=§9说明§r$该RTG比其他RTG更高效,并且$配备了一个用于$裂解和灭菌的辐解室。 +desc.gui.rtgBFurnace.desc=处理$金-198需要至少15热量。此外,热量越多,运行速度越快$金-198可能会衰变为水银 +desc.gui.rtg.heat=§e当前热等级:%s +desc.gui.rtg.pellets=接受的靶丸: desc.gui.rtg.pelletHeat=%s (%s 热量) -desc.gui.rtg.pelletPower=%s (%s HE/tick) -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$二氧化碳将热量从反应堆核心转移到水中.$这会把水加热成蒸汽. $冷却和蒸汽生产的$效率取决于压力大小. -desc.gui.zirnox.pressure=§6压力§r$可以通过减少反应堆中的CO2量来降低压力.$但是, 压力过低, 冷却效率和$蒸汽产量会降低.$小心熔毁! -desc.gui.zirnox.warning1=§c错误:§r 反应堆正常运行$需要水! -desc.gui.zirnox.warning2=§c错误:§r 反应堆正常运行$需要二氧化碳! - -desc.item.ammo.con_accuracy2=- 精确度大大降低 +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_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=- 不推荐使用分导式多弹头M24核弹发射器发射 -desc.item.ammo.con_no_projectile=- 无弹丸 -desc.item.ammo.con_penetration=- 没有穿透力 +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.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_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=* 没有任何负面作用 lol -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=+ B.F.野火 -desc.item.ammo.pro_bomb_count=+ 增加炸弹数量 +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=* 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_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_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_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=+ 火箭 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_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/tick -desc.item.battery.dischargeRate=放电速率: %sHE/tick -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.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.ammoTypeAlt=辅助弹药: %s desc.item.gun.damage=伤害: %s - %s desc.item.gun.damageAlt=伤害: %s -desc.item.gun.lore=查看深入的传说 +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.rtgDecay=衰变为: %s -desc.item.rtgHeat=功率水平: %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.rtgDecay=衰变为:%s +desc.item.rtgHeat=功率级别:%s desc.item.storage.capacity=容量 %s%%s -desc.item.storage.proscons=to view pros cons list +desc.item.storage.proscons=查看利弊列表 desc.misc.357=.357 马格南 desc.misc.556=.223 雷明顿 -desc.misc.762=.308 温切斯特 -desc.misc.func=§n-- 功能 -- +desc.misc.762=.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.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 ticks -desc.item.zirnoxRod=§a[ZIRNOX镁诺克斯反应堆燃料棒]$§eGenerates %1$d 热量每tick$§e持续 %2$d ticks - -digamma.playerDigamma=玩家Ϝ迪伽马辐照水平: -digamma.playerHealth=玩家所受Ϝ迪伽马辐照影响: -digamma.playerRes=玩家Ϝ迪伽马防护水平: -digamma.title=玩家Ϝ迪伽马辐射自检器 - -entity.entity_cyber_crab.name=机械螃蟹 -entity.entity_elder_one.name=Quackos古老者 +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_ntm_fbi.name=FBI特工(暴徒) +entity.entity_ntm_fbi.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_taint_crab.name=腐化机械螃蟹 -entity.entity_tesla_crab.name=磁暴机械螃蟹 -entity.hbm.entity_balls_o_tron.name=世-界-毁-灭-者 O-TRON -entity.hbm.entity_balls_o_tron_seg.name=世-界-毁-灭-者 O-TRON 躯干 +entity.entity_mob_volatile_creeper.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=弹片 - -flare.ignition=点火开关 -flare.valve=燃气阀门 - +entity.hbm.entity_schrabnel.name=Schrabnel +flare.ignition=点火装置 +flare.valve=流量阀 fluid.acid_fluid=酸 fluid.corium_fluid=堆芯熔融物 fluid.mud_fluid=毒泥 -fluid.schrabidic_fluid=Sa326元素酸液 +fluid.schrabidic_fluid=Sa酸 fluid.toxic_fluid=绿色软泥 -fluid.volcanic_lava_fluid=火山岩浆 - -foundry.filter=过滤: %s -foundry.inverted=红石控制反转 +fluid.volcanic_lava_fluid=火山熔岩 +foundry.filter=筛选器:%s +foundry.inverted=红石信号反转 foundry.invertFilter=过滤器反转 -foundry.noCast=未安装模具! - -geiger.chunkRad=当前区块辐射量: +foundry.noCast=未安装模具! +geiger.chunkRad=当前区块辐射: geiger.envRad=环境总辐射量: -geiger.playerRad=玩家辐射量: -geiger.playerRes=玩家辐射抗性: -geiger.title=盖格计数器 -geiger.title.dosimeter=放射量测定器 - -gun.make.ARMALITE=阿玛莱特 -gun.make.AUTO_ORDINANCE=AOC美国自动武器公司 -gun.make.BAE=BAE系统公司 +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=魔方2: 醋焖牛肉 -gun.make.ENZINGER=恩辛格联盟 -gun.make.EQUESTRIA=小马国导弹系统公司 -gun.make.FLIMFLAM="欺骗" 工业 -gun.make.F_STRONG=斯特朗堡 -gun.make.GLORIA=格洛里亚股份有限公司 +gun.make.CERIX=赛里克斯·马格努斯锻造世界 +gun.make.COLT=柯尔特制造公司 +gun.make.COMBINE=世界工会 +gun.make.CUBE=Cube 2: Sauerbraten +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.H_AND_K=黑克勒和科赫武器公司 +gun.make.H_AND_R=哈林顿-理查森武器公司 gun.make.IF=蹄铁军工 -gun.make.IMI=以色列军事工业公司 -gun.make.IMI_BIGMT=以色列军事工业公司 / 巨山研发中心 -gun.make.LANGFORD=兰福德研究实验室 +gun.make.IMI=以色列军事工业 +gun.make.IMI_BIGMT=以色列军事工业公司/大型MT +gun.make.LANGFORD=朗福德研究实验室 gun.make.LUNA=月球防御公司 -gun.make.MAGNUM_R_IMI=马格南武器研究所 / 以色列军事工业公司 -gun.make.MANN=开放曼恩公司.. -gun.make.MAXIM=海勒姆·史蒂文斯·马克沁 -gun.make.METRO=<<地铁>>中的军械工人 +gun.make.MAGNUM_R_IMI=马格南研究公司 / 以色列军事工业公司 +gun.make.MANN=Open Mann公司 +gun.make.MAXIM=海勒姆·马克沁 +gun.make.METRO=地铁枪手 gun.make.MWT=MWT原型实验室 -gun.make.NAZI=埃尔马.威客兵工厂 +gun.make.NAZI=埃尔福特机械制造厂 gun.make.NONE=- -gun.make.RAYTHEON=雷神导弹系统公司 -gun.make.REMINGTON=雷明顿武器公司 +gun.make.RAYTHEON=导弹系统公司 +gun.make.REMINGTON=雷明登武器公司 gun.make.ROCKWELL=罗克韦尔国际公司 -gun.make.ROCKWELL_U=罗克韦尔国际公司? +gun.make.ROCKWELL_U=罗克韦尔国际公司? gun.make.RYAN=莱恩工业 -gun.make.SAAB=博福斯动力公司 -gun.make.SACO=萨科防务 / 美国军械 -gun.make.TULSKY=图拉兵工厂 -gun.make.UAC=联合航天公司 +gun.make.SAAB=萨博博福斯动力公司 +gun.make.SACO=萨科防卫军械 +gun.make.TULSKY=图拉武器厂 +gun.make.UAC=联合宇宙航空公司 gun.make.UNKNOWN=??? -gun.make.WESTTEK=西部科技 -gun.make.WGW=威廉·古斯特洛夫·沃克 -gun.make.WINCHESTER=温彻斯特连发轻武器公司 -gun.make.WINCHESTER_BIGMT=温彻斯特连发轻武器公司 / 巨山研发中心 - -gun.name.ar15_50=AR-15 .50 BMG 模式 -gun.name.baeAR=不列颠标准型突击步枪 -gun.name.bel=B.F.反物质蛋弹射器 -gun.name.benelli=Benelli M4 Super 90 -gun.name.benelliDrum=Benelli M4 Super 90 (Drum Magazine Modification) +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=曼提柯尔花纹爆弹枪 -gun.name.cPython=Colt Python -gun.name.cz53=CZ53单兵火神炮 -gun.name.cz57=CZ57复仇火神炮 -gun.name.dart=气动射针枪 -gun.name.deagle=IMI沙漠之鹰 -gun.name.emp=EMP磁暴步枪 -gun.name.extinguisher=PROTEX6kg灭火器 -gun.name.ffiV=普通左轮手枪 -gun.name.ffiVInox=强化左轮手枪 -gun.name.ffiVLead=核子左轮手枪 -gun.name.ffiVN1=梦魇左轮手枪(初代) -gun.name.ffiVN2=梦魇左轮手枪(黑暗) -gun.name.ffiVUltra=Sa326元素左轮手枪 -gun.name.ffivBling=黄金左轮手枪 -gun.name.ffivSatur=土星金属手枪 -gun.name.g36=Heckler & Koch Gewehr 36 -gun.name.gPistol=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卡尔火箭筒 -gun.name.ks23=萨缪尔-23大口径霰弹枪 -gun.name.lacunae=CZ33地狱火神 -gun.name.lasetDet=霍普维尔激光引爆器 -gun.name.lunaAR=1986 Bishamonten type Assault Rifle +gun.name.bolter=Manticora Pattern爆弹枪 +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 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 “后羿” 型反物质来复枪 -gun.name.lunaTWR=Time Warp Rifle -gun.name.m2=.50口径勃朗宁机枪, M2, HB -gun.name.m42=M-42战术核弹射器 -gun.name.m42MIRV=M-42 核弹弹射器"试验性子母弹头 -gun.name.m60= 7.62 mm口径机枪, M60 +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=通用MG3机枪 - .50 模式 -gun.name.mp40=Mp40冲锋枪 -gun.name.nerf=NERF blaster of unknown design -gun.name.osipr=看守者暗能量脉冲步枪 -gun.name.panz=坦克杀手54 -gun.name.quadro=四联装制导便携式电视制导导弹发射器 +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=斯坦.索尔的萨缪尔-23霰 -gun.name.spas12= -gun.name.spiw=H&R弗莱切特镖 -gun.name.stinger=FIM-92“毒刺”便携式防空导弹 -gun.name.stingerOneSky=天马防空导弹 -gun.name.supershotty=Double-Barreled Combat Shotgun -gun.name.tau=XVL1456 负陶子加农炮原型 -gun.name.tommy9=9mm口径M1A1冲锋枪 +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 Carbine +gun.name.topaz=重型火焰燃烧器 +gun.name.uacCarbine=UAC-41卡宾枪 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=先进制式霰弹枪 -gun.name.uzi=IMI乌齐冲锋枪 -gun.name.uziSatur=IMI D-25A乌齐冲锋枪 -gun.name.win1887=1887温彻斯特霰弹枪(原型) -gun.name.win1887Inox=1887温彻斯特霰弹枪(黑暗) -gun.name.win20Inox=温彻斯特拉栓步枪(原型) -gun.name.win20Poly=温彻斯特拉栓步枪(绿) -gun.name.win20Satur=D-25A星辉金属温彻斯特来复枪 -gun.name.zomg=EMC101棱镜负能量加农炮 - -hadron.analysis=分析中... -hadron.buttonOn=分析室(如有)开启 +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_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=错误 0x07 [分析室过短] -hadron.error_diode_collision=错误 0x08 [粒子与肖特基粒子二极管碰撞] -hadron.error_branching_turn=错误 0x09 [转弯处分岔] -hadron.hopper0=§e普通模式:$所有物品都可用来对撞. -hadron.hopper1=§e过滤模式:$对撞机输入口将始终保留一个物品. -hadron.idle=闲置 -hadron.modeCircular=§e环形加速器模式:$磁力加速通道必须接回加速器核心.$很多制造配方所要求的模式. -hadron.modeLine=§e直线加速器模式:$加速器末端有分析室.$可用的制造配方更少. -hadron.noresult=无结果. +hadron.error_analysis_too_short=错误 0x06 [分析室过长] +hadron.error_diode_collision=错误 0x08 [二极管方向错误] +hadron.error_branching_turn=错误 0x09 [多处分支] +hadron.hopper0=§e正常模式:$将使用所有项目 +hadron.hopper1=§e料斗模式:$ 将始终保留一个项目 +hadron.idle=空闲 +hadron.modeCircular=§e环形加速器模式:$磁铁必须环绕核心$解锁更多配方 +hadron.modeLine=§e直线加速器模式:$加速器末端有分析室$更少的配方 +hadron.noresult=无结果 hadron.noresult_too_slow=推进力不足! -hadron.noresult_wrong_ingredient=无效配方! -hadron.noresult_wrong_mode=模式错误! +hadron.noresult_wrong_ingredient=无效配方! +hadron.noresult_wrong_mode=错误模式! hadron.progress=正在进行中... -hadron.stats=上次运行结果: -hadron.stats_coord=错误位置: %s / %s / %s -hadron.stats_momentum=推进力: % -hadron.success=完成! - -hazard.prot=可以提供的危害防护: -hazard.noprot=不能提供的危害防护: -hazard.bacteria=细菌 / 气溶胶 -hazard.corrosive=腐蚀性气体 -hazard.gasChlorine=化学毒气 -hazard.gasInert=惰性气体 / 窒息性气体 +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.light=亮光 hazard.nerveAgent=神经毒剂 -hazard.neverProtects=绝对不会提供的危害防护: -hazard.particleCoarse=大气漂浮颗粒物 -hazard.particleFine=颗粒物 -hazard.sand=眼球刺激物 - -hbm.key=NTM 热键 +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.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=装填 - +hbm.key.toggleBack=开关 喷气背包 +hbm.key.toggleHUD=开关 HUD +hbm.key.reload=装弹 hbmfluid.acid=过氧化氢 hbmfluid.amat=反物质 hbmfluid.aromatics=芳香烃 -hbmfluid.aschrab=反Sa326施布拉比迪物质 -hbmfluid.balefire=BF反物质火箭燃料 +hbmfluid.aschrab=反Sa326 +hbmfluid.balefire=野火火箭燃料 hbmfluid.biofuel=生物燃料 hbmfluid.biogas=沼气 hbmfluid.bitumen=沥青 -hbmfluid.blood=血液 -hbmfluid.blood_hot=热血液 +hbmfluid.blood=血 +hbmfluid.blood_hot=热的血 hbmfluid.carbondioxide=二氧化碳 hbmfluid.chlorine=氯气 hbmfluid.cholesterol=胆固醇溶液 -hbmfluid.coalcreosote=煤焦油杂酚油 +hbmfluid.coalcreosote=煤焦杂酚油 hbmfluid.coalgas=煤汽油 hbmfluid.coalgas_leaded=含铅煤汽油 -hbmfluid.coaloil=煤焦油 +hbmfluid.coaloil=煤液化油 hbmfluid.colloid=胶体 hbmfluid.coolant=冷却液 hbmfluid.coolant_hot=热冷却液 hbmfluid.crackoil=裂化油 -hbmfluid.cryogel=超低温凝胶 -hbmfluid.death=铱锇酸溶液 +hbmfluid.cryogel=冷凝胶 +hbmfluid.death=锇酸溶液 hbmfluid.deuterium=氘 hbmfluid.diesel=柴油 -hbmfluid.diesel_crack_reform=高辛烷值裂解柴油 +hbmfluid.diesel_crack=裂化柴油 +hbmfluid.diesel_crack_reform=高辛烷值裂化柴油 hbmfluid.diesel_reform=高辛烷值柴油 hbmfluid.egg=蛋溶解液 hbmfluid.estradiol=雌二醇溶液 -hbmfluid.diesel_crack=裂化柴油 -hbmfluid.diesel_crack_reform=高辛烷值裂解柴油 -hbmfluid.diesel_reform=高辛烷值柴油 hbmfluid.ethanol=乙醇 -hbmfluid.enderjuice=末影液 +hbmfluid.enderjuice=末影果汁 +hbmfluid.fishoil=鱼油 hbmfluid.fracksol=压裂液 hbmfluid.gas=天然气 hbmfluid.gas_coker=焦化气 -hbmfluid.gasoline=精制汽油 -hbmfluid.gasoline_leaded=含铅精制汽油 -hbmfluid.heatingoil=民用燃油 -hbmfluid.heatingoil_vacuum=加热重油 +hbmfluid.gasoline=含铅汽油基油 +hbmfluid.gasoline_leaded=含铅汽油 +hbmfluid.heatingoil=燃油 +hbmfluid.heatingoil_vacuum=重质燃油 hbmfluid.heavyoil=重油 -hbmfluid.heavyoil_vacuum=真空精炼重油 +hbmfluid.heavyoil_vacuum=减压重油 hbmfluid.heavywater=重水 hbmfluid.helium3=氦-3 hbmfluid.hotcrackoil=热裂化油 @@ -1200,31 +1174,31 @@ hbmfluid.kerosene_reform=喷气燃料 hbmfluid.lava=岩浆 hbmfluid.lightoil=轻油 hbmfluid.lightoil_crack=裂化轻油 -hbmfluid.lightoil_vacuum=真空精炼轻油 -hbmfluid.lpg=LPG -hbmfluid.lubricant=发动机润滑油 +hbmfluid.lightoil_vacuum=减压轻油 +hbmfluid.lpg=液化石油气 hbmfluid.lubricant=润滑油 hbmfluid.mercury=水银 -hbmfluid.mug=杯根啤酒 -hbmfluid.mug_hot=热杯根啤酒 +hbmfluid.mug=Mug牌树根饮料 +hbmfluid.mug_hot=热的Mug牌树根饮料 hbmfluid.mustardgas=芥子气 hbmfluid.naphtha=石脑油 hbmfluid.naphtha_coker=焦化石脑油 hbmfluid.naphtha_crack=裂化石脑油 -hbmfluid.nitan=NITAN© 100号超级燃料 +hbmfluid.nitan=NITAN牌100号超级燃料 hbmfluid.nitric_acid=硝酸 +hbmfluid.nitroglycerin=硝酸甘油 hbmfluid.none=无 hbmfluid.oil=原油 hbmfluid.oil_coker=焦化油 hbmfluid.oxygen=液氧 hbmfluid.oxyhydrogen=氢氧混合气 -hbmfluid.pain=潘地曼尼南(III)钽铁矿溶液 -hbmfluid.petroil=混机油汽油 -hbmfluid.petroil_leaded=含铅混机油汽油 +hbmfluid.pain=Pn(III) 钽铁溶液 +hbmfluid.petroil=汽油 +hbmfluid.petroil_leaded=含铅石油 hbmfluid.petroleum=石油气 hbmfluid.phosgene=光气 -hbmfluid.plasma_bf=B.F.反物质等离子体 -hbmfluid.plasma_dh3=氘-氦3等离子体 +hbmfluid.plasma_bf=野火等离子体 +hbmfluid.plasma_dh3=氘-氦3 等离子体 hbmfluid.plasma_dt=氘-氚等离子体 hbmfluid.plasma_hd=氢-氘等离子体 hbmfluid.plasma_ht=氢-氚等离子体 @@ -1232,24 +1206,25 @@ hbmfluid.plasma_xm=氙-汞等离子体 hbmfluid.puf6=六氟化钚 hbmfluid.radiosolvent=高性能溶剂 hbmfluid.reclaimed=再生油 +hbmfluid.redmud=红色泥浆 hbmfluid.reformate=重整油 hbmfluid.reformgas=重整气 hbmfluid.salient=绿色液体 -hbmfluid.sas3=三硫化Sa326溶液 -hbmfluid.schrabidic=Sa326元素酸液 -hbmfluid.seedslurry=播种研磨液 +hbmfluid.sas3=三硫化Sa +hbmfluid.schrabidic=Sa酸 +hbmfluid.seedslurry=播种浆料 hbmfluid.smear=工业油 hbmfluid.solvent=有机溶剂 -hbmfluid.sourgas=含硫天然气 -hbmfluid.sodiumhydroxide=氢氧化钠 +hbmfluid.sourgas=高硫天然气 hbmfluid.spentsteam=低压蒸汽 hbmfluid.steam=蒸汽 hbmfluid.sulfuric_acid=硫酸 -hbmfluid.superhotsteam=高热浓蒸汽 +hbmfluid.sunfloweroil=葵花籽油 +hbmfluid.superhotsteam=超热蒸汽 hbmfluid.syngas=合成气 hbmfluid.tritium=氚 hbmfluid.uf6=六氟化铀 -hbmfluid.ultrahotsteam=超热浓蒸汽 +hbmfluid.ultrahotsteam=超浓密蒸汽 hbmfluid.unsaturateds=不饱和烃 hbmfluid.wastefluid=液态核废料 hbmfluid.wastegas=气态核废料 @@ -1258,16 +1233,15 @@ hbmfluid.watz=毒泥浆 hbmfluid.woodoil=木油 hbmfluid.xenon=氙气 hbmfluid.xpjuice=经验汁 -hbmfluid.xylene=BTX苯-甲苯-二甲苯混合物 +hbmfluid.xylene=轻质芳烃(BTX) hbmpseudofluid.none=空 -hbmpseudofluid.heuf6=高浓缩度六氟化铀 -hbmpseudofluid.meuf6=中浓缩度六氟化铀 -hbmpseudofluid.leuf6=低浓缩度六氟化铀 -hbmpseudofluid.nuf6=未浓缩六氟化铀 +hbmpseudofluid.heuf6=高浓缩六氟化铀 +hbmpseudofluid.meuf6=中浓缩六氟化铀 +hbmpseudofluid.leuf6=低浓缩六氟化铀 +hbmpseudofluid.nuf6=天然浓度六氟化铀 hbmpseudofluid.pf6=六氟化钚 -hbmpseudofluid.mud_heavy=有毒污泥沉淀物 -hbmpseudofluid.mud=气态有毒污泥 - +hbmpseudofluid.mud_heavy=毒泥浆重馏分 +hbmpseudofluid.mud=毒泥浆气态物 hbmmat.actinium227=锕-227 hbmmat.advancedalloy=高级合金 hbmmat.aluminum=铝 @@ -1282,47 +1256,46 @@ hbmmat.bismuth=铋 hbmmat.borax=硼砂 hbmmat.boron=硼 hbmmat.cadmium=镉 -hbmmat.cadmium=镉 hbmmat.carbon=碳 -hbmmat.cdalloy=镉钢合金 +hbmmat.cdalloy=镉钢 hbmmat.cinnabar=朱砂 hbmmat.cmbsteel=CMB钢 hbmmat.coal=煤 hbmmat.coalcoke=焦煤 hbmmat.cobalt=钴 hbmmat.cobalt60=钴-60 -hbmmat.coltan=钶钽铁 +hbmmat.coltan=钶钽铁矿 hbmmat.copper=铜 -hbmmat.desh=德什 +hbmmat.desh=Desh hbmmat.dineutronium=双聚中子态素 hbmmat.durasteel=高速钢 -hbmmat.euphemium=Ep元素 -hbmmat.ferrouranium=铀铁 +hbmmat.euphemium=Ep +hbmmat.ferrouranium=铀铁合金 hbmmat.fiberglass=玻璃纤维 hbmmat.fluorite=氟石 -hbmmat.flux=焊剂 -hbmmat.ghiorsium336=气敖-336 +hbmmat.flux=助熔剂 +hbmmat.ghiorsium336=Gh-336 hbmmat.gold=金 hbmmat.gold198=金-198 hbmmat.graphene=石墨烯 hbmmat.graphite=石墨 -hbmmat.hematite=赤铁 +hbmmat.hematite=赤铁矿 hbmmat.iron=铁 hbmmat.lapis=青金石 hbmmat.lead=铅 hbmmat.lead209=铅-209 -hbmmat.lignitecoke=褐焦煤 +hbmmat.lignitecoke=褐煤焦煤 hbmmat.lignite=褐煤 hbmmat.lithium=锂 hbmmat.magnetizedtungsten=磁化钨 hbmmat.malachite=孔雀石 hbmmat.meteoriciron=陨铁 -hbmmat.mingrade=紫铜 +hbmmat.mingrade=工业级铜 hbmmat.neptunium237=镎-237 hbmmat.niobium=铌 -hbmmat.obsidian=黑曜石 -hbmmat.osmiridium=铱锇 -hbmmat.petcoke=石油焦 +hbmmat.obsidian=黑曜岩 +hbmmat.osmiridium=铱锇合金 +hbmmat.petcoke=石油焦炭 hbmmat.pigiron=生铁 hbmmat.plutonium=钚 hbmmat.plutonium238=钚-238 @@ -1333,22 +1306,22 @@ hbmmat.plutoniumrg=反应堆级钚 hbmmat.polonium210=钋-210 hbmmat.polymer=聚合物 hbmmat.radium226=镭-226 -hbmmat.redphosphorus=紫铜 +hbmmat.redphosphorus=红磷 hbmmat.redstone=红石 hbmmat.rubber=橡胶 hbmmat.saltpeter=硝石 -hbmmat.saturnite=土星 -hbmmat.schrabidate=Sa326元素酸化铁 -hbmmat.schrabidium=Sa326异变铀金属 -hbmmat.schraranium=低丰度Sa326异变铀金属 +hbmmat.saturnite=土星锭 +hbmmat.schrabidate=Sa酸铁 +hbmmat.schrabidium=低丰度Sa326 +hbmmat.schraranium=Sa326 hbmmat.slag=炉渣 -hbmmat.solinium=Sa327索林 -hbmmat.starmetal=星辉金属 +hbmmat.solinium=Sa327 +hbmmat.starmetal=星辉 hbmmat.steel=钢 hbmmat.stone=石头 hbmmat.sulfur=硫 hbmmat.tantalum=钽 -hbmmat.tcalloy=锝-钢合金 +hbmmat.tcalloy=锝钢 hbmmat.technetium99=锝-99 hbmmat.titanium=钛 hbmmat.thorium232=钍-232 @@ -1359,9 +1332,8 @@ hbmmat.uranium235=铀-235 hbmmat.uranium238=铀-238 hbmmat.watzmud=毒泥浆 hbmmat.whitephosphorus=白磷 -hbmmat.workersalloy=德什 +hbmmat.workersalloy=Desh hbmmat.wroughtiron=锻铁 - matshape.block=%s 块 matshape.blocks=%s 块 matshape.ingot=%s 锭 @@ -1370,27 +1342,25 @@ matshape.nugget=%s 粒 matshape.nuggets=%s 粒 matshape.quantum=%s 量子 matshape.quanta=%s 量子 - -info.asbestos=这些石棉尘让我的肺像在燃烧一样. -info.coaldust=这些煤尘让我难以呼吸. -info.coil=加速线圈磁场强度 -info.templatefolder=使用 %s 制作 +info.asbestos=我感觉我的肺在燃烧。 +info.coaldust=在这里很难呼吸。 +info.coil=线圈强度 +info.templatefolder=需要使用机器模板文件夹创建 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=AJR动力装甲 靴子 -item.ajro_helmet.name=AJR动力装甲 头盔 -item.ajro_legs.name=AJR动力装甲 护腿 -item.ajro_plate.name=AJR动力装甲 胸甲 +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=高级合金头盔 @@ -1400,191 +1370,187 @@ 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_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子弹[穿甲弹] -item.ammo_22lr_chlorophyte.name=.22 LR弹药 [绿藻] -item.ammo_357_desh.name=.357马格南德什子弹 +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马格南子弹[穿甲弹] +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_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子弹[穿甲弹] -item.ammo_45_du.name=.45 ACP子弹[贫铀涂层] -item.ammo_4gauge.name=四口径鹿弹 -item.ammo_4gauge_balefire.name=23mmB.F.反物质榴弹 -item.ammo_4gauge_canister.name=23mm火箭弹[榴霰弹] -item.ammo_4gauge_claw.name=4口径金属破片弹 +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_flechette.name=4号箭霰弹 +item.ammo_4gauge_flechette_phosphorus.name=4号箭霰弹[白磷] item.ammo_4gauge_kampf.name=23mm火箭弹 -item.ammo_4gauge_sleek.name=4口径鹿弹[IF-R&D] -item.ammo_4gauge_slug.name=四口径实心独头弹 -item.ammo_4gauge_titan.name=四口径泰坦杀手弹 -item.ammo_4gauge_semtex.name=23mm挖掘榴弹 -item.ammo_4gauge_sleek.name=4口径霰弹[IF-R&D] -item.ammo_4gauge_vampire.name=4口径反吸血鬼木桩霰弹 -item.ammo_4gauge_void.name=4口径电离子霰弹 +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子弹[穿甲弹] -item.ammo_50ae_chlorophyte.name=.50 AE弹药绿藻] -item.ammo_50ae_du.name=.50AE子弹[贫铀涂层] -item.ammo_50ae_star.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=.50 BMG子弹[穿甲弹] -item.ammo_50bmg_chlorophyte.name=.50 BMG弹药[绿藻] -item.ammo_50bmg_du.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_phosphorus.name=.50BMG子弹[白磷] item.ammo_50bmg_sleek.name=.50BMG子弹[IF-R&D] -item.ammo_50bmg_star.name=.50BMG子弹[星辉金属] +item.ammo_50bmg_star.name=.50BMG子弹[星辉] item.ammo_556.name=5.56mm子弹 -item.ammo_556_ap.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_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_chlorophyte.name=5.56mm弹药[绿藻] -item.ammo_556_phosphorus.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 Round[曳光弹] +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_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 爆弹枪火箭推进弹药[燃烧] -item.ammo_75bolt_he.name=.75 爆弹枪火箭推进弹药[高爆] +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子弹[穿甲弹] -item.ammo_762_du.name=7.62mm子弹[贫铀涂层] -item.ammo_762_k.name=7.62mmK-子弹 -item.ammo_762_phosphorus.name=7.62mm子弹[白磷弹] -item.ammo_762_tracer.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子弹[穿甲弹] -item.ammo_9mm_chlorophyte.name=9mm弹药[绿藻] -item.ammo_9mm_du.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_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_nuke.name=16" 重炮核炮弹 -item.ammo_arty_phosphorus.name=16" 白磷重炮炮弹 -item.ammo_arty_phosphorus_multi.name=16" 集束白磷重炮炮弹 -item.ammo_cell.name=能量电池 +item.ammo_arty.name=16英寸炮弹 +item.ammo_arty_cargo.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_nuke.name=16英寸核炮弹 +item.ammo_arty_phosphorus.name=16英寸磷炮弹 +item.ammo_arty_phosphorus_multi.name=16英寸多弹头磷炮弹 +item.ammo_cell.name=能量单元 item.ammo_container.name=万能弹药盒 -item.ammo_dart.name=塑料飞镖 [凋零] -item.ammo_dart_nerf.name=NERF飞镖 -item.ammo_dart_nuclear.name=塑料飞镖 [定时爆炸] -item.ammo_fireext.name=灭火器水罐 -item.ammo_fireext_foam.name=灭火器泡沫罐 -item.ammo_fireext_sand.name=灭火器硼砂罐 -item.ammo_dgk.name=200发双管近防炮"霍华德"弹药箱 +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_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_fuel_vaporizer.name=汽化罐 item.ammo_grenade.name=40mm榴弹 item.ammo_grenade_concussion.name=40mm榴弹[震荡] -item.ammo_grenade_finned.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_nuclear.name=40mm榴弹[核子] -item.ammo_grenade_phosphorus.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_toxic.name=40mm榴弹[化学] item.ammo_grenade_tracer.name=40mm训练榴弹 -item.ammo_himars_standard.name=227mm 制导火炮火箭吊舱 -item.ammo_himars_standard_he.name=227mm 制导火炮火箭吊舱(高爆弹头) -item.ammo_himars_standard_mini_nuke.name=227mm 制导火炮火箭吊舱(小型核弹头) -item.ammo_himars_standard_tb.name=227mm 制导火炮火箭吊舱(温压弹头) -item.ammo_himars_standard_wp.name=227mm 制导火炮火箭吊舱(白磷弹头) -item.ammo_himars_single.name=610mm 制导火炮火箭吊舱 -item.ammo_himars_single_tb.name=610mm制导火炮火箭吊舱(温压弹头) -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=迷你 MILV +item.ammo_himars_standard.name=M28制导火箭炮系统火箭弹舱 +item.ammo_himars_standard_he.name=227毫米制导火箭炮系统火箭吊舱(HE) +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_high.name=迷你核弹 (高当量) +item.ammo_nuke_low.name=迷你核弹 (低当量) item.ammo_nuke_pumpkin.name=南瓜炸弹 -item.ammo_nuke_safe.name=迷你核弹 (安全) -item.ammo_nuke_tots.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_canister.name=84mm 火箭弹[榴霰弹] item.ammo_rocket_digamma.name=§4归 零§r -item.ammo_rocket_emp.name=84mm火箭弹[EMP电磁脉冲] +item.ammo_rocket_emp.name=84mm火箭弹[EMP] item.ammo_rocket_glare.name=84mm火箭弹[红光] -item.ammo_rocket_he.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_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_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=240mmW9核炮弹 +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.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=空白反应催化剂 @@ -1593,36 +1559,36 @@ 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_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_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=暮光闪闪的皇冠[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.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.analyzer.name=分析仪 -item.anchor_remote.name=召回装置 +item.anchor_remote.name=召回设备 item.antiknock.name=四乙基铅抗爆剂 -item.apple_euphemium.name=Ep元素苹果 +item.apple_euphemium.name=Ep苹果 item.apple_lead.name=铅苹果 -item.apple_schrabidium.name=Sa326异变铀金属苹果 +item.apple_schrabidium.name=Sa326苹果 item.arc_electrode.name=石墨电极 -item.arc_electrode_burnt.name=熔化的电极 -item.arc_electrode_desh.name=德什电极 -item.armor_polish.name=闪甲™ 盔甲抛光剂 +item.arc_electrode_burnt.name=熔化电极 +item.arc_electrode_desh.name=Desh电极 +item.armor_polish.name=亮甲牌装甲抛光剂 item.asbestos_boots.name=防火靴 item.asbestos_cloth.name=防火布 item.asbestos_helmet.name=防火头盔 @@ -1634,82 +1600,82 @@ 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=德什子弹[待装配] +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=月都科技狙击枪子弹[待装配] +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_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_steel.name=铅子弹[待装配] item.assembly_template.name=装配机模板: item.assembly_uzi.name=.22 LR子弹[待装配] -item.attachment_mask.name=可接入式防毒面具 -item.attachment_mask_mono.name=可接入式防护面罩 +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=火腿BF蛋 -item.balefire_and_steel.name=BF打火器 -item.balefire_scrambled.name=炒BF蛋 -item.ball_dynamite.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_tatb.name=TATB三氨基三硝基苯 -item.ball_tnt.name=TNT -item.ballistic_gauntlet.name=爆破拳套 +item.ball_tatb.name=三氨基三硝基苯(TATB) +item.ball_tnt.name=TNT炸药 +item.ballistic_gauntlet.name=冲击拳套 item.ballistite.name=混合无烟火药 -item.bandaid.name=绷带 +item.bandaid.name=邦迪创可贴 item.bathwater.name=有毒肥皂水 -item.bathwater_mk2.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_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_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=自充电锝-99电池 -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_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=崔克希电池 -item.beta.name=测试版功能 +item.battery_trixite.name=杂牌Spark电池 +item.beta.name=Bata测试版功能 item.big_sword.name=大剑 item.billet_actinium.name=锕-227坯料 -item.billet_am_mix.name=反应器级镅坯料 +item.billet_am_mix.name=反应堆级镅坯料 item.billet_am241.name=镅-241坯料 item.billet_am242.name=镅-242坯料 item.billet_americium_fuel.name=镅燃料坯料 @@ -1722,20 +1688,20 @@ 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=高浓缩度Sa326异变铀金属燃料坯料 -item.billet_les.name=低浓缩度Sa326异变铀金属燃料坯料 -item.billet_mox_fuel.name=MOX核燃料坯料 -item.billet_mox_fuel.desc=口袋摩西! +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=钋-210坯料 +item.billet_polonium.name=钋坯料 item.billet_pu_mix.name=反应堆级钚坯料 item.billet_pu238.name=钚-238坯料 item.billet_pu238be.name=钚238-铍坯料 @@ -1743,52 +1709,47 @@ 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_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_solinium.name=Sa327索林坯料 +item.billet_schrabidium.name=Sa326坯料 +item.billet_schrabidium_fuel.name= Sa326燃料坯料 +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_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=ZFB锆混合钚-241快速增殖坯料 +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.bio_wafer.name=海藻晶片 item.biomass.name=生物质 item.biomass_compressed.name=压缩生物质 item.bismuth_boots.name=铋凉鞋 item.bismuth_helmet.name=铋头饰 item.bismuth_legs.name=铋护膝 item.bismuth_pickaxe.name=铋镐 -item.bismuth_plate.name=铋质护肩, 项链和腰带 +item.bismuth_plate.name=铋质护肩、项链和腰带 item.bismuth_tool.name=磁力提取器 -item.bj_boots.name=§b[月 神]§r 铆钉靴 -item.bj_helmet.name=敌我目标实体识别仪 -item.bj_legs.name=§b[月 神]§r 神经接入式腿部外骨骼盔甲 -item.bj_plate.name=§b[月 神]§r 神经接入式全自动动力盔甲 -item.bj_plate_jetpack.name=§b[月 神]§r 神经接入式全自动动力盔甲(带等离子推进器) -item.black_diamond.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.blade_meteorite.name=陨石刀 +item.blade_titanium.name=钛扇片 +item.blade_tungsten.name=钨强化扇片 item.blades_advanced_alloy.name=高级合金刀片 -item.blades_aluminium.name=铝制刀片 -item.blades_combine_steel.name=CMB钢刀片 -item.blades_desh.name=德什制刀片 -item.blades_gold.name=金制刀片 -item.blades_iron.name=铁制刀片 -item.blades_schrabidium.name=Sa326异变铀金属刀片 +item.blades_desh.name=Desh制刀片 item.blades_steel.name=钢制刀片 item.blades_titanium.name=钛制刀片 item.blowtorch.name=喷灯 @@ -1801,16 +1762,16 @@ item.bobmazon_weapons.name=Bobmazon: 武器和爆炸物 item.bolt_compound.name=加强涡轮机轴 item.bolt_dura_steel.name=高速钢螺栓 item.bolt_tungsten.name=钨螺栓 -item.boltgun.name=气动铆钉枪 +item.boltgun.name=气动射钉枪 item.bomb_caller.name=空袭指示器 item.bomb_waffle.name=大规模杀伤性华夫饼 -item.book_guide.name=RBMK反应堆操作指导书 +item.book_guide.name=HBM指导书 item.book_of_.name=车厢书 item.book_secret.name=3-596-50802-9 item.bottle2_empty.name=空瓶 -item.bottle2_fritz.name=Fritz弗里茨可乐 -item.bottle2_fritz_special.name=第一Fritz可乐 -item.bottle2_korl.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=樱桃味核子可乐 @@ -1819,24 +1780,24 @@ 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.boy_bullet.name=铀235弹头 +item.bottle_rad.name=辐射S~核子可乐 +item.bottle_sparkle.name=S~核子可乐 +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.boy_target.name=次临界铀-235标靶 item.briquette.coal.name=煤球 -item.briquette.lignite.name=褐煤球 -item.briquette.wood.name=锯屑坯块 +item.briquette.lignite.name=褐煤煤球 +item.briquette.wood.name=木屑球 item.bucket_acid.name=一桶酸 item.bucket_mud.name=一桶毒泥 -item.bucket_schrabidic_acid.name=一桶Sa326元素酸液 +item.bucket_schrabidic_acid.name=一桶Sa酸 item.bucket_sulfuric_acid.name=一桶硫酸 item.bucket_toxic.name=一桶绿色软泥 item.burnt_bark.name=烧焦树皮 -item.burnt_bark.desc=从一棵爆炸的金橡树上剥下的树皮. +item.burnt_bark.desc=爆炸的金橡树的树皮。 item.can_bepis.name=白事 item.can_breen.name=布雷恩博士的私人珍藏 item.can_creature.name='生物'能量饮料 @@ -1844,96 +1805,95 @@ item.can_empty.name=空罐 item.can_key.name=罐头拉环 item.can_luna.name=黑梅萨露娜-黑可乐 item.can_mrsugar.name='糖博士'软饮料 -item.can_mug.name=杯根啤酒 -item.can_overcharge.name=超频'精神错乱' XT +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=凝固汽油桶(旧版遗物) -item.canister_naphtha.name=石脑油桶(旧版遗物) -item.canister_oil.name=原油桶(旧版遗物) -item.canister_petroil.name=混机油汽油桶(旧版遗物) -item.canister_reoil.name=再生工业油桶(旧版遗物) -item.canister_smear.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_asbestos.desc=尝尝石棉肺! item.canned_ass.name=驴罐头 -item.canned_ass.desc=100%% 优质驴肉!* +item.canned_ass.desc=100%优质驴肉!* item.canned_bark.name=松树皮罐头 item.canned_bark.desc=更加的“松”脆! item.canned_beef.name=牛肉罐头 -item.canned_beef.desc=几个世纪前,一头牛为此而死. +item.canned_beef.desc=几个世纪前,一头牛为此而死。 item.canned_bhole.name=黑洞罐头 -item.canned_bhole.desc=奇点是我肚子里的美味! +item.canned_bhole.desc=奇点是我肚肚里的美味! item.canned_cheese.name=融化奶酪罐头 -item.canned_cheese.desc=是奶酪?还是橡胶水泥?谁知道,又有谁在乎. +item.canned_cheese.desc=是奶酪吗?是橡胶水泥吗?谁知道,谁在乎。 item.canned_chinese.name=中餐罐头 -item.canned_chinese.desc=在中国,中餐就被叫做食物. +item.canned_chinese.desc=在中国,中餐被称为饭。 item.canned_diesel.name=柴油罐头 -item.canned_diesel.desc=我渐渐地就抖不出包袱了. +item.canned_diesel.desc=我渐渐地就抖不出包袱了 item.canned_fist.name=拳头罐头 item.canned_fist.desc=给你一拳! item.canned_fried.name=炸鸡罐头 -item.canned_fried.desc=连罐头都是油炸的! +item.canned_fried.desc=甚至罐头都是油炸的! item.canned_hotdogs.name=热狗罐头 -item.canned_hotdogs.desc=不要和冷猫混淆. -item.canned_jizz.name=FlimFlam工业™ 马奶罐头 +item.canned_hotdogs.desc=不要与冷猫混淆。 +item.canned_jizz.name=FlimFlam工业牌?马奶罐头 item.canned_jizz.desc=等等什么—— item.canned_kerosene.name=煤油罐头 -item.canned_kerosene.desc=想象一下这里有句好笑的俏皮话. +item.canned_kerosene.desc=想象一下这句俏皮的台词。 item.canned_leftovers.name=剩菜罐头 item.canned_leftovers.desc=你来的太迟了 item.canned_milk.name=罐装炼乳 -item.canned_milk.desc=炼奶2:比以前更像固体了! +item.canned_milk.desc=牛奶2:比以往任何时候都更固体! item.canned_mystery.name=神秘肉类罐头 -item.canned_mystery.desc=里面是什么?只有一种方法可以找到答案! +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_pashtet.name=牛排罐头 +item.canned_pashtet.desc=翻译服务不可用блядь! item.canned_pizza.name=意大利香肠比萨罐头 -item.canned_pizza.desc=危害人类罪. +item.canned_pizza.desc=反人类罪 item.canned_recursion.name=循环罐头 -item.canned_recursion.desc=循环罐头 -item.canned_spam.name=午餐肉罐头 -item.canned_spam.desc=段三分半钟的幽默剧是以布朗利虚构的绿侏儒咖啡馆为背景$一位女服务生与不喜欢吃午餐肉的本太太之间发生了争执,$女服务生背诵了一份几乎每道菜都含有午餐肉的菜单。$本太太要了一道没有午餐肉的菜,这让她爱吃午餐肉的丈夫大吃一惊。$女服务员也对这个要求很反感。$本先生提出要替换她的午餐肉,并要了一道含有大量午餐肉和烤豆的菜。$服务员拒绝了,因为烤豆子已经吃完了;$当本先生要求替换午餐肉时,女服务员再次表示厌恶。$有几次,餐厅里的一群维京人高声歌唱午餐肉,打断了谈话。$那个愤怒的女服务员命令他们闭嘴,但他们依旧大声唱歌。$这时一名匈牙利游客来到柜台,$试图用一本完全不准确的匈牙利语/英语手册(参考之前的小品)点菜。$紧接着这名匈牙利游客就被一名警察迅速护送离开。$然后这段幽默剧突然切换镜头,$一位历史学家在电视演播室谈论维京人在咖啡馆的起源。$他继续说,并开始越来越多地在每一句话中插入“午餐肉”一词。$然后背景被抬高,露出背后的餐厅场景。$那个历史学家加入了维京人的歌曲,本夫妇通过电线离开现场,而歌声还在继续。$在最初的电视表演中,结尾的字幕开始滚动,背景中仍然可以听到歌声。 +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_tube.desc=美味的蘑菇。 item.canned_tuna.name=金枪鱼罐头 -item.canned_tuna.desc=美味的糊状物. +item.canned_tuna.desc=我不知道那是金枪鱼还是干水泥。 item.canned_yogurt.name=酸奶罐头 -item.canned_yogurt.desc=可能坏掉了,但管它呢. +item.canned_yogurt.desc=可能坏掉了,但管它呢 item.canteen_13.name=Vault13水壶 item.canteen_fab.name=极品伏特加 item.canteen_vodka.name=伏特加 -item.cap_aluminium.name=铝盖 -item.cap_fritz.name=Fritz弗里茨可乐瓶盖 +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_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披风 @@ -1941,13 +1901,13 @@ 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_hidden.name=隐藏斗篷 item.cape_lpkukin.name=LPkukin披风 item.cape_nostalgia.name=DrNostalgia披风 item.cape_radiation.name=披风[辐射] -item.cape_schrabidium.name=披风[Sa326施布拉比迪] +item.cape_schrabidium.name=披风[Sa326] item.cape_vertice.name=Lord Vertice披风 -item.cart.crate.name=板条箱车 +item.cart.crate.name=板条箱运输车 item.cart.destroyer.name=废品销毁车 item.cart.empty.name=钢箱矿车 item.casing_357.name=.357马格南弹壳[x16] @@ -1958,7 +1918,7 @@ 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_anti_schrabidium.name=反Sa326单元 item.cell_antimatter.name=反物质单元 item.cell_balefire.name=气态野火单元 item.cell_deuterium.name=氘单元 @@ -1972,31 +1932,31 @@ 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.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_pickaxe.name=叶绿镐 -item.chocolate.name=伊蒂斯牌镭巧克力 -item.chocolate.desc=镭巧克力?很确定这只是冰毒. +item.chocolate.name=“我是-镭牌”巧克力 +item.chocolate.desc=镭巧克力?我很确定这是冰毒。 item.chocolate_milk.name=巧克力牛奶 item.chopper.name=猎人直升机 item.chopper_blades.name=猎人直升机旋翼 @@ -2017,47 +1977,47 @@ 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.chipset.name=星控 - 总芯片组 -item.circuit_star_component.cpu.name=星控 - 中央处理器 -item.circuit_star_component.ram.name=星控 - 内存 -item.circuit_star_piece.board_blank.name=星控 - 印刷电路板 -item.circuit_star_piece.board_transistor.name=星控 - 晶体管 -item.circuit_star_piece.bridge_bios.name=星控- BIOS基本输入输出系统芯片 -item.circuit_star_piece.bridge_bus.name=星控 - BUS总线 -item.circuit_star_piece.bridge_chipset.name=星控 - 芯片组 -item.circuit_star_piece.bridge_cmos.name=星控 - CMOS RAM随机存取存储器 -item.circuit_star_piece.bridge_io.name=星控 - IO芯片 -item.circuit_star_piece.bridge_north.name=星控 - 北桥芯片集 -item.circuit_star_piece.bridge_south.name=星控 - 南桥芯片集 -item.circuit_star_piece.cpu_cache.name=星控 - 中央处理器缓存 -item.circuit_star_piece.cpu_clock.name=星控 - CPU时钟 -item.circuit_star_piece.cpu_ext.name=星控 - 延伸砷半导体 -item.circuit_star_piece.cpu_logic.name=星控 - 算术逻辑单元 -item.circuit_star_piece.cpu_register.name=星控 - CPU寄存器 -item.circuit_star_piece.cpu_socket.name=星控 - CPU插座 -item.circuit_star_piece.mem_socket.name=星控 - 内存插座 -item.circuit_star_piece.mem_16k_a.name=星控 - 16k内存条插槽A -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_tantalium.name=电容器板 -item.circuit_tantalium_raw.name=电容器板组件 +item.circuit_star.name=星控制 电路板 +item.circuit_star.desc=目前无效,因为它缺少操作系统。 +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_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.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=德什覆层 -item.cladding_ghiorsium.name=石墨覆层 +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=两包BF-子弹 +item.clip_bf.name=两包野火子弹 item.clip_bolt_action.name=盒装12x74独头弹 item.clip_cryolator.name=急冻单元箱 item.clip_defabricator.name=毁灭者能量电池弹药带 @@ -2068,7 +2028,7 @@ item.clip_hp.name=墨水缸 item.clip_immolator.name=焚烧者燃料箱 item.clip_jack.name=盒装四联12x70鹿弹 item.clip_lever_action.name=盒装12x74鹿弹 -item.clip_mirv.name=三合一微型分导式多弹头核弹包 +item.clip_mirv.name=三合一微型MIRV包 item.clip_mp.name=小型无发射药机枪子弹盒 item.clip_mp40.name=9mm冲锋枪子弹盒 item.clip_osipr.name=AR2 弹盒 @@ -2081,7 +2041,7 @@ 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_revolver_schrabidium.name=Sa326弹药盒 item.clip_rpg.name=火箭弹箱 item.clip_spark.name=大型电磁子弹 item.clip_stinger.name=包装毒刺导弹 @@ -2100,11 +2060,11 @@ 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_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=钴护腿 @@ -2125,45 +2085,45 @@ item.coil_tungsten.name=加热线圈 item.coin_creeper.name=核爆爬行者硬币 item.coin_maskman.name=面具硬币 item.coin_radiation.name=辐射硬币 -item.coin_siege.name=围攻硬币 +item.coin_siege.name=围城硬币 item.coin_ufo.name=UFO硬币 -item.coin_worm.name=世-界-毁-灭-者 O-TRON 硬币 -item.coke.coal.name=焦煤 -item.coke.lignite.name=褐焦煤 -item.coke.petroleum.name=石油焦 -item.coltan_tool.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=CMB钢废料 item.component_emitter.name=发射器组件 item.component_limiter.name=稳定器组件 -item.containment_box.name=安全箱 +item.containment_box.name=安全盒 item.cordite.name=无烟线状火药 item.cotton_candy.name=放射性棉花糖 -item.crackpipe.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.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.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_charred.desc=优质硅酸盐,轻微灼烧。 +item.crystal_charred.desc.P11=也是一个真正的号角。奇怪吧? item.crystal_coal.name=煤晶体 item.crystal_cobalt.name=钴晶体 item.crystal_copper.name=铜晶体 @@ -2173,11 +2133,11 @@ 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_horn.desc=不是真正的号角。 +item.crystal_horn.desc.P11=真正的号角。 item.crystal_iron.name=铁晶体 -item.crystal_lapis.name=青金石晶体 item.crystal_lead.name=铅晶体 +item.crystal_lapis.name=青金石晶体 item.crystal_lithium.name=锂晶体 item.crystal_niter.name=硝石晶体 item.crystal_osmiridium.name=铱锇晶体 @@ -2185,9 +2145,9 @@ 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_schrabidium.name=低丰度Sa326晶体 +item.crystal_schraranium.name=Sa326晶体 +item.crystal_starmetal.name=星辉晶体 item.crystal_sulfur.name=硫晶体 item.crystal_thorium.name=钍晶体 item.crystal_titanium.name=钛晶体 @@ -2196,36 +2156,36 @@ item.crystal_tungsten.name=钨晶体 item.crystal_uranium.name=铀晶体 item.crystal_xen.name=人造X晶体 item.crt_display.name=阴极射线管 -item.cube_power.name=超立方体 +item.cube_power.name=电子块 item.custom_amat.name=自定义核弹-反物质棒 item.custom_dirty.name=自定义核弹-核废料棒 item.custom_fall.name=自定义核弹-掉落升级 -item.custom_fall.desc=这就是你们一一一一一直在等着想要的!$使自定义核弹被激活后可坠落 +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.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_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.debris_shrapnel.name=走道碎片 item.definitelyfood.name=完全不脏牌军粮 item.defuser.name=高科技拆弹装置 -item.defuser_gold.name=金制拆弹装置 -item.demon_core_closed.name=关闭的恶魔核心 -item.demon_core_open.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_arty_range.name=远程火炮遥控器 item.designator_manual.name=手动目标指示器 item.designator_range.name=远程目标指示器 item.detonator.name=起爆器 @@ -2235,76 +2195,76 @@ item.detonator_laser.name=激光起爆器 item.detonator_multi.name=多发起爆器 item.deuterium_filter.name=氘过滤器 item.diamond_gavel.name=钻石槌 -item.dieselsuit_boots.name=柴油动力装甲靴 +item.dieselsuit_boots.name=柴油动力高跟鞋 item.dieselsuit_helmet.name=柴油动力头戴式环境传感器 item.dieselsuit_legs.name=柴油动力腿部伺服系统 -item.dieselsuit_plate.name=柴油动力协调控制胸甲 -item.digamma_diagnostic.name=玩家Ϝ迪伽马辐射自检器 +item.dieselsuit_plate.name=柴油动力控制器 +item.digamma_diagnostic.name=玩家F-迪伽马辐射自检器 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_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.dosimeter.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.dosimeter.name=剂量计 +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.drax.name=采掘钻 item.drax_mk2.name=强化型采掘钻 -item.drax_mk3.name=Sa326异变铀金属采掘钻 +item.drax_mk3.name=Sa326采掘钻 item.ducttape.name=胶带 item.dust.name=灰尘 -item.dust.desc=我讨厌灰尘! -item.dust.desc.P11=又一个家伙化作了尘埃! +item.dust.desc=我讨厌灰尘! +item.dust.desc.P11=又一小撮灰尘! item.dust_tiny.name=一小撮灰尘 item.dynosphere_base.name=空白动力球 -item.dynosphere_desh.name=德什动力球 -item.dynosphere_desh_charged.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.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=BF蛋 -item.egg_balefire.desc=啥样的鸟能生出这样一颗高放射性的蛋? -item.egg_balefire_shard.name=BF蛋碎片 +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.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.euphemium_boots.name=Ep元素靴子 -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.entanglement_kit.desc=传送机制作零件$通过$铍增强型资源扫描仪实现尺寸转换。 +item.euphemium_boots.name=Ep靴子 +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.fallout.name=一堆辐射尘 item.fau_boots.name=Fau靴子 item.fau_helmet.name=Fau头盔 item.fau_legs.name=Fau护腿 @@ -2315,51 +2275,51 @@ 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=去除所有Ϝ迪伽马辐射, 给予10min的原子稳定性效果 +item.five_htp.name=5-羟色胺药丸 +item.five_htp.desc=移除所有迪伽马辐射,并获得10分钟稳定效果 item.flame_conspiracy.name=阴谋论 -item.flame_conspiracy.desc=钢梁不能熔化喷气燃料! +item.flame_conspiracy.desc=钢梁不能熔化喷气燃料! item.flame_opinion.name=个人观点 -item.flame_opinion.desc=好吧,我喜欢它... +item.flame_opinion.desc=呃,我喜欢... item.flame_politics.name=政治话题 -item.flame_politics.desc=唐纳德·特朗普将建一道新的"长城"! +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.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.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_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.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星辉金属弹头 -item.folly_bullet_du.name=12.8cm贫铀弹头 -item.folly_bullet_nuclear.name=12.8cm核弹头 +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=锕-227碎片 +item.fragment_actinium.name=锕碎片 item.fragment_boron.name=硼碎片 item.fragment_cerium.name=铈碎片 item.fragment_cobalt.name=钴碎片 -item.fragment_coltan.name=钶钽铁矿 +item.fragment_coltan.name=钶钽铁矿碎片 item.fragment_lanthanium.name=镧碎片 item.fragment_meteorite.name=陨石碎片 item.fragment_neodymium.name=钕碎片 @@ -2371,44 +2331,42 @@ 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_desh.name=Desh聚变反应堆覆层 item.fusion_shield_tungsten.name=钨聚变反应堆覆层 item.fusion_shield_vaporwave.name=蒸汽波反应堆覆层 - -item.gadget_core.name=大型钚核心 +item.gadget_core.name=钚核心 item.gadget_explosive.name=炸药 -item.gadget_explosive8.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=LPG罐 +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_combo.name=防毒面具组合式过滤器 item.gas_mask_filter_mono.name=催化性面罩过滤器 -item.gas_mask_filter_piss.name=高级的简易防毒面具过滤器 -item.gas_mask_filter_rag.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_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.gear_large.name=大型齿轮 +item.gear_large_steel.name=大型钢齿轮 item.geiger_counter.name=手持盖革计数器 -item.gem_alexandrite.name=紫翠宝石 -item.gem_tantalium.name=多晶体钽 -item.gem_tantalium.desc='钽' -item.gem_tantalium.desc.P11=又名钽. -item.gem_volcanic.name=火山晶石 +item.gem_alexandrite.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.goggles.name=护目镜 -item.grenade_aschrab.name=可抛反Sa326异变铀金属 +item.grenade_aschrab.name=可抛反Sa326 item.grenade_black_hole.name=黑洞手榴弹 item.grenade_breach.name=破甲手榴弹 item.grenade_burst.name=挖掘手榴弹 @@ -2437,7 +2395,7 @@ item.grenade_if_toxic.name=IF-毒物手榴弹 item.grenade_kit.name=手榴弹 套件 item.grenade_kyiv.name=基辅特供 item.grenade_lemon.name=可燃柠檬 -item.grenade_mirv.name=分导式多弹头型破片手榴弹 +item.grenade_mirv.name=MIRV型破片手榴弹 item.grenade_mk2.name=Mk2手榴弹“菠萝大使” item.grenade_nuclear.name=核子手榴弹 item.grenade_nuke.name=MkVI钻地手榴弹 @@ -2445,7 +2403,7 @@ item.grenade_pink_cloud.name=一罐粉色的云 item.grenade_plasma.name=等离子手榴弹 item.grenade_poison.name=剧毒手榴弹 item.grenade_pulse.name=脉冲手榴弹 -item.grenade_schrabidium.name=Sa326异变铀金属手榴弹 +item.grenade_schrabidium.name=Sa326手榴弹 item.grenade_shrapnel.name=榴霰弹手榴弹 item.grenade_smart.name=智能手榴弹 item.grenade_strong.name=增强型手榴弹 @@ -2457,17 +2415,17 @@ item.gun_b92.name=§9B92能量手枪§r item.gun_b92_ammo.name=§9B92能量单元§r item.gun_b93.name=§cB93能量手枪§r item.gun_bf.name=BEL -item.gun_bf_ammo.name=Mk.V小型AMAT-炮弹 -B.F.型 +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_bolter_digamma.name=迪伽马爆弹枪 +item.gun_calamity.name=希特勒的电锯 item.gun_calamity_ammo.name=.50BMG子弹 -item.gun_calamity_dual.name=马克沁机枪 +item.gun_calamity_dual.name=马鞍枪 item.gun_chemthrower.name=化学喷射器 item.gun_cryolator.name=冻结者 item.gun_cryolator_ammo.name=急冻单元 @@ -2477,17 +2435,17 @@ 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.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_fatman_ammo.name=迷你核弹 item.gun_fireext.name=灭火器 -item.gun_flamer.name="黄玉先生" -item.gun_flechette.name=弗莱彻斯特突击步枪 +item.gun_flamer.name="黄玉先生"喷射器 +item.gun_flechette.name=弗莱彻突击步枪 item.gun_folly.name=Digamma原型"愚蠢" -item.gun_glass_cannon.name=晶体射线枪 +item.gun_glass_cannon.name=玻璃大炮 item.gun_hk69.name=榴弹手枪 item.gun_hp.name=HPP射线炮 item.gun_hp_ammo.name=墨盒 @@ -2495,39 +2453,39 @@ 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_karl.name=卡尔-古斯塔夫M3式84mm火箭筒 item.gun_kit_1.name=枪械润滑油 item.gun_kit_2.name=枪械修理包 -item.gun_ks23.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_m2.name=“乾妈”M2勃朗宁重机枪 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=§c奏鸣的麦克风§r -item.gun_lunatic_marksman.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核弹发射器 "试验型分导式多弹头核弹" -item.gun_mirv_ammo.name=八倍分导式多弹头核弹(老版本遗留物) +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=记者眼中单位面积动能超过1.8焦的大规模杀伤性武器 +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核弹发射器 "分导式多弹头核弹原型" +item.gun_proto.name=M42核弹发射器 "原始MIRV" item.gun_quadro.name=四喜丸子 -item.gun_remington.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_blackjack.name=黑杰克五发装左轮枪 +item.gun_revolver_cursed.name=诅咒手枪 item.gun_revolver_cursed_ammo.name=钢左轮子弹 item.gun_revolver_gold.name=黄金左轮手枪 item.gun_revolver_gold_ammo.name=金左轮子弹 @@ -2540,41 +2498,40 @@ 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.name=Novac item.gun_revolver_nopip_ammo.name=.44马格南子弹 -item.gun_revolver_pip.name=小皮的小麦金塔 +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_schrabidium.name=Sa326左轮手枪 +item.gun_revolver_schrabidium_ammo.name=Sa326左轮子弹 item.gun_revolver_silver.name=银质左轮手枪 -item.gun_rpg.name=卡尔·古斯塔夫M4无后座力炮 +item.gun_rpg.name=卡尔-古斯塔夫M4无后座力炮 item.gun_rpg_ammo.name=火箭弹 -item.gun_sauer.name=斯坦·索尔的猎枪 +item.gun_sauer.name=斯坦-索尔的猎枪 item.gun_skystinger.name=毒刺-The One Sky -item.gun_spark.name=火花塞 -item.gun_spark_ammo.name=火花塞电磁炮弹 -item.gun_spas12.name=SPAS-12多功能霰弹枪 +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_super_shotgun.desc=超级烂! +item.gun_supershotgun.name=超级猎枪 item.gun_thompson.name=汤姆森冲锋枪 -item.gun_uboinik.name=先进制式霰弹枪 +item.gun_uboinik.name=Uboinik item.gun_uboinik_ammo.name=12x70 鹿弹 -item.gun_uzi.name=Uzi +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_vortex.name=涡流能量步枪 +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=德什制手钻 +item.hand_drill_desh.name=Desh手钻 item.hazmat_boots.name=防辐射靴 item.hazmat_boots_grey.name=高性能防辐射靴 item.hazmat_boots_red.name=高级防辐射靴 @@ -2597,30 +2554,29 @@ 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_booster.name=心之增强器 +item.heart_container.name=心之容器 item.heart_fab.name=心脏抗原结合器 -item.heart_piece.name=心脏碎片 -item.hev_battery.name=盔甲充能电池 -item.hev_boots.name=Mark IV型HEV危险环境防护服靴子 -item.hev_plate.name=Mark IV型HEV危险环境防护服胸甲 -item.hev_helmet.name=Mark IV型HEV危险环境防护服头盔 -item.hev_legs.name=Mark IV型HEV危险环境防护服护腿 -item.holotape_damaged.name=损坏的全息磁带 -item.holotape_image.name=全息磁带 +item.heart_piece.name=心之碎片 +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_aluminium.desc=可插入钻孔石墨中 item.hull_small_steel.name=小型钢壳 - item.igniter.name=点火器 -item.igniter.desc=(通过右键单击原型来将其引爆)$这是一个绿色的金属柄$带有一个鲜红色的按钮和一个小盖子.$在其底部刻有N.E. 的首字母,$我不知道这个 N.E. 是谁, 但$他对绿色一定很有鉴赏力. +item.igniter.desc=(鼠标右键点击原型)$这是一个绿色金属手柄,带有$亮红色按钮和一个小盖子$在底部,缩写N.E.刻着美元。不管N.E.是谁,他对绿色的色调很有品味。 item.industrial_magnet.name=工业磁铁 item.inf_antimatter.name=无限反物质罐 -item.inf_antischrabidium.name=无限反Sa326异变铀金属罐 +item.inf_antischrabidium.name=无限反Sa326罐 item.inf_coolant.name=无限冷却液罐 item.inf_deuterium.name=无限氘罐 item.inf_diesel.name=无限柴油罐 @@ -2628,7 +2584,7 @@ item.inf_sulfur.name=无限硫磺罐 item.inf_tritium.name=无限氚罐 item.inf_water.name=无限水罐 item.inf_water_mk2.name=重型无限水罐 -item.ingot_actinium.name=半稳定锕-227锭 +item.ingot_actinium.name=半稳定锕锭 item.ingot_advanced_alloy.name=高级合金锭 item.ingot_aluminium.name=铝锭 item.ingot_am_mix.name=反应堆级镅锭 @@ -2637,88 +2593,88 @@ item.ingot_am242.name=镅-242锭 item.ingot_americium_fuel.name=镅燃料锭 item.ingot_arsenic.name=砷锭 item.ingot_asbestos.name=石棉板 -item.ingot_asbestos.desc=§o"充满了生命,自我怀疑和石棉.那是随空气而来的."§r +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_bismuth.name=铋锭 item.ingot_boron.name=硼锭 -item.ingot_c4.name=合成C-4 +item.ingot_c4.name=一块C-4 item.ingot_cadmium.name=镉锭 item.ingot_calcium.name=钙锭 -item.ingot_cdalloy.name=镉钢合金锭 -item.ingot_chainsteel.name=沉重链钢 +item.ingot_cdalloy.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_combine_steel.desc=*在此处插入民事保护参考* item.ingot_copper.name=工业级铜 item.ingot_daffergon.name=达夫贡锭 -item.ingot_desh.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_euphemium.name=Ep锭 +item.ingot_euphemium.desc=一个非常特殊但又奇怪的元素。 +item.ingot_ferrouranium.name=铀铁合金锭 item.ingot_fiberglass.name=玻璃纤维 -item.ingot_fiberglass.desc=富含纤维,玻璃. 具有身体所需要的一切. +item.ingot_fiberglass.desc=纤维含量高,玻璃含量高。身体需要的一切。 item.ingot_firebrick.name=耐火砖 -item.ingot_gh336.name=气敖-336锭 -item.ingot_gh336.desc=𬭳的同事. +item.ingot_gh336.name=Gh336锭 +item.ingot_gh336.desc=钅喜的同事。 item.ingot_graphite.name=石墨锭 -item.ingot_hes.name=高浓度Sa326异变铀金属燃料锭 +item.ingot_hes.name=高浓度Sa326燃料锭 item.ingot_lanthanium.name=半稳定镧锭 -item.ingot_lanthanium.desc='Lanthanum' -item.ingot_lanthanium.desc.P11=实际上是这么拼写的, 但谁在乎呢. +item.ingot_lanthanium.desc=“镧” +item.ingot_lanthanium.desc.P11=实际上就是镧,无论怎么说。 item.ingot_lead.name=铅锭 -item.ingot_les.name=低浓度Sa326异变铀金属燃料锭 +item.ingot_les.name=低浓度Sa326燃料锭 item.ingot_magnetized_tungsten.name=磁化钨锭 item.ingot_meteorite.name=陨石锭 -item.ingot_meteorite_forged.name=锻造过的陨石锭 +item.ingot_meteorite_forged.name=锻造陨石锭 item.ingot_mox_fuel.name=MOX燃料锭 -item.ingot_mud.name=固化泥砖 +item.ingot_mud.name=固化毒泥浆砖 item.ingot_neptunium.name=镎锭 -item.ingot_neptunium.desc=那是我最喜欢的! -item.ingot_neptunium.desc.P11=哇哦, 真吓人! +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_pc.name=硬质塑料锭 +item.ingot_pet.name=铝金属化PET锭 item.ingot_phosphorus.name=白磷锭 item.ingot_plutonium.name=钚锭 item.ingot_plutonium_fuel.name=钚燃料锭 -item.ingot_polonium.name=钋-210锭 +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_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=Sa326元素酸化铁锭 -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_smore.name=S'more饼干 -item.ingot_solinium.name=Sa327索林锭 +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_smore.name=S'more 锭 +item.ingot_solinium.name=Sa327锭 item.ingot_sr90.name=锶-90锭 -item.ingot_starmetal.name=星辉金属锭 +item.ingot_starmetal.name=§9星辉锭§r item.ingot_steel.name=钢锭 -item.ingot_steel_dusted.name=粉状钢锭 +item.ingot_steel_dusted.name=粉末钢锭 item.ingot_tantalium.name=钽锭 -item.ingot_tantalium.desc='Tantalum' -item.ingot_tantalium.desc.P11=也写作这个. +item.ingot_tantalium.desc=“钽” +item.ingot_tantalium.desc.P11=又名钽。 item.ingot_tcalloy.name=锝-钢合金锭 item.ingot_technetium.name=锝-99锭 item.ingot_th232.name=钍-232锭 @@ -2728,58 +2684,58 @@ 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_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.ingot_zirconium.name=锆块 item.injector_5htp.name=5-HTP自动药物注射器 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.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.iv_blood.name=血袋 -item.iv_empty.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_boost.name=弹跳背包 +item.jetpack_break.name=缓降背包 item.jetpack_fly.name=喷气背包 item.jetpack_tank.name=喷气背包备用燃料罐 item.jetpack_vector.name=矢量喷气背包 -item.journal_bj.name=被威士忌泡湿透的笔记本 +item.journal_bj.name=被威士忌浸透的笔记本 item.journal_pip.name=生存主义者日记 -item.journal_silver.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=探索另一边。 item.key_red.desc.P11=§4e§r item.kit_toolbox.name=工具箱 -item.kit_toolbox_empty.name=空的工具箱 +item.kit_toolbox_empty.name=空工具箱 item.laser_crystal_bismuth.desc=铋-钐-铀-钍晶体基质 -item.laser_crystal_bismuth.name=铋-钐-铀-钍晶体基质激光晶体 -item.laser_crystal_cmb.desc=悬浮在CMB-Sa326异变铀金属合金晶格中的反Sa326元素 -item.laser_crystal_cmb.name=CMB-Sa326异变铀金属合金反物质激光晶体 -item.laser_crystal_co2.desc=被包裹在结晶的德什金属中的二氧化碳 -item.laser_crystal_co2.name=CO2-德什激光晶体 -item.laser_crystal_digamma.name=Ϝ迪伽马激光晶体 -item.laser_crystal_dnt.desc=双聚中子态素-Spark闪闪魔法 费米子超晶体 -item.laser_crystal_dnt.name=Spark闪闪魔法 激光晶体 +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.lead_gavel.name=铅槌 item.lemon.name="柠檬" item.letter.name=快捷邮件 @@ -2798,21 +2754,20 @@ 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_igniter.name=点火器 item.man_kit.name=胖子 套件 item.marshmallow.name=穿在木棍上的棉花糖 item.mask_of_infamy.name=耻辱面具 -item.mask_piss.name=战壕版粗制防护面罩 -item.mask_rag.name=粗制防护面罩 +item.mask_piss.name=战壕面具 +item.mask_rag.name=粗糙防护面罩 item.matchstick.name=火柴 -item.mech_key.name=大银钥匙 -item.mech_key.desc=它充满了力量. +item.mech_key.name=大号银钥匙 +item.mech_key.desc=它充满力量。 item.mechanism_launcher_1.name=发射机构 item.mechanism_launcher_2.name=先进发射机构 item.mechanism_revolver_1.name=转轮机构 @@ -2826,31 +2781,31 @@ item.med_ptsd.name=PTSD治疗药物 item.med_schiziphrenia.name=抗精神分裂症药物 item.medal_liquidator.name=核废土清道夫勋章 item.meltdown_tool.name=达洛夫快速熔毁装置 -item.memespoon.name=§e花园园丁 +item.memespoon.name=§ee花园园丁 item.memory.name=item.null.name -item.mese_gavel.name=月神槌 -item.mese_pickaxe.name=月神镐 +item.mese_gavel.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=陨石剑 (B.F野火烧炼处理) +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.mirror_tool.name=定日镜调整工具 +item.mirror_tool.linked=设置对齐位置! +item.mirror_tool.desc=右键单击“太阳能锅炉”以记忆位置 $再单击“定日镜”可将其转向太阳能锅炉 item.missile_anti_ballistic.name=反弹道导弹 item.missile_assembly.name=小型导弹[待装配] item.missile_bhole.name=黑洞导弹 @@ -2863,8 +2818,8 @@ item.missile_cluster_strong.name=强化型集束导弹 item.missile_custom.name=定制导弹 item.missile_doomsday.name=末日导弹 item.missile_drill.name=掩体裂解者 -item.missile_emp.name=EMP电磁脉冲导弹 -item.missile_emp_strong.name=强化型EMP电磁脉冲导弹 +item.missile_emp.name=EMP导弹 +item.missile_emp_strong.name=强化型EMP导弹 item.missile_endo.name=吸热导弹 item.missile_exo.name=放热导弹 item.missile_generic.name=高爆导弹 @@ -2876,44 +2831,45 @@ item.missile_micro.name=战术核导弹 item.missile_nuclear.name=核导弹 item.missile_nuclear_cluster.name=热核导弹 item.missile_rain.name=炸弹雨 -item.missile_schrabidium.name=Sa326异变铀金属导弹 +item.missile_schrabidium.name=Sa326导弹 item.missile_shuttle.name=万金罗宾航天飞机 item.missile_skin_camo.name=导弹外壳:迷彩 -item.missile_skin_color.desc=我甚至再也找不到我的导弹了! +item.missile_skin_color.desc=我再也找不到我的导弹了! item.missile_skin_desert.name=导弹外壳:沙漠迷彩 -item.missile_skin_desert.desc=看起来像沙子, 尝起来像金属. +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_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_metal.desc=金属板和金属螺栓,用金属加固。 item.missile_skin_orange_insulation.name=导弹外壳:橙色绝缘 -item.missile_skin_orange_insulation.desc=不是橙汁瓶;$也不要试图喝里面的东西. +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_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_soyuz_lander.desc=劣质着陆器! item.missile_strong.name=强化型高爆导弹 item.missile_taint.name=污染导弹 -item.missile_volcano.name=地壳破坏者导弹 -item.missile_volcano.desc=利用核爆炸的威力,我们可以制造一座火山! -item.mold_base.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_desh.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号弹体[BF燃料] +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号弹体[固体燃料] @@ -2955,10 +2911,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_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号弹体[煤油] @@ -2980,7 +2936,7 @@ 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_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号弹体[固体燃料] @@ -2996,10 +2952,10 @@ 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号带核预热器的BF燃料推进器 -item.mp_thruster_15_balefire_large.name=15号带核预热器的BF燃料推进器[重型喷管] -item.mp_thruster_15_balefire_large_rad.name=15号带核预热器的BF燃料推进器[重型喷管] -item.mp_thruster_15_balefire_short.name=15号带核预热器的BF燃料推进器[简称] +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号液体燃料推进器 @@ -3020,16 +2976,16 @@ 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_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号N²炸弹 +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_mimi.name=15号核弹头 item.mp_warhead_15_nuclear_shark.name=15号核弹头 item.mp_warhead_15_turbine.name=15号喷气发动机弹头 -item.mucho_mango.name=亚利桑那牌芒果汁 +item.mucho_mango.name=亚利桑那芒果味饮料 item.multi_kit.name=多用途炸弹 套件 item.multitool_beam.name=动力拳套[热射线] item.multitool_decon.name=动力拳套[净化] @@ -3042,29 +2998,27 @@ item.multitool_miner.name=动力拳套[采矿激光] item.multitool_silk.name=动力拳套[精准采集] item.multitool_sky.name=动力拳套[划破天际] item.mysteryshovel.name=易碎锹 - item.n2_charge.name=大型炸药 -item.neutrino_lens.name=中微子透镜 +item.neutrino_lens.name=中子透镜 item.neutron_reflector.name=中子反射板 item.niter.name=硝石粉 -item.no9.name=采矿头盔 -item.nossy_hat.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_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_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_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.nuclear_waste_vitrified_tiny.name=小撮玻璃化核废料 +item.nugget.name=鸡块 item.nugget_actinium.name=锕-227粒 item.nugget_am_mix.name=反应堆级镅粒 item.nugget_am241.name=镅-241粒 @@ -3072,34 +3026,34 @@ 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_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_desh.name=Desh粒 item.nugget_dineutronium.name=双聚中子态素粒 -item.nugget_euphemium.name=Ep元素粒 -item.nugget_euphemium.desc=一小块粉红色的金属.$它各方面具体的性质还不清楚,$务 必 小 心 地 处 理 它. -item.nugget_gh336.name=𪵧-336粒 -item.nugget_gh336.desc=𬭳的同事. -item.nugget_hes.name=高浓度Sa326异变铀金属燃料粒 +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_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_mox_fuel.desc=摩西说:§l逃税。§r item.nugget_neptunium.name=镎粒 item.nugget_neptunium_fuel.name=镎燃料粒 -item.nugget_osmiridium.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_polonium.name=钋粒 item.nugget_pu_mix.name=反应堆级钚粒 item.nugget_pu238.name=钚-238粒 item.nugget_pu239.name=钚-239粒 @@ -3107,76 +3061,81 @@ item.nugget_pu240.name=钚-240粒 item.nugget_pu241.name=钚-241粒 item.nugget_ra226.name=镭-226粒 item.nugget_reiium.name=魏丹粒 -item.nugget_schrabidium.name=Sa-326异变铀金属粒 -item.nugget_schrabidium_fuel.name=Sa-326异变铀金属燃料粒 -item.nugget_solinium.name=Sa-327索林粒 +item.nugget_schrabidium.name=Sa326粒 +item.nugget_schrabidium_fuel.name=Sa326燃料粒 +item.nugget_solinium.name=Sa327粒 item.nugget_sr90.name=锶-90粒 item.nugget_tantalium.name=钽粒 -item.nugget_tantalium.desc='Tantalum' -item.nugget_tantalium.desc.P11=也写作这个. +item.nugget_tantalium.desc=“钽” +item.nugget_tantalium.desc.P11=又名钽。 item.nugget_technetium.name=锝-99粒 -item.nugget_th232.name=钍-232粒 +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_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.nugget_zirconium.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_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.oil_tar.wax.name=氯化石蜡 +item.oil_tar.wood.name=木馏油 item.ore.asbestos=石棉 item.ore.borax=硼砂 +item.ore.chlorocalcite=氯方解石 item.ore.copper=铜 item.ore.gold=金 item.ore.iron=铁 item.ore.niobium=铌 item.ore.titanium=钛 item.ore.tungsten=钨 -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_silicon.name=结晶硅碎片 -item.ore_byproduct.b_sulfur.name=结晶硫碎片 -item.ore_byproduct.b_titanium.name=结晶钛碎片 -item.ore_centrifuged.name=离心 %s 基岩矿粉 -item.ore_cleaned.name=洗净 %s 基岩矿粉 -item.ore_deepcleaned.name=深度清洁 %s 基岩矿粉 -item.ore_enriched.name=富集 %s 基岩矿粉 -item.ore_nitrated.name=硝化 %s 基岩矿粉 -item.ore_nitrocrystalline.name=硝化结晶 %s 基岩矿粉 -item.ore_purified.name=纯化 %s 基岩矿粉 -item.ore_raadcleaned.name=辐照清洁 %s 基岩矿粉 -item.ore_seared.name=灼烧 %s 基岩矿粉 -item.ore_separated.name=分离提纯 %s 基岩矿粉 +item.ore.thorium=钍 +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_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.overfuse.desc=说啥? item.oxy_mask.name=氧气面罩 - item.paa_boots.name=PaA "好鞋" item.paa_legs.name=PaA加固护腿 item.paa_plate.name=PaA加固护胸 @@ -3184,10 +3143,10 @@ 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.pancake.name=用废金属, 钉子和宝石粉做成的薄饼 +item.pads_rubber.name=橡胶垫 +item.pads_slime.name=粘液垫 +item.pads_static.name=静电垫 +item.pancake.name=用废金属、螺栓和宝石粉做成的薄饼 item.part_beryllium.name=铍粉盒 item.part_carbon.name=碳粉盒 item.part_copper.name=铜粉盒 @@ -3196,135 +3155,134 @@ 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=反异变铀金属粒子密封胶囊 -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_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.parts_legendary.name=传奇零件 item.peas.name=豌豆 -item.pch.name=马蹄锤 item.pedestal_steel.name=钢底座 -item.pellet_advanced.name=高级Watz瓦茨发电塔性能增强剂 +item.pellet_advanced.name=高级Watz性能增强剂 item.pellet_antimatter.name=反物质团 item.pellet_beryllium.name=铍慢化靶丸 item.pellet_buckshot.name=铅弹丸 -item.pellet_canister.name=榴霰弹 +item.pellet_canister.name=榴霰弹弹丸 item.pellet_charged.name=电离粒子 -item.pellet_chlorophyte.name=绿藻颗粒 -item.pellet_claws.name=锋利的金属破片 +item.pellet_chlorophyte.name=叶绿弹丸 +item.pellet_claws.name=金属利爪 item.pellet_cluster.name=爆炸弹丸 -item.pellet_cluster.desc=用于多用途炸弹:$增加额外的爆炸威力! +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_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=钚-238RTG放射性同位素燃料靶丸 -item.pellet_rtg.desc=可无限提供能量的RTG放射性同位素燃料靶丸!(基本上) -item.pellet_rtg_actinium.name=锕-227RTG放射性同位素燃料靶丸 -item.pellet_rtg_actinium.desc=散发着蓝色和β射线的辉光 -item.pellet_rtg_americium.name=镅-241RTG放射性同位素燃料靶丸 -item.pellet_rtg_americium.desc=稀有可靠的优质古镅! -item.pellet_rtg_berkelium.name=锫RTG放射性同位素燃料靶丸 +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=钴-60RTG放射性同位素燃料靶丸 -item.pellet_rtg_cobalt.desc=作为RTG放射性同位素燃料靶丸不是最好的, 但是非常适合伽马辐射! -item.pellet_rtg_depleted.bismuth.name=衰竭的铋RTG放射性同位素燃料靶丸 -item.pellet_rtg_depleted.lead.name=衰竭的铅RTG放射性同位素燃料靶丸 -item.pellet_rtg_depleted.neptunium.name=衰竭的镎RTG放射性同位素燃料靶丸 -item.pellet_rtg_depleted.mercury.name=衰竭的汞RTG放射性同位素燃料靶丸 -item.pellet_rtg_depleted.nickel.name=衰竭的镍RTG放射性同位素燃料靶丸 -item.pellet_rtg_depleted.zirconium.name=衰竭的锆RTG放射性同位素燃料靶丸 -item.pellet_rtg_lead.name=铅-209RTG放射性同位素燃料靶丸 -item.pellet_rtg_lead.desc=接触会立即导致死亡. -item.pellet_rtg_gold.name=金-198RTG放射性同位素燃料靶丸 -item.pellet_rtg_gold.desc=由稀有, 高度不稳定的金同位素制成. -item.pellet_rtg_polonium.name=钋-210RTG放射性同位素燃料靶丸 -item.pellet_rtg_polonium.desc=更强力的RTG靶丸,由最优质的钋制成! -item.pellet_rtg_strontium.name=锶-90RTG放射性同位素燃料靶丸 -item.pellet_rtg_strontium.desc=为加利福尼亚州所知... -item.pellet_rtg_radium.name=镭-226RTG放射性同位素燃料靶丸 -item.pellet_rtg_radium.desc=伟大的激发式放射性同位素燃料靶丸, 来自全天然镭! -item.pellet_rtg_weak.name=贫铀RTG放射性同位素燃料靶丸 -item.pellet_rtg_weak.desc=更廉价但更弱的弹丸, 现在含有更多的 U238! -item.pellet_schrabidium.name=纯Sa326异变铀金属Watz瓦茨发电塔靶丸 +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_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.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_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.name=芝加哥反应堆 铀棒 item.pile_rod_uranium.desc=§a[可反应核燃料]$§e使用手钻取堆芯样本 item.pill_iodine.name=碘丸 -item.pill_iodine.desc=移除身上所有的负面效果 +item.pill_iodine.desc=消除负面buff item.pill_herbal.name=草药膏 item.pill_herbal.desc=有效治疗肺部疾病和轻度辐射中毒$有副作用 -item.pill_red.name=红药丸 +item.pill_red.name=红色药丸 item.pin.name=发夹 -item.pin.desc=撬开常规锁的标准成功率约为10%%. +item.pin.desc=“*未修改*撬开标准锁的成功率约为10%。 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.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.mustardwillow.name=芥子柳叶 item.plant_item.rope.name=麻绳 item.plant_item.tobacco.name=烟叶 item.plate_advanced_alloy.name=高级合金板 item.plate_aluminium.name=铝板 -item.plate_armor_ajr.name=§8§l§n[铁蹄]§r装甲板 +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=§b§l§m[月 神]§r 装甲板 -item.plate_armor_titanium.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_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=德什复合板 +item.plate_desh.name=Desh复合板 item.plate_dineutronium.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_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=凯夫拉陶瓷复合材料 @@ -3333,7 +3291,7 @@ item.plate_mixed.name=合金板 item.plate_paa.name=PaA合金板 item.plate_polymer.name=绝缘体 item.plate_saturnite.name=土星板 -item.plate_schrabidium.name=Sa326异变铀金属板 +item.plate_schrabidium.name=Sa326板 item.plate_steel.name=钢板 item.plate_titanium.name=钛板 item.polaroid.name=偏光片 @@ -3342,7 +3300,7 @@ 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_asbestos.desc=§o\"Sniffffffff- MHHHHHHMHHHHHHHHH\"§r item.powder_astatine.name=砹粉 item.powder_at209.name=砹-209粉 item.powder_au198.name=金-198粉 @@ -3360,6 +3318,7 @@ item.powder_caesium.name=铯粉 item.powder_calcium.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粉 @@ -3367,30 +3326,30 @@ 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_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=德什粉 -item.powder_desh_mix.name=德什混合物 -item.powder_desh_ready.name=德什Ready™混合物 +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.name=Ep粉 +item.powder_euphemium.desc=粉红色$尝起来像草莓。 item.powder_fertilizer.name=工业肥料 -item.powder_euphemium.desc=粉色的粉末..$尝起来像草莓. item.powder_fire.name=火焰粉 -item.powder_fire.desc=用于多用途炸弹:$燃烧弹很有趣! -item.powder_flux.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_ice.name=冷冻粉 item.powder_impure_osmiridium.name=不纯铱锇粉 item.powder_iodine.name=碘粉 item.powder_iron.name=铁粉 @@ -3410,32 +3369,32 @@ 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_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=钋-210粉 +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=Sa326元素酸化铁粉末 -item.powder_schrabidium.name=Sa326异变铀金属粉 +item.powder_sawdust.name=锯末 +item.powder_schrabidate.name=Sa酸铁粉 +item.powder_schrabidium.name=Sa326粉 item.powder_semtex_mix.name=塞姆汀塑胶炸药混合物 -item.powder_spark_mix.name=Spark闪闪魔法混合物 +item.powder_spark_mix.name=Spark闪闪奥术混合物 item.powder_sr90.name=锶-90粉 -item.powder_sr90_tiny.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='Tantalum' -item.powder_tantalium.desc.P11=也写作这个. +item.powder_tantalium.desc=“钽” +item.powder_tantalium.desc.P11=又名钽。 item.powder_tcalloy.name=锝-钢粉 item.powder_tektite.name=熔融石粉 item.powder_tennessine.name=Ts粉 @@ -3443,7 +3402,7 @@ item.powder_thermite.name=铝热剂 item.powder_thorium.name=钍粉 item.powder_titanium.name=钛粉 item.powder_tungsten.name=钨粉 -item.powder_unobtainium.name=阿诺布汀粉 +item.powder_unobtainium.name=难得素粉 item.powder_uranium.name=铀粉 item.powder_verticium.name=韦德赛粉 item.powder_weidanium.name=魏丹粉 @@ -3451,7 +3410,7 @@ 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.power_net_tool.name=电缆网络分析工具 item.primer_357.name=.357马格南底火[x24] item.primer_44.name=.44马格南底火[x24] item.primer_50.name=大口径底火[x12] @@ -3460,104 +3419,104 @@ item.primer_buckshot.name=鹿弹底火[x12] item.protection_charm.name=守护项链 item.prototype_kit.name=原型 套件 item.pudding.name=布丁 -item.quartz_plutonium.name=冥王星石英 +item.quartz_plutonium.name=深成石英 item.radaway.name=消辐宁 item.radaway_flush.name=超级消辐宁 item.radaway_strong.name=强效消辐宁 item.radx.name=防辐射药 -item.radx.desc=增加0.2(37%%)的抗辐射能力,持续3分钟 -item.rag.name=破布 -item.rag_damp.name=湿破布 -item.rag_piss.name=尿湿润的破布 -item.rbmk_fuel_balefire.name=RBMK石墨式反应堆野火燃料棒 -item.rbmk_fuel_balefire_gold.name=激活态金-198 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_drx.name=§cϜ迪伽马粒子 RBMK石墨式反应堆燃料棒§r -item.rbmk_fuel_empty.name=空 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_flashlead.name=激活态铅 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_hea241.name=HEA-241 高浓缩度镅-241 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_hea242.name=HEA-242 高浓缩度镅-242 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_heaus.name=HEAus 高浓缩度奥金 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_hen.name=HEN 高浓缩度镎-237 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_hes.name=HES 高浓缩度Sa-326 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_hep.name=HEP-239 高浓缩度钚-239 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_hep241.name=HEP-241 高浓缩度钚-241 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_heu233.name=HEU-233 高浓缩度铀-233 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_heu235.name=HEU-235 高浓缩度铀-235 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_lea.name=LEA 低浓缩度镅-242 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_leaus.name=LEAus 低浓缩度奥金 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_lep.name=LEP 低浓缩度钚-239 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_les.name=LES 低浓缩度Sa-326 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_mea.name=MEA 中浓缩度镅-242 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_men.name=MEN 中浓缩度镎-237 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_mep.name=MEP 中浓缩度钚-239 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_mes.name=MES 中浓缩度Sa-326 RBMK石墨式反应堆燃料棒 -item.rbmk_fuel_meu.name=MEU 中浓缩度铀-235 RBMK石墨式反应堆燃料棒 -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 中浓缩度铀-235导向钍 RBMK石墨式反应堆燃料棒 -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 锆混合钚-241快速增殖式RBMK石墨式反应堆燃料棒 -item.rbmk_lid.name=RBMK石墨式反应堆覆盖层 -item.rbmk_lid_glass.name=RBMK石墨式反应堆玻璃覆盖层 +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反应堆中浓缩度铀-235导向钍燃料棒 +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=§cϜ迪伽马粒子燃料芯块§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高浓缩度镎-237燃料芯块 -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_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_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_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=潜行并右击RBMK石墨式反应堆保存其坐标,$潜入并右击控制台以连接反应堆! +item.rbmk_tool.desc=按住Shift右击RBMK石墨式反应堆保存其坐标,$按住Shift右击控制台以连接反应堆! item.rbmk_tool.linked=反应堆坐标已记录! item.rbmk_tool.set=反应堆已连接! -item.reacher.name=钨制长钳 +item.reacher.name=钨长臂夹 item.reactor_core.name=增殖反应堆核心 item.reactor_sensor.name=反应堆遥感器 item.record.glass.desc=? ? ? -item.record.lc.desc=Valve - 恶魔肾上腺素吉他/Lambda核心 -item.record.ss.desc=Valve - 扫描扇区 -item.record.vc.desc=Valve - 斗争漩涡 +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.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_empty.name=空燃料棒 item.rod.lithium.name=锂棒 item.rod.tritium.name=氚棒 item.rod.co.name=钴棒 @@ -3575,25 +3534,25 @@ item.rod.rgp.name=反应堆级钚棒 item.rod.waste.name=核废料棒 item.rod.lead.name=铅棒 item.rod.uranium.name=铀棒 -item.rod_dual_empty.name=空双联棒 +item.rod_dual_empty.name=空双联燃料棒 item.rod_dual.lithium.name=双联锂棒 -item.rod_dual.tritium.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.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.rgp.name=双联反应堆级钚棒 item.rod_dual.waste.name=双联核废料棒 item.rod_dual.lead.name=双联铅棒 -item.rod_dual.uranium.name=铀棒 -item.rod_quad_empty.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=四联钴棒 @@ -3601,145 +3560,145 @@ 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.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.rgp.name=四联反应堆级钚棒 item.rod_quad.waste.name=四联核废料棒 -item.rod_quad.lead.name=四联Lead 铅棒 +item.rod_quad.lead.name=四联铅棒 item.rod_quad.uranium.name=四联铀棒 item.rod_australium.name=奥斯棒 -item.rod_balefire.name=BF燃料棒 -item.rod_balefire_blazing.name=炽热的BF燃料棒 +item.rod_balefire.name=野火燃料棒 +item.rod_balefire_blazing.name=炽热的野火燃料棒 item.rod_coolant.name=燃料棒[冷却液] item.rod_daffergon.name=达夫贡棒 -item.rod_dual_balefire.name=双联BF燃料棒 -item.rod_dual_balefire_blazing.name=炽热的双联BF燃料棒 +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_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=双联钋-210棒 -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_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_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_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_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_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_of_discord.name=混沌传送法杖 -item.rod_plutonium_fuel.name=钚燃料棒 -item.rod_plutonium_fuel_depleted.name=枯竭钚燃料棒 -item.rod_polonium.name=钋-210棒 -item.rod_pu238.name=钚238燃料棒 -item.rod_pu239.name=钚239燃料棒 -item.rod_pu240.name=钚240燃料棒 -item.rod_quad_balefire.name=四联BF燃料棒 -item.rod_quad_balefire_blazing.name=炽热的四联BF燃料棒 +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_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_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.name=四联钚棒 item.rod_quad_plutonium_fuel.name=四联钚燃料棒 item.rod_quad_plutonium_fuel_depleted.name=四联枯竭钚燃料棒 -item.rod_quad_polonium.name=四联钋-210棒 -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_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_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.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_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_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_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_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=空的 ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_natural_uranium_fuel.name=天然铀 ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_uranium_fuel.name=铀 ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_th232.name=钍-232 ZIRNOX锆诺克斯反应堆增殖棒 -item.rod_zirnox_thorium_fuel.name=钍 ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_mox_fuel.name=MOX ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_plutonium_fuel.name=钚 ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_u233_fuel.name=铀-233 ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_u235_fuel.name=铀-235 ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_les_fuel.name=LES低浓缩度Sa-326 ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_lithium.name=锂 ZIRNOX锆诺克斯反应堆增殖棒 -item.rod_zirnox_tritium.name=氚 ZIRNOX锆诺克斯反应堆增殖棒 -item.rod_zirnox_zfb_mox.name=ZFB MOX ZIRNOX 锆诺克斯反应堆 -item.rod_zirnox_natural_uranium_fuel_depleted.name=衰竭天然铀 ZIRNOX 锆诺克斯反应堆燃料棒 -item.rod_zirnox_uranium_fuel_depleted.name=衰竭铀 ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_thorium_fuel_depleted.name=衰竭钍 ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_mox_fuel_depleted.name=衰竭MOX ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_plutonium_fuel_depleted.name=衰竭钚 ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_u233_fuel_depleted.name=衰竭铀-233 ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_u235_fuel_depleted.name=衰竭铀-235ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_les_fuel_depleted.name=衰竭LES低浓缩度Sa-326 ZIRNOX锆诺克斯反应堆燃料棒 -item.rod_zirnox_zfb_mox_depleted.name=衰竭 ZFB MOX ZIRNOX锆诺克斯反应堆燃料棒 +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.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=空白催化剂基质 @@ -3751,9 +3710,9 @@ 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_foeq.name=PEAF-Mk.I 实验型核动力 FOEQ-杜纳探测器 +item.sat_coord.name=卫星指示器 +item.sat_designator.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=高增益光学摄像头 @@ -3762,7 +3721,7 @@ 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_lunar_miner.name=月球采矿飞船 item.sat_mapper.name=地表测绘卫星 item.sat_miner.name=小行星采矿飞船 item.sat_radar.name=雷达探测卫星 @@ -3770,24 +3729,24 @@ 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.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_oil.name=油性废料 item.scrap_plastic.name=塑料废料 item.scraps.name=铸造废料 item.screwdriver.name=螺丝刀 -item.screwdriver.desc=可以用来代替保险丝... -item.screwdriver_desh.name=德什制螺丝刀 +item.screwdriver.desc=可以用来代替保险丝…… +item.screwdriver_desh.name=Desh螺丝刀 item.scrumpy.name=一瓶烈性苹果酒 item.security_boots.name=防护靴子 item.security_helmet.name=防护头盔 @@ -3797,8 +3756,8 @@ 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.servo_set.name=伺服装置 +item.servo_set_desh.name=Desh伺服装置 item.shackles.name=枷锁 item.shimmer_axe.name=闪耀斧 item.shimmer_axe_head.name=重型斧头 @@ -3808,26 +3767,26 @@ item.shimmer_sledge.name=闪耀锤 item.singularity.name=奇点 item.singularity_counter_resonant.name=可控反振谐奇点 item.singularity_micro.name=微型奇点 -item.singularity_spark.name=Spark闪闪奇点 +item.singularity_spark.name=Spark奇点 item.singularity_super_heated.name=超热共振奇点 item.siox.name=SiOX抗癌药物 -item.siox.desc=用石棉的力量来逆转胸膜间皮瘤!(以 毒 攻 毒) +item.siox.desc=使用石棉的力量逆转间皮瘤! item.siren_track.name=警报声轨 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=半稳定Sa327索林核心 -item.solinium_igniter.name=Sa327索林脉冲点火器 +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.solinium_propellant.name=Sa327压缩装药 +item.sopsign.name=Sop标志战斧 item.spawn_duck.name=金蛋 item.spawn_ufo.name=火星入侵者飞船 -item.spawn_worm.name=世-界-毁-灭-者 O-TRON 头部 +item.spawn_worm.name=机械蠕虫 item.sphere_steel.name=钢球 item.spider_milk.name=一瓶蜘蛛奶 item.spongebob_macaroni.name=海绵宝宝通心粉 @@ -3835,10 +3794,10 @@ item.stamp_357.name=.357马格南锻模 item.stamp_44.name=.44马格南锻模 item.stamp_50.name=大口径锻模 item.stamp_9.name=小口径锻模 -item.stamp_desh_circuit.name=德什质电路板锻模 -item.stamp_desh_flat.name=德什锻模 -item.stamp_desh_plate.name=德什质板锻模 -item.stamp_desh_wire.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_iron_circuit.name=铁质电路板锻模 item.stamp_iron_flat.name=铁质锻模 item.stamp_iron_plate.name=铁质板锻模 @@ -3847,10 +3806,6 @@ item.stamp_obsidian_circuit.name=黑曜石电路板锻模 item.stamp_obsidian_flat.name=黑曜石锻模 item.stamp_obsidian_plate.name=黑曜石板锻模 item.stamp_obsidian_wire.name=黑曜石电线锻模 -item.stamp_schrabidium_circuit.name=Sa326异变铀金属电路板锻模 -item.stamp_schrabidium_flat.name=Sa326异变铀金属锻模 -item.stamp_schrabidium_plate.name=Sa326异变铀金属板锻模 -item.stamp_schrabidium_wire.name=Sa326异变铀金属电线锻模 item.stamp_steel_circuit.name=钢质电路板锻模 item.stamp_steel_flat.name=钢质锻模 item.stamp_steel_plate.name=钢质板锻模 @@ -3863,21 +3818,21 @@ 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.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.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=钢头盔 @@ -3887,10 +3842,11 @@ item.steel_pickaxe.name=钢镐 item.steel_plate.name=钢胸甲 item.steel_shovel.name=钢锹 item.steel_sword.name=钢剑 -item.stick_c4.name=炸药C-4棒 +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.stick_tnt.name=TNT棒 item.stopsign.name=停车标志战斧 item.sulfur.name=硫粉 item.survey_scanner.name=勘测扫描仪 @@ -3902,10 +3858,9 @@ 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=MKUNICORN独角兽 +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动力装甲套装 @@ -3924,7 +3879,7 @@ item.tank_waste_8.name=泥浆容器 item.telepad.name=传送部件 item.tem_flakes.name=Tem薄片 item.template_folder.name=机器模板文件夹 -item.template_folder.desc=装配机模板: 纸 + 染料$流体识别码: 铁板 + 染料$锻模: 空白锻模$警报声轨: 绝缘体 + 钢板 +item.template_folder.desc=机器模板:纸张+染料$流体识别码:铁板+染料$锻模:空白锻模 $警报声轨:绝缘体+钢板 item.test_nuke_igniter.name=点火器 item.test_nuke_propellant.name=推进剂 item.test_nuke_tier1_bullet.name=铀235弹头[1级] @@ -3939,7 +3894,7 @@ 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_nuclear.name=LV-N核能火箭发动机 item.thruster_small.name=小型推进器 item.titanium_axe.name=钛斧 item.titanium_boots.name=钛靴子 @@ -3952,9 +3907,10 @@ item.titanium_plate.name=钛胸甲 item.titanium_shovel.name=钛锹 item.titanium_sword.name=钛剑 item.toothpicks.name=牙签 +item.train.cargo_tram.name=平板载货电车 item.trinitite.name=玻璃石 item.tritium_deuterium_cake.name=氚氘饼 -item.tritium_deuterium_cake.desc=不是真正的饼, $而是很好的通用聚变燃料! +item.tritium_deuterium_cake.desc=不是真正的蛋糕,而是很棒的$聚变燃料! item.tsar_core.name=沙皇炸弹核心 item.tsar_kit.name=沙皇炸弹 套件 item.turbine_titanium.name=钛汽轮转子 @@ -3973,7 +3929,7 @@ item.turret_tau_ammo.name=陶子炮塔铀弹药 item.twinkie.name=小蛋糕 item.ullapool_caber.name=阿勒浦长木杆 item.undefined.name=形态未定义物质 -item.upgrade_5g.name=5G辐射升级 +item.upgrade_5g.name=5G辐射发射器升级 item.upgrade_afterburn_1.name=一级粉色机器升级 item.upgrade_afterburn_2.name=二级粉色机器升级 item.upgrade_afterburn_3.name=三级粉色机器升级 @@ -3982,9 +3938,9 @@ item.upgrade_crystallizer.name=采矿激光升级-自动结晶 item.upgrade_effect_1.name=一级绿色机器升级 item.upgrade_effect_2.name=二级绿色机器升级 item.upgrade_effect_3.name=三级绿色机器升级 -item.upgrade_ejector_1.name=一级弹出速度升级 Mk.I -item.upgrade_ejector_2.name=二级弹射速度升级 Mk.II -item.upgrade_ejector_3.name=三级弹射速度升级 Mk.III +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=三级紫色机器升级 @@ -4004,10 +3960,10 @@ 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.upgrade_stack_1.name=一级堆栈弹出升级 +item.upgrade_stack_2.name=二级堆栈弹出升级 +item.upgrade_stack_3.name=三级堆栈弹出升级 +item.upgrade_template.name=机器升级模板 item.v1.name=V1 item.volcanic_pickaxe.name=熔岩镐 item.wand_d.name=调试魔杖 @@ -4026,53 +3982,53 @@ 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_mirvlet.name=MIRV item.warhead_nuclear.name=核弹头 item.warhead_thermo_endo.name=吸热弹头 item.warhead_thermo_exo.name=放热弹头 -item.warhead_volcano.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_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_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高浓缩度Sa-326 Watz瓦茨电厂靶丸 -item.watz_pellet.lead.name=铅吸收剂靶丸 -item.watz_pellet.les.name=LES低浓缩度Sa-326 Watz瓦茨电厂靶丸 -item.watz_pellet.mes.name=MES中浓缩度Sa-326 Watz瓦茨电厂靶丸 -item.watz_pellet.mep.name=MEP中浓缩度钚-239 Watz瓦茨电厂靶丸 -item.watz_pellet.meu.name=MEU中浓缩度铀-235 Watz瓦茨电厂靶丸 -item.watz_pellet.nqd.name=浓缩硅岩金属 Watz瓦茨电厂靶丸 -item.watz_pellet.nqr.name=硅岩金属 Watz瓦茨电厂靶丸 -item.watz_pellet.hen.name=HEN高浓缩度镎-237 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高浓缩度Sa-326 Watz瓦茨电厂靶丸 (衰竭) -item.watz_pellet_depleted.lead.name=铅吸收剂靶丸 (衰竭) -item.watz_pellet_depleted.les.name=LES低浓缩度Sa-326 Watz瓦茨电厂靶丸 (衰竭) -item.watz_pellet_depleted.mes.name=MES中浓缩度Sa-326 Watz瓦茨电厂靶丸 (衰竭) -item.watz_pellet_depleted.mep.name=MEP中浓缩度钚-239 Watz瓦茨电厂靶丸 (衰竭) -item.watz_pellet_depleted.meu.name=MEU中浓缩度铀-235 Watz瓦茨电厂靶丸 (衰竭) -item.watz_pellet_depleted.nqd.name=浓缩硅岩金属 Watz瓦茨电厂靶丸 (衰竭) -item.watz_pellet_depleted.nqr.name=硅岩金属 Watz瓦茨电厂靶丸 (衰竭) -item.watz_pellet_depleted.hen.name=HEN高浓缩度镎-237 Watz瓦茨电厂靶丸 (衰竭) -item.watz_pellet_depleted.schrabidium.name=Sa326异变铀金属 Watz瓦茨电厂靶丸 (衰竭) +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=黑手党快乐杆 @@ -4081,119 +4037,112 @@ 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.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_gold.name=金线 item.wire_magnetized_tungsten.name=4000K高温超导体 item.wire_red_copper.name=紫铜线 -item.wire_schrabidium.name=Sa326异变铀金属线 +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_archineer.name=Archineer扳手 item.wrench_flipped.name=刺刀扳手 -item.xanax.name=NAXA 抗Ϝ迪伽马辐射药物 -item.xanax.desc=移除500mDRX的Ϝ迪伽马辐射 +item.xanax.name=NAXA 抗迪伽马药物 +item.xanax.desc=移除500mDRX迪伽马辐射 item.zirconium_legs.name=锆质护腿 - -itemGroup.tabTest=HBM的核科技mod测试项[S166, Bismarck, nukesteve联合汉化] -itemGroup.tabParts=核技术资源和零件 -itemGroup.tabControl=核技术机器项目和燃料 -itemGroup.tabTemplate=核技术模板 -itemGroup.tabBlocks=核技术矿石和方块 -itemGroup.tabMachine=核技术机器 -itemGroup.tabNuke=核技术炸弹 -itemGroup.tabMissile=核技术导弹和卫星 -itemGroup.tabWeapon=核技术武器和炮塔 -itemGroup.tabConsumable=核技术食物和装备 - +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_death=重度突变 potion.hbm_lead=铅中毒 -potion.hbm_mutation=腐化变异 +potion.hbm_mutation=变异 potion.hbm_phosphorus=磷烧伤 -potion.hbm_potionsickness=药物上瘾 -potion.hbm_radaway=辐射宁 +potion.hbm_potionsickness=药水病 +potion.hbm_radaway=消辐宁 potion.hbm_radiation=辐射 -potion.hbm_radx=辐射抗性 -potion.hbm_stability=原子稳定性 -potion.hbm_taint=腐化沾染 +potion.hbm_radx=抗辐射 +potion.hbm_stability=稳定 +potion.hbm_taint=污染 potion.hbm_telekinesis=! ! ! - radar.detectMissiles=探测导弹 radar.detectPlayers=探测玩家 radar.redMode=红石控制模式$开启: 基于导弹距离输出红石信号$关闭: 基于导弹级别输出红石信号 -radar.smartMode=智能模式$输出红石信号(忽略上升的导弹) - +radar.smartMode=智能模式$有红石信号时忽略上升段的导弹 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.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.moderated=慢化剂 rbmk.rod.depletion=燃料消耗: %s rbmk.rod.xenon=氙元素堆积程度: %s rbmk.rod.coreTemp=核心温度: %s rbmk.rod.skinTemp=表面温度: %s / %s -rbmk.screen.core=核心温度: %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=小型壳 +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.quantum=量子 shape.quart=四分之一块 -shape.plate=板 +shape.plate=板材 shape.plateTriple=铸造板 -shape.stamp=锻模 -shape.wire=线 - -soundCategory.ntmMachines=NTM核科技机器 - +shape.stamp=锻压模具 +shape.wire=线材 +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.ams_base.name=AMS基座 [开发中] +tile.ams_emitter.name=AMS发射极 [开发中] +tile.ams_limiter.name=AMS稳能器 [开发中] +tile.ancient_scrap.name=古代废金属 tile.anvil_bismuth.name=铋砧 tile.anvil_dnt.name=双聚中子态素砧 -tile.anvil_ferrouranium.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_osmiridium.name=铱锇合金砧 tile.anvil_schrabidate.name=Sa-铁合金砧 tile.anvil_starmetal.name=星辉金属砧 tile.anvil_steel.name=钢砧 @@ -4209,7 +4158,7 @@ tile.barbed_wire_wither.name=凋零铁丝网 tile.barrel_antimatter.name=磁约束反物质容器 tile.barrel_corroded.name=被腐蚀的桶 tile.barrel_iron.name=铁桶 -tile.barrel_plastic.name=安全桶™ +tile.barrel_plastic.name=安全桶 tile.barrel_steel.name=钢桶 tile.barrel_tcalloy.name=锝-钢合金桶 tile.barricade.name=沙袋 @@ -4217,11 +4166,11 @@ tile.basalt.name=玄武岩 tile.basalt_asbestos.name=富含石棉的玄武岩 tile.basalt_brick.name=玄武岩砖 tile.basalt_fluorite.name=富含氟石的玄武岩 -tile.basalt_gem.name=富含晶石的玄武岩 -tile.basalt_polished.name=磨制玄武岩 +tile.basalt_gem.name=富含宝石的玄武岩 +tile.basalt_polished.name=抛光玄武岩 tile.basalt_smooth.name=平滑玄武岩 -tile.basalt_sulfur.name=富硫玄武岩 -tile.basalt_tiles.name=玄武岩瓦 +tile.basalt_sulfur.name=富含硫的玄武岩 +tile.basalt_tiles.name=玄武岩砖 tile.blast_door.name=防爆闸门 tile.block_actinium.name=锕块 tile.block_advanced_alloy.name=高级合金块 @@ -4232,45 +4181,47 @@ tile.block_bakelite.name=电木块 tile.block_beryllium.name=铍块 tile.block_bismuth.name=铋块 tile.block_boron.name=硼块 -tile.block_c4.name=C-4炸药块 -tile.block_cap_fritz.name=Fritz弗里茨可乐瓶盖压缩块 -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=S~闪闪可乐瓶盖压缩块 -tile.block_cap_star.name=夕阳沙士星星瓶盖压缩块 -tile.block_cap_sunset.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_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_corium_cobble.name= 熔融物凝固石 tile.block_daffergon.name=达夫贡块 -tile.block_desh.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_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_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=锂块 @@ -4283,45 +4234,46 @@ 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_niter_reinforced.name=硝石加固块 tile.block_niobium.name=铌块 tile.block_plutonium.name=钚块 tile.block_plutonium_fuel.name=钚燃料块 -tile.block_polonium.name=钋-210块 +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_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=Sa326元素酸化铁块 -tile.block_schrabidium.name=Sa326异变铀金属块 -tile.block_schrabidium_cluster.name=Sa326异变铀金属团 -tile.block_schrabidium_fuel.name=Sa326异变铀金属燃料块 -tile.block_schraranium.name=低丰度Sa326异变铀金属块 +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_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=铀U235块 -tile.block_u238.name=铀U238块 -tile.block_unobtainium.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=韦德赛块 @@ -4333,7 +4285,7 @@ tile.block_white_phosphorus.name=白磷块 tile.block_yellowcake.name=黄饼块 tile.block_zirconium.name=锆块 tile.boat.name=船 -tile.bobblehead.name=Bob的摇头娃娃 +tile.bobblehead.name=Bob的魔法娃娃 tile.bomb_multi.name=多功能炸弹 tile.bomber.name=坠毁轰炸机 tile.book_guide.name=HBM的核科技mod手册[遗留] @@ -4341,28 +4293,28 @@ tile.boxcar.name=车厢 tile.brick_asbestos.name=石棉砖块 tile.brick_asbestos_stairs.name=石棉砖楼梯 tile.brick_compound.name=复合网格砖块 -tile.brick_compound_stairs.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_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_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_dungeon_tile.name=硒铜瓦 +tile.brick_fire.name=耐火砖块 tile.brick_fire_stairs.name=耐火砖楼梯 tile.brick_jungle.name=硫砷钢砖块 -tile.brick_jungle_circle.name=机械师留下的圆圈 +tile.brick_jungle_circle.name=机械师之环 tile.brick_jungle_cracked.name=开裂硫砷钢砖块 -tile.brick_jungle_fragile.name=易碎的硫砷钢砖块 +tile.brick_jungle_fragile.name=粉碎硫砷钢砖块 tile.brick_jungle_glyph.name=硫砷钢石雕砖块 tile.brick_jungle_lava.name=岩浆硫砷钢砖块 tile.brick_jungle_mystic.name=奥术硫砷钢砖块 @@ -4372,26 +4324,26 @@ tile.brick_light.name=轻质砖块 tile.brick_light_stairs.name=轻质砖楼梯 tile.brick_obsidian.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.broadcaster_pc.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.c4.name=C-4 +tile.cable_detector.name=红石电源开关 tile.cable_diode.name=紫铜二极管 tile.cable_switch.name=电源开关 -tile.charge_c4.name=爆破炸药 +tile.charge_c4.name=炸药包 tile.charge_dynamite.name=定时炸弹 tile.charge_miner.name=定时采矿炸药 -tile.charge_semtex.name=塞姆汀塑胶采矿炸药 +tile.charge_semtex.name=塞姆汀采矿炸药 tile.charger.name=充电站 -tile.cheater_virus.name=冻结Ep元素 -tile.cheater_virus_seed.name=不稳定Ep元素-Sa326元素块 +tile.cheater_virus.name=冻结Ep +tile.cheater_virus_seed.name=不稳定Ep Schrabide块 tile.chlorine_gas.name=氯气 tile.cluster_aluminium.name=铝矿簇 tile.cluster_copper.name=铜矿簇 @@ -4404,13 +4356,13 @@ 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_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=棕色混凝土 @@ -4427,35 +4379,41 @@ tile.concrete_colored.red.name=红色混凝土 tile.concrete_colored.silver.name=淡灰色混凝土 tile.concrete_colored.white.name=白色混凝土 tile.concrete_colored.yellow.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_pillar.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_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_stairs.name=混凝土瓦楼梯 -tile.concrete_super.name=Über混凝土 +tile.concrete_smooth_stairs.name=混凝土楼梯 +tile.concrete_stairs.name=混凝土瓷砖楼梯 +tile.concrete_super.name=über混凝土 tile.concrete_super_broken.name=发霉的碎片 -tile.conveyor.name=传送带 -tile.conveyor_chute.name=滑槽 -tile.conveyor_double.name=双通道传送带 -tile.conveyor_lift.name=提升式传送带 -tile.conveyor_triple.name=三通道传送带 +tile.conveyor.name=输送带 +tile.conveyor_chute.name=输送带滑槽 +tile.conveyor_double.name=双轨道输送带 +tile.conveyor_lift.name=垂直输送带 +tile.conveyor_triple.name=三轨道输送带 tile.corium_block.name=堆芯熔融物 -tile.crane_boxer.name=传送带打包器 -tile.crane_extractor.name=传送带输出器 -tile.crane_grabber.name=传送带抓取器 -tile.crane_inserter.name=传送带输入器 -tile.crane_router.name=传送带分流器 -tile.crane_splitter.name=传送带分离器 -tile.crane_unboxer.name=传送带解包器 +tile.crane_boxer.name=输送带打包机 +tile.crane_extractor.name=输送带提取器 +tile.crane_grabber.name=输送带抓斗 +tile.crane_inserter.name=输送带导入器 +tile.crane_router.name=输送带分拣机 +tile.crane_splitter.name=输送带分离器 +tile.crane_unboxer.name=输送带解包机 tile.crashed_bomb.name=哑弹 tile.crate.name=补给箱 -tile.crate_ammo.name=星辉金属补给箱 +tile.crate_ammo.name=星辉补给箱 tile.crate_can.name=罐头补给箱 -tile.crate_desh.name=德什制箱子 +tile.crate_desh.name=Desh板条箱 tile.crate_iron.name=铁箱 tile.crate_jungle.name=硫砷钢箱 tile.crate_lead.name=危险品补给箱 @@ -4471,11 +4429,12 @@ 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.part_emitter.name=装饰性粒子生成器 +tile.deco_emitter.name=Deco发光体 +tile.part_emitter.name=Deco粒子发射器 +tile.piston_inserter.name=插入器 tile.deco_lead.name=铅装饰块 -tile.deco_rbmk.name=RBMK石墨式反应堆装饰块 -tile.deco_rbmk_smooth.name=平滑RBMK石墨式反应堆装饰块 +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=生锈的钢制管道 @@ -4505,11 +4464,11 @@ tile.deco_steel.name=钢装饰块 tile.deco_titanium.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.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=采矿炸药 @@ -4519,73 +4478,73 @@ 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.dirt_dead.name=泥渣 +tile.dirt_oily.name=油泥 tile.drill_pipe.name=钻杆 tile.door_bunker.name=仓门 -tile.door_office.name=办公室门 tile.door_metal.name=金属门 -tile.ducrete.name=贫铀高密度混凝土瓦 -tile.ducrete_stairs.name=贫铀高密度混凝土瓦楼梯 -tile.ducrete_smooth.name=贫铀高密度混凝土 -tile.ducrete_smooth_stairs.name=贫铀高密度混凝土台阶 +tile.door_office.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.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_advanced_hull.name=高级工厂外壳 tile.factory_titanium_conductor.name=工厂电力端口 tile.factory_titanium_core.name=工厂核心组件 tile.factory_titanium_furnace.name=工厂端口 -tile.factory_titanium_hull.name=工厂方块 +tile.factory_titanium_hull.name=工厂外壳 tile.fallout.name=辐射尘 tile.fan.name=风扇 tile.fence_metal.name=铁丝网围栏 tile.field_disturber.name=高能场干扰机 -tile.filing_cabinet.green.name=布满灰尘的文件柜 +tile.filing_cabinet.green.name=蒙尘的文件柜 tile.filing_cabinet.steel.name=钢制文件柜 -tile.filing_cabinet.name=文件柜 -tile.fire_digamma.name=挥之不去的迪伽玛之火 +tile.fire_digamma.name=挥之不去的迪伽马之火 tile.fire_door.name=防火门 -tile.fireworks.name=烟花 -tile.fireworks.charges=装药: %s +tile.fireworks.name=烟花箱 +tile.fireworks.charges=已充能: %s tile.fireworks.message=信息: %s tile.fireworks.color=颜色: %s -tile.fissure_bomb.name=裂变炸弹 +tile.fissure_bomb.name=裂缝炸弹 tile.flame_war.name=盒中论战 tile.float_bomb.name=悬浮炸弹 -tile.fluid_duct.name=通用流体管道 (已弃用) -tile.fluid_duct_box.name=通用流体管道(箱形管) +tile.fluid_duct.name=通用流体管道 +tile.fluid_duct_box.name=通用流体管道(方形) tile.fluid_duct_gauge.name=流量计管 -tile.fluid_duct_gauge.desc=显示每个tick在网络中$流过多少流体的管道.$由桶或罐连接的分离网络$会被视为一个共享网络. +tile.fluid_duct_gauge.desc=显示每个游戏刻在管网有多少流体移动的管道$由桶或罐连接的分离网络被视为一个共享网络。 tile.fluid_duct_neo.name=通用流体管道 tile.fluid_duct_paintable.name=可喷漆涂层通用流体导管 -tile.fluid_duct_solid.name=涂层通用流体导管(已弃用) +tile.fluid_duct_solid.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.fraction_spacer.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.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.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_core.name=聚变反应堆控制器 -tile.fusion_hatch.name=风管装饰块 +tile.fusion_hatch.name=聚变反应堆端口 tile.fusion_heater.name=等离子加热器 tile.fusion_motor.name=磁体马达 tile.fwatz_computer.name=Watz聚变反应堆计算矩阵 @@ -4593,19 +4552,19 @@ 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_plasma.name=不稳定反Sa326等离子体 tile.fwatz_scaffold.name=Watz聚变反应堆结构支架 tile.fwatz_tank.name=冷却液罐 -tile.gas_asbestos.name=漂浮石棉颗粒 -tile.gas_coal.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_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_monoxide.name=一氧化碳 +tile.gas_radon.name=氡气 +tile.gas_radon_dense.name=高浓度氡气 tile.gas_radon_tomb.name=古墓气体 tile.geiger.name=盖革计数器 tile.glass_ash.name=灰烬玻璃 @@ -4615,50 +4574,50 @@ tile.glass_polonium.name=钋玻璃 tile.glass_quartz.name=石英玻璃 tile.glass_trinitite.name=核融玻璃 tile.glass_uranium.name=铀玻璃 -tile.gneiss_brick.name=片岩砖 -tile.gneiss_chiseled.name=錾制片岩 -tile.gneiss_tile.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=致密Sa326元素酸化铁制电磁加速线圈 -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=粒子加速器电镀层 (黄色) -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_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_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_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=燃烧固体燃料以产生热量.$可以85%的效率接受来自底部的热量. +tile.heater_oven.desc=燃烧固体燃料以产生热量$以50%的效率接受来自底部的热量。 tile.hev_battery.name=盔甲电池 -tile.impact_dirt.name=焦土 +tile.impact_dirt.name=烧焦的泥土 tile.iter.name=聚变反应堆 tile.ladder_aluminium.name=铝制梯子 tile.ladder_cobalt.name=钴制梯子 @@ -4684,29 +4643,29 @@ tile.machine_arc_furnace_off.name=电弧炉 tile.machine_arc_furnace_on.name=电弧炉 tile.machine_armor_table.name=装甲改装台 tile.machine_assembler.name=装配机 -tile.machine_assemfac.name=大型装配厂 -tile.machine_autocrafter.name=自动化工作台 -tile.machine_autosaw.name=自动锯 -tile.machine_bat9000.name="巨臀"9000号储罐 +tile.machine_assemfac.name=装配厂 +tile.machine_autocrafter.name=自动工作台 +tile.machine_autosaw.name=自动嗡嗡锯 +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_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_catalytic_reformer.name=催化重整器 tile.machine_centrifuge.name=离心机 tile.machine_chemfac.name=大型化工厂 -tile.machine_chemplant.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_coker.desc=炼焦,并产生各类流体副产品$需要外部热源$传热速率:ΔT*0.025 TU/T tile.machine_combine_factory.name=CMB炼钢炉 tile.machine_combustion_engine.name=工业内燃机 tile.machine_condenser.name=蒸汽冷凝器 @@ -4714,62 +4673,62 @@ tile.machine_controller.name=反应堆遥控模块 tile.machine_converter_he_rf.name=HE→RF转换器 tile.machine_converter_rf_he.name=RF→HE转换器 tile.machine_crucible.name=坩埚 -tile.machine_crystallizer.name=矿物结晶机 +tile.machine_crystallizer.name=矿物酸化器 tile.machine_cyclotron.name=回旋加速器 -tile.machine_detector.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_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_difurnace_rtg_off.name=核高炉 +tile.machine_difurnace_rtg_on.name=核高炉 +tile.machine_dineutronium_battery.name=Spark蓄电池 tile.machine_drill.name=自动采矿钻机 tile.machine_electric_furnace_off.name=电炉 tile.machine_electric_furnace_on.name=电炉 tile.machine_epress.name=电动锻压机 tile.machine_excavator.name=大型采矿钻机 -tile.machine_fel.name=FEL +tile.machine_fel.name=FEL自由电子激光器 tile.machine_fensu.name=FEnSU飞轮储能系统 -tile.machine_flare.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_fracking_tower.name=水力压裂塔 tile.machine_gascent.name=气体离心机 tile.machine_generator.name=核反应堆[旧] tile.machine_geo.name=地热发电机 tile.machine_hephaestus.name=地热换热器 tile.machine_industrial_generator.name=工业发电机 tile.machine_keyforge.name=锁匠桌 -tile.machine_large_turbine.name=大型工业汽轮机 +tile.machine_large_turbine.name=工业汽轮机 tile.machine_large_turbine.desc=效率: 100%% tile.machine_liquefactor.name=工业液化机 -tile.machine_liquefactor.desc=强大的通用型机器,可将物品转化为液体.$配有多功能催化组件,加热元件$和用于石油化工进行液化的内置水合器. +tile.machine_liquefactor.desc=强大的通用机器,可将物品转化为液体$配有多功能催化组件、加热元件和用于石化液化的内置水合器。 tile.machine_lithium_battery.name=锂蓄电池 tile.machine_microwave.name=微波炉 -tile.machine_mining_laser.name=自动激光采矿钻机 +tile.machine_mining_laser.name=采矿激光 tile.machine_minirtg.name=放射性同位素电池 tile.machine_missile_assembly.name=导弹装配台 -tile.machine_mixer.name=工业混合机 +tile.machine_mixer.name=工业搅拌机 tile.machine_nuke_furnace_off.name=核熔炉 tile.machine_nuke_furnace_on.name=核熔炉 tile.machine_orbus.name=重型磁约束储罐 tile.machine_powerrtg.name=PT同位素电池 tile.machine_press.name=火力锻压机 tile.machine_puf6_tank.name=六氟化钚储罐 -tile.machine_pumpjack.name=梁式抽油机 +tile.machine_pumpjack.name=石油钻机 tile.machine_radar.name=雷达 tile.machine_radgen.name=辐射能量发电机 -tile.machine_radiolysis.name=放射性同位素热电发生器和辐解室 +tile.machine_radiolysis.name=放射性同位素热电机和辐射裂解室 tile.machine_reactor.name=增殖反应堆 -tile.machine_reactor_small.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_cyan.name=Sa326衰变发电机 [开发中] tile.machine_rtg_furnace_off.name=放射性同位素热力炉[RTG] tile.machine_rtg_furnace_on.name=放射性同位素热力炉[RTG] tile.machine_rtg_green.name=韦德赛富集发电机 @@ -4779,26 +4738,26 @@ 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_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_silex.name=激光同位素分离室 tile.machine_siren.name=警报器 -tile.machine_solar_boiler.name=太阳能蒸发塔 +tile.machine_solar_boiler.name=太阳能锅炉 tile.machine_solidifier.name=工业固化机 -tile.machine_solidifier.desc=配备冷却系统和其他多功能工具的通用型机器$用于通过冷冻和石化聚合等多种工艺$将液体变为固体. +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_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_steel.name=重型斯特林发动机 +tile.machine_stirling_steel.desc=它将热量转化为能量。这需要外部热源$使用更重的齿轮来支持更高的温度$传热率:T*0.1 TU/T$最大进气量:1500 TU/T$效率:50% tile.machine_storage_drum.name=核废料处理桶 -tile.machine_stirling_steel.name=重型斯特林发电机 -tile.machine_stirling_steel.desc=将热量转化为能量. 需要外部热源.$使用更重的齿轮来支持更高的温度.$传热效率: T*0.1 TU/t$最大吸热速率: 1500 TU/t$转换效率: 50%% tile.machine_telelinker.name=炮塔ID管理器 tile.machine_teleporter.name=传送机 tile.machine_tower_large.name=冷却塔 @@ -4810,21 +4769,21 @@ 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_turbofan.name=涡扇发动机 tile.machine_uf6_tank.name=六氟化铀储罐 -tile.machine_vacuum_distill.name=真空精炼厂 -tile.machine_waste_drum.name=乏核燃料冷却池 +tile.machine_vacuum_distill.name=真空炼油厂 +tile.machine_waste_drum.name=乏燃料池 tile.machine_well.name=钻油塔 -tile.machine_zirnox.name=ZIRNOX锆诺克斯反应堆 +tile.machine_zirnox.name=锆诺克斯核反应堆 tile.marker_structure.name=多方块结构信标 -tile.mass_storage.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_polished.name=平滑陨石块 tile.meteor_spawner.name=赛博螃蟹组装机 tile.mine_ap.name=反步兵地雷 tile.mine_fat.name=核地雷 @@ -4842,7 +4801,7 @@ tile.nuke_fstbmb.name=BF炸弹 tile.nuke_gadget.name=小玩意 tile.nuke_man.name=胖子 tile.nuke_mike.name=常青藤迈克 -tile.nuke_n2.name=N²炸弹 +tile.nuke_n2.name=N2炸弹 tile.nuke_n45.name=N45水雷 tile.nuke_prototype.name=原型 tile.nuke_solinium.name=蔚蓝洗礼 @@ -4850,54 +4809,54 @@ tile.nuke_tsar.name=沙皇炸弹 tile.oil_duct.name=输油管 tile.oil_duct_solid.name=粗输油管 tile.oil_pipe.name=原油抽取管 -tile.ore_alexandrite.name=紫翠宝石矿 +tile.ore_alexandrite.name=亚历山大变石矿 tile.ore_aluminium.name=铝矿石 tile.ore_asbestos.name=石棉矿 tile.ore_australium.name=奥斯矿石 -tile.ore_bedrock.name=基岩矿床 -tile.ore_bedrock_coltan.name=基岩层钶钽铁矿 -tile.ore_bedrock_oil.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_coal_oil_burning.name=燃烧的含油煤矿石 tile.ore_cobalt.name=钴矿石 -tile.ore_coltan.name=钶钽铁矿石 +tile.ore_coltan.name=钶钽铁矿 tile.ore_copper.name=铜矿石 tile.ore_daffergon.name=达夫贡矿石 -tile.ore_depth_borax.name=深层硼砂矿石 +tile.ore_depth_borax.name=深层硼砂矿 tile.ore_depth_cinnebar.name=深层朱砂矿石 -tile.ore_depth_nether_neodymium.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_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_copper.name=铜矿陨石 tile.ore_meteor_lead.name=铅矿陨石 tile.ore_meteor_lithium.name=锂矿陨石 -tile.ore_meteor_starmetal.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_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_schrabidium.name=下界Sa326矿石 +tile.ore_nether_smoldering.name=阴燃下界岩 tile.ore_nether_sulfur.name=下界硫磺矿石 tile.ore_nether_tungsten.name=下界钨矿石 tile.ore_nether_uranium.name=下界铀矿石 @@ -4909,77 +4868,77 @@ 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_schrabidium.name=Sa326矿石 tile.ore_sulfur.name=硫磺矿石 -tile.ore_tektite_osmiridium.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_unobtainium.name=难得素矿石 tile.ore_uranium.name=铀矿石 tile.ore_uranium_scorched.name=烧焦的铀矿石 tile.ore_verticium.name=韦德赛矿石 -tile.ore_volcano.name=地热口 +tile.ore_volcano.name=地热裂缝 tile.ore_weidanium.name=魏丹矿石 tile.pink_barrel.name=煤油桶 tile.pink_log.name=粉色原木 tile.pink_planks.name=粉色木板 tile.pink_slab.name=粉色木半砖 tile.pink_stairs.name=粉色木台阶 -tile.plant_dead.name=死亡的植物 -tile.plant_flower.cd0.name=芥柳 -tile.plant_flower.cd1.name=芥柳 +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.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.pole_satellite_receiver.name=卫星天线 tile.pole_top.name=天线顶部 -tile.press_preheater.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.radio_torch_receiver.name=红石无线信号接收器 -tile.radio_torch_receiver.desc=可在平坦表面或与比较器兼容的块上放置 -tile.radio_torch_sender.name=红石无线信号发送器 -tile.radio_torch_sender.desc=可在平坦表面或与比较器兼容的块上放置$读取红石信号或比较器输入 +tile.pribris_burning.name=燃烧的RBMK反应堆残骸 +tile.pribris_digamma.name=发黑的RBMK反应堆残骸 +tile.pribris_radiating.name=阴燃的RBMK反应堆残骸 +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.radiorec.name=坏掉的收音机 tile.rail_booster.name=高速动力轨道 tile.rail_highspeed.name=高速轨道 -tile.rail_narrow.name=窄轨距车厢轨道 -tile.rail_wood.name=木轨 -tile.rbmk_absorber.name=RBMK石墨式反应堆硼中子吸收器 -tile.rbmk_blank.name=RBMK石墨式反应堆结构柱 -tile.rbmk_boiler.name=RBMK石墨式反应堆蒸汽管道 +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_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_outlet.name=RBMK石墨式反应堆(ReaSim)蒸汽出口 -tile.rbmk_storage.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_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_outlet.name=RBMK ReaSim蒸汽出口 +tile.rbmk_storage.name=RBMK燃料棒存储棒 tile.reactor_computer.name=反应堆控制器 tile.reactor_conductor.name=反应堆锅炉 tile.reactor_control.name=控制棒 @@ -4989,22 +4948,25 @@ tile.reactor_hatch.name=反应堆端口 tile.reactor_inserter.name=反应堆燃料插入器 tile.red_barrel.name=炸药桶 tile.red_cable.name=紫铜电线 -tile.red_cable_classic.name=紫铜电线(经典) -tile.red_cable_paintable.name=可涂漆红铜线缆块 -tile.red_connector.name=电线连接器 +tile.red_cable_classic.name=紫铜电缆(经典型) +tile.red_cable_paintable.name=可涂漆紫铜线 +tile.red_connector.name=电力连接器 tile.red_pylon.name=电线杆 tile.red_pylon_large.name=大型输电塔 tile.red_wire_coated.name=密封紫铜电缆 tile.reinforced_brick.name=强化石头 -tile.reinforced_brick_stairs.name=强化石头楼梯 -tile.reinforced_ducrete.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=保险箱 @@ -5014,10 +4976,10 @@ 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_lead.name=铅沙 +tile.sand_polonium.name=钋沙 tile.sand_quartz.name=石英砂 -tile.sand_uranium.name=铀砂 +tile.sand_uranium.name=铀沙 tile.sat_dock.name=卸货平台 tile.sat_foeq.name=实验型核能PEAF-Mk.I FOEQ Duna探测器[装饰块] tile.sat_laser.name=轨道死光炮[装饰块] @@ -5025,45 +4987,46 @@ tile.sat_mapper.name=地表测绘卫星[装饰块] tile.sat_radar.name=雷达探测卫星[装饰块] tile.sat_resonator.name=X晶体共振卫星[装饰块] tile.sat_scanner.name=绘测和资源探测卫星[装饰块] -tile.schrabidic_block.name=Sa326元素酸液 +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.1.name=高温放射性熔融凝固物 tile.sellafield.2.name=沸腾的放射性熔融凝固物 tile.sellafield.3.name=灼热的放射性熔融凝固物 -tile.sellafield.4.name=地狱的放射性熔融凝固物 -tile.sellafield.5.name=高放射性堆芯熔融凝固物 -tile.sellafield_slaked.name=冷却的放射性熔融凝固物 +tile.sellafield.4.name=地狱般的放射性熔融凝固物 +tile.sellafield.5.name=放射性熔融凝固物核心 +tile.sellafield_slaked.name=消沉的放射性熔融凝固物 tile.semtex.name=塞姆汀塑胶炸药 -tile.solar_mirror.name=阳光反射镜 +tile.solar_mirror.name=定日镜 tile.soyuz_capsule.name=货物着陆舱 -tile.soyuz_launcher.name=联盟号巨型运载火箭发射平台 -tile.spikes.name=尖刺 +tile.soyuz_launcher.name=联盟号发射平台 +tile.spikes.name=地刺 tile.stalactite.asbestos.name=石棉钟乳石 tile.stalactite.sulfur.name=含硫钟乳石 tile.stalagmite.asbestos.name=石棉石笋 -tile.stalagmite.sulfur.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=允许掉落的物品和XP穿过 +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_cracked.name=破碎的石头 +tile.stone_depth.name=深层岩石 +tile.stone_depth_nether.name=下界深层岩石 +tile.stone_gneiss.name=石墨页岩 tile.stone_porous.name=多孔石 -tile.stone_resource.asbestos.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.stone_resource.sulfur.name=硫磺石 tile.struct_iter_core.name=聚变反应堆核心组件 tile.struct_launcher.name=发射台部件 tile.struct_launcher_core.name=紧凑型发射台核心组件 @@ -5071,14 +5034,14 @@ 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.struct_watz_core.name=Watz发电厂核心组件 +tile.substation.name=变电站 tile.sulfuric_acid_block.name=硫酸 -tile.taint.name=污点 +tile.taint.name=腐质 tile.taint_barrel.name=IMP残渣桶 tile.tape_recorder.name=录音机 tile.tektite.name=熔融石 -tile.teleanchor.name=远程传送锚 +tile.teleanchor.name=传送锚 tile.tesla.name=特斯拉线圈 tile.test_nuke.name=测试核弹 tile.therm_endo.name=吸热炸弹 @@ -5088,81 +5051,77 @@ 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.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_friendly.name=轻机枪炮塔“友好先生” tile.turret_fritz.name=重型火焰喷射器炮塔“弗里茨” -tile.turret_howard.name=双管近防炮"霍华德" -tile.turret_howard_damaged.name=双管近防炮 "玛土撒拉" tile.turret_heavy.name=重型机枪炮塔 -tile.turret_himars.name=远程火箭弹炮塔"亨利" -tile.turret_jeremy.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_richard.name=火箭炮塔“理查德” tile.turret_spitfire.name=目前没有名字[开发中] -tile.turret_sentry.name=哨岗炮塔 "布朗" +tile.turret_sentry.name=哨兵炮塔“布朗” tile.turret_tau.name=陶子炮塔 -tile.turret_tauon.name=XVL1456原型炮塔 "负陶子发射器" +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.vinyl_tile.large.name=大型乙烯基瓷砖 tile.vinyl_tile.small.name=小型乙烯基瓷砖 tile.vitrified_barrel.name=玻璃化核废料桶 -tile.volcanic_lava_block.name=火山岩浆 +tile.volcanic_lava_block.name=火山熔岩 tile.volcano_core.name=火山核心 tile.waste_earth.name=死亡草地 -tile.waste_leaves.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=Watz瓦茨发电塔加强控制棒 -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.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锆诺克斯反应堆 - -trait.asbestos=石棉粉尘 -trait.blinding=致盲性 -trait.coal=煤粉尘 -trait.digamma=Ϝ迪伽马辐射 -trait.drop=掉落危险 +tile.zirnox_destroyed.name=损毁的ZINROX +trait.asbestos=石棉 +trait.blinding=致盲 +trait.coal=煤尘 +trait.digamma=迪伽马辐射 +trait.drop=掉落物危险 trait.explosive=高度易燃/易爆 -trait.furnace=在核熔炉中可熔炼%s个物品 -trait.heat=产生%s热量 +trait.furnace=可在核熔炉中工作 %s 次 +trait.heat=提供 %s 热量 trait.hlParticle=粒子半衰期: %s trait.hlPlayer=玩家半衰期: %s -trait.hot=自燃/炽热 -trait.hydro=遇水爆炸 +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=每1中子通量产生的热量: %s +trait.rbmk.heat=每接受一个中子产生的热量: %s trait.rbmk.melt=熔点: %s trait.rbmk.neutron.any=所有中子 trait.rbmk.neutron.fast=快中子 @@ -5174,13 +5133,12 @@ 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=满功率时每tick产生的热量: %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=椭圆非欧几里德形时空平面 @@ -5192,57 +5150,55 @@ 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.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=OFF -turret.on=ON -turret.players=攻击玩家: %s - +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 wavelengths.name.ir=红外线 wavelengths.name.visible=可见光 wavelengths.name.uv=紫外线 wavelengths.name.gamma=伽马射线 -wavelengths.name.drx=Ϝ迪伽马射线 +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.beheader=斩首 +weapon.ability.bobble=收藏家之运 +weapon.ability.chainsaw=痛苦面"锯" weapon.ability.fire=燃烧 -weapon.ability.radiation=放射性刀片 -weapon.ability.phosphorus=磷烧伤 -weapon.ability.stun=眩晕打击 +weapon.ability.radiation=辐射 +weapon.ability.phosphorus=白磷刀刃 +weapon.ability.stun=震撼 weapon.ability.vampire=吸血 -weapon.elecGun.modeChange=开火模式切换为: +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=γ射线 \ No newline at end of file +weapon.elecGun.glass_cannon.gamma=伽马射线 +hadron.error=错误! +container.reactor=增殖反应堆 +death.attack.subAtomic=%1$s 的原子被 %2$s 摧毁 \ No newline at end of file From 5d13557f23421366f3bb133d91dbc4d65df4bb28 Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Sun, 11 Jun 2023 19:07:35 +0300 Subject: [PATCH 169/285] Updated ru_RU.lang updated russian localization --- src/main/resources/assets/hbm/lang/ru_RU.lang | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index a4786659c..4aa131493 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -1184,6 +1184,12 @@ hbmfluid.fishoil=Рыбий жир hbmfluid.sunfloweroil=Подсолнечное масло hbmfluid.nitroglycerin=Нитроглицерин hbmfluid.redmud=Красный шлам +hbmfluid.calcium_chloride=Раствор хлорида кальция +hbmfluid.chlorocalcite_cleaned=Очищенный раствор хлоркальцита +hbmfluid.chlorocalcite_mix=Смешанный раствор хлоркальцита +hbmfluid.chlorocalcite_solution=Раствор хлоркальцита +hbmfluid.potassium_chloride=Раствор хлорида калия +hbmfluid.calcium_solution=Раствор кальция hbmmat.actinium227=Актиний-227 hbmmat.advancedalloy=Продвинутый сплав @@ -1497,6 +1503,9 @@ chem.NITRIC_ACID=Производство азотной кислоты chem.SOLVENT=Смешивание органического растворителя chem.PET=Синтез ПЭТ chem.TATB=Синтез TATB +chem.CC_CENTRIFUGE=Отделение хлоркальцита +chem.CC_ELECTROLYSIS=Электролиз хлорида кальция +chem.PC_ELECTROLYSIS=Электролиз хлорида калия item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core item.record.ss.desc=Valve - Sector Sweep @@ -1789,6 +1798,13 @@ 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.desc=Вход: Сверху$Выход: Снизу через шину tile.machine_coal_off.name=Генератор внутреннего сгорания tile.machine_coal_on.name=Генератор внутреннего сгорания container.machineCoal=Генератор внутреннего сгорания @@ -4307,6 +4323,9 @@ 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=Лунный снайперский зажигательный снаряд @@ -5117,6 +5136,8 @@ 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=Лазерный детонатор @@ -5330,6 +5351,10 @@ 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.part_lithium.name=Коробка литиевой пыли item.part_beryllium.name=Коробка бериллиевой пыли @@ -5405,6 +5430,7 @@ 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=Дозиметр From d3907c72aa3fc0d4fcbd9c6e90337fd4d98e1c92 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Sun, 11 Jun 2023 20:59:22 -0500 Subject: [PATCH 170/285] Minor addition in pollution code. (clamping values) --- .../com/hbm/handler/pollution/PollutionHandler.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index 16d91da8d..1cd2250b8 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -172,10 +172,18 @@ public class PollutionHandler { data.pollution[S] *= 0.8F; } else { data.pollution[S] *= 0.99F; + /* Clamp soot pollution to 0 near low values. */ + if(data.pollution[S] < 0.0001F) { + data.pollution[S] = 0; + } } - + data.pollution[H] *= 0.999F; - + /* Clamp Heavy pollution to 0 near low values. */ + if(data.pollution[H] < 0.001F) { + data.pollution[H] = 0; + } + /* SPREADING */ //apply new data to self PollutionData newData = newPollution.get(chunk.getKey()); From b9c23718484ecabe6e0c494a6611a07a14f2a328 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Sun, 11 Jun 2023 21:52:31 -0500 Subject: [PATCH 171/285] Small changes to Boiler callback code following the change with OC and string returns. --- .../machine/rbmk/TileEntityRBMKBoiler.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) 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 6faf888fa..92dd33539 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java @@ -383,10 +383,10 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I @Optional.Method(modid = "OpenComputers") public Object[] getSteamType(Context context, Arguments args) { FluidType type = steam.getTankType(); - if(type == Fluids.STEAM) {return new Object[] {"0"};} - else if(type == Fluids.HOTSTEAM) {return new Object[] {"1"};} - else if(type == Fluids.SUPERHOTSTEAM) {return new Object[] {"2"};} - else if(type == Fluids.ULTRAHOTSTEAM) {return new Object[] {"3"};} + if(type == Fluids.STEAM) {return new Object[] {0};} + else if(type == Fluids.HOTSTEAM) {return new Object[] {1};} + else if(type == Fluids.SUPERHOTSTEAM) {return new Object[] {2};} + else if(type == Fluids.ULTRAHOTSTEAM) {return new Object[] {3};} else {return new Object[] {"Unknown Error"};} } @@ -401,16 +401,16 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I } if(type == 0) { steam.setTankType(Fluids.STEAM); - return new Object[] {"true"}; + return new Object[] {true}; } else if(type == 1) { steam.setTankType(Fluids.HOTSTEAM); - return new Object[] {"true"}; + return new Object[] {true}; } else if(type == 2) { steam.setTankType(Fluids.SUPERHOTSTEAM); - return new Object[] {"true"}; + return new Object[] {true}; } else { steam.setTankType(Fluids.ULTRAHOTSTEAM); - return new Object[] {"true"}; + return new Object[] {true}; } } From 3ab84d4f8a4f59722d85757158438b2eb8763234 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Sun, 11 Jun 2023 22:31:53 -0500 Subject: [PATCH 172/285] Percentage my beloved --- .../com/hbm/tileentity/machine/TileEntityReactorResearch.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java index aae6849e0..3e17bf1e0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityReactorResearch.java @@ -400,7 +400,7 @@ public class TileEntityReactorResearch extends TileEntityMachineBase implements @Callback @Optional.Method(modid = "OpenComputers") public Object[] getLevel(Context context, Arguments args) { - return new Object[] {level}; + return new Object[] {level * 100}; } @Callback From 506a70a413063c4683d31d837e75f05b78358e8a Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Sun, 11 Jun 2023 23:26:53 -0500 Subject: [PATCH 173/285] geiger counter OC compat --- .../tileentity/machine/TileEntityGeiger.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java b/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java index e9b9e17db..ac7bddef0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityGeiger.java @@ -4,9 +4,15 @@ import java.util.ArrayList; import java.util.List; import com.hbm.handler.radiation.ChunkRadiationManager; +import cpw.mods.fml.common.Optional; +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.tileentity.TileEntity; -public class TileEntityGeiger extends TileEntity { +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityGeiger extends TileEntity implements SimpleComponent { int timer = 0; int ticker = 0; @@ -57,5 +63,15 @@ public class TileEntityGeiger extends TileEntity { int rads = (int)Math.ceil(ChunkRadiationManager.proxy.getRadiation(worldObj, xCoord, yCoord, zCoord)); return rads; } + @Override + public String getComponentName() { + return "ntm_geiger"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getRads(Context context, Arguments args) { + return new Object[] {check()}; + } } From 11fc87d0ad0ad32ae57a39648bb6ddf726826851 Mon Sep 17 00:00:00 2001 From: Toshayo Date: Sat, 10 Jun 2023 15:43:05 +0200 Subject: [PATCH 174/285] Changed decimal colors to hexadecimal --- src/main/java/com/hbm/potion/HbmPotion.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/hbm/potion/HbmPotion.java b/src/main/java/com/hbm/potion/HbmPotion.java index 7d5855009..a7688f2da 100644 --- a/src/main/java/com/hbm/potion/HbmPotion.java +++ b/src/main/java/com/hbm/potion/HbmPotion.java @@ -47,10 +47,10 @@ public class HbmPotion extends Potion { } public static void init() { - taint = registerPotion(PotionConfig.taintID, true, 8388736, "potion.hbm_taint", 0, 0); - radiation = registerPotion(PotionConfig.radiationID, true, 8700200, "potion.hbm_radiation", 1, 0); - bang = registerPotion(PotionConfig.bangID, true, 1118481, "potion.hbm_bang", 3, 0); - mutation = registerPotion(PotionConfig.mutationID, false, 8388736, "potion.hbm_mutation", 2, 0); + taint = registerPotion(PotionConfig.taintID, true, 0x800080, "potion.hbm_taint", 0, 0); + radiation = registerPotion(PotionConfig.radiationID, true, 0x84C128, "potion.hbm_radiation", 1, 0); + bang = registerPotion(PotionConfig.bangID, true, 0x111111, "potion.hbm_bang", 3, 0); + mutation = registerPotion(PotionConfig.mutationID, false, 0x800080, "potion.hbm_mutation", 2, 0); radx = registerPotion(PotionConfig.radxID, false, 0xBB4B00, "potion.hbm_radx", 5, 0); lead = registerPotion(PotionConfig.leadID, true, 0x767682, "potion.hbm_lead", 6, 0); radaway = registerPotion(PotionConfig.radawayID, false, 0xBB4B00, "potion.hbm_radaway", 7, 0); @@ -58,7 +58,7 @@ public class HbmPotion extends Potion { phosphorus = registerPotion(PotionConfig.phosphorusID, true, 0xFFFF00, "potion.hbm_phosphorus", 1, 1); stability = registerPotion(PotionConfig.stabilityID, false, 0xD0D0D0, "potion.hbm_stability", 2, 1); potionsickness = registerPotion(PotionConfig.potionsicknessID, false, 0xff8080, "potion.hbm_potionsickness", 3, 1); - death = registerPotion(PotionConfig.deathID, false, 1118481, "potion.hbm_death", 4, 1); + death = registerPotion(PotionConfig.deathID, false, 0x111111, "potion.hbm_death", 4, 1); } public static HbmPotion registerPotion(int id, boolean isBad, int color, String name, int x, int y) { From d3e6e226007966c01614f5d40a8e6c2abd645e3e Mon Sep 17 00:00:00 2001 From: Toshayo Date: Mon, 12 Jun 2023 11:18:15 +0200 Subject: [PATCH 175/285] Bring back CurseForge config example file --- curseforge.properties.example | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 curseforge.properties.example diff --git a/curseforge.properties.example b/curseforge.properties.example new file mode 100644 index 000000000..002b2b4f5 --- /dev/null +++ b/curseforge.properties.example @@ -0,0 +1,5 @@ +# CurseForge API token (obtainable from https://legacy.curseforge.com/account/api-tokens) +api_key= + +# CurseForge project ID +project_id= From e94548ed0c1b30aa53ca3539149c0c9d289f81c3 Mon Sep 17 00:00:00 2001 From: Toshayo Date: Mon, 12 Jun 2023 11:58:11 +0200 Subject: [PATCH 176/285] Better CurseForge task configuration: display name, game versions and a fix for changelog backup not being replaced --- build.gradle | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 9a1ea516d..8cd9a478d 100644 --- a/build.gradle +++ b/build.gradle @@ -1,5 +1,8 @@ +import org.gradle.plugins.ide.eclipse.model.internal.FileReferenceFactory + import java.nio.file.Files import java.nio.file.Paths +import java.nio.file.StandardCopyOption buildscript { repositories { @@ -53,7 +56,7 @@ eclipse.classpath.file.whenMerged { cp -> } // Create file reference factory - def fileref = new org.gradle.plugins.ide.eclipse.model.internal.FileReferenceFactory() + def fileref = new FileReferenceFactory() // Find all codechicken development jars cp.entries.findAll { entry -> entry.path.contains("codechicken") && entry.path.endsWith("-dev.jar") }.forEach { entry -> @@ -132,12 +135,20 @@ if(Files.exists(Paths.get("curseforge.properties"))) { projectId = cfprops.project_id releaseType = "release" + displayName = "Hbm's Nuclear Tech Mod " + version_name.replace("_", "") + " for Minecraft 1.7.10" + + gameVersions.addAll([ + "Forge", + "Java 8", + "Client", "Server" + ]) + if (Files.exists(Paths.get("changelog"))) { changelog = String.join("\r\n", Files.readAllLines(Paths.get("changelog"))) // Perform a backup of the changelog and create a new file for next changes doLast { - Files.move(Paths.get("changelog"), Paths.get("changelog.bak")) + Files.move(Paths.get("changelog"), Paths.get("changelog.bak"), StandardCopyOption.REPLACE_EXISTING) Files.createFile(Paths.get("changelog")) } } From 2a01d7f2fb53a47eea2b681d12876e8c3afee600 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 12 Jun 2023 13:58:19 +0200 Subject: [PATCH 177/285] configurable fluid traits --- .../handler/pollution/PollutionHandler.java | 1 + .../com/hbm/inventory/fluid/FluidType.java | 2 +- .../java/com/hbm/inventory/fluid/Fluids.java | 79 +++++++++++++++++++ .../inventory/fluid/trait/FT_Combustible.java | 17 ++++ .../inventory/fluid/trait/FT_Coolable.java | 35 +++++++- .../inventory/fluid/trait/FT_Corrosive.java | 16 ++++ .../inventory/fluid/trait/FT_Flammable.java | 15 ++++ .../inventory/fluid/trait/FT_Heatable.java | 47 +++++++++++ .../hbm/inventory/fluid/trait/FT_Poison.java | 16 ++++ .../hbm/inventory/fluid/trait/FT_Toxin.java | 76 ++++++++++++++++++ .../fluid/trait/FT_VentRadiation.java | 15 ++++ .../hbm/inventory/fluid/trait/FluidTrait.java | 32 ++++++++ 12 files changed, 348 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index 16d91da8d..570f91415 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -123,6 +123,7 @@ public class PollutionHandler { try { File pollutionFile = new File(dirPath, fileName); + if(!pollutionFile.getParentFile().exists()) pollutionFile.getParentFile().mkdirs(); if(!pollutionFile.exists()) pollutionFile.createNewFile(); NBTTagCompound data = perWorld.get(world).writeToNBT(); CompressedStreamTools.writeCompressed(data, new FileOutputStream(pollutionFile)); diff --git a/src/main/java/com/hbm/inventory/fluid/FluidType.java b/src/main/java/com/hbm/inventory/fluid/FluidType.java index d4dd7c272..390fcfede 100644 --- a/src/main/java/com/hbm/inventory/fluid/FluidType.java +++ b/src/main/java/com/hbm/inventory/fluid/FluidType.java @@ -48,7 +48,7 @@ public class FluidType { public double compression = DEFAULT_COMPRESSION; public HashMap containers = new HashMap(); - private HashMap, FluidTrait> traits = new HashMap(); + public HashMap, FluidTrait> traits = new HashMap(); //public List enumTraits = new ArrayList(); private ResourceLocation texture; diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index 6a779d673..f9de9f7b3 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -1,12 +1,22 @@ package com.hbm.inventory.fluid; +import java.io.File; +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.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; import com.hbm.inventory.fluid.trait.*; import com.hbm.inventory.fluid.trait.FluidTraitSimple.*; import com.hbm.lib.ModDamageSource; +import com.hbm.main.MainRegistry; import com.hbm.potion.HbmPotion; import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade; import com.hbm.inventory.fluid.trait.FT_Coolable.CoolingType; @@ -20,6 +30,8 @@ import net.minecraft.potion.PotionEffect; public class Fluids { + public static final Gson gson = new Gson(); + public static FluidType NONE; public static FluidType WATER; public static FluidType STEAM; @@ -562,6 +574,73 @@ 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 folder = MainRegistry.configHbmDir; + + File config = new File(folder.getAbsolutePath() + File.separatorChar + "hbmFluids.json"); + File template = new File(folder.getAbsolutePath() + File.separatorChar + "_hbmFluids.json"); + + if(!config.exists()) { + writeDefault(template); + } else { + readConfig(config); + } + } + + private static void writeDefault(File file) { + + try { + JsonWriter writer = new JsonWriter(new FileWriter(file)); + writer.setIndent(" "); + writer.beginObject(); + + for(FluidType type : metaOrder) { + writer.name(type.getUnlocalizedName()).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 readConfig(File config) { + + try { + JsonObject json = gson.fromJson(new FileReader(config), JsonObject.class); + + for(FluidType type : metaOrder) { + + JsonElement element = json.get(type.getUnlocalizedName()); + if(element != null) { + type.traits.clear(); + JsonObject obj = element.getAsJsonObject(); + + for(Entry entry : obj.entrySet()) { + Class traitClass = FluidTrait.traitNameMap.get(entry.getKey()); + try { + FluidTrait trait = traitClass.newInstance(); + trait.deserializeJSON(entry.getValue().getAsJsonObject()); + type.addTraits(trait); + } catch(Exception ex) { + ex.printStackTrace(); + } + } + } + } + + } catch(Exception ex) { + ex.printStackTrace(); + } } private static void registerCalculatedFuel(FluidType type, double base, double combustMult, FuelGrade grade) { diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Combustible.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Combustible.java index a88ac2c35..a297d40ca 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Combustible.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Combustible.java @@ -1,7 +1,10 @@ package com.hbm.inventory.fluid.trait; +import java.io.IOException; import java.util.List; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; import com.hbm.util.BobMathUtil; import net.minecraft.util.EnumChatFormatting; @@ -11,6 +14,8 @@ public class FT_Combustible extends FluidTrait { protected FuelGrade fuelGrade; protected long combustionEnergy; + public FT_Combustible() { } + public FT_Combustible(FuelGrade grade, long energy) { this.fuelGrade = grade; this.combustionEnergy = energy; @@ -53,4 +58,16 @@ public class FT_Combustible extends FluidTrait { return this.grade; } } + + @Override + public void serializeJSON(JsonWriter writer) throws IOException { + writer.name("energy").value(combustionEnergy); + writer.name("grade").value(fuelGrade.name()); + } + + @Override + public void deserializeJSON(JsonObject obj) { + this.combustionEnergy = obj.get("energy").getAsLong(); + this.fuelGrade = FuelGrade.valueOf(obj.get("grade").getAsString()); + } } 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 25bd1488d..f25e77c35 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 @@ -1,9 +1,14 @@ package com.hbm.inventory.fluid.trait; +import java.io.IOException; import java.util.HashMap; import java.util.List; +import java.util.Map.Entry; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; import net.minecraft.util.EnumChatFormatting; @@ -11,10 +16,12 @@ public class FT_Coolable extends FluidTrait { protected HashMap efficiency = new HashMap(); - public final FluidType coolsTo; + public FluidType coolsTo; public int amountReq; public int amountProduced; - public final int heatEnergy; + public int heatEnergy; + + public FT_Coolable() { } public FT_Coolable(FluidType type, int req, int prod, int heat) { this.coolsTo = type; @@ -56,4 +63,28 @@ public class FT_Coolable extends FluidTrait { this.name = name; } } + + @Override + public void serializeJSON(JsonWriter writer) throws IOException { + writer.name("coolsTo").value(this.coolsTo.getUnlocalizedName()); + writer.name("amountReq").value(this.amountReq); + writer.name("amountProd").value(this.amountProduced); + writer.name("heatEnergy").value(this.heatEnergy); + + for(Entry entry : this.efficiency.entrySet()) { + writer.name(entry.getKey().name()).value(entry.getValue()); + } + } + + @Override + public void deserializeJSON(JsonObject obj) { + this.coolsTo = Fluids.fromName(obj.get("coolsTo").getAsString()); + this.amountReq = obj.get("amountReq").getAsInt(); + this.amountProduced = obj.get("amountProd").getAsInt(); + this.heatEnergy = obj.get("heatEnergy").getAsInt(); + + for(CoolingType type : CoolingType.values()) { + if(obj.has(type.name())) efficiency.put(type, obj.get(type.name()).getAsDouble()); + } + } } diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Corrosive.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Corrosive.java index 4e0354033..2a459e25c 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Corrosive.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Corrosive.java @@ -1,7 +1,11 @@ package com.hbm.inventory.fluid.trait; +import java.io.IOException; import java.util.List; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; + import net.minecraft.util.EnumChatFormatting; public class FT_Corrosive extends FluidTrait { @@ -9,6 +13,8 @@ public class FT_Corrosive extends FluidTrait { /* 0-100 */ private int rating; + public FT_Corrosive() { } + public FT_Corrosive(int rating) { this.rating = rating; } @@ -29,4 +35,14 @@ public class FT_Corrosive extends FluidTrait { else info.add(EnumChatFormatting.YELLOW + "[Corrosive]"); } + + @Override + public void serializeJSON(JsonWriter writer) throws IOException { + writer.name("rating").value(rating); + } + + @Override + public void deserializeJSON(JsonObject obj) { + this.rating = obj.get("rating").getAsInt(); + } } diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Flammable.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Flammable.java index c2b582ae5..82e309ef9 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Flammable.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Flammable.java @@ -1,7 +1,10 @@ package com.hbm.inventory.fluid.trait; +import java.io.IOException; import java.util.List; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; import com.hbm.util.BobMathUtil; import net.minecraft.util.EnumChatFormatting; @@ -11,6 +14,8 @@ public class FT_Flammable extends FluidTrait { /** How much heat energy (usually translates into HE 1:1) 1000mB hold */ private long energy; + public FT_Flammable() { } + public FT_Flammable(long energy) { this.energy = energy; } @@ -28,4 +33,14 @@ public class FT_Flammable extends FluidTrait { if(energy > 0) info.add(EnumChatFormatting.YELLOW + "Provides " + EnumChatFormatting.RED + "" + BobMathUtil.getShortNumber(energy) + "TU " + EnumChatFormatting.YELLOW + "per bucket"); } + + @Override + public void serializeJSON(JsonWriter writer) throws IOException { + writer.name("energy").value(energy); + } + + @Override + public void deserializeJSON(JsonObject obj) { + this.energy = obj.get("energy").getAsLong(); + } } 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 e01169076..310083cf3 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 @@ -1,12 +1,18 @@ package com.hbm.inventory.fluid.trait; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; import net.minecraft.util.EnumChatFormatting; +import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.Map.Entry; public class FT_Heatable extends FluidTrait { @@ -71,4 +77,45 @@ public class FT_Heatable extends FluidTrait { this.name = name; } } + + @Override + public void serializeJSON(JsonWriter writer) throws IOException { + + writer.name("steps").beginArray(); + + for(HeatingStep step : steps) { + writer.beginObject(); + writer.name("typeProduced").value(step.typeProduced.getUnlocalizedName()); + writer.name("amountReq").value(step.amountReq); + writer.name("amountProd").value(step.amountProduced); + writer.name("heatReq").value(step.heatReq); + writer.endObject(); + } + + writer.endArray(); + + for(Entry entry : this.efficiency.entrySet()) { + writer.name(entry.getKey().name()).value(entry.getValue()); + } + } + + @Override + public void deserializeJSON(JsonObject obj) { + + JsonArray steps = obj.get("steps").getAsJsonArray(); + + for(int i = 0; i < steps.size(); i++) { + JsonObject step = steps.get(i).getAsJsonObject(); + this.steps.add(new HeatingStep( + step.get("amountReq").getAsInt(), + step.get("heatReq").getAsInt(), + Fluids.fromName(step.get("typeProduced").getAsString()), + step.get("amountProd").getAsInt() + )); + } + + for(HeatingType type : HeatingType.values()) { + if(obj.has(type.name())) efficiency.put(type, obj.get(type.name()).getAsDouble()); + } + } } diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_Poison.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_Poison.java index 2c176bc3e..335c182cb 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_Poison.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_Poison.java @@ -1,7 +1,11 @@ package com.hbm.inventory.fluid.trait; +import java.io.IOException; import java.util.List; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; + import net.minecraft.util.EnumChatFormatting; @Deprecated //use FT_Toxin instead @@ -10,6 +14,8 @@ public class FT_Poison extends FluidTrait { protected boolean withering = false; protected int level = 0; + public FT_Poison() { } + public FT_Poison(boolean withering, int level) { this.withering = withering; this.level = level; @@ -27,4 +33,14 @@ public class FT_Poison extends FluidTrait { public void addInfoHidden(List info) { info.add(EnumChatFormatting.GREEN + "[Toxic Fumes]"); } + + @Override public void serializeJSON(JsonWriter writer) throws IOException { + writer.name("level").value(this.level); + writer.name("withering").value(this.withering); + } + + @Override public void deserializeJSON(JsonObject obj) { + this.level = obj.get("level").getAsInt(); + this.withering = obj.get("withering").getAsBoolean(); + } } 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 fc759219b..354da3175 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 @@ -1,8 +1,12 @@ package com.hbm.inventory.fluid.trait; +import java.io.IOException; import java.util.ArrayList; import java.util.List; +import com.google.gson.JsonArray; +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; @@ -132,4 +136,76 @@ public class FT_Toxin extends FluidTrait { } } } + + @Override public void serializeJSON(JsonWriter writer) throws IOException { + + writer.name("entries").beginArray(); + + for(ToxinEntry entry : entries) { + writer.beginObject(); + + if(entry instanceof ToxinDirectDamage) { + ToxinDirectDamage e = (ToxinDirectDamage) entry; + writer.name("type").value("directdamage"); + writer.name("amount").value(e.amount); + writer.name("source").value(e.damage.damageType); + writer.name("delay").value(e.delay); + writer.name("hazmat").value(e.fullBody); + writer.name("masktype").value(e.clazz.name()); + } + if(entry instanceof ToxinEffects) { + ToxinEffects e = (ToxinEffects) entry; + writer.name("type").value("effects"); + writer.name("effects").beginArray(); + writer.setIndent(""); + for(PotionEffect effect : e.effects) { + writer.beginArray(); + writer.value(effect.getPotionID()).value(effect.getDuration()).value(effect.getAmplifier()).value(effect.getIsAmbient()); + writer.endArray(); + } + writer.endArray(); + writer.setIndent(" "); + writer.name("hazmat").value(e.fullBody); + writer.name("masktype").value(e.clazz.name()); + } + + writer.endObject(); + } + + writer.endArray(); + } + + @Override public void deserializeJSON(JsonObject obj) { + JsonArray array = obj.get("entries").getAsJsonArray(); + + for(int i = 0; i < array.size(); i++) { + JsonObject entry = array.get(i).getAsJsonObject(); + String name = entry.get("type").getAsString(); + + if(name.equals("directdamage")) { + ToxinDirectDamage e = new ToxinDirectDamage( + new DamageSource(entry.get("source").getAsString()), + entry.get("amount").getAsFloat(), + entry.get("delay").getAsInt(), + HazardClass.valueOf(entry.get("masktype").getAsString()), + entry.get("hazmat").getAsBoolean() + ); + this.entries.add(e); + } + + if(name.equals("effects")) { + ToxinEffects e = new ToxinEffects( + HazardClass.valueOf(entry.get("masktype").getAsString()), + entry.get("hazmat").getAsBoolean() + ); + JsonArray effects = entry.get("effects").getAsJsonArray(); + for(int j = 0; j < effects.size(); j++) { + JsonArray effect = effects.get(j).getAsJsonArray(); + PotionEffect potion = new PotionEffect(effect.get(0).getAsInt(), effect.get(1).getAsInt(), effect.get(2).getAsInt(), effect.get(3).getAsBoolean()); + e.effects.add(potion); + } + this.entries.add(e); + } + } + } } diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FT_VentRadiation.java b/src/main/java/com/hbm/inventory/fluid/trait/FT_VentRadiation.java index de8dd7764..516ef0e81 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FT_VentRadiation.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FT_VentRadiation.java @@ -1,7 +1,10 @@ package com.hbm.inventory.fluid.trait; +import java.io.IOException; import java.util.List; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; import com.hbm.handler.radiation.ChunkRadiationManager; import com.hbm.inventory.fluid.tank.FluidTank; @@ -12,6 +15,8 @@ public class FT_VentRadiation extends FluidTrait { float radPerMB = 0; + public FT_VentRadiation() { } + public FT_VentRadiation(float rad) { this.radPerMB = rad; } @@ -29,4 +34,14 @@ public class FT_VentRadiation extends FluidTrait { public void addInfo(List info) { info.add(EnumChatFormatting.YELLOW + "[Radioactive]"); } + + @Override + public void serializeJSON(JsonWriter writer) throws IOException { + writer.name("radiation").value(radPerMB); + } + + @Override + public void deserializeJSON(JsonObject obj) { + this.radPerMB = obj.get("radiation").getAsFloat(); + } } diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FluidTrait.java b/src/main/java/com/hbm/inventory/fluid/trait/FluidTrait.java index 128e945b0..2d5bac5ab 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FluidTrait.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FluidTrait.java @@ -1,12 +1,41 @@ package com.hbm.inventory.fluid.trait; +import java.io.IOException; import java.util.List; +import com.google.common.collect.HashBiMap; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.fluid.trait.FluidTraitSimple.*; import net.minecraft.world.World; public abstract class FluidTrait { + + public static HashBiMap> traitNameMap = HashBiMap.create(); + + static { + traitNameMap.put("combustible", FT_Combustible.class); // x + traitNameMap.put("coolable", FT_Coolable.class); // x + traitNameMap.put("corrosive", FT_Corrosive.class); // x + traitNameMap.put("flammable", FT_Flammable.class); // x + traitNameMap.put("heatable", FT_Heatable.class); // x + traitNameMap.put("poison", FT_Poison.class); // x + traitNameMap.put("toxin", FT_Toxin.class); // x + traitNameMap.put("ventradiation", FT_VentRadiation.class); // x + + traitNameMap.put("gaseous", FT_Gaseous.class); + traitNameMap.put("gaseous_art", FT_Gaseous_ART.class); + traitNameMap.put("liquid", FT_Liquid.class); + traitNameMap.put("viscous", FT_Viscous.class); + traitNameMap.put("plasma", FT_Plasma.class); + traitNameMap.put("amat", FT_Amat.class); + traitNameMap.put("leadcontainer", FT_LeadContainer.class); + traitNameMap.put("delicious", FT_Delicious.class); + traitNameMap.put("noid", FT_NoID.class); + traitNameMap.put("nocontainer", FT_NoContainer.class); + } /** Important information that should always be displayed */ public void addInfo(List info) { } @@ -14,4 +43,7 @@ public abstract class FluidTrait { public void addInfoHidden(List info) { } public void onFluidRelease(World world, int x, int y, int z, FluidTank tank, int overflowAmount) { } + + public void serializeJSON(JsonWriter writer) throws IOException { } + public void deserializeJSON(JsonObject obj) { } } From 58b08ac039be659e09fc723859fbaa06a5c9599b Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 12 Jun 2023 14:32:23 +0200 Subject: [PATCH 178/285] explosion chunk loader config --- src/main/java/com/hbm/config/BombConfig.java | 3 + .../com/hbm/entity/logic/EntityBalefire.java | 83 +++++---- .../hbm/entity/logic/EntityEnvirEffect.java | 49 ------ .../entity/logic/EntityEnvirEffectRad.java | 15 -- .../logic/EntityExplosionChunkloading.java | 51 ++++++ .../entity/logic/EntityNukeExplosionMK3.java | 89 +++++----- .../entity/logic/EntityNukeExplosionMK5.java | 10 +- .../com/hbm/entity/logic/EntityTomBlast.java | 9 +- .../missile/EntityMissileBaseAdvanced.java | 160 ++++++++---------- .../com/hbm/explosion/nt/IExplosionLogic.java | 1 + src/main/java/com/hbm/explosion/nt/Mark5.java | 1 + 11 files changed, 227 insertions(+), 244 deletions(-) delete mode 100644 src/main/java/com/hbm/entity/logic/EntityEnvirEffect.java delete mode 100644 src/main/java/com/hbm/entity/logic/EntityEnvirEffectRad.java create mode 100644 src/main/java/com/hbm/entity/logic/EntityExplosionChunkloading.java diff --git a/src/main/java/com/hbm/config/BombConfig.java b/src/main/java/com/hbm/config/BombConfig.java index df2eda4b6..8c32d0a8d 100644 --- a/src/main/java/com/hbm/config/BombConfig.java +++ b/src/main/java/com/hbm/config/BombConfig.java @@ -27,6 +27,7 @@ public class BombConfig { public static int limitExplosionLifespan = 0; public static int rain = 0; public static int cont = 0; + public static boolean chunkloading = true; public static void loadFromConfig(Configuration config) { @@ -100,5 +101,7 @@ public class BombConfig { 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); } } diff --git a/src/main/java/com/hbm/entity/logic/EntityBalefire.java b/src/main/java/com/hbm/entity/logic/EntityBalefire.java index 00d0f38e9..73c8e51b2 100644 --- a/src/main/java/com/hbm/entity/logic/EntityBalefire.java +++ b/src/main/java/com/hbm/entity/logic/EntityBalefire.java @@ -7,11 +7,10 @@ import com.hbm.explosion.ExplosionBalefire; import com.hbm.explosion.ExplosionNukeGeneric; import com.hbm.main.MainRegistry; -import net.minecraft.entity.Entity; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -public class EntityBalefire extends Entity { +public class EntityBalefire extends EntityExplosionChunkloading { public int age = 0; public int destructionRange = 0; @@ -53,48 +52,46 @@ public class EntityBalefire extends Entity { super(p_i1582_1_); } - @Override - public void onUpdate() { - super.onUpdate(); - - if(!this.did) - { - if(GeneralConfig.enableExtendedLogging && !worldObj.isRemote) - MainRegistry.logger.log(Level.INFO, "[NUKE] Initialized BF explosion at " + posX + " / " + posY + " / " + posZ + " with strength " + destructionRange + "!"); - - exp = new ExplosionBalefire((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, this.destructionRange); - - this.did = true; - } - - speed += 1; //increase speed to keep up with expansion - - boolean flag = false; - for(int i = 0; i < this.speed; i++) - { - flag = exp.update(); - - if(flag) { - this.setDead(); - } - } - - if(!mute && rand.nextInt(5) == 0) - this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "random.explode", 10000.0F, 0.8F + this.rand.nextFloat() * 0.2F); - - if(!flag) { - - if(!mute) - this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "ambient.weather.thunder", 10000.0F, 0.8F + this.rand.nextFloat() * 0.2F); - - ExplosionNukeGeneric.dealDamage(this.worldObj, this.posX, this.posY, this.posZ, this.destructionRange * 2); - } - - age++; - } - @Override - protected void entityInit() { } + public void onUpdate() { + super.onUpdate(); + + if(!worldObj.isRemote) loadChunk((int) Math.floor(posX / 16D), (int) Math.floor(posZ / 16D)); + + if(!this.did) { + if(GeneralConfig.enableExtendedLogging && !worldObj.isRemote) + MainRegistry.logger.log(Level.INFO, "[NUKE] Initialized BF explosion at " + posX + " / " + posY + " / " + posZ + " with strength " + destructionRange + "!"); + + exp = new ExplosionBalefire((int) this.posX, (int) this.posY, (int) this.posZ, this.worldObj, this.destructionRange); + + this.did = true; + } + + speed += 1; // increase speed to keep up with expansion + + boolean flag = false; + for(int i = 0; i < this.speed; i++) { + flag = exp.update(); + + if(flag) { + clearChunkLoader(); + this.setDead(); + } + } + + if(!mute && rand.nextInt(5) == 0) + this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "random.explode", 10000.0F, 0.8F + this.rand.nextFloat() * 0.2F); + + if(!flag) { + + if(!mute) + this.worldObj.playSoundEffect(this.posX, this.posY, this.posZ, "ambient.weather.thunder", 10000.0F, 0.8F + this.rand.nextFloat() * 0.2F); + + ExplosionNukeGeneric.dealDamage(this.worldObj, this.posX, this.posY, this.posZ, this.destructionRange * 2); + } + + age++; + } public EntityBalefire mute() { this.mute = true; diff --git a/src/main/java/com/hbm/entity/logic/EntityEnvirEffect.java b/src/main/java/com/hbm/entity/logic/EntityEnvirEffect.java deleted file mode 100644 index 75c912a32..000000000 --- a/src/main/java/com/hbm/entity/logic/EntityEnvirEffect.java +++ /dev/null @@ -1,49 +0,0 @@ -package com.hbm.entity.logic; - -import net.minecraft.entity.Entity; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.world.World; - -public abstract class EntityEnvirEffect extends Entity { - - public int maxAge = 100; - public int blockRadius = 7; - public int entityRadius = 7; - public int chance = 10; - public boolean hasBlockEffect = true; - public boolean hasEntityEffect = true; - - public EntityEnvirEffect(World p_i1582_1_) { - super(p_i1582_1_); - } - - @Override - protected void entityInit() { - - } - - @Override - protected void readEntityFromNBT(NBTTagCompound nbt) { - this.ticksExisted = nbt.getInteger("lifetime"); - this.maxAge = nbt.getInteger("lifecap"); - } - - @Override - protected void writeEntityToNBT(NBTTagCompound nbt) { - nbt.setInteger("lifetime", this.ticksExisted); - nbt.setInteger("lifecap", this.maxAge); - } - - public void onUpdate() { - - if(hasBlockEffect && rand.nextInt(chance) == 0) - applyBlockEffect(); - - if(hasEntityEffect && rand.nextInt(chance) == 0) - applyEntityEffect(); - } - - private void applyBlockEffect() { }; - private void applyEntityEffect() { }; - -} diff --git a/src/main/java/com/hbm/entity/logic/EntityEnvirEffectRad.java b/src/main/java/com/hbm/entity/logic/EntityEnvirEffectRad.java deleted file mode 100644 index f67bcaf6a..000000000 --- a/src/main/java/com/hbm/entity/logic/EntityEnvirEffectRad.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.hbm.entity.logic; - -import net.minecraft.world.World; - -public class EntityEnvirEffectRad extends EntityEnvirEffect { - - public EntityEnvirEffectRad(World p_i1582_1_) { - super(p_i1582_1_); - } - - public void randomizeAge(int min, int max) { - this.maxAge = min + rand.nextInt(max - min); - } - -} diff --git a/src/main/java/com/hbm/entity/logic/EntityExplosionChunkloading.java b/src/main/java/com/hbm/entity/logic/EntityExplosionChunkloading.java new file mode 100644 index 000000000..ca2ad6f6f --- /dev/null +++ b/src/main/java/com/hbm/entity/logic/EntityExplosionChunkloading.java @@ -0,0 +1,51 @@ +package com.hbm.entity.logic; + +import com.hbm.main.MainRegistry; + +import net.minecraft.entity.Entity; +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 EntityExplosionChunkloading extends Entity implements IChunkLoader { + + private Ticket loaderTicket; + private ChunkCoordIntPair loadedChunk; + + public EntityExplosionChunkloading(World world) { + super(world); + } + + @Override + protected void 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)); + } + } + + public void loadChunk(int x, int z) { + + if(this.loadedChunk == null) { + this.loadedChunk = new ChunkCoordIntPair(x, z); + ForgeChunkManager.forceChunk(loaderTicket, loadedChunk); + } + } + + public void clearChunkLoader() { + if(!worldObj.isRemote && loaderTicket != null && loadedChunk != null) { + ForgeChunkManager.unforceChunk(loaderTicket, loadedChunk); + } + } +} diff --git a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK3.java b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK3.java index 93335b142..665d9550d 100644 --- a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK3.java +++ b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK3.java @@ -20,14 +20,13 @@ import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.Vec3; import net.minecraft.world.World; @Spaghetti("why???") -public class EntityNukeExplosionMK3 extends Entity { +public class EntityNukeExplosionMK3 extends EntityExplosionChunkloading { public int age = 0; public int destructionRange = 0; @@ -59,31 +58,32 @@ public class EntityNukeExplosionMK3 extends Entity { long time = nbt.getLong("milliTime"); - if(BombConfig.limitExplosionLifespan > 0 && System.currentTimeMillis() - time > BombConfig.limitExplosionLifespan * 1000) + 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); + 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_"); - wst = new ExplosionNukeAdvanced((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, (int)(this.destructionRange * 1.8), this.coefficient, 2); + wst = new ExplosionNukeAdvanced((int) this.posX, (int) this.posY, (int) this.posZ, this.worldObj, (int) (this.destructionRange * 1.8), this.coefficient, 2); wst.readFromNbt(nbt, "wst_"); - vap = new ExplosionNukeAdvanced((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, (int)(this.destructionRange * 2.5), this.coefficient, 1); + vap = new ExplosionNukeAdvanced((int) this.posX, (int) this.posY, (int) this.posZ, this.worldObj, (int) (this.destructionRange * 2.5), this.coefficient, 1); vap.readFromNbt(nbt, "vap_"); - } else { + } else { - if(extType == 0) { - expl = new ExplosionFleija((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, this.destructionRange, this.coefficient, this.coefficient2); + if(extType == 0) { + expl = new ExplosionFleija((int) this.posX, (int) this.posY, (int) this.posZ, this.worldObj, this.destructionRange, this.coefficient, this.coefficient2); expl.readFromNbt(nbt, "expl_"); - } - if(extType == 1) { - sol = new ExplosionSolinium((int)this.posX, (int)this.posY, (int)this.posZ, this.worldObj, this.destructionRange, this.coefficient, this.coefficient2); - sol.readFromNbt(nbt, "sol_"); - } - } - - this.did = true; - + } + if(extType == 1) { + sol = new ExplosionSolinium((int) this.posX, (int) this.posY, (int) this.posZ, this.worldObj, this.destructionRange, this.coefficient, this.coefficient2); + sol.readFromNbt(nbt, "sol_"); + } + } + + this.did = true; + } @Override @@ -120,6 +120,8 @@ public class EntityNukeExplosionMK3 extends Entity { @Override public void onUpdate() { super.onUpdate(); + + if(!worldObj.isRemote) loadChunk((int) Math.floor(posX / 16D), (int) Math.floor(posZ / 16D)); if(!this.did) { @@ -149,25 +151,31 @@ public class EntityNukeExplosionMK3 extends Entity { boolean flag = false; boolean flag3 = false; - for(int i = 0; i < this.speed; i++) - { - if(waste) { - flag = exp.update(); - wst.update(); - flag3 = vap.update(); - - if(flag3) { - this.setDead(); - } - } else { - if(extType == 0) - if(expl.update()) - this.setDead(); - if(extType == 1) - if(sol.update()) - this.setDead(); - } - } + for(int i = 0; i < this.speed; i++) { + if(waste) { + flag = exp.update(); + wst.update(); + flag3 = vap.update(); + + if(flag3) { + this.clearChunkLoader(); + this.setDead(); + } + } else { + if(extType == 0) { + if(expl.update()) { + this.clearChunkLoader(); + this.setDead(); + } + } + if(extType == 1) { + if(sol.update()) { + this.clearChunkLoader(); + this.setDead(); + } + } + } + } if(!flag) { @@ -196,9 +204,6 @@ public class EntityNukeExplosionMK3 extends Entity { age++; } - - @Override - protected void entityInit() { } public static HashMap at = new HashMap(); diff --git a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java index e924e43da..15cb2679b 100644 --- a/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java +++ b/src/main/java/com/hbm/entity/logic/EntityNukeExplosionMK5.java @@ -14,7 +14,6 @@ import com.hbm.util.ContaminationUtil; import com.hbm.util.ContaminationUtil.ContaminationType; import com.hbm.util.ContaminationUtil.HazardType; -import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; @@ -22,7 +21,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class EntityNukeExplosionMK5 extends Entity { +public class EntityNukeExplosionMK5 extends EntityExplosionChunkloading { //Strength of the blast public int strength; @@ -52,9 +51,12 @@ public class EntityNukeExplosionMK5 extends Entity { public void onUpdate() { if(strength == 0) { + this.clearChunkLoader(); this.setDead(); return; } + + 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); @@ -92,9 +94,11 @@ public class EntityNukeExplosionMK5 extends Entity { fallout.setScale((int)(this.length * 2.5 + falloutAdd) * BombConfig.falloutRange / 100); this.worldObj.spawnEntityInWorld(fallout); - + + this.clearChunkLoader(); this.setDead(); } else { + this.clearChunkLoader(); this.setDead(); } } diff --git a/src/main/java/com/hbm/entity/logic/EntityTomBlast.java b/src/main/java/com/hbm/entity/logic/EntityTomBlast.java index 4eb855576..093638a6d 100644 --- a/src/main/java/com/hbm/entity/logic/EntityTomBlast.java +++ b/src/main/java/com/hbm/entity/logic/EntityTomBlast.java @@ -8,11 +8,10 @@ import com.hbm.explosion.ExplosionTom; import com.hbm.main.MainRegistry; import com.hbm.saveddata.TomSaveData; -import net.minecraft.entity.Entity; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; -public class EntityTomBlast extends Entity { +public class EntityTomBlast extends EntityExplosionChunkloading { public int age = 0; public int destructionRange = 0; @@ -54,6 +53,8 @@ public class EntityTomBlast extends Entity { public void onUpdate() { super.onUpdate(); + if(!worldObj.isRemote) loadChunk((int) Math.floor(posX / 16D), (int) Math.floor(posZ / 16D)); + if(!this.did) { if(GeneralConfig.enableExtendedLogging && !worldObj.isRemote) @@ -89,8 +90,4 @@ public class EntityTomBlast extends Entity { age++; } - - @Override - protected void entityInit() { - } } diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileBaseAdvanced.java b/src/main/java/com/hbm/entity/missile/EntityMissileBaseAdvanced.java index 5c0d93b67..69d128a51 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileBaseAdvanced.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileBaseAdvanced.java @@ -48,46 +48,36 @@ public abstract class EntityMissileBaseAdvanced extends Entity implements IChunk targetZ = (int) posZ; } - public boolean canBeCollidedWith() - { - return true; - } - - public boolean attackEntityFrom(DamageSource p_70097_1_, float p_70097_2_) - { - if (this.isEntityInvulnerable()) - { - return false; - } - else - { - if (!this.isDead && !this.worldObj.isRemote) - { - health -= p_70097_2_; - - if (this.health <= 0) - { - this.setDead(); - this.killMissile(); - } - } + public boolean canBeCollidedWith() { + return true; + } - return true; - } - } - - private void killMissile() { - ExplosionLarge.explode(worldObj, posX, posY, posZ, 5, true, false, true); - ExplosionLarge.spawnShrapnelShower(worldObj, posX, posY, posZ, motionX, motionY, motionZ, 15, 0.075); - ExplosionLarge.spawnMissileDebris(worldObj, posX, posY, posZ, motionX, motionY, motionZ, 0.25, getDebris(), getDebrisRareDrop()); - } + public boolean attackEntityFrom(DamageSource p_70097_1_, float p_70097_2_) { + if(this.isEntityInvulnerable()) { + return false; + } else { + if(!this.isDead && !this.worldObj.isRemote) { + health -= p_70097_2_; + + if(this.health <= 0) { + this.setDead(); + this.killMissile(); + } + } + + return true; + } + } + + private void killMissile() { + ExplosionLarge.explode(worldObj, posX, posY, posZ, 5, true, false, true); + ExplosionLarge.spawnShrapnelShower(worldObj, posX, posY, posZ, motionX, motionY, motionZ, 15, 0.075); + ExplosionLarge.spawnMissileDebris(worldObj, posX, posY, posZ, motionX, motionY, motionZ, 0.25, getDebris(), getDebrisRareDrop()); + } public EntityMissileBaseAdvanced(World world, float x, float y, float z, int a, int b) { super(world); this.ignoreFrustumCheck = true; - /*this.posX = x; - this.posY = y; - this.posZ = z;*/ this.setLocationAndAngles(x, y, z, 0, 0); startX = (int) x; startZ = (int) z; @@ -95,19 +85,19 @@ public abstract class EntityMissileBaseAdvanced extends Entity implements IChunk targetZ = b; this.motionY = 2; - Vec3 vector = Vec3.createVectorHelper(targetX - startX, 0, targetZ - startZ); - accelXZ = decelY = 1/vector.lengthVector(); + Vec3 vector = Vec3.createVectorHelper(targetX - startX, 0, targetZ - startZ); + accelXZ = decelY = 1 / vector.lengthVector(); decelY *= 2; - + velocity = 1; - this.setSize(1.5F, 1.5F); + this.setSize(1.5F, 1.5F); } @Override protected void entityInit() { init(ForgeChunkManager.requestTicket(MainRegistry.instance, worldObj, Type.ENTITY)); - this.dataWatcher.addObject(8, Integer.valueOf(this.health)); + this.dataWatcher.addObject(8, Integer.valueOf(this.health)); } @Override @@ -212,7 +202,6 @@ public abstract class EntityMissileBaseAdvanced extends Entity implements IChunk } if(!this.worldObj.isRemote) - //this.worldObj.spawnEntityInWorld(new EntitySmokeFX(this.worldObj, this.posX, this.posY, this.posZ, 0.0, 0.0, 0.0)); PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacket(posX, posY, posZ, 2), new TargetPoint(worldObj.provider.dimensionId, posX, posY, posZ, 300)); @@ -220,30 +209,28 @@ public abstract class EntityMissileBaseAdvanced extends Entity implements IChunk 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) - { - onImpact(); - } - this.setDead(); - return; - } - - loadNeighboringChunks((int)(posX / 16), (int)(posZ / 16)); - - if(motionY < -1 && this.isCluster && !worldObj.isRemote) { - cluster(); - this.setDead(); - return; - } + if(!this.worldObj.isRemote) { + onImpact(); + } + this.killAndClear(); + return; + } + + loadNeighboringChunks((int) (posX / 16), (int) (posZ / 16)); + + if(motionY < -1 && this.isCluster && !worldObj.isRemote) { + cluster(); + this.setDead(); + return; + } } - } + } - @Override + @Override @SideOnly(Side.CLIENT) - public boolean isInRangeToRenderDist(double distance) - { - return distance < 500000; - } + public boolean isInRangeToRenderDist(double distance) { + return true; + } public abstract void onImpact(); @@ -272,30 +259,31 @@ public abstract class EntityMissileBaseAdvanced extends Entity implements IChunk List loadedChunks = new ArrayList(); - public void loadNeighboringChunks(int newChunkX, int newChunkZ) - { - if(!worldObj.isRemote && loaderTicket != null) - { - for(ChunkCoordIntPair chunk : loadedChunks) - { - ForgeChunkManager.unforceChunk(loaderTicket, chunk); - } + public void loadNeighboringChunks(int newChunkX, int newChunkZ) { + if(!worldObj.isRemote && loaderTicket != null) { + + clearChunkLoader(); - 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)); + loadedChunks.clear(); + loadedChunks.add(new ChunkCoordIntPair(newChunkX, newChunkZ)); + loadedChunks.add(new ChunkCoordIntPair(newChunkX + (int) Math.ceil((this.posX + this.motionX) / 16D), newChunkZ + (int) Math.ceil((this.posZ + this.motionZ) / 16D))); - for(ChunkCoordIntPair chunk : loadedChunks) - { - ForgeChunkManager.forceChunk(loaderTicket, chunk); - } - } - } + for(ChunkCoordIntPair chunk : loadedChunks) { + ForgeChunkManager.forceChunk(loaderTicket, chunk); + } + } + } + + public void killAndClear() { + this.setDead(); + this.clearChunkLoader(); + } + + public void clearChunkLoader() { + if(!worldObj.isRemote && loaderTicket != null) { + for(ChunkCoordIntPair chunk : loadedChunks) { + ForgeChunkManager.unforceChunk(loaderTicket, chunk); + } + } + } } diff --git a/src/main/java/com/hbm/explosion/nt/IExplosionLogic.java b/src/main/java/com/hbm/explosion/nt/IExplosionLogic.java index b2b2e86b8..0886cb3eb 100644 --- a/src/main/java/com/hbm/explosion/nt/IExplosionLogic.java +++ b/src/main/java/com/hbm/explosion/nt/IExplosionLogic.java @@ -1,5 +1,6 @@ package com.hbm.explosion.nt; +@Deprecated public interface IExplosionLogic { public void updateLogic(); diff --git a/src/main/java/com/hbm/explosion/nt/Mark5.java b/src/main/java/com/hbm/explosion/nt/Mark5.java index 6827b6758..16d2d5ee4 100644 --- a/src/main/java/com/hbm/explosion/nt/Mark5.java +++ b/src/main/java/com/hbm/explosion/nt/Mark5.java @@ -10,6 +10,7 @@ import net.minecraft.init.Blocks; import net.minecraft.util.Vec3; import net.minecraft.world.World; +@Deprecated public class Mark5 implements IExplosionLogic { //holds rays after being calculated up to where the blocks get removed From 1406cb47d912fc8d9dd30eed9a5b0e0edd69ecaf Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Mon, 12 Jun 2023 15:44:29 -0500 Subject: [PATCH 179/285] Removing the clamp on pollution until I can think properly. --- .../java/com/hbm/handler/pollution/PollutionHandler.java | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index c4c42b87b..6b701fe8c 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -173,17 +173,9 @@ public class PollutionHandler { data.pollution[S] *= 0.8F; } else { data.pollution[S] *= 0.99F; - /* Clamp soot pollution to 0 near low values. */ - if(data.pollution[S] < 0.0001F) { - data.pollution[S] = 0; - } } data.pollution[H] *= 0.999F; - /* Clamp Heavy pollution to 0 near low values. */ - if(data.pollution[H] < 0.001F) { - data.pollution[H] = 0; - } /* SPREADING */ //apply new data to self From 1c7d8e41f0b95fde2931fd11834a942a60b56506 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 13 Jun 2023 09:54:26 +0200 Subject: [PATCH 180/285] leaded fuel pollution --- .../handler/pollution/PollutionHandler.java | 2 ++ .../java/com/hbm/inventory/fluid/Fluids.java | 7 ++++--- .../hbm/inventory/fluid/trait/FluidTrait.java | 1 + .../fluid/trait/FluidTraitSimple.java | 10 +++++++++- .../machine/TileEntityHeaterOilburner.java | 6 +++++- .../TileEntityMachineCombustionEngine.java | 6 +++++- .../machine/TileEntityMachineDiesel.java | 6 ++++++ .../gui/processing/gui_electrolyser.png | Bin 9336 -> 9377 bytes 8 files changed, 32 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index 570f91415..d781b4e32 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -32,6 +32,8 @@ public class PollutionHandler { /** Baserate of soot generation for a furnace-equivalent machine per second */ public static final float SOOT_PER_SECOND = 1F / 25F; + /** Baserate of heavy metal generation, balanced around the soot values of combustion engines */ + public static final float HEAVY_METAL_PER_SECOND = 1F / 50F; /////////////////////// /// UTILITY METHODS /// diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index f9de9f7b3..df3839c36 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -167,6 +167,7 @@ public class Fluids { public static final FT_NoContainer NOCON = new FT_NoContainer(); public static final FT_NoID NOID = new FT_NoID(); public static final FT_Delicious DELICIOUS = new FT_Delicious(); + public static final FT_Leaded LEADED = new FT_Leaded(); public static void init() { @@ -255,9 +256,9 @@ public class Fluids { 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, VISCOUS); - PETROIL_LEADED = new FluidType("PETROIL_LEADED", 0x44413d, 1, 3, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2331F6)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 450_000), LIQUID); - GASOLINE_LEADED = new FluidType("GASOLINE_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2F775A)).addTraits(new FT_Flammable(400_000), new FT_Combustible(FuelGrade.HIGH, 1_500_000), LIQUID); - COALGAS_LEADED = new FluidType("COALGAS_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x1E155F)).addTraits(new FT_Flammable(75_000), new FT_Combustible(FuelGrade.MEDIUM, 250_000), LIQUID); + PETROIL_LEADED = new FluidType("PETROIL_LEADED", 0x44413d, 1, 3, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2331F6)).addTraits(new FT_Flammable(125_000), new FT_Combustible(FuelGrade.MEDIUM, 450_000), LIQUID, LEADED); + GASOLINE_LEADED = new FluidType("GASOLINE_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x2F775A)).addTraits(new FT_Flammable(400_000), new FT_Combustible(FuelGrade.HIGH, 1_500_000), LIQUID, LEADED); + COALGAS_LEADED = new FluidType("COALGAS_LEADED", 0x445772, 1, 2, 0, EnumSymbol.NONE).addContainers(new CD_Canister(0x1E155F)).addTraits(new FT_Flammable(75_000), new FT_Combustible(FuelGrade.MEDIUM, 250_000), LIQUID, LEADED); SULFURIC_ACID = new FluidType("SULFURIC_ACID", 0xB0AA64, 3, 0, 2, EnumSymbol.ACID).addTraits(new FT_Corrosive(50), LIQUID); COOLANT_HOT = new FluidType("COOLANT_HOT", 0x99525E, 1, 0, 0, EnumSymbol.NONE).setTemp(600).addTraits(LIQUID); MUG = new FluidType("MUG", 0x4B2D28, 0, 0, 0, EnumSymbol.NONE).addTraits(DELICIOUS, LIQUID); diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FluidTrait.java b/src/main/java/com/hbm/inventory/fluid/trait/FluidTrait.java index 2d5bac5ab..ba385ad54 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FluidTrait.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FluidTrait.java @@ -33,6 +33,7 @@ public abstract class FluidTrait { traitNameMap.put("amat", FT_Amat.class); traitNameMap.put("leadcontainer", FT_LeadContainer.class); traitNameMap.put("delicious", FT_Delicious.class); + traitNameMap.put("leaded", FT_Leaded.class); traitNameMap.put("noid", FT_NoID.class); traitNameMap.put("nocontainer", FT_NoContainer.class); } diff --git a/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java b/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java index 319a7e6d4..d282cea42 100644 --- a/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java +++ b/src/main/java/com/hbm/inventory/fluid/trait/FluidTraitSimple.java @@ -49,10 +49,18 @@ public class FluidTraitSimple { info.add(EnumChatFormatting.DARK_RED + "[Requires hazardous material tank to hold]"); } } + public static class FT_Delicious extends FluidTrait { @Override public void addInfoHidden(List info) { info.add(EnumChatFormatting.DARK_GREEN + "[Delicious]"); - }} + } + } + + public static class FT_Leaded extends FluidTrait { + @Override public void addInfoHidden(List info) { + info.add(EnumChatFormatting.BLUE + "[Leaded Fuel]"); + } + } public static class FT_NoID extends FluidTrait { } public static class FT_NoContainer extends FluidTrait { } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java index a4ba8adab..555704c86 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java @@ -9,6 +9,7 @@ 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.fluid.trait.FluidTraitSimple.FT_Leaded; import com.hbm.inventory.gui.GUIOilburner; import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; @@ -73,7 +74,10 @@ public class TileEntityHeaterOilburner extends TileEntityMachineBase implements this.heatEnergy += heat * toBurn; - if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * burnRate * 0.5F); + if(worldObj.getTotalWorldTime() % 20 == 0) { + PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * burnRate * 0.5F); + if(tank.getTankType().hasTrait(FT_Leaded.class)) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * burnRate * 0.5F); + } shouldCool = false; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java index 64ea819ff..a01fd1347 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java @@ -9,6 +9,7 @@ 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_Combustible; +import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Leaded; import com.hbm.inventory.gui.GUICombustionEngine; import com.hbm.items.ModItems; import com.hbm.items.machine.ItemPistons.EnumPistonType; @@ -86,7 +87,10 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachineBase imp this.power += toBurn * (trait.getCombustionEnergy() / 10_000D) * eff; fill -= toBurn; - if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * setting * 0.1F); + if(worldObj.getTotalWorldTime() % 20 == 0) { + PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * setting * 0.1F); + if(tank.getTankType().hasTrait(FT_Leaded.class)) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * setting * 0.1F); + } if(toBurn > 0) { wasOn = true; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java index 1ec212628..dcb1f443a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java @@ -6,6 +6,8 @@ import java.util.HashMap; import com.google.gson.JsonArray; 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.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.inventory.FluidContainerRegistry; @@ -15,6 +17,7 @@ import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Combustible; import com.hbm.inventory.fluid.trait.FT_Combustible.FuelGrade; +import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Leaded; import com.hbm.inventory.gui.GUIMachineDiesel; import com.hbm.items.ModItems; import com.hbm.lib.Library; @@ -203,6 +206,9 @@ public class TileEntityMachineDiesel extends TileEntityMachineBase implements IE tank.setFill(tank.getFill() - 1); if(tank.getFill() < 0) tank.setFill(0); + + PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 0.5F); + if(tank.getTankType().hasTrait(FT_Leaded.class)) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * 0.5F); if(power + getHEFromFuel() <= powerCap) { power += getHEFromFuel(); diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_electrolyser.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_electrolyser.png index 7a250f025ce6a59109555b4547c758c80e23016a..3f28a4951cdbcaf884e974ae997476bfa9ff80c7 100644 GIT binary patch literal 9377 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 From 4cd26174fbcfcc24fcc0bf26ba4f4dbb60ac37b8 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 13 Jun 2023 16:30:46 +0200 Subject: [PATCH 181/285] more pollution, igen defuckening part 4 --- .../hbm/items/tool/ItemPollutionDetector.java | 18 ++++++++++++++---- .../machine/TileEntityMachineIGenerator.java | 8 ++++---- .../machine/oil/TileEntityMachineGasFlare.java | 6 +++++- .../machine/oil/TileEntityMachineRefinery.java | 4 ++++ .../storage/TileEntityMachineFluidTank.java | 8 ++++++++ 5 files changed, 35 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java index 5b0d27663..dca184a67 100644 --- a/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java +++ b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java @@ -23,10 +23,20 @@ public class ItemPollutionDetector extends Item { PollutionData data = PollutionHandler.getPollutionData(world, (int) Math.floor(entity.posX), (int) Math.floor(entity.posY), (int) Math.floor(entity.posZ)); if(data == null) data = new PollutionData(); + + float soot = data.pollution[PollutionType.SOOT.ordinal()]; + float poison = data.pollution[PollutionType.POISON.ordinal()]; + float heavymetal = data.pollution[PollutionType.HEAVYMETAL.ordinal()]; + float fallout = data.pollution[PollutionType.FALLOUT.ordinal()]; + + soot = ((int) soot * 100) / 100F; + poison = ((int) poison * 100) / 100F; + heavymetal = ((int) heavymetal * 100) / 100F; + fallout = ((int) fallout * 100) / 100F; - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Soot: " + data.pollution[PollutionType.SOOT.ordinal()]).color(EnumChatFormatting.YELLOW).flush(), 100, 2000), (EntityPlayerMP) entity); - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Poison: " + data.pollution[PollutionType.POISON.ordinal()]).color(EnumChatFormatting.YELLOW).flush(), 101, 2000), (EntityPlayerMP) entity); - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Heavy metal: " + data.pollution[PollutionType.HEAVYMETAL.ordinal()]).color(EnumChatFormatting.YELLOW).flush(), 102, 2000), (EntityPlayerMP) entity); - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Fallout: " + data.pollution[PollutionType.FALLOUT.ordinal()]).color(EnumChatFormatting.YELLOW).flush(), 103, 2000), (EntityPlayerMP) entity); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Soot: " + soot).color(EnumChatFormatting.YELLOW).flush(), 100, 2000), (EntityPlayerMP) entity); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Poison: " + poison).color(EnumChatFormatting.YELLOW).flush(), 101, 2000), (EntityPlayerMP) entity); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Heavy metal: " + heavymetal).color(EnumChatFormatting.YELLOW).flush(), 102, 2000), (EntityPlayerMP) entity); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Fallout: " + fallout).color(EnumChatFormatting.YELLOW).flush(), 103, 2000), (EntityPlayerMP) entity); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java index dd49bbf75..f980ca60b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineIGenerator.java @@ -64,11 +64,11 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement public static int coalGenRate = 20; public static double rtgHeatMult = 0.15D; public static double waterPowerMult = 1.0D; - public static double lubePowerMult = 1.0D; - public static double heatExponent = 1.1D; + public static double lubePowerMult = 1.5D; + public static double heatExponent = 1.15D; public static int waterRate = 10; public static int lubeRate = 1; - public static long fluidHeatDiv = 5_000L; + public static long fluidHeatDiv = 1_000L; @Override public String getConfigName() { @@ -275,7 +275,7 @@ public class TileEntityMachineIGenerator extends TileEntityMachineBase implement public int getPowerFromFuel(boolean con) { FluidType type = tanks[1].getTankType(); - return type.hasTrait(FT_Flammable.class) ? (int)(type.getTrait(FT_Flammable.class).getHeatEnergy() / (con ? 1000L : fluidHeatDiv)) : 0; + return type.hasTrait(FT_Flammable.class) ? (int)(type.getTrait(FT_Flammable.class).getHeatEnergy() / (con ? 5000L : fluidHeatDiv)) : 0; } @Override 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 d305dc9b9..8ad9a8e13 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java @@ -15,6 +15,7 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Flammable; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous_ART; +import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Leaded; import com.hbm.inventory.gui.GUIMachineGasFlare; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; import com.hbm.lib.Library; @@ -160,7 +161,10 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements if(worldObj.getTotalWorldTime() % 3 == 0) this.worldObj.playSoundEffect(this.xCoord, this.yCoord + 11, this.zCoord, "hbm:weapon.flamethrowerShoot", 1.5F, 0.75F); - if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 5); + if(worldObj.getTotalWorldTime() % 20 == 0) { + PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 5); + if(tank.getTankType().hasTrait(FT_Leaded.class)) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * 5); + } } } } 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 d36a3370d..27e48d4a1 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineRefinery.java @@ -203,6 +203,10 @@ public class TileEntityMachineRefinery extends TileEntityMachineBase implements for(Entity e : affected) e.setFire(5); Random rand = worldObj.rand; ParticleUtil.spawnGasFlame(worldObj, xCoord + rand.nextDouble(), yCoord + 1.5 + rand.nextDouble() * 3, zCoord + rand.nextDouble(), rand.nextGaussian() * 0.05, 0.1, rand.nextGaussian() * 0.05); + + if(worldObj.getTotalWorldTime() % 20 == 0) { + PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 70); + } } } 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 391f5fe43..2b2c311b8 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -5,6 +5,8 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.explosion.vanillant.ExplosionVNT; import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; @@ -18,6 +20,7 @@ import com.hbm.inventory.fluid.trait.FT_Flammable; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Amat; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Gaseous_ART; +import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Leaded; import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Liquid; import com.hbm.inventory.gui.GUIMachineFluidTank; import com.hbm.inventory.fluid.Fluids; @@ -179,6 +182,11 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements 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() % 20 == 0) { + PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 50); + if(type.hasTrait(FT_Leaded.class)) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * 50); + } + } else if(type.hasTrait(FT_Gaseous.class) || type.hasTrait(FT_Gaseous_ART.class)) { if(worldObj.getTotalWorldTime() % 5 == 0) { From 3f2e7313a90e3c7619c6e7554eb68750e781067b Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 14 Jun 2023 22:25:54 +0200 Subject: [PATCH 182/285] the biting thing --- changelog | 33 - .../java/com/hbm/main/ResourceManager.java | 2 + .../render/tileentity/RendererObjTester.java | 125 ++- .../assets/hbm/models/mobs/glyphid.obj | 996 ++++++++++++++++++ .../assets/hbm/textures/entity/glyphid.png | Bin 0 -> 887 bytes 5 files changed, 1121 insertions(+), 35 deletions(-) create mode 100644 src/main/resources/assets/hbm/models/mobs/glyphid.obj create mode 100644 src/main/resources/assets/hbm/textures/entity/glyphid.png diff --git a/changelog b/changelog index 4af358249..e69de29bb 100644 --- a/changelog +++ b/changelog @@ -1,33 +0,0 @@ -## Added -* Machines now emit soot. Soot collects in units of 4x4 chunks, and spreads into neighboring regions. High levels of soot cause visible smog. - * The system has yet to be balanced, it's possible that only a few machines cause way too much soot or barely any -* Gas artillery shells - * Chlorine - * Phosgene - * Mustard gas -* Euphemium capacitor - * Used for schrabidium transmutation, has infinite durability -* Capacitor blocks - * Like batteries without GUIs that are constantly in input/output mode - * Input is on the top of the capacitor block, for output the capacitor has to be placed onto a capaictor bus - * Capacitor buses have one side for the output, multiple buses can be chained up given they are placed in a straight line - * Incentivizes splitting the power grid, looping the output back into the input will yield the same weirdness as combining multiple IO energy storage blocks -* Desh bullet stamps - * Like regular bullets stamps but with infinite durability - -## Changed -* Updated russian and chinese localization -* Mist now spawns cloud particles with the correct color instead of standard white -* HE artillery shells and rockets now turn blocks into slag -* The old static bunker structure has been removed and replaced with dynamically generated ones, using the same style of generation as vanilla strongholds. -* Changed the processing for chlorocalcite, instead of using a combination furnace it now requires a six step cleaning and electrolysis process - -## Fixed -* Fixed the TOXIC trait not respecting protection when applying potion effects -* Fixed some armor recipes only accepting polymer and not bakelite -* Fixed turbofans not sucking in players -* Fixed NTM skybox not applying to superflat worlds -* Fixed breeding slot in the fusion reactor never resettingthe progress after completing an operation -* Fixed potential issue where tanks would send fluids to invalidated tile entities, voiding themselves almost instantly -* Fixed cadmium and technetium steel blocks not having ore dict names -* Fixed potential crash regarding certain potion code running clientside \ No newline at end of file diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 3dfe7107b..f889c98d1 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -305,6 +305,7 @@ public class ResourceManager { public static final IModelCustom ufo = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/mobs/ufo.obj")); public static final IModelCustom mini_ufo = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/mobs/mini_ufo.obj")); 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")); //ZIRNOX public static final IModelCustom zirnox = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/zirnox.obj")); @@ -658,6 +659,7 @@ public class ResourceManager { public static final ResourceLocation iou = new ResourceLocation(RefStrings.MODID, "textures/entity/iou.png"); public static final ResourceLocation spider_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/blockspider.png"); public static final ResourceLocation ufo_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/ufo.png"); + public static final ResourceLocation glyphid_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid.png"); //ZIRNOX public static final ResourceLocation zirnox_tex = new ResourceLocation(RefStrings.MODID, "textures/models/zirnox.png"); diff --git a/src/main/java/com/hbm/render/tileentity/RendererObjTester.java b/src/main/java/com/hbm/render/tileentity/RendererObjTester.java index 7c8eebb57..467a4c14a 100644 --- a/src/main/java/com/hbm/render/tileentity/RendererObjTester.java +++ b/src/main/java/com/hbm/render/tileentity/RendererObjTester.java @@ -9,6 +9,7 @@ import org.lwjgl.opengl.GL12; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; +import com.hbm.render.loader.HFRWavefrontObject; import com.hbm.render.util.HorsePronter; import net.minecraft.client.renderer.ItemRenderer; @@ -30,8 +31,9 @@ public class RendererObjTester extends TileEntitySpecialRenderer { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5, y, z + 0.5); GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); - GL11.glTranslated(0, 0, 0.75); + /*GL11.glTranslated(0, 0, 0.75); this.bindTexture(new ResourceLocation(RefStrings.MODID, "textures/models/horse/dyx.png")); HorsePronter.reset(); //HorsePronter.pose(HorsePronter.id_lfl, 0, System.currentTimeMillis() % 360 / 10D, 0); @@ -59,7 +61,126 @@ public class RendererObjTester extends TileEntitySpecialRenderer { float f15 = icon.getMaxU(); float f4 = icon.getMinV(); float f5 = icon.getMaxV(); - ItemRenderer.renderItemIn2D(Tessellator.instance, f15, f4, f14, f5, icon.getIconWidth(), icon.getIconHeight(), 0.0625F); + ItemRenderer.renderItemIn2D(Tessellator.instance, f15, f4, f14, f5, icon.getIconWidth(), icon.getIconHeight(), 0.0625F);*/ + + double speed = 100D; + double chewing = 200D; + double cy0 = Math.sin(System.currentTimeMillis() / speed % (Math.PI * 2)); + double cy1 = Math.sin(System.currentTimeMillis() / speed % (Math.PI * 2) - Math.PI * 0.5); + double cy2 = Math.sin(System.currentTimeMillis() / speed % (Math.PI * 2) - Math.PI); + double cy3 = Math.sin(System.currentTimeMillis() / speed % (Math.PI * 2) - Math.PI * 0.75); + + double cy4 = Math.sin(System.currentTimeMillis() / chewing % (Math.PI * 2)); + double cy5 = Math.sin(System.currentTimeMillis() / chewing % (Math.PI * 2) - Math.PI * 0.5); + + this.bindTexture(ResourceManager.glyphid_tex); + ResourceManager.glyphid.renderPart("Body"); + ResourceManager.glyphid.renderPart("ArmorFront"); + ResourceManager.glyphid.renderPart("ArmorLeft"); + ResourceManager.glyphid.renderPart("ArmorRight"); + + /// LEFT ARM /// + GL11.glPushMatrix(); + GL11.glTranslated(0.25, 0.625, 0.0625); + GL11.glRotated(10, 0, 1, 0); + GL11.glRotated(35 + cy1 * 20, 1, 0, 0); + GL11.glTranslated(-0.25, -0.625, -0.0625); + ResourceManager.glyphid.renderPart("ArmLeftUpper"); + GL11.glTranslated(0.25, 0.625, 0.4375); + GL11.glRotated(-75 - cy1 * 20 + cy0 * 20, 1, 0, 0); + GL11.glTranslated(-0.25, -0.625, -0.4375); + ResourceManager.glyphid.renderPart("ArmLeftMid"); + GL11.glTranslated(0.25, 0.625, 0.9375); + GL11.glRotated(90 - cy0 * 45, 1, 0, 0); + GL11.glTranslated(-0.25, -0.625, -0.9375); + ResourceManager.glyphid.renderPart("ArmLeftLower"); + ResourceManager.glyphid.renderPart("ArmLeftArmor"); + GL11.glPopMatrix(); + + /// RIGHT ARM /// + GL11.glPushMatrix(); + GL11.glTranslated(-0.25, 0.625, 0.0625); + GL11.glRotated(-10, 0, 1, 0); + GL11.glRotated(35 + cy2 * 20, 1, 0, 0); + GL11.glTranslated(0.25, -0.625, -0.0625); + ResourceManager.glyphid.renderPart("ArmRightUpper"); + GL11.glTranslated(-0.25, 0.625, 0.4375); + GL11.glRotated(-75 - cy2 * 20 + cy3 * 20, 1, 0, 0); + GL11.glTranslated(0.25, -0.625, -0.4375); + ResourceManager.glyphid.renderPart("ArmRightMid"); + GL11.glTranslated(-0.25, 0.625, 0.9375); + GL11.glRotated(90 - cy3 * 45, 1, 0, 0); + GL11.glTranslated(0.25, -0.625, -0.9375); + ResourceManager.glyphid.renderPart("ArmRightLower"); + ResourceManager.glyphid.renderPart("ArmRightArmor"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + + GL11.glTranslated(0, 0.5, 0.25); + GL11.glRotated(cy5 * 15 + 15, 0, 0, 1); + GL11.glTranslated(0, -0.5, -0.25); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.5, 0.25); + GL11.glRotated(-7.5 - cy4 * 7.5, 1, 0, 0); + GL11.glTranslated(0, -0.5, -0.25); + ResourceManager.glyphid.renderPart("JawTop"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.5, 0.25); + GL11.glRotated(7.5 + cy4 * 7.5, 0, 1, 0); + GL11.glRotated(7.5 + cy4 * 7.5, 1, 0, 0); + GL11.glTranslated(0, -0.5, -0.25); + ResourceManager.glyphid.renderPart("JawLeft"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.5, 0.25); + GL11.glRotated(-7.5 - cy4 * 7.5, 0, 1, 0); + GL11.glRotated(7.5 + cy4 * 7.5, 1, 0, 0); + GL11.glTranslated(0, -0.5, -0.25); + ResourceManager.glyphid.renderPart("JawRight"); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + + double steppy = 15; + double bend = 60; + + for(int i = 0; i < 3; i++) { + + double c0 = cy0 * (i == 1 ? -1 : 1); + double c1 = cy1 * (i == 1 ? -1 : 1); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.25, 0); + GL11.glRotated(i * 30 - 15 + c0 * 7.5, 0, 1, 0); + GL11.glRotated(steppy + c1 * steppy, 0, 0, 1); + GL11.glTranslated(0, -0.25, 0); + ResourceManager.glyphid.renderPart("LegLeftUpper"); + GL11.glTranslated(0.5625, 0.25, 0); + GL11.glRotated(-bend - c1 * steppy, 0, 0, 1); + GL11.glTranslated(-0.5625, -0.25, 0); + ResourceManager.glyphid.renderPart("LegLeftLower"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.25, 0); + GL11.glRotated(i * 30 - 45 + c0 * 7.5, 0, 1, 0); + GL11.glRotated(-steppy + c1 * steppy, 0, 0, 1); + GL11.glTranslated(0, -0.25, 0); + ResourceManager.glyphid.renderPart("LegRightUpper"); + GL11.glTranslated(-0.5625, 0.25, 0); + GL11.glRotated(bend - c1 * steppy, 0, 0, 1); + GL11.glTranslated(0.5625, -0.25, 0); + ResourceManager.glyphid.renderPart("LegRightLower"); + GL11.glPopMatrix(); + } + + this.bindTexture(ResourceManager.universal); + GL11.glScaled(0.05, 0.05, 0.05); + ResourceManager.sphere_uv.renderAll(); GL11.glPopMatrix(); } diff --git a/src/main/resources/assets/hbm/models/mobs/glyphid.obj b/src/main/resources/assets/hbm/models/mobs/glyphid.obj new file mode 100644 index 000000000..84cdc3f0e --- /dev/null +++ b/src/main/resources/assets/hbm/models/mobs/glyphid.obj @@ -0,0 +1,996 @@ +# Blender v2.79 (sub 0) OBJ File: 'glyphid.blend' +# www.blender.org +o JawLeft +v 0.187500 0.312500 0.250000 +v 0.187500 0.312500 0.625000 +v 0.187500 0.500000 0.250000 +v 0.187500 0.500000 0.625000 +v 0.000000 0.312500 0.250000 +v 0.000000 0.312500 0.625000 +v 0.000000 0.500000 0.625000 +vt 0.112500 0.408451 +vt 0.075000 0.492958 +vt 0.075000 0.408451 +vt 0.150000 0.408451 +vt 0.112500 0.492958 +vt 0.075000 0.535211 +vt 0.150000 0.492958 +vt 0.112500 0.535211 +vn 0.0000 -1.0000 0.0000 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.0000 1.0000 +s off +f 1/1/1 6/2/1 5/3/1 +f 3/4/2 2/5/2 1/1/2 +f 2/5/3 7/6/3 6/2/3 +f 1/1/1 2/5/1 6/2/1 +f 3/4/2 4/7/2 2/5/2 +f 2/5/3 4/8/3 7/6/3 +o JawRight +v -0.187500 0.312500 0.625000 +v -0.187500 0.312500 0.250000 +v -0.187500 0.500000 0.250000 +v -0.187500 0.500000 0.625000 +v 0.000000 0.312500 0.250000 +v 0.000000 0.312500 0.625000 +v 0.000000 0.500000 0.625000 +vt 0.075000 0.408451 +vt 0.037500 0.492958 +vt 0.037500 0.408451 +vt 0.075000 0.492958 +vt 0.037500 0.535211 +vt 0.000000 0.492958 +vt 0.000000 0.408451 +vt 0.075000 0.535211 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +s off +f 12/9/4 8/10/4 9/11/4 +f 13/12/5 11/13/5 8/10/5 +f 9/11/6 11/14/6 10/15/6 +f 12/9/4 13/12/4 8/10/4 +f 13/12/5 14/16/5 11/13/5 +f 9/11/6 8/10/6 11/14/6 +o JawTop +v -0.187500 0.687500 0.250000 +v 0.187500 0.687500 0.250000 +v -0.187500 0.687500 0.625000 +v 0.187500 0.687500 0.625000 +v -0.187500 0.500000 0.250000 +v 0.187500 0.500000 0.250000 +v -0.187500 0.500000 0.625000 +v 0.187500 0.500000 0.625000 +v 0.000000 0.500000 0.625000 +vt -0.000000 0.661972 +vt 0.037500 0.577465 +vt 0.037500 0.661972 +vt 0.075000 0.535211 +vt 0.112500 0.577465 +vt 0.112500 0.661972 +vt 0.150000 0.577465 +vt 0.150000 0.661972 +vt -0.000000 0.577465 +vt 0.037500 0.535211 +vt 0.112500 0.535211 +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 19/17/7 17/18/7 15/19/7 +f 23/20/8 18/21/8 17/18/8 +f 16/22/9 22/23/9 20/24/9 +f 15/19/10 18/21/10 16/22/10 +f 19/17/7 21/25/7 17/18/7 +f 17/18/8 21/26/8 23/20/8 +f 23/20/8 22/27/8 18/21/8 +f 16/22/9 18/21/9 22/23/9 +f 15/19/10 17/18/10 18/21/10 +o LegRightUpper +v -0.562500 0.250000 -0.031250 +v -0.562500 0.187500 -0.031250 +v -0.562500 0.250000 0.031250 +v -0.562500 0.187500 0.031250 +v -0.062500 0.250000 0.031250 +v -0.062500 0.250000 -0.031250 +v -0.062500 0.187500 -0.031250 +v -0.062500 0.187500 0.031250 +vt 0.612500 0.380282 +vt 0.625000 0.394366 +vt 0.612500 0.394366 +vt 0.625000 0.507042 +vt 0.612500 0.521127 +vt 0.612500 0.507042 +vt 0.637500 0.394366 +vt 0.600000 0.507042 +vt 0.600000 0.394366 +vt 0.650000 0.394366 +vt 0.637500 0.507042 +vt 0.625000 0.380282 +vt 0.625000 0.521127 +vt 0.650000 0.507042 +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 +s off +f 25/28/11 26/29/11 24/30/11 +f 28/31/12 30/32/12 29/33/12 +f 27/34/13 28/31/13 26/29/13 +f 24/30/14 30/35/14 25/36/14 +f 25/37/15 31/38/15 27/34/15 +f 26/29/16 29/33/16 24/30/16 +f 25/28/11 27/39/11 26/29/11 +f 28/31/12 31/40/12 30/32/12 +f 27/34/13 31/38/13 28/31/13 +f 24/30/14 29/33/14 30/35/14 +f 25/37/15 30/41/15 31/38/15 +f 26/29/16 28/31/16 29/33/16 +o LegLeftLower +v 0.562500 0.250000 0.031250 +v 0.562500 0.187500 0.031250 +v 0.562500 0.250000 -0.031250 +v 0.562500 0.187500 -0.031250 +v 0.937500 0.250000 -0.031250 +v 0.937500 0.250000 0.031250 +v 0.937500 0.187500 0.031250 +v 0.937500 0.187500 -0.031250 +v 1.000000 0.187500 0.000000 +v 0.500000 0.218750 0.062500 +v 0.500000 0.218750 -0.062500 +v 0.875000 0.218750 -0.062500 +v 0.875000 0.218750 0.062500 +v 0.500000 0.281250 -0.062500 +v 0.500000 0.281250 0.062500 +v 0.875000 0.281250 -0.062500 +v 0.875000 0.281250 0.062500 +vt 0.675000 0.507042 +vt 0.662500 0.521127 +vt 0.662500 0.507042 +vt 0.662500 0.422535 +vt 0.650000 0.422535 +vt 0.650000 0.408451 +vt 0.687500 0.422535 +vt 0.693750 0.408451 +vt 0.700000 0.422535 +vt 0.675000 0.422535 +vt 0.687500 0.507042 +vt 0.650000 0.507042 +vt 0.750000 0.408451 +vt 0.775000 0.492958 +vt 0.750000 0.492958 +vt 0.687500 0.408451 +vt 0.668750 0.408451 +vt 0.712500 0.492958 +vt 0.737500 0.408451 +vt 0.737500 0.492958 +vt 0.712500 0.507042 +vt 0.737500 0.507042 +vt 0.737500 0.394366 +vt 0.712500 0.408451 +vt 0.712500 0.394366 +vt 0.700000 0.408451 +vt 0.700000 0.492958 +vt 0.675000 0.521127 +vt 0.700000 0.507042 +vt 0.775000 0.408451 +vn -1.0000 0.0000 0.0000 +vn 0.4472 0.0000 0.8944 +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.4472 0.0000 -0.8944 +vn 0.7071 0.7071 0.0000 +vn 1.0000 0.0000 0.0000 +s off +f 34/42/17 33/43/17 32/44/17 +f 37/45/18 38/46/18 40/47/18 +f 39/48/19 40/49/19 38/50/19 +f 32/44/20 36/51/20 34/42/20 +f 34/42/21 39/48/21 35/52/21 +f 33/53/22 37/45/22 32/44/22 +f 43/54/19 41/55/19 42/56/19 +f 40/57/23 39/48/23 36/51/23 +f 36/51/24 37/45/24 40/58/24 +f 46/59/20 47/60/20 45/61/20 +f 41/62/17 45/61/17 42/63/17 +f 42/56/21 47/60/21 43/54/21 +f 43/64/25 48/65/25 44/66/25 +f 44/67/22 46/59/22 41/68/22 +f 34/42/17 35/69/17 33/43/17 +f 38/50/19 33/70/19 35/52/19 +f 35/52/19 39/48/19 38/50/19 +f 32/44/20 37/45/20 36/51/20 +f 34/42/21 36/51/21 39/48/21 +f 33/53/22 38/46/22 37/45/22 +f 43/54/19 44/71/19 41/55/19 +f 46/59/20 48/65/20 47/60/20 +f 41/62/17 46/59/17 45/61/17 +f 42/56/21 45/61/21 47/60/21 +f 43/64/25 47/60/25 48/65/25 +f 44/67/22 48/65/22 46/59/22 +o LegLeftUpper +v 0.562500 0.250000 0.031250 +v 0.562500 0.187500 0.031250 +v 0.562500 0.250000 -0.031250 +v 0.562500 0.187500 -0.031250 +v 0.062500 0.250000 -0.031250 +v 0.062500 0.250000 0.031250 +v 0.062500 0.187500 0.031250 +v 0.062500 0.187500 -0.031250 +vt 0.612500 0.380282 +vt 0.625000 0.394366 +vt 0.612500 0.394366 +vt 0.625000 0.507042 +vt 0.612500 0.521127 +vt 0.612500 0.507042 +vt 0.637500 0.394366 +vt 0.600000 0.507042 +vt 0.600000 0.394366 +vt 0.650000 0.394366 +vt 0.637500 0.507042 +vt 0.625000 0.380282 +vt 0.625000 0.521127 +vt 0.650000 0.507042 +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 +s off +f 50/72/26 51/73/26 49/74/26 +f 53/75/27 55/76/27 54/77/27 +f 52/78/28 53/75/28 51/73/28 +f 49/74/29 55/79/29 50/80/29 +f 50/81/30 56/82/30 52/78/30 +f 51/73/31 54/77/31 49/74/31 +f 50/72/26 52/83/26 51/73/26 +f 53/75/27 56/84/27 55/76/27 +f 52/78/28 56/82/28 53/75/28 +f 49/74/29 54/77/29 55/79/29 +f 50/81/30 55/85/30 56/82/30 +f 51/73/31 53/75/31 54/77/31 +o ArmorRight +v 0.000000 0.343750 -1.281250 +v 0.000000 0.343750 -0.468750 +v 0.000000 0.843750 -1.281250 +v 0.000000 0.843750 -0.468750 +v -0.343750 0.343750 -1.281250 +v -0.343750 0.343750 -0.468750 +v -0.343750 0.843750 -1.281250 +v -0.343750 0.843750 -0.468750 +v -0.281250 0.781250 -1.406250 +v -0.281250 0.343750 -1.406250 +v -0.281250 0.781250 -1.281250 +v -0.281250 0.343750 -1.281250 +v 0.000000 0.343750 -1.406250 +v 0.000000 0.781250 -1.406250 +v 0.000000 0.781250 -1.281250 +vt 0.168750 0.295775 +vt 0.237500 0.112676 +vt 0.237500 0.295775 +vt 0.168750 0.000000 +vt 0.168750 0.112676 +vt 0.168750 0.408451 +vt 0.337500 0.295775 +vt 0.475000 0.267606 +vt 0.418750 0.295775 +vt 0.418750 0.267606 +vt 0.475000 0.169014 +vt 0.500000 0.267606 +vt 0.418750 0.169014 +vt 0.237500 -0.000000 +vt 0.237500 0.408451 +vt 0.337500 0.112676 +vt 0.475000 0.295775 +vt 0.500000 0.169014 +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 +s off +f 60/86/32 63/87/32 64/88/32 +f 57/89/33 63/87/33 59/90/33 +f 64/88/34 58/91/34 60/86/34 +f 63/87/35 62/92/35 64/88/35 +f 65/93/32 71/94/32 70/95/32 +f 66/96/35 67/97/35 65/93/35 +f 65/93/33 69/98/33 66/96/33 +f 60/86/32 59/90/32 63/87/32 +f 57/89/33 61/99/33 63/87/33 +f 64/88/34 62/100/34 58/91/34 +f 63/87/35 61/101/35 62/92/35 +f 65/93/32 67/102/32 71/94/32 +f 66/96/35 68/103/35 67/97/35 +f 65/93/33 70/95/33 69/98/33 +o ArmorLeft +v 0.000000 0.343750 -1.281250 +v 0.000000 0.343750 -0.468750 +v 0.000000 0.843750 -1.281250 +v 0.000000 0.843750 -0.468750 +v 0.343750 0.343750 -1.281250 +v 0.343750 0.343750 -0.468750 +v 0.000000 0.781250 -1.281250 +v 0.343750 0.843750 -1.281250 +v 0.000000 0.781250 -1.406250 +v 0.343750 0.843750 -0.468750 +v 0.000000 0.343750 -1.406250 +v 0.281250 0.781250 -1.281250 +v 0.281250 0.343750 -1.281250 +v 0.281250 0.781250 -1.406250 +v 0.281250 0.343750 -1.406250 +vt 0.168750 0.295775 +vt 0.100000 0.408451 +vt 0.100000 0.295775 +vt 0.418750 0.267606 +vt 0.362500 0.295775 +vt 0.362500 0.267606 +vt 0.100000 0.000000 +vt 0.168750 0.112676 +vt 0.100000 0.112676 +vt -0.000000 0.112676 +vt 0.337500 0.169014 +vt 0.362500 0.169014 +vt 0.418750 0.169014 +vt 0.168750 0.408451 +vt 0.418750 0.295775 +vt 0.168750 0.000000 +vt 0.000000 0.295775 +vt 0.337500 0.267606 +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 +s off +f 75/104/36 77/105/36 81/106/36 +f 80/107/37 83/108/37 85/109/37 +f 76/110/38 74/111/38 79/112/38 +f 81/106/39 76/113/39 79/112/39 +f 85/109/39 84/114/39 86/115/39 +f 80/107/38 86/115/38 82/116/38 +f 81/106/37 74/111/37 75/104/37 +f 75/104/36 73/117/36 77/105/36 +f 80/107/37 78/118/37 83/108/37 +f 76/110/38 72/119/38 74/111/38 +f 81/106/39 77/120/39 76/113/39 +f 85/109/39 83/121/39 84/114/39 +f 80/107/38 85/109/38 86/115/38 +f 81/106/37 79/112/37 74/111/37 +o ArmorFront +v -0.281250 0.781250 0.281250 +v -0.281250 0.781250 -0.281250 +v 0.281250 0.781250 0.281250 +v 0.281250 0.781250 -0.281250 +v -0.281250 0.531250 0.281250 +v -0.281250 0.531250 -0.281250 +v 0.281250 0.531250 0.281250 +v 0.281250 0.531250 -0.281250 +vt 0.775000 0.633803 +vt 0.887500 0.507042 +vt 0.887500 0.633803 +vt 0.937500 0.633803 +vt 0.775000 0.690141 +vt 0.725000 0.507042 +vt 0.775000 0.507042 +vt 0.775000 0.450704 +vt 0.937500 0.507042 +vt 0.887500 0.690141 +vt 0.725000 0.633803 +vt 0.887500 0.450704 +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 88/122/40 89/123/40 90/124/40 +f 89/123/41 94/125/41 90/124/41 +f 90/124/42 92/126/42 88/122/42 +f 88/122/43 91/127/43 87/128/43 +f 91/129/44 89/123/44 87/128/44 +f 88/122/40 87/128/40 89/123/40 +f 89/123/41 93/130/41 94/125/41 +f 90/124/42 94/131/42 92/126/42 +f 88/122/43 92/132/43 91/127/43 +f 91/129/44 93/133/44 89/123/44 +o ArmRightUpper +v -0.375000 0.687500 0.437500 +v -0.375000 0.562500 0.437500 +v -0.375000 0.687500 0.062500 +v -0.375000 0.562500 0.062500 +v -0.250000 0.687500 0.062500 +v -0.250000 0.687500 0.437500 +v -0.250000 0.562500 0.437500 +v -0.250000 0.562500 0.062500 +vt 0.325000 0.633803 +vt 0.300000 0.549296 +vt 0.325000 0.549296 +vt 0.375000 0.549296 +vt 0.350000 0.633803 +vt 0.350000 0.549296 +vt 0.350000 0.661972 +vt 0.325000 0.661972 +vt 0.325000 0.521127 +vt 0.400000 0.633803 +vt 0.400000 0.549296 +vt 0.300000 0.633803 +vt 0.375000 0.633803 +vt 0.350000 0.521127 +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 +s off +f 97/134/45 96/135/45 95/136/45 +f 101/137/46 99/138/46 100/139/46 +f 97/134/47 102/140/47 98/141/47 +f 96/142/48 100/139/48 95/136/48 +f 98/143/49 101/137/49 96/144/49 +f 95/136/50 99/138/50 97/134/50 +f 97/134/45 98/145/45 96/135/45 +f 101/137/46 102/146/46 99/138/46 +f 97/134/47 99/138/47 102/140/47 +f 96/142/48 101/147/48 100/139/48 +f 98/143/49 102/146/49 101/137/49 +f 95/136/50 100/139/50 99/138/50 +o ArmRightMid +v -0.375000 0.687500 0.437500 +v -0.375000 0.562500 0.437500 +v -0.250000 0.687500 0.437500 +v -0.250000 0.562500 0.437500 +v -0.375000 0.687500 0.937500 +v -0.375000 0.562500 0.937500 +v -0.250000 0.687500 0.937500 +v -0.250000 0.562500 0.937500 +vt 0.450000 0.633803 +vt 0.425000 0.661972 +vt 0.425000 0.633803 +vt 0.425000 0.492958 +vt 0.450000 0.521127 +vt 0.425000 0.521127 +vt 0.475000 0.633803 +vt 0.500000 0.521127 +vt 0.500000 0.633803 +vt 0.400000 0.633803 +vt 0.475000 0.521127 +vt 0.450000 0.661972 +vt 0.450000 0.492958 +vt 0.400000 0.521127 +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 +s off +f 105/148/51 104/149/51 103/150/51 +f 108/151/52 109/152/52 107/153/52 +f 106/154/53 108/155/53 104/156/53 +f 104/157/54 107/153/54 103/150/54 +f 103/150/55 109/152/55 105/148/55 +f 105/148/56 110/158/56 106/154/56 +f 105/148/51 106/159/51 104/149/51 +f 108/151/52 110/160/52 109/152/52 +f 106/154/53 110/158/53 108/155/53 +f 104/157/54 108/161/54 107/153/54 +f 103/150/55 107/153/55 109/152/55 +f 105/148/56 109/152/56 110/158/56 +o ArmRightArmor +v -0.437500 0.625000 0.812500 +v -0.187500 0.625000 0.812500 +v -0.437500 0.625000 1.562500 +v -0.187500 0.625000 1.562500 +v -0.187500 0.750000 0.812500 +v -0.437500 0.750000 0.812500 +v -0.187500 0.750000 1.562500 +v -0.437500 0.750000 1.562500 +vt 0.400000 0.492958 +vt 0.450000 0.323944 +vt 0.450000 0.492958 +vt 0.325000 0.492958 +vt 0.375000 0.323944 +vt 0.375000 0.492958 +vt 0.300000 0.323944 +vt 0.300000 0.492958 +vt 0.375000 0.521127 +vt 0.400000 0.323944 +vt 0.375000 0.295775 +vt 0.325000 0.323944 +vt 0.325000 0.295775 +vt 0.325000 0.521127 +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 112/162/57 113/163/57 111/164/57 +f 116/165/58 117/166/58 115/167/58 +f 113/168/59 116/165/59 111/169/59 +f 112/170/60 116/165/60 115/167/60 +f 112/162/61 117/166/61 114/171/61 +f 114/172/62 118/173/62 113/174/62 +f 112/162/57 114/171/57 113/163/57 +f 116/165/58 118/173/58 117/166/58 +f 113/168/59 118/173/59 116/165/59 +f 112/170/60 111/175/60 116/165/60 +f 112/162/61 115/167/61 117/166/61 +f 114/172/62 117/166/62 118/173/62 +o ArmRightLower +v -0.375000 0.687500 0.937500 +v -0.375000 0.562500 0.937500 +v -0.250000 0.687500 0.937500 +v -0.250000 0.562500 0.937500 +v -0.375000 0.687500 1.687500 +v -0.375000 0.562500 1.687500 +v -0.250000 0.687500 1.687500 +v -0.250000 0.562500 1.687500 +v -0.312500 0.562500 1.812500 +vt 0.550000 0.633803 +vt 0.525000 0.661972 +vt 0.525000 0.633803 +vt 0.525000 0.464789 +vt 0.537500 0.436620 +vt 0.550000 0.464789 +vt 0.575000 0.464789 +vt 0.575000 0.633803 +vt 0.587500 0.436620 +vt 0.600000 0.464789 +vt 0.500000 0.633803 +vt 0.575000 0.436620 +vt 0.500000 0.436620 +vt 0.500000 0.464789 +vt 0.550000 0.661972 +vt 0.600000 0.633803 +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.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.8944 0.0000 0.4472 +vn -0.8944 0.0000 0.4472 +s off +f 121/176/63 120/177/63 119/178/63 +f 123/179/64 127/180/64 125/181/64 +f 121/176/65 123/179/65 125/181/65 +f 121/176/66 126/182/66 122/183/66 +f 126/182/67 127/184/67 124/185/67 +f 120/186/68 123/179/68 119/178/68 +f 125/181/69 127/187/69 126/182/69 +f 127/188/70 123/179/70 124/189/70 +f 121/176/63 122/190/63 120/177/63 +f 121/176/65 119/178/65 123/179/65 +f 121/176/66 125/181/66 126/182/66 +f 124/185/67 120/191/67 122/183/67 +f 122/183/67 126/182/67 124/185/67 +f 120/186/68 124/189/68 123/179/68 +o ArmLeftArmor +v 0.187500 0.625000 0.812500 +v 0.437500 0.625000 0.812500 +v 0.187500 0.625000 1.562500 +v 0.437500 0.625000 1.562500 +v 0.437500 0.750000 0.812500 +v 0.187500 0.750000 0.812500 +v 0.437500 0.750000 1.562500 +v 0.187500 0.750000 1.562500 +vt 0.400000 0.492958 +vt 0.450000 0.323944 +vt 0.450000 0.492958 +vt 0.325000 0.492958 +vt 0.375000 0.323944 +vt 0.375000 0.492958 +vt 0.300000 0.323944 +vt 0.300000 0.492958 +vt 0.375000 0.521127 +vt 0.400000 0.323944 +vt 0.325000 0.295775 +vt 0.325000 0.323944 +vt 0.325000 0.521127 +vt 0.375000 0.295775 +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 129/192/71 130/193/71 128/194/71 +f 133/195/72 134/196/72 132/197/72 +f 130/198/73 133/195/73 128/199/73 +f 129/200/74 133/195/74 132/197/74 +f 129/192/75 134/196/75 131/201/75 +f 130/202/76 134/196/76 135/203/76 +f 129/192/71 131/201/71 130/193/71 +f 133/195/72 135/203/72 134/196/72 +f 130/198/73 135/203/73 133/195/73 +f 129/200/74 128/204/74 133/195/74 +f 129/192/75 132/197/75 134/196/75 +f 130/202/76 131/205/76 134/196/76 +o ArmLeftUpper +v 0.250000 0.687500 0.437500 +v 0.250000 0.562500 0.437500 +v 0.250000 0.687500 0.062500 +v 0.250000 0.562500 0.062500 +v 0.375000 0.687500 0.062500 +v 0.375000 0.687500 0.437500 +v 0.375000 0.562500 0.437500 +v 0.375000 0.562500 0.062500 +vt 0.325000 0.633803 +vt 0.300000 0.549296 +vt 0.325000 0.549296 +vt 0.375000 0.549296 +vt 0.350000 0.633803 +vt 0.350000 0.549296 +vt 0.350000 0.661972 +vt 0.325000 0.661972 +vt 0.325000 0.521127 +vt 0.400000 0.633803 +vt 0.400000 0.549296 +vt 0.300000 0.633803 +vt 0.375000 0.633803 +vt 0.350000 0.521127 +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 +s off +f 138/206/77 137/207/77 136/208/77 +f 142/209/78 140/210/78 141/211/78 +f 138/206/79 143/212/79 139/213/79 +f 137/214/80 141/211/80 136/208/80 +f 139/215/81 142/209/81 137/216/81 +f 136/208/82 140/210/82 138/206/82 +f 138/206/77 139/217/77 137/207/77 +f 142/209/78 143/218/78 140/210/78 +f 138/206/79 140/210/79 143/212/79 +f 137/214/80 142/219/80 141/211/80 +f 139/215/81 143/218/81 142/209/81 +f 136/208/82 141/211/82 140/210/82 +o ArmLeftMid +v 0.250000 0.687500 0.437500 +v 0.250000 0.562500 0.437500 +v 0.375000 0.687500 0.437500 +v 0.375000 0.562500 0.437500 +v 0.250000 0.687500 0.937500 +v 0.250000 0.562500 0.937500 +v 0.375000 0.687500 0.937500 +v 0.375000 0.562500 0.937500 +vt 0.450000 0.633803 +vt 0.425000 0.661972 +vt 0.425000 0.633803 +vt 0.425000 0.492958 +vt 0.450000 0.521127 +vt 0.425000 0.521127 +vt 0.475000 0.633803 +vt 0.500000 0.521127 +vt 0.500000 0.633803 +vt 0.400000 0.633803 +vt 0.475000 0.521127 +vt 0.450000 0.661972 +vt 0.450000 0.492958 +vt 0.400000 0.521127 +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 +s off +f 146/220/83 145/221/83 144/222/83 +f 149/223/84 150/224/84 148/225/84 +f 147/226/85 149/227/85 145/228/85 +f 145/229/86 148/225/86 144/222/86 +f 144/222/87 150/224/87 146/220/87 +f 146/220/88 151/230/88 147/226/88 +f 146/220/83 147/231/83 145/221/83 +f 149/223/84 151/232/84 150/224/84 +f 147/226/85 151/230/85 149/227/85 +f 145/229/86 149/233/86 148/225/86 +f 144/222/87 148/225/87 150/224/87 +f 146/220/88 150/224/88 151/230/88 +o ArmLeftLower +v 0.250000 0.687500 0.937500 +v 0.250000 0.562500 0.937500 +v 0.375000 0.687500 0.937500 +v 0.375000 0.562500 0.937500 +v 0.250000 0.687500 1.687500 +v 0.250000 0.562500 1.687500 +v 0.375000 0.687500 1.687500 +v 0.375000 0.562500 1.687500 +v 0.312500 0.562500 1.812500 +vt 0.550000 0.633803 +vt 0.525000 0.661972 +vt 0.525000 0.633803 +vt 0.525000 0.464789 +vt 0.537500 0.436620 +vt 0.550000 0.464789 +vt 0.575000 0.464789 +vt 0.575000 0.633803 +vt 0.587500 0.436620 +vt 0.600000 0.464789 +vt 0.500000 0.633803 +vt 0.575000 0.436620 +vt 0.500000 0.436620 +vt 0.500000 0.464789 +vt 0.550000 0.661972 +vt 0.600000 0.633803 +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.0000 -1.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn 0.8944 0.0000 0.4472 +vn -0.8944 0.0000 0.4472 +s off +f 154/234/89 153/235/89 152/236/89 +f 156/237/90 160/238/90 158/239/90 +f 154/234/91 156/237/91 158/239/91 +f 154/234/92 159/240/92 155/241/92 +f 159/240/93 160/242/93 157/243/93 +f 153/244/94 156/237/94 152/236/94 +f 158/239/95 160/245/95 159/240/95 +f 160/246/96 156/237/96 157/247/96 +f 154/234/89 155/248/89 153/235/89 +f 154/234/91 152/236/91 156/237/91 +f 154/234/92 158/239/92 159/240/92 +f 157/243/93 153/249/93 155/241/93 +f 155/241/93 159/240/93 157/243/93 +f 153/244/94 157/247/94 156/237/94 +o Body +v -0.250000 0.250000 0.250000 +v -0.250000 0.750000 0.250000 +v -0.250000 0.250000 -0.250000 +v -0.250000 0.750000 -0.250000 +v 0.250000 0.250000 0.250000 +v 0.250000 0.750000 0.250000 +v 0.250000 0.250000 -0.250000 +v 0.250000 0.750000 -0.250000 +v -0.187500 0.312500 -0.250000 +v -0.187500 0.687500 -0.250000 +v 0.187500 0.312500 -0.250000 +v 0.187500 0.687500 -0.250000 +v -0.187500 0.687500 -0.500000 +v -0.187500 0.312500 -0.500000 +v 0.187500 0.312500 -0.500000 +v 0.187500 0.687500 -0.500000 +v -0.312500 0.187500 -0.500000 +v 0.312500 0.187500 -0.500000 +v -0.312500 0.812500 -0.500000 +v 0.312500 0.812500 -0.500000 +v -0.312500 0.812500 -1.250000 +v -0.312500 0.187500 -1.250000 +v 0.312500 0.187500 -1.250000 +v 0.312500 0.812500 -1.250000 +v -0.250000 0.250000 -1.250000 +v 0.250000 0.250000 -1.250000 +v -0.250000 0.750000 -1.250000 +v 0.250000 0.750000 -1.250000 +v -0.250000 0.750000 -1.375000 +v -0.250000 0.250000 -1.375000 +v 0.250000 0.250000 -1.375000 +v 0.250000 0.750000 -1.375000 +v -0.187500 0.250000 0.187500 +v 0.187500 0.250000 0.187500 +v -0.187500 0.250000 -0.187500 +v 0.187500 0.250000 -0.187500 +v -0.187500 0.187500 -0.187500 +v -0.187500 0.187500 0.187500 +v 0.187500 0.187500 0.187500 +v 0.187500 0.187500 -0.187500 +vt 0.100000 0.887324 +vt 0.000000 0.774648 +vt 0.100000 0.774648 +vt 0.400000 0.887324 +vt 0.300000 0.774648 +vt 0.400000 0.774648 +vt 0.300000 0.887324 +vt 0.200000 0.774648 +vt 0.200000 0.887324 +vt 0.200000 0.661972 +vt 0.100000 0.661972 +vt 0.100000 1.000000 +vt 0.200000 1.000000 +vt 0.400000 0.746479 +vt 0.450000 0.830986 +vt 0.400000 0.830986 +vt 0.400000 0.661972 +vt 0.450000 0.746479 +vt 0.450000 0.915493 +vt 0.400000 0.915493 +vt 0.450000 1.000000 +vt 0.400000 1.000000 +vt 0.725000 0.690141 +vt 0.600000 0.830986 +vt 0.600000 0.690141 +vt 1.000000 0.830986 +vt 0.875000 0.690141 +vt 1.000000 0.690141 +vt 0.875000 0.830986 +vt 0.725000 0.830986 +vt 0.450000 0.690141 +vt 0.600000 1.000000 +vt 0.725000 0.521127 +vt 0.850000 0.971831 +vt 0.750000 0.859155 +vt 0.850000 0.859155 +vt 0.750000 1.000000 +vt 0.850000 1.000000 +vt 0.850000 0.830986 +vt 0.750000 0.830986 +vt 0.725000 0.859155 +vt 0.750000 0.971831 +vt 0.725000 0.971831 +vt 0.875000 0.971831 +vt 0.875000 0.859155 +vt 0.212500 0.901408 +vt 0.287500 0.985915 +vt 0.212500 0.985915 +vt 0.300000 0.985915 +vt 0.287500 0.901408 +vt 0.300000 0.901408 +vt 0.200000 0.901408 +vt 0.200000 0.985915 +vt 0.287500 0.887324 +vt 0.212500 0.887324 +vt 0.212500 1.000000 +vt 0.287500 1.000000 +vt 0.000000 0.887324 +vt 0.450000 0.661972 +vt 0.450000 0.830986 +vt 0.725000 1.000000 +vt 0.600000 0.521127 +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 162/250/97 163/251/97 161/252/97 +f 164/253/98 167/254/98 163/255/98 +f 168/256/99 165/257/99 167/254/99 +f 166/258/100 161/252/100 165/257/100 +f 167/259/101 161/252/101 163/260/101 +f 164/261/102 166/258/102 168/262/102 +f 171/263/99 176/264/99 172/265/99 +f 169/266/101 175/267/101 171/263/101 +f 172/265/102 173/268/102 170/269/102 +f 170/269/97 174/270/97 169/271/97 +f 178/272/100 179/273/100 177/274/100 +f 181/275/98 183/276/98 182/277/98 +f 178/272/99 184/278/99 180/279/99 +f 179/273/97 182/280/97 177/274/97 +f 180/279/102 181/281/102 179/273/102 +f 177/274/101 183/282/101 178/272/101 +f 189/283/98 191/284/98 190/285/98 +f 188/286/102 189/283/102 187/287/102 +f 185/288/101 191/284/101 186/289/101 +f 186/290/99 192/291/99 188/292/99 +f 187/293/97 190/285/97 185/294/97 +f 197/295/101 199/296/101 198/297/101 +f 194/298/99 200/299/99 196/300/99 +f 195/301/97 198/297/97 193/302/97 +f 196/303/98 197/295/98 195/304/98 +f 193/305/100 199/296/100 194/306/100 +f 162/250/97 164/307/97 163/251/97 +f 164/253/98 168/256/98 167/254/98 +f 168/256/99 166/258/99 165/257/99 +f 166/258/100 162/250/100 161/252/100 +f 167/259/101 165/257/101 161/252/101 +f 164/261/102 162/250/102 166/258/102 +f 171/263/99 175/267/99 176/264/99 +f 169/266/101 174/308/101 175/267/101 +f 172/265/102 176/264/102 173/268/102 +f 170/269/97 173/268/97 174/270/97 +f 178/272/100 180/279/100 179/273/100 +f 181/275/98 184/278/98 183/276/98 +f 178/272/99 183/276/99 184/278/99 +f 179/273/97 181/309/97 182/280/97 +f 180/279/102 184/310/102 181/281/102 +f 177/274/101 182/311/101 183/282/101 +f 189/283/98 192/291/98 191/284/98 +f 188/286/102 192/291/102 189/283/102 +f 185/288/101 190/285/101 191/284/101 +f 186/290/99 191/284/99 192/291/99 +f 187/293/97 189/283/97 190/285/97 +f 197/295/101 200/299/101 199/296/101 +f 194/298/99 199/296/99 200/299/99 +f 195/301/97 197/295/97 198/297/97 +f 196/303/98 200/299/98 197/295/98 +f 193/305/100 198/297/100 199/296/100 +o LegRightLower +v -0.562500 0.250000 -0.031250 +v -0.562500 0.187500 -0.031250 +v -0.562500 0.250000 0.031250 +v -0.562500 0.187500 0.031250 +v -0.937500 0.250000 0.031250 +v -0.937500 0.250000 -0.031250 +v -0.937500 0.187500 -0.031250 +v -0.937500 0.187500 0.031250 +v -1.000000 0.187500 0.000000 +v -0.500000 0.218750 -0.062500 +v -0.500000 0.218750 0.062500 +v -0.875000 0.218750 0.062500 +v -0.875000 0.218750 -0.062500 +v -0.500000 0.281250 0.062500 +v -0.500000 0.281250 -0.062500 +v -0.875000 0.281250 0.062500 +v -0.875000 0.281250 -0.062500 +vt 0.675000 0.507042 +vt 0.662500 0.521127 +vt 0.662500 0.507042 +vt 0.662500 0.422535 +vt 0.650000 0.422535 +vt 0.650000 0.408451 +vt 0.687500 0.422535 +vt 0.693750 0.408451 +vt 0.700000 0.422535 +vt 0.675000 0.422535 +vt 0.687500 0.507042 +vt 0.650000 0.507042 +vt 0.750000 0.408451 +vt 0.775000 0.492958 +vt 0.750000 0.492958 +vt 0.687500 0.408451 +vt 0.668750 0.408451 +vt 0.712500 0.492958 +vt 0.737500 0.408451 +vt 0.737500 0.492958 +vt 0.712500 0.507042 +vt 0.737500 0.507042 +vt 0.737500 0.394366 +vt 0.712500 0.408451 +vt 0.712500 0.394366 +vt 0.700000 0.408451 +vt 0.700000 0.492958 +vt 0.675000 0.521127 +vt 0.700000 0.507042 +vt 0.775000 0.408451 +vn 1.0000 0.0000 0.0000 +vn -0.4472 0.0000 -0.8944 +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.4472 0.0000 0.8944 +vn -0.7071 0.7071 0.0000 +vn -1.0000 0.0000 0.0000 +s off +f 203/312/103 202/313/103 201/314/103 +f 206/315/104 207/316/104 209/317/104 +f 208/318/105 209/319/105 207/320/105 +f 201/314/106 205/321/106 203/312/106 +f 203/312/107 208/318/107 204/322/107 +f 202/323/108 206/315/108 201/314/108 +f 212/324/105 210/325/105 211/326/105 +f 209/327/109 208/318/109 205/321/109 +f 205/321/110 206/315/110 209/328/110 +f 215/329/106 216/330/106 214/331/106 +f 210/332/103 214/331/103 211/333/103 +f 211/326/107 216/330/107 212/324/107 +f 212/334/111 217/335/111 213/336/111 +f 213/337/108 215/329/108 210/338/108 +f 203/312/103 204/339/103 202/313/103 +f 207/320/105 202/340/105 204/322/105 +f 204/322/105 208/318/105 207/320/105 +f 201/314/106 206/315/106 205/321/106 +f 203/312/107 205/321/107 208/318/107 +f 202/323/108 207/316/108 206/315/108 +f 212/324/105 213/341/105 210/325/105 +f 215/329/106 217/335/106 216/330/106 +f 210/332/103 215/329/103 214/331/103 +f 211/326/107 214/331/107 216/330/107 +f 212/334/111 216/330/111 217/335/111 +f 213/337/108 217/335/108 215/329/108 diff --git a/src/main/resources/assets/hbm/textures/entity/glyphid.png b/src/main/resources/assets/hbm/textures/entity/glyphid.png new file mode 100644 index 0000000000000000000000000000000000000000..dd5d4ec03f7b3891eaa798e0b0887a6143d5dd81 GIT binary patch literal 887 zcmV--1Bm>IP)dalRKx6iHLR4|xtR0ukf}=A-xe2q7QBdGs?xtbPN(tU$cX znD(`8Iof(tzGuwu7h^JqkPk5G$KY#|BI24M3%C{<%TssJtOiK8#80GFF)Sbz7Ldr| zW1w2P0Yu0G)?W7PFlOx(vA8J7YyAnokQK5f+e0k>GVmUP~XNm5&;Wv~Sj zVF8J-fJ7D_1N)4fiz3mB_v; zyrs1HD((NPy7wMB+=ij@OT!jOWb!evv7A!1N#1i+U(bDy+q8D{$Gi^?1Gso)LSrIZ zAQ2Xj2n$H05I0@Fc0IC-o5y8nCB;2qRjz!sB?em{k;%QV6SsMBTvf+=ZTz=VJORIb z?(Pr2-0upchgvUc8dvP zDJ4uDRGU)Sz}tO32ne~c$4`0-3Q<8*788oErmLul`T+oM&cl;w^L%;ilK;80Ubn32 z^2=M>hQL0nzyJDfFPHB8z4JNky}D5S?1hPB--U^RmqlY@Y8hn;h| z)Y--C1w4ooZ{4N=%g2#dHwL<%c#dvfxc{b)4a9a52Jg-?u>^i=K-^0|`x}54ZR^rb z{*kAxs5lmDn_@3*>=`>LF_!GRaE!WZn@U4eI-KW>jjCj>q6;s%PjVFkE(r@rgasrr zxf2;W9p9v1+AGctTObj!i$wA}b(*#nfOrZNdkJLr-rG2_|C_ Date: Thu, 15 Jun 2023 15:13:24 +0200 Subject: [PATCH 183/285] glyphids --- .../java/com/hbm/entity/EntityMappings.java | 1 + .../com/hbm/entity/mob/EntityGlyphid.java | 164 +++++++++++++++++ .../handler/pollution/PollutionHandler.java | 3 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../hbm/render/entity/mob/RenderGlyphid.java | 167 ++++++++++++++++++ 5 files changed, 335 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/hbm/entity/mob/EntityGlyphid.java create mode 100644 src/main/java/com/hbm/render/entity/mob/RenderGlyphid.java diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index 797097dfc..04499718a 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -238,6 +238,7 @@ public class EntityMappings { 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); addSpawn(EntityCreeperPhosgene.class, 5, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); addSpawn(EntityCreeperVolatile.class, 10, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java new file mode 100644 index 000000000..416b316b7 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java @@ -0,0 +1,164 @@ +package com.hbm.entity.mob; + +import java.util.Arrays; +import java.util.Collections; +import java.util.List; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EnumCreatureAttribute; +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.monster.EntityMob; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.DamageSource; +import net.minecraft.world.World; + +public class EntityGlyphid extends EntityMob { + + public EntityGlyphid(World world) { + super(world); + this.tasks.addTask(0, new EntityAISwimming(this)); + this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false)); + this.tasks.addTask(5, new EntityAIMoveTowardsRestriction(this, 1.0D)); + this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); + this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); + this.tasks.addTask(8, new EntityAILookIdle(this)); + this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true)); + this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); + this.setSize(2F, 1F); + } + + @Override + protected void entityInit() { + super.entityInit(); + this.dataWatcher.addObject(16, new Byte((byte) 0)); //wall climbing + this.dataWatcher.addObject(17, new Byte((byte) 0b11111)); //armor + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(32D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.8D); + } + + @Override + public boolean attackEntityFrom(DamageSource source, float amount) { + + if(!source.isDamageAbsolute() && !source.isUnblockable() && !worldObj.isRemote) { + byte armor = this.dataWatcher.getWatchableObjectByte(17); + + if(armor != 0) { //if at least one bit of armor is present + int chance = amount < 10 ? 5 : amount < 20 ? 3 : 2; //chances of armor being broken off + if(this.rand.nextInt(chance) == 0) { + List indices = Arrays.asList(0, 1, 2, 3, 4); + Collections.shuffle(indices); + + for(Integer i : indices) { + byte bit = (byte) (1 << i); + if((armor & bit) > 0) { //if this bit is present... + armor &= ~bit; //...remove it + armor = (byte) (armor & 0b11111); + this.dataWatcher.updateObject(17, armor); + return false; + } + } + } + + amount -= 0.5; + } + + int divisor = 1; + + for(int i = 0; i < 5; i++) { + if((armor & (1 << i)) > 0) { + divisor++; + } + } + + System.out.println("" + divisor); + + amount /= divisor; + } + + return super.attackEntityFrom(source, amount); + } + + @Override + public boolean attackEntityAsMob(Entity victum) { + if(this.isSwingInProgress) return false; + this.swingItem(); + return super.attackEntityAsMob(victum); + } + + @Override + public void onUpdate() { + super.onUpdate(); + + if(!this.worldObj.isRemote) { + this.setBesideClimbableBlock(this.isCollidedHorizontally); + + if(worldObj.getTotalWorldTime() % 100 == 0) { + this.swingItem(); + } + } + } + + @Override + protected void updateArmSwingProgress() { + int i = this.swingDuration(); + + if(this.isSwingInProgress) { + ++this.swingProgressInt; + + if(this.swingProgressInt >= i) { + this.swingProgressInt = 0; + this.isSwingInProgress = false; + } + } else { + this.swingProgressInt = 0; + } + + this.swingProgress = (float) this.swingProgressInt / (float) i; + } + + public int swingDuration() { + return 15; + } + + @Override + public void setInWeb() { } + + @Override + public boolean isOnLadder() { + return this.isBesideClimbableBlock(); + } + + public boolean isBesideClimbableBlock() { + return (this.dataWatcher.getWatchableObjectByte(16) & 1) != 0; + } + + public void setBesideClimbableBlock(boolean climbable) { + byte watchable = this.dataWatcher.getWatchableObjectByte(16); + + if(climbable) { + watchable = (byte) (watchable | 1); + } else { + watchable &= -2; + } + + this.dataWatcher.updateObject(16, Byte.valueOf(watchable)); + } + + @Override + public EnumCreatureAttribute getCreatureAttribute() { + return EnumCreatureAttribute.ARTHROPOD; + } +} diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index bbc4e7099..d62fd28e6 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -122,14 +122,15 @@ public class PollutionHandler { if(!event.world.isRemote) { WorldServer world = (WorldServer) event.world; String dirPath = getDataDir(world); + File pollutionFile = new File(dirPath, fileName); try { - File pollutionFile = new File(dirPath, fileName); if(!pollutionFile.getParentFile().exists()) pollutionFile.getParentFile().mkdirs(); if(!pollutionFile.exists()) pollutionFile.createNewFile(); NBTTagCompound data = perWorld.get(world).writeToNBT(); CompressedStreamTools.writeCompressed(data, new FileOutputStream(pollutionFile)); } catch(Exception ex) { + System.out.println("Failed to write " + pollutionFile.getAbsolutePath()); ex.printStackTrace(); } } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 492673357..ab05362d0 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -721,6 +721,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntitySiegeSkeleton.class, new RenderSiegeSkeleton()); RenderingRegistry.registerEntityRenderingHandler(EntitySiegeTunneler.class, new RenderSiegeTunneler()); RenderingRegistry.registerEntityRenderingHandler(EntityGhost.class, new RenderGhost()); + RenderingRegistry.registerEntityRenderingHandler(EntityGlyphid.class, new RenderGlyphid()); //"particles" RenderingRegistry.registerEntityRenderingHandler(EntitySmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.smoke1, ModItems.smoke2, ModItems.smoke3, ModItems.smoke4, ModItems.smoke5, ModItems.smoke6, ModItems.smoke7, ModItems.smoke8 })); 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 })); diff --git a/src/main/java/com/hbm/render/entity/mob/RenderGlyphid.java b/src/main/java/com/hbm/render/entity/mob/RenderGlyphid.java new file mode 100644 index 000000000..30915068e --- /dev/null +++ b/src/main/java/com/hbm/render/entity/mob/RenderGlyphid.java @@ -0,0 +1,167 @@ +package com.hbm.render.entity.mob; + +import org.lwjgl.opengl.GL11; + +import com.hbm.main.ResourceManager; + +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; + +public class RenderGlyphid extends RenderLiving { + + public RenderGlyphid() { + super(new ModelGlyphid(), 1.0F); + this.shadowOpaque = 0.0F; + } + + @Override + protected ResourceLocation getEntityTexture(Entity p_110775_1_) { + return ResourceManager.glyphid_tex; + } + + public static class ModelGlyphid extends ModelBase { + + double bite = 0; + + @Override + public void setLivingAnimations(EntityLivingBase entity, float limbSwing, float limbSwingAmount, float interp) { + bite = entity.getSwingProgress(interp); + } + + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float rotationYaw, float rotationHeadYaw, float rotationPitch, float scale) { + GL11.glPushMatrix(); + + GL11.glRotatef(180, 1, 0, 0); + GL11.glTranslatef(0, -1.5F, 0); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + + EntityLivingBase living = (EntityLivingBase) entity; + byte armor = living.getDataWatcher().getWatchableObjectByte(17); + //MainRegistry.proxy.displayTooltip("" + limbSwingAmount, 999); + + double walkCycle = limbSwing; + + double speed = 100000D; + double chewing = 200000D; + double cy0 = Math.sin(walkCycle % (Math.PI * 2)); + double cy1 = Math.sin(walkCycle % (Math.PI * 2) - Math.PI * 0.5); + double cy2 = Math.sin(walkCycle % (Math.PI * 2) - Math.PI); + double cy3 = Math.sin(walkCycle % (Math.PI * 2) - Math.PI * 0.75); + + double bite = MathHelper.clamp_double(Math.sin(this.bite * Math.PI * 2 - Math.PI * 0.5), 0, 1) * 20; + double headTilt = Math.sin(this.bite * Math.PI) * 30; + + ResourceManager.glyphid.renderPart("Body"); + if((armor & (1 << 0)) > 0) ResourceManager.glyphid.renderPart("ArmorFront"); + if((armor & (1 << 1)) > 0) ResourceManager.glyphid.renderPart("ArmorLeft"); + if((armor & (1 << 2)) > 0) ResourceManager.glyphid.renderPart("ArmorRight"); + + /// LEFT ARM /// + GL11.glPushMatrix(); + GL11.glTranslated(0.25, 0.625, 0.0625); + GL11.glRotated(10, 0, 1, 0); + GL11.glRotated(35 + cy1 * 20, 1, 0, 0); + GL11.glTranslated(-0.25, -0.625, -0.0625); + ResourceManager.glyphid.renderPart("ArmLeftUpper"); + GL11.glTranslated(0.25, 0.625, 0.4375); + GL11.glRotated(-75 - cy1 * 20 + cy0 * 20, 1, 0, 0); + GL11.glTranslated(-0.25, -0.625, -0.4375); + ResourceManager.glyphid.renderPart("ArmLeftMid"); + GL11.glTranslated(0.25, 0.625, 0.9375); + GL11.glRotated(90 - cy0 * 45, 1, 0, 0); + GL11.glTranslated(-0.25, -0.625, -0.9375); + ResourceManager.glyphid.renderPart("ArmLeftLower"); + if((armor & (1 << 3)) > 0) ResourceManager.glyphid.renderPart("ArmLeftArmor"); + GL11.glPopMatrix(); + + /// RIGHT ARM /// + GL11.glPushMatrix(); + GL11.glTranslated(-0.25, 0.625, 0.0625); + GL11.glRotated(-10, 0, 1, 0); + GL11.glRotated(35 + cy2 * 20, 1, 0, 0); + GL11.glTranslated(0.25, -0.625, -0.0625); + ResourceManager.glyphid.renderPart("ArmRightUpper"); + GL11.glTranslated(-0.25, 0.625, 0.4375); + GL11.glRotated(-75 - cy2 * 20 + cy3 * 20, 1, 0, 0); + GL11.glTranslated(0.25, -0.625, -0.4375); + ResourceManager.glyphid.renderPart("ArmRightMid"); + GL11.glTranslated(-0.25, 0.625, 0.9375); + GL11.glRotated(90 - cy3 * 45, 1, 0, 0); + GL11.glTranslated(0.25, -0.625, -0.9375); + ResourceManager.glyphid.renderPart("ArmRightLower"); + if((armor & (1 << 4)) > 0) ResourceManager.glyphid.renderPart("ArmRightArmor"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + + GL11.glTranslated(0, 0.5, 0.25); + GL11.glRotated(headTilt, 0, 0, 1); + GL11.glTranslated(0, -0.5, -0.25); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.5, 0.25); + GL11.glRotated(-bite, 1, 0, 0); + GL11.glTranslated(0, -0.5, -0.25); + ResourceManager.glyphid.renderPart("JawTop"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.5, 0.25); + GL11.glRotated(bite, 0, 1, 0); + GL11.glRotated(bite, 1, 0, 0); + GL11.glTranslated(0, -0.5, -0.25); + ResourceManager.glyphid.renderPart("JawLeft"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.5, 0.25); + GL11.glRotated(-bite, 0, 1, 0); + GL11.glRotated(bite, 1, 0, 0); + GL11.glTranslated(0, -0.5, -0.25); + ResourceManager.glyphid.renderPart("JawRight"); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + + double steppy = 15; + double bend = 60; + + for(int i = 0; i < 3; i++) { + + double c0 = cy0 * (i == 1 ? -1 : 1); + double c1 = cy1 * (i == 1 ? -1 : 1); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.25, 0); + GL11.glRotated(i * 30 - 15 + c0 * 7.5, 0, 1, 0); + GL11.glRotated(steppy + c1 * steppy, 0, 0, 1); + GL11.glTranslated(0, -0.25, 0); + ResourceManager.glyphid.renderPart("LegLeftUpper"); + GL11.glTranslated(0.5625, 0.25, 0); + GL11.glRotated(-bend - c1 * steppy, 0, 0, 1); + GL11.glTranslated(-0.5625, -0.25, 0); + ResourceManager.glyphid.renderPart("LegLeftLower"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.25, 0); + GL11.glRotated(i * 30 - 45 + c0 * 7.5, 0, 1, 0); + GL11.glRotated(-steppy + c1 * steppy, 0, 0, 1); + GL11.glTranslated(0, -0.25, 0); + ResourceManager.glyphid.renderPart("LegRightUpper"); + GL11.glTranslated(-0.5625, 0.25, 0); + GL11.glRotated(bend - c1 * steppy, 0, 0, 1); + GL11.glTranslated(0.5625, -0.25, 0); + ResourceManager.glyphid.renderPart("LegRightLower"); + GL11.glPopMatrix(); + } + + GL11.glPopMatrix(); + } + } +} From ec052ca2b8a3e3f392eb98b11a89bf1e56b8dbe8 Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 15 Jun 2023 22:56:41 +0200 Subject: [PATCH 184/285] enhanced glyphid crumblyness --- .../java/com/hbm/entity/mob/EntityGlyphid.java | 9 ++++----- .../assets/hbm/textures/entity/glyphid.png | Bin 887 -> 2472 bytes 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java index 416b316b7..3fba43067 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java @@ -46,7 +46,7 @@ public class EntityGlyphid extends EntityMob { protected void applyEntityAttributes() { super.applyEntityAttributes(); this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(32D); - this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.8D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1D); } @Override @@ -57,7 +57,7 @@ public class EntityGlyphid extends EntityMob { if(armor != 0) { //if at least one bit of armor is present int chance = amount < 10 ? 5 : amount < 20 ? 3 : 2; //chances of armor being broken off - if(this.rand.nextInt(chance) == 0) { + if(this.rand.nextInt(chance) == 0 && amount > 1) { List indices = Arrays.asList(0, 1, 2, 3, 4); Collections.shuffle(indices); @@ -67,7 +67,8 @@ public class EntityGlyphid extends EntityMob { armor &= ~bit; //...remove it armor = (byte) (armor & 0b11111); this.dataWatcher.updateObject(17, armor); - return false; + amount = 0; + break; } } } @@ -83,8 +84,6 @@ public class EntityGlyphid extends EntityMob { } } - System.out.println("" + divisor); - amount /= divisor; } diff --git a/src/main/resources/assets/hbm/textures/entity/glyphid.png b/src/main/resources/assets/hbm/textures/entity/glyphid.png index dd5d4ec03f7b3891eaa798e0b0887a6143d5dd81..5294c0dc7f1d74e215b63c67abf9ac5a01cc3b99 100644 GIT binary patch delta 2447 zcmV;A32^rJ2B;H|Gk*zRNklq5;#5CZx431p{vJu6b{^SLO~exCCmyr3pq3OcKa9D%lMrksni_Qqu)onvkSX+kYU~zeXN60ahe!p!B1YC+$mF z*&lRJ-^p5CRG1S(&*?+f)YaK=axeV8Vlb(2GpvIRHp3d$Z*K;n3MJ1H#?ZC8NFi4} zt{t)lO-SQTEQdS*fa3V`E9adgTO`?-S@+ZS+&Jv`^Q#uuJJ{JCJC0BqC5?%}^6&uw z79<-YtA9le2Rqy3D0?(*eyo3*Sd5Z~Aq%1_c{wQP6Qq!S96hUZ6f1a)&yV%fYXEQ= zgB3JWLRAbL9Fgo)aBr17#DX;zqG1U=PtCWiKaGT7yaxcD9qk&HEqkS_g4m z*&jr`X3DE_Y0+ZLm?T^JV&~GeyjR_BFW}AaBY(en>Rox5lA0gu550TnMWq-mWfS|E+>o(0wEOvIaT zTz@4p#-_U;7vX+TJp5Nx?yH-$g_>Dp#m*&j@819Qv%KO553 zmPwVA7X12Rqx)9M`aZ>keRk{Qk*i@FX!$Zicmc@|bh; zY76hzpv_0{I2HF11CsRh`w9nw^gAw_I8bu78_v z6Y_Y!hJs3*9K|=m*f%6$yOz=7UI1^X<%$hth}Fcmx

    wSMR69!CtTAsa`@9OnYj!L& z>ewG6k3MuNfhqD3%U2iS>-RJD9)Ek2^1NP!&?GPwAD)*4#z6N&rHPXykw;ZnLvQ2- zp8>$+4Hqx#Xr6EH_2X7jX&Q6w^#|TtKZ;pNU`&Ov5A7Gme@IlhvR@aG@ysDT@BNebw9dGzfVf@TuaN}wA@_9K3`LsXTMC#iA_9)S`WF|V65UVG;| zt%RZky7e-?&5>e1N?ywT0f1kP(Xs)}2Ih?4x_iwV%T+`BE)Up6s`D z9>3;56}BMtonlZ-2-PNDN`JQ^r4n5w6p6=Af^jTf_pje~HV?^o@O;m+gHqsJE-jiq z@^qO9-57vxSNQv3%tUaUcf({(Gpym`?kANzNkzD1rX-LTO!@W4-A~^7=xHsL77JV) zs1ZUpCYAPsu`H>lL1;<}rGPahfm-(DuK)fk`kT|D7t1VE@0O8?EPwy=Z$KQ)F9E<@ zLb80O;fG;$Amy>Fq6>N!Z{;@BAs3b;P?JRM<}O{iQP6T0bzYn>T7Cn#011qRBNrio z=+UWXr|10Z`=3Grd7E=07bJnv-?(52OnM^Ay90#e*|zRpYpoIp5PIPhs03V-Arepfw9mi`n@nqxT!>8dn`bnrvz5xBa+Ypw3fE4A4wod zAPobg3TOW`zj(R~|(1|12aL?Jn`moIcI9yJeLE-gCeqMdg^1tXHEZIjv%)2c7P zScQ3rA{7@8>wh2K7_Qcut)y#HJE%Dyyngv;qiw#OsghU;=VL-zaxS(>bGyQ+FeL`S zS4oXLg!ZWffFIkf4K9n$N1Jc03ST6g3Zo68QitbjgUfD=CVBYB$&+3cTFFZRRg+%x zemai#&jOwb13;j<0KPOzLlO&Cu1-vg*zkWXpq>X~AYq=EW!BVcvAB^@TfYhGKjU~0* z0w^j7)p=gXQeg~Ds7>TVa5d!B8|jG9+BH<{h(OQF+vfq*3j>6xvnq(0Kg zMJj04+JEO_1Eqi$16u%@yjc7vk$2I^&6}+VoCvpb2yWD+kV8`cd7%={D`gCApGEdT zQQ$id{^6mNjYx>aascyF;hzP`8;X61!^u1EtU;xtpZD%PDHLkV1fcWn*IO) delta 849 zcmV-X1Frn26ZZy?Gk*gvNkldalRKx6iHLR4|xtR0ukf}=A-xe2q7QBdGs?x ztbPN(tU$cXnD(`8Iof(tzGuwu7h^JqkPk5G$KY#|BI24M3xBv48p~66(X0kYx5Q7R zRxvCf6&8@l;$xs%x&cJU0@hyk>@a5S6tTD{$!q-yzmOZ4Sb6mvtv_pc3?#Dn7&sSB zTzAo#2wNbL#Vt_v6B6gPZTa{Z-H=r8h#3n2wm>p0AQ2XjNRi-mNM1`Hqm_>u^KyeN zkVt-BcxA8!5`SRw|Q|~ zRmXd6{I^m(0l$6j?hn7*?+VARTj$$fz3f@Vx|1^7T=@H;zS;Qa@2D24j}WDVac3y~ zX8@3Q(^z_TiwR>XB}^Sun^M`p+kHL=2)VJxPkIXqQ9)A{6N;~hQL0nzyJDfFPHB8z4JNky}D5S?1hPB--U^RmqlY@Y8hn;h|)Y--C1w4ooZ{4N=%g2#dHwL<%c#dvfxc{b)4a9a52Jg-?u>^i= zK-^0|`x}54ZR^rb{*kAxs5lmDn_@3*>=`>LF@KiqyKs!UYnw_#R63mJjE$;fuA&Ps zxleKx0xk&)NQ4C>GPx5OIvwAnU)n3q4O<`)v5Q3VJ9V126@YjO6nhC|_TJk#vHzRF zxUz{UGlwmZ$gF{MV|gc5tpVKk6KgBY+!EOWiLih~SU@5yAQ2Xj2n$GL)-YyYFFWl+ z>q>TySw|~_umuuf0g14HM2dZUIs9bRU<-s74l Date: Fri, 16 Jun 2023 13:53:42 +0200 Subject: [PATCH 185/285] brenda is coming --- .../java/com/hbm/entity/EntityMappings.java | 3 + .../com/hbm/entity/mob/EntityGlyphid.java | 89 +++++++++++++----- .../hbm/entity/mob/EntityGlyphidBehemoth.java | 60 ++++++++++++ .../hbm/entity/mob/EntityGlyphidBrawler.java | 60 ++++++++++++ .../hbm/entity/mob/EntityGlyphidBrenda.java | 60 ++++++++++++ src/main/java/com/hbm/main/ClientProxy.java | 3 + .../java/com/hbm/main/ResourceManager.java | 3 + .../hbm/render/entity/mob/RenderGlyphid.java | 9 +- .../assets/hbm/textures/armor/grenade_nan.png | Bin 203 -> 0 bytes .../hbm/textures/entity/glyphid_behemoth.png | Bin 0 -> 2508 bytes .../hbm/textures/entity/glyphid_brawler.png | Bin 0 -> 2474 bytes .../hbm/textures/entity/glyphid_brenda.png | Bin 0 -> 2270 bytes 12 files changed, 259 insertions(+), 28 deletions(-) create mode 100644 src/main/java/com/hbm/entity/mob/EntityGlyphidBehemoth.java create mode 100644 src/main/java/com/hbm/entity/mob/EntityGlyphidBrawler.java create mode 100644 src/main/java/com/hbm/entity/mob/EntityGlyphidBrenda.java delete mode 100644 src/main/resources/assets/hbm/textures/armor/grenade_nan.png create mode 100644 src/main/resources/assets/hbm/textures/entity/glyphid_behemoth.png create mode 100644 src/main/resources/assets/hbm/textures/entity/glyphid_brawler.png create mode 100644 src/main/resources/assets/hbm/textures/entity/glyphid_brenda.png diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index 04499718a..1f39d3317 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -239,6 +239,9 @@ public class EntityMappings { 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); + addMob(EntityGlyphidBrenda.class, "entity_glyphid_brenda", 0x4FC0C0, 0xA0A0A0); addSpawn(EntityCreeperPhosgene.class, 5, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); addSpawn(EntityCreeperVolatile.class, 10, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java index 3fba43067..829b4c97a 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java @@ -4,6 +4,8 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import com.hbm.main.ResourceManager; + import net.minecraft.entity.Entity; import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; @@ -18,6 +20,7 @@ import net.minecraft.entity.ai.EntityAIWatchClosest; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.util.DamageSource; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; public class EntityGlyphid extends EntityMob { @@ -32,7 +35,15 @@ public class EntityGlyphid extends EntityMob { this.tasks.addTask(8, new EntityAILookIdle(this)); this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true)); this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); - this.setSize(2F, 1F); + this.setSize(1.75F, 1F); + } + + public ResourceLocation getSkin() { + return ResourceManager.glyphid_tex; + } + + public double getScale() { + return 1.0D; } @Override @@ -45,8 +56,9 @@ public class EntityGlyphid extends EntityMob { @Override protected void applyEntityAttributes() { super.applyEntityAttributes(); - this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(32D); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(30D); this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(5D); } @Override @@ -56,39 +68,64 @@ public class EntityGlyphid extends EntityMob { byte armor = this.dataWatcher.getWatchableObjectByte(17); if(armor != 0) { //if at least one bit of armor is present - int chance = amount < 10 ? 5 : amount < 20 ? 3 : 2; //chances of armor being broken off + + if(amount < getDamageThreshold()) return false; + + int chance = getArmorBreakChance(amount); //chances of armor being broken off if(this.rand.nextInt(chance) == 0 && amount > 1) { - List indices = Arrays.asList(0, 1, 2, 3, 4); - Collections.shuffle(indices); - - for(Integer i : indices) { - byte bit = (byte) (1 << i); - if((armor & bit) > 0) { //if this bit is present... - armor &= ~bit; //...remove it - armor = (byte) (armor & 0b11111); - this.dataWatcher.updateObject(17, armor); - amount = 0; - break; - } - } + breakOffArmor(); + amount = 0; } - amount -= 0.5; + amount -= getDamageThreshold(); + if(amount < 0) return false; } - int divisor = 1; - - for(int i = 0; i < 5; i++) { - if((armor & (1 << i)) > 0) { - divisor++; - } - } - - amount /= divisor; + amount = this.calculateDamage(amount); } return super.attackEntityFrom(source, amount); } + + public int getArmorBreakChance(float amount) { + return amount < 10 ? 5 : amount < 20 ? 3 : 2; + } + + public float calculateDamage(float amount) { + + byte armor = this.dataWatcher.getWatchableObjectByte(17); + int divisor = 1; + + for(int i = 0; i < 5; i++) { + if((armor & (1 << i)) > 0) { + divisor++; + } + } + + amount /= divisor; + + return amount; + } + + public float getDamageThreshold() { + return 0.5F; + } + + public void breakOffArmor() { + byte armor = this.dataWatcher.getWatchableObjectByte(17); + List indices = Arrays.asList(0, 1, 2, 3, 4); + Collections.shuffle(indices); + + for(Integer i : indices) { + byte bit = (byte) (1 << i); + if((armor & bit) > 0) { + armor &= ~bit; + armor = (byte) (armor & 0b11111); + this.dataWatcher.updateObject(17, armor); + break; + } + } + } @Override public boolean attackEntityAsMob(Entity victum) { diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidBehemoth.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidBehemoth.java new file mode 100644 index 000000000..f4d058ab2 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphidBehemoth.java @@ -0,0 +1,60 @@ +package com.hbm.entity.mob; + +import com.hbm.main.ResourceManager; + +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +public class EntityGlyphidBehemoth extends EntityGlyphid { + + public EntityGlyphidBehemoth(World world) { + super(world); + this.setSize(2.25F, 1.25F); + } + + @Override + public ResourceLocation getSkin() { + return ResourceManager.glyphid_behemoth_tex; + } + + @Override + public double getScale() { + return 1.5D; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(100D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.8D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(25D); + } + + @Override + public int getArmorBreakChance(float amount) { + return amount < 15 ? 10 : amount < 25 ? 5 : amount > 75 ? 1 : 3; + } + + @Override + public float calculateDamage(float amount) { + + byte armor = this.dataWatcher.getWatchableObjectByte(17); + int divisor = 1; + + for(int i = 0; i < 5; i++) { + if((armor & (1 << i)) > 0) { + divisor += 3; + } + } + + amount /= divisor; + + return amount; + } + + @Override + public float getDamageThreshold() { + return 2.5F; + } +} diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidBrawler.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidBrawler.java new file mode 100644 index 000000000..60f18e6ed --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphidBrawler.java @@ -0,0 +1,60 @@ +package com.hbm.entity.mob; + +import com.hbm.main.ResourceManager; + +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +public class EntityGlyphidBrawler extends EntityGlyphid { + + public EntityGlyphidBrawler(World world) { + super(world); + this.setSize(2F, 1.125F); + } + + @Override + public ResourceLocation getSkin() { + return ResourceManager.glyphid_brawler_tex; + } + + @Override + public double getScale() { + return 1.25D; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(50D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(10D); + } + + @Override + public int getArmorBreakChance(float amount) { + return amount < 10 ? 10 : amount < 20 ? 5 : amount > 50 ? 1 : 3; + } + + @Override + public float calculateDamage(float amount) { + + byte armor = this.dataWatcher.getWatchableObjectByte(17); + int divisor = 1; + + for(int i = 0; i < 5; i++) { + if((armor & (1 << i)) > 0) { + divisor += 2; + } + } + + amount /= divisor; + + return amount; + } + + @Override + public float getDamageThreshold() { + return 1.0F; + } +} diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidBrenda.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidBrenda.java new file mode 100644 index 000000000..660d71afd --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphidBrenda.java @@ -0,0 +1,60 @@ +package com.hbm.entity.mob; + +import com.hbm.main.ResourceManager; + +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +public class EntityGlyphidBrenda extends EntityGlyphid { + + public EntityGlyphidBrenda(World world) { + super(world); + this.setSize(2.5F, 2F); + } + + @Override + public ResourceLocation getSkin() { + return ResourceManager.glyphid_brenda_tex; + } + + @Override + public double getScale() { + return 2D; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(250D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.8D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(50D); + } + + @Override + public int getArmorBreakChance(float amount) { + return amount < 25 ? 100 : amount > 500 ? 1 : 10; + } + + @Override + public float calculateDamage(float amount) { + + byte armor = this.dataWatcher.getWatchableObjectByte(17); + int divisor = 1; + + for(int i = 0; i < 5; i++) { + if((armor & (1 << i)) > 0) { + divisor += 5; + } + } + + amount /= divisor; + + return amount; + } + + @Override + public float getDamageThreshold() { + return 10F; + } +} diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index ab05362d0..a9f2b5ca8 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -722,6 +722,9 @@ public class ClientProxy extends ServerProxy { 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()); //"particles" RenderingRegistry.registerEntityRenderingHandler(EntitySmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.smoke1, ModItems.smoke2, ModItems.smoke3, ModItems.smoke4, ModItems.smoke5, ModItems.smoke6, ModItems.smoke7, ModItems.smoke8 })); 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 })); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index f889c98d1..1db20b3a6 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -660,6 +660,9 @@ public class ResourceManager { public static final ResourceLocation spider_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/blockspider.png"); public static final ResourceLocation ufo_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/ufo.png"); public static final ResourceLocation glyphid_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid.png"); + public static final ResourceLocation glyphid_brawler_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_brawler.png"); + public static final ResourceLocation glyphid_behemoth_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_behemoth.png"); + public static final ResourceLocation glyphid_brenda_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_brenda.png"); //ZIRNOX public static final ResourceLocation zirnox_tex = new ResourceLocation(RefStrings.MODID, "textures/models/zirnox.png"); diff --git a/src/main/java/com/hbm/render/entity/mob/RenderGlyphid.java b/src/main/java/com/hbm/render/entity/mob/RenderGlyphid.java index 30915068e..c64649c77 100644 --- a/src/main/java/com/hbm/render/entity/mob/RenderGlyphid.java +++ b/src/main/java/com/hbm/render/entity/mob/RenderGlyphid.java @@ -2,6 +2,7 @@ package com.hbm.render.entity.mob; import org.lwjgl.opengl.GL11; +import com.hbm.entity.mob.EntityGlyphid; import com.hbm.main.ResourceManager; import net.minecraft.client.model.ModelBase; @@ -19,8 +20,9 @@ public class RenderGlyphid extends RenderLiving { } @Override - protected ResourceLocation getEntityTexture(Entity p_110775_1_) { - return ResourceManager.glyphid_tex; + protected ResourceLocation getEntityTexture(Entity entity) { + EntityGlyphid glyphid = (EntityGlyphid) entity; + return glyphid.getSkin(); } public static class ModelGlyphid extends ModelBase { @@ -41,6 +43,9 @@ public class RenderGlyphid extends RenderLiving { GL11.glEnable(GL11.GL_LIGHTING); GL11.glDisable(GL11.GL_CULL_FACE); + double s = ((EntityGlyphid) entity).getScale(); + GL11.glScaled(s, s, s); + EntityLivingBase living = (EntityLivingBase) entity; byte armor = living.getDataWatcher().getWatchableObjectByte(17); //MainRegistry.proxy.displayTooltip("" + limbSwingAmount, 999); diff --git a/src/main/resources/assets/hbm/textures/armor/grenade_nan.png b/src/main/resources/assets/hbm/textures/armor/grenade_nan.png deleted file mode 100644 index b07dad82cb5fca8af25e193e3255f2af16ca356f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf`gu!Qs&#>`VeoYIb6Mw<&;$S)yGOnN diff --git a/src/main/resources/assets/hbm/textures/entity/glyphid_behemoth.png b/src/main/resources/assets/hbm/textures/entity/glyphid_behemoth.png new file mode 100644 index 0000000000000000000000000000000000000000..b59f6e2510b3fb89d1d635fa8acaa6edab768786 GIT binary patch literal 2508 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/entity/glyphid_brenda.png b/src/main/resources/assets/hbm/textures/entity/glyphid_brenda.png new file mode 100644 index 0000000000000000000000000000000000000000..b831b1a1fcd39d9308aa317d05669a96c812f98b GIT binary patch literal 2270 zcmV<42qE{0P)@-)o^U>T2C4@khDbuAz7K9o;)p19<3AFcjrp4Uetc^_<2 z1&}=a*F1eNcfeAF*S!YDzO0=c7>$#DmAJA$g&2dpMk zGNw^sDH2OmnDl|xLvf~gF#DJoW>!xXDp$d|a6UJa$ z`w+;AXY24Rh|7ASNTCWL>{cgBL6(nMJ0I_t#$h3ZQQPbL-ds5LAtz_@MMQ2{KEyMN zzV9dh?0jSOWBGi)1V~=JT{sj=l$DDLXAogMoXsM(U@$peK3%xOB+4L(lfVhdNz|7XzI-Co|{iwINyU;UtxtK zsYzCnE-!wX=^Siuu=tPnwKJv4Lj|PjEy?%%bgaK;=O?r4?-xII(Wz&ANm{9u(J0g+{sgG4im#sK69?iqrGka(VI78{#hoV&|+d z#Z#cwah`zdP+$z$A5;^QWRZs^>|xV&UDb7+h+Mtl;uXzX`SdK2fiYKI*ORw?h_w_L zGhxl!`LAvKr$n8dpUCHT-$X=qO4B@5XDl9^1k&7zl)2`ZvYNiOhyQCSkpHbZim$I< zR1f-o6p@MfvaeG${`LEB(O`N)pvHN1U7N278SKC<72tPybv=LYi#v&>3dC~gw;5=v zOrB-RF-!=w$cU+|q`c>=mMYXD5C3DZVm~A=<^M#8K;3oZcA}*G$GZdPDFw2H@b%x$GrvZAl8;Tw@q4RV4(hs=f3`s? z0{539)8nMrz;d3;R>Ufg?JD-cCYKEDP-%Hffu0h*!L@B$;c*roeKBEp{3db)1;$i% z3qZ_)D|r`z zDE+Q_O=NwUfE#WmlaLIzgNV5O5??>Kn zi`bj+*b1sEp<=0H_so?|l}$5d=0PUpW+6*~9(i0Q)y_>ukR5?VsP4afJL2jWJ2~-8 z81uOfE;1S?K7R9I^u7krbSfUqQCF%A-}_^0!X%ib(((g z?B1@7r#$^JdDg4KT=G&tbJc6k$8wy%1|}vfA~Vw!nX1tu&nl}yHkz>ark^J*m%IS! z)K0=Gy9PEQ^LL{Rk0_BT`M7{EiChQ&73wPVKLsmD4q}sJm0bgq!-UI=pV9ZCXs&1H zC$m-7+UxSfcwYio_fvag%Pe1sR6*wEd?*x|u!bh+6PXA$LnPSyS9te51o~I#O3U{T z0e2M^nfpFog}ra;tc4`?kxnT}0_i2EEh)_6Kn0%R#lE4-CGXh4;CfBW77_My3U=yN z$YGiPp%9F8aLVBQeRdl$RQk??KRmQ{BNk$@oXFu!_@*H1ILpgp@~(5&5IaN_@lUDI zFJirY{bJUUzKFkz@J?xtfqjGPCCDPsBdc`lbsg9zxL$(d16At~;ii!1LE}Piue>Cz z$yOi+xi=*=DS;JS2fJtyvfm3UylvQj0c^6bM5?7`oKzqxF7{QzF-Sy{tY{A$_Nc#4 sAF@o?+p~Jt*MVT%%Q>YE^uHAU0y`?k^ Date: Sat, 17 Jun 2023 18:29:57 +0200 Subject: [PATCH 186/285] glyphid bombardier, train collisions --- .../java/com/hbm/entity/EntityMappings.java | 3 + .../com/hbm/entity/mob/EntityGlyphid.java | 4 +- .../hbm/entity/mob/EntityGlyphidBehemoth.java | 2 +- .../hbm/entity/mob/EntityGlyphidBlaster.java | 80 ++++++++++++++ .../entity/mob/EntityGlyphidBombardier.java | 101 ++++++++++++++++++ .../hbm/entity/mob/EntityGlyphidBrawler.java | 2 +- .../hbm/entity/mob/EntityGlyphidBrenda.java | 23 +++- .../hbm/entity/projectile/EntityAcidBomb.java | 60 +++++++++++ .../hbm/entity/train/EntityRailCarBase.java | 68 ++++++++++-- src/main/java/com/hbm/main/ClientProxy.java | 4 + .../java/com/hbm/main/ResourceManager.java | 2 + src/main/resources/assets/hbm/lang/de_DE.lang | 4 + src/main/resources/assets/hbm/lang/en_US.lang | 4 + .../hbm/textures/entity/glyphid_blaster.png | Bin 0 -> 2428 bytes .../textures/entity/glyphid_bombardier.png | Bin 0 -> 2507 bytes 15 files changed, 346 insertions(+), 11 deletions(-) create mode 100644 src/main/java/com/hbm/entity/mob/EntityGlyphidBlaster.java create mode 100644 src/main/java/com/hbm/entity/mob/EntityGlyphidBombardier.java create mode 100644 src/main/java/com/hbm/entity/projectile/EntityAcidBomb.java create mode 100644 src/main/resources/assets/hbm/textures/entity/glyphid_blaster.png create mode 100644 src/main/resources/assets/hbm/textures/entity/glyphid_bombardier.png diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index 1f39d3317..c50d13566 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -211,6 +211,7 @@ public class EntityMappings { addEntity(EntitySawblade.class, "entity_stray_saw", 1000); addEntity(EntityChemical.class, "entity_chemthrower_splash", 1000); addEntity(EntityMist.class, "entity_mist", 250, false); + addEntity(EntityAcidBomb.class, "entity_acid_bomb", 1000); addEntity(EntityItemWaste.class, "entity_item_waste", 100); addEntity(EntityItemBuoyant.class, "entity_item_buoyant", 100); @@ -242,6 +243,8 @@ public class EntityMappings { addMob(EntityGlyphidBrawler.class, "entity_glyphid_brawler", 0x273038, 0xD2BB72); addMob(EntityGlyphidBehemoth.class, "entity_glyphid_behemoth", 0x267F00, 0xD2BB72); addMob(EntityGlyphidBrenda.class, "entity_glyphid_brenda", 0x4FC0C0, 0xA0A0A0); + addMob(EntityGlyphidBombardier.class, "entity_glyphid_bombardier", 0xDDD919, 0xDBB79D); + addMob(EntityGlyphidBlaster.class, "entity_glyphid_blaster", 0xD83737, 0xDBB79D); addSpawn(EntityCreeperPhosgene.class, 5, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); addSpawn(EntityCreeperVolatile.class, 10, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java index 829b4c97a..92fd49785 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java @@ -78,7 +78,7 @@ public class EntityGlyphid extends EntityMob { } amount -= getDamageThreshold(); - if(amount < 0) return false; + if(amount < 0) return true; } amount = this.calculateDamage(amount); @@ -141,7 +141,7 @@ public class EntityGlyphid extends EntityMob { if(!this.worldObj.isRemote) { this.setBesideClimbableBlock(this.isCollidedHorizontally); - if(worldObj.getTotalWorldTime() % 100 == 0) { + if(worldObj.getTotalWorldTime() % 200 == 0) { this.swingItem(); } } diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidBehemoth.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidBehemoth.java index f4d058ab2..bf3215059 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphidBehemoth.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphidBehemoth.java @@ -33,7 +33,7 @@ public class EntityGlyphidBehemoth extends EntityGlyphid { @Override public int getArmorBreakChance(float amount) { - return amount < 15 ? 10 : amount < 25 ? 5 : amount > 75 ? 1 : 3; + return amount < 20 ? 10 : amount < 100 ? 5 : amount > 200 ? 1 : 3; } @Override diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidBlaster.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidBlaster.java new file mode 100644 index 000000000..5e922ab49 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphidBlaster.java @@ -0,0 +1,80 @@ +package com.hbm.entity.mob; + +import com.hbm.main.ResourceManager; + +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +public class EntityGlyphidBlaster extends EntityGlyphidBombardier { + + public EntityGlyphidBlaster(World world) { + super(world); + this.setSize(2F, 1.125F); + } + + @Override + public ResourceLocation getSkin() { + return ResourceManager.glyphid_blaster_tex; + } + + @Override + public double getScale() { + return 1.25D; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(50D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(10D); + } + + @Override + public int getArmorBreakChance(float amount) { + return amount < 10 ? 10 : amount < 25 ? 5 : amount > 100 ? 1 : 3; + } + + @Override + public float calculateDamage(float amount) { + + byte armor = this.dataWatcher.getWatchableObjectByte(17); + int divisor = 1; + + for(int i = 0; i < 5; i++) { + if((armor & (1 << i)) > 0) { + divisor += 2; + } + } + + amount /= divisor; + + return amount; + } + + @Override + public float getDamageThreshold() { + return 1.0F; + } + + @Override + public float getBombDamage() { + return 10F; + } + + @Override + public int getBombCount() { + return 20; + } + + @Override + public float getSpreadMult() { + return 0.75F; + } + + @Override + public double getV0() { + return 1.25D; + } +} diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidBombardier.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidBombardier.java new file mode 100644 index 000000000..61750f0ee --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphidBombardier.java @@ -0,0 +1,101 @@ +package com.hbm.entity.mob; + +import com.hbm.entity.projectile.EntityAcidBomb; +import com.hbm.main.ResourceManager; + +import net.minecraft.entity.Entity; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class EntityGlyphidBombardier extends EntityGlyphid { + + public EntityGlyphidBombardier(World world) { + super(world); + } + + public ResourceLocation getSkin() { + return ResourceManager.glyphid_bombardier_tex; + } + + protected Entity lastTarget; + protected double lastX; + protected double lastY; + protected double lastZ; + + @Override + public void onUpdate() { + super.onUpdate(); + + if(!this.worldObj.isRemote) { + + Entity e = this.getEntityToAttack(); + + if(this.ticksExisted % 20 == 0 && e != null) { + this.lastTarget = e; + this.lastX = e.posX; + this.lastY = e.posY; + this.lastZ = e.posZ; + } + + if(this.ticksExisted % 20 == 1 && e != null) { + + boolean topAttack = rand.nextBoolean(); + + double velX = e.posX - lastX; + double velY = e.posY - lastY; + double velZ = e.posZ - lastZ; + + if(this.lastTarget != e || Vec3.createVectorHelper(velX, velY, velZ).lengthVector() > 30) { + velX = velY = velZ = 0; + } + + int prediction = topAttack ? 60 : 20; + Vec3 delta = Vec3.createVectorHelper(e.posX - posX + velX * prediction, (e.posY + e.height / 2) - (posY + 1) + velY * prediction, e.posZ - posZ + velZ * prediction); + double len = delta.lengthVector(); + if(len < 3) return; + 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(); + double v02 = v0 * v0; + double g = 0.04D; + double upperLower = topAttack ? 1 : -1; + double targetPitch = Math.atan((v02 + Math.sqrt(v02*v02 - g*(g*x*x + 2*y*v02)) * upperLower) / (g*x)); + + if(!Double.isNaN(targetPitch)) { + + Vec3 fireVec = Vec3.createVectorHelper(v0, 0, 0); + fireVec.rotateAroundZ((float) -targetPitch); + fireVec.rotateAroundY((float) -(targetYaw + Math.PI * 0.5)); + + for(int i = 0; i < getBombCount(); i++) { + EntityAcidBomb bomb = new EntityAcidBomb(worldObj, posX, posY + 1, posZ); + bomb.setThrowableHeading(fireVec.xCoord, fireVec.yCoord, fireVec.zCoord, (float) v0, i * getSpreadMult()); + bomb.damage = getBombDamage(); + worldObj.spawnEntityInWorld(bomb); + } + + this.swingItem(); + } + } + } + } + + public float getBombDamage() { + return 1.5F; + } + + public int getBombCount() { + return 10; + } + + public float getSpreadMult() { + return 1F; + } + + public double getV0() { + return 1D; + } +} diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidBrawler.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidBrawler.java index 60f18e6ed..749230a42 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphidBrawler.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphidBrawler.java @@ -33,7 +33,7 @@ public class EntityGlyphidBrawler extends EntityGlyphid { @Override public int getArmorBreakChance(float amount) { - return amount < 10 ? 10 : amount < 20 ? 5 : amount > 50 ? 1 : 3; + return amount < 10 ? 10 : amount < 25 ? 5 : amount > 100 ? 1 : 3; } @Override diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidBrenda.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidBrenda.java index 660d71afd..309ac38fb 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphidBrenda.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphidBrenda.java @@ -3,6 +3,8 @@ package com.hbm.entity.mob; import com.hbm.main.ResourceManager; import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; @@ -11,6 +13,7 @@ public class EntityGlyphidBrenda extends EntityGlyphid { public EntityGlyphidBrenda(World world) { super(world); this.setSize(2.5F, 2F); + this.isImmuneToFire = true; } @Override @@ -33,7 +36,7 @@ public class EntityGlyphidBrenda extends EntityGlyphid { @Override public int getArmorBreakChance(float amount) { - return amount < 25 ? 100 : amount > 500 ? 1 : 10; + return amount < 25 ? 100 : amount > 1000 ? 1 : 10; } @Override @@ -57,4 +60,22 @@ public class EntityGlyphidBrenda extends EntityGlyphid { public float getDamageThreshold() { return 10F; } + + @Override + public void setDead() { + if(!this.worldObj.isRemote && this.getHealth() <= 0.0F) { + for(int i = 0; i < 12; ++i) { + EntityGlyphid glyphid = new EntityGlyphid(worldObj); + glyphid.setLocationAndAngles(this.posX, this.posY + 0.5D, this.posZ, rand.nextFloat() * 360.0F, 0.0F); + glyphid.addPotionEffect(new PotionEffect(Potion.resistance.id, 5 * 60 * 20, 2)); + glyphid.addPotionEffect(new PotionEffect(Potion.fireResistance.id, 5 * 60 * 20, 0)); + glyphid.addPotionEffect(new PotionEffect(Potion.damageBoost.id, 5 * 60 * 20, 4)); + glyphid.addPotionEffect(new PotionEffect(Potion.field_76444_x.id, 5 * 60 * 20, 19)); + this.worldObj.spawnEntityInWorld(glyphid); + glyphid.moveEntity(rand.nextGaussian(), 0, rand.nextGaussian()); + } + } + + super.setDead(); + } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityAcidBomb.java b/src/main/java/com/hbm/entity/projectile/EntityAcidBomb.java new file mode 100644 index 000000000..8a688df2d --- /dev/null +++ b/src/main/java/com/hbm/entity/projectile/EntityAcidBomb.java @@ -0,0 +1,60 @@ +package com.hbm.entity.projectile; + +import com.hbm.entity.mob.EntityGlyphid; +import com.hbm.lib.ModDamageSource; + +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.world.World; + +public class EntityAcidBomb extends EntityThrowableInterp { + + public float damage = 1.5F; + + public EntityAcidBomb(World world) { + super(world); + } + + public EntityAcidBomb(World world, double x, double y, double z) { + super(world, x, y, z); + } + + @Override + protected void onImpact(MovingObjectPosition mop) { + + if(worldObj.isRemote) return; + + if(mop.typeOfHit == mop.typeOfHit.ENTITY) { + + if(!(mop.entityHit instanceof EntityGlyphid)) { + mop.entityHit.attackEntityFrom(ModDamageSource.acid, damage); + this.setDead(); + } + } + + if(mop.typeOfHit == mop.typeOfHit.BLOCK) + this.setDead(); + } + + @Override + public double getGravityVelocity() { + return 0.04D; + } + + @Override + protected float getAirDrag() { + return 1.0F; + } + + @Override + public void writeEntityToNBT(NBTTagCompound nbt) { + super.writeEntityToNBT(nbt); + nbt.setFloat("damage", damage); + } + + @Override + public void readEntityFromNBT(NBTTagCompound nbt) { + super.readEntityFromNBT(nbt); + this.damage = nbt.getFloat("damage"); + } +} diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index afd7b25ab..37f77f79f 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -132,7 +132,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { data.setString("type", "debug"); data.setInteger("color", 0x0000ff); data.setFloat("scale", 1.5F); - data.setString("text", id); + data.setString("text", id + " (#" + train.ltuIndex + ")"); PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, train.posX, train.posY + 1, train.posZ), new TargetPoint(this.dimension, train.posX, train.posY + 1, train.posZ, 50)); } } @@ -180,9 +180,6 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } } else { - - PacketDispatcher.wrapper.sendToAllAround(new PlayerInformPacket(ChatBuilder.start("" + this.rotationPitch).color(EnumChatFormatting.RED).flush(), 1), - new TargetPoint(dimension, posX, posY + 1, posZ, 50)); if(this.coupledFront != null && this.coupledFront.isDead) { this.coupledFront = null; @@ -319,7 +316,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { for(LogicalTrainUnit ltu : ltus) { - double speed = ltu.getTotalSpeed(); + double speed = ltu.getTotalSpeed() + ltu.pushForce; if(Math.abs(speed) < 0.001) speed = 0; @@ -346,6 +343,10 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } else { ltu.setRenderPos(train, frontPos, backPos); } + + //ltu.pushForce *= 0.95; + ltu.pushForce = 0; + ltu.collideTrain(speed); continue; } @@ -355,6 +356,12 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } else { ltu.moveTrainByApproach(speed); } + + if(ltu.trains.length != 1) { + //ltu.pushForce *= 0.95; + ltu.pushForce = 0; + ltu.collideTrain(speed); + } } } @@ -540,6 +547,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { public static class LogicalTrainUnit { + protected double pushForce; protected EntityRailCarBase trains[]; /** Assumes that the train is an endpoint, i.e. that only one coupling is in use */ @@ -742,7 +750,6 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { /** Determines the "front" wagon based on the movement and moves it, then moves all other wagons towards that */ public void moveTrainByApproach(double speed) { boolean forward = speed < 0; - double origSpeed = speed; speed = Math.abs(speed); EntityRailCarBase previous = null; @@ -798,6 +805,55 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { current.motionY = current.rotationPitch / 360D; current.velocityChanged = true; } + + public void collideTrain(double speed) { + EntityRailCarBase collidingTrain = speed > 0 ? trains[0] : trains[trains.length - 1]; + List intersect = collidingTrain.worldObj.getEntitiesWithinAABB(EntityRailCarBase.class, collidingTrain.boundingBox.expand(1, 1, 1)); + EntityRailCarBase collidesWith = null; + + for(EntityRailCarBase train : intersect) { + if(train.ltu != null && train.ltu != this) { + collidesWith = train; + break; + } + } + + if(collidesWith == null) return; + + Vec3 delta = Vec3.createVectorHelper(collidingTrain.posX - collidesWith.posX, 0, collidingTrain.posZ - collidesWith.posZ); + double totalSpan = collidingTrain.getCollisionSpan() + collidesWith.getCollisionSpan(); + double diff = delta.lengthVector(); + if(diff > totalSpan) return; + double push = (totalSpan - diff); + + //PacketDispatcher.wrapper.sendToAllAround(new PlayerInformPacket(ChatBuilder.start("" + collidesWith.ltuIndex + " " + collidingTrain.ltuIndex).color(EnumChatFormatting.RED).flush(), 1), + // new TargetPoint(collidingTrain.dimension, collidingTrain.posX, collidingTrain.posY + 1, collidingTrain.posZ, 50)); + + EntityRailCarBase[][] whatever = new EntityRailCarBase[][] {{collidingTrain, collidesWith}, {collidesWith, collidingTrain}}; + for(EntityRailCarBase[] array : whatever) { + LogicalTrainUnit ltu = array[0].ltu; + if(ltu.trains.length == 1) { + Vec3 rot = Vec3.createVectorHelper(0, 0, array[0].getCollisionSpan()); + rot.rotateAroundX((float) (array[0].rotationPitch * Math.PI / 180D)); + rot.rotateAroundY((float) (-array[0].rotationYaw * Math.PI / 180)); + Vec3 forward = Vec3.createVectorHelper(array[1].posX - (array[0].posX + rot.xCoord), 0, array[1].posZ - (array[0].posZ + rot.zCoord)); + Vec3 backward = Vec3.createVectorHelper(array[1].posX - (array[0].posX - rot.xCoord), 0, array[1].posZ - (array[0].posZ - rot.zCoord)); + + if(forward.lengthVector() > backward.lengthVector()) { + ltu.pushForce += push; + } else { + ltu.pushForce -= push; + } + } else { + + if(array[0].ltuIndex < ltu.trains.length / 2) { + ltu.pushForce -= push; + } else { + ltu.pushForce += push; + } + } + } + } } @Override diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index a9f2b5ca8..f171c9f71 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -19,6 +19,7 @@ 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.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -587,6 +588,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntitySawblade.class, new RenderSawblade()); RenderingRegistry.registerEntityRenderingHandler(EntityChemical.class, new RenderChemical()); RenderingRegistry.registerEntityRenderingHandler(EntityMist.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)); @@ -725,6 +727,8 @@ public class ClientProxy extends ServerProxy { 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()); //"particles" RenderingRegistry.registerEntityRenderingHandler(EntitySmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.smoke1, ModItems.smoke2, ModItems.smoke3, ModItems.smoke4, ModItems.smoke5, ModItems.smoke6, ModItems.smoke7, ModItems.smoke8 })); 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 })); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 1db20b3a6..9f3b71fdb 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -663,6 +663,8 @@ public class ResourceManager { public static final ResourceLocation glyphid_brawler_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_brawler.png"); public static final ResourceLocation glyphid_behemoth_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_behemoth.png"); public static final ResourceLocation glyphid_brenda_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_brenda.png"); + public static final ResourceLocation glyphid_bombardier_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_bombardier.png"); + public static final ResourceLocation glyphid_blaster_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_blaster.png"); //ZIRNOX public static final ResourceLocation zirnox_tex = new ResourceLocation(RefStrings.MODID, "textures/models/zirnox.png"); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index a92874167..6ea95cce7 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -505,6 +505,10 @@ digamma.title=DIGAMMA-DIAGNOSEGERÄT entity.entity_cyber_crab.name=Cyber-Krabbe entity.entity_elder_one.name=Quackos der Älteste entity.entity_fucc_a_ducc.name=Ente +entity.entity_glyphid.name=Glyphid +entity.entity_glyphid_behemoth.name=Glyphid-Behemoth +entity.entity_glyphid_brawler.name=Glyphid-Schläger +entity.entity_glyphid_brenda.name=Brenda entity.entity_ntm_fbi.name=FBI Agent entity.entity_ntm_radiation_blaze.name=Kernschmelze-Elementar entity.hbm.entity_ntm_ufo.name=Marsianisches Invasionsschiff diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index a7feb2556..cec6b2cbc 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -951,6 +951,10 @@ digamma.title=DIGAMMA DIAGNOSTIC entity.entity_cyber_crab.name=Cyber Crab entity.entity_elder_one.name=Quackos The Elder One entity.entity_fucc_a_ducc.name=Duck +entity.entity_glyphid.name=Glyphid +entity.entity_glyphid_behemoth.name=Glyphid Behemoth +entity.entity_glyphid_brawler.name=Glyphid Brawler +entity.entity_glyphid_brenda.name=Brenda entity.entity_ntm_fbi.name=FBI Agent entity.entity_ntm_radiation_blaze.name=Meltdown Elemental entity.hbm.entity_ntm_ufo.name=Martian Invasion Ship diff --git a/src/main/resources/assets/hbm/textures/entity/glyphid_blaster.png b/src/main/resources/assets/hbm/textures/entity/glyphid_blaster.png new file mode 100644 index 0000000000000000000000000000000000000000..f99440f7b127789cd9a8ba4341b7f2291880616a GIT binary patch literal 2428 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 Date: Sat, 17 Jun 2023 22:55:05 +0200 Subject: [PATCH 187/285] glyphid hives --- src/main/java/com/hbm/blocks/ModBlocks.java | 8 +- .../blocks/generic/BlockGlyphidSpawner.java | 49 +++++++ .../java/com/hbm/entity/EntityMappings.java | 1 + .../com/hbm/entity/mob/EntityGlyphid.java | 13 ++ .../hbm/entity/mob/EntityGlyphidBrenda.java | 2 +- .../hbm/entity/mob/EntityGlyphidScout.java | 102 ++++++++++++++ src/main/java/com/hbm/lib/HbmWorldGen.java | 8 ++ src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ResourceManager.java | 1 + .../java/com/hbm/tileentity/TileMappings.java | 2 + .../com/hbm/world/feature/GlyphidHive.java | 128 ++++++++++++++++++ .../hbm/textures/blocks/glyphid_base.png | Bin 0 -> 583 bytes .../hbm/textures/blocks/glyphid_base_2.png | Bin 0 -> 560 bytes .../hbm/textures/entity/glyphid_scout.png | Bin 0 -> 2378 bytes 14 files changed, 313 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java create mode 100644 src/main/java/com/hbm/entity/mob/EntityGlyphidScout.java create mode 100644 src/main/java/com/hbm/world/feature/GlyphidHive.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/glyphid_base.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/glyphid_base_2.png create mode 100644 src/main/resources/assets/hbm/textures/entity/glyphid_scout.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 1a9438c41..e745ad561 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -495,11 +495,13 @@ public class ModBlocks { 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; @@ -1695,6 +1697,8 @@ public class ModBlocks { 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 BlockBase(Material.coral).setBlockName("glyphid_base").setStepSound(Block.soundTypeCloth).setHardness(0.5F); + glyphid_spawner = new BlockGlyphidSpawner(Material.coral).setBlockName("glyphid_spawner").setStepSound(Block.soundTypeCloth).setHardness(0.5F).setBlockTextureName(RefStrings.MODID + ":glyphid_base"); 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); @@ -2836,6 +2840,8 @@ public class ModBlocks { GameRegistry.registerBlock(mush, mush.getUnlocalizedName()); GameRegistry.registerBlock(mush_block, mush_block.getUnlocalizedName()); GameRegistry.registerBlock(mush_block_stem, mush_block_stem.getUnlocalizedName()); + GameRegistry.registerBlock(glyphid_base, glyphid_base.getUnlocalizedName()); + GameRegistry.registerBlock(glyphid_spawner, glyphid_spawner.getUnlocalizedName()); GameRegistry.registerBlock(moon_turf, moon_turf.getUnlocalizedName()); //Waste diff --git a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java new file mode 100644 index 000000000..155b256fc --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java @@ -0,0 +1,49 @@ +package com.hbm.blocks.generic; + +import java.util.List; + +import com.hbm.entity.mob.EntityGlyphid; +import com.hbm.entity.mob.EntityGlyphidScout; + +import net.minecraft.block.BlockContainer; +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.EnumDifficulty; +import net.minecraft.world.World; + +public class BlockGlyphidSpawner extends BlockContainer { + + public BlockGlyphidSpawner(Material p_i45386_1_) { + super(p_i45386_1_); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityGlpyhidSpawner(); + } + + public static class TileEntityGlpyhidSpawner extends TileEntity { + + @Override + public void updateEntity() { + + if(!worldObj.isRemote && worldObj.getTotalWorldTime() % 60 == 0 && this.worldObj.difficultySetting != EnumDifficulty.PEACEFUL) { + + List list = worldObj.getEntitiesWithinAABB(EntityGlyphid.class, AxisAlignedBB.getBoundingBox(xCoord - 4, yCoord + 1, zCoord - 4, xCoord + 5, yCoord + 4, zCoord + 5)); + + if(list.size() < 3) { + EntityGlyphid glyphid = new EntityGlyphid(worldObj); + glyphid.setLocationAndAngles(xCoord + 0.5, yCoord + 1, zCoord + 0.5, worldObj.rand.nextFloat() * 360.0F, 0.0F); + this.worldObj.spawnEntityInWorld(glyphid); + } + + if(worldObj.rand.nextInt(20) == 0) { + EntityGlyphidScout scout = new EntityGlyphidScout(worldObj); + scout.setLocationAndAngles(xCoord + 0.5, yCoord + 1, zCoord + 0.5, worldObj.rand.nextFloat() * 360.0F, 0.0F); + this.worldObj.spawnEntityInWorld(scout); + } + } + } + } +} diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index c50d13566..d231fa8b6 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -245,6 +245,7 @@ public class EntityMappings { addMob(EntityGlyphidBrenda.class, "entity_glyphid_brenda", 0x4FC0C0, 0xA0A0A0); addMob(EntityGlyphidBombardier.class, "entity_glyphid_bombardier", 0xDDD919, 0xDBB79D); addMob(EntityGlyphidBlaster.class, "entity_glyphid_blaster", 0xD83737, 0xDBB79D); + addMob(EntityGlyphidScout.class, "entity_glyphid_scout", 0x273038, 0xB9E36B); addSpawn(EntityCreeperPhosgene.class, 5, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); addSpawn(EntityCreeperVolatile.class, 10, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java index 92fd49785..230fd56c2 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java @@ -19,6 +19,7 @@ import net.minecraft.entity.ai.EntityAIWander; import net.minecraft.entity.ai.EntityAIWatchClosest; import net.minecraft.entity.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.DamageSource; import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; @@ -197,4 +198,16 @@ public class EntityGlyphid extends EntityMob { public EnumCreatureAttribute getCreatureAttribute() { return EnumCreatureAttribute.ARTHROPOD; } + + @Override + public void writeEntityToNBT(NBTTagCompound nbt) { + super.writeEntityToNBT(nbt); + nbt.setByte("armor", this.dataWatcher.getWatchableObjectByte(17)); + } + + @Override + public void readEntityFromNBT(NBTTagCompound nbt) { + super.readEntityFromNBT(nbt); + this.dataWatcher.updateObject(17, nbt.getByte("armor")); + } } diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidBrenda.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidBrenda.java index 309ac38fb..bdce3e7bc 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphidBrenda.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphidBrenda.java @@ -12,7 +12,7 @@ public class EntityGlyphidBrenda extends EntityGlyphid { public EntityGlyphidBrenda(World world) { super(world); - this.setSize(2.5F, 2F); + this.setSize(2.5F, 1.75F); this.isImmuneToFire = true; } diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidScout.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidScout.java new file mode 100644 index 000000000..ae20a35a8 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphidScout.java @@ -0,0 +1,102 @@ +package com.hbm.entity.mob; + +import com.hbm.blocks.ModBlocks; +import com.hbm.main.ResourceManager; +import com.hbm.world.feature.GlyphidHive; + +import net.minecraft.block.Block; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class EntityGlyphidScout extends EntityGlyphid { + + public boolean hasHome = false; + public double homeX; + public double homeY; + public double homeZ; + + public EntityGlyphidScout(World world) { + super(world); + this.setSize(1.25F, 0.75F); + } + + @Override + public float getDamageThreshold() { + return 0.0F; + } + + @Override + public ResourceLocation getSkin() { + return ResourceManager.glyphid_scout_tex; + } + + @Override + public double getScale() { + return 0.75D; + } + + @Override + public int getArmorBreakChance(float amount) { + return 1; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(16D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1.5D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(2D); + } + + @Override + protected boolean canDespawn() { + return true; + } + + @Override + public void onUpdate() { + super.onUpdate(); + + if(!worldObj.isRemote) { + + if(!this.hasHome) { + this.homeX = posX; + this.homeY = posY; + this.homeZ = posZ; + this.hasHome = true; + } + + if(this.ticksExisted > 0 && this.ticksExisted % 1200 == 0 && Vec3.createVectorHelper(posX - homeX, posY - homeY, posZ - homeZ).lengthVector() > 16) { + + Block b = worldObj.getBlock((int) Math.floor(posX), (int) Math.floor(posY - 1), (int) Math.floor(posZ)); + + if(b.isNormalCube() && b != ModBlocks.glyphid_base) { + this.setDead(); + worldObj.newExplosion(this, posX, posY, posZ, 5F, false, false); + GlyphidHive.generate(worldObj, (int) Math.floor(posX), (int) Math.floor(posY), (int) Math.floor(posZ), rand); + } + } + } + } + + @Override + public void writeEntityToNBT(NBTTagCompound nbt) { + super.writeEntityToNBT(nbt); + nbt.setBoolean("hasHome", hasHome); + nbt.setDouble("homeX", homeX); + nbt.setDouble("homeY", homeY); + nbt.setDouble("homeZ", homeZ); + } + + @Override + public void readEntityFromNBT(NBTTagCompound nbt) { + super.readEntityFromNBT(nbt); + this.hasHome = nbt.getBoolean("hasHome"); + this.homeX = nbt.getDouble("homeX"); + this.homeY = nbt.getDouble("homeY"); + this.homeZ = nbt.getDouble("homeZ"); + } +} diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index 2d1bd69c5..04c41da43 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -34,6 +34,7 @@ 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; @@ -216,6 +217,13 @@ public class HbmWorldGen implements IWorldGenerator { } if(GeneralConfig.enableDungeons && world.provider.isSurfaceWorld()) { + + if(rand.nextInt(1000) == 0) { + int x = i + rand.nextInt(16) + 8; + int z = j + rand.nextInt(16) + 8; + int y = world.getHeightValue(x, z); + GlyphidHive.generate(world, x, y, z, rand); + } if(biome == BiomeGenBase.plains || biome == BiomeGenBase.desert) { if(WorldConfig.radioStructure > 0 && rand.nextInt(WorldConfig.radioStructure) == 0) { diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index f171c9f71..8f491ea8d 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -729,6 +729,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBrenda.class, new RenderGlyphid()); RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBombardier.class, new RenderGlyphid()); RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBlaster.class, new RenderGlyphid()); + RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidScout.class, new RenderGlyphid()); //"particles" RenderingRegistry.registerEntityRenderingHandler(EntitySmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.smoke1, ModItems.smoke2, ModItems.smoke3, ModItems.smoke4, ModItems.smoke5, ModItems.smoke6, ModItems.smoke7, ModItems.smoke8 })); 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 })); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 9f3b71fdb..1f9716a94 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -665,6 +665,7 @@ public class ResourceManager { public static final ResourceLocation glyphid_brenda_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_brenda.png"); public static final ResourceLocation glyphid_bombardier_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_bombardier.png"); public static final ResourceLocation glyphid_blaster_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_blaster.png"); + public static final ResourceLocation glyphid_scout_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_scout.png"); //ZIRNOX public static final ResourceLocation zirnox_tex = new ResourceLocation(RefStrings.MODID, "textures/models/zirnox.png"); diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index f7098e052..e9ba74599 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -9,6 +9,7 @@ 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.BlockGlyphidSpawner.TileEntityGlpyhidSpawner; import com.hbm.blocks.generic.BlockLoot.TileEntityLoot; import com.hbm.blocks.generic.BlockMotherOfAllOres.TileEntityRandomOre; import com.hbm.blocks.generic.BlockSnowglobe.TileEntitySnowglobe; @@ -193,6 +194,7 @@ public class TileMappings { put(TileEntityPipeGauge.class, "tileentity_pipe_gauge"); put(TileEntityMachineBAT9000.class, "tileentity_bat9000"); put(TileEntityMachineOrbus.class, "tileentity_orbus"); + put(TileEntityGlpyhidSpawner.class, "tileentity_glyphid_spawner"); put(TileEntityLoot.class, "tileentity_ntm_loot"); put(TileEntityBobble.class, "tileentity_ntm_bobblehead"); diff --git a/src/main/java/com/hbm/world/feature/GlyphidHive.java b/src/main/java/com/hbm/world/feature/GlyphidHive.java new file mode 100644 index 000000000..5c60e3ff2 --- /dev/null +++ b/src/main/java/com/hbm/world/feature/GlyphidHive.java @@ -0,0 +1,128 @@ +package com.hbm.world.feature; + +import java.util.Random; + +import com.hbm.blocks.ModBlocks; + +import net.minecraft.init.Blocks; +import net.minecraft.world.World; + +public class GlyphidHive { + + public static final int[][][] schematic = new int[][][] { + { + {0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,1,1,1,0,0,0,0}, + {0,0,0,1,1,1,1,1,0,0,0}, + {0,0,0,1,1,1,1,1,0,0,0}, + {0,0,0,1,1,1,1,1,0,0,0}, + {0,0,0,0,1,1,1,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0}, + }, + { + {0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,1,1,1,0,0,0,0}, + {0,0,0,1,1,9,1,1,0,0,0}, + {0,0,1,1,9,9,9,1,1,0,0}, + {0,0,1,9,9,9,9,9,1,0,0}, + {0,0,1,1,9,9,9,1,1,0,0}, + {0,0,0,1,1,9,1,1,0,0,0}, + {0,0,0,0,1,1,1,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0}, + }, + { + {0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,4,4,4,0,0,0,0}, + {0,0,0,1,1,9,1,1,0,0,0}, + {0,0,1,1,9,9,9,1,1,0,0}, + {0,3,1,9,9,9,9,9,1,5,0}, + {0,3,9,9,9,9,9,9,9,5,0}, + {0,3,1,9,9,9,9,9,1,5,0}, + {0,0,1,1,9,9,9,1,1,0,0}, + {0,0,0,1,1,9,1,1,0,0,0}, + {0,0,0,0,2,2,2,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0}, + }, + { + {0,0,0,0,0,4,0,0,0,0,0}, + {0,0,0,0,4,4,4,0,0,0,0}, + {0,0,0,1,4,9,4,1,0,0,0}, + {0,0,1,1,9,9,9,1,1,0,0}, + {0,3,3,9,9,9,9,9,5,5,0}, + {3,3,9,9,9,9,9,9,9,5,5}, + {0,3,3,9,9,9,9,9,5,5,0}, + {0,0,1,1,9,9,9,1,1,0,0}, + {0,0,0,1,2,9,2,1,0,0,0}, + {0,0,0,0,2,2,2,0,0,0,0}, + {0,0,0,0,0,2,0,0,0,0,0}, + }, + { + {0,0,0,0,4,4,4,0,0,0,0}, + {0,0,0,1,4,4,4,1,0,0,0}, + {0,0,1,1,4,9,4,1,1,0,0}, + {0,1,1,1,9,9,0,1,1,1,0}, + {3,3,3,9,9,9,9,9,5,5,5}, + {3,3,9,9,9,9,9,9,9,5,5}, + {3,3,3,9,9,9,9,9,5,5,5}, + {0,1,1,1,9,9,9,1,1,1,0}, + {0,0,1,1,2,9,2,1,1,0,0}, + {0,0,0,1,2,2,2,1,0,0,0}, + {0,0,0,0,2,2,2,0,0,0,0}, + }, + { + {0,0,0,0,1,1,1,0,0,0,0}, + {0,0,0,1,1,1,1,1,0,0,0}, + {0,0,1,1,1,1,1,1,1,0,0}, + {0,1,1,1,1,1,1,1,1,1,0}, + {1,1,1,1,1,1,1,1,1,1,1}, + {1,1,1,1,1,1,1,1,1,1,1}, + {1,1,1,1,1,1,1,1,1,1,1}, + {0,1,1,1,1,1,1,1,1,1,0}, + {0,0,1,1,1,1,1,1,1,0,0}, + {0,0,0,1,1,1,1,1,0,0,0}, + {0,0,0,0,1,1,1,0,0,0,0}, + }, + { + {0,0,0,0,0,0,0,0,0,0,0}, + {0,0,0,0,1,1,1,0,0,0,0}, + {0,0,0,1,1,1,1,1,0,0,0}, + {0,0,1,1,1,1,1,1,1,0,0}, + {0,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,0}, + {0,1,1,1,1,1,1,1,1,1,0}, + {0,0,1,1,1,1,1,1,1,0,0}, + {0,0,0,1,1,1,1,1,0,0,0}, + {0,0,0,0,1,1,1,0,0,0,0}, + {0,0,0,0,0,0,0,0,0,0,0}, + } + }; + + public static void generate(World world, int x, int y, int z, Random rand) { + + int orientation = rand.nextInt(4) + 2; + + for(int i = 0; i < 11; i++) { + for(int j = 0; j < 7; j++) { + for(int k = 0; k < 11; k++) { + + int block = schematic[6 - j][i][k]; + + if(block == 1 || (block != orientation && block > 1 && block < 6)) { + world.setBlock(x + i - 5, y + j - 2, z + k - 5, ModBlocks.glyphid_base); + } + if(block == 9) { + world.setBlock(x + i - 5, y + j - 2, z + k - 5, Blocks.air); + } + } + } + } + + world.setBlock(x, y - 1, z, ModBlocks.glyphid_spawner); + } +} diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid_base.png b/src/main/resources/assets/hbm/textures/blocks/glyphid_base.png new file mode 100644 index 0000000000000000000000000000000000000000..ef6bca81580e47f00c436f188a0b9dbab716210a GIT binary patch literal 583 zcmV-N0=WH&P)aR~LkcU!Mh96&7%JL>v|F3ZWzlNp|L6Z__U!YAkADHm@_^%X%{h{N z9&c^|5W*)-a|ZJ{R=lK;V}ekUsEpP~_5ofM`#l$TIs+h0bA<4*;w5RC-kAgHW206>@Bh9$sFV zPOC7gJ8-8n(jN~9)>L6cAp0aLqig_!Py(>IzpKG7ul`GzH0C7EoMFR~sO)64PqD&N zYtx|ya-1%9zT1!_U_LinsF}4^htqY}ch>uD z^+~(B`T2{pEX5YJ=JWF&FMm3;+xAIu5K6qBLs68pjz literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/glyphid_base_2.png b/src/main/resources/assets/hbm/textures/blocks/glyphid_base_2.png new file mode 100644 index 0000000000000000000000000000000000000000..541a53c5f56156aede4138dd7d332424794fa7f9 GIT binary patch literal 560 zcmV-00?+-4P)r7UJMf+)l?Omx>Fj}sc&pbu~ZZtET9o(Dj%OG}a{B-o{F_bJPVN3=m71wfF9 zr>%E5W(RcF!QQ6?yHxJkT@!%0=aI)rNsz}0K@`eEmSIXIA3iRyUp8{z9*)okeeyUd z6$|h>4gkCNkf3Omd12o*FrlN1$mtC`(?v1JJ8lU z(p*I=VWcqdk?N1lhEw(j!|VdkHg%eR zPc)j%8d!H7TJJiX@`A>7B~Z@&di5-A=&o}E7V{89A&T8KrKh>)v8`r*3bGB+f*=)O y%P>*w;fNp#v41j&6h31uLKwO=)!NcpNZt-nVV77+#1llKOG&{KPD5HPekP8>|8e2 z*BW(Nc5-$uk2hWvUVBV$75iEDUx_vF$eYgQBGM*6%dNT?#-m|Q^Tr%`ewx-g1h=yU zBNb5skvyHq=K5M)u9(i|4e~G@8(*)feGvM9Es2`W<}w})wI)>yW5k-Tu#o;-8Jwv6;T5DhE}m9p1(&Pn}AddQX271 zG|f_`b}UB~ajY&X%*0?CAF`*ex`rg&< z$J${@6_SPzoj1Z16mL$S)jN)5i!2+{cRiNp`eAQQpH({E+ruN--JY1zXlYCcss8AS zWkW2rn9k<%_VB2_dOMoeKUBYnFNWl)%cAH?UJeR;f(Yy8dgYBG)<0B_c@e2k45`4A zlByy<43zAcbDw(>T1oYVJR=+HpECX;5~BW|h&1eISGOb=4I7BSUC}bG5BqLz;qvY*}qi1~V!rdVZo-{R%L zlZwxwx#!YY|4?4lFC;M*k=A0E7_ZE0V~rK^EH>BIni8nUwMVi3u{`>kxvJ+$p4HDg zw&jwCPI_{@j%}i*b9XJqo6~0%JG6{cdzu2PZP!!KbT*HlM7RSkwhvf#(Q=!xj6DL& z-df{$_weqUGFB3S)+DKsVDS9)_tm3^TdiQJ5``~qG@SM5;Z|*I zpTGXT^(2+>>1NWYI}&@yO465$k7har13u8>A)n8rxsu0Gn-CVM z_w00NzBg~Jw(_4pUDV`py@vuN&Mpaqmb&GWcAULWgTc`=n9;7w!E4t6?Y;6?ER z;stlD50QuSMG1_Nr?|0tTfSU;bk{hrp0X9Sup}_%AAT(f3<2kZ(!?ZL_C7@&Wo z??*VS4R5Elzx$P|p^rXUD z+*Yw)U^ojyUrZQ=-$M853oQu@N!fKspzhLm8p5>o<-OwCB#_JaO;{@WlE4tIT>@k8 zAlmN^{&w41JKK12zv{~dT41|q`G4%j^oi(8B@T7-qB+l4wghe!`z=SBu?*rANiUV~ ztcXOVyg$%T5l4abAdjSVkwB6B|F`vtq%RZjz|CZ`WHOd1ft5&YUJCi|BLOWBl~p2@ zmCi+!Kt6D*M2SdU9x~KceIGWk5~)hc7a|3ghsu&~6hV|gbOWpiZEpBS`}BeRCJ_~v zmqr=3yUH{kL@tsg&8Dl1_uOy{CjVI)SRsgfRfylCvl zu8N4ro#9<`^YQwpMuo2vwF;{ZLaEdAo#EZOjVF2fWAdz5g{kDlplXSEuE%y<-v=5h zEFvw{6=_PNMV{4GoorNL&)wmNmP%d;>DZ~lYTE})6=qUI#3V{Yf@S`fNh1E4do5(~k ziAIHQjU@JwPA*~&vsb`^7mhkh&;xzYHBuQY1 ztm`_r#&+R7k!s)AnM3_~tWv^Gxk!hAsue_7_J-jh_9seIgn?7P0?ZhWS_&xliOqo>TgV`gK-el(^7W3EzrDS`KsU<&)RX w1CE!Z!rqzH%YO}&MmiRG_WGyvE9t8E7wWzFSXyJMiU0rr07*qoM6N<$g6IsD%>V!Z literal 0 HcmV?d00001 From 0a8ec4a38946741a5c9d4c23eda57ef1b3fc2afc Mon Sep 17 00:00:00 2001 From: Vaern Date: Sat, 17 Jun 2023 18:24:29 -0700 Subject: [PATCH 188/285] reworked book lore's clientside --- .../com/hbm/inventory/gui/GUIBookLore.java | 388 +++++------------- src/main/java/com/hbm/items/ModItems.java | 2 +- .../com/hbm/items/special/ItemBookLore.java | 93 +++-- src/main/resources/assets/hbm/lang/en_US.lang | 64 +-- .../hbm/textures/gui/book/book_lore.png | Bin 0 -> 21362 bytes .../assets/hbm/textures/items/book_cover.png | Bin 0 -> 244 bytes .../assets/hbm/textures/items/book_pages.png | Bin 0 -> 211 bytes .../assets/hbm/textures/items/book_title.png | Bin 0 -> 166 bytes 8 files changed, 193 insertions(+), 354 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/gui/book/book_lore.png create mode 100644 src/main/resources/assets/hbm/textures/items/book_cover.png create mode 100644 src/main/resources/assets/hbm/textures/items/book_pages.png create mode 100644 src/main/resources/assets/hbm/textures/items/book_title.png diff --git a/src/main/java/com/hbm/inventory/gui/GUIBookLore.java b/src/main/java/com/hbm/inventory/gui/GUIBookLore.java index b8f203f23..223f49130 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIBookLore.java +++ b/src/main/java/com/hbm/inventory/gui/GUIBookLore.java @@ -7,132 +7,160 @@ import org.lwjgl.opengl.GL11; import com.hbm.items.special.ItemBookLore.*; import com.hbm.lib.RefStrings; +import com.hbm.util.I18nUtil; + 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.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ResourceLocation; -// and you may ask yourself: vaer, why do this? this is basically just a copy of GUIScreenGuide. -// and I would answer, shut the fuck up nerd, the guide book system is too involved for my small -// brain to use for god knows how many tidbits of lore. i'll settle for a text box and cool textures, thanks public class GUIBookLore extends GuiScreen { - protected int xSize; - protected int ySize; + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/book/book_lore.png"); + protected int guiLeft; protected int guiTop; + protected static int sizeX = 272; + protected static int sizeY = 182; - private NBTTagCompound tag; //Used for save-dependent information, like the MKU recipe - private BookLoreType type; + protected BookLoreType type; + protected NBTTagCompound tag; - public int itemTexture; + //judgement + protected int color; - protected GUIPage mainPage; - protected GUIPage auxPage; - protected GUIPageButton button; - - int page = 0; - int maxPage; + protected int page; + protected int maxPage; public GUIBookLore(EntityPlayer player) { + ItemStack stack = player.getHeldItem(); + if(!stack.hasTagCompound()) return; + this.type = BookLoreType.getTypeFromStack(stack); - type = BookLoreType.getTypeFromStack(player.getHeldItem()); - tag = player.getHeldItem().getTagCompound(); //compound is created or gotten in method above - GUIAppearance setup = type.appearance; - - mainPage = setup.mainPage; - auxPage = setup.auxPage; - button = setup.button; - itemTexture = setup.itemTexture; - - if(type.pages <= 1) { - xSize = auxPage.sizeX; - ySize = auxPage.sizeY; - } else { - xSize = mainPage.sizeX; - ySize = mainPage.sizeY; - } - - maxPage = mainPage.isTwoPages ? (int)Math.ceil(type.pages / 2D) - 1 : type.pages - 1; + if(type == null) return; + this.tag = stack.getTagCompound(); + this.color = tag.getInteger("cov_col"); + if(color <= 0) + color = 0x303030; + this.maxPage = (int)Math.ceil(type.pages / 2D) - 1; } @Override public void initGui() { - super.initGui(); - this.guiLeft = (this.width - this.xSize) / 2; - this.guiTop = (this.height - this.ySize) / 2; + if(type == null) this.mc.thePlayer.closeScreen(); + this.guiLeft = (this.width - this.sizeX) / 2; + this.guiTop = (this.height - this.sizeY) / 2; } @Override - public void drawScreen(int mouseX, int mouseY, float f) { + public void drawScreen(int i, int j, float f) { this.drawDefaultBackground(); - this.drawGuiContainerBackgroundLayer(f, mouseX, mouseY); + this.drawGuiContainerBackgroundLayer(f, i, j); GL11.glDisable(GL11.GL_LIGHTING); - this.drawGuiContainerForegroundLayer(mouseX, mouseY); + this.drawGuiContainerForegroundLayer(i, j); GL11.glEnable(GL11.GL_LIGHTING); } protected void drawGuiContainerBackgroundLayer(float f, int i, int j) { - GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - if(page == maxPage && (page + 1) * 2 > type.pages) { //odd numbered pages - Minecraft.getMinecraft().getTextureManager().bindTexture(auxPage.texture); - func_146110_a(guiLeft, guiTop, auxPage.u, auxPage.v, auxPage.sizeX, auxPage.sizeY, 512, 512); - } else { - Minecraft.getMinecraft().getTextureManager().bindTexture(mainPage.texture); - func_146110_a(guiLeft, guiTop, mainPage.u, mainPage.v, mainPage.sizeX, mainPage.sizeY, 512, 512); + float r = (float)(color >> 16 & 255) / 255F; + float g = (float)(color >> 8 & 255) / 255F; + float b = (float)(color & 255) / 255F; + GL11.glColor4f(r, g, b, 1.0F); + func_146110_a(guiLeft, guiTop, 0, 0, sizeX, sizeY, 512, 512); + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + func_146110_a(guiLeft + 7, guiTop + 7, 0, 182, 258, 165, 512, 512); + + final boolean overY = j >= guiTop + 155 && j < guiTop + 165; + if(page > 0) { + if(overY && i >= guiLeft + 24 && i <= guiLeft + 42) + func_146110_a(guiLeft + 24, guiTop + 155, 295, 13, 18, 10, 512, 512); + else + func_146110_a(guiLeft + 24, guiTop + 155, 272, 13, 18, 10, 512, 512); } - int width = page == maxPage && (page + 1) * 2 > type.pages ? auxPage.sizeX : mainPage.sizeX; - - if(page > 0) - button.renderButton(this, width, guiLeft, guiTop, false, i, j); - - if(page < maxPage) - button.renderButton(this, width, guiLeft, guiTop, true, i, j); + if(page < maxPage) { + if(overY && i >= guiLeft + 230 && i <= guiLeft + 248) + func_146110_a(guiLeft + 230, guiTop + 155, 295, 0, 18, 10, 512, 512); + else + func_146110_a(guiLeft + 230, guiTop + 155, 272, 0, 18, 10, 512, 512); + } } protected void drawGuiContainerForegroundLayer(int x, int y) { String key = "book_lore." + type.keyI18n + ".page."; - if(mainPage.isTwoPages) { - int defacto = page * 2 + 1; - String text = type.resolveKey(key + defacto, tag); + for(int i = 0; i < 2; i++) { + int defacto = this.page * 2 + i; //TODO: force i18n to index from 0 instead of 1 - if((page + 1) * 2 <= type.pages) { //Checks if text should be rendered as an aux or a main page - mainPage.renderText(text, fontRendererObj, guiLeft, guiTop, false); + if(defacto < this.type.pages) { + String text = I18nUtil.resolveKey(key + defacto); //TODO tag-based argument formatting - text = type.resolveKey(key + (defacto + 1), tag); //kinda awkward, but no way around it - mainPage.renderText(text, fontRendererObj, guiLeft, guiTop, true); - } else - auxPage.renderText(text, fontRendererObj, guiLeft, guiTop, false); - - } else { - String text = type.resolveKey(key + (page + 1), tag); - - if(page < maxPage) - mainPage.renderText(text, fontRendererObj, guiLeft, guiTop, false); - else - auxPage.renderText(text, fontRendererObj, guiLeft, guiTop, false); + float scale = 1; + int width = 100; + int widthScaled = (int) (width * scale); + + List lines = new ArrayList(); + String[] words = text.split(" "); + + lines.add(words[0]); + int indent = this.fontRendererObj.getStringWidth(words[0]); + + for(int w = 1; w < words.length; w++) { + if(words[w].equals("$")) { + if(w + 1 < words.length && !words[w + 1].equals("$")) { + lines.add(words[++w]); + indent = this.fontRendererObj.getStringWidth(words[w]); + } else + lines.add(""); + + continue; + } + + indent += this.fontRendererObj.getStringWidth(" " + words[w]); + + if(indent <= widthScaled) { + String last = lines.get(lines.size() - 1); + lines.set(lines.size() - 1, last += (" " + words[w])); + } else { + lines.add(words[w]); + indent = this.fontRendererObj.getStringWidth(words[w]); + } + } + + GL11.glPushMatrix(); + GL11.glScalef(1F/scale, 1F/scale, 1F); + + for(int l = 0; l < lines.size(); l++) { + this.fontRendererObj.drawString(lines.get(l), + (int)((guiLeft + 20 + i * 130) * scale), + (int)((guiTop + 20) * scale + (9 * l)), + 0x0F0F0F); + } + + GL11.glPopMatrix(); + } } } @Override protected void mouseClicked(int i, int j, int k) { - int q = 0; //if both buttons are somehow simultaneously clicked then obviously something's wrong already + if(j < guiTop + 155 || j >= guiTop + 165) return; - if(page > 0) - q = button.handleInput(xSize, guiLeft, guiTop, false, i, j); - - if(page < maxPage && q == 0) - q = button.handleInput(xSize, guiLeft, guiTop, true, i, j); - - if(q != 0) { + if(page > 0 && i >= guiLeft + 24 && i <= guiLeft + 42) { + page--; + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + } + + if(page < maxPage && i >= guiLeft + 230 && i <= guiLeft + 248) { + page++; mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - this.page += q; } } @@ -142,208 +170,4 @@ public class GUIBookLore extends GuiScreen { this.mc.thePlayer.closeScreen(); } } - - // turn page buttons, one-page, both page textures, sizes, positions, etc. - public enum GUIAppearance { - GUIDEBOOK(new GUIPage(272, 182, new ResourceLocation(RefStrings.MODID + ":textures/gui/book/book.png")).setScale(2F).setMargins(20, 20, 20), - new GUIPageButton(18, 10, 17, 148, new ResourceLocation(RefStrings.MODID + ":textures/gui/book/notebook_and_papers.png")).setUV(263, 0, 512, 512), - 0), //Guide Book - LOOSEPAPER(new GUIPage(130, 165, new ResourceLocation(RefStrings.MODID + ":textures/gui/book/notebook_and_papers.png"), false).setMargins(12, 10, 16).setUV(133, 0), - new GUIPageButton(18, 10, 17, 148, new ResourceLocation(RefStrings.MODID + ":textures/gui/book/notebook_and_papers.png")).setUV(263, 0, 512, 512), - 1), //Singular loose page - LOOSEPAPERS(new GUIPage(133, 165, new ResourceLocation(RefStrings.MODID + ":textures/gui/book/notebook_and_papers.png"), false).setMargins(12, 10, 16), - new GUIPageButton(18, 10, 17, 148, new ResourceLocation(RefStrings.MODID + ":textures/gui/book/notebook_and_papers.png")).setUV(263, 0, 512, 512), - 2), //Collection of loose pages - NOTEBOOK(new GUIPage(133, 165, new ResourceLocation(RefStrings.MODID + ":textures/gui/book/notebook_and_papers.png"), false).setMargins(10, 10, 16).setUV(0, 165), - new GUIPage(133, 165, new ResourceLocation(RefStrings.MODID + ":textures/gui/book/notebook_and_papers.png"), false).setMargins(10, 10, 16).setUV(133, 165), - new GUIPageButton(18, 10, 17, 148, new ResourceLocation(RefStrings.MODID + ":textures/gui/book/notebook_and_papers.png")).setUV(263, 0, 512, 512), - 3); - - public int itemTexture; - - protected GUIPage mainPage; //"Main" page, usually two pages. GUI accounts for one-paged main pages. - protected GUIPage auxPage; //"Aux" page, AKA the final page if the max pages is oddly numbered. - //If two-sided, text will be positioned on the left page. - protected GUIPageButton button; - - private GUIAppearance(GUIPage main, GUIPage aux, GUIPageButton button, int texture) { - this.mainPage = main; - this.auxPage = aux; - this.button = button; - this.itemTexture = texture; - } - - private GUIAppearance(GUIPage main, GUIPageButton button, int texture) { - this.mainPage = main; - this.auxPage = main; - this.button = button; - this.itemTexture = texture; - } - - } - - private static class GUIPage { - protected ResourceLocation texture; - - //UV positioning - protected int u = 0; //X/U pos in texture - protected int v = 0; //Y/V pos in texture - - protected int sizeX; //X size of the page - protected int sizeY; //Y size of the page - - //Text positioning - protected int marginInner = 10; //Margin from inner edge of page - protected int marginOuter = 10; //Margin from outer edge of page - protected int marginY = 20; //Margin from upper edge of page - protected boolean isTwoPages = true; //Has two pages to display text - protected float scale = 1.0F; //Scale of the text; larger values are smaller - protected int spacing = 9; //12 is a more comfortable spacing - - protected GUIPage(int x, int y, ResourceLocation texture, boolean twoPages) { - this.sizeX = x; - this.sizeY = y; - this.texture = texture; - this.isTwoPages = twoPages; - } - - protected GUIPage(int x, int y, ResourceLocation texture) { - this.sizeX = x; - this.sizeY = y; - this.texture = texture; - } - - protected GUIPage setUV(int u, int v) { - this.u = u; - this.v = v; - return this; - } - - protected GUIPage setScale(float scale) { - this.scale = scale; - return this; - } - - protected GUIPage setMargins(int inner, int outer, int upper) { - this.marginInner = inner; - this.marginOuter = outer; - this.marginY = upper; - return this; - } - - protected GUIPage setSpacing(int spacing) { - this.spacing = spacing; - return this; - } - - protected void renderText(String text, FontRenderer renderer, int left, int top, boolean secondPage) { - int width = (isTwoPages ? sizeX / 2 : sizeX) - marginInner - marginOuter; - int widthScaled = (int) (width * scale); - - List lines = new ArrayList(); - String[] words = text.split(" "); - - lines.add(words[0]); - int indent = renderer.getStringWidth(words[0]); - - for(int w = 1; w < words.length; w++) { - - if(words[w].equals("$")) { - if(w + 1 < words.length && !words[w + 1].equals("$")) { - lines.add(words[++w]); - indent = renderer.getStringWidth(words[w]); - } else - lines.add(""); - - continue; - } - - indent += renderer.getStringWidth(" " + words[w]); - - if(indent <= widthScaled) { - String last = lines.get(lines.size() - 1); - lines.set(lines.size() - 1, last += (" " + words[w])); - } else { - lines.add(words[w]); - indent = renderer.getStringWidth(words[w]); - } - } - - GL11.glPushMatrix(); - GL11.glScalef(1F/scale, 1F/scale, 1F); - - int sideOffset = secondPage ? sizeX / 2 + marginInner : marginOuter; - - for(int l = 0; l < lines.size(); l++) { - renderer.drawString(lines.get(l), (int)((left + sideOffset) * scale), (int)((top + marginY) * scale + (spacing * l)), 4210752); - } - - GL11.glPopMatrix(); - } - } - - private static class GUIPageButton { - protected ResourceLocation texture; - - protected int sizeX; //size of a single button; full texture is 2*sizeX : 2*sizeZ - protected int sizeY; - protected int x; //x position on page, relative to edge of the page it is on. - protected int y; //y position on page, relative to the top edge of the page. - - /* Left, Unsel | Right, Unsel - * Left, Sel | Right, Sel - */ - protected int u = 0; //upper lefthand corner where the button textures lie. - protected int v = 0; //assumes uniform size for each. - protected int sizeU = sizeX * 2; //Size of UV texture - protected int sizeV = sizeY * 2; - - protected GUIPageButton(int sizeX, int sizeY, int x, int y, ResourceLocation tex) { - this.sizeX = sizeX; - this.sizeY = sizeY; - this.x = x; - this.y = y; - this.texture = tex; - } - - protected GUIPageButton setUV(int u, int v, int sizeU, int sizeV) { - this.u = u; - this.v = v; - this.sizeU = sizeU; - this.sizeV = sizeV; - return this; - } - - protected void renderButton(GuiScreen screen, int width, int left, int top, boolean rightPage, int i, int j) { - Minecraft.getMinecraft().getTextureManager().bindTexture(texture); - boolean overY = j >= top + y && j < top + y + sizeY; - - if(!rightPage) { - if(i >= left + x && i < left + x + sizeX && overY) { - func_146110_a(left + x, top + y, u, v + sizeY, sizeX, sizeY, sizeU, sizeV); - } else { - func_146110_a(left + x, top + y, u, v, sizeX, sizeY, sizeU, sizeV); - } - } else { - if(i >= left + width - x - sizeX && i < left + width - x && overY) { - func_146110_a(left + width - x - sizeX, top + y, u + sizeX, v + sizeY, sizeX, sizeY, sizeU, sizeV); - } else { - func_146110_a(left + width - x - sizeX, top + y, u + sizeX, v, sizeX, sizeY, sizeU, sizeV); - } - } - } - - protected int handleInput(int width, int left, int top, boolean rightPage, int i, int j) { - boolean overY = j >= top + y && j < top + y + sizeY; - if(!rightPage) { - if(i >= left + x && i < left + x + sizeX && overY) - return -1; - } else { - if(i >= left + width - x - sizeX && i < left + width - x && overY) - return 1; - } - - return 0; - } - } } \ No newline at end of file diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 35b9cb0d5..5454ea196 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -5355,7 +5355,7 @@ public class ModItems { 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 + ":holotape"); + 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"); diff --git a/src/main/java/com/hbm/items/special/ItemBookLore.java b/src/main/java/com/hbm/items/special/ItemBookLore.java index b34aa2598..805b5c7c1 100644 --- a/src/main/java/com/hbm/items/special/ItemBookLore.java +++ b/src/main/java/com/hbm/items/special/ItemBookLore.java @@ -3,7 +3,6 @@ package com.hbm.items.special; import java.util.List; import com.hbm.inventory.gui.GUIBookLore; -import com.hbm.inventory.gui.GUIBookLore.GUIAppearance; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; @@ -58,31 +57,53 @@ public class ItemBookLore extends Item implements IGUIProvider { return "book_lore." + type.keyI18n; } - protected IIcon[] icons; + //Textures - public final static String[] itemTextures = new String[] { ":book_guide", ":paper_loose", ":papers_loose", ":notebook" }; + @SideOnly(Side.CLIENT) protected IIcon[] overlays; + @Override @SideOnly(Side.CLIENT) public void registerIcons(IIconRegister reg) { - String[] iconStrings = itemTextures; - this.icons = new IIcon[itemTextures.length]; + super.registerIcons(reg); - for(int i = 0; i < icons.length; i++) { - this.icons[i] = reg.registerIcon(RefStrings.MODID + itemTextures[i]); + this.overlays = new IIcon[2]; + this.overlays[0] = reg.registerIcon(RefStrings.MODID + ":book_cover"); + this.overlays[1] = reg.registerIcon(RefStrings.MODID + ":book_title"); + } + + @Override + @SideOnly(Side.CLIENT) + public boolean requiresMultipleRenderPasses() { return true; } + + @Override + public int getRenderPasses(int metadata) { return 3; } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamageForRenderPass(int meta, int pass) { + if(pass == 0) return this.itemIcon; + return overlays[pass - 1]; + } + + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int pass) { + switch(pass) { + default: return 0xFFFFFF; + case 1: //book cover + if(stack.hasTagCompound()) { + int color = stack.stackTagCompound.getInteger("cov_col"); + if(color > 0) return color; + } + return 0x303030; + case 2: //title color + if(stack.hasTagCompound()) { + int color = stack.stackTagCompound.getInteger("tit_col"); + if(color > 0) return color; + } + return 0xFFFFFF; } } - - @Override - public IIcon getIconIndex(ItemStack stack) { - return this.getIcon(stack, 1); - } - - @Override - public IIcon getIcon(ItemStack stack, int pass) { - BookLoreType type = BookLoreType.getTypeFromStack(stack); - - return this.icons[type.appearance.itemTexture]; - } @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { @@ -96,57 +117,51 @@ public class ItemBookLore extends Item implements IGUIProvider { } public enum BookLoreType { - TEST(true, "test", 5, GUIAppearance.NOTEBOOK), - BOOK_IODINE(true, "book_iodine", 3, GUIAppearance.LOOSEPAPERS) { + TEST(true, "test", 5), + BOOK_IODINE(true, "book_iodine", 3) { public String resolveKey(String key, NBTTagCompound tag) { return I18nUtil.resolveKey(key, tag.getInteger("mku_slot")); }}, - BOOK_PHOSPHOROUS(true, "book_phosphorous", 2, GUIAppearance.LOOSEPAPERS) { + BOOK_PHOSPHOROUS(true, "book_phosphorous", 2) { public String resolveKey(String key, NBTTagCompound tag) { return I18nUtil.resolveKey(key, tag.getInteger("mku_slot")); }}, - BOOK_DUST(true, "book_dust", 3, GUIAppearance.LOOSEPAPERS) { + BOOK_DUST(true, "book_dust", 3) { public String resolveKey(String key, NBTTagCompound tag) { return I18nUtil.resolveKey(key, tag.getInteger("mku_slot")); }}, - BOOK_MERCURY(true, "book_mercury", 2, GUIAppearance.LOOSEPAPERS) { + BOOK_MERCURY(true, "book_mercury", 2) { public String resolveKey(String key, NBTTagCompound tag) { return I18nUtil.resolveKey(key, tag.getInteger("mku_slot")); }}, - BOOK_FLOWER(true, "book_flower", 2, GUIAppearance.LOOSEPAPERS) { + BOOK_FLOWER(true, "book_flower", 2) { public String resolveKey(String key, NBTTagCompound tag) { return I18nUtil.resolveKey(key, tag.getInteger("mku_slot")); }}, - BOOK_SYRINGE(true, "book_syringe", 2, GUIAppearance.LOOSEPAPERS) { + BOOK_SYRINGE(true, "book_syringe", 2) { public String resolveKey(String key, NBTTagCompound tag) { return I18nUtil.resolveKey(key, tag.getInteger("mku_slot")); }}, - RESIGNATION_NOTE(true, "resignation_note", 3, GUIAppearance.NOTEBOOK), - MEMO_STOCKS(false, "memo_stocks", 1, GUIAppearance.LOOSEPAPER), - MEMO_SCHRAB_GSA(false, "memo_schrab_gsa", 2, GUIAppearance.LOOSEPAPERS), - MEMO_SCHRAB_RD(false, "memo_schrab_rd", 4, GUIAppearance.LOOSEPAPERS), - MEMO_SCHRAB_NUKE(true, "memo_schrab_nuke", 3, GUIAppearance.LOOSEPAPERS), + RESIGNATION_NOTE(true, "resignation_note", 3), + MEMO_STOCKS(false, "memo_stocks", 1), + MEMO_SCHRAB_GSA(false, "memo_schrab_gsa", 2), + MEMO_SCHRAB_RD(false, "memo_schrab_rd", 4), + MEMO_SCHRAB_NUKE(true, "memo_schrab_nuke", 3), ; - //Why? it's quite simple; i am too burnt out and also doing it the other way - //is too inflexible for my taste - public final GUIAppearance appearance; //gui and item texture appearance - public boolean hasAuthor = false; public final String keyI18n; public final int pages; - private BookLoreType(Boolean author, String key, int max, GUIAppearance appearance) { + private BookLoreType(Boolean author, String key, int max) { this.hasAuthor = author; this.keyI18n = key; this.pages = max; - this.appearance = appearance; } - private BookLoreType(String key, int max, GUIAppearance appearance) { + private BookLoreType(String key, int max) { this.keyI18n = key; this.pages = max; - this.appearance = appearance; } /** Function to resolve I18n keys using potential save-dependent information, a la format specifiers. */ diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index cec6b2cbc..539596cf5 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -323,68 +323,68 @@ book.starter.page18=vær is just a guy who has been trapped in the grey void fea book_lore.author=By %s book_lore.test.name=Test book_lore.test.author=the dude -book_lore.test.page.1=>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.2=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.3=3 -book_lore.test.page.4=4 -book_lore.test.page.5=5 +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=Note book_lore.book_iodine.author=Dave -book_lore.book_iodine.page.1=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.2=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.3=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_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=Note book_lore.book_phosphorous.author=Dave -book_lore.book_phosphorous.page.1=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.2=ingredient is red phosphorous, whihc has to be mixed into slot %d +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=Note book_lore.book_dust.author=Dave -book_lore.book_dust.page.1=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.2=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.3=dangerous inventions of theirs and it contains dust. strangely they also mentioned that it goes into slot %d +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=Note book_lore.book_mercury.author=Dave -book_lore.book_mercury.page.1=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.2=replicated by the body? whatever, the mercury goes into slot %d +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=Note book_lore.book_flower.author=Dave -book_lore.book_flower.page.1=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.2=it does not work with other flowers. the morning glory goes into slot %d +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=Note book_lore.book_syringe.author=Dave -book_lore.book_syringe.page.1=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.2=syringe goes into slot %d +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.1=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.2=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.3=I'm not coming back on Friday. Just send the paycheck. +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.1=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_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.1=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.2=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_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.1=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.2=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.3=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.4=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_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.1=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.2=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.3=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_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. cannery.f1=[ Press F1 for help ] diff --git a/src/main/resources/assets/hbm/textures/gui/book/book_lore.png b/src/main/resources/assets/hbm/textures/gui/book/book_lore.png new file mode 100644 index 0000000000000000000000000000000000000000..c5f8a42844b16892a2f0ba92ac28e271e41c44dc GIT binary patch literal 21362 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/book_cover.png b/src/main/resources/assets/hbm/textures/items/book_cover.png new file mode 100644 index 0000000000000000000000000000000000000000..c073dfceda017919d8407bdab6cc2cfb8d2ceb6b GIT binary patch literal 244 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|^0G|-o{rmU-|NsB(+qV}lUfi%@15kLz>|HWIimfEbFBmBG|3Aa#{Y&-( zMK}vQB8wRq_zr_GNS%G~10G|-o?c29UM@P?`IrG}JYe2E;hant5inS!jFZe$YF#O)e2QrAWz$3Dl zfr0NZ2s0kfUy%Y7wDELt4ABTadd8ZML4kw$Le!4`Gj-*iA3e%oS6c7#W2%0Gs)Vvc wg6@U5Qmzv^MG_0F;+``v?$drdS$s!6<6-8F3E{`C0?lFYboFyt=akR{0Bg%ZbpQYW literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/book_title.png b/src/main/resources/assets/hbm/textures/items/book_title.png new file mode 100644 index 0000000000000000000000000000000000000000..9513bc51beae6f61feb68855a451f736711b61e9 GIT binary patch literal 166 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1qucL2FMJ#}EtuWC_Lx_5uzwBN&CJ9OL}hnvd1zJ_&=>|!S3j3^ HP6 Date: Sun, 18 Jun 2023 20:11:36 +0200 Subject: [PATCH 189/285] spicy himars ammo, more glyphid crap, compressor work --- .../blocks/generic/BlockGlyphidSpawner.java | 26 +- .../hbm/blocks/machine/MachineCompressor.java | 17 + .../hbm/blocks/rail/RailStandardCurve.java | 56 + .../java/com/hbm/config/GeneralConfig.java | 2 - .../com/hbm/entity/mob/EntityGlyphid.java | 7 + .../hbm/entity/mob/EntityGlyphidScout.java | 59 +- .../com/hbm/handler/EntityEffectHandler.java | 11 +- .../java/com/hbm/handler/HbmKeybinds.java | 2 +- .../handler/nei/CrucibleAlloyingHandler.java | 4 +- .../container/ContainerCompressor.java | 63 + .../hbm/inventory/fluid/tank/FluidTank.java | 2 +- .../com/hbm/inventory/gui/GUICompressor.java | 50 + .../inventory/material/MatDistribution.java | 2 +- .../inventory/recipes/CrucibleRecipes.java | 8 +- .../com/hbm/items/machine/ItemScraps.java | 67 +- .../com/hbm/items/weapon/ItemAmmoHIMARS.java | 27 +- .../render/tileentity/RenderCompressor.java | 27 +- .../machine/TileEntityMachineCompressor.java | 30 +- .../network/TileEntityConverterRfHe.java | 2 +- .../hbm/models/machines/electrolyser.obj | 8174 +++++++++++++---- .../gui/processing/gui_compressor.png | Bin 0 -> 3119 bytes .../gui/processing/gui_electrolyser_fluid.png | Bin 0 -> 3941 bytes .../gui/processing/gui_electrolyser_metal.png | Bin 0 -> 4062 bytes .../hbm/textures/items/scraps_additive.png | Bin 0 -> 731 bytes .../hbm/textures/items/scraps_liquid.png | Bin 0 -> 697 bytes .../textures/models/machines/compressor.png | Bin 2131 -> 3463 bytes .../textures/models/machines/electrolyser.png | Bin 17310 -> 95595 bytes .../models/projectiles/himars_single_lava.png | Bin 0 -> 1547 bytes .../projectiles/himars_standard_lava.png | Bin 0 -> 860 bytes 29 files changed, 6820 insertions(+), 1816 deletions(-) create mode 100644 src/main/java/com/hbm/inventory/container/ContainerCompressor.java create mode 100644 src/main/java/com/hbm/inventory/gui/GUICompressor.java create mode 100644 src/main/resources/assets/hbm/textures/gui/processing/gui_compressor.png create mode 100644 src/main/resources/assets/hbm/textures/gui/processing/gui_electrolyser_fluid.png create mode 100644 src/main/resources/assets/hbm/textures/gui/processing/gui_electrolyser_metal.png create mode 100644 src/main/resources/assets/hbm/textures/items/scraps_additive.png create mode 100644 src/main/resources/assets/hbm/textures/items/scraps_liquid.png create mode 100644 src/main/resources/assets/hbm/textures/models/projectiles/himars_single_lava.png create mode 100644 src/main/resources/assets/hbm/textures/models/projectiles/himars_standard_lava.png diff --git a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java index 155b256fc..a489018f1 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java @@ -1,9 +1,15 @@ package com.hbm.blocks.generic; import java.util.List; +import java.util.Random; import com.hbm.entity.mob.EntityGlyphid; +import com.hbm.entity.mob.EntityGlyphidBlaster; +import com.hbm.entity.mob.EntityGlyphidBombardier; +import com.hbm.entity.mob.EntityGlyphidBrawler; import com.hbm.entity.mob.EntityGlyphidScout; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; @@ -29,21 +35,33 @@ public class BlockGlyphidSpawner extends BlockContainer { public void updateEntity() { if(!worldObj.isRemote && worldObj.getTotalWorldTime() % 60 == 0 && this.worldObj.difficultySetting != EnumDifficulty.PEACEFUL) { - - List list = worldObj.getEntitiesWithinAABB(EntityGlyphid.class, AxisAlignedBB.getBoundingBox(xCoord - 4, yCoord + 1, zCoord - 4, xCoord + 5, yCoord + 4, zCoord + 5)); + + + float soot = PollutionHandler.getPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT); + List list = worldObj.getEntitiesWithinAABB(EntityGlyphid.class, AxisAlignedBB.getBoundingBox(xCoord - 6, yCoord + 1, zCoord - 6, xCoord + 7, yCoord + 9, zCoord + 7)); if(list.size() < 3) { - EntityGlyphid glyphid = new EntityGlyphid(worldObj); + EntityGlyphid glyphid = createGlyphid(soot); glyphid.setLocationAndAngles(xCoord + 0.5, yCoord + 1, zCoord + 0.5, worldObj.rand.nextFloat() * 360.0F, 0.0F); this.worldObj.spawnEntityInWorld(glyphid); } - if(worldObj.rand.nextInt(20) == 0) { + if(worldObj.rand.nextInt(20) == 0 && soot > 0) { EntityGlyphidScout scout = new EntityGlyphidScout(worldObj); scout.setLocationAndAngles(xCoord + 0.5, yCoord + 1, zCoord + 0.5, worldObj.rand.nextFloat() * 360.0F, 0.0F); this.worldObj.spawnEntityInWorld(scout); } } } + + public EntityGlyphid createGlyphid(float soot) { + Random rand = new Random(); + + if(soot < 1) { + return rand.nextInt(5) == 0 ? new EntityGlyphidBombardier(worldObj) : new EntityGlyphid(worldObj); + } + + return rand.nextInt(5) == 0 ? new EntityGlyphidBlaster(worldObj) : new EntityGlyphidBrawler(worldObj); + } } } diff --git a/src/main/java/com/hbm/blocks/machine/MachineCompressor.java b/src/main/java/com/hbm/blocks/machine/MachineCompressor.java index 3aa083e0b..791ad2f77 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCompressor.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCompressor.java @@ -4,8 +4,10 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.tileentity.machine.TileEntityMachineCompressor; 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 MachineCompressor extends BlockDummyable { @@ -29,4 +31,19 @@ public class MachineCompressor extends BlockDummyable { public int getOffset() { return 2; } + + @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 + protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { + return super.checkRequirement(world, x, y, z, dir, o); + } + + @Override + public 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/rail/RailStandardCurve.java b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java index bc3401b04..10bed1608 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardCurve.java @@ -142,4 +142,60 @@ public class RailStandardCurve extends BlockDummyable implements IRailNTM { this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); return AxisAlignedBB.getBoundingBox(x + this.minX, y + this.minY, z + this.minZ, x + this.maxX, y + this.maxY, z + this.maxZ); } + + @Override + protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + dir = dir.getOpposite(); + + int dX = dir.offsetX; + int dZ = dir.offsetZ; + int rX = rot.offsetX; + int rZ = rot.offsetZ; + + return world.getBlock(x + dX, y, z + dZ).isReplaceable(world, x + dX, y, z + dZ) && + world.getBlock(x + rX, y, z + rZ).isReplaceable(world, x + rX, y, z + rZ) && + world.getBlock(x + dX + rX, y, z + dZ + rZ).isReplaceable(world, x + dX + rX, y, z + dZ + rZ) && + world.getBlock(x + dX + rX * 2, y, z + dZ + rZ * 2).isReplaceable(world, x + dX + rX * 2, y, z + dZ + rZ * 2) && + world.getBlock(x + dX * 2 + rX, y, z + dZ * 2 + rZ).isReplaceable(world, x + dX * 2 + rX, y, z + dZ * 2 + rZ) && + world.getBlock(x + dX * 2 + rX * 2, y, z + dZ * 2 + rZ * 2).isReplaceable(world, x + dX * 2 + rX * 2, y, z + dZ * 2 + rZ * 2) && + world.getBlock(x + dX * 3 + rX, y, z + dZ * 3 + rZ).isReplaceable(world, x + dX * 3 + rX, y, z + dZ * 3 + rZ) && + world.getBlock(x + dX * 3 + rX * 2, y, z + dZ * 3 + rZ * 2).isReplaceable(world, x + dX * 3 + rX * 2, y, z + dZ * 3 + rZ * 2) && + world.getBlock(x + dX * 2 + rX * 3, y, z + dZ * 2 + rZ * 3).isReplaceable(world, x + dX * 2 + rX * 3, y, z + dZ * 2 + rZ * 3) && + world.getBlock(x + dX * 3 + rX * 3, y, z + dZ * 3 + rZ * 3).isReplaceable(world, x + dX * 3 + rX * 3, y, z + dZ * 3 + rZ * 3) && + world.getBlock(x + dX * 4 + rX * 3, y, z + dZ * 4 + rZ * 3).isReplaceable(world, x + dX * 4 + rX * 3, y, z + dZ * 4 + rZ * 3) && + world.getBlock(x + dX * 3 + rX * 4, y, z + dZ * 3 + rZ * 4).isReplaceable(world, x + dX * 3 + rX * 4, y, z + dZ * 3 + rZ * 4) && + world.getBlock(x + dX * 4 + rX * 4, y, z + dZ * 4 + rZ * 4).isReplaceable(world, x + dX * 4 + rX * 4, y, z + dZ * 4 + rZ * 4); + } + + @Override + protected void fillSpace(World world, int x, int y, int z, ForgeDirection dir, int o) { + + BlockDummyable.safeRem = true; + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + dir = dir.getOpposite(); + + int dX = dir.offsetX; + int dZ = dir.offsetZ; + int rX = rot.offsetX; + int rZ = rot.offsetZ; + + world.setBlock(x + dX, y, z + dZ, this, dir.ordinal(), 3); + world.setBlock(x + rX, y, z + rZ, this, rot.ordinal(), 3); + world.setBlock(x + dX + rX, y, z + dZ + rZ, this, rot.ordinal(), 3); + world.setBlock(x + dX + rX * 2, y, z + dZ + rZ * 2, this, rot.ordinal(), 3); + world.setBlock(x + dX * 2 + rX, y, z + dZ * 2 + rZ, this, dir.ordinal(), 3); + world.setBlock(x + dX * 2 + rX * 2, y, z + dZ * 2 + rZ * 2, this, dir.ordinal(), 3); + world.setBlock(x + dX * 3 + rX, y, z + dZ * 3 + rZ, this, dir.ordinal(), 3); + world.setBlock(x + dX * 3 + rX * 2, y, z + dZ * 3 + rZ * 2, this, dir.ordinal(), 3); + world.setBlock(x + dX * 2 + rX * 3, y, z + dZ * 2 + rZ * 3, this, rot.ordinal(), 3); + world.setBlock(x + dX * 3 + rX * 3, y, z + dZ * 3 + rZ * 3, this, rot.ordinal(), 3); + world.setBlock(x + dX * 4 + rX * 3, y, z + dZ * 4 + rZ * 3, this, dir.ordinal(), 3); + world.setBlock(x + dX * 3 + rX * 4, y, z + dZ * 3 + rZ * 4, this, rot.ordinal(), 3); + world.setBlock(x + dX * 4 + rX * 4, y, z + dZ * 4 + rZ * 4, this, rot.ordinal(), 3); + + BlockDummyable.safeRem = false; + } } diff --git a/src/main/java/com/hbm/config/GeneralConfig.java b/src/main/java/com/hbm/config/GeneralConfig.java index 557ca2a0c..97bdee342 100644 --- a/src/main/java/com/hbm/config/GeneralConfig.java +++ b/src/main/java/com/hbm/config/GeneralConfig.java @@ -24,7 +24,6 @@ public class GeneralConfig { public static boolean enableCrosshairs = true; public static boolean enableReflectorCompat = false; public static boolean enableRenderDistCheck = true; - public static boolean enableCustomDashKeybind = false; public static boolean enableReEval = true; public static boolean enableSilentCompStackErrors = true; public static boolean enableChunkyNEIHandler = true; @@ -82,7 +81,6 @@ public class GeneralConfig { 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); - enableCustomDashKeybind = config.get(CATEGORY_GENERAL, "1.26_enableCustomDashKeybind", false, "Enable custom dash keybind instead of shift").getBoolean(false); 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); diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java index 230fd56c2..bc570fe02 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java @@ -61,6 +61,12 @@ public class EntityGlyphid extends EntityMob { this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1D); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(5D); } + + @Override + protected Entity findPlayerToAttack() { + EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 32.0D); + return entityplayer != null && this.canEntityBeSeen(entityplayer) ? entityplayer : null; + } @Override public boolean attackEntityFrom(DamageSource source, float amount) { @@ -123,6 +129,7 @@ public class EntityGlyphid extends EntityMob { armor &= ~bit; armor = (byte) (armor & 0b11111); this.dataWatcher.updateObject(17, armor); + worldObj.playSoundAtEntity(this, "mob.zombie.woodbreak", 1.0F, 1.25F); break; } } diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidScout.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidScout.java index ae20a35a8..181156e09 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphidScout.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphidScout.java @@ -5,8 +5,11 @@ import com.hbm.main.ResourceManager; import com.hbm.world.feature.GlyphidHive; import net.minecraft.block.Block; +import net.minecraft.block.material.Material; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -68,12 +71,33 @@ public class EntityGlyphidScout extends EntityGlyphid { this.homeZ = posZ; this.hasHome = true; } + + if(rand.nextInt(20) == 0) fleeingTick = 2; - if(this.ticksExisted > 0 && this.ticksExisted % 1200 == 0 && Vec3.createVectorHelper(posX - homeX, posY - homeY, posZ - homeZ).lengthVector() > 16) { + if(this.ticksExisted > 0 && this.ticksExisted % 1200 == 0 && Vec3.createVectorHelper(posX - homeX, posY - homeY, posZ - homeZ).lengthVector() > 8) { Block b = worldObj.getBlock((int) Math.floor(posX), (int) Math.floor(posY - 1), (int) Math.floor(posZ)); - if(b.isNormalCube() && b != ModBlocks.glyphid_base) { + int accuracy = 16; + for(int i = 0; i < accuracy; i++) { + float angle = (float) Math.toRadians(360D / accuracy * i); + Vec3 rot = Vec3.createVectorHelper(0, 0, 16); + rot.rotateAroundY(angle); + Vec3 pos = Vec3.createVectorHelper(this.posX, this.posY + 1, this.posZ); + Vec3 nextPos = Vec3.createVectorHelper(this.posX + rot.xCoord, this.posY + 1, this.posZ + rot.zCoord); + MovingObjectPosition mop = this.worldObj.rayTraceBlocks(pos, nextPos); + + if(mop != null && mop.typeOfHit == mop.typeOfHit.BLOCK) { + + Block block = worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ); + + if(block == ModBlocks.glyphid_base) { + return; + } + } + } + + if(b.getMaterial() != Material.air && b.isNormalCube() && b != ModBlocks.glyphid_base) { this.setDead(); worldObj.newExplosion(this, posX, posY, posZ, 5F, false, false); GlyphidHive.generate(worldObj, (int) Math.floor(posX), (int) Math.floor(posY), (int) Math.floor(posZ), rand); @@ -82,6 +106,37 @@ public class EntityGlyphidScout extends EntityGlyphid { } } + @Override + protected void updateWanderPath() { + this.worldObj.theProfiler.startSection("stroll"); + boolean flag = false; + int pathX = -1; + int pathY = -1; + int pathZ = -1; + float maxWeight = -99999.0F; + + for(int l = 0; l < 5; ++l) { + int x = MathHelper.floor_double(this.posX + (double) this.rand.nextInt(25) - 12.0D); + int y = MathHelper.floor_double(this.posY + (double) this.rand.nextInt(11) - 5.0D); + int z = MathHelper.floor_double(this.posZ + (double) this.rand.nextInt(25) - 12.0D); + float weight = this.getBlockPathWeight(x, y, z); + + if(weight > maxWeight) { + maxWeight = weight; + pathX = x; + pathY = y; + pathZ = z; + flag = true; + } + } + + if(flag) { + this.setPathToEntity(this.worldObj.getEntityPathToXYZ(this, pathX, pathY, pathZ, 10.0F, true, false, false, true)); + } + + this.worldObj.theProfiler.endSection(); + } + @Override public void writeEntityToNBT(NBTTagCompound nbt) { super.writeEntityToNBT(nbt); diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index 6d6f29d5c..d3d177c43 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -484,16 +484,7 @@ public class EntityEffectHandler { int dashCount = armorDashCount + armorModDashCount; - boolean dashActivated = false; - - - if(!GeneralConfig.enableCustomDashKeybind) { - dashActivated = !player.capabilities.isFlying && player.isSneaking(); - } else { - dashActivated = props.getKeyPressed(EnumKeybind.DASH); - } - - //System.out.println(dashCount); + boolean dashActivated = props.getKeyPressed(EnumKeybind.DASH); if(dashCount * 30 < props.getStamina()) props.setStamina(dashCount * 30); diff --git a/src/main/java/com/hbm/handler/HbmKeybinds.java b/src/main/java/com/hbm/handler/HbmKeybinds.java index b07989f7f..6ae2507e1 100644 --- a/src/main/java/com/hbm/handler/HbmKeybinds.java +++ b/src/main/java/com/hbm/handler/HbmKeybinds.java @@ -22,7 +22,7 @@ public class HbmKeybinds { public static KeyBinding jetpackKey = new KeyBinding(category + ".toggleBack", Keyboard.KEY_C, 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_F, 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 craneUpKey = new KeyBinding(category + ".craneMoveUp", Keyboard.KEY_UP, category); diff --git a/src/main/java/com/hbm/handler/nei/CrucibleAlloyingHandler.java b/src/main/java/com/hbm/handler/nei/CrucibleAlloyingHandler.java index 1f2d9a359..80ccd314b 100644 --- a/src/main/java/com/hbm/handler/nei/CrucibleAlloyingHandler.java +++ b/src/main/java/com/hbm/handler/nei/CrucibleAlloyingHandler.java @@ -35,8 +35,8 @@ public class CrucibleAlloyingHandler extends TemplateRecipeHandler { public RecipeSet(CrucibleRecipe recipe) { List inputs = new ArrayList(); List outputs = new ArrayList(); - for(MaterialStack stack : recipe.input) inputs.add(ItemScraps.create(stack)); - for(MaterialStack stack : recipe.output) outputs.add(ItemScraps.create(stack)); + for(MaterialStack stack : recipe.input) inputs.add(ItemScraps.create(stack, true)); + for(MaterialStack stack : recipe.output) outputs.add(ItemScraps.create(stack, true)); this.template = new PositionedStack(new ItemStack(ModItems.crucible_template, 1, recipe.getId()), 75, 6); this.crucible = new PositionedStack(new ItemStack(ModBlocks.machine_crucible), 75, 42); diff --git a/src/main/java/com/hbm/inventory/container/ContainerCompressor.java b/src/main/java/com/hbm/inventory/container/ContainerCompressor.java new file mode 100644 index 000000000..32e147770 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerCompressor.java @@ -0,0 +1,63 @@ +package com.hbm.inventory.container; + +import com.hbm.tileentity.machine.TileEntityMachineCompressor; + +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 ContainerCompressor extends Container { + + private TileEntityMachineCompressor compressor; + + public ContainerCompressor(InventoryPlayer playerInv, TileEntityMachineCompressor tile) { + compressor = tile; + + //Fluid ID + this.addSlotToContainer(new Slot(tile, 0, 35, 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 compressor.isUseableByPlayer(player); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + ItemStack var3 = null; + Slot var4 = (Slot) this.inventorySlots.get(index); + + if(var4 != null && var4.getHasStack()) { + ItemStack var5 = var4.getStack(); + var3 = var5.copy(); + + if(index == 0) { + if(!this.mergeItemStack(var5, 1, 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(); + } + } + + return var3; + } +} 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 ee0dfe019..90e8b3bbf 100644 --- a/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java +++ b/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java @@ -238,7 +238,7 @@ public class FluidTank { list.add(fluid + "/" + maxFluid + "mB"); if(this.pressure != 0) { - list.add(EnumChatFormatting.RED + "" + this.pressure + "mB/l"); + list.add(EnumChatFormatting.RED + "" + this.pressure + " PU"); } type.addInfo(list); diff --git a/src/main/java/com/hbm/inventory/gui/GUICompressor.java b/src/main/java/com/hbm/inventory/gui/GUICompressor.java new file mode 100644 index 000000000..c31ee0baf --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUICompressor.java @@ -0,0 +1,50 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerCompressor; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityMachineCompressor; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +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 solidifier; + + public GUICompressor(InventoryPlayer invPlayer, TileEntityMachineCompressor tedf) { + super(new ContainerCompressor(invPlayer, tedf)); + solidifier = tedf; + + this.xSize = 176; + this.ySize = 204; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + //solidifier.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 35, guiTop + 36, 16, 52); + //this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 18, 16, 52, solidifier.power, solidifier.maxPower); + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + + String name = this.solidifier.hasCustomInventoryName() ? this.solidifier.getInventoryName() : I18n.format(this.solidifier.getInventoryName()); + + this.fontRendererObj.drawString(name, 70 - this.fontRendererObj.getStringWidth(name) / 2, 6, 0xC7C1A3); + 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/material/MatDistribution.java b/src/main/java/com/hbm/inventory/material/MatDistribution.java index a8793dc1c..11a636399 100644 --- a/src/main/java/com/hbm/inventory/material/MatDistribution.java +++ b/src/main/java/com/hbm/inventory/material/MatDistribution.java @@ -69,7 +69,7 @@ public class MatDistribution extends SerializableRecipe { registerOre(OreDictManager.AL.ore(), MAT_ALUMINIUM, INGOT.q(2), MAT_STONE, QUART.q(1)); } - registerOre(OreDictManager.COAL.ore(), MAT_COAL, GEM.q(4), 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)); diff --git a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java index 1c87197ba..fecbd9e20 100644 --- a/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CrucibleRecipes.java @@ -248,7 +248,7 @@ public class CrucibleRecipes extends SerializableRecipe { if(!ores.isEmpty()) { List stacks = new ArrayList(); - stacks.add(ItemScraps.create(new MaterialStack(convert, (int) (shape.q(1) * out / in)))); + stacks.add(ItemScraps.create(new MaterialStack(convert, (int) (shape.q(1) * out / in)), true)); map.put(new OreDictStack(name), stacks); } } @@ -257,7 +257,7 @@ public class CrucibleRecipes extends SerializableRecipe { for(Entry> entry : Mats.materialOreEntries.entrySet()) { List stacks = new ArrayList(); for(MaterialStack mat : entry.getValue()) { - stacks.add(ItemScraps.create(mat)); + stacks.add(ItemScraps.create(mat, true)); } map.put(new OreDictStack(entry.getKey()), stacks); } @@ -265,7 +265,7 @@ public class CrucibleRecipes extends SerializableRecipe { for(Entry> entry : Mats.materialEntries.entrySet()) { List stacks = new ArrayList(); for(MaterialStack mat : entry.getValue()) { - stacks.add(ItemScraps.create(mat)); + stacks.add(ItemScraps.create(mat, true)); } map.put(entry.getKey().copy(), stacks); } @@ -293,7 +293,7 @@ public class CrucibleRecipes extends SerializableRecipe { for(Mold mold : ItemMold.molds) { ItemStack out = mold.getOutput(material); if(out != null) { - ItemStack scrap = ItemScraps.create(new MaterialStack(material, mold.getCost())); + ItemStack scrap = ItemScraps.create(new MaterialStack(material, mold.getCost()), true); ItemStack shape = new ItemStack(ModItems.mold, 1, mold.id); ItemStack basin = new ItemStack(mold.size == 0 ? ModBlocks.foundry_mold : mold.size == 1 ? ModBlocks.foundry_basin : Blocks.fire); ItemStack[] entry = new ItemStack[] {scrap, shape, basin, out}; diff --git a/src/main/java/com/hbm/items/machine/ItemScraps.java b/src/main/java/com/hbm/items/machine/ItemScraps.java index 3e6134ffa..5c3436148 100644 --- a/src/main/java/com/hbm/items/machine/ItemScraps.java +++ b/src/main/java/com/hbm/items/machine/ItemScraps.java @@ -9,25 +9,39 @@ import com.hbm.inventory.material.Mats; 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.inventory.material.NTMMaterial; import com.hbm.inventory.material.NTMMaterial.SmeltingBehavior; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; 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.IIcon; import net.minecraft.util.StatCollector; public class ItemScraps extends ItemAutogen { + + @SideOnly(Side.CLIENT) public IIcon liquidIcon; + @SideOnly(Side.CLIENT) public IIcon addiviceIcon; public ItemScraps() { super(null); } + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister reg) { + super.registerIcons(reg); + this.liquidIcon = reg.registerIcon(RefStrings.MODID + ":scraps_liquid"); + this.addiviceIcon = reg.registerIcon(RefStrings.MODID + ":scraps_additive"); + } + @Override @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tab, List list) { @@ -38,8 +52,48 @@ public class ItemScraps extends ItemAutogen { } } + @Override + @SideOnly(Side.CLIENT) + public int getColorFromItemStack(ItemStack stack, int layer) { + + if(stack.hasTagCompound() && stack.stackTagCompound.getBoolean("liquid")) { + + NTMMaterial mat = Mats.matById.get(stack.getItemDamage()); + + if(mat != null) { + return mat.moltenColor; + } + } + + return super.getColorFromItemStack(stack, layer); + } + + @SideOnly(Side.CLIENT) + public IIcon getIconIndex(ItemStack stack) { + + if(stack.hasTagCompound() && stack.stackTagCompound.getBoolean("liquid")) { + + NTMMaterial mat = Mats.matById.get(stack.getItemDamage()); + + if(mat != null) { + if(mat.smeltable == mat.smeltable.SMELTABLE) return this.liquidIcon; + if(mat.smeltable == mat.smeltable.ADDITIVE) return this.addiviceIcon; + } + } + + return this.getIconFromDamage(stack.getItemDamage()); + } + @Override public String getItemStackDisplayName(ItemStack stack) { + + if(stack.hasTagCompound() && stack.stackTagCompound.getBoolean("liquid")) { + MaterialStack contents = getMats(stack); + if(contents != null) { + return I18nUtil.resolveKey(contents.material.getUnlocalizedName()); + } + } + return ("" + StatCollector.translateToLocal(this.getUnlocalizedNameInefficiently(stack) + ".name")).trim(); } @@ -48,7 +102,13 @@ public class ItemScraps extends ItemAutogen { MaterialStack contents = getMats(stack); if(contents != null) { - list.add(I18nUtil.resolveKey(contents.material.getUnlocalizedName()) + ", " + Mats.formatAmount(contents.amount, Keyboard.isKeyDown(Keyboard.KEY_LSHIFT))); + + if(stack.hasTagCompound() && stack.stackTagCompound.getBoolean("liquid")) { + list.add(Mats.formatAmount(contents.amount, Keyboard.isKeyDown(Keyboard.KEY_LSHIFT))); + if(contents.material.smeltable == contents.material.smeltable.ADDITIVE) list.add(EnumChatFormatting.DARK_RED + "Additive, not castable!"); + } else { + list.add(I18nUtil.resolveKey(contents.material.getUnlocalizedName()) + ", " + Mats.formatAmount(contents.amount, Keyboard.isKeyDown(Keyboard.KEY_LSHIFT))); + } } } @@ -69,11 +129,16 @@ public class ItemScraps extends ItemAutogen { } public static ItemStack create(MaterialStack stack) { + return create(stack, false); + } + + public static ItemStack create(MaterialStack stack, boolean liquid) { if(stack.material == null) return new ItemStack(ModItems.nothing); //why do i bother adding checks for fucking everything when they don't work ItemStack scrap = new ItemStack(ModItems.scraps, 1, stack.material.id); scrap.stackTagCompound = new NBTTagCompound(); scrap.stackTagCompound.setInteger("amount", stack.amount); + if(liquid) scrap.stackTagCompound.setBoolean("liquid", true); return scrap; } } diff --git a/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java b/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java index b3d26faf8..a33cdff56 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java @@ -23,6 +23,7 @@ import com.hbm.potion.HbmPotion; 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.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; @@ -39,7 +40,7 @@ import net.minecraft.util.Vec3; public class ItemAmmoHIMARS extends Item { - public static HIMARSRocket[] itemTypes = new HIMARSRocket[ /* >>> */ 7 /* <<< */ ]; + public static HIMARSRocket[] itemTypes = new HIMARSRocket[ /* >>> */ 8 /* <<< */ ]; public static final int SMALL = 0; public static final int LARGE = 1; @@ -48,6 +49,7 @@ public class ItemAmmoHIMARS extends Item { public static final int SMALL_TB = 4; 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); @@ -64,6 +66,7 @@ public class ItemAmmoHIMARS extends Item { list.add(new ItemStack(item, 1, SMALL_HE)); list.add(new ItemStack(item, 1, SMALL_WP)); list.add(new ItemStack(item, 1, SMALL_TB)); + list.add(new ItemStack(item, 1, SMALL_LAVA)); list.add(new ItemStack(item, 1, SMALL_MINI_NUKE)); list.add(new ItemStack(item, 1, LARGE)); list.add(new ItemStack(item, 1, LARGE_TB)); @@ -103,6 +106,11 @@ public class ItemAmmoHIMARS extends Item { list.add(r + "Deals nuclear damage"); list.add(r + "Destroys blocks"); break; + case SMALL_LAVA: + list.add(y + "Strength: 20"); + list.add(r + "Creates volcanic lava"); + list.add(r + "Destroys blocks"); + break; case LARGE: list.add(y + "Strength: 50"); list.add(y + "Damage modifier: 5x"); @@ -139,13 +147,13 @@ public class ItemAmmoHIMARS extends Item { public void onUpdate(EntityArtilleryRocket rocket) { } } - public static void standardExplosion(EntityArtilleryRocket rocket, MovingObjectPosition mop, float size, float rangeMod, boolean breaksBlocks) { + public static void standardExplosion(EntityArtilleryRocket rocket, MovingObjectPosition mop, float size, float rangeMod, boolean breaksBlocks, Block slag, int slagMeta) { rocket.worldObj.playSoundEffect(rocket.posX, rocket.posY, rocket.posZ, "hbm:weapon.explosionMedium", 20.0F, 0.9F + rocket.worldObj.rand.nextFloat() * 0.2F); 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); if(breaksBlocks) { xnt.setBlockAllocator(new BlockAllocatorStandard(48)); - xnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop().withBlockEffect(new BlockMutatorDebris(ModBlocks.block_slag, 1))); + xnt.setBlockProcessor(new BlockProcessorStandard().setNoDrop().withBlockEffect(new BlockMutatorDebris(slag, slagMeta))); } xnt.setEntityProcessor(new EntityProcessorCross(7.5).withRangeMod(rangeMod)); xnt.setPlayerProcessor(new PlayerProcessorStandard()); @@ -163,9 +171,10 @@ public class ItemAmmoHIMARS extends Item { 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); }}; - this.itemTypes[SMALL_HE] = new HIMARSRocket("standard_he", "himars_standard_he", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { standardExplosion(rocket, mop, 20F, 3F, true); }}; - this.itemTypes[LARGE] = new HIMARSRocket("single", "himars_single", 1) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { standardExplosion(rocket, mop, 50F, 5F, true); }}; + this.itemTypes[SMALL] = new HIMARSRocket("standard", "himars_standard", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { standardExplosion(rocket, mop, 20F, 3F, false, ModBlocks.slag, 1); }}; + this.itemTypes[SMALL_HE] = new HIMARSRocket("standard_he", "himars_standard_he", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { standardExplosion(rocket, mop, 20F, 3F, true, ModBlocks.slag, 1); }}; + this.itemTypes[SMALL_LAVA] = new HIMARSRocket("standard_lava", "himars_standard_lava", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { standardExplosion(rocket, mop, 20F, 3F, true, ModBlocks.volcanic_lava_block, 0); }}; + this.itemTypes[LARGE] = new HIMARSRocket("single", "himars_single", 1) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { standardExplosion(rocket, mop, 50F, 5F, true, ModBlocks.slag, 1); }}; this.itemTypes[SMALL_MINI_NUKE] = new HIMARSRocket("standard_mini_nuke", "himars_standard_mini_nuke", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { @@ -177,7 +186,7 @@ public class ItemAmmoHIMARS extends Item { this.itemTypes[SMALL_WP] = new HIMARSRocket("standard_wp", "himars_standard_wp", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { - standardExplosion(rocket, mop, 20F, 3F, false); + standardExplosion(rocket, mop, 20F, 3F, false, ModBlocks.slag, 1); ExplosionLarge.spawnShrapnels(rocket.worldObj, (int) mop.hitVec.xCoord, (int) mop.hitVec.yCoord, (int) mop.hitVec.zCoord, 30); ExplosionChaos.burn(rocket.worldObj, (int) mop.hitVec.xCoord, (int) mop.hitVec.yCoord, (int) mop.hitVec.zCoord, 20); int radius = 30; @@ -200,14 +209,14 @@ public class ItemAmmoHIMARS extends Item { this.itemTypes[SMALL_TB] = new HIMARSRocket("standard_tb", "himars_standard_tb", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { - standardExplosion(rocket, mop, 20F, 10F, true); + standardExplosion(rocket, mop, 20F, 10F, true, ModBlocks.slag, 1); 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) { - standardExplosion(rocket, mop, 50F, 12F, true); + standardExplosion(rocket, mop, 50F, 12F, true, ModBlocks.slag, 1); ExplosionLarge.spawnShrapnels(rocket.worldObj, (int) mop.hitVec.xCoord, (int) mop.hitVec.yCoord, (int) mop.hitVec.zCoord, 30); standardMush(rocket, mop, 35); }}; diff --git a/src/main/java/com/hbm/render/tileentity/RenderCompressor.java b/src/main/java/com/hbm/render/tileentity/RenderCompressor.java index 1d6f0a04e..4c8eb0faa 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderCompressor.java +++ b/src/main/java/com/hbm/render/tileentity/RenderCompressor.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 net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; @@ -14,11 +15,35 @@ public class RenderCompressor extends TileEntitySpecialRenderer { GL11.glPushMatrix(); GL11.glTranslated(x + 0.5D, y, z + 0.5D); GL11.glEnable(GL11.GL_LIGHTING); + + switch(tile.getBlockMetadata() - BlockDummyable.offset) { + 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; + case 4: GL11.glRotatef(180, 0F, 1F, 0F); break; + } GL11.glDisable(GL11.GL_CULL_FACE); GL11.glShadeModel(GL11.GL_SMOOTH); bindTexture(ResourceManager.compressor_tex); - ResourceManager.compressor.renderAll(); + ResourceManager.compressor.renderPart("Compressor"); + + double h = (System.currentTimeMillis() * 0.005) % 6D; + + if(h > 3) h = 6 - h; + + GL11.glPushMatrix(); + GL11.glTranslated(0, h - 3, 0); + ResourceManager.compressor.renderPart("Pump"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.5, 0); + GL11.glRotated((System.currentTimeMillis() * -0.5) % 360, 1, 0, 0); + GL11.glTranslated(0, -1.5, 0); + ResourceManager.compressor.renderPart("Fan"); + GL11.glPopMatrix(); + GL11.glShadeModel(GL11.GL_FLAT); GL11.glEnable(GL11.GL_CULL_FACE); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java index 38afcc4fc..932e56e59 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java @@ -1,21 +1,45 @@ package com.hbm.tileentity.machine; +import com.hbm.inventory.container.ContainerCompressor; +import com.hbm.inventory.gui.GUICompressor; +import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; -public class TileEntityMachineCompressor extends TileEntityMachineBase { +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; + +public class TileEntityMachineCompressor extends TileEntityMachineBase implements IGUIProvider { public TileEntityMachineCompressor() { - super(0); + super(1); } @Override public String getName() { - return null; + return "container.machineCompressor"; } @Override public void updateEntity() { + if(!worldObj.isRemote) { + + } + } + + @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); } } diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java b/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java index 0949504e7..7346c5066 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityConverterRfHe.java @@ -40,7 +40,7 @@ public class TileEntityConverterRfHe extends TileEntityLoadedBase implements IEn return 0; if(simulate) - return 0; + return maxReceive; recursionBrake = true; diff --git a/src/main/resources/assets/hbm/models/machines/electrolyser.obj b/src/main/resources/assets/hbm/models/machines/electrolyser.obj index cb38ef317..48e2cfa01 100644 --- a/src/main/resources/assets/hbm/models/machines/electrolyser.obj +++ b/src/main/resources/assets/hbm/models/machines/electrolyser.obj @@ -1,1779 +1,6405 @@ -# Blender v2.79 (sub 0) OBJ File: '' +# Blender v2.79 (sub 0) OBJ File: 'lyser2.blend' # www.blender.org -mtllib electrolyser.mtl -o Cube.002_Cube.011 -v 1.750445 2.755059 -3.250000 -v 2.217445 0.847998 -3.250000 -v 1.717445 0.847998 -3.250000 -v 2.217445 0.847997 -2.750000 -v 1.750445 2.755059 -2.750000 -v 1.717445 0.847997 -2.750000 -v 2.250000 2.754050 -2.750000 -v 2.104444 3.109622 -2.750000 -v 2.250000 2.754050 -3.250000 -v 2.104444 3.109622 -3.250000 -v 1.255321 3.251352 -2.750000 -v 1.609638 3.604429 -2.750000 -v 1.254558 3.751828 -2.749999 -v 1.255321 3.251352 -3.250000 -v 1.609638 3.604429 -3.250000 -v 1.254558 3.751828 -3.249999 -v 0.548897 3.251829 -2.750000 -v 0.548897 3.251829 -3.250000 -v 0.548897 3.751829 -3.249999 -v 1.750445 2.755059 -1.250000 -v 2.217445 0.847997 -1.250000 -v 1.717445 0.847997 -1.250000 -v 2.217445 0.847997 -0.750000 -v 1.750445 2.755059 -0.750000 -v 1.717445 0.847997 -0.750000 -v 2.250000 2.754050 -0.750000 -v 2.104444 3.109622 -0.750000 -v 2.250000 2.754050 -1.250000 -v 2.104444 3.109622 -1.250000 -v 1.255321 3.251351 -0.749999 -v 1.609638 3.604428 -0.749999 -v 1.254558 3.751828 -0.749999 -v 1.255321 3.251351 -1.250000 -v 1.609638 3.604428 -1.249999 -v 1.254558 3.751828 -1.249999 -v 0.548897 3.251829 -0.749999 -v 0.548897 3.251829 -1.250000 -v 0.548897 3.751829 -1.249999 -v 1.750445 2.755059 0.750000 -v 2.217445 0.847997 0.750000 -v 1.717445 0.847997 0.750000 -v 2.217445 0.847997 1.250000 -v 1.750445 2.755059 1.250000 -v 1.717445 0.847997 1.250000 -v 2.250000 2.754050 1.250000 -v 2.104444 3.109622 1.250000 -v 2.250000 2.754050 0.750000 -v 2.104444 3.109622 0.750000 -v 1.255321 3.251351 1.250000 -v 1.609638 3.604428 1.250001 -v 1.254558 3.751828 1.250001 -v 1.255321 3.251351 0.750001 -v 1.609638 3.604428 0.750001 -v 1.254558 3.751828 0.750001 -v 0.548897 3.251829 1.250000 -v 0.548897 3.251829 0.750001 -v 0.548897 3.751829 0.750001 -v 1.750445 2.755059 2.750000 -v 2.217445 0.847997 2.750000 -v 1.717445 0.847997 2.750000 -v 2.217445 0.847996 3.250000 -v 1.750445 2.755059 3.250000 -v 1.717445 0.847996 3.250000 -v 2.250000 2.754050 3.250000 -v 2.104444 3.109622 3.250000 -v 2.250000 2.754050 2.750000 -v 2.104444 3.109622 2.750000 -v 1.255321 3.251351 3.250000 -v 1.609638 3.604428 3.250000 -v 1.254558 3.751827 3.250001 -v 1.255321 3.251351 2.750000 -v 1.609638 3.604428 2.750000 -v 1.254558 3.751827 2.750001 -v 0.548897 3.251828 3.250000 -v 0.548897 3.251828 2.750000 -v 0.548897 3.751828 2.750001 -v -1.500000 -0.000001 4.500000 -v -2.499999 0.000001 -4.500001 -v -1.499999 0.000001 -4.500001 -v -1.499999 1.000001 -4.499999 -v -2.500001 0.999999 4.499999 -v -1.500002 0.999999 4.500000 -v 2.500001 1.000001 -4.499998 -v 2.500000 -0.000001 4.500000 -v 2.500000 0.000001 -4.500000 -v -2.500000 -0.000001 4.500000 -v -2.500000 1.000001 -4.500000 -v 1.500002 1.000001 -4.499999 -v 1.500001 0.000001 -4.500000 -v 2.499999 0.999999 4.500003 -v 1.500000 -0.000001 4.500000 -v 1.499998 0.999999 4.500001 -v -0.750001 2.249999 4.050001 -v 0.750000 2.360113 -3.175483 -v 0.587706 3.889888 -3.175482 -v 0.750000 3.889888 -3.175482 -v 0.750001 2.250001 -4.049997 -v 0.750000 2.250000 0.000001 -v -0.750000 2.250000 0.000000 -v -0.551251 3.999999 3.857973 -v -0.551250 3.807398 -3.857970 -v -0.551250 4.000000 -3.857970 -v 0.749999 2.360112 3.912016 -v 0.587704 3.889886 3.912017 -v 0.749999 3.889886 3.912017 -v 0.587706 2.360114 -3.912014 -v 0.587706 2.360113 -3.175483 -v 0.551250 4.000000 -3.857970 -v -0.750000 4.000000 -4.049997 -v 0.551249 3.999999 3.857974 -v -0.750001 3.999999 4.050001 -v 0.749999 3.999999 4.050002 -v 0.750000 4.000000 0.000002 -v -0.750000 4.000000 0.000001 -v 0.551249 3.807396 3.857974 -v 0.551250 3.807398 -3.857970 -v -0.551251 3.807396 3.857973 -v -0.750001 3.889887 2.162985 -v -0.587706 3.889887 2.899516 -v -0.750001 3.889887 2.899516 -v 0.749999 2.360112 3.175485 -v 0.587704 2.360112 3.912016 -v -0.587706 2.360112 2.899515 -v -0.750001 2.360112 2.899515 -v 0.749999 3.889887 2.899517 -v 0.587705 3.889887 2.162986 -v 0.749999 3.889887 2.162986 -v -0.750001 2.360113 2.162984 -v -0.587706 3.889887 2.162985 -v 0.749999 2.249999 4.050002 -v 0.587705 2.360113 2.162986 -v 0.749999 2.360113 2.162986 -v -0.587706 2.360113 2.162984 -v 0.749999 2.360112 2.899517 -v 0.587704 3.889887 2.899517 -v 0.750000 3.889887 -1.150482 -v 0.587705 3.889887 -1.887013 -v 0.750000 3.889887 -1.887013 -v 0.587704 2.360112 2.899517 -v 0.587705 2.360113 -1.887014 -v 0.750000 2.360113 -1.887014 -v 0.750000 2.250000 -3.037498 -v 0.750001 4.000000 -4.049997 -v 0.750001 2.360114 -3.912014 -v 0.750000 4.000000 -3.037497 -v 0.750001 3.889888 -3.912013 -v -0.750001 2.250000 3.037500 -v -0.750001 2.360112 3.912015 -v -0.750001 2.360112 3.175484 -v -0.750001 4.000000 3.037501 -v -0.750001 3.889886 3.912016 -v -0.750001 3.889887 3.175485 -v -0.750000 2.360113 -0.874515 -v -0.750000 2.250000 -1.012499 -v -0.750000 2.360113 -0.137984 -v -0.750000 4.000000 -1.012498 -v -0.750000 3.889887 -0.137983 -v -0.750000 3.889887 -0.874514 -v 0.750000 2.360113 0.874516 -v 0.750000 2.250000 1.012501 -v 0.750000 2.360113 0.137986 -v 0.750000 3.889887 0.874517 -v 0.750000 3.889887 0.137987 -v 0.750000 4.000000 1.012502 -v 0.749999 2.250000 2.025002 -v 0.749999 2.250000 3.037502 -v 0.749999 4.000000 2.025002 -v 0.749999 4.000000 3.037502 -v -0.750000 2.250000 -3.037498 -v -0.750000 2.360113 -2.162983 -v -0.750000 2.360113 -2.899513 -v -0.750000 4.000000 -2.024998 -v -0.750000 2.250000 -2.024998 -v -0.750000 4.000000 -3.037498 -v -0.750000 3.889887 -2.162983 -v -0.750000 3.889888 -2.899513 -v -0.750001 2.250000 1.012500 -v -0.750001 2.360113 1.887015 -v -0.750001 2.360113 1.150485 -v -0.750001 4.000000 2.025001 -v -0.750001 2.250000 2.025001 -v -0.750001 4.000000 1.012501 -v -0.750001 3.889887 1.887016 -v -0.750001 3.889887 1.150486 -v 0.750000 2.250000 -1.012499 -v 0.750000 2.360113 -1.150483 -v 0.750000 4.000000 -2.024998 -v 0.750000 2.250000 -2.024998 -v 0.750000 4.000000 -1.012498 -v 0.750000 2.360113 -0.137984 -v 0.750000 2.360113 -0.874514 -v 0.750000 3.889887 -0.137983 -v 0.750000 3.889887 -0.874513 -v -0.750001 2.360113 0.874516 -v -0.750000 2.360113 0.137985 -v -0.750001 3.889887 0.874517 -v -0.750000 3.889887 0.137986 -v -0.750000 2.360114 -3.912014 -v -0.750000 2.250001 -4.049997 -v -0.750000 2.360113 -3.175483 -v -0.750000 3.889888 -3.175482 -v -0.750000 3.889888 -3.912013 -v 0.749999 3.889887 3.175486 -v 0.749999 2.360113 1.887016 -v 0.750000 2.360113 1.150486 -v 0.749999 3.889887 1.887017 -v 0.750000 3.889887 1.150487 -v -0.750000 2.360113 -1.887014 -v -0.750000 2.360113 -1.150484 -v -0.750000 3.889887 -1.150483 -v -0.750000 3.889887 -1.887013 -v 0.750000 2.360113 -2.162982 -v 0.750000 2.360113 -2.899513 -v 0.750000 3.889887 -2.162982 -v 0.750000 3.889888 -2.899513 -v -0.587706 2.360112 3.912015 -v -0.587706 3.889887 3.175485 -v -0.587706 2.360112 3.175484 -v -0.587705 2.360113 -0.137984 -v -0.587705 3.889887 -0.874514 -v -0.587705 2.360113 -0.874515 -v 0.587705 2.360113 0.137986 -v 0.587705 3.889887 0.874517 -v 0.587705 2.360113 0.874516 -v -0.587705 2.360113 -2.162983 -v -0.587705 3.889888 -2.899513 -v -0.587705 2.360113 -2.899513 -v -0.587706 2.360113 1.887015 -v -0.587706 3.889887 1.150486 -v -0.587706 2.360113 1.150485 -v 0.587705 3.889887 -1.150482 -v 0.587705 2.360113 -1.150483 -v 0.587705 2.360113 -0.874514 -v 0.587705 3.889887 -0.137983 -v 0.587705 2.360113 -0.137984 -v -0.587706 2.360113 0.874516 -v -0.587705 3.889887 0.137986 -v -0.587705 2.360113 0.137985 -v -0.587705 2.360113 -3.175483 -v -0.587705 3.889888 -3.912013 -v -0.587705 2.360114 -3.912014 -v 0.587704 2.360112 3.175485 -v 0.587705 2.360113 1.150486 -v 0.587705 3.889887 1.887017 -v 0.587705 2.360113 1.887016 -v -0.587705 2.360113 -1.150484 -v -0.587705 3.889887 -1.887013 -v -0.587705 2.360113 -1.887014 -v 0.587706 2.360113 -2.899513 -v 0.587705 3.889887 -2.162982 -v 0.587705 2.360113 -2.162982 -v 0.587704 3.889887 3.175486 -v 0.587706 3.889888 -3.912013 -v 0.587705 3.889887 -0.874513 -v -0.587705 3.889887 -2.162983 -v 0.587706 3.889888 -2.899513 -v -0.587705 3.889887 -0.137983 -v 0.587705 3.889887 1.150487 -v -0.587706 3.889887 0.874517 -v -0.587706 3.889887 1.887016 -v 0.587705 3.889887 0.137987 -v -0.587705 3.889887 -1.150483 -v -0.587706 3.889886 3.912016 -v -0.587705 3.889888 -3.175482 -v 1.027183 1.687541 3.250000 -v 1.445061 0.972984 3.250000 -v 1.027183 0.972984 3.250000 -v 1.445061 1.687541 3.250000 -v 1.445061 0.972984 3.750000 -v 1.445061 1.687541 3.750000 -v 1.027183 0.972984 3.750000 -v 1.027183 1.687542 0.250000 -v 1.445061 0.972985 0.250000 -v 1.027183 0.972985 0.250000 -v 1.445061 1.687542 0.250000 -v 1.445061 0.972985 0.750001 -v 1.445061 1.687542 0.750001 -v 1.027183 0.972985 0.750001 -v 1.027183 1.687542 -0.750000 -v 1.445061 0.972985 -0.750000 -v 1.027183 0.972985 -0.750000 -v 1.445061 1.687542 -0.750000 -v 1.445061 0.972985 -0.250000 -v 1.445061 1.687542 -0.250000 -v 1.027183 0.972985 -0.250000 -v 1.027183 1.687542 -1.750000 -v 1.445061 0.972985 -1.750000 -v 1.027183 0.972985 -1.750000 -v 1.445061 1.687542 -1.750000 -v 1.445061 0.972985 -1.250000 -v 1.445061 1.687542 -1.250000 -v 1.027183 0.972985 -1.250000 -v 1.027183 1.687542 2.250000 -v 1.445061 0.972985 2.250000 -v 1.027183 0.972985 2.250000 -v 1.445061 1.687542 2.250000 -v 1.445061 0.972985 2.750000 -v 1.445061 1.687541 2.750000 -v 1.027183 0.972985 2.750000 -v 1.027183 1.687542 1.250000 -v 1.445061 0.972985 1.250000 -v 1.027183 0.972985 1.250000 -v 1.445061 1.687542 1.250000 -v 1.445061 0.972985 1.750000 -v 1.445061 1.687542 1.750000 -v 1.027183 0.972985 1.750000 -v 1.027183 1.687542 -2.750000 -v 1.445061 0.972986 -2.750000 -v 1.027183 0.972986 -2.750000 -v 1.445061 1.687542 -2.750000 -v 1.445061 0.972985 -2.250000 -v 1.445061 1.687542 -2.250000 -v 1.027183 0.972985 -2.250000 -v 1.027183 1.687543 -3.750000 -v 1.445061 0.972986 -3.750000 -v 1.027183 0.972986 -3.750000 -v 1.445061 1.687543 -3.750000 -v 1.445061 0.972986 -3.250000 -v 1.445061 1.687542 -3.250000 -v 1.027183 0.972986 -3.250000 -v -1.445061 0.972984 3.250000 -v -1.027183 1.687541 3.250000 -v -1.027183 0.972984 3.250000 -v -1.445061 0.972984 3.750001 -v -1.445061 1.687541 3.250000 -v -1.027183 0.972984 3.750001 -v -1.445061 1.687541 3.750001 -v -1.445061 0.972985 0.250001 -v -1.027183 1.687542 0.250001 -v -1.027183 0.972985 0.250001 -v -1.445061 0.972985 0.750001 -v -1.445061 1.687542 0.250001 -v -1.027183 0.972985 0.750001 -v -1.445061 1.687542 0.750001 -v -1.445061 0.972985 -0.750000 -v -1.027183 1.687542 -0.750000 -v -1.027183 0.972985 -0.750000 -v -1.445061 0.972985 -0.249999 -v -1.445061 1.687542 -0.750000 -v -1.027183 0.972985 -0.249999 -v -1.445061 1.687542 -0.249999 -v -1.445061 0.972985 -1.750000 -v -1.027183 1.687542 -1.750000 -v -1.027183 0.972985 -1.750000 -v -1.445061 0.972985 -1.250000 -v -1.445061 1.687542 -1.750000 -v -1.027183 0.972985 -1.250000 -v -1.445061 1.687542 -1.250000 -v -1.445061 0.972985 2.250001 -v -1.027183 1.687542 2.250001 -v -1.027183 0.972985 2.250001 -v -1.445061 0.972985 2.750001 -v -1.445061 1.687542 2.250001 -v -1.027183 0.972985 2.750001 -v -1.445061 1.687541 2.750001 -v -1.445061 0.972985 1.250000 -v -1.027183 1.687542 1.250000 -v -1.027183 0.972985 1.250000 -v -1.445061 0.972985 1.750000 -v -1.445061 1.687542 1.250000 -v -1.027183 0.972985 1.750000 -v -1.445061 1.687542 1.750000 -v -1.445061 0.972986 -2.750000 -v -1.027183 1.687542 -2.750000 -v -1.027183 0.972986 -2.750000 -v -1.445061 0.972985 -2.250000 -v -1.445061 1.687542 -2.750000 -v -1.027183 0.972985 -2.250000 -v -1.445061 1.687542 -2.250000 -v -1.445061 0.972986 -3.750000 -v -1.027183 1.687543 -3.750000 -v -1.027183 0.972986 -3.750000 -v -1.445061 0.972986 -3.250000 -v -1.445061 1.687543 -3.750000 -v -1.027183 0.972986 -3.250000 -v -1.445061 1.687542 -3.250000 -v 0.548897 3.751829 -2.749999 -v 0.548897 3.751829 -0.749999 -v 0.548897 3.751829 1.250001 -v 0.548897 3.751828 3.250001 -v 1.027183 1.687541 3.750000 -v 1.027183 1.687542 0.750001 -v 1.027183 1.687542 -0.250000 -v 1.027183 1.687542 -1.250000 -v 1.027183 1.687541 2.750000 -v 1.027183 1.687542 1.750000 -v 1.027183 1.687542 -2.250000 -v 1.027183 1.687542 -3.250000 -v -1.027183 1.687541 3.750001 -v -1.027183 1.687542 0.750001 -v -1.027183 1.687542 -0.249999 -v -1.027183 1.687542 -1.250000 -v -1.027183 1.687541 2.750001 -v -1.027183 1.687542 1.750000 -v -1.027183 1.687542 -2.250000 -v -1.027183 1.687542 -3.250000 -vt 0.589324 0.739609 -vt 0.625030 0.599581 -vt 0.589324 0.599581 -vt 0.660717 0.599581 -vt 0.696427 0.739609 -vt 0.696427 0.599581 -vt 0.696520 0.869665 -vt 0.660646 0.885395 -vt 0.660646 0.854212 -vt 0.624979 0.885395 -vt 0.589350 0.869665 -vt 0.624979 0.854212 -vt 0.696513 0.869525 -vt 0.660638 0.885394 -vt 0.660639 0.854191 -vt 0.660717 0.739609 -vt 0.696427 0.802086 -vt 0.625030 0.739609 -vt 0.589324 0.802086 -vt 0.625030 0.802086 -vt 0.624971 0.885394 -vt 0.589342 0.869525 -vt 0.624971 0.854191 -vt 0.660717 0.802086 -vt 0.696427 0.853949 -vt 0.625030 0.802086 -vt 0.589324 0.853949 -vt 0.625030 0.853949 -vt 0.589324 0.739609 -vt 0.625030 0.599581 -vt 0.589324 0.599581 -vt 0.660717 0.599581 -vt 0.696427 0.739609 -vt 0.696427 0.599581 -vt 0.696514 0.869665 -vt 0.660640 0.885395 -vt 0.660640 0.854212 -vt 0.624972 0.885395 -vt 0.589343 0.869665 -vt 0.624972 0.854212 -vt 0.696516 0.869531 -vt 0.660642 0.885400 -vt 0.660642 0.854198 -vt 0.660717 0.739609 -vt 0.696427 0.802086 -vt 0.625030 0.739609 -vt 0.589324 0.802086 -vt 0.625030 0.802086 -vt 0.624974 0.885400 -vt 0.589345 0.869531 -vt 0.624974 0.854198 -vt 0.660717 0.802086 -vt 0.696427 0.853949 -vt 0.625030 0.802086 -vt 0.589324 0.853949 -vt 0.625030 0.853949 -vt 0.589324 0.739609 -vt 0.625030 0.599581 -vt 0.589324 0.599581 -vt 0.660717 0.599581 -vt 0.696427 0.739609 -vt 0.696427 0.599581 -vt 0.696513 0.869651 -vt 0.660639 0.885381 -vt 0.660639 0.854198 -vt 0.624971 0.885381 -vt 0.589342 0.869651 -vt 0.624971 0.854198 -vt 0.696516 0.869533 -vt 0.660642 0.885402 -vt 0.660642 0.854199 -vt 0.660717 0.739609 -vt 0.696427 0.802086 -vt 0.625030 0.739609 -vt 0.589324 0.802086 -vt 0.625030 0.802086 -vt 0.624974 0.885402 -vt 0.589345 0.869533 -vt 0.624974 0.854199 -vt 0.660717 0.802086 -vt 0.696427 0.853949 -vt 0.625030 0.802086 -vt 0.589324 0.853949 -vt 0.625030 0.853949 -vt 0.589324 0.739609 -vt 0.625030 0.599581 -vt 0.589324 0.599581 -vt 0.660717 0.599581 -vt 0.696427 0.739609 -vt 0.696427 0.599581 -vt 0.696523 0.869665 -vt 0.660649 0.885395 -vt 0.660649 0.854212 -vt 0.624982 0.885395 -vt 0.589353 0.869665 -vt 0.624982 0.854212 -vt 0.696516 0.869524 -vt 0.660642 0.885393 -vt 0.660642 0.854190 -vt 0.660717 0.739609 -vt 0.696427 0.802086 -vt 0.625030 0.739609 -vt 0.589324 0.802086 -vt 0.625030 0.802086 -vt 0.624974 0.885393 -vt 0.589345 0.869524 -vt 0.624974 0.854190 -vt 0.660717 0.802086 -vt 0.696427 0.853949 -vt 0.625030 0.802086 -vt 0.589324 0.853949 -vt 0.625030 0.853949 -vt 0.071429 1.000000 -vt 0.000000 0.250000 -vt 0.071429 0.250000 -vt 0.596910 0.004769 -vt 0.000595 0.081787 -vt 0.000595 0.004769 -vt 0.357143 0.250000 -vt 1.000000 0.166667 -vt 0.357143 0.166667 -vt 0.285714 0.250000 -vt 0.357143 0.166667 -vt 0.285714 0.166667 -vt 0.357143 0.250000 -vt 1.000000 0.166667 -vt 0.071429 0.250000 -vt 0.000000 0.166667 -vt 0.000000 0.250000 -vt 0.285714 0.250000 -vt 0.285714 0.166667 -vt 0.000000 0.250000 -vt 0.071429 0.166667 -vt 0.000000 0.166667 -vt 0.071429 0.250000 -vt 0.596978 0.004860 -vt 0.000595 0.081775 -vt 0.000595 0.004859 -vt 0.568726 0.729189 -vt 0.413642 0.854246 -vt 0.360755 0.729189 -vt 0.357143 1.000000 -vt 0.285714 0.250000 -vt 0.357143 0.250000 -vt 0.285714 1.000000 -vt 0.491249 0.547007 -vt 0.504420 0.713515 -vt 0.491249 0.713515 -vt 0.568721 0.729189 -vt 0.413637 0.854246 -vt 0.360750 0.729189 -vt 1.000000 0.250000 -vt 0.678507 0.374792 -vt 0.357143 0.250000 -vt 1.000000 0.250000 -vt 0.678506 0.374779 -vt 0.357143 0.250000 -vt 0.370550 0.531218 -vt 0.941964 0.515625 -vt 0.941955 0.531219 -vt 0.491245 0.547007 -vt 0.504415 0.713516 -vt 0.491244 0.713516 -vt 0.504420 0.531305 -vt 0.575836 0.547007 -vt 0.504420 0.547007 -vt 0.583990 0.054533 -vt 0.598170 0.166639 -vt 0.583990 0.149517 -vt 0.014203 0.054533 -vt 0.000000 0.166667 -vt 0.000023 0.037410 -vt 0.299097 0.037410 -vt 0.299097 0.166640 -vt 0.014204 0.149517 -vt 0.370536 0.432292 -vt 0.941955 0.432318 -vt 0.357185 0.432317 -vt 0.370550 0.515608 -vt 0.357185 0.515608 -vt 0.941955 0.416695 -vt 0.370550 0.416695 -vt 0.955193 0.515608 -vt 0.955193 0.432318 -vt 0.504416 0.729062 -vt 0.575832 0.713515 -vt 0.575832 0.729062 -vt 0.575831 0.531306 -vt 0.504415 0.547007 -vt 0.504415 0.531306 -vt 0.589268 0.713515 -vt 0.575832 0.547007 -vt 0.589268 0.547007 -vt 0.504418 0.729061 -vt 0.575835 0.713515 -vt 0.575835 0.729062 -vt 0.491245 0.547007 -vt 0.504416 0.713515 -vt 0.491245 0.713515 -vt 0.514960 0.854246 -vt 0.413642 0.999965 -vt 0.589271 0.713515 -vt 0.575835 0.547007 -vt 0.589271 0.547007 -vt 0.575832 0.531305 -vt 0.504416 0.547007 -vt 0.504416 0.531305 -vt 0.491248 0.547007 -vt 0.504418 0.713515 -vt 0.491248 0.713515 -vt 0.504424 0.729056 -vt 0.575840 0.713509 -vt 0.575840 0.729056 -vt 0.575835 0.531305 -vt 0.504419 0.547007 -vt 0.504419 0.531305 -vt 0.589277 0.713509 -vt 0.575840 0.547000 -vt 0.589276 0.547000 -vt 0.598169 0.015723 -vt 0.533590 0.025210 -vt 0.523401 0.015724 -vt 0.598170 0.166491 -vt 0.587980 0.025210 -vt 0.523401 0.166492 -vt 0.587980 0.157005 -vt 0.533591 0.157005 -vt 0.074790 0.166502 -vt 0.010211 0.157016 -vt 0.064601 0.157016 -vt 0.000022 0.015734 -vt 0.000000 0.166667 -vt 0.074790 0.015734 -vt 0.010211 0.025221 -vt 0.064601 0.025221 -vt 0.299096 0.166502 -vt 0.363675 0.157016 -vt 0.373864 0.166502 -vt 0.299096 0.015734 -vt 0.309285 0.157016 -vt 0.373864 0.015734 -vt 0.309285 0.025221 -vt 0.363675 0.025221 -vt 0.299095 0.015725 -vt 0.234516 0.025212 -vt 0.224327 0.015725 -vt 0.299096 0.166493 -vt 0.288906 0.025211 -vt 0.234517 0.157006 -vt 0.288906 0.157006 -vt 0.224327 0.166493 -vt 0.149558 0.015725 -vt 0.084979 0.025212 -vt 0.074790 0.015726 -vt 0.139369 0.157007 -vt 0.139369 0.025212 -vt 0.149559 0.166493 -vt 0.084980 0.157007 -vt 0.074790 0.166493 -vt 0.523401 0.166502 -vt 0.458822 0.157016 -vt 0.513212 0.157016 -vt 0.448633 0.015734 -vt 0.448633 0.166502 -vt 0.523401 0.015734 -vt 0.458822 0.025221 -vt 0.513212 0.025221 -vt 0.224327 0.166502 -vt 0.159748 0.157016 -vt 0.214138 0.157016 -vt 0.149559 0.015734 -vt 0.149559 0.166502 -vt 0.224327 0.015734 -vt 0.159748 0.025221 -vt 0.214138 0.025221 -vt 0.373864 0.015725 -vt 0.438443 0.025211 -vt 0.384053 0.025211 -vt 0.448633 0.166492 -vt 0.448633 0.015724 -vt 0.373864 0.166493 -vt 0.438443 0.157006 -vt 0.384054 0.157006 -vt 0.309285 0.025211 -vt 0.363674 0.025211 -vt 0.309285 0.157006 -vt 0.363675 0.157006 -vt 0.234517 0.157016 -vt 0.288906 0.157016 -vt 0.234517 0.025221 -vt 0.288906 0.025221 -vt 0.587980 0.157016 -vt 0.598170 0.166502 -vt 0.533591 0.157016 -vt 0.598170 0.015734 -vt 0.533591 0.025221 -vt 0.587980 0.025221 -vt 0.010211 0.025212 -vt 0.000022 0.015726 -vt 0.064601 0.157007 -vt 0.064600 0.025212 -vt 0.010211 0.157007 -vt 0.000000 0.166667 -vt 0.159748 0.025212 -vt 0.214137 0.025212 -vt 0.159748 0.157007 -vt 0.214138 0.157007 -vt 0.438443 0.157016 -vt 0.384054 0.157016 -vt 0.384054 0.025221 -vt 0.438443 0.025221 -vt 0.084980 0.157016 -vt 0.139369 0.157016 -vt 0.084980 0.025221 -vt 0.139369 0.025221 -vt 0.458822 0.025211 -vt 0.513211 0.025210 -vt 0.458822 0.157005 -vt 0.513212 0.157005 -vt 0.514955 0.999965 -vt 0.514955 0.854246 -vt 0.575831 0.547007 -vt 0.504414 0.713515 -vt 0.504414 0.547007 -vt 0.575836 0.547004 -vt 0.504420 0.713513 -vt 0.504420 0.547004 -vt 0.575846 0.547007 -vt 0.504430 0.713516 -vt 0.504430 0.547007 -vt 0.575823 0.547007 -vt 0.504407 0.713516 -vt 0.504407 0.547007 -vt 0.575832 0.547005 -vt 0.504415 0.713513 -vt 0.504416 0.547005 -vt 0.504424 0.713509 -vt 0.504424 0.547000 -vt 0.575835 0.547007 -vt 0.504419 0.713515 -vt 0.504419 0.547007 -vt 0.575836 0.547005 -vt 0.504420 0.713514 -vt 0.504420 0.547005 -vt 0.575833 0.547007 -vt 0.504416 0.713515 -vt 0.504416 0.547007 -vt 0.575831 0.547007 -vt 0.575840 0.547005 -vt 0.504424 0.713513 -vt 0.504424 0.547005 -vt 0.575832 0.547000 -vt 0.504416 0.713509 -vt 0.504416 0.547000 -vt 0.575830 0.547007 -vt 0.504414 0.713515 -vt 0.504414 0.547007 -vt 0.589268 0.713516 -vt 0.589268 0.547007 -vt 0.575835 0.531305 -vt 0.504419 0.531305 -vt 0.589273 0.713515 -vt 0.589273 0.547007 -vt 0.504415 0.729062 -vt 0.575831 0.713516 -vt 0.575831 0.729062 -vt 0.491248 0.547007 -vt 0.491248 0.713515 -vt 0.504420 0.729062 -vt 0.575836 0.713515 -vt 0.575836 0.729062 -vt 0.589272 0.713515 -vt 0.589272 0.547007 -vt 0.575823 0.531305 -vt 0.504407 0.531306 -vt 0.504419 0.729062 -vt 0.575835 0.713515 -vt 0.575835 0.729062 -vt 0.491237 0.547007 -vt 0.491237 0.713516 -vt 0.575830 0.531305 -vt 0.504414 0.531305 -vt 0.589260 0.713516 -vt 0.589260 0.547007 -vt 0.575836 0.531303 -vt 0.504420 0.531303 -vt 0.620737 0.000018 -vt 0.633908 0.166527 -vt 0.620737 0.166527 -vt 0.504407 0.729062 -vt 0.575823 0.713516 -vt 0.575823 0.729062 -vt 0.620743 0.000015 -vt 0.633914 0.166524 -vt 0.620743 0.166524 -vt 0.589267 0.713515 -vt 0.589267 0.547007 -vt 0.575840 0.531303 -vt 0.504424 0.531303 -vt 0.589273 0.713513 -vt 0.589273 0.547004 -vt 0.504414 0.729062 -vt 0.575830 0.713515 -vt 0.575830 0.729062 -vt 0.620747 0.000016 -vt 0.633918 0.166524 -vt 0.620747 0.166524 -vt 0.504420 0.729059 -vt 0.575836 0.713513 -vt 0.575836 0.729059 -vt 0.589276 0.713513 -vt 0.589277 0.547005 -vt 0.575836 0.531304 -vt 0.504420 0.531304 -vt 0.504424 0.729059 -vt 0.575840 0.713513 -vt 0.575840 0.729060 -vt 0.491249 0.547005 -vt 0.491250 0.713514 -vt 0.589273 0.713514 -vt 0.589273 0.547005 -vt 0.575832 0.531303 -vt 0.504416 0.531303 -vt 0.504420 0.729060 -vt 0.575836 0.713514 -vt 0.575836 0.729060 -vt 0.620739 0.000016 -vt 0.633909 0.166524 -vt 0.620739 0.166524 -vt 0.589268 0.713513 -vt 0.589268 0.547005 -vt 0.575846 0.531306 -vt 0.504430 0.531306 -vt 0.504415 0.729060 -vt 0.575832 0.713513 -vt 0.575832 0.729060 -vt 0.491259 0.547007 -vt 0.491259 0.713516 -vt 0.575832 0.531299 -vt 0.504416 0.531299 -vt 0.589282 0.713516 -vt 0.589282 0.547007 -vt 0.575831 0.531305 -vt 0.504414 0.531305 -vt 0.491245 0.547000 -vt 0.491245 0.713509 -vt 0.504430 0.729062 -vt 0.575846 0.713516 -vt 0.575846 0.729062 -vt 0.491244 0.547007 -vt 0.491244 0.713515 -vt 0.589268 0.713509 -vt 0.589268 0.547000 -vt 0.575833 0.531305 -vt 0.504416 0.531305 -vt 0.589268 0.713515 -vt 0.589268 0.547007 -vt 0.504416 0.729056 -vt 0.575832 0.713509 -vt 0.575832 0.729056 -vt 0.620745 0.000012 -vt 0.633916 0.166521 -vt 0.620745 0.166521 -vt 0.504414 0.729062 -vt 0.575831 0.713515 -vt 0.575831 0.729062 -vt 0.589269 0.713515 -vt 0.589269 0.547007 -vt 0.504424 0.531299 -vt 0.504416 0.729062 -vt 0.575832 0.713515 -vt 0.575832 0.729062 -vt 0.620747 0.000012 -vt 0.633918 0.166520 -vt 0.620747 0.166520 -vt 0.491071 0.677083 -vt 0.446398 0.593784 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401808 0.593784 -vt 0.401808 0.677069 -vt 0.357156 0.593784 -vt 0.446398 0.729156 -vt 0.491071 0.677083 -vt 0.446401 0.593787 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401811 0.593787 -vt 0.401811 0.677072 -vt 0.357160 0.593787 -vt 0.446401 0.729159 -vt 0.491071 0.677083 -vt 0.446398 0.593785 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401808 0.593785 -vt 0.401808 0.677070 -vt 0.357156 0.593785 -vt 0.446398 0.729157 -vt 0.491071 0.677083 -vt 0.446406 0.593786 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401816 0.593786 -vt 0.401816 0.677071 -vt 0.357166 0.593786 -vt 0.446406 0.729158 -vt 0.491071 0.677083 -vt 0.446405 0.593786 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401815 0.593786 -vt 0.401815 0.677071 -vt 0.357164 0.593786 -vt 0.446405 0.729158 -vt 0.491071 0.677083 -vt 0.446403 0.593786 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401813 0.593786 -vt 0.401813 0.677071 -vt 0.357162 0.593786 -vt 0.446403 0.729158 -vt 0.491071 0.677083 -vt 0.446406 0.593785 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401815 0.593785 -vt 0.401815 0.677070 -vt 0.357165 0.593785 -vt 0.446406 0.729157 -vt 0.491071 0.677083 -vt 0.446398 0.593787 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401808 0.593787 -vt 0.401808 0.677072 -vt 0.357156 0.593787 -vt 0.446398 0.729159 -vt 0.401811 0.593785 -vt 0.357160 0.677070 -vt 0.357160 0.593785 -vt 0.446401 0.593785 -vt 0.401811 0.677070 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401811 0.729157 -vt 0.401811 0.593784 -vt 0.357160 0.677069 -vt 0.357160 0.593784 -vt 0.446401 0.593784 -vt 0.401811 0.677069 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401811 0.729156 -vt 0.401812 0.593786 -vt 0.357161 0.677070 -vt 0.357161 0.593786 -vt 0.446402 0.593786 -vt 0.401812 0.677070 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401812 0.729157 -vt 0.401812 0.593784 -vt 0.357161 0.677068 -vt 0.357161 0.593784 -vt 0.446402 0.593784 -vt 0.401812 0.677068 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401812 0.729155 -vt 0.401815 0.593784 -vt 0.357165 0.677069 -vt 0.357165 0.593784 -vt 0.446406 0.593784 -vt 0.401815 0.677069 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401815 0.729156 -vt 0.401812 0.593787 -vt 0.357161 0.677072 -vt 0.357161 0.593787 -vt 0.446402 0.593787 -vt 0.401812 0.677072 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401812 0.729159 -vt 0.401815 0.593787 -vt 0.357165 0.677072 -vt 0.357165 0.593787 -vt 0.446406 0.593787 -vt 0.401815 0.677072 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401815 0.729159 -vt 0.401812 0.593784 -vt 0.357161 0.677069 -vt 0.357161 0.593784 -vt 0.446402 0.593784 -vt 0.401812 0.677069 -vt 0.491071 0.593750 -vt 0.446429 0.677083 -vt 0.401812 0.729156 -vt 0.625030 0.739609 -vt 0.660717 0.739609 -vt 0.660717 0.802086 -vt 0.660717 0.853949 -vt 0.625030 0.739609 -vt 0.660717 0.739609 -vt 0.660717 0.802086 -vt 0.660717 0.853949 -vt 0.625030 0.739609 -vt 0.660717 0.739609 -vt 0.660717 0.802086 -vt 0.660717 0.853949 -vt 0.625030 0.739609 -vt 0.660717 0.739609 -vt 0.660717 0.802086 -vt 0.660717 0.853949 -vt -0.000000 1.000000 -vt 0.596910 0.081786 -vt 1.000000 0.250000 -vt 1.000000 0.250000 -vt 0.071429 0.166667 -vt 0.596978 0.081776 -vt 0.389380 0.374791 -vt 0.461662 0.374792 -vt 0.967634 0.374792 -vt 0.895352 0.374792 -vt 0.823070 0.374792 -vt 0.750788 0.374792 -vt 0.533944 0.374792 -vt 0.606225 0.374792 -vt 0.389380 0.374779 -vt 0.461662 0.374779 -vt 0.967634 0.374779 -vt 0.895354 0.374779 -vt 0.823071 0.374779 -vt 0.750787 0.374779 -vt 0.533944 0.374779 -vt 0.606225 0.374779 -vt 0.575836 0.531305 -vt 0.598170 0.037410 -vt 0.523402 0.037410 -vt 0.074792 0.037410 -vt 0.149560 0.037410 -vt 0.448634 0.037410 -vt 0.373865 0.037410 -vt 0.224328 0.037410 -vt 0.074792 0.166640 -vt 0.523402 0.166639 -vt 0.448634 0.166639 -vt 0.373865 0.166640 -vt 0.149560 0.166640 -vt 0.224328 0.166640 -vt 0.514960 0.999965 -vt 0.413637 0.999965 -vt 0.633908 0.000018 -vt 0.633914 0.000015 -vt 0.633918 0.000016 -vt 0.633910 0.000016 -vt 0.633916 0.000012 -vt 0.575840 0.531299 -vt 0.633918 0.000012 -vt 0.357156 0.677069 -vt 0.401808 0.729156 -vt 0.357160 0.677072 -vt 0.401811 0.729159 -vt 0.357156 0.677070 -vt 0.401808 0.729157 -vt 0.357166 0.677071 -vt 0.401816 0.729158 -vt 0.357164 0.677071 -vt 0.401815 0.729158 -vt 0.357162 0.677071 -vt 0.401813 0.729158 -vt 0.357165 0.677070 -vt 0.401815 0.729157 -vt 0.357156 0.677072 -vt 0.401807 0.729159 -vt 0.491071 0.677083 -vt 0.446401 0.729157 -vt 0.491071 0.677083 -vt 0.446401 0.729156 -vt 0.491071 0.677083 -vt 0.446402 0.729157 -vt 0.491071 0.677083 -vt 0.446402 0.729155 -vt 0.491071 0.677083 -vt 0.446406 0.729156 -vt 0.491071 0.677083 -vt 0.446402 0.729159 -vt 0.491071 0.677083 -vt 0.446406 0.729159 -vt 0.491071 0.677083 -vt 0.446402 0.729156 -vt 0.732143 0.598958 -vt 0.732143 0.802083 -vt 0.732143 0.739583 -vt 0.732143 0.854167 -vt 0.732143 0.598958 -vt 0.732143 0.802083 -vt 0.732143 0.739583 -vt 0.732143 0.854167 -vt 0.732143 0.598958 -vt 0.732143 0.802083 -vt 0.732143 0.739583 -vt 0.732143 0.854167 -vt 0.732143 0.598958 -vt 0.732143 0.802083 -vt 0.732143 0.739583 -vt 0.732143 0.854167 +mtllib lyser2.mtl +o Cube_Cube.001 +v 0.500000 1.000000 -5.500000 +v -0.500000 1.000000 -5.500000 +v -1.500000 0.000000 -4.500000 +v -1.500000 0.000000 -3.500000 +v -1.500000 0.000000 5.500000 +v -1.500000 1.000000 -1.500000 +v -1.500000 1.000000 -2.500000 +v -1.500000 1.000000 -3.500000 +v -1.500000 1.000000 -4.500000 +v -1.500000 1.000000 -5.500000 +v 3.500000 0.000000 5.500000 +v 3.500000 0.000000 2.500000 +v 3.500000 0.000000 1.500000 +v 3.500000 0.000000 0.500000 +v 3.500000 0.000000 -0.500000 +v 3.500000 0.000000 -1.500000 +v 3.500000 0.000000 -2.500000 +v 3.500000 0.000000 -3.500000 +v 3.500000 0.000000 -4.500000 +v 3.500000 0.000000 -5.500000 +v 3.500000 1.000000 -5.500000 +v 3.500000 1.000000 -4.500000 +v 3.500000 1.000000 -3.500000 +v 3.500000 1.000000 -2.500000 +v 3.500000 1.000000 -1.500000 +v 3.500000 1.000000 -0.500000 +v 3.500000 1.000000 0.500000 +v 3.500000 1.000000 1.500000 +v 3.500000 1.000000 2.500000 +v 3.500000 1.000000 5.500000 +v 1.500000 1.000000 -5.500000 +v 1.500000 1.000000 -4.500000 +v 1.500000 1.000000 -3.500000 +v 1.500000 1.000000 -2.500000 +v 1.500000 1.000000 -1.500000 +v 1.500000 1.000000 -0.500000 +v 1.500000 1.000000 0.500000 +v 1.500000 1.000000 1.500000 +v 1.500000 1.000000 2.500000 +v 1.250000 0.750000 5.500000 +v -1.500000 1.000000 -0.500000 +v -1.500000 1.000000 0.500000 +v -1.500000 1.000000 1.500000 +v -1.500000 1.000000 2.500000 +v -1.500000 0.000000 -5.500000 +v -1.500000 0.000000 -2.500000 +v -1.500000 0.000000 -1.500000 +v -1.500000 0.000000 -0.500000 +v -1.500000 0.000000 0.500000 +v -1.500000 0.000000 1.500000 +v -1.500000 0.000000 2.500000 +v -1.250000 0.250000 5.500000 +v 1.500000 0.000000 -5.500000 +v 1.500000 0.000000 -4.500000 +v 1.500000 0.000000 -3.500000 +v 1.500000 0.000000 -2.500000 +v 1.500000 0.000000 -1.500000 +v 1.500000 0.000000 -0.500000 +v 1.500000 0.000000 0.500000 +v 1.500000 0.000000 1.500000 +v 1.500000 0.000000 2.500000 +v 1.250000 0.250000 5.500000 +v -0.500000 0.000000 -5.500000 +v -0.500000 0.000000 -4.500000 +v -0.500000 0.000000 -3.500000 +v -0.500000 0.000000 -2.500000 +v -0.500000 0.000000 -1.500000 +v -0.500000 0.000000 -0.500000 +v -0.500000 0.000000 0.500000 +v -0.500000 0.000000 1.500000 +v -0.500000 0.000000 2.500000 +v -0.250000 0.250000 5.500000 +v 0.500000 0.000000 -5.500000 +v 0.500000 0.000000 -4.500000 +v 0.500000 0.000000 -3.500000 +v 0.500000 0.000000 -2.500000 +v 0.500000 0.000000 -1.500000 +v 0.500000 0.000000 -0.500000 +v 0.500000 0.000000 0.500000 +v 0.500000 0.000000 1.500000 +v 0.500000 0.000000 2.500000 +v 0.250000 0.250000 5.500000 +v 0.250000 3.000000 -5.250000 +v 0.375000 3.000000 -4.500000 +v 0.375000 3.000000 -3.500000 +v 0.375000 3.000000 -2.500000 +v 0.375000 3.000000 -1.500000 +v 0.375000 3.000000 -0.500000 +v 0.375000 3.000000 0.500000 +v 0.375000 3.000000 1.500000 +v 0.375000 3.000000 2.500000 +v -0.250000 3.000000 -5.250000 +v -0.375000 3.000000 -4.500000 +v -0.375000 3.000000 -3.500000 +v -0.375000 3.000000 -2.500000 +v -0.375000 3.000000 -1.500000 +v -0.375000 3.000000 -0.500000 +v -0.375000 3.000000 0.500000 +v -0.375000 3.000000 1.500000 +v -0.375000 3.000000 2.500000 +v -1.250000 0.750000 5.500000 +v -0.750000 0.750000 5.500000 +v 0.750000 0.750000 5.500000 +v -0.250000 3.000000 5.250000 +v 0.250000 3.000000 5.250000 +v 0.750000 0.250000 5.500000 +v -0.750000 0.250000 5.500000 +v 0.187500 0.687500 5.437500 +v -0.250000 0.750000 5.500000 +v 0.250000 0.750000 5.500000 +v -0.187500 0.687500 5.437500 +v 0.187500 0.312500 5.437500 +v -0.187500 0.312500 5.437500 +v 0.250000 0.750000 5.437500 +v -0.250000 0.750000 5.437500 +v 0.250000 0.250000 5.437500 +v -0.250000 0.250000 5.437500 +v 0.187500 0.687500 5.500000 +v -0.187500 0.687500 5.500000 +v 0.187500 0.312500 5.500000 +v -0.187500 0.312500 5.500000 +v -0.500000 0.000000 5.500000 +v 1.500000 0.000000 5.500000 +v 0.500000 0.000000 5.500000 +v 1.500000 1.000000 5.500000 +v -1.500000 1.000000 5.500000 +v -0.500000 1.000000 5.500000 +v 0.500000 1.000000 5.500000 +v -0.812500 0.312500 5.437500 +v -1.187500 0.312500 5.437500 +v 1.187500 0.312500 5.437500 +v 0.812500 0.312500 5.437500 +v 1.187500 0.687500 5.437500 +v -1.187500 0.687500 5.437500 +v -0.812500 0.687500 5.437500 +v 0.812500 0.687500 5.437500 +v -0.750000 0.250000 5.437500 +v -1.250000 0.250000 5.437500 +v 1.250000 0.250000 5.437500 +v 0.750000 0.250000 5.437500 +v 1.250000 0.750000 5.437500 +v -1.250000 0.750000 5.437500 +v -0.750000 0.750000 5.437500 +v 0.750000 0.750000 5.437500 +v -0.812500 0.312500 5.500000 +v -1.187500 0.312500 5.500000 +v 1.187500 0.312500 5.500000 +v 0.812500 0.312500 5.500000 +v 1.187500 0.687500 5.500000 +v -1.187500 0.687500 5.500000 +v -0.812500 0.687500 5.500000 +v 0.812500 0.687500 5.500000 +v -1.250000 0.750000 -5.500000 +v -0.750000 0.750000 -5.500000 +v -0.750000 0.250000 -5.500000 +v -1.250000 0.250000 -5.500000 +v 0.250000 0.250000 -5.500000 +v -0.250000 0.250000 -5.500000 +v -0.250000 0.750000 -5.500000 +v 0.250000 0.750000 -5.500000 +v 0.750000 0.750000 -5.500000 +v 1.250000 0.750000 -5.500000 +v 1.250000 0.250000 -5.500000 +v 0.750000 0.250000 -5.500000 +v -0.812500 0.687500 -5.437500 +v -1.187500 0.687500 -5.437500 +v -1.187500 0.312500 -5.437500 +v -0.812500 0.312500 -5.437500 +v 0.187500 0.312500 -5.437500 +v -0.187500 0.312500 -5.437500 +v 0.187500 0.687500 -5.437500 +v -0.187500 0.687500 -5.437500 +v 0.812500 0.687500 -5.437500 +v 1.187500 0.687500 -5.437500 +v 0.812500 0.312500 -5.437500 +v 1.187500 0.312500 -5.437500 +v -0.750000 0.750000 -5.437500 +v -1.250000 0.750000 -5.437500 +v -1.250000 0.250000 -5.437500 +v -0.750000 0.250000 -5.437500 +v 0.250000 0.250000 -5.437500 +v -0.250000 0.250000 -5.437500 +v 0.250000 0.750000 -5.437500 +v -0.250000 0.750000 -5.437500 +v 0.750000 0.750000 -5.437500 +v 1.250000 0.750000 -5.437500 +v 0.750000 0.250000 -5.437500 +v 1.250000 0.250000 -5.437500 +v -0.812500 0.687500 -5.500000 +v -1.187500 0.687500 -5.500000 +v -1.187500 0.312500 -5.500000 +v -0.812500 0.312500 -5.500000 +v 0.187500 0.312500 -5.500000 +v -0.187500 0.312500 -5.500000 +v 0.187500 0.687500 -5.500000 +v -0.187500 0.687500 -5.500000 +v 0.812500 0.687500 -5.500000 +v 1.187500 0.687500 -5.500000 +v 0.812500 0.312500 -5.500000 +v 1.187500 0.312500 -5.500000 +v -1.500000 0.000000 3.500000 +v -1.500000 1.000000 4.500000 +v 3.500000 0.000000 4.500000 +v 3.500000 0.000000 3.500000 +v 3.500000 1.000000 3.500000 +v 3.500000 1.000000 4.500000 +v 1.500000 1.000000 3.500000 +v 1.500000 1.000000 4.500000 +v -1.500000 0.000000 4.500000 +v 1.500000 0.000000 3.500000 +v 1.500000 0.000000 4.500000 +v -0.500000 0.000000 3.500000 +v -0.500000 0.000000 4.500000 +v 0.500000 0.000000 3.500000 +v 0.500000 0.000000 4.500000 +v -1.500000 1.000000 3.500000 +v 0.375000 3.000000 3.500000 +v 0.375000 3.000000 4.500000 +v -0.375000 3.000000 3.500000 +v -0.375000 3.000000 4.500000 +v -0.500000 3.000000 -5.500000 +v -0.500000 3.000000 -4.500000 +v 0.500000 3.000000 -4.500000 +v 0.500000 3.000000 -5.500000 +v 0.500000 3.000000 -3.500000 +v 0.500000 3.000000 -2.500000 +v 0.500000 3.000000 -1.500000 +v 0.500000 3.000000 -0.500000 +v 0.500000 3.000000 0.500000 +v 0.500000 3.000000 1.500000 +v 0.500000 3.000000 2.500000 +v -0.500000 3.000000 -3.500000 +v -0.500000 3.000000 -2.500000 +v -0.500000 3.000000 -1.500000 +v -0.500000 3.000000 -0.500000 +v -0.500000 3.000000 0.500000 +v -0.500000 3.000000 1.500000 +v -0.500000 3.000000 2.500000 +v 0.500000 3.000000 5.500000 +v -0.500000 3.000000 5.500000 +v 0.500000 3.000000 4.500000 +v -0.500000 3.000000 4.500000 +v 0.500000 3.000000 3.500000 +v -0.500000 3.000000 3.500000 +v -0.375000 3.875000 -3.500000 +v 0.375000 3.875000 -3.500000 +v -0.375000 3.875000 -2.500000 +v 0.375000 3.875000 -2.500000 +v -0.250000 3.875000 -1.500000 +v 0.250000 3.875000 -1.500000 +v -0.250000 3.875000 -0.500000 +v 0.250000 3.875000 -0.500000 +v -0.250000 3.875000 0.500000 +v 0.250000 3.875000 0.500000 +v -0.375000 3.875000 1.500000 +v 0.375000 3.875000 1.500000 +v -0.375000 3.875000 2.500000 +v 0.250000 3.875000 2.500000 +v -0.375000 3.875000 3.500000 +v 0.250000 3.875000 3.500000 +v -0.250000 3.875000 -4.250000 +v 0.250000 3.875000 -4.250000 +v -0.250000 3.625000 4.500000 +v -0.250000 3.875000 4.250000 +v 0.250000 3.875000 4.250000 +v 0.250000 3.625000 4.500000 +v 0.250000 3.875000 -3.500000 +v 0.250000 3.875000 -2.500000 +v 0.375000 3.875000 -1.500000 +v 0.375000 3.875000 -0.500000 +v 0.375000 3.875000 0.500000 +v 0.250000 3.875000 1.500000 +v 0.375000 3.875000 2.500000 +v -0.250000 3.875000 -3.500000 +v -0.250000 3.875000 -2.500000 +v -0.375000 3.875000 -1.500000 +v -0.375000 3.875000 -0.500000 +v -0.375000 3.875000 0.500000 +v -0.250000 3.875000 1.500000 +v -0.250000 3.875000 2.500000 +v 0.375000 3.875000 3.500000 +v -0.250000 3.875000 3.500000 +v -0.375000 3.875000 -4.375000 +v 0.375000 3.875000 -4.375000 +v 0.375000 3.875000 4.375000 +v -0.375000 3.875000 4.375000 +v -0.250000 4.000000 -3.500000 +v 0.187500 4.000000 -3.500000 +v -0.187500 4.000000 -2.500000 +v 0.187500 4.000000 -2.500000 +v -0.187500 4.000000 -1.500000 +v 0.250000 4.000000 -1.500000 +v -0.250000 4.000000 -0.500000 +v 0.250000 4.000000 -0.500000 +v -0.250000 4.000000 0.500000 +v 0.250000 4.000000 0.500000 +v -0.250000 4.000000 1.500000 +v 0.250000 4.000000 1.500000 +v -0.250000 4.000000 2.500000 +v 0.250000 4.000000 2.500000 +v -0.250000 4.000000 3.500000 +v 0.250000 4.000000 3.500000 +v -0.187500 4.000000 -4.187500 +v 0.187500 4.000000 -4.187500 +v 0.187500 4.000000 4.187500 +v -0.187500 4.000000 4.187500 +v -0.375000 3.000000 -5.375000 +v -0.250000 3.000000 -4.500000 +v 0.250000 3.000000 -4.500000 +v 0.375000 3.000000 -5.375000 +v 0.375000 3.000000 5.375000 +v -0.375000 3.000000 5.375000 +v 0.250000 3.000000 4.500000 +v -0.250000 3.000000 4.500000 +v 0.375000 3.750000 -4.500000 +v -0.375000 3.750000 -4.500000 +v -0.375000 3.750000 4.500000 +v 0.375000 3.750000 4.500000 +v -0.250000 3.625000 -4.500000 +v 0.250000 3.625000 -4.500000 +v -0.250000 3.625000 -5.250000 +v 0.250000 3.625000 -5.250000 +v 0.250000 3.625000 5.250000 +v -0.250000 3.625000 5.250000 +v 0.250000 4.000000 -3.500000 +v 0.250000 4.000000 -2.500000 +v 0.187500 4.000000 -1.500000 +v 0.187500 4.000000 -0.500000 +v 0.187500 4.000000 0.500000 +v 0.187500 4.000000 1.500000 +v 0.187500 4.000000 2.500000 +v -0.187500 4.000000 -3.500000 +v -0.250000 4.000000 -2.500000 +v -0.250000 4.000000 -1.500000 +v -0.187500 4.000000 -0.500000 +v -0.187500 4.000000 0.500000 +v -0.187500 4.000000 1.500000 +v -0.187500 4.000000 2.500000 +v 0.187500 4.000000 3.500000 +v -0.187500 4.000000 3.500000 +v -0.250000 4.000000 -4.250000 +v 0.250000 4.000000 -4.250000 +v 0.250000 4.000000 4.250000 +v -0.250000 4.000000 4.250000 +v -0.187500 3.875000 -3.500000 +v 0.187500 3.875000 -3.500000 +v -0.187500 3.875000 -2.500000 +v 0.187500 3.875000 -2.500000 +v -0.187500 3.875000 -1.500000 +v 0.187500 3.875000 -1.500000 +v -0.187500 3.875000 -0.500000 +v 0.187500 3.875000 -0.500000 +v -0.187500 3.875000 0.500000 +v 0.187500 3.875000 0.500000 +v -0.187500 3.875000 1.500000 +v 0.187500 3.875000 1.500000 +v -0.187500 3.875000 2.500000 +v 0.187500 3.875000 2.500000 +v -0.187500 3.875000 3.500000 +v 0.187500 3.875000 3.500000 +v -0.187500 3.875000 -4.187500 +v 0.187500 3.875000 -4.187500 +v 0.187500 3.875000 4.187500 +v -0.187500 3.875000 4.187500 +v -1.437500 1.875000 -4.750000 +v -1.437500 2.000000 -4.750000 +v -1.437500 1.875000 -5.250000 +v -1.437500 2.000000 -5.250000 +v -0.937500 1.875000 -4.750000 +v -0.937500 2.000000 -4.750000 +v -0.937500 1.875000 -5.250000 +v -0.937500 2.000000 -5.250000 +v -1.437500 1.875000 -5.125000 +v -1.437500 1.875000 -4.875000 +v -1.437500 2.000000 -4.875000 +v -1.437500 2.000000 -5.125000 +v -0.937500 1.875000 -4.875000 +v -0.937500 1.875000 -5.125000 +v -0.937500 2.000000 -5.125000 +v -0.937500 2.000000 -4.875000 +v -1.062500 1.875000 -5.250000 +v -1.312500 1.875000 -5.250000 +v -1.312500 2.000000 -5.250000 +v -1.062500 2.000000 -5.250000 +v -1.312500 1.875000 -4.750000 +v -1.062500 1.875000 -4.750000 +v -1.062500 2.000000 -4.750000 +v -1.312500 2.000000 -4.750000 +v -1.312500 2.000000 -5.125000 +v -1.062500 2.000000 -5.125000 +v -1.312500 2.000000 -4.875000 +v -1.062500 2.000000 -4.875000 +v -1.062500 1.875000 -5.125000 +v -1.312500 1.875000 -5.125000 +v -1.062500 1.875000 -4.875000 +v -1.312500 1.875000 -4.875000 +v -1.437500 1.125000 -4.875000 +v -1.437500 1.125000 -4.750000 +v -1.312500 1.125000 -5.250000 +v -1.437500 1.125000 -5.250000 +v -1.437500 1.125000 -5.125000 +v -1.312500 1.125000 -5.125000 +v -1.312500 1.125000 -4.875000 +v -1.312500 1.125000 -4.750000 +v -1.437500 1.875000 -3.750000 +v -1.437500 2.000000 -3.750000 +v -1.437500 1.875000 -4.250000 +v -1.437500 2.000000 -4.250000 +v -0.937500 1.875000 -3.750000 +v -0.937500 2.000000 -3.750000 +v -0.937500 1.875000 -4.250000 +v -0.937500 2.000000 -4.250000 +v -1.437500 1.875000 -4.125000 +v -1.437500 1.875000 -3.875000 +v -1.437500 2.000000 -3.875000 +v -1.437500 2.000000 -4.125000 +v -0.937500 1.875000 -3.875000 +v -0.937500 1.875000 -4.125000 +v -0.937500 2.000000 -4.125000 +v -0.937500 2.000000 -3.875000 +v -1.062500 1.875000 -4.250000 +v -1.312500 1.875000 -4.250000 +v -1.312500 2.000000 -4.250000 +v -1.062500 2.000000 -4.250000 +v -1.312500 1.875000 -3.750000 +v -1.062500 1.875000 -3.750000 +v -1.062500 2.000000 -3.750000 +v -1.312500 2.000000 -3.750000 +v -1.312500 2.000000 -4.125000 +v -1.062500 2.000000 -4.125000 +v -1.312500 2.000000 -3.875000 +v -1.062500 2.000000 -3.875000 +v -1.062500 1.875000 -4.125000 +v -1.312500 1.875000 -4.125000 +v -1.062500 1.875000 -3.875000 +v -1.312500 1.875000 -3.875000 +v -1.437500 1.125000 -3.875000 +v -1.437500 1.125000 -3.750000 +v -1.312500 1.125000 -4.250000 +v -1.437500 1.125000 -4.250000 +v -1.437500 1.125000 -4.125000 +v -1.312500 1.125000 -4.125000 +v -1.312500 1.125000 -3.875000 +v -1.312500 1.125000 -3.750000 +v -1.437500 1.875000 -2.750000 +v -1.437500 2.000000 -2.750000 +v -1.437500 1.875000 -3.250000 +v -1.437500 2.000000 -3.250000 +v -0.937500 1.875000 -2.750000 +v -0.937500 2.000000 -2.750000 +v -0.937500 1.875000 -3.250000 +v -0.937500 2.000000 -3.250000 +v -1.437500 1.875000 -3.125000 +v -1.437500 1.875000 -2.875000 +v -1.437500 2.000000 -2.875000 +v -1.437500 2.000000 -3.125000 +v -0.937500 1.875000 -2.875000 +v -0.937500 1.875000 -3.125000 +v -0.937500 2.000000 -3.125000 +v -0.937500 2.000000 -2.875000 +v -1.062500 1.875000 -3.250000 +v -1.312500 1.875000 -3.250000 +v -1.312500 2.000000 -3.250000 +v -1.062500 2.000000 -3.250000 +v -1.312500 1.875000 -2.750000 +v -1.062500 1.875000 -2.750000 +v -1.062500 2.000000 -2.750000 +v -1.312500 2.000000 -2.750000 +v -1.312500 2.000000 -3.125000 +v -1.062500 2.000000 -3.125000 +v -1.312500 2.000000 -2.875000 +v -1.062500 2.000000 -2.875000 +v -1.062500 1.875000 -3.125000 +v -1.312500 1.875000 -3.125000 +v -1.062500 1.875000 -2.875000 +v -1.312500 1.875000 -2.875000 +v -1.437500 1.125000 -2.875000 +v -1.437500 1.125000 -2.750000 +v -1.312500 1.125000 -3.250000 +v -1.437500 1.125000 -3.250000 +v -1.437500 1.125000 -3.125000 +v -1.312500 1.125000 -3.125000 +v -1.312500 1.125000 -2.875000 +v -1.312500 1.125000 -2.750000 +v -1.437500 1.875000 -1.750000 +v -1.437500 2.000000 -1.750000 +v -1.437500 1.875000 -2.250000 +v -1.437500 2.000000 -2.250000 +v -0.937500 1.875000 -1.750000 +v -0.937500 2.000000 -1.750000 +v -0.937500 1.875000 -2.250000 +v -0.937500 2.000000 -2.250000 +v -1.437500 1.875000 -2.125000 +v -1.437500 1.875000 -1.875000 +v -1.437500 2.000000 -1.875000 +v -1.437500 2.000000 -2.125000 +v -0.937500 1.875000 -1.875000 +v -0.937500 1.875000 -2.125000 +v -0.937500 2.000000 -2.125000 +v -0.937500 2.000000 -1.875000 +v -1.062500 1.875000 -2.250000 +v -1.312500 1.875000 -2.250000 +v -1.312500 2.000000 -2.250000 +v -1.062500 2.000000 -2.250000 +v -1.312500 1.875000 -1.750000 +v -1.062500 1.875000 -1.750000 +v -1.062500 2.000000 -1.750000 +v -1.312500 2.000000 -1.750000 +v -1.312500 2.000000 -2.125000 +v -1.062500 2.000000 -2.125000 +v -1.312500 2.000000 -1.875000 +v -1.062500 2.000000 -1.875000 +v -1.062500 1.875000 -2.125000 +v -1.312500 1.875000 -2.125000 +v -1.062500 1.875000 -1.875000 +v -1.312500 1.875000 -1.875000 +v -1.437500 1.125000 -1.875000 +v -1.437500 1.125000 -1.750000 +v -1.312500 1.125000 -2.250000 +v -1.437500 1.125000 -2.250000 +v -1.437500 1.125000 -2.125000 +v -1.312500 1.125000 -2.125000 +v -1.312500 1.125000 -1.875000 +v -1.312500 1.125000 -1.750000 +v -1.437500 1.875000 -0.750000 +v -1.437500 2.000000 -0.750000 +v -1.437500 1.875000 -1.250000 +v -1.437500 2.000000 -1.250000 +v -0.937500 1.875000 -0.750000 +v -0.937500 2.000000 -0.750000 +v -0.937500 1.875000 -1.250000 +v -0.937500 2.000000 -1.250000 +v -1.437500 1.875000 -1.125000 +v -1.437500 1.875000 -0.875000 +v -1.437500 2.000000 -0.875000 +v -1.437500 2.000000 -1.125000 +v -0.937500 1.875000 -0.875000 +v -0.937500 1.875000 -1.125000 +v -0.937500 2.000000 -1.125000 +v -0.937500 2.000000 -0.875000 +v -1.062500 1.875000 -1.250000 +v -1.312500 1.875000 -1.250000 +v -1.312500 2.000000 -1.250000 +v -1.062500 2.000000 -1.250000 +v -1.312500 1.875000 -0.750000 +v -1.062500 1.875000 -0.750000 +v -1.062500 2.000000 -0.750000 +v -1.312500 2.000000 -0.750000 +v -1.312500 2.000000 -1.125000 +v -1.062500 2.000000 -1.125000 +v -1.312500 2.000000 -0.875000 +v -1.062500 2.000000 -0.875000 +v -1.062500 1.875000 -1.125000 +v -1.312500 1.875000 -1.125000 +v -1.062500 1.875000 -0.875000 +v -1.312500 1.875000 -0.875000 +v -1.437500 1.125000 -0.875000 +v -1.437500 1.125000 -0.750000 +v -1.312500 1.125000 -1.250000 +v -1.437500 1.125000 -1.250000 +v -1.437500 1.125000 -1.125000 +v -1.312500 1.125000 -1.125000 +v -1.312500 1.125000 -0.875000 +v -1.312500 1.125000 -0.750000 +v -1.437500 1.875000 0.250000 +v -1.437500 2.000000 0.250000 +v -1.437500 1.875000 -0.250000 +v -1.437500 2.000000 -0.250000 +v -0.937500 1.875000 0.250000 +v -0.937500 2.000000 0.250000 +v -0.937500 1.875000 -0.250000 +v -0.937500 2.000000 -0.250000 +v -1.437500 1.875000 -0.125000 +v -1.437500 1.875000 0.125000 +v -1.437500 2.000000 0.125000 +v -1.437500 2.000000 -0.125000 +v -0.937500 1.875000 0.125000 +v -0.937500 1.875000 -0.125000 +v -0.937500 2.000000 -0.125000 +v -0.937500 2.000000 0.125000 +v -1.062500 1.875000 -0.250000 +v -1.312500 1.875000 -0.250000 +v -1.312500 2.000000 -0.250000 +v -1.062500 2.000000 -0.250000 +v -1.312500 1.875000 0.250000 +v -1.062500 1.875000 0.250000 +v -1.062500 2.000000 0.250000 +v -1.312500 2.000000 0.250000 +v -1.312500 2.000000 -0.125000 +v -1.062500 2.000000 -0.125000 +v -1.312500 2.000000 0.125000 +v -1.062500 2.000000 0.125000 +v -1.062500 1.875000 -0.125000 +v -1.312500 1.875000 -0.125000 +v -1.062500 1.875000 0.125000 +v -1.312500 1.875000 0.125000 +v -1.437500 1.125000 0.125000 +v -1.437500 1.125000 0.250000 +v -1.312500 1.125000 -0.250000 +v -1.437500 1.125000 -0.250000 +v -1.437500 1.125000 -0.125000 +v -1.312500 1.125000 -0.125000 +v -1.312500 1.125000 0.125000 +v -1.312500 1.125000 0.250000 +v -1.437500 1.875000 1.250000 +v -1.437500 2.000000 1.250000 +v -1.437500 1.875000 0.750000 +v -1.437500 2.000000 0.750000 +v -0.937500 1.875000 1.250000 +v -0.937500 2.000000 1.250000 +v -0.937500 1.875000 0.750000 +v -0.937500 2.000000 0.750000 +v -1.437500 1.875000 0.875000 +v -1.437500 1.875000 1.125000 +v -1.437500 2.000000 1.125000 +v -1.437500 2.000000 0.875000 +v -0.937500 1.875000 1.125000 +v -0.937500 1.875000 0.875000 +v -0.937500 2.000000 0.875000 +v -0.937500 2.000000 1.125000 +v -1.062500 1.875000 0.750000 +v -1.312500 1.875000 0.750000 +v -1.312500 2.000000 0.750000 +v -1.062500 2.000000 0.750000 +v -1.312500 1.875000 1.250000 +v -1.062500 1.875000 1.250000 +v -1.062500 2.000000 1.250000 +v -1.312500 2.000000 1.250000 +v -1.312500 2.000000 0.875000 +v -1.062500 2.000000 0.875000 +v -1.312500 2.000000 1.125000 +v -1.062500 2.000000 1.125000 +v -1.062500 1.875000 0.875000 +v -1.312500 1.875000 0.875000 +v -1.062500 1.875000 1.125000 +v -1.312500 1.875000 1.125000 +v -1.437500 1.125000 1.125000 +v -1.437500 1.125000 1.250000 +v -1.312500 1.125000 0.750000 +v -1.437500 1.125000 0.750000 +v -1.437500 1.125000 0.875000 +v -1.312500 1.125000 0.875000 +v -1.312500 1.125000 1.125000 +v -1.312500 1.125000 1.250000 +v -1.437500 1.875000 2.250000 +v -1.437500 2.000000 2.250000 +v -1.437500 1.875000 1.750000 +v -1.437500 2.000000 1.750000 +v -0.937500 1.875000 2.250000 +v -0.937500 2.000000 2.250000 +v -0.937500 1.875000 1.750000 +v -0.937500 2.000000 1.750000 +v -1.437500 1.875000 1.875000 +v -1.437500 1.875000 2.125000 +v -1.437500 2.000000 2.125000 +v -1.437500 2.000000 1.875000 +v -0.937500 1.875000 2.125000 +v -0.937500 1.875000 1.875000 +v -0.937500 2.000000 1.875000 +v -0.937500 2.000000 2.125000 +v -1.062500 1.875000 1.750000 +v -1.312500 1.875000 1.750000 +v -1.312500 2.000000 1.750000 +v -1.062500 2.000000 1.750000 +v -1.312500 1.875000 2.250000 +v -1.062500 1.875000 2.250000 +v -1.062500 2.000000 2.250000 +v -1.312500 2.000000 2.250000 +v -1.312500 2.000000 1.875000 +v -1.062500 2.000000 1.875000 +v -1.312500 2.000000 2.125000 +v -1.062500 2.000000 2.125000 +v -1.062500 1.875000 1.875000 +v -1.312500 1.875000 1.875000 +v -1.062500 1.875000 2.125000 +v -1.312500 1.875000 2.125000 +v -1.437500 1.125000 2.125000 +v -1.437500 1.125000 2.250000 +v -1.312500 1.125000 1.750000 +v -1.437500 1.125000 1.750000 +v -1.437500 1.125000 1.875000 +v -1.312500 1.125000 1.875000 +v -1.312500 1.125000 2.125000 +v -1.312500 1.125000 2.250000 +v -1.437500 1.875000 3.250000 +v -1.437500 2.000000 3.250000 +v -1.437500 1.875000 2.750000 +v -1.437500 2.000000 2.750000 +v -0.937500 1.875000 3.250000 +v -0.937500 2.000000 3.250000 +v -0.937500 1.875000 2.750000 +v -0.937500 2.000000 2.750000 +v -1.437500 1.875000 2.875000 +v -1.437500 1.875000 3.125000 +v -1.437500 2.000000 3.125000 +v -1.437500 2.000000 2.875000 +v -0.937500 1.875000 3.125000 +v -0.937500 1.875000 2.875000 +v -0.937500 2.000000 2.875000 +v -0.937500 2.000000 3.125000 +v -1.062500 1.875000 2.750000 +v -1.312500 1.875000 2.750000 +v -1.312500 2.000000 2.750000 +v -1.062500 2.000000 2.750000 +v -1.312500 1.875000 3.250000 +v -1.062500 1.875000 3.250000 +v -1.062500 2.000000 3.250000 +v -1.312500 2.000000 3.250000 +v -1.312500 2.000000 2.875000 +v -1.062500 2.000000 2.875000 +v -1.312500 2.000000 3.125000 +v -1.062500 2.000000 3.125000 +v -1.062500 1.875000 2.875000 +v -1.312500 1.875000 2.875000 +v -1.062500 1.875000 3.125000 +v -1.312500 1.875000 3.125000 +v -1.437500 1.125000 3.125000 +v -1.437500 1.125000 3.250000 +v -1.312500 1.125000 2.750000 +v -1.437500 1.125000 2.750000 +v -1.437500 1.125000 2.875000 +v -1.312500 1.125000 2.875000 +v -1.312500 1.125000 3.125000 +v -1.312500 1.125000 3.250000 +v -1.437500 1.875000 4.250000 +v -1.437500 2.000000 4.250000 +v -1.437500 1.875000 3.750000 +v -1.437500 2.000000 3.750000 +v -0.937500 1.875000 4.250000 +v -0.937500 2.000000 4.250000 +v -0.937500 1.875000 3.750000 +v -0.937500 2.000000 3.750000 +v -1.437500 1.875000 3.875000 +v -1.437500 1.875000 4.125000 +v -1.437500 2.000000 4.125000 +v -1.437500 2.000000 3.875000 +v -0.937500 1.875000 4.125000 +v -0.937500 1.875000 3.875000 +v -0.937500 2.000000 3.875000 +v -0.937500 2.000000 4.125000 +v -1.062500 1.875000 3.750000 +v -1.312500 1.875000 3.750000 +v -1.312500 2.000000 3.750000 +v -1.062500 2.000000 3.750000 +v -1.312500 1.875000 4.250000 +v -1.062500 1.875000 4.250000 +v -1.062500 2.000000 4.250000 +v -1.312500 2.000000 4.250000 +v -1.312500 2.000000 3.875000 +v -1.062500 2.000000 3.875000 +v -1.312500 2.000000 4.125000 +v -1.062500 2.000000 4.125000 +v -1.062500 1.875000 3.875000 +v -1.312500 1.875000 3.875000 +v -1.062500 1.875000 4.125000 +v -1.312500 1.875000 4.125000 +v -1.437500 1.125000 4.125000 +v -1.437500 1.125000 4.250000 +v -1.312500 1.125000 3.750000 +v -1.437500 1.125000 3.750000 +v -1.437500 1.125000 3.875000 +v -1.312500 1.125000 3.875000 +v -1.312500 1.125000 4.125000 +v -1.312500 1.125000 4.250000 +v -1.437500 1.875000 5.250000 +v -1.437500 2.000000 5.250000 +v -1.437500 1.875000 4.750000 +v -1.437500 2.000000 4.750000 +v -0.937500 1.875000 5.250000 +v -0.937500 2.000000 5.250000 +v -0.937500 1.875000 4.750000 +v -0.937500 2.000000 4.750000 +v -1.437500 1.875000 4.875000 +v -1.437500 1.875000 5.125000 +v -1.437500 2.000000 5.125000 +v -1.437500 2.000000 4.875000 +v -0.937500 1.875000 5.125000 +v -0.937500 1.875000 4.875000 +v -0.937500 2.000000 4.875000 +v -0.937500 2.000000 5.125000 +v -1.062500 1.875000 4.750000 +v -1.312500 1.875000 4.750000 +v -1.312500 2.000000 4.750000 +v -1.062500 2.000000 4.750000 +v -1.312500 1.875000 5.250000 +v -1.062500 1.875000 5.250000 +v -1.062500 2.000000 5.250000 +v -1.312500 2.000000 5.250000 +v -1.312500 2.000000 4.875000 +v -1.062500 2.000000 4.875000 +v -1.312500 2.000000 5.125000 +v -1.062500 2.000000 5.125000 +v -1.062500 1.875000 4.875000 +v -1.312500 1.875000 4.875000 +v -1.062500 1.875000 5.125000 +v -1.312500 1.875000 5.125000 +v -1.437500 1.125000 5.125000 +v -1.437500 1.125000 5.250000 +v -1.312500 1.125000 4.750000 +v -1.437500 1.125000 4.750000 +v -1.437500 1.125000 4.875000 +v -1.312500 1.125000 4.875000 +v -1.312500 1.125000 5.125000 +v -1.312500 1.125000 5.250000 +v 1.437500 1.875000 -4.750000 +v 1.437500 2.000000 -4.750000 +v 1.437500 1.875000 -5.250000 +v 1.437500 2.000000 -5.250000 +v 0.937500 1.875000 -4.750000 +v 0.937500 2.000000 -4.750000 +v 0.937500 1.875000 -5.250000 +v 0.937500 2.000000 -5.250000 +v 1.437500 1.875000 -5.125000 +v 1.437500 1.875000 -4.875000 +v 1.437500 2.000000 -4.875000 +v 1.437500 2.000000 -5.125000 +v 0.937500 1.875000 -4.875000 +v 0.937500 1.875000 -5.125000 +v 0.937500 2.000000 -5.125000 +v 0.937500 2.000000 -4.875000 +v 1.062500 1.875000 -5.250000 +v 1.312500 1.875000 -5.250000 +v 1.312500 2.000000 -5.250000 +v 1.062500 2.000000 -5.250000 +v 1.312500 1.875000 -4.750000 +v 1.062500 1.875000 -4.750000 +v 1.062500 2.000000 -4.750000 +v 1.312500 2.000000 -4.750000 +v 1.312500 2.000000 -5.125000 +v 1.062500 2.000000 -5.125000 +v 1.312500 2.000000 -4.875000 +v 1.062500 2.000000 -4.875000 +v 1.062500 1.875000 -5.125000 +v 1.312500 1.875000 -5.125000 +v 1.062500 1.875000 -4.875000 +v 1.312500 1.875000 -4.875000 +v 1.437500 1.125000 -4.875000 +v 1.437500 1.125000 -4.750000 +v 1.312500 1.125000 -5.250000 +v 1.437500 1.125000 -5.250000 +v 1.437500 1.125000 -5.125000 +v 1.312500 1.125000 -5.125000 +v 1.312500 1.125000 -4.875000 +v 1.312500 1.125000 -4.750000 +v 1.437500 1.875000 -3.750000 +v 1.437500 2.000000 -3.750000 +v 1.437500 1.875000 -4.250000 +v 1.437500 2.000000 -4.250000 +v 0.937500 1.875000 -3.750000 +v 0.937500 2.000000 -3.750000 +v 0.937500 1.875000 -4.250000 +v 0.937500 2.000000 -4.250000 +v 1.437500 1.875000 -4.125000 +v 1.437500 1.875000 -3.875000 +v 1.437500 2.000000 -3.875000 +v 1.437500 2.000000 -4.125000 +v 0.937500 1.875000 -3.875000 +v 0.937500 1.875000 -4.125000 +v 0.937500 2.000000 -4.125000 +v 0.937500 2.000000 -3.875000 +v 1.062500 1.875000 -4.250000 +v 1.312500 1.875000 -4.250000 +v 1.312500 2.000000 -4.250000 +v 1.062500 2.000000 -4.250000 +v 1.312500 1.875000 -3.750000 +v 1.062500 1.875000 -3.750000 +v 1.062500 2.000000 -3.750000 +v 1.312500 2.000000 -3.750000 +v 1.312500 2.000000 -4.125000 +v 1.062500 2.000000 -4.125000 +v 1.312500 2.000000 -3.875000 +v 1.062500 2.000000 -3.875000 +v 1.062500 1.875000 -4.125000 +v 1.312500 1.875000 -4.125000 +v 1.062500 1.875000 -3.875000 +v 1.312500 1.875000 -3.875000 +v 1.437500 1.125000 -3.875000 +v 1.437500 1.125000 -3.750000 +v 1.312500 1.125000 -4.250000 +v 1.437500 1.125000 -4.250000 +v 1.437500 1.125000 -4.125000 +v 1.312500 1.125000 -4.125000 +v 1.312500 1.125000 -3.875000 +v 1.312500 1.125000 -3.750000 +v 1.437500 1.875000 -2.750000 +v 1.437500 2.000000 -2.750000 +v 1.437500 1.875000 -3.250000 +v 1.437500 2.000000 -3.250000 +v 0.937500 1.875000 -2.750000 +v 0.937500 2.000000 -2.750000 +v 0.937500 1.875000 -3.250000 +v 0.937500 2.000000 -3.250000 +v 1.437500 1.875000 -3.125000 +v 1.437500 1.875000 -2.875000 +v 1.437500 2.000000 -2.875000 +v 1.437500 2.000000 -3.125000 +v 0.937500 1.875000 -2.875000 +v 0.937500 1.875000 -3.125000 +v 0.937500 2.000000 -3.125000 +v 0.937500 2.000000 -2.875000 +v 1.062500 1.875000 -3.250000 +v 1.312500 1.875000 -3.250000 +v 1.312500 2.000000 -3.250000 +v 1.062500 2.000000 -3.250000 +v 1.312500 1.875000 -2.750000 +v 1.062500 1.875000 -2.750000 +v 1.062500 2.000000 -2.750000 +v 1.312500 2.000000 -2.750000 +v 1.312500 2.000000 -3.125000 +v 1.062500 2.000000 -3.125000 +v 1.312500 2.000000 -2.875000 +v 1.062500 2.000000 -2.875000 +v 1.062500 1.875000 -3.125000 +v 1.312500 1.875000 -3.125000 +v 1.062500 1.875000 -2.875000 +v 1.312500 1.875000 -2.875000 +v 1.437500 1.125000 -2.875000 +v 1.437500 1.125000 -2.750000 +v 1.312500 1.125000 -3.250000 +v 1.437500 1.125000 -3.250000 +v 1.437500 1.125000 -3.125000 +v 1.312500 1.125000 -3.125000 +v 1.312500 1.125000 -2.875000 +v 1.312500 1.125000 -2.750000 +v 1.437500 1.875000 -1.750000 +v 1.437500 2.000000 -1.750000 +v 1.437500 1.875000 -2.250000 +v 1.437500 2.000000 -2.250000 +v 0.937500 1.875000 -1.750000 +v 0.937500 2.000000 -1.750000 +v 0.937500 1.875000 -2.250000 +v 0.937500 2.000000 -2.250000 +v 1.437500 1.875000 -2.125000 +v 1.437500 1.875000 -1.875000 +v 1.437500 2.000000 -1.875000 +v 1.437500 2.000000 -2.125000 +v 0.937500 1.875000 -1.875000 +v 0.937500 1.875000 -2.125000 +v 0.937500 2.000000 -2.125000 +v 0.937500 2.000000 -1.875000 +v 1.062500 1.875000 -2.250000 +v 1.312500 1.875000 -2.250000 +v 1.312500 2.000000 -2.250000 +v 1.062500 2.000000 -2.250000 +v 1.312500 1.875000 -1.750000 +v 1.062500 1.875000 -1.750000 +v 1.062500 2.000000 -1.750000 +v 1.312500 2.000000 -1.750000 +v 1.312500 2.000000 -2.125000 +v 1.062500 2.000000 -2.125000 +v 1.312500 2.000000 -1.875000 +v 1.062500 2.000000 -1.875000 +v 1.062500 1.875000 -2.125000 +v 1.312500 1.875000 -2.125000 +v 1.062500 1.875000 -1.875000 +v 1.312500 1.875000 -1.875000 +v 1.437500 1.125000 -1.875000 +v 1.437500 1.125000 -1.750000 +v 1.312500 1.125000 -2.250000 +v 1.437500 1.125000 -2.250000 +v 1.437500 1.125000 -2.125000 +v 1.312500 1.125000 -2.125000 +v 1.312500 1.125000 -1.875000 +v 1.312500 1.125000 -1.750000 +v 1.437500 1.875000 -0.750000 +v 1.437500 2.000000 -0.750000 +v 1.437500 1.875000 -1.250000 +v 1.437500 2.000000 -1.250000 +v 0.937500 1.875000 -0.750000 +v 0.937500 2.000000 -0.750000 +v 0.937500 1.875000 -1.250000 +v 0.937500 2.000000 -1.250000 +v 1.437500 1.875000 -1.125000 +v 1.437500 1.875000 -0.875000 +v 1.437500 2.000000 -0.875000 +v 1.437500 2.000000 -1.125000 +v 0.937500 1.875000 -0.875000 +v 0.937500 1.875000 -1.125000 +v 0.937500 2.000000 -1.125000 +v 0.937500 2.000000 -0.875000 +v 1.062500 1.875000 -1.250000 +v 1.312500 1.875000 -1.250000 +v 1.312500 2.000000 -1.250000 +v 1.062500 2.000000 -1.250000 +v 1.312500 1.875000 -0.750000 +v 1.062500 1.875000 -0.750000 +v 1.062500 2.000000 -0.750000 +v 1.312500 2.000000 -0.750000 +v 1.312500 2.000000 -1.125000 +v 1.062500 2.000000 -1.125000 +v 1.312500 2.000000 -0.875000 +v 1.062500 2.000000 -0.875000 +v 1.062500 1.875000 -1.125000 +v 1.312500 1.875000 -1.125000 +v 1.062500 1.875000 -0.875000 +v 1.312500 1.875000 -0.875000 +v 1.437500 1.125000 -0.875000 +v 1.437500 1.125000 -0.750000 +v 1.312500 1.125000 -1.250000 +v 1.437500 1.125000 -1.250000 +v 1.437500 1.125000 -1.125000 +v 1.312500 1.125000 -1.125000 +v 1.312500 1.125000 -0.875000 +v 1.312500 1.125000 -0.750000 +v 1.437500 1.875000 0.250000 +v 1.437500 2.000000 0.250000 +v 1.437500 1.875000 -0.250000 +v 1.437500 2.000000 -0.250000 +v 0.937500 1.875000 0.250000 +v 0.937500 2.000000 0.250000 +v 0.937500 1.875000 -0.250000 +v 0.937500 2.000000 -0.250000 +v 1.437500 1.875000 -0.125000 +v 1.437500 1.875000 0.125000 +v 1.437500 2.000000 0.125000 +v 1.437500 2.000000 -0.125000 +v 0.937500 1.875000 0.125000 +v 0.937500 1.875000 -0.125000 +v 0.937500 2.000000 -0.125000 +v 0.937500 2.000000 0.125000 +v 1.062500 1.875000 -0.250000 +v 1.312500 1.875000 -0.250000 +v 1.312500 2.000000 -0.250000 +v 1.062500 2.000000 -0.250000 +v 1.312500 1.875000 0.250000 +v 1.062500 1.875000 0.250000 +v 1.062500 2.000000 0.250000 +v 1.312500 2.000000 0.250000 +v 1.312500 2.000000 -0.125000 +v 1.062500 2.000000 -0.125000 +v 1.312500 2.000000 0.125000 +v 1.062500 2.000000 0.125000 +v 1.062500 1.875000 -0.125000 +v 1.312500 1.875000 -0.125000 +v 1.062500 1.875000 0.125000 +v 1.312500 1.875000 0.125000 +v 1.437500 1.125000 0.125000 +v 1.437500 1.125000 0.250000 +v 1.312500 1.125000 -0.250000 +v 1.437500 1.125000 -0.250000 +v 1.437500 1.125000 -0.125000 +v 1.312500 1.125000 -0.125000 +v 1.312500 1.125000 0.125000 +v 1.312500 1.125000 0.250000 +v 1.437500 1.875000 1.250000 +v 1.437500 2.000000 1.250000 +v 1.437500 1.875000 0.750000 +v 1.437500 2.000000 0.750000 +v 0.937500 1.875000 1.250000 +v 0.937500 2.000000 1.250000 +v 0.937500 1.875000 0.750000 +v 0.937500 2.000000 0.750000 +v 1.437500 1.875000 0.875000 +v 1.437500 1.875000 1.125000 +v 1.437500 2.000000 1.125000 +v 1.437500 2.000000 0.875000 +v 0.937500 1.875000 1.125000 +v 0.937500 1.875000 0.875000 +v 0.937500 2.000000 0.875000 +v 0.937500 2.000000 1.125000 +v 1.062500 1.875000 0.750000 +v 1.312500 1.875000 0.750000 +v 1.312500 2.000000 0.750000 +v 1.062500 2.000000 0.750000 +v 1.312500 1.875000 1.250000 +v 1.062500 1.875000 1.250000 +v 1.062500 2.000000 1.250000 +v 1.312500 2.000000 1.250000 +v 1.312500 2.000000 0.875000 +v 1.062500 2.000000 0.875000 +v 1.312500 2.000000 1.125000 +v 1.062500 2.000000 1.125000 +v 1.062500 1.875000 0.875000 +v 1.312500 1.875000 0.875000 +v 1.062500 1.875000 1.125000 +v 1.312500 1.875000 1.125000 +v 1.437500 1.125000 1.125000 +v 1.437500 1.125000 1.250000 +v 1.312500 1.125000 0.750000 +v 1.437500 1.125000 0.750000 +v 1.437500 1.125000 0.875000 +v 1.312500 1.125000 0.875000 +v 1.312500 1.125000 1.125000 +v 1.312500 1.125000 1.250000 +v 1.437500 1.875000 2.250000 +v 1.437500 2.000000 2.250000 +v 1.437500 1.875000 1.750000 +v 1.437500 2.000000 1.750000 +v 0.937500 1.875000 2.250000 +v 0.937500 2.000000 2.250000 +v 0.937500 1.875000 1.750000 +v 0.937500 2.000000 1.750000 +v 1.437500 1.875000 1.875000 +v 1.437500 1.875000 2.125000 +v 1.437500 2.000000 2.125000 +v 1.437500 2.000000 1.875000 +v 0.937500 1.875000 2.125000 +v 0.937500 1.875000 1.875000 +v 0.937500 2.000000 1.875000 +v 0.937500 2.000000 2.125000 +v 1.062500 1.875000 1.750000 +v 1.312500 1.875000 1.750000 +v 1.312500 2.000000 1.750000 +v 1.062500 2.000000 1.750000 +v 1.312500 1.875000 2.250000 +v 1.062500 1.875000 2.250000 +v 1.062500 2.000000 2.250000 +v 1.312500 2.000000 2.250000 +v 1.312500 2.000000 1.875000 +v 1.062500 2.000000 1.875000 +v 1.312500 2.000000 2.125000 +v 1.062500 2.000000 2.125000 +v 1.062500 1.875000 1.875000 +v 1.312500 1.875000 1.875000 +v 1.062500 1.875000 2.125000 +v 1.312500 1.875000 2.125000 +v 1.437500 1.125000 2.125000 +v 1.437500 1.125000 2.250000 +v 1.312500 1.125000 1.750000 +v 1.437500 1.125000 1.750000 +v 1.437500 1.125000 1.875000 +v 1.312500 1.125000 1.875000 +v 1.312500 1.125000 2.125000 +v 1.312500 1.125000 2.250000 +v 1.437500 1.875000 3.250000 +v 1.437500 2.000000 3.250000 +v 1.437500 1.875000 2.750000 +v 1.437500 2.000000 2.750000 +v 0.937500 1.875000 3.250000 +v 0.937500 2.000000 3.250000 +v 0.937500 1.875000 2.750000 +v 0.937500 2.000000 2.750000 +v 1.437500 1.875000 2.875000 +v 1.437500 1.875000 3.125000 +v 1.437500 2.000000 3.125000 +v 1.437500 2.000000 2.875000 +v 0.937500 1.875000 3.125000 +v 0.937500 1.875000 2.875000 +v 0.937500 2.000000 2.875000 +v 0.937500 2.000000 3.125000 +v 1.062500 1.875000 2.750000 +v 1.312500 1.875000 2.750000 +v 1.312500 2.000000 2.750000 +v 1.062500 2.000000 2.750000 +v 1.312500 1.875000 3.250000 +v 1.062500 1.875000 3.250000 +v 1.062500 2.000000 3.250000 +v 1.312500 2.000000 3.250000 +v 1.312500 2.000000 2.875000 +v 1.062500 2.000000 2.875000 +v 1.312500 2.000000 3.125000 +v 1.062500 2.000000 3.125000 +v 1.062500 1.875000 2.875000 +v 1.312500 1.875000 2.875000 +v 1.062500 1.875000 3.125000 +v 1.312500 1.875000 3.125000 +v 1.437500 1.125000 3.125000 +v 1.437500 1.125000 3.250000 +v 1.312500 1.125000 2.750000 +v 1.437500 1.125000 2.750000 +v 1.437500 1.125000 2.875000 +v 1.312500 1.125000 2.875000 +v 1.312500 1.125000 3.125000 +v 1.312500 1.125000 3.250000 +v 1.437500 1.875000 4.250000 +v 1.437500 2.000000 4.250000 +v 1.437500 1.875000 3.750000 +v 1.437500 2.000000 3.750000 +v 0.937500 1.875000 4.250000 +v 0.937500 2.000000 4.250000 +v 0.937500 1.875000 3.750000 +v 0.937500 2.000000 3.750000 +v 1.437500 1.875000 3.875000 +v 1.437500 1.875000 4.125000 +v 1.437500 2.000000 4.125000 +v 1.437500 2.000000 3.875000 +v 0.937500 1.875000 4.125000 +v 0.937500 1.875000 3.875000 +v 0.937500 2.000000 3.875000 +v 0.937500 2.000000 4.125000 +v 1.062500 1.875000 3.750000 +v 1.312500 1.875000 3.750000 +v 1.312500 2.000000 3.750000 +v 1.062500 2.000000 3.750000 +v 1.312500 1.875000 4.250000 +v 1.062500 1.875000 4.250000 +v 1.062500 2.000000 4.250000 +v 1.312500 2.000000 4.250000 +v 1.312500 2.000000 3.875000 +v 1.062500 2.000000 3.875000 +v 1.312500 2.000000 4.125000 +v 1.062500 2.000000 4.125000 +v 1.062500 1.875000 3.875000 +v 1.312500 1.875000 3.875000 +v 1.062500 1.875000 4.125000 +v 1.312500 1.875000 4.125000 +v 1.437500 1.125000 4.125000 +v 1.437500 1.125000 4.250000 +v 1.312500 1.125000 3.750000 +v 1.437500 1.125000 3.750000 +v 1.437500 1.125000 3.875000 +v 1.312500 1.125000 3.875000 +v 1.312500 1.125000 4.125000 +v 1.312500 1.125000 4.250000 +v 1.437500 1.875000 5.250000 +v 1.437500 2.000000 5.250000 +v 1.437500 1.875000 4.750000 +v 1.437500 2.000000 4.750000 +v 0.937500 1.875000 5.250000 +v 0.937500 2.000000 5.250000 +v 0.937500 1.875000 4.750000 +v 0.937500 2.000000 4.750000 +v 1.437500 1.875000 4.875000 +v 1.437500 1.875000 5.125000 +v 1.437500 2.000000 5.125000 +v 1.437500 2.000000 4.875000 +v 0.937500 1.875000 5.125000 +v 0.937500 1.875000 4.875000 +v 0.937500 2.000000 4.875000 +v 0.937500 2.000000 5.125000 +v 1.062500 1.875000 4.750000 +v 1.312500 1.875000 4.750000 +v 1.312500 2.000000 4.750000 +v 1.062500 2.000000 4.750000 +v 1.312500 1.875000 5.250000 +v 1.062500 1.875000 5.250000 +v 1.062500 2.000000 5.250000 +v 1.312500 2.000000 5.250000 +v 1.312500 2.000000 4.875000 +v 1.062500 2.000000 4.875000 +v 1.312500 2.000000 5.125000 +v 1.062500 2.000000 5.125000 +v 1.062500 1.875000 4.875000 +v 1.312500 1.875000 4.875000 +v 1.062500 1.875000 5.125000 +v 1.312500 1.875000 5.125000 +v 1.437500 1.125000 5.125000 +v 1.437500 1.125000 5.250000 +v 1.312500 1.125000 4.750000 +v 1.437500 1.125000 4.750000 +v 1.437500 1.125000 4.875000 +v 1.312500 1.125000 4.875000 +v 1.312500 1.125000 5.125000 +v 1.312500 1.125000 5.250000 +v 0.122617 2.375000 -5.500900 +v 0.122617 2.625000 -5.500900 +v 0.122617 2.125000 -5.750900 +v 0.122617 2.375000 -5.750900 +v 0.185117 2.375000 -5.500900 +v 0.185117 2.625000 -5.500900 +v 0.185117 2.125000 -5.750900 +v 0.185117 2.375000 -5.750900 +v 0.122617 2.062500 -5.750900 +v 0.122617 2.312500 -5.500900 +v 0.185117 2.062500 -5.750900 +v 0.185117 2.312500 -5.500900 +v -0.127383 2.125000 -5.750900 +v -0.127383 2.375000 -5.500900 +v -0.127383 2.062500 -5.750900 +v -0.127383 2.312500 -5.500900 +v -0.189883 2.125000 -5.750900 +v -0.189883 2.375000 -5.500900 +v -0.189883 2.062500 -5.750900 +v -0.189883 2.312500 -5.500900 +v -0.127383 2.375000 -5.750900 +v -0.127383 2.625000 -5.500900 +v -0.189883 2.375000 -5.750900 +v -0.189883 2.625000 -5.500900 +v 0.122617 2.375000 5.500900 +v 0.122617 2.625000 5.500900 +v 0.122617 2.125000 5.750900 +v 0.122617 2.375000 5.750900 +v 0.185117 2.375000 5.500900 +v 0.185117 2.625000 5.500900 +v 0.185117 2.125000 5.750900 +v 0.185117 2.375000 5.750900 +v 0.122617 2.062500 5.750900 +v 0.122617 2.312500 5.500900 +v 0.185117 2.062500 5.750900 +v 0.185117 2.312500 5.500900 +v -0.127383 2.125000 5.750900 +v -0.127383 2.375000 5.500900 +v -0.127383 2.062500 5.750900 +v -0.127383 2.312500 5.500900 +v -0.189883 2.125000 5.750900 +v -0.189883 2.375000 5.500900 +v -0.189883 2.062500 5.750900 +v -0.189883 2.312500 5.500900 +v -0.127383 2.375000 5.750900 +v -0.127383 2.625000 5.500900 +v -0.189883 2.375000 5.750900 +v -0.189883 2.625000 5.500900 +v -1.555902 1.027951 -3.937500 +v -0.555902 3.027951 -3.937500 +v -1.555902 1.027951 -4.062500 +v -0.555902 3.027951 -4.062500 +v -1.444098 0.972049 -3.937500 +v -0.444098 2.972049 -3.937500 +v -1.444098 0.972049 -4.062500 +v -0.444098 2.972049 -4.062500 +v -1.555902 1.027951 -1.937500 +v -0.555902 3.027951 -1.937500 +v -1.555902 1.027951 -2.062500 +v -0.555902 3.027951 -2.062500 +v -1.444098 0.972049 -1.937500 +v -0.444098 2.972049 -1.937500 +v -1.444098 0.972049 -2.062500 +v -0.444098 2.972049 -2.062500 +v -1.555902 1.027951 0.062500 +v -0.555902 3.027951 0.062500 +v -1.555902 1.027951 -0.062500 +v -0.555902 3.027951 -0.062500 +v -1.444098 0.972049 0.062500 +v -0.444098 2.972049 0.062500 +v -1.444098 0.972049 -0.062500 +v -0.444098 2.972049 -0.062500 +v -1.555902 1.027951 2.062500 +v -0.555902 3.027951 2.062500 +v -1.555902 1.027951 1.937500 +v -0.555902 3.027951 1.937500 +v -1.444098 0.972049 2.062500 +v -0.444098 2.972049 2.062500 +v -1.444098 0.972049 1.937500 +v -0.444098 2.972049 1.937500 +v -1.555902 1.027951 4.062500 +v -0.555902 3.027951 4.062500 +v -1.555902 1.027951 3.937500 +v -0.555902 3.027951 3.937500 +v -1.444098 0.972049 4.062500 +v -0.444098 2.972049 4.062500 +v -1.444098 0.972049 3.937500 +v -0.444098 2.972049 3.937500 +v 1.555902 1.027951 -3.937500 +v 0.555902 3.027951 -3.937500 +v 1.555902 1.027951 -4.062500 +v 0.555902 3.027951 -4.062500 +v 1.444098 0.972049 -3.937500 +v 0.444098 2.972049 -3.937500 +v 1.444098 0.972049 -4.062500 +v 0.444098 2.972049 -4.062500 +v 1.555902 1.027951 -1.937500 +v 0.555902 3.027951 -1.937500 +v 1.555902 1.027951 -2.062500 +v 0.555902 3.027951 -2.062500 +v 1.444098 0.972049 -1.937500 +v 0.444098 2.972049 -1.937500 +v 1.444098 0.972049 -2.062500 +v 0.444098 2.972049 -2.062500 +v 1.555902 1.027951 0.062500 +v 0.555902 3.027951 0.062500 +v 1.555902 1.027951 -0.062500 +v 0.555902 3.027951 -0.062500 +v 1.444098 0.972049 0.062500 +v 0.444098 2.972049 0.062500 +v 1.444098 0.972049 -0.062500 +v 0.444098 2.972049 -0.062500 +v 1.555902 1.027951 2.062500 +v 0.555902 3.027951 2.062500 +v 1.555902 1.027951 1.937500 +v 0.555902 3.027951 1.937500 +v 1.444098 0.972049 2.062500 +v 0.444098 2.972049 2.062500 +v 1.444098 0.972049 1.937500 +v 0.444098 2.972049 1.937500 +v 1.555902 1.027951 4.062500 +v 0.555902 3.027951 4.062500 +v 1.555902 1.027951 3.937500 +v 0.555902 3.027951 3.937500 +v 1.444098 0.972049 4.062500 +v 0.444098 2.972049 4.062500 +v 1.444098 0.972049 3.937500 +v 0.444098 2.972049 3.937500 +v 2.750000 1.000000 4.250000 +v 2.750000 3.000000 4.250000 +v 2.750000 1.000000 3.750000 +v 2.750000 3.000000 3.750000 +v 3.250000 1.000000 4.250000 +v 3.250000 3.000000 4.250000 +v 3.250000 1.000000 3.750000 +v 3.250000 3.000000 3.750000 +v 3.103553 3.353553 3.750000 +v 3.103553 3.353553 4.250000 +v 2.042893 3.707107 3.750000 +v 2.396447 4.060660 3.750000 +v 2.396447 4.060660 4.250000 +v 2.042893 3.707107 4.250000 +v 2.042893 4.207107 3.750000 +v 2.042893 4.207107 4.250000 +v 1.689340 4.060660 4.250000 +v 1.689340 4.060660 3.750000 +v 0.363514 2.734836 3.750000 +v 0.363514 2.734836 4.250000 +v 0.717067 2.381282 4.250000 +v 0.717067 2.381282 3.750000 +v 2.750000 1.000000 2.250000 +v 2.750000 3.000000 2.250000 +v 2.750000 1.000000 1.750000 +v 2.750000 3.000000 1.750000 +v 3.250000 1.000000 2.250000 +v 3.250000 3.000000 2.250000 +v 3.250000 1.000000 1.750000 +v 3.250000 3.000000 1.750000 +v 3.103553 3.353553 1.750000 +v 3.103553 3.353553 2.250000 +v 2.042893 3.707107 1.750000 +v 2.396447 4.060660 1.750000 +v 2.396447 4.060660 2.250000 +v 2.042893 3.707107 2.250000 +v 2.042893 4.207107 1.750000 +v 2.042893 4.207107 2.250000 +v 1.689340 4.060660 2.250000 +v 1.689340 4.060660 1.750000 +v 0.363514 2.734836 1.750000 +v 0.363514 2.734836 2.250000 +v 0.717067 2.381282 2.250000 +v 0.717067 2.381282 1.750000 +v 2.750000 1.000000 0.250000 +v 2.750000 3.000000 0.250000 +v 2.750000 1.000000 -0.250000 +v 2.750000 3.000000 -0.250000 +v 3.250000 1.000000 0.250000 +v 3.250000 3.000000 0.250000 +v 3.250000 1.000000 -0.250000 +v 3.250000 3.000000 -0.250000 +v 3.103553 3.353553 -0.250000 +v 3.103553 3.353553 0.250000 +v 2.042893 3.707107 -0.250000 +v 2.396447 4.060660 -0.250000 +v 2.396447 4.060660 0.250000 +v 2.042893 3.707107 0.250000 +v 2.042893 4.207107 -0.250000 +v 2.042893 4.207107 0.250000 +v 1.689340 4.060660 0.250000 +v 1.689340 4.060660 -0.250000 +v 0.363514 2.734836 -0.250000 +v 0.363514 2.734836 0.250000 +v 0.717067 2.381282 0.250000 +v 0.717067 2.381282 -0.250000 +v 2.750000 1.000000 -1.750000 +v 2.750000 3.000000 -1.750000 +v 2.750000 1.000000 -2.250000 +v 2.750000 3.000000 -2.250000 +v 3.250000 1.000000 -1.750000 +v 3.250000 3.000000 -1.750000 +v 3.250000 1.000000 -2.250000 +v 3.250000 3.000000 -2.250000 +v 3.103553 3.353553 -2.250000 +v 3.103553 3.353553 -1.750000 +v 2.042893 3.707107 -2.250000 +v 2.396447 4.060660 -2.250000 +v 2.396447 4.060660 -1.750000 +v 2.042893 3.707107 -1.750000 +v 2.042893 4.207107 -2.250000 +v 2.042893 4.207107 -1.750000 +v 1.689340 4.060660 -1.750000 +v 1.689340 4.060660 -2.250000 +v 0.363514 2.734836 -2.250000 +v 0.363514 2.734836 -1.750000 +v 0.717067 2.381282 -1.750000 +v 0.717067 2.381282 -2.250000 +v 2.750000 1.000000 -3.750000 +v 2.750000 3.000000 -3.750000 +v 2.750000 1.000000 -4.250000 +v 2.750000 3.000000 -4.250000 +v 3.250000 1.000000 -3.750000 +v 3.250000 3.000000 -3.750000 +v 3.250000 1.000000 -4.250000 +v 3.250000 3.000000 -4.250000 +v 3.103553 3.353553 -4.250000 +v 3.103553 3.353553 -3.750000 +v 2.042893 3.707107 -4.250000 +v 2.396447 4.060660 -4.250000 +v 2.396447 4.060660 -3.750000 +v 2.042893 3.707107 -3.750000 +v 2.042893 4.207107 -4.250000 +v 2.042893 4.207107 -3.750000 +v 1.689340 4.060660 -3.750000 +v 1.689340 4.060660 -4.250000 +v 0.363514 2.734836 -4.250000 +v 0.363514 2.734836 -3.750000 +v 0.717067 2.381282 -3.750000 +v 0.717067 2.381282 -4.250000 +vt 0.280000 0.120130 +vt 0.325714 0.016234 +vt 0.325714 0.120130 +vt 0.860000 0.051948 +vt 0.882857 0.048701 +vt 0.882857 0.051948 +vt 0.371429 0.016234 +vt 0.925714 0.045455 +vt 0.922857 0.019481 +vt 0.925714 0.019481 +vt 0.234286 0.016234 +vt 0.280000 0.016234 +vt 0.737143 0.123377 +vt 0.691429 0.240260 +vt 0.691429 0.123377 +vt 0.685714 0.022727 +vt 0.662857 0.055195 +vt 0.662857 0.022727 +vt 0.645714 0.240260 +vt 0.600000 0.240260 +vt 0.645714 0.123377 +vt 0.554286 0.240260 +vt 0.600000 0.123377 +vt 0.508571 0.240260 +vt 0.554286 0.123377 +vt 0.462857 0.240260 +vt 0.508571 0.123377 +vt 0.417143 0.240260 +vt 0.462857 0.123377 +vt 0.371429 0.240260 +vt 0.417143 0.123377 +vt 0.234286 0.240260 +vt 0.280000 0.123377 +vt 0.280000 0.240260 +vt 0.325714 0.522727 +vt 0.234286 0.470779 +vt 0.325714 0.470779 +vt 0.231429 0.574675 +vt 0.185714 0.522727 +vt 0.231429 0.522727 +vt 0.997143 0.905844 +vt 0.957143 0.853896 +vt 0.997143 0.853896 +vt 0.882857 0.750000 +vt 0.922857 0.801948 +vt 0.882857 0.801948 +vt 0.997143 0.801948 +vt 0.957143 0.750000 +vt 0.997143 0.750000 +vt 0.882857 0.698052 +vt 0.922857 0.750000 +vt 0.957143 0.698052 +vt 0.997143 0.698052 +vt 0.882857 0.853896 +vt 0.922857 0.905844 +vt 0.882857 0.905844 +vt 0.634286 0.055195 +vt 0.662857 0.094156 +vt 0.634286 0.094156 +vt 0.748571 0.051948 +vt 0.771429 0.048701 +vt 0.771429 0.051948 +vt 0.140000 0.522727 +vt 0.094286 0.574675 +vt 0.094286 0.522727 +vt 0.140000 0.574675 +vt 0.185714 0.470779 +vt 0.140000 0.470779 +vt 0.185714 0.418831 +vt 0.140000 0.418831 +vt 0.185714 0.366883 +vt 0.140000 0.366883 +vt 0.185714 0.314935 +vt 0.140000 0.314935 +vt 0.185714 0.262987 +vt 0.140000 0.262987 +vt 0.185714 0.211039 +vt 0.140000 0.211039 +vt 0.185714 0.159091 +vt 0.140000 0.055195 +vt 0.185714 0.003247 +vt 0.185714 0.055195 +vt 0.691429 0.243506 +vt 0.737143 0.360390 +vt 0.691429 0.360390 +vt 0.737143 0.363636 +vt 0.691429 0.467532 +vt 0.691429 0.363636 +vt 0.231429 0.470779 +vt 0.231429 0.418831 +vt 0.231429 0.366883 +vt 0.231429 0.314935 +vt 0.231429 0.262987 +vt 0.231429 0.211039 +vt 0.231429 0.159091 +vt 0.231429 0.003247 +vt 0.231429 0.055195 +vt 0.691429 0.525974 +vt 0.737143 0.577922 +vt 0.691429 0.577922 +vt 0.002857 0.574675 +vt 0.002857 0.522727 +vt 0.094286 0.470779 +vt 0.094286 0.418831 +vt 0.094286 0.366883 +vt 0.094286 0.314935 +vt 0.094286 0.262987 +vt 0.094286 0.211039 +vt 0.140000 0.159091 +vt 0.094286 0.055195 +vt 0.140000 0.003247 +vt 0.371429 0.243506 +vt 0.325714 0.360390 +vt 0.325714 0.243506 +vt 0.417143 0.243506 +vt 0.371429 0.360390 +vt 0.462857 0.243506 +vt 0.417143 0.360390 +vt 0.508571 0.243506 +vt 0.462857 0.360390 +vt 0.554286 0.243506 +vt 0.508571 0.360390 +vt 0.600000 0.243506 +vt 0.554286 0.360390 +vt 0.645714 0.243506 +vt 0.600000 0.360390 +vt 0.645714 0.360390 +vt 0.234286 0.633117 +vt 0.280000 0.581169 +vt 0.280000 0.633117 +vt 0.645714 0.363636 +vt 0.645714 0.467532 +vt 0.600000 0.363636 +vt 0.600000 0.467532 +vt 0.554286 0.363636 +vt 0.554286 0.467532 +vt 0.508571 0.363636 +vt 0.508571 0.467532 +vt 0.462857 0.363636 +vt 0.462857 0.467532 +vt 0.417143 0.363636 +vt 0.417143 0.467532 +vt 0.371429 0.363636 +vt 0.280000 0.467532 +vt 0.234286 0.363636 +vt 0.280000 0.363636 +vt 0.002857 0.470779 +vt 0.002857 0.418831 +vt 0.002857 0.366883 +vt 0.002857 0.314935 +vt 0.002857 0.262987 +vt 0.002857 0.211039 +vt 0.094286 0.159091 +vt 0.002857 0.055195 +vt 0.094286 0.003247 +vt 0.645714 0.525974 +vt 0.645714 0.577922 +vt 0.600000 0.525974 +vt 0.600000 0.577922 +vt 0.554286 0.525974 +vt 0.554286 0.577922 +vt 0.508571 0.525974 +vt 0.508571 0.577922 +vt 0.462857 0.525974 +vt 0.462857 0.577922 +vt 0.417143 0.525974 +vt 0.417143 0.577922 +vt 0.371429 0.525974 +vt 0.280000 0.577922 +vt 0.234286 0.525974 +vt 0.280000 0.525974 +vt 0.645714 0.633117 +vt 0.600000 0.581169 +vt 0.645714 0.581169 +vt 0.600000 0.633117 +vt 0.554286 0.581169 +vt 0.554286 0.633117 +vt 0.508571 0.581169 +vt 0.508571 0.633117 +vt 0.462857 0.581169 +vt 0.462857 0.633117 +vt 0.417143 0.581169 +vt 0.417143 0.633117 +vt 0.371429 0.581169 +vt 0.371429 0.633117 +vt 0.325714 0.581169 +vt 0.325714 0.633117 +vt 0.605714 0.470779 +vt 0.697143 0.522727 +vt 0.605714 0.522727 +vt 0.817143 0.019481 +vt 0.820000 0.045455 +vt 0.817143 0.045455 +vt 0.780000 0.019481 +vt 0.782857 0.045455 +vt 0.780000 0.045455 +vt 0.934286 0.051948 +vt 0.957143 0.048701 +vt 0.957143 0.051948 +vt 0.465714 0.016234 +vt 0.420000 0.120130 +vt 0.420000 0.016234 +vt 0.511429 0.016234 +vt 0.465714 0.120130 +vt 0.374286 0.016234 +vt 0.525714 0.483766 +vt 0.560000 0.470779 +vt 0.548571 0.483766 +vt 0.525714 0.509740 +vt 0.514286 0.470779 +vt 0.560000 0.522727 +vt 0.548571 0.509740 +vt 0.514286 0.522727 +vt 0.808571 0.042208 +vt 0.805714 0.022727 +vt 0.808571 0.022727 +vt 0.814286 0.045455 +vt 0.811429 0.019481 +vt 0.814286 0.019481 +vt 0.808571 0.012987 +vt 0.785714 0.016234 +vt 0.785714 0.012987 +vt 0.785714 0.051948 +vt 0.808571 0.048701 +vt 0.808571 0.051948 +vt 0.805714 0.045455 +vt 0.785714 0.048701 +vt 0.788571 0.045455 +vt 0.805714 0.019481 +vt 0.808571 0.016234 +vt 0.785714 0.042208 +vt 0.782857 0.019481 +vt 0.785714 0.022727 +vt 0.811429 0.045455 +vt 0.788571 0.042208 +vt 0.788571 0.022727 +vt 0.788571 0.019481 +vt 0.805714 0.042208 +vt 0.480000 0.483766 +vt 0.502857 0.483766 +vt 0.571429 0.483766 +vt 0.594286 0.483766 +vt 0.594286 0.509740 +vt 0.480000 0.509740 +vt 0.468571 0.470779 +vt 0.502857 0.509740 +vt 0.468571 0.522727 +vt 0.571429 0.509740 +vt 0.825714 0.045455 +vt 0.842857 0.042208 +vt 0.842857 0.045455 +vt 0.845714 0.042208 +vt 0.842857 0.022727 +vt 0.845714 0.022727 +vt 0.957143 0.012987 +vt 0.934286 0.016234 +vt 0.934286 0.012987 +vt 0.851429 0.045455 +vt 0.848571 0.019481 +vt 0.851429 0.019481 +vt 0.822857 0.051948 +vt 0.845714 0.048701 +vt 0.845714 0.051948 +vt 0.962857 0.045455 +vt 0.960000 0.019481 +vt 0.962857 0.019481 +vt 0.845714 0.012987 +vt 0.822857 0.016234 +vt 0.822857 0.012987 +vt 0.928571 0.019481 +vt 0.931429 0.045455 +vt 0.928571 0.045455 +vt 0.842857 0.019481 +vt 0.845714 0.016234 +vt 0.954286 0.019481 +vt 0.957143 0.016234 +vt 0.957143 0.042208 +vt 0.960000 0.045455 +vt 0.822857 0.042208 +vt 0.820000 0.019481 +vt 0.822857 0.022727 +vt 0.822857 0.048701 +vt 0.954286 0.045455 +vt 0.934286 0.048701 +vt 0.937143 0.045455 +vt 0.848571 0.045455 +vt 0.934286 0.042208 +vt 0.931429 0.019481 +vt 0.934286 0.022727 +vt 0.825714 0.042208 +vt 0.825714 0.022727 +vt 0.954286 0.022727 +vt 0.937143 0.042208 +vt 0.937143 0.022727 +vt 0.957143 0.022727 +vt 0.825714 0.019481 +vt 0.954286 0.042208 +vt 0.937143 0.019481 +vt 0.417143 0.522727 +vt 0.451429 0.509740 +vt 0.462857 0.522727 +vt 0.417143 0.470779 +vt 0.428571 0.509740 +vt 0.462857 0.470779 +vt 0.428571 0.483766 +vt 0.451429 0.483766 +vt 0.382857 0.483766 +vt 0.371429 0.470779 +vt 0.405714 0.483766 +vt 0.371429 0.522727 +vt 0.405714 0.509740 +vt 0.382857 0.509740 +vt 0.360000 0.509740 +vt 0.337143 0.509740 +vt 0.337143 0.483766 +vt 0.360000 0.483766 +vt 0.862857 0.045455 +vt 0.880000 0.042208 +vt 0.880000 0.045455 +vt 0.900000 0.045455 +vt 0.917143 0.042208 +vt 0.917143 0.045455 +vt 0.768571 0.019481 +vt 0.751429 0.022727 +vt 0.751429 0.019481 +vt 0.771429 0.012987 +vt 0.748571 0.016234 +vt 0.748571 0.012987 +vt 0.897143 0.051948 +vt 0.920000 0.048701 +vt 0.920000 0.051948 +vt 0.882857 0.012987 +vt 0.860000 0.016234 +vt 0.860000 0.012987 +vt 0.742857 0.019481 +vt 0.745714 0.045455 +vt 0.742857 0.045455 +vt 0.920000 0.012987 +vt 0.897143 0.016234 +vt 0.897143 0.012987 +vt 0.888571 0.045455 +vt 0.885714 0.019481 +vt 0.888571 0.019481 +vt 0.777143 0.045455 +vt 0.774286 0.019481 +vt 0.777143 0.019481 +vt 0.891429 0.019481 +vt 0.894286 0.045455 +vt 0.891429 0.045455 +vt 0.854286 0.019481 +vt 0.857143 0.045455 +vt 0.854286 0.045455 +vt 0.860000 0.042208 +vt 0.857143 0.019481 +vt 0.860000 0.022727 +vt 0.860000 0.048701 +vt 0.862857 0.019481 +vt 0.882857 0.016234 +vt 0.880000 0.019481 +vt 0.882857 0.042208 +vt 0.885714 0.045455 +vt 0.771429 0.016234 +vt 0.748571 0.042208 +vt 0.745714 0.019481 +vt 0.748571 0.022727 +vt 0.771429 0.042208 +vt 0.774286 0.045455 +vt 0.768571 0.045455 +vt 0.748571 0.048701 +vt 0.751429 0.045455 +vt 0.900000 0.019481 +vt 0.920000 0.016234 +vt 0.917143 0.019481 +vt 0.897143 0.022727 +vt 0.894286 0.019481 +vt 0.920000 0.022727 +vt 0.922857 0.045455 +vt 0.920000 0.042208 +vt 0.897143 0.048701 +vt 0.862857 0.022727 +vt 0.862857 0.042208 +vt 0.768571 0.022727 +vt 0.751429 0.042208 +vt 0.917143 0.022727 +vt 0.900000 0.042208 +vt 0.900000 0.022727 +vt 0.897143 0.042208 +vt 0.771429 0.022727 +vt 0.880000 0.022727 +vt 0.882857 0.022727 +vt 0.768571 0.042208 +vt 0.737143 0.633117 +vt 0.691429 0.581169 +vt 0.737143 0.581169 +vt 0.691429 0.633117 +vt 0.371429 0.577922 +vt 0.325714 0.525974 +vt 0.325714 0.577922 +vt 0.002857 0.159091 +vt 0.094286 0.107143 +vt 0.002857 0.107143 +vt 0.371429 0.467532 +vt 0.325714 0.363636 +vt 0.325714 0.467532 +vt 0.280000 0.243506 +vt 0.234286 0.360390 +vt 0.234286 0.243506 +vt 0.280000 0.360390 +vt 0.140000 0.107143 +vt 0.231429 0.107143 +vt 0.185714 0.107143 +vt 0.882857 0.646104 +vt 0.922857 0.698052 +vt 0.957143 0.646104 +vt 0.997143 0.646104 +vt 0.325714 0.240260 +vt 0.371429 0.123377 +vt 0.325714 0.123377 +vt 0.780000 0.077922 +vt 0.785714 0.123377 +vt 0.780000 0.123377 +vt 0.745714 0.077922 +vt 0.740000 0.123377 +vt 0.740000 0.071429 +vt 0.745714 0.175325 +vt 0.745714 0.123377 +vt 0.745714 0.227273 +vt 0.740000 0.175325 +vt 0.745714 0.279221 +vt 0.740000 0.227273 +vt 0.745714 0.331169 +vt 0.740000 0.279221 +vt 0.745714 0.383117 +vt 0.740000 0.331169 +vt 0.745714 0.435065 +vt 0.740000 0.383117 +vt 0.745714 0.487013 +vt 0.740000 0.435065 +vt 0.785714 0.175325 +vt 0.780000 0.175325 +vt 0.785714 0.227273 +vt 0.780000 0.227273 +vt 0.785714 0.279221 +vt 0.780000 0.279221 +vt 0.785714 0.331169 +vt 0.780000 0.331169 +vt 0.785714 0.383117 +vt 0.780000 0.383117 +vt 0.785714 0.435065 +vt 0.780000 0.435065 +vt 0.785714 0.487013 +vt 0.780000 0.487013 +vt 0.785714 0.071429 +vt 0.780000 0.636364 +vt 0.740000 0.642857 +vt 0.745714 0.636364 +vt 0.740000 0.590909 +vt 0.745714 0.590909 +vt 0.785714 0.590909 +vt 0.785714 0.642857 +vt 0.745714 0.538961 +vt 0.740000 0.487013 +vt 0.740000 0.538961 +vt 0.785714 0.538961 +vt 0.780000 0.538961 +vt 0.780000 0.590909 +vt 0.997143 0.542208 +vt 0.957143 0.542208 +vt 0.957143 0.496753 +vt 0.788571 0.331169 +vt 0.794286 0.383117 +vt 0.788571 0.383117 +vt 0.834286 0.435065 +vt 0.828571 0.383117 +vt 0.834286 0.383117 +vt 0.788571 0.188312 +vt 0.794286 0.227273 +vt 0.788571 0.227273 +vt 0.788571 0.279221 +vt 0.794286 0.331169 +vt 0.828571 0.331169 +vt 0.834286 0.331169 +vt 0.800000 0.642857 +vt 0.822857 0.636364 +vt 0.822857 0.642857 +vt 0.794286 0.279221 +vt 0.997143 0.957792 +vt 0.962857 0.957792 +vt 0.957143 0.951299 +vt 0.957143 0.801948 +vt 0.922857 0.853896 +vt 0.922857 0.951299 +vt 0.882857 0.490260 +vt 0.917143 0.490260 +vt 0.922857 0.496753 +vt 0.997143 0.594156 +vt 0.882857 0.542208 +vt 0.922857 0.594156 +vt 0.882857 0.594156 +vt 0.957143 0.594156 +vt 0.828571 0.279221 +vt 0.834286 0.279221 +vt 0.822857 0.175325 +vt 0.800000 0.181818 +vt 0.800000 0.175325 +vt 0.922857 0.646104 +vt 0.957143 0.490260 +vt 0.922857 0.957792 +vt 0.957143 0.957792 +vt 0.928571 0.594156 +vt 0.922857 0.542208 +vt 0.928571 0.542208 +vt 0.928571 0.646104 +vt 0.928571 0.698052 +vt 0.928571 0.750000 +vt 0.928571 0.801948 +vt 0.928571 0.853896 +vt 0.951429 0.542208 +vt 0.951429 0.594156 +vt 0.951429 0.646104 +vt 0.951429 0.698052 +vt 0.951429 0.750000 +vt 0.951429 0.801948 +vt 0.951429 0.853896 +vt 0.928571 0.905844 +vt 0.957143 0.905844 +vt 0.951429 0.905844 +vt 0.928571 0.503247 +vt 0.951429 0.503247 +vt 0.951429 0.944805 +vt 0.928571 0.944805 +vt 0.825714 0.331169 +vt 0.820000 0.279221 +vt 0.825714 0.279221 +vt 0.820000 0.185065 +vt 0.802857 0.191558 +vt 0.802857 0.185065 +vt 0.820000 0.227273 +vt 0.825714 0.227273 +vt 0.825714 0.590909 +vt 0.820000 0.538961 +vt 0.825714 0.538961 +vt 0.797143 0.487013 +vt 0.802857 0.538961 +vt 0.797143 0.538961 +vt 0.802857 0.590909 +vt 0.797143 0.590909 +vt 0.825714 0.626623 +vt 0.820000 0.590909 +vt 0.797143 0.435065 +vt 0.802857 0.487013 +vt 0.820000 0.487013 +vt 0.825714 0.487013 +vt 0.834286 0.227273 +vt 0.828571 0.188312 +vt 0.834286 0.188312 +vt 0.834286 0.487013 +vt 0.828571 0.435065 +vt 0.794286 0.435065 +vt 0.788571 0.435065 +vt 0.788571 0.590909 +vt 0.794286 0.629870 +vt 0.788571 0.629870 +vt 0.834286 0.538961 +vt 0.828571 0.487013 +vt 0.794286 0.487013 +vt 0.788571 0.487013 +vt 0.834286 0.629870 +vt 0.828571 0.590909 +vt 0.834286 0.590909 +vt 0.788571 0.538961 +vt 0.794286 0.590909 +vt 0.794286 0.538961 +vt 0.828571 0.538961 +vt 0.828571 0.227273 +vt 0.774286 0.084416 +vt 0.774286 0.123377 +vt 0.751429 0.084416 +vt 0.774286 0.629870 +vt 0.751429 0.629870 +vt 0.751429 0.590909 +vt 0.951429 0.483766 +vt 0.922857 0.490260 +vt 0.928571 0.483766 +vt 0.928571 0.964286 +vt 0.951429 0.964286 +vt 0.922857 0.451299 +vt 0.928571 0.451299 +vt 0.957143 0.451299 +vt 0.957143 0.996753 +vt 0.951429 0.996753 +vt 0.922857 0.996753 +vt 0.602857 0.094156 +vt 0.580000 0.055195 +vt 0.602857 0.055195 +vt 0.685714 0.055195 +vt 0.685714 0.094156 +vt 0.551429 0.055195 +vt 0.580000 0.094156 +vt 0.551429 0.094156 +vt 0.714286 0.094156 +vt 0.714286 0.055195 +vt 0.602857 0.022727 +vt 0.580000 0.022727 +vt 0.631429 0.094156 +vt 0.631429 0.055195 +vt 0.797143 0.279221 +vt 0.797143 0.227273 +vt 0.797143 0.331169 +vt 0.797143 0.383117 +vt 0.825714 0.383117 +vt 0.825714 0.435065 +vt 0.822857 0.181818 +vt 0.820000 0.633117 +vt 0.800000 0.636364 +vt 0.802857 0.633117 +vt 0.797143 0.191558 +vt 0.794286 0.188312 +vt 0.825714 0.191558 +vt 0.797143 0.626623 +vt 0.828571 0.629870 +vt 0.802857 0.279221 +vt 0.802857 0.227273 +vt 0.802857 0.331169 +vt 0.820000 0.331169 +vt 0.802857 0.383117 +vt 0.820000 0.383117 +vt 0.802857 0.435065 +vt 0.820000 0.435065 +vt 0.820000 0.191558 +vt 0.802857 0.626623 +vt 0.820000 0.626623 +vt 0.831429 0.811688 +vt 0.837143 0.818182 +vt 0.837143 0.811688 +vt 0.837143 0.837662 +vt 0.842857 0.844156 +vt 0.842857 0.837662 +vt 0.820000 0.850649 +vt 0.814286 0.844156 +vt 0.814286 0.850649 +vt 0.814286 0.824675 +vt 0.808571 0.818182 +vt 0.808571 0.824675 +vt 0.820000 0.818182 +vt 0.820000 0.824675 +vt 0.831429 0.824675 +vt 0.837143 0.824675 +vt 0.831429 0.818182 +vt 0.837143 0.850649 +vt 0.831429 0.844156 +vt 0.831429 0.850649 +vt 0.820000 0.844156 +vt 0.814286 0.811688 +vt 0.820000 0.811688 +vt 0.831429 0.805195 +vt 0.831429 0.792208 +vt 0.820000 0.805195 +vt 0.820000 0.746753 +vt 0.814286 0.707792 +vt 0.814286 0.746753 +vt 0.837143 0.792208 +vt 0.837143 0.805195 +vt 0.831429 0.837662 +vt 0.820000 0.837662 +vt 0.837143 0.844156 +vt 0.814286 0.837662 +vt 0.808571 0.707792 +vt 0.808571 0.746753 +vt 0.820000 0.792208 +vt 0.814286 0.805195 +vt 0.808571 0.837662 +vt 0.808571 0.844156 +vt 0.842857 0.824675 +vt 0.842857 0.818182 +vt 0.837143 0.788961 +vt 0.831429 0.750000 +vt 0.831429 0.788961 +vt 0.842857 0.788961 +vt 0.837143 0.750000 +vt 0.825714 0.746753 +vt 0.820000 0.707792 +vt 0.825714 0.788961 +vt 0.820000 0.750000 +vt 0.820000 0.788961 +vt 0.831429 0.746753 +vt 0.825714 0.707792 +vt 0.825714 0.750000 +vt 0.794286 0.811688 +vt 0.800000 0.818182 +vt 0.800000 0.811688 +vt 0.800000 0.837662 +vt 0.805714 0.844156 +vt 0.805714 0.837662 +vt 0.782857 0.850649 +vt 0.777143 0.844156 +vt 0.777143 0.850649 +vt 0.777143 0.824675 +vt 0.771429 0.818182 +vt 0.771429 0.824675 +vt 0.782857 0.818182 +vt 0.782857 0.824675 +vt 0.794286 0.824675 +vt 0.800000 0.824675 +vt 0.794286 0.818182 +vt 0.800000 0.850649 +vt 0.794286 0.844156 +vt 0.794286 0.850649 +vt 0.782857 0.844156 +vt 0.777143 0.811688 +vt 0.782857 0.811688 +vt 0.794286 0.805195 +vt 0.794286 0.792208 +vt 0.782857 0.805195 +vt 0.782857 0.746753 +vt 0.777143 0.707792 +vt 0.777143 0.746753 +vt 0.800000 0.792208 +vt 0.800000 0.805195 +vt 0.794286 0.837662 +vt 0.782857 0.837662 +vt 0.800000 0.844156 +vt 0.777143 0.837662 +vt 0.771429 0.707792 +vt 0.771429 0.746753 +vt 0.782857 0.792208 +vt 0.777143 0.805195 +vt 0.771429 0.837662 +vt 0.771429 0.844156 +vt 0.805714 0.824675 +vt 0.805714 0.818182 +vt 0.800000 0.788961 +vt 0.794286 0.750000 +vt 0.794286 0.788961 +vt 0.805714 0.788961 +vt 0.800000 0.750000 +vt 0.788571 0.746753 +vt 0.782857 0.707792 +vt 0.788571 0.788961 +vt 0.782857 0.750000 +vt 0.782857 0.788961 +vt 0.794286 0.746753 +vt 0.788571 0.707792 +vt 0.788571 0.750000 +vt 0.757143 0.811688 +vt 0.762857 0.818182 +vt 0.762857 0.811688 +vt 0.762857 0.837662 +vt 0.768571 0.844156 +vt 0.768571 0.837662 +vt 0.745714 0.850649 +vt 0.740000 0.844156 +vt 0.740000 0.850649 +vt 0.740000 0.824675 +vt 0.734286 0.818182 +vt 0.734286 0.824675 +vt 0.745714 0.818182 +vt 0.745714 0.824675 +vt 0.757143 0.824675 +vt 0.762857 0.824675 +vt 0.757143 0.818182 +vt 0.762857 0.850649 +vt 0.757143 0.844156 +vt 0.757143 0.850649 +vt 0.745714 0.844156 +vt 0.740000 0.811688 +vt 0.745714 0.811688 +vt 0.757143 0.805195 +vt 0.757143 0.792208 +vt 0.745714 0.805195 +vt 0.745714 0.746753 +vt 0.740000 0.707792 +vt 0.740000 0.746753 +vt 0.762857 0.792208 +vt 0.762857 0.805195 +vt 0.757143 0.837662 +vt 0.745714 0.837662 +vt 0.762857 0.844156 +vt 0.740000 0.837662 +vt 0.734286 0.707792 +vt 0.734286 0.746753 +vt 0.745714 0.792208 +vt 0.740000 0.805195 +vt 0.734286 0.837662 +vt 0.734286 0.844156 +vt 0.768571 0.824675 +vt 0.768571 0.818182 +vt 0.762857 0.788961 +vt 0.757143 0.750000 +vt 0.757143 0.788961 +vt 0.768571 0.788961 +vt 0.762857 0.750000 +vt 0.751429 0.746753 +vt 0.745714 0.707792 +vt 0.751429 0.788961 +vt 0.745714 0.750000 +vt 0.745714 0.788961 +vt 0.757143 0.746753 +vt 0.751429 0.707792 +vt 0.751429 0.750000 +vt 0.720000 0.811688 +vt 0.725714 0.818182 +vt 0.725714 0.811688 +vt 0.725714 0.837662 +vt 0.731429 0.844156 +vt 0.731429 0.837662 +vt 0.708571 0.850649 +vt 0.702857 0.844156 +vt 0.702857 0.850649 +vt 0.702857 0.824675 +vt 0.697143 0.818182 +vt 0.697143 0.824675 +vt 0.708571 0.818182 +vt 0.708571 0.824675 +vt 0.720000 0.824675 +vt 0.725714 0.824675 +vt 0.720000 0.818182 +vt 0.725714 0.850649 +vt 0.720000 0.844156 +vt 0.720000 0.850649 +vt 0.708571 0.844156 +vt 0.702857 0.811688 +vt 0.708571 0.811688 +vt 0.720000 0.805195 +vt 0.720000 0.792208 +vt 0.708571 0.805195 +vt 0.708571 0.746753 +vt 0.702857 0.707792 +vt 0.702857 0.746753 +vt 0.725714 0.792208 +vt 0.725714 0.805195 +vt 0.720000 0.837662 +vt 0.708571 0.837662 +vt 0.725714 0.844156 +vt 0.702857 0.837662 +vt 0.697143 0.707792 +vt 0.697143 0.746753 +vt 0.708571 0.792208 +vt 0.702857 0.805195 +vt 0.697143 0.837662 +vt 0.697143 0.844156 +vt 0.731429 0.824675 +vt 0.731429 0.818182 +vt 0.725714 0.788961 +vt 0.720000 0.750000 +vt 0.720000 0.788961 +vt 0.731429 0.788961 +vt 0.725714 0.750000 +vt 0.714286 0.746753 +vt 0.708571 0.707792 +vt 0.714286 0.788961 +vt 0.708571 0.750000 +vt 0.708571 0.788961 +vt 0.720000 0.746753 +vt 0.714286 0.707792 +vt 0.714286 0.750000 +vt 0.682857 0.811688 +vt 0.688571 0.818182 +vt 0.688571 0.811688 +vt 0.688571 0.837662 +vt 0.694286 0.844156 +vt 0.694286 0.837662 +vt 0.671429 0.850649 +vt 0.665714 0.844156 +vt 0.665714 0.850649 +vt 0.665714 0.824675 +vt 0.660000 0.818182 +vt 0.660000 0.824675 +vt 0.671429 0.818182 +vt 0.671429 0.824675 +vt 0.682857 0.824675 +vt 0.688571 0.824675 +vt 0.682857 0.818182 +vt 0.688571 0.850649 +vt 0.682857 0.844156 +vt 0.682857 0.850649 +vt 0.671429 0.844156 +vt 0.665714 0.811688 +vt 0.671429 0.811688 +vt 0.682857 0.805195 +vt 0.682857 0.792208 +vt 0.671429 0.805195 +vt 0.671429 0.746753 +vt 0.665714 0.707792 +vt 0.665714 0.746753 +vt 0.688571 0.792208 +vt 0.688571 0.805195 +vt 0.682857 0.837662 +vt 0.671429 0.837662 +vt 0.688571 0.844156 +vt 0.665714 0.837662 +vt 0.660000 0.707792 +vt 0.660000 0.746753 +vt 0.671429 0.792208 +vt 0.665714 0.805195 +vt 0.660000 0.837662 +vt 0.660000 0.844156 +vt 0.694286 0.824675 +vt 0.694286 0.818182 +vt 0.688571 0.788961 +vt 0.682857 0.750000 +vt 0.682857 0.788961 +vt 0.694286 0.788961 +vt 0.688571 0.750000 +vt 0.677143 0.746753 +vt 0.671429 0.707792 +vt 0.677143 0.788961 +vt 0.671429 0.750000 +vt 0.671429 0.788961 +vt 0.682857 0.746753 +vt 0.677143 0.707792 +vt 0.677143 0.750000 +vt 0.645714 0.811688 +vt 0.651429 0.818182 +vt 0.651429 0.811688 +vt 0.651429 0.837662 +vt 0.657143 0.844156 +vt 0.657143 0.837662 +vt 0.634286 0.850649 +vt 0.628571 0.844156 +vt 0.628571 0.850649 +vt 0.628571 0.824675 +vt 0.622857 0.818182 +vt 0.622857 0.824675 +vt 0.634286 0.818182 +vt 0.634286 0.824675 +vt 0.645714 0.824675 +vt 0.651429 0.824675 +vt 0.645714 0.818182 +vt 0.651429 0.850649 +vt 0.645714 0.844156 +vt 0.645714 0.850649 +vt 0.634286 0.844156 +vt 0.628571 0.811688 +vt 0.634286 0.811688 +vt 0.645714 0.805195 +vt 0.645714 0.792208 +vt 0.634286 0.805195 +vt 0.634286 0.746753 +vt 0.628571 0.707792 +vt 0.628571 0.746753 +vt 0.651429 0.792208 +vt 0.651429 0.805195 +vt 0.645714 0.837662 +vt 0.634286 0.837662 +vt 0.651429 0.844156 +vt 0.628571 0.837662 +vt 0.622857 0.707792 +vt 0.622857 0.746753 +vt 0.634286 0.792208 +vt 0.628571 0.805195 +vt 0.622857 0.837662 +vt 0.622857 0.844156 +vt 0.657143 0.824675 +vt 0.657143 0.818182 +vt 0.651429 0.788961 +vt 0.645714 0.750000 +vt 0.645714 0.788961 +vt 0.657143 0.788961 +vt 0.651429 0.750000 +vt 0.640000 0.746753 +vt 0.634286 0.707792 +vt 0.640000 0.788961 +vt 0.634286 0.750000 +vt 0.634286 0.788961 +vt 0.645714 0.746753 +vt 0.640000 0.707792 +vt 0.640000 0.750000 +vt 0.608571 0.811688 +vt 0.614286 0.818182 +vt 0.614286 0.811688 +vt 0.614286 0.837662 +vt 0.620000 0.844156 +vt 0.620000 0.837662 +vt 0.597143 0.850649 +vt 0.591429 0.844156 +vt 0.591429 0.850649 +vt 0.591429 0.824675 +vt 0.585714 0.818182 +vt 0.585714 0.824675 +vt 0.597143 0.818182 +vt 0.597143 0.824675 +vt 0.608571 0.824675 +vt 0.614286 0.824675 +vt 0.608571 0.818182 +vt 0.614286 0.850649 +vt 0.608571 0.844156 +vt 0.608571 0.850649 +vt 0.597143 0.844156 +vt 0.591429 0.811688 +vt 0.597143 0.811688 +vt 0.608571 0.805195 +vt 0.608571 0.792208 +vt 0.597143 0.805195 +vt 0.597143 0.746753 +vt 0.591429 0.707792 +vt 0.591429 0.746753 +vt 0.614286 0.792208 +vt 0.614286 0.805195 +vt 0.608571 0.837662 +vt 0.597143 0.837662 +vt 0.614286 0.844156 +vt 0.591429 0.837662 +vt 0.585714 0.707792 +vt 0.585714 0.746753 +vt 0.597143 0.792208 +vt 0.591429 0.805195 +vt 0.585714 0.837662 +vt 0.585714 0.844156 +vt 0.620000 0.824675 +vt 0.620000 0.818182 +vt 0.614286 0.788961 +vt 0.608571 0.750000 +vt 0.608571 0.788961 +vt 0.620000 0.788961 +vt 0.614286 0.750000 +vt 0.602857 0.746753 +vt 0.597143 0.707792 +vt 0.602857 0.788961 +vt 0.597143 0.750000 +vt 0.597143 0.788961 +vt 0.608571 0.746753 +vt 0.602857 0.707792 +vt 0.602857 0.750000 +vt 0.571429 0.811688 +vt 0.577143 0.818182 +vt 0.577143 0.811688 +vt 0.577143 0.837662 +vt 0.582857 0.844156 +vt 0.582857 0.837662 +vt 0.560000 0.850649 +vt 0.554286 0.844156 +vt 0.554286 0.850649 +vt 0.554286 0.824675 +vt 0.548571 0.818182 +vt 0.548571 0.824675 +vt 0.560000 0.818182 +vt 0.560000 0.824675 +vt 0.571429 0.824675 +vt 0.577143 0.824675 +vt 0.571429 0.818182 +vt 0.577143 0.850649 +vt 0.571429 0.844156 +vt 0.571429 0.850649 +vt 0.560000 0.844156 +vt 0.554286 0.811688 +vt 0.560000 0.811688 +vt 0.571429 0.805195 +vt 0.571429 0.792208 +vt 0.560000 0.805195 +vt 0.560000 0.746753 +vt 0.554286 0.707792 +vt 0.554286 0.746753 +vt 0.577143 0.792208 +vt 0.577143 0.805195 +vt 0.571429 0.837662 +vt 0.560000 0.837662 +vt 0.577143 0.844156 +vt 0.554286 0.837662 +vt 0.548571 0.707792 +vt 0.548571 0.746753 +vt 0.560000 0.792208 +vt 0.554286 0.805195 +vt 0.548571 0.837662 +vt 0.548571 0.844156 +vt 0.582857 0.824675 +vt 0.582857 0.818182 +vt 0.577143 0.788961 +vt 0.571429 0.750000 +vt 0.571429 0.788961 +vt 0.582857 0.788961 +vt 0.577143 0.750000 +vt 0.565714 0.746753 +vt 0.560000 0.707792 +vt 0.565714 0.788961 +vt 0.560000 0.750000 +vt 0.560000 0.788961 +vt 0.571429 0.746753 +vt 0.565714 0.707792 +vt 0.565714 0.750000 +vt 0.534286 0.811688 +vt 0.540000 0.818182 +vt 0.540000 0.811688 +vt 0.540000 0.837662 +vt 0.545714 0.844156 +vt 0.545714 0.837662 +vt 0.522857 0.850649 +vt 0.517143 0.844156 +vt 0.517143 0.850649 +vt 0.517143 0.824675 +vt 0.511429 0.818182 +vt 0.511429 0.824675 +vt 0.522857 0.818182 +vt 0.522857 0.824675 +vt 0.534286 0.824675 +vt 0.540000 0.824675 +vt 0.534286 0.818182 +vt 0.540000 0.850649 +vt 0.534286 0.844156 +vt 0.534286 0.850649 +vt 0.522857 0.844156 +vt 0.517143 0.811688 +vt 0.522857 0.811688 +vt 0.534286 0.805195 +vt 0.534286 0.792208 +vt 0.522857 0.805195 +vt 0.522857 0.746753 +vt 0.517143 0.707792 +vt 0.517143 0.746753 +vt 0.540000 0.792208 +vt 0.540000 0.805195 +vt 0.534286 0.837662 +vt 0.522857 0.837662 +vt 0.540000 0.844156 +vt 0.517143 0.837662 +vt 0.511429 0.707792 +vt 0.511429 0.746753 +vt 0.522857 0.792208 +vt 0.517143 0.805195 +vt 0.511429 0.837662 +vt 0.511429 0.844156 +vt 0.545714 0.824675 +vt 0.545714 0.818182 +vt 0.540000 0.788961 +vt 0.534286 0.750000 +vt 0.534286 0.788961 +vt 0.545714 0.788961 +vt 0.540000 0.750000 +vt 0.528571 0.746753 +vt 0.522857 0.707792 +vt 0.528571 0.788961 +vt 0.522857 0.750000 +vt 0.522857 0.788961 +vt 0.534286 0.746753 +vt 0.528571 0.707792 +vt 0.528571 0.750000 +vt 0.497143 0.811688 +vt 0.502857 0.818182 +vt 0.502857 0.811688 +vt 0.502857 0.837662 +vt 0.508571 0.844156 +vt 0.508571 0.837662 +vt 0.485714 0.850649 +vt 0.480000 0.844156 +vt 0.480000 0.850649 +vt 0.480000 0.824675 +vt 0.474286 0.818182 +vt 0.474286 0.824675 +vt 0.485714 0.818182 +vt 0.485714 0.824675 +vt 0.497143 0.824675 +vt 0.502857 0.824675 +vt 0.497143 0.818182 +vt 0.502857 0.850649 +vt 0.497143 0.844156 +vt 0.497143 0.850649 +vt 0.485714 0.844156 +vt 0.480000 0.811688 +vt 0.485714 0.811688 +vt 0.497143 0.805195 +vt 0.497143 0.792208 +vt 0.485714 0.805195 +vt 0.485714 0.746753 +vt 0.480000 0.707792 +vt 0.480000 0.746753 +vt 0.502857 0.792208 +vt 0.502857 0.805195 +vt 0.497143 0.837662 +vt 0.485714 0.837662 +vt 0.502857 0.844156 +vt 0.480000 0.837662 +vt 0.474286 0.707792 +vt 0.474286 0.746753 +vt 0.485714 0.792208 +vt 0.480000 0.805195 +vt 0.474286 0.837662 +vt 0.474286 0.844156 +vt 0.508571 0.824675 +vt 0.508571 0.818182 +vt 0.502857 0.788961 +vt 0.497143 0.750000 +vt 0.497143 0.788961 +vt 0.508571 0.788961 +vt 0.502857 0.750000 +vt 0.491429 0.746753 +vt 0.485714 0.707792 +vt 0.491429 0.788961 +vt 0.485714 0.750000 +vt 0.485714 0.788961 +vt 0.497143 0.746753 +vt 0.491429 0.707792 +vt 0.491429 0.750000 +vt 0.868571 0.811688 +vt 0.874286 0.818182 +vt 0.874286 0.811688 +vt 0.874286 0.837662 +vt 0.880000 0.844156 +vt 0.880000 0.837662 +vt 0.857143 0.850649 +vt 0.851429 0.844156 +vt 0.851429 0.850649 +vt 0.851429 0.824675 +vt 0.845714 0.818182 +vt 0.845714 0.824675 +vt 0.857143 0.818182 +vt 0.857143 0.824675 +vt 0.868571 0.824675 +vt 0.874286 0.824675 +vt 0.868571 0.818182 +vt 0.874286 0.850649 +vt 0.868571 0.844156 +vt 0.868571 0.850649 +vt 0.857143 0.844156 +vt 0.851429 0.811688 +vt 0.857143 0.811688 +vt 0.868571 0.805195 +vt 0.868571 0.792208 +vt 0.857143 0.805195 +vt 0.857143 0.746753 +vt 0.851429 0.707792 +vt 0.851429 0.746753 +vt 0.874286 0.792208 +vt 0.874286 0.805195 +vt 0.868571 0.837662 +vt 0.857143 0.837662 +vt 0.874286 0.844156 +vt 0.851429 0.837662 +vt 0.845714 0.707792 +vt 0.845714 0.746753 +vt 0.857143 0.792208 +vt 0.851429 0.805195 +vt 0.845714 0.837662 +vt 0.845714 0.844156 +vt 0.880000 0.824675 +vt 0.880000 0.818182 +vt 0.874286 0.788961 +vt 0.868571 0.750000 +vt 0.868571 0.788961 +vt 0.880000 0.788961 +vt 0.874286 0.750000 +vt 0.862857 0.746753 +vt 0.857143 0.707792 +vt 0.862857 0.788961 +vt 0.857143 0.750000 +vt 0.857143 0.788961 +vt 0.868571 0.746753 +vt 0.862857 0.707792 +vt 0.862857 0.750000 +vt 0.522857 0.957792 +vt 0.517143 0.964286 +vt 0.522857 0.964286 +vt 0.511429 0.990260 +vt 0.517143 0.983766 +vt 0.511429 0.983766 +vt 0.534286 0.996753 +vt 0.540000 0.990260 +vt 0.534286 0.990260 +vt 0.545714 0.964286 +vt 0.540000 0.970779 +vt 0.545714 0.970779 +vt 0.534286 0.964286 +vt 0.534286 0.970779 +vt 0.522857 0.970779 +vt 0.517143 0.970779 +vt 0.517143 0.996753 +vt 0.522857 0.990260 +vt 0.517143 0.990260 +vt 0.522857 0.996753 +vt 0.540000 0.957792 +vt 0.540000 0.964286 +vt 0.534286 0.957792 +vt 0.522857 0.951299 +vt 0.534286 0.951299 +vt 0.522857 0.938312 +vt 0.540000 0.853896 +vt 0.534286 0.892857 +vt 0.540000 0.892857 +vt 0.517143 0.938312 +vt 0.517143 0.951299 +vt 0.522857 0.983766 +vt 0.534286 0.983766 +vt 0.540000 0.983766 +vt 0.545714 0.853896 +vt 0.545714 0.892857 +vt 0.540000 0.951299 +vt 0.534286 0.938312 +vt 0.545714 0.983766 +vt 0.545714 0.990260 +vt 0.511429 0.970779 +vt 0.511429 0.964286 +vt 0.522857 0.896104 +vt 0.517143 0.935065 +vt 0.522857 0.935065 +vt 0.517143 0.896104 +vt 0.511429 0.935065 +vt 0.534286 0.853896 +vt 0.528571 0.892857 +vt 0.534286 0.896104 +vt 0.528571 0.935065 +vt 0.534286 0.935065 +vt 0.528571 0.853896 +vt 0.522857 0.892857 +vt 0.528571 0.896104 +vt 0.560000 0.957792 +vt 0.554286 0.964286 +vt 0.560000 0.964286 +vt 0.548571 0.990260 +vt 0.554286 0.983766 +vt 0.548571 0.983766 +vt 0.571429 0.996753 +vt 0.577143 0.990260 +vt 0.571429 0.990260 +vt 0.582857 0.964286 +vt 0.577143 0.970779 +vt 0.582857 0.970779 +vt 0.571429 0.964286 +vt 0.571429 0.970779 +vt 0.560000 0.970779 +vt 0.554286 0.970779 +vt 0.554286 0.996753 +vt 0.560000 0.990260 +vt 0.554286 0.990260 +vt 0.560000 0.996753 +vt 0.577143 0.957792 +vt 0.577143 0.964286 +vt 0.571429 0.957792 +vt 0.560000 0.951299 +vt 0.571429 0.951299 +vt 0.560000 0.938312 +vt 0.577143 0.853896 +vt 0.571429 0.892857 +vt 0.577143 0.892857 +vt 0.554286 0.938312 +vt 0.554286 0.951299 +vt 0.560000 0.983766 +vt 0.571429 0.983766 +vt 0.577143 0.983766 +vt 0.582857 0.853896 +vt 0.582857 0.892857 +vt 0.577143 0.951299 +vt 0.571429 0.938312 +vt 0.582857 0.983766 +vt 0.582857 0.990260 +vt 0.548571 0.970779 +vt 0.548571 0.964286 +vt 0.560000 0.896104 +vt 0.554286 0.935065 +vt 0.560000 0.935065 +vt 0.554286 0.896104 +vt 0.548571 0.935065 +vt 0.571429 0.853896 +vt 0.565714 0.892857 +vt 0.571429 0.896104 +vt 0.565714 0.935065 +vt 0.571429 0.935065 +vt 0.565714 0.853896 +vt 0.560000 0.892857 +vt 0.565714 0.896104 +vt 0.597143 0.957792 +vt 0.591429 0.964286 +vt 0.597143 0.964286 +vt 0.585714 0.990260 +vt 0.591429 0.983766 +vt 0.585714 0.983766 +vt 0.608571 0.996753 +vt 0.614286 0.990260 +vt 0.608571 0.990260 +vt 0.620000 0.964286 +vt 0.614286 0.970779 +vt 0.620000 0.970779 +vt 0.608571 0.964286 +vt 0.608571 0.970779 +vt 0.597143 0.970779 +vt 0.591429 0.970779 +vt 0.591429 0.996753 +vt 0.597143 0.990260 +vt 0.591429 0.990260 +vt 0.597143 0.996753 +vt 0.614286 0.957792 +vt 0.614286 0.964286 +vt 0.608571 0.957792 +vt 0.597143 0.951299 +vt 0.608571 0.951299 +vt 0.597143 0.938312 +vt 0.614286 0.853896 +vt 0.608571 0.892857 +vt 0.614286 0.892857 +vt 0.591429 0.938312 +vt 0.591429 0.951299 +vt 0.597143 0.983766 +vt 0.608571 0.983766 +vt 0.614286 0.983766 +vt 0.620000 0.853896 +vt 0.620000 0.892857 +vt 0.614286 0.951299 +vt 0.608571 0.938312 +vt 0.620000 0.983766 +vt 0.620000 0.990260 +vt 0.585714 0.970779 +vt 0.585714 0.964286 +vt 0.597143 0.896104 +vt 0.591429 0.935065 +vt 0.597143 0.935065 +vt 0.591429 0.896104 +vt 0.585714 0.935065 +vt 0.608571 0.853896 +vt 0.602857 0.892857 +vt 0.608571 0.896104 +vt 0.602857 0.935065 +vt 0.608571 0.935065 +vt 0.602857 0.853896 +vt 0.597143 0.892857 +vt 0.602857 0.896104 +vt 0.634286 0.957792 +vt 0.628571 0.964286 +vt 0.634286 0.964286 +vt 0.622857 0.990260 +vt 0.628571 0.983766 +vt 0.622857 0.983766 +vt 0.645714 0.996753 +vt 0.651429 0.990260 +vt 0.645714 0.990260 +vt 0.657143 0.964286 +vt 0.651429 0.970779 +vt 0.657143 0.970779 +vt 0.645714 0.964286 +vt 0.645714 0.970779 +vt 0.634286 0.970779 +vt 0.628571 0.970779 +vt 0.628571 0.996753 +vt 0.634286 0.990260 +vt 0.628571 0.990260 +vt 0.634286 0.996753 +vt 0.651429 0.957792 +vt 0.651429 0.964286 +vt 0.645714 0.957792 +vt 0.634286 0.951299 +vt 0.645714 0.951299 +vt 0.634286 0.938312 +vt 0.651429 0.853896 +vt 0.645714 0.892857 +vt 0.651429 0.892857 +vt 0.628571 0.938312 +vt 0.628571 0.951299 +vt 0.634286 0.983766 +vt 0.645714 0.983766 +vt 0.651429 0.983766 +vt 0.657143 0.853896 +vt 0.657143 0.892857 +vt 0.651429 0.951299 +vt 0.645714 0.938312 +vt 0.657143 0.983766 +vt 0.657143 0.990260 +vt 0.622857 0.970779 +vt 0.622857 0.964286 +vt 0.634286 0.896104 +vt 0.628571 0.935065 +vt 0.634286 0.935065 +vt 0.628571 0.896104 +vt 0.622857 0.935065 +vt 0.645714 0.853896 +vt 0.640000 0.892857 +vt 0.645714 0.896104 +vt 0.640000 0.935065 +vt 0.645714 0.935065 +vt 0.640000 0.853896 +vt 0.634286 0.892857 +vt 0.640000 0.896104 +vt 0.671429 0.957792 +vt 0.665714 0.964286 +vt 0.671429 0.964286 +vt 0.660000 0.990260 +vt 0.665714 0.983766 +vt 0.660000 0.983766 +vt 0.682857 0.996753 +vt 0.688571 0.990260 +vt 0.682857 0.990260 +vt 0.694286 0.964286 +vt 0.688571 0.970779 +vt 0.694286 0.970779 +vt 0.682857 0.964286 +vt 0.682857 0.970779 +vt 0.671429 0.970779 +vt 0.665714 0.970779 +vt 0.665714 0.996753 +vt 0.671429 0.990260 +vt 0.665714 0.990260 +vt 0.671429 0.996753 +vt 0.688571 0.957792 +vt 0.688571 0.964286 +vt 0.682857 0.957792 +vt 0.671429 0.951299 +vt 0.682857 0.951299 +vt 0.671429 0.938312 +vt 0.688571 0.853896 +vt 0.682857 0.892857 +vt 0.688571 0.892857 +vt 0.665714 0.938312 +vt 0.665714 0.951299 +vt 0.671429 0.983766 +vt 0.682857 0.983766 +vt 0.688571 0.983766 +vt 0.694286 0.853896 +vt 0.694286 0.892857 +vt 0.688571 0.951299 +vt 0.682857 0.938312 +vt 0.694286 0.983766 +vt 0.694286 0.990260 +vt 0.660000 0.970779 +vt 0.660000 0.964286 +vt 0.671429 0.896104 +vt 0.665714 0.935065 +vt 0.671429 0.935065 +vt 0.665714 0.896104 +vt 0.660000 0.935065 +vt 0.682857 0.853896 +vt 0.677143 0.892857 +vt 0.682857 0.896104 +vt 0.677143 0.935065 +vt 0.682857 0.935065 +vt 0.677143 0.853896 +vt 0.671429 0.892857 +vt 0.677143 0.896104 +vt 0.708571 0.957792 +vt 0.702857 0.964286 +vt 0.708571 0.964286 +vt 0.697143 0.990260 +vt 0.702857 0.983766 +vt 0.697143 0.983766 +vt 0.720000 0.996753 +vt 0.725714 0.990260 +vt 0.720000 0.990260 +vt 0.731429 0.964286 +vt 0.725714 0.970779 +vt 0.731429 0.970779 +vt 0.720000 0.964286 +vt 0.720000 0.970779 +vt 0.708571 0.970779 +vt 0.702857 0.970779 +vt 0.702857 0.996753 +vt 0.708571 0.990260 +vt 0.702857 0.990260 +vt 0.708571 0.996753 +vt 0.725714 0.957792 +vt 0.725714 0.964286 +vt 0.720000 0.957792 +vt 0.708571 0.951299 +vt 0.720000 0.951299 +vt 0.708571 0.938312 +vt 0.725714 0.853896 +vt 0.720000 0.892857 +vt 0.725714 0.892857 +vt 0.702857 0.938312 +vt 0.702857 0.951299 +vt 0.708571 0.983766 +vt 0.720000 0.983766 +vt 0.725714 0.983766 +vt 0.731429 0.853896 +vt 0.731429 0.892857 +vt 0.725714 0.951299 +vt 0.720000 0.938312 +vt 0.731429 0.983766 +vt 0.731429 0.990260 +vt 0.697143 0.970779 +vt 0.697143 0.964286 +vt 0.708571 0.896104 +vt 0.702857 0.935065 +vt 0.708571 0.935065 +vt 0.702857 0.896104 +vt 0.697143 0.935065 +vt 0.720000 0.853896 +vt 0.714286 0.892857 +vt 0.720000 0.896104 +vt 0.714286 0.935065 +vt 0.720000 0.935065 +vt 0.714286 0.853896 +vt 0.708571 0.892857 +vt 0.714286 0.896104 +vt 0.745714 0.957792 +vt 0.740000 0.964286 +vt 0.745714 0.964286 +vt 0.734286 0.990260 +vt 0.740000 0.983766 +vt 0.734286 0.983766 +vt 0.757143 0.996753 +vt 0.762857 0.990260 +vt 0.757143 0.990260 +vt 0.768571 0.964286 +vt 0.762857 0.970779 +vt 0.768571 0.970779 +vt 0.757143 0.964286 +vt 0.757143 0.970779 +vt 0.745714 0.970779 +vt 0.740000 0.970779 +vt 0.740000 0.996753 +vt 0.745714 0.990260 +vt 0.740000 0.990260 +vt 0.745714 0.996753 +vt 0.762857 0.957792 +vt 0.762857 0.964286 +vt 0.757143 0.957792 +vt 0.745714 0.951299 +vt 0.757143 0.951299 +vt 0.745714 0.938312 +vt 0.762857 0.853896 +vt 0.757143 0.892857 +vt 0.762857 0.892857 +vt 0.740000 0.938312 +vt 0.740000 0.951299 +vt 0.745714 0.983766 +vt 0.757143 0.983766 +vt 0.762857 0.983766 +vt 0.768571 0.853896 +vt 0.768571 0.892857 +vt 0.762857 0.951299 +vt 0.757143 0.938312 +vt 0.768571 0.983766 +vt 0.768571 0.990260 +vt 0.734286 0.970779 +vt 0.734286 0.964286 +vt 0.745714 0.896104 +vt 0.740000 0.935065 +vt 0.745714 0.935065 +vt 0.740000 0.896104 +vt 0.734286 0.935065 +vt 0.757143 0.853896 +vt 0.751429 0.892857 +vt 0.757143 0.896104 +vt 0.751429 0.935065 +vt 0.757143 0.935065 +vt 0.751429 0.853896 +vt 0.745714 0.892857 +vt 0.751429 0.896104 +vt 0.782857 0.957792 +vt 0.777143 0.964286 +vt 0.782857 0.964286 +vt 0.771429 0.990260 +vt 0.777143 0.983766 +vt 0.771429 0.983766 +vt 0.794286 0.996753 +vt 0.800000 0.990260 +vt 0.794286 0.990260 +vt 0.805714 0.964286 +vt 0.800000 0.970779 +vt 0.805714 0.970779 +vt 0.794286 0.964286 +vt 0.794286 0.970779 +vt 0.782857 0.970779 +vt 0.777143 0.970779 +vt 0.777143 0.996753 +vt 0.782857 0.990260 +vt 0.777143 0.990260 +vt 0.782857 0.996753 +vt 0.800000 0.957792 +vt 0.800000 0.964286 +vt 0.794286 0.957792 +vt 0.782857 0.951299 +vt 0.794286 0.951299 +vt 0.782857 0.938312 +vt 0.800000 0.853896 +vt 0.794286 0.892857 +vt 0.800000 0.892857 +vt 0.777143 0.938312 +vt 0.777143 0.951299 +vt 0.782857 0.983766 +vt 0.794286 0.983766 +vt 0.800000 0.983766 +vt 0.805714 0.853896 +vt 0.805714 0.892857 +vt 0.800000 0.951299 +vt 0.794286 0.938312 +vt 0.805714 0.983766 +vt 0.805714 0.990260 +vt 0.771429 0.970779 +vt 0.771429 0.964286 +vt 0.782857 0.896104 +vt 0.777143 0.935065 +vt 0.782857 0.935065 +vt 0.777143 0.896104 +vt 0.771429 0.935065 +vt 0.794286 0.853896 +vt 0.788571 0.892857 +vt 0.794286 0.896104 +vt 0.788571 0.935065 +vt 0.794286 0.935065 +vt 0.788571 0.853896 +vt 0.782857 0.892857 +vt 0.788571 0.896104 +vt 0.820000 0.957792 +vt 0.814286 0.964286 +vt 0.820000 0.964286 +vt 0.808571 0.990260 +vt 0.814286 0.983766 +vt 0.808571 0.983766 +vt 0.831429 0.996753 +vt 0.837143 0.990260 +vt 0.831429 0.990260 +vt 0.842857 0.964286 +vt 0.837143 0.970779 +vt 0.842857 0.970779 +vt 0.831429 0.964286 +vt 0.831429 0.970779 +vt 0.820000 0.970779 +vt 0.814286 0.970779 +vt 0.814286 0.996753 +vt 0.820000 0.990260 +vt 0.814286 0.990260 +vt 0.820000 0.996753 +vt 0.837143 0.957792 +vt 0.837143 0.964286 +vt 0.831429 0.957792 +vt 0.820000 0.951299 +vt 0.831429 0.951299 +vt 0.820000 0.938312 +vt 0.837143 0.853896 +vt 0.831429 0.892857 +vt 0.837143 0.892857 +vt 0.814286 0.938312 +vt 0.814286 0.951299 +vt 0.820000 0.983766 +vt 0.831429 0.983766 +vt 0.837143 0.983766 +vt 0.842857 0.853896 +vt 0.842857 0.892857 +vt 0.837143 0.951299 +vt 0.831429 0.938312 +vt 0.842857 0.983766 +vt 0.842857 0.990260 +vt 0.808571 0.970779 +vt 0.808571 0.964286 +vt 0.820000 0.896104 +vt 0.814286 0.935065 +vt 0.820000 0.935065 +vt 0.814286 0.896104 +vt 0.808571 0.935065 +vt 0.831429 0.853896 +vt 0.825714 0.892857 +vt 0.831429 0.896104 +vt 0.825714 0.935065 +vt 0.831429 0.935065 +vt 0.825714 0.853896 +vt 0.820000 0.892857 +vt 0.825714 0.896104 +vt 0.857143 0.957792 +vt 0.851429 0.964286 +vt 0.857143 0.964286 +vt 0.845714 0.990260 +vt 0.851429 0.983766 +vt 0.845714 0.983766 +vt 0.868571 0.996753 +vt 0.874286 0.990260 +vt 0.868571 0.990260 +vt 0.880000 0.964286 +vt 0.874286 0.970779 +vt 0.880000 0.970779 +vt 0.868571 0.964286 +vt 0.868571 0.970779 +vt 0.857143 0.970779 +vt 0.851429 0.970779 +vt 0.851429 0.996753 +vt 0.857143 0.990260 +vt 0.851429 0.990260 +vt 0.857143 0.996753 +vt 0.874286 0.957792 +vt 0.874286 0.964286 +vt 0.868571 0.957792 +vt 0.857143 0.951299 +vt 0.868571 0.951299 +vt 0.857143 0.938312 +vt 0.874286 0.853896 +vt 0.868571 0.892857 +vt 0.874286 0.892857 +vt 0.851429 0.938312 +vt 0.851429 0.951299 +vt 0.857143 0.983766 +vt 0.868571 0.983766 +vt 0.874286 0.983766 +vt 0.880000 0.853896 +vt 0.880000 0.892857 +vt 0.874286 0.951299 +vt 0.868571 0.938312 +vt 0.880000 0.983766 +vt 0.880000 0.990260 +vt 0.845714 0.970779 +vt 0.845714 0.964286 +vt 0.857143 0.896104 +vt 0.851429 0.935065 +vt 0.857143 0.935065 +vt 0.851429 0.896104 +vt 0.845714 0.935065 +vt 0.868571 0.853896 +vt 0.862857 0.892857 +vt 0.868571 0.896104 +vt 0.862857 0.935065 +vt 0.868571 0.935065 +vt 0.862857 0.853896 +vt 0.857143 0.892857 +vt 0.862857 0.896104 +vt 0.485714 0.957792 +vt 0.480000 0.964286 +vt 0.485714 0.964286 +vt 0.474286 0.990260 +vt 0.480000 0.983766 +vt 0.474286 0.983766 +vt 0.497143 0.996753 +vt 0.502857 0.990260 +vt 0.497143 0.990260 +vt 0.508571 0.964286 +vt 0.502857 0.970779 +vt 0.508571 0.970779 +vt 0.497143 0.964286 +vt 0.497143 0.970779 +vt 0.485714 0.970779 +vt 0.480000 0.970779 +vt 0.480000 0.996753 +vt 0.485714 0.990260 +vt 0.480000 0.990260 +vt 0.485714 0.996753 +vt 0.502857 0.957792 +vt 0.502857 0.964286 +vt 0.497143 0.957792 +vt 0.485714 0.951299 +vt 0.497143 0.951299 +vt 0.485714 0.938312 +vt 0.502857 0.853896 +vt 0.497143 0.892857 +vt 0.502857 0.892857 +vt 0.480000 0.938312 +vt 0.480000 0.951299 +vt 0.485714 0.983766 +vt 0.497143 0.983766 +vt 0.502857 0.983766 +vt 0.508571 0.853896 +vt 0.508571 0.892857 +vt 0.502857 0.951299 +vt 0.497143 0.938312 +vt 0.508571 0.983766 +vt 0.508571 0.990260 +vt 0.474286 0.970779 +vt 0.474286 0.964286 +vt 0.485714 0.896104 +vt 0.480000 0.935065 +vt 0.485714 0.935065 +vt 0.480000 0.896104 +vt 0.474286 0.935065 +vt 0.497143 0.853896 +vt 0.491429 0.892857 +vt 0.497143 0.896104 +vt 0.491429 0.935065 +vt 0.497143 0.935065 +vt 0.491429 0.853896 +vt 0.485714 0.892857 +vt 0.491429 0.896104 +vt 0.822857 0.149351 +vt 0.814286 0.139610 +vt 0.822857 0.129870 +vt 0.822857 0.126623 +vt 0.820000 0.113636 +vt 0.822857 0.113636 +vt 0.811429 0.139610 +vt 0.802857 0.149351 +vt 0.802857 0.129870 +vt 0.822857 0.110390 +vt 0.811429 0.159091 +vt 0.820000 0.110390 +vt 0.822857 0.090909 +vt 0.834286 0.113636 +vt 0.817143 0.110390 +vt 0.820000 0.090909 +vt 0.834286 0.110390 +vt 0.837143 0.113636 +vt 0.834286 0.149351 +vt 0.840000 0.110390 +vt 0.837143 0.090909 +vt 0.840000 0.090909 +vt 0.854286 0.149351 +vt 0.845714 0.139610 +vt 0.854286 0.129870 +vt 0.834286 0.090909 +vt 0.837143 0.110390 +vt 0.842857 0.139610 +vt 0.845714 0.159091 +vt 0.842857 0.159091 +vt 0.834286 0.126623 +vt 0.888571 0.149351 +vt 0.880000 0.139610 +vt 0.880000 0.159091 +vt 0.885714 0.113636 +vt 0.888571 0.126623 +vt 0.888571 0.113636 +vt 0.868571 0.149351 +vt 0.877143 0.139610 +vt 0.868571 0.129870 +vt 0.888571 0.110390 +vt 0.877143 0.159091 +vt 0.888571 0.090909 +vt 0.885714 0.110390 +vt 0.900000 0.113636 +vt 0.882857 0.110390 +vt 0.885714 0.090909 +vt 0.882857 0.090909 +vt 0.902857 0.113636 +vt 0.900000 0.110390 +vt 0.900000 0.149351 +vt 0.888571 0.129870 +vt 0.902857 0.090909 +vt 0.905714 0.110390 +vt 0.905714 0.090909 +vt 0.911429 0.139610 +vt 0.920000 0.149351 +vt 0.920000 0.129870 +vt 0.902857 0.110390 +vt 0.900000 0.090909 +vt 0.911429 0.159091 +vt 0.908571 0.139610 +vt 0.908571 0.159091 +vt 0.900000 0.126623 +vt 0.900000 0.129870 +vt 0.868571 0.308442 +vt 0.862857 0.191558 +vt 0.868571 0.191558 +vt 0.862857 0.308442 +vt 0.857143 0.191558 +vt 0.874286 0.191558 +vt 0.862857 0.185065 +vt 0.868571 0.314935 +vt 0.862857 0.314935 +vt 0.888571 0.308442 +vt 0.882857 0.191558 +vt 0.888571 0.191558 +vt 0.882857 0.308442 +vt 0.877143 0.191558 +vt 0.894286 0.191558 +vt 0.882857 0.185065 +vt 0.888571 0.314935 +vt 0.882857 0.314935 +vt 0.908571 0.308442 +vt 0.902857 0.191558 +vt 0.908571 0.191558 +vt 0.902857 0.308442 +vt 0.897143 0.191558 +vt 0.914286 0.191558 +vt 0.902857 0.185065 +vt 0.908571 0.314935 +vt 0.902857 0.314935 +vt 0.928571 0.308442 +vt 0.922857 0.191558 +vt 0.928571 0.191558 +vt 0.922857 0.308442 +vt 0.917143 0.191558 +vt 0.934286 0.191558 +vt 0.922857 0.185065 +vt 0.928571 0.314935 +vt 0.922857 0.314935 +vt 0.848571 0.308442 +vt 0.842857 0.191558 +vt 0.848571 0.191558 +vt 0.842857 0.308442 +vt 0.837143 0.191558 +vt 0.854286 0.191558 +vt 0.842857 0.185065 +vt 0.848571 0.314935 +vt 0.842857 0.314935 +vt 0.862857 0.324675 +vt 0.868571 0.441558 +vt 0.868571 0.324675 +vt 0.857143 0.441558 +vt 0.862857 0.441558 +vt 0.874286 0.324675 +vt 0.874286 0.441558 +vt 0.862857 0.318182 +vt 0.868571 0.448052 +vt 0.862857 0.448052 +vt 0.882857 0.324675 +vt 0.888571 0.441558 +vt 0.888571 0.324675 +vt 0.877143 0.441558 +vt 0.882857 0.441558 +vt 0.894286 0.324675 +vt 0.894286 0.441558 +vt 0.882857 0.318182 +vt 0.888571 0.448052 +vt 0.882857 0.448052 +vt 0.902857 0.324675 +vt 0.908571 0.441558 +vt 0.908571 0.324675 +vt 0.897143 0.441558 +vt 0.902857 0.441558 +vt 0.914286 0.324675 +vt 0.914286 0.441558 +vt 0.902857 0.318182 +vt 0.908571 0.448052 +vt 0.902857 0.448052 +vt 0.922857 0.324675 +vt 0.928571 0.441558 +vt 0.928571 0.324675 +vt 0.917143 0.441558 +vt 0.922857 0.441558 +vt 0.934286 0.324675 +vt 0.934286 0.441558 +vt 0.922857 0.318182 +vt 0.928571 0.448052 +vt 0.922857 0.448052 +vt 0.842857 0.324675 +vt 0.848571 0.441558 +vt 0.848571 0.324675 +vt 0.837143 0.441558 +vt 0.842857 0.441558 +vt 0.854286 0.324675 +vt 0.854286 0.441558 +vt 0.842857 0.318182 +vt 0.848571 0.448052 +vt 0.842857 0.448052 +vt 0.471429 0.788961 +vt 0.448571 0.685065 +vt 0.471429 0.685065 +vt 0.425714 0.788961 +vt 0.402857 0.685065 +vt 0.425714 0.685065 +vt 0.425714 0.808442 +vt 0.402857 0.860390 +vt 0.402857 0.808442 +vt 0.402857 0.798701 +vt 0.448571 0.788961 +vt 0.471429 0.798701 +vt 0.448571 0.808442 +vt 0.471429 0.808442 +vt 0.448571 0.860390 +vt 0.448571 0.879870 +vt 0.471429 0.889610 +vt 0.448571 0.899351 +vt 0.402857 0.870130 +vt 0.425714 0.860390 +vt 0.425714 0.879870 +vt 0.471429 0.870130 +vt 0.402857 0.899351 +vt 0.425714 0.996753 +vt 0.402857 0.996753 +vt 0.402857 0.889610 +vt 0.425714 0.899351 +vt 0.471429 0.899351 +vt 0.448571 0.996753 +vt 0.377143 0.788961 +vt 0.354286 0.685065 +vt 0.377143 0.685065 +vt 0.331429 0.788961 +vt 0.308571 0.685065 +vt 0.331429 0.685065 +vt 0.331429 0.808442 +vt 0.308571 0.860390 +vt 0.308571 0.808442 +vt 0.308571 0.798701 +vt 0.354286 0.788961 +vt 0.377143 0.798701 +vt 0.354286 0.808442 +vt 0.377143 0.808442 +vt 0.354286 0.860390 +vt 0.354286 0.879870 +vt 0.377143 0.889610 +vt 0.354286 0.899351 +vt 0.308571 0.870130 +vt 0.331429 0.860390 +vt 0.331429 0.879870 +vt 0.377143 0.870130 +vt 0.308571 0.899351 +vt 0.331429 0.996753 +vt 0.308571 0.996753 +vt 0.308571 0.889610 +vt 0.331429 0.899351 +vt 0.377143 0.899351 +vt 0.354286 0.996753 +vt 0.282857 0.788961 +vt 0.260000 0.685065 +vt 0.282857 0.685065 +vt 0.237143 0.788961 +vt 0.214286 0.685065 +vt 0.237143 0.685065 +vt 0.237143 0.808442 +vt 0.214286 0.860390 +vt 0.214286 0.808442 +vt 0.214286 0.798701 +vt 0.260000 0.788961 +vt 0.282857 0.798701 +vt 0.260000 0.808442 +vt 0.282857 0.808442 +vt 0.260000 0.860390 +vt 0.260000 0.879870 +vt 0.282857 0.889610 +vt 0.260000 0.899351 +vt 0.214286 0.870130 +vt 0.237143 0.860390 +vt 0.237143 0.879870 +vt 0.282857 0.870130 +vt 0.214286 0.899351 +vt 0.237143 0.996753 +vt 0.214286 0.996753 +vt 0.214286 0.889610 +vt 0.237143 0.899351 +vt 0.282857 0.899351 +vt 0.260000 0.996753 +vt 0.188571 0.788961 +vt 0.165714 0.685065 +vt 0.188571 0.685065 +vt 0.142857 0.788961 +vt 0.120000 0.685065 +vt 0.142857 0.685065 +vt 0.142857 0.808442 +vt 0.120000 0.860390 +vt 0.120000 0.808442 +vt 0.120000 0.798701 +vt 0.165714 0.788961 +vt 0.188571 0.798701 +vt 0.165714 0.808442 +vt 0.188571 0.808442 +vt 0.165714 0.860390 +vt 0.165714 0.879870 +vt 0.188571 0.889610 +vt 0.165714 0.899351 +vt 0.120000 0.870130 +vt 0.142857 0.860390 +vt 0.142857 0.879870 +vt 0.188571 0.870130 +vt 0.120000 0.899351 +vt 0.142857 0.996753 +vt 0.120000 0.996753 +vt 0.120000 0.889610 +vt 0.142857 0.899351 +vt 0.188571 0.899351 +vt 0.165714 0.996753 +vt 0.094286 0.788961 +vt 0.071429 0.685065 +vt 0.094286 0.685065 +vt 0.048571 0.788961 +vt 0.025714 0.685065 +vt 0.048571 0.685065 +vt 0.048571 0.808442 +vt 0.025714 0.860390 +vt 0.025714 0.808442 +vt 0.025714 0.798701 +vt 0.071429 0.788961 +vt 0.094286 0.798701 +vt 0.071429 0.808442 +vt 0.094286 0.808442 +vt 0.071429 0.860390 +vt 0.071429 0.879870 +vt 0.094286 0.889610 +vt 0.071429 0.899351 +vt 0.025714 0.870130 +vt 0.048571 0.860390 +vt 0.048571 0.879870 +vt 0.094286 0.870130 +vt 0.025714 0.899351 +vt 0.048571 0.996753 +vt 0.025714 0.996753 +vt 0.025714 0.889610 +vt 0.048571 0.899351 +vt 0.094286 0.899351 +vt 0.071429 0.996753 +vt 0.737143 0.240260 +vt 0.234286 0.123377 +vt 0.234286 0.522727 +vt 0.185714 0.574675 +vt 0.737143 0.243506 +vt 0.737143 0.467532 +vt 0.737143 0.525974 +vt 0.234286 0.581169 +vt 0.234286 0.467532 +vt 0.002857 0.003247 +vt 0.234286 0.577922 +vt 0.697143 0.470779 +vt 0.962857 0.490260 +vt 0.997143 0.490260 +vt 0.917143 0.957792 +vt 0.882857 0.957792 +vt 0.751429 0.123377 +vt 0.774286 0.590909 +vt 0.951429 0.451299 +vt 0.928571 0.996753 +vt 0.814286 0.818182 +vt 0.814286 0.792208 +vt 0.842857 0.750000 +vt 0.831429 0.707792 +vt 0.777143 0.818182 +vt 0.777143 0.792208 +vt 0.805714 0.750000 +vt 0.794286 0.707792 +vt 0.740000 0.818182 +vt 0.740000 0.792208 +vt 0.768571 0.750000 +vt 0.757143 0.707792 +vt 0.702857 0.818182 +vt 0.702857 0.792208 +vt 0.731429 0.750000 +vt 0.720000 0.707792 +vt 0.665714 0.818182 +vt 0.665714 0.792208 +vt 0.694286 0.750000 +vt 0.682857 0.707792 +vt 0.628571 0.818182 +vt 0.628571 0.792208 +vt 0.657143 0.750000 +vt 0.645714 0.707792 +vt 0.591429 0.818182 +vt 0.591429 0.792208 +vt 0.620000 0.750000 +vt 0.608571 0.707792 +vt 0.554286 0.818182 +vt 0.554286 0.792208 +vt 0.582857 0.750000 +vt 0.571429 0.707792 +vt 0.517143 0.818182 +vt 0.517143 0.792208 +vt 0.545714 0.750000 +vt 0.534286 0.707792 +vt 0.480000 0.818182 +vt 0.480000 0.792208 +vt 0.508571 0.750000 +vt 0.497143 0.707792 +vt 0.851429 0.818182 +vt 0.851429 0.792208 +vt 0.880000 0.750000 +vt 0.868571 0.707792 +vt 0.517143 0.957792 +vt 0.540000 0.996753 +vt 0.540000 0.938312 +vt 0.511429 0.896104 +vt 0.522857 0.853896 +vt 0.554286 0.957792 +vt 0.577143 0.996753 +vt 0.577143 0.938312 +vt 0.548571 0.896104 +vt 0.560000 0.853896 +vt 0.591429 0.957792 +vt 0.614286 0.996753 +vt 0.614286 0.938312 +vt 0.585714 0.896104 +vt 0.597143 0.853896 +vt 0.628571 0.957792 +vt 0.651429 0.996753 +vt 0.651429 0.938312 +vt 0.622857 0.896104 +vt 0.634286 0.853896 +vt 0.665714 0.957792 +vt 0.688571 0.996753 +vt 0.688571 0.938312 +vt 0.660000 0.896104 +vt 0.671429 0.853896 +vt 0.702857 0.957792 +vt 0.725714 0.996753 +vt 0.725714 0.938312 +vt 0.697143 0.896104 +vt 0.708571 0.853896 +vt 0.740000 0.957792 +vt 0.762857 0.996753 +vt 0.762857 0.938312 +vt 0.734286 0.896104 +vt 0.745714 0.853896 +vt 0.777143 0.957792 +vt 0.800000 0.996753 +vt 0.800000 0.938312 +vt 0.771429 0.896104 +vt 0.782857 0.853896 +vt 0.814286 0.957792 +vt 0.837143 0.996753 +vt 0.837143 0.938312 +vt 0.808571 0.896104 +vt 0.820000 0.853896 +vt 0.851429 0.957792 +vt 0.874286 0.996753 +vt 0.874286 0.938312 +vt 0.845714 0.896104 +vt 0.857143 0.853896 +vt 0.480000 0.957792 +vt 0.502857 0.996753 +vt 0.502857 0.938312 +vt 0.474286 0.896104 +vt 0.485714 0.853896 +vt 0.814286 0.159091 +vt 0.820000 0.126623 +vt 0.817143 0.090909 +vt 0.834286 0.129870 +vt 0.837143 0.126623 +vt 0.885714 0.126623 +vt 0.902857 0.126623 +vt 0.857143 0.308442 +vt 0.874286 0.308442 +vt 0.868571 0.185065 +vt 0.877143 0.308442 +vt 0.894286 0.308442 +vt 0.888571 0.185065 +vt 0.897143 0.308442 +vt 0.914286 0.308442 +vt 0.908571 0.185065 +vt 0.917143 0.308442 +vt 0.934286 0.308442 +vt 0.928571 0.185065 +vt 0.837143 0.308442 +vt 0.854286 0.308442 +vt 0.848571 0.185065 +vt 0.857143 0.324675 +vt 0.868571 0.318182 +vt 0.877143 0.324675 +vt 0.888571 0.318182 +vt 0.897143 0.324675 +vt 0.908571 0.318182 +vt 0.917143 0.324675 +vt 0.928571 0.318182 +vt 0.837143 0.324675 +vt 0.848571 0.318182 +vt 0.402857 0.788961 +vt 0.471429 0.860390 +vt 0.471429 0.996753 +vt 0.308571 0.788961 +vt 0.377143 0.860390 +vt 0.377143 0.996753 +vt 0.214286 0.788961 +vt 0.282857 0.860390 +vt 0.282857 0.996753 +vt 0.120000 0.788961 +vt 0.188571 0.860390 +vt 0.188571 0.996753 +vt 0.025714 0.788961 +vt 0.094286 0.860390 +vt 0.094286 0.996753 +vt 0.380000 0.685065 +vt 0.380000 0.860390 +vt 0.380000 0.808442 +vt 0.380000 0.996753 +vt 0.380000 0.899351 +vt 0.285714 0.685065 +vt 0.285714 0.860390 +vt 0.285714 0.808442 +vt 0.285714 0.996753 +vt 0.285714 0.899351 +vt 0.191429 0.685065 +vt 0.191429 0.860390 +vt 0.191429 0.808442 +vt 0.191429 0.996753 +vt 0.191429 0.899351 +vt 0.097143 0.685065 +vt 0.097143 0.860390 +vt 0.097143 0.808442 +vt 0.097143 0.996753 +vt 0.097143 0.899351 +vt 0.002857 0.685065 +vt 0.002857 0.860390 +vt 0.002857 0.808442 +vt 0.002857 0.996753 +vt 0.002857 0.899351 +vt 0.380000 0.788961 +vt 0.285714 0.788961 +vt 0.191429 0.788961 +vt 0.097143 0.788961 +vt 0.002857 0.788961 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.0000 0.3387 0.9409 -vn 0.0000 0.3387 -0.9409 -vn 0.8575 0.5145 0.0000 -vn -0.8575 0.5145 -0.0000 -vn -0.5485 -0.2213 0.8063 -vn -0.7109 0.0123 -0.7032 -vn -0.7109 0.0123 0.7032 -vn 0.7344 0.1383 -0.6644 -vn 0.7031 -0.0120 0.7109 -vn 0.7031 -0.0120 -0.7109 -vn 0.6216 0.4135 0.6653 -vn 0.7345 0.1380 0.6644 -vn 0.6216 0.4135 -0.6653 -vn 0.4148 0.6202 0.6658 -vn -0.2279 -0.5489 -0.8043 -vn -0.5485 -0.2213 -0.8063 -vn 0.1458 0.7319 -0.6656 +vn 1.0000 0.0000 0.0000 +vn -1.0000 0.0000 0.0000 +vn -0.8944 0.4472 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.0000 1.0000 0.0000 +vn 0.0000 0.7071 -0.7071 vn 0.0000 0.7071 0.7071 -vn 0.1458 0.7319 0.6656 -vn 0.4148 0.6202 -0.6658 -vn -0.2279 -0.5489 0.8043 -vn -0.0005 -0.7070 -0.7073 -vn 0.4147 0.6202 0.6658 -vn 0.4146 0.6203 -0.6658 -vn -0.2277 -0.5489 -0.8043 -vn 0.4147 0.6202 -0.6658 -vn -0.2278 -0.5489 0.8043 -vn 0.7345 0.1381 0.6644 -vn -0.0003 0.7071 -0.7071 -vn -0.0004 -0.7070 0.7073 -usemtl Material.001 +vn 0.0000 -0.7071 0.7071 +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.5491 -0.2275 0.8042 +vn -0.7071 0.0000 -0.7071 +vn -0.7071 0.0000 0.7071 +vn 0.7319 0.1456 -0.6657 +vn 0.7071 0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.6204 0.4146 0.6657 +vn 0.7319 0.1456 0.6657 +vn 0.4146 0.6204 -0.6657 +vn 0.0000 0.7764 0.6302 +vn 0.4146 0.6204 0.6657 +vn 0.6204 0.4146 -0.6657 +vn 0.0000 -0.4264 -0.9045 +vn -0.5491 -0.2275 -0.8042 +vn 0.0000 0.7764 -0.6302 +vn -0.4146 0.6204 0.6657 +vn 0.0000 -0.4264 0.9045 +vn 0.5000 -0.5000 -0.7071 +vn -0.4146 0.6204 -0.6657 +vn -0.5000 0.5000 0.7071 +vn 0.5000 -0.5000 0.7071 +vn -0.5000 0.5000 -0.7071 +usemtl None s off -f 1/1/1 2/2/1 3/3/1 -f 4/4/2 5/5/2 6/6/2 -f 5/7/2 7/8/2 8/9/2 -f 9/10/1 1/11/1 10/12/1 -f 11/13/2 12/14/2 13/15/2 -f 8/16/2 11/17/2 5/5/2 -f 10/18/1 14/19/1 15/20/1 -f 15/21/1 14/22/1 16/23/1 -f 13/24/2 17/25/2 11/17/2 -f 16/26/1 18/27/1 19/28/1 -f 20/29/1 21/30/1 22/31/1 -f 23/32/2 24/33/2 25/34/2 -f 24/35/2 26/36/2 27/37/2 -f 28/38/1 20/39/1 29/40/1 -f 30/41/2 31/42/2 32/43/2 -f 27/44/2 30/45/2 24/33/2 -f 29/46/1 33/47/1 34/48/1 -f 34/49/1 33/50/1 35/51/1 -f 32/52/2 36/53/2 30/45/2 -f 35/54/1 37/55/1 38/56/1 -f 39/57/1 40/58/1 41/59/1 -f 42/60/2 43/61/2 44/62/2 -f 43/63/2 45/64/2 46/65/2 -f 47/66/1 39/67/1 48/68/1 -f 49/69/2 50/70/2 51/71/2 -f 46/72/2 49/73/2 43/61/2 -f 48/74/1 52/75/1 53/76/1 -f 53/77/1 52/78/1 54/79/1 -f 51/80/2 55/81/2 49/73/2 -f 54/82/1 56/83/1 57/84/1 -f 58/85/1 59/86/1 60/87/1 -f 61/88/2 62/89/2 63/90/2 -f 62/91/2 64/92/2 65/93/2 -f 66/94/1 58/95/1 67/96/1 -f 68/97/2 69/98/2 70/99/2 -f 65/100/2 68/101/2 62/89/2 -f 67/102/1 71/103/1 72/104/1 -f 72/105/1 71/106/1 73/107/1 -f 70/108/2 74/109/2 68/101/2 -f 73/110/1 75/111/1 76/112/1 -f 77/113/3 78/114/3 79/115/3 -f 80/116/4 81/117/4 82/118/4 -f 83/119/5 84/120/5 85/121/5 -f 82/122/2 86/123/2 77/124/2 -f 81/125/6 78/126/6 86/123/6 -f 80/127/1 78/128/1 87/129/1 -f 85/121/1 88/130/1 83/119/1 -f 89/131/1 80/127/1 88/130/1 -f 90/132/2 91/133/2 84/134/2 -f 92/135/2 77/124/2 91/133/2 -f 83/136/4 92/137/4 90/138/4 -f 92/139/7 93/140/7 82/141/7 -f 84/142/3 89/143/3 85/144/3 -f 91/145/3 79/115/3 89/143/3 -f 94/146/1 95/147/1 96/148/1 -f 80/149/8 97/150/8 88/151/8 -f 88/152/9 98/153/9 92/154/9 -f 82/155/10 99/156/10 80/157/10 -f 100/158/5 101/159/5 102/160/5 -f 103/161/1 104/162/1 105/163/1 -f 94/164/4 106/165/4 107/166/4 -f 108/167/4 109/168/4 102/169/4 -f 110/170/4 111/171/4 112/172/4 -f 110/170/4 113/173/4 108/167/4 -f 102/169/4 114/174/4 100/175/4 -f 101/159/4 115/176/4 116/177/4 -f 110/178/1 117/179/1 100/180/1 -f 108/181/6 115/176/6 110/182/6 -f 102/183/2 116/177/2 108/184/2 -f 118/185/3 119/186/3 120/187/3 -f 121/188/4 122/189/4 103/190/4 -f 120/191/1 123/192/1 124/193/1 -f 125/194/3 126/195/3 127/196/3 -f 128/197/2 129/198/2 118/199/2 -f 130/200/2 111/201/2 93/140/2 -f 127/202/2 131/203/2 132/204/2 -f 124/205/4 133/206/4 128/207/4 -f 134/208/1 135/209/1 125/210/1 -f 136/211/3 137/212/3 138/213/3 -f 132/214/4 139/215/4 134/216/4 -f 138/217/2 140/218/2 141/219/2 -f 97/220/5 94/221/5 142/222/5 -f 143/223/5 144/224/5 97/220/5 -f 145/225/5 146/226/5 143/223/5 -f 142/222/5 96/227/5 145/225/5 -f 147/228/6 148/229/6 149/230/6 -f 111/231/6 148/229/6 93/232/6 -f 150/233/6 151/234/6 111/231/6 -f 147/228/6 152/235/6 150/233/6 -f 99/236/6 153/237/6 154/238/6 -f 114/239/6 155/240/6 99/236/6 -f 156/241/6 157/242/6 114/239/6 -f 154/238/6 158/243/6 156/241/6 -f 98/244/5 159/245/5 160/246/5 -f 113/247/5 161/248/5 98/244/5 -f 113/247/5 162/249/5 163/250/5 -f 160/246/5 162/249/5 164/251/5 -f 165/252/5 134/253/5 166/254/5 -f 165/252/5 127/255/5 132/256/5 -f 167/257/5 125/258/5 127/255/5 -f 166/254/5 125/258/5 168/259/5 -f 169/260/6 170/261/6 171/262/6 -f 172/263/6 170/261/6 173/264/6 -f 174/265/6 175/266/6 172/263/6 -f 169/260/6 176/267/6 174/265/6 -f 177/268/6 178/269/6 179/270/6 -f 180/271/6 178/269/6 181/272/6 -f 182/273/6 183/274/6 180/271/6 -f 177/268/6 184/275/6 182/273/6 -f 185/276/5 141/277/5 186/278/5 -f 187/279/5 141/277/5 188/280/5 -f 189/281/5 138/282/5 187/279/5 -f 185/276/5 136/283/5 189/281/5 -f 185/276/5 190/284/5 98/244/5 -f 189/281/5 191/285/5 185/276/5 -f 189/281/5 192/286/5 193/287/5 -f 98/244/5 192/286/5 113/247/5 -f 99/236/6 194/288/6 195/289/6 -f 182/273/6 194/288/6 177/268/6 -f 114/239/6 196/290/6 182/273/6 -f 99/236/6 197/291/6 114/239/6 -f 169/260/6 198/292/6 199/293/6 -f 174/265/6 200/294/6 169/260/6 -f 109/295/6 201/296/6 174/265/6 -f 199/293/6 202/297/6 109/295/6 -f 166/254/5 103/298/5 130/299/5 -f 166/254/5 203/300/5 121/301/5 -f 168/259/5 105/302/5 203/300/5 -f 130/299/5 105/302/5 112/303/5 -f 160/246/5 204/304/5 165/252/5 -f 164/251/5 205/305/5 160/246/5 -f 164/251/5 206/306/5 207/307/5 -f 165/252/5 206/306/5 167/257/5 -f 154/238/6 208/308/6 173/264/6 -f 156/241/6 209/309/6 154/238/6 -f 172/263/6 210/310/6 156/241/6 -f 173/264/6 211/311/6 172/263/6 -f 181/272/6 124/312/6 128/313/6 -f 150/233/6 124/312/6 147/228/6 -f 180/271/6 120/314/6 150/233/6 -f 181/272/6 118/315/6 180/271/6 -f 142/222/5 212/316/5 188/280/5 -f 145/225/5 213/317/5 142/222/5 -f 145/225/5 214/318/5 215/319/5 -f 188/280/5 214/318/5 187/279/5 -f 106/165/5 95/147/5 107/166/5 -f 109/320/1 97/150/1 199/321/1 -f 216/322/6 217/323/6 218/324/6 -f 219/325/6 220/326/6 221/327/6 -f 222/328/5 223/329/5 224/330/5 -f 131/203/5 135/209/5 139/215/5 -f 225/331/6 226/332/6 227/333/6 -f 228/334/6 229/335/6 230/336/6 -f 140/218/5 231/337/5 232/338/5 -f 233/339/5 234/340/5 235/341/5 -f 236/342/6 237/343/6 238/344/6 -f 239/345/6 240/346/6 241/347/6 -f 242/348/5 104/162/5 122/189/5 -f 243/349/5 244/350/5 245/351/5 -f 246/352/6 247/353/6 248/354/6 -f 123/192/6 129/198/6 133/206/6 -f 249/355/5 250/356/5 251/357/5 -f 203/358/2 242/348/2 121/359/2 -f 191/360/4 235/341/4 190/361/4 -f 146/362/2 106/165/2 144/363/2 -f 105/364/3 252/365/3 203/366/3 -f 190/367/1 234/340/1 192/368/1 -f 96/369/3 253/370/3 146/371/3 -f 193/372/2 233/339/2 191/373/2 -f 170/374/4 227/333/4 171/375/4 -f 192/376/3 254/377/3 193/378/3 -f 171/379/2 226/332/2 176/380/2 -f 213/381/4 251/357/4 212/382/4 -f 175/383/1 225/331/1 170/384/1 -f 155/385/4 221/327/4 153/386/4 -f 212/387/1 250/388/1 214/389/1 -f 176/390/3 255/391/3 175/392/3 -f 153/393/2 220/394/2 158/395/2 -f 215/396/2 249/355/2 213/397/2 -f 205/398/4 245/351/4 204/399/4 -f 157/400/1 219/325/1 155/401/1 -f 214/402/3 256/403/3 215/404/3 -f 204/405/1 244/406/1 206/407/1 -f 158/408/3 257/409/3 157/410/3 -f 207/411/2 243/349/2 205/412/2 -f 194/413/4 238/344/4 195/414/4 -f 206/415/3 258/416/3 207/417/3 -f 195/418/2 237/343/2 197/419/2 -f 196/420/1 236/342/1 194/421/1 -f 178/422/4 230/336/4 179/423/4 -f 197/424/3 259/425/3 196/426/3 -f 179/427/2 229/428/2 184/429/2 -f 183/430/1 228/334/1 178/431/1 -f 161/432/4 224/330/4 159/433/4 -f 184/434/3 260/435/3 183/436/3 -f 159/437/1 223/329/1 162/438/1 -f 209/439/4 248/354/4 208/440/4 -f 163/441/2 222/328/2 161/442/2 -f 148/443/4 218/324/4 149/444/4 -f 208/445/2 247/353/2 211/446/2 -f 162/447/3 261/448/3 163/449/3 -f 149/450/2 217/323/2 152/451/2 -f 210/452/1 246/352/1 209/453/1 -f 200/454/4 241/347/4 198/455/4 -f 151/456/1 216/322/1 148/457/1 -f 211/458/3 262/459/3 210/460/3 -f 198/461/2 240/462/2 202/463/2 -f 152/464/3 263/465/3 151/466/3 -f 201/467/1 239/345/1 200/468/1 -f 186/469/4 140/218/4 232/338/4 -f 202/470/3 264/471/3 201/472/3 -f 186/473/1 231/474/1 136/475/1 -f 265/476/1 266/477/1 267/478/1 -f 268/479/5 269/480/5 266/477/5 -f 270/481/2 271/482/2 269/480/2 -f 265/483/4 270/481/4 268/479/4 -f 272/484/1 273/485/1 274/486/1 -f 275/487/5 276/488/5 273/485/5 -f 277/489/2 278/490/2 276/488/2 -f 272/491/4 277/489/4 275/487/4 -f 279/492/1 280/493/1 281/494/1 -f 282/495/5 283/496/5 280/493/5 -f 284/497/2 285/498/2 283/496/2 -f 279/499/4 284/497/4 282/495/4 -f 286/500/1 287/501/1 288/502/1 -f 289/503/5 290/504/5 287/501/5 -f 291/505/2 292/506/2 290/504/2 -f 286/507/4 291/505/4 289/503/4 -f 293/508/1 294/509/1 295/510/1 -f 296/511/5 297/512/5 294/509/5 -f 298/513/2 299/514/2 297/512/2 -f 293/515/4 298/513/4 296/511/4 -f 300/516/1 301/517/1 302/518/1 -f 303/519/5 304/520/5 301/517/5 -f 305/521/2 306/522/2 304/520/2 -f 300/523/4 305/521/4 303/519/4 -f 307/524/1 308/525/1 309/526/1 -f 310/527/5 311/528/5 308/525/5 -f 312/529/2 313/530/2 311/528/2 -f 307/531/4 312/529/4 310/527/4 -f 314/532/1 315/533/1 316/534/1 -f 317/535/5 318/536/5 315/533/5 -f 319/537/2 320/538/2 318/536/2 -f 314/539/4 319/537/4 317/535/4 -f 321/540/1 322/541/1 323/542/1 -f 324/543/6 325/544/6 321/540/6 -f 326/545/2 327/546/2 324/543/2 -f 327/546/4 322/547/4 325/544/4 -f 328/548/1 329/549/1 330/550/1 -f 331/551/6 332/552/6 328/548/6 -f 333/553/2 334/554/2 331/551/2 -f 334/554/4 329/555/4 332/552/4 -f 335/556/1 336/557/1 337/558/1 -f 338/559/6 339/560/6 335/556/6 -f 340/561/2 341/562/2 338/559/2 -f 341/562/4 336/563/4 339/560/4 -f 342/564/1 343/565/1 344/566/1 -f 345/567/6 346/568/6 342/564/6 -f 347/569/2 348/570/2 345/567/2 -f 348/570/4 343/571/4 346/568/4 -f 349/572/1 350/573/1 351/574/1 -f 352/575/6 353/576/6 349/572/6 -f 354/577/2 355/578/2 352/575/2 -f 355/578/4 350/579/4 353/576/4 -f 356/580/1 357/581/1 358/582/1 -f 359/583/6 360/584/6 356/580/6 -f 361/585/2 362/586/2 359/583/2 -f 362/586/4 357/587/4 360/584/4 -f 363/588/1 364/589/1 365/590/1 -f 366/591/6 367/592/6 363/588/6 -f 368/593/2 369/594/2 366/591/2 -f 369/594/4 364/595/4 367/592/4 -f 370/596/1 371/597/1 372/598/1 -f 373/599/6 374/600/6 370/596/6 -f 375/601/2 376/602/2 373/599/2 -f 376/602/4 371/603/4 374/600/4 -f 1/1/1 9/604/1 2/2/1 -f 4/4/2 7/605/2 5/5/2 -f 8/16/2 12/606/2 11/17/2 -f 10/18/1 1/1/1 14/19/1 -f 13/24/2 377/607/2 17/25/2 -f 16/26/1 14/19/1 18/27/1 -f 20/29/1 28/608/1 21/30/1 -f 23/32/2 26/609/2 24/33/2 -f 27/44/2 31/610/2 30/45/2 -f 29/46/1 20/29/1 33/47/1 -f 32/52/2 378/611/2 36/53/2 -f 35/54/1 33/47/1 37/55/1 -f 39/57/1 47/612/1 40/58/1 -f 42/60/2 45/613/2 43/61/2 -f 46/72/2 50/614/2 49/73/2 -f 48/74/1 39/57/1 52/75/1 -f 51/80/2 379/615/2 55/81/2 -f 54/82/1 52/75/1 56/83/1 -f 58/85/1 66/616/1 59/86/1 -f 61/88/2 64/617/2 62/89/2 -f 65/100/2 69/618/2 68/101/2 -f 67/102/1 58/85/1 71/103/1 -f 70/108/2 380/619/2 74/109/2 -f 73/110/1 71/103/1 75/111/1 -f 77/113/3 86/620/3 78/114/3 -f 80/116/4 87/621/4 81/117/4 -f 83/119/5 90/622/5 84/120/5 -f 82/122/2 81/125/2 86/123/2 -f 81/125/6 87/623/6 78/126/6 -f 80/127/1 79/624/1 78/128/1 -f 85/121/1 89/131/1 88/130/1 -f 89/131/1 79/624/1 80/127/1 -f 90/132/2 92/135/2 91/133/2 -f 92/135/2 82/122/2 77/124/2 -f 83/136/4 88/625/4 92/137/4 -f 92/139/7 130/200/7 93/140/7 -f 84/142/3 91/145/3 89/143/3 -f 91/145/3 77/113/3 79/115/3 -f 94/146/1 107/166/1 95/147/1 -f 80/149/8 199/321/8 97/150/8 -f 130/626/9 92/154/9 166/627/9 -f 88/152/9 97/628/9 142/629/9 -f 188/630/9 185/631/9 88/152/9 -f 88/152/9 142/629/9 188/630/9 -f 166/627/9 92/154/9 165/632/9 -f 98/153/9 160/633/9 92/154/9 -f 165/632/9 92/154/9 160/633/9 -f 88/152/9 185/631/9 98/153/9 -f 199/634/10 80/157/10 169/635/10 -f 82/155/10 93/636/10 147/637/10 -f 181/638/10 177/639/10 82/155/10 -f 82/155/10 147/637/10 181/638/10 -f 169/635/10 80/157/10 173/640/10 -f 154/641/10 173/640/10 80/157/10 -f 82/155/10 177/639/10 99/156/10 -f 99/156/10 154/641/10 80/157/10 -f 100/158/5 117/179/5 101/159/5 -f 103/161/1 122/189/1 104/162/1 -f 94/164/4 144/642/4 106/165/4 -f 108/167/4 143/643/4 109/168/4 -f 110/170/4 100/175/4 111/171/4 -f 143/643/4 108/167/4 145/644/4 -f 110/170/4 112/172/4 168/645/4 -f 110/170/4 168/645/4 167/646/4 -f 145/644/4 108/167/4 187/647/4 -f 113/173/4 189/648/4 108/167/4 -f 187/647/4 108/167/4 189/648/4 -f 110/170/4 167/646/4 164/649/4 -f 164/649/4 113/173/4 110/170/4 -f 111/171/4 100/175/4 150/650/4 -f 102/169/4 109/168/4 174/651/4 -f 172/652/4 156/653/4 102/169/4 -f 102/169/4 174/651/4 172/652/4 -f 150/650/4 100/175/4 180/654/4 -f 182/655/4 180/654/4 100/175/4 -f 102/169/4 156/653/4 114/174/4 -f 114/174/4 182/655/4 100/175/4 -f 101/159/4 117/179/4 115/176/4 -f 110/178/1 115/176/1 117/179/1 -f 108/181/6 116/177/6 115/176/6 -f 102/183/2 101/159/2 116/177/2 -f 118/185/3 129/198/3 119/186/3 -f 121/188/4 242/348/4 122/189/4 -f 120/191/1 119/186/1 123/192/1 -f 125/194/3 135/209/3 126/195/3 -f 128/197/2 133/206/2 129/198/2 -f 130/200/2 112/656/2 111/201/2 -f 127/202/2 126/195/2 131/203/2 -f 124/205/4 123/192/4 133/206/4 -f 134/208/1 139/215/1 135/209/1 -f 136/211/3 231/337/3 137/212/3 -f 132/214/4 131/203/4 139/215/4 -f 138/217/2 137/212/2 140/218/2 -f 97/220/5 144/224/5 94/221/5 -f 143/223/5 146/226/5 144/224/5 -f 145/225/5 96/227/5 146/226/5 -f 142/222/5 94/221/5 96/227/5 -f 147/228/6 93/232/6 148/229/6 -f 111/231/6 151/234/6 148/229/6 -f 150/233/6 152/235/6 151/234/6 -f 147/228/6 149/230/6 152/235/6 -f 99/236/6 155/240/6 153/237/6 -f 114/239/6 157/242/6 155/240/6 -f 156/241/6 158/243/6 157/242/6 -f 154/238/6 153/237/6 158/243/6 -f 98/244/5 161/248/5 159/245/5 -f 113/247/5 163/250/5 161/248/5 -f 113/247/5 164/251/5 162/249/5 -f 160/246/5 159/245/5 162/249/5 -f 165/252/5 132/256/5 134/253/5 -f 165/252/5 167/257/5 127/255/5 -f 167/257/5 168/259/5 125/258/5 -f 166/254/5 134/253/5 125/258/5 -f 169/260/6 173/264/6 170/261/6 -f 172/263/6 175/266/6 170/261/6 -f 174/265/6 176/267/6 175/266/6 -f 169/260/6 171/262/6 176/267/6 -f 177/268/6 181/272/6 178/269/6 -f 180/271/6 183/274/6 178/269/6 -f 182/273/6 184/275/6 183/274/6 -f 177/268/6 179/270/6 184/275/6 -f 185/276/5 188/280/5 141/277/5 -f 187/279/5 138/282/5 141/277/5 -f 189/281/5 136/283/5 138/282/5 -f 185/276/5 186/278/5 136/283/5 -f 185/276/5 191/285/5 190/284/5 -f 189/281/5 193/287/5 191/285/5 -f 189/281/5 113/247/5 192/286/5 -f 98/244/5 190/284/5 192/286/5 -f 99/236/6 177/268/6 194/288/6 -f 182/273/6 196/290/6 194/288/6 -f 114/239/6 197/291/6 196/290/6 -f 99/236/6 195/289/6 197/291/6 -f 169/260/6 200/294/6 198/292/6 -f 174/265/6 201/296/6 200/294/6 -f 109/295/6 202/297/6 201/296/6 -f 199/293/6 198/292/6 202/297/6 -f 166/254/5 121/301/5 103/298/5 -f 166/254/5 168/259/5 203/300/5 -f 168/259/5 112/303/5 105/302/5 -f 130/299/5 103/298/5 105/302/5 -f 160/246/5 205/305/5 204/304/5 -f 164/251/5 207/307/5 205/305/5 -f 164/251/5 167/257/5 206/306/5 -f 165/252/5 204/304/5 206/306/5 -f 154/238/6 209/309/6 208/308/6 -f 156/241/6 210/310/6 209/309/6 -f 172/263/6 211/311/6 210/310/6 -f 173/264/6 208/308/6 211/311/6 -f 181/272/6 147/228/6 124/312/6 -f 150/233/6 120/314/6 124/312/6 -f 180/271/6 118/315/6 120/314/6 -f 181/272/6 128/313/6 118/315/6 -f 142/222/5 213/317/5 212/316/5 -f 145/225/5 215/319/5 213/317/5 -f 145/225/5 187/279/5 214/318/5 -f 188/280/5 212/316/5 214/318/5 -f 106/165/5 253/370/5 95/147/5 -f 109/320/1 143/657/1 97/150/1 -f 216/322/6 263/465/6 217/323/6 -f 219/325/6 257/409/6 220/326/6 -f 222/328/5 261/448/5 223/329/5 -f 131/203/5 126/195/5 135/209/5 -f 225/331/6 255/391/6 226/332/6 -f 228/334/6 260/435/6 229/335/6 -f 140/218/5 137/212/5 231/337/5 -f 233/339/5 254/377/5 234/340/5 -f 236/342/6 259/425/6 237/343/6 -f 239/345/6 264/471/6 240/346/6 -f 242/348/5 252/365/5 104/162/5 -f 243/349/5 258/416/5 244/350/5 -f 246/352/6 262/459/6 247/353/6 -f 123/192/6 119/186/6 129/198/6 -f 249/355/5 256/403/5 250/356/5 -f 203/358/2 252/365/2 242/348/2 -f 191/360/4 233/339/4 235/341/4 -f 146/362/2 253/370/2 106/165/2 -f 105/364/3 104/162/3 252/365/3 -f 190/367/1 235/341/1 234/340/1 -f 96/369/3 95/147/3 253/370/3 -f 193/372/2 254/377/2 233/339/2 -f 170/374/4 225/331/4 227/333/4 -f 192/376/3 234/340/3 254/377/3 -f 171/379/2 227/333/2 226/332/2 -f 213/381/4 249/355/4 251/357/4 -f 175/383/1 255/391/1 225/331/1 -f 155/385/4 219/325/4 221/327/4 -f 212/387/1 251/658/1 250/388/1 -f 176/390/3 226/332/3 255/391/3 -f 153/393/2 221/659/2 220/394/2 -f 215/396/2 256/403/2 249/355/2 -f 205/398/4 243/349/4 245/351/4 -f 157/400/1 257/409/1 219/325/1 -f 214/402/3 250/356/3 256/403/3 -f 204/405/1 245/660/1 244/406/1 -f 158/408/3 220/326/3 257/409/3 -f 207/411/2 258/416/2 243/349/2 -f 194/413/4 236/342/4 238/344/4 -f 206/415/3 244/350/3 258/416/3 -f 195/418/2 238/344/2 237/343/2 -f 196/420/1 259/425/1 236/342/1 -f 178/422/4 228/334/4 230/336/4 -f 197/424/3 237/343/3 259/425/3 -f 179/427/2 230/661/2 229/428/2 -f 183/430/1 260/435/1 228/334/1 -f 161/432/4 222/328/4 224/330/4 -f 184/434/3 229/335/3 260/435/3 -f 159/437/1 224/330/1 223/329/1 -f 209/439/4 246/352/4 248/354/4 -f 163/441/2 261/448/2 222/328/2 -f 148/443/4 216/322/4 218/324/4 -f 208/445/2 248/354/2 247/353/2 -f 162/447/3 223/329/3 261/448/3 -f 149/450/2 218/324/2 217/323/2 -f 210/452/1 262/459/1 246/352/1 -f 200/454/4 239/345/4 241/347/4 -f 151/456/1 263/465/1 216/322/1 -f 211/458/3 247/353/3 262/459/3 -f 198/461/2 241/662/2 240/462/2 -f 152/464/3 217/323/3 263/465/3 -f 201/467/1 264/471/1 239/345/1 -f 186/469/4 141/663/4 140/218/4 -f 202/470/3 240/346/3 264/471/3 -f 186/473/1 232/664/1 231/474/1 -f 265/476/1 268/479/1 266/477/1 -f 268/479/5 270/481/5 269/480/5 -f 270/481/2 381/665/2 271/482/2 -f 265/483/4 381/666/4 270/481/4 -f 272/484/1 275/487/1 273/485/1 -f 275/487/5 277/489/5 276/488/5 -f 277/489/2 382/667/2 278/490/2 -f 272/491/4 382/668/4 277/489/4 -f 279/492/1 282/495/1 280/493/1 -f 282/495/5 284/497/5 283/496/5 -f 284/497/2 383/669/2 285/498/2 -f 279/499/4 383/670/4 284/497/4 -f 286/500/1 289/503/1 287/501/1 -f 289/503/5 291/505/5 290/504/5 -f 291/505/2 384/671/2 292/506/2 -f 286/507/4 384/672/4 291/505/4 -f 293/508/1 296/511/1 294/509/1 -f 296/511/5 298/513/5 297/512/5 -f 298/513/2 385/673/2 299/514/2 -f 293/515/4 385/674/4 298/513/4 -f 300/516/1 303/519/1 301/517/1 -f 303/519/5 305/521/5 304/520/5 -f 305/521/2 386/675/2 306/522/2 -f 300/523/4 386/676/4 305/521/4 -f 307/524/1 310/527/1 308/525/1 -f 310/527/5 312/529/5 311/528/5 -f 312/529/2 387/677/2 313/530/2 -f 307/531/4 387/678/4 312/529/4 -f 314/532/1 317/535/1 315/533/1 -f 317/535/5 319/537/5 318/536/5 -f 319/537/2 388/679/2 320/538/2 -f 314/539/4 388/680/4 319/537/4 -f 321/540/1 325/544/1 322/541/1 -f 324/543/6 327/546/6 325/544/6 -f 326/545/2 389/681/2 327/546/2 -f 327/546/4 389/682/4 322/547/4 -f 328/548/1 332/552/1 329/549/1 -f 331/551/6 334/554/6 332/552/6 -f 333/553/2 390/683/2 334/554/2 -f 334/554/4 390/684/4 329/555/4 -f 335/556/1 339/560/1 336/557/1 -f 338/559/6 341/562/6 339/560/6 -f 340/561/2 391/685/2 341/562/2 -f 341/562/4 391/686/4 336/563/4 -f 342/564/1 346/568/1 343/565/1 -f 345/567/6 348/570/6 346/568/6 -f 347/569/2 392/687/2 348/570/2 -f 348/570/4 392/688/4 343/571/4 -f 349/572/1 353/576/1 350/573/1 -f 352/575/6 355/578/6 353/576/6 -f 354/577/2 393/689/2 355/578/2 -f 355/578/4 393/690/4 350/579/4 -f 356/580/1 360/584/1 357/581/1 -f 359/583/6 362/586/6 360/584/6 -f 361/585/2 394/691/2 362/586/2 -f 362/586/4 394/692/4 357/587/4 -f 363/588/1 367/592/1 364/589/1 -f 366/591/6 369/594/6 367/592/6 -f 368/593/2 395/693/2 369/594/2 -f 369/594/4 395/694/4 364/595/4 -f 370/596/1 374/600/1 371/597/1 -f 373/599/6 376/602/6 374/600/6 -f 375/601/2 396/695/2 376/602/2 -f 376/602/4 396/696/4 371/603/4 +f 224/1/1 2/2/1 221/3/1 +f 153/4/2 179/5/2 156/6/2 +f 221/3/1 2/2/1 10/7/1 +f 163/8/3 186/9/3 162/10/3 +f 31/11/1 1/12/1 224/1/1 +f 221/13/4 9/14/4 222/15/4 +f 105/16/5 324/17/5 104/18/5 +f 8/19/4 222/15/4 9/14/4 +f 7/20/4 232/21/4 8/19/4 +f 6/22/4 233/23/4 7/20/4 +f 41/24/4 234/25/4 6/22/4 +f 42/26/4 235/27/4 41/24/4 +f 43/28/4 236/29/4 42/26/4 +f 44/30/4 237/31/4 43/28/4 +f 126/32/4 242/33/4 202/34/4 +f 31/35/1 20/36/1 53/37/1 +f 45/38/6 64/39/6 3/40/6 +f 219/41/3 257/42/3 100/43/3 +f 89/44/2 256/45/2 90/46/2 +f 99/47/3 278/48/3 98/49/3 +f 88/50/2 271/51/2 89/44/2 +f 98/49/3 277/52/3 97/53/3 +f 91/54/2 281/55/2 217/56/2 +f 104/57/3 263/58/3 314/59/3 +f 160/60/6 184/61/6 159/62/6 +f 74/63/6 53/64/6 54/65/6 +f 64/39/6 73/66/6 74/63/6 +f 74/63/6 65/67/6 64/39/6 +f 75/68/6 66/69/6 65/67/6 +f 76/70/6 67/71/6 66/69/6 +f 77/72/6 68/73/6 67/71/6 +f 78/74/6 69/75/6 68/73/6 +f 79/76/6 70/77/6 69/75/6 +f 80/78/6 71/79/6 70/77/6 +f 215/80/6 122/81/6 213/82/6 +f 32/83/7 224/84/7 223/85/7 +f 21/86/8 32/87/8 22/88/8 +f 64/39/6 4/89/6 3/40/6 +f 65/67/6 46/90/6 4/89/6 +f 66/69/6 47/91/6 46/90/6 +f 67/71/6 48/92/6 47/91/6 +f 68/73/6 49/93/6 48/92/6 +f 69/75/6 50/94/6 49/93/6 +f 70/77/6 51/95/6 50/94/6 +f 213/82/6 5/96/6 209/97/6 +f 19/98/2 21/99/2 22/100/2 +f 54/65/6 20/101/6 19/102/6 +f 54/65/6 75/68/6 74/63/6 +f 55/103/6 76/70/6 75/68/6 +f 56/104/6 77/72/6 76/70/6 +f 57/105/6 78/74/6 77/72/6 +f 58/106/6 79/76/6 78/74/6 +f 59/107/6 80/78/6 79/76/6 +f 60/108/6 81/109/6 80/78/6 +f 211/110/6 124/111/6 215/80/6 +f 39/112/7 243/113/7 207/114/7 +f 38/115/7 231/116/7 39/112/7 +f 37/117/7 230/118/7 38/115/7 +f 36/119/7 229/120/7 37/117/7 +f 35/121/7 228/122/7 36/119/7 +f 34/123/7 227/124/7 35/121/7 +f 33/125/7 226/126/7 34/123/7 +f 32/83/7 225/127/7 33/125/7 +f 10/128/3 3/129/3 9/130/3 +f 32/87/8 23/131/8 22/88/8 +f 33/132/8 24/133/8 23/131/8 +f 34/134/8 25/135/8 24/133/8 +f 35/136/8 26/137/8 25/135/8 +f 36/138/8 27/139/8 26/137/8 +f 37/140/8 28/141/8 27/139/8 +f 38/142/8 29/143/8 28/141/8 +f 208/144/8 30/145/8 206/146/8 +f 19/102/6 55/103/6 54/65/6 +f 18/147/6 56/104/6 55/103/6 +f 17/148/6 57/105/6 56/104/6 +f 16/149/6 58/106/6 57/105/6 +f 15/150/6 59/107/6 58/106/6 +f 14/151/6 60/108/6 59/107/6 +f 13/152/6 61/153/6 60/108/6 +f 203/154/6 123/155/6 211/110/6 +f 22/100/2 18/156/2 19/98/2 +f 23/157/2 17/158/2 18/156/2 +f 24/159/2 16/160/2 17/158/2 +f 25/161/2 15/162/2 16/160/2 +f 26/163/2 14/164/2 15/162/2 +f 27/165/2 13/166/2 14/164/2 +f 28/167/2 12/168/2 13/166/2 +f 206/169/2 11/170/2 203/171/2 +f 216/172/3 51/173/3 201/174/3 +f 44/175/3 50/176/3 51/173/3 +f 43/177/3 49/178/3 50/176/3 +f 42/179/3 48/180/3 49/178/3 +f 41/181/3 47/182/3 48/180/3 +f 6/183/3 46/184/3 47/182/3 +f 7/185/3 4/186/3 46/184/3 +f 8/187/3 3/129/3 4/186/3 +f 123/188/5 30/189/5 125/190/5 +f 52/191/2 142/192/2 101/193/2 +f 72/194/2 115/195/2 109/196/2 +f 103/197/6 141/198/6 40/199/6 +f 128/200/5 240/201/5 127/202/5 +f 125/203/5 239/204/5 128/200/5 +f 240/201/5 126/205/5 127/202/5 +f 72/206/5 124/207/5 82/208/5 +f 109/209/5 122/210/5 72/206/5 +f 82/208/5 128/211/5 110/212/5 +f 110/212/5 127/213/5 109/209/5 +f 108/214/2 120/215/2 112/216/2 +f 110/217/3 116/218/3 82/219/3 +f 82/220/8 117/221/8 72/222/8 +f 109/223/6 114/224/6 110/225/6 +f 108/226/5 115/227/5 111/228/5 +f 112/229/5 117/221/5 116/230/5 +f 111/231/5 117/232/5 113/233/5 +f 108/214/5 116/218/5 114/234/5 +f 120/215/5 119/235/5 121/236/5 +f 112/229/6 121/236/6 113/237/6 +f 113/233/3 119/235/3 111/231/3 +f 111/228/8 118/238/8 108/226/8 +f 52/239/5 122/210/5 107/240/5 +f 106/241/5 123/188/5 62/242/5 +f 62/242/5 125/190/5 40/243/5 +f 101/244/5 5/245/5 52/239/5 +f 102/246/5 126/247/5 101/244/5 +f 40/243/5 128/211/5 103/248/5 +f 107/240/5 127/213/5 102/246/5 +f 103/248/5 124/207/5 106/241/5 +f 134/249/8 151/250/8 135/251/8 +f 135/252/2 145/253/2 129/254/2 +f 62/255/8 140/256/8 106/257/8 +f 102/258/3 137/259/3 107/260/3 +f 101/261/6 143/262/6 102/263/6 +f 40/264/3 139/265/3 62/266/3 +f 107/267/8 138/268/8 52/269/8 +f 106/270/2 144/271/2 103/272/2 +f 129/273/5 138/268/5 137/274/5 +f 131/275/5 140/256/5 139/276/5 +f 133/277/5 139/265/5 141/278/5 +f 134/279/5 138/280/5 130/281/5 +f 135/251/5 142/282/5 134/249/5 +f 133/283/5 144/284/5 136/285/5 +f 135/252/5 137/259/5 143/286/5 +f 136/287/5 140/288/5 132/289/5 +f 145/253/5 150/290/5 146/291/5 +f 147/292/5 152/293/5 148/294/5 +f 133/277/2 147/292/2 131/295/2 +f 129/273/6 146/291/6 130/296/6 +f 132/289/3 152/293/3 136/287/3 +f 136/285/8 149/297/8 133/283/8 +f 130/281/3 150/290/3 134/279/3 +f 131/275/6 148/294/6 132/298/6 +f 2/299/1 153/300/1 10/301/1 +f 63/302/1 154/303/1 2/299/1 +f 45/304/1 155/305/1 63/302/1 +f 10/301/1 156/306/1 45/304/1 +f 63/302/1 157/307/1 73/308/1 +f 2/299/1 158/309/1 63/302/1 +f 1/310/1 159/311/1 2/299/1 +f 73/308/1 160/312/1 1/310/1 +f 31/35/1 161/313/1 1/310/1 +f 53/37/1 162/314/1 31/35/1 +f 73/308/1 163/315/1 53/37/1 +f 1/310/1 164/316/1 73/308/1 +f 166/317/3 191/318/3 167/319/3 +f 175/320/6 200/321/6 176/322/6 +f 170/323/6 193/324/6 169/325/6 +f 158/326/8 181/327/8 157/328/8 +f 164/329/8 188/330/8 163/331/8 +f 155/332/3 177/333/3 154/334/3 +f 157/335/3 183/336/3 160/337/3 +f 162/338/6 185/339/6 161/340/6 +f 156/341/8 180/342/8 155/343/8 +f 159/344/2 182/345/2 158/346/2 +f 161/347/2 187/348/2 164/349/2 +f 154/350/6 178/351/6 153/352/6 +f 166/353/1 177/354/1 165/355/1 +f 166/317/1 179/5/1 178/356/1 +f 165/357/1 180/358/1 168/359/1 +f 167/360/1 180/342/1 179/361/1 +f 170/323/1 181/327/1 182/362/1 +f 171/363/1 181/364/1 169/365/1 +f 172/366/1 182/345/1 184/367/1 +f 172/368/1 183/369/1 171/370/1 +f 173/371/1 186/372/1 174/373/1 +f 173/374/1 187/348/1 185/375/1 +f 174/376/1 188/377/1 176/378/1 +f 175/320/1 188/330/1 187/379/1 +f 189/380/1 191/318/1 190/381/1 +f 194/382/1 195/383/1 193/324/1 +f 198/384/1 199/385/1 197/386/1 +f 174/373/8 197/386/8 173/371/8 +f 169/365/2 195/383/2 171/363/2 +f 168/359/2 189/380/2 165/357/2 +f 173/374/3 199/385/3 175/387/3 +f 172/366/3 194/382/3 170/388/3 +f 167/360/6 192/389/6 168/390/6 +f 176/378/2 198/384/2 174/376/2 +f 165/355/8 190/381/8 166/353/8 +f 171/370/8 196/391/8 172/368/8 +f 126/392/3 209/393/3 5/394/3 +f 202/395/3 201/174/3 209/393/3 +f 29/396/2 204/397/2 12/168/2 +f 205/398/2 203/171/2 204/397/2 +f 12/399/6 210/400/6 61/153/6 +f 204/401/6 211/110/6 210/400/6 +f 39/402/8 205/403/8 29/143/8 +f 207/404/8 206/146/8 205/403/8 +f 208/405/7 239/406/7 125/407/7 +f 207/114/7 241/408/7 208/405/7 +f 61/153/6 214/409/6 81/109/6 +f 210/400/6 215/80/6 214/409/6 +f 71/79/6 201/410/6 51/95/6 +f 212/411/6 209/97/6 201/410/6 +f 81/109/6 212/411/6 71/79/6 +f 214/409/6 213/82/6 212/411/6 +f 87/412/2 270/413/2 88/50/2 +f 97/53/3 276/414/3 96/415/3 +f 216/416/4 238/417/4 44/30/4 +f 202/34/4 244/418/4 216/416/4 +f 307/419/8 222/420/8 93/421/8 +f 310/422/8 223/423/8 224/424/8 +f 85/425/8 223/423/8 84/426/8 +f 86/427/8 225/428/8 85/425/8 +f 87/429/8 226/430/8 86/427/8 +f 88/431/8 227/432/8 87/429/8 +f 89/433/8 228/434/8 88/431/8 +f 90/435/8 229/436/8 89/433/8 +f 91/437/8 230/438/8 90/435/8 +f 93/421/8 232/439/8 94/440/8 +f 94/440/8 233/441/8 95/442/8 +f 95/442/8 234/443/8 96/444/8 +f 96/444/8 235/445/8 97/446/8 +f 97/446/8 236/447/8 98/448/8 +f 98/448/8 237/449/8 99/450/8 +f 99/450/8 238/451/8 100/452/8 +f 310/422/8 221/453/8 307/419/8 +f 312/454/8 239/455/8 311/456/8 +f 311/456/8 241/457/8 218/458/8 +f 312/454/8 242/459/8 240/460/8 +f 217/461/8 231/462/8 91/437/8 +f 218/458/8 243/463/8 217/461/8 +f 100/452/8 244/464/8 219/465/8 +f 219/465/8 242/459/8 220/466/8 +f 94/467/3 245/468/3 283/469/3 +f 250/470/2 294/471/2 252/472/2 +f 253/473/3 293/474/3 251/475/3 +f 262/476/2 325/477/2 267/478/2 +f 268/479/2 292/480/2 250/470/2 +f 251/475/3 334/481/3 249/482/3 +f 265/483/5 344/484/5 264/485/5 +f 267/478/2 326/486/2 268/479/2 +f 220/487/3 317/488/3 286/489/3 +f 100/43/3 255/490/3 99/47/3 +f 90/46/2 273/491/2 91/54/2 +f 217/56/2 281/55/2 285/492/2 +f 84/493/2 315/494/2 284/495/2 +f 95/496/3 245/468/3 94/467/3 +f 85/497/2 248/498/2 86/499/2 +f 96/415/3 247/500/3 95/496/3 +f 249/482/3 333/501/3 275/502/3 +f 261/503/1 342/504/1 262/505/1 +f 86/499/2 269/506/2 87/412/2 +f 284/495/9 316/507/9 283/469/9 +f 318/508/10 286/489/10 317/509/10 +f 268/510/8 246/511/8 267/512/8 +f 250/513/8 248/498/8 268/510/8 +f 252/514/8 269/506/8 250/513/8 +f 254/515/8 270/413/8 252/514/8 +f 272/516/8 271/51/8 254/515/8 +f 258/517/8 256/45/8 272/516/8 +f 274/518/8 247/500/8 275/519/8 +f 275/519/8 276/414/8 249/520/8 +f 249/520/8 277/52/8 251/521/8 +f 251/521/8 278/48/8 253/522/8 +f 253/522/8 255/490/8 279/523/8 +f 279/523/8 257/42/8 280/524/8 +f 260/525/8 273/491/8 258/517/8 +f 280/524/8 259/526/8 282/527/8 +f 262/528/8 283/469/8 261/529/8 +f 264/530/8 285/492/8 265/531/8 +f 262/528/8 246/511/8 284/495/8 +f 261/529/8 245/468/8 274/518/8 +f 265/531/8 281/55/8 260/525/8 +f 264/530/8 259/526/8 286/489/8 +f 291/532/2 347/533/2 289/534/2 +f 303/535/5 362/536/5 304/537/5 +f 289/534/2 345/538/2 332/539/2 +f 340/540/2 357/541/2 338/542/2 +f 330/543/3 358/544/3 331/545/3 +f 331/545/3 360/546/3 339/547/3 +f 306/548/2 359/549/2 340/540/2 +f 329/550/3 356/551/3 330/543/3 +f 338/542/2 355/552/2 337/553/2 +f 274/554/3 341/555/3 261/556/3 +f 279/557/3 295/558/3 253/473/3 +f 252/472/2 296/559/2 254/560/2 +f 260/561/2 343/562/2 265/563/2 +f 280/564/3 297/565/3 279/557/3 +f 254/560/2 298/566/2 272/567/2 +f 264/568/3 301/569/3 282/570/3 +f 258/571/2 302/572/2 260/561/2 +f 272/567/2 300/573/2 258/571/2 +f 282/570/3 299/574/3 280/564/3 +f 275/502/3 287/575/3 274/554/3 +f 92/576/8 93/421/8 308/577/8 +f 83/578/8 84/426/8 310/422/8 +f 83/578/8 307/419/8 92/576/8 +f 104/579/8 311/456/8 105/580/8 +f 105/580/8 218/458/8 313/581/8 +f 104/579/8 220/466/8 312/454/8 +f 319/582/1 315/583/1 320/584/1 +f 266/585/5 317/509/5 263/586/5 +f 320/584/1 84/587/1 309/588/1 +f 319/582/1 93/589/1 316/507/1 +f 263/586/5 220/590/5 314/591/5 +f 266/585/5 218/592/5 318/508/5 +f 319/593/8 322/594/8 321/595/8 +f 263/58/8 323/596/8 266/597/8 +f 83/598/2 320/599/2 309/600/2 +f 313/601/2 323/596/2 105/602/2 +f 92/603/1 322/594/1 83/604/1 +f 308/605/3 321/595/3 92/606/3 +f 290/607/8 325/477/8 288/608/8 +f 327/609/8 326/486/8 290/607/8 +f 328/610/8 292/480/8 327/609/8 +f 329/550/8 294/471/8 328/610/8 +f 330/543/8 296/559/8 329/550/8 +f 331/545/8 298/566/8 330/543/8 +f 332/539/8 333/501/8 289/534/8 +f 289/534/8 334/481/8 291/532/8 +f 291/532/8 293/474/8 335/611/8 +f 335/611/8 295/558/8 336/612/8 +f 336/612/8 297/565/8 337/553/8 +f 337/553/8 299/574/8 338/542/8 +f 339/547/8 300/573/8 331/545/8 +f 338/542/8 301/569/8 340/540/8 +f 304/537/8 341/613/8 303/535/8 +f 306/614/8 343/615/8 305/616/8 +f 304/617/8 325/477/8 342/618/8 +f 303/619/8 287/575/8 332/539/8 +f 305/620/8 302/572/8 339/547/8 +f 306/548/8 301/569/8 344/621/8 +f 345/538/8 348/622/8 346/623/8 +f 347/533/8 350/624/8 348/622/8 +f 349/625/8 352/626/8 350/624/8 +f 351/627/8 354/628/8 352/626/8 +f 353/629/8 356/551/8 354/628/8 +f 355/552/8 358/544/8 356/551/8 +f 357/541/8 360/546/8 358/544/8 +f 361/630/8 346/623/8 362/536/8 +f 359/549/8 363/631/8 360/546/8 +f 288/608/3 348/622/3 290/607/3 +f 305/616/1 364/632/1 306/614/1 +f 335/611/2 349/625/2 291/532/2 +f 290/607/3 350/624/3 327/609/3 +f 304/617/3 346/623/3 288/608/3 +f 336/612/2 351/627/2 335/611/2 +f 327/609/3 352/626/3 328/610/3 +f 332/539/2 361/630/2 303/619/2 +f 337/553/2 353/629/2 336/612/2 +f 328/610/3 354/628/3 329/550/3 +f 339/547/3 363/631/3 305/620/3 +f 373/633/3 368/634/3 367/635/3 +f 384/636/1 371/637/1 381/638/1 +f 377/639/2 370/640/2 369/641/2 +f 388/642/5 365/643/5 385/644/5 +f 375/645/8 388/642/8 391/646/8 +f 368/634/8 389/647/8 383/648/8 +f 376/649/8 391/646/8 389/647/8 +f 371/650/2 379/651/2 378/652/2 +f 378/652/2 380/653/2 377/639/2 +f 365/654/3 375/645/3 374/655/3 +f 374/655/3 376/649/3 373/633/3 +f 394/656/6 374/655/6 373/633/6 +f 393/657/6 396/658/6 394/656/6 +f 365/659/5 404/660/5 385/661/5 +f 381/662/6 394/656/6 382/663/6 +f 390/664/8 380/653/8 379/651/8 +f 389/647/8 392/665/8 390/664/8 +f 384/636/8 379/651/8 372/666/8 +f 383/648/8 390/664/8 384/636/8 +f 392/665/8 370/640/8 380/653/8 +f 391/646/8 387/667/8 392/665/8 +f 385/661/2 403/668/2 396/669/2 +f 395/670/6 385/671/6 396/658/6 +f 370/640/5 386/672/5 369/673/5 +f 387/667/5 385/644/5 386/672/5 +f 368/634/1 382/674/1 367/675/1 +f 383/648/1 381/638/1 382/674/1 +f 382/676/1 400/677/1 367/678/1 +f 394/679/2 399/680/2 382/676/2 +f 374/681/3 398/682/3 365/659/3 +f 373/683/5 402/684/5 394/685/5 +f 396/686/1 397/687/1 374/681/1 +f 367/678/3 401/688/3 373/683/3 +f 413/689/3 408/690/3 407/691/3 +f 424/692/1 411/693/1 421/694/1 +f 417/695/2 410/696/2 409/697/2 +f 428/698/5 405/699/5 425/700/5 +f 415/701/8 428/698/8 431/702/8 +f 408/690/8 429/703/8 423/704/8 +f 416/705/8 431/702/8 429/703/8 +f 411/706/2 419/707/2 418/708/2 +f 418/708/2 420/709/2 417/695/2 +f 405/710/3 415/701/3 414/711/3 +f 414/711/3 416/705/3 413/689/3 +f 434/712/6 414/711/6 413/689/6 +f 433/713/6 436/714/6 434/712/6 +f 405/715/5 444/716/5 425/717/5 +f 421/718/6 434/712/6 422/719/6 +f 430/720/8 420/709/8 419/707/8 +f 429/703/8 432/721/8 430/720/8 +f 424/692/8 419/707/8 412/722/8 +f 423/704/8 430/720/8 424/692/8 +f 432/721/8 410/696/8 420/709/8 +f 431/702/8 427/723/8 432/721/8 +f 425/717/2 443/724/2 436/725/2 +f 435/726/6 425/727/6 436/714/6 +f 410/696/5 426/728/5 409/729/5 +f 427/723/5 425/700/5 426/728/5 +f 408/690/1 422/730/1 407/731/1 +f 423/704/1 421/694/1 422/730/1 +f 422/732/1 440/733/1 407/734/1 +f 434/735/2 439/736/2 422/732/2 +f 414/737/3 438/738/3 405/715/3 +f 413/739/5 442/740/5 434/741/5 +f 436/742/1 437/743/1 414/737/1 +f 407/734/3 441/744/3 413/739/3 +f 453/745/3 448/746/3 447/747/3 +f 464/748/1 451/749/1 461/750/1 +f 457/751/2 450/752/2 449/753/2 +f 468/754/5 445/755/5 465/756/5 +f 455/757/8 468/754/8 471/758/8 +f 448/746/8 469/759/8 463/760/8 +f 456/761/8 471/758/8 469/759/8 +f 451/762/2 459/763/2 458/764/2 +f 458/764/2 460/765/2 457/751/2 +f 445/766/3 455/757/3 454/767/3 +f 454/767/3 456/761/3 453/745/3 +f 474/768/6 454/767/6 453/745/6 +f 473/769/6 476/770/6 474/768/6 +f 445/771/5 484/772/5 465/773/5 +f 461/774/6 474/768/6 462/775/6 +f 470/776/8 460/765/8 459/763/8 +f 469/759/8 472/777/8 470/776/8 +f 464/748/8 459/763/8 452/778/8 +f 463/760/8 470/776/8 464/748/8 +f 472/777/8 450/752/8 460/765/8 +f 471/758/8 467/779/8 472/777/8 +f 465/773/2 483/780/2 476/781/2 +f 475/782/6 465/783/6 476/770/6 +f 450/752/5 466/784/5 449/785/5 +f 467/779/5 465/756/5 466/784/5 +f 448/746/1 462/786/1 447/787/1 +f 463/760/1 461/750/1 462/786/1 +f 462/788/1 480/789/1 447/790/1 +f 474/791/2 479/792/2 462/788/2 +f 454/793/3 478/794/3 445/771/3 +f 453/795/5 482/796/5 474/797/5 +f 476/798/1 477/799/1 454/793/1 +f 447/790/3 481/800/3 453/795/3 +f 493/801/3 488/802/3 487/803/3 +f 504/804/1 491/805/1 501/806/1 +f 497/807/2 490/808/2 489/809/2 +f 508/810/5 485/811/5 505/812/5 +f 495/813/8 508/810/8 511/814/8 +f 488/802/8 509/815/8 503/816/8 +f 496/817/8 511/814/8 509/815/8 +f 491/818/2 499/819/2 498/820/2 +f 498/820/2 500/821/2 497/807/2 +f 485/822/3 495/813/3 494/823/3 +f 494/823/3 496/817/3 493/801/3 +f 514/824/6 494/823/6 493/801/6 +f 513/825/6 516/826/6 514/824/6 +f 485/827/5 524/828/5 505/829/5 +f 501/830/6 514/824/6 502/831/6 +f 510/832/8 500/821/8 499/819/8 +f 509/815/8 512/833/8 510/832/8 +f 504/804/8 499/819/8 492/834/8 +f 503/816/8 510/832/8 504/804/8 +f 512/833/8 490/808/8 500/821/8 +f 511/814/8 507/835/8 512/833/8 +f 505/829/2 523/836/2 516/837/2 +f 515/838/6 505/839/6 516/826/6 +f 490/808/5 506/840/5 489/841/5 +f 507/835/5 505/812/5 506/840/5 +f 488/802/1 502/842/1 487/843/1 +f 503/816/1 501/806/1 502/842/1 +f 502/844/1 520/845/1 487/846/1 +f 514/847/2 519/848/2 502/844/2 +f 494/849/3 518/850/3 485/827/3 +f 493/851/5 522/852/5 514/853/5 +f 516/854/1 517/855/1 494/849/1 +f 487/846/3 521/856/3 493/851/3 +f 533/857/3 528/858/3 527/859/3 +f 544/860/1 531/861/1 541/862/1 +f 537/863/2 530/864/2 529/865/2 +f 548/866/5 525/867/5 545/868/5 +f 535/869/8 548/866/8 551/870/8 +f 528/858/8 549/871/8 543/872/8 +f 536/873/8 551/870/8 549/871/8 +f 531/874/2 539/875/2 538/876/2 +f 538/876/2 540/877/2 537/863/2 +f 525/878/3 535/869/3 534/879/3 +f 534/879/3 536/873/3 533/857/3 +f 554/880/6 534/879/6 533/857/6 +f 553/881/6 556/882/6 554/880/6 +f 525/883/5 564/884/5 545/885/5 +f 541/886/6 554/880/6 542/887/6 +f 550/888/8 540/877/8 539/875/8 +f 549/871/8 552/889/8 550/888/8 +f 544/860/8 539/875/8 532/890/8 +f 543/872/8 550/888/8 544/860/8 +f 552/889/8 530/864/8 540/877/8 +f 551/870/8 547/891/8 552/889/8 +f 545/885/2 563/892/2 556/893/2 +f 555/894/6 545/895/6 556/882/6 +f 530/864/5 546/896/5 529/897/5 +f 547/891/5 545/868/5 546/896/5 +f 528/858/1 542/898/1 527/899/1 +f 543/872/1 541/862/1 542/898/1 +f 542/900/1 560/901/1 527/902/1 +f 554/903/2 559/904/2 542/900/2 +f 534/905/3 558/906/3 525/883/3 +f 533/907/5 562/908/5 554/909/5 +f 556/910/1 557/911/1 534/905/1 +f 527/902/3 561/912/3 533/907/3 +f 573/913/3 568/914/3 567/915/3 +f 584/916/1 571/917/1 581/918/1 +f 577/919/2 570/920/2 569/921/2 +f 588/922/5 565/923/5 585/924/5 +f 575/925/8 588/922/8 591/926/8 +f 568/914/8 589/927/8 583/928/8 +f 576/929/8 591/926/8 589/927/8 +f 571/930/2 579/931/2 578/932/2 +f 578/932/2 580/933/2 577/919/2 +f 565/934/3 575/925/3 574/935/3 +f 574/935/3 576/929/3 573/913/3 +f 594/936/6 574/935/6 573/913/6 +f 593/937/6 596/938/6 594/936/6 +f 565/939/5 604/940/5 585/941/5 +f 581/942/6 594/936/6 582/943/6 +f 590/944/8 580/933/8 579/931/8 +f 589/927/8 592/945/8 590/944/8 +f 584/916/8 579/931/8 572/946/8 +f 583/928/8 590/944/8 584/916/8 +f 592/945/8 570/920/8 580/933/8 +f 591/926/8 587/947/8 592/945/8 +f 585/941/2 603/948/2 596/949/2 +f 595/950/6 585/951/6 596/938/6 +f 570/920/5 586/952/5 569/953/5 +f 587/947/5 585/924/5 586/952/5 +f 568/914/1 582/954/1 567/955/1 +f 583/928/1 581/918/1 582/954/1 +f 582/956/1 600/957/1 567/958/1 +f 594/959/2 599/960/2 582/956/2 +f 574/961/3 598/962/3 565/939/3 +f 573/963/5 602/964/5 594/965/5 +f 596/966/1 597/967/1 574/961/1 +f 567/958/3 601/968/3 573/963/3 +f 613/969/3 608/970/3 607/971/3 +f 624/972/1 611/973/1 621/974/1 +f 617/975/2 610/976/2 609/977/2 +f 628/978/5 605/979/5 625/980/5 +f 615/981/8 628/978/8 631/982/8 +f 608/970/8 629/983/8 623/984/8 +f 616/985/8 631/982/8 629/983/8 +f 611/986/2 619/987/2 618/988/2 +f 618/988/2 620/989/2 617/975/2 +f 605/990/3 615/981/3 614/991/3 +f 614/991/3 616/985/3 613/969/3 +f 634/992/6 614/991/6 613/969/6 +f 633/993/6 636/994/6 634/992/6 +f 605/995/5 644/996/5 625/997/5 +f 621/998/6 634/992/6 622/999/6 +f 630/1000/8 620/989/8 619/987/8 +f 629/983/8 632/1001/8 630/1000/8 +f 624/972/8 619/987/8 612/1002/8 +f 623/984/8 630/1000/8 624/972/8 +f 632/1001/8 610/976/8 620/989/8 +f 631/982/8 627/1003/8 632/1001/8 +f 625/997/2 643/1004/2 636/1005/2 +f 635/1006/6 625/1007/6 636/994/6 +f 610/976/5 626/1008/5 609/1009/5 +f 627/1003/5 625/980/5 626/1008/5 +f 608/970/1 622/1010/1 607/1011/1 +f 623/984/1 621/974/1 622/1010/1 +f 622/1012/1 640/1013/1 607/1014/1 +f 634/1015/2 639/1016/2 622/1012/2 +f 614/1017/3 638/1018/3 605/995/3 +f 613/1019/5 642/1020/5 634/1021/5 +f 636/1022/1 637/1023/1 614/1017/1 +f 607/1014/3 641/1024/3 613/1019/3 +f 653/1025/3 648/1026/3 647/1027/3 +f 664/1028/1 651/1029/1 661/1030/1 +f 657/1031/2 650/1032/2 649/1033/2 +f 668/1034/5 645/1035/5 665/1036/5 +f 655/1037/8 668/1034/8 671/1038/8 +f 648/1026/8 669/1039/8 663/1040/8 +f 656/1041/8 671/1038/8 669/1039/8 +f 651/1042/2 659/1043/2 658/1044/2 +f 658/1044/2 660/1045/2 657/1031/2 +f 645/1046/3 655/1037/3 654/1047/3 +f 654/1047/3 656/1041/3 653/1025/3 +f 674/1048/6 654/1047/6 653/1025/6 +f 673/1049/6 676/1050/6 674/1048/6 +f 645/1051/5 684/1052/5 665/1053/5 +f 661/1054/6 674/1048/6 662/1055/6 +f 670/1056/8 660/1045/8 659/1043/8 +f 669/1039/8 672/1057/8 670/1056/8 +f 664/1028/8 659/1043/8 652/1058/8 +f 663/1040/8 670/1056/8 664/1028/8 +f 672/1057/8 650/1032/8 660/1045/8 +f 671/1038/8 667/1059/8 672/1057/8 +f 665/1053/2 683/1060/2 676/1061/2 +f 675/1062/6 665/1063/6 676/1050/6 +f 650/1032/5 666/1064/5 649/1065/5 +f 667/1059/5 665/1036/5 666/1064/5 +f 648/1026/1 662/1066/1 647/1067/1 +f 663/1040/1 661/1030/1 662/1066/1 +f 662/1068/1 680/1069/1 647/1070/1 +f 674/1071/2 679/1072/2 662/1068/2 +f 654/1073/3 678/1074/3 645/1051/3 +f 653/1075/5 682/1076/5 674/1077/5 +f 676/1078/1 677/1079/1 654/1073/1 +f 647/1070/3 681/1080/3 653/1075/3 +f 693/1081/3 688/1082/3 687/1083/3 +f 704/1084/1 691/1085/1 701/1086/1 +f 697/1087/2 690/1088/2 689/1089/2 +f 708/1090/5 685/1091/5 705/1092/5 +f 695/1093/8 708/1090/8 711/1094/8 +f 688/1082/8 709/1095/8 703/1096/8 +f 696/1097/8 711/1094/8 709/1095/8 +f 691/1098/2 699/1099/2 698/1100/2 +f 698/1100/2 700/1101/2 697/1087/2 +f 685/1102/3 695/1093/3 694/1103/3 +f 694/1103/3 696/1097/3 693/1081/3 +f 714/1104/6 694/1103/6 693/1081/6 +f 713/1105/6 716/1106/6 714/1104/6 +f 685/1107/5 724/1108/5 705/1109/5 +f 701/1110/6 714/1104/6 702/1111/6 +f 710/1112/8 700/1101/8 699/1099/8 +f 709/1095/8 712/1113/8 710/1112/8 +f 704/1084/8 699/1099/8 692/1114/8 +f 703/1096/8 710/1112/8 704/1084/8 +f 712/1113/8 690/1088/8 700/1101/8 +f 711/1094/8 707/1115/8 712/1113/8 +f 705/1109/2 723/1116/2 716/1117/2 +f 715/1118/6 705/1119/6 716/1106/6 +f 690/1088/5 706/1120/5 689/1121/5 +f 707/1115/5 705/1092/5 706/1120/5 +f 688/1082/1 702/1122/1 687/1123/1 +f 703/1096/1 701/1086/1 702/1122/1 +f 702/1124/1 720/1125/1 687/1126/1 +f 714/1127/2 719/1128/2 702/1124/2 +f 694/1129/3 718/1130/3 685/1107/3 +f 693/1131/5 722/1132/5 714/1133/5 +f 716/1134/1 717/1135/1 694/1129/1 +f 687/1126/3 721/1136/3 693/1131/3 +f 733/1137/3 728/1138/3 727/1139/3 +f 744/1140/1 731/1141/1 741/1142/1 +f 737/1143/2 730/1144/2 729/1145/2 +f 748/1146/5 725/1147/5 745/1148/5 +f 735/1149/8 748/1146/8 751/1150/8 +f 728/1138/8 749/1151/8 743/1152/8 +f 736/1153/8 751/1150/8 749/1151/8 +f 731/1154/2 739/1155/2 738/1156/2 +f 738/1156/2 740/1157/2 737/1143/2 +f 725/1158/3 735/1149/3 734/1159/3 +f 734/1159/3 736/1153/3 733/1137/3 +f 754/1160/6 734/1159/6 733/1137/6 +f 753/1161/6 756/1162/6 754/1160/6 +f 725/1163/5 764/1164/5 745/1165/5 +f 741/1166/6 754/1160/6 742/1167/6 +f 750/1168/8 740/1157/8 739/1155/8 +f 749/1151/8 752/1169/8 750/1168/8 +f 744/1140/8 739/1155/8 732/1170/8 +f 743/1152/8 750/1168/8 744/1140/8 +f 752/1169/8 730/1144/8 740/1157/8 +f 751/1150/8 747/1171/8 752/1169/8 +f 745/1165/2 763/1172/2 756/1173/2 +f 755/1174/6 745/1175/6 756/1162/6 +f 730/1144/5 746/1176/5 729/1177/5 +f 747/1171/5 745/1148/5 746/1176/5 +f 728/1138/1 742/1178/1 727/1179/1 +f 743/1152/1 741/1142/1 742/1178/1 +f 742/1180/1 760/1181/1 727/1182/1 +f 754/1183/2 759/1184/2 742/1180/2 +f 734/1185/3 758/1186/3 725/1163/3 +f 733/1187/5 762/1188/5 754/1189/5 +f 756/1190/1 757/1191/1 734/1185/1 +f 727/1182/3 761/1192/3 733/1187/3 +f 773/1193/3 768/1194/3 767/1195/3 +f 784/1196/1 771/1197/1 781/1198/1 +f 777/1199/2 770/1200/2 769/1201/2 +f 788/1202/5 765/1203/5 785/1204/5 +f 775/1205/8 788/1202/8 791/1206/8 +f 768/1194/8 789/1207/8 783/1208/8 +f 776/1209/8 791/1206/8 789/1207/8 +f 771/1210/2 779/1211/2 778/1212/2 +f 778/1212/2 780/1213/2 777/1199/2 +f 765/1214/3 775/1205/3 774/1215/3 +f 774/1215/3 776/1209/3 773/1193/3 +f 794/1216/6 774/1215/6 773/1193/6 +f 793/1217/6 796/1218/6 794/1216/6 +f 765/1219/5 804/1220/5 785/1221/5 +f 781/1222/6 794/1216/6 782/1223/6 +f 790/1224/8 780/1213/8 779/1211/8 +f 789/1207/8 792/1225/8 790/1224/8 +f 784/1196/8 779/1211/8 772/1226/8 +f 783/1208/8 790/1224/8 784/1196/8 +f 792/1225/8 770/1200/8 780/1213/8 +f 791/1206/8 787/1227/8 792/1225/8 +f 785/1221/2 803/1228/2 796/1229/2 +f 795/1230/6 785/1231/6 796/1218/6 +f 770/1200/5 786/1232/5 769/1233/5 +f 787/1227/5 785/1204/5 786/1232/5 +f 768/1194/1 782/1234/1 767/1235/1 +f 783/1208/1 781/1198/1 782/1234/1 +f 782/1236/1 800/1237/1 767/1238/1 +f 794/1239/2 799/1240/2 782/1236/2 +f 774/1241/3 798/1242/3 765/1219/3 +f 773/1243/5 802/1244/5 794/1245/5 +f 796/1246/1 797/1247/1 774/1241/1 +f 767/1238/3 801/1248/3 773/1243/3 +f 813/1249/2 808/1250/2 816/1251/2 +f 811/1252/1 824/1253/1 821/1254/1 +f 817/1255/3 810/1256/3 820/1257/3 +f 805/1258/5 828/1259/5 825/1260/5 +f 828/1259/8 815/1261/8 831/1262/8 +f 829/1263/8 808/1250/8 823/1264/8 +f 831/1262/8 816/1251/8 829/1263/8 +f 811/1265/3 819/1266/3 812/1267/3 +f 818/1268/3 820/1257/3 819/1266/3 +f 805/1269/2 815/1261/2 806/1270/2 +f 814/1271/2 816/1251/2 815/1261/2 +f 814/1271/6 834/1272/6 813/1249/6 +f 836/1273/6 833/1274/6 834/1272/6 +f 844/1275/5 805/1276/5 825/1277/5 +f 834/1272/6 821/1278/6 822/1279/6 +f 820/1257/8 830/1280/8 819/1266/8 +f 832/1281/8 829/1263/8 830/1280/8 +f 819/1266/8 824/1253/8 812/1267/8 +f 830/1280/8 823/1264/8 824/1253/8 +f 810/1256/8 832/1281/8 820/1257/8 +f 827/1282/8 831/1262/8 832/1281/8 +f 843/1283/3 825/1277/3 836/1284/3 +f 825/1285/6 835/1286/6 836/1273/6 +f 826/1287/5 810/1256/5 809/1288/5 +f 825/1260/5 827/1282/5 826/1287/5 +f 822/1289/1 808/1250/1 807/1290/1 +f 821/1254/1 823/1264/1 822/1289/1 +f 840/1291/1 822/1292/1 807/1293/1 +f 839/1294/3 834/1295/3 822/1292/3 +f 838/1296/2 814/1297/2 805/1276/2 +f 842/1298/5 813/1299/5 834/1300/5 +f 837/1301/1 836/1302/1 814/1297/1 +f 841/1303/2 807/1293/2 813/1299/2 +f 853/1304/2 848/1305/2 856/1306/2 +f 851/1307/1 864/1308/1 861/1309/1 +f 857/1310/3 850/1311/3 860/1312/3 +f 845/1313/5 868/1314/5 865/1315/5 +f 868/1314/8 855/1316/8 871/1317/8 +f 869/1318/8 848/1305/8 863/1319/8 +f 871/1317/8 856/1306/8 869/1318/8 +f 851/1320/3 859/1321/3 852/1322/3 +f 858/1323/3 860/1312/3 859/1321/3 +f 845/1324/2 855/1316/2 846/1325/2 +f 854/1326/2 856/1306/2 855/1316/2 +f 854/1326/6 874/1327/6 853/1304/6 +f 876/1328/6 873/1329/6 874/1327/6 +f 884/1330/5 845/1331/5 865/1332/5 +f 874/1327/6 861/1333/6 862/1334/6 +f 860/1312/8 870/1335/8 859/1321/8 +f 872/1336/8 869/1318/8 870/1335/8 +f 859/1321/8 864/1308/8 852/1322/8 +f 870/1335/8 863/1319/8 864/1308/8 +f 850/1311/8 872/1336/8 860/1312/8 +f 867/1337/8 871/1317/8 872/1336/8 +f 883/1338/3 865/1332/3 876/1339/3 +f 865/1340/6 875/1341/6 876/1328/6 +f 866/1342/5 850/1311/5 849/1343/5 +f 865/1315/5 867/1337/5 866/1342/5 +f 862/1344/1 848/1305/1 847/1345/1 +f 861/1309/1 863/1319/1 862/1344/1 +f 880/1346/1 862/1347/1 847/1348/1 +f 879/1349/3 874/1350/3 862/1347/3 +f 878/1351/2 854/1352/2 845/1331/2 +f 882/1353/5 853/1354/5 874/1355/5 +f 877/1356/1 876/1357/1 854/1352/1 +f 881/1358/2 847/1348/2 853/1354/2 +f 893/1359/2 888/1360/2 896/1361/2 +f 891/1362/1 904/1363/1 901/1364/1 +f 897/1365/3 890/1366/3 900/1367/3 +f 885/1368/5 908/1369/5 905/1370/5 +f 908/1369/8 895/1371/8 911/1372/8 +f 909/1373/8 888/1360/8 903/1374/8 +f 911/1372/8 896/1361/8 909/1373/8 +f 891/1375/3 899/1376/3 892/1377/3 +f 898/1378/3 900/1367/3 899/1376/3 +f 885/1379/2 895/1371/2 886/1380/2 +f 894/1381/2 896/1361/2 895/1371/2 +f 894/1381/6 914/1382/6 893/1359/6 +f 916/1383/6 913/1384/6 914/1382/6 +f 924/1385/5 885/1386/5 905/1387/5 +f 914/1382/6 901/1388/6 902/1389/6 +f 900/1367/8 910/1390/8 899/1376/8 +f 912/1391/8 909/1373/8 910/1390/8 +f 899/1376/8 904/1363/8 892/1377/8 +f 910/1390/8 903/1374/8 904/1363/8 +f 890/1366/8 912/1391/8 900/1367/8 +f 907/1392/8 911/1372/8 912/1391/8 +f 923/1393/3 905/1387/3 916/1394/3 +f 905/1395/6 915/1396/6 916/1383/6 +f 906/1397/5 890/1366/5 889/1398/5 +f 905/1370/5 907/1392/5 906/1397/5 +f 902/1399/1 888/1360/1 887/1400/1 +f 901/1364/1 903/1374/1 902/1399/1 +f 920/1401/1 902/1402/1 887/1403/1 +f 919/1404/3 914/1405/3 902/1402/3 +f 918/1406/2 894/1407/2 885/1386/2 +f 922/1408/5 893/1409/5 914/1410/5 +f 917/1411/1 916/1412/1 894/1407/1 +f 921/1413/2 887/1403/2 893/1409/2 +f 933/1414/2 928/1415/2 936/1416/2 +f 931/1417/1 944/1418/1 941/1419/1 +f 937/1420/3 930/1421/3 940/1422/3 +f 925/1423/5 948/1424/5 945/1425/5 +f 948/1424/8 935/1426/8 951/1427/8 +f 949/1428/8 928/1415/8 943/1429/8 +f 951/1427/8 936/1416/8 949/1428/8 +f 931/1430/3 939/1431/3 932/1432/3 +f 938/1433/3 940/1422/3 939/1431/3 +f 925/1434/2 935/1426/2 926/1435/2 +f 934/1436/2 936/1416/2 935/1426/2 +f 934/1436/6 954/1437/6 933/1414/6 +f 956/1438/6 953/1439/6 954/1437/6 +f 964/1440/5 925/1441/5 945/1442/5 +f 954/1437/6 941/1443/6 942/1444/6 +f 940/1422/8 950/1445/8 939/1431/8 +f 952/1446/8 949/1428/8 950/1445/8 +f 939/1431/8 944/1418/8 932/1432/8 +f 950/1445/8 943/1429/8 944/1418/8 +f 930/1421/8 952/1446/8 940/1422/8 +f 947/1447/8 951/1427/8 952/1446/8 +f 963/1448/3 945/1442/3 956/1449/3 +f 945/1450/6 955/1451/6 956/1438/6 +f 946/1452/5 930/1421/5 929/1453/5 +f 945/1425/5 947/1447/5 946/1452/5 +f 942/1454/1 928/1415/1 927/1455/1 +f 941/1419/1 943/1429/1 942/1454/1 +f 960/1456/1 942/1457/1 927/1458/1 +f 959/1459/3 954/1460/3 942/1457/3 +f 958/1461/2 934/1462/2 925/1441/2 +f 962/1463/5 933/1464/5 954/1465/5 +f 957/1466/1 956/1467/1 934/1462/1 +f 961/1468/2 927/1458/2 933/1464/2 +f 973/1469/2 968/1470/2 976/1471/2 +f 971/1472/1 984/1473/1 981/1474/1 +f 977/1475/3 970/1476/3 980/1477/3 +f 965/1478/5 988/1479/5 985/1480/5 +f 988/1479/8 975/1481/8 991/1482/8 +f 989/1483/8 968/1470/8 983/1484/8 +f 991/1482/8 976/1471/8 989/1483/8 +f 971/1485/3 979/1486/3 972/1487/3 +f 978/1488/3 980/1477/3 979/1486/3 +f 965/1489/2 975/1481/2 966/1490/2 +f 974/1491/2 976/1471/2 975/1481/2 +f 974/1491/6 994/1492/6 973/1469/6 +f 996/1493/6 993/1494/6 994/1492/6 +f 1004/1495/5 965/1496/5 985/1497/5 +f 994/1492/6 981/1498/6 982/1499/6 +f 980/1477/8 990/1500/8 979/1486/8 +f 992/1501/8 989/1483/8 990/1500/8 +f 979/1486/8 984/1473/8 972/1487/8 +f 990/1500/8 983/1484/8 984/1473/8 +f 970/1476/8 992/1501/8 980/1477/8 +f 987/1502/8 991/1482/8 992/1501/8 +f 1003/1503/3 985/1497/3 996/1504/3 +f 985/1505/6 995/1506/6 996/1493/6 +f 986/1507/5 970/1476/5 969/1508/5 +f 985/1480/5 987/1502/5 986/1507/5 +f 982/1509/1 968/1470/1 967/1510/1 +f 981/1474/1 983/1484/1 982/1509/1 +f 1000/1511/1 982/1512/1 967/1513/1 +f 999/1514/3 994/1515/3 982/1512/3 +f 998/1516/2 974/1517/2 965/1496/2 +f 1002/1518/5 973/1519/5 994/1520/5 +f 997/1521/1 996/1522/1 974/1517/1 +f 1001/1523/2 967/1513/2 973/1519/2 +f 1013/1524/2 1008/1525/2 1016/1526/2 +f 1011/1527/1 1024/1528/1 1021/1529/1 +f 1017/1530/3 1010/1531/3 1020/1532/3 +f 1005/1533/5 1028/1534/5 1025/1535/5 +f 1028/1534/8 1015/1536/8 1031/1537/8 +f 1029/1538/8 1008/1525/8 1023/1539/8 +f 1031/1537/8 1016/1526/8 1029/1538/8 +f 1011/1540/3 1019/1541/3 1012/1542/3 +f 1018/1543/3 1020/1532/3 1019/1541/3 +f 1005/1544/2 1015/1536/2 1006/1545/2 +f 1014/1546/2 1016/1526/2 1015/1536/2 +f 1014/1546/6 1034/1547/6 1013/1524/6 +f 1036/1548/6 1033/1549/6 1034/1547/6 +f 1044/1550/5 1005/1551/5 1025/1552/5 +f 1034/1547/6 1021/1553/6 1022/1554/6 +f 1020/1532/8 1030/1555/8 1019/1541/8 +f 1032/1556/8 1029/1538/8 1030/1555/8 +f 1019/1541/8 1024/1528/8 1012/1542/8 +f 1030/1555/8 1023/1539/8 1024/1528/8 +f 1010/1531/8 1032/1556/8 1020/1532/8 +f 1027/1557/8 1031/1537/8 1032/1556/8 +f 1043/1558/3 1025/1552/3 1036/1559/3 +f 1025/1560/6 1035/1561/6 1036/1548/6 +f 1026/1562/5 1010/1531/5 1009/1563/5 +f 1025/1535/5 1027/1557/5 1026/1562/5 +f 1022/1564/1 1008/1525/1 1007/1565/1 +f 1021/1529/1 1023/1539/1 1022/1564/1 +f 1040/1566/1 1022/1567/1 1007/1568/1 +f 1039/1569/3 1034/1570/3 1022/1567/3 +f 1038/1571/2 1014/1572/2 1005/1551/2 +f 1042/1573/5 1013/1574/5 1034/1575/5 +f 1037/1576/1 1036/1577/1 1014/1572/1 +f 1041/1578/2 1007/1568/2 1013/1574/2 +f 1053/1579/2 1048/1580/2 1056/1581/2 +f 1051/1582/1 1064/1583/1 1061/1584/1 +f 1057/1585/3 1050/1586/3 1060/1587/3 +f 1045/1588/5 1068/1589/5 1065/1590/5 +f 1068/1589/8 1055/1591/8 1071/1592/8 +f 1069/1593/8 1048/1580/8 1063/1594/8 +f 1071/1592/8 1056/1581/8 1069/1593/8 +f 1051/1595/3 1059/1596/3 1052/1597/3 +f 1058/1598/3 1060/1587/3 1059/1596/3 +f 1045/1599/2 1055/1591/2 1046/1600/2 +f 1054/1601/2 1056/1581/2 1055/1591/2 +f 1054/1601/6 1074/1602/6 1053/1579/6 +f 1076/1603/6 1073/1604/6 1074/1602/6 +f 1084/1605/5 1045/1606/5 1065/1607/5 +f 1074/1602/6 1061/1608/6 1062/1609/6 +f 1060/1587/8 1070/1610/8 1059/1596/8 +f 1072/1611/8 1069/1593/8 1070/1610/8 +f 1059/1596/8 1064/1583/8 1052/1597/8 +f 1070/1610/8 1063/1594/8 1064/1583/8 +f 1050/1586/8 1072/1611/8 1060/1587/8 +f 1067/1612/8 1071/1592/8 1072/1611/8 +f 1083/1613/3 1065/1607/3 1076/1614/3 +f 1065/1615/6 1075/1616/6 1076/1603/6 +f 1066/1617/5 1050/1586/5 1049/1618/5 +f 1065/1590/5 1067/1612/5 1066/1617/5 +f 1062/1619/1 1048/1580/1 1047/1620/1 +f 1061/1584/1 1063/1594/1 1062/1619/1 +f 1080/1621/1 1062/1622/1 1047/1623/1 +f 1079/1624/3 1074/1625/3 1062/1622/3 +f 1078/1626/2 1054/1627/2 1045/1606/2 +f 1082/1628/5 1053/1629/5 1074/1630/5 +f 1077/1631/1 1076/1632/1 1054/1627/1 +f 1081/1633/2 1047/1623/2 1053/1629/2 +f 1093/1634/2 1088/1635/2 1096/1636/2 +f 1091/1637/1 1104/1638/1 1101/1639/1 +f 1097/1640/3 1090/1641/3 1100/1642/3 +f 1085/1643/5 1108/1644/5 1105/1645/5 +f 1108/1644/8 1095/1646/8 1111/1647/8 +f 1109/1648/8 1088/1635/8 1103/1649/8 +f 1111/1647/8 1096/1636/8 1109/1648/8 +f 1091/1650/3 1099/1651/3 1092/1652/3 +f 1098/1653/3 1100/1642/3 1099/1651/3 +f 1085/1654/2 1095/1646/2 1086/1655/2 +f 1094/1656/2 1096/1636/2 1095/1646/2 +f 1094/1656/6 1114/1657/6 1093/1634/6 +f 1116/1658/6 1113/1659/6 1114/1657/6 +f 1124/1660/5 1085/1661/5 1105/1662/5 +f 1114/1657/6 1101/1663/6 1102/1664/6 +f 1100/1642/8 1110/1665/8 1099/1651/8 +f 1112/1666/8 1109/1648/8 1110/1665/8 +f 1099/1651/8 1104/1638/8 1092/1652/8 +f 1110/1665/8 1103/1649/8 1104/1638/8 +f 1090/1641/8 1112/1666/8 1100/1642/8 +f 1107/1667/8 1111/1647/8 1112/1666/8 +f 1123/1668/3 1105/1662/3 1116/1669/3 +f 1105/1670/6 1115/1671/6 1116/1658/6 +f 1106/1672/5 1090/1641/5 1089/1673/5 +f 1105/1645/5 1107/1667/5 1106/1672/5 +f 1102/1674/1 1088/1635/1 1087/1675/1 +f 1101/1639/1 1103/1649/1 1102/1674/1 +f 1120/1676/1 1102/1677/1 1087/1678/1 +f 1119/1679/3 1114/1680/3 1102/1677/3 +f 1118/1681/2 1094/1682/2 1085/1661/2 +f 1122/1683/5 1093/1684/5 1114/1685/5 +f 1117/1686/1 1116/1687/1 1094/1682/1 +f 1121/1688/2 1087/1678/2 1093/1684/2 +f 1133/1689/2 1128/1690/2 1136/1691/2 +f 1131/1692/1 1144/1693/1 1141/1694/1 +f 1137/1695/3 1130/1696/3 1140/1697/3 +f 1125/1698/5 1148/1699/5 1145/1700/5 +f 1148/1699/8 1135/1701/8 1151/1702/8 +f 1149/1703/8 1128/1690/8 1143/1704/8 +f 1151/1702/8 1136/1691/8 1149/1703/8 +f 1131/1705/3 1139/1706/3 1132/1707/3 +f 1138/1708/3 1140/1697/3 1139/1706/3 +f 1125/1709/2 1135/1701/2 1126/1710/2 +f 1134/1711/2 1136/1691/2 1135/1701/2 +f 1134/1711/6 1154/1712/6 1133/1689/6 +f 1156/1713/6 1153/1714/6 1154/1712/6 +f 1164/1715/5 1125/1716/5 1145/1717/5 +f 1154/1712/6 1141/1718/6 1142/1719/6 +f 1140/1697/8 1150/1720/8 1139/1706/8 +f 1152/1721/8 1149/1703/8 1150/1720/8 +f 1139/1706/8 1144/1693/8 1132/1707/8 +f 1150/1720/8 1143/1704/8 1144/1693/8 +f 1130/1696/8 1152/1721/8 1140/1697/8 +f 1147/1722/8 1151/1702/8 1152/1721/8 +f 1163/1723/3 1145/1717/3 1156/1724/3 +f 1145/1725/6 1155/1726/6 1156/1713/6 +f 1146/1727/5 1130/1696/5 1129/1728/5 +f 1145/1700/5 1147/1722/5 1146/1727/5 +f 1142/1729/1 1128/1690/1 1127/1730/1 +f 1141/1694/1 1143/1704/1 1142/1729/1 +f 1160/1731/1 1142/1732/1 1127/1733/1 +f 1159/1734/3 1154/1735/3 1142/1732/3 +f 1158/1736/2 1134/1737/2 1125/1716/2 +f 1162/1738/5 1133/1739/5 1154/1740/5 +f 1157/1741/1 1156/1742/1 1134/1737/1 +f 1161/1743/2 1127/1733/2 1133/1739/2 +f 1173/1744/2 1168/1745/2 1176/1746/2 +f 1171/1747/1 1184/1748/1 1181/1749/1 +f 1177/1750/3 1170/1751/3 1180/1752/3 +f 1165/1753/5 1188/1754/5 1185/1755/5 +f 1188/1754/8 1175/1756/8 1191/1757/8 +f 1189/1758/8 1168/1745/8 1183/1759/8 +f 1191/1757/8 1176/1746/8 1189/1758/8 +f 1171/1760/3 1179/1761/3 1172/1762/3 +f 1178/1763/3 1180/1752/3 1179/1761/3 +f 1165/1764/2 1175/1756/2 1166/1765/2 +f 1174/1766/2 1176/1746/2 1175/1756/2 +f 1174/1766/6 1194/1767/6 1173/1744/6 +f 1196/1768/6 1193/1769/6 1194/1767/6 +f 1204/1770/5 1165/1771/5 1185/1772/5 +f 1194/1767/6 1181/1773/6 1182/1774/6 +f 1180/1752/8 1190/1775/8 1179/1761/8 +f 1192/1776/8 1189/1758/8 1190/1775/8 +f 1179/1761/8 1184/1748/8 1172/1762/8 +f 1190/1775/8 1183/1759/8 1184/1748/8 +f 1170/1751/8 1192/1776/8 1180/1752/8 +f 1187/1777/8 1191/1757/8 1192/1776/8 +f 1203/1778/3 1185/1772/3 1196/1779/3 +f 1185/1780/6 1195/1781/6 1196/1768/6 +f 1186/1782/5 1170/1751/5 1169/1783/5 +f 1185/1755/5 1187/1777/5 1186/1782/5 +f 1182/1784/1 1168/1745/1 1167/1785/1 +f 1181/1749/1 1183/1759/1 1182/1784/1 +f 1200/1786/1 1182/1787/1 1167/1788/1 +f 1199/1789/3 1194/1790/3 1182/1787/3 +f 1198/1791/2 1174/1792/2 1165/1771/2 +f 1202/1793/5 1173/1794/5 1194/1795/5 +f 1197/1796/1 1196/1797/1 1174/1792/1 +f 1201/1798/2 1167/1788/2 1173/1794/2 +f 1213/1799/2 1208/1800/2 1216/1801/2 +f 1211/1802/1 1224/1803/1 1221/1804/1 +f 1217/1805/3 1210/1806/3 1220/1807/3 +f 1205/1808/5 1228/1809/5 1225/1810/5 +f 1228/1809/8 1215/1811/8 1231/1812/8 +f 1229/1813/8 1208/1800/8 1223/1814/8 +f 1231/1812/8 1216/1801/8 1229/1813/8 +f 1211/1815/3 1219/1816/3 1212/1817/3 +f 1218/1818/3 1220/1807/3 1219/1816/3 +f 1205/1819/2 1215/1811/2 1206/1820/2 +f 1214/1821/2 1216/1801/2 1215/1811/2 +f 1214/1821/6 1234/1822/6 1213/1799/6 +f 1236/1823/6 1233/1824/6 1234/1822/6 +f 1244/1825/5 1205/1826/5 1225/1827/5 +f 1234/1822/6 1221/1828/6 1222/1829/6 +f 1220/1807/8 1230/1830/8 1219/1816/8 +f 1232/1831/8 1229/1813/8 1230/1830/8 +f 1219/1816/8 1224/1803/8 1212/1817/8 +f 1230/1830/8 1223/1814/8 1224/1803/8 +f 1210/1806/8 1232/1831/8 1220/1807/8 +f 1227/1832/8 1231/1812/8 1232/1831/8 +f 1243/1833/3 1225/1827/3 1236/1834/3 +f 1225/1835/6 1235/1836/6 1236/1823/6 +f 1226/1837/5 1210/1806/5 1209/1838/5 +f 1225/1810/5 1227/1832/5 1226/1837/5 +f 1222/1839/1 1208/1800/1 1207/1840/1 +f 1221/1804/1 1223/1814/1 1222/1839/1 +f 1240/1841/1 1222/1842/1 1207/1843/1 +f 1239/1844/3 1234/1845/3 1222/1842/3 +f 1238/1846/2 1214/1847/2 1205/1826/2 +f 1242/1848/5 1213/1849/5 1234/1850/5 +f 1237/1851/1 1236/1852/1 1214/1847/1 +f 1241/1853/2 1207/1843/2 1213/1849/2 +f 1245/1854/3 1248/1855/3 1247/1856/3 +f 1248/1857/1 1251/1858/1 1247/1859/1 +f 1252/1860/2 1249/1861/2 1251/1862/2 +f 1251/1858/1 1253/1863/1 1247/1859/1 +f 1248/1855/9 1250/1864/9 1252/1860/9 +f 1255/1865/11 1254/1866/11 1253/1863/11 +f 1253/1863/1 1257/1867/1 1247/1859/1 +f 1251/1868/2 1256/1869/2 1255/1865/2 +f 1259/1870/1 1261/1871/1 1257/1867/1 +f 1247/1856/9 1258/1872/9 1245/1854/9 +f 1254/1866/11 1259/1870/11 1253/1863/11 +f 1261/1873/3 1264/1874/3 1262/1875/3 +f 1262/1876/3 1267/1877/3 1261/1878/3 +f 1260/1879/11 1263/1880/11 1259/1870/11 +f 1265/1881/9 1268/1882/9 1266/1883/9 +f 1261/1871/1 1265/1884/1 1257/1867/1 +f 1258/1872/2 1265/1881/2 1266/1883/2 +f 1269/1885/3 1272/1886/3 1270/1887/3 +f 1275/1888/5 1272/1889/5 1271/1890/5 +f 1273/1891/2 1276/1892/2 1275/1893/2 +f 1277/1894/5 1275/1888/5 1271/1890/5 +f 1274/1895/10 1272/1886/10 1276/1892/10 +f 1278/1896/12 1279/1897/12 1277/1894/12 +f 1281/1898/5 1277/1894/5 1271/1890/5 +f 1275/1899/2 1280/1900/2 1273/1901/2 +f 1285/1902/5 1283/1903/5 1281/1898/5 +f 1282/1904/10 1271/1905/10 1269/1885/10 +f 1283/1903/12 1278/1896/12 1277/1894/12 +f 1288/1906/3 1285/1907/3 1286/1908/3 +f 1291/1909/3 1286/1910/3 1285/1911/3 +f 1287/1912/12 1284/1913/12 1283/1903/12 +f 1292/1914/10 1289/1915/10 1290/1916/10 +f 1289/1917/5 1285/1902/5 1281/1898/5 +f 1282/1904/2 1289/1915/2 1281/1918/2 +f 1294/1919/4 1295/1920/4 1293/1921/4 +f 1296/1922/1 1299/1923/1 1295/1920/1 +f 1297/1924/5 1294/1919/5 1293/1921/5 +f 1299/1925/13 1293/1921/13 1295/1920/13 +f 1296/1922/14 1298/1926/14 1300/1927/14 +f 1302/1928/4 1303/1929/4 1301/1930/4 +f 1304/1931/1 1307/1932/1 1303/1929/1 +f 1305/1933/5 1302/1928/5 1301/1930/5 +f 1307/1934/13 1301/1930/13 1303/1929/13 +f 1304/1931/14 1306/1935/14 1308/1936/14 +f 1310/1937/4 1311/1938/4 1309/1939/4 +f 1312/1940/1 1315/1941/1 1311/1938/1 +f 1313/1942/5 1310/1937/5 1309/1939/5 +f 1315/1943/13 1309/1939/13 1311/1938/13 +f 1312/1940/14 1314/1944/14 1316/1945/14 +f 1318/1946/4 1319/1947/4 1317/1948/4 +f 1320/1949/1 1323/1950/1 1319/1947/1 +f 1321/1951/5 1318/1946/5 1317/1948/5 +f 1323/1952/13 1317/1948/13 1319/1947/13 +f 1320/1949/14 1322/1953/14 1324/1954/14 +f 1326/1955/4 1327/1956/4 1325/1957/4 +f 1328/1958/1 1331/1959/1 1327/1956/1 +f 1329/1960/5 1326/1955/5 1325/1957/5 +f 1331/1961/13 1325/1957/13 1327/1956/13 +f 1328/1958/14 1330/1962/14 1332/1963/14 +f 1335/1964/7 1334/1965/7 1333/1966/7 +f 1335/1964/1 1340/1967/1 1336/1968/1 +f 1337/1969/5 1334/1965/5 1338/1970/5 +f 1333/1966/15 1339/1971/15 1335/1964/15 +f 1338/1972/16 1336/1968/16 1340/1973/16 +f 1343/1974/7 1342/1975/7 1341/1976/7 +f 1343/1974/1 1348/1977/1 1344/1978/1 +f 1345/1979/5 1342/1975/5 1346/1980/5 +f 1341/1976/15 1347/1981/15 1343/1974/15 +f 1346/1982/16 1344/1978/16 1348/1983/16 +f 1351/1984/7 1350/1985/7 1349/1986/7 +f 1351/1984/1 1356/1987/1 1352/1988/1 +f 1353/1989/5 1350/1985/5 1354/1990/5 +f 1349/1986/15 1355/1991/15 1351/1984/15 +f 1354/1992/16 1352/1988/16 1356/1993/16 +f 1359/1994/7 1358/1995/7 1357/1996/7 +f 1359/1994/1 1364/1997/1 1360/1998/1 +f 1361/1999/5 1358/1995/5 1362/2000/5 +f 1357/1996/15 1363/2001/15 1359/1994/15 +f 1362/2002/16 1360/1998/16 1364/2003/16 +f 1367/2004/7 1366/2005/7 1365/2006/7 +f 1367/2004/1 1372/2007/1 1368/2008/1 +f 1369/2009/5 1366/2005/5 1370/2010/5 +f 1365/2006/15 1371/2011/15 1367/2004/15 +f 1370/2012/16 1368/2008/16 1372/2013/16 +f 1376/2014/1 1379/2015/1 1375/2016/1 +f 1378/2017/5 1373/2018/5 1377/2019/5 +f 1382/2020/5 1386/2021/5 1374/2022/5 +f 1374/2023/5 1378/2017/5 1382/2020/5 +f 1380/2024/1 1376/2025/1 1381/2026/1 +f 1376/2027/1 1384/2028/1 1381/2026/1 +f 1387/2029/1 1383/2030/1 1390/2031/1 +f 1386/2032/5 1385/2033/5 1388/2034/5 +f 1384/2028/1 1383/2035/1 1387/2029/1 +f 1386/2036/5 1392/2037/5 1393/2038/5 +f 1386/2039/5 1388/2034/5 1389/2040/5 +f 1383/2041/1 1391/2042/1 1390/2031/1 +f 1398/2043/1 1401/2044/1 1397/2045/1 +f 1400/2046/5 1395/2047/5 1399/2048/5 +f 1404/2049/5 1408/2050/5 1396/2051/5 +f 1396/2052/5 1400/2046/5 1404/2049/5 +f 1402/2053/1 1398/2054/1 1403/2055/1 +f 1398/2056/1 1406/2057/1 1403/2055/1 +f 1409/2058/1 1405/2059/1 1412/2060/1 +f 1408/2061/5 1407/2062/5 1410/2063/5 +f 1406/2057/1 1405/2064/1 1409/2058/1 +f 1408/2065/5 1414/2066/5 1415/2067/5 +f 1408/2068/5 1410/2063/5 1411/2069/5 +f 1405/2070/1 1413/2071/1 1412/2060/1 +f 1420/2072/1 1423/2073/1 1419/2074/1 +f 1422/2075/5 1417/2076/5 1421/2077/5 +f 1426/2078/5 1430/2079/5 1418/2080/5 +f 1418/2081/5 1422/2075/5 1426/2078/5 +f 1424/2082/1 1420/2083/1 1425/2084/1 +f 1420/2085/1 1428/2086/1 1425/2084/1 +f 1431/2087/1 1427/2088/1 1434/2089/1 +f 1430/2090/5 1429/2091/5 1432/2092/5 +f 1428/2086/1 1427/2093/1 1431/2087/1 +f 1430/2094/5 1436/2095/5 1437/2096/5 +f 1430/2097/5 1432/2092/5 1433/2098/5 +f 1427/2099/1 1435/2100/1 1434/2089/1 +f 1442/2101/1 1445/2102/1 1441/2103/1 +f 1444/2104/5 1439/2105/5 1443/2106/5 +f 1448/2107/5 1452/2108/5 1440/2109/5 +f 1440/2110/5 1444/2104/5 1448/2107/5 +f 1446/2111/1 1442/2112/1 1447/2113/1 +f 1442/2114/1 1450/2115/1 1447/2113/1 +f 1453/2116/1 1449/2117/1 1456/2118/1 +f 1452/2119/5 1451/2120/5 1454/2121/5 +f 1450/2115/1 1449/2122/1 1453/2116/1 +f 1452/2123/5 1458/2124/5 1459/2125/5 +f 1452/2126/5 1454/2121/5 1455/2127/5 +f 1449/2128/1 1457/2129/1 1456/2118/1 +f 1464/2130/1 1467/2131/1 1463/2132/1 +f 1466/2133/5 1461/2134/5 1465/2135/5 +f 1470/2136/5 1474/2137/5 1462/2138/5 +f 1462/2139/5 1466/2133/5 1470/2136/5 +f 1468/2140/1 1464/2141/1 1469/2142/1 +f 1464/2143/1 1472/2144/1 1469/2142/1 +f 1475/2145/1 1471/2146/1 1478/2147/1 +f 1474/2148/5 1473/2149/5 1476/2150/5 +f 1472/2144/1 1471/2151/1 1475/2145/1 +f 1474/2152/5 1480/2153/5 1481/2154/5 +f 1474/2155/5 1476/2150/5 1477/2156/5 +f 1471/2157/1 1479/2158/1 1478/2147/1 +f 224/1/1 1/12/1 2/2/1 +f 153/4/2 178/356/2 179/5/2 +f 163/8/3 188/377/3 186/9/3 +f 221/13/4 10/2159/4 9/14/4 +f 105/16/5 323/596/5 324/17/5 +f 8/19/4 232/21/4 222/15/4 +f 7/20/4 233/23/4 232/21/4 +f 6/22/4 234/25/4 233/23/4 +f 41/24/4 235/27/4 234/25/4 +f 42/26/4 236/29/4 235/27/4 +f 43/28/4 237/31/4 236/29/4 +f 44/30/4 238/417/4 237/31/4 +f 126/32/4 240/2160/4 242/33/4 +f 31/35/1 21/2161/1 20/36/1 +f 45/38/6 63/2162/6 64/39/6 +f 219/41/3 259/526/3 257/42/3 +f 89/44/2 271/51/2 256/45/2 +f 99/47/3 255/490/3 278/48/3 +f 88/50/2 270/413/2 271/51/2 +f 98/49/3 278/48/3 277/52/3 +f 91/54/2 273/491/2 281/55/2 +f 104/57/3 324/17/3 263/58/3 +f 160/60/6 183/369/6 184/61/6 +f 74/63/6 73/66/6 53/64/6 +f 64/39/6 63/2162/6 73/66/6 +f 74/63/6 75/68/6 65/67/6 +f 75/68/6 76/70/6 66/69/6 +f 76/70/6 77/72/6 67/71/6 +f 77/72/6 78/74/6 68/73/6 +f 78/74/6 79/76/6 69/75/6 +f 79/76/6 80/78/6 70/77/6 +f 80/78/6 81/109/6 71/79/6 +f 215/80/6 124/111/6 122/81/6 +f 32/83/7 31/2163/7 224/84/7 +f 21/86/8 31/2164/8 32/87/8 +f 64/39/6 65/67/6 4/89/6 +f 65/67/6 66/69/6 46/90/6 +f 66/69/6 67/71/6 47/91/6 +f 67/71/6 68/73/6 48/92/6 +f 68/73/6 69/75/6 49/93/6 +f 69/75/6 70/77/6 50/94/6 +f 70/77/6 71/79/6 51/95/6 +f 213/82/6 122/81/6 5/96/6 +f 19/98/2 20/2165/2 21/99/2 +f 54/65/6 53/64/6 20/101/6 +f 54/65/6 55/103/6 75/68/6 +f 55/103/6 56/104/6 76/70/6 +f 56/104/6 57/105/6 77/72/6 +f 57/105/6 58/106/6 78/74/6 +f 58/106/6 59/107/6 79/76/6 +f 59/107/6 60/108/6 80/78/6 +f 60/108/6 61/153/6 81/109/6 +f 211/110/6 123/155/6 124/111/6 +f 39/112/7 231/116/7 243/113/7 +f 38/115/7 230/118/7 231/116/7 +f 37/117/7 229/120/7 230/118/7 +f 36/119/7 228/122/7 229/120/7 +f 35/121/7 227/124/7 228/122/7 +f 34/123/7 226/126/7 227/124/7 +f 33/125/7 225/127/7 226/126/7 +f 32/83/7 223/85/7 225/127/7 +f 10/128/3 45/2166/3 3/129/3 +f 32/87/8 33/132/8 23/131/8 +f 33/132/8 34/134/8 24/133/8 +f 34/134/8 35/136/8 25/135/8 +f 35/136/8 36/138/8 26/137/8 +f 36/138/8 37/140/8 27/139/8 +f 37/140/8 38/142/8 28/141/8 +f 38/142/8 39/402/8 29/143/8 +f 208/144/8 125/2167/8 30/145/8 +f 19/102/6 18/147/6 55/103/6 +f 18/147/6 17/148/6 56/104/6 +f 17/148/6 16/149/6 57/105/6 +f 16/149/6 15/150/6 58/106/6 +f 15/150/6 14/151/6 59/107/6 +f 14/151/6 13/152/6 60/108/6 +f 13/152/6 12/399/6 61/153/6 +f 203/154/6 11/2168/6 123/155/6 +f 22/100/2 23/157/2 18/156/2 +f 23/157/2 24/159/2 17/158/2 +f 24/159/2 25/161/2 16/160/2 +f 25/161/2 26/163/2 15/162/2 +f 26/163/2 27/165/2 14/164/2 +f 27/165/2 28/167/2 13/166/2 +f 28/167/2 29/396/2 12/168/2 +f 206/169/2 30/2169/2 11/170/2 +f 216/172/3 44/175/3 51/173/3 +f 44/175/3 43/177/3 50/176/3 +f 43/177/3 42/179/3 49/178/3 +f 42/179/3 41/181/3 48/180/3 +f 41/181/3 6/183/3 47/182/3 +f 6/183/3 7/185/3 46/184/3 +f 7/185/3 8/187/3 4/186/3 +f 8/187/3 9/130/3 3/129/3 +f 123/188/5 11/2170/5 30/189/5 +f 52/191/2 138/280/2 142/192/2 +f 72/194/2 117/232/2 115/195/2 +f 103/197/6 144/284/6 141/198/6 +f 128/200/5 239/204/5 240/201/5 +f 72/206/5 122/210/5 124/207/5 +f 109/209/5 127/213/5 122/210/5 +f 82/208/5 124/207/5 128/211/5 +f 110/212/5 128/211/5 127/213/5 +f 108/214/2 118/238/2 120/215/2 +f 110/217/3 114/234/3 116/218/3 +f 82/220/8 116/230/8 117/221/8 +f 109/223/6 115/227/6 114/224/6 +f 108/226/5 114/224/5 115/227/5 +f 112/229/5 113/237/5 117/221/5 +f 111/231/5 115/195/5 117/232/5 +f 108/214/5 112/216/5 116/218/5 +f 120/215/5 118/238/5 119/235/5 +f 112/229/6 120/215/6 121/236/6 +f 113/233/3 121/236/3 119/235/3 +f 111/228/8 119/235/8 118/238/8 +f 52/239/5 5/245/5 122/210/5 +f 106/241/5 124/207/5 123/188/5 +f 62/242/5 123/188/5 125/190/5 +f 101/244/5 126/247/5 5/245/5 +f 102/246/5 127/213/5 126/247/5 +f 40/243/5 125/190/5 128/211/5 +f 107/240/5 122/210/5 127/213/5 +f 103/248/5 128/211/5 124/207/5 +f 134/249/8 150/290/8 151/250/8 +f 135/252/2 151/250/2 145/253/2 +f 62/255/8 139/276/8 140/256/8 +f 102/258/3 143/286/3 137/259/3 +f 101/261/6 142/282/6 143/262/6 +f 40/264/3 141/278/3 139/265/3 +f 107/267/8 137/274/8 138/268/8 +f 106/270/2 140/288/2 144/271/2 +f 129/273/5 130/296/5 138/268/5 +f 131/275/5 132/298/5 140/256/5 +f 133/277/5 131/295/5 139/265/5 +f 134/279/5 142/192/5 138/280/5 +f 135/251/5 143/262/5 142/282/5 +f 133/283/5 141/198/5 144/284/5 +f 135/252/5 129/254/5 137/259/5 +f 136/287/5 144/271/5 140/288/5 +f 145/253/5 151/250/5 150/290/5 +f 147/292/5 149/297/5 152/293/5 +f 133/277/2 149/297/2 147/292/2 +f 129/273/6 145/253/6 146/291/6 +f 132/289/3 148/294/3 152/293/3 +f 136/285/8 152/293/8 149/297/8 +f 130/281/3 146/291/3 150/290/3 +f 131/275/6 147/292/6 148/294/6 +f 2/299/1 154/303/1 153/300/1 +f 63/302/1 155/305/1 154/303/1 +f 45/304/1 156/306/1 155/305/1 +f 10/301/1 153/300/1 156/306/1 +f 63/302/1 158/309/1 157/307/1 +f 2/299/1 159/311/1 158/309/1 +f 1/310/1 160/312/1 159/311/1 +f 73/308/1 157/307/1 160/312/1 +f 31/35/1 162/314/1 161/313/1 +f 53/37/1 163/315/1 162/314/1 +f 73/308/1 164/316/1 163/315/1 +f 1/310/1 161/313/1 164/316/1 +f 166/317/3 190/381/3 191/318/3 +f 175/320/6 199/385/6 200/321/6 +f 170/323/6 194/382/6 193/324/6 +f 158/326/8 182/362/8 181/327/8 +f 164/329/8 187/379/8 188/330/8 +f 155/332/3 180/358/3 177/333/3 +f 157/335/3 181/364/3 183/336/3 +f 162/338/6 186/372/6 185/339/6 +f 156/341/8 179/361/8 180/342/8 +f 159/344/2 184/367/2 182/345/2 +f 161/347/2 185/375/2 187/348/2 +f 154/350/6 177/354/6 178/351/6 +f 166/353/1 178/351/1 177/354/1 +f 166/317/1 167/319/1 179/5/1 +f 165/357/1 177/333/1 180/358/1 +f 167/360/1 168/390/1 180/342/1 +f 170/323/1 169/325/1 181/327/1 +f 171/363/1 183/336/1 181/364/1 +f 172/366/1 170/388/1 182/345/1 +f 172/368/1 184/61/1 183/369/1 +f 173/371/1 185/339/1 186/372/1 +f 173/374/1 175/387/1 187/348/1 +f 174/376/1 186/9/1 188/377/1 +f 175/320/1 176/322/1 188/330/1 +f 189/380/1 192/389/1 191/318/1 +f 194/382/1 196/391/1 195/383/1 +f 198/384/1 200/321/1 199/385/1 +f 174/373/8 198/384/8 197/386/8 +f 169/365/2 193/324/2 195/383/2 +f 168/359/2 192/389/2 189/380/2 +f 173/374/3 197/386/3 199/385/3 +f 172/366/3 196/391/3 194/382/3 +f 167/360/6 191/318/6 192/389/6 +f 176/378/2 200/321/2 198/384/2 +f 165/355/8 189/380/8 190/381/8 +f 171/370/8 195/383/8 196/391/8 +f 126/392/3 202/395/3 209/393/3 +f 202/395/3 216/172/3 201/174/3 +f 29/396/2 205/398/2 204/397/2 +f 205/398/2 206/169/2 203/171/2 +f 12/399/6 204/401/6 210/400/6 +f 204/401/6 203/154/6 211/110/6 +f 39/402/8 207/404/8 205/403/8 +f 207/404/8 208/144/8 206/146/8 +f 208/405/7 241/408/7 239/406/7 +f 207/114/7 243/113/7 241/408/7 +f 61/153/6 210/400/6 214/409/6 +f 210/400/6 211/110/6 215/80/6 +f 71/79/6 212/411/6 201/410/6 +f 212/411/6 213/82/6 209/97/6 +f 81/109/6 214/409/6 212/411/6 +f 214/409/6 215/80/6 213/82/6 +f 87/412/2 269/506/2 270/413/2 +f 97/53/3 277/52/3 276/414/3 +f 216/416/4 244/418/4 238/417/4 +f 202/34/4 242/33/4 244/418/4 +f 307/419/8 221/453/8 222/420/8 +f 310/422/8 84/426/8 223/423/8 +f 85/425/8 225/428/8 223/423/8 +f 86/427/8 226/430/8 225/428/8 +f 87/429/8 227/432/8 226/430/8 +f 88/431/8 228/434/8 227/432/8 +f 89/433/8 229/436/8 228/434/8 +f 90/435/8 230/438/8 229/436/8 +f 91/437/8 231/462/8 230/438/8 +f 93/421/8 222/420/8 232/439/8 +f 94/440/8 232/439/8 233/441/8 +f 95/442/8 233/441/8 234/443/8 +f 96/444/8 234/443/8 235/445/8 +f 97/446/8 235/445/8 236/447/8 +f 98/448/8 236/447/8 237/449/8 +f 99/450/8 237/449/8 238/451/8 +f 310/422/8 224/424/8 221/453/8 +f 312/454/8 240/460/8 239/455/8 +f 311/456/8 239/455/8 241/457/8 +f 312/454/8 220/466/8 242/459/8 +f 217/461/8 243/463/8 231/462/8 +f 218/458/8 241/457/8 243/463/8 +f 100/452/8 238/451/8 244/464/8 +f 219/465/8 244/464/8 242/459/8 +f 316/2171/3 93/2172/3 283/469/3 +f 93/2172/3 94/467/3 283/469/3 +f 250/470/2 292/480/2 294/471/2 +f 253/473/3 295/558/3 293/474/3 +f 262/476/2 342/618/2 325/477/2 +f 268/479/2 326/486/2 292/480/2 +f 251/475/3 293/474/3 334/481/3 +f 265/483/5 343/615/5 344/484/5 +f 267/478/2 325/477/2 326/486/2 +f 259/526/3 219/41/3 286/489/3 +f 219/41/3 220/487/3 286/489/3 +f 100/43/3 257/42/3 255/490/3 +f 90/46/2 256/45/2 273/491/2 +f 318/2173/2 218/2174/2 285/492/2 +f 218/2174/2 217/56/2 285/492/2 +f 246/511/2 85/497/2 284/495/2 +f 85/497/2 84/493/2 284/495/2 +f 95/496/3 247/500/3 245/468/3 +f 85/497/2 246/511/2 248/498/2 +f 96/415/3 276/414/3 247/500/3 +f 249/482/3 334/481/3 333/501/3 +f 261/503/1 341/613/1 342/504/1 +f 86/499/2 248/498/2 269/506/2 +f 284/495/9 315/583/9 316/507/9 +f 318/508/10 285/492/10 286/489/10 +f 268/510/8 248/498/8 246/511/8 +f 250/513/8 269/506/8 248/498/8 +f 252/514/8 270/413/8 269/506/8 +f 254/515/8 271/51/8 270/413/8 +f 272/516/8 256/45/8 271/51/8 +f 258/517/8 273/491/8 256/45/8 +f 274/518/8 245/468/8 247/500/8 +f 275/519/8 247/500/8 276/414/8 +f 249/520/8 276/414/8 277/52/8 +f 251/521/8 277/52/8 278/48/8 +f 253/522/8 278/48/8 255/490/8 +f 279/523/8 255/490/8 257/42/8 +f 260/525/8 281/55/8 273/491/8 +f 280/524/8 257/42/8 259/526/8 +f 262/528/8 284/495/8 283/469/8 +f 264/530/8 286/489/8 285/492/8 +f 262/528/8 267/512/8 246/511/8 +f 261/529/8 283/469/8 245/468/8 +f 265/531/8 285/492/8 281/55/8 +f 264/530/8 282/527/8 259/526/8 +f 291/532/2 349/625/2 347/533/2 +f 303/535/5 361/630/5 362/536/5 +f 289/534/2 347/533/2 345/538/2 +f 340/540/2 359/549/2 357/541/2 +f 330/543/3 356/551/3 358/544/3 +f 331/545/3 358/544/3 360/546/3 +f 306/548/2 364/632/2 359/549/2 +f 329/550/3 354/628/3 356/551/3 +f 338/542/2 357/541/2 355/552/2 +f 274/554/3 287/575/3 341/555/3 +f 279/557/3 297/565/3 295/558/3 +f 252/472/2 294/471/2 296/559/2 +f 260/561/2 302/572/2 343/562/2 +f 280/564/3 299/574/3 297/565/3 +f 254/560/2 296/559/2 298/566/2 +f 264/568/3 344/621/3 301/569/3 +f 258/571/2 300/573/2 302/572/2 +f 272/567/2 298/566/2 300/573/2 +f 282/570/3 301/569/3 299/574/3 +f 275/502/3 333/501/3 287/575/3 +f 92/576/8 307/419/8 93/421/8 +f 83/578/8 309/2175/8 84/426/8 +f 83/578/8 310/422/8 307/419/8 +f 104/579/8 312/454/8 311/456/8 +f 105/580/8 311/456/8 218/458/8 +f 104/579/8 314/2176/8 220/466/8 +f 319/582/1 316/507/1 315/583/1 +f 266/585/5 318/508/5 317/509/5 +f 320/584/1 315/583/1 84/587/1 +f 319/582/1 308/2177/1 93/589/1 +f 263/586/5 317/509/5 220/590/5 +f 266/585/5 313/2178/5 218/592/5 +f 319/593/8 320/599/8 322/594/8 +f 263/58/8 324/17/8 323/596/8 +f 83/598/2 322/594/2 320/599/2 +f 313/601/2 266/597/2 323/596/2 +f 92/603/1 321/595/1 322/594/1 +f 308/605/3 319/593/3 321/595/3 +f 290/607/8 326/486/8 325/477/8 +f 327/609/8 292/480/8 326/486/8 +f 328/610/8 294/471/8 292/480/8 +f 329/550/8 296/559/8 294/471/8 +f 330/543/8 298/566/8 296/559/8 +f 331/545/8 300/573/8 298/566/8 +f 332/539/8 287/575/8 333/501/8 +f 289/534/8 333/501/8 334/481/8 +f 291/532/8 334/481/8 293/474/8 +f 335/611/8 293/474/8 295/558/8 +f 336/612/8 295/558/8 297/565/8 +f 337/553/8 297/565/8 299/574/8 +f 339/547/8 302/572/8 300/573/8 +f 338/542/8 299/574/8 301/569/8 +f 304/537/8 342/504/8 341/613/8 +f 306/614/8 344/484/8 343/615/8 +f 304/617/8 288/608/8 325/477/8 +f 303/619/8 341/555/8 287/575/8 +f 305/620/8 343/562/8 302/572/8 +f 306/548/8 340/540/8 301/569/8 +f 345/538/8 347/533/8 348/622/8 +f 347/533/8 349/625/8 350/624/8 +f 349/625/8 351/627/8 352/626/8 +f 351/627/8 353/629/8 354/628/8 +f 353/629/8 355/552/8 356/551/8 +f 355/552/8 357/541/8 358/544/8 +f 357/541/8 359/549/8 360/546/8 +f 361/630/8 345/538/8 346/623/8 +f 359/549/8 364/632/8 363/631/8 +f 288/608/3 346/623/3 348/622/3 +f 305/616/1 363/631/1 364/632/1 +f 335/611/2 351/627/2 349/625/2 +f 290/607/3 348/622/3 350/624/3 +f 304/617/3 362/536/3 346/623/3 +f 336/612/2 353/629/2 351/627/2 +f 327/609/3 350/624/3 352/626/3 +f 332/539/2 345/538/2 361/630/2 +f 337/553/2 355/552/2 353/629/2 +f 328/610/3 352/626/3 354/628/3 +f 339/547/3 360/546/3 363/631/3 +f 373/633/3 376/649/3 368/634/3 +f 384/636/1 372/666/1 371/637/1 +f 377/639/2 380/653/2 370/640/2 +f 388/642/5 366/2179/5 365/643/5 +f 375/645/8 366/2179/8 388/642/8 +f 368/634/8 376/649/8 389/647/8 +f 376/649/8 375/645/8 391/646/8 +f 371/650/2 372/666/2 379/651/2 +f 378/652/2 379/651/2 380/653/2 +f 365/654/3 366/2179/3 375/645/3 +f 374/655/3 375/645/3 376/649/3 +f 394/656/6 396/658/6 374/655/6 +f 393/657/6 395/670/6 396/658/6 +f 365/659/5 398/682/5 404/660/5 +f 381/662/6 393/657/6 394/656/6 +f 390/664/8 392/665/8 380/653/8 +f 389/647/8 391/646/8 392/665/8 +f 384/636/8 390/664/8 379/651/8 +f 383/648/8 389/647/8 390/664/8 +f 392/665/8 387/667/8 370/640/8 +f 391/646/8 388/642/8 387/667/8 +f 385/661/2 404/660/2 403/668/2 +f 395/670/6 386/2180/6 385/671/6 +f 370/640/5 387/667/5 386/672/5 +f 387/667/5 388/642/5 385/644/5 +f 368/634/1 383/648/1 382/674/1 +f 383/648/1 384/636/1 381/638/1 +f 382/676/1 399/680/1 400/677/1 +f 394/679/2 402/2181/2 399/680/2 +f 374/681/3 397/687/3 398/682/3 +f 373/683/5 401/688/5 402/684/5 +f 396/686/1 403/2182/1 397/687/1 +f 367/678/3 400/677/3 401/688/3 +f 413/689/3 416/705/3 408/690/3 +f 424/692/1 412/722/1 411/693/1 +f 417/695/2 420/709/2 410/696/2 +f 428/698/5 406/2183/5 405/699/5 +f 415/701/8 406/2183/8 428/698/8 +f 408/690/8 416/705/8 429/703/8 +f 416/705/8 415/701/8 431/702/8 +f 411/706/2 412/722/2 419/707/2 +f 418/708/2 419/707/2 420/709/2 +f 405/710/3 406/2183/3 415/701/3 +f 414/711/3 415/701/3 416/705/3 +f 434/712/6 436/714/6 414/711/6 +f 433/713/6 435/726/6 436/714/6 +f 405/715/5 438/738/5 444/716/5 +f 421/718/6 433/713/6 434/712/6 +f 430/720/8 432/721/8 420/709/8 +f 429/703/8 431/702/8 432/721/8 +f 424/692/8 430/720/8 419/707/8 +f 423/704/8 429/703/8 430/720/8 +f 432/721/8 427/723/8 410/696/8 +f 431/702/8 428/698/8 427/723/8 +f 425/717/2 444/716/2 443/724/2 +f 435/726/6 426/2184/6 425/727/6 +f 410/696/5 427/723/5 426/728/5 +f 427/723/5 428/698/5 425/700/5 +f 408/690/1 423/704/1 422/730/1 +f 423/704/1 424/692/1 421/694/1 +f 422/732/1 439/736/1 440/733/1 +f 434/735/2 442/2185/2 439/736/2 +f 414/737/3 437/743/3 438/738/3 +f 413/739/5 441/744/5 442/740/5 +f 436/742/1 443/2186/1 437/743/1 +f 407/734/3 440/733/3 441/744/3 +f 453/745/3 456/761/3 448/746/3 +f 464/748/1 452/778/1 451/749/1 +f 457/751/2 460/765/2 450/752/2 +f 468/754/5 446/2187/5 445/755/5 +f 455/757/8 446/2187/8 468/754/8 +f 448/746/8 456/761/8 469/759/8 +f 456/761/8 455/757/8 471/758/8 +f 451/762/2 452/778/2 459/763/2 +f 458/764/2 459/763/2 460/765/2 +f 445/766/3 446/2187/3 455/757/3 +f 454/767/3 455/757/3 456/761/3 +f 474/768/6 476/770/6 454/767/6 +f 473/769/6 475/782/6 476/770/6 +f 445/771/5 478/794/5 484/772/5 +f 461/774/6 473/769/6 474/768/6 +f 470/776/8 472/777/8 460/765/8 +f 469/759/8 471/758/8 472/777/8 +f 464/748/8 470/776/8 459/763/8 +f 463/760/8 469/759/8 470/776/8 +f 472/777/8 467/779/8 450/752/8 +f 471/758/8 468/754/8 467/779/8 +f 465/773/2 484/772/2 483/780/2 +f 475/782/6 466/2188/6 465/783/6 +f 450/752/5 467/779/5 466/784/5 +f 467/779/5 468/754/5 465/756/5 +f 448/746/1 463/760/1 462/786/1 +f 463/760/1 464/748/1 461/750/1 +f 462/788/1 479/792/1 480/789/1 +f 474/791/2 482/2189/2 479/792/2 +f 454/793/3 477/799/3 478/794/3 +f 453/795/5 481/800/5 482/796/5 +f 476/798/1 483/2190/1 477/799/1 +f 447/790/3 480/789/3 481/800/3 +f 493/801/3 496/817/3 488/802/3 +f 504/804/1 492/834/1 491/805/1 +f 497/807/2 500/821/2 490/808/2 +f 508/810/5 486/2191/5 485/811/5 +f 495/813/8 486/2191/8 508/810/8 +f 488/802/8 496/817/8 509/815/8 +f 496/817/8 495/813/8 511/814/8 +f 491/818/2 492/834/2 499/819/2 +f 498/820/2 499/819/2 500/821/2 +f 485/822/3 486/2191/3 495/813/3 +f 494/823/3 495/813/3 496/817/3 +f 514/824/6 516/826/6 494/823/6 +f 513/825/6 515/838/6 516/826/6 +f 485/827/5 518/850/5 524/828/5 +f 501/830/6 513/825/6 514/824/6 +f 510/832/8 512/833/8 500/821/8 +f 509/815/8 511/814/8 512/833/8 +f 504/804/8 510/832/8 499/819/8 +f 503/816/8 509/815/8 510/832/8 +f 512/833/8 507/835/8 490/808/8 +f 511/814/8 508/810/8 507/835/8 +f 505/829/2 524/828/2 523/836/2 +f 515/838/6 506/2192/6 505/839/6 +f 490/808/5 507/835/5 506/840/5 +f 507/835/5 508/810/5 505/812/5 +f 488/802/1 503/816/1 502/842/1 +f 503/816/1 504/804/1 501/806/1 +f 502/844/1 519/848/1 520/845/1 +f 514/847/2 522/2193/2 519/848/2 +f 494/849/3 517/855/3 518/850/3 +f 493/851/5 521/856/5 522/852/5 +f 516/854/1 523/2194/1 517/855/1 +f 487/846/3 520/845/3 521/856/3 +f 533/857/3 536/873/3 528/858/3 +f 544/860/1 532/890/1 531/861/1 +f 537/863/2 540/877/2 530/864/2 +f 548/866/5 526/2195/5 525/867/5 +f 535/869/8 526/2195/8 548/866/8 +f 528/858/8 536/873/8 549/871/8 +f 536/873/8 535/869/8 551/870/8 +f 531/874/2 532/890/2 539/875/2 +f 538/876/2 539/875/2 540/877/2 +f 525/878/3 526/2195/3 535/869/3 +f 534/879/3 535/869/3 536/873/3 +f 554/880/6 556/882/6 534/879/6 +f 553/881/6 555/894/6 556/882/6 +f 525/883/5 558/906/5 564/884/5 +f 541/886/6 553/881/6 554/880/6 +f 550/888/8 552/889/8 540/877/8 +f 549/871/8 551/870/8 552/889/8 +f 544/860/8 550/888/8 539/875/8 +f 543/872/8 549/871/8 550/888/8 +f 552/889/8 547/891/8 530/864/8 +f 551/870/8 548/866/8 547/891/8 +f 545/885/2 564/884/2 563/892/2 +f 555/894/6 546/2196/6 545/895/6 +f 530/864/5 547/891/5 546/896/5 +f 547/891/5 548/866/5 545/868/5 +f 528/858/1 543/872/1 542/898/1 +f 543/872/1 544/860/1 541/862/1 +f 542/900/1 559/904/1 560/901/1 +f 554/903/2 562/2197/2 559/904/2 +f 534/905/3 557/911/3 558/906/3 +f 533/907/5 561/912/5 562/908/5 +f 556/910/1 563/2198/1 557/911/1 +f 527/902/3 560/901/3 561/912/3 +f 573/913/3 576/929/3 568/914/3 +f 584/916/1 572/946/1 571/917/1 +f 577/919/2 580/933/2 570/920/2 +f 588/922/5 566/2199/5 565/923/5 +f 575/925/8 566/2199/8 588/922/8 +f 568/914/8 576/929/8 589/927/8 +f 576/929/8 575/925/8 591/926/8 +f 571/930/2 572/946/2 579/931/2 +f 578/932/2 579/931/2 580/933/2 +f 565/934/3 566/2199/3 575/925/3 +f 574/935/3 575/925/3 576/929/3 +f 594/936/6 596/938/6 574/935/6 +f 593/937/6 595/950/6 596/938/6 +f 565/939/5 598/962/5 604/940/5 +f 581/942/6 593/937/6 594/936/6 +f 590/944/8 592/945/8 580/933/8 +f 589/927/8 591/926/8 592/945/8 +f 584/916/8 590/944/8 579/931/8 +f 583/928/8 589/927/8 590/944/8 +f 592/945/8 587/947/8 570/920/8 +f 591/926/8 588/922/8 587/947/8 +f 585/941/2 604/940/2 603/948/2 +f 595/950/6 586/2200/6 585/951/6 +f 570/920/5 587/947/5 586/952/5 +f 587/947/5 588/922/5 585/924/5 +f 568/914/1 583/928/1 582/954/1 +f 583/928/1 584/916/1 581/918/1 +f 582/956/1 599/960/1 600/957/1 +f 594/959/2 602/2201/2 599/960/2 +f 574/961/3 597/967/3 598/962/3 +f 573/963/5 601/968/5 602/964/5 +f 596/966/1 603/2202/1 597/967/1 +f 567/958/3 600/957/3 601/968/3 +f 613/969/3 616/985/3 608/970/3 +f 624/972/1 612/1002/1 611/973/1 +f 617/975/2 620/989/2 610/976/2 +f 628/978/5 606/2203/5 605/979/5 +f 615/981/8 606/2203/8 628/978/8 +f 608/970/8 616/985/8 629/983/8 +f 616/985/8 615/981/8 631/982/8 +f 611/986/2 612/1002/2 619/987/2 +f 618/988/2 619/987/2 620/989/2 +f 605/990/3 606/2203/3 615/981/3 +f 614/991/3 615/981/3 616/985/3 +f 634/992/6 636/994/6 614/991/6 +f 633/993/6 635/1006/6 636/994/6 +f 605/995/5 638/1018/5 644/996/5 +f 621/998/6 633/993/6 634/992/6 +f 630/1000/8 632/1001/8 620/989/8 +f 629/983/8 631/982/8 632/1001/8 +f 624/972/8 630/1000/8 619/987/8 +f 623/984/8 629/983/8 630/1000/8 +f 632/1001/8 627/1003/8 610/976/8 +f 631/982/8 628/978/8 627/1003/8 +f 625/997/2 644/996/2 643/1004/2 +f 635/1006/6 626/2204/6 625/1007/6 +f 610/976/5 627/1003/5 626/1008/5 +f 627/1003/5 628/978/5 625/980/5 +f 608/970/1 623/984/1 622/1010/1 +f 623/984/1 624/972/1 621/974/1 +f 622/1012/1 639/1016/1 640/1013/1 +f 634/1015/2 642/2205/2 639/1016/2 +f 614/1017/3 637/1023/3 638/1018/3 +f 613/1019/5 641/1024/5 642/1020/5 +f 636/1022/1 643/2206/1 637/1023/1 +f 607/1014/3 640/1013/3 641/1024/3 +f 653/1025/3 656/1041/3 648/1026/3 +f 664/1028/1 652/1058/1 651/1029/1 +f 657/1031/2 660/1045/2 650/1032/2 +f 668/1034/5 646/2207/5 645/1035/5 +f 655/1037/8 646/2207/8 668/1034/8 +f 648/1026/8 656/1041/8 669/1039/8 +f 656/1041/8 655/1037/8 671/1038/8 +f 651/1042/2 652/1058/2 659/1043/2 +f 658/1044/2 659/1043/2 660/1045/2 +f 645/1046/3 646/2207/3 655/1037/3 +f 654/1047/3 655/1037/3 656/1041/3 +f 674/1048/6 676/1050/6 654/1047/6 +f 673/1049/6 675/1062/6 676/1050/6 +f 645/1051/5 678/1074/5 684/1052/5 +f 661/1054/6 673/1049/6 674/1048/6 +f 670/1056/8 672/1057/8 660/1045/8 +f 669/1039/8 671/1038/8 672/1057/8 +f 664/1028/8 670/1056/8 659/1043/8 +f 663/1040/8 669/1039/8 670/1056/8 +f 672/1057/8 667/1059/8 650/1032/8 +f 671/1038/8 668/1034/8 667/1059/8 +f 665/1053/2 684/1052/2 683/1060/2 +f 675/1062/6 666/2208/6 665/1063/6 +f 650/1032/5 667/1059/5 666/1064/5 +f 667/1059/5 668/1034/5 665/1036/5 +f 648/1026/1 663/1040/1 662/1066/1 +f 663/1040/1 664/1028/1 661/1030/1 +f 662/1068/1 679/1072/1 680/1069/1 +f 674/1071/2 682/2209/2 679/1072/2 +f 654/1073/3 677/1079/3 678/1074/3 +f 653/1075/5 681/1080/5 682/1076/5 +f 676/1078/1 683/2210/1 677/1079/1 +f 647/1070/3 680/1069/3 681/1080/3 +f 693/1081/3 696/1097/3 688/1082/3 +f 704/1084/1 692/1114/1 691/1085/1 +f 697/1087/2 700/1101/2 690/1088/2 +f 708/1090/5 686/2211/5 685/1091/5 +f 695/1093/8 686/2211/8 708/1090/8 +f 688/1082/8 696/1097/8 709/1095/8 +f 696/1097/8 695/1093/8 711/1094/8 +f 691/1098/2 692/1114/2 699/1099/2 +f 698/1100/2 699/1099/2 700/1101/2 +f 685/1102/3 686/2211/3 695/1093/3 +f 694/1103/3 695/1093/3 696/1097/3 +f 714/1104/6 716/1106/6 694/1103/6 +f 713/1105/6 715/1118/6 716/1106/6 +f 685/1107/5 718/1130/5 724/1108/5 +f 701/1110/6 713/1105/6 714/1104/6 +f 710/1112/8 712/1113/8 700/1101/8 +f 709/1095/8 711/1094/8 712/1113/8 +f 704/1084/8 710/1112/8 699/1099/8 +f 703/1096/8 709/1095/8 710/1112/8 +f 712/1113/8 707/1115/8 690/1088/8 +f 711/1094/8 708/1090/8 707/1115/8 +f 705/1109/2 724/1108/2 723/1116/2 +f 715/1118/6 706/2212/6 705/1119/6 +f 690/1088/5 707/1115/5 706/1120/5 +f 707/1115/5 708/1090/5 705/1092/5 +f 688/1082/1 703/1096/1 702/1122/1 +f 703/1096/1 704/1084/1 701/1086/1 +f 702/1124/1 719/1128/1 720/1125/1 +f 714/1127/2 722/2213/2 719/1128/2 +f 694/1129/3 717/1135/3 718/1130/3 +f 693/1131/5 721/1136/5 722/1132/5 +f 716/1134/1 723/2214/1 717/1135/1 +f 687/1126/3 720/1125/3 721/1136/3 +f 733/1137/3 736/1153/3 728/1138/3 +f 744/1140/1 732/1170/1 731/1141/1 +f 737/1143/2 740/1157/2 730/1144/2 +f 748/1146/5 726/2215/5 725/1147/5 +f 735/1149/8 726/2215/8 748/1146/8 +f 728/1138/8 736/1153/8 749/1151/8 +f 736/1153/8 735/1149/8 751/1150/8 +f 731/1154/2 732/1170/2 739/1155/2 +f 738/1156/2 739/1155/2 740/1157/2 +f 725/1158/3 726/2215/3 735/1149/3 +f 734/1159/3 735/1149/3 736/1153/3 +f 754/1160/6 756/1162/6 734/1159/6 +f 753/1161/6 755/1174/6 756/1162/6 +f 725/1163/5 758/1186/5 764/1164/5 +f 741/1166/6 753/1161/6 754/1160/6 +f 750/1168/8 752/1169/8 740/1157/8 +f 749/1151/8 751/1150/8 752/1169/8 +f 744/1140/8 750/1168/8 739/1155/8 +f 743/1152/8 749/1151/8 750/1168/8 +f 752/1169/8 747/1171/8 730/1144/8 +f 751/1150/8 748/1146/8 747/1171/8 +f 745/1165/2 764/1164/2 763/1172/2 +f 755/1174/6 746/2216/6 745/1175/6 +f 730/1144/5 747/1171/5 746/1176/5 +f 747/1171/5 748/1146/5 745/1148/5 +f 728/1138/1 743/1152/1 742/1178/1 +f 743/1152/1 744/1140/1 741/1142/1 +f 742/1180/1 759/1184/1 760/1181/1 +f 754/1183/2 762/2217/2 759/1184/2 +f 734/1185/3 757/1191/3 758/1186/3 +f 733/1187/5 761/1192/5 762/1188/5 +f 756/1190/1 763/2218/1 757/1191/1 +f 727/1182/3 760/1181/3 761/1192/3 +f 773/1193/3 776/1209/3 768/1194/3 +f 784/1196/1 772/1226/1 771/1197/1 +f 777/1199/2 780/1213/2 770/1200/2 +f 788/1202/5 766/2219/5 765/1203/5 +f 775/1205/8 766/2219/8 788/1202/8 +f 768/1194/8 776/1209/8 789/1207/8 +f 776/1209/8 775/1205/8 791/1206/8 +f 771/1210/2 772/1226/2 779/1211/2 +f 778/1212/2 779/1211/2 780/1213/2 +f 765/1214/3 766/2219/3 775/1205/3 +f 774/1215/3 775/1205/3 776/1209/3 +f 794/1216/6 796/1218/6 774/1215/6 +f 793/1217/6 795/1230/6 796/1218/6 +f 765/1219/5 798/1242/5 804/1220/5 +f 781/1222/6 793/1217/6 794/1216/6 +f 790/1224/8 792/1225/8 780/1213/8 +f 789/1207/8 791/1206/8 792/1225/8 +f 784/1196/8 790/1224/8 779/1211/8 +f 783/1208/8 789/1207/8 790/1224/8 +f 792/1225/8 787/1227/8 770/1200/8 +f 791/1206/8 788/1202/8 787/1227/8 +f 785/1221/2 804/1220/2 803/1228/2 +f 795/1230/6 786/2220/6 785/1231/6 +f 770/1200/5 787/1227/5 786/1232/5 +f 787/1227/5 788/1202/5 785/1204/5 +f 768/1194/1 783/1208/1 782/1234/1 +f 783/1208/1 784/1196/1 781/1198/1 +f 782/1236/1 799/1240/1 800/1237/1 +f 794/1239/2 802/2221/2 799/1240/2 +f 774/1241/3 797/1247/3 798/1242/3 +f 773/1243/5 801/1248/5 802/1244/5 +f 796/1246/1 803/2222/1 797/1247/1 +f 767/1238/3 800/1237/3 801/1248/3 +f 813/1249/2 807/2223/2 808/1250/2 +f 811/1252/1 812/1267/1 824/1253/1 +f 817/1255/3 809/2224/3 810/1256/3 +f 805/1258/5 806/1270/5 828/1259/5 +f 828/1259/8 806/1270/8 815/1261/8 +f 829/1263/8 816/1251/8 808/1250/8 +f 831/1262/8 815/1261/8 816/1251/8 +f 811/1265/3 818/1268/3 819/1266/3 +f 818/1268/3 817/1255/3 820/1257/3 +f 805/1269/2 814/1271/2 815/1261/2 +f 814/1271/2 813/1249/2 816/1251/2 +f 814/1271/6 836/1273/6 834/1272/6 +f 836/1273/6 835/1286/6 833/1274/6 +f 844/1275/5 838/1296/5 805/1276/5 +f 834/1272/6 833/1274/6 821/1278/6 +f 820/1257/8 832/1281/8 830/1280/8 +f 832/1281/8 831/1262/8 829/1263/8 +f 819/1266/8 830/1280/8 824/1253/8 +f 830/1280/8 829/1263/8 823/1264/8 +f 810/1256/8 827/1282/8 832/1281/8 +f 827/1282/8 828/1259/8 831/1262/8 +f 843/1283/3 844/1275/3 825/1277/3 +f 825/1285/6 826/2225/6 835/1286/6 +f 826/1287/5 827/1282/5 810/1256/5 +f 825/1260/5 828/1259/5 827/1282/5 +f 822/1289/1 823/1264/1 808/1250/1 +f 821/1254/1 824/1253/1 823/1264/1 +f 840/1291/1 839/1294/1 822/1292/1 +f 839/1294/3 842/2226/3 834/1295/3 +f 838/1296/2 837/1301/2 814/1297/2 +f 842/1298/5 841/1303/5 813/1299/5 +f 837/1301/1 843/2227/1 836/1302/1 +f 841/1303/2 840/1291/2 807/1293/2 +f 853/1304/2 847/2228/2 848/1305/2 +f 851/1307/1 852/1322/1 864/1308/1 +f 857/1310/3 849/2229/3 850/1311/3 +f 845/1313/5 846/1325/5 868/1314/5 +f 868/1314/8 846/1325/8 855/1316/8 +f 869/1318/8 856/1306/8 848/1305/8 +f 871/1317/8 855/1316/8 856/1306/8 +f 851/1320/3 858/1323/3 859/1321/3 +f 858/1323/3 857/1310/3 860/1312/3 +f 845/1324/2 854/1326/2 855/1316/2 +f 854/1326/2 853/1304/2 856/1306/2 +f 854/1326/6 876/1328/6 874/1327/6 +f 876/1328/6 875/1341/6 873/1329/6 +f 884/1330/5 878/1351/5 845/1331/5 +f 874/1327/6 873/1329/6 861/1333/6 +f 860/1312/8 872/1336/8 870/1335/8 +f 872/1336/8 871/1317/8 869/1318/8 +f 859/1321/8 870/1335/8 864/1308/8 +f 870/1335/8 869/1318/8 863/1319/8 +f 850/1311/8 867/1337/8 872/1336/8 +f 867/1337/8 868/1314/8 871/1317/8 +f 883/1338/3 884/1330/3 865/1332/3 +f 865/1340/6 866/2230/6 875/1341/6 +f 866/1342/5 867/1337/5 850/1311/5 +f 865/1315/5 868/1314/5 867/1337/5 +f 862/1344/1 863/1319/1 848/1305/1 +f 861/1309/1 864/1308/1 863/1319/1 +f 880/1346/1 879/1349/1 862/1347/1 +f 879/1349/3 882/2231/3 874/1350/3 +f 878/1351/2 877/1356/2 854/1352/2 +f 882/1353/5 881/1358/5 853/1354/5 +f 877/1356/1 883/2232/1 876/1357/1 +f 881/1358/2 880/1346/2 847/1348/2 +f 893/1359/2 887/2233/2 888/1360/2 +f 891/1362/1 892/1377/1 904/1363/1 +f 897/1365/3 889/2234/3 890/1366/3 +f 885/1368/5 886/1380/5 908/1369/5 +f 908/1369/8 886/1380/8 895/1371/8 +f 909/1373/8 896/1361/8 888/1360/8 +f 911/1372/8 895/1371/8 896/1361/8 +f 891/1375/3 898/1378/3 899/1376/3 +f 898/1378/3 897/1365/3 900/1367/3 +f 885/1379/2 894/1381/2 895/1371/2 +f 894/1381/2 893/1359/2 896/1361/2 +f 894/1381/6 916/1383/6 914/1382/6 +f 916/1383/6 915/1396/6 913/1384/6 +f 924/1385/5 918/1406/5 885/1386/5 +f 914/1382/6 913/1384/6 901/1388/6 +f 900/1367/8 912/1391/8 910/1390/8 +f 912/1391/8 911/1372/8 909/1373/8 +f 899/1376/8 910/1390/8 904/1363/8 +f 910/1390/8 909/1373/8 903/1374/8 +f 890/1366/8 907/1392/8 912/1391/8 +f 907/1392/8 908/1369/8 911/1372/8 +f 923/1393/3 924/1385/3 905/1387/3 +f 905/1395/6 906/2235/6 915/1396/6 +f 906/1397/5 907/1392/5 890/1366/5 +f 905/1370/5 908/1369/5 907/1392/5 +f 902/1399/1 903/1374/1 888/1360/1 +f 901/1364/1 904/1363/1 903/1374/1 +f 920/1401/1 919/1404/1 902/1402/1 +f 919/1404/3 922/2236/3 914/1405/3 +f 918/1406/2 917/1411/2 894/1407/2 +f 922/1408/5 921/1413/5 893/1409/5 +f 917/1411/1 923/2237/1 916/1412/1 +f 921/1413/2 920/1401/2 887/1403/2 +f 933/1414/2 927/2238/2 928/1415/2 +f 931/1417/1 932/1432/1 944/1418/1 +f 937/1420/3 929/2239/3 930/1421/3 +f 925/1423/5 926/1435/5 948/1424/5 +f 948/1424/8 926/1435/8 935/1426/8 +f 949/1428/8 936/1416/8 928/1415/8 +f 951/1427/8 935/1426/8 936/1416/8 +f 931/1430/3 938/1433/3 939/1431/3 +f 938/1433/3 937/1420/3 940/1422/3 +f 925/1434/2 934/1436/2 935/1426/2 +f 934/1436/2 933/1414/2 936/1416/2 +f 934/1436/6 956/1438/6 954/1437/6 +f 956/1438/6 955/1451/6 953/1439/6 +f 964/1440/5 958/1461/5 925/1441/5 +f 954/1437/6 953/1439/6 941/1443/6 +f 940/1422/8 952/1446/8 950/1445/8 +f 952/1446/8 951/1427/8 949/1428/8 +f 939/1431/8 950/1445/8 944/1418/8 +f 950/1445/8 949/1428/8 943/1429/8 +f 930/1421/8 947/1447/8 952/1446/8 +f 947/1447/8 948/1424/8 951/1427/8 +f 963/1448/3 964/1440/3 945/1442/3 +f 945/1450/6 946/2240/6 955/1451/6 +f 946/1452/5 947/1447/5 930/1421/5 +f 945/1425/5 948/1424/5 947/1447/5 +f 942/1454/1 943/1429/1 928/1415/1 +f 941/1419/1 944/1418/1 943/1429/1 +f 960/1456/1 959/1459/1 942/1457/1 +f 959/1459/3 962/2241/3 954/1460/3 +f 958/1461/2 957/1466/2 934/1462/2 +f 962/1463/5 961/1468/5 933/1464/5 +f 957/1466/1 963/2242/1 956/1467/1 +f 961/1468/2 960/1456/2 927/1458/2 +f 973/1469/2 967/2243/2 968/1470/2 +f 971/1472/1 972/1487/1 984/1473/1 +f 977/1475/3 969/2244/3 970/1476/3 +f 965/1478/5 966/1490/5 988/1479/5 +f 988/1479/8 966/1490/8 975/1481/8 +f 989/1483/8 976/1471/8 968/1470/8 +f 991/1482/8 975/1481/8 976/1471/8 +f 971/1485/3 978/1488/3 979/1486/3 +f 978/1488/3 977/1475/3 980/1477/3 +f 965/1489/2 974/1491/2 975/1481/2 +f 974/1491/2 973/1469/2 976/1471/2 +f 974/1491/6 996/1493/6 994/1492/6 +f 996/1493/6 995/1506/6 993/1494/6 +f 1004/1495/5 998/1516/5 965/1496/5 +f 994/1492/6 993/1494/6 981/1498/6 +f 980/1477/8 992/1501/8 990/1500/8 +f 992/1501/8 991/1482/8 989/1483/8 +f 979/1486/8 990/1500/8 984/1473/8 +f 990/1500/8 989/1483/8 983/1484/8 +f 970/1476/8 987/1502/8 992/1501/8 +f 987/1502/8 988/1479/8 991/1482/8 +f 1003/1503/3 1004/1495/3 985/1497/3 +f 985/1505/6 986/2245/6 995/1506/6 +f 986/1507/5 987/1502/5 970/1476/5 +f 985/1480/5 988/1479/5 987/1502/5 +f 982/1509/1 983/1484/1 968/1470/1 +f 981/1474/1 984/1473/1 983/1484/1 +f 1000/1511/1 999/1514/1 982/1512/1 +f 999/1514/3 1002/2246/3 994/1515/3 +f 998/1516/2 997/1521/2 974/1517/2 +f 1002/1518/5 1001/1523/5 973/1519/5 +f 997/1521/1 1003/2247/1 996/1522/1 +f 1001/1523/2 1000/1511/2 967/1513/2 +f 1013/1524/2 1007/2248/2 1008/1525/2 +f 1011/1527/1 1012/1542/1 1024/1528/1 +f 1017/1530/3 1009/2249/3 1010/1531/3 +f 1005/1533/5 1006/1545/5 1028/1534/5 +f 1028/1534/8 1006/1545/8 1015/1536/8 +f 1029/1538/8 1016/1526/8 1008/1525/8 +f 1031/1537/8 1015/1536/8 1016/1526/8 +f 1011/1540/3 1018/1543/3 1019/1541/3 +f 1018/1543/3 1017/1530/3 1020/1532/3 +f 1005/1544/2 1014/1546/2 1015/1536/2 +f 1014/1546/2 1013/1524/2 1016/1526/2 +f 1014/1546/6 1036/1548/6 1034/1547/6 +f 1036/1548/6 1035/1561/6 1033/1549/6 +f 1044/1550/5 1038/1571/5 1005/1551/5 +f 1034/1547/6 1033/1549/6 1021/1553/6 +f 1020/1532/8 1032/1556/8 1030/1555/8 +f 1032/1556/8 1031/1537/8 1029/1538/8 +f 1019/1541/8 1030/1555/8 1024/1528/8 +f 1030/1555/8 1029/1538/8 1023/1539/8 +f 1010/1531/8 1027/1557/8 1032/1556/8 +f 1027/1557/8 1028/1534/8 1031/1537/8 +f 1043/1558/3 1044/1550/3 1025/1552/3 +f 1025/1560/6 1026/2250/6 1035/1561/6 +f 1026/1562/5 1027/1557/5 1010/1531/5 +f 1025/1535/5 1028/1534/5 1027/1557/5 +f 1022/1564/1 1023/1539/1 1008/1525/1 +f 1021/1529/1 1024/1528/1 1023/1539/1 +f 1040/1566/1 1039/1569/1 1022/1567/1 +f 1039/1569/3 1042/2251/3 1034/1570/3 +f 1038/1571/2 1037/1576/2 1014/1572/2 +f 1042/1573/5 1041/1578/5 1013/1574/5 +f 1037/1576/1 1043/2252/1 1036/1577/1 +f 1041/1578/2 1040/1566/2 1007/1568/2 +f 1053/1579/2 1047/2253/2 1048/1580/2 +f 1051/1582/1 1052/1597/1 1064/1583/1 +f 1057/1585/3 1049/2254/3 1050/1586/3 +f 1045/1588/5 1046/1600/5 1068/1589/5 +f 1068/1589/8 1046/1600/8 1055/1591/8 +f 1069/1593/8 1056/1581/8 1048/1580/8 +f 1071/1592/8 1055/1591/8 1056/1581/8 +f 1051/1595/3 1058/1598/3 1059/1596/3 +f 1058/1598/3 1057/1585/3 1060/1587/3 +f 1045/1599/2 1054/1601/2 1055/1591/2 +f 1054/1601/2 1053/1579/2 1056/1581/2 +f 1054/1601/6 1076/1603/6 1074/1602/6 +f 1076/1603/6 1075/1616/6 1073/1604/6 +f 1084/1605/5 1078/1626/5 1045/1606/5 +f 1074/1602/6 1073/1604/6 1061/1608/6 +f 1060/1587/8 1072/1611/8 1070/1610/8 +f 1072/1611/8 1071/1592/8 1069/1593/8 +f 1059/1596/8 1070/1610/8 1064/1583/8 +f 1070/1610/8 1069/1593/8 1063/1594/8 +f 1050/1586/8 1067/1612/8 1072/1611/8 +f 1067/1612/8 1068/1589/8 1071/1592/8 +f 1083/1613/3 1084/1605/3 1065/1607/3 +f 1065/1615/6 1066/2255/6 1075/1616/6 +f 1066/1617/5 1067/1612/5 1050/1586/5 +f 1065/1590/5 1068/1589/5 1067/1612/5 +f 1062/1619/1 1063/1594/1 1048/1580/1 +f 1061/1584/1 1064/1583/1 1063/1594/1 +f 1080/1621/1 1079/1624/1 1062/1622/1 +f 1079/1624/3 1082/2256/3 1074/1625/3 +f 1078/1626/2 1077/1631/2 1054/1627/2 +f 1082/1628/5 1081/1633/5 1053/1629/5 +f 1077/1631/1 1083/2257/1 1076/1632/1 +f 1081/1633/2 1080/1621/2 1047/1623/2 +f 1093/1634/2 1087/2258/2 1088/1635/2 +f 1091/1637/1 1092/1652/1 1104/1638/1 +f 1097/1640/3 1089/2259/3 1090/1641/3 +f 1085/1643/5 1086/1655/5 1108/1644/5 +f 1108/1644/8 1086/1655/8 1095/1646/8 +f 1109/1648/8 1096/1636/8 1088/1635/8 +f 1111/1647/8 1095/1646/8 1096/1636/8 +f 1091/1650/3 1098/1653/3 1099/1651/3 +f 1098/1653/3 1097/1640/3 1100/1642/3 +f 1085/1654/2 1094/1656/2 1095/1646/2 +f 1094/1656/2 1093/1634/2 1096/1636/2 +f 1094/1656/6 1116/1658/6 1114/1657/6 +f 1116/1658/6 1115/1671/6 1113/1659/6 +f 1124/1660/5 1118/1681/5 1085/1661/5 +f 1114/1657/6 1113/1659/6 1101/1663/6 +f 1100/1642/8 1112/1666/8 1110/1665/8 +f 1112/1666/8 1111/1647/8 1109/1648/8 +f 1099/1651/8 1110/1665/8 1104/1638/8 +f 1110/1665/8 1109/1648/8 1103/1649/8 +f 1090/1641/8 1107/1667/8 1112/1666/8 +f 1107/1667/8 1108/1644/8 1111/1647/8 +f 1123/1668/3 1124/1660/3 1105/1662/3 +f 1105/1670/6 1106/2260/6 1115/1671/6 +f 1106/1672/5 1107/1667/5 1090/1641/5 +f 1105/1645/5 1108/1644/5 1107/1667/5 +f 1102/1674/1 1103/1649/1 1088/1635/1 +f 1101/1639/1 1104/1638/1 1103/1649/1 +f 1120/1676/1 1119/1679/1 1102/1677/1 +f 1119/1679/3 1122/2261/3 1114/1680/3 +f 1118/1681/2 1117/1686/2 1094/1682/2 +f 1122/1683/5 1121/1688/5 1093/1684/5 +f 1117/1686/1 1123/2262/1 1116/1687/1 +f 1121/1688/2 1120/1676/2 1087/1678/2 +f 1133/1689/2 1127/2263/2 1128/1690/2 +f 1131/1692/1 1132/1707/1 1144/1693/1 +f 1137/1695/3 1129/2264/3 1130/1696/3 +f 1125/1698/5 1126/1710/5 1148/1699/5 +f 1148/1699/8 1126/1710/8 1135/1701/8 +f 1149/1703/8 1136/1691/8 1128/1690/8 +f 1151/1702/8 1135/1701/8 1136/1691/8 +f 1131/1705/3 1138/1708/3 1139/1706/3 +f 1138/1708/3 1137/1695/3 1140/1697/3 +f 1125/1709/2 1134/1711/2 1135/1701/2 +f 1134/1711/2 1133/1689/2 1136/1691/2 +f 1134/1711/6 1156/1713/6 1154/1712/6 +f 1156/1713/6 1155/1726/6 1153/1714/6 +f 1164/1715/5 1158/1736/5 1125/1716/5 +f 1154/1712/6 1153/1714/6 1141/1718/6 +f 1140/1697/8 1152/1721/8 1150/1720/8 +f 1152/1721/8 1151/1702/8 1149/1703/8 +f 1139/1706/8 1150/1720/8 1144/1693/8 +f 1150/1720/8 1149/1703/8 1143/1704/8 +f 1130/1696/8 1147/1722/8 1152/1721/8 +f 1147/1722/8 1148/1699/8 1151/1702/8 +f 1163/1723/3 1164/1715/3 1145/1717/3 +f 1145/1725/6 1146/2265/6 1155/1726/6 +f 1146/1727/5 1147/1722/5 1130/1696/5 +f 1145/1700/5 1148/1699/5 1147/1722/5 +f 1142/1729/1 1143/1704/1 1128/1690/1 +f 1141/1694/1 1144/1693/1 1143/1704/1 +f 1160/1731/1 1159/1734/1 1142/1732/1 +f 1159/1734/3 1162/2266/3 1154/1735/3 +f 1158/1736/2 1157/1741/2 1134/1737/2 +f 1162/1738/5 1161/1743/5 1133/1739/5 +f 1157/1741/1 1163/2267/1 1156/1742/1 +f 1161/1743/2 1160/1731/2 1127/1733/2 +f 1173/1744/2 1167/2268/2 1168/1745/2 +f 1171/1747/1 1172/1762/1 1184/1748/1 +f 1177/1750/3 1169/2269/3 1170/1751/3 +f 1165/1753/5 1166/1765/5 1188/1754/5 +f 1188/1754/8 1166/1765/8 1175/1756/8 +f 1189/1758/8 1176/1746/8 1168/1745/8 +f 1191/1757/8 1175/1756/8 1176/1746/8 +f 1171/1760/3 1178/1763/3 1179/1761/3 +f 1178/1763/3 1177/1750/3 1180/1752/3 +f 1165/1764/2 1174/1766/2 1175/1756/2 +f 1174/1766/2 1173/1744/2 1176/1746/2 +f 1174/1766/6 1196/1768/6 1194/1767/6 +f 1196/1768/6 1195/1781/6 1193/1769/6 +f 1204/1770/5 1198/1791/5 1165/1771/5 +f 1194/1767/6 1193/1769/6 1181/1773/6 +f 1180/1752/8 1192/1776/8 1190/1775/8 +f 1192/1776/8 1191/1757/8 1189/1758/8 +f 1179/1761/8 1190/1775/8 1184/1748/8 +f 1190/1775/8 1189/1758/8 1183/1759/8 +f 1170/1751/8 1187/1777/8 1192/1776/8 +f 1187/1777/8 1188/1754/8 1191/1757/8 +f 1203/1778/3 1204/1770/3 1185/1772/3 +f 1185/1780/6 1186/2270/6 1195/1781/6 +f 1186/1782/5 1187/1777/5 1170/1751/5 +f 1185/1755/5 1188/1754/5 1187/1777/5 +f 1182/1784/1 1183/1759/1 1168/1745/1 +f 1181/1749/1 1184/1748/1 1183/1759/1 +f 1200/1786/1 1199/1789/1 1182/1787/1 +f 1199/1789/3 1202/2271/3 1194/1790/3 +f 1198/1791/2 1197/1796/2 1174/1792/2 +f 1202/1793/5 1201/1798/5 1173/1794/5 +f 1197/1796/1 1203/2272/1 1196/1797/1 +f 1201/1798/2 1200/1786/2 1167/1788/2 +f 1213/1799/2 1207/2273/2 1208/1800/2 +f 1211/1802/1 1212/1817/1 1224/1803/1 +f 1217/1805/3 1209/2274/3 1210/1806/3 +f 1205/1808/5 1206/1820/5 1228/1809/5 +f 1228/1809/8 1206/1820/8 1215/1811/8 +f 1229/1813/8 1216/1801/8 1208/1800/8 +f 1231/1812/8 1215/1811/8 1216/1801/8 +f 1211/1815/3 1218/1818/3 1219/1816/3 +f 1218/1818/3 1217/1805/3 1220/1807/3 +f 1205/1819/2 1214/1821/2 1215/1811/2 +f 1214/1821/2 1213/1799/2 1216/1801/2 +f 1214/1821/6 1236/1823/6 1234/1822/6 +f 1236/1823/6 1235/1836/6 1233/1824/6 +f 1244/1825/5 1238/1846/5 1205/1826/5 +f 1234/1822/6 1233/1824/6 1221/1828/6 +f 1220/1807/8 1232/1831/8 1230/1830/8 +f 1232/1831/8 1231/1812/8 1229/1813/8 +f 1219/1816/8 1230/1830/8 1224/1803/8 +f 1230/1830/8 1229/1813/8 1223/1814/8 +f 1210/1806/8 1227/1832/8 1232/1831/8 +f 1227/1832/8 1228/1809/8 1231/1812/8 +f 1243/1833/3 1244/1825/3 1225/1827/3 +f 1225/1835/6 1226/2275/6 1235/1836/6 +f 1226/1837/5 1227/1832/5 1210/1806/5 +f 1225/1810/5 1228/1809/5 1227/1832/5 +f 1222/1839/1 1223/1814/1 1208/1800/1 +f 1221/1804/1 1224/1803/1 1223/1814/1 +f 1240/1841/1 1239/1844/1 1222/1842/1 +f 1239/1844/3 1242/2276/3 1234/1845/3 +f 1238/1846/2 1237/1851/2 1214/1847/2 +f 1242/1848/5 1241/1853/5 1213/1849/5 +f 1237/1851/1 1243/2277/1 1236/1852/1 +f 1241/1853/2 1240/1841/2 1207/1843/2 +f 1245/1854/3 1246/2278/3 1248/1855/3 +f 1248/1857/1 1252/2279/1 1251/1858/1 +f 1252/1860/2 1250/1864/2 1249/1861/2 +f 1251/1858/1 1255/1865/1 1253/1863/1 +f 1248/1855/9 1246/2278/9 1250/1864/9 +f 1255/1865/11 1256/1869/11 1254/1866/11 +f 1253/1863/1 1259/1870/1 1257/1867/1 +f 1251/1868/2 1249/2280/2 1256/1869/2 +f 1259/1870/1 1263/1880/1 1261/1871/1 +f 1247/1856/9 1257/2281/9 1258/1872/9 +f 1254/1866/11 1260/1879/11 1259/1870/11 +f 1261/1873/3 1263/1880/3 1264/1874/3 +f 1262/1876/3 1268/1882/3 1267/1877/3 +f 1260/1879/11 1264/1874/11 1263/1880/11 +f 1265/1881/9 1267/1877/9 1268/1882/9 +f 1261/1871/1 1267/2282/1 1265/1884/1 +f 1258/1872/2 1257/2281/2 1265/1881/2 +f 1269/1885/3 1271/1905/3 1272/1886/3 +f 1275/1888/5 1276/2283/5 1272/1889/5 +f 1273/1891/2 1274/1895/2 1276/1892/2 +f 1277/1894/5 1279/1897/5 1275/1888/5 +f 1274/1895/10 1270/1887/10 1272/1886/10 +f 1278/1896/12 1280/1900/12 1279/1897/12 +f 1281/1898/5 1283/1903/5 1277/1894/5 +f 1275/1899/2 1279/1897/2 1280/1900/2 +f 1285/1902/5 1287/1912/5 1283/1903/5 +f 1282/1904/10 1281/1918/10 1271/1905/10 +f 1283/1903/12 1284/1913/12 1278/1896/12 +f 1288/1906/3 1287/1912/3 1285/1907/3 +f 1291/1909/3 1292/1914/3 1286/1910/3 +f 1287/1912/12 1288/1906/12 1284/1913/12 +f 1292/1914/10 1291/1909/10 1289/1915/10 +f 1289/1917/5 1291/2284/5 1285/1902/5 +f 1282/1904/2 1290/1916/2 1289/1915/2 +f 1294/1919/4 1296/1922/4 1295/1920/4 +f 1296/1922/1 1300/2285/1 1299/1923/1 +f 1297/1924/5 1298/2286/5 1294/1919/5 +f 1299/1925/13 1297/2287/13 1293/1921/13 +f 1296/1922/14 1294/1919/14 1298/1926/14 +f 1302/1928/4 1304/1931/4 1303/1929/4 +f 1304/1931/1 1308/2288/1 1307/1932/1 +f 1305/1933/5 1306/2289/5 1302/1928/5 +f 1307/1934/13 1305/2290/13 1301/1930/13 +f 1304/1931/14 1302/1928/14 1306/1935/14 +f 1310/1937/4 1312/1940/4 1311/1938/4 +f 1312/1940/1 1316/2291/1 1315/1941/1 +f 1313/1942/5 1314/2292/5 1310/1937/5 +f 1315/1943/13 1313/2293/13 1309/1939/13 +f 1312/1940/14 1310/1937/14 1314/1944/14 +f 1318/1946/4 1320/1949/4 1319/1947/4 +f 1320/1949/1 1324/2294/1 1323/1950/1 +f 1321/1951/5 1322/2295/5 1318/1946/5 +f 1323/1952/13 1321/2296/13 1317/1948/13 +f 1320/1949/14 1318/1946/14 1322/1953/14 +f 1326/1955/4 1328/1958/4 1327/1956/4 +f 1328/1958/1 1332/2297/1 1331/1959/1 +f 1329/1960/5 1330/2298/5 1326/1955/5 +f 1331/1961/13 1329/2299/13 1325/1957/13 +f 1328/1958/14 1326/1955/14 1330/1962/14 +f 1335/1964/7 1336/1968/7 1334/1965/7 +f 1335/1964/1 1339/2300/1 1340/1967/1 +f 1337/1969/5 1333/1966/5 1334/1965/5 +f 1333/1966/15 1337/2301/15 1339/1971/15 +f 1338/1972/16 1334/1965/16 1336/1968/16 +f 1343/1974/7 1344/1978/7 1342/1975/7 +f 1343/1974/1 1347/2302/1 1348/1977/1 +f 1345/1979/5 1341/1976/5 1342/1975/5 +f 1341/1976/15 1345/2303/15 1347/1981/15 +f 1346/1982/16 1342/1975/16 1344/1978/16 +f 1351/1984/7 1352/1988/7 1350/1985/7 +f 1351/1984/1 1355/2304/1 1356/1987/1 +f 1353/1989/5 1349/1986/5 1350/1985/5 +f 1349/1986/15 1353/2305/15 1355/1991/15 +f 1354/1992/16 1350/1985/16 1352/1988/16 +f 1359/1994/7 1360/1998/7 1358/1995/7 +f 1359/1994/1 1363/2306/1 1364/1997/1 +f 1361/1999/5 1357/1996/5 1358/1995/5 +f 1357/1996/15 1361/2307/15 1363/2001/15 +f 1362/2002/16 1358/1995/16 1360/1998/16 +f 1367/2004/7 1368/2008/7 1366/2005/7 +f 1367/2004/1 1371/2308/1 1372/2007/1 +f 1369/2009/5 1365/2006/5 1366/2005/5 +f 1365/2006/15 1369/2309/15 1371/2011/15 +f 1370/2012/16 1366/2005/16 1368/2008/16 +f 1376/2014/1 1380/2024/1 1379/2015/1 +f 1378/2017/5 1374/2310/5 1373/2018/5 +f 1382/2020/5 1385/2033/5 1386/2021/5 +f 1376/2027/1 1383/2311/1 1384/2028/1 +f 1386/2036/5 1389/2040/5 1392/2037/5 +f 1383/2041/1 1394/2312/1 1391/2042/1 +f 1398/2043/1 1402/2053/1 1401/2044/1 +f 1400/2046/5 1396/2313/5 1395/2047/5 +f 1404/2049/5 1407/2062/5 1408/2050/5 +f 1398/2056/1 1405/2314/1 1406/2057/1 +f 1408/2065/5 1411/2069/5 1414/2066/5 +f 1405/2070/1 1416/2315/1 1413/2071/1 +f 1420/2072/1 1424/2082/1 1423/2073/1 +f 1422/2075/5 1418/2316/5 1417/2076/5 +f 1426/2078/5 1429/2091/5 1430/2079/5 +f 1420/2085/1 1427/2317/1 1428/2086/1 +f 1430/2094/5 1433/2098/5 1436/2095/5 +f 1427/2099/1 1438/2318/1 1435/2100/1 +f 1442/2101/1 1446/2111/1 1445/2102/1 +f 1444/2104/5 1440/2319/5 1439/2105/5 +f 1448/2107/5 1451/2120/5 1452/2108/5 +f 1442/2114/1 1449/2320/1 1450/2115/1 +f 1452/2123/5 1455/2127/5 1458/2124/5 +f 1449/2128/1 1460/2321/1 1457/2129/1 +f 1464/2130/1 1468/2140/1 1467/2131/1 +f 1466/2133/5 1462/2322/5 1461/2134/5 +f 1470/2136/5 1473/2149/5 1474/2137/5 +f 1464/2143/1 1471/2323/1 1472/2144/1 +f 1474/2152/5 1477/2156/5 1480/2153/5 +f 1471/2157/1 1482/2324/1 1479/2158/1 s 1 -f 5/5/11 3/697/12 6/6/13 -f 9/604/14 4/4/15 2/2/16 -f 9/10/14 8/9/17 7/8/18 -f 10/18/19 12/606/20 8/16/17 -f 5/5/11 14/698/21 1/699/22 -f 16/26/23 377/607/24 13/24/25 -f 15/21/26 13/15/25 12/14/20 -f 11/17/27 18/700/28 14/698/21 -f 24/33/11 22/701/12 25/34/13 -f 28/608/14 23/32/15 21/30/16 -f 28/38/14 27/37/17 26/36/18 -f 29/46/19 31/610/29 27/44/17 -f 24/33/11 33/702/21 20/703/22 -f 35/54/23 378/611/24 32/52/25 -f 34/49/30 32/43/25 31/42/29 -f 30/45/27 37/704/28 33/702/21 -f 43/61/11 41/705/12 44/62/13 -f 47/612/14 42/60/15 40/58/16 -f 47/66/14 46/65/17 45/64/18 -f 48/74/19 50/614/29 46/72/17 -f 43/61/11 52/706/31 39/707/22 -f 54/82/23 379/615/24 51/80/25 -f 53/77/32 51/71/25 50/70/29 -f 49/73/33 56/708/28 52/706/31 -f 62/89/11 60/709/12 63/90/13 -f 66/616/14 61/88/15 59/86/16 -f 66/94/14 65/93/17 64/92/34 -f 67/102/19 69/618/20 65/100/17 -f 62/89/11 71/710/21 58/711/22 -f 73/110/23 380/619/24 70/108/25 -f 72/105/26 70/99/25 69/98/20 -f 68/101/27 75/712/28 71/710/21 -f 5/5/11 1/699/22 3/697/12 -f 9/604/14 7/605/18 4/4/15 -f 9/10/14 10/12/19 8/9/17 -f 10/18/19 15/20/26 12/606/20 -f 5/5/11 11/17/27 14/698/21 -f 16/26/23 19/28/35 377/607/24 -f 15/21/26 16/23/23 13/15/25 -f 11/17/27 17/25/36 18/700/28 -f 24/33/11 20/703/22 22/701/12 -f 28/608/14 26/609/18 23/32/15 -f 28/38/14 29/40/19 27/37/17 -f 29/46/19 34/48/30 31/610/29 -f 24/33/11 30/45/27 33/702/21 -f 35/54/23 38/56/35 378/611/24 -f 34/49/30 35/51/23 32/43/25 -f 30/45/27 36/53/36 37/704/28 -f 43/61/11 39/707/22 41/705/12 -f 47/612/14 45/613/18 42/60/15 -f 47/66/14 48/68/19 46/65/17 -f 48/74/19 53/76/32 50/614/29 -f 43/61/11 49/73/33 52/706/31 -f 54/82/23 57/84/35 379/615/24 -f 53/77/32 54/79/23 51/71/25 -f 49/73/33 55/81/36 56/708/28 -f 62/89/11 58/711/22 60/709/12 -f 66/616/14 64/617/34 61/88/15 -f 66/94/14 67/96/19 65/93/17 -f 67/102/19 72/104/26 69/618/20 -f 62/89/11 68/101/27 71/710/21 -f 73/110/23 76/112/35 380/619/24 -f 72/105/26 73/107/23 70/99/25 -f 68/101/27 74/109/36 75/712/28 +f 1374/2310/17 1375/2325/18 1373/2018/19 +f 1380/2024/20 1377/2019/21 1379/2015/22 +f 1380/2024/20 1382/2020/23 1378/2017/24 +f 1384/2028/25 1388/2034/26 1385/2033/27 +f 1381/2026/28 1385/2033/27 1382/2020/23 +f 1374/2022/17 1383/2326/29 1376/2327/30 +f 1387/2029/31 1389/2040/32 1388/2034/26 +f 1386/2036/33 1394/2328/34 1383/2329/29 +f 1390/2031/35 1392/2037/36 1389/2040/32 +f 1396/2313/17 1397/2330/18 1395/2047/19 +f 1402/2053/20 1399/2048/21 1401/2044/22 +f 1402/2053/20 1404/2049/23 1400/2046/24 +f 1406/2057/25 1410/2063/26 1407/2062/27 +f 1403/2055/28 1407/2062/27 1404/2049/23 +f 1396/2051/17 1405/2331/29 1398/2332/30 +f 1409/2058/31 1411/2069/32 1410/2063/26 +f 1408/2065/33 1416/2333/34 1405/2334/29 +f 1412/2060/35 1414/2066/36 1411/2069/32 +f 1418/2316/17 1419/2335/18 1417/2076/19 +f 1424/2082/20 1421/2077/21 1423/2073/22 +f 1424/2082/20 1426/2078/23 1422/2075/24 +f 1428/2086/25 1432/2092/26 1429/2091/27 +f 1425/2084/28 1429/2091/27 1426/2078/23 +f 1418/2080/17 1427/2336/29 1420/2337/30 +f 1431/2087/31 1433/2098/32 1432/2092/26 +f 1430/2094/33 1438/2338/34 1427/2339/29 +f 1434/2089/35 1436/2095/36 1433/2098/32 +f 1440/2319/17 1441/2340/18 1439/2105/19 +f 1446/2111/20 1443/2106/21 1445/2102/22 +f 1446/2111/20 1448/2107/23 1444/2104/24 +f 1450/2115/25 1454/2121/26 1451/2120/27 +f 1447/2113/28 1451/2120/27 1448/2107/23 +f 1440/2109/17 1449/2341/29 1442/2342/30 +f 1453/2116/31 1455/2127/32 1454/2121/26 +f 1452/2123/33 1460/2343/34 1449/2344/29 +f 1456/2118/35 1458/2124/36 1455/2127/32 +f 1462/2322/17 1463/2345/18 1461/2134/19 +f 1468/2140/20 1465/2135/21 1467/2131/22 +f 1468/2140/20 1470/2136/23 1466/2133/24 +f 1472/2144/25 1476/2150/26 1473/2149/27 +f 1469/2142/28 1473/2149/27 1470/2136/23 +f 1462/2138/17 1471/2346/29 1464/2347/30 +f 1475/2145/31 1477/2156/32 1476/2150/26 +f 1474/2152/33 1482/2348/34 1471/2349/29 +f 1478/2147/35 1480/2153/36 1477/2156/32 +f 1374/2310/17 1376/2350/30 1375/2325/18 +f 1380/2024/20 1378/2017/24 1377/2019/21 +f 1380/2024/20 1381/2026/28 1382/2020/23 +f 1384/2028/25 1387/2029/31 1388/2034/26 +f 1381/2026/28 1384/2028/25 1385/2033/27 +f 1374/2022/17 1386/2021/33 1383/2326/29 +f 1387/2029/31 1390/2031/35 1389/2040/32 +f 1386/2036/33 1393/2038/37 1394/2328/34 +f 1390/2031/35 1391/2042/38 1392/2037/36 +f 1396/2313/17 1398/2351/30 1397/2330/18 +f 1402/2053/20 1400/2046/24 1399/2048/21 +f 1402/2053/20 1403/2055/28 1404/2049/23 +f 1406/2057/25 1409/2058/31 1410/2063/26 +f 1403/2055/28 1406/2057/25 1407/2062/27 +f 1396/2051/17 1408/2050/33 1405/2331/29 +f 1409/2058/31 1412/2060/35 1411/2069/32 +f 1408/2065/33 1415/2067/37 1416/2333/34 +f 1412/2060/35 1413/2071/38 1414/2066/36 +f 1418/2316/17 1420/2352/30 1419/2335/18 +f 1424/2082/20 1422/2075/24 1421/2077/21 +f 1424/2082/20 1425/2084/28 1426/2078/23 +f 1428/2086/25 1431/2087/31 1432/2092/26 +f 1425/2084/28 1428/2086/25 1429/2091/27 +f 1418/2080/17 1430/2079/33 1427/2336/29 +f 1431/2087/31 1434/2089/35 1433/2098/32 +f 1430/2094/33 1437/2096/37 1438/2338/34 +f 1434/2089/35 1435/2100/38 1436/2095/36 +f 1440/2319/17 1442/2353/30 1441/2340/18 +f 1446/2111/20 1444/2104/24 1443/2106/21 +f 1446/2111/20 1447/2113/28 1448/2107/23 +f 1450/2115/25 1453/2116/31 1454/2121/26 +f 1447/2113/28 1450/2115/25 1451/2120/27 +f 1440/2109/17 1452/2108/33 1449/2341/29 +f 1453/2116/31 1456/2118/35 1455/2127/32 +f 1452/2123/33 1459/2125/37 1460/2343/34 +f 1456/2118/35 1457/2129/38 1458/2124/36 +f 1462/2322/17 1464/2354/30 1463/2345/18 +f 1468/2140/20 1466/2133/24 1465/2135/21 +f 1468/2140/20 1469/2142/28 1470/2136/23 +f 1472/2144/25 1475/2145/31 1476/2150/26 +f 1469/2142/28 1472/2144/25 1473/2149/27 +f 1462/2138/17 1474/2137/33 1471/2346/29 +f 1475/2145/31 1478/2147/35 1477/2156/32 +f 1474/2152/33 1481/2154/37 1482/2348/34 +f 1478/2147/35 1479/2158/38 1480/2153/36 diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_compressor.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_compressor.png new file mode 100644 index 0000000000000000000000000000000000000000..e5b80132b0bfac3f4073c92b22d4609e1b36a4a7 GIT binary patch literal 3119 zcmb_ec|6o>7k_4qB{eaVU9uITWwM7d2}4;UQHipXD2!y8(Q--RhDb)^jULn&%LA?#Ni)OdXQk*$)cH}h zU8vz~Qms8B^M3dcac7aI_^u-f6CuRjAT+GX4~I&EX|%G$AsqFev15-_(BiOi!e^uW@>7xyLn^I zO$1|dvTcQLr?JW7#EDEuCi4T=?PMa&JlC#xG}=Td=;_ddubK;7sZX><&7L#@b7T{J@Jol;J^qL*eQWre zH+_ld7sC~i^`6f!OdOgr9BEu@n|xc$=puyFnD6Uu&G+)fFO%cqJl+>fem!OoEe;s- zp;>{)g{r#dE&azcqI^3_*MFqM#70j#X{?jER@8>a=TM%z0TB4WH{c3DdfCNOElZX z7FREe^{tzH8dw_U=3KRLE07vHvjt0E1(v*0*w$@KK69U!(Kupm(a2{!e_+6PcYaMk z>QGR%cr>ZkRH{oKPSNc*i zry=^MO^FMs_Zoj5AJ5T!_JVy@F{@5HDZ41h2c!ix#J zdRc)8w@=ek2YMfXg55#VBiNmPiOjuXkrQZfW(@h1{VjAuYvBK(AIL=UxExhYxboN+ zaRZ=N8Um(hWHzIn=_TMsRM{4=jq97msHuYr*y@N@B~yBP&*(#Co%;9MnaL98@$cP` zD)+vY-TbD2Wq!#GYPG}Dmgl)k#ie%e{lC(s71hDxd@su&q&L0OoMq77YHu1Is-CEk z1~!BMMMb7xcvNGT5s$I1Sj3wpMvBUE+@F1W^H_gT2wX#M-N0!R_`vE=lbcJ}qUSXz zgR>q?M@oxEzb*Blas6vEpf?=??2A=tCxtPE)gnJO=}wp`;w8*zk0(sLHuY?e9o}A+q{FhEi--96_-uA#ZkfS(gD|3uDlBNa{7U{;vlcC9p;O zKgfEcfIV{QrQkmEAj5^^`7aS~>v*J!%mtiRbF1-C3&iGa1SY!3)`Ocgz=&{>P3D+E z;e%Iv3v_2sEb4tU3Fts94IVv;Vs>KSm`$!oZ=dlvHV5jco{pF6XP)eG5~AwqvXzTY*kb;b&gaI__7Q3}@%7^SJ z6{D|UN7!=H`th6S9g>hkCz?q~SPn}N_%yDf(9lt9(k~kfh$1~`CUhjXP#{ZCW>8=* zkgE#K{VLRDcgJ|Mf_JhATp`Iw3x_OtrQf{L(+o`yhU40j*DtdPB?)8;i$C<~vdl6* zMKHWdpa`59eaD1Qr^TvlFb2eBy^n6F!4S`o3rLliM)N-Vo8ndOke)`@(-}2Uge*N6 zw9P6zX?Zf;3__l2?DIP=0~*v}HLDXopA1)`TRt5!xJ0Pz z&nzrdKOB2SA9`ELnl$Ol?&Y7u1G)UtwFwa`S?ZP=wRzB-|&B%oR0LJ5@Q)u5;?Ei2ER0ZuS?%?zo? zDZdHo3|F5k-J?k?x2`mTNS?p^#-yp-oOj_H+$UJDtN6n@Uykdu(sPN6;rBqd(mm}9 z11D)h*u`=UV!4&hf$Q=*Kt2Bwp*C|-ynXLf32Mr43)&Zwf1kkdE11WVFNVx^TuQuR+ z%sZBv4nVJQP($L(Oz2)?;{v6@?ZdPOhjUVg4%9s$Z)|9646RKZ9`^iU+Zg@mMbq}b z75lHQe$IlO4GVkAW>?Hx2PWY^J|5tbX1$rMVmBIO!O3#{7u(jjyrsZOcjsIlW%z8D+PwH-n z>Li!{Fu&ueSX(KzcKo2})X~J#5@qln2!<00|KC1;GyNaMbCG8K&nw}q>p1W@f#StV16EF;R$Yl&lHCYW3OPc5_S!$N c>GT$emih-j-?Tm6^?Nv5D+kL83-8PS1{QpNxc~qF literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_electrolyser_fluid.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_electrolyser_fluid.png new file mode 100644 index 0000000000000000000000000000000000000000..32b6d976e04ce0678c30d159a2cfdae5e8eb0701 GIT binary patch literal 3941 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_electrolyser_metal.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_electrolyser_metal.png new file mode 100644 index 0000000000000000000000000000000000000000..9c16575363dd0795125335cfb4397c9bb4ace475 GIT binary patch literal 4062 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/machines/compressor.png b/src/main/resources/assets/hbm/textures/models/machines/compressor.png index 64e95a024e129fbba8570aa321ae20db24c0a209..af84d82fd7c4a0ac20022cb0fedf303b0dfd56a2 100644 GIT binary patch literal 3463 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 literal 2131 zcmZ`*dpuNm8=sLFR!p`KVJKG8#@Z5Im%+#-mvu>$K`NFAVPuT)+RD9Y+u5X%S#Pe% z492A}Gc0mnTkbP-@VbR@$#rOE_H@ttc{_icbDr~gF2C>Z`+c6@NpiG5xl3GL90Gyt zvbM5tf6c05SX~N1=1xdlQUcztkAkobaBwM z!e<0s*E9;xQ61Ysk)UFfh1i1YHnc-7wk>Y7$91D=NanC6CBjT+Rc#Cv%=S(R(q z05&}#n8;Ru`U5J=&mu#>JE3cMSvplCpJc(Cfm&aA~+p_rdOaSKWAoZ#z%dMlJnk`iU1KCW%E_!Jvyzqi8x6 zp6AZ(p`*=b5tIfMDY~gp4rS2(YS@O2>`ywz$~tkk;~-{2LNGBH;vnLkk*B}U)oo*W zEn2gD<%9!|TS{$kM1HRKMe#=rNmUlPp3>(?7XLB>n9h~l)Z$nFELXruzQsl>S6#yn zx&0R@wpSSb2#pL^4qS&M79iprdE#T~p#%UgzrGRD0sD`EN*(jK@&1TgY2RBV9IB-+Sac10~wYN~OpT%r>*!Z7!@`I%4>o3z!ebn&K|t_bw{ zBR4pkCLJW7)w>ZoyVlHK>%!3K!)UV0o}noJ2Mu|uijFI92qsd1Ah9T0l#QR}YJS@7 z-eyE)Go;#vw{c5H>`7kyM>1S+66fdpW+R@LaoXG4aS^%6F94GV=)J}~y4 zz6**L7iDE-U8$>QiceQg9mx6rZrftMZn)qa+Kh8KM*E89e|<7cj+o$^+HG5P-|T8} z*M@RH#5jv}uK|raLtWr;sfJ2^kDJM4vfiQG9?^BO5?3G!axT4HvTr4nJu{2AH5^c3 zFmo+((r)JmF@GU0Fs5MBAhC0GBOw6GOv%+>VM;apkM=>ybq#h3zN;pOL**X|^%Ing*7VCoh*;f6e=ZwiLLuL5;= zTRh&!IkR;k@ZmEp5zN~Uao)z8jKXS}dV@qmFm{n=cIZ;W+n9~Z3`I%1?o$kPi#roNHUp z?vF~WOm&SJv2%w-!B*(so)@#Ku9h14*BK3dB`}N`~GuS3!Hisg3y?d2C*?H5E zB&U}Qfyt{*Ms=AL7#)6x<%cS2Mn`ywF5m&9!}@QgEf)j{W%>Pmr_r7R3bF+@Ac9n6 z$lv$*3GBUAc-P%1-`#A2iCr@ecT+sxeXG!pn}2))^R#mzj09?3-#%E-LV~ud1Vuk! zuWS~Wk76}pk}PLnj-<`?+w@^7ddNZRkqY7G@j zVTuoKuH;#_%3Y5e(YX9_(KA34Sj31NBV@*n{1K#?&>UMnkTr2)O$SDk+pdxpEs=-Q zKhL*$D~BR&AD50*`Xii!Ecu!Ux8@qfQq7$)~3Cj8yjPfjc381aWs|*IC<{ z!>6o4by|ugs%8C}KHw)u0uKp}5#nx)IywySk$9``vV|Qocw5)e^>89(783lfp+64R z&m)h6Q?%d)H2%qxtu9+j=?|@g{sf|=i#FcrsQBcLxZtUk?rbB|xlE_7)T~@A!WJO31#_ diff --git a/src/main/resources/assets/hbm/textures/models/machines/electrolyser.png b/src/main/resources/assets/hbm/textures/models/machines/electrolyser.png index 09c84e5ee8dbd9b7f714fb5e8e8c7d3328fd0787..cc54a462239c739f94463b8ea1584e590f8cfed5 100644 GIT binary patch literal 95595 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

    tuHo3e>dcS7tk;2YZKK+;C=6V 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 literal 17310 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 diff --git a/src/main/resources/assets/hbm/textures/models/projectiles/himars_single_lava.png b/src/main/resources/assets/hbm/textures/models/projectiles/himars_single_lava.png new file mode 100644 index 0000000000000000000000000000000000000000..f0b6691690e58720c25ce1cdff28356002008ff4 GIT binary patch literal 1547 zcmeAS@N?(olHy`uVBq!ia0vp^0YJQmgAGW&pRO4Kq*#ibJVQ8upoSx*gMoqdkf)1d zNX4ADbN1%l4wGn$my??`X(@}>vIEYy6_a;u<=A9yeo^`bYl&C;ffpC*X#uk-HmmYtw`NQXXvGV_?Of$Kto_0Ak zXa4pDm-{cgb${_K`On?T{`K>IR^NQL`?Kc0-!BhoZa(+(`}xhg-@U*2+PrV?>r=5Ri(3Y?NYrfKPn!&diAPqB}3Zzv&%OvDCM*%;SFJ0uX$;EXQ*aQEYnS?2r<YCf)uq!63p)NV`#Gt+zrjbGHc7_TL8%Ce+H`uxiw4UE=iQPx0yu zpbNe>&R%kMv6RQ9T`beqHolLy+k2J0?&s(COa0oX`aO7YGP-Bpp4ccmk@x48SKqx? zaUwNCpHs%Rvisir`1i@d*_GvXcV8aKzA5$NdjJ2k({}&e@#XogXx=qioxlC=C{142 zZdj;Rmv6e^70Wv><>!Y=CzkVgsTahB$sT=KlW=%Nt$f6{_<5<>3f^ypBfbXCSo)1q z$NQ$#i~GN~UOAII@s|3AcU$xtS2gl3HsrkXHDis`4TG%t2acNLdQZ;+X=ggU2q+Xa z-Qntiwu`%1R)Ac`+-n3qS4NL<*ZE|}0pK9mY{o4`x$gJ|Rit7xOj>|le z(+(EOL_Ag~i2afGRWxg@=CfT7LrZ>}@85hEq-?RqF^w+4W17n{t%P4lHy==YQ7LA- z{+3_v<7?kbrKkAS|6Km*w#qxD_m@o$6-YfUo}=Iutdhxg-Qq*fLC;4@XFt6PS$br# z*`?Pi?~HQX1A88t99y2*lPIF-lgGlg&T-PS*OKbuQCAD>e)*&XCLLVH>^4J%Z{LAZ?caRv)*U(7p=Mt@_hn!B{ASJh;@-`7*rUX2?emwc zo-ZMAZtz`{&f^q)cxSFVdQ&MBb@0H9P*i)oJdk zCz?#8S6#B&Bz&E>`;=PY=j7*SZ%qDRH%T>m+wsNj_s`TAPm6t39u<6ExBL05N4uB3 zIQHU4NY>u8njFi<8-5Dgik0uL-6u0Q#Ay1@FHcuj{J(vB_0sEeYyN~pg@;*wzFeFZ zHqYx;v%c(A%?E>EY+Oy4O zhP7XJP-Ecd)n8{7|F)XsdP`@gdxDYf&2L{LJtwbPqx9V_U^~Z~@~F#o%T4cosawjF zy*EuKr_4TEQtRWL-EKQp9{FD<@-3#=FDY!|E$)!H?7!AYdf!oz+UlSDNns~jg0=a| z_gC$hK1-FD#d=(fTktMJKj8b$4|`RFPIg}U@aAr~M&Z@o*5(sOFNA&C(B5yW`c$m* zn{Pz9nA-z8w=S(ytA6jPU9R(K{rPSs{Zl8l`%Ysi4Ufn=b^DXF)osuJ^Ae{=NM_xx zI-B`+rHx?UAp;Q(r$&XH`srV-*S>tPX5)uBPgy=aI{bX@tXEI<3JR`GIQ%?((v%F# z#vki6n>BrrenUurhj5>Yo69F9wTElx?4I}M$Kz8wU!PRjqq}It4S4x zTi!4A-oJO_pCa3x^H_q`-V& z?ukr`(`M(KQ&O6i=&?8HRN!K@uU(qc5=BBze_fMvXjPiPNjrVZ4K|xrD=9r{7v0FC zYqq20*^v% SU^6hgFnGH9xvX Date: Sun, 18 Jun 2023 14:30:51 -0700 Subject: [PATCH 190/285] Moved book lores to NBT, so much better --- .../com/hbm/inventory/gui/GUIBookLore.java | 35 ++++++++++---- .../com/hbm/items/special/ItemBookLore.java | 43 ++++++++++++++---- .../java/com/hbm/items/tool/ItemWandD.java | 23 +++++++++- .../assets/hbm/textures/items/book_cover.png | Bin 244 -> 244 bytes 4 files changed, 83 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/hbm/inventory/gui/GUIBookLore.java b/src/main/java/com/hbm/inventory/gui/GUIBookLore.java index 223f49130..ed9779e8c 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIBookLore.java +++ b/src/main/java/com/hbm/inventory/gui/GUIBookLore.java @@ -27,7 +27,7 @@ public class GUIBookLore extends GuiScreen { protected static int sizeX = 272; protected static int sizeY = 182; - protected BookLoreType type; + protected String key; protected NBTTagCompound tag; //judgement @@ -39,19 +39,19 @@ public class GUIBookLore extends GuiScreen { public GUIBookLore(EntityPlayer player) { ItemStack stack = player.getHeldItem(); if(!stack.hasTagCompound()) return; - this.type = BookLoreType.getTypeFromStack(stack); - - if(type == null) return; this.tag = stack.getTagCompound(); + this.key = tag.getString("k"); + if(key.isEmpty()) return; + this.color = tag.getInteger("cov_col"); if(color <= 0) color = 0x303030; - this.maxPage = (int)Math.ceil(type.pages / 2D) - 1; + this.maxPage = (int)Math.ceil(tag.getInteger("p") / 2D) - 1; } @Override public void initGui() { - if(type == null) this.mc.thePlayer.closeScreen(); + if(key == null || key.isEmpty()) this.mc.thePlayer.closeScreen(); this.guiLeft = (this.width - this.sizeX) / 2; this.guiTop = (this.height - this.sizeY) / 2; } @@ -93,13 +93,30 @@ public class GUIBookLore extends GuiScreen { } protected void drawGuiContainerForegroundLayer(int x, int y) { - String key = "book_lore." + type.keyI18n + ".page."; + String k = "book_lore." + key + ".page."; for(int i = 0; i < 2; i++) { int defacto = this.page * 2 + i; //TODO: force i18n to index from 0 instead of 1 - if(defacto < this.type.pages) { - String text = I18nUtil.resolveKey(key + defacto); //TODO tag-based argument formatting + if(defacto < tag.getInteger("p")) { + String text; + NBTTagCompound argTag = tag.getCompoundTag("p" + defacto); + + if(argTag.hasNoTags()) + text = I18nUtil.resolveKey(k + defacto); + else { + List args = new ArrayList(); + int index = 1; + String arg = argTag.getString("a1"); + + while(!arg.isEmpty()) { + args.add(arg); + index++; + arg = argTag.getString("a" + index); + } + + text = I18nUtil.resolveKey(k + defacto, args.toArray()); + } float scale = 1; int width = 100; diff --git a/src/main/java/com/hbm/items/special/ItemBookLore.java b/src/main/java/com/hbm/items/special/ItemBookLore.java index 805b5c7c1..dfdf39c70 100644 --- a/src/main/java/com/hbm/items/special/ItemBookLore.java +++ b/src/main/java/com/hbm/items/special/ItemBookLore.java @@ -2,7 +2,10 @@ package com.hbm.items.special; import java.util.List; +import org.apache.commons.lang3.math.NumberUtils; + import com.hbm.inventory.gui.GUIBookLore; +import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; @@ -41,20 +44,22 @@ public class ItemBookLore extends Item implements IGUIProvider { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { - BookLoreType type = BookLoreType.getTypeFromStack(stack); + if(!stack.hasTagCompound()) return; + String key = stack.stackTagCompound.getString("k"); + if(key.isEmpty()) return; - if(type.hasAuthor) { - String unloc = I18nUtil.resolveKey("book_lore.author", I18nUtil.resolveKey("book_lore." + type.keyI18n + ".author")); - - list.add(unloc); - } + key = "book_lore." + key + ".author"; + String loc = I18nUtil.resolveKey(key); + + list.add(I18nUtil.resolveKey("book_lore.author", loc)); } @Override public String getUnlocalizedName(ItemStack stack) { - BookLoreType type = BookLoreType.getTypeFromStack(stack); + if(!stack.hasTagCompound()) return "book_lore.test"; + String key = stack.stackTagCompound.getString("k"); - return "book_lore." + type.keyI18n; + return "book_lore." + (key.isEmpty() ? "test" : key); } //Textures @@ -116,6 +121,28 @@ public class ItemBookLore extends Item implements IGUIProvider { return new GUIBookLore(player); } + public static ItemStack createBook(String key, int pages, int colorCov, int colorTit) { + ItemStack book = new ItemStack(ModItems.book_lore); + NBTTagCompound tag = new NBTTagCompound(); + tag.setString("k", key); + tag.setShort("p", (short)pages); + tag.setInteger("cov_col", colorCov); + tag.setInteger("tit_col", colorTit); + + book.stackTagCompound = tag; + return book; + } + + public static void addArgs(ItemStack book, int page, String... args) { + if(!book.hasTagCompound()) return; + NBTTagCompound data = new NBTTagCompound(); + for(int i = 0; i < args.length; i++) { + data.setString("a" + (i + 1), args[i]); + } + + book.stackTagCompound.setTag("p" + page, data); + } + //TODO remove this and fix any references public enum BookLoreType { TEST(true, "test", 5), BOOK_IODINE(true, "book_iodine", 3) { diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index 4c80ccab4..7c5d8b9bd 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -2,8 +2,11 @@ package com.hbm.items.tool; import java.util.List; +import com.hbm.crafting.handlers.MKUCraftingHandler; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; +import com.hbm.items.ModItems; +import com.hbm.items.special.ItemBookLore; import com.hbm.lib.Library; import net.minecraft.entity.player.EntityPlayer; @@ -32,7 +35,25 @@ public class ItemWandD extends Item { vnt.setSFX(new ExplosionEffectStandard()); vnt.explode();*/ - PollutionHandler.incrementPollution(world, pos.blockX, pos.blockY, pos.blockZ, PollutionType.SOOT, 15); + MKUCraftingHandler.generateRecipe(world); + ItemStack[] recipe = MKUCraftingHandler.MKURecipe; + + if(recipe == null) //take no chances + return stack; + + int r = 0; + for(int i = 0; i < 9; i++) { + if(recipe[i] != null && recipe[i].getItem() == ModItems.powder_iodine) { + r = i + 1; + } + } + + ItemStack book = ItemBookLore.createBook("book_iodine", 3, 0x4C407A, 0xFFF7C1); + ItemBookLore.addArgs(book, 2, String.valueOf(r)); + player.inventory.addItemStackToInventory(book); + player.inventoryContainer.detectAndSendChanges(); + + //PollutionHandler.incrementPollution(world, pos.blockX, pos.blockY, pos.blockZ, PollutionType.SOOT, 15); /*TimeAnalyzer.startCount("setBlock"); world.setBlock(pos.blockX, pos.blockY, pos.blockZ, Blocks.dirt); diff --git a/src/main/resources/assets/hbm/textures/items/book_cover.png b/src/main/resources/assets/hbm/textures/items/book_cover.png index c073dfceda017919d8407bdab6cc2cfb8d2ceb6b..81dfcd45d21ee5b3d2185e0baa06b572c110a9e4 100644 GIT binary patch delta 32 ocmeyu_=RzTn^;dz&;S4bZ``=Cbm`L4(ozNnh7g&g#ECI803U1+1^@s6 delta 32 qcmV+*0N?-g0rUZoMi#%nzyJUL?d|Q+(b2H5umAu6n47vBkzANZv=Zq6 From 9183ea7d32abc528249b27344e4ccd18338aed6c Mon Sep 17 00:00:00 2001 From: Vaern Date: Sun, 18 Jun 2023 21:58:17 -0700 Subject: [PATCH 191/285] Transfer of item book lores to updated system --- .../com/hbm/items/special/ItemBookLore.java | 12 ++-- .../java/com/hbm/items/tool/ItemWandD.java | 23 ------- .../java/com/hbm/lib/HbmChestContents.java | 40 +++++++---- .../world/gen/component/CivilianFeatures.java | 3 +- .../hbm/world/gen/component/Component.java | 19 +++--- .../world/gen/component/OfficeFeatures.java | 16 +++-- .../generator/room/TestDungeonRoom8.java | 66 +++++++++---------- src/main/resources/assets/hbm/lang/en_US.lang | 4 +- 8 files changed, 84 insertions(+), 99 deletions(-) diff --git a/src/main/java/com/hbm/items/special/ItemBookLore.java b/src/main/java/com/hbm/items/special/ItemBookLore.java index dfdf39c70..ce2564fa3 100644 --- a/src/main/java/com/hbm/items/special/ItemBookLore.java +++ b/src/main/java/com/hbm/items/special/ItemBookLore.java @@ -45,13 +45,13 @@ public class ItemBookLore extends Item implements IGUIProvider { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { if(!stack.hasTagCompound()) return; - String key = stack.stackTagCompound.getString("k"); + String key = stack.stackTagCompound.getString("k"); if(key.isEmpty()) return; key = "book_lore." + key + ".author"; String loc = I18nUtil.resolveKey(key); - - list.add(I18nUtil.resolveKey("book_lore.author", loc)); + if(!loc.equals(key)) + list.add(I18nUtil.resolveKey("book_lore.author", loc)); } @Override @@ -143,7 +143,7 @@ public class ItemBookLore extends Item implements IGUIProvider { book.stackTagCompound.setTag("p" + page, data); } //TODO remove this and fix any references - public enum BookLoreType { + /*public enum BookLoreType { TEST(true, "test", 5), BOOK_IODINE(true, "book_iodine", 3) { public String resolveKey(String key, NBTTagCompound tag) { @@ -192,7 +192,7 @@ public class ItemBookLore extends Item implements IGUIProvider { } /** Function to resolve I18n keys using potential save-dependent information, a la format specifiers. */ - public String resolveKey(String key, NBTTagCompound tag) { + /*public String resolveKey(String key, NBTTagCompound tag) { return I18nUtil.resolveKey(key, tag); } @@ -220,5 +220,5 @@ public class ItemBookLore extends Item implements IGUIProvider { return stack; } - } + }*/ } diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index 7c5d8b9bd..3864a35de 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -2,11 +2,6 @@ package com.hbm.items.tool; import java.util.List; -import com.hbm.crafting.handlers.MKUCraftingHandler; -import com.hbm.handler.pollution.PollutionHandler; -import com.hbm.handler.pollution.PollutionHandler.PollutionType; -import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBookLore; import com.hbm.lib.Library; import net.minecraft.entity.player.EntityPlayer; @@ -35,24 +30,6 @@ public class ItemWandD extends Item { vnt.setSFX(new ExplosionEffectStandard()); vnt.explode();*/ - MKUCraftingHandler.generateRecipe(world); - ItemStack[] recipe = MKUCraftingHandler.MKURecipe; - - if(recipe == null) //take no chances - return stack; - - int r = 0; - for(int i = 0; i < 9; i++) { - if(recipe[i] != null && recipe[i].getItem() == ModItems.powder_iodine) { - r = i + 1; - } - } - - ItemStack book = ItemBookLore.createBook("book_iodine", 3, 0x4C407A, 0xFFF7C1); - ItemBookLore.addArgs(book, 2, String.valueOf(r)); - player.inventory.addItemStackToInventory(book); - player.inventoryContainer.detectAndSendChanges(); - //PollutionHandler.incrementPollution(world, pos.blockX, pos.blockY, pos.blockZ, PollutionType.SOOT, 15); /*TimeAnalyzer.startCount("setBlock"); diff --git a/src/main/java/com/hbm/lib/HbmChestContents.java b/src/main/java/com/hbm/lib/HbmChestContents.java index 3cdf8a771..7dc26a319 100644 --- a/src/main/java/com/hbm/lib/HbmChestContents.java +++ b/src/main/java/com/hbm/lib/HbmChestContents.java @@ -1,17 +1,20 @@ package com.hbm.lib; +import java.util.Random; + import com.hbm.blocks.ModBlocks; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ItemAmmoEnums.Ammo357Magnum; import com.hbm.items.ItemAmmoEnums.AmmoFatman; import com.hbm.items.ModItems; -import com.hbm.items.machine.ItemBreedingRod.*; +import com.hbm.items.machine.ItemBreedingRod.BreedingRodType; import com.hbm.items.machine.ItemZirnoxRod.EnumZirnoxType; -import com.hbm.items.special.ItemBookLore.BookLoreType; +import com.hbm.items.special.ItemBookLore; import com.hbm.items.tool.ItemBlowtorch; import net.minecraft.init.Items; import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; import net.minecraft.util.WeightedRandomChestContent; public class HbmChestContents { @@ -407,15 +410,26 @@ public class HbmChestContents { new WeightedRandomChestContent(Items.experience_bottle, 0, 1, 3, 1), }; - /** ITEMBOOKLORE ARRAYS */ - //might make a wrapper class for this, if game-state knowledge using the nbt system becomes that relevant - public final static BookLoreType[] books_office_sch = new BookLoreType[] { - BookLoreType.RESIGNATION_NOTE, - BookLoreType.MEMO_STOCKS, - BookLoreType.MEMO_SCHRAB_GSA, - BookLoreType.MEMO_SCHRAB_RD, - BookLoreType.MEMO_SCHRAB_NUKE, - }; - - + /** 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 + String key; + int pages; + switch(rand.nextInt(5)) { + case 0: + key = "resignation_note"; pages = 3; break; + case 1: + key = "memo_stocks"; pages = 1; break; + case 2: + key = "memo_schrab_gsa"; pages = 2; break; + case 3: + key = "memo_schrab_rd"; pages = 4; break; + case 4: + key = "memo_schrab_nuke"; pages = 3; break; + default: + return null; + } + + return ItemBookLore.createBook(key, pages, 0x6BC8FF, 0x0A0A0A); + } } 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 60190d1c0..26d7faaba 100644 --- a/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java +++ b/src/main/java/com/hbm/world/gen/component/CivilianFeatures.java @@ -568,7 +568,8 @@ public class CivilianFeatures { this.fillWithBlocks(world, box, sizeX - 4, 3, sizeZ - 2, sizeX - 2, 3, sizeZ - 2, ModBlocks.steel_roof, Blocks.air, false); if(!hasPlacedLoot[1]) { this.hasPlacedLoot[1] = this.generateInvContents(world, box, rand, ModBlocks.crate_iron, sizeX - 2, 1, 3, HbmChestContents.nukeTrash, 9); - generateLoreBook(world, box, rand, sizeX - 2, 1, 3, 1, HbmChestContents.books_office_sch); + if(rand.nextInt(2) == 0) + generateLoreBook(world, box, sizeX - 2, 1, 3, 1, HbmChestContents.generateOfficeBook(rand)); } return true; 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 9757ab534..8ffa1292e 100644 --- a/src/main/java/com/hbm/world/gen/component/Component.java +++ b/src/main/java/com/hbm/world/gen/component/Component.java @@ -8,9 +8,8 @@ import com.hbm.blocks.generic.BlockBobble.BobbleType; import com.hbm.blocks.generic.BlockBobble.TileEntityBobble; import com.hbm.config.StructureConfig; import com.hbm.handler.MultiblockHandlerXR; -import com.hbm.items.ModItems; -import com.hbm.items.special.ItemBookLore.BookLoreType; import com.hbm.tileentity.machine.TileEntityLockableBase; + import net.minecraft.block.Block; import net.minecraft.block.BlockWeb; import net.minecraft.block.material.Material; @@ -267,7 +266,7 @@ abstract public class Component extends StructureComponent { case 2: //North dirMeta ^= 2; break; //Flip second bit case 3: //East - dirMeta = Math.abs(dirMeta - 1) % 4; break; //fuck you modulo + dirMeta = (dirMeta + 3) % 4; break; //fuck you modulo } //hee hoo @@ -383,7 +382,7 @@ abstract public class Component extends StructureComponent { int posY = this.getYWithOffset(featureY); int posZ = this.getZWithOffset(featureX, featureZ); - if(world.getBlock(posX, posY, posZ) == block) //replacement for hasPlacedLoot checks + 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); @@ -414,7 +413,7 @@ abstract public class Component extends StructureComponent { int posY = this.getYWithOffset(featureY); int posZ = this.getZWithOffset(featureX, featureZ); - if(world.getBlock(posX, posY, posZ) == block) //replacement for hasPlacedLoot checks + 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); @@ -435,19 +434,17 @@ abstract public class Component extends StructureComponent { return false; } - protected void generateLoreBook(World world, StructureBoundingBox box, Random rand, int featureX, int featureY, int featureZ, int slot, BookLoreType[] books) { + 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) { - ItemStack book = new ItemStack(ModItems.book_lore); - int i = rand.nextInt(books.length); - - BookLoreType.setTypeForStack(book, books[i]); - inventory.setInventorySlotContents(slot, book); + inventory.setInventorySlotContents(slot, stack); } } diff --git a/src/main/java/com/hbm/world/gen/component/OfficeFeatures.java b/src/main/java/com/hbm/world/gen/component/OfficeFeatures.java index 3a3549106..e4a96eabb 100644 --- a/src/main/java/com/hbm/world/gen/component/OfficeFeatures.java +++ b/src/main/java/com/hbm/world/gen/component/OfficeFeatures.java @@ -201,7 +201,7 @@ public class OfficeFeatures { randomlyFillWithBlocks(world, box, rand, 0.25F, 10, 3, 7, sizeX - 1, 3, sizeZ - 1, Blocks.web); //Doors placeDoor(world, box, ModBlocks.door_office, 3, false, rand.nextBoolean(), 2, 1, 7); - placeDoor(world, box, ModBlocks.door_office, 3, false, rand.nextBoolean(), 3, 1, 7); + placeDoor(world, box, ModBlocks.door_office, 3, true, rand.nextBoolean(), 3, 1, 7); placeDoor(world, box, ModBlocks.door_office, 0, false, rand.nextBoolean(), 5, 1, 6); //Woot @@ -209,7 +209,8 @@ public class OfficeFeatures { this.hasPlacedLoot[0] = generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), sizeX - 4, 1, sizeZ - 1, HbmChestContents.officeTrash, 8); if(!this.hasPlacedLoot[1]) { this.hasPlacedLoot[1] = generateLockableContents(world, box, rand, ModBlocks.safe, getDecoMeta(3), 6, 1, 1, HbmChestContents.machineParts, 10, 0.5D); - generateLoreBook(world, box, rand, 6, 1, 1, 7, HbmChestContents.books_office_sch); + if(rand.nextInt(2) == 0) + generateLoreBook(world, box, 6, 1, 1, 7, HbmChestContents.generateOfficeBook(rand)); } //0b00/0 West, 0b01/1 East, 0b10/2 North, 0b11/3 South, 0b100/4 West UD, 0b101 East UD, 0b110 North UD, 0b111 South UD @@ -431,12 +432,12 @@ public class OfficeFeatures { placeDoor(world, box, Blocks.wooden_door, 3, true, rand.nextBoolean(), 2, 1, 14); placeDoor(world, box, Blocks.wooden_door, 0, false, rand.nextBoolean(), 0, 1, 12); placeDoor(world, box, Blocks.wooden_door, 0, true, rand.nextBoolean(), 0, 1, 13); - placeDoor(world, box, ModBlocks.door_office, 0, false, rand.nextBoolean(), 6, 1, 3); - placeDoor(world, box, ModBlocks.door_office, 0, false, rand.nextBoolean(), 5, 5, 3); + placeDoor(world, box, ModBlocks.door_office, 3, false, rand.nextBoolean(), 6, 1, 3); + placeDoor(world, box, ModBlocks.door_office, 3, false, rand.nextBoolean(), 5, 5, 3); placeDoor(world, box, ModBlocks.door_office, 2, false, rand.nextBoolean(), 4, 5, 11); - placeDoor(world, box, ModBlocks.door_office, 0, false, rand.nextBoolean(), 10, 9, 3); + placeDoor(world, box, ModBlocks.door_office, 3, false, rand.nextBoolean(), 10, 9, 3); placeDoor(world, box, ModBlocks.door_office, 1, false, rand.nextBoolean(), 3, 9, 10); - placeDoor(world, box, ModBlocks.door_metal, 0, false, rand.nextBoolean(), 5, 13, 3); + placeDoor(world, box, ModBlocks.door_metal, 3, false, rand.nextBoolean(), 5, 13, 3); //Furniture //Floor 1 int NorthStairMeta = getStairMeta(2); @@ -533,7 +534,8 @@ public class OfficeFeatures { generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 2, 9, 5, HbmChestContents.filingCabinet, 4); generateLockableContents(world, box, rand, ModBlocks.safe, getDecoMeta(2), 1, 9, 13, HbmChestContents.officeTrash, 10, 1.0D); - generateLoreBook(world, box, rand, 1, 9, 13, 7, HbmChestContents.books_office_sch); + if(rand.nextInt(2) == 0) + generateLoreBook(world, box, 1, 9, 13, 7, HbmChestContents.generateOfficeBook(rand)); generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 2, 9, 13, HbmChestContents.filingCabinet, 4); generateInvContents(world, box, rand, ModBlocks.filing_cabinet, getDecoModelMeta(0), 3, 9, 13, HbmChestContents.filingCabinet, 4); diff --git a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom8.java b/src/main/java/com/hbm/world/generator/room/TestDungeonRoom8.java index 59d68d846..3f02d6cf0 100644 --- a/src/main/java/com/hbm/world/generator/room/TestDungeonRoom8.java +++ b/src/main/java/com/hbm/world/generator/room/TestDungeonRoom8.java @@ -3,7 +3,7 @@ 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.BookLoreType; +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; @@ -53,7 +53,7 @@ public class TestDungeonRoom8 extends CellularDungeonRoom { 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)world.getTileEntity(x + parent.width / 2, y + 2, z + parent.width / 2)).setInventorySlotContents(7, generateMKU(world)); + ((TileEntitySafe)world.getTileEntity(x + parent.width / 2, y + 2, z + parent.width / 2)).setInventorySlotContents(7, generateBook(world)); else ((TileEntitySafe)world.getTileEntity(x + parent.width / 2, y + 2, z + parent.width / 2)).setInventorySlotContents(7, new ItemStack(Items.book)); } @@ -61,57 +61,51 @@ public class TestDungeonRoom8 extends CellularDungeonRoom { } } - public static ItemStack generateMKU(World world) { - ItemStack book = new ItemStack(ModItems.book_lore); - int i = world.rand.nextInt(books.length); - - BookLoreType.setTypeForStack(book, books[i]); - book.stackTagCompound.setInteger("mku_slot", getSlot(world, books[i])); - - return book; - } - - public static int getSlot(World world, BookLoreType type) { - + 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; - //fucking kill me - switch(type) { - case BOOK_DUST: - item = ModItems.dust; break; - case BOOK_FLOWER: - item = ModItems.morning_glory; break; - case BOOK_IODINE: + switch(world.rand.nextInt(6)) { + case 0: + key = "book_iodine"; pages = 3; item = ModItems.powder_iodine; break; - case BOOK_MERCURY: - item = ModItems.ingot_mercury; break; - case BOOK_PHOSPHOROUS: + case 1: + key = "book_phosphorous"; pages = 2; item = ModItems.powder_fire; break; - case BOOK_SYRINGE: + 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: - item = ModItems.nothing; break; + return new ItemStack(ModItems.flame_pony); } - if(recipe == null) //take no chances - return -2; - + int s = 1; for(int i = 0; i < 9; i++) { - if(recipe[i] != null && recipe[i].getItem() == item) { - return i + 1; + s = i + 1; break; } } - return -1; + ItemStack book = ItemBookLore.createBook(key, pages, 0x271E44, 0xFBFFF4); + ItemBookLore.addArgs(book, pages - 1, String.valueOf(s)); + + return book; } - private final static BookLoreType[] books = new BookLoreType[] { - BookLoreType.BOOK_IODINE, BookLoreType.BOOK_PHOSPHOROUS, BookLoreType.BOOK_DUST, BookLoreType.BOOK_MERCURY, BookLoreType.BOOK_FLOWER, BookLoreType.BOOK_SYRINGE - }; - /*public static ItemStack genetateMKU(World world) { ItemStack book = new ItemStack(Items.written_book); diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 539596cf5..92746c9ce 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -321,8 +321,8 @@ book.starter.page18=vær is just a guy who has been trapped in the grey void fea #book.rbmk.page16=§4§lAvoid. book_lore.author=By %s -book_lore.test.name=Test -book_lore.test.author=the dude +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 From f17a1280d71fe16bb8efb23275335e96b8cf392d Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 19 Jun 2023 16:22:03 +0200 Subject: [PATCH 192/285] welded fusion reactor magnets --- src/main/java/com/hbm/blocks/ModBlocks.java | 4 +- .../blocks/generic/BlockToolConversion.java | 3 + .../generic/BlockToolConversionPillar.java | 48 +++++++++++ .../com/hbm/blocks/machine/MachineITER.java | 31 +++++--- .../hbm/handler/nei/ConstructionHandler.java | 11 +-- .../com/hbm/inventory/OreDictManager.java | 3 + .../inventory/recipes/AssemblerRecipes.java | 2 +- .../tileentity/RenderITERMultiblock.java | 75 +++++++----------- .../machine/TileEntityITERStruct.java | 3 +- src/main/resources/assets/hbm/lang/de_DE.lang | 3 + src/main/resources/assets/hbm/lang/en_US.lang | 3 + .../textures/blocks/fusion_conductor_side.png | Bin 336 -> 164 bytes .../blocks/fusion_conductor_side_alt.png | Bin 164 -> 0 bytes .../blocks/fusion_conductor_side_alt2.png | Bin 333 -> 0 bytes .../blocks/fusion_conductor_side_alt3.png | Bin 513 -> 0 bytes .../blocks/fusion_conductor_side_welded.png | Bin 0 -> 469 bytes ...r_top_alt.png => fusion_conductor_top.png} | Bin .../blocks/fusion_conductor_top_welded.png | Bin 0 -> 708 bytes 18 files changed, 118 insertions(+), 68 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/generic/BlockToolConversionPillar.java delete mode 100644 src/main/resources/assets/hbm/textures/blocks/fusion_conductor_side_alt.png delete mode 100644 src/main/resources/assets/hbm/textures/blocks/fusion_conductor_side_alt2.png delete mode 100644 src/main/resources/assets/hbm/textures/blocks/fusion_conductor_side_alt3.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/fusion_conductor_side_welded.png rename src/main/resources/assets/hbm/textures/blocks/{fusion_conductor_top_alt.png => fusion_conductor_top.png} (100%) create mode 100644 src/main/resources/assets/hbm/textures/blocks/fusion_conductor_top_welded.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index e745ad561..ea756421d 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -2016,7 +2016,7 @@ public class ModBlocks { reactor_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_conductor_top").setBlockName("reactor_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_conductor_side"); reactor_computer = new ReactorCore(Material.iron).setBlockName("reactor_computer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_computer"); - fusion_conductor = new BlockPillar(Material.iron, RefStrings.MODID + ":fusion_conductor_top_alt").setBlockName("fusion_conductor").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":fusion_conductor_side_alt"); + 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"); @@ -3327,7 +3327,7 @@ public class ModBlocks { GameRegistry.registerBlock(reactor_conductor, reactor_conductor.getUnlocalizedName()); GameRegistry.registerBlock(reactor_computer, reactor_computer.getUnlocalizedName()); - GameRegistry.registerBlock(fusion_conductor, fusion_conductor.getUnlocalizedName()); + register(fusion_conductor); GameRegistry.registerBlock(fusion_center, fusion_center.getUnlocalizedName()); GameRegistry.registerBlock(fusion_motor, fusion_motor.getUnlocalizedName()); GameRegistry.registerBlock(fusion_heater, fusion_heater.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java b/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java index 582db2d18..a4c146f6a 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java +++ b/src/main/java/com/hbm/blocks/generic/BlockToolConversion.java @@ -8,9 +8,11 @@ import java.util.Map.Entry; import com.hbm.blocks.BlockMulti; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.OreDictManager; 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.items.ModItems; import com.hbm.util.I18nUtil; import com.hbm.util.InventoryUtil; @@ -150,6 +152,7 @@ public class BlockToolConversion extends BlockMulti implements IToolable, ILookO public static void registerRecipes() { conversions.put(new Pair(ToolType.BOLT, new MetaBlock(ModBlocks.watz_end, 0)), new Pair(new AStack[] {new ComparableStack(ModItems.bolt_dura_steel, 4)}, new MetaBlock(ModBlocks.watz_end, 1))); + conversions.put(new Pair(ToolType.TORCH, new MetaBlock(ModBlocks.fusion_conductor, 0)), new Pair(new AStack[] {new OreDictStack(OreDictManager.STEEL.plateCast())}, new MetaBlock(ModBlocks.fusion_conductor, 1))); } public static HashMap bufferedRecipes = new HashMap(); diff --git a/src/main/java/com/hbm/blocks/generic/BlockToolConversionPillar.java b/src/main/java/com/hbm/blocks/generic/BlockToolConversionPillar.java new file mode 100644 index 000000000..630437faa --- /dev/null +++ b/src/main/java/com/hbm/blocks/generic/BlockToolConversionPillar.java @@ -0,0 +1,48 @@ +package com.hbm.blocks.generic; + +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 BlockToolConversionPillar extends BlockToolConversion { + + public IIcon[] topIcons; + public IIcon topIcon; + + public BlockToolConversionPillar(Material mat) { + super(mat); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + + this.blockIcon = iconRegister.registerIcon(this.getTextureName() + "_side"); + this.topIcon = iconRegister.registerIcon(this.getTextureName() + "_top"); + + if(names != null) { + icons = new IIcon[names.length]; + topIcons = new IIcon[names.length]; + + for(int i = 0; i < names.length; i++) { + icons[i] = iconRegister.registerIcon(getTextureName() + "_side" + names[i]); + topIcons[i] = iconRegister.registerIcon(getTextureName() + "_top" + names[i]); + } + } + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + + metadata -= 1; + + if(metadata == -1 || icons == null || metadata >= icons.length) { + return side == 0 || side == 1 ? topIcon : blockIcon; + } + + return side == 0 || side == 1 ? topIcons[metadata] : icons[metadata]; + } +} diff --git a/src/main/java/com/hbm/blocks/machine/MachineITER.java b/src/main/java/com/hbm/blocks/machine/MachineITER.java index 98b8f30e3..f049e058f 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineITER.java +++ b/src/main/java/com/hbm/blocks/machine/MachineITER.java @@ -4,6 +4,8 @@ import java.util.Random; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.material.Mats; +import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityITER; @@ -241,20 +243,23 @@ public class MachineITER extends BlockDummyable { @Override public void breakBlock(World world, int x, int y, int z, Block block, int i) { - - if(i >= 12 && drop) { - - for(int l = 0; l < 4; l++) - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_conductor, 64))); - - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_conductor, 36))); - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_center, 64))); - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_motor, 4))); - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.reinforced_glass, 8))); - world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_iter_core, 1))); - } + + if(i >= 12 && drop) { + + for(int l = 0; l < 4; l++) { + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_conductor, 64))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.plate_cast, 64, Mats.MAT_STEEL.id))); + } + + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_conductor, 36))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModItems.plate_cast, 36, Mats.MAT_STEEL.id))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_center, 64))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.fusion_motor, 4))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.reinforced_glass, 8))); + world.spawnEntityInWorld(new EntityItem(world, x + 0.5, y + 0.5, z + 0.5, new ItemStack(ModBlocks.struct_iter_core, 1))); + } super.breakBlock(world, x, y, z, block, i); - } + } } diff --git a/src/main/java/com/hbm/handler/nei/ConstructionHandler.java b/src/main/java/com/hbm/handler/nei/ConstructionHandler.java index 240ad58af..557a71163 100644 --- a/src/main/java/com/hbm/handler/nei/ConstructionHandler.java +++ b/src/main/java/com/hbm/handler/nei/ConstructionHandler.java @@ -3,6 +3,7 @@ package com.hbm.handler.nei; import java.util.HashMap; import com.hbm.blocks.ModBlocks; +import com.hbm.inventory.material.Mats; import com.hbm.items.ModItems; import com.hbm.util.ItemStackUtil; @@ -45,13 +46,13 @@ public class ConstructionHandler extends NEIUniversalHandler { /* ITER */ ItemStack[] iter = new ItemStack[] { new ItemStack(ModBlocks.fusion_conductor, 36), - new ItemStack(ModBlocks.fusion_conductor, 64), - new ItemStack(ModBlocks.fusion_conductor, 64), - new ItemStack(ModBlocks.fusion_conductor, 64), - new ItemStack(ModBlocks.fusion_conductor, 64), + ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.fusion_conductor, 320), EnumChatFormatting.RED + "5x64"), + new ItemStack(ModItems.plate_cast, 36, Mats.MAT_STEEL.id), + ItemStackUtil.addTooltipToStack(new ItemStack(ModItems.plate_cast, 320, Mats.MAT_STEEL.id), EnumChatFormatting.RED + "5x64"), new ItemStack(ModBlocks.fusion_center, 64), new ItemStack(ModBlocks.fusion_motor, 4), - new ItemStack(ModBlocks.reinforced_glass, 8)}; + new ItemStack(ModBlocks.reinforced_glass, 8), + new ItemStack(ModItems.blowtorch)}; bufferedRecipes.put(iter, new ItemStack(ModBlocks.iter)); bufferedTools.put(iter, new ItemStack(ModBlocks.struct_iter_core)); diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index c6d7d5e5a..69e41bd65 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -92,6 +92,7 @@ public class OreDictManager { public static final String KEY_TOOL_SCREWDRIVER = "ntmscrewdriver"; public static final String KEY_TOOL_HANDDRILL = "ntmhanddrill"; public static final String KEY_TOOL_CHEMISTRYSET = "ntmchemistryset"; + public static final String KEY_TOOL_TORCH = "ntmtorch"; public static final String KEY_CIRCUIT_BISMUTH = "circuitVersatile"; @@ -482,6 +483,8 @@ public class OreDictManager { OreDictionary.registerOre(KEY_TOOL_HANDDRILL, new ItemStack(hand_drill_desh, 1, OreDictionary.WILDCARD_VALUE)); OreDictionary.registerOre(KEY_TOOL_CHEMISTRYSET, new ItemStack(chemistry_set, 1, OreDictionary.WILDCARD_VALUE)); OreDictionary.registerOre(KEY_TOOL_CHEMISTRYSET, new ItemStack(chemistry_set_boron, 1, OreDictionary.WILDCARD_VALUE)); + OreDictionary.registerOre(KEY_TOOL_TORCH, new ItemStack(blowtorch, 1, OreDictionary.WILDCARD_VALUE)); + OreDictionary.registerOre(KEY_TOOL_TORCH, new ItemStack(acetylene_torch, 1, OreDictionary.WILDCARD_VALUE)); /* * CIRCUITS diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 818f2b000..38ae7cf5b 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -293,7 +293,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.machine_turbinegas, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 4), new ComparableStack(ModItems.hull_small_steel, 6), new ComparableStack(ModItems.generator_steel, 2), new ComparableStack(ModItems.bolt_compound, 4), new ComparableStack(ModBlocks.steel_scaffold, 8), new ComparableStack(ModBlocks.deco_pipe_quad, 4), new ComparableStack(ModItems.turbine_tungsten, 3), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.ingot_rubber, 4), new ComparableStack(ModItems.circuit_red_copper, 3)}, 600); makeRecipe(new ComparableStack(ModBlocks.machine_teleporter, 1), new AStack[] {new OreDictStack(TI.ingot(), 8), new OreDictStack(ALLOY.plate528(), 12), new ComparableStack(ModItems.wire_gold, 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), new OreDictStack(TI.ingot(), 24), new OreDictStack(ALLOY.plate(), 18), new OreDictStack(STEEL.plate(), 12), new ComparableStack(ModItems.plate_desh, 6), new OreDictStack(RUBBER.ingot(), 8), new ComparableStack(ModBlocks.machine_battery, 5), new ComparableStack(ModItems.circuit_gold, 5), },500); - makeRecipe(new ComparableStack(ModBlocks.fusion_conductor, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new ComparableStack(ModItems.coil_advanced_alloy, 5), },150); + makeRecipe(new ComparableStack(ModBlocks.fusion_conductor, 1), new AStack[] {new ComparableStack(ModItems.coil_advanced_alloy, 5), }, 100); makeRecipe(new ComparableStack(ModBlocks.fusion_center, 1), new AStack[] {new OreDictStack(ANY_HARDPLASTIC.ingot(), 4), new OreDictStack(STEEL.plate528(), 6), new ComparableStack(ModItems.wire_advanced_alloy, 24), },200); makeRecipe(new ComparableStack(ModBlocks.fusion_motor, 1), new AStack[] {new OreDictStack(TI.ingot(), 4), new OreDictStack(STEEL.ingot(), 2), new ComparableStack(ModItems.motor, 4), },250); makeRecipe(new ComparableStack(ModBlocks.fusion_heater, 1), new AStack[] {new OreDictStack(W.ingot(), 4), new OreDictStack(STEEL.plate528(), 2), new OreDictStack(OreDictManager.getReflector(), 2), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.magnetron, 1), new ComparableStack(ModItems.wire_advanced_alloy, 4), },150); diff --git a/src/main/java/com/hbm/render/tileentity/RenderITERMultiblock.java b/src/main/java/com/hbm/render/tileentity/RenderITERMultiblock.java index 225cddd2c..c4cad00da 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderITERMultiblock.java +++ b/src/main/java/com/hbm/render/tileentity/RenderITERMultiblock.java @@ -3,14 +3,12 @@ package com.hbm.render.tileentity; import org.lwjgl.opengl.GL11; import com.hbm.blocks.ModBlocks; -import com.hbm.render.util.IconUtil; import com.hbm.render.util.SmallBlockPronter; import com.hbm.tileentity.machine.TileEntityITERStruct; -import net.minecraft.client.renderer.OpenGlHelper; +import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; public class RenderITERMultiblock extends TileEntitySpecialRenderer { @@ -19,50 +17,35 @@ public class RenderITERMultiblock extends TileEntitySpecialRenderer { GL11.glPushMatrix(); - GL11.glTranslatef((float)x, (float)y, (float)z); + GL11.glTranslated(x, y, z); + + bindTexture(TextureMap.locationBlocksTexture); + SmallBlockPronter.startDrawing(); + + int[][][] layout = TileEntityITERStruct.layout; + + for(int iy = -2; iy <= 2; iy++) { + int iny = 2 - Math.abs(iy); + + for(int ix = 0; ix < layout[0].length; ix++) { + for(int iz = 0; iz < layout[0][0].length; iz++) { + + int block = layout[iny][ix][iz]; + + switch(block) { + case 0: + continue; + case 1: SmallBlockPronter.drawSmolBlockAt(ModBlocks.fusion_conductor, 1, ix - 7F, iy + 2, iz - 7F); break; + case 2: SmallBlockPronter.drawSmolBlockAt(ModBlocks.fusion_center, 0, ix - 7F, iy + 2, iz - 7F); break; + case 3: SmallBlockPronter.drawSmolBlockAt(ModBlocks.fusion_motor, 0, ix - 7F, iy + 2, iz - 7F); break; + case 4: SmallBlockPronter.drawSmolBlockAt(ModBlocks.reinforced_glass, 0, ix - 7F, iy + 2, iz - 7F); break; + } + } + } + } + + SmallBlockPronter.draw(); - GL11.glEnable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_CULL_FACE); - OpenGlHelper.glBlendFunc(770, 771, 1, 0); - GL11.glColor4f(1.0F, 1.0F, 1.0F, 0.75F); - GL11.glDisable(GL11.GL_ALPHA_TEST); - GL11.glDepthMask(false); - - ResourceLocation magnet = IconUtil.getTextureFromBlockAndSide(ModBlocks.fusion_conductor, 2); - ResourceLocation solenoid = IconUtil.getTextureFromBlockAndSide(ModBlocks.fusion_center, 2); - ResourceLocation motor = IconUtil.getTextureFromBlock(ModBlocks.fusion_motor); - ResourceLocation glass = IconUtil.getTextureFromBlock(ModBlocks.reinforced_glass); - - int[][][] layout = TileEntityITERStruct.layout; - - for(int iy = -2; iy <= 2; iy ++) { - - int iny = 2 - Math.abs(iy); - - for(int ix = 0; ix < layout[0].length; ix++) { - - for(int iz = 0; iz < layout[0][0].length; iz++) { - - int block = layout[iny][ix][iz]; - - switch(block) { - case 0: continue; - case 1: bindTexture(magnet); break; - case 2: bindTexture(solenoid); break; - case 3: bindTexture(motor); break; - case 4: bindTexture(glass); break; - } - - SmallBlockPronter.renderSmolBlockAt(ix - 6F, iy + 3, iz - 7F); - } - } - } - - GL11.glDisable(GL11.GL_BLEND); - GL11.glEnable(GL11.GL_ALPHA_TEST); - GL11.glDepthMask(true); - - GL11.glEnable(GL11.GL_LIGHTING); GL11.glPopMatrix(); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityITERStruct.java b/src/main/java/com/hbm/tileentity/machine/TileEntityITERStruct.java index 530de6de6..901cc4195 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityITERStruct.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityITERStruct.java @@ -151,9 +151,10 @@ public class TileEntityITERStruct extends TileEntity { int b = layout[ly][x][z]; Block block = worldObj.getBlock(xCoord + x - width, yCoord + y, zCoord + z - width); + int meta = worldObj.getBlockMetadata(xCoord + x - width, yCoord + y, zCoord + z - width); switch(b) { - case 1: if(block != ModBlocks.fusion_conductor) { return; } break; + case 1: if(block != ModBlocks.fusion_conductor || meta != 1) { return; } break; case 2: if(block != ModBlocks.fusion_center) { return; } break; case 3: if(block != ModBlocks.fusion_motor) { return; } break; case 4: if(block != ModBlocks.reinforced_glass) { return; } break; diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 6ea95cce7..0058e4be6 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -3808,6 +3808,7 @@ tile.furnace_steel.name=Stahlofen tile.furnace_steel.desc=Sehr großer Ofen mit Produktionsboni.$Benötigt externe Hitzequelle.$Wärmetransferrate: ΔT*0.05 TU/t$(Δ heißt Differenz, T heißt Temparatur) tile.fusion_center.name=Zentralmagnetstück tile.fusion_conductor.name=Supraleiter-Magnet +tile.fusion_conductor_welded.name=Supraleiter-Magnet (Verschweißt) tile.fusion_core.name=Fusionsreaktorsteuerung tile.fusion_hatch.name=Fusionsreaktorzugriffsluke tile.fusion_heater.name=Plasmaerhitzer-Komponente @@ -3839,6 +3840,8 @@ tile.glass_polonium.name=Poloniumglas tile.glass_quartz.name=Quarzglas tile.glass_trinitite.name=Trinity-Glas tile.glass_uranium.name=Uranglas +tile.glyphid_base.name=Glyphidnest +tile.glyphid_spawner.name=Glyphidnest-Spawner tile.gneiss_brick.name=Schieferziegel tile.gneiss_chiseled.name=Gemeißelter Schiefer tile.gneiss_tile.name=Schieferfliese diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index cec6b2cbc..9c60416ef 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4631,6 +4631,7 @@ tile.furnace_steel.name=Steel Furnace tile.furnace_steel.desc=Very large furnace that can provide bonus items$when smelting ores. Requires external heat source.$Heat transfer rate: ΔT*0.05 TU/t$(Δ means difference and T means temperature) tile.fusion_center.name=Central Magnet Piece tile.fusion_conductor.name=Superconducting Magnet +tile.fusion_conductor_welded.name=Superconducting Magnet (Welded) tile.fusion_core.name=Fusion Reactor Control tile.fusion_hatch.name=Duct Deco Block tile.fusion_heater.name=Plasma Heater Component @@ -4662,6 +4663,8 @@ tile.glass_polonium.name=Polonium Glass tile.glass_quartz.name=Quartz Glass tile.glass_trinitite.name=Trinity Glass tile.glass_uranium.name=Uranium Glass +tile.glyphid_base.name=Glyphid Hive Block +tile.glyphid_spawner.name=Glyphid Hive Spawner tile.gneiss_brick.name=Schist Brick tile.gneiss_chiseled.name=Chiseled Schist tile.gneiss_tile.name=Schist Tile diff --git a/src/main/resources/assets/hbm/textures/blocks/fusion_conductor_side.png b/src/main/resources/assets/hbm/textures/blocks/fusion_conductor_side.png index 1db5c40d086da7ab943195e12a4fd3e6f5a66b99..82452e86d314c8ce1aac16694daa05cdcfc5848f 100644 GIT binary patch delta 147 zcmcb>w1jbjWIY=L1B3kM|A|0~rP#?cgaZg_I8r)*{Af=X#}JF&}w!{Ch@wcKn<1@OA%xo=eki y@x%+Cxi#TRLm;youY?ZJPXE73+n%2-lH&o|!{F)a=d#Wzp$PzPB|W78 delta 320 zcmV-G0l)sF0nh@F8Gix*005AYXf^-<00d`2O+f$vv5yP-@iQc1u;B;Cmw*{3Nkts-x1n1zg zEE~tM@B6On5IKrr7$}wQ!-lzhX`1TI017LpG(J!T2Kvl@`o2%qm_Yv(Qpzve!aR3w SNbq(50000ciANfSfpk8fad!aRol?rfgnLSt%Z0x00UFDakVMY8adbQ$n-=(dMS9=s`)#AI zP1489G7j#btL*+qT3Qan1pd=Q++f zPNx&9iua!5@rVy0P*oK%MnVXP2;O^QjF=hDIm`?ZNpq@-hyb7fW=7k#=|czsGwT=C%=Bxaq{fpH8W196W?F|877BPL-2?{{di(Fn-M}l%d)%+aSkvB@#rA%e_WO& zItno}M0HpoiDP`skIK<{7-?3pAH zNgTpsPTtzKWjdYmW%p{32!kND}`XAXx0-g{)RSXf=xhzRrfoa^=a;xTnym$)oT zw%aW+Myjg9>tG&Wv)QDr0c2UmD0v(rLZ0WTkd|dhmSyQ&F7<#NG$ z-|uj}UbEltfxcy%reQLfaJ$`7)iDu3Q4};yliK_*MWHxFl%rLt00000NkvXXu0mjf D86fEo diff --git a/src/main/resources/assets/hbm/textures/blocks/fusion_conductor_side_welded.png b/src/main/resources/assets/hbm/textures/blocks/fusion_conductor_side_welded.png new file mode 100644 index 0000000000000000000000000000000000000000..adbd7c637c7c81a77b96167a7329d3cbe95746c7 GIT binary patch literal 469 zcmV;`0V@89P)Aq2el-=nI85OB_+s)z`;+l@F)6CzT8loBbWLZ+%ErfI@ChjWgU5+d?Z zpsD~EnHA)mNhy(YE@8O{FdX^>$NsbL)*5DdOEh!~J2n8R< z@#BGYj4_r~&EM8@Ee`dhp`O6mUknirdo zKFR+(NcrvS9}tn1f*2zY`#sXHe&WIR52&o=U5q5(K4%#t=c?4-)qHS{SMT4myE#Kd zP*pmOoXOyb&%XJYySqD#F@z9k)P)eJs){_%nNFvi|9y!(`H~nT9T6eM$f8g>)?$o7 zRq@_amL+vv6GEUYORB0Ogg|#~HSieYY6hyxrMqU?+uI{eQ*2q5q-o02XFXK4^?bj$v7xE}e6jh6!^1!>I&FG4k{Szh^M=XlfT5m>I zEDGi6vmTSd$NXe)Mg8OE!MaCGiETc0V4#~2t q1>A=iV>mfEVLqR?#ZB1%ul7Gl4I&x}zjOTn0000 Date: Tue, 20 Jun 2023 16:07:29 +0200 Subject: [PATCH 193/285] nuclear bulkie, better pathfinding --- .../java/com/hbm/entity/EntityMappings.java | 1 + .../com/hbm/entity/mob/EntityGlyphid.java | 33 ++- .../hbm/entity/mob/EntityGlyphidNuclear.java | 100 ++++++++ src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ResourceManager.java | 1 + .../entity/mob/RenderGlyphidNuclear.java | 236 ++++++++++++++++++ src/main/resources/assets/hbm/lang/de_DE.lang | 4 + src/main/resources/assets/hbm/lang/en_US.lang | 4 + .../hbm/textures/entity/glyphid_nuclear.png | Bin 0 -> 2027 bytes 9 files changed, 369 insertions(+), 11 deletions(-) create mode 100644 src/main/java/com/hbm/entity/mob/EntityGlyphidNuclear.java create mode 100644 src/main/java/com/hbm/render/entity/mob/RenderGlyphidNuclear.java create mode 100644 src/main/resources/assets/hbm/textures/entity/glyphid_nuclear.png diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index d231fa8b6..fd59a34b9 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -246,6 +246,7 @@ public class EntityMappings { addMob(EntityGlyphidBombardier.class, "entity_glyphid_bombardier", 0xDDD919, 0xDBB79D); addMob(EntityGlyphidBlaster.class, "entity_glyphid_blaster", 0xD83737, 0xDBB79D); addMob(EntityGlyphidScout.class, "entity_glyphid_scout", 0x273038, 0xB9E36B); + addMob(EntityGlyphidNuclear.class, "entity_glyphid_nuclear", 0x267F00, 0xA0A0A0); addSpawn(EntityCreeperPhosgene.class, 5, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); addSpawn(EntityCreeperVolatile.class, 10, 1, 1, EnumCreatureType.monster, BiomeGenBase.getBiomeGenArray()); diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java index bc570fe02..ab3e9ac51 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java @@ -9,14 +9,6 @@ import com.hbm.main.ResourceManager; import net.minecraft.entity.Entity; import net.minecraft.entity.EnumCreatureAttribute; 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.monster.EntityMob; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; @@ -28,14 +20,14 @@ public class EntityGlyphid extends EntityMob { public EntityGlyphid(World world) { super(world); - this.tasks.addTask(0, new EntityAISwimming(this)); + /*this.tasks.addTask(0, new EntityAISwimming(this)); this.tasks.addTask(2, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, false)); this.tasks.addTask(5, new EntityAIMoveTowardsRestriction(this, 1.0D)); this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); this.tasks.addTask(8, new EntityAILookIdle(this)); this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true)); - this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true)); + this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, 0, true));*/ this.setSize(1.75F, 1F); } @@ -64,9 +56,28 @@ public class EntityGlyphid extends EntityMob { @Override protected Entity findPlayerToAttack() { - EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 32.0D); + EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 128.0D); return entityplayer != null && this.canEntityBeSeen(entityplayer) ? entityplayer : null; } + + @Override + protected void updateEntityActionState() { + super.updateEntityActionState(); + + if(this.entityToAttack != null) { + this.setPathToEntity(this.worldObj.getPathEntityToEntity(this, this.entityToAttack, 128F, true, false, false, true)); + } + } + + @Override + protected boolean canDespawn() { + return entityToAttack == null; + } + + @Override + public int getMaxSafePointTries() { + return 10; + } @Override public boolean attackEntityFrom(DamageSource source, float amount) { diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidNuclear.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidNuclear.java new file mode 100644 index 000000000..8c6590203 --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphidNuclear.java @@ -0,0 +1,100 @@ +package com.hbm.entity.mob; + +import com.hbm.blocks.ModBlocks; +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.main.MainRegistry; +import com.hbm.main.ResourceManager; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; + +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; +import net.minecraft.world.World; + +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; + } + + @Override + public double getScale() { + return 2D; + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(20D); + this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(0.8D); + this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(50D); + } + + @Override + public int getArmorBreakChance(float amount) { + return amount < 25 ? 100 : amount > 1000 ? 1 : 10; + } + + @Override + public float calculateDamage(float amount) { + + byte armor = this.dataWatcher.getWatchableObjectByte(17); + int divisor = 1; + + for(int i = 0; i < 5; i++) { + if((armor & (1 << i)) > 0) { + divisor += 5; + } + } + + amount /= divisor; + + return amount; + } + + @Override + public float getDamageThreshold() { + return 10F; + } + + @Override + protected void onDeathUpdate() { + ++this.deathTicks; + + if(this.deathTicks == 100) { + + ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, 25, this); + vnt.setBlockAllocator(new BlockAllocatorStandard(24)); + vnt.setBlockProcessor(new BlockProcessorStandard().withBlockEffect(new BlockMutatorDebris(ModBlocks.volcanic_lava_block, 0)).setNoDrop()); + vnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(1.5F)); + vnt.setPlayerProcessor(new PlayerProcessorStandard()); + vnt.explode(); + + 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)); + + this.setDead(); + } + } +} diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 8f491ea8d..26133ebac 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -730,6 +730,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBombardier.class, new RenderGlyphid()); RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBlaster.class, new RenderGlyphid()); RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidScout.class, new RenderGlyphid()); + RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidNuclear.class, new RenderGlyphidNuclear()); //"particles" RenderingRegistry.registerEntityRenderingHandler(EntitySmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.smoke1, ModItems.smoke2, ModItems.smoke3, ModItems.smoke4, ModItems.smoke5, ModItems.smoke6, ModItems.smoke7, ModItems.smoke8 })); 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 })); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 1f9716a94..4820c556d 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -666,6 +666,7 @@ public class ResourceManager { public static final ResourceLocation glyphid_bombardier_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_bombardier.png"); public static final ResourceLocation glyphid_blaster_tex = new ResourceLocation(RefStrings.MODID, "textures/entity/glyphid_blaster.png"); 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"); //ZIRNOX public static final ResourceLocation zirnox_tex = new ResourceLocation(RefStrings.MODID, "textures/models/zirnox.png"); diff --git a/src/main/java/com/hbm/render/entity/mob/RenderGlyphidNuclear.java b/src/main/java/com/hbm/render/entity/mob/RenderGlyphidNuclear.java new file mode 100644 index 000000000..5c91e44a1 --- /dev/null +++ b/src/main/java/com/hbm/render/entity/mob/RenderGlyphidNuclear.java @@ -0,0 +1,236 @@ +package com.hbm.render.entity.mob; + +import org.lwjgl.opengl.GL11; + +import com.hbm.entity.mob.EntityGlyphid; +import com.hbm.entity.mob.EntityGlyphidNuclear; +import com.hbm.main.ResourceManager; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.model.ModelBase; +import net.minecraft.client.renderer.entity.RenderLiving; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; + +public class RenderGlyphidNuclear extends RenderLiving { + + public RenderGlyphidNuclear() { + super(new ModelGlyphid(), 1.0F); + this.shadowOpaque = 0.0F; + } + + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + EntityGlyphid glyphid = (EntityGlyphid) entity; + return glyphid.getSkin(); + } + + @Override + protected void preRenderCallback(EntityLivingBase entity, float interp) { + this.preRenderCallback((EntityGlyphidNuclear) entity, interp); + } + + protected void preRenderCallback(EntityGlyphidNuclear entity, float interp) { + float swell = (float) (entity.deathTicks + interp) / 95F; + float flash = 1.0F + MathHelper.sin(swell * 100.0F) * swell * 0.01F; + + if(swell < 0.0F) { + swell = 0.0F; + } + + if(swell > 1.0F) { + swell = 1.0F; + } + + swell *= swell; + swell *= swell; + + float scaleHorizontal = (1.0F + swell * 0.4F) * flash; + float scaleVertical = (1.0F + swell * 0.1F) / flash; + GL11.glScalef(scaleHorizontal, scaleVertical, scaleHorizontal); + } + + @Override + protected int getColorMultiplier(EntityLivingBase entity, float lightBrightness, float interp) { + return this.getColorMultiplier((EntityGlyphidNuclear) entity, lightBrightness, interp); + } + + protected int getColorMultiplier(EntityGlyphidNuclear entity, float lightBrightness, float interp) { + float swell = (float) (entity.deathTicks + interp) / 20F; + + + + + int a = (int) (swell * 0.2F * 255.0F); + + if((int) (swell * 10.0F) % 4 < 2) + return a *= 0.75; + + if(a < 0) { + a = 0; + } + + if(a > 255) { + a = 255; + } + + short r = 255; + short g = 255; + short b = 255; + return a << 24 | r << 16 | g << 8 | b; + } + + public static class ModelGlyphid extends ModelBase { + + double bite = 0; + + @Override + public void setLivingAnimations(EntityLivingBase entity, float limbSwing, float limbSwingAmount, float interp) { + bite = entity.getSwingProgress(interp); + } + + @Override + public void render(Entity entity, float limbSwing, float limbSwingAmount, float rotationYaw, float rotationHeadYaw, float rotationPitch, float scale) { + GL11.glPushMatrix(); + + GL11.glRotatef(180, 1, 0, 0); + GL11.glTranslatef(0, -1.5F, 0); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glDisable(GL11.GL_CULL_FACE); + + double s = ((EntityGlyphid) entity).getScale(); + GL11.glScaled(s, s, s); + + EntityLivingBase living = (EntityLivingBase) entity; + byte armor = living.getDataWatcher().getWatchableObjectByte(17); + + double walkCycle = limbSwing; + + double speed = 100000D; + double chewing = 200000D; + double cy0 = Math.sin(walkCycle % (Math.PI * 2)); + double cy1 = Math.sin(walkCycle % (Math.PI * 2) - Math.PI * 0.5); + double cy2 = Math.sin(walkCycle % (Math.PI * 2) - Math.PI); + double cy3 = Math.sin(walkCycle % (Math.PI * 2) - Math.PI * 0.75); + + double bite = MathHelper.clamp_double(Math.sin(this.bite * Math.PI * 2 - Math.PI * 0.5), 0, 1) * 20; + double headTilt = Math.sin(this.bite * Math.PI) * 30; + + ResourceManager.glyphid.renderPart("Body"); + if((armor & (1 << 0)) > 0) ResourceManager.glyphid.renderPart("ArmorFront"); + if((armor & (1 << 1)) > 0) ResourceManager.glyphid.renderPart("ArmorLeft"); + if((armor & (1 << 2)) > 0) ResourceManager.glyphid.renderPart("ArmorRight"); + + /// LEFT ARM /// + GL11.glPushMatrix(); + GL11.glTranslated(0.25, 0.625, 0.0625); + GL11.glRotated(10, 0, 1, 0); + GL11.glRotated(35 + cy1 * 20, 1, 0, 0); + GL11.glTranslated(-0.25, -0.625, -0.0625); + ResourceManager.glyphid.renderPart("ArmLeftUpper"); + GL11.glTranslated(0.25, 0.625, 0.4375); + GL11.glRotated(-75 - cy1 * 20 + cy0 * 20, 1, 0, 0); + GL11.glTranslated(-0.25, -0.625, -0.4375); + ResourceManager.glyphid.renderPart("ArmLeftMid"); + GL11.glTranslated(0.25, 0.625, 0.9375); + GL11.glRotated(90 - cy0 * 45, 1, 0, 0); + GL11.glTranslated(-0.25, -0.625, -0.9375); + ResourceManager.glyphid.renderPart("ArmLeftLower"); + if((armor & (1 << 3)) > 0) ResourceManager.glyphid.renderPart("ArmLeftArmor"); + GL11.glPopMatrix(); + + /// RIGHT ARM /// + GL11.glPushMatrix(); + GL11.glTranslated(-0.25, 0.625, 0.0625); + GL11.glRotated(-10, 0, 1, 0); + GL11.glRotated(35 + cy2 * 20, 1, 0, 0); + GL11.glTranslated(0.25, -0.625, -0.0625); + ResourceManager.glyphid.renderPart("ArmRightUpper"); + GL11.glTranslated(-0.25, 0.625, 0.4375); + GL11.glRotated(-75 - cy2 * 20 + cy3 * 20, 1, 0, 0); + GL11.glTranslated(0.25, -0.625, -0.4375); + ResourceManager.glyphid.renderPart("ArmRightMid"); + GL11.glTranslated(-0.25, 0.625, 0.9375); + GL11.glRotated(90 - cy3 * 45, 1, 0, 0); + GL11.glTranslated(0.25, -0.625, -0.9375); + ResourceManager.glyphid.renderPart("ArmRightLower"); + if((armor & (1 << 4)) > 0) ResourceManager.glyphid.renderPart("ArmRightArmor"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + + GL11.glTranslated(0, 0.5, 0.25); + GL11.glRotated(headTilt, 0, 0, 1); + GL11.glTranslated(0, -0.5, -0.25); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.5, 0.25); + GL11.glRotated(-bite, 1, 0, 0); + GL11.glTranslated(0, -0.5, -0.25); + ResourceManager.glyphid.renderPart("JawTop"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.5, 0.25); + GL11.glRotated(bite, 0, 1, 0); + GL11.glRotated(bite, 1, 0, 0); + GL11.glTranslated(0, -0.5, -0.25); + ResourceManager.glyphid.renderPart("JawLeft"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.5, 0.25); + GL11.glRotated(-bite, 0, 1, 0); + GL11.glRotated(bite, 1, 0, 0); + GL11.glTranslated(0, -0.5, -0.25); + ResourceManager.glyphid.renderPart("JawRight"); + GL11.glPopMatrix(); + GL11.glPopMatrix(); + + double steppy = 15; + double bend = 60; + + for(int i = 0; i < 3; i++) { + + double c0 = cy0 * (i == 1 ? -1 : 1); + double c1 = cy1 * (i == 1 ? -1 : 1); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.25, 0); + GL11.glRotated(i * 30 - 15 + c0 * 7.5, 0, 1, 0); + GL11.glRotated(steppy + c1 * steppy, 0, 0, 1); + GL11.glTranslated(0, -0.25, 0); + ResourceManager.glyphid.renderPart("LegLeftUpper"); + GL11.glTranslated(0.5625, 0.25, 0); + GL11.glRotated(-bend - c1 * steppy, 0, 0, 1); + GL11.glTranslated(-0.5625, -0.25, 0); + ResourceManager.glyphid.renderPart("LegLeftLower"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 0.25, 0); + GL11.glRotated(i * 30 - 45 + c0 * 7.5, 0, 1, 0); + GL11.glRotated(-steppy + c1 * steppy, 0, 0, 1); + GL11.glTranslated(0, -0.25, 0); + ResourceManager.glyphid.renderPart("LegRightUpper"); + GL11.glTranslated(-0.5625, 0.25, 0); + GL11.glRotated(bend - c1 * steppy, 0, 0, 1); + GL11.glTranslated(0.5625, -0.25, 0); + ResourceManager.glyphid.renderPart("LegRightLower"); + GL11.glPopMatrix(); + } + + + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glTranslated(0, 1, 0); + GL11.glRotated(90, 1, 0, 0); + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.mini_nuke_tex); + ResourceManager.projectiles.renderPart("MiniNuke"); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + } +} diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 0058e4be6..5e2693e41 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -507,8 +507,12 @@ entity.entity_elder_one.name=Quackos der Älteste entity.entity_fucc_a_ducc.name=Ente entity.entity_glyphid.name=Glyphid entity.entity_glyphid_behemoth.name=Glyphid-Behemoth +entity.entity_glyphid_blaster.name=Glyphid-Blaster +entity.entity_glyphid_bombardier.name=Glyphid-Bombardierer entity.entity_glyphid_brawler.name=Glyphid-Schläger entity.entity_glyphid_brenda.name=Brenda +entity.entity_glyphid_nuclear.name=Der dicke Johnson +entity.entity_glyphid_scout.name=Glyphid-Späher entity.entity_ntm_fbi.name=FBI Agent entity.entity_ntm_radiation_blaze.name=Kernschmelze-Elementar entity.hbm.entity_ntm_ufo.name=Marsianisches Invasionsschiff diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 9c60416ef..846ac5558 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -953,8 +953,12 @@ entity.entity_elder_one.name=Quackos The Elder One entity.entity_fucc_a_ducc.name=Duck entity.entity_glyphid.name=Glyphid entity.entity_glyphid_behemoth.name=Glyphid Behemoth +entity.entity_glyphid_blaster.name=Glyphid Blaster +entity.entity_glyphid_bombardier.name=Glyphid Bombardier entity.entity_glyphid_brawler.name=Glyphid Brawler entity.entity_glyphid_brenda.name=Brenda +entity.entity_glyphid_nuclear.name=Big Man Johnson +entity.entity_glyphid_scout.name=Glyphid Scout entity.entity_ntm_fbi.name=FBI Agent entity.entity_ntm_radiation_blaze.name=Meltdown Elemental entity.hbm.entity_ntm_ufo.name=Martian Invasion Ship diff --git a/src/main/resources/assets/hbm/textures/entity/glyphid_nuclear.png b/src/main/resources/assets/hbm/textures/entity/glyphid_nuclear.png new file mode 100644 index 0000000000000000000000000000000000000000..af7c50fbcdb5dce79cd6bf2ead8cb7f8f8e255a6 GIT binary patch literal 2027 zcmV8=15FScOaS)J7z_l#%7<#1oEC za^0~%RR;tv4mMLrBh7xC*_qXkEz9`;Lrd-tm*0LfJG)C)zeAirePS8 z{I+eYrfEi_ZsoO)b-7O0b>lD$#D9I?t8H~%HxdyI!$5UiCwY8t7zS$FwzA60bkj6$ zpCx8q0gF6NBLT9EMXUu$K=bW)YQKM`?(xAS5BsR~kMpcPN|KMk!Yd%jlfRtD55^8? zim=*OU*gk`kP;+$s3^|s`+l!HtB>3Umy0UVRp2Gblh5G4QmohO-BmKW4>rwB|u_iS`M;huA1qV5EwFHd_lfmuh)}MMUoH+V`N*$5QvIL>#!^c z%UYuFP_=ElpPe)XX+GxM`SN~g9M-n&$nEuguTC7tkP{hvBBGh*LoBoC`#$+a=bNja z%g6gAkmS|7iGy*9vZAQu2uf%VN3+OH7)XwlFRzJczha0&u9P(2$Nghvd%=BFd5oFm zToIO&_3B63KSd$zKZz*uqq)I7ClVis9m7dOf=Akdr98~f`9+!5+Kc4n(vg1V>I}oM zorN`pV59O{>uj!mE?*lcsahl`;y~vYyLz69r;{D7^ZSYx!4VdY1CEdPv5xsw3%>D#YLZ`5y5F9{iSj~k*~F9Ai22#z`T$Tw9K}y>yv$8>9+s1 zA-tigk@r7>XCj_YIVVaL9aZq8-MbHdy@yA)FQG|<;~q|5io8>SR+9DGtJyTYnx*Lg z7VGtTl#6hj-Q=MSZ)5SE+b%sBNf~JJ$n%;TcUv&uf>ocPg(L1DGfA6gJsrS8zO4L} z_qj8r%99H4>Yb8r`RQzbSM%xh=1C}UKCPpmk_ya)3Ve+U)S!`%?aJR%^D&KmAtLG? zA9QjyPY3c?eS0!@zeL+S#V1Y_s6AYZmm*-YFGU>oE9>)!4g^VZJn|fqUf?KV;E85k zLL$Bt*7HK6Xnu~oq`y*u9(jz_Y@2Ujp^Y*UWhqeWI1a!|C@_bFbg3pJNhMF1uz^L_ zbye4OM07ae!Wqq)`FJl8A!Dw(u9H(giE}A1XTtk;VgJSP9}~5j6Mg-;O|#NCkJXup z2a`Y=JK>pY#FW|exjp%NE(PMRR%efg$BO>=bxWc&U-WgX#y|hf2Ga?F9Ou<_tsWC1 z(1B|zkl*Fi_4M3Vt|U%Xpe!f-_5{*Ykvz?mGe`*3$jGUzq`c*;PF1Kzp8U;1i~S^d zj{hS90(sRD?LPT-hv~&K#>y z{veV+3FfkV-L~z)=kZ6IpMIo%Pz#(_^Uz10`;`d31cotuk3$oD8TrEeI}8JL%P%&0 znu&nZmNUIZq#R)Fx?6sMXYOX&z)nj93u|;GEFYH*8#w=?2tqxRPy$v@foLHUiy32+ z!Le9)j^CQyBB<+{X!-Y)IJv$g3U47ro{LsQOHg@cRdEbvQ8KtgrR8b!yo&6m zzZt|{`pY#Xj9#+(s; zgBJ({BXT;grfa8{qWUpJ^G*H|7qkH_t@B{gOUia}St* z=`&$mV@kM1!IIeIB0K#JR&AgJ6M*mh$4a+R5MSxc7_!QPA=>!`1cJU z?IrIXTj!$ETvu~thelcJPR!W)5s z-^%5_snaHsBlr5Q9jO9w>j}S7%FV(ac{d6@4kS|iA2@X_d^18$(4-{M~JCS9ypLXigGuZ|QYz_yp#5p1nh&cYxrr z=2IHv-teSQil7P0_|RB}y;B6vM1 Date: Tue, 20 Jun 2023 20:28:00 +0200 Subject: [PATCH 194/285] better pathfinding, BDCL, nuclear glyphid improvements --- .../com/hbm/entity/mob/EntityGlyphid.java | 11 ++-- .../hbm/entity/mob/EntityGlyphidNuclear.java | 34 ++++++---- .../entity/pathfinder/PathFinderUtils.java | 62 ++++++++++++++++++ .../com/hbm/inventory/OreDictManager.java | 2 + .../inventory/recipes/AssemblerRecipes.java | 2 +- src/main/java/com/hbm/items/ModItems.java | 3 + .../java/com/hbm/items/food/ItemBDCL.java | 34 ++++++++++ .../hbm/items/tool/ItemPollutionDetector.java | 8 +-- src/main/resources/assets/hbm/lang/de_DE.lang | 1 + src/main/resources/assets/hbm/lang/en_US.lang | 1 + .../assets/hbm/textures/items/bdcl.png | Bin 0 -> 253 bytes 11 files changed, 133 insertions(+), 25 deletions(-) create mode 100644 src/main/java/com/hbm/entity/pathfinder/PathFinderUtils.java create mode 100644 src/main/java/com/hbm/items/food/ItemBDCL.java create mode 100644 src/main/resources/assets/hbm/textures/items/bdcl.png diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java index ab3e9ac51..775c7ea55 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java @@ -4,6 +4,7 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import com.hbm.entity.pathfinder.PathFinderUtils; import com.hbm.main.ResourceManager; import net.minecraft.entity.Entity; @@ -64,8 +65,9 @@ public class EntityGlyphid extends EntityMob { protected void updateEntityActionState() { super.updateEntityActionState(); - if(this.entityToAttack != null) { - this.setPathToEntity(this.worldObj.getPathEntityToEntity(this, this.entityToAttack, 128F, true, false, false, true)); + // hell yeah!! + if(this.entityToAttack != null && !this.hasPath()) { + this.setPathToEntity(PathFinderUtils.getPathEntityToEntityPartial(worldObj, this, this.entityToAttack, 16F, true, false, false, true)); } } @@ -73,11 +75,6 @@ public class EntityGlyphid extends EntityMob { protected boolean canDespawn() { return entityToAttack == null; } - - @Override - public int getMaxSafePointTries() { - return 10; - } @Override public boolean attackEntityFrom(DamageSource source, float amount) { diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphidNuclear.java b/src/main/java/com/hbm/entity/mob/EntityGlyphidNuclear.java index 8c6590203..62a3ae9a6 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphidNuclear.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphidNuclear.java @@ -79,22 +79,30 @@ public class EntityGlyphidNuclear extends EntityGlyphid { if(this.deathTicks == 100) { - ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, 25, this); - vnt.setBlockAllocator(new BlockAllocatorStandard(24)); - vnt.setBlockProcessor(new BlockProcessorStandard().withBlockEffect(new BlockMutatorDebris(ModBlocks.volcanic_lava_block, 0)).setNoDrop()); - vnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(1.5F)); - vnt.setPlayerProcessor(new PlayerProcessorStandard()); - vnt.explode(); - - 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); + if(!worldObj.isRemote) { + ExplosionVNT vnt = new ExplosionVNT(worldObj, posX, posY, posZ, 25, this); + vnt.setBlockAllocator(new BlockAllocatorStandard(24)); + vnt.setBlockProcessor(new BlockProcessorStandard().withBlockEffect(new BlockMutatorDebris(ModBlocks.volcanic_lava_block, 0)).setNoDrop()); + vnt.setEntityProcessor(new EntityProcessorStandard().withRangeMod(1.5F)); + 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)); } - PacketDispatcher.wrapper.sendToAllAround(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) { + worldObj.playSoundEffect(posX, posY, posZ, "hbm:weapon.fstbmbPing", 5.0F, 1.0F); + } } } } diff --git a/src/main/java/com/hbm/entity/pathfinder/PathFinderUtils.java b/src/main/java/com/hbm/entity/pathfinder/PathFinderUtils.java new file mode 100644 index 000000000..9d5b2f36c --- /dev/null +++ b/src/main/java/com/hbm/entity/pathfinder/PathFinderUtils.java @@ -0,0 +1,62 @@ +package com.hbm.entity.pathfinder; + +import net.minecraft.entity.Entity; +import net.minecraft.pathfinding.PathEntity; +import net.minecraft.pathfinding.PathFinder; +import net.minecraft.util.MathHelper; +import net.minecraft.util.Vec3; +import net.minecraft.world.ChunkCache; +import net.minecraft.world.World; + +public class PathFinderUtils { + + public static PathEntity getPathEntityToEntityPartial(World world, Entity fromEntity, Entity toEntity, float maxDist, boolean allowDoors, boolean allowBlocked, boolean allowWater, boolean canDrown) { + world.theProfiler.startSection("pathfind"); + int startX = MathHelper.floor_double(fromEntity.posX); + int startY = MathHelper.floor_double(fromEntity.posY + 1.0D); + int startZ = MathHelper.floor_double(fromEntity.posZ); + int maxDistEff = (int) (maxDist + 16.0F); + int minX = startX - maxDistEff; + int minY = startY - maxDistEff; + int minZ = startZ - maxDistEff; + int maxX = startX + maxDistEff; + int maxY = startY + maxDistEff; + int maxZ = startZ + maxDistEff; + ChunkCache chunkcache = new ChunkCache(world, minX, minY, minZ, maxX, maxY, maxZ, 0); + + Vec3 vec = Vec3.createVectorHelper(toEntity.posX - fromEntity.posX, toEntity.posY - fromEntity.posY, toEntity.posZ - fromEntity.posZ); + vec = vec.normalize(); + vec.xCoord *= maxDist; + vec.yCoord *= maxDist; + vec.zCoord *= maxDist; + + int x = (int) Math.floor(fromEntity.posX + vec.xCoord); + int y = (int) Math.floor(fromEntity.posY + vec.yCoord); + int z = (int) Math.floor(fromEntity.posZ + vec.zCoord); + + //this part will adjust the end of the path so it's actually on the ground, it being unreachable causes mobs to slow down + boolean solid = false; + + for(int i = y; i > y - 10; i--) { + if(!world.getBlock(x, i, z).getMaterial().blocksMovement() && world.getBlock(x, i - 1, z).isNormalCube()) { + solid = true; + y = i; + break; + } + + } + + if(!solid) for(int i = y + 10; i > y; i--) { + if(!world.getBlock(x, i, z).getMaterial().blocksMovement() && world.getBlock(x, i - 1, z).isNormalCube()) { + solid = true; + y = i; + break; + } + } + + //PathEntity pathentity = (new PathFinder(chunkcache, allowDoors, allowBlocked, allowWater, canDrown)).createEntityPathTo(fromEntity, toEntity, maxDist); + PathEntity pathentity = (new PathFinder(chunkcache, allowDoors, allowBlocked, allowWater, canDrown)).createEntityPathTo(fromEntity, x, y, z, maxDist); + world.theProfiler.endSection(); + return pathentity; + } +} diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 69e41bd65..271f58aac 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -574,6 +574,8 @@ public class OreDictManager { OreDictionary.registerOre("blockGlassLime", glass_trinitite); OreDictionary.registerOre("blockGlassRed", glass_polonium); OreDictionary.registerOre("blockGlassBlack", glass_ash); + + OreDictionary.registerOre("container1000lubricant", bdcl); MaterialShapes.registerCompatShapes(); } diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 38ae7cf5b..3711f5af2 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -281,7 +281,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.machine_flare, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 12), new OreDictStack(IRON.ingot(), 12), new OreDictStack(CU.plate528(), 4), new ComparableStack(ModItems.tank_steel, 1), new ComparableStack(ModBlocks.deco_pipe_quad, 8), new ComparableStack(ModItems.hull_small_steel, 4), new ComparableStack(ModItems.thermo_element, 3), },200); makeRecipe(new ComparableStack(ModBlocks.machine_coker, 1), new AStack[] {new OreDictStack(STEEL.plate(), 24), new OreDictStack(IRON.ingot(), 12), 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[] {new OreDictStack(STEEL.plate528(), 16), new OreDictStack(CU.plate(), 16), new ComparableStack(ModItems.hull_big_steel, 6), new ComparableStack(ModItems.pipes_steel, 2), new ComparableStack(ModItems.plate_polymer, 8), new ComparableStack(ModItems.circuit_red_copper, 1) },350); - makeRecipe(new ComparableStack(ModBlocks.machine_epress, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.bolt_tungsten, 4), new ComparableStack(ModItems.coil_copper, 2), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_copper, 1), new ComparableStack(ModItems.canister_full, 1, Fluids.LUBRICANT.getID()), },160); + makeRecipe(new ComparableStack(ModBlocks.machine_epress, 1), new AStack[] {new OreDictStack(STEEL.plate(), 8), new ComparableStack(ModItems.plate_polymer, 4), new ComparableStack(ModItems.bolt_tungsten, 4), new ComparableStack(ModItems.coil_copper, 2), new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_copper, 1), new OreDictStack(Fluids.LUBRICANT.getDict(1000)), },160); makeRecipe(new ComparableStack(ModBlocks.machine_chemplant, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 8), new OreDictStack(CU.plate528(), 6), new ComparableStack(ModItems.tank_steel, 4), new ComparableStack(ModItems.hull_big_steel, 1), new ComparableStack(ModItems.coil_tungsten, 3), new ComparableStack(ModItems.circuit_copper, 2), new ComparableStack(ModItems.circuit_red_copper, 1), new ComparableStack(ModItems.plate_polymer, 8), },200); makeRecipe(new ComparableStack(ModBlocks.machine_crystallizer, 1), new AStack[] {new ComparableStack(ModItems.hull_big_steel, 4), new ComparableStack(ModItems.pipes_steel, 1), new OreDictStack(DESH.ingot(), 4), new ComparableStack(ModItems.motor, 2), new ComparableStack(ModItems.blades_advanced_alloy, 2), new OreDictStack(STEEL.ingot(), 16), new OreDictStack(TI.plate(), 16), new ComparableStack(Blocks.glass, 4), new ComparableStack(ModItems.circuit_gold, 1), },400); makeRecipe(new ComparableStack(ModBlocks.machine_fluidtank, 1), new AStack[] {new OreDictStack(STEEL.ingot(), 2), new OreDictStack(STEEL.plate528(), 6), new ComparableStack(ModItems.hull_big_steel, 4), new OreDictStack(ANY_TAR.any(), 4), },150); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 35b9cb0d5..0b065d7a3 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1007,6 +1007,7 @@ public class ModItems { public static Item cap_sunset; public static Item cap_star; public static Item ring_pull; + public static Item bdcl; //public static Item canned_beef; //public static Item canned_tuna; //public static Item canned_mystery; @@ -3341,6 +3342,7 @@ public class ModItems { 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"); @@ -7618,6 +7620,7 @@ public class ModItems { 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()); diff --git a/src/main/java/com/hbm/items/food/ItemBDCL.java b/src/main/java/com/hbm/items/food/ItemBDCL.java new file mode 100644 index 000000000..1ec41d032 --- /dev/null +++ b/src/main/java/com/hbm/items/food/ItemBDCL.java @@ -0,0 +1,34 @@ +package com.hbm.items.food; + +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; + +public class ItemBDCL extends Item { + + @Override + public int getMaxItemUseDuration(ItemStack p_77626_1_) { + return 32; + } + + @Override + public EnumAction getItemUseAction(ItemStack p_77661_1_) { + return EnumAction.drink; + } + @Override + public ItemStack onItemRightClick(ItemStack stack, World world, EntityPlayer player) { + player.setItemInUse(stack, this.getMaxItemUseDuration(stack)); + return stack; + } + + @Override + public ItemStack onEaten(ItemStack stack, World world, EntityPlayer player) { + + if(!player.capabilities.isCreativeMode) { + --stack.stackSize; + } + return stack; + } +} diff --git a/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java index dca184a67..9b1a14ec3 100644 --- a/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java +++ b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java @@ -29,10 +29,10 @@ public class ItemPollutionDetector extends Item { float heavymetal = data.pollution[PollutionType.HEAVYMETAL.ordinal()]; float fallout = data.pollution[PollutionType.FALLOUT.ordinal()]; - soot = ((int) soot * 100) / 100F; - poison = ((int) poison * 100) / 100F; - heavymetal = ((int) heavymetal * 100) / 100F; - fallout = ((int) fallout * 100) / 100F; + soot = ((int) (soot * 100)) / 100F; + poison = ((int) (poison * 100)) / 100F; + heavymetal = ((int) (heavymetal * 100)) / 100F; + fallout = ((int) (fallout * 100)) / 100F; PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Soot: " + soot).color(EnumChatFormatting.YELLOW).flush(), 100, 2000), (EntityPlayerMP) entity); PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Poison: " + poison).color(EnumChatFormatting.YELLOW).flush(), 101, 2000), (EntityPlayerMP) entity); diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 5e2693e41..c9a2b3a46 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1160,6 +1160,7 @@ item.battery_steam_large.name=Großer dampfbetriebener Energiespeichertank item.battery_su.name=Einwegbatterie item.battery_su_l.name=Große Einwegbatterie item.battery_trixite.name=Billige Spark-Batterie-Nachmache +item.bdcl.name=BDCL item.beta.name=Beta-Features item.big_sword.name=Großes Schwert item.billet_am_mix.name=Reaktorfähiges Americiumbillet diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 846ac5558..652cd70fa 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1743,6 +1743,7 @@ 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=Off-Brand Spark Battery +item.bdcl.name=BDCL item.beta.name=Beta Features item.big_sword.name=Great Sword item.billet_actinium.name=Actinium-227 Billet diff --git a/src/main/resources/assets/hbm/textures/items/bdcl.png b/src/main/resources/assets/hbm/textures/items/bdcl.png new file mode 100644 index 0000000000000000000000000000000000000000..999de5f9091dbd5109e2a41ecd45f28e02170f14 GIT binary patch literal 253 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfS{VV?8diRxwWI{p164^NRD;ZA~23AWy+3}r`T}M+X ziDAy?HR7|^m7YH*#izJov)d96p^Ur5ks&wUedGAY#30dDY@{L?Aa?a~)to&ZyM(^Y z>{u|R$&iiVLTT)!{ep|vTODnFwB(Jx%>AY5O*0u6 Date: Tue, 20 Jun 2023 23:12:40 -0700 Subject: [PATCH 195/285] hid book lore from nei --- src/main/java/com/hbm/main/NEIConfig.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/hbm/main/NEIConfig.java b/src/main/java/com/hbm/main/NEIConfig.java index 41d03f7bd..1a2cd65a6 100644 --- a/src/main/java/com/hbm/main/NEIConfig.java +++ b/src/main/java/com/hbm/main/NEIConfig.java @@ -92,6 +92,7 @@ public class NEIConfig implements IConfigureNEI { 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 if(MainRegistry.polaroidID != 11) { API.hideItem(new ItemStack(ModItems.book_secret)); API.hideItem(new ItemStack(ModItems.book_of_)); From fdb4a1c39e94d5251618ab8b5320296fd683710e Mon Sep 17 00:00:00 2001 From: Vaern Date: Tue, 20 Jun 2023 23:20:58 -0700 Subject: [PATCH 196/285] Whoops! --- .../com/hbm/inventory/gui/GUIBookLore.java | 2 +- .../com/hbm/items/special/ItemBookLore.java | 79 ------------------- .../java/com/hbm/items/tool/ItemWandD.java | 4 +- 3 files changed, 4 insertions(+), 81 deletions(-) diff --git a/src/main/java/com/hbm/inventory/gui/GUIBookLore.java b/src/main/java/com/hbm/inventory/gui/GUIBookLore.java index ed9779e8c..5c5effbf5 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIBookLore.java +++ b/src/main/java/com/hbm/inventory/gui/GUIBookLore.java @@ -96,7 +96,7 @@ public class GUIBookLore extends GuiScreen { String k = "book_lore." + key + ".page."; for(int i = 0; i < 2; i++) { - int defacto = this.page * 2 + i; //TODO: force i18n to index from 0 instead of 1 + int defacto = this.page * 2 + i; if(defacto < tag.getInteger("p")) { String text; diff --git a/src/main/java/com/hbm/items/special/ItemBookLore.java b/src/main/java/com/hbm/items/special/ItemBookLore.java index ce2564fa3..6fe393616 100644 --- a/src/main/java/com/hbm/items/special/ItemBookLore.java +++ b/src/main/java/com/hbm/items/special/ItemBookLore.java @@ -142,83 +142,4 @@ public class ItemBookLore extends Item implements IGUIProvider { book.stackTagCompound.setTag("p" + page, data); } - //TODO remove this and fix any references - /*public enum BookLoreType { - TEST(true, "test", 5), - BOOK_IODINE(true, "book_iodine", 3) { - public String resolveKey(String key, NBTTagCompound tag) { - return I18nUtil.resolveKey(key, tag.getInteger("mku_slot")); - }}, - BOOK_PHOSPHOROUS(true, "book_phosphorous", 2) { - public String resolveKey(String key, NBTTagCompound tag) { - return I18nUtil.resolveKey(key, tag.getInteger("mku_slot")); - }}, - BOOK_DUST(true, "book_dust", 3) { - public String resolveKey(String key, NBTTagCompound tag) { - return I18nUtil.resolveKey(key, tag.getInteger("mku_slot")); - }}, - BOOK_MERCURY(true, "book_mercury", 2) { - public String resolveKey(String key, NBTTagCompound tag) { - return I18nUtil.resolveKey(key, tag.getInteger("mku_slot")); - }}, - BOOK_FLOWER(true, "book_flower", 2) { - public String resolveKey(String key, NBTTagCompound tag) { - return I18nUtil.resolveKey(key, tag.getInteger("mku_slot")); - }}, - BOOK_SYRINGE(true, "book_syringe", 2) { - public String resolveKey(String key, NBTTagCompound tag) { - return I18nUtil.resolveKey(key, tag.getInteger("mku_slot")); - }}, - RESIGNATION_NOTE(true, "resignation_note", 3), - MEMO_STOCKS(false, "memo_stocks", 1), - MEMO_SCHRAB_GSA(false, "memo_schrab_gsa", 2), - MEMO_SCHRAB_RD(false, "memo_schrab_rd", 4), - MEMO_SCHRAB_NUKE(true, "memo_schrab_nuke", 3), - ; - - public boolean hasAuthor = false; - public final String keyI18n; - public final int pages; - - private BookLoreType(Boolean author, String key, int max) { - this.hasAuthor = author; - this.keyI18n = key; - this.pages = max; - } - - private BookLoreType(String key, int max) { - this.keyI18n = key; - this.pages = max; - } - - /** Function to resolve I18n keys using potential save-dependent information, a la format specifiers. */ - /*public String resolveKey(String key, NBTTagCompound tag) { - return I18nUtil.resolveKey(key, tag); - } - - public static BookLoreType getTypeFromStack(ItemStack stack) { - if(!stack.hasTagCompound()) { - stack.stackTagCompound = new NBTTagCompound(); - } - - NBTTagCompound tag = stack.getTagCompound(); - int ordinal = tag.getInteger("Book_Lore_Type"); - - return BookLoreType.values()[Math.abs(ordinal) % BookLoreType.values().length]; - } - - public static ItemStack setTypeForStack(ItemStack stack, BookLoreType num) { - - if(stack.getItem() instanceof ItemBookLore) { - if(!stack.hasTagCompound()) { - stack.stackTagCompound = new NBTTagCompound(); - } - - NBTTagCompound tag = stack.getTagCompound(); - tag.setInteger("Book_Lore_Type", num.ordinal()); - } - - return stack; - } - }*/ } diff --git a/src/main/java/com/hbm/items/tool/ItemWandD.java b/src/main/java/com/hbm/items/tool/ItemWandD.java index 3864a35de..4c80ccab4 100644 --- a/src/main/java/com/hbm/items/tool/ItemWandD.java +++ b/src/main/java/com/hbm/items/tool/ItemWandD.java @@ -2,6 +2,8 @@ package com.hbm.items.tool; import java.util.List; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.lib.Library; import net.minecraft.entity.player.EntityPlayer; @@ -30,7 +32,7 @@ public class ItemWandD extends Item { vnt.setSFX(new ExplosionEffectStandard()); vnt.explode();*/ - //PollutionHandler.incrementPollution(world, pos.blockX, pos.blockY, pos.blockZ, PollutionType.SOOT, 15); + PollutionHandler.incrementPollution(world, pos.blockX, pos.blockY, pos.blockZ, PollutionType.SOOT, 15); /*TimeAnalyzer.startCount("setBlock"); world.setBlock(pos.blockX, pos.blockY, pos.blockZ, Blocks.dirt); From 6c32813baef6f74bdfc8080484b027874c22c996 Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 21 Jun 2023 13:53:15 +0200 Subject: [PATCH 197/285] FBI drones --- src/main/java/com/hbm/config/MobConfig.java | 2 + .../java/com/hbm/entity/EntityMappings.java | 1 + .../com/hbm/entity/mob/EntityFBIDrone.java | 64 ++++ .../com/hbm/entity/mob/EntityUFOBase.java | 4 +- .../com/hbm/handler/BossSpawnHandler.java | 10 + src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ResourceManager.java | 1 + .../hbm/render/entity/mob/RenderDrone.java | 45 +++ .../assets/hbm/models/mobs/quadcopter.obj | 360 ++++++++++++++++++ .../assets/hbm/textures/entity/quadcopter.png | Bin 0 -> 334 bytes 10 files changed, 486 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/hbm/entity/mob/EntityFBIDrone.java create mode 100644 src/main/java/com/hbm/render/entity/mob/RenderDrone.java create mode 100644 src/main/resources/assets/hbm/models/mobs/quadcopter.obj create mode 100644 src/main/resources/assets/hbm/textures/entity/quadcopter.png diff --git a/src/main/java/com/hbm/config/MobConfig.java b/src/main/java/com/hbm/config/MobConfig.java index cd01ac0c8..5232b8351 100644 --- a/src/main/java/com/hbm/config/MobConfig.java +++ b/src/main/java/com/hbm/config/MobConfig.java @@ -14,6 +14,7 @@ public class MobConfig { public static int raidDelay = 30 * 60 * 60; public static int raidChance = 3; public static int raidAmount = 15; + public static int raidDrones = 5; public static int raidAttackDelay = 40; public static int raidAttackReach = 2; public static int raidAttackDistance = 32; @@ -44,6 +45,7 @@ public class MobConfig { raidAttackDelay = CommonConfig.createConfigInt(config, CATEGORY, "12.F04_raidAttackDelay", "Time between individual attempts to break machines", 40); raidAttackReach = CommonConfig.createConfigInt(config, CATEGORY, "12.F05_raidAttackReach", "How far away machines can be broken", 2); raidAttackDistance = CommonConfig.createConfigInt(config, CATEGORY, "12.F06_raidAttackDistance", "How far away agents will spawn from the targeted player", 32); + raidDrones = CommonConfig.createConfigInt(config, CATEGORY, "12.F07_raidDrones", "How many quadcopter drones are spawned each raid", 5); enableElementals = CommonConfig.createConfigBool(config, CATEGORY, "12.E00_enableMeltdownElementals", "Whether there should be radiation elementals", true); elementalDelay = CommonConfig.createConfigInt(config, CATEGORY, "12.E01_elementalDelay", "How many world ticks need to pass for a check to be performed", 30 * 60 * 60); diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index fd59a34b9..b41ab7eb7 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -234,6 +234,7 @@ public class EntityMappings { addMob(EntityDuck.class, "entity_fucc_a_ducc", 0xd0d0d0, 0xFFBF00); addMob(EntityQuackos.class, "entity_elder_one", 0xd0d0d0, 0xFFBF00); 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); diff --git a/src/main/java/com/hbm/entity/mob/EntityFBIDrone.java b/src/main/java/com/hbm/entity/mob/EntityFBIDrone.java new file mode 100644 index 000000000..b773cd3ff --- /dev/null +++ b/src/main/java/com/hbm/entity/mob/EntityFBIDrone.java @@ -0,0 +1,64 @@ +package com.hbm.entity.mob; + +import com.hbm.entity.grenade.EntityGrenadeGeneric; + +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class EntityFBIDrone extends EntityUFOBase { + + private int attackCooldown; + + public EntityFBIDrone(World world) { + super(world); + } + + @Override + protected void updateEntityActionState() { + super.updateEntityActionState(); + if(this.courseChangeCooldown > 0) this.courseChangeCooldown--; + if(this.scanCooldown > 0) this.scanCooldown--; + + if(!worldObj.isRemote) { + + if(attackCooldown > 0) attackCooldown--; + + if(this.target != null && attackCooldown <= 0) { + + Vec3 vec = Vec3.createVectorHelper(posX - target.posX, posY - target.posY, posZ - target.posZ); + if(Math.abs(vec.xCoord) < 5 && Math.abs(vec.zCoord) < 5 && vec.yCoord > 3) { + attackCooldown = 60; + EntityGrenadeGeneric grenade = new EntityGrenadeGeneric(worldObj); + grenade.setPosition(posX, posY, posZ); + worldObj.spawnEntityInWorld(grenade); + } + } + } + + if(this.courseChangeCooldown > 0) { + approachPosition(this.target == null ? 0.25D : 0.5D); + } + } + + @Override + protected void applyEntityAttributes() { + super.applyEntityAttributes(); + this.getEntityAttribute(SharedMonsterAttributes.maxHealth).setBaseValue(35.0D); + } + + @Override + protected int getScanRange() { + return 100; + } + + @Override + protected int targetHeightOffset() { + return 7 + rand.nextInt(4); + } + + @Override + protected int wanderHeightOffset() { + return 7 + rand.nextInt(4); + } +} diff --git a/src/main/java/com/hbm/entity/mob/EntityUFOBase.java b/src/main/java/com/hbm/entity/mob/EntityUFOBase.java index 125cc1283..2468a5c2b 100644 --- a/src/main/java/com/hbm/entity/mob/EntityUFOBase.java +++ b/src/main/java/com/hbm/entity/mob/EntityUFOBase.java @@ -18,8 +18,8 @@ public abstract class EntityUFOBase extends EntityFlying implements IMob { protected int courseChangeCooldown; protected Entity target; - public EntityUFOBase(World p_i1587_1_) { - super(p_i1587_1_); + public EntityUFOBase(World world) { + super(world); } @Override diff --git a/src/main/java/com/hbm/handler/BossSpawnHandler.java b/src/main/java/com/hbm/handler/BossSpawnHandler.java index 5d981fd0d..5c3a206c7 100644 --- a/src/main/java/com/hbm/handler/BossSpawnHandler.java +++ b/src/main/java/com/hbm/handler/BossSpawnHandler.java @@ -7,6 +7,7 @@ import com.hbm.config.GeneralConfig; import com.hbm.config.MobConfig; import com.hbm.config.WorldConfig; import com.hbm.entity.mob.EntityFBI; +import com.hbm.entity.mob.EntityFBIDrone; import com.hbm.entity.mob.EntityGhost; import com.hbm.entity.mob.EntityMaskMan; import com.hbm.entity.mob.EntityRADBeast; @@ -97,6 +98,15 @@ public class BossSpawnHandler { trySpawn(world, (float)spawnX, (float)spawnY, (float)spawnZ, new EntityFBI(world)); } + + for(int i = 0; i < MobConfig.raidDrones; i++) { + + double spawnX = player.posX + vec.xCoord + world.rand.nextGaussian() * 5; + double spawnZ = player.posZ + vec.zCoord + world.rand.nextGaussian() * 5; + double spawnY = world.getHeightValue((int)spawnX, (int)spawnZ); + + trySpawn(world, (float)spawnX, (float)spawnY + 10, (float)spawnZ, new EntityFBIDrone(world)); + } } } } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 26133ebac..da86b7611 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -731,6 +731,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidBlaster.class, new RenderGlyphid()); RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidScout.class, new RenderGlyphid()); RenderingRegistry.registerEntityRenderingHandler(EntityGlyphidNuclear.class, new RenderGlyphidNuclear()); + RenderingRegistry.registerEntityRenderingHandler(EntityFBIDrone.class, new RenderDrone()); //"particles" RenderingRegistry.registerEntityRenderingHandler(EntitySmokeFX.class, new MultiCloudRenderer(new Item[] { ModItems.smoke1, ModItems.smoke2, ModItems.smoke3, ModItems.smoke4, ModItems.smoke5, ModItems.smoke6, ModItems.smoke7, ModItems.smoke8 })); 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 })); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 4820c556d..869fc2066 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -306,6 +306,7 @@ public class ResourceManager { public static final IModelCustom mini_ufo = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/mobs/mini_ufo.obj")); 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")); diff --git a/src/main/java/com/hbm/render/entity/mob/RenderDrone.java b/src/main/java/com/hbm/render/entity/mob/RenderDrone.java new file mode 100644 index 000000000..664bb4275 --- /dev/null +++ b/src/main/java/com/hbm/render/entity/mob/RenderDrone.java @@ -0,0 +1,45 @@ +package com.hbm.render.entity.mob; + +import java.util.Random; + +import org.lwjgl.opengl.GL11; + +import com.hbm.entity.mob.EntityFBIDrone; +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 RenderDrone 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); + + this.bindTexture(getEntityTexture(entity)); + + Random rand = new Random(entity.getEntityId()); + GL11.glRotated(rand.nextDouble() * 360D, 0, 1, 0); + + GL11.glShadeModel(GL11.GL_SMOOTH); + GL11.glDisable(GL11.GL_CULL_FACE); + ResourceManager.drone.renderAll(); + GL11.glEnable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + @Override + protected ResourceLocation getEntityTexture(Entity entity) { + return this.getEntityTexture((EntityFBIDrone) entity); + } + + protected ResourceLocation getEntityTexture(EntityFBIDrone entity) { + return new ResourceLocation(RefStrings.MODID + ":textures/entity/quadcopter.png"); + } +} diff --git a/src/main/resources/assets/hbm/models/mobs/quadcopter.obj b/src/main/resources/assets/hbm/models/mobs/quadcopter.obj new file mode 100644 index 000000000..2c9858362 --- /dev/null +++ b/src/main/resources/assets/hbm/models/mobs/quadcopter.obj @@ -0,0 +1,360 @@ +# Blender v2.79 (sub 0) OBJ File: 'quadcopter.blend' +# www.blender.org +o Cube_Cube.001 +v -0.187500 0.125000 0.500000 +v -0.187500 0.375000 0.500000 +v -0.187500 0.125000 -0.500000 +v -0.187500 0.375000 -0.500000 +v 0.187500 0.125000 0.500000 +v 0.187500 0.375000 0.500000 +v 0.187500 0.125000 -0.500000 +v 0.187500 0.375000 -0.500000 +v 0.437500 0.125000 0.562500 +v 0.437500 0.500000 0.562500 +v 0.437500 0.125000 0.437500 +v 0.437500 0.500000 0.437500 +v 0.562500 0.125000 0.562500 +v 0.562500 0.500000 0.562500 +v 0.562500 0.125000 0.437500 +v 0.562500 0.500000 0.437500 +v 0.437500 0.125000 -0.437500 +v 0.437500 0.500000 -0.437500 +v 0.437500 0.125000 -0.562500 +v 0.437500 0.500000 -0.562500 +v 0.562500 0.125000 -0.437500 +v 0.562500 0.500000 -0.437500 +v 0.562500 0.125000 -0.562500 +v 0.562500 0.500000 -0.562500 +v -0.562500 0.125000 0.562500 +v -0.562500 0.500000 0.562500 +v -0.562500 0.125000 0.437500 +v -0.562500 0.500000 0.437500 +v -0.437500 0.125000 0.562500 +v -0.437500 0.500000 0.562500 +v -0.437500 0.125000 0.437500 +v -0.437500 0.500000 0.437500 +v -0.562500 0.125000 -0.437500 +v -0.562500 0.500000 -0.437500 +v -0.562500 0.125000 -0.562500 +v -0.562500 0.500000 -0.562500 +v -0.437500 0.125000 -0.437500 +v -0.437500 0.500000 -0.437500 +v -0.437500 0.125000 -0.562500 +v -0.437500 0.500000 -0.562500 +v 0.437500 0.187500 0.531250 +v 0.437500 0.312500 0.531250 +v 0.437500 0.187500 0.468750 +v 0.437500 0.312500 0.468750 +v 0.187500 0.187500 0.343750 +v 0.187500 0.187500 0.406250 +v 0.187500 0.312500 0.406250 +v 0.187500 0.312500 0.343750 +v -0.437500 0.187500 -0.531250 +v -0.437500 0.312500 -0.531250 +v -0.437500 0.187500 -0.468750 +v -0.437500 0.312500 -0.468750 +v -0.187500 0.187500 -0.343750 +v -0.187500 0.187500 -0.406250 +v -0.187500 0.312500 -0.406250 +v -0.187500 0.312500 -0.343750 +v 0.437500 0.312500 -0.531250 +v 0.437500 0.187500 -0.531250 +v 0.437500 0.312500 -0.468750 +v 0.437500 0.187500 -0.468750 +v 0.187500 0.312500 -0.343750 +v 0.187500 0.312500 -0.406250 +v 0.187500 0.187500 -0.406250 +v 0.187500 0.187500 -0.343750 +v -0.437500 0.312500 0.531250 +v -0.437500 0.187500 0.531250 +v -0.437500 0.312500 0.468750 +v -0.437500 0.187500 0.468750 +v -0.187500 0.312500 0.343750 +v -0.187500 0.312500 0.406250 +v -0.187500 0.187500 0.406250 +v -0.187500 0.187500 0.343750 +v -0.500000 0.500000 0.250000 +v -0.676777 0.500000 0.323223 +v -0.750000 0.500000 0.500000 +v -0.676777 0.500000 0.676777 +v -0.500000 0.500000 0.750000 +v -0.323223 0.500000 0.676777 +v -0.250000 0.500000 0.500000 +v -0.323223 0.500000 0.323223 +v 0.500000 0.500000 0.250000 +v 0.323223 0.500000 0.323223 +v 0.250000 0.500000 0.500000 +v 0.323223 0.500000 0.676777 +v 0.500000 0.500000 0.750000 +v 0.676777 0.500000 0.676777 +v 0.750000 0.500000 0.500000 +v 0.676777 0.500000 0.323223 +v -0.500000 0.500000 -0.750000 +v -0.676777 0.500000 -0.676777 +v -0.750000 0.500000 -0.500000 +v -0.676777 0.500000 -0.323223 +v -0.500000 0.500000 -0.250000 +v -0.323223 0.500000 -0.323223 +v -0.250000 0.500000 -0.500000 +v -0.323223 0.500000 -0.676777 +v 0.500000 0.500000 -0.750000 +v 0.323223 0.500000 -0.676777 +v 0.250000 0.500000 -0.500000 +v 0.323223 0.500000 -0.323223 +v 0.500000 0.500000 -0.250000 +v 0.676777 0.500000 -0.323223 +v 0.750000 0.500000 -0.500000 +v 0.676777 0.500000 -0.676777 +vt 0.125000 0.800000 +vt 0.625000 1.000000 +vt 0.125000 1.000000 +vt 0.625000 0.800000 +vt 0.750000 0.500000 +vt 0.750000 0.800000 +vt 0.625000 0.500000 +vt 0.125000 0.300000 +vt 0.625000 0.300000 +vt 0.125000 0.500000 +vt 0.000000 0.800000 +vt 0.000000 0.500000 +vt 0.125000 0.000000 +vt 0.625000 0.000000 +vt 0.812500 1.000000 +vt 0.750000 0.700000 +vt 0.812500 0.700000 +vt 1.000000 1.000000 +vt 0.937500 0.700000 +vt 1.000000 0.700000 +vt 0.937500 1.000000 +vt 0.875000 0.700000 +vt 0.875000 1.000000 +vt 0.875000 0.600000 +vt 0.812500 0.600000 +vt 0.812500 1.000000 +vt 0.750000 0.700000 +vt 0.812500 0.700000 +vt 1.000000 1.000000 +vt 0.937500 0.700000 +vt 1.000000 0.700000 +vt 0.937500 1.000000 +vt 0.875000 0.700000 +vt 0.875000 1.000000 +vt 0.875000 0.600000 +vt 0.812500 0.600000 +vt 0.812500 1.000000 +vt 0.750000 0.700000 +vt 0.812500 0.700000 +vt 1.000000 1.000000 +vt 0.937500 0.700000 +vt 1.000000 0.700000 +vt 0.937500 1.000000 +vt 0.875000 0.700000 +vt 0.875000 1.000000 +vt 0.875000 0.600000 +vt 0.812500 0.600000 +vt 0.875000 0.598554 +vt 0.750904 0.400000 +vt 0.875000 0.201446 +vt 0.812500 1.000000 +vt 0.750000 0.700000 +vt 0.812500 0.700000 +vt 1.000000 1.000000 +vt 0.937500 0.700000 +vt 1.000000 0.700000 +vt 0.937500 1.000000 +vt 0.875000 0.700000 +vt 0.875000 1.000000 +vt 0.875000 0.600000 +vt 0.812500 0.600000 +vt 0.625000 0.200000 +vt 0.750000 0.300000 +vt 0.625000 0.300000 +vt 0.625000 0.050000 +vt 0.750000 0.150000 +vt 0.625000 0.150000 +vt 0.750000 0.300000 +vt 0.625000 0.200000 +vt 0.750000 0.200000 +vt 0.750000 0.150000 +vt 0.625000 0.050000 +vt 0.750000 0.050000 +vt 0.625000 0.150000 +vt 0.750000 0.000000 +vt 0.625000 0.000000 +vt 0.750000 0.200000 +vt 0.750000 0.000000 +vt 0.750000 0.050000 +vt 0.625000 0.050000 +vt 0.750000 0.150000 +vt 0.625000 0.150000 +vt 0.625000 0.200000 +vt 0.750000 0.300000 +vt 0.625000 0.300000 +vt 0.750000 0.150000 +vt 0.625000 0.050000 +vt 0.750000 0.050000 +vt 0.750000 0.300000 +vt 0.625000 0.200000 +vt 0.750000 0.200000 +vt 0.625000 0.000000 +vt 0.750000 0.000000 +vt 0.625000 0.150000 +vt 0.625000 0.000000 +vt 0.750000 0.050000 +vt 0.750000 0.200000 +vt 0.999096 0.400000 +vt 0.962749 0.540399 +vt 0.875000 0.598554 +vt 0.875000 0.598554 +vt 0.750904 0.400000 +vt 0.875000 0.201446 +vt 0.999096 0.400000 +vt 0.962749 0.540399 +vt 0.875000 0.598554 +vt 0.750000 1.000000 +vt 0.750000 1.000000 +vt 0.750000 1.000000 +vt 0.787251 0.540399 +vt 0.787251 0.259601 +vt 0.962749 0.259601 +vt 0.999096 0.400000 +vt 0.962749 0.540399 +vt 0.750000 1.000000 +vt 0.625000 0.300000 +vt 0.625000 0.000000 +vt 0.625000 0.300000 +vt 0.750000 0.000000 +vt 0.787251 0.540399 +vt 0.875000 0.201446 +vt 0.750904 0.400000 +vt 0.787251 0.259601 +vt 0.962749 0.259601 +vt 0.787251 0.540399 +vt 0.787251 0.259601 +vt 0.962749 0.259601 +vt 0.999096 0.400000 +vt 0.962749 0.540399 +vt 0.787251 0.540399 +vt 0.875000 0.201446 +vt 0.750904 0.400000 +vt 0.787251 0.259601 +vt 0.962749 0.259601 +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.4472 0.0000 -0.8944 +vn -0.4472 0.0000 0.8944 +vn 0.4472 0.0000 0.8944 +vn -0.4472 0.0000 -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/9/5 1/13/5 3/14/5 +f 4/4/6 6/10/6 8/7/6 +f 10/15/1 11/16/1 9/17/1 +f 12/18/2 15/19/2 11/20/2 +f 16/21/3 13/22/3 15/19/3 +f 14/23/4 9/17/4 13/22/4 +f 15/24/5 9/17/5 11/25/5 +f 18/26/1 19/27/1 17/28/1 +f 20/29/2 23/30/2 19/31/2 +f 24/32/3 21/33/3 23/30/3 +f 22/34/4 17/28/4 21/33/4 +f 23/35/5 17/28/5 19/36/5 +f 26/37/1 27/38/1 25/39/1 +f 28/40/2 31/41/2 27/42/2 +f 32/43/3 29/44/3 31/41/3 +f 30/45/4 25/39/4 29/44/4 +f 31/46/5 25/39/5 27/47/5 +f 81/48/6 83/49/6 85/50/6 +f 34/51/1 35/52/1 33/53/1 +f 36/54/2 39/55/2 35/56/2 +f 40/57/3 37/58/3 39/55/3 +f 38/59/4 33/53/4 37/58/4 +f 39/60/5 33/53/5 35/61/5 +f 50/62/7 54/63/7 49/64/7 +f 51/65/8 56/66/8 52/67/8 +f 43/68/7 48/69/7 44/70/7 +f 42/71/8 46/72/8 41/73/8 +f 44/70/6 47/74/6 42/71/6 +f 43/75/5 46/72/5 45/76/5 +f 52/67/6 55/77/6 50/62/6 +f 51/65/5 54/78/5 53/79/5 +f 66/80/9 70/81/9 65/82/9 +f 67/83/10 72/84/10 68/85/10 +f 59/86/9 64/87/9 60/88/9 +f 58/89/10 62/90/10 57/91/10 +f 60/88/5 63/92/5 58/93/5 +f 59/86/6 62/90/6 61/94/6 +f 68/95/5 71/96/5 66/80/5 +f 67/83/6 70/81/6 69/97/6 +f 79/98/6 80/99/6 73/100/6 +f 97/101/6 99/102/6 101/103/6 +f 95/104/6 96/105/6 89/106/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 10/15/1 12/107/1 11/16/1 +f 12/18/2 16/21/2 15/19/2 +f 16/21/3 14/23/3 13/22/3 +f 14/23/4 10/15/4 9/17/4 +f 15/24/5 13/22/5 9/17/5 +f 18/26/1 20/108/1 19/27/1 +f 20/29/2 24/32/2 23/30/2 +f 24/32/3 22/34/3 21/33/3 +f 22/34/4 18/26/4 17/28/4 +f 23/35/5 21/33/5 17/28/5 +f 26/37/1 28/109/1 27/38/1 +f 28/40/2 32/43/2 31/41/2 +f 32/43/3 30/45/3 29/44/3 +f 30/45/4 26/37/4 25/39/4 +f 31/46/5 29/44/5 25/39/5 +f 81/48/6 82/110/6 83/49/6 +f 83/49/6 84/111/6 85/50/6 +f 85/50/6 86/112/6 87/113/6 +f 87/113/6 88/114/6 85/50/6 +f 88/114/6 81/48/6 85/50/6 +f 34/51/1 36/115/1 35/52/1 +f 36/54/2 40/57/2 39/55/2 +f 40/57/3 38/59/3 37/58/3 +f 38/59/4 34/51/4 33/53/4 +f 39/60/5 37/58/5 33/53/5 +f 50/62/7 55/77/7 54/63/7 +f 51/65/8 53/79/8 56/66/8 +f 43/68/7 45/116/7 48/69/7 +f 42/71/8 47/74/8 46/72/8 +f 44/70/6 48/69/6 47/74/6 +f 43/75/5 41/73/5 46/72/5 +f 52/67/6 56/66/6 55/77/6 +f 51/65/5 49/117/5 54/78/5 +f 66/80/9 71/96/9 70/81/9 +f 67/83/10 69/97/10 72/84/10 +f 59/86/9 61/94/9 64/87/9 +f 58/89/10 63/118/10 62/90/10 +f 60/88/5 64/87/5 63/92/5 +f 59/86/6 57/91/6 62/90/6 +f 68/95/5 72/119/5 71/96/5 +f 67/83/6 65/82/6 70/81/6 +f 73/100/6 74/120/6 77/121/6 +f 74/120/6 75/122/6 77/121/6 +f 75/122/6 76/123/6 77/121/6 +f 77/121/6 78/124/6 73/100/6 +f 78/124/6 79/98/6 73/100/6 +f 97/101/6 98/125/6 99/102/6 +f 99/102/6 100/126/6 101/103/6 +f 101/103/6 102/127/6 103/128/6 +f 103/128/6 104/129/6 101/103/6 +f 104/129/6 97/101/6 101/103/6 +f 89/106/6 90/130/6 93/131/6 +f 90/130/6 91/132/6 93/131/6 +f 91/132/6 92/133/6 93/131/6 +f 93/131/6 94/134/6 89/106/6 +f 94/134/6 95/104/6 89/106/6 diff --git a/src/main/resources/assets/hbm/textures/entity/quadcopter.png b/src/main/resources/assets/hbm/textures/entity/quadcopter.png new file mode 100644 index 0000000000000000000000000000000000000000..26d6b5518e6e5642dd6161e9f332b95b30aae07a GIT binary patch literal 334 zcmV-U0kQsxP)ZLP&13_aXj0h54)NvH%QRKg@o!X#7z5-MR5kbr}|AMe5A z5|U*fWcU0bDbSXl(*}bI<2Y`$?FiO&HAnotTgG7+P6dxK9`^M*73oGaE6{pLFPN*G z?_rOEcX=qi{Hg{@e|yzzQgA0ySENeUUGkkGyc0yU{jIRpVp*2WIR|SkMC3Ptny0H> zP~K-|hzL{_M3n6!0st`8-PniGsM z=ES;B!W2BAEI-ge14-d^a3X^D9?rRJW9I%ENP$8K003((hzP3s--bP*s-~oXnLqX) gpM;Mm@c4h=2NX7iSuZx(r2qf`07*qoM6N<$f>WJ_I{*Lx literal 0 HcmV?d00001 From ee7c10174a42a62f4a7b1f04ae22dcce5f256d8e Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 21 Jun 2023 21:47:20 +0200 Subject: [PATCH 198/285] compressor recipes --- .../java/com/hbm/inventory/FluidStack.java | 10 +++- .../container/ContainerCompressor.java | 25 ++++++-- .../inventory/recipes/CompressorRecipes.java | 57 +++++++++++++++++++ .../machine/TileEntityMachineCompressor.java | 2 +- 4 files changed, 86 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java diff --git a/src/main/java/com/hbm/inventory/FluidStack.java b/src/main/java/com/hbm/inventory/FluidStack.java index f508ed0ab..03b001ef4 100644 --- a/src/main/java/com/hbm/inventory/FluidStack.java +++ b/src/main/java/com/hbm/inventory/FluidStack.java @@ -3,9 +3,10 @@ package com.hbm.inventory; import com.hbm.inventory.fluid.FluidType; public class FluidStack { - - public int fill; + public FluidType type; + public int fill; + public int pressure; public FluidStack(int fill, FluidType type) { this.fill = fill; @@ -13,7 +14,12 @@ public class FluidStack { } public FluidStack(FluidType type, int fill) { + this(type, fill, 0); + } + + public FluidStack(FluidType type, int fill, int pressure) { this.fill = fill; this.type = type; + this.pressure = pressure; } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerCompressor.java b/src/main/java/com/hbm/inventory/container/ContainerCompressor.java index 32e147770..e54aee2d3 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCompressor.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCompressor.java @@ -1,7 +1,9 @@ package com.hbm.inventory.container; +import com.hbm.items.machine.IItemFluidIdentifier; import com.hbm.tileentity.machine.TileEntityMachineCompressor; +import api.hbm.energy.IBatteryItem; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -16,7 +18,9 @@ public class ContainerCompressor extends Container { compressor = tile; //Fluid ID - this.addSlotToContainer(new Slot(tile, 0, 35, 72)); + this.addSlotToContainer(new Slot(tile, 0, 17, 72)); + //Battery + this.addSlotToContainer(new Slot(tile, 1, 152, 72)); for(int i = 0; i < 3; i++) { for(int j = 0; j < 9; j++) { @@ -43,12 +47,23 @@ public class ContainerCompressor extends Container { ItemStack var5 = var4.getStack(); var3 = var5.copy(); - if(index == 0) { - if(!this.mergeItemStack(var5, 1, this.inventorySlots.size(), true)) { + if(index < 2) { + if(!this.mergeItemStack(var5, 2, this.inventorySlots.size(), true)) { + return null; + } + } else { + + if(var3.getItem() instanceof IBatteryItem) { + if(!this.mergeItemStack(var5, 1, 2, false)) { + return null; + } + } else if(var3.getItem() instanceof IItemFluidIdentifier) { + if(!this.mergeItemStack(var5, 0, 1, false)) { + return null; + } + } else { return null; } - } else if(!this.mergeItemStack(var5, 0, 1, false)) { - return null; } if(var5.stackSize == 0) { diff --git a/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java b/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java new file mode 100644 index 000000000..15f5b2baa --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java @@ -0,0 +1,57 @@ +package com.hbm.inventory.recipes; + +import java.io.IOException; +import java.util.HashMap; + +import com.google.gson.JsonElement; +import com.google.gson.stream.JsonWriter; +import com.hbm.inventory.FluidStack; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.util.Tuple.Pair; + +public class CompressorRecipes extends SerializableRecipe { + + public static HashMap, CompressorRecipe> recipes = new HashMap(); + + @Override + public void registerDefaults() { + + } + + public static class CompressorRecipe { + + public FluidStack output; + public int inputAmount; + + public CompressorRecipe(int input, FluidStack output) { + this.output = output; + this.inputAmount = input; + } + } + + @Override + public String getFileName() { + return "hbmCompressor.json"; + } + + @Override + public Object getRecipeObject() { + return recipes; + } + + @Override + public void deleteRecipes() { + recipes.clear(); + } + + @Override + public void readRecipe(JsonElement recipe) { + + } + + @Override + public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { + + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java index 932e56e59..69c09f344 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java @@ -15,7 +15,7 @@ import net.minecraft.world.World; public class TileEntityMachineCompressor extends TileEntityMachineBase implements IGUIProvider { public TileEntityMachineCompressor() { - super(1); + super(2); } @Override From 7d8ee8ce2441ba3507e4c2051aa948f56c908296 Mon Sep 17 00:00:00 2001 From: Toshayo Date: Wed, 21 Jun 2023 22:40:56 +0200 Subject: [PATCH 199/285] Ported Sliding Blast Door from 1.12.2 using new door API. Introduced door skins --- src/main/java/com/hbm/blocks/ModBlocks.java | 7 +- .../hbm/blocks/generic/BlockDoorGeneric.java | 11 +- src/main/java/com/hbm/interfaces/IDoor.java | 18 +- .../inventory/recipes/AssemblerRecipes.java | 11 + src/main/java/com/hbm/items/ModItems.java | 9 +- .../com/hbm/items/special/ItemDoorSkin.java | 36 + .../special/ItemSlidingBlastDoorSkin.java | 22 + .../java/com/hbm/main/CraftingManager.java | 5 + .../java/com/hbm/main/ResourceManager.java | 13 +- .../com/hbm/packet/TEDoorAnimationPacket.java | 9 +- .../render/tileentity/RenderDoorGeneric.java | 6 +- .../java/com/hbm/tileentity/DoorDecl.java | 689 ++++++++++-------- .../hbm/tileentity/TileEntityDoorGeneric.java | 22 +- src/main/resources/assets/hbm/lang/en_US.lang | 2 + .../hbm/models/doors/sliding_blast_door.dae | 523 +++++++++++++ src/main/resources/assets/hbm/sounds.json | 3 + .../sounds/block/door/sliding_door_opened.ogg | Bin 0 -> 13499 bytes .../block/door/sliding_door_opening.ogg | Bin 0 -> 14886 bytes .../sounds/block/door/sliding_door_shut.ogg | Bin 0 -> 8560 bytes .../assets/hbm/textures/blocks/img.png | Bin 0 -> 153 bytes .../textures/blocks/sliding_blast_door.png | Bin 0 -> 246 bytes .../items/sliding_blast_door_default.png | Bin 0 -> 246 bytes .../items/sliding_blast_door_variant1.png | Bin 0 -> 5180 bytes .../items/sliding_blast_door_variant2.png | Bin 0 -> 4941 bytes .../models/doors/sliding_blast_door.png | Bin 0 -> 63126 bytes .../doors/sliding_blast_door_variant1.png | Bin 0 -> 48305 bytes .../doors/sliding_blast_door_variant2.png | Bin 0 -> 41151 bytes 27 files changed, 1080 insertions(+), 306 deletions(-) create mode 100644 src/main/java/com/hbm/items/special/ItemDoorSkin.java create mode 100644 src/main/java/com/hbm/items/special/ItemSlidingBlastDoorSkin.java create mode 100644 src/main/resources/assets/hbm/models/doors/sliding_blast_door.dae create mode 100644 src/main/resources/assets/hbm/sounds/block/door/sliding_door_opened.ogg create mode 100644 src/main/resources/assets/hbm/sounds/block/door/sliding_door_opening.ogg create mode 100644 src/main/resources/assets/hbm/sounds/block/door/sliding_door_shut.ogg create mode 100644 src/main/resources/assets/hbm/textures/blocks/img.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/sliding_blast_door.png create mode 100644 src/main/resources/assets/hbm/textures/items/sliding_blast_door_default.png create mode 100644 src/main/resources/assets/hbm/textures/items/sliding_blast_door_variant1.png create mode 100644 src/main/resources/assets/hbm/textures/items/sliding_blast_door_variant2.png create mode 100644 src/main/resources/assets/hbm/textures/models/doors/sliding_blast_door.png create mode 100644 src/main/resources/assets/hbm/textures/models/doors/sliding_blast_door_variant1.png create mode 100644 src/main/resources/assets/hbm/textures/models/doors/sliding_blast_door_variant2.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 1a9438c41..5db4eb22e 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -601,6 +601,7 @@ public class ModBlocks { 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; @@ -2064,6 +2065,9 @@ public class ModBlocks { vault_door = new VaultDoor(Material.iron).setBlockName("vault_door").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":vault_door"); blast_door = new BlastDoor(Material.iron).setBlockName("blast_door").setHardness(10.0F).setResistance(10000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":blast_door"); + + sliding_blast_door = new BlockDoorGeneric(Material.iron, DoorDecl.SLIDE_DOOR).setBlockName("sliding_blast_door").setHardness(150.0F).setResistance(7500.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(10000.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(10000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":transition_seal"); @@ -2985,7 +2989,8 @@ public class ModBlocks { GameRegistry.registerBlock(blast_door, blast_door.getUnlocalizedName()); GameRegistry.registerBlock(fire_door, fire_door.getUnlocalizedName()); GameRegistry.registerBlock(transition_seal, transition_seal.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()); diff --git a/src/main/java/com/hbm/blocks/generic/BlockDoorGeneric.java b/src/main/java/com/hbm/blocks/generic/BlockDoorGeneric.java index 4dad6a3a9..ea3780a27 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockDoorGeneric.java +++ b/src/main/java/com/hbm/blocks/generic/BlockDoorGeneric.java @@ -3,6 +3,7 @@ package com.hbm.blocks.generic; import java.util.List; import com.hbm.blocks.BlockDummyable; +import com.hbm.items.special.ItemDoorSkin; import com.hbm.tileentity.DoorDecl; import com.hbm.tileentity.TileEntityDoorGeneric; import com.hbm.util.fauxpointtwelve.BlockPos; @@ -54,12 +55,14 @@ public class BlockDoorGeneric extends BlockDummyable { TileEntityDoorGeneric door = (TileEntityDoorGeneric) world.getTileEntity(pos1[0], pos1[1], pos1[2]); if(door != null) { - return door.tryToggle(playerIn); + if(playerIn.getHeldItem() != null && playerIn.getHeldItem().getItem() instanceof ItemDoorSkin) { + return door.setSkinIndex((byte) playerIn.getHeldItem().getItemDamage()); + } else { + return door.tryToggle(playerIn); + } } } - if(!playerIn.isSneaking()) - return true; - return false; + return !playerIn.isSneaking(); } @Override diff --git a/src/main/java/com/hbm/interfaces/IDoor.java b/src/main/java/com/hbm/interfaces/IDoor.java index 2b101dd76..81d6229ed 100644 --- a/src/main/java/com/hbm/interfaces/IDoor.java +++ b/src/main/java/com/hbm/interfaces/IDoor.java @@ -2,16 +2,20 @@ package com.hbm.interfaces; public interface IDoor { - public void open(); - public void close(); - public DoorState getState(); - public void toggle(); - public default boolean setTexture(String tex) { + 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; } - public default void setTextureState(byte tex) { }; - public enum DoorState { + enum DoorState { CLOSED, OPEN, CLOSING, diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 818f2b000..1144f469c 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -1174,6 +1174,17 @@ public class AssemblerRecipes { new ComparableStack(ModItems.bolt_dura_steel, 12), new OreDictStack(KEY_YELLOW, 4) }, 1200); + + makeRecipe(new ComparableStack(ModBlocks.sliding_blast_door, 1), new AStack[] { + new OreDictStack(STEEL.ingot(), 16), + new OreDictStack(W.ingot(), 8), + new ComparableStack(ModBlocks.reinforced_glass, 4), + new ComparableStack(Blocks.quartz_block, 10), + new ComparableStack(ModItems.plate_polymer, 3), + new ComparableStack(ModItems.bolt_tungsten, 3), + new ComparableStack(ModItems.bolt_dura_steel, 3), + new ComparableStack(ModItems.motor, 2) + }, 300); if(Loader.isModLoaded("Mekanism")) { diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 35b9cb0d5..006fd1a9e 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -2321,7 +2321,9 @@ public class ModItems { public static Item door_metal; public static Item door_office; public static Item door_bunker; - + + public static Item sliding_blast_door_skin; + public static Item record_lc; public static Item record_ss; public static Item record_vc; @@ -5349,6 +5351,8 @@ public class ModItems { 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"); + 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"); @@ -7962,7 +7966,8 @@ public class ModItems { GameRegistry.registerItem(door_metal, door_metal.getUnlocalizedName()); GameRegistry.registerItem(door_office, door_office.getUnlocalizedName()); GameRegistry.registerItem(door_bunker, door_bunker.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()); diff --git a/src/main/java/com/hbm/items/special/ItemDoorSkin.java b/src/main/java/com/hbm/items/special/ItemDoorSkin.java new file mode 100644 index 000000000..c7211473f --- /dev/null +++ b/src/main/java/com/hbm/items/special/ItemDoorSkin.java @@ -0,0 +1,36 @@ +package com.hbm.items.special; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +import net.minecraft.util.IIcon; + +import java.util.List; + +public class ItemDoorSkin extends Item { + protected final IIcon[] icons; + + public ItemDoorSkin(int skinCount) { + setMaxStackSize(1); + icons = new IIcon[skinCount]; + } + + @Override + public boolean getHasSubtypes() { + return true; + } + + @Override + public void getSubItems(Item item, CreativeTabs creativeTabs, List list) { + for(int i = 0; i < icons.length; i++) { + list.add(new ItemStack(item, 1, i)); + } + } + + @SideOnly(Side.CLIENT) + public IIcon getIconFromDamage(int meta) { + return icons[meta]; + } +} diff --git a/src/main/java/com/hbm/items/special/ItemSlidingBlastDoorSkin.java b/src/main/java/com/hbm/items/special/ItemSlidingBlastDoorSkin.java new file mode 100644 index 000000000..ab48475f8 --- /dev/null +++ b/src/main/java/com/hbm/items/special/ItemSlidingBlastDoorSkin.java @@ -0,0 +1,22 @@ +package com.hbm.items.special; + +import com.hbm.lib.RefStrings; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.renderer.texture.IIconRegister; + +public class ItemSlidingBlastDoorSkin extends ItemDoorSkin { + public ItemSlidingBlastDoorSkin() { + super(3); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerIcons(IIconRegister reg) { + this.itemIcon = reg.registerIcon(this.getIconString()); + + this.icons[0] = reg.registerIcon(RefStrings.MODID + ":sliding_blast_door_default"); + this.icons[1] = reg.registerIcon(RefStrings.MODID + ":sliding_blast_door_variant1"); + this.icons[2] = reg.registerIcon(RefStrings.MODID + ":sliding_blast_door_variant2"); + } +} diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 29b6606ed..c16fded4e 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -1083,6 +1083,11 @@ public class CraftingManager { ModItems.circuit_star_piece.stackFromEnum(ScrapType.BOARD_TRANSISTOR), ModItems.circuit_star_piece.stackFromEnum(ScrapType.BOARD_BLANK) }); + + addRecipeAuto(new ItemStack(ModItems.sliding_blast_door_skin), "SPS", "DPD", "SPS", 'P', Items.paper, 'D', "dye", 'S', STEEL.plate()); + addShapelessAuto(new ItemStack(ModItems.sliding_blast_door_skin, 1, 1), new ItemStack(ModItems.sliding_blast_door_skin, 1, 0)); + addShapelessAuto(new ItemStack(ModItems.sliding_blast_door_skin, 1, 2), new ItemStack(ModItems.sliding_blast_door_skin, 1, 1)); + addShapelessAuto(new ItemStack(ModItems.sliding_blast_door_skin), new ItemStack(ModItems.sliding_blast_door_skin, 1, 2)); } public static void crumple() { diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 3dfe7107b..59358d96d 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -290,7 +290,15 @@ public class ResourceManager { public static final IModelCustom blast_door_tooth = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blast_door_tooth.obj")); public static final IModelCustom blast_door_slider = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blast_door_slider.obj")); public static final IModelCustom blast_door_block = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blast_door_block.obj")); - + + //Sliding Blast Door + public static final ResourceLocation sliding_blast_door_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/sliding_blast_door.png"); + public static final ResourceLocation sliding_blast_door_variant1_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/sliding_blast_door_variant1.png"); + public static final ResourceLocation sliding_blast_door_variant2_tex = new ResourceLocation(RefStrings.MODID, "textures/models/doors/sliding_blast_door_variant2.png"); + + public static AnimatedModel sliding_blast_door; + public static Animation sliding_blast_door_anim; + //Doors public static AnimatedModel transition_seal; public static Animation transition_seal_anim; @@ -1356,5 +1364,8 @@ public class ResourceManager { public static void loadAnimatedModels(){ transition_seal = ColladaLoader.load(new ResourceLocation(RefStrings.MODID, "models/doors/seal.dae"), true); transition_seal_anim = ColladaLoader.loadAnim(24040, new ResourceLocation(RefStrings.MODID, "models/doors/seal.dae")); + + sliding_blast_door = ColladaLoader.load(new ResourceLocation(RefStrings.MODID, "models/doors/sliding_blast_door.dae")); + sliding_blast_door_anim = ColladaLoader.loadAnim(1200, new ResourceLocation(RefStrings.MODID, "models/doors/sliding_blast_door.dae")); } } diff --git a/src/main/java/com/hbm/packet/TEDoorAnimationPacket.java b/src/main/java/com/hbm/packet/TEDoorAnimationPacket.java index 9ffa77c65..7321aa015 100644 --- a/src/main/java/com/hbm/packet/TEDoorAnimationPacket.java +++ b/src/main/java/com/hbm/packet/TEDoorAnimationPacket.java @@ -15,20 +15,22 @@ 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) -1); + this(x, y, z, state, (byte) 0, (byte) -1); } - public TEDoorAnimationPacket(int x, int y, int z, byte state, byte tex) { + 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; } @@ -38,6 +40,7 @@ public class TEDoorAnimationPacket implements IMessage { y = buf.readInt(); z = buf.readInt(); state = buf.readByte(); + skinIndex = buf.readByte(); if(buf.readableBytes() == 1){ texture = buf.readByte(); } @@ -49,6 +52,7 @@ public class TEDoorAnimationPacket implements IMessage { buf.writeInt(y); buf.writeInt(z); buf.writeByte(state); + buf.writeByte(skinIndex); if(texture != -1){ buf.writeByte(texture); } @@ -63,6 +67,7 @@ public class TEDoorAnimationPacket implements IMessage { 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); } diff --git a/src/main/java/com/hbm/render/tileentity/RenderDoorGeneric.java b/src/main/java/com/hbm/render/tileentity/RenderDoorGeneric.java index 1849842df..080be2114 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderDoorGeneric.java +++ b/src/main/java/com/hbm/render/tileentity/RenderDoorGeneric.java @@ -65,7 +65,7 @@ public class RenderDoorGeneric extends TileEntitySpecialRenderer { AnimatedModel animModel = door.getAnimatedModel(); if(animModel != null){ Animation anim = door.getAnim(); - bindTexture(door.getTextureForPart("")); + bindTexture(door.getTextureForPart(te.getSkinIndex(), "")); long time = System.currentTimeMillis(); long startTime = te.state > 1 ? te.animStartTime : time; boolean reverse = te.state == 1 || te.state == 2; @@ -83,14 +83,14 @@ public class RenderDoorGeneric extends TileEntitySpecialRenderer { if(!door.doesRender(p.getLeft(), false)) continue; GL11.glPushMatrix(); - bindTexture(door.getTextureForPart(p.getLeft())); + bindTexture(door.getTextureForPart(te.getSkinIndex(), p.getLeft())); doPartTransform(door, p.getLeft(), openTicks, false); GL11.glCallList(p.getRight()); for(String name : door.getChildren(p.getLeft())){ if(!door.doesRender(name, true)) continue; GL11.glPushMatrix(); - bindTexture(door.getTextureForPart(name)); + bindTexture(door.getTextureForPart(te.getSkinIndex(), name)); doPartTransform(door, name, openTicks, true); model.renderPart(name); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/tileentity/DoorDecl.java b/src/main/java/com/hbm/tileentity/DoorDecl.java index b770acb68..d977ae7a1 100644 --- a/src/main/java/com/hbm/tileentity/DoorDecl.java +++ b/src/main/java/com/hbm/tileentity/DoorDecl.java @@ -1,306 +1,425 @@ package com.hbm.tileentity; -import org.lwjgl.opengl.GL11; - import com.hbm.animloader.AnimatedModel; import com.hbm.animloader.Animation; import com.hbm.main.ResourceManager; import com.hbm.render.loader.WavefrontObjDisplayList; import com.hbm.util.BobMathUtil; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.ResourceLocation; +import org.lwjgl.opengl.GL11; public abstract class DoorDecl { - -public static final DoorDecl TRANSITION_SEAL = new DoorDecl(){ - - @Override - public String getOpenSoundStart() { - return "hbm:door.TransitionSealOpen"; - }; - - @Override - public float getSoundVolume(){ - return 6; - } - - @Override - @SideOnly(Side.CLIENT) - public void getTranslation(String partName, float openTicks, boolean child, float[] trans) { - if(!partName.equals("base")){ - set(trans, 0, 3.5F*getNormTime(openTicks), 0); - } else { - super.getTranslation(partName, openTicks, child, trans); - } - }; - - @Override - @SideOnly(Side.CLIENT) - public void doOffsetTransform() { - GL11.glTranslated(0, 0, 0.5); - }; - - @Override - @SideOnly(Side.CLIENT) - public double[][] getClippingPlanes() { - return super.getClippingPlanes(); - }; - - @Override - public int timeToOpen() { - return 480; - }; - - @Override - public int[][] getDoorOpenRanges(){ - //3 is tall - //4 is wide - return new int[][]{{-9, 2, 0, 20, 20, 1}}; - } - @Override - public int[] getDimensions(){ - return new int[]{23, 0, 0, 0, 13, 12}; - } - - @Override - public AxisAlignedBB getBlockBound(int x, int y, int z, boolean open) { - return super.getBlockBound(x, y, z, open); - }; + public static final DoorDecl TRANSITION_SEAL = new DoorDecl() { - @Override - @SideOnly(Side.CLIENT) - public ResourceLocation getTextureForPart(String partName){ - return ResourceManager.transition_seal_tex; - } + @Override + public String getOpenSoundStart() { + return "hbm:door.TransitionSealOpen"; + } - @Override - @SideOnly(Side.CLIENT) - public Animation getAnim() { - return ResourceManager.transition_seal_anim; - }; - - @Override - @SideOnly(Side.CLIENT) - public AnimatedModel getAnimatedModel() { - return ResourceManager.transition_seal; - }; - - @Override - @SideOnly(Side.CLIENT) - public WavefrontObjDisplayList getModel(){ - return null; - } - }; - -public static final DoorDecl FIRE_DOOR = new DoorDecl(){ - - @Override - public String getOpenSoundEnd() { - return "hbm:door.wghStop"; - }; - @Override - public String getOpenSoundLoop() { - return "hbm:door.wghStart"; - }; - @Override - public String getSoundLoop2() { - return "hbm:door.alarm6"; - }; - - @Override - public float getSoundVolume(){ - return 2; - } - - @Override - @SideOnly(Side.CLIENT) - public void getTranslation(String partName, float openTicks, boolean child, float[] trans) { - if(!partName.equals("frame")){ - set(trans, 0, 3*getNormTime(openTicks), 0); - } else { - super.getTranslation(partName, openTicks, child, trans); - } - }; - - @Override - @SideOnly(Side.CLIENT) - public void doOffsetTransform() { - GL11.glTranslated(0, 0, 0.5); - }; - - @Override - @SideOnly(Side.CLIENT) - public double[][] getClippingPlanes() { - return new double[][]{{0, -1, 0, 3.0001}}; - }; - - @Override - public int timeToOpen() { - return 160; - }; - - @Override - public int[][] getDoorOpenRanges(){ - return new int[][]{{-1, 0, 0, 3, 4, 1}}; - } + @Override + public float getSoundVolume() { + return 6; + } - @Override - public int[] getDimensions(){ - return new int[]{2, 0, 0, 0, 2, 1}; - } - - @Override - public AxisAlignedBB getBlockBound(int x, int y, int z, boolean open) { - if(!open) - return AxisAlignedBB.getBoundingBox(0, 0, 0, 1, 1, 1); - if(z == 1){ - return AxisAlignedBB.getBoundingBox(0.5, 0, 0, 1, 1, 1); - } else if(z == -2){ - return AxisAlignedBB.getBoundingBox(0, 0, 0, 0.5, 1, 1); - } else if(y > 1){ - return AxisAlignedBB.getBoundingBox(0, 0.75, 0, 1, 1, 1); - } else if(y == 0) { - return AxisAlignedBB.getBoundingBox(0, 0, 0, 1, 0.1, 1); - } else { - return super.getBlockBound(x, y, z, open); - } - }; + @Override + @SideOnly(Side.CLIENT) + public void getTranslation(String partName, float openTicks, boolean child, float[] trans) { + if (!partName.equals("base")) { + set(trans, 0, 3.5F * getNormTime(openTicks), 0); + } else { + super.getTranslation(partName, openTicks, child, trans); + } + } - @Override - @SideOnly(Side.CLIENT) - public ResourceLocation getTextureForPart(String partName){ - return ResourceManager.fire_door_tex; - } + @Override + @SideOnly(Side.CLIENT) + public void doOffsetTransform() { + GL11.glTranslated(0, 0, 0.5); + } - @Override - @SideOnly(Side.CLIENT) - public WavefrontObjDisplayList getModel(){ - return ResourceManager.fire_door; - } - }; + @Override + @SideOnly(Side.CLIENT) + public double[][] getClippingPlanes() { + return super.getClippingPlanes(); + } - //Format: x, y, z, tangent amount 1 (how long the door would be if it moved up), tangent amount 2 (door places blocks in this direction), axis (0-x, 1-y, 2-z) - public abstract int[][] getDoorOpenRanges(); - - public abstract int[] getDimensions(); - - public float getDoorRangeOpenTime(int ticks, int idx){ - return getNormTime(ticks); - } - - public int timeToOpen(){ - return 20; - } - - public float getNormTime(float time){ - return getNormTime(time, 0, timeToOpen()); - } - - public float getNormTime(float time, float min, float max){ - return BobMathUtil.remap01_clamp(time, min, max); - } - - @SideOnly(Side.CLIENT) - public abstract ResourceLocation getTextureForPart(String partName); - - @SideOnly(Side.CLIENT) - public abstract WavefrontObjDisplayList getModel(); - - @SideOnly(Side.CLIENT) - public AnimatedModel getAnimatedModel(){ - return null; - } - - @SideOnly(Side.CLIENT) - public Animation getAnim(){ - return null; - } - - @SideOnly(Side.CLIENT) - public void getTranslation(String partName, float openTicks, boolean child, float[] trans){ - set(trans, 0, 0, 0); - } - - @SideOnly(Side.CLIENT) - public void getRotation(String partName, float openTicks, float[] rot){ - set(rot, 0, 0, 0); - } - - @SideOnly(Side.CLIENT) - public void getOrigin(String partName, float[] orig){ - set(orig, 0, 0, 0); - } - - @SideOnly(Side.CLIENT) - public boolean doesRender(String partName, boolean child){ - return true; - } - - private static final String[] nothing = new String[]{}; - - @SideOnly(Side.CLIENT) - public String[] getChildren(String partName){ - return nothing; - } - - @SideOnly(Side.CLIENT) - public double[][] getClippingPlanes(){ - return new double[][]{}; - } - - @SideOnly(Side.CLIENT) - public void doOffsetTransform(){ - } - - public AxisAlignedBB getBlockBound(int x, int y, int z, boolean open){ - return open ? AxisAlignedBB.getBoundingBox(0, 0, 0, 0, 0, 0) : AxisAlignedBB.getBoundingBox(0, 0, 0, 1, 1, 1); - } - - public boolean isLadder(boolean open){ - return false; - } - - public String getOpenSoundLoop(){ - return null; - } - - //Hack - public String getSoundLoop2(){ - return null; - } - - public String getCloseSoundLoop(){ - return getOpenSoundLoop(); - } - - public String getOpenSoundStart(){ - return null; - } - - public String getCloseSoundStart(){ - return getOpenSoundStart(); - } - - public String getOpenSoundEnd(){ - return null; - } - - public String getCloseSoundEnd(){ - return getOpenSoundEnd(); - } - - public float getSoundVolume(){ - return 1; - } - - public float[] set(float[] f, float x, float y, float z){ - f[0] = x; - f[1] = y; - f[2] = z; - return f; - }; + @Override + public int timeToOpen() { + return 480; + } + + @Override + public int[][] getDoorOpenRanges() { + //3 is tall + //4 is wide + return new int[][]{{-9, 2, 0, 20, 20, 1}}; + } + + @Override + public int[] getDimensions() { + return new int[]{23, 0, 0, 0, 13, 12}; + } + + @Override + public AxisAlignedBB getBlockBound(int x, int y, int z, boolean open) { + return super.getBlockBound(x, y, z, open); + } + + @Override + @SideOnly(Side.CLIENT) + public ResourceLocation getTextureForPart(int skinIndex, String partName) { + return ResourceManager.transition_seal_tex; + } + + @Override + @SideOnly(Side.CLIENT) + public Animation getAnim() { + return ResourceManager.transition_seal_anim; + } + + @Override + @SideOnly(Side.CLIENT) + public AnimatedModel getAnimatedModel() { + return ResourceManager.transition_seal; + } + + @Override + @SideOnly(Side.CLIENT) + public WavefrontObjDisplayList getModel() { + return null; + } + }; + + public static final DoorDecl FIRE_DOOR = new DoorDecl() { + + @Override + public String getOpenSoundEnd() { + return "hbm:door.wghStop"; + } + + @Override + public String getOpenSoundLoop() { + return "hbm:door.wghStart"; + } + + @Override + public String getSoundLoop2() { + return "hbm:door.alarm6"; + } + + @Override + public float getSoundVolume() { + return 2; + } + + @Override + @SideOnly(Side.CLIENT) + public void getTranslation(String partName, float openTicks, boolean child, float[] trans) { + if (!partName.equals("frame")) { + set(trans, 0, 3 * getNormTime(openTicks), 0); + } else { + super.getTranslation(partName, openTicks, child, trans); + } + } + + @Override + @SideOnly(Side.CLIENT) + public void doOffsetTransform() { + GL11.glTranslated(0, 0, 0.5); + } + + @Override + @SideOnly(Side.CLIENT) + public double[][] getClippingPlanes() { + return new double[][]{{0, -1, 0, 3.0001}}; + } + + @Override + public int timeToOpen() { + return 160; + } + + @Override + public int[][] getDoorOpenRanges() { + return new int[][]{{-1, 0, 0, 3, 4, 1}}; + } + + @Override + public int[] getDimensions() { + return new int[]{2, 0, 0, 0, 2, 1}; + } + + @Override + public AxisAlignedBB getBlockBound(int x, int y, int z, boolean open) { + if (!open) + return AxisAlignedBB.getBoundingBox(0, 0, 0, 1, 1, 1); + if (z == 1) { + return AxisAlignedBB.getBoundingBox(0.5, 0, 0, 1, 1, 1); + } else if (z == -2) { + return AxisAlignedBB.getBoundingBox(0, 0, 0, 0.5, 1, 1); + } else if (y > 1) { + return AxisAlignedBB.getBoundingBox(0, 0.75, 0, 1, 1, 1); + } else if (y == 0) { + return AxisAlignedBB.getBoundingBox(0, 0, 0, 1, 0.1, 1); + } else { + return super.getBlockBound(x, y, z, open); + } + } + + @Override + @SideOnly(Side.CLIENT) + public ResourceLocation getTextureForPart(int skinIndex, String partName) { + return ResourceManager.fire_door_tex; + } + + @Override + @SideOnly(Side.CLIENT) + public WavefrontObjDisplayList getModel() { + return ResourceManager.fire_door; + } + }; + + public static final DoorDecl SLIDE_DOOR = new DoorDecl() { + @Override + public String getOpenSoundEnd() { + return "hbm:door.sliding_door_opened"; + } + + @Override + public String getCloseSoundEnd() { + return "hbm:door.sliding_door_shut"; + } + + @Override + public String getOpenSoundLoop() { + return "hbm:door.sliding_door_opening"; + } + + @Override + public String getSoundLoop2() { + return "hbm:door.sliding_door_opening"; + } + + @Override + public float getSoundVolume() { + return 2; + } + + @Override + @SideOnly(Side.CLIENT) + public void doOffsetTransform() { + GL11.glRotated(-90, 0, 1, 0); + } + + @Override + @SideOnly(Side.CLIENT) + public double[][] getClippingPlanes() { + return new double[][]{ + {-1, 0, 0, 3.50001}, + {1, 0, 0, 3.50001} + }; + } + + @Override + public int timeToOpen() { + return 24; + } + + @Override + public int[][] getDoorOpenRanges() { + return new int[][]{{-2, 0, 0, 4, 5, 1}}; + } + + @Override + public int[] getDimensions() { + return new int[]{3, 0, 0, 0, 3, 3}; + } + + @Override + public AxisAlignedBB getBlockBound(int x, int y, int z, boolean open) { + if (open) { + if (y == 3) { + return AxisAlignedBB.getBoundingBox(0, 0.5, 0, 1, 1, 1); + } else if (y == 0) { + return AxisAlignedBB.getBoundingBox(0, 0, 0, 1, 0.08, 1); + } + } + return super.getBlockBound(x, y, z, open); + } + + @Override + public boolean hasSkins() { + return true; + } + + @Override + public int getSkinCount() { + return 3; + } + + @Override + @SideOnly(Side.CLIENT) + public ResourceLocation getTextureForPart(int skinIndex, String partName) { + return new ResourceLocation[] { + ResourceManager.sliding_blast_door_tex, + ResourceManager.sliding_blast_door_variant1_tex, + ResourceManager.sliding_blast_door_variant2_tex + }[skinIndex]; + } + + @Override + public WavefrontObjDisplayList getModel() { + return null; + } + + @Override + public Animation getAnim() { + return ResourceManager.sliding_blast_door_anim; + } + + @Override + public AnimatedModel getAnimatedModel() { + return ResourceManager.sliding_blast_door; + } + }; + + //Format: x, y, z, tangent amount 1 (how long the door would be if it moved up), tangent amount 2 (door places blocks in this direction), axis (0-x, 1-y, 2-z) + public abstract int[][] getDoorOpenRanges(); + + public abstract int[] getDimensions(); + + public float getDoorRangeOpenTime(int ticks, int idx) { + return getNormTime(ticks); + } + + public int timeToOpen() { + return 20; + } + + public float getNormTime(float time) { + return getNormTime(time, 0, timeToOpen()); + } + + public float getNormTime(float time, float min, float max) { + return BobMathUtil.remap01_clamp(time, min, max); + } + + public boolean hasSkins() { + return false; + } + + public int getSkinCount() { + return 0; + } + + @SideOnly(Side.CLIENT) + public ResourceLocation getTextureForPart(String partName) { + return getTextureForPart(0, partName); + } + + @SideOnly(Side.CLIENT) + public abstract ResourceLocation getTextureForPart(int skinIndex, String partName); + + @SideOnly(Side.CLIENT) + public abstract WavefrontObjDisplayList getModel(); + + @SideOnly(Side.CLIENT) + public AnimatedModel getAnimatedModel() { + return null; + } + + @SideOnly(Side.CLIENT) + public Animation getAnim() { + return null; + } + + @SideOnly(Side.CLIENT) + public void getTranslation(String partName, float openTicks, boolean child, float[] trans) { + set(trans, 0, 0, 0); + } + + @SideOnly(Side.CLIENT) + public void getRotation(String partName, float openTicks, float[] rot) { + set(rot, 0, 0, 0); + } + + @SideOnly(Side.CLIENT) + public void getOrigin(String partName, float[] orig) { + set(orig, 0, 0, 0); + } + + @SideOnly(Side.CLIENT) + public boolean doesRender(String partName, boolean child) { + return true; + } + + private static final String[] nothing = new String[]{}; + + @SideOnly(Side.CLIENT) + public String[] getChildren(String partName) { + return nothing; + } + + @SideOnly(Side.CLIENT) + public double[][] getClippingPlanes() { + return new double[][]{}; + } + + @SideOnly(Side.CLIENT) + public void doOffsetTransform() { + } + + public AxisAlignedBB getBlockBound(int x, int y, int z, boolean open) { + return open ? AxisAlignedBB.getBoundingBox(0, 0, 0, 0, 0, 0) : AxisAlignedBB.getBoundingBox(0, 0, 0, 1, 1, 1); + } + + public boolean isLadder(boolean open) { + return false; + } + + public String getOpenSoundLoop() { + return null; + } + + //Hack + public String getSoundLoop2() { + return null; + } + + public String getCloseSoundLoop() { + return getOpenSoundLoop(); + } + + public String getOpenSoundStart() { + return null; + } + + public String getCloseSoundStart() { + return getOpenSoundStart(); + } + + public String getOpenSoundEnd() { + return null; + } + + public String getCloseSoundEnd() { + return getOpenSoundEnd(); + } + + public float getSoundVolume() { + return 1; + } + + public float[] set(float[] f, float x, float y, float z) { + f[0] = x; + f[1] = y; + f[2] = z; + return f; + } + + ; } diff --git a/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java b/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java index 386737ab3..2f2636495 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java +++ b/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java @@ -33,6 +33,8 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn public long animStartTime = 0; public int redstonePower; public boolean shouldUseBB = false; + private byte skinIndex = 0; + public Set activatedBlocks = new HashSet<>(4); private AudioWrapper audio; @@ -140,7 +142,7 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn if(state == 2 && openTicks == 0) { state = 0; } - PacketDispatcher.wrapper.sendToAllAround(new TEDoorAnimationPacket(xCoord, yCoord, zCoord, state, (byte)(shouldUseBB ? 1 : 0)), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 100)); + 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 == 0){ tryToggle(-1); @@ -288,6 +290,21 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn shouldUseBB = false; } + public int getSkinIndex() { + return skinIndex; + } + + @Override + public boolean setSkinIndex(byte skinIndex) { + if(!getDoorType().hasSkins()) + return false; + if(getDoorType().getSkinCount() < skinIndex) { + return false; + } + this.skinIndex = skinIndex; + return true; + } + @Override public AxisAlignedBB getRenderBoundingBox(){ return INFINITE_EXTENT_AABB; @@ -305,6 +322,7 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn this.animStartTime = tag.getInteger("animStartTime"); this.redstonePower = tag.getInteger("redstoned"); this.shouldUseBB = tag.getBoolean("shouldUseBB"); + this.skinIndex = tag.getByte("skin"); NBTTagCompound activatedBlocks = tag.getCompoundTag("activatedBlocks"); this.activatedBlocks.clear(); for(int i = 0; i < activatedBlocks.func_150296_c().size()/3; i ++){ @@ -322,6 +340,8 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn tag.setLong("animStartTime", animStartTime); tag.setInteger("redstoned", redstonePower); tag.setBoolean("shouldUseBB", shouldUseBB); + if(getDoorType().hasSkins()) + tag.setByte("skin", skinIndex); NBTTagCompound activatedBlocks = new NBTTagCompound(); int i = 0; for(BlockPos p : this.activatedBlocks){ diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index a7feb2556..925bde4ae 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -3838,6 +3838,7 @@ item.singularity_super_heated.name=Superheated Resonating Singularity item.siox.name=SiOX Cancer Medication item.siox.desc=Reverses mesothelioma with the power of Asbestos! item.siren_track.name=Siren Track +item.sliding_blast_door_skin.name=Sliding Blast Door Skin item.smashing_hammer.name=Smashing Hammer item.solid_fuel.name=Solid Fuel item.solid_fuel_bf.name=Solid Fuel (Balefire) @@ -5083,6 +5084,7 @@ tile.sellafield.4.name=Infernal Sellafite tile.sellafield.5.name=Sellafite-Corium tile.sellafield_slaked.name=Slaked Sellafite tile.semtex.name=Semtex +tile.sliding_blast_door.name=Sliding Blast Door tile.solar_mirror.name=Heliostat Mirror tile.soyuz_capsule.name=Cargo Landing Capsule tile.soyuz_launcher.name=Soyuz Launch Platform diff --git a/src/main/resources/assets/hbm/models/doors/sliding_blast_door.dae b/src/main/resources/assets/hbm/models/doors/sliding_blast_door.dae new file mode 100644 index 000000000..5e24b46e3 --- /dev/null +++ b/src/main/resources/assets/hbm/models/doors/sliding_blast_door.dae @@ -0,0 +1,523 @@ + + + + + Blender User + Blender 2.90.0 commit date:2020-08-31, commit time:11:26, hash:0330d1af29c0 + + 2020-09-23T20:18:02 + 2020-09-23T20:18:02 + + Z_UP + + + + + + + door0_png + + + + + door0_png-surface + + + + + + 0 0 0 1 + + + + + + 1.45 + + + + + + + + + door0.png + + + + + + + + + + + + -0.09754508 -0.4903927 -0.242556 -0.08284217 -0.4164779 -0.317556 -0.1913416 -0.4619397 -0.242556 -0.1625014 -0.3923135 -0.317556 -0.2777849 -0.4157344 -0.242556 -0.2359154 -0.3530725 -0.317556 -0.3535535 -0.3535532 -0.242556 -0.3002642 -0.3002633 -0.317556 -0.4157346 -0.277785 -0.242556 -0.3530725 -0.2359158 -0.317556 -0.4619393 -0.1913415 -0.242556 -0.3923131 -0.1625013 -0.317556 -0.4903929 -0.09754502 -0.242556 -0.4164781 -0.08284199 -0.317556 -0.5004594 0.00187844 -0.2425482 -0.4246374 0 -0.317556 -0.4903926 0.09754526 -0.242556 -0.4164779 0.08284246 -0.317556 -0.4619393 0.1913417 -0.242556 -0.392313 0.1625016 -0.317556 -0.4157346 0.2777853 -0.242556 -0.3530727 0.2359158 -0.317556 -0.3535535 0.3535535 -0.242556 -0.3002639 0.3002639 -0.317556 -0.2777848 0.4157353 -0.242556 -0.2359154 0.3530734 -0.317556 -0.1913416 0.4619403 -0.242556 -0.1625011 0.3923142 -0.317556 -0.09754508 0.4903932 -0.242556 -0.08284294 0.4164784 -0.317556 -0.09754508 -0.4903927 0.207669 -0.08284217 -0.4164779 0.282669 -0.1913416 -0.4619397 0.207669 -0.1625014 -0.3923135 0.282669 -0.2777849 -0.4157344 0.207669 -0.2359154 -0.3530725 0.282669 -0.3535535 -0.3535532 0.207669 -0.3002642 -0.3002633 0.282669 -0.4157346 -0.277785 0.207669 -0.3530725 -0.2359158 0.282669 -0.4619393 -0.1913415 0.207669 -0.3923131 -0.1625013 0.282669 -0.4903929 -0.09754502 0.207669 -0.4164781 -0.08284199 0.282669 -0.4995414 -0.001877963 0.2076613 -0.4246374 0 0.282669 -0.4903926 0.09754526 0.207669 -0.4164779 0.08284246 0.282669 -0.4619393 0.1913417 0.207669 -0.392313 0.1625016 0.282669 -0.4157346 0.2777853 0.207669 -0.3530727 0.2359158 0.282669 -0.3535535 0.3535535 0.207669 -0.3002639 0.3002639 0.282669 -0.2777848 0.4157353 0.207669 -0.2359154 0.3530734 0.282669 -0.1913416 0.4619403 0.207669 -0.1625011 0.3923142 0.282669 -0.09754508 0.4903932 0.207669 -0.08284294 0.4164784 0.282669 -2.7797e-7 0.4163811 0.262669 -0.01996839 0.4226706 0.282669 -2.86847e-7 0.5 0.1794527 -0.01996773 0.4980335 0.207669 -2.7797e-7 0.4163811 -0.297556 -0.01996839 0.4226706 -0.317556 -2.86847e-7 0.5 -0.2143397 -0.01996773 0.4980335 -0.242556 -0.01996713 -0.4980334 -0.242556 2.86847e-7 -0.5 -0.2143397 2.63627e-7 -0.4163811 -0.297556 -0.01996779 -0.4226704 -0.317556 -0.01996713 -0.4980334 0.207669 2.86847e-7 -0.5 0.1794527 0.2795697 0.2081907 -0.152556 0.27957 -0.2081903 -0.152556 2.63627e-7 -0.4163811 0.262669 -0.01996779 -0.4226704 0.282669 0.2795697 0.2081907 0.117669 0.27957 -0.2081903 0.117669 + + + + + + + + + + -0.6343932 0.7730106 0 -0.634393 0.7730109 0 -0.6343933 0.7730106 0 -0.3918982 -0.5865173 0.7088112 -0.4987916 -0.498792 0.7088113 -0.4987914 -0.4987922 0.7088114 -0.1376165 -0.6918438 -0.7088117 -0.2699458 -0.6517022 -0.7088114 -0.1376158 -0.6918442 -0.7088114 -0.3918983 -0.5865174 -0.7088111 -0.2699457 -0.6517022 -0.7088115 -0.4987917 -0.4987921 -0.7088112 -0.3918983 -0.5865177 -0.7088109 -0.5865182 -0.3918968 -0.7088112 -0.4987915 -0.498792 -0.7088115 -0.6517023 -0.2699455 -0.7088114 -0.5865182 -0.3918969 -0.7088112 -0.6918433 -0.1376187 -0.7088116 -0.651702 -0.2699455 -0.7088116 -0.6914468 -0.1380745 -0.70911 -0.7036247 -0.00131309 -0.7105706 -0.7040166 0.001163065 -0.7101826 -0.6908355 0.1386065 -0.7096018 -0.651703 0.2699446 -0.7088111 -0.6914079 0.1398018 -0.7088093 -0.5865182 0.3918963 -0.7088115 -0.6517027 0.269945 -0.7088113 -0.5865183 0.3918968 -0.7088112 -0.4987924 0.4987913 -0.7088112 -0.391899 0.5865169 -0.7088112 -0.4987925 0.4987915 -0.7088112 -0.2699452 0.6517028 -0.7088111 -0.3918986 0.5865172 -0.7088111 -0.1376148 0.691845 -0.7088108 -0.2699449 0.6517028 -0.7088112 0 0 -1 0 2.23898e-7 -1 0 2.44089e-7 -1 -0.7730121 -0.6343914 0 -0.7730121 -0.6343913 0 -0.5865182 0.391897 0.7088111 -0.4987924 0.4987913 0.7088114 -0.4987923 0.4987916 0.7088112 -0.994697 0.1028484 3.86987e-4 -0.9956281 0.09337615 0.002420604 -0.9945092 0.1046497 0 -0.6922908 -0.1371796 0.7084598 -0.7072311 -0.002328574 0.7069787 -0.6920359 -0.1366496 0.7088112 -0.06930738 -0.7037019 -0.707107 -0.06930822 -0.7037011 -0.7071076 1 2.77687e-7 0 1 2.77687e-7 0 -0.6918437 0.1376188 0.7088114 -0.651703 0.2699447 0.7088111 -0.6928161 0.1364942 0.7080786 0.597267 -0.8020426 0 0.5972671 -0.8020426 0 0.597267 -0.8020426 0 -0.1376149 0.6918449 0.7088109 -0.06930512 0.7037024 0.7071066 -0.06930601 0.7037022 0.7071068 -0.3918989 0.5865168 0.7088112 -0.2699451 0.6517028 0.7088111 -0.3918989 0.586517 0.7088111 -0.9569385 -0.290291 0 -0.9569385 -0.290291 0 -0.9569385 -0.2902909 0 0 5.97108e-7 1 0 1.38861e-7 1 0 4.89142e-7 1 -0.5865181 -0.3918969 0.7088113 -0.6517022 -0.2699455 0.7088114 -0.5865182 -0.3918969 0.7088112 0.4604119 2.99879e-7 0.8877055 0.4604119 2.90584e-7 0.8877055 0.4604119 2.84085e-7 0.8877055 0.6818548 -0.5159897 0.518487 0.6818463 -0.5159928 0.5184951 0.6818447 -0.5159934 0.5184967 -0.6343903 -0.773013 0 -0.6343906 -0.7730128 0 -0.6343902 -0.7730129 0 -0.7067841 -3.6214e-4 0.7074292 -0.5865182 0.3918964 0.7088115 -0.1376146 0.6918448 0.7088111 -0.06930732 -0.7037019 0.7071068 -0.1376165 -0.6918439 0.7088115 -0.06930816 -0.7037014 0.7071073 0.6818493 0.5159911 0.5184929 0.6818571 0.5159883 0.5184854 0.6818478 0.5159917 0.5184944 0.7076703 4.96666e-7 0.7065428 0.7076709 4.36843e-7 0.7065423 0.7076709 4.35285e-7 0.7065423 1 6.44172e-7 0 -0.8819222 -0.471395 0 -0.8819223 -0.4713949 0 -0.8819222 -0.471395 0 -0.9949877 -0.09999227 0.001029133 -0.9953851 -0.09596174 1.64625e-4 -0.9949128 -0.1007338 0.001188278 -0.4713987 0.8819202 0 -0.290286 -0.9569399 0 -0.2902855 -0.9569401 0 -0.2902855 -0.9569402 0 -0.9569392 0.2902885 0 -0.9569393 0.2902885 0 -0.9569392 0.2902885 0 -0.1376149 0.691845 -0.7088108 -0.06930506 0.7037028 -0.7071062 0.6818575 0.5159879 -0.5184853 0.6818491 0.5159913 -0.5184928 0.6818476 0.515992 -0.5184943 0.6818549 -0.5159896 -0.518487 0.6818468 -0.5159925 -0.5184947 0.6818563 -0.5159891 -0.5184857 0.7076709 5.18025e-7 -0.7065423 0.7076714 4.75952e-7 -0.7065417 0.7076709 5.18853e-7 -0.7065423 1 0 0 1 0 0 0.4604119 3.24432e-7 -0.8877055 0.4604119 3.30949e-7 -0.8877055 0.4604119 3.19875e-7 -0.8877055 -0.8819226 0.4713943 0 -0.8819226 0.4713944 0 -0.8819226 0.4713943 0 0.597266 0.8020432 0 0.597266 0.8020431 0 0.5972661 0.8020432 0 -0.7730118 0.6343917 0 -0.2699457 -0.6517022 0.7088115 -0.2699459 -0.6517023 0.7088112 -0.2902847 0.9569404 0 -0.2902842 0.9569405 0 -0.2902848 0.9569404 0 -0.4714003 -0.8819194 0 -0.4713999 -0.8819196 0 -0.4713998 -0.8819196 0 -0.09801191 0.9951853 -3.8043e-7 -0.09801286 0.9951852 -2.13198e-6 -0.09801191 0.9951853 -5.68066e-7 -0.09801632 -0.9951849 1.60855e-7 -0.09801632 -0.9951849 -1.62177e-7 -0.09801626 -0.9951848 0 -0.6343929 0.7730109 0 -0.3918983 -0.5865173 0.7088112 0 6.7705e-7 -1 0 3.34205e-7 -1 0 -5.35771e-7 -1 0 -1.62897e-7 -1 0 -1.16722e-6 -1 0 -1.3466e-7 -1 0 -1.94201e-6 -1 0 7.26139e-6 -1 0 7.26151e-6 -1 0 -4.09277e-6 -1 0 -2.69318e-7 -1 -0.7730122 -0.6343914 0 -0.9957892 0.09163045 0.002795159 -0.6517027 0.2699446 0.7088115 0.5972672 -0.8020424 0 -0.2699449 0.6517025 0.7088115 -0.9569385 -0.290291 0 0 -3.99966e-7 1 0 -2.23898e-7 1 0 -2.77085e-7 1 0 0 1 0 5.35771e-7 1 0 0 1 0 0 1 0 1.0104e-6 1 0 7.26139e-6 1 0 2.08782e-7 1 0 -1.16722e-6 1 -0.6517019 -0.2699454 0.7088118 0.4604119 3.14074e-7 0.8877055 0.6818562 -0.5159893 0.5184856 -0.6343907 -0.7730127 0 -0.1376154 -0.6918442 0.7088115 0.6818584 0.5159878 0.5184841 0.7076703 4.97843e-7 0.7065428 1 6.44172e-7 0 -0.8819223 -0.4713948 0 -0.9954588 -0.09519404 0 -0.2902861 -0.9569399 0 -0.9569392 0.2902885 0 -0.06930601 0.7037022 -0.7071068 0.6818588 0.5159873 -0.518484 0.6818452 -0.5159931 -0.5184962 0.7076715 4.74856e-7 -0.7065417 1 0 0 0.4604119 3.40901e-7 -0.8877055 -0.8819226 0.4713944 0 0.597266 0.8020433 0 -0.2902842 0.9569406 0 -0.4714004 -0.8819195 0 -0.09801262 0.9951853 5.71151e-7 -0.09801316 0.9951852 2.14356e-6 -0.09801262 0.9951853 3.82497e-7 -0.0980162 -0.9951848 -6.08658e-7 -0.09801632 -0.9951849 0 -0.09801614 -0.9951848 6.03696e-7 + + + + + + + + + + 0.6835938 0.08984375 0.6914063 0.05078125 0.6914063 0.08984375 0.6132813 0.05078125 0.6210938 0.04296875 0.6210938 0.05078125 0.5976563 0.08984375 0.6054688 0.09765625 0.5976563 0.09765625 0.6132813 0.08984375 0.6054688 0.09765625 0.6054688 0.08984375 0.6132813 0.08984375 0.6210938 0.09765625 0.6132813 0.09765625 0.6289063 0.08984375 0.6210938 0.09765625 0.6210938 0.08984375 0.6367188 0.08984375 0.6289063 0.09765625 0.6289063 0.08984375 0.6367188 0.08984375 0.6445313 0.09765625 0.6367188 0.09765625 0.6445313 0.08984375 0.6523438 0.09765625 0.6445313 0.09765625 0.6523438 0.08984375 0.6601563 0.09765625 0.6523438 0.09765625 0.6679688 0.08984375 0.6601563 0.09765625 0.6601563 0.08984375 0.6679688 0.08984375 0.6757813 0.09765625 0.6679688 0.09765625 0.6757813 0.08984375 0.6835938 0.09765625 0.6757813 0.09765625 0.6914063 0.08984375 0.6835938 0.09765625 0.6835938 0.08984375 0.6992188 0.08984375 0.6914063 0.09765625 0.6914063 0.08984375 0.6992188 0.08984375 0.7070313 0.09765625 0.6992188 0.09765625 0.6445313 0.09873586 0.6523438 0.09765625 0.6132813 0.1367187 0.6210938 0.08984375 0.6289063 0.05078125 0.6289063 0.08984375 0.6757813 0.05078125 0.6835938 0.04296875 0.6835938 0.05078125 0.6523438 0.08984375 0.6601563 0.05078125 0.6601563 0.08984375 0.6445313 0.04296875 0.6523438 0.05078125 0.6445313 0.05078125 0.5976563 0.08984375 0.5898438 0.09765625 0.5898438 0.08984375 0.6015625 0.15625 0.59375 0.203125 0.59375 0.1640625 0.6601563 0.04296875 0.6679688 0.05078125 0.6601563 0.05078125 0.6328125 0.171875 0.6015625 0.2109375 0.6015625 0.15625 0.7070313 0.05078125 0.7148438 0.04296875 0.7148438 0.05078125 0.6914063 0.04296875 0.6992188 0.05078125 0.6914063 0.05078125 0.6367188 0.08984375 0.6445313 0.05078125 0.6445313 0.08984375 0.6747738 0.03576993 0.6679536 0.03945618 0.6914063 0.00390625 0.6289063 0.04296875 0.6367188 0.05078125 0.6289063 0.05078125 0.6132813 0.2265625 0.671875 0.1953125 0.6914063 0.2265625 0.5898438 0.05078125 0.5859375 0.04296875 0.5898438 0.04296875 0.6132813 0.08984375 0.6210938 0.05078125 0.6210938 0.08984375 0.6210938 0.04296875 0.6289063 0.05078125 0.6210938 0.05078125 0.6367188 0.05078125 0.6445313 0.04296875 0.6445313 0.05078125 0.6523438 0.04296875 0.6601563 0.05078125 0.6523438 0.05078125 0.6679688 0.05078125 0.6757813 0.04296875 0.6757813 0.05078125 0.6835938 0.04296875 0.6914063 0.05078125 0.6835938 0.05078125 0.6992188 0.05078125 0.7070313 0.04296875 0.7070313 0.05078125 0.5898438 0.04296875 0.5976563 0.05078125 0.5898438 0.05078125 0.71875 0.04296875 0.7148438 0.05078125 0.7148438 0.04296875 0.6914063 0 0.6132813 0.00390625 0.6132813 0 0.671875 0.171875 0.6328125 0.1953125 0.6328125 0.171875 0.6289063 0.08984375 0.6367188 0.05078125 0.6367188 0.08984375 0.6445313 0.08984375 0.6523438 0.05078125 0.6523438 0.08984375 0.6914063 0.08984375 0.6992188 0.05078125 0.6992188 0.08984375 0.6054688 0.08984375 0.5976563 0.05078125 0.6054688 0.05078125 0.6601563 0.08984375 0.6679688 0.05078125 0.6679688 0.08984375 0.7070313 0.08984375 0.7148438 0.09765625 0.7070313 0.09765625 0.7148438 0.08984375 0.71875 0.09765625 0.7148438 0.09765625 0.5898438 0.08984375 0.5859375 0.09765625 0.5859375 0.08984375 0.6914063 0.140625 0.6132813 0.1367187 0.6914063 0.1367187 0.703125 0.15625 0.7109375 0.203125 0.703125 0.2109375 0.671875 0.171875 0.6132813 0.140625 0.6914063 0.140625 0.6679688 0.08984375 0.6757813 0.05078125 0.6757813 0.08984375 0.703125 0.15625 0.671875 0.1953125 0.671875 0.171875 0.6757813 0.08984375 0.6835938 0.05078125 0.6835938 0.08984375 0.6054688 0.04296875 0.6132813 0.05078125 0.6054688 0.05078125 0.5976563 0.05078125 0.6054688 0.04296875 0.6054688 0.05078125 0.6992188 0.08984375 0.7070313 0.05078125 0.7070313 0.08984375 0.6132813 0.08984375 0.6054688 0.05078125 0.6132813 0.05078125 0.7070313 0.05078125 0.7148438 0.0546875 0.71875 0.05078125 0.5859375 0.08984375 0.5859375 0.05078125 0.5976563 0.08984375 0.6835938 0.08984375 0.6835938 0.05078125 0.6914063 0.05078125 0.6132813 0.05078125 0.6132813 0.04296875 0.6210938 0.04296875 0.5976563 0.08984375 0.6054688 0.08984375 0.6054688 0.09765625 0.6132813 0.08984375 0.6132813 0.09765625 0.6054688 0.09765625 0.6132813 0.08984375 0.6210938 0.08984375 0.6210938 0.09765625 0.6289063 0.08984375 0.6289063 0.09765625 0.6210938 0.09765625 0.6367188 0.08984375 0.6367188 0.09765625 0.6289063 0.09765625 0.6367188 0.08984375 0.6445313 0.08984375 0.6445313 0.09765625 0.6445313 0.08984375 0.6523438 0.08984375 0.6523438 0.09765625 0.6523438 0.08984375 0.6601563 0.08984375 0.6601563 0.09765625 0.6679688 0.08984375 0.6679688 0.09765625 0.6601563 0.09765625 0.6679688 0.08984375 0.6757813 0.08984375 0.6757813 0.09765625 0.6757813 0.08984375 0.6835938 0.08984375 0.6835938 0.09765625 0.6914063 0.08984375 0.6914063 0.09765625 0.6835938 0.09765625 0.6992188 0.08984375 0.6992188 0.09765625 0.6914063 0.09765625 0.6992188 0.08984375 0.7070313 0.08984375 0.7070313 0.09765625 0.6523438 0.09765625 0.6601563 0.09854209 0.6914063 0.1367187 0.6601563 0.09854209 0.6679148 0.1013388 0.6914063 0.1367187 0.6679148 0.1013388 0.6747011 0.10494 0.6914063 0.1367187 0.6747011 0.10494 0.6806643 0.1098146 0.6914063 0.1367187 0.6806643 0.1098146 0.685575 0.1157753 0.6914063 0.1367187 0.685575 0.1157753 0.6892446 0.1225928 0.6914063 0.1367187 0.6892446 0.1225928 0.6909218 0.1300054 0.6914063 0.1367187 0.6914063 0.1367187 0.6132813 0.1367187 0.6523438 0.09765625 0.6132813 0.1367187 0.6142691 0.1299437 0.6165477 0.1225457 0.6165477 0.1225457 0.6205933 0.1157407 0.6132813 0.1367187 0.6205933 0.1157407 0.6254902 0.1097899 0.6132813 0.1367187 0.6254902 0.1097899 0.6314379 0.1049224 0.6132813 0.1367187 0.6314379 0.1049224 0.6382079 0.101325 0.6132813 0.1367187 0.6382079 0.101325 0.6445313 0.09873586 0.6132813 0.1367187 0.6210938 0.08984375 0.6210938 0.05078125 0.6289063 0.05078125 0.6757813 0.05078125 0.6757813 0.04296875 0.6835938 0.04296875 0.6523438 0.08984375 0.6523438 0.05078125 0.6601563 0.05078125 0.6445313 0.04296875 0.6523438 0.04296875 0.6523438 0.05078125 0.5976563 0.08984375 0.5976563 0.09765625 0.5898438 0.09765625 0.6015625 0.15625 0.6015625 0.2109375 0.59375 0.203125 0.6601563 0.04296875 0.6679688 0.04296875 0.6679688 0.05078125 0.6328125 0.171875 0.6328125 0.1953125 0.6015625 0.2109375 0.7070313 0.05078125 0.7070313 0.04296875 0.7148438 0.04296875 0.6914063 0.04296875 0.6992188 0.04296875 0.6992188 0.05078125 0.6367188 0.08984375 0.6367188 0.05078125 0.6445313 0.05078125 0.6679536 0.03945618 0.6601563 0.04235351 0.6914063 0.00390625 0.6601563 0.04235351 0.6523438 0.04296875 0.6914063 0.00390625 0.6523438 0.04296875 0.6445313 0.04219973 0.6132813 0.00390625 0.6445313 0.04219973 0.6380147 0.03946441 0.6132813 0.00390625 0.6380147 0.03946441 0.6311754 0.03578418 0.6132813 0.00390625 0.6311754 0.03578418 0.6251654 0.03080129 0.6132813 0.00390625 0.6251654 0.03080129 0.620215 0.02470719 0.6132813 0.00390625 0.620215 0.02470719 0.6159337 0.01773637 0.6132813 0.00390625 0.6159337 0.01773637 0.6140136 0.01015651 0.6132813 0.00390625 0.6132813 0.00390625 0.6914063 0.00390625 0.6523438 0.04296875 0.6914063 0.00390625 0.6910508 0.01015782 0.6893759 0.01772797 0.6856948 0.02469295 0.6914063 0.00390625 0.6893759 0.01772797 0.6856948 0.02469295 0.6807643 0.03078502 0.6914063 0.00390625 0.6807643 0.03078502 0.6747738 0.03576993 0.6914063 0.00390625 0.6289063 0.04296875 0.6367188 0.04296875 0.6367188 0.05078125 0.6132813 0.2265625 0.6328125 0.1953125 0.671875 0.1953125 0.5898438 0.05078125 0.5859375 0.05078125 0.5859375 0.04296875 0.6132813 0.08984375 0.6132813 0.05078125 0.6210938 0.05078125 0.6210938 0.04296875 0.6289063 0.04296875 0.6289063 0.05078125 0.6367188 0.05078125 0.6367188 0.04296875 0.6445313 0.04296875 0.6523438 0.04296875 0.6601563 0.04296875 0.6601563 0.05078125 0.6679688 0.05078125 0.6679688 0.04296875 0.6757813 0.04296875 0.6835938 0.04296875 0.6914063 0.04296875 0.6914063 0.05078125 0.6992188 0.05078125 0.6992188 0.04296875 0.7070313 0.04296875 0.5898438 0.04296875 0.5976563 0.04296875 0.5976563 0.05078125 0.71875 0.04296875 0.71875 0.05078125 0.7148438 0.05078125 0.6914063 0 0.6914063 0.00390625 0.6132813 0.00390625 0.671875 0.171875 0.671875 0.1953125 0.6328125 0.1953125 0.6289063 0.08984375 0.6289063 0.05078125 0.6367188 0.05078125 0.6445313 0.08984375 0.6445313 0.05078125 0.6523438 0.05078125 0.6914063 0.08984375 0.6914063 0.05078125 0.6992188 0.05078125 0.6054688 0.08984375 0.5976563 0.08984375 0.5976563 0.05078125 0.6601563 0.08984375 0.6601563 0.05078125 0.6679688 0.05078125 0.7070313 0.08984375 0.7148438 0.08984375 0.7148438 0.09765625 0.7148438 0.08984375 0.71875 0.08984375 0.71875 0.09765625 0.5898438 0.08984375 0.5898438 0.09765625 0.5859375 0.09765625 0.6914063 0.140625 0.6132813 0.140625 0.6132813 0.1367187 0.703125 0.15625 0.7109375 0.1640625 0.7109375 0.203125 0.671875 0.171875 0.6328125 0.171875 0.6132813 0.140625 0.6679688 0.08984375 0.6679688 0.05078125 0.6757813 0.05078125 0.703125 0.15625 0.703125 0.2109375 0.671875 0.1953125 0.6757813 0.08984375 0.6757813 0.05078125 0.6835938 0.05078125 0.6054688 0.04296875 0.6132813 0.04296875 0.6132813 0.05078125 0.5976563 0.05078125 0.5976563 0.04296875 0.6054688 0.04296875 0.6992188 0.08984375 0.6992188 0.05078125 0.7070313 0.05078125 0.6132813 0.08984375 0.6054688 0.08984375 0.6054688 0.05078125 0.71875 0.05078125 0.71875 0.08984375 0.7070313 0.05078125 0.71875 0.08984375 0.7148438 0.08984375 0.7070313 0.08984375 0.7070313 0.05078125 0.71875 0.08984375 0.7070313 0.08984375 0.5898438 0.05078125 0.5976563 0.05078125 0.5859375 0.05078125 0.5976563 0.05078125 0.5976563 0.08984375 0.5859375 0.05078125 0.5976563 0.08984375 0.5898438 0.0859375 0.5859375 0.08984375 + + + + + + + + + + + + + + +

    22 0 0 54 1 1 24 2 2 34 3 3 37 4 4 36 5 5 0 6 6 3 7 7 1 8 8 4 9 9 3 7 10 2 10 11 4 9 12 7 11 13 5 12 14 8 13 15 7 11 16 6 14 17 10 15 18 9 16 19 8 13 20 10 15 21 13 17 22 11 18 23 12 19 24 15 20 25 13 17 26 14 21 27 17 22 28 15 20 29 18 23 30 17 22 31 16 24 32 18 23 33 21 25 34 19 26 35 20 27 36 23 28 37 21 25 38 24 29 39 23 28 40 22 30 41 26 31 42 25 32 43 24 29 44 26 31 45 29 33 46 27 34 47 13 35 48 15 36 49 71 37 50 6 38 51 38 38 52 8 39 53 50 40 54 53 41 55 52 42 56 14 43 57 46 44 58 16 45 59 43 46 60 44 47 61 42 48 62 0 6 63 71 49 64 68 50 65 70 51 66 73 52 67 69 51 68 47 53 69 48 54 70 46 55 71 75 56 72 76 57 73 70 58 74 58 59 75 61 60 76 63 61 77 55 62 78 56 63 79 54 64 80 10 65 81 42 66 82 12 67 83 51 68 84 49 69 85 61 70 86 39 71 87 40 72 88 38 73 89 76 74 90 78 75 91 60 76 92 72 77 93 76 78 94 77 79 95 4 80 96 36 81 97 6 82 98 37 4 99 38 73 100 36 5 101 40 72 102 43 46 103 42 48 104 45 83 105 46 55 106 44 47 107 48 54 108 51 84 109 50 40 110 53 41 111 54 64 112 52 42 113 56 63 114 59 85 115 58 59 116 77 86 117 30 87 118 72 88 119 60 89 120 63 90 121 61 91 122 60 92 123 77 93 124 76 94 125 74 95 126 79 95 127 75 95 128 8 96 129 40 97 130 10 98 131 12 99 132 44 100 133 14 101 134 24 102 135 56 102 136 26 102 137 2 103 138 30 104 139 32 105 140 16 106 141 48 107 142 18 108 143 28 109 144 65 110 145 29 33 146 67 111 147 64 112 148 65 113 149 68 114 150 70 115 151 69 116 152 64 117 153 71 118 154 65 119 155 64 120 156 62 121 157 60 120 158 74 122 159 70 123 160 64 124 161 18 125 162 50 126 163 20 127 164 64 128 165 78 129 166 74 130 167 20 131 168 52 131 169 22 131 170 33 132 171 34 3 172 32 133 173 30 87 174 33 132 175 32 133 176 26 134 177 58 135 178 28 136 179 4 137 180 32 138 181 34 139 182 58 140 183 63 141 184 62 142 185 69 143 186 73 144 187 0 145 188 22 0 189 52 146 190 54 1 191 34 3 192 35 147 193 37 4 194 0 6 195 2 10 196 3 7 197 4 9 198 5 12 199 3 7 200 4 9 201 6 14 202 7 11 203 8 13 204 9 16 205 7 11 206 10 15 207 11 18 208 9 16 209 10 15 210 12 19 211 13 17 212 12 19 213 14 21 214 15 20 215 14 21 216 16 24 217 17 22 218 18 23 219 19 26 220 17 22 221 18 23 222 20 27 223 21 25 224 20 27 225 22 30 226 23 28 227 24 29 228 25 32 229 23 28 230 26 31 231 27 34 232 25 32 233 26 31 234 28 109 235 29 33 236 15 36 237 17 148 238 65 149 239 17 148 240 19 150 241 65 149 242 19 150 243 21 151 244 65 149 245 21 151 246 23 152 247 65 149 248 23 152 249 25 153 250 65 149 251 25 153 252 27 154 253 65 149 254 27 154 255 29 155 256 65 149 257 65 149 258 71 37 259 15 36 260 71 37 261 1 156 262 3 157 263 3 157 264 5 158 265 71 37 266 5 158 267 7 35 268 71 37 269 7 35 270 9 35 271 71 37 272 9 35 273 11 35 274 71 37 275 11 35 276 13 35 277 71 37 278 6 38 279 36 159 280 38 38 281 50 40 282 51 84 283 53 41 284 14 43 285 44 160 286 46 44 287 43 46 288 45 83 289 44 47 290 0 6 291 1 8 292 71 49 293 70 51 294 76 51 295 73 52 296 47 53 297 49 161 298 48 54 299 75 56 300 79 162 301 76 57 302 58 59 303 59 85 304 61 60 305 55 62 306 57 163 307 56 63 308 10 65 309 40 164 310 42 66 311 49 69 312 47 165 313 61 70 314 47 165 315 45 166 316 61 70 317 45 166 318 43 167 319 77 168 320 43 167 321 41 169 322 77 168 323 41 169 324 39 170 325 77 168 326 39 170 327 37 171 328 77 168 329 37 171 330 35 172 331 77 168 332 35 172 333 33 170 334 77 168 335 33 170 336 31 170 337 77 168 338 77 168 339 61 70 340 45 166 341 61 70 342 59 173 343 57 174 344 55 170 345 61 70 346 57 174 347 55 170 348 53 175 349 61 70 350 53 175 351 51 68 352 61 70 353 39 71 354 41 176 355 40 72 356 76 74 357 79 177 358 78 75 359 72 77 360 73 178 361 76 78 362 4 80 363 34 179 364 36 81 365 37 4 366 39 71 367 38 73 368 40 72 369 41 176 370 43 46 371 45 83 372 47 53 373 46 55 374 48 54 375 49 161 376 51 84 377 53 41 378 55 62 379 54 64 380 56 63 381 57 163 382 59 85 383 77 86 384 31 180 385 30 87 386 60 89 387 62 181 388 63 90 389 60 92 390 61 182 391 77 93 392 74 95 393 78 183 394 79 95 395 8 96 396 38 184 397 40 97 398 12 99 399 42 185 400 44 100 401 24 102 402 54 102 403 56 102 404 2 103 405 0 186 406 30 104 407 16 106 408 46 187 409 48 107 410 28 109 411 67 188 412 65 110 413 67 111 414 66 189 415 64 112 416 68 114 417 71 190 418 70 115 419 64 117 420 70 191 421 71 118 422 64 120 423 66 192 424 62 121 425 74 122 426 75 193 427 70 123 428 18 125 429 48 194 430 50 126 431 64 128 432 60 195 433 78 129 434 20 131 435 50 131 436 52 131 437 33 132 438 35 147 439 34 3 440 30 87 441 31 180 442 33 132 443 26 134 444 56 196 445 58 135 446 4 137 447 2 197 448 32 138 449 62 142 450 66 198 451 58 140 452 66 198 453 67 199 454 28 200 455 58 140 456 66 198 457 28 200 458 72 201 459 30 202 460 73 144 461 30 202 462 0 145 463 73 144 464 0 145 465 68 203 466 69 143 467

    + + + + + + + 0 2.25 0.1901126 -1.52002e-7 2.440548 0.1025 4.08359e-7 1.075447 0.1025 0 0.1136917 0.1025 0 3.469546 0.1025 0 2.25 -0.1901126 -1.52002e-7 2.440548 -0.1025 4.08359e-7 1.075447 -0.1025 0 0.1136917 -0.1025 0 3.469546 -0.1025 3.09736e-7 0.7086623 0.1025 3.09736e-7 0.7086623 -0.1025 1.78937e-7 0.4805372 -0.1025 1.78937e-7 0.4805372 0.1025 0 3.085717 0.1025 0 2.824327 0.1025 0 3.6 0.28 0 3.085717 -0.1025 0 2.824327 -0.1025 0 3.6 -0.28 -1.91969e-7 2.312293 0.28 0 2.956147 0.28 -0.15 3.372954 0.04624998 -0.15 3.181039 0.04624998 -1.91969e-7 2.312293 -0.28 0 2.956147 -0.28 -0.1500001 2.535223 0.04624998 -0.15 3.372954 -0.04624998 -0.1500001 2.727113 0.04624998 -0.15 3.181039 -0.04624998 -0.1499996 0.9852741 0.04624998 -0.1500001 2.535223 -0.04624998 -0.1500001 2.727113 -0.04624998 -0.1499996 0.8018819 0.04624998 -0.1499999 0.2061649 0.04624998 -0.1499996 0.9852741 -0.04624998 -0.1499998 0.3895877 0.04624998 -0.1499996 0.8018819 -0.04624998 -0.0975449 1.259607 0.2252249 -0.1499999 0.2061649 -0.04624998 -0.1499998 0.3895877 -0.04624998 -0.1913415 1.28806 0.2252249 -0.0975449 1.259607 -0.2252249 -0.1913415 1.28806 -0.2252249 -0.2777847 1.334266 -0.2252249 -0.3535534 1.396447 -0.2252249 -0.4157344 1.472215 -0.2252249 -0.4619392 1.558658 -0.2252249 -0.4903927 1.652455 -0.2252249 -0.5000002 1.75 -0.2252249 -0.4903924 1.847545 -0.2252249 -0.4619392 1.941342 -0.2252249 -0.4157344 2.027785 -0.2252249 -0.3535533 2.103554 -0.2252249 -0.2777847 2.165735 -0.2252249 -0.1913415 2.21194 -0.2252249 -0.0975449 2.240393 -0.2252249 -2.5 0 -0.3 -2.5 3.6 -0.3 -0.1076551 2.291218 -0.3 -0.2111718 2.259816 -0.3 -0.1076541 1.208783 -0.3 -0.3065744 2.208822 -0.3 -0.3901959 2.140196 -0.3 -0.4588215 2.056575 -0.3 -0.5098147 1.961173 -0.3 -0.5412172 1.857655 -0.3 -0.5518206 1.75 -0.3 -0.5098149 1.538828 -0.3 -0.5412175 1.642346 -0.3 -0.4588212 1.443425 -0.3 -0.3901962 1.359805 -0.3 -0.3065744 1.291179 -0.3 -0.2111722 1.240185 -0.3 -0.2777847 1.334266 0.2252249 -0.3535534 1.396447 0.2252249 -0.4157344 1.472215 0.2252249 -0.4619392 1.558658 0.2252249 -0.4903927 1.652455 0.2252249 -0.5000002 1.75 0.2252249 -0.4903924 1.847545 0.2252249 -0.4619392 1.941342 0.2252249 -0.4157344 2.027785 0.2252249 -0.3535533 2.103554 0.2252249 -0.2777847 2.165735 0.2252249 -0.1913415 2.21194 0.2252249 -0.0975449 2.240393 0.2252249 -2.5 0 0.3 -2.5 3.6 0.3 -0.1076551 2.291218 0.3 -0.2111718 2.259816 0.3 -0.1076541 1.208783 0.3 -0.3065744 2.208822 0.3 -0.3901959 2.140196 0.3 -0.4588215 2.056575 0.3 -0.5098147 1.961173 0.3 -0.5412172 1.857655 0.3 -0.5518206 1.75 0.3 -0.5098149 1.538828 0.3 -0.5412175 1.642346 0.3 -0.4588212 1.443425 0.3 -0.3901962 1.359805 0.3 -0.3065744 1.291179 0.3 -0.2111722 1.240185 0.3 -0.01996612 2.248034 0.2252249 4.69387e-7 1.25 0.1901128 -0.01996552 1.251966 0.2252249 -0.01996749 2.299854 0.3 5.01112e-7 1.187707 0.28 -0.01996672 1.200146 0.3 -0.01996612 2.248034 -0.2252249 4.69387e-7 1.25 -0.1901128 -0.01996552 1.251966 -0.2252249 -0.01996749 2.299854 -0.3 5.01112e-7 1.187707 -0.28 -0.01996672 1.200146 -0.3 -0.0199685 0 -0.3 0 0 -0.28 -0.0199685 3.6 -0.3 -0.0199685 0 0.3 0 0 0.28 -0.0199685 3.6 0.3 -0.7168543 1.601754 0.3 -0.7168543 1.601754 -0.3 -0.793989 1.532466 -0.3 -0.793989 1.532466 0.3 -0.800998 1.719646 0.29 -2.299443 1.727324 0.29 -2.299443 1.732078 0.29 -0.7895248 1.739647 0.29 -0.8395245 1.639647 0.29 -2.349443 1.632078 0.29 -2.349443 1.627324 0.29 -0.8509981 1.619646 0.29 -0.800998 1.719646 -0.29 -2.299443 1.727324 -0.29 -2.299443 1.732078 -0.29 -0.7895248 1.739647 -0.29 -0.8395245 1.639647 -0.29 -2.349443 1.632078 -0.29 -2.349443 1.627324 -0.29 -0.8509981 1.619646 -0.29 -0.8895249 1.539647 -0.29 -2.399442 1.532078 -0.29 -2.399442 1.527324 -0.29 -0.9009982 1.519646 -0.29 -0.1025001 1.065 -0.29 -0.2545286 1.101132 -0.29 -0.2464555 1.124981 -0.29 -0.1025001 1.068555 -0.29 -0.1525005 0.9685549 -0.29 -0.2964556 1.024982 -0.29 -0.3045286 1.001132 -0.29 -0.1525005 0.965 -0.29 -0.2024998 0.8685547 -0.29 -0.3464557 0.9249814 -0.29 -0.3545283 0.9011322 -0.29 -0.2024998 0.8650001 -0.29 -0.8895249 1.539647 0.29 -2.399442 1.532078 0.29 -2.399442 1.527324 0.29 -0.9009982 1.519646 0.29 -0.1025001 1.065 0.29 -0.2545286 1.101132 0.29 -0.2464555 1.124981 0.29 -0.1025001 1.068555 0.29 -0.1525005 0.9685549 0.29 -0.2964556 1.024982 0.29 -0.3045286 1.001132 0.29 -0.1525005 0.965 0.29 -0.8078106 1.704702 -0.3 -2.314443 1.717202 -0.3 -2.314443 1.742202 -0.3 -0.7828105 1.754702 -0.3 -0.6782872 1.636398 -0.3 -0.08750009 1.05 -0.3 -0.2625001 1.0875 -0.3 -0.2374999 1.1375 -0.3 -0.08750009 1.075 -0.3 -0.7554213 1.567111 -0.3 -0.8328103 1.654702 -0.3 -2.364443 1.642202 -0.3 -2.364443 1.617202 -0.3 -0.8578106 1.604702 -0.3 -0.1375005 0.975 -0.3 -0.2875 1.0375 -0.3 -0.3125001 0.9875 -0.3 -0.1375005 0.9500001 -0.3 -0.8325563 1.497822 -0.3 -0.8828107 1.554702 -0.3 -2.414442 1.542202 -0.3 -2.414442 1.517202 -0.3 -0.9078107 1.504702 -0.3 -0.8711233 1.463179 -0.3 -0.1874998 0.8750001 -0.3 -0.3375002 0.9375 -0.3 -0.3624998 0.8874998 -0.3 -0.1874998 0.85 -0.3 -0.09874212 2.536093 -0.29 -0.2565256 2.502283 -0.29 -0.8027049 1.884098 -0.29 -2.3032 1.871648 -0.29 -2.3032 1.868949 -0.29 -0.7878426 1.856582 -0.29 -0.2442126 2.471882 -0.29 -0.09874206 2.532495 -0.29 -0.148742 2.632494 -0.29 -0.2942119 2.571882 -0.29 -0.8378435 1.956581 -0.29 -2.3532 1.968949 -0.29 -2.3532 1.971648 -0.29 -0.8527053 1.984098 -0.29 -0.3065256 2.602283 -0.29 -0.148742 2.636093 -0.29 -0.1987422 2.732494 -0.29 -0.3442123 2.671883 -0.29 -0.8878433 2.056582 -0.29 -2.4032 2.068949 -0.29 -2.4032 2.071649 -0.29 -0.902705 2.084099 -0.29 -0.3565258 2.702283 -0.29 -0.1987422 2.736094 -0.29 -0.2024998 0.8685547 0.29 -0.3464557 0.9249814 0.29 -0.3545283 0.9011322 0.29 -0.2024998 0.8650001 0.29 -0.8078106 1.704702 0.3 -2.314443 1.717202 0.3 -2.314443 1.742202 0.3 -0.7828105 1.754702 0.3 -0.6782872 1.636398 0.3 -0.08750009 1.05 0.3 -0.2625001 1.0875 0.3 -0.2374999 1.1375 0.3 -0.08750009 1.075 0.3 -0.7554213 1.567111 0.3 -0.8328103 1.654702 0.3 -2.364443 1.642202 0.3 -2.364443 1.617202 0.3 -0.8578106 1.604702 0.3 -0.1375005 0.975 0.3 -0.2875 1.0375 0.3 -0.3125001 0.9875 0.3 -0.1375005 0.9500001 0.3 -0.08750009 2.55 -0.3 -0.2625001 2.5125 -0.3 -0.8078107 1.895298 -0.3 -2.314443 1.882797 -0.3 -2.314443 1.857798 -0.3 -0.7828105 1.845298 -0.3 -0.2375006 2.4625 -0.3 -0.08749985 2.525 -0.3 -0.1374999 2.625 -0.3 -0.2874999 2.5625 -0.3 -0.8328113 1.945297 -0.3 -2.364443 1.957798 -0.3 -2.364443 1.982798 -0.3 -0.8578112 1.995298 -0.3 -0.3125 2.6125 -0.3 -0.1374999 2.65 -0.3 -0.1875001 2.725 -0.3 -0.3375003 2.6625 -0.3 -0.8828111 2.045298 -0.3 -2.414442 2.057798 -0.3 -2.414443 2.082798 -0.3 -0.9078108 2.095299 -0.3 -0.3625002 2.7125 -0.3 -0.1875001 2.75 -0.3 -0.8325563 1.497822 0.3 -0.8828107 1.554702 0.3 -2.414442 1.542202 0.3 -2.414442 1.517202 0.3 -0.9078107 1.504702 0.3 -0.8711233 1.463179 0.3 -0.1874998 0.8750001 0.3 -0.3375002 0.9375 0.3 -0.3624998 0.8874998 0.3 -0.1874998 0.85 0.3 -0.09874212 2.536093 0.29 -0.2565256 2.502283 0.29 -0.8027049 1.884098 0.29 -2.3032 1.871648 0.29 -2.3032 1.868949 0.29 -0.7878426 1.856582 0.29 -0.2442126 2.471882 0.29 -0.09874206 2.532495 0.29 -0.148742 2.632494 0.29 -0.2942119 2.571882 0.29 -0.8378435 1.956581 0.29 -2.3532 1.968949 0.29 -2.3532 1.971648 0.29 -0.8527053 1.984098 0.29 -0.3065256 2.602283 0.29 -0.148742 2.636093 0.29 -0.1987422 2.732494 0.29 -0.3442123 2.671883 0.29 -0.8878433 2.056582 0.29 -2.4032 2.068949 0.29 -2.4032 2.071649 0.29 -0.902705 2.084099 0.29 -0.3565258 2.702283 0.29 -0.1987422 2.736094 0.29 -0.08750009 2.55 0.3 -0.2625001 2.5125 0.3 -0.8078107 1.895298 0.3 -2.314443 1.882797 0.3 -2.314443 1.857798 0.3 -0.7828105 1.845298 0.3 -0.2375006 2.4625 0.3 -0.08749985 2.525 0.3 -0.1374999 2.625 0.3 -0.2874999 2.5625 0.3 -0.8328113 1.945297 0.3 -2.364443 1.957798 0.3 -2.364443 1.982798 0.3 -0.8578112 1.995298 0.3 -0.3125 2.6125 0.3 -0.1374999 2.65 0.3 -0.1875001 2.725 0.3 -0.3375003 2.6625 0.3 -0.8828111 2.045298 0.3 -2.414442 2.057798 0.3 -2.414443 2.082798 0.3 -0.9078108 2.095299 0.3 -0.3625002 2.7125 0.3 -0.1875001 2.75 0.3 + + + + + + + + + + 0.3145374 0.7593539 0.5696033 0.4566342 0.6834017 0.5696027 0.3145368 0.7593542 0.5696033 0.6834027 0.4566314 0.5696039 0.7593544 0.3145365 0.5696032 0.6834021 0.4566323 0.5696039 0 0 1 0 0 1 0 0 1 0.3511235 -1.67326e-7 -0.9363292 0.3511235 -1.62951e-7 -0.9363292 0.3511235 -1.76222e-7 -0.9363293 0.4156916 0.3672803 0.8320491 0.4156867 0.367279 0.8320521 0.415706 0.3672839 0.8320403 0.8819228 -0.4713941 0 0.8819228 -0.4713941 0 -1 0 0 0.3511235 0 -0.9363293 0.3511235 0 -0.9363293 0.3511235 0 -0.9363292 0.3511237 0 0.9363291 0.3511236 0 0.9363291 0.3511238 0 0.9363291 0 -1 0 0.002777755 -0.5541474 0.832414 0.536346 0.8439983 0 0.536346 0.8439983 0 0.536346 0.8439982 0 0.3511235 0 0.9363292 0.3511235 0 0.9363292 0.3511235 0 0.9363293 0 0 1 0 1.92734e-6 1 0 1.99867e-6 1 0.5811843 0.5811857 0.5696034 0.4566344 0.6834017 0.5696026 0.5811844 0.5811857 0.5696033 1 -5.50439e-7 -2.50955e-7 1 -4.68813e-7 0 1 -2.29155e-7 0 0.3511235 0 0.9363293 0.3511235 0 0.9363293 0.3511235 -1.26799e-7 0.9363293 0.8219191 -1.15571e-6 0.5696045 0.806126 -0.1603518 0.5696036 0.821919 -6.2664e-7 0.5696045 0.5337434 0.8456465 0 0.5337436 0.8456465 0 0.5337432 0.8456466 0 0.3511235 -1.67326e-7 0.9363292 0.3511235 -1.62951e-7 0.9363292 0.3511235 -1.58473e-7 0.9363292 0 0 -1 0 0 -1 0 0 -1 0.1603493 0.8061268 -0.5696032 0.3145368 0.7593542 -0.5696033 0.3145374 0.7593539 -0.5696034 0.4566342 0.6834017 -0.5696029 0.4566346 0.6834017 -0.5696026 0.5811844 0.5811856 -0.5696035 0.6834021 0.4566323 -0.5696039 0.6834027 0.4566314 -0.5696039 0.7593544 0.3145365 -0.569603 0.7593539 0.3145374 -0.5696034 0.8061259 0.1603522 -0.5696036 0.8061262 0.1603509 -0.5696037 0.8219191 -1.18673e-6 -0.5696043 0.806126 -0.1603518 -0.5696036 0.8061254 -0.1603525 -0.5696043 0.7593542 -0.3145361 -0.5696039 0.7593543 -0.3145356 -0.5696038 0.6834028 -0.4566321 -0.5696032 0.6834021 -0.4566323 -0.5696039 0.5811858 -0.5811836 -0.569604 0.5811854 -0.5811836 -0.5696045 0.4566357 -0.6833997 -0.569604 0.4566341 -0.6834009 -0.569604 0.3145351 -0.7593545 -0.5696038 0.3145343 -0.7593545 -0.5696043 0.160346 -0.8061259 -0.5696054 0 0 1 0.7730125 0.6343908 0 0.7730117 0.6343917 0 0.7730116 0.6343919 0 1 5.09293e-7 0 1 5.09294e-7 0 0 1 0 1 -2.43718e-7 0 1 -2.43718e-7 0 1 -2.43718e-7 0 0.9569385 0.2902909 0 0.9951844 -0.09802114 0 0.9951844 -0.09802138 0 0.9951843 -0.09802138 0 0.08068132 -0.8192392 -0.5677479 0.08068323 -0.8192395 -0.5677472 1 -5.73751e-7 1.59682e-7 1 -2.29156e-7 0 1 -5.73752e-7 -1.59682e-7 0.6343905 0.7730128 0 0.0980128 -0.9951853 -9.00984e-7 0.09801453 -0.995185 -3.33873e-6 0.09801298 -0.9951852 -7.31142e-7 0.5811856 -0.5811837 0.5696042 0.6834022 -0.4566323 0.5696038 0.6834028 -0.456632 0.5696033 0.5546735 0 0.8320681 0.5546838 0 0.8320612 0.5546501 0 0.8320838 0.7593541 -0.3145361 0.5696038 0.7593544 -0.3145357 0.5696037 1 0 0 1 0 0 1 0 0 0.2902861 -0.9569399 0 0.2902861 -0.9569399 0 1 -1.62506e-7 0 1 -1.62506e-7 0 1 -1.62506e-7 0 0 0 1 0 2.19782e-7 1 0 0 1 0.9569391 -0.2902891 0 0.9569392 -0.2902885 0 0.9569392 -0.2902884 0 0.5247786 0.8512388 0 0.5247787 0.8512387 0 0.7076854 -1.05085e-6 0.7065278 0.7076636 -3.16629e-7 0.7065496 0.7076632 -3.05197e-7 0.7065499 0.7076845 0 0.7065287 0.7076849 0 0.7065283 0.7076739 5.63803e-7 0.7065392 0.734586 0.5576849 0.3864855 0.7345733 0.5576928 0.3864982 0.7345888 0.5576832 0.3864827 0.7345755 -0.5576897 0.3864986 0.7345896 -0.5576811 0.3864841 0.7345928 -0.5576792 0.3864808 0.1603491 0.8061268 0.5696033 0.08068722 0.8192399 0.5677462 0.0806868 0.81924 0.5677458 -0.4156923 -0.3672716 0.8320526 -0.4156948 -0.3672745 0.8320501 -0.4156946 -0.3672742 0.8320503 1 2.50967e-7 0 1 1.40723e-6 0 1 2.50964e-7 0 0 0 -1 0 1.4878e-7 -1 0 0 -1 -0.247269 -0.5950805 0.7646812 -0.2059103 -0.523135 0.827001 -0.2031505 -0.5182729 0.8307365 0.08068764 0.8192399 -0.5677461 0.08068782 0.8192401 -0.5677457 0.7345755 -0.5576897 -0.3864986 0.7345896 -0.5576811 -0.3864841 0.7345715 -0.557692 -0.3865026 0.7345736 0.5576925 -0.3864981 0.7345868 0.5576841 -0.386485 0.7345898 0.5576822 -0.3864821 0.7076739 5.53942e-7 -0.7065393 0.7076845 0 -0.7065287 0.7076632 0 -0.70655 0.7076854 -1.05085e-6 -0.7065278 0.7076636 -3.16629e-7 -0.7065496 0.7076857 -1.0599e-6 -0.7065275 0.1284115 0.5448601 0.8286362 0.1369335 0.6363362 0.7591611 0.1276369 0.5370348 0.833848 -0.247272 -0.5950862 0.7646757 -0.2059102 -0.5231365 0.8270002 -0.2031501 -0.518274 0.8307358 0.4713991 -0.88192 0 0.4713975 -0.8819208 0 0.4713972 -0.881921 0 0.002777814 -0.5541442 0.8324162 -0.5547027 0 0.8320487 -0.5546967 0 0.8320526 -0.5547119 0 0.8320425 -0.4156932 -0.3672752 0.8320505 -0.4156932 -0.3672751 0.8320506 -0.4156969 -0.3672764 0.8320482 0.005794823 0.6984466 -0.7156388 0.5546735 0 -0.8320681 0.5546838 0 -0.8320612 0.5546907 0 -0.8320566 0.002777576 -0.5541462 -0.8324148 0.415695 0.3672761 0.8320492 0.4156937 0.3672749 0.8320505 0.4156946 0.3672727 0.832051 0.1369335 0.6363362 -0.7591612 0.1284115 0.5448599 -0.8286364 0.1276369 0.5370345 -0.8338482 -0.247272 -0.5950862 -0.7646757 -0.2059102 -0.5231365 -0.8270002 -0.2496667 -0.5991954 -0.7606782 -0.5547027 0 -0.8320487 -0.5546967 0 -0.8320526 -0.5546945 0 -0.8320541 0.6343934 -0.7730104 0 0.6343922 -0.7730114 0 0.634392 -0.7730116 0 0.002777814 -0.5541439 -0.8324164 0.5547032 -3.09999e-6 -0.8320484 0.5546957 -4.46819e-6 -0.8320533 0.5546907 -5.3726e-6 -0.8320566 0.005794405 0.6984342 -0.7156509 0.4156919 0.3672707 0.8320533 0.4156947 0.3672753 0.8320499 0.4156946 0.3672752 0.8320499 -0.247269 -0.5950805 -0.7646812 -0.2059103 -0.523135 -0.827001 -0.2496635 -0.5991894 -0.760684 0.1369325 0.6363381 -0.7591598 0.1284115 0.5448601 -0.8286363 0.1276369 0.5370345 -0.8338483 -0.5546988 6.57176e-7 -0.8320513 -0.5546994 1.07511e-6 -0.8320509 -0.5546998 1.23986e-6 -0.8320507 -0.4156906 -0.3672719 0.8320533 -0.4156932 -0.3672719 0.8320521 -0.4156928 -0.3672719 0.8320522 0.002777755 -0.5541473 -0.8324141 0.5546996 0 -0.8320508 0.5546971 0 -0.8320525 0.5546954 0 -0.8320535 0.005794823 0.6984468 -0.7156386 0.09801656 0.9951848 0 0.09801757 0.9951848 0 0.09801739 0.9951848 0 -0.2472648 -0.595077 -0.7646852 -0.2059086 -0.5231367 -0.8270004 -0.2496592 -0.5991858 -0.7606884 0.1369304 0.6363315 -0.7591655 0.1284093 0.5448591 -0.8286373 0.1276347 0.5370339 -0.833849 -0.5547013 0 -0.8320496 -0.5546998 0 -0.8320506 -0.5546993 0 -0.8320509 0 0 -1 0 -3.95226e-7 -1 0 0 -1 0 -1.23219e-7 -1 0 -2.74687e-7 -1 0 0 -1 0 4.35463e-7 -1 0 2.38063e-7 -1 0 5.43911e-7 -1 0 0 -1 0 0 -1 0 0 -1 0.5547032 -3.09999e-6 0.8320484 0.5546957 -4.46819e-6 0.8320533 0.5547203 0 0.832037 0.002845048 0.55524 0.8316853 0.1392566 -0.6498728 -0.7471767 0.1392546 -0.6498692 -0.7471802 0.1392567 -0.649873 -0.7471765 0.4980677 -0.4400513 -0.7471837 0.498074 -0.4400577 -0.7471758 0.4980676 -0.4400511 -0.7471838 0.005514204 -0.6645976 -0.7471811 0.005514323 -0.6645982 -0.7471806 0.005514323 -0.6645982 -0.7471806 0.6646261 0 -0.7471762 0.6646263 0 -0.7471761 0.6646257 0 -0.7471765 0.005423843 0.6645983 -0.7471812 0.005423784 0.664599 -0.7471805 0.005423843 0.6645983 -0.7471812 -0.498071 0.4400544 -0.7471797 -0.4980723 0.4400577 -0.7471768 -0.498071 0.4400543 -0.7471797 -0.2556239 0.613499 -0.7471783 -0.2556251 0.6134998 -0.7471773 -0.2556252 0.6134999 -0.7471771 -0.6646295 -1.07835e-5 -0.7471731 -0.6646242 -8.11875e-6 -0.7471779 -0.6646425 -1.72009e-5 -0.7471616 -0.2556227 0.6135003 -0.7471776 -0.2556253 0.6135003 -0.7471768 -0.2556254 0.6135003 -0.7471767 -0.4980725 0.4400578 -0.7471767 -0.4980718 0.4400575 -0.7471774 -0.4980725 0.4400578 -0.7471767 0.00542438 0.6646025 -0.7471775 0.005423963 0.6645963 -0.7471829 0.00542438 0.6646025 -0.7471775 0.6646173 0 -0.747184 0.6646137 0 -0.7471872 0.005514204 -0.6645995 -0.7471795 0.005514144 -0.6645969 -0.7471818 0.4980665 -0.4400533 -0.7471834 0.498072 -0.4400562 -0.747178 0.4980664 -0.4400532 -0.7471834 0.1392568 -0.6498669 -0.7471818 0.1392573 -0.6498682 -0.7471805 0.1392567 -0.6498668 -0.7471818 -0.6646494 0 -0.7471554 -0.6646315 0 -0.7471714 -0.6646926 0 -0.7471171 -0.2556215 0.6135013 -0.7471773 -0.2556219 0.6135027 -0.7471759 -0.255622 0.6135028 -0.7471759 -0.498069 0.4400547 -0.7471808 -0.4980714 0.4400574 -0.7471776 -0.4980689 0.4400547 -0.7471809 0.005423843 0.6645988 -0.7471808 0.005423963 0.6645992 -0.7471803 0.005423843 0.6645988 -0.7471808 0.6646085 8.05506e-6 -0.7471919 0.6646179 1.14085e-5 -0.7471835 0.6645858 0 -0.747212 0.005514204 -0.6646032 -0.7471762 0.005514442 -0.6645985 -0.7471804 0.005514442 -0.6645984 -0.7471804 0.4980708 -0.4400545 -0.7471798 0.4980698 -0.4400572 -0.7471787 0.4980708 -0.4400544 -0.7471798 0.1392568 -0.6498672 -0.7471815 0.1392573 -0.6498679 -0.7471808 0.1392568 -0.6498672 -0.7471815 -0.664636 0 -0.7471674 -0.6646267 0 -0.7471757 -0.6646584 0 -0.7471475 0.3511238 0 -0.9363291 0.3511238 0 -0.9363291 0.3511238 0 -0.9363291 0 1 0 -4.24418e-7 1 0 -0.4156933 -0.3672716 -0.8320521 -0.4156937 -0.3672717 -0.8320518 -0.4156907 -0.3672713 -0.8320535 -0.5546988 6.57176e-7 0.8320513 -0.5546994 1.07511e-6 0.8320509 -0.5546977 0 0.832052 0.1284115 0.5448603 0.8286362 0.1369324 0.6363382 0.7591595 0.1276368 0.5370347 0.8338482 0.3511235 0 -0.9363292 0.3511235 0 -0.9363292 0.3511235 0 -0.9363293 0.5438629 -0.839174 0 0.5438632 -0.839174 0 0.5438625 -0.8391744 0 0.290286 0.9569401 0 0.2902842 0.9569406 0 0.2902837 0.9569406 0 1 -1.55289e-7 0 1 -1.55289e-7 0 1 -1.55289e-7 0 0.9951847 0.0980184 0 0.9951847 0.0980184 0 0.8061255 -0.1603525 0.5696043 0.160346 -0.8061259 0.5696054 0.08068132 -0.8192392 0.5677479 0.1603469 -0.8061251 0.5696064 0.3145343 -0.7593545 0.5696043 0.3145352 -0.7593545 0.5696038 0.456634 -0.6834008 0.569604 0.4566356 -0.6833998 0.569604 0.5811853 -0.5811838 0.5696044 -0.4156944 -0.3672736 -0.8320507 -0.4156946 -0.3672738 -0.8320505 -0.4156917 -0.3672717 -0.832053 0.8061259 0.1603522 0.5696038 0.7593539 0.3145374 0.5696034 0.8061261 0.1603509 0.5696038 0.8819222 0.471395 0 0.8819227 0.4713943 0 0.8819228 0.4713941 0 0 0 1 0 0 1 0 0 1 0.5278378 0.8493452 0 0.5278379 0.8493452 0 0.5278376 0.8493454 0 0.7730123 -0.6343912 0 0.7730115 -0.6343922 0 0.7730114 -0.6343923 0 0.4156943 0.3672724 -0.8320512 0.4156944 0.3672724 -0.8320512 0.4156937 0.3672749 -0.8320505 0.5414058 -0.8407614 0 0.5414066 -0.840761 0 0.5414096 -0.8407591 0 0.5184706 -0.8550956 0 0.5184705 -0.8550956 0 0.5184707 -0.8550955 0 0.002777576 -0.5541458 0.8324151 0.5152202 -0.8570579 0 0.5152201 -0.8570579 0 0.5152205 -0.8570577 0 0.1603484 0.806127 0.5696033 0.4156939 0.3672745 -0.8320506 0.4156939 0.3672746 -0.8320505 0.4156914 0.367271 -0.8320533 -0.4156951 -0.3672754 -0.8320496 -0.415695 -0.3672752 -0.8320497 -0.4156973 -0.3672767 -0.8320479 0.5546996 0 0.8320508 0.5546971 0 0.8320525 0.5547052 0 0.8320469 0.002845108 0.55524 0.8316854 0.4156961 0.3672786 -0.8320477 0.415696 0.3672785 -0.8320478 0.4157062 0.3672832 -0.8320406 -0.2472648 -0.595077 0.7646852 -0.2059086 -0.5231367 0.8270004 -0.203149 -0.518275 0.8307357 0.1284093 0.5448591 0.8286372 0.1369304 0.6363314 0.7591656 0.1276347 0.5370339 0.8338489 -0.5547013 0 0.8320496 -0.5546998 0 0.8320506 -0.5547036 0 0.8320481 0 0 1 0 -3.98899e-7 1 0 0 1 0 -2.74687e-7 1 0 -3.0899e-7 1 0 6.311e-7 1 0 2.38063e-7 1 0 2.67784e-7 1 0 0 1 0 0 1 0 0 1 0.1392566 -0.6498728 0.7471767 0.1392546 -0.6498692 0.7471802 0.1392544 -0.6498689 0.7471805 0.4980677 -0.4400513 0.7471837 0.498074 -0.4400577 0.7471758 0.4980741 -0.4400577 0.7471757 0.005514264 -0.6645989 0.7471801 0.005514204 -0.6645975 0.7471812 0.005514264 -0.6645989 0.7471801 0.6646263 0 0.7471761 0.6646261 0 0.7471762 0.6646257 0 0.7471765 0.005423843 0.6645983 0.7471812 0.005423784 0.664599 0.7471805 0.005423784 0.664599 0.7471805 -0.498071 0.4400544 0.7471797 -0.4980723 0.4400577 0.7471768 -0.4980723 0.4400578 0.7471768 -0.2556251 0.6134998 0.7471773 -0.2556236 0.6134998 0.7471777 -0.2556252 0.6134998 0.7471773 -0.6646244 -7.37247e-6 0.7471776 -0.6646298 -9.24683e-6 0.747173 -0.6646425 -1.37607e-5 0.7471616 -0.2556251 0.6135006 0.7471766 -0.2556226 0.613501 0.7471771 -0.2556253 0.6135006 0.7471765 -0.4980725 0.4400578 0.7471767 -0.4980718 0.4400575 0.7471774 -0.4980718 0.4400575 0.7471774 0.00542438 0.6646025 0.7471775 0.005423963 0.6645963 0.7471829 0.005423963 0.6645963 0.747183 0.664618 0 0.7471833 0.6646203 0 0.7471814 0.005514144 -0.6645976 0.7471812 0.005514204 -0.6645994 0.7471796 0.4980665 -0.4400533 0.7471834 0.498072 -0.4400562 0.747178 0.4980721 -0.4400563 0.7471779 0.1392568 -0.6498669 0.7471818 0.1392573 -0.6498682 0.7471805 0.1392574 -0.6498683 0.7471805 -0.6646316 0 0.7471713 -0.6646499 0 0.7471551 -0.6646937 0 0.747116 -0.2556218 0.613503 0.7471758 -0.2556213 0.6135019 0.7471769 -0.2556218 0.613503 0.7471757 -0.498069 0.4400547 0.7471808 -0.4980714 0.4400574 0.7471776 -0.4980714 0.4400575 0.7471776 0.005423843 0.6645988 0.7471808 0.005423963 0.6645992 0.7471803 0.005423963 0.6645992 0.7471803 0.6646192 1.09697e-5 0.7471823 0.6646127 7.74523e-6 0.7471881 0.6645972 0 0.7472019 0.005514442 -0.664599 0.7471799 0.005514204 -0.6646025 0.7471768 0.005514442 -0.664599 0.7471799 0.4980708 -0.4400545 0.7471798 0.4980698 -0.4400572 0.7471787 0.4980698 -0.4400572 0.7471787 0.1392568 -0.6498672 0.7471815 0.1392573 -0.6498679 0.7471808 0.1392573 -0.649868 0.7471807 -0.6646261 0 0.7471761 -0.6646356 0 0.7471677 -0.6646584 0 0.7471475 0.4713993 0.88192 0 0.4714007 0.8819192 0 0.471401 0.881919 0 1 -2.1347e-7 0 1 -2.1347e-7 0 1 -4.61982e-7 0 1 -5.07598e-7 -1.27249e-7 1 -5.07598e-7 1.27249e-7 1 -2.48619e-7 0 1 -2.27123e-7 0 1 -2.4862e-7 0 1 -1.26968e-7 0 0 0 -1 0 0 -1 0 0 -1 0 2.14569e-6 -1 0 2.18924e-6 -1 0 0 -1 0 -1.60963e-7 -1 0 0 -1 0 1.81362e-6 -1 0 -2.08944e-7 -1 0 0 -1 0 1.80776e-6 -1 0 0 -1 0 4.1097e-7 -1 0 7.41582e-7 -1 0 0 -1 0 0 -1 0 0 1 0 4.1097e-7 1 0 7.41582e-7 1 0 0 1 0 0 1 0 -2.29913e-7 1 0 1.81362e-6 1 0 -2.59411e-7 1 0 1.80776e-6 1 0 0 1 0.3511235 -1.58473e-7 -0.9363292 0.4156954 0.3672781 0.8320482 0.4156956 0.3672782 0.8320481 0.3511235 -1.26799e-7 -0.9363293 0.3511234 0 0.9363293 0.005700111 -0.6984379 0.715648 0.5363459 0.8439984 0 0.3511235 0 0.9363293 1 -5.50439e-7 2.50955e-7 1 -4.68813e-7 0 1 -4.61982e-7 0 0.3511235 0 0.9363292 0.5337439 0.8456462 0 0.3511235 -1.76222e-7 0.9363293 0 0 -1 0 0 -1 0 6.10492e-7 -1 0 0 -1 0 2.2855e-7 -1 0 0 -1 0 1.64048e-7 -1 0.1603484 0.806127 -0.5696033 0.5811845 0.5811856 -0.5696034 0.8219191 -6.41443e-7 -0.5696044 0.1603469 -0.8061251 -0.5696063 0.7730126 0.6343906 0 1 -2.43718e-7 0 0.9951844 -0.09802114 0 0.09801054 -0.9951854 7.31724e-7 0.09801465 -0.995185 3.34139e-6 0.0980103 -0.9951854 9.01702e-7 0.5546907 0 0.8320566 1 0 0 1 -1.62506e-7 0 0 -2.12872e-7 1 0 0 1 0 0 1 0 0 1 0 -2.82887e-7 1 0 -1.72937e-7 1 0 0 1 0 -2.70725e-7 1 0 3.64819e-7 1 0 3.00716e-7 1 0 0 1 0 -6.38744e-7 1 0 -7.09734e-7 1 0 0 1 0 -4.59166e-7 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 -1.46248e-7 1 0 -3.68839e-7 1 0.956939 -0.2902892 0 0.5247784 0.8512389 0 0.7076857 -1.0599e-6 0.7065275 0.7076629 0 0.7065503 0.7076632 0 0.70655 0.7345698 0.557695 0.3865017 0.7345715 -0.557692 0.3865026 -0.4156941 -0.3672758 0.8320498 -0.4156942 -0.3672759 0.8320498 1 1.40724e-6 0 0 0 -1 0 0 -1 0 0 -1 0 -2.15585e-7 -1 0 -1.36613e-7 -1 0 -1.77386e-7 -1 0 0 -1 0 4.00955e-7 -1 0 4.16689e-7 -1 0 -1.24905e-7 -1 0 -6.14878e-7 -1 0 -5.40444e-7 -1 0 0 -1 0 0 -1 0 -1.88394e-7 -1 0 -2.29583e-7 -1 0 0 -1 0 0 -1 0 0 -1 0 1.72186e-7 -1 0 0 -1 0 1.28361e-6 -1 0 6.14348e-7 -1 0 2.15126e-7 -1 0 0 -1 0 -3.68839e-7 -1 -0.2496635 -0.5991894 0.760684 0.7345928 -0.5576792 -0.3864808 0.7345699 0.5576949 -0.3865017 0.7076629 0 -0.7065503 0.7076849 0 -0.7065283 0.7076632 -3.05197e-7 -0.7065499 0.1373258 0.6408494 0.755284 -0.2496667 -0.5991954 0.7606782 0.4713994 -0.8819199 0 0.00570017 -0.6984381 0.7156478 -0.5546945 0 0.8320541 -0.4156941 -0.3672741 0.8320506 -0.4156942 -0.3672743 0.8320505 0.002845048 0.55524 -0.8316853 0.5546501 0 -0.8320838 0.005699992 -0.6984384 -0.7156475 0.4156951 0.3672763 0.8320491 0.4156946 0.3672727 0.8320509 0.1373258 0.6408494 -0.755284 -0.2031501 -0.518274 -0.8307358 -0.5547119 0 -0.8320425 0.6343936 -0.7730102 0 0.00570017 -0.6984382 -0.7156477 0.5547203 0 -0.832037 0.4156942 0.3672743 0.8320503 0.4156948 0.367275 0.8320499 -0.2031505 -0.5182729 -0.8307365 0.1373248 0.6408514 -0.7552824 -0.5546977 0 -0.832052 -0.4156951 -0.3672747 0.8320499 -0.4156952 -0.3672747 0.8320498 0.005700111 -0.6984385 -0.7156475 0.5547052 0 -0.8320469 0.002845108 0.55524 -0.8316854 0.09801715 0.9951848 2.76455e-7 0.09801632 0.9951848 0 0.09801703 0.9951848 -2.73797e-7 -0.203149 -0.518275 -0.8307357 0.1373227 0.6408446 -0.7552885 -0.5547036 0 -0.8320481 0 -9.59795e-7 -1 0 0 -1 0 0 -1 0 0 -1 0 -1.92609e-7 -1 0 -2.18245e-7 -1 0 0 -1 0 2.66489e-7 -1 0 0 -1 0 1.66754e-7 -1 0 0 -1 0 0 -1 0 -1.40258e-7 -1 0 2.65235e-7 -1 0 0 -1 0 -2.45227e-7 -1 0 3.22989e-7 -1 0 0 -1 0 0 -1 0 -3.75728e-7 -1 0 -3.86628e-7 -1 0 0 -1 0 2.32592e-7 -1 0 1.68056e-7 -1 0 -3.81689e-7 -1 0 -3.0899e-7 -1 0 1.31223e-5 -1 0 1.17215e-5 -1 0 2.67784e-7 -1 0 0 -1 0 0 -1 0 0 -1 0.5546907 -5.3726e-6 0.8320566 0.005794405 0.6984342 0.7156509 0.1392544 -0.6498689 -0.7471805 0.4980741 -0.4400577 -0.7471757 0.005514204 -0.6645976 -0.7471811 0.6646263 0 -0.747176 0.005423784 0.664599 -0.7471805 -0.4980723 0.4400578 -0.7471768 -0.2556238 0.6134989 -0.7471784 -0.6646208 -6.43755e-6 -0.7471809 -0.2556226 0.6135004 -0.7471777 -0.4980718 0.4400575 -0.7471774 0.005423963 0.6645963 -0.747183 0.6646122 0 -0.7471886 0.005514204 -0.6645995 -0.7471795 0.4980721 -0.4400563 -0.7471779 0.1392574 -0.6498683 -0.7471805 -0.6646202 0 -0.7471815 -0.2556214 0.6135013 -0.7471773 -0.4980714 0.4400575 -0.7471776 0.005423963 0.6645992 -0.7471803 0.664622 1.28749e-5 -0.7471798 0.005514204 -0.6646032 -0.7471762 0.4980698 -0.4400572 -0.7471787 0.1392573 -0.649868 -0.7471807 -0.6646208 0 -0.7471809 0.3511238 0 -0.9363291 -1.33256e-6 1 0 -0.4156952 -0.3672747 -0.8320498 -0.4156951 -0.3672747 -0.8320499 -0.5546998 1.23986e-6 0.8320507 0.1373248 0.6408516 0.7552823 0.3511235 0 -0.9363293 0.005794823 0.6984466 0.7156388 0.5438638 -0.8391735 0 0.2902863 0.9569399 0 1 -1.55289e-7 0 0.08068323 -0.8192395 0.5677472 -0.4156942 -0.3672759 -0.8320498 -0.4156941 -0.3672758 -0.8320499 0.8819221 0.4713952 0 0 0 1 0 0 1 0 0 1 0 1.56002e-7 1 0 0 1 0 0 1 0 0 1 0.5278382 0.8493449 0 0.7730125 -0.634391 0 0.4156951 0.3672763 -0.8320491 0.415695 0.3672761 -0.8320492 0.5414041 -0.8407626 0 0.5184703 -0.8550957 0 0.005700051 -0.6984378 0.7156481 0.5152196 -0.8570583 0 0.4156948 0.367275 -0.8320499 0.4156942 0.3672744 -0.8320505 -0.4156932 -0.3672751 -0.8320506 -0.4156932 -0.3672752 -0.8320505 0.5546954 0 0.8320535 0.005794823 0.6984468 0.7156386 0.4156867 0.367279 -0.8320521 0.4156917 0.3672801 -0.8320491 -0.2496592 -0.5991858 0.7606884 0.1373227 0.6408445 0.7552886 -0.5546993 0 0.8320509 0 0 1 0 -9.59795e-7 1 0 3.21479e-7 1 0 3.81689e-7 1 0 0 1 0 0 1 0 -2.07554e-7 1 0 0 1 0 0 1 0 0 1 0 0 1 0 2.41319e-7 1 0 1.45541e-7 1 0 0 1 0 0 1 0 3.31672e-7 1 0 -2.45227e-7 1 0 0 1 0 0 1 0 0 1 0 0 1 0 -2.42043e-7 1 0 -1.79408e-7 1 0 0 1 0 -3.87653e-7 1 0 1.17497e-5 1 0 0 1 0 1.31223e-5 1 0 1.50781e-7 1 0 7.91143e-7 1 0.1392567 -0.649873 0.7471765 0.4980676 -0.4400511 0.7471838 0.005514204 -0.6645975 0.7471812 0.6646263 0 0.747176 0.005423843 0.6645983 0.7471812 -0.498071 0.4400543 0.7471797 -0.2556236 0.6134998 0.7471778 -0.6646211 -6.18994e-6 0.7471807 -0.2556225 0.613501 0.7471772 -0.4980725 0.4400578 0.7471767 0.00542438 0.6646025 0.7471775 0.6646171 0 0.7471842 0.4980664 -0.4400532 0.7471834 0.1392567 -0.6498668 0.7471818 -0.6646202 0 0.7471815 -0.2556213 0.6135018 0.747177 -0.4980689 0.4400547 0.7471809 0.005423843 0.6645988 0.7471808 0.664622 1.23797e-5 0.7471798 0.005514204 -0.6646025 0.7471768 0.4980708 -0.4400544 0.7471798 0.1392568 -0.6498672 0.7471815 -0.6646202 0 0.7471814 0.471399 0.8819202 0 1 -2.27122e-7 0 1 -1.25559e-7 0 1 0 0 1 0 0 1 -1.25559e-7 0 1 -1.26968e-7 0 0 0 1 + + + + + + + + + + 0.8945313 0.390625 0.9023438 0.3828125 0.9023438 0.390625 0.8945313 0.3671875 0.9023438 0.359375 0.9023438 0.3671875 0.8085938 0.59375 0.8320313 0.5976563 0.8085938 0.5976563 0.6210938 0.3085938 0.625 0.2890625 0.625 0.3046875 0.8984375 0.5976563 0.8984375 0.6015625 0.890625 0.6015625 0.8945313 0.3203125 0.8554688 0.328125 0.8554688 0.3203125 0.8046875 0.4960938 0.84375 0.2773438 0.84375 0.4960938 0.6210938 0.34375 0.625 0.3242188 0.625 0.3398438 0.6328125 0.4804688 0.6367188 0.4609375 0.6367188 0.484375 0.8046875 0.7539063 0.8046875 0.7929688 0.6484375 0.7929688 0.8984375 0.5898438 0.9453125 0.59375 0.8984375 0.59375 0.6367188 0.4609375 0.625 0.4648438 0.6210938 0.4609375 0.6328125 0.4492188 0.6367188 0.4296875 0.6367188 0.453125 0.9414063 0.59375 0.8828125 0.5976563 0.8828125 0.59375 0.8945313 0.375 0.9023438 0.3828125 0.8945313 0.3828125 0.8945313 0.375 0.9023438 0.3671875 0.9023438 0.375 0.6367188 0.3203125 0.6367188 0.3085938 0.6445313 0.3476563 0.6367188 0.34375 0.6328125 0.3242188 0.6367188 0.3203125 0.8945313 0.34375 0.9023438 0.3359375 0.9023438 0.34375 0.6367188 0.4296875 0.625 0.4335938 0.6210938 0.4296875 0.6367188 0.3085938 0.6328125 0.2890625 0.6367188 0.2851563 0.6627917 0.443255 0.6739633 0.4412869 0.6484375 0.4960938 0.8554688 0.3984375 0.8476563 0.390625 0.8554688 0.390625 0.8554688 0.390625 0.8476563 0.3828125 0.8554688 0.3828125 0.8476563 0.3828125 0.8554688 0.375 0.8554688 0.3828125 0.8554688 0.375 0.8476563 0.3671875 0.8554688 0.3671875 0.8554688 0.3671875 0.8476563 0.359375 0.8554688 0.359375 0.8476563 0.359375 0.8554688 0.3515625 0.8554688 0.359375 0.8476563 0.3515625 0.8554688 0.34375 0.8554688 0.3515625 0.8554688 0.34375 0.8476563 0.3359375 0.8554688 0.3359375 0.8554688 0.3359375 0.8476563 0.328125 0.8554688 0.328125 0.8476563 0.328125 0.8554688 0.3203125 0.8554688 0.328125 0.8476563 0.3203125 0.8554688 0.3125 0.8554688 0.3203125 0.8476563 0.3125 0.8554688 0.3046875 0.8554688 0.3125 0.8476563 0.3046875 0.8554688 0.296875 0.8554688 0.3046875 0.8476563 0.296875 0.8554688 0.2890625 0.8554688 0.296875 0.8320313 0.59375 0.8828125 0.5976563 0.8320313 0.5976563 0.8945313 0.3671875 0.8554688 0.375 0.8554688 0.3671875 0.6171875 0.3515625 0.6445313 0.3476563 0.640625 0.3515625 0.6484375 0.5351563 0.8046875 0.4960938 0.8046875 0.5351563 0.6328125 0.3046875 0.625 0.2890625 0.6328125 0.2890625 0.8945313 0.3515625 0.8554688 0.359375 0.8554688 0.3515625 0.8945313 0.3359375 0.8554688 0.34375 0.8554688 0.3359375 0.8554688 0.2890625 0.8476563 0.28125 0.8554688 0.28125 0.6367188 0.34375 0.6132813 0.3476563 0.6210938 0.34375 0.8945313 0.375 0.8554688 0.3828125 0.8554688 0.375 0.8945313 0.2773438 0.8945313 0.28125 0.8945313 0.2890625 0.8945313 0.3125 0.9023438 0.3203125 0.8945313 0.3203125 0.9414063 0.6054688 0.9453125 0.6132813 0.9414063 0.609375 0.8945313 0.3203125 0.9023438 0.328125 0.8945313 0.328125 0.6328125 0.4492188 0.625 0.4335938 0.6328125 0.4335938 0.8945313 0.2890625 0.8554688 0.296875 0.8554688 0.2890625 0.625 0.3242188 0.6328125 0.3398438 0.625 0.3398438 0.6543128 0.6952406 0.6484375 0.6875 0.6550616 0.6870194 0.8945313 0.328125 0.8554688 0.3359375 0.8554688 0.328125 0.6367188 0.2851563 0.625 0.2890625 0.6210938 0.2851563 0.6132813 0.3476563 0.609375 0.2773438 0.6132813 0.2773438 0.609375 0.4179688 0.6132813 0.4179688 0.6132813 0.4570313 0.8945313 0.40625 0.9023438 0.4101563 0.8945313 0.4101563 0.9023438 0.2773438 0.8945313 0.28125 0.8945313 0.2773438 0.8945313 0.3984375 0.9023438 0.40625 0.8945313 0.40625 0.890625 0.578125 0.8984375 0.578125 0.8984375 0.5820313 0.6132813 0.4179688 0.640625 0.4140625 0.6445313 0.4179688 0.6628094 0.3425499 0.6614339 0.3489242 0.6549568 0.3471782 0.8046875 0.5820313 0.8320313 0.578125 0.8320313 0.5820313 0.8476563 0.40625 0.8554688 0.3984375 0.8554688 0.40625 0.8476563 0.2773438 0.8554688 0.28125 0.8476563 0.28125 0.8476563 0.4101563 0.8554688 0.40625 0.8554688 0.4101563 0.6445313 0.4570313 0.6484375 0.4140625 0.6484375 0.4960938 0.6445313 0.3476563 0.6484375 0.2773438 0.6484375 0.3476563 0.8320313 0.578125 0.8046875 0.5742188 0.8320313 0.5742188 0.8046875 0.5703125 0.8320313 0.5664063 0.8320313 0.5703125 0.8945313 0.296875 0.8554688 0.3046875 0.8554688 0.296875 0.8984375 0.578125 0.9453125 0.5820313 0.8984375 0.5820313 0.8085938 0.609375 0.8046875 0.6015625 0.8085938 0.6054688 0.8320313 0.5703125 0.8320313 0.5664063 0.890625 0.5664063 0.9453125 0.5234375 0.8984375 0.5195313 0.9453125 0.5195313 0.9414063 0.5273438 0.9453125 0.5195313 0.9453125 0.53125 0.9453125 0.5273438 0.8984375 0.53125 0.8984375 0.5273438 0.8984375 0.5742188 0.890625 0.578125 0.8320313 0.5742188 0.8046875 0.5234375 0.8320313 0.5195313 0.8320313 0.5234375 0.8046875 0.5273438 0.8320313 0.53125 0.8046875 0.53125 0.8085938 0.5234375 0.8046875 0.53125 0.8046875 0.5195313 0.8945313 0.3046875 0.8554688 0.3125 0.8554688 0.3046875 0.9453125 0.515625 0.8984375 0.5195313 0.8984375 0.515625 0.9414063 0.515625 0.9453125 0.5078125 0.9453125 0.5195313 0.9453125 0.5117188 0.8984375 0.5078125 0.9453125 0.5078125 0.890625 0.5898438 0.8320313 0.5898438 0.8320313 0.5859375 0.8046875 0.515625 0.8320313 0.5195313 0.8046875 0.5195313 0.8046875 0.5117188 0.8320313 0.5078125 0.8320313 0.5117188 0.8085938 0.5117188 0.8046875 0.5195313 0.8046875 0.5078125 0.890625 0.5898438 0.8984375 0.5898438 0.8984375 0.59375 0.9453125 0.5039063 0.8984375 0.5078125 0.8984375 0.5039063 0.9414063 0.5039063 0.9453125 0.4960938 0.9453125 0.5078125 0.9453125 0.5 0.8984375 0.4960938 0.9453125 0.4960938 0.8945313 0.4101563 0.8554688 0.4101563 0.8554688 0.3984375 0.8046875 0.5039063 0.8320313 0.5078125 0.8046875 0.5078125 0.8046875 0.5 0.8320313 0.4960938 0.8320313 0.5 0.8085938 0.5 0.8046875 0.5078125 0.8046875 0.4960938 0.7958816 0.4011822 0.7107183 0.3984869 0.792643 0.3962891 0.8320313 0.5351563 0.8828125 0.5390625 0.8320313 0.5390625 0.8320313 0.546875 0.8828125 0.5507813 0.8320313 0.5507813 0.8320313 0.5585938 0.8828125 0.5625 0.8320313 0.5625 0.9414063 0.6171875 0.9453125 0.625 0.9414063 0.6210938 0.9453125 0.5859375 0.8984375 0.5898438 0.8984375 0.5859375 0.8046875 0.5390625 0.8320313 0.5429688 0.8046875 0.5429688 0.8320313 0.5390625 0.8984375 0.5429688 0.8320313 0.5429688 0.9453125 0.5390625 0.8984375 0.5429688 0.8984375 0.5390625 0.9414063 0.5351563 0.9453125 0.5429688 0.9414063 0.5390625 0.9453125 0.53125 0.8984375 0.5351563 0.9453125 0.5351563 0.8984375 0.53125 0.8320313 0.5351563 0.8984375 0.5351563 0.8046875 0.53125 0.8320313 0.5351563 0.8320313 0.53125 0.8085938 0.5390625 0.8046875 0.53125 0.8085938 0.5351563 0.8046875 0.546875 0.8320313 0.5429688 0.8320313 0.546875 0.8984375 0.546875 0.8320313 0.5429688 0.8984375 0.5429688 0.9453125 0.546875 0.8984375 0.5429688 0.9453125 0.5429688 0.9414063 0.546875 0.9453125 0.5546875 0.9414063 0.5507813 0.9453125 0.5507813 0.8984375 0.5546875 0.8984375 0.5507813 0.8320313 0.5507813 0.8984375 0.5546875 0.8320313 0.5546875 0.8046875 0.5507813 0.8320313 0.5546875 0.8046875 0.5546875 0.8085938 0.5507813 0.8046875 0.5429688 0.8085938 0.546875 0.8046875 0.5585938 0.8320313 0.5546875 0.8320313 0.5585938 0.8984375 0.5585938 0.8320313 0.5546875 0.8984375 0.5546875 0.9453125 0.5585938 0.8984375 0.5546875 0.9453125 0.5546875 0.9414063 0.5585938 0.9453125 0.5664063 0.9414063 0.5625 0.9453125 0.5625 0.8984375 0.5664063 0.8984375 0.5625 0.8320313 0.5625 0.8984375 0.5664063 0.8320313 0.5664063 0.8046875 0.5625 0.8320313 0.5664063 0.8046875 0.5664063 0.8085938 0.5625 0.8046875 0.5546875 0.8085938 0.5585938 0.6210938 0.4609375 0.625 0.4804688 0.6210938 0.484375 0.6445313 0.5351563 0.6484375 0.4960938 0.6484375 0.5351563 0.8984375 0.5039063 0.8984375 0.5078125 0.890625 0.5078125 0.8085938 0.6210938 0.8046875 0.6132813 0.8085938 0.6171875 0.8320313 0.5898438 0.8046875 0.5859375 0.8320313 0.5859375 0.6210938 0.4296875 0.625 0.4492188 0.6210938 0.453125 0.9453125 0.5742188 0.8984375 0.578125 0.8984375 0.5742188 0.6210938 0.453125 0.6328125 0.4492188 0.6367188 0.453125 0.8554688 0.3984375 0.8945313 0.390625 0.8945313 0.3984375 0.625 0.4648438 0.6328125 0.4804688 0.625 0.4804688 0.8945313 0.34375 0.8554688 0.3515625 0.8554688 0.34375 0.8945313 0.3359375 0.9023438 0.328125 0.9023438 0.3359375 0.8945313 0.2890625 0.9023438 0.28125 0.9023438 0.2890625 0.8945313 0.2890625 0.9023438 0.296875 0.8945313 0.296875 0.8945313 0.296875 0.9023438 0.3046875 0.8945313 0.3046875 0.8945313 0.3046875 0.9023438 0.3125 0.8945313 0.3125 0.8984375 0.515625 0.8984375 0.5195313 0.890625 0.5195313 0.8945313 0.3515625 0.9023438 0.359375 0.8945313 0.359375 0.8945313 0.34375 0.9023438 0.3515625 0.8945313 0.3515625 0.8945313 0.359375 0.8554688 0.3671875 0.8554688 0.359375 0.6484375 0.5351563 0.657865 0.5954006 0.6542191 0.6023433 0.6367188 0.3203125 0.625 0.3242188 0.6210938 0.3203125 0.8945313 0.3125 0.8554688 0.3203125 0.8554688 0.3125 0.8320313 0.5234375 0.8320313 0.5195313 0.890625 0.5195313 0.6367188 0.484375 0.625 0.4804688 0.6328125 0.4804688 0.6210938 0.3085938 0.6328125 0.3046875 0.6367188 0.3085938 0.8984375 0.5664063 0.9453125 0.5703125 0.8984375 0.5703125 0.6210938 0.34375 0.6328125 0.3398438 0.6367188 0.34375 0.8945313 0.3984375 0.9023438 0.390625 0.9023438 0.3984375 0.8320313 0.5117188 0.8320313 0.5078125 0.890625 0.5078125 0.8984375 0.5273438 0.8984375 0.53125 0.890625 0.53125 0.9414063 0.6289063 0.9453125 0.6367188 0.9414063 0.6328125 0.9453125 0.5976563 0.8984375 0.6015625 0.8984375 0.5976563 0.8320313 0.5 0.8320313 0.4960938 0.890625 0.4960938 0.8046875 0.59375 0.8320313 0.5898438 0.8320313 0.59375 0.8320313 0.6015625 0.8046875 0.5976563 0.8320313 0.5976563 0.8085938 0.6328125 0.8046875 0.625 0.8085938 0.6289063 0.7899345 0.6359996 0.7093751 0.6334774 0.7931929 0.6311195 0.8320313 0.6328125 0.8828125 0.6289063 0.8828125 0.6328125 0.8320313 0.6210938 0.8828125 0.6171875 0.8828125 0.6210938 0.8320313 0.609375 0.8828125 0.6054688 0.8828125 0.609375 0.8046875 0.6289063 0.8320313 0.625 0.8320313 0.6289063 0.8320313 0.6289063 0.8984375 0.625 0.8984375 0.6289063 0.8984375 0.625 0.9453125 0.6289063 0.8984375 0.6289063 0.9453125 0.5898438 0.9414063 0.5976563 0.9414063 0.59375 0.9453125 0.6328125 0.8984375 0.6367188 0.8984375 0.6328125 0.8984375 0.6328125 0.8320313 0.6367188 0.8320313 0.6328125 0.8320313 0.6367188 0.8046875 0.6328125 0.8320313 0.6328125 0.8046875 0.6015625 0.8085938 0.59375 0.8085938 0.5976563 0.8320313 0.625 0.8046875 0.6210938 0.8320313 0.6210938 0.8984375 0.6210938 0.8320313 0.625 0.8320313 0.6210938 0.9453125 0.6210938 0.8984375 0.625 0.8984375 0.6210938 0.9453125 0.578125 0.9414063 0.5859375 0.9414063 0.5820313 0.8984375 0.6132813 0.9453125 0.6171875 0.8984375 0.6171875 0.8320313 0.6171875 0.8984375 0.6132813 0.8984375 0.6171875 0.8046875 0.6171875 0.8320313 0.6132813 0.8320313 0.6171875 0.8046875 0.5898438 0.8085938 0.5820313 0.8085938 0.5859375 0.8320313 0.6132813 0.8046875 0.609375 0.8320313 0.609375 0.8984375 0.609375 0.8320313 0.6132813 0.8320313 0.609375 0.9453125 0.609375 0.8984375 0.6132813 0.8984375 0.609375 0.9453125 0.5664063 0.9414063 0.5742188 0.9414063 0.5703125 0.8984375 0.6015625 0.9453125 0.6054688 0.8984375 0.6054688 0.8320313 0.6054688 0.8984375 0.6015625 0.8984375 0.6054688 0.8046875 0.6054688 0.8320313 0.6015625 0.8320313 0.6054688 0.8046875 0.578125 0.8085938 0.5703125 0.8085938 0.5742188 0.8554688 0.390625 0.8945313 0.3828125 0.8945313 0.390625 0.6210938 0.4296875 0.6445313 0.4179688 0.6367188 0.4296875 0.6132813 0.2773438 0.6367188 0.2851563 0.6210938 0.2851563 0.6367188 0.484375 0.6132813 0.4960938 0.6210938 0.484375 0.6132813 0.4179688 0.6210938 0.4296875 0.6210938 0.453125 0.8085938 0.5039063 0.8320313 0.5 0.8320313 0.5039063 0.8320313 0.5039063 0.8828125 0.5 0.8828125 0.5039063 0.8828125 0.5 0.9414063 0.5039063 0.8828125 0.5039063 0.8320313 0.5234375 0.8085938 0.5273438 0.8085938 0.5234375 0.8828125 0.5234375 0.8320313 0.5273438 0.8320313 0.5234375 0.8828125 0.5234375 0.9414063 0.5273438 0.8828125 0.5273438 0.8085938 0.515625 0.8320313 0.5117188 0.8320313 0.515625 0.8320313 0.515625 0.8828125 0.5117188 0.8828125 0.515625 0.8828125 0.5117188 0.9414063 0.515625 0.8828125 0.515625 0.8085938 0.5820313 0.8320313 0.5859375 0.8085938 0.5859375 0.8320313 0.5820313 0.8828125 0.5859375 0.8320313 0.5859375 0.8828125 0.5859375 0.9414063 0.5820313 0.9414063 0.5859375 0.8085938 0.5703125 0.8320313 0.5742188 0.8085938 0.5742188 0.8828125 0.5742188 0.8320313 0.5703125 0.8828125 0.5703125 0.8828125 0.5742188 0.9414063 0.5703125 0.9414063 0.5742188 0.8945313 0.390625 0.8945313 0.3828125 0.9023438 0.3828125 0.8945313 0.3671875 0.8945313 0.359375 0.9023438 0.359375 0.8085938 0.59375 0.8320313 0.59375 0.8320313 0.5976563 0.6210938 0.3085938 0.6210938 0.2851563 0.625 0.2890625 0.890625 0.6015625 0.8320313 0.6015625 0.8320313 0.5976563 0.8320313 0.5976563 0.8984375 0.5976563 0.890625 0.6015625 0.8945313 0.3203125 0.8945313 0.328125 0.8554688 0.328125 0.8046875 0.4960938 0.8046875 0.2773438 0.84375 0.2773438 0.6210938 0.34375 0.6210938 0.3203125 0.625 0.3242188 0.6328125 0.4804688 0.6328125 0.4648438 0.6367188 0.4609375 0.6484375 0.7929688 0.6484375 0.7890625 0.6484375 0.7578125 0.6484375 0.7578125 0.6484375 0.7539063 0.6484375 0.7929688 0.6484375 0.7539063 0.8046875 0.7539063 0.6484375 0.7929688 0.8984375 0.5898438 0.9453125 0.5898438 0.9453125 0.59375 0.6367188 0.4609375 0.6328125 0.4648438 0.625 0.4648438 0.6328125 0.4492188 0.6328125 0.4335938 0.6367188 0.4296875 0.9414063 0.59375 0.9414063 0.5976563 0.8828125 0.5976563 0.8945313 0.375 0.9023438 0.375 0.9023438 0.3828125 0.8945313 0.375 0.8945313 0.3671875 0.9023438 0.3671875 0.6210938 0.3203125 0.6210938 0.34375 0.6132813 0.3476563 0.6132813 0.3476563 0.6132813 0.2773438 0.6210938 0.3085938 0.6132813 0.2773438 0.6210938 0.2851563 0.6210938 0.3085938 0.6210938 0.3203125 0.6132813 0.3476563 0.6210938 0.3085938 0.6367188 0.3085938 0.6367188 0.2851563 0.6445313 0.2773438 0.6210938 0.3203125 0.6210938 0.3085938 0.6367188 0.3085938 0.6445313 0.3476563 0.6367188 0.34375 0.6367188 0.3203125 0.6367188 0.3203125 0.6210938 0.3203125 0.6367188 0.3085938 0.6367188 0.3085938 0.6445313 0.2773438 0.6445313 0.3476563 0.6367188 0.34375 0.6328125 0.3398438 0.6328125 0.3242188 0.8945313 0.34375 0.8945313 0.3359375 0.9023438 0.3359375 0.6367188 0.4296875 0.6328125 0.4335938 0.625 0.4335938 0.6367188 0.3085938 0.6328125 0.3046875 0.6328125 0.2890625 0.6484375 0.4960938 0.6484375 0.4140625 0.6553167 0.429395 0.6484375 0.4140625 0.6551535 0.4274626 0.6553167 0.429395 0.6553167 0.429395 0.6589134 0.4344661 0.6590877 0.4363514 0.79587 0.4048618 0.8046875 0.4960938 0.712595 0.4026403 0.8046875 0.4960938 0.6484375 0.4960938 0.6739633 0.4412869 0.6739633 0.4412869 0.712595 0.4026403 0.8046875 0.4960938 0.6590877 0.4363514 0.6626338 0.4413934 0.6627917 0.443255 0.6553167 0.429395 0.6590877 0.4363514 0.6484375 0.4960938 0.6590877 0.4363514 0.6627917 0.443255 0.6484375 0.4960938 0.8554688 0.3984375 0.8476563 0.3984375 0.8476563 0.390625 0.8554688 0.390625 0.8476563 0.390625 0.8476563 0.3828125 0.8476563 0.3828125 0.8476563 0.375 0.8554688 0.375 0.8554688 0.375 0.8476563 0.375 0.8476563 0.3671875 0.8554688 0.3671875 0.8476563 0.3671875 0.8476563 0.359375 0.8476563 0.359375 0.8476563 0.3515625 0.8554688 0.3515625 0.8476563 0.3515625 0.8476563 0.34375 0.8554688 0.34375 0.8554688 0.34375 0.8476563 0.34375 0.8476563 0.3359375 0.8554688 0.3359375 0.8476563 0.3359375 0.8476563 0.328125 0.8476563 0.328125 0.8476563 0.3203125 0.8554688 0.3203125 0.8476563 0.3203125 0.8476563 0.3125 0.8554688 0.3125 0.8476563 0.3125 0.8476563 0.3046875 0.8554688 0.3046875 0.8476563 0.3046875 0.8476563 0.296875 0.8554688 0.296875 0.8476563 0.296875 0.8476563 0.2890625 0.8554688 0.2890625 0.8320313 0.59375 0.8828125 0.59375 0.8828125 0.5976563 0.8945313 0.3671875 0.8945313 0.375 0.8554688 0.375 0.6171875 0.3515625 0.6132813 0.3476563 0.6445313 0.3476563 0.6484375 0.5351563 0.6484375 0.4960938 0.8046875 0.4960938 0.6328125 0.3046875 0.625 0.3046875 0.625 0.2890625 0.8945313 0.3515625 0.8945313 0.359375 0.8554688 0.359375 0.8945313 0.3359375 0.8945313 0.34375 0.8554688 0.34375 0.8554688 0.2890625 0.8476563 0.2890625 0.8476563 0.28125 0.6367188 0.34375 0.6445313 0.3476563 0.6132813 0.3476563 0.8945313 0.375 0.8945313 0.3828125 0.8554688 0.3828125 0.8945313 0.2890625 0.8554688 0.2890625 0.8945313 0.2773438 0.8554688 0.2890625 0.8554688 0.28125 0.8554688 0.2773438 0.8945313 0.2773438 0.8554688 0.2890625 0.8554688 0.2773438 0.8945313 0.3125 0.9023438 0.3125 0.9023438 0.3203125 0.9414063 0.6054688 0.9453125 0.6015625 0.9453125 0.6132813 0.8945313 0.3203125 0.9023438 0.3203125 0.9023438 0.328125 0.6328125 0.4492188 0.625 0.4492188 0.625 0.4335938 0.8945313 0.2890625 0.8945313 0.296875 0.8554688 0.296875 0.625 0.3242188 0.6328125 0.3242188 0.6328125 0.3398438 0.7067155 0.6729791 0.8046875 0.7539063 0.6721291 0.7070778 0.8046875 0.7539063 0.6484375 0.7539063 0.6721291 0.7070778 0.6851683 0.6598361 0.6862586 0.6534677 0.6942515 0.660293 0.665088 0.6946941 0.6966667 0.663116 0.6991799 0.6652868 0.6685958 0.7009387 0.7017183 0.6680247 0.7042396 0.670189 0.6825394 0.6662004 0.6851683 0.6598361 0.6942515 0.660293 0.665088 0.6946941 0.6991799 0.6652868 0.6666692 0.697633 0.665088 0.6946941 0.6666692 0.697633 0.6579065 0.7014715 0.6545063 0.6970323 0.665088 0.6946941 0.6579065 0.7014715 0.6545063 0.6970323 0.6579065 0.7014715 0.658129 0.7032284 0.6685958 0.7009387 0.7042396 0.670189 0.6701936 0.7038277 0.6685958 0.7009387 0.6701936 0.7038277 0.6615781 0.7076281 0.658129 0.7032284 0.6685958 0.7009387 0.6615781 0.7076281 0.6618196 0.7093647 0.6721291 0.7070778 0.6484375 0.7539063 0.658129 0.7032284 0.6615781 0.7076281 0.6618196 0.7093647 0.6545063 0.6970323 0.658129 0.7032284 0.6484375 0.7539063 0.658129 0.7032284 0.6618196 0.7093647 0.6484375 0.7539063 0.678657 0.672223 0.6825394 0.6662004 0.6942515 0.660293 0.6736712 0.6775319 0.678657 0.672223 0.6942515 0.660293 0.6543128 0.6952406 0.6545063 0.6970323 0.6484375 0.6875 0.6545063 0.6970323 0.6484375 0.7539063 0.6484375 0.6875 0.6736712 0.6775319 0.6942515 0.660293 0.6631827 0.691349 0.6736712 0.6775319 0.6631827 0.691349 0.6678602 0.6818433 0.6631827 0.691349 0.6543128 0.6952406 0.6550616 0.6870194 0.6678602 0.6818433 0.6631827 0.691349 0.6615377 0.6850305 0.6615377 0.6850305 0.6631827 0.691349 0.6550616 0.6870194 0.8945313 0.328125 0.8945313 0.3359375 0.8554688 0.3359375 0.6367188 0.2851563 0.6328125 0.2890625 0.625 0.2890625 0.6132813 0.3476563 0.609375 0.3476563 0.609375 0.2773438 0.6132813 0.4570313 0.6132813 0.4960938 0.609375 0.4960938 0.609375 0.4960938 0.609375 0.4179688 0.6132813 0.4570313 0.8945313 0.40625 0.9023438 0.40625 0.9023438 0.4101563 0.9023438 0.2773438 0.9023438 0.28125 0.8945313 0.28125 0.8945313 0.3984375 0.9023438 0.3984375 0.9023438 0.40625 0.8984375 0.5820313 0.8320313 0.5820313 0.890625 0.578125 0.8320313 0.5820313 0.8320313 0.578125 0.890625 0.578125 0.6132813 0.4179688 0.6171875 0.4140625 0.640625 0.4140625 0.6484375 0.2773438 0.8046875 0.2773438 0.6708264 0.3265217 0.8046875 0.2773438 0.7060039 0.3593519 0.6708264 0.3265217 0.6941677 0.3724869 0.6869742 0.3796073 0.6852775 0.3732706 0.6988602 0.3673141 0.6964595 0.3695758 0.6645369 0.3391391 0.7036679 0.3622302 0.7012655 0.3644847 0.6676817 0.3327765 0.6484375 0.2773438 0.6708264 0.3265217 0.660544 0.3246204 0.6941677 0.3724869 0.6852775 0.3732706 0.6825568 0.3669947 0.665953 0.3361465 0.6988602 0.3673141 0.6645369 0.3391391 0.6571138 0.3326402 0.665953 0.3361465 0.6645369 0.3391391 0.6571138 0.3326402 0.6645369 0.3391391 0.6539687 0.3371986 0.6572394 0.3308789 0.6571138 0.3326402 0.6539687 0.3371986 0.6691008 0.3298349 0.7036679 0.3622302 0.6676817 0.3327765 0.6484375 0.2773438 0.660544 0.3246204 0.6572394 0.3308789 0.660544 0.3246204 0.6604059 0.3263612 0.6572394 0.3308789 0.6604059 0.3263612 0.6691008 0.3298349 0.6676817 0.3327765 0.6604059 0.3263612 0.6676817 0.3327765 0.6572394 0.3308789 0.6941677 0.3724869 0.6825568 0.3669947 0.6786093 0.3611079 0.6941677 0.3724869 0.6786093 0.3611079 0.6735859 0.3559776 0.6484375 0.2773438 0.6572394 0.3308789 0.6539687 0.3371986 0.6628094 0.3425499 0.6941677 0.3724869 0.6735859 0.3559776 0.6484375 0.2773438 0.6539687 0.3371986 0.6484375 0.3476563 0.6539687 0.3371986 0.6538631 0.3389946 0.6484375 0.3476563 0.6538631 0.3389946 0.6628094 0.3425499 0.6549568 0.3471782 0.6628094 0.3425499 0.6735859 0.3559776 0.6677594 0.3518777 0.6628094 0.3425499 0.6677594 0.3518777 0.6614339 0.3489242 0.6549568 0.3471782 0.6484375 0.3476563 0.6538631 0.3389946 0.8046875 0.5820313 0.8046875 0.578125 0.8320313 0.578125 0.8476563 0.40625 0.8476563 0.3984375 0.8554688 0.3984375 0.8476563 0.2773438 0.8554688 0.2773438 0.8554688 0.28125 0.8476563 0.4101563 0.8476563 0.40625 0.8554688 0.40625 0.6484375 0.4960938 0.6445313 0.4960938 0.6445313 0.4570313 0.6445313 0.4570313 0.6445313 0.4179688 0.6484375 0.4140625 0.6445313 0.3476563 0.6445313 0.2773438 0.6484375 0.2773438 0.8320313 0.578125 0.8046875 0.578125 0.8046875 0.5742188 0.8046875 0.5703125 0.8046875 0.5664063 0.8320313 0.5664063 0.8945313 0.296875 0.8945313 0.3046875 0.8554688 0.3046875 0.8984375 0.578125 0.9453125 0.578125 0.9453125 0.5820313 0.8085938 0.609375 0.8046875 0.6132813 0.8046875 0.6015625 0.890625 0.5664063 0.8984375 0.5664063 0.8984375 0.5703125 0.8984375 0.5703125 0.8320313 0.5703125 0.890625 0.5664063 0.9453125 0.5234375 0.8984375 0.5234375 0.8984375 0.5195313 0.9414063 0.5273438 0.9414063 0.5234375 0.9453125 0.5195313 0.9453125 0.5273438 0.9453125 0.53125 0.8984375 0.53125 0.8984375 0.578125 0.890625 0.578125 0.8984375 0.5742188 0.890625 0.578125 0.8320313 0.578125 0.8320313 0.5742188 0.8046875 0.5234375 0.8046875 0.5195313 0.8320313 0.5195313 0.8046875 0.5273438 0.8320313 0.5273438 0.8320313 0.53125 0.8085938 0.5234375 0.8085938 0.5273438 0.8046875 0.53125 0.8945313 0.3046875 0.8945313 0.3125 0.8554688 0.3125 0.9453125 0.515625 0.9453125 0.5195313 0.8984375 0.5195313 0.9414063 0.515625 0.9414063 0.5117188 0.9453125 0.5078125 0.9453125 0.5117188 0.8984375 0.5117188 0.8984375 0.5078125 0.8320313 0.5859375 0.8984375 0.5859375 0.890625 0.5898438 0.8984375 0.5859375 0.8984375 0.5898438 0.890625 0.5898438 0.8046875 0.515625 0.8320313 0.515625 0.8320313 0.5195313 0.8046875 0.5117188 0.8046875 0.5078125 0.8320313 0.5078125 0.8085938 0.5117188 0.8085938 0.515625 0.8046875 0.5195313 0.8984375 0.59375 0.8320313 0.59375 0.890625 0.5898438 0.8320313 0.59375 0.8320313 0.5898438 0.890625 0.5898438 0.9453125 0.5039063 0.9453125 0.5078125 0.8984375 0.5078125 0.9414063 0.5039063 0.9414063 0.5 0.9453125 0.4960938 0.9453125 0.5 0.8984375 0.5 0.8984375 0.4960938 0.8554688 0.40625 0.8554688 0.3984375 0.8554688 0.4101563 0.8554688 0.3984375 0.8945313 0.3984375 0.8945313 0.4101563 0.8945313 0.3984375 0.8945313 0.40625 0.8945313 0.4101563 0.8046875 0.5039063 0.8320313 0.5039063 0.8320313 0.5078125 0.8046875 0.5 0.8046875 0.4960938 0.8320313 0.4960938 0.8085938 0.5 0.8085938 0.5039063 0.8046875 0.5078125 0.8046875 0.2773438 0.8046875 0.4960938 0.7958816 0.4011822 0.8046875 0.4960938 0.79587 0.4048618 0.7958816 0.4011822 0.7088977 0.3616208 0.7060039 0.3593519 0.7934817 0.3560252 0.7060039 0.3593519 0.8046875 0.2773438 0.7934817 0.3560252 0.6719875 0.4374769 0.6626338 0.4413934 0.6703681 0.4343076 0.6626338 0.4413934 0.6590877 0.4363514 0.6703681 0.4343076 0.7107183 0.3984869 0.6719875 0.4374769 0.6703681 0.4343076 0.6683581 0.4304701 0.6589134 0.4344661 0.6667141 0.4272662 0.6589134 0.4344661 0.6553167 0.429395 0.6667141 0.4272662 0.7072473 0.3915 0.6683581 0.4304701 0.6667141 0.4272662 0.7037395 0.3845635 0.6647186 0.4234158 0.6765272 0.4028772 0.6647186 0.4234158 0.6551535 0.4274626 0.6564746 0.4133117 0.6765272 0.4028772 0.6647186 0.4234158 0.6707679 0.4072312 0.6551535 0.4274626 0.6484375 0.4140625 0.6564746 0.4133117 0.6564746 0.4133117 0.664846 0.4109677 0.6647186 0.4234158 0.664846 0.4109677 0.6707679 0.4072312 0.6647186 0.4234158 0.7037395 0.3845635 0.6765272 0.4028772 0.6808764 0.3969842 0.7037395 0.3845635 0.6808764 0.3969842 0.6847027 0.3909546 0.6862974 0.3846162 0.6869742 0.3796073 0.7037395 0.3845635 0.6869742 0.3796073 0.6941677 0.3724869 0.7019447 0.3798312 0.7037395 0.3845635 0.6869742 0.3796073 0.7019447 0.3798312 0.7037395 0.3845635 0.6847027 0.3909546 0.6862974 0.3846162 0.7886615 0.3855476 0.7037395 0.3845635 0.7019447 0.3798312 0.7886615 0.3855476 0.7019447 0.3798312 0.7870407 0.3757169 0.789077 0.3885076 0.7886615 0.3855476 0.7922265 0.3932982 0.7886615 0.3855476 0.7870407 0.3757169 0.7922265 0.3932982 0.7870407 0.3757169 0.7873313 0.3727117 0.7902636 0.3677988 0.7922265 0.3932982 0.7870407 0.3757169 0.7902636 0.3677988 0.7072473 0.3915 0.6667141 0.4272662 0.7056617 0.3886672 0.7922265 0.3932982 0.7072473 0.3915 0.789077 0.3885076 0.7072473 0.3915 0.7056617 0.3886672 0.789077 0.3885076 0.7034366 0.3757264 0.6964595 0.3695758 0.7047283 0.3728319 0.6964595 0.3695758 0.6988602 0.3673141 0.7047283 0.3728319 0.7873313 0.3727117 0.7034366 0.3757264 0.7047283 0.3728319 0.7873313 0.3727117 0.7047283 0.3728319 0.7902636 0.3677988 0.7922265 0.3932982 0.7902636 0.3677988 0.7936452 0.3597685 0.7902636 0.3677988 0.7905749 0.3647736 0.7936452 0.3597685 0.792643 0.3962891 0.7922265 0.3932982 0.7958816 0.4011822 0.7062069 0.3686895 0.7012655 0.3644847 0.7074477 0.3657639 0.7012655 0.3644847 0.7036679 0.3622302 0.7074477 0.3657639 0.7905749 0.3647736 0.7062069 0.3686895 0.7074477 0.3657639 0.7936452 0.3597685 0.7934817 0.3560252 0.8046875 0.2773438 0.7905749 0.3647736 0.7074477 0.3657639 0.7936452 0.3597685 0.7922265 0.3932982 0.7936452 0.3597685 0.7958816 0.4011822 0.7936452 0.3597685 0.8046875 0.2773438 0.7958816 0.4011822 0.7107183 0.3984869 0.6703681 0.4343076 0.709154 0.3956355 0.7107183 0.3984869 0.709154 0.3956355 0.792643 0.3962891 0.8828125 0.5351563 0.9414063 0.5351563 0.8828125 0.5390625 0.9414063 0.5351563 0.9414063 0.5390625 0.8828125 0.5390625 0.8085938 0.5390625 0.8085938 0.5351563 0.8320313 0.5390625 0.8085938 0.5351563 0.8320313 0.5351563 0.8320313 0.5390625 0.8320313 0.5351563 0.8828125 0.5351563 0.8828125 0.5390625 0.8828125 0.546875 0.9414063 0.546875 0.8828125 0.5507813 0.9414063 0.546875 0.9414063 0.5507813 0.8828125 0.5507813 0.8085938 0.5507813 0.8085938 0.546875 0.8320313 0.5507813 0.8085938 0.546875 0.8320313 0.546875 0.8320313 0.5507813 0.8320313 0.546875 0.8828125 0.546875 0.8828125 0.5507813 0.8828125 0.5585938 0.9414063 0.5585938 0.8828125 0.5625 0.9414063 0.5585938 0.9414063 0.5625 0.8828125 0.5625 0.8085938 0.5625 0.8085938 0.5585938 0.8320313 0.5625 0.8085938 0.5585938 0.8320313 0.5585938 0.8320313 0.5625 0.8320313 0.5585938 0.8828125 0.5585938 0.8828125 0.5625 0.9414063 0.6171875 0.9453125 0.6132813 0.9453125 0.625 0.9453125 0.5859375 0.9453125 0.5898438 0.8984375 0.5898438 0.8046875 0.5390625 0.8320313 0.5390625 0.8320313 0.5429688 0.8320313 0.5390625 0.8984375 0.5390625 0.8984375 0.5429688 0.9453125 0.5390625 0.9453125 0.5429688 0.8984375 0.5429688 0.9414063 0.5351563 0.9453125 0.53125 0.9453125 0.5429688 0.9453125 0.53125 0.8984375 0.53125 0.8984375 0.5351563 0.8984375 0.53125 0.8320313 0.53125 0.8320313 0.5351563 0.8046875 0.53125 0.8046875 0.5351563 0.8320313 0.5351563 0.8085938 0.5390625 0.8046875 0.5429688 0.8046875 0.53125 0.8046875 0.546875 0.8046875 0.5429688 0.8320313 0.5429688 0.8984375 0.546875 0.8320313 0.546875 0.8320313 0.5429688 0.9453125 0.546875 0.8984375 0.546875 0.8984375 0.5429688 0.9414063 0.546875 0.9453125 0.5429688 0.9453125 0.5546875 0.9453125 0.5507813 0.9453125 0.5546875 0.8984375 0.5546875 0.8320313 0.5507813 0.8984375 0.5507813 0.8984375 0.5546875 0.8046875 0.5507813 0.8320313 0.5507813 0.8320313 0.5546875 0.8085938 0.5507813 0.8046875 0.5546875 0.8046875 0.5429688 0.8046875 0.5585938 0.8046875 0.5546875 0.8320313 0.5546875 0.8984375 0.5585938 0.8320313 0.5585938 0.8320313 0.5546875 0.9453125 0.5585938 0.8984375 0.5585938 0.8984375 0.5546875 0.9414063 0.5585938 0.9453125 0.5546875 0.9453125 0.5664063 0.9453125 0.5625 0.9453125 0.5664063 0.8984375 0.5664063 0.8320313 0.5625 0.8984375 0.5625 0.8984375 0.5664063 0.8046875 0.5625 0.8320313 0.5625 0.8320313 0.5664063 0.8085938 0.5625 0.8046875 0.5664063 0.8046875 0.5546875 0.6210938 0.4609375 0.625 0.4648438 0.625 0.4804688 0.6445313 0.5351563 0.6445313 0.4960938 0.6484375 0.4960938 0.8320313 0.5078125 0.8320313 0.5039063 0.890625 0.5078125 0.8320313 0.5039063 0.8984375 0.5039063 0.890625 0.5078125 0.8085938 0.6210938 0.8046875 0.625 0.8046875 0.6132813 0.8320313 0.5898438 0.8046875 0.5898438 0.8046875 0.5859375 0.6210938 0.4296875 0.625 0.4335938 0.625 0.4492188 0.9453125 0.5742188 0.9453125 0.578125 0.8984375 0.578125 0.6210938 0.453125 0.625 0.4492188 0.6328125 0.4492188 0.8554688 0.3984375 0.8554688 0.390625 0.8945313 0.390625 0.625 0.4648438 0.6328125 0.4648438 0.6328125 0.4804688 0.8945313 0.34375 0.8945313 0.3515625 0.8554688 0.3515625 0.8945313 0.3359375 0.8945313 0.328125 0.9023438 0.328125 0.8945313 0.2890625 0.8945313 0.28125 0.9023438 0.28125 0.8945313 0.2890625 0.9023438 0.2890625 0.9023438 0.296875 0.8945313 0.296875 0.9023438 0.296875 0.9023438 0.3046875 0.8945313 0.3046875 0.9023438 0.3046875 0.9023438 0.3125 0.8320313 0.5195313 0.8320313 0.515625 0.890625 0.5195313 0.8320313 0.515625 0.8984375 0.515625 0.890625 0.5195313 0.8945313 0.3515625 0.9023438 0.3515625 0.9023438 0.359375 0.8945313 0.34375 0.9023438 0.34375 0.9023438 0.3515625 0.8945313 0.359375 0.8945313 0.3671875 0.8554688 0.3671875 0.6484375 0.5351563 0.8046875 0.5351563 0.6725161 0.590524 0.8046875 0.5351563 0.7931963 0.6274399 0.7112594 0.6293308 0.6725161 0.590524 0.8046875 0.5351563 0.7112594 0.6293308 0.6613433 0.5885105 0.661254 0.5903719 0.657865 0.5954006 0.6484375 0.5351563 0.6725161 0.590524 0.6613433 0.5885105 0.6540729 0.6042755 0.6484375 0.6210938 0.6542191 0.6023433 0.6484375 0.6210938 0.6484375 0.5351563 0.6542191 0.6023433 0.657865 0.5954006 0.657732 0.5972856 0.6542191 0.6023433 0.6484375 0.5351563 0.6613433 0.5885105 0.657865 0.5954006 0.6367188 0.3203125 0.6328125 0.3242188 0.625 0.3242188 0.8945313 0.3125 0.8945313 0.3203125 0.8554688 0.3203125 0.8984375 0.5195313 0.8984375 0.5234375 0.890625 0.5195313 0.8984375 0.5234375 0.8320313 0.5234375 0.890625 0.5195313 0.6367188 0.484375 0.6210938 0.484375 0.625 0.4804688 0.6210938 0.3085938 0.625 0.3046875 0.6328125 0.3046875 0.8984375 0.5664063 0.9453125 0.5664063 0.9453125 0.5703125 0.6210938 0.34375 0.625 0.3398438 0.6328125 0.3398438 0.8945313 0.3984375 0.8945313 0.390625 0.9023438 0.390625 0.8984375 0.5078125 0.8984375 0.5117188 0.890625 0.5078125 0.8984375 0.5117188 0.8320313 0.5117188 0.890625 0.5078125 0.8320313 0.53125 0.8320313 0.5273438 0.890625 0.53125 0.8320313 0.5273438 0.8984375 0.5273438 0.890625 0.53125 0.9414063 0.6289063 0.9453125 0.625 0.9453125 0.6367188 0.9453125 0.5976563 0.9453125 0.6015625 0.8984375 0.6015625 0.8984375 0.4960938 0.8984375 0.5 0.890625 0.4960938 0.8984375 0.5 0.8320313 0.5 0.890625 0.4960938 0.8046875 0.59375 0.8046875 0.5898438 0.8320313 0.5898438 0.8320313 0.6015625 0.8046875 0.6015625 0.8046875 0.5976563 0.8085938 0.6328125 0.8046875 0.6367188 0.8046875 0.625 0.7931963 0.6274399 0.8046875 0.5351563 0.7931929 0.6311195 0.8046875 0.5351563 0.8046875 0.7539063 0.7931929 0.6311195 0.8046875 0.7539063 0.7067155 0.6729791 0.7931327 0.6730901 0.7067155 0.6729791 0.709585 0.6706083 0.7931327 0.6730901 0.8046875 0.7539063 0.7931327 0.6730901 0.7931531 0.6693429 0.7079739 0.6665234 0.7042396 0.670189 0.7017183 0.6680247 0.7931929 0.6311195 0.8046875 0.7539063 0.7931531 0.6693429 0.7079739 0.6665234 0.7017183 0.6680247 0.7066196 0.6636469 0.657865 0.5954006 0.661254 0.5903719 0.669142 0.5974904 0.661254 0.5903719 0.6706756 0.5943269 0.669142 0.5974904 0.669142 0.5974904 0.6706756 0.5943269 0.7093751 0.6334774 0.6542191 0.6023433 0.657732 0.5972856 0.6656011 0.6045186 0.657732 0.5972856 0.6672064 0.6013207 0.6656011 0.6045186 0.6656011 0.6045186 0.6672064 0.6013207 0.7058358 0.6404517 0.6540729 0.6042755 0.6635924 0.6083861 0.6543546 0.6202624 0.6635924 0.6083861 0.7022034 0.6473758 0.6745533 0.6295657 0.6543546 0.6202624 0.6484375 0.6210938 0.6540729 0.6042755 0.6616945 0.6221625 0.6543546 0.6202624 0.6635924 0.6083861 0.6685211 0.62525 0.6616945 0.6221625 0.6635924 0.6083861 0.6745533 0.6295657 0.6685211 0.62525 0.6635924 0.6083861 0.6794179 0.6348639 0.6745533 0.6295657 0.7022034 0.6473758 0.6831247 0.6409096 0.6794179 0.6348639 0.7022034 0.6473758 0.6942515 0.660293 0.6862586 0.6534677 0.7019596 0.6526791 0.6862586 0.6534677 0.6855093 0.6472589 0.7022034 0.6473758 0.6855093 0.6472589 0.6831247 0.6409096 0.7022034 0.6473758 0.6862586 0.6534677 0.7022034 0.6473758 0.7019596 0.6526791 0.7019596 0.6526791 0.7022034 0.6473758 0.7859094 0.6467247 0.785943 0.6536587 0.7019596 0.6526791 0.7859094 0.6467247 0.785943 0.6536587 0.7859094 0.6467247 0.7895057 0.6389886 0.7859094 0.6467247 0.7863369 0.6437664 0.7895057 0.6389886 0.7863486 0.6566506 0.785943 0.6536587 0.7894666 0.6614478 0.7042044 0.6432787 0.6656011 0.6045186 0.7058358 0.6404517 0.7042044 0.6432787 0.7058358 0.6404517 0.7863369 0.6437664 0.7058358 0.6404517 0.7895057 0.6389886 0.7863369 0.6437664 0.785943 0.6536587 0.7895057 0.6389886 0.7894666 0.6614478 0.6991799 0.6652868 0.6966667 0.663116 0.7049899 0.6595649 0.6966667 0.663116 0.7035919 0.6567221 0.7049899 0.6595649 0.7049899 0.6595649 0.7035919 0.6567221 0.7863486 0.6566506 0.7894666 0.6614478 0.7049899 0.6595649 0.7863486 0.6566506 0.7079739 0.6665234 0.7066196 0.6636469 0.7898935 0.6644589 0.7898935 0.6644589 0.7894666 0.6614478 0.7931531 0.6693429 0.7894666 0.6614478 0.7895057 0.6389886 0.7931531 0.6693429 0.7895057 0.6389886 0.7899345 0.6359996 0.7931929 0.6311195 0.7931531 0.6693429 0.7895057 0.6389886 0.7931929 0.6311195 0.7931531 0.6693429 0.7079739 0.6665234 0.7898935 0.6644589 0.7077907 0.6363229 0.669142 0.5974904 0.7093751 0.6334774 0.7899345 0.6359996 0.7077907 0.6363229 0.7093751 0.6334774 0.8320313 0.6328125 0.8085938 0.6328125 0.8320313 0.6289063 0.8085938 0.6328125 0.8085938 0.6289063 0.8320313 0.6289063 0.8828125 0.6289063 0.9414063 0.6289063 0.9414063 0.6328125 0.8828125 0.6289063 0.9414063 0.6328125 0.8828125 0.6328125 0.8320313 0.6328125 0.8320313 0.6289063 0.8828125 0.6289063 0.8320313 0.6210938 0.8085938 0.6210938 0.8320313 0.6171875 0.8085938 0.6210938 0.8085938 0.6171875 0.8320313 0.6171875 0.8828125 0.6171875 0.9414063 0.6171875 0.9414063 0.6210938 0.8828125 0.6171875 0.9414063 0.6210938 0.8828125 0.6210938 0.8320313 0.6210938 0.8320313 0.6171875 0.8828125 0.6171875 0.8320313 0.609375 0.8085938 0.609375 0.8320313 0.6054688 0.8085938 0.609375 0.8085938 0.6054688 0.8320313 0.6054688 0.8828125 0.6054688 0.9414063 0.6054688 0.9414063 0.609375 0.8828125 0.6054688 0.9414063 0.609375 0.8828125 0.609375 0.8320313 0.609375 0.8320313 0.6054688 0.8828125 0.6054688 0.8046875 0.6289063 0.8046875 0.625 0.8320313 0.625 0.8320313 0.6289063 0.8320313 0.625 0.8984375 0.625 0.8984375 0.625 0.9453125 0.625 0.9453125 0.6289063 0.9453125 0.5898438 0.9453125 0.6015625 0.9414063 0.5976563 0.9453125 0.6328125 0.9453125 0.6367188 0.8984375 0.6367188 0.8984375 0.6328125 0.8984375 0.6367188 0.8320313 0.6367188 0.8320313 0.6367188 0.8046875 0.6367188 0.8046875 0.6328125 0.8046875 0.6015625 0.8046875 0.5898438 0.8085938 0.59375 0.8320313 0.625 0.8046875 0.625 0.8046875 0.6210938 0.8984375 0.6210938 0.8984375 0.625 0.8320313 0.625 0.9453125 0.6210938 0.9453125 0.625 0.8984375 0.625 0.9453125 0.578125 0.9453125 0.5898438 0.9414063 0.5859375 0.8984375 0.6132813 0.9453125 0.6132813 0.9453125 0.6171875 0.8320313 0.6171875 0.8320313 0.6132813 0.8984375 0.6132813 0.8046875 0.6171875 0.8046875 0.6132813 0.8320313 0.6132813 0.8046875 0.5898438 0.8046875 0.578125 0.8085938 0.5820313 0.8320313 0.6132813 0.8046875 0.6132813 0.8046875 0.609375 0.8984375 0.609375 0.8984375 0.6132813 0.8320313 0.6132813 0.9453125 0.609375 0.9453125 0.6132813 0.8984375 0.6132813 0.9453125 0.5664063 0.9453125 0.578125 0.9414063 0.5742188 0.8984375 0.6015625 0.9453125 0.6015625 0.9453125 0.6054688 0.8320313 0.6054688 0.8320313 0.6015625 0.8984375 0.6015625 0.8046875 0.6054688 0.8046875 0.6015625 0.8320313 0.6015625 0.8046875 0.578125 0.8046875 0.5664063 0.8085938 0.5703125 0.8554688 0.390625 0.8554688 0.3828125 0.8945313 0.3828125 0.6210938 0.4296875 0.6132813 0.4179688 0.6445313 0.4179688 0.6132813 0.2773438 0.6445313 0.2773438 0.6367188 0.2851563 0.6367188 0.484375 0.6445313 0.4960938 0.6132813 0.4960938 0.6445313 0.4960938 0.6367188 0.484375 0.6445313 0.4570313 0.6367188 0.484375 0.6367188 0.4609375 0.6445313 0.4570313 0.6210938 0.4609375 0.6210938 0.484375 0.6132813 0.4570313 0.6210938 0.484375 0.6132813 0.4960938 0.6132813 0.4570313 0.6445313 0.4570313 0.6367188 0.4609375 0.6367188 0.453125 0.6367188 0.4609375 0.6210938 0.4609375 0.6210938 0.453125 0.6367188 0.4296875 0.6445313 0.4179688 0.6367188 0.453125 0.6445313 0.4179688 0.6445313 0.4570313 0.6367188 0.453125 0.6367188 0.4609375 0.6210938 0.453125 0.6367188 0.453125 0.6210938 0.4609375 0.6132813 0.4570313 0.6210938 0.453125 0.6132813 0.4570313 0.6132813 0.4179688 0.6210938 0.453125 0.8085938 0.5039063 0.8085938 0.5 0.8320313 0.5 0.8320313 0.5039063 0.8320313 0.5 0.8828125 0.5 0.8828125 0.5 0.9414063 0.5 0.9414063 0.5039063 0.8320313 0.5234375 0.8320313 0.5273438 0.8085938 0.5273438 0.8828125 0.5234375 0.8828125 0.5273438 0.8320313 0.5273438 0.8828125 0.5234375 0.9414063 0.5234375 0.9414063 0.5273438 0.8085938 0.515625 0.8085938 0.5117188 0.8320313 0.5117188 0.8320313 0.515625 0.8320313 0.5117188 0.8828125 0.5117188 0.8828125 0.5117188 0.9414063 0.5117188 0.9414063 0.515625 0.8085938 0.5820313 0.8320313 0.5820313 0.8320313 0.5859375 0.8320313 0.5820313 0.8828125 0.5820313 0.8828125 0.5859375 0.8828125 0.5859375 0.8828125 0.5820313 0.9414063 0.5820313 0.8085938 0.5703125 0.8320313 0.5703125 0.8320313 0.5742188 0.8828125 0.5742188 0.8320313 0.5742188 0.8320313 0.5703125 0.8828125 0.5742188 0.8828125 0.5703125 0.9414063 0.5703125 + + + + + + + + + + + + + + +

    41 0 0 102 1 1 103 2 2 76 3 3 98 4 4 100 5 5 222 6 6 224 7 7 225 8 8 13 9 9 34 10 10 36 11 11 161 12 12 272 13 13 273 14 14 82 15 15 51 15 16 52 16 17 58 17 18 87 17 19 88 17 20 2 18 21 33 19 22 30 20 23 27 21 24 17 22 25 9 23 26 87 24 27 57 24 28 116 24 29 269 25 30 159 25 31 158 25 32 17 26 33 23 27 34 14 28 35 32 29 36 6 30 37 18 31 38 159 32 39 161 33 40 158 34 41 75 35 42 102 1 43 74 36 44 75 35 45 100 5 46 101 37 47 11 38 48 12 39 49 114 40 50 7 41 51 37 42 52 11 43 53 79 44 54 96 45 55 97 46 56 6 47 57 26 48 58 1 49 59 12 50 60 39 51 61 8 52 62 267 53 63 266 54 64 118 55 65 42 56 66 73 57 67 43 58 68 43 58 69 72 59 70 44 60 71 72 59 72 45 61 73 44 60 74 45 61 75 70 62 76 46 63 77 46 63 78 68 64 79 47 65 80 68 64 81 48 66 82 47 65 83 69 67 84 49 68 85 48 66 86 49 68 87 66 69 88 50 70 89 50 70 90 65 71 91 51 72 92 65 71 93 52 73 94 51 72 95 64 74 96 53 75 97 52 73 98 63 76 99 54 77 100 53 75 101 62 78 102 55 79 103 54 77 104 60 80 105 56 81 106 55 79 107 223 82 108 161 33 109 224 7 110 76 83 111 45 84 112 46 85 113 105 86 114 114 40 115 111 87 116 121 88 117 58 88 118 88 88 119 40 89 120 34 90 121 39 91 122 78 92 123 47 92 124 48 92 125 80 93 126 49 94 127 50 95 128 56 81 129 113 96 130 110 97 131 7 98 132 108 99 133 2 100 134 75 101 135 44 101 136 45 101 137 0 102 138 104 103 139 86 104 140 83 105 141 94 106 142 82 107 143 128 108 144 227 109 145 127 110 146 82 107 147 95 111 148 81 112 149 32 113 150 26 114 151 31 115 152 86 116 153 55 116 154 56 117 155 33 118 156 35 119 157 30 120 158 234 121 159 109 122 160 91 123 161 81 124 162 50 125 163 51 126 164 8 127 165 34 127 166 3 128 167 108 129 168 119 130 169 120 131 170 107 132 171 20 133 172 21 134 173 106 135 174 108 136 175 105 137 176 20 138 177 104 139 178 0 140 179 38 141 180 109 142 181 106 143 182 235 144 183 236 145 184 130 146 185 20 147 186 5 148 187 24 149 188 177 150 189 73 151 190 61 152 191 166 153 192 241 154 193 167 155 194 115 156 195 42 56 196 112 157 197 24 158 198 110 159 199 113 160 200 114 161 201 112 162 202 111 163 203 25 164 204 113 165 205 118 166 206 114 167 207 116 168 208 115 169 209 232 170 210 162 171 211 163 172 212 165 173 213 233 174 214 164 175 215 85 176 216 54 177 217 55 178 218 236 179 219 131 179 220 130 179 221 162 180 222 234 181 223 165 182 224 164 183 225 233 184 226 230 185 227 135 186 228 170 186 229 171 186 230 136 187 231 171 188 232 172 189 233 136 190 234 173 190 235 137 190 236 126 191 237 122 192 238 163 193 239 146 194 240 176 195 241 147 196 242 149 197 243 177 198 244 178 199 245 146 200 246 178 201 247 175 202 248 84 203 249 53 204 250 54 205 251 139 206 252 180 206 253 138 206 254 139 207 255 182 208 256 181 209 257 140 210 258 183 210 259 182 210 260 125 211 261 242 212 262 168 213 263 150 214 264 185 215 265 184 216 266 153 217 267 186 218 268 152 219 269 153 220 270 184 221 271 187 222 272 268 223 273 269 224 274 158 225 275 143 226 276 189 226 277 142 226 278 143 227 279 191 228 280 190 229 281 144 230 282 192 230 283 191 230 284 105 231 285 111 232 286 42 233 287 154 234 288 195 235 289 194 236 290 157 237 291 196 238 292 156 239 293 157 240 294 194 241 295 197 242 296 263 243 297 262 244 298 256 245 299 204 246 300 200 247 301 199 248 302 207 249 303 211 250 304 212 251 305 215 252 306 219 253 307 220 254 308 131 255 309 238 256 310 132 257 311 132 258 312 239 258 313 133 258 314 198 259 315 245 260 316 244 261 317 199 262 318 246 263 319 245 264 320 201 265 321 246 266 322 200 267 323 202 268 324 247 269 325 201 270 326 202 271 327 249 272 328 248 273 329 203 274 330 250 275 331 249 276 332 205 277 333 250 278 334 204 279 335 198 280 336 251 281 337 205 282 338 206 283 339 253 284 340 207 285 341 208 286 342 253 287 343 254 288 344 209 289 345 254 290 346 255 291 347 209 292 348 256 293 349 210 270 350 210 294 351 257 295 352 211 295 353 212 296 354 257 297 355 258 298 356 213 299 357 258 300 358 259 301 359 213 302 360 252 303 361 206 304 362 214 305 363 261 306 364 215 307 365 216 308 366 261 309 367 262 310 368 217 311 369 262 312 370 263 313 371 217 314 372 264 315 373 218 316 374 218 317 375 265 318 376 219 319 377 220 320 378 265 321 379 266 322 380 221 323 381 266 324 382 267 325 383 221 326 384 260 327 385 214 328 386 14 329 387 22 330 388 4 331 389 16 332 390 118 333 391 121 88 392 142 334 393 189 335 394 188 336 395 169 337 396 240 338 397 166 339 398 242 340 399 169 341 400 168 342 401 1 343 402 28 344 403 15 345 404 127 258 405 226 258 406 126 258 407 15 346 408 32 347 409 18 348 410 42 349 411 41 350 412 38 351 413 23 352 414 27 353 415 22 354 416 79 355 417 48 355 418 49 356 419 80 357 420 95 111 421 96 45 422 86 358 423 107 359 424 89 360 425 86 358 426 90 361 427 85 362 428 85 362 429 92 363 430 84 364 431 84 364 432 93 365 433 83 105 434 138 366 435 180 367 436 179 368 437 78 369 438 98 4 439 77 370 440 79 44 441 99 371 442 78 369 443 77 372 444 46 373 445 47 374 446 121 375 447 317 376 448 302 377 449 11 378 450 33 379 451 10 380 452 83 381 453 52 382 454 53 383 455 147 384 456 176 385 457 123 386 458 9 387 459 22 388 460 27 389 461 13 390 462 40 391 463 12 392 464 229 393 465 128 393 466 129 393 467 2 394 468 35 395 469 7 396 470 38 141 471 103 2 472 91 397 473 152 398 474 186 399 475 124 400 476 137 401 477 173 402 478 174 403 479 159 404 480 271 405 481 160 406 482 160 407 483 272 407 484 161 407 485 156 408 486 196 409 487 193 410 488 222 411 489 275 412 490 223 413 491 276 414 492 225 415 493 224 416 494 225 417 495 274 418 496 222 419 497 314 420 498 320 421 499 321 8 500 284 422 501 280 423 502 283 424 503 287 425 504 291 426 505 288 427 506 295 428 507 299 429 508 296 430 509 278 431 510 303 432 511 279 433 512 279 434 513 304 435 514 280 436 515 304 437 516 281 438 517 280 439 518 305 440 519 282 441 520 281 442 521 282 443 522 307 444 523 283 445 524 283 446 525 308 447 526 284 448 527 308 449 528 285 450 529 284 451 530 309 452 531 278 453 532 285 454 533 311 455 534 286 456 535 287 457 536 288 458 537 311 459 538 287 460 539 289 461 540 312 462 541 288 463 542 314 464 543 289 465 544 290 442 545 315 466 546 290 467 547 291 466 548 292 468 549 315 469 550 291 470 551 293 471 552 316 472 553 292 473 554 310 474 555 293 475 556 286 476 557 319 477 558 294 478 559 295 479 560 296 480 561 319 481 562 295 482 563 297 483 564 320 484 565 296 485 566 322 486 567 297 487 568 298 488 569 323 489 570 298 490 571 299 491 572 300 492 573 323 493 574 299 494 575 301 495 576 324 496 577 300 497 578 318 498 579 301 499 580 294 500 581 43 501 582 74 502 583 41 503 584 1 504 585 24 149 586 6 505 587 120 506 588 8 507 589 3 508 590 9 509 591 16 510 592 4 511 593 20 147 594 1 504 595 15 512 596 154 513 597 156 514 598 155 515 599 155 515 600 145 516 601 142 517 602 145 516 603 143 518 604 142 517 605 147 519 606 149 520 607 146 520 608 134 521 609 148 522 610 147 519 611 134 521 612 136 523 613 137 524 614 150 525 615 152 526 616 151 527 617 151 527 618 141 528 619 138 529 620 141 528 621 139 520 622 138 529 623 166 530 624 168 531 625 169 8 626 167 532 627 133 533 628 168 531 629 133 533 630 131 8 631 132 8 632 165 534 633 163 535 634 162 8 635 126 536 636 164 537 637 129 538 638 126 536 639 128 539 640 127 8 641 41 0 642 74 36 643 102 1 644 76 3 645 77 370 646 98 4 647 222 6 648 223 82 649 224 7 650 13 9 651 3 540 652 34 10 653 273 14 654 276 541 655 224 542 656 224 542 657 161 12 658 273 14 659 82 15 660 81 16 661 51 15 662 58 17 663 57 17 664 87 17 665 2 18 666 10 543 667 33 19 668 27 21 669 29 544 670 17 22 671 116 24 672 117 24 673 120 24 674 120 24 675 119 24 676 116 24 677 119 24 678 87 24 679 116 24 680 269 545 681 270 545 682 159 545 683 17 26 684 29 546 685 23 27 686 32 29 687 31 547 688 6 30 689 159 32 690 160 8 691 161 33 692 75 35 693 101 37 694 102 1 695 75 35 696 76 3 697 100 5 698 10 548 699 2 100 700 108 99 701 108 99 702 120 506 703 13 549 704 120 506 705 3 508 706 13 549 707 10 548 708 108 99 709 13 549 710 12 39 711 8 507 712 117 550 713 10 548 714 13 549 715 12 39 716 114 40 717 7 98 718 11 38 719 11 38 720 10 548 721 12 39 722 12 39 723 117 550 724 114 40 725 7 41 726 35 551 727 37 42 728 79 44 729 80 357 730 96 45 731 6 47 732 31 552 733 26 48 734 12 50 735 40 553 736 39 51 737 118 55 738 113 554 739 244 555 740 113 554 741 251 556 742 244 555 743 244 555 744 252 520 745 259 557 746 264 558 747 58 559 748 265 520 749 58 559 750 118 55 751 266 54 752 266 54 753 265 520 754 58 559 755 259 557 756 260 560 757 267 53 758 244 555 759 259 557 760 118 55 761 259 557 762 267 53 763 118 55 764 42 56 765 61 561 766 73 57 767 43 58 768 73 57 769 72 59 770 72 59 771 71 562 772 45 61 773 45 61 774 71 562 775 70 62 776 46 63 777 70 62 778 68 64 779 68 64 780 69 67 781 48 66 782 69 67 783 67 563 784 49 68 785 49 68 786 67 563 787 66 69 788 50 70 789 66 69 790 65 71 791 65 71 792 64 74 793 52 73 794 64 74 795 63 76 796 53 75 797 63 76 798 62 78 799 54 77 800 62 78 801 60 80 802 55 79 803 60 80 804 59 564 805 56 81 806 223 82 807 158 34 808 161 33 809 76 83 810 75 565 811 45 84 812 105 86 813 108 99 814 114 40 815 121 88 816 118 333 817 58 88 818 40 89 819 36 566 820 34 90 821 78 92 822 77 92 823 47 92 824 80 93 825 79 567 826 49 94 827 56 81 828 59 564 829 113 96 830 7 98 831 114 40 832 108 99 833 75 101 834 74 101 835 44 101 836 86 104 837 56 568 838 0 102 839 56 568 840 110 569 841 5 570 842 0 102 843 56 568 844 5 570 845 83 105 846 93 365 847 94 106 848 128 108 849 228 571 850 227 109 851 82 107 852 94 106 853 95 111 854 32 113 855 28 572 856 26 114 857 86 116 858 85 117 859 55 116 860 33 118 861 37 573 862 35 119 863 273 574 864 87 575 865 276 576 866 87 575 867 119 577 868 276 576 869 99 578 870 97 579 871 230 580 872 232 581 873 122 582 874 235 583 875 242 584 876 125 585 877 268 586 878 98 587 879 99 578 880 230 580 881 232 581 882 235 583 883 241 588 884 232 581 885 241 588 886 240 589 887 231 590 888 232 581 889 240 589 890 231 590 891 240 589 892 243 591 893 242 584 894 268 586 895 275 8 896 242 584 897 275 8 898 274 8 899 243 591 900 242 584 901 274 8 902 277 592 903 276 576 904 119 577 905 243 591 906 274 8 907 277 592 908 231 590 909 243 591 910 119 577 911 243 591 912 277 592 913 119 577 914 100 8 915 98 587 916 230 580 917 101 593 918 100 8 919 230 580 920 234 121 921 231 590 922 109 122 923 231 590 924 119 577 925 109 122 926 101 593 927 230 580 928 233 594 929 101 593 930 233 594 931 102 595 932 233 594 933 234 121 934 91 123 935 102 595 936 233 594 937 103 8 938 103 8 939 233 594 940 91 123 941 81 124 942 80 596 943 50 125 944 8 127 945 39 597 946 34 127 947 108 129 948 109 598 949 119 130 950 21 134 951 16 599 952 121 600 953 121 600 954 107 132 955 21 134 956 106 135 957 109 601 958 108 136 959 20 138 960 107 602 961 104 139 962 38 141 963 91 397 964 109 142 965 130 146 966 167 603 967 235 144 968 167 603 969 241 604 970 235 144 971 20 147 972 0 605 973 5 148 974 116 606 975 57 607 976 196 608 977 57 607 978 193 609 979 196 608 980 174 610 981 67 611 982 69 612 983 179 613 984 123 614 985 176 615 986 188 616 987 124 617 988 186 618 989 116 606 990 196 608 991 197 619 992 174 610 993 69 612 994 68 620 995 185 621 996 179 613 997 176 615 998 184 622 999 185 621 1000 176 615 1001 184 622 1002 176 615 1003 175 623 1004 187 624 1005 184 622 1006 175 623 1007 195 625 1008 188 616 1009 186 618 1010 116 606 1011 197 619 1012 187 624 1013 197 619 1014 194 626 1015 187 624 1016 194 626 1017 195 625 1018 186 618 1019 194 626 1020 186 618 1021 187 624 1022 174 610 1023 68 620 1024 70 627 1025 174 610 1026 70 627 1027 71 628 1028 116 606 1029 187 624 1030 175 623 1031 177 150 1032 174 610 1033 71 628 1034 116 606 1035 175 623 1036 115 629 1037 175 623 1038 178 630 1039 115 629 1040 178 630 1041 177 150 1042 61 152 1043 177 150 1044 71 628 1045 72 631 1046 177 150 1047 72 631 1048 73 151 1049 61 152 1050 115 629 1051 178 630 1052 166 153 1053 240 632 1054 241 154 1055 115 156 1056 61 561 1057 42 56 1058 24 158 1059 5 633 1060 110 159 1061 114 161 1062 115 634 1063 112 162 1064 118 166 1065 19 635 1066 25 164 1067 25 164 1068 24 636 1069 113 165 1070 114 167 1071 117 637 1072 116 168 1073 232 170 1074 231 638 1075 162 171 1076 165 173 1077 234 639 1078 233 174 1079 85 176 1080 84 640 1081 54 177 1082 236 641 1083 237 641 1084 131 641 1085 162 180 1086 231 642 1087 234 181 1088 230 185 1089 229 643 1090 129 644 1091 129 644 1092 164 183 1093 230 185 1094 135 645 1095 134 645 1096 170 645 1097 136 187 1098 135 646 1099 171 188 1100 136 647 1101 172 647 1102 173 647 1103 226 648 1104 122 192 1105 126 191 1106 122 192 1107 232 649 1108 163 193 1109 146 194 1110 175 650 1111 176 195 1112 149 197 1113 148 651 1114 177 198 1115 146 200 1116 149 652 1117 178 201 1118 84 203 1119 83 653 1120 53 204 1121 139 654 1122 181 654 1123 180 654 1124 139 207 1125 140 655 1126 182 208 1127 140 645 1128 141 645 1129 183 645 1130 168 213 1131 133 656 1132 125 211 1133 133 656 1134 239 657 1135 125 211 1136 150 214 1137 151 658 1138 185 215 1139 153 217 1140 187 659 1141 186 218 1142 153 220 1143 150 660 1144 184 221 1145 158 225 1146 223 661 1147 268 223 1148 223 661 1149 275 662 1150 268 223 1151 143 663 1152 190 663 1153 189 663 1154 143 227 1155 144 664 1156 191 228 1157 144 665 1158 145 665 1159 192 665 1160 112 666 1161 42 233 1162 111 232 1163 42 233 1164 38 667 1165 105 231 1166 38 667 1167 106 668 1168 105 231 1169 154 234 1170 155 669 1171 195 235 1172 157 237 1173 197 670 1174 196 238 1175 157 240 1176 154 671 1177 194 241 1178 57 607 1179 58 559 1180 263 243 1181 58 559 1182 264 558 1183 263 243 1184 192 672 1185 193 609 1186 191 673 1187 193 609 1188 57 607 1189 191 673 1190 261 674 1191 260 560 1192 258 675 1193 260 560 1194 259 557 1195 258 675 1196 262 244 1197 261 674 1198 258 675 1199 253 676 1200 252 520 1201 245 677 1202 252 520 1203 244 555 1204 245 677 1205 254 678 1206 253 676 1207 245 677 1208 249 679 1209 250 680 1210 63 681 1211 250 680 1212 251 556 1213 59 682 1214 63 681 1215 250 680 1216 62 683 1217 251 556 1218 113 554 1219 59 682 1220 59 682 1221 60 684 1222 250 680 1223 60 684 1224 62 683 1225 250 680 1226 249 679 1227 63 681 1228 64 685 1229 249 679 1230 64 685 1231 65 686 1232 66 687 1233 67 611 1234 249 679 1235 67 611 1236 174 610 1237 173 688 1238 249 679 1239 67 611 1240 173 688 1241 249 679 1242 65 686 1243 66 687 1244 248 689 1245 249 679 1246 173 688 1247 248 689 1248 173 688 1249 172 520 1250 247 520 1251 248 689 1252 255 520 1253 248 689 1254 172 520 1255 255 520 1256 172 520 1257 171 690 1258 181 520 1259 255 520 1260 172 520 1261 181 520 1262 254 678 1263 245 677 1264 246 520 1265 255 520 1266 254 678 1267 247 520 1268 254 678 1269 246 520 1270 247 520 1271 170 691 1272 123 614 1273 180 692 1274 123 614 1275 179 613 1276 180 692 1277 171 690 1278 170 691 1279 180 692 1280 171 690 1281 180 692 1282 181 520 1283 255 520 1284 181 520 1285 190 520 1286 181 520 1287 182 693 1288 190 520 1289 256 245 1290 255 520 1291 263 243 1292 183 694 1293 124 617 1294 189 695 1295 124 617 1296 188 616 1297 189 695 1298 182 693 1299 183 694 1300 189 695 1301 190 520 1302 191 673 1303 57 607 1304 182 693 1305 189 695 1306 190 520 1307 255 520 1308 190 520 1309 263 243 1310 190 520 1311 57 607 1312 263 243 1313 262 244 1314 258 675 1315 257 696 1316 262 244 1317 257 696 1318 256 245 1319 203 697 1320 202 520 1321 200 247 1322 202 520 1323 201 520 1324 200 247 1325 198 698 1326 205 699 1327 199 248 1328 205 699 1329 204 246 1330 199 248 1331 204 246 1332 203 697 1333 200 247 1334 208 700 1335 209 520 1336 211 250 1337 209 520 1338 210 520 1339 211 250 1340 213 520 1341 206 701 1342 212 251 1343 206 701 1344 207 249 1345 212 251 1346 207 249 1347 208 700 1348 211 250 1349 216 702 1350 217 520 1351 219 253 1352 217 520 1353 218 520 1354 219 253 1355 221 520 1356 214 703 1357 220 254 1358 214 703 1359 215 252 1360 220 254 1361 215 252 1362 216 702 1363 219 253 1364 131 255 1365 237 704 1366 238 256 1367 132 705 1368 238 705 1369 239 705 1370 198 259 1371 199 706 1372 245 260 1373 199 262 1374 200 707 1375 246 263 1376 201 265 1377 247 708 1378 246 266 1379 202 268 1380 248 709 1381 247 269 1382 202 271 1383 203 710 1384 249 272 1385 203 274 1386 204 711 1387 250 275 1388 205 277 1389 251 712 1390 250 278 1391 198 280 1392 244 713 1393 251 281 1394 206 283 1395 252 714 1396 253 284 1397 208 286 1398 207 715 1399 253 287 1400 209 289 1401 208 716 1402 254 290 1403 209 292 1404 255 717 1405 256 293 1406 210 294 1407 256 718 1408 257 295 1409 212 296 1410 211 719 1411 257 297 1412 213 299 1413 212 720 1414 258 300 1415 213 302 1416 259 721 1417 252 303 1418 214 305 1419 260 722 1420 261 306 1421 216 308 1422 215 723 1423 261 309 1424 217 311 1425 216 724 1426 262 312 1427 217 314 1428 263 725 1429 264 315 1430 218 317 1431 264 726 1432 265 318 1433 220 320 1434 219 727 1435 265 321 1436 221 323 1437 220 728 1438 266 324 1439 221 326 1440 267 729 1441 260 327 1442 14 329 1443 23 730 1444 22 330 1445 16 332 1446 19 731 1447 118 333 1448 195 732 1449 155 733 1450 188 336 1451 155 733 1452 142 334 1453 188 336 1454 169 337 1455 243 734 1456 240 338 1457 242 340 1458 243 735 1459 169 341 1460 1 343 1461 26 736 1462 28 344 1463 127 737 1464 227 737 1465 226 737 1466 15 346 1467 28 738 1468 32 347 1469 42 349 1470 43 739 1471 41 350 1472 23 352 1473 29 740 1474 27 353 1475 79 355 1476 78 356 1477 48 355 1478 80 357 1479 81 112 1480 95 111 1481 86 358 1482 104 741 1483 107 359 1484 86 358 1485 89 360 1486 90 361 1487 85 362 1488 90 361 1489 92 363 1490 84 364 1491 92 363 1492 93 365 1493 185 742 1494 151 743 1495 179 368 1496 151 743 1497 138 366 1498 179 368 1499 78 369 1500 99 371 1501 98 4 1502 79 44 1503 97 46 1504 99 371 1505 77 372 1506 76 744 1507 46 373 1508 121 375 1509 88 745 1510 324 746 1511 88 745 1512 322 8 1513 323 8 1514 324 746 1515 88 745 1516 323 8 1517 325 747 1518 318 748 1519 317 376 1520 121 375 1521 324 746 1522 325 747 1523 309 749 1524 107 750 1525 302 377 1526 107 750 1527 121 375 1528 302 377 1529 317 376 1530 310 751 1531 302 377 1532 121 375 1533 325 747 1534 317 376 1535 11 378 1536 37 752 1537 33 379 1538 83 381 1539 82 753 1540 52 382 1541 170 754 1542 134 755 1543 123 386 1544 134 755 1545 147 384 1546 123 386 1547 9 387 1548 4 756 1549 22 388 1550 13 390 1551 36 757 1552 40 391 1553 229 758 1554 228 758 1555 128 758 1556 2 394 1557 30 759 1558 35 395 1559 38 141 1560 41 0 1561 103 2 1562 183 760 1563 141 761 1564 124 400 1565 141 761 1566 152 398 1567 124 400 1568 177 762 1569 148 763 1570 174 403 1571 148 763 1572 137 401 1573 174 403 1574 159 404 1575 270 764 1576 271 405 1577 160 765 1578 271 765 1579 272 765 1580 192 766 1581 145 767 1582 193 410 1583 145 767 1584 156 408 1585 193 410 1586 222 411 1587 274 768 1588 275 412 1589 276 414 1590 277 769 1591 225 415 1592 225 417 1593 277 770 1594 274 418 1595 322 8 1596 88 745 1597 321 8 1598 88 745 1599 87 575 1600 321 8 1601 87 575 1602 273 574 1603 271 771 1604 273 574 1605 272 772 1606 271 771 1607 87 575 1608 271 771 1609 270 8 1610 269 773 1611 268 586 1612 125 585 1613 321 8 1614 87 575 1615 270 8 1616 269 773 1617 125 585 1618 239 774 1619 317 376 1620 318 748 1621 316 775 1622 318 748 1623 319 776 1624 316 775 1625 316 775 1626 319 776 1627 320 421 1628 302 377 1629 310 751 1630 303 777 1631 310 751 1632 311 778 1633 303 777 1634 303 777 1635 311 778 1636 312 779 1637 309 749 1638 308 780 1639 89 781 1640 308 780 1641 307 782 1642 93 783 1643 89 781 1644 107 750 1645 309 749 1646 90 784 1647 89 781 1648 308 780 1649 92 785 1650 90 784 1651 308 780 1652 93 783 1653 92 785 1654 308 780 1655 94 8 1656 93 783 1657 307 782 1658 95 8 1659 94 8 1660 307 782 1661 230 580 1662 97 579 1663 229 786 1664 97 579 1665 96 787 1666 307 782 1667 96 787 1668 95 8 1669 307 782 1670 97 579 1671 307 782 1672 229 786 1673 229 786 1674 307 782 1675 306 788 1676 228 8 1677 229 786 1678 306 788 1679 228 8 1680 306 788 1681 313 789 1682 306 788 1683 305 790 1684 313 789 1685 227 791 1686 228 8 1687 237 8 1688 304 8 1689 303 777 1690 312 779 1691 304 8 1692 312 779 1693 305 790 1694 312 779 1695 313 789 1696 305 790 1697 228 8 1698 313 789 1699 237 8 1700 235 583 1701 122 582 1702 236 792 1703 122 582 1704 226 793 1705 236 792 1706 236 792 1707 226 793 1708 227 791 1709 237 8 1710 236 792 1711 227 791 1712 269 773 1713 239 774 1714 238 794 1715 238 794 1716 237 8 1717 270 8 1718 237 8 1719 313 789 1720 270 8 1721 313 789 1722 314 420 1723 321 8 1724 270 8 1725 313 789 1726 321 8 1727 270 8 1728 269 773 1729 238 794 1730 315 795 1731 316 775 1732 320 421 1733 314 420 1734 315 795 1735 320 421 1736 284 422 1737 285 796 1738 279 797 1739 285 796 1740 278 798 1741 279 797 1742 280 423 1743 281 8 1744 282 8 1745 280 423 1746 282 8 1747 283 424 1748 284 422 1749 279 797 1750 280 423 1751 287 425 1752 286 799 1753 292 800 1754 286 799 1755 293 8 1756 292 800 1757 291 426 1758 290 8 1759 289 8 1760 291 426 1761 289 8 1762 288 427 1763 287 425 1764 292 800 1765 291 426 1766 295 428 1767 294 8 1768 300 8 1769 294 8 1770 301 8 1771 300 8 1772 299 429 1773 298 8 1774 297 8 1775 299 429 1776 297 8 1777 296 430 1778 295 428 1779 300 8 1780 299 429 1781 278 431 1782 302 801 1783 303 432 1784 279 434 1785 303 802 1786 304 435 1787 304 437 1788 305 803 1789 281 438 1790 305 440 1791 306 804 1792 282 441 1793 282 443 1794 306 805 1795 307 444 1796 283 446 1797 307 806 1798 308 447 1799 308 449 1800 309 807 1801 285 450 1802 309 452 1803 302 808 1804 278 453 1805 311 455 1806 310 809 1807 286 456 1808 288 458 1809 312 810 1810 311 459 1811 289 461 1812 313 811 1813 312 462 1814 314 464 1815 313 812 1816 289 465 1817 315 466 1818 314 467 1819 290 467 1820 292 468 1821 316 813 1822 315 469 1823 293 471 1824 317 814 1825 316 472 1826 310 474 1827 317 815 1828 293 475 1829 319 477 1830 318 816 1831 294 478 1832 296 480 1833 320 817 1834 319 481 1835 297 483 1836 321 818 1837 320 484 1838 322 486 1839 321 819 1840 297 487 1841 323 489 1842 322 820 1843 298 490 1844 300 492 1845 324 821 1846 323 493 1847 301 495 1848 325 822 1849 324 496 1850 318 498 1851 325 823 1852 301 499 1853 43 501 1854 44 824 1855 74 502 1856 1 504 1857 20 147 1858 24 149 1859 120 506 1860 117 550 1861 8 507 1862 9 509 1863 19 825 1864 16 510 1865 19 825 1866 9 509 1867 25 826 1868 9 509 1869 17 827 1870 25 826 1871 14 828 1872 4 511 1873 21 829 1874 4 511 1875 16 510 1876 21 829 1877 25 826 1878 17 827 1879 18 830 1880 17 827 1881 14 828 1882 15 512 1883 6 505 1884 24 149 1885 18 830 1886 24 149 1887 25 826 1888 18 830 1889 17 827 1890 15 512 1891 18 830 1892 14 828 1893 21 829 1894 15 512 1895 21 829 1896 20 147 1897 15 512 1898 154 513 1899 157 520 1900 156 514 1901 155 515 1902 156 514 1903 145 516 1904 145 516 1905 144 520 1906 143 518 1907 147 519 1908 148 522 1909 149 520 1910 134 521 1911 137 524 1912 148 522 1913 134 521 1914 135 520 1915 136 523 1916 150 525 1917 153 520 1918 152 526 1919 151 527 1920 152 526 1921 141 528 1922 141 528 1923 140 520 1924 139 520 1925 166 530 1926 167 532 1927 168 531 1928 167 532 1929 130 831 1930 133 533 1931 133 533 1932 130 831 1933 131 8 1934 165 534 1935 164 537 1936 163 535 1937 126 536 1938 163 535 1939 164 537 1940 126 536 1941 129 538 1942 128 539 1943

    +
    +
    +
    + + + + 1.125 1.2511 -0.2375 1.875 1.2511 -0.2375 1.875 2.2527 -0.2375 1.125 2.2527 -0.2375 1.125 1.251099 0.2375 1.875 1.251099 0.2375 1.875 2.2527 0.2375 1.125 2.2527 0.2375 + + + + + + + + + + 0 0 -1 0 0 1 + + + + + + + + + + 0.3398438 0.8203125 0.40625 0.8632813 0.3398438 0.8632813 0.1484375 0.8203125 0.08203125 0.8632813 0.08203125 0.8203125 0.3398438 0.8203125 0.40625 0.8203125 0.40625 0.8632813 0.1484375 0.8203125 0.1484375 0.8632813 0.08203125 0.8632813 + + + + + + + + + + + + + + +

    0 0 0 2 0 1 1 0 2 6 1 3 4 1 4 5 1 5 0 0 6 3 0 7 2 0 8 6 1 9 7 1 10 4 1 11

    +
    +
    +
    + + + + -2.7797e-7 0.4163811 0.262669 2.63627e-7 -0.4163811 0.262669 0.2795697 0.2081907 0.117669 0.27957 -0.2081903 0.117669 0.2795697 0.2081907 -0.152556 0.27957 -0.2081903 -0.152556 0.09754449 0.4903932 -0.242556 0.0828424 0.4164784 -0.317556 0.1913412 0.4619403 -0.242556 0.1625002 0.3923144 -0.317556 0.2777848 0.4157353 -0.242556 0.2359163 0.3530727 -0.317556 0.3535532 0.353554 -0.242556 0.3002635 0.3002646 -0.317556 0.4157345 0.277786 -0.242556 0.3530725 0.2359166 -0.317556 0.4619396 0.1913424 -0.242556 0.3923134 0.1625022 -0.317556 0.4903928 0.09754586 -0.242556 0.416478 0.08284306 -0.317556 0.5000004 7.15256e-7 -0.242556 0.4246375 8.34465e-7 -0.317556 0.4903927 -0.09754455 -0.242556 0.4164779 -0.08284199 -0.317556 0.4619401 -0.1913412 -0.242556 0.3923138 -0.1625012 -0.317556 0.4157351 -0.2777848 -0.242556 0.353073 -0.2359156 -0.317556 0.3535538 -0.3535532 -0.242556 0.3002642 -0.3002635 -0.317556 0.2777854 -0.4157344 -0.242556 0.2359163 -0.3530723 -0.317556 0.1913417 -0.4619397 -0.242556 0.162501 -0.3923137 -0.317556 0.0975455 -0.4903927 -0.242556 0.082843 -0.4164779 -0.317556 0.09754449 0.4903932 0.207669 0.0828424 0.4164784 0.282669 0.1913412 0.4619403 0.207669 0.1625002 0.3923144 0.282669 0.2777848 0.4157353 0.207669 0.2359163 0.3530727 0.282669 0.3535532 0.353554 0.207669 0.3002635 0.3002646 0.282669 0.4157345 0.277786 0.207669 0.3530725 0.2359166 0.282669 0.4619396 0.1913424 0.207669 0.3923134 0.1625022 0.282669 0.4903928 0.09754586 0.207669 0.416478 0.08284306 0.282669 0.5000004 7.15256e-7 0.207669 0.4246375 8.34465e-7 0.282669 0.4903927 -0.09754455 0.207669 0.4164779 -0.08284199 0.282669 0.4619401 -0.1913412 0.207669 0.3923138 -0.1625012 0.282669 0.4157351 -0.2777848 0.207669 0.353073 -0.2359156 0.282669 0.3535538 -0.3535532 0.207669 0.3002642 -0.3002635 0.282669 0.2777854 -0.4157344 0.207669 0.2359163 -0.3530723 0.282669 0.1913417 -0.4619397 0.207669 0.162501 -0.3923137 0.282669 0.0975455 -0.4903927 0.207669 0.082843 -0.4164779 0.282669 0.01996779 0.4226706 0.282669 0.01996713 0.4980335 0.207669 -2.86847e-7 0.5 0.1794527 -2.7797e-7 0.4163811 -0.297556 0.01996779 0.4226706 -0.317556 0.01996713 0.4980335 -0.242556 -2.86847e-7 0.5 -0.2143397 2.86847e-7 -0.5 -0.2143397 0.01996773 -0.4980334 -0.242556 2.63627e-7 -0.4163811 -0.297556 0.01996833 -0.4226705 -0.317556 2.86847e-7 -0.5 0.1794527 0.01996773 -0.4980334 0.207669 0.01996833 -0.4226705 0.282669 + + + + + + + + + + -0.597267 0.8020425 0 -0.597267 0.8020425 0 -0.597267 0.8020426 0 0 -2.04634e-6 1 0 3.63074e-6 1 0 0 1 -0.4604119 -3.11456e-7 0.8877055 -0.4604119 -3.28784e-7 0.8877055 -0.4604119 -3.40901e-7 0.8877055 0 -9.6597e-7 -1 0 2.02082e-6 -1 0 0 -1 0.1376144 0.6918451 -0.7088109 0.2699437 0.6517032 -0.7088112 0.1376144 0.6918458 -0.7088102 0.3918973 0.5865175 -0.7088115 0.2699443 0.6517028 -0.7088114 0.4987913 0.4987925 -0.7088111 0.391898 0.5865171 -0.7088114 0.5865169 0.3918989 -0.7088111 0.4987911 0.4987931 -0.7088109 0.5865169 0.3918986 -0.7088113 0.6517024 0.2699456 -0.7088112 0.6517026 0.2699452 -0.7088112 0.6918438 0.1376183 -0.7088114 0.6918439 0.1376182 -0.7088112 0.7053979 -2.52695e-7 -0.7088116 0.6918441 -0.1376166 -0.7088113 0.7053984 -1.6417e-7 -0.7088111 0.6517035 -0.2699428 -0.7088114 0.6918436 -0.1376168 -0.7088117 0.5865179 -0.3918975 -0.7088111 0.6517036 -0.2699429 -0.7088112 0.4987917 -0.4987921 -0.7088112 0.5865176 -0.3918977 -0.7088113 0.391898 -0.5865173 -0.7088114 0.4987916 -0.4987922 -0.7088112 0.2699458 -0.6517023 -0.7088113 0.3918978 -0.5865172 -0.7088114 0.1376171 -0.6918442 -0.7088111 0.2699452 -0.6517028 -0.7088111 0.2699453 -0.6517027 0.7088111 0.1376169 -0.6918443 0.708811 0.2699455 -0.6517025 0.7088112 0.7053979 -2.83429e-7 0.7088116 0.691844 -0.1376168 0.7088114 0.7053983 -3.40777e-7 0.7088113 0.6517034 -0.2699428 0.7088115 0.5865178 -0.3918976 0.7088112 0.6517034 -0.2699431 0.7088113 0.9951844 -0.09802079 0 0.9951844 -0.09802079 0 -1 0 0 -1 0 0 -1 0 0 0.8819208 0.4713979 0 0.8819208 0.4713977 0 0.8819207 0.4713979 0 0.6517024 0.2699453 0.7088114 0.6918437 0.1376184 0.7088114 0.6918439 0.1376183 0.7088112 0.9951846 0.09802001 0 0.9951846 0.09802001 0 0.9951845 0.09802001 0 0.4713966 0.8819215 0 0.06930506 0.7037026 0.7071064 0.1376147 0.6918449 0.7088109 0.06930607 0.7037023 0.7071067 0.4987913 0.4987926 0.7088111 0.586517 0.3918988 0.7088112 0.5865169 0.3918989 0.7088113 0.4987916 -0.4987919 0.7088114 0.3918982 -0.5865171 0.7088114 0.3918979 -0.5865172 0.7088115 -0.6818548 -0.5159897 0.5184869 -0.6818471 -0.5159924 0.5184944 -0.6818561 -0.5159893 0.5184856 0.06930792 -0.7037023 -0.7071065 0.1376169 -0.6918446 -0.7088108 0.8819218 -0.471396 0 0.8819218 -0.4713959 0 0.8819218 -0.4713959 0 0.2902838 0.9569406 0 0.2902842 0.9569405 0 0.2902837 0.9569407 0 0.3918977 0.5865172 0.7088115 0.3918972 0.5865176 0.7088115 0.6517025 0.2699455 0.7088112 0.5865175 -0.3918976 0.7088114 0.06930792 -0.7037022 0.7071066 0.0693084 -0.7037022 0.7071065 -0.68185 0.5159907 0.5184923 -0.6818572 0.5159882 0.5184854 -0.6818584 0.5159877 0.5184842 -0.707671 -4.92412e-7 0.7065421 -0.7076705 -4.75302e-7 0.7065426 -0.707671 -4.92749e-7 0.7065422 -1 -2.77687e-7 0 -1 -2.77687e-7 0 -1 -2.77687e-7 0 0.4713984 -0.8819205 0 0.471398 -0.8819206 0 0.4713985 -0.8819205 0 0.7730101 0.6343939 0 0.7730098 0.6343941 0 0.7730101 0.6343938 0 0.2902868 -0.9569398 0 0.2902863 -0.9569398 0 0.2902868 -0.9569397 0 0.9569398 0.2902867 0 0.9569398 0.2902867 0 0.0980122 0.9951852 -5.71151e-7 0.09801298 0.9951852 -2.14356e-6 0.0980122 0.9951853 -3.82497e-7 -0.5972661 -0.8020432 0 -0.5972661 -0.8020433 0 0.2699437 0.6517032 0.7088113 0.2699443 0.651703 0.7088112 0.9569412 -0.290282 0 0.9569412 -0.290282 0 0.9569413 -0.290282 0 0.0693047 0.7037029 -0.7071061 0.06930518 0.7037021 -0.7071069 -0.6818498 0.5159909 -0.5184922 -0.6818572 0.5159881 -0.5184854 -0.6818484 0.5159915 -0.5184936 -0.6818479 -0.5159922 -0.5184936 -0.6818553 -0.5159894 -0.5184867 -0.6818565 -0.5159889 -0.5184855 -0.7076711 -4.72608e-7 -0.7065421 -0.7076715 -5.06113e-7 -0.7065417 -0.7076715 -5.06772e-7 -0.7065417 0.6343919 0.7730116 0 0.6343916 0.7730119 0 0.6343919 0.7730116 0 0.6343917 -0.7730117 0 0.6343914 -0.7730121 0 0.6343918 -0.7730117 0 -0.4604119 -3.00579e-7 -0.8877055 -0.4604119 -3.16534e-7 -0.8877055 -0.4604119 -2.89421e-7 -0.8877055 0.7730115 -0.6343922 0 -1 -6.44172e-7 0 0.09801656 -0.9951848 -1.48747e-7 0.09801667 -0.9951848 -8.33601e-7 0.09801656 -0.9951848 -2.22113e-7 -0.5972671 0.8020426 0 0 -1.90785e-7 1 0 0 1 0 -3.63078e-6 1 0 0 1 0 1.87484e-7 1 0 2.02082e-6 1 0 -9.6597e-7 1 0 5.97108e-7 1 0 1.38861e-7 1 0 -3.99963e-7 1 0 0 1 0 0 1 0 -1.14507e-6 1 -0.4604119 -2.84992e-7 0.8877055 0 0 -1 0 -2.23897e-7 -1 0 -6.77045e-7 -1 0 6.74627e-7 -1 0 5.97108e-7 -1 0.137617 -0.6918443 0.708811 0.6918436 -0.1376166 0.7088117 0.8819207 0.4713977 0 0.9951845 0.09802001 0 0.1376145 0.6918452 0.7088107 0.498791 0.498793 0.7088111 0.4987915 -0.4987919 0.7088114 -0.6818456 -0.5159929 0.5184959 0.0693084 -0.7037019 -0.7071068 0.8819217 -0.471396 0 0.2902843 0.9569405 0 -0.6818485 0.5159912 0.5184937 -0.7076705 -4.74856e-7 0.7065426 -1 -2.77687e-7 0 0.4713979 -0.8819206 0 0.7730098 0.6343941 0 0.2902863 -0.9569399 0 0.9569397 0.2902867 0 0.09801262 0.9951853 3.81906e-7 0.09801256 0.9951852 5.70269e-7 0.0980128 0.9951851 2.14025e-6 -0.597266 -0.8020431 0 -0.6818584 0.5159877 -0.5184842 -0.6818464 -0.5159928 -0.518495 -0.707671 -4.71735e-7 -0.7065421 0.6343915 0.7730119 0 0.6343914 -0.7730121 0 -0.4604119 -3.40901e-7 -0.8877055 -1 -6.44172e-7 0 0.09801656 -0.9951848 2.25639e-7 0.09801667 -0.9951848 8.46833e-7 0.09801656 -0.9951848 1.51108e-7 + + + + + + + + + + 0.8085938 0.1953125 0.8398438 0.15625 0.8398438 0.2109375 0.7533172 0.01754212 0.751044 0.00946933 0.75 0.00390625 0.828125 0.140625 0.7700133 0.1715973 0.75 0.140625 0.8184773 0.1105983 0.8237214 0.1178196 0.828125 0.1367187 0.734375 0.08984375 0.7421875 0.09765625 0.734375 0.09765625 0.75 0.08984375 0.7421875 0.09765625 0.7421875 0.08984375 0.7578125 0.08984375 0.75 0.09765625 0.75 0.08984375 0.7578125 0.08984375 0.765625 0.09765625 0.7578125 0.09765625 0.765625 0.08984375 0.7734375 0.09765625 0.765625 0.09765625 0.7734375 0.08984375 0.78125 0.09765625 0.7734917 0.09771662 0.78125 0.08984375 0.7893186 0.09727245 0.78125 0.09765625 0.796875 0.08984375 0.7893186 0.09727245 0.7890625 0.08984375 0.796875 0.08984375 0.8046875 0.09765625 0.796875 0.09765625 0.8125 0.08984375 0.8046875 0.09765625 0.8046875 0.08984375 0.8203125 0.08984375 0.8125 0.09765625 0.8125 0.08984375 0.8203125 0.08984375 0.828125 0.09765625 0.8203125 0.09765625 0.8359375 0.08984375 0.828125 0.09765625 0.828125 0.08984375 0.84375 0.08984375 0.8359375 0.09765625 0.8359375 0.08984375 0.8359375 0.04296875 0.84375 0.05078125 0.8359375 0.05078125 0.7890625 0.04296875 0.796875 0.05078125 0.7890625 0.05078125 0.8046875 0.04296875 0.8125 0.05078125 0.8046875 0.05078125 0.7890625 0.08984375 0.796875 0.05078125 0.796875 0.08984375 0.7304688 0.203125 0.7382813 0.15625 0.7382813 0.2109375 0.765625 0.08984375 0.7734375 0.05078125 0.7734375 0.08984375 0.7734375 0.05078125 0.78125 0.04296875 0.78125 0.05078125 0.78125 0.08984375 0.7890625 0.05078125 0.7890625 0.08984375 0.7421875 0.08984375 0.75 0.05078125 0.75 0.08984375 0.7265625 0.04296875 0.734375 0.05078125 0.7265625 0.05078125 0.7578125 0.05078125 0.765625 0.04296875 0.765625 0.05078125 0.8203125 0.05078125 0.828125 0.04296875 0.828125 0.05078125 0.8515625 0.05078125 0.8554688 0.04296875 0.8554688 0.05078125 0.84375 0.08984375 0.8515625 0.09765625 0.84375 0.09765625 0.8125 0.08984375 0.8046875 0.05078125 0.8125 0.05078125 0.734375 0.08984375 0.7421875 0.05078125 0.7421875 0.08984375 0.75 0.04296875 0.7578125 0.05078125 0.75 0.05078125 0.765625 0.05078125 0.7734375 0.04296875 0.7734375 0.05078125 0.78125 0.05078125 0.7890625 0.04296875 0.7890625 0.05078125 0.796875 0.05078125 0.8046875 0.04296875 0.8046875 0.05078125 0.8125 0.04296875 0.8203125 0.05078125 0.8125 0.05078125 0.828125 0.04296875 0.8359375 0.05078125 0.828125 0.05078125 0.84375 0.05078125 0.8515625 0.04296875 0.8515625 0.05078125 0.7226563 0.04296875 0.7265625 0.05078125 0.7226563 0.05078125 0.75 0 0.828125 0.00390625 0.75 0.00390625 0.8398438 0.15625 0.8476563 0.203125 0.8398438 0.2109375 0.828125 0.08984375 0.8359375 0.05078125 0.8359375 0.08984375 0.7578125 0.08984375 0.765625 0.05078125 0.765625 0.08984375 0.8359375 0.08984375 0.84375 0.05078125 0.84375 0.08984375 0.7734375 0.08984375 0.78125 0.05078125 0.78125 0.08984375 0.7226563 0.05078125 0.7265625 0.0546875 0.734375 0.05078125 0.7695313 0.1953125 0.7382813 0.15625 0.7700133 0.1715973 0.7421875 0.04296875 0.75 0.05078125 0.7421875 0.05078125 0.796875 0.08984375 0.8046875 0.05078125 0.8046875 0.08984375 0.734375 0.08984375 0.7265625 0.09765625 0.7265625 0.08984375 0.7226563 0.09765625 0.7265625 0.08984375 0.7265625 0.09765625 0.8554688 0.09765625 0.8515625 0.08984375 0.8554688 0.08984375 0.828125 0.1367187 0.75 0.140625 0.75 0.1367187 0.734375 0.05078125 0.7421875 0.04296875 0.7421875 0.05078125 0.75 0.08984375 0.7578125 0.05078125 0.7578125 0.08984375 0.8203125 0.08984375 0.828125 0.05078125 0.828125 0.08984375 0.7695313 0.1953125 0.828125 0.2265625 0.75 0.2265625 0.8125 0.08984375 0.8203125 0.05078125 0.8203125 0.08984375 0.8085938 0.1953125 0.7700133 0.1715973 0.8085938 0.171875 0.84375 0.05078125 0.8515625 0.0546875 0.8554688 0.05078125 0.8085938 0.1953125 0.8085938 0.171875 0.8398438 0.15625 0.75 0.00390625 0.828125 0.00390625 0.7890625 0.04296875 0.828125 0.00390625 0.827323 0.009233057 0.8250798 0.01732593 0.75 0.00390625 0.7890625 0.04296875 0.78125 0.04248046 0.8250798 0.01732593 0.8214626 0.02477586 0.828125 0.00390625 0.8214626 0.02477586 0.8166109 0.03129625 0.828125 0.00390625 0.8166109 0.03129625 0.8107108 0.03663653 0.828125 0.00390625 0.8107108 0.03663653 0.803989 0.04059159 0.828125 0.00390625 0.803989 0.04059159 0.796875 0.04223632 0.828125 0.00390625 0.796875 0.04223632 0.7890625 0.04296875 0.828125 0.00390625 0.78125 0.04248046 0.7744784 0.04067754 0.75 0.00390625 0.7744784 0.04067754 0.767748 0.03676021 0.75 0.00390625 0.767748 0.03676021 0.761833 0.03145509 0.75 0.00390625 0.761833 0.03145509 0.7569603 0.02496612 0.75 0.00390625 0.7569603 0.02496612 0.7533172 0.01754212 0.75 0.00390625 0.828125 0.140625 0.8085938 0.171875 0.7700133 0.1715973 0.827797 0.1308701 0.828125 0.1367187 0.8269097 0.1260809 0.828125 0.1367187 0.75 0.1367187 0.7893186 0.09727245 0.8269097 0.1260809 0.828125 0.1367187 0.8237214 0.1178196 0.75 0.1367187 0.7505323 0.1307337 0.7516314 0.1243688 0.7516314 0.1243688 0.7543035 0.1180313 0.75 0.1367187 0.7543035 0.1180313 0.7595249 0.1107753 0.75 0.1367187 0.7595249 0.1107753 0.7658746 0.1048324 0.75 0.1367187 0.7658746 0.1048324 0.7731086 0.1004312 0.75 0.1367187 0.7731086 0.1004312 0.78125 0.09814453 0.75 0.1367187 0.78125 0.09814453 0.7893186 0.09727245 0.75 0.1367187 0.7893186 0.09727245 0.796875 0.09814453 0.828125 0.1367187 0.796875 0.09814453 0.8048682 0.1003353 0.828125 0.1367187 0.8048682 0.1003353 0.8121114 0.1046946 0.828125 0.1367187 0.8121114 0.1046946 0.8184773 0.1105983 0.828125 0.1367187 0.734375 0.08984375 0.7421875 0.08984375 0.7421875 0.09765625 0.75 0.08984375 0.75 0.09765625 0.7421875 0.09765625 0.7578125 0.08984375 0.7578125 0.09765625 0.75 0.09765625 0.7578125 0.08984375 0.765625 0.08984375 0.765625 0.09765625 0.765625 0.08984375 0.7734375 0.08984375 0.7734375 0.09765625 0.7734375 0.08984375 0.78125 0.08984375 0.78125 0.09765625 0.78125 0.08984375 0.7890625 0.08984375 0.7893186 0.09727245 0.796875 0.08984375 0.796875 0.09765625 0.7893186 0.09727245 0.796875 0.08984375 0.8046875 0.08984375 0.8046875 0.09765625 0.8125 0.08984375 0.8125 0.09765625 0.8046875 0.09765625 0.8203125 0.08984375 0.8203125 0.09765625 0.8125 0.09765625 0.8203125 0.08984375 0.828125 0.08984375 0.828125 0.09765625 0.8359375 0.08984375 0.8359375 0.09765625 0.828125 0.09765625 0.84375 0.08984375 0.84375 0.09765625 0.8359375 0.09765625 0.8359375 0.04296875 0.84375 0.04296875 0.84375 0.05078125 0.7890625 0.04296875 0.796875 0.04296875 0.796875 0.05078125 0.8046875 0.04296875 0.8125 0.04296875 0.8125 0.05078125 0.7890625 0.08984375 0.7890625 0.05078125 0.796875 0.05078125 0.7304688 0.203125 0.7304688 0.1640625 0.7382813 0.15625 0.765625 0.08984375 0.765625 0.05078125 0.7734375 0.05078125 0.7734375 0.05078125 0.7734375 0.04296875 0.78125 0.04296875 0.78125 0.08984375 0.78125 0.05078125 0.7890625 0.05078125 0.7421875 0.08984375 0.7421875 0.05078125 0.75 0.05078125 0.7265625 0.04296875 0.734375 0.04296875 0.734375 0.05078125 0.7578125 0.05078125 0.7578125 0.04296875 0.765625 0.04296875 0.8203125 0.05078125 0.8203125 0.04296875 0.828125 0.04296875 0.8515625 0.05078125 0.8515625 0.04296875 0.8554688 0.04296875 0.84375 0.08984375 0.8515625 0.08984375 0.8515625 0.09765625 0.8125 0.08984375 0.8046875 0.08984375 0.8046875 0.05078125 0.734375 0.08984375 0.734375 0.05078125 0.7421875 0.05078125 0.75 0.04296875 0.7578125 0.04296875 0.7578125 0.05078125 0.765625 0.05078125 0.765625 0.04296875 0.7734375 0.04296875 0.78125 0.05078125 0.78125 0.04296875 0.7890625 0.04296875 0.796875 0.05078125 0.796875 0.04296875 0.8046875 0.04296875 0.8125 0.04296875 0.8203125 0.04296875 0.8203125 0.05078125 0.828125 0.04296875 0.8359375 0.04296875 0.8359375 0.05078125 0.84375 0.05078125 0.84375 0.04296875 0.8515625 0.04296875 0.7226563 0.04296875 0.7265625 0.04296875 0.7265625 0.05078125 0.75 0 0.828125 0 0.828125 0.00390625 0.8398438 0.15625 0.8476563 0.1640625 0.8476563 0.203125 0.828125 0.08984375 0.828125 0.05078125 0.8359375 0.05078125 0.7578125 0.08984375 0.7578125 0.05078125 0.765625 0.05078125 0.8359375 0.08984375 0.8359375 0.05078125 0.84375 0.05078125 0.7734375 0.08984375 0.7734375 0.05078125 0.78125 0.05078125 0.734375 0.05078125 0.734375 0.08984375 0.7226563 0.08984375 0.734375 0.08984375 0.7265625 0.08984375 0.7226563 0.08984375 0.7226563 0.08984375 0.7226563 0.05078125 0.734375 0.05078125 0.7695313 0.1953125 0.7382813 0.2109375 0.7382813 0.15625 0.7421875 0.04296875 0.75 0.04296875 0.75 0.05078125 0.796875 0.08984375 0.796875 0.05078125 0.8046875 0.05078125 0.734375 0.08984375 0.734375 0.09765625 0.7265625 0.09765625 0.7226563 0.09765625 0.7226563 0.08984375 0.7265625 0.08984375 0.8554688 0.09765625 0.8515625 0.09765625 0.8515625 0.08984375 0.828125 0.1367187 0.828125 0.140625 0.75 0.140625 0.734375 0.05078125 0.734375 0.04296875 0.7421875 0.04296875 0.75 0.08984375 0.75 0.05078125 0.7578125 0.05078125 0.8203125 0.08984375 0.8203125 0.05078125 0.828125 0.05078125 0.7695313 0.1953125 0.8085938 0.1953125 0.828125 0.2265625 0.8125 0.08984375 0.8125 0.05078125 0.8203125 0.05078125 0.8085938 0.1953125 0.7695313 0.1953125 0.7700133 0.1715973 0.8554688 0.05078125 0.8554688 0.08984375 0.84375 0.05078125 0.8554688 0.08984375 0.8515625 0.08984375 0.84375 0.08984375 0.84375 0.05078125 0.8554688 0.08984375 0.84375 0.08984375 + + + + + + + + + + + + + + +

    3 0 0 75 1 1 1 2 2 39 3 3 37 4 4 66 5 5 75 6 6 4 7 7 69 8 8 29 9 9 31 10 10 76 11 11 6 12 12 9 13 13 7 14 14 10 15 15 9 13 16 8 16 17 12 17 18 11 18 19 10 15 20 12 17 21 15 19 22 13 20 23 14 21 24 17 22 25 15 19 26 16 23 27 19 24 28 17 22 29 18 25 30 21 26 31 19 24 32 22 27 33 21 26 34 20 28 35 22 27 36 25 29 37 23 30 38 26 31 39 25 29 40 24 32 41 28 33 42 27 34 43 26 31 44 28 33 45 31 35 46 29 36 47 32 37 48 31 35 49 30 38 50 34 39 51 33 40 52 32 37 53 63 41 54 64 42 55 62 43 56 51 44 57 52 45 58 50 46 59 55 47 60 56 48 61 54 49 62 20 50 63 52 51 64 22 50 65 68 52 66 69 53 67 0 54 68 14 55 69 46 56 70 16 57 71 46 58 72 49 59 73 48 60 74 18 61 75 50 62 76 20 63 77 8 64 78 40 64 79 10 64 80 66 65 81 36 66 82 67 67 83 42 68 84 45 69 85 44 70 86 58 71 87 61 72 88 60 73 89 78 74 90 1 75 91 77 76 92 34 39 93 76 77 94 35 78 95 26 79 96 54 80 97 56 81 98 6 82 99 38 83 100 8 84 101 41 85 102 42 68 103 40 86 104 44 70 105 47 87 106 46 58 107 48 60 108 51 44 109 50 46 110 52 45 111 55 47 112 54 49 113 57 88 114 58 71 115 56 48 116 61 72 117 62 43 118 60 73 119 64 42 120 79 89 121 78 90 122 0 91 123 67 92 124 68 93 125 0 94 126 79 95 127 66 96 128 75 97 129 77 98 130 1 99 131 30 100 132 62 101 133 32 102 134 12 103 135 44 104 136 14 105 137 32 106 138 64 107 139 34 108 140 16 109 141 48 109 142 18 110 143 68 111 144 67 112 145 36 113 146 2 114 147 69 114 148 4 115 149 39 116 150 40 86 151 38 117 152 22 118 153 54 119 154 24 120 155 6 12 156 70 121 157 71 122 158 69 123 159 71 124 160 70 125 161 75 126 162 74 127 163 73 128 164 76 129 165 69 130 166 70 131 167 36 66 168 39 116 169 38 117 170 10 132 171 42 133 172 12 134 173 28 135 174 60 136 175 30 137 176 2 138 177 1 139 178 0 140 179 26 141 180 58 141 181 28 141 182 3 142 183 4 142 184 5 142 185 64 143 186 78 144 187 77 145 188 3 0 189 5 146 190 75 1 191 66 5 192 79 147 193 51 148 194 79 147 195 65 149 196 63 150 197 66 5 198 51 148 199 49 151 200 63 150 201 61 152 202 79 147 203 61 152 204 59 153 205 79 147 206 59 153 207 57 154 208 79 147 209 57 154 210 55 155 211 79 147 212 55 155 213 53 156 214 79 147 215 53 156 216 51 148 217 79 147 218 49 151 219 47 157 220 66 5 221 47 157 222 45 157 223 66 5 224 45 157 225 43 158 226 66 5 227 43 158 228 41 159 229 66 5 230 41 159 231 39 3 232 66 5 233 75 6 234 5 160 235 4 7 236 35 161 237 76 11 238 33 161 239 76 11 240 70 161 241 21 162 242 33 161 243 76 11 244 31 10 245 70 161 246 7 161 247 9 161 248 9 161 249 11 161 250 70 161 251 11 161 252 13 161 253 70 161 254 13 161 255 15 161 256 70 161 257 15 161 258 17 161 259 70 161 260 17 161 261 19 161 262 70 161 263 19 161 264 21 162 265 70 161 266 21 162 267 23 163 268 76 11 269 23 163 270 25 164 271 76 11 272 25 164 273 27 165 274 76 11 275 27 165 276 29 9 277 76 11 278 6 12 279 8 16 280 9 13 281 10 15 282 11 18 283 9 13 284 12 17 285 13 20 286 11 18 287 12 17 288 14 21 289 15 19 290 14 21 291 16 23 292 17 22 293 16 23 294 18 25 295 19 24 296 18 25 297 20 28 298 21 26 299 22 27 300 23 30 301 21 26 302 22 27 303 24 32 304 25 29 305 26 31 306 27 34 307 25 29 308 28 33 309 29 36 310 27 34 311 28 33 312 30 38 313 31 35 314 32 37 315 33 40 316 31 35 317 34 39 318 35 78 319 33 40 320 63 41 321 65 166 322 64 42 323 51 44 324 53 167 325 52 45 326 55 47 327 57 88 328 56 48 329 20 50 330 50 51 331 52 51 332 68 52 333 72 53 334 69 53 335 14 55 336 44 168 337 46 56 338 46 58 339 47 87 340 49 59 341 18 61 342 48 169 343 50 62 344 8 64 345 38 64 346 40 64 347 66 65 348 37 170 349 36 66 350 42 68 351 43 171 352 45 69 353 58 71 354 59 172 355 61 72 356 78 74 357 79 173 358 1 75 359 34 39 360 74 174 361 76 77 362 26 79 363 24 175 364 54 80 365 6 82 366 36 176 367 38 83 368 41 85 369 43 171 370 42 68 371 44 70 372 45 69 373 47 87 374 48 60 375 49 59 376 51 44 377 52 45 378 53 167 379 55 47 380 57 88 381 59 172 382 58 71 383 61 72 384 63 41 385 62 43 386 64 42 387 65 166 388 79 89 389 0 91 390 66 177 391 67 92 392 0 94 393 1 178 394 79 95 395 75 97 396 73 179 397 77 98 398 30 100 399 60 180 400 62 101 401 12 103 402 42 181 403 44 104 404 32 106 405 62 182 406 64 107 407 16 109 408 46 183 409 48 109 410 36 113 411 6 184 412 72 185 413 6 184 414 71 186 415 72 185 416 72 185 417 68 111 418 36 113 419 2 114 420 0 187 421 69 114 422 39 116 423 41 85 424 40 86 425 22 118 426 52 119 427 54 119 428 6 12 429 7 14 430 70 121 431 69 123 432 72 188 433 71 124 434 75 126 435 76 189 436 74 127 437 76 129 438 75 190 439 69 130 440 36 66 441 37 170 442 39 116 443 10 132 444 40 191 445 42 133 446 28 135 447 58 192 448 60 136 449 2 138 450 3 193 451 1 139 452 26 141 453 56 141 454 58 141 455 3 142 456 2 194 457 4 142 458 77 145 459 73 195 460 64 143 461 73 195 462 74 196 463 34 197 464 64 143 465 73 195 466 34 197 467

    +
    +
    +
    + + + + 0.09754467 2.240393 -0.2252249 0.1913414 2.21194 -0.2252249 0.277785 2.165735 -0.2252249 0.3535534 2.103554 -0.2252249 0.4157347 2.027786 -0.2252249 0.4619398 1.941342 -0.2252249 0.4903929 1.847546 -0.2252249 0.5000006 1.750001 -0.2252249 0.4903929 1.652455 -0.2252249 0.4619402 1.558659 -0.2252249 0.4157353 1.472215 -0.2252249 0.353554 1.396447 -0.2252249 0.2777856 1.334266 -0.2252249 0.1913419 1.28806 -0.2252249 0.09754568 1.259607 -0.2252249 2.5 0 -0.3 2.5 3.6 -0.3 0.5412177 1.857655 -0.3 0.5518211 1.750001 -0.3 0.5412175 1.642346 -0.3 0.509816 1.538828 -0.3 0.4588222 1.443425 -0.3 0.4588216 2.056576 -0.3 0.5098155 1.961173 -0.3 0.3901956 2.140197 -0.3 0.3065758 1.291179 -0.3 0.3901967 1.359804 -0.3 0.2111708 2.259817 -0.3 0.1076547 2.291218 -0.3 0.3065758 2.208822 -0.3 0.2111719 1.240184 -0.3 0.1076555 1.208783 -0.3 0.09754467 2.240393 0.2252249 0.1913414 2.21194 0.2252249 0.277785 2.165735 0.2252249 0.3535534 2.103554 0.2252249 0.4157347 2.027786 0.2252249 0.4619398 1.941342 0.2252249 0.4903929 1.847546 0.2252249 0.5000006 1.750001 0.2252249 0.4903929 1.652455 0.2252249 0.4619402 1.558659 0.2252249 0.4157353 1.472215 0.2252249 0.353554 1.396447 0.2252249 0.2777856 1.334266 0.2252249 0.1913419 1.28806 0.2252249 0.09754568 1.259607 0.2252249 2.5 0 0.3 2.5 3.6 0.3 0.5412177 1.857655 0.3 0.5518211 1.750001 0.3 0.5412175 1.642346 0.3 0.509816 1.538828 0.3 0.4588222 1.443425 0.3 0.4588216 2.056576 0.3 0.5098155 1.961173 0.3 0.3901956 2.140197 0.3 0.3065758 1.291179 0.3 0.3901967 1.359804 0.3 0.2111708 2.259817 0.3 0.1076547 2.291218 0.3 0.3065758 2.208822 0.3 0.2111719 1.240184 0.3 0.1076555 1.208783 0.3 0 2.25 0.1901126 0.01996588 2.248034 0.225225 0.01996648 1.251966 0.2252249 4.69387e-7 1.25 0.1901128 -1.52002e-7 2.440548 0.1025 0.01996701 2.299854 0.3 0 2.25 -0.1901126 0.01996588 2.248034 -0.225225 0.01996648 1.251966 -0.2252249 4.69387e-7 1.25 -0.1901128 -1.52002e-7 2.440548 -0.1025 0.01996701 2.299854 -0.3 4.08359e-7 1.075447 -0.1025 0.01996779 1.200146 -0.3 0 0.1136917 -0.1025 0.0199685 0 -0.3 0.0199685 3.6 -0.3 0 3.469546 -0.1025 1.123558 1.2511 -0.2375 4.08359e-7 1.075447 0.1025 0.01996779 1.200146 0.3 0 0.1136917 0.1025 0.0199685 0 0.3 1.069991 1.200069 -0.3 1.123558 1.2511 -0.255 1.873558 1.2511 -0.255 1.918091 1.1999 -0.3 1.918472 2.2999 -0.3 1.069991 2.2999 -0.3 0.0199685 3.6 0.3 0 3.469546 0.1025 1.123558 1.2511 0.2375 1.873558 1.2511 0.2375 1.069991 1.200069 0.3 1.123558 1.2511 0.255 1.873558 1.2511 -0.2375 1.123558 2.2527 -0.2375 1.873558 1.2511 0.255 1.918091 1.1999 0.3 1.873558 2.2527 0.255 1.918472 2.2999 0.3 1.123558 2.2527 0.255 3.09736e-7 0.7086623 -0.1025 1.78937e-7 0.4805372 -0.1025 5.01112e-7 1.187707 -0.28 1.069991 2.2999 0.3 0 0 -0.28 0 3.085717 -0.1025 0 2.824327 -0.1025 0 3.6 -0.28 3.09736e-7 0.7086623 0.1025 1.78937e-7 0.4805372 0.1025 5.01112e-7 1.187707 0.28 0 0 0.28 -1.91969e-7 2.312293 -0.28 0 2.956147 -0.28 -0.15 3.372954 -0.04624998 0 3.085717 0.1025 -0.15 3.181039 -0.04624998 0 2.824327 0.1025 -0.1500001 2.535223 -0.04624998 -0.1500001 2.727113 -0.04624998 0 3.6 0.28 -1.91969e-7 2.312293 0.28 -0.1499996 0.9852741 -0.04624998 -0.1499996 0.8018819 -0.04624998 -0.15 3.372954 0.04624998 -0.1499999 0.2061649 -0.04624998 -0.1499998 0.3895877 -0.04624998 -0.15 3.181039 0.04624998 -0.1500001 2.535223 0.04624998 -1.6225e-7 2.438235 0 -0.1500001 2.727113 0.04624998 -0.1499996 0.9852741 0.04624998 -0.1499996 0.8018819 0.04624998 -0.1499999 0.2061649 0.04624998 -0.1499998 0.3895877 0.04624998 1.873558 2.2527 -0.255 1.873558 2.2527 -0.2375 1.123558 2.2527 0.2375 1.123558 2.2527 -0.255 1.873558 2.2527 0.2375 2.5 2.2999 -0.3 2.5 1.1999 -0.3 2.5 2.2999 0.3 2.5 1.1999 0.3 + + + + + + + + + + -0.4713954 -0.881922 0 -0.471397 -0.8819212 0 -0.4713972 -0.8819211 0 -0.1603451 -0.8061259 -0.5696055 -0.3145329 -0.7593548 -0.5696046 -0.3145369 -0.7593541 -0.5696035 -0.4566335 -0.6834014 -0.5696037 -0.4566342 -0.6834018 -0.5696027 -0.5811833 -0.5811852 -0.5696049 -0.6834005 -0.4566345 -0.5696041 -0.6834009 -0.4566346 -0.5696036 -0.7593537 -0.3145365 -0.569604 -0.759354 -0.3145361 -0.5696038 -0.8061259 -0.1603507 -0.5696039 -0.8061252 -0.1603507 -0.5696049 -0.8219188 5.43392e-7 -0.5696047 -0.8061268 0.1603488 -0.5696033 -0.8061268 0.1603493 -0.5696033 -0.7593554 0.3145334 -0.5696035 -0.7593557 0.3145333 -0.5696033 -0.683402 0.456633 -0.5696034 -0.6834015 0.4566333 -0.5696038 -0.5811846 0.5811849 -0.5696039 -0.4566344 0.6834013 -0.5696032 -0.4566337 0.6834019 -0.5696029 -0.314536 0.759354 -0.5696039 -0.3145365 0.759354 -0.5696038 -0.1603486 0.8061263 -0.5696041 -1 4.61982e-7 0 -1 5.07598e-7 -1.27249e-7 -1 5.07598e-7 1.27249e-7 -0.8819224 0.4713947 0 -0.8819215 0.4713963 0 -0.8819213 0.4713966 0 -1 2.29156e-7 0 -1 -5.09293e-7 0 -1 -5.09294e-7 0 -0.683402 0.456633 0.5696035 -0.7593556 0.3145333 0.5696035 -0.7593554 0.3145334 0.5696035 -0.9951846 -0.09801995 0 -0.9951845 -0.09802013 0 -0.9951844 -0.09802019 0 -0.634393 -0.7730107 0 -0.6343907 -0.7730126 0 -0.6343902 -0.773013 0 -0.9951844 0.09802079 0 -0.9951844 0.09802061 0 -0.9951844 0.09802055 0 -0.7730095 -0.6343946 0 -0.7730103 -0.6343935 0 -0.7730105 -0.6343934 0 -0.5438634 0.8391737 0 -0.5438629 0.839174 0 -0.5438651 0.8391727 0 -0.09801197 -0.9951853 -8.84485e-7 -0.0980103 -0.9951855 8.83768e-7 -0.09801042 -0.9951854 7.17172e-7 -0.6343917 0.7730119 0 -0.6343917 0.7730119 0 -0.0806871 0.8192397 -0.5677464 -0.08068704 0.8192401 -0.5677459 -0.08068078 -0.8192393 -0.5677479 -0.08068215 -0.8192397 -0.5677471 -0.5811846 0.5811849 0.5696039 -0.4566345 0.6834014 0.5696032 -0.581184 0.581185 0.5696045 -0.3511235 0 0.9363293 -0.3511235 0 0.9363293 -0.3511235 1.26799e-7 0.9363293 -0.1603486 0.8061262 0.569604 -0.0806871 0.8192397 0.5677464 -0.1603495 0.806126 0.5696042 -0.1603454 -0.8061259 0.5696055 -0.08068132 -0.8192393 0.5677478 -0.08068329 -0.8192396 0.5677471 0.6432213 0 0.7656804 0.6432204 0 0.7656811 0.6432214 0 0.7656803 -0.7345879 0.5576829 0.3864849 -0.7345733 0.5576923 0.3864989 -0.7345692 0.5576949 0.3865029 0 -1 0 0 -1 0 -1 0 0 -1 -2.69205e-7 -2.47892e-7 -1 1.32263e-7 0 1 0 0 -0.7345875 -0.5576838 -0.3864844 -0.7345767 -0.5576896 -0.3864964 -0.7345737 -0.5576913 -0.3864998 -0.7345879 0.5576829 -0.3864849 -0.7345733 0.5576923 -0.3864989 -0.7345911 0.5576808 -0.3864817 -0.7076857 0 -0.7065274 -0.7076861 0 -0.706527 -0.7076745 7.91684e-7 -0.7065386 -0.7076636 2.8569e-7 -0.7065495 -0.7076846 -4.0339e-7 -0.7065286 -0.7076848 -4.11876e-7 -0.7065283 -1 -2.2805e-7 0 -1 0 0 -1 -4.15078e-7 3.1988e-7 -0.7076634 1.26636e-7 0.7065498 -0.7076857 8.03417e-7 0.7065275 -0.707686 8.11089e-7 0.7065272 -1 0 0 -0.5395073 -0.8419809 0 -0.5417323 -0.840532 0.005674242 -0.5417317 -0.8405325 -0.005674242 -0.7076846 -4.08711e-7 0.7065286 -0.7076636 2.94254e-7 0.7065495 -0.7076848 -4.17368e-7 0.7065283 1.27023e-4 0.6612758 -0.7501431 1.13751e-5 0.6602643 -0.7510334 1.32074e-4 0.6613199 -0.7501041 -0.7105743 2.39428e-4 -0.7036222 -0.7079722 1.59211e-5 -0.7062404 -0.7106512 2.46046e-4 -0.7035445 0 -0.6900383 -0.7237729 0 -0.6900351 -0.723776 0 -0.6900348 -0.7237763 0.6432204 0 -0.7656812 0.6432211 0 -0.7656806 0.6432211 0 -0.7656805 0 1 0 -0.7345761 -0.5576902 0.3864969 -0.734589 -0.5576823 0.3864834 -0.7345725 -0.5576923 0.3865005 -1.24484e-7 -1 0 -5.59233e-7 -1 0 0 -1 0 1.27023e-4 0.6612758 0.7501431 1.13751e-5 0.6602643 0.7510334 0 0.6601647 0.7511209 -0.5184705 0.8550956 0 -0.5184706 0.8550955 0 -0.5184701 0.8550958 0 -0.5247786 -0.8512388 0 -0.5247787 -0.8512387 0 -0.7105708 2.39427e-4 0.7036258 -0.7079728 1.59204e-5 0.7062398 -0.7077873 0 0.7064257 -1 2.43718e-7 0 -1 2.43718e-7 0 -1 2.43718e-7 0 -1 2.4862e-7 0 -1 1.25559e-7 0 -1 0 0 -0.9569397 -0.2902868 0 -0.9569398 -0.2902864 0 -0.9569399 -0.2902863 0 -0.09801679 0.9951848 0 -0.09801781 0.9951847 0 -0.09801763 0.9951848 0 -0.3511235 0 0.9363292 -0.3511235 0 0.9363292 -0.3511235 0 0.9363293 0 0 1 0 0 1 -0.3511238 0 -0.9363291 -0.3511238 0 -0.9363291 -0.3511238 0 -0.9363291 -0.3511235 1.67326e-7 0.9363292 -0.3511235 1.62951e-7 0.9363292 -0.3511235 1.58473e-7 0.9363292 -0.536346 -0.8439983 0 -0.536346 -0.8439983 0 -0.536346 -0.8439982 0 -0.3511235 0 -0.9363292 -0.3511235 0 -0.9363292 -0.3511235 0 -0.9363293 -1 1.62506e-7 0 -1 1.62506e-7 0 -1 1.62506e-7 0 -1 0 0 -1 0 0 -1 0 0 -0.3511235 0 -0.9363293 -0.3511235 0 -0.9363293 -0.3511235 0 -0.9363292 0 0 -1 0 0 -1 -0.3511235 1.67326e-7 -0.9363292 -0.3511235 1.62951e-7 -0.9363292 -0.3511235 1.76222e-7 -0.9363293 -1 1.55289e-7 0 -1 1.55289e-7 0 -1 1.55289e-7 0 -0.5278378 -0.8493452 0 -0.5278379 -0.8493452 0 -0.5278376 -0.8493454 0 -0.3511237 0 0.9363291 -0.3511236 0 0.9363291 -0.3511238 0 0.9363291 -0.2902857 -0.9569401 0 -0.2902857 -0.95694 0 -0.4713973 0.881921 0 -0.4713988 0.8819202 0 -0.4713992 0.88192 0 -0.5414069 0.8407608 0 -0.5414057 0.8407616 0 -0.5414035 0.8407629 0 -3.01672e-7 -0.6900385 0.7237728 -2.70583e-7 -0.6900386 0.7237725 -3.04663e-7 -0.6900385 0.7237728 -0.7730115 0.634392 0 -0.7730116 0.6343921 0 -0.3145365 0.759354 0.5696038 -0.314536 0.759354 0.5696039 -0.4566337 0.683402 0.5696029 -0.9569411 0.2902824 0 -0.9569412 0.2902818 0 -0.9569413 0.2902818 0 -0.2902867 0.9569398 0 -0.2902849 0.9569403 0 -0.2902846 0.9569405 0 -0.6834015 0.4566333 0.5696038 -0.8061268 0.1603488 0.5696034 -0.8061268 0.1603493 0.5696033 -0.8219189 5.04332e-7 0.5696046 -0.8219183 0 0.5696056 -0.8061252 -0.1603507 0.5696051 -0.806126 -0.1603507 0.569604 -0.7593538 -0.3145364 0.569604 -0.7593541 -0.314536 0.5696037 -0.6834009 -0.4566345 0.5696036 -0.6834005 -0.4566345 0.5696041 -0.5811833 -0.5811852 0.569605 -0.5811827 -0.5811851 0.5696057 -0.4566335 -0.6834014 0.5696037 -0.4566343 -0.6834019 0.5696026 -0.3145369 -0.7593541 0.5696035 -0.3145329 -0.7593549 0.5696046 -0.1603447 -0.8061255 0.5696064 -0.8819204 -0.4713984 0 -0.8819208 -0.4713976 0 -0.881921 -0.4713975 0 0 -1 0 -4.98186e-7 -1 0 -0.5152201 0.8570579 0 -0.5152202 0.8570579 0 -0.5152204 0.8570578 0 -1 4.68813e-7 0 -1 5.73752e-7 -1.59682e-7 -1 2.29156e-7 0 0 0 -1 0 -1.91543e-7 -1 0 0 -1 0 0 1 0 0 1 0 -1.21794e-7 1 0 0 1 0 0 1 -0.4713951 -0.8819221 0 -0.1603447 -0.8061254 -0.5696064 -0.5811827 -0.5811851 -0.5696056 -0.8219181 0 -0.5696057 -0.581184 0.581185 -0.5696045 -0.1603495 0.806126 -0.5696042 -1 4.61982e-7 0 -0.8819226 0.4713944 0 -0.9951845 -0.09801995 0 -0.6343935 -0.7730104 0 -0.9951844 0.09802085 0 -0.7730094 -0.6343947 0 -0.543862 0.8391748 0 -0.09801453 -0.995185 3.27493e-6 -0.09801197 -0.9951853 -7.17754e-7 -0.09801453 -0.995185 -3.27759e-6 -0.3511235 0 0.9363292 -0.08068704 0.8192401 0.5677459 0.6432204 0 0.7656812 -0.7345911 0.5576808 0.3864817 0 -1 0 0 -1 0 -1 2.27123e-7 0 -1 2.2954e-7 0 -1 1.26968e-7 0 -1 2.08632e-7 0 -1 2.79317e-7 0 -1 -2.48586e-7 3.88868e-7 -0.7345899 -0.5576824 -0.3864817 -0.7345692 0.5576949 -0.3865029 -0.7076629 1.53543e-7 -0.7065503 -0.7076632 1.71906e-7 -0.70655 -0.7076633 2.96417e-7 -0.7065499 -1 -6.21159e-7 -3.10249e-7 -0.7076631 0 0.7065501 -0.5387343 -0.8422613 -0.01900953 -0.5387367 -0.8422598 0.01900947 -0.7076633 3.05197e-7 0.7065499 0 0.6601647 -0.7511209 -0.7077865 0 -0.7064265 0 -0.6900384 -0.7237728 0.6432204 0 -0.7656813 -0.734592 -0.5576806 0.3864803 -6.18455e-7 -1 0 1.32074e-4 0.6613199 0.7501041 -0.5184707 0.8550953 0 -0.5247784 -0.8512389 0 -0.7106475 2.46045e-4 0.7035482 -1 2.43718e-7 0 -0.9569397 -0.290287 0 -0.09801751 0.9951847 0 -0.09801661 0.9951848 0 -0.09801745 0.9951847 0 -0.3511235 0 0.9363293 0 0 1 0 0 1 -0.3511238 0 -0.9363291 -0.3511235 1.76222e-7 0.9363293 -0.5363459 -0.8439984 0 -0.3511235 0 -0.9363293 -1 1.62506e-7 0 -1 0 0 -0.3511235 1.26799e-7 -0.9363293 0 1.20822e-7 -1 -0.3511235 1.58473e-7 -0.9363292 -1 1.55289e-7 0 -0.5278382 -0.8493449 0 -0.3511234 0 0.9363293 -0.4713971 0.8819212 0 -0.5414109 0.8407583 0 -2.69301e-7 -0.6900387 0.7237725 -0.9569411 0.2902826 0 -0.290287 0.9569397 0 -0.8819204 -0.4713985 0 -0.5152199 0.8570581 0 -1 4.68813e-7 0 -1 5.73752e-7 1.59682e-7 -1 5.50439e-7 -2.50955e-7 -1 5.50439e-7 2.50956e-7 0 0 -1 0 0 -1 0 1.75693e-6 -1 0 -7.64911e-7 -1 0 2.39844e-7 -1 0 1.06743e-6 -1 0 -1.65418e-7 -1 0 5.14993e-7 -1 0 -2.47438e-7 -1 0 0 -1 0 0 -1 0 -1.7419e-7 1 0 7.79265e-7 1 0 2.00537e-7 1 0 -1.40526e-6 1 0 9.49386e-7 1 0 -2.94844e-7 1 0 3.49563e-7 1 0 -2.01391e-7 1 0 0 1 0 -3.14327e-7 1 + + + + + + + + + + 0.02734375 0.6953125 0.01953125 0.65625 0.02734375 0.65625 0.01171875 0.65625 0.01953125 0.6484375 0.01953125 0.65625 0.01953125 0.65625 0.02734375 0.6484375 0.02734375 0.65625 0.02734375 0.6484375 0.03515625 0.65625 0.02734375 0.65625 0.03515625 0.65625 0.04296875 0.6484375 0.04296875 0.65625 0.04296875 0.65625 0.05078125 0.6484375 0.05078125 0.65625 0.05078125 0.6484375 0.05859375 0.65625 0.05078125 0.65625 0.05859375 0.6484375 0.06640625 0.65625 0.05859375 0.65625 0.06640625 0.65625 0.07421875 0.6484375 0.07421875 0.65625 0.07421875 0.6484375 0.08203125 0.65625 0.07421875 0.65625 0.08203125 0.6484375 0.08984375 0.65625 0.08203125 0.65625 0.08984375 0.6484375 0.09765625 0.65625 0.08984375 0.65625 0.09765625 0.65625 0.1054687 0.6484375 0.1054687 0.65625 0.1054687 0.6484375 0.1132812 0.65625 0.1054687 0.65625 0.1132812 0.6484375 0.1210937 0.65625 0.1132812 0.65625 0.484375 0.9375 0.4726563 0.9609375 0.4726563 0.9453125 0.08984375 0.6953125 0.08203125 0.65625 0.08984375 0.65625 0.4101563 0.9375 0.40625 0.96875 0.40625 0.9375 0.08984375 0.6953125 0.08203125 0.703125 0.08203125 0.6953125 0.06640625 0.6953125 0.05859375 0.65625 0.06640625 0.65625 0.03515625 0.6953125 0.02734375 0.65625 0.03515625 0.65625 0.07421875 0.6953125 0.06640625 0.65625 0.07421875 0.65625 0.04296875 0.6953125 0.03515625 0.65625 0.04296875 0.65625 0.3164063 0.9570313 0.3125 0.9453125 0.3164063 0.9492188 0 0.6953125 0 0.65625 0.01171875 0.65625 0.1054687 0.6953125 0.09765625 0.65625 0.1054687 0.65625 0.1210937 0.65625 0.1289062 0.6484375 0.1289062 0.65625 0.00390625 0.6484375 0.01171875 0.65625 0.00390625 0.65625 0.09765625 0.6953125 0.1054687 0.703125 0.09765625 0.703125 0.4179688 0.9609375 0.4375 0.9570313 0.4414063 0.9609375 0.1210937 0.6953125 0.1289062 0.703125 0.1210937 0.703125 0.01171875 0.6953125 0.00390625 0.703125 0.00390625 0.6953125 0.1523437 0.8671875 0.08203125 0.8632813 0.1484375 0.8632813 0.1289062 0.6953125 0.1328125 0.703125 0.1289062 0.703125 0.484375 0.9335938 0.484375 0.7773438 0.5234375 0.7773438 0.3125 0.9609375 0.3476563 0.96875 0.3007813 0.9609375 0.0625 0.703125 0 0.7041016 0 0.703125 0.00390625 0.65625 0 0.6484375 0.00390625 0.6484375 0.1289062 0.65625 0.1328125 0.6484375 0.1328125 0.65625 0.3476563 0.9335938 0.3476563 0.9375 0.3046875 0.9375 0.484375 0.9335938 0.4101563 0.9375 0.4101563 0.9335938 0.3359375 0.9609375 0.3359375 0.9453125 0.3476563 0.9414063 0 0.7333984 0.0625 0.734375 0 0.734375 0.265625 0.9726563 0.3476563 0.96875 0.3476563 0.9726563 0.171875 0.7041016 0.109375 0.703125 0.109375 0.7041016 0.3359375 0.9609375 0.3320313 0.9570313 0.3320313 0.9492188 0.4101563 0.96875 0.484375 0.9726563 0.4101563 0.9726563 0.40625 0.8632813 0.4101563 0.8164063 0.4101563 0.8671875 0.40625 0.8203125 0.3359375 0.8164063 0.4101563 0.8164063 0.3398438 0.8632813 0.3359375 0.8164063 0.3398438 0.8203125 0.40625 0.8632813 0.3359375 0.8671875 0.3398438 0.8632813 0.21875 0.703125 0.171875 0.7041016 0.171875 0.703125 0 0.703125 0.00390625 0.6953125 0.00390625 0.703125 0.0625 0.734375 0.109375 0.7333984 0.0625 0.7333984 0.08203125 0.8632813 0.078125 0.8164063 0.08203125 0.8203125 0.4296875 0.7773438 0.375 0.7773438 0.375 0.7382813 0.109375 0.734375 0.171875 0.7333984 0.109375 0.7333984 0.453125 0.9570313 0.4492188 0.9453125 0.453125 0.9492188 0.171875 0.703125 0.109375 0.734375 0.109375 0.703125 0.46875 0.9570313 0.4726563 0.9453125 0.4726563 0.9609375 0.08203125 0.8203125 0.1523437 0.8164063 0.1484375 0.8203125 0.46875 0.9570313 0.453125 0.9492188 0.46875 0.9492188 0.171875 0.734375 0.21875 0.7333984 0.171875 0.7333984 0.2773438 0.9453125 0.3046875 0.9375 0.3007813 0.9453125 0.05859375 0.6953125 0.05078125 0.65625 0.05859375 0.65625 0.1328125 0.65625 0.1328125 0.6953125 0.1210937 0.6953125 0.3164063 0.9570313 0.3359375 0.9609375 0.3125 0.9609375 0.078125 0.8164063 0.078125 0.8671875 0.0078125 0.7773438 0.2265625 0.7773438 0.265625 0.7773438 0.265625 0.9296875 0.3007813 0.9453125 0.28125 0.9492188 0.2773438 0.9453125 0.4492188 0.9609375 0.46875 0.9570313 0.4726563 0.9609375 0.3007813 0.9609375 0.296875 0.9492188 0.3007813 0.9453125 0.3359375 0.9453125 0.3164063 0.9492188 0.3125 0.9453125 0.4375 0.9492188 0.421875 0.9570313 0.421875 0.9492188 0.3320313 0.9492188 0.3164063 0.9570313 0.3164063 0.9492188 0.421875 0.9453125 0.4375 0.9492188 0.421875 0.9492188 0.4101563 0.8671875 0.4101563 0.8164063 0.484375 0.7773438 0.4492188 0.9453125 0.46875 0.9492188 0.453125 0.9492188 0.0625 0.703125 0 0.734375 0 0.703125 0.296875 0.9492188 0.28125 0.9570313 0.28125 0.9492188 0.4414063 0.9609375 0.4375 0.9492188 0.4414063 0.9453125 0.28125 0.9570313 0.3007813 0.9609375 0.2773438 0.9609375 0.01953125 0.65625 0.01171875 0.6953125 0.01171875 0.65625 0.1132812 0.6953125 0.1054687 0.65625 0.1132812 0.65625 0.28125 0.9492188 0.2773438 0.9609375 0.2773438 0.9453125 0.1523437 0.8164063 0.1484375 0.8632813 0.1484375 0.8203125 0.21875 0.703125 0.171875 0.734375 0.171875 0.703125 0.08984375 0.65625 0.09765625 0.6953125 0.08984375 0.6953125 0.1210937 0.6953125 0.1132812 0.703125 0.1132812 0.6953125 0.1132812 0.6953125 0.1054687 0.703125 0.1054687 0.6953125 0.07421875 0.65625 0.08203125 0.6953125 0.07421875 0.6953125 0.1210937 0.6953125 0.1132812 0.65625 0.1210937 0.65625 0.09765625 0.6953125 0.08984375 0.703125 0.08984375 0.6953125 0.08203125 0.6953125 0.07421875 0.703125 0.07421875 0.6953125 0.06640625 0.6953125 0.07421875 0.703125 0.06640625 0.703125 0.06640625 0.6953125 0.05859375 0.703125 0.05859375 0.6953125 0.05859375 0.6953125 0.05078125 0.703125 0.05078125 0.6953125 0.04296875 0.6953125 0.05078125 0.703125 0.04296875 0.703125 0.03515625 0.6953125 0.04296875 0.703125 0.03515625 0.703125 0.03515625 0.6953125 0.02734375 0.703125 0.02734375 0.6953125 0.01953125 0.6953125 0.02734375 0.703125 0.01953125 0.703125 0.01171875 0.6953125 0.01953125 0.703125 0.01171875 0.703125 0.05078125 0.6953125 0.04296875 0.65625 0.05078125 0.65625 0.109375 0.703125 0.0625 0.7041016 0.0625 0.703125 0.109375 0.703125 0.0625 0.734375 0.0625 0.703125 0.421875 0.9492188 0.4179688 0.9609375 0.4179688 0.9453125 0.4101563 0.9375 0.484375 0.9375 0.4492188 0.9453125 0.4179688 0.9453125 0.4101563 0.96875 0.4101563 0.9375 0.265625 0.7773438 0.3359375 0.8164063 0.3359375 0.8671875 0.3359375 0.8164063 0.4101563 0.7773438 0.4101563 0.8164063 0.4101563 0.8671875 0.3805916 0.8997213 0.3731499 0.8991516 0.1523437 0.8671875 0.1206293 0.9000405 0.1134656 0.8996057 0.1523437 0.8164063 0.078125 0.7773438 0.1523437 0.7773438 0.2265625 0.9335938 0.1523437 0.9335938 0.1523437 0.8671875 0.02734375 0.6953125 0.01953125 0.6953125 0.01953125 0.65625 0.01171875 0.65625 0.01171875 0.6484375 0.01953125 0.6484375 0.01953125 0.65625 0.01953125 0.6484375 0.02734375 0.6484375 0.02734375 0.6484375 0.03515625 0.6484375 0.03515625 0.65625 0.03515625 0.65625 0.03515625 0.6484375 0.04296875 0.6484375 0.04296875 0.65625 0.04296875 0.6484375 0.05078125 0.6484375 0.05078125 0.6484375 0.05859375 0.6484375 0.05859375 0.65625 0.05859375 0.6484375 0.06640625 0.6484375 0.06640625 0.65625 0.06640625 0.65625 0.06640625 0.6484375 0.07421875 0.6484375 0.07421875 0.6484375 0.08203125 0.6484375 0.08203125 0.65625 0.08203125 0.6484375 0.08984375 0.6484375 0.08984375 0.65625 0.08984375 0.6484375 0.09765625 0.6484375 0.09765625 0.65625 0.09765625 0.65625 0.09765625 0.6484375 0.1054687 0.6484375 0.1054687 0.6484375 0.1132812 0.6484375 0.1132812 0.65625 0.1132812 0.6484375 0.1210937 0.6484375 0.1210937 0.65625 0.484375 0.9375 0.484375 0.96875 0.4726563 0.9609375 0.08984375 0.6953125 0.08203125 0.6953125 0.08203125 0.65625 0.4101563 0.9375 0.4101563 0.96875 0.40625 0.96875 0.08984375 0.6953125 0.08984375 0.703125 0.08203125 0.703125 0.06640625 0.6953125 0.05859375 0.6953125 0.05859375 0.65625 0.03515625 0.6953125 0.02734375 0.6953125 0.02734375 0.65625 0.07421875 0.6953125 0.06640625 0.6953125 0.06640625 0.65625 0.04296875 0.6953125 0.03515625 0.6953125 0.03515625 0.65625 0.3164063 0.9570313 0.3125 0.9609375 0.3125 0.9453125 0.00390625 0.65625 0.01171875 0.65625 0 0.65625 0.01171875 0.65625 0.01171875 0.6953125 0 0.6953125 0.01171875 0.6953125 0.00390625 0.6914063 0 0.6953125 0.1054687 0.6953125 0.09765625 0.6953125 0.09765625 0.65625 0.1210937 0.65625 0.1210937 0.6484375 0.1289062 0.6484375 0.00390625 0.6484375 0.01171875 0.6484375 0.01171875 0.65625 0.09765625 0.6953125 0.1054687 0.6953125 0.1054687 0.703125 0.4179688 0.9609375 0.421875 0.9570313 0.4375 0.9570313 0.1210937 0.6953125 0.1289062 0.6953125 0.1289062 0.703125 0.01171875 0.6953125 0.01171875 0.703125 0.00390625 0.703125 0.1523437 0.8671875 0.078125 0.8671875 0.08203125 0.8632813 0.1289062 0.6953125 0.1328125 0.6953125 0.1328125 0.703125 0.5234375 0.7773438 0.5234375 0.9335938 0.484375 0.9335938 0.5234375 0.9335938 0.5195313 0.9335938 0.484375 0.9335938 0.5195313 0.9335938 0.4882813 0.9335938 0.484375 0.9335938 0.265625 0.9375 0.2773438 0.9453125 0.2773438 0.9609375 0.3007813 0.9609375 0.3007813 0.9453125 0.3125 0.9609375 0.3007813 0.9453125 0.3046875 0.9375 0.3125 0.9453125 0.3125 0.9609375 0.3007813 0.9453125 0.3125 0.9453125 0.265625 0.96875 0.265625 0.9375 0.2773438 0.9609375 0.265625 0.96875 0.2773438 0.9609375 0.3007813 0.9609375 0.3359375 0.9609375 0.3359375 0.9609375 0.3476563 0.96875 0.3125 0.9609375 0.3359375 0.9609375 0.3476563 0.96875 0.3476563 0.96875 0.265625 0.96875 0.3007813 0.9609375 0.3046875 0.9375 0.3476563 0.9375 0.3125 0.9453125 0.3476563 0.9375 0.3359375 0.9453125 0.3125 0.9453125 0.0625 0.703125 0.0625 0.7041016 0 0.7041016 0.00390625 0.65625 0 0.65625 0 0.6484375 0.1289062 0.65625 0.1289062 0.6484375 0.1328125 0.6484375 0.265625 0.9375 0.265625 0.9335938 0.3046875 0.9375 0.265625 0.9335938 0.3476563 0.9335938 0.3046875 0.9375 0.484375 0.9335938 0.484375 0.9375 0.4101563 0.9375 0.34375 0.9375 0.3476563 0.9414063 0.3359375 0.9453125 0.3476563 0.9414063 0.3476563 0.9648438 0.3359375 0.9609375 0.3476563 0.9648438 0.34375 0.96875 0.3359375 0.9609375 0 0.7333984 0.0625 0.7333984 0.0625 0.734375 0.265625 0.9726563 0.265625 0.96875 0.3476563 0.96875 0.171875 0.7041016 0.171875 0.703125 0.109375 0.703125 0.3320313 0.9492188 0.3359375 0.9453125 0.3359375 0.9609375 0.3359375 0.9609375 0.3359375 0.9609375 0.3320313 0.9570313 0.4101563 0.96875 0.484375 0.96875 0.484375 0.9726563 0.40625 0.8632813 0.40625 0.8203125 0.4101563 0.8164063 0.40625 0.8203125 0.3398438 0.8203125 0.3359375 0.8164063 0.3398438 0.8632813 0.3359375 0.8671875 0.3359375 0.8164063 0.40625 0.8632813 0.4101563 0.8671875 0.3359375 0.8671875 0.21875 0.703125 0.21875 0.7041016 0.171875 0.7041016 0 0.703125 0 0.6953125 0.00390625 0.6953125 0.0625 0.734375 0.109375 0.734375 0.109375 0.7333984 0.08203125 0.8632813 0.078125 0.8671875 0.078125 0.8164063 0.375 0.7773438 0.265625 0.7773438 0.265625 0.7382813 0.375 0.7382813 0.4296875 0.7382813 0.4296875 0.7773438 0.4296875 0.7382813 0.484375 0.7382813 0.4296875 0.7773438 0.375 0.7773438 0.265625 0.7382813 0.375 0.7382813 0.484375 0.7382813 0.484375 0.7773438 0.4296875 0.7773438 0.109375 0.734375 0.171875 0.734375 0.171875 0.7333984 0.453125 0.9570313 0.4492188 0.9609375 0.4492188 0.9453125 0.171875 0.703125 0.171875 0.734375 0.109375 0.734375 0.46875 0.9570313 0.46875 0.9492188 0.4726563 0.9453125 0.08203125 0.8203125 0.078125 0.8164063 0.1523437 0.8164063 0.46875 0.9570313 0.453125 0.9570313 0.453125 0.9492188 0.171875 0.734375 0.21875 0.734375 0.21875 0.7333984 0.2773438 0.9453125 0.265625 0.9375 0.3046875 0.9375 0.05859375 0.6953125 0.05078125 0.6953125 0.05078125 0.65625 0.1289062 0.6953125 0.1210937 0.6953125 0.1328125 0.6953125 0.1210937 0.6953125 0.1210937 0.65625 0.1328125 0.65625 0.1210937 0.65625 0.1289062 0.6601563 0.1328125 0.65625 0.3164063 0.9570313 0.3320313 0.9570313 0.3359375 0.9609375 0.078125 0.8671875 0.078125 0.9335938 0.0078125 0.9335938 0.0078125 0.9335938 0.0078125 0.7773438 0.078125 0.8671875 0.0078125 0.7773438 0.078125 0.7773438 0.078125 0.8164063 0.265625 0.9296875 0.2617188 0.9335938 0.2304687 0.9335938 0.2304687 0.9335938 0.2265625 0.9296875 0.265625 0.9296875 0.2265625 0.9296875 0.2265625 0.7773438 0.265625 0.9296875 0.3007813 0.9453125 0.296875 0.9492188 0.28125 0.9492188 0.4492188 0.9609375 0.453125 0.9570313 0.46875 0.9570313 0.3007813 0.9609375 0.296875 0.9570313 0.296875 0.9492188 0.3359375 0.9453125 0.3320313 0.9492188 0.3164063 0.9492188 0.4375 0.9492188 0.4375 0.9570313 0.421875 0.9570313 0.3320313 0.9492188 0.3320313 0.9570313 0.3164063 0.9570313 0.421875 0.9453125 0.4414063 0.9453125 0.4375 0.9492188 0.4101563 0.8164063 0.4101563 0.7773438 0.484375 0.7773438 0.484375 0.7773438 0.484375 0.9335938 0.4101563 0.8671875 0.484375 0.9335938 0.4101563 0.9335938 0.4101563 0.8671875 0.4492188 0.9453125 0.4726563 0.9453125 0.46875 0.9492188 0.0625 0.703125 0.0625 0.734375 0 0.734375 0.296875 0.9492188 0.296875 0.9570313 0.28125 0.9570313 0.4414063 0.9609375 0.4375 0.9570313 0.4375 0.9492188 0.28125 0.9570313 0.296875 0.9570313 0.3007813 0.9609375 0.01953125 0.65625 0.01953125 0.6953125 0.01171875 0.6953125 0.1132812 0.6953125 0.1054687 0.6953125 0.1054687 0.65625 0.28125 0.9492188 0.28125 0.9570313 0.2773438 0.9609375 0.1523437 0.8164063 0.1523437 0.8671875 0.1484375 0.8632813 0.21875 0.703125 0.21875 0.734375 0.171875 0.734375 0.08984375 0.65625 0.09765625 0.65625 0.09765625 0.6953125 0.1210937 0.6953125 0.1210937 0.703125 0.1132812 0.703125 0.1132812 0.6953125 0.1132812 0.703125 0.1054687 0.703125 0.07421875 0.65625 0.08203125 0.65625 0.08203125 0.6953125 0.1210937 0.6953125 0.1132812 0.6953125 0.1132812 0.65625 0.09765625 0.6953125 0.09765625 0.703125 0.08984375 0.703125 0.08203125 0.6953125 0.08203125 0.703125 0.07421875 0.703125 0.06640625 0.6953125 0.07421875 0.6953125 0.07421875 0.703125 0.06640625 0.6953125 0.06640625 0.703125 0.05859375 0.703125 0.05859375 0.6953125 0.05859375 0.703125 0.05078125 0.703125 0.04296875 0.6953125 0.05078125 0.6953125 0.05078125 0.703125 0.03515625 0.6953125 0.04296875 0.6953125 0.04296875 0.703125 0.03515625 0.6953125 0.03515625 0.703125 0.02734375 0.703125 0.01953125 0.6953125 0.02734375 0.6953125 0.02734375 0.703125 0.01171875 0.6953125 0.01953125 0.6953125 0.01953125 0.703125 0.05078125 0.6953125 0.04296875 0.6953125 0.04296875 0.65625 0.109375 0.703125 0.109375 0.7041016 0.0625 0.7041016 0.109375 0.703125 0.109375 0.734375 0.0625 0.734375 0.421875 0.9492188 0.421875 0.9570313 0.4179688 0.9609375 0.4492188 0.9609375 0.4726563 0.9609375 0.484375 0.96875 0.484375 0.96875 0.4101563 0.96875 0.4492188 0.9609375 0.4101563 0.96875 0.4179688 0.9609375 0.4414063 0.9609375 0.4101563 0.96875 0.4414063 0.9609375 0.4492188 0.9609375 0.4414063 0.9453125 0.4179688 0.9453125 0.4101563 0.9375 0.4492188 0.9609375 0.4414063 0.9609375 0.4414063 0.9453125 0.484375 0.9375 0.4726563 0.9453125 0.4492188 0.9453125 0.4492188 0.9453125 0.4492188 0.9609375 0.4414063 0.9453125 0.4414063 0.9453125 0.4101563 0.9375 0.4492188 0.9453125 0.4179688 0.9453125 0.4179688 0.9609375 0.4101563 0.96875 0.3359375 0.9335938 0.265625 0.9335938 0.3359375 0.8671875 0.265625 0.9335938 0.265625 0.7773438 0.3359375 0.8671875 0.265625 0.7773438 0.3359375 0.7773438 0.3359375 0.8164063 0.3359375 0.8164063 0.3359375 0.7773438 0.4101563 0.7773438 0.3365457 0.9266614 0.3359375 0.9335938 0.3359375 0.8671875 0.4101563 0.8671875 0.4101563 0.9335938 0.4093334 0.9257813 0.4101563 0.8671875 0.4093334 0.9257813 0.4082009 0.9194982 0.338568 0.9201555 0.3365457 0.9266614 0.3359375 0.8671875 0.3418357 0.9143871 0.338568 0.9201555 0.3359375 0.8671875 0.4101563 0.8671875 0.4082009 0.9194982 0.4048051 0.9138015 0.4101563 0.8671875 0.4048051 0.9138015 0.400143 0.9087718 0.3463863 0.9092633 0.3418357 0.9143871 0.3359375 0.8671875 0.3520503 0.9050107 0.3463863 0.9092633 0.3359375 0.8671875 0.4101563 0.8671875 0.400143 0.9087718 0.3943881 0.9046313 0.4101563 0.8671875 0.3943881 0.9046313 0.3877754 0.9015697 0.3520503 0.9050107 0.3359375 0.8671875 0.358594 0.901826 0.3359375 0.8671875 0.4101563 0.8671875 0.3731499 0.8991516 0.358594 0.901826 0.3359375 0.8671875 0.3657317 0.8998496 0.3657317 0.8998496 0.3359375 0.8671875 0.3731499 0.8991516 0.4101563 0.8671875 0.3877754 0.9015697 0.3805916 0.8997213 0.07895302 0.9276447 0.078125 0.9335938 0.078125 0.8671875 0.1523437 0.8671875 0.1523437 0.9335938 0.149919 0.9257966 0.1523437 0.8671875 0.149919 0.9257966 0.1476761 0.9193678 0.08070421 0.9211758 0.07895302 0.9276447 0.078125 0.8671875 0.08370715 0.9153638 0.08070421 0.9211758 0.078125 0.8671875 0.1523437 0.8671875 0.1476761 0.9193678 0.1442694 0.9137199 0.1523437 0.8671875 0.1442694 0.9137199 0.1396595 0.9087614 0.08795803 0.9101732 0.08370715 0.9153638 0.078125 0.8671875 0.09330022 0.9058326 0.08795803 0.9101732 0.078125 0.8671875 0.1523437 0.8671875 0.1396595 0.9087614 0.134019 0.904713 0.1523437 0.8671875 0.134019 0.904713 0.1275818 0.9017626 0.09330022 0.9058326 0.078125 0.8671875 0.09951663 0.9025395 0.078125 0.8671875 0.1523437 0.8671875 0.1134656 0.8996057 0.09951663 0.9025395 0.078125 0.8671875 0.1063379 0.9004384 0.1063379 0.9004384 0.078125 0.8671875 0.1134656 0.8996057 0.1523437 0.8671875 0.1275818 0.9017626 0.1206293 0.9000405 0.1523437 0.8164063 0.078125 0.8164063 0.078125 0.7773438 0.1523437 0.8671875 0.1523437 0.8164063 0.2265625 0.7773438 0.1523437 0.8164063 0.1523437 0.7773438 0.2265625 0.7773438 0.2265625 0.7773438 0.2265625 0.9335938 0.1523437 0.8671875 + + + + + + + + + + + + + + +

    34 0 0 1 1 1 2 2 2 0 3 3 27 4 4 1 5 5 1 5 6 29 6 7 2 7 8 29 6 9 3 8 10 2 7 11 3 8 12 22 9 13 4 10 14 4 10 15 23 11 16 5 12 17 23 11 18 6 13 19 5 12 20 17 14 21 7 15 22 6 13 23 7 15 24 19 16 25 8 17 26 19 16 27 9 18 28 8 17 29 20 19 30 10 20 31 9 18 32 21 21 33 11 22 34 10 20 35 11 22 36 25 23 37 12 24 38 25 23 39 13 25 40 12 24 41 30 26 42 14 27 43 13 25 44 110 28 45 85 29 46 78 30 47 42 31 48 9 32 49 10 33 50 108 34 51 67 35 52 73 36 53 42 37 54 52 38 55 41 39 56 39 40 57 6 41 58 7 42 59 35 43 60 2 44 61 3 45 62 40 46 63 7 47 64 8 48 65 36 49 66 3 50 67 4 51 68 136 52 69 112 53 70 125 54 71 64 55 72 70 56 73 0 57 74 44 58 75 11 58 76 12 59 77 14 27 78 77 60 79 72 61 80 75 62 81 0 3 82 71 63 83 43 64 84 57 65 85 58 66 86 83 67 87 138 68 88 114 69 89 46 70 90 84 71 91 63 72 92 32 73 93 69 74 94 65 75 95 109 76 96 98 77 97 105 78 98 66 79 99 116 80 100 84 81 101 79 82 102 15 83 103 47 83 104 123 84 105 127 85 106 121 86 107 144 87 108 82 87 109 88 87 110 71 88 111 118 89 112 75 90 113 72 91 114 108 92 115 73 93 116 75 94 117 118 95 118 119 96 119 79 97 120 108 98 121 77 99 122 135 100 123 74 101 124 70 102 125 95 87 126 105 87 127 98 87 128 93 103 129 127 104 130 69 105 131 89 106 132 142 106 133 141 106 134 135 107 135 134 108 136 124 109 137 116 110 138 86 111 139 84 112 140 88 113 141 90 114 142 87 115 143 89 116 144 91 117 145 90 118 146 144 119 147 91 120 148 141 121 149 88 122 150 92 123 151 144 124 152 88 125 153 99 125 154 89 125 155 127 126 156 65 127 157 69 128 158 143 129 159 103 130 160 105 131 161 98 132 162 102 133 163 101 134 164 147 87 165 146 87 166 148 87 167 145 106 168 101 106 169 103 106 170 140 135 171 107 136 172 132 137 173 99 106 174 145 106 175 142 106 176 139 138 177 78 138 178 85 139 179 101 140 180 104 141 181 103 142 182 139 143 183 132 144 184 131 145 185 96 125 186 98 125 187 101 125 188 81 146 189 119 147 190 111 148 191 38 149 192 5 150 193 6 151 194 73 152 195 67 153 196 46 154 197 136 155 198 68 156 199 123 157 200 102 158 201 97 159 202 47 158 203 48 125 204 16 125 205 80 125 206 111 160 207 120 161 208 81 162 209 115 163 210 139 164 211 85 165 212 121 166 213 122 167 214 111 168 215 74 169 216 125 170 217 112 171 218 129 172 219 137 173 220 128 174 221 124 175 222 136 176 223 125 177 224 76 178 225 129 179 226 128 180 227 87 181 228 90 182 229 15 182 230 107 183 231 131 184 232 132 185 233 100 87 234 95 87 235 82 87 236 122 186 237 130 187 238 120 188 239 114 189 240 129 190 241 106 191 242 130 192 243 121 193 244 94 194 245 1 195 246 32 195 247 0 196 248 45 197 249 12 198 250 13 199 251 120 200 252 94 201 253 81 202 254 104 203 255 105 204 256 103 205 257 82 125 258 96 125 259 99 125 260 10 206 261 43 206 262 42 207 263 46 70 264 62 208 265 45 209 266 45 209 267 57 65 268 44 210 269 8 211 270 41 212 271 40 213 272 46 214 273 13 215 274 14 216 275 43 64 276 53 217 277 42 37 278 41 39 279 51 218 280 40 219 281 39 220 282 51 218 283 50 221 284 39 220 285 49 222 286 38 223 287 38 223 288 55 224 289 37 225 290 36 226 291 55 224 292 54 227 293 35 228 294 54 227 295 56 229 296 35 228 297 61 230 298 34 231 299 33 232 300 61 230 301 59 233 302 32 73 303 59 233 304 60 234 305 37 235 306 4 236 307 5 237 308 141 130 309 100 238 310 144 131 311 142 239 312 143 129 313 100 238 314 128 240 315 83 241 316 76 242 317 108 34 318 110 28 319 107 243 320 76 244 321 116 245 322 108 34 323 16 182 324 91 182 325 92 246 326 91 182 327 147 182 328 90 182 329 87 181 330 19 247 331 18 248 332 109 249 333 49 250 334 50 251 335 104 158 336 149 158 337 148 158 338 93 252 339 69 253 340 109 249 341 34 0 342 33 254 343 1 1 344 0 3 345 28 255 346 27 4 347 1 5 348 27 4 349 29 6 350 29 6 351 24 256 352 3 8 353 3 8 354 24 256 355 22 9 356 4 10 357 22 9 358 23 11 359 23 11 360 17 14 361 6 13 362 17 14 363 18 257 364 7 15 365 7 15 366 18 257 367 19 16 368 19 16 369 20 19 370 9 18 371 20 19 372 21 21 373 10 20 374 21 21 375 26 258 376 11 22 377 11 22 378 26 258 379 25 23 380 25 23 381 30 26 382 13 25 383 30 26 384 31 259 385 14 27 386 110 28 387 117 260 388 85 29 389 42 31 390 41 261 391 9 32 392 108 34 393 116 245 394 67 35 395 42 37 396 53 217 397 52 38 398 39 40 399 38 262 400 6 41 401 35 43 402 34 263 403 2 44 404 40 46 405 39 264 406 7 47 407 36 49 408 35 265 409 3 50 410 136 52 411 123 266 412 112 53 413 71 267 414 0 57 415 70 56 416 0 57 417 32 268 418 64 55 419 32 268 420 65 269 421 64 55 422 44 58 423 43 59 424 11 58 425 14 27 426 31 259 427 77 60 428 75 62 429 28 255 430 0 3 431 43 64 432 44 210 433 57 65 434 83 67 435 137 270 436 138 68 437 46 70 438 66 271 439 84 71 440 32 73 441 60 234 442 69 74 443 109 76 444 97 272 445 98 77 446 66 79 447 67 273 448 116 80 449 47 83 450 86 274 451 79 82 452 86 274 453 117 275 454 79 82 455 117 275 456 110 275 457 79 82 458 113 276 459 81 146 460 94 277 461 121 86 462 111 148 463 123 84 464 111 148 465 119 147 466 112 278 467 123 84 468 111 148 469 112 278 470 126 279 471 113 276 472 94 277 473 126 279 474 94 277 475 121 86 476 68 280 477 135 100 478 127 85 479 123 84 480 68 280 481 127 85 482 127 85 483 126 279 484 121 86 485 119 147 486 118 281 487 112 278 488 118 281 489 74 101 490 112 278 491 144 87 492 100 87 493 82 87 494 71 88 495 70 282 496 118 89 497 72 91 498 77 283 499 108 92 500 113 284 501 80 285 502 119 96 503 80 285 504 75 94 505 119 96 506 79 97 507 110 286 508 108 98 509 118 281 510 70 102 511 74 101 512 70 102 513 64 287 514 135 100 515 64 287 516 127 85 517 135 100 518 95 87 519 143 87 520 105 87 521 93 103 522 126 288 523 127 104 524 89 106 525 99 106 526 142 106 527 124 109 528 74 289 529 135 107 530 135 107 531 68 290 532 134 108 533 116 110 534 117 291 535 86 111 536 88 113 537 89 292 538 90 114 539 89 116 540 141 293 541 91 117 542 144 119 543 92 294 544 91 120 545 88 122 546 87 295 547 92 123 548 88 125 549 82 125 550 99 125 551 127 126 552 64 296 553 65 127 554 143 129 555 145 297 556 103 130 557 98 132 558 97 298 559 102 133 560 146 87 561 16 87 562 48 87 563 148 87 564 149 87 565 147 87 566 149 87 567 47 87 568 147 87 569 146 87 570 48 87 571 148 87 572 47 87 573 15 87 574 147 87 575 145 106 576 96 106 577 101 106 578 140 135 579 115 299 580 107 136 581 99 106 582 96 106 583 145 106 584 139 138 585 131 300 586 78 138 587 101 140 588 102 301 589 104 141 590 139 143 591 140 302 592 132 144 593 96 125 594 95 125 595 98 125 596 81 146 597 113 276 598 119 147 599 38 149 600 37 303 601 5 150 602 66 304 603 46 154 604 67 153 605 46 154 606 14 305 607 73 152 608 14 305 609 72 306 610 73 152 611 136 155 612 134 307 613 68 156 614 97 159 615 84 308 616 86 309 617 86 309 618 47 158 619 97 159 620 47 158 621 149 158 622 102 158 623 80 125 624 113 125 625 126 125 626 126 125 627 93 125 628 80 125 629 93 125 630 48 125 631 80 125 632 111 160 633 122 310 634 120 161 635 115 163 636 140 311 637 139 164 638 121 166 639 133 312 640 122 167 641 74 169 642 124 313 643 125 170 644 129 172 645 138 314 646 137 173 647 124 175 648 134 315 649 136 176 650 76 178 651 106 316 652 129 179 653 90 182 654 147 182 655 15 182 656 15 182 657 79 182 658 87 181 659 79 182 660 77 317 661 87 181 662 107 183 663 78 318 664 131 184 665 100 87 666 143 87 667 95 87 668 122 186 669 133 319 670 130 187 671 114 189 672 138 320 673 129 190 674 130 192 675 133 321 676 121 193 677 1 195 678 33 196 679 32 195 680 45 197 681 44 322 682 12 198 683 120 200 684 130 323 685 94 201 686 104 203 687 109 324 688 105 204 689 82 125 690 95 125 691 96 125 692 10 206 693 11 207 694 43 206 695 46 70 696 63 72 697 62 208 698 45 209 699 62 208 700 57 65 701 8 211 702 9 325 703 41 212 704 46 214 705 45 326 706 13 215 707 43 64 708 58 66 709 53 217 710 41 39 711 52 38 712 51 218 713 39 220 714 40 219 715 51 218 716 39 220 717 50 221 718 49 222 719 38 223 720 49 222 721 55 224 722 36 226 723 37 225 724 55 224 725 35 228 726 36 226 727 54 227 728 35 228 729 56 229 730 61 230 731 33 232 732 34 231 733 61 230 734 32 73 735 33 232 736 59 233 737 37 235 738 36 327 739 4 236 740 141 130 741 142 239 742 100 238 743 142 239 744 145 297 745 143 129 746 128 240 747 137 328 748 83 241 749 115 329 750 85 29 751 117 260 752 117 260 753 116 245 754 115 329 755 116 245 756 83 330 757 114 331 758 116 245 759 114 331 760 115 329 761 106 332 762 76 244 763 108 34 764 115 329 765 114 331 766 106 332 767 110 28 768 78 30 769 107 243 770 107 243 771 115 329 772 106 332 773 106 332 774 108 34 775 107 243 776 76 244 777 83 330 778 116 245 779 75 333 780 80 334 781 92 246 782 80 334 783 16 182 784 92 246 785 16 182 786 146 182 787 91 182 788 91 182 789 146 182 790 147 182 791 28 182 792 75 333 793 92 246 794 87 181 795 77 317 796 31 335 797 87 181 798 31 335 799 30 336 800 27 182 801 28 182 802 92 246 803 29 337 804 27 182 805 92 246 806 87 181 807 30 336 808 25 338 809 87 181 810 25 338 811 26 339 812 24 340 813 29 337 814 92 246 815 22 341 816 24 340 817 92 246 818 87 181 819 26 339 820 21 342 821 87 181 822 21 342 823 20 343 824 22 341 825 92 246 826 23 182 827 92 246 828 87 181 829 18 248 830 23 182 831 92 246 832 17 182 833 17 182 834 92 246 835 18 248 836 87 181 837 20 343 838 19 247 839 63 344 840 84 308 841 97 159 842 109 249 843 69 253 844 60 345 845 109 249 846 60 345 847 59 346 848 62 347 849 63 344 850 97 159 851 57 348 852 62 347 853 97 159 854 109 249 855 59 346 856 61 349 857 109 249 858 61 349 859 56 350 860 58 158 861 57 348 862 97 159 863 53 158 864 58 158 865 97 159 866 109 249 867 56 350 868 54 351 869 109 249 870 54 351 871 55 352 872 53 158 873 97 159 874 52 158 875 97 159 876 109 249 877 50 251 878 52 158 879 97 159 880 51 353 881 51 353 882 97 159 883 50 251 884 109 249 885 55 352 886 49 250 887 104 158 888 102 158 889 149 158 890 109 249 891 104 158 892 48 158 893 104 158 894 148 158 895 48 158 896 48 158 897 93 252 898 109 249 899

    +
    +
    +
    + + + + -3.5 0 0.5 -3.5 4 0.5 -3.5 0 -0.5 -3.5 4 -0.5 3.5 0 0.5 3.5 4 0.5 3.5 0 -0.5 3.5 4 -0.5 -2.449998 0.06249982 0.3 -2.499998 0.1124998 0.3 2.499999 0.1124998 0.3 2.449999 0.06249982 0.3 2.449999 3.499999 0.3 2.499999 3.449999 0.3 -2.499998 3.45 0.3 -2.449998 3.5 0.3 -2.566542 0.01615011 0.5 -2.499998 0.1124998 0.4125 -2.460354 0.003356516 0.5 -2.449998 0.06249982 0.4125 2.465347 0.003356516 0.5 2.449999 0.06249982 0.4125 2.499999 0.1124998 0.4125 2.570442 0.01410555 0.5 2.570653 3.507365 0.5 -2.449998 0.06249982 -0.3 -2.499998 0.1124998 -0.3 2.499999 0.1124998 -0.3 2.449999 0.06249982 -0.3 2.449999 3.499999 -0.3 2.499999 3.449999 -0.3 -2.499998 3.45 -0.3 -2.449998 3.5 -0.3 -2.566542 0.01615011 -0.5 -2.499998 0.1124998 -0.4125 -2.460354 0.003356516 -0.5 -2.449998 0.06249982 -0.4125 2.465347 0.003356516 -0.5 2.449999 0.06249982 -0.4125 2.499999 0.1124998 -0.4125 2.570442 0.01410555 -0.5 2.570653 3.507365 -0.5 2.499999 3.449999 -0.4125 2.509674 3.568343 -0.5 2.449999 3.499999 -0.4125 -2.515752 3.568344 -0.5 -2.449998 3.5 -0.4125 -2.499998 3.45 -0.4125 -2.566191 3.518172 -0.5 2.499999 3.449999 0.4125 2.509674 3.568343 0.5 2.449999 3.499999 0.4125 -2.515752 3.568344 0.5 2.449999 3.599999 -0.3000003 2.499999 3.549999 -0.3000003 -2.499998 3.549999 -0.3000003 -2.449998 3.599999 -0.3000003 -2.449998 3.5 0.4125 -2.499998 3.45 0.4125 -2.499998 0 -0.3 -2.566191 3.518172 0.5 2.449999 3.599999 0.3000003 2.499999 0 -0.3 2.499999 3.549999 0.3000003 -3.5 0 -0.5 -2.499998 3.549999 0.3000003 3.5 0 -0.5 -2.449998 3.599999 0.3000003 3.062499 3.549999 -0.3000004 -2.499998 0 0.3 3.062499 0 -0.3000001 2.499999 0 0.3 -3.5 0 0.5 3.5 0 0.5 -3.062498 3.549999 -0.3000005 -3.062498 0 -0.3000002 -3.5 0.02500009 -0.45 3.062499 3.549999 0.3000004 3.5 0.02500009 -0.45 3.062499 0 0.3000001 -3.062498 3.549999 0.3000005 -3.062498 0 0.3000002 -3.5 0.02500009 0.45 3.5 0.02500009 0.45 + + + + + + + + + + -1 0 0 -0.7071079 -0.7071058 0 -0.4914328 -0.4914404 0.7190133 -1 0 0 0 1 0 0.4790179 -0.4790199 0.7355828 -0.6058115 0.6058108 0.515738 0 0.8284935 0.5599987 -0.7071071 0.7071066 0 0.7071078 -0.7071059 0 1 0 0 0.7975064 0 0.6033105 0.0771737 0.64055 0.7640287 0 -1 0 -0.6058115 0.6058108 -0.515738 0.4782425 -0.480796 -0.7349281 0.6165269 0.6165267 -0.4896831 -0.4914354 -0.4914371 -0.7190139 0 0.8284936 -0.5599986 0.7975074 0 -0.6033093 -0.7780221 0 -0.628237 -2.1912e-7 -0.7880899 -0.6155603 0.7071072 0.7071065 0 0 0 -1 0 -1 0 -0.7071036 -0.70711 0 0 3.89255e-6 1 0 0 1 -2.1912e-7 -0.7880899 0.6155602 0.7071036 -0.70711 0 -1 0 0 -0.7789177 4.71053e-5 0.6271261 -1.62189e-7 -1 0 7.41746e-7 0 1 -3.17891e-7 3.70874e-6 -1 0 3.89255e-6 -1 7.41746e-7 0 -1 0 7.68902e-7 -1 0 7.68902e-7 1 -9.00692e-7 0 1 -1 0 0 -0.7071078 -0.7071059 0 -0.4914354 -0.4914371 0.7190139 0.4782425 -0.480796 0.7349281 -0.0651189 0.6366786 0.7683749 0 0.8284941 0.5599979 -0.7071073 0.7071063 0 0.7071079 -0.7071058 0 0.7960138 -7.97699e-5 0.6052786 0.6165269 0.6165267 0.4896831 -0.06511884 0.6366788 -0.7683748 0.4790179 -0.4790199 -0.7355828 0.0771737 0.64055 -0.7640287 -0.4914328 -0.4914404 -0.7190133 0 0.8284941 -0.559998 0.7960132 -7.97698e-5 -0.6052795 -0.7789177 4.71053e-5 -0.6271261 0 -0.7880892 -0.6155612 -4.76837e-7 -1 0 -0.7071092 -0.7071044 0 3.27826e-6 3.35274e-6 1 3.27825e-6 2.98025e-6 1 0 2.91942e-6 1 -3.27826e-6 2.98022e-6 1 -3.27825e-6 3.35278e-6 1 0 -0.7880892 0.6155611 0.7071092 -0.7071044 0 -1 0 0 9.44843e-7 -1 0 0 0 -1 -0.7780221 0 0.628237 1.58946e-7 0 1 1.77415e-7 0 1 1.58948e-7 3.17892e-6 1 -9.00692e-7 0 -1 -3.17892e-7 0 -1 -3.36361e-7 0 -1 3.27825e-6 2.98025e-6 -1 3.27825e-6 3.35273e-6 -1 -3.27826e-6 2.98022e-6 -1 0 2.91942e-6 -1 -3.27825e-6 3.35278e-6 -1 1.58948e-7 3.17892e-6 -1 1.77415e-7 0 -1 1.58946e-7 0 -1 0 -7.7243e-7 -1 0 -7.7243e-7 1 -3.17893e-7 3.70874e-6 1 -3.36361e-7 0 1 -3.17892e-7 0 1 + + + + + + + + + + 0.4492188 0.2695313 0.4570313 0.078125 0.4570313 0.2695313 0.4570313 0.2773438 0.4492188 0.2695313 0.4492188 0.2773438 0.4570313 0.2851563 0.4648438 0.2773438 0.4648438 0.2851563 0.0625 0.0625 0 0.3125 0 0.0625 0.4570313 0.4101563 0.4492188 0.4179688 0.4492188 0.4101563 0.4570313 0.609375 0.4492188 0.4179688 0.4570313 0.4179688 0.1367187 0.6171875 0.4492188 0.609375 0.4492188 0.6171875 0.1289062 0.2773438 0.1210937 0.2851563 0.1210937 0.2773438 0.4570313 0.0625 0.4648438 0.0703125 0.4570313 0.0703125 0.4570313 0.0703125 0.1289062 0.0625 0.4570313 0.0625 0.4492188 0.078125 0.1367187 0.0703125 0.4492188 0.0703125 0.4570313 0.078125 0.4492188 0.0703125 0.4570313 0.0703125 0.1289062 0.2695313 0.1367187 0.2773438 0.1289062 0.2773438 0.1367187 0.078125 0.1289062 0.2695313 0.1289062 0.078125 0.1210937 0.2773438 0.1289062 0.0703125 0.1289062 0.2773438 0.1210937 0.0625 0.1289062 0.0703125 0.1210937 0.0703125 0.1367187 0.2695313 0.4492188 0.2773438 0.1367187 0.2773438 0.4492188 0.609375 0.4570313 0.6171875 0.4492188 0.6171875 0.1367187 0.4179688 0.1289062 0.4101563 0.1367187 0.4101563 0.1289062 0.4179688 0.1367187 0.609375 0.1289062 0.609375 0.4492188 0.4179688 0.1367187 0.4101563 0.1367187 0.4179688 0.4648438 0.6171875 0.4570313 0.625 0.4648438 0.625 0.1289062 0.4101563 0.1210937 0.4023438 0.1289062 0.4023438 0.1289062 0.625 0.1210937 0.6171875 0.1210937 0.625 0.4648438 0.4023438 0.4570313 0.4101563 0.4570313 0.4023438 0.1289062 0.625 0.4570313 0.6171875 0.4570313 0.625 0.1289062 0.6171875 0.1210937 0.4101563 0.1289062 0.4101563 0.4648438 0.4101563 0.4570313 0.6171875 0.4570313 0.4101563 0.4570313 0.4101563 0.1289062 0.4023438 0.1289062 0.4101563 0.1289062 0.6171875 0.1367187 0.609375 0.1367187 0.6171875 0.0625 0.625 0.1210937 0.625 0.4648438 0.625 0.0546875 0.6484375 0.0078125 0.6289063 0.0546875 0.6289063 0.0546875 0.3320313 0.0078125 0.3359375 0.0078125 0.3320313 0.0078125 0.3359375 0.0078125 0.625 0 0.625 0.4648438 0.0625 0.1210937 0.0625 0.0625 0.05859375 0.1289062 0.2851563 0.4570313 0.2773438 0.1289062 0.2773438 0.0546875 0.625 0.0078125 0.6289063 0.0078125 0.625 0.5859375 0.0625 0.5234375 0.3125 0.5234375 0.0625 0.5234375 0.3125 0.4648438 0.2851563 0.4648438 0.28125 0.578125 0.3164063 0.53125 0.6289063 0.578125 0.6289063 0.5234375 0.375 0.0625 0.3125 0.5234375 0.3125 0.5234375 0.05859375 0.0625 0 0.0625 0.05859375 0.1367187 0.1992187 0.3554688 0.234375 0.1367187 0.234375 0.0078125 0.3125 0.0546875 0.3320313 0.0078125 0.3320313 0.4648438 0.4023438 0.0625 0.375 0.5234375 0.375 0.0625 0 0.5234375 0.05859375 0.0625 0.05859375 0.4648438 0.2773438 0.4570313 0.0703125 0.4648438 0.0703125 0.1289062 0.078125 0.1367187 0.0703125 0.1367187 0.078125 0.0546875 0.3359375 0.0078125 0.625 0.0078125 0.3359375 0.3554688 0.234375 0.1367187 0.1992187 0.3554688 0.1992187 0.1445312 0.1640625 0.3554688 0.1992187 0.3476563 0.1640625 0.3554688 0.1992187 0.3554688 0.1640625 0.3476563 0.1640625 0.0625 0.3359375 0.0546875 0.3359375 0.0546875 0.625 0.1445312 0.234375 0.3476563 0.234375 0.3554688 0.2695313 0.5859375 0.3398438 0.5859375 0.6054688 0.578125 0.5976563 0.5234375 0.6054688 0.5234375 0.3398438 0.53125 0.3476563 0.1445312 0.234375 0.3476563 0.234375 0.3554688 0.2695313 0.4492188 0.2695313 0.4492188 0.078125 0.4570313 0.078125 0.4570313 0.2773438 0.4570313 0.2695313 0.4492188 0.2695313 0.4570313 0.2851563 0.4570313 0.2773438 0.4648438 0.2773438 0.0625 0.0625 0.0625 0.3125 0 0.3125 0.4570313 0.4101563 0.4570313 0.4179688 0.4492188 0.4179688 0.4570313 0.609375 0.4492188 0.609375 0.4492188 0.4179688 0.1367187 0.6171875 0.1367187 0.609375 0.4492188 0.609375 0.1289062 0.2773438 0.1289062 0.2851563 0.1210937 0.2851563 0.4570313 0.0625 0.4648438 0.0625 0.4648438 0.0703125 0.4570313 0.0703125 0.1289062 0.0703125 0.1289062 0.0625 0.4492188 0.078125 0.1367187 0.078125 0.1367187 0.0703125 0.4570313 0.078125 0.4492188 0.078125 0.4492188 0.0703125 0.1289062 0.2695313 0.1367187 0.2695313 0.1367187 0.2773438 0.1367187 0.078125 0.1367187 0.2695313 0.1289062 0.2695313 0.1210937 0.2773438 0.1210937 0.0703125 0.1289062 0.0703125 0.1210937 0.0625 0.1289062 0.0625 0.1289062 0.0703125 0.1367187 0.2695313 0.4492188 0.2695313 0.4492188 0.2773438 0.4492188 0.609375 0.4570313 0.609375 0.4570313 0.6171875 0.1367187 0.4179688 0.1289062 0.4179688 0.1289062 0.4101563 0.1289062 0.4179688 0.1367187 0.4179688 0.1367187 0.609375 0.4492188 0.4179688 0.4492188 0.4101563 0.1367187 0.4101563 0.4648438 0.6171875 0.4570313 0.6171875 0.4570313 0.625 0.1289062 0.4101563 0.1210937 0.4101563 0.1210937 0.4023438 0.1289062 0.625 0.1289062 0.6171875 0.1210937 0.6171875 0.4648438 0.4023438 0.4648438 0.4101563 0.4570313 0.4101563 0.1289062 0.625 0.1289062 0.6171875 0.4570313 0.6171875 0.1289062 0.6171875 0.1210937 0.6171875 0.1210937 0.4101563 0.4648438 0.4101563 0.4648438 0.6171875 0.4570313 0.6171875 0.4570313 0.4101563 0.4570313 0.4023438 0.1289062 0.4023438 0.1289062 0.6171875 0.1289062 0.609375 0.1367187 0.609375 0.5234375 0.625 0.5234375 0.6289063 0.0625 0.6289063 0.0625 0.625 0.0625 0.375 0.1210937 0.40625 0.0625 0.625 0.1210937 0.40625 0.1210937 0.625 0.5234375 0.625 0.0625 0.6289063 0.4648438 0.625 0.0625 0.6289063 0.0625 0.625 0.4648438 0.625 0.0546875 0.6484375 0.0078125 0.6484375 0.0078125 0.6289063 0.0546875 0.3320313 0.0546875 0.3359375 0.0078125 0.3359375 0.0078125 0.625 0.0078125 0.6289063 0 0.6289063 0 0.6289063 0 0.625 0.0078125 0.625 0 0.625 0 0.3359375 0.0078125 0.3359375 0 0.3359375 0 0.3320313 0.0078125 0.3359375 0 0.3320313 0.0078125 0.3320313 0.0078125 0.3359375 0.1210937 0.0625 0.1210937 0.28125 0.0625 0.05859375 0.1210937 0.28125 0.0625 0.3125 0.0625 0.05859375 0.0625 0.05859375 0.5234375 0.05859375 0.5234375 0.0625 0.0625 0.05859375 0.5234375 0.0625 0.4648438 0.0625 0.0625 0.05859375 0.0625 0.05859375 0.4648438 0.0625 0.1289062 0.2851563 0.4570313 0.2851563 0.4570313 0.2773438 0.0546875 0.625 0.0546875 0.6289063 0.0078125 0.6289063 0.5859375 0.0625 0.5859375 0.3125 0.5234375 0.3125 0.4648438 0.0625 0.5234375 0.0625 0.4648438 0.28125 0.5234375 0.0625 0.5234375 0.3125 0.4648438 0.28125 0.0625 0.3125 0.1210937 0.28125 0.1210937 0.2851563 0.0625 0.3125 0.1210937 0.2851563 0.4648438 0.2851563 0.5234375 0.3125 0.0625 0.3125 0.4648438 0.2851563 0.578125 0.3164063 0.53125 0.3164063 0.53125 0.6289063 0.5234375 0.375 0.0625 0.375 0.0625 0.3125 0.5234375 0.05859375 0.5234375 0 0.0625 0 0.1367187 0.1992187 0.3554688 0.1992187 0.3554688 0.234375 0.0078125 0.3125 0.0546875 0.3125 0.0546875 0.3320313 0.5234375 0.375 0.5234375 0.625 0.4648438 0.40625 0.5234375 0.625 0.4648438 0.625 0.4648438 0.40625 0.1210937 0.4023438 0.1210937 0.40625 0.0625 0.375 0.5234375 0.375 0.4648438 0.40625 0.4648438 0.4023438 0.4648438 0.4023438 0.1210937 0.4023438 0.0625 0.375 0.0625 0 0.5234375 0 0.5234375 0.05859375 0.4648438 0.2773438 0.4570313 0.2773438 0.4570313 0.0703125 0.1289062 0.078125 0.1289062 0.0703125 0.1367187 0.0703125 0.0546875 0.3359375 0.0546875 0.625 0.0078125 0.625 0.3554688 0.234375 0.1367187 0.234375 0.1367187 0.1992187 0.1445312 0.1640625 0.1367187 0.1640625 0.1367187 0.1992187 0.1367187 0.1992187 0.3554688 0.1992187 0.1445312 0.1640625 0.3554688 0.1992187 0.3554688 0.1640625 0.3476563 0.1640625 0.3476563 0.1640625 0.1445312 0.1640625 0.3554688 0.1992187 0.1445312 0.1640625 0.1367187 0.1640625 0.1367187 0.1992187 0.3554688 0.1992187 0.1445312 0.1640625 0.1367187 0.1992187 0.0625 0.3359375 0.0625 0.3320313 0.0546875 0.3359375 0.0625 0.3320313 0.0546875 0.3320313 0.0546875 0.3359375 0.0625 0.6289063 0.0625 0.625 0.0546875 0.625 0.0625 0.625 0.0625 0.3359375 0.0546875 0.625 0.0546875 0.625 0.0546875 0.6289063 0.0625 0.6289063 0.3554688 0.234375 0.3554688 0.2695313 0.3476563 0.234375 0.3554688 0.2695313 0.1367187 0.2695313 0.1445312 0.234375 0.1367187 0.2695313 0.1367187 0.234375 0.1445312 0.234375 0.578125 0.3476563 0.578125 0.3398438 0.5859375 0.3398438 0.5859375 0.6054688 0.578125 0.6054688 0.578125 0.5976563 0.578125 0.5976563 0.578125 0.3476563 0.5859375 0.3398438 0.53125 0.5976563 0.53125 0.6054688 0.5234375 0.6054688 0.5234375 0.3398438 0.53125 0.3398438 0.53125 0.3476563 0.53125 0.3476563 0.53125 0.5976563 0.5234375 0.6054688 0.3476563 0.234375 0.3554688 0.234375 0.3554688 0.2695313 0.3554688 0.2695313 0.1367187 0.2695313 0.1445312 0.234375 0.1367187 0.2695313 0.1367187 0.234375 0.1445312 0.234375 + + + + + + + + + + + + + + +

    13 0 0 22 0 1 49 0 2 13 1 3 51 1 4 12 1 5 50 2 6 49 2 7 24 2 8 0 3 9 3 3 10 2 3 11 44 1 12 30 1 13 29 1 14 39 0 15 30 0 16 42 0 17 36 4 18 28 4 19 38 4 20 57 5 21 60 5 22 58 5 23 20 6 24 22 6 25 21 6 26 21 7 27 18 7 28 20 7 29 11 4 30 19 4 31 21 4 32 22 8 33 11 8 34 21 8 35 58 9 36 15 9 37 57 9 38 9 10 39 58 10 40 17 10 41 60 11 42 17 11 43 58 11 44 18 12 45 17 12 46 16 12 47 15 13 48 51 13 49 57 13 50 28 8 51 39 8 52 38 8 53 32 9 54 47 9 55 46 9 56 47 10 57 26 10 58 34 10 59 44 13 60 32 13 61 46 13 62 39 14 63 37 14 64 38 14 65 46 15 66 48 15 67 45 15 68 35 16 69 34 16 70 36 16 71 43 17 72 42 17 73 44 17 74 35 18 75 38 18 76 37 18 77 34 19 78 48 19 79 47 19 80 41 20 81 39 20 82 42 20 83 46 21 84 43 21 85 44 21 86 36 22 87 26 22 88 25 22 89 2 23 90 33 23 91 35 23 92 80 24 93 55 24 94 65 24 95 63 25 96 53 25 97 54 25 98 32 26 99 29 26 100 53 26 101 18 27 102 16 27 103 0 27 104 50 28 105 57 28 106 51 28 107 67 29 108 55 29 109 56 29 110 6 10 111 5 10 112 4 10 113 5 27 114 50 27 115 24 27 116 83 4 117 76 4 118 82 4 119 7 4 120 1 4 121 5 4 122 4 4 123 2 4 124 0 4 125 79 30 126 68 30 127 70 30 128 68 24 129 63 24 130 54 24 131 43 23 132 3 23 133 7 23 134 64 24 135 73 24 136 72 24 137 24 31 138 22 31 139 23 31 140 9 22 141 19 22 142 8 22 143 61 32 144 56 32 145 53 32 146 80 10 147 75 10 148 74 10 149 27 33 150 68 33 151 30 33 152 80 34 153 65 34 154 14 34 155 61 35 156 12 35 157 15 35 158 10 36 159 13 36 160 77 36 161 71 37 162 69 37 163 8 37 164 59 38 165 62 38 166 28 38 167 26 39 168 31 39 169 74 39 170 13 40 171 10 40 172 22 40 173 13 41 174 49 41 175 51 41 176 50 42 177 51 42 178 49 42 179 0 3 180 1 3 181 3 3 182 44 41 183 42 41 184 30 41 185 39 40 186 27 40 187 30 40 188 36 4 189 25 4 190 28 4 191 57 43 192 52 43 193 60 43 194 20 44 195 23 44 196 22 44 197 21 45 198 19 45 199 18 45 200 11 4 201 8 4 202 19 4 203 22 46 204 10 46 205 11 46 206 58 47 207 14 47 208 15 47 209 9 10 210 14 10 211 58 10 212 60 48 213 16 48 214 17 48 215 18 49 216 19 49 217 17 49 218 15 13 219 12 13 220 51 13 221 28 46 222 27 46 223 39 46 224 32 47 225 31 47 226 47 47 227 47 10 228 31 10 229 26 10 230 44 13 231 29 13 232 32 13 233 39 50 234 40 50 235 37 50 236 46 51 237 47 51 238 48 51 239 35 52 240 33 52 241 34 52 242 43 53 243 41 53 244 42 53 245 35 54 246 36 54 247 38 54 248 34 55 249 33 55 250 48 55 251 41 56 252 40 56 253 39 56 254 46 57 255 45 57 256 43 57 257 36 22 258 34 22 259 26 22 260 37 23 261 40 23 262 6 23 263 2 23 264 3 23 265 48 23 266 2 23 267 48 23 268 33 23 269 37 23 270 6 23 271 35 23 272 6 23 273 2 23 274 35 23 275 80 58 276 74 58 277 55 58 278 63 59 279 61 59 280 53 59 281 29 60 282 30 60 283 54 60 284 54 61 285 53 61 286 29 61 287 53 62 288 56 62 289 32 62 290 56 63 291 55 63 292 32 63 293 55 64 294 31 64 295 32 64 296 16 27 297 60 27 298 0 27 299 60 27 300 1 27 301 0 27 302 4 27 303 23 27 304 20 27 305 4 27 306 20 27 307 18 27 308 0 27 309 4 27 310 18 27 311 50 65 312 52 65 313 57 65 314 67 66 315 65 66 316 55 66 317 6 10 318 7 10 319 5 10 320 23 27 321 4 27 322 24 27 323 4 27 324 5 27 325 24 27 326 1 27 327 60 27 328 52 27 329 1 27 330 52 27 331 50 27 332 5 27 333 1 27 334 50 27 335 83 4 336 78 4 337 76 4 338 7 4 339 3 4 340 1 4 341 4 4 342 6 4 343 2 4 344 79 67 345 77 67 346 68 67 347 68 68 348 77 68 349 63 68 350 7 23 351 6 23 352 41 23 353 6 23 354 40 23 355 41 23 356 45 23 357 48 23 358 3 23 359 7 23 360 41 23 361 43 23 362 43 69 363 45 69 364 3 69 365 64 24 366 66 24 367 73 24 368 24 70 369 49 70 370 22 70 371 9 22 372 17 22 373 19 22 374 61 24 375 67 24 376 56 24 377 80 10 378 81 10 379 75 10 380 27 71 381 62 71 382 70 71 383 70 72 384 68 72 385 27 72 386 68 73 387 54 73 388 30 73 389 14 74 390 9 74 391 80 74 392 9 75 393 69 75 394 81 75 395 80 76 396 9 76 397 81 76 398 61 77 399 63 77 400 12 77 401 63 78 402 13 78 403 12 78 404 65 79 405 67 79 406 15 79 407 67 80 408 61 80 409 15 80 410 15 81 411 14 81 412 65 81 413 63 82 414 77 82 415 13 82 416 77 83 417 79 83 418 10 83 419 79 84 420 71 84 421 10 84 422 11 23 423 10 23 424 71 23 425 69 23 426 9 23 427 8 23 428 8 85 429 11 85 430 71 85 431 25 27 432 26 27 433 59 27 434 62 27 435 27 27 436 28 27 437 28 86 438 25 86 439 59 86 440 31 87 441 55 87 442 74 87 443 74 88 444 75 88 445 26 88 446 75 89 447 59 89 448 26 89 449

    +
    +
    +
    + + + + + + 0.04166662 0.08333331 0.125 0.1666666 0.2083333 0.25 0.2916666 0.3333333 0.375 0.4166666 0.4583333 0.5 0.5416667 0.5833333 0.625 0.6666667 0.7083333 0.75 0.7916667 0.8333333 0.875 0.9166667 0.9583333 1 1.041667 1.083333 1.125 1.166667 1.208333 1.25 + + + + + + + + 7.54979e-8 -1 0 1.82539e-7 1 7.54979e-8 0 1.75 0 0 1 0.01755606 0 0 0 1 0.08690225 -0.9962168 0 1.82539e-7 0.9962168 0.08690225 0 1.75 0 0 1 0.01755606 0 0 0 1 0.3064026 -0.951902 0 1.82539e-7 0.951902 0.3064026 0 1.75 0 0 1 0.01755606 0 0 0 1 0.5796046 -0.8148978 0 1.82539e-7 0.8148978 0.5796046 0 1.75 0 0 1 0.01755606 0 0 0 1 0.8148978 -0.5796046 0 1.82539e-7 0.5796046 0.8148978 0 1.75 0 0 1 0.01755606 0 0 0 1 0.951902 -0.3064026 0 1.82539e-7 0.3064026 0.951902 0 1.75 0 0 1 0.01755606 0 0 0 1 0.9962168 -0.08690242 0 1.82539e-7 0.08690242 0.9962168 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.86265e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.78814e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.78814e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.78814e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.78814e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.78814e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.78814e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.78814e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 + + + + + + + + LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR + + + + + + + + + + + + + + + + + + 0.04166662 0.08333331 0.125 0.1666666 0.2083333 0.25 0.2916666 0.3333333 0.375 0.4166666 0.4583333 0.5 0.5416667 0.5833333 0.625 0.6666667 0.7083333 0.75 0.7916667 0.8333333 0.875 0.9166667 0.9583333 1 1.041667 1.083333 1.125 1.166667 1.208333 1.25 + + + + + + + + 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0.040625 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0.1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0.121875 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0.125 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0.128125 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0.15 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0.246175 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0.4424 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0.712725 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 1.0312 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 1.371875 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 1.7088 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 2.016025 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 2.2676 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 2.437575 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 2.5 0 1 0 0 0 0 1 0 0 0 0 1 + + + + + + + + LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR + + + + + + + + + + + + + + + + + + 0.04166662 0.08333331 0.125 0.1666666 0.2083333 0.25 0.2916666 0.3333333 0.375 0.4166666 0.4583333 0.5 0.5416667 0.5833333 0.625 0.6666667 0.7083333 0.75 0.7916667 0.8333333 0.875 0.9166667 0.9583333 1 1.041667 1.083333 1.125 1.166667 1.208333 1.25 + + + + + + + + 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -0.040625 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -0.1 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -0.121875 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -0.125 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -0.128125 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -0.15 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -0.246175 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -0.4424 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -0.712725 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -1.0312 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -1.371875 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -1.7088 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -2.016025 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -2.2676 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -2.437575 0 1 0 0 0 0 1 0 0 0 0 1 1 0 0 -2.5 0 1 0 0 0 0 1 0 0 0 0 1 + + + + + + + + LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR + + + + + + + + + + + + + + + + + + 0.04166662 0.08333331 0.125 0.1666666 0.2083333 0.25 0.2916666 0.3333333 0.375 0.4166666 0.4583333 0.5 0.5416667 0.5833333 0.625 0.6666667 0.7083333 0.75 0.7916667 0.8333333 0.875 0.9166667 0.9583333 1 1.041667 1.083333 1.125 1.166667 1.208333 1.25 + + + + + + + + 7.54979e-8 -1 0 1.82539e-7 1 7.54979e-8 0 1.75 0 0 1 0.01755606 0 0 0 1 0.08690225 -0.9962168 0 1.82539e-7 0.9962168 0.08690225 0 1.75 0 0 1 0.01755606 0 0 0 1 0.3064026 -0.951902 0 1.82539e-7 0.951902 0.3064026 0 1.75 0 0 1 0.01755606 0 0 0 1 0.5796046 -0.8148978 0 1.82539e-7 0.8148978 0.5796046 0 1.75 0 0 1 0.01755606 0 0 0 1 0.8148978 -0.5796046 0 1.82539e-7 0.5796046 0.8148978 0 1.75 0 0 1 0.01755606 0 0 0 1 0.951902 -0.3064026 0 1.82539e-7 0.3064026 0.951902 0 1.75 0 0 1 0.01755606 0 0 0 1 0.9962168 -0.08690242 0 1.82539e-7 0.08690242 0.9962168 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.82539e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.86265e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.78814e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.78814e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.78814e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.78814e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.78814e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.78814e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 1.78814e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 + + + + + + + + LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR LINEAR + + + + + + + + + + + + + + + + + + + 1 0 0 -2.5 0 1 0 0 0 0 1 0 0 0 0 1 + + + + + + + + + + + 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 + + + + + + + + + + + + + 1 0 0 2.5 0 1 0 0 0 0 1 0 0 0 0 1 + + + + + + + + + + + 1 1.19209e-7 0 2.38419e-7 -1.19209e-7 1 0 1.75 0 0 1 0.01755606 0 0 0 1 + + + + + + + + + + + + 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 + + + + + + + + + + + + + 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/resources/assets/hbm/sounds.json b/src/main/resources/assets/hbm/sounds.json index 4a0266d81..189483beb 100644 --- a/src/main/resources/assets/hbm/sounds.json +++ b/src/main/resources/assets/hbm/sounds.json @@ -59,6 +59,9 @@ "door.wghStart": {"category": "block", "sounds": [{"name": "block/door/wgh_start", "stream": true}]}, "door.wghStop": {"category": "block", "sounds": [{"name": "block/door/wgh_stop", "stream": true}]}, "door.alarm6": {"category": "block", "sounds": [{"name": "block/door/alarm6", "stream": true}]}, + "door.sliding_door_shut": {"category": "block", "sounds": [{"name": "block/door/sliding_door_shut", "stream": false}]}, + "door.sliding_door_opened": {"category": "block", "sounds": [{"name": "block/door/sliding_door_opened", "stream": false}]}, + "door.sliding_door_opening": {"category": "block", "sounds": [{"name": "block/door/sliding_door_opening", "stream": false}]}, "item.techBleep": {"category": "player", "sounds": [{"name": "tool/techBleep", "stream": false}]}, "item.techBoop": {"category": "player", "sounds": [{"name": "tool/techBoop", "stream": false}]}, diff --git a/src/main/resources/assets/hbm/sounds/block/door/sliding_door_opened.ogg b/src/main/resources/assets/hbm/sounds/block/door/sliding_door_opened.ogg new file mode 100644 index 0000000000000000000000000000000000000000..4e9f5cd4e259c862f970205b972dc11682706de7 GIT binary patch literal 13499 zcmaia1z1&2xA&$~K=Ke$Qio7FMFGh}AG*7{6(yuZ1SAd(N_R;qNJ;0R58d4gDk}AD z^#9)X{qFZY_wHwyXZEa_wPvmLTQh6+LEX+y3qS|{d14g*Hs)93exT8#`MP;pI(Xf5 zp~;s2GsF+=Pvaw+`pwM$dTwUkP>^B5`y>+A|JT!x@s|-7NY{68x4)7X79XuMR0{|od zV9o+1O0-pi79esso~9xcZ(7~FuTl}Ox*=B4d_DiF7zM2<000vR=D>^1+fs5wirGQf zV?DFQ9MnXM7;&OBSH$o-zOz}m7SRY)x>v;^J2yKIO;}a2zctoVJdu6x>l7f*e1`tkYd}J z|5SK?^k4+nB7;qBO(KJP!#)yPnCc0#`l}Wr5DcmbD8!R1y(b@hPd7ZqqJF}yNhUNV zAg86RsslbgCVIX$)4o2_z5xcQ;YJ?=3_gY%&4inrgh;nqm`o<)TcnQqVggm7}TgOU=j0XF%2A9Da?!g+uKSMyDV&1F< z$aY9C{C|qAL9)&NUZm{%H~}fpmc1Tyy&f!baF$+AZk#_B?gK!dO2N6iJp~oK1be+6 zfJMPuwjZG~{7r@UUrxAjI{--W(RF*!^@G-c^GtXO>3K;`d#O%?rns@l|NOl8gBMT{ zrYzfJ$6#E6IEz1K2?p6ha&R9L{*?p{h|JkwOdm}@9Tp=>-^?x{&zSi9N;`wSu_QI) zj|ZKR)a#%xp#y2%*=eKcUPvXv^n$;wr=%G;6(!?fAN6)7Q4h5RIL=`_9j9bgADnA2 zn!Z)sNDj7MAu`zO8@2!P`v(>!rkTjkVyobcS92Lojd&(t>z8%r(JgXX9a#SrIRF?mVSi#0VHwTWn;EJmgZJ0L|B4(B^4@s5 z{&*JU8Wz=Y?%@+b^;5wyGC55_RV@mWF$$jvN*gU0^a1`YoN z%-^tCp7!~V$hip-X0h0H#RSZMM@}|J?3!roU8MvTg9Nsx$#$>OOVZx%mgM69x5%-N zDoTwiij3NhjOBQh?C>hRv@zFtpmM+Ie=YwNISQUEU;!gX&XeUoBBz~??lBlmHQcJF ze|3}`0}bjeNA;f$0D$&5LghdEh$ft83NADS=h4xY{GTHRq)rK{P6&dAO#%RF0JsY} zIgBLAGfu`;QXiLZiv=r33_GU_5>`YaKqz*L**i{}UGigsSSR7>3Y>#NRwXosRV0@2 zR!5<+(xxabxb0yAng9^Y*T>fd@kA>1XUih_@UjqnV(bNp<4RDTWQYKiwUE?mJu`1y zsXre9QI5*WC$)N20ZsyNz(0bV(Kre;DRKa?B!uHb!x3;KbSn-%z_&>Uhlv$sY9YmN z?}QETVP}PsKnv)!kkDSbup#Nq%+OJ34gg?mM+5(4I0UWb01|d!#hqm&QBawjRhdj~ zgxqGDOm#X*a9B`CQ(I?{OlL}4XP#13r-4N8|e^{xK|6wJpGu8+!wV`HGLW8iCJ zaHgY&3Qz{ATB@@YIywzHv)^5Gk^@$~bxibZX3umCC+?~?g(t#Sg(#rCInyRu&=Y5b`SzKDfU0TXr zR#Sdn%DvxET-sDIP*a^zS+?JBOwh@_-{f9eSy@(da6@gX*zfV!Z{mGk2pude+iNOm zYI5Cg@)&Axq01}XYvmm5s2->}-fy~J=fk9_kaXtVt z82>3Y;zrj9POEjL1^aqVxgJ@F#unJ6gDWkq$S5t_uW{w-EZ>*W)Cn+2vRM`}F`#l? z7Kt^Qj>#?EYvLSi1qJaf^tjP|;-xd07X}GgH5CK_R()r9BTn-@9_QlgKYa442=RK~ zfY?C0!3NoYR1Omtdax)OfX%c`u0_Jx&FD=6-($?z=EG+4QiFBVAv9o)Oo&O&9!Bk0 zrM}EWQkXpyF%HMcDbRp9B!TAvaGlf&iOtm z0TjM9XBaJp7`FsjCBUP>8Ai^Hg~^T}Aszm@erwLlS?I^4Vfl>=W$=XXdeit_7uFKwC{$-i8ke;mDF%ghqr`Ao3n-O2 zdAfC-pioc?9x(6t6Sml@ue#CjZyDeLvS1YVFoOFIHgy3cbQF?LZbiae00I3{KyC%v z7UD%D!%1z0l;(hjX}~z4;Uq96)&elW#is-FIpA_Ee@d@m;ytO^k0Hv~9rml5oP z7I@zf5O90|;B*HwqH0ZRuaNj`aL+^sp5E-4Ffp7Qggmr|5s?4~#epi7coKrP>(;#? zAPf%}L1;J&`I3OJ>M?u_tLWBus$?oaS(Xb;gCMToN_T>R1gGIf09e4n0je=*<%HQG zc$|XPf0PJj1kD)D7eQ_r#kZaL7#G@|3g$S4kek#4JY;Y3k7$qpzV?6wv2D7WD$^_W z--*e;TX_E;B}%|N>$Wa^CH#(9Kfr(ycD!5|oJ7E#fo%}G+JvonIVjQd>N}x~>K43&6 z3}Ib z9MU~wS6>Q=CP2m23F^m*U~Uv zSez$`<-ObRC^3ciHj32UkSPRT0l603X(!V%T2npC3dYx2j?jg1#D|P~me>0Zfj3G< zT!5E^N#KPP8abp76cmOD1+uH#NBN8~F*iv0@d@#J!@R~FFaVOUKEn7&eL_;Q(igdw z;()%fc^^(NVN6WjYl0pAb}W+xAI307Os2?gH1fFMP%_siYq!)te#R4*DUNExPPxIn19-TFUakW{*rGl$Twor*K(MleEjzX1vt5&oa~$eB7AFe98h)+4k!n| z$T1gGR7B+K_lNu^<@J7rkl5EU&D#5PrDxH@VnABbKEWX!Zkk zH=pDAkbU8UrMXwa#Aqs}lEms6ar=*6h)&IwhJ07Vaedxj&8MsqG^&+gyWyRY`<3q_ z{r!x4PaZWgz15Xg!O(^i5WlG@jI3$V%g(HSn+MxSyCov|XInF`c#wUD8g`e}?>zr4ym_A4Eqi!MpiU68l`iU@0rZV5;nGK| zDVMWluxe=;=q|?*Th6S+l&w zA&VcMV_jebFKICtP2Smqa{0yMS6~NIWY6`-e9;Z5bVY~WaiyaLtzkB&sGBLo ze6FRBM$;B#7{IGd6gG4it=UxK?AVNWKV9PRVctQ1sNL5&gfWLXuvILCqXj3(%sQdB zDe^qV#&D?DxOGpo*g+yiy&14Koo(J(63qKDipZfFEs{G=^jYoo%Tza>uBEZ6k*FN^ zXNcpaUFk`WNhVwS1Sir7P4Qe<<=ew_om2Nb^-`=sFN*(CQhdGFB` zQ>7>})uUA#|0E^jvU|GaWP-4DH({p@fc^BV8!>xJVS4}jh5gIluPF%eey!xfc(y{H z61pp15sNy8M~dpS4$+LIQ&KIXOjY_BGB zmch#Kh;&Dd)FpNC^dKaC(_w*%#PWjc@u8aE6MjI2Q#k`CWLT(XsSPc5z1+Oa0B*n+ zf6W$n;wDKV!TZg7#=0!#M>~cy{Ur)}z~}w!K5YU7qqf1Cj>wk4J0zKEfYYpWydc`c zjEHJvbjDdokmz-$0tUB6x&<$%ss9z4RYfajzwpCiq;UMviG0rwhxFU21ljAihMioG5!e>eqS!_Bs6B5PB6 z2Ut^fJHKHHrxEzFi>A$qIzKtz*|2qB9uXEZ+@Gk?c6Qc`KQNL&s#mZAAGD3wwr0`k z=m&MwIl?wplc=*F%n5#xkk@sFoIw2EYI*MnSM>T9h))o;O8??vrZ}ovfzJHeAHE8V z!UXs^=&G3?uC<3f3q-OPzhMeFQoY4n=rI3LmWwipB=DO!ZR~;i^wX|FkXc-~{G5<)y*4FpXs6HRZmJt5Z0dQTb-U zfQMZ?zoJMv6U_>1%Jb2(P}QfCjj#J?t<|{JQuH|A-Je9a#(qs}P*V=Xi!lJr-jz_9k@2LkVTgGoI zb^H_v)z=7bIJ+=eNhrfqVSb%ZRG6(n00f`!B|ttRXOeAgDlcCcUVqA35-TUzqn;|)p$sXkp75?@BeC$2wK(lq+l zuJdUTw5|C~(Ai~M92)zD(;Z)_Vd+(zkkJ$`Xv>gMq4DZ{92xW?_aZm2<2{IbBv{-q z-mt;JWrJ09bVOtl^b9#^{`pLKW9Rpa`=r@!&M@X1TBvNl<7*saDv|zg2z8#m} zub)KwUH2|ELNla}xzUl!_hsl00TtDT5M^{;&cPG)66>j$d~;Jbvqow}*)M6wU%zi- zVkC}}@<(C0$S81y&N1FE|Gwbs;%$eS_yNO$-v~u{-&WOqqfr9#dQ2m6>eZUr#{HF; zZ^^MH{`LDFbFCZ;kp)cX)^nvB{tV>_!NZ0aJy8zKDFT`b@c1%!pHw$qdOn5vioE@m z!A*^YpE|Cz=QV1SJgs%5s#>J%7M1;7lijU|Br_5j{w%yB%(qYrLMbz2X}ZO#GAP!?iZAQowo6r;#37`>}Sm zV|_2Dqk4@rNc~;&$eTUyh09fOwT+Xx(XWw{B#fr{(H~R0Za0VPH|;jIek@iILyv%N zcAUOolBd3KvKK{BmQXT8kgF22s%_Nr!k!&0Qji%SC?DH)|br~twG6FRNUwSDwF-eV%C@r>Z^MX%MfHm3x(cgB5` zodb4moDzv;W-qMk=UebNIM=JfwW%4UM~NP#kMBnkSQMVV*LqUa{iG$lR#O9Zgmp-q zCO~KWNvz^!lW%3TJbP`716M!uwf2uAl(#}d@NKPaoivQ{p}nz%52>LoE7W-h{0q2+ zMU=C(3e*U!XH^^$LT!9#Z=u6j%8m-{_}Beu$!?BV8ZG)tNtA|so%^$IGVYt^bAO<3 zGXHQb^<&xR=bakOmj?R>gAIv%*QJ5l$$8HMs@|}Tvaz3q>J(vR{ZN=L$8E6073mlv zi|}t=Y&WL!RA;r4w8JeJ*vEdUfx4n(kaOfDXj?Bcde-=eX;ChmL5(H6{IDcYeUy$Ok`CR^8?V(9ec^a_PH)P9Je1%@|^2d=2cd1kGnEIf0 zY1UXd$yMXe?hL$w%^;5)t%xsPg#E4vFXoT-%D;` zfZL;TJR0sL6k~5JEeH3bb#syf0mGJfUmg#~yG9bFv6nMhJmP8&I-ldp=5stO+RS_F zua_(yu#WrrRLE*9xI=A6`Mm6h6pOjXo%p)T=Db-{#cmsjd6=R9NP{_$wq&!Aj1 ze8=vEJ?aeGp>zR84n309cJ&(|2j)j_%yw2 z(tL~(yg<5oobGJD&S2AWnWkW`UyGyo6k1fGTfZW)Lc$-yl@cvmIoK-_ zTSP+{lGg2%$<5NrQX}pv#E+rS?)~doMj)wy(%@w?P0amc#|f4+l~G9_k^lsBR* zree!pNm_Joz}t7_+%e(V$T-8>-+r}=gij4BH(jmQ`&@_Qu4>B~+-Q40+kPrPP%i$& zj`a4Ner2-pLHz8}nL3!v@JUKxpRjn+0%YZrybH7BbkVtqZ9H{|x@xgD@h_&YYz+-5 zP0wQ9Vy1QBDhA4on@K4UEMtjr6HN0aW{aG;Jyzz`g9|t8$nm-?h3nt{)%^f1OUL?W zFQu&EuBvk>M<@Du3`q;`*=cgzokl~wXWQ=qg)Ta8{6%@r(K$8`M z^)b-n{&eh(cvrrr{+-z;XFpad*xR1{@V*=gg3goCzKTBZd|T&VdAxfu^h=OE5yg#t z%y%c;{wbk2!+I?AlXWRqMcbI-5teIA>CAc;KIeE(?O~bYKZ3xlIZvm}}vKx3^ z7^Gj81se#&u{r|bN)Ctm%sIsd_m|96<6Wq|+M3Vy9TuLv6LvKyeA_diQkap)fH2!S zferYayj7X+u|Uxrk8!Z*IrO|NiatJ}-knK9^{|L{u%+=zxO4*pZoZ;HJ2W=9HSHA<5D3yn?64u~L)pBEYYg{a1jnzQFtQnVNv=ZQ4eYhHxsO$NsC zIYp`rVBx=`-531*P}98RfrYh7FlnLkcvXy(!&tenN@BH)W zBI4hlE-=96AO`sq>k%ghJCuW+U+8FVc#?+;%EKcdBz*6_h{#mugrM+b*Jv+lWL#K* zFodj_7HG8-epA(`#^oyPEw!2-$-jHy? z{Wk0VYrPQNO_W)K5h1e3^r@S?p4ls-gM1q+ZT@CiR?jvqBInw3Z{z^1+TM$xUDe3b zVeoU=7ui{S6nE(9OlGu@byaLXiL2WD2O0hY4iOBCVw0?lRJTX6{(=M*tth zZtlr^y}0FPzi{~+4wW^@%d-0!SdWraxMSi$;Jk(xSVBrhj^5m?xTV>b78mn&}xU1}e{Hrz@ z<&g3bM}Tf^)PR~5%H7>)zzU(Of{7A4!9L&G#W3&@w%kpQXvKX01M=%P5#d@Fp1yUc zV1l5!8d~q^d#)iHQQeJ)-=Y%;TsRsXfBKmh1fAsL3e#fleS0mRT*wr4njl5c8Im4>z9#MsDV;nYI zcp4|;`b3m^r}8b#t&f`6%83RIpQQsRUP}D9|+7^;XL5{gzLUGTmB`ieazt z%Hy!P>vt6Xw}FMr2T^pKy9vh^0(jO~cIJG?vU~Ev66*+&fDLJ?USOOl^ttO zyyIf4c*#!FIXK5TM_H$XWB!8QW9{&H*4D4h;t$od)c6nqU^VKVHKsB;Qda{2P{BmCLW)%Ab^$iLkkVCVgQ5)pq(kG=fC`6+dc}JZ7;K|bphYv1>E`)D?C5TTydhd3SewjPD)C@-$dX0q>a;-QuzDb?XM5sk07Ustt_Gj5F);r>RMs4a7Fr% zr|_OFsqkMz8ZbTJr7tWg)NrhjU#i-=ULJZu5=3=GzA4#(Z(N!%F>- zNJ)&qvrbtoL5z-`{WX7X22SETBaq6IQgYU~Fl<_&dam^{Nn+cpl40=Cuhz=}C!9dG zhFdidDuKc*b-Oa`V6S~qp(?YYp;P7Ox55PRi^HXyHKEx{ev5Slg9R5)(Z_rA-Y(%` zrVWRqqrTxI+n8P_%&1%@FOxTk7OBYBXUiq|>K;HHf7OT!ye8{9z&*+14XN0+;G5P( zCLu3YFvKP;%vN;E$Zv}i;0EVvB$P9YNXL6!hw@fN=o+Lv@F3>F%^D``3g>bpOVe|jn9wz zs%l^KB4($oeFPF1f&&NTzwrJtTPxXXSv#)st}rZm;lNFC;G~+?K&!uGHu_8|-|P88 z6t$tyS|Il2tDVtjUO_bd9A7C`9S6?+UH!{0i&QKhlfB-aDkMi*VjmuwoSo@#v|An| zS*0GEB;+5~Tbw)f8>7NGuWaK!n3pBLY7SyEdD(qi#fklrYIx|uw6@lh;9EcQgA;&r zP5-Y6+`!P`D85DuzLbKQ;@uE}SY=v2k@^;y$*F8VT-V>5x3o5iOM*VXzizk=0#5# z3TPiu%p%tD9(i&6A%VoVxjVDv^25=sG~LP6r-?rIf_>_J_x)g+0YBzPitDVM^OtVbIGiuu z`3m@1Gqtg?2$ho2GGYFU`T0}6t)-fV=*OS53v0W>{#B=#>Fs^ml#R!Wiz+V9PpG^1fr zG_y*-UHEp(knIy<1Mlu@JR+<^!*XD>CO=XYKw`$yW!?&JZP!=Q4TOEt4bGC7cw=~K zd_~YUg}wC-w;i~+n|Z0RC5_Wg7!avcdOP!0uUhR=o>IWO=Z;vTy<#GFUf*Uq9POc9 zTJ3Rb;0~7d7{W@co648BP1tJ1Dj-JAZS?D&U)T<{5z<_xVwjh4?}a>J)7yE+6>P`J zGGml9(q;+38oM#du?W-}!buoO(@ZI)fSnL8!PTL3`rM-8v_OIK;h`gsCrQLBC);!1 zs#ntR#-DW0S%4%n$hc#6r-y(=~jqcQd& zCHZ{j5v`$Pb*GWR+>;JX7QK=KHg>j#d5@h3+ocezW+i0)Ke&CGS@zYbC@p6 zKRMl^S=*z}7mG65PqqQ}#Xe-YwW`|O(Mn+4^;A|nUj7YkpHT(Y!pcZ-_79$V2_IrU*mWS{25;LADq zwXPBDqMSY*Af9Dk@~PM$f5=u8qYBDa$1f!G=)E=N@_r5Vl1TRNqTOS|w7O~)-^aNO zvUIX)imvkp{$-I@^>;)A7piJ@eJ8N_X>)EjZ)hKdkO?D_wqulm(d&E~wNa`*MV?Qt zCnZ7JjbsI116PgWl2>R}c7%1Y==EgxNTqdLDV}sMWY-Q~q9m>Fod8+)hoWA zr5c>W!#Pwag|j42hwmD%9B-Xzx+vKg+lbGiK~ecirN$Bu>szx}|9Q~(7Fz~?(EYL) z_Vx8gcmnT#$z1hb`a~})@p+(K6?qxFcV)lDd%xzZn~mw6Wk>P)oqW##g6rWJE;#(O?!_iP!v%cG4n;IO{r{ z;3$@-z^rY6 z{z(Gz%kqoy@~pwhUPU3(lH`(TF3zAjoWZ-ueS+q#+BJ|Kt(5r2bo9!WntA6*HcM_U zoQd!r<2_%^N|jhe>|!I;69t~?v3n0(duESplw;(W9mg--Db-Y~=ngXKExUTAv~KxA z_y&t$^t7TeBH!N>x6R%uYtX5UQQa@BrniF_JF>G-qrq@_B$IbDB0%F7AssHfc!mIWQ#of<#VGQHOJvqX9ko(a`=PR*}Q{TS$ z6T4S$HteB`k*^W=F6`I9&+31f)xNKdR`^aty5ln#mH7rqkcJT&4jLcI!lPAKJ-<#dJcDTPM8 z>%J)RuYL>(ab0q@{1AsZ{(H~7NibF1@z2;7^zfS+nhc==%4sjHgng_yJNzAx5o0(Q z5nAcHEIqkGw)kl;G(P@rE~U?9ofz!u?0kzk z6w!k=(u^!o(SF)*7SFo|biag$lu~BA{UrmGQK+O2m2O_A2sCZ7FPiGdxr$d;lVJ07juVs$X<*gJjx=nNrYTtcdf)ya<1E}Z{C5=-%0&dsh> z=SWh4x01}SuhNlTz8&Mw*9uIfw10oCxcLVRZ%J2vtg-R&zVwIk<@UfkNsU>Otu zTxQfubA>zX+Qq*F3cYjlaThoiK76#CTzidp^i+I(*8uY1nP9z5ggQO&!OXAeQ=JU+ zR}{mD@Ug1<6GRe~6yKkgSUw0&HLi?kTEW@dfmOKzU|^wVLm6XVr}^pJh|d$SQV{m!^V z#~+SwIG%W7RR+3AKRbc38F@!N(o-TQz}pYZvc7yWzKzG|=sWfTBL(Guu_!FY(UsCu zzfR4WVR3(VMpUE1gSZ(ok2p%Fx4X}2{BpEDwV`S1=hoHF@7)tPNI~!Kx-|2qdkiE? z+Md<**NbCZTGW~X)EcV~HWhYI5_7HSB|+r2nm%G1UiGvJMl#J!*ipBDK)FdvJee1G z5gEq5ckrwXt-4R@DaljMb!ymb_cpDzW|u$NO@tQOv6ZwP(e-~4$P(`ARZa6Uns#l@ z9~!L4GeoXZb4C#c?=ru9=5z0nDB515Yw2!aG9Nl><(yeqbv2#VIp)LdJqnEmpdjnr zvXp7W;Ea}A(PPJ7rbiFEy~!*qh%W5)t2w-noD|aSoN7rjZsRmQjwJ42+gmqRi2Bja zvy_|Gr+9UlEz(`j_ycG3)_U!u$2{GMZ6XxS+1$-f3yR|tkM0G=#;xG*{63lmT5XJf zY+CuJO5&`H_AczPYgql_du3Rw^1`tK?|#Gevx7nK=aI`Ps_OtB@88+8Y{YD@BByQ9 ziwP=~mA=fvpluxXS?CN55~Y!!kH)XUbz*%EOrcpowyWX9T|WZSN8b>%?!@m0AL_m7 z5w1(zbZ@thPrwi-eVllZrd-QoV$JV(+f?7`U=u3h!4)-ZTB@ZR(H*+n!S%6WfLw%8 z=~eYxR&1I0safJYYyL9<>n?oCJll6YZE(DDybnPTDvh@?^=TZ7e4ri|0kI4$Xf#hQ z-F?IBs%)gufR$#4?`@^U)<4cLDD-PaIBaBCwZG0vp1rAs9A)a*9QARwi%m1wIiYJ5 zf{%6IzD)m@Xz|{qZ_{lf$?eRB_bT7=d=6Taqzf)7DS?{D7158lHY3#;(U8wpW|es} qGETt$k~On$O^d*QKk9A$tLKlFYkTTaQxFJ3oDTqR_n81d@P7bj3a4EF literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/sounds/block/door/sliding_door_opening.ogg b/src/main/resources/assets/hbm/sounds/block/door/sliding_door_opening.ogg new file mode 100644 index 0000000000000000000000000000000000000000..ded65d1a19fa48153dacf37de42a88fb0c119984 GIT binary patch literal 14886 zcmaia1z1&Iv-hDpq@+1Chwes7>QHj%?k;IX>5%RYX^@m|5Jb8`4h_;R2neEp-$wuM zec$hX-*fMN7VBAi%~~^SW_~k!_U5SD+G>IjLH}GWihl_Is1dwf-7V}r9;OhU zR{gWY2jS146+!)B=YL%fJ0B<|}4D^M^fH z3CzpQ!^_Rf%?D;tcXqLV?r!a2?cxb};EjOtcPm6jRtEuu4$SbVfcpcd60|`ed=SWt z0fL)sqXa2QDPVb-k)rr8>gSHkNQvwxwT$5z_*Vz!w;~3CkU@bg7;#0rN)8huwxrB) z?)f72YQkk;v?z@)A{ZaPGg-QnHkLZNOh6dXar99@fL){%X~T$M51mB>Z8#~=y`gj; zqAkmD$7Fq%AB@R61P)Q*Jt$6A6FqoW6eoJf(l{l9#nCteRpFV_v8?GrHGb_eA+neA zPlxeG4=`{R8B{VWd>Qly_7RZM40nLlU$wxXKtN59LL!k;9nokV<@hv%`Z>D>p};hs zoTiqlHgI_v>v~(ydwb1$`{`$d8MgZAw}u%mgc)ClnUjY9(|-7^Uq7@zs)G?g`Sc=b zTaZFJ^1@A#LZr~}DnyXggGs;`Npz5;BBfFrhZ_6rX1mH}=h1rh(R%DZO8}oDKb!`X zZ=Y5A|1=x@H0%GpN!bmtf}{Xj4!Thex-rPX7zW+h(f(L?2n6_43dY{=&adFXKj9e#K_Dp}%6>P>VZa(Nj#+mBT@Q(Q57l|V6b}~ppRb@lcmWil z&9zB$2t?;gF#ltgK!7c20lF;qUrE4%h=Of!)>PKTxCn06PJTI2_H1vYRyK26c}Dgh z4?0bdZ2`W7jAZubXHI2#OekSzmHZvOB*;dqE}sGB$o6t@2guBUb@nq^XyuD~z+U~S ztlf8QM8GIAC7ZdaP3teee_&B=k~7gOvH|RfT*`KA!!QO$H&!`c$1xt}{yTi60Kb_p zkPhSqgZ<)AEr@7KX_Kiv<8hPod4?dx)Uk2$(DIOHFf!&6&)`3rgF&EB{68rESN8|X ze^FeV6vaBi(lEw5%Kp$*^-YK#)%M}bV)FnfW)}cZ9NV<})}uy5(XpfnZopQO0)s+I z{zeqwRIpWoG%DGjAPLWKAAytsQSqOSJ7bu9L^b^%ZSotX1_2|`rg=Fu`6RTpv~|6m z_0zqUTf&SNyw>Oa*5_kQABX>UVEtF*fPkP0{S%WZ7BM`7IU#B?7=Io7ugGyD8cd`d zPGnH7XHcDCA3x_;zu=!Hl+)l>)g(5aCia>ovDOqco)xg3)wZ7Vwq9(uHf-_JZ~iA> z{)Wx^yw`t3&O?aMiNtLwCL#Yja`IW?HihHpm690rlbBwn*+yoSXTCisFU0(Bkz*HC zmJwAJ5w#Z)#}b)lADLCrR_HWRbJYI7w*QJ81$PFZ0g)r;&hQ_R)5Ak43q(^ryXwVX z9VMm#gL=w6{!a&hKs^cA%75~R28?44CNKx%(AJXppCbmK&he|x@&krV1%b#wAbP;b zq4-hm2{JAcdgwg63@8O6s0E)$L(A~_utjj_JQJjuC0dh2`mis)z*vZ%s)WQc3dMnO zK9(9O?Fgd-X%88s0Rjc`4Doy-b)Qfg&VM?=gOQsuB*I*hJfj5RNF(KgFqRTnZsios zC=C~l4b#cz&!}Sp9~AXl^h748T92j!(=kQG7+OP zq1+^q^*o{Kd@BDqzkr68_9&tDoR;=7iK=!pqbi}Q>ZO)8p`13c_H3G}c9ZiYzxAS) z_9}_?T(k8uiN9`|*E*l7K5z>Ms9y7Fex`6|42B?~z>& zxV3qU*E)-Rmc2vayNWE9ii+}zX6K5UYQw_)io%MKdfSScs*(Ell{HRB0JY{_MLl~( z1$$+E)vpTnqvm%N?bRdowb?b5N6n{Lee6f=&ns$bD(jCQsO{B918zs{+^(_QZ!Bf{V3yP-#8Xp#797&!7&pDW6#f zz*=!iLpjL=P&-J<3=FNHw7#ONFdEpyi{W(>2la8Z9^#CB8v4m6^TGvG4=)$v0 z4z;g-5MJI-Vi*Sq*K`ypg*!YD44oz5Ssu`8_-9xwK(KV~n#+21`Y+8b95@Ex7S#{J zS?f}h0O7k!1~DQjGZp}=Bv=fv!_cX%G|d4ZWWl1Fc9%Sy1g<_CR6WR02A&We@onFA zfUFaU1db-&xpesq4c_6@` z2Vh_hQsVhQNP%I3K&;P!il|n@$|E>2AIO=ApqCFh6DopMkRlHm0H-9u0C9jyu&syIGDB4|=oABJrUwkh%2<;2kUBmaKsf;3XpALrm;)e16uqSJ^Mj}bX+=m0+#s3*2stQl zYY`(54g;3-FIZIZ6wknb_$0Ng0s_du5jeUd2c!vZ5z_?NAIK1Ji)aD30T$?s%X3hm zVy#e!Mi_q!xIbVFB>+mf6oB*JxfB9G#-H*o1@?eQ zz%&npKT!QM!k~RH*Pq3-fA>Drf&fI390P@cZ36dfo_V(^T6 zRg?D^@J0zn2XW)m@&!pD5Rnc6f&gVBoKb+5O!jO z9yS4CMNpxIC`ix9YzQq7J2tj48f%}o2gP{B3mghYrj6)FAW8@fA#{1MiKE`yiyFBaV;&9{f67UlrB@rYOrU38-fxaLF;(-DgP$D8CY~qUgwvZT} zT7?#W+D2ylLw@Mc(f_`xApaTveL?P#`%8X!L4FW(ysmal#>KRnCp~95Q%2R7TGaf9G~@RK#$LmAXAb)a#(P(WiI0lJDCAc{m>2@POrO2hI2r zHmDfI=Q`BVW}LXqe;wC8^JYW#C#g`({=UaE!sxp7Qjsygox7-lP2*KHf2Le}b6bLy z6K_R+V}tnUJ4H z)5G}6_Gf}2L#zEKO?vg8TyLD<{nMMz$u6%;4A4FwjNluEk(arq&T-$0Dn7lSK->OyE58gebXQRi`#MWz_v|xr*izEogq$9h{^Z>Io)v67 z?RGjE9``qg?DfL;$-1VPLamcS_!7X$Yn@)gu8vA{xlJ!K3yQ4rzWl6( z)>Lj!7VCIDRgcMca)}|J|8h5HG!A5*V=<)JptI4#V>Hk$mnuP%`TmC&rWn~@P_M1u zB~0H))ydLa-U&6*G<3V^8C8||A!YocXCgRd2J#vxAc+?bs z3i~>QD?da2c(!=BY>;YBYYKC5-=Y^R^S#GLU zl%$kc`E%Cfkt$DcsODSA`|(>{>FdB$3h3b+Ow_jtVgE5hLz@ zLHG22EfpQVQy}oQIqga^##$tUG?GJbROD$RY}*>KbOSSecFDB~9;Nbo?@N$!Kmhd* z*TdWSX5r^OOn$ywi+8uqi;n7rws9*%CtcW4iai`#Q2LLhNZ$RLGA&DoVu!U-G}Og! zm=q$Ewl=fU`WMJPgtQ2J8vBr9x5F!h)o~^9LxjC!5gJI4Q#e`RSclxRW?bIJ)rM31 zA*Q>7XU0bZbC=iaviVlbGtvIzt`eWlaeclI%E7#3Sts)_iICNYm8~egs2>r6&#j8B&P_CbvH=w_6v>-P-G)gN0=I6P3=VCGgAG? zPkfQxk(ZDIPfN3yFnff{Sw)zpEuBjo4JYuhMfv%e{d^7Y$Fr})@v7o>{pWSNhk`D= zVhbFIZDQjkRuSH$lSC?h5l*gceD^sMYcy5@qu|t7P z7B>^iB9tRu=KSuy9)e_I}FPJ?>Q~rT`52M z4$+KbRuh`fUE}{)v2EsZ*nRaBnaXZn`db#%S38faX02(QoT!bT#IjTK+TmcTc%8Rz z>v7-Clb9yzt_x02uQ9~Ifo%>>BTr`qW+IKkB@z`yDFrnD5i6MJf;XovTpLmlIO z4>ZsO)ePl~uq?MKBT=~amjoI2&(agTfLmW-vEIYo7XczKzq~Xib>jE3n$5i>x7;bj zZJ=hB$8AV``(!Zp(m<|fZ1YU#TPJ~yeis3v{mT$RkMF-Gqm)g4X&DAq6EiY03Ylt< ze@@CoXX2)K^5W?A#tE^3Q>iB{Z=q+~Z!KB3*HmbC1d=pHCC=$R%SCz0ztjqfpSj_E z>{%_*hn}pmG7^_#H7b8^mmP(5=wyyL^4%3j$FOE3D^$9kcbQy?fsvSSe8vf>x%IJ+Nu_Nsj4uLz;2S3}S zcH;Ax{q>`z(kd{sLA`E;B_*?y$wauY`z&jwZ4L(i03($RRqfOM+_IyVn5omO*=aX; z9JNqFb*4m9+_YTmkKHF!-)sd2Tgr=5We*I)f}N7d-z zKE@nb3UB8S5o050$nxG`1QWFH#Tc)jeXZ_KQsS0uQ8o8+66x-6PVdr3pRJg{9*jr& z8eZ(9!V!DNOXjP9B~3kbK7m5cCy&|7|LfD5epD-kU<^7Uy+_3r7;_4NIt$qhQ5ZCp zOZOPG&t4wPpEI!;I-`5@WpoZ%4?u*K5>{dSL$a979NSm zdHqg_GQxQoNk;7YYj zM9y#a6}y&et-JWGy1RBPah{%$o%*wTF+Eqeh8`z6zhJ-FD1sIoHE3x*Cc zxUWU9+xLR((fREyA&whW{AkIf3lv!#rLHXd8`RVJu-&>^HpQc@j)Az6oGh@oRf3lJ^z-2ly^T%GYU>jn?-iB85GAIfnVx$HyKnwBfK!PZ&3GH?LoQyq{;@R8W?F_OYSiX;*N?eB%>^#`4r7 zF>-nOW7o2a_WQ+; z+xrHt?%F2?g3bmX>o(Tzp7uYwrcu)Ue(L_KzLdjIQpXM) zW9kU)y~%w;5@+F%u5_8;x2Kl`AJ&!;TjzYcIwFoKFDoAXn)-SV1@vUZ%Ib{^wGq12 z4Efjg%~6i^T8t{s9BD-9NSfTpPn3M&rB6Kl9ZyH%-YUc-m$tm997nUfVG2;Vwqltfuo)?iWtB z?r$@J?|wY?OGE7*-X40S<%(a|y*mDu;$GPeZPe9y1NK z=jqN(O*ga8&n>20=gi~b?Ovz2goVBH-bD*U;qPDZ>$6a7bKUn_1!I*_BuCpj+8OP_ zV=VYzED@$f6C5&P-Wj4=D|^Gm%xMShx~eex7jLUXKVXD~(!7bWrysAUu#7T!M;&hk zj|2tZO5xqhsy_Lkj4s`&qweRThF7n4r0t#^nr8AW;St9m0kGs1QgLQGbSrbG%lhKy2rG34#|#Gy>Gn_&5U^6q`d|msOkk;ji1ujSHUk+){3{t z6DtbHZjDNss$2&#M;OyNbq(+6iGFuGb1Nn^#iaK3lHevu7<8Smn>VSO-;w0EIlZMT zqB4puXm*?v@b<3y1+Efz;L?x8CrU%{1|Q#)pI|wfOZ-f-s$hR-=$YX+3;oOkY5!Sp zjCzeSB8Gk~w3YkWBfWWIDsSFF0E=Sff((hNs|Q=RCaXq-Z4GnIGY*jqzd(Y-yGxmb zW`PCFj-w*uUYJTt#iuBi+u9`hO5E?smACoJFRQEX;dweX5|dEM$z)YW2Zw9URF!`I zmkq)>7F-6ZtFMNtZj6e23_~%AwmW>D69@P2^`Wzv84cfY;nDA0=$- z=%240iU0oEfdmY%Ic`k}S9aDnmv$D`*7r8o7Pr^tPQJ|hi}u^82RRKT^an)fknq*2 zfqI~58)nb9ciase`-n;wCuU{ekJF6g%Dk=hxe#gRU_EiPnlT!AnxZiueV6}5Nm`E= zk{&f}oh<1$C#o+cLdIu2uH4El(NbWrjaa9^(ZrDT+A@om_9(R1))OB`7S7Czm8~O3 zPx!dYm3Vw<=f=Eb=7uerz}@`&@Pdoou2~XB@*CIv#1a|M5_{9rbKkqSP9=g&jV<HcSm zOV}CO&_dUnFO>O=wLejrq}fkGxGiWP0 zlEYR&ztHg%+`5#IiI@d=BagciLsU?h`B%!-Y$%BW9OZ;WKlgpvea&aa%DyB93Z!I! z?;5?&_EmW&ebDXA1Vz=%%&&od6|gPc4(5{bQB<^pUBCRj*)KclHyRMwHvj2EP`}9+ zUu|ST+lff{1^=w!)DiNhaRQJDIq~!01W6rO82KTFTsj51Cr<5iDPg3kAB>}FP#zQ! z;x>iFw{M)AjJC;Fgilmw;O+KHrUFZ%bL{#?Z%bxkMsyl#LSa&=&0bwd)3AK*lxd|Ba^=S!(KgsnJS2kZoczt%QWsDU<$1Ur4NLi66JBD6B}Osm z0yJj`N{RlIlu2fh6nh3YiPyZSglp|Aqg^@8qQz1`LOil6UVWG24z}c+HV(cq4Mdwr4aux$OF*IQ8IWKsJ2b*H0 zd0l%%iI$TSKaPu$s3`1kz^^!FB-iJT!rH)2sv;SZ(ItQHP&Wh}l_0FKiQs%w6Em-@4jrBL}PZmTl$nyL44D5*plsoK&nJkW&cu!W1{bfU;a7%r2Has(^SOBB% z%N3q%&Xb@-@|-@+$?$AL;2)O$+8giY$Hi_W6`fPvfAO~<|4P~~Wa!QWz7gx@k*VJVq!7nna@h34*I=4C-_%{i4)#+D+ zxbxU`k{GWKcf9zy6AfCax<;v@dG!X`cne=iyY&$>^bIkTS9|k*WHaILvnC>mg0v14 z8=*Kor(US3o&l}>{OlR?n1{C3=5{d6*-Z<94JBryxiETKxcA-XzMBD>ysxF5L-$QT zLoR;%sZCIv7;v8QXMVJkugw0Y(BX*LTJ!nD^XwVj_g?lFGU~|(Fl)(vfkJEI*FJIa zSTh11Lq0o(>=9v7>?+a{a<&4`>UZul)1`*oBgVGX=oNDse({CD-seA})zv{mB(VO` zCIM?KZYvZWz#QzH*=i8mN_t<2HfQ(Z>nH&iy06Qz>8<>`{oZh{6*4|5*pS-a^lvRCXPV!TD6Xo+HlAfWRqaf%ltAH=!PG3ky+ezP7O-@m_ zz&ZvY=eEEL37ds4AwB_|3v^9m#qmY)CO6lnIe{9vF=C0quppd}kBtp4~&DeQ5SL|(y=!E_E-_B1Y!h@!Q^$Mv)jW+G}kZ{{tIV*>uI zlQMj}BkK?|I>Snz^%;vl$#Nk+Aw^R8*3}p48%%=lg_lH!VYc0OIy8aznxv~pnG8)!r-Y7Pr{DvwFGbF2eMFoA$pQ%;5!G^Vk0e_On;fk~jw?1=DqAwy z0B2klax4r)eMpp#u!&;zZusiaB}!Xlqc0l^zOrC@2FI~CPfI~Ok1>UVK4(m@WBCXp zQGzRvoBUb)kK2s*Grp~^0UO~XUd)_As3UUj-g^9j#v!Nn(;sUdZ69|ge@(JPT=FA& z5)C4Yb#h!B!uECZGZ1Nt^vCzjBYP#ji1b9pZxxLw|GdQ^xK-0EfZZ?DE%q$H&hPAA z$;gj0EGK7mVapZb)U_t&KsjAwnInGL39D?DM%n!YM(fO=Yodh8;z^A#S42XtJrj40 z@92*=Ri=NDuX0f?E5d~GPJ<`C8qPpZmiV6rZI(z6G%<;1qhaUA8iI_&lxv=P*PEdT z{ORtBM`-qOM_0I#NT{<)9|rNA_Yr4#uZsN7YUC2_&5yE+t+zv@nNa+R zZSvKyc$A9vWhy9jn7#>TCH!EXkyXimGJ*Qp)$Lc$`2^n09otLV<``xSBsw-~&|A#Z zszEIKh{z@;3G4Ntw}Ev>25qTLS2%paXF}$`FV%*Ge$78;RrTxI@pP1Q%)S$F5mh$Q zb4K-eP19Dxkf74+wmZKZ_0r@kj+>gLHxmZE254>rR?J9pp zkgaGrNsu&Ta?aMY2$v-SJ!yYx7G@HSO6A#-*MN?}w1K%dI!U2wl{EdKLiKm4QI|iX zrDa>d6UWi*538=8&D+7IFMVjA{A&3&@%pNap^JDW)}fRZ!@x&kYpruZeukQc#TiYq zxPPT#@iMgIasBl*S&JajwhT&F(^&5CGZse9;+Fzp2PAl?!N|w*TDpD0E;UZ1JXC!qsyu%qg|N!u-oP^XN3+sgG6+ z`2a45>G3L#na($ZjKMiX@BN!DRjugYANTuow}SVpNKe{{YJ&!QWjcwbsn|wmVYvIM zth$`EnDLo)Sr^BSsuSV{_uIcSPY*gX$~pstu76y*=Q-#@8u~lGlvN;D@Z6;+eG?_T zar(i*PId8m-FU^OktH}LOPo-ECSzmhi6tG^SgG9S05I#P!c(Olo0DYEvfL54 zRql_UY^&81`LWk%s!BDQDQ^YeRqN@NXd4E+(kPTU%B9iiVG3(W1zNJ>YpxOcLMPqI?-L0(90 zd+<Onv|x2 zS2To$wxBwW0oC~wwqiFHUOIN&SVd4ZZ#ogzFFIW+Jj@%`0KH^FsZhJ%0G-Y7((n}CmjvXNt+e-W0*SR31-_D(*t8ysi}FpnRlUx2Ks(=@PeA_cW3!`{ex(9-{oSg3vPrR|71RM8RyL zAXI3o;z3qhvqWp(vFBWl88pu%~7FU=RLoG%o>p-Vfi(Xe^BB6ic z%zJqzSCB~y*`exW*Tq@7r@!qWNqujT}buKN#rOv#+YGd16vM;^A7Au`sF*aaDi->L^Gb~l+`1&?nDN)6|!i& zI#F_r`^uuLrXRKqA-p$HNe>Jt!P8*`rC%v$4=mDpOule3v`&}|u0_J4Cwv;yPwUp} zNh@sr%$ffx`=fcys&nAfh9TCgXg=qO`+L0+lV*J@XLgz=6`nmHx4?+y+>H{^dVRDQ z`&QL~eIxs7mLprTmh=0UU(Q0hclKfp<8hZ3CO%(=<(j)}TMI-xR8z(i^Sz37h94f4 zDQ9Pdpi<=#Xse8!R(#66IZO!kw27bL*0KA&Eh>Mv61QEMRgQG&h0UwQX3_xHKkZSg~w}1aVM8ckC{y2(ncemt@{?bgvY=K@x&U$(9mnM-e% ze|Rle?3JE`R31F*NV(g7nmbQssz7b5OV`uwHe}`eW9u`f{|#=kY_rn=xfiA*&cY)i z`yHOW_kB~vV>jCA@y&T-;s;@J`Fl%~t# zI^*y~^eO|NFtxOB(}i}mSe+o??>(jV{75Wy4uDKj1??7uRy`#7G5>t}qv0I3(Q6(4 zH!85eR4T+$-<1ZxkE7jJ7gfE~P2avM?;X!@+Kb~;ulS~s(Xixk__}KiHqvB4%-w_cwXN%Mj7|4@@@b_ZgYc*TMvRrB^ad~{ z?q1PKG0E5+0uE}%3`eiNItB1*L)f%F6 zR;W_iJ%c9r5ncMXYgADCkIZU(Dtu4zP!gg7Ct7@jbUAUt$t%kSBMQ&knCE45a}IrZ zs>gf+*y>KUv?A+lsu4TZH$d!Rrh>IG`0D|wyUrYOo=EHzn;!QGAaX#?StLmTW+y9hS~~ zbV_^rL8IITvOkiY01u(lj1D?oH;Fq-2a!B39@bqn$%wTW<2cKt>SN(<50%$u9}z(& zN>%m!LD*5~CpY>n5L84ha+AQ|DhZBPQ4n0}4?hlO)^v4o{W5p2j*{OTU;m8$^yV^_ zgO^XNM(2>OMm6PpJEdhn#xnY%<3$#hZHJF8tK0LpkNZRrUMZ~Ai#iHeg+WJ2NAk$O z!iW3J`O1V7G1Py02;MbjeX+L`=9`!cJ1$a{=y)!4mD^IL|K9MYlJb;8(}fwv-a+u{$%zdHc!?$rg5)1s& z`^yt7MKeCS5?~6ofqaB+1^(KxN7yq2igu@Zd*p;umEP1~r4jT!4YSkKE~i`b-{(OA zNkR>{5}5%*^5e2?6cmmQnIe$*XR%tRl5mT ztX{oei8y0g?T;kI;vblWq10g>({FE6Kx6NB>^nL=JU`|{n-m8<%^FZ%p;$>L?klGk zsFczf!L6%|0TD$jxQ(MzfSxGE6rwUG@LpZ#a}nTw@kA(piT|UN4w9@w`;y8-vsLV7 zih!O#tW<$(x0}&aEOR%5=XTAhku?$a-dp6ofUlaHb=;KC0z!kotCa=Uh>y(pFq>cb zMi;iMXne}{^lgUK1Rjpk;#g~6;=YRDO@(nk1ixEUb8QMhW*A+QdfJNkAEicsz1eoB|vTRtA8!! zLFTMxo^8O(w}}!ZRx~U7gdNRFF)~jz6gF)Kr}v{J&pcm;dG`%aR??>lG8`MUzS+Hf zWSV&W%&{Z+C``zhN6e&eUO45n_!9O=45tb0>wQ1ARICZkf+S;1WAZr;F`3R2D_Fznw&h;j6tA#1xh#QASqsxlttb;9XS@xzIH=!oUNxyG#U5ZJm>l^6~FGA z-DiSa;=lH8;CqXe9Hig1Y#k6Zbm_hhIvcX=zhS1xj#QIq5GGv_ z9p&9o`thNNM$L^PUTh@EKN(`!+M&UyEDH(zP6l1``y{~~A#XBC_vm~hcC->%Nkm^Y zf_%LMv#ZQOgGi-SN4IEx7kyq`V(oT^hbv6-A9s#mMKsK^W?RDa)ynqjNa zZLxhvsXt;6@X2~2Bb)XJhb(QuAXrrC;OKkPPZ9^o+-TAE?Ox*yJ|aA-Z|51$c6=W7 znOv$X^Wp`Yos})7Q@pj%gVMzh@+vH8X&}E;l}YMuGV_^rL>ADoWl>S^34_yPF3EBZ zaZaUtS?l2ZPQdx2p1#Zv3&~b7m@cBI*DCD<;a*o5gOk!h-CVENVM%A1`lBR8VELLw<;1z#%?2o$@{>$b!2u%J_PJ%C@%2f(C$PXL! zz58|3ser(+uuTVDjF=v$D;vLZda-tgMpqKe}h( z{hYQA@2*E|HZ1H6#Y_b$UdUEMR@T1McYH$i%pJ46j$gqSf;OEeAB~wgh1rWAt#;lW zwpPQYCS}%|D6;P6>6>s&Y*d^MCk|Z z8BxK~cPq5s{X>^zL(b6D=1Ewl)6@3CMewy*fr^xsnNxgSJo2@n{Zb$UY~-I(M3ZX<`t;#k%E+YieCp2eV)5?HD`D}wo65|0Rh;9a zR_zn&Lzp`Hl0`7#ns@4>UJuDg|%moh?T7%O)^-|B_+8E1MQa?caYG{Mn)Ka<`)ZM k`||`HcVpD(zXNdU42=-L~q$dtW`e}(ZUK5y?4TDS-pf5y+;Jm zCCVy62tpEkFL|El`~3d+y}t9B9cSjudC!?MXYM)o(syw&0*HZsm2dWc3F@W#E+Td! zp9fy{Zs@ZiBGvN098VgebE1(*|4i~fyUfir=p%6{}=SYYsEM!Tv=Tj)9N@RMdmee6jn2WL>Eq33la3MbTGeO|@S#WexI!0@u#L;6eSa*hB% zmMeoTGQ$?RVhNG4WML8I#6U0rkb=ud-Z4_pNK_p*Mo!eDrvIy2COcg{7YA(!`RL|c zdNERz#eDVs}`OL*!bLwzQ9wD9N5pcf01}6rT$T-945t{#Q>?1iN zn7#U7FLOiS0;MJS&&2zMY6i|5xo_n))bf|bIv{rhD>@KHD5-HXk1bh3dT6bQg-1ml z0uC!mL{OaDj{~&5%EhaWafWBe_K~ocnO+nEC4bGyadtESpufvHLc{jIb%%AB25LwP zR^d@`sZk>}B*tkX8DriMWcfMV`e)EASPwCFX30+G|4;q9b@1wOfX@DRBd{)J^nmOt zPa@>s+XN33@TAu`_cyI-9_^1jgCB+Te@N=nDH_tNjY=X%7_1GYQHD32My0HcZdxNv zP^QT!%X-XoiqrJZp!xr*)|bw=NDBaR@!YU@E?E4cOe~LuthN5hLp1Hq$)0Eu(!246n2E^E6OkD8ZI|3}HcdmN!t1PyBH{r92quLA&p z%e}AY`$t%HX`y2XVWg4p7(#8#2>E{%-BC$hI?%A>XBYM@YuJ!*Nt_nBa4MF+gJ%_? zdGfTjs^~N5HnP7LFzlcRUnyrZ50gDHPfJ@+yGVeni1CbIv06c*pC}81<_Cqj2 z9HLKbg%yF7eVJ)AB+H+b*eA=Il|TzC%5(s^nTbPM%b5uuwfI5*cuNHSRQM$w)c^<| zu;9r$m>{W357nhp)2Fu{qf;A8k{pzjGBif&((8^HBh49g$C9AB61uwdNFzEmBm>eY zSr?h)G%SglG)B%cB9RSFmIt7pVCE%sCmE4rv4=7 z^BMBQ7zXKsu^mUvr(mqjc+a)6MuJ*Nfykg%C=kl@UpgZv_c3D_lr^2K<0GRYd0 zolkN)*ZGWVguz(Xqa0FEmP~q}&LGz=$$B;gGtGS8`e)3bBx>5*+FIJ$bOL299brBZ zWNVDHHFcVlHZeZ{?;##D&#aCd!x;I5+hUw-8!@)#_pJ%9>tpWy?i1T+llY_VZ7Y*J zRu8MXPuX6+ark~qsO7t$;%F^q6p5KNwzf?{Szf(wt#J-&eyD4D5N?jD%{5E_S$gps|l2ZJ9h9D=|yhsMeBK^^qqFle0t+?~b&BG6svIHW~h zR7($cgC%~nfI;gG;L#Oz7DgWU2!sV?QLP!=O{~tu!K0!pQj9zejSwdkCL$~Zi)xc) zHHy%2h)bMB@rY<>5wjqn(D8%e8b_fqBC52I-hm(56_0oZEn>063O6vLsX-`26dq(m z!@3zAhG-lNKqzo=SW&GB+`Ym}4-P^NC~JXG+FCH@A+2?e!cWQ?XHZ%&P^)_&l(v>w zJu~_~teyq#210pg!MZ>w;rbalvWjqH`^!ZgpX~>l>P$S&7cYkvP1%>%fs0cWb(kSa z&m_w56U+{SuzD+_XsHI~z)Il;8#MK;IukS&Ho@qyCDy>hXH^j2#ZYp8q03J3+O&-AEl zotOy`0)V^cS1wH4z_kYsa8Lk%XoMJnLy`iFVu=^Q+nEqAdx@dytwMljYdfD!s`XmQ6^AUvX+6hIIGmt!5wvt810?)|Y)|7?C- zaoKu3w|O=n7Kg*tqx`dB;NRxTO3U++=E|~-Y`60fp^Y|B3Wuu{>~DL3!+}p)Fs=BW zfm?3|N2)g|%QpI|g{JH8Uu$1)1~ZO&)JES!aMJHKJgY{1Sb64RV5m53r zVvI%)+eJ)y_9%1&RqWz$gdlo2!oYY63rj?RA?YG301)f&lboxa4?gp`%In5094f#j z`i%0Z07K?^-2DGGL;!-08bDmR=?WL3{%c2uGdseHSwk<&wI`xKXz@dfK(l6s#v|ZK zXaroVv~K*&ThFZL3_-XFcd>X3a)1_nCUyY&k8qa-dRP(k`RKaw88p~s4IEY`OF)#> zt+0ksEA9|Ppk{Ke`T$C zXOqwJS0W(z0yP+FZkES-A|x5j&Rpp%PYjvz5)zZplwA?JNy>Sl38@L|taVnuy4;AQ z;4GAM)Dv?o?65$Wf+qlkfa07)z(q0&XCU|;(R%{NDk)j)O#o1i9DqbcgfD#0rRCr% zCJyc(4YvYHUNvgAGzN>1SbgXOgFTrFB*ctWiHKZA=1Tl`317(syr zB4D8r;NnVe@A>d~VfFhVKn?~*urLFM03f3p92vPHDlU0bMo!_Dk_zY(e@k$1@HwFb zw!y)F-%H+Fo(}q5T*CZ~tS|wN>zwQyg0R|(cW=tGaCv2~aoHthmF2jC z^1O4Uz{ zB&tPu@Ah)U>ykHDC@XPQ!^eg)7%z(-UwFA081%OuYg>pBeY`YS(7gPPnv1dRwDX3D zT=Amd@SIT1ZhOLjPSjQRE~og&j#Qx|TjWdg@(ITvpYlP~MV4eYY^|x3xmD27lLLF+ zlgY|s?Lm&1ZgVxl>XR11#lS214EUcpo=%Vw@er8C@0fck`YoJ~C=5`Ci<@cQ&Z$In`={%YSb}9s5olKMOVy`0-qbl_usp@ z*)SaZD2Y&m+I3bOY%#Vye|i|qPh*Vawa@)W{wgG?vTOWqy&L;1b%BK|V;}cDrx|`r zeqvSKd)!SLdc>ryl9k9J!yi8&@SAko_=zs*IElnoA9=EJ2fts&#{X#4Qsz!S+whS$R zXXD7?XEw=DkJ!zB9>69vW#}Fo&u38s3c3La9o^_57>tUF>|}g9O+xyLSP8o&zs>C7 zYFAUGLLf53SXzLmIhV=`d0<3t#$c4elhq^^aU6?wo%H;4Qc@qC68d`At9!#i&jH^l zmhMOtfUWaXxx7hY5n{0()HRPBc2Q`Xt5}SQ5hfukDUIiG&eYIUxNIKr=1oASUxG24 z8!w8O?1%@B6S_PdxLGaK=aDE{d9WPW%>MCJ&p#X)Lk(X7ucfj3-VY$#bCz~{_!R7tMtJES4>&#zC}C{MNUQfT12*!v_`dXi*2? z2(x+4qPxE9OeV88uHuR#q&r-!lasP4QqZ z1zch%o0%|7a2tE^DJ@Eq*4f-5p2r`x4{aDf9+r)$(Yf_hHL9(+Vt>QoS;6zlThCS_ z?Mn9CPr>{I0yANFDg8ohR}jDa(5sf)}_ z`4jGr&jcy8;cjgj!!Y}UWn9mlqn6ayqYs8FW={ks{LSXJGx#%P?RE8qxE`eNh-`{* zJ30&DF8GE*rq`cmZGFJB6(+VE(#BJnI1BweU*M&g&MlLVsIlXId zSyGLXK>b;FzP-C|ZEv;zj4<`)j!`m{=a$8nA39XwL*|%Rk=H#$vf96ME(HecG9+a# zy75_BOGs6*55L0{O4PBTRZCA1b&t8JSL1kVnN(V0*-WfkP^0DpGfF>oe#bWYaLKDP z{ysoNNRe|==bb9wnjLw_nL2LtJh;>*=f<;y#D>7{FK>CwmO*@H#aAr|+^v=(emzEs zp?JztnJ;3hn)}8nHEPLynsZmf?~zjxExd^|9GaESiJP_5qSe-%4z0H;)6&tH+D<-c ztUk52j*-=`j;B?P1*gc4C`No%VlECz1t=At}MKhfqm5|tq-EaSTU#fF@ zp|d00Bj&Yg?EbGFt2eKe1Vk#mwUyl!Rer@& z2A!)xtCF;lciz`eCk5u!X6(7S!-sZF zV5(taqi?vSd^bJ5Il=SiD%{r}xB4fVO8wYkCA%;68;@0cIxE{IB$Pze7&)WuejuXv zg*T?NXL85z`DC7!2ZY~fh-tJ+g{3uywi&KIQOziQ!`!YmPPn(NDFF&oYUE*I+Ueht z=%?IW%3EggeGjh?IG=u>>jGCW9~kb9lQZErbW@mZTc#x$IroP2Jjkq8nAbqCH^QVAMb1DyazAaViz4LW;cWL9xjNzn0pEUQ3{3)a_ zF~NpJrg8OIPy8kIGOgy&Q^*6gyMi$jbM;mmU)MibkFDRj&>EO}IP6AWs2!O|6;DhV zZ21;VdcwSKPZdNItnD4-JO%L=@2sZnOU%}m*3b!%t9`CGf8z6J@b>MKT_G1_Qc%^` z`J9`+@hDOXfbGHhzX2{xIHdNJ!Y-8J`Z`{n&)K z@BI*S+2>Bq=jWe=^7*XxBX{r`)-%;R2X{{x=<>>F2wr^Ib;BDk^_>j_7gJj$`3Ei* zUAdutArnWnzwnE}lp_EAk1Q*HJ_}YG=AuJJJtE-2=45@=er$3xek8=E8D6i-!)@u@ z>;9a5=(xykPAI2MYF?r<+vAWuYsFOT=b%Qo4ECWo?&0s2Ke2~g@FmC4d4**EFSghH zdZcX?Ul_AtNgkz)dHA)JzLfV0`Nyg?o2$8LgT;5lYcBBc#SnH0PyhZy(W1@pF4?YSa3qHd%O=9I!C ze|6|xe8i8rcddp6NNeB|&ybmPc=%RGISBzJf1$8rmNC!!!`~P`3g4Ha650_FecWwg zWpkxiTwYt(YAo5JU7~fJXN#qF`lrQFq6Wv|kgSx?Z)rEQL=l(CQ@PdtHtEK4qtb5D zXBk>Y_ANKR`pL6YTraQlH$b`fQ1o1P@Sm(SX^klg;H}ZRV`J?ug1OeI4kYrc1ss)fL&>h(eDl4HO1k09tb=q?wTk8Z(OfqU^%5|>pt!lv^^C6Ts@0V% zD;Xaf3}WUmbyCp~@fdsB7i5g@O96I%Vf!=fOdmK?Lly@G@T&aw@2-C~m( ztJ(49zuk1J!g-B>5L9YxwYa>1wHvkRN#Ps+=iMk>v&dD+&376a8}s=ji|G72LD8jr zuEgke$dL4oDq%hv*Y|p@IfRMn&`$J^N~bc?&1fT8)NDuQ=n0t^$?F~3e~^(UWhmaX)I%a=SIQg(jb z6ZV!%!1n;}-~_6NEEjXZ&x>JuAFSGn`0S2w$o+%O!}XRt=c%M*@*7t!MOOupFE|#a zzOB8Hw&4GZcS`yf>EnxBb0^z2)oqR2lm$O%8V*)FPujhUVXzd*W1T!U*_8;_?PADX z!y4_4yN0R#o%n5?6BR!n-CM`^sTuw-X6>Tn_gn5fe0{;{xLhkRzX&~*r+PH8X31`u zCb*l-pevf!h9a^RKr&`syu~NHcR4WR8Tp+0^{bj(tW?D4~w;3?4tDg%CZOD=;^l$hl zyd#RV8Xo@)a_5^Zt-baDo_!-=239;IcY-G^z;81WP>MCt6YZx#vk66PUwg$8{1w}m zo<*40M+*wX80=H4x-@-(qn^^+@IBb|~;?PKE| zfltU*>~x^B(i}{=P`FUB+u>I^tq)V3=eLm36LtPSUN{ZJ%e>N~#9q~`nR#nK!GAKfc$Mira3dlio|QOjakQ-bdb<>w|2 z^O5p`R4bljqt3Fzr6k*%THPNEet9>KHkcT#%obKWCOP@y`zXM8WY)sm*hRE09&5ie z)P-X7`SojLX3^hTXm%M9c^Pkk{L~X&P@KR)ANpSboQ+E8IW}=e<&? zijAfC#r8>R9#>y;fe?yEh)7Rpl4 zm3cg^7PGPylv)s&_Hqp?OmmfBHz4r*`pS;f@}!jxOmc4X`iZ;Nq+U|}a8=0LW}yfm zzoDtcoaz39NCOM^)OSiD#f2gx39-Pw-v?lhmu;~rdhs%Cy{A)myi5RcusWXRtB&O6 ztjJ04gA<+;OxhF^^7ZZ6rWHRHw1RB4>CS_0A#r=NPbE#8RXXkJUvHR&kh<&2@evv1 z3{RqCvznN8zA2`(X)4AP4vWc&ViAz79(PKo#f&5nJvWFEHcP0qEv z;gP$r`-SS0zT1PiL@2s7Z7Bv3;PPVlsaMjh)PD7?*j-su*Ire#knm05{1XPLtJnX2 z!XN?3QJnMA#hi-#oZJ{2zS(hWmF7_5@66L0Esz+yJR&Kh_`9lm%rT9*-BbF%P1Ei| zc?!B$sX3=7^A2{$bH`|^uI()+MhRoKU#{jxdfr_b3*Wl^cw_8O&HA{kCHFcV@>*0y zOHbla)l*wJSW>#7*TkN$#ta+%58tG&sg;`M-y7_{ux~v#r+n=6vbpApD(z(mX&Nr*KktMEl;U_xZHzsq@u`A$`xNJF=z&fz5x4#qxrp-T4a-zr5f`!!1;}}? zJK0FTez$CIoYuCAViL(R?89CuTs1e0TKRe4R!kb@Fc=v0h(YdWx<6pm6iery z^)=je;)p;ONabLtx2C#LBO1U?b?*-|jeu`km3|%Xt=(FdkUg1GX=36eNi3a1KXf~& zke;`kPLBe7{cu?t`SN-E)`rc~Ct2_7D~3;2>-bzJBnje%S4@Czc_Q`;lg|&X~k% zvQ2)ugxVK~x+d4K%)2=+%aEc=ZhAG0pP{-yz36jcC6NKna7r}yf>F3Ar_ch!U1CtZ z!O^GA9CxXP>v`EWFTc17lvJC5D_J<$$d}0`M%C|j$F-e0oDTDg& zm?9PdOr>GeZ|CKHvzl>*wN$%76W>AYb@5XpT{maS@3zOIVKxz$$HtZ-+}OM>eOe=4 s*n7w6IrWQ?GAKHndUTZb?OJHyT*uy{KstajDA|`8xT`Nu^p+R+A7kr*6951J literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/img.png b/src/main/resources/assets/hbm/textures/blocks/img.png new file mode 100644 index 0000000000000000000000000000000000000000..84ec17b11a15edbfcdf3715cf8f2aa6674dbaf60 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`37#&FAr*0ZCtTz_V8Fq8x1M8p zp+NczCNXAR7wspSUmi1AR=9J_l=SsrQstadYOuNV2Ggop0ux=ooU?CyzVhO9#!s(Z zZ|~@;VXJvFu}mSTx1ag3e+!fBy#p;O0h1hdGEOW|v?y6Eoe#8&!PC{xWt~$(69C8C BG+aC%MV)i7gt)B5xC z^T|*9j~sDv6VsS|@Z?F(Q%()){_`3#B_$;ddU?LRz0JNXQ<`mi-d(2T8iu0`tgNhT zm5Qte($8E39MTpui!lGIXKK@upW>|IVEEwSZgw7iIU9z}6PZP$84fetGYAL{W(I0p l&v=BPOZd`+^FBO03>TN`3EN!@mjOD9!PC{xWt~$(698D$OuzsD literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/sliding_blast_door_default.png b/src/main/resources/assets/hbm/textures/items/sliding_blast_door_default.png new file mode 100644 index 0000000000000000000000000000000000000000..752aa75672436eeb12f78dd792ce347535d3b891 GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCij$3p^r=85sBugD~Uq{1quc!ER3%#}Etu+aC%MV)i7gt)B5xC z^T|*9j~sDv6VsS|@Z?F(Q%()){_`3#B_$;ddU?LRz0JNXQ<`mi-d(2T8iu0`tgNhT zm5Qte($8E39MTpui!lGIXKK@upW>|IVEEwSZgw7iIU9z}6PZP$84fetGYAL{W(I0p l&v=BPOZd`+^FBO03>TN`3EN!@mjOD9!PC{xWt~$(698D$OuzsD literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/sliding_blast_door_variant1.png b/src/main/resources/assets/hbm/textures/items/sliding_blast_door_variant1.png new file mode 100644 index 0000000000000000000000000000000000000000..5bbe67b45670bd935ad32c0034c1967a6e31bf1a GIT binary patch literal 5180 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 J`{yoQ^*=8PRj>d6 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/doors/sliding_blast_door.png b/src/main/resources/assets/hbm/textures/models/doors/sliding_blast_door.png new file mode 100644 index 0000000000000000000000000000000000000000..20d572d21001f1830a91f3b903b60fb061866646 GIT binary patch literal 63126 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�Rj|KkdEUGe??LJ$elUSyH%7bQu{Z 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

    Dy%aWxi9_i57M@M=Myv&=f2p!S3~=4gjzPK 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 Date: Fri, 30 Jun 2023 08:07:34 +0200 Subject: [PATCH 230/285] some tweaks --- .../com/hbm/crafting/ConsumableRecipes.java | 2 +- .../hbm/inventory/recipes/AssemblerRecipes.java | 10 ++++------ .../assets/hbm/textures/items/night_vision.png | Bin 906 -> 216 bytes .../hbm/textures/items/nightmare_vision.png | Bin 0 -> 198 bytes 4 files changed, 5 insertions(+), 7 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/items/nightmare_vision.png diff --git a/src/main/java/com/hbm/crafting/ConsumableRecipes.java b/src/main/java/com/hbm/crafting/ConsumableRecipes.java index 09a1a8f3d..971b29fa1 100644 --- a/src/main/java/com/hbm/crafting/ConsumableRecipes.java +++ b/src/main/java/com/hbm/crafting/ConsumableRecipes.java @@ -201,7 +201,7 @@ public class ConsumableRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.gas_tester, 1), new Object[] { "G", "C", "I", 'G', GOLD.plate(), 'C', ModItems.circuit_aluminium, 'I', IRON.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.defuser_gold, 1), new Object[] { "GPG", "PRP", "GPG", 'G', Items.gunpowder, 'P', GOLD.plate(), 'R', "record" }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ballistic_gauntlet, 1), new Object[] { " WS", "WRS", " RS", 'W', ModItems.wire_copper, 'R', ModItems.ring_starmetal, 'S', STEEL.plate() }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.night_vision, 1), "PIP", "RCR", "PIP", 'P', STEEL.plate(), 'W', ModItems.wire_schrabidium, 'R', ModItems.ring_starmetal, 'I', ModItems.ingot_schrabidium, 'C', ModItems.circuit_schrabidium); + CraftingManager.addRecipeAuto(new ItemStack(ModItems.night_vision, 1), "P P", "GCG", 'P', ANY_PLASTIC.ingot(), 'G', KEY_ANYGLASS, 'C', ModItems.circuit_gold); //Stealth boy CraftingManager.addRecipeAuto(new ItemStack(ModItems.stealth_boy, 1), new Object[] { " B", "LI", "LC", 'B', Blocks.stone_button, 'L', Items.leather, 'I', STEEL.ingot(), 'C', ModItems.circuit_red_copper }); diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index fcbbf0b45..1e63c37e2 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -1192,15 +1192,13 @@ public class AssemblerRecipes { }, 1200); makeRecipe(new ComparableStack(ModBlocks.sliding_blast_door, 1), new AStack[] { - new OreDictStack(STEEL.ingot(), 16), + new OreDictStack(STEEL.plate(), 16), new OreDictStack(W.ingot(), 8), new ComparableStack(ModBlocks.reinforced_glass, 4), - new ComparableStack(Blocks.quartz_block, 10), - new ComparableStack(ModItems.plate_polymer, 3), - new ComparableStack(ModItems.bolt_tungsten, 3), - new ComparableStack(ModItems.bolt_dura_steel, 3), + new ComparableStack(ModItems.plate_polymer, 4), + new ComparableStack(ModItems.bolt_dura_steel, 8), new ComparableStack(ModItems.motor, 2) - }, 300); + }, 200); if(Loader.isModLoaded("Mekanism")) { diff --git a/src/main/resources/assets/hbm/textures/items/night_vision.png b/src/main/resources/assets/hbm/textures/items/night_vision.png index 096c7b5b39d1c09318a8e719850ab58718efcbbf..fe10b140cbfd5f0bdcb59240576fd9dff66affa8 100644 GIT binary patch delta 189 zcmV;u07CzY2iO6SBYyw{b3#c}2nYxWdQF_Ex(RU9;GVs?af+?jM@tpINAHb*R?oidiW9Byc z?X_|rT8Wv5+|ipN0ukAcm>E=c93Uc?*{%x!D5bRbu`-Bg%QgYv9EIFHEcbl+!RwX* r0GB5Zfrv-v#PxxCub3{e;yEX>4Tx04R}tkv&MmKpe$iQ?*hm4i*t{ z$WWauNELC^DionYs1;guFuC*#nlvOSE{=k0!NHHks)LKOt`4q(Aou~|>f)s6A|?JW zDYS_7;J6>}?mh0_0YbgZG^=X@&~)2OCE{WxyDA1=(St#R5Pw8WW|lE0NlA1ZU-$6w z^)AY@I-mP<^r<t?1$8VeqE(<&} zY^GE5#9?Bw(8fv|v!baHPZ38{O{aVzpX8nkDcYq}ib-e1X!IzSg3;+11*v3JI#jw9TnbJO89F!>y7&X^P;@m3LT|Y) zCRr3b8h;bx9mN|FN-|Vv;9Oz{=|$SV;4{7OetdkqFCRP-`70dfrYVE~pkA-Dx;hho zIJmia&`c(i00cq6+}w+JxWILP-kqPHQLUb0j6tb+Zf}3#x?ccL>Lb0qPjTJv*tSh7 zHOkP?2ueMVL>%X)d2({pzqR#E*K%12@appqoqtI5%jxNvCP1ll5cmCSeYlp90K=bl z^~%ayIW{(VEiB8T(eS9{vNAd_0KnlI@_p+ig~BcXi;G!4Ji7}0S}rRaj>p8rYec)< z!kFN{a4gH>^3o6WzZetHZnuc$^97X3Q0$q~UC*QIdF=Pi>Pn@A5CS0tl}d^IzS+<( z_H9gQr84C6h5HbfmpAS@o!=}hyaBqD%Vmy_PZ=ES0B~^;V|;v+bUF=0+1o1;i#=g` zdp#1?xU{t4SF2|L*tU(Y6#i@Wt$R=0`&mqXObuV`J>RoBYx(*E zhAUQ``IB{veR|?7pB}%tyUUz7a)oq_oqIN#2?)-(+0EK8<}GiqYf+w_%_I3$veWFW*I216_yKeXgQu&X%Q~loCIDvUM+X1^ literal 0 HcmV?d00001 From fcfa725f0bc330ae30c20d9650a0557d5675c6d7 Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 30 Jun 2023 11:57:28 +0200 Subject: [PATCH 231/285] pipable exhaust --- changelog | 4 + .../com/hbm/blocks/bomb/BlockTNTBase.java | 17 ++ .../com/hbm/blocks/machine/HeaterFirebox.java | 2 +- .../machine/MachineDiFurnaceExtension.java | 2 +- .../hbm/blocks/machine/MachineTurbineGas.java | 2 + .../hbm/inventory/fluid/tank/FluidTank.java | 2 +- .../inventory/recipes/anvil/AnvilRecipes.java | 3 + .../TileEntityMachinePolluting.java | 65 ++++++ .../machine/TileEntityChimneyBrick.java | 43 +++- .../machine/TileEntityDiFurnace.java | 30 ++- .../machine/TileEntityFireboxBase.java | 35 ++- .../machine/TileEntityFurnaceCombination.java | 12 +- .../machine/TileEntityFurnaceIron.java | 1 - .../machine/TileEntityHeaterOilburner.java | 61 +++--- .../machine/TileEntityMachineCoal.java | 205 +++--------------- .../TileEntityMachineCombustionEngine.java | 18 +- .../machine/TileEntityMachineDiesel.java | 21 +- .../machine/TileEntityMachineTurbineGas.java | 13 +- .../machine/TileEntityMachineTurbofan.java | 9 +- .../oil/TileEntityMachineGasFlare.java | 24 +- 20 files changed, 313 insertions(+), 256 deletions(-) create mode 100644 src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java diff --git a/changelog b/changelog index 6ada44f00..4ca915e72 100644 --- a/changelog +++ b/changelog @@ -6,6 +6,10 @@ * Can be grilled * Fluid valves * come in manual and restone variants +* Chimney + * Most polluting machines can now be connected to a chimney with exhaust pipes + * The chimney will vent the pollution created by the machines, reducing it by 75% + * Compatible with soot, heavy metal and poison pollution ## Changed * Glyphids now have a config for a global spawn limit, which is 50 by default, no more than this many glyphids can be created at once diff --git a/src/main/java/com/hbm/blocks/bomb/BlockTNTBase.java b/src/main/java/com/hbm/blocks/bomb/BlockTNTBase.java index cf29f747c..b6ea8e4eb 100644 --- a/src/main/java/com/hbm/blocks/bomb/BlockTNTBase.java +++ b/src/main/java/com/hbm/blocks/bomb/BlockTNTBase.java @@ -16,11 +16,13 @@ import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.projectile.EntityArrow; +import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.IIcon; import net.minecraft.world.Explosion; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public abstract class BlockTNTBase extends BlockFlammable implements IToolable { @@ -44,6 +46,8 @@ public abstract class BlockTNTBase extends BlockFlammable implements IToolable { if(world.isBlockIndirectlyGettingPowered(x, y, z)) { this.onBlockDestroyedByPlayer(world, x, y, z, 1); world.setBlockToAir(x, y, z); + } else { + checkAndIgnite(world, x, y, z); } } @@ -52,6 +56,19 @@ public abstract class BlockTNTBase extends BlockFlammable implements IToolable { if(world.isBlockIndirectlyGettingPowered(x, y, z)) { this.onBlockDestroyedByPlayer(world, x, y, z, 1); world.setBlockToAir(x, y, z); + } else { + checkAndIgnite(world, x, y, z); + } + } + + public void checkAndIgnite(World world, int x, int y, int z) { + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + if(world.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ) == Blocks.fire) { + this.onBlockDestroyedByPlayer(world, x, y, z, 1); + world.setBlockToAir(x, y, z); + return; + } } } diff --git a/src/main/java/com/hbm/blocks/machine/HeaterFirebox.java b/src/main/java/com/hbm/blocks/machine/HeaterFirebox.java index e502b1a3b..70f1a0b94 100644 --- a/src/main/java/com/hbm/blocks/machine/HeaterFirebox.java +++ b/src/main/java/com/hbm/blocks/machine/HeaterFirebox.java @@ -29,7 +29,7 @@ public class HeaterFirebox extends BlockDummyable implements ITooltipProvider { /*if(lastCore.getX() == lastBlockSet.getX() && lastCore.getY() + 1 == lastBlockSet.getY() && lastCore.getZ() == lastBlockSet.getZ()) return new TileEntityProxyCombo().inventory().heatSource();*/ - return new TileEntityProxyCombo(true, false, false); + return new TileEntityProxyCombo().inventory().fluid(); } @Override diff --git a/src/main/java/com/hbm/blocks/machine/MachineDiFurnaceExtension.java b/src/main/java/com/hbm/blocks/machine/MachineDiFurnaceExtension.java index 3b8c4208f..7d67a92b5 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineDiFurnaceExtension.java +++ b/src/main/java/com/hbm/blocks/machine/MachineDiFurnaceExtension.java @@ -30,7 +30,7 @@ public class MachineDiFurnaceExtension extends BlockContainer implements IProxyC @Override public TileEntity createNewTileEntity(World world, int meta) { - return new TileEntityProxyCombo().inventory(); + return new TileEntityProxyCombo().inventory().fluid(); } @Override diff --git a/src/main/java/com/hbm/blocks/machine/MachineTurbineGas.java b/src/main/java/com/hbm/blocks/machine/MachineTurbineGas.java index f47e6b6c3..b89931cf7 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineTurbineGas.java +++ b/src/main/java/com/hbm/blocks/machine/MachineTurbineGas.java @@ -10,6 +10,7 @@ import java.util.Locale; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ILookOverlay; +import com.hbm.inventory.fluid.Fluids; import net.minecraft.block.material.Material; import net.minecraft.entity.player.EntityPlayer; @@ -88,6 +89,7 @@ public class MachineTurbineGas extends BlockDummyable implements ILookOverlay { if(hitCheck(dir, pos[0], pos[1], pos[2], -1, -1, 0, x, y, z) || hitCheck(dir, pos[0], pos[1], pos[2], 1, -1, 0, x, y, z)) { text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + turbine.tanks[0].getTankType().getName().toLowerCase(Locale.US))); text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + I18nUtil.resolveKey("hbmfluid." + turbine.tanks[1].getTankType().getName().toLowerCase(Locale.US))); + text.add(EnumChatFormatting.RED + "<- " + EnumChatFormatting.RESET + I18nUtil.resolveKey(Fluids.SMOKE.getUnlocalizedName())); } if(hitCheck(dir, pos[0], pos[1], pos[2], -1, 4, 0, x, y, z) || hitCheck(dir, pos[0], pos[1], pos[2], 1, 4, 0, x, y, z)) { 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 bd1561bc3..ba720d228 100644 --- a/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java +++ b/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java @@ -35,7 +35,7 @@ public class FluidTank { FluidType type; int fluid; int maxFluid; - public int index = 0; + @Deprecated public int index = 0; int pressure = 0; public FluidTank(FluidType type, int maxFluid) { 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 5c7672729..260c22ccb 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -490,6 +490,9 @@ public class AnvilRecipes { constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.fluid_duct_box, 1, i), new AnvilOutput(new ItemStack(ModItems.plate_iron))).setTier(2).setOverlay(OverlayType.RECYCLING)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.fluid_duct_box, 1, i + 1), new AnvilOutput(new ItemStack(ModItems.plate_copper))).setTier(2).setOverlay(OverlayType.RECYCLING)); constructionRecipes.add(new AnvilConstructionRecipe(new ComparableStack(ModBlocks.fluid_duct_box, 1, i + 2), new AnvilOutput(new ItemStack(ModItems.plate_aluminium))).setTier(2).setOverlay(OverlayType.RECYCLING)); + + constructionRecipes.add(new AnvilConstructionRecipe(new AStack[] {new OreDictStack(IRON.plate(), 1), new ComparableStack(ModItems.plate_polymer)}, new AnvilOutput(new ItemStack(ModBlocks.fluid_duct_exhaust, 8, i))).setTier(2).setOverlay(OverlayType.CONSTRUCTION)); + 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)); } } diff --git a/src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java b/src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java new file mode 100644 index 000000000..1b3af3793 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java @@ -0,0 +1,65 @@ +package com.hbm.tileentity; + +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; + +import api.hbm.fluid.IFluidUser; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraftforge.common.util.ForgeDirection; + +public abstract class TileEntityMachinePolluting extends TileEntityMachineBase implements IFluidUser { + + public FluidTank smoke; + public FluidTank smoke_leaded; + public FluidTank smoke_poison; + + public TileEntityMachinePolluting(int scount, int buffer) { + super(scount); + smoke = new FluidTank(Fluids.SMOKE, buffer); + smoke_leaded = new FluidTank(Fluids.SMOKE_LEADED, buffer); + smoke_poison = new FluidTank(Fluids.SMOKE_POISON, buffer); + } + + 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 * 40); + 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 / 40F); + } + } + + public void sendSmoke(int x, int y, int z, ForgeDirection dir) { + if(this.smoke.getFill() > 0) this.sendFluid(smoke, worldObj, x, y, z, dir); + if(this.smoke_leaded.getFill() > 0) this.sendFluid(smoke_leaded, worldObj, x, y, z, dir); + if(this.smoke_poison.getFill() > 0) this.sendFluid(smoke_poison, worldObj, x, y, z, dir); + } + + public FluidTank[] getSmokeTanks() { + return new FluidTank[] {smoke, smoke_leaded, smoke_poison}; + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + smoke.readFromNBT(nbt, "smoke0"); + smoke_leaded.readFromNBT(nbt, "smoke1"); + smoke_poison.readFromNBT(nbt, "smoke2"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + smoke.writeToNBT(nbt, "smoke0"); + smoke_leaded.writeToNBT(nbt, "smoke1"); + smoke_poison.writeToNBT(nbt, "smoke2"); + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java index 9833e540c..071d1e8b5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java @@ -1,18 +1,25 @@ package com.hbm.tileentity.machine; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; 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.main.MainRegistry; +import com.hbm.tileentity.INBTPacketReceiver; import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.fluid.IFluidUser; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityChimneyBrick extends TileEntityLoadedBase implements IFluidUser { +public class TileEntityChimneyBrick extends TileEntityLoadedBase implements IFluidUser, INBTPacketReceiver { + + public int onTicks; @Override public void updateEntity() { @@ -29,8 +36,34 @@ public class TileEntityChimneyBrick extends TileEntityLoadedBase implements IFlu this.trySubscribe(type, worldObj, xCoord, yCoord, zCoord - 2, Library.NEG_Z); } } + + NBTTagCompound data = new NBTTagCompound(); + data.setInteger("onTicks", onTicks); + INBTPacketReceiver.networkPack(this, data, 150); + } else { + + if(onTicks < 0) { + + if(worldObj.getTotalWorldTime() % 2 == 0) { + NBTTagCompound fx = new NBTTagCompound(); + fx.setString("type", "tower"); + fx.setFloat("lift", 10F); + fx.setFloat("base", 0.5F); + fx.setFloat("max", 3F); + fx.setInteger("life", 250 + worldObj.rand.nextInt(50)); + fx.setInteger("color",0x404040); + fx.setDouble("posX", xCoord + 0.5); + fx.setDouble("posY", yCoord + 12); + fx.setDouble("posZ", zCoord + 0.5); + MainRegistry.proxy.effectNT(fx); + } + } } } + + public void networkUnpack(NBTTagCompound nbt) { + this.onTicks = nbt.getInteger("onTicks"); + } @Override public boolean canConnect(FluidType type, ForgeDirection dir) { @@ -40,6 +73,14 @@ public class TileEntityChimneyBrick extends TileEntityLoadedBase implements IFlu @Override public long transferFluid(FluidType type, int pressure, long fluid) { + onTicks = 20; + + fluid *= 0.25; + + if(type == Fluids.SMOKE) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, fluid / 40F); + if(type == Fluids.SMOKE_LEADED) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, fluid / 40F); + if(type == Fluids.SMOKE_POISON) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.POISON, fluid / 40F); + return 0; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java index 57aa32c9c..55e9712f8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java @@ -5,13 +5,15 @@ import com.hbm.blocks.machine.MachineDiFurnace; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.inventory.container.ContainerDiFurnace; +import com.hbm.inventory.fluid.tank.FluidTank; 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.TileEntityMachineBase; +import com.hbm.tileentity.TileEntityMachinePolluting; +import api.hbm.fluid.IFluidStandardSender; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -23,8 +25,9 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityDiFurnace extends TileEntityMachineBase implements IGUIProvider { +public class TileEntityDiFurnace extends TileEntityMachinePolluting implements IFluidStandardSender, IGUIProvider { public int progress; public int fuel; @@ -37,7 +40,7 @@ public class TileEntityDiFurnace extends TileEntityMachineBase implements IGUIPr public byte sideLower = 1; public TileEntityDiFurnace() { - super(4); + super(4, 1200); } @Override @@ -183,6 +186,14 @@ public class TileEntityDiFurnace extends TileEntityMachineBase implements IGUIPr public void updateEntity() { if(!worldObj.isRemote) { + + boolean extension = worldObj.getBlock(xCoord, yCoord + 1, zCoord) == ModBlocks.machine_difurnace_extension; + + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { + this.sendSmoke(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + } + + if(extension) this.sendSmoke(xCoord, yCoord + 2, zCoord, ForgeDirection.UP); boolean markDirty = false; @@ -198,7 +209,6 @@ public class TileEntityDiFurnace extends TileEntityMachineBase implements IGUIPr } if(canProcess()) { - boolean extension = worldObj.getBlock(xCoord, yCoord + 1, zCoord) == ModBlocks.machine_difurnace_extension; //fuel -= extension ? 2 : 1; fuel -= 1; //switch it up on me, fuel efficiency, on fumes i'm running - running - running - running @@ -214,7 +224,7 @@ public class TileEntityDiFurnace extends TileEntityMachineBase implements IGUIPr fuel = 0; } - if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * (extension ? 3 : 1)); + if(worldObj.getTotalWorldTime() % 20 == 0) this.pollute(PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * (extension ? 3 : 1)); } else { progress = 0; @@ -263,4 +273,14 @@ public class TileEntityDiFurnace extends TileEntityMachineBase implements IGUIPr public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIDiFurnace(player.inventory, this); } + + @Override + public FluidTank[] getAllTanks() { + return new FluidTank[0]; + } + + @Override + public FluidTank[] getSendingTanks() { + return this.getSmokeTanks(); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java index b4d5a109c..3923448d7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java @@ -3,10 +3,13 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.BlockDummyable; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.module.ModuleBurnTime; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.TileEntityMachinePolluting; +import api.hbm.fluid.IFluidStandardSender; import api.hbm.tile.IHeatSource; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -16,7 +19,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.MathHelper; import net.minecraftforge.common.util.ForgeDirection; -public abstract class TileEntityFireboxBase extends TileEntityMachineBase implements IGUIProvider, IHeatSource { +public abstract class TileEntityFireboxBase extends TileEntityMachinePolluting implements IFluidStandardSender, IGUIProvider, IHeatSource { public int maxBurnTime; public int burnTime; @@ -31,7 +34,7 @@ public abstract class TileEntityFireboxBase extends TileEntityMachineBase implem public TileEntityFireboxBase() { - super(2); + super(2, 1_200); } @Override @@ -49,6 +52,15 @@ public abstract class TileEntityFireboxBase extends TileEntityMachineBase implem if(!worldObj.isRemote) { + for(int i = 2; i < 6; i++) { + ForgeDirection dir = ForgeDirection.getOrientation(i); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + for(int j = -1; j <= 1; j++) { + this.sendSmoke(xCoord + dir.offsetX * 2 + rot.offsetX * j, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ * j, dir); + } + } + wasOn = false; if(burnTime <= 0) { @@ -76,7 +88,7 @@ public abstract class TileEntityFireboxBase extends TileEntityMachineBase implem if(this.heatEnergy < getMaxHeat()) { burnTime--; - if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 3); + if(worldObj.getTotalWorldTime() % 20 == 0) this.pollute(PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 3); } this.wasOn = true; @@ -201,4 +213,19 @@ public abstract class TileEntityFireboxBase extends TileEntityMachineBase implem public double getMaxRenderDistanceSquared() { return 65536.0D; } + + @Override + public FluidTank[] getAllTanks() { + return new FluidTank[0]; + } + + @Override + public FluidTank[] getSendingTanks() { + return this.getSmokeTanks(); + } + + @Override + public boolean canConnect(FluidType type, ForgeDirection dir) { + return dir != ForgeDirection.UNKNOWN && dir != ForgeDirection.DOWN; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java index aeb9e670c..b5a762026 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java @@ -11,7 +11,7 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIFurnaceCombo; import com.hbm.inventory.recipes.CombinationRecipes; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.TileEntityMachinePolluting; import com.hbm.util.Tuple.Pair; import api.hbm.fluid.IFluidStandardSender; @@ -29,7 +29,7 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityFurnaceCombination extends TileEntityMachineBase implements IFluidStandardSender, IGUIProvider { +public class TileEntityFurnaceCombination extends TileEntityMachinePolluting implements IFluidStandardSender, IGUIProvider { public boolean wasOn; public int progress; @@ -42,7 +42,7 @@ public class TileEntityFurnaceCombination extends TileEntityMachineBase implemen public FluidTank tank; public TileEntityFurnaceCombination() { - super(4); + super(4, 1_200); this.tank = new FluidTank(Fluids.NONE, 24_000); } @@ -65,6 +65,7 @@ public class TileEntityFurnaceCombination extends TileEntityMachineBase implemen for(int y = yCoord; y <= yCoord + 1; y++) { for(int j = -1; j <= 1; j++) { if(tank.getFill() > 0) this.sendFluid(tank, worldObj, xCoord + dir.offsetX * 2 + rot.offsetX * j, y, zCoord + dir.offsetZ * 2 + rot.offsetZ * j, dir); + this.sendSmoke(xCoord + dir.offsetX * 2 + rot.offsetX * j, y, zCoord + dir.offsetZ * 2 + rot.offsetZ * j, dir); } } } @@ -72,6 +73,7 @@ public class TileEntityFurnaceCombination extends TileEntityMachineBase implemen for(int x = xCoord - 1; x <= xCoord + 1; x++) { for(int z = zCoord - 1; z <= zCoord + 1; z++) { if(tank.getFill() > 0) this.sendFluid(tank, worldObj, x, yCoord + 2, z, ForgeDirection.UP); + this.sendSmoke(x, yCoord + 2, z, ForgeDirection.UP); } } } @@ -122,7 +124,7 @@ public class TileEntityFurnaceCombination extends TileEntityMachineBase implemen if(worldObj.getTotalWorldTime() % 10 == 0) this.worldObj.playSoundEffect(this.xCoord, this.yCoord + 1, this.zCoord, "hbm:weapon.flamethrowerShoot", 0.25F, 0.5F); } - if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 3); + if(worldObj.getTotalWorldTime() % 20 == 0) this.pollute(PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 3); } else { this.progress = 0; } @@ -274,6 +276,6 @@ public class TileEntityFurnaceCombination extends TileEntityMachineBase implemen @Override public FluidTank[] getSendingTanks() { - return new FluidTank[] {tank}; + return new FluidTank[] {tank, smoke, smoke_leaded, smoke_poison}; } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java index 0a5dfbd92..aafd90a83 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceIron.java @@ -67,7 +67,6 @@ public class TileEntityFurnaceIron extends TileEntityMachineBase implements IGUI if(slots[i] != null) { int fuel = burnModule.getBurnTime(slots[i]); - //int fuel = TileEntityFurnace.getItemBurnTime(slots[i]); if(fuel > 0) { this.maxBurnTime = this.burnTime = fuel; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java index 555704c86..578b24826 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java @@ -3,9 +3,7 @@ package com.hbm.tileentity.machine; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.interfaces.IControlReceiver; -import com.hbm.interfaces.IFluidAcceptor; import com.hbm.inventory.container.ContainerOilburner; -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; @@ -13,9 +11,10 @@ import com.hbm.inventory.fluid.trait.FluidTraitSimple.FT_Leaded; import com.hbm.inventory.gui.GUIOilburner; import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.TileEntityMachinePolluting; +import com.hbm.util.fauxpointtwelve.DirPos; -import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.fluid.IFluidStandardTransceiver; import api.hbm.tile.IHeatSource; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -26,7 +25,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; -public class TileEntityHeaterOilburner extends TileEntityMachineBase implements IGUIProvider, IFluidStandardReceiver, IHeatSource, IControlReceiver, IFluidAcceptor { +public class TileEntityHeaterOilburner extends TileEntityMachinePolluting implements IGUIProvider, IFluidStandardTransceiver, IHeatSource, IControlReceiver { public boolean isOn = false; public FluidTank tank; @@ -36,14 +35,23 @@ public class TileEntityHeaterOilburner extends TileEntityMachineBase implements public static final int maxHeatEnergy = 100_000; public TileEntityHeaterOilburner() { - super(3); - tank = new FluidTank(Fluids.HEATINGOIL, 16000, 0); + super(3, 2_000); + tank = new FluidTank(Fluids.HEATINGOIL, 16000); } @Override public String getName() { return "container.heaterOilburner"; } + + public DirPos[] getConPos() { + return new DirPos[] { + new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X), + new DirPos(xCoord - 2, yCoord, zCoord, Library.NEG_X), + new DirPos(xCoord, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord, yCoord, zCoord - 2, Library.NEG_Z) + }; + } @Override public void updateEntity() { @@ -53,10 +61,10 @@ public class TileEntityHeaterOilburner extends TileEntityMachineBase implements tank.loadTank(0, 1, slots); tank.setType(2, slots); - this.trySubscribe(tank.getTankType(), worldObj, xCoord + 2, yCoord, zCoord, Library.POS_X); - this.trySubscribe(tank.getTankType(), worldObj, xCoord - 2, yCoord, zCoord, Library.NEG_X); - this.trySubscribe(tank.getTankType(), worldObj, xCoord, yCoord, zCoord + 2, Library.POS_Z); - this.trySubscribe(tank.getTankType(), worldObj, xCoord, yCoord, zCoord - 2, Library.NEG_Z); + for(DirPos pos : this.getConPos()) { + this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.sendSmoke(pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } boolean shouldCool = true; @@ -75,8 +83,8 @@ public class TileEntityHeaterOilburner extends TileEntityMachineBase implements this.heatEnergy += heat * toBurn; if(worldObj.getTotalWorldTime() % 20 == 0) { - PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * burnRate * 0.5F); - if(tank.getTankType().hasTrait(FT_Leaded.class)) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * burnRate * 0.5F); + this.pollute(PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * burnRate * 0.5F); + if(tank.getTankType().hasTrait(FT_Leaded.class)) this.pollute(PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * burnRate * 0.5F); } shouldCool = false; @@ -157,28 +165,6 @@ public class TileEntityHeaterOilburner extends TileEntityMachineBase implements this.heatEnergy = Math.max(0, this.heatEnergy - heat); } - @Override - public void setFillForSync(int fill, int index) { } - - @Override - public void setFluidFill(int fill, FluidType type) { - if(type == tank.getTankType()) - tank.setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { } - - @Override - public int getFluidFill(FluidType type) { - return type == tank.getTankType() ? tank.getFill() : 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - return type == tank.getTankType() ? tank.getMaxFill() : 0; - } - @Override public boolean hasPermission(EntityPlayer player) { return player.getDistanceSq(xCoord, yCoord, zCoord) <= 256; @@ -221,4 +207,9 @@ public class TileEntityHeaterOilburner extends TileEntityMachineBase implements public FluidTank[] getAllTanks() { return new FluidTank[] { tank }; } + + @Override + public FluidTank[] getSendingTanks() { + return this.getSmokeTanks(); + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java index 449e3aea4..34c858098 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java @@ -7,27 +7,20 @@ import com.google.gson.stream.JsonWriter; import com.hbm.blocks.machine.MachineCoal; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidContainer; import com.hbm.inventory.FluidContainerRegistry; import com.hbm.inventory.container.ContainerMachineCoal; -import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIMachineCoal; 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.IConfigurableMachine; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.tileentity.TileEntityMachinePolluting; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyGenerator; -import api.hbm.fluid.IFluidStandardReceiver; -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -37,15 +30,12 @@ import net.minecraft.inventory.Container; import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntityFurnace; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISidedInventory, IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IConfigurableMachine, IGUIProvider { +public class TileEntityMachineCoal extends TileEntityMachinePolluting implements ISidedInventory, IEnergyGenerator, IFluidStandardTransceiver, IConfigurableMachine, IGUIProvider { - private ItemStack slots[]; - public long power; public int burnTime; public static final long maxPower = 100000; @@ -55,84 +45,21 @@ public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISide private static final int[] slots_bottom = new int[] {0, 2}; private static final int[] slots_side = new int[] {0, 2}; - private String customName; - /* CONFIGURABLE CONSTANTS */ public static int waterCap = 5000; public static int genRate = 25; public static double fuelMod = 0.5D; public TileEntityMachineCoal() { - slots = new ItemStack[4]; + super(4, 120); tank = new FluidTank(Fluids.WATER, waterCap, 0); } @Override - public int getSizeInventory() { - return slots.length; + public String getName() { + return "container.machineCoal"; } - @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.machineCoal"; - } - - @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 stack) { if(i == 0) @@ -148,46 +75,12 @@ public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISide return false; } - @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); this.power = nbt.getLong("powerTime"); tank.readFromNBT(nbt, "water"); - 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 @@ -195,26 +88,12 @@ public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISide super.writeToNBT(nbt); nbt.setLong("powerTime", power); tank.writeToNBT(nbt, "water"); - 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); - } + 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) { @@ -242,8 +121,10 @@ public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISide if(!worldObj.isRemote) { - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { this.sendPower(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + this.sendSmoke(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + } this.subscribeToAllAround(Fluids.WATER, this); @@ -257,23 +138,29 @@ public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISide boolean trigger = true; - if(isItemValid() && this.burnTime == 0) - { + if(isItemValid() && this.burnTime == 0) { trigger = false; } - - if(trigger) - { - MachineCoal.updateBlockState(this.burnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); - } - - 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, burnTime, 0), new TargetPoint(worldObj.provider.dimensionId, xCoord, yCoord, zCoord, 50)); + + if(trigger) { + MachineCoal.updateBlockState(this.burnTime > 0, this.worldObj, this.xCoord, this.yCoord, this.zCoord); + } generate(); + + NBTTagCompound data = new NBTTagCompound(); + data.setLong("power", power); + tank.writeToNBT(data, "tank"); + this.networkPack(data, 15); } } + @Override + public void networkUnpack(NBTTagCompound nbt) { + this.power = nbt.getLong("power"); + this.tank.readFromNBT(nbt, "tank"); + } + public void generate() { if(slots[1] != null && TileEntityFurnace.getItemBurnTime(slots[1]) > 0 && burnTime <= 0) @@ -292,7 +179,7 @@ public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISide if(burnTime > 0) { burnTime--; - if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND); + if(worldObj.getTotalWorldTime() % 20 == 0) this.pollute(PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND); if(tank.getFill() > 0) { tank.setFill(tank.getFill() - 1); @@ -307,8 +194,7 @@ public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISide public boolean isItemValid() { - if(slots[1] != null && TileEntityFurnace.getItemBurnTime(slots[1]) > 0) - { + if(slots[1] != null && TileEntityFurnace.getItemBurnTime(slots[1]) > 0) { return true; } @@ -330,37 +216,16 @@ public class TileEntityMachineCoal extends TileEntityLoadedBase implements ISide return this.maxPower; } - @Override - public void setFluidFill(int i, FluidType type) { - if(type.name().equals(tank.getTankType().name())) - tank.setFill(i); - } - - @Override - public int getFluidFill(FluidType type) { - return type.name().equals(this.tank.getTankType().name()) ? tank.getFill() : 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - return type.name().equals(this.tank.getTankType().name()) ? tank.getMaxFill() : 0; - } - - @Override - public void setFillForSync(int fill, int index) { - tank.setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { - tank.setTankType(type); - } - @Override public FluidTank[] getReceivingTanks() { return new FluidTank[] {tank}; } + @Override + public FluidTank[] getSendingTanks() { + return this.getSmokeTanks(); + } + @Override public FluidTank[] getAllTanks() { return new FluidTank[] { tank }; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java index 1527a9e17..d824817ee 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java @@ -17,12 +17,12 @@ import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.TileEntityMachinePolluting; import com.hbm.util.EnumUtil; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energy.IEnergyGenerator; -import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -34,7 +34,7 @@ import net.minecraft.util.MathHelper; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCombustionEngine extends TileEntityMachineBase implements IEnergyGenerator, IFluidStandardReceiver, IControlReceiver, IGUIProvider { +public class TileEntityMachineCombustionEngine extends TileEntityMachinePolluting implements IEnergyGenerator, IFluidStandardTransceiver, IControlReceiver, IGUIProvider { public boolean isOn = false; public static long maxPower = 2_500_000; @@ -52,7 +52,7 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachineBase imp public int tenth = 0; public TileEntityMachineCombustionEngine() { - super(5); + super(5, 1_200); this.tank = new FluidTank(Fluids.DIESEL, 24_000, 0); } @@ -88,8 +88,8 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachineBase imp fill -= toBurn; if(worldObj.getTotalWorldTime() % 20 == 0) { - PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * setting * 0.1F); - if(tank.getTankType().hasTrait(FT_Leaded.class)) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * setting * 0.1F); + this.pollute(PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * setting * 0.1F); + if(tank.getTankType().hasTrait(FT_Leaded.class)) this.pollute(PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * setting * 0.1F); } if(toBurn > 0) { @@ -109,6 +109,7 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachineBase imp for(DirPos pos : getConPos()) { this.sendPower(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) @@ -275,6 +276,11 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachineBase imp public FluidTank[] getReceivingTanks() { return new FluidTank[] {tank}; } + + @Override + public FluidTank[] getSendingTanks() { + return this.getSmokeTanks(); + } AxisAlignedBB bb = null; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java index dcb1f443a..3159686a9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java @@ -23,11 +23,11 @@ import com.hbm.items.ModItems; import com.hbm.lib.Library; import com.hbm.tileentity.IConfigurableMachine; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.TileEntityMachinePolluting; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyGenerator; -import api.hbm.fluid.IFluidStandardReceiver; +import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -38,7 +38,7 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineDiesel extends TileEntityMachineBase implements IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IConfigurableMachine, IGUIProvider { +public class TileEntityMachineDiesel extends TileEntityMachinePolluting implements IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardTransceiver, IConfigurableMachine, IGUIProvider { public long power; public int soundCycle = 0; @@ -61,7 +61,7 @@ public class TileEntityMachineDiesel extends TileEntityMachineBase implements IE private static final int[] slots_side = new int[] { 2 }; public TileEntityMachineDiesel() { - super(5); + super(5, 200); tank = new FluidTank(Fluids.DIESEL, 4_000, 0); } @@ -130,8 +130,10 @@ public class TileEntityMachineDiesel extends TileEntityMachineBase implements IE if(!worldObj.isRemote) { - for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) + for(ForgeDirection dir : ForgeDirection.VALID_DIRECTIONS) { this.sendPower(worldObj, xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + this.sendSmoke(xCoord + dir.offsetX, yCoord + dir.offsetY, zCoord + dir.offsetZ, dir); + } //Tank Management FluidType last = tank.getTankType(); @@ -207,8 +209,8 @@ public class TileEntityMachineDiesel extends TileEntityMachineBase implements IE if(tank.getFill() < 0) tank.setFill(0); - PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 0.5F); - if(tank.getTankType().hasTrait(FT_Leaded.class)) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * 0.5F); + this.pollute(PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * 0.5F); + if(tank.getTankType().hasTrait(FT_Leaded.class)) this.pollute(PollutionType.HEAVYMETAL, PollutionHandler.HEAVY_METAL_PER_SECOND * 0.5F); if(power + getHEFromFuel() <= powerCap) { power += getHEFromFuel(); @@ -318,4 +320,9 @@ public class TileEntityMachineDiesel extends TileEntityMachineBase implements IE public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { return new GUIMachineDiesel(player.inventory, this); } + + @Override + public FluidTank[] getSendingTanks() { + return null; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java index 336e27bc5..033969173 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java @@ -18,7 +18,7 @@ import com.hbm.lib.Library; import com.hbm.main.MainRegistry; import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.TileEntityMachinePolluting; import api.hbm.energy.IEnergyGenerator; import api.hbm.fluid.IFluidStandardTransceiver; @@ -33,7 +33,7 @@ import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineTurbineGas extends TileEntityMachineBase implements IFluidStandardTransceiver, IEnergyGenerator, IControlReceiver, IGUIProvider { +public class TileEntityMachineTurbineGas extends TileEntityMachinePolluting implements IFluidStandardTransceiver, IEnergyGenerator, IControlReceiver, IGUIProvider { public long power; public static final long maxPower = 1000000L; @@ -69,7 +69,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement //TODO particles from heat exchanger maybe? maybe in a future public TileEntityMachineTurbineGas() { - super(2); + super(2, 5_000); this.tanks = new FluidTank[4]; tanks[0] = new FluidTank(Fluids.GAS, 100000); tanks[1] = new FluidTank(Fluids.LUBRICANT, 16000); @@ -137,6 +137,9 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement 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); + + this.sendSmoke(xCoord - dir.offsetX * 2 + rot.offsetX, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ, dir.getOpposite()); + this.sendSmoke(xCoord + dir.offsetX * 2 + rot.offsetX, yCoord, zCoord + dir.offsetZ * 2 + rot.offsetZ, dir); } //water this.trySubscribe(tanks[2].getTankType(), worldObj, xCoord - dir.offsetX * 2 + rot.offsetX * -4, yCoord, zCoord - dir.offsetZ * 2 + rot.offsetZ * -4, dir.getOpposite()); @@ -300,7 +303,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement } double consumption = fuelMaxCons.containsKey(tanks[0].getTankType()) ? fuelMaxCons.get(tanks[0].getTankType()) : 5D; - if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * (float) consumption * 0.25F); + if(worldObj.getTotalWorldTime() % 20 == 0 && tanks[0].getTankType() != Fluids.OXYHYDROGEN) this.pollute(PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * (float) consumption * 0.25F); makePower(consumption, throttle); } @@ -533,7 +536,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement @Override public FluidTank[] getSendingTanks() { - return new FluidTank[] { tanks[3] }; + return new FluidTank[] { tanks[3], smoke, smoke_leaded, smoke_poison }; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index e3f2e7705..c0f0575bd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -26,7 +26,7 @@ import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; import com.hbm.sound.AudioWrapper; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.TileEntityMachinePolluting; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energy.IEnergyGenerator; @@ -46,7 +46,7 @@ import net.minecraft.util.DamageSource; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineTurbofan extends TileEntityMachineBase implements IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardTransceiver, IGUIProvider { +public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implements IEnergyGenerator, IFluidContainer, IFluidAcceptor, IFluidStandardTransceiver, IGUIProvider { public long power; public static final long maxPower = 1_000_000; @@ -64,7 +64,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements private AudioWrapper audio; public TileEntityMachineTurbofan() { - super(5); + super(5, 4_000); tank = new FluidTank(Fluids.KEROSENE, 24000); blood = new FluidTank(Fluids.BLOOD, 24000); } @@ -173,6 +173,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements this.sendPower(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) { @@ -474,7 +475,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements @Override public FluidTank[] getAllTanks() { - return new FluidTank[] { tank, blood }; + return new FluidTank[] { tank, blood, smoke, smoke_leaded, smoke_poison }; } @Override 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 8ad9a8e13..39f928faf 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineGasFlare.java @@ -23,6 +23,7 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.util.ParticleUtil; +import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energy.IEnergyGenerator; import api.hbm.fluid.IFluidStandardReceiver; @@ -95,15 +96,10 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements if(!worldObj.isRemote) { - this.sendPower(worldObj, xCoord + 2, yCoord, zCoord, Library.POS_X); - this.sendPower(worldObj, xCoord - 2, yCoord, zCoord, Library.NEG_X); - this.sendPower(worldObj, xCoord, yCoord, zCoord + 2, Library.POS_Z); - this.sendPower(worldObj, xCoord, yCoord, zCoord - 2, Library.NEG_Z); - - this.trySubscribe(tank.getTankType(), worldObj, xCoord + 2, yCoord, zCoord, Library.POS_X); - this.trySubscribe(tank.getTankType(), worldObj, xCoord - 2, yCoord, zCoord, Library.NEG_X); - this.trySubscribe(tank.getTankType(), worldObj, xCoord, yCoord, zCoord + 2, Library.POS_Z); - this.trySubscribe(tank.getTankType(), worldObj, xCoord, yCoord, zCoord - 2, Library.NEG_Z); + for(DirPos pos : getConPos()) { + this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } tank.setType(3, slots); tank.loadTank(1, 2, slots); @@ -221,7 +217,15 @@ public class TileEntityMachineGasFlare extends TileEntityMachineBase implements } } } - + } + + public DirPos[] getConPos() { + return new DirPos[] { + new DirPos(xCoord + 2, yCoord, zCoord, Library.POS_X), + new DirPos(xCoord - 2, yCoord, zCoord, Library.NEG_X), + new DirPos(xCoord, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord, yCoord, zCoord - 2, Library.NEG_Z) + }; } @Override From 8bc1f730758071cb1faa046dd7cf5b726e90f7dd Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 1 Jul 2023 19:19:09 +0200 Subject: [PATCH 232/285] big smoke --- changelog | 6 +++--- .../inventory/recipes/anvil/AnvilRecipes.java | 7 +++++++ .../hbm/items/tool/ItemPollutionDetector.java | 8 ++++---- .../tileentity/TileEntityMachinePolluting.java | 6 ++++-- .../machine/TileEntityChimneyBrick.java | 11 +++++++---- .../tileentity/machine/TileEntityDiFurnace.java | 2 +- .../machine/TileEntityFireboxBase.java | 2 +- .../machine/TileEntityFurnaceCombination.java | 2 +- .../machine/TileEntityHeaterOilburner.java | 2 +- .../machine/TileEntityMachineCoal.java | 2 +- .../TileEntityMachineCombustionEngine.java | 2 +- .../machine/TileEntityMachineDiesel.java | 4 ++-- .../machine/TileEntityMachineTurbineGas.java | 2 +- .../machine/TileEntityMachineTurbofan.java | 2 +- src/main/resources/assets/hbm/lang/de_DE.lang | 4 ++++ src/main/resources/assets/hbm/lang/en_US.lang | 4 ++++ .../assets/hbm/textures/gui/fluids/smoke.png | Bin 0 -> 8176 bytes .../hbm/textures/gui/fluids/smoke_leaded.png | Bin 0 -> 7062 bytes .../hbm/textures/gui/fluids/smoke_poison.png | Bin 0 -> 5821 bytes 19 files changed, 43 insertions(+), 23 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/smoke.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/smoke_leaded.png create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/smoke_poison.png diff --git a/changelog b/changelog index 4ca915e72..f51dde21b 100644 --- a/changelog +++ b/changelog @@ -6,9 +6,9 @@ * Can be grilled * Fluid valves * come in manual and restone variants -* Chimney - * Most polluting machines can now be connected to a chimney with exhaust pipes - * The chimney will vent the pollution created by the machines, reducing it by 75% +* Smokestack + * Most polluting machines can now be connected to a smokestack with exhaust pipes + * The smokestack will vent the pollution created by the machines, reducing it by 75% * Compatible with soot, heavy metal and poison pollution ## Changed 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 260c22ccb..96fbafedd 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -417,6 +417,13 @@ public class AnvilRecipes { }, new AnvilOutput(new ItemStack(ModBlocks.substation))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new AStack[] { + new OreDictStack(STEEL.plate(), 4), + new ComparableStack(Blocks.brick_block, 16) + }, + new AnvilOutput(new ItemStack(ModBlocks.chimney_brick))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new ComparableStack(ModItems.tank_steel, 1), diff --git a/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java index 9b1a14ec3..4ff3cc55f 100644 --- a/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java +++ b/src/main/java/com/hbm/items/tool/ItemPollutionDetector.java @@ -34,9 +34,9 @@ public class ItemPollutionDetector extends Item { heavymetal = ((int) (heavymetal * 100)) / 100F; fallout = ((int) (fallout * 100)) / 100F; - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Soot: " + soot).color(EnumChatFormatting.YELLOW).flush(), 100, 2000), (EntityPlayerMP) entity); - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Poison: " + poison).color(EnumChatFormatting.YELLOW).flush(), 101, 2000), (EntityPlayerMP) entity); - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Heavy metal: " + heavymetal).color(EnumChatFormatting.YELLOW).flush(), 102, 2000), (EntityPlayerMP) entity); - PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Fallout: " + fallout).color(EnumChatFormatting.YELLOW).flush(), 103, 2000), (EntityPlayerMP) entity); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Soot: " + soot).color(EnumChatFormatting.YELLOW).flush(), 100, 4000), (EntityPlayerMP) entity); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Poison: " + poison).color(EnumChatFormatting.YELLOW).flush(), 101, 4000), (EntityPlayerMP) entity); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Heavy metal: " + heavymetal).color(EnumChatFormatting.YELLOW).flush(), 102, 4000), (EntityPlayerMP) entity); + PacketDispatcher.wrapper.sendTo(new PlayerInformPacket(ChatBuilder.start("Fallout: " + fallout).color(EnumChatFormatting.YELLOW).flush(), 103, 4000), (EntityPlayerMP) entity); } } diff --git a/src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java b/src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java index 1b3af3793..ffba5d8a1 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java +++ b/src/main/java/com/hbm/tileentity/TileEntityMachinePolluting.java @@ -25,13 +25,15 @@ public abstract class TileEntityMachinePolluting extends TileEntityMachineBase i 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 * 40); + 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 / 40F); + PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, type, overflow / 100F); + + if(worldObj.rand.nextInt(3) == 0) worldObj.playSoundEffect(xCoord, yCoord, zCoord, "random.fizz", 0.1F, 1.5F); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java index 071d1e8b5..7d636a718 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java @@ -40,9 +40,12 @@ public class TileEntityChimneyBrick extends TileEntityLoadedBase implements IFlu NBTTagCompound data = new NBTTagCompound(); data.setInteger("onTicks", onTicks); INBTPacketReceiver.networkPack(this, data, 150); + + if(onTicks > 0) onTicks--; + } else { - if(onTicks < 0) { + if(onTicks > 0) { if(worldObj.getTotalWorldTime() % 2 == 0) { NBTTagCompound fx = new NBTTagCompound(); @@ -77,9 +80,9 @@ public class TileEntityChimneyBrick extends TileEntityLoadedBase implements IFlu fluid *= 0.25; - if(type == Fluids.SMOKE) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, fluid / 40F); - if(type == Fluids.SMOKE_LEADED) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.HEAVYMETAL, fluid / 40F); - if(type == Fluids.SMOKE_POISON) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.POISON, fluid / 40F); + 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; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java index 55e9712f8..1a10e1a7e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityDiFurnace.java @@ -40,7 +40,7 @@ public class TileEntityDiFurnace extends TileEntityMachinePolluting implements I public byte sideLower = 1; public TileEntityDiFurnace() { - super(4, 1200); + super(4, 50); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java index 3923448d7..e34d8eb8e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFireboxBase.java @@ -34,7 +34,7 @@ public abstract class TileEntityFireboxBase extends TileEntityMachinePolluting i public TileEntityFireboxBase() { - super(2, 1_200); + super(2, 50); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java index b5a762026..de325d440 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityFurnaceCombination.java @@ -42,7 +42,7 @@ public class TileEntityFurnaceCombination extends TileEntityMachinePolluting imp public FluidTank tank; public TileEntityFurnaceCombination() { - super(4, 1_200); + super(4, 50); this.tank = new FluidTank(Fluids.NONE, 24_000); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java index 578b24826..41bb5ed92 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeaterOilburner.java @@ -35,7 +35,7 @@ public class TileEntityHeaterOilburner extends TileEntityMachinePolluting implem public static final int maxHeatEnergy = 100_000; public TileEntityHeaterOilburner() { - super(3, 2_000); + super(3, 100); tank = new FluidTank(Fluids.HEATINGOIL, 16000); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java index 34c858098..88e45d6b7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java @@ -51,7 +51,7 @@ public class TileEntityMachineCoal extends TileEntityMachinePolluting implements public static double fuelMod = 0.5D; public TileEntityMachineCoal() { - super(4, 120); + super(4, 50); tank = new FluidTank(Fluids.WATER, waterCap, 0); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java index d824817ee..38fce4e2a 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java @@ -52,7 +52,7 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachinePollutin public int tenth = 0; public TileEntityMachineCombustionEngine() { - super(5, 1_200); + super(5, 50); this.tank = new FluidTank(Fluids.DIESEL, 24_000, 0); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java index 3159686a9..f1c7097e7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineDiesel.java @@ -61,7 +61,7 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen private static final int[] slots_side = new int[] { 2 }; public TileEntityMachineDiesel() { - super(5, 200); + super(5, 100); tank = new FluidTank(Fluids.DIESEL, 4_000, 0); } @@ -323,6 +323,6 @@ public class TileEntityMachineDiesel extends TileEntityMachinePolluting implemen @Override public FluidTank[] getSendingTanks() { - return null; + return this.getSmokeTanks(); } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java index 033969173..b98d7daf0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java @@ -69,7 +69,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachinePolluting impl //TODO particles from heat exchanger maybe? maybe in a future public TileEntityMachineTurbineGas() { - super(2, 5_000); + super(2, 200); this.tanks = new FluidTank[4]; tanks[0] = new FluidTank(Fluids.GAS, 100000); tanks[1] = new FluidTank(Fluids.LUBRICANT, 16000); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index c0f0575bd..53e056569 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -64,7 +64,7 @@ public class TileEntityMachineTurbofan extends TileEntityMachinePolluting implem private AudioWrapper audio; public TileEntityMachineTurbofan() { - super(5, 4_000); + super(5, 150); tank = new FluidTank(Fluids.KEROSENE, 24000); blood = new FluidTank(Fluids.BLOOD, 24000); } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 1a4bc80b9..2264cc015 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -707,6 +707,9 @@ hbmfluid.sas3=Schrabidiumtrisulfat hbmfluid.schrabidic=Schrabidische Säure hbmfluid.seedslurry=Saatgemisch hbmfluid.smear=Industrieöl +hbmfluid.smoke=Abgas +hbmfluid.smoke_leaded=Bleiabgas +hbmfluid.smoke_poison=Giftige Abgase hbmfluid.solvent=Lösungsmittel hbmfluid.sourgas=Saures Gas hbmfluid.spentsteam=Niedrigdruckdampf @@ -3624,6 +3627,7 @@ tile.charge_semtex.name=Semtex-Bergbauladung tile.charger.name=Ladestation tile.cheater_virus.name=Geliertes Euphemium tile.cheater_virus_seed.name=Instabiler Euphemiumschrabid-Block +tile.chimney_brick.name=Schornstein tile.chlorine_gas.name=Chlorgas tile.cluster_aluminium.name=Aluminiumerzcluster tile.cluster_copper.name=Kupfererzcluster diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 75ec980cc..98af28e56 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1324,6 +1324,9 @@ hbmfluid.sas3=Schrabidium Trisulfide hbmfluid.schrabidic=Schrabidic Acid hbmfluid.seedslurry=Seeding Slurry hbmfluid.smear=Industrial Oil +hbmfluid.smoke=Smoke +hbmfluid.smoke_leaded=Leaded Smoke +hbmfluid.smoke_poison=Poison Smoke hbmfluid.solvent=Solvent hbmfluid.sourgas=Sour Gas hbmfluid.spentsteam=Low-Pressure Steam @@ -4487,6 +4490,7 @@ tile.charge_semtex.name=Semtex Mining Charge tile.charger.name=Charging Station tile.cheater_virus.name=Gelid Euphemium tile.cheater_virus_seed.name=Unstable Euphemium Schrabide Block +tile.chimney_brick.name=Smokestack tile.chlorine_gas.name=Chlorine Gas tile.cluster_aluminium.name=Aluminium Ore Cluster tile.cluster_copper.name=Copper Ore Cluster diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/smoke.png b/src/main/resources/assets/hbm/textures/gui/fluids/smoke.png new file mode 100644 index 0000000000000000000000000000000000000000..1e275e7d354631a878ebb4905f1f2797be37213a GIT binary patch literal 8176 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 AKL7v# literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/smoke_poison.png b/src/main/resources/assets/hbm/textures/gui/fluids/smoke_poison.png new file mode 100644 index 0000000000000000000000000000000000000000..4af9e902805c8dcc7080995ac5b06973e2300d2c GIT binary patch literal 5821 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 Hu0mjf*RSoH literal 0 HcmV?d00001 From e46acfb19a5b958d84dd0bbfd4bfc20be1ff6da4 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 1 Jul 2023 20:26:53 +0200 Subject: [PATCH 233/285] beep beep --- .../java/com/hbm/crafting/WeaponRecipes.java | 1 - .../java/com/hbm/entity/EntityMappings.java | 1 - .../hbm/entity/grenade/EntityGrenadeCats.java | 50 ------------------- src/main/java/com/hbm/items/ModItems.java | 3 -- .../com/hbm/items/weapon/ItemGrenade.java | 3 -- src/main/java/com/hbm/main/ClientProxy.java | 1 - src/main/java/com/hbm/main/MainRegistry.java | 5 -- 7 files changed, 64 deletions(-) delete mode 100644 src/main/java/com/hbm/entity/grenade/EntityGrenadeCats.java diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index 86ea190d8..d1fd20064 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -347,7 +347,6 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_pink_cloud), new Object[] { " S ", "ECE", " E ", 'S', ModItems.powder_spark_mix, 'E', ModItems.powder_magic, 'C', ModItems.grenade_cloud }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.nuclear_waste_pearl), new Object[] { "WWW", "WFW", "WWW", 'W', ModItems.nuclear_waste_tiny, 'F', ModBlocks.block_fallout }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_kyiv), new Object[] { ModItems.canister_napalm, ModItems.bottle2_empty, ModItems.rag }); - CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenate_cats), "FFF", "FGF", "FFF", 'F', new ItemStack(Items.fish, 1, OreDictionary.WILDCARD_VALUE), 'G', ModItems.grenade_smart); //Sticks of explosives CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_dynamite, 4), new Object[] { " S ", "PDP", "PDP", 'S', ModItems.safety_fuse, 'P', Items.paper, 'D', ModItems.ball_dynamite }); diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index 8659a7426..b41ab7eb7 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -142,7 +142,6 @@ public class EntityMappings { addEntity(EntityGrenadeMIRV.class, "entity_grenade_mirv", 250); addEntity(EntityGrenadeBreach.class, "entity_grenade_breach", 250); addEntity(EntityGrenadeBurst.class, "entity_grenade_burst", 250); - addEntity(EntityGrenadeCats.class, "entity_grenade_cats", 250); addEntity(EntityBurningFOEQ.class, "entity_burning_foeq", 1000); addEntity(EntityGrenadeIFGeneric.class, "entity_grenade_ironshod", 250); addEntity(EntityGrenadeIFHE.class, "entity_grenade_ironshod_he", 250); diff --git a/src/main/java/com/hbm/entity/grenade/EntityGrenadeCats.java b/src/main/java/com/hbm/entity/grenade/EntityGrenadeCats.java deleted file mode 100644 index 0f9c21275..000000000 --- a/src/main/java/com/hbm/entity/grenade/EntityGrenadeCats.java +++ /dev/null @@ -1,50 +0,0 @@ -package com.hbm.entity.grenade; - -import com.hbm.items.ModItems; -import com.hbm.items.weapon.ItemGrenade; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.passive.EntityOcelot; -import net.minecraft.world.World; - -public class EntityGrenadeCats extends EntityGrenadeBouncyBase { - - public EntityGrenadeCats(World world) { - super(world); - } - - public EntityGrenadeCats(World world, EntityLivingBase living) { - super(world, living); - } - - public EntityGrenadeCats(World world, double posX, double posY, double posZ) { - super(world, posX, posY, posZ); - } - - @Override - public void explode() { - if (!this.worldObj.isRemote) { - this.setDead(); - - for(int i = 0; i < 5; i++) { - EntityOcelot cat = new EntityOcelot(worldObj); - cat.setPosition(posX, posY, posZ); - cat.motionX = rand.nextGaussian() * 0.1D; - cat.motionY = -0.25D; - cat.motionZ = rand.nextGaussian() * 0.1D; - - worldObj.spawnEntityInWorld(cat); - cat.onSpawnWithEgg(null); - } - } - } - - @Override - protected int getMaxTimer() { - return ItemGrenade.getFuseTicks(ModItems.grenate_cats); - } - - @Override - protected double getBounceMod() { - return 0.25D; - } -} diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 3b3fe6874..4ed72c5e5 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1673,7 +1673,6 @@ public class ModItems { public static Item grenade_mirv; public static Item grenade_breach; public static Item grenade_burst; - public static Item grenate_cats; public static Item nuclear_waste_pearl; @@ -4293,7 +4292,6 @@ public class ModItems { 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"); - grenate_cats = new ItemGrenade(1).setUnlocalizedName("grenate_cats").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_cats"); 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"); @@ -7346,7 +7344,6 @@ public class ModItems { 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(grenate_cats, grenate_cats.getUnlocalizedName()); GameRegistry.registerItem(nuclear_waste_pearl, nuclear_waste_pearl.getUnlocalizedName()); GameRegistry.registerItem(ullapool_caber, ullapool_caber.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/weapon/ItemGrenade.java b/src/main/java/com/hbm/items/weapon/ItemGrenade.java index 7451f6a3a..4bca576fe 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGrenade.java +++ b/src/main/java/com/hbm/items/weapon/ItemGrenade.java @@ -172,9 +172,6 @@ public class ItemGrenade extends Item { if (this == ModItems.stick_dynamite) { p_77659_2_.spawnEntityInWorld(new EntityGrenadeDynamite(p_77659_2_, p_77659_3_)); } - if (this == ModItems.grenate_cats) { - p_77659_2_.spawnEntityInWorld(new EntityGrenadeCats(p_77659_2_, p_77659_3_)); - } } return p_77659_1_; diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 45ccf168e..2cc2d6e41 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -634,7 +634,6 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeDynamite.class, new RenderSnowball(ModItems.stick_dynamite)); RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBouncyGeneric.class, new RenderGenericGrenade()); RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeImpactGeneric.class, new RenderGenericGrenade()); - RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeCats.class, new RenderSnowball(ModItems.grenate_cats)); //missiles RenderingRegistry.registerEntityRenderingHandler(EntityTestMissile.class, new RenderTestMissile()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileCustom.class, new RenderMissileCustom()); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 4e182b4ff..9a809a1ba 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -607,11 +607,6 @@ public class MainRegistry { return new EntityGrenadeIFNull(p_82499_1_, p_82499_2_.getX(), p_82499_2_.getY(), p_82499_2_.getZ()); } }); - BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.grenate_cats, new BehaviorProjectileDispense() { - protected IProjectile getProjectileEntity(World p_82499_1_, IPosition p_82499_2_) { - return new EntityGrenadeCats(p_82499_1_, p_82499_2_.getX(), p_82499_2_.getY(), p_82499_2_.getZ()); - } - }); BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.nuclear_waste_pearl, new BehaviorProjectileDispense() { protected IProjectile getProjectileEntity(World world, IPosition position) { From 65ed6a4f9a8ae6664d80ff17d22a02a273443b60 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 1 Jul 2023 21:43:29 +0200 Subject: [PATCH 234/285] helium 4 plasma --- changelog | 13 ++++++++++++- .../hbm/inventory/FluidContainerRegistry.java | 3 ++- .../java/com/hbm/inventory/fluid/Fluids.java | 7 +++++-- .../inventory/recipes/LiquefactionRecipes.java | 1 + .../machine/TileEntityMachineCompressor.java | 4 ++-- .../machine/TileEntityMachinePlasmaHeater.java | 4 ++-- .../tileentity/machine/TileEntityRadiobox.java | 9 ++++++++- src/main/resources/assets/hbm/lang/de_DE.lang | 3 ++- src/main/resources/assets/hbm/lang/en_US.lang | 3 ++- .../assets/hbm/textures/gui/fluids/helium4.png | Bin 0 -> 549 bytes .../hbm/textures/models/tank/tank_HELIUM4.png | Bin 0 -> 1260 bytes 11 files changed, 36 insertions(+), 11 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/helium4.png create mode 100644 src/main/resources/assets/hbm/textures/models/tank/tank_HELIUM4.png diff --git a/changelog b/changelog index f51dde21b..c2ae5647e 100644 --- a/changelog +++ b/changelog @@ -10,11 +10,22 @@ * Most polluting machines can now be connected to a smokestack with exhaust pipes * The smokestack will vent the pollution created by the machines, reducing it by 75% * Compatible with soot, heavy metal and poison pollution +* Sliding blast door + * Everyone's favorite from 1.12 + * Has multiple skins that can be applied +* Helium-4 + * Used in helium-4-oxygen plasma + * Made from ionized particles in a liquefactor ## Changed * Glyphids now have a config for a global spawn limit, which is 50 by default, no more than this many glyphids can be created at once * Removed the old oil and gas ducts for good +* FBI agents and drones no longer take damage from rosenberg pest control boxes +* Compressors now have a base comsumption of 2,500 HE/t instwad of 10,000 +* On 528 mode, gas shale now only contains 50mB of petroleum instead of 250mB +* Xenon-mercury plasma has been changed into helium-4-oxygen plasma ## Fixed * Fixed player extprops like the HUD or backpack toggles not saving -* Fixed desync caused by teleporting between dimensions, switching toggles for HUD or backpack \ No newline at end of file +* Fixed desync caused by teleporting between dimensions, switching toggles for HUD or backpack +* Fixed potential issue causing the plasma heater to overfill \ No newline at end of file diff --git a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java index 4ad6a1b50..ce1c1977e 100644 --- a/src/main/java/com/hbm/inventory/FluidContainerRegistry.java +++ b/src/main/java/com/hbm/inventory/FluidContainerRegistry.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.List; import com.hbm.blocks.ModBlocks; +import com.hbm.config.GeneralConfig; import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.Fluids.CD_Canister; @@ -33,7 +34,7 @@ public class FluidContainerRegistry { FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModBlocks.lox_barrel), new ItemStack(ModItems.tank_steel), Fluids.OXYGEN, 10000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModBlocks.ore_oil), null, Fluids.OIL, 250)); - FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModBlocks.ore_gneiss_gas), null, Fluids.PETROLEUM, 250)); + FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModBlocks.ore_gneiss_gas), null, Fluids.PETROLEUM, GeneralConfig.enable528 ? 50 : 250)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_deuterium), new ItemStack(ModItems.cell_empty), Fluids.DEUTERIUM, 1000)); FluidContainerRegistry.registerContainer(new FluidContainer(new ItemStack(ModItems.cell_tritium), new ItemStack(ModItems.cell_empty), Fluids.TRITIUM, 1000)); diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index 6fdebb888..0c1d523d7 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -155,6 +155,7 @@ public class Fluids { public static FluidType SMOKE; public static FluidType SMOKE_LEADED; public static FluidType SMOKE_POISON; + public static FluidType HELIUM4; private static final HashMap idMapping = new HashMap(); private static final HashMap nameMapping = new HashMap(); @@ -244,7 +245,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); PLASMA_DH3 = new FluidType("PLASMA_DH3", 0xFF83AA, 0, 4, 0, EnumSymbol.RADIATION).setTemp(3480).addTraits(NOCON, NOID, PLASMA); - HELIUM3 = new FluidType("HELIUM3", 0xFCF0C4, 3, 4, 0, EnumSymbol.ASPHYXIANT).addTraits(GASEOUS); + HELIUM3 = new FluidType("HELIUM3", 0xFCF0C4, 0, 0, 0, EnumSymbol.ASPHYXIANT).addTraits(GASEOUS); 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); HEAVYWATER = new FluidType("HEAVYWATER", 0x00a0b0, 1, 0, 0, EnumSymbol.NONE).addTraits(LIQUID); @@ -309,7 +310,8 @@ public class Fluids { CALCIUM_SOLUTION = new FluidType("CALCIUM_SOLUTION", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); SMOKE = new FluidType("SMOKE", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(GASEOUS, NOID, NOCON); SMOKE_LEADED = new FluidType("SMOKE_LEADED", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(GASEOUS, NOID, NOCON); - SMOKE_POISON = new FluidType(122, "SMOKE_POISON", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(GASEOUS, NOID, NOCON); + SMOKE_POISON = new FluidType("SMOKE_POISON", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(GASEOUS, NOID, NOCON); + HELIUM4 = new FluidType(123,"HELIUM4", 0xE54B0A, 0, 0, 0, EnumSymbol.ASPHYXIANT).addTraits(GASEOUS); // ^ ^ ^ ^ ^ ^ ^ ^ //ADD NEW FLUIDS HERE @@ -342,6 +344,7 @@ public class Fluids { metaOrder.add(DEUTERIUM); metaOrder.add(TRITIUM); metaOrder.add(HELIUM3); + metaOrder.add(HELIUM4); metaOrder.add(OXYGEN); metaOrder.add(XENON); metaOrder.add(CHLORINE); diff --git a/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java b/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java index 43ee798ca..a35f15425 100644 --- a/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/LiquefactionRecipes.java @@ -52,6 +52,7 @@ public class LiquefactionRecipes extends SerializableRecipe { 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(Items.sugar), new FluidStack(100, Fluids.ETHANOL)); recipes.put(new ComparableStack(ModBlocks.plant_flower, 1, 3), new FluidStack(150, Fluids.ETHANOL)); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java index 82467211b..2105af196 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java @@ -34,13 +34,13 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement public FluidTank[] tanks; public long power; - public static final long maxPower = 1_000_000; + 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 = 10_000; + public static final int powerRequirementBase = 2_500; public float fanSpin; public float prevFanSpin; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java index 0f91fdfb6..2ddf52c34 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachinePlasmaHeater.java @@ -69,7 +69,7 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme int powerReq = 10000; int convert = Math.min(tanks[0].getFill(), tanks[1].getFill()); - convert = Math.min(convert, (plasma.getMaxFill() - plasma.getFill())); + convert = Math.min(convert, (plasma.getMaxFill() - plasma.getFill()) / 2); convert = Math.min(convert, maxConv); convert = (int) Math.min(convert, power / powerReq); convert = Math.max(0, convert); @@ -174,7 +174,7 @@ public class TileEntityMachinePlasmaHeater extends TileEntityMachineBase impleme plasma.setTankType(Fluids.PLASMA_HT); return; } - if(types.contains(Fluids.XENON) && types.contains(Fluids.MERCURY)) { + if(types.contains(Fluids.HELIUM4) && types.contains(Fluids.OXYGEN)) { plasma.setTankType(Fluids.PLASMA_XM); return; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java index b2ca2d267..8a513a99b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityRadiobox.java @@ -2,6 +2,8 @@ package com.hbm.tileentity.machine; import java.util.List; +import com.hbm.entity.mob.EntityFBI; +import com.hbm.entity.mob.EntityFBIDrone; import com.hbm.inventory.container.ContainerRadiobox; import com.hbm.lib.ModDamageSource; import com.hbm.tileentity.IGUIProvider; @@ -42,8 +44,13 @@ public class TileEntityRadiobox extends TileEntityLoadedBase implements IEnergyU int range = 15; List entities = worldObj.getEntitiesWithinAABB(IMob.class, AxisAlignedBB.getBoundingBox(xCoord - range, yCoord - range, zCoord - range, xCoord + range, yCoord + range, zCoord + range)); - for(IMob entity : entities) + + for(IMob entity : entities) { + + if(entity instanceof EntityFBI || entity instanceof EntityFBIDrone) continue; + ((Entity)entity).attackEntityFrom(ModDamageSource.enervation, 20.0F); + } } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 2264cc015..a727f87fd 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -656,6 +656,7 @@ hbmfluid.heavyoil=Schweröl hbmfluid.heavyoil_vacuum=Vakuum-Schweröl hbmfluid.heavywater=Schweres Wasser hbmfluid.helium3=Helium-3 +hbmfluid.helium4=Helium-4 hbmfluid.hotcrackoil=Heißes Crack-Öl hbmfluid.hotoil=Heißes Rohöl hbmfluid.hotsteam=Dichter Dampf @@ -694,7 +695,7 @@ hbmfluid.plasma_dh3=Deuterium-Helium-3-Plasma hbmfluid.plasma_dt=Deuterium-Tritium-Plasma hbmfluid.plasma_hd=Wasserstoff-Deuterium-Plasma hbmfluid.plasma_ht=Wasserstoff-Tritium-Plasma -hbmfluid.plasma_xm=Xenon-Quecksilber-Plasma +hbmfluid.plasma_xm=Helium-4-Sauerstoff-Plasma hbmfluid.potassium_chloride=Kaliumchlorid-Lösung hbmfluid.puf6=Plutoniumhexafluorid hbmfluid.radiosolvent=Hochleistungs-Lösungsmittel diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 2989c72ae..fbde73d5c 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1273,6 +1273,7 @@ hbmfluid.heavyoil=Heavy Oil hbmfluid.heavyoil_vacuum=Vacuum Heavy Oil hbmfluid.heavywater=Heavy Water hbmfluid.helium3=Helium-3 +hbmfluid.helium4=Helium-4 hbmfluid.hotcrackoil=Hot Cracked Oil hbmfluid.hotoil=Hot Crude Oil hbmfluid.hotsteam=Dense Steam @@ -1311,7 +1312,7 @@ hbmfluid.plasma_dh3=Deuterium-Helium-3 Plasma hbmfluid.plasma_dt=Deuterium-Tritium Plasma hbmfluid.plasma_hd=Hydrogen-Deuterium Plasma hbmfluid.plasma_ht=Hydrogen-Tritium Plasma -hbmfluid.plasma_xm=Xenon-Mercury Plasma +hbmfluid.plasma_xm=Helium-4-Oxygen Plasma hbmfluid.potassium_chloride=Potassiumchloride Solution hbmfluid.puf6=Plutonium Hexafluoride hbmfluid.radiosolvent=High-Performance Solvent diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/helium4.png b/src/main/resources/assets/hbm/textures/gui/fluids/helium4.png new file mode 100644 index 0000000000000000000000000000000000000000..bbf8ac23c206fe932640b5a3bba0184d49d0e1f4 GIT binary patch literal 549 zcmV+=0^0qFP)$(8&-qTv6l!BQ(&Qz6JEBn3!5JF&GSIi7m zW!pAXm1&xIdU|5tcWSLT=MWKm&Uq+J(?m*%7$aszYmF{&90vf-IRJ9bgbT&Gh^E}{IVTXH(C%Y&&e3D9s&sZTO%waRV`k&qV||_{BEq_^?EB7f960AFrO;Y?h<26!^8l>t n%J=vFBbjD~nGHs@Rz!rqyLCJU`ycPR00000NkvXXu0mjfBsm2# literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/tank/tank_HELIUM4.png b/src/main/resources/assets/hbm/textures/models/tank/tank_HELIUM4.png new file mode 100644 index 0000000000000000000000000000000000000000..8ca2d648f87221dd20645d5ce8045422557777b4 GIT binary patch literal 1260 zcmeAS@N?(olHy`uVBq!ia0vp^RY2Us!3HEZPulwcNU;<$n7t?;ucIeO}m9T?;DU9X}eF;uW z{rO$r_S#l|4#=B-_uZ+7*S2Tv*5IoA{_6TE!{l5R(T&f|H=fc>ijA}=Z(pS0vQ2J# z_acGHt%fJg8=VO>=-Bi%>^8G#q|1|=3GPmpG`0we-0JAfN~x&5xg*#z;qc`g*|@U) zUHvIj?(6DWDW-4Vt$ka5|9+V_H;!n#9?`B4Tz^5j)vU=$+Hp^i%bq6jk6OV%(XB_d z)eIcf9Vlj?>5u8?cs(ktWk#PXE@&NHBwsA|4!y#_lCId!AI9! zzpJLQYHOmwvtgTGXpF>mWZx@wf%L=0#|hvlekdjPwEPBnwPr5 z4Oc4)tQR_TN$f?h*xa2Lq@QG7bOT02=8@GiGE|+q{k%N(bajR)9nlVz`lwZAaxOtf zan{E!r}RbdKLvle=oXNn+yM-iSuzq$Vsi!lttnU*^lNu`&n{qOXn%2A*t_5Y&@`FZ z?BYsFMdkbKPkihM=hW(sxi2UD(QD@V4M2&#(PdsAPt|mnb=Q>d+aGjiV|3Y@OJa&X z;=AHf?tk0m_t^RM-$^r5tD@=)OXG9(zdti7mWzIOHnq}fz1@AA9TT43yHhraveRnooZg!IWP1V`e>rXwpVt;LZ{x6$v*-rB|uPa{&OwiY6)*n8?wJuI` zR>>ZxJ!>9`%FXNw=QzGM{6#M?`z`DR#;y`DJylHAd?dQ3gP^FFX53%KtH#!o4l=G> R11!E6JYD@<);T3K0RTf1R Date: Sat, 1 Jul 2023 21:52:08 +0200 Subject: [PATCH 235/285] *chuckles* i'm in danger --- src/main/java/com/hbm/blocks/network/CraneGrabber.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/blocks/network/CraneGrabber.java b/src/main/java/com/hbm/blocks/network/CraneGrabber.java index 71372467b..5c0ee4bb1 100644 --- a/src/main/java/com/hbm/blocks/network/CraneGrabber.java +++ b/src/main/java/com/hbm/blocks/network/CraneGrabber.java @@ -50,7 +50,7 @@ public class CraneGrabber extends BlockCraneBase { @Override public void breakBlock(World world, int x, int y, int z, Block block, int meta) { - this.dropContents(world, x, y, z, block, meta, 0, 11); + this.dropContents(world, x, y, z, block, meta, 9, 11); super.breakBlock(world, x, y, z, block, meta); } } From 843efd575e3ec872c4f504abc1807398a5c23ecd Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 2 Jul 2023 18:59:47 +0200 Subject: [PATCH 236/285] some train stuff --- changelog | 8 +- gradle.properties | 2 +- .../java/com/hbm/entity/EntityMappings.java | 1 + .../com/hbm/entity/train/TrainTunnelBore.java | 54 + .../java/com/hbm/items/special/ItemTrain.java | 4 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ResourceManager.java | 1 + .../render/entity/item/RenderTunnelBore.java | 60 + .../machine/TileEntityMachineCompressor.java | 2 +- .../hbm/models/vehicles/tunnel_bore.obj | 7617 +++++++++++++++++ .../hbm/textures/items/train.tunnel_bore.png | Bin 0 -> 169 bytes 11 files changed, 7746 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/hbm/entity/train/TrainTunnelBore.java create mode 100644 src/main/java/com/hbm/render/entity/item/RenderTunnelBore.java create mode 100644 src/main/resources/assets/hbm/models/vehicles/tunnel_bore.obj create mode 100644 src/main/resources/assets/hbm/textures/items/train.tunnel_bore.png diff --git a/changelog b/changelog index c2ae5647e..ae41e4836 100644 --- a/changelog +++ b/changelog @@ -4,6 +4,9 @@ * Glyphid meat * Dropped by glyphids (duh) * Can be grilled +* Glyphid eggs + * Dropped from glyphid spawners + * Currently unused * Fluid valves * come in manual and restone variants * Smokestack @@ -24,8 +27,11 @@ * Compressors now have a base comsumption of 2,500 HE/t instwad of 10,000 * On 528 mode, gas shale now only contains 50mB of petroleum instead of 250mB * Xenon-mercury plasma has been changed into helium-4-oxygen plasma + * This means that current xenon-mercury setups will no longer work ## Fixed * Fixed player extprops like the HUD or backpack toggles not saving * Fixed desync caused by teleporting between dimensions, switching toggles for HUD or backpack -* Fixed potential issue causing the plasma heater to overfill \ No newline at end of file +* Fixed potential issue causing the plasma heater to overfill +* Fixed back connector of the compressor not working properly +* Fixed a dupe regarind one of the conveyor blocks, not telling you which, though \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index fa397e559..e58957a96 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4641 +mod_build_number=4648 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index b41ab7eb7..9e3d2919f 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -220,6 +220,7 @@ 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); addMob(EntityCreeperNuclear.class, "entity_mob_nuclear_creeper", 0x204131, 0x75CE00); addMob(EntityCreeperTainted.class, "entity_mob_tainted_creeper", 0x813b9b, 0xd71fdd); diff --git a/src/main/java/com/hbm/entity/train/TrainTunnelBore.java b/src/main/java/com/hbm/entity/train/TrainTunnelBore.java new file mode 100644 index 000000000..f7b10493e --- /dev/null +++ b/src/main/java/com/hbm/entity/train/TrainTunnelBore.java @@ -0,0 +1,54 @@ +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/items/special/ItemTrain.java b/src/main/java/com/hbm/items/special/ItemTrain.java index a99df9079..007d31a91 100644 --- a/src/main/java/com/hbm/items/special/ItemTrain.java +++ b/src/main/java/com/hbm/items/special/ItemTrain.java @@ -8,6 +8,7 @@ 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; @@ -44,7 +45,8 @@ 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"); + 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"); public Class train; public String engine; diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 2cc2d6e41..d39bef440 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -693,6 +693,7 @@ public class ClientProxy extends ServerProxy { 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()); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index d3ee9becb..a0ea34e1b 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1035,6 +1035,7 @@ public class ResourceManager { 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")); ////Texture Entities diff --git a/src/main/java/com/hbm/render/entity/item/RenderTunnelBore.java b/src/main/java/com/hbm/render/entity/item/RenderTunnelBore.java new file mode 100644 index 000000000..98c8c1f69 --- /dev/null +++ b/src/main/java/com/hbm/render/entity/item/RenderTunnelBore.java @@ -0,0 +1,60 @@ +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/tileentity/machine/TileEntityMachineCompressor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java index 2105af196..b3282a3d7 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java @@ -173,7 +173,7 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement 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), + new DirPos(xCoord - dir.offsetX * 2, yCoord, zCoord - dir.offsetZ * 2, dir.getOpposite()), }; } diff --git a/src/main/resources/assets/hbm/models/vehicles/tunnel_bore.obj b/src/main/resources/assets/hbm/models/vehicles/tunnel_bore.obj new file mode 100644 index 000000000..94434ba94 --- /dev/null +++ b/src/main/resources/assets/hbm/models/vehicles/tunnel_bore.obj @@ -0,0 +1,7617 @@ +# 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/textures/items/train.tunnel_bore.png b/src/main/resources/assets/hbm/textures/items/train.tunnel_bore.png new file mode 100644 index 0000000000000000000000000000000000000000..b115e28a0a4e861fc95b9450b6fed15de5d408e1 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfK?MrL-2i=u~*BxWV%sO6|7U+&>HFf=eQsQK}M zky)6Djg9U9L$;V51&pdX7k=I_ImF=C+Omg{o4M(n%QnHe_FM`K3>%IZU-8X-e+g(8 NgQu&X%Q~loCIAg9G4%id literal 0 HcmV?d00001 From e6fd6900bb605592438ca155a05a76ccc155b903 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 2 Jul 2023 19:00:34 +0200 Subject: [PATCH 237/285] oop --- src/main/java/com/hbm/lib/RefStrings.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index bfb6dcb7a..7d87518c8 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 (4641)"; + public static final String VERSION = "1.0.27 BETA (4648)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version From 9c7b219b58aaa3727496643154be86fb5fba6a14 Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Sun, 2 Jul 2023 20:06:46 +0300 Subject: [PATCH 238/285] Updated ru_RU.lang updated russian localization --- src/main/resources/assets/hbm/lang/ru_RU.lang | 29 +++++++++++++++---- 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index 307e76297..dc4878f1e 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -1105,11 +1105,11 @@ hbmfluid.oxygen=Жидкий кислород hbmfluid.xenon=Ксенон hbmfluid.balefire=Ракетное жар-топливо hbmfluid.mercury=Ртуть -hbmfluid.plasma_dt=Дейтерий-Тритиевая-плазма -hbmfluid.plasma_dh3=Дейтерий-Гелий-3-плазма -hbmfluid.plasma_hd=Водород-Дейтериевая-плазма -hbmfluid.plasma_ht=Водород-Тритиевая-плазма -hbmfluid.plasma_xm=Ксенон-Ртутная-плазма +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)Раствор танталита @@ -1132,6 +1132,7 @@ hbmfluid.sas3_nit=Трисульфид шрабидия с нитаниевым hbmfluid.sas3_nit_dp=Истощенный трисульфид шрабидия с нитановым усилителем hbmfluid.death=Осмиридовый раствор hbmfluid.helium3=Гелий-3 +hbmfluid.helium4=Гелий-4 hbmfluid.heavywater=Тяжёлая вода hbmfluid.ethanol=Этанол hbmfluid.carbondioxide=Углекислый газ @@ -1190,6 +1191,9 @@ hbmfluid.chlorocalcite_mix=Смешанный раствор хлоркальц hbmfluid.chlorocalcite_solution=Раствор хлоркальцита hbmfluid.potassium_chloride=Раствор хлорида калия hbmfluid.calcium_solution=Раствор кальция +hbmfluid.smoke=Дым +hbmfluid.smoke_leaded=Свинцовый дым +hbmfluid.smoke_poison=Ядовитый дым hbmmat.actinium227=Актиний-227 hbmmat.advancedalloy=Продвинутый сплав @@ -1631,6 +1635,9 @@ 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=Ядерный заряд кастомной бомбы @@ -1889,6 +1896,9 @@ tile.fluid_duct_box.name=Универсальная жидкостная тру tile.fluid_duct_neo.name=Универсальная жидкостная труба tile.fluid_duct_gauge.name=Труба с измерителем потока tile.fluid_duct_gauge.desc=Труба которая показывает сколько жидкости$перемещается внутри сети за тик.$Разделенные сети, соединенные бочками$или резервуары рассматриваются как одна общая сеть. +tile.fluid_duct_exhaust.name=Выхлопная труба +tile.fluid_switch.name=Жидкостный клапан +tile.fluid_valve.name=Редстоун-Жидкостный клапан tile.fluid_duct_solid.name=Покрытая универсальная жидкостная труба (Устаревшее) tile.fluid_duct_paintable.name=Окрашиваемая покрытая универсальная жидкостная труба tile.machine_fluidtank.name=Цистерна @@ -2144,6 +2154,7 @@ tile.machine_coker.desc=Коксует жидкость, создавая жид container.machineCoker=Коксовая установка container.machineCompressor=Компрессор tile.machine_compressor.name=Компрессор +tile.chimney_brick.name=Дымовая труба container.hadron=Ускоритель частиц tile.hadron_access.name=Терминал доступа ускорителя частиц @@ -3190,10 +3201,13 @@ 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=Бункерная дверь +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 item.nugget_uranium.name=Урановый самородок item.nugget_plutonium.name=Плутониевый самородок @@ -4467,6 +4481,9 @@ 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=Ракета From d09813957ee322701f6f06e0fb4ddb17088cf1d0 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 3 Jul 2023 15:41:39 +0200 Subject: [PATCH 239/285] small fixes --- changelog | 34 ++----------------- .../hbm/handler/nei/ConstructionHandler.java | 4 +-- .../com/hbm/main/ModEventHandlerClient.java | 6 ++-- src/main/resources/assets/hbm/lang/de_DE.lang | 4 +-- src/main/resources/assets/hbm/lang/en_US.lang | 4 +-- 5 files changed, 12 insertions(+), 40 deletions(-) diff --git a/changelog b/changelog index ae41e4836..024946d82 100644 --- a/changelog +++ b/changelog @@ -1,37 +1,7 @@ ## Added -* Configs for all things pollution related - * Pollution in general can be turned off, smog can be disabled and adjusted, different poison types can be disabled and the threshold for spawning tougher mobs can also be changed -* Glyphid meat - * Dropped by glyphids (duh) - * Can be grilled -* Glyphid eggs - * Dropped from glyphid spawners - * Currently unused -* Fluid valves - * come in manual and restone variants -* Smokestack - * Most polluting machines can now be connected to a smokestack with exhaust pipes - * The smokestack will vent the pollution created by the machines, reducing it by 75% - * Compatible with soot, heavy metal and poison pollution -* Sliding blast door - * Everyone's favorite from 1.12 - * Has multiple skins that can be applied -* Helium-4 - * Used in helium-4-oxygen plasma - * Made from ionized particles in a liquefactor ## Changed -* Glyphids now have a config for a global spawn limit, which is 50 by default, no more than this many glyphids can be created at once -* Removed the old oil and gas ducts for good -* FBI agents and drones no longer take damage from rosenberg pest control boxes -* Compressors now have a base comsumption of 2,500 HE/t instwad of 10,000 -* On 528 mode, gas shale now only contains 50mB of petroleum instead of 250mB -* Xenon-mercury plasma has been changed into helium-4-oxygen plasma - * This means that current xenon-mercury setups will no longer work ## Fixed -* Fixed player extprops like the HUD or backpack toggles not saving -* Fixed desync caused by teleporting between dimensions, switching toggles for HUD or backpack -* Fixed potential issue causing the plasma heater to overfill -* Fixed back connector of the compressor not working properly -* Fixed a dupe regarind one of the conveyor blocks, not telling you which, though \ No newline at end of file +* Fixed quantity of the fusion reactor's construction recipe not being displayed right +* Fixed fluid valve and redstone fluid valves having the wrong names diff --git a/src/main/java/com/hbm/handler/nei/ConstructionHandler.java b/src/main/java/com/hbm/handler/nei/ConstructionHandler.java index 557a71163..c845f1601 100644 --- a/src/main/java/com/hbm/handler/nei/ConstructionHandler.java +++ b/src/main/java/com/hbm/handler/nei/ConstructionHandler.java @@ -46,9 +46,9 @@ public class ConstructionHandler extends NEIUniversalHandler { /* ITER */ ItemStack[] iter = new ItemStack[] { new ItemStack(ModBlocks.fusion_conductor, 36), - ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.fusion_conductor, 320), EnumChatFormatting.RED + "5x64"), + ItemStackUtil.addTooltipToStack(new ItemStack(ModBlocks.fusion_conductor, 256), EnumChatFormatting.RED + "4x64"), new ItemStack(ModItems.plate_cast, 36, Mats.MAT_STEEL.id), - ItemStackUtil.addTooltipToStack(new ItemStack(ModItems.plate_cast, 320, Mats.MAT_STEEL.id), EnumChatFormatting.RED + "5x64"), + ItemStackUtil.addTooltipToStack(new ItemStack(ModItems.plate_cast, 256, Mats.MAT_STEEL.id), EnumChatFormatting.RED + "4x64"), new ItemStack(ModBlocks.fusion_center, 64), new ItemStack(ModBlocks.fusion_motor, 4), new ItemStack(ModBlocks.reinforced_glass, 8), diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 9e3463f96..17a4e9682 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -1266,14 +1266,16 @@ public class ModEventHandlerClient { case 3: main.splashText = "None shall enter The Orb!"; break; case 4: main.splashText = "Wacarb was here"; break; case 5: main.splashText = "SpongeBoy me Bob I am overdosing on keramine agagagagaga"; break; - case 6: main.splashText = "I know where you live, " + System.getProperty("user.name"); break; + case 6: main.splashText = EnumChatFormatting.RED + "I know where you live, " + System.getProperty("user.name"); break; case 7: main.splashText = "Nice toes, now hand them over."; break; case 8: main.splashText = "I smell burnt toast!"; break; case 9: main.splashText = "There are bugs under your skin!"; break; case 10: main.splashText = "Fentanyl!"; break; case 11: main.splashText = "Do drugs!"; break; - case 12: main.splashText = "post this on r/feedthememes for free internet points!"; break; + //case 12: main.splashText = "post this on r/feedthememes for free internet points!"; break; } + + if(Math.random() < 0.1) main.splashText = "Visit r/feedthebeast if you hate yourself!"; } } } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index a727f87fd..5d0ffe69d 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -3804,8 +3804,8 @@ tile.fluid_duct_gauge.desc=Rohr welches anzeight, wie viel Flüssigkeit$sich pro 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_switch.name=Redstone-Ventil -tile.fluid_valve.name=Ventil +tile.fluid_switch.name=Ventil +tile.fluid_valve.name=Redstone-Ventil tile.foam_layer.name=Schaumdecke tile.foundry_basin.name=Gussbecken tile.foundry_channel.name=Gusskanal diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index fbde73d5c..2495b1d4f 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4679,8 +4679,8 @@ tile.fluid_duct_gauge.desc=Pipe that displays how much fluid$moves within the ne 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_switch.name=Redstone Fluid Valve -tile.fluid_valve.name=Fluid Valve +tile.fluid_switch.name=Fluid Valve +tile.fluid_valve.name=Redstone Fluid Valve tile.foam_layer.name=Foam layer tile.foundry_basin.name=Foundry Basin tile.foundry_channel.name=Foundry Channel From 4ad28d25f4b1f73ef14e58089f2875a981a7870b Mon Sep 17 00:00:00 2001 From: Bob Date: Tue, 4 Jul 2023 22:12:10 +0200 Subject: [PATCH 240/285] industrial boiler --- src/main/java/com/hbm/blocks/ModBlocks.java | 3 + .../machine/MachineHeatBoilerIndustrial.java | 126 + .../handler/pollution/PollutionHandler.java | 3 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ResourceManager.java | 2 + .../tileentity/RenderIndustrialBoiler.java | 51 + .../machine/TileEntityHeatBoiler.java | 6 +- .../TileEntityHeatBoilerIndustrial.java | 303 ++ .../hbm/models/machines/industrial_boiler.obj | 2900 +++++++++++++++++ .../models/machines/industrial_boiler.png | Bin 0 -> 1755 bytes 10 files changed, 3391 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/machine/MachineHeatBoilerIndustrial.java create mode 100644 src/main/java/com/hbm/render/tileentity/RenderIndustrialBoiler.java create mode 100644 src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoilerIndustrial.java create mode 100644 src/main/resources/assets/hbm/models/machines/industrial_boiler.obj create mode 100644 src/main/resources/assets/hbm/textures/models/machines/industrial_boiler.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index aca6f36b7..1b1751e15 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -673,6 +673,7 @@ public class ModBlocks { 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; @@ -1810,6 +1811,7 @@ public class ModBlocks { machine_sawmill = new MachineSawmill().setBlockName("machine_sawmill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); 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_copper"); 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"); @@ -3049,6 +3051,7 @@ public class ModBlocks { register(machine_sawmill); register(machine_crucible); register(machine_boiler); + register(machine_industrial_boiler); register(foundry_mold); register(foundry_basin); register(foundry_channel); diff --git a/src/main/java/com/hbm/blocks/machine/MachineHeatBoilerIndustrial.java b/src/main/java/com/hbm/blocks/machine/MachineHeatBoilerIndustrial.java new file mode 100644 index 000000000..5b957ba0d --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineHeatBoilerIndustrial.java @@ -0,0 +1,126 @@ +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.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.trait.FT_Heatable; +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 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.ChatComponentText; +import net.minecraft.util.ChatComponentTranslation; +import net.minecraft.util.ChatStyle; +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 MachineHeatBoilerIndustrial extends BlockDummyable implements ILookOverlay, ITooltipProvider { + + public MachineHeatBoilerIndustrial() { + super(Material.iron); + } + + @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(); + player.addChatComponentMessage(new ChatComponentText("Changed type to ").setChatStyle(new ChatStyle().setColor(EnumChatFormatting.YELLOW)).appendSibling(new ChatComponentTranslation("hbmfluid." + type.getName().toLowerCase(Locale.US))).appendSibling(new ChatComponentText("!"))); + } + return true; + } + return false; + + } else { + return true; + } + } + + @Override + public int[] getDimensions() { + return new int[] {4, 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); + + this.makeExtra(world, x + dir.offsetX + 1, y, z + dir.offsetZ); + this.makeExtra(world, x + dir.offsetX - 1, y, z + dir.offsetZ); + this.makeExtra(world, x + dir.offsetX, y, z + dir.offsetZ + 1); + this.makeExtra(world, x + dir.offsetX, y, z + dir.offsetZ - 1); + this.makeExtra(world, x + dir.offsetX, y + 4, z + dir.offsetZ); + } + + @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("%,d", boiler.heat) + "TU"); + text.add(EnumChatFormatting.GREEN + "-> " + EnumChatFormatting.RESET + I18nUtil.resolveKey(boiler.tanks[0].getTankType().getUnlocalizedName()) + ": " + String.format("%,d", boiler.tanks[0].getFill()) + " / " + String.format("%,d", boiler.tanks[0].getMaxFill()) + "mB"); + text.add(EnumChatFormatting.RED + "<- " + EnumChatFormatting.RESET + I18nUtil.resolveKey(boiler.tanks[1].getTankType().getUnlocalizedName()) + ": " + String.format("%,d", boiler.tanks[1].getFill()) + " / " + String.format("%,d", boiler.tanks[1].getMaxFill()) + "mB"); + + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + this.addStandardInfo(stack, player, list, ext); + } +} diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index 885bbdd82..ef3752953 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -320,8 +320,9 @@ public class PollutionHandler { if(living instanceof IMob) { if(data.pollution[PollutionType.SOOT.ordinal()] > RadiationConfig.buffMobThreshold) { - if(living.getEntityAttribute(SharedMonsterAttributes.maxHealth) != null) living.getEntityAttribute(SharedMonsterAttributes.maxHealth).applyModifier(new AttributeModifier("Soot Anger Health Increase", 2D, 1)); + if(living.getEntityAttribute(SharedMonsterAttributes.maxHealth) != null) living.getEntityAttribute(SharedMonsterAttributes.maxHealth).applyModifier(new AttributeModifier("Soot Anger Health Increase", 1D, 1)); if(living.getEntityAttribute(SharedMonsterAttributes.attackDamage) != null) living.getEntityAttribute(SharedMonsterAttributes.attackDamage).applyModifier(new AttributeModifier("Soot Anger Damage Increase", 1.5D, 1)); + living.heal(living.getMaxHealth()); } } } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index d39bef440..115ca0e3b 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -271,6 +271,7 @@ public class ClientProxy extends ServerProxy { 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()); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index a0ea34e1b..66c71bfca 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -48,6 +48,7 @@ public class ResourceManager { public static final IModelCustom crucible_heat = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/machines/crucible.obj")); public static final IModelCustom boiler = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/boiler.obj")); public static final IModelCustom boiler_burst = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/boiler_burst.obj")); + public static final IModelCustom boiler_industrial = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/industrial_boiler.obj")); public static final IModelCustom hephaestus = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/hephaestus.obj")); //Furnaces @@ -396,6 +397,7 @@ public class ResourceManager { public static final ResourceLocation sawmill_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/sawmill.png"); public static final ResourceLocation crucible_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/crucible_heat.png"); public static final ResourceLocation boiler_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/boiler.png"); + public static final ResourceLocation boiler_industrial_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/industrial_boiler.png"); public static final ResourceLocation hephaestus_tex = new ResourceLocation(RefStrings.MODID, "textures/models/machines/hephaestus.png"); //Furnaces diff --git a/src/main/java/com/hbm/render/tileentity/RenderIndustrialBoiler.java b/src/main/java/com/hbm/render/tileentity/RenderIndustrialBoiler.java new file mode 100644 index 000000000..9bbf30997 --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderIndustrialBoiler.java @@ -0,0 +1,51 @@ +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.item.ItemStack; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; + +public class RenderIndustrialBoiler extends TileEntitySpecialRenderer implements IItemRendererProvider { + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { + GL11.glPushMatrix(); + GL11.glTranslated(x + 0.5D, y, z + 0.5D); + GL11.glEnable(GL11.GL_LIGHTING); + + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.boiler_industrial_tex); + ResourceManager.boiler_industrial.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_boiler); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase( ) { + public void renderInventory() { + GL11.glTranslated(0, -3, 0); + GL11.glScaled(3, 3, 3); + } + public void renderCommonWithStack(ItemStack item) { + GL11.glRotatef(90, 0F, 1F, 0F); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.boiler_industrial_tex); + ResourceManager.boiler_industrial.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + }}; + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java index bcda9f18b..39b72b06c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoiler.java @@ -50,15 +50,15 @@ public class TileEntityHeatBoiler extends TileEntityLoadedBase implements IFluid private int audioTime; /* CONFIGURABLE */ - public static int maxHeat = 12_800_000; //the heat required to turn 64k of water into steam + public static int maxHeat = 3_200_000; public static double diffusion = 0.1D; public static boolean canExplode = true; public TileEntityHeatBoiler() { this.tanks = new FluidTank[2]; - this.tanks[0] = new FluidTank(Fluids.WATER, 64_000, 0); - this.tanks[1] = new FluidTank(Fluids.STEAM, 64_000 * 100, 1); + this.tanks[0] = new FluidTank(Fluids.WATER, 16_000); + this.tanks[1] = new FluidTank(Fluids.STEAM, 16_000 * 100); } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoilerIndustrial.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoilerIndustrial.java new file mode 100644 index 000000000..fa447da65 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHeatBoilerIndustrial.java @@ -0,0 +1,303 @@ +package com.hbm.tileentity.machine; + +import java.io.IOException; + +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.inventory.fluid.trait.FT_Heatable; +import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingStep; +import com.hbm.inventory.fluid.trait.FT_Heatable.HeatingType; +import com.hbm.lib.Library; +import com.hbm.main.MainRegistry; +import com.hbm.saveddata.TomSaveData; +import com.hbm.sound.AudioWrapper; +import com.hbm.tileentity.IConfigurableMachine; +import com.hbm.tileentity.INBTPacketReceiver; +import com.hbm.tileentity.TileEntityLoadedBase; +import com.hbm.util.fauxpointtwelve.DirPos; + +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.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 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; + + public TileEntityHeatBoilerIndustrial() { + this.tanks = new FluidTank[2]; + + this.tanks[0] = new FluidTank(Fluids.WATER, 64_000, 0); + this.tanks[1] = new FluidTank(Fluids.STEAM, 64_000 * 100, 1); + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + NBTTagCompound data = new NBTTagCompound(); + 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"); + this.isOn = false; + this.tryConvert(); + tanks[1].writeToNBT(data, "1"); + + if(this.tanks[1].getFill() > 0) { + this.sendFluid(); + } + + data.setBoolean("isOn", this.isOn); + INBTPacketReceiver.networkPack(this, data, 25); + } else { + + if(this.isOn) audioTime = 20; + + if(audioTime > 0) { + + audioTime--; + + if(audio == null) { + audio = createAudioLoop(); + audio.startSound(); + } else if(!audio.isPlaying()) { + audio = rebootAudio(audio); + } + + audio.keepAlive(); + + } else { + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + } + } + + @Override + public AudioWrapper createAudioLoop() { + return MainRegistry.proxy.getLoopedSound("hbm:block.boiler", xCoord, yCoord, zCoord, 0.125F, 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 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"); + } + + 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); + source.useUpHeat(diff); + this.heat += diff; + if(this.heat > this.maxHeat) + this.heat = this.maxHeat; + 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) { + HeatingStep entry = trait.getFirstStep(); + tanks[1].setTankType(entry.typeProduced); + tanks[1].changeTankSize(tanks[0].getMaxFill() * entry.amountProduced / entry.amountReq); + return; + } + } + + 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), + new DirPos(xCoord - 2, yCoord, zCoord, Library.NEG_X), + new DirPos(xCoord, yCoord, zCoord + 2, Library.POS_Z), + new DirPos(xCoord, yCoord, zCoord - 2, Library.NEG_Z), + new DirPos(xCoord, yCoord + 5, zCoord, Library.POS_Y), + }; + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + tanks[0].readFromNBT(nbt, "water"); + tanks[1].readFromNBT(nbt, "steam"); + heat = nbt.getInteger("heat"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + tanks[0].writeToNBT(nbt, "water"); + tanks[1].writeToNBT(nbt, "steam"); + nbt.setInteger("heat", heat); + } + + @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 - 1, + yCoord, + zCoord - 1, + xCoord + 2, + yCoord + 5, + zCoord + 2 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public String getConfigName() { + return "boilerIndustrial"; + } + + @Override + public void readIfPresent(JsonObject obj) { + maxHeat = IConfigurableMachine.grab(obj, "I:maxHeat", maxHeat); + diffusion = IConfigurableMachine.grab(obj, "D:diffusion", diffusion); + } + + @Override + public void writeConfig(JsonWriter writer) throws IOException { + writer.name("I:maxHeat").value(maxHeat); + writer.name("D:diffusion").value(diffusion); + } +} diff --git a/src/main/resources/assets/hbm/models/machines/industrial_boiler.obj b/src/main/resources/assets/hbm/models/machines/industrial_boiler.obj new file mode 100644 index 000000000..eb3fb03ef --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/industrial_boiler.obj @@ -0,0 +1,2900 @@ +# Blender v2.79 (sub 0) OBJ File: 'industrial_boiler.blend' +# www.blender.org +o Plane +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 -1.500000 0.250000 1.500000 +v 1.500000 0.250000 1.500000 +v -1.500000 0.250000 -1.500000 +v 1.500000 0.250000 -1.500000 +v -1.000000 0.250000 1.000000 +v 1.000000 0.250000 1.000000 +v -1.000000 0.250000 -1.000000 +v 1.000000 0.250000 -1.000000 +v -1.000000 1.250000 -1.000000 +v -1.000000 1.250000 1.000000 +v 1.000000 1.250000 1.000000 +v 1.000000 1.250000 -1.000000 +v 1.000000 1.031250 0.750000 +v 1.500000 1.031250 0.750000 +v 1.000000 1.031250 -0.750000 +v 1.500000 1.031250 -0.750000 +v 1.000000 1.093750 -0.750000 +v 1.000000 1.093750 0.750000 +v 1.500000 1.093750 0.750000 +v 1.500000 1.093750 -0.750000 +v 1.000000 0.906250 0.750000 +v 1.500000 0.906250 0.750000 +v 1.000000 0.906250 -0.750000 +v 1.500000 0.906250 -0.750000 +v 1.000000 0.968750 -0.750000 +v 1.000000 0.968750 0.750000 +v 1.500000 0.968750 0.750000 +v 1.500000 0.968750 -0.750000 +v 1.000000 0.781250 0.750000 +v 1.500000 0.781250 0.750000 +v 1.000000 0.781250 -0.750000 +v 1.500000 0.781250 -0.750000 +v 1.000000 0.843750 -0.750000 +v 1.000000 0.843750 0.750000 +v 1.500000 0.843750 0.750000 +v 1.500000 0.843750 -0.750000 +v 1.000000 1.156250 0.750000 +v 1.500000 1.156250 0.750000 +v 1.000000 1.156250 -0.750000 +v 1.500000 1.156250 -0.750000 +v 1.000000 1.218750 -0.750000 +v 1.000000 1.218750 0.750000 +v 1.500000 1.218750 0.750000 +v 1.500000 1.218750 -0.750000 +v -1.000000 1.031250 -0.750000 +v -1.500000 1.031250 -0.750000 +v -1.000000 1.031250 0.750000 +v -1.500000 1.031250 0.750000 +v -1.000000 1.093750 0.750000 +v -1.000000 1.093750 -0.750000 +v -1.500000 1.093750 -0.750000 +v -1.500000 1.093750 0.750000 +v -1.000000 0.906250 -0.750000 +v -1.500000 0.906250 -0.750000 +v -1.000000 0.906250 0.750000 +v -1.500000 0.906250 0.750000 +v -1.000000 0.968750 0.750000 +v -1.000000 0.968750 -0.750000 +v -1.500000 0.968750 -0.750000 +v -1.500000 0.968750 0.750000 +v -1.000000 0.781250 -0.750000 +v -1.500000 0.781250 -0.750000 +v -1.000000 0.781250 0.750000 +v -1.500000 0.781250 0.750000 +v -1.000000 0.843750 0.750000 +v -1.000000 0.843750 -0.750000 +v -1.500000 0.843750 -0.750000 +v -1.500000 0.843750 0.750000 +v -1.000000 1.156250 -0.750000 +v -1.500000 1.156250 -0.750000 +v -1.000000 1.156250 0.750000 +v -1.500000 1.156250 0.750000 +v -1.000000 1.218750 0.750000 +v -1.000000 1.218750 -0.750000 +v -1.500000 1.218750 -0.750000 +v -1.500000 1.218750 0.750000 +v 0.750000 1.031250 -1.000000 +v 0.750000 1.031250 -1.500000 +v -0.750000 1.031250 -1.000000 +v -0.750000 1.031250 -1.500000 +v -0.750000 1.093750 -1.000000 +v 0.750000 1.093750 -1.000000 +v 0.750000 1.093750 -1.500000 +v -0.750000 1.093750 -1.500000 +v 0.750000 0.906250 -1.000000 +v 0.750000 0.906250 -1.500000 +v -0.750000 0.906250 -1.000000 +v -0.750000 0.906250 -1.500000 +v -0.750000 0.968750 -1.000000 +v 0.750000 0.968750 -1.000000 +v 0.750000 0.968750 -1.500000 +v -0.750000 0.968750 -1.500000 +v 0.750000 0.781250 -1.000000 +v 0.750000 0.781250 -1.500000 +v -0.750000 0.781250 -1.000000 +v -0.750000 0.781250 -1.500000 +v -0.750000 0.843750 -1.000000 +v 0.750000 0.843750 -1.000000 +v 0.750000 0.843750 -1.500000 +v -0.750000 0.843750 -1.500000 +v 0.750000 1.156250 -1.000000 +v 0.750000 1.156250 -1.500000 +v -0.750000 1.156250 -1.000000 +v -0.750000 1.156250 -1.500000 +v -0.750000 1.218750 -1.000000 +v 0.750000 1.218750 -1.000000 +v 0.750000 1.218750 -1.500000 +v -0.750000 1.218750 -1.500000 +v -0.750000 1.031250 1.000000 +v -0.750000 1.031250 1.500000 +v 0.750000 1.031250 1.000000 +v 0.750000 1.031250 1.500000 +v 0.750000 1.093750 1.000000 +v -0.750000 1.093750 1.000000 +v -0.750000 1.093750 1.500000 +v 0.750000 1.093750 1.500000 +v -0.750000 0.906250 1.000000 +v -0.750000 0.906250 1.500000 +v 0.750000 0.906250 1.000000 +v 0.750000 0.906250 1.500000 +v 0.750000 0.968750 1.000000 +v -0.750000 0.968750 1.000000 +v -0.750000 0.968750 1.500000 +v 0.750000 0.968750 1.500000 +v -0.750000 0.781250 1.000000 +v -0.750000 0.781250 1.500000 +v 0.750000 0.781250 1.000000 +v 0.750000 0.781250 1.500000 +v 0.750000 0.843750 1.000000 +v -0.750000 0.843750 1.000000 +v -0.750000 0.843750 1.500000 +v 0.750000 0.843750 1.500000 +v -0.750000 1.156250 1.000000 +v -0.750000 1.156250 1.500000 +v 0.750000 1.156250 1.000000 +v 0.750000 1.156250 1.500000 +v 0.750000 1.218750 1.000000 +v -0.750000 1.218750 1.000000 +v -0.750000 1.218750 1.500000 +v 0.750000 1.218750 1.500000 +v 0.000000 4.250000 -0.866025 +v 0.000000 3.750000 -1.000000 +v 0.191342 4.616025 -0.461940 +v 0.331414 4.250000 -0.800103 +v 0.382683 3.750000 -0.923880 +v 0.353553 4.616025 -0.353553 +v 0.612372 4.250000 -0.612372 +v 0.707107 3.750000 -0.707107 +v 0.461940 4.616025 -0.191342 +v 0.800103 4.250000 -0.331414 +v 0.923879 3.750000 -0.382683 +v 0.500000 4.616025 0.000000 +v 0.866025 4.250000 0.000000 +v 1.000000 3.750000 0.000000 +v 0.461940 4.616025 0.191341 +v 0.800103 4.250000 0.331413 +v 0.923879 3.750000 0.382683 +v 0.353553 4.616025 0.353553 +v 0.612372 4.250000 0.612372 +v 0.707106 3.750000 0.707107 +v 0.191342 4.616025 0.461939 +v 0.331413 4.250000 0.800103 +v 0.382683 3.750000 0.923879 +v -0.000000 4.616025 0.500000 +v -0.000000 4.250000 0.866025 +v -0.000000 3.750000 1.000000 +v -0.191342 4.616025 0.461939 +v -0.331414 4.250000 0.800103 +v -0.382684 3.750000 0.923879 +v -0.382683 1.250000 -0.923880 +v -0.707106 1.250000 -0.707107 +v -0.353553 4.616025 0.353553 +v -0.612372 4.250000 0.612372 +v -0.707107 3.750000 0.707106 +v -0.923879 1.250000 -0.382684 +v -1.000000 1.250000 -0.000000 +v -0.461940 4.616025 0.191341 +v -0.800103 4.250000 0.331413 +v -0.923879 3.750000 0.382683 +v -0.923879 1.250000 0.382683 +v -0.707107 1.250000 0.707106 +v -0.500000 4.616025 -0.000000 +v -0.866025 4.250000 -0.000000 +v -1.000000 3.750000 -0.000000 +v -0.382684 1.250000 0.923879 +v -0.000000 1.250000 1.000000 +v -0.461939 4.616025 -0.191342 +v -0.800103 4.250000 -0.331414 +v -0.923879 3.750000 -0.382684 +v 0.382683 1.250000 0.923879 +v 0.707106 1.250000 0.707107 +v -0.353553 4.616025 -0.353554 +v -0.612372 4.250000 -0.612372 +v -0.707106 3.750000 -0.707107 +v 0.923879 1.250000 0.382683 +v 1.000000 1.250000 0.000000 +v -0.191341 4.616025 -0.461940 +v -0.331413 4.250000 -0.800103 +v -0.382683 3.750000 -0.923880 +v 0.923879 1.250000 -0.382683 +v 0.707107 1.250000 -0.707107 +v -0.000000 4.750000 0.000000 +v 0.000000 4.616025 -0.500000 +v 0.382683 1.250000 -0.923880 +v 0.000000 1.250000 -1.000000 +v 1.000000 0.250000 1.250000 +v 1.250000 0.250000 1.250000 +v 1.000000 0.250000 1.000000 +v 1.250000 0.250000 1.000000 +v 1.000000 3.750000 1.250000 +v 1.250000 3.750000 1.250000 +v 1.000000 3.750000 1.000000 +v 1.250000 3.750000 1.000000 +v 1.000000 0.250000 -1.000000 +v 1.250000 0.250000 -1.000000 +v 1.000000 0.250000 -1.250000 +v 1.250000 0.250000 -1.250000 +v 1.000000 3.750000 -1.000000 +v 1.250000 3.750000 -1.000000 +v 1.000000 3.750000 -1.250000 +v 1.250000 3.750000 -1.250000 +v -1.250000 3.750000 1.250000 +v -1.000000 3.750000 1.250000 +v -1.250000 3.750000 1.000000 +v -1.000000 3.750000 1.000000 +v -1.250000 0.250000 1.250000 +v -1.000000 0.250000 1.250000 +v -1.250000 0.250000 1.000000 +v -1.000000 0.250000 1.000000 +v -1.250000 3.750000 -1.000000 +v -1.000000 3.750000 -1.000000 +v -1.250000 3.750000 -1.250000 +v -1.000000 3.750000 -1.250000 +v -1.250000 0.250000 -1.000000 +v -1.000000 0.250000 -1.000000 +v -1.250000 0.250000 -1.250000 +v -1.000000 0.250000 -1.250000 +v 1.000000 3.750000 1.000000 +v 1.250000 3.750000 1.000000 +v 1.000000 3.750000 -1.000000 +v 1.250000 3.750000 -1.000000 +v 1.250000 3.500000 1.000000 +v 1.000000 3.500000 1.000000 +v 1.000000 3.500000 -1.000000 +v 1.250000 3.500000 -1.000000 +v -1.000000 3.750000 -1.000000 +v -1.250000 3.750000 -1.000000 +v -1.000000 3.750000 1.000000 +v -1.250000 3.750000 1.000000 +v -1.250000 3.500000 -1.000000 +v -1.000000 3.500000 -1.000000 +v -1.000000 3.500000 1.000000 +v -1.250000 3.500000 1.000000 +v 1.000000 3.750000 -1.000000 +v 1.000000 3.750000 -1.250000 +v -1.000000 3.750000 -1.000000 +v -1.000000 3.750000 -1.250000 +v 1.000000 3.500000 -1.250000 +v 1.000000 3.500000 -1.000000 +v -1.000000 3.500000 -1.000000 +v -1.000000 3.500000 -1.250000 +v -1.000000 3.750000 1.000000 +v -1.000000 3.750000 1.250000 +v 1.000000 3.750000 1.000000 +v 1.000000 3.750000 1.250000 +v -1.000000 3.500000 1.250000 +v -1.000000 3.500000 1.000000 +v 1.000000 3.500000 1.000000 +v 1.000000 3.500000 1.250000 +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.437500 0.000000 0.437500 +v 0.437500 0.000000 0.437500 +v -0.437500 0.000000 -0.437500 +v 0.437500 0.000000 -0.437500 +v -0.500000 0.062500 -0.500000 +v -0.500000 0.062500 0.500000 +v 0.500000 0.062500 0.500000 +v 0.500000 0.062500 -0.500000 +v -0.437500 0.062500 -0.437500 +v -0.437500 0.062500 0.437500 +v 0.437500 0.062500 0.437500 +v 0.437500 0.062500 -0.437500 +v -0.250000 5.000000 0.250000 +v 0.250000 5.000000 0.250000 +v -0.250000 5.000000 -0.250000 +v 0.250000 5.000000 -0.250000 +v -0.250000 4.937500 -0.250000 +v -0.250000 4.937500 0.250000 +v 0.250000 4.937500 0.250000 +v 0.250000 4.937500 -0.250000 +v -0.375000 4.812500 -0.375000 +v -0.375000 4.812500 0.375000 +v 0.375000 4.812500 0.375000 +v 0.375000 4.812500 -0.375000 +v -0.375000 4.562500 -0.375000 +v -0.375000 4.562500 0.375000 +v 0.375000 4.562500 0.375000 +v 0.375000 4.562500 -0.375000 +v 0.375000 4.812500 0.187500 +v 0.375000 4.775888 0.099112 +v 0.375000 4.687500 0.062500 +v 0.375000 4.599112 0.099112 +v 0.375000 4.562500 0.187500 +v 0.375000 4.599112 0.275888 +v 0.375000 4.687500 0.312500 +v 0.375000 4.775888 0.275888 +v 1.125000 4.812500 0.187500 +v 1.125000 4.775888 0.099112 +v 1.125000 4.687500 0.062500 +v 1.125000 4.599112 0.099112 +v 1.125000 4.562500 0.187500 +v 1.125000 4.599112 0.275888 +v 1.125000 4.687500 0.312500 +v 1.125000 4.775888 0.275888 +v 1.301777 4.739277 0.187500 +v 1.275888 4.713388 0.099112 +v 1.213388 4.650888 0.062500 +v 1.150888 4.588388 0.099112 +v 1.150888 4.588388 0.275888 +v 1.213388 4.650888 0.312500 +v 1.275888 4.713388 0.275888 +v 1.375000 4.562500 0.187500 +v 1.338388 4.562500 0.099112 +v 1.250000 4.562500 0.062500 +v 1.161612 4.562500 0.099112 +v 1.161612 4.562500 0.275888 +v 1.250000 4.562500 0.312500 +v 1.338388 4.562500 0.275888 +v 1.125000 0.750000 0.187500 +v 1.375000 0.750000 0.187500 +v 1.338388 0.750000 0.099112 +v 1.250000 0.750000 0.062500 +v 1.161612 0.750000 0.099112 +v 1.161612 0.750000 0.275888 +v 1.250000 0.750000 0.312500 +v 1.338388 0.750000 0.275888 +v 0.375000 4.812500 -0.187500 +v 0.375000 4.775888 -0.275888 +v 0.375000 4.687500 -0.312500 +v 0.375000 4.599112 -0.275888 +v 0.375000 4.562500 -0.187500 +v 0.375000 4.599112 -0.099112 +v 0.375000 4.687500 -0.062500 +v 0.375000 4.775888 -0.099112 +v 1.125000 4.812500 -0.187500 +v 1.125000 4.775888 -0.275888 +v 1.125000 4.687500 -0.312500 +v 1.125000 4.599112 -0.275888 +v 1.125000 4.562500 -0.187500 +v 1.125000 4.599112 -0.099112 +v 1.125000 4.687500 -0.062500 +v 1.125000 4.775888 -0.099112 +v 1.301777 4.739277 -0.187500 +v 1.275888 4.713388 -0.275888 +v 1.213388 4.650888 -0.312500 +v 1.150888 4.588388 -0.275888 +v 1.150888 4.588388 -0.099112 +v 1.213388 4.650888 -0.062500 +v 1.275888 4.713388 -0.099112 +v 1.375000 4.562500 -0.187500 +v 1.338388 4.562500 -0.275888 +v 1.250000 4.562500 -0.312500 +v 1.161612 4.562500 -0.275888 +v 1.161612 4.562500 -0.099112 +v 1.250000 4.562500 -0.062500 +v 1.338388 4.562500 -0.099112 +v 1.125000 0.750000 -0.187500 +v 1.375000 0.750000 -0.187500 +v 1.338388 0.750000 -0.275888 +v 1.250000 0.750000 -0.312500 +v 1.161612 0.750000 -0.275888 +v 1.161612 0.750000 -0.099112 +v 1.250000 0.750000 -0.062500 +v 1.338388 0.750000 -0.099112 +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.000000 0.750000 -0.750000 +v -1.375000 0.750000 -0.750000 +v -1.000000 0.750000 0.750000 +v -1.375000 0.750000 0.750000 +v -1.000000 0.250000 0.750000 +v -1.000000 0.250000 -0.750000 +v -1.375000 0.250000 -0.750000 +v -1.375000 0.250000 0.750000 +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.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.000000 0.750000 0.750000 +v 1.375000 0.750000 0.750000 +v 1.000000 0.750000 -0.750000 +v 1.375000 0.750000 -0.750000 +v 1.000000 0.250000 -0.750000 +v 1.000000 0.250000 0.750000 +v 1.375000 0.250000 0.750000 +v 1.375000 0.250000 -0.750000 +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 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.750000 0.750000 1.000000 +v -0.750000 0.750000 1.375000 +v 0.750000 0.750000 1.000000 +v 0.750000 0.750000 1.375000 +v 0.750000 0.250000 1.000000 +v -0.750000 0.250000 1.000000 +v -0.750000 0.250000 1.375000 +v 0.750000 0.250000 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.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.750000 0.750000 -1.000000 +v 0.750000 0.750000 -1.375000 +v -0.750000 0.750000 -1.000000 +v -0.750000 0.750000 -1.375000 +v -0.750000 0.250000 -1.000000 +v 0.750000 0.250000 -1.000000 +v 0.750000 0.250000 -1.375000 +v -0.750000 0.250000 -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 -1.250000 3.750000 -0.312500 +v -1.250000 3.750000 0.312500 +v -1.250000 3.500000 -0.312500 +v -1.250000 3.500000 0.312500 +v -1.375000 3.750000 -0.312500 +v -1.375000 3.750000 0.312500 +v -1.375000 3.500000 -0.312500 +v -1.375000 3.500000 0.312500 +v 1.250000 3.750000 0.312500 +v 1.250000 3.750000 -0.312500 +v 1.250000 3.500000 0.312500 +v 1.250000 3.500000 -0.312500 +v 1.375000 3.750000 0.312500 +v 1.375000 3.750000 -0.312500 +v 1.375000 3.500000 0.312500 +v 1.375000 3.500000 -0.312500 +v -0.312500 3.750000 1.250000 +v 0.312500 3.750000 1.250000 +v -0.312500 3.500000 1.250000 +v 0.312500 3.500000 1.250000 +v -0.312500 3.750000 1.375000 +v 0.312500 3.750000 1.375000 +v -0.312500 3.500000 1.375000 +v 0.312500 3.500000 1.375000 +v 0.312500 3.750000 -1.250000 +v -0.312500 3.750000 -1.250000 +v 0.312500 3.500000 -1.250000 +v -0.312500 3.500000 -1.250000 +v 0.312500 3.750000 -1.375000 +v -0.312500 3.750000 -1.375000 +v 0.312500 3.500000 -1.375000 +v -0.312500 3.500000 -1.375000 +v -0.375000 4.812500 -0.187500 +v -0.375000 4.775888 -0.099112 +v -0.375000 4.687500 -0.062500 +v -0.375000 4.599112 -0.099112 +v -0.375000 4.562500 -0.187500 +v -0.375000 4.599112 -0.275888 +v -0.375000 4.687500 -0.312500 +v -0.375000 4.775888 -0.275888 +v -1.125000 4.812500 -0.187500 +v -1.125000 4.775888 -0.099111 +v -1.125000 4.687500 -0.062500 +v -1.125000 4.599112 -0.099111 +v -1.125000 4.562500 -0.187500 +v -1.125000 4.599112 -0.275888 +v -1.125000 4.687500 -0.312500 +v -1.125000 4.775888 -0.275888 +v -1.301777 4.739277 -0.187500 +v -1.275888 4.713388 -0.099111 +v -1.213388 4.650888 -0.062500 +v -1.150888 4.588388 -0.099111 +v -1.150888 4.588388 -0.275888 +v -1.213388 4.650888 -0.312500 +v -1.275888 4.713388 -0.275888 +v -1.375000 4.562500 -0.187500 +v -1.338388 4.562500 -0.099111 +v -1.250000 4.562500 -0.062500 +v -1.161612 4.562500 -0.099111 +v -1.161612 4.562500 -0.275888 +v -1.250000 4.562500 -0.312500 +v -1.338388 4.562500 -0.275888 +v -1.125000 0.750000 -0.187500 +v -1.375000 0.750000 -0.187500 +v -1.338388 0.750000 -0.099111 +v -1.250000 0.750000 -0.062500 +v -1.161612 0.750000 -0.099111 +v -1.161612 0.750000 -0.275888 +v -1.250000 0.750000 -0.312500 +v -1.338388 0.750000 -0.275888 +v -0.375000 4.812500 0.187500 +v -0.375000 4.775888 0.275888 +v -0.375000 4.687500 0.312500 +v -0.375000 4.599112 0.275888 +v -0.375000 4.562500 0.187500 +v -0.375000 4.599112 0.099112 +v -0.375000 4.687500 0.062500 +v -0.375000 4.775888 0.099112 +v -1.125000 4.812500 0.187500 +v -1.125000 4.775888 0.275889 +v -1.125000 4.687500 0.312500 +v -1.125000 4.599112 0.275889 +v -1.125000 4.562500 0.187500 +v -1.125000 4.599112 0.099112 +v -1.125000 4.687500 0.062500 +v -1.125000 4.775888 0.099112 +v -1.301777 4.739277 0.187500 +v -1.275888 4.713388 0.275889 +v -1.213388 4.650888 0.312500 +v -1.150888 4.588388 0.275889 +v -1.150888 4.588388 0.099112 +v -1.213388 4.650888 0.062500 +v -1.275888 4.713388 0.099112 +v -1.375000 4.562500 0.187500 +v -1.338388 4.562500 0.275889 +v -1.250000 4.562500 0.312500 +v -1.161612 4.562500 0.275889 +v -1.161612 4.562500 0.099112 +v -1.250000 4.562500 0.062500 +v -1.338388 4.562500 0.099112 +v -1.125000 0.750000 0.187500 +v -1.375000 0.750000 0.187500 +v -1.338388 0.750000 0.275889 +v -1.250000 0.750000 0.312500 +v -1.161612 0.750000 0.275889 +v -1.161612 0.750000 0.099112 +v -1.250000 0.750000 0.062500 +v -1.338388 0.750000 0.099112 +v 0.187500 4.812500 -0.375000 +v 0.099112 4.775888 -0.375000 +v 0.062500 4.687500 -0.375000 +v 0.099112 4.599112 -0.375000 +v 0.187500 4.562500 -0.375000 +v 0.275888 4.599112 -0.375000 +v 0.312500 4.687500 -0.375000 +v 0.275888 4.775888 -0.375000 +v 0.187500 4.812500 -1.125000 +v 0.099112 4.775888 -1.125000 +v 0.062500 4.687500 -1.125000 +v 0.099112 4.599112 -1.125000 +v 0.187500 4.562500 -1.125000 +v 0.275888 4.599112 -1.125000 +v 0.312500 4.687500 -1.125000 +v 0.275888 4.775888 -1.125000 +v 0.187500 4.739277 -1.301777 +v 0.099112 4.713388 -1.275888 +v 0.062500 4.650888 -1.213388 +v 0.099112 4.588388 -1.150888 +v 0.275888 4.588388 -1.150888 +v 0.312500 4.650888 -1.213388 +v 0.275888 4.713388 -1.275888 +v 0.187500 4.562500 -1.375000 +v 0.099112 4.562500 -1.338388 +v 0.062500 4.562500 -1.250000 +v 0.099112 4.562500 -1.161612 +v 0.275888 4.562500 -1.161612 +v 0.312500 4.562500 -1.250000 +v 0.275888 4.562500 -1.338388 +v 0.187500 0.750001 -1.125000 +v 0.187500 0.750001 -1.375000 +v 0.099112 0.750001 -1.338388 +v 0.062500 0.750001 -1.250000 +v 0.099112 0.750001 -1.161612 +v 0.275888 0.750001 -1.161612 +v 0.312500 0.750001 -1.250000 +v 0.275888 0.750001 -1.338388 +v -0.187500 4.812500 -0.375000 +v -0.275888 4.775888 -0.375000 +v -0.312500 4.687500 -0.375000 +v -0.275888 4.599112 -0.375000 +v -0.187500 4.562500 -0.375000 +v -0.099112 4.599112 -0.375000 +v -0.062500 4.687500 -0.375000 +v -0.099112 4.775888 -0.375000 +v -0.187500 4.812500 -1.125000 +v -0.275888 4.775888 -1.125000 +v -0.312500 4.687500 -1.125000 +v -0.275888 4.599112 -1.125000 +v -0.187500 4.562500 -1.125000 +v -0.099112 4.599112 -1.125000 +v -0.062500 4.687500 -1.125000 +v -0.099112 4.775888 -1.125000 +v -0.187500 4.739277 -1.301777 +v -0.275888 4.713388 -1.275888 +v -0.312500 4.650888 -1.213388 +v -0.275888 4.588388 -1.150888 +v -0.099112 4.588388 -1.150888 +v -0.062500 4.650888 -1.213388 +v -0.099112 4.713388 -1.275888 +v -0.187500 4.562500 -1.375000 +v -0.275888 4.562500 -1.338388 +v -0.312500 4.562500 -1.250000 +v -0.275889 4.562500 -1.161612 +v -0.099112 4.562500 -1.161612 +v -0.062500 4.562500 -1.250000 +v -0.099112 4.562500 -1.338388 +v -0.187500 0.750001 -1.125000 +v -0.187500 0.750001 -1.375000 +v -0.275888 0.750001 -1.338388 +v -0.312500 0.750001 -1.250000 +v -0.275889 0.750001 -1.161612 +v -0.099112 0.750001 -1.161612 +v -0.062500 0.750001 -1.250000 +v -0.099112 0.750001 -1.338388 +v -0.187500 4.812500 0.375000 +v -0.099111 4.775888 0.375000 +v -0.062500 4.687500 0.375000 +v -0.099111 4.599112 0.375000 +v -0.187500 4.562500 0.375000 +v -0.275888 4.599112 0.375000 +v -0.312500 4.687500 0.375000 +v -0.275888 4.775888 0.375000 +v -0.187500 4.812500 1.125000 +v -0.099111 4.775888 1.125000 +v -0.062500 4.687500 1.125000 +v -0.099111 4.599112 1.125000 +v -0.187500 4.562500 1.125000 +v -0.275888 4.599112 1.125000 +v -0.312500 4.687500 1.125000 +v -0.275888 4.775888 1.125000 +v -0.187500 4.739277 1.301777 +v -0.099111 4.713388 1.275888 +v -0.062500 4.650888 1.213388 +v -0.099111 4.588388 1.150888 +v -0.275888 4.588388 1.150888 +v -0.312500 4.650888 1.213388 +v -0.275888 4.713388 1.275888 +v -0.187500 4.562500 1.375000 +v -0.099111 4.562500 1.338388 +v -0.062500 4.562500 1.250000 +v -0.099111 4.562500 1.161612 +v -0.275888 4.562500 1.161612 +v -0.312500 4.562500 1.250000 +v -0.275888 4.562500 1.338388 +v -0.187500 0.750001 1.125000 +v -0.187500 0.750001 1.375000 +v -0.099111 0.750001 1.338388 +v -0.062500 0.750001 1.250000 +v -0.099111 0.750001 1.161612 +v -0.275888 0.750001 1.161612 +v -0.312500 0.750001 1.250000 +v -0.275888 0.750001 1.338388 +v 0.187500 4.812500 0.375000 +v 0.275888 4.775888 0.375000 +v 0.312500 4.687500 0.375000 +v 0.275888 4.599112 0.375000 +v 0.187500 4.562500 0.375000 +v 0.099112 4.599112 0.375000 +v 0.062500 4.687500 0.375000 +v 0.099112 4.775888 0.375000 +v 0.187500 4.812500 1.125000 +v 0.275889 4.775888 1.125000 +v 0.312500 4.687500 1.125000 +v 0.275889 4.599112 1.125000 +v 0.187500 4.562500 1.125000 +v 0.099112 4.599112 1.125000 +v 0.062500 4.687500 1.125000 +v 0.099112 4.775888 1.125000 +v 0.187500 4.739277 1.301777 +v 0.275889 4.713388 1.275888 +v 0.312500 4.650888 1.213388 +v 0.275889 4.588388 1.150888 +v 0.099112 4.588388 1.150888 +v 0.062500 4.650888 1.213388 +v 0.099112 4.713388 1.275888 +v 0.187500 4.562500 1.375000 +v 0.275889 4.562500 1.338388 +v 0.312500 4.562500 1.250000 +v 0.275889 4.562500 1.161612 +v 0.099112 4.562500 1.161612 +v 0.062500 4.562500 1.250000 +v 0.099112 4.562500 1.338388 +v 0.187500 0.750001 1.125000 +v 0.187500 0.750001 1.375000 +v 0.275889 0.750001 1.338388 +v 0.312500 0.750001 1.250000 +v 0.275889 0.750001 1.161612 +v 0.099112 0.750001 1.161612 +v 0.062500 0.750001 1.250000 +v 0.099112 0.750001 1.338388 +vt 0.655660 0.930000 +vt 0.589623 0.940000 +vt 0.589623 0.930000 +vt -0.000000 0.520000 +vt 0.226415 1.000000 +vt -0.000000 1.000000 +vt 0.226415 0.480000 +vt -0.000000 0.520000 +vt -0.000000 0.480000 +vt 0.226415 0.480000 +vt -0.000000 0.520000 +vt -0.000000 0.480000 +vt 0.226415 0.480000 +vt -0.000000 0.480000 +vt 0.226415 0.480000 +vt -0.000000 0.520000 +vt -0.000000 0.480000 +vt 0.386792 0.640000 +vt 0.273585 0.720000 +vt 0.273585 0.640000 +vt 0.226415 0.160000 +vt 0.377358 0.480000 +vt 0.226415 0.480000 +vt 0.377358 0.000000 +vt 0.226415 -0.000000 +vt 0.377358 -0.000000 +vt 0.226415 0.160000 +vt 0.226415 -0.000000 +vt 0.377358 -0.000000 +vt 0.226415 0.160000 +vt 0.226415 -0.000000 +vt 0.377358 -0.000000 +vt 0.226415 0.160000 +vt 0.226415 -0.000000 +vt 0.273585 0.730000 +vt 0.386792 0.810000 +vt 0.273585 0.810000 +vt 0.424528 0.720000 +vt 0.386792 0.730000 +vt 0.386792 0.720000 +vt 0.235849 0.730000 +vt 0.235849 0.720000 +vt 0.386792 0.640000 +vt 0.273585 0.720000 +vt 0.273585 0.640000 +vt 0.273585 0.730000 +vt 0.386792 0.810000 +vt 0.273585 0.810000 +vt 0.424528 0.720000 +vt 0.386792 0.730000 +vt 0.386792 0.720000 +vt 0.235849 0.730000 +vt 0.235849 0.720000 +vt 0.386792 0.640000 +vt 0.273585 0.720000 +vt 0.273585 0.640000 +vt 0.273585 0.730000 +vt 0.386792 0.810000 +vt 0.273585 0.810000 +vt 0.424528 0.720000 +vt 0.386792 0.730000 +vt 0.386792 0.720000 +vt 0.235849 0.730000 +vt 0.235849 0.720000 +vt 0.386792 0.640000 +vt 0.273585 0.720000 +vt 0.273585 0.640000 +vt 0.273585 0.730000 +vt 0.386792 0.810000 +vt 0.273585 0.810000 +vt 0.424528 0.720000 +vt 0.386792 0.730000 +vt 0.386792 0.720000 +vt 0.235849 0.730000 +vt 0.235849 0.720000 +vt 0.273585 0.810000 +vt 0.386792 0.730000 +vt 0.386792 0.810000 +vt 0.386792 0.720000 +vt 0.273585 0.640000 +vt 0.386792 0.640000 +vt 0.235849 0.730000 +vt 0.273585 0.720000 +vt 0.273585 0.730000 +vt 0.424528 0.720000 +vt 0.424528 0.730000 +vt 0.273585 0.810000 +vt 0.386792 0.730000 +vt 0.386792 0.810000 +vt 0.386792 0.720000 +vt 0.273585 0.640000 +vt 0.386792 0.640000 +vt 0.235849 0.730000 +vt 0.273585 0.720000 +vt 0.273585 0.730000 +vt 0.424528 0.720000 +vt 0.424528 0.730000 +vt 0.273585 0.810000 +vt 0.386792 0.730000 +vt 0.386792 0.810000 +vt 0.386792 0.720000 +vt 0.273585 0.640000 +vt 0.386792 0.640000 +vt 0.235849 0.730000 +vt 0.273585 0.720000 +vt 0.273585 0.730000 +vt 0.424528 0.720000 +vt 0.424528 0.730000 +vt 0.273585 0.810000 +vt 0.386792 0.730000 +vt 0.386792 0.810000 +vt 0.386792 0.720000 +vt 0.273585 0.640000 +vt 0.386792 0.640000 +vt 0.235849 0.730000 +vt 0.273585 0.720000 +vt 0.273585 0.730000 +vt 0.424528 0.720000 +vt 0.424528 0.730000 +vt 0.273585 0.810000 +vt 0.386792 0.730000 +vt 0.386792 0.810000 +vt 0.386792 0.720000 +vt 0.273585 0.640000 +vt 0.386792 0.640000 +vt 0.235849 0.730000 +vt 0.273585 0.720000 +vt 0.273585 0.730000 +vt 0.424528 0.720000 +vt 0.424528 0.730000 +vt 0.273585 0.810000 +vt 0.386792 0.730000 +vt 0.386792 0.810000 +vt 0.386792 0.720000 +vt 0.273585 0.640000 +vt 0.386792 0.640000 +vt 0.235849 0.730000 +vt 0.273585 0.720000 +vt 0.273585 0.730000 +vt 0.424528 0.720000 +vt 0.424528 0.730000 +vt 0.273585 0.810000 +vt 0.386792 0.730000 +vt 0.386792 0.810000 +vt 0.386792 0.720000 +vt 0.273585 0.640000 +vt 0.386792 0.640000 +vt 0.235849 0.730000 +vt 0.273585 0.720000 +vt 0.273585 0.730000 +vt 0.424528 0.720000 +vt 0.424528 0.730000 +vt 0.273585 0.810000 +vt 0.386792 0.730000 +vt 0.386792 0.810000 +vt 0.386792 0.720000 +vt 0.273585 0.640000 +vt 0.386792 0.640000 +vt 0.235849 0.730000 +vt 0.273585 0.720000 +vt 0.273585 0.730000 +vt 0.424528 0.720000 +vt 0.424528 0.730000 +vt 0.386792 0.640000 +vt 0.273585 0.720000 +vt 0.273585 0.640000 +vt 0.273585 0.730000 +vt 0.386792 0.810000 +vt 0.273585 0.810000 +vt 0.424528 0.720000 +vt 0.386792 0.730000 +vt 0.386792 0.720000 +vt 0.235849 0.730000 +vt 0.235849 0.720000 +vt 0.386792 0.640000 +vt 0.273585 0.720000 +vt 0.273585 0.640000 +vt 0.273585 0.730000 +vt 0.386792 0.810000 +vt 0.273585 0.810000 +vt 0.424528 0.720000 +vt 0.386792 0.730000 +vt 0.386792 0.720000 +vt 0.235849 0.730000 +vt 0.235849 0.720000 +vt 0.386792 0.640000 +vt 0.273585 0.720000 +vt 0.273585 0.640000 +vt 0.273585 0.730000 +vt 0.386792 0.810000 +vt 0.273585 0.810000 +vt 0.424528 0.720000 +vt 0.386792 0.730000 +vt 0.386792 0.720000 +vt 0.235849 0.730000 +vt 0.235849 0.720000 +vt 0.386792 0.640000 +vt 0.273585 0.720000 +vt 0.273585 0.640000 +vt 0.273585 0.730000 +vt 0.386792 0.810000 +vt 0.273585 0.810000 +vt 0.424528 0.720000 +vt 0.386792 0.730000 +vt 0.386792 0.720000 +vt 0.235849 0.730000 +vt 0.235849 0.720000 +vt 0.867925 0.600000 +vt 0.886792 0.560000 +vt 0.886792 0.600000 +vt 0.867925 0.560000 +vt 0.886792 0.600000 +vt 0.867925 0.600000 +vt 0.886792 -0.000000 +vt 0.867925 -0.000000 +vt 0.924528 -0.000000 +vt 0.905660 0.560000 +vt 0.905660 -0.000000 +vt 0.886792 0.560000 +vt 0.849057 0.560000 +vt 0.849057 -0.000000 +vt 0.867925 -0.000000 +vt 0.849057 0.560000 +vt 0.849057 -0.000000 +vt 0.905660 -0.000000 +vt 0.886792 -0.000000 +vt 0.867925 0.560000 +vt 0.924528 -0.000000 +vt 0.905660 0.560000 +vt 0.924528 -0.000000 +vt 0.905660 0.560000 +vt 0.905660 -0.000000 +vt 0.886792 -0.000000 +vt 0.867925 0.560000 +vt 0.867925 -0.000000 +vt 0.886792 0.560000 +vt 0.849057 0.560000 +vt 0.849057 -0.000000 +vt 0.867925 -0.000000 +vt 0.849057 0.560000 +vt 0.849057 -0.000000 +vt 0.905660 -0.000000 +vt 0.886792 0.560000 +vt 0.886792 -0.000000 +vt 0.924528 -0.000000 +vt 0.905660 0.560000 +vt 0.867925 0.560000 +vt 0.886792 0.600000 +vt 0.867925 0.600000 +vt 0.886792 0.600000 +vt 0.424528 0.720000 +vt 0.575472 0.760000 +vt 0.424528 0.760000 +vt 0.575472 0.640000 +vt 0.424528 0.680000 +vt 0.424528 0.640000 +vt 0.424528 0.800000 +vt 0.575472 0.640000 +vt 0.424528 0.680000 +vt 0.424528 0.640000 +vt 0.575472 0.680000 +vt 0.575472 0.720000 +vt 0.424528 0.720000 +vt 0.575472 0.760000 +vt 0.424528 0.760000 +vt 0.424528 0.800000 +vt 0.575472 0.680000 +vt 0.575472 0.720000 +vt 0.424528 0.720000 +vt 0.575472 0.760000 +vt 0.424528 0.760000 +vt 0.575472 0.640000 +vt 0.424528 0.680000 +vt 0.424528 0.640000 +vt 0.424528 0.800000 +vt 0.575472 0.640000 +vt 0.424528 0.680000 +vt 0.424528 0.640000 +vt 0.575472 0.680000 +vt 0.575472 0.720000 +vt 0.424528 0.720000 +vt 0.575472 0.760000 +vt 0.424528 0.760000 +vt 0.424528 0.800000 +vt 0.575472 0.680000 +vt 0.575472 0.720000 +vt 0.655660 0.790000 +vt 0.589623 0.790000 +vt 0.575472 0.780000 +vt 0.580189 0.940000 +vt 0.575472 0.940000 +vt 0.669811 0.940000 +vt 0.665094 0.780000 +vt 0.669811 0.780000 +vt 0.584906 0.790000 +vt 0.226415 -0.000000 +vt 0.075472 0.160000 +vt -0.000000 0.000000 +vt 0.150943 0.160000 +vt 0.150943 0.320000 +vt 0.075472 0.320000 +vt 0.665094 0.940000 +vt 0.660377 0.790000 +vt 0.584906 0.950000 +vt 0.655660 0.940000 +vt 0.660377 0.950000 +vt 0.580189 0.780000 +vt 0.584906 0.930000 +vt 0.660377 0.770000 +vt 0.589623 0.780000 +vt 0.584906 0.770000 +vt 0.655660 0.780000 +vt 0.584906 0.960000 +vt 0.660377 0.960000 +vt 0.660377 0.760000 +vt 0.584906 0.760000 +vt 0.660377 0.930000 +vt 0.707547 0.720000 +vt 0.745283 0.800000 +vt 0.707547 0.800000 +vt 0.707547 0.710000 +vt 0.754717 0.680000 +vt 0.745283 0.710000 +vt 0.745283 0.720000 +vt 0.820755 0.720000 +vt 0.858491 0.710000 +vt 0.858491 0.720000 +vt 0.764151 0.720000 +vt 0.801887 0.710000 +vt 0.801887 0.720000 +vt 0.650943 0.720000 +vt 0.688679 0.710000 +vt 0.688679 0.720000 +vt 0.811321 0.640000 +vt 0.811321 0.680000 +vt 0.820755 0.710000 +vt 0.867925 0.680000 +vt 0.764151 0.710000 +vt 0.650943 0.710000 +vt 0.698113 0.680000 +vt 0.641509 0.680000 +vt 0.698113 0.640000 +vt 0.754717 0.640000 +vt 0.867925 0.640000 +vt 0.235849 0.700000 +vt 0.264151 0.640000 +vt 0.264151 0.700000 +vt 0.254717 0.560000 +vt 0.367925 0.620000 +vt 0.254717 0.620000 +vt 0.367925 0.480000 +vt 0.367925 0.560000 +vt 0.396226 0.480000 +vt 0.396226 0.560000 +vt 0.226415 0.560000 +vt 0.254717 0.480000 +vt 0.235849 0.700000 +vt 0.264151 0.640000 +vt 0.264151 0.700000 +vt 0.273585 0.700000 +vt 0.235849 0.640000 +vt 0.264151 0.620000 +vt 0.235849 0.720000 +vt 0.226415 0.640000 +vt 0.254717 0.560000 +vt 0.367925 0.620000 +vt 0.254717 0.620000 +vt 0.367925 0.480000 +vt 0.367925 0.560000 +vt 0.396226 0.480000 +vt 0.396226 0.560000 +vt 0.226415 0.560000 +vt 0.254717 0.480000 +vt 0.273585 0.700000 +vt 0.235849 0.640000 +vt 0.264151 0.620000 +vt 0.235849 0.720000 +vt 0.226415 0.640000 +vt 0.235849 0.700000 +vt 0.264151 0.640000 +vt 0.264151 0.700000 +vt 0.254717 0.560000 +vt 0.367925 0.620000 +vt 0.254717 0.620000 +vt 0.367925 0.480000 +vt 0.367925 0.560000 +vt 0.396226 0.480000 +vt 0.396226 0.560000 +vt 0.226415 0.560000 +vt 0.254717 0.480000 +vt 0.235849 0.700000 +vt 0.264151 0.640000 +vt 0.264151 0.700000 +vt 0.273585 0.700000 +vt 0.235849 0.640000 +vt 0.264151 0.620000 +vt 0.235849 0.720000 +vt 0.226415 0.640000 +vt 0.254717 0.560000 +vt 0.367925 0.620000 +vt 0.254717 0.620000 +vt 0.367925 0.480000 +vt 0.367925 0.560000 +vt 0.396226 0.480000 +vt 0.396226 0.560000 +vt 0.226415 0.560000 +vt 0.254717 0.480000 +vt 0.273585 0.700000 +vt 0.235849 0.640000 +vt 0.264151 0.620000 +vt 0.264151 0.720000 +vt 0.235849 0.720000 +vt 0.226415 0.640000 +vt 0.584906 0.640000 +vt 0.575472 0.680000 +vt 0.575472 0.640000 +vt 0.641509 0.680000 +vt 0.632075 0.640000 +vt 0.641509 0.640000 +vt 0.632075 0.680000 +vt 0.584906 0.640000 +vt 0.575472 0.680000 +vt 0.575472 0.640000 +vt 0.641509 0.680000 +vt 0.632075 0.640000 +vt 0.641509 0.640000 +vt 0.632075 0.680000 +vt 0.584906 0.640000 +vt 0.575472 0.680000 +vt 0.575472 0.640000 +vt 0.641509 0.680000 +vt 0.632075 0.640000 +vt 0.641509 0.640000 +vt 0.632075 0.680000 +vt 0.584906 0.640000 +vt 0.575472 0.680000 +vt 0.575472 0.640000 +vt 0.641509 0.680000 +vt 0.632075 0.640000 +vt 0.641509 0.640000 +vt 0.632075 0.680000 +vt 0.226415 0.520000 +vt 0.226415 0.520000 +vt 0.226415 0.520000 +vt 0.226415 0.520000 +vt 0.377358 0.160000 +vt 0.377358 0.160000 +vt 0.377358 0.160000 +vt 0.377358 0.160000 +vt 0.424528 0.730000 +vt 0.424528 0.730000 +vt 0.424528 0.730000 +vt 0.424528 0.730000 +vt 0.235849 0.720000 +vt 0.235849 0.720000 +vt 0.235849 0.720000 +vt 0.235849 0.720000 +vt 0.235849 0.720000 +vt 0.235849 0.720000 +vt 0.235849 0.720000 +vt 0.235849 0.720000 +vt 0.424528 0.730000 +vt 0.424528 0.730000 +vt 0.424528 0.730000 +vt 0.424528 0.730000 +vt 0.924528 0.560000 +vt 0.924528 0.560000 +vt 0.924528 0.560000 +vt 0.924528 0.560000 +vt 0.867925 0.600000 +vt 0.575472 0.800000 +vt 0.575472 0.800000 +vt 0.575472 0.800000 +vt 0.575472 0.800000 +vt 0.641509 0.640000 +vt 0.226415 0.480000 +vt 0.273585 0.640000 +vt 0.235849 0.620000 +vt 0.264151 0.720000 +vt 0.226415 0.700000 +vt 0.226415 0.480000 +vt 0.273585 0.640000 +vt 0.235849 0.620000 +vt 0.264151 0.720000 +vt 0.226415 0.700000 +vt 0.226415 0.480000 +vt 0.273585 0.640000 +vt 0.235849 0.620000 +vt 0.264151 0.720000 +vt 0.226415 0.700000 +vt 0.226415 0.480000 +vt 0.273585 0.640000 +vt 0.235849 0.620000 +vt 0.226415 0.700000 +vt 0.584906 0.680000 +vt 0.584906 0.680000 +vt 0.584906 0.680000 +vt 0.584906 0.680000 +vt 0.731132 0.560000 +vt 0.712264 0.480000 +vt 0.735849 0.480000 +vt 0.707547 0.400000 +vt 0.735849 0.400000 +vt 0.721698 0.640000 +vt 0.716981 0.560000 +vt 0.702830 0.560000 +vt 0.683962 0.480000 +vt 0.707547 0.480000 +vt 0.679245 0.400000 +vt 0.693396 0.640000 +vt 0.688679 0.560000 +vt 0.679245 0.480000 +vt 0.660377 0.560000 +vt 0.655660 0.480000 +vt 0.650943 0.400000 +vt 0.674528 0.560000 +vt 0.665094 0.640000 +vt 0.627358 0.480000 +vt 0.622642 0.400000 +vt 0.646226 0.560000 +vt 0.636792 0.640000 +vt 0.632075 0.560000 +vt 0.650943 0.480000 +vt 0.599057 0.480000 +vt 0.594340 0.400000 +vt 0.617925 0.560000 +vt 0.608491 0.640000 +vt 0.603774 0.560000 +vt 0.622642 0.480000 +vt 0.570755 0.480000 +vt 0.566038 0.400000 +vt 0.589623 0.560000 +vt 0.580189 0.640000 +vt 0.575472 0.560000 +vt 0.594340 0.480000 +vt 0.566038 0.480000 +vt 0.537736 0.400000 +vt 0.561321 0.560000 +vt 0.551887 0.640000 +vt 0.547170 0.560000 +vt 0.542453 0.480000 +vt 0.537736 0.480000 +vt 0.509434 0.400000 +vt 0.533019 0.560000 +vt 0.523585 0.640000 +vt 0.518868 0.560000 +vt 0.514151 0.480000 +vt 0.504717 0.560000 +vt 0.495283 0.640000 +vt 0.490566 0.560000 +vt 0.485849 0.480000 +vt 0.509434 0.480000 +vt 0.481132 0.400000 +vt 0.476415 0.560000 +vt 0.457547 0.480000 +vt 0.481132 0.480000 +vt 0.452830 0.400000 +vt 0.466981 0.640000 +vt 0.462264 0.560000 +vt 0.448113 0.560000 +vt 0.429245 0.480000 +vt 0.452830 0.480000 +vt 0.396226 0.400000 +vt 0.424528 0.000000 +vt 0.424528 0.400000 +vt 0.438679 0.640000 +vt 0.433962 0.560000 +vt 0.566038 -0.000000 +vt 0.537736 0.000000 +vt 0.419811 0.560000 +vt 0.400943 0.480000 +vt 0.424528 0.480000 +vt 0.452830 0.000000 +vt 0.410377 0.640000 +vt 0.405660 0.560000 +vt 0.735849 0.000000 +vt 0.844340 0.560000 +vt 0.825472 0.480000 +vt 0.849057 0.480000 +vt 0.594340 0.000000 +vt 0.820755 0.400000 +vt 0.849057 0.400000 +vt 0.834906 0.640000 +vt 0.830189 0.560000 +vt 0.707547 0.000000 +vt 0.820755 0.480000 +vt 0.801887 0.560000 +vt 0.797170 0.480000 +vt 0.792453 0.400000 +vt 0.820755 -0.000000 +vt 0.816038 0.560000 +vt 0.806604 0.640000 +vt 0.764151 0.400000 +vt 0.792453 0.000000 +vt 0.481132 -0.000000 +vt 0.509434 0.000000 +vt 0.768868 0.480000 +vt 0.787736 0.560000 +vt 0.778302 0.640000 +vt 0.773585 0.560000 +vt 0.622642 0.000000 +vt 0.764151 0.000000 +vt 0.792453 0.480000 +vt 0.679245 0.000000 +vt 0.740566 0.480000 +vt 0.759434 0.560000 +vt 0.750000 0.640000 +vt 0.745283 0.560000 +vt 0.650943 -0.000000 +vt 0.849057 0.000000 +vt 0.764151 0.480000 +vt 0.962264 0.670000 +vt 0.971698 0.790000 +vt 0.962264 0.790000 +vt 0.952830 0.670000 +vt 0.952830 0.790000 +vt 0.933962 0.670000 +vt 0.943396 0.790000 +vt 0.933962 0.790000 +vt 0.990566 0.670000 +vt 1.000000 0.790000 +vt 0.990566 0.790000 +vt 0.971698 0.670000 +vt 0.981132 0.790000 +vt 0.943396 0.670000 +vt 0.924528 0.670000 +vt 0.924528 0.790000 +vt 0.981132 0.670000 +vt 0.971698 0.640000 +vt 0.981132 0.660000 +vt 0.943396 0.640000 +vt 0.943396 0.660000 +vt 0.990566 0.640000 +vt 0.990566 0.650000 +vt 0.962264 0.640000 +vt 0.933962 0.640000 +vt 0.933962 0.650000 +vt 0.952830 0.640000 +vt 0.962264 0.610000 +vt 0.943396 0.620000 +vt 0.971698 0.610000 +vt 0.981132 0.640000 +vt 0.990566 0.630000 +vt 0.924528 0.640000 +vt 0.933962 0.630000 +vt 1.000000 0.640000 +vt 0.990566 0.610000 +vt 1.000000 0.010000 +vt 1.000000 0.610000 +vt 0.952830 0.610000 +vt 0.962264 0.010000 +vt 0.924528 0.610000 +vt 0.933962 0.010000 +vt 0.933962 0.610000 +vt 0.943396 0.010000 +vt 0.943396 0.610000 +vt 0.981132 0.010000 +vt 0.981132 0.610000 +vt 0.952830 0.010000 +vt 0.990566 0.010000 +vt 0.971698 0.010000 +vt 0.962264 0.670000 +vt 0.971698 0.790000 +vt 0.962264 0.790000 +vt 0.952830 0.670000 +vt 0.952830 0.790000 +vt 0.933962 0.670000 +vt 0.943396 0.790000 +vt 0.933962 0.790000 +vt 0.990566 0.670000 +vt 1.000000 0.790000 +vt 0.990566 0.790000 +vt 0.971698 0.670000 +vt 0.981132 0.790000 +vt 0.943396 0.670000 +vt 0.924528 0.670000 +vt 0.924528 0.790000 +vt 0.981132 0.670000 +vt 0.981132 0.640000 +vt 0.981132 0.660000 +vt 0.943396 0.660000 +vt 0.952830 0.640000 +vt 0.990566 0.640000 +vt 0.990566 0.650000 +vt 0.962264 0.640000 +vt 0.933962 0.640000 +vt 0.933962 0.650000 +vt 0.962264 0.610000 +vt 0.943396 0.620000 +vt 0.943396 0.640000 +vt 0.971698 0.640000 +vt 0.981132 0.620000 +vt 0.952830 0.610000 +vt 0.990566 0.630000 +vt 0.924528 0.640000 +vt 0.933962 0.630000 +vt 1.000000 0.640000 +vt 0.990566 0.610000 +vt 1.000000 0.010000 +vt 1.000000 0.610000 +vt 0.962264 0.010000 +vt 0.924528 0.610000 +vt 0.933962 0.010000 +vt 0.933962 0.610000 +vt 0.943396 0.010000 +vt 0.943396 0.610000 +vt 0.971698 0.610000 +vt 0.981132 0.010000 +vt 0.981132 0.610000 +vt 0.952830 0.010000 +vt 0.990566 0.010000 +vt 0.971698 0.010000 +vt 0.962264 0.790000 +vt 0.971698 0.670000 +vt 0.971698 0.790000 +vt 0.952830 0.670000 +vt 0.952830 0.790000 +vt 0.933962 0.790000 +vt 0.943396 0.670000 +vt 0.943396 0.790000 +vt 0.990566 0.670000 +vt 1.000000 0.790000 +vt 0.990566 0.790000 +vt 0.981132 0.790000 +vt 0.924528 0.670000 +vt 0.924528 0.790000 +vt 0.981132 0.670000 +vt 0.971698 0.640000 +vt 0.981132 0.660000 +vt 0.943396 0.640000 +vt 0.943396 0.660000 +vt 0.990566 0.640000 +vt 0.990566 0.650000 +vt 0.962264 0.640000 +vt 0.962264 0.670000 +vt 0.933962 0.640000 +vt 0.933962 0.650000 +vt 0.952830 0.640000 +vt 0.962264 0.610000 +vt 0.943396 0.620000 +vt 0.981132 0.620000 +vt 0.981132 0.640000 +vt 0.990566 0.630000 +vt 0.924528 0.640000 +vt 0.933962 0.630000 +vt 1.000000 0.640000 +vt 0.990566 0.610000 +vt 1.000000 0.010000 +vt 1.000000 0.610000 +vt 0.952830 0.610000 +vt 0.962264 0.010000 +vt 0.924528 0.610000 +vt 0.933962 0.010000 +vt 0.933962 0.610000 +vt 0.943396 0.010000 +vt 0.943396 0.610000 +vt 0.971698 0.610000 +vt 0.981132 0.010000 +vt 0.981132 0.610000 +vt 0.952830 0.010000 +vt 0.990566 0.010000 +vt 0.971698 0.010000 +vt 0.962264 0.670000 +vt 0.971698 0.790000 +vt 0.962264 0.790000 +vt 0.952830 0.670000 +vt 0.952830 0.790000 +vt 0.933962 0.670000 +vt 0.943396 0.790000 +vt 0.933962 0.790000 +vt 0.990566 0.670000 +vt 1.000000 0.790000 +vt 0.990566 0.790000 +vt 0.971698 0.670000 +vt 0.981132 0.790000 +vt 0.943396 0.670000 +vt 0.924528 0.670000 +vt 0.924528 0.790000 +vt 0.981132 0.670000 +vt 0.971698 0.640000 +vt 0.981132 0.660000 +vt 0.943396 0.660000 +vt 0.952830 0.640000 +vt 0.990566 0.640000 +vt 0.990566 0.650000 +vt 0.962264 0.640000 +vt 0.933962 0.640000 +vt 0.933962 0.650000 +vt 0.962264 0.610000 +vt 0.933962 0.630000 +vt 0.943396 0.640000 +vt 0.971698 0.610000 +vt 0.981132 0.640000 +vt 0.943396 0.620000 +vt 0.990566 0.630000 +vt 0.924528 0.640000 +vt 1.000000 0.640000 +vt 0.990566 0.610000 +vt 1.000000 0.010000 +vt 1.000000 0.610000 +vt 0.952830 0.610000 +vt 0.962264 0.010000 +vt 0.924528 0.610000 +vt 0.933962 0.010000 +vt 0.933962 0.610000 +vt 0.943396 0.010000 +vt 0.943396 0.610000 +vt 0.981132 0.010000 +vt 0.981132 0.610000 +vt 0.952830 0.010000 +vt 0.990566 0.010000 +vt 0.971698 0.010000 +vt 0.962264 0.670000 +vt 0.971698 0.790000 +vt 0.962264 0.790000 +vt 0.952830 0.670000 +vt 0.952830 0.790000 +vt 0.933962 0.670000 +vt 0.943396 0.790000 +vt 0.933962 0.790000 +vt 0.990566 0.670000 +vt 1.000000 0.790000 +vt 0.990566 0.790000 +vt 0.971698 0.670000 +vt 0.981132 0.790000 +vt 0.943396 0.670000 +vt 0.924528 0.670000 +vt 0.924528 0.790000 +vt 0.981132 0.670000 +vt 0.971698 0.640000 +vt 0.981132 0.660000 +vt 0.943396 0.640000 +vt 0.943396 0.660000 +vt 0.990566 0.640000 +vt 0.990566 0.650000 +vt 0.962264 0.640000 +vt 0.933962 0.640000 +vt 0.933962 0.650000 +vt 0.952830 0.640000 +vt 0.962264 0.610000 +vt 0.943396 0.620000 +vt 0.971698 0.610000 +vt 0.981132 0.640000 +vt 0.952830 0.610000 +vt 0.990566 0.630000 +vt 0.924528 0.640000 +vt 0.933962 0.630000 +vt 1.000000 0.640000 +vt 0.990566 0.610000 +vt 1.000000 0.010000 +vt 1.000000 0.610000 +vt 0.962264 0.010000 +vt 0.924528 0.610000 +vt 0.933962 0.010000 +vt 0.933962 0.610000 +vt 0.943396 0.010000 +vt 0.943396 0.610000 +vt 0.981132 0.010000 +vt 0.981132 0.610000 +vt 0.952830 0.010000 +vt 0.990566 0.010000 +vt 0.971698 0.010000 +vt 0.962264 0.670000 +vt 0.971698 0.790000 +vt 0.962264 0.790000 +vt 0.952830 0.670000 +vt 0.952830 0.790000 +vt 0.933962 0.670000 +vt 0.943396 0.790000 +vt 0.933962 0.790000 +vt 0.990566 0.670000 +vt 1.000000 0.790000 +vt 0.990566 0.790000 +vt 0.971698 0.670000 +vt 0.981132 0.790000 +vt 0.943396 0.670000 +vt 0.924528 0.670000 +vt 0.924528 0.790000 +vt 0.981132 0.670000 +vt 0.981132 0.640000 +vt 0.981132 0.660000 +vt 0.943396 0.660000 +vt 0.952830 0.640000 +vt 0.990566 0.640000 +vt 0.990566 0.650000 +vt 0.962264 0.640000 +vt 0.933962 0.640000 +vt 0.933962 0.650000 +vt 0.962264 0.610000 +vt 0.943396 0.620000 +vt 0.943396 0.640000 +vt 0.971698 0.640000 +vt 0.981132 0.620000 +vt 0.952830 0.610000 +vt 0.990566 0.630000 +vt 0.924528 0.640000 +vt 0.933962 0.630000 +vt 1.000000 0.640000 +vt 0.990566 0.610000 +vt 1.000000 0.010000 +vt 1.000000 0.610000 +vt 0.962264 0.010000 +vt 0.924528 0.610000 +vt 0.933962 0.010000 +vt 0.933962 0.610000 +vt 0.943396 0.010000 +vt 0.943396 0.610000 +vt 0.971698 0.610000 +vt 0.981132 0.010000 +vt 0.981132 0.610000 +vt 0.952830 0.010000 +vt 0.990566 0.010000 +vt 0.971698 0.010000 +vt 0.962264 0.790000 +vt 0.971698 0.670000 +vt 0.971698 0.790000 +vt 0.952830 0.670000 +vt 0.952830 0.790000 +vt 0.933962 0.790000 +vt 0.943396 0.670000 +vt 0.943396 0.790000 +vt 0.990566 0.670000 +vt 1.000000 0.790000 +vt 0.990566 0.790000 +vt 0.981132 0.790000 +vt 0.924528 0.670000 +vt 0.924528 0.790000 +vt 0.981132 0.670000 +vt 0.971698 0.640000 +vt 0.981132 0.660000 +vt 0.943396 0.660000 +vt 0.952830 0.640000 +vt 0.990566 0.640000 +vt 0.990566 0.650000 +vt 0.962264 0.640000 +vt 0.962264 0.670000 +vt 0.933962 0.640000 +vt 0.933962 0.650000 +vt 0.962264 0.610000 +vt 0.943396 0.620000 +vt 0.943396 0.640000 +vt 0.981132 0.620000 +vt 0.981132 0.640000 +vt 0.990566 0.630000 +vt 0.924528 0.640000 +vt 0.933962 0.630000 +vt 1.000000 0.640000 +vt 0.990566 0.610000 +vt 1.000000 0.010000 +vt 1.000000 0.610000 +vt 0.952830 0.610000 +vt 0.962264 0.010000 +vt 0.924528 0.610000 +vt 0.933962 0.010000 +vt 0.933962 0.610000 +vt 0.943396 0.010000 +vt 0.943396 0.610000 +vt 0.971698 0.610000 +vt 0.981132 0.010000 +vt 0.981132 0.610000 +vt 0.952830 0.010000 +vt 0.990566 0.010000 +vt 0.971698 0.010000 +vt 0.962264 0.670000 +vt 0.971698 0.790000 +vt 0.962264 0.790000 +vt 0.952830 0.670000 +vt 0.952830 0.790000 +vt 0.933962 0.670000 +vt 0.943396 0.790000 +vt 0.933962 0.790000 +vt 0.990566 0.670000 +vt 1.000000 0.790000 +vt 0.990566 0.790000 +vt 0.971698 0.670000 +vt 0.981132 0.790000 +vt 0.943396 0.670000 +vt 0.924528 0.670000 +vt 0.924528 0.790000 +vt 0.981132 0.670000 +vt 0.981132 0.640000 +vt 0.981132 0.660000 +vt 0.943396 0.660000 +vt 0.952830 0.640000 +vt 0.990566 0.640000 +vt 0.990566 0.650000 +vt 0.962264 0.640000 +vt 0.933962 0.640000 +vt 0.933962 0.650000 +vt 0.962264 0.610000 +vt 0.943396 0.620000 +vt 0.943396 0.640000 +vt 0.971698 0.640000 +vt 0.981132 0.620000 +vt 0.990566 0.630000 +vt 0.924528 0.640000 +vt 0.933962 0.630000 +vt 1.000000 0.640000 +vt 0.990566 0.610000 +vt 1.000000 0.010000 +vt 1.000000 0.610000 +vt 0.952830 0.610000 +vt 0.962264 0.010000 +vt 0.924528 0.610000 +vt 0.933962 0.010000 +vt 0.933962 0.610000 +vt 0.943396 0.010000 +vt 0.943396 0.610000 +vt 0.971698 0.610000 +vt 0.981132 0.010000 +vt 0.981132 0.610000 +vt 0.952830 0.010000 +vt 0.990566 0.010000 +vt 0.971698 0.010000 +vt 0.396226 0.000000 +vt 1.000000 0.670000 +vt 0.981132 0.620000 +vt 0.924528 0.010000 +vt 1.000000 0.670000 +vt 0.924528 0.010000 +vt 0.933962 0.670000 +vt 1.000000 0.670000 +vt 0.924528 0.010000 +vt 1.000000 0.670000 +vt 0.981132 0.620000 +vt 0.924528 0.010000 +vt 1.000000 0.670000 +vt 0.981132 0.620000 +vt 0.924528 0.010000 +vt 1.000000 0.670000 +vt 0.924528 0.010000 +vt 0.933962 0.670000 +vt 1.000000 0.670000 +vt 0.924528 0.010000 +vt 1.000000 0.670000 +vt 0.924528 0.010000 +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 -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 0.7071 -0.7071 +vn 0.0000 0.7071 0.7071 +vn 0.0000 0.8520 -0.5235 +vn 0.3343 0.4865 -0.8071 +vn 0.0000 0.4865 -0.8736 +vn 0.3795 0.1285 -0.9162 +vn 0.0000 0.1285 -0.9917 +vn 0.2003 0.8520 -0.4836 +vn 0.6178 0.4865 -0.6178 +vn 0.7012 0.1285 -0.7012 +vn 0.3701 0.8520 -0.3701 +vn 0.4836 0.8520 -0.2003 +vn 0.8071 0.4865 -0.3343 +vn 0.9162 0.1285 -0.3795 +vn 0.8736 0.4865 0.0000 +vn 0.9917 0.1285 0.0000 +vn 0.5235 0.8520 0.0000 +vn 0.8071 0.4865 0.3343 +vn 0.9162 0.1285 0.3795 +vn 0.4836 0.8520 0.2003 +vn 0.6178 0.4865 0.6178 +vn 0.7012 0.1285 0.7012 +vn 0.3701 0.8520 0.3701 +vn 0.3795 0.1285 0.9162 +vn 0.2003 0.8520 0.4836 +vn 0.3343 0.4865 0.8071 +vn 0.0000 0.1285 0.9917 +vn 0.0000 0.8520 0.5235 +vn 0.0000 0.4865 0.8736 +vn -0.2003 0.8520 0.4836 +vn -0.3343 0.4865 0.8071 +vn -0.3795 0.1285 0.9162 +vn -0.6178 0.4865 0.6178 +vn -0.7012 0.1285 0.7012 +vn -0.3701 0.8520 0.3701 +vn -0.8071 0.4865 0.3343 +vn -0.9917 0.1285 0.0000 +vn -0.9239 0.0000 0.3827 +vn -0.9162 0.1285 0.3795 +vn -0.4836 0.8520 0.2003 +vn 0.7071 0.0000 0.7071 +vn 0.3827 0.0000 0.9239 +vn -0.8736 0.4865 0.0000 +vn -0.7071 0.0000 0.7071 +vn -0.5235 0.8520 0.0000 +vn -0.8071 0.4865 -0.3343 +vn 0.9239 0.0000 0.3827 +vn -0.9162 0.1285 -0.3795 +vn -0.4836 0.8520 -0.2003 +vn 0.3827 0.0000 -0.9239 +vn -0.3701 0.8520 -0.3701 +vn -0.6178 0.4865 -0.6178 +vn -0.7012 0.1285 -0.7012 +vn -0.9239 0.0000 -0.3827 +vn -0.3795 0.1285 -0.9162 +vn -0.7071 0.0000 -0.7071 +vn -0.3827 0.0000 0.9239 +vn -0.3343 0.4865 -0.8071 +vn -0.2003 0.8520 -0.4836 +vn -0.3827 0.0000 -0.9239 +vn 0.7071 0.0000 -0.7071 +vn 0.9239 0.0000 -0.3827 +vn 0.1866 0.9824 0.0000 +vn 0.1447 0.7194 0.6794 +vn -0.1363 -0.6737 0.7263 +vn 0.0000 -0.7071 0.7071 +vn -0.1363 -0.6737 -0.7263 +vn 0.0000 -0.7071 -0.7071 +vn 0.1447 0.7194 -0.6794 +vn 0.0196 0.0473 0.9987 +vn -0.7071 -0.7071 0.0000 +vn 0.0196 0.0473 -0.9987 +vn 0.5293 0.5293 -0.6630 +vn 0.0670 0.0670 0.9955 +vn -0.4617 -0.4617 -0.7573 +vn -0.4617 -0.4617 0.7573 +vn 0.5293 0.5293 0.6630 +vn 0.9824 0.1866 0.0000 +vn 0.0473 0.0196 0.9987 +vn 0.7194 0.1447 -0.6794 +vn 0.0670 0.0670 -0.9955 +vn -0.6737 -0.1363 -0.7263 +vn -0.6737 -0.1363 0.7263 +vn 0.7194 0.1447 0.6794 +vn 0.0473 0.0196 -0.9987 +vn -0.1447 0.7194 0.6794 +vn -0.1447 0.7194 -0.6794 +vn -0.0196 0.0473 -0.9987 +vn 0.1363 -0.6737 0.7263 +vn 0.7071 -0.7071 0.0000 +vn -0.0196 0.0473 0.9987 +vn -0.5293 0.5293 0.6630 +vn -0.0670 0.0670 -0.9955 +vn 0.4617 -0.4617 0.7573 +vn -0.1866 0.9824 0.0000 +vn 0.4617 -0.4617 -0.7573 +vn 0.1363 -0.6737 -0.7263 +vn -0.5293 0.5293 -0.6630 +vn -0.9824 0.1866 0.0000 +vn -0.0473 0.0196 -0.9987 +vn -0.0473 0.0196 0.9987 +vn -0.0670 0.0670 0.9955 +vn 0.6737 -0.1363 0.7263 +vn 0.6737 -0.1363 -0.7263 +vn -0.7194 0.1447 -0.6794 +vn -0.7194 0.1447 0.6794 +vn 0.0000 0.9824 -0.1866 +vn 0.6794 0.7194 -0.1447 +vn 0.7263 -0.6737 0.1363 +vn -0.7263 -0.6737 0.1363 +vn -0.6794 0.7194 -0.1447 +vn 0.9987 0.0473 -0.0196 +vn -0.9987 0.0473 -0.0196 +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.6630 0.5293 -0.5293 +vn 0.0000 0.1866 -0.9824 +vn 0.9987 0.0196 -0.0473 +vn -0.6794 0.1447 -0.7194 +vn -0.9955 0.0670 -0.0670 +vn 0.6794 0.1447 -0.7194 +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.7194 0.1447 +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.6630 0.5293 0.5293 +vn -0.6630 0.5293 0.5293 +vn 0.7573 -0.4617 -0.4617 +vn 0.0000 0.9824 0.1866 +vn -0.7573 -0.4617 -0.4617 +vn -0.7263 -0.6737 -0.1363 +vn 0.0000 0.1866 0.9824 +vn -0.9987 0.0196 0.0473 +vn -0.9955 0.0670 0.0670 +vn 0.9987 0.0196 0.0473 +vn 0.9955 0.0670 0.0670 +vn 0.7263 -0.1363 -0.6737 +vn -0.7263 -0.1363 -0.6737 +vn -0.6794 0.1447 0.7194 +vn 0.6794 0.1447 0.7194 +s off +f 281/1/1 288/2/1 279/3/1 +f 6/4/2 7/5/2 5/6/2 +f 3/7/3 8/8/3 4/9/3 +f 2/10/4 5/11/4 1/12/4 +f 4/13/1 6/4/1 2/14/1 +f 1/15/5 7/16/5 3/17/5 +f 19/18/6 18/19/6 17/20/6 +f 15/21/2 13/22/2 14/23/2 +f 12/24/1 15/21/1 10/25/1 +f 9/26/5 13/27/5 11/28/5 +f 11/29/3 16/30/3 12/31/3 +f 10/32/4 14/33/4 9/34/4 +f 23/35/2 21/36/2 22/37/2 +f 19/38/3 24/39/3 20/40/3 +f 18/19/4 22/41/4 17/42/4 +f 20/40/1 23/35/1 18/19/1 +f 27/43/6 26/44/6 25/45/6 +f 31/46/2 29/47/2 30/48/2 +f 27/49/3 32/50/3 28/51/3 +f 26/44/4 30/52/4 25/53/4 +f 28/51/1 31/46/1 26/44/1 +f 35/54/6 34/55/6 33/56/6 +f 39/57/2 37/58/2 38/59/2 +f 35/60/3 40/61/3 36/62/3 +f 34/55/4 38/63/4 33/64/4 +f 36/62/1 39/57/1 34/55/1 +f 43/65/6 42/66/6 41/67/6 +f 47/68/2 45/69/2 46/70/2 +f 43/71/3 48/72/3 44/73/3 +f 42/66/4 46/74/4 41/75/4 +f 44/73/1 47/68/1 42/66/1 +f 51/76/6 50/77/6 49/78/6 +f 55/79/2 53/80/2 54/81/2 +f 51/82/4 56/83/4 52/84/4 +f 50/77/3 54/85/3 49/86/3 +f 52/84/5 55/79/5 50/77/5 +f 59/87/6 58/88/6 57/89/6 +f 63/90/2 61/91/2 62/92/2 +f 59/93/4 64/94/4 60/95/4 +f 58/88/3 62/96/3 57/97/3 +f 60/95/5 63/90/5 58/88/5 +f 67/98/6 66/99/6 65/100/6 +f 71/101/2 69/102/2 70/103/2 +f 67/104/4 72/105/4 68/106/4 +f 66/99/3 70/107/3 65/108/3 +f 68/106/5 71/101/5 66/99/5 +f 75/109/6 74/110/6 73/111/6 +f 79/112/2 77/113/2 78/114/2 +f 75/115/4 80/116/4 76/117/4 +f 74/110/3 78/118/3 73/119/3 +f 76/117/5 79/112/5 74/110/5 +f 83/120/6 82/121/6 81/122/6 +f 87/123/2 85/124/2 86/125/2 +f 83/126/5 88/127/5 84/128/5 +f 82/121/1 86/129/1 81/130/1 +f 84/128/3 87/123/3 82/121/3 +f 91/131/6 90/132/6 89/133/6 +f 95/134/2 93/135/2 94/136/2 +f 91/137/5 96/138/5 92/139/5 +f 90/132/1 94/140/1 89/141/1 +f 92/139/3 95/134/3 90/132/3 +f 99/142/6 98/143/6 97/144/6 +f 103/145/2 101/146/2 102/147/2 +f 99/148/5 104/149/5 100/150/5 +f 98/143/1 102/151/1 97/152/1 +f 100/150/3 103/145/3 98/143/3 +f 107/153/6 106/154/6 105/155/6 +f 111/156/2 109/157/2 110/158/2 +f 107/159/5 112/160/5 108/161/5 +f 106/154/1 110/162/1 105/163/1 +f 108/161/3 111/156/3 106/154/3 +f 115/164/6 114/165/6 113/166/6 +f 119/167/2 117/168/2 118/169/2 +f 115/170/1 120/171/1 116/172/1 +f 114/165/5 118/173/5 113/174/5 +f 116/172/4 119/167/4 114/165/4 +f 123/175/6 122/176/6 121/177/6 +f 127/178/2 125/179/2 126/180/2 +f 123/181/1 128/182/1 124/183/1 +f 122/176/5 126/184/5 121/185/5 +f 124/183/4 127/178/4 122/176/4 +f 131/186/6 130/187/6 129/188/6 +f 135/189/2 133/190/2 134/191/2 +f 131/192/1 136/193/1 132/194/1 +f 130/187/5 134/195/5 129/196/5 +f 132/194/4 135/189/4 130/187/4 +f 139/197/6 138/198/6 137/199/6 +f 143/200/2 141/201/2 142/202/2 +f 139/203/1 144/204/1 140/205/1 +f 138/198/5 142/206/5 137/207/5 +f 140/205/4 143/200/4 138/198/4 +f 223/208/2 224/209/2 222/210/2 +f 215/211/2 216/212/2 214/213/2 +f 213/214/1 215/211/1 211/215/1 +f 210/216/5 216/217/5 212/218/5 +f 212/218/3 217/219/3 213/214/3 +f 211/215/4 214/220/4 210/221/4 +f 221/222/1 223/223/1 219/224/1 +f 218/225/5 224/209/5 220/226/5 +f 220/226/3 225/227/3 221/222/3 +f 219/228/4 222/229/4 218/225/4 +f 232/230/3 229/231/3 233/232/3 +f 231/233/4 226/234/4 230/235/4 +f 233/232/1 227/236/1 231/233/1 +f 230/235/5 228/237/5 232/238/5 +f 240/239/3 237/240/3 241/241/3 +f 239/242/4 234/243/4 238/244/4 +f 241/245/1 235/246/1 239/242/1 +f 238/244/5 236/247/5 240/239/5 +f 236/247/2 235/248/2 237/249/2 +f 229/250/2 226/234/2 227/236/2 +f 243/251/2 244/252/2 242/253/2 +f 248/254/6 246/255/6 247/256/6 +f 244/252/5 247/257/5 242/253/5 +f 256/258/6 254/259/6 255/260/6 +f 243/251/1 249/261/1 245/262/1 +f 251/263/2 252/264/2 250/265/2 +f 252/264/1 255/266/1 250/265/1 +f 251/263/5 257/267/5 253/268/5 +f 259/269/2 260/270/2 258/271/2 +f 264/272/6 262/273/6 263/274/6 +f 260/270/4 263/275/4 258/271/4 +f 272/276/6 270/277/6 271/278/6 +f 259/269/3 265/279/3 261/280/3 +f 267/281/2 268/282/2 266/283/2 +f 268/282/3 271/284/3 266/283/3 +f 267/281/4 273/285/4 269/286/4 +f 280/287/6 279/3/6 278/288/6 +f 274/289/3 284/290/3 275/291/3 +f 277/292/4 282/293/4 276/294/4 +f 279/3/4 287/295/4 278/288/4 +f 3/296/6 274/297/6 1/298/6 +f 4/13/6 276/299/6 3/296/6 +f 2/14/6 277/300/6 4/13/6 +f 1/298/6 275/301/6 2/14/6 +f 285/302/6 286/303/6 282/293/6 +f 284/304/6 289/305/6 285/306/6 +f 283/307/6 288/308/6 284/290/6 +f 282/309/6 287/310/6 283/311/6 +f 278/288/5 286/312/5 280/287/5 +f 275/313/5 285/306/5 277/314/5 +f 276/315/1 283/311/1 274/316/1 +f 280/287/3 289/317/3 281/1/3 +f 291/318/2 292/319/2 290/320/2 +f 296/321/7 301/322/7 297/323/7 +f 291/318/1 297/323/1 293/324/1 +f 292/325/5 295/326/5 290/327/5 +f 293/328/3 294/329/3 292/330/3 +f 290/331/4 296/332/4 291/333/4 +f 301/322/3 302/334/3 298/335/3 +f 294/336/8 299/337/8 295/326/8 +f 297/338/9 298/335/9 294/329/9 +f 295/339/10 300/340/10 296/332/10 +f 299/341/4 304/342/4 300/340/4 +f 300/340/1 305/343/1 301/322/1 +f 298/335/5 303/344/5 299/337/5 +f 384/345/5 383/346/5 382/347/5 +f 387/348/2 388/349/2 386/350/2 +f 387/348/5 393/351/5 389/352/5 +f 389/352/4 390/353/4 388/354/4 +f 386/355/3 392/356/3 387/348/3 +f 400/357/1 399/358/1 398/359/1 +f 383/346/4 395/360/4 382/347/4 +f 385/361/6 396/362/6 383/346/6 +f 382/347/2 394/363/2 384/345/2 +f 384/345/3 397/364/3 385/361/3 +f 403/365/2 404/366/2 402/367/2 +f 403/365/1 409/368/1 405/369/1 +f 405/369/3 406/370/3 404/371/3 +f 402/372/4 408/373/4 403/365/4 +f 399/358/3 411/374/3 398/359/3 +f 401/375/6 412/376/6 399/358/6 +f 398/359/2 410/377/2 400/357/2 +f 400/357/4 413/378/4 401/375/4 +f 416/379/4 415/380/4 414/381/4 +f 419/382/2 420/383/2 418/384/2 +f 419/382/4 425/385/4 421/386/4 +f 421/386/1 422/387/1 420/388/1 +f 418/389/5 424/390/5 419/382/5 +f 432/391/3 431/392/3 430/393/3 +f 415/380/1 427/394/1 414/381/1 +f 417/395/6 428/396/6 415/380/6 +f 414/381/2 426/397/2 416/379/2 +f 416/379/5 429/398/5 417/395/5 +f 435/399/2 436/400/2 434/401/2 +f 435/399/3 441/402/3 437/403/3 +f 437/403/5 438/404/5 436/405/5 +f 434/406/1 440/407/1 435/399/1 +f 431/392/5 443/408/5 430/393/5 +f 433/409/6 444/410/6 431/392/6 +f 432/391/2 443/411/2 442/412/2 +f 432/391/1 445/413/1 433/409/1 +f 452/414/3 446/415/3 448/416/3 +f 447/417/4 453/418/4 449/419/4 +f 451/420/5 452/414/5 453/418/5 +f 460/421/4 454/422/4 456/423/4 +f 455/424/3 461/425/3 457/426/3 +f 459/427/1 460/421/1 461/425/1 +f 468/428/5 462/429/5 464/430/5 +f 463/431/1 469/432/1 465/433/1 +f 467/434/4 468/428/4 469/432/4 +f 476/435/1 470/436/1 472/437/1 +f 471/438/5 477/439/5 473/440/5 +f 475/441/3 476/435/3 477/439/3 +f 281/1/1 289/305/1 288/2/1 +f 6/4/2 8/442/2 7/5/2 +f 3/7/3 7/443/3 8/8/3 +f 2/10/4 6/444/4 5/11/4 +f 4/13/1 8/442/1 6/4/1 +f 1/15/5 5/445/5 7/16/5 +f 19/18/6 20/40/6 18/19/6 +f 15/21/2 16/446/2 13/22/2 +f 12/24/1 16/446/1 15/21/1 +f 9/26/5 14/447/5 13/27/5 +f 11/29/3 13/448/3 16/30/3 +f 10/32/4 15/449/4 14/33/4 +f 23/35/2 24/39/2 21/36/2 +f 19/38/3 21/450/3 24/39/3 +f 18/19/4 23/35/4 22/41/4 +f 20/40/1 24/39/1 23/35/1 +f 27/43/6 28/51/6 26/44/6 +f 31/46/2 32/50/2 29/47/2 +f 27/49/3 29/451/3 32/50/3 +f 26/44/4 31/46/4 30/52/4 +f 28/51/1 32/50/1 31/46/1 +f 35/54/6 36/62/6 34/55/6 +f 39/57/2 40/61/2 37/58/2 +f 35/60/3 37/452/3 40/61/3 +f 34/55/4 39/57/4 38/63/4 +f 36/62/1 40/61/1 39/57/1 +f 43/65/6 44/73/6 42/66/6 +f 47/68/2 48/72/2 45/69/2 +f 43/71/3 45/453/3 48/72/3 +f 42/66/4 47/68/4 46/74/4 +f 44/73/1 48/72/1 47/68/1 +f 51/76/6 52/84/6 50/77/6 +f 55/79/2 56/83/2 53/80/2 +f 51/82/4 53/454/4 56/83/4 +f 50/77/3 55/79/3 54/85/3 +f 52/84/5 56/83/5 55/79/5 +f 59/87/6 60/95/6 58/88/6 +f 63/90/2 64/94/2 61/91/2 +f 59/93/4 61/455/4 64/94/4 +f 58/88/3 63/90/3 62/96/3 +f 60/95/5 64/94/5 63/90/5 +f 67/98/6 68/106/6 66/99/6 +f 71/101/2 72/105/2 69/102/2 +f 67/104/4 69/456/4 72/105/4 +f 66/99/3 71/101/3 70/107/3 +f 68/106/5 72/105/5 71/101/5 +f 75/109/6 76/117/6 74/110/6 +f 79/112/2 80/116/2 77/113/2 +f 75/115/4 77/457/4 80/116/4 +f 74/110/3 79/112/3 78/118/3 +f 76/117/5 80/116/5 79/112/5 +f 83/120/6 84/128/6 82/121/6 +f 87/123/2 88/127/2 85/124/2 +f 83/126/5 85/458/5 88/127/5 +f 82/121/1 87/123/1 86/129/1 +f 84/128/3 88/127/3 87/123/3 +f 91/131/6 92/139/6 90/132/6 +f 95/134/2 96/138/2 93/135/2 +f 91/137/5 93/459/5 96/138/5 +f 90/132/1 95/134/1 94/140/1 +f 92/139/3 96/138/3 95/134/3 +f 99/142/6 100/150/6 98/143/6 +f 103/145/2 104/149/2 101/146/2 +f 99/148/5 101/460/5 104/149/5 +f 98/143/1 103/145/1 102/151/1 +f 100/150/3 104/149/3 103/145/3 +f 107/153/6 108/161/6 106/154/6 +f 111/156/2 112/160/2 109/157/2 +f 107/159/5 109/461/5 112/160/5 +f 106/154/1 111/156/1 110/162/1 +f 108/161/3 112/160/3 111/156/3 +f 115/164/6 116/172/6 114/165/6 +f 119/167/2 120/171/2 117/168/2 +f 115/170/1 117/462/1 120/171/1 +f 114/165/5 119/167/5 118/173/5 +f 116/172/4 120/171/4 119/167/4 +f 123/175/6 124/183/6 122/176/6 +f 127/178/2 128/182/2 125/179/2 +f 123/181/1 125/463/1 128/182/1 +f 122/176/5 127/178/5 126/184/5 +f 124/183/4 128/182/4 127/178/4 +f 131/186/6 132/194/6 130/187/6 +f 135/189/2 136/193/2 133/190/2 +f 131/192/1 133/464/1 136/193/1 +f 130/187/5 135/189/5 134/195/5 +f 132/194/4 136/193/4 135/189/4 +f 139/197/6 140/205/6 138/198/6 +f 143/200/2 144/204/2 141/201/2 +f 139/203/1 141/465/1 144/204/1 +f 138/198/5 143/200/5 142/206/5 +f 140/205/4 144/204/4 143/200/4 +f 223/208/2 225/227/2 224/209/2 +f 215/211/2 217/219/2 216/212/2 +f 213/214/1 217/219/1 215/211/1 +f 210/216/5 214/466/5 216/217/5 +f 212/218/3 216/217/3 217/219/3 +f 211/215/4 215/211/4 214/220/4 +f 221/222/1 225/227/1 223/223/1 +f 218/225/5 222/229/5 224/209/5 +f 220/226/3 224/209/3 225/227/3 +f 219/228/4 223/467/4 222/229/4 +f 232/230/3 228/468/3 229/231/3 +f 231/233/4 227/236/4 226/234/4 +f 233/232/1 229/231/1 227/236/1 +f 230/235/5 226/234/5 228/237/5 +f 240/239/3 236/247/3 237/240/3 +f 239/242/4 235/246/4 234/243/4 +f 241/245/1 237/469/1 235/246/1 +f 238/244/5 234/243/5 236/247/5 +f 236/247/2 234/243/2 235/248/2 +f 229/250/2 228/470/2 226/234/2 +f 243/251/2 245/262/2 244/252/2 +f 248/254/6 249/261/6 246/255/6 +f 244/252/5 248/471/5 247/257/5 +f 256/258/6 257/267/6 254/259/6 +f 243/251/1 246/255/1 249/261/1 +f 251/263/2 253/268/2 252/264/2 +f 252/264/1 256/472/1 255/266/1 +f 251/263/5 254/259/5 257/267/5 +f 259/269/2 261/280/2 260/270/2 +f 264/272/6 265/279/6 262/273/6 +f 260/270/4 264/473/4 263/275/4 +f 272/276/6 273/285/6 270/277/6 +f 259/269/3 262/273/3 265/279/3 +f 267/281/2 269/286/2 268/282/2 +f 268/282/3 272/474/3 271/284/3 +f 267/281/4 270/277/4 273/285/4 +f 280/287/6 281/1/6 279/3/6 +f 274/289/3 283/307/3 284/290/3 +f 277/292/4 285/302/4 282/293/4 +f 279/3/4 288/308/4 287/295/4 +f 3/296/6 276/299/6 274/297/6 +f 4/13/6 277/300/6 276/299/6 +f 2/14/6 275/301/6 277/300/6 +f 1/298/6 274/297/6 275/301/6 +f 285/302/6 289/317/6 286/303/6 +f 284/304/6 288/2/6 289/305/6 +f 283/307/6 287/295/6 288/308/6 +f 282/309/6 286/312/6 287/310/6 +f 278/288/5 287/310/5 286/312/5 +f 275/313/5 284/304/5 285/306/5 +f 276/315/1 282/309/1 283/311/1 +f 280/287/3 286/303/3 289/317/3 +f 291/318/2 293/324/2 292/319/2 +f 296/321/7 300/340/7 301/322/7 +f 291/318/1 296/321/1 297/323/1 +f 292/325/5 294/336/5 295/326/5 +f 293/328/3 297/338/3 294/329/3 +f 290/331/4 295/339/4 296/332/4 +f 301/322/3 305/343/3 302/334/3 +f 294/336/8 298/335/8 299/337/8 +f 297/338/9 301/322/9 298/335/9 +f 295/339/10 299/341/10 300/340/10 +f 299/341/4 303/475/4 304/342/4 +f 300/340/1 304/342/1 305/343/1 +f 298/335/5 302/334/5 303/344/5 +f 384/345/5 385/361/5 383/346/5 +f 387/348/2 389/352/2 388/349/2 +f 387/348/5 392/356/5 393/351/5 +f 389/352/4 393/351/4 390/353/4 +f 386/355/3 391/476/3 392/356/3 +f 400/357/1 401/375/1 399/358/1 +f 383/346/4 396/477/4 395/360/4 +f 385/361/6 397/478/6 396/362/6 +f 382/347/2 395/479/2 394/363/2 +f 384/345/3 394/480/3 397/364/3 +f 403/365/2 405/369/2 404/366/2 +f 403/365/1 408/373/1 409/368/1 +f 405/369/3 409/368/3 406/370/3 +f 402/372/4 407/481/4 408/373/4 +f 399/358/3 412/482/3 411/374/3 +f 401/375/6 413/483/6 412/376/6 +f 398/359/2 411/484/2 410/377/2 +f 400/357/4 410/485/4 413/378/4 +f 416/379/4 417/395/4 415/380/4 +f 419/382/2 421/386/2 420/383/2 +f 419/382/4 424/390/4 425/385/4 +f 421/386/1 425/385/1 422/387/1 +f 418/389/5 423/486/5 424/390/5 +f 432/391/3 433/409/3 431/392/3 +f 415/380/1 428/487/1 427/394/1 +f 417/395/6 429/488/6 428/396/6 +f 414/381/2 427/489/2 426/397/2 +f 416/379/5 426/490/5 429/398/5 +f 435/399/2 437/403/2 436/400/2 +f 435/399/3 440/407/3 441/402/3 +f 437/403/5 441/402/5 438/404/5 +f 434/406/1 439/491/1 440/407/1 +f 431/392/5 444/492/5 443/408/5 +f 433/409/6 445/493/6 444/410/6 +f 432/391/2 430/393/2 443/411/2 +f 432/391/1 442/494/1 445/413/1 +f 452/414/3 450/495/3 446/415/3 +f 447/417/4 451/420/4 453/418/4 +f 451/420/5 450/495/5 452/414/5 +f 460/421/4 458/496/4 454/422/4 +f 455/424/3 459/427/3 461/425/3 +f 459/427/1 458/496/1 460/421/1 +f 468/428/5 466/497/5 462/429/5 +f 463/431/1 467/434/1 469/432/1 +f 467/434/4 466/497/4 468/428/4 +f 476/435/1 474/498/1 470/436/1 +f 471/438/5 475/441/5 477/439/5 +f 475/441/3 474/498/3 476/435/3 +s 1 +f 207/499/11 148/500/12 145/501/13 +f 145/501/13 149/502/14 146/503/15 +f 207/499/11 206/504/2 147/505/16 +f 147/506/16 151/507/17 148/508/12 +f 148/508/12 152/509/18 149/502/14 +f 147/506/16 206/510/2 150/511/19 +f 151/512/17 153/513/20 154/514/21 +f 152/509/18 154/514/21 155/515/22 +f 150/516/19 206/517/2 153/513/20 +f 155/515/22 157/518/23 158/519/24 +f 153/520/20 206/521/2 156/522/25 +f 153/520/20 157/518/23 154/523/21 +f 158/519/24 160/524/26 161/525/27 +f 156/526/25 206/527/2 159/528/28 +f 156/526/25 160/524/26 157/529/23 +f 161/525/27 163/530/29 164/531/30 +f 159/532/28 206/533/2 162/534/31 +f 160/535/26 162/534/31 163/530/29 +f 163/536/29 167/537/32 164/531/30 +f 162/538/31 206/539/2 165/540/33 +f 162/538/31 166/541/34 163/536/29 +f 166/542/34 170/543/35 167/537/32 +f 165/544/33 206/545/2 168/546/36 +f 165/544/33 169/547/37 166/542/34 +f 168/548/36 206/549/2 171/550/38 +f 168/548/36 172/551/39 169/552/37 +f 170/543/35 172/551/39 173/553/40 +f 171/554/38 177/555/41 172/556/39 +f 172/556/39 178/557/42 173/553/40 +f 171/554/38 206/558/2 176/559/43 +f 176/560/43 182/561/44 177/562/41 +f 188/563/45 184/564/46 183/565/47 +f 178/557/42 182/561/44 183/565/47 +f 176/560/43 206/566/2 181/567/48 +f 167/537/32 195/568/49 164/531/30 +f 170/543/35 194/569/50 167/537/32 +f 181/570/48 187/571/51 182/572/44 +f 183/565/47 185/573/52 178/557/42 +f 183/565/47 187/571/51 188/563/45 +f 181/570/48 206/574/2 186/575/53 +f 149/502/14 209/576/3 146/503/15 +f 186/577/53 192/578/54 187/579/51 +f 164/531/30 199/580/55 161/525/27 +f 187/579/51 193/581/56 188/582/45 +f 186/577/53 206/583/2 191/584/57 +f 152/509/18 208/585/58 149/502/14 +f 192/586/54 196/587/59 197/588/60 +f 198/589/61 179/590/62 193/581/56 +f 193/581/56 197/588/60 198/589/61 +f 191/591/57 206/592/2 196/587/59 +f 203/593/63 175/594/64 198/589/61 +f 178/557/42 189/595/65 173/553/40 +f 173/553/40 190/596/4 170/543/35 +f 198/589/61 202/597/66 203/593/63 +f 196/598/59 206/599/2 201/600/67 +f 161/525/27 200/601/1 158/519/24 +f 146/503/15 174/602/68 203/593/63 +f 196/598/59 202/597/66 197/603/60 +f 155/515/22 205/604/69 152/509/18 +f 203/593/63 145/605/13 146/503/15 +f 201/606/67 206/607/2 207/608/11 +f 158/519/24 204/609/70 155/515/22 +f 193/581/56 180/610/5 188/582/45 +f 202/611/66 207/608/11 145/605/13 +f 314/612/71 307/613/9 306/614/2 +f 321/615/72 306/614/2 313/616/10 +f 319/617/73 312/618/4 311/619/74 +f 317/620/75 310/621/6 309/622/76 +f 315/623/77 308/624/3 307/613/9 +f 320/625/78 313/616/10 312/618/4 +f 318/626/79 311/619/74 310/627/6 +f 316/628/80 309/622/76 308/624/3 +f 323/629/81 316/630/80 315/623/77 +f 327/631/82 321/615/72 320/632/78 +f 316/630/80 325/633/83 317/634/75 +f 322/635/7 315/623/77 314/612/71 +f 321/615/72 322/635/7 314/612/71 +f 326/636/84 320/632/78 319/637/73 +f 328/638/85 329/639/86 322/635/7 +f 326/636/84 334/640/87 327/631/82 +f 330/641/88 324/642/89 323/629/81 +f 334/640/87 328/638/85 327/631/82 +f 324/642/89 332/643/90 325/633/83 +f 329/639/86 323/629/81 322/635/7 +f 319/637/73 318/644/79 326/636/84 +f 326/636/84 318/644/79 333/645/91 +f 317/634/75 325/633/83 318/646/79 +f 325/633/83 332/643/90 318/646/79 +f 332/647/90 336/648/5 318/649/79 +f 335/650/92 337/651/1 329/639/86 +f 318/652/79 341/653/52 333/654/91 +f 333/654/91 342/655/4 334/656/87 +f 330/641/88 339/657/3 331/658/93 +f 334/656/87 343/659/49 335/650/92 +f 331/658/93 340/660/64 332/647/90 +f 329/639/86 338/661/69 330/641/88 +f 352/662/71 345/663/9 344/664/2 +f 359/665/72 344/664/2 351/666/10 +f 357/667/73 350/668/4 349/669/74 +f 355/670/75 348/671/6 347/672/76 +f 353/673/77 346/674/3 345/663/9 +f 358/675/78 351/666/10 350/668/4 +f 356/676/79 349/669/74 348/677/6 +f 354/678/80 347/672/76 346/674/3 +f 353/673/77 362/679/89 354/680/80 +f 358/681/78 366/682/85 359/665/72 +f 354/680/80 363/683/83 355/684/75 +f 360/685/7 353/673/77 352/662/71 +f 359/665/72 360/685/7 352/662/71 +f 364/686/84 358/681/78 357/687/73 +f 366/682/85 367/688/86 360/685/7 +f 364/686/84 372/689/87 365/690/82 +f 361/691/81 369/692/93 362/679/89 +f 365/690/82 373/693/92 366/682/85 +f 362/679/89 370/694/90 363/683/83 +f 367/688/86 361/691/81 360/685/7 +f 357/687/73 356/695/79 364/686/84 +f 364/686/84 356/695/79 371/696/91 +f 355/684/75 363/683/83 356/697/79 +f 363/683/83 370/694/90 356/697/79 +f 370/698/90 374/699/5 356/700/79 +f 373/693/92 375/701/1 367/688/86 +f 356/702/79 379/703/52 371/704/91 +f 371/704/91 380/705/4 372/706/87 +f 368/707/88 377/708/3 369/709/93 +f 372/706/87 381/710/49 373/693/92 +f 369/709/93 378/711/64 370/698/90 +f 367/688/86 376/712/69 368/707/88 +f 478/713/2 487/714/94 479/715/10 +f 493/716/95 478/713/2 485/717/9 +f 483/718/76 492/719/96 484/720/3 +f 489/721/97 482/722/6 481/723/74 +f 487/714/94 480/724/4 479/715/10 +f 492/719/96 485/717/9 484/720/3 +f 490/725/98 483/718/76 482/726/6 +f 488/727/99 481/723/74 480/724/4 +f 495/728/100 488/729/99 487/714/94 +f 499/730/101 493/716/95 492/731/96 +f 488/729/99 497/732/102 489/733/97 +f 494/734/8 487/714/94 486/735/103 +f 493/716/95 494/734/8 486/735/103 +f 498/736/104 492/731/96 491/737/105 +f 500/738/106 501/739/107 494/734/8 +f 498/736/104 506/740/108 499/730/101 +f 495/728/100 503/741/109 496/742/110 +f 506/740/108 500/738/106 499/730/101 +f 496/742/110 504/743/111 497/732/102 +f 501/739/107 495/728/100 494/734/8 +f 491/737/105 490/744/98 498/736/104 +f 498/736/104 490/744/98 505/745/112 +f 489/733/97 497/732/102 490/746/98 +f 497/732/102 504/743/111 490/746/98 +f 504/747/111 508/748/1 490/749/98 +f 507/750/113 509/751/5 501/739/107 +f 490/752/98 513/753/69 505/754/112 +f 505/754/112 514/755/3 506/756/108 +f 502/757/114 511/758/4 503/759/109 +f 506/756/108 515/760/64 507/750/113 +f 503/759/109 512/761/49 504/747/111 +f 501/739/107 510/762/52 502/757/114 +f 524/763/103 517/764/10 516/765/2 +f 531/766/95 516/765/2 523/767/9 +f 529/768/105 522/769/3 521/770/76 +f 527/771/97 520/772/6 519/773/74 +f 525/774/94 518/775/4 517/764/10 +f 530/776/96 523/767/9 522/769/3 +f 528/777/98 521/770/76 520/778/6 +f 526/779/99 519/773/74 518/775/4 +f 533/780/100 526/781/99 525/774/94 +f 530/782/96 538/783/106 531/766/95 +f 526/781/99 535/784/102 527/785/97 +f 532/786/8 525/774/94 524/763/103 +f 538/783/106 524/763/103 531/766/95 +f 536/787/104 530/782/96 529/788/105 +f 538/783/106 539/789/107 532/786/8 +f 543/790/112 537/791/101 536/787/104 +f 540/792/114 534/793/110 533/780/100 +f 544/794/108 538/783/106 537/791/101 +f 534/793/110 542/795/111 535/784/102 +f 539/789/107 533/780/100 532/786/8 +f 529/788/105 528/796/98 536/787/104 +f 536/787/104 528/796/98 543/790/112 +f 527/785/97 535/784/102 528/797/98 +f 535/784/102 542/795/111 528/797/98 +f 542/798/111 546/799/1 528/800/98 +f 545/801/113 547/802/5 539/789/107 +f 528/803/98 551/804/69 543/805/112 +f 543/805/112 552/806/3 544/807/108 +f 540/792/114 549/808/4 541/809/109 +f 544/807/108 553/810/64 545/801/113 +f 541/809/109 550/811/49 542/798/111 +f 539/789/107 548/812/52 540/792/114 +f 562/813/115 555/814/8 554/815/2 +f 569/816/116 554/815/2 561/817/7 +f 567/818/117 560/819/1 559/820/98 +f 565/821/118 558/822/6 557/823/79 +f 563/824/119 556/825/5 555/814/8 +f 568/826/120 561/817/7 560/819/1 +f 566/827/74 559/820/98 558/828/6 +f 564/829/121 557/823/79 556/825/5 +f 571/830/122 564/831/121 563/824/119 +f 575/832/123 569/816/116 568/833/120 +f 564/831/121 573/834/124 565/835/118 +f 570/836/9 563/824/119 562/813/115 +f 569/816/116 570/836/9 562/813/115 +f 574/837/125 568/833/120 567/838/117 +f 576/839/126 577/840/127 570/836/9 +f 574/837/125 582/841/128 575/832/123 +f 578/842/129 572/843/130 571/830/122 +f 575/832/123 583/844/131 576/839/126 +f 572/843/130 580/845/132 573/834/124 +f 577/840/127 571/830/122 570/836/9 +f 567/838/117 566/846/74 574/837/125 +f 574/837/125 566/846/74 581/847/133 +f 565/835/118 573/834/124 566/848/74 +f 573/834/124 580/845/132 566/848/74 +f 580/849/132 584/850/4 566/851/74 +f 583/844/131 585/852/3 577/840/127 +f 566/853/74 589/854/49 581/855/133 +f 581/855/133 590/856/1 582/857/128 +f 578/842/129 587/858/5 579/859/134 +f 582/857/128 591/860/69 583/844/131 +f 579/859/134 588/861/52 580/849/132 +f 577/840/127 586/862/64 578/842/129 +f 600/863/115 593/864/8 592/865/2 +f 607/866/116 592/865/2 599/867/7 +f 605/868/117 598/869/1 597/870/98 +f 603/871/118 596/872/6 595/873/79 +f 601/874/119 594/875/5 593/864/8 +f 606/876/120 599/867/7 598/869/1 +f 604/877/74 597/870/98 596/878/6 +f 602/879/121 595/873/79 594/875/5 +f 601/874/119 610/880/130 602/881/121 +f 606/882/120 614/883/126 607/866/116 +f 602/881/121 611/884/124 603/885/118 +f 608/886/9 601/874/119 600/863/115 +f 607/866/116 608/886/9 600/863/115 +f 612/887/125 606/882/120 605/888/117 +f 614/883/126 615/889/127 608/886/9 +f 612/887/125 620/890/128 613/891/123 +f 609/892/122 617/893/134 610/880/130 +f 613/891/123 621/894/131 614/883/126 +f 610/880/130 618/895/132 611/884/124 +f 615/889/127 609/892/122 608/886/9 +f 605/888/117 604/896/74 612/887/125 +f 612/887/125 604/896/74 619/897/133 +f 603/885/118 611/884/124 604/898/74 +f 611/884/124 618/895/132 604/898/74 +f 618/899/132 622/900/4 604/901/74 +f 621/894/131 623/902/3 615/889/127 +f 604/903/74 627/904/49 619/905/133 +f 619/905/133 628/906/1 620/907/128 +f 616/908/129 625/909/5 617/910/134 +f 620/907/128 629/911/69 621/894/131 +f 617/910/134 626/912/52 618/899/132 +f 615/889/127 624/913/64 616/908/129 +f 630/914/2 639/915/135 631/916/7 +f 645/917/136 630/914/2 637/918/8 +f 635/919/79 644/920/137 636/921/5 +f 641/922/138 634/923/6 633/924/98 +f 639/915/135 632/925/1 631/916/7 +f 644/920/137 637/918/8 636/921/5 +f 642/926/76 635/919/79 634/927/6 +f 640/928/139 633/924/98 632/925/1 +f 647/929/140 640/930/139 639/915/135 +f 644/931/137 652/932/141 645/917/136 +f 640/930/139 649/933/142 641/934/138 +f 646/935/10 639/915/135 638/936/143 +f 645/917/136 646/935/10 638/936/143 +f 650/937/144 644/931/137 643/938/145 +f 652/932/141 653/939/146 646/935/10 +f 650/937/144 658/940/147 651/941/148 +f 647/929/140 655/942/149 648/943/150 +f 658/940/147 652/932/141 651/941/148 +f 648/943/150 656/944/151 649/933/142 +f 653/939/146 647/929/140 646/935/10 +f 643/938/145 642/945/76 650/937/144 +f 650/937/144 642/945/76 657/946/152 +f 641/934/138 649/933/142 642/947/76 +f 649/933/142 656/944/151 642/947/76 +f 656/948/151 660/949/3 642/950/76 +f 659/951/153 661/952/4 653/939/146 +f 642/953/76 665/954/64 657/955/152 +f 657/955/152 666/956/5 658/957/147 +f 654/958/154 663/959/1 655/960/149 +f 658/957/147 667/961/52 659/951/153 +f 655/960/149 664/962/69 656/948/151 +f 653/939/146 662/963/49 654/958/154 +f 676/964/143 669/965/7 668/966/2 +f 683/967/136 668/966/2 675/968/8 +f 681/969/145 674/970/5 673/971/79 +f 679/972/138 672/973/6 671/974/98 +f 677/975/135 670/976/1 669/965/7 +f 682/977/137 675/968/8 674/970/5 +f 680/978/76 673/971/79 672/979/6 +f 678/980/139 671/974/98 670/976/1 +f 677/975/135 686/981/150 678/982/139 +f 682/983/137 690/984/141 683/967/136 +f 678/982/139 687/985/142 679/986/138 +f 684/987/10 677/975/135 676/964/143 +f 690/984/141 676/964/143 683/967/136 +f 688/988/144 682/983/137 681/989/145 +f 690/984/141 691/990/146 684/987/10 +f 688/988/144 696/991/147 689/992/148 +f 685/993/140 693/994/149 686/981/150 +f 696/991/147 690/984/141 689/992/148 +f 686/981/150 694/995/151 687/985/142 +f 691/990/146 685/993/140 684/987/10 +f 681/989/145 680/996/76 688/988/144 +f 688/988/144 680/996/76 695/997/152 +f 679/986/138 687/985/142 680/998/76 +f 687/985/142 694/995/151 680/998/76 +f 694/999/151 698/1000/3 680/1001/76 +f 697/1002/153 699/1003/4 691/990/146 +f 680/1004/76 703/1005/64 695/1006/152 +f 695/1006/152 704/1007/5 696/1008/147 +f 692/1009/154 701/1010/1 693/1011/149 +f 696/1008/147 705/1012/52 697/1002/153 +f 693/1011/149 702/1013/69 694/999/151 +f 691/990/146 700/1014/49 692/1009/154 +f 207/499/11 147/505/16 148/500/12 +f 145/501/13 148/500/12 149/502/14 +f 147/506/16 150/511/19 151/507/17 +f 148/508/12 151/507/17 152/509/18 +f 151/512/17 150/516/19 153/513/20 +f 152/509/18 151/512/17 154/514/21 +f 155/515/22 154/523/21 157/518/23 +f 153/520/20 156/522/25 157/518/23 +f 158/519/24 157/529/23 160/524/26 +f 156/526/25 159/528/28 160/524/26 +f 161/525/27 160/535/26 163/530/29 +f 160/535/26 159/532/28 162/534/31 +f 163/536/29 166/541/34 167/537/32 +f 162/538/31 165/540/33 166/541/34 +f 166/542/34 169/547/37 170/543/35 +f 165/544/33 168/546/36 169/547/37 +f 168/548/36 171/550/38 172/551/39 +f 170/543/35 169/552/37 172/551/39 +f 171/554/38 176/559/43 177/555/41 +f 172/556/39 177/555/41 178/557/42 +f 176/560/43 181/567/48 182/561/44 +f 188/563/45 180/1015/5 184/564/46 +f 178/557/42 177/562/41 182/561/44 +f 167/537/32 194/569/50 195/568/49 +f 170/543/35 190/596/4 194/569/50 +f 181/570/48 186/575/53 187/571/51 +f 183/565/47 184/564/46 185/573/52 +f 183/565/47 182/572/44 187/571/51 +f 149/502/14 208/585/58 209/576/3 +f 186/577/53 191/584/57 192/578/54 +f 164/531/30 195/568/49 199/580/55 +f 187/579/51 192/578/54 193/581/56 +f 152/509/18 205/604/69 208/585/58 +f 192/586/54 191/591/57 196/587/59 +f 198/589/61 175/594/64 179/590/62 +f 193/581/56 192/586/54 197/588/60 +f 203/593/63 174/602/68 175/594/64 +f 178/557/42 185/573/52 189/595/65 +f 173/553/40 189/595/65 190/596/4 +f 198/589/61 197/603/60 202/597/66 +f 161/525/27 199/580/55 200/601/1 +f 146/503/15 209/576/3 174/602/68 +f 196/598/59 201/600/67 202/597/66 +f 155/515/22 204/609/70 205/604/69 +f 203/593/63 202/611/66 145/605/13 +f 158/519/24 200/601/1 204/609/70 +f 193/581/56 179/590/62 180/610/5 +f 202/611/66 201/606/67 207/608/11 +f 314/612/71 315/623/77 307/613/9 +f 321/615/72 314/612/71 306/614/2 +f 319/617/73 320/625/78 312/618/4 +f 317/620/75 318/1016/79 310/621/6 +f 315/623/77 316/628/80 308/624/3 +f 320/625/78 321/615/72 313/616/10 +f 318/626/79 319/617/73 311/619/74 +f 316/628/80 317/620/75 309/622/76 +f 323/629/81 324/642/89 316/630/80 +f 327/631/82 328/638/85 321/615/72 +f 316/630/80 324/642/89 325/633/83 +f 322/635/7 323/629/81 315/623/77 +f 321/615/72 328/638/85 322/635/7 +f 326/636/84 327/631/82 320/632/78 +f 328/638/85 335/650/92 329/639/86 +f 326/636/84 333/645/91 334/640/87 +f 330/641/88 331/1017/93 324/642/89 +f 334/640/87 335/650/92 328/638/85 +f 324/642/89 331/1017/93 332/643/90 +f 329/639/86 330/641/88 323/629/81 +f 332/647/90 340/660/64 336/648/5 +f 335/650/92 343/659/49 337/651/1 +f 318/652/79 336/1018/5 341/653/52 +f 333/654/91 341/653/52 342/655/4 +f 330/641/88 338/661/69 339/657/3 +f 334/656/87 342/655/4 343/659/49 +f 331/658/93 339/657/3 340/660/64 +f 329/639/86 337/651/1 338/661/69 +f 352/662/71 353/673/77 345/663/9 +f 359/665/72 352/662/71 344/664/2 +f 357/667/73 358/675/78 350/668/4 +f 355/670/75 356/1019/79 348/671/6 +f 353/673/77 354/678/80 346/674/3 +f 358/675/78 359/665/72 351/666/10 +f 356/676/79 357/667/73 349/669/74 +f 354/678/80 355/670/75 347/672/76 +f 353/673/77 361/691/81 362/679/89 +f 358/681/78 365/690/82 366/682/85 +f 354/680/80 362/679/89 363/683/83 +f 360/685/7 361/691/81 353/673/77 +f 359/665/72 366/682/85 360/685/7 +f 364/686/84 365/690/82 358/681/78 +f 366/682/85 373/693/92 367/688/86 +f 364/686/84 371/696/91 372/689/87 +f 361/691/81 368/707/88 369/692/93 +f 365/690/82 372/689/87 373/693/92 +f 362/679/89 369/692/93 370/694/90 +f 367/688/86 368/707/88 361/691/81 +f 370/698/90 378/711/64 374/699/5 +f 373/693/92 381/710/49 375/701/1 +f 356/702/79 374/1020/5 379/703/52 +f 371/704/91 379/703/52 380/705/4 +f 368/707/88 376/712/69 377/708/3 +f 372/706/87 380/705/4 381/710/49 +f 369/709/93 377/708/3 378/711/64 +f 367/688/86 375/701/1 376/712/69 +f 478/713/2 486/735/103 487/714/94 +f 493/716/95 486/735/103 478/713/2 +f 483/718/76 491/1021/105 492/719/96 +f 489/721/97 490/1022/98 482/722/6 +f 487/714/94 488/727/99 480/724/4 +f 492/719/96 493/716/95 485/717/9 +f 490/725/98 491/1021/105 483/718/76 +f 488/727/99 489/721/97 481/723/74 +f 495/728/100 496/742/110 488/729/99 +f 499/730/101 500/738/106 493/716/95 +f 488/729/99 496/742/110 497/732/102 +f 494/734/8 495/728/100 487/714/94 +f 493/716/95 500/738/106 494/734/8 +f 498/736/104 499/730/101 492/731/96 +f 500/738/106 507/750/113 501/739/107 +f 498/736/104 505/745/112 506/740/108 +f 495/728/100 502/757/114 503/741/109 +f 506/740/108 507/750/113 500/738/106 +f 496/742/110 503/741/109 504/743/111 +f 501/739/107 502/757/114 495/728/100 +f 504/747/111 512/761/49 508/748/1 +f 507/750/113 515/760/64 509/751/5 +f 490/752/98 508/1023/1 513/753/69 +f 505/754/112 513/753/69 514/755/3 +f 502/757/114 510/762/52 511/758/4 +f 506/756/108 514/755/3 515/760/64 +f 503/759/109 511/758/4 512/761/49 +f 501/739/107 509/751/5 510/762/52 +f 524/763/103 525/774/94 517/764/10 +f 531/766/95 524/763/103 516/765/2 +f 529/768/105 530/776/96 522/769/3 +f 527/771/97 528/1024/98 520/772/6 +f 525/774/94 526/779/99 518/775/4 +f 530/776/96 531/766/95 523/767/9 +f 528/777/98 529/768/105 521/770/76 +f 526/779/99 527/771/97 519/773/74 +f 533/780/100 534/793/110 526/781/99 +f 530/782/96 537/791/101 538/783/106 +f 526/781/99 534/793/110 535/784/102 +f 532/786/8 533/780/100 525/774/94 +f 538/783/106 532/786/8 524/763/103 +f 536/787/104 537/791/101 530/782/96 +f 538/783/106 545/801/113 539/789/107 +f 543/790/112 544/794/108 537/791/101 +f 540/792/114 541/1025/109 534/793/110 +f 544/794/108 545/801/113 538/783/106 +f 534/793/110 541/1025/109 542/795/111 +f 539/789/107 540/792/114 533/780/100 +f 542/798/111 550/811/49 546/799/1 +f 545/801/113 553/810/64 547/802/5 +f 528/803/98 546/1026/1 551/804/69 +f 543/805/112 551/804/69 552/806/3 +f 540/792/114 548/812/52 549/808/4 +f 544/807/108 552/806/3 553/810/64 +f 541/809/109 549/808/4 550/811/49 +f 539/789/107 547/802/5 548/812/52 +f 562/813/115 563/824/119 555/814/8 +f 569/816/116 562/813/115 554/815/2 +f 567/818/117 568/826/120 560/819/1 +f 565/821/118 566/1027/74 558/822/6 +f 563/824/119 564/829/121 556/825/5 +f 568/826/120 569/816/116 561/817/7 +f 566/827/74 567/818/117 559/820/98 +f 564/829/121 565/821/118 557/823/79 +f 571/830/122 572/843/130 564/831/121 +f 575/832/123 576/839/126 569/816/116 +f 564/831/121 572/843/130 573/834/124 +f 570/836/9 571/830/122 563/824/119 +f 569/816/116 576/839/126 570/836/9 +f 574/837/125 575/832/123 568/833/120 +f 576/839/126 583/844/131 577/840/127 +f 574/837/125 581/847/133 582/841/128 +f 578/842/129 579/1028/134 572/843/130 +f 575/832/123 582/841/128 583/844/131 +f 572/843/130 579/1028/134 580/845/132 +f 577/840/127 578/842/129 571/830/122 +f 580/849/132 588/861/52 584/850/4 +f 583/844/131 591/860/69 585/852/3 +f 566/853/74 584/1029/4 589/854/49 +f 581/855/133 589/854/49 590/856/1 +f 578/842/129 586/862/64 587/858/5 +f 582/857/128 590/856/1 591/860/69 +f 579/859/134 587/858/5 588/861/52 +f 577/840/127 585/852/3 586/862/64 +f 600/863/115 601/874/119 593/864/8 +f 607/866/116 600/863/115 592/865/2 +f 605/868/117 606/876/120 598/869/1 +f 603/871/118 604/1030/74 596/872/6 +f 601/874/119 602/879/121 594/875/5 +f 606/876/120 607/866/116 599/867/7 +f 604/877/74 605/868/117 597/870/98 +f 602/879/121 603/871/118 595/873/79 +f 601/874/119 609/892/122 610/880/130 +f 606/882/120 613/891/123 614/883/126 +f 602/881/121 610/880/130 611/884/124 +f 608/886/9 609/892/122 601/874/119 +f 607/866/116 614/883/126 608/886/9 +f 612/887/125 613/891/123 606/882/120 +f 614/883/126 621/894/131 615/889/127 +f 612/887/125 619/897/133 620/890/128 +f 609/892/122 616/908/129 617/893/134 +f 613/891/123 620/890/128 621/894/131 +f 610/880/130 617/893/134 618/895/132 +f 615/889/127 616/908/129 609/892/122 +f 618/899/132 626/912/52 622/900/4 +f 621/894/131 629/911/69 623/902/3 +f 604/903/74 622/1031/4 627/904/49 +f 619/905/133 627/904/49 628/906/1 +f 616/908/129 624/913/64 625/909/5 +f 620/907/128 628/906/1 629/911/69 +f 617/910/134 625/909/5 626/912/52 +f 615/889/127 623/902/3 624/913/64 +f 630/914/2 638/936/143 639/915/135 +f 645/917/136 638/936/143 630/914/2 +f 635/919/79 643/1032/145 644/920/137 +f 641/922/138 642/1033/76 634/923/6 +f 639/915/135 640/928/139 632/925/1 +f 644/920/137 645/917/136 637/918/8 +f 642/926/76 643/1032/145 635/919/79 +f 640/928/139 641/922/138 633/924/98 +f 647/929/140 648/943/150 640/930/139 +f 644/931/137 651/941/148 652/932/141 +f 640/930/139 648/943/150 649/933/142 +f 646/935/10 647/929/140 639/915/135 +f 645/917/136 652/932/141 646/935/10 +f 650/937/144 651/941/148 644/931/137 +f 652/932/141 659/951/153 653/939/146 +f 650/937/144 657/946/152 658/940/147 +f 647/929/140 654/958/154 655/942/149 +f 658/940/147 659/951/153 652/932/141 +f 648/943/150 655/942/149 656/944/151 +f 653/939/146 654/958/154 647/929/140 +f 656/948/151 664/962/69 660/949/3 +f 659/951/153 667/961/52 661/952/4 +f 642/953/76 660/1034/3 665/954/64 +f 657/955/152 665/954/64 666/956/5 +f 654/958/154 662/963/49 663/959/1 +f 658/957/147 666/956/5 667/961/52 +f 655/960/149 663/959/1 664/962/69 +f 653/939/146 661/952/4 662/963/49 +f 676/964/143 677/975/135 669/965/7 +f 683/967/136 676/964/143 668/966/2 +f 681/969/145 682/977/137 674/970/5 +f 679/972/138 680/1035/76 672/973/6 +f 677/975/135 678/980/139 670/976/1 +f 682/977/137 683/967/136 675/968/8 +f 680/978/76 681/969/145 673/971/79 +f 678/980/139 679/972/138 671/974/98 +f 677/975/135 685/993/140 686/981/150 +f 682/983/137 689/992/148 690/984/141 +f 678/982/139 686/981/150 687/985/142 +f 684/987/10 685/993/140 677/975/135 +f 690/984/141 684/987/10 676/964/143 +f 688/988/144 689/992/148 682/983/137 +f 690/984/141 697/1002/153 691/990/146 +f 688/988/144 695/997/152 696/991/147 +f 685/993/140 692/1009/154 693/994/149 +f 696/991/147 697/1002/153 690/984/141 +f 686/981/150 693/994/149 694/995/151 +f 691/990/146 692/1009/154 685/993/140 +f 694/999/151 702/1013/69 698/1000/3 +f 697/1002/153 705/1012/52 699/1003/4 +f 680/1004/76 698/1036/3 703/1005/64 +f 695/1006/152 703/1005/64 704/1007/5 +f 692/1009/154 700/1014/49 701/1010/1 +f 696/1008/147 704/1007/5 705/1012/52 +f 693/1011/149 701/1010/1 702/1013/69 +f 691/990/146 699/1003/4 700/1014/49 diff --git a/src/main/resources/assets/hbm/textures/models/machines/industrial_boiler.png b/src/main/resources/assets/hbm/textures/models/machines/industrial_boiler.png new file mode 100644 index 0000000000000000000000000000000000000000..af214e9dc41bab9c75367f2f41c82decdab2ecbd GIT binary patch literal 1755 zcmZuydsGr=7AH_KeBlV14-A~q6fGQ6SM!C6nVJM9nQp#H^N~)>I3fXqkJ2!P$~LA+ z3K6#zb;iOeHkr(nF|BRYOvksFFG?jU6(9H*+CA;gnKR!x_q%`G^Sk%{e)l`~D<$AV zjUZMK003YVb^sTp^}Sk4(bv=7n=spKt<%W~3X9g)9)^Aj3jol&5{3(mrruDF9y(rlaPB+6;jqwH_JQHan6Q2B6M`jq&G01CrCqX?x1NmZqKhv?jW#%jY!H_H)eZUl2>9;6Gy z>lC7+@F>8nRXwNx3!j@yb$8P>9k1%En10H2UYj4>d!*KwYRp9jLdSX2>^L-+XaZZp zRzmJN1OvRv-rgHv2QW7)8^UwjAzW9!L0!}u&g$?BGqT;=2ai$lE^)kRw0W1yqtZvE z0trd?-1%>sTnXDJ&e#IngWoHLQ`IaKPKY`dv1L3=zna}o%6D~ywgub%Js1@B6B^vOLA1#x$D zdV49xy#xISRQ$Miq1pH)xor~DA51FFDT=Bw1W*;NmcFB7#&S$SJ96n4tUZf`>>f>B zfA{Xm_8ZUsAtu$l{PCxZUPy5LOE$-?P|-exjg2n&nVzGf zX#zTXd}T_<)_>%Ycu{Az<&7tBMzl*ywfr!v`&DPK*VvRdSfS&?^ZCBK9JjgX;>q_9 zEx2R7@q}i1{n>Wk1k7K?JY8D*+SbRk#{)kBTA-dAhFzHr4yG?x1{sXhL)<(=1PnUN#-!3Ar5urb)RPh-8=W`NA zu1-%+i}_zNNixhs4ReK2Bldljqm}Q?NaLpf^2S>3M(vPS1q9eTmz%UV%Pf))FMI6% zSwCZs-Tf~oOX}nu#M*jI4rspr$)3~l zhyRAW2(=*~-G0HET3YdfA0|v5WV6}98;nP)ImL^*HxXA-F(#2mTO=rb($QG|zHP{AC35Qx*twKD|C4R=m-2L_eNeiO*g@X!L?n_cu zfOZ67&{o>rIsiY%`tMM8|T!^%(}w;#Ou%(^4`?wEXcPezm2PTgtbe5_!tdH!_&7cTa+ zQl)Z8gYa~7)Uqzw;b<3Z_99IAU literal 0 HcmV?d00001 From ea9dc777fb6fc463388c15b4b092486801b4f4ad Mon Sep 17 00:00:00 2001 From: Boblet Date: Wed, 5 Jul 2023 16:37:22 +0200 Subject: [PATCH 241/285] labels, glyphid egg recycling --- changelog | 7 +++++++ .../hbm/inventory/gui/GUIMachineExcavator.java | 7 +++++++ .../hbm/inventory/recipes/anvil/AnvilRecipes.java | 8 ++++++++ src/main/resources/assets/hbm/lang/de_DE.lang | 6 ++++++ src/main/resources/assets/hbm/lang/en_US.lang | 6 ++++++ .../assets/hbm/textures/blocks/hadron_cooler.png | Bin 0 -> 284 bytes 6 files changed, 34 insertions(+) create mode 100644 src/main/resources/assets/hbm/textures/blocks/hadron_cooler.png diff --git a/changelog b/changelog index 024946d82..b7101ac1a 100644 --- a/changelog +++ b/changelog @@ -1,7 +1,14 @@ ## Added +* Industrial boiler + * A slightly taller variant of the boiler with higher capacity + * Unlike the regular boiler, it can't explode ## Changed +* The regular boiler now only holds 16k instead of 64k (which is still a lot) +* Added labels to the large mining drill's levers +* Glyphid eggs can now be broken apart using an anvil, yielding glyphid meat, bones and experience bottles ## Fixed * Fixed quantity of the fusion reactor's construction recipe not being displayed right * Fixed fluid valve and redstone fluid valves having the wrong names +* Fixed mobs' max health getting buffed by pollution, but the actual health staying the same diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineExcavator.java b/src/main/java/com/hbm/inventory/gui/GUIMachineExcavator.java index 0197e0409..4b78d4aa5 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineExcavator.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineExcavator.java @@ -7,6 +7,7 @@ import com.hbm.lib.RefStrings; import com.hbm.packet.NBTControlPacket; import com.hbm.packet.PacketDispatcher; import com.hbm.tileentity.machine.TileEntityMachineExcavator; +import com.hbm.util.I18nUtil; import net.minecraft.client.Minecraft; import net.minecraft.client.audio.PositionedSoundRecord; @@ -32,6 +33,12 @@ public class GUIMachineExcavator extends GuiInfoContainer { @Override public void drawScreen(int x, int y, float interp) { super.drawScreen(x, y, interp); + + this.drawCustomInfoStat(x, y, guiLeft + 6, guiTop + 42, 20, 40, x, y, I18nUtil.resolveKey("excavator.drill")); + this.drawCustomInfoStat(x, y, guiLeft + 30, guiTop + 42, 20, 40, x, y, I18nUtil.resolveKey("excavator.crusher")); + this.drawCustomInfoStat(x, y, guiLeft + 54, guiTop + 42, 20, 40, x, y, I18nUtil.resolveKey("excavator.walling")); + this.drawCustomInfoStat(x, y, guiLeft + 78, guiTop + 42, 20, 40, x, y, I18nUtil.resolveKey("excavator.veinminer")); + this.drawCustomInfoStat(x, y, guiLeft + 102, guiTop + 42, 20, 40, x, y, I18nUtil.resolveKey("excavator.silktouch")); this.drawElectricityInfo(this, x, y, guiLeft + 220, guiTop + 18, 16, 52, drill.getPower(), drill.maxPower); this.drill.tank.renderTankInfo(this, x, y, guiLeft + 202, guiTop + 18, 16, 52); 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 96fbafedd..b2fb90abf 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -942,6 +942,14 @@ public class AnvilRecipes { new AnvilOutput(new ItemStack(ModItems.plate_lead, 2)), new AnvilOutput(new ItemStack(ModItems.nuclear_waste_vitrified, 10)) }).setTier(3)); + + constructionRecipes.add(new AnvilConstructionRecipe( + new ComparableStack(ModItems.egg_glyphid), new AnvilOutput[] { + new AnvilOutput(new ItemStack(ModItems.glyphid_meat, 2)), + new AnvilOutput(new ItemStack(ModItems.glyphid_meat, 1), 0.5F), + new AnvilOutput(new ItemStack(Items.bone, 1), 0.75F), + new AnvilOutput(new ItemStack(Items.experience_bottle, 1), 0.5F) + }).setTier(1)); } public static void pullFromAssembler(ComparableStack result, int tier) { diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 5d0ffe69d..5440f43b5 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -532,6 +532,12 @@ entity.hbm.entity_bullet.name=Patrone entity.hbm.entity_rocket.name=Rakete entity.hbm.entity_schrabnel.name=Schrabnel +excavator.crusher=Brecher +excavator.drill=Bohrer +excavator.silktouch=Behutsamkeit +excavator.veinminer=Erzadern-Miner +excavator.walling=Verschalung + flare.ignition=Zündung flare.valve=Flussventil diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 2495b1d4f..859d763ce 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1023,6 +1023,12 @@ entity.hbm.entity_bullet.name=Bullet entity.hbm.entity_rocket.name=Rocket entity.hbm.entity_schrabnel.name=Schrabnel +excavator.crusher=Toggle Crusher +excavator.drill=Toggle Drill +excavator.silktouch=Toggle Silk Touch +excavator.veinminer=Toggle Vein Miner +excavator.walling=Toggle Walling + flare.ignition=Ignition flare.valve=Flow Valve diff --git a/src/main/resources/assets/hbm/textures/blocks/hadron_cooler.png b/src/main/resources/assets/hbm/textures/blocks/hadron_cooler.png new file mode 100644 index 0000000000000000000000000000000000000000..04e26493292b22c1008c60d71b6f3366c2b0ffd5 GIT binary patch literal 284 zcmV+%0ptFOP)ST5Jex77ho0&YD#2US{6#pCLl!RHYEi@>|i4{2&wEi z*q{uME6>mW-<^IkFUvus2BiSd#?aJt3}H|T0q~rruZMl#>H3~ZO4qw$gx|2Wt}B(4 zlttm3(liYi;3ELAWf`w=4A!_~oPah4ya#};?*ZH@F-F+&H)Dd&m6T{>D2swYsel0x zgHpl4th2w$xo0bRwCw>nm$R7mT${QM7@;F$#d=pvVuR#g+)iU58>ASM%*%3Ig(S~& iC-4u_4?()CJLV0|AlW>Lj}`O)0000 Date: Wed, 5 Jul 2023 21:20:46 +0200 Subject: [PATCH 242/285] Fixed satellite loot being overridden by lunar mining ship --- .../satellites/SatelliteLunarMiner.java | 2 +- .../saveddata/satellites/SatelliteMiner.java | 70 ++++++++++--------- 2 files changed, 39 insertions(+), 33 deletions(-) diff --git a/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java b/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java index 76f680841..59b2d3f3d 100644 --- a/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java +++ b/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java @@ -7,7 +7,7 @@ import net.minecraft.item.ItemStack; public class SatelliteLunarMiner extends SatelliteMiner { static { - registerCargo(new WeightedRandomObject[] { + registerCargo(SatelliteLunarMiner.class, new WeightedRandomObject[] { new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 48), 5), new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 32), 7), new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 16), 5), diff --git a/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java b/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java index c5bd22821..c1ee0f836 100644 --- a/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java +++ b/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java @@ -7,39 +7,13 @@ import net.minecraft.init.Items; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; +import java.util.HashMap; + public class SatelliteMiner extends Satellite { /** * {@link WeightedRandomObject} array with loot the satellite will deliver. */ - private static WeightedRandomObject[] CARGO = new WeightedRandomObject[] { - new WeightedRandomObject(new ItemStack(ModItems.powder_aluminium, 3), 10), - new WeightedRandomObject(new ItemStack(ModItems.powder_iron, 3), 10), - new WeightedRandomObject(new ItemStack(ModItems.powder_titanium, 2), 8), - new WeightedRandomObject(new ItemStack(ModItems.crystal_tungsten, 2), 7), - new WeightedRandomObject(new ItemStack(ModItems.powder_coal, 4), 15), - new WeightedRandomObject(new ItemStack(ModItems.powder_uranium, 2), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_plutonium, 1), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_thorium, 2), 7), - new WeightedRandomObject(new ItemStack(ModItems.powder_desh_mix, 3), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_diamond, 2), 7), - new WeightedRandomObject(new ItemStack(Items.redstone, 5), 15), - new WeightedRandomObject(new ItemStack(ModItems.powder_nitan_mix, 2), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_power, 2), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_copper, 5), 15), - new WeightedRandomObject(new ItemStack(ModItems.powder_lead, 3), 10), - new WeightedRandomObject(new ItemStack(ModItems.fluorite, 4), 15), - new WeightedRandomObject(new ItemStack(ModItems.powder_lapis, 4), 10), - new WeightedRandomObject(new ItemStack(ModItems.powder_combine_steel, 1), 1), - new WeightedRandomObject(new ItemStack(ModItems.crystal_aluminium, 1), 5), - new WeightedRandomObject(new ItemStack(ModItems.crystal_gold, 1), 5), - new WeightedRandomObject(new ItemStack(ModItems.crystal_phosphorus, 1), 10), - new WeightedRandomObject(new ItemStack(ModBlocks.gravel_diamond, 1), 3), - new WeightedRandomObject(new ItemStack(ModItems.crystal_uranium, 1), 3), - new WeightedRandomObject(new ItemStack(ModItems.crystal_plutonium, 1), 3), - new WeightedRandomObject(new ItemStack(ModItems.crystal_trixite, 1), 1), - new WeightedRandomObject(new ItemStack(ModItems.crystal_starmetal, 1), 1), - new WeightedRandomObject(new ItemStack(ModItems.crystal_lithium, 2), 4) - }; + private static final HashMap, WeightedRandomObject[]> CARGO = new HashMap<>(); public long lastOp; @@ -59,8 +33,8 @@ public class SatelliteMiner extends Satellite { * Replaces cargo of the satellite. * @param cargo - Array of {@link WeightedRandomObject} representing the loot that will be delivered. */ - public static void registerCargo(WeightedRandomObject[] cargo) { - CARGO = cargo; + public static void registerCargo(Class minerSatelliteClass, WeightedRandomObject[] cargo) { + CARGO.put(minerSatelliteClass, cargo); } /** @@ -68,6 +42,38 @@ public class SatelliteMiner extends Satellite { * @return - Array of {@link WeightedRandomObject} of satellite loot. */ public WeightedRandomObject[] getCargo() { - return CARGO; + return CARGO.get(getClass()); + } + + static { + registerCargo(SatelliteMiner.class, new WeightedRandomObject[] { + new WeightedRandomObject(new ItemStack(ModItems.powder_aluminium, 3), 10), + new WeightedRandomObject(new ItemStack(ModItems.powder_iron, 3), 10), + new WeightedRandomObject(new ItemStack(ModItems.powder_titanium, 2), 8), + new WeightedRandomObject(new ItemStack(ModItems.crystal_tungsten, 2), 7), + new WeightedRandomObject(new ItemStack(ModItems.powder_coal, 4), 15), + new WeightedRandomObject(new ItemStack(ModItems.powder_uranium, 2), 5), + new WeightedRandomObject(new ItemStack(ModItems.powder_plutonium, 1), 5), + new WeightedRandomObject(new ItemStack(ModItems.powder_thorium, 2), 7), + new WeightedRandomObject(new ItemStack(ModItems.powder_desh_mix, 3), 5), + new WeightedRandomObject(new ItemStack(ModItems.powder_diamond, 2), 7), + new WeightedRandomObject(new ItemStack(Items.redstone, 5), 15), + new WeightedRandomObject(new ItemStack(ModItems.powder_nitan_mix, 2), 5), + new WeightedRandomObject(new ItemStack(ModItems.powder_power, 2), 5), + new WeightedRandomObject(new ItemStack(ModItems.powder_copper, 5), 15), + new WeightedRandomObject(new ItemStack(ModItems.powder_lead, 3), 10), + new WeightedRandomObject(new ItemStack(ModItems.fluorite, 4), 15), + new WeightedRandomObject(new ItemStack(ModItems.powder_lapis, 4), 10), + new WeightedRandomObject(new ItemStack(ModItems.powder_combine_steel, 1), 1), + new WeightedRandomObject(new ItemStack(ModItems.crystal_aluminium, 1), 5), + new WeightedRandomObject(new ItemStack(ModItems.crystal_gold, 1), 5), + new WeightedRandomObject(new ItemStack(ModItems.crystal_phosphorus, 1), 10), + new WeightedRandomObject(new ItemStack(ModBlocks.gravel_diamond, 1), 3), + new WeightedRandomObject(new ItemStack(ModItems.crystal_uranium, 1), 3), + new WeightedRandomObject(new ItemStack(ModItems.crystal_plutonium, 1), 3), + new WeightedRandomObject(new ItemStack(ModItems.crystal_trixite, 1), 1), + new WeightedRandomObject(new ItemStack(ModItems.crystal_starmetal, 1), 1), + new WeightedRandomObject(new ItemStack(ModItems.crystal_lithium, 2), 4) + }); } } From 5f109b61ec67bec1911b30bd3f3e1cffeef253dc Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 5 Jul 2023 22:26:20 +0200 Subject: [PATCH 243/285] i can't feel my limbs --- .../hbm/blocks/machine/MachineAssembler.java | 283 +----------------- .../render/tileentity/RenderAssembler.java | 24 +- .../machine/TileEntityMachineAssembler.java | 26 +- 3 files changed, 46 insertions(+), 287 deletions(-) diff --git a/src/main/java/com/hbm/blocks/machine/MachineAssembler.java b/src/main/java/com/hbm/blocks/machine/MachineAssembler.java index 881768570..8f399a824 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineAssembler.java +++ b/src/main/java/com/hbm/blocks/machine/MachineAssembler.java @@ -1,296 +1,31 @@ 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.tileentity.machine.TileEntityDummy; +import com.hbm.blocks.BlockDummyable; import com.hbm.tileentity.machine.TileEntityMachineAssembler; -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.inventory.ISidedInventory; -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 MachineAssembler extends BlockContainer implements IMultiblock { +public class MachineAssembler extends BlockDummyable { public MachineAssembler(Material p_i45386_1_) { super(p_i45386_1_); } @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityMachineAssembler(); - + public TileEntity createNewTileEntity(World world, int meta) { + if(meta >= 12) return new TileEntityMachineAssembler(); + return null; } @Override - public Item getItemDropped(int p_149650_1_, Random p_149650_2_, int p_149650_3_) { - return Item.getItemFromBlock(ModBlocks.machine_assembler); + public int[] getDimensions() { + return new int[] {1, 0, 2, 1, 2, 1}; } @Override - public int getRenderType() { - return -1; + public int getOffset() { + 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(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.assemblerDimensionEast)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.assemblerDimensionEast, ModBlocks.dummy_block_assembler); - - // - DummyBlockAssembler.safeBreak = true; - world.setBlock(x - 1, y, z, ModBlocks.dummy_port_assembler); - TileEntity te = world.getTileEntity(x - 1, y, z); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 1, y, z + 1, ModBlocks.dummy_port_assembler); - TileEntity te2 = world.getTileEntity(x - 1, y, z + 1); - if(te2 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x + 2, y, z, ModBlocks.dummy_port_assembler); - TileEntity te3 = world.getTileEntity(x + 2, y, z); - if(te3 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te3; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x + 2, y, z + 1, ModBlocks.dummy_port_assembler); - TileEntity te4 = world.getTileEntity(x + 2, y, z + 1); - if(te4 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te4; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockAssembler.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - if (i == 1) { - world.setBlockMetadataWithNotify(x, y, z, 3, 2); - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.assemblerDimensionSouth)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.assemblerDimensionSouth, ModBlocks.dummy_block_assembler); - - // - DummyBlockAssembler.safeBreak = true; - world.setBlock(x, y, z - 1, ModBlocks.dummy_port_assembler); - TileEntity te = world.getTileEntity(x, y, z - 1); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 1, y, z - 1, ModBlocks.dummy_port_assembler); - TileEntity te2 = world.getTileEntity(x - 1, y, z - 1); - if(te2 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x, y, z + 2, ModBlocks.dummy_port_assembler); - TileEntity te3 = world.getTileEntity(x, y, z + 2); - if(te3 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te3; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 1, y, z + 2, ModBlocks.dummy_port_assembler); - TileEntity te4 = world.getTileEntity(x - 1, y, z + 2); - if(te4 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te4; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockAssembler.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - if (i == 2) { - world.setBlockMetadataWithNotify(x, y, z, 4, 2); - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.assemblerDimensionWest)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.assemblerDimensionWest, ModBlocks.dummy_block_assembler); - - // - DummyBlockAssembler.safeBreak = true; - world.setBlock(x + 1, y, z, ModBlocks.dummy_port_assembler); - TileEntity te = world.getTileEntity(x + 1, y, z); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x + 1, y, z - 1, ModBlocks.dummy_port_assembler); - TileEntity te2 = world.getTileEntity(x + 1, y, z - 1); - if(te2 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 2, y, z, ModBlocks.dummy_port_assembler); - TileEntity te3 = world.getTileEntity(x - 2, y, z); - if(te3 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te3; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x - 2, y, z - 1, ModBlocks.dummy_port_assembler); - TileEntity te4 = world.getTileEntity(x - 2, y, z - 1); - if(te4 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te4; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockAssembler.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - if (i == 3) { - world.setBlockMetadataWithNotify(x, y, z, 2, 2); - if(MultiblockHandler.checkSpace(world, x, y, z, MultiblockHandler.assemblerDimensionNorth)) { - MultiblockHandler.fillUp(world, x, y, z, MultiblockHandler.assemblerDimensionNorth, ModBlocks.dummy_block_assembler); - - // - DummyBlockAssembler.safeBreak = true; - world.setBlock(x, y, z + 1, ModBlocks.dummy_port_assembler); - TileEntity te = world.getTileEntity(x, y, z + 1); - if(te instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x + 1, y, z + 1, ModBlocks.dummy_port_assembler); - TileEntity te2 = world.getTileEntity(x + 1, y, z + 1); - if(te2 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te2; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x, y, z - 2, ModBlocks.dummy_port_assembler); - TileEntity te3 = world.getTileEntity(x, y, z - 2); - if(te3 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te3; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - world.setBlock(x + 1, y, z - 2, ModBlocks.dummy_port_assembler); - TileEntity te4 = world.getTileEntity(x + 1, y, z - 2); - if(te4 instanceof TileEntityDummy) { - TileEntityDummy dummy = (TileEntityDummy)te4; - dummy.targetX = x; - dummy.targetY = y; - dummy.targetZ = z; - } - DummyBlockAssembler.safeBreak = false; - // - - } else - world.func_147480_a(x, y, z, true); - } - } - - private final Random field_149933_a = new Random(); - private static boolean keepInventory; - - @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_); - } } diff --git a/src/main/java/com/hbm/render/tileentity/RenderAssembler.java b/src/main/java/com/hbm/render/tileentity/RenderAssembler.java index b03698a8b..7f9436fd9 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderAssembler.java +++ b/src/main/java/com/hbm/render/tileentity/RenderAssembler.java @@ -33,16 +33,16 @@ public class RenderAssembler extends TileEntitySpecialRenderer { GL11.glRotatef(180, 0F, 1F, 0F); switch(tileEntity.getBlockMetadata()) { - case 2: + case 14: GL11.glRotatef(180, 0F, 1F, 0F); GL11.glTranslated(0.5D, 0.0D, -0.5D); break; - case 4: + case 13: GL11.glRotatef(270, 0F, 1F, 0F); GL11.glTranslated(0.5D, 0.0D, -0.5D); break; - case 3: + case 15: GL11.glRotatef(0, 0F, 1F, 0F); GL11.glTranslated(0.5D, 0.0D, -0.5D); break; - case 5: + case 12: GL11.glRotatef(90, 0F, 1F, 0F); GL11.glTranslated(0.5D, 0.0D, -0.5D); break; } @@ -99,15 +99,15 @@ public class RenderAssembler extends TileEntitySpecialRenderer { GL11.glRotatef(180, 0F, 1F, 0F); switch(tileEntity.getBlockMetadata()) { - case 2: + case 14: GL11.glTranslated(-1, 0, 0); GL11.glRotatef(180, 0F, 1F, 0F); break; - case 4: + case 13: GL11.glRotatef(270, 0F, 1F, 0F); break; - case 3: + case 15: GL11.glTranslated(0, 0, -1); GL11.glRotatef(0, 0F, 1F, 0F); break; - case 5: + case 12: GL11.glTranslated(-1, 0, -1); GL11.glRotatef(90, 0F, 1F, 0F); break; } @@ -150,15 +150,15 @@ public class RenderAssembler extends TileEntitySpecialRenderer { GL11.glRotatef(180, 0F, 1F, 0F); switch(tileEntity.getBlockMetadata()) { - case 2: + case 14: GL11.glTranslated(-1, 0, 0); GL11.glRotatef(180, 0F, 1F, 0F); break; - case 4: + case 13: GL11.glRotatef(270, 0F, 1F, 0F); break; - case 3: + case 15: GL11.glTranslated(0, 0, -1); GL11.glRotatef(0, 0F, 1F, 0F); break; - case 5: + case 12: GL11.glTranslated(-1, 0, -1); GL11.glRotatef(90, 0F, 1F, 0F); break; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java index 33c973b89..76b2d2ebd 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java @@ -4,7 +4,9 @@ import java.util.ArrayList; 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.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.UpgradeManager; @@ -38,6 +40,7 @@ import net.minecraft.tileentity.TileEntityChest; import net.minecraft.tileentity.TileEntityHopper; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public class TileEntityMachineAssembler extends TileEntityMachineBase implements IEnergyUser, IGUIProvider { @@ -51,7 +54,7 @@ public class TileEntityMachineAssembler extends TileEntityMachineBase implements int speed = 100; @SideOnly(Side.CLIENT) - public int recipe; + public int recipe = -1; private AudioWrapper audio; @@ -127,6 +130,27 @@ public class TileEntityMachineAssembler extends TileEntityMachineBase implements if(!worldObj.isRemote) { + //meta below 12 means that it's an old multiblock configuration + if(this.getBlockMetadata() < 12) { + int meta = this.getBlockMetadata(); + if(meta == 2 || meta == 14) meta = 4; + else if(meta == 4 || meta == 13) meta = 3; + else if(meta == 3 || meta == 15) meta = 5; + else if(meta == 5 || meta == 12) meta = 2; + //get old direction + ForgeDirection dir = ForgeDirection.getOrientation(meta); + //remove tile from the world to prevent inventory dropping + worldObj.removeTileEntity(xCoord, yCoord, zCoord); + //use fillspace to create a new multiblock configuration + worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.machine_assembler, dir.ordinal() + 10, 3); + MultiblockHandlerXR.fillSpace(worldObj, xCoord, yCoord, zCoord, ((BlockDummyable) ModBlocks.machine_assembler).getDimensions(), ModBlocks.machine_assembler, dir); + //load the tile data to restore the old values + NBTTagCompound data = new NBTTagCompound(); + this.writeToNBT(data); + worldObj.getTileEntity(xCoord, yCoord, zCoord).readFromNBT(data); + return; + } + this.updateConnections(); this.consumption = 100; From 25a7a6c345a5af81abcbccc847af3f721eb4a1bb Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 5 Jul 2023 22:42:36 +0200 Subject: [PATCH 244/285] new multiblock sys for assembler --- .../java/api/hbm/energy/IEnergyConnector.java | 2 +- src/main/java/com/hbm/blocks/ModBlocks.java | 6 --- .../hbm/blocks/machine/MachineAssembler.java | 22 ++++++++ .../java/com/hbm/entity/mob/EntityFBI.java | 1 - src/main/java/com/hbm/main/MainRegistry.java | 2 + src/main/java/com/hbm/main/NEIConfig.java | 2 - .../machine/TileEntityMachineAssembler.java | 48 ++++++++---------- .../hbm/textures/blocks/rtty_counter.png | Bin 0 -> 184 bytes 8 files changed, 45 insertions(+), 38 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/blocks/rtty_counter.png diff --git a/src/main/java/api/hbm/energy/IEnergyConnector.java b/src/main/java/api/hbm/energy/IEnergyConnector.java index e3b21e12c..34ed1d175 100644 --- a/src/main/java/api/hbm/energy/IEnergyConnector.java +++ b/src/main/java/api/hbm/energy/IEnergyConnector.java @@ -75,7 +75,7 @@ public interface IEnergyConnector extends ILoadedTile { red = true; } - if(particleDebug) {// + if(particleDebug) { NBTTagCompound data = new NBTTagCompound(); data.setString("type", "network"); data.setString("mode", "power"); diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 1b1751e15..d72021648 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1203,8 +1203,6 @@ public class ModBlocks { public static Block dummy_block_drill; public static Block dummy_port_drill; - public static Block dummy_block_assembler; - public static Block dummy_port_assembler; public static Block dummy_block_ams_limiter; public static Block dummy_port_ams_limiter; public static Block dummy_block_ams_emitter; @@ -2350,8 +2348,6 @@ public class ModBlocks { dummy_block_drill = new DummyBlockDrill(Material.iron, false).setBlockName("dummy_block_drill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_lead"); dummy_port_drill = new DummyBlockDrill(Material.iron, true).setBlockName("dummy_port_drill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_lead"); - dummy_block_assembler = new DummyBlockAssembler(Material.iron, false).setBlockName("dummy_block_assembler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); - dummy_port_assembler = new DummyBlockAssembler(Material.iron, true).setBlockName("dummy_port_assembler").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_steel"); dummy_block_ams_limiter = new DummyBlockAMSLimiter(Material.iron).setBlockName("dummy_block_ams_limiter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper"); dummy_port_ams_limiter = new DummyBlockAMSLimiter(Material.iron).setBlockName("dummy_port_ams_limiter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper"); dummy_block_ams_emitter = new DummyBlockAMSEmitter(Material.iron).setBlockName("dummy_block_ams_emitter").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":block_copper"); @@ -3444,8 +3440,6 @@ public class ModBlocks { //Multiblock Dummy Blocks GameRegistry.registerBlock(dummy_block_drill, dummy_block_drill.getUnlocalizedName()); GameRegistry.registerBlock(dummy_port_drill, dummy_port_drill.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_block_assembler, dummy_block_assembler.getUnlocalizedName()); - GameRegistry.registerBlock(dummy_port_assembler, dummy_port_assembler.getUnlocalizedName()); GameRegistry.registerBlock(dummy_block_ams_limiter, dummy_block_ams_limiter.getUnlocalizedName()); GameRegistry.registerBlock(dummy_port_ams_limiter, dummy_port_ams_limiter.getUnlocalizedName()); GameRegistry.registerBlock(dummy_block_ams_emitter, dummy_block_ams_emitter.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/MachineAssembler.java b/src/main/java/com/hbm/blocks/machine/MachineAssembler.java index 8f399a824..a53437db9 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineAssembler.java +++ b/src/main/java/com/hbm/blocks/machine/MachineAssembler.java @@ -4,8 +4,10 @@ import com.hbm.blocks.BlockDummyable; import com.hbm.tileentity.machine.TileEntityMachineAssembler; 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 MachineAssembler extends BlockDummyable { @@ -28,4 +30,24 @@ public class MachineAssembler extends BlockDummyable { 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 -= dir.offsetX; + z -= dir.offsetZ; + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + this.makeExtra(world, x + rot.offsetX * 2, y, z + rot.offsetZ * 2); + this.makeExtra(world, x - rot.offsetX * 1, y, z - rot.offsetZ * 1); + this.makeExtra(world, x + rot.offsetX * 2 - dir.offsetX, y, z + rot.offsetZ * 2 - dir.offsetZ); + this.makeExtra(world, x - rot.offsetX * 1 - dir.offsetX, y, z - rot.offsetZ * 1 - dir.offsetZ); + } } diff --git a/src/main/java/com/hbm/entity/mob/EntityFBI.java b/src/main/java/com/hbm/entity/mob/EntityFBI.java index ce51f5d25..827db49bd 100644 --- a/src/main/java/com/hbm/entity/mob/EntityFBI.java +++ b/src/main/java/com/hbm/entity/mob/EntityFBI.java @@ -170,7 +170,6 @@ public class EntityFBI extends EntityMob implements IRangedAttackMob { canDestroy.add(Blocks.trapdoor); canDestroy.add(ModBlocks.machine_press); canDestroy.add(ModBlocks.machine_epress); - canDestroy.add(ModBlocks.dummy_block_assembler); canDestroy.add(ModBlocks.machine_chemplant); canDestroy.add(ModBlocks.machine_crystallizer); canDestroy.add(ModBlocks.machine_turbine); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 9a809a1ba..3b92bc223 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -1128,6 +1128,8 @@ public class MainRegistry { ignoreMappings.add("hbm:tile.oil_duct"); ignoreMappings.add("hbm:tile.gas_duct_solid"); ignoreMappings.add("hbm:tile.gas_duct"); + ignoreMappings.add("hbm:tile.dummy_block_assembler"); + ignoreMappings.add("hbm:tile.dummy_port_assembler"); /// REMAP /// remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); diff --git a/src/main/java/com/hbm/main/NEIConfig.java b/src/main/java/com/hbm/main/NEIConfig.java index 1a2cd65a6..d0d0fa102 100644 --- a/src/main/java/com/hbm/main/NEIConfig.java +++ b/src/main/java/com/hbm/main/NEIConfig.java @@ -99,7 +99,6 @@ public class NEIConfig implements IConfigureNEI { API.hideItem(new ItemStack(ModItems.burnt_bark)); API.hideItem(new ItemStack(ModItems.ams_core_thingy)); } - API.hideItem(new ItemStack(ModBlocks.dummy_block_assembler)); API.hideItem(new ItemStack(ModBlocks.dummy_block_drill)); API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_base)); API.hideItem(new ItemStack(ModBlocks.dummy_block_ams_emitter)); @@ -108,7 +107,6 @@ public class NEIConfig implements IConfigureNEI { 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_assembler)); API.hideItem(new ItemStack(ModBlocks.dummy_port_drill)); API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_base)); API.hideItem(new ItemStack(ModBlocks.dummy_port_ams_emitter)); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java index 76b2d2ebd..8d73476b4 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java @@ -24,6 +24,7 @@ import com.hbm.tileentity.TileEntityMachineBase; import com.hbm.tileentity.machine.storage.TileEntityCrateBase; import com.hbm.tileentity.machine.storage.TileEntityCrateIron; import com.hbm.tileentity.machine.storage.TileEntityCrateSteel; +import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energy.IBatteryItem; import api.hbm.energy.IEnergyUser; @@ -207,19 +208,19 @@ public class TileEntityMachineAssembler extends TileEntityMachineBase implements TileEntity te1 = null; TileEntity te2 = null; - if(meta == 2) { + if(meta == 14) { te1 = worldObj.getTileEntity(xCoord - 2, yCoord, zCoord); te2 = worldObj.getTileEntity(xCoord + 3, yCoord, zCoord - 1); } - if(meta == 3) { + if(meta == 15) { te1 = worldObj.getTileEntity(xCoord + 2, yCoord, zCoord); te2 = worldObj.getTileEntity(xCoord - 3, yCoord, zCoord + 1); } - if(meta == 4) { + if(meta == 13) { te1 = worldObj.getTileEntity(xCoord, yCoord, zCoord + 2); te2 = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord - 3); } - if(meta == 5) { + if(meta == 12) { te1 = worldObj.getTileEntity(xCoord, yCoord, zCoord - 2); te2 = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord + 3); } @@ -284,34 +285,25 @@ public class TileEntityMachineAssembler extends TileEntityMachineBase implements } private void updateConnections() { - this.getBlockMetadata(); - if(this.blockMetadata == 5) { - this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord, Library.NEG_X); - this.trySubscribe(worldObj, xCoord - 2, yCoord, zCoord + 1, Library.NEG_X); - this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord, Library.POS_X); - this.trySubscribe(worldObj, xCoord + 3, yCoord, zCoord + 1, Library.POS_X); - - } else if(this.blockMetadata == 3) { - this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 2, Library.NEG_Z); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord - 2, Library.NEG_Z); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 3, Library.POS_Z); - this.trySubscribe(worldObj, xCoord - 1, yCoord, zCoord + 3, Library.POS_Z); - - } else if(this.blockMetadata == 4) { - this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord, Library.POS_X); - this.trySubscribe(worldObj, xCoord + 2, yCoord, zCoord - 1, Library.POS_X); - this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord, Library.NEG_X); - this.trySubscribe(worldObj, xCoord - 3, yCoord, zCoord - 1, Library.NEG_X); - - } else if(this.blockMetadata == 2) { - this.trySubscribe(worldObj, xCoord, yCoord, zCoord + 2, Library.POS_Z); - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord + 2, Library.POS_Z); - this.trySubscribe(worldObj, xCoord, yCoord, zCoord - 3, Library.NEG_Z); - this.trySubscribe(worldObj, xCoord + 1, yCoord, zCoord - 3, Library.NEG_Z); + 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()), + new DirPos(xCoord + rot.offsetX * 3 + dir.offsetX, yCoord, zCoord + rot.offsetZ * 3 + dir.offsetZ, rot), + new DirPos(xCoord - rot.offsetX * 2 + dir.offsetX, yCoord, zCoord - rot.offsetZ * 2 + dir.offsetZ, rot.getOpposite()) + }; + } + public void onChunkUnload() { if(audio != null) { diff --git a/src/main/resources/assets/hbm/textures/blocks/rtty_counter.png b/src/main/resources/assets/hbm/textures/blocks/rtty_counter.png new file mode 100644 index 0000000000000000000000000000000000000000..e1d9764f73240c483f65da1d7903e5fa1b900026 GIT binary patch literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf>N4{Qh659{<3!g>$~7(wqO1HKj*S7Bid?<$0_Bv5Ij$ zx7PeH!x?M8AI)ZuW8Sf2hs3|XzuosS+SmO_`0@EU|4+6%dnzY4PMkQghS|i#MC0?J fUTJfVDn^EhPxP}sKI38pTFv0;>gTe~DWM4f)Y?Tz literal 0 HcmV?d00001 From e78406f64f5bc0f795afa63a28a9556999831ad9 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 6 Jul 2023 15:33:05 +0200 Subject: [PATCH 245/285] redstone over radio item counter --- changelog | 10 ++ src/main/java/com/hbm/blocks/ModBlocks.java | 3 + .../hbm/blocks/network/RadioTorchBase.java | 49 +----- .../hbm/blocks/network/RadioTorchCounter.java | 70 ++++++++ .../hbm/blocks/network/RadioTorchRWBase.java | 62 +++++++ .../blocks/network/RadioTorchReceiver.java | 2 +- .../hbm/blocks/network/RadioTorchSender.java | 2 +- .../container/ContainerCounterTorch.java | 76 +++++++++ .../hbm/inventory/gui/GUICounterTorch.java | 151 ++++++++++++++++++ .../java/com/hbm/main/CraftingManager.java | 1 + .../hbm/tileentity/TileEntityMachineBase.java | 7 +- .../java/com/hbm/tileentity/TileMappings.java | 1 + .../network/TileEntityRadioTorchCounter.java | 125 +++++++++++++++ src/main/resources/assets/hbm/lang/de_DE.lang | 3 + src/main/resources/assets/hbm/lang/en_US.lang | 3 + .../hbm/textures/blocks/rtty_counter.png | Bin 184 -> 182 bytes .../textures/gui/machine/gui_rtty_counter.png | Bin 0 -> 2546 bytes 17 files changed, 514 insertions(+), 51 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/network/RadioTorchCounter.java create mode 100644 src/main/java/com/hbm/blocks/network/RadioTorchRWBase.java create mode 100644 src/main/java/com/hbm/inventory/container/ContainerCounterTorch.java create mode 100644 src/main/java/com/hbm/inventory/gui/GUICounterTorch.java create mode 100644 src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchCounter.java create mode 100644 src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_counter.png diff --git a/changelog b/changelog index b7101ac1a..90238bcbc 100644 --- a/changelog +++ b/changelog @@ -2,13 +2,23 @@ * Industrial boiler * A slightly taller variant of the boiler with higher capacity * Unlike the regular boiler, it can't explode +* Redstone-over-radio counter + * Can count and send the amount of an item stored in a container + * Counting supports filters by item ID, ID+meta and ore dictionary names + * Each torch can count up to three items and output the results on different channels + * This allows for more precise control over things like assembler chests, like turning off the ejector for an item that is already full but not other ejectors + * This property makes automating things with multiple inputs a lot easier + * Due to the ore dictionary ability of the counter, buffered items can precisely match the requirements of the recipe ## Changed * The regular boiler now only holds 16k instead of 64k (which is still a lot) * Added labels to the large mining drill's levers * Glyphid eggs can now be broken apart using an anvil, yielding glyphid meat, bones and experience bottles +* The assembler now uses the new multiblock system, making it less annoying to playe and less ear-piercing to break + * The conversion happens automatically so it's not necessary to remove the assemblers beforehand ## Fixed * Fixed quantity of the fusion reactor's construction recipe not being displayed right * Fixed fluid valve and redstone fluid valves having the wrong names * Fixed mobs' max health getting buffed by pollution, but the actual health staying the same +* Fixed bug regarding the loot pools of satellite miners diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index d72021648..4dff0bb1f 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -793,6 +793,7 @@ public class ModBlocks { public static Block fluid_switch; public static Block radio_torch_sender; public static Block radio_torch_receiver; + public static Block radio_torch_counter; public static Block conveyor; //public static Block conveyor_classic; @@ -1942,6 +1943,7 @@ public class ModBlocks { fluid_switch = new FluidSwitch(Material.iron).setBlockName("fluid_switch").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab); 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"); conveyor = new BlockConveyor().setBlockName("conveyor").setHardness(2.0F).setResistance(2.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":conveyor"); //conveyor_classic = new BlockConveyorClassic().setBlockName("conveyor_classic").setHardness(2.0F).setResistance(2.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":conveyor"); @@ -3172,6 +3174,7 @@ public class ModBlocks { register(fluid_switch); register(radio_torch_sender); register(radio_torch_receiver); + register(radio_torch_counter); GameRegistry.registerBlock(crane_extractor, crane_extractor.getUnlocalizedName()); GameRegistry.registerBlock(crane_inserter, crane_inserter.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/network/RadioTorchBase.java b/src/main/java/com/hbm/blocks/network/RadioTorchBase.java index f6255c271..049bc565b 100644 --- a/src/main/java/com/hbm/blocks/network/RadioTorchBase.java +++ b/src/main/java/com/hbm/blocks/network/RadioTorchBase.java @@ -1,15 +1,11 @@ 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.inventory.gui.GUIScreenRadioTorch; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; -import com.hbm.tileentity.network.TileEntityRadioTorchBase; -import com.hbm.util.I18nUtil; import cpw.mods.fml.client.registry.RenderingRegistry; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; @@ -18,25 +14,21 @@ 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.gui.GuiScreen; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.inventory.Container; import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.EnumChatFormatting; -import net.minecraft.util.IIcon; 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.RenderGameOverlayEvent.Pre; import net.minecraftforge.common.util.ForgeDirection; +/** + * Base class for all torch-like RTTY blocks + * @author hbm + */ public abstract class RadioTorchBase extends BlockContainer implements IGUIProvider, ILookOverlay, ITooltipProvider { - @SideOnly(Side.CLIENT) protected IIcon iconOn; - public RadioTorchBase() { super(Material.circuits); } @@ -87,12 +79,6 @@ public abstract class RadioTorchBase extends BlockContainer implements IGUIProvi return super.collisionRayTrace(world, x, y, z, vec0, vec1); } - @Override - @SideOnly(Side.CLIENT) - public IIcon getIcon(int side, int metadata) { - return side == 0 ? this.blockIcon : this.iconOn; - } - @Override public int onBlockPlaced(World world, int x, int y, int z, int side, float fX, float fY, float fZ, int meta) { return side; @@ -130,36 +116,9 @@ public abstract class RadioTorchBase extends BlockContainer implements IGUIProvi return !player.isSneaking(); } } - - @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(); - if(radio.channel != null && !radio.channel.isEmpty()) text.add(EnumChatFormatting.AQUA + "Freq: " + radio.channel); - text.add(EnumChatFormatting.RED + "Signal: " + radio.lastState); - ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); - } - } @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { addStandardInfo(stack, player, list, ext); } - - @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) { - TileEntity te = world.getTileEntity(x, y, z); - - if(te instanceof TileEntityRadioTorchBase) - return new GUIScreenRadioTorch((TileEntityRadioTorchBase) 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 new file mode 100644 index 000000000..a78aafc4a --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/RadioTorchCounter.java @@ -0,0 +1,70 @@ +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.I18nUtil; + +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.tileentity.TileEntity; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +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()) { + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); + return true; + } else { + return !player.isSneaking(); + } + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityRadioTorchCounter(); + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCounterTorch(player.inventory, (TileEntityRadioTorchCounter) world.getTileEntity(x, y, z)); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen 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/RadioTorchRWBase.java b/src/main/java/com/hbm/blocks/network/RadioTorchRWBase.java new file mode 100644 index 000000000..8199991a5 --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/RadioTorchRWBase.java @@ -0,0 +1,62 @@ +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 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; + +/** + * Base class for the basic sender and receiver RTTY torch + * @author hbm + */ +public abstract class RadioTorchRWBase extends RadioTorchBase { + + @SideOnly(Side.CLIENT) protected IIcon iconOn; + + @Override + @SideOnly(Side.CLIENT) + 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(); + if(radio.channel != null && !radio.channel.isEmpty()) text.add(EnumChatFormatting.AQUA + "Freq: " + radio.channel); + text.add(EnumChatFormatting.RED + "Signal: " + radio.lastState); + 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 GuiScreen 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); + + 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 7ce90e43f..4d7f28c83 100644 --- a/src/main/java/com/hbm/blocks/network/RadioTorchReceiver.java +++ b/src/main/java/com/hbm/blocks/network/RadioTorchReceiver.java @@ -10,7 +10,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; -public class RadioTorchReceiver extends RadioTorchBase { +public class RadioTorchReceiver extends RadioTorchRWBase { public RadioTorchReceiver() { super(); diff --git a/src/main/java/com/hbm/blocks/network/RadioTorchSender.java b/src/main/java/com/hbm/blocks/network/RadioTorchSender.java index 2e5a675d4..2045be8a3 100644 --- a/src/main/java/com/hbm/blocks/network/RadioTorchSender.java +++ b/src/main/java/com/hbm/blocks/network/RadioTorchSender.java @@ -9,7 +9,7 @@ import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; -public class RadioTorchSender extends RadioTorchBase { +public class RadioTorchSender extends RadioTorchRWBase { public RadioTorchSender() { super(); diff --git a/src/main/java/com/hbm/inventory/container/ContainerCounterTorch.java b/src/main/java/com/hbm/inventory/container/ContainerCounterTorch.java new file mode 100644 index 000000000..56af3c613 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerCounterTorch.java @@ -0,0 +1,76 @@ +package com.hbm.inventory.container; + +import com.hbm.tileentity.network.TileEntityRadioTorchCounter; + +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 ContainerCounterTorch extends Container { + + protected TileEntityRadioTorchCounter radio; + + public ContainerCounterTorch(InventoryPlayer invPlayer, TileEntityRadioTorchCounter radio) { + this.radio = radio; + + for(int i = 0; i < 3; i++) { + this.addSlotToContainer(new Slot(radio, i, 138, 18 + 44 * i)); + } + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(invPlayer, j + i * 9 + 9, 12 + j * 18, 156 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 12 + i * 18, 214)); + } + } + + @Override public ItemStack transferStackInSlot(EntityPlayer player, int slot) { return null; } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return radio.isUseableByPlayer(player); + } + + @Override + public ItemStack slotClick(int index, int button, int mode, EntityPlayer player) { + + //L/R: 0 + //M3: 3 + //SHIFT: 1 + //DRAG: 5 + if(index < 0 || index > 2) { + 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()) { + radio.matcher.nextMode(radio.getWorldObj(), slot.getStack(), index); + return ret; + + } else { + slot.putStack(held != null ? held.copy() : null); + + if(slot.getHasStack()) { + slot.getStack().stackSize = 1; + } + + slot.onSlotChanged(); + radio.matcher.initPatternStandard(radio.getWorldObj(), slot.getStack(), index); + + return ret; + } + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUICounterTorch.java b/src/main/java/com/hbm/inventory/gui/GUICounterTorch.java new file mode 100644 index 000000000..0b02ddf1a --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUICounterTorch.java @@ -0,0 +1,151 @@ +package com.hbm.inventory.gui; + +import java.util.Arrays; + +import org.lwjgl.input.Keyboard; +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerCounterTorch; +import com.hbm.lib.RefStrings; +import com.hbm.packet.NBTControlPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.network.TileEntityRadioTorchCounter; +import com.hbm.util.I18nUtil; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.gui.GuiTextField; +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 GUICounterTorch extends GuiInfoContainer { + + protected static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/machine/gui_rtty_counter.png"); + + protected TileEntityRadioTorchCounter counter; + protected GuiTextField[] frequency; + + public GUICounterTorch(InventoryPlayer invPlayer, TileEntityRadioTorchCounter counter) { + super(new ContainerCounterTorch(invPlayer, counter)); + this.counter = counter; + + this.xSize = 218; + this.ySize = 238; + } + + @Override + public void initGui() { + super.initGui(); + + Keyboard.enableRepeatEvents(true); + + this.frequency = new GuiTextField[3]; + + for(int i = 0; i < 3; i++) { + + this.frequency[i] = new GuiTextField(this.fontRendererObj, guiLeft + 29, guiTop + 21 + 44 * i, 86, 14); + this.frequency[i].setTextColor(0x00ff00); + this.frequency[i].setDisabledTextColour(0x00ff00); + this.frequency[i].setEnableBackgroundDrawing(false); + this.frequency[i].setMaxStringLength(10); + this.frequency[i].setText(counter.channel[i] == null ? "" : counter.channel[i]); + } + } + + @Override + public void drawScreen(int x, int y, float interp) { + super.drawScreen(x, y, interp); + + if(guiLeft + 193 <= x && guiLeft + 193 + 18 > x && guiTop + 8 < y && guiTop + 8 + 18 >= y) { + func_146283_a(Arrays.asList(new String[] { counter.polling ? "Polling" : "State Change" }), x, y); + } + if(guiLeft + 193 <= x && guiLeft + 193 + 18 > x && guiTop + 30 < y && guiTop + 30 + 18 >= y) { + func_146283_a(Arrays.asList(new String[] { "Save Settings" }), x, y); + } + + if(this.mc.thePlayer.inventory.getItemStack() == null) { + for(int i = 0; i < 3; ++i) { + 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); + } + } + } + } + + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + /*for(int j = 0; j < 3; j++) this.frequency[j].mouseClicked(x, y, i); + + if(guiLeft + 193 <= x && guiLeft + 193 + 18 > x && guiTop + 8 < y && guiTop + 8 + 18 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("polling", true); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, counter.xCoord, counter.yCoord, counter.zCoord)); + } + + if(guiLeft + 193 <= x && guiLeft + 193 + 18 > x && guiTop + 30 < y && guiTop + 30 + 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 < 3; j++) data.setString("c" + j, this.frequency[j].getText()); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, counter.xCoord, counter.yCoord, counter.zCoord)); + }*/ + } + + @Override + protected void drawGuiContainerForegroundLayer(int x, int y) { + String name = I18nUtil.resolveKey(this.counter.getInventoryName()); + this.fontRendererObj.drawString(name, 184 / 2 - this.fontRendererObj.getStringWidth(name) / 2, this.guiTop + 6, 4210752); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 16, 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(counter.polling) { + drawTexturedModalRect(guiLeft + 193, guiTop + 8, 218, 0, 18, 18); + } + + for(int i = 0; i < 3; i++) this.frequency[i].drawTextBox(); + } + + @Override + protected void keyTyped(char c, int i) { + + //for(int j = 0; j < 3; j++) if(this.frequency[j].textboxKeyTyped(c, i)) return; + + super.keyTyped(c, i); + } + + @Override + public void onGuiClosed() { + super.onGuiClosed(); + Keyboard.enableRepeatEvents(false); + } + + @Override + public boolean doesGuiPauseGame() { + return false; + } +} diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 9ebfb3281..f0bc031ac 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -253,6 +253,7 @@ public class CraftingManager { 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_counter, 4), new Object[] { "G", "R", "I", 'G', "dustGlowstone", 'R', Blocks.redstone_torch, 'I', ModItems.circuit_aluminium }); 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() }); diff --git a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java index d71c1ab66..988d683b8 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityMachineBase.java @@ -83,11 +83,10 @@ public abstract class TileEntityMachineBase extends TileEntityLoadedBase impleme @Override public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { return false; - }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=128; + } else { + return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 128; } } diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 2ff4005f6..5afef6e01 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -372,6 +372,7 @@ public class TileMappings { put(TileEntityRadioTorchSender.class, "tileentity_rtty_sender"); put(TileEntityRadioTorchReceiver.class, "tileentity_rtty_rec"); + put(TileEntityRadioTorchCounter.class, "tileentity_rtty_counter"); } private static void put(Class clazz, String... names) { diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchCounter.java b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchCounter.java new file mode 100644 index 000000000..809fec28f --- /dev/null +++ b/src/main/java/com/hbm/tileentity/network/TileEntityRadioTorchCounter.java @@ -0,0 +1,125 @@ +package com.hbm.tileentity.network; + +import com.hbm.interfaces.IControlReceiver; +import com.hbm.module.ModulePatternMatcher; +import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.Compat; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.inventory.IInventory; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityRadioTorchCounter extends TileEntityMachineBase implements IControlReceiver { + + public String[] channel; + public int[] lastCount; + public boolean polling = false; + public ModulePatternMatcher matcher; + + public TileEntityRadioTorchCounter() { + super(3); + this.channel = new String[3]; + for(int i = 0; i < 3; i++) this.channel[i] = ""; + this.lastCount = new int[3]; + this.matcher = new ModulePatternMatcher(3); + } + + @Override + public String getName() { + return "container.rttyCounter"; + } + + @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 IInventory) { + IInventory inv = (IInventory) tile; + ItemStack[] invSlots = new ItemStack[inv.getSizeInventory()]; + for(int i = 0; i < invSlots.length; i++) invSlots[i] = inv.getStackInSlot(i); + + for(int i = 0; i < 3; i++) { + if(channel[i].isEmpty()) continue; + if(slots[i] == null) continue; + ItemStack pattern = slots[i]; + + int count = 0; + + for(int j = 0; j < invSlots.length; j++) { + if(invSlots[j] != null && matcher.isValidForFilter(pattern, i, invSlots[j])) { + count += invSlots[j].stackSize; + } + } + + if(this.polling || this.lastCount[i] != count) { + RTTYSystem.broadcast(worldObj, this.channel[i], count); + } + + 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); + } + } + + public void networkUnpack(NBTTagCompound 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 readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + this.polling = nbt.getBoolean("p"); + for(int i = 0; i < 3; i++) { + this.channel[i] = nbt.getString("c" + i); + this.lastCount[i] = nbt.getInteger("l" + i); + } + this.matcher.readFromNBT(nbt); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + nbt.setBoolean("p", polling); + for(int i = 0; i < 3; i++) { + if(channel[i] != null) nbt.setString("c" + i, channel[i]); + nbt.setInteger("l" + i, lastCount[i]); + } + this.matcher.writeToNBT(nbt); + } + + @Override + public boolean hasPermission(EntityPlayer player) { + return this.isUseableByPlayer(player); + } + + @Override + public void receiveControl(NBTTagCompound data) { + if(data.hasKey("polling")) { + this.polling = !this.polling; + this.markChanged(); + } else { + System.out.println("guh"); + for(int i = 0; i < 3; i++) { + this.channel[i] = data.getString("c" + i); + } + this.markChanged(); + } + } +} diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 5440f43b5..a76c6a773 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -392,6 +392,7 @@ container.reactorSmall=Atomreaktor container.reix=Rei-X Hauptrechner container.rtg=Radioisotopengenerator container.rtgFurnace=RTG-Ofen +container.rttyCounter=Redstone-over-Radio Itemzähler container.rttyReceiver=Redstone-over-Radio Empfänger container.rttySender=Redstone-over-Radio Sender container.safe=Panzerschrank @@ -4197,6 +4198,8 @@ tile.pribris.name=RBMK-Schutt tile.pribris_burning.name=Flammender RBMK-Schutt tile.pribris_digamma.name=Geschwärzter RBMK-Schutt tile.pribris_radiating.name=Glühender RBMK-Schutt +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_sender.name=Redstone-over-Radio Sender diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 859d763ce..4f6bc3080 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -730,6 +730,7 @@ container.reactorResearch=Research Reactor container.reix=Rei-X Mainframe container.rtg=RT Generator container.rtgFurnace=RTG Furnace +container.rttyCounter=Redstone-over-Radio Item Counter container.rttyReceiver=Redstone-over-Radio Receiver container.rttySender=Redstone-over-Radio Transmitter container.safe=Safe @@ -5075,6 +5076,8 @@ tile.pribris.name=RBMK Debris tile.pribris_burning.name=Flaming RBMK Debris tile.pribris_digamma.name=Blackened RBMK Debris tile.pribris_radiating.name=Smoldering RBMK Debris +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_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 diff --git a/src/main/resources/assets/hbm/textures/blocks/rtty_counter.png b/src/main/resources/assets/hbm/textures/blocks/rtty_counter.png index e1d9764f73240c483f65da1d7903e5fa1b900026..f00b829ac17ab690e1bdfca18495433885d953e6 100644 GIT binary patch delta 59 zcmdnNxQ%gw31jX=Q$zmL^bb{x>$$b&hZ)Y0J#lDasj3V|6{Ed^k{CnwJiYxKx>*ej OK;Y@>=d#Wzp$Py@4HA(6 delta 61 zcmdnSxPx(m31j|5Q$zl@`X8$p*K=#l4>O#x_WRL^rK)lopAYp)n{!k#GE97;pY`z> R7b61@c)I$ztaD0e0s!2w7N`IK diff --git a/src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_counter.png b/src/main/resources/assets/hbm/textures/gui/machine/gui_rtty_counter.png new file mode 100644 index 0000000000000000000000000000000000000000..70c49adf402460a014a8f3d9310a33ee0ccde091 GIT binary patch literal 2546 zcmb`JdpOkV7RTSYFhhw=vg5&YmDG%KDWi-^1$lC(tt%R`81(VK0ieLJwc6ntnJwz74%Dh& zhU&Q~Xp_USF+sV-7IBNM<^9#MaE*&Fh5|XCNzp_E&LQ=Al@2#CYq}Kmkyff?+u)x3 z%ZJD0Tr~FxS?3&Wj#ZLE%t+X%C(7twUD^bZHByn_nmN~2wocXm{L56j$qZg*m{?m| zdyXz18#AQkKmxC*+X<*|a+fY~YNrqV+{1g~p?zYiQu(Jj8*4raS~S zjX6b^VM)Ev6-B3cWpk{QloUU4Q{wRb`R-dtkiU)I%25UG5q;yd82%`>>59-ZK9X1% zGw8+Vv|j;KHWDD$0`i%zXz>ZDf7ez8v|4s{PTI&PZmg+z(lr}RGKE<(k}M=^qgy6> z^B(X{XR!hU9YcX*_Q$f7AVWAez0QxNk&ffGr+0ez^|w9be9AI30kPBL1BK6PROd!J zara+G{XP>S(2SUUWOVsBGi_$MRMN0bxY&=e-kciv=ulN;*&F*>L9hVdJRl6`P+GMk z2j&xoyPn}2wx>8@jaYJ#lj5O+b=BRmk)m@49xa(%{(i*Ss}Ov8*Eo5cDFji?OF^CI zXdpp4#YuIsE3=SI^QBi?d-sP?!|(85soD+2iDP)s-cUry3wlb@w(O9OC+3!@y@Hiv z+h_7vQO5^CNEq7k{=HDJUtFwnVgHFC@6V2}U@G0+?$XS)lW(o?0PTPR@svSeF+-W{ zklm|BxHX9Zx~#z?zSFC833(3f8TJfUj0oVqE@21s9t7x;&EOR42!CWdY5HOa4>rMA zOcexYd~9nYh52;T=0y)q%4&)()TlZrQAtLP<@2{3`^S%tC$++9tL#a4PO3L6>|sDD z-@uIzNG0mg{GHKgU>6Yf{$V(r^E`BIb6>@d738BTri~rvCLJa#GhKwAM=jRpXm6_+ z$7Jk9y_$jOGtfr&8UMQ2#m;v;GxE}h**L9!p&9ih+3@Y-xD|UpW}S}?)gjj+Fa_CK zNnmzoD}u^WC2C zSkvbF3AgnJeY_{iPJ(LbeEs_8u#W7*i@Edjv8QAVH;NwFtw%gOXSFoSjqE9R{u^)@ zLm03x$7;0Cti|lD6o$dI!Byi}p5Mb_)pRSArLm*u6rWEctbtiN-0jxS>f5+LDaJ4e zwr;A``~C56ZD}ODRf_rf~@Mf1}JNor$O3lk{ru@X*UeP{SMAV0}UrsuzS#(TMx@ zB_-#V05}(BNrsTxV2>JWz;QYA=~C_TgHIs9T6nO_x`N`wX$r({F!XG<<$!er7a-Qb z&RIdI&$!C7gSR$^`1+ROjYo;Ha6VH;=GBrF3gso1;L_MwHr7|#V ztvCq`wB-5wV=4L3FPfze?8-@&v#-iASpEJ62M<$k4i4y z1#Vm~K-~G$b82h3=J(bx2r%UvwAp&q4g`tkmk9QW86AK$bw?S-o-Mp@p^<(S&SCH5@`wF1MYf&!-S)njvMr!Um`_A4i>$?Q`T6-qdAOO9 zd_rnz^^;6;3_{&txm=(301BF{3$`=!3q`?G@z~+%HYZ1lR_QuL31R3acQAi7@)5k0`>Mo0~6sBcL(UQSUoD4}DUgZ;QH?Lx?L)#8(Ve z+L`DE!G7%jnVX+N|Lp3&p-c`6!flV5I4;oJZ==mW+ICR5d+$>Hf;gOVpfx6p@9Z68 zotu!508NU78cab$nXg^OFMDVe#lKnS#$+SDkHr7|V53#Zct7_GG0o`wmweu)Rn8V( zNEdIBFyohXx&u(t`mee9`2pX;te`W!kY`LcuW~-!4gVpTw1=y2Lg z&J8+ds~Iin(Kk8$hqU~Q>)Yn!B#(HHXfL@^&Y|zxq*j=okTJa5Y}v%yTzxDS>rZ+c zOwqO+xP*J+6N)KE>wzH#pS*ij9<{DxX5qK(C!?B7#Wj7jP>6e>d}YC5yPIfLx|4k7 EAKRyc`Tzg` literal 0 HcmV?d00001 From bc8dfcaa99291077b23912c732e3c7b6b5538bd2 Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 6 Jul 2023 20:48:25 +0200 Subject: [PATCH 246/285] coolers --- changelog | 6 ++ src/main/java/com/hbm/blocks/ModBlocks.java | 3 + .../hbm/blocks/machine/BlockHadronCooler.java | 68 ++++++++++++++++++ .../hbm/inventory/gui/GUICounterTorch.java | 8 +-- .../tileentity/machine/TileEntityHadron.java | 47 ++++++++++-- src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 4 ++ .../hbm/textures/blocks/hadron_cooler_mk2.png | Bin 0 -> 331 bytes 8 files changed, 130 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/hadron_cooler_mk2.png diff --git a/changelog b/changelog index 90238bcbc..d43d6b07f 100644 --- a/changelog +++ b/changelog @@ -9,6 +9,12 @@ * This allows for more precise control over things like assembler chests, like turning off the ejector for an item that is already full but not other ejectors * This property makes automating things with multiple inputs a lot easier * Due to the ore dictionary ability of the counter, buffered items can precisely match the requirements of the recipe +* Particle collider cooling unit + * A block that can replace coils in a particle collider + * Will increment a new "cooling" value which depletes over time and makes coils more effective + * Overcooling causes a penalty, so coolers cannot be spammed and need to be carefully spaced out + * Allows for even more compact particle accelerator setups + * Comes in two tiers, both tiers use a different cooling variable with different effectiveness, the higher tier will override the lower tier if both tiers of coolers are present ## Changed * The regular boiler now only holds 16k instead of 64k (which is still a lot) diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 4dff0bb1f..915dd8b07 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -742,6 +742,7 @@ public class ModBlocks { 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; @@ -1875,6 +1876,7 @@ public class ModBlocks { hadron_analysis_glass = new BlockNTMGlass(0, RefStrings.MODID + ":hadron_analysis_glass", Material.iron).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); @@ -3123,6 +3125,7 @@ public class ModBlocks { 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()); diff --git a/src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java b/src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java new file mode 100644 index 000000000..95fcb17de --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java @@ -0,0 +1,68 @@ +package com.hbm.blocks.machine; + +import java.util.List; + +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 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.ItemStack; +import net.minecraft.util.EnumChatFormatting; +import net.minecraft.util.IIcon; + +public class BlockHadronCooler extends BlockMulti implements ITooltipProvider { + + private IIcon[] icons = new IIcon[getSubCount()]; + + public BlockHadronCooler(Material mat) { + super(mat); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + icons[0] = reg.registerIcon(RefStrings.MODID + ":hadron_cooler"); + icons[1] = reg.registerIcon(RefStrings.MODID + ":hadron_cooler_mk2"); + } + + @Override + @SideOnly(Side.CLIENT) + public IIcon getIcon(int side, int metadata) { + return icons[this.rectify(metadata)]; + } + + @Override + public int getSubCount() { + return 2; + } + + @Override + public String getUnlocalizedName(ItemStack stack) { + int meta = this.rectify(stack.getItemDamage()); + + if(meta == 1) return this.getUnlocalizedName() + "_mk2"; + + return this.getUnlocalizedName(); + } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + + if(Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) { + for(String s : I18nUtil.resolveKeyArray(this.getUnlocalizedName(stack) + ".desc")) list.add(EnumChatFormatting.YELLOW + s); + } else { + list.add(EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC +"Hold <" + + EnumChatFormatting.YELLOW + "" + EnumChatFormatting.ITALIC + "LSHIFT" + + EnumChatFormatting.DARK_GRAY + "" + EnumChatFormatting.ITALIC + "> to display more info"); + } + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUICounterTorch.java b/src/main/java/com/hbm/inventory/gui/GUICounterTorch.java index 0b02ddf1a..b4c4dd7b2 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICounterTorch.java +++ b/src/main/java/com/hbm/inventory/gui/GUICounterTorch.java @@ -91,7 +91,7 @@ public class GUICounterTorch extends GuiInfoContainer { protected void mouseClicked(int x, int y, int i) { super.mouseClicked(x, y, i); - /*for(int j = 0; j < 3; j++) this.frequency[j].mouseClicked(x, y, i); + for(int j = 0; j < 3; j++) this.frequency[j].mouseClicked(x, y, i); if(guiLeft + 193 <= x && guiLeft + 193 + 18 > x && guiTop + 8 < y && guiTop + 8 + 18 >= y) { @@ -107,13 +107,13 @@ public class GUICounterTorch extends GuiInfoContainer { for(int j = 0; j < 3; j++) data.setString("c" + j, this.frequency[j].getText()); PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, counter.xCoord, counter.yCoord, counter.zCoord)); - }*/ + } } @Override protected void drawGuiContainerForegroundLayer(int x, int y) { String name = I18nUtil.resolveKey(this.counter.getInventoryName()); - this.fontRendererObj.drawString(name, 184 / 2 - this.fontRendererObj.getStringWidth(name) / 2, this.guiTop + 6, 4210752); + this.fontRendererObj.drawString(name, 184 / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 4210752); this.fontRendererObj.drawString(I18n.format("container.inventory"), 16, this.ySize - 96 + 2, 4210752); } @@ -133,7 +133,7 @@ public class GUICounterTorch extends GuiInfoContainer { @Override protected void keyTyped(char c, int i) { - //for(int j = 0; j < 3; j++) if(this.frequency[j].textboxKeyTyped(c, i)) return; + for(int j = 0; j < 3; j++) if(this.frequency[j].textboxKeyTyped(c, i)) return; super.keyTyped(c, i); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java index 215f5d766..4b6d588c1 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java @@ -322,6 +322,8 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs int charge; int analysis; boolean isCheckExempt = false; + int cl0 = 0; + int cl1 = 0; boolean expired = false; @@ -375,6 +377,34 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs if(charge < 0) this.expire(EnumHadronState.ERROR_NO_CHARGE); + + if(cl0 > 0) cl0--; + if(cl1 > 0) cl1--; + } + + public void incrementCharge(Block block, int meta, int coilVal) { + + if(block == ModBlocks.hadron_cooler) { + if(meta == 0) cl0 += 10; + if(meta == 1) cl1 += 5; + } + + //not the best code ever made but it works, dammit + if(cl1 > 0) { + if(cl1 > 15) { + coilVal *= 0.90; + } else { + coilVal *= 1.25; + } + } else if(cl0 > 0) { + if(cl0 > 10) { + coilVal *= 0.75; + } else { + coilVal *= 1.10; + } + } + + this.momentum += coilVal; } } @@ -414,7 +444,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs if(block == ModBlocks.hadron_diode) p.isCheckExempt = true; - if(coilValue(worldObj.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ)) > 0) + if(isValidCoil(worldObj.getBlock(x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ))) p.isCheckExempt = true; } @@ -445,6 +475,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs 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) { @@ -479,11 +510,11 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs int coilVal = coilValue(block); //not a valid coil: kablam! - if(coilVal == 0) { + if(!isValidCoil(block)) { p.expire(EnumHadronState.ERROR_EXPECTED_COIL); } else { - p.momentum += coilVal; p.charge -= coilVal; + p.incrementCharge(block, meta, coilVal); } continue; @@ -641,7 +672,7 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs return; //so, the next block is most certainly a wall. not good. perhaps we could try turning? - if(coilValue(next) > 0) { + if(isValidCoil(next)) { ForgeDirection validDir = ForgeDirection.UNKNOWN; @@ -692,6 +723,14 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs 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) diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index a76c6a773..44aa3dfe6 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -3884,6 +3884,8 @@ 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 diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 4f6bc3080..4ef3fcad3 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4759,6 +4759,10 @@ 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$Overcooling threshold: 15$Cooling bonus: +25%%$Overcooling penalty: -10%% tile.hadron_core.name=Particle Accelerator Core Component tile.hadron_diode.name=Schottky Particle Diode tile.hadron_plating.name=Particle Accelerator Plating 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 new file mode 100644 index 0000000000000000000000000000000000000000..63c994f68a9ecfe048f99cd97245bfa560fdc575 GIT binary patch literal 331 zcmV-R0kr;!P)xDEoC-=>p+(3p#@Tjj-09suVUY0(DzD`j9Umv#z zFNT*lR?C7ckF9r%QDeiXxZjfHF|%kx80{vVp3fZy*arYSUuhQWcV~?$#s;*yWU)Sk zSIYvxuHs{qIsVh*r}J@^$F#a+7H#P3)L{TrU#HH6naSf-etTA3l}J}5B10oxmB`J- zi5Rb|5_x@?+sDVKR`33C80|xiHzmUarby!(H#^(#pCb8~K!!$+mE`*F%m)0qNM`bX dDAJUsm~Y}8?L&b$H30ws002ovPDHLkV1kwFjF12T literal 0 HcmV?d00001 From 873e41558f43f7bfe69c99b7163d49e916e88bb7 Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 7 Jul 2023 09:20:32 +0200 Subject: [PATCH 247/285] and now for something completely different --- changelog | 5 + .../java/com/hbm/crafting/WeaponRecipes.java | 3 +- .../hbm/handler/guncfg/Gun12GaugeFactory.java | 66 + .../hbm/handler/guncfg/Gun20GaugeFactory.java | 108 - .../hbm/handler/guncfg/Gun762mmFactory.java | 127 + src/main/java/com/hbm/items/ModItems.java | 9 +- .../com/hbm/items/weapon/ItemGunBase.java | 3 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ResourceManager.java | 2 + .../render/item/weapon/ItemRenderBenelli.java | 115 + .../item/weapon/ItemRenderWeaponFFBolt.java | 3 + .../assets/hbm/models/weapons/benelli_new.obj | 5820 +++++++++++++++++ .../assets/hbm/textures/misc/scope_bolt.png | Bin 0 -> 8544 bytes .../textures/models/weapons/benelli_tex.png | Bin 0 -> 1499 bytes 14 files changed, 6148 insertions(+), 114 deletions(-) create mode 100644 src/main/java/com/hbm/render/item/weapon/ItemRenderBenelli.java create mode 100644 src/main/resources/assets/hbm/models/weapons/benelli_new.obj create mode 100644 src/main/resources/assets/hbm/textures/misc/scope_bolt.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/benelli_tex.png diff --git a/changelog b/changelog index d43d6b07f..13b15e13d 100644 --- a/changelog +++ b/changelog @@ -15,6 +15,8 @@ * Overcooling causes a penalty, so coolers cannot be spammed and need to be carefully spaced out * Allows for even more compact particle accelerator setups * Comes in two tiers, both tiers use a different cooling variable with different effectiveness, the higher tier will override the lower tier if both tiers of coolers are present +* Benelli M4 + * Automatic 12 gauge shotgun with a drum mag ## Changed * The regular boiler now only holds 16k instead of 64k (which is still a lot) @@ -22,6 +24,9 @@ * Glyphid eggs can now be broken apart using an anvil, yielding glyphid meat, bones and experience bottles * The assembler now uses the new multiblock system, making it less annoying to playe and less ear-piercing to break * The conversion happens automatically so it's not necessary to remove the assemblers beforehand +* Reload canceling is no longer possible if no rounds have been loaded yet, preventing single round weapons like dart guns to be reload canceled +* The saturnite rifle now has a functional scope +* Rechambered the bolt action rifles to 7.62mm, with a mag of 5 rounds ## Fixed * Fixed quantity of the fusion reactor's construction recipe not being displayed right diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index d1fd20064..e8c622861 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -2,7 +2,6 @@ package com.hbm.crafting; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.OreDictManager; -import com.hbm.inventory.RecipesCommon; import com.hbm.inventory.fluid.Fluids; import static com.hbm.inventory.OreDictManager.*; @@ -17,7 +16,6 @@ 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; /** * For guns, ammo and the like @@ -159,6 +157,7 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_spas12, 1), new Object[] { "TPS", "HHR", " L", 'T', ModItems.bolt_tungsten, 'P', STEEL.plate(), 'S', STEEL.ingot(), 'H', ModItems.hull_small_steel, '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', ModItems.hull_small_steel, 'A', ModItems.hull_small_aluminium, 'P', ModItems.ingot_polymer, 'M', ModItems.mechanism_rifle_2 }); //Ammo assemblies CraftingManager.addRecipeAuto(new ItemStack(ModItems.pellet_flechette, 1), new Object[] { " L ", " L ", "LLL", 'L', PB.nugget() }); diff --git a/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java index e5f851c48..f580db9e6 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java @@ -234,6 +234,72 @@ public class Gun12GaugeFactory { 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.autoshotgunFirePB3"; + config.reloadSound = "hbm:weapon.shotgunReloadPB3"; + config.reloadType = 2; + config.reloadSoundEnd = true; + + config.animations.put(AnimType.CYCLE, new BusAnimation() + .addBus("RECOIL", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(6.25, 0.25, 2.5, 55)) + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 55)) + ) + .addBus("EJECT", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 25)) + .addKeyframe(new BusAnimationKeyframe(25, 0, 0, 100)) + ) + ); + + config.animations.put(AnimType.RELOAD, new BusAnimation() + .addBus("RELOAD", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(60, 0, -10, 400)) + .addKeyframe(new BusAnimationKeyframe(60, 125, -10, 200)) + .addKeyframe(new BusAnimationKeyframe(60, 125, -10, 300)) + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 300)) + ) + .addBus("PUMP", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 900)) + .addKeyframe(new BusAnimationKeyframe(10, 0, 0, 200)) + .addKeyframe(new BusAnimationKeyframe()) + ) + ); + + 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 = 20; + config.reloadSound = config.RSOUND_MAG; + config.reloadSoundEnd = true; + config.name += "Drum"; + return config; + } public static BulletConfiguration get12GaugeConfig() { diff --git a/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java index 80f96b057..a985bf636 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun20GaugeFactory.java @@ -108,114 +108,6 @@ public class Gun20GaugeFactory { return config; } - public static GunConfiguration getBoltConfig() { - - GunConfiguration config = getShotgunConfig(); - - config.ammoCap = 1; - config.durability = 3000; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - config.firingSound = "hbm:weapon.revolverShoot"; - config.firingPitch = 0.75F; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) - ) - .addBus("LEVER_PULL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //wait out recoil and lever flick - .addKeyframe(new BusAnimationKeyframe(-1, 0, 0, 375)) //pull back bolt - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //release bolt - ) - .addBus("LEVER_ROTATE", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250)) //wait out recoil - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 125)) //flick up lever in 125ms - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 750)) //pull action - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 125)) //flick down lever again - ) - ); - - config.name = "win20Inox"; - config.manufacturer = EnumGunManufacturer.WINCHESTER; - - config.config = HbmCollection.g20; - - return config; - } - - public static GunConfiguration getBoltGreenConfig() { - - GunConfiguration config = getShotgunConfig(); - - config.ammoCap = 1; - config.durability = 2500; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - config.firingSound = "hbm:weapon.revolverShoot"; - config.firingPitch = 0.75F; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) - ) - .addBus("LEVER_PULL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //wait out recoil and lever flick - .addKeyframe(new BusAnimationKeyframe(-1, 0, 0, 375)) //pull back bolt - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //release bolt - ) - .addBus("LEVER_ROTATE", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250)) //wait out recoil - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 125)) //flick up lever in 125ms - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 750)) //pull action - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 125)) //flick down lever again - ) - ); - - config.name = "win20Poly"; - config.manufacturer = EnumGunManufacturer.WINCHESTER; - - config.config = HbmCollection.g20; - - return config; - } - - public static GunConfiguration getBoltSaturniteConfig() { - - GunConfiguration config = getShotgunConfig(); - - config.ammoCap = 1; - config.durability = 4000; - config.reloadSound = GunConfiguration.RSOUND_SHOTGUN; - config.firingSound = "hbm:weapon.revolverShoot"; - config.firingPitch = 0.75F; - - config.animations.put(AnimType.CYCLE, new BusAnimation() - .addBus("RECOIL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25)) - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) - ) - .addBus("LEVER_PULL", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //wait out recoil and lever flick - .addKeyframe(new BusAnimationKeyframe(-1, 0, 0, 375)) //pull back bolt - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //release bolt - ) - .addBus("LEVER_ROTATE", new BusAnimationSequence() - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250)) //wait out recoil - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 125)) //flick up lever in 125ms - .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 750)) //pull action - .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 125)) //flick down lever again - ) - ); - - config.name = "win20Satur"; - config.manufacturer = EnumGunManufacturer.WINCHESTER_BIGMT; - - config.config = HbmCollection.g20; - - return config; - } - public static BulletConfiguration get20GaugeConfig() { BulletConfiguration bullet = BulletConfigFactory.standardBuckshotConfig(); diff --git a/src/main/java/com/hbm/handler/guncfg/Gun762mmFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun762mmFactory.java index d5da7444f..4dec2a175 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun762mmFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun762mmFactory.java @@ -9,6 +9,7 @@ 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; @@ -20,14 +21,19 @@ 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); } @@ -157,6 +163,127 @@ public class Gun762mmFactory { 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() + .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25)) + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) + ) + .addBus("LEVER_PULL", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //wait out recoil and lever flick + .addKeyframe(new BusAnimationKeyframe(-1, 0, 0, 375)) //pull back bolt + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //release bolt + ) + .addBus("LEVER_ROTATE", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250)) //wait out recoil + .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 125)) //flick up lever in 125ms + .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 750)) //pull action + .addKeyframe(new BusAnimationKeyframe(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() + .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25)) + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) + ) + .addBus("LEVER_PULL", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //wait out recoil and lever flick + .addKeyframe(new BusAnimationKeyframe(-1, 0, 0, 375)) //pull back bolt + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //release bolt + ) + .addBus("LEVER_ROTATE", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250)) //wait out recoil + .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 125)) //flick up lever in 125ms + .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 750)) //pull action + .addKeyframe(new BusAnimationKeyframe(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() + .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 25)) + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 75)) + ) + .addBus("LEVER_PULL", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //wait out recoil and lever flick + .addKeyframe(new BusAnimationKeyframe(-1, 0, 0, 375)) //pull back bolt + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 375)) //release bolt + ) + .addBus("LEVER_ROTATE", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 250)) //wait out recoil + .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 125)) //flick up lever in 125ms + .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 750)) //pull action + .addKeyframe(new BusAnimationKeyframe(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(); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 4ed72c5e5..b5665f08c 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1560,6 +1560,7 @@ public class ModItems { 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; @@ -4183,15 +4184,16 @@ public class ModItems { 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(Gun20GaugeFactory.getBoltConfig()).setUnlocalizedName("gun_bolt_action").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolt_action"); - gun_bolt_action_green = new ItemGunBase(Gun20GaugeFactory.getBoltGreenConfig()).setUnlocalizedName("gun_bolt_action_green").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolt_action_green"); - gun_bolt_action_saturnite = new ItemGunBase(Gun20GaugeFactory.getBoltSaturniteConfig()).setUnlocalizedName("gun_bolt_action_saturnite").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_bolt_action_saturnite"); + 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"); @@ -7004,6 +7006,7 @@ public class ModItems { 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()); diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBase.java b/src/main/java/com/hbm/items/weapon/ItemGunBase.java index 065dcf6f4..c6b2625ef 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunBase.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunBase.java @@ -164,7 +164,8 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu //whether or not the gun can shoot in its current state protected boolean tryShoot(ItemStack stack, World world, EntityPlayer player, boolean main) { - if(getIsReloading(stack) && mainConfig.reloadType == mainConfig.RELOAD_SINGLE) { + //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 == mainConfig.RELOAD_SINGLE && this.getMag(stack) > 0) { setReloadCycle(stack, 0); setIsReloading(stack, false); } diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 115ca0e3b..8218dae86 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -520,6 +520,7 @@ public class ClientProxy extends ServerProxy { 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()); //multitool MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool()); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 66c71bfca..582b5609c 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -749,6 +749,7 @@ public class ResourceManager { public static final IModelCustom m2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/m2_browning.obj")).asDisplayList(); //large fella should be a display list public static final IModelCustom lunatic_sniper = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lunatic_sniper.obj")).asDisplayList(); 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")); public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj")); @@ -839,6 +840,7 @@ public class ResourceManager { 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 lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png"); diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderBenelli.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderBenelli.java new file mode 100644 index 000000000..ed17d1955 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderBenelli.java @@ -0,0 +1,115 @@ +package com.hbm.render.item.weapon; + +import org.lwjgl.opengl.GL11; + +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 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); + } + + static final String body = "Body.001_Cube.001"; + static final String frontGrip = "Pump_Cylinder.003"; + static final String slide = "Cylinder"; + static final String barrelAndTube = "Body_Cube.002"; + + @Override + public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + int magSize = ItemGunBase.getMag(item); + 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; + + double[] recoil = HbmAnimations.getRelevantTransformation("RECOIL"); + double[] feedNew = HbmAnimations.getRelevantTransformation("PUMP"); + + 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(30.0F, 1.0F, 0.0F, 0.0F); + GL11.glTranslatef(0.0F, -1F, -2.5F); + } + GL11.glScalef(scale1, scale1, scale1); + // Move on recoil + GL11.glTranslated(0, recoil[1], recoil[2]); + GL11.glRotated(recoil[0], 1, 0, 0); + // Move up for reload + GL11.glPushMatrix(); + ResourceManager.benelli.renderAll(); + // Pump new round if empty + if (magSize == 0) + GL11.glTranslated(feedNew[0], feedNew[1], feedNew[2]); + ResourceManager.benelli.renderPart(slide); + GL11.glPopMatrix(); + // Eject spent shell + GL11.glPushMatrix(); + GL11.glPopMatrix(); + break; + case EQUIPPED:// In hand from other's POV + GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); + GL11.glRotatef(-50.0F, 0.0F, 1.0F, 0.0F); + GL11.glRotatef(90.0F, 0.0F, 0.0F, 1.0F); + GL11.glTranslatef(-0.0F, -0.2F, -1.28F); + GL11.glRotated(recoil[0], 1, 0, 0); + 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/ItemRenderWeaponFFBolt.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFBolt.java index 4573ea079..b88c87063 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFBolt.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFBolt.java @@ -2,6 +2,7 @@ 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; @@ -41,6 +42,8 @@ public class ItemRenderWeaponFFBolt implements IItemRenderer { @Override public void renderItem(ItemRenderType type, ItemStack item, Object... data) { + if(item.getItem() == ModItems.gun_bolt_action_saturnite && Minecraft.getMinecraft().thePlayer.isSneaking()) return; + GL11.glPushMatrix(); GL11.glEnable(GL11.GL_CULL_FACE); diff --git a/src/main/resources/assets/hbm/models/weapons/benelli_new.obj b/src/main/resources/assets/hbm/models/weapons/benelli_new.obj new file mode 100644 index 000000000..72a534e35 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/benelli_new.obj @@ -0,0 +1,5820 @@ +# Blender v2.82 (sub 7) OBJ File: 'Benelli.blend' +# www.blender.org +mtllib benelli_new.mtl +o Shell_Cylinder.002 +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 +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 +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 +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 8/8/3 5/5/3 +f 9/9/4 10/10/4 8/8/4 +f 11/11/5 12/12/5 10/10/5 +f 13/13/6 3/3/6 12/12/6 +f 14/14/7 15/15/7 2/16/7 +f 16/17/8 6/6/8 15/15/8 +f 10/18/9 12/19/9 3/20/9 +f 14/21/10 17/22/10 16/23/10 +f 16/23/11 18/24/11 4/25/11 +f 7/26/12 18/27/12 19/28/12 +f 9/29/13 19/30/13 20/31/13 +f 9/29/14 21/32/14 11/33/14 +f 11/33/15 22/34/15 13/35/15 +f 1/36/16 22/37/16 23/38/16 +f 14/39/17 23/40/17 24/41/17 +f 22/42/18 20/43/18 18/44/18 +f 1/1/1 14/45/1 2/2/1 +f 4/4/2 7/7/2 5/5/2 +f 7/7/3 9/9/3 8/8/3 +f 9/9/4 11/11/4 10/10/4 +f 11/11/5 13/13/5 12/12/5 +f 13/13/6 1/1/6 3/3/6 +f 14/14/7 16/17/7 15/15/7 +f 16/17/8 4/4/8 6/6/8 +f 3/20/9 2/46/9 5/47/9 +f 2/46/9 15/48/9 5/47/9 +f 15/48/9 6/49/9 5/47/9 +f 5/47/9 8/50/9 3/20/9 +f 8/50/9 10/18/9 3/20/9 +f 14/21/10 24/51/10 17/22/10 +f 16/23/11 17/52/11 18/24/11 +f 7/26/12 4/25/12 18/27/12 +f 9/29/13 7/26/13 19/30/13 +f 9/29/14 20/53/14 21/32/14 +f 11/33/15 21/54/15 22/34/15 +f 1/36/16 13/35/16 22/37/16 +f 14/39/17 1/36/17 23/40/17 +f 18/44/18 17/55/18 24/56/18 +f 24/56/18 23/57/18 22/42/18 +f 22/42/18 21/58/18 20/43/18 +f 20/43/18 19/59/18 18/44/18 +f 18/44/18 24/56/18 22/42/18 +o Slide_Cylinder +v 1.272063 1.594606 -0.244676 +v 1.272063 1.368420 -0.338365 +v 1.272063 1.462109 -0.564550 +v 0.647653 0.965039 -0.742828 +v 0.711569 1.012017 5.211916 +v 0.647653 0.965039 5.211916 +v 0.711569 1.012017 -0.742828 +v 0.770475 1.088305 5.211916 +v 0.770475 1.088305 -0.742828 +v 0.822106 1.190971 5.211916 +v 0.822106 1.190971 -0.742828 +v 0.864478 1.316070 5.211916 +v 0.921900 1.774713 -0.742828 +v 0.915353 1.918690 3.212208 +v 0.921900 1.774713 3.711916 +v 0.915353 1.935767 -0.742828 +v 0.895964 2.073555 3.212208 +v 0.895964 2.090632 -0.742828 +v 0.864478 2.216279 3.212208 +v 0.864478 2.233356 -0.742828 +v 0.822106 2.341378 3.212208 +v 0.822106 2.358455 -0.742828 +v 0.770475 2.444044 3.212208 +v 0.770475 2.461121 -0.742828 +v 0.711569 2.520332 3.212208 +v 0.711569 2.537409 -0.742828 +v 0.647653 2.567310 3.212208 +v 0.904673 1.528358 -0.577728 +v 1.272063 1.494584 -0.574402 +v 0.900445 1.494584 -0.574402 +v 0.896379 1.462109 -0.564550 +v 1.272063 1.432180 -0.548553 +v 0.890093 1.432180 -0.548553 +v 0.895964 1.458794 -0.562778 +v 1.272063 1.405947 -0.527024 +v 0.884306 1.405947 -0.527024 +v 1.272063 1.384418 -0.500791 +v 0.879556 1.384418 -0.500791 +v 1.272063 1.368420 -0.470861 +v 0.876027 1.368420 -0.470861 +v 1.272063 1.358569 -0.438386 +v 0.873854 1.358569 -0.438386 +v 1.272063 1.355243 -0.404613 +v 0.873120 1.355243 -0.404613 +v 0.873854 1.358569 -0.370840 +v 1.272063 1.358569 -0.370840 +v 0.876027 1.368420 -0.338365 +v 0.879556 1.384418 -0.308436 +v 1.272063 1.384418 -0.308436 +v 0.884306 1.405947 -0.282203 +v 1.272063 1.405947 -0.282203 +v 0.890093 1.432180 -0.260674 +v 1.272063 1.432180 -0.260674 +v 0.896379 1.462109 -0.244676 +v 0.895964 1.458794 -0.246449 +v 1.272063 1.462109 -0.244676 +v 0.900445 1.494585 -0.234825 +v 1.272063 1.494585 -0.234825 +v 0.904673 1.528358 -0.231499 +v 1.272063 1.528358 -0.231499 +v 0.908902 1.562131 -0.234825 +v 1.272063 1.562131 -0.234825 +v 0.912967 1.594606 -0.244676 +v 1.272063 1.624535 -0.260674 +v 0.915795 1.624535 -0.260674 +v 0.915353 1.613659 -0.254860 +v 0.916861 1.650768 -0.282203 +v 1.272063 1.650768 -0.282203 +v 0.917736 1.672297 -0.308436 +v 1.272063 1.672297 -0.308436 +v 0.918387 1.688295 -0.338366 +v 1.272063 1.688295 -0.338366 +v 0.918787 1.698146 -0.370841 +v 1.272063 1.698146 -0.370841 +v 0.918922 1.701472 -0.404613 +v 1.272063 1.698146 -0.438387 +v 0.918787 1.698146 -0.438387 +v 1.272063 1.688294 -0.470862 +v 0.918387 1.688294 -0.470862 +v 1.272063 1.672297 -0.500791 +v 0.917736 1.672297 -0.500791 +v 1.272063 1.650768 -0.527024 +v 0.916861 1.650768 -0.527024 +v 1.272063 1.624535 -0.548553 +v 0.915795 1.624535 -0.548553 +v 1.272063 1.594605 -0.564551 +v 0.912967 1.594605 -0.564551 +v 0.915353 1.613659 -0.554366 +v 1.272063 1.562130 -0.574402 +v 0.908902 1.562130 -0.574402 +v 1.272063 1.528358 -0.577728 +v 0.864478 1.316070 -0.742828 +v 0.895964 1.458794 5.211916 +v 0.915353 1.613659 -0.742828 +v 1.272063 1.701472 -0.404613 +v 0.647653 2.584387 -0.742828 +v 0.895964 1.458794 -0.742828 +v 0.915353 1.613659 5.211916 +v 0.581182 2.600249 -0.742828 +v 0.581182 2.583172 3.212208 +v 0.581182 0.949177 -0.742828 +v 0.581182 0.949177 5.211916 +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 +vn 1.0000 0.0000 0.0000 +vn 0.5922 -0.8058 -0.0000 +vn 0.7915 -0.6112 -0.0000 +vn 0.8934 -0.4493 -0.0000 +vn 0.9471 -0.3208 -0.0000 +vn 0.9992 0.0407 0.0002 +vn 0.9990 0.0454 0.0000 +vn 0.9923 0.1242 0.0005 +vn 0.9765 0.2154 0.0009 +vn 0.9471 0.3208 0.0014 +vn 0.8934 0.4493 0.0019 +vn 0.7915 0.6112 0.0026 +vn 0.5922 0.8058 0.0035 +vn 0.0000 -0.0980 -0.9952 +vn 0.0000 -0.2903 -0.9569 +vn -0.0000 -0.4714 -0.8819 +vn 0.0000 -0.6344 -0.7730 +vn 0.0000 -0.7730 -0.6344 +vn 0.0000 -0.8819 -0.4714 +vn 0.0000 -0.9569 -0.2903 +vn 0.0000 -0.9952 -0.0980 +vn 0.0000 -0.9952 0.0980 +vn 0.0000 -0.9569 0.2903 +vn 0.0000 -0.8819 0.4714 +vn 0.0000 -0.7730 0.6344 +vn 0.0000 -0.6344 0.7730 +vn -0.0000 -0.4714 0.8819 +vn -0.0000 -0.4716 0.8818 +vn -0.0000 -0.4715 0.8819 +vn 0.0000 -0.2903 0.9569 +vn 0.0000 -0.0980 0.9952 +vn 0.0000 0.0980 0.9952 +vn 0.0000 0.2903 0.9569 +vn 0.0000 0.4714 0.8819 +vn 0.0000 0.6344 0.7730 +vn 0.0000 0.7730 0.6344 +vn 0.0000 0.8819 0.4714 +vn 0.0000 0.9569 0.2903 +vn 0.0000 0.9952 0.0980 +vn 0.0000 0.9952 -0.0980 +vn 0.0000 0.9569 -0.2903 +vn 0.0000 0.8819 -0.4714 +vn 0.0000 0.7730 -0.6344 +vn 0.0000 0.6344 -0.7730 +vn -0.0000 0.4714 -0.8819 +vn 0.0000 0.2903 -0.9569 +vn 0.0000 0.0980 -0.9952 +vn 0.9765 -0.2154 -0.0000 +vn 0.9766 -0.2150 -0.0000 +vn 0.9923 -0.1242 0.0000 +vn 0.9923 -0.1243 -0.0000 +vn 0.9992 -0.0406 0.0000 +vn 0.9992 -0.0407 -0.0000 +vn 0.9992 0.0406 0.0002 +vn 0.9765 -0.2155 0.0000 +usemtl Material.001 +s 1 +f 25/60/19 26/61/19 27/62/19 +f 28/63/20 29/64/20 30/65/20 +f 31/66/21 32/67/21 29/64/21 +f 33/68/22 34/69/22 32/67/22 +f 35/70/23 36/71/23 34/69/23 +f 37/72/24 38/73/25 39/74/25 +f 40/75/26 41/76/26 38/73/26 +f 42/77/27 43/78/27 41/76/27 +f 44/79/28 45/80/28 43/78/28 +f 46/81/29 47/82/29 45/80/29 +f 48/83/30 49/84/30 47/82/30 +f 50/85/31 51/86/31 49/84/31 +f 52/87/32 53/88/32 54/89/32 +f 54/89/33 27/90/33 55/91/33 +f 56/92/34 57/93/34 58/94/34 +f 57/93/35 59/95/35 60/96/35 +f 60/96/36 61/97/36 62/98/36 +f 62/98/37 63/99/37 64/100/37 +f 64/100/38 65/101/38 66/102/38 +f 66/102/39 67/103/39 68/104/39 +f 67/103/40 69/105/40 68/104/40 +f 70/106/41 71/107/41 69/105/41 +f 26/108/42 72/109/42 71/107/42 +f 73/110/43 74/111/43 72/109/43 +f 75/112/44 76/113/44 74/111/44 +f 77/114/45 78/115/46 79/116/47 +f 80/117/48 81/118/48 78/115/48 +f 82/119/49 83/120/49 81/118/49 +f 84/121/50 85/122/50 83/120/50 +f 86/123/51 87/124/51 85/122/51 +f 88/125/52 89/126/52 90/127/52 +f 88/125/53 91/128/53 89/126/53 +f 92/129/54 93/130/54 91/128/54 +f 94/131/55 95/132/55 93/130/55 +f 96/133/56 97/134/56 95/132/56 +f 98/135/57 99/136/57 97/134/57 +f 99/136/58 100/137/58 101/138/58 +f 101/138/59 102/139/59 103/140/59 +f 103/140/60 104/141/60 105/142/60 +f 105/142/61 106/143/61 107/144/61 +f 107/144/62 108/145/62 109/146/62 +f 110/147/63 111/148/63 112/149/63 +f 111/148/64 113/150/64 114/151/64 +f 114/151/65 115/152/65 52/153/65 +f 116/154/66 68/155/67 69/156/66 +f 117/157/68 81/158/68 83/159/68 +f 118/160/68 114/161/68 52/162/69 +f 37/72/70 99/163/71 101/164/70 +f 27/62/19 53/165/19 115/166/19 +f 115/166/19 113/167/19 110/168/19 +f 110/168/19 108/169/19 102/170/19 +f 108/169/19 106/171/19 102/170/19 +f 106/171/19 104/172/19 102/170/19 +f 102/170/19 100/173/19 119/174/19 +f 119/174/19 98/175/19 96/176/19 +f 96/176/19 94/177/19 92/178/19 +f 92/178/19 88/179/19 25/60/19 +f 25/60/19 86/180/19 84/181/19 +f 84/181/19 82/182/19 80/183/19 +f 80/183/19 77/184/19 26/61/19 +f 77/184/19 75/185/19 26/61/19 +f 75/185/19 73/186/19 26/61/19 +f 26/61/19 70/187/19 67/188/19 +f 67/188/19 65/189/19 63/190/19 +f 63/190/19 61/191/19 27/62/19 +f 61/191/19 59/192/19 27/62/19 +f 59/192/19 56/193/19 27/62/19 +f 27/62/19 115/166/19 102/170/19 +f 115/166/19 110/168/19 102/170/19 +f 102/170/19 119/174/19 96/176/19 +f 96/176/19 92/178/19 102/170/19 +f 92/178/19 25/60/19 102/170/19 +f 25/60/19 84/181/19 26/61/19 +f 84/181/19 80/183/19 26/61/19 +f 26/61/19 67/188/19 27/62/19 +f 67/188/19 63/190/19 27/62/19 +f 27/62/19 102/170/19 25/60/19 +f 28/63/20 31/66/20 29/64/20 +f 31/66/21 33/68/21 32/67/21 +f 33/68/22 35/70/22 34/69/22 +f 35/70/23 116/154/23 36/71/23 +f 37/72/24 40/75/72 38/73/25 +f 40/75/26 42/77/26 41/76/26 +f 42/77/27 44/79/27 43/78/27 +f 44/79/28 46/81/28 45/80/28 +f 46/81/29 48/83/29 47/82/29 +f 48/83/30 50/85/30 49/84/30 +f 50/85/31 120/194/31 51/86/31 +f 52/87/32 115/195/32 53/88/32 +f 54/89/33 53/88/33 27/90/33 +f 58/94/34 55/91/34 56/92/34 +f 55/91/34 27/90/34 56/92/34 +f 57/93/35 56/92/35 59/95/35 +f 60/96/36 59/95/36 61/97/36 +f 62/98/37 61/97/37 63/99/37 +f 64/100/38 63/99/38 65/101/38 +f 66/102/39 65/101/39 67/103/39 +f 67/103/40 70/106/40 69/105/40 +f 70/106/41 26/108/41 71/107/41 +f 26/108/42 73/110/42 72/109/42 +f 73/110/43 75/112/43 74/111/43 +f 75/112/44 77/114/44 76/113/44 +f 79/116/47 76/113/45 77/114/45 +f 77/114/45 80/117/45 78/115/46 +f 80/117/48 82/119/48 81/118/48 +f 82/119/49 84/121/49 83/120/49 +f 84/121/50 86/123/50 85/122/50 +f 86/123/51 25/196/51 87/124/51 +f 90/127/52 87/124/52 25/196/52 +f 25/196/52 88/125/52 90/127/52 +f 88/125/53 92/129/53 91/128/53 +f 92/129/54 94/131/54 93/130/54 +f 94/131/55 96/133/55 95/132/55 +f 96/133/56 98/135/56 97/134/56 +f 98/135/57 119/197/57 99/136/57 +f 99/136/58 119/197/58 100/137/58 +f 101/138/59 100/137/59 102/139/59 +f 103/140/60 102/139/60 104/141/60 +f 105/142/61 104/141/61 106/143/61 +f 107/144/62 106/143/62 108/145/62 +f 112/149/63 109/146/63 108/145/63 +f 108/145/63 110/147/63 112/149/63 +f 111/148/64 110/147/64 113/150/64 +f 114/151/65 113/150/65 115/152/65 +f 76/198/66 79/199/66 36/71/66 +f 79/199/66 117/157/66 36/71/66 +f 36/71/66 116/154/66 69/156/66 +f 116/154/66 121/200/66 57/201/66 +f 121/200/66 58/202/66 57/201/66 +f 74/203/66 76/198/66 36/71/66 +f 72/204/66 74/203/66 36/71/66 +f 116/154/66 57/201/66 60/205/66 +f 116/154/66 60/205/66 62/206/66 +f 71/207/66 72/204/66 36/71/66 +f 69/156/66 71/207/66 36/71/66 +f 116/154/66 62/206/66 64/208/66 +f 116/154/66 64/208/66 66/209/73 +f 116/154/66 66/209/73 68/155/67 +f 87/210/68 90/211/69 122/212/68 +f 122/212/68 117/157/68 83/159/69 +f 117/157/68 79/199/68 78/213/68 +f 117/157/68 78/213/68 81/158/68 +f 85/214/68 87/210/68 122/212/68 +f 83/159/69 85/214/68 122/212/68 +f 55/215/68 58/202/68 121/200/68 +f 121/200/68 118/160/68 52/162/68 +f 118/160/68 112/216/68 111/217/68 +f 118/160/68 111/217/68 114/161/68 +f 54/218/68 55/215/68 121/200/68 +f 52/162/68 54/218/68 121/200/68 +f 109/219/70 112/216/70 118/160/70 +f 37/72/70 39/74/70 97/220/70 +f 39/74/70 122/212/70 90/211/70 +f 37/72/70 97/220/70 99/163/71 +f 90/211/70 89/221/70 39/74/70 +f 89/221/70 91/222/70 39/74/70 +f 109/219/70 118/160/70 37/72/70 +f 107/223/70 109/219/70 37/72/70 +f 91/222/70 93/224/70 39/74/70 +f 93/224/70 95/225/70 39/74/70 +f 105/226/70 107/223/70 37/72/70 +f 103/227/70 105/226/70 37/72/70 +f 95/225/70 97/220/70 39/74/70 +f 101/164/70 103/227/70 37/72/70 +l 126 30 +l 28 125 +l 51 124 +l 123 120 +o Cube.007_Cube.012 +v -0.749291 3.198776 0.999861 +v -0.925561 3.198776 0.999861 +v -0.749291 3.375046 0.999861 +v -0.925561 3.198776 1.249144 +v 0.748885 3.197617 0.999051 +v 0.748885 3.373887 0.999051 +v 0.925155 3.197617 0.999051 +v 0.925155 3.197617 1.248335 +v 0.748885 3.373887 1.248335 +v 0.748885 3.197617 1.248335 +v -0.749291 3.375046 1.249144 +v -0.750000 3.200001 1.250000 +v -0.749291 3.198776 1.249144 +v 0.748869 3.197661 -1.749421 +v 0.925138 3.197661 -1.749422 +v 0.748868 3.021391 -1.749422 +v 0.748869 3.021390 3.750661 +v 0.925139 3.197660 3.750661 +v 0.748869 3.197660 3.750661 +v -0.749187 3.199502 -1.749413 +v -0.749187 3.023233 -1.749413 +v -0.925457 3.199503 -1.749413 +v -0.925456 3.199502 3.750652 +v -0.749186 3.023232 3.750652 +v -0.749186 3.199502 3.750652 +v -0.749291 3.198776 3.499861 +v -0.925561 3.198776 3.499861 +v -0.749291 3.375046 3.499861 +v -0.925561 3.198776 3.749144 +v 0.748885 3.197617 3.499051 +v 0.748885 3.373887 3.499051 +v 0.925155 3.197617 3.499051 +v 0.925155 3.197617 3.748335 +v 0.748885 3.373887 3.748335 +v 0.748885 3.197617 3.748335 +v -0.749291 3.375046 3.749144 +v -0.750000 3.200001 3.750000 +v -0.749291 3.198776 3.749144 +v -0.749291 3.198776 2.999861 +v -0.925561 3.198776 2.999861 +v -0.749291 3.375046 2.999861 +v -0.925561 3.198776 3.249144 +v 0.748885 3.197617 2.999051 +v 0.748885 3.373887 2.999051 +v 0.925155 3.197617 2.999051 +v 0.925155 3.197617 3.248334 +v 0.748885 3.373887 3.248334 +v 0.748885 3.197617 3.248334 +v -0.749291 3.375046 3.249144 +v -0.750000 3.200001 3.250000 +v -0.749291 3.198776 3.249144 +v -0.749291 3.198776 2.499861 +v -0.925561 3.198776 2.499861 +v -0.749291 3.375046 2.499861 +v -0.925561 3.198776 2.749144 +v 0.748885 3.197617 2.499051 +v 0.748885 3.373887 2.499051 +v 0.925155 3.197617 2.499051 +v 0.925155 3.197617 2.748335 +v 0.748885 3.373887 2.748335 +v 0.748885 3.197617 2.748335 +v -0.749291 3.375046 2.749144 +v -0.750000 3.200001 2.750000 +v -0.749291 3.198776 2.749144 +v -0.749291 3.198776 1.999861 +v -0.925561 3.198776 1.999861 +v -0.749291 3.375046 1.999861 +v -0.925561 3.198776 2.249144 +v 0.748885 3.197617 1.999051 +v 0.748885 3.373887 1.999051 +v 0.925155 3.197617 1.999051 +v 0.925155 3.197617 2.248335 +v 0.748885 3.373887 2.248335 +v 0.748885 3.197617 2.248335 +v -0.749291 3.375046 2.249144 +v -0.750000 3.200001 2.250000 +v -0.749291 3.198776 2.249144 +v -0.749291 3.198776 1.499861 +v -0.925561 3.198776 1.499861 +v -0.749291 3.375046 1.499861 +v -0.925561 3.198776 1.749144 +v 0.748885 3.197617 1.499051 +v 0.748885 3.373887 1.499051 +v 0.925155 3.197617 1.499051 +v 0.925155 3.197617 1.748335 +v 0.748885 3.373887 1.748335 +v 0.748885 3.197617 1.748335 +v -0.749291 3.375046 1.749144 +v -0.750000 3.200001 1.750000 +v -0.749291 3.198776 1.749144 +v -0.749291 3.198776 0.499861 +v -0.925561 3.198776 0.499861 +v -0.749291 3.375046 0.499861 +v -0.925561 3.198776 0.749144 +v 0.748885 3.197617 0.499051 +v 0.748885 3.373887 0.499051 +v 0.925155 3.197617 0.499051 +v 0.925155 3.197617 0.748335 +v 0.748885 3.373887 0.748335 +v 0.748885 3.197617 0.748335 +v -0.749291 3.375046 0.749144 +v -0.750000 3.200001 0.750000 +v -0.749291 3.198776 0.749144 +v -0.749291 3.198776 -0.000139 +v -0.925561 3.198776 -0.000139 +v -0.749291 3.375046 -0.000139 +v -0.925561 3.198776 0.249144 +v 0.748885 3.197617 -0.000949 +v 0.748885 3.373887 -0.000949 +v 0.925155 3.197617 -0.000949 +v 0.925155 3.197617 0.248335 +v 0.748885 3.373887 0.248335 +v 0.748885 3.197617 0.248335 +v -0.749291 3.375046 0.249144 +v -0.750000 3.200001 0.250000 +v -0.749291 3.198776 0.249144 +v -0.749291 3.198776 -0.500139 +v -0.925561 3.198776 -0.500139 +v -0.749291 3.375046 -0.500139 +v -0.925561 3.198776 -0.250856 +v 0.748885 3.197617 -0.500949 +v 0.748885 3.373887 -0.500949 +v 0.925155 3.197617 -0.500949 +v 0.925155 3.197617 -0.251665 +v 0.748885 3.373887 -0.251665 +v 0.748885 3.197617 -0.251665 +v -0.749291 3.375046 -0.250856 +v -0.750000 3.200001 -0.250000 +v -0.749291 3.198776 -0.250856 +v -0.749291 3.198776 -1.000139 +v -0.925561 3.198776 -1.000139 +v -0.749291 3.375046 -1.000139 +v -0.925561 3.198776 -0.750855 +v 0.748885 3.197617 -1.000948 +v 0.748885 3.373887 -1.000948 +v 0.925155 3.197617 -1.000948 +v 0.925155 3.197617 -0.751665 +v 0.748885 3.373887 -0.751665 +v 0.748885 3.197617 -0.751665 +v -0.749291 3.375046 -0.750855 +v -0.750000 3.200001 -0.749999 +v -0.749291 3.198776 -0.750855 +v -0.749291 3.198776 -1.500139 +v -0.925561 3.198776 -1.500139 +v -0.749291 3.375046 -1.500139 +v -0.925561 3.198776 -1.250856 +v 0.748885 3.197617 -1.500949 +v 0.748885 3.373887 -1.500949 +v 0.925155 3.197617 -1.500949 +v 0.925155 3.197617 -1.251665 +v 0.748885 3.373887 -1.251665 +v 0.748885 3.197617 -1.251665 +v -0.749291 3.375046 -1.250856 +v -0.750000 3.200001 -1.249999 +v -0.749291 3.198776 -1.250856 +v -0.749291 3.198776 -1.751088 +v -0.925561 3.198776 -1.751088 +v -0.749291 3.375046 -1.751088 +v -0.925561 3.198776 -1.501805 +v 0.748885 3.197617 -1.751898 +v 0.748885 3.373887 -1.751898 +v 0.925155 3.197617 -1.751898 +v 0.925155 3.197617 -1.502614 +v 0.748885 3.373887 -1.502614 +v 0.748885 3.197617 -1.502614 +v -0.749291 3.375046 -1.501805 +v -0.750000 3.200001 -1.500949 +v -0.749291 3.198776 -1.501805 +v -0.750000 1.350001 -10.700001 +v -0.692910 1.994416 -10.700001 +v 0.750000 1.350001 -10.700001 +v 0.692910 1.994415 -1.700001 +v 0.692910 1.994416 -10.700001 +v 0.750000 1.350000 -1.700001 +v 0.692910 1.005585 -10.700001 +v 0.692910 1.005584 -1.700001 +v 0.530330 0.713604 -10.700001 +v 0.530330 0.713604 -1.700001 +v 0.287013 0.518509 -10.700001 +v 0.287013 0.518508 -1.700001 +v 0.000000 0.450000 -10.700001 +v 0.000000 0.450000 -1.700001 +v -0.287012 0.518508 -10.700001 +v -0.287012 0.518508 -1.700001 +v -0.530330 0.713604 -10.700001 +v -0.530330 0.713603 -1.700001 +v -0.692910 1.005585 -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.629412 -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.629412 -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.850001 -10.700005 +v 0.129410 1.832965 -14.900005 +v 0.000000 1.850002 -14.900005 +v 0.129410 1.832963 -10.700005 +v 0.250000 1.783014 -14.900005 +v 0.250000 1.783013 -10.700005 +v 0.353553 1.703555 -14.900005 +v 0.353553 1.703553 -10.700005 +v 0.433013 1.600002 -14.900005 +v 0.433013 1.600001 -10.700005 +v 0.482963 1.479411 -14.900005 +v 0.482963 1.479409 -10.700005 +v 0.500000 1.350002 -14.900005 +v 0.500000 1.350001 -10.700005 +v 0.482963 1.220593 -14.900005 +v 0.482963 1.220591 -10.700005 +v 0.433013 1.100002 -14.900005 +v 0.433013 1.100001 -10.700005 +v 0.353554 0.996449 -14.900005 +v 0.353554 0.996448 -10.700005 +v 0.250000 0.916989 -14.900005 +v 0.250000 0.916987 -10.700005 +v 0.129410 0.867039 -14.900005 +v 0.129410 0.867037 -10.700005 +v 0.000000 0.850002 -14.900005 +v 0.000000 0.850001 -10.700005 +v -0.129409 0.867039 -14.900005 +v -0.129409 0.867037 -10.700005 +v -0.250000 0.916989 -14.900005 +v -0.250000 0.916987 -10.700005 +v -0.353553 0.996449 -14.900005 +v -0.353553 0.996446 -10.700005 +v -0.433013 1.100002 -14.900005 +v -0.433013 1.100001 -10.700005 +v -0.482963 1.220592 -14.900005 +v -0.482963 1.220590 -10.700005 +v -0.500000 1.350002 -14.900005 +v -0.500000 1.349999 -10.700005 +v -0.482963 1.479411 -14.900005 +v -0.482963 1.479409 -10.700005 +v -0.433013 1.600002 -14.900005 +v -0.433013 1.600001 -10.700005 +v -0.353554 1.703555 -14.900005 +v -0.353554 1.703553 -10.700005 +v -0.250000 1.783014 -14.900005 +v -0.250000 1.783013 -10.700005 +v -0.129410 1.832965 -14.900005 +v -0.129410 1.832963 -10.700005 +v 0.000000 2.880378 -19.500000 +v 0.303359 2.756257 -19.500000 +v 0.365776 2.674913 -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.243748 -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.243748 -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.674913 -19.500000 +v -0.303359 2.756257 -19.500000 +v -0.217115 2.822434 -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.755718 0.647394 5.837500 +v 0.755718 -2.527644 7.135499 +v -0.755718 -2.527644 7.135499 +v -0.755718 -0.180467 8.289835 +v -0.859447 -0.780915 8.274623 +v -0.755718 -0.780915 8.274623 +v -0.755718 -3.377863 7.013356 +v 0.755718 -3.377863 7.013356 +v -0.755718 -2.987607 8.437500 +v 0.755718 -2.987607 8.437500 +v 0.755718 -2.817606 9.400000 +v 0.755718 -2.464953 7.305608 +v 0.860460 -3.026299 7.224965 +v 0.755718 -3.026299 7.224965 +v -0.755718 -0.688223 8.418876 +v 0.755718 -0.688223 8.418876 +v 0.755718 0.185424 9.259533 +v -0.755718 0.582394 8.302500 +v -0.755718 0.185424 9.259533 +v -0.755718 -0.369988 8.426938 +v 0.755718 -0.369988 8.426938 +v 0.755718 0.582394 8.302500 +v -1.000000 2.933334 -1.071110 +v -1.000000 0.800000 -1.699999 +v -1.000000 0.780398 -0.913832 +v 1.000000 0.800000 -1.699999 +v 1.000000 2.933334 -1.699999 +v 1.000000 1.698309 -0.676977 +v 1.000000 2.933304 -1.071133 +v -1.000000 2.933334 -1.699999 +v 1.000000 0.650225 4.306945 +v -1.000000 0.550646 8.300697 +v -1.000000 0.650225 4.306945 +v 1.000000 0.550646 8.300697 +v -1.000000 -3.878246 18.970343 +v 1.000000 2.932952 6.299709 +v 1.000000 -3.878246 18.970343 +v -1.000000 0.817815 19.398920 +v 1.000000 1.917567 8.277368 +v 1.155736 2.325624 6.986647 +v 1.000000 2.325624 6.986647 +v -1.000000 2.237243 7.108925 +v -1.185947 2.308128 6.984412 +v -1.000000 2.308128 6.984412 +v 1.000000 2.123852 8.290171 +v -1.000000 2.123852 8.290171 +v -1.000000 2.933334 6.300001 +v 1.000000 2.527876 7.012211 +v -0.750000 3.200001 3.750000 +v -0.750000 2.900000 -1.750000 +v -0.750000 2.900000 3.750000 +v 0.750000 3.200001 -1.750000 +v 0.750000 2.900000 3.750000 +v 0.750000 2.900000 -1.750000 +v 0.750000 3.200001 3.750000 +v -0.750000 3.200001 -1.750000 +v -0.250000 0.652645 5.427117 +v 0.250000 0.640000 5.690244 +v 0.250000 0.652645 5.427117 +v -0.250000 0.256794 5.586637 +v 0.250000 -0.181354 5.410000 +v -0.250000 -0.181354 5.410000 +v -0.250000 -0.031450 5.624102 +v 0.250000 0.160424 5.735405 +v 0.250000 -0.031450 5.624102 +v 0.250000 0.405741 5.904014 +v 0.250000 0.256794 5.586637 +v -0.250000 0.640000 5.690244 +v 0.250000 0.606441 5.842027 +v -0.250000 0.405741 5.904014 +v -0.250000 0.160424 5.735405 +v -0.250000 0.606441 5.842027 +v -0.500000 0.660000 2.970000 +v 0.500000 0.660000 4.294731 +v 0.500000 0.660000 2.970000 +v 0.500000 0.324113 3.675095 +v -0.500000 0.324113 3.675095 +v -0.500000 0.660000 4.294731 +v 0.500000 0.509328 4.170000 +v -0.500000 -0.124560 4.074054 +v 0.500000 -0.124560 4.074054 +v -0.500000 0.346295 4.124543 +v 0.500000 0.346295 4.124543 +v 0.500000 0.069553 4.199328 +v -0.500000 0.069553 4.199328 +v -0.500000 -0.236114 4.310554 +v 0.500000 -0.146776 4.438249 +v -0.500000 -0.351705 5.529659 +v 0.500000 -0.322895 4.675695 +v 0.500000 -0.351705 5.529659 +v -0.500000 -0.322895 4.675695 +v 0.500000 -0.236114 4.310554 +v 0.500000 -0.262769 5.520746 +v -0.500000 -0.146776 4.438249 +v -0.500000 -0.262769 5.520746 +v -0.500000 -0.202867 5.844228 +v 0.500000 -0.202867 5.844228 +v 0.500000 -0.157875 5.763871 +v -0.500000 0.158226 6.022319 +v 0.500000 0.158226 6.022319 +v -0.500000 0.239107 5.983576 +v 0.500000 0.239107 5.983576 +v -0.500000 -0.157875 5.763871 +v -0.750000 2.930000 6.000000 +v -0.500000 3.441713 5.759016 +v -0.750000 3.441713 5.759016 +v 0.750000 3.441713 5.759016 +v 0.750000 2.930000 6.000000 +v 0.750000 3.523953 4.644016 +v 0.750000 2.930000 3.800829 +v 0.500000 2.930000 6.000000 +v 0.500000 2.930000 3.800829 +v 0.500000 3.427887 3.897640 +v -0.750000 3.830230 5.170968 +v -0.500000 3.823139 5.393547 +v -0.500000 3.830230 5.170968 +v 0.500000 3.523953 4.644016 +v -0.750000 3.523953 4.644016 +v 0.500000 3.823139 5.393547 +v 0.750000 3.823139 5.393547 +v 0.500000 3.830230 5.170968 +v 0.750000 3.830230 5.170968 +v -0.500000 3.523953 4.644016 +v -0.496667 3.427887 3.897640 +v -0.500000 3.427887 3.897640 +v -0.750000 3.427887 3.897640 +v -0.500000 2.930000 3.800829 +v -0.750000 2.930000 3.800829 +v -0.500000 2.930000 6.000000 +v 0.496667 2.930000 3.800829 +v -0.750000 3.823139 5.393547 +v 0.500000 3.441713 5.759016 +v -0.496667 2.930000 3.800829 +v -0.496667 3.523953 4.644016 +v -1.000000 -3.606866 18.872658 +v -1.000000 0.608681 19.257383 +v -1.000000 1.899714 8.276260 +v -1.000000 0.761976 8.347678 +v -1.000000 2.527876 7.012211 +v -1.185947 1.899714 8.276260 +v -1.185947 2.237243 7.108925 +v -1.185947 0.761976 8.347678 +v -1.185947 0.608681 19.257383 +v -1.185947 -3.606866 18.872658 +v 1.000000 2.293221 7.043643 +v 1.000000 -3.628482 18.880440 +v 1.000000 0.817815 19.398920 +v 1.000000 0.745147 8.343928 +v 1.000000 0.625338 19.268656 +v 1.155736 0.745147 8.343928 +v 1.155736 2.293221 7.043643 +v 1.155736 1.917567 8.277368 +v 1.155736 -3.628482 18.880440 +v 1.155736 0.625338 19.268656 +v -0.755718 0.375138 6.127107 +v -0.755718 -2.470537 7.290457 +v -0.755718 -3.057612 7.206118 +v -0.755718 -2.724833 8.420519 +v -0.755718 -2.602371 9.113867 +v -0.755718 -2.817606 9.400000 +v -0.755718 0.126025 8.749284 +v -0.755718 0.318211 8.285953 +v -0.859447 0.375138 6.127107 +v -0.859447 -2.470537 7.290457 +v -0.859447 -2.724833 8.420519 +v -0.859447 0.318211 8.285953 +v -0.859447 -0.180467 8.289835 +v -0.859447 -2.602371 9.113867 +v -0.859447 0.126025 8.749284 +v -0.859447 -3.057612 7.206118 +v 0.755718 0.348518 6.155423 +v 0.755718 0.292380 8.284335 +v 0.755718 0.647394 5.837500 +v 0.755718 -2.581326 9.085890 +v 0.755718 -2.699138 8.418859 +v 0.755718 0.120217 8.699394 +v 0.755718 -0.789979 8.260518 +v 0.755718 -0.161936 8.276430 +v 0.860460 -0.789979 8.260518 +v 0.860460 -2.699138 8.418859 +v 0.860460 -2.464953 7.305608 +v 0.860460 0.292380 8.284335 +v 0.860460 -0.161936 8.276430 +v 0.860460 -2.581326 9.085890 +v 0.860460 0.348518 6.155423 +v 0.860460 0.120217 8.699394 +v 1.000000 2.933104 3.105046 +v -1.000000 2.933334 3.105221 +v 1.000000 0.780398 -0.913832 +v 1.000000 1.335998 -0.650505 +v 0.788792 1.270460 2.926924 +v 1.000000 1.270460 2.928254 +v 1.000000 2.371172 -0.726139 +v 1.000000 2.370995 2.978774 +v 0.788792 1.698309 -0.676977 +v 0.788792 2.370995 2.978774 +v 0.788792 1.666737 2.926896 +v 0.988511 1.668191 5.137841 +v 0.777303 1.668191 5.136976 +v 0.788792 2.371172 -0.726139 +v 0.788792 1.335998 -0.650505 +v 1.000000 1.666737 2.927761 +v 0.777303 1.271914 5.137004 +v 0.988511 1.271914 5.138335 +v -0.500000 0.509328 4.170000 +v 0.750000 3.427887 3.897640 +v -0.496667 3.823139 5.393547 +v -0.496667 3.830230 5.170968 +v 0.212415 3.387585 5.190104 +v 0.249773 3.433107 5.409896 +v 0.212415 3.387585 5.409896 +v 0.249773 3.433107 5.190104 +v 0.277533 3.485042 5.409896 +v 0.277533 3.485042 5.190104 +v 0.294628 3.541395 5.409896 +v 0.294628 3.541395 5.190104 +v 0.300400 3.600000 5.409896 +v 0.300400 3.600000 5.190104 +v 0.294628 3.658605 5.409896 +v 0.294628 3.658605 5.190104 +v 0.277533 3.714958 5.409896 +v 0.277533 3.714958 5.190104 +v 0.249773 3.766893 5.409896 +v 0.249773 3.766893 5.190104 +v 0.212415 3.812415 5.409896 +v 0.212415 3.812415 5.190104 +v 0.166893 3.849773 5.409896 +v 0.166893 3.849773 5.190104 +v 0.114958 3.877533 5.409896 +v 0.114958 3.877533 5.190104 +v 0.058605 3.894628 5.409896 +v 0.058605 3.894628 5.190104 +v 0.000000 3.900400 5.409896 +v 0.000000 3.900400 5.190104 +v -0.058605 3.894628 5.409896 +v -0.058605 3.894628 5.190104 +v -0.114958 3.877533 5.409896 +v -0.114958 3.877533 5.190104 +v -0.166893 3.849773 5.409896 +v -0.166893 3.849773 5.190104 +v -0.212415 3.812415 5.409896 +v -0.212415 3.812415 5.190104 +v -0.249773 3.766893 5.409896 +v -0.249773 3.766893 5.190104 +v -0.277533 3.714958 5.409896 +v -0.277533 3.714958 5.190104 +v -0.294628 3.658605 5.409896 +v -0.294628 3.658605 5.190104 +v -0.300400 3.600000 5.409896 +v -0.300400 3.600000 5.190104 +v -0.294628 3.541395 5.409896 +v -0.294628 3.541395 5.190104 +v -0.277533 3.485042 5.409896 +v -0.277533 3.485042 5.190104 +v -0.249773 3.433107 5.409896 +v -0.249773 3.433107 5.190104 +v -0.212414 3.387585 5.409896 +v 0.146217 3.453784 5.190104 +v 0.171933 3.485118 5.410770 +v 0.171933 3.485118 5.190104 +v 0.202808 3.559659 5.190104 +v 0.191041 3.520868 5.190104 +v 0.206782 3.600000 5.190104 +v 0.202808 3.640341 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.771933 5.190104 +v 0.040341 3.802808 5.190104 +v 0.079132 3.791041 5.190104 +v 0.000000 3.806782 5.190104 +v -0.040341 3.802808 5.190104 +v -0.114882 3.771933 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.640341 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.520868 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.410770 +v 0.000000 3.393219 5.190104 +v -0.114882 3.771933 5.410770 +v 0.191041 3.520868 5.410770 +v -0.146217 3.746217 5.410770 +v 0.202808 3.559659 5.410770 +v -0.171933 3.714881 5.410770 +v 0.206782 3.600000 5.410770 +v -0.191041 3.679132 5.410770 +v 0.202808 3.640341 5.410770 +v -0.202808 3.640341 5.410770 +v 0.191041 3.679132 5.410770 +v -0.206781 3.600000 5.410770 +v 0.171933 3.714882 5.410770 +v -0.202808 3.559659 5.410770 +v 0.146217 3.746217 5.410770 +v -0.191041 3.520868 5.410770 +v 0.114882 3.771933 5.410770 +v -0.171932 3.485118 5.410770 +v 0.079132 3.791041 5.410770 +v 0.040341 3.397192 5.410770 +v 0.040341 3.397192 5.190104 +v -0.146216 3.453783 5.410770 +v -0.146216 3.453783 5.190104 +v 0.040341 3.802808 5.410770 +v 0.079132 3.408959 5.410770 +v 0.079132 3.408959 5.190104 +v -0.114881 3.428067 5.410770 +v -0.114881 3.428067 5.190104 +v 0.000000 3.806782 5.410770 +v 0.114882 3.428067 5.410770 +v 0.114882 3.428067 5.190104 +v -0.079132 3.408959 5.410770 +v -0.079132 3.408959 5.190104 +v -0.040341 3.802808 5.410770 +v 0.146217 3.453784 5.410770 +v -0.040341 3.397192 5.410770 +v -0.079132 3.791041 5.410770 +v 0.169977 3.486425 5.409896 +v 0.188868 3.521768 5.409896 +v 0.200501 3.560118 5.409896 +v 0.204429 3.600000 5.409896 +v 0.200501 3.639882 5.409896 +v 0.188868 3.678232 5.409896 +v 0.169977 3.713575 5.409896 +v 0.144553 3.744553 5.409896 +v 0.113575 3.769977 5.409896 +v 0.078232 3.788868 5.409896 +v 0.039882 3.800501 5.409896 +v 0.000000 3.804429 5.409896 +v -0.039882 3.800501 5.409896 +v -0.078232 3.788868 5.409896 +v -0.113575 3.769977 5.409896 +v -0.144553 3.744553 5.409896 +v -0.169977 3.713575 5.409896 +v -0.188868 3.678231 5.409896 +v -0.200501 3.639882 5.409896 +v -0.204429 3.600000 5.409896 +v -0.200501 3.560118 5.409896 +v -0.188868 3.521768 5.409896 +v -0.169977 3.486425 5.409896 +v -0.144553 3.455447 5.409896 +v -0.499854 3.387367 5.661843 +v -0.499854 2.912633 4.938158 +v -0.499854 2.912633 5.661843 +v -0.499854 3.387367 4.938158 +v 0.519854 2.912633 4.938158 +v 0.519854 3.387367 4.938158 +v 0.519854 2.912633 5.661843 +v 0.519854 3.387367 5.661843 +v 0.212149 3.387367 5.409896 +v 0.212149 3.387367 5.190104 +v -0.212149 3.387367 5.190104 +v -0.212149 3.387367 5.409896 +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.409896 +v 0.000000 3.387367 5.409896 +v 0.042295 3.387367 5.409896 +v 0.078232 3.411132 5.409896 +v 0.088076 3.387367 5.409896 +v 0.113575 3.430023 5.409896 +v 0.142077 3.387367 5.409896 +v 0.144553 3.455447 5.409896 +v -0.088075 3.387367 5.409896 +v -0.113575 3.430023 5.409896 +v -0.142076 3.387367 5.409896 +v -0.042295 3.387367 5.409896 +v -0.078231 3.411132 5.409896 +v -0.039882 3.399499 5.409896 +v 0.000000 3.395571 5.409896 +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 +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.470782 0.953868 +vt 0.470782 0.968169 +vt 0.443281 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.982469 +vt 0.443281 0.996769 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.996769 +vt 0.443281 0.996769 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.415970 0.982469 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.443281 0.953868 +vt 0.470782 0.953868 +vt 0.415793 0.982420 +vt 0.443281 0.939568 +vt 0.470782 0.939568 +vt 0.443281 0.939617 +vt 0.470782 0.953868 +vt 0.470782 0.968169 +vt 0.443281 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.982469 +vt 0.443281 0.996769 +vt 0.415780 0.968169 +vt 0.415780 0.982469 +vt 0.498282 0.968169 +vt 0.470782 0.953868 +vt 0.470782 0.968169 +vt 0.443281 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.982469 +vt 0.443281 0.996769 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.498282 0.968169 +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.470782 0.953868 +vt 0.470782 0.968169 +vt 0.443281 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.982469 +vt 0.443281 0.996769 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.996769 +vt 0.443281 0.996769 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.415970 0.982469 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.443281 0.953868 +vt 0.470782 0.953868 +vt 0.415793 0.982420 +vt 0.443281 0.939568 +vt 0.470782 0.939568 +vt 0.443281 0.939617 +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.470782 0.953868 +vt 0.470782 0.968169 +vt 0.443281 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.982469 +vt 0.443281 0.996769 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.996769 +vt 0.443281 0.996769 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.415970 0.982469 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.443281 0.953868 +vt 0.470782 0.953868 +vt 0.415793 0.982420 +vt 0.443281 0.939568 +vt 0.470782 0.939568 +vt 0.443281 0.939617 +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.470782 0.953868 +vt 0.470782 0.968169 +vt 0.443281 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.982469 +vt 0.443281 0.996769 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.996769 +vt 0.443281 0.996769 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.415970 0.982469 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.443281 0.953868 +vt 0.470782 0.953868 +vt 0.415793 0.982420 +vt 0.443281 0.939568 +vt 0.470782 0.939568 +vt 0.443281 0.939617 +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.470782 0.953868 +vt 0.470782 0.968169 +vt 0.443281 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.982469 +vt 0.443281 0.996769 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.996769 +vt 0.443281 0.996769 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.415970 0.982469 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.443281 0.953868 +vt 0.470782 0.953868 +vt 0.415793 0.982420 +vt 0.443281 0.939568 +vt 0.470782 0.939568 +vt 0.443281 0.939617 +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.470782 0.953868 +vt 0.470782 0.968169 +vt 0.443281 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.982469 +vt 0.443281 0.996769 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.996769 +vt 0.443281 0.996769 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.415970 0.982469 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.443281 0.953868 +vt 0.470782 0.953868 +vt 0.415793 0.982420 +vt 0.443281 0.939568 +vt 0.470782 0.939568 +vt 0.443281 0.939617 +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.470782 0.953868 +vt 0.470782 0.968169 +vt 0.443281 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.982469 +vt 0.443281 0.996769 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.996769 +vt 0.443281 0.996769 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.415970 0.982469 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.443281 0.953868 +vt 0.470782 0.953868 +vt 0.415793 0.982420 +vt 0.443281 0.939568 +vt 0.470782 0.939568 +vt 0.443281 0.939617 +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.470782 0.953868 +vt 0.470782 0.968169 +vt 0.443281 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.982469 +vt 0.443281 0.996769 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.996769 +vt 0.443281 0.996769 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.415970 0.982469 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.443281 0.953868 +vt 0.470782 0.953868 +vt 0.415793 0.982420 +vt 0.443281 0.939568 +vt 0.470782 0.939568 +vt 0.443281 0.939617 +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.470782 0.953868 +vt 0.470782 0.968169 +vt 0.443281 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.982469 +vt 0.443281 0.996769 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.996769 +vt 0.443281 0.996769 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.415970 0.982469 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.443281 0.953868 +vt 0.470782 0.953868 +vt 0.415793 0.982420 +vt 0.443281 0.939568 +vt 0.470782 0.939568 +vt 0.443281 0.939617 +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.470782 0.953868 +vt 0.470782 0.968169 +vt 0.443281 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.982469 +vt 0.443281 0.996769 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.996769 +vt 0.443281 0.996769 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.415970 0.982469 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.443281 0.953868 +vt 0.470782 0.953868 +vt 0.415793 0.982420 +vt 0.443281 0.939568 +vt 0.470782 0.939568 +vt 0.443281 0.939617 +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.470782 0.953868 +vt 0.470782 0.968169 +vt 0.443281 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.982469 +vt 0.443281 0.996769 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.996769 +vt 0.443281 0.996769 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.415970 0.982469 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.443281 0.953868 +vt 0.470782 0.953868 +vt 0.415793 0.982420 +vt 0.443281 0.939568 +vt 0.470782 0.939568 +vt 0.443281 0.939617 +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.470782 0.953868 +vt 0.470782 0.968169 +vt 0.443281 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.982469 +vt 0.443281 0.996769 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.470782 0.996769 +vt 0.443281 0.996769 +vt 0.498282 0.968169 +vt 0.443281 0.982469 +vt 0.415970 0.982469 +vt 0.415780 0.982469 +vt 0.415780 0.968169 +vt 0.443281 0.953868 +vt 0.470782 0.953868 +vt 0.415793 0.982420 +vt 0.443281 0.939568 +vt 0.470782 0.939568 +vt 0.443281 0.939617 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.443281 0.968169 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.443281 0.968169 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.443281 0.968169 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.443281 0.968169 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.443281 0.968169 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.443281 0.968169 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.443281 0.968169 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.443281 0.968169 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.443281 0.968169 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.443281 0.968169 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.443281 0.968169 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.498282 0.982469 +vt 0.443281 0.968169 +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.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.565662 0.958871 +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.547804 0.968157 +vt 0.554118 0.962154 +vt 0.560431 0.965437 +vt 0.556733 0.958871 +vt 0.565662 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.529945 0.958871 +vt 0.538874 0.958871 +vt 0.535176 0.965437 +vt 0.541490 0.962154 +vt 0.575707 0.987891 +vt 0.585009 0.983745 +vt 0.575707 0.983745 +vt 0.566406 0.987891 +vt 0.566406 0.983745 +vt 0.529201 0.987891 +vt 0.538502 0.983745 +vt 0.529201 0.983745 +vt 0.594310 0.987891 +vt 0.603611 0.983745 +vt 0.594310 0.983745 +vt 0.585009 0.987891 +vt 0.557105 0.987891 +vt 0.557105 0.983745 +vt 0.603611 0.987891 +vt 0.600511 0.968544 +vt 0.603611 0.968544 +vt 0.600511 0.987891 +vt 0.597411 0.968544 +vt 0.597411 0.987891 +vt 0.594310 0.968544 +vt 0.594310 0.987891 +vt 0.591210 0.968544 +vt 0.591210 0.987891 +vt 0.588109 0.968544 +vt 0.588109 0.987891 +vt 0.585009 0.968544 +vt 0.585009 0.987891 +vt 0.581908 0.968544 +vt 0.581908 0.987891 +vt 0.578808 0.968544 +vt 0.578808 0.987891 +vt 0.575707 0.968544 +vt 0.575707 0.987891 +vt 0.572607 0.968544 +vt 0.572607 0.987891 +vt 0.569507 0.968544 +vt 0.569507 0.987891 +vt 0.566406 0.968544 +vt 0.566406 0.987891 +vt 0.563306 0.968544 +vt 0.563306 0.987891 +vt 0.560205 0.968544 +vt 0.560205 0.987891 +vt 0.557105 0.968544 +vt 0.557105 0.987891 +vt 0.554004 0.968544 +vt 0.554004 0.987891 +vt 0.550904 0.968544 +vt 0.550904 0.987891 +vt 0.547804 0.968544 +vt 0.547804 0.987891 +vt 0.544703 0.968544 +vt 0.544703 0.987891 +vt 0.541603 0.968544 +vt 0.541603 0.987891 +vt 0.538502 0.968544 +vt 0.538502 0.987891 +vt 0.535402 0.968544 +vt 0.529945 0.958871 +vt 0.556733 0.950828 +vt 0.556733 0.966913 +vt 0.535402 0.987891 +vt 0.532301 0.968544 +vt 0.532301 0.987891 +vt 0.529201 0.968544 +vt 0.567759 0.961274 +vt 0.580387 0.967841 +vt 0.602259 0.956467 +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.572381 0.952304 +vt 0.567759 0.961274 +vt 0.580387 0.967841 +vt 0.603611 0.987891 +vt 0.600511 0.968544 +vt 0.603611 0.968544 +vt 0.600511 0.987891 +vt 0.597411 0.968544 +vt 0.597411 0.987891 +vt 0.594310 0.968544 +vt 0.594310 0.987891 +vt 0.591210 0.968544 +vt 0.591210 0.987891 +vt 0.588109 0.968544 +vt 0.588109 0.987891 +vt 0.585009 0.968544 +vt 0.585009 0.987891 +vt 0.581908 0.968544 +vt 0.581908 0.987891 +vt 0.578808 0.968544 +vt 0.578808 0.987891 +vt 0.575707 0.968544 +vt 0.575707 0.987891 +vt 0.572607 0.968544 +vt 0.572607 0.987891 +vt 0.569507 0.968544 +vt 0.569507 0.987891 +vt 0.566406 0.968544 +vt 0.566406 0.987891 +vt 0.563306 0.968544 +vt 0.563306 0.987891 +vt 0.560205 0.968544 +vt 0.560205 0.987891 +vt 0.557105 0.968544 +vt 0.557105 0.987891 +vt 0.554004 0.968544 +vt 0.554004 0.987891 +vt 0.550904 0.968544 +vt 0.550904 0.987891 +vt 0.547804 0.968544 +vt 0.547804 0.987891 +vt 0.544703 0.968544 +vt 0.544703 0.987891 +vt 0.541603 0.968544 +vt 0.541603 0.987891 +vt 0.538502 0.968544 +vt 0.538502 0.987891 +vt 0.535402 0.968544 +vt 0.556733 0.950828 +vt 0.565662 0.958871 +vt 0.556733 0.966913 +vt 0.535402 0.987891 +vt 0.532301 0.968544 +vt 0.532301 0.987891 +vt 0.529201 0.968544 +vt 0.572381 0.952304 +vt 0.567759 0.961274 +vt 0.580387 0.967841 +vt 0.603611 0.987891 +vt 0.600511 0.968544 +vt 0.603611 0.968544 +vt 0.600511 0.987891 +vt 0.597411 0.968544 +vt 0.597411 0.987891 +vt 0.594310 0.968544 +vt 0.594310 0.987891 +vt 0.591210 0.968544 +vt 0.591210 0.987891 +vt 0.588109 0.968544 +vt 0.588109 0.987891 +vt 0.585009 0.968544 +vt 0.585009 0.987891 +vt 0.581908 0.968544 +vt 0.581908 0.987891 +vt 0.578808 0.968544 +vt 0.578808 0.987891 +vt 0.575707 0.968544 +vt 0.575707 0.987891 +vt 0.572607 0.968544 +vt 0.572607 0.987891 +vt 0.569507 0.968544 +vt 0.569507 0.987891 +vt 0.566406 0.968544 +vt 0.566406 0.987891 +vt 0.563306 0.968544 +vt 0.563306 0.987891 +vt 0.560205 0.968544 +vt 0.560205 0.987891 +vt 0.557105 0.968544 +vt 0.557105 0.987891 +vt 0.554004 0.968544 +vt 0.554004 0.987891 +vt 0.550904 0.968544 +vt 0.550904 0.987891 +vt 0.547804 0.968544 +vt 0.547804 0.987891 +vt 0.544703 0.968544 +vt 0.544703 0.987891 +vt 0.541603 0.968544 +vt 0.541603 0.987891 +vt 0.538502 0.968544 +vt 0.538502 0.987891 +vt 0.535402 0.968544 +vt 0.556733 0.950828 +vt 0.565662 0.958871 +vt 0.556733 0.966913 +vt 0.535402 0.987891 +vt 0.532301 0.968544 +vt 0.532301 0.987891 +vt 0.529201 0.968544 +vt 0.572381 0.952304 +vt 0.567759 0.961274 +vt 0.580387 0.967841 +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.572381 0.952304 +vt 0.567759 0.961274 +vt 0.580387 0.967841 +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.602259 0.956467 +vt 0.598073 0.955622 +vt 0.600475 0.954228 +vt 0.595844 0.954111 +vt 0.597637 0.952304 +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.572381 0.952304 +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.567759 0.961274 +vt 0.571944 0.962119 +vt 0.569543 0.963514 +vt 0.574174 0.963630 +vt 0.572381 0.965437 +vt 0.577254 0.964859 +vt 0.576079 0.966913 +vt 0.580965 0.965659 +vt 0.580387 0.967841 +vt 0.585009 0.968157 +vt 0.574174 0.963630 +vt 0.577254 0.964859 +vt 0.574174 0.954111 +vt 0.571944 0.955622 +vt 0.595844 0.954111 +vt 0.592763 0.964859 +vt 0.570651 0.957245 +vt 0.592763 0.952882 +vt 0.595844 0.963630 +vt 0.570240 0.958871 +vt 0.589052 0.952082 +vt 0.598073 0.962119 +vt 0.570651 0.960496 +vt 0.585009 0.951806 +vt 0.599366 0.960496 +vt 0.571944 0.962119 +vt 0.580965 0.952082 +vt 0.599778 0.958871 +vt 0.577254 0.952882 +vt 0.599366 0.957245 +vt 0.585009 0.965935 +vt 0.598073 0.955622 +vt 0.580965 0.965659 +vt 0.538502 0.987891 +vt 0.552426 0.967841 +vt 0.547804 0.968157 +vt 0.543181 0.967841 +vt 0.538874 0.966913 +vt 0.535176 0.965437 +vt 0.532338 0.963514 +vt 0.530554 0.961274 +vt 0.529945 0.958871 +vt 0.530554 0.956467 +vt 0.532338 0.954228 +vt 0.535176 0.952304 +vt 0.538874 0.950828 +vt 0.543181 0.949901 +vt 0.547804 0.949584 +vt 0.552426 0.949901 +vt 0.560431 0.952304 +vt 0.563269 0.954228 +vt 0.565054 0.956467 +vt 0.565054 0.961274 +vt 0.563269 0.963514 +vt 0.560431 0.965437 +vt 0.529201 0.962891 +vt 0.560431 0.965437 +vt 0.535176 0.965437 +vt 0.535176 0.952304 +vt 0.547804 0.949584 +vt 0.560431 0.952304 +vt 0.529201 0.987891 +vt 0.585009 0.968157 +vt 0.597637 0.965437 +vt 0.602867 0.958871 +vt 0.585009 0.949584 +vt 0.567150 0.958871 +vt 0.547804 0.963514 +vt 0.603611 0.987891 +vt 0.552426 0.967841 +vt 0.538874 0.966913 +vt 0.547804 0.968157 +vt 0.543181 0.967841 +vt 0.535176 0.965437 +vt 0.532338 0.963514 +vt 0.530554 0.961274 +vt 0.530554 0.956467 +vt 0.532338 0.954228 +vt 0.535176 0.952304 +vt 0.538874 0.950828 +vt 0.543181 0.949901 +vt 0.547804 0.949584 +vt 0.552426 0.949901 +vt 0.560431 0.952304 +vt 0.563269 0.954228 +vt 0.565054 0.956467 +vt 0.565662 0.958871 +vt 0.565054 0.961274 +vt 0.563269 0.963514 +vt 0.560431 0.965437 +vt 0.529201 0.987891 +vt 0.585009 0.968157 +vt 0.589631 0.967841 +vt 0.593938 0.966913 +vt 0.597637 0.965437 +vt 0.600475 0.963514 +vt 0.602259 0.961274 +vt 0.602867 0.958871 +vt 0.600475 0.954228 +vt 0.597637 0.952304 +vt 0.593938 0.950828 +vt 0.589631 0.949901 +vt 0.585009 0.949584 +vt 0.580387 0.949901 +vt 0.576080 0.950828 +vt 0.572381 0.952304 +vt 0.569543 0.954228 +vt 0.567759 0.956467 +vt 0.567150 0.958871 +vt 0.569543 0.963514 +vt 0.572381 0.965437 +vt 0.576079 0.966913 +vt 0.552426 0.967841 +vt 0.547804 0.968157 +vt 0.543181 0.967841 +vt 0.538874 0.966913 +vt 0.535176 0.965437 +vt 0.532338 0.963514 +vt 0.530554 0.961274 +vt 0.529945 0.958871 +vt 0.530554 0.956467 +vt 0.532338 0.954228 +vt 0.535176 0.952304 +vt 0.538874 0.950828 +vt 0.543181 0.949901 +vt 0.547804 0.949584 +vt 0.552426 0.949901 +vt 0.560431 0.952304 +vt 0.563269 0.954228 +vt 0.565054 0.956467 +vt 0.565054 0.961274 +vt 0.563269 0.963514 +vt 0.560431 0.965437 +vt 0.529201 0.962891 +vt 0.585009 0.968157 +vt 0.589631 0.967841 +vt 0.593938 0.966913 +vt 0.597637 0.965437 +vt 0.600475 0.963514 +vt 0.602259 0.961274 +vt 0.602867 0.958871 +vt 0.602259 0.956467 +vt 0.600475 0.954228 +vt 0.597637 0.952304 +vt 0.593938 0.950828 +vt 0.589631 0.949901 +vt 0.585009 0.949584 +vt 0.580387 0.949901 +vt 0.576080 0.950828 +vt 0.569543 0.954228 +vt 0.567759 0.956467 +vt 0.567150 0.958871 +vt 0.569543 0.963514 +vt 0.572381 0.965437 +vt 0.576079 0.966913 +vt 0.552426 0.967841 +vt 0.547804 0.968157 +vt 0.543181 0.967841 +vt 0.538874 0.966913 +vt 0.535176 0.965437 +vt 0.532338 0.963514 +vt 0.530554 0.961274 +vt 0.529945 0.958871 +vt 0.530554 0.956467 +vt 0.532338 0.954228 +vt 0.535176 0.952304 +vt 0.538874 0.950828 +vt 0.543181 0.949901 +vt 0.547804 0.949584 +vt 0.552426 0.949901 +vt 0.560431 0.952304 +vt 0.563269 0.954228 +vt 0.565054 0.956467 +vt 0.565054 0.961274 +vt 0.563269 0.963514 +vt 0.560431 0.965437 +vt 0.529201 0.987891 +vt 0.585009 0.968157 +vt 0.589631 0.967841 +vt 0.593938 0.966913 +vt 0.597637 0.965437 +vt 0.600475 0.963514 +vt 0.602259 0.961274 +vt 0.602867 0.958871 +vt 0.602259 0.956467 +vt 0.600475 0.954228 +vt 0.597637 0.952304 +vt 0.593938 0.950828 +vt 0.589631 0.949901 +vt 0.585009 0.949584 +vt 0.580387 0.949901 +vt 0.576080 0.950828 +vt 0.569543 0.954228 +vt 0.567759 0.956467 +vt 0.567150 0.958871 +vt 0.569543 0.963514 +vt 0.572381 0.965437 +vt 0.576079 0.966913 +vt 0.552426 0.967841 +vt 0.547804 0.968157 +vt 0.543181 0.967841 +vt 0.538874 0.966913 +vt 0.535176 0.965437 +vt 0.532338 0.963514 +vt 0.530554 0.961274 +vt 0.529945 0.958871 +vt 0.530554 0.956467 +vt 0.532338 0.954228 +vt 0.535176 0.952304 +vt 0.538874 0.950828 +vt 0.543181 0.949901 +vt 0.547804 0.949584 +vt 0.552426 0.949901 +vt 0.560431 0.952304 +vt 0.563269 0.954228 +vt 0.565054 0.956467 +vt 0.565054 0.961274 +vt 0.563269 0.963514 +vt 0.560431 0.965437 +vt 0.529201 0.987891 +vt 0.585009 0.968157 +vt 0.589631 0.967841 +vt 0.593938 0.966913 +vt 0.597637 0.965437 +vt 0.600475 0.963514 +vt 0.602259 0.961274 +vt 0.602867 0.958871 +vt 0.602259 0.956467 +vt 0.600475 0.954228 +vt 0.597637 0.952304 +vt 0.593938 0.950828 +vt 0.589631 0.949901 +vt 0.585009 0.949584 +vt 0.580387 0.949901 +vt 0.576080 0.950828 +vt 0.569543 0.954228 +vt 0.567759 0.956467 +vt 0.567150 0.958871 +vt 0.569543 0.963514 +vt 0.572381 0.965437 +vt 0.576079 0.966913 +vt 0.552426 0.967841 +vt 0.547804 0.968157 +vt 0.543181 0.967841 +vt 0.538874 0.966913 +vt 0.535176 0.965437 +vt 0.532338 0.963514 +vt 0.530554 0.961274 +vt 0.529945 0.958871 +vt 0.530554 0.956467 +vt 0.532338 0.954228 +vt 0.535176 0.952304 +vt 0.538874 0.950828 +vt 0.543181 0.949901 +vt 0.547804 0.949584 +vt 0.552426 0.949901 +vt 0.560431 0.952304 +vt 0.563269 0.954228 +vt 0.565054 0.956467 +vt 0.565054 0.961274 +vt 0.563269 0.963514 +vt 0.560431 0.965437 +vt 0.529201 0.962891 +vt 0.585009 0.968157 +vt 0.589631 0.967841 +vt 0.593938 0.966913 +vt 0.597637 0.965437 +vt 0.600475 0.963514 +vt 0.602259 0.961274 +vt 0.602867 0.958871 +vt 0.602259 0.956467 +vt 0.600475 0.954228 +vt 0.597637 0.952304 +vt 0.593938 0.950828 +vt 0.589631 0.949901 +vt 0.585009 0.949584 +vt 0.580387 0.949901 +vt 0.576080 0.950828 +vt 0.569543 0.954228 +vt 0.567759 0.956467 +vt 0.567150 0.958871 +vt 0.569543 0.963514 +vt 0.572381 0.965437 +vt 0.576079 0.966913 +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.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.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.578829 0.907383 +vt 0.504838 0.907383 +vt 0.371179 0.900923 +vt 0.665512 0.900923 +vt 0.589593 0.872960 +vt 0.579928 0.818991 +vt 0.579928 0.818991 +vt 0.720909 0.823249 +vt 0.728444 0.813188 +vt 0.728444 0.813188 +vt 0.518346 0.900923 +vt 0.665512 0.900923 +vt 0.403568 0.865893 +vt 0.403568 0.865893 +vt 0.403568 0.865893 +vt 0.634882 0.842860 +vt 0.875000 0.895044 +vt 0.625000 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.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.320312 0.775200 +vt 0.320312 0.775200 +vt 0.341584 0.755253 +vt 0.894527 0.754523 +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.665512 0.915923 +vt 0.597620 0.901828 +vt 0.125000 0.765044 +vt 0.228633 0.780745 +vt 0.875000 0.895044 +vt 0.875000 0.765044 +vt 0.597620 0.901828 +vt 0.574804 0.873659 +vt 0.285018 0.848638 +vt 0.643647 0.915691 +vt 0.285018 0.848638 +vt 0.759668 0.871099 +vt 0.759668 0.871099 +vt 0.720909 0.823249 +vt 0.245835 0.915308 +vt 0.578887 0.824122 +vt 0.375000 0.765044 +vt 0.625000 0.765044 +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.625000 0.895044 +vt 0.511639 0.915711 +vt 0.518346 0.915923 +vt 0.389892 0.847881 +vt 0.491200 0.874173 +vt 0.497503 0.902923 +vt 0.389892 0.847881 +vt 0.377872 0.915356 +vt 0.406788 0.779458 +vt 0.406788 0.779458 +vt 0.497503 0.902923 +vt 0.578887 0.824122 +vt 0.511639 0.915711 +vt 0.245835 0.900308 +vt 0.643647 0.900691 +vt 0.150429 0.671343 +vt 0.150429 0.671343 +vt 0.150429 0.671343 +vt 0.150429 0.671343 +vt 0.150429 0.671343 +vt 0.150429 0.671343 +vt 0.221470 0.868452 +vt 0.221470 0.868452 +vt 0.221470 0.868452 +vt 0.251000 0.856936 +vt 0.251000 0.856936 +vt 0.251000 0.856936 +vt 0.361735 0.900442 +vt 0.361735 0.900442 +vt 0.361735 0.900442 +vt 0.511639 0.900711 +vt 0.518346 0.900923 +vt 0.236235 0.851817 +vt 0.236235 0.851817 +vt 0.236235 0.851817 +vt 0.164872 0.847978 +vt 0.164872 0.847978 +vt 0.164872 0.847978 +vt 0.209167 0.860775 +vt 0.209167 0.860775 +vt 0.209167 0.860775 +vt 0.150429 0.671343 +vt 0.150429 0.671343 +vt 0.150429 0.671343 +vt 0.150429 0.686343 +vt 0.150429 0.686343 +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.390712 0.598254 +vt 0.597602 0.514746 +vt 0.545719 0.522092 +vt 0.410506 0.621173 +vt 0.605366 0.625582 +vt 0.388734 0.524179 +vt 0.556923 0.509307 +vt 0.389781 0.625623 +vt 0.603447 0.775430 +vt 0.594972 0.884555 +vt 0.392556 0.765044 +vt 0.625000 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.411544 0.779875 +vt 0.498333 0.872319 +vt 0.594972 0.884555 +vt 0.392214 0.803595 +vt 0.548567 0.877213 +vt 0.390113 0.874091 +vt 0.603447 0.775430 +vt 0.558295 0.890122 +vt 0.464672 0.866316 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.243618 0.881248 +vt 0.243618 0.881248 +vt 0.243618 0.881248 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.342454 0.866584 +vt 0.333129 0.868394 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +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.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.481303 0.837335 +vt 0.481303 0.837335 +vt 0.559993 0.779904 +vt 0.482026 0.779717 +vt 0.482026 0.779717 +vt 0.562664 0.837133 +vt 0.559993 0.779904 +vt 0.440044 0.779617 +vt 0.481303 0.837335 +vt 0.562664 0.837133 +vt 0.432662 0.733550 +vt 0.473921 0.791269 +vt 0.430111 0.791377 +vt 0.437493 0.837443 +vt 0.437493 0.837443 +vt 0.415872 0.665231 +vt 0.415872 0.665231 +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.589593 0.872960 +vt 0.403568 0.865893 +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.218750 0.793481 +vt 0.510661 0.750275 +vt 0.613008 0.750275 +vt 0.614339 0.797650 +vt 0.613913 0.799184 +vt 0.375000 0.895044 +vt 0.625695 0.801606 +vt 0.664062 0.765166 +vt 0.625000 0.765044 +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.109638 0.753166 +vt 0.629601 0.796190 +vt 0.375000 0.505044 +vt 0.236111 0.765044 +vt 0.705624 0.757181 +vt 0.380237 0.736263 +vt 0.226495 0.821409 +vt 0.651589 0.807504 +vt 0.280702 0.812445 +vt 0.280702 0.812445 +vt 0.272135 0.819888 +vt 0.320312 0.775200 +vt 0.320312 0.775200 +vt 0.320312 0.775200 +vt 0.320312 0.775200 +vt 0.894527 0.754523 +vt 0.894527 0.754523 +vt 0.894527 0.754523 +vt 0.894527 0.754523 +vt 0.502440 0.925244 +vt 0.556540 0.903471 +vt 0.245835 0.900308 +vt 0.285018 0.833638 +vt 0.579240 0.867737 +vt 0.597620 0.886828 +vt 0.228633 0.780745 +vt 0.643647 0.900691 +vt 0.491813 0.871153 +vt 0.497503 0.887923 +vt 0.389892 0.832881 +vt 0.377872 0.900356 +vt 0.150429 0.671343 +vt 0.150429 0.671343 +vt 0.221470 0.868452 +vt 0.361735 0.900442 +vt 0.361735 0.900442 +vt 0.236235 0.851817 +vt 0.209167 0.860775 +vt 0.209167 0.860775 +vt 0.150429 0.671343 +vt 0.150429 0.671343 +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.333129 0.917808 +vt 0.243618 0.881248 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +vt 0.333129 0.917808 +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.415872 0.665231 +vt 0.415872 0.665231 +vt 0.415872 0.665231 +vt 0.415872 0.665231 +vt 0.415872 0.665231 +vt 0.415872 0.665231 +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.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.603247 0.709018 +vt 0.601127 0.705384 +vt 0.606772 0.707793 +vt 0.600548 0.705631 +vt 0.606989 0.707421 +vt 0.600074 0.705932 +vt 0.607062 0.707034 +vt 0.599721 0.706274 +vt 0.606989 0.706647 +vt 0.599504 0.706647 +vt 0.606772 0.706274 +vt 0.599431 0.707034 +vt 0.606419 0.705932 +vt 0.599504 0.707421 +vt 0.605945 0.705631 +vt 0.599721 0.707793 +vt 0.605366 0.705384 +vt 0.600074 0.708136 +vt 0.604707 0.705201 +vt 0.603991 0.708980 +vt 0.603991 0.708980 +vt 0.600548 0.708437 +vt 0.600548 0.708437 +vt 0.603991 0.705088 +vt 0.604707 0.708867 +vt 0.604707 0.708867 +vt 0.601127 0.708683 +vt 0.601127 0.708683 +vt 0.603247 0.705050 +vt 0.605366 0.708683 +vt 0.605366 0.708683 +vt 0.601786 0.708867 +vt 0.601786 0.708867 +vt 0.602502 0.705088 +vt 0.605945 0.708437 +vt 0.602502 0.708980 +vt 0.601786 0.705201 +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.565766 0.944459 +vt 0.558011 0.944459 +vt 0.558011 0.955981 +vt 0.565766 0.955981 +vt 0.558011 0.967503 +vt 0.542329 0.614065 +vt 0.534574 0.625587 +vt 0.534574 0.614065 +vt 0.543609 0.955981 +vt 0.521451 0.967503 +vt 0.521451 0.955981 +vt 0.587924 0.955981 +vt 0.565766 0.967503 +vt 0.543609 0.979025 +vt 0.543609 0.967503 +vt 0.543609 0.944459 +vt 0.543609 0.932938 +vt 0.543609 0.932938 +vt 0.565766 0.944459 +vt 0.543609 0.944459 +vt 0.565766 0.955981 +vt 0.543609 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.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.565766 0.932938 +vt 0.565766 0.979025 +vt 0.587924 0.967503 +vt 0.565766 0.932938 +vt 0.542329 0.625587 +vt 0.587924 0.967503 +vt 0.558011 0.979025 +vt 0.565766 0.932938 +vt 0.565766 0.979025 +vt 0.587924 0.967503 +vt 0.565766 0.932938 +vt 0.565766 0.979025 +vt 0.587924 0.967503 +vn -0.0003 0.0000 -1.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.0004 0.0000 -1.0000 +vn 0.0027 -1.0000 0.0019 +vn 0.0042 -1.0000 0.0030 +vn 0.0000 -1.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.0000 0.0000 1.0000 +vn -1.0000 0.0000 0.0000 +vn 0.0006 0.0004 1.0000 +vn 0.0011 0.0045 1.0000 +vn 0.0011 0.0049 1.0000 +vn 0.0008 1.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn -0.0049 0.0049 1.0000 +vn -0.8655 -0.5009 0.0000 +vn -0.0005 0.0000 -1.0000 +vn -0.0008 -1.0000 0.0005 +vn -0.0000 -0.5727 0.8197 +vn -0.0004 -0.8551 0.5184 +vn -0.7701 0.0000 -0.6379 +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 -0.5729 0.8196 +vn -0.0004 -0.8552 0.5183 +vn -0.7708 -0.0000 -0.6371 +vn -0.0000 -0.5732 0.8194 +vn -0.7703 -0.0000 -0.6377 +vn -0.0000 -0.5727 0.8198 +vn -0.0004 -0.8551 0.5185 +vn -0.7700 0.0000 -0.6381 +vn -0.8655 -0.5008 0.0000 +vn -0.0004 -0.8553 0.5182 +vn 0.0070 -1.0000 0.0049 +vn 0.0005 0.0000 1.0000 +vn -0.0008 -1.0000 0.0000 +vn -0.0008 -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.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.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.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.7934 0.6088 0.0000 +vn -0.6088 -0.7933 -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.0001 0.0000 -1.0000 +vn 0.0001 0.0000 -1.0000 +vn 0.0001 0.0000 1.0000 +vn -0.0001 0.0000 1.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.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.8693 0.4944 +vn 0.0002 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.0010 0.0007 +vn 1.0000 -0.0019 0.0017 +vn 0.0000 -0.6430 -0.7658 +vn 0.0000 -0.8693 -0.4942 +vn 0.5484 0.0760 -0.8328 +vn 0.7536 0.6071 0.2520 +vn 0.7698 -0.6340 -0.0745 +vn 0.7607 -0.6189 -0.1957 +vn 0.7402 -0.5843 -0.3326 +vn 0.6787 0.4737 0.5613 +vn 0.6263 0.5087 0.5907 +vn 0.9730 0.1947 0.1237 +vn -0.7982 -0.5982 -0.0703 +vn -0.7898 -0.5848 -0.1849 +vn -0.7709 -0.5538 -0.3148 +vn -0.5646 0.5759 0.5913 +vn -0.3460 0.6078 0.7148 +vn -0.8868 0.3899 0.2481 +vn -0.7699 0.5824 0.2610 +vn -0.3897 0.8505 0.3533 +vn -0.7751 0.5764 0.2588 +vn -0.5846 0.0737 -0.8079 +vn -0.9379 0.3346 -0.0917 +vn -0.9395 0.3373 -0.0596 +vn -0.8718 -0.2050 -0.4449 +vn -0.8298 0.0141 -0.5579 +vn -0.9258 0.3144 -0.2097 +vn -0.9344 -0.3289 -0.1364 +vn -0.9407 -0.3392 -0.0089 +vn -0.8657 0.1894 0.4633 +vn -0.8358 -0.0781 0.5434 +vn 0.9296 0.3628 -0.0641 +vn 0.9278 0.3599 -0.0986 +vn 0.8138 -0.0826 0.5752 +vn 0.8467 0.2014 0.4926 +vn 0.9310 -0.3649 -0.0096 +vn 0.9238 -0.3536 -0.1467 +vn 0.9140 0.3374 -0.2251 +vn 0.8072 0.0149 -0.5901 +vn 0.8534 -0.2182 -0.4735 +vn 0.8534 -0.2181 -0.4735 +vn 0.0001 1.0000 0.0000 +vn 0.0002 1.0000 0.0000 +vn -0.0000 0.9998 0.0183 +vn -0.0001 0.9998 0.0183 +vn 1.0000 0.0015 0.0004 +vn 1.0000 -0.0020 0.0019 +vn 1.0000 -0.0005 0.0032 +vn 1.0000 -0.0000 0.0017 +vn -0.0000 -1.0000 0.0007 +vn 0.0000 0.0729 0.9973 +vn 0.0033 0.0732 -0.9973 +vn 0.0008 0.0725 -0.9974 +vn 0.0000 0.0722 -0.9974 +vn 1.0000 -0.0000 0.0026 +vn 0.0048 -0.0004 -1.0000 +vn 0.0056 -0.0009 -1.0000 +vn 0.0041 -0.0001 -1.0000 +vn 0.0000 1.0000 -0.0007 +vn 1.0000 0.0000 0.0052 +vn 1.0000 -0.0035 -0.0044 +vn -0.0002 -0.6430 -0.7658 +vn 0.0000 0.8690 0.4947 +vn 1.0000 -0.0055 0.0020 +vn 1.0000 -0.0005 0.0027 +vn 1.0000 -0.0090 -0.0003 +vn 1.0000 0.0001 0.0025 +vn 0.6788 0.4722 0.5624 +vn 0.5489 0.5375 0.6401 +vn -0.4928 0.5934 0.6364 +vn -0.3227 0.6087 0.7248 +vn -0.3837 0.8529 0.3540 +vn -0.5847 0.0737 -0.8079 +vn 0.9999 0.0114 0.0035 +vn 0.0041 0.0735 -0.9973 +vn 0.0063 -0.0012 -1.0000 +vn 1.0000 0.0013 -0.0033 +vn 1.0000 0.0093 -0.0015 +vn 1.0000 -0.0055 -0.0032 +vn 1.0000 -0.0004 0.0052 +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.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.0009 0.0000 1.0000 +vn -0.0008 0.0000 1.0000 +vn 0.6341 -0.7732 0.0000 +vn 0.6340 -0.7733 0.0000 +vn -0.6345 -0.7730 0.0000 +vn -0.0010 0.0000 1.0000 +vn 0.6338 -0.7735 0.0000 +vn 0.0012 0.0000 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.9413 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.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 +usemtl Material.001 +s 1 +f 127/228/74 128/229/75 129/230/76 +f 127/231/77 130/232/78 128/229/79 +f 131/233/75 132/234/75 133/235/75 +f 132/234/80 134/236/80 133/235/80 +f 134/236/81 135/237/81 136/238/81 +f 133/235/79 136/239/79 131/240/79 +f 131/241/82 135/237/82 132/234/82 +f 136/242/83 137/243/84 138/244/85 +f 129/245/86 135/237/86 132/234/86 +f 128/229/87 137/246/87 129/230/87 +f 138/244/88 137/246/88 130/232/88 +f 139/247/89 138/248/89 127/249/89 +f 132/234/90 127/250/74 129/251/76 +f 136/242/91 138/248/92 139/252/93 +f 138/253/94 137/254/94 139/255/94 +f 140/256/75 141/257/75 142/258/75 +f 141/257/95 143/259/95 142/258/95 +f 143/259/81 144/260/81 145/261/81 +f 140/262/82 143/259/82 145/263/82 +f 140/264/96 144/260/96 141/257/96 +f 146/265/75 147/266/75 148/267/75 +f 147/266/97 149/268/97 148/267/97 +f 149/268/81 150/269/81 151/270/81 +f 148/267/96 151/271/96 146/272/96 +f 146/273/98 150/269/98 147/266/98 +f 152/274/74 153/275/75 154/276/76 +f 152/277/77 155/278/78 153/275/79 +f 156/279/75 157/280/75 158/281/75 +f 157/280/80 159/282/80 158/281/80 +f 159/282/81 160/283/81 161/284/81 +f 158/281/79 161/285/79 156/286/79 +f 156/287/82 160/283/82 157/280/82 +f 161/288/83 162/289/84 163/290/85 +f 154/291/86 160/283/86 157/280/86 +f 153/275/87 162/292/87 154/276/87 +f 163/290/88 162/292/88 155/278/88 +f 164/293/89 163/294/89 152/295/89 +f 157/280/90 152/296/74 154/297/76 +f 161/288/91 163/294/99 164/298/100 +f 163/299/101 162/300/101 164/301/101 +f 165/302/74 166/303/75 167/304/76 +f 165/305/77 168/306/78 166/303/79 +f 169/307/75 170/308/75 171/309/75 +f 170/308/80 172/310/80 171/309/80 +f 172/310/81 173/311/81 174/312/81 +f 171/309/79 174/313/79 169/314/79 +f 169/315/82 173/311/82 170/308/82 +f 174/316/83 175/317/84 176/318/85 +f 167/319/86 173/311/86 170/308/86 +f 166/303/87 175/320/87 167/304/87 +f 176/318/88 175/320/88 168/306/88 +f 177/321/89 176/322/89 165/323/89 +f 170/308/90 165/324/74 167/325/76 +f 174/316/91 176/322/102 177/326/100 +f 176/327/101 175/328/101 177/329/101 +f 178/330/74 179/331/75 180/332/76 +f 178/333/77 181/334/78 179/331/79 +f 182/335/75 183/336/75 184/337/75 +f 183/336/80 185/338/80 184/337/80 +f 185/338/81 186/339/81 187/340/81 +f 184/337/79 187/341/79 182/342/79 +f 182/343/82 186/339/82 183/336/82 +f 187/344/83 188/345/84 189/346/85 +f 180/347/86 186/339/86 183/336/86 +f 179/331/87 188/348/87 180/332/87 +f 189/346/88 188/348/88 181/334/88 +f 190/349/89 189/350/89 178/351/89 +f 183/336/90 178/352/74 180/353/76 +f 187/344/91 189/350/99 190/354/100 +f 189/355/103 188/356/103 190/357/103 +f 191/358/74 192/359/75 193/360/76 +f 191/361/77 194/362/78 192/359/79 +f 195/363/75 196/364/75 197/365/75 +f 196/364/80 198/366/80 197/365/80 +f 198/366/81 199/367/81 200/368/81 +f 197/365/79 200/369/79 195/370/79 +f 195/371/82 199/367/82 196/364/82 +f 200/372/83 201/373/84 202/374/85 +f 193/375/86 199/367/86 196/364/86 +f 192/359/87 201/376/87 193/360/87 +f 202/374/88 201/376/88 194/362/88 +f 203/377/89 202/378/89 191/379/89 +f 196/364/90 191/380/74 193/381/76 +f 200/372/91 202/378/104 203/382/105 +f 202/383/103 201/384/103 203/385/103 +f 204/386/74 205/387/75 206/388/76 +f 204/389/77 207/390/78 205/387/79 +f 208/391/75 209/392/75 210/393/75 +f 209/392/80 211/394/80 210/393/80 +f 211/394/81 212/395/81 213/396/81 +f 210/393/79 213/397/79 208/398/79 +f 208/399/82 212/395/82 209/392/82 +f 213/400/83 214/401/84 215/402/85 +f 206/403/86 212/395/86 209/392/86 +f 205/387/87 214/404/87 206/388/87 +f 215/402/88 214/404/88 207/390/88 +f 216/405/89 215/406/89 204/407/89 +f 209/392/90 204/408/74 206/409/76 +f 213/400/91 215/406/92 216/410/93 +f 215/411/106 214/412/106 216/413/106 +f 217/414/74 218/415/75 219/416/76 +f 217/417/77 220/418/78 218/415/79 +f 221/419/75 222/420/75 223/421/75 +f 222/420/80 224/422/80 223/421/80 +f 224/422/81 225/423/81 226/424/81 +f 223/421/79 226/425/79 221/426/79 +f 221/427/82 225/423/82 222/420/82 +f 226/428/83 227/429/84 228/430/85 +f 219/431/86 225/423/86 222/420/86 +f 218/415/87 227/432/87 219/416/87 +f 228/430/88 227/432/88 220/418/88 +f 229/433/107 228/434/107 217/435/107 +f 222/420/90 217/436/74 219/437/76 +f 226/428/91 228/434/104 229/438/93 +f 228/439/94 227/440/94 229/441/94 +f 230/442/74 231/443/75 232/444/76 +f 230/445/77 233/446/78 231/443/79 +f 234/447/75 235/448/75 236/449/75 +f 235/448/80 237/450/80 236/449/80 +f 237/450/81 238/451/81 239/452/81 +f 236/449/79 239/453/79 234/454/79 +f 234/455/82 238/451/82 235/448/82 +f 239/456/83 240/457/84 241/458/85 +f 232/459/86 238/451/86 235/448/86 +f 231/443/87 240/460/87 232/444/87 +f 241/458/88 240/460/88 233/446/88 +f 242/461/89 241/462/89 230/463/89 +f 235/448/90 230/464/74 232/465/76 +f 239/456/91 241/462/92 242/466/93 +f 241/467/94 240/468/94 242/469/94 +f 243/470/74 244/471/75 245/472/76 +f 243/473/77 246/474/78 244/471/79 +f 247/475/75 248/476/75 249/477/75 +f 248/476/80 250/478/80 249/477/80 +f 250/478/81 251/479/81 252/480/81 +f 249/477/79 252/481/79 247/482/79 +f 247/483/82 251/479/82 248/476/82 +f 252/484/83 253/485/84 254/486/85 +f 245/487/86 251/479/86 248/476/86 +f 244/471/87 253/488/87 245/472/87 +f 254/486/88 253/488/88 246/474/88 +f 255/489/89 254/490/89 243/491/89 +f 248/476/90 243/492/74 245/493/76 +f 252/484/91 254/490/104 255/494/93 +f 254/495/94 253/496/94 255/497/94 +f 256/498/74 257/499/75 258/500/76 +f 256/501/77 259/502/78 257/499/79 +f 260/503/75 261/504/75 262/505/75 +f 261/504/80 263/506/80 262/505/80 +f 263/506/81 264/507/81 265/508/81 +f 262/505/79 265/509/79 260/510/79 +f 260/511/82 264/507/82 261/504/82 +f 265/512/83 266/513/84 267/514/85 +f 258/515/86 264/507/86 261/504/86 +f 257/499/87 266/516/87 258/500/87 +f 267/514/88 266/516/88 259/502/88 +f 268/517/89 267/518/89 256/519/89 +f 261/504/90 256/520/74 258/521/76 +f 265/512/91 267/518/92 268/522/93 +f 267/523/94 266/524/94 268/525/94 +f 269/526/74 270/527/75 271/528/76 +f 269/529/77 272/530/78 270/527/79 +f 273/531/75 274/532/75 275/533/75 +f 274/532/80 276/534/80 275/533/80 +f 276/534/81 277/535/81 278/536/81 +f 275/533/79 278/537/79 273/538/79 +f 273/539/82 277/535/82 274/532/82 +f 278/540/83 279/541/84 280/542/85 +f 271/543/86 277/535/86 274/532/86 +f 270/527/87 279/544/87 271/528/87 +f 280/542/88 279/544/88 272/530/88 +f 281/545/89 280/546/89 269/547/89 +f 274/532/90 269/548/74 271/549/76 +f 278/540/91 280/546/102 281/550/108 +f 280/551/94 279/552/94 281/553/94 +f 282/554/74 283/555/75 284/556/76 +f 282/557/77 285/558/78 283/555/79 +f 286/559/75 287/560/75 288/561/75 +f 287/560/80 289/562/80 288/561/80 +f 289/562/81 290/563/81 291/564/81 +f 288/561/79 291/565/79 286/566/79 +f 286/567/82 290/563/82 287/560/82 +f 291/568/83 292/569/84 293/570/85 +f 284/571/86 290/563/86 287/560/86 +f 283/555/87 292/572/87 284/556/87 +f 293/570/88 292/572/88 285/558/88 +f 294/573/89 293/574/89 282/575/89 +f 287/560/90 282/576/74 284/577/76 +f 291/568/91 293/574/104 294/578/105 +f 293/579/94 292/580/94 294/581/94 +f 127/231/77 138/582/109 130/232/78 +f 132/234/80 135/237/80 134/236/80 +f 133/235/79 134/236/79 136/239/79 +f 131/241/82 136/583/82 135/237/82 +f 136/242/83 135/237/110 137/243/84 +f 129/245/86 137/584/86 135/237/86 +f 128/229/87 130/232/87 137/246/87 +f 132/234/90 131/585/90 127/250/74 +f 139/252/93 127/249/111 136/242/91 +f 127/249/111 131/585/111 136/242/91 +f 141/257/95 144/260/95 143/259/95 +f 140/262/82 142/258/82 143/259/82 +f 140/264/96 145/586/96 144/260/96 +f 147/266/97 150/269/97 149/268/97 +f 148/267/96 149/268/96 151/271/96 +f 146/273/98 151/587/98 150/269/98 +f 152/277/77 163/588/109 155/278/78 +f 157/280/80 160/283/80 159/282/80 +f 158/281/79 159/282/79 161/285/79 +f 156/287/82 161/589/82 160/283/82 +f 161/288/83 160/283/110 162/289/84 +f 154/291/86 162/590/86 160/283/86 +f 153/275/87 155/278/87 162/292/87 +f 157/280/90 156/591/90 152/296/74 +f 164/298/100 152/295/111 161/288/91 +f 152/295/111 156/591/111 161/288/91 +f 165/305/77 176/592/109 168/306/78 +f 170/308/80 173/311/80 172/310/80 +f 171/309/79 172/310/79 174/313/79 +f 169/315/82 174/593/82 173/311/82 +f 174/316/83 173/311/110 175/317/84 +f 167/319/86 175/594/86 173/311/86 +f 166/303/87 168/306/87 175/320/87 +f 170/308/90 169/595/90 165/324/74 +f 177/326/100 165/323/111 174/316/91 +f 165/323/111 169/595/111 174/316/91 +f 178/333/77 189/596/109 181/334/78 +f 183/336/80 186/339/80 185/338/80 +f 184/337/79 185/338/79 187/341/79 +f 182/343/82 187/597/82 186/339/82 +f 187/344/83 186/339/110 188/345/84 +f 180/347/86 188/598/86 186/339/86 +f 179/331/87 181/334/87 188/348/87 +f 183/336/90 182/599/90 178/352/74 +f 190/354/100 178/351/111 187/344/91 +f 178/351/111 182/599/111 187/344/91 +f 191/361/77 202/600/109 194/362/78 +f 196/364/80 199/367/80 198/366/80 +f 197/365/79 198/366/79 200/369/79 +f 195/371/82 200/601/82 199/367/82 +f 200/372/83 199/367/110 201/373/84 +f 193/375/86 201/602/86 199/367/86 +f 192/359/87 194/362/87 201/376/87 +f 196/364/90 195/603/90 191/380/74 +f 203/382/105 191/379/111 200/372/91 +f 191/379/111 195/603/111 200/372/112 +f 204/389/77 215/604/109 207/390/78 +f 209/392/80 212/395/80 211/394/80 +f 210/393/79 211/394/79 213/397/79 +f 208/399/82 213/605/82 212/395/82 +f 213/400/83 212/395/110 214/401/84 +f 206/403/86 214/606/86 212/395/86 +f 205/387/87 207/390/87 214/404/87 +f 209/392/90 208/607/90 204/408/74 +f 216/410/93 204/407/111 213/400/91 +f 204/407/111 208/607/111 213/400/91 +f 217/417/77 228/608/109 220/418/78 +f 222/420/80 225/423/80 224/422/80 +f 223/421/79 224/422/79 226/425/79 +f 221/427/82 226/609/82 225/423/82 +f 226/428/83 225/423/110 227/429/84 +f 219/431/86 227/610/86 225/423/86 +f 218/415/87 220/418/87 227/432/87 +f 222/420/90 221/611/90 217/436/74 +f 229/438/93 217/435/111 226/428/91 +f 217/435/111 221/611/111 226/428/91 +f 230/445/77 241/612/109 233/446/78 +f 235/448/80 238/451/80 237/450/80 +f 236/449/79 237/450/79 239/453/79 +f 234/455/82 239/613/82 238/451/82 +f 239/456/83 238/451/110 240/457/84 +f 232/459/86 240/614/86 238/451/86 +f 231/443/87 233/446/87 240/460/87 +f 235/448/90 234/615/90 230/464/74 +f 242/466/93 230/463/111 239/456/91 +f 230/463/111 234/615/111 239/456/91 +f 243/473/77 254/616/109 246/474/78 +f 248/476/80 251/479/80 250/478/80 +f 249/477/79 250/478/79 252/481/79 +f 247/483/82 252/617/82 251/479/82 +f 252/484/83 251/479/110 253/485/84 +f 245/487/86 253/618/86 251/479/86 +f 244/471/87 246/474/87 253/488/87 +f 248/476/90 247/619/90 243/492/74 +f 255/494/93 243/491/111 252/484/91 +f 243/491/111 247/619/111 252/484/91 +f 256/501/77 267/620/109 259/502/78 +f 261/504/80 264/507/80 263/506/80 +f 262/505/79 263/506/79 265/509/79 +f 260/511/82 265/621/82 264/507/82 +f 265/512/83 264/507/110 266/513/84 +f 258/515/86 266/622/86 264/507/86 +f 257/499/87 259/502/87 266/516/87 +f 261/504/90 260/623/90 256/520/74 +f 268/522/93 256/519/111 265/512/91 +f 256/519/111 260/623/111 265/512/112 +f 269/529/77 280/624/109 272/530/78 +f 274/532/80 277/535/80 276/534/80 +f 275/533/79 276/534/79 278/537/79 +f 273/539/82 278/625/82 277/535/82 +f 278/540/83 277/535/110 279/541/84 +f 271/543/86 279/626/86 277/535/86 +f 270/527/87 272/530/87 279/544/87 +f 274/532/90 273/627/90 269/548/74 +f 281/550/108 269/547/111 278/540/91 +f 269/547/111 273/627/111 278/540/91 +f 282/557/77 293/628/109 285/558/78 +f 287/560/80 290/563/80 289/562/80 +f 288/561/79 289/562/79 291/565/79 +f 286/567/82 291/629/82 290/563/82 +f 291/568/83 290/563/110 292/569/84 +f 284/571/86 292/630/86 290/563/86 +f 283/555/87 285/558/87 292/572/87 +f 287/560/90 286/631/90 282/576/74 +f 294/578/105 282/575/111 291/568/91 +f 282/575/111 286/631/111 291/568/91 +f 295/632/75 296/633/75 297/634/75 +f 298/635/113 297/636/113 299/637/113 +f 300/638/114 301/639/114 297/636/114 +f 302/640/115 303/641/115 301/639/115 +f 304/642/116 305/643/116 303/641/116 +f 306/644/117 307/645/117 305/643/117 +f 308/646/118 309/647/118 307/645/118 +f 310/648/119 311/649/119 309/647/119 +f 312/650/120 313/651/120 311/649/120 +f 314/652/121 295/653/121 313/651/121 +f 315/654/122 296/655/122 295/653/122 +f 296/633/96 298/656/96 299/657/96 +f 304/658/81 302/659/81 312/660/81 +f 296/633/75 299/657/75 297/634/75 +f 297/634/75 301/661/75 313/662/75 +f 301/661/75 303/663/75 311/664/75 +f 303/663/75 305/665/75 311/664/75 +f 305/665/75 307/666/75 309/667/75 +f 311/664/75 305/665/75 309/667/75 +f 311/664/75 313/662/75 301/661/75 +f 313/662/75 295/632/75 297/634/75 +f 298/635/113 300/638/113 297/636/113 +f 300/638/114 302/640/114 301/639/114 +f 302/640/115 304/642/115 303/641/115 +f 304/642/116 306/644/116 305/643/116 +f 306/644/117 308/646/117 307/645/117 +f 308/646/118 310/648/118 309/647/118 +f 310/648/119 312/650/119 311/649/119 +f 312/650/120 314/652/120 313/651/120 +f 314/652/121 315/654/121 295/653/121 +f 315/654/122 316/668/122 296/655/122 +f 296/633/96 316/669/96 298/656/96 +f 302/659/81 300/670/81 315/671/81 +f 300/670/81 298/656/81 315/671/81 +f 298/656/81 316/669/81 315/671/81 +f 315/671/81 314/672/81 302/659/81 +f 314/672/81 312/660/81 302/659/81 +f 312/660/81 310/673/81 304/658/81 +f 310/673/81 308/674/81 306/675/81 +f 304/658/81 310/673/81 306/675/81 +f 317/676/123 318/677/123 319/678/123 +f 320/679/124 321/680/124 318/677/124 +f 322/681/125 323/682/125 321/680/125 +f 324/683/126 325/684/126 323/682/126 +f 326/685/127 327/686/127 325/684/127 +f 328/687/128 329/688/128 327/686/128 +f 330/689/129 331/690/129 329/688/129 +f 332/691/130 333/692/130 331/690/130 +f 334/693/131 335/694/131 333/692/131 +f 336/695/132 337/696/132 335/694/132 +f 338/697/133 339/698/133 337/696/133 +f 340/699/134 341/700/134 339/698/134 +f 342/701/135 343/702/135 341/700/135 +f 344/703/136 345/704/136 343/702/136 +f 346/705/137 347/706/137 345/704/137 +f 348/707/138 349/708/139 347/706/139 +f 350/709/140 351/710/140 349/708/140 +f 352/711/141 353/712/141 351/710/141 +f 354/713/142 355/714/142 353/712/142 +f 356/715/143 357/716/143 355/714/143 +f 358/717/144 359/718/144 357/716/144 +f 360/719/145 361/720/145 359/718/145 +f 338/721/81 330/722/81 322/723/81 +f 362/724/146 363/725/146 361/720/146 +f 364/726/147 319/727/147 363/725/147 +f 365/728/136 366/729/136 367/730/136 +f 368/731/124 369/732/124 370/733/124 +f 371/734/127 372/735/127 369/732/127 +f 373/736/130 374/737/130 372/735/130 +f 375/738/133 376/739/133 374/737/133 +f 377/740/136 378/741/136 376/739/136 +f 379/742/140 380/743/140 378/741/140 +f 373/744/81 368/745/81 381/746/81 +f 381/747/143 382/748/143 380/743/143 +f 383/749/146 370/750/146 382/748/146 +f 374/751/75 378/752/75 382/753/75 +f 376/754/148 384/755/148 374/756/148 +f 374/756/149 385/757/149 372/758/149 +f 372/758/150 386/759/150 369/760/150 +f 386/759/151 370/761/151 369/760/151 +f 387/762/152 382/763/152 370/761/152 +f 388/764/153 380/765/153 382/763/153 +f 389/766/154 378/767/154 380/765/154 +f 390/768/155 376/754/155 378/767/155 +f 391/769/143 385/770/143 384/771/143 +f 392/772/146 384/771/146 393/773/146 +f 394/774/133 388/775/133 387/776/133 +f 395/777/136 387/778/136 386/779/136 +f 396/780/140 386/779/140 385/770/140 +f 397/781/124 393/773/124 390/782/124 +f 398/783/123 399/784/123 400/785/123 +f 401/786/124 402/787/124 399/784/124 +f 403/788/125 404/789/125 402/787/125 +f 405/790/156 406/791/156 404/789/156 +f 407/792/127 408/793/127 406/791/127 +f 409/794/128 410/795/128 408/793/128 +f 411/796/129 412/797/129 410/795/129 +f 413/798/130 414/799/130 412/797/130 +f 415/800/131 416/801/131 414/799/131 +f 417/802/132 418/803/132 416/801/132 +f 419/804/133 420/805/133 418/803/133 +f 421/806/134 422/807/134 420/805/134 +f 423/808/135 424/809/135 422/807/135 +f 425/810/136 426/811/136 424/809/136 +f 427/812/137 428/813/137 426/811/137 +f 429/814/138 430/815/138 428/813/138 +f 431/816/140 432/817/140 430/815/140 +f 433/818/141 434/819/141 432/817/141 +f 435/820/142 436/821/142 434/819/142 +f 437/822/143 438/823/143 436/821/143 +f 439/824/144 440/825/144 438/823/144 +f 441/826/145 442/827/145 440/825/145 +f 435/828/81 419/829/81 403/830/81 +f 443/831/146 444/832/146 442/827/146 +f 445/833/147 400/834/147 444/832/147 +f 436/835/75 444/836/75 412/837/75 +f 446/838/123 447/839/123 448/840/123 +f 449/841/124 450/842/124 447/839/124 +f 451/843/125 452/844/125 450/842/125 +f 453/845/126 454/846/126 452/844/126 +f 455/847/127 456/848/127 454/846/127 +f 457/849/128 458/850/128 456/848/128 +f 459/851/129 460/852/129 458/850/129 +f 461/853/130 462/854/130 460/852/130 +f 463/855/131 464/856/131 462/854/131 +f 465/857/132 466/858/132 464/856/132 +f 467/859/133 468/860/133 466/858/133 +f 469/861/134 470/862/134 468/860/134 +f 471/863/135 472/864/135 470/862/135 +f 473/865/136 474/866/136 472/864/136 +f 475/867/137 476/868/137 474/866/157 +f 477/869/138 478/870/139 476/868/139 +f 479/871/140 480/872/140 478/870/140 +f 481/873/141 482/874/141 480/872/141 +f 483/875/142 484/876/142 482/874/142 +f 485/877/143 486/878/143 484/876/143 +f 487/879/144 488/880/144 486/878/144 +f 489/881/145 490/882/145 488/880/145 +f 467/883/81 459/884/81 451/885/81 +f 491/886/146 492/887/146 490/882/146 +f 493/888/147 448/889/147 492/887/147 +f 476/890/75 484/891/75 492/892/75 +f 494/893/123 495/894/123 496/895/123 +f 497/896/124 498/897/124 495/894/124 +f 499/898/125 500/899/125 498/897/125 +f 501/900/156 502/901/156 500/899/126 +f 503/902/127 504/903/127 502/901/127 +f 505/904/128 506/905/128 504/903/128 +f 507/906/129 508/907/129 506/905/129 +f 509/908/130 510/909/130 508/907/130 +f 511/910/131 512/911/131 510/909/131 +f 513/912/132 514/913/132 512/911/132 +f 515/914/133 516/915/133 514/913/133 +f 517/916/134 518/917/134 516/915/134 +f 519/918/135 520/919/135 518/917/135 +f 521/920/136 522/921/136 520/919/136 +f 523/922/137 524/923/137 522/921/137 +f 525/924/138 526/925/138 524/923/138 +f 527/926/140 528/927/140 526/925/140 +f 529/928/141 530/929/141 528/927/141 +f 531/930/142 532/931/142 530/929/142 +f 533/932/143 534/933/143 532/931/143 +f 535/934/144 536/935/144 534/933/144 +f 537/936/145 538/937/145 536/935/145 +f 515/938/81 507/939/81 499/940/81 +f 539/941/146 540/942/146 538/937/146 +f 541/943/147 496/944/147 540/942/147 +f 524/945/75 532/946/75 540/947/75 +f 542/948/123 543/949/123 544/950/123 +f 545/951/124 546/952/124 543/949/124 +f 547/953/125 548/954/125 546/952/125 +f 549/955/126 550/956/126 548/954/126 +f 551/957/127 552/958/127 550/956/127 +f 553/959/128 554/960/128 552/958/128 +f 555/961/129 556/962/129 554/960/129 +f 557/963/130 558/964/130 556/962/130 +f 559/965/131 560/966/131 558/964/131 +f 561/967/132 562/968/132 560/966/132 +f 563/969/133 564/970/133 562/968/133 +f 565/971/134 566/972/134 564/970/134 +f 567/973/135 568/974/135 566/972/135 +f 569/975/136 570/976/136 568/974/136 +f 571/977/137 572/978/137 570/976/137 +f 573/979/139 574/980/139 572/978/139 +f 575/981/140 576/982/140 574/980/140 +f 577/983/141 578/984/141 576/982/141 +f 579/985/142 580/986/142 578/984/142 +f 581/987/143 582/988/143 580/986/143 +f 583/989/144 584/990/144 582/988/144 +f 585/991/145 586/992/145 584/990/145 +f 563/993/81 555/994/81 547/995/81 +f 587/996/146 588/997/146 586/992/146 +f 589/998/147 544/999/147 588/997/147 +f 572/1000/75 580/1001/75 588/1002/75 +f 590/1003/123 591/1004/123 592/1005/123 +f 593/1006/124 594/1007/124 591/1004/124 +f 595/1008/158 596/1009/125 594/1007/125 +f 597/1010/126 598/1011/126 596/1009/126 +f 599/1012/127 600/1013/127 598/1011/127 +f 601/1014/128 602/1015/128 600/1013/128 +f 603/1016/129 604/1017/129 602/1015/129 +f 605/1018/130 606/1019/130 604/1017/130 +f 607/1020/131 608/1021/131 606/1019/131 +f 609/1022/159 610/1023/132 608/1021/132 +f 611/1024/133 612/1025/133 610/1023/133 +f 613/1026/134 614/1027/134 612/1025/134 +f 615/1028/135 616/1029/135 614/1027/135 +f 617/1030/136 618/1031/136 616/1029/136 +f 619/1032/137 620/1033/157 618/1031/157 +f 621/1034/138 622/1035/139 620/1033/139 +f 623/1036/140 624/1037/140 622/1035/140 +f 625/1038/141 626/1039/141 624/1037/141 +f 627/1040/142 628/1041/142 626/1039/142 +f 629/1042/143 630/1043/143 628/1041/143 +f 631/1044/144 632/1045/144 630/1043/144 +f 633/1046/145 634/1047/145 632/1045/145 +f 611/1048/81 603/1049/81 595/1050/81 +f 635/1051/146 636/1052/146 634/1047/146 +f 637/1053/147 592/1054/147 636/1052/147 +f 620/1055/75 628/1056/75 636/1057/75 +f 638/1058/75 318/1059/75 367/730/75 +f 367/730/75 321/1060/75 365/728/75 +f 365/728/75 323/1061/75 639/1062/75 +f 639/1062/75 325/1063/75 640/1064/75 +f 640/1064/75 327/1065/75 641/1066/75 +f 641/1066/75 329/1067/75 642/1068/75 +f 643/1069/75 329/1067/75 331/1070/75 +f 644/1071/75 331/1070/75 333/1072/75 +f 645/1073/75 333/1072/75 335/1074/75 +f 646/1075/75 335/1074/75 337/1076/75 +f 647/1077/75 337/1076/75 339/1078/75 +f 648/1079/75 339/1078/75 341/1080/75 +f 648/1079/75 343/1081/75 649/1082/75 +f 649/1082/75 345/1083/75 650/1084/75 +f 650/1084/75 347/1085/75 651/1086/75 +f 651/1086/75 349/1087/75 652/1088/75 +f 652/1088/75 351/1089/75 653/1090/75 +f 653/1090/75 353/1091/75 654/1092/75 +f 655/1093/75 353/1091/75 355/1094/75 +f 656/1095/75 355/1094/75 357/1096/75 +f 657/1097/75 357/1096/75 359/1098/75 +f 658/1099/75 359/1098/75 361/1100/75 +f 659/1101/75 361/1100/75 363/1102/75 +f 638/1058/75 363/1102/75 319/1103/75 +f 660/1104/75 661/1105/75 662/1106/75 +f 653/1090/127 663/1107/127 652/1088/127 +f 646/1075/145 664/1108/145 645/1073/145 +f 639/1062/137 665/1109/137 365/728/137 +f 654/1092/128 666/1110/128 653/1090/128 +f 647/1077/146 667/1111/146 646/1075/146 +f 640/1064/138 668/1112/138 639/1062/138 +f 655/1093/129 669/1113/129 654/1092/129 +f 648/1079/147 670/1114/147 647/1077/147 +f 641/1066/140 671/1115/140 640/1064/140 +f 656/1095/130 672/1116/130 655/1093/130 +f 649/1082/123 673/1117/123 648/1079/123 +f 642/1068/141 674/1118/141 641/1066/141 +f 657/1097/131 675/1119/131 656/1095/131 +f 650/1084/124 676/1120/124 649/1082/124 +f 643/1069/142 677/1121/142 642/1068/142 +f 658/1099/132 660/1104/132 657/1097/132 +f 651/1086/158 678/1122/125 650/1084/158 +f 644/1071/143 679/1123/143 643/1069/143 +f 659/1101/133 661/1105/133 658/1099/133 +f 367/730/135 680/1124/135 638/1058/135 +f 652/1088/156 662/1106/156 651/1086/156 +f 645/1073/144 681/1125/144 644/1071/144 +f 638/1058/134 682/1126/134 659/1101/134 +f 397/781/160 389/766/161 683/1127/162 +f 317/676/123 320/679/123 318/677/123 +f 320/679/124 322/681/124 321/680/124 +f 322/681/125 324/683/125 323/682/125 +f 324/683/126 326/685/126 325/684/126 +f 326/685/127 328/687/127 327/686/127 +f 328/687/128 330/689/128 329/688/128 +f 330/689/129 332/691/129 331/690/129 +f 332/691/130 334/693/130 333/692/130 +f 334/693/131 336/695/131 335/694/131 +f 336/695/132 338/697/132 337/696/132 +f 338/697/133 340/699/133 339/698/133 +f 340/699/134 342/701/134 341/700/134 +f 342/701/135 344/703/135 343/702/135 +f 344/703/136 346/705/136 345/704/136 +f 346/705/137 348/707/137 347/706/137 +f 348/707/138 350/709/138 349/708/139 +f 350/709/140 352/711/140 351/710/140 +f 352/711/141 354/713/141 353/712/141 +f 354/713/142 356/715/142 355/714/142 +f 356/715/143 358/717/143 357/716/143 +f 358/717/144 360/719/144 359/718/144 +f 360/719/145 362/724/145 361/720/145 +f 322/723/81 320/1128/81 317/1129/81 +f 317/1129/81 364/1130/81 322/723/81 +f 364/1130/81 362/1131/81 322/723/81 +f 362/1131/81 360/1132/81 358/1133/81 +f 358/1133/81 356/1134/81 354/1135/81 +f 354/1135/81 352/1136/81 350/1137/81 +f 350/1137/81 348/1138/81 354/1135/81 +f 348/1138/81 346/1139/81 354/1135/81 +f 346/1139/81 344/1140/81 342/1141/81 +f 342/1141/81 340/1142/81 338/721/81 +f 338/721/81 336/1143/81 334/1144/81 +f 334/1144/81 332/1145/81 330/722/81 +f 330/722/81 328/1146/81 326/1147/81 +f 326/1147/81 324/1148/81 330/722/81 +f 324/1148/81 322/723/81 330/722/81 +f 362/1131/81 358/1133/81 354/1135/81 +f 346/1139/81 342/1141/81 354/1135/81 +f 342/1141/81 338/721/81 354/1135/81 +f 338/721/81 334/1144/81 330/722/81 +f 322/723/81 362/1131/81 338/721/81 +f 362/1131/81 354/1135/81 338/721/81 +f 362/724/146 364/726/146 363/725/146 +f 364/726/147 317/1149/147 319/727/147 +f 365/728/136 665/1109/136 366/729/136 +f 368/731/124 371/734/124 369/732/124 +f 371/734/127 373/736/127 372/735/127 +f 373/736/130 375/738/130 374/737/130 +f 375/738/133 377/740/133 376/739/133 +f 377/740/136 379/742/136 378/741/136 +f 379/742/140 381/747/140 380/743/140 +f 373/744/81 371/1150/81 368/745/81 +f 368/745/81 383/1151/81 381/746/81 +f 381/746/81 379/1152/81 373/744/81 +f 379/1152/81 377/1153/81 373/744/81 +f 377/1153/81 375/1154/81 373/744/81 +f 381/747/143 383/749/143 382/748/143 +f 383/749/146 368/1155/146 370/750/146 +f 382/753/75 370/1156/75 374/751/75 +f 370/1156/75 369/1157/75 374/751/75 +f 369/1157/75 372/1158/75 374/751/75 +f 374/751/75 376/1159/75 378/752/75 +f 378/752/75 380/1160/75 382/753/75 +f 376/754/148 393/1161/148 384/755/148 +f 374/756/149 384/755/149 385/757/149 +f 372/758/150 385/757/150 386/759/150 +f 386/759/151 387/762/151 370/761/151 +f 387/762/152 388/764/152 382/763/152 +f 388/764/153 389/766/153 380/765/153 +f 389/766/154 390/768/154 378/767/154 +f 390/768/155 393/1161/155 376/754/155 +f 391/769/143 396/780/143 385/770/143 +f 392/772/146 391/769/146 384/771/146 +f 394/774/133 683/1127/133 388/775/133 +f 395/777/136 394/1162/136 387/778/136 +f 396/780/140 395/777/140 386/779/140 +f 397/781/124 392/772/124 393/773/124 +f 398/783/123 401/786/123 399/784/123 +f 401/786/124 403/788/124 402/787/124 +f 403/788/125 405/790/125 404/789/125 +f 405/790/156 407/792/156 406/791/156 +f 407/792/127 409/794/127 408/793/127 +f 409/794/128 411/796/128 410/795/128 +f 411/796/129 413/798/129 412/797/129 +f 413/798/130 415/800/130 414/799/130 +f 415/800/131 417/802/131 416/801/131 +f 417/802/132 419/804/132 418/803/132 +f 419/804/133 421/806/133 420/805/133 +f 421/806/134 423/808/134 422/807/134 +f 423/808/135 425/810/135 424/809/135 +f 425/810/136 427/812/136 426/811/136 +f 427/812/137 429/814/137 428/813/137 +f 429/814/138 431/816/138 430/815/138 +f 431/816/140 433/818/140 432/817/140 +f 433/818/141 435/820/141 434/819/141 +f 435/820/142 437/822/142 436/821/142 +f 437/822/143 439/824/143 438/823/143 +f 439/824/144 441/826/144 440/825/144 +f 441/826/145 443/831/145 442/827/145 +f 403/830/81 401/1163/81 443/1164/81 +f 401/1163/81 398/1165/81 443/1164/81 +f 398/1165/81 445/1166/81 443/1164/81 +f 443/1164/81 441/1167/81 439/1168/81 +f 439/1168/81 437/1169/81 435/828/81 +f 435/828/81 433/1170/81 431/1171/81 +f 431/1171/81 429/1172/81 427/1173/81 +f 427/1173/81 425/1174/81 423/1175/81 +f 423/1175/81 421/1176/81 419/829/81 +f 419/829/81 417/1177/81 415/1178/81 +f 415/1178/81 413/1179/81 419/829/81 +f 413/1179/81 411/1180/81 419/829/81 +f 411/1180/81 409/1181/81 407/1182/81 +f 407/1182/81 405/1183/81 403/830/81 +f 443/1164/81 439/1168/81 403/830/81 +f 439/1168/81 435/828/81 403/830/81 +f 435/828/81 431/1171/81 419/829/81 +f 431/1171/81 427/1173/81 419/829/81 +f 427/1173/81 423/1175/81 419/829/81 +f 411/1180/81 407/1182/81 419/829/81 +f 407/1182/81 403/830/81 419/829/81 +f 443/831/146 445/833/146 444/832/146 +f 445/833/147 398/1184/147 400/834/147 +f 444/836/75 400/1185/75 399/1186/75 +f 399/1186/75 402/1187/75 444/836/75 +f 402/1187/75 404/1188/75 444/836/75 +f 404/1188/75 406/1189/75 412/837/75 +f 406/1189/75 408/1190/163 412/837/75 +f 408/1190/163 410/1191/75 412/837/75 +f 412/837/75 414/1192/164 416/1193/75 +f 416/1193/75 418/1194/75 420/1195/75 +f 420/1195/75 422/1196/75 424/1197/75 +f 424/1197/75 426/1198/75 428/1199/75 +f 428/1199/75 430/1200/75 432/1201/75 +f 432/1201/75 434/1202/75 436/835/75 +f 436/835/75 438/1203/75 440/1204/164 +f 440/1204/164 442/1205/75 436/835/75 +f 442/1205/75 444/836/75 436/835/75 +f 412/837/75 416/1193/75 420/1195/75 +f 420/1195/75 424/1197/75 412/837/75 +f 424/1197/75 428/1199/75 412/837/75 +f 428/1199/75 432/1201/75 436/835/75 +f 444/836/75 404/1188/75 412/837/75 +f 428/1199/75 436/835/75 412/837/75 +f 446/838/123 449/841/123 447/839/123 +f 449/841/124 451/843/124 450/842/124 +f 451/843/125 453/845/125 452/844/125 +f 453/845/126 455/847/126 454/846/126 +f 455/847/127 457/849/127 456/848/127 +f 457/849/128 459/851/128 458/850/128 +f 459/851/129 461/853/129 460/852/129 +f 461/853/130 463/855/130 462/854/130 +f 463/855/131 465/857/131 464/856/131 +f 465/857/132 467/859/132 466/858/132 +f 467/859/133 469/861/133 468/860/133 +f 469/861/134 471/863/134 470/862/134 +f 471/863/135 473/865/135 472/864/135 +f 473/865/136 475/867/136 474/866/136 +f 475/867/137 477/869/137 476/868/137 +f 477/869/138 479/871/138 478/870/139 +f 479/871/140 481/873/140 480/872/140 +f 481/873/141 483/875/141 482/874/141 +f 483/875/142 485/877/142 484/876/142 +f 485/877/143 487/879/143 486/878/143 +f 487/879/144 489/881/144 488/880/144 +f 489/881/145 491/886/145 490/882/145 +f 451/885/81 449/1206/81 446/1207/81 +f 446/1207/81 493/1208/81 491/1209/81 +f 491/1209/81 489/1210/165 487/1211/81 +f 487/1211/81 485/1212/81 491/1209/81 +f 485/1212/81 483/1213/81 491/1209/81 +f 483/1213/81 481/1214/165 479/1215/81 +f 479/1215/81 477/1216/81 483/1213/81 +f 477/1216/81 475/1217/81 483/1213/81 +f 475/1217/81 473/1218/81 471/1219/81 +f 471/1219/81 469/1220/81 467/883/81 +f 467/883/81 465/1221/81 463/1222/81 +f 463/1222/81 461/1223/81 467/883/81 +f 461/1223/81 459/884/81 467/883/81 +f 459/884/81 457/1224/81 455/1225/81 +f 455/1225/81 453/1226/81 459/884/81 +f 453/1226/81 451/885/81 459/884/81 +f 451/885/81 446/1207/81 491/1209/81 +f 475/1217/81 471/1219/81 483/1213/81 +f 471/1219/81 467/883/81 483/1213/81 +f 451/885/81 491/1209/81 467/883/81 +f 491/1209/81 483/1213/81 467/883/81 +f 491/886/146 493/888/146 492/887/146 +f 493/888/147 446/1227/147 448/889/147 +f 492/892/75 448/1228/75 447/1229/75 +f 447/1229/75 450/1230/75 492/892/75 +f 450/1230/75 452/1231/75 492/892/75 +f 452/1231/75 454/1232/163 456/1233/164 +f 456/1233/164 458/1234/75 452/1231/75 +f 458/1234/75 460/1235/75 452/1231/75 +f 460/1235/75 462/1236/75 464/1237/75 +f 464/1237/75 466/1238/75 468/1239/75 +f 468/1239/75 470/1240/75 476/890/75 +f 470/1240/75 472/1241/75 476/890/75 +f 472/1241/75 474/1242/164 476/890/75 +f 476/890/75 478/1243/75 480/1244/163 +f 480/1244/163 482/1245/75 476/890/75 +f 482/1245/75 484/891/75 476/890/75 +f 484/891/75 486/1246/164 488/1247/74 +f 488/1247/74 490/1248/75 484/891/75 +f 490/1248/75 492/892/75 484/891/75 +f 460/1235/75 464/1237/75 476/890/75 +f 464/1237/75 468/1239/75 476/890/75 +f 492/892/75 452/1231/75 476/890/75 +f 452/1231/75 460/1235/75 476/890/75 +f 494/893/123 497/896/123 495/894/123 +f 497/896/124 499/898/124 498/897/124 +f 499/898/125 501/900/125 500/899/125 +f 501/900/156 503/902/156 502/901/156 +f 503/902/127 505/904/127 504/903/127 +f 505/904/128 507/906/128 506/905/128 +f 507/906/129 509/908/129 508/907/129 +f 509/908/130 511/910/130 510/909/130 +f 511/910/131 513/912/131 512/911/131 +f 513/912/132 515/914/159 514/913/132 +f 515/914/133 517/916/133 516/915/133 +f 517/916/134 519/918/134 518/917/134 +f 519/918/135 521/920/135 520/919/135 +f 521/920/136 523/922/136 522/921/136 +f 523/922/137 525/924/137 524/923/137 +f 525/924/138 527/926/138 526/925/138 +f 527/926/140 529/928/140 528/927/140 +f 529/928/141 531/930/141 530/929/141 +f 531/930/142 533/932/142 532/931/142 +f 533/932/143 535/934/143 534/933/143 +f 535/934/144 537/936/144 536/935/144 +f 537/936/145 539/941/145 538/937/145 +f 499/940/81 497/1249/81 494/1250/81 +f 494/1250/81 541/1251/81 539/1252/81 +f 539/1252/81 537/1253/166 535/1254/165 +f 535/1254/165 533/1255/81 539/1252/81 +f 533/1255/81 531/1256/81 539/1252/81 +f 531/1256/81 529/1257/81 527/1258/81 +f 527/1258/81 525/1259/81 531/1256/81 +f 525/1259/81 523/1260/81 531/1256/81 +f 523/1260/81 521/1261/81 519/1262/81 +f 519/1262/81 517/1263/81 515/938/81 +f 515/938/81 513/1264/166 511/1265/81 +f 511/1265/81 509/1266/81 515/938/81 +f 509/1266/81 507/939/81 515/938/81 +f 507/939/81 505/1267/81 503/1268/81 +f 503/1268/81 501/1269/81 507/939/81 +f 501/1269/81 499/940/81 507/939/81 +f 499/940/81 494/1250/81 539/1252/81 +f 523/1260/81 519/1262/81 531/1256/81 +f 519/1262/81 515/938/81 531/1256/81 +f 499/940/81 539/1252/81 515/938/81 +f 539/1252/81 531/1256/81 515/938/81 +f 539/941/146 541/943/146 540/942/146 +f 541/943/147 494/1270/147 496/944/147 +f 540/947/75 496/1271/75 495/1272/75 +f 495/1272/75 498/1273/75 540/947/75 +f 498/1273/75 500/1274/75 540/947/75 +f 500/1274/75 502/1275/164 504/1276/75 +f 504/1276/75 506/1277/75 500/1274/75 +f 506/1277/75 508/1278/75 500/1274/75 +f 508/1278/75 510/1279/163 512/1280/75 +f 512/1280/75 514/1281/163 516/1282/75 +f 516/1282/75 518/1283/75 520/1284/75 +f 520/1284/75 522/1285/75 524/945/75 +f 524/945/75 526/1286/163 528/1287/75 +f 528/1287/75 530/1288/75 524/945/75 +f 530/1288/75 532/946/75 524/945/75 +f 532/946/75 534/1289/163 536/1290/164 +f 536/1290/164 538/1291/75 532/946/75 +f 538/1291/75 540/947/75 532/946/75 +f 508/1278/75 512/1280/75 516/1282/75 +f 516/1282/75 520/1284/75 508/1278/75 +f 520/1284/75 524/945/75 508/1278/75 +f 540/947/75 500/1274/75 524/945/75 +f 500/1274/75 508/1278/75 524/945/75 +f 542/948/123 545/951/123 543/949/123 +f 545/951/124 547/953/124 546/952/124 +f 547/953/125 549/955/125 548/954/125 +f 549/955/126 551/957/156 550/956/126 +f 551/957/127 553/959/127 552/958/127 +f 553/959/128 555/961/128 554/960/128 +f 555/961/129 557/963/129 556/962/129 +f 557/963/130 559/965/130 558/964/130 +f 559/965/131 561/967/131 560/966/131 +f 561/967/132 563/969/132 562/968/132 +f 563/969/133 565/971/133 564/970/133 +f 565/971/134 567/973/134 566/972/134 +f 567/973/135 569/975/135 568/974/135 +f 569/975/136 571/977/136 570/976/136 +f 571/977/137 573/979/137 572/978/137 +f 573/979/139 575/981/138 574/980/139 +f 575/981/140 577/983/140 576/982/140 +f 577/983/141 579/985/141 578/984/141 +f 579/985/142 581/987/142 580/986/142 +f 581/987/143 583/989/143 582/988/143 +f 583/989/144 585/991/144 584/990/144 +f 585/991/145 587/996/145 586/992/145 +f 547/995/81 545/1292/81 542/1293/81 +f 542/1293/81 589/1294/81 587/1295/81 +f 587/1295/81 585/1296/166 583/1297/81 +f 583/1297/81 581/1298/81 587/1295/81 +f 581/1298/81 579/1299/81 587/1295/81 +f 579/1299/81 577/1300/81 575/1301/81 +f 575/1301/81 573/1302/81 579/1299/81 +f 573/1302/81 571/1303/81 579/1299/81 +f 571/1303/81 569/1304/81 567/1305/81 +f 567/1305/81 565/1306/81 563/993/81 +f 563/993/81 561/1307/165 559/1308/81 +f 559/1308/81 557/1309/81 563/993/81 +f 557/1309/81 555/994/81 563/993/81 +f 555/994/81 553/1310/81 551/1311/81 +f 551/1311/81 549/1312/81 555/994/81 +f 549/1312/81 547/995/81 555/994/81 +f 547/995/81 542/1293/81 587/1295/81 +f 571/1303/81 567/1305/81 579/1299/81 +f 567/1305/81 563/993/81 579/1299/81 +f 547/995/81 587/1295/81 563/993/81 +f 587/1295/81 579/1299/81 563/993/81 +f 587/996/146 589/998/146 588/997/146 +f 589/998/147 542/1313/147 544/999/147 +f 588/1002/75 544/1314/75 543/1315/75 +f 543/1315/75 546/1316/75 588/1002/75 +f 546/1316/75 548/1317/75 588/1002/75 +f 548/1317/75 550/1318/75 552/1319/75 +f 552/1319/75 554/1320/75 548/1317/75 +f 554/1320/75 556/1321/75 548/1317/75 +f 556/1321/75 558/1322/75 560/1323/75 +f 560/1323/75 562/1324/75 564/1325/75 +f 564/1325/75 566/1326/75 572/1000/75 +f 566/1326/75 568/1327/75 572/1000/75 +f 568/1327/75 570/1328/75 572/1000/75 +f 572/1000/75 574/1329/75 576/1330/75 +f 576/1330/75 578/1331/75 572/1000/75 +f 578/1331/75 580/1001/75 572/1000/75 +f 580/1001/75 582/1332/75 584/1333/163 +f 584/1333/163 586/1334/75 580/1001/75 +f 586/1334/75 588/1002/75 580/1001/75 +f 556/1321/75 560/1323/75 572/1000/75 +f 560/1323/75 564/1325/75 572/1000/75 +f 588/1002/75 548/1317/75 572/1000/75 +f 548/1317/75 556/1321/75 572/1000/75 +f 590/1003/123 593/1006/123 591/1004/123 +f 593/1006/124 595/1008/124 594/1007/124 +f 595/1008/158 597/1010/158 596/1009/125 +f 597/1010/126 599/1012/126 598/1011/126 +f 599/1012/127 601/1014/127 600/1013/127 +f 601/1014/128 603/1016/128 602/1015/128 +f 603/1016/129 605/1018/129 604/1017/129 +f 605/1018/130 607/1020/130 606/1019/130 +f 607/1020/131 609/1022/131 608/1021/131 +f 609/1022/159 611/1024/159 610/1023/132 +f 611/1024/133 613/1026/133 612/1025/133 +f 613/1026/134 615/1028/134 614/1027/134 +f 615/1028/135 617/1030/135 616/1029/135 +f 617/1030/136 619/1032/136 618/1031/136 +f 619/1032/137 621/1034/137 620/1033/157 +f 621/1034/138 623/1036/138 622/1035/139 +f 623/1036/140 625/1038/140 624/1037/140 +f 625/1038/141 627/1040/141 626/1039/141 +f 627/1040/142 629/1042/142 628/1041/142 +f 629/1042/143 631/1044/143 630/1043/143 +f 631/1044/144 633/1046/144 632/1045/144 +f 633/1046/145 635/1051/145 634/1047/145 +f 595/1050/81 593/1335/81 590/1336/81 +f 590/1336/81 637/1337/81 595/1050/81 +f 637/1337/81 635/1338/81 595/1050/81 +f 635/1338/81 633/1339/81 631/1340/81 +f 631/1340/81 629/1341/81 635/1338/81 +f 629/1341/81 627/1342/81 635/1338/81 +f 627/1342/81 625/1343/81 623/1344/81 +f 623/1344/81 621/1345/81 627/1342/81 +f 621/1345/81 619/1346/81 627/1342/81 +f 619/1346/81 617/1347/81 615/1348/81 +f 615/1348/81 613/1349/81 611/1048/81 +f 611/1048/81 609/1350/81 607/1351/81 +f 607/1351/81 605/1352/81 611/1048/81 +f 605/1352/81 603/1049/81 611/1048/81 +f 603/1049/81 601/1353/81 599/1354/81 +f 599/1354/81 597/1355/81 603/1049/81 +f 597/1355/81 595/1050/81 603/1049/81 +f 619/1346/81 615/1348/81 627/1342/81 +f 615/1348/81 611/1048/81 627/1342/81 +f 595/1050/81 635/1338/81 611/1048/81 +f 635/1338/81 627/1342/81 611/1048/81 +f 635/1051/146 637/1053/146 636/1052/146 +f 637/1053/147 590/1356/147 592/1054/147 +f 636/1057/75 592/1357/75 591/1358/75 +f 591/1358/75 594/1359/75 636/1057/75 +f 594/1359/75 596/1360/75 636/1057/75 +f 596/1360/75 598/1361/75 600/1362/75 +f 600/1362/75 602/1363/75 596/1360/75 +f 602/1363/75 604/1364/75 596/1360/75 +f 604/1364/75 606/1365/75 608/1366/75 +f 608/1366/75 610/1367/75 612/1368/75 +f 612/1368/75 614/1369/75 620/1055/75 +f 614/1369/75 616/1370/75 620/1055/75 +f 616/1370/75 618/1371/75 620/1055/75 +f 620/1055/75 622/1372/75 624/1373/75 +f 624/1373/75 626/1374/75 620/1055/75 +f 626/1374/75 628/1056/75 620/1055/75 +f 628/1056/75 630/1375/75 632/1376/75 +f 632/1376/75 634/1377/75 628/1056/75 +f 634/1377/75 636/1057/75 628/1056/75 +f 604/1364/75 608/1366/75 620/1055/75 +f 608/1366/75 612/1368/75 620/1055/75 +f 636/1057/75 596/1360/75 620/1055/75 +f 596/1360/75 604/1364/75 620/1055/75 +f 638/1058/75 319/1103/75 318/1059/75 +f 367/730/75 318/1059/75 321/1060/75 +f 365/728/75 321/1060/75 323/1061/75 +f 639/1062/75 323/1061/75 325/1063/75 +f 640/1064/75 325/1063/75 327/1065/75 +f 641/1066/75 327/1065/75 329/1067/75 +f 643/1069/75 642/1068/75 329/1067/75 +f 644/1071/75 643/1069/75 331/1070/75 +f 645/1073/75 644/1071/75 333/1072/75 +f 646/1075/75 645/1073/75 335/1074/75 +f 647/1077/75 646/1075/75 337/1076/75 +f 648/1079/75 647/1077/75 339/1078/75 +f 648/1079/75 341/1080/75 343/1081/75 +f 649/1082/75 343/1081/75 345/1083/75 +f 650/1084/75 345/1083/75 347/1085/75 +f 651/1086/75 347/1085/75 349/1087/75 +f 652/1088/75 349/1087/75 351/1089/75 +f 653/1090/75 351/1089/75 353/1091/75 +f 655/1093/75 654/1092/75 353/1091/75 +f 656/1095/75 655/1093/75 355/1094/75 +f 657/1097/75 656/1095/75 357/1096/75 +f 658/1099/75 657/1097/75 359/1098/75 +f 659/1101/75 658/1099/75 361/1100/75 +f 638/1058/75 659/1101/75 363/1102/75 +f 682/1126/75 680/1124/75 673/1117/75 +f 680/1124/75 366/729/75 670/1114/75 +f 366/729/75 665/1109/75 670/1114/75 +f 665/1109/75 668/1112/75 667/1111/75 +f 670/1114/75 665/1109/75 667/1111/75 +f 668/1112/75 671/1115/75 681/1125/75 +f 671/1115/75 674/1118/75 679/1123/75 +f 674/1118/75 677/1121/75 679/1123/75 +f 679/1123/75 681/1125/75 671/1115/75 +f 681/1125/75 664/1108/75 668/1112/75 +f 664/1108/75 667/1111/75 668/1112/75 +f 670/1114/75 673/1117/75 680/1124/75 +f 673/1117/75 676/1120/75 682/1126/75 +f 676/1120/75 678/1122/75 682/1126/75 +f 678/1122/75 662/1106/75 661/1105/75 +f 682/1126/75 678/1122/75 661/1105/75 +f 662/1106/75 663/1107/75 675/1119/75 +f 663/1107/75 666/1110/75 672/1116/75 +f 666/1110/75 669/1113/75 672/1116/75 +f 672/1116/75 675/1119/75 663/1107/75 +f 675/1119/75 660/1104/75 662/1106/75 +f 653/1090/127 666/1110/127 663/1107/127 +f 646/1075/145 667/1111/145 664/1108/145 +f 639/1062/137 668/1112/137 665/1109/137 +f 654/1092/128 669/1113/128 666/1110/128 +f 647/1077/146 670/1114/146 667/1111/146 +f 640/1064/138 671/1115/138 668/1112/138 +f 655/1093/129 672/1116/129 669/1113/129 +f 648/1079/147 673/1117/147 670/1114/147 +f 641/1066/140 674/1118/140 671/1115/140 +f 656/1095/130 675/1119/130 672/1116/130 +f 649/1082/123 676/1120/123 673/1117/123 +f 642/1068/141 677/1121/141 674/1118/141 +f 657/1097/131 660/1104/131 675/1119/131 +f 650/1084/124 678/1122/124 676/1120/124 +f 643/1069/142 679/1123/142 677/1121/142 +f 658/1099/132 661/1105/132 660/1104/132 +f 651/1086/158 662/1106/125 678/1122/125 +f 644/1071/143 681/1125/143 679/1123/143 +f 659/1101/133 682/1126/133 661/1105/133 +f 367/730/135 366/729/135 680/1124/135 +f 652/1088/156 663/1107/156 662/1106/156 +f 645/1073/144 664/1108/144 681/1125/144 +f 638/1058/134 680/1124/134 682/1126/134 +f 683/1127/162 394/774/75 395/777/75 +f 395/777/75 396/780/75 683/1127/162 +f 396/780/75 391/769/75 397/781/160 +f 683/1127/162 396/780/75 397/781/160 +f 391/769/75 392/772/75 397/781/160 +f 397/781/160 390/768/127 389/766/161 +f 389/766/161 388/775/130 683/1127/162 +f 684/1378/167 685/1379/167 686/1380/167 +f 687/1381/168 688/1382/168 689/1383/168 +f 690/1384/169 685/1385/169 691/1386/169 +f 692/1387/170 691/1386/170 693/1388/170 +f 694/1389/171 692/1390/171 693/1388/171 +f 695/1391/169 696/1392/169 697/1393/169 +f 698/1394/172 694/1389/172 699/1395/172 +f 700/1396/173 701/1397/173 702/1398/173 +f 699/1395/168 703/1399/168 698/1394/168 +f 704/1400/174 702/1401/174 703/1399/174 +f 705/1402/175 684/1403/175 701/1404/175 +f 706/1405/82 707/1406/82 708/1407/82 +f 709/1408/98 710/1409/98 711/1410/98 +f 712/1411/96 713/1412/96 706/1413/96 +f 714/1414/176 715/1415/176 716/1416/176 +f 717/1417/177 718/1418/177 715/1419/177 +f 715/1420/178 719/1421/178 717/1422/179 +f 720/1423/180 721/1424/180 718/1418/180 +f 722/1425/181 723/1426/181 724/1427/181 +f 725/1428/182 726/1429/182 727/1430/182 +f 721/1424/183 728/1431/183 729/1432/183 +f 730/1433/184 731/1434/185 719/1435/186 +f 731/1436/181 729/1437/181 728/1438/181 +f 732/1439/82 733/1440/82 734/1441/82 +f 735/1442/98 736/1443/98 737/1444/98 +f 738/1445/81 734/1446/81 736/1447/81 +f 737/1448/79 734/1449/79 733/1450/79 +f 739/1451/96 738/1452/96 735/1453/96 +f 740/1454/187 741/1455/187 742/1456/187 +f 743/1457/188 744/1458/188 745/1459/188 +f 744/1460/189 746/1461/189 745/1462/189 +f 747/1463/190 746/1464/190 748/1465/190 +f 742/1466/191 743/1467/191 740/1468/191 +f 749/1469/98 747/1470/98 750/1471/98 +f 751/1472/192 752/1473/192 741/1455/192 +f 747/1474/193 753/1475/193 754/1476/193 +f 755/1477/194 749/1478/194 752/1479/194 +f 751/1480/82 740/1481/82 743/1482/82 +f 756/1483/96 757/1484/96 758/1485/96 +f 756/1486/195 759/1487/195 760/1488/195 +f 761/1489/196 762/1490/196 757/1491/196 +f 763/1492/197 759/1493/197 764/1494/197 +f 762/1495/198 765/1496/198 766/1497/198 +f 767/1498/199 765/1499/199 768/1500/199 +f 764/1501/200 769/1502/200 763/1503/200 +f 768/1504/201 770/1505/201 767/1506/201 +f 771/1507/202 772/1508/202 773/1509/202 +f 774/1510/203 775/1511/203 772/1512/203 +f 776/1513/204 777/1514/204 778/1515/204 +f 775/1516/98 767/1517/98 770/1518/98 +f 779/1519/205 773/1520/205 780/1521/205 +f 777/1522/82 768/1523/82 769/1524/82 +f 778/1525/206 781/1526/206 776/1527/206 +f 780/1528/207 782/1529/207 779/1530/207 +f 783/1531/208 784/1532/208 782/1533/208 +f 785/1534/209 786/1535/209 784/1536/209 +f 787/1537/210 788/1538/210 789/1539/210 +f 790/1540/98 791/1541/98 792/1542/98 +f 793/1543/79 794/1544/79 795/1545/79 +f 796/1546/211 793/1547/211 795/1548/211 +f 797/1549/212 798/1550/212 799/1551/212 +f 792/1552/213 796/1553/213 800/1554/213 +f 789/1555/82 797/1556/82 801/1557/82 +f 802/1558/214 790/1559/214 803/1560/214 +f 804/1561/212 803/1562/212 805/1563/212 +f 806/1564/213 807/1565/213 808/1566/213 +f 809/1567/211 810/1568/211 811/1569/211 +f 811/1570/79 810/1571/79 812/1572/79 +f 813/1573/79 795/1545/79 794/1574/79 +f 800/1575/215 805/1576/215 792/1577/215 +f 788/1578/214 798/1579/214 814/1580/214 +f 806/1581/215 801/1582/215 797/1583/215 +f 815/1584/210 791/1585/210 790/1586/210 +f 815/1587/82 804/1588/82 800/1589/82 +f 816/1590/216 807/1591/98 817/1592/217 +f 713/1593/75 709/1594/75 707/1595/75 +f 739/1596/75 737/1597/75 733/1598/75 +f 818/1599/82 715/1600/82 718/1601/82 +f 818/1599/82 721/1602/82 819/1603/82 +f 819/1603/82 729/1604/82 820/1605/82 +f 725/1428/82 715/1606/82 821/1607/82 +f 725/1428/82 822/1608/82 730/1609/82 +f 727/1430/98 729/1437/82 822/1608/82 +f 823/1610/82 824/1611/82 825/1612/82 +f 820/1605/183 826/1613/183 819/1603/183 +f 818/1599/177 825/1612/177 821/1614/177 +f 727/1430/181 823/1615/181 820/1616/181 +f 821/1607/218 824/1617/218 725/1428/218 +f 819/1603/180 827/1618/180 818/1599/180 +f 828/1619/98 717/1620/98 719/1621/98 +f 829/1622/98 830/1623/98 720/1624/98 +f 829/1625/98 717/1417/98 831/1626/98 +f 724/1427/82 719/1621/98 731/1627/98 +f 724/1427/82 728/1438/98 722/1425/98 +f 832/1628/98 728/1629/98 830/1623/98 +f 833/1630/98 834/1631/98 835/1632/98 +f 831/1633/177 836/1634/177 829/1622/177 +f 828/1619/179 833/1635/179 831/1636/179 +f 832/1628/183 835/1632/183 722/1637/183 +f 724/1427/219 834/1638/219 828/1619/219 +f 829/1622/180 837/1639/180 832/1628/180 +f 721/1424/220 827/1640/220 826/1641/220 +f 715/1642/221 827/1643/221 718/1644/221 +f 729/1645/222 826/1646/222 823/1647/222 +f 726/1648/223 729/1649/223 823/1650/223 +f 730/1651/224 822/1652/224 726/1653/224 +f 715/1654/225 726/1655/226 824/1656/227 +f 728/1431/228 837/1657/228 830/1658/228 +f 728/1659/229 723/1660/229 835/1661/229 +f 719/1662/230 723/1663/230 731/1664/230 +f 723/1665/231 705/1666/232 834/1667/233 +f 836/1668/234 705/1669/235 720/1670/236 +f 836/1671/237 830/1672/237 837/1673/237 +f 838/1674/82 701/1404/82 684/1403/82 +f 838/1674/82 686/1675/82 839/1676/82 +f 840/1677/82 692/1678/82 841/1679/82 +f 842/1680/82 692/1678/82 843/1681/82 +f 840/1677/82 686/1675/82 690/1682/82 +f 844/1683/82 701/1404/82 845/1684/82 +f 689/1383/82 703/1685/82 687/1381/82 +f 844/1683/82 703/1685/82 702/1686/82 +f 842/1680/82 698/1687/82 689/1383/82 +f 846/1688/82 847/1689/82 688/1690/82 +f 842/1680/171 848/1691/171 841/1679/171 +f 838/1674/175 849/1692/175 845/1684/175 +f 844/1683/174 850/1693/174 687/1381/174 +f 840/1677/169 847/1694/169 839/1676/169 +f 839/1676/167 846/1695/167 838/1674/167 +f 689/1383/172 851/1696/172 842/1680/172 +f 845/1684/173 852/1697/173 844/1683/173 +f 841/1679/170 853/1698/170 840/1677/170 +f 854/1699/98 705/1402/98 855/1700/98 +f 854/1699/98 685/1701/98 856/1702/98 +f 697/1393/98 693/1703/98 691/1704/98 +f 857/1705/98 693/1703/98 858/1706/98 +f 697/1393/98 685/1701/98 695/1391/98 +f 859/1707/98 705/1402/98 700/1708/98 +f 860/1709/98 704/1710/98 699/1711/98 +f 859/1707/98 704/1710/98 861/1712/98 +f 857/1705/98 699/1711/98 694/1713/98 +f 862/1714/98 863/1715/98 864/1716/98 +f 854/1699/167 864/1717/167 695/1391/167 +f 857/1705/172 862/1718/172 860/1709/172 +f 859/1707/173 865/1719/173 855/1700/173 +f 697/1393/170 863/1720/170 858/1706/170 +f 860/1709/168 866/1721/168 861/1712/168 +f 858/1706/171 867/1722/171 857/1705/171 +f 855/1700/175 868/1723/175 854/1699/175 +f 861/1712/174 869/1724/174 859/1707/174 +f 693/1388/238 696/1725/238 691/1386/238 +f 693/1726/239 867/1727/239 863/1728/239 +f 867/1729/240 699/1730/240 862/1731/240 +f 862/1732/241 704/1733/241 866/1734/241 +f 704/1733/242 869/1735/242 866/1734/242 +f 869/1735/243 705/1736/243 865/1737/243 +f 868/1738/244 705/1736/244 856/1739/244 +f 868/1738/245 685/1740/245 864/1741/245 +f 685/1740/246 696/1742/246 864/1741/246 +f 692/1390/247 851/1743/247 843/1744/247 +f 692/1745/248 853/1746/248 848/1747/248 +f 853/1746/249 686/1748/249 847/1749/249 +f 846/1750/250 686/1748/250 684/1751/250 +f 701/1752/251 846/1750/251 684/1751/251 +f 701/1752/252 852/1753/252 849/1754/252 +f 852/1753/253 703/1755/253 850/1756/253 +f 703/1755/254 688/1757/254 850/1756/254 +f 698/1758/255 851/1759/256 688/1757/255 +f 709/1760/176 708/1761/176 707/1762/176 +f 870/1763/257 706/1764/96 871/1765/257 +f 871/1766/82 708/1407/82 716/1767/82 +f 730/1768/82 716/1767/82 715/1769/82 +f 719/1770/258 871/1771/258 730/1772/258 +f 872/1773/176 716/1416/176 708/1761/176 +f 873/1774/259 874/1775/260 875/1776/260 +f 875/1777/261 872/1778/98 873/1779/98 +f 876/1780/98 870/1781/262 877/1782/263 +f 878/1783/98 879/1784/98 880/1785/264 +f 880/1786/265 881/1787/265 882/1788/265 +f 876/1789/266 878/1790/266 711/1791/266 +f 877/1792/79 883/1793/79 876/1789/79 +f 711/1791/266 884/1794/266 873/1774/266 +f 885/1795/267 879/1796/268 877/1792/269 +f 884/1797/98 880/1798/264 874/1799/270 +f 881/1787/271 886/1800/272 882/1788/273 +f 875/1776/274 886/1800/274 887/1801/274 +f 880/1786/264 886/1800/275 874/1775/270 +f 877/1802/263 870/1803/262 881/1804/276 +f 684/1378/167 856/1805/167 685/1379/167 +f 687/1381/168 850/1693/168 688/1382/168 +f 690/1384/169 686/1806/169 685/1385/169 +f 692/1387/170 690/1384/170 691/1386/170 +f 694/1389/171 843/1744/171 692/1390/171 +f 695/1391/169 864/1717/169 696/1392/169 +f 698/1394/172 843/1744/172 694/1389/172 +f 700/1396/173 705/1807/173 701/1397/173 +f 699/1395/168 704/1400/168 703/1399/168 +f 704/1400/174 700/1808/174 702/1401/174 +f 705/1402/175 856/1702/175 684/1403/175 +f 706/1405/82 713/1809/82 707/1406/82 +f 712/1810/98 876/1811/98 710/1812/98 +f 876/1811/98 711/1813/98 710/1812/98 +f 711/1813/98 873/1814/98 709/1815/98 +f 873/1814/98 872/1816/98 709/1815/98 +f 712/1411/96 710/1817/96 713/1412/96 +f 714/1414/176 717/1818/176 715/1415/176 +f 717/1417/177 720/1423/177 718/1418/177 +f 715/1420/178 730/1819/277 719/1421/178 +f 720/1423/180 830/1658/180 721/1424/180 +f 722/1425/181 835/1820/181 723/1426/181 +f 725/1428/182 824/1617/182 726/1429/182 +f 721/1424/183 830/1658/183 728/1431/183 +f 730/1433/184 822/1821/278 731/1434/185 +f 731/1436/181 822/1608/181 729/1437/181 +f 732/1439/82 739/1822/82 733/1440/82 +f 735/1442/98 738/1823/98 736/1443/98 +f 738/1445/81 732/1824/81 734/1446/81 +f 737/1448/79 736/1825/79 734/1449/79 +f 739/1451/96 732/1826/96 738/1452/96 +f 740/1454/187 751/1472/187 741/1455/187 +f 743/1457/188 750/1827/188 744/1458/188 +f 744/1460/189 748/1828/189 746/1461/189 +f 747/1463/190 754/1829/190 746/1464/190 +f 742/1466/191 750/1830/191 743/1467/191 +f 748/1831/98 744/1832/98 750/1471/98 +f 750/1471/98 742/1833/98 741/1834/98 +f 741/1834/98 752/1835/98 749/1469/98 +f 747/1470/98 748/1831/98 750/1471/98 +f 741/1834/98 749/1469/98 750/1471/98 +f 751/1472/192 755/1836/192 752/1473/192 +f 747/1474/193 749/1837/193 753/1475/193 +f 755/1477/194 753/1838/194 749/1478/194 +f 745/1839/82 746/1840/82 743/1482/82 +f 746/1840/82 754/1841/82 743/1482/82 +f 754/1841/82 753/1842/82 743/1482/82 +f 753/1842/82 755/1843/82 751/1480/82 +f 743/1482/82 753/1842/82 751/1480/82 +f 756/1483/96 761/1844/96 757/1484/96 +f 756/1486/195 758/1845/195 759/1487/195 +f 761/1489/196 888/1846/196 762/1490/196 +f 763/1492/197 760/1847/197 759/1493/197 +f 762/1495/198 888/1848/198 765/1496/198 +f 767/1498/199 766/1849/199 765/1499/199 +f 764/1501/200 775/1850/200 769/1502/200 +f 768/1504/201 777/1851/201 770/1505/201 +f 771/1507/202 774/1852/202 772/1508/202 +f 774/1510/203 769/1853/203 775/1511/203 +f 776/1513/204 770/1854/204 777/1514/204 +f 773/1855/98 772/1856/98 776/1857/98 +f 772/1856/98 775/1516/98 770/1518/98 +f 775/1516/98 764/1858/98 767/1517/98 +f 764/1858/98 759/1859/98 767/1517/98 +f 759/1859/98 758/1860/98 757/1861/98 +f 759/1859/98 757/1861/98 762/1862/98 +f 785/1863/98 783/1864/98 781/1865/98 +f 783/1864/98 780/1866/98 781/1865/98 +f 759/1859/98 762/1862/98 766/1867/98 +f 759/1859/98 766/1867/98 767/1517/98 +f 781/1865/98 780/1866/98 773/1855/98 +f 776/1857/98 781/1865/98 773/1855/98 +f 770/1518/98 776/1857/98 772/1856/98 +f 779/1519/205 771/1868/205 773/1520/205 +f 779/1869/82 782/1870/82 786/1871/82 +f 782/1870/82 784/1872/82 786/1871/82 +f 769/1524/82 774/1873/82 777/1522/82 +f 774/1873/82 771/1874/82 778/1875/82 +f 760/1876/82 763/1877/82 768/1523/82 +f 763/1877/82 769/1524/82 768/1523/82 +f 761/1878/82 756/1879/82 760/1876/82 +f 888/1880/82 761/1878/82 760/1876/82 +f 771/1874/82 779/1869/82 786/1871/82 +f 771/1874/82 786/1871/82 778/1875/82 +f 765/1881/82 888/1880/82 760/1876/82 +f 768/1523/82 765/1881/82 760/1876/82 +f 774/1873/82 778/1875/82 777/1522/82 +f 778/1525/206 786/1882/206 781/1526/206 +f 780/1528/207 783/1883/207 782/1529/207 +f 783/1531/208 785/1884/208 784/1532/208 +f 785/1534/209 781/1885/209 786/1535/209 +f 787/1537/210 812/1886/210 788/1538/210 +f 791/1541/98 793/1887/98 792/1542/98 +f 793/1887/98 889/1888/98 792/1542/98 +f 792/1542/98 805/1889/98 790/1540/98 +f 805/1889/98 803/1890/98 790/1540/98 +f 793/1543/79 791/1891/79 794/1544/79 +f 796/1546/211 889/1892/211 793/1547/211 +f 797/1549/212 814/1893/212 798/1550/212 +f 792/1552/213 889/1894/213 796/1553/213 +f 811/1895/82 787/1896/82 801/1557/82 +f 787/1896/82 789/1555/82 801/1557/82 +f 789/1555/82 814/1897/82 797/1556/82 +f 801/1557/82 809/1898/82 811/1895/82 +f 802/1558/214 815/1899/214 790/1559/214 +f 804/1561/212 802/1900/212 803/1562/212 +f 808/1566/213 809/1901/213 801/1902/213 +f 806/1564/213 817/1903/213 807/1565/213 +f 808/1566/213 801/1902/213 806/1564/213 +f 809/1567/211 808/1904/211 810/1568/211 +f 812/1572/79 787/1905/79 811/1570/79 +f 810/1571/79 816/1906/79 812/1572/79 +f 800/1575/215 804/1907/215 805/1576/215 +f 814/1580/214 789/1908/214 788/1578/214 +f 788/1578/214 890/1909/214 798/1579/214 +f 797/1583/215 799/1910/215 806/1581/215 +f 799/1910/215 891/1911/215 806/1581/215 +f 891/1911/215 817/1912/215 806/1581/215 +f 815/1584/210 794/1913/210 791/1585/210 +f 795/1914/82 794/1915/82 800/1589/82 +f 794/1915/82 815/1587/82 800/1589/82 +f 815/1587/82 802/1916/82 804/1588/82 +f 800/1589/82 796/1917/82 795/1914/82 +f 817/1592/217 891/1918/279 788/1919/280 +f 891/1918/279 890/1920/281 788/1919/280 +f 788/1919/280 812/1921/282 817/1592/217 +f 812/1921/282 816/1590/216 817/1592/217 +f 713/1593/75 710/1922/75 709/1594/75 +f 739/1596/75 735/1923/75 737/1597/75 +f 818/1599/82 821/1614/82 715/1600/82 +f 818/1924/82 718/1418/82 721/1424/82 +f 819/1603/82 721/1602/82 729/1604/82 +f 725/1428/82 730/1609/82 715/1606/82 +f 725/1428/82 727/1430/98 822/1608/82 +f 727/1430/98 820/1616/82 729/1437/82 +f 825/1925/82 827/1640/82 826/1641/82 +f 823/1610/82 726/1926/82 824/1611/82 +f 825/1925/82 826/1641/82 823/1927/82 +f 820/1605/183 823/1610/183 826/1613/183 +f 818/1599/177 827/1618/177 825/1612/177 +f 727/1430/181 726/1429/181 823/1615/181 +f 821/1607/218 825/1928/218 824/1617/218 +f 819/1929/180 826/1641/180 827/1640/180 +f 828/1619/98 831/1636/98 717/1620/98 +f 829/1622/98 832/1628/98 830/1623/98 +f 829/1625/98 720/1423/98 717/1417/98 +f 724/1427/82 828/1619/98 719/1621/98 +f 724/1427/82 731/1627/98 728/1438/98 +f 832/1628/98 722/1637/98 728/1629/98 +f 834/1631/98 723/1930/98 835/1632/98 +f 835/1931/98 837/1657/98 833/1932/98 +f 837/1657/98 836/1933/98 833/1932/98 +f 831/1626/177 833/1932/177 836/1933/177 +f 828/1619/179 834/1638/179 833/1635/179 +f 832/1628/183 837/1639/183 835/1632/183 +f 724/1427/219 723/1426/219 834/1638/219 +f 829/1622/180 836/1634/180 837/1639/180 +f 721/1424/220 718/1418/220 827/1640/220 +f 715/1642/221 825/1934/221 827/1643/221 +f 729/1645/222 721/1935/222 826/1646/222 +f 726/1648/223 822/1936/223 729/1649/223 +f 824/1656/227 825/1937/283 715/1654/225 +f 715/1654/225 730/1938/284 726/1655/226 +f 728/1431/228 835/1931/228 837/1657/228 +f 728/1659/229 731/1939/229 723/1660/229 +f 719/1940/285 705/1666/232 723/1665/231 +f 705/1666/232 833/1941/286 834/1667/233 +f 836/1668/234 833/1942/287 705/1669/235 +f 836/1668/288 720/1670/288 830/1943/288 +f 838/1674/82 845/1684/82 701/1404/82 +f 838/1674/82 684/1403/82 686/1675/82 +f 840/1677/82 690/1682/82 692/1678/82 +f 842/1680/82 841/1679/82 692/1678/82 +f 840/1677/82 839/1676/82 686/1675/82 +f 844/1683/82 702/1686/82 701/1404/82 +f 689/1383/82 698/1687/82 703/1685/82 +f 844/1683/82 687/1381/82 703/1685/82 +f 842/1680/82 843/1681/82 698/1687/82 +f 848/1944/82 851/1743/82 688/1690/82 +f 850/1945/82 852/1946/82 849/1947/82 +f 853/1948/82 848/1944/82 847/1689/82 +f 848/1944/82 688/1690/82 847/1689/82 +f 688/1690/82 850/1945/82 846/1688/82 +f 850/1945/82 849/1947/82 846/1688/82 +f 842/1680/171 851/1696/171 848/1691/171 +f 838/1674/175 846/1695/175 849/1692/175 +f 844/1683/174 852/1697/174 850/1693/174 +f 840/1677/169 853/1698/169 847/1694/169 +f 839/1676/167 847/1694/167 846/1695/167 +f 689/1383/172 688/1382/172 851/1696/172 +f 845/1684/173 849/1692/173 852/1697/173 +f 841/1679/170 848/1691/170 853/1698/170 +f 854/1699/98 856/1702/98 705/1402/98 +f 854/1699/98 695/1391/98 685/1701/98 +f 697/1393/98 858/1706/98 693/1703/98 +f 857/1705/98 694/1713/98 693/1703/98 +f 697/1393/98 691/1704/98 685/1701/98 +f 859/1707/98 855/1700/98 705/1402/98 +f 860/1709/98 861/1712/98 704/1710/98 +f 859/1707/98 700/1708/98 704/1710/98 +f 857/1705/98 860/1709/98 699/1711/98 +f 863/1715/98 696/1725/98 864/1716/98 +f 864/1716/98 868/1949/98 862/1714/98 +f 868/1949/98 865/1950/98 866/1951/98 +f 862/1714/98 868/1949/98 866/1951/98 +f 865/1950/98 869/1952/98 866/1951/98 +f 862/1714/98 867/1953/98 863/1715/98 +f 854/1699/167 868/1723/167 864/1717/167 +f 857/1705/172 867/1722/172 862/1718/172 +f 859/1707/173 869/1724/173 865/1719/173 +f 697/1393/170 696/1392/170 863/1720/170 +f 860/1709/168 862/1718/168 866/1721/168 +f 858/1706/171 863/1720/171 867/1722/171 +f 855/1700/175 865/1719/175 868/1723/175 +f 861/1712/174 866/1721/174 869/1724/174 +f 693/1388/238 863/1715/238 696/1725/238 +f 693/1726/239 694/1954/239 867/1727/239 +f 867/1729/240 694/1955/240 699/1730/240 +f 862/1732/241 699/1956/241 704/1733/241 +f 704/1733/242 700/1957/242 869/1735/242 +f 869/1735/243 700/1957/243 705/1736/243 +f 868/1738/244 865/1737/244 705/1736/244 +f 868/1738/245 856/1739/245 685/1740/245 +f 685/1740/246 691/1958/246 696/1742/246 +f 692/1390/247 848/1944/247 851/1743/247 +f 692/1745/248 690/1959/248 853/1746/248 +f 853/1746/249 690/1959/249 686/1748/249 +f 846/1750/250 847/1749/250 686/1748/250 +f 701/1752/251 849/1754/251 846/1750/251 +f 701/1752/252 702/1960/252 852/1753/252 +f 852/1753/253 702/1960/253 703/1755/253 +f 703/1755/254 698/1758/254 688/1757/254 +f 698/1758/255 843/1961/256 851/1759/256 +f 709/1760/176 872/1773/176 708/1761/176 +f 870/1763/257 712/1962/96 706/1764/96 +f 871/1766/82 706/1405/82 708/1407/82 +f 730/1768/82 871/1766/82 716/1767/82 +f 719/1770/257 870/1963/257 871/1771/257 +f 872/1773/176 714/1414/176 716/1416/176 +f 873/1774/259 884/1794/259 874/1775/260 +f 875/1964/261 714/1965/289 872/1966/98 +f 876/1967/98 712/1968/98 870/1969/262 +f 878/1783/98 883/1970/98 879/1784/98 +f 880/1786/265 885/1795/265 881/1787/265 +f 876/1789/266 883/1793/266 878/1790/266 +f 877/1792/79 879/1796/79 883/1793/79 +f 711/1791/266 878/1790/266 884/1794/266 +f 885/1795/267 880/1786/290 879/1796/268 +f 884/1797/98 878/1971/98 880/1798/264 +f 881/1787/271 887/1801/291 886/1800/272 +f 875/1776/274 874/1775/274 886/1800/274 +f 880/1786/264 882/1788/275 886/1800/275 +f 717/1972/292 714/1973/289 887/1974/293 +f 714/1973/289 875/1975/261 887/1974/293 +f 870/1803/262 719/1976/294 881/1804/276 +f 719/1976/294 717/1972/292 887/1974/293 +f 881/1804/276 719/1976/294 887/1974/293 +f 885/1977/295 877/1802/263 881/1804/276 +f 892/1978/296 893/1979/296 894/1980/296 +f 895/1981/297 896/1982/297 893/1979/297 +f 897/1983/298 898/1984/298 896/1982/298 +f 899/1985/299 900/1986/299 898/1984/299 +f 901/1987/300 902/1988/300 900/1986/300 +f 903/1989/301 904/1990/301 902/1988/301 +f 905/1991/302 906/1992/302 904/1990/302 +f 907/1993/303 908/1994/303 906/1992/303 +f 909/1995/304 910/1996/304 908/1994/304 +f 911/1997/305 912/1998/305 910/1996/305 +f 913/1999/306 914/2000/306 912/1998/306 +f 915/2001/307 916/2002/307 914/2000/307 +f 917/2003/308 918/2004/308 916/2002/308 +f 919/2005/309 920/2006/309 918/2004/309 +f 921/2007/310 922/2008/310 920/2006/310 +f 923/2009/311 924/2010/311 922/2008/311 +f 925/2011/312 926/2012/312 924/2010/312 +f 927/2013/313 928/2014/313 926/2012/313 +f 929/2015/314 930/2016/314 928/2014/314 +f 931/2017/315 932/2018/315 930/2016/315 +f 933/2019/316 934/2020/316 932/2018/316 +f 935/2021/317 936/2022/317 934/2020/317 +f 937/2023/318 938/2024/318 936/2022/318 +f 939/2025/319 940/2026/319 938/2024/319 +f 941/2027/312 942/2028/312 943/2029/312 +f 941/2027/75 895/2030/75 892/2031/75 +f 943/2029/75 897/2032/75 895/2030/75 +f 944/2033/75 897/2032/75 945/2034/75 +f 946/2035/75 899/2036/75 944/2033/75 +f 946/2035/75 903/2037/75 901/2038/75 +f 947/2039/75 905/2040/75 903/2037/75 +f 948/2041/75 905/2040/75 949/2042/75 +f 950/2043/75 907/2044/75 948/2041/75 +f 950/2043/75 911/2045/75 909/2046/75 +f 951/2047/75 913/2048/75 911/2045/75 +f 952/2049/75 913/2048/75 953/2050/75 +f 954/2051/75 915/2052/75 952/2049/75 +f 954/2051/75 919/2053/75 917/2054/75 +f 955/2055/75 921/2056/75 919/2053/75 +f 956/2057/75 921/2056/75 957/2058/75 +f 958/2059/75 923/2060/75 956/2057/75 +f 958/2059/75 927/2061/75 925/2062/75 +f 959/2063/75 929/2064/75 927/2061/75 +f 960/2065/75 929/2064/75 961/2066/75 +f 962/2067/75 931/2068/75 960/2065/75 +f 962/2067/75 935/2069/75 933/2070/75 +f 963/2071/75 937/2072/75 935/2069/75 +f 964/2073/75 939/2074/75 937/2072/75 +f 965/2075/75 966/2076/75 939/2074/75 +f 967/2077/307 968/2078/307 969/2079/307 +f 957/2058/320 970/2080/320 956/2057/320 +f 943/2029/313 971/2081/313 945/2034/313 +f 956/2057/321 972/2082/321 958/2059/321 +f 945/2034/314 973/2083/314 944/2033/314 +f 958/2059/296 974/2084/296 959/2063/296 +f 944/2033/315 975/2085/315 946/2035/315 +f 959/2063/297 976/2086/297 961/2066/297 +f 946/2035/316 977/2087/316 947/2039/316 +f 961/2066/298 978/2088/298 960/2065/298 +f 947/2039/317 979/2089/317 949/2042/317 +f 960/2065/299 980/2090/299 962/2067/299 +f 949/2042/318 981/2091/318 948/2041/318 +f 962/2067/300 982/2092/300 963/2071/300 +f 948/2041/319 983/2093/319 950/2043/319 +f 963/2071/301 984/2094/301 964/2073/301 +f 950/2043/322 985/2095/322 951/2047/322 +f 964/2073/302 986/2096/302 965/2075/302 +f 951/2047/323 987/2097/323 953/2050/323 +f 969/2079/308 988/2098/308 989/2099/308 +f 965/2075/303 990/2100/303 991/2101/303 +f 953/2050/324 992/2102/324 952/2049/324 +f 989/2099/309 993/2103/309 994/2104/309 +f 991/2101/304 995/2105/304 996/2106/304 +f 952/2049/325 997/2107/325 954/2051/325 +f 994/2104/310 998/2108/310 999/2109/310 +f 996/2106/305 1000/2110/305 1001/2111/305 +f 954/2051/326 1002/2112/326 955/2055/326 +f 999/2109/311 1003/2113/311 941/2027/311 +f 1001/2111/306 1004/2114/306 967/2077/306 +f 955/2055/327 1005/2115/327 957/2058/327 +f 1006/2116/81 894/2117/328 893/2118/81 +f 1006/2116/81 896/2119/81 1007/2120/81 +f 1008/2121/81 896/2119/81 898/2122/81 +f 1008/2121/81 900/2123/81 1009/2124/81 +f 1010/2125/81 900/2123/81 902/2126/81 +f 1010/2125/81 904/2127/81 1011/2128/81 +f 1011/2128/81 906/2129/81 1012/2130/81 +f 1012/2130/81 908/2131/81 1013/2132/81 +f 1014/2133/81 908/2131/81 910/2134/81 +f 1014/2133/81 912/2135/81 1015/2136/81 +f 1016/2137/81 912/2135/81 914/2138/81 +f 1016/2137/81 916/2139/81 1017/2140/81 +f 1018/2141/81 916/2139/81 918/2142/81 +f 1018/2141/81 920/2143/81 1019/2144/81 +f 1020/2145/81 920/2143/81 922/2146/81 +f 1020/2145/81 924/2147/81 1021/2148/81 +f 1022/2149/81 924/2147/81 926/2150/81 +f 1022/2149/81 928/2151/81 1023/2152/81 +f 1024/2153/81 928/2151/81 930/2154/81 +f 1024/2153/81 932/2155/81 1025/2156/81 +f 1026/2157/81 932/2155/81 934/2158/81 +f 1026/2157/81 936/2159/81 1027/2160/81 +f 1028/2161/81 936/2159/81 938/2162/81 +f 1028/2161/81 940/2163/329 1029/2164/81 +f 1030/2165/82 1031/2166/82 1032/2167/82 +f 1033/2168/75 1034/2169/75 1031/2166/75 +f 1035/2170/98 1036/2171/98 1034/2169/98 +f 1037/2172/81 1032/2173/81 1036/2171/81 +f 1034/2169/79 1032/2174/79 1031/2175/79 +f 892/1978/330 1038/2176/331 1039/2177/330 +f 940/2026/332 1040/2178/322 1041/2179/322 +f 989/2099/75 1042/2180/75 969/2079/75 +f 994/2104/75 1043/2181/75 989/2099/75 +f 999/2109/75 1044/2182/75 994/2104/75 +f 941/2027/75 1039/2183/75 1045/2184/75 +f 991/2101/75 1046/2185/75 1040/2186/75 +f 996/2106/75 1047/2187/75 1046/2185/75 +f 1001/2111/75 1048/2188/75 1047/2187/75 +f 967/2077/75 1042/2180/75 1048/2188/75 +f 1049/2189/81 1050/2190/81 1051/2191/81 +f 1052/2192/81 1051/2191/81 1053/2193/81 +f 1054/2194/81 1053/2193/81 1055/2195/81 +f 1056/2196/81 1054/2194/81 1055/2195/81 +f 1029/2164/81 940/2163/329 1041/2197/333 +f 1057/2198/81 1058/2199/81 1059/2200/81 +f 1060/2201/81 1061/2202/81 1057/2198/81 +f 1050/2190/81 1062/2203/81 1060/2201/81 +f 1038/2204/96 1037/2172/96 1035/2170/96 +f 1033/2205/96 1041/2206/96 1040/2207/96 +f 892/1978/296 895/1981/296 893/1979/296 +f 895/1981/297 897/1983/297 896/1982/297 +f 897/1983/298 899/1985/298 898/1984/298 +f 899/1985/299 901/1987/299 900/1986/299 +f 901/1987/300 903/1989/300 902/1988/300 +f 903/1989/301 905/1991/301 904/1990/301 +f 905/1991/302 907/1993/302 906/1992/302 +f 907/1993/303 909/1995/303 908/1994/303 +f 909/1995/304 911/1997/304 910/1996/304 +f 911/1997/305 913/1999/305 912/1998/305 +f 913/1999/306 915/2001/306 914/2000/306 +f 915/2001/307 917/2003/307 916/2002/307 +f 917/2003/308 919/2005/308 918/2004/308 +f 919/2005/309 921/2007/309 920/2006/309 +f 921/2007/310 923/2009/310 922/2008/310 +f 923/2009/311 925/2011/311 924/2010/311 +f 925/2011/312 927/2013/312 926/2012/312 +f 927/2013/313 929/2015/313 928/2014/313 +f 929/2015/314 931/2017/314 930/2016/314 +f 931/2017/315 933/2019/315 932/2018/315 +f 933/2019/316 935/2021/316 934/2020/316 +f 935/2021/317 937/2023/317 936/2022/317 +f 937/2023/318 939/2025/318 938/2024/318 +f 939/2025/319 966/2208/319 940/2026/319 +f 941/2027/312 1003/2113/312 942/2028/312 +f 941/2027/75 943/2029/75 895/2030/75 +f 943/2029/75 945/2034/75 897/2032/75 +f 944/2033/75 899/2036/75 897/2032/75 +f 946/2035/75 901/2038/75 899/2036/75 +f 946/2035/75 947/2039/75 903/2037/75 +f 947/2039/75 949/2042/75 905/2040/75 +f 948/2041/75 907/2044/75 905/2040/75 +f 950/2043/75 909/2046/75 907/2044/75 +f 950/2043/75 951/2047/75 911/2045/75 +f 951/2047/75 953/2050/75 913/2048/75 +f 952/2049/75 915/2052/75 913/2048/75 +f 954/2051/75 917/2054/75 915/2052/75 +f 954/2051/75 955/2055/75 919/2053/75 +f 955/2055/75 957/2058/75 921/2056/75 +f 956/2057/75 923/2060/75 921/2056/75 +f 958/2059/75 925/2062/75 923/2060/75 +f 958/2059/75 959/2063/75 927/2061/75 +f 959/2063/75 961/2066/75 929/2064/75 +f 960/2065/75 931/2068/75 929/2064/75 +f 962/2067/75 933/2070/75 931/2068/75 +f 962/2067/75 963/2071/75 935/2069/75 +f 963/2071/75 964/2073/75 937/2072/75 +f 964/2073/75 965/2075/75 939/2074/75 +f 965/2075/75 991/2101/75 966/2076/75 +f 967/2077/307 1004/2114/307 968/2078/307 +f 957/2058/320 1005/2115/320 970/2080/320 +f 943/2029/313 942/2028/313 971/2081/313 +f 956/2057/321 970/2080/321 972/2082/321 +f 945/2034/314 971/2081/314 973/2083/314 +f 958/2059/296 972/2082/296 974/2084/296 +f 944/2033/315 973/2083/315 975/2085/315 +f 959/2063/297 974/2084/297 976/2086/297 +f 946/2035/316 975/2085/316 977/2087/316 +f 961/2066/298 976/2086/298 978/2088/298 +f 947/2039/317 977/2087/317 979/2089/317 +f 960/2065/299 978/2088/299 980/2090/299 +f 949/2042/318 979/2089/318 981/2091/318 +f 962/2067/300 980/2090/300 982/2092/300 +f 948/2041/319 981/2091/319 983/2093/319 +f 963/2071/301 982/2092/301 984/2094/301 +f 950/2043/322 983/2093/322 985/2095/322 +f 964/2073/302 984/2094/302 986/2096/302 +f 951/2047/323 985/2095/323 987/2097/323 +f 969/2079/308 968/2078/308 988/2098/308 +f 965/2075/303 986/2096/303 990/2100/303 +f 953/2050/324 987/2097/324 992/2102/324 +f 989/2099/309 988/2098/309 993/2103/309 +f 991/2101/304 990/2100/304 995/2105/304 +f 952/2049/325 992/2102/325 997/2107/325 +f 994/2104/310 993/2103/310 998/2108/310 +f 996/2106/305 995/2105/305 1000/2110/305 +f 954/2051/326 997/2107/326 1002/2112/326 +f 999/2109/311 998/2108/311 1003/2113/311 +f 1001/2111/306 1000/2110/306 1004/2114/306 +f 955/2055/327 1002/2112/327 1005/2115/327 +f 1006/2116/81 1056/2196/81 894/2117/328 +f 1006/2116/81 893/2118/81 896/2119/81 +f 1008/2121/81 1007/2120/81 896/2119/81 +f 1008/2121/81 898/2122/81 900/2123/81 +f 1010/2125/81 1009/2124/81 900/2123/81 +f 1010/2125/81 902/2126/81 904/2127/81 +f 1011/2128/81 904/2127/81 906/2129/81 +f 1012/2130/81 906/2129/81 908/2131/81 +f 1014/2133/81 1013/2132/81 908/2131/81 +f 1014/2133/81 910/2134/81 912/2135/81 +f 1016/2137/81 1015/2136/81 912/2135/81 +f 1016/2137/81 914/2138/81 916/2139/81 +f 1018/2141/81 1017/2140/81 916/2139/81 +f 1018/2141/81 918/2142/81 920/2143/81 +f 1020/2145/81 1019/2144/81 920/2143/81 +f 1020/2145/81 922/2146/81 924/2147/81 +f 1022/2149/81 1021/2148/81 924/2147/81 +f 1022/2149/81 926/2150/81 928/2151/81 +f 1024/2153/81 1023/2152/81 928/2151/81 +f 1024/2153/81 930/2154/81 932/2155/81 +f 1026/2157/81 1025/2156/81 932/2155/81 +f 1026/2157/81 934/2158/81 936/2159/81 +f 1028/2161/81 1027/2160/81 936/2159/81 +f 1028/2161/81 938/2162/81 940/2163/329 +f 1030/2165/82 1033/2168/82 1031/2166/82 +f 1033/2168/75 1035/2170/75 1034/2169/75 +f 1035/2170/98 1037/2172/98 1036/2171/98 +f 1037/2172/81 1030/2209/81 1032/2173/81 +f 1034/2169/79 1036/2171/79 1032/2174/79 +f 892/1978/330 894/1980/334 1038/2176/331 +f 940/2026/332 966/2208/322 1040/2178/322 +f 989/2099/75 1043/2181/75 1042/2180/75 +f 994/2104/75 1044/2182/75 1043/2181/75 +f 999/2109/75 1045/2184/75 1044/2182/75 +f 1045/2184/75 999/2109/75 941/2027/75 +f 941/2027/75 892/2031/75 1039/2183/75 +f 1040/2186/75 966/2076/75 991/2101/75 +f 991/2101/75 996/2106/75 1046/2185/75 +f 996/2106/75 1001/2111/75 1047/2187/75 +f 1001/2111/75 967/2077/75 1048/2188/75 +f 967/2077/75 969/2079/75 1042/2180/75 +f 1049/2189/81 1063/2210/81 1050/2190/81 +f 1052/2192/81 1049/2189/81 1051/2191/81 +f 1054/2194/81 1052/2192/81 1053/2193/81 +f 1055/2195/81 1038/2211/335 1056/2196/81 +f 1038/2211/335 894/2117/328 1056/2196/81 +f 1041/2197/333 1059/2200/81 1029/2164/81 +f 1059/2200/81 1058/2199/81 1029/2164/81 +f 1057/2198/81 1061/2202/81 1058/2199/81 +f 1060/2201/81 1062/2203/81 1061/2202/81 +f 1050/2190/81 1063/2210/81 1062/2203/81 +f 1059/2212/96 1041/2206/96 1030/2213/96 +f 1035/2170/96 1033/2205/96 1042/2214/96 +f 1033/2205/96 1040/2207/96 1046/2215/96 +f 1046/2215/96 1047/2216/96 1033/2205/96 +f 1047/2216/96 1048/2217/96 1033/2205/96 +f 1033/2205/96 1048/2217/96 1042/2214/96 +f 1059/2212/96 1030/2213/96 1057/2218/96 +f 1030/2213/96 1037/2172/96 1050/2219/96 +f 1057/2218/96 1030/2213/96 1060/2220/96 +f 1050/2219/96 1060/2220/96 1030/2213/96 +f 1042/2214/96 1043/2221/96 1035/2170/96 +f 1043/2221/96 1044/2222/96 1035/2170/96 +f 1055/2223/96 1053/2224/96 1037/2172/96 +f 1053/2224/96 1051/2225/96 1037/2172/96 +f 1051/2225/96 1050/2219/96 1037/2172/96 +f 1044/2222/96 1045/2226/96 1035/2170/96 +f 1045/2226/96 1039/2227/96 1035/2170/96 +f 1038/2204/96 1055/2223/96 1037/2172/96 +f 1039/2227/96 1038/2204/96 1035/2170/96 +f 1033/2205/96 1030/2213/96 1041/2206/96 +f 1064/2228/336 1065/2229/336 1066/2230/336 +f 1065/2229/337 1067/2231/337 1066/2230/337 +f 1068/2232/338 1069/2233/338 1067/2231/338 +f 1070/2234/339 1064/2235/339 1069/2233/339 +f 1067/2231/79 1064/2236/79 1066/2237/79 +f 1065/2238/96 1070/2234/96 1068/2232/96 +f 1071/2239/340 1072/2240/340 1073/2241/340 +f 1072/2240/341 1074/2242/341 1073/2241/341 +f 1075/2243/342 1076/2244/342 1074/2242/342 +f 1077/2245/343 1071/2246/344 1076/2247/344 +f 1078/2248/79 1079/2249/79 1080/2250/79 +f 1072/2251/96 1077/2252/96 1075/2243/96 +f 1076/2244/344 1079/2253/344 1081/2254/344 +f 1074/2242/342 1081/2254/342 1078/2248/342 +f 1073/2241/341 1078/2248/341 1080/2255/341 +f 1079/2256/340 1073/2241/340 1080/2255/340 +f 1082/2257/345 1083/2258/345 1084/2259/345 +f 1084/2259/346 1085/2260/346 1086/2261/346 +f 1085/2260/347 1087/2262/347 1086/2261/348 +f 1088/2263/349 1082/2264/349 1087/2262/349 +f 1086/2261/350 1082/2265/350 1084/2266/350 +f 1083/2267/351 1088/2263/351 1085/2260/351 +f 1089/2268/352 1090/2269/352 1091/2270/352 +f 1090/2269/353 1092/2271/353 1091/2270/353 +f 1093/2272/354 1094/2273/354 1092/2271/354 +f 1095/2274/355 1089/2275/355 1094/2273/355 +f 1092/2271/356 1089/2276/356 1091/2277/356 +f 1090/2278/357 1095/2274/357 1093/2272/357 +f 1064/2228/336 1096/2279/336 1065/2229/336 +f 1065/2229/337 1068/2232/337 1067/2231/337 +f 1068/2232/338 1070/2234/338 1069/2233/338 +f 1070/2234/339 1096/2280/339 1064/2235/339 +f 1067/2231/79 1069/2233/79 1064/2236/79 +f 1065/2238/96 1096/2281/96 1070/2234/96 +f 1071/2239/340 1097/2282/340 1072/2240/340 +f 1072/2240/341 1075/2243/341 1074/2242/341 +f 1075/2243/342 1077/2252/342 1076/2244/342 +f 1077/2245/343 1097/2283/343 1071/2246/344 +f 1078/2248/79 1081/2254/79 1079/2249/79 +f 1072/2251/96 1097/2284/96 1077/2252/96 +f 1076/2244/344 1071/2285/344 1079/2253/344 +f 1074/2242/342 1076/2244/342 1081/2254/342 +f 1073/2241/341 1074/2242/341 1078/2248/341 +f 1079/2256/340 1071/2239/340 1073/2241/340 +f 1082/2257/345 1098/2286/345 1083/2258/345 +f 1084/2259/346 1083/2258/346 1085/2260/346 +f 1085/2260/347 1088/2263/347 1087/2262/347 +f 1088/2263/349 1098/2287/349 1082/2264/349 +f 1086/2261/350 1087/2262/350 1082/2265/350 +f 1083/2267/351 1098/2288/351 1088/2263/351 +f 1089/2268/352 1099/2289/352 1090/2269/352 +f 1090/2269/353 1093/2272/353 1092/2271/353 +f 1093/2272/354 1095/2274/354 1094/2273/354 +f 1095/2274/355 1099/2290/355 1089/2275/355 +f 1092/2271/356 1094/2273/356 1089/2276/356 +f 1090/2278/357 1099/2291/357 1095/2274/357 diff --git a/src/main/resources/assets/hbm/textures/misc/scope_bolt.png b/src/main/resources/assets/hbm/textures/misc/scope_bolt.png new file mode 100644 index 0000000000000000000000000000000000000000..2c40eeb663d5d13f1dc0225e997e0a2d6d2207b8 GIT binary patch literal 8544 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 D!HN}@ literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..2381fab496721827d1231c85015bf1e0710656fd GIT binary patch literal 1499 zcmV<11tj{3P) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U-_tmg6W4{Ld-&2uL6V$Kmt6y}=xROEyj?nV#NE zdVWrL23g33TqSVa{PFK{|KLX{WEVwqDk*vVVu^(-jO@=}IePN(==Y7kj0eBtYl7hl z7{ht1b;nou<>P^C4Qh{mm-h_k4RkHJ0fVh>=>duCw3+vg?b}oXxVu>$QJ|Oa-n10a;(=WW92~zWda!CkzY3V)#UFqw^lcb z$mf%%dgHnZpa?qUdg4MSZq6vM}RycGHh!c$G z79yu(1Aro|El7p}6!3|HP$I9)N(3G=1gglKL*xbpNQ4KH);Uv zj){?mjy%e!lib8fG2@h(rp`RetP8ca!iq~)TDtNotKL+jy=|Y{Z>UCFH9nNGIK8O` zuT#As$c_^+&7c@Zg5qilprF|_^O<5~Q_eK=g|R7wk))V5ZjdPk3F9P|MK|p}lzT}x zC;27a`2Uo1Cf%P<&Oy4Lb^AoMVc)raD0c2b^%G*Ve304atFavP5tGrczo1E+Cmvw*o^i}Tos#aV*{|PF|dcji3^qu*>HjC9$@cK z@xi@tPgMUkuKPOS*YkB>C;WQ8&c~DNX{_dVD`|FcWai?y`s|m#hof5CoPGJ%&>f7? z_hU#}W(4PWYIIWBO4@H|Fc>d)HLjV8)glR)VP)S2WAaHVTW@&6?004NL zeUUv#!$2IxUsI(jRR=qWI0UIq7DYuIwF*V35Nd^19ZW9$f+h_~ii@M*T5#}VvFhOB ztgC~oAP9bdxVbqgx=4xtOA0MwJvi>iyL*qjcYshWGRDu$r-;Lu1(#aSzsS^b{; zg~5!zvdndwgNR`fOOPN!K^X-UVIxATPKt#D?MGYq2VB2IE`?kLFmf!Q1P!w52mgcL z-CEhn2`?!a1=?R6=VKTM>;kol<9r`GPVEHnKLb~K!(XZbGoPea8d~@W=-mb`t{a-N z2VCv|{ZEE$%C6+6DP*(2`x$*x8tA(Py4Jkj>ial-0Fu;I{02BU1V(a{z24&89nHP{ zd#2vs4|P&(^b32;bRa{vGi!vFvd!vV){sAK>D00(qQO+^Rg2?7x;32;r2 zCIA2cO-V#SR5;6H6cG_&AO$cnkO)ZDz@n|KJ=mNiDJePFoOJi@-9hFg#^=wUlcwQ~ zjLKjO){{jXaL(4J5re= Date: Sat, 8 Jul 2023 23:40:30 +0200 Subject: [PATCH 248/285] Create pl_PL.lang Added incomplete polish translation --- src/main/resources/assets/hbm/lang/pl_PL.lang | 5373 +++++++++++++++++ 1 file changed, 5373 insertions(+) create mode 100644 src/main/resources/assets/hbm/lang/pl_PL.lang diff --git a/src/main/resources/assets/hbm/lang/pl_PL.lang b/src/main/resources/assets/hbm/lang/pl_PL.lang new file mode 100644 index 000000000..438a7d5bd --- /dev/null +++ b/src/main/resources/assets/hbm/lang/pl_PL.lang @@ -0,0 +1,5373 @@ +achievement.acidizer.desc=oof ow my skin +achievement.acidizer=Acidic +achievement.assembly.desc=Wait, it's already 1 am? +achievement.assembly=The Factory Grows +achievement.FOEQ.desc=Send a relay into martian...I mean dunaian orbit. +achievement.FOEQ=Pegasi and Missile Silos +achievement.breeding.desc=Thank you, god bless you, and god bless the United States of America. +achievement.breeding=Ironic +achievement.bismuth.desc=Remember when people complained about this for a month? I do. +achievement.bismuth=Bismuth +achievement.blastFurnace.desc=They salvaged a sunken dreadnought for Explorer 1. +achievement.blastFurnace=Coal and Iron +achievement.bossCreeper.desc='There is nuclear creepers? Those are a thing?!' +achievement.bossCreeper=Bomb On Four Legs +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=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 +achievement.burnerPress.desc=Pressure pushing down on me, on you +achievement.burnerPress=Under Pressure +achievement.c20_5.desc=??? +achievement.c20_5=Chapter [TWENTY POINT FIVE] +achievement.c44.desc=Galvanized! I mean, zinc! +achievement.c44=Chapter 44 +achievement.centrifuge.desc=centrifugal force is real don't @ me +achievement.centrifuge=Centrifugal Force +achievement.chemplant.desc=Now you're thinking with chemicals! +achievement.chemplant=The Factory Grows Pt. 2 +achievement.chicagoPile.desc="How were the natives?" / "Very friendly." +achievement.chicagoPile=The navigator landed in the New World +achievement.concrete.desc=A Bolshevik's favorite. +achievement.concrete=Old Reliable +achievement.desh.desc="Come on then, you lot. Places to go!" +achievement.desh=Le Verrier +achievement.digammaFeel.desc=My eyes are bleeding +achievement.digammaFeel=SEWAGE-INFUSED GARBAGE WORLD +achievement.digammaKauaiMoho.desc=Everything is awful, here's some hot choccy. +achievement.digammaKauaiMoho=SING, SING ME THE SONG OF THE KAUAI MOHO +achievement.digammaKnow.desc=what this world is about. +achievement.digammaKnow=THE TERROR OF KNOWING +achievement.digammaSee.desc=It's a bit dark, bring a flashlight. +achievement.digammaSee=ENTER THE ABYSS +achievement.digammaUpOnTop.desc=Admire my son, he's my clone. +achievement.digammaUpOnTop=ADMIRE ME, ADMIRE MY HOME +achievement.fiend.desc=Be mean. +achievement.fiend2.desc=Be meaner. +achievement.fiend2=Delinquent 2: Delinquent Harder +achievement.fiend=Delinquent +achievement.freytag.desc=Herold's life guards +achievement.freytag=Freytag +achievement.fusion.desc=A dance of deuterons, tritons, and energy. +achievement.fusion=Fusion +achievement.gasCent.desc=Unenriched Uranium hates him! +achievement.gasCent=The Zippe Style +achievement.goFish.desc=Nautical Crucifixion +achievement.goFish=Go Fish +achievement.hidden.desc=Kill a tainted creeper with a falling boxcar. +achievement.hidden=Hidden Catalog +achievement.horizonsBonus.desc=honest to god what the hell is wrong with you +achievement.horizonsBonus=Slam Dunk Diarrhea +achievement.horizonsEnd.desc=Send Tom home. +achievement.horizonsEnd=The Horizons +achievement.horizonsStart.desc=Send a lad to the moon. +achievement.horizonsStart=Apogee +achievement.impossible.desc=You can't get this achievement. +achievement.impossible=Literally impossible +achievement.inferno.desc="Turn it to ashes! That's not enough! Drop more bombs!" +achievement.inferno=Operation Cannibal +achievement.manhattan.desc=8:15; August 6th, 1945 +achievement.manhattan=The Manhattan Project +achievement.meltdown.desc=You got this far, how could you mess this up? +achievement.meltdown=Rapid Unscheduled Disassembly +achievement.no9.desc="I hope the lead I'm mining will be used in your paint" +achievement.no9=Old Number Nine +achievement.omega12.desc=Solve the problem of continued life on this wretched planet. +achievement.omega12=Omega-12 Particle Accelerator +achievement.polymer.desc=Delicious, delicious microplastics. +achievement.polymer=Teflon +achievement.potato.desc=You stabbed me! What is WRONG with yo-WOOOAAH +achievement.potato=Rogue AI +achievement.radDeath.desc=Marie Curie invented the theory of radioactivity, the treatment of radioactivity, and dying of radioactivity. +achievement.radDeath=Ouch, Radiation! +achievement.radium.desc=YOU'RE FIRED FOR POURING RADIUM IN MY COFFEE! +achievement.radium=MISTER INCREDIBLE +achievement.radPoison.desc=Suffer the effects of radiation poisoning. +achievement.radPoison=Yay, Radiation! +achievement.RBMKBoom.desc=What is the cost of lies? +achievement.RBMKBoom=It is 15,000. +achievement.RBMK.desc=He's delusional, get him to the infirmary. +achievement.RBMK=3.6 Roentegen? +achievement.redBalloons.desc="This is what we've waited for. This is it, boys, this is war." +achievement.redBalloons=99 Red Balloons +achievement.sacrifice.desc=Face the fire and live. +achievement.sacrifice=Sororicide +achievement.schrab.desc=Regardless, I wouldn't look at it for too long. +achievement.schrab=Island of Stability +achievement.selenium.desc=Yeah. +achievement.selenium=XVIII The Moon +achievement.SILEX.desc=It's cooler then it sounds, I promise. +achievement.SILEX=Separation of Isotopes by Laser Exitation +achievement.slimeball.desc= +achievement.slimeball=I should dip my balls in sulfuric acid. +achievement.stratum.desc=Hit the brakes, Mitts. +achievement.stratum=Stratum +achievement.someWounds.desc=Get ready +achievement.someWounds=Some Wounds Never Heal +achievement.soyuz.desc=Become crunchy. +achievement.soyuz=Baked Potato +achievement.space.desc=Fail in every way possible and waste funds worth 90 million dollars. +achievement.space=The Final Front-ah forget it +achievement.sulfuric.desc= +achievement.sulfuric=I should not have dipped my balls in sulfuric acid. +achievement.tantalum.desc=An elusive, yet ever-needed element. +achievement.tantalum="Tantalium" +achievement.tasteofblood.desc=is not part of any testing protocol. +achievement.tasteofblood=The Taste of Blood +achievement.technetium.desc=It's medicinal, it's medicinal! +achievement.technetium=Big Man, Pig Man +achievement.watzBoom.desc=Drain your septic tank next time. +achievement.watzBoom=Disgusting +achievement.watz.desc=Fólkvangr fields possibly included. +achievement.watz=The Power of Element-126 +achievement.witchtaunter.desc=Those wacky creatures got nothing on you! +achievement.witchtaunter=Witch Taunter +achievement.ZIRNOXBoom.desc=cope, seethe, mald +achievement.ZIRNOXBoom=CIRNOX + +armor.blastProtection=Damage modifier of %s against explosions +armor.cap=Hard damage cap of %s +armor.damageModifier=Damage modifier of %s against %s +armor.dash=Grants %s dashes +armor.electricJetpack=Ion Jetpack +armor.explosionImmune=Cannot take any damage except from explosions +armor.fastFall=Fast Fall +armor.fireproof=Fireproof +armor.fullSetBonus=Full Set Bonus: +armor.geigerHUD=Built-In Geiger Counter HUD +armor.geigerSound=Auditory Geiger Counter +armor.glider=Sneak to glide +armor.gravity=Gravity modifier of %s +armor.hardLanding=Hard Landing +armor.ignoreLimit=Resistance is not affected by resistance limit +armor.modifier=General damage modifier of %s +armor.nullDamage=Nullifies all damage from %s +armor.projectileProtection=Damage modifier of %s against projectiles +armor.rocketBoots=Rocket Boots +armor.sprintBoost=Boosted Sprint +armor.thermal=Thermal Sight +armor.threshold=Damage threshold of %s +armor.vats=Enemy HUD +armor.yield=Protection applies to damage <%s + +armorMod.all=All +armorMod.applicableTo=Applicable To: +armorMod.boots=Boots +armorMod.chestplates=Chestplates +armorMod.helmets=Helmets +armorMod.insertHere=Insert armor to modify... +armorMod.leggings=Leggings +armorMod.type.boots=Boots +armorMod.type.chestplate=Chestplate +armorMod.type.cladding=Cladding +armorMod.type.helmet=Helmet +armorMod.type.insert=Insert +armorMod.type.leggings=Leggings +armorMod.type.servo=Servos +armorMod.type.special=Special + +battery.mode.buffer=Input/Output Mode +battery.mode.input=Input Mode +battery.mode.off=OffW +battery.mode.output=Output Mode +battery.priority.high=Charge Priority: High +battery.priority.high.desc=Emergency buffers that$always need to be full +battery.priority.low=Charge Priority: Low +battery.priority.low.desc=Most use-cases where surplus$energy needs to be stored without$affecting machine performance +battery.priority.normal=Charge Priority: Normal +battery.priority.normal.desc=Smaller power grids where$priority doesn't matter +battery.priority.recommended=Recommended for: +battery.redstone.off=Redstone OFF +battery.redstone.on=Redstone ON + +bomb.detonated=Detonated successfully! +bomb.incompatible=Device can not be triggered! +bomb.launched=Launched successfully! +bomb.missingComponent=Component missing! +bomb.nobomb=Linked position incompatible or unloaded! +bomb.triggered=Triggered successfully! + +book.test.cover=HOW 2 SEX +book.test.page1=Test Page 1 + +book.error.cover=Hadron Collider:$Troubleshooting +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=My first RBMK:$Basics of$building a$reactor +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=An Industrialist's$Guide to Rebuilding$Society +book.starter.title1=Introduction +book.starter.page1=If you're reading this, it's highly likely that society, in one way or another, has collapsed entirely. Governments, countries, and authority are a concept of the past - along with all of the amenities of civilized life. As such, this guide will inform you how to change that by recreating the industry and technology of the past for the improvement of your own life. +book.starter.title2=Coal & Mustard Gas +book.starter.page2=Whilst it is impossible to predict the actual state of the world in a post-apocalyptic time, it's not unlikely that war and industry in its current form may not have ended. To protect your own lungs, an effective and cheap way is to urinate on some §lcloth§r to make a §ltrench mask§r, to protect you from coal dust or mustard gas, if you ever encounter either. +book.starter.title3=Anvils & Presses +book.starter.page3=The quintessentials to beginning your industrial revitalization is an §lanvil§r and a §lburner press§r. The anvil will allow you to manually craft together early machinery such as the Assembler, whilst the burner press will let you make plates, wires, and circuits that you cannot hammer together with an anvil. +book.starter.title4=Templates +book.starter.page4=In order to stamp metal into useful shapes, assemble machinery, and perform chemical reactions, you will need to create a §lMachine Template Folder§r to create the various stamps and templates shown to the right. +book.starter.title5=Scavenging +book.starter.page5=Depending on how bad the initial apocalyptic event was to the preexisting structures of the world, there's a likely chance that many useful materials and machines can be salvaged from them directly. Metallic alloys like steel, parts like circuitry, and even fissile material from a nuclear power plant might be awaiting you. Beware certain ruins, however, as there may be an excess of danger lurking there like a snake in the grass; waiting to strike you down with radiation, traps, or indescribable horrors... +book.starter.title6=Early Machinery +book.starter.page6a=Two of the first machines you should assemble are the §lBlast Furnace§r and the §lAssembly Machine§r. The former will allow you to create alloys such as §lsteel§r, §lminecraft-grade copper§r, and §ladvanced alloy§r; you will need to use these metals for the bodies of machines, the wiring of circuits, advanced electromagnets, and more. +book.starter.page6b=The assembler will be used to create practically every other machine described in this guide. You will need a power source, such as a §lCombustion§r §lGenerator§r or §lSolar Boiler§r. +book.starter.page7a=The §lShredder§r, along with a pair of shredder blades, will be very useful for doubling the output of most ores, via shredding into smeltable powders. These powders are also crucial to begin making circuitry for various machines, such as §lEnhanced§r and §lOverclocked§r circuits. +book.starter.page7b=Using your new machinery, you can create the §lChemical Plant§r, used for the synthesis of better circuits, concrete, the processing of petrochemicals, and more. +book.starter.title8=Black Gold +book.starter.page8a=Using an §lOil §lReservoir§r §lDetector§r, you can find underground oil deposits to place a §lPumpjack§r or §lDerrick§r over via surveying an area. Remember that oil deposits will run out over time. +book.starter.page8b=Before the oil can be refined and separated into its constituent parts in an §lOil Refinery§r, you must heat the oil to 300°C in a §lBoiler§r. +book.starter.title9=Petrochemicals +book.starter.page9=Using §lChemical Plants§r, §lFractioning§r §lTowers§r, and §lCatalytic Cracking§r §lTowers§r, you can transform the separated oil into a variety of useful products. For example: §lPolymer§r or §lBakelite§r, durable and flexible plastics; §lDesh§r, an extremely durable and heat-resistant rare earth metal alloy; §lSolid Fuel§r, which can be burnt for energy; or even §lLiquid Fuels§r, such as §lGasoline§r, §lDiesel§r, §lKerosene§r, and more. +book.starter.title10=Advanced Machinery +book.starter.page10=With oil processing under your belt, you can create the §lCentrifuge§r, which will triple ore outputs; the §lOre §lAcidizer§r, which will crystallize ores, increasing the yield; and the §lSILEX + §lFEL§r, two marvels of modern engineering which can separate the isotopes of materials with ease. You will require significantly more energy to power these; which can be obtained with sources such as a §lDiesel Generator§r, an §lIndustrial Generator§r, or even a nuclear reactor. +book.starter.title11=Strata +book.starter.page11=Underneath the ground you walk, there is several naturally-occurring §lStrata§r, or special mineral layers and formations. §lSchist Strata§r are blue, lithium-containing layers filled with uranium, iron, copper, asbestos, and other ores for your own use. §lDepth Rock§r contains large quantities of rarer minerals, such as §lZirconium§r and §lBoron§r, but requires explosives to properly harvest. +book.starter.title12=Radiation +book.starter.page12a=§oThe rest of this book will deal with matters that involve §oradiation. For the safety of you and others, I will give §oadvice on how to mitigate and deal with exposure to it. +book.starter.page12b=Enough exposure to radiation can and will cause bodily harm. The first step is prevention; be sure to limit your exposure, and wear protective gear, such as a §lHazmat Suit§r, or apply §lCladding§r to your clothing or armor; you can also take §lRad-X§r to limit your intake. Thanks to modern medicine, the second step can be removal if necessary; for example, a §lPlayer §lDecontaminator§r will slowly reduce the radiation absorbed by your body. §lRad-Away§r can also be used as a post-exposure prophylaxis, quickly and effectively reversing damage caused to your body by ionizing radiation. +book.starter.title13=Uranium Enrichment +book.starter.page13=There are a few, easy options for fuels to use for a nuclear reactor; for instance, §lNatural Uranium§r or §lThorium Fuel§r. However, if you're looking for something more powerful, you can set up an enrichment cascade of two §lGas Centrifuges§r to produce §lUranium Fuel§r with leftover §lUranium-238§r. You will have to transmute the natural uranium into §lYellowcake§r, then §lUranium §lHexafluoride§r to do so. +book.starter.title14=The Chicago Pile +book.starter.page14=Alternatively, you can breed §lReactor-Grade Plutonium§r, a more powerful fuel, from Natural Uranium using the §lChicago Pile§r. By stacking graphite blocks and drilling into them, you can insert fuel rods to breed into plutonium and neutron source rods, such as §lRadium-Beryllium§r, to begin the reaction. Make sure to test your designs; spacing out or limiting the amount of blocks may be necessary to prevent overheating. +book.starter.title15=ZIRNOX GCR +book.starter.page15=Finally, you can create your first §oreal§r source of energy: the §lZIRNOX§r Nuclear Reactor. Nuclear reactors require more setup then other power sources; first, you will want to have a good source of water, such as the §lHeavy §lInfinite Water Tank§r. To remove heat from the reactor core and boil the water into steam, you will need a sufficient amount of §lCarbon Dioxide§r. You want just enough pressure, but not §otoo§r much. You will also need three steam turbines to utilize the created steam to make energy; the §lSteam §lTurbine§r or §lIndustrial Steam §lTurbine§r will be optimal. Finally, a §lCondensor§r or §lAuxilary Cooling Tower§r is needed to condense the leftover steam into water, where it can be voided or recycled in a cooling loop. +book.starter.title16=Conclusion +book.starter.page16=If you've reached this far, you're on track to helping rebuild civilization. You've successfully recreated the advanced machinery of the pre-apocalypse - with nuclear power, petrochemicals, and more. I cannot know §ohow§r you will use these new-found advantages, but it's my personal hope you use them for the good of yourself and others - or at the very least, in self-defense. Au revoir! +book.starter.title18=About the Author +book.starter.page18=vær is just a guy who has been trapped in the grey void featured in the Talking Head's §oOnce In A Lifetime§r for too long. He once found a studio door, but to his dismay found out it was a cardboard cut-out. + +#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=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.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_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_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_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_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.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=Private Notes +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=Private Notes +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=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.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=Private Notes +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=Private Notes +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... + +cannery.f1=[ Press F1 for help ] + +cannery.centrifuge=Wirówka Gazowa +cannery.centrifuge.0=Gas centrifuges can be supplied with fluid using regular fluid ducts. +cannery.centrifuge.1=Most recipes require multiple centrifuges. The intermediate products cannot be transported via pipes. +cannery.centrifuge.2=This side acts as a connector which outputs the intermediate product into an adjacent centrifuge. +cannery.centrifuge.3=Uranium hexafluoride can be processed with just two centrifuges, this however will produce Uranium fuel and Uranium-238. +cannery.centrifuge.4=Fully processing it into Uranium-235 and Uranium-238 requires a total of four centrifuges. +cannery.centrifuge.5=Some recipes also require the centrifuge overclocking upgrade. + +cannery.crucible=Tygiel +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=Palenisko +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=Kanał Hutniczy +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=Silnik Stirlinga +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=Wierzba Musztardowa +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. + +chem.ARSENIC=Ekstrakcja Arsenu +chem.ASPHALT=Produkcja Asfaltu +chem.BAKELITE=Produkcja Bakelitu +chem.BALEFIRE=Mieszanie Paliwa Rakietowego BF +chem.BP_BIOFUEL=Transestryfikacja Biopaliwa +chem.BP_BIOGAS=Produkcja Biogazu +chem.C4=Synteza C-4 +chem.CC_CENTRIFUGE=Oddzielanie Chlorokalcytu +chem.CC_ELECTROLYSIS=Elektroliza Chlorokalcytu +chem.CC_HEATING=Zaawansowane Upłynnianie Węgla +chem.CC_HEAVY=Podstawowe Upłynnianie Węgla +chem.CC_I=Ulepszone Upłynnianie Węgla +chem.CC_NAPHTHA=Upłynnianie Węgla Naftowego +chem.CC_OIL=Upłynnianie Węgla +chem.CIRCUIT_4=Overclocked Circuit Production +chem.CIRCUIT_5=High Performance Circuit Production +chem.CO2=Produkcja Dwutlenku Węgla +chem.COALGAS_LEADED=Leaded Coal Gasoline Mixing +chem.COLTAN_CLEANING=Oczyszczanie Koltanu +chem.COLTAN_CRYSTAL=Tantalium Crystallizing +chem.COLTAN_PAIN=Pandemonium(III)tantalite Production +chem.CONCRETE=Produkcja Betonu +chem.CONCRETE_ASBESTOS=Produkcja Betonu Azbestowego +chem.COOLANT=Mieszanie Chłodziwa +chem.CORDITE=Produkcja Kordytu +chem.CRYOGEL=Mieszanie Kriożelu +chem.DESH=Produkcja Deszu +chem.DEUTERIUM=Ekstrakcja Deszu +chem.DUCRETE=Produkcja Betonu ze Zubożonym Uranem +chem.DYN_DNT=Dynosynteza Dineutronium +chem.DYN_EUPH=Dynosynteza Euferium +chem.DYN_SCHRAB=Dynosynteza Szrabidium +chem.DYNAMITE=Synteza Dynamitu +chem.ELECTROLYSIS=Krio-Elektroliza +chem.EPEARL=Ender Pearl Synthesis +chem.ETHANOL=Produkcja Etanolu +chem.FC_BITUMEN=Kraking Bitumenu +chem.FC_DIESEL_KEROSENE=Kraking Diesela +chem.FC_GAS_PETROLEUM=Kraking Gazu +chem.FC_I_NAPHTHA=Kraking Oleju Przemysłowego +chem.FC_KEROSENE_PETROLEUM=Kraking Nafty +chem.FP_HEAVYOIL=Przetwarzanie Ciężkiego Oleju +chem.FP_LIGHTOIL=Przetwarzanie Lekkiego Oleju +chem.FP_NAPHTHA=Przetwarzanie Benzyny Naturalnej +chem.FP_SMEAR=Przetwarzanie Oleju Przemysłowego +chem.FR_PETROIL=Mieszanie Benzyny Olejowej +chem.FR_REOIL=Ponowne Przetwarzanie Ropy +chem.FRACKSOL=Produkcja Roztworu Frakingowego +chem.GASOLINE=Produkcja Benzyny +chem.GASOLINE_LEADED=Mieszanie Benzyny Ołowiowej +chem.HEAVY_ELECTROLYSIS=Krio-Elektroliza Ciężkiej Wody +chem.HELIUM3=Ekstrakcja Helu-3 z Głeby Księżycowej +chem.KEVLAR=Produkcja Kevlaru +chem.LPG=Upłynnianie Gazu Naftowego +chem.LUBRICANT=Mieszanie Smaru +chem.METH=Synteza Metamfetaminy +chem.NITAN=Mieszanie Super Paliwa NITAN +chem.NITRIC_ACID=Produkcja Kwasu Azotowego +chem.OIL_SAND=Ekstrakcja ze Smolistego Piasku +chem.OSMIRIDIUM_DEATH=Produkcja Roztworu Osmiridium +chem.PC_ELECTROLYSIS=Elektroliza Chlorku Potasu +chem.PEROXIDE=Produkcja Nadtlenku Wodoru +chem.PET=Synteza PET +chem.PETROIL_LEADED=Mieszanie Ołowiowej Benzyny Olejowej +chem.POLYMER=Synteza Polimeru +chem.PUF6=Plutonium Hexafluoride Production +chem.RUBBER=Produkcja Gumy +chem.SAS3=Schrabidium Trisulfide Production +chem.SATURN=Produkcja Saturanitu +chem.SCHRABIDATE=Ferric Schrabidate Production +chem.SCHRABIDIC=Schrabidic Acid Mixing +chem.SF_BIOFUEL=Biofuel Solidification +chem.SF_BIOGAS=Biogas Solidification +chem.SF_DIESEL=Diesel Solidification +chem.SF_GAS=Natural Gas Solidification +chem.SF_HEATINGOIL=Heating Oil Solidification +chem.SF_HEAVYOIL=Heavy Oil Solidification +chem.SF_KEROSENE=Kerosene Solidification +chem.SF_LIGHTOIL=Light Oil Solidification +chem.SF_LUBRICANT=Lubricant Solidification +chem.SF_NAPHTHA=Naphtha Solidification +chem.SF_OIL=Krzepnięcie Surowej Ropy +chem.SF_PETROIL=Krzepnięcie Nafty Olejowej +chem.SF_PETROLEUM=Petroleum Gas Solidification +chem.SF_RECLAIMED=Krzepnięcie Oleju z Odzysku +chem.SF_SMEAR=Industrial Oil Solidification +chem.SOLID_FUEL=Solid Rocket Fuel Production +chem.SOLVENT=Organic Solvent Mixing +chem.STEAM=Wrzenie Wody +chem.SULFURIC_ACID=Sulfuric Acid Production +chem.TATB=Synteza TATB +chem.TEL=Mieszanie TEL +chem.TEST=Test +chem.TNT=Synteza TNT +chem.UF6=Uranium Hexafluoride Production +chem.VIT_GAS=Gaseous Nuclear Waste Vitrification +chem.VIT_LIQUID=Liquid Nuclear Waste Vitrification +chem.XENON=Ksenonowy Cykl Lindego +chem.XENON_OXY=Boosted Linde Xenon Cycle +chem.YELLOWCAKE=Produkcja "Żółtego Ciasta" + +container.amsBase=AMS Base (Deco) +container.amsEmitter=AMS Emitter (Deco) +container.amsLimiter=AMS Stabilizer (Deco) +container.anvil=Tier %s Anvil +container.arcFurnace=Arc Furnace +container.armorTable=Armor Modification Table +container.assembler=Assembly Machine +container.autocrafter=Automatic Crafting Table +container.barrel=Beczka +container.bat9000=Ogrominasty Zbiornik 9000 +container.battery=Energy Storage +container.bombMulti=Multi Purpose Bomb +container.catalyticReformer=Catalytic Reformer +container.centrifuge=Centrifuge +container.chemplant=Chemical Plant +container.compactLauncher=Compact Launch Pad +container.craneBoxer=Conveyor Boxer +container.craneExtractor=Conveyor Ejector +container.craneGrabber=Conveyor Grabber +container.craneInserter=Conveyor Inserter +container.craneRouter=Conveyor Router +container.craneUnboxer=Conveyor Unboxer +container.crateDesh=Desh Crate +container.crateIron=Iron Crate +container.crateSteel=Steel Crate +container.crateTungsten=Tungsten Crate +container.crystallizer=Ore Acidizer +container.cyclotron=Cyclotron +container.dfcCore=Dark Fusion Core +container.dfcEmitter=DFC Emitter +container.dfcInjector=DFC Fuel Injector +container.dfcReceiver=DFC Receiver +container.dfcStabilizer=DFC Stabilizer +container.diFurnace=Blast Furnace +container.diFurnaceRTG=Nuclear Blast Furnace +container.electricFurnace=Electric Furnace +container.epress=Prasa Elektryczna +container.factoryAdvanced=Advanced Factory +container.factoryTitanium=Podstawowa Fabryka +container.fluidtank=Zbiornik +container.fileCabinet=Filing Cabinet +container.forceField=Forcefield Emitter +container.frackingTower=Hydrauliczna Wieża Krakingowa +container.furnaceCombination=Piec Kombinacyjny +container.furnaceIron=Żelazny Piec +container.furnaceSteel=Steel Furnace +container.fusionMultiblock=Big Fusion Reactor +container.fusionaryWatzPlant=Fusionary Watz Plant +container.gasCentrifuge=Wirówka Gazowa +container.gasFlare=Flare Stack +container.generator=Reaktor Jądrowy +container.hadron=Particle Accelerator +container.heaterFirebox=Firebox +container.heaterHeatex=Wymiennik Ciepła +container.heaterOilburner=Fluid Burner +container.heaterOven=Piec Grzewczy +container.iGenerator=Generator Przemysłowy +container.keyForge=Locksmith Table +container.launchPad=Missile Launch Pad +container.launchTable=Large Launch Pad +container.leadBox=Containment Box +container.machineBoiler=Oil Heater +container.machineCMB=CMB Steel Furnace +container.machineCoal=Generator Spalinowy +container.machineCoker=Jednostka Żużlowa +container.machineCompressor=Kompresor +container.machineCrucible=Tygiel +container.machineDiesel=Generator Diesela +container.machineElectricBoiler=Elektryczny Podgrzewacz Ropy +container.machineFEL=FEL +container.machineITER=Reaktor Fuzyjny +container.machineLargeTurbine=Industrial Steam Turbine +container.machineLiquefactor=Upłynniacz +container.machineMixer=Mieszacz Przemysłowy +container.machineRefinery=Rafineria Ropy Naftowej +container.machineSelenium=Radial Performance Engine +container.machineShredder=Mielarka +container.machineSILEX=SILEX +container.machineSolidifier=Utwardzacz +container.machineTurbine=Turbina Parowa +container.machineTurbofan=Turbofan +container.machine_schrabidium_transmutator=Schrabidium Transmutation Device +container.massStorage=Storage +container.microwave=Microwave +container.miningDrill=Automatyczne Wiertło Kopalnii +container.miningLaser=Mining Laser +container.missileAssembly=Missile Assembly Station +container.nukeBoy=Little Boy +container.nukeCustom=Niestandardowa Atomówka +container.nukeFleija=F.L.E.I.J.A. +container.nukeFstbmb=Balefire Bomb +container.nukeFurnace=Piec Napędzany Promieniotwórczością +container.nukeGadget=The Gadget +container.nukeMan=Fat Man +container.nukeMike=Ivy Mike +container.nukeN2=Mina N² +container.nukeN45=N45 Naval Mine +container.nukePrototype=The Prototype +container.nukeSolinium=The Blue Rinse +container.nukeTsar=Tsar Bomba +container.oilWell=Oil Derrick +container.orbus=Heavy Antimatter Storage +container.plasmaHeater=Plasma Heater +container.press=Prasa Na Węgiel +container.puf6_tank=PuF6 Tank +container.pumpjack=Pumpjack +container.radGen=Silnik Napędzany Promieniotwórczością +container.radar=Radar +container.radiobox=Nadajnik FM +container.radiolysis=RTG and Radiolysis Chamber +container.radiorec=FM Radio +container.rbmkBoiler=RBMK Steam Channel +container.rbmkControl=RBMK Control Rods +container.rbmkControlAuto=RBMK Automatic Control Rods +container.rbmkHeater=RBMK Fluid Heater +container.rbmkOutgasser=RBMK Irradiation Channel +container.rbmkReaSim=RBMK Fuel Rod (ReaSim) +container.rbmkRod=RBMK Fuel Rod +container.rbmkStorage=RBMK Storage Column +container.reactorBreeding=Breeding Reactor +container.reactorControl=Reactor Remote Control Block +container.reactorLarge=Big Nuclear Reactor +container.reactorResearch=Research Reactor +container.reix=Rei-X Mainframe +container.rtg=Generator Radiotermiczny +container.rtgFurnace=Piec Radiotermiczny +container.rttyReceiver=Redstone-over-Radio Receiver +container.rttySender=Redstone-over-Radio Transmitter +container.safe=Sejf +container.satDock=Cargo Landing Pad +container.satLinker=Urządzenie do Komunikacji Satelitarnej +container.siren=Siren +container.soyuzCapsule=Cargo Landing Capsule +container.soyuzLauncher=Soyuz Launch Platform +container.storageDrum=Nuclear Waste Disposal Drum +container.teleLinker=TelLink Device +container.teleporter=Teleporter +container.trainTram=Electric Flat Bed Tram +container.turbinegas=Combined Cycle Gas Turbine +container.turretArty=Grześ +container.turretChekhov=Chekhov's Gun +container.turretFriendly=Pan Przyjazny +container.turretFritz=Frytz +container.turretHIMARS=Henryk +container.turretHoward=Howard +container.turretJeremy=Jeremiasz +container.turretMaxwell=Maxwell +container.turretRichard=Ryszard +container.turretSentry=Brown +container.turretTauon=Tauon +container.uf6_tank=UF6 Tank +container.vacuumDistill=Vacuum Refinery +container.wasteDrum=Spent Fuel Pool Drum +container.watzPowerplant=Watz Power Plant +container.zirnox=ZIRNOX Nuclear Reactor + +crucible.aa=Zaawansowana Produkcja Stopu +crucible.cdalloy=Produkcja Stali Kadmowej +crucible.cmb=Produkcja Stali Kombinatu +crucible.ferro=Ferrouranium Production +crucible.hematite=Iron Production from Hematite +crucible.hss=High-Speed Steel Production +crucible.malachite=Copper Production from Malachite +crucible.redcopper=Red Copper Production +crucible.steel=Steel Production +crucible.steelMeteoric=Steel Production from Meteoric Iron +crucible.steelPig=Steel Production from Pig Iron +crucible.steelWrought=Steel Production from Wrought Iron +crucible.tcalloy=Technetium Steel Production + +death.attack.acid=%1$s wpadł w kwas. +death.attack.acidPlayer=%1$s został roztopiony przez %2$s. +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.asbestos=%1$s ma teraz prawo do rekompensaty finansowej. +death.attack.bang=%1$s was blasted into bite-sized pieces. +death.attack.blackhole=%1$s was spaghettified. +death.attack.blender=%1$s was chopped in small, bite-sized pieces. +death.attack.boat=%1$s was hit by a boat. +death.attack.boil=%1$s was boiled alive by %2$s. +death.attack.boxcar=%1$s was smushed by a falling boxcar. Oh well. +death.attack.broadcast=%1$s got their brain melted. +death.attack.building=%1$s was hit by a falling building. +death.attack.cheater=%1$s's intestines turned into oats. (???) +death.attack.chopperBullet=%1$s został zmiecony przez %2$s. +death.attack.cloud=%1$s melted like a popsicle in the sun. +death.attack.cmb=%1$s was fizzeled by %2$s. +death.attack.digamma=%1$s stepped into the abyss. +death.attack.electricity=%1$s został porażony na śmierć. +death.attack.electrified=%1$s was electrified by %2$s. +death.attack.euthanized=%1$s was euthanized by %2$s. +death.attack.euthanizedSelf2=%1$s wins the Darwin Award. +death.attack.euthanizedSelf=%1$s euthanized himself, what a dork. +death.attack.exhaust=%1$s was turned into shish kebab by a starting rocket. +death.attack.flamethrower=%1$s został skremowany przez %2$s. +death.attack.flamethrower.item=%1$s was cremated by %2$s using %3$s. +death.attack.ice=%1$s was turned into a popsicle by %2$s. +death.attack.laser=%1$s was turned into ash by %2$s. +death.attack.laser.item=%1$s was turned into ash by %2$s using %3$s. +death.attack.lead=%1$s umarł od zatrucia ołowiowego. +death.attack.lunar=%1$s forgot to charge their vital organs. +death.attack.meteorite=%1$s was hit by a falling rock from outer space. +death.attack.microwave=%1$s was exploded by microwave radiation. +death.attack.mku=%1$s died from unknown causes. +death.attack.monoxide=%1$s forgot to change the batteries in their carbon monoxide detector. +death.attack.mudPoisoning=%1$s died in poisonous mud. +death.attack.nuclearBlast=%1$s was blown away by a nuclear explosion. +death.attack.overdose=%1$s overdosed and asphyxiated. +death.attack.pc=%1$s was reduced to a puddle in the pink cloud. +death.attack.plasma=%1$s was immolated by %2$s. +death.attack.radiation=%1$s died from radiation poisoning. +death.attack.revolverBullet=%1$s was shot in the head by %2$s. +death.attack.revolverBullet.item=%1$s was shot in the head by %2$s using %3$s. +death.attack.rubble=%1$s was squashed by debris. +death.attack.shrapnel=%1$s was ragged by a shrapnel. +death.attack.spikes=%1$s został nadziany. +death.attack.subAtomic1=Atomy %1$s zostały zniszczone przez %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 został podzielony przez zero przez %2$s. +death.attack.subAtomic5=%1$s został znulyfikowany przez %2$s. +death.attack.suicide=%1$s odstrzelił sobie łeb. +death.attack.taint=%1$s umał od guzów fluksowych. +death.attack.tau=%1$s został zastrzelony przez %2$s za pomocą ujemnie naładowanych tauonów. +death.attack.tauBlast=%1$s charged the XVL1456 for too long and was blown into pieces. +death.attack.teleporter=%1$s został teleportowany w pustkę. + +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. +desc.gui.gasCent.output=§6Fluid Transfer§r$Fluid can be transferred to another centrifuge$via the output port for further processing. +desc.gui.nukeBoy.desc=§1Requires:§r$ * Neutron Shielding$ * U235 Projectile$ * Subcritical U235 Target$ * Propellant$ * Bomb Igniter +desc.gui.nukeGadget.desc=§1Requires:§r$ * 4 Arrays of First-Generation$ High-Explosive Lenses$ * Heavy Plutonium Core$ * Wiring +desc.gui.nukeMan.desc=§1Requires:§r$ * 4 Arrays of First-Generation$ High-Explosive Lenses$ * Plutonium Core$ * Bomb Firing Unit +desc.gui.nukeMike.desc=§1Requires:§r$ * 4 Arrays of High-Explosive Lenses$ * Plutonium Core$ * Deuterium Cooling Unit$ * Uranium Coated Deuterium Tank$ * Deuterium Tank +desc.gui.nukeTsar.desc=§1Requires:§r$ * 4 Arrays of High-Explosive Lenses$ * Plutonium Core$§9Optional:§r$ * Tsar Bomba Core +desc.gui.radiolysis.desc=§9Description§r$This RTG is more efficient then others, and$comes equipped with a radiolysis chamber for$cracking and sterilization. +desc.gui.rtgBFurnace.desc=Requires at least 15 heat to process$The more heat on top of that, the faster it runs$Heat going over maximum speed will have no effect$Short-lived pellets may decay +desc.gui.rtg.heat=§eCurrent heat level: %s +desc.gui.rtg.pellets=Accepted Pellets: +desc.gui.rtg.pelletHeat=%s (%s heat) +desc.gui.rtg.pelletPower=%s (%s HE/tick) +desc.gui.template=§9Templates§r$Templates can be made by$using the Machine Template Folder. +desc.gui.turbinegas.automode=§2Automatic Turbine Throttling Mode§r$By clicking the "AUTO" button, the turbine$will automatically adjust the power production$based on the power required from the network +desc.gui.turbinegas.fuels=§6Accepted fuels:§r +desc.gui.turbinegas.warning=§cFuel or lubricant level low!§r +desc.gui.upgrade=§lAcceptable Upgrades:§r +desc.gui.upgrade.afterburner= * §dAfterburner§r: Stacks to level 3 +desc.gui.upgrade.effectiveness= * §aEffectiveness§r: Stacks to level 3 +desc.gui.upgrade.overdrive= * §7Overdrive§r: Stacks to level 3 +desc.gui.upgrade.power= * §1Power-Saving§r: Stacks to level 3 +desc.gui.upgrade.speed= * §4Speed§r: Stacks to level 3 +desc.gui.zirnox.coolant=§3Coolant§r$CO2 transfers heat from the core to the water.$This will boil it into super dense steam.$The efficiency of cooling and steam production$is based on pressure. +desc.gui.zirnox.pressure=§6Pressure§r$Pressure can be reduced by venting CO2.$However, too low a pressure, and cooling$efficiency and steam production will be reduced.$Look out for meltdowns! +desc.gui.zirnox.warning1=§cError:§r Water is required for$the reactor to function properly! +desc.gui.zirnox.warning2=§cError:§r CO2 is required for$the reactor to function properly! +desc.item.ammo.con_accuracy2=- Highly decreased accuracy +desc.item.ammo.con_damage=- Highly decreased damage +desc.item.ammo.con_heavy_wear=- Highly increased wear +desc.item.ammo.con_ling_fire=- No lingering fire +desc.item.ammo.con_nn=- Not even a nuke +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_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=to display installed armor mods +desc.item.battery.charge=Charge: %s / %sHE +desc.item.battery.chargePerc=Charge: %s%% +desc.item.battery.chargeRate=Charge rate: %sHE/tick +desc.item.battery.dischargeRate=Discharge rate: %sHE/tick +desc.item.durability=Durability: %s +desc.item.grenade.fuse=Fuse: %s +desc.item.grenade.fuseImpact=Impact +desc.item.grenade.fuseInstant=Instant +desc.item.gun.ammo=Ammo %s +desc.item.gun.ammoBelt=Belt +desc.item.gun.ammoEnergy=Energy; %sHE per shot +desc.item.gun.ammoEnergyAlt=%sHE per alt shot +desc.item.gun.ammoMag=%s / %s +desc.item.gun.ammoType=Ammo Type: %s +desc.item.gun.ammoTypeAlt=Secondary Ammo: %s +desc.item.gun.damage=Damage: %s - %s +desc.item.gun.damageAlt=Damage: %s +desc.item.gun.lore=to view in-depth lore +desc.item.gun.loreFunc=to view in-depth functionality +desc.item.gun.manufacturer=Manufacturer: %s +desc.item.gun.name=Name: %s +desc.item.gun.pellets=Projectiles: %s - %s +desc.item.gun.penetration=Armor Penetration Value: %s +desc.item.kitArmor=Armor will be displaced by new set. +desc.item.kitHaz=Armor will be displaced by hazmat suit. +desc.item.kitPack=What a bargain! +desc.item.kitPool=Please empty inventory before opening! +desc.item.pileRod=§eUse on drilled graphite to insert$§eUse screwdriver to extract$ +desc.item.rtgDecay=Decays to: %s +desc.item.rtgHeat=Power Level: %s +desc.item.storage.capacity=Capacity %s%%s +desc.item.storage.proscons=to view pros cons list +desc.misc.357=.357 Magnum +desc.misc.556=.223 Remington +desc.misc.762=.308 Winchester +desc.misc.func=§n-- Function -- +desc.misc.lanthanum="Lanthanum" +desc.misc.lctrl=§8Hold <§e§oLCTRL§8§o> %s +desc.misc.lore=§n-- Lore -- +desc.misc.lshift=§8Hold <§e§oLSHIFT§8§o> %s +desc.misc.luna=§o20x155mm Lunatic +desc.misc.meltPoint=Melting point: §c%s +desc.misc.noPos=No position set! +desc.misc.pos=Set pos to: %s, %s, %s +desc.misc.posSet=Position set! +desc.item.wasteCooling=Cool in a Spent Fuel Pool Drum +desc.item.zirnoxBreedingRod=§2[ZIRNOX Breeding Rod]$§ePlace next to fuel rods to breed$§eLasts %d ticks +desc.item.zirnoxRod=§a[ZIRNOX Fuel Rod]$§eGenerates %1$d heat per tick$§eLasts %2$d ticks + +digamma.playerDigamma=Ekzpozycja Digammy: +digamma.playerHealth=Wpływ Digammy: +digamma.playerRes=Odporność na Digammę: +digamma.title=URZĄDZENIE DIAGNOSTYCZNE DIGAMMA + +entity.entity_cyber_crab.name=Cyber Krab +entity.entity_elder_one.name=Kwakos Przedwieczny +entity.entity_fucc_a_ducc.name=Kaczka +entity.entity_glyphid.name=Glifid +entity.entity_glyphid_behemoth.name=Glyphid Behemoth +entity.entity_glyphid_blaster.name=Glyphid Blaster +entity.entity_glyphid_bombardier.name=Glyphid Bombardier +entity.entity_glyphid_brawler.name=Glyphid Brawler +entity.entity_glyphid_brenda.name=Brenda +entity.entity_glyphid_nuclear.name=Big Man Johnson +entity.entity_glyphid_scout.name=Glyphid Scout +entity.entity_ntm_fbi.name=FBI Agent +entity.entity_ntm_radiation_blaze.name=Meltdown Elemental +entity.hbm.entity_ntm_ufo.name=Martian Invasion Ship +entity.entity_mob_hunter_chopper.name=Hunter Chopper +entity.entity_mob_mask_man.name=Mask Man +entity.entity_mob_gold_creeper.name=Golden Creeper +entity.entity_mob_nuclear_creeper.name=Nuclear Creeper +entity.entity_mob_phosgene_creeper.name=Phosgene Creeper +entity.entity_mob_tainted_creeper.name=Tainted Creeper +entity.entity_mob_volatile_creeper.name=Volatile Creeper +entity.entity_taint_crab.name=Taint Crab +entity.entity_tesla_crab.name=Tesla Crab +entity.hbm.entity_balls_o_tron.name=Balls-O-Tron Prime +entity.hbm.entity_balls_o_tron_seg.name=Balls-O-Tron Segment +entity.hbm.entity_bullet.name=Bullet +entity.hbm.entity_rocket.name=Rocket +entity.hbm.entity_schrabnel.name=Schrabnel + +flare.ignition=Ignition +flare.valve=Flow Valve + +fluid.acid_fluid=Acid +fluid.corium_fluid=Corium +fluid.mud_fluid=Poisonous Mud +fluid.schrabidic_fluid=Schrabidic Acid +fluid.toxic_fluid=Stereotypical Green Ooze +fluid.volcanic_lava_fluid=Volcanic Lava + +foundry.filter=Filter: %s +foundry.inverted=Redstone inverted +foundry.invertFilter=Filter inverted +foundry.noCast=No mold installed! + +geiger.chunkRad=Current chunk radiation: +geiger.envRad=Total environmental radiation: +geiger.playerRad=Player contamination: +geiger.playerRes=Player resistance: +geiger.title=GEIGER COUNTER +geiger.title.dosimeter=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.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.NAZI=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.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=Analyzing... +hadron.buttonOn=Analysis Chamber (if present) is ON +hadron.buttonOff=Analysis Chamber is OFF +hadron.error_generic=Error! +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.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=Protects against hazards: +hazard.noprot=Does NOT protect against: +hazard.bacteria=Bacteria / Aerosols +hazard.corrosive=Corrosive Fumes +hazard.gasChlorine=Chemical Gas +hazard.gasInert=Inert Gas / Asphxiants +hazard.gasMonoxide=Carbon Monoxide +hazard.light=Bright Lights +hazard.nerveAgent=Nerve Agent +hazard.neverProtects=Will never protect against: +hazard.particleCoarse=Airborne Particles +hazard.particleFine=Particulates +hazard.sand=Eye Irritants + +hbm.key=NTM Hotkeys +hbm.key.calculator=Calculator +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.toggleHUD=Toggle HUD +hbm.key.reload=Reload + +hbmfluid.acid=Hydrogen Peroxide +hbmfluid.amat=Antimatter +hbmfluid.aromatics=Aromatic Hydrocarbons +hbmfluid.aschrab=Antischrabidium +hbmfluid.balefire=BF Rocket Fuel +hbmfluid.biofuel=Biofuel +hbmfluid.biogas=Biogas +hbmfluid.bitumen=Bitumen +hbmfluid.blood=Blood +hbmfluid.blood_hot=Hot Blood +hbmfluid.calcium_chloride=Calciumchloride Solution +hbmfluid.calcium_solution=Calcium Solution +hbmfluid.carbondioxide=Carbon Dioxide +hbmfluid.chlorine=Chlorine Gas +hbmfluid.chlorocalcite_cleaned=Cleaned Chlorocalcite Solution +hbmfluid.chlorocalcite_mix=Mixed Chlorocalcite Solution +hbmfluid.chlorocalcite_solution=Chlorocalcite Solution +hbmfluid.cholesterol=Cholesterol Solution +hbmfluid.coalcreosote=Coal Tar Creosote +hbmfluid.coalgas=Coal Gasoline +hbmfluid.coalgas_leaded=Leaded Coal Gasoline +hbmfluid.coaloil=Coal Oil +hbmfluid.colloid=Colloid +hbmfluid.coolant=Coolant +hbmfluid.coolant_hot=Hot Coolant +hbmfluid.crackoil=Cracked Oil +hbmfluid.cryogel=Cryogel +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.egg=Dissolved Egg +hbmfluid.estradiol=Estradiol Solution +hbmfluid.ethanol=Ethanol +hbmfluid.enderjuice=Ender Juice +hbmfluid.fishoil=Fish Oil +hbmfluid.fracksol=Fracking Solution +hbmfluid.gas=Natural Gas +hbmfluid.gas_coker=Coker Gas +hbmfluid.gasoline=Gasoline +hbmfluid.gasoline_leaded=Leaded Gasoline +hbmfluid.heatingoil=Heating Oil +hbmfluid.heatingoil_vacuum=Heavy Heating Oil +hbmfluid.heavyoil=Heavy Oil +hbmfluid.heavyoil_vacuum=Vacuum Heavy Oil +hbmfluid.heavywater=Heavy Water +hbmfluid.helium3=Helium-3 +hbmfluid.helium4=Helium-4 +hbmfluid.hotcrackoil=Hot Cracked Oil +hbmfluid.hotoil=Hot Crude Oil +hbmfluid.hotsteam=Dense Steam +hbmfluid.hydrogen=Liquid Hydrogen +hbmfluid.iongel=Ionic Gel +hbmfluid.kerosene=Kerosene +hbmfluid.kerosene_reform=Jet Fuel +hbmfluid.lava=Lava +hbmfluid.lightoil=Light Oil +hbmfluid.lightoil_crack=Cracked Light Oil +hbmfluid.lightoil_vacuum=Vacuum Light Oil +hbmfluid.lpg=LPG +hbmfluid.lubricant=Engine Lubricant +hbmfluid.mercury=Mercury +hbmfluid.mug=Mug Root Beer +hbmfluid.mug_hot=Hot Mug Root Beer +hbmfluid.mustardgas=Mustard Gas +hbmfluid.naphtha=Naphtha +hbmfluid.naphtha_coker=Coker Naphtha +hbmfluid.naphtha_crack=Cracked Naphtha +hbmfluid.nitan=NITAN© 100 Octane Super Fuel +hbmfluid.nitric_acid=Nitric Acid +hbmfluid.nitroglycerin=Nitroglycerin +hbmfluid.none=None +hbmfluid.oil=Crude Oil +hbmfluid.oil_coker=Coker Oil +hbmfluid.oxygen=Liquid Oxygen +hbmfluid.oxyhydrogen=Oxyhydrogen +hbmfluid.pain=Pandemonium(III)tantalite Solution +hbmfluid.petroil=Petroil +hbmfluid.petroil_leaded=Leaded Petroil +hbmfluid.petroleum=Petroleum Gas +hbmfluid.phosgene=Phosgene +hbmfluid.plasma_bf=Balefire Plasma +hbmfluid.plasma_dh3=Deuterium-Helium-3 Plasma +hbmfluid.plasma_dt=Deuterium-Tritium Plasma +hbmfluid.plasma_hd=Hydrogen-Deuterium Plasma +hbmfluid.plasma_ht=Hydrogen-Tritium Plasma +hbmfluid.plasma_xm=Helium-4-Oxygen Plasma +hbmfluid.potassium_chloride=Potassiumchloride Solution +hbmfluid.puf6=Plutonium Hexafluoride +hbmfluid.radiosolvent=High-Performance Solvent +hbmfluid.reclaimed=Reclaimed Industrial Oil +hbmfluid.redmud=Red Mud +hbmfluid.reformate=Reformate +hbmfluid.reformgas=Reformate Gas +hbmfluid.salient=Salient Green +hbmfluid.sas3=Schrabidium Trisulfide +hbmfluid.schrabidic=Schrabidic Acid +hbmfluid.seedslurry=Seeding Slurry +hbmfluid.smear=Industrial Oil +hbmfluid.smoke=Smoke +hbmfluid.smoke_leaded=Leaded Smoke +hbmfluid.smoke_poison=Poison Smoke +hbmfluid.solvent=Solvent +hbmfluid.sourgas=Sour Gas +hbmfluid.spentsteam=Low-Pressure Steam +hbmfluid.steam=Steam +hbmfluid.sulfuric_acid=Sulfuric Acid +hbmfluid.sunfloweroil=Sunflower Seed Oil +hbmfluid.superhotsteam=Super Dense Steam +hbmfluid.syngas=Syngas +hbmfluid.tritium=Tritium +hbmfluid.uf6=Uranium Hexafluoride +hbmfluid.ultrahotsteam=Ultra Dense Steam +hbmfluid.unsaturateds=Unsaturated Hydrocarbons +hbmfluid.wastefluid=Liquid Nuclear Waste +hbmfluid.wastegas=Gaseous Nuclear Waste +hbmfluid.water=Water +hbmfluid.watz=Poisonous Mud +hbmfluid.woodoil=Wood Oil +hbmfluid.xenon=Xenon Gas +hbmfluid.xpjuice=Experience Juice +hbmfluid.xylene=BTX +hbmpseudofluid.none=Empty +hbmpseudofluid.heuf6=Highly Enriched UF6 +hbmpseudofluid.meuf6=Medium Enriched UF6 +hbmpseudofluid.leuf6=Low Enriched UF6 +hbmpseudofluid.nuf6=Natural UF6 +hbmpseudofluid.pf6=Plutonium Hexafluoride +hbmpseudofluid.mud_heavy=Heavy Sludge Fraction +hbmpseudofluid.mud=Poisonous Sludge Gas + +hbmmat.actinium227=Actinium-227 +hbmmat.advancedalloy=Advanced Alloy +hbmmat.aluminum=Aluminium +hbmmat.americiumrg=Reactor-Grade Americium +hbmmat.americium241=Americium-241 +hbmmat.americium242=Americium-242 +hbmmat.arsenic=Arsenic +hbmmat.asbestos=Asbestos +hbmmat.bakelite=Bakelite +hbmmat.beryllium=Beryllium +hbmmat.bismuth=Bismuth +hbmmat.borax=Borax +hbmmat.boron=Boron +hbmmat.cadmium=Cadmium +hbmmat.carbon=Carbon +hbmmat.cdalloy=Cadmium Steel +hbmmat.cinnabar=Cinnabar +hbmmat.cmbsteel=Combine Steel +hbmmat.coal=Coal +hbmmat.coalcoke=Coal Coke +hbmmat.cobalt=Cobalt +hbmmat.cobalt60=Cobalt-60 +hbmmat.coltan=Coltan +hbmmat.copper=Copper +hbmmat.desh=Desh +hbmmat.dineutronium=Dineutronium +hbmmat.durasteel=High-Speed Steel +hbmmat.euphemium=Euphemium +hbmmat.ferrouranium=Ferrouranium +hbmmat.fiberglass=Fiberglass +hbmmat.fluorite=Fluorite +hbmmat.flux=Flux +hbmmat.ghiorsium336=Ghiorsium-336 +hbmmat.gold=Gold +hbmmat.gold198=Gold-198 +hbmmat.graphene=Graphene +hbmmat.graphite=Graphite +hbmmat.hematite=Hematite +hbmmat.iron=Iron +hbmmat.lapis=Lapis Lazuli +hbmmat.lead=Lead +hbmmat.lead209=Lead-209 +hbmmat.lignitecoke=Lignite Coke +hbmmat.lignite=Lignite +hbmmat.lithium=Lithium +hbmmat.magnetizedtungsten=Magnetized Tungsten +hbmmat.malachite=Malachite +hbmmat.meteoriciron=Meteoric Iron +hbmmat.mingrade=Minecraft Grade Copper +hbmmat.neptunium237=Neptunium-237 +hbmmat.niobium=Niobium +hbmmat.obsidian=Obsidian +hbmmat.osmiridium=Osmiridium +hbmmat.petcoke=Petroleum Coke +hbmmat.pigiron=Pig Iron +hbmmat.plutonium=Plutonium +hbmmat.plutonium238=Plutonium-238 +hbmmat.plutonium239=Plutonium-239 +hbmmat.plutonium240=Plutonium-240 +hbmmat.plutonium241=Plutonium-241 +hbmmat.plutoniumrg=Reactor-Grade Plutonium +hbmmat.polonium210=Polonium-210 +hbmmat.polymer=Polymer +hbmmat.radium226=Radium-226 +hbmmat.redphosphorus=Red Phosphorus +hbmmat.redstone=Redstone +hbmmat.rubber=Rubber +hbmmat.saltpeter=Niter +hbmmat.saturnite=Saturnite +hbmmat.schrabidate=Ferric Schrabidate +hbmmat.schrabidium=Schrabidium +hbmmat.schraranium=Schraranium +hbmmat.slag=Slag +hbmmat.solinium=Solinium +hbmmat.starmetal=Starmetal +hbmmat.steel=Steel +hbmmat.stone=Stone +hbmmat.sulfur=Sulfur +hbmmat.tantalum=Tantalum +hbmmat.tcalloy=Technetium Steel +hbmmat.technetium99=Technetium-99 +hbmmat.titanium=Titanium +hbmmat.thorium232=Thorium-232 +hbmmat.tungsten=Tungsten +hbmmat.uranium=Uranium +hbmmat.uranium233=Uranium-233 +hbmmat.uranium235=Uranium-235 +hbmmat.uranium238=Uranium-238 +hbmmat.watzmud=Poisonous Mud +hbmmat.whitephosphorus=White Phosphorus +hbmmat.workersalloy=Desh +hbmmat.wroughtiron=Wroght Iron + +matshape.block=%s Block +matshape.blocks=%s Blocks +matshape.ingot=%s Ingot +matshape.ingots=%s Ingots +matshape.nugget=%s Nugget +matshape.nuggets=%s Nuggets +matshape.quantum=%s Quantum +matshape.quanta=%s Quanta + +info.asbestos=My lungs are burning. +info.coaldust=It's hard to breathe here. +info.coil=Coil Strength +info.templatefolder=Created with %s +info.template_in=Input: +info.template_in_p=Inputs: +info.template_out=Output: +info.template_out_p=Outputs: +info.template_seconds=seconds +info.template_time=Production Time: + +item.acetylene_torch.name=Acetylene Welding Torch +item.ajr_boots.name=Steel Ranger Boots +item.ajr_helmet.name=Steel Ranger Helmet +item.ajr_legs.name=Steel Ranger Leggings +item.ajr_plate.name=Steel Ranger Chestplate +item.ajro_boots.name=AJR Power Armor Boots +item.ajro_helmet.name=AJR Power Armor Helmet +item.ajro_legs.name=AJR Power Armor Leggings +item.ajro_plate.name=AJR Power Armor Chestplate +item.alloy_axe.name=Advanced Alloy Axe +item.alloy_boots.name=Advanced Alloy Boots +item.alloy_helmet.name=Advanced Alloy Helmet +item.alloy_hoe.name=Advanced Alloy Hoe +item.alloy_legs.name=Advanced Alloy Leggings +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 +item.ammo_arty_classic.name=16" Artillery Shell (The Factorio Special) +item.ammo_arty_he.name=16" High Explosive Artillery Shell +item.ammo_arty_mini_nuke.name=16" Micro Nuclear Artillery Shell +item.ammo_arty_mini_nuke_multi.name=16" Multi Micro Nuclear Artillery Shell +item.ammo_arty_mustard_gas.name=16" Mustard Gas Artillery Shell +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_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_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) +item.ammo_himars_standard_mini_nuke.name=227mm Guided Artillery Rocket Pod (Mini Nuke) +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.ams_catalyst_aluminium.name=Aluminium Reaction Catalyst +item.ams_catalyst_beryllium.name=Beryllium Reaction Catalyst +item.ams_catalyst_blank.name=Blank 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_dineutronium.name=Dineutronium 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_schrabidium.name=Schrabidium 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_core_eyeofharmony.name=Eye of Harmony (AMS/DFC Core) +item.ams_core_sing.name=Vibrant Singularity (AMS/DFC Core) +item.ams_core_thingy.name=Thingy (AMS/DFC Core) +item.ams_core_wormhole.name=Tiny Wormhole (AMS/DFC Core) +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=Stabilizer Lens +item.ams_muzzle.name=Ray-Emission Muzzle +item.ams_muzzle.desc=...it emits an energy-beam thingy. +item.analyzer.name=Analyzer +item.anchor_remote.name=Recall Device +item.antiknock.name=Tetraethyllead Antiknock Agent +item.apple_euphemium.name=Euphemium Apple +item.apple_lead.name=Lead Apple +item.apple_schrabidium.name=Schrabidium Apple +item.arc_electrode.name=Graphite Electrode +item.arc_electrode_burnt.name=Molten Electrode +item.arc_electrode_desh.name=Desh Electrode +item.armor_polish.name=ShiningArmor™ Armor Polish +item.asbestos_boots.name=Fire Proximity Boots +item.asbestos_cloth.name=Fire Proximity Cloth +item.asbestos_helmet.name=Fire Proximity Helmet +item.asbestos_legs.name=Fire Proximity Leggings +item.asbestos_plate.name=Fire Proximity Chestplate +item.ashglasses.name=Ash Goggles +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=Mini Nuke Shell +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=Assembly Template: +item.assembly_uzi.name=.22 LR Assembly +item.attachment_mask.name=Gas Mask Attachable +item.attachment_mask_mono.name=Half Mask Attachable +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.back_tesla.name=Back-Mounted Tesla Coil +item.balefire_and_ham.name=Ham and Balefire Eggs +item.balefire_and_steel.name=Balefire and Steel +item.balefire_scrambled.name=Scrambled Balefire Egg +item.ball_dynamite.name=Dynamite +item.ball_fireclay.name=Fireclay +item.ball_tatb.name=TATB +item.ball_tnt.name=TNT +item.ballistic_gauntlet.name=Ballistic Gauntlet +item.ballistite.name=Ballistite +item.bandaid.name=Velvet Band-Aid +item.bathwater.name=Toxic Soapy Water +item.bathwater_mk2.name=Toxic Soapy Water (Horse Scented) +item.battery_advanced.name=Advanced Battery +item.battery_advanced_cell.name=Advanced Power Cell +item.battery_advanced_cell_12.name=Twelvefold Advanced Power Cell +item.battery_advanced_cell_4.name=Quadruple Advanced Power Cell +item.battery_creative.name=Infinite Battery +item.battery_generic.name=Battery +item.battery_lithium.name=Lithium-Ion Battery +item.battery_lithium_cell.name=Lithium-Ion Power Cell +item.battery_lithium_cell_3.name=Triple Lithium-Ion Power Cell +item.battery_lithium_cell_6.name=Sixfold Lithium-Ion Power Cell +item.battery_potato.name=Potato Battery +item.battery_potatos.name=PotatOS +item.battery_red_cell.name=Redstone Power Cell +item.battery_red_cell_24.name=24-Fold Redstone Power Cell +item.battery_red_cell_6.name=Sixfold Redstone Power Cell +item.battery_sc_americium.name=Self-Charging Americium-241 Battery +item.battery_sc_gold.name=Self-Charging Gold-198 Battery +item.battery_sc_lead.name=Self-Charging Lead-209 Battery +item.battery_sc_plutonium.name=Self-Charging Plutonium-238 Battery +item.battery_sc_polonium.name=Self-Charging Polonium-210 Battery +item.battery_sc_technetium.name=Self-Charging Technetium-99 Battery +item.battery_sc_uranium.name=Self-Charging Uranium-238 Battery +item.battery_schrabidium.name=Schrabidium Battery +item.battery_schrabidium_cell.name=Schrabidium Power Cell +item.battery_schrabidium_cell_2.name=Double Schrabidium Power Cell +item.battery_schrabidium_cell_4.name=Quadruple Schrabidium Power Cell +item.battery_spark.name=Spark 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_10000.name=Spark Solid Space-Time Crystal +item.battery_spark_cell_25.name=Spark Arcane Car Battery +item.battery_spark_cell_2500.name=Spark Arcane Dirac Sea +item.battery_spark_cell_6.name=Spark Power Cell +item.battery_spark_cell_power.name=Spark Ludicrous Physics-Defying Energy Storage Unit +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=Off-Brand Spark Battery +item.bdcl.name=BDCL +item.beta.name=Beta Features +item.big_sword.name=Great Sword +item.billet_actinium.name=Actinium-227 Billet +item.billet_am_mix.name=Reactor Grade Americium Billet +item.billet_am241.name=Americium-241 Billet +item.billet_am242.name=Americium-242 Billet +item.billet_americium_fuel.name=Americium Fuel Billet +item.billet_au198.name=Gold-198 Billet +item.billet_australium.name=Australium Billet +item.billet_australium_greater.name=Greater Australium Billet +item.billet_australium_lesser.name=Lesser Australium Billet +item.billet_balefire_gold.name=Flashgold Billet +item.billet_beryllium.name=Beryllium Billet +item.billet_bismuth.name=Bismuth Billet +item.billet_co60.name=Cobalt-60 Billet +item.billet_cobalt.name=Cobalt Billet +item.billet_flashlead.name=Flashlead Billet +item.billet_flashlead.desc=The lattice decays, causing antimatter-matter$annihilation reactions, causing the release of$pions, decaying into muons, catalyzing fusion of$the nuclei, creating the new element.$Please try to keep up. +item.billet_gh336.name=Ghiorsium-336 Billet +item.billet_gh336.desc=Seaborgium's colleague. +item.billet_hes.name=Highly Enriched Schrabidium Fuel Billet +item.billet_les.name=Low Enriched Schrabidium Fuel Billet +item.billet_mox_fuel.name=MOX Fuel Billet +item.billet_mox_fuel.desc=Pocket-Moxie! +item.billet_neptunium.name=Neptunium Billet +item.billet_neptunium_fuel.name=Neptunium Fuel Billet +item.billet_nuclear_waste.name=Nuclear Waste Billet +item.billet_pb209.name=Lead-209 Billet +item.billet_po210be.name=Po210Be Billet +item.billet_polonium.name=Polonium-210 Billet +item.billet_pu_mix.name=Reactor Grade Plutonium Billet +item.billet_pu238.name=Plutonium-238 Billet +item.billet_pu238be.name=Pu238Be Billet +item.billet_pu239.name=Plutonium-239 Billet +item.billet_pu240.name=Plutonium-240 Billet +item.billet_pu241.name=Plutonium-241 Billet +item.billet_plutonium.name=Plutonium Billet +item.billet_plutonium_fuel.name=Plutonium Fuel Billet +item.billet_ra226.name=Radium-226 Billet +item.billet_ra226be.name=Ra226Be Billet +item.billet_schrabidium.name=Schrabidium Billet +item.billet_schrabidium_fuel.name=Schrabidium Fuel Billet +item.billet_solinium.name=Solinium Billet +item.billet_sr90.name=Strontium-90 Billet +item.billet_technetium.name=Technetium-99 Billet +item.billet_th232.name=Thorium-232 Billet +item.billet_thorium_fuel.name=Thorium Fuel Billet +item.billet_u233.name=Uranium-233 Billet +item.billet_u235.name=Uranium-235 Billet +item.billet_u238.name=Uranium-238 Billet +item.billet_uranium.name=Uranium Billet +item.billet_uranium_fuel.name=Uranium Fuel Billet +item.billet_yharonite.name=Yharonite Billet +item.billet_zfb_am_mix.name=Reactor Grade Americium ZFB Billet +item.billet_zfb_bismuth.name=Bismuth ZFB Billet +item.billet_zfb_pu241.name=Pu-241 ZFB Billet +item.billet_zirconium.name=Zirconium Billet +item.bio_wafer.name=Algae Wafer +item.biomass.name=Biomass +item.biomass_compressed.name=Compressed Biomass +item.bismuth_boots.name=Bismuth Sandals +item.bismuth_helmet.name=Bismuth Headdress +item.bismuth_legs.name=Bismuth Kneeguards +item.bismuth_pickaxe.name=Bismuth Pickaxe +item.bismuth_plate.name=Bismuth Shoulderpads, Necklace & Loincloth +item.bismuth_tool.name=Magnetic Extractor +item.bj_boots.name=Lunar Studded Boots +item.bj_helmet.name=Eyepatch with Thermal Sensor +item.bj_legs.name=Lunar Cybernetic Leg Replacements +item.bj_plate.name=Lunar Cybernetic Plating +item.bj_plate_jetpack.name=Lunar Cybernetic Plating (Winged) +item.black_diamond.name=Black Diamond +item.black_hole.name=Miniature Black Hole +item.blade_meteorite.name=Meteorite Blade +item.blade_titanium.name=Titanium Blade +item.blade_tungsten.name=Tungsten Reinforced Blade +item.blades_advanced_alloy.name=Advanced Shredder Blades +item.blades_desh.name=Desh Shredder Blades +item.blades_steel.name=Steel Shredder Blades +item.blades_titanium.name=Titanium Shredder Blades +item.blowtorch.name=Blowtorch +item.board_copper.name=Copper Panel +item.bobmazon_hidden.name=Hidden Catalog +item.bobmazon_machines.name=Bobmazon: Blocks and Machines +item.bobmazon_materials.name=Bobmazon: Materials +item.bobmazon_tools.name=Bobmazon: Tools +item.bobmazon_weapons.name=Bobmazon: Weapons and Explosives +item.bolt_compound.name=Reinforced Turbine Shaft +item.bolt_dura_steel.name=High-Speed Steel Bolt +item.bolt_tungsten.name=Tungsten Bolt +item.boltgun.name=Pneumatic Rivet Gun +item.bomb_caller.name=Airstrike Designator +item.bomb_waffle.name=Waffle of Mass Destruction +item.book_guide.name=Guide Book +item.book_of_.name=The Book of Boxcars +item.book_secret.name=3-596-50802-9 +item.bottle2_empty.name=Empty Bottle +item.bottle2_fritz.name=Fritz Cola +item.bottle2_fritz_special.name=The First Fritz Cola +item.bottle2_korl.name=Korl +item.bottle2_korl_special.name=The First Korl +item.bottle2_sunset.name=Sunset Sarsaparilla +item.bottle_cherry.name=Bottle of Nuka Cherry +item.bottle_empty.name=Empty Bomb-Shaped Bottle +item.bottle_mercury.name=Bottle of Mercury +item.bottle_nuka.name=Bottle of Nuka Cola +item.bottle_opener.name=Hbm's Own Self-Made Bottle Opener +item.bottle_quantum.name=Bottle of Nuka Cola Quantum +item.bottle_rad.name=Bottle of S~Cola RAD +item.bottle_sparkle.name=Bottle of S~Cola +item.boy_bullet.name=U235 Projectile +item.boy_igniter.name=Bomb Igniter +item.boy_kit.name=Little Boy Kit +item.boy_propellant.name=Propellant +item.boy_shielding.name=Neutron Shielding +item.boy_target.name=Subcritical U235 Target +item.briquette.coal.name=Coal Briquette +item.briquette.lignite.name=Lignite Briquette +item.briquette.wood.name=Sawdust Briquette +item.bucket_acid.name=Bucket of Acid +item.bucket_mud.name=Bucket of Poisonous Mud +item.bucket_schrabidic_acid.name=Bucket of Schrabidic Acid +item.bucket_sulfuric_acid.name=Bucket of Sulfuric Acid +item.bucket_toxic.name=Bucket of Stereotypical Green Ooze +item.burnt_bark.name=Burnt Bark +item.burnt_bark.desc=A piece of bark from an exploded golden oak tree. +item.can_bepis.name=Bepis +item.can_breen.name=Dr>Breens Private Reserve +item.can_creature.name='Creature' Energy Drink +item.can_empty.name=Empty Can +item.can_key.name=Winding Key +item.can_luna.name=Black Mesa Luna - Dark Cola +item.can_mrsugar.name='Dr. Sugar' Soft Drink +item.can_mug.name=MUG Root Beer +item.can_overcharge.name=Overcharge Delirium XT +item.can_redbomb.name='Red Bomb' Energy Drink +item.can_smart.name='Smart' Energy Drink +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=Empty Canister +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=Canister: +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=Napalm 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=Canned Asbestos +item.canned_asbestos.desc=TASTE the asbestosis! +item.canned_ass.name=Canned Ass +item.canned_ass.desc=100%% quality donkey meat!* +item.canned_bark.name=Canned Pine Bark Jerky +item.canned_bark.desc=Extra cronchy! +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_chinese.name=Canned Chinese Food +item.canned_chinese.desc=In China, Chinese food is just called food. +item.canned_diesel.name=Canned Diesel +item.canned_diesel.desc=I'm slowly running out of jokes for these. +item.canned_fist.name=Canned Fist +item.canned_fist.desc=Yowser! +item.canned_fried.name=Canned Fried Chicken +item.canned_fried.desc=Even the can is deep fried! +item.canned_hotdogs.name=Canned Hotdogs +item.canned_hotdogs.desc=Not to be confused with cool cats. +item.canned_jizz.name=FlimFlam Industries Canned Stallion Milk™ +item.canned_jizz.desc=Wait wh- +item.canned_kerosene.name=Canned Kerosene +item.canned_kerosene.desc=Just imagine a witty line here. +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_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 +item.canned_oil.desc=It makes motors go, so why not humans? +item.canned_pashtet.name=Паштет +item.canned_pashtet.desc=услуги перевода недоступны! +item.canned_pizza.name=Canned Pepperoni Pizza +item.canned_pizza.desc=A crime against humanity. +item.canned_recursion.name=Canned Recursion +item.canned_recursion.desc=Canned Recursion +item.canned_spam.name=Canned Spam +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=Canned "Mushroom Stew" +item.canned_stew.desc=... +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_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 +item.cap_nuka.name=Nuka Cola Bottle Cap +item.cap_quantum.name=Nuka Cola Quantum Bottle Cap +item.cap_rad.name=S~Cola RAD Bottle Cap +item.cap_sparkle.name=S~Cola Bottle Cap +item.cap_star.name=Sunset Sarsaparilla Star Cap +item.cap_sunset.name=Sunset Sarsaparilla Bottle Cap +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=Cape (Gas Mask) +item.cape_hbm.name=Hbm's Cape +item.cape_hidden.name=Hidden Cape +item.cape_lpkukin.name=LPkukin's Cape +item.cape_nostalgia.name=DrNostalgia's Cape +item.cape_radiation.name=Cape (Radiation) +item.cape_schrabidium.name=Cape (Schrabidic) +item.cape_vertice.name=Lord Vertice's Cape +item.cart.crate.name=Crate Cart +item.cart.destroyer.name=Scrap Destroying Cart +item.cart.empty.name=Minecart +item.casing_357.name=.357 Magnum Casing (x24) +item.casing_44.name=.44 Magnum Casing (x24) +item.casing_50.name=Large Caliber Casing (x12) +item.casing_9.name=Small Caliber Casing (x32) +item.casing_buckshot.name=Buckshot Casing (x12) +item.catalyst_clay.name=Clay Catalyst +item.catalytic_converter.name=Catalytic Converter +item.cbt_device.name=CBT Device +item.cell_anti_schrabidium.name=Antischrabidium Cell +item.cell_antimatter.name=Antimatter Cell +item.cell_balefire.name=Gaseous Balefire Cell +item.cell_deuterium.name=Deuterium Cell +item.cell_empty.name=Empty Cell +item.cell_puf6.name=Plutonium Hexafluoride Cell +item.cell_sas3.name=Schrabidium Trisulfide Cell +item.cell_tritium.name=Tritium Cell +item.cell_uf6.name=Uranium Hexafluoride Cell +item.centri_stick.name=Centrifuge on a Stick +item.centrifuge_element.name=Centrifuge Element +item.centrifuge_tower.name=Centrifuge Tower +item.chainsaw.name=Chainsaw +item.cheese.name=Cheese +item.cheese_quesadilla.name=Cheese Quesadilla +item.chemical_dye.black.name=Chemical Dye (Black) +item.chemical_dye.blue.name=Chemical Dye (Blue) +item.chemical_dye.brown.name=Chemical Dye (Brown) +item.chemical_dye.cyan.name=Chemical Dye (Cyan) +item.chemical_dye.gray.name=Chemical Dye (Gray) +item.chemical_dye.green.name=Chemical Dye (Green) +item.chemical_dye.lightblue.name=Chemical Dye (Light Blue) +item.chemical_dye.lime.name=Chemical Dye (Lime) +item.chemical_dye.magenta.name=Chemical Dye (Magenta) +item.chemical_dye.orange.name=Chemical Dye (Orange) +item.chemical_dye.pink.name=Chemical Dye (Pink) +item.chemical_dye.purple.name=Chemical Dye (Purple) +item.chemical_dye.red.name=Chemical Dye (Red) +item.chemical_dye.silver.name=Chemical Dye (Light Gray) +item.chemical_dye.white.name=Chemical Dye (White) +item.chemical_dye.yellow.name=Chemical Dye (Yellow) +item.chemistry_set.name=Laboratory Glassware +item.chemistry_set_boron.name=Laboratory Glassware (Boron Glass) +item.chemistry_template.name=Chemistry Template: +item.chernobylsign.name=Chernobyl Warning Sign Battle Axe +item.chlorine_pinwheel.name=Chlorine Pinwheel +item.chlorophyte_pickaxe.name=Chlorophyte Pickaxe +item.chocolate.name=Ithis-Brand Radium Chocolate +item.chocolate.desc=Radium Chocolate? Pretty sure this is just meth. +item.chocolate_milk.name=Chocolate Milk +item.chopper.name=Hunter Chopper +item.chopper_blades.name=Hunter Chopper Rotor Blades +item.chopper_gun.name=Emplacement Gun +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.cigarette.name=FFI-Brand Cigarette +item.cinnebar.name=Cinnabar +item.circuit_aluminium.name=Basic Circuit +item.circuit_arsenic.name=Adaptable Circuit +item.circuit_arsenic_raw.name=Adaptable Circuit Assembly +item.circuit_bismuth.name=Versatile Chipset +item.circuit_bismuth_raw.name=Versatile Chipset Assembly +item.circuit_copper.name=Enhanced Circuit +item.circuit_gold.name=Overclocked Circuit +item.circuit_raw.name=Basic Circuit Assembly +item.circuit_red_copper.name=Advanced Circuit +item.circuit_schrabidium.name=High Performance Circuit +item.circuit_star.name=StarControl Circuit Board +item.circuit_star.desc=Currently unused, for it lacks an operating system. +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_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.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=Capacitor Board +item.circuit_tantalium_raw.name=Capacitor Board Assembly +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.cladding_desh.name=Desh Cladding +item.cladding_ghiorsium.name=Ghiorsium Cladding +item.cladding_iron.name=Iron Cladding +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.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=CMB Steel Axe +item.cmb_boots.name=CMB Steel Boots +item.cmb_helmet.name=CMB Steel Helmet +item.cmb_hoe.name=CMB Steel Hoe +item.cmb_legs.name=CMB Steel Leggings +item.cmb_pickaxe.name=CMB Steel Pickaxe +item.cmb_plate.name=CMB Steel Chestplate +item.cmb_shovel.name=CMB Steel Shovel +item.cmb_sword.name=CMB Steel Sword +item.coal_infernal.name=Infernal Coal +item.cobalt_axe.name=Cobalt Axe +item.cobalt_boots.name=Cobalt Boots +item.cobalt_decorated_axe.name=Decorated Cobalt Axe +item.cobalt_decorated_hoe.name=Decorated Cobalt Hoe +item.cobalt_decorated_pickaxe.name=Decorated Cobalt Pickaxe +item.cobalt_decorated_shovel.name=Decorated Cobalt Shovel +item.cobalt_decorated_sword.name=Decorated Cobalt Sword +item.cobalt_helmet.name=Cobalt Helmet +item.cobalt_hoe.name=Cobalt Hoe +item.cobalt_legs.name=Cobalt Leggings +item.cobalt_pickaxe.name=Cobalt Pickaxe +item.cobalt_plate.name=Cobalt Chestplate +item.cobalt_shovel.name=Cobalt Shovel +item.cobalt_sword.name=Cobalt Sword +item.coffee.name=Coffee +item.coffee_radium.name=Radium Coffee +item.coil_advanced_alloy.name=Super Conducting Coil +item.coil_advanced_torus.name=Super Conducting Ring Coil +item.coil_copper.name=Copper Coil +item.coil_copper_torus.name=Ring Coil +item.coil_gold.name=Gold Coil +item.coil_gold_torus.name=Golden Ring Coil +item.coil_magnetized_tungsten.name=4000K High Temperature Super Conducting Coil +item.coil_tungsten.name=Heating Coil +item.coin_creeper.name=Nuclear Creeper Coin +item.coin_maskman.name=Maskman Coin +item.coin_radiation.name=Radiation Coin +item.coin_siege.name=Siege Coin +item.coin_ufo.name=UFO Coin +item.coin_worm.name=Balls-O-Tron Coin +item.coke.coal.name=Coal Coke +item.coke.lignite.name=Lignite Coke +item.coke.petroleum.name=Petroleum Coke +item.coltan_tool.name=Coltass +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.cordite.name=Cordite +item.cotton_candy.name=Radioactive Cotton Candy +item.crackpipe.name=Health Pipe +item.crate_caller.name=Supply Drop Requester +item.crayon.black.name=Black Crayon +item.crayon.blue.name=Blue Crayon +item.crayon.brown.name=Brown Crayon +item.crayon.cyan.name=Cyan Crayon +item.crayon.gray.name=Gray Crayon +item.crayon.green.name=Green Crayon +item.crayon.lightblue.name=Light Blue Crayon +item.crayon.lime.name=Lime Crayon +item.crayon.magenta.name=Magenta Crayon +item.crayon.orange.name=Orange Crayon +item.crayon.pink.name=Pink Crayon +item.crayon.purple.name=Purple Crayon +item.crayon.red.name=Red Crayon +item.crayon.silver.name=Light Gray Crayon +item.crayon.white.name=White Crayon +item.crayon.yellow.name=Yellow Crayon +item.crowbar.name=Mk.V Crate Opening Device "Crowbar" +item.crucible.name=Crucible +item.crucible_template.name=Crucible Template: +item.crystal_aluminium.name=Aluminium Crystals +item.crystal_beryllium.name=Beryllium Crystals +item.crystal_charred.name=Charred Crystal +item.crystal_charred.desc=High quality silicate, slightly burned. +item.crystal_charred.desc.P11=Also a real horn. Weird, right? +item.crystal_coal.name=Coal Crystals +item.crystal_cobalt.name=Cobalt Crystals +item.crystal_copper.name=Copper Crystals +item.crystal_cinnebar.name=Cinnabar Crystals +item.crystal_diamond.name=Diamond Crystals +item.crystal_energy.name=Energy Crystal +item.crystal_fluorite.name=Fluorite Crystals +item.crystal_gold.name=Gold Crystals +item.crystal_horn.name=Crystal Horn +item.crystal_horn.desc=Not an actual horn. +item.crystal_horn.desc.P11=An actual horn. +item.crystal_iron.name=Iron Crystals +item.crystal_lead.name=Lead Crystals +item.crystal_lapis.name=Lapis Crystals +item.crystal_lithium.name=Lithium Crystals +item.crystal_niter.name=Niter Crystals +item.crystal_osmiridium.name=Osmiridium Crystals +item.crystal_phosphorus.name=Phosphorus Crystals +item.crystal_plutonium.name=Plutonium Crystals +item.crystal_rare.name=Rare Earth Crystals +item.crystal_redstone.name=Redstone Crystals +item.crystal_schrabidium.name=Schrabidium Crystals +item.crystal_schraranium.name=Schraranium Crystals +item.crystal_starmetal.name=Starmetal Crystals +item.crystal_sulfur.name=Sulfur Crystals +item.crystal_thorium.name=Thorium Crystals +item.crystal_titanium.name=Titanium Crystals +item.crystal_trixite.name=Trixite Crystals +item.crystal_tungsten.name=Tungsten Crystals +item.crystal_uranium.name=Uranium Crystals +item.crystal_xen.name=Artificial Xen Crystal +item.crt_display.name= Cathode Ray Tube +item.cube_power.name=Electronium Cube +item.custom_amat.name=Custom Nuke Antimatter Rod +item.custom_dirty.name=Custom Nuke Dirty Rod +item.custom_fall.name=Custom Nuke Drop Upgrade +item.custom_fall.desc=That's what you've aaaaaaall been waiting for!$Makes bomb drop upon activation +item.custom_hydro.name=Custom Nuke Hydrogen Rod +item.custom_kit.name=Custom Nuke Kit +item.custom_nuke.name=Custom Nuke Nuclear Rod +item.custom_schrab.name=Custom Nuke Schrabidium Rod +item.custom_tnt.name=Custom Nuke Explosive Charge +item.cyclotron_tower.name=Cyclotron Tower +item.debris_concrete.name=Broken Concrete +item.debris_element.name=Broken ZIRNOX Fuel Element +item.debris_exchanger.name=Heat Exchanger Piece +item.debris_fuel.name=RBMK Fuel Chunk +item.debris_graphite.name=Hot Graphite Chunk +item.debris_metal.name=Broken Metal Bar +item.debris_shrapnel.name=Walkway Shrapnel +item.definitelyfood.name=TotallyNotDirt-Brand MRE +item.defuser.name=High-Tech Bomb Defusing Device +item.defuser_gold.name=Golden Wire Cutter +item.demon_core_closed.name=Closed Demon Core +item.demon_core_open.name=Suspended Demon Core +item.desh_axe.name=Worker's Alloy Axe +item.desh_hoe.name=Worker's Alloy Hoe +item.desh_pickaxe.name=Worker's Alloy Pickaxe +item.desh_shovel.name=Worker's Alloy Shovel +item.desh_sword.name=Worker's Alloy Sword +item.designator.name=Short Range Target Designator +item.designator_arty_range.name=Long Range Artillery Remote +item.designator_manual.name=Manual Target Designator +item.designator_range.name=Long Range Target Designator +item.detonator.name=Detonator +item.detonator_de.name=Dead Man's Explosive +item.detonator_deadman.name=Dead Man's Detonator +item.detonator_laser.name=Laser Detonator +item.detonator_multi.name=Multi Detonator +item.deuterium_filter.name=Deuterium Filter +item.diamond_gavel.name=Diamond Gavel +item.dieselsuit_boots.name=Diesel-Powered High Heels +item.dieselsuit_helmet.name=Diesel-Powered Head-Mounted Environmental Sensor +item.dieselsuit_legs.name=Diesel-Powered Leg Servos +item.dieselsuit_plate.name=Diesel-Powered Cybernetics +item.digamma_diagnostic.name=Digamma Diagnostic +item.dns_boots.name=DNT Nano Suit Boots +item.dns_legs.name=DNT Nano Suit Leggings +item.dns_helmet.name=DNT Nano Suit Helmet +item.dns_plate.name=DNT Nano Suit Chestplate +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.door_bunker.name=Bunker Door +item.door_metal.name=Metal Door +item.door_office.name=Office Door +item.dosimeter.name=Dosimeter +item.drillbit_desh.name=Desh Drillbit +item.drillbit_desh_diamond.name=Desh Drillbit (Diamond-Tipped) +item.drillbit_ferro.name=Ferrouranium Drillbit +item.drillbit_ferro_diamond.name=Ferrouranium Drillbit (Diamond-Tipped) +item.drillbit_hss.name=High-Speed Steel Drillbit +item.drillbit_hss_diamond.name=High-Speed Steel Drillbit (Diamond-Tipped) +item.drillbit_steel.name=Steel Drillbit +item.drillbit_steel_diamond.name=Steel Drillbit (Diamond-Tipped) +item.drillbit_tcalloy.name=Technetium Steel Drillbit +item.drillbit_tcalloy_diamond.name=Technetium Steel Drillbit (Diamond-Tipped) +item.drill_titanium.name=Titanium Drill +item.drax.name=Terra Drill +item.drax_mk2.name=Hardened Terra Drill +item.drax_mk3.name=Schrabidic Terra Drill +item.ducttape.name=Duct Tape +item.dust.name=Dust +item.dust.desc=I hate dust! +item.dust.desc.P11=Another one bites the dust! +item.dust_tiny.name=Tiny Pile of Dust +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=Dysfunctional Nuclear Reactor +item.early_explosive_lenses.name=Array of First-Generation High-Explosive Lenses +item.early_explosive_lenses.desc=Assembly of 8 high-explosive lenses with an aluminium$pusher, duraluminium shell, and bridgewire detonators. +item.egg_balefire.name=Balefire Egg +item.egg_balefire.desc=What kind of bird lays a radioactive egg? +item.egg_balefire_shard.name=Balefire Shard +item.egg_glyphid.name=Glyphid Egg +item.elec_axe.name=Electric Chainsaw +item.elec_pickaxe.name=Impact Drill +item.elec_shovel.name=Spiral Drill +item.elec_sword.name=Stunstick +item.energy_core.name=Makeshift Energy Core +item.entanglement_kit.name=Entanglement Kit +item.entanglement_kit.desc=Teleporter crafting item.$Enables dimension-shifting via a$beryllium-enhanced resource scanner. +item.euphemium_boots.name=Euphemium Boots +item.euphemium_capacitor.name=Euphemium Capacitor +item.euphemium_capacitor.desc=Permits passive dispersion of accumulated positive energy. +item.euphemium_helmet.name=Euphemium Helmet +item.euphemium_kit.name=Euphemium Kit +item.euphemium_legs.name=Euphemium Leggings +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 +item.fau_boots.name=Fau Boots +item.fau_helmet.name=Fau Helmet +item.fau_legs.name=Fau Leggins +item.fau_plate.name=Fau Chestplate +item.filter_coal.name=Activated Carbon Filter +item.fins_big_steel.name=Big Steel Grid Fins +item.fins_flat.name=Flat Steel Casing +item.fins_quad_titanium.name=Small Titanium Fins +item.fins_small_steel.name=Small Steel Grid Fins +item.fins_tri_steel.name=Large Steel Fins +item.five_htp.name=Enteramine Pills +item.five_htp.desc=Removes all DRX, Stability for 10 minutes +item.flame_conspiracy.name=Conspiracy Theory +item.flame_conspiracy.desc=Steel beams can't melt jet fuel! +item.flame_opinion.name=Own Opinion +item.flame_opinion.desc=Well, I like it... +item.flame_politics.name=Political Topic +item.flame_politics.desc=Donald Duck will build the wall! +item.flame_pony.name=Painting of a Cartoon Pony +item.flame_pony.desc=Yellow horse beats blue horse, that's a proven fact! +item.flask_infusion.shield.name=Shield Infusion +item.fleija_core.name=F.L.E.I.J.A. Uranium 235 Charge +item.fleija_igniter.name=Pulse Igniter +item.fleija_kit.name=F.L.E.I.J.A. Kit +item.fleija_propellant.name=Schrabidium Propellant +item.fluid_barrel_empty.name=Empty Fluid Barrel +item.fluid_barrel_full.name=Fluid Barrel: +item.fluid_barrel_infinite.name=Infinite Fluid Barrel +item.fluid_duct.name=Fluid Duct: +item.fluid_identifier.name=Fluid Identifier +item.fluid_identifier.info=Universal fluid identifier for: +item.fluid_identifier.usage0=Right click fluid ducts to designate them for that fluid. +item.fluid_identifier.usage1=Shift right click fluid ducts to designate adjacent ducts +item.fluid_identifier.usage2=up to a maximum range of 64 ducts. +item.fluid_identifier_multi.name=Multi Fluid Identifier +item.fluid_identifier_multi.info=Universal fluid identifier for: +item.fluid_identifier_multi.info2=Secondary type: +item.fluid_tank_empty.name=Empty Universal Fluid Tank +item.fluid_tank_full.name=Universal Fluid Tank: +item.fluid_tank_lead_empty.name=Empty Hazardous Material Tank +item.fluid_tank_lead_full.name=Hazardous Material Tank: +item.fluorite.name=Fluorite +item.flywheel_beryllium.name=Beryllium Flywheel +item.fmn.name=Flunitrazepam Tablet +item.fmn.desc=Removes all DRX above 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=food item +item.fragment_actinium.name=Actinium-227 Fragment +item.fragment_boron.name=Boron Fragment +item.fragment_cerium.name=Cerium Fragment +item.fragment_cobalt.name=Cobalt Fragment +item.fragment_coltan.name=Coltan +item.fragment_lanthanium.name=Lanthanium Fragment +item.fragment_meteorite.name=Meteorite Fragment +item.fragment_neodymium.name=Neodymium Fragment +item.fragment_niobium.name=Niobium Fragment +item.fuel_tank_large.name=Large Fuel Tank +item.fuel_tank_medium.name=Medium Fuel Tank +item.fuel_tank_small.name=Small Fuel Tank +item.fuse.name=Fuse +item.fusion_core.name=Fusion Core +item.fusion_core_infinite.name=Infinite Fusion Core +item.fusion_shield_chlorophyte.name=Chlorophyte-Metallized Fusion Reactor Blanket +item.fusion_shield_desh.name=Desh Fusion Reactor Blanket +item.fusion_shield_tungsten.name=Tungsten Fusion Reactor Blanket +item.fusion_shield_vaporwave.name=Vaporwave Fusion Reactor Blanket +item.gadget_core.name=Large Plutonium Core +item.gadget_explosive.name=First Generation Explosive Lens +item.gadget_kit.name=The Gadget Kit +item.gadget_wireing.name=Wiring +item.gas_biogas.name=Biogas Tank +item.gas_empty.name=Empty Gas Tank +item.gas_full.name=Gas Tank: +item.gas_lpg.name=LPG Tank +item.gas_mask.name=Gas Mask +item.gas_mask_filter.name=Gas Mask Filter +item.gas_mask_filter_combo.name=Gas Mask Combo Filter +item.gas_mask_filter_mono.name=Catalytic Mask Filter +item.gas_mask_filter_piss.name=Advanced Makeshift Gas Mask Filter +item.gas_mask_filter_rag.name=Makeshift Gas Mask Filter +item.gas_mask_m65.name=M65-Z Gas Mask +item.gas_mask_mono.name=Half Mask +item.gas_mask_olde.name=Leather Gas Mask +item.gas_petroleum.name=Petroleum Gas Tank +item.gas_tester.name=Gas Sensor +item.gear_large.name=Large Gear +item.gear_large_steel.name=Large Steel Gear +item.geiger_counter.name=Handheld Geiger Counter +item.gem_alexandrite.name=Alexandrite +item.gem_tantalium.name=Tantalium Polycrystal +item.gem_tantalium.desc='Tantalum' +item.gem_tantalium.desc.P11=AKA Tantalum. +item.gem_volcanic.name=Volcanic Gem +item.generator_front.name=Generator Front +item.generator_steel.name=Generator Body +item.glitch.name=Glitch +item.glowing_stew.name=Glowing Mushroom Stew +item.glyphid_meat.name=Glyphid Meat +item.glyphid_meat_grilled.name=Grilled Glyphid Meat +item.goggles.name=Protection Goggles +item.grenade_aschrab.name=Tossable Antischrabidium Cell +item.grenade_black_hole.name=Black Hole Grenade +item.grenade_breach.name=Breaching Grenade +item.grenade_burst.name=Digger Grenade +item.grenate_cats.name=Grenade of Cats +item.grenade_cloud.name=Jar of Cloud +item.grenade_cluster.name=Cluster Bomb +item.grenade_electric.name=Lightning Bomb +item.grenade_fire.name=Flame Frag Grenade +item.grenade_flare.name=Signal Flare +item.grenade_frag.name=Frag Grenade +item.grenade_gas.name=Gas Grenade +item.grenade_gascan.name=Tossable Gas Can +item.grenade_generic.name=Grenade +item.grenade_if_bouncy.name=IF - Bouncy Grenade +item.grenade_if_brimstone.name=IF - Tossable Brimstone Mine +item.grenade_if_concussion.name=IF - Concussion Grenade +item.grenade_if_generic.name=IF - Grenade +item.grenade_if_he.name=IF - HE Grenade +item.grenade_if_hopwire.name=IF - Vortex Hopwire +item.grenade_if_impact.name=IF - Impact Grenade +item.grenade_if_incendiary.name=IF - Incendiary Grenade +item.grenade_if_mystery.name=IF - M.-Grenade +item.grenade_if_null.name=IF - Null Grenade +item.grenade_if_spark.name=IF - S.-Grenade +item.grenade_if_sticky.name=IF - Sticky Grenade +item.grenade_if_toxic.name=IF - Toxic Grenade +item.grenade_kit.name=Grenade Kit +item.grenade_kyiv.name=The Kyiv Special +item.grenade_lemon.name=Combustible Lemon +item.grenade_mirv.name=MIRV Grenade +item.grenade_mk2.name=Mk 2 Grenade "Ambassador Pineapple" +item.grenade_nuclear.name=Nuka Grenade +item.grenade_nuke.name=Mark VI Drill Grenade +item.grenade_pink_cloud.name=Jar of Pink Cloud +item.grenade_plasma.name=Plasma Grenade +item.grenade_poison.name=Poison Grenade +item.grenade_pulse.name=Impulse Grenade +item.grenade_schrabidium.name=Schrabidium Grenade +item.grenade_shrapnel.name=Shrapnel Grenade +item.grenade_smart.name=Smart Grenade +item.grenade_strong.name=Enhanced Grenade +item.grenade_tau.name=Tau Grenade +item.grenade_zomg.name=Negative Energy Pair Annihilation Grenade +item.gun_ar15.name=Josh +item.gun_avenger.name=CZ57 Avenger Minigun +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_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_chemthrower.name=Chemthrower +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_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_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_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_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=Novac +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_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_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.hand_drill.name=Hand Drill +item.hand_drill_desh.name=Desh Hand Drill +item.hazmat_boots.name=Hazmat Boots +item.hazmat_boots_grey.name=High-Performance Hazmat Boots +item.hazmat_boots_red.name=Advanced Hazmat Boots +item.hazmat_cloth.name=Hazmat Cloth +item.hazmat_cloth_grey.name=Lead-Reinforced Hazmat Cloth +item.hazmat_cloth_red.name=Advanced Hazmat Cloth +item.hazmat_grey_kit.name=High-Performance Hazmat Kit +item.hazmat_helmet.name=Hazmat Helmet +item.hazmat_helmet_grey.name=High-Performance Hazmat Helmet +item.hazmat_helmet_red.name=Advanced Hazmat Helmet +item.hazmat_kit.name=Hazmat Kit +item.hazmat_legs.name=Hazmat Leggings +item.hazmat_legs_grey.name=High-Performance Hazmat Leggings +item.hazmat_legs_red.name=Advanced Hazmat Leggings +item.hazmat_paa_boots.name=PaA Battle Hazmat Suit Boots +item.hazmat_paa_helmet.name=PaA Battle Hazmat Suit Helmet +item.hazmat_paa_legs.name=PaA Battle Hazmat Suit Leggings +item.hazmat_paa_plate.name=PaA Battle Hazmat Suit Chestplate +item.hazmat_plate.name=Hazmat Chestplate +item.hazmat_plate_grey.name=High-Performance Hazmat Chestplate +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_piece.name=Heart Piece +item.hev_battery.name=Suit Battery +item.hev_boots.name=HEV Mark IV Boots +item.hev_plate.name=HEV Mark IV Chestplate +item.hev_helmet.name=HEV Mark IV Helmet +item.hev_legs.name=HEV Mark IV Leggings +item.holotape_damaged.name=Damaged Holotape +item.holotape_image.name=Holotape +item.horseshoe_magnet.name=Horseshoe Magnet +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.igniter.name=Igniter +item.igniter.desc=(Used by right-clicking the Prototype)$It's a green metal handle with a$bright red button and a small lid.$At the bottom, the initials N.E. are$engraved. Whoever N.E. was, he had$a great taste in shades of green. +item.industrial_magnet.name=Industrial Magnet +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=Infinite Water Tank +item.inf_water_mk2.name=Heavy Infinite Water Tank +item.ingot_actinium.name=Actinium-227 Ingot +item.ingot_advanced_alloy.name=Advanced Alloy Ingot +item.ingot_aluminium.name=Aluminium Ingot +item.ingot_am_mix.name=Reactor Grade Americium Ingot +item.ingot_am241.name=Americium-241 Ingot +item.ingot_am242.name=Americium-242 Ingot +item.ingot_americium_fuel.name=Ingot of Americium Fuel +item.ingot_arsenic.name=Arsenic Ingot +item.ingot_asbestos.name=Asbestos Sheet +item.ingot_asbestos.desc=§o"Filled with life, self-doubt and asbestos. That comes with the air."§r +item.ingot_au198.name=Gold-198 Ingot +item.ingot_australium.name=Australium Ingot +item.ingot_bakelite.name=Bakelite Bar +item.ingot_beryllium.name=Beryllium Ingot +item.ingot_bismuth.name=Bismuth Ingot +item.ingot_boron.name=Boron Ingot +item.ingot_c4.name=Bar of Composition C-4 +item.ingot_cadmium.name=Cadmium Ingot +item.ingot_calcium.name=Calcium Ingot +item.ingot_cdalloy.name=Cadmium Steel Ingot +item.ingot_chainsteel.name=Heavy Chainsteel +item.ingot_co60.name=Cobalt-60 Ingot +item.ingot_cobalt.name=Cobalt Ingot +item.ingot_combine_steel.name=CMB Steel Ingot +item.ingot_combine_steel.desc=*insert Civil Protection reference here* +item.ingot_copper.name=Industrial Grade Copper +item.ingot_daffergon.name=Daffergon Ingot +item.ingot_desh.name=Desh Ingot +item.ingot_dineutronium.name=Dineutronium Ingot +item.ingot_dura_steel.name=High-Speed Steel Ingot +item.ingot_electronium.name=Electronium Ingot +item.ingot_euphemium.name=Euphemium Ingot +item.ingot_euphemium.desc=A very special and yet strange element. +item.ingot_ferrouranium.name=Ferrouranium Ingot +item.ingot_fiberglass.name=Fiberglass Bar +item.ingot_fiberglass.desc=High in fiber, high in glass. Everything the body needs. +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_hes.name=Highly Enriched Schrabidium Fuel Ingot +item.ingot_lanthanium.name=Semi-Stable Lanthanium Ingot +item.ingot_lanthanium.desc='Lanthanum' +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_meteorite.name=Meteorite Ingot +item.ingot_meteorite_forged.name=Forged Meteorite Ingot +item.ingot_mox_fuel.name=Ingot of MOX Fuel +item.ingot_mud.name=Solid Mud Brick +item.ingot_neptunium.name=Neptunium Ingot +item.ingot_neptunium.desc=That one's my favourite! +item.ingot_neptunium.desc.P11=Woo, scary! +item.ingot_neptunium_fuel.name=Neptunium Fuel Ingot +item.ingot_niobium.name=Niobium Ingot +item.ingot_osmiridium.name=Osmiridium Ingot +item.ingot_pb209.name=Lead-209 Ingot +item.ingot_pc.name=Hard Plastic Bar +item.ingot_pet.name=Aluminium-Metallized PET Bar +item.ingot_phosphorus.name=Bar of White Phosphorus +item.ingot_plutonium.name=Plutonium Ingot +item.ingot_plutonium_fuel.name=Ingot of Plutonium Fuel +item.ingot_polonium.name=Polonium-210 Ingot +item.ingot_polymer.name=Polymer Bar +item.ingot_pu_mix.name=Reactor Grade Plutonium Ingot +item.ingot_pu238.name=Plutonium-238 Ingot +item.ingot_pu239.name=Plutonium-239 Ingot +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_red_copper.name=Minecraft Grade Copper +item.ingot_reiium.name=Reiium Ingot +item.ingot_rubber.name=Rubber Bar +item.ingot_saturnite.name=Saturnite Ingot +item.ingot_schrabidate.name=Ferric Schrabidate Ingot +item.ingot_schrabidium.name=Schrabidium Ingot +item.ingot_schrabidium_fuel.name=Ingot of Schrabidium Fuel +item.ingot_schraranium.name=Schraranium Ingot +item.ingot_schraranium.desc=Made from uranium in a schrabidium transmutator +item.ingot_semtex.name=Bar of Semtex +item.ingot_smore.name=S'more Ingot +item.ingot_solinium.name=Solinium Ingot +item.ingot_sr90.name=Strontium-90 Ingot +item.ingot_starmetal.name=§9Starmetal Ingot§r +item.ingot_steel.name=Steel Ingot +item.ingot_steel_dusted.name=Dusted Steel Ingot +item.ingot_tantalium.name=Tantalium Ingot +item.ingot_tantalium.desc='Tantalum' +item.ingot_tantalium.desc.P11=AKA Tantalum. +item.ingot_tcalloy.name=Technetium Steel Ingot +item.ingot_technetium.name=Technetium-99 Ingot +item.ingot_th232.name=Thorium-232 Ingot +item.ingot_thorium_fuel.name=Ingot of Thorium Fuel +item.ingot_titanium.name=Titanium Ingot +item.ingot_tungsten.name=Tungsten Ingot +item.ingot_u233.name=Uranium-233 Ingot +item.ingot_u235.name=Uranium-235 Ingot +item.ingot_u238.name=Uranium-238 Ingot +item.ingot_u238m2.name=Metastable Uranium-238M2 Ingot +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_weidanium.name=Weidanium Ingot +item.ingot_zirconium.name=Zirconium Cube +item.injector_5htp.name=5-HTP Autoinjector +item.injector_knife.name=8 Inch Blade Autoinjector +item.ink.name=林 Ink +item.insert_doxium.name=Astolfium-Doped Doxium Insert +item.insert_du.name=Wkładka z Zubożonego Uranu +item.insert_era.name=Explosive Reactive Armor Insert +item.insert_esapi.name=ESAPI Insert +item.insert_ghiorsium.name=Ghiorsium Insert +item.insert_kevlar.name=Wkładka Kevlarowa +item.insert_sapi.name=SAPI Insert +item.insert_polonium.name=Wkładka z Polonu +item.insert_steel.name=Heavy Steel Insert +item.insert_xsapi.name=XSAPI Insert +item.insert_yharonite.name=Yharonite Insert +item.iv_blood.name=Blood Bag +item.iv_empty.name=IV Bag +item.iv_xp.name=Experience Bag +item.iv_xp_empty.name=Empty Experience Bag +item.jackt.name=Damn Stylish Ballistic Jacket +item.jackt2.name=Damn Stylish Ballistic Jacket 2: Tokyo Drift +item.jetpack_boost.name=Boostpack +item.jetpack_break.name=Builder's Jetpack +item.jetpack_fly.name=Plecak Rakietowy +item.jetpack_tank.name=Jetpack Reserve Fuel Tank +item.jetpack_vector.name=Vectored Jetpack +item.journal_bj.name=Whiskey Drenched Notebook +item.journal_pip.name=Survivalist's Journal +item.journal_silver.name=Contractor's Notes +item.key.name=Klucz +item.key_fake.name=Podrobiony Klucz +item.key_kit.name=Key Imitation Kit +item.key_red.name=Czerwony Klucz +item.key_red.desc=Explore the other side. +item.key_red.desc.P11=§4e§r +item.kit_toolbox.name=Skrzynka na Narzędzia +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 +item.laser_crystal_cmb.name=CMB-Schrabidate Antimatter Laser Crystal +item.laser_crystal_co2.desc=Carbon Dioxide encased in Crystalline Desh +item.laser_crystal_co2.name=CO2-Desh Laser Crystal +item.laser_crystal_digamma.name=Digamma Laser Crystal +item.laser_crystal_dnt.desc=Dineutronium-Spark Fermion Supercrystal +item.laser_crystal_dnt.name=Spark Laser Crystal +item.lead_gavel.name=Leaden Gavel +item.lemon.name="Cytryna" +item.letter.name=List Polecony +item.levitation_unit.name=Gravity Manipulator +item.lignite.name=Lignit +item.limiter.name=Generator Limiter +item.linker.name=Telelinker +item.liquidator_boots.name=Liquidator Suit Boots +item.liquidator_helmet.name=Liquidator Suit Helmet +item.liquidator_legs.name=Liquidator Suit Leggins +item.liquidator_plate.name=Liquidator Suit Chestplate +item.lithium.name=Kostka Litu +item.lodestone.name=Magnetyt +item.loop_stew.name=Śniadanie IT +item.loops.name=Lööps +item.loot_10.name=Size 10 Missile Loot Crate +item.loot_15.name=Size 15 Missile Loot Crate +item.loot_misc.name=General Missile Loot Crate +item.magnet_circular.name=Flat Magnet +item.magnet_dee.name=Dee Magnets +item.magnetron.name=Magnetron +item.man_core.name=Plutonium Core +item.man_explosive.name=Soczewki Skupiające Wybuch +item.man_igniter.name=Bomb Firing Unit +item.man_kit.name=Fat Man Kit +item.marshmallow.name=Marshmallow on a Stick +item.mask_of_infamy.name=Maska Zniesławienia +item.mask_piss.name=Maska Okopowa +item.mask_rag.name=Crude Protective Mask +item.matchstick.name=Zapałka +item.mech_key.name=Large Silver Key +item.mech_key.desc=It pulses with power. +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=Doctor's Bag +item.med_ipecac.name=Ipecac Syrup +item.med_ptsd.name=PTSD Medication +item.med_schiziphrenia.name=Schizophrenia Medication +item.medal_liquidator.name=Liquidator Medal +item.meltdown_tool.name=Dyatlov Instant Meltdown Applicator +item.memespoon.name=§eMarket Gardener +item.memory.name=item.null.name +item.mese_gavel.name=Mesowy Młotek +item.mese_pickaxe.name=Mese Pickaxe +item.meteor_charm.name=Meteor Charm +item.meteor_remote.name=Meteorite Remote +item.meteorite_sword.name=Meteorite Sword +item.meteorite_sword_seared.name=Meteorite Sword (Seared) +item.meteorite_sword_reforged.name=Meteorite Sword (Reforged) +item.meteorite_sword_hardened.name=Meteorite Sword (Hardened) +item.meteorite_sword_alloyed.name=Meteorite Sword (Alloyed) +item.meteorite_sword_machined.name=Meteorite Sword (Machined) +item.meteorite_sword_treated.name=Meteorite Sword (Treated) +item.meteorite_sword_etched.name=Meteorite Sword (Etched) +item.meteorite_sword_bred.name=Meteorite Sword (Bred) +item.meteorite_sword_irradiated.name=Meteorite Sword (Irradiated) +item.meteorite_sword_fused.name=Meteorite Sword (Fused) +item.meteorite_sword_baleful.name=Meteorite Sword (Baleful) +item.mike_cooling_unit.name=Deuterium Cooling Unit +item.mike_core.name=Uranium Coated Deuterium Tank +item.mike_deut.name=Deuterium Tank +item.mike_kit.name=Zestaw Ivy Mike +item.mirror_tool.name=Mirror Adjustment Tool +item.mirror_tool.linked=Alignment position set! +item.mirror_tool.desc=Right-click boiler to memorize the position.$Click on mirrors to turn them towards the boiler. +item.missile_anti_ballistic.name=Anti Ballistic Missile +item.missile_assembly.name=Small Missile Assembly +item.missile_bhole.name=Black Hole Missile +item.missile_burst.name=Spare Missile +item.missile_buster.name=Bunker Buster +item.missile_buster_strong.name=Ulepszony Pogromca Bunkrów +item.missile_carrier.name=HTR-01 Carrier Rocket +item.missile_cluster.name=Kasetowy Pocisk Rakietowy +item.missile_cluster_strong.name=Strong Cluster Missile +item.missile_custom.name=Niestandardowy Pocisk Rakietowy +item.missile_doomsday.name=Pocisk Rakietowy Zagłady +item.missile_drill.name=Kruszarka do Betonu +item.missile_emp.name=Elektromagnetyczny Pocisk Rakietowy +item.missile_emp_strong.name=Silny Elektromagnetyczny Pocisk Rakietowy +item.missile_endo.name=Endotermiczny Pocisk Rakietowy +item.missile_exo.name=Eksotermiczny Pocisk Rakietowy +item.missile_generic.name=Wybuchowy Pocisk Rakietowy +item.missile_incendiary.name=Zapalający Pocisk Rakietowy +item.missile_incendiary_strong.name=Strong Incendiary Missile +item.missile_inferno.name=Inferno Missile G.R.N. Mk.II +item.missile_kit.name=Zestaw Pocisków Rakietowych +item.missile_micro.name=Micro-Nuclear Missile +item.missile_nuclear.name=Nuclear Missile +item.missile_nuclear_cluster.name=Thermonuclear Missile +item.missile_rain.name=Deszcz Kasetowy +item.missile_schrabidium.name=Schrabidium Missile +item.missile_shuttle.name=Reliant Robin Space Shuttle +item.missile_skin_camo.name=Missile Skin: Camo +item.missile_skin_color.desc=I can't find my missile anymore! +item.missile_skin_desert.name=Missile Skin: Desert Camo +item.missile_skin_desert.desc=Looks like sand, tastes like metal. +item.missile_skin_flames.name=Missile Skin: Sick Flames +item.missile_skin_flames.desc=Radical! +item.missile_skin_manly_pink.name=Missile Skin: Manly Pink +item.missile_skin_manly_pink.desc=Pink, the manliest color of them all. +item.missile_skin_metal.name=Missile Skin: Metal +item.missile_skin_metal.desc=Metal sheets and metal bolts, reinforced with metal. +item.missile_skin_orange_insulation.name=Missile Skin: Orange Insulation +item.missile_skin_orange_insulation.desc=Not an orange juice bottle;$do not attempt to drink contents. +item.missile_skin_sleek.name=Missile Skin: IF-R&D +item.missile_skin_sleek.desc=Chevrons are cool! +item.missile_skin_soviet_glory.name=Missile Skin: Soviet Glory +item.missile_skin_soviet_glory.desc=услуга перевода недоступна +item.missile_skin_soviet_stank.name=Missile Skin: Soviet Stank +item.missile_skin_soviet_stank.desc=This one's got the real 60's stank to it. +item.missile_soyuz.name=Soyuz-FG +item.missile_soyuz_lander.name=Orbital Module +item.missile_soyuz_lander.desc=Doubles as a crappy lander! +item.missile_strong.name=Strong HE Missile +item.missile_taint.name=Taint-Tipped Missile +item.missile_volcano.name=Tektoniczny Pocisk Rakietowy +item.missile_volcano.desc=Za pomocą eksplozji jądrowych możemy stworzyć wulkan! +item.mold_base.name=Pusta Forma Huty +item.mold.name=Forma Huty +item.morning_glory.name=Poranna Chwała +item.motor.name=Silnik Elektryczny +item.motor_bismuth.name=Bizmutowy Silnik Elektryczny +item.motor_desh.name=Deszowy Silnik Elektryczny +item.mp_c_1.name=Obwód Namierzania Rakietowego Poziomu 1 +item.mp_c_2.name=Obwód Namierzania Rakietowego Poziomu 2 +item.mp_c_3.name=Obwód Namierzania Rakietowego Poziomu 3 +item.mp_c_4.name=Obwód Namierzania Rakietowego Poziomu 4 +item.mp_c_5.name=Obwód Namierzania Rakietowego Poziomu 5 +item.mp_fuselage_10_15_balefire.name=Size 10/15 BF Fuselage +item.mp_fuselage_10_15_hydrogen.name=Size 10/15 Hydrogen Fuselage +item.mp_fuselage_10_15_kerosene.name=Size 10/15 Kerosene Fuselage +item.mp_fuselage_10_15_solid.name=Size 10/15 Solid Fuel Fuselage +item.mp_fuselage_10_kerosene.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_camo.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_desert.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_flames.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_insulation.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_metal.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_sky.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_sleek.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_kerosene_taint.name=Size 10 Kerosene Fuselage +item.mp_fuselage_10_long_kerosene.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_camo.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_dash.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_desert.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_flames.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_insulation.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_metal.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_sky.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_sleek.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_taint.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_kerosene_vap.name=Size 10 Long Kerosene Fuselage +item.mp_fuselage_10_long_solid.name=Size 10 Long Solid Fuel Fuselage +item.mp_fuselage_10_long_solid_bullet.name=Size 10 Long Solid Fuselage +item.mp_fuselage_10_long_solid_flames.name=Size 10 Long Solid Fuel Fuselage +item.mp_fuselage_10_long_solid_insulation.name=Size 10 Long Solid Fuel Fuselage +item.mp_fuselage_10_long_solid_silvermoonlight.name=Size 10 Long Solid Fuselage +item.mp_fuselage_10_long_solid_sleek.name=Size 10 Long Solid Fuel Fuselage +item.mp_fuselage_10_long_solid_soviet_glory.name=Size 10 Long Solid Fuselage +item.mp_fuselage_10_solid.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_battery.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_cathedral.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_duracell.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_flames.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_insulation.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_moonlit.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_sleek.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_solid_soviet_glory.name=Size 10 Solid Fuel Fuselage +item.mp_fuselage_10_xenon.name=Size 10 Xenon Fuselage +item.mp_fuselage_10_xenon_bhole.name=Size 10 Xenon Fuselage +item.mp_fuselage_15_20_kerosene.name=Size 15/20 Kerosene Fuselage +item.mp_fuselage_15_20_kerosene_magnusson.name=Size 15/20 Kerosene Fuselage +item.mp_fuselage_15_20_solid.name=Size 15/20 Solid Fuel Fuselage +item.mp_fuselage_15_balefire.name=Size 15 BF Fuselage +item.mp_fuselage_15_hydrogen.name=Size 15 Hydrogen Fuselage +item.mp_fuselage_15_hydrogen_cathedral.name=Size 15 Hydrogen Fuselage +item.mp_fuselage_15_kerosene.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_blackjack.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_camo.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_decorated.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_desert.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_insulation.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_lambda.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_metal.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_minuteman.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_pip.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_polite.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_sky.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_steampunk.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_taint.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_kerosene_yuck.name=Size 15 Kerosene Fuselage +item.mp_fuselage_15_solid.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_desh.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_faust.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_insulation.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_mimi.name=Size 15 Solid Fuel Mimi-chan's Body +item.mp_fuselage_15_solid_panorama.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_roses.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_silvermoonlight.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_snowy.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_soviet_glory.name=Size 15 Solid Fuel Fuselage +item.mp_fuselage_15_solid_soviet_stank.name=Size 15 Solid Fuel Fuselage +item.mp_stability_10_cruise.name=Size 10 Cruise Fins +item.mp_stability_10_flat.name=Size 10 Flat Fins +item.mp_stability_10_space.name=Size 10 Space Fins +item.mp_stability_15_flat.name=Size 15 Flat Fins +item.mp_stability_15_soyuz.name=Size 15 Pointy Fins +item.mp_stability_15_thin.name=Size 15 Thin Fins +item.mp_thruster_10_kerosene.name=Size 10 Liquid Fuel Thruster +item.mp_thruster_10_solid.name=Size 10 Solid Fuel Thruster +item.mp_thruster_10_xenon.name=Size 10 Ion Thruster +item.mp_thruster_15_balefire.name=Size 15 BF Thruster with Nuclear Preheater +item.mp_thruster_15_balefire_large.name=Size 15 BF Thruster with Nuclear Preheater (Heavy Duty Nozzle) +item.mp_thruster_15_balefire_large_rad.name=Size 15 BF Thruster with Nuclear Preheater (Heavy Duty Nozzle) +item.mp_thruster_15_balefire_short.name=Size 15 BF Thruster with Nuclear Preheater (Shortened) +item.mp_thruster_15_hydrogen.name=Size 15 Hydrogen Thruster +item.mp_thruster_15_hydrogen_dual.name=Size 15 Hydrogen Twin Thrusters +item.mp_thruster_15_kerosene.name=Size 15 Liquid Fuel Thruster +item.mp_thruster_15_kerosene_dual.name=Size 15 Liquid Fuel Twin Thrusters +item.mp_thruster_15_kerosene_triple.name=Size 15 Liquid Fuel Triple Thrusters +item.mp_thruster_15_solid.name=Size 15 Solid Fuel Thruster +item.mp_thruster_15_solid_hexdecuple.name=Size 15 Solid Fuel Hexdecuple Thrusters +item.mp_thruster_20_kerosene.name=Size 20 Liquid Fuel Thruster +item.mp_thruster_20_kerosene_dual.name=Size 20 Liquid Fuel Twin Thrusters +item.mp_thruster_20_kerosene_triple.name=Size 20 Liquid Fuel Triple Thrusters +item.mp_thruster_20_solid.name=Size 20 Solid Fuel Thruster +item.mp_thruster_20_solid_multi.name=Size 20 Solid Fuel 30-Fold Thrusters +item.mp_thruster_20_solid_multier.name=Size 20 Solid Fuel 47-Fold Thrusters +item.mp_warhead_10_buster.name=Size 10 Bunker Buster Warhead +item.mp_warhead_10_cloud.name=Size 10 Pink Cloud Warhead +item.mp_warhead_10_he.name=Size 10 HE Warhead +item.mp_warhead_10_incendiary.name=Size 10 Incendiary Warhead +item.mp_warhead_10_nuclear.name=Size 10 Micro Nuclear Warhead +item.mp_warhead_10_nuclear_large.name=Size 10 Nuclear Warhead +item.mp_warhead_10_taint.name=Size 10 Tainted Warhead +item.mp_warhead_15_balefire.name=Size 15 BF Warhead +item.mp_warhead_15_boxcar.name=Size 15 Boxcar? +item.mp_warhead_15_he.name=Size 15 HE Warhead +item.mp_warhead_15_incendiary.name=Size 15 Incendiary Warhead +item.mp_warhead_15_n2.name=Size 15 N² Mine +item.mp_warhead_15_nuclear.name=Size 15 Nuclear Warhead +item.mp_warhead_15_nuclear_mimi.name=Size 15 Mimi-chan's Head +item.mp_warhead_15_nuclear_shark.name=Size 15 Nuclear Warhead +item.mp_warhead_15_turbine.name=Size 15 Jet Engine +item.mucho_mango.name=AriZona Mucho Mango +item.multi_kit.name=Multi Purpose Bomb Kit +item.multitool_beam.name=Power Fist (Zapper) +item.multitool_decon.name=Power Fist (Decontaminator) +item.multitool_dig.name=Power Fist (Digging Claw) +item.multitool_ext.name=Power Fist (Ore Extractor) +item.multitool_hit.name=Power Fist (Fist) +item.multitool_joule.name=Power Fist (Giga Joule) +item.multitool_mega.name=Power Fist (Super Punch) +item.multitool_miner.name=Power Fist (Extracting Mining Laser) +item.multitool_silk.name=Power Fist (Silk Touch Claw) +item.multitool_sky.name=Power Fist (Crack the Sky) +item.mysteryshovel.name=Brittle Spade +item.n2_charge.name=Duży Ładunek Wybuchowy +item.neutrino_lens.name=Soczewka Neutrinowa +item.neutron_reflector.name=Neutron Reflector +item.night_vision.name=Night Vision Goggles +item.night_vision.description.item=Grants you night vision (requires full electric set) +item.night_vision.description.in_armor=%s (grants night vision) +item.niter.name=Saletra +item.no9.name=Mining Helmet +item.nossy_hat.name=Fabulous Hat +item.nothing.name=Nic +item.nuclear_waste.name=Odpad Promieniotwórczy +item.nuclear_waste_pearl.name=Nuclear Waste Pearl +item.nuclear_waste_tiny.name=Tiny Pile of Nuclear Waste +item.nuclear_waste_long.name=Long-Lived Nuclear Waste +item.nuclear_waste_long_tiny.name=Tiny Pile of Long-Lived Nuclear Waste +item.nuclear_waste_long_depleted.name=Decayed Long-Lived Nuclear Waste +item.nuclear_waste_long_depleted_tiny.name=Tiny Pile of Decayed Long-Lived Nuclear Waste +item.nuclear_waste_short.name=Short-Lived Nuclear Waste +item.nuclear_waste_short_tiny.name=Tiny Pile of Short-Lived Nuclear Waste +item.nuclear_waste_short_depleted.name=Decayed Short-Lived Nuclear Waste +item.nuclear_waste_short_depleted_tiny.name=Tiny Pile of Decayed Short-Lived Nuclear Waste +item.nuclear_waste_vitrified.name=Vitrified Nuclear Waste +item.nuclear_waste_vitrified_tiny.name=Tiny Pile of Vitrified Nuclear Waste +item.nugget.name=Chicken Nugget +item.nugget_actinium.name=Actinium-227 Nugget +item.nugget_am_mix.name=Reactor Grade Americium Nugget +item.nugget_am241.name=Americium-241 Nugget +item.nugget_am242.name=Americium-242 Nugget +item.nugget_americium_fuel.name=Americium Fuel Nugget +item.nugget_arsenic.name=Arsenic Nugget +item.nugget_au198.name=Gold-198 Nugget +item.nugget_australium.name=Australium Nugget +item.nugget_australium_greater.name=Greater Australium Nugget +item.nugget_australium_lesser.name=Lesser Australium Nugget +item.nugget_beryllium.name=Beryllium Nugget +item.nugget_bismuth.name=Bismuth Nugget +item.nugget_co60.name=Cobalt-60 Nugget +item.nugget_cobalt.name=Cobalt Nugget +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_gh336.name=Ghiorsium-336 Nugget +item.nugget_gh336.desc=Seaborgium's colleague. +item.nugget_hes.name=Highly Enriched Schrabidium Fuel Nugget +item.nugget_lead.name=Lead Nugget +item.nugget_les.name=Low Enriched Schrabidium Fuel Nugget +item.nugget_mercury_tiny.name=Tiny Drop of Mercury +item.nugget_mercury.name=Drop of Mercury +item.nugget_mox_fuel.name=Nugget of MOX Fuel +item.nugget_mox_fuel.desc=Moxie says: §lTAX EVASION.§r +item.nugget_neptunium.name=Neptunium Nugget +item.nugget_neptunium_fuel.name=Neptunium Fuel Nugget +item.nugget_osmiridium.name=Osmiridium Nugget +item.nugget_pb209.name=Lead-209 Nugget +item.nugget_plutonium.name=Plutonium Nugget +item.nugget_plutonium_fuel.name=Nugget of Plutonium Fuel +item.nugget_polonium.name=Polonium-210 Nugget +item.nugget_pu_mix.name=Reactor Grade Plutonium Nugget +item.nugget_pu238.name=Plutonium-238 Nugget +item.nugget_pu239.name=Plutonium-239 Nugget +item.nugget_pu240.name=Plutonium-240 Nugget +item.nugget_pu241.name=Plutonium-241 Nugget +item.nugget_ra226.name=Radium-226 Nugget +item.nugget_reiium.name=Reiium Nugget +item.nugget_schrabidium.name=Schrabidium Nugget +item.nugget_schrabidium_fuel.name=Nugget of Schrabidium Fuel +item.nugget_solinium.name=Solinium Nugget +item.nugget_sr90.name=Strontium-90 Nugget +item.nugget_tantalium.name=Tantalium Nugget +item.nugget_tantalium.desc='Tantalum' +item.nugget_tantalium.desc.P11=AKA Tantalum. +item.nugget_technetium.name=Technetium-99 Nugget +item.nugget_th232.name=Thorium-232 Nugget +item.nugget_thorium_fuel.name=Nugget of Thorium Fuel +item.nugget_u233.name=Uranium-233 Nugget +item.nugget_u235.name=Uranium-235 Nugget +item.nugget_u238.name=Uranium-238 Nugget +item.nugget_unobtainium.name=Unobtainium Nugget +item.nugget_uranium.name=Uranium Nugget +item.nugget_uranium_fuel.name=Nugget of Uranium Fuel +item.nugget_verticium.name=Verticium Nugget +item.nugget_weidanium.name=Weidanium Nugget +item.nugget_zirconium.name=Zirconium Splinter +item.nuke_advanced_kit.name=Atomic Science Advanced Kit +item.nuke_commercially_kit.name=Atomic Science Kit for Commercial Uses +item.nuke_electric_kit.name=Electronic Engineer's Kit +item.nuke_starter_kit.name=Atomic Science Starter Kit +item.oil_canola.name=Raw Canola Oil +item.oil_detector.name=Oil Reservoir Detector +item.oil_detector.desc1=Right-click to scan for oil. +item.oil_detector.desc2=Detector will only find larger deposits. +item.oil_detector.bullseye=Oil deposit directly below! +item.oil_detector.detected=Oil detected nearby. +item.oil_detector.noOil=No oil detected. +item.oil_tar.coal.name=Smoła Węglowa +item.oil_tar.crude.name=Smoła Naftowa +item.oil_tar.crack.name=Smoła Skrakowanej Nafty +item.oil_tar.paraffin.name=Wosk Parafinowy +item.oil_tar.wax.name=Chlorinated Petroleum Wax +item.oil_tar.wood.name=Smoła Drewnowa +item.ore.asbestos=Azbest +item.ore.borax=Boraks +item.ore.chlorocalcite=Chlorokalcyt +item.ore.copper=Miedź +item.ore.gold=Złoto +item.ore.iron=Żelazo +item.ore.niobium=Niob +item.ore.titanium=Tytan +item.ore.tungsten=Wolfram +item.ore.thorium=Tor +item.ore.uranium=Uran +item.ore_bedrock.name=%s Kamienia Macierystego +item.ore_byproduct.b_aluminium.name=Crystalline Aluminium Fragment +item.ore_byproduct.b_bismuth.name=Crystalline Bismuth Fragment +item.ore_byproduct.b_calcium.name=Crystalline Calcium Fragment +item.ore_byproduct.b_copper.name=Crystalline Copper Fragment +item.ore_byproduct.b_iron.name=Crystalline Iron Fragment +item.ore_byproduct.b_lead.name=Crystalline Lead Fragment +item.ore_byproduct.b_lithium.name=Crystalline Lithium Fragment +item.ore_byproduct.b_polonium.name=Crystalline Polonium Fragment +item.ore_byproduct.b_radium.name=Crystalline Radium Fragment +item.ore_byproduct.b_silicon.name=Crystalline Silicon Fragment +item.ore_byproduct.b_sulfur.name=Crystalline Sulfur Fragment +item.ore_byproduct.b_technetium.name=Crystalline Technetium Fragment +item.ore_byproduct.b_titanium.name=Crystalline Titanium Fragment +item.ore_byproduct.b_uranium.name=Crystalline Uranium Fragment +item.ore_centrifuged.name=Centrifuged %s Ore +item.ore_cleaned.name=Cleaned %s Ore +item.ore_deepcleaned.name=Deep Cleaned %s Ore +item.ore_enriched.name=Enriched %s Ore +item.ore_nitrated.name=Nitrated %s Ore +item.ore_nitrocrystalline.name=Nitrocrystalline %s Ore +item.ore_purified.name=Purified %s Ore +item.ore_radcleaned.name=Radiation-Cleaned %s Ore +item.ore_seared.name=Seared %s Ore +item.ore_separated.name=Separated %s Ore +item.overfuse.name=Singularity Screwdriver +item.overfuse.desc=Say what? +item.oxy_mask.name=Oxygen Mask +item.paa_boots.name=PaA "good ol' shoes" +item.paa_legs.name=PaA Leg Reinforcements +item.paa_plate.name=PaA Chest Protection Plate +item.padlock.name=Padlock +item.padlock_reinforced.name=Reinforced Padlock +item.padlock_rusty.name=Rusty Padlock +item.padlock_unbreakable.name=Unbreakable Padlock +item.pads_rubber.name=Rubber Pads +item.pads_slime.name=Slime Pads +item.pads_static.name=Static Pads +item.pancake.name=Pancake made from Scrap Metal, Nails and Gem 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_generic.piston_electric.name=Electric Piston +item.part_generic.piston_hydraulic.name=Hydraulic Piston +item.part_generic.piston_pneumatic.name=Pneumatic Piston +item.part_lithium.name=Box of Lithium Dust +item.part_plutonium.name=Box of Plutonium Dust +item.particle_aelectron.name=Positron Capsule +item.particle_amat.name=Antimatter Capsule +item.particle_aproton.name=Antiproton Capsule +item.particle_aschrab.name=Antischrabidium Capsule +item.particle_copper.name=Copper Ion Capsule +item.particle_dark.name=Dark Matter Capsule +item.particle_digamma.name=§cThe Digamma Particle§r +item.particle_empty.name=Empty Particle Capsule +item.particle_higgs.name=Higgs Boson Capsule +item.particle_hydrogen.name=Hydrogen Ion Capsule +item.particle_lead.name=Lead Ion Capsule +item.particle_lutece.name=Lutece Quasiparticle +item.particle_muon.name=Muon Capsule +item.particle_sparkticle.name=Sparkticle Capsule +item.particle_strange.name=Strange Quark Capsule +item.particle_tachyon.name=Tachyon Capsule +item.parts_legendary.name=Legendary Parts +item.peas.name=Groch +item.pedestal_steel.name=Stalowy Piedestał +item.pellet_advanced.name=Advanced Watz Performance Improver +item.pellet_antimatter.name=Antimatter Cluster +item.pellet_beryllium.name=Beryllium Moderator Pellet +item.pellet_buckshot.name=Lead Pellets +item.pellet_canister.name=Canister Shot +item.pellet_charged.name=Zjonizowane Cząsteczki +item.pellet_chlorophyte.name=Chlorophyte Rounds +item.pellet_claws.name=Sharp Metal Claws +item.pellet_cluster.name=Explosive Pellets +item.pellet_cluster.desc=Used in multi purpose bombs:$Adds some extra boom! +item.pellet_coal.name=Dense Coal Cluster +item.pellet_coolant.name=Coolant Cluster +item.pellet_flechette.name=Flechettes +item.pellet_gas.name=Poison Gas Cartridge +item.pellet_gas.desc=Used in multi purpose bombs:$*cough cough* Halp pls! +item.pellet_hes.name=HES Watz Pellet +item.pellet_lead.name=Lead Reflector Pellet +item.pellet_les.name=LES Watz Pellet +item.pellet_mercury.name=Mercury Rounds +item.pellet_mes.name=MES Watz Pellet +item.pellet_meteorite.name=Meteorite Rounds +item.pellet_neptunium.name=Neptunium Watz Pellet +item.pellet_rtg.name=Plutonium-238 RTG Pellet +item.pellet_rtg.desc=RTG fuel pellet for infinite energy! (almost) +item.pellet_rtg_actinium.name=Actinium-227 RTG Pellet +item.pellet_rtg_actinium.desc=A glow of blue light and beta rays. +item.pellet_rtg_americium.name=Americium-241 RTG Pellet +item.pellet_rtg_americium.desc=Rare and reliable, good old Americium! +item.pellet_rtg_berkelium.name=Berkelium RTG Pellet +item.pellet_rtg_berkelium.desc= +item.pellet_rtg_cobalt.name=Cobalt-60 RTG Pellet +item.pellet_rtg_cobalt.desc=Not the best as an RTG, but great for gamma radiation! +item.pellet_rtg_depleted.bismuth.name=Decayed Bismuth RTG Pellet +item.pellet_rtg_depleted.lead.name=Decayed Lead RTG Pellet +item.pellet_rtg_depleted.neptunium.name=Decayed Neptunium RTG Pellet +item.pellet_rtg_depleted.mercury.name=Decayed Mercury RTG Pellet +item.pellet_rtg_depleted.nickel.name=Decayed Nickel RTG Pellet +item.pellet_rtg_depleted.zirconium.name=Decayed Zirconium RTG Pellet +item.pellet_rtg_lead.name=Lead-209 RTG Pellet +item.pellet_rtg_lead.desc=Exposure will result in immediate death. +item.pellet_rtg_gold.name=Gold-198 RTG Pellet +item.pellet_rtg_gold.desc=Made from a rare, highly unstable gold isotope. +item.pellet_rtg_polonium.name=Polonium-210 RTG Pellet +item.pellet_rtg_polonium.desc=More powerful RTG pellet, made from finest polonium! +item.pellet_rtg_strontium.name=Strontium-90 RTG Pellet +item.pellet_rtg_strontium.desc=Known to the State of California... +item.pellet_rtg_radium.name=Radium-226 RTG Pellet +item.pellet_rtg_radium.desc=Great starter pellet, sourced from all-natural radium! +item.pellet_rtg_weak.name=Weak Uranium RTG Pellet +item.pellet_rtg_weak.desc=Cheaper and weaker pellet, now with more U238! +item.pellet_schrabidium.name=Pure Schrabidium Watz Pellet +item.photo_panel.name=Photovoltaic Panel +item.pile_rod_boron.name=Chicago Pile Control Rod +item.pile_rod_boron.desc=§9[Neutron Absorber]$§eClick to toggle +item.pile_rod_detector.name=Chicago Pile Control & Detector Rod +item.pile_rod_detector.desc=§9[Neutron Detector/Absorber]$§eUse defuser to increase/decrease neutron limit$§eUse screwdriver w/o sneaking to inspect flux +item.pile_rod_lithium.name=Chicago Pile Lithium Cell +item.pile_rod_lithium.desc=§a[Breedable Fuel]$§eUse hand drill to inspect core +item.pile_rod_plutonium.name=Chicago Pile Plutonium Rod +item.pile_rod_plutonium.desc=§d[Neutron Source] +item.pile_rod_pu239.name=Chicago Pile Bred Uranium Rod +item.pile_rod_pu239.desc=§a[Reactive Fuel]$§eRich in Plutonium-239. +item.pile_rod_source.name=Chicago Pile Ra226Be Neutron Source +item.pile_rod_source.desc=§d[Neutron Source] +item.pile_rod_uranium.name=Chicago Pile Uranium Rod +item.pile_rod_uranium.desc=§a[Reactive Fuel]$§eUse hand drill to take core sample +item.pill_iodine.name=Iodine Pill +item.pill_iodine.desc=Removes negative effects +item.pill_herbal.name=Herbal Paste +item.pill_herbal.desc=Effective treatment against lung disease and mild radiation poisoning$Comes with side effects +item.pill_red.name=Red Pill +item.pin.name=Bobby Pin +item.pin.desc=Standard success rate of picking a regular lock is ~10%%. +item.pipes_steel.name=Steel Pipes +item.pipes_steel.desc=Uncrafting was omitted due to tax evasion. +item.piston_selenium.name=Combustion Engine Piston +item.piston_set_desh.name=Desh Piston Set +item.piston_set_dura.name=High-Speed Steel Piston Set +item.piston_set_starmetal.name=Starmetal Piston Set +item.piston_set_steel.name=Steel Piston Set +item.plan_c.name=Plan C +item.plan_c.desc=Śmiertelny +item.plant_item.mustardwillow.name=Mustard Willow Leaf +item.plant_item.rope.name=Rope +item.plant_item.tobacco.name=Tobacco +item.plate_advanced_alloy.name=Advanced Alloy Plate +item.plate_aluminium.name=Aluminium Plate +item.plate_armor_ajr.name=Iron-Shod Armor Plating +item.plate_armor_dnt.name=DNT Armor Plating +item.plate_armor_fau.name=Fau Armor Plating +item.plate_armor_hev.name=Reactive Armor Plating +item.plate_armor_lunar.name=Lunar Plating +item.plate_armor_titanium.name=Titanium Armor Plate +item.plate_bismuth.name=Bismuth Compound Plate +item.plate_bismuth.desc=Guys, It's Bismuth's alchemical symbol, I swear. +item.plate_cast.name=Cast %s Plate +item.plate_combine_steel.name=CMB Steel Plate +item.plate_copper.name=Copper Plate +item.plate_dalekanium.name=Angry Metal +item.plate_desh.name=Desh Compound Plate +item.plate_dineutronium.name=Dineutronium Compound Plate +item.plate_euphemium.name=Euphemium Compound Plate +item.plate_fuel_mox.name=MOX Plate Fuel +item.plate_fuel_pu238be.name=Pu238Be Plate Fuel +item.plate_fuel_pu239.name=HEP-239 Plate Fuel +item.plate_fuel_ra226be.name=Ra226Be Plate Fuel +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_iron.name=Iron Plate +item.plate_kevlar.name=Kevlar-Ceramic Compound +item.plate_lead.name=Lead Plate +item.plate_mixed.name=Mixed Plate +item.plate_paa.name=PaA Alloy Plate +item.plate_polymer.name=Insulator +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.polaroid.name=The Polaroid +item.pollution_detector.name=Pollution Detector +item.powder_actinium.name=Actinium Powder +item.powder_actinium_tiny.name=Tiny Pile of Actinium Powder +item.powder_advanced_alloy.name=Advanced Alloy Powder +item.powder_aluminium.name=Aluminium Powder +item.powder_asbestos.name=Asbestos Powder +item.powder_asbestos.desc=§o\"Sniffffffff- MHHHHHHMHHHHHHHHH\"§r +item.powder_astatine.name=Astatine Powder +item.powder_at209.name=Astatine-209 Powder +item.powder_au198.name=Gold-198 Powder +item.powder_australium.name=Australium Powder +item.powder_bakelite.name=Bakelite Powder +item.powder_balefire.name=Thermonuclear Ashes +item.powder_beryllium.name=Beryllium Powder +item.powder_bismuth.name=Bismuth Powder +item.powder_borax.name=Boraks +item.powder_boron.name=Boron Powder +item.powder_boron_tiny.name=Tiny Pile of Boron Powder +item.powder_bromine.name=Bromine Powder +item.powder_cadmium.name=Cadmium Powder +item.powder_caesium.name=Caesium Powder +item.powder_calcium.name=Calcium Powder +item.powder_cerium.name=Cerium Powder +item.powder_cerium_tiny.name=Tiny Pile of Cerium Powder +item.powder_chlorocalcite.name=Chlorocalcite +item.powder_chlorophyte.name=Chlorophyte Powder +item.powder_cloud.name=Cloud Residue +item.powder_co60.name=Cobalt-60 Powder +item.powder_coal.name=Coal Powder +item.powder_coal_tiny.name=Tiny Pile of Coal Powder +item.powder_cobalt.name=Cobalt Powder +item.powder_cobalt_tiny.name=Tiny Pile of Cobalt Powder +item.powder_coltan.name=Purified Tantalite +item.powder_coltan_ore.name=Crushed Coltan +item.powder_combine_steel.name=CMB Steel Powder +item.powder_copper.name=Copper Powder +item.powder_cs137.name=Caesium-137 Powder +item.powder_cs137_tiny.name=Tiny Pile of Caesium-137 Powder +item.powder_daffergon.name=Daffergon Powder +item.powder_desh.name=Desh Powder +item.powder_desh_mix.name=Desh Blend +item.powder_desh_ready.name=DeshReady™ Blend +item.powder_diamond.name=Diamond Powder +item.powder_dineutronium.name=Dineutronium Powder +item.powder_dura_steel.name=High-Speed Steel Powder +item.powder_emerald.name=Emerald Powder +item.powder_euphemium.name=Euphemium Powder +item.powder_euphemium.desc=Pulverized pink.$Tastes like strawberries. +item.powder_fertilizer.name=Industrial Fertilizer +item.powder_fire.name=Red Phosphorus +item.powder_fire.desc=Used in multi purpose bombs:$Incendiary bombs are fun! +item.powder_flux.name=Flux +item.powder_gold.name=Gold Powder +item.powder_i131.name=Iodine-131 Powder +item.powder_i131_tiny.name=Tiny Pile of Iodine-131 Powder +item.powder_ice.name=Cryo Powder +item.powder_impure_osmiridium.name=Impure Osmiridium Powder +item.powder_iodine.name=Iodine Powder +item.powder_iron.name=Iron Powder +item.powder_lanthanium.name=Lanthanium Powder +item.powder_lanthanium_tiny.name=Tiny Pile of Lanthanium Powder +item.powder_lapis.name=Lapis Lazuli Powder +item.powder_lead.name=Lead Powder +item.powder_lignite.name=Lignite Powder +item.powder_lithium.name=Lithium Powder +item.powder_lithium_tiny.name=Tiny Pile of Lithium Powder +item.powder_magic.name=Pulverized Enchantment +item.powder_magnetized_tungsten.name=Magnetized Tungsten Powder +item.powder_meteorite.name=Meteorite Powder +item.powder_meteorite_tiny.name=Tiny Pile of Meteorite Powder +item.powder_neodymium.name=Neodymium Powder +item.powder_neodymium_tiny.name=Tiny Pile of Neodymium Powder +item.powder_neptunium.name=Neptunium Powder +item.powder_niobium.name=Niobium Powder +item.powder_niobium_tiny.name=Tiny Pile of Niobium Powder +item.powder_nitan_mix.name=Nitanium Blend +item.powder_paleogenite.name=Paleogenite Powder +item.powder_paleogenite_tiny.name=Tiny Pile of Paleogenite Powder +item.powder_plutonium.name=Plutonium Powder +item.powder_poison.name=Poison Powder +item.powder_poison.desc=Used in multi purpose bombs:$Warning: Poisonous! +item.powder_polonium.name=Polonium-210 Powder +item.powder_polymer.name=Polymer Powder +item.powder_power.name=Energy Powder +item.powder_quartz.name=Quartz Powder +item.powder_ra226.name=Radium-226 Powder +item.powder_red_copper.name=Red Copper Powder +item.powder_reiium.name=Reiium Powder +item.powder_sawdust.name=Sawdust +item.powder_schrabidate.name=Ferric Schrabidate Powder +item.powder_schrabidium.name=Schrabidium Powder +item.powder_semtex_mix.name=Semtex Blend +item.powder_spark_mix.name=Spark Blend +item.powder_sr90.name=Strontium-90 Powder +item.powder_sr90_tiny.name=Tiny Pile of Strontium-90 Powder +item.powder_steel.name=Steel Powder +item.powder_steel_tiny.name=Tiny Pile of Steel Powder +item.powder_strontium.name=Strontium Powder +item.powder_tantalium.name=Tantalium Powder +item.powder_tantalium.desc='Tantalum' +item.powder_tantalium.desc.P11=AKA Tantalum. +item.powder_tcalloy.name=Technetium Steel Powder +item.powder_tektite.name=Tektite Powder +item.powder_tennessine.name=Tennessine Powder +item.powder_thermite.name=Thermite +item.powder_thorium.name=Thorium Powder +item.powder_titanium.name=Titanium Powder +item.powder_tungsten.name=Tungsten Powder +item.powder_unobtainium.name=Unobtainium Powder +item.powder_uranium.name=Uranium Powder +item.powder_verticium.name=Verticium Powder +item.powder_weidanium.name=Weidanium Powder +item.powder_xe135.name=Xenon-135 Powder +item.powder_xe135_tiny.name=Tiny Pile of Xenon-135 Powder +item.powder_yellowcake.name=Yellowcake +item.powder_zirconium.name=Zirconium Powder +item.power_net_tool.name=Cable Network Analysis Tool +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=Charm of Protection +item.prototype_kit.name=Prototype Kit +item.pudding.name=Budyń +item.quartz_plutonium.name=Plutonic Quartz +item.radaway.name=RadAway +item.radaway_flush.name=Elite RadAway +item.radaway_strong.name=Strong RadAway +item.radx.name=Rad-X +item.radx.desc=Increases radiation resistance by 0.2 (37%%) for 3 minutes +item.rag.name=Tkanina +item.rag_damp.name=Zmoczona Tkanina +item.rag_piss.name=Piss-Soaked Rag +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 +item.rbmk_fuel_empty.name=Empty RBMK Fuel Rod +item.rbmk_fuel_flashlead.name=Flashlead RBMK Fuel Rod +item.rbmk_fuel_hea241.name=HEA-241 RBMK Fuel Rod +item.rbmk_fuel_hea242.name=HEA-242 RBMK Fuel Rod +item.rbmk_fuel_heaus.name=HEAus RBMK Fuel Rod +item.rbmk_fuel_hen.name=HEN RBMK Fuel Rod +item.rbmk_fuel_hes.name=HES RBMK Fuel Rod +item.rbmk_fuel_hep.name=HEP-239 RBMK Fuel Rod +item.rbmk_fuel_hep241.name=HEP-241 RBMK Fuel Rod +item.rbmk_fuel_heu233.name=HEU-233 RBMK Fuel Rod +item.rbmk_fuel_heu235.name=HEU-235 RBMK Fuel Rod +item.rbmk_fuel_lea.name=LEA RBMK Fuel Rod +item.rbmk_fuel_leaus.name=LEAus RBMK Fuel Rod +item.rbmk_fuel_lep.name=LEP-239 RBMK Fuel Rod +item.rbmk_fuel_les.name=LES RBMK Fuel Rod +item.rbmk_fuel_mea.name=MEA RBMK Fuel Rod +item.rbmk_fuel_men.name=MEN RBMK Fuel Rod +item.rbmk_fuel_mep.name=MEP-239 RBMK Fuel Rod +item.rbmk_fuel_mes.name=MES RBMK Fuel Rod +item.rbmk_fuel_meu.name=MEU RBMK Fuel Rod +item.rbmk_fuel_mox.name=MOX RBMK Fuel Rod +item.rbmk_fuel_po210be.name=Po210Be RBMK Neutron Source +item.rbmk_fuel_pu238be.name=Pu238Be RBMK Neutron Source +item.rbmk_fuel_ra226be.name=Ra226Be RBMK Neutron Source +item.rbmk_fuel_thmeu.name=ThMEU RBMK Fuel Rod +item.rbmk_fuel_ueu.name=NU RBMK Fuel Rod +item.rbmk_fuel_zfb_am_mix.name=Fuel Grade Americium RBMK ZFB Rod +item.rbmk_fuel_zfb_bismuth.name=Bismuth RBMK ZFB Rod +item.rbmk_fuel_zfb_pu241.name=Pu-241 RBMK ZFB Rod +item.rbmk_lid.name=RBMK Cover Panel +item.rbmk_lid_glass.name=RBMK Glass Cover Panel +item.rbmk_pellet_balefire.name=Balefire Fuel Pellet +item.rbmk_pellet_balefire_gold.name=Flashgold Fuel Pellet +item.rbmk_pellet_drx.name=§cDigamma Fuel Pellet§r +item.rbmk_pellet_flashlead.name=Flashlead Fuel Pellet +item.rbmk_pellet_hea241.name=HEA-241 Fuel Pellet +item.rbmk_pellet_hea242.name=HEA-242 Fuel Pellet +item.rbmk_pellet_heaus.name=HEAus Fuel Pellet +item.rbmk_pellet_hen.name=HEN Fuel Pellet +item.rbmk_pellet_hep239.name=HEP-239 Fuel Pellet +item.rbmk_pellet_hep241.name=HEP-241 Fuel Pellet +item.rbmk_pellet_heu233.name=HEU-233 Fuel Pellet +item.rbmk_pellet_heu235.name=HEU-235 Fuel Pellet +item.rbmk_pellet_hes.name=HES Fuel Pellet +item.rbmk_pellet_lea.name=LEA Fuel Pellet +item.rbmk_pellet_leaus.name=LEAus Fuel Pellet +item.rbmk_pellet_lep.name=LEP Fuel Pellet +item.rbmk_pellet_les.name=LES Fuel Pellet +item.rbmk_pellet_mea.name=MEA Fuel Pellet +item.rbmk_pellet_men.name=MEN Fuel Pellet +item.rbmk_pellet_mep.name=MEP Fuel Pellet +item.rbmk_pellet_mes.name=MES Fuel Pellet +item.rbmk_pellet_meu.name=MEU Fuel Pellet +item.rbmk_pellet_mox.name=MOX Fuel Pellet +item.rbmk_pellet_po210be.name=Po210Be Neutron Source Pellet +item.rbmk_pellet_pu238be.name=Pu238Be Neutron Source Pellet +item.rbmk_pellet_ra226be.name=Ra226Be Neutron Source Pellet +item.rbmk_pellet_thmeu.name=ThMEU Fuel Pellet +item.rbmk_pellet_ueu.name=NU Fuel Pellet +item.rbmk_pellet_zfb_am_mix.name=Fuel Grade Americium ZFB Pellet +item.rbmk_pellet_zfb_bismuth.name=Bismuth ZFB Pellet +item.rbmk_pellet_zfb_pu241.name=Pu-241 ZFB Pellet +item.rbmk_tool.name=RBMK Console Linking Device +item.rbmk_tool.desc=Sneak and right-click RBMK to save the position,$sneak and right-click console to link! +item.rbmk_tool.linked=Position set! +item.rbmk_tool.set=RBMK linked! +item.reacher.name=Tungsten Reacher +item.reactor_core.name=Breeding Reactor Core +item.reactor_sensor.name=Reactor Remote Sensor +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=Redcoil Capacitor +item.redstone_depleted.name=Desaturated Redstone Dust +item.redstone_sword.name=Redstone Sword +item.reer_graar.name=The Reer Graar +item.remote.name=Broken Remote +item.ring_pull.name=Ring Pull +item.ring_starmetal.name=§9Starmetal Ring§r +item.robes_boots.name=Field Boots +item.robes_helmet.name=Casual Hoodie +item.robes_legs.name=Casual Pants +item.robes_plate.name=Casual Sweater +item.rocket_fuel.name=Solid Fuel (Rocket Propellant) +item.rod_empty.name=Empty Rod +item.rod.lithium.name=Lithium Rod +item.rod.tritium.name=Tritium Rod +item.rod.co.name=Cobalt Rod +item.rod.co60.name=Cobalt-60 Rod +item.rod.ra226.name=Radium-226 Rod +item.rod.ac227.name=Actinium-227 Rod +item.rod.th232.name=Thorium-232 Rod +item.rod.thf.name=Thorium Fuel Rod +item.rod.u235.name=Uranium-235 Rod +item.rod.np237.name=Neptunium-237 Rod +item.rod.u238.name=Uranium-238 Rod +item.rod.pu238.name=Plutonium-238 Rod +item.rod.pu239.name=Plutonium-239 Rod +item.rod.rgp.name=Reactor-Grade Plutonium Rod +item.rod.waste.name=Nuclear Waste Rod +item.rod.lead.name=Lead Rod +item.rod.uranium.name=Uranium Rod +item.rod_dual_empty.name=Empty Dual Rod +item.rod_dual.lithium.name=Lithium Dual Rod +item.rod_dual.tritium.name=Tritium Dual Rod +item.rod_dual.co.name=Cobalt Dual Rod +item.rod_dual.co60.name=Cobalt-60 Dual Rod +item.rod_dual.ra226.name=Radium-226 Dual Rod +item.rod_dual.ac227.name=Actinium-227 Dual Rod +item.rod_dual.th232.name=Thorium-232 Dual Rod +item.rod_dual.thf.name=Thorium Fuel Dual Rod +item.rod_dual.u235.name=Uranium-235 Dual Rod +item.rod_dual.np237.name=Neptunium-237 Dual Rod +item.rod_dual.u238.name=Uranium-238 Dual Rod +item.rod_dual.pu238.name=Plutonium-238 Dual Rod +item.rod_dual.pu239.name=Plutonium-239 Dual Rod +item.rod_dual.rgp.name=Reactor-Grade Plutonium Dual Rod +item.rod_dual.waste.name=Nuclear Waste Dual Rod +item.rod_dual.lead.name=Lead Dual Rod +item.rod_dual.uranium.name=Uranium Dual Rod +item.rod_quad_empty.name=Empty Quad Rod +item.rod_quad.lithium.name=Lithium Quad Rod +item.rod_quad.tritium.name=Tritium Quad Rod +item.rod_quad.co.name=Cobalt Quad Rod +item.rod_quad.co60.name=Cobalt-60 Quad Rod +item.rod_quad.ra226.name=Radium-226 Quad Rod +item.rod_quad.ac227.name=Actinium-227 Quad Rod +item.rod_quad.th232.name=Thorium-232 Quad Rod +item.rod_quad.thf.name=Thorium Fuel Quad Rod +item.rod_quad.u235.name=Uranium-235 Quad Rod +item.rod_quad.np237.name=Neptunium-237 Quad Rod +item.rod_quad.u238.name=Uranium-238 Quad Rod +item.rod_quad.pu238.name=Plutonium-238 Quad Rod +item.rod_quad.pu239.name=Plutonium-239 Quad Rod +item.rod_quad.rgp.name=Reactor-Grade Plutonium Quad Rod +item.rod_quad.waste.name=Nuclear Waste Quad Rod +item.rod_quad.lead.name=Lead Quad Rod +item.rod_quad.uranium.name=Uranium Quad Rod +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=Rod of Discord +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=Empty ZIRNOX Rod +item.rod_zirnox_natural_uranium_fuel.name=ZIRNOX Natural Uranium Fuel Rod +item.rod_zirnox_uranium_fuel.name=ZIRNOX Uranium Fuel Rod +item.rod_zirnox_th232.name=ZIRNOX Thorium-232 Rod +item.rod_zirnox_thorium_fuel.name=ZIRNOX Thorium Fuel Rod +item.rod_zirnox_mox_fuel.name=ZIRNOX MOX Fuel Rod +item.rod_zirnox_plutonium_fuel.name=ZIRNOX Plutonium Fuel Rod +item.rod_zirnox_u233_fuel.name=ZIRNOX Uranium-233 Fuel Rod +item.rod_zirnox_u235_fuel.name=ZIRNOX Uranium-235 Fuel Rod +item.rod_zirnox_les_fuel.name=ZIRNOX LES Fuel Rod +item.rod_zirnox_lithium.name=ZIRNOX Lithium Rod +item.rod_zirnox_tritium.name=ZIRNOX Tritium Rod +item.rod_zirnox_zfb_mox.name=ZIRNOX ZFB MOX Fuel Rod +item.rod_zirnox_natural_uranium_fuel_depleted.name=Depleted ZIRNOX Natural Uranium Fuel Rod +item.rod_zirnox_uranium_fuel_depleted.name= Depleted ZIRNOX Uranium Fuel Rod +item.rod_zirnox_thorium_fuel_depleted.name= Depleted ZIRNOX Thorium Fuel Rod +item.rod_zirnox_mox_fuel_depleted.name=Depleted ZIRNOX MOX Fuel Rod +item.rod_zirnox_plutonium_fuel_depleted.name=Depleted ZIRNOX Plutonium Fuel Rod +item.rod_zirnox_u233_fuel_depleted.name=Depleted ZIRNOX Uranium-233 Fuel Rod +item.rod_zirnox_u235_fuel_depleted.name=Depleted ZIRNOX Uranium-235 Fuel Rod +item.rod_zirnox_les_fuel_depleted.name=Depleted ZIRNOX LES Fuel Rod +item.rod_zirnox_zfb_mox_depleted.name=Depleted ZIRNOX ZFB MOX Fuel Rod +item.rotor_steel.name=Large Steel Rotor +item.rpa_boots.name=Remnants Power Armor Boots +item.rpa_helmet.name=Remnants Power Armor Helmet +item.rpa_legs.name=Remnants Power Armor Leggings +item.rpa_plate.name=Remnants Power Armor Chestplate +item.rtg_unit.name=Jednostka Radiotermiczna +item.rubber_gloves.name=Thick Rubber Gloves +item.rune_blank.name=Blank Catalyst Matrix +item.rune_dagaz.name=Balanced Catalyst Matrix +item.rune_hagalaz.name=Rough Catalyst Matrix +item.rune_isa.name=Cool Catalyst Matrix +item.rune_jera.name=Multiplicative Catalyst Matrix +item.rune_thurisaz.name=Additive Catalyst Matrix +item.safety_fuse.name=Safety Fuse +item.sat_base.name=Satellite Base +item.sat_chip.name=Satellite ID-Chip +item.sat_coord.name=Satellite Designator +item.sat_designator.name=Satellite Laser Designator +item.sat_foeq.name=PEAF - Mk.I FOEQ Duna Probe with experimental Nuclear Propulsion +item.sat_gerald.name=Gerald The Construction Android +item.sat_head_laser.name=Death Ray +item.sat_head_mapper.name=High-Gain Optical Camera +item.sat_head_radar.name=Radar Dish +item.sat_head_resonator.name=Xenium Resonator +item.sat_head_scanner.name=M700 Survey Scanner +item.sat_interface.name=Satellite Control Interface +item.sat_laser.name=Orbital Death Ray +item.sat_lunar_miner.name=Lunar Mining Ship +item.sat_mapper.name=Surface Mapping Satellite +item.sat_miner.name=Asteroid Mining Ship +item.sat_radar.name=Radar Survey Satellite +item.sat_resonator.name=Xenium Resonator Satellite +item.sat_scanner.name=Satellite with Depth-Resource Scanning Module +item.sawblade.name=Sawblade +item.schnitzel_vegan.name=Vegan Schnitzel +item.schrabidium_axe.name=Schrabidium Axe +item.schrabidium_boots.name=Schrabidium Boots +item.schrabidium_hammer.name=Schrabidium Hammer +item.schrabidium_helmet.name=Schrabidium Helmet +item.schrabidium_hoe.name=Schrabidium Hoe +item.schrabidium_legs.name=Schrabidium Leggings +item.schrabidium_pickaxe.name=Schrabidium Pickaxe +item.schrabidium_plate.name=Schrabidium Chestplate +item.schrabidium_shovel.name=Schrabidium Shovel +item.schrabidium_sword.name=Schrabidium Sword +item.scrap.name=Scrap +item.scrap_nuclear.name=Radioactive Scraps +item.scrap_oil.name=Oily Scraps +item.scrap_plastic.name=Plastic Scraps +item.scraps.name=Foundry Scraps +item.screwdriver.name=Screwdriver +item.screwdriver.desc=Could be used instead of a fuse... +item.screwdriver_desh.name=Desh Screwdriver +item.scrumpy.name=Bottle of Scrumpy +item.security_boots.name=Security Boots +item.security_helmet.name=Security Helmet +item.security_legs.name=Security Leggings +item.security_plate.name=Security Chestplate +item.seg_10.name=Size 10 Connector +item.seg_15.name=Size 15 Connector +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.shackles.name=Shackles +item.shimmer_axe.name=Shimmer Axe +item.shimmer_axe_head.name=Heavy Axe Head +item.shimmer_handle.name=Reinforced Polymer Handle +item.shimmer_head.name=Heavy Hammer Head +item.shimmer_sledge.name=Shimmer Sledge +item.singularity.name=Singularity +item.singularity_counter_resonant.name=Contained Counter-Resonant Singularity +item.singularity_micro.name=Micro Singularity +item.singularity_spark.name=Spark Singularity +item.singularity_super_heated.name=Superheated Resonating Singularity +item.siox.name=SiOX Cancer Medication +item.siox.desc=Reverses mesothelioma with the power of Asbestos! +item.siren_track.name=Siren Track +item.sliding_blast_door_skin.0.name=Sliding Blast Door Skin: Default +item.sliding_blast_door_skin.1.name=Sliding Blast Door Skin: Variant 1 +item.sliding_blast_door_skin.2.name=Sliding Blast Door Skin: Variant 2 +item.smashing_hammer.name=Smashing Hammer +item.solid_fuel.name=Solid Fuel +item.solid_fuel_bf.name=Solid Fuel (Balefire) +item.solid_fuel_presto.name=Presto Log +item.solid_fuel_presto_bf.name=Presto Log (Balefire) +item.solid_fuel_presto_triplet.name=Boosted Presto Logs +item.solid_fuel_presto_triplet_bf.name=Boosted Presto Logs (Balefire) +item.solinium_core.name=Semi-Stable Solinium Core +item.solinium_igniter.name=SOL Pulse Igniter +item.solinium_kit.name=Solinium Kit +item.solinium_propellant.name=SOL Compression Charge +item.sopsign.name=Sop Sign Battle Axe +item.spawn_duck.name=Golden Egg +item.spawn_ufo.name=Martian Invasion Ship +item.spawn_worm.name=Balls-O-Tron Prime +item.sphere_steel.name=Steel Sphere +item.spider_milk.name=Bottle of Spider Milk +item.spongebob_macaroni.name=Spongebob Macaroni +item.stamp_357.name=.357 Magnum Stamp +item.stamp_44.name=.44 Magnum Stamp +item.stamp_50.name=Large Caliber Stamp +item.stamp_9.name=Small Caliber Stamp +item.stamp_desh_circuit.name=Circuit Stamp (Desh) +item.stamp_desh_flat.name=Flat Stamp (Desh) +item.stamp_desh_plate.name=Plate Stamp (Desh) +item.stamp_desh_wire.name=Wire Stamp (Desh) +item.stamp_desh_357.name=.357 Magnum Stamp (Desh) +item.stamp_desh_44.name=.44 Magnum Stamp (Desh) +item.stamp_desh_50.name=Large Caliber Stamp (Desh) +item.stamp_desh_9.name=Small Caliber Stamp (Desh) +item.stamp_iron_circuit.name=Circuit Stamp (Iron) +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_obsidian_circuit.name=Circuit Stamp (Obsidian) +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_steel_circuit.name=Circuit Stamp (Steel) +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_stone_circuit.name=Circuit Stamp (Stone) +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_titanium_circuit.name=Circuit Stamp (Titanium) +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.starmetal_axe.name=Starmetal Axe +item.starmetal_boots.name=Starmetal Boots +item.starmetal_helmet.name=Starmetal Helmet +item.starmetal_hoe.name=Starmetal Hoe +item.starmetal_legs.name=Starmetal Leggings +item.starmetal_pickaxe.name=Starmetal Pickaxe +item.starmetal_plate.name=Starmetal Chestplate +item.starmetal_shovel.name=Starmetal Shovel +item.starmetal_sword.name=Starmetal Sword +item.static_sandwich.name=Sandwich Garnished with TV Static +item.stealth_boy.name=Stealth Device +item.steamsuit_boots.name=Steam Suit Boots +item.steamsuit_helmet.name=Steam Suit Respirator Helmet +item.steamsuit_legs.name=Steam Suit Leggings +item.steamsuit_plate.name=Steam Suit Chestplate +item.steel_axe.name=Steel Axe +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_shovel.name=Steel Shovel +item.steel_sword.name=Steel Sword +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.survey_scanner.name=Survey Scanner +item.syringe_antidote.name=Antidote +item.syringe_awesome.name=AWESOME +item.syringe_empty.name=Empty Syringe +item.syringe_metal_empty.name=Metal Syringe +item.syringe_metal_medx.name=Med-X +item.syringe_metal_psycho.name=Psycho +item.syringe_metal_stimpak.name=Stimpak +item.syringe_metal_super.name=Super Stimpak +item.syringe_mkunicorn.name=MKUNICORN +item.syringe_poison.name=Poisonous Injection +item.syringe_taint.name=Watery Taint Injection +item.t45_boots.name=T45 Power Armor Boots +item.t45_helmet.name=T45 Power Armor Helmet +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.telepad.name=Telepad +item.tem_flakes.name=Tem Flakes +item.template_folder.name=Machine Template Folder +item.template_folder.desc=Machine Templates: Paper + Dye$Fluid IDs: Iron Plate + Dye$Press Stamps: Flat Stamp$Siren Tracks: Insulator + Steel Plate +item.test_nuke_igniter.name=Igniter +item.test_nuke_propellant.name=Propellant +item.test_nuke_tier1_bullet.name=U235 Projectile (Tier 1) +item.test_nuke_tier1_shielding.name=Neutron Reflector (Tier 1) +item.test_nuke_tier1_target.name=Subcritical U235 Target (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=Thermoelectric Element +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=Large Thruster +item.thruster_medium.name=Medium Thruster +item.thruster_nuclear.name=LV-N Nuclear Rocket Engine +item.thruster_small.name=Small Thruster +item.titanium_axe.name=Titanium Axe +item.titanium_boots.name=Titanium Boots +item.titanium_filter.name=Titanium Filter +item.titanium_helmet.name=Titanium Helmet +item.titanium_hoe.name=Titanium Hoe +item.titanium_legs.name=Titanium Leggings +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.toothpicks.name=Toothpicks +item.train.cargo_tram.name=Electric Flat Bed Tram +item.trinitite.name=Trinitite +item.tritium_deuterium_cake.name=Tritium-Deuterium-Cake +item.tritium_deuterium_cake.desc=Not actual cake, but great$universal fusion fuel! +item.tsar_core.name=Tsar Bomba Core +item.tsar_kit.name=Tsar Bomba Kit +item.turbine_titanium.name=Titanium Steam Turbine +item.turbine_tungsten.name=Reinforced Turbofan Blades +item.turret_biometry.name=Turret Telemetry Card +item.turret_cheapo_ammo.name=6x24 Cheapo Turret Ammunition +item.turret_chip.name=Turret AI-Chip +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=Twinkie +item.ullapool_caber.name=Ullapool Caber +item.undefined.name=Undefined +item.upgrade_5g.name=5G Radiation Emitter Upgrade +item.upgrade_afterburn_1.name=Afterburner Upgrade Mk.I +item.upgrade_afterburn_2.name=Afterburner Upgrade Mk.II +item.upgrade_afterburn_3.name=Afterburner Upgrade Mk.III +item.upgrade_centrifuge.name=Centrifuge Upgrade +item.upgrade_crystallizer.name=Crystallizer Upgrade +item.upgrade_effect_1.name=Effectiveness Upgrade Mk.I +item.upgrade_effect_2.name=Effectiveness Upgrade Mk.II +item.upgrade_effect_3.name=Effectiveness Upgrade Mk.III +item.upgrade_ejector_1.name=Ejection Speed Upgrade Mk.I +item.upgrade_ejector_2.name=Ejection Speed Upgrade Mk.II +item.upgrade_ejector_3.name=Ejection Speed Upgrade Mk.III +item.upgrade_fortune_1.name=Fortune Upgrade Mk.I +item.upgrade_fortune_2.name=Fortune Upgrade Mk.II +item.upgrade_fortune_3.name=Fortune Upgrade Mk.III +item.upgrade_gc_speed.name=Gas Centrifuge Overclocking Upgrade +item.upgrade_health.name=Emitter Health Upgrade +item.upgrade_nullifier.name=Scrap Destroyer Upgrade +item.upgrade_overdrive_1.name=Overdrive Upgrade Mk.I +item.upgrade_overdrive_2.name=Overdrive Upgrade Mk.II +item.upgrade_overdrive_3.name=Overdrive Upgrade Mk.III +item.upgrade_power_1.name=Power Saving Upgrade Mk.I +item.upgrade_power_2.name=Power Saving Upgrade Mk.II +item.upgrade_power_3.name=Power Saving Upgrade Mk.III +item.upgrade_radius.name=Emitter Radius Upgrade +item.upgrade_screm.name=Screaming Scientist Upgrade +item.upgrade_shredder.name=Shredder Upgrade +item.upgrade_smelter.name=Smelter Upgrade +item.upgrade_speed_1.name=Speed Upgrade Mk.I +item.upgrade_speed_2.name=Speed Upgrade Mk.II +item.upgrade_speed_3.name=Speed Upgrade Mk.III +item.upgrade_stack_1.name=Stack Ejection Upgrade Mk.I +item.upgrade_stack_2.name=Stack Ejection Upgrade Mk.II +item.upgrade_stack_3.name=Stack Ejection Upgrade Mk.III +item.upgrade_template.name=Machine Upgrade Template +item.v1.name=V1 +item.volcanic_pickaxe.name=Stopiony Kilof +item.wand_d.name=Debug Wand +item.wand_k.name=Construction Wand +item.wand_s.name=Structure Wand +item.warhead_buster_large.name=Large Bunker Buster Warhead +item.warhead_buster_medium.name=Medium Bunker Buster Warhead +item.warhead_buster_small.name=Small Bunker Buster Warhead +item.warhead_cluster_large.name=Large Cluster Warhead +item.warhead_cluster_medium.name=Medium Cluster Warhead +item.warhead_cluster_small.name=Small Cluster Warhead +item.warhead_generic_large.name=Large Warhead +item.warhead_generic_medium.name=Medium Warhead +item.warhead_generic_small.name=Small Warhead +item.warhead_incendiary_large.name=Large Incendiary Warhead +item.warhead_incendiary_medium.name=Medium Incendiary Warhead +item.warhead_incendiary_small.name=Small Incendiary Warhead +item.warhead_mirv.name=Głowica Termojądrowa +item.warhead_mirvlet.name=MIRV +item.warhead_nuclear.name=Nuclear Warhead +item.warhead_thermo_endo.name=Endothermic Warhead +item.warhead_thermo_exo.name=Exothermic Warhead +item.warhead_volcano.name=Tectonic Warhead +item.waste_mox.name=Depleted MOX Fuel +item.waste_natural_uranium.name=Depleted Natural Uranium Fuel +item.waste_plate_mox.name=Depleted MOX Plate Fuel +item.waste_plate_pu238be.name=Depleted Pu238Be Plate Fuel +item.waste_plate_pu239.name=Depleted HEP-239 Plate Fuel +item.waste_plate_ra226be.name=Depleted Ra226Be Plate Fuel +item.waste_plate_sa326.name=Depleted HES-326 Plate Fuel +item.waste_plate_u233.name=Depleted HEU-233 Plate Fuel +item.waste_plate_u235.name=Depleted HEU-235 Plate Fuel +item.waste_plutonium.name=Depleted Plutonium Fuel +item.waste_schrabidium.name=Depleted Schrabidium Fuel +item.waste_thorium.name=Depleted Thorium Fuel +item.waste_u235.name=Depleted Uranium-235 Fuel +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.watz_pellet.boron.name=Boron Absorber Pellet +item.watz_pellet.du.name=Depleted Uranium Absorber Pellet +item.watz_pellet.hes.name=HES Watz Pellet +item.watz_pellet.lead.name=Lead Absorber Pellet +item.watz_pellet.les.name=LES Watz Pellet +item.watz_pellet.mes.name=MES Watz Pellet +item.watz_pellet.mep.name=MEP Watz Pellet +item.watz_pellet.meu.name=MEU Watz Pellet +item.watz_pellet.nqd.name=Enriched Naquadah Watz Pellet +item.watz_pellet.nqr.name=Naquadria Watz Pellet +item.watz_pellet.hen.name=HEN Watz Pellet +item.watz_pellet.schrabidium.name=Schrabidium Watz Pellet +item.watz_pellet_depleted.boron.name=Boron Absorber Pellet (Depleted) +item.watz_pellet_depleted.du.name=Depleted Uranium Absorber Pellet (Depleted) +item.watz_pellet_depleted.hes.name=HES Watz Pellet (Depleted) +item.watz_pellet_depleted.lead.name=Lead Absorber Pellet (Depleted) +item.watz_pellet_depleted.les.name=LES Watz Pellet (Depleted) +item.watz_pellet_depleted.mes.name=MES Watz Pellet (Depleted) +item.watz_pellet_depleted.mep.name=MEP Watz Pellet (Depleted) +item.watz_pellet_depleted.meu.name=MEU Watz Pellet (Depleted) +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.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_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 +item.wire_advanced_alloy.name=Super Conductor +item.wire_aluminium.name=Aluminium Wire +item.wire_copper.name=Copper Wire +item.wire_gold.name=Gold Wire +item.wire_magnetized_tungsten.name=4000K High Temperature Super Conductor +item.wire_red_copper.name=Red Copper Wire +item.wire_schrabidium.name=Schrabidium Wire +item.wire_tungsten.name=Tungsten Wire +item.wiring_red_copper.name=Cable Drum +item.wood_gavel.name=Wooden Gavel +item.wrench.name=Pipe Wrench +item.wrench_archineer.name=Archineer's Wrench +item.wrench_flipped.name=Blade on a Wrench +item.xanax.name=NAXA Anti-Digamma Medication +item.xanax.desc=Removes 500mDRX +item.zirconium_legs.name=Zirconium Pants + +itemGroup.tabBlocks=NTM Ores and Blocks +itemGroup.tabConsumable=NTM Consumables and Gear +itemGroup.tabControl=NTM Machine Items and Fuel +itemGroup.tabMachine=NTM Machines +itemGroup.tabMissile=NTM Missiles and Satellites +itemGroup.tabNuke=NTM Bombs +itemGroup.tabParts=NTM Resources and Parts +itemGroup.tabTemplate=NTM Templates +itemGroup.tabTest=Nuclear Tech Mod Test Tab +itemGroup.tabWeapon=NTM Weapons and Turrets + +potion.hbm_bang=! ! ! +potion.hbm_death=Astolfizacja +potion.hbm_lead=Lead Poisoning +potion.hbm_mutation=Tainted Heart +potion.hbm_phosphorus=Phosphorus Burns +potion.hbm_potionsickness=Potion Sickness +potion.hbm_radaway=Radaway +potion.hbm_radiation=Skażony +potion.hbm_radx=Rad-X +potion.hbm_stability=Stabilność +potion.hbm_taint=Splamiony +potion.hbm_telekinesis=! ! ! + +radar.detectMissiles=Detect Missiles +radar.detectPlayers=Detect Players +radar.redMode=Redstone Mode$On: Redstone output based on range$Off: Redstone output based on tier +radar.smartMode=Smart Mode$Redstone output ignores ascending missiles + +rbmk.heat=Column temperature: %s +rbmk.boiler.water=Feedwater: %s / %s +rbmk.boiler.steam=Steam: %s / %s +rbmk.boiler.type=Compressor: %s +rbmk.console.assign=Assign selected columns to screen #%s +rbmk.console.none=Off +rbmk.console.col_temp=Monitor average column temperature +rbmk.console.rod_extraction=Monitor average control rod extraction +rbmk.console.fuel_depletion=Monitor average fuel depletion +rbmk.console.fuel_poison=Monitor average xenon poisoning +rbmk.console.fuel_temp=Monitor average fuel temperature +rbmk.control.level=%s +rbmk.control.red=§cRed Group +rbmk.control.yellow=§eYellow Group +rbmk.control.green=§aGreen Group +rbmk.control.blue=§1Blue Group +rbmk.control.purple=§5Purple Group +rbmk.moderated=Moderated +rbmk.rod.depletion=Depletion: %s +rbmk.rod.xenon=Xenon poison: %s +rbmk.rod.coreTemp=Core temperature: %s +rbmk.rod.skinTemp=Skin temperature: %s / %s +rbmk.screen.core=Core: %s +rbmk.screen.depletion=Depl: %s +rbmk.screen.rod=Control: %s +rbmk.screen.temp=Temp: %s +rbmk.screen.xenon=Xenon: %s + +shape.billet=Billet +shape.blade=Blade +shape.blades=Shredder Blades +shape.block=Blok +shape.dust=Dust +shape.dusttiny=Tiny Dust +shape.hull_big=Big Shell +shape.hull_small=Small Shell +shape.ingot=Ingot +shape.nugget=Nugget +shape.quantum=Quantum +shape.quart=Quarter Block +shape.plate=Plate +shape.plateTriple=Cast Plate +shape.stamp=Press Stamp +shape.wire=Drut + +soundCategory.ntmMachines=NTM Machines + +tile.absorber.name=Radiation Absorber +tile.absorber_green.name=Advanced Radiation Absorber +tile.absorber_pink.name=Elite Radiation Absorber +tile.absorber_red.name=Enhanced Radiation Absorber +tile.acid_block.name=Kwas +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=Ancient Scrap Metal +tile.anvil_bismuth.name=Bismuth Anvil +tile.anvil_dnt.name=Dineutronium Anvil +tile.anvil_ferrouranium.name=Ferrouranium Anvil +tile.anvil_iron.name=Iron Anvil +tile.anvil_lead.name=Lead Anvil +tile.anvil_meteorite.name=Meteorite Anvil +tile.anvil_murky.name=Murky Anvil +tile.anvil_osmiridium.name=Osmiridium Anvil +tile.anvil_schrabidate.name=Ferric Schrabidate Anvil +tile.anvil_starmetal.name=Starmetal Anvil +tile.anvil_steel.name=Steel Anvil +tile.ash_digamma.name=Ash +tile.asphalt.name=Asphalt +tile.asphalt_light.name=Glowing Asphalt +tile.barbed_wire.name=Barbed Wire +tile.barbed_wire_acid.name=Caustic Barbed Wire +tile.barbed_wire_fire.name=Flaming Barbed Wire +tile.barbed_wire_poison.name=Poisoned Barbed Wire +tile.barbed_wire_ultradeath.name=Cloud Barbed Wire +tile.barbed_wire_wither.name=Withered Barbed Wire +tile.barrel_antimatter.name=Magnetic Antimatter Container +tile.barrel_corroded.name=Corroded Barrel +tile.barrel_iron.name=Iron Barrel +tile.barrel_plastic.name=Safe Barrel™ +tile.barrel_steel.name=Steel Barrel +tile.barrel_tcalloy.name=Technetium Steel Barrel +tile.barricade.name=Sand Bags +tile.basalt.name=Bazalt +tile.basalt_asbestos.name=Asbestos-Rich Basalt +tile.basalt_brick.name=Basalt Bricks +tile.basalt_fluorite.name=Fluorite-Rich Basalt +tile.basalt_gem.name=Gem-Rich Basalt +tile.basalt_polished.name=Polished Basalt +tile.basalt_smooth.name=Smooth Basalt +tile.basalt_sulfur.name=Sulfur-Rich Basalt +tile.basalt_tiles.name=Basalt Tiles +tile.blast_door.name=Sliding Blast Door +tile.block_actinium.name=Block of Actinium +tile.block_advanced_alloy.name=Block of Advanced Alloy +tile.block_aluminium.name=Block of Aluminium +tile.block_asbestos.name=Block of Asbestos +tile.block_australium.name=Block of Australium +tile.block_bakelite.name=Block of Bakelite +tile.block_beryllium.name=Block of Beryllium +tile.block_bismuth.name=Block of Bismuth +tile.block_boron.name=Block of Boron +tile.block_c4.name=Block of C-4 +tile.block_cadmium.name=Block of Cadmium +tile.block_cap_fritz.name=Block of Fritz Cola Bottle Caps +tile.block_cap_korl.name=Block of Korl Bottle Caps +tile.block_cap_nuka.name=Block of Nuka Cola Bottle Caps +tile.block_cap_quantum.name=Block of Nuka Cola Quantum Bottle Caps +tile.block_cap_rad.name=Block of S~Cola RAD Bottle Caps +tile.block_cap_sparkle.name=Block of S~Cola Bottle Caps +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=Block of Cadmium Steel +tile.block_cobalt.name=Block of Cobalt +tile.block_coke.coal.name=Block of Coal Coke +tile.block_coke.lignite.name=Block of Lignite Coke +tile.block_coke.petroleum.name=Block of Petroleum Coke +tile.block_coltan.name=Block of Coltan +tile.block_combine_steel.name=Block of CMB Steel +tile.block_copper.name=Block of Copper +tile.block_corium.name=Corium +tile.block_corium_cobble.name=Corebblestone +tile.block_daffergon.name=Block of Daffergon +tile.block_desh.name=Reinforced Block of Desh +tile.block_dineutronium.name=Block of Dineutronium +tile.block_dura_steel.name=Reinforced Block of High-Speed Steel +tile.block_electrical_scrap.name=Block of Electrical Scrap +tile.block_euphemium.name=Block of Euphemium +tile.block_euphemium_cluster.name=Euphemium-Etched Schrabidium Cluster +tile.block_fallout.name=Block of Fallout +tile.block_fiberglass.name=Roll of Fiberglass +tile.block_fluorite.name=Block of Fluorite +tile.block_foam.name=Foam +tile.block_insulator.name=Roll of Insulation +tile.block_graphite.name=Block of Graphite +tile.block_graphite_detector.name=Pile Neutron Detector +tile.block_graphite_drilled.name=Drilled Graphite +tile.block_graphite_fuel.name=Pile Fuel +tile.block_graphite_lithium.name=Pile Lithium Fuel +tile.block_graphite_plutonium.name=Pile Fuel (Bred) +tile.block_graphite_rod.name=Pile Control Rod +tile.block_graphite_source.name=Pile Neutron Source +tile.block_graphite_tritium.name=Pile Lithium Fuel (Bred) +tile.block_lead.name=Block of Lead +tile.block_lanthanium.name=Block of Lanthanium +tile.block_lithium.name=Block of Lithium +tile.block_magnetized_tungsten.name=Block of Magnetized Tungsten +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 +tile.block_mox_fuel.name=Block of MOX Fuel +tile.block_neptunium.name=Block of Neptunium +tile.block_niter.name=Block of Niter +tile.block_niter_reinforced.name=Reinforced Block of Niter +tile.block_niobium.name=Block of Niobium +tile.block_plutonium.name=Block of Plutonium +tile.block_plutonium_fuel.name=Block of Plutonium Fuel +tile.block_polonium.name=Block of Polonium-210 +tile.block_polymer.name=Block of Polymer +tile.block_pu_mix.name=Block of Reactor Grade Plutonium +tile.block_pu238.name=Block of Plutonium-238 +tile.block_pu239.name=Block of Plutonium-239 +tile.block_pu240.name=Block of Plutonium-240 +tile.block_ra226.name=Block of Radium-226 +tile.block_red_copper.name=Block of Red Copper +tile.block_red_phosphorus.name=Block of Red Phosphorus +tile.block_reiium.name=Block of Reiium +tile.block_rubber.name=Block of Rubber +tile.block_schrabidate.name=Block of Ferric Schrabidate +tile.block_schrabidium.name=Block of Schrabidium +tile.block_schrabidium_cluster.name=Schrabidium Cluster +tile.block_schrabidium_fuel.name=Block of Schrabidium Fuel +tile.block_schraranium.name=Block of Schraranium +tile.block_scrap.name=Block of Scrap +tile.block_semtex.name=Block of Semtex +tile.block_slag.name=Block of Slag +tile.block_smore.name=Block of S'more +tile.block_solinium.name=Block of Solinium +tile.block_starmetal.name=§9Block of Starmetal§r +tile.block_steel.name=Block of Steel +tile.block_sulfur.name=Block of Sulfur +tile.block_tantalium.name=Block of Tantalium +tile.block_tcalloy.name=Block of Technetium Steel +tile.block_thorium.name=Block of Thorium-232 +tile.block_thorium_fuel.name=Block of Thorium Fuel +tile.block_titanium.name=Block of Titanium +tile.block_trinitite.name=Block of Trinitite +tile.block_tritium.name=Block of Tritium Cells +tile.block_tungsten.name=Block of Tungsten +tile.block_u233.name=Block of Uranium-233 +tile.block_u235.name=Block of Uranium-235 +tile.block_u238.name=Block of Uranium-238 +tile.block_unobtainium.name=Block of Unobtainium +tile.block_uranium.name=Block of Uranium +tile.block_uranium_fuel.name=Block of Uranium Fuel +tile.block_verticium.name=Block of Verticium +tile.block_waste.name=Block of Nuclear Waste +tile.block_waste_painted.name=Painted Block of Nuclear Waste +tile.block_waste_vitrified.name=Vitrified Block of Nuclear Waste +tile.block_weidanium.name=Block of Weidanium +tile.block_white_phosphorus.name=Block of White Phosphorus +tile.block_yellowcake.name=Block of Yellowcake +tile.block_zirconium.name=Block of Zirconium +tile.boat.name=Boat +tile.bobblehead.name=Bobblehead +tile.bomb_multi.name=Multi Purpose Bomb +tile.bomber.name=Crashed Bomber +tile.book_guide.name=Hbm's Nuclear Tech Mod Manual [LEGACY] +tile.boxcar.name=Boxcar +tile.brick_asbestos.name=Asbestos Bricks +tile.brick_asbestos_stairs.name=Asbestos Brick Stairs +tile.brick_compound.name=Compound Mesh +tile.brick_compound_stairs.name=Compound Mesh Stairs +tile.brick_concrete.name=Concrete Bricks +tile.brick_concrete_stairs.name=Concrete Brick Stairs +tile.brick_concrete_broken.name=Broken Concrete Bricks +tile.brick_concrete_broken_stairs.name=Broken Concrete Brick Stairs +tile.brick_concrete_cracked.name=Cracked Concrete Bricks +tile.brick_concrete_cracked_stairs.name=Cracked Concrete Brick Stairs +tile.brick_concrete_marked.name=Marked Concrete Bricks +tile.brick_concrete_mossy.name=Mossy Concrete Bricks +tile.brick_concrete_mossy_stairs.name=Mossy Concrete Brick Stairs +tile.brick_ducrete.name=Ducrete Bricks +tile.brick_ducrete_stairs.name=Ducrete Brick Stairs +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=Firebricks +tile.brick_fire_stairs.name=Firebrick Stairs +tile.brick_jungle.name=Enargite Bricks +tile.brick_jungle_circle.name=Mechanist's Circle +tile.brick_jungle_cracked.name=Cracked Enargite Bricks +tile.brick_jungle_fragile.name=Brittle Enargite Bricks +tile.brick_jungle_glyph.name=Enargite Glyph Bricks +tile.brick_jungle_lava.name=Magmatic Enargite Bricks +tile.brick_jungle_mystic.name=Arcane Enargite Bricks +tile.brick_jungle_ooze.name=Radioactive Enargite Bricks +tile.brick_jungle_trap.name=Trapped Enargite Bricks +tile.brick_light.name=Light Bricks +tile.brick_light_stairs.name=Light Bricks Stairs +tile.brick_obsidian.name=Obsidian Bricks +tile.brick_obsidian_stairs.name=Obsidian Brick Stairs +tile.brick_slab.brick_asbestos.name=Asbestos Brick Slab +tile.brick_slab.brick_compound.name=Compound Mesh Slab +tile.brick_slab.brick_fire.name=Firebrick Slab +tile.brick_slab.brick_light.name=Light Brick Slab +tile.brick_slab.brick_obsidian.name=Obsidian Brick Slab +tile.brick_slab.reinforced_brick.name=Reinforced Stone Slab +tile.brick_slab.reinforced_stone.name=Dense Stone Slab +tile.broadcaster_pc.name=Corrupted Broadcaster +tile.burning_earth.name=Burning Grass +tile.c4.name=C-4 +tile.cable_detector.name=Redstone Power Switch +tile.cable_diode.name=Red Copper Diode +tile.cable_switch.name=Power Switch +tile.capacitor_bus.name=Capacitor Bus +tile.capacitor_bus.desc=Output block for capacitors$Can be chained up in a straight line +tile.capacitor_copper.name=Copper Capacitor +tile.capacitor_gold.name=Golden Capacitor +tile.capacitor_niobium.name=Niobium Capacitor +tile.capacitor_tantalium.name=Tantalium Capacitor +tile.capacitor.desc=Input: Top$Output: Bottom, via Capacitor Bus +tile.charge_c4.name=Demolition Charge +tile.charge_dynamite.name=Time Bomb +tile.charge_miner.name=Timed Mining Charge +tile.charge_semtex.name=Semtex Mining Charge +tile.charger.name=Charging Station +tile.cheater_virus.name=Gelid Euphemium +tile.cheater_virus_seed.name=Unstable Euphemium Schrabide Block +tile.chimney_brick.name=Smokestack +tile.chlorine_gas.name=Chlorine Gas +tile.cluster_aluminium.name=Aluminium Ore Cluster +tile.cluster_copper.name=Copper Ore Cluster +tile.cluster_depth_iron.name=Depth Iron Ore Cluster +tile.cluster_depth_titanium.name=Depth Titanium Ore Cluster +tile.cluster_depth_tungsten.name=Depth Tungsten Ore Cluster +tile.cluster_iron.name=Iron Ore Cluster +tile.cluster_titanium.name=Titanium Ore Cluster +tile.cmb_brick.name=CMB Steel Tile +tile.cmb_brick_reinforced.name=Reinforced CMB Bricks +tile.compact_launcher.name=Compact Launch Pad +tile.concrete.name=Concrete Tile +tile.concrete_asbestos.name=Asbestos Concrete +tile.concrete_asbestos_stairs.name=Asbestos Concrete Stairs +tile.concrete_brick_slab.brick_concrete.name=Concrete Brick Slab +tile.concrete_brick_slab.brick_concrete_broken.name=Broken Concrete Brick Slab +tile.concrete_brick_slab.brick_concrete_cracked.name=Cracked Concrete Brick Slab +tile.concrete_brick_slab.brick_concrete_mossy.name=Mossy Concrete Brick Slab +tile.concrete_brick_slab.brick_ducrete.name=Ducrete Brick Slab +tile.concrete_colored.black.name=Black Concrete +tile.concrete_colored.blue.name=Blue Concrete +tile.concrete_colored.brown.name=Brown Concrete +tile.concrete_colored.cyan.name=Cyan Concrete +tile.concrete_colored.gray.name=Gray Concrete +tile.concrete_colored.green.name=Green Concrete +tile.concrete_colored.lightBlue.name=Light Blue Concrete +tile.concrete_colored.lime.name=Lime Concrete +tile.concrete_colored.magenta.name=Magenta Concrete +tile.concrete_colored.orange.name=Orange Concrete +tile.concrete_colored.pink.name=Pink Concrete +tile.concrete_colored.purple.name=Purple Concrete +tile.concrete_colored.red.name=Red Concrete +tile.concrete_colored.silver.name=Light Gray Concrete +tile.concrete_colored.white.name=White Concrete +tile.concrete_colored.yellow.name=Yellow Concrete +tile.concrete_colored_ext.hazard.name=Builder's Choice Concrete - Hazard Stripe +tile.concrete_colored_ext.indigo.name=Builder's Choice Concrete - Deep Indigo +tile.concrete_colored_ext.machine.name=Builder's Choice Concrete - Industrial Tinge +tile.concrete_colored_ext.machine_stripe.name=Builder's Choice Concrete - Industrial Stripe +tile.concrete_colored_ext.pink.name=Builder's Choice Concrete - Manly Pink +tile.concrete_colored_ext.purple.name=Builder's Choice Concrete - Mysterious Purple +tile.concrete_pillar.name=Rebar Reinforced Concrete Pillar +tile.concrete_slab.concrete.name=Concrete Tile Slab +tile.concrete_slab.concrete_asbestos.name=Asbestos Concrete Slab +tile.concrete_slab.concrete_smooth.name=Concrete Slab +tile.concrete_slab.ducrete.name=Ducrete Tile Slab +tile.concrete_slab.ducrete_smooth.name=Ducrete Slab +tile.concrete_smooth.name=Concrete +tile.concrete_smooth_stairs.name=Concrete Stairs +tile.concrete_stairs.name=Concrete Tile Stairs +tile.concrete_super.name=Über Concrete +tile.concrete_super_broken.name=Moldy Debris +tile.conveyor.name=Conveyor Belt +tile.conveyor_chute.name=Conveyor Chute +tile.conveyor_double.name=Double-Lane Conveyor Belt +tile.conveyor_lift.name=Conveyor Chain Lift +tile.conveyor_triple.name=Triple-Lane Conveyor Belt +tile.corium_block.name=Corium +tile.crane_boxer.name=Conveyor Boxer +tile.crane_extractor.name=Conveyor Ejector +tile.crane_grabber.name=Conveyor Grabber +tile.crane_inserter.name=Conveyor Inserter +tile.crane_router.name=Conveyor Sorter +tile.crane_splitter.name=Conveyor Splitter +tile.crane_unboxer.name=Conveyor Unboxer +tile.crashed_bomb.name=Dud +tile.crate.name=Supply Crate +tile.crate_ammo.name=Starmetal Crate +tile.crate_can.name=Conserve Crate +tile.crate_desh.name=Desh Crate +tile.crate_iron.name=Iron Crate +tile.crate_jungle.name=Enargite Crate +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_tungsten.name=Tungsten Crate +tile.crate_weapon.name=Weapon Crate +tile.crystal_hardened.name=Hardened Dark Crystal +tile.crystal_pulsar.name=Pulsating Crystal +tile.crystal_virus.name=Dark Crystal +tile.deco_aluminium.name=Aluminium Deco Block +tile.deco_asbestos.name=Asbestos Roof +tile.deco_beryllium.name=Beryllium Deco Block +tile.deco_computer.ibm_300pl.name=IBM Personal Computer 300PL +tile.deco_emitter.name=Deco Light Emitter +tile.part_emitter.name=Deco Particle Emitter +tile.piston_inserter.name=Inserter +tile.deco_lead.name=Lead Deco Block +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 +tile.deco_pipe.name=Steel Pipe +tile.deco_pipe_rusted.name=Rusty Steel Pipe +tile.deco_pipe_green.name=Green Steel Pipe +tile.deco_pipe_green_rusted.name=Rusty Green Steel Pipe +tile.deco_pipe_red.name=Red Steel Pipe +tile.deco_pipe_marked.name=Gas Pipe +tile.deco_pipe_framed.name=Steel Pipe (Framed) +tile.deco_pipe_framed_rusted.name=Rusty Steel Pipe (Framed) +tile.deco_pipe_framed_green.name=Green Steel Pipe (Framed) +tile.deco_pipe_framed_green_rusted.name=Rusty Green Steel Pipe (Framed) +tile.deco_pipe_framed_red.name=Red Steel Pipe (Framed) +tile.deco_pipe_framed_marked.name=Gas Pipe (Framed) +tile.deco_pipe_quad.name=Steel Pipes +tile.deco_pipe_quad_rusted.name=Rusty Steel Pipes +tile.deco_pipe_quad_green.name=Green Steel Pipes +tile.deco_pipe_quad_green_rusted.name=Rusty Green Steel Pipes +tile.deco_pipe_quad_red.name=Red Steel Pipes +tile.deco_pipe_quad_marked.name=Gas Pipes +tile.deco_pipe_rim.name=Steel Pipe (Rimmed) +tile.deco_pipe_rim_rusted.name=Rusty Steel Pipe (Rimmed) +tile.deco_pipe_rim_green.name=Green Steel Pipe (Rimmed) +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_titanium.name=Titanium Deco Block +tile.deco_tungsten.name=Tungsten Deco Block +tile.decon.name=Player Decontaminator +tile.depth_brick.name=Depth Bricks +tile.depth_dnt.name=DNT-Reinforced Depth Bricks +tile.depth_nether_brick.name=Nether Depth Bricks +tile.depth_nether_tiles.name=Nether Depth Tiles +tile.depth_tiles.name=Depth Tiles +tile.det_charge.name=Explosive Charge +tile.det_cord.name=Det Cord +tile.det_miner.name=Mining Charge +tile.det_nuke.name=Nuclear Charge +tile.dfc_core.name=Dark Fusion Core +tile.dfc_emitter.name=DFC Emitter +tile.dfc_injector.name=DFC Fuel Injector +tile.dfc_receiver.name=DFC Receiver +tile.dfc_stabilizer.name=DFC Stabilizer +tile.dirt_dead.name=Dead Dirt +tile.dirt_oily.name=Oily Dirt +tile.drill_pipe.name=Drill Pipe +tile.door_bunker.name=Bunker Door +tile.door_metal.name=Metal Door +tile.door_office.name=Office Door +tile.ducrete.name=Ducrete Tile +tile.ducrete_stairs.name=Ducrete Tile Stairs +tile.ducrete_smooth.name=Ducrete +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.dynamite.name=Dynamite +tile.emp_bomb.name=EMP Device +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=Factory Block +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=Factory Block +tile.fallout.name=Fallout +tile.fan.name=Fan +tile.fence_metal.name=Chainlink Fence +tile.field_disturber.name=High Energy Field Jammer +tile.filing_cabinet.green.name=Dusty Filing Cabinet +tile.filing_cabinet.steel.name=Steel Filing Cabinet +tile.fire_digamma.name=Lingering Digamma +tile.fire_door.name=Fire Door +tile.fireworks.name=Firework Battery +tile.fireworks.charges=Charges Loaded: %s +tile.fireworks.message=Message: %s +tile.fireworks.color=Color: %s +tile.fissure_bomb.name=Fissure Bomb +tile.flame_war.name=Flame War in a Box +tile.float_bomb.name=Levitation Bomb +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_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_switch.name=Redstone Fluid Valve +tile.fluid_valve.name=Fluid Valve +tile.foam_layer.name=Foam layer +tile.foundry_basin.name=Foundry Basin +tile.foundry_channel.name=Foundry Channel +tile.foundry_tank.name=Foundry Storage Basin +tile.foundry_mold.name=Shallow Foundry Basin +tile.foundry_outlet.name=Foundry Outlet +tile.foundry_slagtap.name=Foundry Slag Outlet +tile.fraction_spacer.name=Fractioning Tower Separator +tile.frozen_dirt.name=Frozen Dirt +tile.frozen_grass.name=Frozen Grass +tile.frozen_log.name=Frozen Log +tile.frozen_planks.name=Frozen Planks +tile.furnace_combination.name=Combination Oven +tile.furnace_combination.desc=A large furnace that can produce charcoal and coal coke.$Produces fluid byproducts.$Heat transfer rate: ΔT*0.25 TU/t +tile.furnace_iron.name=Iron Furnace +tile.furnace_iron.desc=Larger and more efficient furnace,$does not waste fuel when idle. +tile.furnace_steel.name=Steel Furnace +tile.furnace_steel.desc=Very large furnace that can provide bonus items$when smelting ores. Requires external heat source.$Heat transfer rate: ΔT*0.05 TU/t$(Δ means difference and T means temperature) +tile.fusion_center.name=Central Magnet Piece +tile.fusion_conductor.name=Superconducting Magnet +tile.fusion_conductor_welded.name=Superconducting Magnet (Welded) +tile.fusion_core.name=Fusion Reactor Control +tile.fusion_hatch.name=Duct Deco Block +tile.fusion_heater.name=Plasma Heater Component +tile.fusion_motor.name=Magnet Motor Piece +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=Airborne Asbestos Particles +tile.gas_coal.name=Airborne Coal Dust +tile.gas_duct.name=Gas Pipe +tile.gas_duct_solid.name=Coated Gas Pipe +tile.gas_explosive.name=Explosive Gas +tile.gas_flammable.name=Flammable Gas +tile.gas_meltdown.name=Meltdown Gas +tile.gas_monoxide.name=Carbon Monoxide +tile.gas_radon.name=Radon Gas +tile.gas_radon_dense.name=Dense Radon Gas +tile.gas_radon_tomb.name=Tomb Gas +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_polonium.name=Polonium Glass +tile.glass_quartz.name=Quartz Glass +tile.glass_trinitite.name=Trinity Glass +tile.glass_uranium.name=Uranium Glass +tile.glyphid_base.name=Glyphid Hive Block +tile.glyphid_spawner.name=Glyphid Hive Spawner +tile.gneiss_brick.name=Schist Brick +tile.gneiss_chiseled.name=Chiseled Schist +tile.gneiss_tile.name=Schist Tile +tile.gravel_diamond.name=Diamond Gravel +tile.gravel_obsidian.name=Crushed Obsidian +tile.hadron_access.name=Particle Accelerator Access Terminal +tile.hadron_analysis.name=Particle Accelerator Analysis Chamber Wall +tile.hadron_analysis_glass.name=Particle Accelerator Analysis Chamber Window +tile.hadron_coil_alloy.name=Dense Superconducting Coil +tile.hadron_coil_chlorophyte.name=Dense Chlorophyte Coil +tile.hadron_coil_gold.name=Dense Gold Coil +tile.hadron_coil_magtung.name=Dense 4000K Superconductor Coil +tile.hadron_coil_mese.name=Dense Mese Coil +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_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=Electric Heater +tile.heater_electric.desc=Uses energy to produce heat.$Accepts heat from the bottom with 85%% efficiency.$Can be configured with a screwdriver. +tile.heater_firebox.name=Firebox +tile.heater_firebox.desc=Burns solid fuel to produce heat. +tile.heater_heatex.name=Heat Exchanging Heater +tile.heater_heatex.desc=Produces heat from hot fluids. +tile.heater_oilburner.name=Fluid Burner +tile.heater_oilburner.desc=Burns fluids to produce heat.$Can be configured with a screwdriver. +tile.heater_oven.name=Heating Oven +tile.heater_oven.desc=Burns solid fuel to produce heat.$Accepts heat from the bottom with 50%% efficiency. +tile.hev_battery.name=Suit Battery +tile.impact_dirt.name=Scorched Dirt +tile.iter.name=Fusion Reactor +tile.ladder_aluminium.name=Aluminium Ladder +tile.ladder_cobalt.name=Cobalt Ladder +tile.ladder_copper.name=Copper Ladder +tile.ladder_gold.name=Golden Ladder +tile.ladder_iron.name=Iron Ladder +tile.ladder_lead.name=Lead Ladder +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.lamp_demon.name=Demon Core Lamp +tile.lamp_tritium_blue_off.name=Blue Tritium Lamp +tile.lamp_tritium_blue_on.name=Blue Tritium Lamp +tile.lamp_tritium_green_off.name=Green Tritium Lamp +tile.lamp_tritium_green_on.name=Green Tritium Lamp +tile.launch_pad.name=Missile Launch Pad +tile.launch_table.name=Large Launch Pad +tile.leaves_layer.name=Fallen Leaves +tile.lox_barrel.name=LOX Barrel +tile.machine_amgen.name=Ambience Radiation Generator +tile.machine_arc_furnace_off.name=Arc Furnace +tile.machine_arc_furnace_on.name=Arc Furnace +tile.machine_armor_table.name=Armor Modification Table +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_bat9000.name=Big-Ass Tank 9000 +tile.machine_battery.name=Energy Storage Block +tile.machine_battery_potato.name=Potato Battery Block +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_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_chungus.name=Leviathan Steam Turbine +tile.machine_chungus.desc=Efficiency: 85%% +tile.machine_coal_off.name=Combustion Generator +tile.machine_coal_on.name=Combustion Generator +tile.machine_coker.name=Coker Unit +tile.machine_coker.desc=Cokes oil, creating fluid byproducts.$Requires external heat source.$Heat transfer rate: ΔT*0.025 TU/t +tile.machine_combine_factory.name=CMB Steel Furnace +tile.machine_combustion_engine.name=Industrial Combustion Engine +tile.machine_compressor.name=Compressor +tile.machine_condenser.name=Steam Condenser +tile.machine_controller.name=Reactor Remote Control Block +tile.machine_converter_he_rf.name=HE to RF Converter +tile.machine_converter_rf_he.name=RF to HE Converter +tile.machine_crucible.name=Crucible +tile.machine_crystallizer.name=Ore Acidizer +tile.machine_cyclotron.name=Cyclotron +tile.machine_detector.name=Power Detector +tile.machine_deuterium_extractor.name=Deuterium Extractor +tile.machine_deuterium_tower.name=Deuterium Extraction Tower +tile.machine_diesel.name=Diesel Generator +tile.machine_difurnace_extension.name=Blast Furnace Extension +tile.machine_difurnace_off.name=Blast Furnace +tile.machine_difurnace_on.name=Blast Furnace +tile.machine_difurnace_rtg_off.name=Nuclear Blast Furnace +tile.machine_difurnace_rtg_on.name=Nuclear Blast Furnace +tile.machine_dineutronium_battery.name=Spark Energy Storage Block +tile.machine_drill.name=Automatic Mining Drill +tile.machine_electric_furnace_off.name=Electric Furnace +tile.machine_electric_furnace_on.name=Electric Furnace +tile.machine_epress.name=Electric Press +tile.machine_excavator.name=Large Mining Drill +tile.machine_fel.name=FEL +tile.machine_fensu.name=FEnSU +tile.machine_flare.name=Flare Stack +tile.machine_fluidtank.name=Tank +tile.machine_forcefield.name=Forcefield Emitter +tile.machine_fraction_tower.name=Fractioning Tower +tile.machine_fracking_tower.name=Hydraulic Fracking Tower +tile.machine_gascent.name=Gas Centrifuge +tile.machine_generator.name=Nuclear Reactor (Old) +tile.machine_geo.name=Geothermal Electric Generator +tile.machine_hephaestus.name=Geothermal Heat Exchanger +tile.machine_industrial_generator.name=Industrial Generator +tile.machine_keyforge.name=Locksmith Table +tile.machine_large_turbine.name=Industrial Steam Turbine +tile.machine_large_turbine.desc=Efficiency: 100%% +tile.machine_liquefactor.name=Industrial Liquefaction Machine +tile.machine_liquefactor.desc=Powerful universal machine to turn items into fluids.$Comes with versatile catalytic components, heating elements$and a built-in hydrator for petrochemical liquefaction. +tile.machine_lithium_battery.name=Li-Ion Energy Storage Block +tile.machine_microwave.name=Microwave +tile.machine_mining_laser.name=Mining Laser +tile.machine_minirtg.name=Radio Isotope Cell +tile.machine_missile_assembly.name=Missile Assembly Station +tile.machine_mixer.name=Industrial Mixer +tile.machine_nuke_furnace_off.name=Nuclear Furnace +tile.machine_nuke_furnace_on.name=Nuclear Furnace +tile.machine_orbus.name=Heavy Magnetic Storage Tank +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_radar.name=Radar +tile.machine_radgen.name=Radiation-Powered Engine +tile.machine_radiolysis.name=Radioisotope Thermoelectric Generator and Radiolysis Chamber +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_rtg_blue.name=Convection Generator +tile.machine_rtg_cyan.name=Schrabidium Decay Generator (WIP) +tile.machine_rtg_furnace_off.name=RTG Furnace +tile.machine_rtg_furnace_on.name=RTG Furnace +tile.machine_rtg_green.name=Verticium Wealth Generator +tile.machine_rtg_grey.name=RT Generator +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=Satellite ID Manager +tile.machine_sawmill.name=Stirling Sawmill +tile.machine_sawmill.desc=Requires external heat source.$Heat transfer rate: T*0.1 TU/t$Min intake: 100 TU/t, Max intake: 300 TU/t +tile.machine_schrabidium_battery.name=Schrabidium Energy Storage Block +tile.machine_schrabidium_transmutator.name=Schrabidium Transmutation Device +tile.machine_selenium.name=Radial Performance Engine +tile.machine_shredder.name=Shredder +tile.machine_silex.name=Laser Isotope Separation Chamber (SILEX) +tile.machine_siren.name=Siren +tile.machine_solar_boiler.name=Solar Tower Boiler +tile.machine_solidifier.name=Industrial Solidification Machine +tile.machine_solidifier.desc=A universal machine fitted with cooling systems and other$versatile tools for turning fluids solid using various$processes such as freezing and petrochemical polymerization. +tile.machine_spp_bottom.name=ZPE Potential Generator (Bottom) +tile.machine_spp_top.name=ZPE Potential Generator (Top) +tile.machine_steam_engine.name=Steam Engine +tile.machine_steam_engine.desc=Efficiency: 85%% +tile.machine_stirling.name=Stirling Engine +tile.machine_stirling.desc=Turns heat into energy. Requires external heat source.$Heat transfer rate: T*0.1 TU/t$Max intake: 300 TU/t$Efficiency: 50%% +tile.machine_stirling_steel.name=Heavy Stirling Engine +tile.machine_stirling_steel.desc=Turns heat into energy. Requires external heat source.$Uses a much heavier gear to support higher temperatures.$Heat transfer rate: T*0.1 TU/t$Max intake: 1500 TU/t$Efficiency: 50%% +tile.machine_storage_drum.name=Nuclear Waste Disposal Drum +tile.machine_telelinker.name=Turret Telemetry Linker +tile.machine_teleporter.name=Teleporter +tile.machine_tower_large.name=Cooling Tower +tile.machine_tower_small.name=Auxiliary Cooling Tower +tile.machine_transformer.name=10k-20Hz Transformer +tile.machine_transformer_20.name=10k-1Hz Transformer +tile.machine_transformer_dnt.name=DNT-20Hz Transformer +tile.machine_transformer_dnt_20.name=DNT-1Hz Transformer +tile.machine_turbine.name=Steam Turbine +tile.machine_turbine.desc=Efficiency: 85%% +tile.machine_turbinegas.name=Combined Cycle Gas Turbine +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_well.name=Oil Derrick +tile.machine_zirnox.name=ZIRNOX Nuclear Reactor +tile.marker_structure.name=Multiblock Structure Marker +tile.mass_storage.name=Mass Storage Unit +tile.meteor_battery.name=Starmetal Static Electricity Generator +tile.meteor_brick.name=Meteor Bricks +tile.meteor_brick_chiseled.name=Chiseled Meteor Bricks +tile.meteor_brick_cracked.name=Cracked Meteor Bricks +tile.meteor_brick_mossy.name=Mossy Meteor Bricks +tile.meteor_pillar.name=Meteor Pillar +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_he.name=Anti-Tank Mine +tile.mine_shrap.name=Shrapnel Mine +tile.moon_turf.name=Moon Turf +tile.mud_block.name=Poisonous Mud +tile.muffler.name=Muffler +tile.mush.name=Glowing Mushroom +tile.ntm_dirt.name=Dirt +tile.nuke_boy.name=Little Boy +tile.nuke_custom.name=Custom Nuke +tile.nuke_fleija.name=F.L.E.I.J.A. +tile.nuke_fstbmb.name=Balefire Bomb +tile.nuke_gadget.name=The Gadget +tile.nuke_man.name=Fat Man +tile.nuke_mike.name=Ivy Mike +tile.nuke_n2.name=N² Mine +tile.nuke_n45.name=N45 Naval Mine +tile.nuke_prototype.name=The Prototype +tile.nuke_solinium.name=The Blue Rinse +tile.nuke_tsar.name=Tsar Bomba +tile.oil_duct.name=Oil Pipe +tile.oil_duct_solid.name=Coated Oil Pipe +tile.oil_pipe.name=Crude Oil Extraction Pipe +tile.ore_alexandrite.name=Alexandrite Ore +tile.ore_aluminium.name=Aluminium Ore +tile.ore_asbestos.name=Asbestos Ore +tile.ore_australium.name=Australian Ore +tile.ore_bedrock.name=Bedrock Ore +tile.ore_bedrock_coltan.name=Bedrock Coltan Ore +tile.ore_bedrock_oil.name=Bedrock Oil Deposit +tile.ore_beryllium.name=Beryllium Ore +tile.ore_cinnebar.name=Cinnabar Ore +tile.ore_coal_oil.name=Oily Coal Ore +tile.ore_coal_oil_burning.name=Burning Oily Coal Ore +tile.ore_cobalt.name=Cobalt Ore +tile.ore_coltan.name=Coltan Ore +tile.ore_copper.name=Copper Ore +tile.ore_daffergon.name=Dellite +tile.ore_depth_borax.name=Depth Borax Ore +tile.ore_depth_cinnebar.name=Depth Cinnabar Ore +tile.ore_depth_nether_neodymium.name=Nether Depth Neodymium Ore +tile.ore_depth_zirconium.name=Depth Zirconium Ore +tile.ore_fluorite.name=Fluorite Ore +tile.ore_gneiss_asbestos.name=Schist Asbestos Ore +tile.ore_gneiss_copper.name=Schist Copper Ore +tile.ore_gneiss_gas.name=Gas Shale +tile.ore_gneiss_gold.name=Schist Gold Ore +tile.ore_gneiss_iron.name=Schist Iron Ore +tile.ore_gneiss_lithium.name=Schist Lithium Ore +tile.ore_gneiss_rare.name=Schist Rare Earth Ore +tile.ore_gneiss_schrabidium.name=Schist Schrabidium Ore +tile.ore_gneiss_uranium.name=Schist Uranium Ore +tile.ore_gneiss_uranium_scorched.name=Scorched Schist Uranium Ore +tile.ore_lead.name=Lead Ore +tile.ore_lignite.name=Lignite Ore +tile.ore_meteor_aluminium.name=Meteor Aluminium Ore +tile.ore_meteor_copper.name=Meteor Copper Ore +tile.ore_meteor_lead.name=Meteor Lead Ore +tile.ore_meteor_lithium.name=Meteor Lithium Ore +tile.ore_meteor_starmetal.name=Starmetal Ore +tile.ore_meteor_sulfur.name=Meteor Sulfur Ore +tile.ore_meteor_thorium.name=Meteor Thorium Ore +tile.ore_meteor_titanium.name=Meteor Titanium Ore +tile.ore_meteor_tungsten.name=Meteor Tungsten Ore +tile.ore_meteor_uranium.name=Meteor Uranium Ore +tile.ore_nether_coal.name=Burning Nether Coal Ore +tile.ore_nether_cobalt.name=Nether Cobalt Ore +tile.ore_nether_fire.name=Nether Phosphorus Ore +tile.ore_nether_plutonium.name=Nether Plutonium Ore +tile.ore_nether_schrabidium.name=Nether Schrabidium Ore +tile.ore_nether_smoldering.name=Smoldering Netherrack +tile.ore_nether_sulfur.name=Nether Sulfur Ore +tile.ore_nether_tungsten.name=Nether Tungsten Ore +tile.ore_nether_uranium.name=Nether Uranium Ore +tile.ore_nether_uranium_scorched.name=Scorched Nether Uranium Ore +tile.ore_niter.name=Niter Ore +tile.ore_oil.name=Oil Deposit +tile.ore_oil_empty.name=Empty Oil Deposit +tile.ore_oil_sand.name=Tar Sand +tile.ore_random.name=%s Ore +tile.ore_rare.name=Rare Earth Ore +tile.ore_reiium.name=Reiite +tile.ore_schrabidium.name=Schrabidium Ore +tile.ore_sulfur.name=Sulfur Ore +tile.ore_tektite_osmiridium.name=Osmiridium-Infused Tektite +tile.ore_thorium.name=Thorium Ore +tile.ore_tikite.name=Trixite +tile.ore_titanium.name=Titanium Ore +tile.ore_tungsten.name=Tungsten Ore +tile.ore_unobtainium.name=Brightblende Ore +tile.ore_uranium.name=Uranium Ore +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.pink_barrel.name=Kerosene Barrel +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.plant_dead.name=Dead Plant +tile.plant_flower.cd0.name=Mustard Willow +tile.plant_flower.cd1.name=Mustard Willow +tile.plant_flower.foxglove.name=Foxglove +tile.plant_flower.nightshade.name=Deadly Nightshade +tile.plant_flower.tobacco.name=Tobacco Plant +tile.plant_flower.weed.name=Hemp +tile.plant_reeds.name=Reeds +tile.plant_tall.cd2.name=Mustard Willow +tile.plant_tall.cd3.name=Mustard Willow +tile.plant_tall.cd4.name=Mustard Willow (Mature) +tile.plant_tall.weed.name=Hemp +tile.plasma.name=Plasma +tile.plasma_heater.name=Plasma Heater +tile.pole_satellite_receiver.name=Satellite Dish +tile.pole_top.name=Antenna Top +tile.press_preheater.name=Burner Press Preheater +tile.pribris.name=RBMK Debris +tile.pribris_burning.name=Flaming RBMK Debris +tile.pribris_digamma.name=Blackened RBMK Debris +tile.pribris_radiating.name=Smoldering RBMK Debris +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 +tile.radio_torch_sender.desc=Placable on flat surfaces or comparator-compatible blocks$Reads redstone signals or comparator input +tile.radiobox.name=Rosenberg Pest Control Box +tile.radiorec.name=FM Radio +tile.rail_booster.name=High Speed Booster Rail +tile.rail_highspeed.name=High Speed Rail +tile.rail_narrow.name=Narrow Gauge Cart Rail +tile.rail_wood.name=Wooden Tracks +tile.rbmk_absorber.name=RBMK Boron Neutron Absorber +tile.rbmk_blank.name=RBMK Structural Column +tile.rbmk_boiler.name=RBMK Steam Channel +tile.rbmk_console.name=RBMK Console +tile.rbmk_cooler.name=RBMK Cooler +tile.rbmk_control.name=RBMK Control Rods +tile.rbmk_control_auto.name=RBMK Automatic Control Rods +tile.rbmk_control_mod.name=RBMK Moderated Control Rods +tile.rbmk_crane_console.name=RBMK Crane Console +tile.rbmk_heater.name=RBMK Fluid Heater +tile.rbmk_heatex.name=RBMK Heat Exchanger +tile.rbmk_loader.name=RBMK Steam Connector +tile.rbmk_moderator.name=RBMK Graphite Moderator +tile.rbmk_outgasser.name=RBMK Irradiation Channel +tile.rbmk_reflector.name=RBMK Tungsten Carbide Neutron Reflector +tile.rbmk_rod.name=RBMK Fuel Rod +tile.rbmk_rod_mod.name=RBMK Moderated Fuel Rod +tile.rbmk_rod_reasim.name=RBMK Fuel Rod (ReaSim) +tile.rbmk_rod_reasim_mod.name=RBMK Moderated Fuel Rod (ReaSim) +tile.rbmk_steam_inlet.name=RBMK ReaSim Water Inlet +tile.rbmk_steam_outlet.name=RBMK ReaSim Steam Outlet +tile.rbmk_storage.name=RBMK Storage Column +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=Explosive Barrel +tile.red_cable.name=Red Copper Cable +tile.red_cable_classic.name=Red Copper Cable (Classic) +tile.red_cable_paintable.name=Paintable Red Copper Cable +tile.red_connector.name=Electricity Connector +tile.red_pylon.name=Electricity Pole +tile.red_pylon_large.name=Large Electricity Pylon +tile.red_wire_coated.name=Coated Red Copper Cable +tile.reinforced_brick.name=Reinforced Stone +tile.reinforced_brick_stairs.name=Reinforced Stone Stairs +tile.reinforced_ducrete.name=Reinforced Ducrete +tile.reinforced_glass.name=Reinforced Glass +tile.reinforced_glass_pane.name=Reinforced Glass Pane +tile.reinforced_lamp_off.name=Reinforced Lamp +tile.reinforced_lamp_on.name=Reinforced Lamp +tile.reinforced_light.name=Reinforced Glowstone +tile.reinforced_sand.name=Reinforced Sandstone +tile.reinforced_stone.name=Dense Stone +tile.reinforced_stone_stairs.name=Dense Stone Stairs +tile.reinforced_laminate.name=Reinforced Laminate +tile.reinforced_laminate_pane.name=Reinforced Laminate Pane +tile.rejuvinator.name=Rejuvination Device +tile.residue.name=Cloud Residue +tile.safe.name=Safe +tile.sand_boron.name=Boron Sand +tile.sand_boron_layer.name=Boron Sand Layer +tile.sand_dirty.name=Oily Sand +tile.sand_dirty_red.name=Red Oily Sand +tile.sand_gold.name=Gold Sand +tile.sand_gold198.name=Gold-198 Sand +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.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) +tile.sat_mapper.name=Surface Mapping Satellite (Deco Block) +tile.sat_radar.name=Radar Survey Satellite (Deco Block) +tile.sat_resonator.name=Xenium Resonator Satellite (Deco Block) +tile.sat_scanner.name=Satellite with Depth-Resource Scanning Module (Deco Block) +tile.schrabidic_block.name=Schrabidic Acid +tile.seal_controller.name=Silo Hatch Opener +tile.seal_frame.name=Silo Hatch Frame +tile.seal_hatch.name=Silo Hatch +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.5.name=Sellafite-Corium +tile.sellafield_slaked.name=Slaked Sellafite +tile.semtex.name=Semtex +tile.sliding_blast_door.name=Sliding Blast Door +tile.solar_mirror.name=Heliostat Mirror +tile.soyuz_capsule.name=Cargo Landing Capsule +tile.soyuz_launcher.name=Soyuz Launch Platform +tile.spikes.name=Spikes +tile.stalactite.asbestos.name=Asbestos Stalactite +tile.stalactite.sulfur.name=Sulfurous Stalactite +tile.stalagmite.asbestos.name=Asbestos Stalagmite +tile.stalagmite.sulfur.name=Sulfurous Stalagmite +tile.steel_beam.name=Steel Beam +tile.steel_corner.name=Steel Wall Corner +tile.steel_grate.name=Steel Grate +tile.steel_grate_wide.name=Item Grate +tile.steel_grate_wide.desc=Lets dropped items and XP fall through +tile.steel_poles.name=Steel Pole +tile.steel_roof.name=Flat Steel Roof +tile.steel_scaffold.name=Steel Scaffold +tile.steel_wall.name=Steel Wall +tile.stone_cracked.name=Cracked Stone +tile.stone_depth.name=Depth Rock +tile.stone_depth_nether.name=Nether Depth Rock +tile.stone_gneiss.name=Graphitic Schist +tile.stone_porous.name=Porous Stone +tile.stone_resource.asbestos.name=Chrysotile +tile.stone_resource.bauxite.name=Bauxite +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.struct_iter_core.name=Fusion Reactor Core Component +tile.struct_launcher.name=Launch Pad Component Block +tile.struct_launcher_core.name=Compact Launcher Core Component +tile.struct_launcher_core_large.name=Launch Table Core Component +tile.struct_plasma_core.name=Plasma Heater Core Component +tile.struct_scaffold.name=Launch Pad Scaffold Block +tile.struct_soyuz_core.name=Soyuz Launcher Core Component +tile.struct_watz_core.name=Watz Powerplant Core Component +tile.substation.name=Substation +tile.sulfuric_acid_block.name=Sulfuric Acid +tile.taint.name=Taint +tile.taint_barrel.name=IMP Residue Barrel +tile.tape_recorder.name=Tape Recorder +tile.tektite.name=Tektite +tile.teleanchor.name=Teleportation Anchor +tile.tesla.name=Tesla Coil +tile.test_nuke.name=Test Nuke +tile.therm_endo.name=Endothermic Bomb +tile.therm_exo.name=Exothermic Bomb +tile.tile_lab.name=Laboratory Tiles +tile.tile_lab_broken.name=Broken Laboratory Tiles +tile.tile_lab_cracked.name=Cracked Laboratory Tiles +tile.tnt_ntm.name=Actual TNT +tile.toxic_block.name=Stereotypical Green Ooze +tile.transition_seal.name=Transition Seal +tile.turret_arty.name=Artillery Turret "Greg" +tile.turret_cheapo.name=Cheapo Gatling Sentry +tile.turret_chekhov.name=Heavy Machine Gun Turret "Chekhov's Gun" +tile.turret_cwis.name=Phalanx Mk-15 CIWS +tile.turret_flamer.name=Flamethrower Turret +tile.turret_friendly.name=Chaingun Turret "Mister Friendly" +tile.turret_fritz.name=Heavy Flamethrower Turret "Fritz" +tile.turret_heavy.name=Heavy Machine Gun Turret +tile.turret_himars.name=Rocket Artillery Turret "Henry" +tile.turret_howard.name=Goalkeeper Twin Chaingun CIWS "Howard" +tile.turret_howard_damaged.name=Goalkeeper Twin Chaingun CIWS "Methusalem" +tile.turret_jeremy.name=Autocannon Turret "Jeremy" +tile.turret_light.name=Light Machine Gun Turret +tile.turret_maxwell.name=High-Energy MASER Turret "Maxwell" +tile.turret_rocket.name=Rocket Turret +tile.turret_richard.name=Rocket Launcher Turret "Richard" +tile.turret_spitfire.name=Turret I have no name for right now [WIP] +tile.turret_sentry.name=Sentry Turret "Brown" +tile.turret_tau.name=Tauon Turret +tile.turret_tauon.name=XVL1456 Prototype Turret "Tauon" +tile.vacuum.name=Vacuum +tile.vault_door.name=Vault-Tec Blast Door +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.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.waste_earth.name=Dead Grass +tile.waste_leaves.name=Dead Leaves +tile.waste_log.name=Charred Log +tile.waste_mycelium.name=Glowing Mycelium +tile.waste_planks.name=Charred Wooden Planks +tile.waste_trinitite.name=Trinitite Ore +tile.waste_trinitite_red.name=Red Trinitite Ore +tile.watz.name=Watz Powerplant +tile.watz_conductor.name=Watz Electricity Port +tile.watz_control.name=Reinforced Control Rods +tile.watz_cooler.name=Watz Reactor Supercooler +tile.watz_core.name=Watz Reactor Control +tile.watz_element.name=Watz Reaction Chamber +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.yellow_barrel.name=Radioactive Barrel +tile.zirnox_destroyed.name=Destroyed ZINROX + +trait.asbestos=Asbestos +trait.blinding=Blinding +trait.coal=Pył Węglowy +trait.digamma=Digamma Radiation +trait.drop=Dangerous Drop +trait.explosive=Flammable / Explosive +trait.furnace=Worth %s operations in nuclear furnace +trait.heat=Provides %s HEAT +trait.hlParticle=Particle Half-Life: %s +trait.hlPlayer=Player Half-Life: %s +trait.hot=Pyrophoric / Hot +trait.hydro=Hydroreaktywne +trait.radioactive=Radioaktywne +trait.radResistance=Radiation resistance: %s + +trait.rbmk.coreTemp=Temperatura jądra: %s +trait.rbmk.depletion=Zużycie: %s +trait.rbmk.diffusion=Diffusion: %s +trait.rbmk.fluxFunc=Flux function: %s +trait.rbmk.funcType=Function type: %s +trait.rbmk.heat=Heat per flux: %s +trait.rbmk.melt=Melting point: %s +trait.rbmk.neutron.any=All Neutrons +trait.rbmk.neutron.fast=Fast Neutrons +trait.rbmk.neutron.slow=Slow Neutrons +trait.rbmk.skinTemp=Skin temp: %s +trait.rbmk.source=Self-igniting +trait.rbmk.splitsInto=Splits into: %s +trait.rbmk.splitsWith=Splits with: %s +trait.rbmk.xenon=Zatrucie Ksenonem: %s +trait.rbmk.xenonBurn=Xenon burn function: %s +trait.rbmk.xenonGen=Xenon gen function: %s + +trait.rbmx.coreTemp=Entropia jądra: %s +trait.rbmx.depletion=Chrupkość: %s +trait.rbmx.diffusion=Przepływ: %s +trait.rbmx.fluxFunc=Funkcja zagłady: %s +trait.rbmx.funcType=Function specification: %s +trait.rbmx.heat=Crust per tick at full power: %s +trait.rbmx.melt=Głębokość zgniecenia: %s +trait.rbmk.neutron.any.x=All non-euclidean shapes +trait.rbmk.neutron.fast.x=Elliptic non-euclidean shapes +trait.rbmk.neutron.slow.x=Hyperbolic non-euclidean shapes +trait.rbmx.skinTemp=Skin entropy: %s +trait.rbmx.source=Self-combusting +trait.rbmx.splitsInto=Departs to: %s +trait.rbmx.splitsWith=Arrives from: %s +trait.rbmx.xenon=Lead poison: %s +trait.rbmx.xenonBurn=Lead destruction function: %s +trait.rbmx.xenonGen=Lead creation function: %s + +trait.tile.cluster=Drops only when broken by a player +trait.tile.depth=Can only be destroyed by explosions + +tool.ability.centrifuge=Auto-Centrifuge +tool.ability.crystallizer=Auto-Crystallizer +tool.ability.explosion=Explosion +tool.ability.hammer=AoE +tool.ability.luck=Szczęście +tool.ability.mercury=Mercury Touch +tool.ability.midas=Midas Touch +tool.ability.recursion=Vein Miner +tool.ability.shredder=Auto-Shredder +tool.ability.silktouch=Silk Touch +tool.ability.smelter=Auto-Smelter + +turret.animals=Target Passive: %s +turret.arty.artillery=§eArtillery Mode$Grace: 250m$Range: 3,000m +turret.arty.cannon=§eCannon Mode$Grace: 32m$Range: 250m +turret.arty.manual=§eManual Mode$Range: 3,000m +turret.machines=Target Machines: %s +turret.mobs=Target Mobs: %s +turret.none=None +turret.off=OFF +turret.on=ON +turret.players=Target Players: %s + +wavelengths.name.ir=Podczerwień +wavelengths.name.visible=Visible Light +wavelengths.name.uv=Ultrafiolet +wavelengths.name.gamma=Gamma +wavelengths.name.drx=Digamma +wavelengths.waveRange.ir=780nm-1mm +wavelengths.waveRange.visible=400nm-780nm +wavelengths.waveRange.uv=100nm-400nm +wavelengths.waveRange.gamma=<100pm +wavelengths.waveRange.drx=1916169 planck lengths + +weapon.ability.beheader=Dekapitator +weapon.ability.bobble=Luck of the Collector +# Should rhyme with the translation for "chainsaw" +weapon.ability.chainsaw=Piła Bólu +weapon.ability.fire=Flaming +weapon.ability.radiation=Radioactive Blade +weapon.ability.phosphorus=Phosphorus Tip +weapon.ability.stun=Stunning +weapon.ability.vampire=Vampire +weapon.elecGun.modeChange=Firing Mode Changed to: +weapon.elecGun.glass_cannon.radio=Radio Waves +weapon.elecGun.glass_cannon.micro=Microwaves +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 From 925236e538ab38d925f638dad1e53f89423b086a Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 9 Jul 2023 17:28:11 +0200 Subject: [PATCH 249/285] iboiler texture, coilgun, bunch of fixes, recipes --- changelog | 22 +- gradle.properties | 2 +- src/main/java/com/hbm/blocks/ModBlocks.java | 2 +- .../com/hbm/blocks/generic/BlockBobble.java | 45 +- .../machine/MachineHeatBoilerIndustrial.java | 10 +- .../com/hbm/blocks/network/FluidSwitch.java | 47 +- .../com/hbm/blocks/network/FluidValve.java | 42 +- .../java/com/hbm/crafting/WeaponRecipes.java | 3 + .../com/hbm/entity/mob/EntityGlyphid.java | 2 +- .../entity/projectile/EntityBulletBase.java | 12 +- .../hbm/handler/BulletConfigSyncingUtil.java | 2 + .../hbm/handler/guncfg/Gun12GaugeFactory.java | 4 +- .../hbm/handler/guncfg/GunEnergyFactory.java | 53 + .../com/hbm/inventory/OreDictManager.java | 2 +- .../inventory/recipes/AssemblerRecipes.java | 2 +- .../inventory/recipes/CompressorRecipes.java | 1 + .../inventory/recipes/anvil/AnvilRecipes.java | 7 + src/main/java/com/hbm/items/ModItems.java | 6 + .../com/hbm/items/weapon/ItemAmmoHIMARS.java | 6 +- .../com/hbm/items/weapon/ItemCoilgun.java | 41 + .../com/hbm/items/weapon/ItemGrenadeKyiv.java | 7 +- src/main/java/com/hbm/lib/HbmCollection.java | 2 + src/main/java/com/hbm/lib/RefStrings.java | 2 +- src/main/java/com/hbm/main/ClientProxy.java | 5 + .../java/com/hbm/main/CraftingManager.java | 6 +- .../java/com/hbm/main/ResourceManager.java | 4 +- .../render/item/weapon/ItemRenderBenelli.java | 8 +- .../item/weapon/ItemRenderWeaponCoilgun.java | 100 + .../hbm/render/tileentity/RenderBobble.java | 15 +- .../tileentity/RenderIndustrialBoiler.java | 4 +- .../java/com/hbm/tileentity/TileMappings.java | 1 + .../tileentity/machine/TileEntityHadron.java | 10 +- .../machine/TileEntityMachineCoal.java | 2 + src/main/resources/assets/hbm/lang/de_DE.lang | 8 +- src/main/resources/assets/hbm/lang/en_US.lang | 12 +- .../assets/hbm/models/trinkets/bobble.obj | 1804 +- .../assets/hbm/models/weapons/benelli_new.obj | 5777 +++--- .../assets/hbm/models/weapons/coilgun.obj | 14767 +++++++++------- src/main/resources/assets/hbm/sounds.json | 2 + .../hbm/sounds/weapon/coilgunReload.ogg | Bin 0 -> 15803 bytes .../assets/hbm/sounds/weapon/coilgunShoot.ogg | Bin 0 -> 22284 bytes .../hbm/textures/items/gun_coilgun_ammo.png | Bin 0 -> 253 bytes .../models/machines/industrial_boiler.png | Bin 1755 -> 2677 bytes .../hbm/textures/models/weapons/coilgun.png | Bin 0 -> 26194 bytes 44 files changed, 12645 insertions(+), 10202 deletions(-) create mode 100644 src/main/java/com/hbm/items/weapon/ItemCoilgun.java create mode 100644 src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCoilgun.java create mode 100644 src/main/resources/assets/hbm/sounds/weapon/coilgunReload.ogg create mode 100644 src/main/resources/assets/hbm/sounds/weapon/coilgunShoot.ogg create mode 100644 src/main/resources/assets/hbm/textures/items/gun_coilgun_ammo.png create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/coilgun.png diff --git a/changelog b/changelog index 13b15e13d..241b94655 100644 --- a/changelog +++ b/changelog @@ -2,11 +2,14 @@ * Industrial boiler * A slightly taller variant of the boiler with higher capacity * Unlike the regular boiler, it can't explode + * This is ideal for applications where closed cycles are not possible, like crude oil refineries, as the machines after the boiler are usually the bottleneck, causing the boiler to run full * Redstone-over-radio counter * Can count and send the amount of an item stored in a container * Counting supports filters by item ID, ID+meta and ore dictionary names * Each torch can count up to three items and output the results on different channels * This allows for more precise control over things like assembler chests, like turning off the ejector for an item that is already full but not other ejectors + * This process works fine with the chemical plant, chemical factory and the assembly factory. The small assembler currently still uses older code which doesn't limit the amount of items pulled, so fully preventing clogs is not possible as of now. + * Expect a fix next week * This property makes automating things with multiple inputs a lot easier * Due to the ore dictionary ability of the counter, buffered items can precisely match the requirements of the recipe * Particle collider cooling unit @@ -14,22 +17,35 @@ * Will increment a new "cooling" value which depletes over time and makes coils more effective * Overcooling causes a penalty, so coolers cannot be spammed and need to be carefully spaced out * Allows for even more compact particle accelerator setups - * Comes in two tiers, both tiers use a different cooling variable with different effectiveness, the higher tier will override the lower tier if both tiers of coolers are present + * Comes in two tiers + * The first tier has a flat bonus if the particle is cooled, with a penalty after the overcooling threshold has been crossed + * The second tier has a cooling function that peaks at a certain point and slowly decreases below 1 if overcooled, requiring more precise placement to get the full efficiency * Benelli M4 * Automatic 12 gauge shotgun with a drum mag +* Coilgun + * A single-shot gauss pistol that fires tungsten balls + * Shots penetrate blocks ## Changed * The regular boiler now only holds 16k instead of 64k (which is still a lot) * Added labels to the large mining drill's levers * Glyphid eggs can now be broken apart using an anvil, yielding glyphid meat, bones and experience bottles * The assembler now uses the new multiblock system, making it less annoying to playe and less ear-piercing to break - * The conversion happens automatically so it's not necessary to remove the assemblers beforehand + * The conversion happens automatically so it's not necessary to remove the assemblers + * While this process has been tested, it's still good practice to make a backup of your world beforehand * Reload canceling is no longer possible if no rounds have been loaded yet, preventing single round weapons like dart guns to be reload canceled * The saturnite rifle now has a functional scope * Rechambered the bolt action rifles to 7.62mm, with a mag of 5 rounds +* The compressor can now turn 4,000mB of petroleum into 2,000mB of LPG +* The lunatic marksman now has a crafting recipe +* Glyphid armor no longer absorbs all incoming damage when breaking off, instead 25% of the damage will bleed through, making it possible to oneshot them with powerful enough weapons ## Fixed * Fixed quantity of the fusion reactor's construction recipe not being displayed right -* Fixed fluid valve and redstone fluid valves having the wrong names +* Fixed fluid valve and redstone fluid valves having the wrong behaviors, being effectively switched * Fixed mobs' max health getting buffed by pollution, but the actual health staying the same * Fixed bug regarding the loot pools of satellite miners +* Fixed rocket artillery creating the wrong type of slag +* Fixed fluid valves not being able to have a fluid assigned by clicking directly on them +* Fixed the kyiv special not actually exploding +* Fixed combuston generator not properly syncing the burntime diff --git a/gradle.properties b/gradle.properties index e58957a96..c54eba9d6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4648 +mod_build_number=4655 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 915dd8b07..45c16a9e1 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1811,7 +1811,7 @@ public class ModBlocks { machine_sawmill = new MachineSawmill().setBlockName("machine_sawmill").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":block_steel"); 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_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"); diff --git a/src/main/java/com/hbm/blocks/generic/BlockBobble.java b/src/main/java/com/hbm/blocks/generic/BlockBobble.java index 0757002f9..66e1c5bc9 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockBobble.java +++ b/src/main/java/com/hbm/blocks/generic/BlockBobble.java @@ -170,28 +170,29 @@ public class BlockBobble extends BlockContainer implements IGUIProvider { 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), - ENDURANCE( "Endurance", "Endurance", null, "Always be ready to take one for the team.", false, ScrapType.BRIDGE_SOUTH), - CHARISMA( "Charisma", "Charisma", null, "Nothing says pizzaz like a winning smile.", false, ScrapType.BRIDGE_IO), - 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), - 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), - DOC( "The Doctor", "Doctor17PH", "Russian localization, lunar miner", "Perhaps the moon rocks were too expensive", true, ScrapType.CPU_CACHE), - BLUEHAT( "The Blue Hat", "The Blue Hat", "Textures", "payday 2's deagle freeaim champ of the year 2022", true, ScrapType.MEM_16K_A), - PHEO( "Pheo", "Pheonix", "Deuterium machines, tantalium textures, Reliant Rocket", "RUN TO THE BEDROOM, ON THE SUITCASE ON THE LEFT,$YOU'LL FIND MY FAVORITE AXE", true, ScrapType.MEM_16K_B), - ADAM29( "Adam29", "Adam29", "Ethanol, liquid petroleum gas", "You know, nukes are really quite beatiful.$It's like watching a star be born for a split second.", true, ScrapType.MEM_16K_C), - UFFR( "UFFR", "UFFR", "All sorts of things from his PR", "fried shrimp", false, ScrapType.MEM_SOCKET), - VAER( "vaer", "vaer", "ZIRNOX", "taken de family out to the weekend cigarette festival", true, ScrapType.MEM_16K_D), - 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", "adding OC compat", "they call me the food heater", true, ScrapType.BRIDGE_BIOS); + 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), + ENDURANCE( "Endurance", "Endurance", null, "Always be ready to take one for the team.", false, ScrapType.BRIDGE_SOUTH), + CHARISMA( "Charisma", "Charisma", null, "Nothing says pizzaz like a winning smile.", false, ScrapType.BRIDGE_IO), + 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), + 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), + DOC( "The Doctor", "Doctor17PH", "Russian localization, lunar miner", "Perhaps the moon rocks were too expensive", true, ScrapType.CPU_CACHE), + BLUEHAT( "The Blue Hat", "The Blue Hat", "Textures", "payday 2's deagle freeaim champ of the year 2022", true, ScrapType.MEM_16K_A), + PHEO( "Pheo", "Pheonix", "Deuterium machines, tantalium textures, Reliant Rocket", "RUN TO THE BEDROOM, ON THE SUITCASE ON THE LEFT,$YOU'LL FIND MY FAVORITE AXE", true, ScrapType.MEM_16K_B), + ADAM29( "Adam29", "Adam29", "Ethanol, liquid petroleum gas", "You know, nukes are really quite beatiful.$It's like watching a star be born for a split second.", true, ScrapType.MEM_16K_C), + UFFR( "UFFR", "UFFR", "All sorts of things from his PR", "fried shrimp", false, ScrapType.MEM_SOCKET), + VAER( "vaer", "vaer", "ZIRNOX", "taken de family out to the weekend cigarette festival", true, ScrapType.MEM_16K_D), + 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 compat", "they call me the food heater", true, ScrapType.BRIDGE_BIOS), + PEEP( "Peep", "LePeeperSauvage", "Coilgun model", "Fluffy ears can't hide in ash, nor snow.", true, ScrapType.CPU_CLOCK); public String name; //the title of the tooltip public String label; //the name engraved in the socket diff --git a/src/main/java/com/hbm/blocks/machine/MachineHeatBoilerIndustrial.java b/src/main/java/com/hbm/blocks/machine/MachineHeatBoilerIndustrial.java index 5b957ba0d..00b06f50d 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineHeatBoilerIndustrial.java +++ b/src/main/java/com/hbm/blocks/machine/MachineHeatBoilerIndustrial.java @@ -89,11 +89,11 @@ public class MachineHeatBoilerIndustrial extends BlockDummyable implements ILook 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 + 1, y, z + dir.offsetZ); - this.makeExtra(world, x + dir.offsetX - 1, y, z + dir.offsetZ); - this.makeExtra(world, x + dir.offsetX, y, z + dir.offsetZ + 1); - this.makeExtra(world, x + dir.offsetX, y, z + dir.offsetZ - 1); - this.makeExtra(world, x + dir.offsetX, y + 4, z + dir.offsetZ); + this.makeExtra(world, x - dir.offsetX + 1, y, z - dir.offsetZ); + this.makeExtra(world, x - dir.offsetX - 1, y, z - dir.offsetZ); + this.makeExtra(world, x - dir.offsetX, y, z - dir.offsetZ + 1); + this.makeExtra(world, x - dir.offsetX, y, z - dir.offsetZ - 1); + this.makeExtra(world, x - dir.offsetX, y + 4, z - dir.offsetZ); } @Override diff --git a/src/main/java/com/hbm/blocks/network/FluidSwitch.java b/src/main/java/com/hbm/blocks/network/FluidSwitch.java index aa7c2d1ca..c564286c0 100644 --- a/src/main/java/com/hbm/blocks/network/FluidSwitch.java +++ b/src/main/java/com/hbm/blocks/network/FluidSwitch.java @@ -10,9 +10,9 @@ import com.hbm.util.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.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; @@ -30,8 +30,8 @@ public class FluidSwitch extends FluidDuctBase implements ILookOverlay { @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"); + this.iconOn = iconRegister.registerIcon(RefStrings.MODID + ":fluid_switch_on"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fluid_switch_off"); } @Override @@ -44,29 +44,30 @@ public class FluidSwitch 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; - } else if(!player.isSneaking()) - { - int meta = world.getBlockMetadata(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); - } else { - world.setBlockMetadataWithNotify(x, y, z, 0, 2); - world.playSoundEffect(x, y, z, "hbm:block.reactorStart", 1.0F, 0.85F); - } - + 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); + update = true; + } + + if(update) { TileEntityFluidValve te = (TileEntityFluidValve) world.getTileEntity(x, y, z); te.updateState(); - - return true; - } else { - return false; } } diff --git a/src/main/java/com/hbm/blocks/network/FluidValve.java b/src/main/java/com/hbm/blocks/network/FluidValve.java index 8482ebb14..be6c879e5 100644 --- a/src/main/java/com/hbm/blocks/network/FluidValve.java +++ b/src/main/java/com/hbm/blocks/network/FluidValve.java @@ -10,9 +10,9 @@ import com.hbm.util.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.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.world.World; @@ -30,8 +30,8 @@ public class FluidValve extends FluidDuctBase implements ILookOverlay { @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"); + this.iconOn = iconRegister.registerIcon(RefStrings.MODID + ":fluid_valve_on"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":fluid_valve_off"); } @Override @@ -44,30 +44,30 @@ public class FluidValve extends FluidDuctBase implements ILookOverlay { public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { return new TileEntityFluidValve(); } - + @Override - public void onNeighborBlockChange(World world, int x, int y, int z, Block block) { + public boolean onBlockActivated(World world, int x, int y, int z, EntityPlayer player, int side, float hitX, float hitY, float hitZ) { - boolean on = world.isBlockIndirectlyGettingPowered(x, y, z); - int meta = world.getBlockMetadata(x, y, z); + if(world.isRemote) return true; - boolean update = false; + if(super.onBlockActivated(world, x, y, z, player, side, hitX, hitY, hitZ)) return true; - 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); - update = true; - } - - if(update) { + if(!player.isSneaking()) { + int meta = world.getBlockMetadata(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); + } else { + 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; } } diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index e8c622861..a4d35d774 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -158,6 +158,9 @@ public class WeaponRecipes { 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', ModItems.hull_small_steel, 'A', ModItems.hull_small_aluminium, 'P', ModItems.ingot_polymer, '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.gun_coilgun_ammo, 16), new Object[] { " T ", "TST", " T ", 'T', W.ingot(), 'S', BIGMT.ingot() }); //Ammo assemblies CraftingManager.addRecipeAuto(new ItemStack(ModItems.pellet_flechette, 1), new Object[] { " L ", " L ", "LLL", 'L', PB.nugget() }); diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java index a1e41ed7f..a28de4aa4 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java @@ -96,7 +96,7 @@ public class EntityGlyphid extends EntityMob { int chance = getArmorBreakChance(amount); //chances of armor being broken off if(this.rand.nextInt(chance) == 0 && amount > 1) { breakOffArmor(); - amount = 0; + amount *= 0.25F; } amount -= getDamageThreshold(); diff --git a/src/main/java/com/hbm/entity/projectile/EntityBulletBase.java b/src/main/java/com/hbm/entity/projectile/EntityBulletBase.java index 76f9340b0..6ebfd313a 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBulletBase.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBulletBase.java @@ -511,16 +511,18 @@ public class EntityBulletBase extends Entity implements IProjectile { if(worldObj.isRemote && !config.vPFX.isEmpty()) { - double motion = Math.min(Vec3.createVectorHelper(motionX, motionY, motionZ).lengthVector(), 0.1); + 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.0625) { + for(double d = 0; d < motion; d += 0.5) { NBTTagCompound nbt = new NBTTagCompound(); nbt.setString("type", "vanillaExt"); nbt.setString("mode", config.vPFX); - 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); + nbt.setDouble("posX", this.posX - vec.xCoord * d); + nbt.setDouble("posY", this.posY - vec.yCoord * d); + nbt.setDouble("posZ", this.posZ - vec.zCoord * d); MainRegistry.proxy.effectNT(nbt); } } diff --git a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java index 7e7af9633..d3262d8b9 100644 --- a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java +++ b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java @@ -159,6 +159,7 @@ public class BulletConfigSyncingUtil { public static int SPECIAL_GAUSS = i++; public static int SPECIAL_GAUSS_CHARGED = i++; public static int SPECIAL_EMP = i++; + public static int SPECIAL_COIL = i++; public static int FLAMER_NORMAL = i++; public static int FLAMER_NAPALM = i++; @@ -449,6 +450,7 @@ public class BulletConfigSyncingUtil { configSet.put(SPECIAL_GAUSS, GunGaussFactory.getGaussConfig()); configSet.put(SPECIAL_GAUSS_CHARGED, GunGaussFactory.getAltConfig()); configSet.put(SPECIAL_EMP, GunEnergyFactory.getOrbusConfig()); + configSet.put(SPECIAL_COIL, GunEnergyFactory.getCoilConfig()); configSet.put(FLAMER_NORMAL, GunEnergyFactory.getFlameConfig()); configSet.put(FLAMER_NAPALM, GunEnergyFactory.getNapalmConfig()); diff --git a/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java index f580db9e6..0a397f04a 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java @@ -248,8 +248,8 @@ public class Gun12GaugeFactory { config.hasSights = true; config.durability = 250000; config.allowsInfinity = true; - config.firingSound = "hbm:weapon.autoshotgunFirePB3"; - config.reloadSound = "hbm:weapon.shotgunReloadPB3"; + config.firingSound = "hbm:weapon.deagleShoot"; + config.firingPitch = 0.75F; config.reloadType = 2; config.reloadSoundEnd = true; diff --git a/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java b/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java index 2fafccbeb..55335e415 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java @@ -180,6 +180,34 @@ public class GunEnergyFactory { 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 = 1500; + 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.SPECIAL_COIL); + + return config; + } + public static GunConfiguration getVortexConfig() { GunConfiguration config = new GunConfiguration(); @@ -221,6 +249,31 @@ public class GunEnergyFactory { return bullet; } + public static BulletConfiguration getCoilConfig() { + + BulletConfiguration bullet = new BulletConfiguration(); + + bullet.ammo = new ComparableStack(ModItems.gun_coilgun_ammo); + + bullet.velocity = 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 = 100; + bullet.doesPenetrate = true; + bullet.isSpectral = true; + + bullet.style = bullet.STYLE_BOLT; + bullet.trail = bullet.BOLT_NIGHTMARE; + bullet.vPFX = "fireworks"; + + return bullet; + } + public static BulletConfiguration getFlameConfig() { BulletConfiguration bullet = new BulletConfiguration(); diff --git a/src/main/java/com/hbm/inventory/OreDictManager.java b/src/main/java/com/hbm/inventory/OreDictManager.java index 271f58aac..1f96d0d4b 100644 --- a/src/main/java/com/hbm/inventory/OreDictManager.java +++ b/src/main/java/com/hbm/inventory/OreDictManager.java @@ -884,7 +884,7 @@ public class OreDictManager { public String gem() { return GEM + groupName; } public String crystal() { return CRYSTAL + groupName; } public String plate() { return PLATE + groupName; } - public String plateTriple() { return PLATECAST + groupName; } + public String plateCast() { return PLATECAST + groupName; } public String billet() { return BILLET + groupName; } public String block() { return BLOCK + groupName; } public String ore() { return ORE + groupName; } diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 1e63c37e2..de0d35584 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -299,7 +299,7 @@ public class AssemblerRecipes { makeRecipe(new ComparableStack(ModBlocks.fusion_heater, 1), new AStack[] {new OreDictStack(W.ingot(), 4), new OreDictStack(STEEL.plate528(), 2), new OreDictStack(OreDictManager.getReflector(), 2), new OreDictStack(CU.plate(), 4), new ComparableStack(ModItems.magnetron, 1), new ComparableStack(ModItems.wire_advanced_alloy, 4), },150); 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.plateTriple()), new OreDictStack(B.ingot(), 3), new OreDictStack(STEEL.plate(), 9), }, 100); + makeRecipe(new ComparableStack(ModBlocks.watz_end, 3), new AStack[] {new OreDictStack(ANY_RESISTANTALLOY.plateCast()), new OreDictStack(B.ingot(), 3), new OreDictStack(STEEL.plate(), 9), }, 100); makeRecipe(new ComparableStack(ModBlocks.fwatz_hatch, 1), new AStack[] {new OreDictStack(W.ingot(), 6), new OreDictStack(CMB.plate(), 4), },250); makeRecipe(new ComparableStack(ModBlocks.fwatz_conductor, 1), new AStack[] {new OreDictStack(CMB.plate(), 2), new ComparableStack(ModItems.coil_magnetized_tungsten, 5), },250); makeRecipe(new ComparableStack(ModBlocks.fwatz_computer, 1), new AStack[] {new ComparableStack(ModBlocks.block_meteor, 1), new ComparableStack(ModItems.wire_magnetized_tungsten, 16), new OreDictStack(DIAMOND.dust(), 6), new OreDictStack(MAGTUNG.dust(), 6), new OreDictStack(DESH.dust(), 4), },300); diff --git a/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java b/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java index 2e22d2e8b..62a686e56 100644 --- a/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java @@ -22,6 +22,7 @@ public class CompressorRecipes extends SerializableRecipe { 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(4_000, new FluidStack(Fluids.LPG, 2_000))); } public static class CompressorRecipe { 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 b2fb90abf..bc29c1fc2 100644 --- a/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/anvil/AnvilRecipes.java @@ -330,6 +330,13 @@ public class AnvilRecipes { new ComparableStack(ModItems.plate_polymer, 8) }, new AnvilOutput(new ItemStack(ModBlocks.machine_boiler))).setTier(2)); + constructionRecipes.add(new AnvilConstructionRecipe( + new AStack[] { + new OreDictStack(STEEL.plateCast(), 8), + new OreDictStack(CU.ingot(), 8), + new OreDictStack(ANY_PLASTIC.ingot(), 4) + }, new AnvilOutput(new ItemStack(ModBlocks.machine_industrial_boiler))).setTier(3)); + constructionRecipes.add(new AnvilConstructionRecipe( new AStack[] { new OreDictStack(STEEL.plate(), 4), diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index b5665f08c..ae099b4e1 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1573,6 +1573,8 @@ public class ModItems { 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_coilgun_ammo; public static Item gun_xvl1456; public static Item gun_xvl1456_ammo; public static Item gun_osipr; @@ -4198,6 +4200,8 @@ public class ModItems { 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_ammo = new Item().setUnlocalizedName("gun_coilgun_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_coilgun_ammo"); + 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"); @@ -7017,6 +7021,7 @@ public class ModItems { 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()); @@ -7072,6 +7077,7 @@ public class ModItems { //GameRegistry.registerItem(gun_uboinik_ammo, gun_uboinik_ammo.getUnlocalizedName()); //GameRegistry.registerItem(gun_lever_action_ammo, gun_lever_action_ammo.getUnlocalizedName()); //GameRegistry.registerItem(gun_bolt_action_ammo, gun_bolt_action_ammo.getUnlocalizedName()); + GameRegistry.registerItem(gun_coilgun_ammo, gun_coilgun_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()); diff --git a/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java b/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java index a33cdff56..f631a8a97 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java @@ -171,10 +171,10 @@ public class ItemAmmoHIMARS extends Item { 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.slag, 1); }}; - this.itemTypes[SMALL_HE] = new HIMARSRocket("standard_he", "himars_standard_he", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { standardExplosion(rocket, mop, 20F, 3F, true, ModBlocks.slag, 1); }}; + 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); }}; + this.itemTypes[SMALL_HE] = new HIMARSRocket("standard_he", "himars_standard_he", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { standardExplosion(rocket, mop, 20F, 3F, true, ModBlocks.block_slag, 1); }}; this.itemTypes[SMALL_LAVA] = new HIMARSRocket("standard_lava", "himars_standard_lava", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { standardExplosion(rocket, mop, 20F, 3F, true, ModBlocks.volcanic_lava_block, 0); }}; - this.itemTypes[LARGE] = new HIMARSRocket("single", "himars_single", 1) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { standardExplosion(rocket, mop, 50F, 5F, true, ModBlocks.slag, 1); }}; + this.itemTypes[LARGE] = new HIMARSRocket("single", "himars_single", 1) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { standardExplosion(rocket, mop, 50F, 5F, true, ModBlocks.block_slag, 1); }}; this.itemTypes[SMALL_MINI_NUKE] = new HIMARSRocket("standard_mini_nuke", "himars_standard_mini_nuke", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { diff --git a/src/main/java/com/hbm/items/weapon/ItemCoilgun.java b/src/main/java/com/hbm/items/weapon/ItemCoilgun.java new file mode 100644 index 000000000..9bce20e0e --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/ItemCoilgun.java @@ -0,0 +1,41 @@ +package com.hbm.items.weapon; + +import com.hbm.handler.GunConfiguration; +import com.hbm.render.anim.BusAnimation; +import com.hbm.render.anim.BusAnimationKeyframe; +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() + .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 100)) + .addKeyframe(new BusAnimationKeyframe(0, 0, 0, 200))); + } + + if(type == AnimType.RELOAD) { + return new BusAnimation() + .addBus("RELOAD", new BusAnimationSequence() + .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 250)) + .addKeyframe(new BusAnimationKeyframe(1, 0, 0, 500)) + .addKeyframe(new BusAnimationKeyframe(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/ItemGrenadeKyiv.java b/src/main/java/com/hbm/items/weapon/ItemGrenadeKyiv.java index 1adcdb3dc..bd5ecda87 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGrenadeKyiv.java +++ b/src/main/java/com/hbm/items/weapon/ItemGrenadeKyiv.java @@ -1,5 +1,7 @@ package com.hbm.items.weapon; +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; import net.minecraft.world.World; public class ItemGrenadeKyiv extends ItemGenericGrenade { @@ -8,7 +10,8 @@ public class ItemGrenadeKyiv extends ItemGenericGrenade { super(fuse); } - public void explode(World world, double x, double y, double z) { - world.newExplosion(null, x, y, z, 5F, true, true); + @Override + public void explode(Entity grenade, EntityLivingBase thrower, World world, double x, double y, double z) { + world.newExplosion(grenade, x, y, z, 5F, true, true); } } diff --git a/src/main/java/com/hbm/lib/HbmCollection.java b/src/main/java/com/hbm/lib/HbmCollection.java index a0d1efc1e..dba947b9b 100644 --- a/src/main/java/com/hbm/lib/HbmCollection.java +++ b/src/main/java/com/hbm/lib/HbmCollection.java @@ -95,6 +95,8 @@ public class HbmCollection { COMBINE, /**Cube 2: Sauerbraten**/ CUBE, + /**Deep Rock Galactic**/ + DRG, /**Enzinger Union**/ ENZINGER, /**Equestria Missile Systems**/ diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 7d87518c8..6d1da286d 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 (4648)"; + public static final String VERSION = "1.0.27 BETA (4655)"; //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 8218dae86..5be6906a3 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -521,6 +521,7 @@ public class ClientProxy extends ServerProxy { 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_coilgun, new ItemRenderWeaponCoilgun()); //multitool MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool()); @@ -1177,6 +1178,10 @@ public class ClientProxy extends ServerProxy { 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"))) { diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index f0bc031ac..368aaf55d 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -377,7 +377,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModItems.mechanism_launcher_2, 1), new Object[] { "TTT", "SSS", "BBI", 'T', ALLOY.plate(), 'S', ANY_PLASTIC.ingot(), 'B', ModItems.bolt_dura_steel, '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', ModItems.circuit_targeting_tier3 }); - addRecipeAuto(new ItemStack(ModBlocks.watz_pump, 1), new Object[] { "MPM", "PCP", "PSP", 'M', ModItems.motor_desh, 'P', ANY_RESISTANTALLOY.plateTriple(), 'C', KEY_CIRCUIT_BISMUTH, 'S', ModItems.pipes_steel }); + addRecipeAuto(new ItemStack(ModBlocks.watz_pump, 1), new Object[] { "MPM", "PCP", "PSP", 'M', ModItems.motor_desh, 'P', ANY_RESISTANTALLOY.plateCast(), 'C', KEY_CIRCUIT_BISMUTH, 'S', ModItems.pipes_steel }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_cooler), 1), new Object[] { "IPI", "IPI", "IPI", 'I', TI.ingot(), 'P', TI.plate() }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_tank), 1), new Object[] { "CGC", "GGG", "CGC", 'C', CMB.plate(), 'G', KEY_ANYPANE }); addRecipeAuto(new ItemStack(Item.getItemFromBlock(ModBlocks.fwatz_scaffold), 1), new Object[] { "IPI", "P P", "IPI", 'I', W.ingot(), 'P', getReflector() }); @@ -792,7 +792,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.barrel_antimatter, 1), new Object[] { "IPI", "IBI", "IPI", 'I', BIGMT.plate(), 'P', ModItems.coil_advanced_torus, 'B', ModItems.battery_sc_technetium }); addRecipeAuto(new ItemStack(ModBlocks.tesla, 1), new Object[] { "CCC", "PIP", "WTW", 'C', ModItems.coil_copper, 'I', IRON.ingot(), 'P', ANY_PLASTIC.ingot(), 'T', ModBlocks.machine_transformer, 'W', KEY_PLANKS }); addRecipeAuto(new ItemStack(ModBlocks.struct_plasma_core, 1), new Object[] { "CBC", "BHB", "CBC", 'C', ModItems.circuit_gold, 'B', ModBlocks.machine_lithium_battery, 'H', ModBlocks.fusion_heater }); - addRecipeAuto(new ItemStack(ModBlocks.struct_watz_core, 1), new Object[] { "CBC", "BHB", "CBC", 'C', ModItems.circuit_schrabidium, 'B', ANY_RESISTANTALLOY.plateTriple(), 'H', ModBlocks.watz_cooler }); + addRecipeAuto(new ItemStack(ModBlocks.struct_watz_core, 1), new Object[] { "CBC", "BHB", "CBC", 'C', ModItems.circuit_schrabidium, '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() }); @@ -839,6 +839,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.hadron_analysis, 1), new Object[] { "IPI", "PCP", "IPI", 'I', TI.ingot(), 'P', getReflector(), 'C', ModItems.circuit_gold }); 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', ModItems.circuit_aluminium, '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', ModItems.circuit_gold, '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(ModItems.ingot_schrabidium, 8), new Object[] { "UUU", "UPU", "UUU", 'U', U.ingot(), 'P', new ItemStack(ModItems.particle_higgs).setStackDisplayName("Higgs Boson (Temporary Recipe)") }); addRecipeAuto(new ItemStack(ModItems.ingot_euphemium, 8), new Object[] { "UUU", "UPU", "UUU", 'U', PU.ingot(), 'P', new ItemStack(ModItems.particle_dark).setStackDisplayName("Dark Matter (Temporary Recipe)") }); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 582b5609c..681ed777f 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -749,7 +749,8 @@ public class ResourceManager { public static final IModelCustom m2 = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/m2_browning.obj")).asDisplayList(); //large fella should be a display list public static final IModelCustom lunatic_sniper = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lunatic_sniper.obj")).asDisplayList(); 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")); + public static final IModelCustom benelli = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/benelli_new.obj")).asDisplayList(); + public static final IModelCustom coilgun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/coilgun.obj")).asDisplayList(); public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj")); @@ -841,6 +842,7 @@ public class ResourceManager { 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 lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png"); diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderBenelli.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderBenelli.java index ed17d1955..712cc58ab 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderBenelli.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderBenelli.java @@ -83,10 +83,10 @@ public class ItemRenderBenelli implements IItemRenderer GL11.glPopMatrix(); break; case EQUIPPED:// In hand from other's POV - GL11.glRotatef(90.0F, 1.0F, 0.0F, 0.0F); - GL11.glRotatef(-50.0F, 0.0F, 1.0F, 0.0F); - GL11.glRotatef(90.0F, 0.0F, 0.0F, 1.0F); - GL11.glTranslatef(-0.0F, -0.2F, -1.28F); + 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.glRotated(recoil[0], 1, 0, 0); GL11.glScaled(scale2 - scale2 * 2, scale2, scale2); diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCoilgun.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCoilgun.java new file mode 100644 index 000000000..4bca0361c --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCoilgun.java @@ -0,0 +1,100 @@ +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/tileentity/RenderBobble.java b/src/main/java/com/hbm/render/tileentity/RenderBobble.java index 649bd7ce5..021499dbc 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderBobble.java +++ b/src/main/java/com/hbm/render/tileentity/RenderBobble.java @@ -46,6 +46,7 @@ public class RenderBobble extends TileEntitySpecialRenderer { public static final ResourceLocation bobble_drillgon = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/drillgon200.png"); public static final ResourceLocation bobble_cirno = new ResourceLocation(RefStrings.MODID, "textures/models/trinkets/cirno.png"); 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"); @Override public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float intero) { @@ -95,7 +96,8 @@ public class RenderBobble extends TileEntitySpecialRenderer { case VAER: bindTexture(bobble_vaer); break; case NOS: bindTexture(bobble_nos); break; case DRILLGON: bindTexture(bobble_drillgon); break; - case MICROWAVE: bindTexture(bobble_microwave); break; + case MICROWAVE: bindTexture(bobble_microwave); break; + case PEEP: bindTexture(bobble_peep); break; default: bindTexture(ResourceManager.universal); } @@ -199,6 +201,9 @@ public class RenderBobble extends TileEntitySpecialRenderer { case VAER: rotLeftArm = new double[]{0, -5, 45}; rotRightArm = new double[]{0, 15, 45}; + case PEEP: + rotLeftArm = new double[]{0, 0, 1}; + rotRightArm = new double[]{0, 0, 1}; break; } } @@ -211,6 +216,8 @@ public class RenderBobble extends TileEntitySpecialRenderer { GL11.glPushMatrix(); GL11.glRotated(rotBody, 0, 1, 0); + if(type == BobbleType.PEEP) bobble.renderPart("PeepTail"); + GL11.glDisable(GL11.GL_CULL_FACE); String suffix = type.skinLayers ? "" : "17"; @@ -280,9 +287,9 @@ public class RenderBobble extends TileEntitySpecialRenderer { GL11.glTranslated(0, -1.75, 0); bobble.renderPart("Head" + suffix); - - if(type == BobbleType.VT) - bobble.renderPart("Horn"); + + if(type == BobbleType.VT) bobble.renderPart("Horn"); + if(type == BobbleType.PEEP) bobble.renderPart("PeepHat"); if(type == BobbleType.VAER) { GL11.glTranslated(0.25, 1.9, 0.075); diff --git a/src/main/java/com/hbm/render/tileentity/RenderIndustrialBoiler.java b/src/main/java/com/hbm/render/tileentity/RenderIndustrialBoiler.java index 9bbf30997..f2d0da729 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderIndustrialBoiler.java +++ b/src/main/java/com/hbm/render/tileentity/RenderIndustrialBoiler.java @@ -30,7 +30,7 @@ public class RenderIndustrialBoiler extends TileEntitySpecialRenderer implements @Override public Item getItemForRenderer() { - return Item.getItemFromBlock(ModBlocks.machine_boiler); + return Item.getItemFromBlock(ModBlocks.machine_industrial_boiler); } @Override @@ -38,7 +38,7 @@ public class RenderIndustrialBoiler extends TileEntitySpecialRenderer implements return new ItemRenderBase( ) { public void renderInventory() { GL11.glTranslated(0, -3, 0); - GL11.glScaled(3, 3, 3); + GL11.glScaled(2.5, 2.5, 2.5); } public void renderCommonWithStack(ItemStack item) { GL11.glRotatef(90, 0F, 1F, 0F); diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 5afef6e01..0210ff1ad 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -265,6 +265,7 @@ public class TileMappings { put(TileEntitySawmill.class, "tileentity_sawmill"); put(TileEntityCrucible.class, "tileentity_crucible"); put(TileEntityHeatBoiler.class, "tileentity_heat_boiler"); + put(TileEntityHeatBoilerIndustrial.class, "tileentity_heat_boiler_industrial"); put(TileEntityFoundryMold.class, "tileentity_foundry_mold"); put(TileEntityFoundryBasin.class, "tileentity_foundry_basin"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java b/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java index 4b6d588c1..0c87a90b0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityHadron.java @@ -391,11 +391,11 @@ public class TileEntityHadron extends TileEntityMachineBase implements IEnergyUs //not the best code ever made but it works, dammit if(cl1 > 0) { - if(cl1 > 15) { - coilVal *= 0.90; - } else { - coilVal *= 1.25; - } + + 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; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java index 88e45d6b7..b13e35d18 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCoal.java @@ -150,6 +150,7 @@ public class TileEntityMachineCoal extends TileEntityMachinePolluting implements NBTTagCompound data = new NBTTagCompound(); data.setLong("power", power); + data.setInteger("burnTime", burnTime); tank.writeToNBT(data, "tank"); this.networkPack(data, 15); } @@ -158,6 +159,7 @@ public class TileEntityMachineCoal extends TileEntityMachinePolluting implements @Override public void networkUnpack(NBTTagCompound nbt) { this.power = nbt.getLong("power"); + this.burnTime = nbt.getInteger("burnTime"); this.tank.readFromNBT(nbt, "tank"); } diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 44aa3dfe6..d11971bbd 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1874,6 +1874,8 @@ item.gun_calamity.name=Knochensäge item.gun_calamity_ammo.name=.50 BMG Patrone (LEGACY) item.gun_calamity_dual.name=Sattelkanone item.gun_chemthrower.name=Chemowerfer +item.gun_coilgun.name=Gaußpistole +item.gun_coilgun_ammo.name=Wolframkugel item.gun_cryolator.name=Der Cryolator item.gun_cryolator_ammo.name=Kryozelle item.gun_dampfmaschine.name=Garantiert keine Scherzwaffe @@ -3811,8 +3813,8 @@ tile.fluid_duct_gauge.desc=Rohr welches anzeight, wie viel Flüssigkeit$sich pro 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_switch.name=Ventil -tile.fluid_valve.name=Redstone-Ventil +tile.fluid_switch.name=Redstone-Ventil +tile.fluid_valve.name=Ventil tile.foam_layer.name=Schaumdecke tile.foundry_basin.name=Gussbecken tile.foundry_channel.name=Gusskanal @@ -3997,6 +3999,8 @@ tile.machine_gascent.name=Gaszentrifuge tile.machine_generator.name=Atomreaktor (Alt) tile.machine_geo.name=Geothermiegenerator tile.machine_hephaestus.name=Geothermischer Wärmetauscher +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_keyforge.name=Schlossertisch tile.machine_large_turbine.name=Industrielle Dampfturbine diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 4ef3fcad3..3f126767e 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1061,6 +1061,7 @@ 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 @@ -2550,6 +2551,7 @@ item.gun_avenger.name=CZ57 Avenger Minigun 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 @@ -2563,6 +2565,8 @@ item.gun_calamity.name=Buzzsaw item.gun_calamity_ammo.name=.50 BMG Round (LEGACY) item.gun_calamity_dual.name=Saddle Gun item.gun_chemthrower.name=Chemthrower +item.gun_coilgun.name=Coilgun +item.gun_coilgun_ammo.name=Coilgun Tungsten Ball item.gun_cryolator.name=The Cryolator item.gun_cryolator_ammo.name=Cryo Cell item.gun_dampfmaschine.name=Totally Not a Joke Weapon @@ -4686,8 +4690,8 @@ tile.fluid_duct_gauge.desc=Pipe that displays how much fluid$moves within the ne 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_switch.name=Fluid Valve -tile.fluid_valve.name=Redstone Fluid Valve +tile.fluid_switch.name=Redstone Fluid Valve +tile.fluid_valve.name=Fluid Valve tile.foam_layer.name=Foam layer tile.foundry_basin.name=Foundry Basin tile.foundry_channel.name=Foundry Channel @@ -4762,7 +4766,7 @@ 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$Overcooling threshold: 15$Cooling bonus: +25%%$Overcooling penalty: -10%% +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 @@ -4874,6 +4878,8 @@ tile.machine_gascent.name=Gas Centrifuge tile.machine_generator.name=Nuclear Reactor (Old) tile.machine_geo.name=Geothermal Electric Generator tile.machine_hephaestus.name=Geothermal Heat Exchanger +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_keyforge.name=Locksmith Table tile.machine_large_turbine.name=Industrial Steam Turbine diff --git a/src/main/resources/assets/hbm/models/trinkets/bobble.obj b/src/main/resources/assets/hbm/models/trinkets/bobble.obj index 5a6183975..ca368efed 100644 --- a/src/main/resources/assets/hbm/models/trinkets/bobble.obj +++ b/src/main/resources/assets/hbm/models/trinkets/bobble.obj @@ -1,5 +1,179 @@ # Blender v2.79 (sub 0) OBJ File: 'bobble.blend' # www.blender.org +o PeepHat +v 0.281250 2.625000 -0.281250 +v 0.281250 2.625000 0.281250 +v -0.281250 2.625000 0.281250 +v -0.281250 2.625000 -0.281250 +v -0.281250 2.500000 -0.281250 +v -0.281250 2.500000 0.281250 +v 0.281250 2.500000 0.281250 +v 0.281250 2.500000 -0.281250 +v 0.000000 2.687500 0.062500 +v 0.000000 2.687500 -0.062500 +v 0.000000 2.625000 0.000000 +vt -0.000000 0.890625 +vt 0.015625 0.984375 +vt -0.000000 0.984375 +vt 0.125000 0.984375 +vt 0.109375 0.890625 +vt 0.125000 0.890625 +vt 0.015625 1.000000 +vt 0.109375 0.984375 +vt 0.109375 1.000000 +vt 0.109375 0.875000 +vt 0.015625 0.890625 +vt 0.015625 0.875000 +vt 0.000000 1.000000 +vt -0.000000 0.984375 +vt 0.015625 0.984375 +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 +s off +f 7/1/1 3/2/1 6/3/1 +f 5/4/2 1/5/2 8/6/2 +f 6/7/3 4/8/3 5/9/3 +f 8/10/4 2/11/4 7/12/4 +f 2/11/5 4/8/5 3/2/5 +f 9/13/4 11/14/4 10/15/4 +f 7/1/1 2/11/1 3/2/1 +f 5/4/2 4/8/2 1/5/2 +f 6/7/3 3/2/3 4/8/3 +f 8/10/4 1/5/4 2/11/4 +f 2/11/5 1/5/5 4/8/5 +o PeepTail +v -0.114030 1.104741 -0.062500 +v -0.071277 0.987279 -0.062500 +v -0.114030 1.104741 0.062500 +v -0.071277 0.987279 0.062500 +v -0.583876 0.933731 -0.062500 +v -0.541124 0.816269 -0.062500 +v -0.583876 0.933731 0.062500 +v -0.541124 0.816269 0.062500 +v -0.547280 0.814373 0.062500 +v -0.704707 1.160419 0.125000 +v -0.547280 0.814373 -0.062500 +v -0.704707 1.160419 -0.125000 +v -0.426539 0.846725 0.062500 +v -0.463226 1.225123 0.125000 +v -0.426539 0.846725 -0.062500 +v -0.463226 1.225123 -0.125000 +v -0.801764 1.522641 0.125000 +v -0.801764 1.522641 -0.125000 +v -0.560283 1.587345 -0.125000 +v -0.560283 1.587345 0.125000 +v -0.757570 1.599187 0.062500 +v -0.757570 1.599187 -0.062500 +v -0.636829 1.631540 -0.062500 +v -0.636829 1.631540 0.062500 +vt 0.937500 0.562500 +vt 0.968750 0.687500 +vt 0.937500 0.687500 +vt 0.968750 0.687500 +vt 0.937500 0.562500 +vt 0.968750 0.562500 +vt 0.937500 0.687500 +vt 0.968750 0.562500 +vt 0.968750 0.687500 +vt 0.968750 0.562500 +vt 0.937500 0.687500 +vt 0.937500 0.562500 +vt 0.937500 0.546875 +vt 0.890625 0.453125 +vt 0.921875 0.453125 +vt 0.937500 0.546875 +vt 0.890625 0.453125 +vt 0.921875 0.453125 +vt 0.937500 0.546875 +vt 0.890625 0.453125 +vt 0.921875 0.453125 +vt 0.937500 0.546875 +vt 0.890625 0.453125 +vt 0.921875 0.453125 +vt 0.890625 0.421875 +vt 0.875000 0.640625 +vt 0.875000 0.546875 +vt 0.937500 0.640625 +vt 0.890625 0.656250 +vt 0.875000 0.640625 +vt 0.875000 0.546875 +vt 0.875000 0.640625 +vt 0.875000 0.546875 +vt 0.875000 0.640625 +vt 0.875000 0.546875 +vt 0.921875 0.687500 +vt 0.890625 0.687500 +vt 0.921875 0.656250 +vt 0.890625 0.656250 +vt 0.937500 0.640625 +vt 0.890625 0.656250 +vt 0.937500 0.640625 +vt 0.890625 0.656250 +vt 0.968750 0.562500 +vt 0.937500 0.687500 +vt 0.937500 0.562500 +vt 0.968750 0.687500 +vt 0.921875 0.421875 +vt 0.921875 0.656250 +vt 0.937500 0.640625 +vt 0.921875 0.656250 +vt 0.921875 0.656250 +vn -0.3420 0.9397 0.0000 +vn 0.3420 -0.9397 0.0000 +vn 0.0000 0.0000 1.0000 +vn 0.0000 0.0000 -1.0000 +vn -0.9102 -0.4141 0.0000 +vn 0.0425 -0.1588 -0.9864 +vn 0.9953 0.0965 0.0000 +vn 0.0425 -0.1588 0.9864 +vn 0.2588 -0.9659 0.0000 +vn 0.9659 0.2588 0.0000 +vn -0.8660 0.5000 0.0000 +vn -0.9659 -0.2588 0.0000 +vn -0.2588 0.9659 0.0000 +vn -0.1830 0.6830 0.7071 +vn -0.1830 0.6830 -0.7071 +vn 0.5000 0.8660 0.0000 +s off +f 16/16/6 14/17/6 12/18/6 +f 13/19/7 19/20/7 17/21/7 +f 14/22/8 19/23/8 15/24/8 +f 16/25/9 13/26/9 17/27/9 +f 21/28/10 22/29/10 20/30/10 +f 23/31/11 26/32/11 22/33/11 +f 27/34/12 24/35/12 26/36/12 +f 25/37/13 20/38/13 24/39/13 +f 26/40/14 20/30/14 22/29/14 +f 27/34/15 31/41/15 25/42/15 +f 28/43/16 33/44/16 29/45/16 +f 21/28/17 29/45/17 23/46/17 +f 25/37/8 28/47/8 21/48/8 +f 23/31/9 30/49/9 27/50/9 +f 33/44/18 35/51/18 34/52/18 +f 28/47/19 35/53/19 32/54/19 +f 29/55/20 34/56/20 30/49/20 +f 30/57/21 35/58/21 31/41/21 +f 16/16/6 18/59/6 14/17/6 +f 13/19/7 15/60/7 19/20/7 +f 14/22/8 18/61/8 19/23/8 +f 16/25/9 12/62/9 13/26/9 +f 21/28/10 23/46/10 22/29/10 +f 23/31/11 27/50/11 26/32/11 +f 27/34/12 25/42/12 24/35/12 +f 25/37/13 21/48/13 20/38/13 +f 26/40/14 24/63/14 20/30/14 +f 27/34/15 30/57/15 31/41/15 +f 28/43/16 32/64/16 33/44/16 +f 21/28/17 28/43/17 29/45/17 +f 25/37/8 31/65/8 28/47/8 +f 23/31/9 29/55/9 30/49/9 +f 33/44/18 32/64/18 35/51/18 +f 28/47/19 31/65/19 35/53/19 +f 29/55/20 33/66/20 34/56/20 +f 30/57/21 34/67/21 35/58/21 o Drillgon v -0.250000 0.500000 0.437500 v -0.250000 1.125000 0.437500 @@ -307,157 +481,157 @@ vn 0.0000 -0.9487 0.3162 vn 0.0000 0.7071 0.7071 vn 0.0000 0.7071 -0.7071 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 6/8/4 1/9/4 5/7/4 -f 5/7/3 15/10/3 7/5/3 -f 4/4/5 11/11/5 8/6/5 -f 11/12/3 36/13/3 12/14/3 -f 8/6/6 12/14/6 6/8/6 -f 2/1/1 10/15/1 4/4/1 -f 2/16/7 12/17/7 9/18/7 -f 15/10/8 14/19/8 13/20/8 -f 1/9/9 16/21/9 5/7/9 -f 7/5/10 13/22/10 3/2/10 -f 3/2/1 14/23/1 1/3/1 -f 18/24/11 19/25/11 17/26/11 -f 20/27/12 23/28/12 19/29/12 -f 24/30/13 21/31/13 23/32/13 -f 22/33/14 17/34/14 21/35/14 -f 20/27/15 22/33/15 24/30/15 -f 26/36/14 27/37/14 25/38/14 -f 28/39/11 31/40/11 27/41/11 -f 32/42/12 29/43/12 31/44/12 -f 30/45/13 25/46/13 29/47/13 -f 28/39/15 30/45/15 32/42/15 -f 34/48/15 36/13/15 35/49/15 -f 9/50/1 34/51/1 10/15/1 -f 12/17/4 33/52/4 9/18/4 -f 10/53/2 35/54/2 11/11/2 -f 38/55/1 39/56/1 37/57/1 -f 42/58/4 56/59/4 41/60/4 -f 44/61/3 41/60/3 43/62/3 -f 38/63/4 55/64/4 42/65/4 -f 43/66/8 37/67/8 39/68/8 -f 40/69/15 42/65/15 44/70/15 -f 46/71/1 47/72/1 45/73/1 -f 51/74/2 64/75/2 52/76/2 -f 52/76/3 49/77/3 51/74/3 -f 53/78/16 58/79/16 54/80/16 -f 51/81/8 45/82/8 47/83/8 -f 48/84/15 50/85/15 52/86/15 -f 37/57/4 54/80/4 38/55/4 -f 41/87/4 53/88/4 37/67/4 -f 59/89/4 57/90/4 60/91/4 -f 54/92/17 59/89/17 55/64/17 -f 55/93/18 60/94/18 56/59/18 -f 56/95/19 57/96/19 53/88/19 -f 64/97/20 65/98/20 61/99/20 -f 47/83/2 63/100/2 51/81/2 -f 52/86/2 61/99/2 48/84/2 -f 48/101/2 62/102/2 47/72/2 -f 65/98/2 67/103/2 66/104/2 -f 61/105/21 66/106/21 62/102/21 -f 63/107/22 68/108/22 64/75/22 -f 62/109/23 67/110/23 63/100/23 -f 72/111/2 75/112/2 71/113/2 -f 76/114/3 73/115/3 75/112/3 -f 74/116/4 69/117/4 73/115/4 -f 75/112/8 69/118/8 71/119/8 -f 72/120/15 74/116/15 76/114/15 -f 84/121/1 86/122/1 88/123/1 -f 83/124/9 81/125/9 84/121/9 -f 79/126/24 84/127/24 78/128/24 -f 87/129/25 88/123/25 86/122/25 -f 89/130/10 90/131/10 88/123/10 -f 87/129/3 83/132/3 89/130/3 -f 90/131/1 84/127/1 88/123/1 -f 83/133/3 91/134/3 89/130/3 -f 96/135/3 97/136/3 99/137/3 -f 95/138/10 94/139/10 96/135/10 -f 92/140/25 96/141/25 77/142/25 -f 97/136/24 100/143/24 99/137/24 -f 100/143/9 101/144/9 99/137/9 -f 98/145/1 95/146/1 100/143/1 -f 101/144/3 96/141/3 99/137/3 -f 95/147/1 102/148/1 100/143/1 -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/8/3 5/7/3 -f 6/8/4 2/16/4 1/9/4 -f 5/7/3 16/149/3 15/10/3 -f 4/4/5 10/53/5 11/11/5 -f 11/12/3 35/49/3 36/13/3 -f 8/6/6 11/12/6 12/14/6 -f 2/1/1 9/50/1 10/15/1 -f 2/16/7 6/8/7 12/17/7 -f 15/10/8 16/149/8 14/19/8 -f 1/9/9 14/150/9 16/21/9 -f 7/5/10 15/151/10 13/22/10 -f 3/2/1 13/152/1 14/23/1 -f 18/24/11 20/27/11 19/25/11 -f 20/27/12 24/30/12 23/28/12 -f 24/30/13 22/33/13 21/31/13 -f 22/33/14 18/24/14 17/34/14 -f 20/27/15 18/24/15 22/33/15 -f 26/36/14 28/39/14 27/37/14 -f 28/39/11 32/42/11 31/40/11 -f 32/42/12 30/45/12 29/43/12 -f 30/45/13 26/36/13 25/46/13 -f 28/39/15 26/36/15 30/45/15 -f 34/48/15 33/153/15 36/13/15 -f 9/50/1 33/154/1 34/51/1 -f 12/17/4 36/155/4 33/52/4 -f 10/53/2 34/156/2 35/54/2 -f 38/55/1 40/157/1 39/56/1 -f 42/58/4 55/93/4 56/59/4 -f 44/61/3 42/58/3 41/60/3 -f 38/63/4 54/92/4 55/64/4 -f 43/66/8 41/87/8 37/67/8 -f 40/69/15 38/63/15 42/65/15 -f 46/71/1 48/101/1 47/72/1 -f 51/74/2 63/107/2 64/75/2 -f 52/76/3 50/158/3 49/77/3 -f 53/78/16 57/159/16 58/79/16 -f 51/81/8 49/160/8 45/82/8 -f 48/84/15 46/161/15 50/85/15 -f 37/57/4 53/78/4 54/80/4 -f 41/87/4 56/95/4 53/88/4 -f 59/89/4 58/162/4 57/90/4 -f 54/92/17 58/162/17 59/89/17 -f 55/93/18 59/163/18 60/94/18 -f 56/95/19 60/164/19 57/96/19 -f 64/97/20 68/165/20 65/98/20 -f 47/83/2 62/109/2 63/100/2 -f 52/86/2 64/97/2 61/99/2 -f 48/101/2 61/105/2 62/102/2 -f 65/98/2 68/165/2 67/103/2 -f 61/105/21 65/166/21 66/106/21 -f 63/107/22 67/167/22 68/108/22 -f 62/109/23 66/168/23 67/110/23 -f 72/111/2 76/114/2 75/112/2 -f 76/114/3 74/116/3 73/115/3 -f 74/116/4 70/169/4 69/117/4 -f 75/112/8 73/115/8 69/118/8 -f 72/120/15 70/170/15 74/116/15 -f 84/121/1 81/125/1 86/122/1 -f 83/124/9 80/171/9 81/125/9 -f 79/126/24 83/172/24 84/127/24 -f 87/129/25 89/130/25 88/123/25 -f 89/130/10 91/134/10 90/131/10 -f 87/129/3 80/173/3 83/132/3 -f 90/131/1 78/128/1 84/127/1 -f 83/133/3 79/174/3 91/134/3 -f 96/135/3 94/139/3 97/136/3 -f 95/138/10 93/175/10 94/139/10 -f 92/140/25 95/176/25 96/141/25 -f 97/136/24 98/145/24 100/143/24 -f 100/143/9 102/148/9 101/144/9 -f 98/145/1 93/177/1 95/146/1 -f 101/144/3 77/142/3 96/141/3 -f 95/147/1 92/178/1 102/148/1 -l 82 85 +f 37/68/22 38/69/22 36/70/22 +f 39/71/23 42/72/23 38/69/23 +f 43/73/24 40/74/24 42/72/24 +f 41/75/25 36/76/25 40/74/25 +f 40/74/24 50/77/24 42/72/24 +f 39/71/26 46/78/26 43/73/26 +f 46/79/24 71/80/24 47/81/24 +f 43/73/27 47/81/27 41/75/27 +f 37/68/22 45/82/22 39/71/22 +f 37/83/28 47/84/28 44/85/28 +f 50/77/29 49/86/29 48/87/29 +f 36/76/30 51/88/30 40/74/30 +f 42/72/31 48/89/31 38/69/31 +f 38/69/22 49/90/22 36/70/22 +f 53/91/32 54/92/32 52/93/32 +f 55/94/33 58/95/33 54/96/33 +f 59/97/34 56/98/34 58/99/34 +f 57/100/35 52/101/35 56/102/35 +f 55/94/36 57/100/36 59/97/36 +f 61/103/35 62/104/35 60/105/35 +f 63/106/32 66/107/32 62/108/32 +f 67/109/33 64/110/33 66/111/33 +f 65/112/34 60/113/34 64/114/34 +f 63/106/36 65/112/36 67/109/36 +f 69/115/36 71/80/36 70/116/36 +f 44/117/22 69/118/22 45/82/22 +f 47/84/25 68/119/25 44/85/25 +f 45/120/23 70/121/23 46/78/23 +f 73/122/22 74/123/22 72/124/22 +f 77/125/25 91/126/25 76/127/25 +f 79/128/24 76/127/24 78/129/24 +f 73/130/25 90/131/25 77/132/25 +f 78/133/29 72/134/29 74/135/29 +f 75/136/36 77/132/36 79/137/36 +f 81/138/22 82/139/22 80/140/22 +f 86/141/23 99/142/23 87/143/23 +f 87/143/24 84/144/24 86/141/24 +f 88/145/37 93/146/37 89/147/37 +f 86/148/29 80/149/29 82/150/29 +f 83/151/36 85/152/36 87/153/36 +f 72/124/25 89/147/25 73/122/25 +f 76/154/25 88/155/25 72/134/25 +f 94/156/25 92/157/25 95/158/25 +f 89/159/38 94/156/38 90/131/38 +f 90/160/39 95/161/39 91/126/39 +f 91/162/40 92/163/40 88/155/40 +f 99/164/41 100/165/41 96/166/41 +f 82/150/23 98/167/23 86/148/23 +f 87/153/23 96/166/23 83/151/23 +f 83/168/23 97/169/23 82/139/23 +f 100/165/23 102/170/23 101/171/23 +f 96/172/42 101/173/42 97/169/42 +f 98/174/43 103/175/43 99/142/43 +f 97/176/44 102/177/44 98/167/44 +f 107/178/23 110/179/23 106/180/23 +f 111/181/24 108/182/24 110/179/24 +f 109/183/25 104/184/25 108/182/25 +f 110/179/29 104/185/29 106/186/29 +f 107/187/36 109/183/36 111/181/36 +f 119/188/22 121/189/22 123/190/22 +f 118/191/30 116/192/30 119/188/30 +f 114/193/45 119/194/45 113/195/45 +f 122/196/46 123/190/46 121/189/46 +f 124/197/31 125/198/31 123/190/31 +f 122/196/24 118/199/24 124/197/24 +f 125/198/22 119/194/22 123/190/22 +f 118/200/24 126/201/24 124/197/24 +f 131/202/24 132/203/24 134/204/24 +f 130/205/31 129/206/31 131/202/31 +f 127/207/46 131/208/46 112/209/46 +f 132/203/45 135/210/45 134/204/45 +f 135/210/30 136/211/30 134/204/30 +f 133/212/22 130/213/22 135/210/22 +f 136/211/24 131/208/24 134/204/24 +f 130/214/22 137/215/22 135/210/22 +f 37/68/22 39/71/22 38/69/22 +f 39/71/23 43/73/23 42/72/23 +f 43/73/24 41/75/24 40/74/24 +f 41/75/25 37/83/25 36/76/25 +f 40/74/24 51/216/24 50/77/24 +f 39/71/26 45/120/26 46/78/26 +f 46/79/24 70/116/24 71/80/24 +f 43/73/27 46/79/27 47/81/27 +f 37/68/22 44/117/22 45/82/22 +f 37/83/28 41/75/28 47/84/28 +f 50/77/29 51/216/29 49/86/29 +f 36/76/30 49/217/30 51/88/30 +f 42/72/31 50/218/31 48/89/31 +f 38/69/22 48/219/22 49/90/22 +f 53/91/32 55/94/32 54/92/32 +f 55/94/33 59/97/33 58/95/33 +f 59/97/34 57/100/34 56/98/34 +f 57/100/35 53/91/35 52/101/35 +f 55/94/36 53/91/36 57/100/36 +f 61/103/35 63/106/35 62/104/35 +f 63/106/32 67/109/32 66/107/32 +f 67/109/33 65/112/33 64/110/33 +f 65/112/34 61/103/34 60/113/34 +f 63/106/36 61/103/36 65/112/36 +f 69/115/36 68/220/36 71/80/36 +f 44/117/22 68/221/22 69/118/22 +f 47/84/25 71/222/25 68/119/25 +f 45/120/23 69/223/23 70/121/23 +f 73/122/22 75/224/22 74/123/22 +f 77/125/25 90/160/25 91/126/25 +f 79/128/24 77/125/24 76/127/24 +f 73/130/25 89/159/25 90/131/25 +f 78/133/29 76/154/29 72/134/29 +f 75/136/36 73/130/36 77/132/36 +f 81/138/22 83/168/22 82/139/22 +f 86/141/23 98/174/23 99/142/23 +f 87/143/24 85/225/24 84/144/24 +f 88/145/37 92/226/37 93/146/37 +f 86/148/29 84/227/29 80/149/29 +f 83/151/36 81/228/36 85/152/36 +f 72/124/25 88/145/25 89/147/25 +f 76/154/25 91/162/25 88/155/25 +f 94/156/25 93/229/25 92/157/25 +f 89/159/38 93/229/38 94/156/38 +f 90/160/39 94/230/39 95/161/39 +f 91/162/40 95/231/40 92/163/40 +f 99/164/41 103/232/41 100/165/41 +f 82/150/23 97/176/23 98/167/23 +f 87/153/23 99/164/23 96/166/23 +f 83/168/23 96/172/23 97/169/23 +f 100/165/23 103/232/23 102/170/23 +f 96/172/42 100/233/42 101/173/42 +f 98/174/43 102/234/43 103/175/43 +f 97/176/44 101/235/44 102/177/44 +f 107/178/23 111/181/23 110/179/23 +f 111/181/24 109/183/24 108/182/24 +f 109/183/25 105/236/25 104/184/25 +f 110/179/29 108/182/29 104/185/29 +f 107/187/36 105/237/36 109/183/36 +f 119/188/22 116/192/22 121/189/22 +f 118/191/30 115/238/30 116/192/30 +f 114/193/45 118/239/45 119/194/45 +f 122/196/46 124/197/46 123/190/46 +f 124/197/31 126/201/31 125/198/31 +f 122/196/24 115/240/24 118/199/24 +f 125/198/22 113/195/22 119/194/22 +f 118/200/24 114/241/24 126/201/24 +f 131/202/24 129/206/24 132/203/24 +f 130/205/31 128/242/31 129/206/31 +f 127/207/46 130/243/46 131/208/46 +f 132/203/45 133/212/45 135/210/45 +f 135/210/30 137/215/30 136/211/30 +f 133/212/22 128/244/22 130/213/22 +f 136/211/24 112/209/24 131/208/24 +f 130/214/22 127/245/22 137/215/22 +l 117 120 o Cube v 0.045753 0.237741 0.312500 v 0.045753 0.737741 0.312500 @@ -570,126 +744,126 @@ vn 0.0000 -0.9848 -0.1736 vn 0.0000 -0.1736 0.9848 vn 0.0000 0.1736 -0.9848 s off -f 104//26 105//26 103//26 -f 106//27 109//27 105//27 -f 110//28 107//28 109//28 -f 108//29 103//29 107//29 -f 109//30 103//30 105//30 -f 106//31 108//31 110//31 -f 112//32 113//32 111//32 -f 113//27 118//27 117//27 -f 118//33 115//33 117//33 -f 116//29 111//29 115//29 -f 117//34 111//34 113//34 -f 114//35 116//35 118//35 -f 120//36 121//36 119//36 -f 122//27 125//27 121//27 -f 126//37 123//37 125//37 -f 123//29 120//29 119//29 -f 125//38 119//38 121//38 -f 122//39 124//39 126//39 -f 128//26 129//26 127//26 -f 130//27 133//27 129//27 -f 134//28 131//28 133//28 -f 132//29 127//29 131//29 -f 133//30 127//30 129//30 -f 130//31 132//31 134//31 -f 137//30 136//30 135//30 -f 141//31 139//31 140//31 -f 137//27 142//27 138//27 -f 136//29 140//29 135//29 -f 138//28 141//28 136//28 -f 135//26 139//26 137//26 -f 145//30 144//30 143//30 -f 149//31 147//31 148//31 -f 146//28 149//28 144//28 -f 143//26 147//26 145//26 -f 145//27 150//27 146//27 -f 144//29 148//29 143//29 -f 152//40 153//40 151//40 -f 154//41 157//41 153//41 -f 157//42 156//42 155//42 -f 156//43 151//43 155//43 -f 153//44 155//44 151//44 -f 154//45 156//45 158//45 -f 160//40 161//40 159//40 -f 162//27 165//27 161//27 -f 166//42 163//42 165//42 -f 163//29 160//29 159//29 -f 165//46 159//46 161//46 -f 162//47 164//47 166//47 -f 168//28 169//28 167//28 -f 170//48 173//48 169//48 -f 174//26 171//26 173//26 -f 172//49 167//49 171//49 -f 173//50 167//50 169//50 -f 170//51 172//51 174//51 -f 176//28 177//28 175//28 -f 178//52 181//52 177//52 -f 181//26 180//26 179//26 -f 180//53 175//53 179//53 -f 181//54 175//54 177//54 -f 178//55 180//55 182//55 -f 104//26 106//26 105//26 -f 106//27 110//27 109//27 -f 110//28 108//28 107//28 -f 108//29 104//29 103//29 -f 109//30 107//30 103//30 -f 106//31 104//31 108//31 -f 112//32 114//32 113//32 -f 113//27 114//27 118//27 -f 118//33 116//33 115//33 -f 116//29 112//29 111//29 -f 117//34 115//34 111//34 -f 114//35 112//35 116//35 -f 120//36 122//36 121//36 -f 122//27 126//27 125//27 -f 126//37 124//37 123//37 -f 123//29 124//29 120//29 -f 125//38 123//38 119//38 -f 122//39 120//39 124//39 -f 128//26 130//26 129//26 -f 130//27 134//27 133//27 -f 134//28 132//28 131//28 -f 132//29 128//29 127//29 -f 133//30 131//30 127//30 -f 130//31 128//31 132//31 -f 137//30 138//30 136//30 -f 141//31 142//31 139//31 -f 137//27 139//27 142//27 -f 136//29 141//29 140//29 -f 138//28 142//28 141//28 -f 135//26 140//26 139//26 -f 145//30 146//30 144//30 -f 149//31 150//31 147//31 -f 146//28 150//28 149//28 -f 143//26 148//26 147//26 -f 145//27 147//27 150//27 -f 144//29 149//29 148//29 -f 152//40 154//40 153//40 -f 154//41 158//41 157//41 -f 157//42 158//42 156//42 -f 156//43 152//43 151//43 -f 153//44 157//44 155//44 -f 154//45 152//45 156//45 -f 160//40 162//40 161//40 -f 162//27 166//27 165//27 -f 166//42 164//42 163//42 -f 163//29 164//29 160//29 -f 165//46 163//46 159//46 -f 162//47 160//47 164//47 -f 168//28 170//28 169//28 -f 170//48 174//48 173//48 -f 174//26 172//26 171//26 -f 172//49 168//49 167//49 -f 173//50 171//50 167//50 -f 170//51 168//51 172//51 -f 176//28 178//28 177//28 -f 178//52 182//52 181//52 -f 181//26 182//26 180//26 -f 180//53 176//53 175//53 -f 181//54 179//54 175//54 -f 178//55 176//55 180//55 +f 139//47 140//47 138//47 +f 141//48 144//48 140//48 +f 145//49 142//49 144//49 +f 143//50 138//50 142//50 +f 144//51 138//51 140//51 +f 141//52 143//52 145//52 +f 147//53 148//53 146//53 +f 148//48 153//48 152//48 +f 153//54 150//54 152//54 +f 151//50 146//50 150//50 +f 152//55 146//55 148//55 +f 149//56 151//56 153//56 +f 155//57 156//57 154//57 +f 157//48 160//48 156//48 +f 161//58 158//58 160//58 +f 158//50 155//50 154//50 +f 160//59 154//59 156//59 +f 157//60 159//60 161//60 +f 163//47 164//47 162//47 +f 165//48 168//48 164//48 +f 169//49 166//49 168//49 +f 167//50 162//50 166//50 +f 168//51 162//51 164//51 +f 165//52 167//52 169//52 +f 172//51 171//51 170//51 +f 176//52 174//52 175//52 +f 172//48 177//48 173//48 +f 171//50 175//50 170//50 +f 173//49 176//49 171//49 +f 170//47 174//47 172//47 +f 180//51 179//51 178//51 +f 184//52 182//52 183//52 +f 181//49 184//49 179//49 +f 178//47 182//47 180//47 +f 180//48 185//48 181//48 +f 179//50 183//50 178//50 +f 187//61 188//61 186//61 +f 189//62 192//62 188//62 +f 192//63 191//63 190//63 +f 191//64 186//64 190//64 +f 188//65 190//65 186//65 +f 189//66 191//66 193//66 +f 195//61 196//61 194//61 +f 197//48 200//48 196//48 +f 201//63 198//63 200//63 +f 198//50 195//50 194//50 +f 200//67 194//67 196//67 +f 197//68 199//68 201//68 +f 203//49 204//49 202//49 +f 205//69 208//69 204//69 +f 209//47 206//47 208//47 +f 207//70 202//70 206//70 +f 208//71 202//71 204//71 +f 205//72 207//72 209//72 +f 211//49 212//49 210//49 +f 213//73 216//73 212//73 +f 216//47 215//47 214//47 +f 215//74 210//74 214//74 +f 216//75 210//75 212//75 +f 213//76 215//76 217//76 +f 139//47 141//47 140//47 +f 141//48 145//48 144//48 +f 145//49 143//49 142//49 +f 143//50 139//50 138//50 +f 144//51 142//51 138//51 +f 141//52 139//52 143//52 +f 147//53 149//53 148//53 +f 148//48 149//48 153//48 +f 153//54 151//54 150//54 +f 151//50 147//50 146//50 +f 152//55 150//55 146//55 +f 149//56 147//56 151//56 +f 155//57 157//57 156//57 +f 157//48 161//48 160//48 +f 161//58 159//58 158//58 +f 158//50 159//50 155//50 +f 160//59 158//59 154//59 +f 157//60 155//60 159//60 +f 163//47 165//47 164//47 +f 165//48 169//48 168//48 +f 169//49 167//49 166//49 +f 167//50 163//50 162//50 +f 168//51 166//51 162//51 +f 165//52 163//52 167//52 +f 172//51 173//51 171//51 +f 176//52 177//52 174//52 +f 172//48 174//48 177//48 +f 171//50 176//50 175//50 +f 173//49 177//49 176//49 +f 170//47 175//47 174//47 +f 180//51 181//51 179//51 +f 184//52 185//52 182//52 +f 181//49 185//49 184//49 +f 178//47 183//47 182//47 +f 180//48 182//48 185//48 +f 179//50 184//50 183//50 +f 187//61 189//61 188//61 +f 189//62 193//62 192//62 +f 192//63 193//63 191//63 +f 191//64 187//64 186//64 +f 188//65 192//65 190//65 +f 189//66 187//66 191//66 +f 195//61 197//61 196//61 +f 197//48 201//48 200//48 +f 201//63 199//63 198//63 +f 198//50 199//50 195//50 +f 200//67 198//67 194//67 +f 197//68 195//68 199//68 +f 203//49 205//49 204//49 +f 205//69 209//69 208//69 +f 209//47 207//47 206//47 +f 207//70 203//70 202//70 +f 208//71 206//71 202//71 +f 205//72 203//72 207//72 +f 211//49 213//49 212//49 +f 213//73 217//73 216//73 +f 216//47 217//47 215//47 +f 215//74 211//74 210//74 +f 216//75 214//75 210//75 +f 213//76 211//76 215//76 o FumoHead v -0.250000 0.750000 -0.250000 v -0.250000 0.750000 0.250000 @@ -840,74 +1014,74 @@ vn 0.7071 0.0000 0.7071 vn 0.8944 0.0000 0.4472 vn 0.8944 0.0000 -0.4472 s off -f 183/179/56 185/180/56 184/181/56 -f 189/182/57 187/183/57 188/184/57 -f 183/185/58 190/186/58 186/187/58 -f 185/188/59 188/189/59 184/190/59 -f 186/187/60 189/182/60 185/188/60 -f 184/191/61 187/192/61 183/185/61 -f 191/193/56 193/194/56 192/195/56 -f 197/196/57 195/197/57 196/198/57 -f 191/199/58 198/200/58 194/201/58 -f 193/202/59 196/203/59 192/204/59 -f 194/201/60 197/196/60 193/202/60 -f 192/205/61 195/206/61 191/199/61 -f 203/207/56 202/208/56 199/209/56 -f 206/210/56 200/211/56 201/212/56 -f 208/213/56 201/214/56 202/215/56 -f 210/216/56 199/217/56 200/218/56 -f 200/218/56 205/219/56 210/216/56 -f 201/212/56 207/220/56 206/210/56 -f 202/215/56 204/221/56 208/213/56 -f 199/209/56 209/222/56 203/207/56 -f 213/223/57 216/224/57 214/225/57 -f 211/226/57 218/227/57 212/228/57 -f 212/229/57 220/230/57 213/231/57 -f 214/232/57 222/233/57 211/234/57 -f 211/234/57 222/233/57 217/235/57 -f 212/228/57 218/227/57 219/236/57 -f 213/231/57 220/230/57 215/237/57 -f 214/225/57 216/224/57 221/238/57 -f 206/210/59 217/239/59 205/240/59 -f 203/207/58 215/241/58 204/242/58 -f 204/243/62 220/230/62 208/213/62 -f 209/244/63 216/224/63 203/207/63 -f 205/245/64 222/233/64 210/216/64 -f 210/216/61 221/246/61 209/247/61 -f 208/213/60 219/248/60 207/249/60 -f 207/250/65 218/227/65 206/210/65 -f 228/251/66 230/252/66 227/253/66 -f 224/254/67 226/255/67 223/256/67 -f 183/179/56 186/257/56 185/180/56 -f 189/182/57 190/186/57 187/183/57 -f 183/185/58 187/192/58 190/186/58 -f 185/188/59 189/182/59 188/189/59 -f 186/187/60 190/186/60 189/182/60 -f 184/191/61 188/258/61 187/192/61 -f 191/193/56 194/259/56 193/194/56 -f 197/196/57 198/200/57 195/197/57 -f 191/199/58 195/206/58 198/200/58 -f 193/202/59 197/196/59 196/203/59 -f 194/201/60 198/200/60 197/196/60 -f 192/205/61 196/260/61 195/206/61 -f 203/207/56 204/242/56 202/208/56 -f 206/210/56 205/240/56 200/211/56 -f 208/213/56 207/249/56 201/214/56 -f 210/216/56 209/247/56 199/217/56 -f 213/223/57 215/241/57 216/224/57 -f 211/226/57 217/239/57 218/227/57 -f 212/229/57 219/248/57 220/230/57 -f 214/232/57 221/246/57 222/233/57 -f 206/210/59 218/227/59 217/239/59 -f 203/207/58 216/224/58 215/241/58 -f 204/243/62 215/261/62 220/230/62 -f 209/244/63 221/262/63 216/224/63 -f 205/245/64 217/263/64 222/233/64 -f 210/216/61 222/233/61 221/246/61 -f 208/213/60 220/230/60 219/248/60 -f 207/250/65 219/264/65 218/227/65 -f 228/251/66 229/265/66 230/252/66 -f 224/254/67 225/266/67 226/255/67 +f 218/246/77 220/247/77 219/248/77 +f 224/249/78 222/250/78 223/251/78 +f 218/252/79 225/253/79 221/254/79 +f 220/255/80 223/256/80 219/257/80 +f 221/254/81 224/249/81 220/255/81 +f 219/258/82 222/259/82 218/252/82 +f 226/260/77 228/261/77 227/262/77 +f 232/263/78 230/264/78 231/265/78 +f 226/266/79 233/267/79 229/268/79 +f 228/269/80 231/270/80 227/271/80 +f 229/268/81 232/263/81 228/269/81 +f 227/272/82 230/273/82 226/266/82 +f 238/274/77 237/275/77 234/276/77 +f 241/277/77 235/278/77 236/279/77 +f 243/280/77 236/281/77 237/282/77 +f 245/283/77 234/284/77 235/285/77 +f 235/285/77 240/286/77 245/283/77 +f 236/279/77 242/287/77 241/277/77 +f 237/282/77 239/288/77 243/280/77 +f 234/276/77 244/289/77 238/274/77 +f 248/290/78 251/291/78 249/292/78 +f 246/293/78 253/294/78 247/295/78 +f 247/296/78 255/297/78 248/298/78 +f 249/299/78 257/300/78 246/301/78 +f 246/301/78 257/300/78 252/302/78 +f 247/295/78 253/294/78 254/303/78 +f 248/298/78 255/297/78 250/304/78 +f 249/292/78 251/291/78 256/305/78 +f 241/277/80 252/306/80 240/307/80 +f 238/274/79 250/308/79 239/309/79 +f 239/310/83 255/297/83 243/280/83 +f 244/311/84 251/291/84 238/274/84 +f 240/312/85 257/300/85 245/283/85 +f 245/283/82 256/313/82 244/314/82 +f 243/280/81 254/315/81 242/316/81 +f 242/317/86 253/294/86 241/277/86 +f 263/318/87 265/319/87 262/320/87 +f 259/321/88 261/322/88 258/323/88 +f 218/246/77 221/324/77 220/247/77 +f 224/249/78 225/253/78 222/250/78 +f 218/252/79 222/259/79 225/253/79 +f 220/255/80 224/249/80 223/256/80 +f 221/254/81 225/253/81 224/249/81 +f 219/258/82 223/325/82 222/259/82 +f 226/260/77 229/326/77 228/261/77 +f 232/263/78 233/267/78 230/264/78 +f 226/266/79 230/273/79 233/267/79 +f 228/269/80 232/263/80 231/270/80 +f 229/268/81 233/267/81 232/263/81 +f 227/272/82 231/327/82 230/273/82 +f 238/274/77 239/309/77 237/275/77 +f 241/277/77 240/307/77 235/278/77 +f 243/280/77 242/316/77 236/281/77 +f 245/283/77 244/314/77 234/284/77 +f 248/290/78 250/308/78 251/291/78 +f 246/293/78 252/306/78 253/294/78 +f 247/296/78 254/315/78 255/297/78 +f 249/299/78 256/313/78 257/300/78 +f 241/277/80 253/294/80 252/306/80 +f 238/274/79 251/291/79 250/308/79 +f 239/310/83 250/328/83 255/297/83 +f 244/311/84 256/329/84 251/291/84 +f 240/312/85 252/330/85 257/300/85 +f 245/283/82 257/300/82 256/313/82 +f 243/280/81 255/297/81 254/315/81 +f 242/317/86 254/331/86 253/294/86 +f 263/318/87 264/332/87 265/319/87 +f 259/321/88 260/333/88 261/322/88 o Fumo v -0.390165 0.375000 -0.213388 v -0.213388 0.375000 -0.390165 @@ -1244,122 +1418,122 @@ vn 0.0000 0.9659 -0.2588 vn 0.0000 -0.9659 0.2588 vn 0.0000 -0.2588 -0.9659 s off -f 336/267/68 342/268/68 338/269/68 -f 336/270/69 337/271/69 335/272/69 -f 259/273/70 241/274/70 242/275/70 -f 333/276/71 331/277/71 332/278/71 -f 328/279/72 333/280/72 327/281/72 -f 240/282/73 241/283/73 239/284/73 -f 260/285/74 239/286/74 241/274/74 -f 236/287/75 237/288/75 238/289/75 -f 246/290/76 243/291/76 245/292/76 -f 262/293/77 242/275/77 240/282/77 -f 261/294/78 240/282/78 239/295/78 -f 249/296/74 248/297/74 247/298/74 -f 253/299/77 251/300/77 252/301/77 -f 250/302/68 253/299/68 248/303/68 -f 247/304/79 251/305/79 249/306/79 -f 249/306/80 254/307/80 250/302/80 -f 248/303/81 252/308/81 247/309/81 -f 255/310/82 258/311/82 256/312/82 -f 259/313/83 261/314/83 260/315/83 -f 271/316/84 274/317/84 272/318/84 -f 268/319/85 269/320/85 270/321/85 -f 328/279/77 331/322/77 334/323/77 -f 329/324/74 333/325/74 332/326/74 -f 275/327/86 278/328/86 276/329/86 -f 279/330/87 282/331/87 280/332/87 -f 284/333/88 285/334/88 286/335/88 -f 289/336/89 288/337/89 287/338/89 -f 231/339/90 234/340/90 233/341/90 -f 313/342/91 312/343/91 314/344/91 -f 298/345/68 288/346/68 290/347/68 -f 295/348/92 290/347/92 289/336/92 -f 297/349/93 287/350/93 288/346/93 -f 297/351/94 295/352/94 296/353/94 -f 263/354/95 266/355/95 265/356/95 -f 315/357/96 318/358/96 317/359/96 -f 294/360/97 291/361/97 292/362/97 -f 296/363/79 289/336/79 287/364/79 -f 299/365/98 302/366/98 301/367/98 -f 305/368/89 304/369/89 303/370/89 -f 306/371/68 309/372/68 304/373/68 -f 307/374/92 306/371/92 305/368/92 -f 309/372/93 303/375/93 304/373/93 -f 309/376/94 307/377/94 308/378/94 -f 308/379/79 305/368/79 303/380/79 -f 329/381/99 328/279/99 327/382/99 -f 329/324/100 331/322/100 330/383/100 -f 326/384/101 323/385/101 324/386/101 -f 322/387/102 319/388/102 320/389/102 -f 338/269/103 339/390/103 337/271/103 -f 335/391/104 341/392/104 336/267/104 -f 339/393/105 341/394/105 340/395/105 -f 335/396/79 339/390/79 340/397/79 -f 344/398/69 345/399/69 343/400/69 -f 346/401/68 349/402/68 350/403/68 -f 346/401/103 347/404/103 345/399/103 -f 343/405/104 349/402/104 344/406/104 -f 347/407/105 349/408/105 348/409/105 -f 345/399/79 348/410/79 343/411/79 -f 336/267/68 341/392/68 342/268/68 -f 336/270/69 338/269/69 337/271/69 -f 259/273/70 260/285/70 241/274/70 -f 333/276/71 334/412/71 331/277/71 -f 328/279/72 334/323/72 333/280/72 -f 240/282/73 242/275/73 241/283/73 -f 260/285/74 261/413/74 239/286/74 -f 236/287/75 235/414/75 237/288/75 -f 246/290/76 244/415/76 243/291/76 -f 262/293/77 259/273/77 242/275/77 -f 261/294/78 262/293/78 240/282/78 -f 249/296/74 250/416/74 248/297/74 -f 253/299/77 254/307/77 251/300/77 -f 250/302/68 254/307/68 253/299/68 -f 247/304/79 252/417/79 251/305/79 -f 249/306/80 251/305/80 254/307/80 -f 248/303/81 253/299/81 252/308/81 -f 255/310/82 257/418/82 258/311/82 -f 259/313/83 262/419/83 261/314/83 -f 271/316/84 273/420/84 274/317/84 -f 268/319/85 267/421/85 269/320/85 -f 328/279/77 330/383/77 331/322/77 -f 329/324/74 327/422/74 333/325/74 -f 275/327/86 277/423/86 278/328/86 -f 279/330/87 281/424/87 282/331/87 -f 284/333/88 283/425/88 285/334/88 -f 289/336/89 290/347/89 288/337/89 -f 231/339/90 232/426/90 234/340/90 -f 313/342/91 311/427/91 312/343/91 -f 298/345/68 297/349/68 288/346/68 -f 295/348/92 298/345/92 290/347/92 -f 297/349/93 296/428/93 287/350/93 -f 297/351/94 298/429/94 295/352/94 -f 263/354/95 264/430/95 266/355/95 -f 315/357/96 316/431/96 318/358/96 -f 294/360/97 293/432/97 291/361/97 -f 296/363/79 295/348/79 289/336/79 -f 299/365/98 300/433/98 302/366/98 -f 305/368/89 306/371/89 304/369/89 -f 306/371/68 310/434/68 309/372/68 -f 307/374/92 310/434/92 306/371/92 -f 309/372/93 308/435/93 303/375/93 -f 309/376/94 310/436/94 307/377/94 -f 308/379/79 307/374/79 305/368/79 -f 329/381/99 330/383/99 328/279/99 -f 329/324/100 332/326/100 331/322/100 -f 326/384/101 325/437/101 323/385/101 -f 322/387/102 321/438/102 319/388/102 -f 338/269/103 342/268/103 339/390/103 -f 335/391/104 340/439/104 341/392/104 -f 339/393/105 342/440/105 341/394/105 -f 335/396/79 337/271/79 339/390/79 -f 344/398/69 346/401/69 345/399/69 -f 346/401/68 344/406/68 349/402/68 -f 346/401/103 350/403/103 347/404/103 -f 343/405/104 348/441/104 349/402/104 -f 347/407/105 350/442/105 349/408/105 -f 345/399/79 347/404/79 348/410/79 +f 371/334/89 377/335/89 373/336/89 +f 371/337/90 372/338/90 370/339/90 +f 294/340/91 276/341/91 277/342/91 +f 368/343/92 366/344/92 367/345/92 +f 363/346/93 368/347/93 362/348/93 +f 275/349/94 276/350/94 274/351/94 +f 295/352/95 274/353/95 276/341/95 +f 271/354/96 272/355/96 273/356/96 +f 281/357/97 278/358/97 280/359/97 +f 297/360/98 277/342/98 275/349/98 +f 296/361/99 275/349/99 274/362/99 +f 284/363/95 283/364/95 282/365/95 +f 288/366/98 286/367/98 287/368/98 +f 285/369/89 288/366/89 283/370/89 +f 282/371/100 286/372/100 284/373/100 +f 284/373/101 289/374/101 285/369/101 +f 283/370/102 287/375/102 282/376/102 +f 290/377/103 293/378/103 291/379/103 +f 294/380/104 296/381/104 295/382/104 +f 306/383/105 309/384/105 307/385/105 +f 303/386/106 304/387/106 305/388/106 +f 363/346/98 366/389/98 369/390/98 +f 364/391/95 368/392/95 367/393/95 +f 310/394/107 313/395/107 311/396/107 +f 314/397/108 317/398/108 315/399/108 +f 319/400/109 320/401/109 321/402/109 +f 324/403/110 323/404/110 322/405/110 +f 266/406/111 269/407/111 268/408/111 +f 348/409/112 347/410/112 349/411/112 +f 333/412/89 323/413/89 325/414/89 +f 330/415/113 325/414/113 324/403/113 +f 332/416/114 322/417/114 323/413/114 +f 332/418/115 330/419/115 331/420/115 +f 298/421/116 301/422/116 300/423/116 +f 350/424/117 353/425/117 352/426/117 +f 329/427/118 326/428/118 327/429/118 +f 331/430/100 324/403/100 322/431/100 +f 334/432/119 337/433/119 336/434/119 +f 340/435/110 339/436/110 338/437/110 +f 341/438/89 344/439/89 339/440/89 +f 342/441/113 341/438/113 340/435/113 +f 344/439/114 338/442/114 339/440/114 +f 344/443/115 342/444/115 343/445/115 +f 343/446/100 340/435/100 338/447/100 +f 364/448/120 363/346/120 362/449/120 +f 364/391/121 366/389/121 365/450/121 +f 361/451/122 358/452/122 359/453/122 +f 357/454/123 354/455/123 355/456/123 +f 373/336/124 374/457/124 372/338/124 +f 370/458/125 376/459/125 371/334/125 +f 374/460/126 376/461/126 375/462/126 +f 370/463/100 374/457/100 375/464/100 +f 379/465/90 380/466/90 378/467/90 +f 381/468/89 384/469/89 385/470/89 +f 381/468/124 382/471/124 380/466/124 +f 378/472/125 384/469/125 379/473/125 +f 382/474/126 384/475/126 383/476/126 +f 380/466/100 383/477/100 378/478/100 +f 371/334/89 376/459/89 377/335/89 +f 371/337/90 373/336/90 372/338/90 +f 294/340/91 295/352/91 276/341/91 +f 368/343/92 369/479/92 366/344/92 +f 363/346/93 369/390/93 368/347/93 +f 275/349/94 277/342/94 276/350/94 +f 295/352/95 296/480/95 274/353/95 +f 271/354/96 270/481/96 272/355/96 +f 281/357/97 279/482/97 278/358/97 +f 297/360/98 294/340/98 277/342/98 +f 296/361/99 297/360/99 275/349/99 +f 284/363/95 285/483/95 283/364/95 +f 288/366/98 289/374/98 286/367/98 +f 285/369/89 289/374/89 288/366/89 +f 282/371/100 287/484/100 286/372/100 +f 284/373/101 286/372/101 289/374/101 +f 283/370/102 288/366/102 287/375/102 +f 290/377/103 292/485/103 293/378/103 +f 294/380/104 297/486/104 296/381/104 +f 306/383/105 308/487/105 309/384/105 +f 303/386/106 302/488/106 304/387/106 +f 363/346/98 365/450/98 366/389/98 +f 364/391/95 362/489/95 368/392/95 +f 310/394/107 312/490/107 313/395/107 +f 314/397/108 316/491/108 317/398/108 +f 319/400/109 318/492/109 320/401/109 +f 324/403/110 325/414/110 323/404/110 +f 266/406/111 267/493/111 269/407/111 +f 348/409/112 346/494/112 347/410/112 +f 333/412/89 332/416/89 323/413/89 +f 330/415/113 333/412/113 325/414/113 +f 332/416/114 331/495/114 322/417/114 +f 332/418/115 333/496/115 330/419/115 +f 298/421/116 299/497/116 301/422/116 +f 350/424/117 351/498/117 353/425/117 +f 329/427/118 328/499/118 326/428/118 +f 331/430/100 330/415/100 324/403/100 +f 334/432/119 335/500/119 337/433/119 +f 340/435/110 341/438/110 339/436/110 +f 341/438/89 345/501/89 344/439/89 +f 342/441/113 345/501/113 341/438/113 +f 344/439/114 343/502/114 338/442/114 +f 344/443/115 345/503/115 342/444/115 +f 343/446/100 342/441/100 340/435/100 +f 364/448/120 365/450/120 363/346/120 +f 364/391/121 367/393/121 366/389/121 +f 361/451/122 360/504/122 358/452/122 +f 357/454/123 356/505/123 354/455/123 +f 373/336/124 377/335/124 374/457/124 +f 370/458/125 375/506/125 376/459/125 +f 374/460/126 377/507/126 376/461/126 +f 370/463/100 372/338/100 374/457/100 +f 379/465/90 381/468/90 380/466/90 +f 381/468/89 379/473/89 384/469/89 +f 381/468/124 385/470/124 382/471/124 +f 378/472/125 383/508/125 384/469/125 +f 382/474/126 385/509/126 384/475/126 +f 380/466/100 382/471/100 383/477/100 o Horn v 0.205806 2.419194 0.062500 v 0.294194 2.330806 0.062500 @@ -1380,10 +1554,10 @@ vn 0.0587 0.0587 -0.9965 vn 0.0587 0.0587 0.9965 vn -0.6459 0.7634 0.0000 s off -f 354/443/106 355/444/106 352/445/106 -f 353/446/107 355/444/107 354/447/107 -f 352/448/108 355/444/108 351/449/108 -f 353/450/109 351/451/109 355/444/109 +f 389/510/127 390/511/127 387/512/127 +f 388/513/128 390/511/128 389/514/128 +f 387/515/129 390/511/129 386/516/129 +f 388/517/130 386/518/130 390/511/130 o PelletShine v -0.000000 0.250000 -0.375000 v -0.187500 0.250000 -0.324760 @@ -1447,64 +1621,64 @@ vn 0.1862 0.6947 0.6947 vn 0.5086 0.6947 0.5086 vn 0.0000 1.0000 0.0000 s off -f 370//110 357//110 358//110 -f 377//111 364//111 365//111 -f 374//112 361//112 362//112 -f 371//113 358//113 359//113 -f 378//114 365//114 366//114 -f 375//115 362//115 363//115 -f 372//116 359//116 360//116 -f 379//117 366//117 367//117 -f 369//118 356//118 357//118 -f 376//119 363//119 364//119 -f 373//120 360//120 361//120 -f 368//121 367//121 356//121 -f 377//122 388//122 376//122 -f 377//123 390//123 389//123 -f 378//124 391//124 390//124 -f 379//125 380//125 391//125 -f 368//126 381//126 380//126 -f 369//127 382//127 381//127 -f 371//128 382//128 370//128 -f 372//129 383//129 371//129 -f 373//130 384//130 372//130 -f 374//131 385//131 373//131 -f 375//132 386//132 374//132 -f 376//133 387//133 375//133 -f 388//134 390//134 380//134 -f 370//110 369//110 357//110 -f 377//111 376//111 364//111 -f 374//112 373//112 361//112 -f 371//113 370//113 358//113 -f 378//114 377//114 365//114 -f 375//115 374//115 362//115 -f 372//116 371//116 359//116 -f 379//117 378//117 366//117 -f 369//118 368//118 356//118 -f 376//119 375//119 363//119 -f 373//120 372//120 360//120 -f 368//121 379//121 367//121 -f 377//122 389//122 388//122 -f 377//123 378//123 390//123 -f 378//124 379//124 391//124 -f 379//125 368//125 380//125 -f 368//126 369//126 381//126 -f 369//127 370//127 382//127 -f 371//128 383//128 382//128 -f 372//129 384//129 383//129 -f 373//130 385//130 384//130 -f 374//131 386//131 385//131 -f 375//132 387//132 386//132 -f 376//133 388//133 387//133 -f 380//134 381//134 384//134 -f 381//134 382//134 384//134 -f 382//134 383//134 384//134 -f 384//134 385//134 386//134 -f 386//134 387//134 388//134 -f 388//134 389//134 390//134 -f 390//134 391//134 380//134 -f 384//134 386//134 380//134 -f 386//134 388//134 380//134 +f 405//131 392//131 393//131 +f 412//132 399//132 400//132 +f 409//133 396//133 397//133 +f 406//134 393//134 394//134 +f 413//135 400//135 401//135 +f 410//136 397//136 398//136 +f 407//137 394//137 395//137 +f 414//138 401//138 402//138 +f 404//139 391//139 392//139 +f 411//140 398//140 399//140 +f 408//141 395//141 396//141 +f 403//142 402//142 391//142 +f 412//143 423//143 411//143 +f 412//144 425//144 424//144 +f 413//145 426//145 425//145 +f 414//146 415//146 426//146 +f 403//147 416//147 415//147 +f 404//148 417//148 416//148 +f 406//149 417//149 405//149 +f 407//150 418//150 406//150 +f 408//151 419//151 407//151 +f 409//152 420//152 408//152 +f 410//153 421//153 409//153 +f 411//154 422//154 410//154 +f 423//155 425//155 415//155 +f 405//131 404//131 392//131 +f 412//132 411//132 399//132 +f 409//133 408//133 396//133 +f 406//134 405//134 393//134 +f 413//135 412//135 400//135 +f 410//136 409//136 397//136 +f 407//137 406//137 394//137 +f 414//138 413//138 401//138 +f 404//139 403//139 391//139 +f 411//140 410//140 398//140 +f 408//141 407//141 395//141 +f 403//142 414//142 402//142 +f 412//143 424//143 423//143 +f 412//144 413//144 425//144 +f 413//145 414//145 426//145 +f 414//146 403//146 415//146 +f 403//147 404//147 416//147 +f 404//148 405//148 417//148 +f 406//149 418//149 417//149 +f 407//150 419//150 418//150 +f 408//151 420//151 419//151 +f 409//152 421//152 420//152 +f 410//153 422//153 421//153 +f 411//154 423//154 422//154 +f 415//155 416//155 419//155 +f 416//155 417//155 419//155 +f 417//155 418//155 419//155 +f 419//155 420//155 421//155 +f 421//155 422//155 423//155 +f 423//155 424//155 425//155 +f 425//155 426//155 415//155 +f 419//155 421//155 415//155 +f 421//155 423//155 415//155 o Pellet v 0.000000 0.250000 -0.312500 v -0.156250 0.250000 -0.270633 @@ -1630,64 +1804,64 @@ vn 0.6947 0.6947 0.1862 vn 0.6947 0.6947 -0.1862 vn 0.0000 1.0000 -0.0000 s off -f 398/452/135 409/453/135 397/454/135 -f 395/455/136 406/456/136 394/457/136 -f 402/458/137 413/459/137 401/460/137 -f 399/461/138 410/462/138 398/452/138 -f 396/463/139 407/464/139 395/465/139 -f 403/466/140 414/467/140 402/458/140 -f 393/468/141 404/469/141 392/470/141 -f 400/471/142 411/472/142 399/461/142 -f 397/454/143 408/473/143 396/463/143 -f 392/470/144 415/474/144 403/466/144 -f 394/457/145 405/475/145 393/468/145 -f 401/460/146 412/476/146 400/471/146 -f 414/467/147 427/477/147 426/478/147 -f 415/474/148 416/479/148 427/480/148 -f 405/475/149 416/481/149 404/469/149 -f 406/456/150 417/482/150 405/475/150 -f 407/483/151 418/484/151 406/456/151 -f 408/473/152 419/485/152 407/464/152 -f 409/453/153 420/486/153 408/473/153 -f 410/462/154 421/487/154 409/453/154 -f 411/472/155 422/488/155 410/462/155 -f 411/472/156 424/489/156 423/490/156 -f 412/476/157 425/491/157 424/492/157 -f 413/459/158 426/493/158 425/494/158 -f 420/495/159 424/496/159 416/497/159 -f 398/452/135 410/462/135 409/453/135 -f 395/455/136 407/483/136 406/456/136 -f 402/458/137 414/467/137 413/459/137 -f 399/461/138 411/472/138 410/462/138 -f 396/463/139 408/473/139 407/464/139 -f 403/466/140 415/474/140 414/467/140 -f 393/468/141 405/475/141 404/469/141 -f 400/471/142 412/476/142 411/472/142 -f 397/454/143 409/453/143 408/473/143 -f 392/470/144 404/469/144 415/474/144 -f 394/457/145 406/456/145 405/475/145 -f 401/460/146 413/459/146 412/476/146 -f 414/467/147 415/474/147 427/477/147 -f 415/474/148 404/469/148 416/479/148 -f 405/475/149 417/498/149 416/481/149 -f 406/456/150 418/499/150 417/482/150 -f 407/483/151 419/500/151 418/484/151 -f 408/473/152 420/501/152 419/485/152 -f 409/453/153 421/502/153 420/486/153 -f 410/462/154 422/503/154 421/487/154 -f 411/472/155 423/504/155 422/488/155 -f 411/472/156 412/476/156 424/489/156 -f 412/476/157 413/459/157 425/491/157 -f 413/459/158 414/467/158 426/493/158 -f 416/497/159 417/505/159 418/506/159 -f 418/506/159 419/507/159 420/495/159 -f 420/495/159 421/508/159 422/509/159 -f 422/509/159 423/510/159 420/495/159 -f 423/510/159 424/496/159 420/495/159 -f 424/496/159 425/511/159 426/512/159 -f 426/512/159 427/513/159 416/497/159 -f 416/497/159 418/506/159 420/495/159 -f 424/496/159 426/512/159 416/497/159 +f 433/519/156 444/520/156 432/521/156 +f 430/522/157 441/523/157 429/524/157 +f 437/525/158 448/526/158 436/527/158 +f 434/528/159 445/529/159 433/519/159 +f 431/530/160 442/531/160 430/532/160 +f 438/533/161 449/534/161 437/525/161 +f 428/535/162 439/536/162 427/537/162 +f 435/538/163 446/539/163 434/528/163 +f 432/521/164 443/540/164 431/530/164 +f 427/537/165 450/541/165 438/533/165 +f 429/524/166 440/542/166 428/535/166 +f 436/527/167 447/543/167 435/538/167 +f 449/534/168 462/544/168 461/545/168 +f 450/541/169 451/546/169 462/547/169 +f 440/542/170 451/548/170 439/536/170 +f 441/523/171 452/549/171 440/542/171 +f 442/550/172 453/551/172 441/523/172 +f 443/540/173 454/552/173 442/531/173 +f 444/520/174 455/553/174 443/540/174 +f 445/529/175 456/554/175 444/520/175 +f 446/539/176 457/555/176 445/529/176 +f 446/539/177 459/556/177 458/557/177 +f 447/543/178 460/558/178 459/559/178 +f 448/526/179 461/560/179 460/561/179 +f 455/562/180 459/563/180 451/564/180 +f 433/519/156 445/529/156 444/520/156 +f 430/522/157 442/550/157 441/523/157 +f 437/525/158 449/534/158 448/526/158 +f 434/528/159 446/539/159 445/529/159 +f 431/530/160 443/540/160 442/531/160 +f 438/533/161 450/541/161 449/534/161 +f 428/535/162 440/542/162 439/536/162 +f 435/538/163 447/543/163 446/539/163 +f 432/521/164 444/520/164 443/540/164 +f 427/537/165 439/536/165 450/541/165 +f 429/524/166 441/523/166 440/542/166 +f 436/527/167 448/526/167 447/543/167 +f 449/534/168 450/541/168 462/544/168 +f 450/541/169 439/536/169 451/546/169 +f 440/542/170 452/565/170 451/548/170 +f 441/523/171 453/566/171 452/549/171 +f 442/550/172 454/567/172 453/551/172 +f 443/540/173 455/568/173 454/552/173 +f 444/520/174 456/569/174 455/553/174 +f 445/529/175 457/570/175 456/554/175 +f 446/539/176 458/571/176 457/555/176 +f 446/539/177 447/543/177 459/556/177 +f 447/543/178 448/526/178 460/558/178 +f 448/526/179 449/534/179 461/560/179 +f 451/564/180 452/572/180 453/573/180 +f 453/573/180 454/574/180 455/562/180 +f 455/562/180 456/575/180 457/576/180 +f 457/576/180 458/577/180 455/562/180 +f 458/577/180 459/563/180 455/562/180 +f 459/563/180 460/578/180 461/579/180 +f 461/579/180 462/580/180 451/564/180 +f 451/564/180 453/573/180 455/562/180 +f 459/563/180 461/579/180 451/564/180 o Head v 0.375000 1.750000 0.375000 v -0.375000 1.750000 0.375000 @@ -1744,30 +1918,30 @@ vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 s off -f 431/514/160 428/515/160 429/516/160 -f 432/517/161 434/518/161 433/519/161 -f 430/520/162 432/517/162 428/521/162 -f 428/521/163 433/522/163 429/523/163 -f 429/524/164 434/525/164 431/526/164 -f 431/526/165 435/527/165 430/520/165 -f 439/528/160 436/529/160 437/530/160 -f 440/531/161 442/532/161 441/533/161 -f 438/534/162 440/531/162 436/535/162 -f 436/535/163 441/536/163 437/537/163 -f 437/538/164 442/539/164 439/540/164 -f 439/540/165 443/541/165 438/534/165 -f 431/514/160 430/542/160 428/515/160 -f 432/517/161 435/527/161 434/518/161 -f 430/520/162 435/527/162 432/517/162 -f 428/521/163 432/517/163 433/522/163 -f 429/524/164 433/543/164 434/525/164 -f 431/526/165 434/525/165 435/527/165 -f 439/528/160 438/544/160 436/529/160 -f 440/531/161 443/541/161 442/532/161 -f 438/534/162 443/541/162 440/531/162 -f 436/535/163 440/531/163 441/536/163 -f 437/538/164 441/545/164 442/539/164 -f 439/540/165 442/539/165 443/541/165 +f 466/581/181 463/582/181 464/583/181 +f 467/584/182 469/585/182 468/586/182 +f 465/587/183 467/584/183 463/588/183 +f 463/588/184 468/589/184 464/590/184 +f 464/591/185 469/592/185 466/593/185 +f 466/593/186 470/594/186 465/587/186 +f 474/595/181 471/596/181 472/597/181 +f 475/598/182 477/599/182 476/600/182 +f 473/601/183 475/598/183 471/602/183 +f 471/602/184 476/603/184 472/604/184 +f 472/605/185 477/606/185 474/607/185 +f 474/607/186 478/608/186 473/601/186 +f 466/581/181 465/609/181 463/582/181 +f 467/584/182 470/594/182 469/585/182 +f 465/587/183 470/594/183 467/584/183 +f 463/588/184 467/584/184 468/589/184 +f 464/591/185 468/610/185 469/592/185 +f 466/593/186 469/592/186 470/594/186 +f 474/595/181 473/611/181 471/596/181 +f 475/598/182 478/608/182 477/599/182 +f 473/601/183 478/608/183 475/598/183 +f 471/602/184 475/598/184 476/603/184 +f 472/605/185 476/612/185 477/606/185 +f 474/607/186 477/606/186 478/608/186 o LA v -0.125000 1.000000 -0.250000 v 0.125000 1.000000 -0.250000 @@ -1824,30 +1998,30 @@ vn 0.0000 1.0000 0.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 1.0000 s off -f 450/546/166 445/547/166 449/548/166 -f 449/548/167 451/549/167 450/546/167 -f 448/550/168 446/551/168 451/549/168 -f 450/546/169 446/552/169 447/553/169 -f 449/554/170 444/555/170 448/556/170 -f 446/557/171 445/547/171 447/553/171 -f 457/558/170 452/559/170 456/560/170 -f 459/561/166 453/562/166 457/563/166 -f 458/564/169 455/565/169 459/561/169 -f 456/566/168 454/567/168 458/568/168 -f 454/569/171 453/562/171 455/565/171 -f 457/563/167 458/568/167 459/561/167 -f 450/546/166 447/553/166 445/547/166 -f 449/548/167 448/550/167 451/549/167 -f 448/550/168 444/570/168 446/551/168 -f 450/546/169 451/571/169 446/552/169 -f 449/554/170 445/572/170 444/555/170 -f 446/557/171 444/573/171 445/547/171 -f 457/558/170 453/574/170 452/559/170 -f 459/561/166 455/565/166 453/562/166 -f 458/564/169 454/575/169 455/565/169 -f 456/566/168 452/576/168 454/567/168 -f 454/569/171 452/577/171 453/562/171 -f 457/563/167 456/566/167 458/568/167 +f 485/613/187 480/614/187 484/615/187 +f 484/615/188 486/616/188 485/613/188 +f 483/617/189 481/618/189 486/616/189 +f 485/613/190 481/619/190 482/620/190 +f 484/621/191 479/622/191 483/623/191 +f 481/624/192 480/614/192 482/620/192 +f 492/625/191 487/626/191 491/627/191 +f 494/628/187 488/629/187 492/630/187 +f 493/631/190 490/632/190 494/628/190 +f 491/633/189 489/634/189 493/635/189 +f 489/636/192 488/629/192 490/632/192 +f 492/630/188 493/635/188 494/628/188 +f 485/613/187 482/620/187 480/614/187 +f 484/615/188 483/617/188 486/616/188 +f 483/617/189 479/637/189 481/618/189 +f 485/613/190 486/638/190 481/619/190 +f 484/621/191 480/639/191 479/622/191 +f 481/624/192 479/640/192 480/614/192 +f 492/625/191 488/641/191 487/626/191 +f 494/628/187 490/632/187 488/629/187 +f 493/631/190 489/642/190 490/632/190 +f 491/633/189 487/643/189 489/634/189 +f 489/636/192 487/644/192 488/629/192 +f 492/630/188 491/633/188 493/635/188 o RA v -0.125000 1.750000 0.250000 v 0.125000 1.750000 0.250000 @@ -1904,30 +2078,30 @@ vn 0.0000 -1.0000 0.0000 vn 1.0000 0.0000 -0.0000 vn 0.0000 1.0000 0.0000 s off -f 462/578/172 460/579/172 461/580/172 -f 465/581/173 466/582/173 464/583/173 -f 463/584/174 465/585/174 460/579/174 -f 462/586/175 467/587/175 463/588/175 -f 461/580/176 466/582/176 462/578/176 -f 461/580/177 465/589/177 464/583/177 -f 470/590/172 469/591/172 468/592/172 -f 473/593/173 474/594/173 472/595/173 -f 471/596/174 473/597/174 469/591/174 -f 469/598/177 472/595/177 468/592/177 -f 468/592/176 474/594/176 470/590/176 -f 470/599/175 475/600/175 471/601/175 -f 462/578/172 463/584/172 460/579/172 -f 465/581/173 467/602/173 466/582/173 -f 463/584/174 467/603/174 465/585/174 -f 462/586/175 466/604/175 467/587/175 -f 461/580/176 464/583/176 466/582/176 -f 461/580/177 460/605/177 465/589/177 -f 470/590/172 471/596/172 469/591/172 -f 473/593/173 475/606/173 474/594/173 -f 471/596/174 475/607/174 473/597/174 -f 469/598/177 473/608/177 472/595/177 -f 468/592/176 472/595/176 474/594/176 -f 470/599/175 474/609/175 475/600/175 +f 497/645/193 495/646/193 496/647/193 +f 500/648/194 501/649/194 499/650/194 +f 498/651/195 500/652/195 495/646/195 +f 497/653/196 502/654/196 498/655/196 +f 496/647/197 501/649/197 497/645/197 +f 496/647/198 500/656/198 499/650/198 +f 505/657/193 504/658/193 503/659/193 +f 508/660/194 509/661/194 507/662/194 +f 506/663/195 508/664/195 504/658/195 +f 504/665/198 507/662/198 503/659/198 +f 503/659/197 509/661/197 505/657/197 +f 505/666/196 510/667/196 506/668/196 +f 497/645/193 498/651/193 495/646/193 +f 500/648/194 502/669/194 501/649/194 +f 498/651/195 502/670/195 500/652/195 +f 497/653/196 501/671/196 502/654/196 +f 496/647/197 499/650/197 501/649/197 +f 496/647/198 495/672/198 500/656/198 +f 505/657/193 506/663/193 504/658/193 +f 508/660/194 510/673/194 509/661/194 +f 506/663/195 510/674/195 508/664/195 +f 504/665/198 508/675/198 507/662/198 +f 503/659/197 507/662/197 509/661/197 +f 505/666/196 509/676/196 510/667/196 o LL v -0.125000 1.000000 -0.250000 v -0.125000 0.250000 -0.250000 @@ -1984,30 +2158,30 @@ vn 1.0000 0.0000 -0.0000 vn 0.0000 1.0000 0.0000 vn 0.0000 0.0000 -1.0000 s off -f 477/610/178 483/611/178 481/612/178 -f 480/613/179 477/614/179 481/615/179 -f 482/616/180 481/617/180 483/618/180 -f 478/619/181 483/618/181 479/620/181 -f 480/621/182 478/619/182 476/622/182 -f 476/623/183 479/620/183 477/614/183 -f 488/624/182 486/625/182 484/626/182 -f 485/627/178 491/628/178 489/629/178 -f 486/625/181 491/630/181 487/631/181 -f 484/632/183 487/631/183 485/633/183 -f 488/634/179 485/633/179 489/635/179 -f 490/636/180 489/637/180 491/630/180 -f 477/610/178 479/638/178 483/611/178 -f 480/613/179 476/623/179 477/614/179 -f 482/616/180 480/639/180 481/617/180 -f 478/619/181 482/616/181 483/618/181 -f 480/621/182 482/616/182 478/619/182 -f 476/623/183 478/619/183 479/620/183 -f 488/624/182 490/636/182 486/625/182 -f 485/627/178 487/640/178 491/628/178 -f 486/625/181 490/636/181 491/630/181 -f 484/632/183 486/625/183 487/631/183 -f 488/634/179 484/632/179 485/633/179 -f 490/636/180 488/641/180 489/637/180 +f 512/677/199 518/678/199 516/679/199 +f 515/680/200 512/681/200 516/682/200 +f 517/683/201 516/684/201 518/685/201 +f 513/686/202 518/685/202 514/687/202 +f 515/688/203 513/686/203 511/689/203 +f 511/690/204 514/687/204 512/681/204 +f 523/691/203 521/692/203 519/693/203 +f 520/694/199 526/695/199 524/696/199 +f 521/692/202 526/697/202 522/698/202 +f 519/699/204 522/698/204 520/700/204 +f 523/701/200 520/700/200 524/702/200 +f 525/703/201 524/704/201 526/697/201 +f 512/677/199 514/705/199 518/678/199 +f 515/680/200 511/690/200 512/681/200 +f 517/683/201 515/706/201 516/684/201 +f 513/686/202 517/683/202 518/685/202 +f 515/688/203 517/683/203 513/686/203 +f 511/690/204 513/686/204 514/687/204 +f 523/691/203 525/703/203 521/692/203 +f 520/694/199 522/707/199 526/695/199 +f 521/692/202 525/703/202 526/697/202 +f 519/699/204 521/692/204 522/698/204 +f 523/701/200 519/699/200 520/700/200 +f 525/703/201 523/708/201 524/704/201 o RL v 0.125000 0.250000 0.250000 v 0.125000 1.000000 0.250000 @@ -2064,30 +2238,30 @@ vn 1.0000 0.0000 -0.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 s off -f 493/642/184 494/643/184 492/644/184 -f 495/645/185 498/646/185 494/647/185 -f 499/648/186 496/649/186 498/646/186 -f 497/650/187 492/644/187 496/649/187 -f 498/651/188 492/652/188 494/653/188 -f 495/654/189 497/650/189 499/655/189 -f 501/656/184 502/657/184 500/658/184 -f 503/659/185 506/660/185 502/661/185 -f 507/662/186 504/663/186 506/660/186 -f 505/664/187 500/658/187 504/663/187 -f 506/665/188 500/666/188 502/667/188 -f 503/668/189 505/664/189 507/669/189 -f 493/642/184 495/670/184 494/643/184 -f 495/645/185 499/648/185 498/646/185 -f 499/648/186 497/650/186 496/649/186 -f 497/650/187 493/642/187 492/644/187 -f 498/651/188 496/671/188 492/652/188 -f 495/654/189 493/642/189 497/650/189 -f 501/656/184 503/672/184 502/657/184 -f 503/659/185 507/662/185 506/660/185 -f 507/662/186 505/664/186 504/663/186 -f 505/664/187 501/656/187 500/658/187 -f 506/665/188 504/673/188 500/666/188 -f 503/668/189 501/656/189 505/664/189 +f 528/709/205 529/710/205 527/711/205 +f 530/712/206 533/713/206 529/714/206 +f 534/715/207 531/716/207 533/713/207 +f 532/717/208 527/711/208 531/716/208 +f 533/718/209 527/719/209 529/720/209 +f 530/721/210 532/717/210 534/722/210 +f 536/723/205 537/724/205 535/725/205 +f 538/726/206 541/727/206 537/728/206 +f 542/729/207 539/730/207 541/727/207 +f 540/731/208 535/725/208 539/730/208 +f 541/732/209 535/733/209 537/734/209 +f 538/735/210 540/731/210 542/736/210 +f 528/709/205 530/737/205 529/710/205 +f 530/712/206 534/715/206 533/713/206 +f 534/715/207 532/717/207 531/716/207 +f 532/717/208 528/709/208 527/711/208 +f 533/718/209 531/738/209 527/719/209 +f 530/721/210 528/709/210 532/717/210 +f 536/723/205 538/739/205 537/724/205 +f 538/726/206 542/729/206 541/727/206 +f 542/729/207 540/731/207 539/730/207 +f 540/731/208 536/723/208 535/725/208 +f 541/732/209 539/740/209 535/733/209 +f 538/735/210 536/723/210 540/731/210 o Head17 v 0.375000 1.750000 0.375000 v -0.375000 1.750000 0.375000 @@ -2144,30 +2318,30 @@ vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 s off -f 511/674/190 508/675/190 509/676/190 -f 512/677/191 514/678/191 513/679/191 -f 510/680/192 512/677/192 508/681/192 -f 508/681/193 513/682/193 509/683/193 -f 509/684/194 514/685/194 511/686/194 -f 511/686/195 515/687/195 510/680/195 -f 519/688/190 516/689/190 517/690/190 -f 520/691/191 522/692/191 521/693/191 -f 518/694/192 520/691/192 516/695/192 -f 516/695/193 521/696/193 517/697/193 -f 517/698/194 522/699/194 519/700/194 -f 519/700/195 523/701/195 518/694/195 -f 511/674/190 510/702/190 508/675/190 -f 512/677/191 515/687/191 514/678/191 -f 510/680/192 515/687/192 512/677/192 -f 508/681/193 512/677/193 513/682/193 -f 509/684/194 513/703/194 514/685/194 -f 511/686/195 514/685/195 515/687/195 -f 519/688/190 518/704/190 516/689/190 -f 520/691/191 523/701/191 522/692/191 -f 518/694/192 523/701/192 520/691/192 -f 516/695/193 520/691/193 521/696/193 -f 517/698/194 521/705/194 522/699/194 -f 519/700/195 522/699/195 523/701/195 +f 546/741/211 543/742/211 544/743/211 +f 547/744/212 549/745/212 548/746/212 +f 545/747/213 547/744/213 543/748/213 +f 543/748/214 548/749/214 544/750/214 +f 544/751/215 549/752/215 546/753/215 +f 546/753/216 550/754/216 545/747/216 +f 554/755/211 551/756/211 552/757/211 +f 555/758/212 557/759/212 556/760/212 +f 553/761/213 555/758/213 551/762/213 +f 551/762/214 556/763/214 552/764/214 +f 552/765/215 557/766/215 554/767/215 +f 554/767/216 558/768/216 553/761/216 +f 546/741/211 545/769/211 543/742/211 +f 547/744/212 550/754/212 549/745/212 +f 545/747/213 550/754/213 547/744/213 +f 543/748/214 547/744/214 548/749/214 +f 544/751/215 548/770/215 549/752/215 +f 546/753/216 549/752/216 550/754/216 +f 554/755/211 553/771/211 551/756/211 +f 555/758/212 558/768/212 557/759/212 +f 553/761/213 558/768/213 555/758/213 +f 551/762/214 555/758/214 556/763/214 +f 552/765/215 556/772/215 557/766/215 +f 554/767/216 557/766/216 558/768/216 o RA17 v -0.125000 1.750000 0.250000 v 0.125000 1.750000 0.250000 @@ -2200,18 +2374,18 @@ vn 0.0000 -1.0000 0.0000 vn 1.0000 0.0000 -0.0000 vn 0.0000 1.0000 0.0000 s off -f 526/706/196 524/707/196 525/708/196 -f 529/709/197 530/710/197 528/711/197 -f 527/712/198 529/713/198 524/707/198 -f 526/714/199 531/715/199 527/716/199 -f 525/708/200 530/710/200 526/706/200 -f 525/708/201 529/717/201 528/711/201 -f 526/706/196 527/712/196 524/707/196 -f 529/709/197 531/718/197 530/710/197 -f 527/712/198 531/719/198 529/713/198 -f 526/714/199 530/720/199 531/715/199 -f 525/708/200 528/711/200 530/710/200 -f 525/708/201 524/721/201 529/717/201 +f 561/773/217 559/774/217 560/775/217 +f 564/776/218 565/777/218 563/778/218 +f 562/779/219 564/780/219 559/774/219 +f 561/781/220 566/782/220 562/783/220 +f 560/775/221 565/777/221 561/773/221 +f 560/775/222 564/784/222 563/778/222 +f 561/773/217 562/779/217 559/774/217 +f 564/776/218 566/785/218 565/777/218 +f 562/779/219 566/786/219 564/780/219 +f 561/781/220 565/787/220 566/782/220 +f 560/775/221 563/778/221 565/777/221 +f 560/775/222 559/788/222 564/784/222 o LA17 v -0.125000 1.000000 -0.500000 v 0.125000 1.000000 -0.500000 @@ -2244,18 +2418,18 @@ vn 0.0000 -1.0000 0.0000 vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 -0.0000 s off -f 533/722/202 534/723/202 535/724/202 -f 538/725/203 534/726/203 539/727/203 -f 533/722/204 538/725/204 537/728/204 -f 532/729/205 537/730/205 536/731/205 -f 539/732/206 537/728/206 538/725/206 -f 534/733/207 536/734/207 539/732/207 -f 533/722/202 532/735/202 534/723/202 -f 538/725/203 535/724/203 534/726/203 -f 533/722/204 535/724/204 538/725/204 -f 532/729/205 533/736/205 537/730/205 -f 539/732/206 536/734/206 537/728/206 -f 534/733/207 532/737/207 536/734/207 +f 568/789/223 569/790/223 570/791/223 +f 573/792/224 569/793/224 574/794/224 +f 568/789/225 573/792/225 572/795/225 +f 567/796/226 572/797/226 571/798/226 +f 574/799/227 572/795/227 573/792/227 +f 569/800/228 571/801/228 574/799/228 +f 568/789/223 567/802/223 569/790/223 +f 573/792/224 570/791/224 569/793/224 +f 568/789/225 570/791/225 573/792/225 +f 567/796/226 568/803/226 572/797/226 +f 574/799/227 571/801/227 572/795/227 +f 569/800/228 567/804/228 571/801/228 o LL17 v -0.125000 1.000000 0.000000 v -0.125000 0.250000 0.000000 @@ -2288,18 +2462,18 @@ vn 0.0000 0.0000 1.0000 vn -1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 s off -f 542/738/208 544/739/208 540/740/208 -f 547/741/209 541/742/209 545/743/209 -f 547/744/210 542/738/210 543/745/210 -f 543/745/211 540/746/211 541/747/211 -f 541/747/212 544/748/212 545/749/212 -f 545/750/213 546/751/213 547/744/213 -f 542/738/208 546/751/208 544/739/208 -f 547/741/209 543/752/209 541/742/209 -f 547/744/210 546/751/210 542/738/210 -f 543/745/211 542/738/211 540/746/211 -f 541/747/212 540/746/212 544/748/212 -f 545/750/213 544/753/213 546/751/213 +f 577/805/229 579/806/229 575/807/229 +f 582/808/230 576/809/230 580/810/230 +f 582/811/231 577/805/231 578/812/231 +f 578/812/232 575/813/232 576/814/232 +f 576/814/233 579/815/233 580/816/233 +f 580/817/234 581/818/234 582/811/234 +f 577/805/229 581/818/229 579/806/229 +f 582/808/230 578/819/230 576/809/230 +f 582/811/231 581/818/231 577/805/231 +f 578/812/232 577/805/232 575/813/232 +f 576/814/233 575/813/233 579/815/233 +f 580/817/234 579/820/234 581/818/234 o RL17 v 0.125000 0.250000 0.250000 v 0.125000 1.000000 0.250000 @@ -2332,18 +2506,18 @@ vn 1.0000 0.0000 -0.0000 vn 0.0000 -1.0000 0.0000 vn 0.0000 1.0000 0.0000 s off -f 549/754/214 550/755/214 548/756/214 -f 551/757/215 554/758/215 550/759/215 -f 555/760/216 552/761/216 554/758/216 -f 553/762/217 548/756/217 552/761/217 -f 554/763/218 548/764/218 550/765/218 -f 551/766/219 553/762/219 555/767/219 -f 549/754/214 551/768/214 550/755/214 -f 551/757/215 555/760/215 554/758/215 -f 555/760/216 553/762/216 552/761/216 -f 553/762/217 549/754/217 548/756/217 -f 554/763/218 552/769/218 548/764/218 -f 551/766/219 549/754/219 553/762/219 +f 584/821/235 585/822/235 583/823/235 +f 586/824/236 589/825/236 585/826/236 +f 590/827/237 587/828/237 589/825/237 +f 588/829/238 583/823/238 587/828/238 +f 589/830/239 583/831/239 585/832/239 +f 586/833/240 588/829/240 590/834/240 +f 584/821/235 586/835/235 585/822/235 +f 586/824/236 590/827/236 589/825/236 +f 590/827/237 588/829/237 587/828/237 +f 588/829/238 584/821/238 583/823/238 +f 589/830/239 587/836/239 583/831/239 +f 586/833/240 584/821/240 588/829/240 o Body17 v 0.125000 1.750000 0.250000 v -0.125000 1.750000 0.250000 @@ -2376,18 +2550,18 @@ vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 -0.0000 vn 0.0000 0.0000 1.0000 s off -f 556/770/220 559/771/220 557/772/220 -f 562/773/221 560/774/221 561/775/221 -f 559/776/222 561/777/222 557/778/222 -f 558/779/223 562/780/223 559/776/223 -f 556/770/224 563/781/224 558/779/224 -f 557/782/225 560/783/225 556/770/225 -f 556/770/220 558/779/220 559/771/220 -f 562/773/221 563/784/221 560/774/221 -f 559/776/222 562/780/222 561/777/222 -f 558/779/223 563/781/223 562/780/223 -f 556/770/224 560/783/224 563/781/224 -f 557/782/225 561/785/225 560/783/225 +f 591/837/241 594/838/241 592/839/241 +f 597/840/242 595/841/242 596/842/242 +f 594/843/243 596/844/243 592/845/243 +f 593/846/244 597/847/244 594/843/244 +f 591/837/245 598/848/245 593/846/245 +f 592/849/246 595/850/246 591/837/246 +f 591/837/241 593/846/241 594/838/241 +f 597/840/242 598/851/242 595/841/242 +f 594/843/243 597/847/243 596/844/243 +f 593/846/244 598/848/244 597/847/244 +f 591/837/245 595/850/245 598/848/245 +f 592/849/246 596/852/246 595/850/246 o Socket v 0.625000 0.000000 0.625000 v 0.625000 0.000000 -0.625000 @@ -2424,18 +2598,18 @@ vn 1.0000 0.0000 0.0000 vn 0.0000 0.0000 -1.0000 vn 0.0000 0.0000 1.0000 s off -f 566/786/226 565/787/226 564/788/226 -f 570/789/227 568/790/227 569/791/227 -f 566/792/228 571/793/228 567/794/228 -f 565/795/229 569/796/229 564/797/229 -f 567/798/230 570/799/230 565/787/230 -f 564/800/231 568/790/231 566/801/231 -f 566/786/226 567/798/226 565/787/226 -f 570/789/227 571/802/227 568/790/227 -f 566/792/228 568/803/228 571/793/228 -f 565/795/229 570/804/229 569/796/229 -f 567/798/230 571/805/230 570/799/230 -f 564/800/231 569/791/231 568/790/231 +f 601/853/247 600/854/247 599/855/247 +f 605/856/248 603/857/248 604/858/248 +f 601/859/249 606/860/249 602/861/249 +f 600/862/250 604/863/250 599/864/250 +f 602/865/251 605/866/251 600/854/251 +f 599/867/252 603/857/252 601/868/252 +f 601/853/247 602/865/247 600/854/247 +f 605/856/248 606/869/248 603/857/248 +f 601/859/249 603/870/249 606/860/249 +f 600/862/250 605/871/250 604/863/250 +f 602/865/251 606/872/251 605/866/251 +f 599/867/252 604/858/252 603/857/252 o Body v 0.125000 1.750000 0.250000 v -0.125000 1.750000 0.250000 @@ -2492,27 +2666,27 @@ vn 0.0000 0.0000 -1.0000 vn 1.0000 0.0000 -0.0000 vn 0.0000 0.0000 1.0000 s off -f 572/806/232 575/807/232 573/808/232 -f 578/809/233 576/810/233 577/811/233 -f 575/812/234 577/813/234 573/814/234 -f 574/815/235 578/816/235 575/812/235 -f 572/806/236 579/817/236 574/815/236 -f 573/818/237 576/819/237 572/806/237 -f 580/820/232 583/821/232 581/822/232 -f 585/823/233 587/824/233 584/825/233 -f 583/826/234 585/827/234 581/828/234 -f 582/829/235 586/830/235 583/826/235 -f 580/820/236 587/831/236 582/829/236 -f 581/832/237 584/833/237 580/820/237 -f 572/806/232 574/815/232 575/807/232 -f 578/809/233 579/834/233 576/810/233 -f 575/812/234 578/816/234 577/813/234 -f 574/815/235 579/817/235 578/816/235 -f 572/806/236 576/819/236 579/817/236 -f 573/818/237 577/835/237 576/819/237 -f 580/820/232 582/829/232 583/821/232 -f 585/823/233 586/836/233 587/824/233 -f 583/826/234 586/830/234 585/827/234 -f 582/829/235 587/831/235 586/830/235 -f 580/820/236 584/833/236 587/831/236 -f 581/832/237 585/837/237 584/833/237 +f 607/873/253 610/874/253 608/875/253 +f 613/876/254 611/877/254 612/878/254 +f 610/879/255 612/880/255 608/881/255 +f 609/882/256 613/883/256 610/879/256 +f 607/873/257 614/884/257 609/882/257 +f 608/885/258 611/886/258 607/873/258 +f 615/887/253 618/888/253 616/889/253 +f 620/890/254 622/891/254 619/892/254 +f 618/893/255 620/894/255 616/895/255 +f 617/896/256 621/897/256 618/893/256 +f 615/887/257 622/898/257 617/896/257 +f 616/899/258 619/900/258 615/887/258 +f 607/873/253 609/882/253 610/874/253 +f 613/876/254 614/901/254 611/877/254 +f 610/879/255 613/883/255 612/880/255 +f 609/882/256 614/884/256 613/883/256 +f 607/873/257 611/886/257 614/884/257 +f 608/885/258 612/902/258 611/886/258 +f 615/887/253 617/896/253 618/888/253 +f 620/890/254 621/903/254 622/891/254 +f 618/893/255 621/897/255 620/894/255 +f 617/896/256 622/898/256 621/897/256 +f 615/887/257 619/900/257 622/898/257 +f 616/899/258 620/904/258 619/900/258 diff --git a/src/main/resources/assets/hbm/models/weapons/benelli_new.obj b/src/main/resources/assets/hbm/models/weapons/benelli_new.obj index 72a534e35..81b43a6ee 100644 --- a/src/main/resources/assets/hbm/models/weapons/benelli_new.obj +++ b/src/main/resources/assets/hbm/models/weapons/benelli_new.obj @@ -1,650 +1,5 @@ -# Blender v2.82 (sub 7) OBJ File: 'Benelli.blend' +# Blender v2.79 (sub 0) OBJ File: '' # www.blender.org -mtllib benelli_new.mtl -o Shell_Cylinder.002 -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 -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 -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 -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 8/8/3 5/5/3 -f 9/9/4 10/10/4 8/8/4 -f 11/11/5 12/12/5 10/10/5 -f 13/13/6 3/3/6 12/12/6 -f 14/14/7 15/15/7 2/16/7 -f 16/17/8 6/6/8 15/15/8 -f 10/18/9 12/19/9 3/20/9 -f 14/21/10 17/22/10 16/23/10 -f 16/23/11 18/24/11 4/25/11 -f 7/26/12 18/27/12 19/28/12 -f 9/29/13 19/30/13 20/31/13 -f 9/29/14 21/32/14 11/33/14 -f 11/33/15 22/34/15 13/35/15 -f 1/36/16 22/37/16 23/38/16 -f 14/39/17 23/40/17 24/41/17 -f 22/42/18 20/43/18 18/44/18 -f 1/1/1 14/45/1 2/2/1 -f 4/4/2 7/7/2 5/5/2 -f 7/7/3 9/9/3 8/8/3 -f 9/9/4 11/11/4 10/10/4 -f 11/11/5 13/13/5 12/12/5 -f 13/13/6 1/1/6 3/3/6 -f 14/14/7 16/17/7 15/15/7 -f 16/17/8 4/4/8 6/6/8 -f 3/20/9 2/46/9 5/47/9 -f 2/46/9 15/48/9 5/47/9 -f 15/48/9 6/49/9 5/47/9 -f 5/47/9 8/50/9 3/20/9 -f 8/50/9 10/18/9 3/20/9 -f 14/21/10 24/51/10 17/22/10 -f 16/23/11 17/52/11 18/24/11 -f 7/26/12 4/25/12 18/27/12 -f 9/29/13 7/26/13 19/30/13 -f 9/29/14 20/53/14 21/32/14 -f 11/33/15 21/54/15 22/34/15 -f 1/36/16 13/35/16 22/37/16 -f 14/39/17 1/36/17 23/40/17 -f 18/44/18 17/55/18 24/56/18 -f 24/56/18 23/57/18 22/42/18 -f 22/42/18 21/58/18 20/43/18 -f 20/43/18 19/59/18 18/44/18 -f 18/44/18 24/56/18 22/42/18 -o Slide_Cylinder -v 1.272063 1.594606 -0.244676 -v 1.272063 1.368420 -0.338365 -v 1.272063 1.462109 -0.564550 -v 0.647653 0.965039 -0.742828 -v 0.711569 1.012017 5.211916 -v 0.647653 0.965039 5.211916 -v 0.711569 1.012017 -0.742828 -v 0.770475 1.088305 5.211916 -v 0.770475 1.088305 -0.742828 -v 0.822106 1.190971 5.211916 -v 0.822106 1.190971 -0.742828 -v 0.864478 1.316070 5.211916 -v 0.921900 1.774713 -0.742828 -v 0.915353 1.918690 3.212208 -v 0.921900 1.774713 3.711916 -v 0.915353 1.935767 -0.742828 -v 0.895964 2.073555 3.212208 -v 0.895964 2.090632 -0.742828 -v 0.864478 2.216279 3.212208 -v 0.864478 2.233356 -0.742828 -v 0.822106 2.341378 3.212208 -v 0.822106 2.358455 -0.742828 -v 0.770475 2.444044 3.212208 -v 0.770475 2.461121 -0.742828 -v 0.711569 2.520332 3.212208 -v 0.711569 2.537409 -0.742828 -v 0.647653 2.567310 3.212208 -v 0.904673 1.528358 -0.577728 -v 1.272063 1.494584 -0.574402 -v 0.900445 1.494584 -0.574402 -v 0.896379 1.462109 -0.564550 -v 1.272063 1.432180 -0.548553 -v 0.890093 1.432180 -0.548553 -v 0.895964 1.458794 -0.562778 -v 1.272063 1.405947 -0.527024 -v 0.884306 1.405947 -0.527024 -v 1.272063 1.384418 -0.500791 -v 0.879556 1.384418 -0.500791 -v 1.272063 1.368420 -0.470861 -v 0.876027 1.368420 -0.470861 -v 1.272063 1.358569 -0.438386 -v 0.873854 1.358569 -0.438386 -v 1.272063 1.355243 -0.404613 -v 0.873120 1.355243 -0.404613 -v 0.873854 1.358569 -0.370840 -v 1.272063 1.358569 -0.370840 -v 0.876027 1.368420 -0.338365 -v 0.879556 1.384418 -0.308436 -v 1.272063 1.384418 -0.308436 -v 0.884306 1.405947 -0.282203 -v 1.272063 1.405947 -0.282203 -v 0.890093 1.432180 -0.260674 -v 1.272063 1.432180 -0.260674 -v 0.896379 1.462109 -0.244676 -v 0.895964 1.458794 -0.246449 -v 1.272063 1.462109 -0.244676 -v 0.900445 1.494585 -0.234825 -v 1.272063 1.494585 -0.234825 -v 0.904673 1.528358 -0.231499 -v 1.272063 1.528358 -0.231499 -v 0.908902 1.562131 -0.234825 -v 1.272063 1.562131 -0.234825 -v 0.912967 1.594606 -0.244676 -v 1.272063 1.624535 -0.260674 -v 0.915795 1.624535 -0.260674 -v 0.915353 1.613659 -0.254860 -v 0.916861 1.650768 -0.282203 -v 1.272063 1.650768 -0.282203 -v 0.917736 1.672297 -0.308436 -v 1.272063 1.672297 -0.308436 -v 0.918387 1.688295 -0.338366 -v 1.272063 1.688295 -0.338366 -v 0.918787 1.698146 -0.370841 -v 1.272063 1.698146 -0.370841 -v 0.918922 1.701472 -0.404613 -v 1.272063 1.698146 -0.438387 -v 0.918787 1.698146 -0.438387 -v 1.272063 1.688294 -0.470862 -v 0.918387 1.688294 -0.470862 -v 1.272063 1.672297 -0.500791 -v 0.917736 1.672297 -0.500791 -v 1.272063 1.650768 -0.527024 -v 0.916861 1.650768 -0.527024 -v 1.272063 1.624535 -0.548553 -v 0.915795 1.624535 -0.548553 -v 1.272063 1.594605 -0.564551 -v 0.912967 1.594605 -0.564551 -v 0.915353 1.613659 -0.554366 -v 1.272063 1.562130 -0.574402 -v 0.908902 1.562130 -0.574402 -v 1.272063 1.528358 -0.577728 -v 0.864478 1.316070 -0.742828 -v 0.895964 1.458794 5.211916 -v 0.915353 1.613659 -0.742828 -v 1.272063 1.701472 -0.404613 -v 0.647653 2.584387 -0.742828 -v 0.895964 1.458794 -0.742828 -v 0.915353 1.613659 5.211916 -v 0.581182 2.600249 -0.742828 -v 0.581182 2.583172 3.212208 -v 0.581182 0.949177 -0.742828 -v 0.581182 0.949177 5.211916 -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 -vn 1.0000 0.0000 0.0000 -vn 0.5922 -0.8058 -0.0000 -vn 0.7915 -0.6112 -0.0000 -vn 0.8934 -0.4493 -0.0000 -vn 0.9471 -0.3208 -0.0000 -vn 0.9992 0.0407 0.0002 -vn 0.9990 0.0454 0.0000 -vn 0.9923 0.1242 0.0005 -vn 0.9765 0.2154 0.0009 -vn 0.9471 0.3208 0.0014 -vn 0.8934 0.4493 0.0019 -vn 0.7915 0.6112 0.0026 -vn 0.5922 0.8058 0.0035 -vn 0.0000 -0.0980 -0.9952 -vn 0.0000 -0.2903 -0.9569 -vn -0.0000 -0.4714 -0.8819 -vn 0.0000 -0.6344 -0.7730 -vn 0.0000 -0.7730 -0.6344 -vn 0.0000 -0.8819 -0.4714 -vn 0.0000 -0.9569 -0.2903 -vn 0.0000 -0.9952 -0.0980 -vn 0.0000 -0.9952 0.0980 -vn 0.0000 -0.9569 0.2903 -vn 0.0000 -0.8819 0.4714 -vn 0.0000 -0.7730 0.6344 -vn 0.0000 -0.6344 0.7730 -vn -0.0000 -0.4714 0.8819 -vn -0.0000 -0.4716 0.8818 -vn -0.0000 -0.4715 0.8819 -vn 0.0000 -0.2903 0.9569 -vn 0.0000 -0.0980 0.9952 -vn 0.0000 0.0980 0.9952 -vn 0.0000 0.2903 0.9569 -vn 0.0000 0.4714 0.8819 -vn 0.0000 0.6344 0.7730 -vn 0.0000 0.7730 0.6344 -vn 0.0000 0.8819 0.4714 -vn 0.0000 0.9569 0.2903 -vn 0.0000 0.9952 0.0980 -vn 0.0000 0.9952 -0.0980 -vn 0.0000 0.9569 -0.2903 -vn 0.0000 0.8819 -0.4714 -vn 0.0000 0.7730 -0.6344 -vn 0.0000 0.6344 -0.7730 -vn -0.0000 0.4714 -0.8819 -vn 0.0000 0.2903 -0.9569 -vn 0.0000 0.0980 -0.9952 -vn 0.9765 -0.2154 -0.0000 -vn 0.9766 -0.2150 -0.0000 -vn 0.9923 -0.1242 0.0000 -vn 0.9923 -0.1243 -0.0000 -vn 0.9992 -0.0406 0.0000 -vn 0.9992 -0.0407 -0.0000 -vn 0.9992 0.0406 0.0002 -vn 0.9765 -0.2155 0.0000 -usemtl Material.001 -s 1 -f 25/60/19 26/61/19 27/62/19 -f 28/63/20 29/64/20 30/65/20 -f 31/66/21 32/67/21 29/64/21 -f 33/68/22 34/69/22 32/67/22 -f 35/70/23 36/71/23 34/69/23 -f 37/72/24 38/73/25 39/74/25 -f 40/75/26 41/76/26 38/73/26 -f 42/77/27 43/78/27 41/76/27 -f 44/79/28 45/80/28 43/78/28 -f 46/81/29 47/82/29 45/80/29 -f 48/83/30 49/84/30 47/82/30 -f 50/85/31 51/86/31 49/84/31 -f 52/87/32 53/88/32 54/89/32 -f 54/89/33 27/90/33 55/91/33 -f 56/92/34 57/93/34 58/94/34 -f 57/93/35 59/95/35 60/96/35 -f 60/96/36 61/97/36 62/98/36 -f 62/98/37 63/99/37 64/100/37 -f 64/100/38 65/101/38 66/102/38 -f 66/102/39 67/103/39 68/104/39 -f 67/103/40 69/105/40 68/104/40 -f 70/106/41 71/107/41 69/105/41 -f 26/108/42 72/109/42 71/107/42 -f 73/110/43 74/111/43 72/109/43 -f 75/112/44 76/113/44 74/111/44 -f 77/114/45 78/115/46 79/116/47 -f 80/117/48 81/118/48 78/115/48 -f 82/119/49 83/120/49 81/118/49 -f 84/121/50 85/122/50 83/120/50 -f 86/123/51 87/124/51 85/122/51 -f 88/125/52 89/126/52 90/127/52 -f 88/125/53 91/128/53 89/126/53 -f 92/129/54 93/130/54 91/128/54 -f 94/131/55 95/132/55 93/130/55 -f 96/133/56 97/134/56 95/132/56 -f 98/135/57 99/136/57 97/134/57 -f 99/136/58 100/137/58 101/138/58 -f 101/138/59 102/139/59 103/140/59 -f 103/140/60 104/141/60 105/142/60 -f 105/142/61 106/143/61 107/144/61 -f 107/144/62 108/145/62 109/146/62 -f 110/147/63 111/148/63 112/149/63 -f 111/148/64 113/150/64 114/151/64 -f 114/151/65 115/152/65 52/153/65 -f 116/154/66 68/155/67 69/156/66 -f 117/157/68 81/158/68 83/159/68 -f 118/160/68 114/161/68 52/162/69 -f 37/72/70 99/163/71 101/164/70 -f 27/62/19 53/165/19 115/166/19 -f 115/166/19 113/167/19 110/168/19 -f 110/168/19 108/169/19 102/170/19 -f 108/169/19 106/171/19 102/170/19 -f 106/171/19 104/172/19 102/170/19 -f 102/170/19 100/173/19 119/174/19 -f 119/174/19 98/175/19 96/176/19 -f 96/176/19 94/177/19 92/178/19 -f 92/178/19 88/179/19 25/60/19 -f 25/60/19 86/180/19 84/181/19 -f 84/181/19 82/182/19 80/183/19 -f 80/183/19 77/184/19 26/61/19 -f 77/184/19 75/185/19 26/61/19 -f 75/185/19 73/186/19 26/61/19 -f 26/61/19 70/187/19 67/188/19 -f 67/188/19 65/189/19 63/190/19 -f 63/190/19 61/191/19 27/62/19 -f 61/191/19 59/192/19 27/62/19 -f 59/192/19 56/193/19 27/62/19 -f 27/62/19 115/166/19 102/170/19 -f 115/166/19 110/168/19 102/170/19 -f 102/170/19 119/174/19 96/176/19 -f 96/176/19 92/178/19 102/170/19 -f 92/178/19 25/60/19 102/170/19 -f 25/60/19 84/181/19 26/61/19 -f 84/181/19 80/183/19 26/61/19 -f 26/61/19 67/188/19 27/62/19 -f 67/188/19 63/190/19 27/62/19 -f 27/62/19 102/170/19 25/60/19 -f 28/63/20 31/66/20 29/64/20 -f 31/66/21 33/68/21 32/67/21 -f 33/68/22 35/70/22 34/69/22 -f 35/70/23 116/154/23 36/71/23 -f 37/72/24 40/75/72 38/73/25 -f 40/75/26 42/77/26 41/76/26 -f 42/77/27 44/79/27 43/78/27 -f 44/79/28 46/81/28 45/80/28 -f 46/81/29 48/83/29 47/82/29 -f 48/83/30 50/85/30 49/84/30 -f 50/85/31 120/194/31 51/86/31 -f 52/87/32 115/195/32 53/88/32 -f 54/89/33 53/88/33 27/90/33 -f 58/94/34 55/91/34 56/92/34 -f 55/91/34 27/90/34 56/92/34 -f 57/93/35 56/92/35 59/95/35 -f 60/96/36 59/95/36 61/97/36 -f 62/98/37 61/97/37 63/99/37 -f 64/100/38 63/99/38 65/101/38 -f 66/102/39 65/101/39 67/103/39 -f 67/103/40 70/106/40 69/105/40 -f 70/106/41 26/108/41 71/107/41 -f 26/108/42 73/110/42 72/109/42 -f 73/110/43 75/112/43 74/111/43 -f 75/112/44 77/114/44 76/113/44 -f 79/116/47 76/113/45 77/114/45 -f 77/114/45 80/117/45 78/115/46 -f 80/117/48 82/119/48 81/118/48 -f 82/119/49 84/121/49 83/120/49 -f 84/121/50 86/123/50 85/122/50 -f 86/123/51 25/196/51 87/124/51 -f 90/127/52 87/124/52 25/196/52 -f 25/196/52 88/125/52 90/127/52 -f 88/125/53 92/129/53 91/128/53 -f 92/129/54 94/131/54 93/130/54 -f 94/131/55 96/133/55 95/132/55 -f 96/133/56 98/135/56 97/134/56 -f 98/135/57 119/197/57 99/136/57 -f 99/136/58 119/197/58 100/137/58 -f 101/138/59 100/137/59 102/139/59 -f 103/140/60 102/139/60 104/141/60 -f 105/142/61 104/141/61 106/143/61 -f 107/144/62 106/143/62 108/145/62 -f 112/149/63 109/146/63 108/145/63 -f 108/145/63 110/147/63 112/149/63 -f 111/148/64 110/147/64 113/150/64 -f 114/151/65 113/150/65 115/152/65 -f 76/198/66 79/199/66 36/71/66 -f 79/199/66 117/157/66 36/71/66 -f 36/71/66 116/154/66 69/156/66 -f 116/154/66 121/200/66 57/201/66 -f 121/200/66 58/202/66 57/201/66 -f 74/203/66 76/198/66 36/71/66 -f 72/204/66 74/203/66 36/71/66 -f 116/154/66 57/201/66 60/205/66 -f 116/154/66 60/205/66 62/206/66 -f 71/207/66 72/204/66 36/71/66 -f 69/156/66 71/207/66 36/71/66 -f 116/154/66 62/206/66 64/208/66 -f 116/154/66 64/208/66 66/209/73 -f 116/154/66 66/209/73 68/155/67 -f 87/210/68 90/211/69 122/212/68 -f 122/212/68 117/157/68 83/159/69 -f 117/157/68 79/199/68 78/213/68 -f 117/157/68 78/213/68 81/158/68 -f 85/214/68 87/210/68 122/212/68 -f 83/159/69 85/214/68 122/212/68 -f 55/215/68 58/202/68 121/200/68 -f 121/200/68 118/160/68 52/162/68 -f 118/160/68 112/216/68 111/217/68 -f 118/160/68 111/217/68 114/161/68 -f 54/218/68 55/215/68 121/200/68 -f 52/162/68 54/218/68 121/200/68 -f 109/219/70 112/216/70 118/160/70 -f 37/72/70 39/74/70 97/220/70 -f 39/74/70 122/212/70 90/211/70 -f 37/72/70 97/220/70 99/163/71 -f 90/211/70 89/221/70 39/74/70 -f 89/221/70 91/222/70 39/74/70 -f 109/219/70 118/160/70 37/72/70 -f 107/223/70 109/219/70 37/72/70 -f 91/222/70 93/224/70 39/74/70 -f 93/224/70 95/225/70 39/74/70 -f 105/226/70 107/223/70 37/72/70 -f 103/227/70 105/226/70 37/72/70 -f 95/225/70 97/220/70 39/74/70 -f 101/164/70 103/227/70 37/72/70 -l 126 30 -l 28 125 -l 51 124 -l 123 120 o Cube.007_Cube.012 v -0.749291 3.198776 0.999861 v -0.925561 3.198776 0.999861 @@ -837,348 +192,348 @@ 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.982966 -19.500000 +v 0.000000 3.000003 -19.500000 v 0.129410 2.982962 -1.700000 -v 0.250000 2.933015 -19.500000 +v 0.250000 2.933016 -19.500000 v 0.250000 2.933012 -1.700000 -v 0.353553 2.853556 -19.500000 +v 0.353553 2.853557 -19.500000 v 0.353553 2.853553 -1.700000 -v 0.433013 2.750003 -19.500000 +v 0.433013 2.750004 -19.500000 v 0.433013 2.750000 -1.700000 -v 0.482963 2.629412 -19.500000 +v 0.482963 2.629413 -19.500000 v 0.482963 2.629409 -1.700000 -v 0.500000 2.500002 -19.500000 +v 0.500000 2.500003 -19.500000 v 0.500000 2.500000 -1.700000 -v 0.482963 2.370593 -19.500000 +v 0.482963 2.370594 -19.500000 v 0.482963 2.370590 -1.700000 -v 0.433013 2.250002 -19.500000 +v 0.433013 2.250003 -19.500000 v 0.433013 2.250000 -1.700000 -v 0.353554 2.146449 -19.500000 +v 0.353554 2.146450 -19.500000 v 0.353554 2.146446 -1.700000 -v 0.250000 2.066990 -19.500000 +v 0.250000 2.066991 -19.500000 v 0.250000 2.066987 -1.700000 -v 0.129410 2.017039 -19.500000 +v 0.129410 2.017040 -19.500000 v 0.129410 2.017036 -1.700000 -v 0.000000 2.000002 -19.500000 +v 0.000000 2.000003 -19.500000 v 0.000000 2.000000 -1.700000 -v -0.129409 2.017039 -19.500000 +v -0.129409 2.017040 -19.500000 v -0.129409 2.017036 -1.700000 -v -0.250000 2.066990 -19.500000 +v -0.250000 2.066991 -19.500000 v -0.250000 2.066987 -1.700000 -v -0.353553 2.146449 -19.500000 +v -0.353553 2.146450 -19.500000 v -0.353553 2.146446 -1.700000 -v -0.433013 2.250002 -19.500000 +v -0.433013 2.250003 -19.500000 v -0.433013 2.250000 -1.700000 -v -0.482963 2.370593 -19.500000 +v -0.482963 2.370594 -19.500000 v -0.482963 2.370590 -1.700000 -v -0.500000 2.500002 -19.500000 +v -0.500000 2.500003 -19.500000 v -0.500000 2.500000 -1.700000 -v -0.482963 2.629412 -19.500000 +v -0.482963 2.629413 -19.500000 v -0.482963 2.629409 -1.700000 -v -0.433013 2.750002 -19.500000 +v -0.433013 2.750003 -19.500000 v -0.433013 2.749999 -1.700000 -v -0.353554 2.853556 -19.500000 +v -0.353554 2.853557 -19.500000 v -0.353554 2.853553 -1.700000 -v -0.250000 2.933015 -19.500000 +v -0.250000 2.933016 -19.500000 v -0.250000 2.933012 -1.700000 -v -0.129410 2.982965 -19.500000 +v -0.129410 2.982966 -19.500000 v -0.129410 2.982962 -1.700000 -v 0.217114 2.822435 -19.500000 +v 0.217114 2.822436 -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.113208 2.865475 -19.500000 +v 0.000000 2.050003 -17.850000 +v 0.494975 1.844978 -18.550001 +v 0.000000 2.050003 -18.550001 +v 0.494975 1.844978 -17.850000 +v 0.700000 1.350003 -18.550001 +v 0.700000 1.350003 -17.850000 +v 0.494975 0.855029 -18.550001 +v 0.494975 0.855028 -17.850000 +v 0.000000 0.650003 -18.550001 +v 0.000000 0.650003 -17.850000 +v -0.494975 0.855029 -18.550001 +v -0.494975 0.855029 -17.850000 +v -0.700000 1.350003 -18.550001 +v -0.700000 1.350003 -17.850000 +v -0.494975 1.844978 -18.550001 +v -0.494975 1.844978 -17.850000 +v 0.247487 1.102515 -19.300001 +v 0.350000 1.350003 -19.300001 +v 0.247487 1.597490 -19.300001 +v 0.000000 1.700003 -19.300001 +v -0.247487 1.597490 -19.300001 +v -0.350000 1.350003 -19.300001 +v -0.247487 1.102515 -19.300001 +v 0.247487 1.102515 -19.187502 +v 0.000000 1.000003 -19.187502 +v 0.000000 1.000003 -19.300001 +v 0.000000 1.700003 -19.187502 +v 0.247487 1.597490 -19.187502 +v 0.350000 1.350003 -19.187502 +v -0.247487 1.102515 -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.736374 -18.200001 +v 0.000000 1.750003 -18.200001 v 0.103528 1.736370 -1.199998 -v 0.200000 1.696412 -18.200001 +v 0.200000 1.696413 -18.200001 v 0.200000 1.696410 -1.199998 -v 0.282843 1.632845 -18.200001 +v 0.282843 1.632846 -18.200001 v 0.282843 1.632842 -1.199998 -v 0.346410 1.550002 -18.200001 +v 0.346410 1.550003 -18.200001 v 0.346410 1.549999 -1.199998 -v 0.386370 1.453530 -18.200001 +v 0.386370 1.453531 -18.200001 v 0.386370 1.453527 -1.199998 -v 0.400000 1.350002 -18.200001 +v 0.400000 1.350003 -18.200001 v 0.400000 1.349999 -1.199998 -v 0.386370 1.246475 -18.200001 +v 0.386370 1.246476 -18.200001 v 0.386370 1.246472 -1.199998 -v 0.346410 1.150002 -18.200001 +v 0.346410 1.150003 -18.200001 v 0.346410 1.150000 -1.199998 -v 0.282843 1.067160 -18.200001 +v 0.282843 1.067161 -18.200001 v 0.282843 1.067157 -1.199998 -v 0.200000 1.003592 -18.200001 +v 0.200000 1.003593 -18.200001 v 0.200000 1.003590 -1.199998 -v 0.103528 0.963632 -18.200001 +v 0.103528 0.963633 -18.200001 v 0.103528 0.963629 -1.199998 -v 0.000000 0.950002 -18.200001 +v 0.000000 0.950003 -18.200001 v 0.000000 0.950000 -1.199998 -v -0.103527 0.963632 -18.200001 +v -0.103527 0.963633 -18.200001 v -0.103527 0.963629 -1.199998 -v -0.200000 1.003592 -18.200001 +v -0.200000 1.003593 -18.200001 v -0.200000 1.003589 -1.199998 -v -0.282843 1.067160 -18.200001 +v -0.282843 1.067161 -18.200001 v -0.282843 1.067157 -1.199998 -v -0.346410 1.150002 -18.200001 +v -0.346410 1.150003 -18.200001 v -0.346410 1.150000 -1.199998 -v -0.386370 1.246474 -18.200001 +v -0.386370 1.246475 -18.200001 v -0.386370 1.246472 -1.199998 -v -0.400000 1.350002 -18.200001 +v -0.400000 1.350003 -18.200001 v -0.400000 1.349999 -1.199998 -v -0.386370 1.453530 -18.200001 +v -0.386370 1.453531 -18.200001 v -0.386370 1.453527 -1.199998 -v -0.346410 1.550002 -18.200001 +v -0.346410 1.550003 -18.200001 v -0.346410 1.549999 -1.199998 -v -0.282843 1.632845 -18.200001 +v -0.282843 1.632846 -18.200001 v -0.282843 1.632842 -1.199998 -v -0.200000 1.696412 -18.200001 +v -0.200000 1.696413 -18.200001 v -0.200000 1.696410 -1.199998 -v -0.103528 1.736373 -18.200001 +v -0.103528 1.736374 -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.850003 -15.850002 +v 0.129410 1.832966 -17.850002 +v 0.000000 1.850003 -17.850002 +v 0.129410 1.832966 -15.850002 +v 0.250000 1.783015 -17.850002 +v 0.250000 1.783015 -15.850002 +v 0.353553 1.703556 -17.850002 +v 0.353553 1.703556 -15.850002 +v 0.433013 1.600003 -17.850002 +v 0.433013 1.600003 -15.850002 +v 0.482963 1.479412 -17.850002 +v 0.482963 1.479412 -15.850002 +v 0.500000 1.350003 -17.850002 +v 0.500000 1.350003 -15.850002 +v 0.482963 1.220594 -17.850002 +v 0.482963 1.220594 -15.850002 +v 0.433013 1.100003 -17.850002 +v 0.433013 1.100003 -15.850002 +v 0.353554 0.996450 -17.850002 +v 0.353554 0.996450 -15.850002 +v 0.250000 0.916990 -17.850002 +v 0.250000 0.916990 -15.850002 +v 0.129410 0.867040 -17.850002 +v 0.129410 0.867040 -15.850002 +v 0.000000 0.850003 -17.850002 +v 0.000000 0.850003 -15.850002 +v -0.129409 0.867040 -17.850002 +v -0.129409 0.867040 -15.850002 +v -0.250000 0.916990 -17.850002 +v -0.250000 0.916990 -15.850002 +v -0.353553 0.996450 -17.850002 +v -0.353553 0.996449 -15.850002 +v -0.433013 1.100003 -17.850002 +v -0.433013 1.100003 -15.850002 +v -0.482963 1.220593 -17.850002 +v -0.482963 1.220593 -15.850002 +v -0.500000 1.350003 -17.850002 +v -0.500000 1.350002 -15.850002 +v -0.482963 1.479412 -17.850002 +v -0.482963 1.479412 -15.850002 +v -0.433013 1.600003 -17.850002 +v -0.433013 1.600003 -15.850002 +v -0.353554 1.703556 -17.850002 +v -0.353554 1.703556 -15.850002 +v -0.250000 1.783015 -17.850002 +v -0.250000 1.783015 -15.850002 +v -0.129410 1.832966 -17.850002 +v -0.129410 1.832966 -15.850002 +v 0.000000 1.850003 -15.400005 +v 0.129410 1.832966 -15.600006 +v 0.000000 1.850003 -15.600006 +v 0.129410 1.832966 -15.400005 +v 0.250000 1.783015 -15.600006 +v 0.250000 1.783015 -15.400005 +v 0.353553 1.703556 -15.600006 +v 0.353553 1.703556 -15.400005 +v 0.433013 1.600003 -15.600006 +v 0.433013 1.600003 -15.400005 +v 0.482963 1.479412 -15.600006 +v 0.482963 1.479412 -15.400005 +v 0.500000 1.350003 -15.600006 +v 0.500000 1.350003 -15.400005 +v 0.482963 1.220594 -15.600006 +v 0.482963 1.220594 -15.400005 +v 0.433013 1.100003 -15.600006 +v 0.433013 1.100003 -15.400005 +v 0.353554 0.996450 -15.600006 +v 0.353554 0.996450 -15.400005 +v 0.250000 0.916990 -15.600006 +v 0.250000 0.916990 -15.400005 +v 0.129410 0.867040 -15.600006 +v 0.129410 0.867040 -15.400005 +v 0.000000 0.850003 -15.600006 +v 0.000000 0.850003 -15.400005 +v -0.129409 0.867040 -15.600006 +v -0.129409 0.867040 -15.400005 +v -0.250000 0.916990 -15.600006 +v -0.250000 0.916990 -15.400005 +v -0.353553 0.996449 -15.600006 +v -0.353553 0.996449 -15.400005 +v -0.433013 1.100003 -15.600006 +v -0.433013 1.100003 -15.400005 +v -0.482963 1.220593 -15.600006 +v -0.482963 1.220593 -15.400005 +v -0.500000 1.350003 -15.600006 +v -0.500000 1.350003 -15.400005 +v -0.482963 1.479412 -15.600006 +v -0.482963 1.479412 -15.400005 +v -0.433013 1.600003 -15.600006 +v -0.433013 1.600003 -15.400005 +v -0.353554 1.703556 -15.600006 +v -0.353554 1.703556 -15.400005 +v -0.250000 1.783015 -15.600006 +v -0.250000 1.783015 -15.400005 +v -0.129410 1.832966 -15.600006 +v -0.129410 1.832966 -15.400005 +v 0.000000 1.850003 -15.050005 +v 0.129410 1.832966 -15.250006 +v 0.000000 1.850003 -15.250006 +v 0.129410 1.832966 -15.050005 +v 0.250000 1.783015 -15.250006 +v 0.250000 1.783015 -15.050005 +v 0.353553 1.703556 -15.250006 +v 0.353553 1.703556 -15.050005 +v 0.433013 1.600003 -15.250006 +v 0.433013 1.600003 -15.050005 +v 0.482963 1.479412 -15.250006 +v 0.482963 1.479412 -15.050005 +v 0.500000 1.350003 -15.250006 +v 0.500000 1.350003 -15.050005 +v 0.482963 1.220594 -15.250006 +v 0.482963 1.220594 -15.050005 +v 0.433013 1.100003 -15.250006 +v 0.433013 1.100003 -15.050005 +v 0.353554 0.996450 -15.250006 +v 0.353554 0.996450 -15.050005 +v 0.250000 0.916990 -15.250006 +v 0.250000 0.916990 -15.050005 +v 0.129410 0.867040 -15.250006 +v 0.129410 0.867040 -15.050005 +v 0.000000 0.850003 -15.250006 +v 0.000000 0.850003 -15.050005 +v -0.129409 0.867040 -15.250006 +v -0.129409 0.867040 -15.050005 +v -0.250000 0.916990 -15.250006 +v -0.250000 0.916990 -15.050005 +v -0.353553 0.996450 -15.250006 +v -0.353553 0.996450 -15.050005 +v -0.433013 1.100003 -15.250006 +v -0.433013 1.100003 -15.050005 +v -0.482963 1.220593 -15.250006 +v -0.482963 1.220593 -15.050005 +v -0.500000 1.350003 -15.250006 +v -0.500000 1.350003 -15.050005 +v -0.482963 1.479412 -15.250006 +v -0.482963 1.479412 -15.050005 +v -0.433013 1.600003 -15.250006 +v -0.433013 1.600003 -15.050005 +v -0.353554 1.703556 -15.250006 +v -0.353554 1.703556 -15.050005 +v -0.250000 1.783015 -15.250006 +v -0.250000 1.783015 -15.050005 +v -0.129410 1.832966 -15.250006 +v -0.129410 1.832966 -15.050005 v 0.000000 1.850001 -10.700005 -v 0.129410 1.832965 -14.900005 -v 0.000000 1.850002 -14.900005 +v 0.129410 1.832966 -14.900005 +v 0.000000 1.850003 -14.900005 v 0.129410 1.832963 -10.700005 -v 0.250000 1.783014 -14.900005 +v 0.250000 1.783015 -14.900005 v 0.250000 1.783013 -10.700005 -v 0.353553 1.703555 -14.900005 +v 0.353553 1.703556 -14.900005 v 0.353553 1.703553 -10.700005 -v 0.433013 1.600002 -14.900005 +v 0.433013 1.600003 -14.900005 v 0.433013 1.600001 -10.700005 -v 0.482963 1.479411 -14.900005 +v 0.482963 1.479412 -14.900005 v 0.482963 1.479409 -10.700005 -v 0.500000 1.350002 -14.900005 +v 0.500000 1.350003 -14.900005 v 0.500000 1.350001 -10.700005 -v 0.482963 1.220593 -14.900005 +v 0.482963 1.220594 -14.900005 v 0.482963 1.220591 -10.700005 -v 0.433013 1.100002 -14.900005 +v 0.433013 1.100003 -14.900005 v 0.433013 1.100001 -10.700005 -v 0.353554 0.996449 -14.900005 +v 0.353554 0.996450 -14.900005 v 0.353554 0.996448 -10.700005 -v 0.250000 0.916989 -14.900005 +v 0.250000 0.916990 -14.900005 v 0.250000 0.916987 -10.700005 -v 0.129410 0.867039 -14.900005 +v 0.129410 0.867040 -14.900005 v 0.129410 0.867037 -10.700005 -v 0.000000 0.850002 -14.900005 +v 0.000000 0.850003 -14.900005 v 0.000000 0.850001 -10.700005 -v -0.129409 0.867039 -14.900005 +v -0.129409 0.867040 -14.900005 v -0.129409 0.867037 -10.700005 -v -0.250000 0.916989 -14.900005 +v -0.250000 0.916990 -14.900005 v -0.250000 0.916987 -10.700005 -v -0.353553 0.996449 -14.900005 +v -0.353553 0.996450 -14.900005 v -0.353553 0.996446 -10.700005 -v -0.433013 1.100002 -14.900005 +v -0.433013 1.100003 -14.900005 v -0.433013 1.100001 -10.700005 -v -0.482963 1.220592 -14.900005 +v -0.482963 1.220593 -14.900005 v -0.482963 1.220590 -10.700005 -v -0.500000 1.350002 -14.900005 +v -0.500000 1.350003 -14.900005 v -0.500000 1.349999 -10.700005 -v -0.482963 1.479411 -14.900005 +v -0.482963 1.479412 -14.900005 v -0.482963 1.479409 -10.700005 -v -0.433013 1.600002 -14.900005 +v -0.433013 1.600003 -14.900005 v -0.433013 1.600001 -10.700005 -v -0.353554 1.703555 -14.900005 +v -0.353554 1.703556 -14.900005 v -0.353554 1.703553 -10.700005 -v -0.250000 1.783014 -14.900005 +v -0.250000 1.783015 -14.900005 v -0.250000 1.783013 -10.700005 -v -0.129410 1.832965 -14.900005 +v -0.129410 1.832966 -14.900005 v -0.129410 1.832963 -10.700005 -v 0.000000 2.880378 -19.500000 -v 0.303359 2.756257 -19.500000 -v 0.365776 2.674913 -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.243748 -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.243748 -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.674913 -19.500000 -v -0.303359 2.756257 -19.500000 -v -0.217115 2.822434 -19.500000 -v -0.113208 2.865474 -19.500000 +v 0.000000 2.880379 -19.500000 +v 0.303359 2.756258 -19.500000 +v 0.365776 2.674914 -19.500000 +v 0.401974 2.587524 -19.500000 +v 0.413496 2.500003 -19.500000 +v 0.401974 2.412482 -19.500000 +v 0.365776 2.325093 -19.500000 +v 0.303359 2.243749 -19.500000 +v 0.217114 2.177571 -19.500000 +v 0.113208 2.134532 -19.500000 +v 0.000000 2.119627 -19.500000 +v -0.113207 2.134532 -19.500000 +v -0.217114 2.177571 -19.500000 +v -0.303358 2.243749 -19.500000 +v -0.365776 2.325093 -19.500000 +v -0.401974 2.412482 -19.500000 +v -0.413496 2.500003 -19.500000 +v -0.401974 2.587524 -19.500000 +v -0.365776 2.674914 -19.500000 +v -0.303359 2.756258 -19.500000 +v -0.217115 2.822435 -19.500000 +v -0.113208 2.865475 -19.500000 v -0.303359 2.756227 -4.500000 v -0.217115 2.822405 -4.500000 v -0.303358 2.243718 -4.500000 @@ -1202,7 +557,7 @@ 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.247487 1.597490 -19.187502 v -0.755718 0.647394 5.837500 v 0.755718 -2.527644 7.135499 v -0.755718 -2.527644 7.135499 @@ -1237,10 +592,10 @@ v 1.000000 0.650225 4.306945 v -1.000000 0.550646 8.300697 v -1.000000 0.650225 4.306945 v 1.000000 0.550646 8.300697 -v -1.000000 -3.878246 18.970343 +v -1.000000 -3.878247 18.970343 v 1.000000 2.932952 6.299709 -v 1.000000 -3.878246 18.970343 -v -1.000000 0.817815 19.398920 +v 1.000000 -3.878247 18.970343 +v -1.000000 0.817814 19.398920 v 1.000000 1.917567 8.277368 v 1.155736 2.325624 6.986647 v 1.000000 2.325624 6.986647 @@ -1337,26 +692,26 @@ v -0.750000 3.823139 5.393547 v 0.500000 3.441713 5.759016 v -0.496667 2.930000 3.800829 v -0.496667 3.523953 4.644016 -v -1.000000 -3.606866 18.872658 -v -1.000000 0.608681 19.257383 +v -1.000000 -3.606867 18.872658 +v -1.000000 0.608680 19.257383 v -1.000000 1.899714 8.276260 v -1.000000 0.761976 8.347678 v -1.000000 2.527876 7.012211 v -1.185947 1.899714 8.276260 v -1.185947 2.237243 7.108925 v -1.185947 0.761976 8.347678 -v -1.185947 0.608681 19.257383 -v -1.185947 -3.606866 18.872658 +v -1.185947 0.608680 19.257383 +v -1.185947 -3.606867 18.872658 v 1.000000 2.293221 7.043643 -v 1.000000 -3.628482 18.880440 -v 1.000000 0.817815 19.398920 +v 1.000000 -3.628483 18.880440 +v 1.000000 0.817814 19.398920 v 1.000000 0.745147 8.343928 -v 1.000000 0.625338 19.268656 +v 1.000000 0.625337 19.268656 v 1.155736 0.745147 8.343928 v 1.155736 2.293221 7.043643 v 1.155736 1.917567 8.277368 -v 1.155736 -3.628482 18.880440 -v 1.155736 0.625338 19.268656 +v 1.155736 -3.628483 18.880440 +v 1.155736 0.625337 19.268656 v -0.755718 0.375138 6.127107 v -0.755718 -2.470537 7.290457 v -0.755718 -3.057612 7.206118 @@ -1583,42 +938,42 @@ v -0.042295 3.387367 5.409896 v -0.078231 3.411132 5.409896 v -0.039882 3.399499 5.409896 v 0.000000 3.395571 5.409896 -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 +v -0.285753 2.876174 -17.583353 +v -0.206993 3.392601 -18.284744 +v -0.285753 2.876174 -18.899897 +v 0.285753 2.876174 -18.899897 +v 0.206993 3.392601 -18.284744 +v 0.285753 2.876174 -17.583353 +v 0.206993 3.392601 -17.955841 +v -0.052052 3.504859 -18.120081 +v -0.045935 3.600579 -18.259661 +v -0.052052 3.504859 -18.269205 +v 0.052052 3.504859 -18.269205 +v 0.045935 3.600579 -18.259661 +v 0.052052 3.504859 -18.120081 +v 0.045935 3.600579 -18.122107 +v 0.063413 3.327094 -18.286932 +v -0.063413 3.327094 -18.116322 +v -0.063413 3.327094 -18.286932 +v 0.063413 3.327094 -18.116322 +v -0.197447 3.270684 -17.965662 +v -0.287607 3.625364 -18.247025 +v -0.197447 3.270684 -18.300558 +v -0.199752 3.652224 -18.247025 +v -0.076163 3.307764 -18.300558 +v -0.076163 3.307764 -17.965662 +v -0.199752 3.652224 -17.977015 +v 0.076163 3.307764 -17.965847 +v 0.199752 3.652224 -18.246998 +v 0.076163 3.307764 -18.300491 +v 0.197447 3.270684 -18.300491 +v 0.287607 3.625364 -18.246998 +v 0.197447 3.270684 -17.965847 +v 0.287607 3.625364 -17.977190 +v -0.206993 3.392601 -17.955841 +v -0.045935 3.600579 -18.122107 +v -0.287607 3.625364 -17.977015 +v 0.199752 3.652224 -17.977190 vt 0.470782 0.953868 vt 0.470782 0.968169 vt 0.443281 0.968169 @@ -1645,8 +1000,8 @@ vt 0.443281 0.953868 vt 0.470782 0.953868 vt 0.415793 0.982420 vt 0.443281 0.939568 -vt 0.470782 0.939568 vt 0.443281 0.939617 +vt 0.470782 0.939568 vt 0.470782 0.953868 vt 0.470782 0.968169 vt 0.443281 0.968169 @@ -1691,8 +1046,8 @@ vt 0.443281 0.953868 vt 0.470782 0.953868 vt 0.415793 0.982420 vt 0.443281 0.939568 -vt 0.470782 0.939568 vt 0.443281 0.939617 +vt 0.470782 0.939568 vt 0.470782 0.953868 vt 0.470782 0.968169 vt 0.443281 0.968169 @@ -1719,8 +1074,8 @@ vt 0.443281 0.953868 vt 0.470782 0.953868 vt 0.415793 0.982420 vt 0.443281 0.939568 -vt 0.470782 0.939568 vt 0.443281 0.939617 +vt 0.470782 0.939568 vt 0.470782 0.953868 vt 0.470782 0.968169 vt 0.443281 0.968169 @@ -1747,8 +1102,8 @@ vt 0.443281 0.953868 vt 0.470782 0.953868 vt 0.415793 0.982420 vt 0.443281 0.939568 -vt 0.470782 0.939568 vt 0.443281 0.939617 +vt 0.470782 0.939568 vt 0.470782 0.953868 vt 0.470782 0.968169 vt 0.443281 0.968169 @@ -1775,8 +1130,8 @@ vt 0.443281 0.953868 vt 0.470782 0.953868 vt 0.415793 0.982420 vt 0.443281 0.939568 -vt 0.470782 0.939568 vt 0.443281 0.939617 +vt 0.470782 0.939568 vt 0.470782 0.953868 vt 0.470782 0.968169 vt 0.443281 0.968169 @@ -1803,8 +1158,8 @@ vt 0.443281 0.953868 vt 0.470782 0.953868 vt 0.415793 0.982420 vt 0.443281 0.939568 -vt 0.470782 0.939568 vt 0.443281 0.939617 +vt 0.470782 0.939568 vt 0.470782 0.953868 vt 0.470782 0.968169 vt 0.443281 0.968169 @@ -1831,8 +1186,8 @@ vt 0.443281 0.953868 vt 0.470782 0.953868 vt 0.415793 0.982420 vt 0.443281 0.939568 -vt 0.470782 0.939568 vt 0.443281 0.939617 +vt 0.470782 0.939568 vt 0.470782 0.953868 vt 0.470782 0.968169 vt 0.443281 0.968169 @@ -1859,8 +1214,8 @@ vt 0.443281 0.953868 vt 0.470782 0.953868 vt 0.415793 0.982420 vt 0.443281 0.939568 -vt 0.470782 0.939568 vt 0.443281 0.939617 +vt 0.470782 0.939568 vt 0.470782 0.953868 vt 0.470782 0.968169 vt 0.443281 0.968169 @@ -2812,8 +2167,8 @@ vt 0.371179 0.824396 vt 0.224012 0.900923 vt 0.224012 0.824396 vt 0.504838 0.868908 -vt 0.578829 0.907383 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 @@ -3031,8 +2386,8 @@ vt 0.406788 0.779458 vt 0.497503 0.902923 vt 0.578887 0.824122 vt 0.511639 0.915711 -vt 0.245835 0.900308 vt 0.643647 0.900691 +vt 0.245835 0.900308 vt 0.150429 0.671343 vt 0.150429 0.671343 vt 0.150429 0.671343 @@ -3048,8 +2403,8 @@ vt 0.251000 0.856936 vt 0.361735 0.900442 vt 0.361735 0.900442 vt 0.361735 0.900442 -vt 0.511639 0.900711 vt 0.518346 0.900923 +vt 0.511639 0.900711 vt 0.236235 0.851817 vt 0.236235 0.851817 vt 0.236235 0.851817 @@ -3134,8 +2489,8 @@ vt 0.333129 0.917808 vt 0.333129 0.917808 vt 0.333129 0.917808 vt 0.333129 0.917808 -vt 0.342454 0.866584 vt 0.333129 0.868394 +vt 0.342454 0.866584 vt 0.333129 0.917808 vt 0.333129 0.917808 vt 0.333129 0.917808 @@ -3691,7 +3046,7 @@ vn 0.0042 -1.0000 0.0030 vn 0.0000 -1.0000 0.0000 vn 0.7071 0.7071 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.0006 0.0004 1.0000 vn 0.0011 0.0045 1.0000 vn 0.0011 0.0049 1.0000 @@ -3703,21 +3058,31 @@ vn -0.0005 0.0000 -1.0000 vn -0.0008 -1.0000 0.0005 vn -0.0000 -0.5727 0.8197 vn -0.0004 -0.8551 0.5184 -vn -0.7701 0.0000 -0.6379 +vn 0.7704 0.0003 0.6376 +vn 0.7699 -0.0003 0.6381 +vn 0.7698 0.0000 0.6382 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 1.0000 0.0000 -0.0000 vn 0.0000 -0.5729 0.8196 vn -0.0004 -0.8552 0.5183 -vn -0.7708 -0.0000 -0.6371 -vn -0.0000 -0.5732 0.8194 -vn -0.7703 -0.0000 -0.6377 +vn 0.7696 -0.0008 0.6385 +vn 0.7708 0.0008 0.6371 +vn 0.7710 -0.0000 0.6369 +vn -0.0000 -0.5734 0.8193 +vn 0.7699 -0.0003 0.6382 +vn 0.7703 0.0003 0.6377 +vn 0.7704 -0.0000 0.6376 vn -0.0000 -0.5727 0.8198 vn -0.0004 -0.8551 0.5185 -vn -0.7700 0.0000 -0.6381 +vn 0.7700 0.0000 0.6381 vn -0.8655 -0.5008 0.0000 +vn 0.7701 -0.0000 0.6379 +vn -0.7701 0.0000 -0.6379 +vn -0.0000 -0.5732 0.8194 vn -0.0004 -0.8553 0.5182 +vn -0.7700 -0.0000 -0.6380 vn 0.0070 -1.0000 0.0049 vn 0.0005 0.0000 1.0000 vn -0.0008 -1.0000 0.0000 @@ -3766,7 +3131,7 @@ vn -0.8484 0.3514 -0.3959 vn -0.8484 -0.3514 -0.3959 vn -0.3514 -0.8484 -0.3959 vn 0.7934 0.6088 0.0000 -vn -0.6088 -0.7933 -0.0000 +vn -0.6088 -0.7933 0.0000 vn 0.6088 0.7933 0.0000 vn 0.6088 -0.7933 -0.0000 vn 0.5314 0.1600 -0.8319 @@ -3787,8 +3152,8 @@ 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.0001 0.6431 0.7658 +vn 0.0000 0.6432 0.7657 vn 0.0000 -0.0909 0.9959 vn 0.0000 0.9535 0.3014 vn 0.0000 -0.8690 -0.4947 @@ -3828,49 +3193,49 @@ vn 0.0000 0.8646 -0.5025 vn 1.0000 -0.0010 0.0007 vn 1.0000 -0.0019 0.0017 vn 0.0000 -0.6430 -0.7658 +vn 0.0000 -0.6432 -0.7657 vn 0.0000 -0.8693 -0.4942 -vn 0.5484 0.0760 -0.8328 -vn 0.7536 0.6071 0.2520 -vn 0.7698 -0.6340 -0.0745 -vn 0.7607 -0.6189 -0.1957 -vn 0.7402 -0.5843 -0.3326 -vn 0.6787 0.4737 0.5613 -vn 0.6263 0.5087 0.5907 -vn 0.9730 0.1947 0.1237 -vn -0.7982 -0.5982 -0.0703 -vn -0.7898 -0.5848 -0.1849 -vn -0.7709 -0.5538 -0.3148 -vn -0.5646 0.5759 0.5913 -vn -0.3460 0.6078 0.7148 -vn -0.8868 0.3899 0.2481 -vn -0.7699 0.5824 0.2610 -vn -0.3897 0.8505 0.3533 -vn -0.7751 0.5764 0.2588 -vn -0.5846 0.0737 -0.8079 -vn -0.9379 0.3346 -0.0917 -vn -0.9395 0.3373 -0.0596 -vn -0.8718 -0.2050 -0.4449 -vn -0.8298 0.0141 -0.5579 -vn -0.9258 0.3144 -0.2097 -vn -0.9344 -0.3289 -0.1364 -vn -0.9407 -0.3392 -0.0089 -vn -0.8657 0.1894 0.4633 -vn -0.8358 -0.0781 0.5434 -vn 0.9296 0.3628 -0.0641 -vn 0.9278 0.3599 -0.0986 -vn 0.8138 -0.0826 0.5752 -vn 0.8467 0.2014 0.4926 -vn 0.9310 -0.3649 -0.0096 -vn 0.9238 -0.3536 -0.1467 -vn 0.9140 0.3374 -0.2251 -vn 0.8072 0.0149 -0.5901 -vn 0.8534 -0.2182 -0.4735 -vn 0.8534 -0.2181 -0.4735 +vn -0.5484 -0.0760 0.8328 +vn -0.7536 -0.6071 -0.2520 +vn -0.7698 0.6340 0.0745 +vn -0.7607 0.6189 0.1957 +vn -0.7402 0.5843 0.3326 +vn -0.6787 -0.4737 -0.5613 +vn -0.9730 -0.1947 -0.1237 +vn -0.6263 -0.5087 -0.5907 +vn 0.7982 0.5982 0.0703 +vn 0.7898 0.5848 0.1849 +vn 0.7709 0.5538 0.3148 +vn 0.5429 -0.7301 -0.4151 +vn 0.8868 -0.3899 -0.2481 +vn 0.3349 -0.6195 -0.7100 +vn 0.7699 -0.5824 -0.2610 +vn 0.7751 -0.5764 -0.2588 +vn 0.3897 -0.8505 -0.3533 +vn 0.5847 -0.0737 0.8079 +vn 0.9379 -0.3346 0.0917 +vn 0.9395 -0.3373 0.0596 +vn 0.8718 0.2050 0.4449 +vn 0.8298 -0.0141 0.5579 +vn 0.9258 -0.3144 0.2097 +vn 0.9344 0.3289 0.1364 +vn 0.9407 0.3392 0.0089 +vn 0.8657 -0.1894 -0.4633 +vn 0.8358 0.0781 -0.5434 +vn -0.9296 -0.3628 0.0641 +vn -0.9278 -0.3599 0.0986 +vn -0.8138 0.0826 -0.5752 +vn -0.8467 -0.2014 -0.4926 +vn -0.9310 0.3649 0.0096 +vn -0.9238 0.3536 0.1467 +vn -0.9140 -0.3374 0.2251 +vn -0.8072 -0.0149 0.5901 +vn -0.8534 0.2182 0.4735 vn 0.0001 1.0000 0.0000 vn 0.0002 1.0000 0.0000 vn -0.0000 0.9998 0.0183 vn -0.0001 0.9998 0.0183 -vn 1.0000 0.0015 0.0004 +vn 1.0000 0.0015 0.0007 vn 1.0000 -0.0020 0.0019 vn 1.0000 -0.0005 0.0032 vn 1.0000 -0.0000 0.0017 @@ -3886,18 +3251,20 @@ vn 0.0041 -0.0001 -1.0000 vn 0.0000 1.0000 -0.0007 vn 1.0000 0.0000 0.0052 vn 1.0000 -0.0035 -0.0044 -vn -0.0002 -0.6430 -0.7658 +vn 0.0002 0.6430 0.7658 vn 0.0000 0.8690 0.4947 vn 1.0000 -0.0055 0.0020 vn 1.0000 -0.0005 0.0027 vn 1.0000 -0.0090 -0.0003 vn 1.0000 0.0001 0.0025 -vn 0.6788 0.4722 0.5624 -vn 0.5489 0.5375 0.6401 -vn -0.4928 0.5934 0.6364 -vn -0.3227 0.6087 0.7248 -vn -0.3837 0.8529 0.3540 -vn -0.5847 0.0737 -0.8079 +vn -0.6788 -0.4722 -0.5624 +vn -0.5489 -0.5375 -0.6401 +vn 0.7982 0.5983 0.0703 +vn 0.4928 -0.5934 -0.6364 +vn 0.4171 -0.6319 -0.6532 +vn 0.3412 -0.6364 -0.6918 +vn 0.3227 -0.6087 -0.7248 +vn 0.3837 -0.8529 -0.3540 vn 0.9999 0.0114 0.0035 vn 0.0041 0.0735 -0.9973 vn 0.0063 -0.0012 -1.0000 @@ -3940,10 +3307,9 @@ vn 0.2903 -0.9569 0.0000 vn 0.0009 0.0000 1.0000 vn -0.0008 0.0000 1.0000 vn 0.6341 -0.7732 0.0000 -vn 0.6340 -0.7733 0.0000 -vn -0.6345 -0.7730 0.0000 -vn -0.0010 0.0000 1.0000 vn 0.6338 -0.7735 0.0000 +vn -0.6345 -0.7729 0.0000 +vn -0.0010 0.0000 1.0000 vn 0.0012 0.0000 1.0000 vn -0.9886 0.1508 0.0000 vn 0.0000 0.7659 -0.6430 @@ -3967,1854 +3333,2495 @@ 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 -usemtl Material.001 s 1 -f 127/228/74 128/229/75 129/230/76 -f 127/231/77 130/232/78 128/229/79 -f 131/233/75 132/234/75 133/235/75 -f 132/234/80 134/236/80 133/235/80 -f 134/236/81 135/237/81 136/238/81 -f 133/235/79 136/239/79 131/240/79 -f 131/241/82 135/237/82 132/234/82 -f 136/242/83 137/243/84 138/244/85 -f 129/245/86 135/237/86 132/234/86 -f 128/229/87 137/246/87 129/230/87 -f 138/244/88 137/246/88 130/232/88 -f 139/247/89 138/248/89 127/249/89 -f 132/234/90 127/250/74 129/251/76 -f 136/242/91 138/248/92 139/252/93 -f 138/253/94 137/254/94 139/255/94 -f 140/256/75 141/257/75 142/258/75 -f 141/257/95 143/259/95 142/258/95 -f 143/259/81 144/260/81 145/261/81 -f 140/262/82 143/259/82 145/263/82 -f 140/264/96 144/260/96 141/257/96 -f 146/265/75 147/266/75 148/267/75 -f 147/266/97 149/268/97 148/267/97 -f 149/268/81 150/269/81 151/270/81 -f 148/267/96 151/271/96 146/272/96 -f 146/273/98 150/269/98 147/266/98 -f 152/274/74 153/275/75 154/276/76 -f 152/277/77 155/278/78 153/275/79 -f 156/279/75 157/280/75 158/281/75 -f 157/280/80 159/282/80 158/281/80 -f 159/282/81 160/283/81 161/284/81 -f 158/281/79 161/285/79 156/286/79 -f 156/287/82 160/283/82 157/280/82 -f 161/288/83 162/289/84 163/290/85 -f 154/291/86 160/283/86 157/280/86 -f 153/275/87 162/292/87 154/276/87 -f 163/290/88 162/292/88 155/278/88 -f 164/293/89 163/294/89 152/295/89 -f 157/280/90 152/296/74 154/297/76 -f 161/288/91 163/294/99 164/298/100 -f 163/299/101 162/300/101 164/301/101 -f 165/302/74 166/303/75 167/304/76 -f 165/305/77 168/306/78 166/303/79 -f 169/307/75 170/308/75 171/309/75 -f 170/308/80 172/310/80 171/309/80 -f 172/310/81 173/311/81 174/312/81 -f 171/309/79 174/313/79 169/314/79 -f 169/315/82 173/311/82 170/308/82 -f 174/316/83 175/317/84 176/318/85 -f 167/319/86 173/311/86 170/308/86 -f 166/303/87 175/320/87 167/304/87 -f 176/318/88 175/320/88 168/306/88 -f 177/321/89 176/322/89 165/323/89 -f 170/308/90 165/324/74 167/325/76 -f 174/316/91 176/322/102 177/326/100 -f 176/327/101 175/328/101 177/329/101 -f 178/330/74 179/331/75 180/332/76 -f 178/333/77 181/334/78 179/331/79 -f 182/335/75 183/336/75 184/337/75 -f 183/336/80 185/338/80 184/337/80 -f 185/338/81 186/339/81 187/340/81 -f 184/337/79 187/341/79 182/342/79 -f 182/343/82 186/339/82 183/336/82 -f 187/344/83 188/345/84 189/346/85 -f 180/347/86 186/339/86 183/336/86 -f 179/331/87 188/348/87 180/332/87 -f 189/346/88 188/348/88 181/334/88 -f 190/349/89 189/350/89 178/351/89 -f 183/336/90 178/352/74 180/353/76 -f 187/344/91 189/350/99 190/354/100 -f 189/355/103 188/356/103 190/357/103 -f 191/358/74 192/359/75 193/360/76 -f 191/361/77 194/362/78 192/359/79 -f 195/363/75 196/364/75 197/365/75 -f 196/364/80 198/366/80 197/365/80 -f 198/366/81 199/367/81 200/368/81 -f 197/365/79 200/369/79 195/370/79 -f 195/371/82 199/367/82 196/364/82 -f 200/372/83 201/373/84 202/374/85 -f 193/375/86 199/367/86 196/364/86 -f 192/359/87 201/376/87 193/360/87 -f 202/374/88 201/376/88 194/362/88 -f 203/377/89 202/378/89 191/379/89 -f 196/364/90 191/380/74 193/381/76 -f 200/372/91 202/378/104 203/382/105 -f 202/383/103 201/384/103 203/385/103 -f 204/386/74 205/387/75 206/388/76 -f 204/389/77 207/390/78 205/387/79 -f 208/391/75 209/392/75 210/393/75 -f 209/392/80 211/394/80 210/393/80 -f 211/394/81 212/395/81 213/396/81 -f 210/393/79 213/397/79 208/398/79 -f 208/399/82 212/395/82 209/392/82 -f 213/400/83 214/401/84 215/402/85 -f 206/403/86 212/395/86 209/392/86 -f 205/387/87 214/404/87 206/388/87 -f 215/402/88 214/404/88 207/390/88 -f 216/405/89 215/406/89 204/407/89 -f 209/392/90 204/408/74 206/409/76 -f 213/400/91 215/406/92 216/410/93 -f 215/411/106 214/412/106 216/413/106 -f 217/414/74 218/415/75 219/416/76 -f 217/417/77 220/418/78 218/415/79 -f 221/419/75 222/420/75 223/421/75 -f 222/420/80 224/422/80 223/421/80 -f 224/422/81 225/423/81 226/424/81 -f 223/421/79 226/425/79 221/426/79 -f 221/427/82 225/423/82 222/420/82 -f 226/428/83 227/429/84 228/430/85 -f 219/431/86 225/423/86 222/420/86 -f 218/415/87 227/432/87 219/416/87 -f 228/430/88 227/432/88 220/418/88 -f 229/433/107 228/434/107 217/435/107 -f 222/420/90 217/436/74 219/437/76 -f 226/428/91 228/434/104 229/438/93 -f 228/439/94 227/440/94 229/441/94 -f 230/442/74 231/443/75 232/444/76 -f 230/445/77 233/446/78 231/443/79 -f 234/447/75 235/448/75 236/449/75 -f 235/448/80 237/450/80 236/449/80 -f 237/450/81 238/451/81 239/452/81 -f 236/449/79 239/453/79 234/454/79 -f 234/455/82 238/451/82 235/448/82 -f 239/456/83 240/457/84 241/458/85 -f 232/459/86 238/451/86 235/448/86 -f 231/443/87 240/460/87 232/444/87 -f 241/458/88 240/460/88 233/446/88 -f 242/461/89 241/462/89 230/463/89 -f 235/448/90 230/464/74 232/465/76 -f 239/456/91 241/462/92 242/466/93 -f 241/467/94 240/468/94 242/469/94 -f 243/470/74 244/471/75 245/472/76 -f 243/473/77 246/474/78 244/471/79 -f 247/475/75 248/476/75 249/477/75 -f 248/476/80 250/478/80 249/477/80 -f 250/478/81 251/479/81 252/480/81 -f 249/477/79 252/481/79 247/482/79 -f 247/483/82 251/479/82 248/476/82 -f 252/484/83 253/485/84 254/486/85 -f 245/487/86 251/479/86 248/476/86 -f 244/471/87 253/488/87 245/472/87 -f 254/486/88 253/488/88 246/474/88 -f 255/489/89 254/490/89 243/491/89 -f 248/476/90 243/492/74 245/493/76 -f 252/484/91 254/490/104 255/494/93 -f 254/495/94 253/496/94 255/497/94 -f 256/498/74 257/499/75 258/500/76 -f 256/501/77 259/502/78 257/499/79 -f 260/503/75 261/504/75 262/505/75 -f 261/504/80 263/506/80 262/505/80 -f 263/506/81 264/507/81 265/508/81 -f 262/505/79 265/509/79 260/510/79 -f 260/511/82 264/507/82 261/504/82 -f 265/512/83 266/513/84 267/514/85 -f 258/515/86 264/507/86 261/504/86 -f 257/499/87 266/516/87 258/500/87 -f 267/514/88 266/516/88 259/502/88 -f 268/517/89 267/518/89 256/519/89 -f 261/504/90 256/520/74 258/521/76 -f 265/512/91 267/518/92 268/522/93 -f 267/523/94 266/524/94 268/525/94 -f 269/526/74 270/527/75 271/528/76 -f 269/529/77 272/530/78 270/527/79 -f 273/531/75 274/532/75 275/533/75 -f 274/532/80 276/534/80 275/533/80 -f 276/534/81 277/535/81 278/536/81 -f 275/533/79 278/537/79 273/538/79 -f 273/539/82 277/535/82 274/532/82 -f 278/540/83 279/541/84 280/542/85 -f 271/543/86 277/535/86 274/532/86 -f 270/527/87 279/544/87 271/528/87 -f 280/542/88 279/544/88 272/530/88 -f 281/545/89 280/546/89 269/547/89 -f 274/532/90 269/548/74 271/549/76 -f 278/540/91 280/546/102 281/550/108 -f 280/551/94 279/552/94 281/553/94 -f 282/554/74 283/555/75 284/556/76 -f 282/557/77 285/558/78 283/555/79 -f 286/559/75 287/560/75 288/561/75 -f 287/560/80 289/562/80 288/561/80 -f 289/562/81 290/563/81 291/564/81 -f 288/561/79 291/565/79 286/566/79 -f 286/567/82 290/563/82 287/560/82 -f 291/568/83 292/569/84 293/570/85 -f 284/571/86 290/563/86 287/560/86 -f 283/555/87 292/572/87 284/556/87 -f 293/570/88 292/572/88 285/558/88 -f 294/573/89 293/574/89 282/575/89 -f 287/560/90 282/576/74 284/577/76 -f 291/568/91 293/574/104 294/578/105 -f 293/579/94 292/580/94 294/581/94 -f 127/231/77 138/582/109 130/232/78 -f 132/234/80 135/237/80 134/236/80 -f 133/235/79 134/236/79 136/239/79 -f 131/241/82 136/583/82 135/237/82 -f 136/242/83 135/237/110 137/243/84 -f 129/245/86 137/584/86 135/237/86 -f 128/229/87 130/232/87 137/246/87 -f 132/234/90 131/585/90 127/250/74 -f 139/252/93 127/249/111 136/242/91 -f 127/249/111 131/585/111 136/242/91 -f 141/257/95 144/260/95 143/259/95 -f 140/262/82 142/258/82 143/259/82 -f 140/264/96 145/586/96 144/260/96 -f 147/266/97 150/269/97 149/268/97 -f 148/267/96 149/268/96 151/271/96 -f 146/273/98 151/587/98 150/269/98 -f 152/277/77 163/588/109 155/278/78 -f 157/280/80 160/283/80 159/282/80 -f 158/281/79 159/282/79 161/285/79 -f 156/287/82 161/589/82 160/283/82 -f 161/288/83 160/283/110 162/289/84 -f 154/291/86 162/590/86 160/283/86 -f 153/275/87 155/278/87 162/292/87 -f 157/280/90 156/591/90 152/296/74 -f 164/298/100 152/295/111 161/288/91 -f 152/295/111 156/591/111 161/288/91 -f 165/305/77 176/592/109 168/306/78 -f 170/308/80 173/311/80 172/310/80 -f 171/309/79 172/310/79 174/313/79 -f 169/315/82 174/593/82 173/311/82 -f 174/316/83 173/311/110 175/317/84 -f 167/319/86 175/594/86 173/311/86 -f 166/303/87 168/306/87 175/320/87 -f 170/308/90 169/595/90 165/324/74 -f 177/326/100 165/323/111 174/316/91 -f 165/323/111 169/595/111 174/316/91 -f 178/333/77 189/596/109 181/334/78 -f 183/336/80 186/339/80 185/338/80 -f 184/337/79 185/338/79 187/341/79 -f 182/343/82 187/597/82 186/339/82 -f 187/344/83 186/339/110 188/345/84 -f 180/347/86 188/598/86 186/339/86 -f 179/331/87 181/334/87 188/348/87 -f 183/336/90 182/599/90 178/352/74 -f 190/354/100 178/351/111 187/344/91 -f 178/351/111 182/599/111 187/344/91 -f 191/361/77 202/600/109 194/362/78 -f 196/364/80 199/367/80 198/366/80 -f 197/365/79 198/366/79 200/369/79 -f 195/371/82 200/601/82 199/367/82 -f 200/372/83 199/367/110 201/373/84 -f 193/375/86 201/602/86 199/367/86 -f 192/359/87 194/362/87 201/376/87 -f 196/364/90 195/603/90 191/380/74 -f 203/382/105 191/379/111 200/372/91 -f 191/379/111 195/603/111 200/372/112 -f 204/389/77 215/604/109 207/390/78 -f 209/392/80 212/395/80 211/394/80 -f 210/393/79 211/394/79 213/397/79 -f 208/399/82 213/605/82 212/395/82 -f 213/400/83 212/395/110 214/401/84 -f 206/403/86 214/606/86 212/395/86 -f 205/387/87 207/390/87 214/404/87 -f 209/392/90 208/607/90 204/408/74 -f 216/410/93 204/407/111 213/400/91 -f 204/407/111 208/607/111 213/400/91 -f 217/417/77 228/608/109 220/418/78 -f 222/420/80 225/423/80 224/422/80 -f 223/421/79 224/422/79 226/425/79 -f 221/427/82 226/609/82 225/423/82 -f 226/428/83 225/423/110 227/429/84 -f 219/431/86 227/610/86 225/423/86 -f 218/415/87 220/418/87 227/432/87 -f 222/420/90 221/611/90 217/436/74 -f 229/438/93 217/435/111 226/428/91 -f 217/435/111 221/611/111 226/428/91 -f 230/445/77 241/612/109 233/446/78 -f 235/448/80 238/451/80 237/450/80 -f 236/449/79 237/450/79 239/453/79 -f 234/455/82 239/613/82 238/451/82 -f 239/456/83 238/451/110 240/457/84 -f 232/459/86 240/614/86 238/451/86 -f 231/443/87 233/446/87 240/460/87 -f 235/448/90 234/615/90 230/464/74 -f 242/466/93 230/463/111 239/456/91 -f 230/463/111 234/615/111 239/456/91 -f 243/473/77 254/616/109 246/474/78 -f 248/476/80 251/479/80 250/478/80 -f 249/477/79 250/478/79 252/481/79 -f 247/483/82 252/617/82 251/479/82 -f 252/484/83 251/479/110 253/485/84 -f 245/487/86 253/618/86 251/479/86 -f 244/471/87 246/474/87 253/488/87 -f 248/476/90 247/619/90 243/492/74 -f 255/494/93 243/491/111 252/484/91 -f 243/491/111 247/619/111 252/484/91 -f 256/501/77 267/620/109 259/502/78 -f 261/504/80 264/507/80 263/506/80 -f 262/505/79 263/506/79 265/509/79 -f 260/511/82 265/621/82 264/507/82 -f 265/512/83 264/507/110 266/513/84 -f 258/515/86 266/622/86 264/507/86 -f 257/499/87 259/502/87 266/516/87 -f 261/504/90 260/623/90 256/520/74 -f 268/522/93 256/519/111 265/512/91 -f 256/519/111 260/623/111 265/512/112 -f 269/529/77 280/624/109 272/530/78 -f 274/532/80 277/535/80 276/534/80 -f 275/533/79 276/534/79 278/537/79 -f 273/539/82 278/625/82 277/535/82 -f 278/540/83 277/535/110 279/541/84 -f 271/543/86 279/626/86 277/535/86 -f 270/527/87 272/530/87 279/544/87 -f 274/532/90 273/627/90 269/548/74 -f 281/550/108 269/547/111 278/540/91 -f 269/547/111 273/627/111 278/540/91 -f 282/557/77 293/628/109 285/558/78 -f 287/560/80 290/563/80 289/562/80 -f 288/561/79 289/562/79 291/565/79 -f 286/567/82 291/629/82 290/563/82 -f 291/568/83 290/563/110 292/569/84 -f 284/571/86 292/630/86 290/563/86 -f 283/555/87 285/558/87 292/572/87 -f 287/560/90 286/631/90 282/576/74 -f 294/578/105 282/575/111 291/568/91 -f 282/575/111 286/631/111 291/568/91 -f 295/632/75 296/633/75 297/634/75 -f 298/635/113 297/636/113 299/637/113 -f 300/638/114 301/639/114 297/636/114 -f 302/640/115 303/641/115 301/639/115 -f 304/642/116 305/643/116 303/641/116 -f 306/644/117 307/645/117 305/643/117 -f 308/646/118 309/647/118 307/645/118 -f 310/648/119 311/649/119 309/647/119 -f 312/650/120 313/651/120 311/649/120 -f 314/652/121 295/653/121 313/651/121 -f 315/654/122 296/655/122 295/653/122 -f 296/633/96 298/656/96 299/657/96 -f 304/658/81 302/659/81 312/660/81 -f 296/633/75 299/657/75 297/634/75 -f 297/634/75 301/661/75 313/662/75 -f 301/661/75 303/663/75 311/664/75 -f 303/663/75 305/665/75 311/664/75 -f 305/665/75 307/666/75 309/667/75 -f 311/664/75 305/665/75 309/667/75 -f 311/664/75 313/662/75 301/661/75 -f 313/662/75 295/632/75 297/634/75 -f 298/635/113 300/638/113 297/636/113 -f 300/638/114 302/640/114 301/639/114 -f 302/640/115 304/642/115 303/641/115 -f 304/642/116 306/644/116 305/643/116 -f 306/644/117 308/646/117 307/645/117 -f 308/646/118 310/648/118 309/647/118 -f 310/648/119 312/650/119 311/649/119 -f 312/650/120 314/652/120 313/651/120 -f 314/652/121 315/654/121 295/653/121 -f 315/654/122 316/668/122 296/655/122 -f 296/633/96 316/669/96 298/656/96 -f 302/659/81 300/670/81 315/671/81 -f 300/670/81 298/656/81 315/671/81 -f 298/656/81 316/669/81 315/671/81 -f 315/671/81 314/672/81 302/659/81 -f 314/672/81 312/660/81 302/659/81 -f 312/660/81 310/673/81 304/658/81 -f 310/673/81 308/674/81 306/675/81 -f 304/658/81 310/673/81 306/675/81 -f 317/676/123 318/677/123 319/678/123 -f 320/679/124 321/680/124 318/677/124 -f 322/681/125 323/682/125 321/680/125 -f 324/683/126 325/684/126 323/682/126 -f 326/685/127 327/686/127 325/684/127 -f 328/687/128 329/688/128 327/686/128 -f 330/689/129 331/690/129 329/688/129 -f 332/691/130 333/692/130 331/690/130 -f 334/693/131 335/694/131 333/692/131 -f 336/695/132 337/696/132 335/694/132 -f 338/697/133 339/698/133 337/696/133 -f 340/699/134 341/700/134 339/698/134 -f 342/701/135 343/702/135 341/700/135 -f 344/703/136 345/704/136 343/702/136 -f 346/705/137 347/706/137 345/704/137 -f 348/707/138 349/708/139 347/706/139 -f 350/709/140 351/710/140 349/708/140 -f 352/711/141 353/712/141 351/710/141 -f 354/713/142 355/714/142 353/712/142 -f 356/715/143 357/716/143 355/714/143 -f 358/717/144 359/718/144 357/716/144 -f 360/719/145 361/720/145 359/718/145 -f 338/721/81 330/722/81 322/723/81 -f 362/724/146 363/725/146 361/720/146 -f 364/726/147 319/727/147 363/725/147 -f 365/728/136 366/729/136 367/730/136 -f 368/731/124 369/732/124 370/733/124 -f 371/734/127 372/735/127 369/732/127 -f 373/736/130 374/737/130 372/735/130 -f 375/738/133 376/739/133 374/737/133 -f 377/740/136 378/741/136 376/739/136 -f 379/742/140 380/743/140 378/741/140 -f 373/744/81 368/745/81 381/746/81 -f 381/747/143 382/748/143 380/743/143 -f 383/749/146 370/750/146 382/748/146 -f 374/751/75 378/752/75 382/753/75 -f 376/754/148 384/755/148 374/756/148 -f 374/756/149 385/757/149 372/758/149 -f 372/758/150 386/759/150 369/760/150 -f 386/759/151 370/761/151 369/760/151 -f 387/762/152 382/763/152 370/761/152 -f 388/764/153 380/765/153 382/763/153 -f 389/766/154 378/767/154 380/765/154 -f 390/768/155 376/754/155 378/767/155 -f 391/769/143 385/770/143 384/771/143 -f 392/772/146 384/771/146 393/773/146 -f 394/774/133 388/775/133 387/776/133 -f 395/777/136 387/778/136 386/779/136 -f 396/780/140 386/779/140 385/770/140 -f 397/781/124 393/773/124 390/782/124 -f 398/783/123 399/784/123 400/785/123 -f 401/786/124 402/787/124 399/784/124 -f 403/788/125 404/789/125 402/787/125 -f 405/790/156 406/791/156 404/789/156 -f 407/792/127 408/793/127 406/791/127 -f 409/794/128 410/795/128 408/793/128 -f 411/796/129 412/797/129 410/795/129 -f 413/798/130 414/799/130 412/797/130 -f 415/800/131 416/801/131 414/799/131 -f 417/802/132 418/803/132 416/801/132 -f 419/804/133 420/805/133 418/803/133 -f 421/806/134 422/807/134 420/805/134 -f 423/808/135 424/809/135 422/807/135 -f 425/810/136 426/811/136 424/809/136 -f 427/812/137 428/813/137 426/811/137 -f 429/814/138 430/815/138 428/813/138 -f 431/816/140 432/817/140 430/815/140 -f 433/818/141 434/819/141 432/817/141 -f 435/820/142 436/821/142 434/819/142 -f 437/822/143 438/823/143 436/821/143 -f 439/824/144 440/825/144 438/823/144 -f 441/826/145 442/827/145 440/825/145 -f 435/828/81 419/829/81 403/830/81 -f 443/831/146 444/832/146 442/827/146 -f 445/833/147 400/834/147 444/832/147 -f 436/835/75 444/836/75 412/837/75 -f 446/838/123 447/839/123 448/840/123 -f 449/841/124 450/842/124 447/839/124 -f 451/843/125 452/844/125 450/842/125 -f 453/845/126 454/846/126 452/844/126 -f 455/847/127 456/848/127 454/846/127 -f 457/849/128 458/850/128 456/848/128 -f 459/851/129 460/852/129 458/850/129 -f 461/853/130 462/854/130 460/852/130 -f 463/855/131 464/856/131 462/854/131 -f 465/857/132 466/858/132 464/856/132 -f 467/859/133 468/860/133 466/858/133 -f 469/861/134 470/862/134 468/860/134 -f 471/863/135 472/864/135 470/862/135 -f 473/865/136 474/866/136 472/864/136 -f 475/867/137 476/868/137 474/866/157 -f 477/869/138 478/870/139 476/868/139 -f 479/871/140 480/872/140 478/870/140 -f 481/873/141 482/874/141 480/872/141 -f 483/875/142 484/876/142 482/874/142 -f 485/877/143 486/878/143 484/876/143 -f 487/879/144 488/880/144 486/878/144 -f 489/881/145 490/882/145 488/880/145 -f 467/883/81 459/884/81 451/885/81 -f 491/886/146 492/887/146 490/882/146 -f 493/888/147 448/889/147 492/887/147 -f 476/890/75 484/891/75 492/892/75 -f 494/893/123 495/894/123 496/895/123 -f 497/896/124 498/897/124 495/894/124 -f 499/898/125 500/899/125 498/897/125 -f 501/900/156 502/901/156 500/899/126 -f 503/902/127 504/903/127 502/901/127 -f 505/904/128 506/905/128 504/903/128 -f 507/906/129 508/907/129 506/905/129 -f 509/908/130 510/909/130 508/907/130 -f 511/910/131 512/911/131 510/909/131 -f 513/912/132 514/913/132 512/911/132 -f 515/914/133 516/915/133 514/913/133 -f 517/916/134 518/917/134 516/915/134 -f 519/918/135 520/919/135 518/917/135 -f 521/920/136 522/921/136 520/919/136 -f 523/922/137 524/923/137 522/921/137 -f 525/924/138 526/925/138 524/923/138 -f 527/926/140 528/927/140 526/925/140 -f 529/928/141 530/929/141 528/927/141 -f 531/930/142 532/931/142 530/929/142 -f 533/932/143 534/933/143 532/931/143 -f 535/934/144 536/935/144 534/933/144 -f 537/936/145 538/937/145 536/935/145 -f 515/938/81 507/939/81 499/940/81 -f 539/941/146 540/942/146 538/937/146 -f 541/943/147 496/944/147 540/942/147 -f 524/945/75 532/946/75 540/947/75 -f 542/948/123 543/949/123 544/950/123 -f 545/951/124 546/952/124 543/949/124 -f 547/953/125 548/954/125 546/952/125 -f 549/955/126 550/956/126 548/954/126 -f 551/957/127 552/958/127 550/956/127 -f 553/959/128 554/960/128 552/958/128 -f 555/961/129 556/962/129 554/960/129 -f 557/963/130 558/964/130 556/962/130 -f 559/965/131 560/966/131 558/964/131 -f 561/967/132 562/968/132 560/966/132 -f 563/969/133 564/970/133 562/968/133 -f 565/971/134 566/972/134 564/970/134 -f 567/973/135 568/974/135 566/972/135 -f 569/975/136 570/976/136 568/974/136 -f 571/977/137 572/978/137 570/976/137 -f 573/979/139 574/980/139 572/978/139 -f 575/981/140 576/982/140 574/980/140 -f 577/983/141 578/984/141 576/982/141 -f 579/985/142 580/986/142 578/984/142 -f 581/987/143 582/988/143 580/986/143 -f 583/989/144 584/990/144 582/988/144 -f 585/991/145 586/992/145 584/990/145 -f 563/993/81 555/994/81 547/995/81 -f 587/996/146 588/997/146 586/992/146 -f 589/998/147 544/999/147 588/997/147 -f 572/1000/75 580/1001/75 588/1002/75 -f 590/1003/123 591/1004/123 592/1005/123 -f 593/1006/124 594/1007/124 591/1004/124 -f 595/1008/158 596/1009/125 594/1007/125 -f 597/1010/126 598/1011/126 596/1009/126 -f 599/1012/127 600/1013/127 598/1011/127 -f 601/1014/128 602/1015/128 600/1013/128 -f 603/1016/129 604/1017/129 602/1015/129 -f 605/1018/130 606/1019/130 604/1017/130 -f 607/1020/131 608/1021/131 606/1019/131 -f 609/1022/159 610/1023/132 608/1021/132 -f 611/1024/133 612/1025/133 610/1023/133 -f 613/1026/134 614/1027/134 612/1025/134 -f 615/1028/135 616/1029/135 614/1027/135 -f 617/1030/136 618/1031/136 616/1029/136 -f 619/1032/137 620/1033/157 618/1031/157 -f 621/1034/138 622/1035/139 620/1033/139 -f 623/1036/140 624/1037/140 622/1035/140 -f 625/1038/141 626/1039/141 624/1037/141 -f 627/1040/142 628/1041/142 626/1039/142 -f 629/1042/143 630/1043/143 628/1041/143 -f 631/1044/144 632/1045/144 630/1043/144 -f 633/1046/145 634/1047/145 632/1045/145 -f 611/1048/81 603/1049/81 595/1050/81 -f 635/1051/146 636/1052/146 634/1047/146 -f 637/1053/147 592/1054/147 636/1052/147 -f 620/1055/75 628/1056/75 636/1057/75 -f 638/1058/75 318/1059/75 367/730/75 -f 367/730/75 321/1060/75 365/728/75 -f 365/728/75 323/1061/75 639/1062/75 -f 639/1062/75 325/1063/75 640/1064/75 -f 640/1064/75 327/1065/75 641/1066/75 -f 641/1066/75 329/1067/75 642/1068/75 -f 643/1069/75 329/1067/75 331/1070/75 -f 644/1071/75 331/1070/75 333/1072/75 -f 645/1073/75 333/1072/75 335/1074/75 -f 646/1075/75 335/1074/75 337/1076/75 -f 647/1077/75 337/1076/75 339/1078/75 -f 648/1079/75 339/1078/75 341/1080/75 -f 648/1079/75 343/1081/75 649/1082/75 -f 649/1082/75 345/1083/75 650/1084/75 -f 650/1084/75 347/1085/75 651/1086/75 -f 651/1086/75 349/1087/75 652/1088/75 -f 652/1088/75 351/1089/75 653/1090/75 -f 653/1090/75 353/1091/75 654/1092/75 -f 655/1093/75 353/1091/75 355/1094/75 -f 656/1095/75 355/1094/75 357/1096/75 -f 657/1097/75 357/1096/75 359/1098/75 -f 658/1099/75 359/1098/75 361/1100/75 -f 659/1101/75 361/1100/75 363/1102/75 -f 638/1058/75 363/1102/75 319/1103/75 -f 660/1104/75 661/1105/75 662/1106/75 -f 653/1090/127 663/1107/127 652/1088/127 -f 646/1075/145 664/1108/145 645/1073/145 -f 639/1062/137 665/1109/137 365/728/137 -f 654/1092/128 666/1110/128 653/1090/128 -f 647/1077/146 667/1111/146 646/1075/146 -f 640/1064/138 668/1112/138 639/1062/138 -f 655/1093/129 669/1113/129 654/1092/129 -f 648/1079/147 670/1114/147 647/1077/147 -f 641/1066/140 671/1115/140 640/1064/140 -f 656/1095/130 672/1116/130 655/1093/130 -f 649/1082/123 673/1117/123 648/1079/123 -f 642/1068/141 674/1118/141 641/1066/141 -f 657/1097/131 675/1119/131 656/1095/131 -f 650/1084/124 676/1120/124 649/1082/124 -f 643/1069/142 677/1121/142 642/1068/142 -f 658/1099/132 660/1104/132 657/1097/132 -f 651/1086/158 678/1122/125 650/1084/158 -f 644/1071/143 679/1123/143 643/1069/143 -f 659/1101/133 661/1105/133 658/1099/133 -f 367/730/135 680/1124/135 638/1058/135 -f 652/1088/156 662/1106/156 651/1086/156 -f 645/1073/144 681/1125/144 644/1071/144 -f 638/1058/134 682/1126/134 659/1101/134 -f 397/781/160 389/766/161 683/1127/162 -f 317/676/123 320/679/123 318/677/123 -f 320/679/124 322/681/124 321/680/124 -f 322/681/125 324/683/125 323/682/125 -f 324/683/126 326/685/126 325/684/126 -f 326/685/127 328/687/127 327/686/127 -f 328/687/128 330/689/128 329/688/128 -f 330/689/129 332/691/129 331/690/129 -f 332/691/130 334/693/130 333/692/130 -f 334/693/131 336/695/131 335/694/131 -f 336/695/132 338/697/132 337/696/132 -f 338/697/133 340/699/133 339/698/133 -f 340/699/134 342/701/134 341/700/134 -f 342/701/135 344/703/135 343/702/135 -f 344/703/136 346/705/136 345/704/136 -f 346/705/137 348/707/137 347/706/137 -f 348/707/138 350/709/138 349/708/139 -f 350/709/140 352/711/140 351/710/140 -f 352/711/141 354/713/141 353/712/141 -f 354/713/142 356/715/142 355/714/142 -f 356/715/143 358/717/143 357/716/143 -f 358/717/144 360/719/144 359/718/144 -f 360/719/145 362/724/145 361/720/145 -f 322/723/81 320/1128/81 317/1129/81 -f 317/1129/81 364/1130/81 322/723/81 -f 364/1130/81 362/1131/81 322/723/81 -f 362/1131/81 360/1132/81 358/1133/81 -f 358/1133/81 356/1134/81 354/1135/81 -f 354/1135/81 352/1136/81 350/1137/81 -f 350/1137/81 348/1138/81 354/1135/81 -f 348/1138/81 346/1139/81 354/1135/81 -f 346/1139/81 344/1140/81 342/1141/81 -f 342/1141/81 340/1142/81 338/721/81 -f 338/721/81 336/1143/81 334/1144/81 -f 334/1144/81 332/1145/81 330/722/81 -f 330/722/81 328/1146/81 326/1147/81 -f 326/1147/81 324/1148/81 330/722/81 -f 324/1148/81 322/723/81 330/722/81 -f 362/1131/81 358/1133/81 354/1135/81 -f 346/1139/81 342/1141/81 354/1135/81 -f 342/1141/81 338/721/81 354/1135/81 -f 338/721/81 334/1144/81 330/722/81 -f 322/723/81 362/1131/81 338/721/81 -f 362/1131/81 354/1135/81 338/721/81 -f 362/724/146 364/726/146 363/725/146 -f 364/726/147 317/1149/147 319/727/147 -f 365/728/136 665/1109/136 366/729/136 -f 368/731/124 371/734/124 369/732/124 -f 371/734/127 373/736/127 372/735/127 -f 373/736/130 375/738/130 374/737/130 -f 375/738/133 377/740/133 376/739/133 -f 377/740/136 379/742/136 378/741/136 -f 379/742/140 381/747/140 380/743/140 -f 373/744/81 371/1150/81 368/745/81 -f 368/745/81 383/1151/81 381/746/81 -f 381/746/81 379/1152/81 373/744/81 -f 379/1152/81 377/1153/81 373/744/81 -f 377/1153/81 375/1154/81 373/744/81 -f 381/747/143 383/749/143 382/748/143 -f 383/749/146 368/1155/146 370/750/146 -f 382/753/75 370/1156/75 374/751/75 -f 370/1156/75 369/1157/75 374/751/75 -f 369/1157/75 372/1158/75 374/751/75 -f 374/751/75 376/1159/75 378/752/75 -f 378/752/75 380/1160/75 382/753/75 -f 376/754/148 393/1161/148 384/755/148 -f 374/756/149 384/755/149 385/757/149 -f 372/758/150 385/757/150 386/759/150 -f 386/759/151 387/762/151 370/761/151 -f 387/762/152 388/764/152 382/763/152 -f 388/764/153 389/766/153 380/765/153 -f 389/766/154 390/768/154 378/767/154 -f 390/768/155 393/1161/155 376/754/155 -f 391/769/143 396/780/143 385/770/143 -f 392/772/146 391/769/146 384/771/146 -f 394/774/133 683/1127/133 388/775/133 -f 395/777/136 394/1162/136 387/778/136 -f 396/780/140 395/777/140 386/779/140 -f 397/781/124 392/772/124 393/773/124 -f 398/783/123 401/786/123 399/784/123 -f 401/786/124 403/788/124 402/787/124 -f 403/788/125 405/790/125 404/789/125 -f 405/790/156 407/792/156 406/791/156 -f 407/792/127 409/794/127 408/793/127 -f 409/794/128 411/796/128 410/795/128 -f 411/796/129 413/798/129 412/797/129 -f 413/798/130 415/800/130 414/799/130 -f 415/800/131 417/802/131 416/801/131 -f 417/802/132 419/804/132 418/803/132 -f 419/804/133 421/806/133 420/805/133 -f 421/806/134 423/808/134 422/807/134 -f 423/808/135 425/810/135 424/809/135 -f 425/810/136 427/812/136 426/811/136 -f 427/812/137 429/814/137 428/813/137 -f 429/814/138 431/816/138 430/815/138 -f 431/816/140 433/818/140 432/817/140 -f 433/818/141 435/820/141 434/819/141 -f 435/820/142 437/822/142 436/821/142 -f 437/822/143 439/824/143 438/823/143 -f 439/824/144 441/826/144 440/825/144 -f 441/826/145 443/831/145 442/827/145 -f 403/830/81 401/1163/81 443/1164/81 -f 401/1163/81 398/1165/81 443/1164/81 -f 398/1165/81 445/1166/81 443/1164/81 -f 443/1164/81 441/1167/81 439/1168/81 -f 439/1168/81 437/1169/81 435/828/81 -f 435/828/81 433/1170/81 431/1171/81 -f 431/1171/81 429/1172/81 427/1173/81 -f 427/1173/81 425/1174/81 423/1175/81 -f 423/1175/81 421/1176/81 419/829/81 -f 419/829/81 417/1177/81 415/1178/81 -f 415/1178/81 413/1179/81 419/829/81 -f 413/1179/81 411/1180/81 419/829/81 -f 411/1180/81 409/1181/81 407/1182/81 -f 407/1182/81 405/1183/81 403/830/81 -f 443/1164/81 439/1168/81 403/830/81 -f 439/1168/81 435/828/81 403/830/81 -f 435/828/81 431/1171/81 419/829/81 -f 431/1171/81 427/1173/81 419/829/81 -f 427/1173/81 423/1175/81 419/829/81 -f 411/1180/81 407/1182/81 419/829/81 -f 407/1182/81 403/830/81 419/829/81 -f 443/831/146 445/833/146 444/832/146 -f 445/833/147 398/1184/147 400/834/147 -f 444/836/75 400/1185/75 399/1186/75 -f 399/1186/75 402/1187/75 444/836/75 -f 402/1187/75 404/1188/75 444/836/75 -f 404/1188/75 406/1189/75 412/837/75 -f 406/1189/75 408/1190/163 412/837/75 -f 408/1190/163 410/1191/75 412/837/75 -f 412/837/75 414/1192/164 416/1193/75 -f 416/1193/75 418/1194/75 420/1195/75 -f 420/1195/75 422/1196/75 424/1197/75 -f 424/1197/75 426/1198/75 428/1199/75 -f 428/1199/75 430/1200/75 432/1201/75 -f 432/1201/75 434/1202/75 436/835/75 -f 436/835/75 438/1203/75 440/1204/164 -f 440/1204/164 442/1205/75 436/835/75 -f 442/1205/75 444/836/75 436/835/75 -f 412/837/75 416/1193/75 420/1195/75 -f 420/1195/75 424/1197/75 412/837/75 -f 424/1197/75 428/1199/75 412/837/75 -f 428/1199/75 432/1201/75 436/835/75 -f 444/836/75 404/1188/75 412/837/75 -f 428/1199/75 436/835/75 412/837/75 -f 446/838/123 449/841/123 447/839/123 -f 449/841/124 451/843/124 450/842/124 -f 451/843/125 453/845/125 452/844/125 -f 453/845/126 455/847/126 454/846/126 -f 455/847/127 457/849/127 456/848/127 -f 457/849/128 459/851/128 458/850/128 -f 459/851/129 461/853/129 460/852/129 -f 461/853/130 463/855/130 462/854/130 -f 463/855/131 465/857/131 464/856/131 -f 465/857/132 467/859/132 466/858/132 -f 467/859/133 469/861/133 468/860/133 -f 469/861/134 471/863/134 470/862/134 -f 471/863/135 473/865/135 472/864/135 -f 473/865/136 475/867/136 474/866/136 -f 475/867/137 477/869/137 476/868/137 -f 477/869/138 479/871/138 478/870/139 -f 479/871/140 481/873/140 480/872/140 -f 481/873/141 483/875/141 482/874/141 -f 483/875/142 485/877/142 484/876/142 -f 485/877/143 487/879/143 486/878/143 -f 487/879/144 489/881/144 488/880/144 -f 489/881/145 491/886/145 490/882/145 -f 451/885/81 449/1206/81 446/1207/81 -f 446/1207/81 493/1208/81 491/1209/81 -f 491/1209/81 489/1210/165 487/1211/81 -f 487/1211/81 485/1212/81 491/1209/81 -f 485/1212/81 483/1213/81 491/1209/81 -f 483/1213/81 481/1214/165 479/1215/81 -f 479/1215/81 477/1216/81 483/1213/81 -f 477/1216/81 475/1217/81 483/1213/81 -f 475/1217/81 473/1218/81 471/1219/81 -f 471/1219/81 469/1220/81 467/883/81 -f 467/883/81 465/1221/81 463/1222/81 -f 463/1222/81 461/1223/81 467/883/81 -f 461/1223/81 459/884/81 467/883/81 -f 459/884/81 457/1224/81 455/1225/81 -f 455/1225/81 453/1226/81 459/884/81 -f 453/1226/81 451/885/81 459/884/81 -f 451/885/81 446/1207/81 491/1209/81 -f 475/1217/81 471/1219/81 483/1213/81 -f 471/1219/81 467/883/81 483/1213/81 -f 451/885/81 491/1209/81 467/883/81 -f 491/1209/81 483/1213/81 467/883/81 -f 491/886/146 493/888/146 492/887/146 -f 493/888/147 446/1227/147 448/889/147 -f 492/892/75 448/1228/75 447/1229/75 -f 447/1229/75 450/1230/75 492/892/75 -f 450/1230/75 452/1231/75 492/892/75 -f 452/1231/75 454/1232/163 456/1233/164 -f 456/1233/164 458/1234/75 452/1231/75 -f 458/1234/75 460/1235/75 452/1231/75 -f 460/1235/75 462/1236/75 464/1237/75 -f 464/1237/75 466/1238/75 468/1239/75 -f 468/1239/75 470/1240/75 476/890/75 -f 470/1240/75 472/1241/75 476/890/75 -f 472/1241/75 474/1242/164 476/890/75 -f 476/890/75 478/1243/75 480/1244/163 -f 480/1244/163 482/1245/75 476/890/75 -f 482/1245/75 484/891/75 476/890/75 -f 484/891/75 486/1246/164 488/1247/74 -f 488/1247/74 490/1248/75 484/891/75 -f 490/1248/75 492/892/75 484/891/75 -f 460/1235/75 464/1237/75 476/890/75 -f 464/1237/75 468/1239/75 476/890/75 -f 492/892/75 452/1231/75 476/890/75 -f 452/1231/75 460/1235/75 476/890/75 -f 494/893/123 497/896/123 495/894/123 -f 497/896/124 499/898/124 498/897/124 -f 499/898/125 501/900/125 500/899/125 -f 501/900/156 503/902/156 502/901/156 -f 503/902/127 505/904/127 504/903/127 -f 505/904/128 507/906/128 506/905/128 -f 507/906/129 509/908/129 508/907/129 -f 509/908/130 511/910/130 510/909/130 -f 511/910/131 513/912/131 512/911/131 -f 513/912/132 515/914/159 514/913/132 -f 515/914/133 517/916/133 516/915/133 -f 517/916/134 519/918/134 518/917/134 -f 519/918/135 521/920/135 520/919/135 -f 521/920/136 523/922/136 522/921/136 -f 523/922/137 525/924/137 524/923/137 -f 525/924/138 527/926/138 526/925/138 -f 527/926/140 529/928/140 528/927/140 -f 529/928/141 531/930/141 530/929/141 -f 531/930/142 533/932/142 532/931/142 -f 533/932/143 535/934/143 534/933/143 -f 535/934/144 537/936/144 536/935/144 -f 537/936/145 539/941/145 538/937/145 -f 499/940/81 497/1249/81 494/1250/81 -f 494/1250/81 541/1251/81 539/1252/81 -f 539/1252/81 537/1253/166 535/1254/165 -f 535/1254/165 533/1255/81 539/1252/81 -f 533/1255/81 531/1256/81 539/1252/81 -f 531/1256/81 529/1257/81 527/1258/81 -f 527/1258/81 525/1259/81 531/1256/81 -f 525/1259/81 523/1260/81 531/1256/81 -f 523/1260/81 521/1261/81 519/1262/81 -f 519/1262/81 517/1263/81 515/938/81 -f 515/938/81 513/1264/166 511/1265/81 -f 511/1265/81 509/1266/81 515/938/81 -f 509/1266/81 507/939/81 515/938/81 -f 507/939/81 505/1267/81 503/1268/81 -f 503/1268/81 501/1269/81 507/939/81 -f 501/1269/81 499/940/81 507/939/81 -f 499/940/81 494/1250/81 539/1252/81 -f 523/1260/81 519/1262/81 531/1256/81 -f 519/1262/81 515/938/81 531/1256/81 -f 499/940/81 539/1252/81 515/938/81 -f 539/1252/81 531/1256/81 515/938/81 -f 539/941/146 541/943/146 540/942/146 -f 541/943/147 494/1270/147 496/944/147 -f 540/947/75 496/1271/75 495/1272/75 -f 495/1272/75 498/1273/75 540/947/75 -f 498/1273/75 500/1274/75 540/947/75 -f 500/1274/75 502/1275/164 504/1276/75 -f 504/1276/75 506/1277/75 500/1274/75 -f 506/1277/75 508/1278/75 500/1274/75 -f 508/1278/75 510/1279/163 512/1280/75 -f 512/1280/75 514/1281/163 516/1282/75 -f 516/1282/75 518/1283/75 520/1284/75 -f 520/1284/75 522/1285/75 524/945/75 -f 524/945/75 526/1286/163 528/1287/75 -f 528/1287/75 530/1288/75 524/945/75 -f 530/1288/75 532/946/75 524/945/75 -f 532/946/75 534/1289/163 536/1290/164 -f 536/1290/164 538/1291/75 532/946/75 -f 538/1291/75 540/947/75 532/946/75 -f 508/1278/75 512/1280/75 516/1282/75 -f 516/1282/75 520/1284/75 508/1278/75 -f 520/1284/75 524/945/75 508/1278/75 -f 540/947/75 500/1274/75 524/945/75 -f 500/1274/75 508/1278/75 524/945/75 -f 542/948/123 545/951/123 543/949/123 -f 545/951/124 547/953/124 546/952/124 -f 547/953/125 549/955/125 548/954/125 -f 549/955/126 551/957/156 550/956/126 -f 551/957/127 553/959/127 552/958/127 -f 553/959/128 555/961/128 554/960/128 -f 555/961/129 557/963/129 556/962/129 -f 557/963/130 559/965/130 558/964/130 -f 559/965/131 561/967/131 560/966/131 -f 561/967/132 563/969/132 562/968/132 -f 563/969/133 565/971/133 564/970/133 -f 565/971/134 567/973/134 566/972/134 -f 567/973/135 569/975/135 568/974/135 -f 569/975/136 571/977/136 570/976/136 -f 571/977/137 573/979/137 572/978/137 -f 573/979/139 575/981/138 574/980/139 -f 575/981/140 577/983/140 576/982/140 -f 577/983/141 579/985/141 578/984/141 -f 579/985/142 581/987/142 580/986/142 -f 581/987/143 583/989/143 582/988/143 -f 583/989/144 585/991/144 584/990/144 -f 585/991/145 587/996/145 586/992/145 -f 547/995/81 545/1292/81 542/1293/81 -f 542/1293/81 589/1294/81 587/1295/81 -f 587/1295/81 585/1296/166 583/1297/81 -f 583/1297/81 581/1298/81 587/1295/81 -f 581/1298/81 579/1299/81 587/1295/81 -f 579/1299/81 577/1300/81 575/1301/81 -f 575/1301/81 573/1302/81 579/1299/81 -f 573/1302/81 571/1303/81 579/1299/81 -f 571/1303/81 569/1304/81 567/1305/81 -f 567/1305/81 565/1306/81 563/993/81 -f 563/993/81 561/1307/165 559/1308/81 -f 559/1308/81 557/1309/81 563/993/81 -f 557/1309/81 555/994/81 563/993/81 -f 555/994/81 553/1310/81 551/1311/81 -f 551/1311/81 549/1312/81 555/994/81 -f 549/1312/81 547/995/81 555/994/81 -f 547/995/81 542/1293/81 587/1295/81 -f 571/1303/81 567/1305/81 579/1299/81 -f 567/1305/81 563/993/81 579/1299/81 -f 547/995/81 587/1295/81 563/993/81 -f 587/1295/81 579/1299/81 563/993/81 -f 587/996/146 589/998/146 588/997/146 -f 589/998/147 542/1313/147 544/999/147 -f 588/1002/75 544/1314/75 543/1315/75 -f 543/1315/75 546/1316/75 588/1002/75 -f 546/1316/75 548/1317/75 588/1002/75 -f 548/1317/75 550/1318/75 552/1319/75 -f 552/1319/75 554/1320/75 548/1317/75 -f 554/1320/75 556/1321/75 548/1317/75 -f 556/1321/75 558/1322/75 560/1323/75 -f 560/1323/75 562/1324/75 564/1325/75 -f 564/1325/75 566/1326/75 572/1000/75 -f 566/1326/75 568/1327/75 572/1000/75 -f 568/1327/75 570/1328/75 572/1000/75 -f 572/1000/75 574/1329/75 576/1330/75 -f 576/1330/75 578/1331/75 572/1000/75 -f 578/1331/75 580/1001/75 572/1000/75 -f 580/1001/75 582/1332/75 584/1333/163 -f 584/1333/163 586/1334/75 580/1001/75 -f 586/1334/75 588/1002/75 580/1001/75 -f 556/1321/75 560/1323/75 572/1000/75 -f 560/1323/75 564/1325/75 572/1000/75 -f 588/1002/75 548/1317/75 572/1000/75 -f 548/1317/75 556/1321/75 572/1000/75 -f 590/1003/123 593/1006/123 591/1004/123 -f 593/1006/124 595/1008/124 594/1007/124 -f 595/1008/158 597/1010/158 596/1009/125 -f 597/1010/126 599/1012/126 598/1011/126 -f 599/1012/127 601/1014/127 600/1013/127 -f 601/1014/128 603/1016/128 602/1015/128 -f 603/1016/129 605/1018/129 604/1017/129 -f 605/1018/130 607/1020/130 606/1019/130 -f 607/1020/131 609/1022/131 608/1021/131 -f 609/1022/159 611/1024/159 610/1023/132 -f 611/1024/133 613/1026/133 612/1025/133 -f 613/1026/134 615/1028/134 614/1027/134 -f 615/1028/135 617/1030/135 616/1029/135 -f 617/1030/136 619/1032/136 618/1031/136 -f 619/1032/137 621/1034/137 620/1033/157 -f 621/1034/138 623/1036/138 622/1035/139 -f 623/1036/140 625/1038/140 624/1037/140 -f 625/1038/141 627/1040/141 626/1039/141 -f 627/1040/142 629/1042/142 628/1041/142 -f 629/1042/143 631/1044/143 630/1043/143 -f 631/1044/144 633/1046/144 632/1045/144 -f 633/1046/145 635/1051/145 634/1047/145 -f 595/1050/81 593/1335/81 590/1336/81 -f 590/1336/81 637/1337/81 595/1050/81 -f 637/1337/81 635/1338/81 595/1050/81 -f 635/1338/81 633/1339/81 631/1340/81 -f 631/1340/81 629/1341/81 635/1338/81 -f 629/1341/81 627/1342/81 635/1338/81 -f 627/1342/81 625/1343/81 623/1344/81 -f 623/1344/81 621/1345/81 627/1342/81 -f 621/1345/81 619/1346/81 627/1342/81 -f 619/1346/81 617/1347/81 615/1348/81 -f 615/1348/81 613/1349/81 611/1048/81 -f 611/1048/81 609/1350/81 607/1351/81 -f 607/1351/81 605/1352/81 611/1048/81 -f 605/1352/81 603/1049/81 611/1048/81 -f 603/1049/81 601/1353/81 599/1354/81 -f 599/1354/81 597/1355/81 603/1049/81 -f 597/1355/81 595/1050/81 603/1049/81 -f 619/1346/81 615/1348/81 627/1342/81 -f 615/1348/81 611/1048/81 627/1342/81 -f 595/1050/81 635/1338/81 611/1048/81 -f 635/1338/81 627/1342/81 611/1048/81 -f 635/1051/146 637/1053/146 636/1052/146 -f 637/1053/147 590/1356/147 592/1054/147 -f 636/1057/75 592/1357/75 591/1358/75 -f 591/1358/75 594/1359/75 636/1057/75 -f 594/1359/75 596/1360/75 636/1057/75 -f 596/1360/75 598/1361/75 600/1362/75 -f 600/1362/75 602/1363/75 596/1360/75 -f 602/1363/75 604/1364/75 596/1360/75 -f 604/1364/75 606/1365/75 608/1366/75 -f 608/1366/75 610/1367/75 612/1368/75 -f 612/1368/75 614/1369/75 620/1055/75 -f 614/1369/75 616/1370/75 620/1055/75 -f 616/1370/75 618/1371/75 620/1055/75 -f 620/1055/75 622/1372/75 624/1373/75 -f 624/1373/75 626/1374/75 620/1055/75 -f 626/1374/75 628/1056/75 620/1055/75 -f 628/1056/75 630/1375/75 632/1376/75 -f 632/1376/75 634/1377/75 628/1056/75 -f 634/1377/75 636/1057/75 628/1056/75 -f 604/1364/75 608/1366/75 620/1055/75 -f 608/1366/75 612/1368/75 620/1055/75 -f 636/1057/75 596/1360/75 620/1055/75 -f 596/1360/75 604/1364/75 620/1055/75 -f 638/1058/75 319/1103/75 318/1059/75 -f 367/730/75 318/1059/75 321/1060/75 -f 365/728/75 321/1060/75 323/1061/75 -f 639/1062/75 323/1061/75 325/1063/75 -f 640/1064/75 325/1063/75 327/1065/75 -f 641/1066/75 327/1065/75 329/1067/75 -f 643/1069/75 642/1068/75 329/1067/75 -f 644/1071/75 643/1069/75 331/1070/75 -f 645/1073/75 644/1071/75 333/1072/75 -f 646/1075/75 645/1073/75 335/1074/75 -f 647/1077/75 646/1075/75 337/1076/75 -f 648/1079/75 647/1077/75 339/1078/75 -f 648/1079/75 341/1080/75 343/1081/75 -f 649/1082/75 343/1081/75 345/1083/75 -f 650/1084/75 345/1083/75 347/1085/75 -f 651/1086/75 347/1085/75 349/1087/75 -f 652/1088/75 349/1087/75 351/1089/75 -f 653/1090/75 351/1089/75 353/1091/75 -f 655/1093/75 654/1092/75 353/1091/75 -f 656/1095/75 655/1093/75 355/1094/75 -f 657/1097/75 656/1095/75 357/1096/75 -f 658/1099/75 657/1097/75 359/1098/75 -f 659/1101/75 658/1099/75 361/1100/75 -f 638/1058/75 659/1101/75 363/1102/75 -f 682/1126/75 680/1124/75 673/1117/75 -f 680/1124/75 366/729/75 670/1114/75 -f 366/729/75 665/1109/75 670/1114/75 -f 665/1109/75 668/1112/75 667/1111/75 -f 670/1114/75 665/1109/75 667/1111/75 -f 668/1112/75 671/1115/75 681/1125/75 -f 671/1115/75 674/1118/75 679/1123/75 -f 674/1118/75 677/1121/75 679/1123/75 -f 679/1123/75 681/1125/75 671/1115/75 -f 681/1125/75 664/1108/75 668/1112/75 -f 664/1108/75 667/1111/75 668/1112/75 -f 670/1114/75 673/1117/75 680/1124/75 -f 673/1117/75 676/1120/75 682/1126/75 -f 676/1120/75 678/1122/75 682/1126/75 -f 678/1122/75 662/1106/75 661/1105/75 -f 682/1126/75 678/1122/75 661/1105/75 -f 662/1106/75 663/1107/75 675/1119/75 -f 663/1107/75 666/1110/75 672/1116/75 -f 666/1110/75 669/1113/75 672/1116/75 -f 672/1116/75 675/1119/75 663/1107/75 -f 675/1119/75 660/1104/75 662/1106/75 -f 653/1090/127 666/1110/127 663/1107/127 -f 646/1075/145 667/1111/145 664/1108/145 -f 639/1062/137 668/1112/137 665/1109/137 -f 654/1092/128 669/1113/128 666/1110/128 -f 647/1077/146 670/1114/146 667/1111/146 -f 640/1064/138 671/1115/138 668/1112/138 -f 655/1093/129 672/1116/129 669/1113/129 -f 648/1079/147 673/1117/147 670/1114/147 -f 641/1066/140 674/1118/140 671/1115/140 -f 656/1095/130 675/1119/130 672/1116/130 -f 649/1082/123 676/1120/123 673/1117/123 -f 642/1068/141 677/1121/141 674/1118/141 -f 657/1097/131 660/1104/131 675/1119/131 -f 650/1084/124 678/1122/124 676/1120/124 -f 643/1069/142 679/1123/142 677/1121/142 -f 658/1099/132 661/1105/132 660/1104/132 -f 651/1086/158 662/1106/125 678/1122/125 -f 644/1071/143 681/1125/143 679/1123/143 -f 659/1101/133 682/1126/133 661/1105/133 -f 367/730/135 366/729/135 680/1124/135 -f 652/1088/156 663/1107/156 662/1106/156 -f 645/1073/144 664/1108/144 681/1125/144 -f 638/1058/134 680/1124/134 682/1126/134 -f 683/1127/162 394/774/75 395/777/75 -f 395/777/75 396/780/75 683/1127/162 -f 396/780/75 391/769/75 397/781/160 -f 683/1127/162 396/780/75 397/781/160 -f 391/769/75 392/772/75 397/781/160 -f 397/781/160 390/768/127 389/766/161 -f 389/766/161 388/775/130 683/1127/162 -f 684/1378/167 685/1379/167 686/1380/167 -f 687/1381/168 688/1382/168 689/1383/168 -f 690/1384/169 685/1385/169 691/1386/169 -f 692/1387/170 691/1386/170 693/1388/170 -f 694/1389/171 692/1390/171 693/1388/171 -f 695/1391/169 696/1392/169 697/1393/169 -f 698/1394/172 694/1389/172 699/1395/172 -f 700/1396/173 701/1397/173 702/1398/173 -f 699/1395/168 703/1399/168 698/1394/168 -f 704/1400/174 702/1401/174 703/1399/174 -f 705/1402/175 684/1403/175 701/1404/175 -f 706/1405/82 707/1406/82 708/1407/82 -f 709/1408/98 710/1409/98 711/1410/98 -f 712/1411/96 713/1412/96 706/1413/96 -f 714/1414/176 715/1415/176 716/1416/176 -f 717/1417/177 718/1418/177 715/1419/177 -f 715/1420/178 719/1421/178 717/1422/179 -f 720/1423/180 721/1424/180 718/1418/180 -f 722/1425/181 723/1426/181 724/1427/181 -f 725/1428/182 726/1429/182 727/1430/182 -f 721/1424/183 728/1431/183 729/1432/183 -f 730/1433/184 731/1434/185 719/1435/186 -f 731/1436/181 729/1437/181 728/1438/181 -f 732/1439/82 733/1440/82 734/1441/82 -f 735/1442/98 736/1443/98 737/1444/98 -f 738/1445/81 734/1446/81 736/1447/81 -f 737/1448/79 734/1449/79 733/1450/79 -f 739/1451/96 738/1452/96 735/1453/96 -f 740/1454/187 741/1455/187 742/1456/187 -f 743/1457/188 744/1458/188 745/1459/188 -f 744/1460/189 746/1461/189 745/1462/189 -f 747/1463/190 746/1464/190 748/1465/190 -f 742/1466/191 743/1467/191 740/1468/191 -f 749/1469/98 747/1470/98 750/1471/98 -f 751/1472/192 752/1473/192 741/1455/192 -f 747/1474/193 753/1475/193 754/1476/193 -f 755/1477/194 749/1478/194 752/1479/194 -f 751/1480/82 740/1481/82 743/1482/82 -f 756/1483/96 757/1484/96 758/1485/96 -f 756/1486/195 759/1487/195 760/1488/195 -f 761/1489/196 762/1490/196 757/1491/196 -f 763/1492/197 759/1493/197 764/1494/197 -f 762/1495/198 765/1496/198 766/1497/198 -f 767/1498/199 765/1499/199 768/1500/199 -f 764/1501/200 769/1502/200 763/1503/200 -f 768/1504/201 770/1505/201 767/1506/201 -f 771/1507/202 772/1508/202 773/1509/202 -f 774/1510/203 775/1511/203 772/1512/203 -f 776/1513/204 777/1514/204 778/1515/204 -f 775/1516/98 767/1517/98 770/1518/98 -f 779/1519/205 773/1520/205 780/1521/205 -f 777/1522/82 768/1523/82 769/1524/82 -f 778/1525/206 781/1526/206 776/1527/206 -f 780/1528/207 782/1529/207 779/1530/207 -f 783/1531/208 784/1532/208 782/1533/208 -f 785/1534/209 786/1535/209 784/1536/209 -f 787/1537/210 788/1538/210 789/1539/210 -f 790/1540/98 791/1541/98 792/1542/98 -f 793/1543/79 794/1544/79 795/1545/79 -f 796/1546/211 793/1547/211 795/1548/211 -f 797/1549/212 798/1550/212 799/1551/212 -f 792/1552/213 796/1553/213 800/1554/213 -f 789/1555/82 797/1556/82 801/1557/82 -f 802/1558/214 790/1559/214 803/1560/214 -f 804/1561/212 803/1562/212 805/1563/212 -f 806/1564/213 807/1565/213 808/1566/213 -f 809/1567/211 810/1568/211 811/1569/211 -f 811/1570/79 810/1571/79 812/1572/79 -f 813/1573/79 795/1545/79 794/1574/79 -f 800/1575/215 805/1576/215 792/1577/215 -f 788/1578/214 798/1579/214 814/1580/214 -f 806/1581/215 801/1582/215 797/1583/215 -f 815/1584/210 791/1585/210 790/1586/210 -f 815/1587/82 804/1588/82 800/1589/82 -f 816/1590/216 807/1591/98 817/1592/217 -f 713/1593/75 709/1594/75 707/1595/75 -f 739/1596/75 737/1597/75 733/1598/75 -f 818/1599/82 715/1600/82 718/1601/82 -f 818/1599/82 721/1602/82 819/1603/82 -f 819/1603/82 729/1604/82 820/1605/82 -f 725/1428/82 715/1606/82 821/1607/82 -f 725/1428/82 822/1608/82 730/1609/82 -f 727/1430/98 729/1437/82 822/1608/82 -f 823/1610/82 824/1611/82 825/1612/82 -f 820/1605/183 826/1613/183 819/1603/183 -f 818/1599/177 825/1612/177 821/1614/177 -f 727/1430/181 823/1615/181 820/1616/181 -f 821/1607/218 824/1617/218 725/1428/218 -f 819/1603/180 827/1618/180 818/1599/180 -f 828/1619/98 717/1620/98 719/1621/98 -f 829/1622/98 830/1623/98 720/1624/98 -f 829/1625/98 717/1417/98 831/1626/98 -f 724/1427/82 719/1621/98 731/1627/98 -f 724/1427/82 728/1438/98 722/1425/98 -f 832/1628/98 728/1629/98 830/1623/98 -f 833/1630/98 834/1631/98 835/1632/98 -f 831/1633/177 836/1634/177 829/1622/177 -f 828/1619/179 833/1635/179 831/1636/179 -f 832/1628/183 835/1632/183 722/1637/183 -f 724/1427/219 834/1638/219 828/1619/219 -f 829/1622/180 837/1639/180 832/1628/180 -f 721/1424/220 827/1640/220 826/1641/220 -f 715/1642/221 827/1643/221 718/1644/221 -f 729/1645/222 826/1646/222 823/1647/222 -f 726/1648/223 729/1649/223 823/1650/223 -f 730/1651/224 822/1652/224 726/1653/224 -f 715/1654/225 726/1655/226 824/1656/227 -f 728/1431/228 837/1657/228 830/1658/228 -f 728/1659/229 723/1660/229 835/1661/229 -f 719/1662/230 723/1663/230 731/1664/230 -f 723/1665/231 705/1666/232 834/1667/233 -f 836/1668/234 705/1669/235 720/1670/236 -f 836/1671/237 830/1672/237 837/1673/237 -f 838/1674/82 701/1404/82 684/1403/82 -f 838/1674/82 686/1675/82 839/1676/82 -f 840/1677/82 692/1678/82 841/1679/82 -f 842/1680/82 692/1678/82 843/1681/82 -f 840/1677/82 686/1675/82 690/1682/82 -f 844/1683/82 701/1404/82 845/1684/82 -f 689/1383/82 703/1685/82 687/1381/82 -f 844/1683/82 703/1685/82 702/1686/82 -f 842/1680/82 698/1687/82 689/1383/82 -f 846/1688/82 847/1689/82 688/1690/82 -f 842/1680/171 848/1691/171 841/1679/171 -f 838/1674/175 849/1692/175 845/1684/175 -f 844/1683/174 850/1693/174 687/1381/174 -f 840/1677/169 847/1694/169 839/1676/169 -f 839/1676/167 846/1695/167 838/1674/167 -f 689/1383/172 851/1696/172 842/1680/172 -f 845/1684/173 852/1697/173 844/1683/173 -f 841/1679/170 853/1698/170 840/1677/170 -f 854/1699/98 705/1402/98 855/1700/98 -f 854/1699/98 685/1701/98 856/1702/98 -f 697/1393/98 693/1703/98 691/1704/98 -f 857/1705/98 693/1703/98 858/1706/98 -f 697/1393/98 685/1701/98 695/1391/98 -f 859/1707/98 705/1402/98 700/1708/98 -f 860/1709/98 704/1710/98 699/1711/98 -f 859/1707/98 704/1710/98 861/1712/98 -f 857/1705/98 699/1711/98 694/1713/98 -f 862/1714/98 863/1715/98 864/1716/98 -f 854/1699/167 864/1717/167 695/1391/167 -f 857/1705/172 862/1718/172 860/1709/172 -f 859/1707/173 865/1719/173 855/1700/173 -f 697/1393/170 863/1720/170 858/1706/170 -f 860/1709/168 866/1721/168 861/1712/168 -f 858/1706/171 867/1722/171 857/1705/171 -f 855/1700/175 868/1723/175 854/1699/175 -f 861/1712/174 869/1724/174 859/1707/174 -f 693/1388/238 696/1725/238 691/1386/238 -f 693/1726/239 867/1727/239 863/1728/239 -f 867/1729/240 699/1730/240 862/1731/240 -f 862/1732/241 704/1733/241 866/1734/241 -f 704/1733/242 869/1735/242 866/1734/242 -f 869/1735/243 705/1736/243 865/1737/243 -f 868/1738/244 705/1736/244 856/1739/244 -f 868/1738/245 685/1740/245 864/1741/245 -f 685/1740/246 696/1742/246 864/1741/246 -f 692/1390/247 851/1743/247 843/1744/247 -f 692/1745/248 853/1746/248 848/1747/248 -f 853/1746/249 686/1748/249 847/1749/249 -f 846/1750/250 686/1748/250 684/1751/250 -f 701/1752/251 846/1750/251 684/1751/251 -f 701/1752/252 852/1753/252 849/1754/252 -f 852/1753/253 703/1755/253 850/1756/253 -f 703/1755/254 688/1757/254 850/1756/254 -f 698/1758/255 851/1759/256 688/1757/255 -f 709/1760/176 708/1761/176 707/1762/176 -f 870/1763/257 706/1764/96 871/1765/257 -f 871/1766/82 708/1407/82 716/1767/82 -f 730/1768/82 716/1767/82 715/1769/82 -f 719/1770/258 871/1771/258 730/1772/258 -f 872/1773/176 716/1416/176 708/1761/176 -f 873/1774/259 874/1775/260 875/1776/260 -f 875/1777/261 872/1778/98 873/1779/98 -f 876/1780/98 870/1781/262 877/1782/263 -f 878/1783/98 879/1784/98 880/1785/264 -f 880/1786/265 881/1787/265 882/1788/265 -f 876/1789/266 878/1790/266 711/1791/266 -f 877/1792/79 883/1793/79 876/1789/79 -f 711/1791/266 884/1794/266 873/1774/266 -f 885/1795/267 879/1796/268 877/1792/269 -f 884/1797/98 880/1798/264 874/1799/270 -f 881/1787/271 886/1800/272 882/1788/273 -f 875/1776/274 886/1800/274 887/1801/274 -f 880/1786/264 886/1800/275 874/1775/270 -f 877/1802/263 870/1803/262 881/1804/276 -f 684/1378/167 856/1805/167 685/1379/167 -f 687/1381/168 850/1693/168 688/1382/168 -f 690/1384/169 686/1806/169 685/1385/169 -f 692/1387/170 690/1384/170 691/1386/170 -f 694/1389/171 843/1744/171 692/1390/171 -f 695/1391/169 864/1717/169 696/1392/169 -f 698/1394/172 843/1744/172 694/1389/172 -f 700/1396/173 705/1807/173 701/1397/173 -f 699/1395/168 704/1400/168 703/1399/168 -f 704/1400/174 700/1808/174 702/1401/174 -f 705/1402/175 856/1702/175 684/1403/175 -f 706/1405/82 713/1809/82 707/1406/82 -f 712/1810/98 876/1811/98 710/1812/98 -f 876/1811/98 711/1813/98 710/1812/98 -f 711/1813/98 873/1814/98 709/1815/98 -f 873/1814/98 872/1816/98 709/1815/98 -f 712/1411/96 710/1817/96 713/1412/96 -f 714/1414/176 717/1818/176 715/1415/176 -f 717/1417/177 720/1423/177 718/1418/177 -f 715/1420/178 730/1819/277 719/1421/178 -f 720/1423/180 830/1658/180 721/1424/180 -f 722/1425/181 835/1820/181 723/1426/181 -f 725/1428/182 824/1617/182 726/1429/182 -f 721/1424/183 830/1658/183 728/1431/183 -f 730/1433/184 822/1821/278 731/1434/185 -f 731/1436/181 822/1608/181 729/1437/181 -f 732/1439/82 739/1822/82 733/1440/82 -f 735/1442/98 738/1823/98 736/1443/98 -f 738/1445/81 732/1824/81 734/1446/81 -f 737/1448/79 736/1825/79 734/1449/79 -f 739/1451/96 732/1826/96 738/1452/96 -f 740/1454/187 751/1472/187 741/1455/187 -f 743/1457/188 750/1827/188 744/1458/188 -f 744/1460/189 748/1828/189 746/1461/189 -f 747/1463/190 754/1829/190 746/1464/190 -f 742/1466/191 750/1830/191 743/1467/191 -f 748/1831/98 744/1832/98 750/1471/98 -f 750/1471/98 742/1833/98 741/1834/98 -f 741/1834/98 752/1835/98 749/1469/98 -f 747/1470/98 748/1831/98 750/1471/98 -f 741/1834/98 749/1469/98 750/1471/98 -f 751/1472/192 755/1836/192 752/1473/192 -f 747/1474/193 749/1837/193 753/1475/193 -f 755/1477/194 753/1838/194 749/1478/194 -f 745/1839/82 746/1840/82 743/1482/82 -f 746/1840/82 754/1841/82 743/1482/82 -f 754/1841/82 753/1842/82 743/1482/82 -f 753/1842/82 755/1843/82 751/1480/82 -f 743/1482/82 753/1842/82 751/1480/82 -f 756/1483/96 761/1844/96 757/1484/96 -f 756/1486/195 758/1845/195 759/1487/195 -f 761/1489/196 888/1846/196 762/1490/196 -f 763/1492/197 760/1847/197 759/1493/197 -f 762/1495/198 888/1848/198 765/1496/198 -f 767/1498/199 766/1849/199 765/1499/199 -f 764/1501/200 775/1850/200 769/1502/200 -f 768/1504/201 777/1851/201 770/1505/201 -f 771/1507/202 774/1852/202 772/1508/202 -f 774/1510/203 769/1853/203 775/1511/203 -f 776/1513/204 770/1854/204 777/1514/204 -f 773/1855/98 772/1856/98 776/1857/98 -f 772/1856/98 775/1516/98 770/1518/98 -f 775/1516/98 764/1858/98 767/1517/98 -f 764/1858/98 759/1859/98 767/1517/98 -f 759/1859/98 758/1860/98 757/1861/98 -f 759/1859/98 757/1861/98 762/1862/98 -f 785/1863/98 783/1864/98 781/1865/98 -f 783/1864/98 780/1866/98 781/1865/98 -f 759/1859/98 762/1862/98 766/1867/98 -f 759/1859/98 766/1867/98 767/1517/98 -f 781/1865/98 780/1866/98 773/1855/98 -f 776/1857/98 781/1865/98 773/1855/98 -f 770/1518/98 776/1857/98 772/1856/98 -f 779/1519/205 771/1868/205 773/1520/205 -f 779/1869/82 782/1870/82 786/1871/82 -f 782/1870/82 784/1872/82 786/1871/82 -f 769/1524/82 774/1873/82 777/1522/82 -f 774/1873/82 771/1874/82 778/1875/82 -f 760/1876/82 763/1877/82 768/1523/82 -f 763/1877/82 769/1524/82 768/1523/82 -f 761/1878/82 756/1879/82 760/1876/82 -f 888/1880/82 761/1878/82 760/1876/82 -f 771/1874/82 779/1869/82 786/1871/82 -f 771/1874/82 786/1871/82 778/1875/82 -f 765/1881/82 888/1880/82 760/1876/82 -f 768/1523/82 765/1881/82 760/1876/82 -f 774/1873/82 778/1875/82 777/1522/82 -f 778/1525/206 786/1882/206 781/1526/206 -f 780/1528/207 783/1883/207 782/1529/207 -f 783/1531/208 785/1884/208 784/1532/208 -f 785/1534/209 781/1885/209 786/1535/209 -f 787/1537/210 812/1886/210 788/1538/210 -f 791/1541/98 793/1887/98 792/1542/98 -f 793/1887/98 889/1888/98 792/1542/98 -f 792/1542/98 805/1889/98 790/1540/98 -f 805/1889/98 803/1890/98 790/1540/98 -f 793/1543/79 791/1891/79 794/1544/79 -f 796/1546/211 889/1892/211 793/1547/211 -f 797/1549/212 814/1893/212 798/1550/212 -f 792/1552/213 889/1894/213 796/1553/213 -f 811/1895/82 787/1896/82 801/1557/82 -f 787/1896/82 789/1555/82 801/1557/82 -f 789/1555/82 814/1897/82 797/1556/82 -f 801/1557/82 809/1898/82 811/1895/82 -f 802/1558/214 815/1899/214 790/1559/214 -f 804/1561/212 802/1900/212 803/1562/212 -f 808/1566/213 809/1901/213 801/1902/213 -f 806/1564/213 817/1903/213 807/1565/213 -f 808/1566/213 801/1902/213 806/1564/213 -f 809/1567/211 808/1904/211 810/1568/211 -f 812/1572/79 787/1905/79 811/1570/79 -f 810/1571/79 816/1906/79 812/1572/79 -f 800/1575/215 804/1907/215 805/1576/215 -f 814/1580/214 789/1908/214 788/1578/214 -f 788/1578/214 890/1909/214 798/1579/214 -f 797/1583/215 799/1910/215 806/1581/215 -f 799/1910/215 891/1911/215 806/1581/215 -f 891/1911/215 817/1912/215 806/1581/215 -f 815/1584/210 794/1913/210 791/1585/210 -f 795/1914/82 794/1915/82 800/1589/82 -f 794/1915/82 815/1587/82 800/1589/82 -f 815/1587/82 802/1916/82 804/1588/82 -f 800/1589/82 796/1917/82 795/1914/82 -f 817/1592/217 891/1918/279 788/1919/280 -f 891/1918/279 890/1920/281 788/1919/280 -f 788/1919/280 812/1921/282 817/1592/217 -f 812/1921/282 816/1590/216 817/1592/217 -f 713/1593/75 710/1922/75 709/1594/75 -f 739/1596/75 735/1923/75 737/1597/75 -f 818/1599/82 821/1614/82 715/1600/82 -f 818/1924/82 718/1418/82 721/1424/82 -f 819/1603/82 721/1602/82 729/1604/82 -f 725/1428/82 730/1609/82 715/1606/82 -f 725/1428/82 727/1430/98 822/1608/82 -f 727/1430/98 820/1616/82 729/1437/82 -f 825/1925/82 827/1640/82 826/1641/82 -f 823/1610/82 726/1926/82 824/1611/82 -f 825/1925/82 826/1641/82 823/1927/82 -f 820/1605/183 823/1610/183 826/1613/183 -f 818/1599/177 827/1618/177 825/1612/177 -f 727/1430/181 726/1429/181 823/1615/181 -f 821/1607/218 825/1928/218 824/1617/218 -f 819/1929/180 826/1641/180 827/1640/180 -f 828/1619/98 831/1636/98 717/1620/98 -f 829/1622/98 832/1628/98 830/1623/98 -f 829/1625/98 720/1423/98 717/1417/98 -f 724/1427/82 828/1619/98 719/1621/98 -f 724/1427/82 731/1627/98 728/1438/98 -f 832/1628/98 722/1637/98 728/1629/98 -f 834/1631/98 723/1930/98 835/1632/98 -f 835/1931/98 837/1657/98 833/1932/98 -f 837/1657/98 836/1933/98 833/1932/98 -f 831/1626/177 833/1932/177 836/1933/177 -f 828/1619/179 834/1638/179 833/1635/179 -f 832/1628/183 837/1639/183 835/1632/183 -f 724/1427/219 723/1426/219 834/1638/219 -f 829/1622/180 836/1634/180 837/1639/180 -f 721/1424/220 718/1418/220 827/1640/220 -f 715/1642/221 825/1934/221 827/1643/221 -f 729/1645/222 721/1935/222 826/1646/222 -f 726/1648/223 822/1936/223 729/1649/223 -f 824/1656/227 825/1937/283 715/1654/225 -f 715/1654/225 730/1938/284 726/1655/226 -f 728/1431/228 835/1931/228 837/1657/228 -f 728/1659/229 731/1939/229 723/1660/229 -f 719/1940/285 705/1666/232 723/1665/231 -f 705/1666/232 833/1941/286 834/1667/233 -f 836/1668/234 833/1942/287 705/1669/235 -f 836/1668/288 720/1670/288 830/1943/288 -f 838/1674/82 845/1684/82 701/1404/82 -f 838/1674/82 684/1403/82 686/1675/82 -f 840/1677/82 690/1682/82 692/1678/82 -f 842/1680/82 841/1679/82 692/1678/82 -f 840/1677/82 839/1676/82 686/1675/82 -f 844/1683/82 702/1686/82 701/1404/82 -f 689/1383/82 698/1687/82 703/1685/82 -f 844/1683/82 687/1381/82 703/1685/82 -f 842/1680/82 843/1681/82 698/1687/82 -f 848/1944/82 851/1743/82 688/1690/82 -f 850/1945/82 852/1946/82 849/1947/82 -f 853/1948/82 848/1944/82 847/1689/82 -f 848/1944/82 688/1690/82 847/1689/82 -f 688/1690/82 850/1945/82 846/1688/82 -f 850/1945/82 849/1947/82 846/1688/82 -f 842/1680/171 851/1696/171 848/1691/171 -f 838/1674/175 846/1695/175 849/1692/175 -f 844/1683/174 852/1697/174 850/1693/174 -f 840/1677/169 853/1698/169 847/1694/169 -f 839/1676/167 847/1694/167 846/1695/167 -f 689/1383/172 688/1382/172 851/1696/172 -f 845/1684/173 849/1692/173 852/1697/173 -f 841/1679/170 848/1691/170 853/1698/170 -f 854/1699/98 856/1702/98 705/1402/98 -f 854/1699/98 695/1391/98 685/1701/98 -f 697/1393/98 858/1706/98 693/1703/98 -f 857/1705/98 694/1713/98 693/1703/98 -f 697/1393/98 691/1704/98 685/1701/98 -f 859/1707/98 855/1700/98 705/1402/98 -f 860/1709/98 861/1712/98 704/1710/98 -f 859/1707/98 700/1708/98 704/1710/98 -f 857/1705/98 860/1709/98 699/1711/98 -f 863/1715/98 696/1725/98 864/1716/98 -f 864/1716/98 868/1949/98 862/1714/98 -f 868/1949/98 865/1950/98 866/1951/98 -f 862/1714/98 868/1949/98 866/1951/98 -f 865/1950/98 869/1952/98 866/1951/98 -f 862/1714/98 867/1953/98 863/1715/98 -f 854/1699/167 868/1723/167 864/1717/167 -f 857/1705/172 867/1722/172 862/1718/172 -f 859/1707/173 869/1724/173 865/1719/173 -f 697/1393/170 696/1392/170 863/1720/170 -f 860/1709/168 862/1718/168 866/1721/168 -f 858/1706/171 863/1720/171 867/1722/171 -f 855/1700/175 865/1719/175 868/1723/175 -f 861/1712/174 866/1721/174 869/1724/174 -f 693/1388/238 863/1715/238 696/1725/238 -f 693/1726/239 694/1954/239 867/1727/239 -f 867/1729/240 694/1955/240 699/1730/240 -f 862/1732/241 699/1956/241 704/1733/241 -f 704/1733/242 700/1957/242 869/1735/242 -f 869/1735/243 700/1957/243 705/1736/243 -f 868/1738/244 865/1737/244 705/1736/244 -f 868/1738/245 856/1739/245 685/1740/245 -f 685/1740/246 691/1958/246 696/1742/246 -f 692/1390/247 848/1944/247 851/1743/247 -f 692/1745/248 690/1959/248 853/1746/248 -f 853/1746/249 690/1959/249 686/1748/249 -f 846/1750/250 847/1749/250 686/1748/250 -f 701/1752/251 849/1754/251 846/1750/251 -f 701/1752/252 702/1960/252 852/1753/252 -f 852/1753/253 702/1960/253 703/1755/253 -f 703/1755/254 698/1758/254 688/1757/254 -f 698/1758/255 843/1961/256 851/1759/256 -f 709/1760/176 872/1773/176 708/1761/176 -f 870/1763/257 712/1962/96 706/1764/96 -f 871/1766/82 706/1405/82 708/1407/82 -f 730/1768/82 871/1766/82 716/1767/82 -f 719/1770/257 870/1963/257 871/1771/257 -f 872/1773/176 714/1414/176 716/1416/176 -f 873/1774/259 884/1794/259 874/1775/260 -f 875/1964/261 714/1965/289 872/1966/98 -f 876/1967/98 712/1968/98 870/1969/262 -f 878/1783/98 883/1970/98 879/1784/98 -f 880/1786/265 885/1795/265 881/1787/265 -f 876/1789/266 883/1793/266 878/1790/266 -f 877/1792/79 879/1796/79 883/1793/79 -f 711/1791/266 878/1790/266 884/1794/266 -f 885/1795/267 880/1786/290 879/1796/268 -f 884/1797/98 878/1971/98 880/1798/264 -f 881/1787/271 887/1801/291 886/1800/272 -f 875/1776/274 874/1775/274 886/1800/274 -f 880/1786/264 882/1788/275 886/1800/275 -f 717/1972/292 714/1973/289 887/1974/293 -f 714/1973/289 875/1975/261 887/1974/293 -f 870/1803/262 719/1976/294 881/1804/276 -f 719/1976/294 717/1972/292 887/1974/293 -f 881/1804/276 719/1976/294 887/1974/293 -f 885/1977/295 877/1802/263 881/1804/276 -f 892/1978/296 893/1979/296 894/1980/296 -f 895/1981/297 896/1982/297 893/1979/297 -f 897/1983/298 898/1984/298 896/1982/298 -f 899/1985/299 900/1986/299 898/1984/299 -f 901/1987/300 902/1988/300 900/1986/300 -f 903/1989/301 904/1990/301 902/1988/301 -f 905/1991/302 906/1992/302 904/1990/302 -f 907/1993/303 908/1994/303 906/1992/303 -f 909/1995/304 910/1996/304 908/1994/304 -f 911/1997/305 912/1998/305 910/1996/305 -f 913/1999/306 914/2000/306 912/1998/306 -f 915/2001/307 916/2002/307 914/2000/307 -f 917/2003/308 918/2004/308 916/2002/308 -f 919/2005/309 920/2006/309 918/2004/309 -f 921/2007/310 922/2008/310 920/2006/310 -f 923/2009/311 924/2010/311 922/2008/311 -f 925/2011/312 926/2012/312 924/2010/312 -f 927/2013/313 928/2014/313 926/2012/313 -f 929/2015/314 930/2016/314 928/2014/314 -f 931/2017/315 932/2018/315 930/2016/315 -f 933/2019/316 934/2020/316 932/2018/316 -f 935/2021/317 936/2022/317 934/2020/317 -f 937/2023/318 938/2024/318 936/2022/318 -f 939/2025/319 940/2026/319 938/2024/319 -f 941/2027/312 942/2028/312 943/2029/312 -f 941/2027/75 895/2030/75 892/2031/75 -f 943/2029/75 897/2032/75 895/2030/75 -f 944/2033/75 897/2032/75 945/2034/75 -f 946/2035/75 899/2036/75 944/2033/75 -f 946/2035/75 903/2037/75 901/2038/75 -f 947/2039/75 905/2040/75 903/2037/75 -f 948/2041/75 905/2040/75 949/2042/75 -f 950/2043/75 907/2044/75 948/2041/75 -f 950/2043/75 911/2045/75 909/2046/75 -f 951/2047/75 913/2048/75 911/2045/75 -f 952/2049/75 913/2048/75 953/2050/75 -f 954/2051/75 915/2052/75 952/2049/75 -f 954/2051/75 919/2053/75 917/2054/75 -f 955/2055/75 921/2056/75 919/2053/75 -f 956/2057/75 921/2056/75 957/2058/75 -f 958/2059/75 923/2060/75 956/2057/75 -f 958/2059/75 927/2061/75 925/2062/75 -f 959/2063/75 929/2064/75 927/2061/75 -f 960/2065/75 929/2064/75 961/2066/75 -f 962/2067/75 931/2068/75 960/2065/75 -f 962/2067/75 935/2069/75 933/2070/75 -f 963/2071/75 937/2072/75 935/2069/75 -f 964/2073/75 939/2074/75 937/2072/75 -f 965/2075/75 966/2076/75 939/2074/75 -f 967/2077/307 968/2078/307 969/2079/307 -f 957/2058/320 970/2080/320 956/2057/320 -f 943/2029/313 971/2081/313 945/2034/313 -f 956/2057/321 972/2082/321 958/2059/321 -f 945/2034/314 973/2083/314 944/2033/314 -f 958/2059/296 974/2084/296 959/2063/296 -f 944/2033/315 975/2085/315 946/2035/315 -f 959/2063/297 976/2086/297 961/2066/297 -f 946/2035/316 977/2087/316 947/2039/316 -f 961/2066/298 978/2088/298 960/2065/298 -f 947/2039/317 979/2089/317 949/2042/317 -f 960/2065/299 980/2090/299 962/2067/299 -f 949/2042/318 981/2091/318 948/2041/318 -f 962/2067/300 982/2092/300 963/2071/300 -f 948/2041/319 983/2093/319 950/2043/319 -f 963/2071/301 984/2094/301 964/2073/301 -f 950/2043/322 985/2095/322 951/2047/322 -f 964/2073/302 986/2096/302 965/2075/302 -f 951/2047/323 987/2097/323 953/2050/323 -f 969/2079/308 988/2098/308 989/2099/308 -f 965/2075/303 990/2100/303 991/2101/303 -f 953/2050/324 992/2102/324 952/2049/324 -f 989/2099/309 993/2103/309 994/2104/309 -f 991/2101/304 995/2105/304 996/2106/304 -f 952/2049/325 997/2107/325 954/2051/325 -f 994/2104/310 998/2108/310 999/2109/310 -f 996/2106/305 1000/2110/305 1001/2111/305 -f 954/2051/326 1002/2112/326 955/2055/326 -f 999/2109/311 1003/2113/311 941/2027/311 -f 1001/2111/306 1004/2114/306 967/2077/306 -f 955/2055/327 1005/2115/327 957/2058/327 -f 1006/2116/81 894/2117/328 893/2118/81 -f 1006/2116/81 896/2119/81 1007/2120/81 -f 1008/2121/81 896/2119/81 898/2122/81 -f 1008/2121/81 900/2123/81 1009/2124/81 -f 1010/2125/81 900/2123/81 902/2126/81 -f 1010/2125/81 904/2127/81 1011/2128/81 -f 1011/2128/81 906/2129/81 1012/2130/81 -f 1012/2130/81 908/2131/81 1013/2132/81 -f 1014/2133/81 908/2131/81 910/2134/81 -f 1014/2133/81 912/2135/81 1015/2136/81 -f 1016/2137/81 912/2135/81 914/2138/81 -f 1016/2137/81 916/2139/81 1017/2140/81 -f 1018/2141/81 916/2139/81 918/2142/81 -f 1018/2141/81 920/2143/81 1019/2144/81 -f 1020/2145/81 920/2143/81 922/2146/81 -f 1020/2145/81 924/2147/81 1021/2148/81 -f 1022/2149/81 924/2147/81 926/2150/81 -f 1022/2149/81 928/2151/81 1023/2152/81 -f 1024/2153/81 928/2151/81 930/2154/81 -f 1024/2153/81 932/2155/81 1025/2156/81 -f 1026/2157/81 932/2155/81 934/2158/81 -f 1026/2157/81 936/2159/81 1027/2160/81 -f 1028/2161/81 936/2159/81 938/2162/81 -f 1028/2161/81 940/2163/329 1029/2164/81 -f 1030/2165/82 1031/2166/82 1032/2167/82 -f 1033/2168/75 1034/2169/75 1031/2166/75 -f 1035/2170/98 1036/2171/98 1034/2169/98 -f 1037/2172/81 1032/2173/81 1036/2171/81 -f 1034/2169/79 1032/2174/79 1031/2175/79 -f 892/1978/330 1038/2176/331 1039/2177/330 -f 940/2026/332 1040/2178/322 1041/2179/322 -f 989/2099/75 1042/2180/75 969/2079/75 -f 994/2104/75 1043/2181/75 989/2099/75 -f 999/2109/75 1044/2182/75 994/2104/75 -f 941/2027/75 1039/2183/75 1045/2184/75 -f 991/2101/75 1046/2185/75 1040/2186/75 -f 996/2106/75 1047/2187/75 1046/2185/75 -f 1001/2111/75 1048/2188/75 1047/2187/75 -f 967/2077/75 1042/2180/75 1048/2188/75 -f 1049/2189/81 1050/2190/81 1051/2191/81 -f 1052/2192/81 1051/2191/81 1053/2193/81 -f 1054/2194/81 1053/2193/81 1055/2195/81 -f 1056/2196/81 1054/2194/81 1055/2195/81 -f 1029/2164/81 940/2163/329 1041/2197/333 -f 1057/2198/81 1058/2199/81 1059/2200/81 -f 1060/2201/81 1061/2202/81 1057/2198/81 -f 1050/2190/81 1062/2203/81 1060/2201/81 -f 1038/2204/96 1037/2172/96 1035/2170/96 -f 1033/2205/96 1041/2206/96 1040/2207/96 -f 892/1978/296 895/1981/296 893/1979/296 -f 895/1981/297 897/1983/297 896/1982/297 -f 897/1983/298 899/1985/298 898/1984/298 -f 899/1985/299 901/1987/299 900/1986/299 -f 901/1987/300 903/1989/300 902/1988/300 -f 903/1989/301 905/1991/301 904/1990/301 -f 905/1991/302 907/1993/302 906/1992/302 -f 907/1993/303 909/1995/303 908/1994/303 -f 909/1995/304 911/1997/304 910/1996/304 -f 911/1997/305 913/1999/305 912/1998/305 -f 913/1999/306 915/2001/306 914/2000/306 -f 915/2001/307 917/2003/307 916/2002/307 -f 917/2003/308 919/2005/308 918/2004/308 -f 919/2005/309 921/2007/309 920/2006/309 -f 921/2007/310 923/2009/310 922/2008/310 -f 923/2009/311 925/2011/311 924/2010/311 -f 925/2011/312 927/2013/312 926/2012/312 -f 927/2013/313 929/2015/313 928/2014/313 -f 929/2015/314 931/2017/314 930/2016/314 -f 931/2017/315 933/2019/315 932/2018/315 -f 933/2019/316 935/2021/316 934/2020/316 -f 935/2021/317 937/2023/317 936/2022/317 -f 937/2023/318 939/2025/318 938/2024/318 -f 939/2025/319 966/2208/319 940/2026/319 -f 941/2027/312 1003/2113/312 942/2028/312 -f 941/2027/75 943/2029/75 895/2030/75 -f 943/2029/75 945/2034/75 897/2032/75 -f 944/2033/75 899/2036/75 897/2032/75 -f 946/2035/75 901/2038/75 899/2036/75 -f 946/2035/75 947/2039/75 903/2037/75 -f 947/2039/75 949/2042/75 905/2040/75 -f 948/2041/75 907/2044/75 905/2040/75 -f 950/2043/75 909/2046/75 907/2044/75 -f 950/2043/75 951/2047/75 911/2045/75 -f 951/2047/75 953/2050/75 913/2048/75 -f 952/2049/75 915/2052/75 913/2048/75 -f 954/2051/75 917/2054/75 915/2052/75 -f 954/2051/75 955/2055/75 919/2053/75 -f 955/2055/75 957/2058/75 921/2056/75 -f 956/2057/75 923/2060/75 921/2056/75 -f 958/2059/75 925/2062/75 923/2060/75 -f 958/2059/75 959/2063/75 927/2061/75 -f 959/2063/75 961/2066/75 929/2064/75 -f 960/2065/75 931/2068/75 929/2064/75 -f 962/2067/75 933/2070/75 931/2068/75 -f 962/2067/75 963/2071/75 935/2069/75 -f 963/2071/75 964/2073/75 937/2072/75 -f 964/2073/75 965/2075/75 939/2074/75 -f 965/2075/75 991/2101/75 966/2076/75 -f 967/2077/307 1004/2114/307 968/2078/307 -f 957/2058/320 1005/2115/320 970/2080/320 -f 943/2029/313 942/2028/313 971/2081/313 -f 956/2057/321 970/2080/321 972/2082/321 -f 945/2034/314 971/2081/314 973/2083/314 -f 958/2059/296 972/2082/296 974/2084/296 -f 944/2033/315 973/2083/315 975/2085/315 -f 959/2063/297 974/2084/297 976/2086/297 -f 946/2035/316 975/2085/316 977/2087/316 -f 961/2066/298 976/2086/298 978/2088/298 -f 947/2039/317 977/2087/317 979/2089/317 -f 960/2065/299 978/2088/299 980/2090/299 -f 949/2042/318 979/2089/318 981/2091/318 -f 962/2067/300 980/2090/300 982/2092/300 -f 948/2041/319 981/2091/319 983/2093/319 -f 963/2071/301 982/2092/301 984/2094/301 -f 950/2043/322 983/2093/322 985/2095/322 -f 964/2073/302 984/2094/302 986/2096/302 -f 951/2047/323 985/2095/323 987/2097/323 -f 969/2079/308 968/2078/308 988/2098/308 -f 965/2075/303 986/2096/303 990/2100/303 -f 953/2050/324 987/2097/324 992/2102/324 -f 989/2099/309 988/2098/309 993/2103/309 -f 991/2101/304 990/2100/304 995/2105/304 -f 952/2049/325 992/2102/325 997/2107/325 -f 994/2104/310 993/2103/310 998/2108/310 -f 996/2106/305 995/2105/305 1000/2110/305 -f 954/2051/326 997/2107/326 1002/2112/326 -f 999/2109/311 998/2108/311 1003/2113/311 -f 1001/2111/306 1000/2110/306 1004/2114/306 -f 955/2055/327 1002/2112/327 1005/2115/327 -f 1006/2116/81 1056/2196/81 894/2117/328 -f 1006/2116/81 893/2118/81 896/2119/81 -f 1008/2121/81 1007/2120/81 896/2119/81 -f 1008/2121/81 898/2122/81 900/2123/81 -f 1010/2125/81 1009/2124/81 900/2123/81 -f 1010/2125/81 902/2126/81 904/2127/81 -f 1011/2128/81 904/2127/81 906/2129/81 -f 1012/2130/81 906/2129/81 908/2131/81 -f 1014/2133/81 1013/2132/81 908/2131/81 -f 1014/2133/81 910/2134/81 912/2135/81 -f 1016/2137/81 1015/2136/81 912/2135/81 -f 1016/2137/81 914/2138/81 916/2139/81 -f 1018/2141/81 1017/2140/81 916/2139/81 -f 1018/2141/81 918/2142/81 920/2143/81 -f 1020/2145/81 1019/2144/81 920/2143/81 -f 1020/2145/81 922/2146/81 924/2147/81 -f 1022/2149/81 1021/2148/81 924/2147/81 -f 1022/2149/81 926/2150/81 928/2151/81 -f 1024/2153/81 1023/2152/81 928/2151/81 -f 1024/2153/81 930/2154/81 932/2155/81 -f 1026/2157/81 1025/2156/81 932/2155/81 -f 1026/2157/81 934/2158/81 936/2159/81 -f 1028/2161/81 1027/2160/81 936/2159/81 -f 1028/2161/81 938/2162/81 940/2163/329 -f 1030/2165/82 1033/2168/82 1031/2166/82 -f 1033/2168/75 1035/2170/75 1034/2169/75 -f 1035/2170/98 1037/2172/98 1036/2171/98 -f 1037/2172/81 1030/2209/81 1032/2173/81 -f 1034/2169/79 1036/2171/79 1032/2174/79 -f 892/1978/330 894/1980/334 1038/2176/331 -f 940/2026/332 966/2208/322 1040/2178/322 -f 989/2099/75 1043/2181/75 1042/2180/75 -f 994/2104/75 1044/2182/75 1043/2181/75 -f 999/2109/75 1045/2184/75 1044/2182/75 -f 1045/2184/75 999/2109/75 941/2027/75 -f 941/2027/75 892/2031/75 1039/2183/75 -f 1040/2186/75 966/2076/75 991/2101/75 -f 991/2101/75 996/2106/75 1046/2185/75 -f 996/2106/75 1001/2111/75 1047/2187/75 -f 1001/2111/75 967/2077/75 1048/2188/75 -f 967/2077/75 969/2079/75 1042/2180/75 -f 1049/2189/81 1063/2210/81 1050/2190/81 -f 1052/2192/81 1049/2189/81 1051/2191/81 -f 1054/2194/81 1052/2192/81 1053/2193/81 -f 1055/2195/81 1038/2211/335 1056/2196/81 -f 1038/2211/335 894/2117/328 1056/2196/81 -f 1041/2197/333 1059/2200/81 1029/2164/81 -f 1059/2200/81 1058/2199/81 1029/2164/81 -f 1057/2198/81 1061/2202/81 1058/2199/81 -f 1060/2201/81 1062/2203/81 1061/2202/81 -f 1050/2190/81 1063/2210/81 1062/2203/81 -f 1059/2212/96 1041/2206/96 1030/2213/96 -f 1035/2170/96 1033/2205/96 1042/2214/96 -f 1033/2205/96 1040/2207/96 1046/2215/96 -f 1046/2215/96 1047/2216/96 1033/2205/96 -f 1047/2216/96 1048/2217/96 1033/2205/96 -f 1033/2205/96 1048/2217/96 1042/2214/96 -f 1059/2212/96 1030/2213/96 1057/2218/96 -f 1030/2213/96 1037/2172/96 1050/2219/96 -f 1057/2218/96 1030/2213/96 1060/2220/96 -f 1050/2219/96 1060/2220/96 1030/2213/96 -f 1042/2214/96 1043/2221/96 1035/2170/96 -f 1043/2221/96 1044/2222/96 1035/2170/96 -f 1055/2223/96 1053/2224/96 1037/2172/96 -f 1053/2224/96 1051/2225/96 1037/2172/96 -f 1051/2225/96 1050/2219/96 1037/2172/96 -f 1044/2222/96 1045/2226/96 1035/2170/96 -f 1045/2226/96 1039/2227/96 1035/2170/96 -f 1038/2204/96 1055/2223/96 1037/2172/96 -f 1039/2227/96 1038/2204/96 1035/2170/96 -f 1033/2205/96 1030/2213/96 1041/2206/96 -f 1064/2228/336 1065/2229/336 1066/2230/336 -f 1065/2229/337 1067/2231/337 1066/2230/337 -f 1068/2232/338 1069/2233/338 1067/2231/338 -f 1070/2234/339 1064/2235/339 1069/2233/339 -f 1067/2231/79 1064/2236/79 1066/2237/79 -f 1065/2238/96 1070/2234/96 1068/2232/96 -f 1071/2239/340 1072/2240/340 1073/2241/340 -f 1072/2240/341 1074/2242/341 1073/2241/341 -f 1075/2243/342 1076/2244/342 1074/2242/342 -f 1077/2245/343 1071/2246/344 1076/2247/344 -f 1078/2248/79 1079/2249/79 1080/2250/79 -f 1072/2251/96 1077/2252/96 1075/2243/96 -f 1076/2244/344 1079/2253/344 1081/2254/344 -f 1074/2242/342 1081/2254/342 1078/2248/342 -f 1073/2241/341 1078/2248/341 1080/2255/341 -f 1079/2256/340 1073/2241/340 1080/2255/340 -f 1082/2257/345 1083/2258/345 1084/2259/345 -f 1084/2259/346 1085/2260/346 1086/2261/346 -f 1085/2260/347 1087/2262/347 1086/2261/348 -f 1088/2263/349 1082/2264/349 1087/2262/349 -f 1086/2261/350 1082/2265/350 1084/2266/350 -f 1083/2267/351 1088/2263/351 1085/2260/351 -f 1089/2268/352 1090/2269/352 1091/2270/352 -f 1090/2269/353 1092/2271/353 1091/2270/353 -f 1093/2272/354 1094/2273/354 1092/2271/354 -f 1095/2274/355 1089/2275/355 1094/2273/355 -f 1092/2271/356 1089/2276/356 1091/2277/356 -f 1090/2278/357 1095/2274/357 1093/2272/357 -f 1064/2228/336 1096/2279/336 1065/2229/336 -f 1065/2229/337 1068/2232/337 1067/2231/337 -f 1068/2232/338 1070/2234/338 1069/2233/338 -f 1070/2234/339 1096/2280/339 1064/2235/339 -f 1067/2231/79 1069/2233/79 1064/2236/79 -f 1065/2238/96 1096/2281/96 1070/2234/96 -f 1071/2239/340 1097/2282/340 1072/2240/340 -f 1072/2240/341 1075/2243/341 1074/2242/341 -f 1075/2243/342 1077/2252/342 1076/2244/342 -f 1077/2245/343 1097/2283/343 1071/2246/344 -f 1078/2248/79 1081/2254/79 1079/2249/79 -f 1072/2251/96 1097/2284/96 1077/2252/96 -f 1076/2244/344 1071/2285/344 1079/2253/344 -f 1074/2242/342 1076/2244/342 1081/2254/342 -f 1073/2241/341 1074/2242/341 1078/2248/341 -f 1079/2256/340 1071/2239/340 1073/2241/340 -f 1082/2257/345 1098/2286/345 1083/2258/345 -f 1084/2259/346 1083/2258/346 1085/2260/346 -f 1085/2260/347 1088/2263/347 1087/2262/347 -f 1088/2263/349 1098/2287/349 1082/2264/349 -f 1086/2261/350 1087/2262/350 1082/2265/350 -f 1083/2267/351 1098/2288/351 1088/2263/351 -f 1089/2268/352 1099/2289/352 1090/2269/352 -f 1090/2269/353 1093/2272/353 1092/2271/353 -f 1093/2272/354 1095/2274/354 1094/2273/354 -f 1095/2274/355 1099/2290/355 1089/2275/355 -f 1092/2271/356 1094/2273/356 1089/2276/356 -f 1090/2278/357 1099/2291/357 1095/2274/357 +f 1/1/1 2/2/2 3/3/3 +f 1/4/4 4/5/5 2/2/6 +f 5/6/2 6/7/2 7/8/2 +f 6/7/7 8/9/7 7/8/7 +f 8/9/8 9/10/8 10/11/8 +f 7/8/6 10/12/6 5/13/6 +f 5/14/9 6/7/9 9/10/9 +f 10/15/10 11/16/11 12/17/12 +f 3/18/13 9/10/13 6/7/13 +f 2/2/14 11/19/14 3/3/14 +f 12/17/15 11/19/15 4/5/15 +f 13/20/16 12/21/16 1/22/16 +f 6/7/17 1/23/1 3/24/3 +f 10/15/18 12/21/19 13/25/20 +f 12/26/21 13/27/22 11/28/23 +f 14/29/2 15/30/2 16/31/2 +f 15/30/24 17/32/24 16/31/24 +f 17/32/8 18/33/8 19/34/8 +f 14/35/25 17/32/25 19/36/25 +f 14/37/26 18/33/26 15/30/26 +f 20/38/2 21/39/2 22/40/2 +f 21/39/27 23/41/27 22/40/27 +f 23/41/8 24/42/8 25/43/8 +f 22/40/26 25/44/26 20/45/26 +f 20/46/9 24/42/9 21/39/9 +f 26/47/1 27/48/2 28/49/3 +f 26/50/4 29/51/5 27/48/6 +f 30/52/2 31/53/2 32/54/2 +f 31/53/7 33/55/7 32/54/7 +f 33/55/8 34/56/8 35/57/8 +f 32/54/6 35/58/6 30/59/6 +f 30/60/9 31/53/9 34/56/9 +f 35/61/10 36/62/11 37/63/12 +f 28/64/13 34/56/13 31/53/13 +f 27/48/14 36/65/14 28/49/14 +f 37/63/15 36/65/15 29/51/15 +f 38/66/16 37/67/16 26/68/16 +f 31/53/17 26/69/1 28/70/3 +f 35/61/18 37/67/28 38/71/29 +f 37/72/30 38/73/31 36/74/32 +f 39/75/1 40/76/2 41/77/3 +f 39/78/4 42/79/5 40/76/6 +f 43/80/2 44/81/2 45/82/2 +f 44/81/7 46/83/7 45/82/7 +f 46/83/8 47/84/8 48/85/8 +f 45/82/6 48/86/6 43/87/6 +f 43/88/9 44/81/9 47/84/9 +f 48/89/10 49/90/11 50/91/12 +f 41/92/13 47/84/13 44/81/13 +f 40/76/14 49/93/14 41/77/14 +f 50/91/15 49/93/15 42/79/15 +f 51/94/16 50/95/16 39/96/16 +f 44/81/17 39/97/1 41/98/3 +f 48/89/18 50/95/33 51/99/29 +f 50/100/30 51/101/31 49/102/32 +f 52/103/1 53/104/2 54/105/3 +f 52/106/4 55/107/5 53/104/6 +f 56/108/2 57/109/2 58/110/2 +f 57/109/7 59/111/7 58/110/7 +f 59/111/8 60/112/8 61/113/8 +f 58/110/6 61/114/6 56/115/6 +f 56/116/9 57/109/9 60/112/9 +f 61/117/10 62/118/11 63/119/12 +f 54/120/13 60/112/13 57/109/13 +f 53/104/14 62/121/14 54/105/14 +f 63/119/15 62/121/15 55/107/15 +f 64/122/16 63/123/16 52/124/16 +f 57/109/17 52/125/1 54/126/3 +f 61/117/18 63/123/28 64/127/29 +f 63/128/34 64/129/35 62/130/36 +f 65/131/1 66/132/2 67/133/3 +f 65/134/4 68/135/5 66/132/6 +f 69/136/2 70/137/2 71/138/2 +f 70/137/7 72/139/7 71/138/7 +f 72/139/8 73/140/8 74/141/8 +f 71/138/6 74/142/6 69/143/6 +f 69/144/9 70/137/9 73/140/9 +f 74/145/10 75/146/11 76/147/12 +f 67/148/13 73/140/13 70/137/13 +f 66/132/14 75/149/14 67/133/14 +f 76/147/15 75/149/15 68/135/15 +f 77/150/16 76/151/16 65/152/16 +f 70/137/17 65/153/1 67/154/3 +f 74/145/18 76/151/37 77/155/38 +f 76/156/34 77/157/35 75/158/36 +f 78/159/1 79/160/2 80/161/3 +f 78/162/4 81/163/5 79/160/6 +f 82/164/2 83/165/2 84/166/2 +f 83/165/7 85/167/7 84/166/7 +f 85/167/8 86/168/8 87/169/8 +f 84/166/6 87/170/6 82/171/6 +f 82/172/9 83/165/9 86/168/9 +f 87/173/10 88/174/11 89/175/12 +f 80/176/13 86/168/13 83/165/13 +f 79/160/14 88/177/14 80/161/14 +f 89/175/15 88/177/15 81/163/15 +f 90/178/16 89/179/16 78/180/16 +f 83/165/17 78/181/1 80/182/3 +f 87/173/18 89/179/19 90/183/20 +f 89/184/39 90/185/39 88/186/39 +f 91/187/1 92/188/2 93/189/3 +f 91/190/4 94/191/5 92/188/6 +f 95/192/2 96/193/2 97/194/2 +f 96/193/7 98/195/7 97/194/7 +f 98/195/8 99/196/8 100/197/8 +f 97/194/6 100/198/6 95/199/6 +f 95/200/9 96/193/9 99/196/9 +f 100/201/10 101/202/11 102/203/12 +f 93/204/13 99/196/13 96/193/13 +f 92/188/14 101/205/14 93/189/14 +f 102/203/15 101/205/15 94/191/15 +f 103/206/40 102/207/40 91/208/40 +f 96/193/17 91/209/1 93/210/3 +f 100/201/18 102/207/37 103/211/20 +f 102/212/21 103/213/22 101/214/23 +f 104/215/1 105/216/2 106/217/3 +f 104/218/4 107/219/5 105/216/6 +f 108/220/2 109/221/2 110/222/2 +f 109/221/7 111/223/7 110/222/7 +f 111/223/8 112/224/8 113/225/8 +f 110/222/6 113/226/6 108/227/6 +f 108/228/9 109/221/9 112/224/9 +f 113/229/10 114/230/11 115/231/12 +f 106/232/13 112/224/13 109/221/13 +f 105/216/14 114/233/14 106/217/14 +f 115/231/15 114/233/15 107/219/15 +f 116/234/16 115/235/16 104/236/16 +f 109/221/17 104/237/1 106/238/3 +f 113/229/18 115/235/19 116/239/20 +f 115/240/41 116/241/41 114/242/41 +f 117/243/1 118/244/2 119/245/3 +f 117/246/4 120/247/5 118/244/6 +f 121/248/2 122/249/2 123/250/2 +f 122/249/7 124/251/7 123/250/7 +f 124/251/8 125/252/8 126/253/8 +f 123/250/6 126/254/6 121/255/6 +f 121/256/9 122/249/9 125/252/9 +f 126/257/10 127/258/11 128/259/12 +f 119/260/13 125/252/13 122/249/13 +f 118/244/14 127/261/14 119/245/14 +f 128/259/15 127/261/15 120/247/15 +f 129/262/16 128/263/16 117/264/16 +f 122/249/17 117/265/1 119/266/3 +f 126/257/18 128/263/37 129/267/20 +f 128/268/42 127/269/42 129/270/42 +f 130/271/1 131/272/2 132/273/3 +f 130/274/4 133/275/5 131/272/6 +f 134/276/2 135/277/2 136/278/2 +f 135/277/7 137/279/7 136/278/7 +f 137/279/8 138/280/8 139/281/8 +f 136/278/6 139/282/6 134/283/6 +f 134/284/9 135/277/9 138/280/9 +f 139/285/10 140/286/11 141/287/12 +f 132/288/13 138/280/13 135/277/13 +f 131/272/14 140/289/14 132/273/14 +f 141/287/15 140/289/15 133/275/15 +f 142/290/16 141/291/16 130/292/16 +f 135/277/17 130/293/1 132/294/3 +f 139/285/18 141/291/19 142/295/20 +f 141/296/42 140/297/42 142/298/42 +f 143/299/1 144/300/2 145/301/3 +f 143/302/4 146/303/5 144/300/6 +f 147/304/2 148/305/2 149/306/2 +f 148/305/7 150/307/7 149/306/7 +f 150/307/8 151/308/8 152/309/8 +f 149/306/6 152/310/6 147/311/6 +f 147/312/9 148/305/9 151/308/9 +f 152/313/10 153/314/11 154/315/12 +f 145/316/13 151/308/13 148/305/13 +f 144/300/14 153/317/14 145/301/14 +f 154/315/15 153/317/15 146/303/15 +f 155/318/16 154/319/16 143/320/16 +f 148/305/17 143/321/1 145/322/3 +f 152/313/18 154/319/43 155/323/44 +f 154/324/45 153/325/45 155/326/45 +f 156/327/1 157/328/2 158/329/3 +f 156/330/4 159/331/5 157/328/6 +f 160/332/2 161/333/2 162/334/2 +f 161/333/7 163/335/7 162/334/7 +f 163/335/8 164/336/8 165/337/8 +f 162/334/6 165/338/6 160/339/6 +f 160/340/9 161/333/9 164/336/9 +f 165/341/10 166/342/11 167/343/12 +f 158/344/13 164/336/13 161/333/13 +f 157/328/14 166/345/14 158/329/14 +f 167/343/15 166/345/15 159/331/15 +f 168/346/16 167/347/16 156/348/16 +f 161/333/17 156/349/1 158/350/3 +f 165/341/18 167/347/37 168/351/38 +f 167/352/42 166/353/42 168/354/42 +f 1/4/4 12/355/46 4/5/5 +f 6/7/7 9/10/7 8/9/7 +f 7/8/6 8/9/6 10/12/6 +f 5/14/9 9/10/9 10/356/9 +f 10/15/10 9/10/47 11/16/11 +f 3/18/13 11/357/13 9/10/13 +f 2/2/14 4/5/14 11/19/14 +f 6/7/17 5/358/17 1/23/1 +f 13/25/20 1/22/48 10/15/18 +f 1/22/48 5/358/48 10/15/18 +f 15/30/24 18/33/24 17/32/24 +f 14/35/25 16/31/25 17/32/25 +f 14/37/26 19/359/26 18/33/26 +f 21/39/27 24/42/27 23/41/27 +f 22/40/26 23/41/26 25/44/26 +f 20/46/9 25/360/9 24/42/9 +f 26/50/4 37/361/46 29/51/5 +f 31/53/7 34/56/7 33/55/7 +f 32/54/6 33/55/6 35/58/6 +f 30/60/9 34/56/9 35/362/9 +f 35/61/10 34/56/47 36/62/11 +f 28/64/13 36/363/13 34/56/13 +f 27/48/14 29/51/14 36/65/14 +f 31/53/17 30/364/17 26/69/1 +f 38/71/29 26/68/48 35/61/18 +f 26/68/48 30/364/48 35/61/18 +f 39/78/4 50/365/46 42/79/5 +f 44/81/7 47/84/7 46/83/7 +f 45/82/6 46/83/6 48/86/6 +f 43/88/9 47/84/9 48/366/9 +f 48/89/10 47/84/47 49/90/11 +f 41/92/13 49/367/13 47/84/13 +f 40/76/14 42/79/14 49/93/14 +f 44/81/17 43/368/17 39/97/1 +f 51/99/29 39/96/48 48/89/18 +f 39/96/48 43/368/48 48/89/18 +f 52/106/4 63/369/46 55/107/5 +f 57/109/7 60/112/7 59/111/7 +f 58/110/6 59/111/6 61/114/6 +f 56/116/9 60/112/9 61/370/9 +f 61/117/10 60/112/47 62/118/11 +f 54/120/13 62/371/13 60/112/13 +f 53/104/14 55/107/14 62/121/14 +f 57/109/17 56/372/17 52/125/1 +f 64/127/29 52/124/48 61/117/18 +f 52/124/48 56/372/48 61/117/18 +f 65/134/4 76/373/46 68/135/5 +f 70/137/7 73/140/7 72/139/7 +f 71/138/6 72/139/6 74/142/6 +f 69/144/9 73/140/9 74/374/9 +f 74/145/10 73/140/47 75/146/11 +f 67/148/13 75/375/13 73/140/13 +f 66/132/14 68/135/14 75/149/14 +f 70/137/17 69/376/17 65/153/1 +f 77/155/38 65/152/48 74/145/18 +f 65/152/48 69/376/48 74/145/49 +f 78/162/4 89/377/46 81/163/5 +f 83/165/7 86/168/7 85/167/7 +f 84/166/6 85/167/6 87/170/6 +f 82/172/9 86/168/9 87/378/9 +f 87/173/10 86/168/47 88/174/11 +f 80/176/13 88/379/13 86/168/13 +f 79/160/14 81/163/14 88/177/14 +f 83/165/17 82/380/17 78/181/1 +f 90/183/20 78/180/48 87/173/18 +f 78/180/48 82/380/48 87/173/18 +f 91/190/4 102/381/46 94/191/5 +f 96/193/7 99/196/7 98/195/7 +f 97/194/6 98/195/6 100/198/6 +f 95/200/9 99/196/9 100/382/9 +f 100/201/10 99/196/47 101/202/11 +f 93/204/13 101/383/13 99/196/13 +f 92/188/14 94/191/14 101/205/14 +f 96/193/17 95/384/17 91/209/1 +f 103/211/20 91/208/48 100/201/18 +f 91/208/48 95/384/48 100/201/18 +f 104/218/4 115/385/46 107/219/5 +f 109/221/7 112/224/7 111/223/7 +f 110/222/6 111/223/6 113/226/6 +f 108/228/9 112/224/9 113/386/9 +f 113/229/10 112/224/47 114/230/11 +f 106/232/13 114/387/13 112/224/13 +f 105/216/14 107/219/14 114/233/14 +f 109/221/17 108/388/17 104/237/1 +f 116/239/20 104/236/48 113/229/18 +f 104/236/48 108/388/48 113/229/18 +f 117/246/4 128/389/46 120/247/5 +f 122/249/7 125/252/7 124/251/7 +f 123/250/6 124/251/6 126/254/6 +f 121/256/9 125/252/9 126/390/9 +f 126/257/10 125/252/47 127/258/11 +f 119/260/13 127/391/13 125/252/13 +f 118/244/14 120/247/14 127/261/14 +f 122/249/17 121/392/17 117/265/1 +f 129/267/20 117/264/48 126/257/18 +f 117/264/48 121/392/48 126/257/18 +f 130/274/4 141/393/46 133/275/5 +f 135/277/7 138/280/7 137/279/7 +f 136/278/6 137/279/6 139/282/6 +f 134/284/9 138/280/9 139/394/9 +f 139/285/10 138/280/47 140/286/11 +f 132/288/13 140/395/13 138/280/13 +f 131/272/14 133/275/14 140/289/14 +f 135/277/17 134/396/17 130/293/1 +f 142/295/20 130/292/48 139/285/18 +f 130/292/48 134/396/48 139/285/49 +f 143/302/4 154/397/46 146/303/5 +f 148/305/7 151/308/7 150/307/7 +f 149/306/6 150/307/6 152/310/6 +f 147/312/9 151/308/9 152/398/9 +f 152/313/10 151/308/47 153/314/11 +f 145/316/13 153/399/13 151/308/13 +f 144/300/14 146/303/14 153/317/14 +f 148/305/17 147/400/17 143/321/1 +f 155/323/44 143/320/48 152/313/18 +f 143/320/48 147/400/48 152/313/18 +f 156/330/4 167/401/46 159/331/5 +f 161/333/7 164/336/7 163/335/7 +f 162/334/6 163/335/6 165/338/6 +f 160/340/9 164/336/9 165/402/9 +f 165/341/10 164/336/47 166/342/11 +f 158/344/13 166/403/13 164/336/13 +f 157/328/14 159/331/14 166/345/14 +f 161/333/17 160/404/17 156/349/1 +f 168/351/38 156/348/48 165/341/18 +f 156/348/48 160/404/48 165/341/18 +f 169/405/2 170/406/2 171/407/2 +f 172/408/50 171/409/50 173/410/50 +f 174/411/51 175/412/51 171/409/51 +f 176/413/52 177/414/52 175/412/52 +f 178/415/53 179/416/53 177/414/53 +f 180/417/54 181/418/54 179/416/54 +f 182/419/55 183/420/55 181/418/55 +f 184/421/56 185/422/56 183/420/56 +f 186/423/57 187/424/57 185/422/57 +f 188/425/58 169/426/58 187/424/58 +f 189/427/59 170/428/59 169/426/59 +f 170/406/26 172/429/26 173/430/26 +f 178/431/8 176/432/8 186/433/8 +f 170/406/2 173/430/2 171/407/2 +f 171/407/2 175/434/2 187/435/2 +f 175/434/2 177/436/2 185/437/2 +f 177/436/2 179/438/2 185/437/2 +f 179/438/2 181/439/2 183/440/2 +f 185/437/2 179/438/2 183/440/2 +f 185/437/2 187/435/2 175/434/2 +f 187/435/2 169/405/2 171/407/2 +f 172/408/50 174/411/50 171/409/50 +f 174/411/51 176/413/51 175/412/51 +f 176/413/52 178/415/52 177/414/52 +f 178/415/53 180/417/53 179/416/53 +f 180/417/54 182/419/54 181/418/54 +f 182/419/55 184/421/55 183/420/55 +f 184/421/56 186/423/56 185/422/56 +f 186/423/57 188/425/57 187/424/57 +f 188/425/58 189/427/58 169/426/58 +f 189/427/59 190/441/59 170/428/59 +f 170/406/26 190/442/26 172/429/26 +f 176/432/8 174/443/8 189/444/8 +f 174/443/8 172/429/8 189/444/8 +f 172/429/8 190/442/8 189/444/8 +f 189/444/8 188/445/8 176/432/8 +f 188/445/8 186/433/8 176/432/8 +f 186/433/8 184/446/8 178/431/8 +f 184/446/8 182/447/8 180/448/8 +f 178/431/8 184/446/8 180/448/8 +f 191/449/60 192/450/60 193/451/60 +f 194/452/61 195/453/61 192/450/61 +f 196/454/62 197/455/62 195/453/62 +f 198/456/63 199/457/63 197/455/63 +f 200/458/64 201/459/64 199/457/64 +f 202/460/65 203/461/65 201/459/65 +f 204/462/66 205/463/66 203/461/66 +f 206/464/67 207/465/67 205/463/67 +f 208/466/68 209/467/68 207/465/68 +f 210/468/69 211/469/69 209/467/69 +f 212/470/70 213/471/70 211/469/70 +f 214/472/71 215/473/71 213/471/71 +f 216/474/72 217/475/72 215/473/72 +f 218/476/73 219/477/73 217/475/73 +f 220/478/74 221/479/74 219/477/74 +f 222/480/75 223/481/76 221/479/76 +f 224/482/77 225/483/77 223/481/77 +f 226/484/78 227/485/78 225/483/78 +f 228/486/79 229/487/79 227/485/79 +f 230/488/80 231/489/80 229/487/80 +f 232/490/81 233/491/81 231/489/81 +f 234/492/82 235/493/82 233/491/82 +f 212/494/8 204/495/8 196/496/8 +f 236/497/83 237/498/83 235/493/83 +f 238/499/84 193/500/84 237/498/84 +f 239/501/73 240/502/73 241/503/73 +f 242/504/61 243/505/61 244/506/61 +f 245/507/64 246/508/64 243/505/64 +f 247/509/67 248/510/67 246/508/67 +f 249/511/70 250/512/70 248/510/70 +f 251/513/73 252/514/73 250/512/73 +f 253/515/77 254/516/77 252/514/77 +f 247/517/8 242/518/8 255/519/8 +f 255/520/80 256/521/80 254/516/80 +f 257/522/83 244/523/83 256/521/83 +f 248/524/2 252/525/2 256/526/2 +f 250/527/85 258/528/85 248/529/85 +f 248/529/86 259/530/86 246/531/86 +f 246/531/87 260/532/87 243/533/87 +f 260/532/88 244/534/88 243/533/88 +f 261/535/89 256/536/89 244/534/89 +f 262/537/90 254/538/90 256/536/90 +f 263/539/91 252/540/91 254/538/91 +f 264/541/92 250/527/92 252/540/92 +f 265/542/80 259/543/80 258/544/80 +f 266/545/83 258/544/83 267/546/83 +f 268/547/70 262/548/70 261/549/70 +f 269/550/73 261/551/73 260/552/73 +f 270/553/77 260/552/77 259/543/77 +f 271/554/61 267/546/61 264/555/61 +f 272/556/60 273/557/60 274/558/60 +f 275/559/61 276/560/61 273/557/61 +f 277/561/62 278/562/62 276/560/62 +f 279/563/93 280/564/93 278/562/93 +f 281/565/64 282/566/64 280/564/64 +f 283/567/65 284/568/65 282/566/65 +f 285/569/66 286/570/66 284/568/66 +f 287/571/67 288/572/67 286/570/67 +f 289/573/68 290/574/68 288/572/68 +f 291/575/69 292/576/69 290/574/69 +f 293/577/70 294/578/70 292/576/70 +f 295/579/71 296/580/71 294/578/71 +f 297/581/72 298/582/72 296/580/72 +f 299/583/73 300/584/73 298/582/73 +f 301/585/74 302/586/74 300/584/74 +f 303/587/75 304/588/75 302/586/75 +f 305/589/77 306/590/77 304/588/77 +f 307/591/78 308/592/78 306/590/78 +f 309/593/79 310/594/79 308/592/79 +f 311/595/80 312/596/80 310/594/80 +f 313/597/81 314/598/81 312/596/81 +f 315/599/82 316/600/82 314/598/82 +f 309/601/8 293/602/8 277/603/8 +f 317/604/83 318/605/83 316/600/83 +f 319/606/84 274/607/84 318/605/84 +f 310/608/2 318/609/2 286/610/2 +f 320/611/60 321/612/60 322/613/60 +f 323/614/61 324/615/61 321/612/61 +f 325/616/62 326/617/62 324/615/62 +f 327/618/63 328/619/63 326/617/63 +f 329/620/64 330/621/64 328/619/64 +f 331/622/65 332/623/65 330/621/65 +f 333/624/66 334/625/66 332/623/66 +f 335/626/67 336/627/67 334/625/67 +f 337/628/68 338/629/68 336/627/68 +f 339/630/69 340/631/69 338/629/69 +f 341/632/70 342/633/70 340/631/70 +f 343/634/71 344/635/71 342/633/71 +f 345/636/72 346/637/72 344/635/72 +f 347/638/73 348/639/73 346/637/73 +f 349/640/74 350/641/74 348/639/94 +f 351/642/75 352/643/75 350/641/75 +f 353/644/77 354/645/77 352/643/77 +f 355/646/78 356/647/78 354/645/78 +f 357/648/79 358/649/79 356/647/79 +f 359/650/80 360/651/80 358/649/80 +f 361/652/81 362/653/81 360/651/81 +f 363/654/82 364/655/82 362/653/82 +f 341/656/8 333/657/8 325/658/8 +f 365/659/83 366/660/83 364/655/83 +f 367/661/84 322/662/84 366/660/84 +f 350/663/2 358/664/2 366/665/2 +f 368/666/60 369/667/60 370/668/60 +f 371/669/61 372/670/61 369/667/61 +f 373/671/62 374/672/62 372/670/62 +f 375/673/63 376/674/63 374/672/63 +f 377/675/64 378/676/64 376/674/64 +f 379/677/65 380/678/65 378/676/65 +f 381/679/66 382/680/66 380/678/66 +f 383/681/67 384/682/67 382/680/67 +f 385/683/68 386/684/68 384/682/68 +f 387/685/69 388/686/69 386/684/69 +f 389/687/70 390/688/70 388/686/70 +f 391/689/71 392/690/71 390/688/71 +f 393/691/72 394/692/72 392/690/72 +f 395/693/73 396/694/73 394/692/73 +f 397/695/74 398/696/74 396/694/74 +f 399/697/75 400/698/75 398/696/75 +f 401/699/77 402/700/77 400/698/77 +f 403/701/78 404/702/78 402/700/78 +f 405/703/79 406/704/79 404/702/79 +f 407/705/80 408/706/80 406/704/80 +f 409/707/81 410/708/81 408/706/81 +f 411/709/82 412/710/82 410/708/82 +f 389/711/8 381/712/8 373/713/8 +f 413/714/83 414/715/83 412/710/83 +f 415/716/84 370/717/84 414/715/84 +f 398/718/2 406/719/2 414/720/2 +f 416/721/60 417/722/60 418/723/60 +f 419/724/61 420/725/61 417/722/61 +f 421/726/62 422/727/62 420/725/62 +f 423/728/63 424/729/63 422/727/63 +f 425/730/64 426/731/64 424/729/64 +f 427/732/65 428/733/65 426/731/65 +f 429/734/66 430/735/66 428/733/66 +f 431/736/67 432/737/67 430/735/67 +f 433/738/68 434/739/68 432/737/68 +f 435/740/69 436/741/69 434/739/69 +f 437/742/70 438/743/70 436/741/70 +f 439/744/71 440/745/71 438/743/71 +f 441/746/72 442/747/72 440/745/72 +f 443/748/73 444/749/73 442/747/73 +f 445/750/74 446/751/74 444/749/74 +f 447/752/75 448/753/75 446/751/76 +f 449/754/77 450/755/77 448/753/77 +f 451/756/78 452/757/78 450/755/78 +f 453/758/79 454/759/79 452/757/79 +f 455/760/80 456/761/80 454/759/80 +f 457/762/81 458/763/81 456/761/81 +f 459/764/82 460/765/82 458/763/82 +f 437/766/8 429/767/8 421/768/8 +f 461/769/83 462/770/83 460/765/83 +f 463/771/84 418/772/84 462/770/84 +f 446/773/2 454/774/2 462/775/2 +f 464/776/60 465/777/60 466/778/60 +f 467/779/61 468/780/61 465/777/61 +f 469/781/95 470/782/62 468/780/62 +f 471/783/63 472/784/63 470/782/63 +f 473/785/64 474/786/64 472/784/64 +f 475/787/65 476/788/65 474/786/65 +f 477/789/66 478/790/66 476/788/66 +f 479/791/67 480/792/67 478/790/67 +f 481/793/68 482/794/68 480/792/68 +f 483/795/96 484/796/69 482/794/69 +f 485/797/70 486/798/70 484/796/70 +f 487/799/71 488/800/71 486/798/71 +f 489/801/72 490/802/72 488/800/72 +f 491/803/73 492/804/73 490/802/73 +f 493/805/74 494/806/94 492/804/94 +f 495/807/75 496/808/76 494/806/76 +f 497/809/77 498/810/77 496/808/77 +f 499/811/78 500/812/78 498/810/78 +f 501/813/79 502/814/79 500/812/79 +f 503/815/80 504/816/80 502/814/80 +f 505/817/81 506/818/81 504/816/81 +f 507/819/82 508/820/82 506/818/82 +f 485/821/8 477/822/8 469/823/8 +f 509/824/83 510/825/83 508/820/83 +f 511/826/84 466/827/84 510/825/84 +f 494/828/2 502/829/2 510/830/2 +f 512/831/2 192/832/2 241/503/2 +f 241/503/2 195/833/2 239/501/2 +f 239/501/2 197/834/2 513/835/2 +f 513/835/2 199/836/2 514/837/2 +f 514/837/2 201/838/2 515/839/2 +f 515/839/2 203/840/2 516/841/2 +f 517/842/2 203/840/2 205/843/2 +f 518/844/2 205/843/2 207/845/2 +f 519/846/2 207/845/2 209/847/2 +f 520/848/2 209/847/2 211/849/2 +f 521/850/2 211/849/2 213/851/2 +f 522/852/2 213/851/2 215/853/2 +f 522/852/2 217/854/2 523/855/2 +f 523/855/2 219/856/2 524/857/2 +f 524/857/2 221/858/2 525/859/2 +f 525/859/2 223/860/2 526/861/2 +f 526/861/2 225/862/2 527/863/2 +f 527/863/2 227/864/2 528/865/2 +f 529/866/2 227/864/2 229/867/2 +f 530/868/2 229/867/2 231/869/2 +f 531/870/2 231/869/2 233/871/2 +f 532/872/2 233/871/2 235/873/2 +f 533/874/2 235/873/2 237/875/2 +f 512/831/2 237/875/2 193/876/2 +f 534/877/2 535/878/2 536/879/2 +f 527/863/64 537/880/64 526/861/64 +f 520/848/82 538/881/82 519/846/82 +f 513/835/74 539/882/74 239/501/74 +f 528/865/65 540/883/65 527/863/65 +f 521/850/83 541/884/83 520/848/83 +f 514/837/75 542/885/75 513/835/75 +f 529/866/66 543/886/66 528/865/66 +f 522/852/84 544/887/84 521/850/84 +f 515/839/77 545/888/77 514/837/77 +f 530/868/67 546/889/67 529/866/67 +f 523/855/60 547/890/60 522/852/60 +f 516/841/78 548/891/78 515/839/78 +f 531/870/68 549/892/68 530/868/68 +f 524/857/61 550/893/61 523/855/61 +f 517/842/79 551/894/79 516/841/79 +f 532/872/69 534/877/69 531/870/69 +f 525/859/62 552/895/62 524/857/62 +f 518/844/80 553/896/80 517/842/80 +f 533/874/70 535/878/70 532/872/70 +f 241/503/72 554/897/72 512/831/72 +f 526/861/93 536/879/93 525/859/93 +f 519/846/81 555/898/81 518/844/81 +f 512/831/71 556/899/71 533/874/71 +f 271/554/97 263/539/98 557/900/99 +f 191/449/60 194/452/60 192/450/60 +f 194/452/61 196/454/61 195/453/61 +f 196/454/62 198/456/62 197/455/62 +f 198/456/63 200/458/63 199/457/63 +f 200/458/64 202/460/64 201/459/64 +f 202/460/65 204/462/65 203/461/65 +f 204/462/66 206/464/66 205/463/66 +f 206/464/67 208/466/67 207/465/67 +f 208/466/68 210/468/68 209/467/68 +f 210/468/69 212/470/69 211/469/69 +f 212/470/70 214/472/70 213/471/70 +f 214/472/71 216/474/71 215/473/71 +f 216/474/72 218/476/72 217/475/72 +f 218/476/73 220/478/73 219/477/73 +f 220/478/74 222/480/74 221/479/74 +f 222/480/75 224/482/75 223/481/76 +f 224/482/77 226/484/77 225/483/77 +f 226/484/78 228/486/78 227/485/78 +f 228/486/79 230/488/79 229/487/79 +f 230/488/80 232/490/80 231/489/80 +f 232/490/81 234/492/81 233/491/81 +f 234/492/82 236/497/82 235/493/82 +f 196/496/8 194/901/8 191/902/8 +f 191/902/8 238/903/8 196/496/8 +f 238/903/8 236/904/8 196/496/8 +f 236/904/8 234/905/8 232/906/8 +f 232/906/8 230/907/8 228/908/8 +f 228/908/8 226/909/8 224/910/8 +f 224/910/8 222/911/8 228/908/8 +f 222/911/8 220/912/8 228/908/8 +f 220/912/8 218/913/8 216/914/8 +f 216/914/8 214/915/8 212/494/8 +f 212/494/8 210/916/8 208/917/8 +f 208/917/8 206/918/8 204/495/8 +f 204/495/8 202/919/8 200/920/8 +f 200/920/8 198/921/8 204/495/8 +f 198/921/8 196/496/8 204/495/8 +f 236/904/8 232/906/8 228/908/8 +f 220/912/8 216/914/8 228/908/8 +f 216/914/8 212/494/8 228/908/8 +f 212/494/8 208/917/8 204/495/8 +f 196/496/8 236/904/8 212/494/8 +f 236/904/8 228/908/8 212/494/8 +f 236/497/83 238/499/83 237/498/83 +f 238/499/84 191/922/84 193/500/84 +f 239/501/73 539/882/73 240/502/73 +f 242/504/61 245/507/61 243/505/61 +f 245/507/64 247/509/64 246/508/64 +f 247/509/67 249/511/67 248/510/67 +f 249/511/70 251/513/70 250/512/70 +f 251/513/73 253/515/73 252/514/73 +f 253/515/77 255/520/77 254/516/77 +f 247/517/8 245/923/8 242/518/8 +f 242/518/8 257/924/8 255/519/8 +f 255/519/8 253/925/8 247/517/8 +f 253/925/8 251/926/8 247/517/8 +f 251/926/8 249/927/8 247/517/8 +f 255/520/80 257/522/80 256/521/80 +f 257/522/83 242/928/83 244/523/83 +f 256/526/2 244/929/2 248/524/2 +f 244/929/2 243/930/2 248/524/2 +f 243/930/2 246/931/2 248/524/2 +f 248/524/2 250/932/2 252/525/2 +f 252/525/2 254/933/2 256/526/2 +f 250/527/85 267/934/85 258/528/85 +f 248/529/86 258/528/86 259/530/86 +f 246/531/87 259/530/87 260/532/87 +f 260/532/88 261/535/88 244/534/88 +f 261/535/89 262/537/89 256/536/89 +f 262/537/90 263/539/90 254/538/90 +f 263/539/91 264/541/91 252/540/91 +f 264/541/92 267/934/92 250/527/92 +f 265/542/80 270/553/80 259/543/80 +f 266/545/83 265/542/83 258/544/83 +f 268/547/70 557/900/70 262/548/70 +f 269/550/73 268/935/73 261/551/73 +f 270/553/77 269/550/77 260/552/77 +f 271/554/61 266/545/61 267/546/61 +f 272/556/60 275/559/60 273/557/60 +f 275/559/61 277/561/61 276/560/61 +f 277/561/62 279/563/62 278/562/62 +f 279/563/93 281/565/93 280/564/93 +f 281/565/64 283/567/64 282/566/64 +f 283/567/65 285/569/65 284/568/65 +f 285/569/66 287/571/66 286/570/66 +f 287/571/67 289/573/67 288/572/67 +f 289/573/68 291/575/68 290/574/68 +f 291/575/69 293/577/69 292/576/69 +f 293/577/70 295/579/70 294/578/70 +f 295/579/71 297/581/71 296/580/71 +f 297/581/72 299/583/72 298/582/72 +f 299/583/73 301/585/73 300/584/73 +f 301/585/74 303/587/74 302/586/74 +f 303/587/75 305/589/75 304/588/75 +f 305/589/77 307/591/77 306/590/77 +f 307/591/78 309/593/78 308/592/78 +f 309/593/79 311/595/79 310/594/79 +f 311/595/80 313/597/80 312/596/80 +f 313/597/81 315/599/81 314/598/81 +f 315/599/82 317/604/82 316/600/82 +f 277/603/8 275/936/8 317/937/8 +f 275/936/8 272/938/8 317/937/8 +f 272/938/8 319/939/8 317/937/8 +f 317/937/8 315/940/8 313/941/8 +f 313/941/8 311/942/8 309/601/8 +f 309/601/8 307/943/8 305/944/8 +f 305/944/8 303/945/8 301/946/8 +f 301/946/8 299/947/8 297/948/8 +f 297/948/8 295/949/8 293/602/8 +f 293/602/8 291/950/8 289/951/8 +f 289/951/8 287/952/8 293/602/8 +f 287/952/8 285/953/8 293/602/8 +f 285/953/8 283/954/8 281/955/8 +f 281/955/8 279/956/8 277/603/8 +f 317/937/8 313/941/8 277/603/8 +f 313/941/8 309/601/8 277/603/8 +f 309/601/8 305/944/8 293/602/8 +f 305/944/8 301/946/8 293/602/8 +f 301/946/8 297/948/8 293/602/8 +f 285/953/8 281/955/8 293/602/8 +f 281/955/8 277/603/8 293/602/8 +f 317/604/83 319/606/83 318/605/83 +f 319/606/84 272/957/84 274/607/84 +f 318/609/2 274/958/2 273/959/2 +f 273/959/2 276/960/2 318/609/2 +f 276/960/2 278/961/2 318/609/2 +f 278/961/2 280/962/2 286/610/2 +f 280/962/2 282/963/100 286/610/2 +f 282/963/100 284/964/2 286/610/2 +f 286/610/2 288/965/101 290/966/2 +f 290/966/2 292/967/2 294/968/2 +f 294/968/2 296/969/2 298/970/2 +f 298/970/2 300/971/2 302/972/2 +f 302/972/2 304/973/2 306/974/2 +f 306/974/2 308/975/2 310/608/2 +f 310/608/2 312/976/2 314/977/101 +f 314/977/101 316/978/2 310/608/2 +f 316/978/2 318/609/2 310/608/2 +f 286/610/2 290/966/2 294/968/2 +f 294/968/2 298/970/2 286/610/2 +f 298/970/2 302/972/2 286/610/2 +f 302/972/2 306/974/2 310/608/2 +f 318/609/2 278/961/2 286/610/2 +f 302/972/2 310/608/2 286/610/2 +f 320/611/60 323/614/60 321/612/60 +f 323/614/61 325/616/61 324/615/61 +f 325/616/62 327/618/62 326/617/62 +f 327/618/63 329/620/63 328/619/63 +f 329/620/64 331/622/64 330/621/64 +f 331/622/65 333/624/65 332/623/65 +f 333/624/66 335/626/66 334/625/66 +f 335/626/67 337/628/67 336/627/67 +f 337/628/68 339/630/68 338/629/68 +f 339/630/69 341/632/69 340/631/69 +f 341/632/70 343/634/70 342/633/70 +f 343/634/71 345/636/71 344/635/71 +f 345/636/72 347/638/72 346/637/72 +f 347/638/73 349/640/73 348/639/73 +f 349/640/74 351/642/74 350/641/74 +f 351/642/75 353/644/75 352/643/75 +f 353/644/77 355/646/77 354/645/77 +f 355/646/78 357/648/78 356/647/78 +f 357/648/79 359/650/79 358/649/79 +f 359/650/80 361/652/80 360/651/80 +f 361/652/81 363/654/81 362/653/81 +f 363/654/82 365/659/82 364/655/82 +f 325/658/8 323/979/8 320/980/8 +f 320/980/8 367/981/8 365/982/8 +f 365/982/8 363/983/102 361/984/8 +f 361/984/8 359/985/8 365/982/8 +f 359/985/8 357/986/8 365/982/8 +f 357/986/8 355/987/102 353/988/8 +f 353/988/8 351/989/8 357/986/8 +f 351/989/8 349/990/8 357/986/8 +f 349/990/8 347/991/8 345/992/8 +f 345/992/8 343/993/8 341/656/8 +f 341/656/8 339/994/8 337/995/8 +f 337/995/8 335/996/8 341/656/8 +f 335/996/8 333/657/8 341/656/8 +f 333/657/8 331/997/8 329/998/8 +f 329/998/8 327/999/8 333/657/8 +f 327/999/8 325/658/8 333/657/8 +f 325/658/8 320/980/8 365/982/8 +f 349/990/8 345/992/8 357/986/8 +f 345/992/8 341/656/8 357/986/8 +f 325/658/8 365/982/8 341/656/8 +f 365/982/8 357/986/8 341/656/8 +f 365/659/83 367/661/83 366/660/83 +f 367/661/84 320/1000/84 322/662/84 +f 366/665/2 322/1001/2 321/1002/2 +f 321/1002/2 324/1003/2 366/665/2 +f 324/1003/2 326/1004/2 366/665/2 +f 326/1004/2 328/1005/100 330/1006/2 +f 330/1006/2 332/1007/101 326/1004/2 +f 332/1007/101 334/1008/2 326/1004/2 +f 334/1008/2 336/1009/101 338/1010/2 +f 338/1010/2 340/1011/2 342/1012/2 +f 342/1012/2 344/1013/2 350/663/2 +f 344/1013/2 346/1014/2 350/663/2 +f 346/1014/2 348/1015/101 350/663/2 +f 350/663/2 352/1016/101 354/1017/100 +f 354/1017/100 356/1018/2 350/663/2 +f 356/1018/2 358/664/2 350/663/2 +f 358/664/2 360/1019/101 362/1020/100 +f 362/1020/100 364/1021/2 358/664/2 +f 364/1021/2 366/665/2 358/664/2 +f 334/1008/2 338/1010/2 350/663/2 +f 338/1010/2 342/1012/2 350/663/2 +f 366/665/2 326/1004/2 350/663/2 +f 326/1004/2 334/1008/2 350/663/2 +f 368/666/60 371/669/60 369/667/60 +f 371/669/61 373/671/61 372/670/61 +f 373/671/62 375/673/62 374/672/62 +f 375/673/63 377/675/63 376/674/63 +f 377/675/64 379/677/64 378/676/64 +f 379/677/65 381/679/65 380/678/65 +f 381/679/66 383/681/66 382/680/66 +f 383/681/67 385/683/67 384/682/67 +f 385/683/68 387/685/68 386/684/68 +f 387/685/69 389/687/96 388/686/69 +f 389/687/70 391/689/70 390/688/70 +f 391/689/71 393/691/71 392/690/71 +f 393/691/72 395/693/72 394/692/72 +f 395/693/73 397/695/73 396/694/73 +f 397/695/74 399/697/74 398/696/74 +f 399/697/75 401/699/75 400/698/75 +f 401/699/77 403/701/77 402/700/77 +f 403/701/78 405/703/78 404/702/78 +f 405/703/79 407/705/79 406/704/79 +f 407/705/80 409/707/80 408/706/80 +f 409/707/81 411/709/81 410/708/81 +f 411/709/82 413/714/82 412/710/82 +f 373/713/8 371/1022/8 368/1023/8 +f 368/1023/8 415/1024/8 413/1025/8 +f 413/1025/8 411/1026/103 409/1027/8 +f 409/1027/8 407/1028/8 413/1025/8 +f 407/1028/8 405/1029/8 413/1025/8 +f 405/1029/8 403/1030/8 401/1031/8 +f 401/1031/8 399/1032/8 405/1029/8 +f 399/1032/8 397/1033/8 405/1029/8 +f 397/1033/8 395/1034/8 393/1035/8 +f 393/1035/8 391/1036/8 389/711/8 +f 389/711/8 387/1037/103 385/1038/8 +f 385/1038/8 383/1039/8 389/711/8 +f 383/1039/8 381/712/8 389/711/8 +f 381/712/8 379/1040/8 377/1041/102 +f 377/1041/102 375/1042/8 381/712/8 +f 375/1042/8 373/713/8 381/712/8 +f 373/713/8 368/1023/8 413/1025/8 +f 397/1033/8 393/1035/8 405/1029/8 +f 393/1035/8 389/711/8 405/1029/8 +f 373/713/8 413/1025/8 389/711/8 +f 413/1025/8 405/1029/8 389/711/8 +f 413/714/83 415/716/83 414/715/83 +f 415/716/84 368/1043/84 370/717/84 +f 414/720/2 370/1044/2 369/1045/2 +f 369/1045/2 372/1046/2 414/720/2 +f 372/1046/2 374/1047/2 414/720/2 +f 374/1047/2 376/1048/101 378/1049/2 +f 378/1049/2 380/1050/2 374/1047/2 +f 380/1050/2 382/1051/2 374/1047/2 +f 382/1051/2 384/1052/100 386/1053/2 +f 386/1053/2 388/1054/100 390/1055/2 +f 390/1055/2 392/1056/2 394/1057/2 +f 394/1057/2 396/1058/2 398/718/2 +f 398/718/2 400/1059/2 402/1060/2 +f 402/1060/2 404/1061/2 398/718/2 +f 404/1061/2 406/719/2 398/718/2 +f 406/719/2 408/1062/100 410/1063/101 +f 410/1063/101 412/1064/2 406/719/2 +f 412/1064/2 414/720/2 406/719/2 +f 382/1051/2 386/1053/2 390/1055/2 +f 390/1055/2 394/1057/2 382/1051/2 +f 394/1057/2 398/718/2 382/1051/2 +f 414/720/2 374/1047/2 398/718/2 +f 374/1047/2 382/1051/2 398/718/2 +f 416/721/60 419/724/60 417/722/60 +f 419/724/61 421/726/61 420/725/61 +f 421/726/62 423/728/62 422/727/62 +f 423/728/63 425/730/63 424/729/63 +f 425/730/64 427/732/64 426/731/64 +f 427/732/65 429/734/65 428/733/65 +f 429/734/66 431/736/66 430/735/66 +f 431/736/67 433/738/67 432/737/67 +f 433/738/68 435/740/68 434/739/68 +f 435/740/69 437/742/69 436/741/69 +f 437/742/70 439/744/70 438/743/70 +f 439/744/71 441/746/71 440/745/71 +f 441/746/72 443/748/72 442/747/72 +f 443/748/73 445/750/73 444/749/73 +f 445/750/74 447/752/74 446/751/74 +f 447/752/75 449/754/75 448/753/75 +f 449/754/77 451/756/77 450/755/77 +f 451/756/78 453/758/78 452/757/78 +f 453/758/79 455/760/79 454/759/79 +f 455/760/80 457/762/80 456/761/80 +f 457/762/81 459/764/81 458/763/81 +f 459/764/82 461/769/82 460/765/82 +f 421/768/8 419/1065/8 416/1066/8 +f 416/1066/8 463/1067/8 461/1068/8 +f 461/1068/8 459/1069/103 457/1070/8 +f 457/1070/8 455/1071/8 461/1068/8 +f 455/1071/8 453/1072/8 461/1068/8 +f 453/1072/8 451/1073/8 449/1074/8 +f 449/1074/8 447/1075/8 453/1072/8 +f 447/1075/8 445/1076/8 453/1072/8 +f 445/1076/8 443/1077/8 441/1078/8 +f 441/1078/8 439/1079/8 437/766/8 +f 437/766/8 435/1080/8 433/1081/8 +f 433/1081/8 431/1082/8 437/766/8 +f 431/1082/8 429/767/8 437/766/8 +f 429/767/8 427/1083/8 425/1084/8 +f 425/1084/8 423/1085/8 429/767/8 +f 423/1085/8 421/768/8 429/767/8 +f 421/768/8 416/1066/8 461/1068/8 +f 445/1076/8 441/1078/8 453/1072/8 +f 441/1078/8 437/766/8 453/1072/8 +f 421/768/8 461/1068/8 437/766/8 +f 461/1068/8 453/1072/8 437/766/8 +f 461/769/83 463/771/83 462/770/83 +f 463/771/84 416/1086/84 418/772/84 +f 462/775/2 418/1087/2 417/1088/2 +f 417/1088/2 420/1089/2 462/775/2 +f 420/1089/2 422/1090/2 462/775/2 +f 422/1090/2 424/1091/100 426/1092/101 +f 426/1092/101 428/1093/2 422/1090/2 +f 428/1093/2 430/1094/2 422/1090/2 +f 430/1094/2 432/1095/2 434/1096/2 +f 434/1096/2 436/1097/2 438/1098/2 +f 438/1098/2 440/1099/2 446/773/2 +f 440/1099/2 442/1100/2 446/773/2 +f 442/1100/2 444/1101/2 446/773/2 +f 446/773/2 448/1102/2 450/1103/2 +f 450/1103/2 452/1104/2 446/773/2 +f 452/1104/2 454/774/2 446/773/2 +f 454/774/2 456/1105/101 458/1106/2 +f 458/1106/2 460/1107/2 454/774/2 +f 460/1107/2 462/775/2 454/774/2 +f 430/1094/2 434/1096/2 446/773/2 +f 434/1096/2 438/1098/2 446/773/2 +f 462/775/2 422/1090/2 446/773/2 +f 422/1090/2 430/1094/2 446/773/2 +f 464/776/60 467/779/60 465/777/60 +f 467/779/61 469/781/61 468/780/61 +f 469/781/95 471/783/95 470/782/62 +f 471/783/63 473/785/63 472/784/63 +f 473/785/64 475/787/64 474/786/64 +f 475/787/65 477/789/65 476/788/65 +f 477/789/66 479/791/66 478/790/66 +f 479/791/67 481/793/67 480/792/67 +f 481/793/68 483/795/68 482/794/68 +f 483/795/96 485/797/96 484/796/69 +f 485/797/70 487/799/70 486/798/70 +f 487/799/71 489/801/71 488/800/71 +f 489/801/72 491/803/72 490/802/72 +f 491/803/73 493/805/73 492/804/73 +f 493/805/74 495/807/74 494/806/94 +f 495/807/75 497/809/75 496/808/76 +f 497/809/77 499/811/77 498/810/77 +f 499/811/78 501/813/78 500/812/78 +f 501/813/79 503/815/79 502/814/79 +f 503/815/80 505/817/80 504/816/80 +f 505/817/81 507/819/81 506/818/81 +f 507/819/82 509/824/82 508/820/82 +f 469/823/8 467/1108/8 464/1109/8 +f 464/1109/8 511/1110/8 469/823/8 +f 511/1110/8 509/1111/8 469/823/8 +f 509/1111/8 507/1112/8 505/1113/8 +f 505/1113/8 503/1114/8 509/1111/8 +f 503/1114/8 501/1115/8 509/1111/8 +f 501/1115/8 499/1116/8 497/1117/8 +f 497/1117/8 495/1118/8 501/1115/8 +f 495/1118/8 493/1119/8 501/1115/8 +f 493/1119/8 491/1120/8 489/1121/8 +f 489/1121/8 487/1122/8 485/821/8 +f 485/821/8 483/1123/8 481/1124/8 +f 481/1124/8 479/1125/8 485/821/8 +f 479/1125/8 477/822/8 485/821/8 +f 477/822/8 475/1126/8 473/1127/8 +f 473/1127/8 471/1128/8 477/822/8 +f 471/1128/8 469/823/8 477/822/8 +f 493/1119/8 489/1121/8 501/1115/8 +f 489/1121/8 485/821/8 501/1115/8 +f 469/823/8 509/1111/8 485/821/8 +f 509/1111/8 501/1115/8 485/821/8 +f 509/824/83 511/826/83 510/825/83 +f 511/826/84 464/1129/84 466/827/84 +f 510/830/2 466/1130/2 465/1131/2 +f 465/1131/2 468/1132/2 510/830/2 +f 468/1132/2 470/1133/2 510/830/2 +f 470/1133/2 472/1134/2 474/1135/2 +f 474/1135/2 476/1136/2 470/1133/2 +f 476/1136/2 478/1137/2 470/1133/2 +f 478/1137/2 480/1138/100 482/1139/2 +f 482/1139/2 484/1140/2 486/1141/2 +f 486/1141/2 488/1142/2 494/828/2 +f 488/1142/2 490/1143/2 494/828/2 +f 490/1143/2 492/1144/2 494/828/2 +f 494/828/2 496/1145/2 498/1146/2 +f 498/1146/2 500/1147/2 494/828/2 +f 500/1147/2 502/829/2 494/828/2 +f 502/829/2 504/1148/2 506/1149/2 +f 506/1149/2 508/1150/2 502/829/2 +f 508/1150/2 510/830/2 502/829/2 +f 478/1137/2 482/1139/2 494/828/2 +f 482/1139/2 486/1141/2 494/828/2 +f 510/830/2 470/1133/2 494/828/2 +f 470/1133/2 478/1137/2 494/828/2 +f 512/831/2 193/876/2 192/832/2 +f 241/503/2 192/832/2 195/833/2 +f 239/501/2 195/833/2 197/834/2 +f 513/835/2 197/834/2 199/836/2 +f 514/837/2 199/836/2 201/838/2 +f 515/839/2 201/838/2 203/840/2 +f 517/842/2 516/841/2 203/840/2 +f 518/844/2 517/842/2 205/843/2 +f 519/846/2 518/844/2 207/845/2 +f 520/848/2 519/846/2 209/847/2 +f 521/850/2 520/848/2 211/849/2 +f 522/852/2 521/850/2 213/851/2 +f 522/852/2 215/853/2 217/854/2 +f 523/855/2 217/854/2 219/856/2 +f 524/857/2 219/856/2 221/858/2 +f 525/859/2 221/858/2 223/860/2 +f 526/861/2 223/860/2 225/862/2 +f 527/863/2 225/862/2 227/864/2 +f 529/866/2 528/865/2 227/864/2 +f 530/868/2 529/866/2 229/867/2 +f 531/870/2 530/868/2 231/869/2 +f 532/872/2 531/870/2 233/871/2 +f 533/874/2 532/872/2 235/873/2 +f 512/831/2 533/874/2 237/875/2 +f 556/899/2 554/897/2 547/890/2 +f 554/897/2 240/502/2 544/887/2 +f 240/502/2 539/882/2 544/887/2 +f 539/882/2 542/885/2 541/884/2 +f 544/887/2 539/882/2 541/884/2 +f 542/885/2 545/888/2 555/898/2 +f 545/888/2 548/891/2 553/896/2 +f 548/891/2 551/894/2 553/896/2 +f 553/896/2 555/898/2 545/888/2 +f 555/898/2 538/881/2 542/885/2 +f 538/881/2 541/884/2 542/885/2 +f 544/887/2 547/890/2 554/897/2 +f 547/890/2 550/893/2 556/899/2 +f 550/893/2 552/895/2 556/899/2 +f 552/895/2 536/879/2 535/878/2 +f 556/899/2 552/895/2 535/878/2 +f 536/879/2 537/880/2 549/892/2 +f 537/880/2 540/883/2 546/889/2 +f 540/883/2 543/886/2 546/889/2 +f 546/889/2 549/892/2 537/880/2 +f 549/892/2 534/877/2 536/879/2 +f 527/863/64 540/883/64 537/880/64 +f 520/848/82 541/884/82 538/881/82 +f 513/835/74 542/885/74 539/882/74 +f 528/865/65 543/886/65 540/883/65 +f 521/850/83 544/887/83 541/884/83 +f 514/837/75 545/888/75 542/885/75 +f 529/866/66 546/889/66 543/886/66 +f 522/852/84 547/890/84 544/887/84 +f 515/839/77 548/891/77 545/888/77 +f 530/868/67 549/892/67 546/889/67 +f 523/855/60 550/893/60 547/890/60 +f 516/841/78 551/894/78 548/891/78 +f 531/870/68 534/877/68 549/892/68 +f 524/857/61 552/895/61 550/893/61 +f 517/842/79 553/896/79 551/894/79 +f 532/872/69 535/878/69 534/877/69 +f 525/859/62 536/879/62 552/895/62 +f 518/844/80 555/898/80 553/896/80 +f 533/874/70 556/899/70 535/878/70 +f 241/503/72 240/502/72 554/897/72 +f 526/861/93 537/880/93 536/879/93 +f 519/846/81 538/881/81 555/898/81 +f 512/831/71 554/897/71 556/899/71 +f 557/900/99 268/547/2 269/550/2 +f 269/550/2 270/553/2 557/900/99 +f 270/553/2 265/542/2 271/554/97 +f 557/900/99 270/553/2 271/554/97 +f 265/542/2 266/545/2 271/554/97 +f 271/554/97 264/541/64 263/539/98 +f 263/539/98 262/548/67 557/900/99 +f 558/1151/104 559/1152/104 560/1153/104 +f 561/1154/105 562/1155/105 563/1156/105 +f 564/1157/106 559/1158/106 565/1159/106 +f 566/1160/107 565/1159/107 567/1161/107 +f 568/1162/108 566/1163/108 567/1161/108 +f 569/1164/106 570/1165/106 571/1166/106 +f 572/1167/109 568/1162/109 573/1168/109 +f 574/1169/110 575/1170/110 576/1171/110 +f 573/1168/105 577/1172/105 572/1167/105 +f 578/1173/111 576/1174/111 577/1172/111 +f 579/1175/112 558/1176/112 575/1177/112 +f 580/1178/25 581/1179/25 582/1180/25 +f 583/1181/9 584/1182/9 585/1183/9 +f 586/1184/26 587/1185/26 580/1186/26 +f 588/1187/113 589/1188/113 590/1189/113 +f 591/1190/114 592/1191/114 589/1192/114 +f 589/1193/115 591/1194/116 593/1195/115 +f 594/1196/117 595/1197/117 592/1191/117 +f 596/1198/118 597/1199/118 598/1200/118 +f 599/1201/119 600/1202/119 601/1203/119 +f 595/1197/120 602/1204/120 603/1205/120 +f 604/1206/121 605/1207/122 593/1208/123 +f 605/1209/118 603/1210/118 602/1211/118 +f 606/1212/25 607/1213/25 608/1214/25 +f 609/1215/9 610/1216/9 611/1217/9 +f 612/1218/8 608/1219/8 610/1220/8 +f 611/1221/6 608/1222/6 607/1223/6 +f 613/1224/26 612/1225/26 609/1226/26 +f 614/1227/124 615/1228/124 616/1229/124 +f 617/1230/125 618/1231/125 619/1232/125 +f 618/1233/126 620/1234/126 619/1235/126 +f 621/1236/127 620/1237/127 622/1238/127 +f 616/1239/128 617/1240/128 614/1241/128 +f 623/1242/9 621/1243/9 624/1244/9 +f 625/1245/129 626/1246/129 615/1228/129 +f 621/1247/130 627/1248/130 628/1249/130 +f 629/1250/131 623/1251/131 626/1252/131 +f 625/1253/25 614/1254/25 617/1255/25 +f 630/1256/26 631/1257/26 632/1258/26 +f 630/1259/132 633/1260/132 634/1261/132 +f 635/1262/133 636/1263/133 631/1264/133 +f 637/1265/134 633/1266/134 638/1267/134 +f 636/1268/135 639/1269/135 640/1270/135 +f 641/1271/136 639/1272/136 642/1273/136 +f 638/1274/137 643/1275/137 637/1276/137 +f 642/1277/138 644/1278/138 641/1279/138 +f 645/1280/139 646/1281/139 647/1282/139 +f 648/1283/140 649/1284/140 646/1285/140 +f 650/1286/141 651/1287/141 652/1288/141 +f 649/1289/9 641/1290/9 644/1291/9 +f 653/1292/142 647/1293/142 654/1294/142 +f 651/1295/25 642/1296/25 643/1297/25 +f 652/1298/143 655/1299/143 650/1300/143 +f 654/1301/144 656/1302/144 653/1303/144 +f 657/1304/145 658/1305/145 656/1306/145 +f 659/1307/146 660/1308/146 658/1309/146 +f 661/1310/147 662/1311/147 663/1312/147 +f 664/1313/9 665/1314/9 666/1315/9 +f 667/1316/6 668/1317/6 669/1318/6 +f 670/1319/148 667/1320/148 669/1321/148 +f 671/1322/149 672/1323/149 673/1324/149 +f 666/1325/150 670/1326/150 674/1327/150 +f 663/1328/25 671/1329/25 675/1330/25 +f 676/1331/151 664/1332/151 677/1333/151 +f 678/1334/149 677/1335/149 679/1336/149 +f 680/1337/150 681/1338/150 682/1339/150 +f 683/1340/148 684/1341/148 685/1342/148 +f 685/1343/6 684/1344/6 686/1345/6 +f 687/1346/6 669/1318/6 668/1347/6 +f 674/1348/152 679/1349/152 666/1350/152 +f 662/1351/151 672/1352/151 688/1353/151 +f 680/1354/152 675/1355/152 671/1356/152 +f 689/1357/147 665/1358/147 664/1359/147 +f 689/1360/25 678/1361/25 674/1362/25 +f 690/1363/153 681/1364/9 691/1365/154 +f 587/1366/2 583/1367/2 581/1368/2 +f 613/1369/2 611/1370/2 607/1371/2 +f 692/1372/25 589/1373/25 592/1374/25 +f 692/1372/25 595/1375/25 693/1376/25 +f 693/1376/25 603/1377/25 694/1378/25 +f 599/1201/25 589/1379/25 695/1380/25 +f 599/1201/25 696/1381/25 604/1382/25 +f 601/1203/9 603/1210/25 696/1381/25 +f 697/1383/25 698/1384/25 699/1385/25 +f 694/1378/120 700/1386/120 693/1376/120 +f 692/1372/114 699/1385/114 695/1387/114 +f 601/1203/118 697/1388/118 694/1389/118 +f 695/1380/155 698/1390/155 599/1201/155 +f 693/1376/117 701/1391/117 692/1372/117 +f 702/1392/9 591/1393/9 593/1394/9 +f 703/1395/9 704/1396/9 594/1397/9 +f 703/1398/9 591/1190/9 705/1399/9 +f 598/1200/25 593/1394/9 605/1400/9 +f 598/1200/25 602/1211/9 596/1198/9 +f 706/1401/9 602/1402/9 704/1396/9 +f 707/1403/9 708/1404/9 709/1405/9 +f 705/1406/114 710/1407/114 703/1395/114 +f 702/1392/156 707/1408/156 705/1409/156 +f 706/1401/120 709/1405/120 596/1410/120 +f 598/1200/157 708/1411/157 702/1392/157 +f 703/1395/117 711/1412/117 706/1401/117 +f 595/1197/158 700/1413/158 701/1414/158 +f 589/1415/159 592/1416/159 701/1417/159 +f 603/1418/160 697/1419/160 700/1420/160 +f 600/1421/161 697/1422/161 603/1423/161 +f 604/1424/162 600/1425/162 696/1426/162 +f 589/1427/163 698/1428/164 600/1429/165 +f 602/1204/166 704/1430/166 711/1431/166 +f 602/1432/167 709/1433/167 597/1434/167 +f 593/1435/168 605/1436/168 597/1437/168 +f 597/1438/169 708/1439/170 579/1440/171 +f 710/1441/172 594/1442/173 579/1443/174 +f 710/1444/175 711/1445/175 704/1446/175 +f 712/1447/25 575/1177/25 558/1176/25 +f 712/1447/25 560/1448/25 713/1449/25 +f 714/1450/25 566/1451/25 715/1452/25 +f 716/1453/25 566/1451/25 717/1454/25 +f 714/1450/25 560/1448/25 564/1455/25 +f 718/1456/25 575/1177/25 719/1457/25 +f 563/1156/25 577/1458/25 561/1154/25 +f 718/1456/25 577/1458/25 576/1459/25 +f 716/1453/25 572/1460/25 563/1156/25 +f 720/1461/25 721/1462/25 562/1463/25 +f 716/1453/108 722/1464/108 715/1452/108 +f 712/1447/112 723/1465/112 719/1457/112 +f 718/1456/111 724/1466/111 561/1154/111 +f 714/1450/106 721/1467/106 713/1449/106 +f 713/1449/104 720/1468/104 712/1447/104 +f 563/1156/109 725/1469/109 716/1453/109 +f 719/1457/110 726/1470/110 718/1456/110 +f 715/1452/107 727/1471/107 714/1450/107 +f 728/1472/9 579/1175/9 729/1473/9 +f 728/1472/9 559/1474/9 730/1475/9 +f 571/1166/9 567/1476/9 565/1477/9 +f 731/1478/9 567/1476/9 732/1479/9 +f 571/1166/9 559/1474/9 569/1164/9 +f 733/1480/9 579/1175/9 574/1481/9 +f 734/1482/9 578/1483/9 573/1484/9 +f 733/1480/9 578/1483/9 735/1485/9 +f 731/1478/9 573/1484/9 568/1486/9 +f 736/1487/9 737/1488/9 738/1489/9 +f 728/1472/104 738/1490/104 569/1164/104 +f 731/1478/109 736/1491/109 734/1482/109 +f 733/1480/110 739/1492/110 729/1473/110 +f 571/1166/107 737/1493/107 732/1479/107 +f 734/1482/105 740/1494/105 735/1485/105 +f 732/1479/108 741/1495/108 731/1478/108 +f 729/1473/112 742/1496/112 728/1472/112 +f 735/1485/111 743/1497/111 733/1480/111 +f 567/1161/176 565/1159/176 570/1498/176 +f 567/1499/177 737/1500/177 741/1501/177 +f 741/1502/178 736/1503/178 573/1504/178 +f 736/1505/179 740/1506/179 578/1507/179 +f 578/1507/180 740/1506/180 743/1508/180 +f 743/1508/181 739/1509/181 579/1510/181 +f 742/1511/182 730/1512/182 579/1510/182 +f 742/1511/183 738/1513/183 559/1514/183 +f 559/1514/184 738/1513/184 570/1515/184 +f 566/1163/185 717/1516/185 725/1517/185 +f 566/1518/186 722/1519/186 727/1520/186 +f 727/1520/187 721/1521/187 560/1522/187 +f 720/1523/188 558/1524/188 560/1522/188 +f 575/1525/189 558/1524/189 720/1523/189 +f 575/1525/190 723/1526/190 726/1527/190 +f 726/1527/191 724/1528/191 577/1529/191 +f 577/1529/192 724/1528/192 562/1530/192 +f 572/1531/193 562/1530/193 725/1532/193 +f 583/1533/113 582/1534/113 581/1535/113 +f 744/1536/194 580/1537/26 745/1538/194 +f 745/1539/25 582/1180/25 590/1540/25 +f 604/1541/25 590/1540/25 589/1542/25 +f 593/1543/195 745/1544/195 604/1545/195 +f 746/1546/113 590/1189/113 582/1534/113 +f 747/1547/196 748/1548/197 749/1549/197 +f 749/1550/198 746/1551/9 747/1552/9 +f 750/1553/9 744/1554/199 751/1555/200 +f 752/1556/9 753/1557/9 754/1558/201 +f 754/1559/202 755/1560/202 756/1561/202 +f 750/1562/203 752/1563/203 585/1564/203 +f 751/1565/6 757/1566/6 750/1562/6 +f 585/1564/203 758/1567/203 747/1547/203 +f 759/1568/204 753/1569/205 751/1565/206 +f 758/1570/9 754/1571/201 748/1572/207 +f 755/1560/208 760/1573/209 756/1561/210 +f 749/1549/211 760/1573/211 761/1574/211 +f 754/1559/201 760/1573/212 748/1548/207 +f 751/1575/200 744/1576/199 755/1577/213 +f 558/1151/104 730/1578/104 559/1152/104 +f 561/1154/105 724/1466/105 562/1155/105 +f 564/1157/106 560/1579/106 559/1158/106 +f 566/1160/107 564/1157/107 565/1159/107 +f 568/1162/108 717/1516/108 566/1163/108 +f 569/1164/106 738/1490/106 570/1165/106 +f 572/1167/109 717/1516/109 568/1162/109 +f 574/1169/110 579/1580/110 575/1170/110 +f 573/1168/105 578/1173/105 577/1172/105 +f 578/1173/111 574/1581/111 576/1174/111 +f 579/1175/112 730/1475/112 558/1176/112 +f 580/1178/25 587/1582/25 581/1179/25 +f 586/1583/9 750/1584/9 584/1585/9 +f 750/1584/9 585/1586/9 584/1585/9 +f 585/1586/9 747/1587/9 583/1588/9 +f 747/1587/9 746/1589/9 583/1588/9 +f 586/1184/26 584/1590/26 587/1185/26 +f 588/1187/113 591/1591/113 589/1188/113 +f 591/1190/114 594/1196/114 592/1191/114 +f 589/1193/115 593/1195/115 604/1592/214 +f 594/1196/117 704/1430/117 595/1197/117 +f 596/1198/118 709/1593/118 597/1199/118 +f 599/1201/119 698/1390/119 600/1202/119 +f 595/1197/120 704/1430/120 602/1204/120 +f 604/1206/121 696/1594/215 605/1207/122 +f 605/1209/118 696/1381/118 603/1210/118 +f 606/1212/25 613/1595/25 607/1213/25 +f 609/1215/9 612/1596/9 610/1216/9 +f 612/1218/8 606/1597/8 608/1219/8 +f 611/1221/6 610/1598/6 608/1222/6 +f 613/1224/26 606/1599/26 612/1225/26 +f 614/1227/124 625/1245/124 615/1228/124 +f 617/1230/125 624/1600/125 618/1231/125 +f 618/1233/126 622/1601/126 620/1234/126 +f 621/1236/127 628/1602/127 620/1237/127 +f 616/1239/128 624/1603/128 617/1240/128 +f 622/1604/9 618/1605/9 624/1244/9 +f 624/1244/9 616/1606/9 615/1607/9 +f 615/1607/9 626/1608/9 623/1242/9 +f 621/1243/9 622/1604/9 624/1244/9 +f 615/1607/9 623/1242/9 624/1244/9 +f 625/1245/129 629/1609/129 626/1246/129 +f 621/1247/130 623/1610/130 627/1248/130 +f 629/1250/131 627/1611/131 623/1251/131 +f 619/1612/25 620/1613/25 617/1255/25 +f 620/1613/25 628/1614/25 617/1255/25 +f 628/1614/25 627/1615/25 617/1255/25 +f 627/1615/25 629/1616/25 625/1253/25 +f 617/1255/25 627/1615/25 625/1253/25 +f 630/1256/26 635/1617/26 631/1257/26 +f 630/1259/132 632/1618/132 633/1260/132 +f 635/1262/133 762/1619/133 636/1263/133 +f 637/1265/134 634/1620/134 633/1266/134 +f 636/1268/135 762/1621/135 639/1269/135 +f 641/1271/136 640/1622/136 639/1272/136 +f 638/1274/137 649/1623/137 643/1275/137 +f 642/1277/138 651/1624/138 644/1278/138 +f 645/1280/139 648/1625/139 646/1281/139 +f 648/1283/140 643/1626/140 649/1284/140 +f 650/1286/141 644/1627/141 651/1287/141 +f 647/1628/9 646/1629/9 650/1630/9 +f 646/1629/9 649/1289/9 644/1291/9 +f 649/1289/9 638/1631/9 641/1290/9 +f 638/1631/9 633/1632/9 641/1290/9 +f 633/1632/9 632/1633/9 631/1634/9 +f 633/1632/9 631/1634/9 636/1635/9 +f 659/1636/9 657/1637/9 655/1638/9 +f 657/1637/9 654/1639/9 655/1638/9 +f 633/1632/9 636/1635/9 640/1640/9 +f 633/1632/9 640/1640/9 641/1290/9 +f 655/1638/9 654/1639/9 647/1628/9 +f 650/1630/9 655/1638/9 647/1628/9 +f 644/1291/9 650/1630/9 646/1629/9 +f 653/1292/142 645/1641/142 647/1293/142 +f 653/1642/25 656/1643/25 660/1644/25 +f 656/1643/25 658/1645/25 660/1644/25 +f 643/1297/25 648/1646/25 651/1295/25 +f 648/1646/25 645/1647/25 652/1648/25 +f 634/1649/25 637/1650/25 642/1296/25 +f 637/1650/25 643/1297/25 642/1296/25 +f 635/1651/25 630/1652/25 634/1649/25 +f 762/1653/25 635/1651/25 634/1649/25 +f 645/1647/25 653/1642/25 660/1644/25 +f 645/1647/25 660/1644/25 652/1648/25 +f 639/1654/25 762/1653/25 634/1649/25 +f 642/1296/25 639/1654/25 634/1649/25 +f 648/1646/25 652/1648/25 651/1295/25 +f 652/1298/143 660/1655/143 655/1299/143 +f 654/1301/144 657/1656/144 656/1302/144 +f 657/1304/145 659/1657/145 658/1305/145 +f 659/1307/146 655/1658/146 660/1308/146 +f 661/1310/147 686/1659/147 662/1311/147 +f 665/1314/9 667/1660/9 666/1315/9 +f 667/1660/9 763/1661/9 666/1315/9 +f 666/1315/9 679/1662/9 664/1313/9 +f 679/1662/9 677/1663/9 664/1313/9 +f 667/1316/6 665/1664/6 668/1317/6 +f 670/1319/148 763/1665/148 667/1320/148 +f 671/1322/149 688/1666/149 672/1323/149 +f 666/1325/150 763/1667/150 670/1326/150 +f 685/1668/25 661/1669/25 675/1330/25 +f 661/1669/25 663/1328/25 675/1330/25 +f 663/1328/25 688/1670/25 671/1329/25 +f 675/1330/25 683/1671/25 685/1668/25 +f 676/1331/151 689/1672/151 664/1332/151 +f 678/1334/149 676/1673/149 677/1335/149 +f 682/1339/150 683/1674/150 675/1675/150 +f 680/1337/150 691/1676/150 681/1338/150 +f 682/1339/150 675/1675/150 680/1337/150 +f 683/1340/148 682/1677/148 684/1341/148 +f 686/1345/6 661/1678/6 685/1343/6 +f 684/1344/6 690/1679/6 686/1345/6 +f 674/1348/152 678/1680/152 679/1349/152 +f 688/1353/151 663/1681/151 662/1351/151 +f 662/1351/151 764/1682/151 672/1352/151 +f 671/1356/152 673/1683/152 680/1354/152 +f 673/1683/152 765/1684/152 680/1354/152 +f 765/1684/152 691/1685/152 680/1354/152 +f 689/1357/147 668/1686/147 665/1358/147 +f 669/1687/25 668/1688/25 674/1362/25 +f 668/1688/25 689/1360/25 674/1362/25 +f 689/1360/25 676/1689/25 678/1361/25 +f 674/1362/25 670/1690/25 669/1687/25 +f 691/1365/154 765/1691/216 662/1692/217 +f 765/1691/216 764/1693/218 662/1692/217 +f 662/1692/217 686/1694/219 691/1365/154 +f 686/1694/219 690/1363/153 691/1365/154 +f 587/1366/2 584/1695/2 583/1367/2 +f 613/1369/2 609/1696/2 611/1370/2 +f 692/1372/25 695/1387/25 589/1373/25 +f 692/1697/25 592/1191/25 595/1197/25 +f 693/1376/25 595/1375/25 603/1377/25 +f 599/1201/25 604/1382/25 589/1379/25 +f 599/1201/25 601/1203/9 696/1381/25 +f 601/1203/9 694/1389/25 603/1210/25 +f 699/1698/25 701/1414/25 700/1413/25 +f 697/1383/25 600/1699/25 698/1384/25 +f 699/1698/25 700/1413/25 697/1700/25 +f 694/1378/120 697/1383/120 700/1386/120 +f 692/1372/114 701/1391/114 699/1385/114 +f 601/1203/118 600/1202/118 697/1388/118 +f 695/1380/155 699/1701/155 698/1390/155 +f 693/1702/117 700/1413/117 701/1414/117 +f 702/1392/9 705/1409/9 591/1393/9 +f 703/1395/9 706/1401/9 704/1396/9 +f 703/1398/9 594/1196/9 591/1190/9 +f 598/1200/25 702/1392/9 593/1394/9 +f 598/1200/25 605/1400/9 602/1211/9 +f 706/1401/9 596/1410/9 602/1402/9 +f 708/1404/9 597/1703/9 709/1405/9 +f 709/1704/9 711/1431/9 707/1705/9 +f 711/1431/9 710/1706/9 707/1705/9 +f 705/1399/114 707/1705/114 710/1706/114 +f 702/1392/156 708/1411/156 707/1408/156 +f 706/1401/120 711/1412/120 709/1405/120 +f 598/1200/157 597/1199/157 708/1411/157 +f 703/1395/117 710/1407/117 711/1412/117 +f 595/1197/158 701/1414/158 592/1191/158 +f 589/1415/159 701/1417/159 699/1707/159 +f 603/1418/160 700/1420/160 595/1708/160 +f 600/1421/161 603/1423/161 696/1709/161 +f 698/1428/164 589/1427/163 699/1710/220 +f 589/1427/163 600/1429/165 604/1711/221 +f 602/1204/222 711/1431/222 709/1704/222 +f 602/1432/167 597/1434/167 605/1712/167 +f 593/1713/223 597/1438/224 579/1440/225 +f 579/1440/171 708/1439/170 707/1714/226 +f 710/1441/172 579/1443/174 707/1715/227 +f 710/1441/175 704/1716/175 594/1442/175 +f 712/1447/25 719/1457/25 575/1177/25 +f 712/1447/25 558/1176/25 560/1448/25 +f 714/1450/25 564/1455/25 566/1451/25 +f 716/1453/25 715/1452/25 566/1451/25 +f 714/1450/25 713/1449/25 560/1448/25 +f 718/1456/25 576/1459/25 575/1177/25 +f 563/1156/25 572/1460/25 577/1458/25 +f 718/1456/25 561/1154/25 577/1458/25 +f 716/1453/25 717/1454/25 572/1460/25 +f 722/1717/25 725/1517/25 562/1463/25 +f 724/1718/25 726/1719/25 723/1720/25 +f 727/1721/25 722/1717/25 721/1462/25 +f 722/1717/25 562/1463/25 721/1462/25 +f 562/1463/25 724/1718/25 720/1461/25 +f 724/1718/25 723/1720/25 720/1461/25 +f 716/1453/108 725/1469/108 722/1464/108 +f 712/1447/112 720/1468/112 723/1465/112 +f 718/1456/111 726/1470/111 724/1466/111 +f 714/1450/106 727/1471/106 721/1467/106 +f 713/1449/104 721/1467/104 720/1468/104 +f 563/1156/109 562/1155/109 725/1469/109 +f 719/1457/110 723/1465/110 726/1470/110 +f 715/1452/107 722/1464/107 727/1471/107 +f 728/1472/9 730/1475/9 579/1175/9 +f 728/1472/9 569/1164/9 559/1474/9 +f 571/1166/9 732/1479/9 567/1476/9 +f 731/1478/9 568/1486/9 567/1476/9 +f 571/1166/9 565/1477/9 559/1474/9 +f 733/1480/9 729/1473/9 579/1175/9 +f 734/1482/9 735/1485/9 578/1483/9 +f 733/1480/9 574/1481/9 578/1483/9 +f 731/1478/9 734/1482/9 573/1484/9 +f 737/1488/9 570/1498/9 738/1489/9 +f 738/1489/9 742/1722/9 736/1487/9 +f 742/1722/9 739/1723/9 740/1724/9 +f 736/1487/9 742/1722/9 740/1724/9 +f 739/1723/9 743/1725/9 740/1724/9 +f 736/1487/9 741/1726/9 737/1488/9 +f 728/1472/104 742/1496/104 738/1490/104 +f 731/1478/109 741/1495/109 736/1491/109 +f 733/1480/110 743/1497/110 739/1492/110 +f 571/1166/107 570/1165/107 737/1493/107 +f 734/1482/105 736/1491/105 740/1494/105 +f 732/1479/108 737/1493/108 741/1495/108 +f 729/1473/112 739/1492/112 742/1496/112 +f 735/1485/111 740/1494/111 743/1497/111 +f 567/1161/176 570/1498/176 737/1488/176 +f 567/1499/177 741/1501/177 568/1727/177 +f 741/1502/178 573/1504/178 568/1728/178 +f 736/1505/179 578/1507/179 573/1729/179 +f 578/1507/180 743/1508/180 574/1730/180 +f 743/1508/181 579/1510/181 574/1730/181 +f 742/1511/182 579/1510/182 739/1509/182 +f 742/1511/183 559/1514/183 730/1512/183 +f 559/1514/184 570/1515/184 565/1731/184 +f 566/1163/185 725/1517/185 722/1717/185 +f 566/1518/186 727/1520/186 564/1732/186 +f 727/1520/187 560/1522/187 564/1732/187 +f 720/1523/188 560/1522/188 721/1521/188 +f 575/1525/189 720/1523/189 723/1526/189 +f 575/1525/190 726/1527/190 576/1733/190 +f 726/1527/191 577/1529/191 576/1733/191 +f 577/1529/192 562/1530/192 572/1531/192 +f 572/1531/193 725/1532/193 717/1734/193 +f 583/1533/113 746/1546/113 582/1534/113 +f 744/1536/194 586/1735/26 580/1537/26 +f 745/1539/25 580/1178/25 582/1180/25 +f 604/1541/25 745/1539/25 590/1540/25 +f 593/1543/194 744/1736/194 745/1544/194 +f 746/1546/113 588/1187/113 590/1189/113 +f 747/1547/196 758/1567/196 748/1548/197 +f 749/1737/198 588/1738/228 746/1739/9 +f 750/1740/9 586/1741/9 744/1742/199 +f 752/1556/9 757/1743/9 753/1557/9 +f 754/1559/202 759/1568/202 755/1560/202 +f 750/1562/203 757/1566/203 752/1563/203 +f 751/1565/6 753/1569/6 757/1566/6 +f 585/1564/203 752/1563/203 758/1567/203 +f 759/1568/204 754/1559/229 753/1569/205 +f 758/1570/9 752/1744/9 754/1571/201 +f 755/1560/208 761/1574/230 760/1573/209 +f 749/1549/211 748/1548/211 760/1573/211 +f 754/1559/201 756/1561/212 760/1573/212 +f 591/1745/231 588/1746/228 761/1747/232 +f 588/1746/228 749/1748/198 761/1747/232 +f 744/1576/199 593/1749/233 755/1577/213 +f 593/1749/233 591/1745/231 761/1747/232 +f 755/1577/213 593/1749/233 761/1747/232 +f 759/1750/234 751/1575/200 755/1577/213 +f 766/1751/235 767/1752/235 768/1753/235 +f 769/1754/236 770/1755/236 767/1752/236 +f 771/1756/237 772/1757/237 770/1755/237 +f 773/1758/238 774/1759/238 772/1757/238 +f 775/1760/239 776/1761/239 774/1759/239 +f 777/1762/240 778/1763/240 776/1761/240 +f 779/1764/241 780/1765/241 778/1763/241 +f 781/1766/242 782/1767/242 780/1765/242 +f 783/1768/243 784/1769/243 782/1767/243 +f 785/1770/244 786/1771/244 784/1769/244 +f 787/1772/245 788/1773/245 786/1771/245 +f 789/1774/246 790/1775/246 788/1773/246 +f 791/1776/247 792/1777/247 790/1775/247 +f 793/1778/248 794/1779/248 792/1777/248 +f 795/1780/249 796/1781/249 794/1779/249 +f 797/1782/250 798/1783/250 796/1781/250 +f 799/1784/251 800/1785/251 798/1783/251 +f 801/1786/252 802/1787/252 800/1785/252 +f 803/1788/253 804/1789/253 802/1787/253 +f 805/1790/254 806/1791/254 804/1789/254 +f 807/1792/255 808/1793/255 806/1791/255 +f 809/1794/256 810/1795/256 808/1793/256 +f 811/1796/257 812/1797/257 810/1795/257 +f 813/1798/258 814/1799/258 812/1797/258 +f 815/1800/251 816/1801/251 817/1802/251 +f 815/1800/2 769/1803/2 766/1804/2 +f 817/1802/2 771/1805/2 769/1803/2 +f 818/1806/2 771/1805/2 819/1807/2 +f 820/1808/2 773/1809/2 818/1806/2 +f 820/1808/2 777/1810/2 775/1811/2 +f 821/1812/2 779/1813/2 777/1810/2 +f 822/1814/2 779/1813/2 823/1815/2 +f 824/1816/2 781/1817/2 822/1814/2 +f 824/1816/2 785/1818/2 783/1819/2 +f 825/1820/2 787/1821/2 785/1818/2 +f 826/1822/2 787/1821/2 827/1823/2 +f 828/1824/2 789/1825/2 826/1822/2 +f 828/1824/2 793/1826/2 791/1827/2 +f 829/1828/2 795/1829/2 793/1826/2 +f 830/1830/2 795/1829/2 831/1831/2 +f 832/1832/2 797/1833/2 830/1830/2 +f 832/1832/2 801/1834/2 799/1835/2 +f 833/1836/2 803/1837/2 801/1834/2 +f 834/1838/2 803/1837/2 835/1839/2 +f 836/1840/2 805/1841/2 834/1838/2 +f 836/1840/2 809/1842/2 807/1843/2 +f 837/1844/2 811/1845/2 809/1842/2 +f 838/1846/2 813/1847/2 811/1845/2 +f 839/1848/2 840/1849/2 813/1847/2 +f 841/1850/246 842/1851/246 843/1852/246 +f 831/1831/259 844/1853/259 830/1830/259 +f 817/1802/252 845/1854/252 819/1807/252 +f 830/1830/260 846/1855/260 832/1832/260 +f 819/1807/253 847/1856/253 818/1806/253 +f 832/1832/235 848/1857/235 833/1836/235 +f 818/1806/254 849/1858/254 820/1808/254 +f 833/1836/236 850/1859/236 835/1839/236 +f 820/1808/255 851/1860/255 821/1812/255 +f 835/1839/237 852/1861/237 834/1838/237 +f 821/1812/256 853/1862/256 823/1815/256 +f 834/1838/238 854/1863/238 836/1840/238 +f 823/1815/257 855/1864/257 822/1814/257 +f 836/1840/239 856/1865/239 837/1844/239 +f 822/1814/258 857/1866/258 824/1816/258 +f 837/1844/240 858/1867/240 838/1846/240 +f 824/1816/261 859/1868/261 825/1820/261 +f 838/1846/241 860/1869/241 839/1848/241 +f 825/1820/262 861/1870/262 827/1823/262 +f 843/1852/247 862/1871/247 863/1872/247 +f 839/1848/242 864/1873/242 865/1874/242 +f 827/1823/263 866/1875/263 826/1822/263 +f 863/1872/248 867/1876/248 868/1877/248 +f 865/1874/243 869/1878/243 870/1879/243 +f 826/1822/264 871/1880/264 828/1824/264 +f 868/1877/249 872/1881/249 873/1882/249 +f 870/1879/244 874/1883/244 875/1884/244 +f 828/1824/265 876/1885/265 829/1828/265 +f 873/1882/250 877/1886/250 815/1800/250 +f 875/1884/245 878/1887/245 841/1850/245 +f 829/1828/266 879/1888/266 831/1831/266 +f 880/1889/8 768/1890/267 767/1891/8 +f 880/1889/8 770/1892/8 881/1893/8 +f 882/1894/8 770/1892/8 772/1895/8 +f 882/1894/8 774/1896/8 883/1897/8 +f 884/1898/8 774/1896/8 776/1899/8 +f 884/1898/8 778/1900/8 885/1901/8 +f 885/1901/8 780/1902/8 886/1903/8 +f 886/1903/8 782/1904/8 887/1905/8 +f 888/1906/8 782/1904/8 784/1907/8 +f 888/1906/8 786/1908/8 889/1909/8 +f 890/1910/8 786/1908/8 788/1911/8 +f 890/1910/8 790/1912/8 891/1913/8 +f 892/1914/8 790/1912/8 792/1915/8 +f 892/1914/8 794/1916/8 893/1917/8 +f 894/1918/8 794/1916/8 796/1919/8 +f 894/1918/8 798/1920/8 895/1921/8 +f 896/1922/8 798/1920/8 800/1923/8 +f 896/1922/8 802/1924/8 897/1925/8 +f 898/1926/8 802/1924/8 804/1927/8 +f 898/1926/8 806/1928/8 899/1929/8 +f 900/1930/8 806/1928/8 808/1931/8 +f 900/1930/8 810/1932/8 901/1933/8 +f 902/1934/8 810/1932/8 812/1935/8 +f 902/1934/8 814/1936/268 903/1937/8 +f 904/1938/25 905/1939/25 906/1940/25 +f 907/1941/2 908/1942/2 905/1939/2 +f 909/1943/9 910/1944/9 908/1942/9 +f 911/1945/8 906/1946/8 910/1944/8 +f 908/1942/6 906/1947/6 905/1948/6 +f 766/1751/269 912/1949/270 913/1950/269 +f 814/1799/271 914/1951/261 915/1952/261 +f 863/1872/2 916/1953/2 843/1852/2 +f 868/1877/2 917/1954/2 863/1872/2 +f 873/1882/2 918/1955/2 868/1877/2 +f 815/1800/2 913/1956/2 919/1957/2 +f 865/1874/2 920/1958/2 914/1959/2 +f 870/1879/2 921/1960/2 920/1958/2 +f 875/1884/2 922/1961/2 921/1960/2 +f 841/1850/2 916/1953/2 922/1961/2 +f 923/1962/8 924/1963/8 925/1964/8 +f 926/1965/8 925/1964/8 927/1966/8 +f 928/1967/8 927/1966/8 929/1968/8 +f 930/1969/8 928/1967/8 929/1968/8 +f 903/1937/8 814/1936/268 915/1970/272 +f 931/1971/8 932/1972/8 933/1973/8 +f 934/1974/8 935/1975/8 931/1971/8 +f 924/1963/8 936/1976/8 934/1974/8 +f 912/1977/26 911/1945/26 909/1943/26 +f 907/1978/26 915/1979/26 914/1980/26 +f 766/1751/235 769/1754/235 767/1752/235 +f 769/1754/236 771/1756/236 770/1755/236 +f 771/1756/237 773/1758/237 772/1757/237 +f 773/1758/238 775/1760/238 774/1759/238 +f 775/1760/239 777/1762/239 776/1761/239 +f 777/1762/240 779/1764/240 778/1763/240 +f 779/1764/241 781/1766/241 780/1765/241 +f 781/1766/242 783/1768/242 782/1767/242 +f 783/1768/243 785/1770/243 784/1769/243 +f 785/1770/244 787/1772/244 786/1771/244 +f 787/1772/245 789/1774/245 788/1773/245 +f 789/1774/246 791/1776/246 790/1775/246 +f 791/1776/247 793/1778/247 792/1777/247 +f 793/1778/248 795/1780/248 794/1779/248 +f 795/1780/249 797/1782/249 796/1781/249 +f 797/1782/250 799/1784/250 798/1783/250 +f 799/1784/251 801/1786/251 800/1785/251 +f 801/1786/252 803/1788/252 802/1787/252 +f 803/1788/253 805/1790/253 804/1789/253 +f 805/1790/254 807/1792/254 806/1791/254 +f 807/1792/255 809/1794/255 808/1793/255 +f 809/1794/256 811/1796/256 810/1795/256 +f 811/1796/257 813/1798/257 812/1797/257 +f 813/1798/258 840/1981/258 814/1799/258 +f 815/1800/251 877/1886/251 816/1801/251 +f 815/1800/2 817/1802/2 769/1803/2 +f 817/1802/2 819/1807/2 771/1805/2 +f 818/1806/2 773/1809/2 771/1805/2 +f 820/1808/2 775/1811/2 773/1809/2 +f 820/1808/2 821/1812/2 777/1810/2 +f 821/1812/2 823/1815/2 779/1813/2 +f 822/1814/2 781/1817/2 779/1813/2 +f 824/1816/2 783/1819/2 781/1817/2 +f 824/1816/2 825/1820/2 785/1818/2 +f 825/1820/2 827/1823/2 787/1821/2 +f 826/1822/2 789/1825/2 787/1821/2 +f 828/1824/2 791/1827/2 789/1825/2 +f 828/1824/2 829/1828/2 793/1826/2 +f 829/1828/2 831/1831/2 795/1829/2 +f 830/1830/2 797/1833/2 795/1829/2 +f 832/1832/2 799/1835/2 797/1833/2 +f 832/1832/2 833/1836/2 801/1834/2 +f 833/1836/2 835/1839/2 803/1837/2 +f 834/1838/2 805/1841/2 803/1837/2 +f 836/1840/2 807/1843/2 805/1841/2 +f 836/1840/2 837/1844/2 809/1842/2 +f 837/1844/2 838/1846/2 811/1845/2 +f 838/1846/2 839/1848/2 813/1847/2 +f 839/1848/2 865/1874/2 840/1849/2 +f 841/1850/246 878/1887/246 842/1851/246 +f 831/1831/259 879/1888/259 844/1853/259 +f 817/1802/252 816/1801/252 845/1854/252 +f 830/1830/260 844/1853/260 846/1855/260 +f 819/1807/253 845/1854/253 847/1856/253 +f 832/1832/235 846/1855/235 848/1857/235 +f 818/1806/254 847/1856/254 849/1858/254 +f 833/1836/236 848/1857/236 850/1859/236 +f 820/1808/255 849/1858/255 851/1860/255 +f 835/1839/237 850/1859/237 852/1861/237 +f 821/1812/256 851/1860/256 853/1862/256 +f 834/1838/238 852/1861/238 854/1863/238 +f 823/1815/257 853/1862/257 855/1864/257 +f 836/1840/239 854/1863/239 856/1865/239 +f 822/1814/258 855/1864/258 857/1866/258 +f 837/1844/240 856/1865/240 858/1867/240 +f 824/1816/261 857/1866/261 859/1868/261 +f 838/1846/241 858/1867/241 860/1869/241 +f 825/1820/262 859/1868/262 861/1870/262 +f 843/1852/247 842/1851/247 862/1871/247 +f 839/1848/242 860/1869/242 864/1873/242 +f 827/1823/263 861/1870/263 866/1875/263 +f 863/1872/248 862/1871/248 867/1876/248 +f 865/1874/243 864/1873/243 869/1878/243 +f 826/1822/264 866/1875/264 871/1880/264 +f 868/1877/249 867/1876/249 872/1881/249 +f 870/1879/244 869/1878/244 874/1883/244 +f 828/1824/265 871/1880/265 876/1885/265 +f 873/1882/250 872/1881/250 877/1886/250 +f 875/1884/245 874/1883/245 878/1887/245 +f 829/1828/266 876/1885/266 879/1888/266 +f 880/1889/8 930/1969/8 768/1890/267 +f 880/1889/8 767/1891/8 770/1892/8 +f 882/1894/8 881/1893/8 770/1892/8 +f 882/1894/8 772/1895/8 774/1896/8 +f 884/1898/8 883/1897/8 774/1896/8 +f 884/1898/8 776/1899/8 778/1900/8 +f 885/1901/8 778/1900/8 780/1902/8 +f 886/1903/8 780/1902/8 782/1904/8 +f 888/1906/8 887/1905/8 782/1904/8 +f 888/1906/8 784/1907/8 786/1908/8 +f 890/1910/8 889/1909/8 786/1908/8 +f 890/1910/8 788/1911/8 790/1912/8 +f 892/1914/8 891/1913/8 790/1912/8 +f 892/1914/8 792/1915/8 794/1916/8 +f 894/1918/8 893/1917/8 794/1916/8 +f 894/1918/8 796/1919/8 798/1920/8 +f 896/1922/8 895/1921/8 798/1920/8 +f 896/1922/8 800/1923/8 802/1924/8 +f 898/1926/8 897/1925/8 802/1924/8 +f 898/1926/8 804/1927/8 806/1928/8 +f 900/1930/8 899/1929/8 806/1928/8 +f 900/1930/8 808/1931/8 810/1932/8 +f 902/1934/8 901/1933/8 810/1932/8 +f 902/1934/8 812/1935/8 814/1936/268 +f 904/1938/25 907/1941/25 905/1939/25 +f 907/1941/2 909/1943/2 908/1942/2 +f 909/1943/9 911/1945/9 910/1944/9 +f 911/1945/8 904/1982/8 906/1946/8 +f 908/1942/6 910/1944/6 906/1947/6 +f 766/1751/269 768/1753/270 912/1949/270 +f 814/1799/271 840/1981/261 914/1951/261 +f 863/1872/2 917/1954/2 916/1953/2 +f 868/1877/2 918/1955/2 917/1954/2 +f 873/1882/2 919/1957/2 918/1955/2 +f 919/1957/2 873/1882/2 815/1800/2 +f 815/1800/2 766/1804/2 913/1956/2 +f 914/1959/2 840/1849/2 865/1874/2 +f 865/1874/2 870/1879/2 920/1958/2 +f 870/1879/2 875/1884/2 921/1960/2 +f 875/1884/2 841/1850/2 922/1961/2 +f 841/1850/2 843/1852/2 916/1953/2 +f 923/1962/8 937/1983/8 924/1963/8 +f 926/1965/8 923/1962/8 925/1964/8 +f 928/1967/8 926/1965/8 927/1966/8 +f 929/1968/8 912/1984/273 930/1969/8 +f 912/1984/273 768/1890/267 930/1969/8 +f 915/1970/272 933/1973/8 903/1937/8 +f 933/1973/8 932/1972/8 903/1937/8 +f 931/1971/8 935/1975/8 932/1972/8 +f 934/1974/8 936/1976/8 935/1975/8 +f 924/1963/8 937/1983/8 936/1976/8 +f 933/1985/26 915/1979/26 904/1986/26 +f 909/1943/26 907/1978/26 916/1987/26 +f 907/1978/26 914/1980/26 920/1988/26 +f 920/1988/26 921/1989/26 907/1978/26 +f 921/1989/26 922/1990/26 907/1978/26 +f 907/1978/26 922/1990/26 916/1987/26 +f 933/1985/26 904/1986/26 931/1991/26 +f 904/1986/26 911/1945/26 924/1992/26 +f 931/1991/26 904/1986/26 934/1993/26 +f 924/1992/26 934/1993/26 904/1986/26 +f 916/1987/26 917/1994/26 909/1943/26 +f 917/1994/26 918/1995/26 909/1943/26 +f 929/1996/26 927/1997/26 911/1945/26 +f 927/1997/26 925/1998/26 911/1945/26 +f 925/1998/26 924/1992/26 911/1945/26 +f 918/1995/26 919/1999/26 909/1943/26 +f 919/1999/26 913/2000/26 909/1943/26 +f 912/1977/26 929/1996/26 911/1945/26 +f 913/2000/26 912/1977/26 909/1943/26 +f 907/1978/26 904/1986/26 915/1979/26 +f 938/2001/274 939/2002/274 940/2003/274 +f 939/2002/275 941/2004/275 940/2003/275 +f 942/2005/276 943/2006/276 941/2004/276 +f 944/2007/277 938/2008/277 943/2006/277 +f 941/2004/6 938/2009/6 940/2010/6 +f 939/2011/26 944/2007/26 942/2005/26 +f 945/2012/278 946/2013/278 947/2014/278 +f 946/2013/279 948/2015/279 947/2014/279 +f 949/2016/280 950/2017/280 948/2015/280 +f 951/2018/281 945/2019/282 950/2020/282 +f 952/2021/6 953/2022/6 954/2023/6 +f 946/2024/26 951/2025/26 949/2016/26 +f 950/2017/282 953/2026/282 955/2027/282 +f 948/2015/280 955/2027/280 952/2021/280 +f 947/2014/279 952/2021/279 954/2028/279 +f 953/2029/278 947/2014/278 954/2028/278 +f 956/2030/283 957/2031/283 958/2032/283 +f 958/2032/284 959/2033/284 960/2034/284 +f 959/2033/285 961/2035/285 960/2034/286 +f 962/2036/287 956/2037/287 961/2035/287 +f 960/2034/288 956/2038/288 958/2039/288 +f 957/2040/289 962/2036/289 959/2033/289 +f 963/2041/290 964/2042/290 965/2043/290 +f 964/2042/291 966/2044/291 965/2043/291 +f 967/2045/292 968/2046/292 966/2044/292 +f 969/2047/293 963/2048/293 968/2046/293 +f 966/2044/294 963/2049/294 965/2050/294 +f 964/2051/295 969/2047/295 967/2045/295 +f 938/2001/274 970/2052/274 939/2002/274 +f 939/2002/275 942/2005/275 941/2004/275 +f 942/2005/276 944/2007/276 943/2006/276 +f 944/2007/277 970/2053/277 938/2008/277 +f 941/2004/6 943/2006/6 938/2009/6 +f 939/2011/26 970/2054/26 944/2007/26 +f 945/2012/278 971/2055/278 946/2013/278 +f 946/2013/279 949/2016/279 948/2015/279 +f 949/2016/280 951/2025/280 950/2017/280 +f 951/2018/281 971/2056/281 945/2019/282 +f 952/2021/6 955/2027/6 953/2022/6 +f 946/2024/26 971/2057/26 951/2025/26 +f 950/2017/282 945/2058/282 953/2026/282 +f 948/2015/280 950/2017/280 955/2027/280 +f 947/2014/279 948/2015/279 952/2021/279 +f 953/2029/278 945/2012/278 947/2014/278 +f 956/2030/283 972/2059/283 957/2031/283 +f 958/2032/284 957/2031/284 959/2033/284 +f 959/2033/285 962/2036/285 961/2035/285 +f 962/2036/287 972/2060/287 956/2037/287 +f 960/2034/288 961/2035/288 956/2038/288 +f 957/2040/289 972/2061/289 962/2036/289 +f 963/2041/290 973/2062/290 964/2042/290 +f 964/2042/291 967/2045/291 966/2044/291 +f 967/2045/292 969/2047/292 968/2046/292 +f 969/2047/293 973/2063/293 963/2048/293 +f 966/2044/294 968/2046/294 963/2049/294 +f 964/2051/295 973/2064/295 969/2047/295 +o Slide_Cylinder +v 1.272063 1.594606 -0.244676 +v 1.272063 1.368420 -0.338365 +v 1.272063 1.462109 -0.564550 +v 0.647653 0.965039 -0.742828 +v 0.711569 1.012017 5.211916 +v 0.647653 0.965039 5.211916 +v 0.711569 1.012017 -0.742828 +v 0.770475 1.088305 5.211916 +v 0.770475 1.088305 -0.742828 +v 0.822106 1.190971 5.211916 +v 0.822106 1.190971 -0.742828 +v 0.864478 1.316070 5.211916 +v 0.921900 1.774713 -0.742828 +v 0.915353 1.918690 3.212208 +v 0.921900 1.774713 3.711916 +v 0.915353 1.935767 -0.742828 +v 0.895964 2.073555 3.212208 +v 0.895964 2.090632 -0.742828 +v 0.864478 2.216279 3.212208 +v 0.864478 2.233356 -0.742828 +v 0.822106 2.341378 3.212208 +v 0.822106 2.358455 -0.742828 +v 0.770475 2.444044 3.212208 +v 0.770475 2.461121 -0.742828 +v 0.711569 2.520332 3.212208 +v 0.711569 2.537409 -0.742828 +v 0.647653 2.567310 3.212208 +v 0.904673 1.528358 -0.577728 +v 1.272063 1.494584 -0.574402 +v 0.900445 1.494584 -0.574402 +v 0.896379 1.462109 -0.564550 +v 1.272063 1.432180 -0.548553 +v 0.890093 1.432180 -0.548553 +v 0.895964 1.458794 -0.562778 +v 1.272063 1.405947 -0.527024 +v 0.884306 1.405947 -0.527024 +v 1.272063 1.384418 -0.500791 +v 0.879556 1.384418 -0.500791 +v 1.272063 1.368420 -0.470861 +v 0.876027 1.368420 -0.470861 +v 1.272063 1.358569 -0.438386 +v 0.873854 1.358569 -0.438386 +v 1.272063 1.355243 -0.404613 +v 0.873120 1.355243 -0.404613 +v 0.873854 1.358569 -0.370840 +v 1.272063 1.358569 -0.370840 +v 0.876027 1.368420 -0.338365 +v 0.879556 1.384418 -0.308436 +v 1.272063 1.384418 -0.308436 +v 0.884306 1.405947 -0.282203 +v 1.272063 1.405947 -0.282203 +v 0.890093 1.432180 -0.260674 +v 1.272063 1.432180 -0.260674 +v 0.896379 1.462109 -0.244676 +v 0.895964 1.458794 -0.246449 +v 1.272063 1.462109 -0.244676 +v 0.900445 1.494585 -0.234825 +v 1.272063 1.494585 -0.234825 +v 0.904673 1.528358 -0.231499 +v 1.272063 1.528358 -0.231499 +v 0.908902 1.562131 -0.234825 +v 1.272063 1.562131 -0.234825 +v 0.912967 1.594606 -0.244676 +v 1.272063 1.624535 -0.260674 +v 0.915795 1.624535 -0.260674 +v 0.915353 1.613659 -0.254860 +v 0.916861 1.650768 -0.282203 +v 1.272063 1.650768 -0.282203 +v 0.917736 1.672297 -0.308436 +v 1.272063 1.672297 -0.308436 +v 0.918387 1.688295 -0.338366 +v 1.272063 1.688295 -0.338366 +v 0.918787 1.698146 -0.370841 +v 1.272063 1.698146 -0.370841 +v 0.918922 1.701472 -0.404613 +v 1.272063 1.698146 -0.438387 +v 0.918787 1.698146 -0.438387 +v 1.272063 1.688294 -0.470862 +v 0.918387 1.688294 -0.470862 +v 1.272063 1.672297 -0.500791 +v 0.917736 1.672297 -0.500791 +v 1.272063 1.650768 -0.527024 +v 0.916861 1.650768 -0.527024 +v 1.272063 1.624535 -0.548553 +v 0.915795 1.624535 -0.548553 +v 1.272063 1.594605 -0.564551 +v 0.912967 1.594605 -0.564551 +v 0.915353 1.613659 -0.554366 +v 1.272063 1.562130 -0.574402 +v 0.908902 1.562130 -0.574402 +v 1.272063 1.528358 -0.577728 +v 0.864478 1.316070 -0.742828 +v 0.895964 1.458794 5.211916 +v 0.915353 1.613659 -0.742828 +v 1.272063 1.701472 -0.404613 +v 0.647653 2.584387 -0.742828 +v 0.895964 1.458794 -0.742828 +v 0.915353 1.613659 5.211916 +v 0.581182 0.949177 5.211916 +v 0.581182 0.949177 -0.742828 +v 0.581182 2.583172 3.212208 +v 0.581182 2.600249 -0.742828 +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 +vn 1.0000 0.0000 0.0000 +vn 0.5922 -0.8058 -0.0000 +vn 0.7915 -0.6112 -0.0000 +vn 0.8934 -0.4493 -0.0000 +vn 0.9471 -0.3208 -0.0000 +vn 0.9992 0.0407 0.0002 +vn 0.9990 0.0454 0.0000 +vn 0.9923 0.1242 0.0005 +vn 0.9765 0.2154 0.0009 +vn 0.9471 0.3208 0.0014 +vn 0.8934 0.4493 0.0019 +vn 0.7915 0.6112 0.0026 +vn 0.5922 0.8058 0.0035 +vn 0.0000 -0.0980 -0.9952 +vn 0.0000 -0.2903 -0.9569 +vn -0.0000 -0.4714 -0.8819 +vn 0.0000 -0.6344 -0.7730 +vn 0.0000 -0.7730 -0.6344 +vn 0.0000 -0.8819 -0.4714 +vn 0.0000 -0.9569 -0.2903 +vn 0.0000 -0.9952 -0.0980 +vn 0.0000 -0.9952 0.0980 +vn 0.0000 -0.9569 0.2903 +vn 0.0000 -0.8819 0.4714 +vn 0.0000 -0.7730 0.6344 +vn 0.0000 -0.6344 0.7730 +vn -0.0000 -0.4714 0.8819 +vn -0.0000 -0.4716 0.8818 +vn -0.0000 -0.4715 0.8819 +vn 0.0000 -0.2903 0.9569 +vn 0.0000 -0.0980 0.9952 +vn 0.0000 0.0980 0.9952 +vn 0.0000 0.2903 0.9569 +vn 0.0000 0.4714 0.8819 +vn 0.0000 0.6344 0.7730 +vn 0.0000 0.7730 0.6344 +vn 0.0000 0.8819 0.4714 +vn 0.0000 0.9569 0.2903 +vn 0.0000 0.9952 0.0980 +vn 0.0000 0.9952 -0.0980 +vn 0.0000 0.9569 -0.2903 +vn 0.0000 0.8819 -0.4714 +vn 0.0000 0.7730 -0.6344 +vn 0.0000 0.6344 -0.7730 +vn -0.0000 0.4714 -0.8819 +vn 0.0000 0.2903 -0.9569 +vn 0.0000 0.0980 -0.9952 +vn 0.9765 -0.2154 -0.0000 +vn 0.9766 -0.2150 -0.0000 +vn 0.9923 -0.1242 0.0000 +vn 0.9923 -0.1243 -0.0000 +vn 0.9992 -0.0406 0.0000 +vn 0.9992 -0.0407 -0.0000 +vn 0.9992 0.0406 0.0002 +vn 0.9765 -0.2155 0.0000 +s 1 +f 974/2065/296 975/2066/296 976/2067/296 +f 977/2068/297 978/2069/297 979/2070/297 +f 980/2071/298 981/2072/298 978/2069/298 +f 982/2073/299 983/2074/299 981/2072/299 +f 984/2075/300 985/2076/300 983/2074/300 +f 986/2077/301 987/2078/302 988/2079/302 +f 989/2080/303 990/2081/303 987/2078/303 +f 991/2082/304 992/2083/304 990/2081/304 +f 993/2084/305 994/2085/305 992/2083/305 +f 995/2086/306 996/2087/306 994/2085/306 +f 997/2088/307 998/2089/307 996/2087/307 +f 999/2090/308 1000/2091/308 998/2089/308 +f 1001/2092/309 1002/2093/309 1003/2094/309 +f 1003/2094/310 976/2095/310 1004/2096/310 +f 1005/2097/311 1006/2098/311 1007/2099/311 +f 1006/2098/312 1008/2100/312 1009/2101/312 +f 1009/2101/313 1010/2102/313 1011/2103/313 +f 1011/2103/314 1012/2104/314 1013/2105/314 +f 1013/2105/315 1014/2106/315 1015/2107/315 +f 1015/2107/316 1016/2108/316 1017/2109/316 +f 1016/2108/317 1018/2110/317 1017/2109/317 +f 1019/2111/318 1020/2112/318 1018/2110/318 +f 975/2113/319 1021/2114/319 1020/2112/319 +f 1022/2115/320 1023/2116/320 1021/2114/320 +f 1024/2117/321 1025/2118/321 1023/2116/321 +f 1026/2119/322 1027/2120/323 1028/2121/324 +f 1029/2122/325 1030/2123/325 1027/2120/325 +f 1031/2124/326 1032/2125/326 1030/2123/326 +f 1033/2126/327 1034/2127/327 1032/2125/327 +f 1035/2128/328 1036/2129/328 1034/2127/328 +f 1037/2130/329 1038/2131/329 1039/2132/329 +f 1037/2130/330 1040/2133/330 1038/2131/330 +f 1041/2134/331 1042/2135/331 1040/2133/331 +f 1043/2136/332 1044/2137/332 1042/2135/332 +f 1045/2138/333 1046/2139/333 1044/2137/333 +f 1047/2140/334 1048/2141/334 1046/2139/334 +f 1048/2141/335 1049/2142/335 1050/2143/335 +f 1050/2143/336 1051/2144/336 1052/2145/336 +f 1052/2145/337 1053/2146/337 1054/2147/337 +f 1054/2147/338 1055/2148/338 1056/2149/338 +f 1056/2149/339 1057/2150/339 1058/2151/339 +f 1059/2152/340 1060/2153/340 1061/2154/340 +f 1060/2153/341 1062/2155/341 1063/2156/341 +f 1063/2156/342 1064/2157/342 1001/2158/342 +f 1065/2159/343 1017/2160/344 1018/2161/343 +f 1066/2162/345 1030/2163/345 1032/2164/345 +f 1067/2165/345 1063/2166/345 1001/2167/346 +f 986/2077/347 1048/2168/348 1050/2169/347 +f 976/2067/296 1002/2170/296 1064/2171/296 +f 1064/2171/296 1062/2172/296 1059/2173/296 +f 1059/2173/296 1057/2174/296 1051/2175/296 +f 1057/2174/296 1055/2176/296 1051/2175/296 +f 1055/2176/296 1053/2177/296 1051/2175/296 +f 1051/2175/296 1049/2178/296 1068/2179/296 +f 1068/2179/296 1047/2180/296 1045/2181/296 +f 1045/2181/296 1043/2182/296 1041/2183/296 +f 1041/2183/296 1037/2184/296 974/2065/296 +f 974/2065/296 1035/2185/296 1033/2186/296 +f 1033/2186/296 1031/2187/296 1029/2188/296 +f 1029/2188/296 1026/2189/296 975/2066/296 +f 1026/2189/296 1024/2190/296 975/2066/296 +f 1024/2190/296 1022/2191/296 975/2066/296 +f 975/2066/296 1019/2192/296 1016/2193/296 +f 1016/2193/296 1014/2194/296 1012/2195/296 +f 1012/2195/296 1010/2196/296 976/2067/296 +f 1010/2196/296 1008/2197/296 976/2067/296 +f 1008/2197/296 1005/2198/296 976/2067/296 +f 976/2067/296 1064/2171/296 1051/2175/296 +f 1064/2171/296 1059/2173/296 1051/2175/296 +f 1051/2175/296 1068/2179/296 1045/2181/296 +f 1045/2181/296 1041/2183/296 1051/2175/296 +f 1041/2183/296 974/2065/296 1051/2175/296 +f 974/2065/296 1033/2186/296 975/2066/296 +f 1033/2186/296 1029/2188/296 975/2066/296 +f 975/2066/296 1016/2193/296 976/2067/296 +f 1016/2193/296 1012/2195/296 976/2067/296 +f 976/2067/296 1051/2175/296 974/2065/296 +f 977/2068/297 980/2071/297 978/2069/297 +f 980/2071/298 982/2073/298 981/2072/298 +f 982/2073/299 984/2075/299 983/2074/299 +f 984/2075/300 1065/2159/300 985/2076/300 +f 986/2077/301 989/2080/349 987/2078/302 +f 989/2080/303 991/2082/303 990/2081/303 +f 991/2082/304 993/2084/304 992/2083/304 +f 993/2084/305 995/2086/305 994/2085/305 +f 995/2086/306 997/2088/306 996/2087/306 +f 997/2088/307 999/2090/307 998/2089/307 +f 999/2090/308 1069/2199/308 1000/2091/308 +f 1001/2092/309 1064/2200/309 1002/2093/309 +f 1003/2094/310 1002/2093/310 976/2095/310 +f 1007/2099/311 1004/2096/311 1005/2097/311 +f 1004/2096/311 976/2095/311 1005/2097/311 +f 1006/2098/312 1005/2097/312 1008/2100/312 +f 1009/2101/313 1008/2100/313 1010/2102/313 +f 1011/2103/314 1010/2102/314 1012/2104/314 +f 1013/2105/315 1012/2104/315 1014/2106/315 +f 1015/2107/316 1014/2106/316 1016/2108/316 +f 1016/2108/317 1019/2111/317 1018/2110/317 +f 1019/2111/318 975/2113/318 1020/2112/318 +f 975/2113/319 1022/2115/319 1021/2114/319 +f 1022/2115/320 1024/2117/320 1023/2116/320 +f 1024/2117/321 1026/2119/321 1025/2118/321 +f 1028/2121/324 1025/2118/322 1026/2119/322 +f 1026/2119/322 1029/2122/322 1027/2120/323 +f 1029/2122/325 1031/2124/325 1030/2123/325 +f 1031/2124/326 1033/2126/326 1032/2125/326 +f 1033/2126/327 1035/2128/327 1034/2127/327 +f 1035/2128/328 974/2201/328 1036/2129/328 +f 1039/2132/329 1036/2129/329 974/2201/329 +f 974/2201/329 1037/2130/329 1039/2132/329 +f 1037/2130/330 1041/2134/330 1040/2133/330 +f 1041/2134/331 1043/2136/331 1042/2135/331 +f 1043/2136/332 1045/2138/332 1044/2137/332 +f 1045/2138/333 1047/2140/333 1046/2139/333 +f 1047/2140/334 1068/2202/334 1048/2141/334 +f 1048/2141/335 1068/2202/335 1049/2142/335 +f 1050/2143/336 1049/2142/336 1051/2144/336 +f 1052/2145/337 1051/2144/337 1053/2146/337 +f 1054/2147/338 1053/2146/338 1055/2148/338 +f 1056/2149/339 1055/2148/339 1057/2150/339 +f 1061/2154/340 1058/2151/340 1057/2150/340 +f 1057/2150/340 1059/2152/340 1061/2154/340 +f 1060/2153/341 1059/2152/341 1062/2155/341 +f 1063/2156/342 1062/2155/342 1064/2157/342 +f 1025/2203/343 1028/2204/343 985/2076/343 +f 1028/2204/343 1066/2162/343 985/2076/343 +f 985/2076/343 1065/2159/343 1018/2161/343 +f 1065/2159/343 1070/2205/343 1006/2206/343 +f 1070/2205/343 1007/2207/343 1006/2206/343 +f 1023/2208/343 1025/2203/343 985/2076/343 +f 1021/2209/343 1023/2208/343 985/2076/343 +f 1065/2159/343 1006/2206/343 1009/2210/343 +f 1065/2159/343 1009/2210/343 1011/2211/343 +f 1020/2212/343 1021/2209/343 985/2076/343 +f 1018/2161/343 1020/2212/343 985/2076/343 +f 1065/2159/343 1011/2211/343 1013/2213/343 +f 1065/2159/343 1013/2213/343 1015/2214/350 +f 1065/2159/343 1015/2214/350 1017/2160/344 +f 1036/2215/345 1039/2216/346 1071/2217/345 +f 1071/2217/345 1066/2162/345 1032/2164/346 +f 1066/2162/345 1028/2204/345 1027/2218/345 +f 1066/2162/345 1027/2218/345 1030/2163/345 +f 1034/2219/345 1036/2215/345 1071/2217/345 +f 1032/2164/346 1034/2219/345 1071/2217/345 +f 1004/2220/345 1007/2207/345 1070/2205/345 +f 1070/2205/345 1067/2165/345 1001/2167/345 +f 1067/2165/345 1061/2221/345 1060/2222/345 +f 1067/2165/345 1060/2222/345 1063/2166/345 +f 1003/2223/345 1004/2220/345 1070/2205/345 +f 1001/2167/345 1003/2223/345 1070/2205/345 +f 1058/2224/347 1061/2221/347 1067/2165/347 +f 986/2077/347 988/2079/347 1046/2225/347 +f 988/2079/347 1071/2217/347 1039/2216/347 +f 986/2077/347 1046/2225/347 1048/2168/348 +f 1039/2216/347 1038/2226/347 988/2079/347 +f 1038/2226/347 1040/2227/347 988/2079/347 +f 1058/2224/347 1067/2165/347 986/2077/347 +f 1056/2228/347 1058/2224/347 986/2077/347 +f 1040/2227/347 1042/2229/347 988/2079/347 +f 1042/2229/347 1044/2230/347 988/2079/347 +f 1054/2231/347 1056/2228/347 986/2077/347 +f 1052/2232/347 1054/2231/347 986/2077/347 +f 1044/2230/347 1046/2225/347 988/2079/347 +f 1050/2169/347 1052/2232/347 986/2077/347 +l 1075 1069 +l 1000 1074 +l 1072 979 +l 977 1073 +o Shell_Cylinder.002 +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 +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 +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 +s 1 +f 1076/2233/351 1077/2234/351 1078/2235/351 +f 1079/2236/352 1080/2237/352 1081/2238/352 +f 1082/2239/353 1083/2240/353 1080/2237/353 +f 1084/2241/354 1085/2242/354 1083/2240/354 +f 1086/2243/355 1087/2244/355 1085/2242/355 +f 1088/2245/356 1078/2235/356 1087/2244/356 +f 1089/2246/357 1090/2247/357 1077/2248/357 +f 1091/2249/358 1081/2238/358 1090/2247/358 +f 1085/2250/359 1087/2251/359 1078/2252/359 +f 1089/2253/360 1092/2254/360 1091/2255/360 +f 1091/2255/361 1093/2256/361 1079/2257/361 +f 1082/2258/362 1093/2259/362 1094/2260/362 +f 1084/2261/363 1094/2262/363 1095/2263/363 +f 1084/2261/364 1096/2264/364 1086/2265/364 +f 1086/2265/365 1097/2266/365 1088/2267/365 +f 1076/2268/366 1097/2269/366 1098/2270/366 +f 1089/2271/367 1098/2272/367 1099/2273/367 +f 1097/2274/368 1095/2275/368 1093/2276/368 +f 1076/2233/351 1089/2277/351 1077/2234/351 +f 1079/2236/352 1082/2239/352 1080/2237/352 +f 1082/2239/353 1084/2241/353 1083/2240/353 +f 1084/2241/354 1086/2243/354 1085/2242/354 +f 1086/2243/355 1088/2245/355 1087/2244/355 +f 1088/2245/356 1076/2233/356 1078/2235/356 +f 1089/2246/357 1091/2249/357 1090/2247/357 +f 1091/2249/358 1079/2236/358 1081/2238/358 +f 1078/2252/359 1077/2278/359 1080/2279/359 +f 1077/2278/359 1090/2280/359 1080/2279/359 +f 1090/2280/359 1081/2281/359 1080/2279/359 +f 1080/2279/359 1083/2282/359 1078/2252/359 +f 1083/2282/359 1085/2250/359 1078/2252/359 +f 1089/2253/360 1099/2283/360 1092/2254/360 +f 1091/2255/361 1092/2284/361 1093/2256/361 +f 1082/2258/362 1079/2257/362 1093/2259/362 +f 1084/2261/363 1082/2258/363 1094/2262/363 +f 1084/2261/364 1095/2285/364 1096/2264/364 +f 1086/2265/365 1096/2286/365 1097/2266/365 +f 1076/2268/366 1088/2267/366 1097/2269/366 +f 1089/2271/367 1076/2268/367 1098/2272/367 +f 1093/2276/368 1092/2287/368 1099/2288/368 +f 1099/2288/368 1098/2289/368 1097/2274/368 +f 1097/2274/368 1096/2290/368 1095/2275/368 +f 1095/2275/368 1094/2291/368 1093/2276/368 +f 1093/2276/368 1099/2288/368 1097/2274/368 diff --git a/src/main/resources/assets/hbm/models/weapons/coilgun.obj b/src/main/resources/assets/hbm/models/weapons/coilgun.obj index b24831496..849fa2f23 100644 --- a/src/main/resources/assets/hbm/models/weapons/coilgun.obj +++ b/src/main/resources/assets/hbm/models/weapons/coilgun.obj @@ -1,2935 +1,4917 @@ # Blender v2.79 (sub 0) OBJ File: 'coilgun.blend' # www.blender.org -o CanonBody_Cylinder.002 -v 1.103664 0.525584 2.500000 -v 1.292985 0.525584 2.500000 -v 1.292985 0.172030 2.646447 -v 1.103664 0.172030 2.646447 -v 1.103664 0.525584 3.500000 -v 1.292985 0.525584 3.500000 -v 1.292985 0.879137 3.353553 -v 1.103664 0.879137 3.353553 -v 1.292985 1.025584 3.000000 -v 1.103664 1.025584 3.000000 -v 1.503651 1.012795 3.000000 -v 1.503651 0.870094 2.655490 -v 1.509822 0.895986 2.629598 -v 1.509822 1.049411 3.000000 -v 1.080568 0.851567 3.325983 -v 1.080568 0.525584 3.461010 -v 1.292985 0.879137 2.646447 -v 1.286814 0.905708 2.619875 -v 1.286814 0.525584 2.462423 -v 1.286814 0.525584 3.537577 -v 1.286814 0.905708 3.380125 -v 1.503651 0.038372 3.000000 -v 1.503651 0.181073 3.344510 -v 1.509822 0.155181 3.370402 -v 1.509822 0.001756 3.000000 -v 1.503651 0.870094 3.344510 -v 1.509822 0.895986 3.370402 -v 1.503651 0.525584 3.487211 -v 1.669294 0.525584 3.401911 -v 1.669294 0.809777 3.284194 -v 1.503651 0.181073 2.655490 -v 1.503651 0.525584 2.512789 -v 1.669294 0.525584 2.598089 -v 1.669294 0.241390 2.715806 -v 1.669294 0.809777 2.715806 -v 1.669294 0.927494 3.000000 -v 1.669294 0.241390 3.284194 -v -0.603601 0.025584 3.000000 -v 1.044523 0.025584 3.000000 -v 1.044523 0.172030 3.353553 -v -0.603601 0.172030 3.353553 -v 0.951045 0.197436 3.364077 -v -0.460212 0.197436 3.364077 -v -0.476991 0.953734 3.173461 -v -0.388078 0.997935 3.101577 -v -0.603601 1.025584 3.000000 -v 1.044523 0.525584 3.500000 -v 1.068921 0.199748 3.325836 -v 1.068921 0.525584 3.460801 -v 0.810528 0.655494 2.553811 -v 1.044523 0.525584 2.500000 -v -0.603601 0.525584 2.500000 -v -0.388078 0.655494 2.553811 -v 1.068921 0.986385 3.000000 -v 1.068921 0.851420 2.674164 -v 1.044523 0.879137 2.646447 -v 1.044523 1.025584 3.000000 -v 0.969099 0.952228 2.898423 -v 0.899442 0.918248 2.838919 -v 0.985768 0.843292 2.683099 -v 1.068921 0.525584 2.539199 -v 1.044523 0.172030 2.646447 -v 1.068921 0.199748 2.674164 -v 1.068921 0.851420 3.325836 -v 1.044523 0.879137 3.353553 -v 1.103664 0.172030 3.353553 -v 1.080568 0.199600 3.325983 -v 1.080568 0.525584 2.538990 -v 1.080568 0.199600 2.674017 -v 1.080568 0.851567 2.674017 -v 1.080568 0.064574 3.000000 -v 1.068921 0.064782 3.000000 -v 0.899442 0.735289 2.586863 -v 0.810528 0.655494 3.378684 -v 0.899442 0.719760 3.368080 -v 0.984259 0.528318 3.436781 -v 0.899442 0.843292 3.316901 -v 0.985768 0.843292 3.316901 -v 0.899442 0.879137 2.646447 -v 1.286814 1.063161 3.000000 -v 1.320923 0.951339 3.425755 -v 1.320923 1.127692 3.000000 -v 1.286814 0.145459 2.619875 -v 1.320923 0.525584 2.397891 -v 1.320923 0.099829 2.574245 -v 1.509822 0.525584 2.476172 -v 1.475712 0.525584 2.413292 -v 1.475712 0.940449 2.585135 -v 1.286814 -0.011994 3.000000 -v 1.320923 -0.076525 3.000000 -v 1.509822 0.525584 3.523828 -v 1.475712 0.940449 3.414865 -v 1.475712 0.525584 3.586708 -v 1.509822 0.155181 2.629598 -v 1.320923 0.525584 3.602109 -v 1.320923 0.951339 2.574245 -v 1.475712 0.110718 2.585134 -v 1.475712 1.112292 3.000000 -v 1.475712 0.110718 3.414866 -v 1.669294 0.271118 2.745534 -v 1.669294 0.525584 2.640131 -v 1.423236 0.525584 2.699672 -v 1.423236 0.313220 2.787636 -v 1.669294 0.780049 2.745534 -v 1.669294 0.885452 3.000000 -v 1.669294 0.525584 3.359869 -v 1.669294 0.780049 3.254466 -v 1.669294 0.271118 3.254466 -v 1.423236 0.737947 2.787636 -v 1.423236 0.825911 3.000000 -v 1.657500 0.838523 3.000000 -v 1.657500 0.746865 2.778719 -v 1.423236 0.525584 3.300328 -v 1.423236 0.737947 3.212364 -v 1.657500 0.746865 3.221281 -v 1.657500 0.525584 3.312939 -v 1.657500 0.525584 3.252281 -v 1.657500 0.703973 3.178389 -v 1.657500 0.525584 2.687061 -v 1.657500 0.304302 2.778718 -v 1.423236 0.313220 3.212364 -v 1.657500 0.304302 3.221282 -v 1.657500 0.703973 2.821611 -v 1.657500 0.525584 2.747719 -v 1.657500 0.347194 2.821611 -v 1.657500 0.347194 3.178389 -v 1.432520 0.525584 2.830615 -v 1.432520 0.645357 2.880227 -v 1.651829 0.645357 2.880227 -v 1.651829 0.525584 2.830615 -v 1.657500 0.777864 3.000000 -v 1.432520 0.645357 3.119773 -v 1.432520 0.694968 3.000000 -v 1.432520 0.405810 2.880227 -v 1.432520 0.405810 3.119773 -v 1.432520 0.525584 3.169385 -v 1.657500 0.273303 3.000000 -v 1.432520 0.356199 3.000000 -v 1.651829 0.405810 2.880227 -v 1.651829 0.405810 3.119773 -v 1.651829 0.525584 3.169385 -v 1.651829 0.645357 3.119773 -v 1.651829 0.525394 2.905789 -v 1.127542 0.525394 2.905789 -v 1.127542 0.458777 2.933383 -v 1.651829 0.458777 2.933383 -v 1.127542 0.431184 3.000000 -v 1.651829 0.431184 3.000000 -v 1.127542 0.525394 3.094211 -v 1.127542 0.592011 3.066617 -v 1.651829 0.592011 3.066617 -v 1.651829 0.525394 3.094211 -v 1.651829 0.619605 3.000000 -v 1.127542 0.619605 3.000000 -v 1.127542 0.592011 2.933383 -v 1.651829 0.592011 2.933383 -v 1.127542 0.458777 3.066617 -v -0.476991 0.837264 2.708140 -v -0.476991 0.714942 2.642628 -v -0.476991 0.735289 2.586863 -v -0.476991 0.879137 2.646447 -v -0.388078 0.997935 2.898423 -v 0.810528 0.997935 2.898423 -v 0.899442 0.879137 3.353553 -v 0.899442 0.735289 3.413137 -v -0.603601 0.879137 3.353553 -v -0.724548 0.869896 3.337075 -v -0.724548 0.532825 3.476694 -v -0.603601 0.525584 3.500000 -v -0.603601 0.879137 2.646447 -v -0.724548 0.869896 2.662932 -v -0.724548 1.009515 3.000004 -v -0.476991 0.953734 2.826539 -v 1.651829 0.356199 3.000000 -v 1.651829 0.458777 3.066617 -v -0.476991 0.735289 3.413137 -v -0.388078 0.655494 3.446189 -v -0.388078 0.633076 3.392654 -v -0.476991 0.714942 3.357372 -v -0.476991 0.837264 3.291860 -v -0.476991 0.879137 3.353553 -v -0.388078 0.944133 3.101577 -v 0.810528 0.952228 3.101577 -v 0.810528 0.997935 3.101577 -v -0.388078 0.944133 2.898423 -v 0.810528 0.952228 2.898423 -v 1.657500 0.212644 3.000000 -v 1.651829 0.694968 3.000000 -v -0.476991 0.926475 3.173461 -v 0.899442 0.843292 2.683099 -v 0.899442 0.953734 2.826539 -v 1.080568 0.986594 3.000000 -v 0.899442 0.719760 2.631920 -v 0.810528 0.655494 2.621316 -v 0.899442 0.918248 3.161081 -v 0.899442 0.953734 3.173461 -v 0.810528 0.655494 3.446189 -v -0.388078 0.633076 2.607346 -v 1.669294 0.123673 3.000000 -v 1.669294 0.165715 3.000000 -v 0.810528 0.526819 3.419828 -v 0.984259 0.528318 2.563219 -v 1.475712 -0.061125 3.000000 -v 1.423236 0.225256 3.000000 -v 0.810528 0.526819 2.580172 -v 0.969099 0.952228 3.101577 -v 0.984259 0.228435 2.674968 -v 0.984259 0.095638 3.005025 -v 0.984259 0.228435 3.325032 -v 1.103664 0.025584 3.000000 -v -0.534084 0.903408 3.173461 -v -0.534084 0.903408 2.826539 -v -0.476991 0.926475 2.826539 -v -0.548068 0.837264 3.291860 -v -0.548068 0.837264 2.708140 -v -0.550334 0.529772 2.566407 -v -0.550334 0.529772 3.433593 -v 1.292985 0.025584 3.000000 -v -0.550334 0.236472 3.339820 -v -0.550334 0.062663 3.005342 -v -0.550334 0.236472 2.660180 -v -0.388078 0.540720 3.422003 -v -0.388078 0.540720 2.577997 -v -0.388078 0.088709 3.007100 -v -0.388078 0.229035 2.676650 -v -0.388078 0.229035 3.323350 -v 0.810528 0.240010 2.699891 -v 0.810528 0.100279 3.006216 -v 0.810528 0.240010 3.300109 -v 0.678557 0.155552 2.534805 -v 0.674639 0.187997 2.501820 -v 0.674369 0.138402 2.298282 -v 0.678212 0.092276 2.275122 -v 0.951045 0.500178 3.489476 -v -0.460212 0.500178 3.489476 -v 0.674042 0.500178 2.510524 -v 0.671101 0.458113 2.482789 -v 0.645644 0.458113 2.482789 -v 0.641563 0.500178 2.510524 -v 0.674638 0.458293 2.409405 -v 0.671568 0.425284 2.403533 -v 0.641987 0.458293 2.409405 -v 0.645976 0.425284 2.403533 -v 0.646934 0.318302 2.224795 -v 0.643209 0.321800 2.181364 -v 0.649846 0.155552 2.534805 -v 0.652136 0.187997 2.501820 -v 0.645678 0.092117 2.275140 -v 0.648869 0.138277 2.298296 -v 0.673140 0.318430 2.224781 -v 0.949896 0.093608 2.274977 -v 0.951045 0.155552 2.534805 -v 0.676644 0.321964 2.181346 -v 0.948697 0.323297 2.181201 -v -0.460212 0.458293 2.409405 -v -0.460212 0.500178 2.510524 -v 0.346589 0.320346 2.181522 -v 0.273733 0.319982 2.181562 -v 0.188876 0.319558 2.181608 -v 0.127999 0.319254 2.181641 -v 0.051715 0.318872 2.181683 -v -0.004015 0.318594 2.181713 -v -0.060217 0.318313 2.181744 -v 0.003776 0.311542 2.203961 -v 0.003785 0.107850 2.287122 -v -0.004002 0.088898 2.275490 -v 0.044163 0.311789 2.203934 -v 0.045414 0.108104 2.287094 -v 0.053442 0.089185 2.275459 -v 0.275455 0.090295 2.275338 -v 0.286340 0.110829 2.286325 -v 0.335441 0.111139 2.286292 -v 0.346592 0.090651 2.275299 -v 0.335438 0.311680 2.204418 -v 0.285150 0.311362 2.204452 -v 0.128016 0.089558 2.275418 -v 0.137117 0.111516 2.285824 -v 0.181234 0.111785 2.285795 -v 0.190590 0.089871 2.275384 -v 0.180025 0.309468 2.205085 -v 0.137105 0.309206 2.205114 -v -0.059018 0.088623 2.275520 -v -0.460212 0.155552 2.534805 -v 0.951045 0.500178 2.510524 -v 0.951045 0.458293 2.409405 -v -0.460212 0.197436 2.635923 -v 1.292985 0.172030 3.353553 -v 1.103664 0.879137 2.646447 -v -0.603601 0.172030 2.646447 -v -0.460212 0.197436 2.635923 -v 0.951045 0.197436 2.635923 -v 1.286814 0.145459 3.380125 -v 1.320923 0.099829 3.425755 -v 0.951045 0.500178 2.510524 -v -0.460212 0.500178 2.510524 -v 0.951045 0.197436 2.635923 -v -0.724548 0.532825 2.523313 -v -0.724548 0.195753 2.662932 -v -0.724548 0.056134 3.000004 -v -0.724548 0.195753 3.337075 -v 0.951045 0.155552 3.465195 -v 0.951045 0.197436 3.364077 -v 0.951045 0.500178 3.489476 -v 0.951045 0.458293 3.590595 -v -0.460212 0.500178 3.489476 -v -0.460212 0.197436 3.364077 -v -0.460212 0.155552 3.465195 -v -0.460212 0.458293 3.590595 -v 0.674638 0.458293 3.590595 -v 0.676644 0.321964 3.818654 -v 0.948697 0.323297 3.818799 -v 0.674042 0.500178 3.489476 -v 0.678557 0.155552 3.465195 -v 0.649846 0.155552 3.465195 -v -0.059018 0.088623 3.724480 -v -0.004002 0.088898 3.724510 -v -0.004015 0.318594 3.818287 -v -0.060217 0.318313 3.818256 -v 0.645678 0.092117 3.724860 -v 0.346592 0.090651 3.724701 -v 0.275455 0.090295 3.724662 -v 0.190590 0.089871 3.724616 -v 0.128016 0.089558 3.724582 -v 0.053442 0.089185 3.724541 -v 0.051715 0.318872 3.818317 -v 0.044163 0.311789 3.796066 -v 0.045414 0.108104 3.712906 -v 0.127999 0.319254 3.818359 -v 0.188876 0.319558 3.818392 -v 0.137105 0.309206 3.794886 -v 0.180025 0.309468 3.794915 -v 0.273733 0.319982 3.818438 -v 0.346589 0.320346 3.818478 -v 0.285150 0.311362 3.795548 -v 0.335438 0.311680 3.795582 -v 0.643209 0.321800 3.818636 -v 0.137117 0.111516 3.714176 -v 0.181234 0.111785 3.714205 -v 0.286340 0.110829 3.713675 -v 0.335441 0.111139 3.713708 -v 0.003776 0.311542 3.796039 -v 0.003785 0.107850 3.712878 -v 0.671568 0.425284 3.596467 -v 0.673140 0.318430 3.775219 -v 0.641987 0.458293 3.590595 -v 0.641563 0.500178 3.489476 -v 0.648869 0.138277 3.701704 -v 0.646934 0.318302 3.775205 -v 0.678212 0.092276 3.724878 -v 0.674369 0.138402 3.701718 -v 0.949896 0.093608 3.725023 -v 0.645976 0.425284 3.596467 -v 0.645644 0.458113 3.517211 -v 0.671101 0.458113 3.517211 -v 0.652136 0.187997 3.498180 -v 0.674639 0.187997 3.498180 -vt 0.444444 0.967260 -vt 0.444444 0.999701 -vt 0.378868 0.999701 -vt 0.378868 0.967260 -vt 0.706744 0.967259 -vt 0.706744 0.999701 -vt 0.641169 0.999701 -vt 0.641169 0.967260 -vt 0.575594 0.999701 -vt 0.575594 0.967260 -vt 0.250824 0.305563 -vt 0.248404 0.241712 -vt 0.254201 0.239089 -vt 0.256804 0.307740 -vt 0.643725 0.959927 -vt 0.704187 0.959927 -vt 0.301657 0.158688 -vt 0.309096 0.223840 -vt 0.303372 0.226973 -vt 0.295374 0.156925 -vt 0.309096 0.399006 -vt 0.301657 0.464157 -vt 0.295374 0.465920 -vt 0.303372 0.395872 -vt 0.207069 0.603722 -vt 0.223821 0.542059 -vt 0.230137 0.541287 -vt 0.212125 0.607583 -vt 0.248403 0.381134 -vt 0.250824 0.317282 -vt 0.256804 0.315106 -vt 0.254201 0.383756 -vt 0.247516 0.392819 -vt 0.240267 0.456304 -vt 0.209672 0.447180 -vt 0.215652 0.394810 -vt 0.226462 0.092204 -vt 0.238498 0.154958 -vt 0.206574 0.155385 -vt 0.196646 0.103618 -vt 0.240267 0.166542 -vt 0.247516 0.230027 -vt 0.215652 0.228035 -vt 0.209672 0.175665 -vt 0.217205 0.374353 -vt 0.219202 0.321681 -vt 0.238498 0.467888 -vt 0.226462 0.530642 -vt 0.196646 0.519228 -vt 0.206574 0.467461 -vt 0.313293 0.285661 -vt 0.315256 0.001710 -vt 0.381187 0.002166 -vt 0.379225 0.286117 -vt 0.385814 0.018304 -vt 0.384134 0.261443 -vt 0.541993 0.266641 -vt 0.555933 0.251561 -vt 0.573731 0.287890 -vt 0.706744 0.950449 -vt 0.772319 0.950449 -vt 0.769748 0.957931 -vt 0.709314 0.957931 -vt 0.675439 0.043014 -vt 0.700338 0.002620 -vt 0.702300 0.286572 -vt 0.678306 0.250613 -vt 0.573023 0.957932 -vt 0.512589 0.957931 -vt 0.510019 0.950449 -vt 0.575594 0.950449 -vt 0.579242 0.518640 -vt 0.567657 0.507006 -vt 0.582693 0.478078 -vt 0.507448 0.957932 -vt 0.447014 0.957931 -vt 0.444444 0.950449 -vt 0.378868 0.950449 -vt 0.441873 0.957932 -vt 0.381439 0.957932 -vt 0.638598 0.957931 -vt 0.578164 0.957931 -vt 0.641169 0.950449 -vt 0.772319 0.967259 -vt 0.709300 0.959927 -vt 0.769762 0.959927 -vt 0.441887 0.959927 -vt 0.381425 0.959928 -vt 0.447000 0.959927 -vt 0.507462 0.959927 -vt 0.643739 0.957931 -vt 0.704173 0.957931 -vt 0.315850 0.959928 -vt 0.315864 0.957932 -vt 0.376298 0.957932 -vt 0.376312 0.959928 -vt 0.662036 0.025151 -vt 0.553298 0.626937 -vt 0.568495 0.615996 -vt 0.583228 0.650081 -vt 0.568261 0.593570 -vt 0.582779 0.593348 -vt 0.637541 0.000299 -vt 0.638364 0.022418 -vt 0.306751 0.316097 -vt 0.304080 0.386550 -vt 0.292159 0.390332 -vt 0.295150 0.311423 -vt 0.280683 0.078442 -vt 0.293963 0.147683 -vt 0.283200 0.154056 -vt 0.268327 0.076503 -vt 0.253643 0.231744 -vt 0.245850 0.163488 -vt 0.256851 0.158081 -vt 0.265580 0.234531 -vt 0.260091 0.001297 -vt 0.278575 0.069334 -vt 0.247624 0.000299 -vt 0.245850 0.459358 -vt 0.253643 0.391101 -vt 0.265580 0.388314 -vt 0.256851 0.464764 -vt 0.231797 0.088736 -vt 0.244737 0.156206 -vt 0.312696 0.318788 -vt 0.310212 0.384316 -vt 0.244737 0.466639 -vt 0.231797 0.534110 -vt 0.287081 0.079724 -vt 0.299432 0.144125 -vt 0.283200 0.468789 -vt 0.292159 0.232513 -vt 0.242358 0.082512 -vt 0.268495 0.311423 -vt 0.242358 0.540334 -vt 0.190629 0.107579 -vt 0.199519 0.153931 -vt 0.156352 0.158234 -vt 0.148933 0.119551 -vt 0.208727 0.226051 -vt 0.203372 0.179159 -vt 0.217205 0.248492 -vt 0.219202 0.301165 -vt 0.212447 0.298662 -vt 0.210659 0.251499 -vt 0.203372 0.443686 -vt 0.208727 0.396794 -vt 0.190629 0.515267 -vt 0.199518 0.468915 -vt 0.167634 0.257037 -vt 0.169126 0.296397 -vt 0.128994 0.298746 -vt 0.127439 0.257734 -vt 0.160890 0.434906 -vt 0.165358 0.395772 -vt 0.212447 0.324183 -vt 0.210659 0.371346 -vt 0.167634 0.365808 -vt 0.169126 0.326448 -vt 0.165358 0.227073 -vt 0.160890 0.187940 -vt 0.125520 0.390391 -vt 0.120864 0.431168 -vt 0.111774 0.426126 -vt 0.115527 0.393253 -vt 0.127439 0.365112 -vt 0.128994 0.324099 -vt 0.125519 0.232455 -vt 0.120864 0.191677 -vt 0.117035 0.166617 -vt 0.109305 0.126309 -vt 0.156352 0.464612 -vt 0.148933 0.503295 -vt 0.109305 0.496537 -vt 0.117035 0.456229 -vt 0.115527 0.229592 -vt 0.111774 0.196719 -vt 0.106855 0.164519 -vt 0.100623 0.132025 -vt 0.100623 0.490821 -vt 0.106855 0.458327 -vt 0.071929 0.206740 -vt 0.074449 0.228811 -vt 0.037112 0.233074 -vt 0.034592 0.211003 -vt 0.119247 0.327710 -vt 0.117994 0.360773 -vt 0.077505 0.353798 -vt 0.078346 0.331599 -vt 0.065836 0.166851 -vt 0.061652 0.145034 -vt 0.061651 0.477812 -vt 0.065836 0.455995 -vt 0.093280 0.522558 -vt 0.084605 0.554487 -vt 0.046731 0.538565 -vt 0.052555 0.517127 -vt 0.071929 0.416106 -vt 0.074449 0.394034 -vt 0.028929 0.173930 -vt 0.024744 0.152113 -vt 0.024744 0.470733 -vt 0.028928 0.448916 -vt 0.034592 0.411843 -vt 0.037112 0.389771 -vt 0.673665 0.673462 -vt 0.583825 0.673463 -vt 0.583825 0.661107 -vt 0.673665 0.661107 -vt 0.583825 0.648751 -vt 0.673665 0.648751 -vt 0.583825 0.722886 -vt 0.583825 0.710530 -vt 0.673665 0.710530 -vt 0.673665 0.722885 -vt 0.673665 0.698174 -vt 0.583825 0.698174 -vt 0.583825 0.685818 -vt 0.673665 0.685818 -vt 0.674263 0.657488 -vt 0.683000 0.648751 -vt 0.695355 0.648751 -vt 0.704092 0.657488 -vt 0.704092 0.669844 -vt 0.695355 0.678581 -vt 0.682999 0.678581 -vt 0.674263 0.669844 -vt 0.003304 0.848715 -vt 0.026872 0.851863 -vt 0.026964 0.862035 -vt 0.000299 0.861133 -vt 0.591528 0.251561 -vt 0.573730 0.006258 -vt 0.592097 0.045324 -vt 0.447123 0.002620 -vt 0.509921 0.000299 -vt 0.509097 0.022418 -vt 0.485425 0.025151 -vt 0.509283 0.287766 -vt 0.508527 0.308267 -vt 0.447395 0.307129 -vt 0.445161 0.286572 -vt 0.638178 0.287766 -vt 0.636248 0.308292 -vt 0.574805 0.308410 -vt 0.664090 0.265938 -vt 0.605468 0.266641 -vt 0.637900 0.266577 -vt 0.003538 0.113914 -vt 0.000299 0.101991 -vt 0.010465 0.094133 -vt 0.016290 0.115571 -vt 0.673665 0.735241 -vt 0.583825 0.735241 -vt 0.026978 0.828506 -vt 0.048218 0.828557 -vt 0.048221 0.838503 -vt 0.026647 0.838672 -vt 0.003011 0.841266 -vt 0.000299 0.828780 -vt 0.051046 0.800371 -vt 0.050910 0.791153 -vt 0.256297 0.789503 -vt 0.256413 0.797334 -vt 0.552466 0.552854 -vt 0.344608 0.554207 -vt 0.343802 0.517193 -vt 0.552492 0.518459 -vt 0.092829 0.560843 -vt 0.103590 0.521237 -vt 0.039952 0.352375 -vt 0.040793 0.330176 -vt 0.031344 0.793088 -vt 0.031275 0.788417 -vt 0.307992 0.821098 -vt 0.302442 0.827908 -vt 0.274466 0.818149 -vt 0.275890 0.811868 -vt 0.512575 0.959927 -vt 0.573037 0.959927 -vt 0.300046 0.855841 -vt 0.274150 0.862262 -vt 0.272670 0.854230 -vt 0.294909 0.848715 -vt 0.304080 0.236296 -vt 0.306751 0.306748 -vt 0.046731 0.084281 -vt 0.052555 0.105719 -vt 0.253531 0.867360 -vt 0.253849 0.855797 -vt 0.256296 0.811837 -vt 0.256412 0.804005 -vt 0.274467 0.783191 -vt 0.275891 0.789471 -vt 0.302443 0.773432 -vt 0.307993 0.780242 -vt 0.272433 0.842081 -vt 0.274101 0.834087 -vt 0.299839 0.841114 -vt 0.294536 0.848117 -vt 0.253607 0.828505 -vt 0.253654 0.840073 -vt 0.048200 0.862482 -vt 0.048437 0.852539 -vt 0.178202 0.590083 -vt 0.172502 0.585678 -vt 0.184876 0.540132 -vt 0.192021 0.539216 -vt 0.553418 0.650133 -vt 0.568459 0.455510 -vt 0.553313 0.444607 -vt 0.583141 0.421546 -vt 0.222184 0.008257 -vt 0.184876 0.082714 -vt 0.142159 0.090273 -vt 0.131832 0.052263 -vt 0.172502 0.037168 -vt 0.010465 0.528712 -vt 0.016290 0.507275 -vt 0.553438 0.421486 -vt 0.579294 0.552649 -vt 0.207069 0.019124 -vt 0.212125 0.015262 -vt 0.230137 0.081559 -vt 0.223821 0.080787 -vt 0.192021 0.083630 -vt 0.178202 0.032763 -vt 0.835337 0.959927 -vt 0.774876 0.959927 -vt 0.774889 0.957931 -vt 0.835324 0.957931 -vt 0.119247 0.295135 -vt 0.117994 0.262072 -vt 0.073156 0.623144 -vt 0.124543 0.642293 -vt 0.147298 0.698850 -vt 0.124543 0.753685 -vt 0.073156 0.772834 -vt 0.019183 0.752292 -vt 0.000299 0.715395 -vt 0.000299 0.680584 -vt 0.019183 0.643686 -vt 0.837894 0.967259 -vt 0.131833 0.570583 -vt 0.142159 0.532572 -vt 0.578150 0.959927 -vt 0.638612 0.959927 -vt 0.316588 0.566360 -vt 0.316135 0.505151 -vt 0.327032 0.505997 -vt 0.327205 0.565445 -vt 0.325199 0.589422 -vt 0.313422 0.589890 -vt 0.325128 0.481936 -vt 0.313293 0.481323 -vt 0.328396 0.458075 -vt 0.318149 0.422764 -vt 0.344931 0.443095 -vt 0.317500 0.648537 -vt 0.328166 0.613272 -vt 0.313293 0.999701 -vt 0.313293 0.967260 -vt 0.266568 0.002090 -vt 0.283760 0.065372 -vt 0.222185 0.614589 -vt 0.103590 0.101609 -vt 0.092829 0.062002 -vt 0.093280 0.100288 -vt 0.084605 0.068358 -vt 0.313293 0.950449 -vt 0.310212 0.238529 -vt 0.312696 0.304057 -vt 0.003538 0.508931 -vt 0.000299 0.520855 -vt 0.280629 0.647431 -vt 0.292214 0.667720 -vt 0.292214 0.727167 -vt 0.280630 0.747455 -vt 0.227938 0.771742 -vt 0.177679 0.755673 -vt 0.147896 0.698358 -vt 0.177679 0.639213 -vt 0.227938 0.623144 -vt 0.344518 0.628436 -vt 0.344864 0.645367 -vt 0.567679 0.564328 -vt 0.345386 0.426160 -vt 0.321379 0.309007 -vt 0.348181 0.311072 -vt 0.346814 0.370598 -vt 0.319918 0.372352 -vt 0.319035 0.699253 -vt 0.346062 0.701099 -vt 0.578629 0.309007 -vt 0.582482 0.368090 -vt 0.552730 0.367902 -vt 0.550048 0.310686 -vt 0.578748 0.761487 -vt 0.550076 0.759426 -vt 0.552676 0.703908 -vt 0.582541 0.703747 -vt 0.347270 0.758738 -vt 0.558065 0.928960 -vt 0.550687 0.924347 -vt 0.550930 0.885091 -vt 0.558374 0.878875 -vt 0.442273 0.018695 -vt 0.440594 0.261833 -vt 0.719990 0.753760 -vt 0.711362 0.753164 -vt 0.711409 0.748802 -vt 0.720050 0.748194 -vt 0.558809 0.782594 -vt 0.553466 0.785950 -vt 0.553542 0.769874 -vt 0.558906 0.762085 -vt 0.523071 0.801651 -vt 0.527269 0.805192 -vt 0.527585 0.839077 -vt 0.523474 0.844882 -vt 0.583864 0.748194 -vt 0.591789 0.748650 -vt 0.591759 0.752506 -vt 0.583825 0.753114 -vt 0.523958 0.885237 -vt 0.530497 0.890536 -vt 0.531283 0.924612 -vt 0.524961 0.928713 -vt 0.627693 0.748375 -vt 0.627655 0.752744 -vt 0.696662 0.753087 -vt 0.696709 0.748702 -vt 0.660976 0.752977 -vt 0.661014 0.748487 -vt 0.522918 0.783847 -vt 0.527615 0.790596 -vt 0.527735 0.804551 -vt 0.609284 0.879288 -vt 0.609125 0.929342 -vt 0.558678 0.832385 -vt 0.609657 0.832799 -vt 0.551099 0.872461 -vt 0.551338 0.836023 -vt 0.529863 0.848009 -vt 0.530243 0.879639 -vt 0.343779 0.802494 -vt 0.343695 0.784690 -vt 0.475224 0.845209 -vt 0.463372 0.845290 -vt 0.449569 0.845385 -vt 0.439666 0.845452 -vt 0.427257 0.845537 -vt 0.418192 0.845599 -vt 0.409050 0.845661 -vt 0.553912 0.825721 -vt 0.554015 0.786696 -vt 0.748183 0.664506 -vt 0.743885 0.667670 -vt 0.709471 0.667342 -vt 0.704690 0.663671 -vt 0.748230 0.677708 -vt 0.743428 0.674541 -vt 0.708946 0.674384 -vt 0.704690 0.677993 -vt 0.674263 0.679178 -vt 0.678954 0.683000 -vt 0.678513 0.691305 -vt 0.674263 0.695158 -vt 0.713191 0.691406 -vt 0.717948 0.694885 -vt 0.717906 0.679285 -vt 0.713573 0.682833 -vt 0.674263 0.712333 -vt 0.679256 0.716024 -vt 0.678779 0.723450 -vt 0.674263 0.727142 -vt 0.712677 0.723401 -vt 0.717760 0.726648 -vt 0.717703 0.712821 -vt 0.713087 0.716118 -vt 0.475305 0.885568 -vt 0.463733 0.885647 -vt 0.449929 0.885741 -vt 0.439749 0.885811 -vt 0.427618 0.885894 -vt 0.331098 0.838796 -vt 0.409325 0.886018 -vt 0.331097 0.892100 -vt 0.344391 0.930068 -vt 0.418274 0.885957 -vt 0.568226 0.477860 -vt 0.610810 0.762612 -vt 0.610602 0.783121 -vt 0.313294 0.838795 -vt 0.313293 0.892100 -vt 0.772319 0.999701 -vt 0.510019 0.967260 -vt 0.510019 0.999701 -vt 0.834166 0.285661 -vt 0.768234 0.286116 -vt 0.766275 0.002164 -vt 0.832207 0.001709 -vt 0.763326 0.261444 -vt 0.761647 0.018304 -vt 0.280683 0.544403 -vt 0.268327 0.546342 -vt 0.293963 0.475162 -vt 0.260091 0.621549 -vt 0.247624 0.622547 -vt 0.278575 0.553512 -vt 0.287081 0.543122 -vt 0.299432 0.478720 -vt 0.078346 0.291246 -vt 0.077505 0.269047 -vt 0.673665 0.747597 -vt 0.583825 0.747597 -vt 0.000299 0.780763 -vt 0.010763 0.773432 -vt 0.031275 0.812923 -vt 0.010763 0.827908 -vt 0.000299 0.820577 -vt 0.031344 0.808252 -vt 0.051046 0.800969 -vt 0.050910 0.810187 -vt 0.040794 0.292669 -vt 0.039952 0.270471 -vt 0.837894 0.999701 -vt 0.266568 0.620755 -vt 0.283760 0.557474 -vt 0.837894 0.950449 -vt 0.320375 0.761358 -vt 0.705187 0.018693 -vt 0.706867 0.261833 -vt 0.658686 0.887344 -vt 0.658868 0.825939 -vt 0.679378 0.826000 -vt 0.679195 0.887405 -vt 0.690550 0.648153 -vt 0.628032 0.648153 -vt 0.583825 0.603947 -vt 0.583825 0.541429 -vt 0.628032 0.497222 -vt 0.690550 0.497222 -vt 0.734757 0.541428 -vt 0.734757 0.603946 -vt 0.832300 0.307073 -vt 0.769442 0.307507 -vt 0.606368 0.029512 -vt 0.378018 0.307507 -vt 0.315160 0.307073 -vt 0.572655 0.308410 -vt 0.511212 0.308292 -vt 0.765692 0.307390 -vt 0.702831 0.307825 -vt 0.444631 0.307825 -vt 0.381768 0.307391 -vt 0.700066 0.307129 -vt 0.638933 0.308268 -vt 0.028684 0.334662 -vt 0.028216 0.347009 -vt 0.028684 0.288183 -vt 0.028216 0.275836 -vt 0.024713 0.229498 -vt 0.023312 0.217222 -vt 0.016319 0.171298 -vt 0.013991 0.159164 -vt 0.016318 0.451548 -vt 0.013991 0.463682 -vt 0.023312 0.405623 -vt 0.024713 0.393347 -vt 0.929360 0.371663 -vt 0.949870 0.371663 -vt 0.949869 0.433068 -vt 0.929359 0.433068 -vt 0.541093 0.029512 -vt 0.555364 0.045324 -vt 0.472022 0.043014 -vt 0.469155 0.250613 -vt 0.483371 0.265938 -vt 0.509562 0.266577 -vt 0.583825 0.419180 -vt 0.583984 0.365876 -vt 0.601788 0.365929 -vt 0.601629 0.419233 -vt 0.880965 0.475742 -vt 0.829171 0.476114 -vt 0.829189 0.426323 -vt 0.880169 0.426061 -vt 0.881113 0.496251 -vt 0.829206 0.496624 -vt 0.615382 0.310197 -vt 0.879832 0.309007 -vt 0.879925 0.329517 -vt 0.828864 0.329746 -vt 0.795759 0.329895 -vt 0.615195 0.328000 -vt 0.679997 0.372243 -vt 0.688946 0.372331 -vt 0.688744 0.412689 -vt 0.679601 0.412599 -vt 0.794627 0.373366 -vt 0.745976 0.372890 -vt 0.734404 0.372777 -vt 0.720600 0.372642 -vt 0.710421 0.372542 -vt 0.698290 0.372423 -vt 0.704690 0.648751 -vt 0.748230 0.649035 -vt 0.743428 0.652203 -vt 0.708946 0.652359 -vt 0.697809 0.412778 -vt 0.710217 0.412900 -vt 0.717760 0.728233 -vt 0.717703 0.742060 -vt 0.713086 0.738763 -vt 0.712677 0.731480 -vt 0.720120 0.412997 -vt 0.733923 0.413133 -vt 0.717948 0.696029 -vt 0.717906 0.711629 -vt 0.713573 0.708081 -vt 0.713190 0.699508 -vt 0.745774 0.413249 -vt 0.794023 0.413720 -vt 0.679256 0.738857 -vt 0.678779 0.731431 -vt 0.674263 0.742548 -vt 0.674263 0.727739 -vt 0.678954 0.707914 -vt 0.678513 0.699609 -vt 0.674263 0.711736 -vt 0.674263 0.695756 -vt 0.743885 0.659074 -vt 0.709471 0.659401 -vt 0.704690 0.663073 -vt 0.748183 0.662238 -vt 0.824389 0.471998 -vt 0.824403 0.432972 -vt 0.793491 0.456950 -vt 0.614203 0.455572 -vt 0.793285 0.474753 -vt 0.614066 0.473375 -vt 0.800895 0.378983 -vt 0.800421 0.410612 -vt 0.829024 0.379832 -vt 0.821859 0.422664 -vt 0.821730 0.386224 -vt 0.879935 0.379571 -vt 0.798164 0.454064 -vt 0.798002 0.468018 -vt 0.660993 0.759351 -vt 0.627670 0.759305 -vt 0.627654 0.754935 -vt 0.660975 0.754860 -vt 0.696662 0.754919 -vt 0.696688 0.759304 -vt 0.711362 0.754912 -vt 0.711388 0.759274 -vt 0.591768 0.758859 -vt 0.591756 0.755003 -vt 0.802069 0.334014 -vt 0.801182 0.368087 -vt 0.583841 0.759277 -vt 0.583825 0.754357 -vt 0.798116 0.419538 -vt 0.797699 0.453421 -vt 0.823866 0.488818 -vt 0.823838 0.472743 -vt 0.719993 0.754357 -vt 0.720026 0.759923 -vt 0.821598 0.373594 -vt 0.821472 0.334337 -vt 0.608971 0.949851 -vt 0.344525 0.947871 +o Coils_Cylinder.012 +v -0.463562 0.524760 -0.428106 +v -0.237813 0.524760 -0.428106 +v -0.237813 0.222044 -0.302716 +v -0.463562 0.222044 -0.302716 +v -0.237813 0.096655 0.000000 +v -0.463562 0.096655 0.000000 +v -0.237813 0.222044 0.302716 +v -0.463562 0.222044 0.302716 +v -0.237813 0.524760 0.428106 +v -0.463562 0.524760 0.428106 +v -0.237813 0.827477 0.302716 +v -0.463562 0.827477 0.302716 +v -0.237813 0.952866 0.000000 +v -0.463562 0.952866 0.000000 +v -0.237813 0.827477 -0.302716 +v -0.463562 0.827477 -0.302716 +v -0.170088 0.524760 -0.428106 +v 0.055660 0.524760 -0.428106 +v 0.055660 0.222044 -0.302716 +v -0.170088 0.222044 -0.302716 +v 0.055660 0.096655 0.000000 +v -0.170088 0.096655 0.000000 +v 0.055660 0.222044 0.302716 +v -0.170088 0.222044 0.302716 +v 0.055660 0.524760 0.428106 +v -0.170088 0.524760 0.428106 +v 0.055660 0.827477 0.302716 +v -0.170088 0.827477 0.302716 +v 0.055660 0.952866 0.000000 +v -0.170088 0.952866 0.000000 +v 0.055660 0.827477 -0.302716 +v -0.170088 0.827477 -0.302716 +v 0.123385 0.524760 -0.428106 +v 0.349134 0.524760 -0.428106 +v 0.349134 0.222044 -0.302716 +v 0.123385 0.222044 -0.302716 +v 0.349134 0.096655 0.000000 +v 0.123385 0.096655 0.000000 +v 0.349134 0.222044 0.302716 +v 0.123385 0.222044 0.302716 +v 0.349134 0.524760 0.428106 +v 0.123385 0.524760 0.428106 +v 0.349134 0.827477 0.302716 +v 0.123385 0.827477 0.302716 +v 0.349134 0.952866 0.000000 +v 0.123385 0.952866 0.000000 +v 0.349134 0.827477 -0.302716 +v 0.123385 0.827477 -0.302716 +v 0.416858 0.524760 -0.428106 +v 0.642607 0.524760 -0.428106 +v 0.642607 0.222044 -0.302716 +v 0.416858 0.222044 -0.302716 +v 0.642607 0.096655 0.000000 +v 0.416858 0.096655 0.000000 +v 0.642607 0.222044 0.302716 +v 0.416858 0.222044 0.302716 +v 0.642607 0.524760 0.428106 +v 0.416858 0.524760 0.428106 +v 0.642607 0.827477 0.302716 +v 0.416858 0.827477 0.302716 +v 0.642607 0.952866 0.000000 +v 0.416858 0.952866 0.000000 +v 0.642607 0.827477 -0.302716 +v 0.416858 0.827477 -0.302716 +v 0.710331 0.524760 -0.428106 +v 0.936080 0.524760 -0.428106 +v 0.936080 0.222044 -0.302716 +v 0.710331 0.222044 -0.302716 +v 0.936080 0.096655 0.000000 +v 0.710331 0.096655 0.000000 +v 0.936080 0.222044 0.302716 +v 0.710331 0.222044 0.302716 +v 0.936080 0.524760 0.428106 +v 0.710331 0.524760 0.428106 +v 0.936080 0.827477 0.302716 +v 0.710331 0.827477 0.302716 +v 0.936080 0.952866 0.000000 +v 0.710331 0.952866 0.000000 +v 0.936080 0.827477 -0.302716 +v 0.710331 0.827477 -0.302716 +v -1.457017 0.997796 0.139627 +v -1.457017 1.110929 0.189700 +v -1.405270 1.098405 0.216824 +v -1.405270 0.985272 0.166751 +v -1.405270 1.073357 0.271072 +v -1.405270 0.960224 0.220999 +v -1.457017 1.060833 0.298196 +v -1.457017 0.947700 0.248123 +v -1.508763 1.073357 0.271072 +v -1.508763 0.960224 0.220999 +v -1.508763 1.098405 0.216824 +v -1.508763 0.985272 0.166751 +v -1.322476 0.997796 0.139627 +v -1.322476 1.110929 0.189700 +v -1.270730 1.098405 0.216824 +v -1.270730 0.985272 0.166751 +v -1.270730 1.073357 0.271072 +v -1.270730 0.960224 0.220999 +v -1.322476 1.060833 0.298196 +v -1.322476 0.947700 0.248123 +v -1.374223 1.073357 0.271072 +v -1.374223 0.960224 0.220999 +v -1.374223 1.098405 0.216824 +v -1.374223 0.985272 0.166751 +v -1.187935 0.997796 0.139627 +v -1.187935 1.110929 0.189700 +v -1.136189 1.098405 0.216824 +v -1.136189 0.985272 0.166751 +v -1.136189 1.073357 0.271072 +v -1.136189 0.960224 0.220999 +v -1.187935 1.060833 0.298196 +v -1.187935 0.947700 0.248123 +v -1.239682 1.073357 0.271072 +v -1.239682 0.960224 0.220999 +v -1.239682 1.098405 0.216824 +v -1.239682 0.985272 0.166751 +v -1.551588 0.824089 0.270719 +v -1.551588 0.906574 0.321562 +v -1.551588 1.018668 0.066710 +v -1.551588 0.936183 0.015867 +v -1.097206 1.018668 0.066710 +v -1.097206 0.936183 0.015867 +v -1.097206 0.906574 0.321562 +v -1.097206 0.824089 0.270719 +v -1.521210 0.950031 0.320343 +v -1.521210 1.047137 0.099566 +v -1.127583 1.047137 0.099566 +v -1.127583 0.950031 0.320343 +v -1.457017 0.997796 -0.139627 +v -1.405271 0.985272 -0.166751 +v -1.405271 1.098405 -0.216824 +v -1.457017 1.110929 -0.189700 +v -1.405271 0.960224 -0.220999 +v -1.405271 1.073357 -0.271072 +v -1.457017 0.947700 -0.248123 +v -1.457017 1.060833 -0.298196 +v -1.508764 0.960224 -0.220999 +v -1.508764 1.073357 -0.271072 +v -1.508764 1.098405 -0.216824 +v -1.508764 0.985272 -0.166751 +v -1.322476 0.997796 -0.139627 +v -1.270730 0.985272 -0.166751 +v -1.270730 1.098405 -0.216824 +v -1.322476 1.110929 -0.189700 +v -1.270730 0.960224 -0.220999 +v -1.270730 1.073357 -0.271072 +v -1.322476 0.947700 -0.248123 +v -1.322476 1.060833 -0.298196 +v -1.374223 0.960224 -0.220999 +v -1.374223 1.073357 -0.271072 +v -1.374223 1.098405 -0.216824 +v -1.374223 0.985272 -0.166751 +v -1.187936 0.997796 -0.139627 +v -1.136189 0.985272 -0.166751 +v -1.136189 1.098405 -0.216824 +v -1.187936 1.110929 -0.189700 +v -1.136189 0.960224 -0.220999 +v -1.136189 1.073357 -0.271072 +v -1.187936 0.947700 -0.248123 +v -1.187936 1.060833 -0.298196 +v -1.239682 0.960224 -0.220999 +v -1.239682 1.073357 -0.271072 +v -1.239682 1.098405 -0.216824 +v -1.239682 0.985272 -0.166751 +v -1.551588 0.824089 -0.270719 +v -1.551588 0.936183 -0.015867 +v -1.551588 1.018668 -0.066710 +v -1.551588 0.906574 -0.321562 +v -1.097206 0.936183 -0.015867 +v -1.097206 1.018668 -0.066710 +v -1.097206 0.824089 -0.270719 +v -1.097206 0.906574 -0.321562 +v -1.521211 1.047137 -0.099566 +v -1.521211 0.950031 -0.320343 +v -1.127584 1.047137 -0.099566 +v -1.127584 0.950031 -0.320343 +v -1.552216 0.766425 0.449060 +v -1.552216 0.766425 0.324053 +v -1.613245 0.699098 0.324053 +v -1.613245 0.699098 0.449060 +v -1.552216 0.456014 0.324053 +v -1.048308 0.766425 0.449060 +v -1.048308 0.766425 0.324053 +v -1.552216 0.456014 0.449060 +v -1.048308 0.456014 0.324053 +v -1.041527 0.788142 0.315308 +v -1.041527 0.434297 0.315308 +v -1.048308 0.456014 0.449060 +v -1.041527 0.788142 0.457806 +v -1.041527 0.434297 0.457806 +v -0.900483 0.434297 0.457806 +v -0.900483 0.788142 0.457806 +v -0.900483 0.788142 0.315308 +v -0.896414 0.768510 0.449899 +v -0.896414 0.768510 0.323214 +v -0.900483 0.434297 0.315308 +v -0.896414 0.453929 0.449899 +v -0.817755 0.457256 0.449106 +v -0.817755 0.767895 0.449106 +v -0.896414 0.453929 0.323214 +v -0.817755 0.457256 0.324007 +v -0.817755 0.767895 0.324007 +v -1.613245 0.523341 0.449060 +v -1.613245 0.523341 0.324053 +v -1.552216 0.766425 -0.449060 +v -1.613245 0.699098 -0.449060 +v -1.613245 0.699098 -0.324053 +v -1.552216 0.766425 -0.324053 +v -1.552216 0.456014 -0.324053 +v -1.048308 0.766425 -0.324053 +v -1.048308 0.766425 -0.449060 +v -1.552216 0.456014 -0.449060 +v -1.048308 0.456014 -0.324053 +v -1.041528 0.434297 -0.315308 +v -1.041528 0.788142 -0.315308 +v -1.048308 0.456014 -0.449060 +v -1.041528 0.788142 -0.457806 +v -0.900483 0.788142 -0.457806 +v -0.900483 0.434297 -0.457806 +v -1.041528 0.434297 -0.457806 +v -0.900483 0.788142 -0.315308 +v -0.896414 0.768510 -0.323214 +v -0.896414 0.768510 -0.449899 +v -0.900483 0.434297 -0.315308 +v -0.817755 0.767895 -0.449106 +v -0.817755 0.457256 -0.449106 +v -0.896414 0.453929 -0.449899 +v -0.896414 0.453929 -0.323214 +v -0.817755 0.457256 -0.324007 +v -0.817755 0.767895 -0.324007 +v -1.613245 0.523341 -0.449060 +v -1.613245 0.523341 -0.324053 +v -2.170566 0.644712 -0.108739 +v -2.102717 0.644712 -0.108739 +v -2.102717 0.567822 -0.076890 +v -2.170566 0.567822 -0.076890 +v -2.102717 0.535974 0.000000 +v -2.170566 0.535974 0.000000 +v -2.102717 0.567822 0.076890 +v -2.170566 0.567822 0.076890 +v -2.102717 0.644712 0.108739 +v -2.170566 0.644712 0.108739 +v -2.102717 0.721602 0.076890 +v -2.170566 0.721602 0.076890 +v -2.102717 0.753451 0.000000 +v -2.170566 0.753451 0.000000 +v -2.102717 0.721602 -0.076890 +v -2.170566 0.721602 -0.076890 +v -2.209619 0.644712 0.088337 +v -2.209619 0.582248 0.062464 +v -2.209619 0.644712 -0.088337 +v -2.209619 0.582248 -0.062464 +v -2.209619 0.556375 0.000000 +v -2.209619 0.707176 0.062464 +v -2.209619 0.733049 0.000000 +v -2.209619 0.707176 -0.062464 +v -0.166791 0.038391 -0.117032 +v -0.166791 0.038391 0.117032 +v -0.118438 0.018363 0.117032 +v -0.118438 0.018363 -0.117032 +v -0.098409 -0.029991 0.117032 +v -0.098409 -0.029991 -0.117032 +v -0.118438 -0.078344 0.117032 +v -0.118438 -0.078344 -0.117032 +v -0.166791 -0.098373 0.117032 +v -0.166791 -0.098373 -0.117032 +v -0.215145 -0.078344 0.117032 +v -0.215145 -0.078344 -0.117032 +v -0.235173 -0.029991 0.117032 +v -0.235173 -0.029991 -0.117032 +v -0.215145 0.018363 0.117032 +v -0.215145 0.018363 -0.117032 +v -0.033837 0.094104 -0.072767 +v -0.033837 -0.016338 -0.072767 +v -0.115306 -0.142061 -0.072767 +v -0.115306 0.094104 -0.072767 +v 0.797049 0.094104 -0.072767 +v 0.797049 -0.016338 -0.072767 +v 0.796577 -0.079782 0.048582 +v 0.796577 -0.079782 -0.048582 +v 0.886076 -0.258069 -0.048582 +v 0.886076 -0.258069 0.048582 +v 0.797049 -0.016338 0.072767 +v 0.797049 0.094104 0.072767 +v -0.033837 0.094104 0.072767 +v -0.033837 -0.016338 0.072767 +v -0.026079 -0.079782 -0.048582 +v -0.115306 0.094104 0.072767 +v -0.272459 0.094104 -0.072767 +v -0.272459 0.094104 0.072767 +v -0.115306 -0.142061 0.072767 +v -0.272459 -0.098487 0.072767 +v -0.264701 -0.161930 0.048582 +v -0.107548 -0.205505 0.048582 +v -0.272459 -0.098487 -0.072767 +v -0.026079 -0.079782 0.048582 +v -0.107548 -0.205505 -0.048582 +v -0.264701 -0.161930 -0.048582 +v 0.886547 -0.194626 0.072767 +v 0.888072 -0.069961 0.072767 +v 0.917361 0.000750 0.072767 +v 0.988072 0.030039 0.072767 +v 1.058783 0.000750 0.072767 +v 1.088072 -0.069961 0.072767 +v 1.088250 -0.195375 0.072767 +v 0.886547 -0.194626 -0.072767 +v 1.088250 -0.195375 -0.072767 +v 1.087778 -0.258818 -0.048582 +v 1.087778 -0.258818 0.048582 +v 1.152616 -0.153109 -0.048582 +v 1.152616 -0.153109 0.048582 +v 1.153087 -0.089666 0.072767 +v 0.888072 -0.069961 -0.072767 +v 0.917362 -0.140671 -0.072767 +v 0.988072 -0.169961 -0.072767 +v 1.058783 -0.140671 -0.072767 +v 1.088072 -0.069961 -0.072767 +v 1.153087 -0.089666 -0.072767 +v 1.153087 0.092782 -0.072767 +v 1.153087 0.092782 0.072767 +v 0.917361 0.000750 -0.072767 +v 1.058783 0.000750 -0.072767 +v 1.058783 -0.140671 0.072767 +v 0.988072 -0.169961 0.072767 +v 0.917362 -0.140671 0.072767 +v 0.988072 0.030039 -0.072767 +v -1.185225 0.299229 -0.228225 +v -1.185225 0.078919 -0.228225 +v -1.579320 0.146982 -0.228225 +v -1.579320 0.299229 -0.228225 +v -0.726389 0.070637 -0.201417 +v -0.726389 0.299229 -0.201417 +v -0.726389 0.299229 0.201417 +v -0.726389 0.070637 0.201417 +v -0.770558 0.343398 -0.201417 +v -1.096886 0.343398 -0.201417 +v -1.096886 0.343398 0.201417 +v -0.770558 0.343398 0.201417 +v -1.185225 0.078919 0.228225 +v -1.185225 0.299229 0.228225 +v -1.579320 0.299229 0.228225 +v -1.579320 0.146982 0.228225 +v -1.185225 0.343398 0.201417 +v -1.185225 0.343398 -0.201417 +v -1.579320 0.343398 -0.201417 +v -1.579320 0.343398 0.201417 +v -1.096886 0.026467 -0.201417 +v -0.770558 0.026467 -0.201417 +v -0.770558 0.026467 0.201417 +v -1.096886 0.026467 0.201417 +v -1.096886 0.070637 -0.228225 +v -1.096886 0.299229 -0.228225 +v -0.770558 0.299229 -0.228225 +v -0.770558 0.070637 -0.228225 +v -0.770558 0.070637 0.228225 +v -0.770558 0.299229 0.228225 +v -1.096886 0.299229 0.228225 +v -1.096886 0.070637 0.228225 +v -1.690351 0.200246 0.201417 +v -1.690351 0.287913 0.201417 +v -1.690351 0.287913 -0.201417 +v -1.690351 0.200246 -0.201417 +v -1.184581 0.033984 0.201417 +v -1.184581 0.033984 -0.201417 +v -1.659805 0.134929 0.201417 +v -1.579964 0.102270 0.201417 +v -1.667659 0.194088 0.228225 +v -1.667659 0.291126 0.228225 +v -1.646801 0.339453 0.201417 +v -1.659805 0.134929 -0.201417 +v -1.667659 0.194088 -0.228225 +v -1.579964 0.102270 -0.201417 +v -1.667040 0.336028 -0.201417 +v -1.667659 0.291126 -0.228225 +v -0.991593 0.009137 0.090896 +v -0.991593 0.050129 0.090896 +v -0.991593 0.050129 -0.090896 +v -0.991593 0.009137 -0.090896 +v -0.359255 0.050129 -0.090896 +v -0.359255 0.009137 -0.090896 +v -0.359255 0.050129 0.090896 +v -0.359255 0.009137 0.090896 +v -0.952793 -0.032302 0.079741 +v -0.475801 -0.032302 0.079741 +v -0.398056 -0.032302 0.079741 +v -0.952793 -0.032302 -0.079741 +v -0.477062 -0.032302 -0.079741 +v -0.398056 -0.032302 -0.079741 +v -0.547697 -0.243266 -0.079741 +v -0.468691 -0.243266 -0.079741 +v -0.417833 -0.308250 -0.079741 +v -0.496840 -0.308250 -0.079741 +v -0.468691 -0.243266 0.079741 +v -0.546437 -0.243266 0.079741 +v -0.495579 -0.308250 0.079741 +v -0.884730 -0.317360 -0.073714 +v -0.883469 -0.317360 0.085769 +v -0.417833 -0.308250 0.079741 +v -0.548320 -0.390292 0.079741 +v -0.549581 -0.390292 -0.079741 +v -0.470574 -0.390292 -0.079741 +v -0.470574 -0.390292 0.079741 +v -0.933383 -0.398929 -0.073714 +v -0.932122 -0.398929 0.085769 +v -1.071287 -0.315922 0.087949 +v -1.072548 -0.315922 -0.071533 +v -1.022634 -0.234353 0.087949 +v -1.023895 -0.234353 -0.071533 +v -0.906556 -0.031746 0.035327 +v -0.906556 -0.031746 -0.035327 +v -0.750972 -0.031746 -0.035327 +v -0.750972 -0.031746 0.035327 +v -0.891840 -0.172320 -0.035327 +v -0.891840 -0.172320 0.035327 +v -0.858049 -0.254618 0.035327 +v -0.773318 -0.237178 0.035327 +v -0.781494 -0.172320 0.035327 +v -0.781494 -0.172320 -0.035327 +v -0.752234 -0.268743 0.035327 +v -0.752234 -0.268743 -0.035327 +v -0.773318 -0.237178 -0.035327 +v -0.858049 -0.254618 -0.035327 +v -0.786277 -0.298175 0.035327 +v -0.786277 -0.298175 -0.035327 +v -0.654718 0.939467 0.338343 +v -0.745955 0.781575 0.338343 +v -0.745839 1.097427 0.338343 +v -0.757348 1.077508 0.380293 +v -0.677723 0.939476 0.380293 +v -1.019432 0.939601 0.338343 +v -0.928196 1.097493 0.338343 +v -0.928312 0.781642 0.338343 +v -0.916701 1.077567 0.380293 +v -0.996428 0.939592 0.380293 +v -0.949024 0.939575 0.380293 +v -0.893014 1.036505 0.380293 +v -0.916802 0.801560 0.380293 +v -0.757450 0.801501 0.380293 +v -0.781065 1.036464 0.380293 +v -0.884357 1.021497 0.419074 +v -0.789734 1.021463 0.419074 +v -0.781137 0.842563 0.380293 +v -0.893085 0.842604 0.380293 +v -0.725127 0.939493 0.380293 +v -0.931698 0.939569 0.419074 +v -0.877029 0.939549 0.419074 +v -0.857040 0.974142 0.419074 +v -0.884417 0.857606 0.419074 +v -0.742452 0.939499 0.419074 +v -0.789794 0.857571 0.419074 +v -0.817086 0.974128 0.419074 +v -0.857040 0.974142 0.317496 +v -0.817086 0.974128 0.317496 +v -0.817111 0.904926 0.419074 +v -0.857065 0.904940 0.419074 +v -0.797122 0.939519 0.419074 +v -0.797122 0.939519 0.317496 +v -0.877029 0.939549 0.317496 +v -0.857065 0.904940 0.317496 +v -0.817111 0.904926 0.317496 +v -0.745955 0.781575 -0.338343 +v -0.654718 0.939467 -0.338343 +v -0.677723 0.939476 -0.380293 +v -0.757348 1.077508 -0.380293 +v -0.745839 1.097427 -0.338343 +v -0.928196 1.097493 -0.338343 +v -1.019432 0.939601 -0.338343 +v -0.928312 0.781642 -0.338343 +v -0.916701 1.077567 -0.380293 +v -0.893014 1.036505 -0.380293 +v -0.949024 0.939575 -0.380293 +v -0.996428 0.939593 -0.380293 +v -0.916802 0.801560 -0.380293 +v -0.757450 0.801502 -0.380293 +v -0.781065 1.036464 -0.380293 +v -0.789734 1.021463 -0.419074 +v -0.884357 1.021497 -0.419074 +v -0.893085 0.842604 -0.380293 +v -0.781137 0.842563 -0.380293 +v -0.725127 0.939493 -0.380293 +v -0.857040 0.974142 -0.419074 +v -0.877029 0.939549 -0.419074 +v -0.931698 0.939569 -0.419074 +v -0.884417 0.857606 -0.419074 +v -0.789794 0.857571 -0.419074 +v -0.742452 0.939499 -0.419074 +v -0.817086 0.974128 -0.419074 +v -0.817086 0.974128 -0.317496 +v -0.857040 0.974142 -0.317496 +v -0.857065 0.904940 -0.419074 +v -0.817111 0.904926 -0.419074 +v -0.797122 0.939519 -0.419074 +v -0.797122 0.939519 -0.317496 +v -0.817111 0.904926 -0.317496 +v -0.857065 0.904940 -0.317496 +v -0.877029 0.939549 -0.317496 +v 0.990151 -0.648179 -0.190841 +v 0.990151 -0.321606 -0.374799 +v 1.068843 -0.322088 -0.329369 +v 1.068843 -0.609076 -0.167709 +v 1.068843 -0.323051 -0.238509 +v 1.068843 -0.530870 -0.121444 +v 0.990151 -0.323533 -0.193078 +v 0.990151 -0.491768 -0.098312 +v 0.911459 -0.323051 -0.238509 +v 0.911459 -0.530870 -0.121444 +v 0.911459 -0.322088 -0.329369 +v 0.911459 -0.609076 -0.167709 +v 0.990151 0.000993 -0.183958 +v 1.068843 -0.038592 -0.161660 +v 1.068843 -0.117761 -0.117064 +v 0.990151 -0.157346 -0.094766 +v 0.911459 -0.117761 -0.117064 +v 0.911459 -0.038592 -0.161660 +v 0.990151 -0.002981 0.190841 +v 1.068843 -0.042084 0.167709 +v 1.068843 -0.120290 0.121444 +v 0.990151 -0.159393 0.098312 +v 0.911459 -0.120290 0.121444 +v 0.911459 -0.042084 0.167709 +v 0.990151 -0.329554 0.374799 +v 1.068843 -0.329073 0.329369 +v 1.068843 -0.328109 0.238509 +v 0.990151 -0.327627 0.193079 +v 0.911459 -0.328109 0.238509 +v 0.911459 -0.329073 0.329369 +v 0.990151 -0.652153 0.183958 +v 1.068843 -0.612568 0.161660 +v 1.068843 -0.533399 0.117064 +v 0.990151 -0.493815 0.094766 +v 0.911459 -0.533399 0.117064 +v 0.911459 -0.612568 0.161660 +v -0.972691 1.166717 0.278124 +v -0.972691 1.166717 -0.278124 +v -0.987438 1.166717 -0.260322 +v -0.987438 1.166717 0.260322 +v -0.934937 1.102284 0.278124 +v -0.934937 1.102284 -0.278124 +v -0.971860 1.037372 0.278124 +v -0.971860 1.037372 -0.278124 +v -1.046537 1.036892 0.278124 +v -1.046537 1.036892 -0.278124 +v -1.047369 1.166237 0.278124 +v -1.084291 1.101324 0.278124 +v -1.084291 1.101324 -0.278124 +v -1.047368 1.166237 -0.278124 +v -1.032621 1.166237 -0.260322 +v -1.032621 1.166237 0.260322 +v -1.033084 1.202181 0.260322 +v -1.033084 1.202181 -0.260322 +v -0.987902 1.202661 0.260322 +v -0.987902 1.202661 -0.260322 +v -1.464091 -0.996279 -0.140051 +v -1.457375 -0.967729 -0.140051 +v -1.339310 -0.995504 -0.070026 +v -1.346026 -1.024054 -0.070026 +v -1.339310 -0.995504 0.070026 +v -1.346026 -1.024054 0.070026 +v -1.457375 -0.967729 0.140051 +v -1.464091 -0.996279 0.140051 +v -1.575440 -0.939954 0.070026 +v -1.582156 -0.968503 0.070026 +v -1.343945 -0.917630 -0.057125 +v -1.343945 -0.917630 0.057125 +v -1.575440 -0.939954 -0.070026 +v -1.582156 -0.968503 -0.070026 +v -1.482215 -1.073316 0.113549 +v -1.386492 -1.095835 0.056774 +v -1.440258 -0.894971 -0.114249 +v -1.536572 -0.872313 -0.057125 +v -1.536572 -0.872313 0.057125 +v -1.440258 -0.894971 0.114249 +v -1.577937 -1.050797 0.056774 +v -1.577937 -1.050797 -0.056774 +v -1.539716 -1.059789 -0.034105 +v -1.539716 -1.059789 0.034105 +v -1.482215 -1.073316 -0.113549 +v -1.386492 -1.095835 -0.056774 +v -1.482215 -1.073316 -0.068210 +v -1.487302 -1.094942 -0.059778 +v -1.537696 -1.083087 -0.029889 +v -1.482215 -1.073316 0.068210 +v -1.424713 -1.086844 0.034105 +v -1.424713 -1.086844 -0.034105 +v -1.436908 -1.106798 -0.029889 +v -1.436908 -1.106798 0.029889 +v -1.487302 -1.094942 0.059778 +v -1.537696 -1.083087 0.029889 +v -1.508359 -0.214874 0.108693 +v -1.504838 -0.215309 -0.106817 +v -1.564296 -0.274102 -0.089219 +v -1.567402 -0.273718 0.089973 +v -1.348484 -0.928894 -0.174279 +v -1.331423 -0.813343 -0.174279 +v -1.263873 -0.855085 -0.182453 +v -1.262042 -0.949106 -0.182453 +v -1.263873 -0.855085 0.182453 +v -1.207149 -0.865197 0.174081 +v -1.207149 -0.865197 -0.174081 +v -1.570189 -0.877055 0.143835 +v -1.435938 -0.379825 0.163084 +v -1.622805 -0.828855 0.096503 +v -1.262042 -0.949106 0.182453 +v -1.348484 -0.928894 0.174279 +v -1.435938 -0.379825 -0.163084 +v -1.112852 -0.829663 0.130793 +v -1.112852 -0.829663 -0.130793 +v -1.205319 -0.959218 -0.174081 +v -1.205319 -0.959218 0.174081 +v -1.111021 -0.923684 0.130793 +v -1.072210 -0.848373 0.087270 +v -1.073111 -0.802094 0.087270 +v -1.111021 -0.923684 -0.130793 +v -1.072210 -0.848373 -0.087270 +v -1.073111 -0.802094 -0.087270 +v -1.681696 -0.766817 -0.072169 +v -1.689936 -0.702839 -0.059605 +v -1.640119 -0.414721 -0.072179 +v -1.619700 -0.829239 -0.095954 +v -1.684682 -0.766448 0.071709 +v -1.643105 -0.414353 0.071698 +v -1.666879 -0.498637 -0.059615 +v -1.669865 -0.498268 0.058900 +v -1.692922 -0.702470 0.058910 +v -1.690559 -0.607421 0.054481 +v -1.687573 -0.607789 -0.055307 +v -1.331423 -0.813343 0.174279 +v -1.416650 -0.767127 -0.178303 +v -1.416650 -0.767127 0.178303 +v -1.469005 -0.685482 -0.171908 +v -1.469005 -0.685482 0.171908 +v -1.542909 -0.883434 -0.161182 +v -1.516768 -0.889546 -0.174389 +v -1.516768 -0.889546 0.174389 +v -1.542909 -0.883434 0.161182 +v -1.432626 -0.909220 -0.178303 +v -1.432626 -0.909220 0.178303 +v -1.484962 -0.656299 -0.158888 +v -1.570189 -0.877055 -0.143835 +v -1.484962 -0.656299 0.158888 +v -1.325666 -0.019640 0.170554 +v -1.325666 0.137146 0.170554 +v -1.472478 0.148884 0.071087 +v -1.472478 -0.007902 0.071087 +v -1.325666 -0.019640 -0.170554 +v -1.325666 0.137146 -0.170554 +v -1.062875 0.137146 -0.170554 +v -1.062875 -0.019640 -0.170554 +v -1.130714 -0.142396 -0.170554 +v -0.914155 -0.020276 -0.107189 +v -0.981994 -0.143031 -0.107189 +v -1.062875 -0.019640 0.170554 +v -1.062875 0.137146 0.170554 +v -0.914155 0.136510 -0.107189 +v -1.259746 -0.728734 -0.170554 +v -1.147611 -0.221161 -0.170554 +v -0.998891 -0.221796 -0.107189 +v -1.111026 -0.729370 -0.107189 +v -1.346664 -0.179545 0.170554 +v -1.130714 -0.142396 0.170554 +v -1.346664 -0.179545 -0.170554 +v -1.447785 -0.735647 0.170554 +v -1.363562 -0.258310 0.170554 +v -1.510373 -0.246572 0.071087 +v -1.594597 -0.723909 0.071087 +v -0.981994 -0.143031 0.107189 +v -0.914155 -0.020276 0.107189 +v -1.363562 -0.258310 -0.170554 +v -1.447785 -0.735647 -0.170554 +v -1.594597 -0.723909 -0.071087 +v -1.510373 -0.246572 -0.071087 +v -1.147611 -0.221161 0.170554 +v -1.259746 -0.728734 0.170554 +v -1.483874 -0.874924 0.170554 +v -1.219691 -0.868011 0.170554 +v -1.493475 -0.167807 0.071087 +v -1.219691 -0.868011 -0.170554 +v -0.914155 0.136510 0.107189 +v -1.472478 -0.007902 -0.071087 +v -1.472478 0.148884 -0.071087 +v -1.493475 -0.167807 -0.071087 +v -1.630686 -0.740134 -0.071087 +v -1.630686 -0.740134 0.071087 +v -0.998891 -0.221796 0.107189 +v -1.111026 -0.729370 0.107189 +v -1.100054 -0.868647 0.107189 +v -1.100054 -0.868647 -0.107189 +v -1.483874 -0.874924 -0.170554 +v -1.114931 0.645018 -0.394257 +v -0.705608 0.645018 -0.392564 +v -0.705608 0.367434 -0.277584 +v -1.115595 0.367434 -0.277584 +v -0.705608 0.252454 0.000000 +v -1.115595 0.252454 0.000000 +v -0.705608 0.367434 0.277584 +v -1.115595 0.367434 0.277584 +v -0.705608 0.645018 0.392564 +v -1.115595 0.645018 0.392564 +v -0.705608 0.922602 0.277584 +v -1.115595 0.922602 0.277584 +v -0.705608 1.037581 0.000000 +v -1.115595 1.037581 0.000000 +v -0.705608 0.922602 -0.277584 +v -1.115595 0.922602 -0.277584 +v -1.680468 0.367434 -0.277584 +v -1.680468 0.252454 0.000000 +v -1.696762 0.326183 0.000000 +v -1.696762 0.419567 -0.225451 +v -1.696762 0.645018 0.318835 +v -1.696762 0.870468 0.225451 +v -1.717499 0.922175 0.277157 +v -1.717499 0.645018 0.391959 +v -1.680468 0.645018 0.392564 +v -1.680468 0.922602 0.277584 +v -1.680468 0.922602 -0.277584 +v -1.680468 0.645018 -0.392564 +v -1.696762 0.645018 -0.318835 +v -1.696762 0.870469 -0.225450 +v -1.680468 0.367434 0.277584 +v -1.696762 0.419567 0.225451 +v -1.680468 1.037582 0.000000 +v -1.696762 0.963853 0.000000 +v -1.717499 1.036977 0.000000 +v -1.717499 0.922175 -0.277157 +v -1.807855 0.922175 -0.277157 +v -1.807855 1.036977 0.000000 +v -1.717499 0.367861 0.277157 +v -1.717499 0.253059 0.000000 +v -1.717499 0.367861 -0.277157 +v -1.717499 0.645018 -0.391959 +v -1.807855 0.922175 0.277157 +v -1.827112 0.964049 0.000000 +v -1.827112 0.870607 0.225589 +v -1.807856 0.645018 0.391959 +v -1.807856 0.367861 0.277157 +v -1.807856 0.253059 0.000000 +v -1.807856 0.367861 -0.277157 +v -1.807856 0.645018 -0.391959 +v -1.827112 0.645018 -0.319031 +v -1.827112 0.419429 -0.225589 +v -1.850272 0.367220 -0.277798 +v -1.850272 0.645018 -0.392866 +v -1.827112 0.645018 0.319031 +v -1.827112 0.419429 0.225589 +v -1.827112 0.325987 0.000000 +v -1.827112 0.870607 -0.225589 +v -1.850272 1.037884 0.000000 +v -1.850272 0.922816 -0.277798 +v -1.929992 0.922816 -0.277798 +v -1.929992 1.037884 0.000000 +v -1.850272 0.922816 0.277798 +v -1.850272 0.645018 0.392866 +v -1.850272 0.367220 0.277798 +v -1.850272 0.252152 0.000000 +v -1.929992 0.367220 -0.277798 +v -1.929992 0.252152 0.000000 +v -2.043752 0.321683 0.000000 +v -2.043752 0.416385 -0.228633 +v -1.929992 0.922816 0.277798 +v -1.929992 0.645018 0.392866 +v -1.929992 0.367220 0.277798 +v -1.929992 0.645018 -0.392866 +v -2.043752 0.873651 -0.228633 +v -2.043752 0.645018 -0.323335 +v -2.121962 0.645018 -0.225354 +v -2.121962 0.804367 -0.159349 +v -2.043752 0.968353 0.000000 +v -2.043752 0.873651 0.228633 +v -2.043752 0.645018 0.323335 +v -2.043752 0.416385 0.228633 +v -2.121962 0.870372 0.000000 +v -2.179800 0.787147 -0.142129 +v -2.179800 0.846019 0.000000 +v -2.121962 0.804367 0.159349 +v -2.121962 0.645018 0.225354 +v -2.121962 0.485669 0.159349 +v -2.121962 0.419664 0.000000 +v -2.121962 0.485669 -0.159349 +v -2.179800 0.787147 0.142129 +v -2.179800 0.817735 0.000000 +v -2.179800 0.767148 0.122130 +v -2.179800 0.645018 0.201001 +v -2.179800 0.502889 0.142129 +v -2.179800 0.444017 0.000000 +v -2.179800 0.502889 -0.142129 +v -2.179800 0.645018 -0.201001 +v -2.179800 0.645018 -0.172717 +v -2.179800 0.522888 -0.122130 +v -2.139229 0.522888 -0.122130 +v -2.139229 0.645018 -0.172717 +v -2.179800 0.645018 0.172717 +v -2.179800 0.522888 0.122130 +v -2.179800 0.472301 0.000000 +v -2.179800 0.767148 -0.122130 +v -2.139229 0.472301 0.000000 +v -2.139229 0.522888 0.122130 +v -2.139229 0.645018 0.172717 +v -2.139229 0.767148 0.122130 +v -2.139229 0.817735 0.000000 +v -2.139229 0.767148 -0.122130 +v -1.416219 0.923800 -0.278782 +v -1.416219 0.645018 -0.394257 +v -1.415588 1.037581 0.000000 +v -1.416219 0.923800 0.278782 +v -1.416219 0.645018 0.394257 +v -1.416219 0.366236 0.278782 +v -1.415589 0.252454 0.000000 +v -1.416219 0.366236 -0.278782 +v -1.161507 0.923800 -0.278782 +v -1.161507 0.645018 -0.394257 +v -1.161507 1.039275 0.000000 +v -1.161507 0.923800 0.278782 +v -1.161507 0.645018 0.394257 +v -1.161507 0.366236 0.278782 +v -1.161507 0.250761 0.000000 +v -1.161507 0.366236 -0.278782 +v -1.379544 0.645018 -0.394257 +v -1.379545 0.366236 -0.278782 +v -1.379545 1.039275 0.000000 +v -1.379545 0.923800 0.278782 +v -1.382795 0.953877 0.308859 +v -1.382795 1.081811 0.000000 +v -1.319287 0.645018 -0.409318 +v -1.221764 0.645018 -0.409318 +v -1.221764 0.355586 -0.289432 +v -1.319287 0.355586 -0.289432 +v -1.158621 0.950501 -0.305483 +v -1.158621 1.077036 0.000000 +v -1.379545 0.250761 0.000000 +v -1.319287 0.235700 0.000000 +v -1.316037 0.208225 0.000000 +v -1.316037 0.336159 -0.308859 +v -1.221764 0.235700 0.000000 +v -1.158621 0.950501 0.305483 +v -1.158621 0.645018 0.432019 +v -1.379545 0.366236 0.278782 +v -1.379545 0.645018 0.394257 +v -1.382795 0.336159 0.308859 +v -1.382795 0.645018 0.436793 +v -1.221764 0.355586 0.289432 +v -1.319287 0.355586 0.289432 +v -1.221764 0.934450 -0.289432 +v -1.221764 1.054336 0.000000 +v -1.224650 1.077036 0.000000 +v -1.224650 0.950501 -0.305483 +v -1.382795 0.336159 -0.308859 +v -1.382795 0.208225 0.000000 +v -1.221764 0.645018 0.409318 +v -1.319287 0.645018 0.409318 +v -1.158621 0.339535 0.305483 +v -1.158621 0.212999 0.000000 +v -1.319287 1.054336 0.000000 +v -1.319287 0.934450 -0.289432 +v -1.316037 0.953877 -0.308859 +v -1.316037 1.081811 0.000000 +v -1.221764 0.934450 0.289432 +v -1.319287 0.934450 0.289432 +v -1.224650 0.645018 0.432019 +v -1.224650 0.950501 0.305483 +v -1.316037 0.953877 0.308859 +v -1.316037 0.645018 0.436793 +v -1.158621 0.339535 -0.305483 +v -1.158621 0.645018 -0.432019 +v -1.379545 0.923800 -0.278782 +v -1.382795 0.953877 -0.308859 +v -1.224650 0.212999 0.000000 +v -1.224650 0.339535 0.305483 +v -1.316037 0.336159 0.308859 +v -1.224650 0.645018 -0.432019 +v -1.224650 0.339535 -0.305483 +v -1.382795 0.645018 -0.436793 +v -1.316036 0.645018 -0.436793 +v -0.419369 0.526526 -0.206986 +v 0.947632 0.526526 -0.206986 +v 0.947632 0.380164 -0.146361 +v -0.419369 0.380164 -0.146361 +v 0.947632 0.319540 0.000000 +v -0.419369 0.319540 0.000000 +v 0.947632 0.380164 0.146361 +v -0.419369 0.380164 0.146361 +v 0.947632 0.526526 0.206986 +v -0.419369 0.526526 0.206986 +v 0.947632 0.672887 0.146361 +v -0.419369 0.672887 0.146361 +v 0.947632 0.733512 0.000000 +v -0.419369 0.733512 0.000000 +v 0.947632 0.672887 -0.146361 +v -0.419369 0.672887 -0.146361 +v 1.384588 0.551670 0.654257 +v 1.384588 0.551670 0.449972 +v 1.139921 0.531994 0.449972 +v 1.139921 0.531994 0.558806 +v 1.384588 0.408111 0.449972 +v 1.504148 0.551670 0.449972 +v 1.504148 0.408111 0.449972 +v 1.504148 0.551670 0.654257 +v 1.577323 0.529883 0.613238 +v 1.577323 0.529883 0.449972 +v 1.504148 0.408111 0.654257 +v 1.384588 0.408111 0.654257 +v 1.577323 0.429898 0.449972 +v 1.577323 0.429898 0.613238 +v 1.139921 0.427787 0.558806 +v 1.139921 0.427787 0.449972 +v 1.384588 0.551670 -0.654257 +v 1.139921 0.531994 -0.558805 +v 1.139921 0.531994 -0.449972 +v 1.384588 0.551670 -0.449972 +v 1.384588 0.408111 -0.449972 +v 1.504148 0.408111 -0.449972 +v 1.504148 0.551670 -0.449972 +v 1.577323 0.529883 -0.449972 +v 1.577323 0.529883 -0.613238 +v 1.504148 0.551670 -0.654257 +v 1.504148 0.408111 -0.654257 +v 1.384588 0.408111 -0.654257 +v 1.577323 0.429898 -0.449972 +v 1.577323 0.429898 -0.613238 +v 1.139921 0.427787 -0.558805 +v 1.139921 0.427787 -0.449972 +v 1.310526 -0.082794 0.073582 +v 1.384588 0.101767 0.073582 +v 1.139921 0.101767 0.053905 +v 1.144858 -0.044123 0.053905 +v 1.384588 0.101767 -0.069977 +v 1.504148 0.101767 0.073582 +v 1.504148 0.101767 -0.069977 +v 1.430086 -0.082794 0.073582 +v 1.608182 -0.022025 0.051795 +v 1.577323 0.101767 0.051795 +v 1.430086 -0.082794 -0.069977 +v 1.310526 -0.082794 -0.069977 +v 1.577323 0.101767 -0.048191 +v 1.608182 -0.022025 -0.048191 +v 1.144858 -0.044123 -0.050301 +v 1.139921 0.101767 -0.050301 +v -1.606489 0.994589 0.070837 +v -1.606489 1.084445 0.070837 +v -1.606489 1.084277 -0.070837 +v -1.606489 0.994589 -0.070837 +v -0.511384 1.084480 -0.070837 +v -0.514357 1.052983 -0.070837 +v -0.549767 1.006668 -0.070837 +v -0.549767 0.994589 -0.070837 +v 1.313063 1.160981 0.058974 +v 1.498769 1.160981 0.058974 +v 1.498532 1.230366 0.031927 +v 1.312826 1.230366 0.031927 +v 1.225298 0.994589 0.070837 +v 1.225298 1.084445 0.070837 +v 0.962233 1.084445 0.070837 +v 0.964610 1.052983 0.070837 +v 1.000021 1.006668 0.070837 +v 1.000021 0.994589 0.070837 +v -0.197543 0.994589 -0.070837 +v 0.049014 0.994589 -0.070837 +v 0.049014 0.994589 0.070837 +v -0.197543 0.994589 0.070837 +v 0.401239 0.994589 -0.070837 +v 0.647796 0.994589 -0.070837 +v 0.647796 0.994589 0.070837 +v 0.401239 0.994589 0.070837 +v 1.000021 0.994589 -0.070837 +v 1.225298 0.994589 -0.070837 +v -0.549767 0.994589 0.070837 +v 1.225298 1.143051 -0.043128 +v -1.531817 1.143051 -0.043128 +v -1.531817 1.143051 0.043128 +v 1.225298 1.143051 0.043128 +v 1.313063 0.996053 0.070837 +v 1.498769 0.996053 0.070837 +v 1.313063 1.160981 -0.058974 +v 1.313063 0.996053 -0.070837 +v 1.225298 1.084802 -0.070837 +v 1.269521 1.219445 0.031927 +v 1.498769 0.996053 -0.070837 +v 1.498769 1.160981 -0.058974 +v 1.312826 1.230366 -0.031927 +v 1.498532 1.230366 -0.031927 +v 1.575087 0.954078 -0.070837 +v 1.575087 1.119006 -0.070837 +v 1.575087 1.119006 0.070837 +v 1.575087 0.954078 0.070837 +v 1.269521 1.219445 -0.031927 +v 1.554546 1.188392 0.031927 +v 1.554546 1.188392 -0.031927 +v -0.514597 1.084445 0.070837 +v -0.234129 1.084445 0.070837 +v 0.083877 1.084445 0.070837 +v 0.364860 1.084445 0.070837 +v 0.682044 1.084445 0.070837 +v 0.964998 1.084754 -0.070837 +v 0.683980 1.084702 -0.070837 +v 0.366670 1.084643 -0.070837 +v 0.084942 1.084590 -0.070837 +v -0.230760 1.084532 -0.070837 +v -0.232953 1.052983 -0.070837 +v -0.232953 1.052983 0.070837 +v -0.514357 1.052983 0.070837 +v -0.197543 1.006668 0.070837 +v -0.197543 1.006668 -0.070837 +v -0.549767 1.006668 0.070837 +v 0.084425 1.052983 -0.070837 +v 0.365828 1.052983 -0.070837 +v 0.365828 1.052983 0.070837 +v 0.084425 1.052983 0.070837 +v 0.401239 1.006668 0.070837 +v 0.401239 1.006668 -0.070837 +v 0.049014 1.006668 -0.070837 +v 0.049014 1.006668 0.070837 +v 0.683207 1.052983 -0.070837 +v 0.964610 1.052983 -0.070837 +v 0.683207 1.052983 0.070837 +v 1.000021 1.006668 -0.070837 +v 0.647796 1.006668 -0.070837 +v 0.647796 1.006668 0.070837 +v 1.103664 0.525584 -0.500000 +v 1.292985 0.525584 -0.500000 +v 1.292985 0.172030 -0.353553 +v 1.103664 0.172030 -0.353553 +v 1.103664 0.525584 0.500000 +v 1.292985 0.525584 0.500000 +v 1.292985 0.879137 0.353553 +v 1.103664 0.879137 0.353553 +v 1.292985 1.025584 0.000000 +v 1.103664 1.025584 0.000000 +v 1.503651 1.012795 0.000000 +v 1.503651 0.870094 -0.344510 +v 1.509822 0.895986 -0.370402 +v 1.509822 1.049411 0.000000 +v 1.080568 0.851567 0.325983 +v 1.080568 0.525584 0.461010 +v 1.292985 0.879137 -0.353553 +v 1.286814 0.905708 -0.380125 +v 1.286814 0.525584 -0.537577 +v 1.286814 0.525584 0.537577 +v 1.286814 0.905708 0.380125 +v 1.503651 0.038372 0.000000 +v 1.503651 0.181073 0.344510 +v 1.509822 0.155181 0.370402 +v 1.509822 0.001756 0.000000 +v 1.503651 0.870094 0.344510 +v 1.509822 0.895986 0.370402 +v 1.503651 0.525584 0.487211 +v 1.669294 0.525584 0.401911 +v 1.669294 0.809777 0.284194 +v 1.503651 0.181073 -0.344510 +v 1.503651 0.525584 -0.487211 +v 1.669294 0.525584 -0.401911 +v 1.669294 0.241390 -0.284194 +v 1.669294 0.809777 -0.284194 +v 1.669294 0.927494 0.000000 +v 1.669294 0.241390 0.284194 +v -0.603601 0.525584 -0.500000 +v 1.044523 0.525584 -0.500000 +v 1.044523 0.172030 -0.353553 +v -0.603601 0.172030 -0.353553 +v -0.603601 0.025584 0.000000 +v 1.044523 0.025584 0.000000 +v 1.044523 0.172030 0.353553 +v -0.603601 0.172030 0.353553 +v 0.951045 0.197436 0.364077 +v -0.460212 0.197436 0.364077 +v 1.044523 0.879137 0.353553 +v 0.899442 0.953734 0.173461 +v 0.899442 0.879137 0.353553 +v 1.044523 0.525584 0.500000 +v 1.068921 0.199748 0.325836 +v 1.068921 0.525584 0.460801 +v 1.044523 0.879137 -0.353553 +v 0.899442 0.735289 -0.413137 +v 0.899442 0.879137 -0.353553 +v 1.068921 0.986385 0.000000 +v 1.068921 0.851420 -0.325836 +v 1.044523 1.025584 0.000000 +v 0.985768 0.843292 0.316901 +v 0.899442 0.843292 0.316901 +v 0.899442 0.918248 0.161081 +v 1.068921 0.525584 -0.460801 +v 1.068921 0.199748 -0.325836 +v 1.068921 0.851420 0.325836 +v 1.080568 0.851567 -0.325983 +v 1.080568 0.525584 -0.461010 +v 1.080568 0.199600 -0.325983 +v 1.080568 0.064574 0.000000 +v 1.080568 0.199600 0.325983 +v 1.080568 0.986594 0.000000 +v 1.103664 0.172030 0.353553 +v 1.068921 0.064782 0.000000 +v -0.603601 1.025584 0.000000 +v 0.810528 0.997935 -0.101577 +v -0.388078 0.997935 -0.101577 +v 0.810528 0.952228 0.101577 +v 0.969099 0.952228 0.101577 +v 0.899442 0.719760 0.368080 +v 0.810528 0.997935 0.101577 +v -0.388078 0.997935 0.101577 +v 0.810528 0.655494 -0.446189 +v 1.286814 1.063161 0.000000 +v 1.320923 0.951339 0.425755 +v 1.320923 1.127692 0.000000 +v 1.286814 0.145459 -0.380125 +v 1.320923 0.525584 -0.602109 +v 1.320923 0.099829 -0.425755 +v 1.509822 0.525584 -0.523828 +v 1.475712 0.525584 -0.586708 +v 1.475712 0.940449 -0.414865 +v 1.286814 -0.011994 -0.000000 +v 1.320923 -0.076525 -0.000000 +v 1.509822 0.525584 0.523828 +v 1.475712 0.940449 0.414865 +v 1.475712 0.525584 0.586708 +v 1.509822 0.155181 -0.370402 +v 1.320923 0.525584 0.602109 +v 1.320923 0.951339 -0.425755 +v 1.475712 0.110718 -0.414866 +v 1.475712 1.112292 0.000000 +v 1.475712 0.110718 0.414866 +v 1.669294 0.271118 -0.254466 +v 1.669294 0.525584 -0.359869 +v 1.423236 0.525584 -0.300328 +v 1.423236 0.313220 -0.212364 +v 1.669294 0.780049 -0.254466 +v 1.669294 0.885452 0.000000 +v 1.669294 0.525584 0.359869 +v 1.669294 0.780049 0.254466 +v 1.669294 0.271118 0.254466 +v 1.423236 0.737947 -0.212364 +v 1.423236 0.825911 0.000000 +v 1.657500 0.838523 0.000000 +v 1.657500 0.746865 -0.221281 +v 1.423236 0.525584 0.300328 +v 1.423236 0.737947 0.212364 +v 1.657500 0.746865 0.221281 +v 1.657500 0.525584 0.312939 +v 1.657500 0.525584 0.252281 +v 1.657500 0.703973 0.178389 +v 1.657500 0.525584 -0.312939 +v 1.657500 0.304302 -0.221282 +v 1.423236 0.313220 0.212364 +v 1.657500 0.304302 0.221282 +v 1.657500 0.703973 -0.178389 +v 1.657500 0.525584 -0.252281 +v 1.657500 0.347194 -0.178389 +v 1.657500 0.347194 0.178389 +v 1.432520 0.525584 -0.169385 +v 1.432520 0.645357 -0.119773 +v 1.651829 0.645357 -0.119773 +v 1.651829 0.525584 -0.169385 +v 1.657500 0.777864 0.000000 +v 1.432520 0.645357 0.119773 +v 1.432520 0.694968 0.000000 +v 1.432520 0.405810 -0.119773 +v 1.432520 0.405810 0.119773 +v 1.432520 0.525584 0.169385 +v 1.657500 0.273303 0.000000 +v 1.432520 0.356199 0.000000 +v 1.651829 0.431184 0.000000 +v 1.651829 0.356199 0.000000 +v 1.651829 0.405810 -0.119773 +v 1.651829 0.525394 -0.094211 +v 1.651829 0.458777 -0.066617 +v 1.651829 0.405810 0.119773 +v 1.651829 0.525584 0.169385 +v 1.651829 0.645357 0.119773 +v 1.127542 0.525394 -0.094211 +v 1.127542 0.458777 -0.066617 +v 1.127542 0.431184 0.000000 +v 1.127542 0.525394 0.094211 +v 1.127542 0.592011 0.066617 +v 1.651829 0.592011 0.066617 +v 1.651829 0.525394 0.094211 +v 1.651829 0.619605 0.000000 +v 1.127542 0.619605 0.000000 +v 1.127542 0.592011 -0.066617 +v 1.651829 0.592011 -0.066617 +v 1.127542 0.458777 0.066617 +v -0.476991 0.837264 -0.291860 +v -0.476991 0.714942 -0.357372 +v -0.476991 0.735289 -0.413137 +v -0.476991 0.879137 -0.353553 +v -0.476991 0.879137 0.353553 +v -0.476991 0.953734 0.173461 +v -0.603601 0.879137 0.353553 +v 0.899442 0.735289 0.413137 +v -0.603601 0.879137 -0.353553 +v -0.724548 0.869896 -0.337068 +v -0.476991 0.953734 -0.173461 +v -0.476991 0.735289 0.413137 +v -0.388078 0.655494 0.446189 +v -0.388078 0.655494 -0.446189 +v 0.810528 0.655494 0.446189 +v -0.603601 0.525584 0.500000 +v 1.651829 0.458777 0.066617 +v -0.388078 0.633076 0.392654 +v -0.476991 0.714942 0.357372 +v -0.476991 0.837264 0.291860 +v -0.388078 0.944133 0.101577 +v -0.388078 0.944133 -0.101577 +v 0.810528 0.952228 -0.101577 +v 1.657500 0.212644 0.000000 +v 1.651829 0.694968 0.000000 +v -0.476991 0.926475 0.173461 +v 0.899442 0.843292 -0.316901 +v 0.899442 0.918248 -0.161081 +v 0.899442 0.953734 -0.173461 +v 0.899442 0.719760 -0.368080 +v 0.810528 0.655494 -0.378684 +v 0.810528 0.655494 0.378684 +v -0.388078 0.633076 -0.392654 +v 1.669294 0.123673 0.000000 +v 1.669294 0.165715 0.000000 +v 0.985768 0.843292 -0.316901 +v 0.969099 0.952228 -0.101577 +v 1.475712 -0.061125 -0.000000 +v 1.423236 0.225256 0.000000 +v 0.984259 0.528318 -0.436781 +v 0.984259 0.228435 -0.325032 +v 0.984259 0.095638 0.005025 +v 0.984259 0.228435 0.325032 +v 0.984259 0.528318 0.436781 +v 1.103664 0.025584 0.000000 +v -0.534084 0.903408 0.173461 +v -0.534084 0.903408 -0.173461 +v -0.476991 0.926475 -0.173461 +v -0.548068 0.837264 0.291860 +v -0.548068 0.837264 -0.291860 +v 1.292985 0.025584 0.000000 +v -0.550334 0.529772 0.433593 +v -0.550334 0.236472 0.339820 +v -0.550334 0.062663 0.005342 +v -0.550334 0.236472 -0.339820 +v -0.550334 0.529772 -0.433593 +v -0.388078 0.540720 0.422003 +v -0.388078 0.540720 -0.422003 +v 0.810528 0.526819 -0.419828 +v 0.810528 0.526819 0.419828 +v -0.388078 0.088709 0.007100 +v -0.388078 0.229035 -0.323350 +v -0.388078 0.229035 0.323350 +v 0.810528 0.240010 -0.300109 +v 0.810528 0.100279 0.006216 +v 0.810528 0.240010 0.300109 +v -0.460212 0.500178 0.489476 +v 0.678212 0.092276 -0.724878 +v 0.648869 0.138277 -0.701704 +v 0.951045 0.500178 0.489476 +v 0.646934 0.318302 -0.775205 +v 0.641987 0.458293 -0.590595 +v 0.671568 0.425284 -0.596467 +v 0.673140 0.318430 -0.775219 +v 0.003785 0.107850 -0.712878 +v 0.003776 0.311542 -0.796039 +v 0.286340 0.110829 -0.713675 +v 0.335441 0.111139 -0.713708 +v 0.137117 0.111516 -0.714176 +v 0.181234 0.111785 -0.714205 +v 0.643209 0.321800 -0.818636 +v 0.285150 0.311362 -0.795548 +v 0.335438 0.311680 -0.795582 +v 0.346589 0.320346 -0.818478 +v 0.273733 0.319982 -0.818438 +v 0.137105 0.309206 -0.794886 +v 0.180025 0.309468 -0.794915 +v 0.188876 0.319558 -0.818392 +v 0.127999 0.319254 -0.818359 +v 0.051715 0.318872 -0.818317 +v 0.044163 0.311789 -0.796066 +v 0.045414 0.108104 -0.712906 +v 0.949896 0.093608 -0.725023 +v 0.645678 0.092117 -0.724860 +v 0.346592 0.090651 -0.724701 +v 0.275455 0.090295 -0.724662 +v 0.190590 0.089871 -0.724616 +v 0.128016 0.089558 -0.724582 +v 0.053442 0.089185 -0.724541 +v -0.004002 0.088898 -0.724510 +v -0.004015 0.318594 -0.818287 +v -0.060217 0.318313 -0.818256 +v -0.059018 0.088623 -0.724480 +v 0.678557 0.155552 -0.465195 +v 0.649846 0.155552 -0.465195 +v 0.951045 0.155552 -0.465195 +v 0.674638 0.458293 -0.590595 +v 0.676644 0.321964 -0.818654 +v 0.948697 0.323297 -0.818799 +v 0.951045 0.458293 -0.590595 +v 0.641563 0.500178 -0.489476 +v 0.674042 0.500178 -0.489476 +v 0.951045 0.500178 -0.489476 +v -0.460212 0.155552 -0.465195 +v -0.460212 0.458293 -0.590595 +v -0.460212 0.500178 -0.489476 +v 0.951045 0.197436 -0.364077 +v -0.460212 0.197436 -0.364077 +v 1.292985 0.172030 0.353553 +v 1.103664 0.879137 -0.353553 +v -0.460212 0.197436 -0.364077 +v 0.951045 0.197436 -0.364077 +v 1.286814 0.145459 0.380125 +v 1.320923 0.099829 0.425755 +v -0.460212 0.500178 -0.489476 +v 0.951045 0.500178 -0.489476 +v -0.724548 0.532825 -0.476687 +v -0.724548 0.195753 -0.337068 +v -0.724548 0.056134 0.000004 +v -0.724548 0.195753 0.337075 +v -0.724548 0.532825 0.476694 +v -0.724548 0.869896 0.337075 +v -0.724548 1.009515 0.000004 +v 0.951045 0.197436 0.364077 +v -0.460212 0.197436 0.364077 +v -0.460212 0.500178 0.489476 +v -0.460212 0.155552 0.465195 +v -0.460212 0.458293 0.590595 +v 0.641563 0.500178 0.489476 +v 0.674042 0.500178 0.489476 +v 0.951045 0.500178 0.489476 +v 0.951045 0.458293 0.590595 +v 0.674638 0.458293 0.590595 +v 0.676644 0.321964 0.818654 +v 0.948697 0.323297 0.818799 +v 0.951045 0.155552 0.465195 +v 0.678557 0.155552 0.465195 +v 0.649846 0.155552 0.465195 +v -0.059018 0.088623 0.724480 +v -0.004002 0.088898 0.724510 +v -0.004015 0.318594 0.818287 +v -0.060217 0.318313 0.818256 +v 0.645678 0.092117 0.724860 +v 0.346592 0.090651 0.724701 +v 0.275455 0.090295 0.724662 +v 0.190590 0.089871 0.724616 +v 0.128016 0.089558 0.724582 +v 0.053442 0.089185 0.724541 +v 0.949896 0.093608 0.725023 +v 0.051715 0.318872 0.818317 +v 0.044163 0.311789 0.796066 +v 0.045414 0.108104 0.712906 +v 0.127999 0.319254 0.818359 +v 0.188876 0.319558 0.818392 +v 0.137105 0.309206 0.794886 +v 0.180025 0.309468 0.794915 +v 0.273733 0.319982 0.818438 +v 0.346589 0.320346 0.818478 +v 0.285150 0.311362 0.795548 +v 0.335438 0.311680 0.795582 +v 0.643209 0.321800 0.818636 +v 0.137117 0.111516 0.714176 +v 0.181234 0.111785 0.714205 +v 0.286340 0.110829 0.713675 +v 0.335441 0.111139 0.713708 +v 0.003776 0.311542 0.796039 +v 0.003785 0.107850 0.712878 +v 0.671568 0.425284 0.596467 +v 0.673140 0.318430 0.775219 +v 0.641987 0.458293 0.590595 +v 0.648869 0.138277 0.701704 +v 0.646934 0.318302 0.775205 +v 0.678212 0.092276 0.724878 +v 0.674369 0.138402 0.701718 +v 0.645976 0.425284 0.596467 +v 0.645644 0.458113 0.517211 +v 0.671101 0.458113 0.517211 +v 0.652136 0.187997 0.498180 +v 0.674639 0.187997 0.498180 +v 0.674369 0.138402 -0.701718 +v 0.645644 0.458113 -0.517211 +v 0.645976 0.425284 -0.596467 +v 0.671101 0.458113 -0.517211 +v 0.674639 0.187997 -0.498180 +v 0.652136 0.187997 -0.498180 +v -0.436383 0.265019 0.509254 +v 1.004741 0.265019 0.509254 +v 1.004741 0.179718 0.544586 +v -0.436383 0.179718 0.544586 +v 1.004741 0.144386 0.629887 +v -0.436383 0.144385 0.629887 +v 1.004741 0.179718 0.715187 +v -0.436383 0.179718 0.715187 +v 1.004741 0.265019 0.750520 +v -0.436383 0.265019 0.750520 +v 1.004741 0.350319 0.715187 +v -0.436383 0.350319 0.715187 +v 1.004741 0.385652 0.629887 +v -0.436383 0.385652 0.629887 +v 1.088061 0.265019 0.750520 +v 1.088061 0.350319 0.715187 +v 1.004741 0.350319 0.544586 +v -0.436383 0.350319 0.544586 +v -0.513171 0.364069 0.629887 +v -0.513171 0.335058 0.699926 +v -0.513171 0.265019 0.530836 +v -0.513171 0.194979 0.559848 +v -0.513171 0.165968 0.629887 +v -0.513171 0.194979 0.699926 +v -0.513171 0.265019 0.728937 +v -0.513171 0.335058 0.559848 +v 1.088061 0.265019 0.509254 +v 1.088061 0.350319 0.544586 +v 1.100404 0.336110 0.558795 +v 1.100404 0.265019 0.529348 +v 1.088061 0.179718 0.544586 +v 1.088061 0.144386 0.629887 +v 1.088061 0.179718 0.715187 +v 1.088061 0.385652 0.629887 +v 1.100404 0.336110 0.700979 +v 1.100404 0.365558 0.629887 +v 1.100404 0.193927 0.700979 +v 1.100404 0.265019 0.730426 +v 1.100404 0.193927 0.558795 +v 1.100404 0.164480 0.629887 +v 1.127149 0.181939 0.629887 +v 1.127149 0.206273 0.688633 +v 1.127149 0.206273 0.571141 +v 1.127149 0.265019 0.546807 +v 1.127149 0.323765 0.571141 +v 1.127149 0.348098 0.629887 +v 1.127149 0.323765 0.688633 +v 1.127149 0.265019 0.712966 +v -0.436384 0.265019 -0.509254 +v -0.436384 0.179718 -0.544586 +v 1.004741 0.179718 -0.544586 +v 1.004741 0.265019 -0.509254 +v -0.436384 0.144385 -0.629887 +v 1.004741 0.144386 -0.629887 +v -0.436384 0.179718 -0.715187 +v 1.004741 0.179718 -0.715187 +v -0.436384 0.265019 -0.750520 +v 1.004741 0.265019 -0.750520 +v -0.436384 0.350319 -0.715187 +v 1.004741 0.350319 -0.715187 +v -0.436384 0.385652 -0.629887 +v 1.004741 0.385652 -0.629887 +v 1.088061 0.350319 -0.715187 +v 1.088061 0.265019 -0.750520 +v -0.436384 0.350319 -0.544586 +v 1.004741 0.350319 -0.544586 +v -0.513171 0.335058 -0.699926 +v -0.513171 0.364069 -0.629887 +v -0.513171 0.265019 -0.530836 +v -0.513171 0.335058 -0.559848 +v -0.513171 0.265019 -0.728937 +v -0.513171 0.194979 -0.699926 +v -0.513171 0.165968 -0.629887 +v -0.513171 0.194979 -0.559848 +v 1.088061 0.265019 -0.509254 +v 1.100404 0.265019 -0.529348 +v 1.100404 0.336111 -0.558795 +v 1.088061 0.350319 -0.544586 +v 1.088061 0.179718 -0.544586 +v 1.088061 0.179718 -0.715187 +v 1.088061 0.144386 -0.629887 +v 1.088061 0.385652 -0.629887 +v 1.100404 0.365558 -0.629887 +v 1.100404 0.336110 -0.700979 +v 1.100404 0.265019 -0.730426 +v 1.100404 0.193927 -0.700979 +v 1.100404 0.164480 -0.629887 +v 1.100404 0.193927 -0.558795 +v 1.127149 0.206273 -0.688633 +v 1.127149 0.181939 -0.629887 +v 1.127149 0.206273 -0.571141 +v 1.127149 0.265019 -0.712966 +v 1.127149 0.323765 -0.688633 +v 1.127149 0.348098 -0.629887 +v 1.127149 0.323765 -0.571141 +v 1.127149 0.265019 -0.546807 +v -2.120991 0.943304 0.035550 +v -2.158085 0.862576 0.035550 +v -2.120991 0.943304 -0.035550 +v -2.158085 0.862576 -0.035550 +v -2.003111 1.008603 0.035550 +v -2.003111 1.008603 -0.035550 +v -1.938336 0.967051 0.035550 +v -1.938336 0.967051 -0.035550 +v -2.111712 0.819430 0.035550 +v -2.111712 0.819430 -0.035550 +v -2.120991 0.346120 -0.035550 +v -2.158085 0.426848 -0.035550 +v -2.120991 0.346120 0.035550 +v -2.158085 0.426848 0.035550 +v -2.003111 0.280821 -0.035550 +v -2.003111 0.280821 0.035550 +v -1.938336 0.322373 -0.035550 +v -1.938336 0.322373 0.035550 +v -2.111712 0.469994 -0.035550 +v -2.111712 0.469994 0.035550 +v -2.120991 0.609162 0.298592 +v -2.158085 0.609162 0.217864 +v -2.120991 0.680262 0.298592 +v -2.158085 0.680262 0.217864 +v -2.003111 0.609162 0.363891 +v -2.003111 0.680262 0.363891 +v -1.938336 0.609162 0.322339 +v -1.938336 0.680262 0.322339 +v -2.111712 0.609162 0.174718 +v -2.111712 0.680262 0.174718 +v -2.120991 0.680262 -0.298592 +v -2.158085 0.680262 -0.217864 +v -2.120991 0.609162 -0.298592 +v -2.158085 0.609162 -0.217864 +v -2.003111 0.680262 -0.363891 +v -2.003111 0.609162 -0.363891 +v -1.938336 0.680262 -0.322339 +v -1.938336 0.609162 -0.322339 +v -2.111712 0.680262 -0.174718 +v -2.111712 0.609162 -0.174718 +v -2.120991 0.830711 0.236274 +v -2.158085 0.773628 0.179191 +v -2.120991 0.880986 0.185999 +v -2.158085 0.823903 0.128916 +v -2.003111 0.876884 0.282447 +v -2.003111 0.927159 0.232172 +v -1.938336 0.847503 0.253066 +v -1.938336 0.897778 0.202791 +v -2.111712 0.743119 0.148682 +v -2.111712 0.793394 0.098407 +v -2.120991 0.458713 -0.236274 +v -2.158085 0.515796 -0.179191 +v -2.120991 0.408438 -0.185999 +v -2.158085 0.465521 -0.128916 +v -2.003111 0.412540 -0.282447 +v -2.003111 0.362265 -0.232172 +v -1.938336 0.441921 -0.253066 +v -1.938336 0.391646 -0.202791 +v -2.111712 0.546305 -0.148682 +v -2.111712 0.496030 -0.098407 +v -2.120991 0.408438 0.185999 +v -2.158085 0.465521 0.128916 +v -2.120991 0.458713 0.236274 +v -2.158085 0.515796 0.179191 +v -2.003111 0.362265 0.232172 +v -2.003111 0.412540 0.282447 +v -1.938336 0.391646 0.202791 +v -1.938336 0.441921 0.253066 +v -2.111712 0.496030 0.098407 +v -2.111712 0.546305 0.148682 +v -2.120991 0.880986 -0.185999 +v -2.158085 0.823903 -0.128916 +v -2.120991 0.830711 -0.236274 +v -2.158085 0.773628 -0.179191 +v -2.003111 0.927159 -0.232172 +v -2.003111 0.876884 -0.282447 +v -1.938336 0.897778 -0.202791 +v -1.938336 0.847503 -0.253066 +v -2.111712 0.793394 -0.098407 +v -2.111712 0.743119 -0.148682 +vt 0.500000 0.265625 +vt 0.531250 0.226562 +vt 0.531250 0.265625 +vt 0.500000 0.226562 +vt 0.531250 0.187500 +vt 0.500000 0.500000 +vt 0.531250 0.460938 +vt 0.531250 0.500000 +vt 0.500000 0.460938 +vt 0.531250 0.421875 +vt 0.500000 0.421875 +vt 0.531250 0.382812 +vt 0.500000 0.382812 +vt 0.531250 0.343750 +vt 0.822057 0.744753 +vt 0.801034 0.723730 +vt 0.872812 0.693998 +vt 0.500000 0.343750 +vt 0.531250 0.304688 +vt 0.500000 0.304688 +vt 0.944804 0.723730 +vt 0.894049 0.744753 +vt 0.873025 0.693998 +vt 0.500000 0.265625 +vt 0.531250 0.226562 +vt 0.531250 0.265625 +vt 0.500000 0.226562 +vt 0.531250 0.187500 +vt 0.500000 0.500000 +vt 0.531250 0.460938 +vt 0.531250 0.500000 +vt 0.500000 0.460938 +vt 0.531250 0.421875 +vt 0.500000 0.421875 +vt 0.531250 0.382812 +vt 0.500000 0.382812 +vt 0.531250 0.343750 +vt 0.750065 0.816745 +vt 0.729042 0.795722 +vt 0.800820 0.765990 +vt 0.500000 0.343750 +vt 0.531250 0.304688 +vt 0.500000 0.304688 +vt 0.872812 0.867713 +vt 0.822057 0.888737 +vt 0.801034 0.837982 +vt 0.500000 0.265625 +vt 0.531250 0.226562 +vt 0.531250 0.265625 +vt 0.500000 0.226562 +vt 0.531250 0.187500 +vt 0.500000 0.500000 +vt 0.531250 0.460938 +vt 0.531250 0.500000 +vt 0.500000 0.460938 +vt 0.531250 0.421875 +vt 0.500000 0.421875 +vt 0.531250 0.382812 +vt 0.500000 0.382812 +vt 0.531250 0.343750 +vt 0.678074 0.744753 +vt 0.657050 0.723730 +vt 0.728829 0.693998 +vt 0.500000 0.343750 +vt 0.531250 0.304688 +vt 0.500000 0.304688 +vt 0.728829 0.939705 +vt 0.678074 0.960729 +vt 0.657050 0.909974 +vt 0.500000 0.265625 +vt 0.531250 0.226562 +vt 0.531250 0.265625 +vt 0.500000 0.226562 +vt 0.531250 0.187500 +vt 0.500000 0.500000 +vt 0.531250 0.460938 +vt 0.531250 0.500000 +vt 0.500000 0.460938 +vt 0.531250 0.421875 +vt 0.500000 0.421875 +vt 0.531250 0.382812 +vt 0.500000 0.382812 +vt 0.531250 0.343750 +vt 0.750065 0.744753 +vt 0.729042 0.723730 +vt 0.800820 0.693998 +vt 0.500000 0.343750 +vt 0.531250 0.304688 +vt 0.500000 0.304688 +vt 0.728829 0.867713 +vt 0.678074 0.888737 +vt 0.657050 0.837982 +vt 0.500000 0.265625 +vt 0.531250 0.226562 +vt 0.531250 0.265625 +vt 0.500000 0.226562 +vt 0.531250 0.187500 +vt 0.500000 0.500000 +vt 0.531250 0.460938 +vt 0.531250 0.500000 +vt 0.500000 0.460938 +vt 0.531250 0.421875 +vt 0.500000 0.421875 +vt 0.531250 0.382812 +vt 0.500000 0.382812 +vt 0.531250 0.343750 +vt 0.678074 0.816745 +vt 0.657050 0.795722 +vt 0.728829 0.765990 +vt 0.500000 0.343750 +vt 0.531250 0.304688 +vt 0.500000 0.304688 +vt 0.872812 0.795722 +vt 0.822057 0.816745 +vt 0.801034 0.765990 +vt 0.792241 0.765292 +vt 0.806786 0.772343 +vt 0.792185 0.772343 +vt 0.806674 0.779394 +vt 0.792073 0.779394 +vt 0.806618 0.786445 +vt 0.792017 0.786445 +vt 0.792073 0.793497 +vt 0.710865 0.890954 +vt 0.707339 0.884848 +vt 0.717917 0.878741 +vt 0.806674 0.793497 +vt 0.792185 0.800547 +vt 0.806786 0.800547 +vt 0.792241 0.807599 +vt 0.792241 0.807743 +vt 0.806786 0.814794 +vt 0.792185 0.814794 +vt 0.806674 0.821845 +vt 0.792073 0.821845 +vt 0.806618 0.828896 +vt 0.792017 0.828896 +vt 0.792073 0.835947 +vt 0.602536 0.912132 +vt 0.596430 0.908607 +vt 0.602536 0.898029 +vt 0.806674 0.835947 +vt 0.792185 0.842998 +vt 0.806786 0.842998 +vt 0.792241 0.850049 +vt 0.797635 0.690671 +vt 0.812180 0.697723 +vt 0.797579 0.697723 +vt 0.812068 0.704773 +vt 0.797468 0.704773 +vt 0.812012 0.711825 +vt 0.797412 0.711825 +vt 0.797468 0.718876 +vt 0.713446 0.905202 +vt 0.707339 0.901676 +vt 0.713446 0.891099 +vt 0.812068 0.718876 +vt 0.797579 0.725927 +vt 0.812180 0.725927 +vt 0.797635 0.732978 +vt 0.725698 0.877553 +vt 0.737025 0.908837 +vt 0.725698 0.910410 +vt 0.739301 0.911771 +vt 0.792924 0.923206 +vt 0.739301 0.923206 +vt 0.795200 0.908837 +vt 0.806526 0.877554 +vt 0.806526 0.910410 +vt 0.792924 0.873046 +vt 0.739301 0.861611 +vt 0.792924 0.861611 +vt 0.737025 0.875980 +vt 0.742886 0.906641 +vt 0.789339 0.878177 +vt 0.789339 0.906641 +vt 0.742886 0.878177 +vt 0.739301 0.873046 +vt 0.792924 0.911771 +vt 0.795200 0.875980 +vt 0.692595 0.878597 +vt 0.707139 0.871545 +vt 0.707195 0.878597 +vt 0.692539 0.871545 +vt 0.707027 0.864495 +vt 0.692427 0.864495 +vt 0.706971 0.857444 +vt 0.692427 0.850392 +vt 0.692371 0.857444 +vt 0.809625 0.750895 +vt 0.809625 0.757947 +vt 0.803518 0.761472 +vt 0.692539 0.843341 +vt 0.707027 0.850392 +vt 0.692595 0.836290 +vt 0.707139 0.843341 +vt 0.677626 0.878597 +vt 0.692171 0.871545 +vt 0.692227 0.878597 +vt 0.677570 0.871545 +vt 0.692059 0.864495 +vt 0.677458 0.864495 +vt 0.692003 0.857443 +vt 0.677458 0.850392 +vt 0.677402 0.857443 +vt 0.809625 0.736648 +vt 0.809625 0.743699 +vt 0.803518 0.747225 +vt 0.677570 0.843341 +vt 0.692059 0.850392 +vt 0.677626 0.836290 +vt 0.692171 0.843341 +vt 0.707563 0.878597 +vt 0.722108 0.871545 +vt 0.722164 0.878597 +vt 0.707507 0.871545 +vt 0.721996 0.864495 +vt 0.707395 0.864495 +vt 0.721940 0.857443 +vt 0.707395 0.850392 +vt 0.707339 0.857443 +vt 0.790935 0.847539 +vt 0.790935 0.854590 +vt 0.784828 0.858116 +vt 0.707507 0.843341 +vt 0.721996 0.850392 +vt 0.707563 0.836290 +vt 0.722108 0.843341 +vt 0.596430 0.881943 +vt 0.607756 0.850659 +vt 0.607756 0.883516 +vt 0.663656 0.836290 +vt 0.610032 0.847725 +vt 0.610032 0.836290 +vt 0.677258 0.881943 +vt 0.665931 0.850659 +vt 0.677258 0.849086 +vt 0.610032 0.897885 +vt 0.663656 0.886450 +vt 0.663656 0.897885 +vt 0.613617 0.852856 +vt 0.660071 0.881319 +vt 0.660071 0.852856 +vt 0.610032 0.886450 +vt 0.663656 0.847725 +vt 0.665932 0.883516 +vt 0.815201 0.764122 +vt 0.805115 0.750247 +vt 0.815201 0.750247 +vt 0.817141 0.641039 +vt 0.870476 0.653777 +vt 0.814975 0.653777 +vt 0.609375 0.500000 +vt 0.667969 0.464844 +vt 0.667969 0.500000 +vt 0.871129 0.715795 +vt 0.815201 0.701921 +vt 0.871129 0.701921 +vt 0.871129 0.798574 +vt 0.871129 0.764122 +vt 0.854479 0.926427 +vt 0.891341 0.925198 +vt 0.888931 0.926427 +vt 0.796980 0.925198 +vt 0.836253 0.909544 +vt 0.836253 0.925198 +vt 0.799390 0.926427 +vt 0.833842 0.926427 +vt 0.796009 0.927723 +vt 0.781164 0.925198 +vt 0.837223 0.927723 +vt 0.852068 0.925198 +vt 0.851098 0.927723 +vt 0.852068 0.909544 +vt 0.837130 0.907319 +vt 0.851191 0.907319 +vt 0.796980 0.909544 +vt 0.891341 0.909544 +vt 0.634130 0.888554 +vt 0.669086 0.895466 +vt 0.634655 0.897270 +vt 0.854247 0.908557 +vt 0.889162 0.908557 +vt 0.834073 0.908557 +vt 0.781164 0.909544 +vt 0.796102 0.907319 +vt 0.682970 0.929943 +vt 0.682970 0.895466 +vt 0.683058 0.886728 +vt 0.668998 0.886728 +vt 0.620805 0.898244 +vt 0.620104 0.889541 +vt 0.586461 0.901279 +vt 0.585325 0.892614 +vt 0.785608 0.715795 +vt 0.805115 0.701921 +vt 0.805115 0.715795 +vt 0.815201 0.715795 +vt 0.815201 0.798574 +vt 0.808427 0.771594 +vt 0.808427 0.742775 +vt 0.808427 0.723268 +vt 0.804494 0.651062 +vt 0.870476 0.687966 +vt 0.814975 0.701735 +vt 0.814975 0.687966 +vt 0.866125 0.600252 +vt 0.807497 0.609109 +vt 0.667969 0.464844 +vt 0.609375 0.500000 +vt 0.609375 0.464844 +vt 0.783574 0.905836 +vt 0.820437 0.904607 +vt 0.818026 0.905836 +vt 0.836253 0.888953 +vt 0.875526 0.904607 +vt 0.836253 0.904607 +vt 0.873115 0.905836 +vt 0.838663 0.905836 +vt 0.876496 0.907133 +vt 0.891341 0.904607 +vt 0.890371 0.907133 +vt 0.835282 0.907133 +vt 0.821407 0.907133 +vt 0.820437 0.888953 +vt 0.835375 0.886728 +vt 0.875526 0.888953 +vt 0.781164 0.888953 +vt 0.781164 0.904607 +vt 0.732050 0.928117 +vt 0.767005 0.921205 +vt 0.766917 0.929943 +vt 0.818258 0.887966 +vt 0.838432 0.887966 +vt 0.876403 0.886728 +vt 0.891341 0.888953 +vt 0.780890 0.886728 +vt 0.780890 0.921205 +vt 0.780978 0.929943 +vt 0.718724 0.918427 +vt 0.718024 0.927130 +vt 0.684381 0.915392 +vt 0.683244 0.924057 +vt 0.804966 0.701735 +vt 0.785608 0.687966 +vt 0.804966 0.687966 +vt 0.808774 0.637292 +vt 0.808253 0.661193 +vt 0.871129 0.750247 +vt 0.791853 0.824225 +vt 0.783842 0.834044 +vt 0.783845 0.824223 +vt 0.791849 0.834047 +vt 0.783839 0.843866 +vt 0.791873 0.765295 +vt 0.783862 0.775114 +vt 0.783866 0.765292 +vt 0.791869 0.775116 +vt 0.783859 0.784935 +vt 0.791866 0.784938 +vt 0.783855 0.794757 +vt 0.791863 0.794760 +vt 0.783852 0.804579 +vt 0.791859 0.804582 +vt 0.783849 0.814401 +vt 0.791856 0.814404 +vt 0.778742 0.784012 +vt 0.778744 0.776033 +vt 0.677402 0.884383 +vt 0.683044 0.878741 +vt 0.691023 0.898004 +vt 0.778734 0.805499 +vt 0.778724 0.834964 +vt 0.778741 0.785855 +vt 0.778728 0.823299 +vt 0.778731 0.815320 +vt 0.778728 0.825142 +vt 0.778745 0.774191 +vt 0.778748 0.766212 +vt 0.778735 0.803656 +vt 0.778738 0.795677 +vt 0.271409 0.769029 +vt 0.265832 0.744085 +vt 0.271409 0.744085 +vt 0.265832 0.769029 +vt 0.260254 0.744085 +vt 0.260254 0.769029 +vt 0.254677 0.744085 +vt 0.254677 0.769029 +vt 0.249099 0.744085 +vt 0.249099 0.769029 +vt 0.243522 0.744085 +vt 0.243522 0.769029 +vt 0.237944 0.744085 +vt 0.261888 0.772973 +vt 0.275353 0.778551 +vt 0.237944 0.769029 +vt 0.232367 0.744085 +vt 0.232367 0.769029 +vt 0.226789 0.744085 +vt 0.275353 0.734564 +vt 0.275353 0.740142 +vt 0.261888 0.734564 +vt 0.712227 0.691554 +vt 0.724024 0.700800 +vt 0.715450 0.703178 +vt 0.507381 0.846904 +vt 0.598130 0.858967 +vt 0.507381 0.858967 +vt 0.569512 0.785553 +vt 0.590950 0.795995 +vt 0.569512 0.795995 +vt 0.598131 0.896473 +vt 0.507381 0.884411 +vt 0.598131 0.884410 +vt 0.508228 0.866382 +vt 0.678632 0.902783 +vt 0.769382 0.886888 +vt 0.769382 0.902783 +vt 0.669734 0.902783 +vt 0.652570 0.886888 +vt 0.669734 0.886888 +vt 0.712227 0.635780 +vt 0.724025 0.626533 +vt 0.717132 0.651390 +vt 0.678632 0.886888 +vt 0.732276 0.658361 +vt 0.714464 0.658361 +vt 0.760292 0.655719 +vt 0.739257 0.671614 +vt 0.739257 0.655719 +vt 0.708871 0.642447 +vt 0.734944 0.675944 +vt 0.740565 0.696214 +vt 0.734944 0.651390 +vt 0.598079 0.866382 +vt 0.508228 0.876995 +vt 0.698102 0.658361 +vt 0.714464 0.668973 +vt 0.698102 0.668973 +vt 0.732276 0.668973 +vt 0.808269 0.886888 +vt 0.717132 0.675944 +vt 0.708871 0.684886 +vt 0.713777 0.669277 +vt 0.598079 0.876995 +vt 0.591132 0.778095 +vt 0.612625 0.785553 +vt 0.590950 0.785553 +vt 0.578532 0.766460 +vt 0.578532 0.815089 +vt 0.591132 0.803454 +vt 0.578698 0.823250 +vt 0.625952 0.795995 +vt 0.612625 0.795995 +vt 0.612587 0.803625 +vt 0.621392 0.807294 +vt 0.621466 0.815543 +vt 0.594762 0.825013 +vt 0.579217 0.836399 +vt 0.652377 0.782955 +vt 0.632770 0.798594 +vt 0.632770 0.782955 +vt 0.625952 0.785554 +vt 0.601835 0.823468 +vt 0.620002 0.835136 +vt 0.612587 0.777924 +vt 0.621392 0.774255 +vt 0.739899 0.703371 +vt 0.748258 0.719266 +vt 0.739899 0.719266 +vt 0.714821 0.703371 +vt 0.723180 0.719266 +vt 0.714821 0.719266 +vt 0.748258 0.703371 +vt 0.756618 0.719266 +vt 0.706461 0.703371 +vt 0.706461 0.719266 +vt 0.698102 0.703371 +vt 0.698102 0.719266 +vt 0.731539 0.703371 +vt 0.731539 0.719266 +vt 0.723180 0.703371 +vt 0.756618 0.703371 +vt 0.764977 0.719266 +vt 0.601585 0.811408 +vt 0.588652 0.817689 +vt 0.609226 0.824945 +vt 0.609027 0.809728 +vt 0.615013 0.817143 +vt 0.601835 0.758080 +vt 0.579217 0.745150 +vt 0.620002 0.746413 +vt 0.621466 0.766005 +vt 0.609226 0.756604 +vt 0.609027 0.771821 +vt 0.615013 0.764406 +vt 0.594762 0.756536 +vt 0.578698 0.758299 +vt 0.588652 0.763859 +vt 0.594100 0.771488 +vt 0.601585 0.770141 +vt 0.167826 0.637345 +vt 0.114215 0.658256 +vt 0.114130 0.637792 +vt 0.232537 0.630625 +vt 0.263917 0.575325 +vt 0.263918 0.630625 +vt 0.179850 0.630269 +vt 0.223962 0.575325 +vt 0.223962 0.630625 +vt 0.167952 0.568476 +vt 0.114311 0.547378 +vt 0.168353 0.538018 +vt 0.167800 0.630285 +vt 0.113693 0.574921 +vt 0.167898 0.575574 +vt 0.272493 0.630625 +vt 0.317290 0.575325 +vt 0.317290 0.630625 +vt 0.179863 0.637263 +vt 0.223367 0.666831 +vt 0.180317 0.668668 +vt 0.223276 0.568399 +vt 0.180494 0.537066 +vt 0.224230 0.538894 +vt 0.094978 0.574829 +vt 0.081998 0.630460 +vt 0.082831 0.574648 +vt 0.168405 0.530773 +vt 0.180051 0.568560 +vt 0.168173 0.674993 +vt 0.180473 0.675838 +vt 0.225140 0.532000 +vt 0.231072 0.538436 +vt 0.230294 0.569140 +vt 0.224302 0.673691 +vt 0.230365 0.667318 +vt 0.230075 0.636801 +vt 0.223301 0.637495 +vt 0.102583 0.545262 +vt 0.103033 0.554042 +vt 0.114158 0.567779 +vt 0.104111 0.573586 +vt 0.102879 0.566036 +vt 0.102508 0.660379 +vt 0.113614 0.665427 +vt 0.101567 0.632630 +vt 0.102656 0.639463 +vt 0.098126 0.554394 +vt 0.098359 0.566372 +vt 0.098030 0.651303 +vt 0.102915 0.651612 +vt 0.098072 0.639307 +vt 0.329373 0.630625 +vt 0.180014 0.575685 +vt 0.168140 0.667731 +vt 0.272492 0.575325 +vt 0.180648 0.529997 +vt 0.060889 0.574321 +vt 0.072008 0.630311 +vt 0.060057 0.630133 +vt 0.113750 0.630739 +vt 0.104327 0.574930 +vt 0.113715 0.540194 +vt 0.072841 0.574499 +vt 0.101552 0.630752 +vt 0.005298 0.573491 +vt 0.004465 0.629303 +vt 0.423560 0.873494 +vt 0.420121 0.888745 +vt 0.420121 0.873494 +vt 0.341393 0.820409 +vt 0.338027 0.873463 +vt 0.337954 0.820414 +vt 0.405973 0.888777 +vt 0.402533 0.904028 +vt 0.402534 0.888777 +vt 0.356717 0.873437 +vt 0.360083 0.820384 +vt 0.360156 0.873433 +vt 0.363688 0.823634 +vt 0.363743 0.863650 +vt 0.341466 0.873458 +vt 0.375447 0.887810 +vt 0.415358 0.874430 +vt 0.415358 0.887810 +vt 0.334422 0.870213 +vt 0.334413 0.863585 +vt 0.397771 0.889712 +vt 0.676091 0.758842 +vt 0.670636 0.756488 +vt 0.676082 0.752214 +vt 0.757146 0.797623 +vt 0.738482 0.784243 +vt 0.757146 0.784243 +vt 0.723118 0.758182 +vt 0.740817 0.758754 +vt 0.723127 0.764704 +vt 0.734822 0.782341 +vt 0.716053 0.769156 +vt 0.734717 0.768961 +vt 0.693788 0.758116 +vt 0.709131 0.769177 +vt 0.676682 0.782565 +vt 0.676576 0.769186 +vt 0.738482 0.797622 +vt 0.731559 0.784242 +vt 0.709236 0.782556 +vt 0.746266 0.756491 +vt 0.746275 0.763013 +vt 0.716854 0.797621 +vt 0.723377 0.784242 +vt 0.723377 0.797622 +vt 0.753151 0.758579 +vt 0.663756 0.758701 +vt 0.663747 0.752073 +vt 0.731559 0.797622 +vt 0.684647 0.798126 +vt 0.670948 0.784944 +vt 0.684542 0.784746 +vt 0.669829 0.723944 +vt 0.753143 0.752057 +vt 0.746983 0.723944 +vt 0.753821 0.719853 +vt 0.716749 0.784242 +vt 0.662981 0.785039 +vt 0.671054 0.798323 +vt 0.663086 0.798418 +vt 0.669929 0.708186 +vt 0.676778 0.712259 +vt 0.663087 0.782582 +vt 0.662981 0.769203 +vt 0.740003 0.712277 +vt 0.746840 0.708186 +vt 0.742675 0.732079 +vt 0.725698 0.723741 +vt 0.742675 0.723741 +vt 0.750354 0.690671 +vt 0.750039 0.712874 +vt 0.736464 0.702680 +vt 0.750039 0.742945 +vt 0.750354 0.765148 +vt 0.736464 0.753139 +vt 0.763226 0.714312 +vt 0.759890 0.704357 +vt 0.754869 0.723741 +vt 0.750389 0.732079 +vt 0.750389 0.723741 +vt 0.763226 0.741507 +vt 0.759890 0.751462 +vt 0.770088 0.732079 +vt 0.780587 0.723741 +vt 0.780587 0.732079 +vt 0.760180 0.732079 +vt 0.754869 0.732079 +vt 0.770088 0.723741 +vt 0.760180 0.723741 +vt 0.754315 0.719295 +vt 0.754315 0.736524 +vt 0.797267 0.732079 +vt 0.660992 0.723479 +vt 0.639471 0.803338 +vt 0.639471 0.723479 +vt 0.617951 0.803338 +vt 0.617950 0.723479 +vt 0.638114 0.808819 +vt 0.619308 0.808819 +vt 0.704033 0.723479 +vt 0.682513 0.803338 +vt 0.682513 0.723479 +vt 0.725554 0.723479 +vt 0.704033 0.803338 +vt 0.662350 0.808819 +vt 0.678358 0.813663 +vt 0.665147 0.813663 +vt 0.659635 0.808819 +vt 0.640829 0.808819 +vt 0.683870 0.808819 +vt 0.596430 0.803338 +vt 0.616593 0.808819 +vt 0.597787 0.808819 +vt 0.660992 0.803338 +vt 0.725554 0.803338 +vt 0.705391 0.808819 +vt 0.656838 0.813663 +vt 0.644648 0.818571 +vt 0.643626 0.813663 +vt 0.724197 0.808819 +vt 0.708188 0.813663 +vt 0.635317 0.813663 +vt 0.622105 0.813664 +vt 0.702676 0.808819 +vt 0.686667 0.813663 +vt 0.613796 0.813663 +vt 0.600584 0.813664 +vt 0.677336 0.818571 +vt 0.669395 0.824158 +vt 0.666169 0.818571 +vt 0.698857 0.818571 +vt 0.687690 0.818571 +vt 0.601607 0.818571 +vt 0.720377 0.818571 +vt 0.709210 0.818571 +vt 0.623128 0.818571 +vt 0.652589 0.824158 +vt 0.647874 0.836146 +vt 0.647874 0.824158 +vt 0.712436 0.824158 +vt 0.631069 0.824158 +vt 0.626354 0.824158 +vt 0.655815 0.818571 +vt 0.695631 0.824158 +vt 0.690916 0.824158 +vt 0.612774 0.818571 +vt 0.604833 0.824158 +vt 0.792017 0.852551 +vt 0.796100 0.850193 +vt 0.800184 0.852551 +vt 0.690916 0.836146 +vt 0.609548 0.824158 +vt 0.604833 0.836146 +vt 0.674110 0.824158 +vt 0.669395 0.836146 +vt 0.717151 0.824158 +vt 0.712436 0.836146 +vt 0.626354 0.836146 +vt 0.638114 0.717999 +vt 0.596430 0.723479 +vt 0.665147 0.713154 +vt 0.681155 0.717999 +vt 0.662349 0.717999 +vt 0.659635 0.717999 +vt 0.702676 0.717999 +vt 0.597787 0.717999 +vt 0.705391 0.717999 +vt 0.644648 0.708247 +vt 0.656837 0.713154 +vt 0.643626 0.713154 +vt 0.721400 0.713154 +vt 0.724197 0.717999 +vt 0.619308 0.717999 +vt 0.635317 0.713154 +vt 0.640829 0.717999 +vt 0.686667 0.713154 +vt 0.683870 0.717999 +vt 0.613796 0.713154 +vt 0.616593 0.717999 +vt 0.669395 0.702659 +vt 0.677336 0.708246 +vt 0.666169 0.708246 +vt 0.698856 0.708246 +vt 0.699879 0.713154 +vt 0.601607 0.708247 +vt 0.600584 0.713154 +vt 0.678358 0.713154 +vt 0.708188 0.713154 +vt 0.720377 0.708246 +vt 0.623127 0.708247 +vt 0.622105 0.713154 +vt 0.647874 0.690671 +vt 0.652589 0.702659 +vt 0.647874 0.702659 +vt 0.712436 0.702659 +vt 0.709210 0.708246 +vt 0.631068 0.702659 +vt 0.634294 0.708247 +vt 0.655815 0.708246 +vt 0.687690 0.708246 +vt 0.695631 0.702659 +vt 0.609547 0.702659 +vt 0.612773 0.708247 +vt 0.696809 0.885813 +vt 0.696809 0.881098 +vt 0.700893 0.878741 +vt 0.690916 0.690671 +vt 0.690915 0.702659 +vt 0.604832 0.690672 +vt 0.604832 0.702659 +vt 0.669395 0.690672 +vt 0.674110 0.702659 +vt 0.712436 0.690672 +vt 0.717151 0.702659 +vt 0.626354 0.690671 +vt 0.626353 0.702659 +vt 0.539489 0.662552 +vt 0.530537 0.626566 +vt 0.541470 0.624156 +vt 0.521994 0.657280 +vt 0.522018 0.631474 +vt 0.512477 0.654813 +vt 0.512497 0.633922 +vt 0.567104 0.656501 +vt 0.559023 0.632614 +vt 0.568376 0.635647 +vt 0.557452 0.658376 +vt 0.550823 0.627189 +vt 0.548654 0.662764 +vt 0.527522 0.698874 +vt 0.530503 0.662204 +vt 0.521331 0.666550 +vt 0.519173 0.693104 +vt 0.511331 0.668282 +vt 0.567457 0.691304 +vt 0.557405 0.667647 +vt 0.567145 0.670010 +vt 0.549187 0.699089 +vt 0.537876 0.738665 +vt 0.538860 0.699091 +vt 0.518013 0.733188 +vt 0.518013 0.704364 +vt 0.507381 0.707109 +vt 0.569318 0.707322 +vt 0.558690 0.733388 +vt 0.558691 0.704578 +vt 0.537662 0.775156 +vt 0.527522 0.738678 +vt 0.519390 0.770224 +vt 0.518914 0.743857 +vt 0.509619 0.767888 +vt 0.509234 0.746544 +vt 0.565380 0.769400 +vt 0.557526 0.744628 +vt 0.567103 0.747937 +vt 0.555399 0.771140 +vt 0.549185 0.738876 +vt 0.536415 0.808349 +vt 0.528179 0.775090 +vt 0.519937 0.803468 +vt 0.520232 0.779548 +vt 0.511381 0.781718 +vt 0.562846 0.782540 +vt 0.553741 0.804033 +vt 0.554066 0.780145 +vt 0.546247 0.775488 +vt 0.534853 0.846711 +vt 0.527772 0.808121 +vt 0.517338 0.838217 +vt 0.518971 0.812483 +vt 0.509324 0.814332 +vt 0.563947 0.815884 +vt 0.554383 0.839383 +vt 0.554368 0.813416 +vt 0.545798 0.808475 +vt 0.743325 0.846202 +vt 0.734511 0.780557 +vt 0.743325 0.780557 +vt 0.734511 0.846202 +vt 0.725698 0.780557 +vt 0.778577 0.846202 +vt 0.769764 0.780557 +vt 0.778577 0.780557 +vt 0.752138 0.861467 +vt 0.743325 0.861467 +vt 0.738918 0.853835 +vt 0.769764 0.846202 +vt 0.760951 0.780557 +vt 0.760951 0.846202 +vt 0.752138 0.780557 +vt 0.743325 0.765292 +vt 0.752138 0.765292 +vt 0.756544 0.772924 +vt 0.598904 0.450451 +vt 0.597400 0.428674 +vt 0.598904 0.428674 +vt 0.752138 0.846202 +vt 0.597400 0.450451 +vt 0.595510 0.428674 +vt 0.597397 0.427170 +vt 0.595507 0.427170 +vt 0.594007 0.428674 +vt 0.595510 0.450451 +vt 0.594007 0.450451 +vt 0.597397 0.451954 +vt 0.172227 0.765938 +vt 0.166938 0.740681 +vt 0.172228 0.740681 +vt 0.172227 0.715424 +vt 0.166938 0.866966 +vt 0.172227 0.841709 +vt 0.172228 0.866966 +vt 0.166938 0.841709 +vt 0.172227 0.816452 +vt 0.152869 0.717751 +vt 0.166938 0.715424 +vt 0.166938 0.816452 +vt 0.172227 0.791195 +vt 0.166938 0.765938 +vt 0.187088 0.864576 +vt 0.216258 0.756632 +vt 0.198414 0.746330 +vt 0.216258 0.715424 +vt 0.166938 0.791195 +vt 0.152869 0.814126 +vt 0.152869 0.793522 +vt 0.152870 0.743008 +vt 0.152870 0.864640 +vt 0.152869 0.844036 +vt 0.152869 0.788868 +vt 0.152869 0.768265 +vt 0.152869 0.818779 +vt 0.187087 0.814062 +vt 0.194168 0.797673 +vt 0.194168 0.809974 +vt 0.187088 0.768328 +vt 0.187087 0.788806 +vt 0.187088 0.839319 +vt 0.187088 0.717814 +vt 0.187088 0.738291 +vt 0.187088 0.743071 +vt 0.187088 0.763549 +vt 0.708834 0.775416 +vt 0.713051 0.763876 +vt 0.713051 0.774656 +vt 0.187088 0.844099 +vt 0.194169 0.860488 +vt 0.194169 0.747160 +vt 0.194169 0.759461 +vt 0.194169 0.772417 +vt 0.194168 0.784717 +vt 0.187087 0.818842 +vt 0.194169 0.835231 +vt 0.194169 0.721902 +vt 0.194169 0.734203 +vt 0.722416 0.768920 +vt 0.713080 0.763529 +vt 0.713080 0.752749 +vt 0.708834 0.813629 +vt 0.713051 0.825169 +vt 0.708834 0.825930 +vt 0.708834 0.712601 +vt 0.713051 0.724142 +vt 0.708834 0.724902 +vt 0.708834 0.788372 +vt 0.713051 0.799913 +vt 0.708834 0.800673 +vt 0.708834 0.851187 +vt 0.713051 0.839646 +vt 0.713051 0.850427 +vt 0.708834 0.737858 +vt 0.713051 0.749399 +vt 0.708834 0.750159 +vt 0.294370 0.288682 +vt 0.282009 0.316260 +vt 0.282523 0.290958 +vt 0.111872 0.368366 +vt 0.117819 0.383109 +vt 0.105182 0.379030 +vt 0.244750 0.469833 +vt 0.236614 0.419488 +vt 0.244750 0.418305 +vt 0.291396 0.345771 +vt 0.296207 0.414923 +vt 0.284577 0.418229 +vt 0.142062 0.327911 +vt 0.154598 0.277537 +vt 0.154598 0.326756 +vt 0.352881 0.428986 +vt 0.327695 0.467098 +vt 0.327695 0.421040 +vt 0.236614 0.468651 +vt 0.222384 0.425600 +vt 0.113833 0.390300 +vt 0.101197 0.386221 +vt 0.239145 0.411717 +vt 0.236151 0.397828 +vt 0.244213 0.399443 +vt 0.142062 0.276383 +vt 0.133926 0.326728 +vt 0.133926 0.277565 +vt 0.224344 0.387806 +vt 0.215554 0.387155 +vt 0.218049 0.381113 +vt 0.101197 0.401708 +vt 0.219277 0.400080 +vt 0.119696 0.283678 +vt 0.101197 0.314470 +vt 0.107733 0.289824 +vt 0.107733 0.314470 +vt 0.119696 0.320616 +vt 0.222384 0.462538 +vt 0.215554 0.431746 +vt 0.113834 0.405787 +vt 0.108641 0.412910 +vt 0.151062 0.327987 +vt 0.195826 0.350407 +vt 0.210708 0.367530 +vt 0.196826 0.288518 +vt 0.208893 0.312342 +vt 0.196468 0.315696 +vt 0.139544 0.333726 +vt 0.215478 0.378614 +vt 0.316497 0.338796 +vt 0.308068 0.409865 +vt 0.259909 0.292936 +vt 0.247128 0.311195 +vt 0.247433 0.294457 +vt 0.319951 0.361232 +vt 0.312942 0.401961 +vt 0.259522 0.313253 +vt 0.209234 0.292024 +vt 0.218022 0.310674 +vt 0.231455 0.310275 +vt 0.231736 0.294769 +vt 0.218322 0.293936 +vt 0.160233 0.329406 +vt 0.186236 0.342290 +vt 0.319951 0.373800 +vt 0.317454 0.389300 +vt 0.255963 0.419460 +vt 0.269653 0.418891 +vt 0.255963 0.468679 +vt 0.283349 0.419794 +vt 0.269653 0.469247 +vt 0.179002 0.326772 +vt 0.182793 0.279386 +vt 0.182793 0.324907 +vt 0.166800 0.327325 +vt 0.179002 0.277522 +vt 0.166800 0.276969 +vt 0.251604 0.413517 +vt 0.255306 0.397444 +vt 0.263694 0.415262 +vt 0.268904 0.395754 +vt 0.275783 0.417007 +vt 0.127120 0.344105 +vt 0.149936 0.363391 +vt 0.124858 0.347674 +vt 0.136609 0.366672 +vt 0.118365 0.358020 +vt 0.126522 0.375945 +vt 0.189270 0.381869 +vt 0.129617 0.340179 +vt 0.154838 0.362201 +vt 0.186749 0.281836 +vt 0.186749 0.322457 +vt 0.288046 0.466506 +vt 0.283349 0.468344 +vt 0.288046 0.421633 +vt 0.280030 0.387717 +vt 0.279968 0.417592 +vt 0.284109 0.384750 +vt 0.736257 0.749904 +vt 0.720981 0.735530 +vt 0.737601 0.735936 +vt 0.692257 0.749976 +vt 0.667660 0.739250 +vt 0.690864 0.735991 +vt 0.656960 0.729484 +vt 0.671630 0.727494 +vt 0.759218 0.752722 +vt 0.760973 0.739048 +vt 0.655240 0.754127 +vt 0.654630 0.741140 +vt 0.699236 0.763166 +vt 0.729711 0.786304 +vt 0.699401 0.786517 +vt 0.672000 0.720136 +vt 0.659437 0.673315 +vt 0.674733 0.671568 +vt 0.756640 0.727337 +vt 0.690778 0.721089 +vt 0.737245 0.669306 +vt 0.720921 0.712637 +vt 0.721119 0.668222 +vt 0.770995 0.729067 +vt 0.775102 0.740741 +vt 0.691946 0.668674 +vt 0.707690 0.712575 +vt 0.691181 0.713632 +vt 0.737660 0.721120 +vt 0.756168 0.720079 +vt 0.759698 0.661123 +vt 0.754034 0.672902 +vt 0.737267 0.713753 +vt 0.721068 0.720172 +vt 0.708242 0.664474 +vt 0.730412 0.646622 +vt 0.721161 0.664626 +vt 0.693252 0.655628 +vt 0.708200 0.668070 +vt 0.773373 0.754463 +vt 0.707499 0.735519 +vt 0.707983 0.750017 +vt 0.720616 0.749928 +vt 0.276862 0.356559 +vt 0.290431 0.341211 +vt 0.290344 0.356570 +vt 0.707508 0.720200 +vt 0.307023 0.342159 +vt 0.730695 0.622609 +vt 0.699417 0.646258 +vt 0.699700 0.622244 +vt 0.729546 0.762953 +vt 0.260141 0.342128 +vt 0.260227 0.357030 +vt 0.669837 0.659434 +vt 0.736442 0.656278 +vt 0.718696 0.665604 +vt 0.637125 0.740104 +vt 0.638041 0.728257 +vt 0.657420 0.722230 +vt 0.638442 0.721194 +vt 0.639290 0.674330 +vt 0.657986 0.660330 +vt 0.768416 0.675386 +vt 0.770534 0.721953 +vt 0.705585 0.611441 +vt 0.725065 0.611670 +vt 0.705124 0.799693 +vt 0.468409 0.803653 +vt 0.432321 0.777944 +vt 0.468147 0.777333 +vt 0.467547 0.751090 +vt 0.431825 0.960571 +vt 0.468094 0.935326 +vt 0.467293 0.961486 +vt 0.432446 0.934600 +vt 0.468625 0.909056 +vt 0.432887 0.908590 +vt 0.468914 0.882722 +vt 0.433124 0.882534 +vt 0.469005 0.856330 +vt 0.252713 0.926008 +vt 0.234184 0.907479 +vt 0.297448 0.881274 +vt 0.433163 0.856431 +vt 0.468870 0.829966 +vt 0.433008 0.830309 +vt 0.402012 0.955428 +vt 0.397300 0.927800 +vt 0.404066 0.928173 +vt 0.687720 0.750985 +vt 0.680145 0.726425 +vt 0.686631 0.726623 +vt 0.405324 0.800871 +vt 0.399383 0.825394 +vt 0.398294 0.801032 +vt 0.405388 0.876012 +vt 0.397510 0.901583 +vt 0.399024 0.875931 +vt 0.397503 0.901726 +vt 0.405036 0.901915 +vt 0.403269 0.751934 +vt 0.398317 0.776869 +vt 0.397135 0.754788 +vt 0.405529 0.825455 +vt 0.398520 0.850403 +vt 0.399381 0.825522 +vt 0.404431 0.776697 +vt 0.398295 0.800898 +vt 0.398319 0.776992 +vt 0.405807 0.850546 +vt 0.399030 0.875799 +vt 0.398516 0.850542 +vt 0.680386 0.801069 +vt 0.672012 0.775951 +vt 0.680120 0.775770 +vt 0.686654 0.702459 +vt 0.680397 0.678377 +vt 0.685472 0.680379 +vt 0.685647 0.853251 +vt 0.678903 0.826776 +vt 0.685839 0.827317 +vt 0.685847 0.827174 +vt 0.687361 0.801521 +vt 0.686856 0.775994 +vt 0.680970 0.750833 +vt 0.687717 0.751113 +vt 0.686655 0.702582 +vt 0.680400 0.702433 +vt 0.685636 0.853391 +vt 0.676386 0.880012 +vt 0.678246 0.852673 +vt 0.687366 0.801389 +vt 0.686852 0.776133 +vt 0.666018 0.750825 +vt 0.672677 0.751098 +vt 0.672359 0.726775 +vt 0.672420 0.678157 +vt 0.670576 0.826799 +vt 0.671795 0.801161 +vt 0.672599 0.702801 +vt 0.669799 0.852532 +vt 0.375392 0.900738 +vt 0.367298 0.925768 +vt 0.368419 0.900106 +vt 0.665917 0.702651 +vt 0.667453 0.879204 +vt 0.663024 0.851996 +vt 0.664913 0.800603 +vt 0.665347 0.775609 +vt 0.666024 0.750692 +vt 0.665933 0.726588 +vt 0.665920 0.702524 +vt 0.666176 0.680584 +vt 0.663728 0.826328 +vt 0.664905 0.800741 +vt 0.369605 0.874566 +vt 0.363323 0.849412 +vt 0.370241 0.849510 +vt 0.375402 0.900600 +vt 0.376568 0.875150 +vt 0.377018 0.849885 +vt 0.370951 0.824801 +vt 0.377682 0.825235 +vt 0.377601 0.800869 +vt 0.371383 0.776907 +vt 0.377581 0.777061 +vt 0.373635 0.950910 +vt 0.374687 0.926405 +vt 0.377011 0.850018 +vt 0.377688 0.825102 +vt 0.371077 0.800659 +vt 0.377597 0.800998 +vt 0.377839 0.754993 +vt 0.371413 0.752320 +vt 0.360267 0.925582 +vt 0.347083 0.950103 +vt 0.348183 0.927438 +vt 0.364418 0.800713 +vt 0.364200 0.752350 +vt 0.361297 0.899912 +vt 0.362552 0.874407 +vt 0.364148 0.824770 +vt 0.364611 0.776997 +vt 0.366231 0.953475 +vt 0.350327 0.897110 +vt 0.341055 0.878800 +vt 0.351359 0.876119 +vt 0.352395 0.851288 +vt 0.353941 0.802724 +vt 0.353528 0.754710 +vt 0.350053 0.901736 +vt 0.353368 0.826592 +vt 0.354131 0.798530 +vt 0.354290 0.779011 +vt 0.341912 0.868436 +vt 0.337171 0.854714 +vt 0.342354 0.854099 +vt 0.352689 0.846873 +vt 0.343461 0.829337 +vt 0.344830 0.781891 +vt 0.337060 0.930341 +vt 0.344181 0.819416 +vt 0.344336 0.805617 +vt 0.344009 0.772085 +vt 0.343773 0.757947 +vt 0.339120 0.919252 +vt 0.339711 0.904527 +vt 0.337928 0.842538 +vt 0.336179 0.830746 +vt 0.338350 0.829930 +vt 0.339363 0.806307 +vt 0.338699 0.758796 +vt 0.334381 0.905110 +vt 0.335110 0.892381 +vt 0.335752 0.879332 +vt 0.339831 0.794720 +vt 0.339930 0.782587 +vt 0.330651 0.945008 +vt 0.331335 0.930918 +vt 0.331660 0.917230 +vt 0.328650 0.905805 +vt 0.332113 0.905944 +vt 0.337862 0.783423 +vt 0.328894 0.931793 +vt 0.334633 0.866535 +vt 0.334971 0.855547 +vt 0.337144 0.817725 +vt 0.337262 0.807149 +vt 0.336753 0.770554 +vt 0.336572 0.759719 +vt 0.333490 0.880141 +vt 0.941898 0.795080 +vt 0.941898 0.783551 +vt 0.969733 0.795080 +vt 0.332939 0.891354 +vt 0.330049 0.879972 +vt 0.335816 0.841579 +vt 0.332854 0.830634 +vt 0.337776 0.793850 +vt 0.334662 0.783397 +vt 0.328306 0.943900 +vt 0.325178 0.931613 +vt 0.331599 0.855443 +vt 0.334017 0.807113 +vt 0.333246 0.759774 +vt 0.428276 0.902463 +vt 0.428438 0.850443 +vt 0.427095 0.800329 +vt 0.425262 0.751105 +vt 0.426477 0.956538 +vt 0.673824 0.788881 +vt 0.671595 0.810654 +vt 0.670524 0.788997 +vt 0.673367 0.767296 +vt 0.670065 0.767319 +vt 0.670218 0.745637 +vt 0.670983 0.723967 +vt 0.673519 0.745706 +vt 0.675650 0.702584 +vt 0.672358 0.702328 +vt 0.674344 0.680736 +vt 0.675956 0.832101 +vt 0.674339 0.853928 +vt 0.672662 0.832310 +vt 0.678391 0.810766 +vt 0.680639 0.832492 +vt 0.678004 0.832445 +vt 0.661211 0.777994 +vt 0.658377 0.800847 +vt 0.658377 0.776825 +vt 0.796315 0.870850 +vt 0.818826 0.877857 +vt 0.796315 0.877857 +vt 0.661248 0.753053 +vt 0.663763 0.775775 +vt 0.661247 0.774736 +vt 0.677663 0.854079 +vt 0.651742 0.681492 +vt 0.653581 0.704758 +vt 0.651742 0.704003 +vt 0.818826 0.870850 +vt 0.841337 0.877858 +vt 0.661247 0.822256 +vt 0.663763 0.799534 +vt 0.663763 0.823294 +vt 0.677663 0.680829 +vt 0.680639 0.702416 +vt 0.678004 0.702463 +vt 0.661211 0.826039 +vt 0.658377 0.848891 +vt 0.658377 0.824869 +vt 0.661247 0.870850 +vt 0.683759 0.877858 +vt 0.661247 0.877858 +vt 0.670029 0.775151 +vt 0.668508 0.752015 +vt 0.670029 0.752639 +vt 0.678391 0.724142 +vt 0.661211 0.681906 +vt 0.658378 0.704758 +vt 0.658378 0.680736 +vt 0.683759 0.870850 +vt 0.706270 0.877857 +vt 0.661247 0.848092 +vt 0.663763 0.870813 +vt 0.661247 0.869775 +vt 0.681026 0.724095 +vt 0.678778 0.745822 +vt 0.651742 0.776069 +vt 0.653580 0.752802 +vt 0.653580 0.776825 +vt 0.706270 0.870850 +vt 0.728781 0.877857 +vt 0.670029 0.822670 +vt 0.668508 0.799534 +vt 0.670029 0.800159 +vt 0.681413 0.745775 +vt 0.679210 0.767454 +vt 0.651742 0.801602 +vt 0.653580 0.824869 +vt 0.651742 0.824113 +vt 0.728781 0.870850 +vt 0.751292 0.877857 +vt 0.661247 0.727217 +vt 0.663763 0.704496 +vt 0.663763 0.728256 +vt 0.681413 0.789133 +vt 0.678778 0.789086 +vt 0.661211 0.753972 +vt 0.658377 0.752802 +vt 0.751292 0.870850 +vt 0.773803 0.877857 +vt 0.670029 0.870189 +vt 0.668507 0.847054 +vt 0.670029 0.847678 +vt 0.651742 0.872158 +vt 0.653580 0.848891 +vt 0.653580 0.872914 +vt 0.773803 0.870850 +vt 0.670029 0.727631 +vt 0.668508 0.704496 +vt 0.670029 0.705120 +vt 0.668508 0.728256 +vt 0.668508 0.680736 +vt 0.668507 0.870813 +vt 0.663763 0.847054 +vt 0.668508 0.823294 +vt 0.668508 0.775775 +vt 0.663763 0.752015 +vt 0.670029 0.703872 +vt 0.670029 0.681360 +vt 0.670029 0.823918 +vt 0.661248 0.703457 +vt 0.663763 0.680736 +vt 0.670029 0.798910 +vt 0.670029 0.776399 +vt 0.661247 0.824332 +vt 0.661247 0.846015 +vt 0.670029 0.728880 +vt 0.661247 0.798496 +vt 0.661248 0.729294 +vt 0.661248 0.750977 +vt 0.658377 0.728780 +vt 0.658378 0.872914 +vt 0.653580 0.800847 +vt 0.651742 0.848136 +vt 0.661211 0.751633 +vt 0.661211 0.729950 +vt 0.651742 0.777580 +vt 0.651742 0.800091 +vt 0.651742 0.752047 +vt 0.653580 0.728780 +vt 0.661211 0.727611 +vt 0.661211 0.705928 +vt 0.661211 0.871744 +vt 0.661211 0.850061 +vt 0.651742 0.705514 +vt 0.651742 0.728025 +vt 0.661211 0.823699 +vt 0.661211 0.802016 +vt 0.593987 0.466928 +vt 0.536809 0.473554 +vt 0.536809 0.466928 +vt 0.593987 0.473554 +vt 0.536809 0.480180 +vt 0.593987 0.427170 +vt 0.536809 0.433796 +vt 0.536809 0.427170 +vt 0.593987 0.433796 +vt 0.536809 0.440423 +vt 0.593987 0.440423 +vt 0.536809 0.447049 +vt 0.593987 0.447049 +vt 0.536809 0.453675 +vt 0.564138 0.496197 +vt 0.557512 0.496197 +vt 0.552826 0.491512 +vt 0.593987 0.453675 +vt 0.536809 0.460302 +vt 0.593987 0.460302 +vt 0.548121 0.480200 +vt 0.552807 0.484886 +vt 0.552807 0.491512 +vt 0.657338 0.624156 +vt 0.684146 0.636043 +vt 0.657338 0.646468 +vt 0.596234 0.646468 +vt 0.609293 0.662148 +vt 0.596234 0.662148 +vt 0.644279 0.624156 +vt 0.635940 0.641988 +vt 0.635940 0.624156 +vt 0.644279 0.646468 +vt 0.657338 0.662148 +vt 0.644279 0.662148 +vt 0.644279 0.684460 +vt 0.657338 0.684460 +vt 0.617285 0.648848 +vt 0.635117 0.659768 +vt 0.617285 0.659768 +vt 0.609293 0.646468 +vt 0.635117 0.648848 +vt 0.635940 0.666628 +vt 0.686022 0.648617 +vt 0.697909 0.659999 +vt 0.686022 0.659999 +vt 0.684146 0.672573 +vt 0.684146 0.684460 +vt 0.569512 0.659999 +vt 0.569512 0.648617 +vt 0.684146 0.733070 +vt 0.657338 0.744957 +vt 0.657338 0.722645 +vt 0.609293 0.706965 +vt 0.596234 0.722645 +vt 0.596234 0.706965 +vt 0.644279 0.744957 +vt 0.635940 0.727125 +vt 0.644279 0.722645 +vt 0.657338 0.706965 +vt 0.644279 0.706965 +vt 0.644279 0.684653 +vt 0.657338 0.684653 +vt 0.635117 0.709345 +vt 0.617285 0.720265 +vt 0.617285 0.709345 +vt 0.609293 0.722645 +vt 0.635940 0.702485 +vt 0.697909 0.709114 +vt 0.686022 0.720496 +vt 0.686022 0.709114 +vt 0.684146 0.696540 +vt 0.569512 0.709114 +vt 0.687094 0.850835 +vt 0.668374 0.871028 +vt 0.668880 0.855092 +vt 0.755690 0.850835 +vt 0.742632 0.835156 +vt 0.755690 0.835156 +vt 0.708241 0.870993 +vt 0.719772 0.857405 +vt 0.716580 0.870969 +vt 0.700152 0.850835 +vt 0.687094 0.835156 +vt 0.700152 0.835156 +vt 0.695183 0.814998 +vt 0.695183 0.870993 +vt 0.734640 0.848456 +vt 0.720705 0.837535 +vt 0.734640 0.837535 +vt 0.720705 0.848456 +vt 0.708242 0.814998 +vt 0.719772 0.828586 +vt 0.668513 0.848686 +vt 0.652570 0.837305 +vt 0.668513 0.837305 +vt 0.668374 0.814963 +vt 0.782413 0.848686 +vt 0.507381 0.592589 +vt 0.517080 0.607896 +vt 0.507387 0.607900 +vt 0.650947 0.611955 +vt 0.650586 0.616094 +vt 0.646319 0.621727 +vt 0.666752 0.768747 +vt 0.686764 0.776291 +vt 0.667308 0.776511 +vt 0.803577 0.589880 +vt 0.803817 0.587267 +vt 0.806813 0.583472 +vt 0.841024 0.871221 +vt 0.814095 0.886695 +vt 0.814095 0.871221 +vt 0.914062 0.871221 +vt 0.887133 0.886695 +vt 0.887133 0.871221 +vt 0.984776 0.871221 +vt 0.960171 0.886695 +vt 0.960171 0.871221 +vt 0.652570 0.871221 +vt 0.767986 0.886695 +vt 0.652570 0.886695 +vt 0.527349 0.604901 +vt 0.825309 0.595589 +vt 0.825308 0.604911 +vt 0.665637 0.750916 +vt 0.686629 0.768163 +vt 0.665076 0.808360 +vt 0.655487 0.808168 +vt 0.655848 0.798318 +vt 0.656852 0.767886 +vt 0.656097 0.760783 +vt 0.760863 0.788053 +vt 0.751192 0.772277 +vt 0.760938 0.772323 +vt 0.662462 0.776147 +vt 0.751117 0.788007 +vt 0.730573 0.772179 +vt 0.666572 0.790660 +vt 0.686731 0.783381 +vt 0.686464 0.791526 +vt 0.685418 0.809662 +vt 0.702516 0.787776 +vt 0.720903 0.772133 +vt 0.720828 0.787863 +vt 0.694600 0.796708 +vt 0.693495 0.814770 +vt 0.685873 0.750109 +vt 0.694810 0.763131 +vt 0.730498 0.787909 +vt 0.667168 0.782974 +vt 0.662462 0.783303 +vt 0.694502 0.783418 +vt 0.693012 0.771912 +vt 0.694536 0.776328 +vt 0.702591 0.772046 +vt 0.652570 0.774891 +vt 0.652570 0.784558 +vt 0.692927 0.787866 +vt 0.753166 0.589107 +vt 0.780211 0.589523 +vt 0.517091 0.592585 +vt 0.780716 0.610920 +vt 0.753871 0.611342 +vt 0.806408 0.871221 +vt 0.775673 0.886695 +vt 0.775673 0.871221 +vt 0.812776 0.886695 +vt 0.769305 0.871221 +vt 0.767986 0.871221 +vt 0.769305 0.886695 +vt 0.806408 0.886695 +vt 0.879446 0.871221 +vt 0.848711 0.886695 +vt 0.848711 0.871221 +vt 0.885814 0.886695 +vt 0.842343 0.871221 +vt 0.841024 0.886695 +vt 0.842343 0.886695 +vt 0.885814 0.871221 +vt 0.952484 0.871221 +vt 0.921749 0.886695 +vt 0.921749 0.871221 +vt 0.958852 0.871221 +vt 0.958852 0.886695 +vt 0.915381 0.871221 +vt 0.914062 0.886695 +vt 0.915381 0.886695 +vt 0.952484 0.886695 +vt 0.727505 0.585511 +vt 0.753313 0.586332 +vt 0.756417 0.582443 +vt 0.777420 0.582866 +vt 0.780357 0.586873 +vt 0.727356 0.588687 +vt 0.695088 0.579087 +vt 0.723588 0.580023 +vt 0.690554 0.588399 +vt 0.648787 0.584252 +vt 0.690717 0.584368 +vt 0.518329 0.577020 +vt 0.644354 0.577019 +vt 0.645688 0.577706 +vt 0.825516 0.617637 +vt 0.806985 0.617940 +vt 0.806095 0.617494 +vt 0.803990 0.613178 +vt 0.780699 0.613575 +vt 0.777810 0.617541 +vt 0.756950 0.617979 +vt 0.728182 0.611771 +vt 0.753871 0.614124 +vt 0.728190 0.614946 +vt 0.691930 0.612062 +vt 0.724388 0.620358 +vt 0.695957 0.621276 +vt 0.691701 0.616067 +vt 0.074863 0.862419 +vt 0.041487 0.845907 +vt 0.074863 0.845907 +vt 0.208370 0.862419 +vt 0.174994 0.845907 +vt 0.208370 0.845907 +vt 0.174994 0.862419 +vt 0.141617 0.845907 +vt 0.759121 0.703643 +vt 0.763396 0.737251 +vt 0.760353 0.736143 +vt 0.207069 0.842175 +vt 0.786226 0.661385 +vt 0.787099 0.696141 +vt 0.783028 0.660488 +vt 0.786226 0.816865 +vt 0.787099 0.782109 +vt 0.790012 0.783704 +vt 0.738082 0.887901 +vt 0.749823 0.856123 +vt 0.740656 0.889867 +vt 0.760353 0.742107 +vt 0.762071 0.775942 +vt 0.759121 0.774607 +vt 0.130251 0.752410 +vt 0.117722 0.721111 +vt 0.133940 0.720097 +vt 0.129350 0.599029 +vt 0.108048 0.572898 +vt 0.123224 0.567088 +vt 0.130250 0.604925 +vt 0.117722 0.636224 +vt 0.114678 0.609569 +vt 0.134392 0.714149 +vt 0.119529 0.683889 +vt 0.135624 0.681650 +vt 0.129350 0.758306 +vt 0.108048 0.784437 +vt 0.113101 0.758089 +vt 0.323543 0.521306 +vt 0.178785 0.553868 +vt 0.179016 0.520310 +vt 0.323312 0.554864 +vt 0.191344 0.556367 +vt 0.188700 0.636714 +vt 0.196375 0.643810 +vt 0.177885 0.652869 +vt 0.208370 0.837350 +vt 0.240439 0.841159 +vt 0.209679 0.841159 +vt 0.302524 0.704634 +vt 0.178557 0.718309 +vt 0.196859 0.706096 +vt 0.109548 0.841159 +vt 0.141617 0.837350 +vt 0.140309 0.841159 +vt 0.459954 0.627010 +vt 0.454058 0.621089 +vt 0.461711 0.606364 +vt 0.076172 0.841159 +vt 0.108240 0.837350 +vt 0.106932 0.841159 +vt 0.074863 0.837350 +vt 0.042795 0.841159 +vt 0.041487 0.837350 +vt 0.173685 0.841159 +vt 0.174994 0.837350 +vt 0.241747 0.845907 +vt 0.209672 0.842175 +vt 0.240446 0.842175 +vt 0.073562 0.842175 +vt 0.073555 0.841159 +vt 0.106939 0.842175 +vt 0.076165 0.842175 +vt 0.176295 0.842175 +vt 0.207062 0.841159 +vt 0.009418 0.841159 +vt 0.040185 0.842175 +vt 0.009411 0.842175 +vt 0.311616 0.697812 +vt 0.323085 0.717307 +vt 0.446749 0.682132 +vt 0.454484 0.676563 +vt 0.461983 0.693911 +vt 0.454365 0.665148 +vt 0.461754 0.665035 +vt 0.324265 0.685344 +vt 0.313007 0.685763 +vt 0.788819 0.741504 +vt 0.781391 0.779289 +vt 0.782914 0.739125 +vt 0.782310 0.655784 +vt 0.769261 0.619554 +vt 0.775550 0.620541 +vt 0.757821 0.663828 +vt 0.767863 0.699988 +vt 0.761788 0.698570 +vt 0.765070 0.581275 +vt 0.758724 0.580767 +vt 0.757821 0.814422 +vt 0.767863 0.778262 +vt 0.763420 0.817174 +vt 0.747953 0.627546 +vt 0.757255 0.660122 +vt 0.754079 0.659487 +vt 0.790580 0.776227 +vt 0.791845 0.742874 +vt 0.758669 0.780554 +vt 0.754980 0.812868 +vt 0.758669 0.697696 +vt 0.747953 0.850704 +vt 0.757255 0.818128 +vt 0.750668 0.852470 +vt 0.785094 0.653973 +vt 0.778807 0.621194 +vt 0.776832 0.819223 +vt 0.781391 0.698961 +vt 0.763420 0.661076 +vt 0.776832 0.659028 +vt 0.756044 0.622613 +vt 0.769347 0.739125 +vt 0.756044 0.855638 +vt 0.109510 0.598506 +vt 0.083763 0.581008 +vt 0.104985 0.574914 +vt 0.111471 0.611347 +vt 0.113101 0.599246 +vt 0.119529 0.673446 +vt 0.115180 0.648167 +vt 0.118512 0.646637 +vt 0.114678 0.747766 +vt 0.114197 0.722120 +vt 0.104985 0.782421 +vt 0.109510 0.758829 +vt 0.718770 0.731477 +vt 0.697552 0.711798 +vt 0.718010 0.711444 +vt 0.111471 0.745988 +vt 0.092123 0.721600 +vt 0.116090 0.672172 +vt 0.093281 0.650986 +vt 0.116090 0.685162 +vt 0.093281 0.706349 +vt 0.094040 0.686315 +vt 0.114197 0.635214 +vt 0.089849 0.615816 +vt 0.696575 0.779319 +vt 0.689578 0.797508 +vt 0.691489 0.780776 +vt 0.718770 0.746773 +vt 0.697552 0.766452 +vt 0.698343 0.745577 +vt 0.716852 0.696192 +vt 0.694205 0.678176 +vt 0.714578 0.676274 +vt 0.708492 0.641465 +vt 0.692256 0.665421 +vt 0.688321 0.644905 +vt 0.708492 0.836785 +vt 0.692256 0.812829 +vt 0.712268 0.817096 +vt 0.716852 0.782058 +vt 0.694205 0.800074 +vt 0.696575 0.698931 +vt 0.689578 0.680743 +vt 0.687075 0.664353 +vt 0.683902 0.647814 +vt 0.688321 0.833345 +vt 0.687074 0.813897 +vt 0.670581 0.697077 +vt 0.650294 0.688013 +vt 0.669298 0.685843 +vt 0.693382 0.747415 +vt 0.672136 0.760694 +vt 0.672564 0.749395 +vt 0.666196 0.665540 +vt 0.664067 0.654436 +vt 0.683902 0.830436 +vt 0.666196 0.812710 +vt 0.675750 0.862842 +vt 0.659437 0.843826 +vt 0.680165 0.846590 +vt 0.669298 0.792407 +vt 0.670581 0.781173 +vt 0.645281 0.658038 +vt 0.664067 0.823815 +vt 0.647411 0.809107 +vt 0.651576 0.779003 +vt 0.792170 0.858787 +vt 0.837897 0.852498 +vt 0.837897 0.858787 +vt 0.792170 0.846209 +vt 0.792170 0.852498 +vt 0.792170 0.877654 +vt 0.837897 0.883942 +vt 0.792170 0.883942 +vt 0.792170 0.871365 +vt 0.837897 0.865076 +vt 0.837897 0.871365 +vt 0.792170 0.865076 +vt 0.881564 0.850656 +vt 0.877117 0.861392 +vt 0.866381 0.856945 +vt 0.314719 0.975612 +vt 0.326762 0.982391 +vt 0.313189 0.981932 +vt 0.301347 0.662214 +vt 0.196376 0.661927 +vt 0.324264 0.620387 +vt 0.311614 0.607920 +vt 0.323082 0.588424 +vt 0.177947 0.620066 +vt 0.168091 0.588566 +vt 0.178554 0.587429 +vt 0.176302 0.841159 +vt 0.167501 0.684689 +vt 0.167441 0.653416 +vt 0.189059 0.698860 +vt 0.188700 0.669022 +vt 0.177948 0.685671 +vt 0.634488 0.638596 +vt 0.638014 0.628528 +vt 0.640978 0.639439 +vt 0.837897 0.890231 +vt 0.173982 0.975612 +vt 0.184794 0.980700 +vt 0.173813 0.980786 +vt 0.161783 0.982106 +vt 0.186232 0.966456 +vt 0.290702 0.960924 +vt 0.290761 0.964910 +vt 0.340529 0.645113 +vt 0.446339 0.626918 +vt 0.446326 0.644424 +vt 0.679936 0.866077 +vt 0.685412 0.845918 +vt 0.653022 0.759969 +vt 0.176204 0.962749 +vt 0.186163 0.961764 +vt 0.314189 0.952419 +vt 0.300675 0.944255 +vt 0.317014 0.948953 +vt 0.109541 0.842175 +vt 0.140316 0.842175 +vt 0.452576 0.982507 +vt 0.463142 0.975612 +vt 0.465756 0.979239 +vt 0.788819 0.736746 +vt 0.787459 0.700886 +vt 0.659437 0.634425 +vt 0.656472 0.623513 +vt 0.442243 0.979216 +vt 0.442081 0.985101 +vt 0.290702 0.944238 +vt 0.299950 0.947451 +vt 0.300675 0.960908 +vt 0.299950 0.957711 +vt 0.314189 0.952744 +vt 0.299764 0.978453 +vt 0.310165 0.985594 +vt 0.298915 0.982521 +vt 0.289357 0.981499 +vt 0.289333 0.975612 +vt 0.337691 0.977558 +vt 0.098660 0.820501 +vt 0.102057 0.795077 +vt 0.105694 0.794611 +vt 0.446810 0.693938 +vt 0.454466 0.594878 +vt 0.446757 0.589328 +vt 0.461939 0.577590 +vt 0.745776 0.584818 +vt 0.080315 0.566105 +vt 0.095759 0.539076 +vt 0.102057 0.562258 +vt 0.691489 0.697474 +vt 0.638014 0.849722 +vt 0.656472 0.854737 +vt 0.446820 0.577560 +vt 0.738082 0.590349 +vt 0.749823 0.622128 +vt 0.746608 0.621735 +vt 0.121879 0.561277 +vt 0.098660 0.536834 +vt 0.113353 0.529892 +vt 0.243049 0.842175 +vt 0.273816 0.841159 +vt 0.273823 0.842175 +vt 0.740656 0.588383 +vt 0.083763 0.776327 +vt 0.693382 0.730835 +vt 0.692744 0.714006 +vt 0.337571 0.982619 +vt 0.160078 0.901277 +vt 0.122340 0.938934 +vt 0.085257 0.909698 +vt 0.275124 0.845907 +vt 0.705044 0.851687 +vt 0.699788 0.871034 +vt 0.142918 0.842175 +vt 0.326037 0.620144 +vt 0.331671 0.650833 +vt 0.326267 0.651299 +vt 0.330650 0.663037 +vt 0.324656 0.663275 +vt 0.330614 0.608328 +vt 0.324590 0.608016 +vt 0.332277 0.596183 +vt 0.327061 0.578210 +vt 0.340693 0.588559 +vt 0.331583 0.620575 +vt 0.326731 0.693126 +vt 0.332160 0.675176 +vt 0.041487 0.862419 +vt 0.008110 0.845907 +vt 0.777117 0.613889 +vt 0.768366 0.581679 +vt 0.121879 0.796058 +vt 0.134392 0.643185 +vt 0.745776 0.893432 +vt 0.705044 0.626563 +vt 0.679936 0.612173 +vt 0.699788 0.607216 +vt 0.680165 0.631660 +vt 0.675750 0.615409 +vt 0.008110 0.837350 +vt 0.790580 0.702023 +vt 0.634488 0.839654 +vt 0.632839 0.845723 +vt 0.233859 0.885432 +vt 0.175562 0.930199 +vt 0.175562 0.870923 +vt 0.340483 0.682895 +vt 0.340659 0.691513 +vt 0.454069 0.650265 +vt 0.328705 0.520310 +vt 0.341652 0.551659 +vt 0.327962 0.552552 +vt 0.340925 0.579939 +vt 0.327513 0.718940 +vt 0.341269 0.719879 +vt 0.459642 0.520310 +vt 0.446460 0.550286 +vt 0.445095 0.521164 +vt 0.459703 0.750615 +vt 0.446433 0.721309 +vt 0.461634 0.721227 +vt 0.341884 0.749217 +vt 0.445110 0.749566 +vt 0.342347 0.521361 +vt 0.672376 0.760954 +vt 0.666688 0.725988 +vt 0.672622 0.721033 +vt 0.315098 0.557219 +vt 0.191146 0.585104 +vt 0.404923 0.830258 +vt 0.398083 0.826306 +vt 0.404970 0.825822 +vt 0.672968 0.644290 +vt 0.668770 0.634152 +vt 0.673046 0.627943 +vt 0.171673 0.707536 +vt 0.175271 0.737367 +vt 0.171994 0.741994 +vt 0.296421 0.825822 +vt 0.302713 0.829258 +vt 0.296390 0.829743 +vt 0.177592 0.778384 +vt 0.173180 0.808813 +vt 0.172380 0.774160 +vt 0.331325 0.829448 +vt 0.302737 0.826185 +vt 0.331355 0.825966 +vt 0.386366 0.826227 +vt 0.398046 0.829783 +vt 0.386329 0.829722 +vt 0.357915 0.826055 +vt 0.357884 0.829634 +vt 0.175295 0.698725 +vt 0.171551 0.693345 +vt 0.713201 0.721362 +vt 0.713498 0.684307 +vt 0.672864 0.683977 +vt 0.666824 0.715921 +vt 0.177390 0.769698 +vt 0.028764 0.708208 +vt 0.124089 0.742320 +vt 0.113087 0.742395 +vt 0.669066 0.678666 +vt 0.327662 0.716011 +vt 0.296421 0.712823 +vt 0.331088 0.713489 +vt 0.331126 0.724012 +vt 0.299814 0.721363 +vt 0.296421 0.724239 +vt 0.300232 0.715750 +vt 0.296421 0.675999 +vt 0.299809 0.685664 +vt 0.296421 0.688736 +vt 0.327449 0.685745 +vt 0.331241 0.688518 +vt 0.327754 0.678912 +vt 0.331208 0.676084 +vt 0.300160 0.679045 +vt 0.296421 0.700860 +vt 0.300021 0.709721 +vt 0.296421 0.712663 +vt 0.327040 0.709681 +vt 0.331091 0.712270 +vt 0.327366 0.703877 +vt 0.331046 0.701249 +vt 0.300401 0.703801 +vt 0.133601 0.774424 +vt 0.133535 0.742255 +vt 0.113373 0.774562 +vt 0.095303 0.742516 +vt 0.105260 0.774617 +vt 0.095591 0.774683 +vt 0.327298 0.721488 +vt 0.080790 0.742616 +vt 0.018656 0.779631 +vt 0.018657 0.737143 +vt 0.124377 0.774487 +vt 0.088143 0.774734 +vt 0.081010 0.774783 +vt 0.454347 0.606253 +vt 0.714417 0.628363 +vt 0.714251 0.644710 +vt 0.004465 0.737143 +vt 0.004465 0.779631 +vt 0.108240 0.845907 +vt 0.108240 0.862419 +vt 0.178790 0.751868 +vt 0.323550 0.784426 +vt 0.179022 0.785426 +vt 0.191348 0.749370 +vt 0.323317 0.750868 +vt 0.769261 0.858696 +vt 0.782310 0.822466 +vt 0.775550 0.857709 +vt 0.765070 0.896975 +vt 0.774478 0.862345 +vt 0.785094 0.824277 +vt 0.778807 0.857057 +vt 0.763396 0.741000 +vt 0.115180 0.709168 +vt 0.118512 0.710698 +vt 0.672136 0.717557 +vt 0.792170 0.896520 +vt 0.792170 0.890231 +vt 0.837897 0.877654 +vt 0.176169 0.960371 +vt 0.160403 0.956475 +vt 0.165729 0.952744 +vt 0.176169 0.944787 +vt 0.160403 0.948683 +vt 0.176205 0.942410 +vt 0.186233 0.938703 +vt 0.186163 0.943395 +vt 0.672564 0.728855 +vt 0.653022 0.718281 +vt 0.173692 0.842175 +vt 0.142925 0.841159 +vt 0.095759 0.818259 +vt 0.080315 0.791229 +vt 0.340119 0.626273 +vt 0.241747 0.862419 +vt 0.777117 0.864362 +vt 0.768366 0.896571 +vt 0.241747 0.837350 +vt 0.243056 0.841159 +vt 0.328195 0.750550 +vt 0.461603 0.550382 +vt 0.191149 0.720633 +vt 0.315102 0.748513 +vt 0.752577 0.727783 +vt 0.769071 0.678888 +vt 0.768925 0.727831 +vt 0.008110 0.885244 +vt 0.062431 0.862744 +vt 0.084932 0.917065 +vt 0.168124 0.784477 +vt 0.167902 0.752483 +vt 0.321232 0.652866 +vt 0.309396 0.669478 +vt 0.168118 0.521260 +vt 0.167500 0.621048 +vt 0.167962 0.750574 +vt 0.167740 0.718579 +vt 0.167957 0.555163 +vt 0.168094 0.717172 +vt 0.647287 0.750954 +vt 0.647048 0.757238 +vt 0.647287 0.727296 +vt 0.653450 0.729580 +vt 0.645265 0.697427 +vt 0.651576 0.699247 +vt 0.640993 0.667804 +vt 0.647411 0.669143 +vt 0.640993 0.810447 +vt 0.645281 0.820212 +vt 0.639808 0.816623 +vt 0.650294 0.790237 +vt 0.645265 0.780824 +vt 0.752690 0.827705 +vt 0.769039 0.876649 +vt 0.752691 0.876650 +vt 0.752723 0.678839 +vt 0.188734 0.685530 +vt 0.309395 0.636254 +vt 0.301347 0.643518 +vt 0.302522 0.601098 +vt 0.196857 0.599641 +vt 0.189057 0.606877 +vt 0.004465 0.913646 +vt 0.018781 0.871200 +vt 0.018657 0.913687 +vt 0.672835 0.910963 +vt 0.713482 0.871066 +vt 0.714119 0.910665 +vt 0.714237 0.927013 +vt 0.240401 0.825822 +vt 0.199776 0.842354 +vt 0.173390 0.842473 +vt 0.088253 0.876301 +vt 0.080806 0.908398 +vt 0.081120 0.876231 +vt 0.095701 0.876374 +vt 0.029467 0.840968 +vt 0.105370 0.876468 +vt 0.296421 0.724400 +vt 0.327298 0.727151 +vt 0.299814 0.727276 +vt 0.095318 0.908540 +vt 0.105209 0.908637 +vt 0.331091 0.689289 +vt 0.327366 0.697682 +vt 0.327040 0.691878 +vt 0.113483 0.876547 +vt 0.124104 0.908821 +vt 0.113102 0.908714 +vt 0.331210 0.835232 +vt 0.327723 0.844838 +vt 0.327418 0.838005 +vt 0.133710 0.876745 +vt 0.172008 0.909288 +vt 0.133550 0.908914 +vt 0.300021 0.691838 +vt 0.296421 0.700699 +vt 0.331046 0.700311 +vt 0.296421 0.688896 +vt 0.300401 0.697758 +vt 0.299777 0.838086 +vt 0.296390 0.847752 +vt 0.331177 0.847666 +vt 0.296390 0.835015 +vt 0.300129 0.844706 +vt 0.327662 0.732627 +vt 0.296421 0.735815 +vt 0.300232 0.732889 +vt 0.331126 0.724626 +vt 0.331088 0.735149 +vt 0.669034 0.876576 +vt 0.672848 0.871276 +vt 0.171585 0.943745 +vt 0.171421 0.957935 +vt 0.028679 0.942652 +vt 0.177485 0.881600 +vt 0.177108 0.906811 +vt 0.666901 0.839315 +vt 0.672715 0.834220 +vt 0.672586 0.794298 +vt 0.713295 0.834010 +vt 0.175181 0.952567 +vt 0.331337 0.834362 +vt 0.357883 0.830819 +vt 0.357897 0.834398 +vt 0.386328 0.830866 +vt 0.398045 0.830860 +vt 0.386349 0.834361 +vt 0.302720 0.834007 +vt 0.331324 0.830879 +vt 0.177713 0.872915 +vt 0.172488 0.877123 +vt 0.296402 0.834340 +vt 0.302711 0.830933 +vt 0.175271 0.913925 +vt 0.174940 0.940932 +vt 0.668607 0.921090 +vt 0.668584 0.908276 +vt 0.404924 0.830418 +vt 0.398066 0.834337 +vt 0.666796 0.829248 +vt 0.666694 0.797957 +vt 0.240142 0.825662 +vt 0.029359 0.824084 +vt 0.459981 0.644320 +vt 0.938208 0.866046 +vt 0.778259 0.876294 +vt 0.778259 0.866046 +vt 0.938208 0.876294 +vt 0.778259 0.886541 +vt 0.938208 0.804562 +vt 0.778259 0.814809 +vt 0.778259 0.804562 +vt 0.938208 0.814809 +vt 0.778259 0.825057 +vt 0.938208 0.825057 +vt 0.778259 0.835304 +vt 0.938208 0.835304 +vt 0.778259 0.845551 +vt 0.947456 0.835304 +vt 0.938208 0.845551 +vt 0.778259 0.855799 +vt 0.938208 0.855799 +vt 0.769454 0.844635 +vt 0.769454 0.836221 +vt 0.890976 0.635115 +vt 0.876612 0.641065 +vt 0.870662 0.626701 +vt 0.769454 0.824140 +vt 0.769454 0.815726 +vt 0.769454 0.854882 +vt 0.769454 0.846468 +vt 0.769454 0.877211 +vt 0.769454 0.825973 +vt 0.769454 0.865130 +vt 0.769454 0.856716 +vt 0.769454 0.866963 +vt 0.769454 0.805478 +vt 0.947456 0.866046 +vt 0.949930 0.856652 +vt 0.949930 0.865193 +vt 0.947456 0.876294 +vt 0.947456 0.814809 +vt 0.947456 0.845551 +vt 0.947456 0.825057 +vt 0.947456 0.855799 +vt 0.947456 0.886541 +vt 0.938208 0.886541 +vt 0.949930 0.844698 +vt 0.949930 0.815663 +vt 0.949930 0.824203 +vt 0.949930 0.877147 +vt 0.949930 0.885688 +vt 0.949930 0.846405 +vt 0.949930 0.854946 +vt 0.949930 0.834450 +vt 0.949930 0.805415 +vt 0.949930 0.813956 +vt 0.949930 0.875440 +vt 0.953397 0.813214 +vt 0.875653 0.675513 +vt 0.870662 0.670523 +vt 0.887700 0.663466 +vt 0.949930 0.866900 +vt 0.953397 0.874699 +vt 0.953397 0.864451 +vt 0.953397 0.836899 +vt 0.953397 0.843956 +vt 0.953397 0.816404 +vt 0.953397 0.823462 +vt 0.953397 0.877889 +vt 0.953397 0.884946 +vt 0.953397 0.854204 +vt 0.953397 0.826652 +vt 0.953397 0.833709 +vt 0.594130 0.814809 +vt 0.754079 0.825057 +vt 0.594130 0.825057 +vt 0.754079 0.804562 +vt 0.754079 0.814809 +vt 0.594130 0.876294 +vt 0.754079 0.886541 +vt 0.594130 0.886541 +vt 0.594130 0.866046 +vt 0.754079 0.876294 +vt 0.594130 0.855799 +vt 0.754079 0.866046 +vt 0.594130 0.845552 +vt 0.754079 0.855799 +vt 0.763327 0.855799 +vt 0.594130 0.835304 +vt 0.754079 0.845552 +vt 0.754079 0.835304 +vt 0.585325 0.846468 +vt 0.870662 0.606202 +vt 0.885026 0.600252 +vt 0.890976 0.614616 +vt 0.585325 0.866963 +vt 0.585325 0.836221 +vt 0.585325 0.813892 +vt 0.594130 0.804562 +vt 0.585325 0.865130 +vt 0.585325 0.825973 +vt 0.585325 0.824140 +vt 0.585325 0.885625 +vt 0.765801 0.825910 +vt 0.763327 0.835304 +vt 0.763327 0.825057 +vt 0.763327 0.814809 +vt 0.763327 0.876294 +vt 0.763327 0.845551 +vt 0.763327 0.866046 +vt 0.763327 0.804562 +vt 0.765801 0.846405 +vt 0.765801 0.875440 +vt 0.765801 0.813956 +vt 0.765801 0.836158 +vt 0.765801 0.856652 +vt 0.765801 0.885688 +vt 0.763327 0.886541 +vt 0.765801 0.815663 +vt 0.769268 0.877889 +vt 0.765801 0.877147 +vt 0.887700 0.653299 +vt 0.882710 0.658289 +vt 0.875653 0.641251 +vt 0.769268 0.816404 +vt 0.765801 0.824203 +vt 0.769268 0.833709 +vt 0.765801 0.834451 +vt 0.769268 0.854204 +vt 0.765801 0.854946 +vt 0.765801 0.866900 +vt 0.769267 0.874699 +vt 0.765801 0.805415 +vt 0.769268 0.813214 +vt 0.769267 0.836899 +vt 0.765801 0.844698 +vt 0.769268 0.864451 +vt 0.765801 0.865193 +vt 0.683708 0.729337 +vt 0.660202 0.741608 +vt 0.680517 0.745595 +vt 0.711332 0.751643 +vt 0.728929 0.755097 +vt 0.714523 0.735385 +vt 0.666440 0.724518 +vt 0.669643 0.729946 +vt 0.652965 0.726115 +vt 0.695887 0.785671 +vt 0.701756 0.768726 +vt 0.803080 0.643478 +vt 0.790810 0.619972 +vt 0.786822 0.640287 +vt 0.780775 0.671102 +vt 0.777321 0.688699 +vt 0.797033 0.674292 +vt 0.802472 0.629412 +vt 0.806303 0.612735 +vt 0.807899 0.626210 +vt 0.746746 0.655656 +vt 0.763692 0.661526 +vt 0.604415 0.743826 +vt 0.580909 0.756097 +vt 0.601224 0.760084 +vt 0.632039 0.766132 +vt 0.649636 0.769586 +vt 0.635230 0.749874 +vt 0.587148 0.739007 +vt 0.590350 0.744435 +vt 0.573672 0.740604 +vt 0.616594 0.800160 +vt 0.622463 0.783215 +vt 0.706533 0.664337 +vt 0.690884 0.675212 +vt 0.702546 0.684653 +vt 0.712581 0.633523 +vt 0.690275 0.661147 +vt 0.716034 0.615926 +vt 0.696322 0.630332 +vt 0.685456 0.678415 +vt 0.687052 0.691890 +vt 0.746609 0.648968 +vt 0.729663 0.643099 +vt 0.759810 0.745595 +vt 0.748935 0.729946 +vt 0.739495 0.741608 +vt 0.790624 0.751643 +vt 0.763001 0.729337 +vt 0.808222 0.755097 +vt 0.793815 0.735385 +vt 0.732258 0.726115 +vt 0.745733 0.724518 +vt 0.775179 0.785671 +vt 0.781049 0.768726 +vt 0.785825 0.837412 +vt 0.770176 0.848286 +vt 0.781838 0.857727 +vt 0.791873 0.806597 +vt 0.769567 0.834221 +vt 0.779069 0.785809 +vt 0.775615 0.803406 +vt 0.764748 0.851489 +vt 0.766345 0.864964 +vt 0.825901 0.822042 +vt 0.808956 0.816173 +vt 0.683708 0.823119 +vt 0.660202 0.835390 +vt 0.680517 0.839377 +vt 0.714523 0.829166 +vt 0.711332 0.845425 +vt 0.732120 0.832620 +vt 0.669642 0.823728 +vt 0.652965 0.819896 +vt 0.666440 0.818300 +vt 0.695887 0.879453 +vt 0.701756 0.862507 +vt 0.604415 0.650045 +vt 0.580909 0.662315 +vt 0.601224 0.666303 +vt 0.635230 0.656092 +vt 0.632039 0.672350 +vt 0.652827 0.659546 +vt 0.587147 0.645226 +vt 0.590350 0.650653 +vt 0.573672 0.646822 +vt 0.616594 0.706379 +vt 0.622463 0.689433 +vt 0.500000 0.187500 +vt 0.801034 0.693998 +vt 0.822057 0.672975 +vt 0.851789 0.672975 +vt 0.872812 0.723730 +vt 0.851789 0.744753 +vt 0.894049 0.672975 +vt 0.923781 0.672975 +vt 0.944804 0.693998 +vt 0.923781 0.744753 +vt 0.873025 0.723730 +vt 0.500000 0.187500 +vt 0.729042 0.765990 +vt 0.750065 0.744967 +vt 0.779797 0.744967 +vt 0.800820 0.795722 +vt 0.779797 0.816745 +vt 0.822057 0.816958 +vt 0.851789 0.816958 +vt 0.872812 0.837982 +vt 0.851789 0.888737 +vt 0.801034 0.867713 +vt 0.500000 0.187500 +vt 0.657050 0.693998 +vt 0.678074 0.672975 +vt 0.707805 0.672975 +vt 0.728829 0.723730 +vt 0.707805 0.744753 +vt 0.678074 0.888950 +vt 0.707805 0.888950 +vt 0.728829 0.909974 +vt 0.707805 0.960729 +vt 0.657050 0.939705 +vt 0.500000 0.187500 +vt 0.729042 0.693998 +vt 0.750065 0.672975 +vt 0.779797 0.672975 +vt 0.800820 0.723730 +vt 0.779797 0.744753 +vt 0.678074 0.816958 +vt 0.707805 0.816958 +vt 0.728829 0.837982 +vt 0.707805 0.888737 +vt 0.657050 0.867713 +vt 0.500000 0.187500 +vt 0.657050 0.765990 +vt 0.678074 0.744967 +vt 0.707805 0.744967 +vt 0.728829 0.795722 +vt 0.707805 0.816745 +vt 0.822057 0.744967 +vt 0.851789 0.744967 +vt 0.872812 0.765990 +vt 0.851789 0.816745 +vt 0.801034 0.795722 +vt 0.806841 0.765292 +vt 0.710865 0.878741 +vt 0.721442 0.884848 +vt 0.717917 0.890954 +vt 0.806842 0.807599 +vt 0.806842 0.807743 +vt 0.596430 0.901555 +vt 0.608643 0.901555 +vt 0.608643 0.908607 +vt 0.806842 0.850049 +vt 0.812236 0.690671 +vt 0.707339 0.894624 +vt 0.719553 0.894624 +vt 0.719553 0.901676 +vt 0.812236 0.732978 +vt 0.797412 0.757947 +vt 0.797412 0.750895 +vt 0.803518 0.747369 +vt 0.707195 0.836290 +vt 0.797412 0.743699 +vt 0.797412 0.736648 +vt 0.803518 0.733122 +vt 0.692227 0.836290 +vt 0.778722 0.854590 +vt 0.778722 0.847539 +vt 0.784828 0.844013 +vt 0.722164 0.836290 +vt 0.596430 0.849086 +vt 0.613617 0.881319 +vt 0.805115 0.764122 +vt 0.870166 0.638468 +vt 0.609375 0.464844 +vt 0.782135 0.927723 +vt 0.799159 0.908557 +vt 0.782041 0.907319 +vt 0.669086 0.929943 +vt 0.785608 0.701921 +vt 0.808427 0.791102 +vt 0.870476 0.701735 +vt 0.667969 0.500000 +vt 0.821314 0.886728 +vt 0.732575 0.919401 +vt 0.783343 0.887966 +vt 0.873347 0.887966 +vt 0.890464 0.886728 +vt 0.767005 0.886728 +vt 0.785608 0.701735 +vt 0.803093 0.618341 +vt 0.808253 0.680551 +vt 0.791846 0.843869 +vt 0.691023 0.878741 +vt 0.696665 0.884383 +vt 0.696665 0.892362 +vt 0.683044 0.898004 +vt 0.677402 0.892362 +vt 0.778732 0.813478 +vt 0.778722 0.842943 +vt 0.778738 0.793834 +vt 0.778725 0.833121 +vt 0.275353 0.772973 +vt 0.271410 0.782495 +vt 0.265832 0.782495 +vt 0.261888 0.778551 +vt 0.226789 0.769029 +vt 0.261888 0.740142 +vt 0.265832 0.730620 +vt 0.271410 0.730620 +vt 0.598130 0.846904 +vt 0.507381 0.896473 +vt 0.652570 0.902783 +vt 0.715450 0.624156 +vt 0.760292 0.671614 +vt 0.713777 0.658057 +vt 0.740565 0.631120 +vt 0.808269 0.902783 +vt 0.652377 0.798594 +vt 0.764977 0.703371 +vt 0.594100 0.810061 +vt 0.232537 0.575325 +vt 0.094145 0.630642 +vt 0.329373 0.575325 +vt 0.423560 0.888745 +vt 0.405972 0.904028 +vt 0.356644 0.820388 +vt 0.363752 0.870173 +vt 0.375342 0.874430 +vt 0.334359 0.823674 +vt 0.397771 0.903092 +vt 0.670645 0.763117 +vt 0.740808 0.752231 +vt 0.716159 0.782535 +vt 0.693797 0.764744 +vt 0.662981 0.719872 +vt 0.725698 0.732079 +vt 0.797267 0.723741 +vt 0.681156 0.808819 +vt 0.721400 0.813663 +vt 0.699879 0.813663 +vt 0.634295 0.818571 +vt 0.652589 0.836146 +vt 0.800184 0.857266 +vt 0.796100 0.859624 +vt 0.792017 0.857266 +vt 0.695631 0.836146 +vt 0.609548 0.836146 +vt 0.674110 0.836146 +vt 0.717151 0.836146 +vt 0.631069 0.836146 +vt 0.652589 0.690671 +vt 0.704976 0.881099 +vt 0.704976 0.885814 +vt 0.700892 0.888171 +vt 0.695631 0.690671 +vt 0.609547 0.690672 +vt 0.674110 0.690672 +vt 0.717151 0.690671 +vt 0.631069 0.690672 +vt 0.509584 0.689778 +vt 0.557791 0.693952 +vt 0.507381 0.730443 +vt 0.569317 0.730645 +vt 0.511142 0.801081 +vt 0.562583 0.801877 +vt 0.525516 0.843657 +vt 0.508001 0.835164 +vt 0.563960 0.836904 +vt 0.545819 0.844334 +vt 0.725698 0.846202 +vt 0.756544 0.853835 +vt 0.738918 0.772924 +vt 0.595507 0.451954 +vt 0.152870 0.738355 +vt 0.198414 0.725726 +vt 0.234101 0.725726 +vt 0.234101 0.746330 +vt 0.152869 0.763611 +vt 0.152869 0.839383 +vt 0.187087 0.793585 +vt 0.708834 0.763115 +vt 0.194169 0.848187 +vt 0.194168 0.822930 +vt 0.722416 0.747359 +vt 0.731752 0.752749 +vt 0.731752 0.763529 +vt 0.713051 0.814389 +vt 0.713051 0.713361 +vt 0.713051 0.789132 +vt 0.708834 0.838886 +vt 0.713051 0.738618 +vt 0.293733 0.319111 +vt 0.311139 0.327987 +vt 0.353135 0.459421 +vt 0.231084 0.410102 +vt 0.101197 0.289824 +vt 0.215554 0.456392 +vt 0.114861 0.414917 +vt 0.172800 0.334169 +vt 0.669208 0.752748 +vt 0.710714 0.665515 +vt 0.276871 0.341239 +vt 0.306964 0.356975 +vt 0.636756 0.753622 +vt 0.638459 0.661605 +vt 0.771586 0.663320 +vt 0.724173 0.799559 +vt 0.432714 0.804124 +vt 0.431825 0.751766 +vt 0.234184 0.881274 +vt 0.252713 0.862744 +vt 0.278918 0.862744 +vt 0.297448 0.907478 +vt 0.278918 0.926008 +vt 0.395286 0.952106 +vt 0.397311 0.927660 +vt 0.686631 0.726489 +vt 0.683623 0.877696 +vt 0.665355 0.775475 +vt 0.374699 0.926265 +vt 0.665938 0.726460 +vt 0.661972 0.876500 +vt 0.663035 0.851856 +vt 0.663739 0.826191 +vt 0.376577 0.875013 +vt 0.377583 0.776933 +vt 0.358930 0.953121 +vt 0.340336 0.893430 +vt 0.351760 0.871860 +vt 0.353719 0.822524 +vt 0.353866 0.774995 +vt 0.349205 0.922863 +vt 0.336777 0.867502 +vt 0.342988 0.843472 +vt 0.344719 0.795495 +vt 0.336293 0.946137 +vt 0.339225 0.818615 +vt 0.338909 0.771406 +vt 0.333854 0.918244 +vt 0.328196 0.917091 +vt 0.950051 0.775398 +vt 0.961580 0.775398 +vt 0.969733 0.783551 +vt 0.961580 0.803233 +vt 0.950051 0.803233 +vt 0.329498 0.891185 +vt 0.332491 0.841468 +vt 0.334577 0.793824 +vt 0.324590 0.943720 +vt 0.331260 0.866431 +vt 0.333898 0.817689 +vt 0.333427 0.770610 +vt 0.428333 0.876211 +vt 0.427678 0.825096 +vt 0.426153 0.775763 +vt 0.427557 0.929224 +vt 0.674938 0.810489 +vt 0.674280 0.724130 +vt 0.677627 0.681085 +vt 0.677627 0.853626 +vt 0.681026 0.810813 +vt 0.661211 0.799677 +vt 0.680254 0.854172 +vt 0.653581 0.680736 +vt 0.841337 0.870850 +vt 0.661247 0.800573 +vt 0.680254 0.680736 +vt 0.661211 0.847722 +vt 0.661211 0.703589 +vt 0.651742 0.753558 +vt 0.681803 0.767454 +vt 0.661248 0.705534 +vt 0.661211 0.775655 +vt 0.651742 0.849647 +vt 0.670029 0.846430 +vt 0.661248 0.681775 +vt 0.670029 0.751391 +vt 0.661247 0.776813 +vt 0.651742 0.825625 +vt 0.651742 0.729536 +vt 0.593987 0.480180 +vt 0.552826 0.484886 +vt 0.557512 0.480200 +vt 0.564138 0.480200 +vt 0.568824 0.484886 +vt 0.568824 0.491512 +vt 0.548121 0.496197 +vt 0.541495 0.496197 +vt 0.536809 0.491512 +vt 0.536809 0.484886 +vt 0.541495 0.480200 +vt 0.684147 0.624156 +vt 0.635940 0.684460 +vt 0.697909 0.648617 +vt 0.684146 0.744957 +vt 0.635940 0.744957 +vt 0.635117 0.720265 +vt 0.635940 0.684653 +vt 0.697909 0.720496 +vt 0.684146 0.684653 +vt 0.569512 0.720496 +vt 0.742632 0.850835 +vt 0.716580 0.815022 +vt 0.652570 0.848686 +vt 0.668880 0.830898 +vt 0.782413 0.837305 +vt 0.646322 0.623963 +vt 0.518241 0.623753 +vt 0.518193 0.612882 +vt 0.806829 0.582470 +vt 0.825511 0.582762 +vt 0.825394 0.590214 +vt 0.984776 0.886695 +vt 0.527350 0.595580 +vt 0.656765 0.791330 +vt 0.655965 0.750883 +vt 0.693984 0.745150 +vt 0.518329 0.587736 +vt 0.648803 0.588527 +vt 0.825394 0.610216 +vt 0.803979 0.610554 +vt 0.812776 0.871221 +vt 0.879446 0.886695 +vt 0.756437 0.581414 +vt 0.777441 0.581837 +vt 0.695134 0.577691 +vt 0.723634 0.578627 +vt 0.777831 0.618563 +vt 0.756971 0.619001 +vt 0.724433 0.621751 +vt 0.696002 0.622669 +vt 0.141617 0.862419 +vt 0.762071 0.702308 +vt 0.790012 0.694547 +vt 0.783028 0.817762 +vt 0.746608 0.856516 +vt 0.133940 0.637238 +vt 0.123224 0.790247 +vt 0.042788 0.842175 +vt 0.040178 0.841159 +vt 0.787459 0.777364 +vt 0.774478 0.615905 +vt 0.761788 0.779680 +vt 0.750668 0.625780 +vt 0.754979 0.665383 +vt 0.754079 0.818764 +vt 0.087539 0.600697 +vt 0.698343 0.732673 +vt 0.089849 0.741519 +vt 0.094040 0.671020 +vt 0.092123 0.635735 +vt 0.718010 0.766806 +vt 0.712268 0.661154 +vt 0.714578 0.801976 +vt 0.692744 0.764244 +vt 0.837897 0.846209 +vt 0.866381 0.850656 +vt 0.870828 0.846209 +vt 0.877117 0.846209 +vt 0.881564 0.856945 +vt 0.870828 0.861392 +vt 0.326715 0.977214 +vt 0.313006 0.619968 +vt 0.167512 0.619681 +vt 0.632839 0.632527 +vt 0.184793 0.975638 +vt 0.160403 0.975751 +vt 0.653450 0.748670 +vt 0.451822 0.978419 +vt 0.290761 0.940252 +vt 0.317014 0.956210 +vt 0.312864 0.982029 +vt 0.075059 0.546759 +vt 0.640978 0.838811 +vt 0.105694 0.562724 +vt 0.087539 0.756638 +vt 0.094869 0.873199 +vt 0.122340 0.862744 +vt 0.085257 0.891980 +vt 0.148495 0.872490 +vt 0.148495 0.929187 +vt 0.094869 0.928478 +vt 0.008110 0.862419 +vt 0.113353 0.827443 +vt 0.135624 0.675685 +vt 0.685412 0.632333 +vt 0.791845 0.735376 +vt 0.201143 0.862744 +vt 0.227962 0.875106 +vt 0.233859 0.915690 +vt 0.227962 0.926016 +vt 0.201143 0.938378 +vt 0.160403 0.901027 +vt 0.666495 0.757277 +vt 0.314900 0.585956 +vt 0.668710 0.646965 +vt 0.175019 0.710358 +vt 0.178219 0.805544 +vt 0.175390 0.709847 +vt 0.713074 0.761258 +vt 0.667013 0.686876 +vt 0.177087 0.744486 +vt 0.028698 0.694017 +vt 0.088077 0.742566 +vt 0.105193 0.742449 +vt 0.669147 0.647559 +vt 0.029253 0.809894 +vt 0.758724 0.897483 +vt 0.837897 0.896520 +vt 0.165729 0.952414 +vt 0.075059 0.810576 +vt 0.275124 0.862419 +vt 0.275124 0.837350 +vt 0.314904 0.719775 +vt 0.062431 0.939566 +vt 0.030611 0.939566 +vt 0.008110 0.917065 +vt 0.030610 0.862744 +vt 0.084932 0.885244 +vt 0.167898 0.553254 +vt 0.167441 0.652321 +vt 0.167737 0.587159 +vt 0.167514 0.686056 +vt 0.647048 0.721012 +vt 0.644552 0.691178 +vt 0.639808 0.661627 +vt 0.644552 0.787072 +vt 0.769038 0.827705 +vt 0.188732 0.620207 +vt 0.004590 0.871159 +vt 0.672864 0.927311 +vt 0.029615 0.826778 +vt 0.240475 0.842169 +vt 0.088093 0.908469 +vt 0.124486 0.876655 +vt 0.669023 0.907683 +vt 0.028571 0.956843 +vt 0.667005 0.868360 +vt 0.713285 0.794113 +vt 0.175310 0.941445 +vt 0.178419 0.845756 +vt 0.296390 0.830418 +vt 0.404951 0.834854 +vt 0.199566 0.809010 +vt 0.240264 0.809314 +vt 0.885026 0.641065 +vt 0.870662 0.635115 +vt 0.876612 0.620751 +vt 0.885026 0.620751 +vt 0.890976 0.626701 +vt 0.769454 0.885625 +vt 0.769454 0.834387 +vt 0.769454 0.875377 +vt 0.769454 0.813893 +vt 0.947456 0.804562 +vt 0.949930 0.836157 +vt 0.949930 0.825910 +vt 0.953397 0.806157 +vt 0.870662 0.663466 +vt 0.875653 0.658475 +vt 0.882710 0.658475 +vt 0.887700 0.670523 +vt 0.882710 0.675513 +vt 0.953397 0.867641 +vt 0.953397 0.857394 +vt 0.953397 0.847147 +vt 0.585325 0.854882 +vt 0.876612 0.600252 +vt 0.890976 0.606202 +vt 0.885026 0.620565 +vt 0.876612 0.620565 +vt 0.870662 0.614616 +vt 0.585325 0.875377 +vt 0.585325 0.844635 +vt 0.585325 0.805478 +vt 0.585325 0.856716 +vt 0.585325 0.834387 +vt 0.585325 0.815726 +vt 0.585325 0.877211 +vt 0.769268 0.884946 +vt 0.875653 0.658289 +vt 0.870662 0.653299 +vt 0.870662 0.646241 +vt 0.882710 0.641251 +vt 0.887700 0.646241 +vt 0.769268 0.823462 +vt 0.769268 0.826652 +vt 0.769268 0.847147 +vt 0.769268 0.867642 +vt 0.769268 0.806157 +vt 0.769268 0.843956 +vt 0.769268 0.857394 +vt 0.732120 0.738839 +vt 0.694552 0.704387 +vt 0.682426 0.692028 +vt 0.652965 0.754472 +vt 0.793579 0.691890 +vt 0.828030 0.654322 +vt 0.840390 0.642196 +vt 0.777945 0.612735 +vt 0.652827 0.753327 +vt 0.615259 0.718876 +vt 0.603134 0.706516 +vt 0.573672 0.768961 +vt 0.699776 0.612735 +vt 0.665325 0.650303 +vt 0.652965 0.662428 +vt 0.715410 0.691890 +vt 0.811413 0.738839 +vt 0.773845 0.704387 +vt 0.761719 0.692028 +vt 0.732258 0.754472 +vt 0.795327 0.789000 +vt 0.744617 0.823377 +vt 0.732258 0.835503 +vt 0.794703 0.864964 +vt 0.728929 0.848878 +vt 0.694552 0.798169 +vt 0.682426 0.785809 +vt 0.652965 0.848254 +vt 0.649636 0.675804 +vt 0.615259 0.625094 +vt 0.603133 0.612735 +vt 0.573672 0.675180 vn 0.0000 -0.3827 -0.9239 -vn 0.0000 0.3827 0.9239 -vn 0.0000 0.9239 0.3827 -vn 0.9838 -0.1658 0.0687 -vn -0.8418 0.2066 0.4987 -vn -0.9846 -0.0670 0.1617 -vn -0.9846 -0.0670 -0.1617 -vn 0.9838 0.1658 -0.0687 -vn 0.9838 -0.1658 -0.0687 -vn 0.4296 0.3456 0.8343 -vn 0.4296 -0.3456 -0.8343 -vn 0.4296 0.3456 -0.8343 -vn 0.4296 0.8343 0.3456 -vn 0.4296 -0.3456 0.8343 +vn 0.0000 -0.9239 -0.3827 vn 0.0000 -0.9239 0.3827 vn 0.0000 -0.3827 0.9239 -vn -0.0913 0.8947 0.4372 -vn 0.8293 -0.2138 0.5162 +vn 0.0000 0.3827 0.9239 +vn 0.0000 0.9239 0.3827 +vn 1.0000 0.0000 0.0000 +vn 0.0000 0.9239 -0.3827 vn 0.0000 0.3827 -0.9239 -vn 0.8293 0.5162 -0.2138 -vn 0.0464 -0.8899 0.4538 -vn 0.8293 0.2138 -0.5162 -vn 0.8293 -0.2138 -0.5162 -vn 0.8293 0.5162 0.2138 -vn -0.8418 -0.2066 0.4987 -vn -0.0166 -0.3826 -0.9238 -vn -0.0165 0.3826 -0.9238 -vn -0.0165 0.3826 0.9238 -vn -0.0165 -0.9238 -0.3826 -vn 0.1008 -0.2962 -0.9498 -vn -0.8680 0.4588 0.1900 -vn -0.8680 -0.1900 -0.4588 -vn 0.8623 0.1938 -0.4678 -vn -0.8680 -0.4588 -0.1900 -vn 0.8623 0.1938 0.4678 -vn 0.9838 0.0687 0.1658 -vn -0.9846 -0.1617 -0.0670 -vn 0.9838 -0.0687 -0.1658 -vn 0.9838 -0.0687 0.1658 -vn 0.9838 0.0687 -0.1658 -vn -0.9846 0.0670 0.1617 -vn 0.0915 0.3811 0.9200 -vn 0.0915 0.3811 -0.9200 -vn 0.0915 -0.3811 -0.9200 -vn -0.8680 0.1900 -0.4588 -vn -0.8680 0.1900 0.4588 -vn 0.8623 0.4678 -0.1938 -vn 0.8623 -0.1938 0.4678 -vn 0.8623 -0.1938 -0.4678 -vn 0.2182 0.3735 0.9016 -vn 1.0000 -0.0000 0.0000 -vn -0.0497 0.9227 -0.3822 -vn 0.2182 -0.3735 -0.9016 -vn 0.2182 -0.9016 0.3735 -vn 0.2182 -0.9016 -0.3735 -vn 0.2182 -0.3735 0.9016 -vn -0.0497 0.9227 0.3822 -vn -0.0497 0.3822 -0.9227 -vn -0.0497 -0.3822 -0.9227 -vn -0.0497 -0.3822 0.9227 -vn -0.0497 0.3822 0.9227 -vn 0.3223 -0.8746 -0.3623 -vn 0.3223 0.3623 0.8746 -vn 0.3223 0.3623 -0.8746 -vn 0.3223 0.8746 -0.3623 -vn 0.3223 -0.3623 -0.8746 -vn 0.0000 0.9649 -0.2626 -vn -0.1533 0.3782 0.9130 -vn 0.8293 0.2138 0.5162 -vn -0.1218 0.9170 -0.3798 -vn -0.0000 0.9239 -0.3827 -vn 0.7023 0.6629 -0.2594 -vn 0.0000 0.0000 1.0000 -vn 0.0068 -1.0000 0.0000 -vn 0.6287 0.0000 0.7776 -vn -1.0000 0.0000 0.0000 -vn -0.0165 0.9238 -0.3826 -vn -0.8680 0.4588 -0.1900 -vn 0.0000 -0.9239 -0.3827 -vn -0.6414 0.7600 0.1048 -vn -0.6231 -0.1179 -0.7732 -vn -0.6231 -0.1179 0.7732 -vn -0.6414 0.7600 -0.1048 -vn -0.0103 0.9832 -0.1821 -vn -0.0103 0.9832 0.1821 -vn -0.0453 -0.3552 -0.9337 -vn 0.0951 -0.3032 -0.9482 -vn 0.1008 -0.2962 0.9498 -vn 0.0915 -0.9200 -0.3811 -vn 0.2182 0.9016 0.3735 -vn 0.3223 -0.3623 0.8746 -vn 0.0951 -0.3032 0.9482 -vn 0.0000 -1.0000 0.0000 -vn 0.9838 0.1658 0.0687 -vn 0.4296 -0.8343 -0.3456 -vn -0.0166 -0.3826 0.9238 -vn -0.0165 -0.9238 0.3826 -vn 0.8623 -0.4678 -0.1938 -vn 0.2182 0.3735 -0.9016 -vn 0.7023 0.6629 0.2594 -vn -0.9999 -0.0105 0.0000 -vn 0.0915 0.9200 -0.3811 -vn -0.0453 -0.3552 0.9337 -vn -0.8418 -0.4987 0.2066 -vn -0.0497 -0.9227 0.3822 -vn -0.8418 0.4987 0.2066 -vn 0.3746 -0.9272 0.0000 -vn 0.1495 -0.8307 -0.5362 -vn 0.0000 -0.4721 0.8815 -vn 0.0120 -0.3847 0.9230 -vn 0.1495 -0.8307 0.5362 -vn 0.1144 -0.4166 0.9019 -vn 0.1144 -0.4166 -0.9019 -vn -0.9846 0.1617 0.0670 -vn 0.4296 -0.8343 0.3456 -vn 0.0915 0.9200 0.3811 -vn 0.4296 0.8343 -0.3456 -vn 0.8623 -0.4678 0.1938 -vn -0.0497 -0.9227 -0.3822 -vn 0.3223 0.8746 0.3623 -vn 0.8293 -0.5162 -0.2138 -vn -0.9846 -0.1617 0.0670 -vn 0.9999 -0.0151 0.0000 -vn -0.0476 -0.3025 -0.9520 -vn 0.0120 -0.3847 -0.9230 -vn 0.0000 -0.9012 -0.4335 -vn 0.0000 -0.8684 0.4959 -vn -0.0053 -0.3038 0.9527 -vn -0.0053 -0.3038 -0.9527 -vn -0.0755 0.9042 0.4204 -vn -0.0854 0.3020 0.9495 -vn -0.0854 0.3020 -0.9495 -vn 0.0723 0.9168 0.3926 -vn 0.0702 0.9117 -0.4047 -vn 0.1218 0.3643 -0.9233 -vn -0.0095 0.3428 -0.9394 -vn -0.0127 0.9088 -0.4171 -vn -0.0124 0.9153 0.4026 -vn -0.0095 0.3428 0.9394 -vn -0.9952 -0.0952 0.0245 -vn 0.0000 0.5505 -0.8349 -vn -0.9938 0.1009 -0.0476 -vn 0.9884 0.1326 -0.0741 -vn 0.0000 -0.7129 -0.7012 -vn 0.9976 -0.0694 0.0010 -vn 0.0026 -0.9715 0.2370 -vn -0.0023 0.8582 -0.5133 -vn 0.0013 -0.3780 -0.9258 -vn 0.9905 0.1284 -0.0490 -vn 0.0024 -0.9722 0.2343 -vn 0.0014 -0.3780 -0.9258 -vn -0.9957 -0.0410 -0.0837 -vn 0.9959 -0.0250 -0.0874 -vn -0.0018 0.8543 -0.5198 -vn -0.9919 0.1050 -0.0715 -vn 0.9172 -0.1505 -0.3689 -vn 0.0050 -0.9531 -0.3028 -vn -0.0034 0.5235 -0.8520 -vn 0.0017 -0.3780 -0.9258 -vn -0.0031 0.4723 -0.8814 -vn -0.8491 -0.1997 -0.4891 -vn 0.8493 -0.1946 -0.4907 -vn 0.0018 -0.3780 -0.9258 -vn -0.0029 0.4287 -0.9035 -vn -0.8914 -0.1765 -0.4174 -vn 0.8917 -0.1710 -0.4191 -vn 0.0050 -0.9355 -0.3532 -vn 0.0048 -0.9190 -0.3942 -vn -0.9170 -0.1562 -0.3671 -vn -0.5510 -0.3187 -0.7712 -vn 0.0019 -0.9695 0.2450 -vn 0.0000 -0.9012 0.4335 -vn -0.0022 0.8595 -0.5111 -vn -0.8418 0.2066 -0.4987 -vn -0.8418 -0.2066 -0.4987 -vn -0.8680 -0.1900 0.4588 -vn -0.8680 -0.4588 0.1900 -vn -0.9846 0.0670 -0.1617 -vn 0.0915 -0.3811 0.9200 -vn 0.8623 0.4678 0.1938 -vn 0.3223 -0.8746 0.3623 -vn -0.0000 0.0000 -1.0000 -vn 0.6287 0.0000 -0.7776 -vn -0.0165 0.9238 0.3826 -vn 0.0915 -0.9200 0.3811 -vn 0.2182 0.9016 -0.3735 -vn 0.1948 -0.9808 0.0000 -vn -0.8418 -0.4987 -0.2066 -vn -0.8418 0.4987 -0.2066 -vn -0.9846 0.1617 -0.0670 -vn 0.8293 -0.5162 0.2138 -vn -0.0712 0.8983 -0.4336 -vn 0.1218 0.3643 0.9233 -vn -0.2273 -0.8997 -0.3727 -vn -0.0913 0.8947 -0.4372 -vn 0.0864 0.8928 -0.4421 -vn -0.2272 -0.8997 0.3727 -vn -0.1218 0.9170 0.3798 -vn -0.1970 -0.3752 -0.9058 -vn -0.1970 -0.3752 0.9058 -vn -0.1533 0.3782 -0.9130 -vn 1.0000 -0.0006 -0.0069 -vn 0.0864 0.8928 0.4421 -vn 0.0000 0.9649 0.2626 -vn -0.0022 0.8595 0.5111 -vn 0.0014 -0.3780 0.9258 -vn 0.0019 -0.9695 -0.2450 -vn -0.5510 -0.3187 0.7712 -vn -0.9170 -0.1562 0.3671 -vn 0.0048 -0.9190 0.3942 -vn 0.0050 -0.9355 0.3532 -vn 0.0017 -0.3780 0.9258 -vn 0.8917 -0.1710 0.4191 -vn -0.8914 -0.1765 0.4174 -vn -0.0029 0.4287 0.9035 -vn 0.0018 -0.3780 0.9258 -vn 0.8493 -0.1946 0.4907 -vn -0.8491 -0.1997 0.4891 -vn -0.0031 0.4723 0.8814 -vn -0.0034 0.5235 0.8520 -vn 0.0050 -0.9531 0.3028 -vn 0.9172 -0.1505 0.3689 -vn -0.9919 0.1050 0.0715 -vn -0.0018 0.8543 0.5198 -vn 0.9959 -0.0250 0.0874 -vn -0.9957 -0.0410 0.0837 -vn 0.0024 -0.9722 -0.2343 -vn 0.9905 0.1284 0.0490 -vn 0.0013 -0.3780 0.9258 -vn -0.0023 0.8582 0.5133 -vn 0.0026 -0.9715 -0.2370 -vn 0.9976 -0.0694 -0.0010 -vn 0.0000 -0.7129 0.7012 -vn 0.9884 0.1326 0.0741 -vn -0.9938 0.1009 0.0477 -vn 0.0000 0.5505 0.8349 -vn -0.9952 -0.0952 -0.0245 -vn 1.0000 -0.0006 0.0069 -vn 0.0464 -0.8899 -0.4538 -vn 0.0000 -0.8684 -0.4959 -vn -0.0476 -0.3025 0.9520 -vn 0.0000 -0.4721 -0.8815 -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 -f 5/5/2 6/6/2 7/7/2 8/8/2 -f 8/8/3 7/7/3 9/9/3 10/10/3 -f 11/11/4 12/12/4 13/13/4 14/14/4 -f 5/5/5 8/8/5 15/15/5 16/16/5 -f 2/17/6 17/18/6 18/19/6 19/20/6 -f 7/21/7 6/22/7 20/23/7 21/24/7 -f 22/25/8 23/26/8 24/27/8 25/28/8 -f 26/29/9 11/30/9 14/31/9 27/32/9 -f 26/33/10 28/34/10 29/35/10 30/36/10 -f 31/37/11 32/38/11 33/39/11 34/40/11 -f 32/41/12 12/42/12 35/43/12 33/44/12 -f 11/30/13 26/29/13 30/45/13 36/46/13 -f 28/47/14 23/48/14 37/49/14 29/50/14 -f 38/51/15 39/52/15 40/53/15 41/54/15 -f 41/54/16 40/53/16 42/55/16 43/56/16 -f 44/57/17 45/58/17 46/59/17 -f 47/60/18 40/61/18 48/62/18 49/63/18 -f 50/64/19 51/65/19 52/66/19 53/67/19 -f 54/68/20 55/69/20 56/70/20 57/71/20 -f 58/72/21 59/73/21 60/74/21 -f 55/75/22 61/76/22 51/77/22 56/70/22 -f 62/78/23 51/77/23 61/79/23 63/80/23 -f 64/81/24 54/82/24 57/71/24 65/83/24 -f 66/84/25 5/5/25 16/85/25 67/86/25 -f 68/87/26 69/88/26 63/80/26 61/79/26 -f 68/89/27 61/76/27 55/75/27 70/90/27 -f 15/15/28 64/91/28 49/92/28 16/16/28 -f 71/93/29 72/94/29 63/95/29 69/96/29 -f 73/97/19 51/65/19 50/64/19 -f 74/98/30 75/99/30 76/100/30 -f 75/99/1 77/101/1 78/102/1 -f 56/103/19 51/65/19 73/97/19 79/104/19 -f 80/105/31 21/106/31 81/107/31 82/108/31 -f 83/109/32 19/110/32 84/111/32 85/112/32 -f 13/113/33 86/114/33 87/115/33 88/116/33 -f 89/117/34 83/118/34 85/112/34 90/119/34 -f 91/120/35 27/121/35 92/122/35 93/123/35 -f 32/38/36 31/37/36 94/124/36 86/125/36 -f 9/126/37 7/127/37 21/106/37 80/105/37 -f 28/34/38 26/33/38 27/121/38 91/120/38 -f 12/42/39 32/41/39 86/114/39 13/113/39 -f 23/48/40 28/47/40 91/128/40 24/129/40 -f 3/130/41 2/131/41 19/110/41 83/109/41 -f 81/107/42 95/132/42 93/123/42 92/122/42 -f 84/111/43 96/133/43 88/116/43 87/115/43 -f 85/112/44 84/111/44 87/115/44 97/134/44 -f 19/20/45 18/19/45 96/133/45 84/111/45 -f 21/24/46 20/23/46 95/132/46 81/107/46 -f 14/14/47 13/13/47 88/116/47 98/135/47 -f 24/129/48 91/128/48 93/123/48 99/136/48 -f 86/125/49 94/124/49 97/134/49 87/115/49 -f 100/137/50 101/138/50 102/139/50 103/140/50 -f 33/44/51 35/43/51 104/141/51 101/142/51 -f 34/40/51 33/39/51 101/138/51 100/137/51 -f 35/143/51 36/144/51 105/145/51 104/146/51 -f 30/36/51 29/35/51 106/147/51 107/148/51 -f 29/50/51 37/49/51 108/149/51 106/150/51 -f 109/151/52 110/152/52 111/153/52 112/154/52 -f 107/148/53 106/147/53 113/155/53 114/156/53 -f 104/146/54 105/145/54 110/152/54 109/151/54 -f 105/157/55 107/158/55 114/159/55 110/160/55 -f 101/142/56 104/141/56 109/161/56 102/162/56 -f 115/163/51 116/164/51 117/165/51 118/166/51 -f 110/160/57 114/159/57 115/167/57 111/168/57 -f 102/162/58 109/161/58 112/169/58 119/170/58 -f 103/140/59 102/139/59 119/171/59 120/172/59 -f 113/173/60 121/174/60 122/175/60 116/176/60 -f 114/156/61 113/155/61 116/164/61 115/163/61 -f 119/170/51 112/169/51 123/177/51 124/178/51 -f 120/172/51 119/171/51 124/179/51 125/180/51 -f 116/176/51 122/175/51 126/181/51 117/182/51 -f 127/183/19 128/184/19 129/185/19 130/186/19 -f 131/187/62 118/188/62 132/189/62 133/190/62 -f 125/180/63 124/179/63 127/191/63 134/192/63 -f 117/182/64 126/181/64 135/193/64 136/194/64 -f 126/195/65 137/196/65 138/197/65 135/198/65 -f 118/166/66 117/165/66 136/199/66 132/200/66 -f 134/192/1 127/191/1 130/201/1 139/202/1 -f 136/194/16 135/193/16 140/203/16 141/204/16 -f 132/200/2 136/199/2 141/205/2 142/206/2 -f 143/207/2 144/208/2 145/209/2 146/210/2 -f 145/209/3 147/211/3 148/212/3 146/210/3 -f 149/213/1 150/214/1 151/215/1 152/216/1 -f 153/217/15 154/218/15 155/219/15 156/220/15 -f 156/220/16 155/219/16 144/208/16 143/207/16 -f 147/221/51 145/222/51 144/223/51 155/224/51 154/225/51 150/226/51 149/227/51 157/228/51 -f 158/229/51 159/230/51 160/231/51 161/232/51 -f 162/233/67 46/59/67 57/234/67 163/235/67 -f 47/236/2 65/237/2 164/238/2 165/239/2 -f 166/240/68 167/241/68 168/242/68 169/243/68 -f 64/91/69 65/83/69 47/60/69 49/92/69 -f 46/59/70 170/244/70 171/245/70 172/246/70 -f 53/67/19 52/66/19 160/247/19 -f 173/248/71 161/249/71 170/244/71 46/59/71 -f 146/250/51 148/251/51 174/252/51 139/253/51 -f 152/216/19 175/254/19 157/255/19 149/213/19 -f 176/256/72 177/257/72 178/258/72 179/259/72 -f 180/260/51 181/261/51 176/256/51 179/259/51 -f 45/262/73 182/263/73 183/264/73 184/265/73 -f 183/266/74 182/267/74 185/268/74 186/269/74 -f 187/270/51 137/196/51 126/195/51 122/271/51 -f 132/189/3 142/272/3 188/273/3 133/190/3 -f 45/262/75 44/274/75 189/275/75 182/263/75 -f 79/276/76 190/277/76 59/278/76 191/279/76 -f 70/280/77 55/69/77 54/68/77 192/281/77 -f 79/282/76 73/283/76 193/284/76 190/285/76 -f 18/286/78 80/287/78 82/108/78 96/133/78 -f 138/288/79 134/289/79 139/253/79 174/252/79 -f 50/290/80 194/291/80 193/284/80 73/283/80 -f 186/292/81 163/293/81 191/279/81 59/278/81 -f 195/294/82 196/295/82 184/265/82 183/264/82 -f 195/294/76 77/296/76 164/297/76 196/295/76 -f 75/298/76 165/299/76 164/300/76 77/301/76 -f 197/302/83 165/299/83 75/298/83 74/303/83 -f 178/258/84 177/257/84 197/302/84 74/303/84 -f 50/290/85 53/304/85 198/305/85 194/291/85 -f 199/306/51 200/307/51 108/308/51 37/309/51 -f 78/102/86 76/100/86 75/99/86 -f 201/310/87 74/98/87 76/100/87 -f 193/311/88 194/312/88 202/313/88 -f 85/112/89 97/134/89 203/314/89 90/119/89 -f 100/315/90 103/316/90 204/317/90 200/318/90 -f 123/177/91 128/184/91 127/183/91 124/178/91 -f 138/197/15 174/319/15 140/320/15 135/198/15 -f 205/321/92 202/313/92 194/312/92 -f 186/269/93 58/72/93 206/322/93 183/266/93 -f 22/323/94 25/324/94 94/325/94 31/326/94 -f 31/326/95 34/327/95 199/328/95 22/323/95 -f 16/85/96 49/63/96 48/62/96 67/86/96 -f 71/329/97 67/330/97 48/331/97 72/332/97 -f 25/324/98 203/314/98 97/134/98 94/325/98 -f 108/149/99 121/174/99 113/173/99 106/150/99 -f 112/154/51 111/153/51 131/333/51 123/334/51 -f 160/231/100 159/230/100 198/305/100 53/304/100 -f 202/335/101 207/336/101 208/337/101 209/338/101 76/339/101 78/340/101 206/341/101 58/342/101 60/343/101 -f 199/328/51 34/327/51 100/315/51 200/318/51 -f 96/133/102 82/108/102 98/135/102 88/116/102 -f 202/313/103 60/74/103 193/311/103 -f 66/84/104 67/330/104 71/329/104 210/344/104 -f 204/345/105 187/270/105 122/271/105 121/346/105 -f 115/167/51 118/188/51 131/187/51 111/168/51 -f 10/10/106 192/347/106 15/348/106 8/8/106 -f 211/349/107 212/350/107 213/351/107 189/352/107 -f 211/349/108 189/352/108 180/353/108 214/354/108 -f 158/355/109 215/356/109 159/357/109 -f 216/358/110 198/359/110 159/357/110 -f 213/351/111 212/350/111 215/356/111 158/355/111 -f 215/356/112 216/358/112 159/357/112 -f 217/360/113 214/354/113 179/361/113 -f 4/4/79 3/3/79 218/362/79 210/363/79 -f 218/364/114 3/365/114 83/118/114 89/117/114 -f 23/26/115 22/25/115 199/306/115 37/309/115 -f 81/107/116 92/122/116 98/135/116 82/108/116 -f 12/12/117 11/11/117 36/144/117 35/143/117 -f 25/28/118 24/27/118 99/136/118 203/366/118 -f 204/317/119 103/316/119 120/367/119 187/368/119 -f 187/368/51 120/367/51 125/369/51 137/370/51 -f 137/370/120 125/369/120 134/289/120 138/288/120 -f 62/78/121 63/95/121 72/94/121 39/371/121 -f 17/372/122 9/373/122 80/287/122 18/286/122 -f 175/374/51 140/320/51 174/319/51 148/375/51 -f 215/376/123 212/377/123 211/378/123 214/379/123 217/380/123 219/381/123 220/382/123 221/383/123 216/384/123 -f 178/385/124 222/386/124 217/360/124 -f 179/361/125 178/385/125 217/360/125 -f 78/102/126 77/101/126 195/387/126 -f 58/72/127 186/269/127 59/73/127 -f 194/312/128 198/359/128 223/388/128 205/321/128 -f 74/98/129 201/310/129 222/386/129 178/385/129 -f 220/389/130 224/390/130 225/391/130 221/392/130 -f 221/392/131 225/391/131 223/388/131 216/358/131 -f 219/393/132 217/360/132 222/386/132 226/394/132 -f 208/395/133 207/396/133 227/397/133 228/398/133 -f 208/399/134 228/400/134 229/401/134 209/402/134 -f 209/402/135 229/401/135 201/310/135 76/100/135 -f 201/310/136 229/401/136 226/394/136 222/386/136 -f 224/403/137 226/394/137 229/401/137 228/400/137 -f 224/390/138 228/398/138 227/397/138 225/391/138 -f 205/321/139 223/388/139 225/391/139 227/397/139 -f 230/404/140 231/405/140 232/406/140 233/407/140 -f 40/53/16 47/236/16 234/408/16 42/55/16 -f 169/243/16 41/54/16 43/56/16 235/409/16 -f 236/410/141 237/411/141 238/412/141 239/413/141 -f 240/414/142 241/415/142 237/416/142 236/417/142 -f 242/418/143 243/419/143 244/420/143 245/421/143 -f 246/422/144 247/423/144 231/424/144 230/425/144 -f 248/426/145 249/427/145 247/428/145 246/429/145 -f 249/430/146 232/431/146 231/424/146 247/423/146 -f 241/432/71 243/433/71 238/412/71 237/411/71 -f 250/434/147 244/435/147 243/433/147 241/432/147 -f 244/435/148 250/434/148 232/431/148 249/430/148 -f 239/436/149 238/437/149 243/438/149 242/418/149 -f 233/407/150 251/439/150 252/440/150 230/404/150 -f 253/441/151 254/442/151 251/439/151 233/407/151 -f 233/407/152 232/443/152 250/444/152 253/441/152 -f 245/421/153 244/445/153 249/446/153 248/426/153 -f 242/418/71 255/447/71 256/448/71 239/436/71 -f 245/421/154 257/449/154 258/450/154 259/451/154 260/452/154 261/453/154 262/454/154 263/455/154 255/447/154 242/418/154 -f 253/441/155 250/456/155 241/457/155 240/414/155 -f 262/458/156 264/459/156 265/460/156 266/461/156 -f 261/462/157 267/463/157 264/459/157 262/458/157 -f 266/461/158 265/460/158 268/464/158 269/465/158 -f 264/459/159 267/463/159 268/464/159 265/460/159 -f 270/466/160 271/467/160 272/468/160 273/469/160 -f 273/469/161 272/468/161 274/470/161 257/471/161 -f 258/472/162 275/473/162 271/467/162 270/466/162 -f 275/473/163 274/470/163 272/468/163 271/467/163 -f 276/474/164 277/475/164 278/476/164 279/477/164 -f 279/477/165 278/476/165 280/478/165 259/479/165 -f 260/480/166 281/481/166 277/475/166 276/474/166 -f 281/481/159 280/478/159 278/476/159 277/475/159 -f 257/449/151 245/421/151 248/426/151 273/482/151 -f 257/471/167 274/470/167 275/473/167 258/472/167 -f 259/451/151 258/450/151 270/483/151 279/484/151 -f 259/479/168 280/478/168 281/481/168 260/480/168 -f 261/453/151 260/452/151 276/485/151 269/486/151 -f 269/465/169 268/464/169 267/463/169 261/462/169 -f 255/487/170 263/455/170 282/488/170 283/489/170 -f 283/490/171 282/488/171 266/491/171 269/486/171 276/485/171 279/484/171 270/483/171 273/482/171 248/426/171 246/429/171 -f 282/488/151 263/455/151 262/454/151 266/491/151 -f 59/73/172 190/492/172 60/74/172 -f 284/493/71 285/494/71 240/414/71 236/417/71 -f 285/494/173 254/442/173 253/441/173 240/414/173 -f 256/495/76 255/487/76 283/489/76 286/496/76 -f 5/5/16 66/84/16 287/497/16 6/6/16 -f 1/1/19 288/498/19 17/499/19 2/2/19 -f 288/498/71 10/10/71 9/9/71 17/499/71 -f 1/1/174 68/89/174 70/90/174 288/498/174 -f 38/500/79 289/501/79 62/502/79 39/503/79 -f 289/501/1 290/504/1 291/505/1 62/502/1 -f 4/4/175 69/88/175 68/87/175 1/1/175 -f 292/506/176 293/507/176 95/132/176 20/508/176 -f 89/509/177 90/510/177 293/507/177 292/511/177 -f 287/512/178 292/506/178 20/508/178 6/513/178 -f 293/507/179 99/136/179 93/123/179 95/132/179 -f 14/31/180 98/135/180 92/122/180 27/32/180 -f 30/45/51 107/158/51 105/157/51 36/46/51 -f 131/333/181 133/514/181 128/515/181 123/334/181 -f 157/255/71 175/254/71 148/516/71 147/517/71 -f 153/217/79 151/215/79 150/214/79 154/218/79 -f 189/275/51 44/274/51 181/518/51 180/519/51 -f 213/520/51 158/521/51 161/522/51 173/523/51 -f 162/524/182 163/293/182 186/292/182 185/525/182 -f 128/515/71 133/514/71 188/526/71 129/527/71 -f 162/524/183 185/525/183 213/520/183 173/523/183 -f 15/348/184 192/347/184 54/82/184 64/81/184 -f 293/507/185 90/510/185 203/366/185 99/136/185 -f 108/308/186 200/307/186 204/345/186 121/346/186 -f 185/268/187 182/267/187 189/352/187 213/351/187 -f 4/4/188 210/363/188 71/93/188 69/96/188 -f 10/10/189 288/498/189 70/280/189 192/281/189 -f 66/84/15 210/344/15 218/528/15 287/497/15 -f 218/529/190 89/509/190 292/511/190 287/530/190 -f 40/61/191 39/531/191 72/332/191 48/331/191 -f 220/532/192 219/393/192 226/394/192 224/403/192 -f 207/396/193 202/313/193 205/321/193 227/397/193 -f 51/65/1 294/533/1 295/534/1 52/66/1 -f 62/502/1 291/505/1 294/533/1 51/65/1 -f 52/66/1 295/534/1 290/504/1 289/501/1 -f 252/535/51 285/536/51 284/537/51 296/538/51 -f 171/539/76 297/540/76 298/541/76 299/542/76 300/543/76 168/544/76 167/545/76 172/546/76 -f 289/501/194 38/500/194 299/547/194 298/548/194 -f 46/59/195 162/233/195 173/248/195 -f 163/235/196 57/234/196 191/549/196 -f 38/51/197 41/54/197 300/550/197 299/551/197 -f 166/240/198 46/59/198 172/552/198 167/553/198 -f 52/66/199 289/501/199 298/554/199 297/555/199 -f 41/54/200 169/243/200 168/556/200 300/557/200 -f 52/66/201 297/558/201 171/559/201 170/244/201 -f 191/549/71 57/234/71 56/103/71 79/104/71 -f 153/560/51 188/273/51 142/272/51 151/561/51 -f 188/526/51 153/562/51 156/563/51 129/527/51 -f 129/185/51 156/564/51 143/565/51 130/186/51 -f 130/201/51 143/566/51 146/567/51 139/202/51 -f 152/568/51 141/204/51 140/203/51 175/569/51 -f 141/205/51 152/570/51 151/571/51 142/206/51 -f 301/572/51 302/573/51 303/574/51 304/575/51 -f 285/536/202 252/535/202 251/439/202 254/442/202 -f 160/247/19 52/66/19 170/244/19 161/249/19 -f 57/234/3 196/576/3 164/238/3 65/237/3 -f 196/576/203 57/234/203 184/577/203 -f 165/239/2 197/578/2 47/236/2 -f 197/578/2 177/579/2 169/243/2 47/236/2 -f 169/243/2 177/579/2 176/580/2 -f 176/580/2 181/581/2 166/240/2 169/243/2 -f 46/59/204 45/58/204 184/577/204 57/234/204 -f 46/59/3 166/240/3 181/581/3 44/57/3 -f 235/409/16 234/408/16 47/236/16 169/243/16 -f 305/582/76 306/583/76 307/584/76 308/585/76 -f 304/586/205 309/587/205 310/588/205 311/589/205 -f 303/590/3 312/591/3 309/587/3 304/586/3 -f 306/592/79 302/593/79 301/594/79 313/595/79 314/596/79 307/597/79 -f 315/598/206 316/599/206 317/600/206 318/601/206 -f 307/597/207 314/596/207 319/602/207 320/603/207 321/604/207 322/605/207 323/606/207 324/607/207 316/599/207 315/598/207 -f 308/585/208 307/584/208 315/598/208 318/601/208 -f 324/608/209 325/609/209 326/610/209 327/611/209 -f 325/612/206 324/607/206 323/606/206 328/613/206 -f 329/614/210 328/615/210 330/616/210 331/617/210 -f 329/618/206 322/605/206 321/604/206 332/619/206 -f 333/620/211 332/621/211 334/622/211 335/623/211 -f 333/624/206 320/603/206 319/602/206 336/625/206 -f 330/616/212 337/626/212 338/627/212 331/617/212 -f 328/615/213 323/628/213 337/626/213 330/616/213 -f 322/629/214 329/614/214 331/617/214 338/627/214 -f 323/628/215 322/629/215 338/627/215 337/626/215 -f 334/622/216 339/630/216 340/631/216 335/623/216 -f 332/621/217 321/632/217 339/630/217 334/622/217 -f 320/633/218 333/620/218 335/623/218 340/631/218 -f 321/632/219 320/633/219 340/631/219 339/630/219 -f 341/634/212 342/635/212 327/611/212 326/610/212 -f 316/636/220 324/608/220 327/611/220 342/635/220 -f 325/609/221 317/637/221 341/634/221 326/610/221 -f 317/637/222 316/636/222 342/635/222 341/634/222 -f 310/588/223 309/587/223 343/638/223 344/639/223 -f 336/625/224 345/640/224 308/641/224 318/601/224 317/600/224 325/612/224 328/613/224 329/618/224 332/619/224 333/624/224 -f 345/640/3 346/642/3 305/643/3 308/641/3 -f 336/625/225 319/602/225 347/644/225 348/645/225 -f 349/646/226 310/588/226 344/647/226 350/648/226 -f 310/588/206 349/646/206 351/649/206 311/589/206 -f 349/646/227 313/595/227 301/594/227 351/649/227 -f 346/642/228 345/640/228 352/650/228 353/651/228 -f 348/652/229 347/653/229 350/654/229 344/655/229 -f 344/655/230 343/656/230 352/657/230 348/652/230 -f 343/656/3 354/658/3 353/659/3 352/657/3 -f 347/653/231 355/660/231 356/661/231 350/654/231 -f 319/602/232 314/596/232 355/662/232 347/663/232 -f 314/664/233 313/665/233 356/661/233 355/660/233 -f 345/640/234 336/625/234 348/666/234 352/667/234 -f 309/587/235 312/591/235 354/668/235 343/669/235 -f 312/670/236 346/671/236 353/659/236 354/658/236 -f 313/595/237 349/646/237 350/672/237 356/673/237 -f 304/575/238 311/589/238 351/649/238 301/572/238 -f 60/74/16 190/492/16 193/311/16 -f 246/429/15 230/404/15 252/440/15 296/674/15 286/675/15 283/490/15 -f 206/322/239 78/102/239 195/387/239 -f 195/387/240 183/266/240 206/322/240 -f 216/358/241 223/388/241 198/359/241 -f 214/354/242 180/353/242 179/361/242 -o Rail_Cube -v -1.606489 0.994589 3.070837 -v -1.606489 1.084445 3.070837 -v -1.606489 1.084277 2.929163 -v -1.606489 0.994589 2.929163 -v -0.511384 1.084480 2.929163 -v -0.514357 1.052983 2.929163 -v -0.549767 1.006668 2.929163 -v -0.549767 0.994589 2.929163 -v 1.313063 1.160981 3.058974 -v 1.498769 1.160981 3.058974 -v 1.498532 1.230366 3.031927 -v 1.312826 1.230366 3.031927 -v 1.225298 0.994589 3.070837 -v 1.225298 1.084445 3.070837 -v 0.962233 1.084445 3.070837 -v 0.964610 1.052983 3.070837 -v 1.000021 1.006668 3.070837 -v 1.000021 0.994589 3.070837 -v -0.197543 0.994589 2.929163 -v 0.049014 0.994589 2.929163 -v 0.049014 0.994589 3.070837 -v -0.197543 0.994589 3.070837 -v 0.401239 0.994589 2.929163 -v 0.647796 0.994589 2.929163 -v 0.647796 0.994589 3.070837 -v 0.401239 0.994589 3.070837 -v 1.000021 0.994589 2.929163 -v 1.225298 0.994589 2.929163 -v -0.549767 0.994589 3.070837 -v 1.225298 1.143051 2.956872 -v -1.531817 1.143051 2.956872 -v -1.531817 1.143051 3.043128 -v 1.225298 1.143051 3.043128 -v 1.313063 0.996053 3.070837 -v 1.498769 0.996053 3.070837 -v 1.313063 1.160981 2.941026 -v 1.313063 0.996053 2.929163 -v 1.225298 1.084802 2.929163 -v 1.269521 1.219445 3.031927 -v 1.498769 0.996053 2.929163 -v 1.498769 1.160981 2.941026 -v 1.312826 1.230366 2.968073 -v 1.498532 1.230366 2.968073 -v 1.575087 0.954078 2.929163 -v 1.575087 1.119006 2.929163 -v 1.575087 1.119006 3.070837 -v 1.575087 0.954078 3.070837 -v 1.269521 1.219445 2.968073 -v 1.554546 1.188392 3.031927 -v 1.554546 1.188392 2.968073 -v -0.514597 1.084445 3.070837 -v -0.234129 1.084445 3.070837 -v 0.083877 1.084445 3.070837 -v 0.364860 1.084445 3.070837 -v 0.682044 1.084445 3.070837 -v 0.964998 1.084754 2.929163 -v 0.683980 1.084702 2.929163 -v 0.366670 1.084643 2.929163 -v 0.084942 1.084590 2.929163 -v -0.230760 1.084532 2.929163 -v -0.232953 1.052983 2.929163 -v -0.232953 1.052983 3.070837 -v -0.514357 1.052983 3.070837 -v -0.197543 1.006668 3.070837 -v -0.197543 1.006668 2.929163 -v -0.549767 1.006668 3.070837 -v 0.084425 1.052983 2.929163 -v 0.365828 1.052983 2.929163 -v 0.365828 1.052983 3.070837 -v 0.084425 1.052983 3.070837 -v 0.401239 1.006668 3.070837 -v 0.401239 1.006668 2.929163 -v 0.049014 1.006668 2.929163 -v 0.049014 1.006668 3.070837 -v 0.683207 1.052983 2.929163 -v 0.964610 1.052983 2.929163 -v 0.683207 1.052983 3.070837 -v 1.000021 1.006668 2.929163 -v 0.647796 1.006668 2.929163 -v 0.647796 1.006668 3.070837 -vt 0.000044 0.107430 -vt 0.024656 0.106940 -vt 0.025382 0.145745 -vt 0.000816 0.146234 -vt 0.030452 0.180549 -vt 0.030675 0.155877 -vt 0.331921 0.150233 -vt 0.331137 0.165014 -vt 0.321371 0.177755 -vt 0.321356 0.182832 -vt 0.841452 0.074598 -vt 0.898560 0.067293 -vt 0.901417 0.090204 -vt 0.844308 0.097509 -vt 0.805805 0.056957 -vt 0.805905 0.081576 -vt 0.733831 0.081869 -vt 0.734447 0.073247 -vt 0.744097 0.060518 -vt 0.744084 0.057208 -vt 0.418878 0.198936 -vt 0.488701 0.198936 -vt 0.488701 0.239057 -vt 0.418878 0.239057 -vt 0.608256 0.198936 -vt 0.678079 0.198936 -vt 0.678079 0.239057 -vt 0.608256 0.239057 -vt 0.797634 0.198936 -vt 0.861431 0.198936 -vt 0.861431 0.239057 -vt 0.797634 0.239057 -vt 0.000064 0.239057 -vt 0.000064 0.198936 -vt 0.299323 0.198936 -vt 0.299323 0.239057 -vt 0.806959 0.123674 -vt 0.051262 0.137650 -vt 0.050803 0.114024 -vt 0.805978 0.099337 -vt 0.834948 0.023749 -vt 0.892056 0.016444 -vt 0.848703 0.139669 -vt 0.848775 0.194135 -vt 0.819931 0.196127 -vt 0.818378 0.166453 -vt 0.819259 0.145224 -vt 0.808731 0.055009 -vt 0.805001 0.027402 -vt 0.832026 0.024208 -vt 0.813249 0.074592 -vt 0.886289 0.198936 -vt 0.886289 0.239057 -vt 0.830535 0.096090 -vt 0.938880 0.198936 -vt 0.938880 0.239057 -vt 0.907329 0.133247 -vt 0.846631 0.116524 -vt 0.903929 0.109840 -vt 0.854421 0.191870 -vt 0.913047 0.185448 -vt 0.999956 0.109718 -vt 0.949237 0.116206 -vt 0.943664 0.072638 -vt 0.994383 0.066151 -vt 0.916522 0.186846 -vt 0.934269 0.143004 -vt 0.943667 0.196128 -vt 0.890641 0.016645 -vt 0.911939 0.000044 -vt 0.920047 0.050529 -vt 0.963546 0.198936 -vt 0.963546 0.239057 -vt 0.833077 0.119378 -vt 0.831048 0.100155 -vt 0.922942 0.087450 -vt 0.925454 0.107087 -vt 0.917732 0.075896 -vt 0.923810 0.118972 -vt 0.030004 0.096674 -vt 0.329071 0.090840 -vt 0.405999 0.085274 -vt 0.493182 0.082863 -vt 0.570163 0.082535 -vt 0.657065 0.082182 -vt 0.807446 0.134947 -vt 0.761956 0.136920 -vt 0.712846 0.139052 -vt 0.657390 0.141473 -vt 0.607889 0.143639 -vt 0.517990 0.146718 -vt 0.319255 0.198936 -vt 0.398947 0.198936 -vt 0.398947 0.239057 -vt 0.319255 0.239057 -vt 0.415457 0.239057 -vt 0.415457 0.198936 -vt 0.302744 0.198936 -vt 0.302744 0.239057 -vt 0.508633 0.198936 -vt 0.588324 0.198936 -vt 0.588325 0.239057 -vt 0.508633 0.239057 -vt 0.604835 0.239057 -vt 0.604835 0.198936 -vt 0.492122 0.198936 -vt 0.492122 0.239057 -vt 0.698011 0.198936 -vt 0.777702 0.198936 -vt 0.777702 0.239057 -vt 0.698011 0.239057 -vt 0.794213 0.239057 -vt 0.794213 0.198936 -vt 0.681500 0.198936 -vt 0.681500 0.239057 -vt 0.570392 0.073909 -vt 0.493194 0.074229 -vt 0.657348 0.073560 -vt 0.580043 0.061180 -vt 0.580030 0.057871 -vt 0.647582 0.057600 -vt 0.647596 0.060910 -vt 0.405892 0.076638 -vt 0.415271 0.063632 -vt 0.415179 0.060309 -vt 0.483008 0.058434 -vt 0.483100 0.061757 -vt 0.328731 0.082202 -vt 0.029525 0.072069 -vt 0.318891 0.066437 -vt 0.321825 0.067919 -vt 0.762127 0.142476 -vt 0.808127 0.150713 -vt 0.768757 0.152413 -vt 0.766843 0.151519 -vt 0.712952 0.144596 -vt 0.657585 0.147020 -vt 0.707119 0.152950 -vt 0.707211 0.155057 -vt 0.664206 0.156936 -vt 0.664114 0.154829 -vt 0.608341 0.150969 -vt 0.517035 0.161727 -vt 0.599554 0.164923 -vt 0.599986 0.168387 -vt 0.529279 0.177207 -vt 0.528847 0.173743 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.3632 0.9317 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -1.0000 0.0000 +vn -1.0000 -0.0000 0.0000 +vn 0.4999 0.3505 -0.7920 +vn 0.4999 -0.3505 0.7920 +vn -0.5000 -0.3505 0.7919 +vn 0.0000 0.9079 0.4192 +vn -0.5000 0.3505 -0.7919 +vn 0.5000 0.3505 -0.7919 +vn 0.5000 -0.3505 0.7919 +vn -0.4999 -0.3505 0.7920 +vn -0.4999 0.3505 -0.7920 +vn 0.0000 0.5247 -0.8513 +vn 0.0000 -0.5247 0.8513 +vn -0.7911 0.5599 0.2463 +vn 0.0000 0.9154 0.4026 +vn 0.0000 0.0280 0.9996 +vn 0.0000 0.7558 -0.6548 +vn 0.7911 0.5599 0.2463 +vn 0.5000 0.3505 0.7919 +vn 0.5000 -0.3505 -0.7919 +vn -0.4999 -0.3505 -0.7920 +vn 0.0000 0.9079 -0.4192 +vn -0.4999 0.3505 0.7920 +vn 0.4999 0.3505 0.7920 +vn 0.5000 -0.3505 -0.7920 +vn -0.5000 -0.3505 -0.7919 +vn -0.5000 0.3505 0.7919 +vn 0.0000 0.5247 0.8513 +vn 0.0000 -0.5247 -0.8513 +vn -0.7911 0.5599 -0.2463 +vn 0.0000 0.9154 -0.4026 +vn 0.0000 0.0280 -0.9996 +vn 0.0000 0.7558 0.6548 +vn 0.7911 0.5599 -0.2463 +vn -0.7409 0.6716 0.0000 vn 0.0000 1.0000 0.0000 -vn 0.0000 0.0717 0.9974 -vn -0.0132 0.1253 -0.9920 -vn -0.0136 0.1253 0.9920 -vn 0.0167 -0.9999 0.0000 -vn -0.1793 0.2999 0.9370 -vn 0.0000 0.3632 -0.9317 -vn 0.0000 0.0717 -0.9974 -vn 1.0000 0.0000 0.0000 -vn -0.0578 0.0359 -0.9977 -vn -0.0578 0.0359 0.9977 -vn -0.4819 -0.8762 0.0000 -vn -0.2445 0.9696 0.0000 -vn 0.5997 0.8003 0.0000 -vn 0.2041 0.4450 0.8720 -vn 0.9589 0.2839 0.0000 -vn -0.8655 0.5010 0.0000 -vn -0.1793 0.2999 -0.9370 -vn 0.2041 0.4450 -0.8720 -vn 0.0000 0.4274 0.9040 -vn -0.6179 0.7862 -0.0006 -vn -0.0000 0.4280 -0.9038 -vn 0.7944 -0.6074 0.0000 -vn -0.7944 -0.6074 0.0000 -s off -f 357/676/243 358/677/243 359/678/243 360/679/243 -f 360/680/244 359/681/244 361/682/244 362/683/244 363/684/244 364/685/244 -f 365/686/245 366/687/245 367/688/245 368/689/245 -f 369/690/246 370/691/246 371/692/246 372/693/246 373/694/246 374/695/246 -f 375/696/247 376/697/247 377/698/247 378/699/247 -f 379/700/247 380/701/247 381/702/247 382/703/247 -f 383/704/247 384/705/247 369/706/247 374/707/247 -f 357/708/247 360/709/247 364/710/247 385/711/247 -f 386/712/248 387/713/248 388/714/248 389/715/248 -f 365/686/249 390/716/249 391/717/249 366/687/249 -f 392/718/250 393/719/250 384/720/250 394/721/250 386/722/250 -f 370/723/251 369/724/251 390/725/251 365/686/251 389/726/251 -f 369/706/252 384/705/252 393/727/252 390/728/252 -f 389/726/253 365/686/253 368/689/253 395/729/253 -f 390/728/247 393/727/247 396/730/247 391/731/247 -f 397/732/254 392/718/254 398/733/254 399/734/254 -f 393/735/255 392/718/255 397/732/255 396/736/255 -f 400/737/256 401/738/256 402/739/256 403/740/256 -f 396/741/257 397/732/257 401/742/257 400/743/257 -f 366/687/258 391/744/258 403/745/258 402/746/258 -f 391/731/259 396/730/259 400/747/259 403/748/259 -f 404/749/260 395/750/260 368/689/260 398/733/260 -f 399/734/261 367/688/261 405/751/261 406/752/261 -f 398/733/248 368/689/248 367/688/248 399/734/248 -f 366/687/262 402/746/262 405/753/262 367/688/262 -f 402/739/263 401/738/263 406/752/263 405/751/263 -f 386/712/264 389/715/264 395/750/264 404/749/264 -f 392/718/265 386/722/265 404/749/265 398/733/265 -f 401/742/266 397/732/266 399/734/266 406/754/266 -f 358/755/267 407/756/267 408/757/267 409/758/267 410/759/267 411/760/267 371/692/267 370/691/267 389/715/267 388/714/267 -f 359/678/268 358/677/268 388/714/268 387/713/268 -f 394/761/269 412/762/269 413/763/269 414/764/269 415/765/269 416/766/269 361/682/269 359/681/269 387/713/269 386/712/269 -f 362/767/247 417/768/247 418/769/247 419/770/247 -f 378/699/243 420/771/243 421/772/243 375/696/243 -f 364/710/256 363/773/256 422/774/256 385/711/256 -f 363/773/270 362/767/270 419/770/270 422/774/270 -f 418/769/271 417/768/271 421/772/271 420/771/271 -f 423/775/247 424/776/247 425/777/247 426/778/247 -f 382/703/243 427/779/243 428/780/243 379/700/243 -f 376/697/256 429/781/256 430/782/256 377/698/256 -f 429/781/270 423/775/270 426/778/270 430/782/270 -f 428/780/271 427/779/271 425/777/271 424/776/271 -f 431/783/247 432/784/247 372/785/247 433/786/247 -f 373/787/243 434/788/243 383/704/243 374/707/243 -f 380/701/256 435/789/256 436/790/256 381/702/256 -f 436/790/270 435/789/270 431/783/270 433/786/270 -f 372/785/271 432/784/271 434/788/271 373/787/271 -f 425/791/246 410/759/246 409/758/246 426/792/246 -f 433/793/246 411/760/246 410/759/246 425/791/246 427/794/246 382/795/246 381/796/246 436/797/246 -f 372/693/246 371/692/246 411/760/246 433/793/246 -f 426/792/246 409/758/246 408/757/246 418/798/246 420/799/246 378/800/246 377/801/246 430/802/246 -f 418/798/246 408/757/246 407/756/246 419/803/246 -f 419/803/246 407/756/246 358/755/246 357/804/246 385/805/246 422/806/246 -f 432/807/244 412/762/244 394/761/244 384/808/244 383/809/244 434/810/244 -f 431/811/244 413/763/244 412/762/244 432/807/244 -f 424/812/244 414/764/244 413/763/244 431/811/244 435/813/244 380/814/244 379/815/244 428/816/244 -f 423/817/244 415/765/244 414/764/244 424/812/244 -f 417/818/244 416/766/244 415/765/244 423/817/244 429/819/244 376/820/244 375/821/244 421/822/244 -f 362/683/244 361/682/244 416/766/244 417/818/244 -o CoiCanon_Cylinder.004 -v -0.419369 0.526526 2.793014 -v 0.947632 0.526526 2.793014 -v 0.947632 0.380164 2.853639 -v -0.419369 0.380164 2.853639 -v 0.947632 0.319540 3.000000 -v -0.419369 0.319540 3.000000 -v 0.947632 0.380164 3.146361 -v -0.419369 0.380164 3.146361 -v 0.947632 0.526526 3.206986 -v -0.419369 0.526526 3.206986 -v 0.947632 0.672887 3.146361 -v -0.419369 0.672887 3.146361 -v 0.947632 0.733512 3.000000 -v -0.419369 0.733512 3.000000 -v 0.947632 0.672887 2.853639 -v -0.419369 0.672887 2.853639 -vt 0.000126 0.575971 -vt 0.828281 0.575971 -vt 0.828281 0.671946 -vt 0.000126 0.671946 -vt 0.828281 0.767920 -vt 0.000126 0.767920 -vt 0.000126 0.000126 -vt 0.828282 0.000127 -vt 0.828282 0.096101 -vt 0.000126 0.096100 -vt 0.828282 0.192075 -vt 0.000126 0.192075 -vt 0.828282 0.288049 -vt 0.000126 0.288049 -vt 0.828281 0.384023 -vt 0.000126 0.384023 -vt 0.232080 0.836036 -vt 0.299945 0.768172 -vt 0.395919 0.768172 -vt 0.463783 0.836036 -vt 0.463783 0.932010 -vt 0.395919 0.999874 -vt 0.299944 0.999874 -vt 0.232081 0.932010 -vt 0.828281 0.479997 -vt 0.000126 0.479997 -vt 0.163964 0.999874 -vt 0.067990 0.999874 -vt 0.000126 0.932010 -vt 0.000126 0.836036 -vt 0.067990 0.768172 -vt 0.163964 0.768172 -vt 0.231828 0.836036 -vt 0.231828 0.932010 -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 1.0000 0.0000 0.0000 -vn 0.0000 0.9239 -0.3827 -vn 0.0000 0.3827 -0.9239 -vn -1.0000 0.0000 0.0000 -s off -f 437/823/272 438/824/272 439/825/272 440/826/272 -f 440/826/273 439/825/273 441/827/273 442/828/273 -f 442/829/274 441/830/274 443/831/274 444/832/274 -f 444/832/275 443/831/275 445/833/275 446/834/275 -f 446/834/276 445/833/276 447/835/276 448/836/276 -f 448/836/277 447/835/277 449/837/277 450/838/277 -f 439/839/278 438/840/278 451/841/278 449/842/278 447/843/278 445/844/278 443/845/278 441/846/278 -f 450/838/279 449/837/279 451/847/279 452/848/279 -f 452/848/280 451/847/280 438/824/280 437/823/280 -f 437/849/281 440/850/281 442/851/281 444/852/281 446/853/281 448/854/281 450/855/281 452/856/281 -o SideScrews_Cylinder.005 -v -0.436383 0.265019 3.509254 -v 1.004741 0.265019 3.509254 -v 1.004741 0.179718 3.544586 -v -0.436383 0.179718 3.544586 -v 1.004741 0.144386 3.629887 -v -0.436383 0.144385 3.629887 -v 1.004741 0.179718 3.715187 -v -0.436383 0.179718 3.715187 -v 1.004741 0.265019 3.750520 -v -0.436383 0.265019 3.750520 -v 1.004741 0.350319 3.715187 -v -0.436383 0.350319 3.715187 -v 1.004741 0.385652 3.629887 -v -0.436383 0.385652 3.629887 -v 1.088061 0.265019 3.750520 -v 1.088061 0.350319 3.715187 -v 1.004741 0.350319 3.544586 -v -0.436383 0.350319 3.544586 -v -0.513171 0.364069 3.629887 -v -0.513171 0.335058 3.699926 -v -0.513171 0.265019 3.530836 -v -0.513171 0.194979 3.559848 -v -0.513171 0.165968 3.629887 -v -0.513171 0.194979 3.699926 -v -0.513171 0.265019 3.728937 -v -0.513171 0.335058 3.559848 -v 1.088061 0.265019 3.509254 -v 1.088061 0.350319 3.544586 -v 1.100404 0.336110 3.558795 -v 1.100404 0.265019 3.529348 -v 1.088061 0.179718 3.544586 -v 1.088061 0.144386 3.629887 -v 1.088061 0.179718 3.715187 -v 1.088061 0.385652 3.629887 -v 1.100404 0.336110 3.700979 -v 1.100404 0.365558 3.629887 -v 1.100404 0.193927 3.700979 -v 1.100404 0.265019 3.730426 -v 1.100404 0.193927 3.558795 -v 1.100404 0.164480 3.629887 -v 1.127149 0.181939 3.629887 -v 1.127149 0.206273 3.688633 -v 1.127149 0.206273 3.571141 -v 1.127149 0.265019 3.546807 -v 1.127149 0.323765 3.571141 -v 1.127149 0.348098 3.629887 -v 1.127149 0.323765 3.688633 -v 1.127149 0.265019 3.712966 -v -0.436384 0.265019 2.490746 -v -0.436384 0.179718 2.455414 -v 1.004741 0.179718 2.455414 -v 1.004741 0.265019 2.490746 -v -0.436384 0.144385 2.370113 -v 1.004741 0.144386 2.370113 -v -0.436384 0.179718 2.284813 -v 1.004741 0.179718 2.284813 -v -0.436384 0.265019 2.249480 -v 1.004741 0.265019 2.249480 -v -0.436384 0.350319 2.284813 -v 1.004741 0.350319 2.284813 -v -0.436384 0.385652 2.370113 -v 1.004741 0.385652 2.370113 -v 1.088061 0.350319 2.284813 -v 1.088061 0.265019 2.249480 -v -0.436384 0.350319 2.455414 -v 1.004741 0.350319 2.455414 -v -0.513171 0.335058 2.300074 -v -0.513171 0.364069 2.370113 -v -0.513171 0.265019 2.469164 -v -0.513171 0.335058 2.440152 -v -0.513171 0.265019 2.271063 -v -0.513171 0.194979 2.300074 -v -0.513171 0.165968 2.370113 -v -0.513171 0.194979 2.440152 -v 1.088061 0.265019 2.490746 -v 1.100404 0.265019 2.470652 -v 1.100404 0.336111 2.441205 -v 1.088061 0.350319 2.455414 -v 1.088061 0.179718 2.455414 -v 1.088061 0.179718 2.284813 -v 1.088061 0.144386 2.370113 -v 1.088061 0.385652 2.370113 -v 1.100404 0.365558 2.370113 -v 1.100404 0.336110 2.299021 -v 1.100404 0.265019 2.269574 -v 1.100404 0.193927 2.299021 -v 1.100404 0.164480 2.370113 -v 1.100404 0.193927 2.441205 -v 1.127149 0.206273 2.311367 -v 1.127149 0.181939 2.370113 -v 1.127149 0.206273 2.428859 -v 1.127149 0.265019 2.287034 -v 1.127149 0.323765 2.311367 -v 1.127149 0.348098 2.370113 -v 1.127149 0.323765 2.428859 -v 1.127149 0.265019 2.453193 -vt 0.047908 0.778254 -vt 0.915002 0.778254 -vt 0.915002 0.833806 -vt 0.047908 0.833806 -vt 0.915002 0.889359 -vt 0.047908 0.889358 -vt 0.047908 0.444941 -vt 0.915002 0.444941 -vt 0.915002 0.500493 -vt 0.047908 0.500493 -vt 0.915002 0.556045 -vt 0.047908 0.556045 -vt 0.915002 0.611597 -vt 0.047908 0.611598 -vt 0.915002 0.667149 -vt 0.047908 0.667150 -vt 0.965134 0.556045 -vt 0.965134 0.611597 -vt 0.915002 0.722702 -vt 0.047908 0.722702 -vt 0.000174 0.662180 -vt 0.000174 0.616567 -vt 0.188508 0.999826 -vt 0.142894 0.999826 -vt 0.110641 0.967572 -vt 0.110641 0.921959 -vt 0.142895 0.889706 -vt 0.188508 0.889706 -vt 0.220761 0.921959 -vt 0.220761 0.967572 -vt 0.000174 0.551076 -vt 0.000174 0.505463 -vt 0.000174 0.717732 -vt 0.000174 0.672119 -vt 0.000174 0.884388 -vt 0.000174 0.838776 -vt 0.000174 0.606628 -vt 0.000174 0.561015 -vt 0.000174 0.773284 -vt 0.000174 0.727671 -vt 0.000174 0.828837 -vt 0.000174 0.783223 -vt 0.000174 0.495524 -vt 0.000174 0.449911 -vt 0.965134 0.778254 -vt 0.965134 0.722702 -vt 0.978548 0.727329 -vt 0.978548 0.773627 -vt 0.965134 0.833806 -vt 0.965134 0.444941 -vt 0.965134 0.500493 -vt 0.965134 0.667149 -vt 0.965134 0.889359 -vt 0.978548 0.616224 -vt 0.978548 0.662523 -vt 0.978548 0.505120 -vt 0.978548 0.551419 -vt 0.978548 0.838433 -vt 0.978548 0.884732 -vt 0.978548 0.671776 -vt 0.978548 0.718075 -vt 0.978548 0.560672 -vt 0.978548 0.606970 -vt 0.978548 0.449567 -vt 0.978548 0.495866 -vt 0.978548 0.782880 -vt 0.978548 0.829179 -vt 0.997340 0.453587 -vt 0.997340 0.491846 -vt 0.313821 0.916759 -vt 0.340874 0.889706 -vt 0.379132 0.889706 -vt 0.406185 0.916760 -vt 0.406185 0.955018 -vt 0.379132 0.982071 -vt 0.340873 0.982071 -vt 0.313820 0.955018 -vt 0.997340 0.786900 -vt 0.997340 0.825159 -vt 0.997340 0.731349 -vt 0.997339 0.769607 -vt 0.997340 0.620244 -vt 0.997340 0.658502 -vt 0.997340 0.509140 -vt 0.997340 0.547398 -vt 0.997340 0.842454 -vt 0.997340 0.880712 -vt 0.997340 0.675796 -vt 0.997340 0.714055 -vt 0.997340 0.564692 -vt 0.997340 0.602951 -vt 0.047908 0.111279 -vt 0.047908 0.055726 -vt 0.915003 0.055729 -vt 0.915003 0.111281 -vt 0.047908 0.000174 -vt 0.915003 0.000177 -vt 0.047907 0.444592 -vt 0.047907 0.389040 -vt 0.915002 0.389041 -vt 0.915002 0.444593 -vt 0.047907 0.333487 -vt 0.915002 0.333489 -vt 0.047907 0.277935 -vt 0.915002 0.277937 -vt 0.047908 0.222383 -vt 0.915002 0.222385 -vt 0.965134 0.277937 -vt 0.965134 0.333489 -vt 0.047908 0.166830 -vt 0.915003 0.166833 -vt 0.000174 0.272966 -vt 0.000174 0.227352 -vt 0.032427 0.889706 -vt 0.078041 0.889706 -vt 0.110294 0.921960 -vt 0.110294 0.967573 -vt 0.078041 0.999826 -vt 0.032427 0.999826 -vt 0.000174 0.967573 -vt 0.000174 0.921960 -vt 0.000174 0.384070 -vt 0.000174 0.338457 -vt 0.000174 0.217413 -vt 0.000174 0.171800 -vt 0.000175 0.050756 -vt 0.000175 0.005143 -vt 0.000174 0.328517 -vt 0.000174 0.282904 -vt 0.000174 0.161861 -vt 0.000175 0.116248 -vt 0.000175 0.106309 -vt 0.000175 0.060695 -vt 0.000174 0.439622 -vt 0.000174 0.394009 -vt 0.965135 0.111281 -vt 0.978548 0.115908 -vt 0.978548 0.162207 -vt 0.965135 0.166833 -vt 0.965135 0.055729 -vt 0.965134 0.389041 -vt 0.965134 0.444593 -vt 0.965134 0.222385 -vt 0.965135 0.000177 -vt 0.978548 0.227012 -vt 0.978548 0.273311 -vt 0.978547 0.338116 -vt 0.978547 0.384414 -vt 0.978548 0.004803 -vt 0.978548 0.051102 -vt 0.978547 0.171460 -vt 0.978547 0.217759 -vt 0.978547 0.282564 -vt 0.978547 0.328863 -vt 0.978548 0.393668 -vt 0.978548 0.439967 -vt 0.978548 0.060356 -vt 0.978548 0.106654 -vt 0.997340 0.397688 -vt 0.997340 0.435947 -vt 0.248162 0.982070 -vt 0.221109 0.955017 -vt 0.221109 0.916758 -vt 0.248162 0.889706 -vt 0.286421 0.889706 -vt 0.313473 0.916759 -vt 0.313473 0.955017 -vt 0.286420 0.982071 -vt 0.997340 0.064376 -vt 0.997340 0.102635 -vt 0.997340 0.119928 -vt 0.997341 0.158187 -vt 0.997340 0.231032 -vt 0.997340 0.269291 -vt 0.997339 0.342136 -vt 0.997339 0.380394 -vt 0.997340 0.008823 -vt 0.997340 0.047082 -vt 0.997339 0.175480 -vt 0.997339 0.213738 -vt 0.997340 0.286584 -vt 0.997340 0.324842 -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.2513 0.8942 0.3704 -vn -1.0000 0.0000 0.0000 -vn -0.2513 -0.3704 0.8942 -vn -0.2513 0.8942 -0.3704 -vn -0.2513 -0.8942 -0.3704 -vn -0.2513 0.3704 0.8942 -vn -0.2513 0.3704 -0.8942 -vn -0.2513 -0.3704 -0.8942 -vn -0.2513 -0.8942 0.3704 -vn 0.8327 0.2119 -0.5115 -vn 0.8327 0.5115 0.2119 -vn 0.8327 -0.2119 0.5115 -vn 0.8327 -0.5115 -0.2119 -vn 0.8327 0.5115 -0.2119 -vn 0.8327 0.2119 0.5115 -vn 0.8327 -0.5115 0.2119 -vn 0.8327 -0.2119 -0.5115 -vn 0.5165 -0.7911 0.3277 -vn 1.0000 0.0000 0.0000 -vn 0.5165 -0.3277 -0.7911 -vn 0.5165 0.3277 -0.7911 -vn 0.5165 0.7911 0.3277 -vn 0.5165 -0.3277 0.7911 -vn 0.5165 -0.7911 -0.3277 -vn 0.5165 0.7911 -0.3277 -vn 0.5165 0.3277 0.7911 -s off -f 453/857/282 454/858/282 455/859/282 456/860/282 -f 456/860/283 455/859/283 457/861/283 458/862/283 -f 458/863/284 457/864/284 459/865/284 460/866/284 -f 460/866/285 459/865/285 461/867/285 462/868/285 -f 462/868/286 461/867/286 463/869/286 464/870/286 -f 464/870/287 463/869/287 465/871/287 466/872/287 -f 463/869/286 461/867/286 467/873/286 468/874/286 -f 466/872/288 465/871/288 469/875/288 470/876/288 -f 470/876/289 469/875/289 454/858/289 453/857/289 -f 464/870/290 466/872/290 471/877/290 472/878/290 -f 473/879/291 474/880/291 475/881/291 476/882/291 477/883/291 472/884/291 471/885/291 478/886/291 -f 460/866/292 462/868/292 477/887/292 476/888/292 -f 466/872/293 470/876/293 478/889/293 471/890/293 -f 456/860/294 458/862/294 475/891/294 474/892/294 -f 462/868/295 464/870/295 472/893/295 477/894/295 -f 470/876/296 453/857/296 473/895/296 478/896/296 -f 453/857/297 456/860/297 474/897/297 473/898/297 -f 458/863/298 460/866/298 476/899/298 475/900/298 -f 479/901/299 480/902/299 481/903/299 482/904/299 -f 454/858/289 469/875/289 480/902/289 479/901/289 -f 455/859/282 454/858/282 479/901/282 483/905/282 -f 459/865/284 457/864/284 484/906/284 485/907/284 -f 465/871/287 463/869/287 468/874/287 486/908/287 -f 461/867/285 459/865/285 485/907/285 467/873/285 -f 469/875/288 465/871/288 486/908/288 480/902/288 -f 457/861/283 455/859/283 483/905/283 484/909/283 -f 486/908/300 468/874/300 487/910/300 488/911/300 -f 467/873/301 485/907/301 489/912/301 490/913/301 -f 484/909/302 483/905/302 491/914/302 492/915/302 -f 480/902/303 486/908/303 488/916/303 481/917/303 -f 468/874/304 467/873/304 490/918/304 487/919/304 -f 485/907/305 484/906/305 492/920/305 489/921/305 -f 483/905/306 479/901/306 482/922/306 491/923/306 -f 489/921/307 492/920/307 493/924/307 494/925/307 -f 495/926/308 496/927/308 497/928/308 498/929/308 499/930/308 500/931/308 494/932/308 493/933/308 -f 491/923/309 482/922/309 496/934/309 495/935/309 -f 482/904/310 481/903/310 497/936/310 496/937/310 -f 488/911/311 487/910/311 499/938/311 498/939/311 -f 490/913/312 489/912/312 494/940/312 500/941/312 -f 492/915/313 491/914/313 495/942/313 493/943/313 -f 481/917/314 488/916/314 498/944/314 497/945/314 -f 487/919/315 490/918/315 500/946/315 499/947/315 -f 501/948/285 502/949/285 503/950/285 504/951/285 -f 502/949/284 505/952/284 506/953/284 503/950/284 -f 505/954/283 507/955/283 508/956/283 506/957/283 -f 507/955/282 509/958/282 510/959/282 508/956/282 -f 509/958/289 511/960/289 512/961/289 510/959/289 -f 511/960/288 513/962/288 514/963/288 512/961/288 -f 512/961/289 515/964/289 516/965/289 510/959/289 -f 513/962/287 517/966/287 518/967/287 514/963/287 -f 517/966/286 501/948/286 504/951/286 518/967/286 -f 511/960/293 519/968/293 520/969/293 513/962/293 -f 521/970/291 522/971/291 520/972/291 519/973/291 523/974/291 524/975/291 525/976/291 526/977/291 -f 507/955/297 524/978/297 523/979/297 509/958/297 -f 513/962/290 520/980/290 522/981/290 517/966/290 -f 502/949/298 526/982/298 525/983/298 505/952/298 -f 509/958/296 523/984/296 519/985/296 511/960/296 -f 517/966/295 522/986/295 521/987/295 501/948/295 -f 501/948/292 521/988/292 526/989/292 502/949/292 -f 505/954/294 525/990/294 524/991/294 507/955/294 -f 527/992/304 528/993/304 529/994/304 530/995/304 -f 504/951/286 527/992/286 530/995/286 518/967/286 -f 503/950/285 531/996/285 527/992/285 504/951/285 -f 508/956/283 532/997/283 533/998/283 506/957/283 -f 514/963/288 534/999/288 515/964/288 512/961/288 -f 510/959/282 516/965/282 532/997/282 508/956/282 -f 518/967/287 530/995/287 534/999/287 514/963/287 -f 506/953/284 533/1000/284 531/996/284 503/950/284 -f 534/999/303 535/1001/303 536/1002/303 515/964/303 -f 516/965/306 537/1003/306 538/1004/306 532/997/306 -f 533/1000/305 539/1005/305 540/1006/305 531/996/305 -f 530/995/300 529/1007/300 535/1008/300 534/999/300 -f 515/964/299 536/1009/299 537/1010/299 516/965/299 -f 532/997/302 538/1011/302 539/1012/302 533/998/302 -f 531/996/301 540/1013/301 528/1014/301 527/992/301 -f 538/1011/313 541/1015/313 542/1016/313 539/1012/313 -f 543/1017/308 542/1018/308 541/1019/308 544/1020/308 545/1021/308 546/1022/308 547/1023/308 548/1024/308 -f 540/1013/312 543/1025/312 548/1026/312 528/1014/312 -f 528/993/315 548/1027/315 547/1028/315 529/994/315 -f 535/1001/314 546/1029/314 545/1030/314 536/1002/314 -f 537/1003/309 544/1031/309 541/1032/309 538/1004/309 -f 539/1005/307 542/1033/307 543/1034/307 540/1006/307 -f 529/1007/311 547/1035/311 546/1036/311 535/1008/311 -f 536/1009/310 545/1037/310 544/1038/310 537/1010/310 -o AmmunitionCan_Cylinder.007 -v -1.114931 0.645018 2.605743 -v -0.705608 0.645018 2.607436 -v -0.705608 0.367434 2.722416 -v -1.115595 0.367434 2.722416 -v -0.705608 0.252454 3.000000 -v -1.115595 0.252454 3.000000 -v -0.705608 0.367434 3.277584 -v -1.115595 0.367434 3.277584 -v -0.705608 0.645018 3.392564 -v -1.115595 0.645018 3.392564 -v -0.705608 0.922602 3.277584 -v -1.115595 0.922602 3.277584 -v -0.705608 1.037581 3.000000 -v -1.115595 1.037581 3.000000 -v -0.705608 0.922602 2.722416 -v -1.115595 0.922602 2.722416 -v -1.680468 0.367434 2.722416 -v -1.680468 0.252454 3.000000 -v -1.696762 0.326183 3.000000 -v -1.696762 0.419567 2.774549 -v -1.696762 0.645018 3.318835 -v -1.696762 0.870468 3.225451 -v -1.717499 0.922175 3.277157 -v -1.717499 0.645018 3.391959 -v -1.680468 0.645018 3.392564 -v -1.680468 0.922602 3.277584 -v -1.680468 0.922602 2.722416 -v -1.680468 0.645018 2.607436 -v -1.696762 0.645018 2.681165 -v -1.696762 0.870469 2.774550 -v -1.680468 0.367434 3.277584 -v -1.696762 0.419567 3.225451 -v -1.680468 1.037582 3.000000 -v -1.696762 0.963853 3.000000 -v -1.717499 1.036977 3.000000 -v -1.717499 0.922175 2.722843 -v -1.807855 0.922175 2.722843 -v -1.807855 1.036977 3.000000 -v -1.717499 0.367861 3.277157 -v -1.717499 0.253059 3.000000 -v -1.717499 0.367861 2.722843 -v -1.717499 0.645018 2.608041 -v -1.807855 0.922175 3.277157 -v -1.827112 0.964049 3.000000 -v -1.827112 0.870607 3.225589 -v -1.807856 0.645018 3.391959 -v -1.807856 0.367861 3.277157 -v -1.807856 0.253059 3.000000 -v -1.807856 0.367861 2.722843 -v -1.807856 0.645018 2.608041 -v -1.827112 0.645018 2.680969 -v -1.827112 0.419429 2.774411 -v -1.850272 0.367220 2.722202 -v -1.850272 0.645018 2.607134 -v -1.827112 0.645018 3.319031 -v -1.827112 0.419429 3.225589 -v -1.827112 0.325987 3.000000 -v -1.827112 0.870607 2.774411 -v -1.850272 1.037884 3.000000 -v -1.850272 0.922816 2.722202 -v -1.929992 0.922816 2.722202 -v -1.929992 1.037884 3.000000 -v -1.850272 0.922816 3.277798 -v -1.850272 0.645018 3.392866 -v -1.850272 0.367220 3.277798 -v -1.850272 0.252152 3.000000 -v -1.929992 0.367220 2.722202 -v -1.929992 0.252152 3.000000 -v -2.043752 0.321683 3.000000 -v -2.043752 0.416385 2.771367 -v -1.929992 0.922816 3.277798 -v -1.929992 0.645018 3.392866 -v -1.929992 0.367220 3.277798 -v -1.929992 0.645018 2.607134 -v -2.043752 0.873651 2.771367 -v -2.043752 0.645018 2.676665 -v -2.121962 0.645018 2.774646 -v -2.121962 0.804367 2.840651 -v -2.043752 0.968353 3.000000 -v -2.043752 0.873651 3.228633 -v -2.043752 0.645018 3.323335 -v -2.043752 0.416385 3.228633 -v -2.121962 0.870372 3.000000 -v -2.179800 0.787147 2.857871 -v -2.179800 0.846019 3.000000 -v -2.121962 0.804367 3.159349 -v -2.121962 0.645018 3.225354 -v -2.121962 0.485669 3.159349 -v -2.121962 0.419664 3.000000 -v -2.121962 0.485669 2.840651 -v -2.179800 0.787147 3.142129 -v -2.179800 0.817735 3.000000 -v -2.179800 0.767148 3.122130 -v -2.179800 0.645018 3.201001 -v -2.179800 0.502889 3.142129 -v -2.179800 0.444017 3.000000 -v -2.179800 0.502889 2.857871 -v -2.179800 0.645018 2.798999 -v -2.179800 0.645018 2.827283 -v -2.179800 0.522888 2.877870 -v -2.139229 0.522888 2.877870 -v -2.139229 0.645018 2.827283 -v -2.179800 0.645018 3.172717 -v -2.179800 0.522888 3.122130 -v -2.179800 0.472301 3.000000 -v -2.179800 0.767148 2.877870 -v -2.139229 0.472301 3.000000 -v -2.139229 0.522888 3.122130 -v -2.139229 0.645018 3.172717 -v -2.139229 0.767148 3.122130 -v -2.139229 0.817735 3.000000 -v -2.139229 0.767148 2.877870 -v -1.416219 0.923800 2.721218 -v -1.416219 0.645018 2.605743 -v -1.415588 1.037581 3.000000 -v -1.416219 0.923800 3.278782 -v -1.416219 0.645018 3.394257 -v -1.416219 0.366236 3.278782 -v -1.415589 0.252454 3.000000 -v -1.416219 0.366236 2.721218 -v -1.161507 0.923800 2.721218 -v -1.161507 0.645018 2.605743 -v -1.161507 1.039275 3.000000 -v -1.161507 0.923800 3.278782 -v -1.161507 0.645018 3.394257 -v -1.161507 0.366236 3.278782 -v -1.161507 0.250761 3.000000 -v -1.161507 0.366236 2.721218 -v -1.379544 0.645018 2.605743 -v -1.379545 0.366236 2.721218 -v -1.379545 1.039275 3.000000 -v -1.379545 0.923800 3.278782 -v -1.382795 0.953877 3.308859 -v -1.382795 1.081811 3.000000 -v -1.319287 0.645018 2.590682 -v -1.221764 0.645018 2.590682 -v -1.221764 0.355586 2.710568 -v -1.319287 0.355586 2.710568 -v -1.158621 0.950501 2.694517 -v -1.158621 1.077036 3.000000 -v -1.379545 0.250761 3.000000 -v -1.319287 0.235700 3.000000 -v -1.316037 0.208225 3.000000 -v -1.316037 0.336159 2.691141 -v -1.221764 0.235700 3.000000 -v -1.158621 0.950501 3.305483 -v -1.158621 0.645018 3.432019 -v -1.379545 0.366236 3.278782 -v -1.379545 0.645018 3.394257 -v -1.382795 0.336159 3.308859 -v -1.382795 0.645018 3.436793 -v -1.221764 0.355586 3.289432 -v -1.319287 0.355586 3.289432 -v -1.221764 0.934450 2.710568 -v -1.221764 1.054336 3.000000 -v -1.224650 1.077036 3.000000 -v -1.224650 0.950501 2.694517 -v -1.382795 0.336159 2.691141 -v -1.382795 0.208225 3.000000 -v -1.221764 0.645018 3.409318 -v -1.319287 0.645018 3.409318 -v -1.158621 0.339535 3.305483 -v -1.158621 0.212999 3.000000 -v -1.319287 1.054336 3.000000 -v -1.319287 0.934450 2.710568 -v -1.316037 0.953877 2.691141 -v -1.316037 1.081811 3.000000 -v -1.221764 0.934450 3.289432 -v -1.319287 0.934450 3.289432 -v -1.224650 0.645018 3.432019 -v -1.224650 0.950501 3.305483 -v -1.316037 0.953877 3.308859 -v -1.316037 0.645018 3.436793 -v -1.158621 0.339535 2.694517 -v -1.158621 0.645018 2.567981 -v -1.379545 0.923800 2.721218 -v -1.382795 0.953877 2.691141 -v -1.224650 0.212999 3.000000 -v -1.224650 0.339535 3.305483 -v -1.316037 0.336159 3.308859 -v -1.224650 0.645018 2.567981 -v -1.224650 0.339535 2.694517 -v -1.382795 0.645018 2.563207 -v -1.316036 0.645018 2.563207 -vt 0.333771 0.122601 -vt 0.250827 0.123696 -vt 0.249913 0.062860 -vt 0.333162 0.061441 -vt 0.248762 0.002028 -vt 0.331770 0.000458 -vt 0.331178 0.489363 -vt 0.248762 0.487236 -vt 0.250204 0.426885 -vt 0.333040 0.428574 -vt 0.251228 0.366447 -vt 0.334273 0.367529 -vt 0.251779 0.305898 -vt 0.334946 0.306336 -vt 0.251870 0.245242 -vt 0.335158 0.245008 -vt 0.387778 0.000111 -vt 0.448672 0.000111 -vt 0.491729 0.043169 -vt 0.491729 0.104062 -vt 0.448671 0.147120 -vt 0.387778 0.147120 -vt 0.344720 0.104062 -vt 0.344720 0.043169 -vt 0.251510 0.184543 -vt 0.334843 0.183746 -vt 0.184792 0.411952 -vt 0.180019 0.475285 -vt 0.164389 0.467565 -vt 0.169068 0.411085 -vt 0.171376 0.116511 -vt 0.173907 0.173123 -vt 0.158223 0.172770 -vt 0.156306 0.116051 -vt 0.187710 0.116136 -vt 0.188188 0.173263 -vt 0.187862 0.290744 -vt 0.187045 0.350935 -vt 0.169556 0.350164 -vt 0.173074 0.290555 -vt 0.169093 0.410760 -vt 0.169539 0.350497 -vt 0.182936 0.002420 -vt 0.185636 0.059963 -vt 0.171429 0.060361 -vt 0.168682 0.009053 -vt 0.188834 0.231566 -vt 0.171901 0.231236 -vt 0.173902 0.173419 -vt 0.171377 0.116200 -vt 0.171433 0.060647 -vt 0.173086 0.290248 -vt 0.171893 0.231559 -vt 0.156248 0.230716 -vt 0.156867 0.289505 -vt 0.136903 0.289718 -vt 0.137407 0.231137 -vt 0.156897 0.060302 -vt 0.156891 0.004402 -vt 0.151894 0.409417 -vt 0.153421 0.349240 -vt 0.147572 0.472946 -vt 0.138952 0.173384 -vt 0.121938 0.230032 -vt 0.123479 0.172751 -vt 0.138214 0.116866 -vt 0.138770 0.061156 -vt 0.138353 0.003891 -vt 0.132267 0.409089 -vt 0.134072 0.349295 -vt 0.126815 0.471069 -vt 0.118159 0.348200 -vt 0.116549 0.407518 -vt 0.099353 0.406365 -vt 0.101957 0.346731 -vt 0.123291 0.116133 -vt 0.123243 0.060809 -vt 0.114079 0.464786 -vt 0.116522 0.407844 -vt 0.120912 0.288422 -vt 0.121921 0.230342 -vt 0.123493 0.172442 -vt 0.123281 0.116431 -vt 0.123249 0.060512 -vt 0.123844 0.009530 -vt 0.118183 0.347881 -vt 0.120892 0.288742 -vt 0.106188 0.229161 -vt 0.104711 0.287384 -vt 0.088322 0.287014 -vt 0.090113 0.228932 -vt 0.107837 0.171744 -vt 0.108130 0.115645 -vt 0.108841 0.060451 -vt 0.096873 0.470749 -vt 0.108910 0.003319 -vt 0.083013 0.405933 -vt 0.079907 0.469925 -vt 0.052378 0.462912 -vt 0.054935 0.410246 -vt 0.092029 0.171671 -vt 0.092656 0.115769 -vt 0.093106 0.060660 -vt 0.092149 0.003387 -vt 0.085408 0.346282 -vt 0.062313 0.290993 -vt 0.059914 0.339771 -vt 0.036698 0.331221 -vt 0.038369 0.297224 -vt 0.063245 0.281096 -vt 0.064719 0.233294 -vt 0.067796 0.166452 -vt 0.068312 0.120444 -vt 0.068137 0.056008 -vt 0.067350 0.008871 -vt 0.057308 0.399614 -vt 0.059278 0.350520 -vt 0.065403 0.223033 -vt 0.066980 0.175906 -vt 0.068752 0.110697 -vt 0.069122 0.065341 -vt 0.041387 0.239824 -vt 0.040360 0.273141 -vt 0.028428 0.270971 -vt 0.029344 0.241254 -vt 0.042861 0.215130 -vt 0.043960 0.182284 -vt 0.046882 0.103646 -vt 0.047140 0.072034 -vt 0.027306 0.453697 -vt 0.029088 0.416990 -vt 0.045633 0.159231 -vt 0.045993 0.127165 -vt 0.045231 0.049246 -vt 0.044683 0.016394 -vt 0.033874 0.391223 -vt 0.035247 0.357006 -vt 0.032082 0.183664 -vt 0.031102 0.212960 -vt 0.026194 0.210732 -vt 0.027037 0.185558 -vt 0.034115 0.157369 -vt 0.034435 0.128769 -vt 0.033381 0.047668 -vt 0.032891 0.018366 -vt 0.021636 0.388880 -vt 0.022861 0.358361 -vt 0.024556 0.328782 -vt 0.026047 0.298459 -vt 0.035522 0.101845 -vt 0.035752 0.073650 -vt 0.014195 0.451072 -vt 0.015784 0.418332 -vt 0.017591 0.360300 -vt 0.016539 0.386525 -vt 0.008490 0.386202 -vt 0.009543 0.359977 -vt 0.030749 0.099822 -vt 0.030947 0.075594 -vt 0.008745 0.448499 -vt 0.010111 0.420366 -vt 0.023445 0.268724 -vt 0.024232 0.243190 -vt 0.029279 0.155303 -vt 0.029555 0.130726 -vt 0.028369 0.045690 -vt 0.027949 0.020511 -vt 0.019510 0.326396 -vt 0.020791 0.300340 -vt 0.363665 0.147342 -vt 0.390456 0.147342 -vt 0.409400 0.166287 -vt 0.409400 0.193078 -vt 0.390456 0.212022 -vt 0.363664 0.212022 -vt 0.344720 0.193078 -vt 0.344720 0.166286 -vt 0.011513 0.326003 -vt 0.012794 0.299946 -vt 0.018468 0.210474 -vt 0.019311 0.185300 -vt 0.023313 0.099761 -vt 0.023511 0.075533 -vt 0.000111 0.448080 -vt 0.001477 0.419947 -vt 0.015608 0.268483 -vt 0.016395 0.242948 -vt 0.021737 0.155218 -vt 0.022012 0.130642 -vt 0.020642 0.045819 -vt 0.020221 0.020640 -vt 0.241179 0.291205 -vt 0.241048 0.352210 -vt 0.241424 0.231328 -vt 0.239656 0.172428 -vt 0.238302 0.114877 -vt 0.236112 0.057792 -vt 0.234041 0.000494 -vt 0.239378 0.414394 -vt 0.236869 0.477863 -vt 0.344164 0.183645 -vt 0.343181 0.122473 -vt 0.344498 0.244994 -vt 0.344304 0.306406 -vt 0.343563 0.367674 -vt 0.342352 0.428813 -vt 0.340421 0.489783 -vt 0.342493 0.061278 -vt 0.341044 0.000111 -vt 0.248540 0.352310 -vt 0.247025 0.414653 -vt 0.518660 0.274425 -vt 0.518660 0.335581 -vt 0.510669 0.338880 -vt 0.510669 0.271126 -vt 0.618935 0.542365 -vt 0.618935 0.562130 -vt 0.555443 0.562130 -vt 0.555443 0.542365 -vt 0.518975 0.265234 -vt 0.518996 0.204078 -vt 0.526092 0.201151 -vt 0.526069 0.268165 -vt 0.244474 0.478305 -vt 0.491952 0.065734 -vt 0.491951 0.002242 -vt 0.497138 0.000111 -vt 0.497138 0.067865 -vt 0.491951 0.562130 -vt 0.491951 0.542365 -vt 0.518929 0.399261 -vt 0.518950 0.338104 -vt 0.526046 0.335178 -vt 0.526022 0.402192 -vt 0.240901 0.000111 -vt 0.243075 0.057522 -vt 0.518660 0.409933 -vt 0.518660 0.471090 -vt 0.510668 0.474388 -vt 0.510668 0.406634 -vt 0.999889 0.542365 -vt 0.999889 0.562130 -vt 0.936397 0.562130 -vt 0.936397 0.542365 -vt 0.543764 0.202918 -vt 0.543742 0.266410 -vt 0.539451 0.268169 -vt 0.539474 0.201156 -vt 0.245271 0.114659 -vt 0.518659 0.003410 -vt 0.518659 0.064565 -vt 0.510668 0.067865 -vt 0.510667 0.000111 -vt 0.872904 0.562130 -vt 0.872904 0.542365 -vt 0.518882 0.533287 -vt 0.518903 0.472131 -vt 0.525999 0.469205 -vt 0.525976 0.536218 -vt 0.246721 0.172240 -vt 0.491952 0.268995 -vt 0.491952 0.205503 -vt 0.497139 0.203372 -vt 0.497139 0.271126 -vt 0.809412 0.562130 -vt 0.809412 0.542365 -vt 0.543718 0.336945 -vt 0.543696 0.400437 -vt 0.539405 0.402196 -vt 0.539428 0.335183 -vt 0.248540 0.231225 -vt 0.491952 0.404503 -vt 0.491952 0.341011 -vt 0.497139 0.338880 -vt 0.497138 0.406634 -vt 0.745919 0.562130 -vt 0.745919 0.542365 -vt 0.519021 0.131207 -vt 0.519042 0.070051 -vt 0.526138 0.067125 -vt 0.526115 0.134138 -vt 0.248518 0.291219 -vt 0.518660 0.206671 -vt 0.518660 0.267827 -vt 0.510668 0.203372 -vt 0.682427 0.562130 -vt 0.682427 0.542365 -vt 0.543671 0.470972 -vt 0.543649 0.534464 -vt 0.539358 0.536223 -vt 0.539381 0.469210 -vt 0.491951 0.540012 -vt 0.491952 0.476519 -vt 0.497138 0.474388 -vt 0.497138 0.542143 -vt 0.543810 0.068891 -vt 0.543788 0.132383 -vt 0.539497 0.134142 -vt 0.539520 0.067129 -vt 0.526161 0.000111 -vt 0.539543 0.000116 -vt 0.543833 0.001878 -vt 0.543811 0.065370 -vt 0.543695 0.403959 -vt 0.543672 0.467451 -vt 0.519044 0.064193 -vt 0.519065 0.003037 -vt 0.543741 0.269931 -vt 0.543719 0.333424 -vt 0.518906 0.466274 -vt 0.518927 0.405118 -vt 0.543787 0.135905 -vt 0.543765 0.199397 -vt 0.518952 0.332247 -vt 0.518973 0.271091 -vt 0.518998 0.198220 -vt 0.519019 0.137064 -vt 0.510668 0.135618 -vt 0.497138 0.135618 -vt 0.510668 0.542143 -vt 0.491952 0.472258 -vt 0.491952 0.408765 -vt 0.518660 0.138917 -vt 0.518660 0.200073 -vt 0.491952 0.336749 -vt 0.491952 0.273257 -vt 0.491952 0.201241 -vt 0.491952 0.137749 -vt 0.518660 0.071163 -vt 0.518660 0.132319 -vt 0.518660 0.477687 -vt 0.518660 0.538844 -vt 0.491952 0.133487 -vt 0.491952 0.069996 -vt 0.518660 0.342179 -vt 0.518660 0.403335 -vn 0.0019 -0.3851 -0.9229 -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 1.0000 0.0000 0.0000 -vn 0.0000 0.9239 -0.3827 -vn 0.0019 0.3851 -0.9229 +vn 0.0000 0.0000 -1.0000 +vn 0.0000 -1.0000 -0.0000 +vn -0.7903 0.0000 -0.6128 +vn 0.0000 0.0000 1.0000 +vn -0.7903 0.0000 0.6127 +vn -0.9545 -0.2981 -0.0000 +vn -0.9546 0.2980 0.0000 +vn 0.9792 0.2029 0.0000 +vn 0.0101 0.0000 0.9999 +vn 0.8891 0.0000 -0.4576 +vn 0.8892 0.0000 0.4576 +vn 0.9792 -0.2030 -0.0000 +vn 0.0423 -0.9991 0.0000 +vn 0.0078 1.0000 0.0000 +vn 0.0101 0.0000 -0.9999 +vn -0.7409 -0.6716 0.0000 +vn -0.7903 0.0000 -0.6127 +vn -0.9546 -0.2980 0.0000 +vn 0.9792 0.2030 0.0000 +vn 0.8891 0.0000 0.4576 +vn 0.8892 0.0000 -0.4576 +vn -0.4347 -0.3446 0.8320 +vn -0.4347 0.8320 -0.3446 +vn -0.4347 -0.8320 -0.3446 +vn -0.4347 0.3446 0.8320 +vn -0.4347 0.3446 -0.8320 +vn -0.4347 -0.3446 -0.8320 +vn -0.4347 -0.8320 0.3446 +vn -0.4347 0.8320 0.3446 +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.8937 -0.4486 0.0000 +vn 0.0000 -0.3562 -0.9344 +vn -0.1012 -0.3652 0.9254 +vn 0.4263 -0.2762 0.8614 +vn 0.8392 -0.5438 0.0000 +vn -0.2672 -0.9636 0.0000 +vn -0.9926 -0.1214 0.0000 +vn 0.0037 1.0000 0.0000 +vn -0.1012 -0.3652 -0.9254 +vn 0.4263 -0.2762 -0.8614 +vn 0.0000 -0.3562 0.9344 +vn -0.0013 -0.3562 -0.9344 +vn -0.5737 -0.2880 -0.7667 +vn -0.5737 -0.2880 0.7667 +vn 0.8524 -0.5228 0.0000 +vn 0.5062 -0.3105 0.8046 +vn 0.5044 -0.3120 0.8051 +vn -0.0013 -0.3562 0.9344 +vn -0.0037 -1.0000 0.0000 +vn 1.0000 -0.0009 -0.0023 +vn 1.0000 -0.0023 -0.0008 +vn 1.0000 -0.0093 -0.0016 +vn 1.0000 -0.0074 0.0000 +vn 1.0000 -0.0072 -0.0024 +vn 0.5062 -0.3105 -0.8046 +vn 0.0009 0.0023 1.0000 +vn -0.0019 0.0015 1.0000 +vn 0.0020 -0.0014 -1.0000 +vn 0.0020 0.0015 -1.0000 +vn -0.0480 -0.5123 0.8575 +vn 0.0000 0.5189 0.8549 +vn -0.0444 -0.5183 -0.8540 +vn 0.0000 0.5189 -0.8549 +vn 0.4606 -0.4605 0.7588 +vn 0.4606 0.4606 0.7588 +vn 0.4606 -0.4605 -0.7588 +vn 0.4606 0.4606 -0.7588 +vn -0.2276 -0.4268 0.8752 +vn -0.0458 0.4996 0.8650 +vn -0.2050 -0.5011 -0.8407 +vn -0.0470 0.5125 -0.8574 +vn -0.7527 -0.3520 0.5563 +vn -0.6638 0.5609 0.4947 +vn -0.7527 -0.3520 -0.5563 +vn -0.7340 0.3556 -0.5787 +vn -0.0854 -0.9963 -0.0000 +vn 0.0000 -0.5188 -0.8549 +vn 0.5189 0.0000 -0.8549 +vn 0.7071 -0.7071 -0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.5189 0.0000 0.8549 +vn 0.0000 -0.5188 0.8549 +vn -0.3786 -0.9256 -0.0000 +vn -0.0584 0.9983 0.0000 +vn -0.0883 -0.5113 0.8549 +vn -0.0883 -0.5113 -0.8549 +vn -0.9058 -0.4236 -0.0000 +vn -0.7633 0.0000 0.6461 +vn -0.7634 0.6451 0.0329 +vn -0.7633 0.0000 -0.6461 +vn -0.1702 -0.9854 -0.0000 +vn 0.0000 -0.2599 0.9656 +vn 0.0000 -0.2599 -0.9656 +vn -0.7300 -0.6835 -0.0000 +vn 0.7300 -0.6835 -0.0000 +vn 0.9483 -0.3175 0.0000 +vn -0.9482 0.3175 0.0075 +vn -0.0235 0.9997 0.0002 +vn -0.0233 0.9997 0.0014 +vn -0.0222 0.9998 0.0003 +vn 0.7875 0.6163 0.0000 +vn -0.7875 -0.6163 0.0062 +vn 0.8412 -0.5408 0.0000 +vn -0.5133 -0.8582 0.0037 +vn -0.5122 -0.8589 0.0040 +vn -0.5122 -0.8588 0.0053 +vn -0.0158 0.0101 -0.9998 +vn -0.0145 0.0101 -0.9998 +vn 0.0159 -0.0095 0.9998 +vn 0.0152 -0.0106 0.9998 +vn 0.0171 -0.0100 0.9998 +vn 0.0225 -0.9997 -0.0002 +vn 0.0238 -0.9997 -0.0002 +vn -0.8588 0.5123 0.0068 +vn -0.0128 0.0070 -0.9999 +vn -0.0116 0.0069 -0.9999 +vn 0.5115 0.8593 -0.0050 +vn 0.5122 0.8589 -0.0040 +vn 0.0115 -0.0056 0.9999 +vn 0.0116 -0.0069 0.9999 +vn 0.9772 -0.2122 0.0000 +vn 0.8316 0.5554 0.0000 +vn 0.9921 0.1251 0.0000 +vn -0.9251 -0.3798 0.0000 +vn 0.6540 -0.7565 0.0000 +vn -0.5188 -0.8549 0.0000 +vn -0.9946 -0.1041 0.0000 +vn 0.0004 1.0000 0.0000 +vn 0.8662 0.4997 0.0000 +vn 0.7825 0.4514 0.4290 +vn -0.8662 -0.4997 0.0000 +vn -0.0004 -1.0000 0.0000 +vn -0.8658 0.5003 0.0000 +vn 0.0003 0.9033 0.4290 +vn -0.7825 -0.4514 0.4290 +vn 0.7821 -0.4519 0.4290 +vn -0.7821 0.4519 0.4290 +vn -0.0003 -0.9033 0.4290 +vn 0.0003 0.9326 0.3608 +vn -0.8079 -0.4660 0.3608 +vn 0.8075 -0.4666 0.3608 +vn -0.8075 0.4666 0.3608 +vn -0.0003 -0.9326 0.3609 +vn 0.8079 0.4660 0.3608 +vn 0.8658 -0.5003 0.0000 +vn 0.7825 0.4514 -0.4290 +vn 0.0003 0.9033 -0.4290 +vn -0.7825 -0.4514 -0.4290 +vn 0.7821 -0.4519 -0.4290 +vn -0.7821 0.4519 -0.4290 +vn -0.0003 -0.9033 -0.4290 +vn 0.0003 0.9326 -0.3608 +vn -0.8079 -0.4660 -0.3608 +vn 0.8075 -0.4666 -0.3608 +vn -0.8075 0.4666 -0.3608 +vn -0.0003 -0.9326 -0.3608 +vn 0.8079 0.4660 -0.3608 +vn 0.4472 -0.4390 -0.7793 +vn 0.4472 0.4390 0.7793 +vn -0.4472 0.4390 0.7793 +vn -0.4472 -0.4390 -0.7793 +vn 0.4472 0.4554 -0.7698 +vn 0.4472 -0.4554 0.7698 +vn -0.4472 -0.4554 0.7698 +vn -0.4472 0.4554 -0.7698 +vn 0.4472 0.8944 0.0095 +vn 0.4472 -0.8944 -0.0095 +vn -0.4472 -0.8944 -0.0095 +vn -0.4472 0.8944 0.0095 +vn 0.8637 0.5040 -0.0008 +vn 0.8628 0.5055 0.0000 +vn 0.8618 0.5073 0.0000 +vn 0.8692 -0.4944 0.0000 +vn 0.0064 -1.0000 0.0000 +vn -0.8628 -0.5056 0.0000 +vn -0.8692 0.4944 0.0000 +vn -0.8700 0.4931 0.0013 +vn -0.9999 -0.0128 -0.0020 +vn -0.9999 -0.0129 0.0000 +vn -0.9999 -0.0119 0.0017 +vn -0.0052 1.0000 -0.0016 +vn -0.0063 1.0000 0.0020 +vn -0.0044 1.0000 0.0000 +vn -0.0106 0.9999 0.0000 +vn 0.0018 0.0009 -1.0000 +vn -0.0014 0.0014 -1.0000 +vn 0.9999 0.0130 0.0020 +vn 0.9999 0.0129 0.0000 +vn 0.9999 0.0129 -0.0020 +vn 0.0014 0.0015 1.0000 +vn 0.4867 -0.1145 -0.8660 +vn 0.9734 -0.2290 0.0000 +vn 0.4867 -0.1145 0.8660 +vn -0.4867 0.1145 0.8660 +vn 0.9982 0.0594 0.0000 +vn -0.9734 0.2290 0.0000 +vn -0.4867 0.1145 -0.8660 +vn 0.4037 -0.3811 0.8318 +vn 0.2290 0.9734 0.0000 +vn -0.8670 0.4982 0.0000 +vn 0.5319 0.1691 -0.8297 +vn 0.5319 0.1691 0.8297 +vn -0.4007 0.3885 -0.8297 +vn -0.4007 0.3885 0.8297 +vn -0.2290 -0.9734 0.0000 +vn -0.5312 -0.1612 -0.8317 +vn -0.5312 -0.1612 0.8318 +vn 0.8711 -0.4911 0.0000 +vn -0.9987 -0.0512 0.0000 +vn 0.4037 -0.3811 -0.8318 +vn -0.5339 -0.1952 -0.8227 +vn -0.5339 -0.1952 0.8227 +vn 0.8533 -0.5215 0.0000 +vn -0.9963 -0.0864 0.0000 +vn 0.3909 -0.4127 0.8227 +vn 0.3909 -0.4127 -0.8227 +vn -0.7037 0.7104 -0.0137 +vn -0.0946 -0.0018 -0.9955 +vn 0.1755 0.9845 0.0000 +vn -0.5947 0.1299 0.7934 +vn -0.2277 -0.9737 0.0000 +vn 0.9224 0.3863 0.0000 +vn -0.3526 0.9358 0.0000 +vn 0.1465 0.0029 -0.9892 +vn 0.1465 0.0029 0.9892 +vn -0.1755 -0.9845 0.0000 +vn 0.7339 0.0143 0.6791 +vn 0.4147 0.0081 -0.9099 +vn 0.4147 0.0081 0.9099 +vn 0.3526 -0.9358 0.0000 +vn 0.9998 0.0195 0.0000 +vn 0.8889 -0.4581 0.0000 +vn -0.5700 0.8216 0.0000 +vn 0.7339 0.0143 -0.6791 +vn -0.2763 0.0326 -0.9605 +vn -0.7114 -0.7027 -0.0101 +vn -0.3230 0.0437 -0.9454 +vn -0.3328 0.0443 0.9420 +vn -0.9513 0.3072 -0.0249 +vn -0.6278 0.0742 0.7748 +vn -0.8793 0.4759 -0.0195 +vn -0.9921 -0.1238 -0.0203 +vn -0.9819 0.1873 -0.0273 +vn -0.9993 0.0260 -0.0253 +vn -0.5866 0.0662 -0.8072 +vn -0.4667 0.0527 0.8828 +vn 0.5257 0.8507 0.0000 +vn 0.4767 0.8791 0.0000 +vn 0.8418 0.5398 0.0000 +vn -0.0946 -0.0018 0.9955 +vn 0.0462 -0.0068 0.9989 +vn -0.0453 0.0051 0.9990 +vn -0.4274 0.1109 -0.8972 +vn -0.0453 0.0051 -0.9990 +vn 0.0462 -0.0068 -0.9989 +vn -0.6173 0.1367 -0.7748 +vn -0.5082 0.1382 -0.8501 +vn -0.6709 -0.7415 -0.0093 +vn 0.8774 0.4798 0.0000 +vn 0.9846 -0.1746 0.0000 +vn -0.4274 0.1109 0.8972 +vn -0.5082 0.1382 0.8501 +vn -0.5609 0.0000 0.8279 +vn 0.3824 -0.2113 -0.8995 +vn -0.0010 -0.0003 1.0000 +vn 0.3920 0.0000 -0.9200 +vn 0.0003 1.0000 -0.0010 +vn 0.0005 1.0000 -0.0009 +vn 0.3904 -0.0867 -0.9166 +vn 0.3902 -0.0862 -0.9167 +vn -0.5529 0.0976 0.8275 +vn 0.3824 -0.2113 0.8995 +vn -0.5529 0.0976 -0.8275 +vn 0.0004 -0.0004 1.0000 +vn -0.0005 -0.0002 -1.0000 +vn -0.5505 0.1181 0.8264 +vn 0.0003 0.0005 1.0000 +vn -0.6763 -0.7366 0.0000 +vn -0.5474 0.1418 -0.8247 +vn 0.3920 0.0000 0.9200 +vn 0.3917 -0.0010 0.9201 +vn -0.5609 -0.0000 -0.8279 +vn -0.9915 0.1302 0.0000 +vn -0.9778 0.2098 0.0000 +vn -0.9848 0.1738 0.0000 +vn -0.4100 0.9121 0.0000 +vn -0.5554 0.0729 0.8284 +vn 0.0262 -0.9997 0.0000 +vn 0.0797 0.9968 0.0000 +vn -0.5554 0.0729 -0.8284 +vn -0.5505 0.1181 -0.8264 +vn -0.1957 0.4353 0.8788 +vn 0.8752 -0.4837 -0.0000 +vn 0.9778 -0.2098 0.0000 +vn 0.9779 -0.2091 -0.0001 +vn 0.9765 -0.2154 0.0006 +vn 0.9765 -0.2157 0.0000 +vn 0.9765 -0.2157 0.0006 +vn 0.9969 0.0785 0.0000 +vn 0.3899 0.1121 0.9140 +vn 0.3903 -0.0837 0.9169 +vn 0.3906 -0.0843 0.9167 +vn -0.0053 -1.0000 0.0000 +vn 0.4679 0.0369 -0.8830 +vn 0.3903 -0.0837 -0.9169 +vn 0.3897 -0.0838 -0.9171 +vn 0.3903 -0.0832 -0.9169 +vn 0.0050 1.0000 -0.0007 +vn 0.0043 1.0000 0.0000 +vn 0.0035 1.0000 -0.0007 +vn 0.3898 -0.0859 0.9169 +vn 0.3902 -0.0862 0.9167 +vn 0.3906 -0.0858 0.9165 +vn 0.0000 -0.3875 -0.9219 +vn 0.0000 0.3875 -0.9219 vn -0.9726 -0.2149 -0.0890 vn 0.9560 0.1123 0.2711 vn -0.9726 0.0890 0.2149 @@ -2947,8 +4929,6 @@ vn 0.9560 -0.1123 0.2711 vn 0.9560 -0.2711 -0.1123 vn 0.9560 0.2711 -0.1123 vn -0.9615 0.2539 0.1052 -vn 0.0000 -0.3827 -0.9239 -vn 0.0000 0.3827 -0.9239 vn 0.9469 -0.1230 -0.2970 vn -0.9615 -0.1052 0.2539 vn -0.9615 -0.2539 -0.1052 @@ -2981,7 +4961,6 @@ vn -0.7567 0.6040 -0.2502 vn -0.7567 0.2502 0.6040 vn -0.7567 -0.6040 0.2502 vn -0.7567 -0.2502 -0.6040 -vn -1.0000 0.0000 0.0000 vn -0.3625 0.3567 0.8610 vn -0.3625 -0.8610 0.3567 vn -0.3625 -0.3567 -0.8610 @@ -2990,3507 +4969,3521 @@ vn -0.3625 0.8610 0.3567 vn -0.3625 -0.3567 0.8610 vn -0.3625 -0.8610 -0.3567 vn -0.0059 0.3827 -0.9239 -vn -0.0030 0.9249 -0.3803 -vn -0.0030 0.9249 0.3803 vn -0.0059 0.3827 0.9239 vn -0.0059 -0.3827 0.9239 -vn -0.0030 -0.9249 0.3803 -vn -0.0030 -0.9249 -0.3803 vn -0.0059 -0.3827 -0.9239 -vn 0.0169 0.3850 -0.9227 +vn 0.0341 0.3825 -0.9233 vn 0.0341 0.9233 -0.3825 vn 0.0341 0.9233 0.3825 vn 0.0341 0.3825 0.9233 vn 0.0341 -0.3825 0.9233 vn 0.0341 -0.9233 0.3825 vn 0.0341 -0.9233 -0.3825 -vn 0.0169 -0.3850 -0.9227 +vn 0.0341 -0.3825 -0.9233 vn -0.9966 -0.0761 -0.0315 vn 0.9966 -0.0762 0.0316 -vn -0.0215 -0.9247 -0.3802 +vn 0.0000 -0.9259 -0.3779 vn 0.9919 0.1173 0.0486 vn 0.9966 -0.0316 -0.0762 -vn -0.0215 -0.9247 0.3802 +vn 0.0000 -0.9259 0.3779 vn -0.9966 0.0315 -0.0761 vn -0.9907 -0.1260 0.0522 vn -0.9966 0.0761 0.0315 -vn 0.9966 0.0762 -0.0316 +vn 0.9966 0.0762 -0.0315 vn 0.9919 -0.1173 0.0486 vn -0.9907 -0.0522 -0.1260 -vn -0.0215 0.9247 0.3802 +vn 0.0000 0.9259 0.3779 vn 0.9919 -0.0486 -0.1173 vn 0.9966 0.0316 0.0762 -vn -0.0215 0.9247 -0.3802 +vn 0.0000 0.9259 -0.3779 vn -0.9966 -0.0761 0.0315 -vn -0.9907 0.1260 -0.0522 +vn -0.9907 0.1259 -0.0522 vn 0.9919 0.1173 -0.0486 vn -0.9907 0.0522 0.1260 -vn -0.9907 0.1260 0.0522 -vn -0.9907 0.0522 -0.1260 +vn -0.9907 0.1259 0.0522 +vn -0.9907 0.0522 -0.1259 vn 0.9966 0.0762 0.0316 -vn -0.9907 -0.1260 -0.0522 +vn -0.9907 -0.1259 -0.0522 vn 0.9966 0.0316 -0.0762 -vn -0.9907 -0.0522 0.1260 +vn -0.9907 -0.0522 0.1259 vn 0.9966 -0.0762 -0.0316 vn 0.9966 -0.0316 0.0762 vn 0.9919 0.0486 -0.1173 -vn -0.9966 -0.0315 0.0762 +vn -0.9966 -0.0316 0.0762 vn 0.9919 -0.1173 -0.0486 vn 0.9919 -0.0486 0.1173 -vn -0.9966 0.0315 0.0762 -vn -0.9966 0.0761 -0.0315 -vn 0.9919 0.0486 0.1173 +vn -0.9966 0.0315 0.0761 +vn -0.9966 0.0762 -0.0315 +vn 0.9919 0.0486 0.1174 vn -0.9966 -0.0315 -0.0761 -s off -f 549/1039/316 550/1040/316 551/1041/316 552/1042/316 -f 552/1042/317 551/1041/317 553/1043/317 554/1044/317 -f 554/1045/318 553/1046/318 555/1047/318 556/1048/318 -f 556/1048/319 555/1047/319 557/1049/319 558/1050/319 -f 558/1050/320 557/1049/320 559/1051/320 560/1052/320 -f 560/1052/321 559/1051/321 561/1053/321 562/1054/321 -f 551/1055/322 550/1056/322 563/1057/322 561/1058/322 559/1059/322 557/1060/322 555/1061/322 553/1062/322 -f 562/1054/323 561/1053/323 563/1063/323 564/1064/323 -f 564/1064/324 563/1063/324 550/1040/324 549/1039/324 -f 565/1065/325 566/1066/325 567/1067/325 568/1068/325 -f 569/1069/326 570/1070/326 571/1071/326 572/1072/326 -f 573/1073/327 574/1074/327 570/1070/327 569/1069/327 -f 575/1075/328 576/1076/328 577/1077/328 578/1078/328 -f 576/1076/329 565/1065/329 568/1079/329 577/1080/329 -f 566/1081/330 579/1082/330 580/1083/330 567/1084/330 -f 574/1074/331 581/1085/331 582/1086/331 570/1087/331 -f 579/1082/332 573/1073/332 569/1088/332 580/1089/332 -f 581/1085/333 575/1075/333 578/1090/333 582/1091/333 -f 583/1092/323 584/1093/323 585/1094/323 586/1095/323 -f 567/1084/334 580/1083/334 587/1096/334 588/1097/334 -f 577/1080/335 568/1079/335 589/1098/335 590/1099/335 -f 578/1078/336 577/1077/336 590/1099/336 584/1093/336 -f 570/1087/337 582/1086/337 583/1092/337 571/1071/337 -f 580/1089/338 569/1088/338 572/1072/338 587/1096/338 -f 568/1068/339 567/1067/339 588/1100/339 589/1098/339 -f 582/1091/340 578/1090/340 584/1093/340 583/1092/340 -f 591/1101/341 586/1095/341 592/1102/341 593/1103/341 -f 572/1072/320 571/1071/320 591/1101/320 594/1104/320 -f 588/1097/318 587/1096/318 595/1105/318 596/1106/318 -f 590/1099/342 589/1098/342 597/1107/342 598/1108/342 -f 584/1093/343 590/1099/343 598/1108/343 585/1094/343 -f 571/1071/321 583/1092/321 586/1095/321 591/1101/321 -f 587/1096/319 572/1072/319 594/1104/319 595/1105/319 -f 589/1098/317 588/1100/317 596/1109/317 597/1107/317 -f 599/1110/344 600/1111/344 601/1112/344 602/1113/344 -f 595/1105/345 594/1104/345 603/1114/345 604/1115/345 -f 597/1107/346 596/1109/346 605/1116/346 600/1117/346 -f 586/1095/347 585/1094/347 606/1118/347 592/1119/347 -f 594/1104/348 591/1101/348 593/1120/348 603/1121/348 -f 596/1106/349 595/1105/349 604/1122/349 605/1123/349 -f 598/1108/350 597/1107/350 600/1111/350 599/1110/350 -f 585/1094/351 598/1108/351 599/1124/351 606/1125/351 -f 607/1126/323 608/1127/323 609/1128/323 610/1129/323 -f 606/1125/352 599/1124/352 602/1113/352 608/1127/352 -f 593/1103/353 592/1102/353 607/1126/353 611/1130/353 -f 604/1115/354 603/1114/354 612/1131/354 613/1132/354 -f 600/1117/355 605/1116/355 614/1133/355 601/1112/355 -f 592/1119/356 606/1118/356 608/1127/356 607/1126/356 -f 603/1121/357 593/1120/357 611/1130/357 612/1131/357 -f 605/1123/358 604/1122/358 613/1132/358 614/1134/358 -f 615/1135/359 616/1136/359 617/1137/359 618/1138/359 -f 612/1131/320 611/1130/320 619/1139/320 620/1140/320 -f 614/1134/318 613/1132/318 621/1141/318 616/1142/318 -f 602/1113/342 601/1112/342 615/1135/342 622/1143/342 -f 608/1127/343 602/1113/343 622/1143/343 609/1128/343 -f 611/1130/321 607/1126/321 610/1129/321 619/1139/321 -f 613/1132/319 612/1131/319 620/1140/319 621/1141/319 -f 601/1112/317 614/1133/317 616/1136/317 615/1135/317 -f 623/1144/360 624/1145/360 625/1146/360 626/1147/360 -f 610/1129/361 609/1128/361 623/1148/361 627/1149/361 -f 620/1140/362 619/1139/362 628/1150/362 629/1151/362 -f 616/1142/363 621/1141/363 630/1152/363 617/1153/363 -f 622/1143/364 615/1135/364 618/1154/364 624/1155/364 -f 609/1128/365 622/1143/365 624/1145/365 623/1144/365 -f 619/1139/366 610/1129/366 627/1156/366 628/1157/366 -f 621/1141/367 620/1140/367 629/1158/367 630/1159/367 -f 631/1160/368 626/1161/368 632/1162/368 633/1163/368 -f 628/1157/369 627/1156/369 631/1164/369 634/1165/369 -f 630/1159/370 629/1158/370 635/1166/370 636/1167/370 -f 618/1138/371 617/1137/371 637/1168/371 638/1169/371 -f 627/1149/372 623/1148/372 626/1161/372 631/1160/372 -f 629/1151/373 628/1150/373 634/1170/373 635/1171/373 -f 617/1153/374 630/1152/374 636/1172/374 637/1173/374 -f 624/1155/375 618/1154/375 638/1174/375 625/1175/375 -f 639/1176/376 633/1177/376 640/1178/376 641/1179/376 -f 635/1171/377 634/1170/377 639/1180/377 642/1181/377 -f 637/1173/378 636/1172/378 643/1182/378 644/1183/378 -f 625/1175/379 638/1174/379 645/1184/379 646/1185/379 -f 626/1147/380 625/1146/380 646/1186/380 632/1187/380 -f 634/1165/381 631/1164/381 633/1177/381 639/1176/381 -f 636/1167/382 635/1166/382 642/1188/382 643/1189/382 -f 638/1169/383 637/1168/383 644/1190/383 645/1191/383 -f 647/1192/320 648/1193/320 649/1194/320 650/1195/320 -f 643/1189/376 642/1188/376 651/1196/376 652/1197/376 -f 645/1191/376 644/1190/376 653/1198/376 648/1199/376 -f 633/1163/376 632/1162/376 654/1200/376 640/1201/376 -f 642/1181/376 639/1180/376 641/1202/376 651/1203/376 -f 644/1183/376 643/1182/376 652/1204/376 653/1205/376 -f 646/1185/376 645/1184/376 648/1193/376 647/1192/376 -f 632/1187/376 646/1186/376 647/1206/376 654/1207/376 -f 650/1208/376 649/1209/376 655/1210/376 656/1211/376 657/1212/376 658/1213/376 659/1214/376 660/1215/376 -f 654/1207/319 647/1206/319 650/1216/319 660/1217/319 -f 641/1179/317 640/1178/317 659/1218/317 658/1219/317 -f 652/1197/343 651/1196/343 657/1220/343 656/1221/343 -f 648/1199/321 653/1198/321 655/1222/321 649/1223/321 -f 640/1201/318 654/1200/318 660/1224/318 659/1225/318 -f 651/1203/342 641/1202/342 658/1226/342 657/1227/342 -f 653/1205/323 652/1204/323 656/1228/323 655/1229/323 -f 575/1075/384 661/1230/384 662/1231/384 576/1076/384 -f 581/1085/385 663/1232/385 661/1230/385 575/1075/385 -f 574/1074/386 664/1233/386 663/1232/386 581/1085/386 -f 573/1073/387 665/1234/387 664/1233/387 574/1074/387 -f 579/1082/388 666/1235/388 665/1234/388 573/1073/388 -f 566/1081/389 667/1236/389 666/1235/389 579/1082/389 -f 565/1065/390 668/1237/390 667/1238/390 566/1066/390 -f 576/1076/391 662/1231/391 668/1237/391 565/1065/391 -f 669/1239/392 564/1064/392 549/1039/392 670/1240/392 -f 671/1241/393 562/1054/393 564/1064/393 669/1239/393 -f 672/1242/394 560/1052/394 562/1054/394 671/1241/394 -f 673/1243/395 558/1050/395 560/1052/395 672/1242/395 -f 674/1244/396 556/1048/396 558/1050/396 673/1243/396 -f 675/1245/397 554/1045/397 556/1048/397 674/1244/397 -f 676/1246/398 552/1042/398 554/1044/398 675/1247/398 -f 670/1240/399 549/1039/399 552/1042/399 676/1246/399 -f 662/1231/342 677/1248/342 678/1249/342 668/1237/342 -f 679/1250/400 680/1251/400 681/1252/400 682/1253/400 -f 683/1254/342 684/1255/342 685/1256/342 686/1257/342 -f 671/1258/401 669/1259/401 687/1260/401 688/1261/401 -f 668/1237/402 678/1249/402 689/1262/402 667/1238/402 -f 686/1263/403 690/1264/403 691/1265/403 692/1266/403 -f 686/1257/317 685/1256/317 693/1267/317 690/1268/317 -f 673/1269/404 672/1270/404 694/1271/404 695/1272/404 -f 667/1236/405 689/1273/405 696/1274/405 666/1235/405 -f 697/1275/406 696/1276/406 698/1277/406 699/1278/406 -f 690/1279/318 693/1280/318 700/1281/318 701/1282/318 -f 702/1283/407 703/1284/407 704/1285/407 705/1286/407 -f 666/1235/319 696/1274/319 697/1287/319 665/1234/319 -f 689/1288/408 678/1289/408 706/1290/408 707/1291/408 -f 701/1282/319 700/1281/319 708/1292/319 709/1293/319 -f 675/1294/409 674/1295/409 710/1296/409 711/1297/409 -f 665/1234/320 697/1287/320 680/1298/320 664/1233/320 -f 712/1299/410 713/1300/410 714/1301/410 715/1302/410 -f 709/1293/320 708/1292/320 716/1303/320 717/1304/320 -f 716/1305/411 708/1306/411 718/1307/411 719/1308/411 -f 664/1233/412 680/1298/412 679/1309/412 663/1232/412 -f 709/1310/413 717/1311/413 720/1312/413 721/1313/413 -f 717/1304/321 716/1303/321 703/1314/321 712/1315/321 -f 670/1316/414 676/1317/414 722/1318/414 723/1319/414 -f 663/1232/415 679/1309/415 724/1320/415 661/1230/415 -f 724/1321/416 679/1322/416 682/1253/416 725/1323/416 -f 712/1315/323 703/1314/323 702/1324/323 713/1325/323 -f 700/1326/417 693/1327/417 726/1328/417 727/1329/417 -f 661/1230/343 724/1320/343 677/1248/343 662/1231/343 -f 690/1330/418 701/1331/418 728/1332/418 691/1333/418 -f 713/1325/343 702/1324/343 684/1255/343 683/1254/343 -f 685/1334/419 684/1335/419 729/1336/419 730/1337/419 -f 729/1336/342 723/1319/342 722/1318/342 730/1337/342 -f 730/1337/317 722/1318/317 711/1338/317 726/1339/317 -f 726/1328/318 711/1297/318 710/1296/318 727/1329/318 -f 727/1329/319 710/1296/319 695/1272/319 718/1307/319 -f 718/1307/320 695/1272/320 694/1271/320 719/1308/320 -f 719/1308/321 694/1271/321 688/1261/321 704/1285/321 -f 704/1285/323 688/1261/323 687/1260/323 705/1286/323 -f 705/1286/343 687/1260/343 723/1319/343 729/1336/343 -f 693/1340/420 685/1341/420 730/1337/420 726/1339/420 -f 708/1342/421 700/1343/421 727/1329/421 718/1307/421 -f 676/1344/422 675/1345/422 711/1338/422 722/1318/422 -f 703/1346/423 716/1347/423 719/1308/423 704/1285/423 -f 674/1348/424 673/1349/424 695/1272/424 710/1296/424 -f 684/1350/425 702/1351/425 705/1286/425 729/1336/425 -f 672/1352/426 671/1353/426 688/1261/426 694/1271/426 -f 669/1354/427 670/1355/427 723/1319/427 687/1260/427 -f 731/1356/342 732/1357/342 692/1266/342 706/1290/342 -f 706/1290/317 692/1266/317 691/1265/317 707/1291/317 -f 707/1358/318 691/1333/318 728/1332/318 698/1277/318 -f 698/1277/319 728/1332/319 721/1313/319 699/1278/319 -f 699/1278/320 721/1313/320 720/1312/320 681/1252/320 -f 681/1252/321 720/1312/321 715/1302/321 682/1253/321 -f 682/1253/323 715/1302/323 714/1301/323 725/1323/323 -f 725/1323/343 714/1301/343 732/1357/343 731/1356/343 -f 701/1359/428 709/1360/428 721/1313/428 728/1332/428 -f 677/1361/429 724/1362/429 725/1323/429 731/1356/429 -f 717/1363/430 712/1364/430 715/1302/430 720/1312/430 -f 713/1365/431 683/1366/431 732/1357/431 714/1301/431 -f 678/1367/432 677/1368/432 731/1356/432 706/1290/432 -f 696/1369/433 689/1370/433 707/1358/433 698/1277/433 -f 683/1371/434 686/1372/434 692/1266/434 732/1357/434 -f 680/1373/435 697/1374/435 699/1278/435 681/1252/435 -o Grip_Cube.001 -v -1.325666 -0.019640 3.170554 -v -1.325666 0.137146 3.170554 -v -1.472478 0.148884 3.071087 -v -1.472478 -0.007902 3.071087 -v -1.325666 -0.019640 2.829446 -v -1.325666 0.137146 2.829446 -v -1.062875 0.137146 2.829446 -v -1.062875 -0.019640 2.829446 -v -1.130714 -0.142396 2.829446 -v -0.914155 -0.020276 2.892811 -v -0.981994 -0.143031 2.892811 -v -1.062875 -0.019640 3.170554 -v -1.062875 0.137146 3.170554 -v -0.914155 0.136510 2.892811 -v -1.259746 -0.728734 2.829446 -v -1.147611 -0.221161 2.829446 -v -0.998891 -0.221796 2.892811 -v -1.111026 -0.729370 2.892811 -v -1.346664 -0.179545 3.170554 -v -1.130714 -0.142396 3.170554 -v -1.346664 -0.179545 2.829446 -v -1.447785 -0.735647 3.170554 -v -1.363562 -0.258310 3.170554 -v -1.510373 -0.246572 3.071087 -v -1.594597 -0.723909 3.071087 -v -0.981994 -0.143031 3.107189 -v -0.914155 -0.020276 3.107189 -v -1.363562 -0.258310 2.829446 -v -1.447785 -0.735647 2.829446 -v -1.594597 -0.723909 2.928913 -v -1.510373 -0.246572 2.928913 -v -1.147611 -0.221161 3.170554 -v -1.259746 -0.728734 3.170554 -v -1.483874 -0.749924 3.170554 -v -1.219691 -0.868011 3.170554 -v -1.493475 -0.167807 3.071087 -v -1.483874 -0.751872 2.829446 -v -1.219691 -0.868011 2.829446 -v -0.914155 0.136510 3.107189 -v -1.472478 -0.007902 2.928913 -v -1.472478 0.148884 2.928913 -v -1.493475 -0.167807 2.928913 -v -1.630686 -0.740134 2.928913 -v -1.630686 -0.740134 3.071087 -v -0.998891 -0.221796 3.107189 -v -1.111026 -0.729370 3.107189 -v -1.100054 -0.868647 3.107189 -v -1.100054 -0.868647 2.892811 -vt 0.495816 0.528592 -vt 0.444632 0.528911 -vt 0.440297 0.471397 -vt 0.491177 0.470932 -vt 0.282573 0.528234 -vt 0.333716 0.528699 -vt 0.333553 0.614149 -vt 0.282755 0.613843 -vt 0.242508 0.592317 -vt 0.281795 0.666212 -vt 0.241263 0.645226 -vt 0.495309 0.614379 -vt 0.444469 0.614360 -vt 0.332850 0.666779 -vt 0.047162 0.550460 -vt 0.216648 0.586778 -vt 0.215631 0.639752 -vt 0.048294 0.604938 -vt 0.548343 0.521923 -vt 0.535717 0.592975 -vt 0.230173 0.521390 -vt 0.738670 0.486066 -vt 0.574234 0.516502 -vt 0.568535 0.459054 -vt 0.724885 0.427074 -vt 0.536722 0.646015 -vt 0.495988 0.666825 -vt 0.204360 0.515900 -vt 0.041140 0.485235 -vt 0.054329 0.426535 -vt 0.210200 0.458565 -vt 0.561660 0.587527 -vt 0.731929 0.551750 -vt 0.744574 0.473715 -vt 0.779174 0.567328 -vt 0.542981 0.464301 -vt 0.334470 0.132827 -vt 0.334470 0.038990 -vt 0.445386 0.038990 -vt 0.445387 0.133084 -vt 0.000088 0.565542 -vt 0.034734 0.473006 -vt 0.444846 0.667087 -vt 0.287393 0.470661 -vt 0.338208 0.471269 -vt 0.412478 0.429978 -vt 0.412380 0.480959 -vt 0.366151 0.480870 -vt 0.366248 0.429890 -vt 0.366348 0.377448 -vt 0.412578 0.377536 -vt 0.366398 0.351254 -vt 0.412628 0.351342 -vt 0.366699 0.193644 -vt 0.412928 0.193732 -vt 0.366723 0.180778 -vt 0.412953 0.180866 -vt 0.235698 0.463880 -vt 0.047562 0.415228 -vt 0.731595 0.415639 -vt 0.353968 0.713528 -vt 0.354065 0.662547 -vt 0.423773 0.662680 -vt 0.423676 0.713661 -vt 0.423589 0.759266 -vt 0.353881 0.759133 -vt 0.423539 0.785460 -vt 0.353831 0.785327 -vt 0.423216 0.954484 -vt 0.353508 0.954351 -vt 0.423129 0.999912 -vt 0.353422 0.999779 -vt 0.776716 0.612484 -vt 0.730434 0.606501 -vt 0.562445 0.640646 -vt 0.355074 0.000088 -vt 0.424782 0.000088 -vt 0.002168 0.610517 -vn -0.5609 0.0000 0.8279 -vn 0.0000 0.0000 -1.0000 -vn 0.0009 0.0005 -1.0000 -vn 0.3824 -0.2113 -0.8995 -vn 0.0000 0.0000 1.0000 -vn -0.0010 0.0003 1.0000 -vn 0.3920 0.0000 -0.9200 -vn 0.3915 0.0009 -0.9202 -vn 0.0005 1.0000 -0.0009 -vn 0.0000 1.0000 0.0000 -vn 0.0003 1.0000 -0.0010 -vn 0.3902 -0.0862 -0.9167 -vn 0.3907 -0.0861 -0.9165 -vn 0.3901 -0.0868 -0.9167 -vn -0.5529 0.0976 0.8275 -vn 0.3824 -0.2113 0.8995 -vn -0.5529 0.0976 -0.8275 -vn 0.0005 -0.0003 1.0000 -vn -0.0005 -0.0002 -1.0000 -vn -0.5505 0.1181 0.8264 -vn 0.0003 0.0005 1.0000 -vn 0.0000 -0.0006 -1.0000 -vn -0.4053 -0.9142 0.0026 -vn 0.3917 -0.0010 0.9201 -vn 0.3920 0.0000 0.9200 -vn -0.5609 0.0000 -0.8279 -vn -1.0000 0.0000 0.0000 -vn -0.9915 0.1302 0.0000 -vn -0.9778 0.2098 0.0000 -vn -0.9848 0.1738 0.0000 -vn -0.4100 0.9121 0.0000 -vn -0.5554 0.0729 0.8284 -vn -0.0731 -0.9973 0.0040 -vn 0.0797 0.9968 0.0000 -vn -0.5554 0.0729 -0.8284 -vn -0.3339 0.7427 -0.5805 -vn -0.5505 0.1181 -0.8264 -vn -0.3228 0.7637 0.5590 -vn 1.0000 0.0000 0.0000 -vn 0.8752 -0.4837 -0.0000 -vn 0.9778 -0.2098 -0.0000 -vn 0.9777 -0.2102 0.0004 -vn 0.9779 -0.2092 -0.0001 -vn 0.9765 -0.2157 0.0006 -vn 0.9765 -0.2154 0.0004 -vn 0.9765 -0.2157 0.0000 -vn 0.9969 0.0785 0.0000 -vn 0.4260 0.0780 0.9013 -vn 0.3903 -0.0837 0.9169 -vn 0.3899 -0.0842 0.9170 -vn 0.3907 -0.0841 0.9167 -vn -0.0053 -1.0000 0.0000 -vn 0.4260 0.0780 -0.9013 -vn 0.3903 -0.0832 -0.9169 -vn 0.3903 -0.0837 -0.9169 -vn 0.3898 -0.0838 -0.9171 -vn 0.0035 1.0000 -0.0006 -vn 0.0053 1.0000 -0.0001 -vn 0.0043 1.0000 0.0000 -vn 0.3898 -0.0858 0.9169 -vn 0.3902 -0.0862 0.9167 -vn 0.3906 -0.0858 0.9166 -s off -f 733/1375/436 734/1376/436 735/1377/436 736/1378/436 -f 737/1379/437 738/1380/437 739/1381/438 740/1382/437 -f 741/1383/439 740/1382/439 742/1384/439 743/1385/439 -f 744/1386/440 745/1387/441 734/1376/440 733/1375/440 -f 740/1382/442 739/1381/443 746/1388/442 742/1384/442 -f 739/1381/444 738/1380/445 734/1376/445 745/1387/446 -f 747/1389/447 748/1390/448 749/1391/449 750/1392/447 -f 744/1386/440 733/1375/440 751/1393/440 752/1394/440 -f 737/1379/437 740/1382/437 741/1383/437 753/1395/437 -f 754/1396/450 755/1397/450 756/1398/450 757/1399/450 -f 744/1386/451 752/1394/451 758/1400/451 759/1401/451 -f 760/1402/452 761/1403/452 762/1404/452 763/1405/452 -f 752/1394/440 751/1393/440 755/1397/440 764/1406/453 -f 753/1395/437 741/1383/437 748/1390/454 760/1402/437 -f 765/1407/440 754/1396/440 766/1408/440 767/1409/440 -f 755/1397/455 751/1393/455 768/1410/455 756/1398/455 -f 764/1406/456 755/1397/440 754/1396/440 765/1407/440 -f 760/1402/437 748/1390/457 747/1389/437 761/1403/437 -f 769/1411/458 770/1412/458 767/1413/458 766/1414/458 -f 761/1403/437 747/1389/437 770/1415/437 769/1416/437 -f 745/1387/459 744/1386/460 759/1401/460 771/1417/460 -f 738/1380/461 737/1379/461 772/1418/461 773/1419/461 -f 736/1420/462 735/1421/462 773/1422/462 772/1423/462 -f 736/1420/463 772/1423/463 774/1424/463 768/1425/463 -f 768/1425/464 774/1424/464 763/1426/464 756/1427/464 -f 756/1427/465 763/1426/465 762/1428/465 757/1429/465 -f 757/1429/466 762/1428/466 775/1430/466 776/1431/466 -f 751/1393/467 733/1375/467 736/1378/467 768/1410/467 -f 769/1411/468 766/1414/468 776/1431/468 775/1430/468 -f 734/1376/469 738/1380/469 773/1422/469 735/1421/469 -f 737/1379/470 753/1395/470 774/1432/470 772/1418/470 -f 761/1403/471 769/1416/471 775/1433/471 762/1404/471 -f 753/1395/472 760/1402/472 763/1405/472 774/1432/472 -f 766/1408/473 754/1396/473 757/1399/473 776/1434/473 -f 742/1435/474 746/1436/474 771/1437/474 759/1438/474 -f 742/1435/475 759/1438/475 758/1439/475 743/1440/475 -f 743/1440/476 758/1439/476 777/1441/477 749/1442/478 -f 749/1442/479 777/1441/480 778/1443/481 750/1444/481 -f 750/1444/482 778/1443/482 779/1445/482 780/1446/482 -f 765/1407/483 767/1409/483 779/1447/483 778/1448/483 -f 752/1394/484 764/1406/485 777/1449/486 758/1400/484 -f 767/1413/487 770/1412/487 780/1450/487 779/1451/487 -f 770/1415/488 747/1389/488 750/1392/488 780/1452/488 -f 748/1390/489 741/1383/490 743/1385/490 749/1391/491 -f 739/1381/492 745/1387/493 771/1437/494 746/1436/494 -f 764/1406/495 765/1407/496 778/1448/496 777/1449/497 -o HandleComfortThing_Cube.006 -v -1.508359 -0.214874 3.108693 -v -1.504838 -0.215309 2.893183 -v -1.564296 -0.274102 2.910781 -v -1.567402 -0.273718 3.089973 -v -1.348484 -0.928894 2.825721 -v -1.331423 -0.813343 2.825721 -v -1.263873 -0.855085 2.817547 -v -1.262042 -0.949106 2.817547 -v -1.263873 -0.855085 3.182453 -v -1.207149 -0.865197 3.174081 -v -1.207149 -0.865197 2.825919 -v -1.570189 -0.877055 3.143835 -v -1.435938 -0.379825 3.163084 -v -1.622805 -0.828855 3.096503 -v -1.262042 -0.949106 3.182453 -v -1.348484 -0.928894 3.174279 -v -1.435938 -0.379825 2.836916 -v -1.112852 -0.829663 3.130793 -v -1.112852 -0.829663 2.869207 -v -1.205319 -0.959218 2.825919 -v -1.205319 -0.959218 3.174081 -v -1.111021 -0.923684 3.130793 -v -1.072210 -0.848373 3.087270 -v -1.073111 -0.802094 3.087270 -v -1.111021 -0.923684 2.869207 -v -1.072210 -0.848373 2.912730 -v -1.073111 -0.802094 2.912730 -v -1.681696 -0.766817 2.927831 -v -1.689936 -0.702839 2.940395 -v -1.640119 -0.414721 2.927821 -v -1.619700 -0.829239 2.904046 -v -1.684682 -0.766448 3.071709 -v -1.643105 -0.414353 3.071698 -v -1.666879 -0.498637 2.940385 -v -1.669865 -0.498268 3.058900 -v -1.692922 -0.702470 3.058910 -v -1.690559 -0.607421 3.054481 -v -1.687573 -0.607789 2.944693 -v -1.331423 -0.813343 3.174279 -v -1.416650 -0.767127 2.821697 -v -1.416650 -0.767127 3.178303 -v -1.469005 -0.685482 2.828092 -v -1.469005 -0.685482 3.171908 -v -1.542909 -0.883434 2.838818 -v -1.516768 -0.889546 2.825611 -v -1.516768 -0.889546 3.174389 -v -1.542909 -0.883434 3.161182 -v -1.432626 -0.909220 2.821697 -v -1.432626 -0.909220 3.178303 -v -1.484962 -0.656299 2.841112 -v -1.570189 -0.877055 2.856165 -v -1.484962 -0.656299 3.158888 -vt 0.766671 0.048954 -vt 0.764142 0.169699 -vt 0.717619 0.158385 -vt 0.719660 0.057986 -vt 0.042513 0.365144 -vt 0.100642 0.395217 -vt 0.066109 0.423644 -vt 0.015965 0.407457 -vt 0.569776 0.563304 -vt 0.569776 0.767768 -vt 0.537491 0.763077 -vt 0.537491 0.567995 -vt 0.727808 0.563002 -vt 0.754866 0.275487 -vt 0.833210 0.204917 -vt 0.773959 0.549883 -vt 0.212049 0.200035 -vt 0.162307 0.204615 -vt 0.162307 0.000151 -vt 0.212049 0.004731 -vt 0.898905 0.574157 -vt 0.998844 0.605685 -vt 0.999849 0.726451 -vt 0.898904 0.756916 -vt 0.481028 0.738822 -vt 0.481028 0.592250 -vt 0.050295 0.452178 -vt 0.000151 0.435991 -vt 0.567644 0.488457 -vt 0.547535 0.537161 -vt 0.515547 0.530752 -vt 0.535656 0.482048 -vt 0.130023 0.199924 -vt 0.130023 0.004842 -vt 0.488806 0.442281 -vt 0.468697 0.490984 -vt 0.453927 0.439700 -vt 0.463825 0.415727 -vt 0.050295 0.513631 -vt 0.000151 0.497444 -vt 0.073559 0.175669 -vt 0.073559 0.029097 -vt 0.026087 0.151282 -vt 0.000151 0.151282 -vt 0.000151 0.053484 -vt 0.026087 0.053484 -vt 0.453927 0.714435 -vt 0.453927 0.616637 -vt 0.054374 0.549860 -vt 0.029692 0.541893 -vt 0.434697 0.361827 -vt 0.198019 0.204917 -vt 0.234409 0.210548 -vt 0.375642 0.293880 -vt 0.378192 0.156148 -vt 0.379610 0.048306 -vt 0.428848 0.062216 -vt 0.427492 0.142839 -vt 0.453625 0.405806 -vt 0.152314 0.227692 -vt 0.854471 0.247808 -vt 0.821023 0.529815 -vt 0.629927 0.065835 -vt 0.628389 0.146455 -vt 0.579211 0.138286 -vt 0.580423 0.071870 -vt 0.868174 0.336835 -vt 0.840364 0.498449 -vt 0.464907 0.069804 -vt 0.463716 0.136221 -vt 0.518136 0.073107 -vt 0.517022 0.134636 -vt 0.284278 0.229447 -vt 0.337590 0.261673 -vt 0.868174 0.386706 -vt 0.858265 0.448212 -vt 0.614269 0.567885 -vt 0.614269 0.763188 -vt 0.668593 0.565630 -vt 0.668593 0.765443 -vt 0.722938 0.569213 -vt 0.722938 0.761860 -vt 0.323927 0.192696 -vt 0.308885 0.200096 -vt 0.308884 0.004670 -vt 0.323927 0.012070 -vt 0.260467 0.202289 -vt 0.260466 0.002476 -vt 0.611663 0.480525 -vt 0.596973 0.544303 -vt 0.665618 0.473822 -vt 0.644946 0.551228 -vt 0.709766 0.441928 -vt 0.692917 0.558152 -vt 0.103015 0.268876 -vt 0.213001 0.340681 -vt 0.193552 0.345402 -vt 0.094041 0.283036 -vt 0.140668 0.358420 -vt 0.068278 0.324089 -vt 0.349630 0.418726 -vt 0.112923 0.253297 -vt 0.339625 0.182976 -vt 0.339625 0.021790 -vt 0.741574 0.576509 -vt 0.741574 0.754564 -vt 0.725950 0.430156 -vt 0.709519 0.560474 -vn -0.7044 0.7097 -0.0133 -vn -0.1026 0.0075 -0.9947 -vn 0.1755 0.9845 0.0000 -vn -0.5269 0.0940 0.8447 -vn -0.2277 -0.9737 0.0000 -vn 0.9190 0.3942 0.0057 -vn -0.3526 0.9358 0.0000 -vn 0.1465 0.0029 -0.9892 -vn 0.1465 0.0029 0.9892 -vn -0.1755 -0.9845 0.0000 -vn 0.7339 0.0143 0.6791 -vn 0.4147 0.0081 -0.9099 -vn 0.4147 0.0081 0.9099 -vn 0.3526 -0.9358 0.0000 -vn 0.9998 0.0195 0.0000 -vn 0.8889 -0.4581 0.0000 -vn -0.5700 0.8216 0.0000 -vn 0.7339 0.0143 -0.6791 -vn -0.3667 0.0433 -0.9293 -vn -0.7097 -0.7044 -0.0113 -vn -0.3211 0.0435 -0.9461 -vn -0.3371 0.0447 0.9404 -vn -0.9525 0.3038 -0.0225 -vn -0.3829 0.0452 0.9227 -vn -0.8802 0.4743 -0.0177 -vn -0.9916 -0.1277 -0.0222 -vn -0.9822 0.1862 -0.0263 -vn -0.9993 0.0248 -0.0262 -vn -0.5482 0.0619 -0.8340 -vn -0.5564 0.0629 0.8286 -vn 0.5257 0.8507 0.0000 -vn 0.4767 0.8791 0.0000 -vn 0.8418 0.5398 0.0000 -vn -0.1026 0.0075 0.9947 -vn 0.0452 -0.0058 0.9990 -vn -0.0616 0.0185 0.9979 -vn -0.4504 0.1202 -0.8847 -vn -0.0616 0.0185 -0.9979 -vn 0.0452 -0.0058 -0.9990 -vn -0.5492 0.1006 -0.8296 -vn -0.3469 0.0702 -0.9353 -vn -0.6850 -0.7286 -0.0038 -vn 0.8774 0.4798 0.0000 -vn 0.9846 -0.1746 0.0000 -vn -0.4504 0.1202 0.8847 -vn -0.3469 0.0702 0.9353 -s off -f 781/1453/498 782/1454/498 783/1455/498 784/1456/498 -f 785/1457/499 786/1458/499 787/1459/499 788/1460/499 -f 787/1461/500 789/1462/500 790/1463/500 791/1464/500 -f 792/1465/501 793/1466/501 781/1467/501 794/1468/501 -f 785/1469/502 788/1470/502 795/1471/502 796/1472/502 -f 797/1473/503 782/1474/503 781/1475/503 793/1476/503 -f 791/1464/504 790/1463/504 798/1477/504 799/1478/504 -f 788/1460/505 787/1459/505 791/1479/505 800/1480/505 -f 789/1481/506 795/1482/506 801/1483/506 790/1484/506 -f 795/1471/507 788/1470/507 800/1485/507 801/1486/507 -f 798/1487/508 802/1488/508 803/1489/508 804/1490/508 -f 800/1480/509 791/1479/509 799/1491/509 805/1492/509 -f 790/1484/510 801/1483/510 802/1488/510 798/1487/510 -f 801/1486/511 800/1485/511 805/1493/511 802/1494/511 -f 806/1495/512 807/1496/512 804/1497/512 803/1498/512 -f 802/1494/513 805/1493/513 806/1495/513 803/1498/513 -f 799/1478/514 798/1477/514 804/1499/514 807/1500/514 -f 805/1492/515 799/1491/515 807/1501/515 806/1502/515 -f 783/1503/516 808/1504/516 809/1505/516 810/1506/516 -f 811/1507/517 794/1508/517 812/1509/517 808/1510/517 -f 782/1511/518 811/1512/518 808/1504/518 783/1503/518 -f 794/1468/519 781/1467/519 784/1513/519 812/1514/519 -f 813/1515/520 810/1516/520 814/1517/520 815/1518/520 -f 812/1514/521 784/1513/521 813/1519/521 816/1520/521 -f 784/1456/522 783/1455/522 810/1516/522 813/1515/522 -f 808/1510/523 812/1509/523 816/1521/523 809/1522/523 -f 817/1523/524 815/1518/524 814/1517/524 818/1524/524 -f 809/1522/525 816/1521/525 817/1523/525 818/1524/525 -f 810/1506/526 809/1505/526 818/1525/526 814/1526/526 -f 816/1520/527 813/1519/527 815/1527/527 817/1528/527 -f 787/1461/528 786/1529/528 819/1530/528 789/1462/528 -f 786/1529/529 820/1531/529 821/1532/529 819/1530/529 -f 820/1531/530 822/1533/530 823/1534/530 821/1532/530 -f 824/1535/502 825/1536/502 826/1537/502 827/1538/502 -f 825/1536/502 828/1539/502 829/1540/502 826/1537/502 -f 828/1539/502 785/1469/502 796/1472/502 829/1540/502 -f 795/1482/531 789/1481/531 819/1541/531 796/1542/531 -f 796/1542/532 819/1541/532 821/1543/532 829/1544/532 -f 829/1544/533 821/1543/533 823/1545/533 826/1546/533 -f 824/1547/534 830/1548/534 822/1549/534 825/1550/534 -f 825/1550/535 822/1549/535 820/1551/535 828/1552/535 -f 828/1552/536 820/1551/536 786/1458/536 785/1457/536 -f 811/1512/537 782/1511/537 797/1553/537 831/1554/537 -f 831/1554/538 797/1553/538 830/1548/538 824/1547/538 -f 811/1507/539 831/1555/539 792/1556/539 794/1508/539 -f 831/1555/502 824/1535/502 827/1538/502 792/1556/502 -f 822/1533/540 830/1557/540 832/1558/540 823/1534/540 -f 830/1557/541 797/1473/541 793/1476/541 832/1558/541 -f 826/1546/542 823/1545/542 832/1559/542 827/1560/542 -f 827/1560/543 832/1559/543 793/1466/543 792/1465/543 -o HandleHilt_Cylinder.003 -v -1.464091 -0.996279 2.859949 -v -1.457375 -0.967729 2.859949 -v -1.339310 -0.995504 2.929974 -v -1.346026 -1.024054 2.929974 -v -1.339310 -0.995504 3.070026 -v -1.346026 -1.024054 3.070026 -v -1.457375 -0.967729 3.140051 -v -1.464091 -0.996279 3.140051 -v -1.575440 -0.939954 3.070026 -v -1.582156 -0.968503 3.070026 -v -1.343945 -0.917630 2.942875 -v -1.343945 -0.917630 3.057125 -v -1.575440 -0.939954 2.929974 -v -1.582156 -0.968503 2.929974 -v -1.482215 -1.073316 3.113549 -v -1.386492 -1.095835 3.056774 -v -1.440258 -0.894971 2.885751 -v -1.536572 -0.872313 2.942875 -v -1.536572 -0.872313 3.057125 -v -1.440258 -0.894971 3.114249 -v -1.577937 -1.050797 3.056774 -v -1.577937 -1.050797 2.943226 -v -1.539716 -1.059789 2.965895 -v -1.539716 -1.059789 3.034105 -v -1.482215 -1.073316 2.886451 -v -1.386492 -1.095835 2.943226 -v -1.482215 -1.073316 2.931790 -v -1.487302 -1.094942 2.940222 -v -1.537696 -1.083087 2.970111 -v -1.482215 -1.073316 3.068210 -v -1.424713 -1.086844 3.034105 -v -1.424713 -1.086844 2.965895 -v -1.436908 -1.106798 2.970111 -v -1.436908 -1.106798 3.029889 -v -1.487302 -1.094942 3.059778 -v -1.537696 -1.083087 3.029889 -vt 0.127792 0.499999 -vt 0.092894 0.499999 -vt 0.092896 0.333355 -vt 0.127794 0.333355 -vt 0.092894 0.166709 -vt 0.127793 0.166709 -vt 0.092891 0.000065 -vt 0.127790 0.000065 -vt 0.127791 0.999935 -vt 0.092893 0.999934 -vt 0.092892 0.833290 -vt 0.127789 0.833290 -vt 0.000070 0.318005 -vt 0.000069 0.182061 -vt 0.092892 0.666644 -vt 0.127789 0.666644 -vt 0.225837 0.015830 -vt 0.225840 0.150939 -vt 0.000065 0.817939 -vt 0.000065 0.681994 -vt 0.000068 0.484647 -vt 0.000070 0.348704 -vt 0.000069 0.151360 -vt 0.000065 0.015418 -vt 0.000066 0.651291 -vt 0.000067 0.515348 -vt 0.000066 0.984585 -vt 0.000065 0.848641 -vt 0.225839 0.817521 -vt 0.225839 0.682412 -vt 0.272559 0.709386 -vt 0.272559 0.790548 -vt 0.225840 0.515768 -vt 0.225839 0.650877 -vt 0.225839 0.849057 -vt 0.225839 0.984166 -vt 0.225841 0.182477 -vt 0.225842 0.317586 -vt 0.225842 0.349124 -vt 0.225840 0.484234 -vt 0.272559 0.623904 -vt 0.272560 0.542743 -vt 0.300386 0.547759 -vt 0.300385 0.618888 -vt 0.272558 0.042803 -vt 0.272559 0.123964 -vt 0.272561 0.376098 -vt 0.272561 0.457260 -vt 0.272559 0.876030 -vt 0.272559 0.957191 -vt 0.272561 0.209449 -vt 0.272562 0.290612 -vt 0.423583 0.118945 -vt 0.361985 0.154512 -vt 0.300385 0.118949 -vt 0.300384 0.047820 -vt 0.361982 0.012254 -vt 0.423582 0.047816 -vt 0.300385 0.881046 -vt 0.300386 0.952175 -vt 0.300387 0.214466 -vt 0.300388 0.285595 -vt 0.300385 0.714402 -vt 0.300385 0.785531 -vt 0.300387 0.381113 -vt 0.300387 0.452243 -vn 0.4867 -0.1145 -0.8660 -vn 0.9734 -0.2290 0.0000 -vn 0.4867 -0.1145 0.8660 -vn -0.4867 0.1145 0.8660 -vn 0.9982 0.0594 0.0000 -vn -0.9734 0.2290 0.0000 -vn -0.4867 0.1145 -0.8660 -vn 0.4037 -0.3811 0.8318 -vn -0.8670 0.4982 0.0000 -vn 0.5319 0.1691 -0.8297 -vn 0.5319 0.1691 0.8297 -vn -0.4007 0.3885 -0.8297 -vn -0.4007 0.3885 0.8297 -vn -0.2290 -0.9734 0.0000 -vn -0.5312 -0.1612 -0.8318 -vn -0.5312 -0.1612 0.8318 -vn 0.8711 -0.4911 0.0000 -vn -0.9987 -0.0512 0.0000 -vn 0.4037 -0.3811 -0.8318 -vn -0.5339 -0.1952 -0.8227 -vn -0.5339 -0.1952 0.8227 -vn 0.8533 -0.5215 0.0000 -vn -0.9963 -0.0864 0.0000 -vn 0.3909 -0.4127 0.8227 -vn 0.3909 -0.4127 -0.8227 -s off -f 833/1561/544 834/1562/544 835/1563/544 836/1564/544 -f 836/1564/545 835/1563/545 837/1565/545 838/1566/545 -f 838/1566/546 837/1565/546 839/1567/546 840/1568/546 -f 840/1569/547 839/1570/547 841/1571/547 842/1572/547 -f 837/1565/548 835/1563/548 843/1573/548 844/1574/548 -f 842/1572/549 841/1571/549 845/1575/549 846/1576/549 -f 846/1576/550 845/1575/550 834/1562/550 833/1561/550 -f 838/1566/551 840/1568/551 847/1577/551 848/1578/551 -f 845/1575/552 841/1571/552 851/1579/552 850/1580/552 -f 835/1563/553 834/1562/553 849/1581/553 843/1582/553 -f 839/1567/554 837/1565/554 844/1583/554 852/1584/554 -f 834/1562/555 845/1575/555 850/1585/555 849/1586/555 -f 841/1571/556 839/1570/556 852/1587/556 851/1588/556 -f 853/1589/557 854/1590/557 855/1591/557 856/1592/557 -f 846/1576/558 833/1561/558 857/1593/558 854/1594/558 -f 840/1569/559 842/1572/559 853/1595/559 847/1596/559 -f 836/1564/560 838/1566/560 848/1597/560 858/1598/560 -f 842/1572/561 846/1576/561 854/1590/561 853/1589/561 -f 833/1561/562 836/1564/562 858/1599/562 857/1600/562 -f 855/1601/563 859/1602/563 860/1603/563 861/1604/563 -f 848/1578/557 847/1577/557 862/1605/557 863/1606/557 -f 857/1600/557 858/1599/557 864/1607/557 859/1608/557 -f 854/1594/557 857/1593/557 859/1602/557 855/1601/557 -f 847/1596/557 853/1595/557 856/1609/557 862/1610/557 -f 858/1598/557 848/1597/557 863/1611/557 864/1612/557 -f 860/1613/557 865/1614/557 866/1615/557 867/1616/557 868/1617/557 861/1618/557 -f 862/1610/564 856/1609/564 868/1619/564 867/1620/564 -f 864/1612/565 863/1611/565 866/1621/565 865/1622/565 -f 856/1592/566 855/1591/566 861/1623/566 868/1624/566 -f 863/1606/567 862/1605/567 867/1616/567 866/1615/567 -f 859/1608/568 864/1607/568 865/1625/568 860/1626/568 -o HolographicHolder_Cylinder.009 -v -0.972691 1.166717 3.278124 -v -0.972691 1.166717 2.721876 -v -0.987438 1.166717 2.739678 -v -0.987438 1.166717 3.260322 -v -0.934937 1.102284 3.278124 -v -0.934937 1.102284 2.721876 -v -0.971860 1.037372 3.278124 -v -0.971860 1.037372 2.721876 -v -1.046537 1.036892 3.278124 -v -1.046537 1.036892 2.721876 -v -1.047369 1.166237 3.278124 -v -1.084291 1.101324 3.278124 -v -1.084291 1.101324 2.721876 -v -1.047368 1.166237 2.721876 -v -1.032621 1.166237 2.739678 -v -1.032621 1.166237 3.260322 -v -1.033084 1.202181 3.260322 -v -1.033084 1.202181 2.739678 -v -0.987902 1.202661 3.260322 -v -0.987902 1.202661 2.739678 -vt 0.183339 0.841202 -vt 0.183342 0.158794 -vt 0.201434 0.180634 -vt 0.201432 0.819360 -vt 0.091722 0.841201 -vt 0.091726 0.158793 -vt 0.000106 0.841201 -vt 0.000110 0.158793 -vt 0.549809 0.158794 -vt 0.549809 0.841202 -vt 0.458192 0.841202 -vt 0.458193 0.158794 -vt 0.274960 0.841202 -vt 0.320769 0.920549 -vt 0.274958 0.999893 -vt 0.183338 0.999893 -vt 0.137529 0.920547 -vt 0.366577 0.841202 -vt 0.366577 0.158794 -vt 0.274960 0.158794 -vt 0.137534 0.079449 -vt 0.183344 0.000106 -vt 0.274962 0.000107 -vt 0.320770 0.079451 -vt 0.693655 0.044206 -vt 0.693655 0.682938 -vt 0.649555 0.682938 -vt 0.649555 0.044206 -vt 0.256867 0.819362 -vt 0.256868 0.180635 -vt 0.594122 0.682938 -vt 0.594122 0.044206 -vt 0.594021 0.000106 -vt 0.649455 0.000106 -vt 0.550021 0.682938 -vt 0.550021 0.044206 -vt 0.649455 0.727038 -vt 0.594021 0.727038 -vn 0.0016 1.0000 -0.0012 -vn -0.0011 1.0000 -0.0016 -vn 0.0018 1.0000 0.0007 -vn 0.0013 1.0000 0.0015 -vn 0.8618 0.5072 0.0000 -vn 0.8635 0.5043 0.0014 -vn 0.8628 0.5055 0.0000 -vn 0.8692 -0.4944 0.0000 -vn 0.0064 -1.0000 0.0000 -vn -0.0015 0.0013 1.0000 -vn -0.0010 -0.0017 1.0000 -vn 0.0000 0.0000 1.0000 -vn -0.8628 -0.5056 0.0000 -vn -0.8692 0.4944 -0.0000 -vn -0.8692 0.4944 -0.0020 -vn -0.8699 0.4932 0.0014 -vn 0.0010 -0.0017 -1.0000 -vn 0.0018 0.0007 -1.0000 -vn 0.0000 0.0000 -1.0000 -vn -0.9999 -0.0119 0.0017 -vn -0.9999 -0.0109 -0.0005 -vn -0.9999 -0.0129 0.0000 -vn -0.0060 1.0000 0.0000 -vn -0.0076 1.0000 -0.0019 -vn -0.0100 1.0000 0.0000 -vn -0.0086 1.0000 0.0019 -vn 0.0007 1.0000 0.0018 -vn 0.0013 1.0000 -0.0015 -vn -0.0008 1.0000 -0.0018 -vn -0.0020 1.0000 -0.0001 -vn -0.0062 1.0000 0.0008 -vn -0.0065 1.0000 -0.0014 -vn -0.0088 1.0000 -0.0018 -vn -0.0106 0.9999 0.0000 -vn -0.0014 0.0014 -1.0000 -vn 0.0010 0.0018 -1.0000 -vn 0.9999 0.0129 -0.0020 -vn 0.9999 0.0143 0.0014 -vn 0.9999 0.0129 0.0000 -vn 0.0019 0.0005 1.0000 -vn -0.0000 0.0020 1.0000 -s off -f 869/1627/569 870/1628/570 871/1629/571 872/1630/572 -f 870/1628/573 869/1627/574 873/1631/575 874/1632/575 -f 874/1632/576 873/1631/576 875/1633/576 876/1634/576 -f 876/1635/577 875/1636/577 877/1637/577 878/1638/577 -f 869/1627/578 879/1639/579 880/1640/580 877/1641/580 875/1642/580 873/1643/580 -f 878/1638/581 877/1637/581 880/1644/581 881/1645/581 -f 881/1645/582 880/1644/582 879/1639/583 882/1646/584 -f 882/1646/585 870/1628/586 874/1647/587 876/1648/587 878/1649/587 881/1650/587 -f 883/1651/588 884/1652/589 885/1653/590 886/1654/590 -f 879/1639/591 869/1627/592 872/1630/593 884/1655/594 -f 882/1646/595 879/1639/596 884/1655/597 883/1656/598 -f 870/1628/592 882/1646/599 883/1656/600 871/1629/601 -f 886/1654/602 885/1653/602 887/1657/602 888/1658/602 -f 871/1659/603 883/1660/604 886/1654/587 888/1658/587 -f 872/1661/605 871/1662/606 888/1658/607 887/1657/607 -f 884/1663/608 872/1664/609 887/1657/580 885/1653/580 -o ring_Torus -v 0.990151 -0.648179 2.809159 -v 0.990151 -0.321606 2.625201 -v 1.068843 -0.322088 2.670631 -v 1.068843 -0.609076 2.832291 -v 1.068843 -0.323051 2.761491 -v 1.068843 -0.530870 2.878556 -v 0.990151 -0.323533 2.806922 -v 0.990151 -0.491768 2.901688 -v 0.911459 -0.323051 2.761491 -v 0.911459 -0.530870 2.878556 -v 0.911459 -0.322088 2.670631 -v 0.911459 -0.609076 2.832291 -v 0.990151 0.000993 2.816042 -v 1.068843 -0.038592 2.838340 -v 1.068843 -0.117761 2.882936 -v 0.990151 -0.157346 2.905234 -v 0.911459 -0.117761 2.882936 -v 0.911459 -0.038592 2.838340 -v 0.990151 -0.002981 3.190841 -v 1.068843 -0.042084 3.167709 -v 1.068843 -0.120290 3.121444 -v 0.990151 -0.159393 3.098312 -v 0.911459 -0.120290 3.121444 -v 0.911459 -0.042084 3.167709 -v 0.990151 -0.329554 3.374799 -v 1.068843 -0.329073 3.329369 -v 1.068843 -0.328109 3.238509 -v 0.990151 -0.327627 3.193079 -v 0.911459 -0.328109 3.238509 -v 0.911459 -0.329073 3.329369 -v 0.990151 -0.652153 3.183958 -v 1.068843 -0.612568 3.161660 -v 1.068843 -0.533399 3.117064 -v 0.990151 -0.493815 3.094766 -v 0.911459 -0.533399 3.117064 -v 0.911459 -0.612568 3.161660 -vt 0.000208 0.606690 -vt 0.297562 0.606690 -vt 0.279540 0.676487 -vt 0.018230 0.676486 -vt 0.243498 0.738915 -vt 0.054272 0.738915 -vt 0.225476 0.808712 -vt 0.072293 0.808712 -vt 0.072294 0.404668 -vt 0.225476 0.404668 -vt 0.243498 0.474465 -vt 0.054272 0.474465 -vt 0.279540 0.536893 -vt 0.018230 0.536893 -vt 0.297978 0.202229 -vt 0.595332 0.202230 -vt 0.577310 0.272027 -vt 0.315999 0.272026 -vt 0.541267 0.334455 -vt 0.352042 0.334454 -vt 0.523245 0.404252 -vt 0.370063 0.404251 -vt 0.370064 0.000208 -vt 0.523246 0.000208 -vt 0.541268 0.070005 -vt 0.352042 0.070005 -vt 0.577310 0.132433 -vt 0.315999 0.132433 -vt 0.797770 0.000208 -vt 0.797770 0.297561 -vt 0.727973 0.279540 -vt 0.727973 0.018229 -vt 0.665545 0.243497 -vt 0.665545 0.054272 -vt 0.595748 0.225476 -vt 0.595748 0.072294 -vt 0.999792 0.072294 -vt 0.999792 0.225476 -vt 0.929995 0.243497 -vt 0.929995 0.054272 -vt 0.867567 0.279540 -vt 0.867567 0.018229 -vt 0.297562 0.202230 -vt 0.000208 0.202229 -vt 0.018229 0.132432 -vt 0.279541 0.132434 -vt 0.054273 0.070005 -vt 0.243498 0.070005 -vt 0.072294 0.000208 -vt 0.225477 0.000208 -vt 0.225475 0.404252 -vt 0.072292 0.404251 -vt 0.054271 0.334454 -vt 0.243497 0.334455 -vt 0.018228 0.272026 -vt 0.279540 0.272027 -vt 0.595332 0.606690 -vt 0.297978 0.606690 -vt 0.316000 0.536893 -vt 0.577310 0.536894 -vt 0.352043 0.474465 -vt 0.541268 0.474465 -vt 0.370064 0.404668 -vt 0.523247 0.404669 -vt 0.523246 0.808712 -vt 0.370063 0.808712 -vt 0.352042 0.738915 -vt 0.541268 0.738915 -vt 0.316000 0.676487 -vt 0.577310 0.676487 -vt 0.797769 0.595331 -vt 0.797770 0.297977 -vt 0.867567 0.315999 -vt 0.867567 0.577309 -vt 0.929995 0.352042 -vt 0.929995 0.541267 -vt 0.999791 0.370063 -vt 0.999791 0.523245 -vt 0.595748 0.523245 -vt 0.595748 0.370063 -vt 0.665544 0.352042 -vt 0.665544 0.541266 -vt 0.727973 0.315999 -vt 0.727973 0.577309 -vn 0.4472 -0.4390 -0.7793 -vn 1.0000 0.0000 0.0000 -vn 0.4472 0.4390 0.7793 -vn -0.4472 0.4390 0.7793 -vn -1.0000 0.0000 0.0000 -vn -0.4472 -0.4390 -0.7793 -vn 0.4472 0.4554 -0.7698 -vn 0.4472 -0.4554 0.7698 -vn -0.4472 -0.4554 0.7698 -vn -0.4472 0.4554 -0.7698 -vn 0.4472 0.8944 0.0095 -vn 0.4472 -0.8944 -0.0095 -vn -0.4472 -0.8944 -0.0095 -vn -0.4472 0.8944 0.0095 -s off -f 889/1665/610 890/1666/610 891/1667/610 892/1668/610 -f 892/1668/611 891/1667/611 893/1669/611 894/1670/611 -f 894/1670/612 893/1669/612 895/1671/612 896/1672/612 -f 896/1673/613 895/1674/613 897/1675/613 898/1676/613 -f 898/1676/614 897/1675/614 899/1677/614 900/1678/614 -f 900/1678/615 899/1677/615 890/1666/615 889/1665/615 -f 890/1679/616 901/1680/616 902/1681/616 891/1682/616 -f 891/1682/611 902/1681/611 903/1683/611 893/1684/611 -f 893/1684/617 903/1683/617 904/1685/617 895/1686/617 -f 895/1687/618 904/1688/618 905/1689/618 897/1690/618 -f 897/1690/614 905/1689/614 906/1691/614 899/1692/614 -f 899/1692/619 906/1691/619 901/1680/619 890/1679/619 -f 901/1693/620 907/1694/620 908/1695/620 902/1696/620 -f 902/1696/611 908/1695/611 909/1697/611 903/1698/611 -f 903/1698/621 909/1697/621 910/1699/621 904/1700/621 -f 904/1701/622 910/1702/622 911/1703/622 905/1704/622 -f 905/1704/614 911/1703/614 912/1705/614 906/1706/614 -f 906/1706/623 912/1705/623 907/1694/623 901/1693/623 -f 907/1707/612 913/1708/612 914/1709/612 908/1710/612 -f 908/1710/611 914/1709/611 915/1711/611 909/1712/611 -f 909/1712/610 915/1711/610 916/1713/610 910/1714/610 -f 910/1715/615 916/1716/615 917/1717/615 911/1718/615 -f 911/1718/614 917/1717/614 918/1719/614 912/1720/614 -f 912/1720/613 918/1719/613 913/1708/613 907/1707/613 -f 913/1721/617 919/1722/617 920/1723/617 914/1724/617 -f 914/1724/611 920/1723/611 921/1725/611 915/1726/611 -f 915/1726/616 921/1725/616 922/1727/616 916/1728/616 -f 916/1729/619 922/1730/619 923/1731/619 917/1732/619 -f 917/1732/614 923/1731/614 924/1733/614 918/1734/614 -f 918/1734/618 924/1733/618 919/1722/618 913/1721/618 -f 919/1735/621 889/1736/621 892/1737/621 920/1738/621 -f 920/1738/611 892/1737/611 894/1739/611 921/1740/611 -f 921/1740/620 894/1739/620 896/1741/620 922/1742/620 -f 922/1743/623 896/1744/623 898/1745/623 923/1746/623 -f 923/1746/614 898/1745/614 900/1747/614 924/1748/614 -f 924/1748/622 900/1747/622 889/1736/622 919/1735/622 -o Roundthing_Cylinder.008 -v -0.654718 0.939467 3.338343 -v -0.745955 0.781575 3.338343 -v -0.745839 1.097427 3.338343 -v -0.757348 1.077508 3.380293 -v -0.677723 0.939476 3.380293 -v -1.019432 0.939601 3.338343 -v -0.928196 1.097493 3.338343 -v -0.928312 0.781642 3.338343 -v -0.916701 1.077567 3.380293 -v -0.996428 0.939592 3.380293 -v -0.949024 0.939575 3.380293 -v -0.893014 1.036505 3.380293 -v -0.916802 0.801560 3.380293 -v -0.757450 0.801501 3.380293 -v -0.781065 1.036464 3.380293 -v -0.884357 1.021497 3.419074 -v -0.789734 1.021463 3.419074 -v -0.781137 0.842563 3.380293 -v -0.893085 0.842604 3.380293 -v -0.725127 0.939493 3.380293 -v -0.931698 0.939569 3.419074 -v -0.877029 0.939549 3.419074 -v -0.857040 0.974142 3.419074 -v -0.884417 0.857606 3.419074 -v -0.742452 0.939499 3.419074 -v -0.789794 0.857571 3.419074 -v -0.817086 0.974128 3.419074 -v -0.857040 0.974142 3.317496 -v -0.817086 0.974128 3.317496 -v -0.817111 0.904926 3.419074 -v -0.857065 0.904940 3.419074 -v -0.797122 0.939519 3.419074 -v -0.797122 0.939519 3.317496 -v -0.877029 0.939549 3.317496 -v -0.857065 0.904940 3.317496 -v -0.817111 0.904926 3.317496 -v -0.745955 0.781575 2.661657 -v -0.654718 0.939467 2.661657 -v -0.677723 0.939476 2.619707 -v -0.757348 1.077508 2.619707 -v -0.745839 1.097427 2.661657 -v -0.928196 1.097493 2.661657 -v -1.019432 0.939601 2.661657 -v -0.928312 0.781642 2.661657 -v -0.916701 1.077567 2.619707 -v -0.893014 1.036505 2.619707 -v -0.949024 0.939575 2.619707 -v -0.996428 0.939593 2.619707 -v -0.916802 0.801560 2.619707 -v -0.757450 0.801502 2.619707 -v -0.781065 1.036464 2.619707 -v -0.789734 1.021463 2.580926 -v -0.884357 1.021497 2.580926 -v -0.893085 0.842604 2.619707 -v -0.781137 0.842563 2.619707 -v -0.725127 0.939493 2.619707 -v -0.857040 0.974142 2.580926 -v -0.877029 0.939549 2.580926 -v -0.931698 0.939569 2.580926 -v -0.884417 0.857606 2.580926 -v -0.789794 0.857571 2.580926 -v -0.742452 0.939499 2.580926 -v -0.817086 0.974128 2.580926 -v -0.817086 0.974128 2.682504 -v -0.857040 0.974142 2.682504 -v -0.857065 0.904940 2.580926 -v -0.817111 0.904926 2.580926 -v -0.797122 0.939519 2.580926 -v -0.797122 0.939519 2.682504 -v -0.817111 0.904926 2.682504 -v -0.857065 0.904940 2.682504 -v -0.877029 0.939549 2.682504 -vt 0.295914 0.225582 -vt 0.443817 0.225582 -vt 0.443818 0.774418 -vt 0.295914 0.774418 -vt 0.148010 0.225582 -vt 0.148010 0.774418 -vt 0.286585 0.812084 -vt 0.157340 0.812084 -vt 0.591720 0.225581 -vt 0.739623 0.225582 -vt 0.739623 0.774418 -vt 0.591721 0.774418 -vt 0.887527 0.225581 -vt 0.887527 0.774418 -vt 0.453146 0.812084 -vt 0.582392 0.812084 -vt 0.563168 0.845381 -vt 0.472370 0.845381 -vt 0.434489 0.812084 -vt 0.305243 0.812085 -vt 0.730295 0.812084 -vt 0.601050 0.812084 -vt 0.000107 0.774419 -vt 0.138682 0.812085 -vt 0.009436 0.812084 -vt 0.878198 0.812084 -vt 0.748953 0.812084 -vt 0.324467 0.845381 -vt 0.415265 0.845381 -vt 0.408239 0.879107 -vt 0.331494 0.879107 -vt 0.858974 0.845380 -vt 0.768176 0.845380 -vt 0.267361 0.845381 -vt 0.176564 0.845381 -vt 0.711071 0.845381 -vt 0.620273 0.845380 -vt 0.119458 0.845381 -vt 0.028660 0.845381 -vt 0.479397 0.879107 -vt 0.556142 0.879107 -vt 0.533972 0.917507 -vt 0.501567 0.917507 -vt 0.704044 0.879107 -vt 0.627299 0.879107 -vt 0.112432 0.879107 -vt 0.035686 0.879108 -vt 0.851948 0.879107 -vt 0.775202 0.879107 -vt 0.260335 0.879107 -vt 0.183589 0.879107 -vt 0.353664 0.917507 -vt 0.386069 0.917507 -vt 0.386068 0.999893 -vt 0.353663 0.999893 -vt 0.829778 0.917507 -vt 0.797372 0.917506 -vt 0.238166 0.917507 -vt 0.205760 0.917507 -vt 0.681875 0.917506 -vt 0.649469 0.917507 -vt 0.090261 0.917507 -vt 0.057857 0.917507 -vt 0.943867 0.113737 -vt 0.915803 0.129940 -vt 0.887739 0.113737 -vt 0.887739 0.081333 -vt 0.915803 0.065129 -vt 0.943867 0.081332 -vt 0.681876 0.999892 -vt 0.649470 0.999893 -vt 0.090260 0.999894 -vt 0.057856 0.999893 -vt 0.533971 0.999893 -vt 0.501567 0.999893 -vt 0.829776 0.999893 -vt 0.797370 0.999892 -vt 0.238167 0.999893 -vt 0.205762 0.999894 -vt 0.157339 0.187916 -vt 0.286584 0.187916 -vt 0.000106 0.225582 -vt 0.453146 0.187916 -vt 0.472370 0.154619 -vt 0.563167 0.154619 -vt 0.582391 0.187916 -vt 0.305242 0.187916 -vt 0.434488 0.187916 -vt 0.601048 0.187916 -vt 0.730294 0.187915 -vt 0.009435 0.187917 -vt 0.138680 0.187916 -vt 0.748952 0.187916 -vt 0.878197 0.187915 -vt 0.324466 0.154619 -vt 0.331493 0.120893 -vt 0.408238 0.120893 -vt 0.415264 0.154619 -vt 0.768176 0.154619 -vt 0.858973 0.154619 -vt 0.176563 0.154619 -vt 0.267360 0.154619 -vt 0.620273 0.154619 -vt 0.711071 0.154619 -vt 0.028658 0.154620 -vt 0.119456 0.154619 -vt 0.479396 0.120893 -vt 0.501566 0.082493 -vt 0.533971 0.082493 -vt 0.556141 0.120893 -vt 0.627299 0.120893 -vt 0.704044 0.120893 -vt 0.035685 0.120893 -vt 0.112430 0.120893 -vt 0.775202 0.120893 -vt 0.851947 0.120893 -vt 0.183588 0.120893 -vt 0.260334 0.120893 -vt 0.353663 0.082493 -vt 0.353662 0.000107 -vt 0.386067 0.000107 -vt 0.386068 0.082493 -vt 0.797372 0.082493 -vt 0.829777 0.082493 -vt 0.205759 0.082493 -vt 0.238164 0.082493 -vt 0.649468 0.082493 -vt 0.681874 0.082493 -vt 0.057855 0.082494 -vt 0.090259 0.082493 -vt 0.943870 0.016312 -vt 0.943867 0.048716 -vt 0.915802 0.064917 -vt 0.887739 0.048711 -vt 0.887742 0.016307 -vt 0.915807 0.000106 -vt 0.649469 0.000107 -vt 0.681875 0.000107 -vt 0.057854 0.000108 -vt 0.090258 0.000107 -vt 0.501566 0.000107 -vt 0.533970 0.000107 -vt 0.797370 0.000107 -vt 0.829776 0.000106 -vt 0.205760 0.000106 -vt 0.238166 0.000107 -vn 0.0004 1.0000 0.0000 -vn 0.8662 0.4997 0.0000 -vn 0.7825 0.4514 0.4290 -vn -0.8662 -0.4997 0.0000 -vn -0.0004 -1.0000 0.0000 -vn -0.8658 0.5003 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0003 0.9033 0.4290 -vn -0.7825 -0.4514 0.4290 -vn 0.7821 -0.4519 0.4290 -vn -0.7821 0.4519 0.4290 -vn -0.0003 -0.9033 0.4290 -vn 0.0003 0.9326 0.3608 -vn -0.8079 -0.4660 0.3608 -vn 0.8075 -0.4666 0.3608 -vn -0.8075 0.4666 0.3608 -vn -0.0003 -0.9326 0.3608 -vn 0.8079 0.4660 0.3608 -vn 0.8658 -0.5003 0.0000 -vn 0.7825 0.4514 -0.4290 -vn 0.0000 0.0000 -1.0000 -vn 0.0003 0.9033 -0.4290 -vn -0.7825 -0.4514 -0.4290 -vn 0.7821 -0.4519 -0.4290 -vn -0.7821 0.4519 -0.4290 -vn -0.0003 -0.9033 -0.4290 -vn 0.0003 0.9326 -0.3608 -vn -0.8079 -0.4660 -0.3608 -vn 0.8075 -0.4666 -0.3608 -vn -0.8075 0.4666 -0.3608 -vn -0.0003 -0.9326 -0.3608 -vn 0.8079 0.4660 -0.3608 -s off -f 965/1749/624 966/1750/624 931/1751/624 927/1752/624 -f 962/1753/625 965/1749/625 927/1752/625 925/1754/625 -f 925/1754/626 927/1752/626 928/1755/626 929/1756/626 -f 967/1757/627 968/1758/627 932/1759/627 930/1760/627 -f 968/1758/628 961/1761/628 926/1762/628 932/1759/628 -f 967/1757/629 930/1760/629 931/1751/629 966/1750/629 -f 933/1763/630 934/1764/630 935/1765/630 936/1766/630 -f 927/1752/631 931/1751/631 933/1767/631 928/1768/631 -f 930/1760/632 932/1759/632 937/1769/632 934/1770/632 -f 926/1771/633 925/1754/633 929/1772/633 938/1773/633 -f 931/1751/634 930/1760/634 934/1764/634 933/1763/634 -f 932/1759/635 926/1762/635 938/1774/635 937/1775/635 -f 939/1776/636 936/1777/636 940/1778/636 941/1779/636 -f 937/1775/630 938/1774/630 942/1780/630 943/1781/630 -f 929/1756/630 928/1755/630 939/1782/630 944/1783/630 -f 928/1768/630 933/1767/630 936/1777/630 939/1776/630 -f 934/1770/630 937/1769/630 943/1784/630 935/1785/630 -f 938/1773/630 929/1772/630 944/1786/630 942/1787/630 -f 940/1788/630 945/1789/630 946/1790/630 947/1791/630 -f 935/1785/637 943/1784/637 948/1792/637 945/1793/637 -f 942/1787/638 944/1786/638 949/1794/638 950/1795/638 -f 936/1766/639 935/1765/639 945/1789/639 940/1788/639 -f 943/1781/640 942/1780/640 950/1796/640 948/1797/640 -f 944/1783/641 939/1782/641 941/1798/641 949/1799/641 -f 951/1800/628 947/1801/628 952/1802/628 953/1803/628 -f 948/1797/630 950/1796/630 954/1804/630 955/1805/630 -f 949/1799/630 941/1798/630 951/1806/630 956/1807/630 -f 941/1779/630 940/1778/630 947/1801/630 951/1800/630 -f 945/1793/630 948/1792/630 955/1808/630 946/1809/630 -f 950/1795/630 949/1794/630 956/1810/630 954/1811/630 -f 957/1812/630 953/1813/630 952/1814/630 958/1815/630 959/1816/630 960/1817/630 -f 946/1809/625 955/1808/625 959/1818/625 958/1819/625 -f 954/1811/629 956/1810/629 957/1820/629 960/1821/629 -f 947/1791/642 946/1790/642 958/1822/642 952/1823/642 -f 955/1805/624 954/1804/624 960/1824/624 959/1825/624 -f 956/1807/627 951/1806/627 953/1826/627 957/1827/627 -f 962/1753/643 963/1828/643 964/1829/643 965/1749/643 -f 961/1830/642 962/1753/642 925/1754/642 926/1771/642 -f 969/1831/644 970/1832/644 971/1833/644 972/1834/644 -f 965/1749/645 964/1835/645 969/1836/645 966/1750/645 -f 967/1757/646 972/1837/646 973/1838/646 968/1758/646 -f 961/1830/647 974/1839/647 963/1840/647 962/1753/647 -f 966/1750/648 969/1831/648 972/1834/648 967/1757/648 -f 968/1758/649 973/1841/649 974/1842/649 961/1761/649 -f 975/1843/650 976/1844/650 977/1845/650 970/1846/650 -f 973/1841/644 978/1847/644 979/1848/644 974/1842/644 -f 963/1828/644 980/1849/644 975/1850/644 964/1829/644 -f 964/1835/644 975/1843/644 970/1846/644 969/1836/644 -f 972/1837/644 971/1851/644 978/1852/644 973/1838/644 -f 974/1839/644 979/1853/644 980/1854/644 963/1840/644 -f 977/1855/644 981/1856/644 982/1857/644 983/1858/644 -f 971/1851/651 983/1859/651 984/1860/651 978/1852/651 -f 979/1853/652 985/1861/652 986/1862/652 980/1854/652 -f 970/1832/653 977/1855/653 983/1858/653 971/1833/653 -f 978/1847/654 984/1863/654 985/1864/654 979/1848/654 -f 980/1849/655 986/1865/655 976/1866/655 975/1850/655 -f 987/1867/628 988/1868/628 989/1869/628 981/1870/628 -f 984/1863/644 990/1871/644 991/1872/644 985/1864/644 -f 986/1865/644 992/1873/644 987/1874/644 976/1866/644 -f 976/1844/644 987/1867/644 981/1870/644 977/1845/644 -f 983/1859/644 982/1875/644 990/1876/644 984/1860/644 -f 985/1861/644 991/1877/644 992/1878/644 986/1862/644 -f 993/1879/644 994/1880/644 995/1881/644 996/1882/644 989/1883/644 988/1884/644 -f 982/1875/625 996/1885/625 995/1886/625 990/1876/625 -f 991/1877/629 994/1887/629 993/1888/629 992/1878/629 -f 981/1856/642 989/1889/642 996/1890/642 982/1857/642 -f 990/1871/624 995/1891/624 994/1892/624 991/1872/624 -f 992/1873/627 993/1893/627 988/1894/627 987/1874/627 -o SideHolders.001_Cube.002 -v 1.310526 -0.082794 3.073582 -v 1.384588 0.101767 3.073582 -v 1.139921 0.101767 3.053905 -v 1.144858 -0.044123 3.053905 -v 1.384588 0.101767 2.930023 -v 1.504148 0.101767 3.073582 -v 1.504148 0.101767 2.930023 -v 1.430086 -0.082794 3.073582 -v 1.608182 -0.022025 3.051795 -v 1.577323 0.101767 3.051795 -v 1.430086 -0.082794 2.930023 -v 1.310526 -0.082794 2.930023 -v 1.577323 0.101767 2.951809 -v 1.608182 -0.022025 2.951809 -v 1.144858 -0.044123 2.949699 -v 1.139921 0.101767 2.949699 -v 1.384588 0.551670 3.654257 -v 1.384588 0.551670 3.449972 -v 1.139921 0.531994 3.449972 -v 1.139921 0.531994 3.558806 -v 1.384588 0.408111 3.449972 -v 1.504148 0.551670 3.449972 -v 1.504148 0.408111 3.449972 -v 1.504148 0.551670 3.654257 -v 1.577323 0.529883 3.613238 -v 1.577323 0.529883 3.449972 -v 1.504148 0.408111 3.654257 -v 1.384588 0.408111 3.654257 -v 1.577323 0.429898 3.449972 -v 1.577323 0.429898 3.613238 -v 1.139921 0.427787 3.558806 -v 1.139921 0.427787 3.449972 -v 1.384588 0.551670 2.345743 -v 1.139921 0.531994 2.441195 -v 1.139921 0.531994 2.550028 -v 1.384588 0.551670 2.550028 -v 1.384588 0.408111 2.550028 -v 1.504148 0.408111 2.550028 -v 1.504148 0.551670 2.550028 -v 1.577323 0.529883 2.550028 -v 1.577323 0.529883 2.386762 -v 1.504148 0.551670 2.345743 -v 1.504148 0.408111 2.345743 -v 1.384588 0.408111 2.345743 -v 1.577323 0.429898 2.550028 -v 1.577323 0.429898 2.386762 -v 1.139921 0.427787 2.441195 -v 1.139921 0.427787 2.550028 -vt 0.300882 0.683064 -vt 0.346645 0.797105 -vt 0.194976 0.797301 -vt 0.197840 0.707149 -vt 0.346645 0.885811 -vt 0.420522 0.797105 -vt 0.420522 0.885811 -vt 0.374758 0.683064 -vt 0.485753 0.720233 -vt 0.467698 0.796970 -vt 0.660845 0.885811 -vt 0.660845 0.797105 -vt 0.734722 0.797105 -vt 0.734722 0.885811 -vt 0.374758 0.999852 -vt 0.300882 0.999852 -vt 0.465737 0.872350 -vt 0.465737 0.810568 -vt 0.544569 0.810568 -vt 0.544569 0.872350 -vt 0.467698 0.885946 -vt 0.485753 0.962683 -vt 0.105267 0.873653 -vt 0.105267 0.809264 -vt 0.195464 0.809264 -vt 0.195464 0.873653 -vt 0.197840 0.975767 -vt 0.194976 0.885615 -vt 0.000148 0.885811 -vt 0.000148 0.797105 -vt 0.380856 0.000148 -vt 0.380856 0.126376 -vt 0.229187 0.126376 -vt 0.229187 0.059127 -vt 0.380856 0.215082 -vt 0.454733 0.126376 -vt 0.454733 0.215082 -vt 0.454733 0.000148 -vt 0.501909 0.025494 -vt 0.501909 0.126376 -vt 0.652665 0.215082 -vt 0.652665 0.126376 -vt 0.726542 0.126376 -vt 0.726542 0.215082 -vt 0.454733 0.341311 -vt 0.380856 0.341311 -vt 0.499948 0.201620 -vt 0.499948 0.139839 -vt 0.600830 0.139839 -vt 0.600830 0.201620 -vt 0.501909 0.215082 -vt 0.501909 0.315965 -vt 0.162426 0.202924 -vt 0.162426 0.138534 -vt 0.229675 0.138534 -vt 0.229675 0.202924 -vt 0.229187 0.282331 -vt 0.229187 0.215082 -vt 0.000148 0.215082 -vt 0.000148 0.126376 -vt 0.380855 0.682769 -vt 0.229186 0.623789 -vt 0.229186 0.556540 -vt 0.380855 0.556540 -vt 0.380855 0.467835 -vt 0.454732 0.467835 -vt 0.454732 0.556540 -vt 0.501909 0.556540 -vt 0.501908 0.657423 -vt 0.454732 0.682769 -vt 0.652664 0.467835 -vt 0.726541 0.467835 -vt 0.726541 0.556540 -vt 0.652664 0.556540 -vt 0.380855 0.341606 -vt 0.454732 0.341606 -vt 0.499947 0.481297 -vt 0.600829 0.481297 -vt 0.600829 0.543078 -vt 0.499947 0.543078 -vt 0.501908 0.366952 -vt 0.501908 0.467835 -vt 0.162426 0.479993 -vt 0.229674 0.479993 -vt 0.229675 0.544383 -vt 0.162426 0.544383 -vt 0.229186 0.467835 -vt 0.229186 0.400586 -vt 0.000148 0.467835 -vt 0.000148 0.556540 -vn -0.0936 0.0196 0.9954 -vn 0.0000 1.0000 0.0000 -vn 0.1766 -0.0247 0.9840 -vn 0.0000 -1.0000 -0.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.0000 1.0000 -vn 0.9703 0.2419 0.0000 -vn 0.3229 -0.9464 -0.0000 -vn 0.1766 -0.0247 -0.9840 -vn -0.9994 -0.0338 -0.0000 -vn -0.0936 0.0196 -0.9954 -vn -0.2273 -0.9738 0.0000 vn -0.0802 0.9968 0.0000 vn 0.2854 0.9584 0.0000 -vn 1.0000 0.0000 0.0000 vn 0.4890 0.0000 0.8723 vn 0.2854 -0.9584 0.0000 -vn -1.0000 0.0000 0.0000 vn -0.0802 -0.9968 0.0000 vn -0.3634 0.0000 0.9316 vn 0.4890 0.0000 -0.8723 -vn -0.3634 0.0000 -0.9316 -s off -f 997/1895/656 998/1896/656 999/1897/656 1000/1898/656 -f 1001/1899/657 998/1896/657 1002/1900/657 1003/1901/657 -f 1002/1900/658 1004/1902/658 1005/1903/658 1006/1904/658 -f 1007/1905/659 1004/1906/659 997/1907/659 1008/1908/659 -f 1001/1899/660 1003/1901/660 1007/1909/660 1008/1910/660 -f 1002/1900/661 998/1896/661 997/1895/661 1004/1902/661 -f 1009/1911/662 1006/1912/662 1005/1913/662 1010/1914/662 -f 1003/1901/657 1002/1900/657 1006/1912/657 1009/1911/657 -f 1004/1906/663 1007/1905/663 1010/1914/663 1005/1913/663 -f 1007/1909/664 1003/1901/664 1009/1915/664 1010/1916/664 -f 1011/1917/665 1000/1918/665 999/1919/665 1012/1920/665 -f 1001/1899/666 1008/1910/666 1011/1921/666 1012/1922/666 -f 998/1896/657 1001/1899/657 1012/1920/657 999/1919/657 -f 1008/1923/667 997/1924/667 1000/1918/667 1011/1917/667 -f 1013/1925/668 1014/1926/668 1015/1927/668 1016/1928/668 -f 1017/1929/660 1014/1926/660 1018/1930/660 1019/1931/660 -f 1018/1930/669 1020/1932/669 1021/1933/669 1022/1934/669 -f 1023/1935/661 1020/1936/661 1013/1937/661 1024/1938/661 -f 1017/1929/659 1019/1931/659 1023/1939/659 1024/1940/659 -f 1018/1930/657 1014/1926/657 1013/1925/657 1020/1932/657 -f 1025/1941/670 1022/1942/670 1021/1943/670 1026/1944/670 -f 1019/1931/660 1018/1930/660 1022/1942/660 1025/1941/660 -f 1020/1936/671 1023/1935/671 1026/1944/671 1021/1943/671 -f 1023/1939/672 1019/1931/672 1025/1945/672 1026/1946/672 -f 1027/1947/673 1016/1948/673 1015/1949/673 1028/1950/673 -f 1017/1929/674 1024/1940/674 1027/1951/674 1028/1952/674 -f 1014/1926/660 1017/1929/660 1028/1950/660 1015/1949/660 -f 1024/1953/675 1013/1954/675 1016/1948/675 1027/1947/675 -f 1029/1955/668 1030/1956/668 1031/1957/668 1032/1958/668 -f 1033/1959/661 1034/1960/661 1035/1961/661 1032/1958/661 -f 1035/1961/669 1036/1962/669 1037/1963/669 1038/1964/669 -f 1039/1965/660 1040/1966/660 1029/1967/660 1038/1968/660 -f 1033/1959/659 1040/1969/659 1039/1970/659 1034/1960/659 -f 1035/1961/657 1038/1964/657 1029/1955/657 1032/1958/657 -f 1041/1971/670 1042/1972/670 1037/1973/670 1036/1974/670 -f 1034/1960/661 1041/1971/661 1036/1974/661 1035/1961/661 -f 1038/1968/676 1037/1973/676 1042/1972/676 1039/1965/676 -f 1039/1970/672 1042/1975/672 1041/1976/672 1034/1960/672 -f 1043/1977/673 1044/1978/673 1031/1979/673 1030/1980/673 -f 1033/1959/674 1044/1981/674 1043/1982/674 1040/1969/674 -f 1032/1958/661 1031/1979/661 1044/1978/661 1033/1959/661 -f 1040/1983/677 1043/1977/677 1030/1980/677 1029/1984/677 -o Trigger_Cube.008 -v -0.906556 -0.031746 3.035327 -v -0.906556 -0.031746 2.964673 -v -0.750972 -0.031746 2.964673 -v -0.750972 -0.031746 3.035327 -v -0.891840 -0.172320 2.964673 -v -0.891840 -0.172320 3.035327 -v -0.858049 -0.254618 3.035327 -v -0.773318 -0.237178 3.035327 -v -0.781494 -0.172320 3.035327 -v -0.781494 -0.172320 2.964673 -v -0.752234 -0.268743 3.035327 -v -0.752234 -0.268743 2.964673 -v -0.773318 -0.237178 2.964673 -v -0.858049 -0.254618 2.964673 -v -0.786277 -0.298175 3.035327 -v -0.786277 -0.298175 2.964673 -vt 0.732975 0.555968 -vt 0.732975 0.444032 -vt 0.960872 0.444032 -vt 0.960872 0.555968 -vt 0.629883 0.999902 -vt 0.501865 0.816180 -vt 0.634112 0.701846 -vt 0.816347 0.838695 -vt 0.816347 0.161306 -vt 0.634112 0.298154 -vt 0.501866 0.183820 -vt 0.629884 0.000098 -vt 0.457090 0.682536 -vt 0.576709 0.615643 -vt 0.629409 0.555968 -vt 0.569271 0.555968 -vt 0.569271 0.444032 -vt 0.629409 0.444032 -vt 0.576709 0.384356 -vt 0.457091 0.317464 -vt 0.224023 0.444032 -vt 0.364968 0.444032 -vt 0.364968 0.555968 -vt 0.224023 0.555967 -vt 0.497976 0.555968 -vt 0.497976 0.444032 -vt 0.000098 0.555967 -vt 0.000098 0.444032 -vn 0.9772 -0.2122 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.8316 0.5554 0.0000 -vn 0.9921 0.1251 0.0000 -vn -0.9251 -0.3798 0.0000 -vn 0.6540 -0.7565 0.0000 -vn -0.5188 -0.8549 0.0000 -vn -0.9946 -0.1041 0.0000 -s off -f 1053/1985/678 1054/1986/678 1047/1987/678 1048/1988/678 -f 1045/1989/679 1050/1990/679 1053/1991/679 1048/1992/679 -f 1047/1993/680 1054/1994/680 1049/1995/680 1046/1996/680 -f 1050/1990/679 1051/1997/679 1052/1998/679 1053/1991/679 -f 1052/1999/681 1055/2000/681 1056/2001/681 1057/2002/681 -f 1054/1994/680 1057/2003/680 1058/2004/680 1049/1995/680 -f 1053/1985/682 1052/1999/682 1057/2002/682 1054/1986/682 -f 1049/2005/683 1058/2006/683 1051/2007/683 1050/2008/683 -f 1056/2001/684 1055/2000/684 1059/2009/684 1060/2010/684 -f 1058/2006/685 1060/2010/685 1059/2009/685 1051/2007/685 -f 1051/1997/679 1059/2009/679 1055/2000/679 1052/1998/679 -f 1057/2003/680 1056/2001/680 1060/2010/680 1058/2004/680 -f 1049/2005/686 1050/2008/686 1045/2011/686 1046/2012/686 -o TriggerGuard_Cube.007 -v -0.991593 0.009137 3.090896 -v -0.991593 0.050129 3.090896 -v -0.991593 0.050129 2.909104 -v -0.991593 0.009137 2.909104 -v -0.359255 0.050129 2.909104 -v -0.359255 0.009137 2.909104 -v -0.359255 0.050129 3.090896 -v -0.359255 0.009137 3.090896 -v -0.952793 -0.032302 3.079741 -v -0.475801 -0.032302 3.079741 -v -0.398056 -0.032302 3.079741 -v -0.952793 -0.032302 2.920259 -v -0.477062 -0.032302 2.920259 -v -0.398056 -0.032302 2.920259 -v -0.547697 -0.243266 2.920259 -v -0.468691 -0.243266 2.920259 -v -0.417833 -0.308250 2.920259 -v -0.496840 -0.308250 2.920259 -v -0.468691 -0.243266 3.079741 -v -0.546437 -0.243266 3.079741 -v -0.495579 -0.308250 3.079741 -v -0.884730 -0.317360 2.926286 -v -0.883469 -0.317360 3.085769 -v -0.417833 -0.308250 3.079741 -v -0.548320 -0.390292 3.079741 -v -0.549581 -0.390292 2.920259 -v -0.470574 -0.390292 2.920259 -v -0.470574 -0.390292 3.079741 -v -0.933383 -0.398929 2.926286 -v -0.932122 -0.398929 3.085769 -v -1.071287 -0.315922 3.087949 -v -1.072548 -0.315922 2.928467 -v -1.022634 -0.234353 3.087949 -v -1.023895 -0.234353 2.928467 -vt 0.956076 0.222809 -vt 0.956106 0.245106 -vt 0.612150 0.245577 -vt 0.612119 0.223279 -vt 0.589852 0.245607 -vt 0.612285 0.344461 -vt 0.589988 0.344491 -vt 0.612315 0.366758 -vt 0.956241 0.343990 -vt 0.956272 0.366288 -vt 0.935199 0.389660 -vt 0.675742 0.390014 -vt 0.633453 0.390072 -vt 0.724411 0.676828 -vt 0.465641 0.676037 -vt 0.465221 0.589286 -vt 0.724676 0.590079 -vt 0.633193 0.199908 -vt 0.676167 0.199849 -vt 0.934939 0.199494 -vt 0.559100 0.338466 -vt 0.558982 0.251717 -vt 0.714431 0.085044 -vt 0.671457 0.085103 -vt 0.643744 0.049793 -vt 0.686720 0.049734 -vt 0.438087 0.338631 -vt 0.437968 0.251882 -vt 0.714322 0.504715 -vt 0.672032 0.504773 -vt 0.344631 0.676928 -vt 0.344210 0.590177 -vt 0.299324 0.590176 -vt 0.299745 0.676927 -vt 0.088672 0.676342 -vt 0.088251 0.589590 -vt 0.393201 0.338693 -vt 0.393082 0.251943 -vt 0.686706 0.540101 -vt 0.644417 0.540159 -vt 0.297859 0.338823 -vt 0.297055 0.252076 -vt 0.340030 0.252017 -vt 0.340149 0.338766 -vt 0.715456 0.584688 -vt 0.673166 0.584746 -vt 0.672371 0.005128 -vt 0.715347 0.005069 -vt 0.088240 0.255640 -vt 0.089045 0.342389 -vt 0.000907 0.343793 -vt 0.000102 0.257045 -vt 0.924132 0.000102 -vt 0.897728 0.044507 -vt 0.897730 0.544750 -vt 0.924255 0.589082 -vt 0.999898 0.045153 -vt 0.973494 0.089559 -vt 0.000523 0.676182 -vt 0.000102 0.589431 -vt 0.973372 0.499490 -vt 0.999898 0.543823 -vn 0.0000 0.0000 -1.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -0.2599 0.9656 -vn 0.0000 1.0000 0.0000 -vn 0.0000 -1.0000 -0.0000 -vn 0.0000 -0.2599 -0.9656 -vn 0.7300 -0.6835 -0.0000 -vn 0.9483 -0.3175 0.0000 -vn -0.9482 0.3175 0.0075 -vn -0.0235 0.9997 0.0002 -vn -0.0233 0.9997 0.0014 -vn -0.0222 0.9998 0.0002 -vn 0.7875 0.6163 0.0000 -vn -0.7875 -0.6163 0.0062 -vn 0.8412 -0.5408 -0.0000 -vn -0.5122 -0.8588 0.0053 -vn -0.5132 -0.8582 0.0046 -vn -0.5122 -0.8589 0.0040 -vn -0.0158 0.0098 -0.9998 -vn -0.0152 0.0109 -0.9998 -vn -0.0146 0.0096 -0.9998 -vn 0.0158 -0.0098 0.9998 -vn 0.0151 -0.0109 0.9998 -vn 0.0170 -0.0103 0.9998 -vn 0.0225 -0.9997 -0.0002 +vn -0.3635 0.0000 -0.9316 +vn -0.1189 -0.0040 0.9929 +vn 0.2846 0.0710 0.9560 +vn 0.9703 0.2419 0.0000 +vn 0.3229 -0.9464 0.0000 +vn 0.1401 -0.0562 -0.9885 +vn -0.9994 -0.0338 -0.0000 +vn -0.0801 0.0322 -0.9963 +vn -0.2273 -0.9738 0.0000 +vn 0.0000 0.3632 0.9317 +vn 0.0000 0.0717 0.9974 +vn -0.2430 0.4146 0.8769 +vn 0.0167 -0.9999 0.0000 +vn -0.2238 0.2670 0.9374 +vn 0.0000 0.3632 -0.9317 +vn 0.0000 0.0717 -0.9974 +vn -0.1148 0.0713 0.9908 +vn -0.4819 -0.8762 0.0000 +vn -0.2445 0.9696 0.0000 +vn 0.5997 0.8003 0.0000 +vn 0.2631 0.3512 0.8986 +vn 0.9589 0.2839 0.0000 +vn -0.8655 0.5010 0.0000 +vn -0.0911 0.3614 -0.9279 +vn 0.1538 0.5175 -0.8417 +vn 0.0000 0.4274 0.9040 +vn -0.6183 0.7860 -0.0009 +vn -0.0001 0.4296 -0.9030 +vn 0.7944 -0.6074 0.0000 +vn -0.7944 -0.6074 0.0000 +vn 0.9838 -0.1658 0.0687 +vn -0.8418 0.2066 0.4987 +vn -0.9846 -0.0670 0.1617 +vn -0.9846 -0.0670 -0.1617 +vn 0.9838 0.1658 -0.0687 +vn 0.9838 -0.1658 -0.0687 +vn 0.4296 0.3456 0.8343 +vn 0.4296 -0.3456 -0.8343 +vn 0.4296 0.3456 -0.8343 +vn 0.4296 0.8343 0.3456 +vn 0.4296 -0.3456 0.8343 +vn -0.0913 0.8947 0.4372 +vn 0.8293 -0.2138 0.5162 +vn 0.8293 0.5162 -0.2138 +vn 0.0464 -0.8899 0.4538 +vn 0.8293 0.2138 -0.5162 +vn 0.8293 -0.2138 -0.5162 +vn 0.8293 0.5162 0.2138 +vn -0.8418 -0.2066 0.4987 +vn -0.0166 -0.3826 -0.9238 +vn -0.0166 0.3826 -0.9238 +vn -0.0166 0.3826 0.9238 +vn -0.0165 -0.9238 -0.3826 +vn 0.1008 -0.2962 -0.9498 +vn 0.0000 -0.3828 -0.9239 +vn -0.8680 0.4588 0.1900 +vn -0.8680 -0.1900 -0.4588 +vn 0.8623 0.1938 -0.4678 +vn -0.8680 -0.4588 -0.1900 +vn 0.8623 0.1938 0.4678 +vn 0.9838 0.0687 0.1658 +vn -0.9846 -0.1617 -0.0670 +vn 0.9838 -0.0687 -0.1658 +vn 0.9838 -0.0687 0.1658 +vn 0.9838 0.0687 -0.1658 +vn -0.9846 0.0670 0.1617 +vn 0.0915 0.3811 0.9200 +vn 0.0915 0.3811 -0.9200 +vn 0.0915 -0.3811 -0.9200 +vn -0.8680 0.1900 -0.4588 +vn -0.8680 0.1900 0.4588 +vn 0.8623 0.4678 -0.1938 +vn 0.8623 -0.1938 0.4678 +vn 0.8623 -0.1938 -0.4678 +vn 0.2182 0.3735 0.9016 +vn -0.0497 0.9227 -0.3822 +vn 0.2182 -0.3735 -0.9016 +vn 0.2182 -0.9016 0.3735 +vn 0.2182 -0.9016 -0.3735 +vn 0.2182 -0.3735 0.9016 +vn -0.0497 0.9227 0.3822 +vn -0.0497 0.3822 -0.9227 +vn -0.0497 -0.3822 -0.9227 +vn -0.0497 -0.3822 0.9227 +vn -0.0497 0.3822 0.9227 +vn 0.3223 -0.8746 -0.3623 +vn 0.3223 0.3623 0.8746 +vn 0.3223 0.3623 -0.8746 +vn 0.3223 0.8746 -0.3623 +vn 0.3223 -0.3623 -0.8746 +vn 0.0000 0.9649 -0.2626 +vn -0.1533 0.3782 0.9130 +vn 0.8293 0.2138 0.5162 +vn -0.1218 0.9170 -0.3798 +vn 0.7075 0.6639 -0.2423 +vn 0.0068 -1.0000 0.0000 +vn 0.6287 0.0000 0.7776 +vn -0.0166 0.9238 -0.3826 +vn -0.8680 0.4588 -0.1900 +vn -0.6679 0.7442 0.0000 +vn -0.6040 -0.2625 -0.7525 +vn -0.6040 -0.2625 0.7525 +vn -0.0187 0.9998 0.0000 +vn -0.0453 -0.3552 -0.9337 +vn 0.0951 -0.3032 -0.9482 +vn 0.1008 -0.2962 0.9498 +vn 0.0915 -0.9200 -0.3811 +vn 0.2182 0.9016 0.3735 +vn 0.3223 -0.3623 0.8746 +vn 0.0951 -0.3032 0.9482 +vn 0.9838 0.1658 0.0687 +vn 0.4296 -0.8343 -0.3456 +vn -0.0165 -0.3826 0.9238 +vn -0.0165 -0.9238 0.3826 +vn 0.8623 -0.4678 -0.1938 +vn 0.2182 0.3735 -0.9016 +vn 0.6968 0.6616 0.2771 +vn -0.9996 -0.0199 0.0200 +vn 0.0915 0.9200 -0.3811 +vn -0.0453 -0.3552 0.9337 +vn -0.8418 -0.4987 0.2066 +vn -0.0497 -0.9227 0.3822 +vn -0.8418 0.4987 0.2066 +vn 0.3746 -0.9272 0.0000 +vn 0.0000 -0.8730 -0.4877 +vn 0.0000 -0.4721 0.8815 +vn 0.0120 -0.3847 0.9230 +vn 0.3071 -0.7601 0.5727 +vn 0.1144 -0.4166 0.9019 +vn 0.1144 -0.4166 -0.9019 +vn -0.9846 0.1617 0.0670 +vn 0.4296 -0.8343 0.3456 +vn 0.0915 0.9200 0.3811 +vn 0.4296 0.8343 -0.3456 +vn 0.8623 -0.4678 0.1938 +vn -0.0497 -0.9227 -0.3822 +vn 0.3223 0.8746 0.3623 +vn 0.8293 -0.5162 -0.2138 +vn -0.9846 -0.1617 0.0670 +vn 0.9997 -0.0244 0.0000 +vn -0.0476 -0.3025 -0.9520 +vn 0.0120 -0.3847 -0.9230 +vn 0.0000 -0.9012 -0.4335 +vn 0.0000 -0.8684 0.4959 +vn -0.0054 -0.3046 0.9525 +vn -0.0054 -0.3046 -0.9525 +vn -0.0047 0.8931 0.4497 +vn -0.0882 0.3033 0.9488 +vn -0.0827 0.3007 -0.9501 +vn 0.0271 0.9095 0.4149 +vn 0.1157 0.9174 -0.3807 +vn 0.0881 0.3478 -0.9334 +vn 0.0018 0.3018 -0.9534 +vn -0.0090 0.9031 -0.4294 +vn -0.0160 0.9203 0.3908 +vn -0.0214 0.3851 0.9226 +vn -0.9952 -0.0952 0.0245 +vn 0.0000 0.5505 -0.8349 +vn -0.9938 0.1009 -0.0477 +vn 0.9884 0.1326 -0.0741 +vn 0.0000 -0.7129 -0.7012 +vn 0.9976 -0.0694 0.0010 +vn 0.0049 -0.9714 0.2372 +vn -0.0045 0.8583 -0.5131 +vn 0.0014 -0.3780 -0.9258 +vn 0.9905 0.1284 -0.0490 +vn 0.0049 -0.9716 0.2367 +vn -0.9957 -0.0410 -0.0837 +vn 0.9959 -0.0250 -0.0874 +vn -0.0046 0.8581 -0.5135 +vn -0.9919 0.1050 -0.0715 +vn 0.9172 -0.1506 -0.3689 +vn 0.0046 -0.9528 -0.3036 +vn -0.0031 0.5229 -0.8524 +vn 0.0017 -0.3780 -0.9258 +vn -0.0028 0.4716 -0.8818 +vn -0.8491 -0.1997 -0.4891 +vn 0.8460 -0.1961 -0.4958 +vn 0.0018 -0.3780 -0.9258 +vn -0.0026 0.4282 -0.9037 +vn -0.8941 -0.1750 -0.4123 +vn 0.8917 -0.1711 -0.4191 +vn 0.0045 -0.9351 -0.3544 +vn 0.0044 -0.9187 -0.3950 +vn -0.9196 -0.1544 -0.3613 +vn -0.5507 -0.3194 -0.7712 +vn 0.0050 -0.9715 0.2371 +vn 0.0000 -0.9012 0.4335 +vn 0.0000 0.8607 -0.5091 +vn 0.0015 0.8611 -0.5085 +vn -0.8418 0.2066 -0.4987 +vn -0.8418 -0.2066 -0.4987 +vn -0.8680 -0.1900 0.4588 +vn -0.8680 -0.4588 0.1900 +vn -0.9846 0.0670 -0.1617 +vn 0.0915 -0.3811 0.9200 +vn 0.8623 0.4678 0.1938 +vn 0.3223 -0.8746 0.3623 +vn 0.6287 0.0000 -0.7776 +vn -0.0165 0.9238 0.3826 +vn 0.0915 -0.9200 0.3811 +vn 0.2182 0.9016 -0.3735 +vn 0.1948 -0.9808 0.0000 +vn -0.8418 -0.4987 -0.2066 +vn -0.8418 0.4987 -0.2066 +vn -0.9846 0.1617 -0.0670 +vn 0.8293 -0.5162 0.2138 +vn -0.1409 0.9049 -0.4015 +vn 0.1561 0.3805 0.9115 +vn 1.0000 0.0017 -0.0001 +vn -0.2273 -0.8997 -0.3727 +vn -0.0913 0.8947 -0.4372 +vn 0.0864 0.8928 -0.4421 +vn -0.2272 -0.8997 0.3727 +vn -0.1218 0.9170 0.3798 +vn -0.1971 -0.3752 -0.9058 +vn -0.1970 -0.3752 0.9058 +vn -0.1533 0.3782 -0.9130 +vn 1.0000 0.0017 0.0004 +vn 1.0000 -0.0017 -0.0001 +vn 1.0000 0.0017 -0.0093 +vn 0.9999 0.0008 -0.0108 +vn 0.0864 0.8928 0.4421 +vn 0.0000 0.9649 0.2626 +vn 0.0000 0.8607 0.5091 +vn -0.0016 0.8610 0.5087 +vn 0.0005 0.9245 0.3812 +vn 0.0014 -0.3780 0.9258 +vn 0.0050 -0.9664 -0.2571 +vn -0.5507 -0.3194 0.7712 +vn -0.9140 -0.1581 0.3736 +vn 0.0053 -0.9195 0.3932 +vn 0.0057 -0.9362 0.3516 +vn 0.0017 -0.3780 0.9258 +vn 0.8917 -0.1711 0.4191 +vn -0.8883 -0.1782 0.4232 +vn -0.0032 0.4293 0.9031 +vn 0.0018 -0.3780 0.9258 +vn 0.8460 -0.1961 0.4958 +vn -0.8491 -0.1997 0.4891 +vn -0.0036 0.4732 0.8809 +vn -0.0038 0.5242 0.8516 +vn 0.0056 -0.9534 0.3016 +vn 0.9172 -0.1506 0.3689 +vn -0.9919 0.1050 0.0715 +vn -0.0046 0.8581 0.5135 +vn 0.9959 -0.0250 0.0874 +vn -0.9957 -0.0410 0.0837 +vn 0.0049 -0.9716 -0.2367 +vn 0.9905 0.1284 0.0490 +vn -0.0045 0.8583 0.5131 +vn 0.0049 -0.9714 -0.2372 +vn 0.9976 -0.0694 -0.0010 +vn 0.0000 -0.7129 0.7012 +vn 0.9884 0.1326 0.0741 +vn -0.9938 0.1009 0.0476 +vn 0.0000 0.5505 0.8349 +vn -0.9952 -0.0952 -0.0245 +vn 1.0000 -0.0030 0.0052 +vn 1.0000 -0.0017 0.0040 +vn 1.0000 -0.0008 0.0055 +vn 0.0464 -0.8899 -0.4538 +vn 0.0000 -0.8684 -0.4959 +vn -0.0476 -0.3025 0.9520 +vn 0.0000 -0.4721 -0.8815 +vn -0.2513 0.8942 0.3704 +vn -0.2513 -0.3704 0.8942 +vn -0.2513 0.8942 -0.3704 +vn -0.2513 -0.8942 -0.3704 +vn -0.2513 0.3704 0.8942 +vn -0.2513 0.3704 -0.8942 +vn -0.2513 -0.3704 -0.8942 +vn -0.2513 -0.8942 0.3704 +vn 0.8327 0.2119 -0.5115 +vn 0.8327 0.5115 0.2119 +vn 0.8327 -0.2119 0.5115 +vn 0.8327 -0.5115 -0.2119 +vn 0.8328 0.5115 -0.2119 +vn 0.8327 0.2119 0.5115 +vn 0.8327 -0.5115 0.2119 +vn 0.8327 -0.2119 -0.5115 +vn 0.5165 -0.7911 0.3277 +vn 0.5165 -0.3277 -0.7911 +vn 0.5164 0.3277 -0.7911 +vn 0.5165 0.7911 0.3277 +vn 0.5165 -0.3277 0.7911 +vn 0.5164 -0.7911 -0.3277 +vn 0.5164 0.7911 -0.3277 +vn 0.5165 0.3277 0.7911 +vn 0.8327 0.5115 -0.2119 +vn 0.5165 -0.7911 -0.3277 +vn 0.5165 0.3277 -0.7911 +vn -0.9087 0.4175 0.0000 +vn -0.4846 0.8748 0.0000 +vn 0.5399 0.8417 0.0000 +vn -0.6812 -0.7321 0.0000 +vn 0.9972 0.0747 0.0000 +vn -0.9087 -0.4175 0.0000 +vn -0.4846 -0.8748 0.0000 +vn 0.5399 -0.8417 0.0000 +vn -0.6812 0.7321 0.0000 +vn 0.9972 -0.0747 0.0000 +vn -0.9087 0.0000 0.4175 +vn -0.4846 0.0000 0.8748 +vn 0.5399 0.0000 0.8417 +vn -0.6812 -0.0000 -0.7321 +vn 0.9972 0.0000 0.0747 +vn -0.9087 0.0000 -0.4175 +vn -0.4846 0.0000 -0.8748 +vn 0.5399 0.0000 -0.8417 +vn -0.6812 -0.0000 0.7321 +vn 0.9972 0.0000 -0.0747 +vn -0.9087 0.2952 0.2952 +vn -0.4846 0.6185 0.6185 +vn 0.5399 0.5952 0.5952 +vn -0.6812 -0.5177 -0.5177 +vn 0.9972 0.0528 0.0528 +vn 0.0000 -0.7071 0.7071 +vn -0.9087 -0.2952 -0.2952 +vn -0.4846 -0.6185 -0.6185 +vn 0.5399 -0.5952 -0.5952 +vn -0.6812 0.5177 0.5177 +vn 0.9972 -0.0528 -0.0528 +vn 0.0000 0.7071 -0.7071 +vn -0.9087 -0.2952 0.2952 +vn -0.4846 -0.6185 0.6185 +vn 0.5399 -0.5952 0.5952 +vn -0.6812 0.5177 -0.5177 +vn 0.9972 -0.0528 0.0528 +vn 0.0000 -0.7071 -0.7071 +vn -0.9087 0.2952 -0.2952 +vn -0.4846 0.6185 -0.6185 +vn 0.5399 0.5952 -0.5952 +vn -0.6812 -0.5177 0.5177 +vn 0.9972 0.0528 -0.0528 +vn -0.0000 0.7071 0.7071 +vn -0.5000 -0.3505 0.7920 +vn -0.5000 -0.3505 -0.7920 +vn 0.4999 -0.3505 -0.7920 +vn 0.0000 0.7558 0.6549 +vn -0.9545 0.2981 0.0000 +vn 0.9792 -0.2029 -0.0000 +vn 1.0000 0.0012 -0.0021 +vn 1.0000 -0.0099 0.0001 +vn 0.5057 -0.3083 -0.8057 +vn -0.0010 0.0022 1.0000 +vn -0.0024 -0.0002 1.0000 +vn 0.0024 0.0001 -1.0000 +vn 0.0006 0.0024 -1.0000 +vn -0.0444 -0.5183 0.8540 +vn -0.0480 -0.5123 -0.8575 +vn -0.2050 -0.5011 0.8407 +vn -0.0303 0.5186 0.8545 +vn -0.2276 -0.4268 -0.8752 +vn -0.0436 0.5184 -0.8541 +vn -0.0837 0.9965 -0.0043 +vn -0.8999 0.4360 0.0000 +vn -0.0223 0.9998 0.0006 +vn -0.5132 -0.8583 0.0046 +vn -0.0159 0.0095 -0.9998 +vn -0.0152 0.0106 -0.9998 +vn -0.0148 0.0090 -0.9999 +vn 0.0158 -0.0101 0.9998 +vn 0.0170 -0.0105 0.9998 vn 0.0220 -0.9998 -0.0014 -vn 0.0238 -0.9997 -0.0002 +vn 0.0237 -0.9997 0.0003 +vn -0.8588 0.5122 0.0068 vn -0.0123 0.0059 -0.9999 vn -0.0127 0.0076 -0.9999 -vn -0.0116 0.0069 -0.9999 vn 0.5123 0.8588 -0.0053 vn 0.5112 0.8595 -0.0039 -vn 0.5122 0.8589 -0.0040 -vn 0.0126 -0.0061 0.9999 +vn 0.0126 -0.0062 0.9999 vn 0.0105 -0.0062 0.9999 -vn 0.0116 -0.0069 0.9999 +vn -0.0003 -0.9326 0.3608 +vn 0.8078 0.4660 0.3608 +vn -0.0003 -0.9326 -0.3609 +vn 0.8078 0.4660 -0.3608 +vn 0.8635 0.5043 0.0015 +vn -0.0016 0.0013 1.0000 +vn 0.0017 -0.0010 1.0000 +vn -0.0010 -0.0018 1.0000 +vn -0.8692 0.4944 -0.0020 +vn -0.8693 0.4943 0.0020 +vn 0.0010 -0.0017 -1.0000 +vn 0.0016 -0.0013 -1.0000 +vn 0.0017 0.0010 -1.0000 +vn -0.9999 -0.0109 -0.0005 +vn -0.0047 1.0000 -0.0010 +vn -0.0064 1.0000 -0.0020 +vn -0.0049 1.0000 0.0013 +vn 0.0006 0.0019 -1.0000 +vn 0.9999 0.0143 0.0013 +vn 0.0020 0.0002 1.0000 +vn -0.0000 0.0020 1.0000 +vn -0.5312 -0.1612 -0.8318 +vn -0.5312 -0.1612 0.8317 +vn -0.7050 0.7091 -0.0129 +vn -0.1102 0.0163 -0.9938 +vn -0.4866 0.0734 0.8705 +vn 0.9138 0.4059 0.0141 +vn -0.6209 0.0733 -0.7804 +vn -0.7075 -0.7066 -0.0129 +vn -0.3195 0.0434 -0.9466 +vn -0.3426 0.0452 0.9384 +vn -0.9534 0.3010 -0.0206 +vn -0.2953 0.0349 0.9548 +vn -0.8809 0.4730 -0.0163 +vn -0.9909 -0.1325 -0.0246 +vn -0.9824 0.1852 -0.0253 +vn -0.9994 0.0236 -0.0273 +vn -0.4566 0.0515 -0.8882 +vn -0.5938 0.0671 0.8018 +vn -0.1102 0.0163 0.9938 +vn 0.0445 -0.0050 0.9990 +vn -0.0753 0.0298 0.9967 +vn -0.4737 0.1296 -0.8711 +vn -0.0753 0.0298 -0.9967 +vn 0.0445 -0.0050 -0.9990 +vn -0.5089 0.0800 -0.8571 +vn -0.2460 0.0289 -0.9688 +vn -0.6947 -0.7193 0.0000 +vn -0.4737 0.1296 0.8711 +vn -0.2460 0.0289 0.9688 +vn 0.0009 0.0005 -1.0000 +vn -0.0010 0.0003 1.0000 +vn 0.3915 0.0009 -0.9202 +vn -0.0004 1.0000 -0.0010 +vn 0.3907 -0.0861 -0.9165 +vn 0.3901 -0.0868 -0.9167 +vn 0.0006 0.0001 1.0000 +vn -0.0006 0.0000 -1.0000 +vn -0.0000 -0.0006 -1.0000 +vn -0.1957 0.4353 -0.8788 +vn -0.5474 0.1418 0.8247 +vn 0.9777 -0.2102 0.0004 +vn 0.9778 -0.2095 0.0005 +vn 0.9766 -0.2151 0.0002 +vn 0.4679 0.0369 0.8830 +vn 0.3899 -0.0842 0.9170 +vn 0.3909 -0.0838 0.9166 +vn 0.3899 0.1121 -0.9140 +vn 0.3898 -0.0835 -0.9171 +vn 0.0053 1.0000 -0.0001 +vn 0.3901 -0.0856 0.9168 +vn 0.0038 -0.3827 -0.9239 +vn 0.0038 0.3827 -0.9239 +vn -0.0059 0.9258 -0.3779 +vn -0.0059 0.9258 0.3779 +vn -0.0059 -0.9258 0.3779 +vn -0.0059 -0.9258 -0.3779 +vn 0.0340 0.3825 0.9233 +vn 0.0340 -0.3825 0.9233 +vn 0.0340 -0.9233 0.3825 +vn 0.0340 -0.9233 -0.3825 +vn -0.0434 -0.9230 -0.3823 +vn -0.0434 -0.9230 0.3823 +vn -0.9907 -0.1259 0.0522 +vn -0.9966 0.0762 0.0315 +vn 0.9966 0.0762 -0.0316 +vn -0.9907 -0.0522 -0.1259 +vn -0.0434 0.9230 0.3823 +vn -0.0434 0.9230 -0.3823 +vn -0.9907 0.1260 -0.0522 +vn -0.9907 0.0522 0.1259 +vn -0.9907 0.1260 0.0522 +vn -0.9907 0.0522 -0.1260 +vn 0.9966 0.0762 0.0315 +vn -0.9907 -0.1260 -0.0522 +vn 0.9966 0.0315 -0.0762 +vn -0.9907 -0.0522 0.1260 +vn -0.9966 -0.0315 0.0761 +vn 0.9919 -0.0486 0.1174 +vn -0.9966 0.0315 0.0762 +vn -0.9966 0.0761 -0.0315 +vn 0.9919 0.0486 0.1173 +vn -0.0801 0.0322 0.9963 +vn 0.1401 -0.0562 0.9885 +vn 0.2846 0.0710 -0.9560 +vn -0.1189 -0.0040 -0.9929 +vn -0.2433 0.4167 -0.8759 +vn 0.0724 0.0716 -0.9948 +vn 0.0721 0.0716 0.9948 +vn -0.0911 0.3614 0.9279 +vn -0.1148 0.0713 -0.9908 +vn 0.5997 0.8002 0.0000 +vn 0.1538 0.5175 0.8417 +vn -0.2238 0.2670 -0.9374 +vn 0.2631 0.3512 -0.8986 +vn -0.6174 0.7866 0.0000 +vn -0.0001 0.4265 -0.9045 +vn 0.0000 0.4280 -0.9038 +vn -0.0165 -0.3826 -0.9238 +vn -0.0165 0.3826 -0.9238 +vn -0.0165 0.3826 0.9238 +vn -0.0166 -0.9238 -0.3826 +vn 0.6968 0.6616 -0.2771 +vn -0.0165 0.9238 -0.3826 +vn -0.5855 0.7664 0.2642 +vn -0.6287 0.0000 -0.7776 +vn -0.6287 0.0000 0.7776 +vn -0.5855 0.7664 -0.2642 +vn 0.0000 0.9224 -0.3863 +vn 0.0000 0.9224 0.3863 +vn -0.0166 -0.3826 0.9238 +vn -0.0166 -0.9238 0.3826 +vn 0.7075 0.6639 0.2423 +vn -0.9943 0.0422 -0.0983 +vn -0.9996 -0.0201 -0.0197 +vn -0.9998 -0.0177 0.0000 +vn -0.9943 0.0422 0.0983 +vn 0.3071 -0.7601 -0.5727 +vn 0.0000 -0.8730 0.4877 +vn 0.9865 0.0625 -0.1514 +vn 0.9865 0.0625 0.1514 +vn 0.9990 -0.0137 0.0428 +vn 0.9990 -0.0137 -0.0428 +vn -0.0052 -0.3029 0.9530 +vn -0.0052 -0.3029 -0.9530 +vn -0.1503 0.9100 0.3864 +vn -0.0827 0.3007 0.9501 +vn -0.0882 0.3033 -0.9488 +vn 0.1146 0.9216 0.3708 +vn 0.0212 0.9029 -0.4293 +vn 0.1561 0.3805 -0.9115 +vn -0.0214 0.3851 -0.9226 +vn -0.0162 0.9139 -0.4055 +vn -0.0085 0.9098 0.4150 +vn 0.0018 0.3018 0.9534 +vn -0.9938 0.1009 -0.0476 +vn 0.0000 -0.9716 0.2367 +vn 0.0000 0.8580 -0.5136 +vn 0.0013 -0.3780 -0.9258 +vn 0.0000 -0.9727 0.2319 +vn -0.0017 -0.9728 0.2318 +vn -0.0045 0.8580 -0.5136 +vn -0.0045 0.8483 -0.5295 +vn 0.0000 0.8535 -0.5210 +vn 0.9172 -0.1505 -0.3688 +vn 0.0056 -0.9534 -0.3016 +vn -0.0038 0.5242 -0.8516 +vn -0.0036 0.4732 -0.8809 +vn 0.8531 -0.1929 -0.4848 +vn -0.0032 0.4293 -0.9031 +vn -0.8883 -0.1782 -0.4232 +vn 0.8917 -0.1710 -0.4190 +vn 0.0057 -0.9361 -0.3516 +vn 0.0053 -0.9195 -0.3932 +vn -0.9140 -0.1581 -0.3736 +vn -0.5515 -0.3178 -0.7713 +vn 0.0000 -0.9691 0.2466 +vn 0.0050 -0.9664 0.2571 +vn 0.0008 0.9233 -0.3841 +vn -0.0166 0.9238 0.3826 +vn -0.0061 0.8873 -0.4611 +vn 0.0881 0.3478 0.9334 +vn 1.0000 0.0016 -0.0006 +vn 1.0000 0.0011 -0.0013 +vn -0.1970 -0.3752 -0.9058 +vn 1.0000 0.0014 -0.0009 +vn 1.0000 -0.0000 -0.0034 +vn 1.0000 -0.0020 -0.0057 +vn 1.0000 -0.0017 -0.0040 +vn -0.0013 -0.9234 -0.3838 +vn 0.0000 -0.9691 -0.2466 +vn 0.0050 -0.9715 -0.2371 +vn -0.5515 -0.3178 0.7713 +vn -0.9196 -0.1544 0.3613 +vn 0.0044 -0.9187 0.3950 +vn 0.0045 -0.9351 0.3544 +vn 0.8917 -0.1710 0.4190 +vn -0.8941 -0.1750 0.4123 +vn -0.0026 0.4282 0.9037 +vn 0.8531 -0.1929 0.4848 +vn -0.0028 0.4716 0.8818 +vn -0.0031 0.5229 0.8524 +vn 0.0046 -0.9528 0.3036 +vn 0.9172 -0.1505 0.3688 +vn -0.0045 0.8580 0.5136 +vn 0.0000 0.8535 0.5210 +vn -0.0045 0.8483 0.5295 +vn 0.0000 -0.9727 -0.2319 +vn -0.0012 -0.9730 -0.2307 +vn 0.0013 -0.3780 0.9258 +vn 0.0000 0.8580 0.5136 +vn 0.0000 -0.9716 -0.2367 +vn 0.9999 0.0005 0.0125 +vn 0.9999 0.0008 0.0108 +vn -0.0001 -0.9232 0.3843 +vn 0.5164 -0.7911 0.3277 +vn 0.5164 -0.3277 -0.7911 +vn 0.5164 0.7911 0.3277 +vn 0.5165 0.7911 -0.3277 +vn 0.5164 -0.3277 0.7911 +vn 0.0641 -0.4932 -0.8676 +vn 0.0641 0.4932 0.8676 +vn 0.0641 0.8676 -0.4932 +vn 0.0641 -0.8676 0.4932 +vn 0.0641 0.2648 -0.9622 +vn 0.0641 -0.2648 0.9622 +vn 0.0641 0.9622 0.2648 +vn 0.0641 -0.9622 -0.2648 s off -f 1064/2013/687 1063/2014/687 1065/2015/687 1066/2016/687 -f 1066/2017/688 1065/2015/688 1067/2018/688 1068/2019/688 -f 1068/2020/689 1067/2018/689 1062/2021/689 1061/2022/689 -f 1068/2020/690 1061/2022/690 1069/2023/690 1070/2024/690 1071/2025/690 -f 1065/2015/691 1063/2014/691 1062/2021/691 1067/2018/691 -f 1072/2026/692 1073/2027/692 1070/2028/692 1069/2029/692 -f 1064/2013/693 1066/2016/693 1074/2030/693 1073/2031/693 1072/2032/693 -f 1066/2017/694 1068/2019/694 1071/2033/694 1074/2034/694 -f 1075/2035/687 1076/2036/687 1077/2037/687 1078/2038/687 -f 1074/2034/695 1071/2033/695 1079/2039/695 1076/2040/695 -f 1071/2025/689 1070/2024/689 1080/2041/689 1079/2042/689 -f 1070/2028/696 1073/2027/696 1075/2043/696 1080/2044/696 -f 1073/2031/687 1074/2030/687 1076/2036/687 1075/2035/687 -f 1081/2045/697 1078/2046/697 1082/2047/698 1083/2048/699 -f 1076/2040/700 1079/2039/700 1084/2049/700 1077/2050/700 -f 1080/2044/701 1075/2043/701 1078/2046/701 1081/2045/701 -f 1079/2042/689 1080/2041/689 1081/2051/689 1084/2052/689 -f 1085/2053/692 1086/2054/692 1087/2055/692 1088/2056/692 -f 1084/2052/689 1081/2051/689 1085/2057/689 1088/2058/689 -f 1078/2038/687 1077/2037/687 1087/2059/687 1086/2060/687 -f 1077/2050/702 1084/2049/702 1088/2056/702 1087/2055/702 -f 1089/2061/703 1090/2062/704 1091/2063/705 1092/2064/705 -f 1078/2038/706 1086/2060/706 1089/2065/707 1082/2066/708 -f 1085/2057/709 1081/2051/709 1083/2067/710 1090/2068/711 -f 1086/2054/712 1085/2053/712 1090/2062/713 1089/2061/714 -f 1082/2066/715 1089/2065/716 1092/2069/717 1094/2070/717 -f 1083/2048/718 1082/2047/719 1094/2071/720 1093/2072/720 -f 1090/2068/721 1083/2067/722 1093/2073/723 1091/2074/723 -o UndeRail_Cube.005 -v -1.185225 0.299229 2.771775 -v -1.185225 0.078919 2.771775 -v -1.579320 0.146982 2.771775 -v -1.579320 0.299229 2.771775 -v -0.726389 0.070637 2.798583 -v -0.726389 0.299229 2.798583 -v -0.726389 0.299229 3.201417 -v -0.726389 0.070637 3.201417 -v -0.770558 0.343398 2.798583 -v -1.096886 0.343398 2.798583 -v -1.096886 0.343398 3.201417 -v -0.770558 0.343398 3.201417 -v -1.185225 0.078919 3.228225 -v -1.185225 0.299229 3.228225 -v -1.579320 0.299229 3.228225 -v -1.579320 0.146982 3.228225 -v -1.185225 0.343398 3.201417 -v -1.185225 0.343398 2.798583 -v -1.579320 0.343398 2.798583 -v -1.579320 0.343398 3.201417 -v -1.096886 0.026467 2.798583 -v -0.770558 0.026467 2.798583 -v -0.770558 0.026467 3.201417 -v -1.096886 0.026467 3.201417 -v -1.096886 0.070637 2.771775 -v -1.096886 0.299229 2.771775 -v -0.770558 0.299229 2.771775 -v -0.770558 0.070637 2.771775 -v -0.770558 0.070637 3.228225 -v -0.770558 0.299229 3.228225 -v -1.096886 0.299229 3.228225 -v -1.096886 0.070637 3.228225 -v -1.690351 0.200246 3.201417 -v -1.690351 0.287913 3.201417 -v -1.690351 0.287913 2.798583 -v -1.690351 0.200246 2.798583 -v -1.184581 0.033984 3.201417 -v -1.184581 0.033984 2.798583 -v -1.659805 0.134929 3.201417 -v -1.579964 0.102270 3.201417 -v -1.667659 0.194088 3.228225 -v -1.667659 0.291126 3.228225 -v -1.646801 0.339453 3.201417 -v -1.659805 0.134929 2.798583 -v -1.667659 0.194088 2.771775 -v -1.579964 0.102270 2.798583 -v -1.667040 0.336028 2.798583 -v -1.667659 0.291126 2.771775 -vt 0.496907 0.334267 -vt 0.496248 0.427323 -vt 0.330718 0.396651 -vt 0.331617 0.332937 -vt 0.796702 0.313152 -vt 0.699270 0.313152 -vt 0.699270 0.141452 -vt 0.796702 0.141452 -vt 0.672646 0.313152 -vt 0.534343 0.312606 -vt 0.534099 0.142197 -vt 0.672646 0.141452 -vt 0.495875 0.027439 -vt 0.496587 0.120544 -vt 0.331121 0.122196 -vt 0.330318 0.058264 -vt 0.496747 0.142387 -vt 0.497024 0.312498 -vt 0.332011 0.311404 -vt 0.331527 0.143826 -vt 0.962417 0.313152 -vt 0.823327 0.313152 -vt 0.823327 0.141452 -vt 0.962417 0.141452 -vt 0.533520 0.431122 -vt 0.534247 0.334472 -vt 0.672551 0.335076 -vt 0.671920 0.432340 -vt 0.671602 0.022049 -vt 0.672523 0.119489 -vt 0.533976 0.120298 -vt 0.533160 0.023583 -vt 0.237618 0.142584 -vt 0.274533 0.143000 -vt 0.272621 0.312625 -vt 0.235706 0.312209 -vt 0.495520 0.005286 -vt 0.532760 0.001691 -vt 0.495918 0.449476 -vt 0.533168 0.453017 -vt 0.817912 0.125359 -vt 0.796702 0.119430 -vt 0.678060 0.125358 -vt 0.699270 0.119430 -vt 0.817912 0.329246 -vt 0.796702 0.335174 -vt 0.678060 0.329246 -vt 0.699270 0.335174 -vt 0.294957 0.050376 -vt 0.328880 0.036291 -vt 0.292958 0.078293 -vt 0.293666 0.119719 -vt 0.302947 0.143203 -vt 0.295361 0.404466 -vt 0.293427 0.376539 -vt 0.329265 0.418612 -vt 0.295134 0.312879 -vt 0.294347 0.335145 -vt 0.208418 0.134257 -vt 0.235192 0.127765 -vt 0.276053 0.128226 -vt 0.300664 0.131838 -vt 0.206326 0.319876 -vt 0.232947 0.326970 -vt 0.294189 0.319085 -vt 0.273808 0.327430 -vt 0.999933 0.141452 -vt 0.999933 0.313152 -vt 0.671720 0.454277 -vt 0.671350 0.000067 -vt 0.169020 0.311458 -vt 0.170932 0.141832 -vt 0.207256 0.142242 -vt 0.205344 0.311867 -vt 0.000067 0.309553 -vt 0.001979 0.139928 -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 -1.0000 0.0000 0.0000 -vn -0.0462 -0.5153 0.8558 -vn 0.0000 0.5189 0.8549 -vn -0.0462 -0.5153 -0.8558 -vn 0.0000 0.5189 -0.8549 -vn 0.4606 -0.4605 0.7588 -vn 0.4605 0.4606 0.7588 -vn 0.4606 -0.4605 -0.7588 -vn 0.4605 0.4606 -0.7588 -vn -0.2180 -0.4596 0.8610 -vn -0.0393 0.5077 0.8606 -vn -0.2180 -0.4596 -0.8610 -vn -0.0453 0.5154 -0.8557 -vn -0.7527 -0.3520 0.5563 -vn -0.6638 0.5609 0.4947 -vn -0.7527 -0.3520 -0.5563 -vn -0.7340 0.3556 -0.5787 -vn -0.0854 -0.9963 -0.0000 -vn 0.0000 -0.5188 -0.8549 -vn 0.5189 0.0000 -0.8549 -vn 0.7071 -0.7071 -0.0000 -vn 0.7071 0.7071 0.0000 -vn 0.5189 0.0000 0.8549 -vn 0.0000 -0.5188 0.8549 -vn -0.3786 -0.9256 -0.0000 -vn -0.0727 0.9974 -0.0024 -vn -0.0883 -0.5113 0.8549 -vn -0.0883 -0.5113 -0.8549 -vn -0.9058 -0.4236 -0.0000 -vn -0.7633 0.0000 0.6461 -vn -0.8303 0.5571 0.0185 -vn -0.7633 0.0000 -0.6461 -vn -0.1702 -0.9854 -0.0000 -s off -f 1095/2075/724 1096/2076/724 1097/2077/724 1098/2078/724 -f 1099/2079/725 1100/2080/725 1101/2081/725 1102/2082/725 -f 1103/2083/726 1104/2084/726 1105/2085/726 1106/2086/726 -f 1107/2087/727 1108/2088/727 1109/2089/727 1110/2090/727 -f 1111/2091/726 1112/2092/726 1113/2093/726 1114/2094/726 -f 1115/2095/728 1116/2096/728 1117/2097/728 1118/2098/728 -f 1119/2099/724 1120/2100/724 1121/2101/724 1122/2102/724 -f 1123/2103/727 1124/2104/727 1125/2105/727 1126/2106/727 -f 1127/2107/729 1128/2108/729 1129/2109/729 1130/2110/729 -f 1131/2111/730 1118/2112/730 1126/2106/730 1107/2087/730 -f 1108/2088/731 1125/2105/731 1105/2085/731 1111/2091/731 -f 1132/2113/732 1096/2076/732 1119/2099/732 1115/2114/732 -f 1112/2092/733 1104/2084/733 1120/2100/733 1095/2075/733 -f 1117/2115/734 1102/2082/734 1123/2116/734 -f 1106/2117/735 1124/2118/735 1101/2081/735 -f 1116/2119/736 1122/2120/736 1099/2079/736 -f 1103/2121/737 1100/2080/737 1121/2122/737 -f 1133/2123/738 1134/2124/738 1110/2090/738 1135/2125/738 -f 1136/2126/739 1109/2089/739 1114/2094/739 1137/2127/739 -f 1138/2128/740 1139/2129/740 1097/2077/740 1140/2130/740 -f 1141/2131/741 1113/2093/741 1098/2078/741 1142/2132/741 -f 1133/2133/742 1135/2134/742 1127/2107/742 -f 1136/2135/743 1137/2136/743 1128/2108/743 -f 1138/2137/744 1130/2110/744 1139/2138/744 -f 1141/2139/745 1142/2140/745 1129/2109/745 -f 1115/2095/746 1118/2098/746 1131/2141/746 1132/2142/746 -f 1126/2106/727 1125/2105/727 1108/2088/727 1107/2087/727 -f 1105/2085/726 1104/2084/726 1112/2092/726 1111/2091/726 -f 1120/2100/724 1119/2099/724 1096/2076/724 1095/2075/724 -f 1116/2143/747 1115/2114/747 1119/2099/747 1122/2102/747 -f 1104/2084/733 1103/2083/733 1121/2101/733 1120/2100/733 -f 1100/2080/748 1099/2079/748 1122/2120/748 1121/2122/748 -f 1117/2097/749 1116/2096/749 1099/2079/749 1102/2082/749 -f 1103/2083/750 1106/2086/750 1101/2081/750 1100/2080/750 -f 1124/2118/751 1123/2116/751 1102/2082/751 1101/2081/751 -f 1118/2112/752 1117/2144/752 1123/2103/752 1126/2106/752 -f 1106/2086/731 1105/2085/731 1125/2105/731 1124/2104/731 -f 1140/2145/753 1134/2146/753 1133/2147/753 1138/2148/753 -f 1110/2090/727 1109/2089/727 1136/2126/727 1135/2125/727 -f 1114/2094/754 1113/2093/754 1141/2131/754 1137/2127/754 -f 1098/2078/724 1097/2077/724 1139/2129/724 1142/2132/724 -f 1095/2075/733 1098/2078/733 1113/2093/733 1112/2092/733 -f 1109/2089/731 1108/2088/731 1111/2091/731 1114/2094/731 -f 1107/2087/755 1110/2090/755 1134/2124/755 1131/2111/755 -f 1097/2077/756 1096/2076/756 1132/2113/756 1140/2130/756 -f 1138/2148/757 1133/2147/757 1127/2107/757 1130/2110/757 -f 1135/2134/758 1136/2135/758 1128/2108/758 1127/2107/758 -f 1137/2127/759 1141/2131/759 1129/2109/759 1128/2108/759 -f 1142/2140/760 1139/2138/760 1130/2110/760 1129/2109/760 -f 1132/2149/761 1131/2150/761 1134/2146/761 1140/2145/761 -o Underail_Cube.004 -v -0.033837 0.094104 2.927233 -v -0.033837 -0.016338 2.927233 -v -0.115306 -0.142061 2.927233 -v -0.115306 0.094104 2.927233 -v 0.797049 0.094104 2.927233 -v 0.797049 -0.016338 2.927233 -v 0.796577 -0.079782 3.048582 -v 0.796577 -0.079782 2.951418 -v 0.886076 -0.258069 2.951418 -v 0.886076 -0.258069 3.048582 -v 0.797049 -0.016338 3.072767 -v 0.797049 0.094104 3.072767 -v -0.033837 0.094104 3.072767 -v -0.033837 -0.016338 3.072767 -v -0.026079 -0.079782 2.951418 -v -0.115306 0.094104 3.072767 -v -0.272459 0.094104 2.927233 -v -0.272459 0.094104 3.072767 -v -0.115306 -0.142061 3.072767 -v -0.272459 -0.098487 3.072767 -v -0.264701 -0.161930 3.048582 -v -0.107548 -0.205505 3.048582 -v -0.272459 -0.098487 2.927233 -v -0.026079 -0.079782 3.048582 -v -0.107548 -0.205505 2.951418 -v -0.264701 -0.161930 2.951418 -v 0.886547 0.093771 3.072767 -v 0.886547 0.093771 2.927233 -v 0.886547 -0.194626 3.072767 -v 0.888072 -0.069961 3.072767 -v 0.917361 0.000750 3.072767 -v 0.988072 0.030039 3.072767 -v 1.058783 0.000750 3.072767 -v 1.088072 -0.069961 3.072767 -v 1.088250 -0.195375 3.072767 -v 1.088250 0.093022 3.072767 -v 0.886547 -0.194626 2.927233 -v 1.088250 -0.195375 2.927233 -v 1.087778 -0.258818 2.951418 -v 1.087778 -0.258818 3.048582 -v 1.152616 -0.153109 2.951418 -v 1.152616 -0.153109 3.048582 -v 1.153087 -0.089666 3.072767 -v 1.088250 0.093022 2.927233 -v 0.888072 -0.069961 2.927233 -v 0.917362 -0.140671 2.927233 -v 0.988072 -0.169961 2.927233 -v 1.058783 -0.140671 2.927233 -v 1.088072 -0.069961 2.927233 -v 1.153087 -0.089666 2.927233 -v 1.153087 0.092782 2.927233 -v 1.153087 0.092782 3.072767 -v 0.917361 0.000750 2.927233 -v 1.058783 0.000750 2.927233 -v 1.058783 -0.140671 3.072767 -v 0.988072 -0.169961 3.072767 -v 0.917362 -0.140671 3.072767 -v 0.988072 0.030039 2.927233 -vt 0.256942 0.260185 -vt 0.256933 0.317461 -vt 0.214669 0.382666 -vt 0.214686 0.260176 -vt 0.687648 0.260227 -vt 0.687763 0.317493 -vt 0.601711 0.530833 -vt 0.601711 0.480441 -vt 0.705172 0.480441 -vt 0.705172 0.530833 -vt 0.687799 0.127573 -vt 0.687669 0.184827 -vt 0.256960 0.184694 -vt 0.256975 0.127402 -vt 0.171036 0.445226 -vt 0.601956 0.445228 -vt 0.175060 0.480439 -vt 0.214701 0.184684 -vt 0.133171 0.260163 -vt 0.133182 0.184670 -vt 0.214727 0.062176 -vt 0.084694 0.563932 -vt 0.000115 0.563931 -vt 0.012784 0.530830 -vt 0.097363 0.530831 -vt 0.033279 0.184656 -vt 0.033268 0.260149 -vt 0.221631 0.027404 -vt 0.263880 0.092631 -vt 0.133159 0.360057 -vt 0.133200 0.084764 -vt 0.175059 0.530831 -vt 0.097363 0.480439 -vt 0.012784 0.480438 -vt 0.000115 0.247598 -vt 0.000122 0.197196 -vt 0.734049 0.184804 -vt 0.734039 0.260260 -vt 0.000115 0.447338 -vt 0.084694 0.447338 -vt 0.263826 0.352230 -vt 0.221562 0.417436 -vt 0.601955 0.566046 -vt 0.171036 0.566045 -vt 0.839166 0.035177 -vt 0.787151 0.048192 -vt 0.734523 0.035224 -vt 0.705294 0.445228 -vt 0.809903 0.445228 -vt 0.809781 0.480442 -vt 0.683548 0.352473 -vt 0.734482 0.409867 -vt 0.730268 0.444846 -vt 0.872622 0.090131 -vt 0.838858 0.100240 -vt 0.823785 0.063507 -vt 0.683589 0.092599 -vt 0.730314 0.000250 -vt 0.809780 0.530834 -vt 0.874095 0.480442 -vt 0.874095 0.530834 -vt 0.842557 0.000115 -vt 0.876014 0.055069 -vt 0.705293 0.566047 -vt 0.809903 0.566047 -vt 0.838659 0.184791 -vt 0.838657 0.260295 -vt 0.966965 0.260301 -vt 0.872297 0.260301 -vt 0.872297 0.184787 -vt 0.966965 0.184787 -vt 0.999885 0.197336 -vt 0.999885 0.247752 -vt 0.735107 0.099900 -vt 0.842531 0.444996 -vt 0.839144 0.409928 -vt 0.872612 0.354969 -vt 0.876000 0.390038 -vt 0.039809 0.641755 -vt 0.039809 0.566277 -vt 0.079503 0.566277 -vt 0.079503 0.641755 -vt 0.238278 0.641755 -vt 0.238278 0.566277 -vt 0.277972 0.566277 -vt 0.277972 0.641755 -vt 0.786807 0.151937 -vt 0.119197 0.566277 -vt 0.119197 0.641755 -vt 0.198585 0.641755 -vt 0.198585 0.566277 -vt 0.158890 0.641755 -vt 0.158890 0.566277 -vt 0.000115 0.641755 -vt 0.000115 0.566277 -vt 0.317667 0.566277 -vt 0.317667 0.641755 -vt 0.823538 0.136870 -vt 0.750181 0.136623 -vt 0.750419 0.063267 -vt 0.786796 0.293143 -vt 0.823528 0.308218 -vt 0.750162 0.308451 -vt 0.838844 0.344854 -vt 0.735078 0.345179 -vt 0.823764 0.381591 -vt 0.787122 0.396904 -vt 0.750386 0.381821 -vn 0.0000 0.0000 -1.0000 -vn -0.8937 -0.4486 0.0000 -vn 0.0000 0.0000 1.0000 -vn 0.0000 -0.3562 -0.9344 -vn 0.0000 1.0000 0.0000 -vn -0.1012 -0.3652 0.9254 -vn -1.0000 0.0000 0.0000 -vn 0.4263 -0.2762 0.8614 -vn 0.0000 -1.0000 -0.0000 -vn 0.8392 -0.5438 -0.0000 -vn -0.2672 -0.9636 0.0000 -vn -0.9926 -0.1214 0.0000 -vn 0.0037 1.0000 0.0000 -vn -0.1012 -0.3652 -0.9254 -vn 0.4263 -0.2762 -0.8614 -vn 0.0000 -0.3562 0.9344 -vn -0.0013 -0.3562 -0.9344 -vn -0.5737 -0.2880 -0.7667 -vn -0.0016 0.0010 1.0000 -vn -0.5737 -0.2880 0.7667 -vn 0.8524 -0.5228 0.0000 -vn 0.5062 -0.3105 0.8046 -vn 0.5049 -0.3117 0.8049 -vn -0.0013 -0.3562 0.9344 -vn -0.0037 -1.0000 0.0000 -vn -0.0001 0.0018 1.0000 -vn 1.0000 -0.0009 -0.0016 -vn 1.0000 0.0000 0.0000 -vn 1.0000 -0.0004 -0.0018 -vn 1.0000 -0.0060 -0.0012 -vn 1.0000 -0.0092 -0.0002 -vn 1.0000 -0.0074 -0.0000 -vn 0.5062 -0.3105 -0.8046 -vn 0.5071 -0.3089 -0.8046 -vn 0.0006 0.0017 1.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 -vn -0.0002 -0.0018 -1.0000 -vn 0.0009 -0.0016 -1.0000 -vn 0.0018 0.0002 -1.0000 -s off -f 1143/2151/762 1144/2152/762 1145/2153/762 1146/2154/762 -f 1144/2152/762 1143/2151/762 1147/2155/762 1148/2156/762 -f 1149/2157/763 1150/2158/763 1151/2159/763 1152/2160/763 -f 1153/2161/764 1154/2162/764 1155/2163/764 1156/2164/764 -f 1144/2165/765 1148/2166/765 1150/2158/765 1157/2167/765 -f 1147/2155/766 1143/2151/766 1155/2163/766 1154/2162/766 -f 1158/2168/766 1146/2154/766 1159/2169/766 1160/2170/766 -f 1156/2164/764 1155/2163/764 1158/2168/764 1161/2171/764 -f 1155/2163/766 1143/2151/766 1146/2154/766 1158/2168/766 -f 1161/2172/767 1162/2173/767 1163/2174/767 1164/2175/767 -f 1162/2176/768 1160/2170/768 1159/2169/768 1165/2177/768 -f 1156/2164/769 1161/2171/769 1164/2178/769 1166/2179/769 -f 1146/2154/762 1145/2153/762 1165/2180/762 1159/2169/762 -f 1161/2171/764 1158/2168/764 1160/2170/764 1162/2181/764 -f 1157/2167/770 1150/2158/770 1149/2157/770 1166/2182/770 -f 1157/2167/771 1166/2182/771 1164/2175/771 1167/2183/771 -f 1167/2183/772 1164/2175/772 1163/2174/772 1168/2184/772 -f 1162/2176/773 1165/2177/773 1168/2185/773 1163/2186/773 -f 1147/2155/774 1154/2162/774 1169/2187/774 1170/2188/774 -f 1165/2189/775 1145/2190/775 1167/2183/775 1168/2184/775 -f 1145/2153/776 1144/2152/776 1157/2191/776 1167/2192/776 -f 1153/2193/777 1156/2194/777 1166/2182/777 1149/2157/777 -f 1177/2195/764 1198/2196/764 1171/2197/764 -f 1151/2159/778 1179/2198/778 1180/2199/778 1181/2200/778 -f 1150/2201/779 1148/2156/779 1179/2202/779 1151/2203/779 -f 1177/2195/764 1185/2204/780 1176/2205/764 1197/2206/764 -f 1153/2161/781 1149/2207/781 1152/2208/781 1171/2197/781 -f 1154/2162/764 1153/2161/764 1169/2187/764 -f 1182/2209/782 1181/2200/782 1183/2210/782 1184/2211/782 -f 1177/2195/783 1182/2212/783 1184/2213/783 1185/2204/784 -f 1171/2214/785 1152/2160/785 1182/2209/785 1177/2215/785 -f 1152/2160/786 1151/2159/786 1181/2200/786 1182/2209/786 -f 1170/2188/774 1169/2187/774 1178/2216/774 1186/2217/774 -f 1176/2205/764 1185/2204/787 1178/2216/764 -f 1192/2218/788 1193/2219/789 1194/2220/789 1185/2221/790 -f 1192/2218/791 1185/2221/792 1184/2222/793 1183/2223/793 -f 1186/2217/774 1178/2216/774 1194/2220/774 1193/2219/774 -f 1172/2224/764 1169/2187/764 1153/2161/764 -f 1181/2225/794 1180/2226/794 1192/2227/795 1183/2228/794 -f 1178/2216/764 1185/2204/796 1194/2220/764 -f 1195/2229/797 1173/2230/797 1172/2231/797 1187/2232/797 -f 1191/2233/798 1176/2234/798 1175/2235/798 1196/2236/798 -f 1178/2216/764 1169/2187/764 1174/2237/764 -f 1187/2232/799 1172/2231/799 1199/2238/799 1188/2239/799 -f 1190/2240/800 1197/2241/800 1176/2234/800 1191/2233/800 -f 1189/2242/801 1198/2243/801 1197/2241/801 1190/2240/801 -f 1200/2244/802 1174/2245/802 1173/2230/802 1195/2229/802 -f 1196/2236/803 1175/2235/803 1174/2246/803 1200/2247/803 -f 1188/2239/804 1199/2238/804 1198/2243/804 1189/2242/804 -f 1177/2195/764 1197/2206/764 1198/2196/764 -f 1192/2227/805 1186/2217/762 1193/2219/762 -f 1170/2188/762 1148/2156/762 1147/2155/762 -f 1175/2248/764 1178/2216/764 1174/2237/764 -f 1173/2249/764 1169/2187/764 1172/2224/764 -f 1199/2250/764 1171/2197/764 1198/2196/764 -f 1171/2197/764 1199/2250/764 1172/2224/764 1153/2161/764 -f 1200/2251/762 1170/2188/762 1186/2217/762 -f 1200/2251/762 1186/2217/762 1196/2252/762 -f 1169/2187/764 1173/2249/764 1174/2237/764 -f 1178/2216/764 1175/2248/764 1176/2205/764 -f 1200/2251/762 1195/2253/762 1170/2188/762 -f 1196/2252/762 1186/2217/762 1191/2254/762 -f 1195/2253/762 1187/2255/762 1170/2188/762 -f 1170/2188/762 1187/2255/762 1148/2156/762 -f 1186/2217/762 1192/2227/806 1191/2254/762 -f 1191/2254/762 1192/2227/807 1180/2226/762 1190/2256/762 -f 1190/2256/762 1180/2226/762 1189/2257/762 -f 1179/2202/762 1148/2156/762 1187/2255/762 1188/2258/762 -f 1180/2226/762 1179/2202/762 1189/2257/762 -f 1188/2258/762 1189/2257/762 1179/2202/762 -o UnderailBit_Cylinder.006 -v -0.166791 0.038391 2.882968 -v -0.166791 0.038391 3.117032 -v -0.118438 0.018363 3.117032 -v -0.118438 0.018363 2.882968 -v -0.098409 -0.029991 3.117032 -v -0.098409 -0.029991 2.882968 -v -0.118438 -0.078344 3.117032 -v -0.118438 -0.078344 2.882968 -v -0.166791 -0.098373 3.117032 -v -0.166791 -0.098373 2.882968 -v -0.215145 -0.078344 3.117032 -v -0.215145 -0.078344 2.882968 -v -0.235173 -0.029991 3.117032 -v -0.235173 -0.029991 2.882968 -v -0.215145 0.018363 3.117032 -v -0.215145 0.018363 2.882968 -vt 0.936103 0.259604 -vt 0.936115 0.740360 -vt 0.828618 0.740362 -vt 0.828606 0.259607 -vt 0.721118 0.740365 -vt 0.721107 0.259609 -vt 0.613620 0.740368 -vt 0.613609 0.259612 -vt 0.506122 0.740370 -vt 0.506111 0.259614 -vt 0.398623 0.740373 -vt 0.398611 0.259617 -vt 0.291126 0.740375 -vt 0.291114 0.259620 -vt 0.000116 0.816392 -vt 0.076128 0.740380 -vt 0.183627 0.740378 -vt 0.259639 0.816392 -vt 0.259641 0.923889 -vt 0.183628 0.999903 -vt 0.076130 0.999903 -vt 0.000116 0.923892 -vt 0.183615 0.259622 -vt 0.076117 0.259625 -vt 0.000101 0.183616 -vt 0.000097 0.076116 -vt 0.076107 0.000102 -vt 0.183605 0.000097 -vt 0.259621 0.076108 -vt 0.259625 0.183605 -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.3827 0.9239 0.0000 -vn 0.0000 0.0000 -1.0000 -s off -f 1201/2259/808 1202/2260/808 1203/2261/808 1204/2262/808 -f 1204/2262/809 1203/2261/809 1205/2263/809 1206/2264/809 -f 1206/2264/810 1205/2263/810 1207/2265/810 1208/2266/810 -f 1208/2266/811 1207/2265/811 1209/2267/811 1210/2268/811 -f 1210/2268/812 1209/2267/812 1211/2269/812 1212/2270/812 -f 1212/2270/813 1211/2269/813 1213/2271/813 1214/2272/813 -f 1203/2273/814 1202/2274/814 1215/2275/814 1213/2276/814 1211/2277/814 1209/2278/814 1207/2279/814 1205/2280/814 -f 1214/2272/815 1213/2271/815 1215/2275/815 1216/2281/815 -f 1216/2281/816 1215/2275/816 1202/2274/816 1201/2282/816 -f 1201/2282/817 1204/2283/817 1206/2284/817 1208/2285/817 1210/2286/817 1212/2287/817 1214/2288/817 1216/2281/817 -o AmmoVice_Cylinder.010 -v -2.170566 0.644712 2.891261 -v -2.102717 0.644712 2.891261 -v -2.102717 0.567822 2.923110 -v -2.170566 0.567822 2.923110 -v -2.102717 0.535974 3.000000 -v -2.170566 0.535974 3.000000 -v -2.102717 0.567822 3.076890 -v -2.170566 0.567822 3.076890 -v -2.102717 0.644712 3.108739 -v -2.170566 0.644712 3.108739 -v -2.102717 0.721602 3.076890 -v -2.170566 0.721602 3.076890 -v -2.102717 0.753451 3.000000 -v -2.170566 0.753451 3.000000 -v -2.102717 0.721602 2.923110 -v -2.170566 0.721602 2.923110 -v -2.209619 0.644712 3.088337 -v -2.209619 0.582248 3.062464 -v -2.209619 0.644712 2.911663 -v -2.209619 0.582248 2.937536 -v -2.209619 0.556375 3.000000 -v -2.209619 0.707176 3.062464 -v -2.209619 0.733049 3.000000 -v -2.209619 0.707176 2.937536 -vt 0.101983 0.250048 -vt 0.000096 0.250048 -vt 0.000097 0.125071 -vt 0.101983 0.125072 -vt 0.000097 0.000096 -vt 0.101984 0.000096 -vt 0.101984 0.999904 -vt 0.000097 0.999905 -vt 0.000097 0.874929 -vt 0.101983 0.874929 -vt 0.000096 0.749953 -vt 0.101983 0.749952 -vt 0.000096 0.624977 -vt 0.101982 0.624976 -vt 0.000096 0.500000 -vt 0.101982 0.500000 -vt 0.000096 0.375024 -vt 0.101982 0.375024 -vt 0.167101 0.761676 -vt 0.167101 0.863204 -vt 0.340610 0.547116 -vt 0.239083 0.547116 -vt 0.167292 0.475324 -vt 0.167292 0.373796 -vt 0.239084 0.302006 -vt 0.340613 0.302006 -vt 0.412403 0.373798 -vt 0.412403 0.475326 -vt 0.167100 0.386748 -vt 0.167100 0.488276 -vt 0.167101 0.011819 -vt 0.167101 0.113348 -vt 0.167100 0.636700 -vt 0.167100 0.738228 -vt 0.167101 0.261772 -vt 0.167100 0.363300 -vt 0.167101 0.136796 -vt 0.167101 0.238324 -vt 0.167101 0.886652 -vt 0.167101 0.988181 -vt 0.167100 0.511724 -vt 0.167100 0.613252 -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.4347 -0.3446 0.8320 -vn -1.0000 0.0000 0.0000 -vn -0.4347 0.8320 -0.3446 -vn -0.4347 -0.8320 -0.3446 -vn -0.4347 0.3446 0.8320 -vn -0.4347 0.3446 -0.8320 -vn -0.4347 -0.3446 -0.8320 -vn -0.4347 -0.8320 0.3446 -vn -0.4347 0.8320 0.3446 -s off -f 1217/2289/818 1218/2290/818 1219/2291/818 1220/2292/818 -f 1220/2292/819 1219/2291/819 1221/2293/819 1222/2294/819 -f 1222/2295/820 1221/2296/820 1223/2297/820 1224/2298/820 -f 1224/2298/821 1223/2297/821 1225/2299/821 1226/2300/821 -f 1226/2300/822 1225/2299/822 1227/2301/822 1228/2302/822 -f 1228/2302/823 1227/2301/823 1229/2303/823 1230/2304/823 -f 1230/2304/824 1229/2303/824 1231/2305/824 1232/2306/824 -f 1232/2306/825 1231/2305/825 1218/2290/825 1217/2289/825 -f 1224/2298/826 1226/2300/826 1233/2307/826 1234/2308/826 -f 1235/2309/827 1236/2310/827 1237/2311/827 1234/2312/827 1233/2313/827 1238/2314/827 1239/2315/827 1240/2316/827 -f 1230/2304/828 1232/2306/828 1240/2317/828 1239/2318/828 -f 1220/2292/829 1222/2294/829 1237/2319/829 1236/2320/829 -f 1226/2300/830 1228/2302/830 1238/2321/830 1233/2322/830 -f 1232/2306/831 1217/2289/831 1235/2323/831 1240/2324/831 -f 1217/2289/832 1220/2292/832 1236/2325/832 1235/2326/832 -f 1222/2295/833 1224/2298/833 1234/2327/833 1237/2328/833 -f 1228/2302/834 1230/2304/834 1239/2329/834 1238/2330/834 -o SideThingy_Cube.009 -v -1.552216 0.766425 3.449060 -v -1.552216 0.766425 3.324053 -v -1.613245 0.699098 3.324053 -v -1.613245 0.699098 3.449060 -v -1.552216 0.456014 3.324053 -v -1.048308 0.766425 3.449060 -v -1.048308 0.766425 3.324053 -v -1.552216 0.456014 3.449060 -v -1.048308 0.456014 3.324053 -v -1.041527 0.788142 3.315308 -v -1.041527 0.434297 3.315308 -v -1.048308 0.456014 3.449060 -v -1.041527 0.788142 3.457806 -v -1.041527 0.434297 3.457806 -v -0.900483 0.434297 3.457806 -v -0.900483 0.788142 3.457806 -v -0.900483 0.788142 3.315308 -v -0.896414 0.768510 3.449899 -v -0.896414 0.768510 3.323214 -v -0.900483 0.434297 3.315308 -v -0.896414 0.453929 3.449899 -v -0.817755 0.457256 3.449106 -v -0.817755 0.767895 3.449106 -v -0.896414 0.453929 3.323214 -v -0.817755 0.457256 3.324007 -v -0.817755 0.767895 3.324007 -v -1.613245 0.523341 3.449060 -v -1.613245 0.523341 3.324053 -v -1.552216 0.766425 2.550940 -v -1.613245 0.699098 2.550940 -v -1.613245 0.699098 2.675947 -v -1.552216 0.766425 2.675947 -v -1.552216 0.456014 2.675947 -v -1.048308 0.766425 2.675947 -v -1.048308 0.766425 2.550940 -v -1.552216 0.456014 2.550940 -v -1.048308 0.456014 2.675947 -v -1.041528 0.434297 2.684692 -v -1.041528 0.788142 2.684692 -v -1.048308 0.456014 2.550940 -v -1.041528 0.788142 2.542194 -v -0.900483 0.788142 2.542194 -v -0.900483 0.434297 2.542194 -v -1.041528 0.434297 2.542194 -v -0.900483 0.788142 2.684692 -v -0.896414 0.768510 2.676786 -v -0.896414 0.768510 2.550101 -v -0.900483 0.434297 2.684692 -v -0.817755 0.767895 2.550894 -v -0.817755 0.457256 2.550894 -v -0.896414 0.453929 2.550101 -v -0.896414 0.453929 2.676786 -v -0.817755 0.457256 2.675993 -v -0.817755 0.767895 2.675993 -v -1.613245 0.523341 2.550940 -v -1.613245 0.523341 2.675947 -vt 0.482699 0.832844 -vt 0.432017 0.832844 -vt 0.432017 0.796002 -vt 0.482699 0.796002 -vt 0.583806 0.442127 -vt 0.634488 0.442127 -vt 0.634488 0.646427 -vt 0.583806 0.646427 -vt 0.457956 0.646427 -vt 0.457956 0.442127 -vt 0.711742 0.646766 -vt 0.711742 0.697448 -vt 0.507442 0.697448 -vt 0.507442 0.646766 -vt 0.711742 0.873980 -vt 0.711742 0.999830 -vt 0.507442 0.999830 -vt 0.507442 0.873980 -vt 0.004929 0.552138 -vt 0.004598 0.674127 -vt 0.000170 0.683319 -vt 0.000481 0.542899 -vt 0.203708 0.542544 -vt 0.058826 0.542797 -vt 0.058726 0.485047 -vt 0.203607 0.484794 -vt 0.054086 0.674326 -vt 0.054411 0.551828 -vt 0.058514 0.683411 -vt 0.000170 0.342162 -vt 0.058508 0.341959 -vt 0.054925 0.350069 -vt 0.003806 0.350339 -vt 0.000380 0.485149 -vt 0.262053 0.542442 -vt 0.261953 0.484692 -vt 0.406935 0.542189 -vt 0.406834 0.484439 -vt 0.565390 0.229561 -vt 0.437849 0.229561 -vt 0.439198 0.197668 -vt 0.565141 0.197668 -vt 0.003970 0.476972 -vt 0.055097 0.476933 -vt 0.439198 0.146949 -vt 0.565141 0.146949 -vt 0.407279 0.197990 -vt 0.407279 0.146628 -vt 0.597033 0.146628 -vt 0.597033 0.197990 -vt 0.437849 0.115057 -vt 0.565390 0.115057 -vt 0.482699 0.724744 -vt 0.432017 0.724744 -vt 0.432017 0.687903 -vt 0.482699 0.687903 -vt 0.407274 0.823298 -vt 0.407274 0.697448 -vt 0.507442 0.823298 -vt 0.593351 0.417384 -vt 0.556510 0.417384 -vt 0.556510 0.366702 -vt 0.593352 0.366702 -vt 0.407274 0.646427 -vt 0.407274 0.442127 -vt 0.760338 0.442127 -vt 0.760338 0.646427 -vt 0.711742 0.823298 -vt 0.402178 0.210347 -vt 0.406625 0.201108 -vt 0.406939 0.341526 -vt 0.402512 0.332335 -vt 0.203400 0.200758 -vt 0.203499 0.143007 -vt 0.348380 0.143257 -vt 0.348281 0.201007 -vt 0.353025 0.332535 -vt 0.348597 0.341620 -vt 0.352696 0.210039 -vt 0.406935 0.000372 -vt 0.403298 0.008549 -vt 0.352179 0.008280 -vt 0.348596 0.000170 -vt 0.406725 0.143358 -vt 0.145054 0.200657 -vt 0.145153 0.142906 -vt 0.000170 0.200407 -vt 0.000269 0.142656 -vt 0.565419 0.000214 -vt 0.565158 0.032106 -vt 0.439216 0.032063 -vt 0.437878 0.000170 -vt 0.403136 0.135182 -vt 0.352009 0.135143 -vt 0.439198 0.082782 -vt 0.565141 0.082825 -vt 0.407296 0.031730 -vt 0.407279 0.083092 -vt 0.597033 0.083158 -vt 0.597050 0.031796 -vt 0.437838 0.114674 -vt 0.565379 0.114718 -vt 0.485252 0.417384 -vt 0.485252 0.366702 -vt 0.448411 0.366702 -vt 0.448411 0.417384 -vt 0.583806 0.341959 -vt 0.457956 0.341959 -vn -0.7409 0.6716 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.7902 0.0000 -0.6128 -vn 0.0000 0.0000 1.0000 -vn -0.7903 0.0000 0.6127 -vn -0.9545 -0.2981 0.0000 -vn -0.9545 0.2981 0.0000 -vn 0.9792 0.2030 0.0000 -vn 0.0101 0.0000 0.9999 -vn 0.8891 0.0000 -0.4576 -vn 0.8892 0.0000 0.4576 -vn 0.9792 -0.2030 0.0000 -vn 1.0000 0.0000 0.0000 -vn 0.0423 -0.9991 0.0000 -vn 0.0078 1.0000 0.0000 -vn 0.0101 0.0000 -0.9999 -vn -1.0000 0.0000 0.0000 -vn -0.7409 -0.6716 -0.0000 -vn -0.7903 0.0000 -0.6127 -vn -0.9546 -0.2980 0.0000 -vn -0.9546 0.2980 0.0000 -vn 0.9792 0.2029 0.0000 -vn 0.8891 0.0000 0.4576 -vn 0.8892 0.0000 -0.4576 -s off -f 1241/2331/835 1242/2332/835 1243/2333/835 1244/2334/835 -f 1269/2335/836 1272/2336/836 1274/2337/836 1275/2338/836 -f 1269/2335/837 1275/2338/837 1280/2339/837 1276/2340/837 -f 1249/2341/838 1252/2342/838 1248/2343/838 1245/2344/838 -f 1247/2345/837 1249/2346/837 1245/2347/837 1242/2348/837 -f 1249/2349/839 1247/2350/839 1250/2351/839 1251/2352/839 -f 1253/2353/840 1254/2354/840 1255/2355/840 1256/2356/840 -f 1246/2357/841 1252/2358/841 1254/2354/841 1253/2359/841 -f 1252/2358/842 1249/2349/842 1251/2352/842 1254/2354/842 -f 1247/2350/843 1246/2357/843 1253/2359/843 1250/2351/843 -f 1257/2360/844 1256/2361/844 1258/2362/844 1259/2363/844 -f 1254/2354/838 1251/2352/838 1260/2364/838 1255/2355/838 -f 1250/2365/836 1253/2353/836 1256/2356/836 1257/2366/836 -f 1251/2367/837 1250/2365/837 1257/2366/837 1260/2368/837 -f 1258/2369/845 1261/2370/845 1262/2371/845 1263/2372/845 -f 1260/2364/846 1257/2360/846 1259/2363/846 1264/2373/846 -f 1256/2361/847 1255/2355/847 1261/2374/847 1258/2362/847 -f 1255/2355/848 1260/2364/848 1264/2373/848 1261/2374/848 -f 1265/2375/849 1266/2376/849 1263/2372/849 1262/2371/849 -f 1261/2377/850 1264/2378/850 1265/2375/850 1262/2371/850 -f 1259/2379/851 1258/2380/851 1263/2372/851 1266/2376/851 -f 1264/2381/852 1259/2382/852 1266/2376/852 1265/2375/852 -f 1267/2383/853 1244/2334/853 1243/2333/853 1268/2384/853 -f 1245/2385/854 1248/2386/854 1267/2383/854 1268/2384/854 -f 1242/2387/837 1245/2388/837 1268/2384/837 1243/2333/837 -f 1248/2343/840 1241/2389/840 1244/2334/840 1267/2383/840 -f 1269/2390/835 1270/2391/835 1271/2392/835 1272/2393/835 -f 1276/2340/838 1280/2339/838 1277/2394/838 1273/2395/838 -f 1273/2396/840 1277/2397/840 1274/2337/840 1272/2336/840 -f 1248/2343/840 1252/2342/840 1246/2398/840 1241/2389/840 -f 1277/2399/841 1278/2400/841 1279/2401/841 1274/2402/841 -f 1281/2403/837 1282/2404/837 1283/2405/837 1284/2406/837 -f 1275/2407/855 1281/2408/855 1284/2406/855 1280/2409/855 -f 1280/2409/856 1284/2406/856 1278/2400/856 1277/2399/856 -f 1274/2402/857 1279/2401/857 1281/2408/857 1275/2407/857 -f 1285/2410/858 1286/2411/858 1287/2412/858 1282/2413/858 -f 1284/2406/838 1283/2405/838 1288/2414/838 1278/2400/838 -f 1279/2415/836 1285/2416/836 1282/2404/836 1281/2403/836 -f 1278/2417/840 1288/2418/840 1285/2416/840 1279/2415/840 -f 1287/2419/852 1289/2420/852 1290/2421/852 1291/2422/852 -f 1288/2414/859 1292/2423/859 1286/2411/859 1285/2410/859 -f 1282/2413/860 1287/2412/860 1291/2424/860 1283/2405/860 -f 1283/2405/848 1291/2424/848 1292/2423/848 1288/2414/848 -f 1293/2425/849 1290/2421/849 1289/2420/849 1294/2426/849 -f 1291/2427/850 1290/2421/850 1293/2425/850 1292/2428/850 -f 1286/2429/851 1294/2426/851 1289/2420/851 1287/2430/851 -f 1292/2431/845 1293/2425/845 1294/2426/845 1286/2432/845 -f 1295/2433/853 1296/2434/853 1271/2392/853 1270/2391/853 -f 1273/2435/854 1296/2434/854 1295/2433/854 1276/2436/854 -f 1272/2437/840 1271/2392/840 1296/2434/840 1273/2438/840 -f 1276/2340/837 1295/2433/837 1270/2391/837 1269/2335/837 -f 1247/2345/836 1242/2348/836 1241/2389/836 1246/2398/836 -o Tech_thingy_Cylinder.011 -v -1.457017 0.997796 3.139627 -v -1.457017 1.110929 3.189700 -v -1.405270 1.098405 3.216824 -v -1.405270 0.985272 3.166751 -v -1.405270 1.073357 3.271072 -v -1.405270 0.960224 3.220999 -v -1.457017 1.060833 3.298196 -v -1.457017 0.947700 3.248123 -v -1.508763 1.073357 3.271072 -v -1.508763 0.960224 3.220999 -v -1.508763 1.098405 3.216824 -v -1.508763 0.985272 3.166751 -v -1.322476 0.997796 3.139627 -v -1.322476 1.110929 3.189700 -v -1.270730 1.098405 3.216824 -v -1.270730 0.985272 3.166751 -v -1.270730 1.073357 3.271072 -v -1.270730 0.960224 3.220999 -v -1.322476 1.060833 3.298196 -v -1.322476 0.947700 3.248123 -v -1.374223 1.073357 3.271072 -v -1.374223 0.960224 3.220999 -v -1.374223 1.098405 3.216824 -v -1.374223 0.985272 3.166751 -v -1.187935 0.997796 3.139627 -v -1.187935 1.110929 3.189700 -v -1.136189 1.098405 3.216824 -v -1.136189 0.985272 3.166751 -v -1.136189 1.073357 3.271072 -v -1.136189 0.960224 3.220999 -v -1.187935 1.060833 3.298196 -v -1.187935 0.947700 3.248123 -v -1.239682 1.073357 3.271072 -v -1.239682 0.960224 3.220999 -v -1.239682 1.098405 3.216824 -v -1.239682 0.985272 3.166751 -v -1.551588 0.824089 3.270719 -v -1.551588 0.906574 3.321562 -v -1.551588 1.018668 3.066710 -v -1.551588 0.936183 3.015867 -v -1.097206 1.018668 3.066710 -v -1.097206 0.936183 3.015867 -v -1.097206 0.906574 3.321562 -v -1.097206 0.824089 3.270719 -v -1.521210 0.950031 3.320343 -v -1.521210 1.047137 3.099566 -v -1.127583 1.047137 3.099566 -v -1.127583 0.950031 3.320343 -v -1.457017 0.997796 2.860373 -v -1.405271 0.985272 2.833249 -v -1.405271 1.098405 2.783176 -v -1.457017 1.110929 2.810300 -v -1.405271 0.960224 2.779001 -v -1.405271 1.073357 2.728928 -v -1.457017 0.947700 2.751877 -v -1.457017 1.060833 2.701804 -v -1.508764 0.960224 2.779001 -v -1.508764 1.073357 2.728928 -v -1.508764 1.098405 2.783176 -v -1.508764 0.985272 2.833249 -v -1.322476 0.997796 2.860373 -v -1.270730 0.985272 2.833249 -v -1.270730 1.098405 2.783176 -v -1.322476 1.110929 2.810300 -v -1.270730 0.960224 2.779001 -v -1.270730 1.073357 2.728928 -v -1.322476 0.947700 2.751877 -v -1.322476 1.060833 2.701804 -v -1.374223 0.960224 2.779001 -v -1.374223 1.073357 2.728928 -v -1.374223 1.098405 2.783176 -v -1.374223 0.985272 2.833249 -v -1.187936 0.997796 2.860373 -v -1.136189 0.985272 2.833249 -v -1.136189 1.098405 2.783176 -v -1.187936 1.110929 2.810300 -v -1.136189 0.960224 2.779001 -v -1.136189 1.073357 2.728928 -v -1.187936 0.947700 2.751877 -v -1.187936 1.060833 2.701804 -v -1.239682 0.960224 2.779001 -v -1.239682 1.073357 2.728928 -v -1.239682 1.098405 2.783176 -v -1.239682 0.985272 2.833249 -v -1.551588 0.824089 2.729281 -v -1.551588 0.936183 2.984133 -v -1.551588 1.018668 2.933290 -v -1.551588 0.906574 2.678438 -v -1.097206 0.936183 2.984133 -v -1.097206 1.018668 2.933290 -v -1.097206 0.824089 2.729281 -v -1.097206 0.906574 2.678438 -v -1.521211 1.047137 2.900434 -v -1.521211 0.950031 2.679657 -v -1.127584 1.047137 2.900434 -v -1.127584 0.950031 2.679657 -vt 0.803021 0.000268 -vt 0.908675 0.000268 -vt 0.908270 0.051294 -vt 0.802616 0.051294 -vt 0.907459 0.102314 -vt 0.801805 0.102314 -vt 0.907054 0.153340 -vt 0.801400 0.153340 -vt 0.907459 0.204365 -vt 0.801805 0.204365 -vt 0.611293 0.613624 -vt 0.662320 0.613624 -vt 0.687833 0.657815 -vt 0.662320 0.702005 -vt 0.611293 0.702005 -vt 0.585779 0.657814 -vt 0.908270 0.255385 -vt 0.802616 0.255385 -vt 0.908675 0.306410 -vt 0.803021 0.306410 -vt 0.587400 0.306946 -vt 0.693054 0.306946 -vt 0.692649 0.357971 -vt 0.586995 0.357971 -vt 0.691839 0.408991 -vt 0.586185 0.408991 -vt 0.691434 0.460016 -vt 0.585779 0.460016 -vt 0.691839 0.511042 -vt 0.586185 0.511042 -vt 0.693590 0.746948 -vt 0.737780 0.721434 -vt 0.781971 0.746948 -vt 0.781971 0.797974 -vt 0.737780 0.823488 -vt 0.693590 0.797974 -vt 0.692649 0.562062 -vt 0.586995 0.562062 -vt 0.693054 0.613088 -vt 0.587400 0.613088 -vt 0.693590 0.719278 -vt 0.693590 0.613624 -vt 0.744615 0.614029 -vt 0.744615 0.719683 -vt 0.795635 0.614839 -vt 0.795635 0.720493 -vt 0.846660 0.615245 -vt 0.846660 0.720899 -vt 0.897686 0.614839 -vt 0.897686 0.720493 -vt 0.782507 0.746948 -vt 0.826697 0.721434 -vt 0.870889 0.746948 -vt 0.870889 0.797974 -vt 0.826697 0.823488 -vt 0.782507 0.797974 -vt 0.948706 0.614029 -vt 0.948706 0.719683 -vt 0.999732 0.613624 -vt 0.999732 0.719278 -vt 0.000349 0.115597 -vt 0.082314 0.104241 -vt 0.082232 0.342003 -vt 0.000268 0.353358 -vt 0.098665 0.445986 -vt 0.098694 0.363239 -vt 0.486728 0.363373 -vt 0.486700 0.446120 -vt 0.585161 0.353560 -vt 0.503205 0.342148 -vt 0.503287 0.104387 -vt 0.585244 0.115799 -vt 0.486854 0.000402 -vt 0.486825 0.083149 -vt 0.098790 0.083015 -vt 0.098819 0.000268 -vt 0.124720 0.120150 -vt 0.124649 0.326122 -vt 0.460800 0.326238 -vt 0.460871 0.120266 -vt 0.695211 0.306410 -vt 0.694805 0.255385 -vt 0.800460 0.255385 -vt 0.800865 0.306410 -vt 0.693995 0.204365 -vt 0.799649 0.204365 -vt 0.693590 0.153340 -vt 0.799244 0.153340 -vt 0.693995 0.102314 -vt 0.799649 0.102314 -vt 0.801400 0.486076 -vt 0.801400 0.435049 -vt 0.845590 0.409535 -vt 0.889782 0.435049 -vt 0.889782 0.486076 -vt 0.845590 0.511589 -vt 0.694805 0.051294 -vt 0.800460 0.051294 -vt 0.695211 0.000268 -vt 0.800865 0.000268 -vt 0.587400 0.306410 -vt 0.586995 0.255385 -vt 0.692649 0.255385 -vt 0.693054 0.306410 -vt 0.586185 0.204365 -vt 0.691839 0.204365 -vt 0.585779 0.153340 -vt 0.691434 0.153340 -vt 0.586185 0.102314 -vt 0.691839 0.102314 -vt 0.801400 0.383486 -vt 0.801400 0.332459 -vt 0.845591 0.306946 -vt 0.889782 0.332459 -vt 0.889782 0.383486 -vt 0.845591 0.409000 -vt 0.586995 0.051294 -vt 0.692649 0.051294 -vt 0.587400 0.000268 -vt 0.693054 0.000268 -vt 0.695211 0.613088 -vt 0.694805 0.562063 -vt 0.800460 0.562062 -vt 0.800865 0.613088 -vt 0.693995 0.511042 -vt 0.799649 0.511042 -vt 0.693590 0.460016 -vt 0.799244 0.460016 -vt 0.693995 0.408991 -vt 0.799649 0.408991 -vt 0.585779 0.779081 -vt 0.585779 0.728054 -vt 0.629971 0.702541 -vt 0.674161 0.728055 -vt 0.674161 0.779081 -vt 0.629971 0.804595 -vt 0.694805 0.357971 -vt 0.800459 0.357971 -vt 0.695211 0.306946 -vt 0.800865 0.306946 -vt 0.000268 0.777012 -vt 0.000268 0.539250 -vt 0.082229 0.550634 -vt 0.082229 0.788396 -vt 0.098698 0.446656 -vt 0.486733 0.446656 -vt 0.486733 0.529404 -vt 0.098698 0.529403 -vt 0.585162 0.539250 -vt 0.585162 0.777011 -vt 0.503202 0.788396 -vt 0.503201 0.550634 -vt 0.486733 0.892375 -vt 0.098698 0.892375 -vt 0.098698 0.809627 -vt 0.486733 0.809627 -vt 0.124639 0.566530 -vt 0.124639 0.772501 -vt 0.460790 0.566530 -vt 0.460790 0.772501 -vn 0.4999 0.3505 -0.7920 -vn 1.0000 0.0000 0.0000 -vn 0.4999 -0.3505 0.7920 -vn -0.5000 -0.3505 0.7919 -vn 0.0000 0.9079 0.4192 -vn -1.0000 0.0000 0.0000 -vn -0.5000 0.3505 -0.7919 -vn 0.5000 0.3505 -0.7919 -vn 0.5000 -0.3505 0.7919 -vn -0.5000 -0.3505 0.7920 -vn -0.4999 0.3505 -0.7920 -vn 0.0000 0.5247 -0.8513 -vn 0.0000 -0.5247 0.8513 -vn -0.7911 0.5599 0.2463 -vn 0.0000 0.9154 0.4026 -vn 0.0000 0.0280 0.9996 -vn 0.0000 0.7558 -0.6548 -vn 0.7911 0.5599 0.2463 -vn 0.5000 0.3505 0.7919 -vn 0.5000 -0.3505 -0.7919 -vn -0.4999 -0.3505 -0.7920 -vn 0.0000 0.9079 -0.4192 -vn -0.4999 0.3505 0.7920 -vn 0.4999 0.3505 0.7920 -vn 0.4999 -0.3505 -0.7920 -vn -0.5000 -0.3505 -0.7919 -vn -0.5000 0.3505 0.7919 -vn 0.0000 0.5247 0.8513 -vn 0.0000 -0.5247 -0.8513 -vn -0.7911 0.5599 -0.2463 -vn 0.0000 0.9154 -0.4026 -vn 0.0000 0.0280 -0.9996 -vn 0.0000 0.7558 0.6548 -vn 0.7911 0.5599 -0.2463 -s off -f 1297/2439/861 1298/2440/861 1299/2441/861 1300/2442/861 -f 1300/2442/862 1299/2441/862 1301/2443/862 1302/2444/862 -f 1302/2444/863 1301/2443/863 1303/2445/863 1304/2446/863 -f 1304/2446/864 1303/2445/864 1305/2447/864 1306/2448/864 -f 1299/2449/865 1298/2450/865 1307/2451/865 1305/2452/865 1303/2453/865 1301/2454/865 -f 1306/2448/866 1305/2447/866 1307/2455/866 1308/2456/866 -f 1308/2456/867 1307/2455/867 1298/2457/867 1297/2458/867 -f 1309/2459/868 1310/2460/868 1311/2461/868 1312/2462/868 -f 1312/2462/862 1311/2461/862 1313/2463/862 1314/2464/862 -f 1314/2464/869 1313/2463/869 1315/2465/869 1316/2466/869 -f 1316/2466/870 1315/2465/870 1317/2467/870 1318/2468/870 -f 1311/2469/865 1310/2470/865 1319/2471/865 1317/2472/865 1315/2473/865 1313/2474/865 -f 1318/2468/866 1317/2467/866 1319/2475/866 1320/2476/866 -f 1320/2476/871 1319/2475/871 1310/2477/871 1309/2478/871 -f 1321/2479/868 1322/2480/868 1323/2481/868 1324/2482/868 -f 1324/2482/862 1323/2481/862 1325/2483/862 1326/2484/862 -f 1326/2484/869 1325/2483/869 1327/2485/869 1328/2486/869 -f 1328/2486/870 1327/2485/870 1329/2487/870 1330/2488/870 -f 1323/2489/865 1322/2490/865 1331/2491/865 1329/2492/865 1327/2493/865 1325/2494/865 -f 1330/2488/866 1329/2487/866 1331/2495/866 1332/2496/866 -f 1332/2496/871 1331/2495/871 1322/2497/871 1321/2498/871 -f 1333/2499/866 1334/2500/866 1335/2501/866 1336/2502/866 -f 1336/2503/872 1335/2504/872 1337/2505/872 1338/2506/872 -f 1338/2507/862 1337/2508/862 1339/2509/862 1340/2510/862 -f 1340/2511/873 1339/2512/873 1334/2513/873 1333/2514/873 -f 1335/2501/874 1334/2500/874 1341/2515/874 1342/2516/874 -f 1343/2517/875 1342/2516/875 1341/2515/875 1344/2518/875 -f 1334/2513/876 1339/2512/876 1344/2518/876 1341/2515/876 -f 1337/2505/877 1335/2504/877 1342/2516/877 1343/2517/877 -f 1339/2509/878 1337/2508/878 1343/2517/878 1344/2518/878 -f 1345/2519/879 1346/2520/879 1347/2521/879 1348/2522/879 -f 1346/2520/862 1349/2523/862 1350/2524/862 1347/2521/862 -f 1349/2523/880 1351/2525/880 1352/2526/880 1350/2524/880 -f 1351/2525/881 1353/2527/881 1354/2528/881 1352/2526/881 -f 1347/2529/882 1350/2530/882 1352/2531/882 1354/2532/882 1355/2533/882 1348/2534/882 -f 1353/2527/866 1356/2535/866 1355/2536/866 1354/2528/866 -f 1356/2535/883 1345/2537/883 1348/2538/883 1355/2536/883 -f 1357/2539/879 1358/2540/879 1359/2541/879 1360/2542/879 -f 1358/2540/862 1361/2543/862 1362/2544/862 1359/2541/862 -f 1361/2543/880 1363/2545/880 1364/2546/880 1362/2544/880 -f 1363/2545/881 1365/2547/881 1366/2548/881 1364/2546/881 -f 1359/2549/882 1362/2550/882 1364/2551/882 1366/2552/882 1367/2553/882 1360/2554/882 -f 1365/2547/866 1368/2555/866 1367/2556/866 1366/2548/866 -f 1368/2555/883 1357/2557/883 1360/2558/883 1367/2556/883 -f 1369/2559/884 1370/2560/884 1371/2561/884 1372/2562/884 -f 1370/2560/862 1373/2563/862 1374/2564/862 1371/2561/862 -f 1373/2563/885 1375/2565/885 1376/2566/885 1374/2564/885 -f 1375/2565/886 1377/2567/886 1378/2568/886 1376/2566/886 -f 1371/2569/882 1374/2570/882 1376/2571/882 1378/2572/882 1379/2573/882 1372/2574/882 -f 1377/2567/866 1380/2575/866 1379/2576/866 1378/2568/866 -f 1380/2575/887 1369/2577/887 1372/2578/887 1379/2576/887 -f 1381/2579/866 1382/2580/866 1383/2581/866 1384/2582/866 -f 1382/2583/888 1385/2584/888 1386/2585/888 1383/2586/888 -f 1385/2587/862 1387/2588/862 1388/2589/862 1386/2590/862 -f 1387/2591/889 1381/2592/889 1384/2593/889 1388/2594/889 -f 1383/2581/890 1389/2595/890 1390/2596/890 1384/2582/890 -f 1391/2597/891 1392/2598/891 1390/2596/891 1389/2595/891 -f 1384/2593/892 1390/2596/892 1392/2598/892 1388/2594/892 -f 1386/2585/893 1391/2597/893 1389/2595/893 1383/2586/893 -f 1388/2589/894 1392/2598/894 1391/2597/894 1386/2590/894 -o Coils_Cylinder.012 -v -0.463562 0.524760 2.571894 -v -0.237813 0.524760 2.571894 -v -0.237813 0.222044 2.697284 -v -0.463562 0.222044 2.697284 -v -0.237813 0.096655 3.000000 -v -0.463562 0.096655 3.000000 -v -0.237813 0.222044 3.302716 -v -0.463562 0.222044 3.302716 -v -0.237813 0.524760 3.428106 -v -0.463562 0.524760 3.428106 -v -0.237813 0.827477 3.302716 -v -0.463562 0.827477 3.302716 -v -0.237813 0.952866 3.000000 -v -0.463562 0.952866 3.000000 -v -0.237813 0.827477 2.697284 -v -0.463562 0.827477 2.697284 -v -0.170088 0.524760 2.571894 -v 0.055660 0.524760 2.571894 -v 0.055660 0.222044 2.697284 -v -0.170088 0.222044 2.697284 -v 0.055660 0.096655 3.000000 -v -0.170088 0.096655 3.000000 -v 0.055660 0.222044 3.302716 -v -0.170088 0.222044 3.302716 -v 0.055660 0.524760 3.428106 -v -0.170088 0.524760 3.428106 -v 0.055660 0.827477 3.302716 -v -0.170088 0.827477 3.302716 -v 0.055660 0.952866 3.000000 -v -0.170088 0.952866 3.000000 -v 0.055660 0.827477 2.697284 -v -0.170088 0.827477 2.697284 -v 0.123385 0.524760 2.571894 -v 0.349134 0.524760 2.571894 -v 0.349134 0.222044 2.697284 -v 0.123385 0.222044 2.697284 -v 0.349134 0.096655 3.000000 -v 0.123385 0.096655 3.000000 -v 0.349134 0.222044 3.302716 -v 0.123385 0.222044 3.302716 -v 0.349134 0.524760 3.428106 -v 0.123385 0.524760 3.428106 -v 0.349134 0.827477 3.302716 -v 0.123385 0.827477 3.302716 -v 0.349134 0.952866 3.000000 -v 0.123385 0.952866 3.000000 -v 0.349134 0.827477 2.697284 -v 0.123385 0.827477 2.697284 -v 0.416858 0.524760 2.571894 -v 0.642607 0.524760 2.571894 -v 0.642607 0.222044 2.697284 -v 0.416858 0.222044 2.697284 -v 0.642607 0.096655 3.000000 -v 0.416858 0.096655 3.000000 -v 0.642607 0.222044 3.302716 -v 0.416858 0.222044 3.302716 -v 0.642607 0.524760 3.428106 -v 0.416858 0.524760 3.428106 -v 0.642607 0.827477 3.302716 -v 0.416858 0.827477 3.302716 -v 0.642607 0.952866 3.000000 -v 0.416858 0.952866 3.000000 -v 0.642607 0.827477 2.697284 -v 0.416858 0.827477 2.697284 -v 0.710331 0.524760 2.571894 -v 0.936080 0.524760 2.571894 -v 0.936080 0.222044 2.697284 -v 0.710331 0.222044 2.697284 -v 0.936080 0.096655 3.000000 -v 0.710331 0.096655 3.000000 -v 0.936080 0.222044 3.302716 -v 0.710331 0.222044 3.302716 -v 0.936080 0.524760 3.428106 -v 0.710331 0.524760 3.428106 -v 0.936080 0.827477 3.302716 -v 0.710331 0.827477 3.302716 -v 0.936080 0.952866 3.000000 -v 0.710331 0.952866 3.000000 -v 0.936080 0.827477 2.697284 -v 0.710331 0.827477 2.697284 -vt 0.781097 0.399443 -vt 0.718903 0.399443 -vt 0.718903 0.309173 -vt 0.781097 0.309173 -vt 0.718903 0.218903 -vt 0.781097 0.218903 -vt 0.781097 0.941064 -vt 0.718903 0.941064 -vt 0.718903 0.850794 -vt 0.781097 0.850794 -vt 0.718903 0.760524 -vt 0.781097 0.760524 -vt 0.718903 0.670254 -vt 0.781097 0.670254 -vt 0.718903 0.579984 -vt 0.781097 0.579984 -vt 0.218903 0.282734 -vt 0.282733 0.218903 -vt 0.373004 0.218903 -vt 0.436834 0.282734 -vt 0.436834 0.373004 -vt 0.373003 0.436835 -vt 0.282733 0.436834 -vt 0.218903 0.373004 -vt 0.718903 0.489714 -vt 0.781097 0.489714 -vt 0.064155 0.437482 -vt 0.154425 0.437483 -vt 0.218255 0.501313 -vt 0.218255 0.591583 -vt 0.154425 0.655414 -vt 0.064154 0.655414 -vt 0.000324 0.591583 -vt 0.000324 0.501313 -vt 0.999676 0.180864 -vt 0.937482 0.180864 -vt 0.937482 0.090594 -vt 0.999676 0.090594 -vt 0.937482 0.000324 -vt 0.999676 0.000324 -vt 0.999676 0.722485 -vt 0.937482 0.722485 -vt 0.937482 0.632215 -vt 0.999676 0.632215 -vt 0.937482 0.541944 -vt 0.999676 0.541944 -vt 0.937482 0.451674 -vt 0.999676 0.451674 -vt 0.937482 0.361404 -vt 0.999676 0.361404 -vt 0.000324 0.282734 -vt 0.064154 0.218903 -vt 0.154425 0.218903 -vt 0.218255 0.282734 -vt 0.218255 0.373004 -vt 0.154424 0.436835 -vt 0.064154 0.436834 -vt 0.000324 0.373004 -vt 0.937482 0.271134 -vt 0.999676 0.271134 -vt 0.501313 0.218903 -vt 0.591583 0.218903 -vt 0.655413 0.282734 -vt 0.655413 0.373004 -vt 0.591583 0.436835 -vt 0.501313 0.436834 -vt 0.437482 0.373004 -vt 0.437482 0.282734 -vt 0.718255 0.399443 -vt 0.656061 0.399443 -vt 0.656061 0.309173 -vt 0.718255 0.309173 -vt 0.656061 0.218903 -vt 0.718255 0.218903 -vt 0.718255 0.941064 -vt 0.656061 0.941064 -vt 0.656061 0.850794 -vt 0.718255 0.850794 -vt 0.656061 0.760524 -vt 0.718255 0.760524 -vt 0.656061 0.670254 -vt 0.718255 0.670254 -vt 0.656061 0.579984 -vt 0.718255 0.579984 -vt 0.218903 0.501313 -vt 0.282733 0.437482 -vt 0.373004 0.437483 -vt 0.436834 0.501313 -vt 0.436834 0.591583 -vt 0.373003 0.655414 -vt 0.282733 0.655414 -vt 0.218903 0.591583 -vt 0.656061 0.489714 -vt 0.718255 0.489714 -vt 0.501313 0.437482 -vt 0.591583 0.437483 -vt 0.655413 0.501313 -vt 0.655413 0.591583 -vt 0.591583 0.655414 -vt 0.501313 0.655414 -vt 0.437482 0.591583 -vt 0.437482 0.501313 -vt 0.936834 0.180864 -vt 0.874640 0.180864 -vt 0.874640 0.090594 -vt 0.936834 0.090594 -vt 0.874640 0.000324 -vt 0.936834 0.000324 -vt 0.936834 0.722484 -vt 0.874640 0.722484 -vt 0.874640 0.632214 -vt 0.936834 0.632214 -vt 0.874640 0.541944 -vt 0.936834 0.541944 -vt 0.874640 0.451674 -vt 0.936834 0.451674 -vt 0.874640 0.361404 -vt 0.936834 0.361404 -vt 0.656061 0.064155 -vt 0.719891 0.000324 -vt 0.810162 0.000324 -vt 0.873992 0.064155 -vt 0.873992 0.154425 -vt 0.810162 0.218255 -vt 0.719891 0.218255 -vt 0.656061 0.154425 -vt 0.874640 0.271134 -vt 0.936834 0.271134 -vt 0.501313 0.000324 -vt 0.591583 0.000324 -vt 0.655413 0.064155 -vt 0.655413 0.154425 -vt 0.591583 0.218255 -vt 0.501313 0.218255 -vt 0.437482 0.154425 -vt 0.437482 0.064155 -vt 0.873992 0.399443 -vt 0.811798 0.399443 -vt 0.811798 0.309173 -vt 0.873992 0.309173 -vt 0.811798 0.218903 -vt 0.873992 0.218903 -vt 0.873992 0.941064 -vt 0.811798 0.941064 -vt 0.811798 0.850794 -vt 0.873992 0.850794 -vt 0.811798 0.760524 -vt 0.873992 0.760524 -vt 0.811798 0.670253 -vt 0.873992 0.670253 -vt 0.811798 0.579983 -vt 0.873992 0.579983 -vt 0.218903 0.064155 -vt 0.282733 0.000324 -vt 0.373004 0.000324 -vt 0.436834 0.064155 -vt 0.436834 0.154425 -vt 0.373003 0.218255 -vt 0.282733 0.218255 -vt 0.218903 0.154425 -vt 0.811798 0.489713 -vt 0.873992 0.489713 -vt 0.064155 0.000324 -vt 0.154425 0.000324 -vt 0.218255 0.064155 -vt 0.218255 0.154425 -vt 0.154425 0.218255 -vt 0.064154 0.218255 -vt 0.000324 0.154425 -vt 0.000324 0.064155 -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 1.0000 0.0000 0.0000 -vn 0.0000 0.9239 -0.3827 -vn 0.0000 0.3827 -0.9239 -vn -1.0000 0.0000 0.0000 -s off -f 1393/2599/895 1394/2600/895 1395/2601/895 1396/2602/895 -f 1396/2602/896 1395/2601/896 1397/2603/896 1398/2604/896 -f 1398/2605/897 1397/2606/897 1399/2607/897 1400/2608/897 -f 1400/2608/898 1399/2607/898 1401/2609/898 1402/2610/898 -f 1402/2610/899 1401/2609/899 1403/2611/899 1404/2612/899 -f 1404/2612/900 1403/2611/900 1405/2613/900 1406/2614/900 -f 1395/2615/901 1394/2616/901 1407/2617/901 1405/2618/901 1403/2619/901 1401/2620/901 1399/2621/901 1397/2622/901 -f 1406/2614/902 1405/2613/902 1407/2623/902 1408/2624/902 -f 1408/2624/903 1407/2623/903 1394/2600/903 1393/2599/903 -f 1393/2625/904 1396/2626/904 1398/2627/904 1400/2628/904 1402/2629/904 1404/2630/904 1406/2631/904 1408/2632/904 -f 1409/2633/895 1410/2634/895 1411/2635/895 1412/2636/895 -f 1412/2636/896 1411/2635/896 1413/2637/896 1414/2638/896 -f 1414/2639/897 1413/2640/897 1415/2641/897 1416/2642/897 -f 1416/2642/898 1415/2641/898 1417/2643/898 1418/2644/898 -f 1418/2644/899 1417/2643/899 1419/2645/899 1420/2646/899 -f 1420/2646/900 1419/2645/900 1421/2647/900 1422/2648/900 -f 1411/2649/901 1410/2650/901 1423/2651/901 1421/2652/901 1419/2653/901 1417/2654/901 1415/2655/901 1413/2656/901 -f 1422/2648/902 1421/2647/902 1423/2657/902 1424/2658/902 -f 1424/2658/903 1423/2657/903 1410/2634/903 1409/2633/903 -f 1409/2659/904 1412/2660/904 1414/2661/904 1416/2662/904 1418/2663/904 1420/2664/904 1422/2665/904 1424/2666/904 -f 1425/2667/895 1426/2668/895 1427/2669/895 1428/2670/895 -f 1428/2670/896 1427/2669/896 1429/2671/896 1430/2672/896 -f 1430/2673/897 1429/2674/897 1431/2675/897 1432/2676/897 -f 1432/2676/898 1431/2675/898 1433/2677/898 1434/2678/898 -f 1434/2678/899 1433/2677/899 1435/2679/899 1436/2680/899 -f 1436/2680/900 1435/2679/900 1437/2681/900 1438/2682/900 -f 1427/2683/901 1426/2684/901 1439/2685/901 1437/2686/901 1435/2687/901 1433/2688/901 1431/2689/901 1429/2690/901 -f 1438/2682/902 1437/2681/902 1439/2691/902 1440/2692/902 -f 1440/2692/903 1439/2691/903 1426/2668/903 1425/2667/903 -f 1425/2693/904 1428/2694/904 1430/2695/904 1432/2696/904 1434/2697/904 1436/2698/904 1438/2699/904 1440/2700/904 -f 1441/2701/895 1442/2702/895 1443/2703/895 1444/2704/895 -f 1444/2704/896 1443/2703/896 1445/2705/896 1446/2706/896 -f 1446/2707/897 1445/2708/897 1447/2709/897 1448/2710/897 -f 1448/2710/898 1447/2709/898 1449/2711/898 1450/2712/898 -f 1450/2712/899 1449/2711/899 1451/2713/899 1452/2714/899 -f 1452/2714/900 1451/2713/900 1453/2715/900 1454/2716/900 -f 1443/2717/901 1442/2718/901 1455/2719/901 1453/2720/901 1451/2721/901 1449/2722/901 1447/2723/901 1445/2724/901 -f 1454/2716/902 1453/2715/902 1455/2725/902 1456/2726/902 -f 1456/2726/903 1455/2725/903 1442/2702/903 1441/2701/903 -f 1441/2727/904 1444/2728/904 1446/2729/904 1448/2730/904 1450/2731/904 1452/2732/904 1454/2733/904 1456/2734/904 -f 1457/2735/895 1458/2736/895 1459/2737/895 1460/2738/895 -f 1460/2738/896 1459/2737/896 1461/2739/896 1462/2740/896 -f 1462/2741/897 1461/2742/897 1463/2743/897 1464/2744/897 -f 1464/2744/898 1463/2743/898 1465/2745/898 1466/2746/898 -f 1466/2746/899 1465/2745/899 1467/2747/899 1468/2748/899 -f 1468/2748/900 1467/2747/900 1469/2749/900 1470/2750/900 -f 1459/2751/901 1458/2752/901 1471/2753/901 1469/2754/901 1467/2755/901 1465/2756/901 1463/2757/901 1461/2758/901 -f 1470/2750/902 1469/2749/902 1471/2759/902 1472/2760/902 -f 1472/2760/903 1471/2759/903 1458/2736/903 1457/2735/903 -f 1457/2761/904 1460/2762/904 1462/2763/904 1464/2764/904 1466/2765/904 1468/2766/904 1470/2767/904 1472/2768/904 +f 2/1/1 4/2/1 1/3/1 +f 3/4/2 6/5/2 4/2/2 +f 5/6/3 8/7/3 6/8/3 +f 7/9/4 10/10/4 8/7/4 +f 9/11/5 12/12/5 10/10/5 +f 11/13/6 14/14/6 12/12/6 +f 7/15/7 5/16/7 13/17/7 +f 13/18/8 16/19/8 14/14/8 +f 15/20/9 1/3/9 16/19/9 +f 8/21/10 12/22/10 16/23/10 +f 18/24/1 20/25/1 17/26/1 +f 19/27/2 22/28/2 20/25/2 +f 21/29/3 24/30/3 22/31/3 +f 23/32/4 26/33/4 24/30/4 +f 25/34/5 28/35/5 26/33/5 +f 27/36/6 30/37/6 28/35/6 +f 23/38/7 21/39/7 29/40/7 +f 29/41/8 32/42/8 30/37/8 +f 31/43/9 17/26/9 32/42/9 +f 24/44/10 28/45/10 32/46/10 +f 34/47/1 36/48/1 33/49/1 +f 35/50/2 38/51/2 36/48/2 +f 37/52/3 40/53/3 38/54/3 +f 39/55/4 42/56/4 40/53/4 +f 41/57/5 44/58/5 42/56/5 +f 43/59/6 46/60/6 44/58/6 +f 39/61/7 37/62/7 45/63/7 +f 45/64/8 48/65/8 46/60/8 +f 47/66/9 33/49/9 48/65/9 +f 40/67/10 44/68/10 48/69/10 +f 50/70/1 52/71/1 49/72/1 +f 51/73/2 54/74/2 52/71/2 +f 53/75/3 56/76/3 54/77/3 +f 55/78/4 58/79/4 56/76/4 +f 57/80/5 60/81/5 58/79/5 +f 59/82/6 62/83/6 60/81/6 +f 55/84/7 53/85/7 61/86/7 +f 61/87/8 64/88/8 62/83/8 +f 63/89/9 49/72/9 64/88/9 +f 56/90/10 60/91/10 64/92/10 +f 66/93/1 68/94/1 65/95/1 +f 67/96/2 70/97/2 68/94/2 +f 69/98/3 72/99/3 70/100/3 +f 71/101/4 74/102/4 72/99/4 +f 73/103/5 76/104/5 74/102/5 +f 75/105/6 78/106/6 76/104/6 +f 71/107/7 69/108/7 77/109/7 +f 77/110/8 80/111/8 78/106/8 +f 79/112/9 65/95/9 80/111/9 +f 72/113/10 76/114/10 80/115/10 +f 81/116/11 83/117/11 84/118/11 +f 84/118/7 85/119/7 86/120/7 +f 86/120/12 87/121/12 88/122/12 +f 87/121/13 90/123/13 88/122/13 +f 87/124/14 85/125/14 82/126/14 +f 89/127/10 92/128/10 90/123/10 +f 91/129/15 81/130/15 92/128/15 +f 93/131/16 95/132/16 96/133/16 +f 96/133/7 97/134/7 98/135/7 +f 98/135/17 99/136/17 100/137/17 +f 99/136/18 102/138/18 100/137/18 +f 99/139/14 97/140/14 94/141/14 +f 101/142/10 104/143/10 102/138/10 +f 103/144/19 93/145/19 104/143/19 +f 105/146/16 107/147/16 108/148/16 +f 108/148/7 109/149/7 110/150/7 +f 110/150/17 111/151/17 112/152/17 +f 111/151/18 114/153/18 112/152/18 +f 111/154/14 109/155/14 106/156/14 +f 113/157/10 116/158/10 114/153/10 +f 115/159/19 105/160/19 116/158/19 +f 117/161/10 119/162/10 120/163/10 +f 119/164/20 122/165/20 120/166/20 +f 121/167/7 124/168/7 122/169/7 +f 123/170/21 117/171/21 124/172/21 +f 118/173/22 126/174/22 119/162/22 +f 126/174/23 128/175/23 127/176/23 +f 123/170/24 125/177/24 118/178/24 +f 121/179/25 126/174/25 127/176/25 +f 123/180/26 127/176/26 128/175/26 +f 129/181/27 131/182/27 132/183/27 +f 130/184/7 134/185/7 131/182/7 +f 133/186/28 136/187/28 134/185/28 +f 137/188/29 136/187/29 135/189/29 +f 138/190/30 139/191/30 132/192/30 +f 140/193/10 138/194/10 137/188/10 +f 129/195/31 139/196/31 140/193/31 +f 141/197/27 143/198/27 144/199/27 +f 142/200/7 146/201/7 143/198/7 +f 145/202/28 148/203/28 146/201/28 +f 149/204/29 148/203/29 147/205/29 +f 150/206/30 151/207/30 144/208/30 +f 152/209/10 150/210/10 149/204/10 +f 141/211/31 151/212/31 152/209/31 +f 153/213/32 155/214/32 156/215/32 +f 154/216/7 158/217/7 155/214/7 +f 157/218/33 160/219/33 158/217/33 +f 161/220/34 160/219/34 159/221/34 +f 162/222/30 163/223/30 156/224/30 +f 164/225/10 162/226/10 161/220/10 +f 153/227/35 163/228/35 164/225/35 +f 165/229/10 167/230/10 168/231/10 +f 169/232/36 167/233/36 166/234/36 +f 171/235/7 170/236/7 169/237/7 +f 165/238/37 172/239/37 171/240/37 +f 173/241/38 168/231/38 167/230/38 +f 176/242/39 173/241/39 175/243/39 +f 168/244/40 176/242/40 172/239/40 +f 175/243/41 167/233/41 170/245/41 +f 172/246/42 175/243/42 170/236/42 +f 178/247/43 180/248/43 177/249/43 +f 208/250/44 211/251/44 205/252/44 +f 211/253/45 212/254/45 205/255/45 +f 188/256/46 181/257/46 185/258/46 +f 185/259/45 178/247/45 183/260/45 +f 183/261/47 187/262/47 185/263/47 +f 190/264/48 192/265/48 189/266/48 +f 188/267/49 189/266/49 182/268/49 +f 188/269/50 187/270/50 190/264/50 +f 182/271/51 186/272/51 183/273/51 +f 193/274/52 194/275/52 195/276/52 +f 187/270/46 191/277/46 190/264/46 +f 189/266/44 193/274/44 186/272/44 +f 186/272/45 196/278/45 187/262/45 +f 194/279/53 198/280/53 199/281/53 +f 196/278/54 195/282/54 200/283/54 +f 191/277/55 194/284/55 192/265/55 +f 196/285/56 197/286/56 191/277/56 +f 202/287/7 198/280/7 201/288/7 +f 200/289/57 198/280/57 197/290/57 +f 194/279/58 202/291/58 195/292/58 +f 195/292/59 201/293/59 200/294/59 +f 180/295/10 204/296/10 203/297/10 +f 184/298/60 204/296/60 181/257/60 +f 181/299/45 179/300/45 178/247/45 +f 184/298/48 180/301/48 203/302/48 +f 206/303/43 208/250/43 205/252/43 +f 216/304/46 209/305/46 212/306/46 +f 213/307/48 208/250/48 209/308/48 +f 188/309/48 177/310/48 184/311/48 +f 213/312/49 215/313/49 210/314/49 +f 218/315/45 220/316/45 217/317/45 +f 217/317/61 216/318/61 211/319/61 +f 216/320/62 214/321/62 213/322/62 +f 215/313/51 211/323/51 210/324/51 +f 221/325/63 223/326/63 218/315/63 +f 219/327/46 214/321/46 220/316/46 +f 221/325/44 217/317/44 215/313/44 +f 224/328/48 215/313/48 214/329/48 +f 223/330/59 226/331/59 227/332/59 +f 224/328/64 222/333/64 221/325/64 +f 223/334/65 219/327/65 218/315/65 +f 227/335/56 224/336/56 219/327/56 +f 226/331/7 230/337/7 229/338/7 +f 226/331/57 228/339/57 227/332/57 +f 230/340/58 223/330/58 222/341/58 +f 229/342/53 222/341/53 228/343/53 +f 232/344/10 206/345/10 231/346/10 +f 232/344/60 212/306/60 209/305/60 +f 207/347/48 209/308/48 208/250/48 +f 212/306/45 206/348/45 205/252/45 +f 178/247/44 182/349/44 183/260/44 +f 234/350/1 236/351/1 233/352/1 +f 235/353/2 238/354/2 236/351/2 +f 237/355/3 240/356/3 238/357/3 +f 239/358/4 242/359/4 240/356/4 +f 241/360/5 244/361/5 242/359/5 +f 243/362/6 246/363/6 244/361/6 +f 245/364/8 248/365/8 246/363/8 +f 247/366/9 233/352/9 248/365/9 +f 240/356/66 249/367/66 250/368/66 +f 255/369/10 256/370/10 250/371/10 +f 248/365/67 255/372/67 246/363/67 +f 238/354/68 252/373/68 236/351/68 +f 244/361/69 249/374/69 242/359/69 +f 248/365/70 251/375/70 256/376/70 +f 236/351/71 251/377/71 233/352/71 +f 238/357/72 250/378/72 253/379/72 +f 244/361/73 255/380/73 254/381/73 +f 258/382/74 260/383/74 257/384/74 +f 259/385/75 262/386/75 260/383/75 +f 261/387/76 264/388/76 262/386/76 +f 263/389/77 266/390/77 264/388/77 +f 265/391/78 268/392/78 266/390/78 +f 267/393/79 270/394/79 268/392/79 +f 261/395/48 258/382/48 269/396/48 +f 269/397/80 272/398/80 270/394/80 +f 271/399/81 257/400/81 272/398/81 +f 270/401/45 272/402/45 264/403/45 +f 274/404/45 276/405/45 273/406/45 +f 273/407/45 278/408/45 274/409/45 +f 280/410/82 282/411/82 279/412/82 +f 284/413/48 286/414/48 283/415/48 +f 278/408/83 287/416/83 274/409/83 +f 273/417/44 284/418/44 277/419/44 +f 276/420/44 290/421/44 288/422/44 +f 286/423/48 288/424/48 291/425/48 +f 273/417/44 288/422/44 285/426/44 +f 291/425/84 293/427/84 294/428/84 +f 290/429/10 295/430/10 292/431/10 +f 291/425/85 296/432/85 286/423/85 +f 276/405/45 295/433/45 289/434/45 +f 288/424/48 292/435/48 291/425/48 +f 280/436/46 296/437/46 287/416/46 +f 296/438/86 297/439/86 287/440/86 +f 294/428/87 298/441/87 297/439/87 +f 295/430/88 293/427/88 292/431/88 +f 320/442/89 277/419/89 284/418/89 +f 275/443/90 298/441/90 295/433/90 +f 275/443/91 287/444/91 297/445/91 +f 283/415/92 296/437/92 279/446/92 +f 306/447/93 308/448/93 281/449/93 +f 280/450/94 306/447/94 281/449/94 +f 279/451/95 299/452/95 283/453/95 +f 308/448/96 311/454/96 309/455/96 +f 305/456/97 311/457/97 312/458/98 +f 299/452/99 309/455/99 305/456/99 +f 281/449/100 309/455/100 282/411/100 +f 283/453/48 301/459/48 284/460/48 +f 319/461/7 312/462/101 318/463/102 +f 312/462/103 310/464/104 318/463/105 +f 284/460/48 302/465/48 320/466/48 +f 307/467/106 310/468/106 308/448/106 +f 301/469/76 313/470/76 321/471/76 +f 304/472/79 322/473/79 317/474/79 +f 300/475/75 314/476/75 313/470/75 +f 323/477/80 317/474/80 316/478/80 +f 324/479/81 316/478/81 315/480/81 +f 302/481/77 321/471/77 326/482/77 +f 303/483/78 326/482/78 322/473/78 +f 325/484/74 315/485/74 314/476/74 +f 299/452/48 305/456/48 324/486/48 +f 299/452/48 300/487/48 283/453/48 +f 303/488/48 312/458/107 320/466/48 +f 323/489/48 312/458/108 304/490/48 +f 326/491/45 277/492/45 319/493/45 +f 318/494/109 322/495/45 319/493/45 +f 318/494/110 316/496/45 317/497/45 +f 321/498/45 278/499/45 277/492/45 +f 306/447/45 313/500/45 314/501/45 +f 307/467/45 306/447/45 315/502/45 +f 327/503/45 329/504/45 330/505/45 +f 332/506/7 334/507/7 331/508/7 +f 336/509/44 338/510/44 335/511/44 +f 340/512/48 342/513/48 339/514/48 +f 344/515/44 346/516/44 343/517/44 +f 348/518/46 350/519/46 347/520/46 +f 352/521/45 354/522/45 351/523/45 +f 356/524/48 358/525/48 355/526/48 +f 360/527/10 362/528/10 359/529/10 +f 363/530/111 358/525/111 339/514/111 +f 357/531/112 343/517/112 340/512/112 +f 364/532/113 351/523/113 347/533/113 +f 336/509/114 327/503/114 344/515/114 +f 349/534/115 334/535/115 355/526/115 +f 338/510/116 356/524/116 333/536/116 +f 348/537/117 354/522/117 331/538/117 +f 335/511/118 332/539/118 353/540/118 +f 365/541/119 342/513/119 367/542/119 +f 341/543/120 369/544/120 368/545/120 +f 370/546/121 329/504/121 372/547/121 +f 373/548/122 330/505/122 374/549/122 +f 365/541/123 367/542/123 359/550/123 +f 368/545/124 369/544/124 360/551/124 +f 370/546/125 362/552/125 371/553/125 +f 373/548/126 374/549/126 361/554/126 +f 350/519/127 364/555/127 347/520/127 +f 357/531/48 339/514/48 358/525/48 +f 336/509/44 343/517/44 337/556/44 +f 352/521/45 328/557/45 327/503/45 +f 347/533/128 354/522/128 348/537/128 +f 335/511/114 352/521/114 336/509/114 +f 331/538/129 353/540/129 332/539/129 +f 348/518/130 334/507/130 349/558/130 +f 338/510/131 332/506/131 335/511/131 +f 355/526/132 333/536/132 356/524/132 +f 349/534/133 358/525/133 350/559/133 +f 337/556/112 356/524/112 338/510/112 +f 366/560/134 370/561/134 372/562/134 +f 341/543/48 367/542/48 342/513/48 +f 345/563/135 369/564/135 346/516/135 +f 330/505/45 371/553/45 374/549/45 +f 330/505/114 344/515/114 327/503/114 +f 340/512/112 346/516/112 341/543/112 +f 339/514/136 366/565/136 363/530/136 +f 328/557/137 372/547/137 329/504/137 +f 365/566/138 362/528/138 370/561/138 +f 368/545/139 359/550/139 367/542/139 +f 373/567/140 360/527/140 369/564/140 +f 374/549/141 362/552/141 361/554/141 +f 363/568/142 372/562/142 364/569/142 +f 376/570/10 378/571/10 375/572/10 +f 377/573/45 380/574/45 378/575/45 +f 379/576/7 382/577/7 380/578/7 +f 381/579/48 375/580/48 382/581/48 +f 375/580/143 383/582/143 384/583/143 +f 377/573/44 381/579/44 379/584/44 +f 387/585/46 383/586/46 386/587/46 +f 380/574/144 388/588/144 387/589/144 +f 378/571/145 383/586/145 375/572/145 +f 382/577/146 388/590/146 380/578/146 +f 390/591/45 392/592/45 389/593/45 +f 385/594/147 390/595/147 388/596/147 +f 384/597/48 393/598/48 385/599/48 +f 387/600/148 394/601/148 384/602/148 +f 387/603/45 390/591/45 389/593/45 +f 395/604/149 396/605/150 397/606/151 +f 393/607/152 391/608/152 390/595/152 +f 394/601/153 392/609/153 395/604/153 +f 393/598/48 395/610/48 398/611/48 +f 399/612/46 401/613/46 402/614/46 +f 395/610/48 402/615/48 398/611/48 +f 392/592/45 401/616/45 400/617/45 +f 398/618/154 401/613/154 391/608/154 +f 404/619/155 406/620/156 403/621/157 +f 400/617/158 396/622/159 392/592/158 +f 399/623/160 397/624/161 404/625/162 +f 399/612/163 403/621/164 400/626/163 +f 408/627/165 405/628/165 407/629/165 +f 396/622/166 406/630/167 408/631/167 +f 397/606/168 408/632/169 407/633/169 +f 404/625/170 407/634/171 405/635/171 +f 418/636/172 412/637/172 417/638/172 +f 409/639/48 417/640/48 412/641/48 +f 418/642/45 410/643/45 411/644/45 +f 415/645/48 417/640/48 414/646/48 +f 419/647/173 421/648/173 416/649/173 +f 418/642/45 422/650/45 413/651/45 +f 416/649/174 418/636/174 417/638/174 +f 422/652/175 414/653/175 413/654/175 +f 419/647/176 424/655/176 420/656/176 +f 424/655/177 415/657/177 422/652/177 +f 423/658/48 416/659/48 415/645/48 +f 421/660/45 424/655/45 422/650/45 +f 414/653/178 410/661/178 413/654/178 +f 466/662/179 427/663/179 465/664/179 +f 465/664/180 425/665/180 462/666/180 +f 425/665/181 428/667/181 429/668/181 +f 468/669/182 430/670/182 467/671/182 +f 461/672/183 432/673/183 468/669/183 +f 430/670/184 466/662/184 467/671/184 +f 433/674/48 435/675/48 436/676/48 +f 427/663/185 433/677/185 428/678/185 +f 432/673/186 434/679/186 430/670/186 +f 426/680/187 429/681/187 438/682/187 +f 430/670/188 433/674/188 431/683/188 +f 426/684/189 437/685/189 432/673/189 +f 436/686/190 441/687/190 439/688/190 +f 438/689/48 443/690/48 437/685/48 +f 429/668/48 439/691/48 444/692/48 +f 433/677/48 439/688/48 428/678/48 +f 437/693/48 435/694/48 434/679/48 +f 438/682/48 444/695/48 442/696/48 +f 445/697/48 447/698/48 440/699/48 +f 435/694/191 448/700/191 445/701/191 +f 444/695/192 450/702/192 442/696/192 +f 435/675/193 440/699/193 436/676/193 +f 443/690/194 450/703/194 448/704/194 +f 439/691/195 449/705/195 444/692/195 +f 447/706/183 453/707/183 451/708/183 +f 450/703/48 455/709/48 448/704/48 +f 449/705/48 451/710/48 456/711/48 +f 440/712/48 451/708/48 441/687/48 +f 445/701/48 455/713/48 446/714/48 +f 449/715/48 454/716/48 450/702/48 +f 458/717/48 459/718/48 460/719/48 +f 455/713/180 458/720/180 446/714/180 +f 456/721/184 460/722/184 454/716/184 +f 446/723/196 452/724/196 447/698/196 +f 454/725/179 459/726/179 455/709/179 +f 451/710/182 457/727/182 456/711/182 +f 462/666/197 464/728/197 465/664/197 +f 462/666/196 426/680/196 461/729/196 +f 470/730/45 472/731/45 469/732/45 +f 465/664/198 469/733/198 466/662/198 +f 467/671/199 473/734/199 468/669/199 +f 474/735/200 462/666/200 461/729/200 +f 466/662/201 472/731/201 467/671/201 +f 473/736/202 461/672/202 468/669/202 +f 476/737/203 470/738/203 475/739/203 +f 473/736/45 479/740/45 474/741/45 +f 463/742/45 475/743/45 464/728/45 +f 475/739/45 469/733/45 464/744/45 +f 471/745/45 473/734/45 472/746/45 +f 474/735/45 480/747/45 463/748/45 +f 481/749/45 483/750/45 477/751/45 +f 471/745/204 484/752/204 478/753/204 +f 485/754/205 480/747/205 479/755/205 +f 470/730/206 483/750/206 471/756/206 +f 478/757/207 485/758/207 479/740/207 +f 486/759/208 475/743/208 480/760/208 +f 488/761/183 481/762/183 487/763/183 +f 490/764/45 485/758/45 484/765/45 +f 486/759/45 487/766/45 476/767/45 +f 487/763/45 477/768/45 476/737/45 +f 483/769/45 490/770/45 484/752/45 +f 485/754/45 492/771/45 486/772/45 +f 496/773/45 489/774/45 488/775/45 +f 496/776/180 490/770/180 482/777/180 +f 494/778/184 492/771/184 491/779/184 +f 489/780/196 482/781/196 481/749/196 +f 495/782/179 491/783/179 490/764/179 +f 493/784/182 487/766/182 492/785/182 +f 498/786/209 500/787/209 497/788/209 +f 500/787/7 501/789/7 502/790/7 +f 502/790/210 503/791/210 504/792/210 +f 503/793/211 506/794/211 504/795/211 +f 505/796/10 508/797/10 506/794/10 +f 507/798/212 497/788/212 508/797/212 +f 498/786/213 510/799/213 499/800/213 +f 510/799/7 501/801/7 499/800/7 +f 511/802/214 503/803/214 501/801/214 +f 512/804/215 505/805/215 503/806/215 +f 505/805/10 514/807/10 507/798/10 +f 514/807/216 498/786/216 507/798/216 +f 515/808/217 510/799/217 509/809/217 +f 510/799/7 517/810/7 511/811/7 +f 517/810/218 512/812/218 511/811/218 +f 512/813/219 519/814/219 513/815/219 +f 519/814/10 514/807/10 513/815/10 +f 514/807/220 515/808/220 509/809/220 +f 521/816/210 516/817/210 515/808/210 +f 516/817/7 523/818/7 517/819/7 +f 517/819/209 524/820/209 518/821/209 +f 524/822/212 519/823/212 518/824/212 +f 525/825/10 520/826/10 519/823/10 +f 520/826/211 521/816/211 515/808/211 +f 527/827/214 522/828/214 521/816/214 +f 522/828/7 529/829/7 523/830/7 +f 529/829/213 524/831/213 523/830/213 +f 524/832/216 531/833/216 525/834/216 +f 531/833/10 526/835/10 525/834/10 +f 526/835/215 527/827/215 521/816/215 +f 497/836/218 528/837/218 527/827/218 +f 528/837/7 502/838/7 529/839/7 +f 502/838/217 530/840/217 529/839/217 +f 530/841/220 506/842/220 531/843/220 +f 506/842/10 532/844/10 531/843/10 +f 532/844/219 497/836/219 527/827/219 +f 533/845/221 538/846/222 534/847/223 +f 537/848/224 540/849/224 538/846/224 +f 539/850/225 542/851/225 540/852/225 +f 541/853/48 539/854/48 537/855/48 +f 541/856/226 545/857/226 542/851/226 +f 544/858/227 546/859/228 545/857/227 +f 540/860/45 542/861/45 545/862/45 +f 548/863/229 550/864/230 547/865/231 +f 533/845/232 546/859/233 543/866/234 +f 549/867/235 552/868/235 550/864/235 +f 547/869/236 552/868/45 535/870/237 +f 535/871/238 551/872/239 536/873/240 +f 548/874/241 551/872/48 549/867/48 +f 553/875/242 555/876/242 556/877/242 +f 555/876/243 558/878/243 556/877/243 +f 557/879/244 560/880/244 558/881/244 +f 559/882/245 562/883/245 560/880/245 +f 555/876/246 564/884/246 557/885/246 +f 561/886/247 566/887/247 562/883/247 +f 566/887/248 554/888/248 553/875/248 +f 560/880/249 568/889/249 558/881/249 +f 572/890/250 564/891/250 569/892/250 +f 565/893/251 571/894/251 570/895/251 +f 554/888/252 563/896/252 555/876/252 +f 559/882/253 564/897/253 572/898/253 +f 554/888/254 570/899/254 569/900/254 +f 559/882/255 571/901/255 561/886/255 +f 573/902/256 575/903/256 576/904/256 +f 566/887/257 577/905/257 574/906/257 +f 562/883/258 567/907/258 560/880/258 +f 556/877/259 568/908/259 578/909/259 +f 566/887/260 573/902/260 562/883/260 +f 553/875/261 578/910/261 577/911/261 +f 575/912/262 580/913/262 581/914/262 +f 567/915/256 583/916/256 568/889/256 +f 577/911/256 584/917/256 579/918/256 +f 574/906/256 579/919/256 575/920/256 +f 573/921/256 582/922/256 567/907/256 +f 578/909/256 583/923/256 584/924/256 +f 587/925/256 588/926/256 581/927/256 +f 576/928/263 587/929/263 582/930/263 +f 583/931/264 585/932/264 584/933/264 +f 575/934/265 588/935/265 576/936/265 +f 583/937/266 587/938/266 586/939/266 +f 584/940/267 580/941/267 579/942/267 +f 589/943/268 591/944/268 592/945/268 +f 593/946/269 595/947/269 596/948/269 +f 597/949/270 599/950/270 595/951/270 +f 601/952/271 602/953/271 600/954/271 +f 596/955/272 604/956/272 593/957/272 +f 590/958/273 601/959/273 605/960/273 +f 598/961/274 607/962/274 599/950/274 +f 596/948/275 599/963/275 608/964/275 +f 603/965/276 598/966/276 597/967/276 +f 603/968/277 608/969/277 609/970/277 +f 606/971/278 611/972/278 612/973/278 +f 599/963/279 613/974/279 608/964/279 +f 598/966/280 610/975/280 606/971/280 +f 608/969/281 610/976/281 609/970/281 +f 615/977/282 611/978/282 614/979/282 +f 613/980/283 611/978/283 610/976/283 +f 606/981/284 615/982/284 607/962/284 +f 607/983/285 614/984/285 613/974/285 +f 616/985/286 618/986/286 591/987/286 +f 602/988/287 616/989/287 619/990/287 +f 619/991/288 591/987/288 590/992/288 +f 602/953/289 592/993/289 620/994/289 +f 621/995/290 622/996/290 623/997/290 +f 620/994/291 621/998/291 624/999/291 +f 592/945/292 618/1000/292 621/995/292 +f 620/1001/293 617/1002/293 616/989/293 +f 623/997/294 626/1003/294 625/1004/294 +f 624/1005/295 626/1003/295 617/1002/295 +f 617/1006/296 622/1007/296 618/986/296 +f 624/999/297 623/1008/297 625/1009/297 +f 594/1010/298 597/949/298 595/951/298 +f 628/1011/299 627/1012/299 594/1010/299 +f 630/1013/300 629/1014/300 628/1011/300 +f 633/1015/272 635/1016/272 632/1017/272 +f 636/1018/272 634/1019/272 633/1015/272 +f 593/957/272 637/1020/272 636/1018/272 +f 597/967/301 604/1021/301 603/965/301 +f 627/1022/302 637/1023/302 604/1021/302 +f 629/1024/303 634/1025/303 637/1023/303 +f 632/1026/304 630/1027/304 633/1028/304 +f 633/1028/305 628/1029/305 636/1030/305 +f 636/1030/306 594/1031/306 593/946/306 +f 619/991/307 605/1032/307 639/1033/307 +f 639/1033/308 638/1034/308 632/1026/308 +f 619/990/309 600/1035/309 602/988/309 +f 632/1017/272 600/1035/272 639/1036/272 +f 630/1013/310 640/1037/310 631/1038/310 +f 605/960/311 640/1037/311 638/1039/311 +f 631/1040/312 635/1041/312 634/1025/312 +f 640/1042/313 600/954/313 635/1041/313 +f 642/1043/314 644/1044/314 641/1045/314 +f 646/1046/45 648/1047/45 645/1048/45 +f 648/1047/315 651/1049/315 649/1050/315 +f 653/1051/316 641/1045/48 652/1052/48 +f 648/1047/317 654/1053/317 650/1054/317 +f 646/1055/44 653/1056/318 647/1057/319 +f 656/1058/320 658/1059/321 655/1060/321 +f 641/1045/48 660/1061/48 652/1052/48 +f 645/1048/45 649/1050/45 661/1062/45 +f 662/1063/322 664/1064/322 665/1065/322 +f 652/1052/323 666/1066/323 667/1067/323 +f 669/1068/324 671/1069/324 668/1070/324 +f 659/1071/48 672/1072/325 660/1061/48 +f 661/1062/45 656/1058/326 668/1070/45 +f 662/1063/48 675/1073/48 673/1074/48 +f 663/1075/327 676/1076/327 664/1064/327 +f 663/1075/48 673/1074/48 672/1072/328 +f 668/1070/45 655/1060/45 669/1068/45 +f 682/1077/329 674/1078/329 683/1079/329 +f 688/1080/330 670/1081/330 669/1068/330 +f 652/1052/331 678/1082/331 653/1051/332 +f 646/1046/333 679/1083/333 680/1084/333 +f 643/1085/10 679/1083/10 644/1044/10 +f 679/1086/334 676/1087/334 644/1088/334 +f 681/1089/335 664/1064/335 676/1076/335 +f 671/1069/336 665/1065/336 664/1064/336 +f 670/1081/337 683/1079/337 665/1065/337 +f 659/1090/338 644/1088/338 676/1087/338 +f 675/1091/339 688/1092/339 677/1093/339 +f 646/1055/340 643/1085/340 642/1094/340 +f 661/1095/341 679/1086/341 645/1096/341 +f 669/1068/45 677/1097/45 688/1080/45 +f 668/1070/342 681/1089/342 661/1062/342 +f 674/1098/343 665/1065/343 683/1099/343 +f 654/1053/7 667/1100/7 650/1054/7 +f 667/1100/344 651/1049/344 650/1054/344 +f 666/1101/345 657/1102/346 651/1049/345 +f 684/1103/347 658/1059/348 657/1102/349 +f 685/1104/350 687/1105/350 658/1059/350 +f 675/1073/351 685/1106/351 673/1074/351 +f 660/1061/352 684/1107/353 666/1066/352 +f 675/1091/354 687/1108/354 686/1109/354 +f 677/1097/355 658/1059/355 687/1105/355 +f 649/1050/356 657/1102/357 656/1058/358 +f 653/1056/359 654/1110/360 647/1057/361 +f 672/1072/362 685/1106/363 684/1107/364 +f 689/1111/365 691/1112/365 692/1113/365 +f 691/1112/2 694/1114/2 692/1113/2 +f 693/1115/3 696/1116/3 694/1117/3 +f 695/1118/4 698/1119/4 696/1116/4 +f 697/1120/5 700/1121/5 698/1119/5 +f 699/1122/6 702/1123/6 700/1121/6 +f 695/1124/7 693/1125/7 701/1126/7 +f 701/1127/8 704/1128/8 702/1123/8 +f 703/1129/366 689/1111/366 704/1128/366 +f 706/1130/367 708/1131/367 705/1132/367 +f 710/1133/368 712/1134/368 709/1135/368 +f 713/1136/369 710/1137/369 709/1138/369 +f 715/1139/370 717/1140/370 718/1141/370 +f 705/1132/371 717/1142/371 716/1143/371 +f 706/1144/372 720/1145/372 707/1146/372 +f 714/1147/373 722/1148/373 710/1149/373 +f 719/1150/374 709/1151/374 720/1152/374 +f 721/1153/375 718/1154/375 722/1155/375 +f 724/1156/8 726/1157/8 723/1158/8 +f 720/1159/376 728/1160/376 707/1161/376 +f 708/1162/377 730/1163/377 717/1164/377 +f 717/1165/378 724/1156/378 718/1166/378 +f 722/1167/379 711/1168/379 710/1169/379 +f 720/1170/380 712/1134/380 727/1171/380 +f 708/1172/381 728/1173/381 729/1174/381 +f 718/1175/382 723/1158/382 722/1176/382 +f 726/1157/383 733/1177/383 731/1178/383 +f 712/1134/5 731/1178/5 734/1179/5 +f 727/1171/3 736/1180/3 728/1160/3 +f 729/1174/1 738/1181/1 730/1163/1 +f 730/1163/9 725/1182/9 724/1156/9 +f 723/1158/6 731/1178/6 711/1168/6 +f 712/1134/4 735/1183/4 727/1171/4 +f 728/1173/2 737/1184/2 729/1174/2 +f 739/1185/384 741/1186/384 742/1187/384 +f 734/1179/385 744/1188/385 735/1183/385 +f 736/1189/386 740/1190/386 737/1184/386 +f 726/1157/387 746/1191/387 732/1192/387 +f 734/1179/388 733/1193/388 743/1194/388 +f 736/1180/389 744/1195/389 745/1196/389 +f 737/1184/390 739/1197/390 738/1181/390 +f 738/1181/391 746/1198/391 725/1182/391 +f 748/1199/8 750/1200/8 747/1201/8 +f 739/1202/392 748/1199/392 746/1203/392 +f 732/1204/393 751/1205/393 733/1206/393 +f 743/1207/394 753/1208/394 744/1209/394 +f 745/1210/395 741/1186/395 740/1211/395 +f 732/1212/396 748/1199/396 747/1201/396 +f 733/1213/397 752/1214/397 743/1215/397 +f 745/1216/398 753/1208/398 754/1217/398 +f 755/1218/399 757/1219/399 758/1220/399 +f 751/1205/5 760/1221/5 752/1214/5 +f 753/1208/3 756/1222/3 754/1217/3 +f 741/1186/1 762/1223/1 742/1187/1 +f 742/1187/9 749/1224/9 748/1199/9 +f 747/1201/6 759/1225/6 751/1205/6 +f 752/1214/4 761/1226/4 753/1208/4 +f 754/1227/2 755/1218/2 741/1186/2 +f 764/1228/400 766/1229/400 763/1230/400 +f 749/1224/401 767/1231/401 750/1200/401 +f 759/1225/402 769/1232/402 760/1221/402 +f 761/1226/403 757/1233/403 756/1222/403 +f 755/1218/404 764/1234/404 762/1223/404 +f 749/1224/405 764/1228/405 763/1230/405 +f 750/1200/406 768/1235/406 759/1225/406 +f 761/1226/407 769/1236/407 770/1237/407 +f 766/1238/408 773/1239/408 771/1240/408 +f 767/1241/409 774/1242/409 768/1235/409 +f 769/1236/410 776/1243/410 770/1237/410 +f 757/1219/411 778/1244/411 758/1220/411 +f 767/1231/412 766/1238/412 771/1240/412 +f 769/1232/413 774/1245/413 775/1246/413 +f 757/1233/414 776/1247/414 777/1248/414 +f 764/1234/415 778/1249/415 765/1250/415 +f 773/1251/10 781/1252/10 779/1253/10 +f 774/1245/416 782/1254/416 775/1246/416 +f 776/1247/417 784/1255/417 777/1248/417 +f 778/1249/418 786/1256/418 765/1250/418 +f 766/1229/419 786/1257/419 772/1258/419 +f 774/1242/420 773/1251/420 779/1253/420 +f 776/1243/421 782/1259/421 783/1260/421 +f 778/1244/422 784/1261/422 785/1262/422 +f 788/1263/5 790/1264/5 787/1265/5 +f 782/1259/10 792/1266/10 783/1260/10 +f 784/1261/10 788/1267/10 785/1262/10 +f 773/1239/10 794/1268/10 780/1269/10 +f 782/1254/10 781/1270/10 791/1271/10 +f 784/1255/10 792/1272/10 793/1273/10 +f 786/1256/10 788/1263/10 787/1265/10 +f 786/1257/10 794/1274/10 772/1258/10 +f 799/1275/10 800/1276/10 796/1277/10 +f 787/1278/4 800/1279/4 794/1274/4 +f 780/1280/2 798/1281/2 781/1252/2 +f 791/1282/9 796/1283/9 792/1266/9 +f 793/1284/6 789/1285/6 788/1267/6 +f 794/1268/3 799/1286/3 780/1269/3 +f 781/1270/1 797/1287/1 791/1271/1 +f 792/1272/8 795/1288/8 793/1273/8 +f 715/1139/423 802/1289/423 716/1143/423 +f 803/1290/8 715/1139/8 721/1153/8 +f 714/1147/6 803/1290/6 721/1153/6 +f 805/1291/424 714/1147/424 713/1136/424 +f 719/1150/425 805/1291/425 713/1136/425 +f 807/1292/3 719/1150/3 706/1144/3 +f 705/1132/2 807/1293/2 706/1130/2 +f 802/1289/426 705/1132/426 716/1143/426 +f 704/1294/427 810/1295/427 809/1296/427 +f 702/1297/428 809/1296/428 811/1298/428 +f 812/1299/429 702/1297/429 811/1298/429 +f 813/1300/430 700/1301/430 812/1299/430 +f 696/1302/431 813/1300/431 814/1303/431 +f 815/1304/432 696/1302/432 814/1303/432 +f 692/1305/433 815/1306/433 816/1307/433 +f 810/1295/434 692/1305/434 816/1307/434 +f 802/1308/1 818/1309/1 808/1310/1 +f 819/1311/435 821/1312/435 822/1313/435 +f 824/1314/1 826/1315/1 823/1316/1 +f 809/1317/436 828/1318/436 811/1319/436 +f 818/1309/437 807/1320/437 808/1310/437 +f 830/1321/438 832/1322/438 826/1323/438 +f 825/1324/2 830/1325/2 826/1315/2 +f 813/1326/439 834/1327/439 835/1328/439 +f 807/1329/440 836/1330/440 806/1331/440 +f 837/1332/441 838/1333/441 839/1334/441 +f 833/1335/3 841/1336/3 830/1337/3 +f 843/1338/442 845/1339/442 842/1340/442 +f 836/1330/4 805/1341/4 806/1331/4 +f 829/1342/443 846/1343/443 847/1344/443 +f 840/1345/4 849/1346/4 841/1336/4 +f 814/1347/444 851/1348/444 815/1349/444 +f 837/1350/5 804/1351/5 805/1341/5 +f 852/1352/445 854/1353/445 855/1354/445 +f 848/1355/5 857/1356/5 849/1346/5 +f 848/1357/446 859/1358/446 856/1359/446 +f 820/1360/447 803/1361/447 804/1351/447 +f 857/1362/448 861/1363/448 849/1364/448 +f 856/1365/6 852/1366/6 857/1356/6 +f 810/1367/449 862/1368/449 863/1369/449 +f 803/1361/450 864/1370/450 801/1371/450 +f 864/1372/451 822/1313/451 865/1373/451 +f 843/1374/8 853/1375/8 852/1366/8 +f 833/1376/452 867/1377/452 840/1378/452 +f 864/1370/9 802/1308/9 801/1371/9 +f 830/1379/453 868/1380/453 831/1381/453 +f 842/1382/9 823/1316/9 853/1375/9 +f 824/1383/454 870/1384/454 825/1385/454 +f 863/1369/1 870/1384/1 869/1386/1 +f 862/1368/2 866/1387/2 870/1384/2 +f 851/1348/3 867/1377/3 866/1388/3 +f 850/1389/4 858/1390/4 867/1377/4 +f 835/1328/5 859/1358/5 858/1390/5 +f 834/1327/6 844/1391/6 859/1358/6 +f 828/1318/8 845/1339/8 844/1391/8 +f 827/1392/9 869/1386/9 845/1339/9 +f 825/1393/455 866/1387/455 833/1394/455 +f 848/1395/456 867/1377/456 858/1390/456 +f 816/1396/457 851/1397/457 862/1368/457 +f 856/1398/458 844/1391/458 843/1399/458 +f 813/1400/459 850/1389/459 814/1401/459 +f 824/1402/460 845/1339/460 869/1386/460 +f 812/1403/461 828/1318/461 834/1327/461 +f 810/1404/462 827/1392/462 809/1405/462 +f 871/1406/1 832/1322/1 846/1343/1 +f 832/1322/2 847/1344/2 846/1343/2 +f 831/1381/3 838/1333/3 847/1407/3 +f 868/1380/4 839/1334/4 838/1333/4 +f 861/1363/5 821/1312/5 839/1334/5 +f 860/1408/6 822/1313/6 821/1312/6 +f 855/1354/8 865/1373/8 822/1313/8 +f 854/1353/9 871/1406/9 865/1373/9 +f 841/1409/463 861/1363/463 868/1380/463 +f 864/1410/464 871/1406/464 817/1411/464 +f 852/1412/465 860/1408/465 857/1413/465 +f 853/1414/466 872/1415/466 854/1353/466 +f 817/1416/467 846/1343/467 818/1417/467 +f 829/1418/468 838/1333/468 836/1419/468 +f 826/1420/469 872/1415/469 823/1421/469 +f 837/1422/470 821/1312/470 820/1423/470 +f 874/1424/1 876/1425/1 873/1426/1 +f 875/1427/2 878/1428/2 876/1425/2 +f 877/1429/3 880/1430/3 878/1431/3 +f 879/1432/4 882/1433/4 880/1430/4 +f 881/1434/5 884/1435/5 882/1433/5 +f 883/1436/6 886/1437/6 884/1435/6 +f 881/1438/7 879/1439/7 877/1440/7 +f 885/1441/8 888/1442/8 886/1437/8 +f 887/1443/9 873/1426/9 888/1442/9 +f 884/1444/10 886/1445/10 888/1446/10 +f 890/1447/471 892/1448/471 889/1449/471 +f 890/1450/45 895/1451/45 893/1452/45 +f 894/1453/472 897/1454/472 898/1455/472 +f 896/1456/48 900/1457/48 899/1458/48 +f 895/1459/46 900/1457/46 893/1460/46 +f 890/1447/44 896/1456/44 894/1453/44 +f 898/1461/7 902/1462/7 901/1463/7 +f 894/1464/45 901/1463/45 895/1451/45 +f 899/1458/473 897/1465/473 896/1456/473 +f 895/1459/474 902/1466/474 899/1458/474 +f 892/1467/10 904/1468/10 903/1469/10 +f 893/1460/475 903/1470/475 904/1471/475 +f 890/1450/45 904/1472/45 891/1473/45 +f 889/1449/476 903/1469/476 900/1457/476 +f 906/1474/471 908/1475/471 905/1476/471 +f 910/1477/48 908/1478/48 909/1479/48 +f 911/1480/472 913/1481/472 914/1482/472 +f 916/1483/45 914/1482/45 915/1484/45 +f 916/1483/46 910/1485/46 909/1486/46 +f 914/1482/44 908/1475/44 911/1480/44 +f 918/1487/7 912/1488/7 917/1489/7 +f 917/1489/48 911/1490/48 910/1477/48 +f 914/1482/477 918/1487/477 915/1484/477 +f 918/1491/474 910/1485/474 915/1484/474 +f 920/1492/10 906/1493/10 919/1494/10 +f 909/1486/475 919/1495/475 916/1483/475 +f 908/1478/48 920/1496/48 909/1479/48 +f 916/1483/478 906/1493/478 905/1476/478 +f 921/1497/479 923/1498/479 924/1499/479 +f 922/1500/44 927/1501/44 925/1502/44 +f 926/1503/480 929/1504/480 930/1505/480 +f 928/1506/46 932/1507/46 931/1508/46 +f 925/1509/45 931/1508/45 932/1507/45 +f 922/1510/48 928/1506/48 926/1503/48 +f 930/1511/481 934/1512/481 933/1513/481 +f 927/1501/44 930/1511/44 933/1513/44 +f 931/1508/482 929/1514/482 928/1506/482 +f 927/1515/483 934/1516/483 931/1508/483 +f 924/1517/484 936/1518/484 935/1519/484 +f 932/1507/485 936/1520/485 925/1509/485 +f 925/1502/44 923/1521/44 922/1500/44 +f 932/1507/486 924/1517/486 935/1519/486 +f 937/1522/10 939/1523/10 940/1524/10 +f 941/1525/45 942/1526/45 943/1527/45 +f 945/1528/487 947/1529/487 948/1530/487 +f 951/1531/48 952/1532/48 953/1533/48 +f 956/1534/46 958/1535/46 955/1536/46 +f 960/1537/46 962/1538/46 959/1539/46 +f 964/1540/46 954/1541/46 963/1542/46 +f 940/1543/46 965/1544/46 937/1545/46 +f 967/1546/44 969/1547/44 966/1548/44 +f 970/1549/488 946/1550/488 945/1528/488 +f 973/1551/45 964/1552/45 974/1553/45 +f 945/1528/489 969/1554/489 950/1555/489 +f 964/1556/490 970/1557/490 949/1558/490 +f 945/1528/491 975/1559/491 969/1554/491 +f 973/1560/46 971/1561/46 970/1557/46 +f 972/1562/492 979/1563/492 977/1564/492 +f 972/1562/493 976/1565/493 973/1551/493 +f 981/1566/7 983/1567/7 980/1568/7 +f 976/1565/45 981/1569/45 980/1570/45 +f 971/1571/494 982/1572/494 946/1550/494 +f 976/1573/495 983/1567/495 971/1561/495 +f 975/1559/496 978/1574/496 984/1575/496 +f 947/1529/497 986/1576/497 979/1563/497 +f 948/1530/44 979/1563/44 978/1574/44 +f 946/1550/498 985/1577/498 947/1529/498 +f 981/1566/499 985/1578/499 982/1579/499 +f 969/1580/500 984/1575/500 966/1581/500 +f 972/1562/501 984/1575/501 978/1574/501 +f 977/1564/502 986/1582/502 981/1569/502 +f 990/1583/503 991/1584/503 969/1547/503 +f 938/1585/504 967/1546/504 939/1523/504 +f 966/1548/505 993/1586/505 994/1587/505 +f 997/1588/46 999/1589/46 942/1590/46 +f 1000/1591/10 955/1536/10 958/1535/10 +f 943/1592/7 965/1544/7 944/1593/7 +f 942/1590/506 1002/1594/506 943/1592/506 +f 997/1588/507 1000/1591/507 998/1595/507 +f 1004/1596/46 1006/1597/46 1003/1598/46 +f 1007/1599/10 959/1539/10 962/1538/10 +f 1009/1600/7 957/1601/7 956/1534/7 +f 1003/1598/506 1010/1602/506 1009/1600/506 +f 1007/1599/507 1004/1596/507 1008/1603/507 +f 1012/1604/46 1013/1605/46 1011/1606/46 +f 1014/1607/10 954/1541/10 953/1608/10 +f 1015/1609/7 961/1610/7 960/1537/7 +f 1015/1609/506 1013/1605/506 1016/1611/506 +f 1012/1604/507 953/1608/507 952/1612/507 +f 990/1583/48 1006/1613/48 1005/1614/48 +f 991/1584/48 1007/1615/48 1016/1616/48 +f 951/1531/48 1013/1617/48 952/1532/48 +f 989/1618/48 1000/1619/48 1010/1620/48 +f 988/1621/48 999/1622/48 998/1623/48 +f 937/1624/48 965/1625/48 1002/1626/48 +f 964/1627/45 963/1628/45 1014/1629/45 +f 993/1586/45 1012/1630/45 1011/1631/45 +f 994/1587/45 1015/1632/45 1008/1633/45 +f 995/1634/45 1004/1635/45 1003/1636/45 +f 996/1637/45 1009/1638/45 1001/1639/45 +f 941/1525/45 997/1640/45 942/1526/45 +f 1018/1641/1 1020/1642/1 1017/1643/1 +f 1022/1644/5 1024/1645/5 1021/1646/5 +f 1023/1647/6 1026/1648/6 1024/1645/6 +f 1028/1649/508 1030/1650/508 1027/1651/508 +f 1024/1645/509 1032/1652/509 1021/1646/509 +f 1018/1653/510 1034/1654/510 1035/1655/510 +f 1022/1656/511 1037/1657/511 1023/1658/511 +f 1038/1659/512 1040/1660/512 1041/1661/512 +f 1027/1662/513 1043/1663/513 1042/1664/513 +f 1044/1665/514 1046/1666/514 1042/1667/514 +f 1048/1668/515 1050/1669/515 1047/1670/515 +f 1048/1671/516 1051/1672/516 1049/1673/516 +f 1042/1674/517 1052/1675/517 1027/1676/517 +f 1044/1677/518 1053/1678/518 1045/1679/518 +f 1059/1680/3 1061/1681/3 1058/1682/3 +f 1060/1683/4 1063/1684/4 1061/1681/4 +f 1183/1685/519 1097/1686/519 1090/1687/519 +f 1067/1688/520 1068/1689/520 1069/1690/520 +f 1098/1691/9 1054/1692/9 1191/1693/9 +f 1074/1694/521 1075/1695/521 1073/1696/521 +f 1214/1697/522 1205/1698/522 1213/1699/522 +f 1079/1700/523 1070/1701/523 1074/1702/523 +f 1055/1703/524 1080/1704/524 1056/1705/524 +f 1081/1706/525 1075/1695/525 1064/1707/525 +f 1088/1708/526 1032/1709/526 1086/1710/526 +f 1083/1711/527 1080/1704/527 1079/1712/527 +f 1079/1700/528 1082/1713/528 1083/1714/528 +f 1031/1715/529 1069/1716/529 1032/1652/529 +f 1089/1717/530 1084/1718/530 1085/1719/530 +f 1071/1720/9 1055/1721/9 1098/1691/9 +f 1209/1722/531 1095/1723/531 1221/1724/531 +f 1095/1723/532 1077/1725/532 1076/1726/532 +f 1070/1727/9 1071/1720/9 1072/1728/9 +f 1099/1729/533 1100/1730/533 1101/1731/533 +f 1035/1732/534 1104/1733/534 1102/1734/534 +f 1105/1735/535 1107/1736/535 1029/1737/535 +f 1108/1738/536 1104/1733/536 1109/1739/536 +f 1110/1740/537 1111/1741/537 1112/1742/537 +f 1047/1743/538 1105/1744/538 1048/1745/538 +f 1023/1746/539 1099/1729/539 1025/1747/539 +f 1042/1748/540 1110/1740/540 1044/1749/540 +f 1028/1750/541 1105/1735/541 1029/1737/541 +f 1039/1751/542 1110/1752/542 1040/1753/542 +f 1018/1754/543 1102/1734/543 1019/1755/543 +f 1114/1756/544 1111/1741/544 1100/1730/544 +f 1115/1757/545 1106/1758/545 1103/1759/545 +f 1104/1733/546 1106/1758/546 1116/1760/546 +f 1034/1654/547 1103/1759/547 1035/1655/547 +f 1037/1657/548 1114/1756/548 1100/1730/548 +f 1030/1650/549 1107/1736/549 1117/1761/549 +f 1110/1752/550 1118/1762/550 1040/1753/550 +f 1105/1744/551 1116/1760/551 1106/1758/551 +f 1120/1763/552 1122/1764/552 1119/1765/552 +f 1051/1672/7 1120/1766/7 1049/1673/7 +f 1049/1767/7 1119/1765/7 1050/1669/7 +f 1052/1768/7 1123/1769/7 1051/1770/7 +f 1045/1771/7 1126/1772/7 1046/1666/7 +f 1045/1679/7 1127/1773/7 1125/1774/7 +f 1129/1775/553 1131/1776/553 1128/1777/553 +f 1125/1778/554 1133/1779/554 1126/1772/554 +f 1124/1780/555 1128/1781/555 1123/1769/555 +f 1124/1782/556 1133/1783/556 1129/1784/556 +f 1123/1785/557 1121/1786/557 1120/1766/557 +f 1134/1787/7 1136/1788/7 1137/1789/7 +f 1129/1790/558 1134/1791/558 1130/1792/558 +f 1128/1793/559 1138/1794/559 1121/1795/559 +f 1122/1796/560 1138/1797/560 1139/1798/560 +f 1140/1799/561 1135/1800/561 1132/1801/561 +f 1133/1802/562 1135/1803/562 1134/1787/562 +f 1131/1804/7 1143/1805/7 1138/1794/7 +f 1139/1798/7 1143/1806/7 1144/1807/7 +f 1141/1808/7 1136/1809/7 1135/1800/7 +f 1147/1810/9 1149/1811/9 1146/1812/9 +f 1150/1813/563 1151/1814/563 1152/1815/563 +f 1144/1807/564 1146/1816/564 1153/1817/564 +f 1145/1818/565 1155/1819/565 1136/1809/565 +f 1156/1820/566 1154/1821/566 1145/1822/566 +f 1137/1789/567 1155/1823/567 1151/1824/567 +f 1146/1816/1 1160/1825/1 1153/1817/1 +f 1154/1826/4 1164/1827/4 1155/1819/4 +f 1155/1823/5 1165/1828/5 1151/1824/5 +f 1166/1829/5 1162/1830/5 1161/1831/5 +f 1168/1832/6 1162/1830/6 1167/1833/6 +f 1170/1834/1 1172/1835/1 1169/1836/1 +f 1174/1837/3 1176/1838/3 1173/1839/3 +f 1175/1840/4 1161/1831/4 1176/1838/4 +f 1175/1841/7 1170/1842/7 1177/1843/7 +f 1178/1844/7 1180/1845/7 1181/1846/7 +f 1090/1687/568 1091/1847/568 1092/1848/568 +f 1064/1849/5 1185/1850/5 1067/1851/5 +f 1184/1852/569 1308/1853/569 1193/1854/569 +f 1064/1707/570 1069/1716/570 1081/1855/570 +f 1090/1687/571 1187/1856/571 1310/1857/571 +f 1191/1693/9 1054/1692/9 1180/1858/9 +f 1188/1859/8 1186/1860/8 1090/1687/8 +f 1162/1861/7 1159/1862/7 1160/1863/7 +f 1194/1864/9 1169/1836/9 1172/1835/9 +f 1189/1865/572 1195/1866/572 1196/1867/572 +f 1197/1868/7 1189/1865/7 1196/1867/7 +f 1097/1869/48 1093/1870/48 1096/1871/48 +f 1198/1872/573 1200/1873/573 1093/1874/573 +f 1201/1875/7 1145/1822/7 1141/1876/7 +f 1165/1877/6 1152/1815/6 1151/1814/6 +f 1183/1878/574 1198/1879/574 1097/1869/574 +f 1204/1880/10 1206/1881/10 1072/1882/10 +f 1082/1883/575 1073/1696/575 1087/1884/575 +f 1071/1885/10 1204/1886/10 1072/1887/10 +f 1099/1888/576 1115/1757/576 1034/1889/576 +f 1153/1890/2 1159/1862/2 1157/1891/2 +f 1208/1892/577 1071/1885/577 1098/1893/577 +f 1200/1894/578 1206/1881/578 1205/1895/578 +f 1065/1896/579 1093/1870/579 1078/1897/579 +f 1077/1898/10 1065/1896/10 1078/1897/10 +f 1185/1899/10 1077/1900/10 1095/1901/10 +f 1185/1899/577 1209/1902/577 1192/1903/577 +f 1195/1866/580 1192/1903/580 1209/1902/580 +f 1098/1893/580 1210/1904/580 1208/1892/580 +f 1211/1905/7 1127/1906/7 1053/1907/7 +f 1076/1726/581 1221/1724/581 1095/1723/581 +f 1237/1908/582 1209/1722/582 1221/1724/582 +f 1207/1909/583 1208/1910/583 1217/1911/583 +f 1104/1733/584 1215/1912/584 1109/1739/584 +f 1122/1913/585 1212/1914/585 1119/1915/585 +f 1142/1916/586 1146/1812/586 1143/1805/586 +f 1159/1917/3 1154/1821/3 1157/1918/3 +f 1236/1919/587 1217/1911/587 1208/1910/587 +f 1214/1697/46 1093/1874/46 1200/1873/46 +f 1038/1920/588 1113/1921/588 1047/1922/588 +f 1047/1923/589 1211/1924/589 1038/1925/589 +f 1032/1709/590 1068/1689/590 1086/1710/590 +f 1086/1926/591 1089/1927/591 1085/1928/591 +f 1215/1912/592 1113/1921/592 1041/1929/592 +f 1140/1930/593 1125/1774/593 1127/1773/593 +f 1131/1776/7 1150/1931/7 1142/1932/7 +f 1180/1845/594 1210/1904/594 1191/1933/594 +f 1219/1934/595 1221/1935/595 1094/1936/595 +f 1211/1924/7 1119/1915/7 1212/1914/7 +f 1101/1731/596 1107/1736/596 1115/1757/596 +f 1217/1911/597 1213/1699/597 1207/1909/597 +f 1086/1926/598 1222/1937/598 1088/1708/598 +f 1201/1875/599 1140/1938/599 1216/1939/599 +f 1134/1791/7 1150/1813/7 1130/1792/7 +f 1087/1940/600 1024/1645/600 1026/1648/600 +f 1224/1941/601 1203/1942/601 1223/1943/601 +f 1223/1943/602 1197/1944/602 1226/1945/602 +f 1178/1946/603 1227/1947/603 1179/1948/603 +f 1233/1949/604 1210/1950/604 1179/1948/604 +f 1224/1941/605 1178/1946/605 1225/1951/605 +f 1227/1947/606 1233/1949/606 1179/1948/606 +f 1229/1952/607 1226/1945/607 1196/1953/607 +f 1019/1954/2 1222/1955/2 1020/1642/2 +f 1019/1956/608 1108/1738/608 1228/1957/608 +f 1039/1958/609 1211/1905/609 1053/1907/609 +f 1111/1741/610 1101/1731/610 1100/1730/610 +f 1028/1959/611 1052/1768/611 1051/1770/611 +f 1040/1660/612 1215/1960/612 1041/1661/612 +f 1122/1961/613 1201/1962/613 1216/1963/613 +f 1201/1962/7 1144/1964/7 1156/1965/7 +f 1156/1965/614 1153/1890/614 1157/1891/614 +f 1056/1705/615 1089/1717/615 1059/1966/615 +f 1033/1967/616 1099/1888/616 1034/1889/616 +f 1194/1968/7 1159/1917/7 1158/1969/7 +f 1224/1970/617 1230/1971/617 1232/1972/617 +f 1195/1973/618 1234/1974/618 1229/1952/618 +f 1196/1953/619 1195/1973/619 1229/1952/619 +f 1076/1726/620 1077/1725/620 1078/1975/620 +f 1214/1697/621 1200/1873/621 1205/1698/621 +f 1210/1950/622 1236/1919/622 1208/1910/622 +f 1237/1908/623 1195/1973/623 1209/1722/623 +f 1231/1976/624 1239/1977/624 1232/1978/624 +f 1232/1978/625 1235/1979/625 1233/1949/625 +f 1230/1980/626 1234/1974/626 1240/1981/626 +f 1219/1982/627 1241/1983/627 1242/1984/627 +f 1219/1985/628 1243/1986/628 1220/1987/628 +f 1220/1987/629 1237/1908/629 1221/1724/629 +f 1237/1908/630 1240/1981/630 1234/1974/630 +f 1238/1988/631 1243/1986/631 1242/1989/631 +f 1238/1990/632 1241/1983/632 1239/1977/632 +f 1236/1919/633 1239/1977/633 1241/1983/633 +f 1281/1991/634 1367/1992/634 1245/1993/634 +f 1067/1851/4 1062/1994/4 1060/1683/4 +f 1061/1681/4 1244/1995/4 1193/1854/4 +f 1289/1996/635 1368/1997/635 1288/1998/635 +f 1284/1999/636 1370/2000/636 1289/2001/636 +f 1249/2002/637 1248/2003/637 1258/2004/637 +f 1282/2005/638 1371/2006/638 1281/2007/638 +f 1246/2008/639 1282/2009/639 1271/2010/639 +f 1367/2011/640 1372/2012/640 1246/2013/640 +f 1369/2014/8 1370/2015/8 1250/2016/8 +f 1248/2017/641 1250/2016/641 1251/2018/641 +f 1251/2018/642 1246/2013/642 1248/2017/642 +f 1368/2019/643 1249/2002/643 1288/2020/643 +f 1270/2021/644 1281/1991/644 1245/1993/644 +f 1286/2022/642 1245/1993/642 1285/2023/642 +f 1367/2024/645 1285/2023/645 1245/1993/645 +f 1258/2004/646 1246/2025/646 1271/2010/646 +f 1292/2026/8 1288/2020/8 1249/2002/8 +f 1249/2002/647 1262/2027/647 1265/2028/647 +f 1251/2029/648 1284/1999/648 1285/2023/648 +f 1253/2030/649 1277/2031/649 1278/2032/649 +f 1267/2033/650 1253/2030/650 1278/2032/650 +f 1277/2031/651 1269/2034/651 1276/2035/651 +f 1253/2030/652 1269/2034/652 1252/2036/652 +f 1273/2037/653 1255/2038/653 1272/2039/653 +f 1272/2039/654 1260/2040/654 1261/2041/654 +f 1259/2042/655 1273/2037/655 1262/2043/655 +f 1259/2042/656 1255/2038/656 1254/2044/656 +f 1275/2045/657 1257/2046/657 1274/2047/657 +f 1274/2047/658 1264/2048/658 1265/2049/658 +f 1263/2050/659 1275/2045/659 1266/2051/659 +f 1263/2050/652 1257/2046/652 1256/2052/652 +f 1258/2004/642 1272/2053/642 1261/2054/642 +f 1261/2041/660 1259/2042/660 1262/2043/660 +f 1262/2027/642 1274/2055/642 1265/2028/642 +f 1265/2049/661 1263/2050/661 1266/2051/661 +f 1267/2056/642 1275/2057/642 1276/2058/642 +f 1276/2035/662 1268/2059/662 1267/2033/662 +f 1279/2060/663 1291/2061/663 1292/2062/663 +f 1273/2063/664 1272/2053/664 1282/2009/664 +f 1279/2060/642 1277/2064/642 1280/2065/642 +f 1205/1698/665 1204/2066/665 1213/1699/665 +f 1290/2067/8 1284/1999/8 1289/2001/8 +f 1286/2022/666 1284/1999/666 1287/2068/667 +f 1293/2069/10 1291/2061/10 1295/2070/10 +f 1088/1708/4 1022/1644/4 1021/1646/4 +f 1297/2071/9 1018/1641/9 1017/1643/9 +f 1026/1648/8 1033/2072/8 1297/2071/8 +f 1083/1714/668 1297/2071/668 1017/1643/668 +f 1057/2073/2 1059/2074/2 1058/2075/2 +f 1298/2076/1 1056/2077/1 1057/2073/1 +f 1020/1642/669 1083/1711/669 1017/1643/669 +f 1301/2078/670 1036/2079/670 1300/2080/670 +f 1108/2081/671 1301/2078/671 1300/2082/671 +f 1300/2080/672 1022/2083/672 1296/2084/672 +f 1301/2078/673 1112/1742/673 1114/1756/673 +f 1117/1761/674 1043/1663/674 1030/2085/674 +f 1126/2086/7 1052/1675/7 1046/2087/7 +f 1150/1931/675 1147/2088/675 1142/1932/675 +f 1194/1864/8 1168/2089/8 1177/2090/8 +f 1171/2091/2 1174/1837/2 1173/1839/2 +f 1203/2092/7 1182/2093/7 1197/2094/7 +f 1225/2095/7 1181/2096/7 1188/2097/7 +f 1092/2098/45 1200/1894/45 1199/2099/45 +f 1152/2100/8 1148/2101/8 1147/2088/8 +f 1199/2099/676 1188/2097/676 1092/2098/676 +f 1031/2102/677 1073/2103/677 1081/1706/677 +f 1301/2078/678 1215/1960/678 1118/1762/678 +f 1212/2104/679 1140/2105/679 1127/1906/679 +f 1198/1872/680 1225/1951/680 1199/2106/680 +f 1222/1955/681 1084/1718/681 1020/1642/681 +f 1297/2071/682 1087/1884/682 1026/1648/682 +f 1222/1937/3 1296/2107/3 1088/1708/3 +f 1108/2081/683 1296/2108/683 1228/2109/683 +f 1060/2110/684 1089/1927/684 1068/2111/684 +f 1231/2112/685 1240/1981/685 1238/1988/685 +f 1218/2113/686 1236/1919/686 1241/1983/686 +f 1055/1721/1 1302/2114/1 1054/1692/1 +f 1299/2115/1 1055/1721/1 1056/2077/1 +f 1054/1692/1 1298/2076/1 1057/2073/1 +f 1283/2116/687 1290/2117/7 1294/2118/7 +f 1306/2119/10 1308/2120/10 1310/2121/10 +f 1057/2073/688 1306/2122/688 1305/2123/688 +f 1090/1687/689 1092/1848/689 1188/1859/689 +f 1091/1847/690 1075/2124/690 1206/2125/690 +f 1061/1681/691 1306/2126/691 1058/1682/691 +f 1090/1687/692 1309/2127/692 1184/1852/692 +f 1054/1692/693 1305/2128/693 1304/2129/693 +f 1193/1854/694 1307/2130/694 1061/1681/694 +f 1304/2131/695 1186/1860/695 1054/1692/695 +f 1206/2125/8 1070/1727/8 1072/1728/8 +f 1173/2132/7 1165/1877/7 1171/2133/7 +f 1173/2134/7 1148/2101/7 1202/2135/7 +f 1176/2136/7 1149/1811/7 1148/2137/7 +f 1161/2138/7 1160/1825/7 1149/2139/7 +f 1172/2140/7 1163/2141/7 1194/2142/7 +f 1164/2143/7 1171/2144/7 1165/1828/7 +f 1323/2145/696 1318/2146/7 1319/2147/697 +f 1287/2148/698 1270/2021/699 1286/2022/699 +f 1180/1858/9 1186/1860/9 1181/2149/9 +f 1065/2150/6 1064/1849/6 1075/2124/6 +f 1065/2150/700 1075/2124/700 1096/2151/700 +f 1185/1850/5 1192/2152/5 1067/1851/5 +f 1192/2152/5 1193/1854/5 1067/1851/5 +f 1193/1854/5 1190/2153/5 1189/2154/5 +f 1189/2154/5 1184/1852/5 1193/1854/5 +f 1090/1687/701 1096/2151/701 1075/2124/701 +f 1184/1852/6 1183/1685/6 1090/1687/6 +f 1244/1995/4 1067/1851/4 1193/1854/4 +f 1313/2155/10 1314/2156/10 1315/2157/10 +f 1320/2158/702 1322/2159/702 1319/2160/703 +f 1318/2161/6 1320/2158/6 1319/2160/704 +f 1311/2162/2 1324/2163/2 1325/2164/2 +f 1327/2165/705 1329/2166/705 1326/2167/705 +f 1335/2168/706 1314/2169/706 1334/2170/706 +f 1314/2156/707 1329/2166/707 1315/2157/707 +f 1335/2171/708 1338/2172/708 1339/2173/708 +f 1337/2174/705 1334/2170/705 1340/2175/705 +f 1341/2176/709 1342/2177/709 1343/2178/709 +f 1333/2179/705 1344/2180/705 1341/2181/705 +f 1345/2182/710 1346/2183/710 1347/2184/710 +f 1331/2185/705 1348/2186/705 1345/2187/705 +f 1342/2177/711 1350/2188/711 1343/2178/711 +f 1334/2189/712 1342/2177/712 1340/2190/712 +f 1333/2191/713 1343/2178/713 1350/2188/713 +f 1334/2189/714 1350/2188/714 1349/2192/714 +f 1346/2183/715 1352/2193/715 1347/2184/715 +f 1332/2194/716 1346/2183/716 1344/2195/716 +f 1331/2196/717 1347/2184/717 1352/2193/717 +f 1332/2194/718 1352/2193/718 1351/2197/718 +f 1353/2198/711 1339/2173/711 1338/2172/711 +f 1327/2199/719 1339/2173/719 1354/2200/719 +f 1337/2201/720 1353/2198/720 1338/2172/720 +f 1327/2199/721 1353/2198/721 1328/2202/721 +f 1320/2158/722 1356/2203/722 1321/2204/722 +f 1341/2181/723 1344/2180/723 1357/2205/723 +f 1316/2206/6 1315/2207/6 1357/2205/6 +f 1348/2186/724 1358/2208/724 1359/2209/724 +f 1321/2204/725 1361/2210/725 1360/2211/725 +f 1360/2211/705 1322/2159/705 1321/2204/705 +f 1324/2212/726 1336/2213/726 1360/2211/726 +f 1357/2205/727 1363/2214/727 1316/2206/727 +f 1358/2215/705 1356/2216/705 1359/2217/705 +f 1355/2218/728 1359/2217/728 1356/2216/728 +f 1364/2219/6 1362/2220/6 1355/2218/6 +f 1365/2221/729 1361/2222/729 1358/2215/729 +f 1325/2164/730 1358/2223/730 1330/2224/730 +f 1325/2225/731 1366/2226/731 1365/2221/731 +f 1357/2205/732 1359/2227/732 1362/2228/732 +f 1320/2158/733 1364/2229/733 1355/2230/733 +f 1317/2231/734 1363/2232/734 1364/2219/734 +f 1324/2212/735 1361/2233/735 1366/2234/735 +f 1319/2147/736 1336/2213/737 1323/2145/738 +f 1213/1699/4 1204/2066/4 1207/1909/4 +f 1294/2235/3 1295/2236/3 1282/2009/3 +f 1094/2237/739 1076/1726/739 1078/1975/739 +f 1078/1975/740 1093/1874/740 1094/2237/740 +f 1233/1949/741 1235/1979/741 1210/1950/741 +f 1226/1945/742 1197/1944/742 1196/1953/742 +f 1374/2238/1 1376/2239/1 1373/2240/1 +f 1375/2241/2 1378/2242/2 1376/2239/2 +f 1377/2243/3 1380/2244/3 1378/2245/3 +f 1379/2246/4 1382/2247/4 1380/2244/4 +f 1381/2248/5 1384/2249/5 1382/2247/5 +f 1383/2250/6 1386/2251/6 1384/2249/6 +f 1381/2248/5 1388/2252/5 1383/2250/5 +f 1385/2253/8 1390/2254/8 1386/2251/8 +f 1389/2255/9 1373/2240/9 1390/2254/9 +f 1384/2249/743 1391/2256/743 1392/2257/743 +f 1398/2258/10 1394/2259/10 1396/2260/10 +f 1380/2244/744 1397/2261/744 1396/2262/744 +f 1386/2251/745 1398/2263/745 1391/2264/745 +f 1378/2242/746 1394/2265/746 1376/2239/746 +f 1384/2249/747 1397/2266/747 1382/2247/747 +f 1390/2254/748 1393/2267/748 1398/2268/748 +f 1376/2239/749 1393/2269/749 1373/2240/749 +f 1380/2244/750 1395/2270/750 1378/2245/750 +f 1399/2271/751 1401/2272/751 1402/2273/751 +f 1389/2255/9 1399/2271/9 1374/2238/9 +f 1374/2238/1 1403/2274/1 1375/2241/1 +f 1377/2243/3 1405/2275/3 1379/2246/3 +f 1383/2250/6 1406/2276/6 1385/2253/6 +f 1379/2246/4 1387/2277/4 1381/2248/4 +f 1385/2253/8 1400/2278/8 1389/2255/8 +f 1375/2241/2 1404/2279/2 1377/2280/2 +f 1388/2252/752 1408/2281/752 1406/2276/752 +f 1387/2277/753 1409/2282/753 1410/2283/753 +f 1404/2279/754 1411/2284/754 1412/2285/754 +f 1400/2278/755 1408/2286/755 1401/2287/755 +f 1387/2277/756 1407/2288/756 1388/2252/756 +f 1405/2275/757 1412/2289/757 1409/2290/757 +f 1399/2271/758 1411/2291/758 1403/2274/758 +f 1412/2289/759 1414/2292/759 1409/2290/759 +f 1414/2293/7 1413/2294/7 1418/2295/7 +f 1402/2296/760 1415/2297/760 1411/2291/760 +f 1401/2272/761 1416/2298/761 1402/2273/761 +f 1408/2281/762 1419/2299/762 1418/2300/762 +f 1410/2283/763 1414/2301/763 1420/2302/763 +f 1412/2285/764 1415/2303/764 1413/2304/764 +f 1408/2286/765 1417/2305/765 1401/2287/765 +f 1407/2288/766 1420/2306/766 1419/2307/766 +f 1422/2308/4 1424/2309/4 1421/2310/4 +f 1422/2308/3 1426/2311/3 1423/2312/3 +f 1427/2313/2 1426/2314/2 1425/2315/2 +f 1429/2316/1 1428/2317/1 1427/2313/1 +f 1431/2318/9 1430/2319/9 1429/2316/9 +f 1433/2320/8 1432/2321/8 1431/2318/8 +f 1435/2322/9 1430/2319/9 1432/2321/9 +f 1437/2323/6 1434/2324/6 1433/2320/6 +f 1421/2310/5 1438/2325/5 1437/2323/5 +f 1431/2318/745 1440/2326/745 1433/2320/745 +f 1446/2327/10 1442/2328/10 1439/2329/10 +f 1427/2313/749 1443/2330/749 1429/2316/749 +f 1433/2320/743 1442/2331/743 1437/2323/743 +f 1446/2332/750 1425/2333/750 1422/2308/750 +f 1443/2334/748 1431/2318/748 1429/2316/748 +f 1437/2323/747 1441/2335/747 1421/2310/747 +f 1441/2336/744 1422/2308/744 1421/2310/744 +f 1445/2337/746 1427/2313/746 1425/2315/746 +f 1448/2338/756 1450/2339/756 1447/2340/756 +f 1447/2340/5 1438/2325/5 1424/2309/5 +f 1451/2341/4 1424/2309/4 1423/2312/4 +f 1452/2342/2 1426/2314/2 1428/2317/2 +f 1454/2343/8 1432/2321/8 1434/2324/8 +f 1436/2344/1 1428/2317/1 1430/2319/1 +f 1450/2339/6 1434/2324/6 1438/2325/6 +f 1453/2345/3 1423/2312/3 1426/2311/3 +f 1455/2346/767 1435/2322/767 1454/2343/767 +f 1436/2344/758 1458/2347/758 1452/2342/758 +f 1453/2345/757 1460/2348/757 1451/2341/757 +f 1449/2349/752 1454/2343/752 1450/2339/752 +f 1456/2350/751 1436/2344/751 1435/2322/751 +f 1452/2342/754 1459/2351/754 1453/2352/754 +f 1460/2353/753 1447/2340/753 1451/2341/753 +f 1461/2354/768 1459/2351/768 1458/2355/768 +f 1467/2356/7 1468/2357/7 1464/2358/7 +f 1463/2359/763 1448/2360/763 1460/2353/763 +f 1448/2338/766 1467/2361/766 1449/2362/766 +f 1455/2346/765 1465/2363/765 1456/2364/765 +f 1457/2365/760 1461/2366/760 1458/2347/760 +f 1459/2367/759 1463/2368/759 1460/2348/759 +f 1467/2369/762 1455/2370/762 1449/2349/762 +f 1456/2350/769 1464/2371/769 1457/2372/769 +f 1471/2373/770 1470/2374/770 1469/2375/770 +f 1473/2376/771 1471/2373/771 1469/2375/771 +f 1475/2377/772 1474/2378/772 1473/2376/772 +f 1478/2379/773 1470/2374/773 1472/2380/773 +f 1477/2381/774 1478/2379/774 1471/2373/774 +f 1475/2382/48 1473/2383/48 1469/2375/48 +f 1481/2384/775 1480/2385/775 1479/2386/775 +f 1483/2387/776 1481/2384/776 1479/2386/776 +f 1485/2388/777 1484/2389/777 1483/2387/777 +f 1482/2390/778 1487/2391/778 1480/2385/778 +f 1487/2391/779 1488/2392/779 1481/2384/779 +f 1485/2393/45 1483/2394/45 1479/2386/45 +f 1491/2395/780 1490/2396/780 1489/2397/780 +f 1493/2398/781 1491/2395/781 1489/2397/781 +f 1495/2399/782 1494/2400/782 1493/2398/782 +f 1498/2401/783 1490/2396/783 1492/2402/783 +f 1497/2403/784 1498/2401/784 1491/2395/784 +f 1495/2404/46 1493/2405/46 1489/2397/46 +f 1499/2406/785 1502/2407/785 1500/2408/785 +f 1503/2409/786 1501/2410/786 1499/2406/786 +f 1505/2411/787 1504/2412/787 1503/2409/787 +f 1508/2413/788 1500/2408/788 1502/2407/788 +f 1507/2414/789 1508/2413/789 1501/2410/789 +f 1505/2415/44 1503/2416/44 1499/2406/44 +f 1509/2417/790 1512/2418/790 1510/2419/790 +f 1513/2420/791 1511/2421/791 1509/2417/791 +f 1515/2422/792 1514/2423/792 1513/2420/792 +f 1512/2418/793 1517/2424/793 1510/2419/793 +f 1517/2424/794 1518/2425/794 1511/2421/794 +f 1515/2426/795 1513/2427/795 1509/2417/795 +f 1519/2428/796 1522/2429/796 1520/2430/796 +f 1523/2431/797 1521/2432/797 1519/2428/797 +f 1523/2431/798 1526/2433/798 1524/2434/798 +f 1528/2435/799 1520/2430/799 1522/2429/799 +f 1527/2436/800 1528/2435/800 1521/2432/800 +f 1525/2437/801 1523/2438/801 1519/2428/801 +f 1531/2439/802 1530/2440/802 1529/2441/802 +f 1529/2441/803 1534/2442/803 1531/2439/803 +f 1533/2443/804 1536/2444/804 1534/2442/804 +f 1532/2445/805 1537/2446/805 1530/2440/805 +f 1537/2446/806 1538/2447/806 1531/2439/806 +f 1535/2448/807 1533/2449/807 1529/2441/807 +f 1541/2450/808 1540/2451/808 1539/2452/808 +f 1539/2452/809 1544/2453/809 1541/2450/809 +f 1543/2454/810 1546/2455/810 1544/2453/810 +f 1548/2456/811 1540/2451/811 1542/2457/811 +f 1547/2458/812 1548/2456/812 1541/2450/812 +f 1545/2459/813 1543/2460/813 1539/2452/813 +f 2/1/1 3/4/1 4/2/1 +f 3/4/2 5/2461/2 6/5/2 +f 5/6/3 7/9/3 8/7/3 +f 7/9/4 9/11/4 10/10/4 +f 9/11/5 11/13/5 12/12/5 +f 11/13/6 13/18/6 14/14/6 +f 5/16/7 3/2462/7 2/2463/7 +f 2/2463/7 15/2464/7 5/16/7 +f 15/2464/7 13/17/7 5/16/7 +f 13/17/7 11/2465/7 9/2466/7 +f 9/2466/7 7/15/7 13/17/7 +f 13/18/8 15/20/8 16/19/8 +f 15/20/9 2/1/9 1/3/9 +f 16/23/10 1/2467/10 4/2468/10 +f 4/2468/10 6/2469/10 8/21/10 +f 8/21/10 10/2470/10 12/22/10 +f 12/22/10 14/2471/10 16/23/10 +f 16/23/10 4/2468/10 8/21/10 +f 18/24/1 19/27/1 20/25/1 +f 19/27/2 21/2472/2 22/28/2 +f 21/29/3 23/32/3 24/30/3 +f 23/32/4 25/34/4 26/33/4 +f 25/34/5 27/36/5 28/35/5 +f 27/36/6 29/41/6 30/37/6 +f 21/39/7 19/2473/7 18/2474/7 +f 18/2474/7 31/2475/7 21/39/7 +f 31/2475/7 29/40/7 21/39/7 +f 29/40/7 27/2476/7 25/2477/7 +f 25/2477/7 23/38/7 29/40/7 +f 29/41/8 31/43/8 32/42/8 +f 31/43/9 18/24/9 17/26/9 +f 32/46/10 17/2478/10 20/2479/10 +f 20/2479/10 22/2480/10 24/44/10 +f 24/44/10 26/2481/10 28/45/10 +f 28/45/10 30/2482/10 32/46/10 +f 32/46/10 20/2479/10 24/44/10 +f 34/47/1 35/50/1 36/48/1 +f 35/50/2 37/2483/2 38/51/2 +f 37/52/3 39/55/3 40/53/3 +f 39/55/4 41/57/4 42/56/4 +f 41/57/5 43/59/5 44/58/5 +f 43/59/6 45/64/6 46/60/6 +f 37/62/7 35/2484/7 34/2485/7 +f 34/2485/7 47/2486/7 37/62/7 +f 47/2486/7 45/63/7 37/62/7 +f 45/63/7 43/2487/7 41/2488/7 +f 41/2488/7 39/61/7 45/63/7 +f 45/64/8 47/66/8 48/65/8 +f 47/66/9 34/47/9 33/49/9 +f 48/69/10 33/2489/10 36/2490/10 +f 36/2490/10 38/2491/10 40/67/10 +f 40/67/10 42/2492/10 44/68/10 +f 44/68/10 46/2493/10 48/69/10 +f 48/69/10 36/2490/10 40/67/10 +f 50/70/1 51/73/1 52/71/1 +f 51/73/2 53/2494/2 54/74/2 +f 53/75/3 55/78/3 56/76/3 +f 55/78/4 57/80/4 58/79/4 +f 57/80/5 59/82/5 60/81/5 +f 59/82/6 61/87/6 62/83/6 +f 53/85/7 51/2495/7 50/2496/7 +f 50/2496/7 63/2497/7 53/85/7 +f 63/2497/7 61/86/7 53/85/7 +f 61/86/7 59/2498/7 57/2499/7 +f 57/2499/7 55/84/7 61/86/7 +f 61/87/8 63/89/8 64/88/8 +f 63/89/9 50/70/9 49/72/9 +f 64/92/10 49/2500/10 52/2501/10 +f 52/2501/10 54/2502/10 56/90/10 +f 56/90/10 58/2503/10 60/91/10 +f 60/91/10 62/2504/10 64/92/10 +f 64/92/10 52/2501/10 56/90/10 +f 66/93/1 67/96/1 68/94/1 +f 67/96/2 69/2505/2 70/97/2 +f 69/98/3 71/101/3 72/99/3 +f 71/101/4 73/103/4 74/102/4 +f 73/103/5 75/105/5 76/104/5 +f 75/105/6 77/110/6 78/106/6 +f 69/108/7 67/2506/7 66/2507/7 +f 66/2507/7 79/2508/7 69/108/7 +f 79/2508/7 77/109/7 69/108/7 +f 77/109/7 75/2509/7 73/2510/7 +f 73/2510/7 71/107/7 77/109/7 +f 77/110/8 79/112/8 80/111/8 +f 79/112/9 66/93/9 65/95/9 +f 80/115/10 65/2511/10 68/2512/10 +f 68/2512/10 70/2513/10 72/113/10 +f 72/113/10 74/2514/10 76/114/10 +f 76/114/10 78/2515/10 80/115/10 +f 80/115/10 68/2512/10 72/113/10 +f 81/116/11 82/2516/11 83/117/11 +f 84/118/7 83/117/7 85/119/7 +f 86/120/12 85/119/12 87/121/12 +f 87/121/13 89/127/13 90/123/13 +f 85/125/14 83/2517/14 82/126/14 +f 82/126/14 91/2518/14 89/2519/14 +f 89/2519/14 87/124/14 82/126/14 +f 89/127/10 91/129/10 92/128/10 +f 91/129/15 82/2520/15 81/130/15 +f 93/131/16 94/2521/16 95/132/16 +f 96/133/7 95/132/7 97/134/7 +f 98/135/17 97/134/17 99/136/17 +f 99/136/814 101/142/814 102/138/814 +f 97/140/14 95/2522/14 94/141/14 +f 94/141/14 103/2523/14 101/2524/14 +f 101/2524/14 99/139/14 94/141/14 +f 101/142/10 103/144/10 104/143/10 +f 103/144/19 94/2525/19 93/145/19 +f 105/146/16 106/2526/16 107/147/16 +f 108/148/7 107/147/7 109/149/7 +f 110/150/17 109/149/17 111/151/17 +f 111/151/814 113/157/814 114/153/814 +f 109/155/14 107/2527/14 106/156/14 +f 106/156/14 115/2528/14 113/2529/14 +f 113/2529/14 111/154/14 106/156/14 +f 113/157/10 115/159/10 116/158/10 +f 115/159/19 106/2530/19 105/160/19 +f 117/161/10 118/173/10 119/162/10 +f 119/164/20 121/179/20 122/165/20 +f 121/167/7 123/180/7 124/168/7 +f 123/170/21 118/178/21 117/171/21 +f 118/173/22 125/177/22 126/174/22 +f 126/174/23 125/177/23 128/175/23 +f 123/170/24 128/175/24 125/177/24 +f 121/179/25 119/164/25 126/174/25 +f 123/180/26 121/167/26 127/176/26 +f 129/181/27 130/184/27 131/182/27 +f 130/184/7 133/186/7 134/185/7 +f 133/186/28 135/189/28 136/187/28 +f 137/188/29 138/194/29 136/187/29 +f 132/192/30 131/2531/30 134/2532/30 +f 134/2532/30 136/2533/30 132/192/30 +f 136/2533/30 138/190/30 132/192/30 +f 140/193/10 139/196/10 138/194/10 +f 129/195/31 132/2534/31 139/196/31 +f 141/197/27 142/200/27 143/198/27 +f 142/200/7 145/202/7 146/201/7 +f 145/202/28 147/205/28 148/203/28 +f 149/204/815 150/210/815 148/203/815 +f 144/208/30 143/2535/30 146/2536/30 +f 146/2536/30 148/2537/30 144/208/30 +f 148/2537/30 150/206/30 144/208/30 +f 152/209/10 151/212/10 150/210/10 +f 141/211/31 144/2538/31 151/212/31 +f 153/213/32 154/216/32 155/214/32 +f 154/216/7 157/218/7 158/217/7 +f 157/218/816 159/221/816 160/219/816 +f 161/220/34 162/226/34 160/219/34 +f 156/224/30 155/2539/30 158/2540/30 +f 158/2540/30 160/2541/30 156/224/30 +f 160/2541/30 162/222/30 156/224/30 +f 164/225/10 163/228/10 162/226/10 +f 153/227/35 156/2542/35 163/228/35 +f 165/229/10 166/2543/10 167/230/10 +f 169/232/36 170/245/36 167/233/36 +f 171/235/7 172/246/7 170/236/7 +f 165/238/37 168/244/37 172/239/37 +f 173/241/38 174/2544/38 168/231/38 +f 176/242/39 174/2544/39 173/241/39 +f 168/244/40 174/2544/40 176/242/40 +f 175/243/817 173/241/817 167/233/817 +f 172/246/42 176/242/42 175/243/42 +f 178/247/43 179/2545/43 180/248/43 +f 208/250/44 210/2546/44 211/251/44 +f 211/253/45 216/2547/45 212/254/45 +f 188/256/46 184/298/46 181/257/46 +f 185/259/45 181/299/45 178/247/45 +f 183/261/47 186/272/47 187/262/47 +f 190/264/48 191/277/48 192/265/48 +f 188/267/49 190/264/49 189/266/49 +f 188/269/62 185/2548/62 187/270/62 +f 182/271/818 189/266/818 186/272/818 +f 193/274/63 192/265/63 194/275/63 +f 187/270/46 196/285/46 191/277/46 +f 189/266/44 192/265/44 193/274/44 +f 186/272/45 193/274/45 196/278/45 +f 194/279/53 197/290/53 198/280/53 +f 196/278/54 193/274/54 195/282/54 +f 191/277/55 197/2549/55 194/284/55 +f 196/285/819 200/2550/819 197/286/819 +f 202/287/7 199/2551/7 198/280/7 +f 200/289/57 201/288/57 198/280/57 +f 194/279/58 199/281/58 202/291/58 +f 195/292/59 202/291/59 201/293/59 +f 180/295/10 179/2552/10 204/296/10 +f 184/298/60 203/297/60 204/296/60 +f 181/299/45 204/2553/45 179/300/45 +f 184/298/48 177/249/48 180/301/48 +f 206/303/43 207/347/43 208/250/43 +f 216/304/46 213/2554/46 209/305/46 +f 213/307/48 210/2546/48 208/250/48 +f 188/309/48 182/2555/48 177/310/48 +f 213/312/49 214/329/49 215/313/49 +f 218/315/45 219/327/45 220/316/45 +f 217/317/61 220/316/61 216/318/61 +f 216/320/62 220/316/62 214/321/62 +f 215/313/51 217/317/51 211/323/51 +f 221/325/52 222/2556/52 223/326/52 +f 219/327/46 224/336/46 214/321/46 +f 221/325/44 218/315/44 217/317/44 +f 224/328/48 221/325/48 215/313/48 +f 223/330/59 225/2557/59 226/331/59 +f 224/328/64 228/2558/64 222/333/64 +f 223/334/65 227/2559/65 219/327/65 +f 227/335/819 228/2560/819 224/336/819 +f 226/331/7 225/2561/7 230/337/7 +f 226/331/57 229/338/57 228/339/57 +f 230/340/58 225/2557/58 223/330/58 +f 229/342/53 230/340/53 222/341/53 +f 232/344/10 207/2562/10 206/345/10 +f 232/344/60 231/346/60 212/306/60 +f 207/347/48 232/2563/48 209/308/48 +f 212/306/45 231/2564/45 206/348/45 +f 178/247/44 177/249/44 182/349/44 +f 234/350/1 235/353/1 236/351/1 +f 235/353/2 237/2565/2 238/354/2 +f 237/355/3 239/358/3 240/356/3 +f 239/358/4 241/360/4 242/359/4 +f 241/360/5 243/362/5 244/361/5 +f 243/362/6 245/364/6 246/363/6 +f 245/364/8 247/366/8 248/365/8 +f 247/366/9 234/350/9 233/352/9 +f 240/356/66 242/359/66 249/367/66 +f 256/370/10 251/2566/10 252/2567/10 +f 252/2567/10 253/2568/10 256/370/10 +f 253/2568/10 250/371/10 256/370/10 +f 250/371/10 249/2569/10 254/2570/10 +f 254/2570/10 255/369/10 250/371/10 +f 248/365/67 256/2571/67 255/372/67 +f 238/354/68 253/2572/68 252/373/68 +f 244/361/69 254/2573/69 249/374/69 +f 248/365/70 233/352/70 251/375/70 +f 236/351/71 252/2574/71 251/377/71 +f 238/357/72 240/356/72 250/378/72 +f 244/361/73 246/363/73 255/380/73 +f 258/382/74 259/385/74 260/383/74 +f 259/385/75 261/387/75 262/386/75 +f 261/387/76 263/389/76 264/388/76 +f 263/389/77 265/391/77 266/390/77 +f 265/391/78 267/393/78 268/392/78 +f 267/393/79 269/397/79 270/394/79 +f 261/395/48 259/385/48 258/382/48 +f 258/382/48 271/2575/48 269/396/48 +f 269/396/48 267/2576/48 265/2577/48 +f 265/2577/48 263/2578/48 269/396/48 +f 263/2578/48 261/395/48 269/396/48 +f 269/397/80 271/399/80 272/398/80 +f 271/399/81 258/2579/81 257/400/81 +f 272/402/45 257/384/45 264/403/45 +f 257/384/45 260/383/45 264/403/45 +f 260/383/45 262/2580/45 264/403/45 +f 264/403/45 266/2581/45 268/2582/45 +f 268/2582/45 270/401/45 264/403/45 +f 274/404/45 275/443/45 276/405/45 +f 273/407/45 277/2583/45 278/408/45 +f 280/410/82 281/449/82 282/411/82 +f 284/413/48 285/2584/48 286/414/48 +f 278/408/83 280/436/83 287/416/83 +f 273/417/44 285/426/44 284/418/44 +f 276/420/44 289/2585/44 290/421/44 +f 286/423/48 285/2586/48 288/424/48 +f 273/417/44 276/420/44 288/422/44 +f 291/425/84 292/435/84 293/427/84 +f 290/429/10 289/2587/10 295/430/10 +f 291/425/85 294/2588/85 296/432/85 +f 276/405/45 275/443/45 295/433/45 +f 288/424/48 290/2589/48 292/435/48 +f 280/436/46 279/446/46 296/437/46 +f 296/438/86 294/428/86 297/439/86 +f 294/428/87 293/427/87 298/441/87 +f 295/430/88 298/441/88 293/427/88 +f 320/442/89 319/2590/89 277/419/89 +f 275/443/90 297/439/90 298/441/90 +f 275/443/91 274/404/91 287/444/91 +f 283/415/92 286/414/92 296/437/92 +f 306/447/93 307/467/93 308/448/93 +f 280/450/94 278/499/94 306/447/94 +f 279/451/95 282/411/95 299/452/95 +f 308/448/96 310/464/96 311/454/96 +f 305/456/97 309/455/97 311/457/97 +f 299/452/99 282/411/99 309/455/99 +f 281/449/100 308/448/100 309/455/100 +f 283/453/48 300/487/48 301/459/48 +f 319/461/7 320/2591/7 312/462/820 +f 312/462/821 311/454/104 310/464/104 +f 284/460/48 301/459/48 302/465/48 +f 302/465/48 303/488/48 320/466/48 +f 307/467/106 318/494/822 310/468/106 +f 301/469/76 300/475/76 313/470/76 +f 304/472/79 303/483/79 322/473/79 +f 300/475/75 325/484/75 314/476/75 +f 323/477/80 304/472/80 317/474/80 +f 324/479/81 323/477/81 316/478/81 +f 302/481/77 301/469/77 321/471/77 +f 303/483/78 302/481/78 326/482/78 +f 325/484/74 324/2592/74 315/485/74 +f 305/456/48 323/489/48 324/486/48 +f 324/486/48 325/2593/48 299/452/48 +f 299/452/48 325/2593/48 300/487/48 +f 303/488/48 304/490/48 312/458/823 +f 323/489/48 305/456/48 312/458/824 +f 319/493/45 322/495/45 326/491/45 +f 326/491/45 321/498/45 277/492/45 +f 318/494/825 317/497/45 322/495/45 +f 318/494/826 307/467/45 316/496/45 +f 321/498/45 313/500/45 278/499/45 +f 306/447/45 278/499/45 313/500/45 +f 306/447/45 314/501/45 315/502/45 +f 315/502/45 316/496/45 307/467/45 +f 327/503/45 328/557/45 329/504/45 +f 332/506/7 333/2594/7 334/507/7 +f 336/509/44 337/556/44 338/510/44 +f 340/512/48 341/543/48 342/513/48 +f 344/515/44 345/563/44 346/516/44 +f 348/518/46 349/558/46 350/519/46 +f 352/521/45 353/540/45 354/522/45 +f 356/524/48 357/531/48 358/525/48 +f 360/527/10 361/2595/10 362/528/10 +f 363/530/827 350/559/827 358/525/827 +f 357/531/112 337/556/112 343/517/112 +f 364/532/828 328/557/828 351/523/828 +f 336/509/114 352/521/114 327/503/114 +f 365/541/829 366/565/829 342/513/829 +f 341/543/830 346/516/830 369/544/830 +f 370/546/831 371/553/831 329/504/831 +f 373/548/832 345/563/832 330/505/832 +f 350/519/127 363/2596/127 364/555/127 +f 357/531/48 340/512/48 339/514/48 +f 336/509/44 344/515/44 343/517/44 +f 352/521/45 351/523/45 328/557/45 +f 347/533/128 351/523/128 354/522/128 +f 335/511/114 353/540/114 352/521/114 +f 331/538/129 354/522/129 353/540/129 +f 348/518/130 331/508/130 334/507/130 +f 338/510/131 333/2594/131 332/506/131 +f 355/526/132 334/535/132 333/536/132 +f 349/534/133 355/526/133 358/525/133 +f 337/556/112 357/531/112 356/524/112 +f 366/560/134 365/566/134 370/561/134 +f 341/543/48 368/545/48 367/542/48 +f 345/563/833 373/567/833 369/564/833 +f 330/505/45 329/504/45 371/553/45 +f 330/505/114 345/563/114 344/515/114 +f 340/512/112 343/517/112 346/516/112 +f 339/514/136 342/513/136 366/565/136 +f 328/557/137 364/532/137 372/547/137 +f 365/566/138 359/529/138 362/528/138 +f 368/545/139 360/551/139 359/550/139 +f 373/567/834 361/2595/834 360/527/834 +f 374/549/141 371/553/141 362/552/141 +f 363/568/142 366/560/142 372/562/142 +f 376/570/10 377/2597/10 378/571/10 +f 377/573/45 379/584/45 380/574/45 +f 379/576/7 381/2598/7 382/577/7 +f 381/579/48 376/2599/48 375/580/48 +f 385/2600/143 382/581/143 384/583/143 +f 382/581/143 375/580/143 384/583/143 +f 377/573/44 376/2599/44 381/579/44 +f 387/585/46 384/2601/46 383/586/46 +f 386/2602/144 378/575/144 387/589/144 +f 378/575/144 380/574/144 387/589/144 +f 378/571/145 386/587/145 383/586/145 +f 382/577/146 385/2603/146 388/590/146 +f 390/591/45 391/2604/45 392/592/45 +f 385/594/147 393/607/147 390/595/147 +f 384/597/48 394/2605/48 393/598/48 +f 387/600/148 389/2606/148 394/601/148 +f 387/603/45 388/2607/45 390/591/45 +f 395/604/149 392/609/149 396/605/835 +f 393/607/152 398/618/152 391/608/152 +f 394/601/153 389/2606/153 392/609/153 +f 393/598/48 394/2605/48 395/610/48 +f 399/612/46 400/626/46 401/613/46 +f 395/610/48 399/623/48 402/615/48 +f 392/592/45 391/2604/45 401/616/45 +f 398/618/154 402/614/154 401/613/154 +f 404/619/836 405/628/156 406/620/156 +f 400/617/837 403/2608/838 396/622/839 +f 399/623/840 395/610/840 397/624/841 +f 399/612/163 404/619/842 403/621/843 +f 408/627/844 406/620/844 405/628/844 +f 396/622/845 403/2608/846 406/630/167 +f 397/606/847 396/605/848 408/632/169 +f 404/625/849 397/624/850 407/634/171 +f 418/636/172 411/2609/172 412/637/172 +f 409/639/48 414/646/48 417/640/48 +f 418/642/45 413/651/45 410/643/45 +f 415/645/48 416/659/48 417/640/48 +f 419/647/173 420/656/173 421/648/173 +f 418/642/45 421/660/45 422/650/45 +f 416/649/174 421/648/174 418/636/174 +f 422/652/175 415/657/175 414/653/175 +f 419/647/176 423/658/176 424/655/176 +f 424/655/177 423/658/177 415/657/177 +f 423/658/48 419/647/48 416/659/48 +f 421/660/45 420/656/45 424/655/45 +f 414/653/178 409/2610/178 410/661/178 +f 466/662/179 431/683/179 427/663/179 +f 465/664/180 427/663/180 425/665/180 +f 425/665/181 427/663/181 428/667/181 +f 468/669/182 432/673/182 430/670/182 +f 461/672/183 426/684/183 432/673/183 +f 430/670/184 431/683/184 466/662/184 +f 433/674/48 434/2611/48 435/675/48 +f 427/663/185 431/683/185 433/677/185 +f 432/673/186 437/693/186 434/679/186 +f 426/680/187 425/665/187 429/681/187 +f 430/670/188 434/2611/188 433/674/188 +f 426/684/189 438/689/189 437/685/189 +f 436/686/190 440/712/190 441/687/190 +f 438/689/48 442/2612/48 443/690/48 +f 429/668/48 428/667/48 439/691/48 +f 433/677/48 436/686/48 439/688/48 +f 437/693/48 443/2613/48 435/694/48 +f 438/682/48 429/681/48 444/695/48 +f 445/697/48 446/723/48 447/698/48 +f 435/694/191 443/2613/191 448/700/191 +f 444/695/192 449/715/192 450/702/192 +f 435/675/193 445/697/193 440/699/193 +f 443/690/851 442/2612/851 450/703/851 +f 439/691/852 441/2614/852 449/705/852 +f 447/706/183 452/2615/183 453/707/183 +f 450/703/48 454/725/48 455/709/48 +f 449/705/48 441/2614/48 451/710/48 +f 440/712/48 447/706/48 451/708/48 +f 445/701/48 448/700/48 455/713/48 +f 449/715/48 456/721/48 454/716/48 +f 460/719/48 457/2616/48 458/717/48 +f 457/2616/48 453/2617/48 458/717/48 +f 453/2617/48 452/2618/48 458/717/48 +f 455/713/180 459/2619/180 458/720/180 +f 456/721/184 457/2620/184 460/722/184 +f 446/723/196 458/2621/196 452/724/196 +f 454/725/179 460/2622/179 459/726/179 +f 451/710/182 453/2623/182 457/727/182 +f 462/666/197 463/742/197 464/728/197 +f 462/666/196 425/665/196 426/680/196 +f 470/730/45 471/756/45 472/731/45 +f 465/664/198 464/744/198 469/733/198 +f 467/671/199 472/746/199 473/734/199 +f 474/735/200 463/748/200 462/666/200 +f 466/662/201 469/732/201 472/731/201 +f 473/736/202 474/741/202 461/672/202 +f 476/737/203 477/768/203 470/738/203 +f 473/736/45 478/757/45 479/740/45 +f 463/742/45 480/760/45 475/743/45 +f 475/739/45 470/738/45 469/733/45 +f 471/745/45 478/753/45 473/734/45 +f 474/735/45 479/755/45 480/747/45 +f 481/749/45 482/781/45 483/750/45 +f 471/745/204 483/769/204 484/752/204 +f 485/754/205 486/772/205 480/747/205 +f 470/730/206 477/751/206 483/750/206 +f 478/757/853 484/765/853 485/758/853 +f 486/759/854 476/767/854 475/743/854 +f 488/761/183 489/2624/183 481/762/183 +f 490/764/45 491/783/45 485/758/45 +f 486/759/45 492/785/45 487/766/45 +f 487/763/45 481/762/45 477/768/45 +f 483/769/45 482/777/45 490/770/45 +f 485/754/45 491/779/45 492/771/45 +f 488/775/45 493/2625/45 496/773/45 +f 493/2625/45 494/2626/45 496/773/45 +f 494/2626/45 495/2627/45 496/773/45 +f 496/776/180 495/2628/180 490/770/180 +f 494/778/184 493/2629/184 492/771/184 +f 489/780/196 496/2630/196 482/781/196 +f 495/782/179 494/2631/179 491/783/179 +f 493/784/182 488/2632/182 487/766/182 +f 498/786/209 499/800/209 500/787/209 +f 500/787/7 499/800/7 501/789/7 +f 502/790/210 501/789/210 503/791/210 +f 503/793/211 505/796/211 506/794/211 +f 505/796/10 507/798/10 508/797/10 +f 507/798/212 498/786/212 497/788/212 +f 498/786/213 509/809/213 510/799/213 +f 510/799/7 511/802/7 501/801/7 +f 511/802/214 512/2633/214 503/803/214 +f 512/804/215 513/2634/215 505/805/215 +f 505/805/10 513/2634/10 514/807/10 +f 514/807/216 509/809/216 498/786/216 +f 515/808/217 516/817/217 510/799/217 +f 510/799/7 516/817/7 517/810/7 +f 517/810/218 518/2635/218 512/812/218 +f 512/813/219 518/2636/219 519/814/219 +f 519/814/10 520/826/10 514/807/10 +f 514/807/220 520/826/220 515/808/220 +f 521/816/210 522/828/210 516/817/210 +f 516/817/7 522/828/7 523/818/7 +f 517/819/209 523/818/209 524/820/209 +f 524/822/212 525/825/212 519/823/212 +f 525/825/10 526/835/10 520/826/10 +f 520/826/211 526/835/211 521/816/211 +f 527/827/214 528/837/214 522/828/214 +f 522/828/7 528/837/7 529/829/7 +f 529/829/213 530/2637/213 524/831/213 +f 524/832/216 530/2638/216 531/833/216 +f 531/833/10 532/844/10 526/835/10 +f 526/835/215 532/844/215 527/827/215 +f 497/836/218 500/2639/218 528/837/218 +f 528/837/7 500/2639/7 502/838/7 +f 502/838/217 504/2640/217 530/840/217 +f 530/841/220 504/2641/220 506/842/220 +f 506/842/10 508/2642/10 532/844/10 +f 532/844/219 508/2642/219 497/836/219 +f 533/845/855 537/848/222 538/846/222 +f 537/848/224 539/2643/224 540/849/224 +f 539/850/225 541/856/225 542/851/225 +f 537/855/48 533/845/856 543/866/857 +f 543/866/858 544/2644/48 537/855/48 +f 544/2644/48 541/853/48 537/855/48 +f 541/856/226 544/858/226 545/857/226 +f 544/858/227 543/866/859 546/859/860 +f 545/862/45 546/859/861 534/847/862 +f 534/847/863 538/2645/45 545/862/45 +f 538/2645/45 540/860/45 545/862/45 +f 548/863/864 549/867/230 550/864/230 +f 533/845/865 534/847/866 546/859/867 +f 549/867/235 551/872/235 552/868/235 +f 547/869/868 550/864/45 552/868/45 +f 535/871/869 552/868/239 551/872/239 +f 548/874/870 536/2646/871 551/872/48 +f 553/875/242 554/888/242 555/876/242 +f 555/876/243 557/885/243 558/878/243 +f 557/879/244 559/882/244 560/880/244 +f 559/882/245 561/886/245 562/883/245 +f 555/876/246 563/2647/246 564/884/246 +f 561/886/247 565/893/247 566/887/247 +f 566/887/248 565/893/248 554/888/248 +f 560/880/249 567/915/249 568/889/249 +f 564/891/250 563/2648/250 569/892/250 +f 569/892/250 570/2649/250 571/2650/250 +f 571/2650/250 572/890/250 569/892/250 +f 565/893/251 561/886/251 571/894/251 +f 554/888/252 569/2651/252 563/896/252 +f 559/882/253 557/879/253 564/897/253 +f 554/888/254 565/893/254 570/899/254 +f 559/882/255 572/2652/255 571/901/255 +f 573/902/256 574/2653/256 575/903/256 +f 566/887/872 553/875/872 577/905/872 +f 562/883/873 573/921/873 567/907/873 +f 556/877/259 558/878/259 568/908/259 +f 566/887/260 574/2653/260 573/902/260 +f 553/875/261 556/877/261 578/910/261 +f 575/912/262 579/2654/262 580/913/262 +f 567/915/256 582/2655/256 583/916/256 +f 577/911/256 578/910/256 584/917/256 +f 574/906/256 577/905/256 579/919/256 +f 573/921/256 576/2656/256 582/922/256 +f 578/909/256 568/908/256 583/923/256 +f 581/927/256 580/2657/256 587/925/256 +f 580/2657/256 585/2658/256 587/925/256 +f 585/2658/256 586/2659/256 587/925/256 +f 576/928/263 588/2660/263 587/929/263 +f 583/931/264 586/2661/264 585/932/264 +f 575/934/265 581/2662/265 588/935/265 +f 583/937/266 582/2663/266 587/938/266 +f 584/940/267 585/2664/267 580/941/267 +f 589/943/874 590/2665/874 591/944/874 +f 593/946/875 594/1031/875 595/947/875 +f 597/949/270 598/961/270 599/950/270 +f 601/952/876 589/2666/876 602/953/876 +f 596/955/272 603/968/272 604/956/272 +f 590/958/877 589/2667/877 601/959/877 +f 598/961/274 606/981/274 607/962/274 +f 596/948/275 595/947/275 599/963/275 +f 603/965/276 609/2668/276 598/966/276 +f 603/968/277 596/955/277 608/969/277 +f 606/971/278 610/975/278 611/972/278 +f 599/963/279 607/983/279 613/974/279 +f 598/966/280 609/2668/280 610/975/280 +f 608/969/281 613/980/281 610/976/281 +f 615/977/282 612/2669/282 611/978/282 +f 613/980/283 614/979/283 611/978/283 +f 606/981/284 612/2670/284 615/982/284 +f 607/983/285 615/2671/285 614/984/285 +f 616/985/878 617/1006/878 618/986/878 +f 602/988/879 620/1001/879 616/989/879 +f 619/991/880 616/985/880 591/987/880 +f 602/953/881 589/2666/881 592/993/881 +f 621/995/882 618/1000/882 622/996/882 +f 620/994/883 592/993/883 621/998/883 +f 592/945/884 591/944/884 618/1000/884 +f 620/1001/885 624/1005/885 617/1002/885 +f 623/997/886 622/996/886 626/1003/886 +f 624/1005/887 625/1004/887 626/1003/887 +f 617/1006/888 626/2672/888 622/1007/888 +f 624/999/889 621/998/889 623/1008/889 +f 594/1010/298 627/1012/298 597/949/298 +f 628/1011/299 629/1014/299 627/1012/299 +f 630/1013/300 631/1038/300 629/1014/300 +f 633/1015/272 634/1019/272 635/1016/272 +f 636/1018/272 637/1020/272 634/1019/272 +f 593/957/272 604/956/272 637/1020/272 +f 597/967/890 627/1022/890 604/1021/890 +f 627/1022/891 629/1024/891 637/1023/891 +f 629/1024/892 631/1040/892 634/1025/892 +f 632/1026/893 638/1034/893 630/1027/893 +f 633/1028/894 630/1027/894 628/1029/894 +f 636/1030/895 628/1029/895 594/1031/895 +f 619/991/896 590/992/896 605/1032/896 +f 639/1033/897 605/1032/897 638/1034/897 +f 619/990/898 639/1036/898 600/1035/898 +f 632/1017/272 635/1016/272 600/1035/272 +f 630/1013/310 638/1039/310 640/1037/310 +f 605/960/311 601/959/311 640/1037/311 +f 631/1040/899 640/1042/899 635/1041/899 +f 640/1042/900 601/952/900 600/954/900 +f 642/1043/314 643/1085/314 644/1044/314 +f 646/1046/45 647/2673/901 648/1047/45 +f 648/1047/315 650/1054/315 651/1049/315 +f 653/1051/902 642/1043/48 641/1045/48 +f 648/1047/317 647/2673/903 654/1053/317 +f 646/1055/44 642/1094/44 653/1056/904 +f 656/1058/905 657/1102/906 658/1059/321 +f 641/1045/48 659/1071/48 660/1061/48 +f 645/1048/45 648/1047/45 649/1050/45 +f 662/1063/322 663/1075/322 664/1064/322 +f 652/1052/323 660/1061/323 666/1066/323 +f 669/1068/324 670/1081/324 671/1069/324 +f 659/1071/48 663/1075/48 672/1072/907 +f 661/1062/45 649/1050/45 656/1058/908 +f 662/1063/48 674/1098/48 675/1073/48 +f 663/1075/327 659/1071/327 676/1076/327 +f 663/1075/48 662/1063/48 673/1074/48 +f 668/1070/45 656/1058/909 655/1060/45 +f 682/1077/329 688/1092/329 674/1078/329 +f 688/1080/910 682/2674/910 670/1081/910 +f 652/1052/331 667/1067/331 678/1082/331 +f 646/1046/333 645/1048/333 679/1083/333 +f 643/1085/10 680/1084/10 679/1083/10 +f 679/1086/334 681/2675/334 676/1087/334 +f 681/1089/335 671/1069/335 664/1064/335 +f 671/1069/336 670/1081/336 665/1065/336 +f 670/1081/337 682/1077/337 683/1079/337 +f 659/1090/338 641/2676/338 644/1088/338 +f 675/1091/339 674/1078/339 688/1092/339 +f 646/1055/340 680/1084/340 643/1085/340 +f 661/1095/341 681/2675/341 679/1086/341 +f 669/1068/45 655/1060/45 677/1097/45 +f 668/1070/342 671/1069/342 681/1089/342 +f 674/1098/911 662/1063/911 665/1065/911 +f 654/1053/7 678/2677/7 667/1100/7 +f 667/1100/344 666/1101/344 651/1049/344 +f 666/1101/345 684/1103/912 657/1102/913 +f 684/1103/914 685/1104/348 658/1059/348 +f 685/1104/350 686/2678/350 687/1105/350 +f 675/1073/915 686/2679/915 685/1106/915 +f 660/1061/352 672/1072/916 684/1107/917 +f 675/1091/354 677/1093/354 687/1108/354 +f 677/1097/918 655/1060/918 658/1059/918 +f 649/1050/356 651/1049/356 657/1102/919 +f 653/1056/920 678/2680/360 654/1110/360 +f 672/1072/921 673/1074/363 685/1106/363 +f 689/1111/922 690/2681/922 691/1112/922 +f 691/1112/2 693/2682/2 694/1114/2 +f 693/1115/3 695/1118/3 696/1116/3 +f 695/1118/4 697/1120/4 698/1119/4 +f 697/1120/5 699/1122/5 700/1121/5 +f 699/1122/6 701/1127/6 702/1123/6 +f 693/1125/7 691/2683/7 701/1126/7 +f 691/2683/7 690/2684/7 701/1126/7 +f 690/2684/7 703/2685/7 701/1126/7 +f 701/1126/7 699/2686/7 697/2687/7 +f 697/2687/7 695/1124/7 701/1126/7 +f 701/1127/8 703/1129/8 704/1128/8 +f 703/1129/923 690/2681/923 689/1111/923 +f 706/1130/367 707/2688/367 708/1131/367 +f 710/1133/368 711/1168/368 712/1134/368 +f 713/1136/369 714/1147/369 710/1137/369 +f 715/1139/370 716/1143/370 717/1140/370 +f 705/1132/371 708/2689/371 717/1142/371 +f 706/1144/372 719/1150/372 720/1145/372 +f 714/1147/373 721/1153/373 722/1148/373 +f 719/1150/374 713/1136/374 709/1151/374 +f 721/1153/375 715/1139/375 718/1154/375 +f 724/1156/8 725/1182/8 726/1157/8 +f 720/1159/376 727/1171/376 728/1160/376 +f 708/1162/377 729/1174/377 730/1163/377 +f 717/1165/378 730/1163/378 724/1156/378 +f 722/1167/379 723/1158/379 711/1168/379 +f 720/1170/380 709/2690/380 712/1134/380 +f 708/1172/381 707/2691/381 728/1173/381 +f 718/1175/382 724/1156/382 723/1158/382 +f 726/1157/383 732/2692/383 733/1177/383 +f 712/1134/5 711/1168/5 731/1178/5 +f 727/1171/3 735/1183/3 736/1180/3 +f 729/1174/1 737/1184/1 738/1181/1 +f 730/1163/9 738/1181/9 725/1182/9 +f 723/1158/6 726/1157/6 731/1178/6 +f 712/1134/4 734/1179/4 735/1183/4 +f 728/1173/2 736/1189/2 737/1184/2 +f 739/1185/384 740/2693/384 741/1186/384 +f 734/1179/385 743/2694/385 744/1188/385 +f 736/1189/386 745/2695/386 740/1190/386 +f 726/1157/387 725/1182/387 746/1191/387 +f 734/1179/388 731/1178/388 733/1193/388 +f 736/1180/389 735/1183/389 744/1195/389 +f 737/1184/390 740/2696/390 739/1197/390 +f 738/1181/391 739/2697/391 746/1198/391 +f 748/1199/8 749/1224/8 750/1200/8 +f 739/1202/392 742/1187/392 748/1199/392 +f 732/1204/393 747/1201/393 751/1205/393 +f 743/1207/394 752/1214/394 753/1208/394 +f 745/1210/395 754/1227/395 741/1186/395 +f 732/1212/396 746/2698/396 748/1199/396 +f 733/1213/397 751/1205/397 752/1214/397 +f 745/1216/398 744/2699/398 753/1208/398 +f 755/1218/399 756/2700/399 757/1219/399 +f 751/1205/5 759/1225/5 760/1221/5 +f 753/1208/3 761/1226/3 756/1222/3 +f 741/1186/1 755/1218/1 762/1223/1 +f 742/1187/9 762/1223/9 749/1224/9 +f 747/1201/6 750/1200/6 759/1225/6 +f 752/1214/4 760/1221/4 761/1226/4 +f 754/1227/2 756/2700/2 755/1218/2 +f 764/1228/400 765/2701/400 766/1229/400 +f 749/1224/401 763/2702/401 767/1231/401 +f 759/1225/402 768/2703/402 769/1232/402 +f 761/1226/403 770/2704/403 757/1233/403 +f 755/1218/404 758/2705/404 764/1234/404 +f 749/1224/405 762/1223/405 764/1228/405 +f 750/1200/406 767/1241/406 768/1235/406 +f 761/1226/407 760/1221/407 769/1236/407 +f 766/1238/408 772/2706/408 773/1239/408 +f 767/1241/409 771/2707/409 774/1242/409 +f 769/1236/410 775/2708/410 776/1243/410 +f 757/1219/411 777/2709/411 778/1244/411 +f 767/1231/412 763/2702/412 766/1238/412 +f 769/1232/413 768/2703/413 774/1245/413 +f 757/1233/414 770/2704/414 776/1247/414 +f 764/1234/415 758/2705/415 778/1249/415 +f 773/1251/10 780/1280/10 781/1252/10 +f 774/1245/416 779/2710/416 782/1254/416 +f 776/1247/417 783/2711/417 784/1255/417 +f 778/1249/418 785/2712/418 786/1256/418 +f 766/1229/419 765/2701/419 786/1257/419 +f 774/1242/420 771/2707/420 773/1251/420 +f 776/1243/421 775/2708/421 782/1259/421 +f 778/1244/422 777/2709/422 784/1261/422 +f 788/1263/5 789/2713/5 790/1264/5 +f 782/1259/10 791/1282/10 792/1266/10 +f 784/1261/10 793/1284/10 788/1267/10 +f 773/1239/10 772/2706/10 794/1268/10 +f 782/1254/10 779/2710/10 781/1270/10 +f 784/1255/10 783/2711/10 792/1272/10 +f 786/1256/10 785/2712/10 788/1263/10 +f 786/1257/10 787/1278/10 794/1274/10 +f 800/1276/10 790/2714/10 789/2715/10 +f 789/2715/10 795/2716/10 800/1276/10 +f 795/2716/10 796/1277/10 800/1276/10 +f 796/1277/10 797/2717/10 798/2718/10 +f 798/2718/10 799/1275/10 796/1277/10 +f 787/1278/4 790/2719/4 800/1279/4 +f 780/1280/2 799/2720/2 798/1281/2 +f 791/1282/9 797/2721/9 796/1283/9 +f 793/1284/6 795/2722/6 789/1285/6 +f 794/1268/3 800/2723/3 799/1286/3 +f 781/1270/1 798/2724/1 797/1287/1 +f 792/1272/8 796/2725/8 795/1288/8 +f 715/1139/423 801/2726/423 802/1289/423 +f 803/1290/924 801/2726/924 715/1139/924 +f 714/1147/925 804/2727/925 803/1290/925 +f 805/1291/424 804/2727/424 714/1147/424 +f 719/1150/425 806/2728/425 805/1291/425 +f 807/1292/926 806/2728/926 719/1150/926 +f 705/1132/927 808/2729/927 807/1293/927 +f 802/1289/426 808/2729/426 705/1132/426 +f 704/1294/366 689/2730/366 810/1295/366 +f 702/1297/428 704/1294/428 809/1296/428 +f 812/1299/429 700/1301/429 702/1297/429 +f 813/1300/928 698/2731/928 700/1301/928 +f 696/1302/929 698/2731/929 813/1300/929 +f 815/1304/930 694/2732/930 696/1302/930 +f 692/1305/931 694/2733/931 815/1306/931 +f 810/1295/365 689/2730/365 692/1305/365 +f 802/1308/1 817/2734/1 818/1309/1 +f 819/1311/435 820/2735/435 821/1312/435 +f 824/1314/1 825/1324/1 826/1315/1 +f 809/1317/436 827/1392/436 828/1318/436 +f 818/1309/932 829/2736/932 807/1320/932 +f 830/1321/438 831/2737/438 832/1322/438 +f 825/1324/2 833/2738/2 830/1325/2 +f 813/1326/439 812/2739/439 834/1327/439 +f 807/1329/933 829/2740/933 836/1330/933 +f 837/1332/441 836/2741/441 838/1333/441 +f 833/1335/3 840/1345/3 841/1336/3 +f 843/1338/934 844/1391/934 845/1339/934 +f 836/1330/4 837/1350/4 805/1341/4 +f 829/1342/935 818/2742/935 846/1343/935 +f 840/1345/4 848/1355/4 849/1346/4 +f 814/1347/936 850/1389/936 851/1348/936 +f 837/1350/5 820/1360/5 804/1351/5 +f 852/1352/445 853/2743/445 854/1353/445 +f 848/1355/5 856/1365/5 857/1356/5 +f 848/1357/937 858/1390/937 859/1358/937 +f 820/1360/938 819/2744/938 803/1361/938 +f 857/1362/448 860/1408/448 861/1363/448 +f 856/1365/6 843/1374/6 852/1366/6 +f 810/1367/449 816/2745/449 862/1368/449 +f 803/1361/939 819/2744/939 864/1370/939 +f 864/1372/451 819/2746/451 822/1313/451 +f 843/1374/8 842/1382/8 853/1375/8 +f 833/1376/940 866/1388/940 867/1377/940 +f 864/1370/9 817/2734/9 802/1308/9 +f 830/1379/453 841/2747/453 868/1380/453 +f 842/1382/9 824/1314/9 823/1316/9 +f 824/1383/941 869/1386/941 870/1384/941 +f 863/1369/1 862/1368/1 870/1384/1 +f 862/1368/2 851/1397/2 866/1387/2 +f 851/1348/3 850/1389/3 867/1377/3 +f 850/1389/4 835/1328/4 858/1390/4 +f 835/1328/5 834/1327/5 859/1358/5 +f 834/1327/6 828/1318/6 844/1391/6 +f 828/1318/8 827/1392/8 845/1339/8 +f 827/1392/9 863/1369/9 869/1386/9 +f 825/1393/942 870/1384/942 866/1387/942 +f 848/1395/943 840/2748/943 867/1377/943 +f 816/1396/944 815/2749/944 851/1397/944 +f 856/1398/945 859/1358/945 844/1391/945 +f 813/1400/946 835/1328/946 850/1389/946 +f 824/1402/947 842/2750/947 845/1339/947 +f 812/1403/461 811/2751/461 828/1318/461 +f 810/1404/462 863/1369/462 827/1392/462 +f 871/1406/1 872/1415/1 832/1322/1 +f 832/1322/2 831/2737/2 847/1344/2 +f 831/1381/3 868/1380/3 838/1333/3 +f 868/1380/4 861/1363/4 839/1334/4 +f 861/1363/5 860/1408/5 821/1312/5 +f 860/1408/6 855/1354/6 822/1313/6 +f 855/1354/8 854/1353/8 865/1373/8 +f 854/1353/9 872/1415/9 871/1406/9 +f 841/1409/463 849/2752/463 861/1363/463 +f 864/1410/948 865/1373/948 871/1406/948 +f 852/1412/465 855/1354/465 860/1408/465 +f 853/1414/949 823/2753/949 872/1415/949 +f 817/1416/950 871/1406/950 846/1343/950 +f 829/1418/951 847/1407/951 838/1333/951 +f 826/1420/952 832/1322/952 872/1415/952 +f 837/1422/470 839/1334/470 821/1312/470 +f 874/1424/1 875/1427/1 876/1425/1 +f 875/1427/2 877/2754/2 878/1428/2 +f 877/1429/3 879/1432/3 880/1430/3 +f 879/1432/4 881/1434/4 882/1433/4 +f 881/1434/5 883/1436/5 884/1435/5 +f 883/1436/6 885/1441/6 886/1437/6 +f 877/1440/7 875/2755/7 874/2756/7 +f 874/2756/7 887/2757/7 877/1440/7 +f 887/2757/7 885/2758/7 877/1440/7 +f 885/2758/7 883/2759/7 877/1440/7 +f 883/2759/7 881/1438/7 877/1440/7 +f 885/1441/8 887/1443/8 888/1442/8 +f 887/1443/9 874/1424/9 873/1426/9 +f 888/1446/10 873/2760/10 876/2761/10 +f 876/2761/10 878/2762/10 888/1446/10 +f 878/2762/10 880/2763/10 888/1446/10 +f 880/2763/10 882/2764/10 888/1446/10 +f 882/2764/10 884/1444/10 888/1446/10 +f 890/1447/471 891/2765/471 892/1448/471 +f 890/1450/45 894/1464/45 895/1451/45 +f 894/1453/472 896/1456/472 897/1454/472 +f 896/1456/48 889/1449/48 900/1457/48 +f 895/1459/46 899/1458/46 900/1457/46 +f 890/1447/44 889/1449/44 896/1456/44 +f 898/1461/7 897/1465/7 902/1462/7 +f 894/1464/45 898/1461/45 901/1463/45 +f 899/1458/473 902/1462/473 897/1465/473 +f 895/1459/474 901/2766/474 902/1466/474 +f 892/1467/10 891/2767/10 904/1468/10 +f 893/1460/475 900/1457/475 903/1470/475 +f 890/1450/45 893/1452/45 904/1472/45 +f 889/1449/476 892/1467/476 903/1469/476 +f 906/1474/471 907/2768/471 908/1475/471 +f 910/1477/48 911/1490/48 908/1478/48 +f 911/1480/472 912/2769/472 913/1481/472 +f 916/1483/45 905/1476/45 914/1482/45 +f 916/1483/46 915/1484/46 910/1485/46 +f 914/1482/44 905/1476/44 908/1475/44 +f 918/1487/7 913/2770/7 912/1488/7 +f 917/1489/48 912/1488/48 911/1490/48 +f 914/1482/477 913/2770/477 918/1487/477 +f 918/1491/474 917/2771/474 910/1485/474 +f 920/1492/10 907/2772/10 906/1493/10 +f 909/1486/475 920/2773/475 919/1495/475 +f 908/1478/48 907/2774/48 920/1496/48 +f 916/1483/478 919/1494/478 906/1493/478 +f 921/1497/953 922/1510/953 923/1498/953 +f 922/1500/44 926/2775/44 927/1501/44 +f 926/1503/954 928/1506/954 929/1504/954 +f 928/1506/46 921/1497/46 932/1507/46 +f 925/1509/45 927/1515/45 931/1508/45 +f 922/1510/48 921/1497/48 928/1506/48 +f 930/1511/481 929/1514/481 934/1512/481 +f 927/1501/44 926/2775/44 930/1511/44 +f 931/1508/482 934/1512/482 929/1514/482 +f 927/1515/955 933/2776/955 934/1516/955 +f 924/1517/484 923/2777/484 936/1518/484 +f 932/1507/956 935/2778/956 936/1520/956 +f 925/1502/44 936/2779/44 923/1521/44 +f 932/1507/486 921/1497/486 924/1517/486 +f 937/1522/10 938/1585/10 939/1523/10 +f 944/2780/45 940/2781/45 943/1527/45 +f 940/2781/45 939/2782/45 943/1527/45 +f 939/2782/45 941/1525/45 943/1527/45 +f 945/1528/487 946/1550/487 947/1529/487 +f 954/2783/48 949/2784/48 953/1533/48 +f 949/2784/48 950/2785/48 953/1533/48 +f 950/2785/48 951/1531/48 953/1533/48 +f 956/1534/46 957/1601/46 958/1535/46 +f 960/1537/46 961/1610/46 962/1538/46 +f 964/1540/46 949/2786/46 954/1541/46 +f 940/1543/46 944/1593/46 965/1544/46 +f 967/1546/44 968/2787/44 969/1547/44 +f 970/1549/488 971/1571/488 946/1550/488 +f 966/2788/957 972/1562/957 974/1553/957 +f 972/1562/958 973/1551/958 974/1553/958 +f 950/1555/48 949/2789/48 970/1549/48 +f 970/1549/959 945/1528/959 950/1555/959 +f 964/1556/490 973/1560/490 970/1557/490 +f 945/1528/960 948/1530/960 975/1559/960 +f 973/1560/46 976/1573/46 971/1561/46 +f 972/1562/492 978/1574/492 979/1563/492 +f 972/1562/493 977/1564/493 976/1565/493 +f 981/1566/7 982/1579/7 983/1567/7 +f 976/1565/961 977/1564/961 981/1569/961 +f 971/1571/48 983/2790/48 982/1572/48 +f 976/1573/495 980/1568/495 983/1567/495 +f 975/1559/496 948/1530/496 978/1574/496 +f 947/1529/962 985/1578/962 986/1576/962 +f 948/1530/44 947/1529/44 979/1563/44 +f 946/1550/963 982/1572/963 985/1577/963 +f 981/1566/499 986/1576/499 985/1578/499 +f 969/1580/500 975/1559/500 984/1575/500 +f 972/1562/964 966/2788/964 984/1575/964 +f 977/1564/965 979/1563/965 986/1582/965 +f 968/2787/503 938/2791/503 987/2792/503 +f 988/1621/503 989/1618/503 969/1547/503 +f 989/1618/503 990/1583/503 969/1547/503 +f 988/1621/503 969/1547/503 968/2787/503 +f 968/2787/503 987/2792/503 988/1621/503 +f 950/2785/503 969/1547/503 951/1531/503 +f 951/1531/503 969/1547/503 991/1584/503 +f 938/1585/966 968/2787/966 967/1546/966 +f 966/1548/505 974/2793/505 992/2794/505 +f 966/1548/505 992/2794/505 993/1586/505 +f 939/2782/967 967/1546/967 941/1525/967 +f 967/1546/968 966/1548/968 996/1637/968 +f 996/1637/967 941/1525/967 967/1546/967 +f 994/1587/505 995/1634/505 966/1548/505 +f 995/1634/505 996/1637/505 966/1548/505 +f 997/1588/46 998/1595/46 999/1589/46 +f 1000/1591/10 1001/2795/10 955/1536/10 +f 943/1592/7 1002/1594/7 965/1544/7 +f 942/1590/506 999/1589/506 1002/1594/506 +f 997/1588/507 1001/2795/507 1000/1591/507 +f 1004/1596/46 1005/2796/46 1006/1597/46 +f 1007/1599/10 1008/1603/10 959/1539/10 +f 1009/1600/7 1010/1602/7 957/1601/7 +f 1003/1598/506 1006/1597/506 1010/1602/506 +f 1007/1599/507 1005/2796/507 1004/1596/507 +f 1012/1604/46 952/1612/46 1013/1605/46 +f 1014/1607/10 963/1542/10 954/1541/10 +f 1015/1609/7 1016/1611/7 961/1610/7 +f 1015/1609/506 1011/1606/506 1013/1605/506 +f 1012/1604/507 1014/1607/507 953/1608/507 +f 990/1583/48 989/1618/48 1006/1613/48 +f 1016/1616/48 1013/1617/48 991/1584/48 +f 991/1584/48 990/1583/48 1007/1615/48 +f 990/1583/48 1005/1614/48 1007/1615/48 +f 1007/1615/48 962/2797/48 961/2798/48 +f 1007/1615/48 961/2798/48 1016/1616/48 +f 951/1531/48 991/1584/48 1013/1617/48 +f 1010/1620/48 1006/1613/48 989/1618/48 +f 989/1618/48 988/1621/48 1000/1619/48 +f 988/1621/48 998/1623/48 1000/1619/48 +f 1000/1619/48 958/2799/48 957/2800/48 +f 1000/1619/48 957/2800/48 1010/1620/48 +f 988/1621/48 987/2792/48 999/1622/48 +f 1002/1626/48 999/1622/48 987/2792/48 +f 987/2792/48 938/2791/48 1002/1626/48 +f 938/2791/48 937/1624/48 1002/1626/48 +f 1014/1629/45 1012/1630/45 992/2794/45 +f 992/2794/45 974/2793/45 1014/1629/45 +f 974/2793/45 964/1627/45 1014/1629/45 +f 993/1586/45 992/2794/45 1012/1630/45 +f 1008/1633/45 1004/1635/45 994/1587/45 +f 994/1587/45 993/1586/45 1015/1632/45 +f 993/1586/45 1011/1631/45 1015/1632/45 +f 1015/1632/45 960/2801/45 959/2802/45 +f 1015/1632/45 959/2802/45 1008/1633/45 +f 995/1634/45 994/1587/45 1004/1635/45 +f 1001/1639/45 997/1640/45 996/1637/45 +f 996/1637/45 995/1634/45 1009/1638/45 +f 995/1634/45 1003/1636/45 1009/1638/45 +f 1009/1638/45 956/2803/45 955/2804/45 +f 1009/1638/45 955/2804/45 1001/1639/45 +f 941/1525/45 996/1637/45 997/1640/45 +f 1018/1641/1 1019/1954/1 1020/1642/1 +f 1022/1644/5 1023/1647/5 1024/1645/5 +f 1023/1647/6 1025/2805/6 1026/1648/6 +f 1028/1649/508 1029/2806/508 1030/1650/508 +f 1024/1645/509 1031/1715/509 1032/1652/509 +f 1018/1653/510 1033/2807/510 1034/1654/510 +f 1022/1656/511 1036/2808/511 1037/1657/511 +f 1038/1659/512 1039/2809/512 1040/1660/512 +f 1027/1662/513 1030/2085/513 1043/1663/513 +f 1044/1665/514 1045/1771/514 1046/1666/514 +f 1048/1668/515 1049/1767/515 1050/1669/515 +f 1048/1671/516 1028/2810/516 1051/1672/516 +f 1042/1674/517 1046/2087/517 1052/1675/517 +f 1044/1677/518 1039/2811/518 1053/1678/518 +f 1059/1680/3 1060/1683/3 1061/1681/3 +f 1060/1683/4 1062/1994/4 1063/1684/4 +f 1067/1688/520 1060/2110/520 1068/1689/520 +f 1098/1691/9 1055/1721/9 1054/1692/9 +f 1074/1694/521 1070/1701/521 1075/1695/521 +f 1079/1700/523 1055/1703/523 1070/1701/523 +f 1055/1703/524 1079/1712/524 1080/1704/524 +f 1081/1706/525 1073/2103/525 1075/1695/525 +f 1088/1708/526 1021/1646/526 1032/1709/526 +f 1083/1711/969 1084/2812/969 1080/1704/969 +f 1079/1700/970 1074/1702/970 1082/1713/970 +f 1031/1715/971 1081/1855/971 1069/1716/971 +f 1089/1717/972 1080/2813/972 1084/1718/972 +f 1070/1727/9 1055/1721/9 1071/1720/9 +f 1099/1729/533 1037/2814/533 1100/1730/533 +f 1035/1732/534 1103/1759/534 1104/1733/534 +f 1105/1735/535 1106/1758/535 1107/1736/535 +f 1108/1738/536 1102/2815/536 1104/1733/536 +f 1110/1740/537 1043/2816/537 1111/1741/537 +f 1047/1743/538 1113/2817/538 1105/1744/538 +f 1023/1746/539 1037/2814/539 1099/1729/539 +f 1042/1748/540 1043/2816/540 1110/1740/540 +f 1028/1750/541 1048/2818/541 1105/1735/541 +f 1039/1751/542 1044/2819/542 1110/1752/542 +f 1018/1754/543 1035/1732/543 1102/1734/543 +f 1114/1756/544 1112/1742/544 1111/1741/544 +f 1115/1757/545 1107/1736/545 1106/1758/545 +f 1104/1733/546 1103/1759/546 1106/1758/546 +f 1034/1654/547 1115/1757/547 1103/1759/547 +f 1037/1657/548 1036/2808/548 1114/1756/548 +f 1030/1650/549 1029/2806/549 1107/1736/549 +f 1110/1752/550 1112/1742/550 1118/1762/550 +f 1105/1744/551 1113/2817/551 1116/1760/551 +f 1120/1763/552 1121/2820/552 1122/1764/552 +f 1051/1672/7 1123/1785/7 1120/1766/7 +f 1049/1767/7 1120/1763/7 1119/1765/7 +f 1052/1768/7 1124/1780/7 1123/1769/7 +f 1045/1771/7 1125/1778/7 1126/1772/7 +f 1045/1679/7 1053/1678/7 1127/1773/7 +f 1129/1775/553 1130/2821/553 1131/1776/553 +f 1125/1778/554 1132/2822/554 1133/1779/554 +f 1124/1780/555 1129/2823/555 1128/1781/555 +f 1124/1782/556 1126/2086/556 1133/1783/556 +f 1123/1785/557 1128/2824/557 1121/1786/557 +f 1134/1787/7 1135/1803/7 1136/1788/7 +f 1129/1790/558 1133/2825/558 1134/1791/558 +f 1128/1793/559 1131/1804/559 1138/1794/559 +f 1122/1796/560 1121/2826/560 1138/1797/560 +f 1140/1799/561 1141/1808/561 1135/1800/561 +f 1133/1802/562 1132/2827/562 1135/1803/562 +f 1131/1804/7 1142/1916/7 1143/1805/7 +f 1139/1798/7 1138/1797/7 1143/1806/7 +f 1141/1808/7 1145/1818/7 1136/1809/7 +f 1147/1810/9 1148/2137/9 1149/1811/9 +f 1150/1813/563 1137/2828/563 1151/1814/563 +f 1144/1807/564 1143/1806/564 1146/1816/564 +f 1145/1818/565 1154/1826/565 1155/1819/565 +f 1156/1820/566 1157/1918/566 1154/1821/566 +f 1137/1789/567 1136/1788/567 1155/1823/567 +f 1146/1816/1 1149/2139/1 1160/1825/1 +f 1154/1826/4 1163/2141/4 1164/1827/4 +f 1155/1823/5 1164/2143/5 1165/1828/5 +f 1166/1829/5 1167/1833/5 1162/1830/5 +f 1168/1832/6 1158/2829/6 1162/1830/6 +f 1170/1834/1 1171/2091/1 1172/1835/1 +f 1174/1837/3 1175/1840/3 1176/1838/3 +f 1175/1840/4 1166/1829/4 1161/1831/4 +f 1177/1843/7 1168/2830/7 1175/1841/7 +f 1168/2830/7 1167/2831/7 1175/1841/7 +f 1167/2831/7 1166/2832/7 1175/1841/7 +f 1175/1841/7 1174/2833/7 1170/1842/7 +f 1170/1842/7 1169/2834/7 1177/1843/7 +f 1178/1844/7 1179/2835/7 1180/1845/7 +f 1090/1687/568 1075/2124/568 1091/1847/568 +f 1064/1849/5 1066/2836/5 1185/1850/5 +f 1184/1852/569 1309/2837/569 1308/1853/569 +f 1064/1707/570 1067/1688/570 1069/1716/570 +f 1090/1687/571 1186/1860/571 1187/1856/571 +f 1188/1859/8 1181/2149/8 1186/1860/8 +f 1162/1861/7 1158/2838/7 1159/1862/7 +f 1194/1864/9 1177/2090/9 1169/1836/9 +f 1189/1865/973 1190/2839/973 1195/1866/973 +f 1197/1868/7 1182/2840/7 1189/1865/7 +f 1097/1869/48 1198/1879/48 1093/1870/48 +f 1198/1872/573 1199/2106/573 1200/1873/573 +f 1201/1875/7 1156/1820/7 1145/1822/7 +f 1165/1877/6 1202/2841/6 1152/1815/6 +f 1183/1878/574 1203/2092/574 1198/1879/574 +f 1204/1880/10 1205/1895/10 1206/1881/10 +f 1082/1883/974 1074/1694/974 1073/1696/974 +f 1071/1885/10 1207/2842/10 1204/1886/10 +f 1099/1888/576 1101/1731/576 1115/1757/576 +f 1153/1890/2 1160/1863/2 1159/1862/2 +f 1208/1892/975 1207/2842/975 1071/1885/975 +f 1200/1894/976 1091/2843/976 1206/1881/976 +f 1065/1896/977 1096/1871/977 1093/1870/977 +f 1077/1898/10 1066/2844/10 1065/1896/10 +f 1185/1899/10 1066/2845/10 1077/1900/10 +f 1185/1899/978 1095/1901/978 1209/1902/978 +f 1195/1866/979 1190/2839/979 1192/1903/979 +f 1098/1893/980 1191/1933/980 1210/1904/980 +f 1211/1905/7 1212/2104/7 1127/1906/7 +f 1104/1733/584 1116/1760/584 1215/1912/584 +f 1122/1913/585 1216/2846/585 1212/1914/585 +f 1142/1916/586 1147/1810/586 1146/1812/586 +f 1159/1917/3 1163/2847/3 1154/1821/3 +f 1214/1697/46 1094/2237/46 1093/1874/46 +f 1038/1920/588 1041/1929/588 1113/1921/588 +f 1047/1923/589 1050/2848/589 1211/1924/589 +f 1032/1709/981 1069/1690/981 1068/1689/981 +f 1086/1926/982 1068/2111/982 1089/1927/982 +f 1215/1912/592 1116/1760/592 1113/1921/592 +f 1140/1930/593 1132/2849/593 1125/1774/593 +f 1131/1776/7 1130/2821/7 1150/1931/7 +f 1180/1845/983 1179/2835/983 1210/1904/983 +f 1213/2850/984 1217/2851/984 1214/2852/984 +f 1217/2851/10 1218/2853/10 1219/1934/10 +f 1214/2852/985 1217/2851/985 1219/1934/985 +f 1219/1934/10 1220/2854/10 1221/1935/10 +f 1219/1934/986 1094/1936/986 1214/2852/986 +f 1221/1935/987 1076/2855/987 1094/1936/987 +f 1211/1924/7 1050/2848/7 1119/1915/7 +f 1101/1731/596 1117/1761/596 1107/1736/596 +f 1086/1926/598 1085/1928/598 1222/1937/598 +f 1201/1875/599 1141/1876/599 1140/1938/599 +f 1134/1791/7 1137/2828/7 1150/1813/7 +f 1087/1940/600 1031/2102/600 1024/1645/600 +f 1224/1941/601 1225/1951/601 1203/1942/601 +f 1223/1943/988 1203/1942/988 1197/1944/988 +f 1224/1941/989 1227/1947/989 1178/1946/989 +f 1019/1954/2 1228/2856/2 1222/1955/2 +f 1019/1956/608 1102/2815/608 1108/1738/608 +f 1039/1958/609 1038/2857/609 1211/1905/609 +f 1111/1741/610 1117/1761/610 1101/1731/610 +f 1028/1959/611 1027/2858/611 1052/1768/611 +f 1040/1660/612 1118/1762/612 1215/1960/612 +f 1122/1961/613 1139/2859/613 1201/1962/613 +f 1201/1962/7 1139/2859/7 1144/1964/7 +f 1156/1965/614 1144/1964/614 1153/1890/614 +f 1056/1705/615 1080/2813/615 1089/1717/615 +f 1033/1967/616 1025/2860/616 1099/1888/616 +f 1194/1968/7 1163/2847/7 1159/1917/7 +f 1233/2861/990 1227/2862/990 1224/1970/990 +f 1224/1970/617 1223/2863/617 1230/1971/617 +f 1223/2863/991 1226/2864/991 1229/2865/991 +f 1230/1971/992 1223/2863/992 1229/2865/992 +f 1230/1971/7 1231/2866/7 1232/1972/7 +f 1232/1972/993 1233/2861/993 1224/1970/993 +f 1210/1950/994 1235/1979/994 1236/1919/994 +f 1237/1908/995 1234/1974/995 1195/1973/995 +f 1231/1976/996 1238/1990/996 1239/1977/996 +f 1232/1978/997 1239/1977/997 1235/1979/997 +f 1230/1980/998 1229/1952/998 1234/1974/998 +f 1219/1982/999 1218/2113/999 1241/1983/999 +f 1219/1985/1000 1242/1989/1000 1243/1986/1000 +f 1220/1987/1001 1243/1986/1001 1237/1908/1001 +f 1237/1908/1002 1243/1986/1002 1240/1981/1002 +f 1238/1988/1003 1240/1981/1003 1243/1986/1003 +f 1238/1990/1004 1242/1984/1004 1241/1983/1004 +f 1236/1919/1005 1235/1979/1005 1239/1977/1005 +f 1281/1991/634 1371/2867/634 1367/1992/634 +f 1067/1851/4 1247/2868/4 1062/1994/4 +f 1061/1681/4 1063/1684/4 1244/1995/4 +f 1289/1996/635 1370/2015/635 1368/1997/635 +f 1284/1999/1006 1250/2869/1006 1370/2000/1006 +f 1249/2002/637 1369/2870/637 1248/2003/637 +f 1282/2005/638 1372/2012/638 1371/2006/638 +f 1246/2008/639 1372/2871/639 1282/2009/639 +f 1367/2011/1007 1371/2006/1007 1372/2012/1007 +f 1369/2014/8 1368/1997/8 1370/2015/8 +f 1248/2017/1008 1369/2014/1008 1250/2016/1008 +f 1251/2018/1009 1367/2011/1009 1246/2013/1009 +f 1368/2019/643 1369/2872/643 1249/2002/643 +f 1270/2021/1010 1283/2873/1011 1281/1991/1010 +f 1286/2022/642 1270/2021/642 1245/1993/642 +f 1367/2024/645 1251/2874/645 1285/2023/645 +f 1258/2004/646 1248/2875/646 1246/2025/646 +f 1292/2026/8 1293/2876/8 1288/2020/8 +f 1249/2002/1012 1258/2004/1012 1261/2054/1012 +f 1249/2002/647 1261/2054/647 1262/2027/647 +f 1279/2060/1013 1292/2026/1013 1278/2877/1013 +f 1292/2026/1014 1249/2002/1014 1266/2878/1014 +f 1267/2056/1013 1292/2026/1013 1266/2878/1013 +f 1267/2056/1013 1278/2877/1013 1292/2026/1013 +f 1265/2028/647 1266/2878/647 1249/2002/647 +f 1251/2029/648 1250/2879/648 1284/1999/648 +f 1253/2030/1015 1252/2036/1015 1277/2031/1015 +f 1267/2033/1016 1268/2059/1016 1253/2030/1016 +f 1277/2031/1017 1252/2036/1017 1269/2034/1017 +f 1253/2030/652 1268/2059/652 1269/2034/652 +f 1273/2037/1018 1254/2044/1018 1255/2038/1018 +f 1272/2039/654 1255/2038/654 1260/2040/654 +f 1259/2042/1019 1254/2044/1019 1273/2037/1019 +f 1259/2042/656 1260/2040/656 1255/2038/656 +f 1275/2045/1020 1256/2052/1020 1257/2046/1020 +f 1274/2047/1021 1257/2046/1021 1264/2048/1021 +f 1263/2050/1022 1256/2052/1022 1275/2045/1022 +f 1263/2050/652 1264/2048/652 1257/2046/652 +f 1258/2004/642 1271/2010/642 1272/2053/642 +f 1261/2041/1023 1260/2040/1023 1259/2042/1023 +f 1262/2027/642 1273/2063/642 1274/2055/642 +f 1265/2049/1024 1264/2048/1024 1263/2050/1024 +f 1267/2056/642 1266/2878/642 1275/2057/642 +f 1276/2035/1025 1269/2034/1025 1268/2059/1025 +f 1279/2060/1026 1280/2065/1026 1291/2061/1026 +f 1282/2009/1027 1291/2880/1027 1275/2057/1027 +f 1291/2880/1028 1280/2065/1028 1277/2064/1028 +f 1276/2058/1028 1291/2880/1028 1277/2064/1028 +f 1276/2058/1028 1275/2057/1028 1291/2880/1028 +f 1275/2057/664 1274/2055/664 1282/2009/664 +f 1274/2055/664 1273/2063/664 1282/2009/664 +f 1272/2053/640 1271/2010/640 1282/2009/640 +f 1279/2060/642 1278/2877/642 1277/2064/642 +f 1290/2067/8 1287/2068/1029 1284/1999/8 +f 1286/2022/641 1285/2023/641 1284/1999/641 +f 1293/2069/10 1292/2062/10 1291/2061/10 +f 1088/1708/4 1296/2107/4 1022/1644/4 +f 1297/2071/9 1033/2072/9 1018/1641/9 +f 1026/1648/8 1025/2805/8 1033/2072/8 +f 1083/1714/668 1082/1713/668 1297/2071/668 +f 1057/2073/2 1056/2077/2 1059/2074/2 +f 1298/2076/1 1299/2115/1 1056/2077/1 +f 1020/1642/669 1084/2812/669 1083/1711/669 +f 1301/2078/670 1114/1756/670 1036/2079/670 +f 1108/2081/671 1109/2881/671 1301/2078/671 +f 1300/2080/672 1036/2079/672 1022/2083/672 +f 1301/2078/673 1118/1762/673 1112/1742/673 +f 1117/1761/674 1111/1741/674 1043/1663/674 +f 1126/2086/7 1124/1782/7 1052/1675/7 +f 1150/1931/675 1152/2100/675 1147/2088/675 +f 1194/1864/8 1158/2882/8 1168/2089/8 +f 1171/2091/2 1170/1834/2 1174/1837/2 +f 1203/2092/7 1183/1878/7 1182/2093/7 +f 1225/2095/7 1178/2883/7 1181/2096/7 +f 1092/2098/45 1091/2843/45 1200/1894/45 +f 1152/2100/8 1202/2135/8 1148/2101/8 +f 1199/2099/676 1225/2095/676 1188/2097/676 +f 1031/2102/1030 1087/1940/1030 1073/2103/1030 +f 1301/2078/678 1109/2881/678 1215/1960/678 +f 1212/2104/679 1216/2884/679 1140/2105/679 +f 1198/1872/680 1203/1942/680 1225/1951/680 +f 1222/1955/681 1085/1719/681 1084/1718/681 +f 1297/2071/682 1082/1883/682 1087/1884/682 +f 1222/1937/3 1228/2885/3 1296/2107/3 +f 1108/2081/683 1300/2082/683 1296/2108/683 +f 1060/2110/684 1059/2886/684 1089/1927/684 +f 1231/2112/1031 1230/1980/1031 1240/1981/1031 +f 1218/2113/1032 1217/1911/1032 1236/1919/1032 +f 1055/1721/1 1303/2887/1 1302/2114/1 +f 1299/2115/1 1303/2887/1 1055/1721/1 +f 1054/1692/1 1302/2114/1 1298/2076/1 +f 1283/2116/1033 1287/2148/1034 1290/2117/7 +f 1310/2121/10 1187/2888/10 1304/2889/10 +f 1304/2889/10 1305/2890/10 1306/2119/10 +f 1306/2119/10 1307/2891/10 1308/2120/10 +f 1308/2120/10 1309/2892/10 1310/2121/10 +f 1310/2121/10 1304/2889/10 1306/2119/10 +f 1057/2073/688 1058/2075/688 1306/2122/688 +f 1061/1681/691 1307/2893/691 1306/2126/691 +f 1090/1687/692 1310/2894/692 1309/2127/692 +f 1054/1692/1035 1057/2073/1035 1305/2128/1035 +f 1193/1854/694 1308/2895/694 1307/2130/694 +f 1304/2131/695 1187/2896/695 1186/1860/695 +f 1206/2125/8 1075/2124/8 1070/1727/8 +f 1173/2132/7 1202/2841/7 1165/1877/7 +f 1173/2134/7 1176/2897/7 1148/2101/7 +f 1176/2136/7 1161/2898/7 1149/1811/7 +f 1161/2138/7 1162/2899/7 1160/1825/7 +f 1172/2140/7 1164/1827/7 1163/2141/7 +f 1164/2143/7 1172/2900/7 1171/2144/7 +f 1323/2145/1036 1311/2901/7 1318/2146/7 +f 1287/2148/1037 1283/2116/1038 1270/2021/1039 +f 1180/1858/9 1054/1692/9 1186/1860/9 +f 1065/2150/6 1066/2836/6 1064/1849/6 +f 1192/2152/5 1190/2153/5 1193/1854/5 +f 1189/2154/5 1182/2902/5 1184/1852/5 +f 1090/1687/701 1097/1686/701 1096/2151/701 +f 1184/1852/6 1182/2902/6 1183/1685/6 +f 1244/1995/4 1247/2868/4 1067/1851/4 +f 1313/2155/10 1312/2903/10 1314/2156/10 +f 1320/2158/728 1321/2204/728 1322/2159/728 +f 1318/2161/6 1317/2904/6 1320/2158/6 +f 1314/2169/2 1312/2905/2 1325/2164/2 +f 1312/2905/2 1311/2162/2 1325/2164/2 +f 1311/2162/2 1323/2906/1040 1324/2163/2 +f 1327/2165/705 1328/2907/705 1329/2166/705 +f 1326/2167/706 1314/2169/706 1327/2165/706 +f 1314/2169/1041 1325/2164/1041 1334/2170/1041 +f 1327/2165/706 1314/2169/706 1335/2168/706 +f 1325/2164/729 1330/2224/729 1331/2185/729 +f 1332/2908/1042 1333/2179/1042 1325/2164/1042 +f 1333/2179/1042 1334/2170/1042 1325/2164/1042 +f 1325/2164/1042 1331/2185/1042 1332/2908/1042 +f 1314/2156/1043 1326/2167/1043 1329/2166/1043 +f 1335/2171/1044 1337/2201/1044 1338/2172/1044 +f 1337/2174/705 1335/2168/705 1334/2170/705 +f 1341/2176/1045 1340/2190/1045 1342/2177/1045 +f 1333/2179/705 1332/2908/705 1344/2180/705 +f 1345/2182/1046 1344/2195/1046 1346/2183/1046 +f 1331/2185/705 1330/2224/705 1348/2186/705 +f 1342/2177/711 1349/2192/711 1350/2188/711 +f 1334/2189/1047 1349/2192/1047 1342/2177/1047 +f 1333/2191/1048 1341/2176/1048 1343/2178/1048 +f 1334/2189/1049 1333/2191/1049 1350/2188/1049 +f 1346/2183/715 1351/2197/715 1352/2193/715 +f 1332/2194/1050 1351/2197/1050 1346/2183/1050 +f 1331/2196/717 1345/2182/717 1347/2184/717 +f 1332/2194/1051 1331/2196/1051 1352/2193/1051 +f 1353/2198/711 1354/2200/711 1339/2173/711 +f 1327/2199/1052 1335/2171/1052 1339/2173/1052 +f 1337/2201/1053 1328/2202/1053 1353/2198/1053 +f 1327/2199/1054 1354/2200/1054 1353/2198/1054 +f 1320/2158/722 1355/2909/722 1356/2203/722 +f 1345/2187/1055 1348/2186/1055 1357/2205/1055 +f 1357/2205/1056 1315/2207/1056 1340/2175/1056 +f 1315/2207/1057 1329/2166/1057 1328/2907/1057 +f 1340/2175/1057 1315/2207/1057 1337/2174/1057 +f 1328/2907/1057 1337/2174/1057 1315/2207/1057 +f 1344/2180/723 1345/2187/723 1357/2205/723 +f 1340/2175/723 1341/2181/723 1357/2205/723 +f 1316/2206/6 1313/2910/6 1315/2207/6 +f 1348/2186/724 1330/2224/724 1358/2208/724 +f 1321/2204/725 1356/2911/725 1361/2210/725 +f 1360/2211/705 1336/2213/705 1322/2159/705 +f 1324/2212/1058 1323/2912/1059 1336/2213/1058 +f 1357/2205/727 1362/2913/727 1363/2214/727 +f 1358/2215/1060 1361/2222/1060 1356/2216/1060 +f 1355/2218/1061 1362/2220/1061 1359/2217/1061 +f 1364/2219/6 1363/2232/6 1362/2220/6 +f 1365/2221/1062 1366/2226/1062 1361/2222/1062 +f 1325/2164/730 1365/2914/730 1358/2223/730 +f 1325/2225/731 1324/2915/731 1366/2226/731 +f 1357/2205/732 1348/2186/732 1359/2227/732 +f 1320/2158/733 1317/2904/733 1364/2229/733 +f 1317/2231/734 1316/2916/734 1363/2232/734 +f 1324/2212/735 1360/2211/735 1361/2233/735 +f 1319/2147/1063 1322/2159/1064 1336/2213/1064 +f 1291/2880/3 1282/2009/3 1295/2236/3 +f 1282/2009/3 1281/2917/3 1294/2235/3 +f 1281/2917/3 1283/2918/1065 1294/2235/3 +f 1374/2238/1 1375/2241/1 1376/2239/1 +f 1375/2241/2 1377/2280/2 1378/2242/2 +f 1377/2243/3 1379/2246/3 1380/2244/3 +f 1379/2246/4 1381/2248/4 1382/2247/4 +f 1381/2248/5 1383/2250/5 1384/2249/5 +f 1383/2250/6 1385/2253/6 1386/2251/6 +f 1381/2248/5 1387/2277/5 1388/2252/5 +f 1385/2253/8 1389/2255/8 1390/2254/8 +f 1389/2255/9 1374/2238/9 1373/2240/9 +f 1384/2249/743 1386/2251/743 1391/2256/743 +f 1398/2258/10 1393/2919/10 1394/2259/10 +f 1394/2259/10 1395/2920/10 1396/2260/10 +f 1396/2260/10 1397/2921/10 1398/2258/10 +f 1397/2921/10 1392/2922/10 1398/2258/10 +f 1392/2922/10 1391/2923/10 1398/2258/10 +f 1380/2244/744 1382/2247/744 1397/2261/744 +f 1386/2251/745 1390/2254/745 1398/2263/745 +f 1378/2242/746 1395/2924/746 1394/2265/746 +f 1384/2249/747 1392/2925/747 1397/2266/747 +f 1390/2254/748 1373/2240/748 1393/2267/748 +f 1376/2239/749 1394/2926/749 1393/2269/749 +f 1380/2244/750 1396/2927/750 1395/2270/750 +f 1399/2271/751 1400/2278/751 1401/2272/751 +f 1389/2255/9 1400/2278/9 1399/2271/9 +f 1374/2238/1 1399/2271/1 1403/2274/1 +f 1377/2243/3 1404/2928/3 1405/2275/3 +f 1383/2250/6 1388/2252/6 1406/2276/6 +f 1379/2246/4 1405/2275/4 1387/2277/4 +f 1385/2253/8 1406/2276/8 1400/2278/8 +f 1375/2241/2 1403/2274/2 1404/2279/2 +f 1388/2252/752 1407/2929/752 1408/2281/752 +f 1387/2277/753 1405/2275/753 1409/2282/753 +f 1404/2279/754 1403/2274/754 1411/2284/754 +f 1400/2278/767 1406/2276/767 1408/2286/767 +f 1387/2277/756 1410/2930/756 1407/2288/756 +f 1405/2275/757 1404/2928/757 1412/2289/757 +f 1399/2271/758 1402/2296/758 1411/2291/758 +f 1412/2289/1066 1413/2931/1066 1414/2292/1066 +f 1413/2294/7 1415/2932/7 1418/2295/7 +f 1415/2932/7 1416/2933/7 1418/2295/7 +f 1416/2933/7 1417/2934/7 1418/2295/7 +f 1418/2295/7 1419/2935/7 1420/2936/7 +f 1420/2936/7 1414/2293/7 1418/2295/7 +f 1402/2296/1067 1416/2937/1067 1415/2297/1067 +f 1401/2272/769 1417/2938/769 1416/2298/769 +f 1408/2281/1068 1407/2929/1068 1419/2299/1068 +f 1410/2283/763 1409/2282/763 1414/2301/763 +f 1412/2285/768 1411/2284/768 1415/2303/768 +f 1408/2286/1069 1418/2939/1069 1417/2305/1069 +f 1407/2288/766 1410/2930/766 1420/2306/766 +f 1422/2308/4 1423/2312/4 1424/2309/4 +f 1422/2308/3 1425/2333/3 1426/2311/3 +f 1427/2313/2 1428/2317/2 1426/2314/2 +f 1429/2316/1 1430/2319/1 1428/2317/1 +f 1431/2318/9 1432/2321/9 1430/2319/9 +f 1433/2320/8 1434/2324/8 1432/2321/8 +f 1435/2322/9 1436/2344/9 1430/2319/9 +f 1437/2323/6 1438/2325/6 1434/2324/6 +f 1421/2310/5 1424/2309/5 1438/2325/5 +f 1431/2318/745 1439/2940/745 1440/2326/745 +f 1446/2327/10 1441/2941/10 1442/2328/10 +f 1442/2328/10 1440/2942/10 1439/2329/10 +f 1439/2329/10 1443/2943/10 1446/2327/10 +f 1443/2943/10 1444/2944/10 1446/2327/10 +f 1444/2944/10 1445/2945/10 1446/2327/10 +f 1427/2313/749 1444/2946/749 1443/2330/749 +f 1433/2320/743 1440/2947/743 1442/2331/743 +f 1446/2332/750 1445/2948/750 1425/2333/750 +f 1443/2334/748 1439/2949/748 1431/2318/748 +f 1437/2323/747 1442/2950/747 1441/2335/747 +f 1441/2336/744 1446/2951/744 1422/2308/744 +f 1445/2337/746 1444/2952/746 1427/2313/746 +f 1448/2338/756 1449/2362/756 1450/2339/756 +f 1447/2340/5 1450/2339/5 1438/2325/5 +f 1451/2341/4 1447/2340/4 1424/2309/4 +f 1452/2342/2 1453/2352/2 1426/2314/2 +f 1454/2343/8 1435/2322/8 1432/2321/8 +f 1436/2344/1 1452/2342/1 1428/2317/1 +f 1450/2339/6 1454/2343/6 1434/2324/6 +f 1453/2345/3 1451/2341/3 1423/2312/3 +f 1455/2346/767 1456/2364/767 1435/2322/767 +f 1436/2344/758 1457/2365/758 1458/2347/758 +f 1453/2345/757 1459/2367/757 1460/2348/757 +f 1449/2349/752 1455/2370/752 1454/2343/752 +f 1456/2350/751 1457/2372/751 1436/2344/751 +f 1452/2342/754 1458/2355/754 1459/2351/754 +f 1460/2353/753 1448/2360/753 1447/2340/753 +f 1461/2354/764 1462/2953/764 1459/2351/764 +f 1468/2357/7 1463/2954/7 1464/2358/7 +f 1463/2954/7 1462/2955/7 1464/2358/7 +f 1462/2955/7 1461/2956/7 1464/2358/7 +f 1464/2358/7 1465/2957/7 1466/2958/7 +f 1466/2958/7 1467/2356/7 1464/2358/7 +f 1463/2359/1070 1468/2959/1070 1448/2360/1070 +f 1448/2338/766 1468/2960/766 1467/2361/766 +f 1455/2346/1069 1466/2961/1069 1465/2363/1069 +f 1457/2365/760 1464/2962/760 1461/2366/760 +f 1459/2367/1066 1462/2963/1066 1463/2368/1066 +f 1467/2369/762 1466/2964/762 1455/2370/762 +f 1456/2350/769 1465/2965/769 1464/2371/769 +f 1471/2373/770 1472/2380/770 1470/2374/770 +f 1473/2376/771 1474/2378/771 1471/2373/771 +f 1475/2377/772 1476/2966/772 1474/2378/772 +f 1478/2379/773 1477/2381/773 1470/2374/773 +f 1478/2379/45 1472/2380/45 1471/2373/45 +f 1471/2373/45 1474/2967/45 1476/2968/45 +f 1476/2968/1071 1477/2381/1071 1471/2373/1071 +f 1469/2375/48 1470/2374/48 1477/2969/48 +f 1477/2969/48 1475/2382/48 1469/2375/48 +f 1481/2384/775 1482/2390/775 1480/2385/775 +f 1483/2387/776 1484/2389/776 1481/2384/776 +f 1485/2388/777 1486/2970/777 1484/2389/777 +f 1482/2390/778 1488/2392/778 1487/2391/778 +f 1488/2392/48 1482/2390/48 1481/2384/48 +f 1481/2384/48 1484/2971/48 1486/2972/48 +f 1486/2972/1072 1487/2391/1072 1481/2384/1072 +f 1479/2386/45 1480/2385/45 1487/2973/45 +f 1487/2973/45 1485/2393/45 1479/2386/45 +f 1491/2395/780 1492/2402/780 1490/2396/780 +f 1493/2398/781 1494/2400/781 1491/2395/781 +f 1495/2399/782 1496/2974/782 1494/2400/782 +f 1498/2401/783 1497/2403/783 1490/2396/783 +f 1498/2401/44 1492/2402/44 1491/2395/44 +f 1491/2395/44 1494/2975/44 1496/2976/44 +f 1496/2976/1073 1497/2403/1073 1491/2395/1073 +f 1489/2397/46 1490/2396/46 1497/2977/46 +f 1497/2977/46 1495/2404/46 1489/2397/46 +f 1499/2406/785 1501/2410/785 1502/2407/785 +f 1503/2409/786 1504/2412/786 1501/2410/786 +f 1505/2411/787 1506/2978/787 1504/2412/787 +f 1508/2413/788 1507/2414/788 1500/2408/788 +f 1508/2413/46 1502/2407/46 1501/2410/46 +f 1501/2410/46 1504/2979/46 1506/2980/46 +f 1506/2980/1074 1507/2414/1074 1501/2410/1074 +f 1499/2406/44 1500/2408/44 1507/2981/44 +f 1507/2981/44 1505/2415/44 1499/2406/44 +f 1509/2417/790 1511/2421/790 1512/2418/790 +f 1513/2420/791 1514/2423/791 1511/2421/791 +f 1515/2422/792 1516/2982/792 1514/2423/792 +f 1512/2418/793 1518/2425/793 1517/2424/793 +f 1518/2425/801 1512/2418/801 1511/2421/801 +f 1511/2421/801 1514/2983/801 1516/2984/801 +f 1516/2984/1075 1517/2424/1075 1511/2421/1075 +f 1509/2417/795 1510/2419/795 1517/2985/795 +f 1517/2985/795 1515/2426/795 1509/2417/795 +f 1519/2428/796 1521/2432/796 1522/2429/796 +f 1523/2431/797 1524/2434/797 1521/2432/797 +f 1523/2431/798 1525/2986/798 1526/2433/798 +f 1528/2435/799 1527/2436/799 1520/2430/799 +f 1528/2435/795 1522/2429/795 1521/2432/795 +f 1521/2432/795 1524/2987/795 1526/2988/795 +f 1526/2988/1076 1527/2436/1076 1521/2432/1076 +f 1519/2428/801 1520/2430/801 1527/2989/801 +f 1527/2989/801 1525/2437/801 1519/2428/801 +f 1531/2439/802 1532/2445/802 1530/2440/802 +f 1529/2441/803 1533/2443/803 1534/2442/803 +f 1533/2443/804 1535/2990/804 1536/2444/804 +f 1532/2445/805 1538/2447/805 1537/2446/805 +f 1538/2447/813 1532/2445/813 1531/2439/813 +f 1531/2439/813 1534/2991/813 1536/2992/813 +f 1536/2992/1077 1537/2446/1077 1531/2439/1077 +f 1529/2441/807 1530/2440/807 1537/2993/807 +f 1537/2993/807 1535/2448/807 1529/2441/807 +f 1541/2450/808 1542/2457/808 1540/2451/808 +f 1539/2452/809 1543/2454/809 1544/2453/809 +f 1543/2454/810 1545/2994/810 1546/2455/810 +f 1548/2456/811 1547/2458/811 1540/2451/811 +f 1548/2456/807 1542/2457/807 1541/2450/807 +f 1541/2450/807 1544/2995/807 1546/2996/807 +f 1546/2996/1078 1547/2458/1078 1541/2450/1078 +f 1539/2452/813 1540/2451/813 1547/2997/813 +f 1547/2997/813 1545/2459/813 1539/2452/813 diff --git a/src/main/resources/assets/hbm/sounds.json b/src/main/resources/assets/hbm/sounds.json index 189483beb..647cf0296 100644 --- a/src/main/resources/assets/hbm/sounds.json +++ b/src/main/resources/assets/hbm/sounds.json @@ -178,6 +178,8 @@ "weapon.shotgunPump": {"category": "player", "sounds": [{"name": "weapon/shotgunShootPump", "stream": false}]}, "weapon.explosionMedium": {"category": "player", "sounds": [{"name": "weapon/explosion_medium", "stream": false}]}, "weapon.hicalShot": {"category": "player", "sounds": [{"name": "weapon/hicalShot", "stream": false}]}, + "weapon.coilgunReload": {"category": "player", "sounds": [{"name": "weapon/coilgunReload", "stream": false}]}, + "weapon.coilgunShoot": {"category": "player", "sounds": [{"name": "weapon/coilgunShoot", "stream": false}]}, "weapon.dFlash": {"category": "player", "sounds": [{"name": "weapon/dFlash", "stream": false}]}, diff --git a/src/main/resources/assets/hbm/sounds/weapon/coilgunReload.ogg b/src/main/resources/assets/hbm/sounds/weapon/coilgunReload.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d17beefde423ca62bf84a3214310ee6c54b330cc GIT binary patch literal 15803 zcmeIZc|4Tg`#*l$m(XA^*+PSvF@$DpQI?r78Ov<;vLst0yVCMfmd23mg%*Zk%phco z773BElSm7dEtRB2uj+f#`~7*nKi_}8zsKYA`|JDop2xW_*L}`)w(DHyoac4s<`fu6 z2Ka&hEjTMCT;NmXi#;0Y7aX;b$Dh#lMvsW|JH_$f#qZ)$jALJWzI3O%0Ffbq*xlyAW_~0FF zoN#!O1vM-(!1o9~EHF4M0K+Hrr&djC8yX*A3AP;tL+xWn$tOV+t(~{cDqHu5zT0N) zAbnQZ(804$Gb&TPtk|02i8wQuNd-0voU=LxO=4P!swZh$xMe45TYwzH6if@=NP}4a zo8V1@z+5X)m84mH6N$t(Cf}5k@TP7MFl}BfX{&WhVPcgjC=AEiIVTF6&MPN%pb^Zo zo%${ENrG5J`q|g|J)?Lx4&CU2Wm5c7H-;9Qv#q9vV*+l{$0TtOScL)GPi%pnpHzqrXImgHl zO-iZa2ND245NrlxLpHa~#SKuXPnzgc{}Da&1Ga4z2XzP;4nABd%+MFuCcHThU^fz^ znfjdx|5kDWj3C7lt2TXcdA8VHs*q4;s&d(`@pyI-^QP(C<*5GNx0en2L5_9VU7`?_ zo4edu>@NO?)2=%{Scuw4i|AkQxh&lca$42LGYii*f}Buwa7N+&I*_xwd7MK2UIdAt{YT;afTgH!f ztaQUZ^o>WG#Oz(w4XND{2AvQao$5{!nT{QI3w>`oSD4s9^9ZeOBoUD8T$1>v{?tI- zTMKVHlvA??7g2AhTypGT`=>K|LtIQg~xUGG`DOvnJVa`)tkN?7-vsoPxrI zf~zR*rU(Gp5ZMUK@?*@(V@%GmjCn?OP(ePYvQXz?`McJdrT+}(@->+N;NxD105|&oS@`b_$^Z<0ARGZU_@EB`5^NFPTMy(54VovE^MRuQg%KOQ ztFPD+~YBf*-;V$yEF7^5a)Q zuoPTa&aFoiSIsw$C<>LD{I6s#cM)vJ2?|P6$6{V>)Bv`~U2NTKbc8~r#(1kS%YzHK zTyD)4oD&qR)B8!xnYmO}Fqg|~)q@Z>s*CY<7vAV0cj=*_B^9j6+clqWqsUTgy@WIM z37DTB0BpRW`#`NrDT4?)y*MWwl~y~Hv}LPhiMkGd0s;WqVdYTrLwzmvGKgX~JPB&8 zrO6&9an;I5B&1vtg@Dp5%_W5(sSpyfGFRLhrI|+pfQd5#;FIhe)I$K&wgL(I`!)`3 zM~yP5f4`}=G>K_2cR7b(@D_wY_Q-AEX+Bq$y9s$ngpD*)BzqJ00LrGeOMBi5?y%ZaH;E6B$nf7#H>jz6_~vXO3d^~RsZ{TJ^rkKsTlF{82CC(c(pvS7cy4GdU|Ul)I3u9Wyq?4aJk39YZmW4W zSq}go1x0{jekGc%2~u$j8goc<1FiR_~JyC9QDB!X^} zTNp5d4%eB!=^pc*iD6L27A6ulF$a@UH}l6C;;Hjp5Ijkzap0*te{vg z1Aux{gMdZ?+6-tFWu$ad&?=;?MN24P+9s!-o4#Q^oBj`p0H$qnnWV*kaS#IX%0`I| z7YWHu+{}d#5bQGOzdWYOvfK@hWDSlMoTyDX%`y<-ZlsBpfRjf+CWFP;x!{nIY#D-> zW|9mEiDW|wqUvBKm_{Lpl_bf4#<`(;umS=SoLyxT5FEp-w6{^^eM`j@RR8QMhd|83 z$|WIn@n<#Iurk>GeR5IG9!yT81nF@lsbB3aJfC5Zl$%2_d<(UfuwGP-aX<>|=E1DH zVPzAM`%9vvz+KS_NJz*800BXvT|oOw;8hePnqSaX2}n@G9cJL}TZbQW7K2EW`7Hg; zTI&H6H?J~pFUyO3dh;_i0_uY5qE=|B;sinE%i;HBj~?rgbR0yYV${HTL8J(L1Uu*j zNJ|er@;wxEBs}`q$%G_EdM3C*f&m7c1U*+xOB@ap1>2^mq^zR4T}@qM2OQkS|2XDq z34oyBA4IjWg9{4&@w^i-o8>pjMtbuRA(W*7#?Ta{Yif*nfzZ@O7#O|QL2Ds*VHeS8 zZ3G&P+GT{n7#J8&qIVe>pfQFfb100-oUSe!t*2v%(MK5@LE~bs&K^X)Uo?Mk7c(Y5 zINvlJ%+)Q+33E~@jQ5hG8xt{#ohEyXj+}^fdF`fiNCFx)UZ$qjbs38kwJRs{w@oiT zjg9|oGJB^n_iOK+_e~gLMQWLSMWG{giazz%a>j#|-&>(a=WW?8D=DWbiq(@2-sR4= zb?z#Hr>=c4w1REVJMCDgn)~TV)XBeUu6A|owvF@3FvdjuWn*W&L5`l<@!XIt-}ZQ@ zRwurJs$$JZ5mUKn?m7~zM1Xxz3rBpf-(vfHnDr$sE)ahTK!3>B?%TORu9xq_3*))4 zEzIxcNDEHP?fmOg9Inv^(%R_s@enBhz5EPv&TI0fy3|dSXSCWGMOvB)uXwMYnx5Xu zv9@p-4Y3_!8fVnz&F8&jSjrJ0BkcY}zwPtXe zrt-C}VCbJ%Ph^Ipp+Pd#=`ha(6Xm1x`PNk##?kxLX`cOVhGjF1X`G~s#ml4!M~IWN z*jRK?SPX`{_3o#47hk!GsF?o<@%yVeJ_1FS!n43~-_BT}}_zkm-zkWTo@%K*lFoJ)SQFX_A`S<=x3=_a=Y}X(+ zqU$;1IoPNDU*P+4T=QqObmaZ1H?0|R>23x-=Q&*=6UxfVwELK9lgW2OT9aJWX$*a8 z;i)B?M42p~YN+H;oPX}mJ@frsg+y8&!9|mFr74gb`o-ZJ7p3&}lK(!=aP`EL=iOV6 zFbN0BNWn#6BXm^xqm!MoE=E5G5`3es+Yq4g*Zs<^j;^7e&DGjond;j+A^CbckPv=7 zXBKa|hItAr4U>Y$Jw)#JlzJ}JtXU(p>det0J`i5Q=?oh^>0D`WV{q)4S| z`yNqK>P<-GS=g8iu~8(!p`B+kl4rhWBvnqUT1++pmO<2cBew|1vP`w{j>W{=X9aI~ zP6d^=jG~(#RPJ-lDPy8U23Jz$Vp#Z#i~0^%6?YD853M&o{aS$UWJ7!J#UZMftXJ-> zzfK=;+8RnHY^5-yX^;ZD_6CK++^jc2{ zy5?5R)m^OfptcS3MOJFIQ+S-W;0MbYOJ%BZ!g#~MoNOb=yw0R0MGm@3LOE7lx=4!fTUtcm+R*}5xa#5c z)17T`cj$+jsN+o4Bd0`^SE1EDl^2dPX|3n5HA&lIabGP90>u!uOO|hQ|N2-_{&{4%i7iG< z^f`D9`r%XRO^;iB+HV(`w7~$yit^I25R-{o)ftD*NUxtIm8AG?R{me^kFsF12;lb` z^1{}A0BQZI{P){1(R-nT1gkK_DW|l*4@e}v#0Ig|j2{_WOXQ&YbgsAb))6B0TpRtk zDpeV@Mzg|lIZ+v>OKN-U;4m^+* z+PRzGXCn4QlRY^*Q+df?=Y&L-L3KNldWrC2(lHJJSI=L2#oj`PE% z{KUZIW1-@O!1KrAPkFCo`@V320nJUPGi+ae%YnMk&2+u?f1`bHb%4#b%|q_&I6)4J z(q6VM?s^qK4*@BQ+?|Du`l?r(HKA&DsOq(}Ns@I6)K+1m{BH2lsh zR>7j|E5?>T2SrVn&&^v|+{uz+EmxMx0m@NIH9o0-Xw_tyo%)~)HC%r%88ID#qTWo; z+N)Ao78ZXrkn{5Z0A0gWg7y?lqPC&VWyl4YU5dr(Q}JR-nxf%lTM&m2BF3(Cmq|j` zpcSpiMWkbl><2eurk#crhAF3*#+bFSABbGr_3kCnL+*tpo*x<`x${vOC-j)F*3u%w zVVjPfb0e*jQ|B{TZB!H%ZYmpka3n`H|NL=nB|tgmXxWR>_vb&iarb(0ke1@$f@~9D zX(V91G>fBoGrP^k>=^?mU~{lEu$yk)m>`!6WBA0Hko`P|?IZ)dC1iB*C1Z#H@#?M8 z&dixnC_9mc=M#+b|D^QjeD8-=Gd%oAgJhD2e>#>UM8%G|WZZ0(%Z&D1;80jo89$Rh zhsI=m_ft9e7`m40K5?B>@u=gp=hh_|Y%zyZTFNY)G(d$^W4$T3^Af=a;}1Mq%jKxD z7idcEMr)c8Hhj1>ti$&N@Y4^ z1b!xL5+wwUs^{%NzCGl6sy;yGqC7SnqZ>kKj*m9ebsMttg8cP;Mb)0L3xJy7eCcm^jZqz-4|AiS=vtY(htN|r2J@q~QK8%sp{3gIOlJuka@Z4+t)&Xu% zjLcsEG@_>BlirM%)0^Aea}I}*C|X(aTWG9Led=6m7Z?d};XR!^zMxX7fP4scD8VXpd_zqSX7TfG-ypz4q{H`K+^1zpG(1>Y@ehOly zwbDmI`hrbQdyATp<4SC*qMh$q##wU5s~C*OUA}X2)D}Frv<6AeC-4>x(9!2w0hdWn zYdwetDwK-J+%SlYO^4cq>rRtw^!)VVR&EP zwmO}drYcH=|d>%E!e;e%;d0qE+p1Gk6<1It}gRr7O#aFLvY~Y%HlgnM;WcV4>aT3Rd^f+?< zoucCVtllD%Mmp^n|^|Vl{+P*e8xV0=T1wq zY^$Yyi==12#u+cU_O$`w+|bpfM*(Te@IyD%EsJ47Jp=1Aue#)7 znu6o|Sf|thiM3}Hmb*ryuJJ$SHq!JVl=iR)0MeG&#bn8U&vi29vlza$*L(W~B@t*$ zq(T5`wAVYgcifS7Nma&L{yyJ`i?V~E#vo`+R6Jau>&)74X0+Y*KK5JtJVm-Z+wfqzNcxQyIwvI#TW}| zG@BT!k(v;!Q_3(J9U8iK@1BM*EX0FoB{@<<+w~l$f`e*5FiFpTF@)>x`O^LMPM={} zh}m;K%e3zt$6%E7F}~sR;=rAUyEQ&SZ~NxSeG6K%$%%Ghg%_DD$njArRZR!lY(}Q7 zVoviVI>(M=Wt|@1p053Cy}rxM;dugWPwy#A$fMoIz8!A6(Q+m2sHOruBTHgUMkcYh zt{;YStNwnn&d=7YE$CM_&&IfQ4W6d-K9dhT+^PYOQE~(SJlBY(4-+e=O7arb&oU<| zx@IK9aNBcFT%oAxw2{d1EdVs8sIvGWv-L5>Ie=&6c2CB-c zW=j3eyP`Q!Z>AY^jZ*4UtFu_S@19SyM!FnaeC(cH?7Oq9*t*KjEh9TWHhH}hAc$fE zZ^(hj&ZM;1k{N&5#aWF9UnTqg z`&-As`Q%he@$$YLed)ye^V>Y$erga~KPlU@4H{)VGUDeL6yJ)2!&`U5YgJ3&m6auVz6`u>NQ8dF;}7YKn7+X(v{ zyA!-^*rmVgBMOT(oSb?+F{g{(sf$EtVK7EWLw&41X0#6)MMN-sm^ZbcIQ?mq%ptBE zb__x^&y+!RUnt)m{3PoJZzpqg=`sAkvo7y^XarG??%j!{Hmo^@muUIw1u+sI4{`mZ z`H}=JeOy2{bG5=Ny5WW1AH(uc`cCoXKGrh6q!aI#>K4$rIjo zAkR5%XucX6Q?DaTrj7R2z#QC9VsSKabs5CCqJNi6j+%r&f2nMXTa$3QO_o&i6I~FC z7FGMaYv4>B5%RBC8B?n_vMOV6y8`T zyegJt(x{7aXRSEbWTyBe;I?4YrG6%DknR6(Zq=mD3lPw~suJXAof6n+|&lpEq=z>#aD zS?>KgcJs)wtF;t)P1Z8ubk-*mCK9g<3n$@PXN(aR%+7QIWTxEKW}6 zORDX?yE$c)3u@0vaK&-g*T)R^-#XY}7I72YQ>@s+cH%3a!5r5M_U z>8z~`vaPhvIg)35ZM)2qGD>u7FqR^H`x8HO<#HuSZi7@Ws`sNkmo;d%lo+^SYPVey z>Zed!R7Z$XMzFT!JwE8FO!X(^TTPEQpsOEUKZ)i{w^LHj&MGI(%GURG?Mzjf!{I$; zp(}0(0=3h>1Tj`_TV7CEVw4t~ya-QiIv3JvvD=&UN;q7sa9y{Lfy8LaCHW#V6OXDCwG3A5NC=CoW^3J-0Z&Te8>5pfOGr~S@;AMf zUNZ0CKQqJ~&Y=dx+VwkL!iH>3-t%?Tqwwtg*w;12cEzK&#LW_HOf7p3&&14w9)f)# zfw!dbs#|_wTESSuAWjy37t(W#FY#R%pQT35Z?#=pM;`esHeUD3QNRD)4S-IlKHfTY zWb2O=jJf-#4wlyAl*6-!!O5)gN!ER9)}ewz>fytO^K&cCJLl;6)b~ z8uGk&IL8-Dnx|`OM6E2YG-Ze8^@s=su#F6F93sEXu+M*zC+zMiq}CUa6BXc2m6J;| z;4}&+QtRA_yhKK&(a2DkD_(*Il@{!{WCuB)B5gh6f7ZFsDc;iKCRymsUvXkBA5S*q z9|l^3xnqp_pLavnx9*BO_2@*xnUR~Lv^KakW6@QGVDfIre9++aOcu9lRGTo_M6M2V z7pR=-k*S`gpiM;YTot$qd3m`_X z>`)L_-cmDQuodDg@v&-WM4snc0X0d97-F2+D0X^*8(XiKyEZBcw*+>(Q6(Jkl&Y?W zB3(VtqviJae!9%zgT{E44%)jkW5usjEov@hYb**|+ff_cb=@RO_u+lUx>oLBJ!WK5 z35+!6{G%Z#HZE=+L=0t>MJ<V%(apKRN5y)*(H(goeZsPr>~`7LAYxhPJ?zS5STxVbv- zoo)8}LqscFo&oXe2OPgYJ)pr6`6XHL;Z5$fWzDnkFJFA*E74+8Smc1}~HXsj0+NE?#N27Q6QLq&x>(`g_ z*)xELg0;+fqWO@TAUssY*WO(zUE|z!b(QU7tZMBfNNS7quH+>7*md8fEJ{vvbau$- z7sarFoQz&_t&+HIN)EmiL8nZ%8I zsV6H!zDsNK&6MsAipTK`3#&Qt!0Gip`@TN)GGvBEFY;G+zy5qG{r!!bhoDd9M}<7j z_ZA#-zhj8t2B`6gxM|;H;{B+W>2hgI1OjsAQl}i8!NRH7zcdkYnZo%y-{RXHUIpFW zDf^|!Iw|l+J@1-#$x|m$_LOy}0OM2II0XAx)wK6bBG38)^45cuTHA&+?m)j0CO0+UNm6bVpa^X6}A=#0uHQ)rQPj;z22sKrm@@YKVOdR z@Y&k$YW>AZzR#l$?b_uf*l6M-J`;p8(jU``6|ot^joLx-?gt&g;5v7wYdLrN!YOdQ zJ&HD z9^H`3%ach+5G=IQJ?#Sb_}lhi>4W_DIV|QPP*1EcYRkB~Sh{;RU3XB#QoViX$(Ij& zc}?hj3f+3RPg0qyM$579Lf#jk9t@0-!jDa;ey?e24=7;|N7xoTdn2K$x~@l_>Vd(~ z(%u3x|G`Jb_I)QLvOM@}>+3J;yhSObQvIu$iqcksm-Qv=<}cZugdo!4Y8nqx&WO#P z)tB&xrgk&cwDf%8icZa*q(XTnr-?O^V+8f>2txRSU+>AM@C**!b=fB@Soch6hi?2uhIPTZ{OZ+Jth+byWkc6 zo|ipWhhdA})_x}dRiFq{FTg4iCTABCgO(t{lk~IT!bGgo+k1|o~|3xxMX;K3o6A? z0r~-wP?uKMwOi2Vo!>h>zfS2blCmPoLYFNQ1RWvg^1r{=5gh8QSAKRbm{zK7+g}PB$f>vswZC5nZ zd%V1fT)AH({SAA@UNWI^)#PgvGc_@bvM2U8!nv0I_)f-f=~PnO_Y0{H1;!ZBF^{f* zcci|w%S35~!(C55tD}e*EiGRR!$d9pV#i>{o#)Mp+jwCEVO0B(;Il_R9@2k*J@$zA z7V}Uq%U|xZ{GW>CZzenFO2wjK9t&kM(-=+U9~-Z;jO)fBlw((>a3CIYt!zRvydt z8Yv~kqfYT5Phkatv+QVbR);W0wR-~k;+7#v>$|Dvx%|qZq!3H?gTh=z=LMtt);FB1 zxHNL(GR+Kbv`4X1lr$Dym~wM{aTnK2_B%CKQn(E}_S}P=76x!D;~5#H$3kr%wAmZV=1YYrmg6&L z!Q~Xvc14_c+x)_PY97x-ubqGq6~Hf0%Ey!RYh zV~L`(O=F~KUAV1Y*_Ecp^P|>57%*ySNGG!{C6PNF9^POwNsp!8_l55Xe`zOr=8ZE| zr82sR#%2XgmMi7OM^si|Bws{`CX^jWex&@VEOL9OT^vW4bR}$r#x1nYyjZR?vs-Z6 z#~Zcb;#lDyKsBw0MTe7<|GUtaJCbobV~C4}&= z1pE09%Gtejj{?#j>|;H@h|>6YN$Q-Tno>|Qa@y~=m8-=0OyZkNV%rIw$qz}KP)!|q zDH8%C{zxvD!e*IG`iEc)n4uVv%_|7OpH2Tk)-ix%8Fo+d%wH9Kh1QGD{j?}@?(}xAI74Y2+E|RF@2!n%GJWAz#>BPLTr&Z zU@JrPsYT0vH;*sqUwn1?Svunv?kQU}&mnF&r}Xc;VjcP&#*e-d%CfAEnW0v_gK!Qy zTJ!rq^Q8=)Q593r{rmZ$nx1z)6>o2sFHC=$e>9SKY$4c}?OD)pz}Kg+>*uYyRg%Jq zr=)U^fUC$SZKofySVvlx($KzQaR87Ao1R7?#fMR5!k_J*x4X= z_xu~yqN0#ZeI;=0*vrv5G~>z;4-A6BwJm}Ix%zrgBZhQKqQw&G8c9)}#d@p1YgF#N zjWd-&Dk*(tH+UD*d7m*-A%oWcEO_^Cg^s7&^npvl+e8LIXa7m$iZcFZqnEjDgcbPj z2Z84tiO-Y7v2PUdjFW)AfTSei*hr0z&bi9KrAQ!^EzM;#DtRvua>*eYDzG!xa=Xid<$Qc<>Q1YXi#a$Rbpi=u=TdpWRt~w(s7-bfHGI@ z_?2oqH!>eQ;;CvITyM(1nVZ}jU5|g4^0;>K+oYpM9*c)z>C!K#(wSF(CC%g=P@%Je zcq74UqRbPed>A@X%B#Pq2`ZvDx3ox;%_3)(2`A!BuMZWLk2NiPo{v7OMVf93d{guO zh9UOAHB>A6oJLmX7CwigvUVj4bbe&Ce52+)%YE#9`YcOG>XwpVa`2kn1&SHTnG<^9 z`ogb0nDeT1GBKVY6A73fO?^1Hn$MA-7o}&ulaRB~^>Z@D6o#BI$}-|k1)E+e59g$e zeScH1=wdN~VVi6@#D_kLbj`_c&gI#A>QwfUGsMfsG(23!?3>4O3l+J;3s1F%hK8fL zkk79uQ^BQy6|GmC$Cj;zko@RX*zmOB1@&oqfiuotzOD3e7EZ-X+< zuuxpwR5|FgH$6#>fAsW#_F`*1N(PaZK*LwTe&~As^;PGb`snM+8j+f8nz5!6Xz9Xa z$#I=U$#TW2X09aep`|U)%tQZi*3x>-q$&%j!9@=)>Wf4jE(Aq~y`w+kZ$~Sr{LQsv zq6QDc{EWN){*EBB$TxC0o}ub5w^>}eEd%}pB0Stu^4wCfxkig1Lpwv0EA?Ca8M8lR zR#jIgg0by5uMtpQi}ZH?z`3~eFn%c{jRD-)#uY()*xx06Em40)B5M zu`-Sl*t$WEo;vgp?x~D-NV5Vz-5Notcv{_U z{e<8pjpsxc4d>3oFsov%S%>#n8Q1HkbmXg4(l&RHRtl3RQq@@0rQB1 ztvv1b`{Nq93hGW)%ko%de1Owl@IzSLR4x@e8Rj`zUV1)kvWfffc1-@_(#PbcU6_dY zG%wkT<{tWxHklBE>(nROa0?e3qRU#Z1g0zaXnCUZn#k7GJJH;(>%4Ob^#3VT#-@DLM2~E8##gB=QA@gH5 z2z}DIKu)A81XiXqUwQu0k4W|348P7;J000<2YFls{d%6E?&pdfN3+;j6^L8Y12VPmjh$YoOt(PeEp|g z(9e}-S=@)==Lz%PlS;K*6$w1F5aC`>P2)(`CDn#5GT9(MPBjtwbSiB?V;{+EU%`jz-$r-wLrC#jO!GEq3KK{9WE^!~nYQhXQt z_z2!}#LrwSGDhCe3OoJYP4FlEez;e^+o9NqCWRA{KTNH0V{*-67D_$azU-1o#i`Bx z{ef`{2N)><5?9w_b*t&H^NPHzHv7e?#)c+eOi0zf_gWQCC47$LMCJE^pS?3WyM>sk z-JL%8)UB+DREVTsqTm@u7Ar7jH?etvxfpG_FZIaeBDZOB*ytsdsuzp&UPTLsr`Q);08BX0v>q1v+go0MV@>Q`Y^(km=Ppq!j@8^=f-co!G9~bt zJy%}y(GFVgR>^4ckc2IOdcyZoIR=Q7{`1d7e>;3hEyL_(1n>T zR2aOtOTcu9RGymAIbVEyO;q{+ClK09#oAwkUoSvxfkt&{Bj%f|Jw#K9ZNGM=C!c9pG zIdZ44WBRuA_U68uTYO@{6Hf4;-Zbm#%RY9S5W-%ly}`_6VyrfV5;Lm4=kuw%H7R!vUR%^XYJ8;(Jo+(Ki%Uae^mt12k*Za?v8|q?s7WkKnR>55OU)w zJ@)<(m*#xZ;pEvMn1W7+UHXoa9d!|PSrZJoeXKK@=BsJ#4tsVIEp}R%a1+1(Mvp|L zTW;^@`>Ao`Z6JzXAxT0WD~Gu0sg}#-5!m!e$D)vgIlkQED0zim2gUWVzXc>iZs3R7 z9I(gk91$C+*X6oT9=H_$on)NWDtJ{U0bdRL+5wUW3%n|G|Mk(R@HV-2I??g$$5nU>W#}KhD zAPx@S6#q#dp(J4hLFa8VMUcq1BEzdB(3ROlRCK~|B(~`zdU!ZvpMMl+rHa53;f#O2 zAuuoBJ11Jn`9a_Ao5NVHN!49k_%MsP{s-Hl*^ z*-`?@0FYnE8C%Fn0HLiX00sa6BCAW$??pfOl76s`o)C}77#jdU03N!YN^G%8;)Y5J zn{f*J-}o&C#WP(0Hwyi2t^xo$x?m+Q3f#Z#Yyki-Up%(ND7M5gb}Kp&FCwZ60|*5G zEVLMyf}ZrlG{rG}#9Xu6;(v*z8Fn;(o1-y=OghoDPJ$svr71AwRcxEYR*ui;;I|yXQ8ZPUV+=;3>uu$H%r_?Z zhq_l6IF97H&GQ=FvCJXuLsJ~pfyu~(CNzaz?UaaAuR~KRZGrGt>bH45x2*mqyS+Q~ zIpnvu<(+LAuf}`Ply=|FN)F_ISNU7-FUaWe%0i+Ntd^j7lUt5V%B0q`LOXI7+XDEs z;W_fV6Wfl(X_9#C>0WTPd;b8A0m$MpM^eC5{+(DyGe=Q-4?)ZFpQ~|Ilo!Se4f8aN z{7oeHs~U)L$1vv?L8q@E1QOH1_g1G`7jQ zx16n`p=CMV1YG6+z{zy08UWBfp`RdS_)k2hA0uVgB|}HvDIt+5Jtc&n-CTyBaZ8Bl z=ScI5kY#lI>1Sn>VQ2i`;y*)2KmAN-WB+F$&^~IP5s7WKG|0b)iB>4!N%8Qny{Xo- zsZX+fn&i&`_H8DF9iSqc(9gYc!FM&jC}^qi_qhp zfh*1EA^vYca|)(Ojs_MVNCpAP5ItVrJ|un|oAsn~WxfpuShJPzfkp4FF+q$tj^;i7~S!_mr%1RzMz7f*WGdLDHAiwpoH!-&SE zNorvv|GH<>#N^S&gpFbT>;8Z8BRdI`J(Whse=$J|`YuiSU6J%(_dH{munA0QUG(hn zKMwz=tXi}zMbdHU{~`-5NP6P`jdA^tJNy4L`2RWr5cE>_1$|jEQ_$A40MX=trwSPx zehStnOqC35&G6FqFi?t}+*H1kfaZU&U_%$kO)0tMjz-6!!_I}i}ME}nt* z2@=P>XfuLg%ffsFwd#yRQh(^feKF z=1j4rPDm6ARYRz#O@ZcVKIa#<6;tShLRGf&K{RjK`I#Hz-1ZQ)HzXvBKyxxT%mCds z*=w%{>mcUP{*Hr4)KY0vyc6 z5ZXSr2nu-)_L50Bim4b5hf+r9t8uXxrNNz{2nZZnkwzfT#hwlafX`u==qpmkaX<}V zA^}1Lly4VpEtX;mn^B2-r0`h5t(;Uf!Eb0cNEJ$hUd^|P)Bd_VaJAb!324b*zb6f@ zhW3=S)S&DUqjL93(k9XV5jgm$j6{Fcqk5~CFFtGvfr+kvee3T&&+Y#siWlvi{q@lPOM(qtBE*584?fpQ z_NY!6S)w%x3PqcHH+2cM4_F>rqK}8xfUmwuT%CNh;1*l)w25o4&!`+HbNZ|`Po594 zJQUh%V519-fWy^zn~mbs3W`$TYSlAF@q!h_vnFxXeb(`+(8g(#I6*2_SIvs1&(4)~ z)HW_$yp7a0@x6GDY+ZRv7o3Uu@K{ZGcxOyp1p26#P2)hkKic zSAbTY8Z;8!tRxLRWM~PQ8a{gj85{~Np-{tPMi-*<^wsbSBFNCjd5b-off^L8U3zh} zb4)FFj|M?yRfK>h4IPCNDE5HO5fbMA-e(J(A@~!u-)M4dytv5tkO~M ztykW&vo9@~Rx}OIsvW4gzk2sctIttPQOd4)j*oJ^1>Y-}rf}Eop5End$W7(LzIDLN zWjpoTDy@uo4?MmIh!nd?ZH2+J0Ibm!q(Qc%RE+~kDC1B z%yq$heSJWADT!;5C?{?}%alo62~`eY0zCx*LM*}dnR&itlfLiKGbxLKT`|@-^0nj6 zX*sgKsl#zQhnFIi23u(`p5bK_PJCOmp&H(4vo0i}2Gjl;CP zBUJ-J3E^It8W4ZFQc&fK<|;X2@KaX&6k}F_PHRHb^uSrexf<`0EQQ1&E*||+xIj17 zSS!^UL37oyZ<3{{y9Z!UvUEffra$@$OV^SzEuM0yCq*^VTYGQ#x7^UtE#yqDSEqKX~8oXI2}<&)MQ5bQ$r=ZT&um79!7u8ol%y?exEE_S(dTOCPLyb^!Vmzo#_}n=`dd{)_EoI;* z>PQM&2}9bHnK}@;I8nHZpFx?AC2ebc)$2DpL1HeQkqVfYX^{4yweoHw1v|`wsu9(8 zJ6g{^wpR=$TS^FxL80^yjofhst@qC*gfHyHNu2MZCN^Btrt{~KjD>Kf?{F%4o={%H zeGl`q`-G<$Of&`TB6|vC*<*KjS2O=aQr%_m$CmLo*ME;g<7Gvf^0|)xQAkh|RNrF6 zNH2iz(;Nn7i~?9*|7G{nPUogOCgv_2K26#`F-CEjfb&byn*BCpedsPo(_nQnExpo- zFlGUyiMEo3DV&a@iD;q9SmP=b7b`auSo$`UWUXxPYy@j6PdGUQ4p{T`2}+`Jjups75Nm-(fS#>fmJyaU}od4?~NKWB`C02Li@O7eBtJI?w5IdwTsj=&qnl$A1tnGH>t+)MX@F2`AbIp zsR-`wlG)RHwl{bDN?ruiNnfy#Y;2}C8Q#%U9P>=|jgavOxDsy^1UnYAFMRd*AkQiB zvV?`yj?!VC>2o4eqiPqW42L7!UaR4$Q``26l#n@7$L>=w?DU7w!pGs^ZNhO&=a`Ry zPPFBEFJtiVa+dQ-D>%S;Lp70m89p*^)SiAvGTpVaLoex~3iv^>=G{MGIBO6PBskr>S3Z zSEkHJ-qVdNPz?^q1YP?WV$h%B`-nY!(zE2;z}!R8`V0r$5vt*(_Fw-T|bg8F=9BrWkC<#{yBuFEZxuWfjX(m>~xA{xq+1cNX`+ zJjYg#P3|4ntp)nI5Rj^bp%%vl>QmGj?52x7d2x+RF>n<1cR$$L&b94E8iIDx#i`7b2p=`MY)6`(mXJ^}9ze=t|_uG#)J(5JWl5VQEv{84+PGzt4Oc6uc7=vCfhn9t<^KY7--Utay!-ko}pqPkII;~6_1f|<|Gx@wLt zhOa7Kw54l43sRz4eOSNHnC|?#s{iMGy@YZVubvA&kiJ{pkkZ+=N0S$3n*u^T^*Zbv z+1K_phke&)r{VMC;82CEs6{P{e9O9<)Dp-^!kZ2)aB7qgk_Z zBZ+iDD)@NsteEvV<5+&1fvu#^q~~4td31h-=zXUnvb~TU9n>1LJwAIA;-Ed%09M0{ zW(zk&yW}=LhHi>3E^>YKSZl`v^&JB~sD0?GM-`3RpNEHke~zMJl&QBh#)*wy8U2zLxJxQ>cQ6V@NnEgolM@6 zAx{v*AiH;rJKtFs>#$g|ILlQmOYFK1srAKhG9 zKow8>q|Dr?AC^r)oBsnJEA0yJLS|~$UW$&5$}l`%i7>O5k1*s64@kF6T3=!A4^3T3m#8W zUz21jnMC7~9wtBOieck6`?g?;$^>qNhunBpgvaQ{F|LsSffG$=+iR#QzNxX`*kg4E z%OlHHN87W>vB@QQ_Fr%Pxef^IhQysT3s+AFBis@pxL;r4V#krxMr`Yoh8m|t7CA2+ zUYu@gF7Bb0xx~RzMZD<|H81Vnzs@js_RTPHn?heM6*IbSFL6N;dzMT;n?w|UfE-U` zVVW34+*+*M>+_zfY`FK0=Xq(;=9u<}hTX`Ghl1BS31Chg!)y~5+>7ZQv^zxYgb!s{ z^sZciQVVfv^2z401iX{)USU2ngh>TW_fTHOTFT2Qz32NH&gb!ImGqSnCibf=Pw)CZ z;vL-Sc6@|MwEvpH;_bb=JI;&-C1m)iX+JL8MeUbue|T*E;4f}yr&X#BtLw*-(Y02v zRY6kP=0EoewUZ5 zvsTLy6q`w5c3IuCwK%Hwhax+bZ+&I(wiU1DB{a6TKkl}F7}#qa71xp<=p?PdW)|7XgHB1ab+oVgYZ38~9#AHd0g{PLCvy>r`1I(gmHc zC-R{ioAG6r?&(xtbAKw8Of}h7u6!U>;>G?v6s90CO-tYj!Qo(3DH|G3o5KT3d~6y} zuPPgm!_+V5A|(v?0UvxzKVkk8;y2W!3#yJ{R1pw(msDkT#iPW#=gFVII@epAs)=Q6d=S`&R`nq#`fFe&t05FQzrj`<=0wE{y=3Sa#^h8kD^(c&tcop<;62m z(t=SkTIv1)r84>5FT8x?=6vVwd5GvGsq7+HJxQLlb{$qlK8WXCToMR7bZXHUssz;e zQ*7qjN1^>+=X3R!Y25Q7s|#o8+Q&QNdZ{v2lp=;)a<+zSv?fJGXBkUuxqExdQj66h zuDSDKSrxT~@)UdZXQ<*N~gvL4r_sYqk4RkC?07cr>HQi6syuVHf%&P1cPHcYW?`m21G8qqadZ`^*(TdojCy)kOjbab)Np)P<)H4!y210Q(V)P?&FJ};9ocv9WM1eVV^ht^ z6W2cfzEuz0zh>;GMuuA{q%&PE_mM5hen3W=iTVyIJqR z5o5KFJaKn--?KmT`d00B|C~Ew=&*%C%&Q$^uBvT}a#-NunWHmtWm%&1dBMDMxk85B zAWnae;Z9joeO)at;j=I+IlRSY5DP;CxW_Zo`d)Fhq! ze!KNCP*B3KGuW`=(Fq|+^dQX3Z`qGvci*bUd$X*bu)V?+u?q!4Q6HWPgRGv+t56@a z7+dZM71g^A&gu;|v;Q;_VtK50K9gYpeM)gqq`GQH&L7H)<>+t8Goa!&@ zvE$QlZqRXt*f;d1Ae(pBQ})^GK05E$Ht+R3ZRcr#74Xpv76Cwu{965UfRh%}@$rvP zMwO0-*}fduW}8Nc$mos^O^4Ky9m_MJRChtTV-uOcGtFUrYh7W-d+zsI0(m3_n!5B& zcjtb(_Rr)TwtV}vcop(wX|cu6OSr6`I$#nKPE09~F4IDy;j&9CpPxe@6t_IuW)M*~Lx!6hbjUlnuQ z^L$eHVWK4^NtKzB_sRI@*rXR7Ps(;RpSKM)nsfIWw(!G0+DYM%rO@5L*NX znp63W-obrz_2%8Cv-FcjkCx-pr$w8W)|x1hGfl0`U{!1D&AdB(tt5v0qT9N>GknT%nve#;(twS|fEdR&tjD ziL;wZpZ9b)EwQ&!K>$qCm`ZT}w?Ni9%PA1QHYgZsz8z(~l=ykTC)}G-RZ?4v7 zRneE-;g7N`otPfY#MLm(=%4v>Yobt7#cpvJ1lX^W3DbhhN!`R=drTYu0DaWX%%S() zlFI!}$+vY-zf0T~rfWS!?K_fyp1dr!s98eOKCRKFI{mC`-=LHouy>A4GN7xa>JU!h zi|3r?fEtbN*qM7+mmK!Yu> z$2+Bx^mOCXH-@m+sPMQB2XC&iag(G0)7I_7rLBfLqZiBZZb|)Z{3g}aKg$Hi=BBe2 z&F)?d`s)9x+($)~wlx^eT)Xe2gFr?cal_8>kD80(s^>i>q#$3_Oc4&tGS{)f={fKU z7T?<6&1cnn!la*cbMAl4Ro1jC`cl8U(l;QB^RuDSw8GITIq*)bPRYvXxPW{VE8S;* zFeA|e;?ycK$FR1(TJWQOYERh+N&8mStYzUHPA3B2;Wn;2(8KTI395R9q)q4k&cbJw zoCm2HPmMYPS2fiaA1r-1U-(M&VPTn-?rP)umtWW7@R-xpZ5!|@ z+ZdQq^C5QfxUqJnktZ)jb(PAl;!Xr(6b))_DNg7Sdy!CdhnR@BX4@b#(75lQk&Gpu zJC3HcHxr-17MF}h zPRpe*VYJk}erl`afpBiqcQN%p|GJ=xM|-XJbNg^d&>Y`ner?lP+2`GgV3xLsc;@QZ z3;{lgK)5W3VgSG}CEvBj?*gyhqopIxAu6-}sc%~>Nq*YB)9mIMG{|U&LsBz@sOn?) z`r-A?y!|NMOT>Ikt&#Dxwodu1=_<=~GBA_4~hj6t$wM8K8f*IA62A?D)+wuUK$*=E3Xl8x&Hx?>+r?eCH^5?S)=X zj8s&Z5fgPRm9$kLQSF*X&7O`r5ImlA6FOB4wwX?g;wd&n_l`8txfWqs4Vzjj*d@mn z)=t>KiAXAr+)HyC5KJoO=NBiY2Ld~C0MovRAw zI>7b(*Hnt-uvDgnc+MqLb+I{WZR_a~Thm>wj26P&&5m4C`%Xu_!vmp^KlaoP^~<9h zQ;CH6LOI^NL{kE`y_mgKdQj@}qA+lW&Iv3^xrA2eo{f$|j9-)iJs!z4rGrASE1#r~ zC2Gdo%7Y{nW3#X?@j#r}lrtqc!Y#tIhv`l6Oa4M7u9?LYrX76=-lvf#t)RC-`*S@6 z1Ex1Pc7`@cmeu{fq~YC;(pNIYR<@55zZv<)x?GXd%^^f78Inxp*~kQBR%uQwm%hFE z>d!-hH4-vQ^as4UMa>!y`a)0i=$t}dPUnknoYE>IEO%ZCN_AR_8Y(duk#;mn5MiDV z>-!;KZ!FZg-&w;$c(}X%N9bU$e^(BFaf*H6v2pO98`oT~2Og*AYiHNuV?}|#o;|A) z_Ws6LLY;ZO_WgaH9v|es08;~*U|z|hvOOZzR%yI%M<0VtnN;9hHuVEF2M)<78PiJ! z#m}Mn^1(Y^_AdQF^GyNl-;;G{xII<66u7*4!iw;H*2YKW&;GpA(KJU;LMe$pxw(FL zKFIp0p8r(w9&hgrVx-y-kxAKuJM#dAVG@hby*sn2vi7MXg=Gn~~$1ozC5BS*! zmDbyL`m7OUr37QnE8;_sU$cC|xJ-x_wgCPRYRlk&fzkKhCvCccFHcCC)ejHR?-L=_ zN@Slmpim~f8SQIgWt+$In5+z~cO5(TEvO{U+e@k?G-_044aqr@?(&(?XnMGLTrF>p zqE2oJtoIV*S>oLrD_7|2620m4{B%l0we$ zLBUt+8ImxGri+ziR^KY0`)qrMoJ0+~2fM`6d5twWn?yOo>7?=v`6AYz#A$w8*;r#A zzrUZ^$o$3nHL|JVO*qL4A%8C}1)$aOUEfR=^yP;ZIoym1)2XY$0WM4#C((yO4VzLnLZ7qS*_^|&o%mO zXkSz%6wU6sYR&FVSIUTi8Dd7T+sTt7#-E!E@w^o^q67(J*?$5cDH)Uok@+AMQeCnh z2FgJ>0RFX4$7m0OiEuI>KP?grC}+`Bl+nuo;?plt57bAqG-bW zUW550(~IKcEpfmC>>;8YVT~Do>g`FgNT?N9a!7-#pZe4iflx{)_vWXX zjQA*i;OpgPecn%7Euk(_8THL@=xSxT`Lf|)K5f`SIsGY*njq?8AZK*H8fG#~<`nlC zR`i&LC>_i}&axhw5-T5NLhwM1(aW1%NS4&n)z}CHmp)+m{@h5HmWE0lgy90JvXv`T zWrM}8aRCwx1-=Gtu5au(vM&J!X|mQ&Lo*AT^yvS3#D+tGSYf?qZKefbV;efKZYtZzCI+LWr2Q zD$O@x3-D`XjF%w~ux0a8dY4TknXD+whF7l#wpa0y5i2m7Vs#$6h?tBp%ko`Jj&E! zRB5CsMt2<2vuGd7;Z*w|@xlbFC4Vea?%#;ZLA%&#me_e=}?7Q@Z-Bneo(5gM{XVJJO_5 zU(=e12FB@W$|S&FC5yjZz^hh464%FdjxhAhHwVSS)~5H4n~5 zyg7!)DgiFLv4nIjRPvKoEU=zVc}^y!t&Hy=Dese^jSQZL0oi8lxy&oMWMv!#og_BU^u7UObtGHfA=4^I#~6(Y zt+-o`@f7S4M}m;WOz8dI-lu~NB(#V|*|wpx_e=8xq9ekFq26(nV3{Fx7BnS^b5m2h?u$V&9>J|9xp?}3tlC^exu&d zGz%urVSlN$vz}qi62VmHQJigE!yb)e>G0*I)~E5{YnH89Dk~ejR$)_cD5ja;hhIM{ z+zTI^17C#qsc!ID;Q8nZQmqakD^1}Ll$a6PkJ_FR;PFNTCV za#jnG6*Ed175C*l7BLY0WTr^d_r*k&m*z)&0bRumhpOmh=ExlahT^DQgGJLQK>sxB z;0Wo`{Lbgwd^`n*pSSdls&PDd@`rp=Vs=5pA6GH=d_!|YxeOeCZCgUr=FW!fTl`+@ z30;ZKTvWZl;h4_)*kyiPhm|k;X(KhD3l80tHhd^f3FC^ z<-owjf5bjG5n9SS8SNZuA@%B`J9PsXT$tR~4;OfC1;HGV3kza%PrIS~rZ$#USQK zOUaK7tt4<1@MO1lXBG7GFHC!;`|}peTK+`xBSYx3-*NEDS}z^qhX%bfX^0ChaKe_F z0>m*D{e<}3{Bn-};703zY5Dv`^bf|yK~{^I+ts!I5(Gn6A=t_4$Ts9{4w8JypTO0J zohQf52b<@^^5sl4)_u-SdGnf}2diW1d*|`A*+m^H`Ano?hW)AjO);V3Lb|vbewx&G zJ~i3>00D%f82oCr)!FZ?-x!Tw6u{+-zl~a~d`_q&smYL(-yy&c$;H(7WBB}fS5n~S z=ZD-h`8T}fK1q`Y_uQ+!=tlrYUn7}^O5+`^Poy8g5XDFC*xQ?vX()x?Up=a(yZiqA z5k$#<&Jk{3)EN5ST?V@^!7IQgAtfmw!Y?f$CG+40?*`+~4bBZEzqIrXgkMllP*hk@ zOy-6{O6mqIAt@#(B`T%i<2m}hR6^W7kiT0as)>)~%be9ymq>`JfWGSF_)%aR+_=VO z!o59Hg;i-vx1zEc_KA?^>zEj^o1bJNftgn$Y)GWPJL(cNY5U6`c+mEFeGS>7VrD*N z&reG($%{HDhv|wKLQw`WqGlq|N0Iy$7F%5Nn2N`rg=Bg~tiEA}vSP2~VC}VTa3^SZ zmFu_6QgTVQ74D;7>3Y+|D3OwW@&sh&0~<8=g3$y6-;G1Q0z;2R+`nx)hAYUHi%(IG zCzZ~5bd1tB7Q`%O?CCWcawyYS1uyz4V&SieQGYp=1TuPuDZjs}YpZ+H0CQzzV18^li;$L zb(5nR{|SRvf>^rPG@N(jVVWHa85f3Yy-NMRdKU7!u|OJr41-C#oIZarVQoLUuqK-f zoxK~B_Kfq|PICMWMD~6yeebIh@!2(23plwpsC24y4nmkuPL}x}x+tENcL`U1dnvQp z3AmM~dboWl4B&@NVk^0ec0|sH)b;O{YY|}*mOynRz#*~1vEj~9rsv+BrgStEC$v0% zvs;~&?!ZweqMbL?&1MHv1JlvVsMwhl|>E3j}nZA~^2O5atXEajcF=re%M?JmAa3wk<2# z_oepEZbPAFJpv-PE3erW&CY)Q>Jz_DcQE*?CUE7U-tqntlc1)ji=!xeafU;q*T(b& zi>=DnZV-&Ao7li|Ajidi!rot=e$6sHvIFb>zTTHOQs{82r@nWuTTZAhsEYD{U0IhKezGBOB^`2z(TstZ zcl#Akb?$eQ-M(#6ZN+J&S`X%mUj9){^v6s9zR@|;Qs2UG$2!-!6inx|X3XHf?`S~a zWm-g>znKA|g@lHZ*7bX1%7zvv}CF`YAdJmHw@c$kK--Bj-zuq&H{VRWkwQcw$xvnMdEv-(sW*4vByHr0GGB7xLs+>VAB zUb%Fpmp3k}A<}OaUPnJ>af*<0)MD#kn$29q!`iVhw;Ma`cugnwku0-X;hyhJY;8<* z4nI-;?dYj!q=84}f^8v52$&=FmzsR#jZe7oOW8E4pBqwSips6$OHrs$&#k)`-fJ|| zdA=8xzJ|s;P5tz+*Jd-j1+N@WgoJeXO)9taYhMkSJ9D^UD>1mzFp=O>q2Nwu4#z46B@Yh` zWbblWL1xqobKJEYqe$#nzf$s8$H_t;iH+}_Mro8qoR7IrC|htwS|<7D$u%3Ay*XX^j7{!Ur{&V-TfG{G zOCv-87+mE!P!)tBzAKptXNO!M6d&jJn@Tp7Zjh(%j-2hi9yzQV&gq}9_w}~ag31Id zQ^1$dZz)2aEZ$fYT=1T5d=3bJFVcKV;IBIIdgkBALj9!ma|fee$i^@D$@y1BO{B1kSwm!boQ5hRER%y|a6`-nD4TDvJHE95AR$9gP-lTFYsqExus!J>J z_+ObM;;Tr4H*>h|lbUSAa2S{H&KOj>I9giSM)qxYzZ`cXqOIMMr?Yl7Neg-7;^Mp{ zfqZ9r&280DEdX1qjni(*B$_*eHe2N&ods(wEFOoqFnf2N>`FI zg-hI9PGq=5Q_6h6D=U%G zc$1O^+wdG`_Pgmw8ZF`(1z|yniK^vA+`i_kx>Qn;ltb#_IuzIQ*2a0Eu#3Jw23f6# zUv6H=yg%Rm{VXfX*T_z1Q3LapgpfzVmW4WB)XVtH2klqRYIcYmO^lvU1zdXq0~_p# zKtomD${l5aEu8HEmzrqHY)=U~{$*2DJF%G#h=?9&C`>~z3|otdg1Uv0i^3bpN0`!m zh2e;6!DEBq+fx^>D4jL@#1&{9X>SagI{=rHVME*f`|m|**|q8!V`5FjAQS6)j(r)f zHj1c($90F=FixG)`kuRu?>oMo&SJ5z8+hJn_xi0gdvPA47)xk^w-|s8^V2j7+Fhu> z0V2G2-ePsV+xWruwfLim1#KWG6v#_JH5zFAW`GYDN3z*qyP=h=IrwbXHsbd^5Gik% zht~7!7ZP>4L=y#j2zp(17Fs2yIFvV^0s)@ z5KjZC8hb{wDt3v^=dd?S`m9nAHAn=L%E~05?-yp^yHyz^KoWcxXi4jKvI~86M@EW> zrlncDrpckc*xHOUmXJ*|QVqpJipUkUYe+iqrql4#@?ZL@$H3aZe2f7rXzeb-yPOOhU+33A`^CRP=i_`Lkkl(&7ZS+Y4vAo&9@XeTsX5 zi;?S(Gk>OFR)bner?~1~N!>XobukDZ8(?;(t6a^$ukfCB{vNbOc_68UYq0$vVb9;EM?|wahstVHC9PgG|?! z@^RFDXx^lB+W0E<&Mzm^h^eK1Es5I7a-+)OY5<1BMnLSB6qEJa?`hGxwp2Q+&6fy- z-7&C{b$`j)Zk$mPhAovPiZ@+8iM3q6=vvn!8cG3J*g|zN)4>c+m=pMF6}$OZl&4v)g%^_{(wlC!nE zd{SSEy9o0-zhL11LsNgrmz%gmu6G)VOqmHV-WGlQe2qwi;~4;uj#c_~#8G!x-kmNhKFX{J(td?|vYpr*Hagi-A}n+yZ6aZJ zOnhg^@L99Jugwx;a;`13qwQaOCL+AiI`z}5ywDpYk3glQhBn8sfpBJu2k%&~# z8v04ja-;OP^duUq)jD6$KjJ#reK8aaONVz#Ojw=W)%Qso3|`xRc#a7ppR*^cU4^C} z)9&~q*>);|<|?eAl;AyYW8N9n@*rc~DBWBg+^;25h3j-^fhnfnez9KxFg+k_3Pk+O zKP~k>hdzB;d=$H){adZkeZ2%qL#G(Wb|)Bn;uayyujBE_cForp*MRQf4{SV*+9ADZ zswCS_GcqVQ8|U{0yakCTFm2W#L++-4S~zuiJxX!6*I6dQ8j$wu369^+qe%K?pgko> zqd%RCaUSJNS9I>p&zGxJQ@m(zkh|TBsyxwm>Jg3+3)tcdzG>u9^qXCO;yV`G{~N^7 zo9%*8i)9A?*#8kdP>^l!Vlu&E2t;FMBJ?6O$vYE#-Of^_Pc)JT<9R-!qW6cKq70 zGkG-fq`#0)`F^ZgQ~8kJv_sO%PK(fGx*|C_WoEJNG|V~zkdFH{RK!cWa%+pf?AyO-UenwZ2~s% zJ(3(!^0F=~Rk%T3Kg0-?-KoQYk)_L$__Gmg$eWKgcn<$Y&0R%*mUEDbFZ$b@JGRe* zM~!XcdmWfkzp$U&&ANCg85;LU)h$E%Pi?9Us>Fpz?Ayk^kCHH z$zE8Oy5`z8)-l~pm7=2ey3aWsLk1y1zB~5aQE2z z!PmgDNM?}8fLIdOahj^IZ_>2TM|4(C$L>B>W+9r(eX@N;AK>;tx+2wUU2CJ<9g0-4 zc`B$eMYUsVoS~4zjPf;!$h%%)thm#4t)kZSGKwfF7ON5g!Vmfr$RQeZsipZ0$sOnh zPruMt+xseTwyb=-Qv<(od|4Q+L-GPWk&+WjF}`4`fa0>!jcAlkI_FbHw_yM(Dle5- zY8nsqHG`Mna>+P)l@7i#?$>EGQ#qkK9*5@VqM393KkhePl+E;SuAK|?GdoEZnYt{V zGqMO}HWnA}Oj`qxZt7}(QLw!|$fVQQh+dNd&mAI1X&p1$3ojr5y1jSovT%|kY?Aid ztN|#(mMqLRS(P6~4e_$X>@s(eVz_^?qh|RYhe;pO_Oz+01h$aqqN&@STdGecbL|Q(oLfv!JhJYAMj*Y$=Ri4#5H}pFW*7TFCUBr>OJx@;aYCv07preSbXG zWdXqtmU=UBwI1?l_p+>#)OWISgK65aylonpGLU90Uq}YLw651tccKVP#|E%_Xv5{% za9|8oMu&}cy3kWq9q^oNJv9$VD27E2lE!`Y8#Xpawz^_eu^tKwS@G3Ba)8tZG{~s{ zc|YJ^-WdFA2YNu%wzXNPkf?XFSppNGzS%X|drrt%2ys z%7X4+b?sl??~bTZC4t7v2#j{Myyy~oAJL^rLKJNI8~$+LHd`c_C_6|q>hq_VAOj?6 z#RjP?`txL2NDecOA7+`**xR=z>L*&ws{u_+JM1WgwxE^-M-1J9w%1rSRp zRvb@ad$z_5FQ+PsO|g>4HX>fbodufxAxK+cVpNl|ulxItakb1Tm68R=37DZS)L8;t zgl|nwX&@gRB`6Ld#=A4KB^i#1)kDTF4zw14EG`+0C_S$Ps( zw{csv>#7#|vfO>VB_hj=6R^l(1v>F0_|4Nfs?m60N?Rkiv4YQ+=7$;2pRi3<9Eqcz ztjImXE?a3*Eu`{h!fHgkXHfZlVr4S6s5V2QI4Gh%38yTbt4;5iupbVW(^3vE<;t5= z2AFKRhqOnzO`Eryi9W^hr^Kl`H@2shYl;-C!Sq9cEgKw?{yKp^yr7#`3CUNjMD%8C z15YlJ7c?)N%6#S?!usM;!vnWBVePilb;j)H+k;8fedkMN);!vGvFHSusUtMQPtRpD&+`^c;@^3;_8@!=V; z;=-w;1w{iUbJ|L<8{)Js=x&lkt{T(VTub19;)I0KBQ+GsAl)S=v3X5u{eNS1f|DSvDbG z@|~6qV9u-Sm-}`;`&(3Gr5_6Br=>P^BzFh(Pq-dTTpO~UD*1|Ck&w4-8M@X*IG4m- z(faTUF_v@^=NU_BCk;Nu%itg!@Z0pPb3nW=Hz!m!DLyg^ldsutC_`aHo-jz<400_Wlf$Z&FKHZE&Rmj^C`dpVQAzlkbL+zE3S)p3Ukp%wZMvPHNz&@d;x5d1@ zR04b$Lq5;k^zowhhSJ+${V}-=MAo$!{-rFpu;uiT5$4`6-hJv{zp5Sbtm!IxJvU;# zpe7RdVr{`@CSWFzKYdy5#A%nCjw|Llq2QN;u2DWfq`1B zO;4cekF(4Jj4P$#jB=2xYlI1bGi5}99(^x}T&>nTjxv}DTM5)lGZwzB{X)$-zja=t z;=>^0xMoC9A)2L{#5E;d8Pm84V*~hT(}y}b*;*l22&M{8o5T2pQoaChxg#>(8=e(U zGJ}u`cn>^FU4E#aTa#9@w>uX~bQ_FGD+c0`$$P*`K zWbp&jwvITAn@$63uP6E@7mO(LjHL}Cybps@jp9=p!jw^w07lPw9*V-~Z3Rr8Bp9^7 zf~Zm6_VEgVW!G5`h^TVi5u%DOG7G@2R~|kegZqR)@zHie5{#00TMjF_KYj7>Zk@vK ziPzq6`)l`px@84RYrF&CPDEy#&78c-SyNgp2!0x=Je~S^BPx>fe$%bZw{yAOhWp3X zLLMo}Y)CTSp_yCHtO`rMwSULefO%-qfluu!C2X}1teh);TL;ZP;`nU1xwdBM_@VeJ zX`>Y*anEq>15uRuPlc!fs^oE{YdF=RGfIq5Cxe4zjM*H!z8+%>g2dvBoWSPA$8y-R z#sLSuT(IcF6okw2&RVfJd#O0=+!&iar09L1ccW;B*M z6}NKEHSblT70V4%G+AG$W>Cnz%feh3Tn$-l=g6pN3K4Cc+nk^uz%j>oP(Nh7t4u@j zaY0l5kfSxv(sGvWrr)UAdTu$-T^I3nKTr9gl*A93Q|}J1J(4ypyCWz^%XrQ={z0D2 zr`2C5)J+n%Qya8(6(C}jRN3Y0|59%5@KYef(wkbJ*80C{5UZ^S|ult z(EI5PgiTJmMek?;v$$}#z;SRj0MJ%!_GNQ=7xi1FM9RQKC`#kgc$Y~>U&oV;Q?(Pa zR;n`3xf>qU_RM z9ZEKbQg8Vet7e`@)klf3>%tfY@~`?5Cd8RoC*T~SPmpjj;DE}_JX@_t4{->)h<|~U zh66IMtng3^?KXF>yj$=XG9`b56_*0up?7T$iU#4=b!-%}n;&0KC-BHNCXXgC7ejQ> z{?7)fS>P5F;k~2t-~s#z$uYkm&&6~31BGYqH=nh|as@7}I)$#^W?YQbJmNKC&7_lB zBDEDs+u2GsnObQGC?j6$Kl$qYb?XrMnzq~6r=J6Yk7%M#i1asUN}OC&Au&)JTPyC+ zs&0rpN*GF)dyR=mIet%OL=$s9A~=$n;bJ}7b`;(MgKdri5rq5$WK8W#NVpCx2M%f8 zo-Unu>M=)NU{rE^NBcN7=B!GhY4u*#`K{WtmH4f*3Mg6R{L9f@kFC{4*ZPOjPpxV8 zj4H<#ha*2n)c8nyZ|zuAoCqs*eRO)d`&#NWU*@`RjQ{hSg+kOG-@2vnm%BlCFR7kp z+IZ2vjq+gMxpHODxuD=Z&E8eXXN28F%Nb37>Pb2i8LD?A@9wBPCc7HW3OFaJW3T`j zVG2d=O9J2~01j6SnEp;$m^3B9AVBE$?h#%8aY*X{_qcm&YmW1yp)K#DGu|ikP)&;j zqX7J#&j7j7dzQD(_=wTWt!XA{kIXC$`UlKjAv=zy0&0`XwAZ6|UwKPEPHbP?U6v{O zoaVkJeGIKB`noQ!{s_~Pf5DE+buCj&l*T;#@&sdfKl|0h#fmaIn=K>Ld;^GqMTLcm zCFIgxC++J?!P0lnVz!`Sz={+r9(WVam~@T|@Nu&3>8uM_O`}8EQ8`b{Jl^VC*&)9L zot{wT9V9Z4_5t530sy8K#v802mwz0Yt3KP8c29D#;@I7_w7JtJGVu*fli+S*uX&F6 z2Yu@vqg~fWRcia?uFPh_ zo*G2LCDIchkqHMV^H4?rX2U_GC$&Hrz@9mvIzNBUg+E=i(_OUZlMSI1s?Z%>QcsC# zXTyDSaqrDH+V-Z-4O-cHO@Jeg<<;#-;$T(w+~*w^g%SRu?zSeng95S%cN}K=^6ko8 ze~a)h4?XH5aE z@M3vj%OBAh4&0jw)Jp760=;`9v`=fTmbF7;^J&d0j13wc{WEkf@&!KOri1-aHaaBKHQXw}juHR8fKqOM#MVyw!X0(>6sg`4lZi{yV<&O%!NILPLs=(!EK zLMgnwy&FvYo~q<#6R|B0f3X4h67{ge8oSj5_5NO>f8Vl2=!HUO%~wI(T?Tga><-!T zD+bT?HG$~rd_+E=1|eyp2V&}?bs?7#z%b+xzyVgv^c9)O;qN?urIyq&G6aSB$paWt z?1HlP(RkJ!UwmZePi-<5d$FWcN_f`V&&pNkYK%2c6Jh`YxP`fb-!Wlz)Jvx8z`+N; zxfZK_X+Ir!spj6&__x}OdG=hpzy|gnsl@&yDAp~w-*bLIOf|~Km+F?EPNj6h$(f}| ze!y@N#Pud?NU1O_SnF#S$_)@K*aCWXTXWc?|^%2VIM)K_vCc${ciX* za-iRkYQG=}-;h^-MS(d1Xx`ra_=B@#EiAFk@E?KT{bn~-;ZL3ApiZMdb%Ou$evOOp zJ>ZW8?E!yG{woU1|7*T0-^KnTjOCj>-)OH4f3xQwVc%W+Ro#EUn7*_AI^93AGX0&E&WGzss}g%Ae!o?{{@l7{4;E=`*d2D`&NdFk1c|oC7JbWaviRSK>R$KS zLCAAbgUYRKy)%|hYe-?a?z?W@Dyb{Je3J^!HLCpDcf77PjQ5K0CY|csvU7|KP8=WZ zt@cq#?wOLRnK|o}E8nLd9T}VN-?3}_dDecFb*^u~bEcV-E(6`q;OXk;vd$@?2>?p+ BX}16X literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/machines/industrial_boiler.png b/src/main/resources/assets/hbm/textures/models/machines/industrial_boiler.png index af214e9dc41bab9c75367f2f41c82decdab2ecbd..92c535e6ea20c0324aa82ccf80d9d2ccc624f117 100644 GIT binary patch delta 2653 zcmZ{kX*|^H8^$Nus=?Trv7H$t%P4Es$u!1JOh~e1r%-81S^L=y+GupjF~-DL8#@tM zvU3_+vZbMp5}~YPCgaRG=f(fk|9SU(p3i+<*Z02f&od*mCGkiHIIM1MhH;L_T_KHx z$n?wgw&|4fyKfIDD|JX0sAY){+rwQ7Uie#=k5|;|G`ETHR$A6F zX8TyHe_p@a=2;Cal>g4BOLZ)r%Xq7C@!eMpBufHBw4s&^b?O&gc~kSE#32zeZPhO{ zrdxm#VfbrHX-iOKQA^?ofF68qJT{3~pVji9ZqtuGK9eE81V#{gh|R)Y`GE|qwK z*U=;Hz-7T=AyBA%Rjrf7n3FfS5zi)nAEny9sZp0MjXI;{oKSUD26)ABs($Th(RuXp zB#$YGME3?6_|ZcupzwXp^ZavVXkAk!aH4U6W0bbgM!}7+9&gxNRnnkaHeP6>IIu(N zU=VmK7!dN-UD-$gXCuI!ptvX2oSp9>b`C)uQa3FW4uq{vmTkU087kl2{-c1L+tchO z2liLd=))btNXvJlf9b+H3k~DHj~o&-a5_VWl|_f=qD~2eBD~5!TMe}DfQ9L@PTOu> zh(26e{7qrHA(%c~#RsN)hw;`+o9D`Io<*D4nqWJYHA9~d(YfPqRnNw29OU0K)Ms( zeCQujH@MK5{ZuXYA)n}IsGs=fh+RC?a`f}%Nw{w4dZw~}Nz$;Iyy;Ct5&PEuIoVvD zmhzUwEB4-jtFYT`(MM$H+N_tx0d{B4ej2xLYMMAFO<|qkj(8NON^gf*4$RTcg+w>s zo2c9l^F5xr_cB~JDXzmcWZo1IzJ{O5b=i&jXCd&;^SP7}$lLSADZxz-l9Sgu=fHt_ z_fx{YL@0lGK;Z=L#|fYKW9J{}r{xw7HG6MQf-mt0fpv5Y-<6*t1j6Z)@ma^(wIpck zTgSCh+`PP?&+Pbv=(z_#D1d{iTd|=g$mm~F*;9QSsX~YGibpg9FCXrXMHc21oZX%@ zo7gM*`hZg79ulI6{YM}@r>V(MNg{=W~JNByGF zXjTuJ8yhF}7Mw`Q$;oHf$^*D;8@>g+;pPgaWIXsI$=AY!+&enz_^x>VNY47Hi(Xz2 zZ(W>TX6j%6C_7%Nf~j^jD|L2^I`CY^zvOsrZLP}DjH_3vj)!DqWWWY7osmkn&-Y`6 zY%5!Ute7F=4V#UPji+St+7!B^mBC3g)goqG1J3Akhc^|f$Mr0VHR{E!cOot2tWC%Q za~_R{lM^06HO5(N`JYY)aB^wEx~M~ zVqalpE(BxF|*@MyxDgW8uTDg~DAe5K3rceUg2c^{BzDi;#$^H7FMP9ciGlAB2+ zHM`>#IX0_ncjK#owqxbqv@z_Fdcld`iVgW(wV(o%5HV+}gV72)T9cs2PR?W7V zjQm-z5o;=B`3KNF@ELq$yIjBo2ayVp=KmhT{| zK)@Ud7${yA7^_idI9233wPK#;=E|16cB3_HNx3M0V`1`9Lh_e1@h`A^aY09Vbs3>@)lxGluBh_uUwb&x3w7e|@R9 z{6b~eFXm6|ZvHWIAUs^M$wRo_jke`2i*8HJN*&cAi-nt5{YEB0Dc!hN3r^4J0^!`7 zfb*awL_UkD+*|f%@)4-_#iMy9u{JExMUjIi{y?Sx(WeG#)LSAqifC^uEznlzm_A(k ze1+)DhY#SoHfSN-L;|a7F^skv-m^x-B(S1pgkhosM!28{%nS=ZzQaISYhe-EA}y%UKr% z%m`+IC7R_e;jcTY;XdaNSdr+iiJRlLO~IInWa1g+kk`$ z)+_;)qA>k4O3XnPDSm5oC!r`NeICf(eHapuaFUfMix%X5TjCP~yq=q{^SRqmg-y9tDoZHmR2?%(ag_Ar%9WwjiK&i| z|CD*%^e#YVkpj0SM0lkB3*Vg|WV2Yn5aKo^F;A7!&F2;j>t3L%U|Tc-~B<{V{LA4R$=O$ F@HeT(4n+U} literal 1755 zcmZuydsGr=7AH_KeBlV14-A~q6fGQ6SM!C6nVJM9nQp#H^N~)>I3fXqkJ2!P$~LA+ z3K6#zb;iOeHkr(nF|BRYOvksFFG?jU6(9H*+CA;gnKR!x_q%`G^Sk%{e)l`~D<$AV zjUZMK003YVb^sTp^}Sk4(bv=7n=spKt<%W~3X9g)9)^Aj3jol&5{3(mrruDF9y(rlaPB+6;jqwH_JQHan6Q2B6M`jq&G01CrCqX?x1NmZqKhv?jW#%jY!H_H)eZUl2>9;6Gy z>lC7+@F>8nRXwNx3!j@yb$8P>9k1%En10H2UYj4>d!*KwYRp9jLdSX2>^L-+XaZZp zRzmJN1OvRv-rgHv2QW7)8^UwjAzW9!L0!}u&g$?BGqT;=2ai$lE^)kRw0W1yqtZvE z0trd?-1%>sTnXDJ&e#IngWoHLQ`IaKPKY`dv1L3=zna}o%6D~ywgub%Js1@B6B^vOLA1#x$D zdV49xy#xISRQ$Miq1pH)xor~DA51FFDT=Bw1W*;NmcFB7#&S$SJ96n4tUZf`>>f>B zfA{Xm_8ZUsAtu$l{PCxZUPy5LOE$-?P|-exjg2n&nVzGf zX#zTXd}T_<)_>%Ycu{Az<&7tBMzl*ywfr!v`&DPK*VvRdSfS&?^ZCBK9JjgX;>q_9 zEx2R7@q}i1{n>Wk1k7K?JY8D*+SbRk#{)kBTA-dAhFzHr4yG?x1{sXhL)<(=1PnUN#-!3Ar5urb)RPh-8=W`NA zu1-%+i}_zNNixhs4ReK2Bldljqm}Q?NaLpf^2S>3M(vPS1q9eTmz%UV%Pf))FMI6% zSwCZs-Tf~oOX}nu#M*jI4rspr$)3~l zhyRAW2(=*~-G0HET3YdfA0|v5WV6}98;nP)ImL^*HxXA-F(#2mTO=rb($QG|zHP{AC35Qx*twKD|C4R=m-2L_eNeiO*g@X!L?n_cu zfOZ67&{o>rIsiY%`tMM8|T!^%(}w;#Ou%(^4`?wEXcPezm2PTgtbe5_!tdH!_&7cTa+ zQl)Z8gYa~7)Uqzw;b<3Z_99IAU diff --git a/src/main/resources/assets/hbm/textures/models/weapons/coilgun.png b/src/main/resources/assets/hbm/textures/models/weapons/coilgun.png new file mode 100644 index 0000000000000000000000000000000000000000..8dfb5eaa8aa23b2d80c97f40ee74c52699c9e650 GIT binary patch literal 26194 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 literal 0 HcmV?d00001 From b443c3449d37db0017d86a1fe71cf92de3da026f Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 9 Jul 2023 19:46:38 +0200 Subject: [PATCH 250/285] fuck you fuck you fuck you fuck you fuck you fuck you fuck you fuck you --- changelog | 51 ------------------- .../machine/TileEntityMachineAssembler.java | 2 +- 2 files changed, 1 insertion(+), 52 deletions(-) diff --git a/changelog b/changelog index 241b94655..e69de29bb 100644 --- a/changelog +++ b/changelog @@ -1,51 +0,0 @@ -## Added -* Industrial boiler - * A slightly taller variant of the boiler with higher capacity - * Unlike the regular boiler, it can't explode - * This is ideal for applications where closed cycles are not possible, like crude oil refineries, as the machines after the boiler are usually the bottleneck, causing the boiler to run full -* Redstone-over-radio counter - * Can count and send the amount of an item stored in a container - * Counting supports filters by item ID, ID+meta and ore dictionary names - * Each torch can count up to three items and output the results on different channels - * This allows for more precise control over things like assembler chests, like turning off the ejector for an item that is already full but not other ejectors - * This process works fine with the chemical plant, chemical factory and the assembly factory. The small assembler currently still uses older code which doesn't limit the amount of items pulled, so fully preventing clogs is not possible as of now. - * Expect a fix next week - * This property makes automating things with multiple inputs a lot easier - * Due to the ore dictionary ability of the counter, buffered items can precisely match the requirements of the recipe -* Particle collider cooling unit - * A block that can replace coils in a particle collider - * Will increment a new "cooling" value which depletes over time and makes coils more effective - * Overcooling causes a penalty, so coolers cannot be spammed and need to be carefully spaced out - * Allows for even more compact particle accelerator setups - * Comes in two tiers - * The first tier has a flat bonus if the particle is cooled, with a penalty after the overcooling threshold has been crossed - * The second tier has a cooling function that peaks at a certain point and slowly decreases below 1 if overcooled, requiring more precise placement to get the full efficiency -* Benelli M4 - * Automatic 12 gauge shotgun with a drum mag -* Coilgun - * A single-shot gauss pistol that fires tungsten balls - * Shots penetrate blocks - -## Changed -* The regular boiler now only holds 16k instead of 64k (which is still a lot) -* Added labels to the large mining drill's levers -* Glyphid eggs can now be broken apart using an anvil, yielding glyphid meat, bones and experience bottles -* The assembler now uses the new multiblock system, making it less annoying to playe and less ear-piercing to break - * The conversion happens automatically so it's not necessary to remove the assemblers - * While this process has been tested, it's still good practice to make a backup of your world beforehand -* Reload canceling is no longer possible if no rounds have been loaded yet, preventing single round weapons like dart guns to be reload canceled -* The saturnite rifle now has a functional scope -* Rechambered the bolt action rifles to 7.62mm, with a mag of 5 rounds -* The compressor can now turn 4,000mB of petroleum into 2,000mB of LPG -* The lunatic marksman now has a crafting recipe -* Glyphid armor no longer absorbs all incoming damage when breaking off, instead 25% of the damage will bleed through, making it possible to oneshot them with powerful enough weapons - -## Fixed -* Fixed quantity of the fusion reactor's construction recipe not being displayed right -* Fixed fluid valve and redstone fluid valves having the wrong behaviors, being effectively switched -* Fixed mobs' max health getting buffed by pollution, but the actual health staying the same -* Fixed bug regarding the loot pools of satellite miners -* Fixed rocket artillery creating the wrong type of slag -* Fixed fluid valves not being able to have a fluid assigned by clicking directly on them -* Fixed the kyiv special not actually exploding -* Fixed combuston generator not properly syncing the burntime diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java index 8d73476b4..4c754fabe 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java @@ -55,7 +55,7 @@ public class TileEntityMachineAssembler extends TileEntityMachineBase implements int speed = 100; @SideOnly(Side.CLIENT) - public int recipe = -1; + public int recipe; //don't initialize this, retard private AudioWrapper audio; From de028bb5e132b5e5ad118d9bf89b62604cc60379 Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 10 Jul 2023 15:48:09 +0200 Subject: [PATCH 251/285] UAC pistol, damage util crap, mk5 fix --- gradle.properties | 3 +- .../explosion/ExplosionNukeRayBatched.java | 2 + .../hbm/handler/guncfg/Gun45ACPFactory.java | 4 +- src/main/java/com/hbm/items/ModItems.java | 3 + src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ResourceManager.java | 2 + .../item/weapon/ItemRenderUACPistol.java | 109 + .../java/com/hbm/util/EntityDamageUtil.java | 268 +- src/main/resources/META-INF/HBM_at.cfg | 4 + .../assets/hbm/models/weapons/UAC pistol.obj | 16884 ++++++++++++++++ .../models/weapons/pistol_texture.png | Bin 0 -> 320 bytes 11 files changed, 17248 insertions(+), 32 deletions(-) create mode 100644 src/main/java/com/hbm/render/item/weapon/ItemRenderUACPistol.java create mode 100644 src/main/resources/assets/hbm/models/weapons/UAC pistol.obj create mode 100644 src/main/resources/assets/hbm/textures/models/weapons/pistol_texture.png diff --git a/gradle.properties b/gradle.properties index c54eba9d6..2882b656f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -14,4 +14,5 @@ credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion al \ Toshayo (satellite loot system, project settings, gradle curse task), Silly541 (config for safe ME drives),\ \ Voxelstice (OpenComputers integration, turbine spinup), BallOfEnergy1 (OpenComputers integration), martemen\ \ (project settings), Pvndols (thorium fuel recipe, gas turbine), JamesH2 (blood mechanics, nitric acid,\ - \ particle emitter), sdddddf80 (recipe configs, chinese localization), SuperCraftAlex (tooltips) + \ particle emitter), sdddddf80 (recipe configs, chinese localization), SuperCraftAlex (tooltips)\ + \ LePeep (coilgun model), Maksymisio (polish localization) diff --git a/src/main/java/com/hbm/explosion/ExplosionNukeRayBatched.java b/src/main/java/com/hbm/explosion/ExplosionNukeRayBatched.java index 8f0b72cd7..8077d7dc6 100644 --- a/src/main/java/com/hbm/explosion/ExplosionNukeRayBatched.java +++ b/src/main/java/com/hbm/explosion/ExplosionNukeRayBatched.java @@ -181,6 +181,8 @@ public class ExplosionNukeRayBatched { 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; diff --git a/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java index 21e3db275..3afc3fe5f 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java @@ -68,8 +68,8 @@ public class Gun45ACPFactory { config.allowsInfinity = true; config.hasSights = true; config.crosshair = Crosshair.CROSS; - config.reloadSound = "hbm:weapon.pistolReloadPB3"; - config.firingSound = "hbm:weapon.pistolFirePB3"; + config.reloadSound = GunConfiguration.RSOUND_MAG; + config.firingSound = "hbm:weapon.deagleShoot"; config.reloadSoundEnd = true; config.name = "uacPistol"; diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index ae099b4e1..1efbd5f96 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1617,6 +1617,7 @@ public class ModItems { 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; @@ -4243,6 +4244,7 @@ public class ModItems { 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()).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"); @@ -6980,6 +6982,7 @@ public class ModItems { 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()); diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 5be6906a3..e76d700c5 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -521,6 +521,7 @@ public class ClientProxy extends ServerProxy { 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()); //multitool MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool()); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 681ed777f..c18f309c9 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -751,6 +751,7 @@ public class ResourceManager { 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")).asDisplayList(); public static final IModelCustom coilgun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/coilgun.obj")).asDisplayList(); + public static final IModelCustom uac_pistol = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/UAC pistol.obj")).asDisplayList(); //TODO: reduce this fat fuck public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj")); @@ -843,6 +844,7 @@ public class ResourceManager { 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 uac_pistol_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/pistol_texture.png"); public static final ResourceLocation lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png"); diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderUACPistol.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderUACPistol.java new file mode 100644 index 000000000..c2a33b7b4 --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderUACPistol.java @@ -0,0 +1,109 @@ +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(-35F, 1F, 0F, 0F); + GL11.glTranslatef(0F, -12F, 25F); + } + 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/util/EntityDamageUtil.java b/src/main/java/com/hbm/util/EntityDamageUtil.java index f7cb5d36e..e1c299c7c 100644 --- a/src/main/java/com/hbm/util/EntityDamageUtil.java +++ b/src/main/java/com/hbm/util/EntityDamageUtil.java @@ -1,48 +1,24 @@ package com.hbm.util; -import java.lang.reflect.Field; +import java.lang.reflect.Method; import com.hbm.handler.ArmorModHandler; import com.hbm.items.ModItems; 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.player.EntityPlayer; import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; import net.minecraft.util.DamageSource; import net.minecraft.util.EntityDamageSource; +import net.minecraftforge.common.ForgeHooks; public class EntityDamageUtil { - public static boolean attackEntityFromIgnoreIFrame(Entity victim, DamageSource src, float damage) { - - if(!victim.attackEntityFrom(src, damage)) { - try { - Field lastDamage = ReflectionHelper.findField(EntityLivingBase.class, "lastDamage", "field_110153_bc"); - - float dmg = (float) damage + lastDamage.getFloat(victim); - - return victim.attackEntityFrom(src, dmg); - } catch (Exception x) { - return false; - } - } else { - return true; - } - } - - public static float getLastDamage(Entity victim) { - - try { - Field lastDamage = ReflectionHelper.findField(EntityLivingBase.class, "lastDamage", "field_110153_bc"); - - return lastDamage.getFloat(victim); - } catch(Exception x) { - return 0F; - } - } - public static boolean wasAttackedByV1(DamageSource source) { if(source instanceof EntityDamageSource) { @@ -64,4 +40,238 @@ public class EntityDamageUtil { return false; } + + /** + * 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) { + + if(!victim.attackEntityFrom(src, damage)) { + + if(victim instanceof EntityLivingBase) { + damage += ((EntityLivingBase) victim).lastDamage; + } + return victim.attackEntityFrom(src, damage); + } else { + return true; + } + } + + /** Currently just a copy of the vanilla damage code */ + public static boolean attackEntityFromNT(EntityLivingBase living, DamageSource source, float amount) { + + if(ForgeHooks.onLivingAttack(living, source, amount)) + return false; + if(living.isEntityInvulnerable()) { + return false; + } else if(living.worldObj.isRemote) { + return false; + } else { + living.entityAge = 0; + + if(living.getHealth() <= 0.0F) { + return false; + } else if(source.isFireDamage() && living.isPotionActive(Potion.fireResistance)) { + return false; + } else { + if((source == DamageSource.anvil || source == DamageSource.fallingBlock) && living.getEquipmentInSlot(4) != null) { + living.getEquipmentInSlot(4).damageItem((int) (amount * 4.0F + living.getRNG().nextFloat() * amount * 2.0F), living); + amount *= 0.75F; + } + + living.limbSwingAmount = 1.5F; + boolean flag = true; + + if((float) living.hurtResistantTime > (float) living.maxHurtResistantTime / 2.0F) { + if(amount <= living.lastDamage) { + return false; + } + + damageEntity(living, source, amount - living.lastDamage); //# + living.lastDamage = amount; + flag = false; + } else { + living.lastDamage = amount; + living.prevHealth = living.getHealth(); + living.hurtResistantTime = living.maxHurtResistantTime; + damageEntity(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 net.minecraft.entity.passive.EntityTameable) { + net.minecraft.entity.passive.EntityTameable entitywolf = (net.minecraft.entity.passive.EntityTameable) entity; + + if(entitywolf.isTamed()) { + living.recentlyHit = 100; + living.attackingPlayer = null; + } + } + } + + if(flag) { + living.worldObj.setEntityState(living, (byte) 2); + + if(source != DamageSource.drown) { + setBeenAttacked(living); //# + } + + if(entity != null) { + double d1 = entity.posX - living.posX; + double d0; + + for(d0 = entity.posZ - living.posZ; d1 * d1 + d0 * d0 < 1.0E-4D; d0 = (Math.random() - Math.random()) * 0.01D) { + d1 = (Math.random() - Math.random()) * 0.01D; + } + + living.attackedAtYaw = (float) (Math.atan2(d0, d1) * 180.0D / Math.PI) - living.rotationYaw; + living.knockBack(entity, amount, d1, d0); + } else { + living.attackedAtYaw = (float) ((int) (Math.random() * 2.0D) * 180); + } + } + + String s; + + if(living.getHealth() <= 0.0F) { + s = getDeathSound(living); //# + + if(flag && s != null) { + living.playSound(s, getSoundVolume(living), getSoundPitch(living)); //# + } + + living.onDeath(source); + } else { + s = getHurtSound(living); //# + + if(flag && s != null) { + living.playSound(s, getSoundVolume(living), getSoundPitch(living)); //# + } + } + + return true; + } + } + } + + // 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) { + if(!living.isEntityInvulnerable()) { + amount = ForgeHooks.onLivingHurt(living, source, amount); + if(amount <= 0) + return; + amount = applyArmorCalculations(living, source, amount); //# + amount = applyPotionDamageCalculations(living, source, amount); //# + float f1 = amount; + amount = Math.max(amount - living.getAbsorptionAmount(), 0.0F); + living.setAbsorptionAmount(living.getAbsorptionAmount() - (f1 - amount)); + + if(amount != 0.0F) { + float f2 = living.getHealth(); + living.setHealth(f2 - amount); + living.func_110142_aN().func_94547_a(source, f2, amount); + living.setAbsorptionAmount(living.getAbsorptionAmount() - amount); + } + } + } + + 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 + amount = armor / 25.0F; + } + + return amount; + } + + public static float applyPotionDamageCalculations(EntityLivingBase living, DamageSource source, float amount) { + if(source.isDamageAbsolute()) { + return amount; + } else { + + int resistance; + int j; + float f1; + + if(living.isPotionActive(Potion.resistance) && source != DamageSource.outOfWorld) { + resistance = (living.getActivePotionEffect(Potion.resistance).getAmplifier() + 1) * 5; + j = 25 - resistance; + f1 = amount * (float) j; + amount = f1 / 25.0F; + } + + if(amount <= 0.0F) { + return 0.0F; + } else { + + resistance = EnchantmentHelper.getEnchantmentModifierDamage(living.getLastActiveItems(), source); + + if(resistance > 20) { + resistance = 20; + } + + if(resistance > 0 && resistance <= 20) { + j = 25 - resistance; + f1 = amount * (float) j; + amount = f1 / 25.0F; + } + + return amount; + } + } + } + + public static void setBeenAttacked(EntityLivingBase living) { + living.velocityChanged = living.getRNG().nextDouble() >= living.getEntityAttribute(SharedMonsterAttributes.knockbackResistance).getAttributeValue(); + } } diff --git a/src/main/resources/META-INF/HBM_at.cfg b/src/main/resources/META-INF/HBM_at.cfg index 7fa1a50fe..ba62b1a85 100644 --- a/src/main/resources/META-INF/HBM_at.cfg +++ b/src/main/resources/META-INF/HBM_at.cfg @@ -2,6 +2,10 @@ # Cracks open stupid as shit keywords that are being used wrong because Mojang shouldn't be entrusted with computers. # After changing anything here, run `./gradlew clean setupDecompWorkspace`, this should scrap all the cached nonsense and patch the src to reflect changes made. +# EntityLivingBase +public net.minecraft.entity.EntityLivingBase * # everything because fuck i'm not doing 500 of these by hand +# public net.minecraft.entity.EntityLivingBase *() # ditto + # EntityCreeper public net.minecraft.entity.monster.EntityCreeper field_82225_f # fuseTime public net.minecraft.entity.monster.EntityCreeper func_146077_cc()V # explode diff --git a/src/main/resources/assets/hbm/models/weapons/UAC pistol.obj b/src/main/resources/assets/hbm/models/weapons/UAC pistol.obj new file mode 100644 index 000000000..b0fc57167 --- /dev/null +++ b/src/main/resources/assets/hbm/models/weapons/UAC pistol.obj @@ -0,0 +1,16884 @@ +# Blender v2.82 (sub 7) OBJ File: 'UAC pistol.blend' +# www.blender.org +mtllib UAC pistol.mtl +o lower_pistol_0 +v 1.709833 6.807340 5.318413 +v 1.709833 6.807340 5.149458 +v 1.965886 6.807340 5.149458 +v 1.363295 6.807340 7.165412 +v 1.363295 6.807340 5.318413 +v 1.882584 6.807340 5.848534 +v 2.253843 6.902664 -4.747440 +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.747440 +v 2.253843 7.162437 -4.697546 +v 1.924818 6.930664 -2.831019 +v 1.592578 6.930664 -2.831019 +v 1.592578 7.603653 -2.269642 +v 1.592578 6.534985 -3.056432 +v 1.592578 6.902664 -4.747440 +v 1.924818 6.125614 -1.931486 +v 1.592578 6.902664 -4.747440 +v 1.592578 7.162437 -4.697546 +v 2.253843 7.162437 -4.697546 +v 2.253843 7.603653 -2.269642 +v 2.253843 7.371370 -2.466391 +v 1.924818 7.371370 -2.466391 +v 2.253843 7.371370 -2.466391 +v 2.253843 7.603653 -2.269642 +v 2.253843 6.966193 -1.398447 +v 2.253843 7.603653 -2.269642 +v 1.592578 7.603653 -2.269642 +v 1.592578 6.966193 -1.398447 +v 1.592578 7.162437 -4.697546 +v 1.592578 6.902664 -4.747440 +v 1.592578 6.534985 -3.056432 +v 2.253843 6.930664 -2.831019 +v 2.253843 7.162437 -4.697546 +v 1.592578 7.162437 -4.697546 +v 1.924818 7.371370 -2.466391 +v 1.924818 6.726052 -1.549974 +v 1.924818 6.125614 -1.931486 +v 2.253843 6.966193 -1.398447 +v 1.592578 6.966193 -1.398447 +v 1.924818 6.726052 -1.549974 +v 1.709833 7.483092 5.149458 +v 1.709833 6.807340 5.149458 +v 1.709833 7.118922 5.318413 +v 1.363295 7.118922 5.318413 +v 1.363295 6.807340 7.165412 +v 1.363295 7.118922 10.804636 +v 1.363295 6.201984 10.638463 +v 1.363295 6.617640 11.001136 +v 1.363295 7.118922 10.804636 +v 1.882584 7.118922 7.165412 +v 1.363295 7.118922 5.318413 +v 2.249606 7.118922 10.804636 +v 2.249606 7.118922 7.165412 +v 1.709833 7.483091 5.848534 +v 1.709833 7.483091 5.848534 +v 1.882584 7.118922 5.848534 +v 1.965886 7.483091 5.848534 +v 2.249606 7.118922 10.804636 +v 2.249606 6.617640 11.001136 +v 2.249606 6.201984 10.638463 +v 2.249606 7.118922 7.165412 +v 1.363295 6.915576 11.004508 +v 1.363295 6.411723 10.933466 +v 1.709833 7.118922 5.848534 +v 1.709833 7.118922 5.848534 +v 1.882584 6.807340 5.848534 +v 1.965886 6.807340 5.848534 +v 2.249606 6.411723 10.933466 +v 2.249606 6.807340 7.165412 +v 2.249606 6.807340 7.165412 +v 2.249606 6.201984 10.638463 +v 1.363295 6.201984 10.638463 +v 1.363295 6.915576 11.004508 +v 2.249606 6.915576 11.004508 +v 1.363295 6.617640 11.001136 +v 2.249606 6.617640 11.001136 +v 1.363295 6.411723 10.933466 +v 2.249606 6.411723 10.933466 +v 1.882584 6.807340 7.165412 +v 1.709833 7.118922 5.318413 +v 1.363295 6.807340 5.318413 +v 1.363295 7.118922 5.318413 +v 1.709833 7.118922 5.318413 +v 1.709833 6.807340 5.149458 +v 1.709833 7.483092 5.149458 +v 1.965886 7.483092 5.149458 +v 1.965886 7.483092 5.149458 +v 1.709833 7.483092 5.149458 +v 1.709833 7.483091 5.848534 +v 1.965886 6.807340 5.149458 +v 1.965886 7.483092 5.149458 +v 1.965886 7.483091 5.848534 +v 1.882584 6.807340 5.848534 +v 1.882584 7.118922 5.848534 +v 1.882584 7.118922 7.165412 +v 1.882584 6.807340 7.165412 +v 1.882584 7.118922 7.165412 +v 2.249606 7.118922 7.165412 +v 1.363295 6.807340 5.318413 +v 1.882584 7.118922 5.848534 +v 1.709833 6.807340 5.318413 +v 1.709833 7.118922 5.848534 +v 2.249606 6.915576 11.004508 +v 0.741864 8.870750 5.649786 +v 0.685393 8.586851 5.649786 +v 0.685393 8.586850 22.443676 +v -1.051055 4.245723 5.289183 +v -1.051055 4.815592 5.698347 +v -1.582758 4.978194 4.997455 +v -1.051055 0.126897 9.525374 +v -1.051055 0.126897 6.278877 +v -1.051055 -0.223472 3.408138 +v -1.051055 5.194826 19.361946 +v -1.051055 4.834129 12.349441 +v -1.051055 4.834129 19.361946 +v -1.582758 5.194827 5.282278 +v -1.373788 7.218983 19.361946 +v -1.373788 6.342138 19.361946 +v -0.857694 7.218983 19.361946 +v -1.051055 5.194826 19.361946 +v -0.857694 5.453606 19.361946 +v -1.373788 5.534110 19.361946 +v 0.741864 8.870749 22.443676 +v 0.685393 8.586850 22.443676 +v 0.912610 8.492734 22.443676 +v 0.987802 8.870749 22.443676 +v 0.912610 8.492734 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.346172 22.443676 +v 0.524577 8.346172 22.443676 +v 0.698482 8.172268 22.443676 +v 0.698482 8.172268 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.185356 22.443676 +v 0.283899 8.185356 22.443676 +v 0.378015 7.958139 22.443676 +v 0.378015 7.958139 22.443676 +v 0.378015 7.958139 5.649786 +v 0.378015 7.958139 5.649786 +v 0.283899 8.185357 5.649786 +v 0.000000 8.128886 5.649786 +v 0.000000 8.128885 22.443676 +v 0.000000 8.128885 22.443676 +v 0.000000 7.882947 22.443676 +v 0.000000 7.882947 22.443676 +v 0.000000 7.882947 5.649786 +v 0.000000 7.882947 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.185356 22.443676 +v -0.283899 8.185356 22.443676 +v -0.378015 7.958139 22.443676 +v 0.000000 7.882947 22.443676 +v -0.378015 7.958139 22.443676 +v -0.378015 7.958139 5.649786 +v -0.378015 7.958139 5.649786 +v -0.283899 8.185357 5.649786 +v -0.524577 8.346173 5.649786 +v -0.524577 8.346172 22.443676 +v -0.524577 8.346172 22.443676 +v -0.698482 8.172268 22.443676 +v -0.698482 8.172268 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.586850 22.443676 +v -0.685393 8.586850 22.443676 +v -0.912610 8.492734 22.443676 +v -0.912610 8.492734 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.870749 22.443676 +v -0.741864 8.870749 22.443676 +v -0.987802 8.870749 22.443676 +v -0.987802 8.870749 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.154649 22.443676 +v -0.685393 9.154649 22.443676 +v -0.912610 9.248765 22.443676 +v -0.912610 9.248765 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.395327 22.443676 +v -0.524577 9.395327 22.443676 +v -0.698482 9.569231 22.443676 +v -0.698482 9.569231 22.443676 +v -0.698482 9.569232 5.649786 +v -0.698482 9.569232 5.649786 +v -0.524577 9.395328 5.649786 +v -0.283899 9.556144 5.649786 +v -0.283899 9.556143 22.443676 +v -0.283899 9.556143 22.443676 +v -0.378015 9.783359 22.443676 +v -0.378015 9.783359 22.443676 +v -0.378015 9.783360 5.649786 +v -0.378015 9.783360 5.649786 +v -0.283899 9.556144 5.649786 +v 0.000000 9.612615 5.649786 +v 0.000000 9.612614 22.443676 +v 0.000000 9.612614 22.443676 +v 0.000000 9.858551 22.443676 +v 0.000000 9.858551 22.443676 +v 0.000000 9.858552 5.649786 +v 0.000000 9.858552 5.649786 +v 0.000000 9.612615 5.649786 +v 0.283899 9.556144 5.649786 +v 0.283899 9.556143 22.443676 +v 0.283899 9.556143 22.443676 +v 0.378015 9.783359 22.443676 +v 0.378015 9.783359 22.443676 +v 0.378015 9.783360 5.649786 +v 0.378015 9.783360 5.649786 +v 0.283899 9.556144 5.649786 +v 0.524577 9.395328 5.649786 +v 0.524577 9.395327 22.443676 +v 0.524577 9.395327 22.443676 +v 0.698482 9.569231 22.443676 +v 0.698482 9.569231 22.443676 +v 0.698482 9.569232 5.649786 +v 0.698482 9.569232 5.649786 +v 0.524577 9.395328 5.649786 +v 0.685393 9.154650 5.649786 +v 0.685393 9.154649 22.443676 +v 0.685393 9.154649 22.443676 +v 0.912610 9.248765 22.443676 +v 0.912610 9.248765 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.870749 22.443676 +v 0.987802 8.870749 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.940654 +v -1.550631 -8.207280 -0.940181 +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.372818 +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.875544 -4.913877 +v -1.803499 -6.096515 -4.976788 +v -2.130997 -6.177512 -4.485743 +v -1.550631 -5.813593 -4.933243 +v -1.550631 -6.027862 -4.968081 +v -1.839455 4.411472 -0.653382 +v -2.137789 6.702975 -0.434405 +v -1.803504 7.006510 -0.872316 +v -1.803507 7.133335 -0.533682 +v -1.550631 7.026423 -0.881127 +v -1.803483 6.443164 -1.419198 +v -2.176839 -6.680809 -4.296602 +v -2.176541 -6.266698 -4.325728 +v -2.177566 -6.820210 -4.161257 +v -2.121354 -6.703000 -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.317321 +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.480976 +v -2.176766 -7.604493 -1.548246 +v -2.174624 4.663060 0.053574 +v -2.163947 6.294227 -0.887580 +v -2.176857 6.557230 -0.328893 +v -1.803505 6.986403 4.265715 +v -2.129669 6.678270 3.948849 +v -1.550631 7.011675 4.277202 +v -1.803498 6.146345 4.785963 +v -1.550631 5.888644 4.797829 +v -1.550631 6.141139 4.807182 +v -1.803494 -8.338592 -1.148253 +v -2.121051 -7.647707 -1.285315 +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.866222 +v -1.702916 6.582519 -1.866222 +v 1.979996 6.582519 -1.866222 +v 1.979996 6.582519 -1.866222 +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.275468 +v -1.702916 6.582519 -2.275468 +v 1.979996 6.582519 -2.275468 +v -1.425465 5.714319 12.324278 +v -1.425465 5.534111 12.470450 +v -1.425465 6.342138 12.470450 +v 1.979996 6.582519 -2.275468 +v -1.702916 6.727209 -2.215535 +v -1.373788 5.534110 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.714319 12.324278 +v -1.425465 6.129148 12.324278 +v -1.582758 6.173631 12.234967 +v -1.425465 5.534111 12.470450 +v -1.582758 5.657322 12.234967 +v 1.979996 6.787141 -2.070845 +v 0.000000 6.215098 -5.421183 +v -1.582758 6.749187 -4.912820 +v 1.582758 6.749187 -4.912820 +v 1.488590 5.921739 -5.685919 +v 0.000000 6.031166 -5.736894 +v -1.582758 5.957942 -5.266877 +v -1.582758 5.870734 -4.399593 +v -1.582758 6.749187 -4.912820 +v 1.582758 5.957942 -5.266877 +v 1.582758 6.154639 -5.365935 +v 1.582758 6.749187 -4.912820 +v 1.582758 5.848901 -5.238700 +v 1.582758 5.870734 -4.399593 +v 0.983988 5.324528 -5.327059 +v -1.425465 6.342138 12.470450 +v -1.582758 6.342138 12.374792 +v -1.582758 5.848901 -5.238700 +v -1.484238 5.789522 -5.649559 +v -0.983988 5.324528 -5.327059 +v 1.488590 5.921739 -5.685919 +v -1.425465 6.342138 12.470450 +v -1.373788 6.342138 19.361946 +v -1.582758 6.342138 18.331852 +v -1.051055 0.805342 10.660654 +v -1.051055 0.446518 11.231197 +v -1.051055 3.374604 10.660654 +v -1.051055 -0.223473 11.574593 +v -1.051055 0.200441 10.158533 +v -0.836559 7.218984 0.486124 +v -1.148529 7.218984 0.843372 +v -1.148529 -7.632973 -5.164885 +v -1.092400 5.576505 -6.393808 +v -1.582758 6.342138 18.331852 +v -1.582758 7.218983 18.331852 +v -1.582758 6.342138 12.374792 +v -1.051055 5.194827 6.202400 +v -1.051055 5.194826 19.361946 +v -1.582758 5.194826 18.331852 +v -1.373788 5.194826 19.361946 +v -0.580398 3.816195 5.489355 +v -0.580398 5.143752 5.307025 +v -0.580398 4.250057 5.891657 +v -1.148529 7.218984 4.965837 +v -1.148529 -8.749960 -1.489985 +v -0.580398 4.410827 6.286258 +v -0.580398 4.410827 8.504850 +v -1.051055 4.410827 9.595867 +v -1.582758 7.218984 -4.804955 +v -0.843982 7.218984 5.409399 +v -1.148529 7.218984 4.965837 +v -0.957142 7.218984 5.409399 +v -1.582758 7.218984 5.409399 +v -1.582758 7.218984 5.409399 +v -1.582758 7.218983 18.331852 +v -0.857694 7.218984 12.938878 +v -1.213076 8.145895 -1.953275 +v -0.692288 8.145895 -1.953275 +v -0.427195 9.430100 -1.953275 +v -0.708688 7.624437 -1.953275 +v -0.397424 7.218984 -1.953275 +v -1.213076 7.624437 -1.953275 +v -1.213076 7.218984 -1.953275 +v -1.213076 7.218984 -1.953275 +v -0.836559 7.218984 0.486124 +v -0.397424 7.218984 -1.953275 +v -0.843982 7.218984 5.409399 +v -0.957142 7.218984 5.409399 +v -0.957142 7.863287 5.710876 +v -1.488590 5.921739 -5.685919 +v -1.582758 6.154639 -5.365935 +v -1.582758 5.957942 -5.266877 +v -1.488590 5.921739 -5.685919 +v 1.582758 5.957942 -5.266877 +v 1.484238 5.789522 -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.020580 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.532610 +v -0.443586 5.533404 -6.767138 +v -0.528251 5.631947 -6.753191 +v 0.000000 5.631947 -6.801856 +v 1.239158 -6.459403 -6.210183 +v 1.239158 -6.716357 -6.316617 +v 1.239158 -5.908380 -6.182570 +v -1.239158 -6.459403 -6.210183 +v -1.239158 -6.352968 -5.953228 +v -1.239158 -5.908380 -6.182570 +v 1.239158 -7.503078 -5.592237 +v 1.239158 -6.973311 -5.696272 +v 1.239158 -6.751891 -5.355608 +v 1.239158 -7.188473 -6.627295 +v 1.239158 -7.079745 -5.953228 +v 1.239158 -6.352968 -5.953228 +v 1.239158 -6.111136 -5.821549 +v 1.239158 -6.459403 -5.696272 +v 1.239158 -6.353005 -5.417203 +v 1.239158 -6.716357 -5.589839 +v -1.239158 -7.503078 -5.592237 +v -1.239158 -7.079745 -5.953228 +v -1.239158 -7.188473 -6.627295 +v -1.239158 -6.716357 -5.589839 +v -1.239158 -6.973311 -5.696272 +v -1.239158 -6.751891 -5.355608 +v -1.239158 -6.459403 -5.696272 +v -1.239158 -6.353005 -5.417203 +v -1.239158 -6.111136 -5.821549 +v -1.239158 -6.716357 -6.316617 +v 1.239158 -6.973311 -6.210183 +v -1.239158 -6.973311 -6.210183 +v -1.148529 7.218984 0.843372 +v -1.582758 -8.611731 0.338328 +v -1.582758 -7.606416 0.140500 +v -1.539709 -9.237019 0.112444 +v -1.582758 -6.783546 -5.235445 +v -1.582758 -7.547009 -5.447708 +v -1.582758 -6.272798 -5.294007 +v -1.582758 -6.767919 0.122678 +v -1.582758 -5.973763 -5.781600 +v -1.582758 -3.887019 -5.026797 +v 0.000000 5.385466 -6.635780 +v 0.000000 5.533404 -6.815803 +v -0.957142 7.218984 7.609767 +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.953275 +v -1.213076 9.430100 -4.335177 +v -1.213076 8.145895 -4.804955 +v -1.582758 5.060399 -2.393605 +v -1.582758 5.705916 -3.303000 +v -0.974568 4.768444 -3.230170 +v -1.113677 5.685023 -6.433601 +v -1.488590 5.921739 -5.685919 +v -1.582758 5.705916 -3.303000 +v -1.582758 7.218984 -4.804955 +v -1.213076 7.218984 -4.804955 +v -0.703050 7.624437 -4.804955 +v -0.702042 8.145895 -4.804955 +v -0.419459 8.845671 -4.804955 +v -1.239158 -7.188473 -6.627295 +v -1.239158 -5.908380 -6.182570 +v -0.974568 -7.096977 -6.928316 +v -1.239158 -5.908380 -6.182570 +v -1.239158 -6.111136 -5.821549 +v -1.582758 -5.973763 -5.781600 +v -1.582758 -7.547009 -5.447708 +v -1.582758 -6.783546 -5.235445 +v -1.239158 -6.751891 -5.355608 +v -1.582758 -6.272798 -5.294007 +v 2.119590 3.136953 3.088691 +v 2.108078 6.117068 4.317321 +v 1.803502 5.931036 4.779144 +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.940654 +v 2.068853 1.609260 2.541311 +v 2.137654 1.534970 2.385706 +v 1.803499 -6.096515 -4.976788 +v 2.130997 -6.177512 -4.485743 +v 2.121354 -6.703000 -4.498363 +v 1.550631 -7.022314 -4.915743 +v 1.550631 -6.027862 -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.533682 +v 1.803500 7.103070 4.086896 +v 2.129669 6.678270 3.948849 +v 1.550631 4.920799 -0.676702 +v 1.550631 5.750243 -1.260870 +v 1.550631 6.117420 -1.448276 +v 1.550631 6.431123 -1.427430 +v 1.803483 6.443164 -1.419198 +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.480976 +v 2.176766 -7.604493 -1.548246 +v 2.121051 -7.647707 -1.285315 +v 1.803505 -7.014567 -4.882655 +v 2.137789 6.702975 -0.434405 +v 1.550631 4.418573 -0.651555 +v 1.550631 5.888644 4.797829 +v 1.550631 -8.207280 -0.940181 +v 2.163024 4.259209 -0.066218 +v 2.172835 -7.439816 -1.372818 +v 1.803508 -5.875544 -4.913877 +v 1.803504 7.006510 -0.872316 +v 1.550631 7.026423 -0.881127 +v 2.176857 6.557230 -0.328893 +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.400963 -6.289593 +v -1.373788 7.218983 19.361946 +v -0.857694 7.218983 19.361946 +v 1.092400 5.576505 -6.393808 +v 0.443586 5.533404 -6.767138 +v 0.823032 5.400963 -6.289593 +v 0.403942 7.218984 -4.804955 +v 1.213076 7.218984 -4.804955 +v 0.974568 5.132455 -4.066989 +v 1.213076 8.145895 -4.804955 +v 1.213076 8.845671 -4.804955 +v 1.213076 9.430100 -4.335177 +v 0.703050 7.624437 -4.804955 +v 0.708688 7.624437 -1.953275 +v 1.213076 7.624437 -1.953275 +v 1.213076 7.624437 -1.953275 +v 1.213076 7.218984 -1.953275 +v 1.213076 7.218984 -4.804955 +v 0.703050 7.624437 -4.804955 +v 0.702042 8.145895 -4.804955 +v 0.692288 8.145895 -1.953275 +v 0.692288 8.145895 -1.953275 +v 0.702042 8.145895 -4.804955 +v 1.213076 8.145895 -4.804955 +v 1.213076 9.430100 -4.335177 +v 0.450662 9.430100 -4.335177 +v 0.427195 9.430100 -1.953275 +v 1.582758 7.218984 -4.804955 +v 0.528251 5.631947 -6.753191 +v 0.000000 5.631947 -6.801856 +v 1.113677 5.685023 -6.433601 +v 1.582758 6.154639 -5.365935 +v -0.403942 7.218984 -4.804955 +v 1.213076 7.218984 -1.953275 +v 1.582758 7.218984 -4.804955 +v 1.213076 7.218984 -4.804955 +v 0.703050 7.624437 -4.804955 +v 0.419459 8.845671 -4.804955 +v 1.213076 7.624437 -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.335177 +v 1.213076 9.430100 -4.335177 +v 0.836559 7.218984 0.486124 +v 0.397424 7.218984 -1.953275 +v -1.582758 6.154639 -5.365935 +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.705916 -3.303000 +v 1.582758 7.218984 0.532610 +v 1.582758 4.978194 4.997455 +v 1.582758 7.218984 5.409399 +v 1.582758 6.173631 12.234967 +v 1.582758 5.194827 5.282278 +v 1.582758 5.194826 18.331852 +v 1.582758 5.534111 12.374792 +v 1.582758 4.316335 -1.880566 +v 1.582758 7.218984 -4.804955 +v 1.582758 6.342138 12.374792 +v 1.582758 5.657322 12.234967 +v 1.582758 7.218983 18.331852 +v 1.582758 7.218984 5.409399 +v 0.857694 7.218984 12.938878 +v 1.148529 7.218984 4.965837 +v 0.957142 7.218984 5.409399 +v 0.857694 7.218983 19.361946 +v 1.373788 7.218983 19.361946 +v 0.957142 7.218984 7.609767 +v 1.148529 7.218984 0.843372 +v 0.957142 7.218984 6.277361 +v 0.857694 5.453764 12.938878 +v 0.580191 5.127947 12.938878 +v 0.580398 5.127511 19.361946 +v 0.857694 7.218984 12.938878 +v 0.857694 5.453606 19.361946 +v -1.803494 -8.338592 -1.148253 +v -1.803496 -7.249153 -4.729249 +v -1.550631 -7.254866 -4.756800 +v -1.550631 -8.362582 -1.129572 +v -1.803505 -7.014567 -4.882655 +v -1.803500 7.103070 4.086896 +v -1.550631 7.159328 -0.581056 +v -1.839455 4.411472 -0.653382 +v -1.550631 4.418573 -0.651555 +v -1.803502 5.931036 4.779144 +v -2.138861 4.925927 -0.212349 +v -1.550631 -7.022314 -4.915743 +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.448276 +v -1.550631 6.431123 -1.427430 +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.933243 +v 2.176839 -6.680809 -4.296602 +v 2.177566 -6.820210 -4.161257 +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.325728 +v 1.803505 6.986403 4.265715 +v 1.803498 6.146345 4.785963 +v 1.550631 7.011675 4.277202 +v 1.550631 6.141139 4.807182 +v 1.803494 -8.338592 -1.148253 +v 1.550631 -8.362582 -1.129572 +v 1.803494 -8.338592 -1.148253 +v 1.803496 -7.249153 -4.729249 +v 1.550631 -7.254866 -4.756800 +v 1.550631 7.159328 -0.581056 +v 1.550631 7.128137 4.054968 +v -1.239158 -6.353005 -5.417203 +v -1.113677 5.685023 -6.433601 +v -1.582758 6.173631 12.234967 +v -1.582758 5.657322 12.234967 +v -0.974568 4.193733 -2.693952 +v -1.582758 4.316335 -1.880566 +v -1.582758 5.870734 -4.399593 +v -0.974568 5.132455 -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.532901 -5.626941 +v -1.582758 -3.887019 -5.026797 +v -1.582758 -5.973763 -5.781600 +v -0.427195 9.430100 -1.953275 +v -0.397424 7.218984 -1.953275 +v -0.450662 9.430100 -4.335177 +v -0.580398 4.410827 6.286258 +v -0.580398 5.143752 8.504850 +v 0.403942 7.218984 -4.804955 +v -0.580398 3.410160 5.307025 +v 0.397424 7.218984 -1.953275 +v 0.450662 9.430100 -4.335177 +v 0.419459 8.845671 -4.804955 +v -0.857694 5.453764 12.938878 +v -0.857694 5.453606 19.361946 +v -0.580398 5.127511 19.361946 +v -0.857694 7.218984 12.938878 +v -0.857694 7.218983 19.361946 +v -0.957142 7.863287 7.609767 +v -0.957142 7.218984 5.409399 +v -0.957142 7.218984 6.277361 +v -0.957142 7.863287 5.710876 +v -1.213076 8.845671 -4.804955 +v -0.703050 7.624437 -4.804955 +v -1.213076 7.624437 -4.804955 +v -1.213076 7.624437 -1.953275 +v -1.213076 7.624437 -1.953275 +v -1.213076 7.624437 -4.804955 +v -1.213076 7.218984 -4.804955 +v -1.148529 -8.749960 -1.489985 +v -0.843982 -8.845317 -1.176260 +v -1.539709 -9.237019 0.112444 +v -0.703050 7.624437 -4.804955 +v -0.708688 7.624437 -1.953275 +v -0.692288 8.145895 -1.953275 +v -0.580398 3.410160 5.307025 +v -0.580398 3.816195 5.489355 +v -1.051055 3.816076 5.489355 +v -1.051055 4.250057 5.891657 +v -0.580398 4.250057 5.891657 +v -1.051055 4.410827 6.286258 +v -0.692288 8.145895 -1.953275 +v -1.213076 8.145895 -1.953275 +v -1.213076 8.145895 -4.804955 +v -1.052369 3.020580 5.130578 +v -1.582758 5.534110 18.331852 +v -1.582758 5.534111 12.374792 +v -1.582758 5.194826 18.331852 +v -1.051055 3.986079 11.231197 +v -1.213076 9.430100 -4.335177 +v -1.213076 9.430100 -1.953275 +v -0.427195 9.430100 -1.953275 +v -1.051055 4.197896 10.160744 +v -1.051055 4.410827 9.595867 +v -1.051055 5.194827 6.202400 +v -1.051055 4.410827 6.286258 +v -1.051055 4.815592 5.698347 +v -1.051055 4.250057 5.891657 +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.491167 10.501270 +v -1.051055 3.846210 10.532600 +v -1.051055 3.816076 5.489355 +v -1.051055 0.303245 5.858099 +v -1.051055 0.145062 11.660562 +v -0.403942 7.218984 -4.804955 +v -0.419459 8.845671 -4.804955 +v -0.580398 5.127511 19.361946 +v -1.213076 7.624437 -4.804955 +v -1.213076 8.845671 -4.804955 +v -1.213076 9.430100 -4.335177 +v -0.528251 5.631947 -6.753191 +v -1.051055 -7.663412 0.798394 +v -1.051055 -6.827383 0.859532 +v -1.051055 -9.408401 0.676293 +v -1.051055 -8.710466 0.929088 +v -0.832096 -2.281892 2.617995 +v -1.051055 -0.223472 3.408138 +v -1.051055 -6.827383 0.859532 +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.834129 19.361946 +v -1.582758 5.534111 12.374792 +v -1.582758 5.534110 18.331852 +v -1.373788 5.534110 19.361946 +v -1.373788 7.218983 19.361946 +v -1.373788 5.194826 19.361946 +v -0.372438 10.036927 5.890271 +v -0.372438 10.296735 5.890271 +v 0.372438 10.036927 5.890271 +v -0.570611 9.870735 5.890271 +v 0.570611 9.870735 5.890271 +v 0.667251 10.036927 5.890271 +v -0.667251 10.036927 5.890271 +v -0.372438 10.036927 5.890271 +v -0.667251 10.036927 5.890271 +v -0.666265 10.036926 11.908644 +v -1.159394 7.167400 5.890271 +v -1.159394 7.167400 11.908644 +v -1.159394 9.473120 11.908644 +v -1.018901 7.167400 11.908644 +v -1.018901 9.373808 11.908644 +v -1.159394 9.473120 11.908644 +v -1.018901 7.167400 5.890271 +v -1.159394 7.167400 5.890271 +v -1.159394 9.473121 5.890271 +v -0.570611 9.870734 11.908644 +v -0.666265 10.036926 11.908644 +v 1.018901 9.373809 5.890271 +v 1.018901 7.167400 5.890271 +v 1.018901 7.167400 11.908644 +v 1.018901 9.373808 11.908644 +v 0.570611 9.870734 11.908644 +v -0.372438 10.036927 8.085609 +v 0.372438 10.036927 8.085609 +v 0.372438 10.296735 5.890271 +v 1.018901 7.167400 5.890271 +v 1.018901 9.373809 5.890271 +v 1.159394 9.473121 5.890271 +v 0.372438 10.036927 5.890271 +v 0.372438 10.296735 5.890271 +v 0.372438 10.036927 8.085609 +v 0.372438 10.036927 5.890271 +v 0.372438 10.036927 8.085609 +v 0.666265 10.036926 11.908644 +v 1.159394 7.167400 5.890271 +v 1.159394 9.473121 5.890271 +v 1.159394 9.473120 11.908644 +v 1.018901 7.167400 11.908644 +v 1.159394 7.167400 11.908644 +v 1.159394 9.473120 11.908644 +v 0.570611 9.870734 11.908644 +v 1.018901 9.373808 11.908644 +v 0.667251 10.036927 5.890271 +v -1.018901 9.373809 5.890271 +v -1.018901 9.373808 11.908644 +v -1.018901 7.167400 11.908644 +v -0.372438 10.036927 8.085609 +v -0.372438 10.296735 5.890271 +v -0.372438 10.036927 5.890271 +v -0.372438 10.036927 8.085609 +v -0.570611 9.870735 5.890271 +v -0.570611 9.870734 11.908644 +v 0.570611 9.870735 5.890271 +v 0.372438 10.296735 5.890271 +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.398447 +v 1.924818 6.125614 -1.931486 +v 1.592578 6.125614 -1.931486 +v 1.592578 7.603653 -2.269642 +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.466391 +v 2.253843 7.371370 -2.466391 +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.352968 -5.953228 +v -1.239158 -6.352968 -5.953228 +v -1.239158 -6.459403 -6.210183 +v -1.239158 -6.973311 -6.210183 +v 1.239158 -6.973311 -6.210183 +v 1.239158 -6.716357 -6.316617 +v -1.239158 -7.079745 -5.953228 +v -1.239158 -6.716357 -5.589839 +v 1.239158 -6.716357 -5.589839 +v 1.239158 -6.973311 -5.696272 +v -0.836559 -7.541790 -5.464878 +v -1.148529 -7.632973 -5.164885 +v -1.239158 -7.503078 -5.592237 +v -0.843982 -8.845317 -1.176260 +v -1.582758 -7.547009 -5.447708 +v -0.974568 -7.096977 -6.928316 +v -1.239158 -7.188473 -6.627295 +v -0.857694 5.453764 12.938878 +v 0.857694 5.453764 12.938878 +v 0.857694 7.218984 12.938878 +v -0.580191 5.127947 12.938878 +v 0.580191 5.127947 12.938878 +v 0.427195 9.430100 -1.953275 +v -1.051055 -9.408401 0.676293 +v -0.580191 5.127947 12.938878 +v 0.403942 7.218984 -4.804955 +v 1.239158 -6.459403 -6.210183 +v -1.239158 -6.459403 -5.696272 +v 1.239158 -6.459403 -5.696272 +v 1.239158 -7.079745 -5.953228 +v 1.239158 -6.352968 -5.953228 +v 0.957142 7.218984 5.409399 +v 0.843982 7.218984 5.409399 +v 0.957142 7.863287 5.710876 +v 1.213076 7.624437 -1.953275 +v 0.708688 7.624437 -1.953275 +v 0.397424 7.218984 -1.953275 +v 0.692288 8.145895 -1.953275 +v 0.427195 9.430100 -1.953275 +v 1.213076 8.145895 -1.953275 +v 1.213076 9.430100 -1.953275 +v -0.957142 7.218984 6.277361 +v 1.582758 7.218983 18.331852 +v 0.843982 7.218984 5.409399 +v 1.582758 5.870734 -4.399593 +v 0.580398 4.410827 6.286258 +v 1.051055 4.410827 6.286258 +v 1.051055 4.410827 9.595867 +v -0.580398 4.410827 8.504850 +v -0.580398 5.143752 8.504850 +v 0.580398 5.143752 8.504850 +v 0.580398 5.143752 5.307025 +v 0.580398 3.816195 5.489355 +v 0.580398 4.250057 5.891657 +v 1.582758 5.194826 18.331852 +v 1.373788 5.194826 19.361946 +v 1.051055 5.194826 19.361946 +v 1.051055 5.194827 6.202400 +v 1.582758 5.194827 5.282278 +v 1.582758 6.342138 18.331852 +v 1.051055 4.834129 12.349441 +v -1.051055 4.834129 12.349441 +v -1.051055 3.986079 11.231197 +v -1.051055 4.197896 10.160744 +v 1.051055 -0.223473 11.574593 +v 1.051055 0.126897 9.525374 +v 1.051055 0.200441 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.446518 11.231197 +v 1.051055 0.805342 10.660654 +v 1.051055 3.374604 10.660654 +v 1.425465 6.342138 12.470450 +v 1.582758 6.342138 12.374792 +v 1.582758 6.342138 18.331852 +v 1.425465 6.129148 12.324278 +v 1.582758 6.173631 12.234967 +v 1.582758 6.342138 12.374792 +v 1.425465 5.534111 12.470450 +v 1.582758 5.534111 12.374792 +v 1.582758 5.657322 12.234967 +v 1.425465 5.714319 12.324278 +v 1.425465 6.342138 12.470450 +v 1.373788 6.342138 19.361946 +v 1.373788 5.534110 19.361946 +v 1.425465 5.714319 12.324278 +v 1.425465 6.129148 12.324278 +v 1.051055 5.194826 19.361946 +v 1.373788 5.194826 19.361946 +v 1.373788 5.534110 19.361946 +v 1.373788 6.342138 19.361946 +v 1.373788 7.218983 19.361946 +v 0.857694 7.218983 19.361946 +v -1.582758 0.676579 2.788985 +v -1.051770 0.676579 2.753111 +v 1.051055 5.194827 6.202400 +v 1.051055 4.815592 5.698347 +v 1.051055 4.834129 12.349441 +v 1.051055 5.194826 19.361946 +v 1.051055 4.834129 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.534110 18.331852 +v 1.373788 5.534110 19.361946 +v 1.373788 5.194826 19.361946 +v 1.373788 7.218983 19.361946 +v 1.373788 6.342138 19.361946 +v 1.373788 5.534110 19.361946 +v 1.051055 4.834129 19.361946 +v 0.857694 5.453606 19.361946 +v 0.580398 5.127511 19.361946 +v -1.051055 0.145062 11.660562 +v -1.051055 -0.223473 11.574593 +v 1.051055 -0.223473 11.574593 +v 1.494327 1.329366 3.504859 +v 1.051055 -0.223473 11.574593 +v -1.051055 -0.223473 11.574593 +v -1.051055 -0.223472 3.408138 +v -1.051055 0.446518 11.231197 +v -1.051055 0.145062 11.660562 +v 1.051055 0.145062 11.660562 +v 1.051055 0.446518 11.231197 +v -1.051055 4.834129 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.859532 +v 1.582758 -6.767919 0.122678 +v 1.582758 -7.606416 0.140500 +v 1.051055 -7.663412 0.798394 +v 1.051055 -8.710466 0.929088 +v 0.832096 -2.281892 2.617995 +v 0.832096 -3.798709 2.025143 +v 1.051055 -6.827383 0.859532 +v 1.051055 -9.408401 0.676293 +v 1.539709 -9.237019 0.112444 +v 1.582758 -8.611731 0.338328 +v 1.051055 -7.663412 0.798394 +v -1.051055 -7.663412 0.798394 +v -1.051055 -8.710466 0.929088 +v -0.832096 -3.798709 2.025143 +v -1.051055 -9.408401 0.676293 +v 1.051055 -9.408401 0.676293 +v 1.051055 -8.710466 0.929088 +v -0.403942 7.218984 -4.804955 +v 1.051055 0.491167 10.501270 +v 1.051055 0.145062 11.660562 +v 1.051055 4.245723 5.289183 +v 1.052369 3.020580 5.130578 +v 1.052369 2.312512 5.048415 +v 1.051055 3.816076 5.489355 +v 1.051055 4.250057 5.891657 +v 1.051055 4.410827 6.286258 +v 1.051055 4.815592 5.698347 +v 1.051055 5.194827 6.202400 +v 1.051055 4.410827 9.595867 +v 1.051055 4.197896 10.160744 +v 1.051055 3.986079 11.231197 +v 1.051055 3.846210 10.532600 +v 1.050937 1.329366 3.504859 +v -1.052369 3.020580 5.130578 +v -1.052369 2.312512 5.048415 +v 1.052369 2.312512 5.048415 +v 1.052369 3.020580 5.130578 +v 1.051055 3.816076 5.489355 +v 0.580398 3.410160 5.307025 +v 0.580398 4.250057 5.891657 +v 1.051055 4.250057 5.891657 +v 0.580398 3.816195 5.489355 +v -1.051055 0.126897 9.525374 +v -1.051055 0.200441 10.158533 +v 1.051055 0.200441 10.158533 +v -1.051055 0.491167 10.501270 +v 1.051055 0.491167 10.501270 +v -1.051055 0.126897 6.278877 +v 1.051055 0.126897 9.525374 +v -1.051055 0.805342 10.660654 +v 1.051055 0.805342 10.660654 +v -1.051055 0.303245 5.858099 +v 1.051055 0.126897 6.278877 +v -1.051055 3.374604 10.660654 +v 1.051055 3.374604 10.660654 +v -1.051055 0.730363 5.438924 +v 1.051055 0.303245 5.858099 +v -1.051055 3.846210 10.532600 +v 1.051055 3.846210 10.532600 +v -1.052369 1.419883 5.161799 +v 1.051055 0.730363 5.438924 +v 1.051055 4.197896 10.160744 +v 1.052369 1.419883 5.161799 +v 0.580398 5.143752 5.307025 +v -0.580398 5.143752 5.307025 +v -0.580398 3.410160 5.307025 +v 0.580398 3.410160 5.307025 +v 0.580398 4.410827 6.286258 +v 0.580398 5.143752 8.504850 +v -0.580398 5.143752 8.504850 +v -0.580398 5.143752 5.307025 +v 0.580398 4.410827 8.504850 +v 0.580398 5.143752 8.504850 +v 0.580398 4.410827 8.504850 +v 1.582758 -3.887019 -5.026797 +v 1.582758 -5.973763 -5.781600 +v 1.239158 -5.908380 -6.182570 +v 0.974568 -7.096977 -6.928316 +v 0.974568 -3.532901 -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.705916 -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.685023 -6.433601 +v 1.488590 5.921739 -5.685919 +v 0.528251 5.631947 -6.753191 +v 1.239158 -6.353005 -5.417203 +v 1.582758 -6.272798 -5.294007 +v 1.582758 -6.783546 -5.235445 +v 1.239158 -6.111136 -5.821549 +v 1.582758 -7.547009 -5.447708 +v 1.239158 -7.503078 -5.592237 +v 1.239158 -6.751891 -5.355608 +v 1.239158 -5.908380 -6.182570 +v 1.582758 -5.973763 -5.781600 +v 1.239158 -7.188473 -6.627295 +v 1.213076 9.430100 -1.953275 +v 1.213076 8.145895 -1.953275 +v 1.582758 -2.770208 -4.057409 +v 1.582758 -3.887019 -5.026797 +v 1.582758 -6.272798 -5.294007 +v 1.582758 -5.973763 -5.781600 +v 1.582758 -6.783546 -5.235445 +v 1.582758 -7.547009 -5.447708 +v 1.582758 -7.547009 -5.447708 +v 1.148529 -7.632973 -5.164885 +v 1.239158 -7.503078 -5.592237 +v 0.836559 -7.541790 -5.464878 +v 0.974568 -7.096977 -6.928316 +v 1.239158 -7.188473 -6.627295 +v 1.539709 -9.237019 0.112444 +v 1.051055 -9.408401 0.676293 +v 0.843982 -8.845317 -1.176260 +v 0.843982 -8.845317 -1.176260 +v 0.843982 7.218984 5.409399 +v 1.148529 7.218984 4.965837 +v 1.148529 7.218984 0.843372 +v 1.148529 -7.632973 -5.164885 +v 0.836559 7.218984 0.486124 +v 0.836559 -7.541790 -5.464878 +v 1.148529 -7.632973 -5.164885 +v -0.836559 -7.541790 -5.464878 +v -0.843982 7.218984 5.409399 +v 1.148529 -8.749960 -1.489985 +v 0.957142 7.863287 7.609767 +v -0.957142 7.863287 7.609767 +v -0.957142 7.218984 7.609767 +v 0.957142 7.218984 5.409399 +v 0.957142 7.863287 5.710876 +v 0.957142 7.863287 7.609767 +v -0.957142 7.863287 7.609767 +v 0.957142 7.863287 7.609767 +v 0.957142 7.863287 5.710876 +v 0.957142 7.218984 7.609767 +v 0.957142 7.218984 6.277361 +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.747440 +v 2.253843 6.726052 -1.549974 +v 2.253843 6.966193 -1.398447 +v 1.709833 6.807340 5.318413 +v 1.965886 6.807340 5.149458 +v 1.965886 7.483091 5.848534 +v 1.965886 6.807340 5.848534 +v 1.882584 6.807340 7.165412 +v 2.249606 6.807340 7.165412 +v -1.051055 5.194827 6.202400 +v -1.373788 5.194826 19.361946 +v 0.000000 8.128885 22.443676 +v 0.000000 7.882947 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.129148 12.324278 +v -1.373788 6.342138 19.361946 +v -1.582758 6.342138 12.374792 +v -1.582758 5.194827 5.282278 +v -1.213076 9.430100 -1.953275 +v -1.051770 0.545047 3.730687 +v -1.213076 8.145895 -1.953275 +v -1.239158 -7.503078 -5.592237 +v 1.213076 7.624437 -4.804955 +v 1.213076 7.624437 -4.804955 +v 0.708688 7.624437 -1.953275 +v 1.213076 8.145895 -1.953275 +v 1.213076 9.430100 -1.953275 +v 0.857694 7.218983 19.361946 +v -1.550631 -8.362582 -1.129572 +v -1.550631 7.128137 4.054968 +v 1.550631 -8.362582 -1.129572 +v -0.580398 4.410827 8.504850 +v -0.957142 7.218984 7.609767 +v -0.708688 7.624437 -1.953275 +v -1.213076 7.218984 -1.953275 +v -0.702042 8.145895 -4.804955 +v -0.702042 8.145895 -4.804955 +v -0.450662 9.430100 -4.335177 +v -1.213076 8.145895 -4.804955 +v -0.450662 9.430100 -4.335177 +v -0.832096 -2.281892 2.617995 +v -1.373788 6.342138 19.361946 +v -1.373788 5.534110 19.361946 +v -1.159394 9.473121 5.890271 +v -1.159394 7.167400 11.908644 +v -1.018901 9.373809 5.890271 +v -0.372438 10.296735 5.890271 +v 1.159394 7.167400 5.890271 +v 1.159394 7.167400 11.908644 +v 0.666265 10.036926 11.908644 +v -1.018901 7.167400 5.890271 +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.716357 -6.316617 +v -1.239158 -6.973311 -5.696272 +v -0.857694 7.218984 12.938878 +v -1.239158 -6.352968 -5.953228 +v 1.213076 7.218984 -1.953275 +v 0.580398 4.410827 8.504850 +v 1.051055 3.986079 11.231197 +v -1.051770 0.676579 2.753111 +v 1.050937 0.062500 3.588312 +v 1.373788 6.342138 19.361946 +v 1.425465 6.342138 12.470450 +v 1.425465 5.534111 12.470450 +v 1.582758 5.534110 18.331852 +v 1.051055 0.145062 11.660562 +v 1.051055 -0.223472 3.408138 +v 1.051055 4.834129 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.020580 5.130578 +v 0.580398 3.410160 5.307025 +v 0.580398 5.143752 5.307025 +v 1.148529 -8.749960 -1.489985 +v 1.148529 7.218984 0.843372 +v 0.957142 7.218984 7.609767 +v -0.957142 7.863287 5.710876 +v 1.965886 6.807340 5.848534 +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.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.811898 0.857179 +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.827595 0.853744 +vt 0.827595 0.857179 +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.813272 0.853744 +vt 0.813272 0.857179 +vt 0.516880 0.839562 +vt 0.528775 0.851703 +vt 0.521438 0.859613 +vt 0.833202 0.853744 +vt 0.833203 0.857179 +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.359702 0.953407 +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.790690 0.954682 +vt 0.790662 0.965283 +vt 0.804820 0.954720 +vt 0.794573 0.954693 +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.536604 0.965056 +vt 0.542169 0.965022 +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.174541 0.955967 +vt 0.179705 0.950732 +vt 0.177491 0.953870 +vt 0.170851 0.956935 +vt 0.170974 0.956250 +vt 0.179415 0.946774 +vt 0.179011 0.950603 +vt 0.177257 0.943358 +vt 0.178740 0.946996 +vt 0.167318 0.955307 +vt 0.167756 0.954771 +vt 0.173333 0.941582 +vt 0.176717 0.943925 +vt 0.169069 0.942125 +vt 0.173219 0.942341 +vt 0.165031 0.952168 +vt 0.165672 0.951916 +vt 0.166033 0.944684 +vt 0.169417 0.942815 +vt 0.164562 0.948303 +vt 0.166596 0.945097 +vt 0.165246 0.948395 +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.467929 0.425487 +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.613102 0.701990 +vt 0.607249 0.704798 +vt 0.604947 0.699432 +vt 0.592611 0.724172 +vt 0.593958 0.711478 +vt 0.599324 0.712678 +vt 0.597415 0.704236 +vt 0.312958 0.141183 +vt 0.288488 0.144289 +vt 0.288507 0.148770 +vt 0.317240 0.144505 +vt 0.314711 0.143246 +vt 0.319804 0.145507 +vt 0.325454 0.142462 +vt 0.322554 0.143866 +vt 0.409234 0.135866 +vt 0.327219 0.140192 +vt 0.328247 0.138878 +vt 0.405721 0.101225 +vt 0.404279 0.105677 +vt 0.407977 0.107246 +vt 0.413761 0.103579 +vt 0.405876 0.098902 +vt 0.306707 0.110882 +vt 0.309657 0.110962 +vt 0.309891 0.106421 +vt 0.304331 0.110232 +vt 0.306789 0.105923 +vt 0.297301 0.104416 +vt 0.304667 0.104836 +vt 0.295338 0.103287 +vt 0.297557 0.100926 +vt 0.293302 0.103617 +vt 0.294488 0.100201 +vt 0.286363 0.106300 +vt 0.281002 0.141297 +vt 0.285169 0.140549 +vt 0.305962 0.103033 +vt 0.298304 0.099009 +vt 0.294755 0.098165 +vt 0.291840 0.098506 +vt 0.292374 0.100537 +vt 0.307621 0.103550 +vt 0.309891 0.106421 +vt 0.303415 0.111921 +vt 0.306196 0.112876 +vt 0.407352 0.130669 +vt 0.405962 0.129635 +vt 0.405654 0.131658 +vt 0.411997 0.105183 +vt 0.290334 0.107950 +vt 0.310018 0.103888 +vt 0.288440 0.150917 +vt 0.410611 0.137862 +vt 0.309823 0.112593 +vt 0.404333 0.130464 +vt 0.403938 0.100755 +vt 0.287801 0.103905 +vt 0.286167 0.102470 +vt 0.291353 0.108873 +vt 0.293525 0.104978 +vt 0.286523 0.140196 +vt 0.295221 0.104723 +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.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.784380 0.579822 +vt 0.741138 0.579863 +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.410802 0.134669 +vt 0.413032 0.107126 +vt 0.415337 0.106231 +vt 0.412617 0.135954 +vt 0.411997 0.105183 +vt 0.281002 0.141297 +vt 0.284455 0.105100 +vt 0.309891 0.106421 +vt 0.310018 0.103888 +vt 0.288507 0.148770 +vt 0.304331 0.110232 +vt 0.413761 0.103579 +vt 0.306789 0.105923 +vt 0.304667 0.104836 +vt 0.297557 0.100926 +vt 0.294488 0.100201 +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.328674 0.137629 +vt 0.319775 0.144719 +vt 0.403791 0.098527 +vt 0.407173 0.108601 +vt 0.407718 0.109926 +vt 0.408817 0.109428 +vt 0.328434 0.133594 +vt 0.316677 0.139029 +vt 0.317532 0.135389 +vt 0.314226 0.135381 +vt 0.312794 0.139989 +vt 0.319269 0.131437 +vt 0.319955 0.127728 +vt 0.317360 0.129659 +vt 0.319718 0.142303 +vt 0.322593 0.139719 +vt 0.324800 0.135588 +vt 0.325386 0.131443 +vt 0.327174 0.129527 +vt 0.325027 0.127340 +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.296744 0.105669 +vt 0.404441 0.107178 +vt 0.281673 0.142822 +vt 0.286951 0.148225 +vt 0.279556 0.143871 +vt 0.286064 0.150224 +vt 0.410802 0.134669 +vt 0.412617 0.135954 +vt 0.410802 0.134669 +vt 0.413032 0.107126 +vt 0.415337 0.106231 +vt 0.284455 0.105100 +vt 0.278808 0.141349 +vt 0.601402 0.707792 +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.506151 0.441448 +vt 0.507810 0.441837 +vt 0.507140 0.440872 +vt 0.528708 0.431775 +vt 0.528715 0.434644 +vt 0.528717 0.435489 +vt 0.533441 0.435479 +vt 0.533441 0.435479 +vt 0.528717 0.435489 +vt 0.528719 0.436161 +vt 0.067244 0.893667 +vt 0.062278 0.889043 +vt 0.041841 0.899568 +vt 0.528715 0.434644 +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.479552 0.788234 +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.488196 0.788828 +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.513960 0.428667 +vt 0.513966 0.424552 +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.515352 0.424554 +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.823042 0.855453 +vt 0.510231 0.845136 +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.823042 0.857179 +vt 0.505784 0.850420 +vt 0.528775 0.851703 +vt 0.516880 0.839562 +vt 0.520442 0.836072 +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.834622 0.844873 +vt 0.822154 0.857297 +vt 0.787926 0.822949 +vt 0.775618 0.839118 +vt 0.784584 0.838795 +vt 0.119684 0.819896 +vt 0.126237 0.820376 +vt 0.126494 0.822480 +vt 0.043968 0.831329 +vt 0.037050 0.828634 +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.693601 0.747407 +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.467704 0.425373 +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.987930 0.703465 +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.126237 0.820376 +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.465974 0.801603 +vt 0.465924 0.833478 +vt 0.589758 0.833672 +vt 0.452231 0.833457 +vt 0.460186 0.833470 +vt 0.460236 0.801593 +vt 0.452281 0.801581 +vt 0.270941 0.833175 +vt 0.706497 0.462469 +vt 0.731733 0.462463 +vt 0.731730 0.448114 +vt 0.706500 0.473447 +vt 0.731735 0.473442 +vt 0.731733 0.462463 +vt 0.744502 0.480559 +vt 0.744475 0.455864 +vt 0.731733 0.462463 +vt 0.706503 0.488064 +vt 0.731738 0.488059 +vt 0.731735 0.473442 +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.787926 0.822949 +vt 0.800394 0.810525 +vt 0.781838 0.791904 +vt 0.769305 0.841505 +vt 0.790535 0.841313 +vt 0.822154 0.857297 +vt 0.834622 0.844873 +vt 0.800394 0.810525 +vt 0.814282 0.865143 +vt 0.822154 0.857297 +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.531071 0.731273 +vt 0.527098 0.727704 +vt 0.523628 0.734935 +vt 0.536918 0.728310 +vt 0.522247 0.747613 +vt 0.528420 0.748113 +vt 0.528989 0.736149 +vt 0.542761 0.725538 +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.506125 0.436830 +vt 0.507183 0.437514 +vt 0.510722 0.437437 +vt 0.510646 0.441203 +vt 0.510722 0.437437 +vt 0.507183 0.437514 +vt 0.930383 0.894023 +vt 0.928759 0.883534 +vt 0.907068 0.886893 +vt 0.506415 0.841924 +vt 0.506415 0.841924 +vt 0.796689 0.857179 +vt 0.811898 0.853744 +vt 0.532339 0.848213 +vt 0.833202 0.853744 +vt 0.359688 0.958662 +vt 0.968182 0.968689 +vt 0.794545 0.965293 +vt 0.804792 0.965320 +vt 0.536631 0.969780 +vt 0.542195 0.969746 +vt 0.379766 0.803761 +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.467205 0.425127 +vt 0.370634 0.800249 +vt 0.650931 0.968701 +vt 0.351976 0.840046 +vt 0.533435 0.432916 +vt 0.598796 0.724641 +vt 0.530209 0.435193 +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.412617 0.135954 +vt 0.278808 0.141349 +vt 0.412617 0.135954 +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.533439 0.434643 +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.515346 0.428669 +vt 0.513582 0.441326 +vt 0.514620 0.431192 +vt 0.414941 0.030725 +vt 0.517435 0.419436 +vt 0.532339 0.848213 +vt 0.995981 0.703411 +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.688940 0.756131 +vt 0.499658 0.422525 +vt 0.468430 0.425751 +vt 0.232286 0.840869 +vt 0.495422 0.427721 +vt 0.460236 0.801593 +vt 0.589808 0.801796 +vt 0.270991 0.801299 +vt 0.706494 0.448119 +vt 0.706497 0.462469 +vt 0.731735 0.473442 +vt 0.706500 0.473447 +vt 0.161689 0.457323 +vt 0.769370 0.804329 +vt 0.787926 0.822949 +vt 0.489394 0.507784 +vt 0.537143 0.425757 +vt 0.519297 0.436720 +vt 0.507140 0.440872 +vt 0.507859 0.436561 +vt 0.351639 0.962522 +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.0007 -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.0000 +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.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.0001 -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.0000 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.0005 +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.0857 0.9400 -0.3301 +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.0857 0.9400 -0.3301 +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.0975 -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.0008 -0.5360 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.0004 -0.0007 +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.0000 -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.0001 0.6059 0.7955 +vn 0.0000 0.8184 0.5746 +vn -0.0001 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.0014 +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 +usemtl Material.001 +s 1 +f 1/1/1 2/2/1 3/3/1 +f 4/4/2 5/5/1 6/6/1 +f 7/7/3 8/8/3 9/9/4 +f 10/10/5 11/11/5 12/12/5 +f 13/13/6 14/14/6 15/15/6 +f 16/16/7 17/17/8 18/18/9 +f 19/19/10 20/20/3 7/7/3 +f 19/19/10 9/9/4 21/21/11 +f 22/22/12 23/23/12 24/24/12 +f 25/25/13 26/26/13 27/27/14 +f 28/28/6 29/29/6 30/30/6 +f 31/31/15 32/32/15 33/33/15 +f 19/19/10 7/7/3 9/9/4 +f 34/34/16 35/35/16 36/36/16 +f 37/37/17 38/38/17 39/39/17 +f 40/40/6 41/41/6 42/42/6 +f 43/43/18 44/44/19 45/45/20 +f 46/46/16 47/47/16 48/48/16 +f 49/49/16 50/50/16 51/51/16 +f 51/51/16 52/52/16 53/53/16 +f 54/54/21 55/55/22 56/56/22 +f 57/57/23 58/58/22 54/54/21 +f 46/46/16 48/48/16 59/59/16 +f 60/60/24 61/61/24 62/62/24 +f 63/63/6 64/64/6 65/65/6 +f 63/63/6 65/65/6 66/66/6 +f 67/67/16 51/51/16 53/53/16 +f 50/50/16 52/52/16 51/51/16 +f 52/52/16 68/68/16 53/53/16 +f 55/55/22 69/69/22 56/56/22 +f 58/58/22 55/55/22 54/54/21 +f 48/48/16 70/70/16 59/59/16 +f 71/71/24 72/72/24 61/61/24 +f 61/61/24 72/72/24 62/62/24 +f 64/64/6 73/73/6 65/65/6 +f 65/65/6 74/74/6 66/66/6 +f 75/75/25 76/76/26 77/77/27 +f 78/78/28 79/79/28 57/57/23 +f 78/78/28 80/80/29 81/81/30 +f 80/80/29 82/82/31 83/83/32 +f 82/82/31 77/77/27 76/76/26 +f 84/84/33 77/77/27 4/4/2 +f 85/85/22 56/56/22 69/69/22 +f 86/86/34 87/87/34 88/88/34 +f 89/89/34 90/90/34 91/91/34 +f 92/92/22 93/93/22 94/94/22 +f 95/95/6 96/96/6 97/97/6 +f 98/98/6 99/99/6 100/100/6 +f 101/101/34 102/102/34 103/103/34 +f 49/49/16 104/104/16 50/50/16 +f 69/69/22 55/55/22 105/105/22 +f 47/47/16 106/106/16 48/48/16 +f 60/60/24 107/107/24 61/61/24 +f 63/63/6 108/108/6 64/64/6 +f 109/109/35 110/110/36 111/111/37 +f 112/112/38 113/113/39 114/114/40 +f 115/115/16 116/116/16 117/117/41 +f 118/118/16 119/119/16 120/120/16 +f 121/121/42 114/114/40 113/113/39 +f 122/122/24 123/123/24 124/124/24 +f 125/125/24 126/126/24 127/127/24 +f 128/128/24 129/129/24 130/130/24 +f 131/131/43 132/132/44 133/133/45 +f 134/134/34 135/135/34 136/136/34 +f 110/110/36 137/137/46 138/138/47 +f 129/139/24 139/140/24 140/141/24 +f 132/132/44 141/142/48 142/143/49 +f 135/135/34 143/144/34 144/145/34 +f 137/137/46 145/146/50 146/147/51 +f 139/148/24 147/149/24 148/150/24 +f 141/142/48 149/151/52 150/152/53 +f 143/144/34 151/153/34 152/154/34 +f 145/146/50 153/155/54 154/156/55 +f 147/149/24 155/157/24 156/158/24 +f 149/159/52 157/160/56 158/161/57 +f 151/153/34 159/162/34 160/163/34 +f 161/164/58 162/165/59 163/166/60 +f 155/157/24 164/167/24 165/168/24 +f 166/169/61 167/170/62 168/171/63 +f 159/162/34 169/172/34 170/173/34 +f 162/174/59 171/175/64 172/176/65 +f 164/167/24 173/177/24 174/178/24 +f 167/170/62 175/179/66 176/180/67 +f 169/172/34 177/181/34 178/182/34 +f 171/175/64 179/183/68 180/184/69 +f 173/177/24 181/185/24 182/186/24 +f 175/179/66 183/187/70 184/188/71 +f 177/181/34 185/189/34 186/190/34 +f 179/191/68 187/192/43 188/193/72 +f 181/185/24 189/194/24 190/195/24 +f 183/187/70 191/196/35 192/197/73 +f 185/189/34 193/198/34 194/199/34 +f 187/192/43 195/200/74 196/201/45 +f 189/194/24 197/202/24 198/203/24 +f 191/196/35 199/204/36 200/205/37 +f 193/198/34 201/206/34 202/207/34 +f 195/200/74 203/208/48 204/209/49 +f 197/202/24 205/210/24 206/211/24 +f 199/204/36 207/212/46 208/213/47 +f 201/206/34 209/214/34 210/215/34 +f 203/208/48 211/216/52 212/217/53 +f 205/210/24 213/218/24 214/219/24 +f 207/212/46 215/220/75 216/221/76 +f 209/214/34 217/222/34 218/223/34 +f 211/216/52 219/224/56 220/225/77 +f 213/218/24 221/226/24 222/227/24 +f 215/220/75 223/228/54 224/229/78 +f 217/222/34 225/230/34 226/231/34 +f 219/224/56 227/232/79 228/233/80 +f 221/226/24 229/234/24 230/235/24 +f 223/236/54 231/237/59 232/238/60 +f 225/230/34 233/239/34 234/240/34 +f 227/232/79 235/241/66 236/242/67 +f 229/234/24 237/243/24 238/244/24 +f 231/237/59 239/245/64 240/246/65 +f 233/239/34 241/247/34 242/248/34 +f 235/241/66 243/249/70 244/250/71 +f 237/243/24 245/251/24 246/252/24 +f 239/245/64 247/253/68 248/254/69 +f 241/247/34 249/255/34 250/256/34 +f 243/249/70 109/109/35 251/257/73 +f 245/251/24 128/128/24 252/258/24 +f 247/253/68 131/131/43 253/259/72 +f 249/255/34 134/134/34 254/260/34 +f 255/261/6 256/262/6 257/263/6 +f 256/262/6 258/264/6 259/265/6 +f 258/264/6 260/266/6 261/267/6 +f 260/266/6 262/268/6 263/269/6 +f 262/268/6 264/270/6 265/271/6 +f 264/270/6 266/272/6 267/273/6 +f 266/272/6 268/274/6 269/275/6 +f 268/274/6 270/276/6 271/277/6 +f 270/276/6 272/278/6 273/279/6 +f 272/278/6 274/280/6 275/281/6 +f 274/280/6 276/282/6 277/283/6 +f 276/282/6 255/261/6 278/284/6 +f 279/285/81 280/286/82 281/287/83 +f 282/288/84 283/289/85 284/290/86 +f 285/291/6 286/292/6 287/293/6 +f 288/294/87 279/285/81 289/295/88 +f 283/289/85 290/296/89 291/297/90 +f 286/292/6 292/298/6 287/293/6 +f 293/299/91 288/294/87 294/300/92 +f 290/296/89 295/301/93 296/302/94 +f 292/298/6 297/303/6 287/293/6 +f 298/304/95 299/305/96 300/306/97 +f 295/301/93 301/307/98 302/308/99 +f 297/303/6 303/309/6 287/293/6 +f 304/310/100 298/304/95 305/311/101 +f 301/307/98 306/312/102 307/313/103 +f 303/309/6 308/314/6 287/293/6 +f 309/315/104 304/310/100 310/316/105 +f 306/312/102 311/317/106 312/318/107 +f 308/314/6 313/319/6 287/293/6 +f 314/320/102 309/315/104 315/321/108 +f 311/317/106 316/322/109 317/323/105 +f 313/319/6 318/324/6 287/293/6 +f 319/325/110 314/320/102 320/326/111 +f 316/322/109 321/327/95 322/328/112 +f 318/324/6 323/329/6 287/293/6 +f 324/330/113 319/325/110 325/331/99 +f 321/327/95 326/332/96 327/333/114 +f 323/329/6 328/334/6 287/293/6 +f 329/335/89 324/330/113 330/336/115 +f 331/337/91 332/338/116 333/339/92 +f 328/334/6 334/340/6 287/293/6 +f 335/341/117 329/335/89 336/342/118 +f 332/338/116 337/343/81 338/344/119 +f 334/340/6 339/345/6 287/293/6 +f 280/286/82 335/341/117 340/346/86 +f 337/343/81 282/288/84 341/347/120 +f 339/345/6 285/291/6 287/293/6 +f 342/348/121 343/349/122 344/350/123 +f 345/351/124 346/352/125 347/353/126 +f 348/354/127 349/355/128 350/356/129 +f 351/357/130 352/358/131 353/359/132 +f 354/360/133 347/353/126 355/361/134 +f 356/362/135 347/353/126 354/360/133 +f 357/363/136 358/364/137 359/365/138 +f 360/366/139 361/367/140 357/363/136 +f 348/354/127 362/368/141 357/363/136 +f 363/369/142 364/370/143 344/350/123 +f 364/370/143 363/369/142 365/371/144 +f 364/370/143 366/372/145 367/373/146 +f 368/374/147 369/375/148 359/365/138 +f 370/376/149 368/374/147 371/377/150 +f 351/357/130 372/378/151 352/358/131 +f 373/379/152 374/380/153 355/361/134 +f 375/381/154 374/380/153 373/379/152 +f 376/382/155 374/380/153 377/383/156 +f 378/384/157 379/385/158 380/386/159 +f 381/387/160 380/386/159 379/385/158 +f 354/360/133 355/361/134 382/388/161 +f 383/389/162 353/359/132 384/390/163 +f 385/391/164 356/362/135 383/389/162 +f 351/357/130 353/359/132 386/392/165 +f 372/378/151 351/357/130 386/392/165 +f 386/392/165 353/359/132 383/389/162 +f 387/393/166 388/394/167 389/395/168 +f 374/380/153 382/388/161 355/361/134 +f 383/389/162 382/388/161 390/396/169 +f 391/397/170 392/398/171 376/382/155 +f 392/398/171 390/396/169 374/380/153 +f 386/392/165 392/398/171 391/397/170 +f 390/396/169 392/398/171 386/392/165 +f 389/395/168 391/397/170 387/393/166 +f 378/384/157 393/399/172 391/397/170 +f 394/400/173 377/383/156 375/381/154 +f 395/401/174 394/400/173 396/402/175 +f 397/403/176 343/349/122 342/348/121 +f 398/404/177 397/403/176 399/405/178 +f 369/375/148 349/355/128 348/354/127 +f 400/406/179 401/407/180 402/408/181 +f 377/383/156 374/380/153 375/381/154 +f 390/396/169 382/388/161 374/380/153 +f 356/362/135 354/360/133 382/388/161 +f 382/388/161 383/389/162 356/362/135 +f 385/391/164 383/389/162 384/390/163 +f 372/378/151 389/395/168 388/394/167 +f 393/399/172 387/393/166 391/397/170 +f 379/385/158 378/384/157 391/397/170 +f 402/408/181 352/358/131 370/376/149 +f 372/378/151 388/394/167 352/358/131 +f 352/358/131 388/394/167 369/375/148 +f 393/399/172 349/355/128 387/393/166 +f 378/384/157 349/355/128 393/399/172 +f 378/384/157 380/386/159 349/355/128 +f 380/386/159 381/387/160 403/409/182 +f 377/383/156 394/400/173 381/387/160 +f 381/387/160 395/401/174 398/404/177 +f 404/410/183 397/403/176 405/411/184 +f 343/349/122 397/403/176 404/410/183 +f 369/375/148 368/374/147 370/376/149 +f 352/358/131 369/375/148 370/376/149 +f 388/394/167 387/393/166 369/375/148 +f 349/355/128 369/375/148 387/393/166 +f 380/386/159 403/409/182 349/355/128 +f 381/387/160 398/404/177 403/409/182 +f 394/400/173 395/401/174 381/387/160 +f 395/401/174 405/411/184 398/404/177 +f 397/403/176 398/404/177 405/411/184 +f 406/412/185 407/413/186 396/402/175 +f 408/414/187 406/412/185 409/415/188 +f 410/416/189 411/417/190 409/415/188 +f 412/418/191 345/351/124 413/419/192 +f 414/420/16 415/421/16 416/422/16 +f 417/423/103 418/424/99 419/425/193 +f 420/426/107 417/423/103 421/427/102 +f 418/424/99 422/428/94 423/429/93 +f 424/430/105 420/426/107 425/431/106 +f 426/432/194 424/430/105 427/433/195 +f 422/428/94 428/434/196 429/435/89 +f 430/436/197 426/432/194 431/437/95 +f 432/438/92 430/436/197 433/439/96 +f 428/434/196 434/440/86 435/441/85 +f 436/442/119 432/438/92 437/443/116 +f 438/444/120 436/442/119 439/445/81 +f 434/440/86 438/444/120 440/446/84 +f 441/447/16 442/448/16 443/449/16 +f 444/450/16 441/447/16 445/451/16 +f 442/448/16 446/452/16 447/453/16 +f 448/454/16 444/450/16 449/455/16 +f 450/456/16 448/454/16 451/457/16 +f 446/452/16 452/458/16 453/459/16 +f 414/460/16 450/456/16 454/461/16 +f 455/462/16 414/460/16 456/463/16 +f 452/458/16 457/464/16 458/465/16 +f 459/466/16 455/462/16 460/467/16 +f 461/468/16 459/466/16 462/469/16 +f 457/464/16 461/468/16 463/470/16 +f 464/471/16 465/472/16 466/473/16 +f 467/474/98 468/475/102 469/476/103 +f 470/477/93 467/474/98 471/478/99 +f 466/473/16 465/472/16 472/479/16 +f 468/475/102 473/480/106 474/481/107 +f 475/482/16 465/472/16 464/471/16 +f 472/479/16 465/472/16 476/483/16 +f 473/480/106 477/484/109 478/485/105 +f 479/486/89 470/477/93 480/487/94 +f 476/483/16 465/472/16 481/488/16 +f 477/484/109 482/489/198 483/490/198 +f 484/491/16 465/472/16 475/482/16 +f 481/488/16 465/472/16 485/492/16 +f 486/493/199 487/494/199 488/495/200 +f 489/496/85 479/486/89 490/497/90 +f 485/492/16 465/472/16 491/498/16 +f 492/499/201 493/500/202 494/501/202 +f 495/502/16 465/472/16 484/491/16 +f 491/498/16 465/472/16 496/503/16 +f 486/493/199 497/504/81 498/505/119 +f 499/506/84 489/496/85 500/507/86 +f 496/503/16 465/472/16 501/508/16 +f 497/504/81 499/506/84 502/509/120 +f 501/508/16 465/472/16 495/502/16 +f 503/510/203 488/495/200 494/501/202 +f 414/420/16 455/511/16 415/421/16 +f 483/490/198 482/489/198 504/512/204 +f 505/513/205 506/514/206 492/499/201 +f 416/515/16 415/516/16 507/517/16 +f 416/422/16 450/518/16 414/420/16 +f 508/519/16 509/520/16 510/521/16 +f 511/522/207 512/523/208 513/524/209 +f 514/525/6 515/526/6 516/527/6 +f 510/521/16 509/520/16 517/528/16 +f 512/523/208 518/529/210 519/530/211 +f 515/526/6 520/531/6 516/527/6 +f 517/528/16 509/520/16 521/532/16 +f 518/529/210 522/533/212 523/534/213 +f 520/531/6 524/535/6 516/527/6 +f 521/532/16 509/520/16 525/536/16 +f 526/537/214 527/538/215 528/539/216 +f 524/535/6 529/540/6 516/527/6 +f 525/536/16 509/520/16 530/541/16 +f 527/538/215 531/542/217 532/543/218 +f 529/540/6 533/544/6 516/527/6 +f 530/541/16 509/520/16 534/545/16 +f 531/542/217 535/546/219 536/547/220 +f 537/548/16 538/549/221 539/550/221 +f 533/544/6 540/551/6 516/527/6 +f 534/545/16 509/520/16 541/552/16 +f 539/550/221 538/549/221 542/553/222 +f 535/546/219 543/554/223 544/555/224 +f 540/551/6 545/556/6 516/527/6 +f 546/557/225 547/558/226 548/559/227 +f 549/560/228 546/557/225 550/561/229 +f 541/552/16 509/520/16 508/519/16 +f 543/554/223 511/522/207 551/562/230 +f 545/556/6 514/525/6 516/527/6 +f 552/563/231 553/564/232 554/565/233 +f 555/566/234 556/567/235 552/563/231 +f 557/568/236 558/569/237 559/570/16 +f 560/571/238 561/572/239 562/573/6 +f 563/574/240 564/575/241 565/576/242 +f 547/558/226 566/577/243 567/578/244 +f 568/579/245 569/580/246 570/581/247 +f 560/571/238 571/582/248 561/572/239 +f 572/583/1 573/584/1 574/585/1 +f 575/586/16 576/587/16 577/588/16 +f 115/115/16 578/589/16 579/590/16 +f 580/591/249 581/592/250 582/593/251 +f 570/581/247 569/580/246 583/594/252 +f 584/595/253 585/596/254 586/597/16 +f 587/598/1 588/599/1 589/600/1 +f 590/601/1 589/600/1 588/599/1 +f 591/602/6 592/603/6 593/604/6 +f 594/605/255 595/606/256 582/593/251 +f 596/607/257 597/608/1 598/609/258 +f 559/570/16 558/569/237 599/610/16 +f 600/611/22 601/612/22 602/613/22 +f 585/596/254 603/614/16 586/597/16 +f 604/615/22 605/616/22 606/617/22 +f 602/613/22 601/612/22 604/618/22 +f 607/619/24 608/620/24 609/621/24 +f 608/620/24 610/622/24 611/623/24 +f 612/624/24 613/625/24 611/623/24 +f 614/626/22 615/627/22 616/628/22 +f 617/629/259 618/630/260 619/631/260 +f 620/632/261 557/568/236 621/633/262 +f 568/579/245 622/634/236 623/635/263 +f 624/636/238 563/574/240 625/637/264 +f 626/638/265 627/639/266 628/640/267 +f 628/640/267 627/639/266 629/641/268 +f 628/640/267 629/641/268 630/642/269 +f 628/640/267 630/642/269 631/643/38 +f 632/644/270 633/645/271 634/646/41 +f 635/647/272 636/648/273 637/649/267 +f 638/650/274 639/651/275 640/652/276 +f 641/653/277 633/645/271 642/654/278 +f 643/655/16 644/656/16 642/654/278 +f 644/656/16 645/657/16 642/654/278 +f 646/658/16 642/654/278 645/657/16 +f 633/645/271 643/655/16 642/654/278 +f 643/655/16 633/645/271 632/644/270 +f 647/659/279 648/660/280 649/661/281 +f 650/662/6 651/663/6 652/664/282 +f 653/665/16 654/666/16 655/667/283 +f 656/668/6 657/669/6 658/670/6 +f 656/668/6 659/671/284 660/672/6 +f 650/662/6 652/664/282 661/673/6 +f 661/673/6 662/674/6 663/675/6 +f 663/675/6 664/676/6 665/677/6 +f 666/678/16 667/679/16 668/680/285 +f 669/681/16 670/682/16 671/683/16 +f 672/684/16 669/681/16 673/685/16 +f 654/666/16 672/684/16 674/686/16 +f 653/665/16 655/667/283 675/687/16 +f 651/663/6 676/688/6 659/671/284 +f 660/672/6 657/669/6 656/668/6 +f 657/669/6 665/677/6 658/670/6 +f 659/671/284 676/688/6 660/672/6 +f 652/664/282 662/674/6 661/673/6 +f 662/674/6 664/676/6 663/675/6 +f 664/676/6 658/670/6 665/677/6 +f 677/689/16 675/687/16 668/680/285 +f 670/682/16 667/679/16 666/678/16 +f 667/679/16 677/689/16 668/680/285 +f 670/682/16 666/678/16 671/683/16 +f 669/681/16 671/683/16 673/685/16 +f 672/684/16 673/685/16 674/686/16 +f 655/667/283 668/680/285 675/687/16 +f 678/690/22 615/627/22 614/626/22 +f 679/691/286 680/692/287 681/693/288 +f 682/694/16 683/695/289 680/692/287 +f 684/696/16 682/694/16 685/697/290 +f 686/698/291 684/696/16 687/699/292 +f 641/653/277 687/699/292 685/697/290 +f 688/700/293 647/659/279 689/701/294 +f 690/702/22 604/618/22 606/703/22 +f 691/704/295 692/705/296 553/564/232 +f 693/706/297 642/654/278 646/658/16 +f 694/707/298 693/706/297 646/658/16 +f 559/570/16 621/633/262 557/568/236 +f 695/708/16 696/709/16 697/710/16 +f 698/711/298 699/712/299 700/713/300 +f 556/567/235 701/714/301 702/715/302 +f 599/610/16 703/716/299 646/658/16 +f 603/614/16 646/658/16 114/114/40 +f 704/717/22 614/718/22 705/719/22 +f 706/720/34 707/721/34 708/722/303 +f 709/723/304 710/724/305 711/725/306 +f 712/726/307 713/727/308 714/728/309 +f 715/729/310 716/730/311 717/731/312 +f 718/732/313 714/728/309 713/727/308 +f 719/733/314 720/734/315 721/735/316 +f 721/735/316 722/736/317 723/737/318 +f 724/738/319 725/739/320 726/740/321 +f 727/741/322 728/742/323 725/739/320 +f 729/743/324 728/742/323 727/741/322 +f 724/738/319 727/741/322 725/739/320 +f 730/744/325 731/745/326 732/746/327 +f 733/747/328 734/748/329 730/744/325 +f 735/749/330 736/750/331 737/751/332 +f 738/752/333 735/749/330 739/753/334 +f 740/754/335 738/752/333 741/755/336 +f 742/756/337 740/754/335 743/757/338 +f 744/758/339 742/756/337 745/759/340 +f 746/760/341 747/761/342 748/762/343 +f 749/763/344 741/755/336 739/753/334 +f 750/764/345 743/757/338 741/755/336 +f 751/765/346 745/759/340 743/757/338 +f 752/766/347 753/767/348 745/759/340 +f 754/768/349 739/753/334 755/769/350 +f 756/770/351 757/771/352 738/752/333 +f 758/772/353 759/773/354 760/774/355 +f 723/737/318 719/733/314 721/735/316 +f 760/774/355 729/743/324 727/741/322 +f 761/775/356 730/744/325 732/746/327 +f 761/775/356 733/747/328 730/744/325 +f 741/755/336 738/752/333 739/753/334 +f 743/757/338 740/754/335 741/755/336 +f 745/759/340 742/756/337 743/757/338 +f 753/767/348 744/758/339 745/759/340 +f 762/776/357 746/760/341 748/762/343 +f 754/768/349 749/763/344 739/753/334 +f 749/763/344 750/764/345 741/755/336 +f 750/764/345 751/765/346 743/757/338 +f 751/765/346 752/766/347 745/759/340 +f 763/777/358 754/768/349 755/769/350 +f 764/778/359 765/779/360 724/738/319 +f 757/771/352 766/780/361 735/749/330 +f 760/774/355 767/781/362 729/743/324 +f 721/735/316 724/738/319 722/736/317 +f 730/744/325 734/748/329 768/782/363 +f 753/767/348 769/783/364 744/758/339 +f 752/766/347 770/784/365 753/767/348 +f 771/785/366 762/776/357 748/762/343 +f 772/786/367 744/758/339 762/776/357 +f 773/787/368 771/785/366 748/762/343 +f 771/785/366 772/786/367 762/776/357 +f 772/786/367 774/788/369 744/758/339 +f 583/594/252 647/659/279 775/789/370 +f 776/790/22 777/791/22 605/616/22 +f 565/576/242 778/792/371 625/637/264 +f 779/793/372 778/792/371 780/794/373 +f 781/795/374 782/796/296 554/565/233 +f 783/797/375 565/576/242 564/575/241 +f 784/798/6 785/799/6 786/800/6 +f 787/801/22 788/802/22 789/803/22 +f 790/804/6 791/805/6 792/806/6 +f 793/807/376 794/808/377 795/809/376 +f 796/810/1 797/811/1 798/812/1 +f 799/813/378 800/814/378 801/815/22 +f 678/690/22 604/618/22 601/612/22 +f 782/796/296 802/816/295 554/565/233 +f 803/817/379 804/818/380 556/567/235 +f 556/567/235 555/566/234 805/819/381 +f 552/563/231 554/565/233 806/820/382 +f 554/565/233 553/564/232 807/821/383 +f 808/822/22 809/823/22 810/824/22 +f 811/825/34 781/795/374 812/826/384 +f 813/827/34 782/796/296 781/795/374 +f 814/828/385 815/829/34 816/830/34 +f 812/826/384 817/831/386 818/832/386 +f 805/819/381 803/817/379 556/567/235 +f 819/833/22 808/822/22 820/834/22 +f 556/567/235 702/715/302 821/835/387 +f 640/652/276 822/836/388 823/837/389 +f 824/838/390 825/839/391 826/840/6 +f 823/837/389 826/840/6 827/841/392 +f 828/842/6 829/843/6 830/844/393 +f 831/845/394 830/844/393 832/846/6 +f 830/847/393 827/841/392 828/848/6 +f 822/836/388 826/840/6 823/837/389 +f 822/836/388 833/849/395 826/840/6 +f 833/849/395 824/838/390 826/840/6 +f 825/839/391 834/850/6 826/840/6 +f 826/840/6 828/848/6 827/841/392 +f 828/842/6 835/851/6 829/843/6 +f 829/843/6 836/852/6 830/844/393 +f 830/844/393 836/852/6 832/846/6 +f 837/853/22 838/854/22 839/855/22 +f 840/856/22 841/857/22 838/858/22 +f 842/859/22 843/860/22 837/853/22 +f 838/854/22 844/861/22 839/855/22 +f 838/858/22 845/862/22 840/856/22 +f 846/863/22 844/864/22 838/858/22 +f 845/862/22 838/858/22 809/823/22 +f 847/865/396 848/866/397 849/867/398 +f 850/868/16 847/865/396 851/869/399 +f 346/352/125 345/351/124 852/870/400 +f 853/871/401 412/418/191 401/407/180 +f 854/872/402 855/873/403 412/418/191 +f 854/872/402 853/871/401 856/874/404 +f 371/377/150 856/874/404 853/871/401 +f 857/875/405 407/413/186 406/412/185 +f 858/876/406 366/372/145 364/370/143 +f 858/876/406 365/371/144 857/875/405 +f 857/875/405 406/412/185 408/414/187 +f 357/363/136 859/877/407 860/878/408 +f 347/353/126 410/416/189 861/879/409 +f 350/356/129 403/409/182 862/880/410 +f 352/358/131 402/408/181 413/419/192 +f 396/402/175 861/879/409 409/415/188 +f 396/402/175 375/381/154 861/879/409 +f 355/361/134 861/879/409 373/379/152 +f 385/391/164 347/353/126 356/362/135 +f 384/390/163 345/351/124 385/391/164 +f 384/390/163 353/359/132 345/351/124 +f 345/351/124 347/353/126 385/391/164 +f 359/365/138 358/364/137 371/377/150 +f 361/367/140 863/881/411 358/364/137 +f 350/356/129 864/882/412 362/368/141 +f 350/356/129 862/880/410 864/882/412 +f 862/880/410 399/405/178 865/883/413 +f 399/405/178 342/348/121 866/884/414 +f 342/348/121 344/350/123 867/885/415 +f 857/875/405 365/371/144 407/413/186 +f 865/883/413 868/886/416 864/882/412 +f 866/884/414 869/887/417 865/883/413 +f 867/885/415 870/888/418 866/884/414 +f 367/373/146 871/889/419 867/885/415 +f 864/882/412 872/890/420 859/877/407 +f 403/409/182 398/404/177 862/880/410 +f 402/408/181 401/407/180 413/419/192 +f 375/381/154 373/379/152 861/879/409 +f 353/359/132 413/419/192 345/351/124 +f 358/364/137 856/874/404 371/377/150 +f 863/881/411 856/874/404 358/364/137 +f 862/880/410 865/883/413 864/882/412 +f 399/405/178 866/884/414 865/883/413 +f 342/348/121 867/885/415 866/884/414 +f 344/350/123 367/373/146 867/885/415 +f 365/371/144 363/369/142 407/413/186 +f 868/886/416 872/890/420 864/882/412 +f 869/887/417 868/886/416 865/883/413 +f 870/888/418 869/887/417 866/884/414 +f 871/889/419 870/888/418 867/885/415 +f 872/890/420 860/878/408 859/877/407 +f 346/352/125 410/416/189 347/353/126 +f 349/355/128 403/409/182 350/356/129 +f 352/358/131 413/419/192 353/359/132 +f 347/353/126 861/879/409 355/361/134 +f 361/367/140 358/364/137 357/363/136 +f 364/370/143 367/373/146 344/350/123 +f 366/372/145 871/889/419 367/373/146 +f 363/369/142 405/411/184 407/413/186 +f 344/350/123 404/410/183 363/369/142 +f 405/411/184 395/401/174 407/413/186 +f 404/410/183 405/411/184 363/369/142 +f 343/349/122 404/410/183 344/350/123 +f 774/788/369 742/756/337 744/758/339 +f 765/779/360 727/741/322 724/738/319 +f 766/780/361 736/750/331 735/749/330 +f 767/781/362 873/891/421 729/743/324 +f 724/738/319 874/892/422 722/736/317 +f 724/738/319 726/740/321 874/892/422 +f 730/744/325 768/782/363 731/745/326 +f 734/748/329 875/893/423 768/782/363 +f 736/750/331 731/745/326 768/782/363 +f 769/783/364 762/776/357 744/758/339 +f 762/776/357 769/783/364 746/760/341 +f 770/784/365 769/783/364 753/767/348 +f 876/894/424 732/746/327 731/745/326 +f 877/895/425 878/896/426 732/746/327 +f 879/897/427 873/891/421 767/781/362 +f 880/898/428 723/737/318 722/736/317 +f 880/898/428 719/733/314 723/737/318 +f 881/899/429 882/900/430 883/901/431 +f 884/902/432 885/903/433 886/904/434 +f 882/900/430 881/899/429 884/902/432 +f 722/736/317 874/892/422 887/905/435 +f 729/743/324 888/906/436 728/742/323 +f 726/740/321 725/739/320 888/906/436 +f 729/743/324 873/891/421 889/907/437 +f 879/897/427 890/908/438 889/907/437 +f 729/743/324 889/907/437 888/906/436 +f 891/909/439 892/910/440 890/908/438 +f 887/905/435 880/898/428 722/736/317 +f 887/905/435 888/906/436 893/911/441 +f 894/912/442 884/902/432 881/899/429 +f 895/913/443 881/899/429 880/898/428 +f 889/907/437 890/908/438 894/912/442 +f 893/911/441 888/906/436 889/907/437 +f 894/912/442 890/908/438 892/910/440 +f 896/914/444 885/903/433 894/912/442 +f 897/915/445 720/734/315 719/733/314 +f 773/787/368 748/762/343 720/734/315 +f 898/916/446 740/754/335 742/756/337 +f 756/770/351 738/752/333 740/754/335 +f 899/917/447 731/745/326 736/750/331 +f 878/896/426 877/895/425 759/773/354 +f 880/898/428 883/901/431 719/733/314 +f 887/905/435 893/911/441 880/898/428 +f 874/892/422 726/740/321 887/905/435 +f 888/906/436 887/905/435 726/740/321 +f 888/906/436 725/739/320 728/742/323 +f 890/908/438 879/897/427 891/909/439 +f 892/910/440 896/914/444 894/912/442 +f 885/903/433 884/902/432 894/912/442 +f 767/781/362 759/773/354 877/895/425 +f 891/909/439 879/897/427 767/781/362 +f 891/909/439 767/781/362 899/917/447 +f 766/780/361 896/914/444 892/910/440 +f 766/780/361 885/903/433 896/914/444 +f 886/904/434 885/903/433 766/780/361 +f 882/900/430 886/904/434 757/771/352 +f 897/915/445 883/901/431 882/900/430 +f 773/787/368 882/900/430 756/770/351 +f 898/916/446 772/786/367 771/785/366 +f 898/916/446 774/788/369 772/786/367 +f 876/894/424 899/917/447 877/895/425 +f 899/917/447 767/781/362 877/895/425 +f 892/910/440 891/909/439 899/917/447 +f 899/917/447 766/780/361 892/910/440 +f 757/771/352 886/904/434 766/780/361 +f 756/770/351 882/900/430 757/771/352 +f 773/787/368 897/915/445 882/900/430 +f 771/785/366 773/787/368 756/770/351 +f 756/770/351 898/916/446 771/785/366 +f 900/918/448 901/919/449 720/734/315 +f 902/920/450 903/921/451 901/919/449 +f 764/778/359 721/735/316 901/919/449 +f 904/922/452 758/772/353 760/774/355 +f 765/779/360 905/923/453 906/924/454 +f 907/925/455 878/896/426 758/772/353 +f 908/926/456 907/925/455 904/922/452 +f 908/926/456 733/747/328 761/775/356 +f 732/746/327 878/896/426 907/925/455 +f 748/762/343 747/761/342 900/918/448 +f 909/927/457 746/760/341 769/783/364 +f 909/927/457 910/928/458 747/761/342 +f 747/761/342 910/928/458 902/920/450 +f 768/782/363 875/893/423 763/777/358 +f 764/778/359 724/738/319 721/735/316 +f 757/771/352 735/749/330 738/752/333 +f 759/773/354 767/781/362 760/774/355 +f 721/735/316 720/734/315 901/919/449 +f 911/929/459 717/731/312 716/730/311 +f 912/930/460 648/660/280 647/659/279 +f 586/597/16 603/614/16 913/931/16 +f 583/594/252 569/580/246 623/635/263 +f 775/789/370 647/659/279 688/700/293 +f 914/932/16 913/931/16 121/121/42 +f 775/789/370 570/581/247 583/594/252 +f 700/713/300 915/933/461 916/934/297 +f 917/935/237 918/936/462 699/712/299 +f 915/933/461 919/937/463 920/938/278 +f 568/579/245 570/581/247 917/935/237 +f 918/936/462 700/713/300 699/712/299 +f 919/937/463 921/939/464 922/940/277 +f 921/939/464 923/941/465 924/942/466 +f 924/942/466 923/941/465 710/724/305 +f 711/725/306 710/724/305 923/941/465 +f 925/943/467 924/942/466 710/724/305 +f 622/634/236 568/579/245 917/935/237 +f 926/944/468 927/945/469 928/946/470 +f 929/947/6 592/603/6 930/948/6 +f 616/628/22 820/834/22 931/949/22 +f 929/947/6 593/604/6 592/603/6 +f 591/602/6 932/950/6 592/603/6 +f 933/951/471 934/952/472 935/953/473 +f 604/618/22 678/690/22 704/954/22 +f 936/955/474 937/956/475 938/957/476 +f 939/958/6 940/959/6 937/960/475 +f 941/961/16 942/962/16 943/963/16 +f 692/705/296 807/821/383 553/564/232 +f 944/964/16 942/962/16 941/961/16 +f 945/965/16 697/710/16 696/709/16 +f 946/966/22 947/967/22 948/968/22 +f 949/969/16 950/970/16 951/971/16 +f 952/972/477 953/973/477 954/974/477 +f 955/975/478 956/976/479 957/977/478 +f 958/978/480 959/979/481 960/980/482 +f 961/981/483 960/980/482 959/979/481 +f 962/982/484 596/607/257 963/983/485 +f 964/984/1 965/985/1 966/986/1 +f 960/980/482 967/987/486 958/978/480 +f 777/791/22 606/617/22 605/616/22 +f 968/988/487 969/989/16 970/990/254 +f 576/587/16 971/991/16 577/588/16 +f 972/992/378 973/993/22 974/994/22 +f 975/995/16 971/991/16 119/119/16 +f 976/996/16 119/119/16 977/997/488 +f 978/998/16 977/997/488 979/999/39 +f 980/1000/16 979/999/39 631/643/38 +f 981/1001/489 982/1002/490 983/1003/491 +f 578/589/16 576/587/16 984/1004/16 +f 577/588/16 971/991/16 985/1005/16 +f 985/1005/16 971/991/16 975/995/16 +f 976/996/16 975/995/16 119/119/16 +f 978/998/16 976/996/16 977/997/488 +f 977/997/488 119/119/16 118/118/16 +f 980/1000/16 978/998/16 979/999/39 +f 986/1006/492 980/1000/16 631/643/38 +f 986/1006/492 631/643/38 630/642/269 +f 117/117/41 116/116/16 987/1007/16 +f 626/638/265 117/117/41 987/1007/16 +f 988/1008/16 576/587/16 578/589/16 +f 579/590/16 578/589/16 984/1004/16 +f 984/1004/16 576/587/16 575/586/16 +f 989/1009/493 990/1010/494 927/945/469 +f 991/1011/24 126/126/24 125/125/24 +f 124/124/24 123/123/24 126/126/24 +f 992/1012/34 706/720/34 807/821/383 +f 993/1013/495 708/722/303 707/721/34 +f 708/722/303 993/1013/495 994/1014/386 +f 995/1015/496 701/714/301 556/567/235 +f 685/697/290 680/692/287 996/1016/497 +f 633/645/271 997/1017/498 634/646/41 +f 998/1018/499 999/1019/500 679/691/286 +f 1000/1020/501 1001/1021/41 1002/1022/502 +f 680/692/287 679/691/286 999/1019/500 +f 685/697/290 997/1017/498 633/645/271 +f 914/932/16 121/121/42 969/989/16 +f 552/563/231 821/835/387 553/564/232 +f 804/818/380 995/1015/496 556/567/235 +f 1003/1023/16 1004/1024/16 1005/1025/16 +f 703/716/299 694/707/298 646/658/16 +f 646/658/16 635/647/272 114/114/40 +f 913/931/16 603/614/16 121/121/42 +f 121/121/42 970/990/254 969/989/16 +f 114/114/40 121/121/42 603/614/16 +f 570/581/247 918/936/462 917/935/237 +f 1006/1026/24 991/1027/24 125/1028/24 +f 127/127/24 126/126/24 123/123/24 +f 616/628/22 615/627/22 820/834/22 +f 1007/1029/503 1008/1030/22 1009/1031/22 +f 1010/1032/504 585/596/254 584/595/253 +f 968/988/487 970/990/254 1011/1033/504 +f 1012/1034/34 1013/1035/34 1014/1036/34 +f 1015/1037/34 1012/1034/34 1016/1038/34 +f 1014/1036/34 1017/1039/34 1016/1038/34 +f 1012/1034/34 1014/1036/34 1016/1038/34 +f 1015/1037/34 1018/1040/34 1012/1034/34 +f 1019/1041/22 1020/1042/505 1021/1043/506 +f 1022/1044/16 1023/1045/16 1024/1046/507 +f 1025/1047/24 1026/1048/24 1027/1049/24 +f 1028/1050/34 1029/1051/34 1030/1052/34 +f 1031/1053/24 1032/1054/24 1027/1049/24 +f 1024/1046/507 1021/1043/506 1020/1042/505 +f 1033/1055/508 1034/1056/16 1035/1057/16 +f 1033/1055/508 1036/1058/508 1037/1059/509 +f 1038/1060/510 1039/1061/511 1040/1062/512 +f 1041/1063/34 1042/1064/34 1043/1065/34 +f 1043/1065/34 1042/1064/34 1016/1038/34 +f 1044/1066/6 1045/1067/6 1046/1068/6 +f 1047/1069/22 1048/1070/513 1049/1071/514 +f 1050/1072/6 1051/1073/515 1052/1074/516 +f 1053/1075/24 1054/1076/24 1055/1077/24 +f 1032/1054/24 1031/1053/24 1056/1078/24 +f 1056/1078/24 1057/1079/24 1055/1077/24 +f 1052/1074/516 1051/1073/515 1058/1080/517 +f 1059/1081/518 1060/1082/518 1061/1083/6 +f 1049/1071/514 1048/1070/513 1062/1084/510 +f 1030/1052/34 1018/1040/34 1015/1037/34 +f 1063/1085/16 1064/1086/16 1065/1087/16 +f 1059/1081/518 1066/1088/519 1067/1089/519 +f 1068/1090/520 1037/1059/509 1067/1089/519 +f 1013/1035/34 1069/1091/34 1014/1036/34 +f 1070/1092/16 34/34/16 36/36/16 +f 1071/1093/17 37/37/17 39/39/17 +f 1072/1094/6 40/40/6 42/42/6 +f 1073/1095/18 43/43/18 45/45/20 +f 1074/1096/16 1075/1097/16 1070/1092/16 +f 1076/1098/521 45/45/20 1077/1099/522 +f 36/36/16 1074/1096/16 1070/1092/16 +f 1075/1097/16 1078/1100/16 1070/1092/16 +f 1071/1093/17 39/39/17 1079/1101/17 +f 42/42/6 1080/1102/6 1072/1094/6 +f 45/45/20 44/44/19 1077/1099/522 +f 1081/1103/523 1082/1104/523 1083/1105/523 +f 1084/1106/524 117/117/41 626/638/265 +f 823/837/389 1085/1107/525 638/650/274 +f 823/837/389 638/650/274 640/652/276 +f 639/651/275 983/1003/491 640/652/276 +f 645/657/16 636/648/273 635/647/272 +f 1086/1108/526 1087/1109/527 1088/1110/528 +f 1089/1111/529 1090/1112/530 1091/1113/531 +f 1092/1114/532 1093/1115/533 1094/1116/534 +f 1093/1115/533 1095/1117/535 1094/1116/534 +f 982/1002/490 640/652/276 983/1003/491 +f 1091/1113/531 1090/1112/530 1096/1118/22 +f 1097/1119/6 1098/1120/536 1099/1121/6 +f 1100/1122/535 1085/1107/525 823/837/389 +f 1092/1114/532 1101/1123/6 1093/1115/533 +f 1102/1124/537 1103/1125/275 1104/1126/538 +f 1105/1127/1 1106/1128/1 1107/1129/539 +f 1108/1130/540 1092/1114/532 1109/1131/541 +f 1101/1123/6 1110/1132/6 1093/1115/533 +f 654/666/16 674/686/16 655/667/283 +f 651/663/6 659/671/284 652/664/282 +f 1111/1133/1 1112/1134/1 1113/1135/542 +f 1114/1136/543 1115/1137/544 1116/1138/24 +f 1115/1139/544 1114/1140/543 1117/1141/22 +f 1118/1142/34 1119/1143/34 1120/1144/545 +f 1121/1145/477 1122/1146/477 1123/1147/477 +f 1124/1148/546 595/606/256 594/605/255 +f 1122/1146/477 1125/1149/477 1123/1147/477 +f 1126/1150/477 1121/1145/477 1127/1151/477 +f 558/569/237 703/716/299 599/610/16 +f 1128/1152/24 1129/1153/24 1130/1154/24 +f 1131/1155/24 1132/1156/24 1129/1153/24 +f 933/951/471 1133/1157/547 934/952/472 +f 641/653/277 685/697/290 633/645/271 +f 687/699/292 684/696/16 685/697/290 +f 1122/1146/477 952/972/477 954/974/477 +f 1134/1158/477 954/974/477 953/973/477 +f 682/694/16 680/692/287 685/697/290 +f 1127/1151/477 1121/1145/477 1123/1147/477 +f 683/695/289 681/693/288 680/692/287 +f 615/627/22 819/833/22 820/834/22 +f 990/1010/494 928/946/470 927/945/469 +f 848/866/397 1135/1159/548 938/957/476 +f 1136/1160/549 933/951/471 935/953/473 +f 1116/1138/24 1137/1161/542 1113/1135/542 +f 1118/1142/34 1138/1162/550 1139/1163/551 +f 1120/1144/545 1140/1164/22 1117/1165/22 +f 1141/1166/1 1139/1163/551 1138/1162/550 +f 1142/1167/260 1143/1168/552 1144/1169/260 +f 617/629/259 619/631/260 1144/1169/260 +f 1145/1170/24 1146/1171/24 1147/1172/24 +f 1148/1173/24 1149/1174/24 1147/1172/24 +f 1150/1175/24 1151/1176/24 1149/1174/24 +f 1152/1177/22 602/613/22 604/618/22 +f 828/842/6 1153/1178/394 835/851/6 +f 840/856/22 1154/1179/22 841/857/22 +f 1155/1180/241 562/573/6 834/850/6 +f 1156/1181/257 1157/1182/485 1158/1183/553 +f 1159/1184/34 1160/1185/34 1161/1186/34 +f 1162/1187/16 1163/1188/16 1164/1189/16 +f 1165/1190/1 1166/1191/1 1167/1192/1 +f 1168/1193/1 1169/1194/1 1165/1190/1 +f 1153/1178/394 1170/1195/554 835/851/6 +f 1171/1196/555 1172/1197/555 1173/1198/556 +f 1174/1199/557 598/609/258 1158/1183/553 +f 1175/1200/6 1176/1201/6 1177/1202/6 +f 1178/1203/16 1179/1204/16 1180/1205/16 +f 1181/1206/558 1182/1207/558 1183/1208/559 +f 1107/1129/539 1184/1209/560 1185/1210/561 +f 1186/1211/6 1187/1212/6 1188/1213/6 +f 1189/1214/1 1190/1215/1 1191/1216/1 +f 1192/1217/562 1193/1218/563 1194/1219/564 +f 1195/1220/565 1196/1221/566 1197/1222/567 +f 1198/1223/568 1197/1222/567 1193/1218/563 +f 1199/1224/569 1200/1225/570 1201/1226/570 +f 1202/1227/6 1203/1228/6 1199/1224/569 +f 1204/1229/24 1205/1230/24 1206/1231/24 +f 1207/1232/24 1208/1233/24 1209/1234/24 +f 1184/1209/560 1210/1235/571 1211/1236/571 +f 830/847/393 1212/1237/572 1213/1238/573 +f 1214/1239/6 1215/1240/6 1216/1241/6 +f 1217/1242/558 1218/1243/558 1219/1244/574 +f 1176/1201/6 1175/1200/6 1098/1120/536 +f 1098/1120/536 1108/1130/540 1099/1121/6 +f 1220/1245/575 823/837/389 827/841/392 +f 1221/1246/554 1222/1247/576 1223/1248/576 +f 1224/1249/576 1225/1250/576 1170/1195/554 +f 1196/1221/566 1195/1220/565 1226/1251/22 +f 991/1027/24 1006/1026/24 1227/1252/24 +f 1228/1253/24 1206/1231/24 1207/1232/24 +f 1229/1254/24 1227/1252/24 1204/1255/24 +f 1230/1256/577 1231/1257/577 1232/1258/577 +f 1220/1245/575 1100/1122/535 823/837/389 +f 635/647/272 646/658/16 645/657/16 +f 1233/1259/274 1088/1110/528 1087/1109/527 +f 1234/1260/1 1235/1261/1 1236/1262/1 +f 1092/1114/532 1094/1116/534 1109/1131/541 +f 1237/1263/578 1238/1264/579 1239/1265/579 +f 1173/1198/556 1237/1263/578 1240/1266/580 +f 1241/1267/1 1172/1197/555 1171/1196/555 +f 1242/1268/581 1243/1269/581 1244/1270/581 +f 1245/1271/582 1246/1272/582 1247/1273/582 +f 1248/1274/6 1249/1275/6 1250/1276/6 +f 1251/1277/583 1252/1278/583 1253/1279/583 +f 1254/1280/584 1001/1021/41 1000/1020/501 +f 1255/1281/585 1256/1282/586 640/652/276 +f 1257/1283/587 1258/1284/588 1259/1285/589 +f 1260/1286/590 1261/1287/591 1262/1288/585 +f 1263/1289/592 1264/1290/593 1265/1291/594 +f 1255/1281/585 640/652/276 982/1002/490 +f 1256/1282/586 1255/1281/585 1258/1284/588 +f 1266/1292/588 1267/1293/497 1268/1294/595 +f 1267/1293/497 1266/1292/588 1262/1288/585 +f 1261/1287/591 1269/1295/596 1002/1022/502 +f 1270/1296/499 1271/1297/597 1272/1298/598 +f 1207/1232/24 1209/1234/24 1228/1253/24 +f 1228/1253/24 1229/1299/24 1204/1229/24 +f 1273/1300/22 616/628/22 931/949/22 +f 1186/1211/6 1274/1301/6 1187/1212/6 +f 1175/1200/6 1177/1202/6 1274/1301/6 +f 1186/1211/6 1275/1302/6 1175/1200/6 +f 1084/1106/524 626/638/265 628/640/267 +f 628/640/267 1179/1204/16 1178/1203/16 +f 1095/1117/535 1276/1303/575 1277/1304/599 +f 1099/1121/6 1108/1130/540 1109/1131/541 +f 1278/1305/600 1094/1116/534 1095/1117/535 +f 1276/1303/575 1279/1306/601 1277/1304/599 +f 1280/1307/6 1279/1306/601 1276/1303/575 +f 1281/1308/6 1280/1307/6 1282/1309/573 +f 1214/1239/6 1283/1310/572 1215/1240/6 +f 1284/1311/6 1281/1308/6 1283/1310/572 +f 1285/1312/6 1284/1311/6 1214/1239/6 +f 1286/1313/6 1287/1314/6 1285/1312/6 +f 1286/1313/6 1188/1213/6 1287/1314/6 +f 1186/1211/6 1175/1200/6 1274/1301/6 +f 1103/1125/275 1233/1259/274 1288/1315/602 +f 1282/1309/573 1280/1307/6 1276/1303/575 +f 1283/1310/572 1281/1308/6 1282/1309/573 +f 1214/1239/6 1284/1311/6 1283/1310/572 +f 1286/1313/6 1285/1312/6 1214/1239/6 +f 1289/1316/603 1290/1317/604 1291/1318/605 +f 1286/1313/6 1186/1211/6 1188/1213/6 +f 832/846/6 1221/1246/554 831/845/394 +f 839/855/22 842/859/22 837/853/22 +f 1292/1319/606 1293/1320/607 1294/1321/608 +f 958/978/480 967/987/486 1292/1319/606 +f 1295/1322/484 1296/1323/609 1157/1182/485 +f 1296/1323/609 1295/1322/484 1297/1324/610 +f 1297/1324/610 1294/1321/608 1293/1320/607 +f 1298/1325/611 1299/1326/612 1300/1327/613 +f 1299/1326/612 1301/1328/614 1302/1329/615 +f 1303/1330/616 1298/1325/611 1304/1331/617 +f 1301/1328/614 1305/1332/618 1306/1333/619 +f 1307/1334/620 1303/1330/616 1308/1335/621 +f 1305/1332/618 1309/1336/622 1310/1337/623 +f 1311/1338/624 1307/1334/620 1312/1339/625 +f 1309/1336/622 1313/1340/626 1314/1341/627 +f 1315/1342/628 1311/1338/624 1316/1343/629 +f 1313/1340/626 1174/1199/557 1317/1344/630 +f 1290/1317/604 1315/1342/628 1318/1345/631 +f 1319/1346/24 1320/1347/24 1321/1348/632 +f 1322/1349/16 1163/1188/16 1162/1187/16 +f 1164/1189/16 1323/1350/16 1162/1187/16 +f 1324/1351/1 1325/1352/1 1326/1353/1 +f 1323/1350/16 1327/1354/16 1328/1355/16 +f 597/608/1 1329/1356/1 1158/1183/553 +f 560/571/238 562/573/6 1155/1180/241 +f 1330/1357/633 1331/1358/634 1332/1359/635 +f 1332/1359/635 1333/1360/636 1334/1361/637 +f 1334/1361/637 1330/1357/633 1332/1359/635 +f 1335/1362/638 1336/1363/639 1330/1357/633 +f 1337/1364/640 1338/1365/388 1336/1363/639 +f 1339/1366/641 783/797/375 1340/1367/391 +f 565/576/242 625/637/264 563/574/240 +f 1341/1368/642 1342/1369/395 1338/1365/388 +f 783/797/375 564/575/241 1340/1367/391 +f 1339/1366/641 1343/1370/390 1342/1369/395 +f 565/576/242 780/794/373 778/792/371 +f 689/701/294 779/793/372 688/700/293 +f 779/793/372 780/794/373 688/700/293 +f 778/792/371 1344/1371/643 1345/1372/248 +f 689/701/294 649/661/281 1346/1373/644 +f 1344/1371/643 778/792/371 779/793/372 +f 1347/1374/645 1348/1375/646 1349/1376/647 +f 1348/1375/646 1347/1374/645 1350/1377/648 +f 1351/1378/649 1352/1379/650 1353/1380/651 +f 1350/1377/648 1354/1381/652 1355/1382/653 +f 1332/1359/635 1356/1383/654 1333/1360/636 +f 711/725/306 923/941/465 1334/1361/637 +f 923/941/465 921/939/464 1335/1362/638 +f 919/937/463 915/933/461 1341/1368/642 +f 1335/1362/638 921/939/464 919/937/463 +f 915/933/461 700/713/300 1339/1366/641 +f 1340/1367/391 1343/1370/390 1339/1366/641 +f 1357/1384/6 1358/1385/6 784/798/6 +f 624/636/238 564/575/241 563/574/240 +f 775/789/370 688/700/293 780/794/373 +f 1339/1366/641 700/713/300 918/936/462 +f 775/789/370 780/794/373 565/576/242 +f 783/797/375 918/936/462 570/581/247 +f 1359/1386/639 822/836/388 640/652/276 +f 1360/1387/655 1359/1386/639 1256/1282/586 +f 1361/1388/6 1362/1389/656 1360/1387/655 +f 1363/1390/6 1361/1388/6 1256/1282/586 +f 1364/1391/657 1363/1390/6 1257/1283/587 +f 1257/1283/587 1265/1291/594 1264/1290/593 +f 845/862/22 809/823/22 808/822/22 +f 1256/1282/586 1359/1386/639 640/652/276 +f 1361/1388/6 1360/1387/655 1256/1282/586 +f 1257/1283/587 1363/1390/6 1256/1282/586 +f 1264/1290/593 1364/1391/657 1257/1283/587 +f 825/839/391 1155/1180/241 834/850/6 +f 1365/1392/477 1366/1393/477 1367/1394/477 +f 1368/1395/477 1369/1396/477 1370/1397/477 +f 1368/1395/477 1370/1397/477 1367/1394/477 +f 1366/1393/477 1368/1395/477 1367/1394/477 +f 1366/1393/477 1365/1392/477 1371/1398/477 +f 1371/1398/477 1372/1399/477 1373/1400/477 +f 1134/1158/477 953/973/477 1373/1400/477 +f 1374/1401/658 1375/1402/659 1376/1403/660 +f 1376/1403/660 1377/1404/661 1378/1405/662 +f 1379/1406/663 1380/1407/664 1381/1408/665 +f 1382/1409/666 1380/1407/664 1379/1406/663 +f 1124/1148/546 1383/1410/667 1375/1402/659 +f 1121/1145/477 1126/1150/477 1369/1396/477 +f 1373/1400/477 1384/1411/477 1371/1398/477 +f 690/1412/22 606/617/22 839/855/22 +f 1385/1413/24 1386/1414/24 1387/1415/24 +f 1388/1416/6 1389/1417/6 1390/1418/6 +f 1391/1419/22 1392/1420/22 1393/1421/22 +f 1390/1422/6 1394/1423/6 1395/1424/6 +f 1396/1425/5 10/10/5 12/12/5 +f 1397/1426/6 13/13/6 15/15/6 +f 27/27/14 16/16/7 18/18/9 +f 1398/1427/11 19/19/10 21/21/11 +f 1399/1428/12 22/22/12 24/24/12 +f 18/18/9 25/25/13 27/27/14 +f 1400/1429/6 28/28/6 30/30/6 +f 1401/1430/15 31/31/15 33/33/15 +f 84/84/33 75/75/25 77/77/27 +f 54/54/21 78/78/28 57/57/23 +f 79/79/28 78/78/28 81/81/30 +f 81/81/30 80/80/29 83/83/32 +f 83/83/32 82/82/31 76/76/26 +f 1402/1431/34 86/86/34 88/88/34 +f 1403/1432/34 89/89/34 91/91/34 +f 1404/1433/22 92/92/22 94/94/22 +f 1405/1434/6 95/95/6 97/97/6 +f 1406/1435/6 98/98/6 100/100/6 +f 1407/1436/34 101/101/34 103/103/34 +f 251/257/73 109/109/35 111/111/37 +f 635/647/272 112/112/38 114/114/40 +f 578/589/16 115/115/16 117/117/41 +f 1408/1437/488 121/121/42 113/113/39 +f 1409/1438/24 125/125/24 127/127/24 +f 252/258/24 128/128/24 130/130/24 +f 253/259/72 131/131/43 133/133/45 +f 254/260/34 134/134/34 136/136/34 +f 111/111/37 110/110/36 138/138/47 +f 130/130/24 129/129/24 140/1439/24 +f 133/133/45 132/132/44 142/143/49 +f 136/136/34 135/135/34 144/145/34 +f 138/138/47 137/137/46 146/147/51 +f 140/1439/24 139/148/24 148/150/24 +f 142/143/49 141/142/48 150/152/53 +f 144/145/34 143/144/34 152/154/34 +f 146/1440/51 145/1441/50 154/1442/55 +f 148/150/24 147/149/24 156/158/24 +f 150/1443/53 149/1444/52 158/1445/57 +f 152/154/34 151/153/34 160/163/34 +f 1410/1446/78 161/1447/58 163/1448/60 +f 156/158/24 155/157/24 165/168/24 +f 1411/1449/77 166/169/61 168/171/63 +f 160/163/34 159/162/34 170/173/34 +f 163/1448/60 162/174/59 172/176/65 +f 165/168/24 164/167/24 174/178/24 +f 168/171/63 167/170/62 176/180/67 +f 170/173/34 169/172/34 178/182/34 +f 172/176/65 171/175/64 180/184/69 +f 174/178/24 173/177/24 182/186/24 +f 176/180/67 175/179/66 184/188/71 +f 178/182/34 177/181/34 186/190/34 +f 180/184/69 179/183/68 188/1450/72 +f 182/186/24 181/185/24 190/195/24 +f 184/188/71 183/187/70 192/197/73 +f 186/190/34 185/189/34 194/199/34 +f 188/1450/72 187/1451/43 196/1452/45 +f 190/195/24 189/194/24 198/203/24 +f 192/197/73 191/196/35 200/205/37 +f 194/199/34 193/198/34 202/207/34 +f 196/1452/45 195/1453/74 204/1454/49 +f 198/203/24 197/202/24 206/211/24 +f 200/205/37 199/204/36 208/213/47 +f 202/207/34 201/206/34 210/215/34 +f 204/1454/49 203/1455/48 212/1456/53 +f 206/211/24 205/210/24 214/219/24 +f 208/213/47 207/212/46 216/221/76 +f 210/215/34 209/214/34 218/223/34 +f 212/217/53 211/216/52 220/225/77 +f 214/219/24 213/218/24 222/227/24 +f 216/221/76 215/220/75 224/229/78 +f 218/223/34 217/222/34 226/231/34 +f 220/225/77 219/224/56 228/233/80 +f 222/227/24 221/226/24 230/235/24 +f 224/1457/78 223/236/54 232/238/60 +f 226/231/34 225/230/34 234/240/34 +f 228/233/80 227/232/79 236/242/67 +f 230/235/24 229/234/24 238/244/24 +f 232/238/60 231/237/59 240/246/65 +f 234/240/34 233/239/34 242/248/34 +f 236/242/67 235/241/66 244/250/71 +f 238/244/24 237/243/24 246/252/24 +f 240/246/65 239/245/64 248/254/69 +f 242/248/34 241/247/34 250/256/34 +f 244/250/71 243/249/70 251/257/73 +f 246/252/24 245/251/24 252/258/24 +f 248/254/69 247/253/68 253/259/72 +f 250/256/34 249/255/34 254/260/34 +f 278/284/6 255/261/6 257/263/6 +f 257/263/6 256/262/6 259/265/6 +f 259/265/6 258/264/6 261/267/6 +f 261/267/6 260/266/6 263/269/6 +f 263/269/6 262/268/6 265/271/6 +f 265/271/6 264/270/6 267/273/6 +f 267/273/6 266/272/6 269/275/6 +f 269/275/6 268/274/6 271/277/6 +f 271/277/6 270/276/6 273/279/6 +f 273/279/6 272/278/6 275/281/6 +f 275/281/6 274/280/6 277/283/6 +f 277/283/6 276/282/6 278/284/6 +f 289/295/88 279/285/81 281/287/83 +f 341/347/120 282/288/84 284/290/86 +f 294/300/92 288/294/87 289/295/88 +f 284/290/86 283/289/85 291/297/90 +f 1412/1458/197 293/299/91 294/300/92 +f 291/297/90 290/296/89 296/302/94 +f 305/311/101 298/304/95 300/306/97 +f 296/302/94 295/301/93 302/308/99 +f 310/316/105 304/310/100 305/311/101 +f 302/308/99 301/307/98 307/313/103 +f 315/321/108 309/315/104 310/316/105 +f 307/313/103 306/312/102 312/318/107 +f 320/326/111 314/320/102 315/321/108 +f 312/318/107 311/317/106 317/323/105 +f 325/331/99 319/325/110 320/326/111 +f 317/323/105 316/322/109 322/328/112 +f 330/336/115 324/330/113 325/331/99 +f 322/328/112 321/327/95 327/333/114 +f 336/342/118 329/335/89 330/336/115 +f 1413/1459/197 331/337/91 333/339/92 +f 340/346/86 335/341/117 336/342/118 +f 333/339/92 332/338/116 338/344/119 +f 281/287/83 280/286/82 340/346/86 +f 338/344/119 337/343/81 341/347/120 +f 359/365/138 348/354/127 357/363/136 +f 371/377/150 368/374/147 359/365/138 +f 400/406/179 370/376/149 371/377/150 +f 381/387/160 376/382/155 377/383/156 +f 376/382/155 381/387/160 379/385/158 +f 389/395/168 372/378/151 386/392/165 +f 379/385/158 391/397/170 376/382/155 +f 376/382/155 392/398/171 374/380/153 +f 389/395/168 386/392/165 391/397/170 +f 383/389/162 390/396/169 386/392/165 +f 396/402/175 394/400/173 375/381/154 +f 407/413/186 395/401/174 396/402/175 +f 399/405/178 397/403/176 342/348/121 +f 862/880/410 398/404/177 399/405/178 +f 359/365/138 369/375/148 348/354/127 +f 370/376/149 400/406/179 402/408/181 +f 409/415/188 406/412/185 396/402/175 +f 411/417/190 408/414/187 409/415/188 +f 861/879/409 410/416/189 409/415/188 +f 401/407/180 412/418/191 413/419/192 +f 421/427/102 417/423/103 419/425/193 +f 425/431/106 420/426/107 421/427/102 +f 419/425/193 418/424/99 423/429/93 +f 427/433/195 424/430/105 425/431/106 +f 431/437/95 426/432/194 427/433/195 +f 423/429/93 422/428/94 429/435/89 +f 433/439/96 430/436/197 431/437/95 +f 437/443/116 432/438/92 433/439/96 +f 429/435/89 428/434/196 435/441/85 +f 439/445/81 436/442/119 437/443/116 +f 440/446/84 438/444/120 439/445/81 +f 435/441/85 434/440/86 440/446/84 +f 445/451/16 441/447/16 443/449/16 +f 449/455/16 444/450/16 445/451/16 +f 443/449/16 442/448/16 447/453/16 +f 451/457/16 448/454/16 449/455/16 +f 454/461/16 450/456/16 451/457/16 +f 447/453/16 446/452/16 453/459/16 +f 456/463/16 414/460/16 454/461/16 +f 460/467/16 455/462/16 456/463/16 +f 453/459/16 452/458/16 458/465/16 +f 462/469/16 459/466/16 460/467/16 +f 463/470/16 461/468/16 462/469/16 +f 458/465/16 457/464/16 463/470/16 +f 471/478/99 467/474/98 469/476/103 +f 480/487/94 470/477/93 471/478/99 +f 469/476/103 468/475/102 474/481/107 +f 474/481/107 473/480/106 478/485/105 +f 490/497/90 479/486/89 480/487/94 +f 478/485/105 477/484/109 483/490/198 +f 503/510/203 486/493/199 488/495/200 +f 500/507/86 489/496/85 490/497/90 +f 1414/1460/201 492/499/201 494/501/202 +f 487/494/199 486/493/199 498/505/119 +f 502/509/120 499/506/84 500/507/86 +f 498/505/119 497/504/81 502/509/120 +f 493/500/202 503/510/203 494/501/202 +f 1415/1461/205 483/490/198 504/512/204 +f 1414/1460/201 505/513/205 492/499/201 +f 1416/1462/16 416/515/16 507/517/16 +f 551/562/230 511/522/207 513/524/209 +f 513/524/209 512/523/208 519/530/211 +f 519/530/211 518/529/210 523/534/213 +f 1417/1463/668 526/537/214 528/539/216 +f 528/539/216 527/538/215 532/543/218 +f 532/543/218 531/542/217 536/547/220 +f 1418/1464/16 537/548/16 539/550/221 +f 1419/1465/222 539/550/221 542/553/222 +f 536/547/220 535/546/219 544/555/224 +f 550/561/229 546/557/225 548/559/227 +f 1007/1029/503 549/560/228 550/561/229 +f 544/555/224 543/554/223 551/562/230 +f 806/820/382 555/566/234 552/563/231 +f 548/559/227 547/558/226 567/578/244 +f 1420/1466/1 572/583/1 574/585/1 +f 1382/1409/666 580/591/249 582/593/251 +f 1421/1467/1 587/598/1 589/600/1 +f 581/592/250 594/605/255 582/593/251 +f 963/983/485 596/607/257 598/609/258 +f 1422/1468/24 607/619/24 609/621/24 +f 609/621/24 608/620/24 611/623/24 +f 610/622/24 612/624/24 611/623/24 +f 569/580/246 568/579/245 623/635/263 +f 1345/1372/248 624/636/238 625/637/264 +f 1423/1469/524 632/644/270 634/646/41 +f 112/112/38 635/647/272 637/649/267 +f 689/701/294 647/659/279 649/661/281 +f 704/954/22 678/690/22 614/626/22 +f 1424/1470/16 695/708/16 697/710/16 +f 807/821/383 706/720/34 708/722/303 +f 1425/1471/669 715/729/310 717/731/312 +f 911/929/459 718/732/313 713/727/308 +f 739/753/334 735/749/330 737/751/332 +f 1426/1472/22 787/801/22 789/803/22 +f 1427/1473/6 790/804/6 792/806/6 +f 1428/1474/670 793/807/376 795/809/376 +f 1429/1475/1 796/810/1 798/812/1 +f 1430/1476/22 799/813/378 801/815/22 +f 781/795/374 554/565/233 807/821/383 +f 816/830/34 811/825/34 812/826/384 +f 811/825/34 813/827/34 781/795/374 +f 812/826/384 814/828/385 816/830/34 +f 814/828/385 812/826/384 818/832/386 +f 552/563/231 556/567/235 821/835/387 +f 841/857/22 846/863/22 838/858/22 +f 851/869/399 847/865/396 849/867/398 +f 1431/1477/16 850/868/16 851/869/399 +f 1432/1478/671 346/352/125 852/870/400 +f 400/406/179 853/871/401 401/407/180 +f 853/871/401 854/872/402 412/418/191 +f 863/881/411 854/872/402 856/874/404 +f 400/406/179 371/377/150 853/871/401 +f 365/371/144 858/876/406 364/370/143 +f 1433/1479/672 858/876/406 857/875/405 +f 1433/1479/672 857/875/405 408/414/187 +f 360/366/139 357/363/136 860/878/408 +f 348/354/127 350/356/129 362/368/141 +f 737/751/332 736/750/331 768/782/363 +f 899/917/447 876/894/424 731/745/326 +f 876/894/424 877/895/425 732/746/327 +f 880/898/428 881/899/429 883/901/431 +f 886/904/434 882/900/430 884/902/432 +f 873/891/421 879/897/427 889/907/437 +f 895/913/443 894/912/442 881/899/429 +f 893/911/441 895/913/443 880/898/428 +f 895/913/443 889/907/437 894/912/442 +f 895/913/443 893/911/441 889/907/437 +f 883/901/431 897/915/445 719/733/314 +f 897/915/445 773/787/368 720/734/315 +f 774/788/369 898/916/446 742/756/337 +f 898/916/446 756/770/351 740/754/335 +f 766/780/361 899/917/447 736/750/331 +f 758/772/353 878/896/426 759/773/354 +f 748/762/343 900/918/448 720/734/315 +f 900/918/448 902/920/450 901/919/449 +f 903/921/451 764/778/359 901/919/449 +f 727/741/322 904/922/452 760/774/355 +f 727/741/322 765/779/360 906/924/454 +f 904/922/452 907/925/455 758/772/353 +f 1434/1480/673 908/926/456 904/922/452 +f 907/925/455 908/926/456 761/775/356 +f 761/775/356 732/746/327 907/925/455 +f 770/784/365 909/927/457 769/783/364 +f 746/760/341 909/927/457 747/761/342 +f 900/918/448 747/761/342 902/920/450 +f 755/769/350 768/782/363 763/777/358 +f 718/732/313 911/929/459 716/730/311 +f 583/594/252 912/930/460 647/659/279 +f 912/930/460 583/594/252 623/635/263 +f 698/711/298 700/713/300 916/934/297 +f 916/934/297 915/933/461 920/938/278 +f 920/938/278 919/937/463 922/940/277 +f 922/940/277 921/939/464 924/942/466 +f 1435/1481/6 929/947/6 930/948/6 +f 1135/1159/548 936/955/474 938/957/476 +f 936/955/474 939/1482/6 937/956/475 +f 1436/1483/16 941/1484/16 943/1485/16 +f 1437/1486/22 946/966/22 948/968/22 +f 1438/1487/16 949/969/16 951/971/16 +f 1439/1488/674 955/975/478 957/977/478 +f 962/982/484 961/981/483 959/979/481 +f 961/981/483 962/982/484 963/983/485 +f 1440/1489/1 964/984/1 966/986/1 +f 1441/1490/378 972/992/378 974/994/22 +f 692/705/296 992/1012/34 807/821/383 +f 1442/1491/34 993/1013/495 707/721/34 +f 1443/1492/386 708/722/303 994/1014/386 +f 997/1017/498 685/697/290 996/1016/497 +f 681/693/288 998/1018/499 679/691/286 +f 1269/1295/596 1000/1020/501 1002/1022/502 +f 996/1016/497 680/692/287 999/1019/500 +f 1444/1493/16 1003/1023/16 1005/1025/16 +f 549/560/228 1007/1029/503 1009/1031/22 +f 1445/1494/504 1010/1032/504 584/595/253 +f 1446/1495/504 968/988/487 1011/1033/504 +f 1062/1084/510 1019/1041/22 1021/1043/506 +f 1447/1496/675 1022/1044/16 1024/1046/507 +f 1448/1497/24 1025/1047/24 1027/1049/24 +f 1449/1498/34 1028/1050/34 1030/1052/34 +f 1026/1048/24 1031/1053/24 1027/1049/24 +f 1447/1496/675 1024/1046/507 1020/1042/505 +f 1036/1058/508 1033/1055/508 1035/1057/16 +f 1068/1090/520 1033/1055/508 1037/1059/509 +f 1450/1499/512 1038/1060/510 1040/1062/512 +f 1451/1500/34 1041/1063/34 1043/1065/34 +f 1017/1039/34 1043/1065/34 1016/1038/34 +f 1058/1080/517 1047/1069/22 1049/1071/514 +f 1452/1501/6 1050/1072/6 1052/1074/516 +f 1057/1079/24 1053/1075/24 1055/1077/24 +f 1453/1502/24 1032/1054/24 1056/1078/24 +f 1453/1502/24 1056/1078/24 1055/1077/24 +f 1049/1071/514 1052/1074/516 1058/1080/517 +f 1454/1503/6 1059/1081/518 1061/1083/6 +f 1021/1043/506 1049/1071/514 1062/1084/510 +f 1449/1498/34 1030/1052/34 1015/1037/34 +f 1060/1082/518 1059/1081/518 1067/1089/519 +f 1066/1088/519 1068/1090/520 1067/1089/519 +f 1455/1504/523 1081/1103/523 1083/1105/523 +f 1456/1505/676 1089/1111/529 1091/1113/531 +f 1457/1506/677 1102/1124/537 1104/1126/538 +f 1458/1507/678 1105/1127/1 1107/1129/539 +f 1137/1161/542 1111/1133/1 1113/1135/542 +f 1459/1508/24 1114/1136/543 1116/1138/24 +f 1140/1509/22 1115/1139/544 1117/1141/22 +f 1460/1510/545 1118/1142/34 1120/1144/545 +f 1383/1410/667 1124/1148/546 594/605/255 +f 1461/1511/24 1128/1152/24 1130/1154/24 +f 1128/1152/24 1131/1155/24 1129/1153/24 +f 1125/1149/477 1122/1146/477 954/974/477 +f 849/867/398 848/866/397 938/957/476 +f 1459/1508/24 1116/1138/24 1113/1135/542 +f 1119/1143/34 1118/1142/34 1139/1163/551 +f 1460/1510/545 1120/1144/545 1117/1165/22 +f 1462/1512/1 1141/1513/1 1138/1514/550 +f 1143/1168/552 617/629/259 1144/1169/260 +f 1463/1515/24 1145/1170/24 1147/1172/24 +f 1146/1171/24 1148/1173/24 1147/1172/24 +f 1148/1173/24 1150/1175/24 1149/1174/24 +f 690/702/22 1152/1177/22 604/618/22 +f 1329/1356/1 1156/1181/257 1158/1183/553 +f 1464/1516/34 1159/1184/34 1161/1186/34 +f 1167/1192/1 1168/1193/1 1165/1190/1 +f 1465/1517/556 1171/1196/555 1173/1198/556 +f 1317/1344/630 1174/1199/557 1158/1183/553 +f 1466/1518/16 1178/1203/16 1180/1205/16 +f 1457/1506/677 1467/1519/679 1102/1124/537 +f 1458/1507/678 1107/1129/539 1185/1210/561 +f 1468/1520/1 1189/1214/1 1191/1216/1 +f 1469/1521/680 1192/1217/562 1194/1219/564 +f 1198/1223/568 1195/1220/565 1197/1222/567 +f 1192/1217/562 1198/1223/568 1193/1218/563 +f 1470/1522/569 1199/1224/569 1201/1226/570 +f 1470/1522/569 1202/1227/6 1199/1224/569 +f 1228/1253/24 1204/1229/24 1206/1231/24 +f 1185/1210/561 1184/1209/560 1211/1236/571 +f 827/841/392 830/847/393 1213/1238/573 +f 1097/1119/6 1176/1201/6 1098/1120/536 +f 1213/1238/573 1220/1245/575 827/841/392 +f 831/845/394 1221/1246/554 1223/1248/576 +f 1153/1178/394 1224/1249/576 1170/1195/554 +f 1471/1523/22 1196/1221/566 1226/1251/22 +f 1229/1254/24 991/1027/24 1227/1252/24 +f 1472/1524/577 1230/1256/577 1232/1258/577 +f 1288/1315/602 1233/1259/274 1087/1109/527 +f 1473/1525/1 1234/1260/1 1236/1262/1 +f 1240/1266/580 1237/1263/578 1239/1265/579 +f 1465/1517/556 1173/1198/556 1240/1266/580 +f 1474/1526/1 1241/1267/1 1171/1196/555 +f 1475/1527/581 1242/1268/581 1244/1270/581 +f 1476/1528/582 1245/1271/582 1247/1273/582 +f 1477/1529/6 1248/1274/6 1250/1276/6 +f 1478/1530/583 1251/1277/583 1253/1279/583 +f 1260/1286/590 1254/1280/584 1000/1020/501 +f 1265/1291/594 1257/1283/587 1259/1285/589 +f 1254/1280/584 1260/1286/590 1262/1288/585 +f 1259/1285/589 1263/1289/592 1265/1291/594 +f 1257/1283/587 1256/1282/586 1258/1284/588 +f 1272/1298/598 1266/1292/588 1268/1294/595 +f 1002/1022/502 1267/1293/497 1262/1288/585 +f 1262/1288/585 1261/1287/591 1002/1022/502 +f 1268/1294/595 1270/1296/499 1272/1298/598 +f 1084/1106/524 628/640/267 1178/1203/16 +f 1277/1304/599 1278/1305/600 1095/1117/535 +f 1104/1126/538 1103/1125/275 1288/1315/602 +f 1479/1531/681 1289/1316/603 1291/1318/605 +f 1294/1321/608 958/978/480 1292/1319/606 +f 1156/1181/257 1295/1322/484 1157/1182/485 +f 1293/1320/607 1296/1323/609 1297/1324/610 +f 1304/1331/617 1298/1325/611 1300/1327/613 +f 1300/1327/613 1299/1326/612 1302/1329/615 +f 1308/1335/621 1303/1330/616 1304/1331/617 +f 1302/1329/615 1301/1328/614 1306/1333/619 +f 1312/1339/625 1307/1334/620 1308/1335/621 +f 1306/1333/619 1305/1332/618 1310/1337/623 +f 1316/1343/629 1311/1338/624 1312/1339/625 +f 1310/1337/623 1309/1336/622 1314/1341/627 +f 1318/1345/631 1315/1342/628 1316/1343/629 +f 1314/1341/627 1313/1340/626 1317/1344/630 +f 1291/1318/605 1290/1317/604 1318/1345/631 +f 1480/1532/608 1319/1346/24 1321/1348/632 +f 1481/1533/1 1324/1351/1 1326/1353/1 +f 1162/1187/16 1323/1350/16 1328/1355/16 +f 598/609/258 597/608/1 1158/1183/553 +f 1334/1361/637 1335/1362/638 1330/1357/633 +f 1335/1362/638 1337/1364/640 1336/1363/639 +f 1337/1364/640 1341/1368/642 1338/1365/388 +f 1341/1368/642 1339/1366/641 1342/1369/395 +f 625/637/264 778/792/371 1345/1372/248 +f 779/793/372 689/701/294 1346/1373/644 +f 1346/1373/644 1344/1371/643 779/793/372 +f 1353/1380/651 1347/1374/645 1349/1376/647 +f 1355/1382/653 1348/1375/646 1350/1377/648 +f 1349/1376/647 1351/1378/649 1353/1380/651 +f 1333/1360/636 711/725/306 1334/1361/637 +f 1334/1361/637 923/941/465 1335/1362/638 +f 1337/1364/640 919/937/463 1341/1368/642 +f 1337/1364/640 1335/1362/638 919/937/463 +f 1341/1368/642 915/933/461 1339/1366/641 +f 786/800/6 1357/1384/6 784/798/6 +f 783/797/375 1339/1366/641 918/936/462 +f 570/581/247 775/789/370 565/576/242 +f 565/576/242 783/797/375 570/581/247 +f 819/833/22 845/862/22 808/822/22 +f 1384/1411/477 1366/1393/477 1371/1398/477 +f 1372/1399/477 1134/1158/477 1373/1400/477 +f 1482/1534/682 1374/1401/658 1376/1403/660 +f 1482/1534/682 1376/1403/660 1378/1405/662 +f 1483/1535/661 1379/1406/663 1381/1408/665 +f 580/591/249 1382/1409/666 1379/1406/663 +f 1374/1401/658 1124/1148/546 1375/1402/659 +f 1368/1395/477 1121/1145/477 1369/1396/477 +f 844/861/22 690/1412/22 839/855/22 +f 1484/1536/24 1385/1413/24 1387/1415/24 +f 1485/1537/22 1391/1419/22 1393/1421/22 +f 1388/1416/6 1390/1418/6 1395/1538/6 +f 1/1/1 3/3/1 1486/1539/1 +f 1/1/1 6/6/1 5/5/1 +f 6/6/1 1/1/1 1486/1539/1 +f 84/84/33 4/4/2 6/6/1 +o mag_pistol_0 +v -1.109136 1.854146 1.546994 +v -1.109136 6.483851 2.313161 +v -1.109136 1.746315 1.309461 +v 1.109136 6.483851 2.313161 +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.432841 +v -0.855096 7.454038 0.681172 +v -0.637953 7.455005 0.432841 +v -1.109136 7.447666 2.316916 +v -0.851242 7.447666 2.316916 +v -0.645065 7.456246 0.114420 +v -0.808240 7.456246 0.114420 +v -0.882817 -7.449294 -6.242330 +v -1.332151 -7.578506 -5.806303 +v -1.109136 -7.583718 -5.788712 +v -1.260158 -8.694220 -2.041337 +v -1.109136 -8.686133 -2.068621 +v -0.818644 -8.777006 -1.761974 +v -0.549908 -9.201518 -0.329464 +v 0.549908 -9.201518 -0.329464 +v 0.855096 7.454038 0.681172 +v 1.109136 7.455005 0.432841 +v 0.637953 7.455005 0.432841 +v 0.645065 7.456246 0.114420 +v 0.808240 7.456246 0.114420 +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.487273 -6.114169 +v 0.791829 -7.487273 -6.114169 +v 0.882817 -7.449294 -6.242330 +v 1.109136 -7.583718 -5.788712 +v 1.332151 -7.578506 -5.806303 +v 1.109136 -8.686133 -2.068621 +v -0.527911 -9.865828 -0.558223 +v 0.527911 -9.865828 -0.558223 +v 0.549908 -9.201518 -0.329464 +v 0.527911 -9.865828 -0.558223 +v -0.527911 -9.865828 -0.558223 +v -1.263812 -9.320386 -2.284041 +v -0.889556 -7.991922 -6.487401 +v 0.889556 -7.991922 -6.487401 +v 1.326758 -8.130615 -6.048566 +v 1.263812 -9.320386 -2.284041 +v -1.326758 -8.130615 -6.048566 +v 1.260158 -8.694220 -2.041337 +v 0.818644 -8.777006 -1.761974 +v -0.440888 6.323021 -0.358271 +v 1.109136 7.447666 2.316916 +v -0.549908 -9.201518 -0.329464 +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.184810 +v -0.823423 6.188930 3.832172 +v -0.613250 5.916148 3.869261 +v 0.639183 4.693711 3.350439 +v 0.613250 5.916148 3.869261 +v -0.791829 -7.487273 -6.114169 +v -0.440888 6.323021 -0.358271 +v 0.791829 -7.487273 -6.114169 +v 1.109136 6.187971 4.078715 +v 1.109136 1.608211 2.157616 +v 1.109136 7.455005 0.432841 +v 1.109136 -7.583718 -5.788712 +v 1.109136 1.421237 1.150594 +v 1.109136 1.152737 1.225781 +v 0.613250 6.186937 4.344060 +v 0.613250 5.905007 4.230343 +v 0.807799 6.186929 4.345726 +v -0.367306 5.610397 4.110493 +v -0.804550 1.432484 2.382775 +v 0.367306 5.610397 4.110493 +v -0.613250 6.186937 4.344060 +v -0.807799 6.186929 4.345726 +v -0.613250 5.905007 4.230343 +v -0.818644 -8.777006 -1.761974 +v 0.818644 -8.777006 -1.761974 +v -0.775337 0.764493 2.107609 +v -1.109136 1.608211 2.157616 +v -1.109136 7.455005 0.432841 +v -1.109136 1.421237 1.150594 +v -1.109136 -7.583718 -5.788712 +v -1.109136 1.152737 1.225781 +v -0.629678 6.747400 -0.181054 +v 0.440888 6.323021 -0.358271 +v 0.629678 6.747400 -0.181054 +v -0.784480 5.973367 0.123958 +v -0.784649 4.758710 3.184810 +v 0.784480 5.973367 0.123958 +v 1.109136 7.447666 2.316916 +v 1.109136 -8.686133 -2.068621 +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.068621 +v -1.109136 6.187971 4.078715 +v -0.613250 6.189570 3.985306 +v -1.109136 6.193875 2.563060 +v -1.109136 6.187971 4.078715 +v -0.823423 6.188930 3.832172 +v -0.808240 7.456246 0.114420 +v -1.109136 7.447666 2.316916 +v -1.109136 6.483851 2.313161 +v -0.839998 6.483851 2.313161 +v -0.855295 6.193875 2.563060 +v -0.855096 7.454038 0.681172 +v -0.851242 7.447666 2.316916 +v -0.839998 6.483851 2.313161 +v -0.613250 5.916148 3.869261 +v -0.613250 5.905007 4.230343 +v -0.367306 5.610397 4.110493 +v -0.613250 6.189570 3.985306 +v -0.613250 6.186937 4.344060 +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.761974 +v -1.326758 -8.130615 -6.048566 +v -1.332151 -7.578506 -5.806303 +v -0.882817 -7.449294 -6.242330 +v -1.263812 -9.320386 -2.284041 +v -1.260158 -8.694220 -2.041337 +v -0.527911 -9.865828 -0.558223 +v -0.549908 -9.201518 -0.329464 +v -0.855295 6.193875 2.563060 +v -0.637953 7.455005 0.432841 +v -0.610240 6.670014 0.107513 +v -0.586664 6.044359 -0.058251 +v -0.413784 6.208827 -0.016872 +v -0.629678 6.747400 -0.181054 +v -0.645065 7.456246 0.114420 +v -0.610240 6.670014 0.107513 +v -0.784480 5.973367 0.123958 +v -0.637953 7.455005 0.432841 +v -0.413784 6.208827 -0.016872 +v -0.440888 6.323021 -0.358271 +v -0.807799 6.186929 4.345726 +v -0.613250 6.189570 3.985306 +v 0.586664 6.044359 -0.058251 +v 0.889556 -7.991922 -6.487401 +v -0.889556 -7.991922 -6.487401 +v 0.784480 5.973367 0.123958 +v 0.855096 7.454038 0.681172 +v 0.610240 6.670014 0.107513 +v 0.637953 7.455005 0.432841 +v 0.645065 7.456246 0.114420 +v 0.610240 6.670014 0.107513 +v 1.109136 6.187971 4.078715 +v 1.109136 6.193875 2.563060 +v 0.823423 6.188930 3.832172 +v 0.851242 7.447666 2.316916 +v 0.839998 6.483851 2.313161 +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.181054 +v 0.807799 6.186929 4.345726 +v 0.613250 6.189570 3.985306 +v 0.784649 4.758710 3.184810 +v 0.586664 6.044359 -0.058251 +v 0.613250 6.186937 4.344060 +v 0.613250 6.189570 3.985306 +v 0.823423 6.188930 3.832172 +v 0.808240 7.456246 0.114420 +v 1.109136 7.447666 2.316916 +v 0.851242 7.447666 2.316916 +v 0.839998 6.483851 2.313161 +v 1.109136 6.483851 2.313161 +v 0.855295 6.193875 2.563060 +v -0.330292 5.643600 3.823889 +v 0.367306 5.610397 4.110493 +v 0.613250 5.916148 3.869261 +v 0.330292 5.643600 3.823889 +v 0.613250 5.905007 4.230343 +v 0.613250 6.186937 4.344060 +v 0.807799 6.186929 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.761974 +v -0.613250 6.186937 4.344060 +v 1.326758 -8.130615 -6.048566 +v 0.882817 -7.449294 -6.242330 +v 1.332151 -7.578506 -5.806303 +v 1.260158 -8.694220 -2.041337 +v 1.263812 -9.320386 -2.284041 +v 0.549908 -9.201518 -0.329464 +v 0.637953 7.455005 0.432841 +v 0.610240 6.670014 0.107513 +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.184810 +v -1.109136 7.447666 2.316916 +v -0.851242 7.447666 2.316916 +v -0.807799 6.186929 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.558223 +v 0.645065 7.456246 0.114420 +v -0.645065 7.456246 0.114420 +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.335363 0.817407 +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.296468 0.862987 +vt 0.296171 0.863007 +vt 0.296386 0.863086 +vt 0.296139 0.863393 +vt 0.296375 0.863361 +vt 0.296301 0.863656 +vt 0.296450 0.863484 +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.335928 0.815727 +vt 0.336384 0.815738 +vt 0.335562 0.813576 +vt 0.335880 0.815923 +vt 0.336756 0.815704 +vt 0.336722 0.815432 +vt 0.335975 0.820462 +vt 0.336109 0.820051 +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.338293 0.815922 +vt 0.338229 0.815719 +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.337407 0.815436 +vt 0.337372 0.815710 +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.339004 0.817387 +vt 0.338796 0.817419 +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.338482 0.820342 +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.299359 0.862966 +vt 0.300174 0.863004 +vt 0.300297 0.862779 +vt 0.300257 0.863103 +vt 0.300477 0.863024 +vt 0.300265 0.863381 +vt 0.300502 0.863417 +vt 0.300188 0.863503 +vt 0.300332 0.863678 +vt 0.299357 0.863640 +vt 0.317870 0.827942 +vt 0.317895 0.827574 +vt 0.308779 0.827646 +vt 0.336132 0.820332 +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.352318 0.454386 +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.335570 0.817415 +vt 0.323128 0.837416 +vt 0.297271 0.863612 +vt 0.296386 0.863086 +vt 0.297273 0.862936 +vt 0.317935 0.837436 +vt 0.338501 0.820063 +vt 0.299652 0.863857 +vt 0.352262 0.453765 +vt 0.322736 0.831880 +vt 0.322741 0.833092 +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.0034 -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.0009 0.3847 -0.9230 +vn 0.0010 0.3847 -0.9230 +vn 0.0009 0.3847 -0.9230 +vn 0.0000 0.9310 0.3650 +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.0039 -0.2479 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.0482 +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.0012 1.0000 0.0025 +vn -0.9999 0.0117 -0.0023 +vn -0.9998 0.0092 0.0149 +vn -0.9997 0.0240 0.0100 +vn -0.0058 -0.2497 0.9683 +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.9304 0.3666 +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 +usemtl Material.001 +s off +f 1487/1540/683 1488/1541/683 1489/1542/683 +f 1490/1543/684 1491/1544/684 1492/1545/684 +f 1490/1543/684 1492/1545/684 1493/1546/684 +f 1487/1540/683 1494/1547/683 1488/1541/683 +f 1495/1548/685 1496/1549/685 1497/1550/685 +f 1495/1548/685 1498/1551/685 1499/1552/685 +f 1497/1550/685 1500/1553/685 1501/1554/685 +f 1502/1555/686 1503/1556/686 1504/1557/686 +f 1503/1556/686 1505/1558/686 1506/1559/686 +f 1501/1554/685 1495/1548/685 1497/1550/685 +f 1507/1560/686 1508/1561/686 1509/1562/686 +f 1510/1563/685 1511/1564/685 1512/1565/685 +f 1513/1566/685 1512/1565/685 1514/1567/685 +f 1515/1568/687 1516/1569/687 1517/1570/687 +f 1511/1564/685 1510/1563/685 1518/1571/685 +f 1502/1555/686 1519/1572/686 1520/1573/686 +f 1521/1574/686 1520/1573/686 1522/1575/686 +f 1523/1576/686 1522/1575/686 1524/1577/686 +f 1525/1578/688 1526/1579/688 1527/1580/688 +f 1511/1564/685 1514/1567/685 1512/1565/685 +f 1528/1581/689 1529/1582/689 1530/1583/689 +f 1531/1584/689 1532/1585/689 1533/1586/689 +f 1534/1587/689 1530/1583/689 1535/1588/689 +f 1536/1589/686 1524/1577/686 1537/1590/686 +f 1496/1549/685 1495/1548/685 1499/1552/685 +f 1519/1572/686 1502/1555/686 1504/1557/686 +f 1504/1557/686 1503/1556/686 1506/1559/686 +f 1537/1590/686 1507/1560/686 1509/1562/686 +f 1538/1591/687 1515/1568/687 1517/1570/687 +f 1539/1592/685 1511/1564/685 1518/1571/685 +f 1521/1574/686 1502/1555/686 1520/1573/686 +f 1523/1576/686 1521/1574/686 1522/1575/686 +f 1536/1589/686 1523/1576/686 1524/1577/686 +f 1540/1593/688 1525/1578/688 1527/1580/688 +f 1534/1587/689 1528/1581/689 1530/1583/689 +f 1535/1588/689 1531/1584/689 1533/1586/689 +f 1533/1586/689 1534/1587/689 1535/1588/689 +f 1509/1562/686 1536/1589/686 1537/1590/686 +f 1507/1560/686 1506/1559/686 1508/1561/686 +s 1 +f 1541/1594/690 1542/1595/691 1543/1596/692 +f 1543/1596/692 1544/1597/693 1545/1598/694 +f 1543/1596/692 1546/1599/695 1541/1594/690 +f 1542/1595/691 1547/1600/696 1543/1596/692 +f 1542/1595/691 1548/1601/697 1547/1600/696 +f 1549/1602/698 1550/1603/699 1551/1604/700 +f 1552/1605/701 1553/1606/702 1491/1544/684 +f 1554/1607/703 1490/1543/684 1493/1546/684 +f 1555/1608/704 1554/1607/703 1556/1609/684 +f 1556/1609/684 1557/1610/684 1555/1608/704 +f 1558/1611/705 1559/1612/706 1560/1613/707 +f 1561/1614/708 1562/1615/709 1563/1616/710 +f 1564/1617/711 1565/1618/712 1566/1619/713 +f 1567/1620/714 1568/1621/715 1569/1622/716 +f 1487/1540/683 1570/1623/717 1494/1547/683 +f 1489/1542/683 1571/1624/718 1572/1625/683 +f 1572/1625/683 1573/1626/719 1574/1627/683 +f 1549/1602/698 1575/1628/720 1550/1603/699 +f 1550/1603/699 1576/1629/721 1551/1604/700 +f 1551/1604/700 1576/1629/721 1577/1630/722 +f 1578/1631/723 1579/1632/724 1580/1633/725 +f 1554/1607/703 1581/1634/684 1490/1543/684 +f 1553/1606/702 1492/1545/684 1491/1544/684 +f 1554/1607/703 1493/1546/684 1556/1609/684 +f 1557/1610/684 1582/1635/726 1555/1608/704 +f 1559/1612/706 1583/1636/727 1560/1613/707 +f 1559/1612/706 1563/1616/710 1583/1636/727 +f 1562/1615/709 1583/1636/727 1563/1616/710 +f 1561/1614/708 1566/1619/713 1562/1615/709 +f 1565/1618/712 1562/1615/709 1566/1619/713 +f 1568/1621/715 1584/1637/728 1569/1622/716 +f 1585/1638/729 1574/1627/683 1586/1639/730 +f 1488/1541/683 1571/1624/718 1489/1542/683 +f 1570/1623/717 1587/1640/731 1494/1547/683 +f 1571/1624/718 1573/1626/719 1572/1625/683 +f 1573/1626/719 1586/1639/730 1574/1627/683 +f 1545/1598/694 1588/1641/732 1546/1599/695 +f 1589/1642/733 1590/1643/734 1591/1644/735 +f 1592/1645/736 1549/1602/698 1573/1626/719 +f 1593/1646/737 1594/1647/738 1595/1648/739 +f 1594/1647/738 1589/1642/733 1596/1649/740 +f 1597/1650/741 1598/1651/742 1599/1652/743 +f 1600/1653/744 1601/1654/745 1602/1655/746 +f 1600/1653/744 1603/1656/684 1604/1657/684 +f 1587/1640/731 1570/1623/717 1605/1658/709 +f 1606/1659/747 1607/1660/748 1608/1661/749 +f 1609/1662/750 1608/1661/749 1607/1660/748 +f 1610/1663/751 1611/1664/752 1612/1665/753 +f 1611/1664/752 1613/1666/754 1614/1667/755 +f 1613/1666/754 1615/1668/756 1616/1669/757 +f 1615/1668/756 1617/1670/758 1618/1671/759 +f 1617/1670/758 1619/1672/760 1620/1673/761 +f 1585/1638/729 1586/1639/730 1621/1674/714 +f 1622/1675/762 1623/1676/763 1624/1677/764 +f 1622/1675/762 1625/1678/765 1626/1679/766 +f 1625/1678/765 1627/1680/767 1628/1681/768 +f 1544/1597/693 1629/1682/769 1545/1598/694 +f 1630/1683/770 1597/1650/741 1631/1684/771 +f 1631/1684/771 1632/1685/772 1633/1686/773 +f 1634/1687/774 1635/1688/775 1636/1689/776 +f 1597/1650/741 1637/1690/777 1631/1684/771 +f 1635/1688/775 1638/1691/778 1636/1689/776 +f 1637/1690/777 1599/1652/743 1629/1682/769 +f 1639/1692/779 1640/1693/780 1634/1687/774 +f 1590/1643/734 1641/1694/781 1642/1695/782 +f 1637/1690/777 1597/1650/741 1599/1652/743 +f 1596/1649/740 1589/1642/733 1591/1644/735 +f 1544/1597/693 1637/1690/777 1629/1682/769 +f 1631/1684/771 1637/1690/777 1632/1685/772 +f 1632/1685/772 1643/1696/783 1633/1686/773 +f 1636/1689/776 1639/1692/779 1634/1687/774 +f 1644/1697/784 1645/1698/785 1624/1677/764 +f 1646/1699/786 1647/1700/787 1648/1701/788 +f 1649/1702/789 1650/1703/790 1651/1704/788 +f 1652/1705/791 1653/1706/792 1654/1707/793 +f 1655/1708/794 1647/1700/787 1656/1709/795 +f 1656/1709/795 1646/1699/786 1657/1710/796 +f 1633/1686/773 1643/1696/783 1658/1711/797 +f 1659/1712/798 1660/1713/799 1661/1714/800 +f 1662/1715/801 1652/1705/791 1663/1716/802 +f 1647/1700/787 1646/1699/786 1656/1709/795 +f 1646/1699/786 1664/1717/803 1657/1710/796 +f 1646/1699/786 1648/1701/788 1665/1718/783 +f 1660/1713/799 1651/1704/788 1661/1714/800 +f 1652/1705/791 1654/1707/793 1663/1716/802 +f 1662/1715/801 1663/1716/802 1666/1719/804 +f 1548/1601/697 1667/1720/805 1668/1721/806 +f 1591/1644/735 1590/1643/734 1642/1695/782 +f 1669/1722/807 1554/1607/703 1555/1608/704 +f 1670/1723/737 1671/1724/737 1672/1725/739 +f 1673/1726/808 1672/1725/739 1674/1727/740 +f 1675/1728/809 1602/1655/746 1676/1729/810 +f 1677/1730/811 1678/1731/812 1676/1729/810 +f 1677/1730/811 1679/1732/813 1680/1733/683 +f 1552/1605/701 1681/1734/707 1682/1735/727 +f 1683/1736/814 1684/1737/815 1685/1738/816 +f 1686/1739/817 1687/1740/818 1688/1741/819 +f 1689/1742/820 1690/1743/821 1691/1744/822 +f 1692/1745/823 1691/1744/822 1693/1746/824 +f 1694/1747/825 1693/1746/824 1695/1748/826 +f 1696/1749/827 1695/1748/826 1697/1750/828 +f 1698/1751/829 1697/1750/828 1699/1752/830 +f 1700/1753/831 1701/1754/832 1702/1755/715 +f 1642/1695/782 1641/1694/781 1703/1756/804 +f 1704/1757/833 1644/1697/784 1705/1758/834 +f 1704/1757/833 1706/1759/835 1707/1760/836 +f 1708/1761/837 1707/1760/836 1709/1762/838 +f 1657/1710/796 1664/1717/803 1668/1721/806 +f 1647/1700/787 1710/1763/839 1648/1701/788 +f 1643/1696/783 1711/1764/840 1658/1711/797 +f 1650/1703/790 1661/1714/800 1651/1704/788 +f 1653/1706/792 1674/1727/740 1654/1707/793 +f 1506/1559/686 1505/1558/686 1508/1561/686 +f 1569/1622/716 1584/1637/728 1562/1615/709 +f 1712/1765/841 1713/1766/841 1578/1631/723 +f 1714/1767/842 1715/1768/842 1716/1769/843 +f 1579/1632/724 1716/1769/843 1580/1633/725 +f 1668/1721/806 1664/1717/803 1548/1601/697 +f 1557/1610/684 1700/1753/831 1582/1635/726 +f 1584/1637/728 1583/1636/727 1562/1615/709 +f 1488/1541/683 1717/1770/683 1571/1624/718 +f 1664/1717/803 1547/1600/696 1548/1601/697 +f 1546/1599/695 1543/1596/692 1545/1598/694 +f 1571/1624/718 1592/1645/736 1573/1626/719 +f 1718/1771/737 1593/1646/737 1595/1648/739 +f 1595/1648/739 1594/1647/738 1596/1649/740 +f 1675/1728/809 1600/1653/744 1602/1655/746 +f 1601/1654/745 1600/1653/744 1604/1657/684 +f 1719/1772/712 1587/1640/731 1605/1658/709 +f 1720/1773/844 1606/1659/747 1608/1661/749 +f 1721/1774/845 1609/1662/750 1607/1660/748 +f 1722/1775/846 1610/1663/751 1612/1665/753 +f 1612/1665/753 1611/1664/752 1614/1667/755 +f 1614/1667/755 1613/1666/754 1616/1669/757 +f 1616/1669/757 1615/1668/756 1618/1671/759 +f 1618/1671/759 1617/1670/758 1620/1673/761 +f 1723/1776/847 1585/1638/729 1621/1674/714 +f 1645/1698/785 1622/1675/762 1624/1677/764 +f 1623/1676/763 1622/1675/762 1626/1679/766 +f 1626/1679/766 1625/1678/765 1628/1681/768 +f 1705/1758/834 1644/1697/784 1624/1677/764 +f 1551/1604/700 1669/1722/807 1555/1608/704 +f 1673/1726/808 1670/1723/737 1672/1725/739 +f 1653/1706/792 1673/1726/808 1674/1727/740 +f 1678/1731/812 1675/1728/809 1676/1729/810 +f 1679/1732/813 1677/1730/811 1676/1729/810 +f 1724/1777/683 1677/1730/811 1680/1733/683 +f 1553/1606/702 1552/1605/701 1682/1735/727 +f 1688/1741/819 1683/1736/814 1685/1738/816 +f 1685/1738/816 1686/1739/817 1688/1741/819 +f 1692/1745/823 1689/1742/820 1691/1744/822 +f 1694/1747/825 1692/1745/823 1693/1746/824 +f 1696/1749/827 1694/1747/825 1695/1748/826 +f 1698/1751/829 1696/1749/827 1697/1750/828 +f 1725/1778/848 1698/1751/829 1699/1752/830 +f 1582/1635/726 1700/1753/831 1702/1755/715 +f 1706/1759/835 1704/1757/833 1705/1758/834 +f 1708/1761/837 1704/1757/833 1707/1760/836 +f 1726/1779/849 1708/1761/837 1709/1762/838 +f 1580/1633/725 1712/1765/841 1578/1631/723 +f 1579/1632/724 1714/1767/842 1716/1769/843 +f 1551/1604/700 1577/1630/722 1727/1780/850 +f 1551/1604/700 1727/1780/850 1669/1722/807 +f 1549/1602/698 1592/1645/736 1728/1781/850 +f 1549/1602/698 1728/1781/850 1575/1628/720 +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.435798 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.479860 +v 0.577175 2.895699 6.381779 +v 0.577175 1.924939 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.479860 +v 0.401255 3.588838 6.684444 +v 0.401255 3.243770 6.479860 +v 0.401255 3.484048 5.722968 +v 0.401255 4.331121 5.796535 +v 0.401255 4.331121 7.553139 +v 0.401255 3.911054 6.978125 +v 0.401255 4.776393 4.607953 +v 0.401255 5.500355 4.607954 +v 0.401255 5.500354 7.553140 +v -0.401255 4.331121 5.796535 +v -0.401255 4.776393 4.607953 +v 0.401255 4.776393 4.607953 +v -0.401255 5.500355 4.607954 +v 0.401255 5.500355 4.607954 +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.479860 +v -0.401255 3.243770 6.479860 +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.479860 +v -0.401255 3.588838 6.684444 +v -0.401255 3.484048 5.722968 +v -0.401255 4.331121 7.553139 +v -0.401255 4.331121 5.796535 +v -0.401255 3.911054 6.978125 +v -0.401255 4.776393 4.607953 +v -0.401255 5.500355 4.607954 +v -0.401255 5.500354 7.553140 +v -0.255916 2.466018 6.344805 +v -0.577175 2.466018 6.344805 +v -0.577175 2.895699 6.381779 +v -0.577175 2.851677 5.639833 +v -0.577175 1.810704 6.457509 +v -0.577175 1.435798 6.186546 +v -0.577175 1.449703 6.660409 +v -0.577175 3.484048 5.722968 +v -0.577175 1.924939 5.885275 +v -0.577175 2.439333 5.691723 +v 0.577175 3.243770 6.479860 +v 0.401255 4.331121 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.479860 +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.895699 6.381779 +v 0.577175 3.243770 6.479860 +v 0.401255 3.243770 6.479860 +v -0.401255 3.243770 6.479860 +v -0.577175 2.895699 6.381779 +v -0.136434 1.170197 7.267153 +v 0.136434 1.170197 7.267153 +v 0.255916 1.274900 7.159120 +v -0.255916 1.274900 7.159120 +v 0.255916 1.582615 6.859656 +v -0.255916 1.582615 6.859656 +v -0.136434 1.170197 7.267153 +v -0.140214 0.908798 7.158844 +v 0.140214 0.908798 7.158844 +v 0.255916 1.049089 7.041913 +v 0.255916 1.274900 7.159120 +v 0.136434 1.170197 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.908798 7.158844 +v -0.140214 0.908798 7.158844 +v -0.238265 0.780515 7.270253 +v 0.238265 0.780515 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.574698 7.190140 +v 0.242153 0.574698 7.190140 +v 0.238265 0.780515 7.270253 +v 0.557295 0.748788 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.331121 5.796535 +v 0.401255 4.331121 5.796535 +v 0.401255 3.484048 5.722968 +v 0.401255 3.588838 6.684444 +v -0.401255 3.588838 6.684444 +v 0.401255 3.911054 6.978125 +v 0.401255 4.331121 7.553139 +v -0.401255 4.331121 7.553139 +v -0.401255 3.911054 6.978125 +v 0.401255 5.500354 7.553140 +v -0.401255 5.500354 7.553140 +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.435798 6.186546 +v 0.577175 1.435798 6.186546 +v -0.577175 1.924939 5.885275 +v -0.577175 2.439333 5.691723 +v 0.577175 2.439333 5.691723 +v 0.577175 1.924939 5.885275 +v 0.242153 0.574698 7.190140 +v -0.242153 0.574698 7.190140 +v -0.557295 0.748788 6.906375 +v 0.557295 0.748788 6.906375 +v -0.577175 3.243770 6.479860 +v -0.255916 1.049089 7.041913 +v -0.577175 2.466018 6.344805 +v -0.255916 1.274900 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.748788 6.906375 +v -0.238265 0.780515 7.270253 +v -0.577175 1.022907 6.562050 +v -0.577175 1.049089 7.041913 +v -0.255916 2.466018 6.344805 +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.472210 0.980596 +vt 0.472225 0.980472 +vt 0.471669 0.980404 +vt 0.471639 0.980122 +vt 0.471669 0.980404 +vt 0.472225 0.980472 +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.480816 0.945382 +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.468657 0.980387 +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.468113 0.980573 +vt 0.468666 0.981532 +vt 0.468393 0.981256 +vt 0.471654 0.980527 +vt 0.480816 0.946278 +vt 0.480249 0.945382 +vt 0.468100 0.980449 +vt 0.482469 0.972694 +vt 0.468670 0.980511 +vt 0.482622 0.972386 +vt 0.483023 0.972386 +vt 0.483034 0.971858 +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.482997 0.972676 +vt 0.482644 0.972678 +vt 0.482753 0.972998 +vt 0.482726 0.973162 +vt 0.482929 0.973155 +vt 0.483051 0.973046 +vt 0.482958 0.972932 +vt 0.482894 0.972996 +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.480249 0.946278 +vt 0.480816 0.946278 +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.482686 0.972938 +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 +vt 0.482618 0.971864 +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.9962 +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.0000 -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 +usemtl Material.001 +s off +f 1729/1782/851 1730/1783/851 1731/1784/851 +f 1731/1784/851 1732/1785/851 1733/1786/851 +f 1734/1787/851 1735/1788/851 1736/1789/851 +f 1737/1790/851 1738/1791/851 1739/1792/851 +f 1734/1787/851 1740/1793/851 1735/1788/851 +f 1741/1794/851 1742/1795/851 1735/1788/851 +f 1743/1796/852 1744/1797/852 1745/1798/852 +f 1746/1799/851 1747/1800/851 1748/1801/851 +f 1749/1802/851 1750/1803/851 1751/1804/851 +f 1746/1799/851 1748/1801/851 1749/1802/851 +f 1749/1802/851 1752/1805/851 1753/1806/851 +f 1754/1807/851 1750/1803/851 1749/1802/851 +f 1755/1808/853 1756/1809/853 1757/1810/853 +f 1758/1811/854 1759/1812/854 1760/1813/854 +f 1742/1795/851 1741/1794/851 1761/1814/851 +f 1762/1815/852 1763/1816/852 1764/1817/852 +f 1765/1818/855 1766/1819/855 1767/1820/855 +f 1768/1821/855 1769/1822/855 1770/1823/855 +f 1771/1824/855 1772/1825/855 1773/1826/855 +f 1769/1822/855 1773/1826/855 1772/1825/855 +f 1774/1827/855 1772/1825/855 1775/1828/855 +f 1776/1829/855 1775/1828/855 1772/1825/855 +f 1777/1830/855 1767/1820/855 1766/1819/855 +f 1778/1831/855 1779/1832/855 1780/1833/855 +f 1781/1834/855 1782/1835/855 1783/1836/855 +f 1784/1837/855 1780/1833/855 1779/1832/855 +f 1785/1838/855 1782/1835/855 1781/1834/855 +f 1786/1839/855 1785/1838/855 1781/1834/855 +f 1733/1786/851 1729/1782/851 1731/1784/851 +f 1761/1814/851 1737/1790/851 1739/1792/851 +f 1740/1793/851 1741/1794/851 1735/1788/851 +f 1787/1840/852 1743/1796/852 1745/1798/852 +f 1751/1804/851 1746/1799/851 1749/1802/851 +f 1753/1806/851 1754/1807/851 1749/1802/851 +f 1788/1841/853 1755/1808/853 1757/1810/853 +f 1789/1842/854 1758/1811/854 1760/1813/854 +f 1739/1792/851 1742/1795/851 1761/1814/851 +f 1790/1843/852 1762/1815/852 1764/1817/852 +f 1791/1844/855 1765/1818/855 1767/1820/855 +f 1770/1823/855 1769/1822/855 1772/1825/855 +f 1771/1824/855 1776/1829/855 1772/1825/855 +f 1786/1839/855 1778/1831/855 1780/1833/855 +f 1792/1845/855 1784/1837/855 1779/1832/855 +f 1778/1831/855 1786/1839/855 1781/1834/855 +s 1 +f 1793/1846/856 1794/1847/857 1795/1848/858 +f 1796/1849/859 1797/1850/860 1798/1851/861 +f 1799/1852/862 1800/1853/863 1796/1849/859 +f 1801/1854/864 1802/1855/864 1803/1856/865 +f 1804/1857/866 1803/1856/865 1805/1858/867 +f 1794/1847/857 1793/1846/856 1806/1859/868 +f 1807/1860/869 1808/1861/870 1809/1862/871 +f 1810/1863/872 1811/1864/873 1812/1865/874 +f 1813/1866/875 1814/1867/876 1796/1849/859 +f 1730/1783/851 1729/1782/851 1811/1864/873 +f 1815/1868/877 1816/1869/878 1817/1870/879 +f 1818/1871/880 1819/1872/881 1820/1873/882 +f 1821/1874/883 1822/1875/884 1823/1876/885 +f 1814/1867/876 1813/1866/875 1822/1875/884 +f 1816/1869/878 1815/1868/877 1824/1877/886 +f 1825/1878/887 1826/1879/888 1827/1880/889 +f 1828/1881/890 1829/1882/891 1827/1880/889 +f 1830/1883/892 1736/1789/851 1829/1882/891 +f 1830/1883/892 1734/1787/851 1736/1789/851 +f 1800/1853/863 1831/1884/893 1813/1866/875 +f 1832/1885/894 1833/1886/894 1834/1887/895 +f 1835/1888/896 1836/1889/897 1799/1852/862 +f 1836/1889/897 1835/1888/896 1837/1890/898 +f 1838/1891/899 1839/1892/900 1840/1893/901 +f 1841/1894/902 1842/1895/902 1839/1892/900 +f 1843/1896/903 1834/1887/895 1844/1897/904 +f 1845/1898/905 1846/1899/906 1834/1887/895 +f 1847/1900/907 1848/1901/908 1849/1902/909 +f 1850/1903/910 1849/1902/909 1851/1904/911 +f 1852/1905/912 1853/1906/913 1854/1907/914 +f 1845/1898/905 1843/1896/903 1853/1906/913 +f 1855/1908/915 1856/1909/915 1857/1910/916 +f 1848/1901/908 1847/1900/907 1858/1911/917 +f 1859/1912/860 1800/1853/863 1799/1852/862 +f 1860/1913/918 1808/1861/870 1807/1860/869 +f 1861/1914/876 1831/1884/893 1800/1853/863 +f 1791/1844/855 1860/1913/918 1862/1915/919 +f 1863/1916/920 1819/1872/881 1818/1871/880 +f 1846/1899/906 1845/1898/905 1864/1917/904 +f 1865/1918/883 1866/1919/886 1867/1920/885 +f 1861/1914/876 1865/1918/883 1868/1921/884 +f 1869/1922/878 1867/1920/885 1866/1919/886 +f 1870/1923/921 1825/1878/887 1871/1924/922 +f 1872/1925/923 1870/1923/921 1873/1926/924 +f 1782/1835/855 1872/1925/923 1783/1836/855 +f 1874/1927/925 1793/1846/856 1795/1848/858 +f 1798/1851/861 1799/1852/862 1796/1849/859 +f 1804/1857/866 1801/1854/864 1803/1856/865 +f 1806/1859/868 1804/1857/866 1805/1858/867 +f 1805/1858/867 1794/1847/857 1806/1859/868 +f 1812/1865/874 1807/1860/869 1809/1862/871 +f 1809/1862/871 1810/1863/872 1812/1865/874 +f 1810/1863/872 1730/1783/851 1811/1864/873 +f 1820/1873/882 1815/1868/877 1817/1870/879 +f 1817/1870/879 1818/1871/880 1820/1873/882 +f 1824/1877/886 1821/1874/883 1823/1876/885 +f 1821/1874/883 1814/1867/876 1822/1875/884 +f 1823/1876/885 1816/1869/878 1824/1877/886 +f 1871/1924/922 1825/1878/887 1827/1880/889 +f 1826/1879/888 1828/1881/890 1827/1880/889 +f 1828/1881/890 1830/1883/892 1829/1882/891 +f 1796/1849/859 1800/1853/863 1813/1866/875 +f 1846/1899/906 1832/1885/894 1834/1887/895 +f 1798/1851/861 1835/1888/896 1799/1852/862 +f 1840/1893/901 1836/1889/897 1837/1890/898 +f 1837/1890/898 1838/1891/899 1840/1893/901 +f 1838/1891/899 1841/1894/902 1839/1892/900 +f 1843/1896/903 1845/1898/905 1834/1887/895 +f 1850/1903/910 1847/1900/907 1849/1902/909 +f 1854/1907/914 1850/1903/910 1851/1904/911 +f 1851/1904/911 1852/1905/912 1854/1907/914 +f 1852/1905/912 1845/1898/905 1853/1906/913 +f 1858/1911/917 1855/1908/915 1857/1910/916 +f 1857/1910/916 1848/1901/908 1858/1911/917 +f 1862/1915/919 1860/1913/918 1807/1860/869 +f 1765/1818/855 1791/1844/855 1862/1915/919 +f 1869/1922/878 1863/1916/920 1818/1871/880 +f 1868/1921/884 1865/1918/883 1867/1920/885 +f 1831/1884/893 1861/1914/876 1868/1921/884 +f 1863/1916/920 1869/1922/878 1866/1919/886 +f 1873/1926/924 1870/1923/921 1871/1924/922 +f 1783/1836/855 1872/1925/923 1873/1926/924 +o slide_pistol_0 +v 1.014517 11.207904 -2.625850 +v 1.014517 11.207904 -2.300615 +v 1.014517 10.723700 -1.978914 +v -1.014517 10.157009 -2.625850 +v -1.014517 11.207904 -2.625850 +v -0.335502 10.613042 -2.625850 +v -1.526129 9.326169 3.920666 +v -1.526129 9.326169 3.413728 +v -1.526129 8.752565 3.413728 +v -1.705540 8.752565 3.920666 +v -1.705540 7.184847 3.920666 +v -1.705540 8.402288 6.532842 +v -1.526129 8.752565 3.920666 +v -1.705540 8.752565 3.920666 +v -1.705540 8.752759 6.288157 +v -1.526129 8.752565 3.920666 +v -1.524936 8.752759 6.288157 +v 1.705540 7.247200 -1.820036 +v 1.526129 7.247200 -1.820036 +v 1.526043 7.614016 -2.276281 +v 1.321148 7.184846 12.021435 +v -1.171832 7.184846 11.897297 +v 1.156401 7.184846 11.897297 +v 1.526043 7.614016 -2.276281 +v 1.526129 7.247200 -1.820036 +v 1.526043 7.184847 -2.765843 +v 1.321148 7.184846 11.214216 +v -1.705540 7.184847 2.105287 +v -1.705540 8.757562 2.105288 +v -1.705540 8.927025 1.935824 +v 1.526129 7.247200 -1.820036 +v 1.526129 7.184847 -1.313097 +v 1.526043 7.184847 -2.765843 +v -1.524936 9.326169 6.288157 +v -1.326382 10.025589 6.288157 +v -1.705540 9.660696 6.288157 +v -1.705540 9.326169 6.288157 +v 0.813732 7.184846 16.849926 +v 1.705540 7.184846 12.021435 +v 1.705540 7.184846 18.319260 +v 1.326382 7.184846 19.492821 +v -1.705540 7.967402 7.346316 +v -1.705540 8.055081 6.892088 +v 1.705540 7.637856 11.214216 +v 1.705540 7.184846 11.214216 +v 1.705540 7.967402 7.346316 +v -1.705540 7.184847 3.920666 +v -1.526129 7.184847 3.920666 +v -1.171832 7.184846 5.830759 +v 1.705540 7.184847 3.920666 +v 1.705540 7.184846 11.214216 +v 1.156401 7.184846 5.830759 +v 1.705540 7.184847 -2.765843 +v 1.705540 7.184847 -4.842922 +v 1.705540 8.782389 -4.842922 +v 1.705540 7.614016 -2.276281 +v 1.231429 7.184847 -4.842922 +v 1.526129 7.184847 -1.313097 +v 1.231024 7.184847 1.879624 +v -1.526129 7.184847 2.105287 +v -1.526129 7.184847 2.612226 +v -1.526129 8.752565 2.612226 +v 1.705540 7.184847 3.920666 +v 1.321148 7.184846 11.214216 +v 1.705540 7.184846 11.214216 +v 1.705540 7.637856 11.214216 +v -0.813732 7.184846 16.849926 +v 1.526129 7.184847 3.920666 +v 0.000000 9.832472 21.944122 +v 0.947015 10.390596 21.944122 +v -0.947015 10.390596 21.944122 +v 1.705540 8.055081 6.892088 +v -1.171832 7.184846 11.897297 +v -1.171832 8.402287 11.660704 +v -1.171832 8.578352 11.777046 +v 0.167762 11.355709 20.190464 +v -0.167762 11.355709 20.190464 +v -0.167762 10.787157 20.190464 +v 0.814306 10.492232 20.190464 +v 0.814306 10.492232 19.285318 +v 0.359371 10.492232 19.285318 +v 0.893030 10.492232 20.116810 +v 0.893030 10.492232 19.372772 +v -1.526129 7.184847 3.413727 +v 1.526129 7.184847 3.413727 +v -0.393269 7.184847 1.879624 +v 0.393269 7.184847 1.879624 +v -1.333642 8.402288 6.532842 +v -1.333642 8.055081 6.892088 +v -1.333642 7.967402 7.346316 +v -1.016029 10.321227 11.777046 +v -0.947015 10.390596 11.777046 +v -0.654714 10.019366 11.777046 +v -0.813732 7.184846 16.849926 +v 0.813732 7.184846 16.849926 +v 0.813732 5.420441 16.849926 +v 0.471660 5.087639 16.849926 +v -0.471660 5.087639 16.849926 +v -0.813732 5.420441 16.849926 +v -1.333642 7.184846 21.944122 +v -1.333642 7.184846 19.492821 +v -0.813732 7.184846 21.944122 +v -1.526129 7.184847 0.796846 +v -1.705540 7.184847 0.796846 +v -1.705540 7.184847 -0.004656 +v -0.728164 8.051682 1.879624 +v -0.393269 9.417000 1.879624 +v -0.393269 7.184847 1.879624 +v -0.728164 7.586768 1.879624 +v -1.238688 7.184847 1.879624 +v 1.231024 9.417000 1.879624 +v 1.231024 8.051682 1.879624 +v 0.728164 8.051682 1.879624 +v 1.526129 7.184847 2.105287 +v 1.526129 7.184847 2.612226 +v 1.705540 7.184847 -1.313097 +v 1.705540 7.184847 -0.511595 +v 1.526129 7.184847 -0.511595 +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.920666 +v 1.705540 9.660696 3.920666 +v 0.408756 10.107763 -3.259710 +v -0.409408 10.107763 -3.259710 +v -0.409408 10.390597 -3.172265 +v 1.705540 9.660696 3.413728 +v 1.526129 9.833411 3.413728 +v 1.526129 7.184847 3.413727 +v -0.392768 7.184847 -4.842922 +v 0.393269 9.417000 1.879624 +v 0.393269 7.184847 1.879624 +v 0.392768 7.184847 -4.842922 +v 1.705540 7.184847 2.612226 +v 1.526129 7.184847 2.612226 +v 1.526129 9.833411 2.612226 +v 1.526129 7.184847 2.105287 +v 1.705540 7.184847 2.105287 +v 1.705540 9.660696 2.105288 +v 0.392768 8.782389 -4.842922 +v 0.392768 9.417337 -4.333549 +v 1.231024 7.184847 1.879624 +v 1.231024 7.586768 1.879624 +v 1.231429 7.587345 -4.842922 +v 0.408756 10.390597 -3.531359 +v 0.408756 10.107763 -3.763226 +v 0.408756 10.107763 -3.259710 +v 1.526129 9.833411 1.303785 +v 1.705540 9.660696 1.303785 +v 1.705540 7.184847 1.303785 +v 0.728571 7.587345 -4.842922 +v 0.728571 8.051105 -4.842922 +v 1.231429 8.051105 -4.842922 +v 1.705540 9.660696 0.796846 +v 1.526129 9.833411 0.796846 +v 1.526129 7.184847 0.796846 +v 0.813732 7.184846 21.944122 +v 1.231024 9.417000 1.879624 +v 0.393269 9.417000 1.879624 +v 0.392768 9.417337 -4.333549 +v 1.231024 7.586768 1.879624 +v 0.728164 7.586768 1.879624 +v 0.728571 7.587345 -4.842922 +v 1.526129 9.833411 -0.004656 +v 1.705540 9.660696 -0.004656 +v 1.705540 7.184847 -0.004656 +v 1.705540 7.184847 -4.842922 +v 1.231429 7.184847 -4.842922 +v 1.231429 7.587345 -4.842922 +v 1.526129 7.184847 -0.511595 +v 1.705540 7.184847 -0.511595 +v 1.705540 9.660696 -0.511595 +v 1.231429 9.417337 -4.333549 +v 1.231429 8.782389 -4.842922 +v 1.231024 9.417000 1.879624 +v 0.728164 7.586768 1.879624 +v 0.728164 8.051682 1.879624 +v 0.728571 8.051105 -4.842922 +v 1.526129 9.833411 -1.313097 +v 1.705540 9.660696 -1.313097 +v 1.705540 7.184847 -1.313097 +v 1.231024 8.051682 1.879624 +v 0.728164 8.051682 1.879624 +v 1.231024 8.051682 1.879624 +v 1.231429 8.051105 -4.842922 +v 0.947015 10.390597 -2.821981 +v -0.947015 10.390597 -2.821981 +v -1.132077 10.212755 -2.753815 +v 1.526129 7.247200 -1.820036 +v 1.705540 7.247200 -1.820036 +v 1.705540 9.660696 -1.820036 +v 1.705540 8.752767 6.288157 +v 1.705540 8.402288 6.532842 +v -1.132077 10.212755 0.576711 +v -0.947015 10.390597 0.637665 +v 0.947015 10.390597 0.637665 +v 1.326382 7.184846 21.944122 +v 1.526129 7.184847 -0.004656 +v -1.526129 7.184847 2.612226 +v -1.238688 7.184847 1.879624 +v 1.705540 7.184847 2.105287 +v 1.526129 7.184847 1.303785 +v 1.705540 7.184847 1.303785 +v 1.526129 7.184847 0.796846 +v 1.705540 7.184847 -0.004656 +v 0.728164 7.586768 1.879624 +v 1.231024 7.586768 1.879624 +v 1.231024 7.184847 1.879624 +v 0.393269 7.184847 1.879624 +v -1.238688 9.417000 1.879624 +v -1.526129 7.184847 2.105287 +v -1.705540 7.184847 -1.313097 +v -1.526129 7.184847 -1.313097 +v -1.526129 7.184847 -0.511595 +v -1.705540 7.184847 2.612226 +v -1.526129 9.326169 3.920666 +v -1.705540 9.326169 3.920666 +v -1.705540 9.660696 3.920666 +v -1.526129 7.184847 3.920666 +v -1.705540 7.184847 3.920666 +v -1.705540 8.752565 3.920666 +v -1.705540 7.184847 3.413727 +v -1.526129 7.184847 3.413727 +v -1.526129 8.752565 3.413728 +v -1.705540 9.326169 3.413728 +v -1.526129 9.326169 3.413728 +v -1.526129 9.833411 3.413728 +v -1.705540 7.184847 2.612226 +v -1.705540 7.184847 3.413727 +v -1.705540 8.752565 3.413728 +v -0.393269 9.417000 1.879624 +v -0.392768 8.782389 -4.842922 +v -0.392768 7.184847 -4.842922 +v -1.526129 9.326169 2.612226 +v -1.705540 9.326169 2.612226 +v -1.705540 9.660696 2.612226 +v -1.526129 7.184847 2.612226 +v -1.705540 7.184847 2.612226 +v -1.705540 8.752565 2.612226 +v -0.392768 9.417337 -4.333549 +v -1.238688 7.184847 1.879624 +v -1.238688 7.184847 -4.842922 +v -1.238688 7.587345 -4.842922 +v -0.409408 10.390597 -3.531359 +v -0.409408 10.390597 -3.172265 +v -0.409408 10.107763 -3.259710 +v -1.526129 9.833411 1.303785 +v -1.526129 7.184847 1.303785 +v -1.705540 7.184847 1.303785 +v -0.728571 7.587345 -4.842922 +v -1.238688 7.587345 -4.842922 +v -1.238688 8.051105 -4.842922 +v -1.705540 9.660696 0.796846 +v -1.705540 7.184847 0.796846 +v -1.526129 7.184847 0.796846 +v -1.238688 9.417000 1.879624 +v -1.238688 9.417337 -4.333549 +v -0.392768 9.417337 -4.333549 +v -1.238688 7.586768 1.879624 +v -1.238688 7.587345 -4.842922 +v -0.728571 7.587345 -4.842922 +v -1.526129 9.833411 -0.004656 +v -1.526129 7.184847 -0.004656 +v -1.705540 7.184847 -0.004656 +v -1.238688 7.184847 -4.842922 +v -1.705540 7.184847 -4.842922 +v -1.526129 7.184847 -0.511595 +v -1.526129 9.833411 -0.511595 +v -1.705540 9.660696 -0.511595 +v -1.238688 8.782389 -4.842922 +v -1.238688 9.417337 -4.333549 +v -1.238688 9.417000 1.879624 +v -0.728164 7.586768 1.879624 +v -0.728571 7.587345 -4.842922 +v -0.728571 8.051105 -4.842922 +v -1.526129 7.184847 -0.004656 +v -1.238688 7.184847 -4.842922 +v -1.526129 9.833411 -1.313097 +v -1.526129 7.184847 -1.313097 +v -1.705540 7.184847 -1.313097 +v -1.238688 8.051682 1.879624 +v -1.238688 8.051105 -4.842922 +v -0.728164 8.051682 1.879624 +v -0.728571 8.051105 -4.842922 +v -1.238688 8.051105 -4.842922 +v -1.705540 7.184847 -4.842922 +v -1.526129 7.184847 -1.820036 +v -1.705540 7.184847 2.105287 +v -1.705540 7.184847 1.303785 +v -1.526129 7.184847 -1.820036 +v -1.526129 9.833411 -1.820036 +v -1.705540 9.660696 -1.820036 +v -1.526129 7.184847 1.303785 +v -1.526129 7.184847 3.413727 +v -1.526129 7.184847 3.920666 +v -1.526129 8.752565 3.920666 +v -0.947015 10.390597 6.288157 +v -0.654714 10.019367 6.288157 +v -0.409408 10.390597 6.288157 +v -1.171832 9.475291 6.288157 +v -0.409408 10.019367 5.830759 +v -0.409408 10.390597 5.830759 +v -0.409408 10.390597 6.288157 +v 0.408756 10.019367 5.830759 +v 0.408756 10.019367 6.288157 +v 0.408756 10.390597 6.288157 +v 0.408756 10.019367 5.830759 +v 0.408756 10.390597 5.830759 +v -0.409408 10.390597 5.830759 +v 0.408756 10.019367 6.288157 +v 0.632517 10.019367 6.288157 +v 0.408756 10.390597 6.288157 +v 0.958007 9.683089 6.288157 +v 1.018419 10.321527 6.288157 +v -1.171832 9.475290 11.777046 +v -1.171832 7.184846 5.830759 +v -1.171832 8.752774 6.288157 +v -1.171832 8.402288 6.532842 +v -0.409408 10.019367 6.288157 +v -1.333642 8.402287 11.660704 +v -1.171832 8.402287 11.660704 +v -1.171832 8.402288 6.532842 +v -0.409408 10.019367 5.830759 +v -0.654714 10.019367 5.830759 +v -1.171832 9.475291 5.830759 +v -1.171832 7.184846 5.830759 +v 1.156401 7.184846 5.830759 +v 1.156401 9.475291 5.830759 +v 1.014517 11.207904 -2.625850 +v 0.335502 10.613042 -2.625850 +v 0.335502 11.207904 -2.625850 +v -0.167762 11.355709 20.190464 +v 0.167762 11.355709 20.190464 +v 0.167762 11.355709 19.816681 +v 0.143185 11.207904 -2.300615 +v 0.143185 11.269897 -2.300615 +v 0.143185 11.269897 -2.690542 +v 1.014517 11.207904 -2.625850 +v 0.335502 11.207904 -2.625850 +v 0.335502 11.207904 -2.300615 +v 1.014517 11.207904 -2.300615 +v 0.335502 11.207904 -2.625850 +v 0.335502 11.269897 -2.690542 +v 0.335502 11.269897 -2.300615 +v 0.335502 10.613042 -2.625850 +v 0.335502 10.613042 -2.690542 +v 0.335502 11.269897 -2.690542 +v 0.143185 11.269897 -2.300615 +v 0.335502 11.269897 -2.300615 +v 0.335502 11.269897 -2.690542 +v -0.720340 8.093418 11.897297 +v -0.389845 7.872590 11.897297 +v -1.171832 7.184846 11.897297 +v -0.941169 8.423913 11.897297 +v -1.018714 8.813758 11.897297 +v 0.000000 7.795044 11.897297 +v 0.471660 5.087639 21.944122 +v 0.813732 5.420441 21.944122 +v -0.813732 5.420441 21.944122 +v 0.813732 7.184846 21.944122 +v -1.333642 7.184846 21.944122 +v -0.813732 7.184846 21.944122 +v -0.720340 8.093418 21.944122 +v -1.018714 8.813758 21.944122 +v -1.326382 10.025588 21.944122 +v -0.720340 9.534098 21.944122 +v 0.720340 9.534098 21.944122 +v 1.326382 10.025588 21.944122 +v 1.018714 8.813758 21.944122 +v 1.326382 7.184846 21.944122 +v 0.720340 8.093418 21.944122 +v 0.941169 9.203603 21.944122 +v 0.389845 9.754927 21.944122 +v -0.941169 9.203603 21.944122 +v -0.941169 8.423913 21.944122 +v -0.389845 7.872589 21.944122 +v 0.000000 7.795044 21.944122 +v 0.389845 7.872589 21.944122 +v 0.941169 8.423913 21.944122 +v -0.471660 5.087639 21.944122 +v -0.389845 9.754927 21.944122 +v 1.321148 7.637856 11.214216 +v 1.321148 7.444345 12.021435 +v 1.321148 7.184846 12.021435 +v 1.705540 7.184846 12.021435 +v 1.321148 7.184846 12.021435 +v 1.321148 7.444345 12.021435 +v 1.705540 7.637856 11.214216 +v 1.705540 7.444345 12.021435 +v 1.321148 7.444345 12.021435 +v -1.526129 9.326169 3.413728 +v -1.705540 9.326169 3.413728 +v -1.705540 9.326169 2.612226 +v -1.524936 9.326169 6.288157 +v -1.705540 9.326169 6.288157 +v -1.705540 9.326169 3.920666 +v -1.526129 8.752565 2.612226 +v -1.705540 8.752565 2.612226 +v -1.705540 8.752565 3.413728 +v -1.526129 8.752565 2.612226 +v 0.632517 10.019367 5.830759 +v 0.335502 10.613042 -2.690542 +v 0.143185 10.723700 -2.690542 +v 0.143185 11.269897 -2.690542 +v -0.335502 10.613042 -2.690542 +v -0.143185 10.723700 -2.690542 +v -0.335502 10.613042 -2.625850 +v -0.335502 10.613042 -2.690542 +v 0.335502 10.613042 -2.690542 +v 0.143185 10.723700 -2.690542 +v 0.143185 10.723700 -1.978914 +v -0.814306 10.492232 20.190464 +v -0.359371 10.492232 20.190464 +v -0.359371 10.492232 19.285318 +v -0.893030 10.492232 20.116810 +v -0.814306 10.492232 19.285318 +v -0.335502 11.207904 -2.625850 +v -0.335502 10.613042 -2.625850 +v -0.335502 11.207904 -2.625850 +v -0.335502 11.269897 -2.690542 +v -0.335502 11.269897 -2.690542 +v -0.143185 11.269897 -2.690542 +v -0.143185 10.723700 -2.690542 +v -0.143185 11.269897 -2.690542 +v -0.143185 11.207904 -2.300615 +v -0.335502 11.207904 -2.625850 +v -0.335502 11.207904 -2.300615 +v -0.335502 11.269897 -2.300615 +v -0.143185 11.269897 -2.300615 +v -0.143185 11.269897 -2.690542 +v -0.335502 11.269897 -2.690542 +v -0.143185 11.269897 -2.300615 +v -0.335502 11.207904 -2.625850 +v -1.014517 11.207904 -2.625850 +v -0.335502 11.207904 -2.300615 +v -1.014517 11.207904 -2.300615 +v 1.014517 10.157009 -2.625850 +v 1.014517 10.606321 -1.825947 +v 1.014517 10.491154 -1.431074 +v 1.014517 10.157009 -2.625850 +v 0.167762 10.787157 20.190464 +v -0.359371 10.492232 20.190464 +v -1.014517 11.207904 -2.625850 +v -1.014517 10.157009 -2.625850 +v -1.014517 10.723700 -1.978914 +v -1.014517 10.606321 -1.825947 +v -1.014517 10.491154 -1.431074 +v 0.359371 10.492232 20.190464 +v -1.014517 11.207904 -2.300615 +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.190356 +v -1.659889 8.796173 2.190356 +v -1.659889 9.139336 2.059511 +v -1.659889 8.927017 2.059511 +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.276281 +v -1.705540 7.184847 1.303785 +v -1.705540 9.151711 1.935824 +v 1.321148 7.637856 11.214216 +v 0.359371 10.492232 20.190464 +v -1.238688 7.586768 1.879624 +v 0.393269 9.417000 1.879624 +v 1.705540 7.184847 3.920666 +v 0.408756 10.390597 -3.172265 +v 1.705540 7.184847 3.413727 +v 0.392768 7.184847 -4.842922 +v 1.705540 9.660696 2.612226 +v 1.526129 9.833411 2.105288 +v 1.231429 7.184847 -4.842922 +v 0.408756 10.390597 -3.172265 +v 1.526129 7.184847 1.303785 +v 1.705540 7.184847 0.796846 +v 1.231429 9.417337 -4.333549 +v 1.231429 7.587345 -4.842922 +v 1.526129 7.184847 -0.004656 +v 1.526129 9.833411 -0.511595 +v 0.728571 7.587345 -4.842922 +v 1.526129 7.184847 -1.313097 +v 1.231429 8.051105 -4.842922 +v 0.728571 8.051105 -4.842922 +v 1.132077 10.212755 -2.753815 +v 1.526129 9.833411 -1.820036 +v 1.132077 10.212755 0.576711 +v 1.705540 7.184847 0.796846 +v -1.238688 8.051682 1.879624 +v -1.705540 7.184847 -0.511595 +v -1.705540 7.184847 3.413727 +v -1.526129 9.833411 3.920666 +v -1.526129 8.752565 3.920666 +v -1.705540 8.752565 3.413728 +v -1.705540 9.660696 3.413728 +v -1.705540 8.752565 2.612226 +v -0.393269 7.184847 1.879624 +v -1.526129 9.833411 2.612226 +v -1.526129 8.752565 2.612226 +v -1.705540 7.184846 18.319260 +v -1.238688 7.586768 1.879624 +v -0.409408 10.107763 -3.763226 +v -1.705540 9.660696 1.303785 +v -0.728571 8.051105 -4.842922 +v -1.526129 9.833411 0.796846 +v -0.393269 9.417000 1.879624 +v -0.728164 7.586768 1.879624 +v -1.705540 9.660696 -0.004656 +v -1.705540 7.184847 -0.511595 +v -0.728164 8.051682 1.879624 +v -1.705540 9.660696 -1.313097 +v -1.238688 8.051682 1.879624 +v -1.705540 7.184847 -1.820036 +v -1.705540 7.184847 -1.820036 +v -1.705540 7.184847 -4.842922 +v -1.705540 7.184847 -1.820036 +v -1.705540 8.782389 -4.842922 +v -1.526129 8.752565 3.413728 +v -0.409408 10.019367 6.288157 +v 0.408756 10.390597 5.830759 +v -1.326382 10.025588 11.777046 +v -1.333642 8.402288 6.532842 +v -0.167762 11.355709 19.816681 +v 0.335502 11.207904 -2.300615 +v 0.335502 11.207904 -2.625850 +v 0.143185 11.269897 -2.690542 +v 1.321148 7.184846 11.214216 +v 1.705540 7.444345 12.021435 +v 1.321148 7.637856 11.214216 +v -1.526129 9.326169 2.612226 +v -1.526129 9.326169 3.920666 +v -1.526129 8.752565 3.413728 +v -1.526129 9.326169 2.612226 +v 0.335502 11.269897 -2.690542 +v 0.335502 10.613042 -2.625850 +v -0.893030 10.492232 19.372772 +v -0.335502 10.613042 -2.690542 +v -0.143185 10.723700 -1.978914 +v -0.335502 11.269897 -2.690542 +v -0.335502 11.269897 -2.300615 +v -1.659889 8.796173 6.250484 +v -1.360494 8.796173 6.250484 +v -1.705540 8.402288 6.532842 +v -1.333642 8.402288 6.532842 +v -1.524936 8.752759 6.288157 +v -1.171832 8.752774 6.288157 +v -0.654714 10.019366 11.897297 +v -0.654714 10.019366 11.777046 +v 0.632517 10.019366 11.777046 +v 0.632517 10.019366 11.777046 +v -1.705540 9.660696 6.288157 +v -1.705540 9.660696 3.920666 +v -1.705540 9.326169 3.920666 +v -1.526129 8.752565 2.110282 +v -1.526129 9.321173 2.105288 +v -1.524936 9.151711 1.935824 +v -1.526129 7.184847 1.303785 +v -1.526129 9.833411 1.303785 +v -1.526129 9.833411 0.796846 +v -1.705540 9.660696 1.303785 +v 1.526129 9.833411 -1.820036 +v 1.526129 9.833411 -1.313097 +v -1.171832 9.475290 11.777046 +v 1.705540 7.184846 18.319260 +v 1.705540 7.184846 12.021435 +v 1.705540 7.444345 12.021435 +v 1.705540 9.660696 -1.820036 +v 1.705540 7.247200 -1.820036 +v 1.705540 7.967401 18.319260 +v 1.526043 7.184847 -2.765843 +v 1.705540 7.184847 -4.842922 +v 1.705540 7.184847 -2.765843 +v -1.526129 9.321173 2.105288 +v -1.705540 9.321173 2.105288 +v -1.705540 9.151711 1.935824 +v -1.705540 8.927025 1.935824 +v -1.705540 8.757562 2.105288 +v -1.526129 8.752565 2.110282 +v 1.018714 8.813758 11.876558 +v 1.156401 9.475290 11.866871 +v 1.156401 7.184846 11.897297 +v -1.014517 10.157009 0.196241 +v -1.014517 10.369081 0.196241 +v 0.167762 10.787157 19.556133 +v 0.167762 11.355709 19.816681 +v 0.167762 11.355709 20.190464 +v 0.359371 10.492232 20.190464 +v 0.359371 10.492232 19.285318 +v 0.872165 9.770429 11.711023 +v 1.156401 9.475290 11.866871 +v 0.632517 10.019366 11.897297 +v 1.018419 10.321526 11.521421 +v 1.019789 10.321227 19.320282 +v 1.326382 10.025588 21.944122 +v 0.872165 9.770429 11.711023 +v 0.947015 10.390596 11.752501 +v 1.018419 10.321526 11.521421 +v 1.018419 10.321527 6.288157 +v 0.958007 9.683089 6.288157 +v 0.958007 9.683129 11.555180 +v 0.632517 10.019367 5.830759 +v 1.156401 9.475291 5.830759 +v 0.958007 9.683089 6.288157 +v 1.326382 7.967401 19.492821 +v 1.326382 7.967402 7.346316 +v 1.326382 8.055081 6.892088 +v 1.326382 8.402288 6.532842 +v 1.326382 10.025589 6.288157 +v -1.333642 7.967401 19.492821 +v -1.333642 8.578352 11.777046 +v -1.333642 8.402287 11.660704 +v -1.326382 10.025588 21.944122 +v -1.326382 10.025588 11.777046 +v 0.947015 10.390596 19.208494 +v 0.947015 10.390596 11.752501 +v 0.869641 10.390596 11.777046 +v -0.409408 10.390597 -3.531359 +v -0.409408 10.107763 -3.763226 +v -0.947015 10.390597 -3.531359 +v 0.869641 10.390596 11.777046 +v -1.238688 8.782389 -4.842922 +v -1.333642 8.578352 11.777046 +v -1.526129 7.184847 -0.004656 +v -1.526129 9.833411 -0.004656 +v -1.526129 9.833411 -0.511595 +v -0.947015 10.390597 0.637665 +v -0.947015 10.390597 6.288157 +v -0.409408 10.390597 5.830759 +v 0.408756 10.390597 5.830759 +v 0.947015 10.390597 0.637665 +v 0.408756 10.390597 6.288157 +v 1.018419 10.321527 6.288157 +v -1.171832 9.475291 5.830759 +v -1.171832 9.475291 6.288157 +v 1.018419 10.321527 6.288157 +v 1.326382 10.025589 6.288157 +v 1.132077 10.212755 0.576711 +v -0.409408 10.390597 6.288157 +v -1.526129 9.833411 2.105288 +v -1.526129 9.833411 2.612226 +v -1.132077 10.212755 0.576711 +v -1.526129 9.833411 3.920666 +v -1.326382 10.025589 6.288157 +v -1.526129 9.833411 3.413728 +v 0.947015 10.390597 -3.531359 +v 0.947015 10.390597 -2.821981 +v 1.132077 10.212755 -2.753815 +v 0.947015 10.390596 19.208494 +v -0.947015 10.390596 19.208494 +v -1.016029 10.321227 19.320282 +v 0.947015 10.390596 20.281315 +v -0.947015 10.390596 20.281315 +v -0.947015 10.390596 21.944122 +v 1.705540 7.184847 2.612226 +v 1.705540 9.660696 2.612226 +v 1.705540 9.660696 3.413728 +v 1.019789 10.321227 20.144449 +v -1.016029 10.321227 20.144449 +v 1.326382 7.967401 19.492821 +v 1.326382 7.184846 19.492821 +v 0.471660 5.087639 16.849926 +v 0.813732 5.420441 16.849926 +v 0.813732 5.420441 21.944122 +v 0.408756 10.390597 -3.531359 +v 0.408756 10.390597 -3.172265 +v 1.019789 10.321227 20.144449 +v -0.409408 10.107763 -3.763226 +v -0.409408 10.107763 -3.259710 +v 0.408756 10.107763 -3.259710 +v 1.705540 7.967402 7.346316 +v 1.326382 7.967402 7.346316 +v 1.326382 7.967401 19.492821 +v 1.326382 7.184846 21.944122 +v 1.326382 7.184846 19.492821 +v 1.526129 7.184847 1.303785 +v 1.526129 7.184847 0.796846 +v 1.526129 9.833411 0.796846 +v 1.705540 8.402288 6.532842 +v 1.326382 8.402288 6.532842 +v 1.326382 8.055081 6.892088 +v 1.705540 8.055081 6.892088 +v 1.705540 9.660696 6.288157 +v 1.326382 10.025589 6.288157 +v 1.326382 8.752767 6.288157 +v 1.705540 9.660696 -4.131680 +v 1.231429 9.417337 -4.333549 +v 0.408756 10.107763 -3.763226 +v -0.392768 9.417337 -4.333549 +v -0.409408 10.390597 -3.172265 +v -0.947015 10.390597 -2.821981 +v 0.392768 9.417337 -4.333549 +v 0.392768 8.782389 -4.842922 +v 1.231429 8.782389 -4.842922 +v 1.705540 8.782389 -4.842922 +v 1.705540 9.660696 -4.131680 +v 0.947015 10.390597 -3.531359 +v 1.526129 9.833411 2.612226 +v 1.705540 9.660696 6.288157 +v 1.705540 9.660696 3.920666 +v 1.526129 9.833411 3.920666 +v -1.132077 10.212755 0.576711 +v 1.132077 10.212755 0.576711 +v 1.132077 10.212755 -2.753815 +v 1.705540 9.660696 -1.313097 +v 1.705540 9.660696 -0.511595 +v 1.705540 7.184847 -0.511595 +v 1.705540 9.660696 -0.004656 +v 1.705540 9.660696 0.796846 +v 1.705540 7.184847 0.796846 +v 1.526129 7.184847 2.612226 +v 1.526129 7.184847 2.105287 +v 1.526129 9.833411 2.105288 +v 1.705540 9.660696 3.920666 +v 1.705540 9.660696 6.288157 +v 1.019789 10.321227 19.320282 +v -0.471660 5.087639 16.849926 +v 0.471660 5.087639 21.944122 +v 0.813732 7.184846 16.849926 +v 0.813732 7.184846 21.944122 +v 0.947015 10.390596 20.281315 +v 0.947015 10.390596 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.413728 +v 0.392768 7.184847 -4.842922 +v -0.392768 7.184847 -4.842922 +v -0.392768 8.782389 -4.842922 +v 0.408756 10.390597 -3.531359 +v 1.526129 7.184847 -0.004656 +v 1.526129 7.184847 -0.511595 +v 1.526129 9.833411 -0.511595 +v 1.705540 7.184847 1.303785 +v 1.705540 9.660696 1.303785 +v 1.705540 9.660696 2.105288 +v 1.526129 9.833411 3.413728 +v 1.526129 9.833411 -0.511595 +v 1.526129 9.833411 -1.313097 +v 1.526129 9.833411 -1.820036 +v 1.526129 9.833411 -0.004656 +v 1.526129 9.833411 2.105288 +v 1.526129 9.833411 1.303785 +v 1.705540 7.184847 -2.765843 +v 1.705540 7.614016 -2.276281 +v 1.526043 7.614016 -2.276281 +v -0.947015 10.390597 -3.531359 +v -1.705540 9.660696 -4.131680 +v -1.132077 10.212755 -2.753815 +v -1.705540 7.184846 18.319260 +v -1.705540 7.967401 18.319260 +v -1.526129 9.833411 -1.313097 +v -1.526129 9.833411 -0.511595 +v -1.705540 9.660696 -1.820036 +v -1.526129 9.833411 -1.820036 +v -1.705540 9.660696 3.413728 +v -1.705540 9.660696 2.612226 +v -1.705540 9.326169 2.612226 +v -1.333642 7.184846 19.492821 +v -0.471660 5.087639 21.944122 +v -0.813732 5.420441 21.944122 +v -0.409408 10.390597 -3.531359 +v -1.705540 7.184847 2.105287 +v -1.526129 7.184847 2.105287 +v -1.526129 9.833411 2.105288 +v -1.705540 7.967402 7.346316 +v -1.705540 7.967401 18.319260 +v -1.333642 7.967401 19.492821 +v -1.333642 7.184846 19.492821 +v -1.705540 9.321173 2.105288 +v -1.705540 9.660696 2.105288 +v -1.705540 8.055081 6.892088 +v -1.333642 8.055081 6.892088 +v -1.333642 7.967402 7.346316 +v -1.705540 9.660696 -0.511595 +v -1.238688 9.417337 -4.333549 +v -1.705540 9.660696 -4.131680 +v -1.526129 9.833411 1.303785 +v -1.705540 8.782389 -4.842922 +v -1.705540 9.660696 -1.313097 +v -1.705540 7.184847 -1.313097 +v -1.705540 7.184847 -0.511595 +v -1.705540 9.660696 -0.004656 +v -1.705540 7.184847 -0.004656 +v -1.705540 7.184847 0.796846 +v -1.526129 9.833411 -0.004656 +v -1.705540 9.660696 0.796846 +v -1.526129 9.833411 0.796846 +v -0.813732 5.420441 16.849926 +v -0.813732 7.184846 21.944122 +v -1.526129 7.184847 -1.313097 +v -1.526129 9.833411 -1.313097 +v -1.526129 9.833411 -1.820036 +v -0.947015 10.390596 11.777046 +v -1.016029 10.321227 11.777046 +v -1.705540 8.752759 6.288157 +v -1.526129 9.833411 3.920666 +v -1.526129 9.833411 3.413728 +v -1.526129 9.326169 3.413728 +v 1.326382 8.752767 6.288157 +v -1.171832 8.402288 6.532842 +v -1.171832 8.578352 11.777046 +v -1.171832 8.402287 11.660704 +v 0.632517 10.019367 5.830759 +v 0.632517 10.019367 6.288157 +v 0.408756 10.019367 6.288157 +v -0.654714 10.019367 5.830759 +v -0.409408 10.019367 5.830759 +v -0.409408 10.019367 6.288157 +v 0.632517 10.019367 6.288157 +v 0.958007 9.683129 11.555180 +v 1.156401 7.184846 5.830759 +v 1.156401 7.184846 11.897297 +v 0.941169 9.203603 11.872112 +v 1.018714 8.813758 11.876558 +v 1.018714 8.813758 21.944122 +v 0.720340 9.534098 11.876596 +v 0.941169 9.203603 21.944122 +v 0.389845 9.754927 11.891426 +v 0.720340 9.534098 21.944122 +v 0.000000 9.832472 11.897297 +v 0.389845 9.754927 21.944122 +v 0.814306 10.296813 20.190464 +v 0.814306 10.492232 20.190464 +v 0.000000 9.832472 21.944122 +v -0.389845 9.754927 21.944122 +v -0.389845 9.754927 11.897297 +v -0.720340 9.534098 21.944122 +v -0.720340 9.534098 11.896717 +v 0.893030 10.296813 20.116810 +v 0.893030 10.492232 20.116810 +v 0.893030 10.296813 19.372772 +v 0.893030 10.492232 19.372772 +v -0.941169 9.203603 11.897297 +v -0.941169 9.203603 21.944122 +v -1.018714 8.813758 21.944122 +v -1.018714 8.813758 11.897297 +v -0.941169 8.423913 21.944122 +v -0.941169 8.423913 11.897297 +v -0.720340 8.093418 21.944122 +v -0.720340 8.093418 11.897297 +v -0.389845 7.872589 21.944122 +v -0.389845 7.872590 11.897297 +v 0.000000 7.795044 21.944122 +v 0.000000 7.795044 11.897297 +v 0.000000 7.795044 21.944122 +v 0.389845 7.872589 21.944122 +v 0.389845 7.872590 11.897297 +v 0.720340 8.093418 21.944122 +v 0.720340 8.093418 11.890942 +v 0.814306 10.296813 19.285318 +v 0.814306 10.492232 19.285318 +v 0.893030 10.492232 19.372772 +v 0.941169 8.423913 11.883170 +v 0.941169 8.423913 21.944122 +v 0.359371 10.492232 19.285318 +v -0.814306 10.296813 19.285318 +v -0.359371 10.492232 19.285318 +v -0.167762 10.787157 19.556133 +v 0.167762 10.787157 19.556133 +v -0.167762 11.355709 19.816681 +v 0.167762 11.355709 19.816681 +v -0.814306 10.157009 0.372431 +v 0.814306 10.157009 0.372431 +v 0.814306 10.357646 0.372431 +v 1.014517 10.157009 0.196241 +v 1.014517 10.369081 0.196241 +v -0.143185 10.723700 -1.978914 +v 0.143185 10.723700 -1.978914 +v 0.143185 10.723700 -2.690542 +v 0.143185 11.207904 -2.300615 +v 0.143185 10.723700 -1.978914 +v 0.335502 11.207904 -2.300615 +v 1.014517 10.723700 -1.978914 +v 1.014517 11.207904 -2.300615 +v 1.014517 10.606321 -1.825947 +v -1.014517 10.606321 -1.825947 +v -1.014517 10.491154 -1.431074 +v 1.014517 10.491154 -1.431074 +v -0.814306 10.357646 0.372431 +v 0.814306 10.357646 0.372431 +v 1.014517 10.369081 0.196241 +v -1.014517 10.369081 0.196241 +v -1.171832 9.475290 11.897297 +v 0.632517 10.019366 11.897297 +v 0.720340 9.534098 11.876596 +v 0.000000 9.832472 11.897297 +v -0.654714 10.019366 11.897297 +v -0.720340 9.534098 11.896717 +v -1.171832 9.475290 11.897297 +v 0.941169 8.423913 11.883170 +v 0.720340 8.093418 11.890942 +v 0.389845 7.872590 11.897297 +v -0.941169 9.203603 11.897297 +v -0.389845 9.754927 11.897297 +v 0.389845 9.754927 11.891426 +v 0.941169 9.203603 11.872112 +v -1.524936 8.927025 1.935824 +v -1.526129 9.833411 2.105288 +v -1.526129 9.321173 2.105288 +v -1.526129 9.326169 2.612226 +v 0.335502 11.269897 -2.300615 +v 0.143185 11.269897 -2.300615 +v -0.167762 10.787157 19.556133 +v -0.167762 10.787157 20.190464 +v -0.167762 11.355709 20.190464 +v -0.359371 10.492232 20.190464 +v -0.814306 10.492232 20.190464 +v -0.814306 10.296813 20.190464 +v -0.893030 10.296813 20.116810 +v -0.893030 10.296813 19.372772 +v -0.893030 10.492232 20.116810 +v -0.893030 10.296813 19.372772 +v -0.893030 10.492232 19.372772 +v -0.814306 10.492232 19.285318 +v -0.143185 10.723700 -1.978914 +v -1.014517 10.723700 -1.978914 +v -0.814306 10.357646 0.372431 +v -0.335502 11.269897 -2.300615 +v -0.335502 11.207904 -2.300615 +v -0.143185 11.207904 -2.300615 +v 1.526129 9.833411 0.796846 +v -0.451145 8.974197 5.975873 +v -0.345291 9.132619 5.975873 +v -0.345291 9.132619 5.773401 +v -0.186870 9.238472 5.975873 +v -0.186870 9.238472 5.773401 +v 0.345291 8.442036 5.975873 +v 0.186870 8.336183 5.975873 +v 0.186870 8.336183 5.773401 +v 0.000000 9.275643 5.975873 +v 0.000000 9.275643 5.773401 +v 0.186870 9.238472 5.975873 +v 0.186870 9.238472 5.773401 +v 0.451145 8.600457 5.975873 +v 0.345291 8.442036 5.773401 +v 0.345291 9.132619 5.975873 +v 0.345291 9.132619 5.773401 +v 0.451145 8.974197 5.975873 +v 0.451145 8.974197 5.773401 +v 0.488316 8.787328 5.975873 +v 0.451145 8.600457 5.773401 +v 0.488316 8.787328 5.773401 +v -0.186870 8.336183 5.975873 +v -0.345291 8.442036 5.975873 +v -0.345291 8.442036 5.773401 +v -0.451145 8.600457 5.975873 +v -0.488316 8.787328 5.975873 +v -0.488316 8.787328 5.773401 +v 0.000000 8.299012 5.975873 +v -0.186870 8.336183 5.773401 +v 0.000000 8.299012 5.773401 +v -0.451145 8.974197 5.773401 +v -0.451145 8.600457 5.773401 +v -1.360494 8.796173 2.190356 +v -1.659889 8.796173 2.190356 +v -1.659889 8.927017 2.059511 +v -1.659889 9.139336 2.059511 +v -1.360494 9.139336 2.059511 +v -1.360494 8.927017 2.059511 +v -1.360494 9.270180 2.190356 +v -1.659889 9.270180 2.190356 +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.935824 +v -1.526129 7.184847 0.796846 +v -1.526129 8.752565 2.110282 +v -1.524936 9.151711 1.935824 +v 0.167762 10.787157 20.190464 +v -1.526129 7.184847 -0.511595 +v 0.947015 10.390596 21.944122 +v 1.705540 7.184847 3.413727 +v 0.408756 10.107763 -3.763226 +v 1.705540 7.967401 18.319260 +v 1.526129 9.833411 1.303785 +v -1.132077 10.212755 -2.753815 +v 1.705540 7.184847 -1.313097 +v 1.705540 7.184847 -0.004656 +v 1.526129 9.833411 2.612226 +v 1.526129 9.833411 3.920666 +v 1.526129 9.833411 -0.004656 +v 1.705540 7.184847 2.105287 +v 1.526043 7.184847 -2.765843 +v -1.705540 9.326169 3.413728 +v -1.333642 7.967401 19.492821 +v -1.705540 9.660696 2.105288 +v -1.333642 7.184846 21.944122 +v -0.813732 7.184846 16.849926 +v -1.526129 7.184847 -1.820036 +v -1.526129 9.326169 3.920666 +v -1.333642 8.402287 11.660704 +v 0.408756 10.019367 5.830759 +v -0.654714 10.019367 6.288157 +v 0.869641 10.390596 11.777046 +v 0.000000 7.795044 11.897297 +v 0.893030 10.296813 19.372772 +v -0.143185 10.723700 -2.690542 +v -1.526129 9.833411 2.612226 +v -0.167762 11.355709 19.816681 +v -0.359371 10.492232 19.285318 +v -0.893030 10.492232 19.372772 +v -0.143185 11.269897 -2.300615 +v -1.014517 11.207904 -2.300615 +v -1.360494 9.270180 6.250484 +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.670330 0.348139 +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.655911 0.344201 +vt 0.655725 0.344372 +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.652553 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.668193 0.332067 +vt 0.668206 0.329389 +vt 0.666535 0.332060 +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.667770 0.332065 +vt 0.666770 0.332061 +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.666922 0.332062 +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.671575 0.327451 +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.671472 0.338233 +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.652553 0.349106 +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.667291 0.334981 +vt 0.668972 0.332310 +vt 0.668958 0.335208 +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.667718 0.334983 +vt 0.667731 0.332305 +vt 0.668734 0.332309 +vt 0.668720 0.335207 +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.668569 0.335206 +vt 0.668331 0.335205 +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.671659 0.347121 +vt 0.671877 0.347120 +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.644193 0.339756 +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.661774 0.343476 +vt 0.661779 0.343575 +vt 0.661938 0.343468 +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.645812 0.348899 +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.645922 0.348760 +vt 0.645839 0.348759 +vt 0.645839 0.348927 +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.665150 0.338600 +vt 0.665149 0.338488 +vt 0.665458 0.338243 +vt 0.665110 0.338327 +vt 0.665149 0.338488 +vt 0.670113 0.347891 +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.669766 0.348137 +vt 0.644857 0.345897 +vt 0.666027 0.338619 +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.666316 0.338619 +vt 0.666027 0.338619 +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.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.646516 0.348930 +vt 0.646599 0.348931 +vt 0.646517 0.348762 +vt 0.646626 0.348903 +vt 0.646918 0.348904 +vt 0.646626 0.348763 +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.671351 0.348142 +vt 0.671352 0.347895 +vt 0.655858 0.344144 +vt 0.654727 0.340476 +vt 0.654996 0.339627 +vt 0.665497 0.338404 +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.667782 0.329387 +vt 0.666549 0.329162 +vt 0.671051 0.347585 +vt 0.671275 0.346444 +vt 0.666784 0.329163 +vt 0.671356 0.327477 +vt 0.667170 0.329165 +vt 0.666935 0.329164 +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.671874 0.346444 +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.671470 0.337557 +vt 0.646872 0.342185 +vt 0.668972 0.332310 +vt 0.652336 0.349106 +vt 0.672085 0.329805 +vt 0.669596 0.345450 +vt 0.671789 0.329730 +vt 0.667304 0.332303 +vt 0.668734 0.332309 +vt 0.672085 0.332540 +vt 0.671710 0.333607 +vt 0.668582 0.332308 +vt 0.672166 0.323838 +vt 0.668344 0.332307 +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.671655 0.346445 +vt 0.644352 0.339741 +vt 0.661929 0.343266 +vt 0.666317 0.341361 +vt 0.663978 0.343119 +vt 0.671386 0.336174 +vt 0.645813 0.348759 +vt 0.665999 0.338362 +vt 0.645922 0.348928 +vt 0.665497 0.338599 +vt 0.664984 0.338489 +vt 0.665497 0.338404 +vt 0.669767 0.347890 +vt 0.670331 0.347891 +vt 0.670112 0.348138 +vt 0.669767 0.347890 +vt 0.666027 0.338335 +vt 0.666027 0.338646 +vt 0.671197 0.336802 +vt 0.666316 0.338619 +vt 0.646282 0.348623 +vt 0.646599 0.348931 +vt 0.646599 0.348763 +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.672007 0.330872 +vt 0.672007 0.329730 +vt 0.671789 0.329730 +vt 0.654722 0.339409 +vt 0.671579 0.326337 +vt 0.671361 0.326336 +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.671385 0.336030 +vt 0.671546 0.336029 +vt 0.671545 0.335632 +vt 0.671154 0.335634 +vt 0.654284 0.346628 +vt 0.654463 0.346686 +vt 0.654139 0.346714 +vt 0.343293 0.494352 +vt 0.403663 0.495033 +vt 0.424011 0.491967 +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.405218 0.475819 +vt 0.311194 0.474745 +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.424375 0.496265 +vt 0.345807 0.496601 +vt 0.345855 0.507785 +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.672006 0.333607 +vt 0.672007 0.332466 +vt 0.671789 0.332465 +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.411117 0.477267 +vt 0.411370 0.492239 +vt 0.424354 0.492076 +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.302821 0.490584 +vt 0.410043 0.495106 +vt 0.652336 0.349106 +vt 0.652553 0.349106 +vt 0.652553 0.348753 +vt 0.661163 0.348102 +vt 0.661163 0.347939 +vt 0.655926 0.347949 +vt 0.424262 0.469977 +vt 0.405287 0.469761 +vt 0.671872 0.323538 +vt 0.672090 0.323538 +vt 0.672088 0.322396 +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.655755 0.344598 +vt 0.655754 0.345574 +vt 0.657189 0.345576 +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.671872 0.322170 +vt 0.672090 0.322169 +vt 0.672085 0.321027 +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.411093 0.495895 +vt 0.423965 0.496042 +vt 0.646451 0.344107 +vt 0.661762 0.348101 +vt 0.671788 0.332239 +vt 0.672006 0.332240 +vt 0.672007 0.331098 +vt 0.670079 0.345801 +vt 0.669784 0.345800 +vt 0.669787 0.345111 +vt 0.670116 0.344218 +vt 0.671051 0.347585 +vt 0.671270 0.347586 +vt 0.671275 0.346444 +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.655911 0.344201 +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.403381 0.492993 +vt 0.410153 0.492980 +vt 0.671176 0.338233 +vt 0.671253 0.338233 +vt 0.671248 0.337030 +vt 0.645543 0.340191 +vt 0.650254 0.339752 +vt 0.650742 0.339545 +vt 0.405500 0.512252 +vt 0.405526 0.518299 +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.672090 0.324906 +vt 0.672089 0.323764 +vt 0.671870 0.323765 +vt 0.659341 0.339758 +vt 0.659342 0.339807 +vt 0.644946 0.340247 +vt 0.656755 0.343970 +vt 0.656537 0.343971 +vt 0.656538 0.344190 +vt 0.652042 0.344901 +vt 0.645109 0.340001 +vt 0.665779 0.341683 +vt 0.665706 0.341738 +vt 0.661666 0.343279 +vt 0.661676 0.343481 +vt 0.661774 0.343476 +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.646282 0.348623 +vt 0.646158 0.348622 +vt 0.646157 0.348929 +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.671248 0.337030 +vt 0.671250 0.337251 +vt 0.671469 0.337246 +vt 0.656541 0.342427 +vt 0.656458 0.342426 +vt 0.671274 0.336420 +vt 0.671548 0.336419 +vt 0.671547 0.336174 +vt 0.671548 0.336570 +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.651009 0.348764 +vt 0.651082 0.348764 +vt 0.651103 0.348667 +vt 0.651150 0.348791 +vt 0.651206 0.348710 +vt 0.651013 0.349131 +vt 0.650945 0.349104 +vt 0.650889 0.349185 +vt 0.651202 0.348842 +vt 0.651285 0.348789 +vt 0.651231 0.348909 +vt 0.651328 0.348892 +vt 0.651086 0.349131 +vt 0.650992 0.349228 +vt 0.651231 0.348982 +vt 0.651328 0.349003 +vt 0.651204 0.349050 +vt 0.651285 0.349106 +vt 0.651153 0.349102 +vt 0.651103 0.349228 +vt 0.651206 0.349185 +vt 0.650864 0.348986 +vt 0.650864 0.348913 +vt 0.650767 0.348892 +vt 0.650891 0.348845 +vt 0.650942 0.348793 +vt 0.650889 0.348710 +vt 0.650893 0.349053 +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.665496 0.328721 +vt 0.661745 0.328574 +vt 0.661745 0.328703 +vt 0.656871 0.339542 +vt 0.669475 0.348061 +vt 0.671788 0.330872 +vt 0.671254 0.337557 +vt 0.671252 0.337354 +vt 0.671545 0.335784 +vt 0.671787 0.333607 +vt 0.424233 0.477149 +vt 0.655624 0.336619 +vt 0.662967 0.338908 +vt 0.652336 0.348753 +vt 0.656433 0.348111 +vt 0.671870 0.322396 +vt 0.657191 0.344600 +vt 0.653583 0.336623 +vt 0.654148 0.336621 +vt 0.671867 0.321028 +vt 0.671789 0.331098 +vt 0.671056 0.346443 +vt 0.655059 0.336619 +vt 0.656134 0.344371 +vt 0.655632 0.339548 +vt 0.655699 0.347352 +vt 0.659343 0.339981 +vt 0.671171 0.337105 +vt 0.424469 0.518218 +vt 0.666774 0.344703 +vt 0.671872 0.324906 +vt 0.656756 0.344189 +vt 0.665748 0.341793 +vt 0.661765 0.343274 +vt 0.653715 0.344312 +vt 0.659330 0.338958 +vt 0.661427 0.341411 +vt 0.648961 0.349171 +vt 0.646280 0.348929 +vt 0.671466 0.337028 +vt 0.671386 0.336174 +vt 0.671158 0.336572 +vt 0.667319 0.348822 +vt 0.656334 0.342426 +vt 0.655959 0.342451 +vt 0.665496 0.328592 +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 -1.0000 0.0000 0.0002 +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.0000 -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.6939 0.7201 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.9199 0.3923 -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.4234 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.6323 -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.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.8200 +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.0000 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.0000 +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.3828 0.9238 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.0002 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.0127 -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.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.3824 0.9240 +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.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 +usemtl Material.001 +s off +f 1875/1928/926 1876/1929/926 1877/1930/926 +f 1878/1931/927 1879/1932/927 1880/1933/927 +f 1881/1934/928 1882/1935/928 1883/1936/928 +f 1884/1937/928 1885/1938/928 1886/1939/928 +f 1887/1940/929 1888/1941/929 1889/1942/929 +f 1881/1934/930 1890/1943/928 1891/1944/930 +f 1892/1945/931 1893/1946/931 1894/1947/931 +f 1895/1948/932 1896/1949/932 1897/1950/932 +f 1898/1951/933 1899/1952/933 1900/1953/933 +f 1895/1948/932 1897/1950/932 1901/1954/932 +f 1902/1955/928 1903/1956/928 1904/1957/928 +f 1905/1958/934 1906/1959/934 1907/1960/934 +f 1908/1961/935 1909/1962/935 1910/1963/935 +f 1910/1963/935 1911/1964/935 1908/1961/935 +f 1912/1965/932 1895/1948/932 1913/1966/932 +f 1914/1967/932 1915/1968/932 1912/1965/932 +f 1885/1938/928 1916/1969/928 1917/1970/928 +f 1918/1971/926 1919/1972/926 1920/1973/926 +f 1921/1974/932 1922/1975/932 1923/1976/932 +f 1924/1977/932 1925/1978/932 1926/1979/932 +f 1914/1967/932 1912/1965/932 1913/1966/932 +f 1927/1980/926 1928/1981/926 1929/1982/926 +f 1929/1982/926 1930/1983/926 1927/1980/926 +f 1931/1984/932 1932/1985/932 1933/1986/932 +f 1934/1987/928 1935/1988/928 1936/1989/928 +f 1919/1972/926 1937/1990/926 1920/1973/926 +f 1938/1991/935 1939/1992/935 1940/1993/935 +f 1925/1978/932 1901/1954/932 1926/1979/932 +f 1897/1950/932 1926/1979/932 1901/1954/932 +f 1912/1965/932 1941/1994/932 1895/1948/932 +f 1926/1979/932 1942/1995/932 1924/1977/932 +f 1943/1996/935 1944/1997/935 1945/1998/935 +f 1946/1999/926 1920/1973/926 1937/1990/926 +f 1947/2000/926 1948/2001/926 1949/2002/926 +f 1950/2003/935 1951/2004/935 1952/2005/935 +f 1953/2006/936 1954/2007/936 1955/2008/936 +f 1956/2009/936 1957/2010/936 1954/2007/936 +f 1926/1979/932 1923/1976/932 1922/1975/932 +f 1958/2011/932 1959/2012/932 1942/1995/932 +f 1960/2013/932 1961/2014/932 1959/2012/932 +f 1962/2015/928 1963/2016/928 1964/2017/928 +f 1965/2018/927 1966/2019/927 1967/2020/927 +f 1968/2021/927 1969/2022/927 1970/2023/927 +f 1971/2024/927 1972/2025/927 1973/2026/927 +f 1974/2027/932 1975/2028/932 1976/2029/932 +f 1977/2030/932 1978/2031/932 1979/2032/932 +f 1980/2033/927 1981/2034/927 1982/2035/927 +f 1983/2036/927 1982/2035/927 1984/2037/927 +f 1985/2038/927 1986/2039/927 1987/2040/927 +f 1988/2041/932 1989/2042/932 1933/1986/932 +f 1990/2043/932 1991/2044/932 1992/2045/932 +f 1993/2046/932 1994/2047/932 1959/2012/932 +f 1995/2048/927 1996/2049/927 1997/2050/927 +f 1998/2051/937 1999/2052/937 2000/2053/937 +f 2001/2054/935 2002/2055/935 2003/2056/935 +f 1961/2014/932 1960/2013/932 2004/2057/932 +f 2005/2058/938 2006/2059/938 2007/2060/938 +f 2008/2061/927 2009/2062/927 2010/2063/927 +f 2011/2064/935 2012/2065/935 2013/2066/935 +f 2014/2067/933 2015/2068/933 2005/2058/933 +f 2016/2069/939 2017/2070/939 2018/2071/939 +f 2019/2072/928 2020/2073/928 2021/2074/928 +f 2022/2075/927 2023/2076/927 2024/2077/927 +f 2025/2078/927 2026/2079/927 2027/2080/927 +f 2028/2081/935 2029/2082/935 2030/2083/935 +f 1915/1968/932 2031/2084/932 1912/1965/932 +f 2032/2085/940 2033/2086/940 2034/2087/940 +f 2035/2088/940 2036/2089/940 2037/2090/940 +f 2038/2091/927 2039/2092/927 2040/2093/927 +f 2041/2094/927 2042/2095/927 2043/2096/927 +f 2044/2097/935 2045/2098/935 2046/2099/935 +f 2043/2096/927 2027/2080/927 2041/2094/927 +f 2047/2100/941 2048/2101/941 2049/2102/941 +f 2050/2103/939 2051/2104/939 2052/2105/939 +f 2053/2106/927 2054/2107/927 2055/2108/927 +f 2056/2109/939 2049/2102/939 2048/2101/939 +f 2057/2110/929 2058/2111/929 2059/2112/929 +f 2060/2113/942 2061/2114/942 2062/2115/942 +f 2063/2116/935 2064/2117/935 2065/2118/935 +f 2066/2119/926 2067/2120/926 1937/1990/926 +f 2068/2121/943 2069/2122/943 2070/2123/943 +f 1915/1968/932 2071/2124/932 2031/2084/932 +f 1992/2045/932 2072/2125/932 1933/1986/932 +f 1959/2012/932 1961/2014/932 1933/1986/932 +f 1958/2011/932 2073/2126/932 2074/2127/932 +f 2075/2128/932 1988/2041/932 1933/1986/932 +f 1933/1986/932 2076/2129/932 2077/2130/932 +f 2078/2131/932 2076/2129/932 1933/1986/932 +f 2078/2131/932 2072/2125/932 2079/2132/932 +f 2080/2133/927 2081/2134/927 2082/2135/927 +f 1987/2040/927 2080/2133/927 2083/2136/927 +f 2084/2137/927 1981/2034/927 1980/2033/927 +f 2073/2126/932 2085/2138/932 2074/2127/932 +f 2086/2139/932 2087/2140/932 2088/2141/932 +f 2089/2142/932 2073/2126/932 1958/2011/932 +f 2090/2143/927 2091/2144/927 2092/2145/927 +f 2093/2146/927 2094/2147/927 2095/2148/927 +f 2096/2149/935 2097/2150/935 2098/2151/935 +f 2099/2152/935 2100/2153/935 2101/2154/935 +f 2102/2155/928 2103/2156/928 2104/2157/928 +f 2105/2158/939 2106/2159/939 2107/2160/939 +f 2108/2161/927 2109/2162/927 2110/2163/927 +f 2111/2164/927 2112/2165/927 2113/2166/927 +f 1921/1974/932 1896/1949/932 1975/2028/932 +f 2114/2167/941 2106/2159/941 2105/2158/941 +f 2115/2168/926 2116/2169/926 2117/2170/926 +f 2118/2171/926 2119/2172/926 2120/2173/926 +f 2121/2174/927 2122/2175/927 2123/2176/927 +f 1941/1994/932 1975/2028/932 1896/1949/932 +f 2124/2177/927 2125/2178/927 2126/2179/927 +f 2127/2180/935 2128/2181/935 2129/2182/935 +f 1976/2029/932 1975/2028/932 1941/1994/932 +f 2130/2183/940 2131/2184/940 2132/2185/940 +f 2133/2186/940 2134/2187/940 2135/2188/940 +f 2136/2189/927 2137/2190/927 2138/2191/927 +f 2139/2192/927 2140/2193/927 2125/2178/927 +f 2141/2194/935 2142/2195/935 2143/2196/935 +f 2126/2179/927 2125/2178/927 2140/2193/927 +f 2144/2197/926 2145/2198/926 2146/2199/926 +f 2147/2200/938 2148/2201/938 2149/2202/938 +f 2074/2127/932 2150/2203/932 2088/2141/932 +f 2151/2204/932 2074/2127/932 2087/2140/932 +f 2152/2205/927 2153/2206/927 2154/2207/927 +f 2155/2208/926 2156/2209/926 2144/2197/926 +f 2157/2210/929 2158/2211/929 2159/2212/929 +f 2160/2213/932 2151/2204/932 2161/2214/932 +f 2162/2215/932 2163/2216/932 2074/2127/932 +f 2164/2217/935 2165/2218/935 2166/2219/935 +f 2167/2220/932 2074/2127/932 2163/2216/932 +f 2168/2221/928 2169/2222/928 2170/2223/928 +f 1977/2030/932 2150/2203/932 2074/2127/932 +f 2171/2224/935 2172/2225/935 2173/2226/935 +f 1909/1962/935 2174/2227/935 2172/2225/935 +f 1909/1962/935 1908/1961/935 2174/2227/935 +f 2175/2228/926 2176/2229/926 2177/2230/926 +f 2178/2231/928 2179/2232/928 2180/2233/928 +f 2181/2234/935 2182/2235/935 2183/2236/935 +f 2184/2237/935 2185/2238/935 2186/2239/935 +f 2187/2240/935 2188/2241/935 2186/2239/935 +f 1965/2018/927 1967/2020/927 2189/2242/927 +f 2190/2243/926 2191/2244/926 2192/2245/926 +f 2172/2225/935 2193/2246/935 2173/2226/935 +f 2194/2247/936 2195/2248/936 2196/2249/936 +f 2197/2250/935 2198/2251/935 2199/2252/935 +f 2200/2253/935 2201/2254/935 2202/2255/935 +f 2203/2256/927 2204/2257/927 2205/2258/927 +f 2206/2259/936 2207/2260/936 2208/2261/936 +f 2209/2262/928 2210/2263/928 2211/2264/928 +f 2212/2265/936 2213/2266/936 2214/2267/936 +f 2214/2267/936 2215/2268/936 2212/2265/936 +f 2216/2269/926 2217/2270/926 2218/2271/926 +f 2219/2272/926 2220/2273/926 2221/2274/926 +f 2222/2275/936 2223/2276/936 2224/2277/936 +f 2192/2245/926 1948/2001/926 1947/2000/926 +f 1923/1976/932 1896/1949/932 1921/1974/932 +f 2225/2278/927 2226/2279/927 2227/2280/927 +f 2228/2281/927 2225/2278/927 2227/2280/927 +f 2229/2282/927 2228/2281/927 2227/2280/927 +f 2190/2243/926 2192/2245/926 1947/2000/926 +f 2226/2279/927 2230/2283/927 2227/2280/927 +f 2231/2284/935 2232/2285/935 2233/2286/935 +f 2233/2286/935 2232/2285/935 2234/2287/935 +f 2235/2288/935 2236/2289/935 2237/2290/935 +f 2238/2291/935 2239/2292/935 2235/2288/935 +f 1945/1998/935 2239/2292/935 2240/2293/935 +f 2241/2294/935 2242/2295/935 1944/1997/935 +f 2243/2296/935 2244/2297/935 2242/2295/935 +f 2245/2298/935 2234/2287/935 2244/2297/935 +f 2246/2299/935 2243/2296/935 2242/2295/935 +f 2241/2294/935 2246/2299/935 2242/2295/935 +f 1943/1996/935 2247/2300/935 1944/1997/935 +f 2248/2301/935 2240/2293/935 2239/2292/935 +f 2238/2291/935 2248/2301/935 2239/2292/935 +f 2249/2302/935 2238/2291/935 2235/2288/935 +f 2250/2303/935 2237/2290/935 2236/2289/935 +f 2251/2304/935 2250/2303/935 2236/2289/935 +f 2251/2304/935 2236/2289/935 2234/2287/935 +f 2245/2298/935 2252/2305/935 2234/2287/935 +f 2243/2296/935 2253/2306/935 2244/2297/935 +f 2254/2307/935 2231/2284/935 2233/2286/935 +f 2236/2289/935 2233/2286/935 2234/2287/935 +f 2249/2302/935 2235/2288/935 2237/2290/935 +f 2255/2308/935 1945/1998/935 2240/2293/935 +f 2247/2300/935 2241/2294/935 1944/1997/935 +f 2253/2306/935 2245/2298/935 2244/2297/935 +f 2252/2305/935 2251/2304/935 2234/2287/935 +f 2255/2308/935 1943/1996/935 1945/1998/935 +f 2256/2309/926 2257/2310/926 2258/2311/926 +f 1941/1994/932 1896/1949/932 1895/1948/932 +f 2259/2312/927 2260/2313/927 2261/2314/927 +f 2262/2315/944 2263/2316/944 2264/2317/944 +f 2265/2318/932 2266/2319/932 2267/2320/932 +f 2268/2321/932 2269/2322/932 2270/2323/932 +f 2271/2324/936 2272/2325/936 2273/2326/936 +f 2274/2327/928 1883/1936/928 1882/1935/928 +f 2202/2255/935 2275/2328/935 2181/2234/935 +f 2197/2250/935 2199/2252/935 2202/2255/935 +f 2276/2329/927 2277/2330/927 2278/2331/927 +f 2276/2329/927 2279/2332/927 2280/2333/927 +f 2281/2334/932 2282/2335/932 2283/2336/932 +f 2284/2337/928 2285/2338/928 2209/2262/928 +f 2286/2339/936 2287/2340/936 2288/2341/936 +f 2289/2342/936 2286/2339/936 2290/2343/936 +f 1880/1933/927 1879/1932/927 2291/2344/927 +f 2292/2345/928 2293/2346/928 2294/2347/928 +f 2279/2332/927 2295/2348/927 2296/2349/927 +f 2297/2350/926 2298/2351/926 2299/2352/926 +f 2300/2353/928 2301/2354/928 2302/2355/928 +f 2303/2356/936 2304/2357/936 2305/2358/936 +f 2306/2359/926 2299/2352/926 2298/2351/926 +f 2307/2360/936 2308/2361/936 2309/2362/936 +f 2310/2363/936 2309/2362/936 2308/2361/936 +f 2311/2364/926 2312/2365/926 2313/2366/926 +f 2311/2364/926 1877/1930/926 2312/2365/926 +f 1880/1933/927 2204/2257/927 2314/2367/927 +f 2204/2257/927 2203/2256/927 2314/2367/927 +f 2315/2368/935 1952/2005/935 2316/2369/935 +f 2317/2370/928 2318/2371/928 2319/2372/928 +f 2320/2373/928 2319/2372/928 2318/2371/928 +f 2321/2374/928 2320/2373/928 2318/2371/928 +f 1878/1931/927 1880/1933/927 2314/2367/927 +f 2322/2375/935 2315/2368/935 2316/2369/935 +f 2323/2376/928 2317/2370/928 2319/2372/928 +f 2311/2364/926 1875/1928/926 1877/1930/926 +f 2315/2368/935 1950/2003/935 1952/2005/935 +f 2324/2377/935 2325/2378/935 2326/2379/935 +f 2327/2380/935 2325/2378/935 2328/2381/935 +f 2326/2379/935 2325/2378/935 2329/2382/935 +f 2329/2382/935 2325/2378/935 2330/2383/935 +f 2331/2384/935 2325/2378/935 2327/2380/935 +f 2330/2383/935 2325/2378/935 2332/2385/935 +f 2332/2385/935 2325/2378/935 2333/2386/935 +f 2334/2387/935 2325/2378/935 2331/2384/935 +f 2333/2386/935 2325/2378/935 2335/2388/935 +f 2335/2388/935 2325/2378/935 2336/2389/935 +f 2336/2389/935 2325/2378/935 2334/2387/935 +f 2337/2390/935 2325/2378/935 2324/2377/935 +f 2328/2381/935 2325/2378/935 2338/2391/935 +f 2339/2392/935 2325/2378/935 2337/2390/935 +f 2338/2391/935 2325/2378/935 2340/2393/935 +f 2340/2393/935 2325/2378/935 2339/2392/935 +f 2341/2394/928 2342/2395/928 2343/2396/928 +f 2344/2397/928 2345/2398/928 2343/2396/928 +f 2346/2399/935 2347/2400/935 2348/2401/935 +f 1890/1943/928 1881/1934/928 1883/1936/928 +f 2349/2402/928 1884/1937/928 1886/1939/928 +f 2350/2403/929 1887/1940/929 1889/1942/929 +f 2351/2404/930 1881/1934/945 1891/1944/930 +f 2352/2405/931 1892/1945/931 1894/1947/931 +f 2353/2406/928 1902/1955/928 1904/1957/928 +f 1904/1957/928 2354/2407/928 2353/2406/928 +f 1886/1939/928 1885/1938/928 1917/1970/928 +f 2355/2408/935 1938/1991/935 1940/1993/935 +f 2067/2120/926 1946/1999/926 1937/1990/926 +f 2356/2409/936 1953/2006/936 1955/2008/936 +f 1953/2006/936 1956/2009/936 1954/2007/936 +f 1942/1995/932 1926/1979/932 1922/1975/932 +f 1922/1975/932 1958/2011/932 1942/1995/932 +f 1958/2011/932 1960/2013/932 1959/2012/932 +f 1973/2026/927 1968/2021/927 1970/2023/927 +f 1970/2023/927 1971/2024/927 1973/2026/927 +f 2150/2203/932 1977/2030/932 1979/2032/932 +f 1983/2036/927 1980/2033/927 1982/2035/927 +f 2357/2410/927 1983/2036/927 1984/2037/927 +f 2358/2411/927 1985/2038/927 1987/2040/927 +f 1932/1985/932 1990/2043/932 1992/2045/932 +f 1989/2042/932 1993/2046/932 1959/2012/932 +f 2359/2412/927 1995/2048/927 1997/2050/927 +f 2360/2413/937 1998/2051/937 2000/2053/937 +f 2361/2414/935 2001/2054/935 2003/2056/935 +f 2362/2415/932 1961/2014/932 2004/2057/932 +f 2014/2067/938 2005/2058/938 2007/2060/938 +f 2363/2416/927 2008/2061/927 2010/2063/927 +f 2364/2417/935 2011/2064/935 2013/2066/935 +f 2365/2418/939 2016/2069/939 2018/2071/939 +f 2366/2419/928 2019/2072/928 2021/2074/928 +f 2367/2420/927 2022/2075/927 2024/2077/927 +f 2043/2096/927 2025/2078/927 2027/2080/927 +f 2368/2421/935 2028/2081/935 2030/2083/935 +f 2369/2422/940 2032/2085/940 2034/2087/940 +f 2370/2423/940 2035/2088/940 2037/2090/940 +f 2371/2424/927 2038/2091/927 2040/2093/927 +f 2372/2425/935 2044/2097/935 2046/2099/935 +f 2373/2426/939 2050/2103/939 2052/2105/939 +f 2374/2427/927 2053/2106/927 2055/2108/927 +f 2375/2428/939 2056/2109/939 2048/2101/939 +f 2376/2429/929 2057/2110/929 2059/2112/929 +f 2377/2430/942 2060/2113/942 2062/2115/942 +f 2378/2431/935 2063/2116/935 2065/2118/935 +f 2379/2432/943 2068/2121/943 2070/2123/943 +f 1932/1985/932 1992/2045/932 1933/1986/932 +f 1989/2042/932 1959/2012/932 1933/1986/932 +f 1960/2013/932 1958/2011/932 2074/2127/932 +f 2077/2130/932 2075/2128/932 1933/1986/932 +f 2072/2125/932 2078/2131/932 1933/1986/932 +f 2380/2433/932 2078/2131/932 2079/2132/932 +f 2083/2136/927 2080/2133/927 2082/2135/927 +f 2358/2411/927 1987/2040/927 2083/2136/927 +f 2381/2434/927 2084/2137/927 1980/2033/927 +f 2382/2435/932 2086/2139/932 2088/2141/932 +f 2383/2436/932 2089/2142/932 1958/2011/932 +f 2384/2437/927 2090/2143/927 2092/2145/927 +f 2385/2438/927 2093/2146/927 2095/2148/927 +f 2386/2439/935 2096/2149/935 2098/2151/935 +f 2387/2440/935 2099/2152/935 2101/2154/935 +f 2388/2441/928 2102/2155/928 2104/2157/928 +f 2389/2442/939 2105/2158/939 2107/2160/939 +f 2390/2443/927 2108/2161/927 2110/2163/927 +f 2391/2444/927 2111/2164/927 2113/2166/927 +f 2392/2445/932 1921/1974/932 1975/2028/932 +f 2393/2446/926 2115/2168/926 2117/2170/926 +f 2394/2447/926 2118/2171/926 2120/2173/926 +f 2395/2448/927 2121/2174/927 2123/2176/927 +f 2396/2449/927 2124/2177/927 2126/2179/927 +f 2397/2450/935 2127/2180/935 2129/2182/935 +f 2398/2451/940 2130/2183/940 2132/2185/940 +f 2399/2452/940 2133/2186/940 2135/2188/940 +f 2400/2453/927 2136/2189/927 2138/2191/927 +f 2401/2454/935 2141/2194/935 2143/2196/935 +f 2402/2455/938 2147/2200/938 2149/2202/938 +f 2087/2140/932 2074/2127/932 2088/2141/932 +f 2161/2214/932 2151/2204/932 2087/2140/932 +f 2403/2456/927 2152/2205/927 2154/2207/927 +f 2146/2199/926 2155/2208/926 2144/2197/926 +f 2404/2457/929 2157/2210/929 2159/2212/929 +f 2405/2458/932 2160/2213/932 2161/2214/932 +f 2085/2138/932 2162/2215/932 2074/2127/932 +f 2406/2459/935 2164/2217/935 2166/2219/935 +f 2407/2460/928 2408/2461/928 2409/2462/928 +f 2410/2463/928 2168/2221/928 2170/2223/928 +f 2167/2220/932 1977/2030/932 2074/2127/932 +f 2171/2224/935 1909/1962/935 2172/2225/935 +f 2411/2464/926 2175/2228/926 2177/2230/926 +f 2412/2465/928 2178/2231/928 2180/2233/928 +f 2197/2250/935 2181/2234/935 2183/2236/935 +f 2185/2238/935 2187/2240/935 2186/2239/935 +f 2413/2466/927 1965/2018/927 2189/2242/927 +f 2414/2467/936 2194/2247/936 2196/2249/936 +f 2199/2252/935 2200/2253/935 2202/2255/935 +f 2415/2468/936 2206/2259/936 2208/2261/936 +f 2416/2469/926 2216/2269/926 2218/2271/926 +f 2417/2470/926 2219/2272/926 2221/2274/926 +f 2418/2471/936 2222/2275/936 2224/2277/936 +f 2419/2472/926 2256/2309/926 2258/2311/926 +f 2420/2473/927 2259/2312/927 2261/2314/927 +f 2421/2474/944 2262/2315/944 2264/2317/944 +f 2422/2475/932 2265/2318/932 2267/2320/932 +f 2423/2476/932 2268/2321/932 2270/2323/932 +f 2424/2477/936 2271/2324/936 2273/2326/936 +f 2425/2478/928 2274/2327/928 1882/1935/928 +f 2181/2234/935 2197/2250/935 2202/2255/935 +f 2426/2479/927 2276/2329/927 2278/2331/927 +f 2277/2330/927 2276/2329/927 2280/2333/927 +f 2427/2480/932 2281/2334/932 2283/2336/932 +f 2211/2264/928 2284/2337/928 2209/2262/928 +f 2290/2343/936 2286/2339/936 2288/2341/936 +f 2428/2481/936 2289/2342/936 2290/2343/936 +f 2429/2482/928 2292/2345/928 2294/2347/928 +f 2280/2333/927 2279/2332/927 2296/2349/927 +f 2430/2483/926 2297/2350/926 2299/2352/926 +f 2431/2484/928 2300/2353/928 2302/2355/928 +f 2432/2485/936 2303/2356/936 2305/2358/936 +f 2433/2486/928 2341/2394/928 2343/2396/928 +f 2342/2395/928 2344/2397/928 2343/2396/928 +f 2434/2487/935 2346/2399/935 2348/2401/935 +s 1 +f 2435/2488/946 2436/2489/947 2437/2490/948 +f 2437/2490/948 2438/2491/949 2174/2227/935 +f 2439/2492/950 2440/2493/950 2441/2494/951 +f 2442/2495/952 1967/2020/927 1966/2019/927 +f 2443/2496/953 2444/2497/954 2445/2498/928 +f 2446/2499/955 2447/2500/955 2448/2501/956 +f 2449/2502/928 2450/2503/957 2451/2504/958 +f 2354/2407/928 2452/2505/959 2353/2406/928 +f 2453/2506/960 2454/2507/961 1906/1959/926 +f 2455/2508/962 2440/2493/950 2439/2492/950 +f 2456/2509/963 2457/2510/926 2458/2511/926 +f 1930/1983/926 1929/1982/926 2459/2512/964 +f 2459/2512/964 2460/2513/926 1930/1983/926 +f 2458/2511/926 1918/1971/926 2461/2514/965 +f 1918/1971/926 1920/1973/926 2461/2514/965 +f 1932/1985/932 1931/1984/932 2462/2515/966 +f 2463/2516/932 2464/2517/967 2462/2515/966 +f 2456/2509/963 2458/2511/926 2461/2514/965 +f 2465/2518/968 2466/2519/969 2467/2520/970 +f 2468/2521/971 2469/2522/972 2470/2523/973 +f 2471/2524/974 2472/2525/975 2473/2526/976 +f 2474/2527/977 2475/2528/977 2321/2374/928 +f 2476/2529/978 2477/2530/926 2478/2531/926 +f 2479/2532/979 2480/2533/979 2476/2529/978 +f 2481/2534/980 2482/2535/981 2483/2536/982 +f 2484/2537/983 2485/2538/984 2486/2539/985 +f 2487/2540/980 2488/2541/986 2489/2542/987 +f 2490/2543/988 2491/2544/989 2492/2545/990 +f 2493/2546/991 2494/2547/992 2495/2548/993 +f 2486/2539/985 2496/2549/963 2497/2550/926 +f 2498/2551/926 2499/2552/926 2500/2553/994 +f 2497/2554/926 2498/2551/926 2500/2553/994 +f 2501/2555/995 2502/2556/996 2503/2557/928 +f 2504/2558/997 2505/2559/998 2502/2560/996 +f 2501/2555/995 2503/2557/928 1962/2015/928 +f 2506/2561/999 2507/2562/1000 2508/2563/936 +f 2509/2564/1001 2510/2565/1002 2511/2566/1003 +f 2442/2495/952 2512/2567/1004 2487/2540/980 +f 2513/2568/1005 2126/2179/927 2140/2193/927 +f 2189/2242/927 2514/2569/1006 2413/2466/927 +f 2515/2570/928 2516/2571/957 2517/2572/1007 +f 2518/2573/1008 2519/2574/1009 2520/2575/936 +f 2521/2576/1010 2522/2577/1011 2518/2573/1008 +f 2521/2576/1010 2523/2578/1012 2524/2579/1013 +f 2525/2580/1014 2526/2581/1015 2191/2244/926 +f 2500/2553/994 2527/2582/1016 2484/2583/983 +f 2528/2584/994 2529/2585/1017 2522/2577/1011 +f 2530/2586/936 2520/2575/936 2519/2574/1009 +f 2531/2587/1018 2532/2588/957 2533/2589/1019 +f 2534/2590/1020 2535/2591/1021 2533/2589/1019 +f 2518/2573/1008 2533/2589/1019 2535/2591/1021 +f 2536/2592/1022 2534/2590/1020 2533/2589/1019 +f 2537/2593/1023 2538/2594/1024 2539/2595/1025 +f 2540/2596/999 2541/2597/1026 2542/2598/1027 +f 2543/2599/1028 2544/2600/1029 2545/2601/1030 +f 2546/2602/926 2547/2603/960 2548/2604/960 +f 2549/2605/1031 2550/2606/1032 2544/2607/1029 +f 2461/2514/965 2551/2608/963 2552/2609/1033 +f 2553/2610/1034 2554/2611/1035 2555/2612/1036 +f 2537/2593/1023 2556/2613/1001 2557/2614/936 +f 2486/2539/985 2500/2615/994 2484/2537/983 +f 2486/2539/985 2485/2538/984 2558/2616/1031 +f 2559/2617/1002 2560/2618/936 2561/2619/936 +f 2562/2620/1037 2563/2621/1038 2564/2622/936 +f 2486/2539/985 2565/2623/926 2566/2624/1033 +f 2567/2625/926 2568/2626/926 2569/2627/1039 +f 2570/2628/1040 2571/2629/1041 2572/2630/1042 +f 2573/2631/1043 2572/2630/1042 2563/2621/1038 +f 2574/2632/935 2575/2633/935 2576/2634/1044 +f 2577/2635/1045 2578/2636/1046 2579/2637/1047 +f 2580/2638/1048 2510/2565/1002 2579/2637/1047 +f 2581/2639/936 2582/2640/1049 2538/2594/1024 +f 2580/2638/1048 2583/2641/1050 2584/2642/1051 +f 2585/2643/1005 2578/2636/1046 2586/2644/1052 +f 2578/2636/1046 2583/2641/1050 2579/2637/1047 +f 2587/2645/1053 2459/2512/964 1929/1982/926 +f 2579/2637/1047 2588/2646/1054 2577/2635/1045 +f 2557/2614/936 2538/2594/1024 2537/2593/1023 +f 2548/2604/960 2547/2603/960 2589/2647/1055 +f 2590/2648/1056 2591/2649/1057 2592/2650/1055 +f 2593/2651/1019 2594/2652/1017 2595/2653/1025 +f 2596/2654/1057 2597/2655/1058 2598/2656/926 +f 2578/2636/1046 2577/2635/1045 2586/2644/1052 +f 2599/2657/1057 2600/2658/1058 2601/2659/926 +f 2602/2660/926 2603/2661/926 2604/2662/1039 +f 2605/2663/1057 2606/2664/1056 2066/2119/926 +f 2607/2665/984 2542/2598/1027 2550/2606/1032 +f 2608/2666/1059 2553/2610/1034 2609/2667/1060 +f 2554/2611/1035 2610/2668/926 2611/2669/926 +f 2612/2670/1028 2613/2671/1061 2486/2539/985 +f 2484/2583/983 2507/2562/1000 2485/2672/984 +f 2571/2629/1041 2570/2628/1040 2614/2673/949 +f 2615/2674/926 2616/2675/926 2617/2676/1039 +f 2618/2677/927 2619/2678/927 2620/2679/1062 +f 2579/2637/1047 2621/2680/1001 2588/2646/1054 +f 2585/2643/1005 2586/2644/1052 2041/2094/927 +f 2622/2681/926 2623/2682/926 2624/2683/1039 +f 2625/2684/926 2626/2685/960 2627/2686/960 +f 2066/2119/926 1937/1990/926 2605/2663/1057 +f 2628/2687/1063 2589/2647/1055 2529/2585/1017 +f 2629/2688/1063 2630/2689/1064 2529/2585/1017 +f 2459/2512/964 2587/2645/1053 2539/2595/1025 +f 2630/2689/1064 2631/2690/1065 2539/2595/1025 +f 2597/2655/1058 2596/2654/1057 2630/2689/1064 +f 2632/2691/1055 2629/2688/1063 2529/2585/1017 +f 2600/2658/1058 2599/2657/1057 2632/2691/1055 +f 2633/2692/1063 2634/2693/1055 2529/2585/1017 +f 2627/2686/960 2626/2685/960 2634/2693/1055 +f 2589/2647/1055 2633/2692/1063 2529/2585/1017 +f 2528/2584/994 2592/2650/1055 2529/2585/1017 +f 2635/2694/967 2636/2695/1066 2637/2696/1066 +f 2638/2697/1003 2639/2698/1067 2640/2699/1068 +f 1885/1938/928 2641/2700/1069 2642/2701/1069 +f 2640/2699/1068 2643/2702/957 2644/2703/1020 +f 2645/2704/954 2646/2705/953 2640/2699/1068 +f 2647/2706/954 2648/2707/954 2649/2708/928 +f 2646/2705/953 2643/2702/957 2640/2699/1068 +f 2642/2701/1069 2641/2700/1069 2650/2709/1070 +f 2608/2666/1059 2651/2710/1059 2652/2711/1071 +f 2653/2712/1001 2638/2697/1003 2581/2639/936 +f 2505/2559/998 2504/2558/997 2542/2713/1027 +f 2542/2713/1027 2504/2558/997 2550/2714/1032 +f 2654/2715/1072 2655/2716/1073 2470/2523/973 +f 2466/2519/969 2465/2518/968 2656/2717/935 +f 2524/2579/1013 2522/2577/1011 2521/2576/1010 +f 2657/2718/1037 2658/2719/936 2659/2720/936 +f 2504/2558/997 2501/2721/995 2660/2722/1074 +f 2661/2723/928 2662/2724/1020 2452/2505/959 +f 2435/2488/946 2663/2725/1075 2664/2726/1076 +f 2663/2725/1075 2657/2718/1037 2665/2727/1038 +f 2666/2728/1020 2644/2703/1020 2643/2702/957 +f 2667/2729/1077 2668/2730/1078 2510/2565/1002 +f 2662/2724/1020 2531/2587/1018 2669/2731/957 +f 2667/2729/1077 2513/2568/1005 2670/2732/1079 +f 2580/2638/1048 2667/2729/1077 2510/2565/1002 +f 2645/2704/954 2639/2698/1067 2409/2462/928 +f 2511/2566/1003 2510/2565/1002 2668/2730/1078 +f 2582/2640/1049 2581/2639/936 2638/2697/1003 +f 2647/2706/954 2536/2592/1022 2532/2588/957 +f 2443/2496/953 2535/2591/1021 2534/2590/1020 +f 2671/2733/1080 2672/2734/928 2673/2735/928 +f 2668/2730/1078 2667/2729/1077 2670/2732/1079 +f 2674/2736/1080 2675/2737/928 2676/2738/928 +f 2408/2461/928 2645/2704/954 2409/2462/928 +f 2644/2703/1020 2677/2739/957 2533/2589/1019 +f 2678/2740/1020 2679/2741/1018 2677/2739/957 +f 2680/2742/1081 2652/2711/1071 2681/2743/928 +f 2544/2600/1029 2550/2714/1032 2504/2558/997 +f 2682/2744/928 2683/2745/957 2684/2746/954 +f 2685/2747/1082 2686/2748/1083 2542/2598/1027 +f 2435/2488/946 2437/2490/948 2687/2749/1084 +f 2688/2750/1020 2689/2751/1022 2690/2752/928 +f 2669/2731/957 2531/2587/1018 2533/2589/1019 +f 2499/2552/926 2691/2753/926 2500/2553/994 +f 2512/2567/1004 2488/2541/986 2487/2540/980 +f 2191/2244/926 2190/2243/926 2525/2580/1014 +f 2436/2489/947 2692/2754/1085 2438/2491/949 +f 2514/2569/1006 2693/2755/1086 2694/2756/1087 +f 2514/2569/1006 2189/2242/927 2693/2755/1086 +f 2695/2757/1088 2696/2758/1089 2697/2759/932 +f 2698/2760/950 2699/2761/932 2700/2762/932 +f 2526/2581/1015 2525/2580/1014 2698/2760/950 +f 2493/2546/991 2495/2548/993 2701/2763/1089 +f 2685/2747/1082 2541/2597/1026 2540/2596/999 +f 2502/2560/996 2501/2721/995 2504/2558/997 +f 2507/2562/1000 2506/2561/999 2485/2672/984 +f 2482/2535/981 2702/2764/1090 2495/2548/993 +f 2494/2547/992 2703/2765/928 2704/2766/928 +f 2482/2535/981 2481/2534/980 2702/2764/1090 +f 2483/2536/982 2441/2494/951 2481/2534/980 +f 2705/2767/1091 2706/2768/1092 2707/2769/1093 +f 2708/2770/1094 2705/2767/1091 2709/2771/1095 +f 2710/2772/1096 2708/2770/1094 2711/2773/1097 +f 2712/2774/1098 2710/2772/1096 2713/2775/1099 +f 2714/2776/1100 2715/2777/1101 2322/2375/935 +f 2716/2778/1102 2717/2779/1103 2718/2780/1104 +f 2719/2781/1105 2720/2782/1105 2718/2780/1104 +f 2721/2783/1106 2722/2784/1107 2715/2777/1101 +f 2723/2785/1108 2724/2786/1109 2722/2784/1107 +f 2725/2787/1110 2720/2782/1105 2719/2781/1105 +f 2726/2788/1111 2727/2789/1112 2728/2790/1113 +f 2727/2789/1112 2729/2791/1114 2730/2792/1115 +f 2729/2791/1114 2731/2793/1116 2732/2794/1117 +f 2731/2793/1116 2733/2795/1118 2734/2796/1119 +f 2733/2795/1118 2735/2797/1120 2736/2798/1121 +f 2737/2799/1122 2738/2800/1123 2739/2801/1124 +f 2740/2802/1125 2741/2803/1125 2739/2801/1124 +f 2742/2804/1126 2743/2805/1126 2744/2806/1109 +f 2745/2807/1127 2741/2803/1125 2740/2802/1125 +f 2706/2768/1092 2745/2807/1127 2746/2808/1128 +f 2742/2804/1126 2747/2809/1129 2743/2805/1126 +f 2748/2810/1130 2749/2811/1131 2747/2809/1129 +f 2750/2812/1132 2751/2813/1133 2747/2809/1129 +f 2752/2814/1134 2753/2815/1134 2751/2813/1133 +f 2754/2816/1135 2755/2817/1136 2756/2818/1136 +f 2757/2819/1137 2758/2820/1137 2756/2818/1136 +f 2759/2821/1138 2760/2822/1139 2761/2823/936 +f 2762/2824/1140 2763/2825/1141 2764/2826/1142 +f 2765/2827/1143 2766/2828/1144 2764/2826/1142 +f 2763/2825/1141 2767/2829/1145 2765/2827/1143 +f 2768/2830/1146 2767/2829/1145 2763/2825/1141 +f 2769/2831/1147 2770/2832/1148 2767/2829/1145 +f 2771/2833/1149 2772/2834/1149 2773/2835/1150 +f 2774/2836/1151 2773/2835/1150 2770/2832/1148 +f 1949/2002/926 2455/2508/962 2775/2837/1152 +f 2776/2838/1153 2472/2525/975 2777/2839/1154 +f 2778/2840/1155 2779/2841/1156 2776/2838/1153 +f 2780/2842/1157 2781/2843/1158 2779/2841/1156 +f 2229/2282/927 2227/2280/927 2781/2843/1158 +f 2230/2283/927 2473/2526/976 2227/2280/927 +f 2782/2844/1159 2471/2524/974 2473/2526/976 +f 2783/2845/1160 2782/2844/1159 2473/2526/976 +f 2784/2846/1161 2783/2845/1160 2473/2526/976 +f 2230/2283/927 2784/2846/1161 2473/2526/976 +f 2785/2847/1162 2229/2282/927 2781/2843/1158 +f 2780/2842/1157 2785/2847/1162 2781/2843/1158 +f 2778/2840/1155 2786/2848/1163 2779/2841/1156 +f 2787/2849/1164 2778/2840/1155 2776/2838/1153 +f 2788/2850/1165 2777/2839/1154 2472/2525/975 +f 2471/2524/974 2788/2850/1165 2472/2525/975 +f 1947/2000/926 1949/2002/926 2775/2837/1152 +f 2787/2849/1164 2776/2838/1153 2777/2839/1154 +f 2786/2848/1163 2780/2842/1157 2779/2841/1156 +f 2467/2520/970 2468/2521/971 2789/2851/1166 +f 2446/2499/955 2274/2327/928 2425/2478/928 +f 2790/2852/958 2791/2853/955 2792/2854/928 +f 2793/2855/935 2794/2856/935 2762/2824/1140 +f 2795/2857/1167 2796/2858/1167 2797/2859/928 +f 2798/2860/1168 2796/2858/1167 2795/2857/1167 +f 2799/2861/1169 2800/2862/1170 2316/2369/935 +f 2801/2863/1171 2800/2862/1170 2799/2861/1169 +f 2802/2864/1172 2801/2863/1171 2803/2865/1173 +f 2748/2810/1130 2804/2866/1174 2805/2867/1175 +f 2749/2811/1131 2748/2810/1130 2806/2868/1176 +f 2768/2830/1146 2807/2869/1177 2808/2870/1143 +f 2474/2527/977 2754/2816/1135 2809/2871/1178 +f 2810/2872/935 2811/2873/1142 2812/2874/1140 +f 2807/2869/1177 2812/2874/1140 2811/2873/1142 +f 2808/2870/1143 2807/2869/1177 2811/2873/1142 +f 2313/2366/926 2758/2820/1137 2757/2819/1137 +f 2316/2369/935 2800/2862/1170 2714/2776/1100 +f 2311/2364/926 2313/2366/926 2757/2819/1137 +f 2322/2375/935 2316/2369/935 2714/2776/1100 +f 2318/2371/928 2474/2527/977 2321/2374/928 +f 2634/2693/1055 2813/2875/1063 2529/2585/1017 +f 2630/2689/1064 2539/2595/1025 2529/2585/1017 +f 2677/2739/957 2679/2741/1018 2533/2589/1019 +f 2644/2703/1020 2533/2589/1019 2640/2699/1068 +f 2814/2876/1127 2815/2877/1179 2816/2878/1180 +f 2815/2877/1179 2817/2879/1181 2818/2880/1182 +f 2819/2881/1183 2820/2882/1184 2821/2883/1185 +f 2817/2879/1181 2822/2884/1121 2823/2885/1122 +f 2822/2884/1121 2824/2886/1119 2825/2887/1118 +f 2826/2888/1110 2819/2881/1183 2827/2889/1186 +f 2824/2886/1119 2828/2890/1117 2829/2891/1116 +f 2828/2890/1117 2830/2892/1115 2831/2893/1114 +f 2832/2894/1187 2826/2888/1110 2833/2895/1111 +f 2830/2892/1115 2832/2894/1187 2834/2896/1188 +f 2835/2897/1096 2836/2898/1094 2837/2899/1097 +f 2838/2900/1091 2839/2901/1092 2840/2902/1189 +f 2841/2903/1098 2835/2897/1096 2842/2904/1099 +f 2820/2882/1184 2841/2903/1098 2843/2905/1190 +f 2839/2901/1092 2814/2876/1127 2844/2906/1128 +f 2836/2898/1094 2838/2900/1091 2845/2907/1095 +f 2846/2908/1191 2847/2909/1192 2848/2910/1193 +f 2849/2911/1194 2850/2912/1195 2851/2913/1196 +f 2852/2914/1197 2853/2915/1198 2854/2916/936 +f 2855/2917/932 2856/2918/932 2847/2909/1192 +f 2850/2912/1195 2849/2911/1194 2853/2915/1198 +f 1908/1961/935 2437/2490/948 2174/2227/935 +f 2483/2536/982 2439/2492/950 2441/2494/951 +f 2512/2567/1004 2442/2495/952 1966/2019/927 +f 2857/2919/928 2443/2496/953 2445/2498/928 +f 2858/2920/1199 2446/2499/955 2448/2501/956 +f 2859/2921/928 2449/2502/928 2451/2504/958 +f 1905/1958/926 2453/2506/960 1906/1959/926 +f 2775/2837/1152 2455/2508/962 2439/2492/950 +f 1931/1984/932 2463/2516/932 2462/2515/966 +f 2860/2922/1200 1934/1987/928 1936/1989/928 +f 2861/2923/1201 2465/2518/968 2467/2520/970 +f 2789/2851/1166 2468/2521/971 2470/2523/973 +f 2862/2924/978 2476/2529/978 2478/2531/926 +f 2862/2924/978 2479/2532/979 2476/2529/978 +f 2492/2545/990 2487/2540/980 2489/2542/987 +f 2489/2542/987 2490/2543/988 2492/2545/990 +f 2500/2615/994 2486/2539/985 2497/2550/926 +f 1964/2017/928 2501/2555/995 1962/2015/928 +f 2670/2732/1079 2513/2568/1005 2140/2193/927 +f 2863/2925/928 2515/2570/928 2517/2572/1007 +f 2520/2575/936 2521/2576/1010 2518/2573/1008 +f 2524/2579/1013 2528/2584/994 2522/2577/1011 +f 2519/2574/1009 2518/2573/1008 2535/2591/1021 +f 2532/2588/957 2536/2592/1022 2533/2589/1019 +f 2587/2645/1053 2537/2593/1023 2539/2595/1025 +f 2607/2665/984 2540/2596/999 2542/2598/1027 +f 2864/2926/1202 2543/2599/1028 2545/2601/1030 +f 2865/2927/926 2546/2602/926 2548/2604/960 +f 2543/2928/1028 2549/2605/1031 2544/2607/1029 +f 2456/2509/963 2461/2514/965 2552/2609/1033 +f 2609/2667/1060 2553/2610/1034 2555/2612/1036 +f 2866/2929/1203 2559/2617/1002 2561/2619/936 +f 2867/2930/936 2562/2620/1037 2564/2622/936 +f 2496/2549/963 2486/2539/985 2566/2624/1033 +f 2868/2931/1204 2567/2625/926 2569/2627/1039 +f 2573/2631/1043 2570/2628/1040 2572/2630/1042 +f 2562/2620/1037 2573/2631/1043 2563/2621/1038 +f 2614/2673/949 2574/2632/935 2576/2634/1044 +f 2583/2641/1050 2580/2638/1048 2579/2637/1047 +f 2557/2614/936 2581/2639/936 2538/2594/1024 +f 2620/2679/1062 2580/2638/1048 2584/2642/1051 +f 2628/2687/1063 2548/2604/960 2589/2647/1055 +f 2528/2584/994 2590/2648/1056 2592/2650/1055 +f 2869/2932/1205 2593/2651/1019 2595/2653/1025 +f 2870/2933/926 2596/2654/1057 2598/2656/926 +f 2871/2934/926 2599/2657/1057 2601/2659/926 +f 2872/2935/1204 2602/2660/926 2604/2662/1039 +f 2549/2605/1031 2607/2665/984 2550/2606/1032 +f 2651/2710/1059 2608/2666/1059 2609/2667/1060 +f 2555/2612/1036 2554/2611/1035 2611/2669/926 +f 2558/2616/1031 2612/2670/1028 2486/2539/985 +f 2576/2634/1044 2571/2629/1041 2614/2673/949 +f 2873/2936/1055 2615/2674/926 2617/2676/1039 +f 2584/2642/1051 2618/2677/927 2620/2679/1062 +f 2027/2080/927 2585/2643/1005 2041/2094/927 +f 2874/2937/1204 2622/2681/926 2624/2683/1039 +f 2875/2938/926 2625/2684/926 2627/2686/960 +f 2592/2650/1055 2628/2687/1063 2529/2585/1017 +f 2631/2690/1065 2459/2512/964 2539/2595/1025 +f 2629/2688/1063 2597/2655/1058 2630/2689/1064 +f 2813/2875/1063 2632/2691/1055 2529/2585/1017 +f 2813/2875/1063 2600/2658/1058 2632/2691/1055 +f 2633/2692/1063 2627/2686/960 2634/2693/1055 +f 2876/2939/1206 2635/2694/967 2637/2696/1066 +f 2582/2640/1049 2638/2697/1003 2640/2699/1068 +f 1916/1969/928 1885/1938/928 2642/2701/1069 +f 2639/2698/1067 2645/2704/954 2640/2699/1068 +f 2877/2940/928 2647/2706/954 2649/2708/928 +f 2878/2941/1207 2642/2701/1069 2650/2709/1070 +f 2680/2742/1081 2608/2666/1059 2652/2711/1071 +f 2686/2748/1083 2505/2942/998 2542/2598/1027 +f 2469/2522/972 2654/2715/1072 2470/2523/973 +f 2879/2943/935 2466/2519/969 2656/2717/935 +f 2665/2727/1038 2657/2718/1037 2659/2720/936 +f 2880/2944/1208 2504/2558/997 2660/2722/1074 +f 2354/2407/928 2661/2723/928 2452/2505/959 +f 2436/2489/947 2435/2488/946 2664/2726/1076 +f 2664/2726/1076 2663/2725/1075 2665/2727/1038 +f 2671/2733/1080 2666/2728/1020 2643/2702/957 +f 2452/2505/959 2662/2724/1020 2669/2731/957 +f 2648/2707/954 2647/2706/954 2532/2588/957 +f 2444/2497/954 2443/2496/953 2534/2590/1020 +f 2666/2728/1020 2671/2733/1080 2673/2735/928 +f 2678/2740/1020 2674/2736/1080 2676/2738/928 +f 2674/2736/1080 2678/2740/1020 2677/2739/957 +f 2881/2945/928 2680/2742/1081 2681/2743/928 +f 2545/2601/1030 2544/2600/1029 2504/2558/997 +f 2882/2946/928 2682/2744/928 2684/2746/954 +f 2541/2597/1026 2685/2747/1082 2542/2598/1027 +f 2883/2947/928 2688/2750/1020 2690/2752/928 +f 2679/2741/1018 2669/2731/957 2533/2589/1019 +f 2437/2490/948 2436/2489/947 2438/2491/949 +f 2884/2948/1087 2514/2569/1006 2694/2756/1087 +f 2885/2949/932 2695/2757/1088 2697/2759/932 +f 2886/2950/950 2698/2760/950 2700/2762/932 +f 2886/2950/950 2526/2581/1015 2698/2760/950 +f 2887/2951/936 2685/2747/1082 2540/2596/999 +f 2494/2547/992 2482/2535/981 2495/2548/993 +f 2482/2535/981 2494/2547/992 2704/2766/928 +f 2709/2771/1095 2705/2767/1091 2707/2769/1093 +f 2711/2773/1097 2708/2770/1094 2709/2771/1095 +f 2713/2775/1099 2710/2772/1096 2711/2773/1097 +f 2716/2778/1102 2712/2774/1098 2713/2775/1099 +f 2712/2774/1098 2716/2778/1102 2718/2780/1104 +f 2717/2779/1103 2719/2781/1105 2718/2780/1104 +f 2714/2776/1100 2721/2783/1106 2715/2777/1101 +f 2721/2783/1106 2723/2785/1108 2722/2784/1107 +f 2726/2788/1111 2725/2787/1110 2719/2781/1105 +f 2725/2787/1110 2726/2788/1111 2728/2790/1113 +f 2728/2790/1113 2727/2789/1112 2730/2792/1115 +f 2730/2792/1115 2729/2791/1114 2732/2794/1117 +f 2732/2794/1117 2731/2793/1116 2734/2796/1119 +f 2734/2796/1119 2733/2795/1118 2736/2798/1121 +f 2888/2952/1209 2737/2799/1122 2739/2801/1124 +f 2738/2800/1123 2740/2802/1125 2739/2801/1124 +f 2889/2953/1210 2742/2804/1126 2744/2806/1109 +f 2746/2808/1128 2745/2807/1127 2740/2802/1125 +f 2707/2769/1093 2706/2768/1092 2746/2808/1128 +f 2742/2804/1126 2748/2810/1130 2747/2809/1129 +f 2749/2811/1131 2750/2812/1132 2747/2809/1129 +f 2750/2812/1132 2752/2814/1134 2751/2813/1133 +f 2809/2871/1178 2754/2816/1135 2756/2818/1136 +f 2755/2817/1136 2757/2819/1137 2756/2818/1136 +f 2890/2954/936 2759/2821/1138 2761/2823/936 +f 2763/2825/1141 2765/2827/1143 2764/2826/1142 +f 2807/2869/1177 2768/2830/1146 2763/2825/1141 +f 2768/2830/1146 2769/2831/1147 2767/2829/1145 +f 2774/2836/1151 2771/2833/1149 2773/2835/1150 +f 2769/2831/1147 2774/2836/1151 2770/2832/1148 +f 2861/2923/1201 2467/2520/970 2789/2851/1166 +f 2447/2500/955 2446/2499/955 2425/2478/928 +f 2891/2955/957 2790/2852/958 2792/2854/928 +f 2764/2826/1142 2793/2855/935 2762/2824/1140 +f 2892/2956/928 2795/2857/1167 2797/2859/928 +f 2893/2957/1168 2798/2860/1168 2795/2857/1167 +f 2803/2865/1173 2801/2863/1171 2799/2861/1169 +f 2894/2958/1175 2802/2864/1172 2803/2865/1173 +f 2806/2868/1176 2748/2810/1130 2805/2867/1175 +f 2475/2528/977 2474/2527/977 2809/2871/1178 +f 2895/2959/935 2810/2872/935 2812/2874/1140 +f 2896/2960/1144 2808/2870/1143 2811/2873/1142 +f 2844/2906/1128 2814/2876/1127 2816/2878/1180 +f 2816/2878/1180 2815/2877/1179 2818/2880/1182 +f 2827/2889/1186 2819/2881/1183 2821/2883/1185 +f 2818/2880/1182 2817/2879/1181 2823/2885/1122 +f 2823/2885/1122 2822/2884/1121 2825/2887/1118 +f 2833/2895/1111 2826/2888/1110 2827/2889/1186 +f 2825/2887/1118 2824/2886/1119 2829/2891/1116 +f 2829/2891/1116 2828/2890/1117 2831/2893/1114 +f 2834/2896/1188 2832/2894/1187 2833/2895/1111 +f 2831/2893/1114 2830/2892/1115 2834/2896/1188 +f 2842/2904/1099 2835/2897/1096 2837/2899/1097 +f 2845/2907/1095 2838/2900/1091 2840/2902/1189 +f 2843/2905/1190 2841/2903/1098 2842/2904/1099 +f 2821/2883/1185 2820/2882/1184 2843/2905/1190 +f 2840/2902/1189 2839/2901/1092 2844/2906/1128 +f 2837/2899/1097 2836/2898/1094 2845/2907/1095 +f 2851/2913/1196 2846/2908/1191 2848/2910/1193 +f 2848/2910/1193 2849/2911/1194 2851/2913/1196 +f 2897/2961/936 2852/2914/1197 2854/2916/936 +f 2846/2908/1191 2855/2917/932 2847/2909/1192 +f 2852/2914/1197 2850/2912/1195 2853/2915/1198 +o bool_obj_bool_obj_data.002 +v 0.584592 7.687729 -3.606773 +v 0.584592 7.920867 -4.083088 +v -0.395192 7.920867 -4.083088 +v -0.395192 7.687729 -3.606773 +v 0.620113 7.889108 -4.099000 +v 0.620113 7.656415 -3.623594 +v 0.620113 7.645318 -3.604686 +v 0.620113 7.631242 -3.586817 +v 0.620113 7.613890 -3.569613 +v 0.620113 7.593882 -3.553847 +v 0.620113 7.571976 -3.540180 +v 0.620113 7.549021 -3.529142 +v 0.620113 7.525940 -3.521119 +v 0.620113 7.503702 -3.516331 +v 0.620113 7.481840 -3.514677 +v 0.620113 6.288866 -3.514677 +v 0.620113 6.268834 -3.516430 +v 0.620113 6.250914 -3.521231 +v 0.620113 6.234100 -3.529072 +v 0.620113 6.218904 -3.539712 +v 0.620113 6.205786 -3.552830 +v 0.620113 6.195146 -3.568026 +v 0.620113 6.187305 -3.584840 +v 0.620113 6.182504 -3.602759 +v 0.620113 6.180752 -3.622791 +v 0.620113 6.180752 -4.075539 +v 0.620113 6.182504 -4.095572 +v 0.620113 6.187305 -4.113491 +v 0.620113 6.195146 -4.130303 +v 0.620113 6.205786 -4.145500 +v 0.620113 6.218904 -4.158618 +v 0.620113 6.234100 -4.169259 +v 0.620113 6.250914 -4.177099 +v 0.620113 6.268834 -4.181901 +v 0.620113 6.288866 -4.183652 +v 0.620113 6.744428 -4.183652 +v 0.620113 6.773732 -4.185739 +v 0.620113 6.805163 -4.192020 +v 0.620113 6.836724 -4.202079 +v 0.620113 6.867739 -4.215590 +v 0.620113 6.897497 -4.232189 +v 0.620113 6.925284 -4.251482 +v 0.620113 6.950424 -4.273054 +v 0.620113 6.972281 -4.296497 +v 0.620113 6.989450 -4.320339 +v 0.620113 7.366812 -4.931571 +v 0.620113 8.193166 -5.908978 +v 0.620113 8.210030 -5.932884 +v 0.620113 8.222831 -5.960578 +v 0.620113 8.230137 -5.989985 +v 0.620113 8.231569 -6.020123 +v 0.620113 8.227003 -6.049901 +v 0.620113 8.216606 -6.078223 +v 0.620113 8.200825 -6.104090 +v 0.620113 8.180312 -6.126676 +v 0.620113 8.157060 -6.144431 +v 0.620113 7.763575 -6.393669 +v 0.620113 7.738557 -6.407856 +v 0.620113 7.709525 -6.421311 +v 0.620113 7.677958 -6.433376 +v 0.620113 7.644623 -6.443819 +v 0.620113 7.610356 -6.452397 +v 0.620113 7.576034 -6.458897 +v 0.620113 7.542509 -6.463129 +v 0.620113 7.510559 -6.464942 +v 0.620113 7.481810 -6.464217 +v 0.620113 7.300509 -6.450785 +v 0.620113 7.278323 -6.450760 +v 0.620113 7.255250 -6.453763 +v 0.620113 7.230896 -6.459853 +v 0.620113 7.206277 -6.468892 +v 0.620113 7.182374 -6.480568 +v 0.620113 7.160113 -6.494431 +v 0.620113 7.140339 -6.509898 +v 0.620113 7.123790 -6.526253 +v 0.620113 7.110170 -6.543768 +v 0.620113 7.071722 -6.601441 +v 0.620113 7.061349 -6.620097 +v 0.620113 7.053805 -6.640273 +v 0.620113 7.048820 -6.662560 +v 0.620113 7.046699 -6.686110 +v 0.620113 7.047573 -6.710011 +v 0.620113 7.051407 -6.733344 +v 0.620113 7.058005 -6.755208 +v 0.620113 7.067001 -6.774779 +v 0.620113 7.078706 -6.792627 +v 0.620113 7.179221 -6.921861 +v 0.620113 7.194191 -6.938533 +v 0.620113 7.212095 -6.954048 +v 0.620113 7.233200 -6.968604 +v 0.620113 7.256703 -6.981524 +v 0.620113 7.281717 -6.992267 +v 0.620113 7.307272 -7.000415 +v 0.620113 7.332359 -7.005698 +v 0.620113 7.355937 -7.007999 +v 0.620113 7.378335 -7.007376 +v 0.620113 7.893750 -6.956470 +v 0.620113 7.917890 -6.952994 +v 0.620113 7.944322 -6.947154 +v 0.620113 7.972809 -6.938970 +v 0.620113 8.002266 -6.928709 +v 0.620113 8.031621 -6.916725 +v 0.620113 8.059842 -6.903440 +v 0.620113 8.085919 -6.889347 +v 0.620113 8.108887 -6.875021 +v 0.620113 8.128563 -6.860609 +v 0.620113 8.624680 -6.462090 +v 0.620113 9.246017 -6.249527 +v 0.620113 9.267796 -6.240655 +v 0.620113 9.290505 -6.228703 +v 0.620113 9.314142 -6.213631 +v 0.620113 9.337729 -6.195972 +v 0.620113 9.360365 -6.176369 +v 0.620113 9.381210 -6.155543 +v 0.620113 9.399504 -6.134302 +v 0.620113 9.414577 -6.113533 +v 0.620113 9.426466 -6.093243 +v 0.620113 9.513233 -5.923651 +v 0.620113 9.521070 -5.904480 +v 0.620113 9.525558 -5.884883 +v 0.620113 9.527004 -5.864093 +v 0.620113 9.525276 -5.842852 +v 0.620113 9.520397 -5.821944 +v 0.620113 9.512546 -5.802133 +v 0.620113 9.502046 -5.784128 +v 0.620113 9.489350 -5.768544 +v 0.620113 9.473836 -5.754820 +v 0.620113 9.318781 -5.639523 +v 0.620113 9.299875 -5.627427 +v 0.620113 9.278429 -5.617201 +v 0.620113 9.254142 -5.608730 +v 0.620113 9.227964 -5.602454 +v 0.620113 9.200908 -5.598660 +v 0.620113 9.174013 -5.597497 +v 0.620113 9.148333 -5.598965 +v 0.620113 9.124902 -5.602899 +v 0.620113 9.103399 -5.609330 +v 0.620113 8.845378 -5.706697 +v 0.620113 8.817008 -5.714674 +v 0.620113 8.786029 -5.717874 +v 0.620113 8.754861 -5.715827 +v 0.620113 8.724404 -5.708625 +v 0.620113 8.695532 -5.696496 +v 0.620113 8.669072 -5.679782 +v 0.620113 8.645795 -5.658955 +v 0.620113 8.626398 -5.634590 +v 0.620113 8.612238 -5.608743 +v 0.620113 8.333163 -4.974390 +v 0.584592 6.145231 -4.077091 +v 0.584592 6.145231 -3.621240 +v -0.395192 6.145231 -3.621240 +v -0.395192 6.145231 -4.077091 +v 0.584592 6.164267 -4.148131 +v 0.584592 6.153800 -4.125686 +v -0.395192 6.153800 -4.125686 +v -0.395192 6.164267 -4.148131 +v 0.584592 6.178472 -4.168419 +v -0.395192 6.178472 -4.168419 +v 0.584592 6.195985 -4.185933 +v -0.395192 6.195985 -4.185933 +v 0.584592 6.216272 -4.200139 +v -0.395192 6.216272 -4.200139 +v 0.584592 6.238719 -4.210606 +v -0.395192 6.238719 -4.210606 +v 0.584592 6.262642 -4.217014 +v -0.395192 6.262642 -4.217014 +v 0.584592 6.768971 -4.221011 +v 0.584592 6.743165 -4.219173 +v -0.395192 6.743165 -4.219173 +v -0.395192 6.768971 -4.221011 +v 0.584592 6.287314 -4.219173 +v -0.395192 6.287314 -4.219173 +v 0.584592 6.147389 -4.101762 +v -0.395192 6.147389 -4.101762 +v 0.584592 6.959888 -4.340073 +v 0.584592 6.944769 -4.319078 +v -0.395192 6.944769 -4.319078 +v -0.395192 6.959888 -4.340073 +v 0.584592 6.824206 -4.235372 +v 0.584592 6.796262 -4.226465 +v -0.395192 6.796262 -4.226465 +v -0.395192 6.824206 -4.235372 +v 0.584592 6.851957 -4.247458 +v -0.395192 6.851957 -4.247458 +v 0.584592 6.878670 -4.262361 +v -0.395192 6.878670 -4.262361 +v 0.584592 6.903533 -4.279624 +v -0.395192 6.903533 -4.279624 +v 0.584592 6.925792 -4.298723 +v -0.395192 6.925792 -4.298723 +v 0.584592 8.179142 -5.950719 +v 0.584592 8.165036 -5.930724 +v -0.395191 8.165036 -5.930724 +v -0.395191 8.179142 -5.950719 +v 0.584592 7.337978 -4.952483 +v -0.395191 7.337978 -4.952483 +v 0.584592 8.136739 -6.115254 +v 0.584592 8.156188 -6.100403 +v -0.395191 8.156188 -6.100403 +v -0.395191 8.136739 -6.115254 +v 0.584592 8.194821 -5.995161 +v 0.584592 8.189172 -5.972418 +v -0.395191 8.189172 -5.972418 +v -0.395191 8.194821 -5.995161 +v 0.584592 8.195919 -6.018255 +v -0.395191 8.195919 -6.018255 +v 0.584592 8.192431 -6.040999 +v -0.395191 8.192431 -6.040999 +v 0.584592 8.184464 -6.062704 +v -0.395191 8.184464 -6.062704 +v 0.584592 8.172259 -6.082707 +v -0.395191 8.172259 -6.082707 +v 0.584592 7.722301 -6.376241 +v 0.584592 7.745296 -6.363197 +v -0.395191 7.745296 -6.363197 +v -0.395191 7.722301 -6.376241 +v 0.584592 7.483572 -6.428729 +v 0.584592 7.510001 -6.429397 +v -0.395191 7.510001 -6.429397 +v -0.395191 7.483572 -6.428729 +v 0.584592 7.666298 -6.399806 +v 0.584592 7.695698 -6.388568 +v -0.395191 7.695698 -6.388568 +v -0.395191 7.666298 -6.399806 +v 0.584592 7.634993 -6.409613 +v -0.395191 7.634993 -6.409613 +v 0.584592 7.602734 -6.417689 +v -0.395191 7.602734 -6.417689 +v 0.584592 7.570499 -6.423791 +v -0.395191 7.570499 -6.423791 +v 0.584592 7.539272 -6.427734 +v -0.395191 7.539272 -6.427734 +v 0.584592 7.276041 -6.415237 +v 0.584592 7.301843 -6.415265 +v -0.395191 7.301843 -6.415265 +v -0.395191 7.276041 -6.415237 +v 0.584592 7.081335 -6.522986 +v 0.584592 7.097172 -6.502617 +v -0.395191 7.097172 -6.502617 +v -0.395191 7.081335 -6.522986 +v 0.584592 7.220437 -6.425855 +v 0.584592 7.248628 -6.418804 +v -0.395191 7.248628 -6.418804 +v -0.395191 7.220437 -6.425855 +v 0.584592 7.192325 -6.436174 +v -0.395191 7.192325 -6.436174 +v 0.584592 7.165144 -6.449452 +v -0.395191 7.165144 -6.449452 +v 0.584592 7.139724 -6.465283 +v -0.395191 7.139724 -6.465283 +v 0.584592 7.116836 -6.483187 +v -0.395191 7.116836 -6.483187 +v 0.584592 7.029011 -6.605164 +v 0.584592 7.041371 -6.582931 +v -0.395191 7.041371 -6.582931 +v -0.395191 7.029011 -6.605164 +v 0.584592 7.049788 -6.813304 +v 0.584592 7.035839 -6.792034 +v -0.395191 7.035839 -6.792034 +v -0.395191 7.049788 -6.813304 +v 0.584592 7.013651 -6.657066 +v 0.584592 7.019677 -6.630127 +v -0.395191 7.019677 -6.630127 +v -0.395191 7.013651 -6.657066 +v 0.584592 7.011119 -6.685161 +v -0.395191 7.011119 -6.685161 +v 0.584592 7.012156 -6.713555 +v -0.395191 7.012156 -6.713555 +v 0.584592 7.016733 -6.741390 +v -0.395191 7.016733 -6.741390 +v 0.584592 7.024707 -6.767817 +v -0.395191 7.024707 -6.767817 +v 0.584592 7.169249 -6.963922 +v 0.584592 7.151952 -6.944659 +v -0.395191 7.151952 -6.944659 +v -0.395191 7.169249 -6.963922 +v 0.584592 7.380579 -7.042848 +v 0.584592 7.354702 -7.043569 +v -0.395191 7.354702 -7.043569 +v -0.395191 7.380579 -7.042848 +v 0.584592 7.214511 -6.998865 +v 0.584592 7.190314 -6.982175 +v -0.395191 7.190314 -6.982175 +v -0.395191 7.214511 -6.998865 +v 0.584592 7.241105 -7.013483 +v -0.395191 7.241105 -7.013483 +v 0.584592 7.269283 -7.025585 +v -0.395191 7.269283 -7.025585 +v 0.584592 7.298194 -7.034803 +v -0.395191 7.298194 -7.034803 +v 0.584592 7.326959 -7.040860 +v -0.395191 7.326959 -7.040860 +v 0.584592 7.924263 -6.987965 +v 0.584592 7.898026 -6.991742 +v -0.395191 7.898026 -6.991742 +v -0.395191 7.924263 -6.987965 +v 0.584592 8.150192 -6.888796 +v 0.584592 8.128809 -6.904459 +v -0.395191 8.128809 -6.904459 +v -0.395191 8.150192 -6.888796 +v 0.584592 7.983564 -6.972837 +v 0.584592 7.953066 -6.981598 +v -0.395191 7.953066 -6.981598 +v -0.395191 7.983564 -6.972837 +v 0.584592 8.014829 -6.961946 +v -0.395191 8.014829 -6.961946 +v 0.584592 8.045910 -6.949258 +v -0.395191 8.045910 -6.949258 +v 0.584592 8.075863 -6.935157 +v -0.395191 8.075863 -6.935157 +v 0.584592 8.103779 -6.920072 +v -0.395191 8.103779 -6.920072 +v 0.584592 9.282803 -6.272899 +v 0.584592 9.258475 -6.282805 +v -0.395191 9.258475 -6.282805 +v -0.395191 9.282803 -6.272899 +v 0.584592 8.642069 -6.493681 +v -0.395191 8.642069 -6.493681 +v 0.584592 9.457625 -6.110325 +v 0.584592 9.444345 -6.132988 +v -0.395191 9.444345 -6.132988 +v -0.395191 9.457625 -6.110325 +v 0.584592 9.334363 -6.242865 +v 0.584592 9.308357 -6.259449 +v -0.395191 9.308357 -6.259449 +v -0.395191 9.334363 -6.242865 +v 0.584592 9.360028 -6.223650 +v -0.395191 9.360028 -6.223650 +v 0.584592 9.384575 -6.202392 +v -0.395191 9.384575 -6.202392 +v 0.584592 9.407257 -6.179731 +v -0.395191 9.407257 -6.179731 +v 0.584592 9.427383 -6.156362 +v -0.395191 9.427383 -6.156362 +v 0.584592 9.555048 -5.915235 +v 0.584592 9.545543 -5.938488 +v -0.395191 9.545543 -5.938488 +v -0.395191 9.555048 -5.915235 +v 0.584592 9.496242 -5.727215 +v 0.584592 9.515058 -5.743859 +v -0.395191 9.515058 -5.743859 +v -0.395191 9.496242 -5.727215 +v 0.584592 9.562625 -5.863883 +v 0.584592 9.560801 -5.890111 +v -0.395191 9.560801 -5.890112 +v -0.395191 9.562625 -5.863883 +v 0.584592 9.560467 -5.837347 +v -0.395191 9.560467 -5.837347 +v 0.584592 9.554390 -5.811306 +v -0.395191 9.554390 -5.811306 +v 0.584592 9.544580 -5.786552 +v -0.395191 9.544580 -5.786553 +v 0.584592 9.531335 -5.763842 +v -0.395191 9.531335 -5.763842 +v 0.584592 9.317157 -5.596313 +v 0.584592 9.338975 -5.610274 +v -0.395191 9.338975 -5.610274 +v -0.395191 9.317157 -5.596313 +v 0.584592 9.092025 -5.575655 +v 0.584592 9.116840 -5.568233 +v -0.395191 9.116840 -5.568233 +v -0.395191 9.092025 -5.575656 +v 0.584592 9.264157 -5.574605 +v 0.584592 9.291963 -5.584302 +v -0.395191 9.291963 -5.584302 +v -0.395191 9.264157 -5.574605 +v 0.584592 9.234586 -5.567513 +v -0.395191 9.234586 -5.567513 +v 0.584592 9.204147 -5.563247 +v -0.395191 9.204147 -5.563247 +v 0.584592 9.173767 -5.561934 +v -0.395191 9.173767 -5.561934 +v 0.584592 9.144367 -5.563612 +v -0.395191 9.144367 -5.563612 +v 0.584592 8.810327 -5.679654 +v 0.584592 8.834279 -5.672918 +v -0.395191 8.834279 -5.672918 +v -0.395191 8.810327 -5.679654 +v 0.584592 8.644131 -5.593029 +v 0.584592 8.656086 -5.614850 +v -0.395191 8.656086 -5.614850 +v -0.395191 8.644131 -5.593029 +v 0.584592 8.760147 -5.680576 +v 0.584592 8.785363 -5.682232 +v -0.395191 8.785363 -5.682232 +v -0.395191 8.760147 -5.680576 +v 0.584592 8.735446 -5.674736 +v -0.395191 8.735446 -5.674736 +v 0.584592 8.712008 -5.664889 +v -0.395191 8.712008 -5.664889 +v 0.584592 8.690548 -5.651334 +v -0.395191 8.690548 -5.651334 +v 0.584592 8.671717 -5.634483 +v -0.395191 8.671717 -5.634483 +v 0.584592 7.674724 -3.584612 +v -0.395192 7.674724 -3.584612 +v 0.584592 8.365284 -4.959190 +v -0.395191 8.365284 -4.959190 +v 0.584592 7.483182 -3.479156 +v 0.584592 7.508804 -3.481095 +v -0.395192 7.508804 -3.481095 +v -0.395192 7.483182 -3.479156 +v 0.584592 7.637462 -3.542964 +v 0.584592 7.657797 -3.563125 +v -0.395192 7.657797 -3.563125 +v -0.395192 7.637462 -3.542964 +v 0.584592 7.614337 -3.524742 +v -0.395192 7.614337 -3.524742 +v 0.584592 7.589126 -3.509013 +v -0.395192 7.589126 -3.509013 +v 0.584592 7.562593 -3.496253 +v -0.395192 7.562593 -3.496253 +v 0.584592 7.535545 -3.486852 +v -0.395192 7.535545 -3.486852 +v 0.584592 6.262642 -3.481315 +v 0.584592 6.287314 -3.479156 +v -0.395192 6.287314 -3.479156 +v -0.395192 6.262642 -3.481315 +v 0.584592 6.147389 -3.596567 +v -0.395192 6.147389 -3.596567 +v 0.584592 6.216272 -3.498192 +v 0.584592 6.238719 -3.487725 +v -0.395192 6.238719 -3.487725 +v -0.395192 6.216272 -3.498192 +v 0.584592 6.195985 -3.512398 +v -0.395192 6.195985 -3.512398 +v 0.584592 6.178472 -3.529910 +v -0.395192 6.178472 -3.529910 +v 0.584592 6.164267 -3.550198 +v -0.395192 6.164267 -3.550198 +v 0.584592 6.153800 -3.572644 +v -0.395192 6.153800 -3.572644 +v -0.430712 7.889108 -4.099000 +v -0.430712 8.333163 -4.974390 +v -0.430712 8.612238 -5.608743 +v -0.430712 8.626398 -5.634590 +v -0.430712 8.645795 -5.658955 +v -0.430712 8.669072 -5.679782 +v -0.430712 8.695532 -5.696496 +v -0.430712 8.724404 -5.708625 +v -0.430712 8.754861 -5.715827 +v -0.430712 8.786029 -5.717874 +v -0.430712 8.817008 -5.714674 +v -0.430712 8.845378 -5.706697 +v -0.430712 9.103399 -5.609331 +v -0.430712 9.124902 -5.602899 +v -0.430712 9.148333 -5.598965 +v -0.430712 9.174013 -5.597497 +v -0.430712 9.200908 -5.598660 +v -0.430712 9.227964 -5.602454 +v -0.430712 9.254142 -5.608730 +v -0.430712 9.278429 -5.617201 +v -0.430712 9.299875 -5.627427 +v -0.430712 9.318781 -5.639523 +v -0.430712 9.473836 -5.754820 +v -0.430712 9.489350 -5.768544 +v -0.430712 9.502046 -5.784128 +v -0.430712 9.512546 -5.802133 +v -0.430712 9.520397 -5.821944 +v -0.430712 9.525276 -5.842852 +v -0.430712 9.527004 -5.864093 +v -0.430712 9.525558 -5.884883 +v -0.430712 9.521070 -5.904480 +v -0.430712 9.513233 -5.923651 +v -0.430712 9.426466 -6.093243 +v -0.430712 9.414577 -6.113533 +v -0.430712 9.399504 -6.134302 +v -0.430712 9.381210 -6.155543 +v -0.430712 9.360365 -6.176369 +v -0.430712 9.337729 -6.195972 +v -0.430712 9.314142 -6.213631 +v -0.430712 9.290505 -6.228703 +v -0.430712 9.267796 -6.240655 +v -0.430712 9.246017 -6.249527 +v -0.430712 8.624680 -6.462090 +v -0.430712 8.128563 -6.860609 +v -0.430712 8.108887 -6.875021 +v -0.430712 8.085919 -6.889347 +v -0.430712 8.059842 -6.903440 +v -0.430712 8.031621 -6.916725 +v -0.430712 8.002266 -6.928709 +v -0.430712 7.972809 -6.938970 +v -0.430712 7.944322 -6.947154 +v -0.430712 7.917890 -6.952994 +v -0.430712 7.893750 -6.956470 +v -0.430712 7.378335 -7.007376 +v -0.430712 7.355937 -7.007999 +v -0.430712 7.332359 -7.005698 +v -0.430712 7.307272 -7.000415 +v -0.430712 7.281717 -6.992267 +v -0.430712 7.256703 -6.981524 +v -0.430712 7.233200 -6.968604 +v -0.430712 7.212095 -6.954048 +v -0.430712 7.194191 -6.938533 +v -0.430712 7.179221 -6.921861 +v -0.430712 7.078706 -6.792627 +v -0.430712 7.067001 -6.774779 +v -0.430712 7.058005 -6.755208 +v -0.430712 7.051407 -6.733344 +v -0.430712 7.047573 -6.710011 +v -0.430712 7.046699 -6.686110 +v -0.430712 7.048820 -6.662560 +v -0.430712 7.053805 -6.640273 +v -0.430712 7.061349 -6.620097 +v -0.430712 7.071722 -6.601441 +v -0.430712 7.110170 -6.543768 +v -0.430712 7.123790 -6.526253 +v -0.430712 7.140339 -6.509898 +v -0.430712 7.160113 -6.494431 +v -0.430712 7.182374 -6.480568 +v -0.430712 7.206277 -6.468892 +v -0.430712 7.230896 -6.459853 +v -0.430712 7.255250 -6.453763 +v -0.430712 7.278323 -6.450760 +v -0.430712 7.300509 -6.450785 +v -0.430712 7.481810 -6.464217 +v -0.430712 7.510559 -6.464942 +v -0.430712 7.542509 -6.463129 +v -0.430712 7.576034 -6.458897 +v -0.430712 7.610356 -6.452397 +v -0.430712 7.644623 -6.443819 +v -0.430712 7.677958 -6.433376 +v -0.430712 7.709525 -6.421311 +v -0.430712 7.738557 -6.407856 +v -0.430712 7.763575 -6.393669 +v -0.430712 8.157060 -6.144431 +v -0.430712 8.180312 -6.126676 +v -0.430712 8.200825 -6.104090 +v -0.430712 8.216606 -6.078223 +v -0.430712 8.227003 -6.049901 +v -0.430712 8.231569 -6.020123 +v -0.430712 8.230137 -5.989985 +v -0.430712 8.222831 -5.960578 +v -0.430712 8.210030 -5.932884 +v -0.430712 8.193166 -5.908978 +v -0.430712 7.366812 -4.931571 +v -0.430712 6.989450 -4.320339 +v -0.430712 6.972281 -4.296497 +v -0.430712 6.950424 -4.273054 +v -0.430712 6.925284 -4.251482 +v -0.430712 6.897497 -4.232189 +v -0.430712 6.867739 -4.215590 +v -0.430712 6.836724 -4.202079 +v -0.430712 6.805163 -4.192020 +v -0.430712 6.773732 -4.185739 +v -0.430712 6.744428 -4.183652 +v -0.430712 6.288866 -4.183652 +v -0.430712 6.268834 -4.181901 +v -0.430712 6.250914 -4.177099 +v -0.430712 6.234100 -4.169259 +v -0.430712 6.218904 -4.158618 +v -0.430712 6.205786 -4.145500 +v -0.430712 6.195146 -4.130303 +v -0.430712 6.187305 -4.113491 +v -0.430712 6.182504 -4.095572 +v -0.430712 6.180752 -4.075539 +v -0.430712 6.180752 -3.622791 +v -0.430712 6.182504 -3.602759 +v -0.430712 6.187305 -3.584840 +v -0.430712 6.195146 -3.568026 +v -0.430712 6.205786 -3.552830 +v -0.430712 6.218904 -3.539712 +v -0.430712 6.234100 -3.529072 +v -0.430712 6.250914 -3.521231 +v -0.430712 6.268834 -3.516430 +v -0.430712 6.288866 -3.514677 +v -0.430712 7.481840 -3.514677 +v -0.430712 7.503702 -3.516331 +v -0.430712 7.525940 -3.521119 +v -0.430712 7.549021 -3.529142 +v -0.430712 7.571976 -3.540180 +v -0.430712 7.593882 -3.553847 +v -0.430712 7.613890 -3.569613 +v -0.430712 7.631242 -3.586817 +v -0.430712 7.645318 -3.604686 +v -0.430712 7.656415 -3.623594 +v 0.617409 8.345455 -4.968574 +v 0.617409 7.901262 -4.092910 +v 0.609709 8.355876 -4.963643 +v 0.609709 7.911565 -4.087749 +v 0.598185 8.362839 -4.960348 +v 0.598185 7.918450 -4.084300 +v 0.598185 6.150063 -4.101292 +v 0.598185 6.147934 -4.076972 +v 0.609709 6.157674 -4.099949 +v 0.609709 6.155634 -4.076635 +v 0.617409 6.169066 -4.097940 +v 0.617409 6.167158 -4.076132 +v 0.598185 6.156350 -4.124757 +v 0.609709 6.163613 -4.122114 +v 0.617409 6.174483 -4.118156 +v 0.598185 6.166617 -4.146774 +v 0.609709 6.173311 -4.142910 +v 0.617409 6.183329 -4.137126 +v 0.598185 6.180552 -4.166675 +v 0.609709 6.186472 -4.161706 +v 0.617409 6.195333 -4.154271 +v 0.598185 6.197730 -4.183854 +v 0.609709 6.202698 -4.177933 +v 0.617409 6.210134 -4.169071 +v 0.598185 6.217629 -4.197787 +v 0.609709 6.221494 -4.191093 +v 0.617409 6.227278 -4.181076 +v 0.598185 6.239647 -4.208055 +v 0.609709 6.242291 -4.200790 +v 0.617409 6.246247 -4.189920 +v 0.598185 6.263113 -4.214343 +v 0.609709 6.264455 -4.206729 +v 0.617409 6.266464 -4.195337 +v 0.598185 6.287432 -4.216469 +v 0.609709 6.287768 -4.208769 +v 0.617409 6.288272 -4.197247 +v 0.598185 6.743261 -4.216469 +v 0.609709 6.743535 -4.208769 +v 0.617409 6.743944 -4.197247 +v 0.598185 6.769334 -4.218326 +v 0.609709 6.770366 -4.210680 +v 0.617409 6.771910 -4.199236 +v 0.598185 6.796939 -4.223843 +v 0.609709 6.798869 -4.216375 +v 0.617409 6.801757 -4.205202 +v 0.598185 6.825159 -4.232837 +v 0.609709 6.827873 -4.225621 +v 0.617409 6.831934 -4.214819 +v 0.598185 6.853158 -4.245032 +v 0.609709 6.856579 -4.238124 +v 0.617409 6.861700 -4.227786 +v 0.598185 6.880103 -4.260064 +v 0.609709 6.884184 -4.253522 +v 0.617409 6.890292 -4.243734 +v 0.598185 6.905189 -4.277481 +v 0.609709 6.909904 -4.271380 +v 0.617409 6.916960 -4.262251 +v 0.598185 6.927667 -4.296769 +v 0.609709 6.933006 -4.291203 +v 0.617409 6.940998 -4.282876 +v 0.598185 6.946863 -4.317359 +v 0.609709 6.952827 -4.312465 +v 0.617409 6.961752 -4.305140 +v 0.598185 6.962139 -4.338571 +v 0.609709 6.968547 -4.334292 +v 0.617409 6.978137 -4.327890 +v 0.598185 7.340173 -4.950891 +v 0.609709 7.346423 -4.946358 +v 0.617409 7.355778 -4.939573 +v 0.598185 8.167177 -5.929069 +v 0.609709 8.173275 -5.924355 +v 0.617409 8.182401 -5.917300 +v 0.598185 8.181493 -5.949363 +v 0.609709 8.188189 -5.945496 +v 0.617409 8.198210 -5.939710 +v 0.598185 8.191734 -5.971518 +v 0.609709 8.199031 -5.968951 +v 0.617409 8.209950 -5.965109 +v 0.598185 8.197510 -5.994767 +v 0.609709 8.205165 -5.993646 +v 0.617409 8.216622 -5.991967 +v 0.598185 8.198633 -6.018396 +v 0.609709 8.206361 -6.018802 +v 0.617409 8.217927 -6.019408 +v 0.598185 8.195064 -6.041677 +v 0.609709 8.202558 -6.043607 +v 0.617409 8.213773 -6.046494 +v 0.598185 8.186911 -6.063885 +v 0.609709 8.193878 -6.067248 +v 0.617409 8.204306 -6.072284 +v 0.598185 8.174434 -6.084334 +v 0.609709 8.180626 -6.088971 +v 0.617409 8.189893 -6.095907 +v 0.598185 8.158025 -6.102404 +v 0.609709 8.163254 -6.108099 +v 0.617409 8.171081 -6.116621 +v 0.598185 8.138286 -6.117476 +v 0.609709 8.142691 -6.123799 +v 0.617409 8.149283 -6.133265 +v 0.598185 7.746688 -6.365518 +v 0.609709 7.750650 -6.372122 +v 0.617409 7.756579 -6.382008 +v 0.598185 7.723538 -6.378647 +v 0.609709 7.727063 -6.385500 +v 0.617409 7.732337 -6.395759 +v 0.598185 7.696752 -6.391060 +v 0.609709 7.699749 -6.398159 +v 0.617409 7.704234 -6.408782 +v 0.598185 7.667185 -6.402361 +v 0.609709 7.669713 -6.409638 +v 0.617409 7.673496 -6.420529 +v 0.598185 7.635725 -6.412217 +v 0.609709 7.637814 -6.419631 +v 0.617409 7.640937 -6.430728 +v 0.598185 7.603313 -6.420331 +v 0.609709 7.604967 -6.427855 +v 0.617409 7.607440 -6.439116 +v 0.598185 7.570921 -6.426465 +v 0.609709 7.572121 -6.434073 +v 0.617409 7.573915 -6.445463 +v 0.598185 7.539518 -6.430429 +v 0.609709 7.540220 -6.438100 +v 0.617409 7.541270 -6.449584 +v 0.598185 7.510043 -6.432103 +v 0.609709 7.510163 -6.439807 +v 0.617409 7.510345 -6.451341 +v 0.598185 7.483438 -6.431429 +v 0.609709 7.483056 -6.439123 +v 0.617409 7.482483 -6.450635 +v 0.598185 7.301742 -6.417969 +v 0.609709 7.301453 -6.425667 +v 0.617409 7.301021 -6.437191 +v 0.598185 7.276215 -6.417942 +v 0.609709 7.276709 -6.425642 +v 0.617409 7.277450 -6.437167 +v 0.598185 7.249132 -6.421464 +v 0.609709 7.250566 -6.429042 +v 0.617409 7.252716 -6.440384 +v 0.598185 7.221232 -6.428442 +v 0.609709 7.223499 -6.435812 +v 0.617409 7.226893 -6.446843 +v 0.598185 7.193387 -6.438665 +v 0.609709 7.196412 -6.445757 +v 0.617409 7.200937 -6.456371 +v 0.598185 7.166457 -6.451820 +v 0.609709 7.170191 -6.458567 +v 0.617409 7.175780 -6.468660 +v 0.598185 7.141276 -6.467503 +v 0.609709 7.145697 -6.473821 +v 0.617409 7.152310 -6.483276 +v 0.598185 7.118625 -6.485219 +v 0.609709 7.123720 -6.491010 +v 0.617409 7.131345 -6.499676 +v 0.598185 7.099198 -6.504416 +v 0.609709 7.104969 -6.509541 +v 0.617409 7.113605 -6.517209 +v 0.598185 7.083529 -6.524570 +v 0.609709 7.089779 -6.529074 +v 0.617409 7.099135 -6.535816 +v 0.598185 7.043683 -6.584340 +v 0.609709 7.050261 -6.588353 +v 0.617409 7.060108 -6.594357 +v 0.598185 7.031473 -6.606299 +v 0.609709 7.038484 -6.609538 +v 0.617409 7.048975 -6.614381 +v 0.598185 7.022274 -6.630899 +v 0.609709 7.029673 -6.633100 +v 0.617409 7.040745 -6.636391 +v 0.598185 7.016328 -6.657485 +v 0.609709 7.023952 -6.658676 +v 0.617409 7.035362 -6.660459 +v 0.598185 7.013827 -6.685233 +v 0.609709 7.021541 -6.685439 +v 0.617409 7.033082 -6.685747 +v 0.598185 7.014853 -6.713285 +v 0.609709 7.022530 -6.712518 +v 0.617409 7.034019 -6.711368 +v 0.598185 7.019372 -6.740777 +v 0.609709 7.026888 -6.739033 +v 0.617409 7.038137 -6.736423 +v 0.598185 7.027242 -6.766857 +v 0.609709 7.034461 -6.764123 +v 0.617409 7.045262 -6.760034 +v 0.598185 7.038210 -6.790720 +v 0.609709 7.044967 -6.786981 +v 0.617409 7.055077 -6.781383 +v 0.598185 7.051991 -6.811730 +v 0.609709 7.058259 -6.807249 +v 0.617409 7.067640 -6.800539 +v 0.598185 7.154028 -6.942924 +v 0.609709 7.159939 -6.937981 +v 0.617409 7.168787 -6.930584 +v 0.598185 7.171146 -6.961988 +v 0.609709 7.176555 -6.956486 +v 0.617409 7.184647 -6.948249 +v 0.598185 7.191972 -6.980033 +v 0.609709 7.196693 -6.973937 +v 0.617409 7.203761 -6.964811 +v 0.598185 7.215934 -6.996562 +v 0.609709 7.219985 -6.990002 +v 0.617409 7.226048 -6.980185 +v 0.598185 7.242291 -7.011050 +v 0.609709 7.245674 -7.004121 +v 0.617409 7.250733 -6.993753 +v 0.598185 7.270230 -7.023048 +v 0.609709 7.272925 -7.015827 +v 0.617409 7.276959 -7.005016 +v 0.598185 7.298885 -7.032187 +v 0.609709 7.300853 -7.024732 +v 0.617409 7.303799 -7.013576 +v 0.598185 7.327370 -7.038184 +v 0.609709 7.328540 -7.030560 +v 0.617409 7.330293 -7.019154 +v 0.598185 7.354795 -7.040861 +v 0.609709 7.355062 -7.033151 +v 0.617409 7.355464 -7.021612 +v 0.598185 7.380408 -7.040146 +v 0.609709 7.379921 -7.032457 +v 0.617409 7.379193 -7.020949 +v 0.598185 7.897700 -6.989057 +v 0.609709 7.896773 -6.981411 +v 0.617409 7.895387 -6.969967 +v 0.598185 7.923777 -6.985302 +v 0.609709 7.922396 -6.977723 +v 0.617409 7.920329 -6.966378 +v 0.598185 7.952401 -6.978977 +v 0.609709 7.950505 -6.971509 +v 0.617409 7.947669 -6.960336 +v 0.598185 7.982746 -6.970260 +v 0.609709 7.980414 -6.962917 +v 0.617409 7.976924 -6.951931 +v 0.598185 8.013872 -6.959416 +v 0.609709 8.011148 -6.952211 +v 0.617409 8.007073 -6.941429 +v 0.598185 8.044822 -6.946783 +v 0.609709 8.041724 -6.939730 +v 0.617409 8.037089 -6.929174 +v 0.598185 8.074643 -6.932743 +v 0.609709 8.071171 -6.925868 +v 0.617409 8.065972 -6.915577 +v 0.598185 8.102420 -6.917733 +v 0.609709 8.098548 -6.911073 +v 0.617409 8.092754 -6.901104 +v 0.598185 8.127293 -6.902218 +v 0.609709 8.122973 -6.895837 +v 0.617409 8.116510 -6.886287 +v 0.598185 8.148545 -6.886651 +v 0.609709 8.143857 -6.880540 +v 0.617409 8.136840 -6.871396 +v 0.598185 8.640745 -6.491277 +v 0.609709 8.636976 -6.484428 +v 0.617409 8.631334 -6.474178 +v 0.598185 9.257527 -6.280272 +v 0.609709 9.254827 -6.273058 +v 0.617409 9.250785 -6.262261 +v 0.598185 9.281660 -6.270443 +v 0.609709 9.278407 -6.263454 +v 0.617409 9.273539 -6.252995 +v 0.598185 9.306998 -6.257108 +v 0.609709 9.303128 -6.250443 +v 0.617409 9.297337 -6.240469 +v 0.598185 9.332824 -6.240639 +v 0.609709 9.328440 -6.234302 +v 0.617409 9.321880 -6.224818 +v 0.598185 9.358331 -6.221543 +v 0.609709 9.353498 -6.215544 +v 0.617409 9.346263 -6.206564 +v 0.598185 9.382732 -6.200410 +v 0.609709 9.377484 -6.194769 +v 0.617409 9.369630 -6.186327 +v 0.598185 9.405274 -6.177890 +v 0.609709 9.399628 -6.172647 +v 0.617409 9.391178 -6.164801 +v 0.598185 9.425261 -6.154683 +v 0.609709 9.419218 -6.149899 +v 0.617409 9.410173 -6.142744 +v 0.598185 9.442080 -6.131507 +v 0.609709 9.435626 -6.127291 +v 0.617409 9.425968 -6.120978 +v 0.598185 9.455254 -6.109025 +v 0.609709 9.448499 -6.105322 +v 0.617409 9.438390 -6.099781 +v 0.598185 9.543083 -5.937357 +v 0.609709 9.536079 -5.934142 +v 0.617409 9.525598 -5.929327 +v 0.598185 9.552462 -5.914415 +v 0.609709 9.545096 -5.912085 +v 0.617409 9.534074 -5.908595 +v 0.598185 9.558118 -5.889715 +v 0.609709 9.550478 -5.888580 +v 0.617409 9.539044 -5.886885 +v 0.598185 9.559914 -5.863900 +v 0.609709 9.552192 -5.863945 +v 0.617409 9.540636 -5.864014 +v 0.598185 9.557788 -5.837766 +v 0.609709 9.550159 -5.838959 +v 0.617409 9.538743 -5.840744 +v 0.598185 9.551802 -5.812116 +v 0.609709 9.544434 -5.814422 +v 0.617409 9.533405 -5.817873 +v 0.598185 9.542141 -5.787740 +v 0.609709 9.535197 -5.791117 +v 0.617409 9.524804 -5.796171 +v 0.598185 9.529105 -5.765386 +v 0.609709 9.522757 -5.769783 +v 0.617409 9.513254 -5.776364 +v 0.598185 9.513101 -5.745739 +v 0.609709 9.507528 -5.751090 +v 0.617409 9.499187 -5.759098 +v 0.598185 9.494536 -5.729318 +v 0.609709 9.489679 -5.735301 +v 0.617409 9.482410 -5.744256 +v 0.598185 9.337438 -5.612501 +v 0.609709 9.333060 -5.618841 +v 0.617409 9.326509 -5.628330 +v 0.598185 9.315842 -5.598682 +v 0.609709 9.312095 -5.605426 +v 0.617409 9.306488 -5.615520 +v 0.598185 9.290932 -5.586806 +v 0.609709 9.287998 -5.593938 +v 0.617409 9.283608 -5.604611 +v 0.598185 9.263394 -5.577201 +v 0.609709 9.261224 -5.584599 +v 0.617409 9.257975 -5.595671 +v 0.598185 9.234082 -5.570174 +v 0.609709 9.232647 -5.577747 +v 0.617409 9.230498 -5.589083 +v 0.598185 9.203901 -5.565942 +v 0.609709 9.203198 -5.573619 +v 0.617409 9.202147 -5.585109 +v 0.598185 9.173786 -5.564641 +v 0.609709 9.173840 -5.572350 +v 0.617409 9.173919 -5.583888 +v 0.598185 9.144669 -5.566304 +v 0.609709 9.145529 -5.573967 +v 0.617409 9.146814 -5.585435 +v 0.598185 9.117455 -5.570871 +v 0.609709 9.119202 -5.578386 +v 0.617409 9.121818 -5.589633 +v 0.598185 9.092891 -5.578219 +v 0.609709 9.095356 -5.585518 +v 0.617409 9.099047 -5.596444 +v 0.598185 8.835124 -5.675489 +v 0.609709 8.837530 -5.682812 +v 0.617409 8.841131 -5.693769 +v 0.598185 8.810835 -5.682320 +v 0.609709 8.812284 -5.689910 +v 0.617409 8.814451 -5.701272 +v 0.598185 8.785414 -5.684946 +v 0.609709 8.785558 -5.692671 +v 0.617409 8.785774 -5.704235 +v 0.598185 8.759745 -5.683259 +v 0.609709 8.758599 -5.690900 +v 0.617409 8.756884 -5.702336 +v 0.598185 8.734605 -5.677316 +v 0.609709 8.732212 -5.684662 +v 0.617409 8.728630 -5.695656 +v 0.598185 8.710754 -5.667295 +v 0.609709 8.707183 -5.674147 +v 0.617409 8.701838 -5.684401 +v 0.598185 8.688913 -5.653501 +v 0.609709 8.684258 -5.659667 +v 0.617409 8.677291 -5.668897 +v 0.598185 8.669744 -5.636346 +v 0.609709 8.664124 -5.641652 +v 0.617409 8.655714 -5.649590 +v 0.598185 8.653826 -5.616353 +v 0.609709 8.647390 -5.620632 +v 0.617409 8.637758 -5.627036 +v 0.598185 8.641703 -5.594223 +v 0.609709 8.634789 -5.597631 +v 0.617409 8.624443 -5.602728 +v 0.598185 7.685346 -3.608053 +v 0.609709 7.678558 -3.611700 +v 0.617409 7.668399 -3.617157 +v 0.598185 7.672486 -3.586141 +v 0.609709 7.666111 -3.590492 +v 0.617409 7.656571 -3.597004 +v 0.598185 7.655776 -3.564929 +v 0.609709 7.650019 -3.570065 +v 0.617409 7.641404 -3.577751 +v 0.598185 7.635668 -3.544993 +v 0.609709 7.630558 -3.550770 +v 0.617409 7.622910 -3.559415 +v 0.598185 7.612781 -3.526958 +v 0.609709 7.608346 -3.533267 +v 0.617409 7.601710 -3.542709 +v 0.598185 7.587820 -3.511385 +v 0.609709 7.584103 -3.518141 +v 0.617409 7.578539 -3.528253 +v 0.598185 7.561560 -3.498757 +v 0.609709 7.558618 -3.505886 +v 0.617409 7.554215 -3.516556 +v 0.598185 7.534814 -3.489461 +v 0.609709 7.532732 -3.496889 +v 0.617409 7.529615 -3.508006 +v 0.598185 7.508416 -3.483777 +v 0.609709 7.507310 -3.491415 +v 0.617409 7.505654 -3.502847 +v 0.598185 7.483080 -3.481860 +v 0.609709 7.482790 -3.489560 +v 0.617409 7.482354 -3.501084 +v 0.598185 6.287432 -3.481860 +v 0.609709 6.287768 -3.489560 +v 0.617409 6.288272 -3.501084 +v 0.598185 6.263113 -3.483988 +v 0.609709 6.264455 -3.491600 +v 0.617409 6.266464 -3.502992 +v 0.598185 6.239647 -3.490276 +v 0.609709 6.242291 -3.497539 +v 0.617409 6.246247 -3.508409 +v 0.598185 6.217629 -3.500542 +v 0.609709 6.221494 -3.507236 +v 0.617409 6.227278 -3.517254 +v 0.598185 6.197730 -3.514477 +v 0.609709 6.202698 -3.520398 +v 0.617409 6.210134 -3.529259 +v 0.598185 6.180552 -3.531655 +v 0.609709 6.186472 -3.536623 +v 0.617409 6.195333 -3.544059 +v 0.598185 6.166617 -3.551555 +v 0.609709 6.173311 -3.555420 +v 0.617409 6.183329 -3.561203 +v 0.598185 6.156350 -3.573573 +v 0.609709 6.163613 -3.576216 +v 0.617409 6.174483 -3.580173 +v 0.598185 6.150063 -3.597039 +v 0.609709 6.157674 -3.598381 +v 0.617409 6.169066 -3.600389 +v 0.598185 6.147934 -3.621358 +v 0.609709 6.155634 -3.621694 +v 0.617409 6.167158 -3.622198 +v -0.408785 8.362839 -4.960348 +v -0.408785 7.918450 -4.084300 +v -0.420308 8.355876 -4.963643 +v -0.420309 7.911565 -4.087749 +v -0.428008 8.345455 -4.968574 +v -0.428008 7.901262 -4.092910 +v -0.428008 6.169066 -4.097940 +v -0.428008 6.167158 -4.076132 +v -0.420309 6.157674 -4.099949 +v -0.420309 6.155634 -4.076635 +v -0.408785 6.150063 -4.101292 +v -0.408785 6.147934 -4.076972 +v -0.428008 6.174483 -4.118156 +v -0.420309 6.163613 -4.122114 +v -0.408785 6.156350 -4.124757 +v -0.428008 6.183329 -4.137126 +v -0.420309 6.173311 -4.142910 +v -0.408785 6.166617 -4.146774 +v -0.428008 6.195333 -4.154271 +v -0.420309 6.186472 -4.161706 +v -0.408785 6.180552 -4.166675 +v -0.428008 6.210134 -4.169071 +v -0.420309 6.202698 -4.177933 +v -0.408785 6.197730 -4.183854 +v -0.428008 6.227278 -4.181076 +v -0.420309 6.221494 -4.191093 +v -0.408785 6.217629 -4.197787 +v -0.428008 6.246247 -4.189920 +v -0.420309 6.242291 -4.200790 +v -0.408785 6.239647 -4.208055 +v -0.428008 6.266464 -4.195337 +v -0.420309 6.264455 -4.206729 +v -0.408785 6.263113 -4.214343 +v -0.428008 6.288272 -4.197247 +v -0.420309 6.287768 -4.208769 +v -0.408785 6.287432 -4.216469 +v -0.428008 6.743944 -4.197247 +v -0.420309 6.743535 -4.208769 +v -0.408785 6.743261 -4.216469 +v -0.428008 6.771910 -4.199236 +v -0.420309 6.770366 -4.210680 +v -0.408785 6.769334 -4.218326 +v -0.428008 6.801757 -4.205202 +v -0.420309 6.798869 -4.216375 +v -0.408785 6.796939 -4.223843 +v -0.428008 6.831934 -4.214819 +v -0.420309 6.827873 -4.225621 +v -0.408785 6.825159 -4.232837 +v -0.428008 6.861700 -4.227786 +v -0.420309 6.856579 -4.238124 +v -0.408785 6.853158 -4.245032 +v -0.428008 6.890292 -4.243734 +v -0.420309 6.884184 -4.253522 +v -0.408785 6.880103 -4.260064 +v -0.428008 6.916960 -4.262251 +v -0.420309 6.909904 -4.271380 +v -0.408785 6.905189 -4.277481 +v -0.428008 6.940998 -4.282876 +v -0.420309 6.933006 -4.291203 +v -0.408785 6.927667 -4.296769 +v -0.428008 6.961752 -4.305140 +v -0.420309 6.952827 -4.312465 +v -0.408785 6.946863 -4.317359 +v -0.428008 6.978137 -4.327890 +v -0.420309 6.968547 -4.334292 +v -0.408785 6.962139 -4.338571 +v -0.428008 7.355778 -4.939573 +v -0.420308 7.346423 -4.946358 +v -0.408785 7.340173 -4.950891 +v -0.428008 8.182401 -5.917300 +v -0.420308 8.173275 -5.924355 +v -0.408785 8.167177 -5.929069 +v -0.428008 8.198210 -5.939710 +v -0.420308 8.188189 -5.945497 +v -0.408785 8.181493 -5.949363 +v -0.428008 8.209950 -5.965109 +v -0.420308 8.199031 -5.968951 +v -0.408785 8.191734 -5.971518 +v -0.428008 8.216622 -5.991967 +v -0.420308 8.205165 -5.993646 +v -0.408785 8.197510 -5.994767 +v -0.428008 8.217927 -6.019408 +v -0.420308 8.206361 -6.018802 +v -0.408785 8.198633 -6.018396 +v -0.428008 8.213773 -6.046494 +v -0.420308 8.202558 -6.043607 +v -0.408785 8.195064 -6.041677 +v -0.428008 8.204306 -6.072284 +v -0.420308 8.193878 -6.067248 +v -0.408785 8.186911 -6.063885 +v -0.428008 8.189893 -6.095907 +v -0.420308 8.180626 -6.088971 +v -0.408785 8.174434 -6.084334 +v -0.428008 8.171081 -6.116621 +v -0.420308 8.163254 -6.108099 +v -0.408785 8.158025 -6.102404 +v -0.428008 8.149283 -6.133265 +v -0.420308 8.142691 -6.123799 +v -0.408785 8.138286 -6.117476 +v -0.428008 7.756579 -6.382008 +v -0.420308 7.750650 -6.372122 +v -0.408785 7.746688 -6.365518 +v -0.428008 7.732337 -6.395759 +v -0.420308 7.727063 -6.385500 +v -0.408785 7.723538 -6.378647 +v -0.428008 7.704234 -6.408782 +v -0.420308 7.699749 -6.398159 +v -0.408785 7.696752 -6.391060 +v -0.428008 7.673496 -6.420529 +v -0.420308 7.669713 -6.409638 +v -0.408785 7.667185 -6.402361 +v -0.428008 7.640937 -6.430728 +v -0.420308 7.637814 -6.419631 +v -0.408785 7.635725 -6.412217 +v -0.428008 7.607440 -6.439116 +v -0.420308 7.604967 -6.427855 +v -0.408785 7.603313 -6.420331 +v -0.428008 7.573915 -6.445463 +v -0.420308 7.572121 -6.434073 +v -0.408785 7.570921 -6.426465 +v -0.428008 7.541270 -6.449584 +v -0.420308 7.540220 -6.438100 +v -0.408785 7.539518 -6.430429 +v -0.428008 7.510345 -6.451341 +v -0.420308 7.510163 -6.439807 +v -0.408785 7.510043 -6.432103 +v -0.428008 7.482483 -6.450635 +v -0.420308 7.483056 -6.439123 +v -0.408785 7.483438 -6.431429 +v -0.428008 7.301021 -6.437191 +v -0.420308 7.301453 -6.425667 +v -0.408785 7.301742 -6.417969 +v -0.428008 7.277450 -6.437167 +v -0.420308 7.276709 -6.425642 +v -0.408785 7.276215 -6.417942 +v -0.428008 7.252716 -6.440384 +v -0.420308 7.250566 -6.429042 +v -0.408785 7.249132 -6.421464 +v -0.428008 7.226893 -6.446843 +v -0.420308 7.223499 -6.435812 +v -0.408785 7.221232 -6.428442 +v -0.428008 7.200937 -6.456371 +v -0.420308 7.196412 -6.445757 +v -0.408785 7.193387 -6.438665 +v -0.428008 7.175780 -6.468660 +v -0.420308 7.170191 -6.458567 +v -0.408785 7.166457 -6.451820 +v -0.428008 7.152310 -6.483276 +v -0.420308 7.145697 -6.473821 +v -0.408785 7.141276 -6.467503 +v -0.428008 7.131345 -6.499676 +v -0.420308 7.123720 -6.491011 +v -0.408785 7.118625 -6.485219 +v -0.428008 7.113605 -6.517209 +v -0.420308 7.104969 -6.509541 +v -0.408785 7.099198 -6.504416 +v -0.428008 7.099135 -6.535816 +v -0.420308 7.089779 -6.529074 +v -0.408785 7.083529 -6.524570 +v -0.428008 7.060108 -6.594357 +v -0.420308 7.050261 -6.588353 +v -0.408785 7.043683 -6.584340 +v -0.428008 7.048975 -6.614381 +v -0.420308 7.038484 -6.609538 +v -0.408785 7.031473 -6.606299 +v -0.428008 7.040745 -6.636391 +v -0.420308 7.029673 -6.633100 +v -0.408785 7.022274 -6.630899 +v -0.428008 7.035362 -6.660459 +v -0.420308 7.023952 -6.658676 +v -0.408785 7.016328 -6.657485 +v -0.428008 7.033082 -6.685747 +v -0.420308 7.021541 -6.685439 +v -0.408785 7.013827 -6.685233 +v -0.428008 7.034019 -6.711368 +v -0.420308 7.022530 -6.712518 +v -0.408785 7.014853 -6.713285 +v -0.428008 7.038137 -6.736423 +v -0.420308 7.026888 -6.739033 +v -0.408785 7.019372 -6.740777 +v -0.428008 7.045262 -6.760034 +v -0.420308 7.034461 -6.764123 +v -0.408785 7.027242 -6.766857 +v -0.428008 7.055077 -6.781383 +v -0.420308 7.044967 -6.786981 +v -0.408785 7.038210 -6.790720 +v -0.428008 7.067640 -6.800539 +v -0.420308 7.058259 -6.807249 +v -0.408785 7.051991 -6.811730 +v -0.428008 7.168787 -6.930584 +v -0.420308 7.159939 -6.937981 +v -0.408785 7.154028 -6.942924 +v -0.428008 7.184647 -6.948249 +v -0.420308 7.176555 -6.956486 +v -0.408785 7.171146 -6.961988 +v -0.428008 7.203761 -6.964811 +v -0.420308 7.196693 -6.973937 +v -0.408785 7.191972 -6.980033 +v -0.428008 7.226048 -6.980185 +v -0.420308 7.219985 -6.990002 +v -0.408785 7.215934 -6.996562 +v -0.428008 7.250733 -6.993753 +v -0.420308 7.245674 -7.004121 +v -0.408785 7.242291 -7.011050 +v -0.428008 7.276959 -7.005016 +v -0.420308 7.272925 -7.015827 +v -0.408785 7.270230 -7.023048 +v -0.428008 7.303799 -7.013576 +v -0.420308 7.300853 -7.024732 +v -0.408785 7.298885 -7.032187 +v -0.428008 7.330293 -7.019154 +v -0.420308 7.328540 -7.030560 +v -0.408785 7.327370 -7.038184 +v -0.428008 7.355464 -7.021612 +v -0.420308 7.355062 -7.033151 +v -0.408785 7.354795 -7.040861 +v -0.428008 7.379193 -7.020949 +v -0.420308 7.379921 -7.032457 +v -0.408785 7.380408 -7.040146 +v -0.428008 7.895387 -6.969967 +v -0.420308 7.896773 -6.981411 +v -0.408785 7.897700 -6.989057 +v -0.428008 7.920329 -6.966378 +v -0.420308 7.922396 -6.977723 +v -0.408785 7.923777 -6.985302 +v -0.428008 7.947669 -6.960336 +v -0.420308 7.950505 -6.971509 +v -0.408785 7.952401 -6.978977 +v -0.428008 7.976924 -6.951931 +v -0.420308 7.980414 -6.962917 +v -0.408785 7.982746 -6.970260 +v -0.428008 8.007073 -6.941429 +v -0.420308 8.011148 -6.952211 +v -0.408785 8.013872 -6.959416 +v -0.428008 8.037089 -6.929174 +v -0.420308 8.041724 -6.939730 +v -0.408785 8.044822 -6.946783 +v -0.428008 8.065972 -6.915577 +v -0.420308 8.071171 -6.925868 +v -0.408785 8.074643 -6.932743 +v -0.428008 8.092754 -6.901104 +v -0.420308 8.098548 -6.911073 +v -0.408785 8.102420 -6.917733 +v -0.428008 8.116510 -6.886287 +v -0.420308 8.122973 -6.895837 +v -0.408785 8.127293 -6.902218 +v -0.428008 8.136840 -6.871396 +v -0.420308 8.143857 -6.880540 +v -0.408785 8.148545 -6.886651 +v -0.428008 8.631334 -6.474178 +v -0.420308 8.636976 -6.484428 +v -0.408785 8.640745 -6.491277 +v -0.428008 9.250785 -6.262261 +v -0.420308 9.254827 -6.273058 +v -0.408785 9.257527 -6.280272 +v -0.428008 9.273539 -6.252995 +v -0.420308 9.278407 -6.263454 +v -0.408785 9.281660 -6.270443 +v -0.428008 9.297337 -6.240469 +v -0.420308 9.303128 -6.250443 +v -0.408785 9.306998 -6.257108 +v -0.428008 9.321880 -6.224818 +v -0.420308 9.328440 -6.234302 +v -0.408785 9.332824 -6.240639 +v -0.428008 9.346263 -6.206564 +v -0.420308 9.353498 -6.215544 +v -0.408785 9.358331 -6.221543 +v -0.428008 9.369630 -6.186327 +v -0.420308 9.377484 -6.194769 +v -0.408785 9.382732 -6.200410 +v -0.428008 9.391178 -6.164801 +v -0.420308 9.399628 -6.172647 +v -0.408785 9.405274 -6.177890 +v -0.428008 9.410173 -6.142744 +v -0.420308 9.419218 -6.149899 +v -0.408785 9.425261 -6.154683 +v -0.428008 9.425968 -6.120978 +v -0.420308 9.435626 -6.127291 +v -0.408785 9.442080 -6.131507 +v -0.428008 9.438390 -6.099781 +v -0.420308 9.448499 -6.105322 +v -0.408785 9.455254 -6.109025 +v -0.428008 9.525598 -5.929327 +v -0.420308 9.536079 -5.934142 +v -0.408785 9.543083 -5.937357 +v -0.428008 9.534074 -5.908596 +v -0.420308 9.545096 -5.912085 +v -0.408785 9.552462 -5.914415 +v -0.428008 9.539044 -5.886885 +v -0.420308 9.550478 -5.888580 +v -0.408785 9.558118 -5.889715 +v -0.428008 9.540636 -5.864014 +v -0.420308 9.552192 -5.863945 +v -0.408785 9.559914 -5.863900 +v -0.428008 9.538743 -5.840744 +v -0.420308 9.550159 -5.838959 +v -0.408785 9.557788 -5.837766 +v -0.428008 9.533405 -5.817873 +v -0.420308 9.544434 -5.814422 +v -0.408785 9.551802 -5.812116 +v -0.428008 9.524804 -5.796171 +v -0.420308 9.535197 -5.791117 +v -0.408785 9.542141 -5.787740 +v -0.428008 9.513254 -5.776364 +v -0.420308 9.522757 -5.769783 +v -0.408785 9.529105 -5.765386 +v -0.428008 9.499187 -5.759098 +v -0.420308 9.507528 -5.751090 +v -0.408785 9.513101 -5.745739 +v -0.428008 9.482410 -5.744256 +v -0.420308 9.489679 -5.735301 +v -0.408785 9.494536 -5.729318 +v -0.428008 9.326509 -5.628330 +v -0.420308 9.333060 -5.618841 +v -0.408785 9.337438 -5.612501 +v -0.428008 9.306488 -5.615520 +v -0.420308 9.312095 -5.605426 +v -0.408785 9.315842 -5.598682 +v -0.428008 9.283608 -5.604611 +v -0.420308 9.287998 -5.593938 +v -0.408785 9.290932 -5.586806 +v -0.428008 9.257975 -5.595671 +v -0.420308 9.261224 -5.584599 +v -0.408785 9.263394 -5.577201 +v -0.428008 9.230498 -5.589083 +v -0.420308 9.232647 -5.577747 +v -0.408785 9.234082 -5.570174 +v -0.428008 9.202147 -5.585109 +v -0.420308 9.203198 -5.573619 +v -0.408785 9.203901 -5.565942 +v -0.428008 9.173919 -5.583888 +v -0.420308 9.173840 -5.572350 +v -0.408785 9.173786 -5.564641 +v -0.428008 9.146814 -5.585435 +v -0.420308 9.145529 -5.573967 +v -0.408785 9.144669 -5.566304 +v -0.428008 9.121818 -5.589633 +v -0.420308 9.119202 -5.578386 +v -0.408785 9.117455 -5.570872 +v -0.428008 9.099047 -5.596444 +v -0.420308 9.095356 -5.585518 +v -0.408785 9.092891 -5.578219 +v -0.428008 8.841131 -5.693769 +v -0.420308 8.837530 -5.682812 +v -0.408785 8.835124 -5.675489 +v -0.428008 8.814451 -5.701272 +v -0.420308 8.812284 -5.689910 +v -0.408785 8.810835 -5.682320 +v -0.428008 8.785774 -5.704235 +v -0.420308 8.785558 -5.692671 +v -0.408785 8.785414 -5.684946 +v -0.428008 8.756884 -5.702336 +v -0.420308 8.758599 -5.690900 +v -0.408785 8.759745 -5.683259 +v -0.428008 8.728630 -5.695656 +v -0.420308 8.732212 -5.684662 +v -0.408785 8.734605 -5.677316 +v -0.428008 8.701838 -5.684401 +v -0.420308 8.707183 -5.674147 +v -0.408785 8.710754 -5.667295 +v -0.428008 8.677291 -5.668897 +v -0.420308 8.684258 -5.659667 +v -0.408785 8.688913 -5.653501 +v -0.428008 8.655714 -5.649590 +v -0.420308 8.664124 -5.641652 +v -0.408785 8.669744 -5.636346 +v -0.428008 8.637758 -5.627036 +v -0.420308 8.647390 -5.620632 +v -0.408785 8.653826 -5.616353 +v -0.428008 8.624443 -5.602728 +v -0.420308 8.634789 -5.597631 +v -0.408785 8.641703 -5.594223 +v -0.428008 7.668399 -3.617157 +v -0.420309 7.678558 -3.611700 +v -0.408785 7.685346 -3.608053 +v -0.428008 7.656571 -3.597004 +v -0.420309 7.666111 -3.590492 +v -0.408785 7.672486 -3.586141 +v -0.428008 7.641404 -3.577751 +v -0.420309 7.650019 -3.570065 +v -0.408785 7.655776 -3.564929 +v -0.428008 7.622910 -3.559415 +v -0.420309 7.630558 -3.550770 +v -0.408785 7.635668 -3.544993 +v -0.428008 7.601710 -3.542709 +v -0.420309 7.608346 -3.533267 +v -0.408785 7.612781 -3.526958 +v -0.428008 7.578539 -3.528253 +v -0.420309 7.584103 -3.518142 +v -0.408785 7.587820 -3.511385 +v -0.428009 7.554215 -3.516556 +v -0.420309 7.558618 -3.505886 +v -0.408785 7.561560 -3.498757 +v -0.428009 7.529615 -3.508006 +v -0.420309 7.532732 -3.496889 +v -0.408785 7.534814 -3.489461 +v -0.428009 7.505654 -3.502847 +v -0.420309 7.507310 -3.491415 +v -0.408785 7.508416 -3.483777 +v -0.428009 7.482354 -3.501084 +v -0.420309 7.482790 -3.489560 +v -0.408785 7.483080 -3.481860 +v -0.428009 6.288272 -3.501084 +v -0.420309 6.287768 -3.489560 +v -0.408785 6.287432 -3.481860 +v -0.428009 6.266464 -3.502992 +v -0.420309 6.264455 -3.491600 +v -0.408785 6.263113 -3.483988 +v -0.428009 6.246247 -3.508409 +v -0.420309 6.242291 -3.497539 +v -0.408785 6.239647 -3.490276 +v -0.428009 6.227278 -3.517254 +v -0.420309 6.221494 -3.507236 +v -0.408785 6.217629 -3.500542 +v -0.428009 6.210134 -3.529259 +v -0.420309 6.202698 -3.520398 +v -0.408785 6.197730 -3.514477 +v -0.428009 6.195333 -3.544059 +v -0.420309 6.186472 -3.536623 +v -0.408785 6.180552 -3.531655 +v -0.428009 6.183329 -3.561203 +v -0.420309 6.173311 -3.555420 +v -0.408785 6.166617 -3.551555 +v -0.428009 6.174483 -3.580173 +v -0.420309 6.163613 -3.576216 +v -0.408785 6.156350 -3.573573 +v -0.428009 6.169066 -3.600389 +v -0.420309 6.157674 -3.598381 +v -0.408785 6.150063 -3.597039 +v -0.428009 6.167158 -3.622198 +v -0.420309 6.155634 -3.621694 +v -0.408785 6.147934 -3.621358 +vt 0.367483 0.626132 +vt 0.378188 0.625005 +vt 0.378188 0.625005 +vt 0.329686 0.655656 +vt 0.318363 0.657586 +vt 0.329553 0.654983 +vt 0.394574 0.651686 +vt 0.386735 0.656602 +vt 0.386735 0.656602 +vt 0.385807 0.656979 +vt 0.385308 0.657041 +vt 0.385308 0.657041 +vt 0.384806 0.657016 +vt 0.384806 0.657016 +vt 0.384316 0.656903 +vt 0.384316 0.656903 +vt 0.383853 0.656708 +vt 0.383853 0.656708 +vt 0.383430 0.656434 +vt 0.383430 0.656434 +vt 0.383062 0.656092 +vt 0.383062 0.656092 +vt 0.377843 0.647852 +vt 0.377533 0.647428 +vt 0.377533 0.647428 +vt 0.382759 0.655691 +vt 0.377843 0.647852 +vt 0.386287 0.656831 +vt 0.385807 0.656979 +vt 0.373951 0.645463 +vt 0.373427 0.645429 +vt 0.373427 0.645429 +vt 0.377145 0.647018 +vt 0.376691 0.646633 +vt 0.376691 0.646633 +vt 0.376183 0.646286 +vt 0.376183 0.646286 +vt 0.375639 0.645988 +vt 0.375639 0.645988 +vt 0.375074 0.645746 +vt 0.375074 0.645746 +vt 0.374506 0.645570 +vt 0.374506 0.645570 +vt 0.373951 0.645463 +vt 0.333077 0.641859 +vt 0.332581 0.641832 +vt 0.332581 0.641832 +vt 0.377145 0.647018 +vt 0.358818 0.645532 +vt 0.333077 0.641859 +vt 0.386287 0.656831 +vt 0.330254 0.643841 +vt 0.330209 0.644335 +vt 0.330209 0.644335 +vt 0.332099 0.641894 +vt 0.331647 0.642042 +vt 0.331647 0.642042 +vt 0.331238 0.642272 +vt 0.331238 0.642272 +vt 0.330885 0.642577 +vt 0.330885 0.642577 +vt 0.330598 0.642948 +vt 0.330598 0.642948 +vt 0.330385 0.643374 +vt 0.330385 0.643374 +vt 0.330254 0.643841 +vt 0.330166 0.653741 +vt 0.330190 0.654277 +vt 0.330190 0.654277 +vt 0.330166 0.653741 +vt 0.332099 0.641894 +vt 0.331565 0.658501 +vt 0.331862 0.658948 +vt 0.331862 0.658948 +vt 0.330265 0.654868 +vt 0.330389 0.655494 +vt 0.330389 0.655494 +vt 0.330558 0.656138 +vt 0.330558 0.656138 +vt 0.330767 0.656780 +vt 0.330767 0.656780 +vt 0.331009 0.657400 +vt 0.331009 0.657400 +vt 0.331278 0.657980 +vt 0.331278 0.657980 +vt 0.331565 0.658501 +vt 0.334053 0.661928 +vt 0.334332 0.662371 +vt 0.334332 0.662371 +vt 0.334053 0.661928 +vt 0.330265 0.654867 +vt 0.334758 0.666390 +vt 0.334579 0.666882 +vt 0.334579 0.666882 +vt 0.334566 0.662881 +vt 0.334749 0.663442 +vt 0.334749 0.663442 +vt 0.334875 0.664037 +vt 0.334875 0.664037 +vt 0.334940 0.664648 +vt 0.334940 0.664648 +vt 0.334941 0.665255 +vt 0.334941 0.665255 +vt 0.334880 0.665842 +vt 0.334880 0.665842 +vt 0.334758 0.666390 +vt 0.333979 0.668216 +vt 0.333730 0.668668 +vt 0.333730 0.668668 +vt 0.333979 0.668215 +vt 0.334566 0.662881 +vt 0.330443 0.670566 +vt 0.329927 0.670555 +vt 0.329927 0.670555 +vt 0.333401 0.669098 +vt 0.333003 0.669492 +vt 0.333003 0.669492 +vt 0.332547 0.669838 +vt 0.332547 0.669838 +vt 0.332048 0.670126 +vt 0.332048 0.670126 +vt 0.331520 0.670348 +vt 0.331520 0.670348 +vt 0.330979 0.670496 +vt 0.330979 0.670496 +vt 0.330443 0.670566 +vt 0.326566 0.670215 +vt 0.326048 0.670125 +vt 0.326048 0.670125 +vt 0.326566 0.670215 +vt 0.333401 0.669098 +vt 0.322679 0.667795 +vt 0.322412 0.667342 +vt 0.322412 0.667342 +vt 0.325507 0.669960 +vt 0.324959 0.669724 +vt 0.324959 0.669724 +vt 0.324421 0.669424 +vt 0.324421 0.669424 +vt 0.323909 0.669070 +vt 0.323909 0.669070 +vt 0.323439 0.668672 +vt 0.323439 0.668672 +vt 0.323024 0.668243 +vt 0.323024 0.668243 +vt 0.322679 0.667795 +vt 0.317710 0.657893 +vt 0.317492 0.657401 +vt 0.317492 0.657401 +vt 0.317710 0.657893 +vt 0.325507 0.669960 +vt 0.316723 0.652983 +vt 0.316761 0.652446 +vt 0.316761 0.652446 +vt 0.317291 0.656837 +vt 0.317113 0.656218 +vt 0.317113 0.656218 +vt 0.316963 0.655563 +vt 0.316963 0.655563 +vt 0.316846 0.654891 +vt 0.316846 0.654891 +vt 0.316766 0.654224 +vt 0.316766 0.654224 +vt 0.316724 0.653582 +vt 0.316724 0.653582 +vt 0.316723 0.652983 +vt 0.315230 0.626853 +vt 0.315138 0.626327 +vt 0.315138 0.626327 +vt 0.317291 0.656837 +vt 0.318251 0.639727 +vt 0.315230 0.626853 +vt 0.358818 0.645532 +vt 0.315802 0.622041 +vt 0.316049 0.621568 +vt 0.316049 0.621568 +vt 0.315094 0.625743 +vt 0.315099 0.625117 +vt 0.315099 0.625117 +vt 0.315152 0.624468 +vt 0.315152 0.624468 +vt 0.315253 0.623817 +vt 0.315253 0.623817 +vt 0.315398 0.623183 +vt 0.315398 0.623182 +vt 0.315583 0.622584 +vt 0.315583 0.622584 +vt 0.315802 0.622041 +vt 0.318056 0.618203 +vt 0.318353 0.617789 +vt 0.318353 0.617789 +vt 0.318056 0.618203 +vt 0.315094 0.625743 +vt 0.321731 0.616628 +vt 0.322220 0.616772 +vt 0.322220 0.616772 +vt 0.318723 0.617419 +vt 0.319154 0.617105 +vt 0.319154 0.617104 +vt 0.319634 0.616855 +vt 0.319634 0.616855 +vt 0.320147 0.616679 +vt 0.320147 0.616679 +vt 0.320679 0.616581 +vt 0.320679 0.616581 +vt 0.321212 0.616564 +vt 0.321212 0.616564 +vt 0.321731 0.616628 +vt 0.325927 0.618216 +vt 0.326403 0.618440 +vt 0.326403 0.618440 +vt 0.325927 0.618215 +vt 0.318723 0.617419 +vt 0.329046 0.621582 +vt 0.329186 0.622089 +vt 0.329186 0.622089 +vt 0.326881 0.618744 +vt 0.327348 0.619117 +vt 0.327348 0.619117 +vt 0.327788 0.619549 +vt 0.327788 0.619549 +vt 0.328190 0.620027 +vt 0.328190 0.620027 +vt 0.328540 0.620535 +vt 0.328540 0.620535 +vt 0.328828 0.621059 +vt 0.328828 0.621059 +vt 0.329046 0.621582 +vt 0.330293 0.627570 +vt 0.330435 0.628055 +vt 0.330435 0.628054 +vt 0.330293 0.627570 +vt 0.326881 0.618744 +vt 0.333213 0.630008 +vt 0.333717 0.629978 +vt 0.333717 0.629978 +vt 0.330660 0.628512 +vt 0.330961 0.628928 +vt 0.330961 0.628927 +vt 0.331327 0.629289 +vt 0.331327 0.629289 +vt 0.331749 0.629586 +vt 0.331749 0.629586 +vt 0.332214 0.629809 +vt 0.332214 0.629809 +vt 0.332707 0.629951 +vt 0.332707 0.629951 +vt 0.333213 0.630008 +vt 0.378709 0.624989 +vt 0.378709 0.624989 +vt 0.330660 0.628512 +vt 0.318251 0.639727 +vt 0.347624 0.627938 +vt 0.347624 0.627938 +vt 0.382279 0.626727 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.379261 0.625049 +vt 0.379827 0.625181 +vt 0.379827 0.625181 +vt 0.380390 0.625382 +vt 0.380390 0.625382 +vt 0.380932 0.625646 +vt 0.380932 0.625646 +vt 0.381438 0.625965 +vt 0.381438 0.625965 +vt 0.381891 0.626329 +vt 0.381891 0.626329 +vt 0.382279 0.626727 +vt 0.395485 0.647711 +vt 0.395714 0.648158 +vt 0.395714 0.648158 +vt 0.395485 0.647711 +vt 0.379261 0.625049 +vt 0.394975 0.651383 +vt 0.394574 0.651686 +vt 0.395861 0.648639 +vt 0.395924 0.649138 +vt 0.395924 0.649138 +vt 0.395898 0.649640 +vt 0.395898 0.649640 +vt 0.395786 0.650130 +vt 0.395786 0.650130 +vt 0.395590 0.650593 +vt 0.395590 0.650593 +vt 0.395317 0.651015 +vt 0.395317 0.651015 +vt 0.394975 0.651383 +vt 0.318363 0.657586 +vt 0.329686 0.655656 +vt 0.329553 0.654983 +vt 0.395861 0.648639 +vt 0.382759 0.655691 +vt 0.347709 0.628654 +vt 0.367525 0.626575 +vt 0.367551 0.626850 +vt 0.347677 0.628380 +vt 0.367483 0.626132 +vt 0.347624 0.627938 +vt 0.367483 0.626132 +vt 0.347624 0.627938 +vt 0.386287 0.656831 +vt 0.386735 0.656602 +vt 0.386287 0.656830 +vt 0.386735 0.656602 +vt 0.386119 0.656417 +vt 0.386515 0.656214 +vt 0.386015 0.656161 +vt 0.386378 0.655975 +vt 0.385806 0.656977 +vt 0.385713 0.656542 +vt 0.385308 0.657041 +vt 0.385807 0.656978 +vt 0.385292 0.656595 +vt 0.385655 0.656271 +vt 0.384806 0.657015 +vt 0.385308 0.657040 +vt 0.384867 0.656573 +vt 0.384905 0.656299 +vt 0.385281 0.656317 +vt 0.384316 0.656902 +vt 0.384806 0.657014 +vt 0.384453 0.656478 +vt 0.383853 0.656707 +vt 0.384316 0.656903 +vt 0.383853 0.656706 +vt 0.384191 0.656068 +vt 0.384538 0.656214 +vt 0.383431 0.656434 +vt 0.383431 0.656433 +vt 0.384062 0.656313 +vt 0.383705 0.656082 +vt 0.383063 0.656092 +vt 0.383063 0.656091 +vt 0.383394 0.655793 +vt 0.383875 0.655863 +vt 0.382759 0.655691 +vt 0.382759 0.655691 +vt 0.383126 0.655438 +vt 0.383599 0.655607 +vt 0.377843 0.647852 +vt 0.377843 0.647852 +vt 0.378212 0.647602 +vt 0.383353 0.655282 +vt 0.377533 0.647428 +vt 0.377533 0.647428 +vt 0.377876 0.647143 +vt 0.378440 0.647448 +vt 0.377145 0.647018 +vt 0.377145 0.647018 +vt 0.377451 0.646694 +vt 0.377641 0.646494 +vt 0.378088 0.646966 +vt 0.376691 0.646633 +vt 0.376691 0.646633 +vt 0.376961 0.646278 +vt 0.377128 0.646059 +vt 0.376184 0.646286 +vt 0.376183 0.646286 +vt 0.376417 0.645907 +vt 0.376561 0.645672 +vt 0.375639 0.645988 +vt 0.375639 0.645988 +vt 0.375834 0.645587 +vt 0.375074 0.645746 +vt 0.375074 0.645746 +vt 0.375228 0.645327 +vt 0.375955 0.645339 +vt 0.374506 0.645570 +vt 0.374506 0.645570 +vt 0.374614 0.645138 +vt 0.375324 0.645069 +vt 0.373951 0.645463 +vt 0.373951 0.645463 +vt 0.374007 0.645020 +vt 0.374681 0.644869 +vt 0.373427 0.645429 +vt 0.373427 0.645429 +vt 0.373440 0.644984 +vt 0.373447 0.644708 +vt 0.374043 0.644746 +vt 0.358818 0.645531 +vt 0.358818 0.645531 +vt 0.358848 0.645087 +vt 0.358867 0.644810 +vt 0.333077 0.641859 +vt 0.333077 0.641859 +vt 0.333120 0.641415 +vt 0.332581 0.641832 +vt 0.332581 0.641832 +vt 0.332564 0.641385 +vt 0.333147 0.641141 +vt 0.332099 0.641893 +vt 0.332099 0.641894 +vt 0.332001 0.641457 +vt 0.332554 0.641109 +vt 0.331647 0.642041 +vt 0.331647 0.642042 +vt 0.331467 0.641633 +vt 0.331940 0.641187 +vt 0.331238 0.642271 +vt 0.331238 0.642272 +vt 0.330981 0.641905 +vt 0.331356 0.641378 +vt 0.330885 0.642577 +vt 0.330560 0.642269 +vt 0.330822 0.641679 +vt 0.330597 0.642948 +vt 0.330598 0.642948 +vt 0.330885 0.642577 +vt 0.330219 0.642710 +vt 0.329984 0.642563 +vt 0.330359 0.642078 +vt 0.330385 0.643374 +vt 0.330385 0.643374 +vt 0.329968 0.643212 +vt 0.329709 0.643113 +vt 0.330254 0.643841 +vt 0.330254 0.643841 +vt 0.329815 0.643759 +vt 0.329542 0.643709 +vt 0.330208 0.644335 +vt 0.330209 0.644335 +vt 0.329764 0.644314 +vt 0.329488 0.644301 +vt 0.330166 0.653741 +vt 0.330166 0.653741 +vt 0.329721 0.653750 +vt 0.329445 0.653755 +vt 0.330190 0.654277 +vt 0.330190 0.654277 +vt 0.329746 0.654315 +vt 0.330265 0.654867 +vt 0.330265 0.654867 +vt 0.329825 0.654939 +vt 0.329471 0.654339 +vt 0.330389 0.655494 +vt 0.330389 0.655494 +vt 0.329955 0.655594 +vt 0.330558 0.656138 +vt 0.330558 0.656138 +vt 0.330131 0.656264 +vt 0.329866 0.656342 +vt 0.330767 0.656780 +vt 0.330087 0.657023 +vt 0.330767 0.656780 +vt 0.331009 0.657400 +vt 0.331009 0.657400 +vt 0.330347 0.656930 +vt 0.330600 0.657575 +vt 0.331278 0.657980 +vt 0.331278 0.657980 +vt 0.330881 0.658181 +vt 0.330346 0.657683 +vt 0.331565 0.658501 +vt 0.331565 0.658501 +vt 0.331184 0.658732 +vt 0.330635 0.658306 +vt 0.331862 0.658948 +vt 0.331862 0.658948 +vt 0.331497 0.659204 +vt 0.331271 0.659362 +vt 0.330948 0.658875 +vt 0.334053 0.661928 +vt 0.334053 0.661928 +vt 0.333685 0.662179 +vt 0.333457 0.662334 +vt 0.334332 0.662372 +vt 0.334331 0.662372 +vt 0.333940 0.662584 +vt 0.333696 0.662715 +vt 0.334566 0.662881 +vt 0.334566 0.662882 +vt 0.334151 0.663044 +vt 0.334749 0.663442 +vt 0.334748 0.663442 +vt 0.334318 0.663558 +vt 0.333894 0.663144 +vt 0.334875 0.664037 +vt 0.334874 0.664037 +vt 0.334435 0.664106 +vt 0.334052 0.663629 +vt 0.334939 0.664648 +vt 0.334939 0.664648 +vt 0.334219 0.664687 +vt 0.334162 0.664150 +vt 0.334941 0.665255 +vt 0.334941 0.665255 +vt 0.334496 0.665233 +vt 0.334495 0.664672 +vt 0.334220 0.665219 +vt 0.334880 0.665842 +vt 0.334880 0.665842 +vt 0.334440 0.665770 +vt 0.334168 0.665726 +vt 0.334758 0.666390 +vt 0.334757 0.666390 +vt 0.334330 0.666264 +vt 0.334065 0.666187 +vt 0.334579 0.666882 +vt 0.334579 0.666882 +vt 0.334166 0.666714 +vt 0.333979 0.668216 +vt 0.333979 0.668215 +vt 0.333581 0.668017 +vt 0.333333 0.667893 +vt 0.333911 0.666610 +vt 0.333730 0.668668 +vt 0.333729 0.668667 +vt 0.333356 0.668424 +vt 0.333124 0.668273 +vt 0.333401 0.669097 +vt 0.333401 0.669097 +vt 0.333066 0.668803 +vt 0.333003 0.669492 +vt 0.333002 0.669491 +vt 0.332711 0.669155 +vt 0.332859 0.668620 +vt 0.332547 0.669838 +vt 0.332547 0.669837 +vt 0.332300 0.669467 +vt 0.332529 0.668946 +vt 0.332048 0.670126 +vt 0.331850 0.669727 +vt 0.332147 0.669236 +vt 0.331520 0.670348 +vt 0.331519 0.670347 +vt 0.332047 0.670126 +vt 0.331374 0.669926 +vt 0.331284 0.669665 +vt 0.331727 0.669480 +vt 0.330979 0.670496 +vt 0.330979 0.670495 +vt 0.330891 0.670058 +vt 0.330837 0.669787 +vt 0.330443 0.670565 +vt 0.330443 0.670564 +vt 0.330419 0.670120 +vt 0.330403 0.669843 +vt 0.329927 0.670555 +vt 0.329927 0.670555 +vt 0.329954 0.670110 +vt 0.326566 0.670215 +vt 0.326566 0.670215 +vt 0.326626 0.669773 +vt 0.329970 0.669835 +vt 0.326048 0.670125 +vt 0.326048 0.670124 +vt 0.326152 0.669691 +vt 0.326216 0.669422 +vt 0.326664 0.669500 +vt 0.325507 0.669960 +vt 0.325507 0.669959 +vt 0.325661 0.669541 +vt 0.324959 0.669724 +vt 0.324959 0.669723 +vt 0.325156 0.669324 +vt 0.325756 0.669282 +vt 0.324421 0.669424 +vt 0.324421 0.669424 +vt 0.324657 0.669046 +vt 0.325278 0.669076 +vt 0.323909 0.669070 +vt 0.323909 0.669069 +vt 0.324180 0.668716 +vt 0.324802 0.668811 +vt 0.323439 0.668672 +vt 0.323439 0.668672 +vt 0.323743 0.668347 +vt 0.323932 0.668146 +vt 0.324348 0.668497 +vt 0.323024 0.668243 +vt 0.323025 0.668242 +vt 0.323362 0.667951 +vt 0.323571 0.667771 +vt 0.322679 0.667795 +vt 0.322679 0.667794 +vt 0.323048 0.667545 +vt 0.323277 0.667390 +vt 0.322412 0.667342 +vt 0.322412 0.667342 +vt 0.322803 0.667130 +vt 0.317711 0.657893 +vt 0.317711 0.657893 +vt 0.318113 0.657703 +vt 0.323046 0.666998 +vt 0.317493 0.657401 +vt 0.317493 0.657401 +vt 0.317906 0.657236 +vt 0.318163 0.657133 +vt 0.317291 0.656837 +vt 0.317292 0.656837 +vt 0.317715 0.656700 +vt 0.317113 0.656218 +vt 0.317113 0.656218 +vt 0.317544 0.656107 +vt 0.317978 0.656616 +vt 0.316963 0.655563 +vt 0.316963 0.655563 +vt 0.317400 0.655475 +vt 0.317811 0.656038 +vt 0.316846 0.654891 +vt 0.317560 0.654786 +vt 0.317670 0.655420 +vt 0.316766 0.654225 +vt 0.316846 0.654891 +vt 0.316766 0.654224 +vt 0.317209 0.654184 +vt 0.317287 0.654826 +vt 0.317484 0.654158 +vt 0.316724 0.653582 +vt 0.316724 0.653582 +vt 0.317169 0.653567 +vt 0.317445 0.653557 +vt 0.316723 0.652983 +vt 0.316723 0.652983 +vt 0.317168 0.652998 +vt 0.317444 0.653008 +vt 0.316761 0.652446 +vt 0.316761 0.652446 +vt 0.317205 0.652488 +vt 0.318253 0.639727 +vt 0.318251 0.639727 +vt 0.318702 0.639701 +vt 0.317479 0.652514 +vt 0.315230 0.626853 +vt 0.315230 0.626853 +vt 0.315666 0.626763 +vt 0.315937 0.626708 +vt 0.318982 0.639685 +vt 0.315138 0.626327 +vt 0.315139 0.626327 +vt 0.315581 0.626272 +vt 0.315855 0.626238 +vt 0.315094 0.625743 +vt 0.315094 0.625743 +vt 0.315539 0.625728 +vt 0.315099 0.625117 +vt 0.315099 0.625117 +vt 0.315544 0.625137 +vt 0.315815 0.625718 +vt 0.315152 0.624468 +vt 0.315153 0.624468 +vt 0.315595 0.624521 +vt 0.315819 0.625149 +vt 0.315253 0.623817 +vt 0.315691 0.623900 +vt 0.315962 0.623953 +vt 0.315869 0.624553 +vt 0.315398 0.623182 +vt 0.315399 0.623183 +vt 0.315253 0.623817 +vt 0.315828 0.623298 +vt 0.316095 0.623369 +vt 0.315583 0.622584 +vt 0.315583 0.622584 +vt 0.316003 0.622733 +vt 0.316263 0.622826 +vt 0.315802 0.622041 +vt 0.315803 0.622041 +vt 0.316207 0.622227 +vt 0.316458 0.622343 +vt 0.316049 0.621568 +vt 0.316049 0.621568 +vt 0.316437 0.621785 +vt 0.318056 0.618203 +vt 0.318056 0.618203 +vt 0.318428 0.618447 +vt 0.318659 0.618598 +vt 0.316678 0.621919 +vt 0.318353 0.617789 +vt 0.318354 0.617790 +vt 0.318693 0.618078 +vt 0.318904 0.618257 +vt 0.318723 0.617419 +vt 0.318724 0.617420 +vt 0.319013 0.617758 +vt 0.319154 0.617105 +vt 0.319155 0.617105 +vt 0.319389 0.617484 +vt 0.319193 0.617969 +vt 0.319634 0.616856 +vt 0.319634 0.616856 +vt 0.319810 0.617266 +vt 0.319535 0.617719 +vt 0.320147 0.616679 +vt 0.320148 0.616680 +vt 0.320331 0.617378 +vt 0.319919 0.617520 +vt 0.320679 0.616581 +vt 0.320679 0.616582 +vt 0.320727 0.617025 +vt 0.320261 0.617111 +vt 0.320756 0.617300 +vt 0.321212 0.616564 +vt 0.321212 0.616565 +vt 0.321192 0.617010 +vt 0.321179 0.617286 +vt 0.321731 0.616628 +vt 0.321731 0.616629 +vt 0.321640 0.617065 +vt 0.321584 0.617337 +vt 0.322220 0.616772 +vt 0.322220 0.616773 +vt 0.322076 0.617194 +vt 0.325927 0.618215 +vt 0.325927 0.618216 +vt 0.325751 0.618625 +vt 0.321987 0.617455 +vt 0.326403 0.618440 +vt 0.326402 0.618441 +vt 0.326187 0.618831 +vt 0.326054 0.619073 +vt 0.325642 0.618878 +vt 0.326881 0.618744 +vt 0.326881 0.618744 +vt 0.326622 0.619107 +vt 0.327347 0.619117 +vt 0.327347 0.619118 +vt 0.327052 0.619451 +vt 0.326461 0.619331 +vt 0.327788 0.619550 +vt 0.327788 0.619550 +vt 0.327462 0.619852 +vt 0.326869 0.619658 +vt 0.328190 0.620027 +vt 0.328190 0.620027 +vt 0.327616 0.620464 +vt 0.327259 0.620040 +vt 0.328540 0.620535 +vt 0.328540 0.620535 +vt 0.328161 0.620769 +vt 0.327836 0.620297 +vt 0.327926 0.620915 +vt 0.328828 0.621059 +vt 0.328828 0.621059 +vt 0.328427 0.621252 +vt 0.328178 0.621372 +vt 0.329046 0.621582 +vt 0.329045 0.621582 +vt 0.328624 0.621727 +vt 0.328363 0.621817 +vt 0.329186 0.622089 +vt 0.329185 0.622089 +vt 0.328753 0.622192 +vt 0.330293 0.627570 +vt 0.330293 0.627570 +vt 0.329860 0.627677 +vt 0.328484 0.622256 +vt 0.330435 0.628055 +vt 0.330435 0.628054 +vt 0.330019 0.628217 +vt 0.329592 0.627743 +vt 0.330660 0.628512 +vt 0.330660 0.628512 +vt 0.330277 0.628742 +vt 0.330040 0.628884 +vt 0.329761 0.628317 +vt 0.330960 0.628928 +vt 0.330961 0.628927 +vt 0.330622 0.629218 +vt 0.330411 0.629398 +vt 0.331327 0.629289 +vt 0.331327 0.629289 +vt 0.331041 0.629632 +vt 0.330864 0.629845 +vt 0.331749 0.629586 +vt 0.331749 0.629586 +vt 0.331524 0.629971 +vt 0.332214 0.629809 +vt 0.332214 0.629809 +vt 0.332055 0.630226 +vt 0.331384 0.630210 +vt 0.332707 0.629951 +vt 0.332707 0.629951 +vt 0.332620 0.630389 +vt 0.331956 0.630485 +vt 0.333213 0.630008 +vt 0.333213 0.630008 +vt 0.333201 0.630455 +vt 0.332566 0.630661 +vt 0.333717 0.629978 +vt 0.333717 0.629978 +vt 0.333763 0.630422 +vt 0.333791 0.630696 +vt 0.333194 0.630731 +vt 0.378188 0.625005 +vt 0.378188 0.625005 +vt 0.378218 0.625449 +vt 0.378236 0.625724 +vt 0.378709 0.624990 +vt 0.378709 0.624990 +vt 0.378692 0.625435 +vt 0.378681 0.625712 +vt 0.379261 0.625049 +vt 0.379261 0.625049 +vt 0.379186 0.625489 +vt 0.379827 0.625181 +vt 0.379827 0.625182 +vt 0.379701 0.625609 +vt 0.379140 0.625761 +vt 0.380390 0.625383 +vt 0.380390 0.625383 +vt 0.380217 0.625793 +vt 0.379623 0.625874 +vt 0.380932 0.625646 +vt 0.380932 0.625647 +vt 0.380716 0.626036 +vt 0.380110 0.626048 +vt 0.381438 0.625965 +vt 0.381438 0.625966 +vt 0.381179 0.626328 +vt 0.381018 0.626553 +vt 0.380582 0.626277 +vt 0.381891 0.626329 +vt 0.381891 0.626330 +vt 0.381592 0.626659 +vt 0.381406 0.626864 +vt 0.382279 0.626727 +vt 0.382278 0.626727 +vt 0.381939 0.627016 +vt 0.381728 0.627194 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382220 0.627397 +vt 0.395485 0.647711 +vt 0.395484 0.647711 +vt 0.395097 0.647930 +vt 0.394857 0.648067 +vt 0.381992 0.627552 +vt 0.395713 0.648158 +vt 0.395712 0.648159 +vt 0.395300 0.648326 +vt 0.395043 0.648431 +vt 0.395861 0.648639 +vt 0.395424 0.648732 +vt 0.395154 0.648790 +vt 0.395923 0.649138 +vt 0.395922 0.649138 +vt 0.395860 0.648639 +vt 0.395477 0.649154 +vt 0.395898 0.649640 +vt 0.395896 0.649640 +vt 0.395455 0.649578 +vt 0.395200 0.649164 +vt 0.395786 0.650130 +vt 0.395360 0.649992 +vt 0.395181 0.649540 +vt 0.395590 0.650592 +vt 0.395589 0.650592 +vt 0.395784 0.650129 +vt 0.395195 0.650384 +vt 0.395097 0.649908 +vt 0.395316 0.651014 +vt 0.394964 0.650741 +vt 0.394746 0.650570 +vt 0.394950 0.650254 +vt 0.395317 0.651015 +vt 0.394974 0.651382 +vt 0.394675 0.651052 +vt 0.394974 0.651383 +vt 0.394574 0.651686 +vt 0.394574 0.651686 +vt 0.394321 0.651320 +vt 0.394489 0.650846 +vt 0.394164 0.651092 +vt 0.367483 0.626132 +vt 0.347624 0.627938 +vt 0.367483 0.626132 +vt 0.347624 0.627938 +vt 0.367483 0.626132 +vt 0.347677 0.628381 +vt 0.367525 0.626575 +vt 0.347709 0.628655 +vt 0.367551 0.626850 +vt 0.386015 0.656160 +vt 0.386515 0.656215 +vt 0.386378 0.655975 +vt 0.386119 0.656417 +vt 0.386735 0.656602 +vt 0.386287 0.656830 +vt 0.386735 0.656602 +vt 0.386287 0.656831 +vt 0.385713 0.656542 +vt 0.385806 0.656977 +vt 0.385655 0.656271 +vt 0.385292 0.656595 +vt 0.385308 0.657041 +vt 0.385807 0.656978 +vt 0.384905 0.656299 +vt 0.385281 0.656318 +vt 0.384867 0.656573 +vt 0.385308 0.657040 +vt 0.384806 0.657015 +vt 0.384453 0.656478 +vt 0.384806 0.657014 +vt 0.384316 0.656902 +vt 0.384191 0.656068 +vt 0.384538 0.656215 +vt 0.384062 0.656313 +vt 0.383853 0.656707 +vt 0.384316 0.656903 +vt 0.383875 0.655863 +vt 0.383431 0.656433 +vt 0.383853 0.656706 +vt 0.383431 0.656434 +vt 0.383394 0.655793 +vt 0.383705 0.656082 +vt 0.383063 0.656091 +vt 0.383063 0.656092 +vt 0.383599 0.655607 +vt 0.383126 0.655438 +vt 0.382759 0.655691 +vt 0.382759 0.655691 +vt 0.383353 0.655282 +vt 0.378212 0.647602 +vt 0.377843 0.647852 +vt 0.377843 0.647852 +vt 0.378440 0.647447 +vt 0.377876 0.647143 +vt 0.377533 0.647428 +vt 0.377533 0.647428 +vt 0.377641 0.646493 +vt 0.378088 0.646966 +vt 0.377451 0.646694 +vt 0.377145 0.647018 +vt 0.377145 0.647018 +vt 0.377128 0.646059 +vt 0.376961 0.646279 +vt 0.376691 0.646633 +vt 0.376691 0.646633 +vt 0.376561 0.645671 +vt 0.376417 0.645907 +vt 0.376183 0.646286 +vt 0.376184 0.646286 +vt 0.375834 0.645587 +vt 0.375639 0.645988 +vt 0.375639 0.645988 +vt 0.375955 0.645339 +vt 0.375228 0.645328 +vt 0.375074 0.645746 +vt 0.375074 0.645746 +vt 0.375324 0.645069 +vt 0.374614 0.645137 +vt 0.374506 0.645570 +vt 0.374506 0.645570 +vt 0.374681 0.644869 +vt 0.374007 0.645020 +vt 0.373951 0.645463 +vt 0.373951 0.645463 +vt 0.373447 0.644708 +vt 0.374042 0.644746 +vt 0.373440 0.644984 +vt 0.373427 0.645429 +vt 0.373427 0.645429 +vt 0.358867 0.644810 +vt 0.358848 0.645086 +vt 0.358818 0.645531 +vt 0.358818 0.645531 +vt 0.333120 0.641416 +vt 0.333077 0.641859 +vt 0.333077 0.641859 +vt 0.333147 0.641141 +vt 0.332564 0.641385 +vt 0.332581 0.641832 +vt 0.332581 0.641832 +vt 0.332554 0.641108 +vt 0.332001 0.641457 +vt 0.332099 0.641894 +vt 0.332099 0.641893 +vt 0.331940 0.641187 +vt 0.331467 0.641632 +vt 0.331647 0.642042 +vt 0.331647 0.642041 +vt 0.331356 0.641378 +vt 0.330981 0.641905 +vt 0.331238 0.642272 +vt 0.331238 0.642271 +vt 0.330822 0.641679 +vt 0.330560 0.642269 +vt 0.330885 0.642577 +vt 0.329984 0.642563 +vt 0.330359 0.642079 +vt 0.330219 0.642710 +vt 0.330885 0.642577 +vt 0.330598 0.642948 +vt 0.330597 0.642948 +vt 0.329710 0.643113 +vt 0.329968 0.643213 +vt 0.330385 0.643374 +vt 0.330385 0.643374 +vt 0.329542 0.643709 +vt 0.329815 0.643760 +vt 0.330254 0.643841 +vt 0.330254 0.643841 +vt 0.329488 0.644300 +vt 0.329764 0.644314 +vt 0.330209 0.644335 +vt 0.330208 0.644336 +vt 0.329445 0.653755 +vt 0.329721 0.653750 +vt 0.330166 0.653741 +vt 0.330166 0.653741 +vt 0.329746 0.654315 +vt 0.330190 0.654277 +vt 0.330190 0.654277 +vt 0.329471 0.654338 +vt 0.329825 0.654938 +vt 0.330265 0.654867 +vt 0.330265 0.654867 +vt 0.329955 0.655594 +vt 0.330389 0.655494 +vt 0.330389 0.655494 +vt 0.329865 0.656341 +vt 0.330130 0.656264 +vt 0.330558 0.656138 +vt 0.330558 0.656138 +vt 0.330088 0.657023 +vt 0.330767 0.656780 +vt 0.330600 0.657575 +vt 0.330347 0.656930 +vt 0.331009 0.657400 +vt 0.331009 0.657400 +vt 0.330767 0.656780 +vt 0.330346 0.657684 +vt 0.330881 0.658181 +vt 0.331278 0.657980 +vt 0.331278 0.657980 +vt 0.330635 0.658306 +vt 0.331184 0.658732 +vt 0.331565 0.658501 +vt 0.331565 0.658501 +vt 0.331271 0.659361 +vt 0.330948 0.658875 +vt 0.331497 0.659203 +vt 0.331862 0.658948 +vt 0.331862 0.658948 +vt 0.333457 0.662334 +vt 0.333685 0.662179 +vt 0.334053 0.661928 +vt 0.334053 0.661928 +vt 0.333697 0.662716 +vt 0.333940 0.662584 +vt 0.334331 0.662372 +vt 0.334332 0.662372 +vt 0.334151 0.663044 +vt 0.334566 0.662882 +vt 0.334566 0.662881 +vt 0.333894 0.663144 +vt 0.334318 0.663557 +vt 0.334748 0.663442 +vt 0.334749 0.663442 +vt 0.334052 0.663629 +vt 0.334435 0.664106 +vt 0.334874 0.664037 +vt 0.334875 0.664037 +vt 0.334161 0.664150 +vt 0.334494 0.664672 +vt 0.334939 0.664648 +vt 0.334939 0.664648 +vt 0.334220 0.665219 +vt 0.334219 0.664687 +vt 0.334496 0.665233 +vt 0.334941 0.665255 +vt 0.334941 0.665255 +vt 0.334167 0.665726 +vt 0.334440 0.665771 +vt 0.334880 0.665842 +vt 0.334880 0.665842 +vt 0.334065 0.666187 +vt 0.334330 0.666265 +vt 0.334757 0.666389 +vt 0.334758 0.666390 +vt 0.334166 0.666714 +vt 0.334579 0.666882 +vt 0.334579 0.666882 +vt 0.333333 0.667893 +vt 0.333910 0.666610 +vt 0.333580 0.668017 +vt 0.333979 0.668215 +vt 0.333979 0.668215 +vt 0.333124 0.668273 +vt 0.333356 0.668424 +vt 0.333729 0.668667 +vt 0.333730 0.668668 +vt 0.333066 0.668803 +vt 0.333401 0.669097 +vt 0.333401 0.669097 +vt 0.332859 0.668620 +vt 0.332711 0.669155 +vt 0.333002 0.669491 +vt 0.333003 0.669492 +vt 0.332529 0.668946 +vt 0.332300 0.669467 +vt 0.332547 0.669837 +vt 0.332547 0.669838 +vt 0.332147 0.669237 +vt 0.331850 0.669727 +vt 0.332048 0.670126 +vt 0.331284 0.669665 +vt 0.331727 0.669479 +vt 0.331374 0.669926 +vt 0.332047 0.670126 +vt 0.331519 0.670347 +vt 0.331520 0.670348 +vt 0.330837 0.669787 +vt 0.330892 0.670058 +vt 0.330979 0.670495 +vt 0.330979 0.670496 +vt 0.330403 0.669843 +vt 0.330418 0.670120 +vt 0.330443 0.670564 +vt 0.330443 0.670565 +vt 0.329953 0.670111 +vt 0.329927 0.670555 +vt 0.329927 0.670555 +vt 0.329970 0.669834 +vt 0.326626 0.669774 +vt 0.326566 0.670215 +vt 0.326566 0.670215 +vt 0.326216 0.669422 +vt 0.326664 0.669500 +vt 0.326152 0.669692 +vt 0.326048 0.670124 +vt 0.326048 0.670125 +vt 0.325661 0.669541 +vt 0.325507 0.669959 +vt 0.325507 0.669960 +vt 0.325756 0.669282 +vt 0.325156 0.669324 +vt 0.324959 0.669723 +vt 0.324959 0.669724 +vt 0.325278 0.669076 +vt 0.324657 0.669046 +vt 0.324421 0.669424 +vt 0.324421 0.669424 +vt 0.324802 0.668811 +vt 0.324180 0.668716 +vt 0.323909 0.669070 +vt 0.323932 0.668145 +vt 0.324348 0.668497 +vt 0.323743 0.668347 +vt 0.323909 0.669069 +vt 0.323439 0.668672 +vt 0.323439 0.668672 +vt 0.323571 0.667771 +vt 0.323362 0.667951 +vt 0.323025 0.668242 +vt 0.323024 0.668243 +vt 0.323277 0.667390 +vt 0.323048 0.667545 +vt 0.322679 0.667794 +vt 0.322679 0.667795 +vt 0.322803 0.667130 +vt 0.322412 0.667342 +vt 0.322412 0.667342 +vt 0.323046 0.666998 +vt 0.318113 0.657703 +vt 0.317711 0.657893 +vt 0.317711 0.657893 +vt 0.318163 0.657133 +vt 0.317906 0.657236 +vt 0.317493 0.657401 +vt 0.317493 0.657401 +vt 0.317715 0.656701 +vt 0.317292 0.656837 +vt 0.317291 0.656837 +vt 0.317978 0.656616 +vt 0.317544 0.656106 +vt 0.317113 0.656218 +vt 0.317113 0.656218 +vt 0.317811 0.656038 +vt 0.317400 0.655475 +vt 0.316963 0.655563 +vt 0.316963 0.655563 +vt 0.317560 0.654786 +vt 0.317670 0.655421 +vt 0.316846 0.654891 +vt 0.316846 0.654891 +vt 0.317484 0.654158 +vt 0.317287 0.654827 +vt 0.317209 0.654183 +vt 0.316766 0.654224 +vt 0.316766 0.654224 +vt 0.317445 0.653557 +vt 0.317169 0.653567 +vt 0.316724 0.653582 +vt 0.316724 0.653582 +vt 0.317444 0.653008 +vt 0.317168 0.652998 +vt 0.316723 0.652983 +vt 0.316723 0.652983 +vt 0.317205 0.652488 +vt 0.316761 0.652446 +vt 0.316761 0.652446 +vt 0.317479 0.652515 +vt 0.318703 0.639701 +vt 0.318251 0.639727 +vt 0.318253 0.639727 +vt 0.315937 0.626707 +vt 0.318982 0.639685 +vt 0.315667 0.626763 +vt 0.315230 0.626852 +vt 0.315230 0.626853 +vt 0.315854 0.626238 +vt 0.315581 0.626272 +vt 0.315139 0.626327 +vt 0.315138 0.626327 +vt 0.315539 0.625728 +vt 0.315094 0.625743 +vt 0.315094 0.625743 +vt 0.315815 0.625719 +vt 0.315544 0.625137 +vt 0.315099 0.625117 +vt 0.315099 0.625117 +vt 0.315820 0.625149 +vt 0.315595 0.624521 +vt 0.315153 0.624468 +vt 0.315152 0.624468 +vt 0.315962 0.623952 +vt 0.315869 0.624553 +vt 0.315691 0.623900 +vt 0.315253 0.623817 +vt 0.316095 0.623370 +vt 0.315828 0.623298 +vt 0.315253 0.623817 +vt 0.315399 0.623183 +vt 0.315398 0.623182 +vt 0.316263 0.622826 +vt 0.316003 0.622733 +vt 0.315583 0.622584 +vt 0.315583 0.622584 +vt 0.316458 0.622343 +vt 0.316207 0.622227 +vt 0.315803 0.622041 +vt 0.315802 0.622041 +vt 0.316437 0.621785 +vt 0.316049 0.621568 +vt 0.316049 0.621568 +vt 0.318659 0.618599 +vt 0.316678 0.621920 +vt 0.318428 0.618447 +vt 0.318056 0.618203 +vt 0.318056 0.618203 +vt 0.318904 0.618257 +vt 0.318693 0.618077 +vt 0.318354 0.617789 +vt 0.318353 0.617789 +vt 0.319013 0.617758 +vt 0.318724 0.617420 +vt 0.318723 0.617419 +vt 0.319193 0.617968 +vt 0.319389 0.617484 +vt 0.319155 0.617105 +vt 0.319154 0.617105 +vt 0.319535 0.617719 +vt 0.319810 0.617266 +vt 0.319634 0.616856 +vt 0.319634 0.616856 +vt 0.320331 0.617378 +vt 0.319918 0.617520 +vt 0.320147 0.616680 +vt 0.320147 0.616679 +vt 0.320756 0.617299 +vt 0.320260 0.617110 +vt 0.320727 0.617024 +vt 0.320679 0.616582 +vt 0.320679 0.616581 +vt 0.321179 0.617286 +vt 0.321192 0.617010 +vt 0.321212 0.616565 +vt 0.321212 0.616564 +vt 0.321584 0.617336 +vt 0.321640 0.617066 +vt 0.321731 0.616629 +vt 0.321731 0.616629 +vt 0.322076 0.617193 +vt 0.322220 0.616773 +vt 0.322220 0.616772 +vt 0.321987 0.617456 +vt 0.325751 0.618624 +vt 0.325927 0.618216 +vt 0.325927 0.618216 +vt 0.326054 0.619073 +vt 0.325642 0.618878 +vt 0.326188 0.618831 +vt 0.326402 0.618441 +vt 0.326403 0.618440 +vt 0.326622 0.619107 +vt 0.326881 0.618744 +vt 0.326881 0.618744 +vt 0.326461 0.619331 +vt 0.327052 0.619451 +vt 0.327347 0.619118 +vt 0.327347 0.619117 +vt 0.326869 0.619658 +vt 0.327461 0.619852 +vt 0.327788 0.619550 +vt 0.327788 0.619550 +vt 0.327616 0.620464 +vt 0.327259 0.620040 +vt 0.328190 0.620027 +vt 0.328190 0.620027 +vt 0.327926 0.620915 +vt 0.327835 0.620297 +vt 0.328161 0.620769 +vt 0.328540 0.620535 +vt 0.328540 0.620535 +vt 0.328178 0.621372 +vt 0.328427 0.621252 +vt 0.328828 0.621059 +vt 0.328828 0.621059 +vt 0.328363 0.621817 +vt 0.328624 0.621727 +vt 0.329045 0.621582 +vt 0.329046 0.621582 +vt 0.328753 0.622193 +vt 0.329185 0.622089 +vt 0.329186 0.622089 +vt 0.328484 0.622257 +vt 0.329860 0.627677 +vt 0.330293 0.627570 +vt 0.330293 0.627570 +vt 0.329592 0.627743 +vt 0.330019 0.628217 +vt 0.330435 0.628054 +vt 0.330435 0.628055 +vt 0.330040 0.628884 +vt 0.329761 0.628317 +vt 0.330277 0.628741 +vt 0.330660 0.628512 +vt 0.330660 0.628512 +vt 0.330411 0.629399 +vt 0.330622 0.629218 +vt 0.330961 0.628927 +vt 0.330960 0.628928 +vt 0.330864 0.629845 +vt 0.331041 0.629632 +vt 0.331327 0.629289 +vt 0.331327 0.629289 +vt 0.331524 0.629972 +vt 0.331749 0.629586 +vt 0.331749 0.629586 +vt 0.331383 0.630210 +vt 0.332055 0.630227 +vt 0.332214 0.629809 +vt 0.332214 0.629809 +vt 0.331956 0.630485 +vt 0.332620 0.630389 +vt 0.332707 0.629951 +vt 0.332707 0.629951 +vt 0.332566 0.630661 +vt 0.333201 0.630455 +vt 0.333213 0.630008 +vt 0.333213 0.630008 +vt 0.333791 0.630697 +vt 0.333194 0.630732 +vt 0.333763 0.630421 +vt 0.333717 0.629978 +vt 0.333717 0.629978 +vt 0.378236 0.625725 +vt 0.378218 0.625449 +vt 0.378188 0.625005 +vt 0.378188 0.625005 +vt 0.378681 0.625712 +vt 0.378692 0.625435 +vt 0.378709 0.624990 +vt 0.378709 0.624990 +vt 0.379187 0.625488 +vt 0.379261 0.625049 +vt 0.379261 0.625049 +vt 0.379140 0.625761 +vt 0.379701 0.625609 +vt 0.379827 0.625182 +vt 0.379827 0.625181 +vt 0.379623 0.625874 +vt 0.380217 0.625793 +vt 0.380390 0.625383 +vt 0.380390 0.625383 +vt 0.380110 0.626048 +vt 0.380716 0.626036 +vt 0.380932 0.625647 +vt 0.380932 0.625646 +vt 0.381019 0.626553 +vt 0.380581 0.626277 +vt 0.381179 0.626328 +vt 0.381438 0.625966 +vt 0.381438 0.625965 +vt 0.381406 0.626864 +vt 0.381592 0.626659 +vt 0.381891 0.626330 +vt 0.381891 0.626329 +vt 0.381728 0.627194 +vt 0.381939 0.627015 +vt 0.382278 0.626727 +vt 0.382279 0.626727 +vt 0.382220 0.627397 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.394857 0.648067 +vt 0.381992 0.627552 +vt 0.395097 0.647931 +vt 0.395484 0.647711 +vt 0.395485 0.647711 +vt 0.395043 0.648430 +vt 0.395300 0.648326 +vt 0.395712 0.648159 +vt 0.395713 0.648158 +vt 0.395154 0.648790 +vt 0.395860 0.648639 +vt 0.395477 0.649154 +vt 0.395425 0.648732 +vt 0.395922 0.649138 +vt 0.395861 0.648639 +vt 0.395200 0.649164 +vt 0.395456 0.649578 +vt 0.395896 0.649640 +vt 0.395898 0.649640 +vt 0.395923 0.649138 +vt 0.395181 0.649540 +vt 0.395361 0.649993 +vt 0.395786 0.650130 +vt 0.395097 0.649907 +vt 0.395195 0.650384 +vt 0.395784 0.650129 +vt 0.395589 0.650592 +vt 0.394746 0.650570 +vt 0.394951 0.650254 +vt 0.394964 0.650741 +vt 0.395316 0.651014 +vt 0.395590 0.650592 +vt 0.394675 0.651052 +vt 0.394974 0.651382 +vt 0.395317 0.651015 +vt 0.394490 0.650846 +vt 0.394321 0.651320 +vt 0.394574 0.651686 +vt 0.394574 0.651686 +vt 0.394974 0.651383 +vt 0.394164 0.651092 +vn 0.0155 0.8728 0.4877 +vn -0.0022 0.8967 0.4426 +vn 0.0023 0.8967 0.4426 +vn 0.9897 0.0588 0.1308 +vn 0.9880 -0.0847 -0.1291 +vn 1.0000 0.0012 -0.0027 +vn 0.0279 -0.9991 -0.0324 +vn -0.0022 -1.0000 -0.0043 +vn 0.0023 -1.0000 -0.0043 +vn 0.0022 -0.9389 -0.3443 +vn -0.0026 -0.8660 -0.5000 +vn 0.0026 -0.8660 -0.5000 +vn -0.0024 -0.7661 -0.6428 +vn 0.0024 -0.7660 -0.6428 +vn -0.0023 -0.6428 -0.7660 +vn 0.0021 -0.6428 -0.7660 +vn -0.0021 -0.5000 -0.8660 +vn 0.0023 -0.5000 -0.8660 +vn -0.0023 -0.3420 -0.9397 +vn 0.0023 -0.3420 -0.9397 +vn -0.0026 -0.1736 -0.9848 +vn 0.0026 -0.1736 -0.9848 +vn 0.0035 -0.0013 -1.0000 +vn -0.0025 -0.1360 -0.9907 +vn 0.0025 -0.1360 -0.9907 +vn 0.0278 0.0326 -0.9991 +vn -0.0660 -0.1305 -0.9893 +vn 0.0026 -0.9844 -0.1760 +vn -0.0983 -0.9635 -0.2489 +vn 0.0027 -0.7699 -0.6382 +vn -0.0027 -0.8496 -0.5274 +vn 0.0031 -0.8495 -0.5275 +vn 0.0024 -0.2488 -0.9685 +vn -0.0022 -0.3520 -0.9360 +vn 0.0023 -0.3527 -0.9357 +vn -0.0023 -0.4438 -0.8961 +vn 0.0023 -0.4440 -0.8960 +vn -0.0019 -0.5294 -0.8484 +vn 0.0019 -0.5292 -0.8485 +vn -0.0024 -0.6116 -0.7912 +vn 0.0024 -0.6109 -0.7917 +vn -0.0024 -0.6913 -0.7225 +vn 0.0024 -0.6913 -0.7225 +vn -0.0952 -0.8268 -0.5543 +vn 0.0038 -0.7631 -0.6462 +vn -0.0022 -0.8660 -0.5000 +vn 0.0022 -0.8654 -0.5010 +vn -0.0990 -0.3409 -0.9349 +vn 0.0567 -0.7529 -0.6557 +vn -0.0558 -0.8443 -0.5330 +vn -0.0982 -0.9921 -0.0782 +vn 0.0023 -0.6781 0.7349 +vn -0.0026 -0.5388 0.8424 +vn 0.0029 -0.5389 0.8424 +vn 0.0022 -0.9426 -0.3340 +vn -0.0022 -0.9894 -0.1450 +vn 0.0022 -0.9893 -0.1456 +vn -0.0026 -0.9986 0.0523 +vn 0.0026 -0.9986 0.0521 +vn -0.0022 -0.9684 0.2493 +vn 0.0022 -0.9684 0.2495 +vn -0.0022 -0.9005 0.4348 +vn 0.0022 -0.9002 0.4354 +vn -0.0021 -0.8005 0.5993 +vn 0.0021 -0.8000 0.6000 +vn -0.0987 -0.5986 0.7950 +vn 0.0026 -0.5352 0.8447 +vn -0.0025 -0.4554 0.8903 +vn 0.0025 -0.4554 0.8903 +vn -0.0758 -0.4284 0.9004 +vn -0.0967 -0.9666 -0.2374 +vn 0.0026 -0.0205 0.9998 +vn -0.0026 0.0677 0.9977 +vn 0.0027 0.0677 0.9977 +vn 0.0024 -0.3918 0.9200 +vn -0.0023 -0.3281 0.9446 +vn 0.0023 -0.3275 0.9448 +vn -0.0020 -0.2710 0.9626 +vn 0.0020 -0.2708 0.9626 +vn -0.0023 -0.2145 0.9767 +vn 0.0023 -0.2147 0.9767 +vn -0.0023 -0.1557 0.9878 +vn 0.0023 -0.1563 0.9877 +vn -0.0023 -0.0910 0.9958 +vn 0.0023 -0.0922 0.9957 +vn -0.0954 0.0803 0.9922 +vn 0.0016 0.0625 0.9980 +vn -0.0025 -0.0664 0.9978 +vn 0.0025 -0.0663 0.9978 +vn -0.1252 0.1325 0.9833 +vn -0.0988 -0.2968 0.9498 +vn 0.0025 -0.7480 0.6637 +vn -0.0024 -0.8212 0.5706 +vn 0.0024 -0.8212 0.5706 +vn 0.0024 -0.1903 0.9817 +vn -0.0023 -0.2940 0.9558 +vn 0.0023 -0.2948 0.9556 +vn -0.0024 -0.3923 0.9198 +vn 0.0023 -0.3925 0.9197 +vn -0.0023 -0.4844 0.8748 +vn 0.0024 -0.4842 0.8750 +vn -0.0023 -0.5732 0.8194 +vn 0.0024 -0.5725 0.8199 +vn -0.0023 -0.6595 0.7517 +vn 0.0023 -0.6595 0.7517 +vn -0.1002 -0.6773 0.7289 +vn 0.0018 -0.8448 0.5351 +vn -0.0025 -0.9086 0.4176 +vn 0.0026 -0.9086 0.4176 +vn -0.1171 -0.7942 0.5963 +vn -0.0965 -0.0906 0.9912 +vn 0.0026 -0.8745 -0.4850 +vn -0.0023 -0.7958 -0.6056 +vn 0.0023 -0.7958 -0.6056 +vn 0.0024 -0.9593 0.2823 +vn -0.0023 -0.9880 0.1543 +vn 0.0024 -0.9881 0.1536 +vn -0.0022 -0.9996 0.0267 +vn 0.0022 -0.9996 0.0264 +vn -0.0024 -0.9950 -0.0996 +vn 0.0023 -0.9951 -0.0993 +vn -0.0024 -0.9741 -0.2260 +vn 0.0023 -0.9743 -0.2253 +vn -0.0023 -0.9352 -0.3541 +vn 0.0023 -0.9356 -0.3530 +vn -0.0999 -0.9126 -0.3964 +vn 0.0019 -0.7819 -0.6233 +vn -0.0024 -0.6992 -0.7149 +vn 0.0024 -0.6992 -0.7149 +vn -0.1235 -0.8189 -0.5605 +vn -0.0968 -0.9224 0.3738 +vn 0.0024 -0.0345 -0.9994 +vn -0.0023 0.0951 -0.9955 +vn 0.0023 0.0952 -0.9955 +vn 0.0024 -0.6088 -0.7933 +vn -0.0023 -0.5254 -0.8508 +vn 0.0023 -0.5247 -0.8513 +vn -0.0023 -0.4387 -0.8986 +vn 0.0023 -0.4384 -0.8988 +vn -0.0023 -0.3496 -0.9369 +vn 0.0024 -0.3499 -0.9368 +vn -0.0024 -0.2552 -0.9669 +vn 0.0023 -0.2560 -0.9667 +vn -0.0023 -0.1533 -0.9882 +vn 0.0023 -0.1533 -0.9882 +vn -0.1002 -0.1297 -0.9865 +vn 0.0021 0.1030 -0.9947 +vn -0.0023 0.1812 -0.9834 +vn 0.0023 0.1812 -0.9834 +vn -0.1177 0.0245 -0.9927 +vn -0.0964 -0.6821 -0.7249 +vn 0.0023 0.5609 -0.8279 +vn -0.0023 0.6250 -0.7806 +vn 0.0023 0.6250 -0.7806 +vn 0.0024 0.2491 -0.9685 +vn -0.0023 0.3026 -0.9531 +vn 0.0024 0.3032 -0.9529 +vn -0.0024 0.3536 -0.9354 +vn 0.0024 0.3537 -0.9353 +vn -0.0024 0.4021 -0.9156 +vn 0.0024 0.4019 -0.9157 +vn -0.0024 0.4508 -0.8926 +vn 0.0023 0.4503 -0.8929 +vn -0.0023 0.5026 -0.8645 +vn 0.0023 0.5016 -0.8651 +vn -0.0998 0.4760 -0.8738 +vn 0.0016 0.3281 -0.9446 +vn -0.0024 0.4241 -0.9056 +vn 0.0024 0.4241 -0.9056 +vn -0.0966 0.1512 -0.9838 +vn 0.0189 0.5252 -0.8508 +vn -0.1239 0.2568 -0.9585 +vn -0.0772 -0.8596 -0.5052 +vn 0.0024 0.8372 -0.5468 +vn -0.0026 0.8871 -0.4616 +vn 0.0025 0.8871 -0.4616 +vn 0.0023 0.5047 -0.8633 +vn -0.0023 0.5689 -0.8224 +vn 0.0023 0.5695 -0.8220 +vn -0.0024 0.6274 -0.7787 +vn 0.0023 0.6276 -0.7786 +vn -0.0023 0.6812 -0.7321 +vn 0.0024 0.6810 -0.7323 +vn -0.0023 0.7328 -0.6805 +vn 0.0023 0.7323 -0.6810 +vn -0.0023 0.7833 -0.6216 +vn 0.0023 0.7834 -0.6216 +vn -0.1002 0.7768 -0.6217 +vn 0.0015 0.8957 -0.4447 +vn -0.0026 0.9534 -0.3018 +vn 0.0026 0.9537 -0.3008 +vn -0.1304 0.8570 -0.4986 +vn -0.0965 0.4149 -0.9048 +vn 0.0026 0.7196 0.6943 +vn -0.0023 0.6043 0.7968 +vn 0.0022 0.6043 0.7968 +vn 0.0024 0.9895 -0.1442 +vn -0.0023 1.0000 0.0058 +vn 0.0023 1.0000 0.0063 +vn -0.0023 0.9880 0.1546 +vn 0.0022 0.9880 0.1547 +vn -0.0022 0.9544 0.2987 +vn 0.0023 0.9544 0.2985 +vn -0.0023 0.8993 0.4373 +vn 0.0024 0.8995 0.4369 +vn -0.0023 0.8221 0.5694 +vn 0.0023 0.8225 0.5688 +vn -0.0993 0.7804 0.6173 +vn 0.0018 0.5881 0.8088 +vn -0.0025 0.4836 0.8753 +vn 0.0025 0.4836 0.8753 +vn -0.1245 0.6395 0.7586 +vn -0.0973 0.9659 -0.2398 +vn 0.0024 -0.2267 0.9740 +vn -0.0020 -0.3476 0.9376 +vn 0.0026 -0.3474 0.9377 +vn 0.0024 0.3764 0.9264 +vn -0.0023 0.2816 0.9595 +vn 0.0023 0.2808 0.9598 +vn -0.0023 0.1862 0.9825 +vn 0.0023 0.1860 0.9826 +vn -0.0023 0.0911 0.9958 +vn 0.0023 0.0914 0.9958 +vn -0.0024 -0.0069 1.0000 +vn 0.0023 -0.0061 1.0000 +vn -0.0023 -0.1100 0.9939 +vn 0.0023 -0.1100 0.9939 +vn -0.1003 -0.1315 0.9862 +vn 0.0032 -0.3488 0.9372 +vn -0.0026 -0.1874 0.9823 +vn 0.0026 -0.1870 0.9824 +vn -0.0618 -0.2202 0.9735 +vn -0.0964 0.4652 0.8799 +vn 0.0026 0.8314 0.5557 +vn -0.0026 0.9141 0.4054 +vn 0.0031 0.9141 0.4056 +vn 0.0023 -0.0212 0.9998 +vn -0.0023 0.1483 0.9889 +vn 0.0022 0.1485 0.9889 +vn -0.0023 0.3098 0.9508 +vn 0.0023 0.3098 0.9508 +vn -0.0016 0.4622 0.8868 +vn 0.0016 0.4622 0.8868 +vn -0.0023 0.6025 0.7981 +vn 0.0022 0.6024 0.7982 +vn -0.0022 0.7272 0.6865 +vn 0.0023 0.7270 0.6867 +vn -0.0973 0.8782 0.4683 +vn -0.0025 0.8247 0.5656 +vn 0.0025 0.8247 0.5656 +vn -0.0979 0.0781 0.9921 +vn -0.1012 0.3938 -0.9136 +vn -0.0021 0.9019 0.4320 +vn 0.0027 0.9019 0.4320 +vn 0.0025 0.1429 0.9897 +vn -0.0026 0.0016 1.0000 +vn 0.0026 0.0016 1.0000 +vn 0.0024 0.7434 0.6689 +vn -0.0023 0.6626 0.7490 +vn 0.0024 0.6620 0.7495 +vn -0.0024 0.5750 0.8182 +vn 0.0023 0.5748 0.8183 +vn -0.0023 0.4821 0.8761 +vn 0.0024 0.4823 0.8760 +vn -0.0024 0.3815 0.9244 +vn 0.0024 0.3822 0.9241 +vn -0.0023 0.2713 0.9625 +vn 0.0023 0.2712 0.9625 +vn -0.1001 0.2362 0.9665 +vn 0.0013 -0.0040 1.0000 +vn -0.0026 -0.1737 0.9848 +vn 0.0026 -0.1736 0.9848 +vn -0.1395 0.0522 0.9888 +vn -0.0965 0.8029 0.5883 +vn 0.0024 -0.9852 0.1713 +vn -0.0587 -0.9886 0.1387 +vn 0.0021 -0.3443 0.9389 +vn -0.0021 -0.5000 0.8660 +vn 0.0023 -0.5000 0.8660 +vn -0.0024 -0.6428 0.7660 +vn 0.0024 -0.6428 0.7660 +vn -0.0026 -0.7660 0.6428 +vn 0.0023 -0.7660 0.6428 +vn -0.0023 -0.8660 0.5000 +vn 0.0026 -0.8660 0.5000 +vn -0.0023 -0.9397 0.3420 +vn 0.0023 -0.9397 0.3420 +vn -0.0982 -0.9589 0.2661 +vn -0.9928 0.1048 -0.0574 +vn -1.0000 0.0009 -0.0025 +vn -0.9896 -0.1315 0.0589 +vn -0.0982 -0.2490 0.9635 +vn -0.0586 -0.1389 -0.9886 +vn 1.0000 0.0003 0.0017 +vn 0.9239 0.3421 0.1712 +vn 0.9808 0.1739 0.0883 +vn 0.9239 0.3451 0.1653 +vn 0.7071 0.6322 0.3166 +vn 0.7072 0.6377 0.3054 +vn 0.3827 0.8260 0.4139 +vn 0.3827 0.8332 0.3991 +vn 0.3807 -0.9107 -0.1603 +vn 0.3825 -0.9239 -0.0045 +vn 0.7039 -0.6996 -0.1228 +vn 0.7069 -0.7073 -0.0032 +vn 0.9210 -0.3839 -0.0670 +vn 0.9237 -0.3832 -0.0015 +vn 0.9788 -0.2041 -0.0178 +vn 0.9895 -0.1000 -0.1048 +vn 0.7030 -0.6683 -0.2432 +vn 0.9203 -0.3676 -0.1337 +vn 0.3806 -0.8009 -0.4624 +vn 0.3800 -0.8694 -0.3159 +vn 0.9205 -0.3384 -0.1954 +vn 0.9884 -0.0695 -0.1349 +vn 0.3806 -0.7082 -0.5947 +vn 0.7030 -0.6162 -0.3551 +vn 0.9205 -0.2993 -0.2511 +vn 0.9788 -0.1676 -0.1173 +vn 0.9885 -0.0452 -0.1443 +vn 0.7030 -0.4572 -0.5448 +vn 0.7029 -0.5448 -0.4572 +vn 0.9205 -0.2511 -0.2993 +vn 0.3805 -0.4624 -0.8009 +vn 0.3801 -0.5946 -0.7086 +vn 0.7032 -0.3553 -0.6159 +vn 0.9788 -0.1175 -0.1677 +vn 0.9885 0.0068 -0.1511 +vn 0.3805 -0.3163 -0.8690 +vn 0.7032 -0.2430 -0.6682 +vn 0.9205 -0.1950 -0.3385 +vn 0.9205 -0.1336 -0.3671 +vn 0.3810 -0.1603 -0.9106 +vn 0.7040 -0.1227 -0.6995 +vn 0.9207 -0.0665 -0.3845 +vn 0.9885 0.0584 -0.1398 +vn 0.3658 -0.0085 -0.9307 +vn 0.6964 -0.0058 -0.7176 +vn 0.9202 -0.0019 -0.3914 +vn 0.9884 0.0823 -0.1277 +vn 0.3820 -0.0041 -0.9241 +vn 0.7069 -0.0032 -0.7073 +vn 0.9239 -0.0017 -0.3827 +vn 0.9893 0.0968 -0.1088 +vn 0.3862 -0.1257 -0.9138 +vn 0.7111 -0.0963 -0.6965 +vn 0.9261 -0.0524 -0.3735 +vn 0.9909 0.0950 -0.0953 +vn 0.3851 -0.2321 -0.8932 +vn 0.7102 -0.1769 -0.6814 +vn 0.9258 -0.0950 -0.3659 +vn 0.9814 -0.0374 -0.1882 +vn 0.9913 0.0861 -0.0997 +vn 0.3848 -0.3255 -0.8637 +vn 0.7098 -0.2484 -0.6591 +vn 0.9256 -0.1335 -0.3542 +vn 0.9813 -0.0582 -0.1833 +vn 0.3848 -0.4098 -0.8271 +vn 0.7096 -0.3128 -0.6313 +vn 0.9255 -0.1682 -0.3394 +vn 0.9813 -0.0767 -0.1765 +vn 0.3846 -0.4885 -0.7832 +vn 0.7097 -0.3728 -0.5978 +vn 0.9255 -0.2009 -0.3210 +vn 0.3847 -0.5642 -0.7306 +vn 0.7098 -0.4308 -0.5573 +vn 0.9256 -0.2318 -0.2992 +vn 0.9911 0.0363 -0.1283 +vn 0.3846 -0.6385 -0.6666 +vn 0.7100 -0.4873 -0.5083 +vn 0.9258 -0.2619 -0.2725 +vn 0.9911 0.0235 -0.1310 +vn 0.3846 -0.7126 -0.5868 +vn 0.7101 -0.5438 -0.4473 +vn 0.9258 -0.2922 -0.2396 +vn 0.9912 0.0099 -0.1322 +vn 0.3828 -0.7847 -0.4876 +vn 0.7072 -0.6005 -0.3732 +vn 0.9239 -0.3249 -0.2019 +vn 0.9811 -0.1570 -0.1132 +vn 0.9912 -0.0045 -0.1321 +vn 0.3835 -0.7363 -0.5576 +vn 0.7079 -0.5630 -0.4264 +vn 0.9242 -0.3046 -0.2306 +vn 0.9794 -0.1720 -0.1063 +vn 0.3824 -0.7070 -0.5950 +vn 0.7070 -0.5411 -0.4553 +vn 0.9239 -0.2928 -0.2464 +vn 0.3872 -0.7984 -0.4611 +vn 0.7129 -0.6077 -0.3499 +vn 0.9273 -0.3249 -0.1857 +vn 0.9910 -0.0114 -0.1333 +vn 0.3878 -0.8694 -0.3062 +vn 0.7136 -0.6609 -0.2324 +vn 0.9277 -0.3523 -0.1231 +vn 0.9917 -0.0222 -0.1269 +vn 0.3879 -0.9119 -0.1340 +vn 0.7141 -0.6927 -0.1013 +vn 0.9279 -0.3689 -0.0532 +vn 0.9917 -0.0446 -0.1203 +vn 0.3884 -0.9203 0.0482 +vn 0.7143 -0.6989 0.0370 +vn 0.9281 -0.3719 0.0204 +vn 0.9918 -0.0663 -0.1093 +vn 0.3884 -0.8923 0.2299 +vn 0.9280 -0.3609 0.0930 +vn 0.9918 -0.0862 -0.0941 +vn 0.3882 -0.8297 0.4011 +vn 0.7139 -0.6304 0.3048 +vn 0.7148 -0.6775 0.1731 +vn 0.9279 -0.3357 0.1623 +vn 0.9821 -0.1771 0.0643 +vn 0.9919 -0.1031 -0.0747 +vn 0.3879 -0.7374 0.5530 +vn 0.7136 -0.5605 0.4202 +vn 0.9277 -0.2987 0.2239 +vn 0.9820 -0.1614 0.0977 +vn 0.3871 -0.6231 0.6796 +vn 0.7127 -0.4744 0.5167 +vn 0.9272 -0.2536 0.2758 +vn 0.9820 -0.1404 0.1267 +vn 0.3829 -0.4982 0.7779 +vn 0.7075 -0.3812 0.5951 +vn 0.9241 -0.2061 0.3218 +vn 0.9812 -0.1172 0.1532 +vn 0.3828 -0.4921 0.7818 +vn 0.7073 -0.3765 0.5983 +vn 0.9240 -0.2036 0.3236 +vn 0.9808 -0.1045 0.1649 +vn 0.3851 -0.4202 0.8217 +vn 0.7097 -0.3206 0.6274 +vn 0.9253 -0.1721 0.3378 +vn 0.3840 -0.3581 0.8511 +vn 0.7088 -0.2736 0.6502 +vn 0.9251 -0.1474 0.3501 +vn 0.9908 -0.1308 0.0349 +vn 0.3838 -0.3024 0.8725 +vn 0.7086 -0.2312 0.6666 +vn 0.9248 -0.1246 0.3594 +vn 0.3837 -0.2501 0.8890 +vn 0.7084 -0.1912 0.6794 +vn 0.9247 -0.1031 0.3664 +vn 0.9810 -0.0581 0.1851 +vn 0.7085 -0.1515 0.6892 +vn 0.9810 -0.0472 0.1881 +vn 0.3841 -0.1981 0.9018 +vn 0.3838 -0.1440 0.9121 +vn 0.7085 -0.1099 0.6971 +vn 0.9252 -0.0826 0.3703 +vn 0.9248 -0.0590 0.3758 +vn 0.3836 -0.0849 0.9196 +vn 0.7086 -0.0646 0.7027 +vn 0.9250 -0.0345 0.3784 +vn 0.9908 -0.1122 0.0760 +vn 0.3834 -0.0161 0.9234 +vn 0.7087 -0.0119 0.7054 +vn 0.9251 -0.0060 0.3797 +vn 0.9909 -0.1066 0.0826 +vn 0.3829 0.0623 0.9217 +vn 0.7073 0.0477 0.7053 +vn 0.9240 0.0257 0.3815 +vn 0.9809 0.0049 0.1947 +vn 0.9909 -0.1003 0.0894 +vn 0.3825 0.0598 0.9220 +vn 0.7068 0.0460 0.7059 +vn 0.9237 0.0250 0.3824 +vn 0.9799 0.0147 0.1989 +vn 0.3813 -0.0613 0.9224 +vn 0.7048 -0.0469 0.7078 +vn 0.9219 -0.0256 0.3865 +vn 0.9792 0.0003 0.2027 +vn 0.3806 -0.1735 0.9083 +vn 0.7043 -0.1334 0.6973 +vn 0.9217 -0.0732 0.3809 +vn 0.3810 -0.2728 0.8834 +vn 0.7048 -0.2097 0.6778 +vn 0.9220 -0.1146 0.3698 +vn 0.9891 -0.1193 0.0860 +vn 0.3814 -0.3632 0.8501 +vn 0.7049 -0.2788 0.6522 +vn 0.9221 -0.1523 0.3557 +vn 0.9892 -0.1277 0.0716 +vn 0.3813 -0.4477 0.8088 +vn 0.7049 -0.3435 0.6206 +vn 0.9796 -0.0882 0.1804 +vn 0.9893 -0.1340 0.0577 +vn 0.3813 -0.5294 0.7579 +vn 0.7049 -0.4061 0.5815 +vn 0.9221 -0.2216 0.3173 +vn 0.9217 -0.1868 0.3399 +vn 0.9796 -0.1062 0.1706 +vn 0.3811 -0.6097 0.6950 +vn 0.7048 -0.4678 0.5334 +vn 0.9219 -0.2553 0.2913 +vn 0.9795 -0.1241 0.1586 +vn 0.3813 -0.6899 0.6154 +vn 0.7049 -0.5294 0.4721 +vn 0.9220 -0.2891 0.2577 +vn 0.9792 -0.1424 0.1442 +vn 0.3748 -0.7605 0.5302 +vn 0.7015 -0.5849 0.4073 +vn 0.9216 -0.3189 0.2213 +vn 0.3819 -0.7795 0.4965 +vn 0.7060 -0.5972 0.3807 +vn 0.9230 -0.3244 0.2070 +vn 0.9799 -0.1659 0.1106 +vn 0.9896 -0.1422 -0.0207 +vn 0.3812 -0.8400 0.3862 +vn 0.7044 -0.6447 0.2968 +vn 0.9216 -0.3526 0.1624 +vn 0.9791 -0.1779 0.0990 +vn 0.3804 -0.8869 0.2621 +vn 0.7039 -0.6813 0.2011 +vn 0.9212 -0.3731 0.1101 +vn 0.3807 -0.9137 0.1420 +vn 0.7041 -0.7017 0.1088 +vn 0.9215 -0.3838 0.0592 +vn 0.9889 -0.1330 -0.0666 +vn 0.3810 -0.9243 0.0242 +vn 0.7045 -0.7095 0.0182 +vn 0.9216 -0.3880 0.0098 +vn 0.9890 -0.1223 -0.0838 +vn 0.3811 -0.9200 -0.0918 +vn 0.9217 -0.3859 -0.0385 +vn 0.9890 -0.1102 -0.0987 +vn 0.3811 -0.9008 -0.2083 +vn 0.7045 -0.6915 -0.1598 +vn 0.7037 -0.7070 -0.0698 +vn 0.9216 -0.3782 -0.0875 +vn 0.9793 -0.1995 -0.0328 +vn 0.9890 -0.0969 -0.1116 +vn 0.3810 -0.8651 -0.3262 +vn 0.7042 -0.6643 -0.2506 +vn 0.9214 -0.3637 -0.1372 +vn 0.9793 -0.1939 -0.0585 +vn 0.3812 -0.8095 -0.4465 +vn 0.7046 -0.6213 -0.3428 +vn 0.9216 -0.3398 -0.1876 +vn 0.9791 -0.1850 -0.0850 +vn 0.3699 -0.7412 -0.5602 +vn 0.6988 -0.5703 -0.4318 +vn 0.9209 -0.3102 -0.2361 +vn 0.3841 -0.7233 -0.5739 +vn 0.7077 -0.5535 -0.4392 +vn 0.9238 -0.2999 -0.2380 +vn 0.9895 -0.0261 -0.1422 +vn 0.3814 -0.6464 -0.6609 +vn 0.7049 -0.4960 -0.5070 +vn 0.9220 -0.2707 -0.2767 +vn 0.9793 -0.1506 -0.1352 +vn 0.9896 -0.0148 -0.1432 +vn 0.3807 -0.5649 -0.7321 +vn 0.7044 -0.4334 -0.5621 +vn 0.9218 -0.2366 -0.3070 +vn 0.3810 -0.4851 -0.7871 +vn 0.7049 -0.3718 -0.6040 +vn 0.9221 -0.2026 -0.3296 +vn 0.9892 0.0148 -0.1459 +vn 0.3813 -0.4051 -0.8309 +vn 0.7052 -0.3104 -0.6374 +vn 0.9223 -0.1689 -0.3476 +vn 0.9893 0.0303 -0.1428 +vn 0.3816 -0.3234 -0.8659 +vn 0.7051 -0.2481 -0.6643 +vn 0.9224 -0.1352 -0.3618 +vn 0.9893 0.0443 -0.1387 +vn 0.3813 -0.2366 -0.8937 +vn 0.7050 -0.1816 -0.6855 +vn 0.9223 -0.0990 -0.3737 +vn 0.9797 -0.0610 -0.1912 +vn 0.9893 0.0574 -0.1338 +vn 0.3812 -0.1417 -0.9136 +vn 0.7048 -0.1088 -0.7010 +vn 0.9220 -0.0595 -0.3825 +vn 0.9796 -0.0414 -0.1968 +vn 0.3814 -0.0342 -0.9238 +vn 0.7050 -0.0262 -0.7088 +vn 0.9221 -0.0142 -0.3868 +vn 0.9793 -0.0197 -0.2014 +vn 0.3695 0.0851 -0.9253 +vn 0.6988 0.0660 -0.7122 +vn 0.9211 0.0368 -0.3875 +vn 0.3830 0.0929 -0.9191 +vn 0.7072 0.0712 -0.7034 +vn 0.9238 0.0385 -0.3808 +vn 0.9896 0.1068 -0.0966 +vn 0.3818 0.1675 -0.9090 +vn 0.7058 0.1284 -0.6967 +vn 0.9228 0.0698 -0.3788 +vn 0.9797 0.0285 -0.1983 +vn 0.3814 0.2285 -0.8957 +vn 0.7055 0.1753 -0.6867 +vn 0.9228 0.0956 -0.3733 +vn 0.3817 0.2804 -0.8807 +vn 0.7058 0.2149 -0.6750 +vn 0.9231 0.1171 -0.3664 +vn 0.9896 0.1229 -0.0745 +vn 0.3821 0.3271 -0.8643 +vn 0.7060 0.2508 -0.6624 +vn 0.9231 0.1364 -0.3597 +vn 0.9897 0.1267 -0.0667 +vn 0.7062 0.2845 -0.6483 +vn 0.9800 0.0752 -0.1842 +vn 0.9897 0.1305 -0.0594 +vn 0.3820 0.4161 -0.8252 +vn 0.3815 0.3714 -0.8465 +vn 0.7059 0.3191 -0.6324 +vn 0.9230 0.1732 -0.3435 +vn 0.9228 0.1543 -0.3532 +vn 0.9800 0.0848 -0.1803 +vn 0.3818 0.4636 -0.7996 +vn 0.7058 0.3553 -0.6129 +vn 0.9229 0.1930 -0.3331 +vn 0.9799 0.0949 -0.1756 +vn 0.3819 0.5164 -0.7665 +vn 0.7057 0.3961 -0.5875 +vn 0.9227 0.2155 -0.3196 +vn 0.9797 0.1060 -0.1700 +vn 0.3746 0.5779 -0.7250 +vn 0.7022 0.4441 -0.5565 +vn 0.9224 0.2416 -0.3015 +vn 0.3881 0.4421 -0.8086 +vn 0.7130 0.3362 -0.6154 +vn 0.9262 0.1805 -0.3310 +vn 0.9899 0.1407 -0.0195 +vn 0.3827 0.3011 -0.8734 +vn 0.7072 0.2304 -0.6684 +vn 0.9239 0.1247 -0.3617 +vn 0.9800 0.0644 -0.1881 +vn 0.9929 0.1180 -0.0135 +vn 0.3816 0.3919 -0.8372 +vn 0.7054 0.3006 -0.6419 +vn 0.9225 0.1637 -0.3496 +vn 0.9796 0.0758 -0.1861 +vn 0.3810 0.4654 -0.7989 +vn 0.7050 0.3572 -0.6127 +vn 0.9224 0.1948 -0.3335 +vn 0.3814 0.5264 -0.7599 +vn 0.7054 0.4039 -0.5825 +vn 0.9226 0.2200 -0.3168 +vn 0.9895 0.1390 -0.0397 +vn 0.3815 0.5801 -0.7196 +vn 0.7056 0.4449 -0.5515 +vn 0.9228 0.2422 -0.2996 +vn 0.9895 0.1417 -0.0278 +vn 0.3819 0.6295 -0.6766 +vn 0.9229 0.2623 -0.2820 +vn 0.9798 0.1309 -0.1512 +vn 0.9895 0.1434 -0.0170 +vn 0.3818 0.6768 -0.6295 +vn 0.7056 0.5189 -0.4826 +vn 0.7050 0.4825 -0.5198 +vn 0.9227 0.2822 -0.2625 +vn 0.9798 0.1412 -0.1414 +vn 0.3816 0.7240 -0.5746 +vn 0.7054 0.5552 -0.4406 +vn 0.9225 0.3023 -0.2399 +vn 0.9799 0.1513 -0.1303 +vn 0.3816 0.7725 -0.5075 +vn 0.7054 0.5925 -0.3891 +vn 0.9224 0.3229 -0.2119 +vn 0.9796 0.1626 -0.1181 +vn 0.3736 0.8219 -0.4299 +vn 0.7013 0.6319 -0.3300 +vn 0.9219 0.3438 -0.1789 +vn 0.3824 0.8267 -0.4128 +vn 0.7066 0.6330 -0.3163 +vn 0.9235 0.3431 -0.1717 +vn 0.9799 0.1777 -0.0908 +vn 0.9898 0.1375 0.0385 +vn 0.3812 0.8817 -0.2782 +vn 0.7042 0.6770 -0.2140 +vn 0.9213 0.3708 -0.1174 +vn 0.9789 0.1890 -0.0773 +vn 0.3803 0.9150 -0.1346 +vn 0.7035 0.7031 -0.1034 +vn 0.9208 0.3858 -0.0567 +vn 0.3806 0.9247 0.0063 +vn 0.7037 0.7105 0.0048 +vn 0.9210 0.3896 0.0026 +vn 0.9887 0.1237 0.0850 +vn 0.3808 0.9135 0.1434 +vn 0.7038 0.7018 0.1102 +vn 0.9210 0.3850 0.0602 +vn 0.9887 0.1089 0.1028 +vn 0.3809 0.8825 0.2761 +vn 0.7039 0.6778 0.2124 +vn 0.9791 0.1979 0.0462 +vn 0.9888 0.0922 0.1176 +vn 0.3808 0.8318 0.4040 +vn 0.7039 0.6389 0.3103 +vn 0.9211 0.3502 0.1700 +vn 0.9210 0.3720 0.1160 +vn 0.9791 0.1889 0.0749 +vn 0.3806 0.7605 0.5260 +vn 0.7037 0.5844 0.4040 +vn 0.9209 0.3206 0.2215 +vn 0.9791 0.1757 0.1025 +vn 0.3810 0.6674 0.6398 +vn 0.7043 0.5123 0.4914 +vn 0.9213 0.2805 0.2694 +vn 0.9789 0.1584 0.1290 +vn 0.3684 0.5646 0.7386 +vn 0.6978 0.4345 0.5694 +vn 0.9206 0.2360 0.3111 +vn 0.3840 0.5448 0.7455 +vn 0.7076 0.4169 0.5705 +vn 0.9238 0.2259 0.3092 +vn 0.9895 -0.0123 0.1442 +vn 0.3814 0.4471 0.8091 +vn 0.7049 0.3430 0.6208 +vn 0.9221 0.1872 0.3388 +vn 0.9793 0.1091 0.1704 +vn 0.9897 -0.0236 0.1415 +vn 0.3806 0.3503 0.8558 +vn 0.7044 0.2687 0.6569 +vn 0.9219 0.1464 0.3587 +vn 0.3811 0.2594 0.8874 +vn 0.7049 0.1988 0.6809 +vn 0.9222 0.1081 0.3714 +vn 0.9892 -0.0530 0.1366 +vn 0.3815 0.1716 0.9083 +vn 0.7051 0.1314 0.6968 +vn 0.9223 0.0713 0.3799 +vn 0.9893 -0.0670 0.1296 +vn 0.3809 0.0843 0.9208 +vn 0.7051 0.0648 0.7062 +vn 0.9797 0.0278 0.1984 +vn 0.9894 -0.0792 0.1220 +vn 0.3814 -0.0056 0.9244 +vn 0.7051 -0.0043 0.7091 +vn 0.9223 -0.0023 0.3865 +vn 0.9218 0.0366 0.3858 +vn 0.9797 0.0087 0.2004 +vn 0.3813 -0.1017 0.9188 +vn 0.7049 -0.0779 0.7050 +vn 0.9221 -0.0424 0.3847 +vn 0.9796 -0.0115 0.2006 +vn 0.3814 -0.2073 0.9009 +vn 0.7050 -0.1591 0.6911 +vn 0.9221 -0.0868 0.3771 +vn 0.9793 -0.0335 0.1995 +vn 0.3706 -0.3201 0.8719 +vn 0.6996 -0.2469 0.6706 +vn 0.9213 -0.1352 0.3645 +vn 0.3816 -0.3195 0.8674 +vn 0.7067 -0.2443 0.6640 +vn 0.9239 -0.1319 0.3592 +vn 0.9895 -0.1290 0.0653 +vn 0.3870 -0.1718 0.9059 +vn 0.7126 -0.1299 0.6894 +vn 0.9271 -0.0685 0.3685 +vn 0.9910 -0.1219 0.0553 +vn 0.3869 -0.0170 0.9220 +vn 0.7126 -0.0129 0.7014 +vn 0.9271 -0.0069 0.3747 +vn 0.9819 -0.0200 0.1885 +vn 0.9916 -0.1127 0.0636 +vn 0.3870 0.1369 0.9119 +vn 0.7125 0.1042 0.6939 +vn 0.9271 0.0557 0.3708 +vn 0.9819 0.0119 0.1893 +vn 0.3869 0.2857 0.8768 +vn 0.7124 0.2174 0.6672 +vn 0.9271 0.1162 0.3564 +vn 0.9818 0.0432 0.1849 +vn 0.3866 0.4262 0.8178 +vn 0.7124 0.3244 0.6223 +vn 0.9271 0.1740 0.3319 +vn 0.3868 0.5558 0.7359 +vn 0.7125 0.4232 0.5597 +vn 0.9272 0.2264 0.2985 +vn 0.9916 -0.0486 0.1201 +vn 0.3869 0.6706 0.6330 +vn 0.7127 0.5104 0.4812 +vn 0.9272 0.2730 0.2566 +vn 0.9916 -0.0282 0.1265 +vn 0.3866 0.7679 0.5107 +vn 0.7121 0.5848 0.3885 +vn 0.9269 0.3130 0.2071 +vn 0.9916 -0.0069 0.1294 +vn 0.3828 0.8443 0.3750 +vn 0.7073 0.6460 0.2870 +vn 0.9240 0.3494 0.1553 +vn 0.9813 0.1688 0.0927 +vn 0.9916 0.0147 0.1287 +vn 0.3826 0.8283 0.4092 +vn 0.7070 0.6341 0.3131 +vn 0.9238 0.3434 0.1696 +vn 0.9799 0.1791 0.0877 +vn 0.3813 0.7624 0.5228 +vn 0.7048 0.5852 0.4011 +vn 0.9218 0.3198 0.2191 +vn 0.9792 0.1750 0.1027 +vn 0.3805 0.6891 0.6167 +vn 0.7042 0.5289 0.4737 +vn 0.9216 0.2889 0.2592 +vn 0.3809 0.6117 0.6933 +vn 0.7046 0.4694 0.5322 +vn 0.9218 0.2562 0.2908 +vn 0.9891 0.0126 0.1470 +vn 0.3811 0.5313 0.7566 +vn 0.7048 0.4073 0.5808 +vn 0.9221 0.2219 0.3171 +vn 0.9891 -0.0052 0.1468 +vn 0.3815 0.4459 0.8097 +vn 0.7050 0.3416 0.6215 +vn 0.9220 0.1862 0.3393 +vn 0.9892 -0.0217 0.1451 +vn 0.3813 0.3533 0.8543 +vn 0.7048 0.2712 0.6555 +vn 0.9220 0.1480 0.3577 +vn 0.9795 0.0873 0.1815 +vn 0.9892 -0.0372 0.1417 +vn 0.3811 0.2508 0.8899 +vn 0.7046 0.1927 0.6829 +vn 0.9218 0.1053 0.3732 +vn 0.9794 0.0662 0.1905 +vn 0.3813 0.1344 0.9146 +vn 0.7048 0.1030 0.7018 +vn 0.9218 0.0562 0.3835 +vn 0.9792 0.0428 0.1984 +vn 0.3677 0.0052 0.9299 +vn 0.6977 0.0035 0.7163 +vn 0.9208 0.0009 0.3900 +vn 0.3826 -0.0018 0.9239 +vn 0.7070 -0.0014 0.7072 +vn 0.9238 -0.0007 0.3829 +vn 0.9797 -0.0000 0.2006 +vn 0.9895 -0.0967 0.1073 +vn 0.3809 -0.1603 0.9106 +vn 0.7039 -0.1228 0.6996 +vn 0.9210 -0.0670 0.3838 +vn 0.9788 -0.0178 0.2039 +vn 0.3804 -0.3165 0.8690 +vn 0.9205 -0.1336 0.3671 +vn 0.9788 -0.0530 0.1979 +vn 0.3805 -0.4624 0.8009 +vn 0.7033 -0.3554 0.6156 +vn 0.7029 -0.2428 0.6685 +vn 0.9204 -0.1953 0.3387 +vn 0.3800 -0.5946 0.7086 +vn 0.7030 -0.4572 0.5448 +vn 0.9205 -0.2511 0.2993 +vn 0.9885 -0.1445 0.0452 +vn 0.3804 -0.7085 0.5945 +vn 0.9203 -0.2996 0.2514 +vn 0.9884 -0.1506 0.0191 +vn 0.3805 -0.8009 0.4624 +vn 0.7030 -0.6159 0.3556 +vn 0.7029 -0.5448 0.4572 +vn 0.9205 -0.3384 0.1954 +vn 0.9885 -0.1512 -0.0070 +vn 0.7032 -0.6681 0.2432 +vn 0.9205 -0.3671 0.1336 +vn 0.9788 -0.1854 0.0865 +vn 0.9885 -0.1478 -0.0332 +vn 0.3800 -0.8690 0.3168 +vn 0.7040 -0.6995 0.1227 +vn 0.9207 -0.3845 0.0666 +vn 0.3803 -0.9107 0.1616 +vn 0.3655 -0.9308 0.0082 +vn 0.6963 -0.7177 0.0059 +vn 0.9202 -0.3915 0.0022 +vn 0.9884 -0.1276 -0.0823 +vn 0.9894 -0.1088 -0.0961 +vn -0.1916 0.8788 0.4370 +vn -0.3828 0.8332 0.3991 +vn -0.3827 0.8260 0.4138 +vn -0.7072 0.6377 0.3054 +vn -0.7071 0.6322 0.3166 +vn -0.9239 0.3451 0.1653 +vn -0.9240 0.3421 0.1712 +vn -0.9803 0.1760 0.0892 +vn -0.9905 0.1303 -0.0450 +vn -0.9982 -0.0262 0.0539 +vn -0.9237 -0.3832 -0.0015 +vn -0.9799 -0.1989 -0.0174 +vn -0.9207 -0.3845 -0.0668 +vn -0.7069 -0.7073 -0.0033 +vn -0.7036 -0.7000 -0.1222 +vn -0.3825 -0.9239 -0.0043 +vn -0.3807 -0.9108 -0.1599 +vn -0.9205 -0.3671 -0.1336 +vn -0.7030 -0.6683 -0.2432 +vn -0.9797 -0.1989 -0.0258 +vn -0.9205 -0.3383 -0.1953 +vn -0.3804 -0.8009 -0.4624 +vn -0.3800 -0.8690 -0.3169 +vn -0.9981 -0.0521 0.0337 +vn -0.9790 -0.1672 -0.1170 +vn -0.9204 -0.2994 -0.2514 +vn -0.7030 -0.6159 -0.3556 +vn -0.3800 -0.7086 -0.5946 +vn -0.9205 -0.2511 -0.2993 +vn -0.7030 -0.5448 -0.4572 +vn -0.7030 -0.4571 -0.5448 +vn -0.9981 -0.0604 0.0133 +vn -0.9789 -0.1171 -0.1673 +vn -0.9205 -0.1953 -0.3383 +vn -0.3801 -0.4625 -0.8010 +vn -0.3801 -0.5942 -0.7088 +vn -0.9981 -0.0620 0.0034 +vn -0.7030 -0.2432 -0.6683 +vn -0.7030 -0.3556 -0.6159 +vn -0.3805 -0.3163 -0.8690 +vn -0.9210 -0.0670 -0.3839 +vn -0.9205 -0.1336 -0.3671 +vn -0.7040 -0.1227 -0.6995 +vn -0.3807 -0.1607 -0.9106 +vn -0.9796 -0.0752 -0.1864 +vn -0.9237 -0.0016 -0.3830 +vn -0.7070 -0.0032 -0.7072 +vn -0.3826 -0.0043 -0.9239 +vn -0.9797 -0.0031 -0.2007 +vn -0.9240 -0.0016 -0.3824 +vn -0.7073 -0.0031 -0.7069 +vn -0.3828 -0.0040 -0.9238 +vn -0.9824 -0.0554 -0.1784 +vn -0.9259 -0.0515 -0.3742 +vn -0.7104 -0.0958 -0.6972 +vn -0.3852 -0.1256 -0.9143 +vn -0.9992 -0.0396 0.0060 +vn -0.9815 -0.0378 -0.1877 +vn -0.9259 -0.0942 -0.3659 +vn -0.7100 -0.1764 -0.6817 +vn -0.3846 -0.2318 -0.8935 +vn -0.9992 -0.0376 0.0101 +vn -0.9256 -0.1327 -0.3545 +vn -0.7098 -0.2479 -0.6593 +vn -0.3846 -0.3252 -0.8639 +vn -0.9993 -0.0356 0.0134 +vn -0.9255 -0.1675 -0.3397 +vn -0.7096 -0.3123 -0.6316 +vn -0.3846 -0.4096 -0.8272 +vn -0.9255 -0.2005 -0.3214 +vn -0.7097 -0.3728 -0.5978 +vn -0.3847 -0.4882 -0.7833 +vn -0.9824 -0.1355 -0.1290 +vn -0.9256 -0.2313 -0.2997 +vn -0.7099 -0.4304 -0.5575 +vn -0.3849 -0.5639 -0.7307 +vn -0.9824 -0.1481 -0.1135 +vn -0.9258 -0.2614 -0.2729 +vn -0.7102 -0.4868 -0.5086 +vn -0.3850 -0.6381 -0.6668 +vn -0.9826 -0.1598 -0.0948 +vn -0.9259 -0.2914 -0.2404 +vn -0.7104 -0.5429 -0.4478 +vn -0.3852 -0.7120 -0.5871 +vn -0.9991 -0.0295 0.0321 +vn -0.9814 -0.1561 -0.1120 +vn -0.9220 -0.3272 -0.2071 +vn -0.7000 -0.6043 -0.3805 +vn -0.3701 -0.7868 -0.4940 +vn -1.0000 -0.0019 0.0010 +vn -0.9242 -0.3046 -0.2304 +vn -0.7081 -0.5630 -0.4261 +vn -0.3838 -0.7362 -0.5574 +vn -0.9239 -0.2927 -0.2463 +vn -0.7073 -0.5409 -0.4552 +vn -0.3828 -0.7068 -0.5949 +vn -0.9826 -0.1727 -0.0689 +vn -0.9272 -0.3245 -0.1871 +vn -0.7127 -0.6075 -0.3508 +vn -0.3870 -0.7982 -0.4616 +vn -0.9834 -0.1777 -0.0360 +vn -0.9277 -0.3521 -0.1241 +vn -0.7137 -0.6606 -0.2329 +vn -0.3878 -0.8692 -0.3067 +vn -0.9835 -0.1806 -0.0015 +vn -0.9279 -0.3690 -0.0542 +vn -0.7140 -0.6927 -0.1019 +vn -0.3881 -0.9118 -0.1343 +vn -0.9837 -0.1767 0.0339 +vn -0.9280 -0.3722 0.0194 +vn -0.7142 -0.6990 0.0365 +vn -0.3883 -0.9203 0.0479 +vn -0.9837 -0.1663 0.0683 +vn -0.9280 -0.3609 0.0930 +vn -0.3883 -0.8924 0.2300 +vn -0.9991 0.0162 0.0394 +vn -0.9821 -0.1764 0.0655 +vn -0.9279 -0.3361 0.1612 +vn -0.7151 -0.6767 0.1753 +vn -0.7140 -0.6306 0.3042 +vn -0.3878 -0.8299 0.4011 +vn -0.9991 0.0233 0.0355 +vn -0.9277 -0.2993 0.2229 +vn -0.7135 -0.5610 0.4197 +vn -0.3876 -0.7377 0.5527 +vn -0.9991 0.0292 0.0305 +vn -0.9273 -0.2543 0.2746 +vn -0.7129 -0.4750 0.5159 +vn -0.3869 -0.6236 0.6793 +vn -0.9990 0.0321 0.0303 +vn -0.9218 -0.2124 0.3244 +vn -0.6987 -0.3902 0.5996 +vn -0.3672 -0.5063 0.7803 +vn -1.0000 0.0042 -0.0012 +vn -0.9241 -0.2035 0.3234 +vn -0.7076 -0.3763 0.5980 +vn -0.3833 -0.4920 0.7816 +vn -0.9251 -0.1729 0.3380 +vn -0.7091 -0.3211 0.6278 +vn -0.3842 -0.4204 0.8220 +vn -0.9808 -0.0817 0.1768 +vn -0.9250 -0.1479 0.3499 +vn -0.7086 -0.2741 0.6502 +vn -0.3835 -0.3584 0.8511 +vn -0.9248 -0.1251 0.3592 +vn -0.7086 -0.2315 0.6666 +vn -0.3836 -0.3027 0.8725 +vn -0.9993 0.0341 0.0141 +vn -0.9248 -0.1035 0.3662 +vn -0.7084 -0.1916 0.6793 +vn -0.3841 -0.2502 0.8887 +vn -0.9993 0.0345 0.0120 +vn -0.7084 -0.1515 0.6894 +vn -0.9249 -0.0595 0.3756 +vn -0.9252 -0.0802 0.3709 +vn -0.7086 -0.1102 0.6969 +vn -0.3836 -0.1445 0.9121 +vn -0.3841 -0.1981 0.9018 +vn -0.9819 0.0142 0.1888 +vn -0.9250 -0.0350 0.3783 +vn -0.7088 -0.0650 0.7024 +vn -0.3839 -0.0851 0.9194 +vn -0.9822 0.0289 0.1858 +vn -0.9251 -0.0068 0.3796 +vn -0.7091 -0.0125 0.7050 +vn -0.3841 -0.0165 0.9231 +vn -0.9990 0.0439 0.0051 +vn -0.9811 0.0050 0.1932 +vn -0.9230 0.0240 0.3841 +vn -0.7034 0.0456 0.7093 +vn -0.3761 0.0602 0.9246 +vn -1.0000 0.0076 -0.0002 +vn -0.9234 0.0253 0.3831 +vn -0.7058 0.0461 0.7069 +vn -0.3807 0.0599 0.9227 +vn -0.9985 0.0522 0.0177 +vn -0.9220 -0.0247 0.3864 +vn -0.7053 -0.0461 0.7075 +vn -0.3821 -0.0606 0.9221 +vn -0.9219 -0.0728 0.3805 +vn -0.7048 -0.1332 0.6968 +vn -0.3813 -0.1735 0.9080 +vn -0.9802 0.0003 0.1982 +vn -0.9221 -0.1141 0.3696 +vn -0.7049 -0.2091 0.6777 +vn -0.3812 -0.2724 0.8834 +vn -0.9802 -0.0225 0.1966 +vn -0.9223 -0.1517 0.3556 +vn -0.7051 -0.2784 0.6522 +vn -0.3815 -0.3629 0.8502 +vn -0.9803 -0.0430 0.1929 +vn -0.9222 -0.1872 0.3383 +vn -0.7052 -0.3433 0.6204 +vn -0.3813 -0.4477 0.8088 +vn -0.9989 0.0314 0.0356 +vn -0.9797 -0.1060 0.1703 +vn -0.9220 -0.2212 0.3177 +vn -0.7047 -0.4059 0.5819 +vn -0.3810 -0.5291 0.7582 +vn -0.9988 0.0279 0.0406 +vn -0.9217 -0.2555 0.2918 +vn -0.7043 -0.4679 0.5339 +vn -0.3806 -0.6097 0.6953 +vn -0.9986 0.0241 0.0467 +vn -0.9217 -0.2890 0.2586 +vn -0.7043 -0.5295 0.4729 +vn -0.3804 -0.6901 0.6157 +vn -0.9230 -0.3161 0.2194 +vn -0.7060 -0.5818 0.4039 +vn -0.3820 -0.7590 0.5272 +vn -0.9998 0.0082 0.0177 +vn -0.9800 -0.1656 0.1104 +vn -0.9224 -0.3255 0.2080 +vn -0.7041 -0.5988 0.3817 +vn -0.3788 -0.7807 0.4970 +vn -0.9984 0.0092 0.0562 +vn -0.9216 -0.3523 0.1632 +vn -0.7046 -0.6442 0.2974 +vn -0.3818 -0.8395 0.3867 +vn -0.9214 -0.3727 0.1102 +vn -0.7043 -0.6808 0.2012 +vn -0.3809 -0.8866 0.2623 +vn -0.9800 -0.1762 0.0928 +vn -0.9215 -0.3837 0.0596 +vn -0.7045 -0.7013 0.1089 +vn -0.3810 -0.9136 0.1421 +vn -0.9800 -0.1871 0.0678 +vn -0.9217 -0.3878 0.0102 +vn -0.7046 -0.7094 0.0187 +vn -0.3811 -0.9242 0.0244 +vn -0.9800 -0.1940 0.0432 +vn -0.9217 -0.3859 -0.0385 +vn -0.3811 -0.9200 -0.0918 +vn -0.9987 -0.0240 0.0458 +vn -0.9794 -0.1992 -0.0327 +vn -0.9215 -0.3784 -0.0870 +vn -0.7040 -0.7066 -0.0716 +vn -0.7042 -0.6918 -0.1596 +vn -0.3807 -0.9010 -0.2081 +vn -0.9986 -0.0311 0.0431 +vn -0.9212 -0.3641 -0.1371 +vn -0.7039 -0.6648 -0.2503 +vn -0.3804 -0.8654 -0.3262 +vn -0.9984 -0.0389 0.0400 +vn -0.9214 -0.3406 -0.1873 +vn -0.7041 -0.6220 -0.3426 +vn -0.3805 -0.8099 -0.4464 +vn -0.9234 -0.3053 -0.2326 +vn -0.7066 -0.5631 -0.4286 +vn -0.3823 -0.7354 -0.5595 +vn -0.9798 -0.1629 -0.1160 +vn -0.9235 -0.3007 -0.2383 +vn -0.7066 -0.5544 -0.4397 +vn -0.3823 -0.7239 -0.5742 +vn -0.9985 -0.0475 0.0269 +vn -0.9799 -0.1484 -0.1333 +vn -0.9221 -0.2713 -0.2760 +vn -0.7053 -0.4964 -0.5061 +vn -0.3822 -0.6467 -0.6601 +vn -0.9220 -0.2366 -0.3065 +vn -0.7048 -0.4334 -0.5616 +vn -0.3813 -0.5649 -0.7318 +vn -0.9802 -0.1482 -0.1312 +vn -0.9222 -0.2029 -0.3292 +vn -0.7051 -0.3720 -0.6036 +vn -0.3815 -0.4850 -0.7869 +vn -0.9803 -0.1327 -0.1464 +vn -0.9224 -0.1694 -0.3472 +vn -0.7052 -0.3109 -0.6372 +vn -0.3815 -0.4052 -0.8308 +vn -0.9803 -0.1173 -0.1587 +vn -0.9223 -0.1352 -0.3620 +vn -0.3813 -0.3234 -0.8660 +vn -0.9989 -0.0465 0.0012 +vn -0.9797 -0.0609 -0.1909 +vn -0.9221 -0.0994 -0.3739 +vn -0.7046 -0.2473 -0.6651 +vn -0.7048 -0.1819 -0.6857 +vn -0.3810 -0.2368 -0.8937 +vn -0.9988 -0.0482 -0.0044 +vn -0.9218 -0.0598 -0.3829 +vn -0.7044 -0.1091 -0.7014 +vn -0.3807 -0.1418 -0.9137 +vn -0.9987 -0.0506 -0.0109 +vn -0.9218 -0.0150 -0.3873 +vn -0.7043 -0.0266 -0.7094 +vn -0.3804 -0.0344 -0.9242 +vn -0.9238 0.0364 -0.3812 +vn -0.7069 0.0670 -0.7041 +vn -0.3826 0.0876 -0.9197 +vn -0.9799 0.0170 -0.1989 +vn -0.9238 0.0385 -0.3810 +vn -0.7070 0.0711 -0.7037 +vn -0.3826 0.0929 -0.9192 +vn -0.9987 -0.0465 -0.0205 +vn -0.9229 0.0691 -0.3788 +vn -0.7062 0.1277 -0.6964 +vn -0.3825 0.1670 -0.9088 +vn -0.9229 0.0952 -0.3731 +vn -0.7058 0.1751 -0.6865 +vn -0.3817 0.2283 -0.8956 +vn -0.9805 0.0122 -0.1960 +vn -0.9231 0.1166 -0.3665 +vn -0.7059 0.2147 -0.6750 +vn -0.3820 0.2802 -0.8807 +vn -0.9806 0.0249 -0.1946 +vn -0.9230 0.1361 -0.3598 +vn -0.7061 0.2505 -0.6623 +vn -0.3817 0.3268 -0.8646 +vn -0.9992 -0.0334 -0.0226 +vn -0.9798 0.0755 -0.1849 +vn -0.7061 0.2846 -0.6484 +vn -0.3820 0.3713 -0.8463 +vn -0.9992 -0.0326 -0.0249 +vn -0.9228 0.1556 -0.3524 +vn -0.9230 0.1731 -0.3437 +vn -0.7057 0.3191 -0.6326 +vn -0.3817 0.4163 -0.8252 +vn -0.9991 -0.0323 -0.0283 +vn -0.9228 0.1930 -0.3335 +vn -0.7055 0.3553 -0.6132 +vn -0.3815 0.4639 -0.7996 +vn -0.9989 -0.0322 -0.0335 +vn -0.9226 0.2152 -0.3201 +vn -0.7052 0.3960 -0.5881 +vn -0.3810 0.5166 -0.7668 +vn -0.9240 0.2390 -0.2987 +vn -0.7072 0.4417 -0.5521 +vn -0.3828 0.5772 -0.7214 +vn -0.9802 0.1223 -0.1559 +vn -0.9262 0.1809 -0.3308 +vn -0.7129 0.3365 -0.6153 +vn -0.3881 0.4422 -0.8086 +vn -1.0000 -0.0021 -0.0004 +vn -0.9835 0.0566 -0.1718 +vn -0.9238 0.1247 -0.3619 +vn -0.7069 0.2305 -0.6687 +vn -0.3822 0.3011 -0.8736 +vn -0.9986 -0.0404 -0.0333 +vn -0.9226 0.1628 -0.3497 +vn -0.7058 0.2996 -0.6420 +vn -0.3824 0.3912 -0.8371 +vn -0.9225 0.1943 -0.3336 +vn -0.7055 0.3569 -0.6124 +vn -0.3816 0.4653 -0.7987 +vn -0.9805 0.0658 -0.1851 +vn -0.9227 0.2195 -0.3168 +vn -0.7057 0.4035 -0.5824 +vn -0.3817 0.5262 -0.7599 +vn -0.9804 0.0812 -0.1793 +vn -0.9228 0.2418 -0.2999 +vn -0.7056 0.4446 -0.5518 +vn -0.3816 0.5800 -0.7197 +vn -0.9991 -0.0250 -0.0344 +vn -0.9798 0.1310 -0.1513 +vn -0.9228 0.2621 -0.2825 +vn -0.3818 0.6294 -0.6768 +vn -0.9991 -0.0223 -0.0368 +vn -0.9226 0.2821 -0.2630 +vn -0.7053 0.4836 -0.5183 +vn -0.7054 0.5189 -0.4829 +vn -0.3814 0.6769 -0.6296 +vn -0.9990 -0.0192 -0.0405 +vn -0.9224 0.3023 -0.2404 +vn -0.7051 0.5553 -0.4410 +vn -0.3811 0.7242 -0.5748 +vn -0.9988 -0.0164 -0.0456 +vn -0.9223 0.3228 -0.2127 +vn -0.7048 0.5927 -0.3898 +vn -0.3807 0.7728 -0.5077 +vn -0.9236 0.3402 -0.1770 +vn -0.7067 0.6276 -0.3265 +vn -0.3824 0.8197 -0.4265 +vn -1.0000 -0.0024 -0.0069 +vn -0.9801 0.1768 -0.0904 +vn -0.9231 0.3438 -0.1722 +vn -0.7054 0.6340 -0.3169 +vn -0.3805 0.8274 -0.4131 +vn -0.9983 -0.0018 -0.0584 +vn -0.9212 0.3708 -0.1182 +vn -0.7041 0.6768 -0.2147 +vn -0.3811 0.8815 -0.2788 +vn -0.9210 0.3855 -0.0568 +vn -0.7038 0.7028 -0.1036 +vn -0.3807 0.9148 -0.1349 +vn -0.9798 0.1875 -0.0690 +vn -0.9211 0.3892 0.0026 +vn -0.7040 0.7101 0.0046 +vn -0.3809 0.9246 0.0060 +vn -0.9799 0.1958 -0.0391 +vn -0.9211 0.3846 0.0602 +vn -0.7041 0.7015 0.1099 +vn -0.3807 0.9136 0.1431 +vn -0.9984 0.0302 -0.0467 +vn -0.9792 0.1976 0.0461 +vn -0.7040 0.6778 0.2120 +vn -0.3806 0.8825 0.2761 +vn -0.9984 0.0372 -0.0418 +vn -0.9210 0.3715 0.1171 +vn -0.9209 0.3505 0.1705 +vn -0.7038 0.6392 0.3100 +vn -0.3806 0.8319 0.4038 +vn -0.9984 0.0441 -0.0360 +vn -0.9208 0.3208 0.2217 +vn -0.7034 0.5847 0.4040 +vn -0.3804 0.7609 0.5257 +vn -0.9983 0.0507 -0.0295 +vn -0.9212 0.2811 0.2690 +vn -0.7040 0.5130 0.4912 +vn -0.3806 0.6679 0.6395 +vn -0.9235 0.2317 0.3058 +vn -0.7066 0.4276 0.5638 +vn -0.3824 0.5585 0.7361 +vn -0.9798 0.1250 0.1562 +vn -0.9235 0.2265 0.3096 +vn -0.7067 0.4176 0.5712 +vn -0.3824 0.5453 0.7460 +vn -0.9985 0.0529 -0.0132 +vn -0.9800 0.1072 0.1675 +vn -0.9221 0.1879 0.3381 +vn -0.7054 0.3436 0.6200 +vn -0.3822 0.4476 0.8085 +vn -0.9220 0.1466 0.3582 +vn -0.7049 0.2688 0.6564 +vn -0.3813 0.3503 0.8555 +vn -0.9802 0.1080 0.1658 +vn -0.9223 0.1085 0.3710 +vn -0.7052 0.1990 0.6805 +vn -0.3813 0.2597 0.8872 +vn -0.9803 0.0892 0.1763 +vn -0.9224 0.0718 0.3796 +vn -0.7053 0.1318 0.6966 +vn -0.3815 0.1719 0.9082 +vn -0.9990 0.0453 0.0064 +vn -0.9797 0.0278 0.1983 +vn -0.7052 0.0648 0.7060 +vn -0.3813 0.0847 0.9206 +vn -0.9989 0.0451 0.0110 +vn -0.9220 0.0340 0.3858 +vn -0.9221 -0.0018 0.3868 +vn -0.7048 -0.0040 0.7094 +vn -0.3811 -0.0054 0.9245 +vn -0.9988 0.0452 0.0168 +vn -0.9219 -0.0422 0.3852 +vn -0.7045 -0.0776 0.7054 +vn -0.3807 -0.1015 0.9191 +vn -0.9987 0.0459 0.0237 +vn -0.9218 -0.0863 0.3778 +vn -0.7043 -0.1589 0.6919 +vn -0.3804 -0.2072 0.9013 +vn -0.9237 -0.1331 0.3591 +vn -0.7070 -0.2457 0.6632 +vn -0.3825 -0.3209 0.8664 +vn -0.9797 -0.0660 0.1892 +vn -0.9241 -0.1320 0.3585 +vn -0.7076 -0.2442 0.6631 +vn -0.3830 -0.3194 0.8668 +vn -0.9825 -0.0077 0.1859 +vn -0.9269 -0.0698 0.3688 +vn -0.7122 -0.1308 0.6897 +vn -0.3867 -0.1723 0.9060 +vn -0.9991 0.0411 0.0036 +vn -0.9818 -0.0189 0.1890 +vn -0.9272 -0.0079 0.3745 +vn -0.7126 -0.0136 0.7015 +vn -0.3869 -0.0173 0.9220 +vn -0.9992 0.0410 -0.0033 +vn -0.9272 0.0547 0.3706 +vn -0.7126 0.1036 0.6939 +vn -0.3870 0.1366 0.9119 +vn -0.9992 0.0398 -0.0102 +vn -0.9271 0.1152 0.3566 +vn -0.7126 0.2168 0.6672 +vn -0.3874 0.2856 0.8765 +vn -0.9271 0.1733 0.3325 +vn -0.7125 0.3244 0.6222 +vn -0.3871 0.4260 0.8178 +vn -0.9832 0.1294 0.1285 +vn -0.9271 0.2258 0.2992 +vn -0.7125 0.4227 0.5600 +vn -0.3869 0.5555 0.7360 +vn -0.9832 0.1490 0.1052 +vn -0.9271 0.2724 0.2572 +vn -0.7126 0.5101 0.4817 +vn -0.3872 0.6703 0.6331 +vn -0.9832 0.1646 0.0785 +vn -0.9269 0.3122 0.2083 +vn -0.7122 0.5842 0.3893 +vn -0.3867 0.7676 0.5111 +vn -0.9990 0.0251 -0.0357 +vn -0.9817 0.1671 0.0909 +vn -0.9216 0.3530 0.1613 +vn -0.6984 0.6519 0.2954 +vn -0.3669 0.8478 0.3828 +vn -1.0000 0.0012 -0.0022 +vn -0.9236 0.3437 0.1697 +vn -0.7065 0.6346 0.3133 +vn -0.3818 0.8286 0.4093 +vn -0.9984 0.0424 -0.0361 +vn -0.9219 0.3202 0.2183 +vn -0.7051 0.5854 0.4002 +vn -0.3821 0.7625 0.5221 +vn -0.9218 0.2888 0.2586 +vn -0.7046 0.5287 0.4732 +vn -0.3811 0.6890 0.6165 +vn -0.9801 0.1704 0.1017 +vn -0.9220 0.2563 0.2903 +vn -0.7049 0.4695 0.5317 +vn -0.3813 0.6119 0.6930 +vn -0.9802 0.1566 0.1215 +vn -0.9221 0.2224 0.3166 +vn -0.7050 0.4076 0.5804 +vn -0.3813 0.5314 0.7565 +vn -0.9802 0.1419 0.1382 +vn -0.9221 0.1867 0.3389 +vn -0.7050 0.3421 0.6213 +vn -0.3813 0.4459 0.8098 +vn -0.9988 0.0481 -0.0072 +vn -0.9796 0.0871 0.1811 +vn -0.9219 0.1485 0.3579 +vn -0.7045 0.2715 0.6557 +vn -0.3809 0.3536 0.8543 +vn -0.9987 0.0503 -0.0011 +vn -0.9216 0.1057 0.3734 +vn -0.7042 0.1929 0.6833 +vn -0.3805 0.2509 0.8901 +vn -0.9986 0.0531 0.0059 +vn -0.9216 0.0570 0.3838 +vn -0.7042 0.1037 0.7023 +vn -0.3804 0.1347 0.9150 +vn -0.9238 0.0006 0.3828 +vn -0.7070 0.0013 0.7072 +vn -0.3826 0.0017 0.9239 +vn -1.0000 0.0012 -0.0008 +vn -0.9798 0.0000 0.1997 +vn -0.9237 -0.0007 0.3831 +vn -0.7068 -0.0014 0.7075 +vn -0.3822 -0.0018 0.9241 +vn -0.9982 0.0537 0.0265 +vn -0.9207 -0.0666 0.3844 +vn -0.7036 -0.1223 0.7000 +vn -0.3807 -0.1599 0.9108 +vn -0.9981 0.0495 0.0373 +vn -0.7033 -0.2432 0.6680 +vn -0.9202 -0.1957 0.3389 +vn -0.9205 -0.1333 0.3673 +vn -0.7030 -0.3556 0.6159 +vn -0.3801 -0.3167 0.8691 +vn -0.9797 -0.0599 0.1913 +vn -0.9205 -0.2511 0.2993 +vn -0.7030 -0.4572 0.5448 +vn -0.3805 -0.5945 0.7084 +vn -0.3800 -0.4631 0.8007 +vn -0.9798 -0.0921 0.1775 +vn -0.9203 -0.2997 0.2515 +vn -0.3800 -0.7086 0.5946 +vn -0.9797 -0.1217 0.1592 +vn -0.9204 -0.3386 0.1955 +vn -0.7030 -0.5451 0.4568 +vn -0.7030 -0.6159 0.3556 +vn -0.9981 0.0034 0.0620 +vn -0.9790 -0.1846 0.0861 +vn -0.9203 -0.3677 0.1334 +vn -0.7030 -0.6683 0.2433 +vn -0.3800 -0.8013 0.4621 +vn -0.9209 -0.3839 0.0670 +vn -0.7040 -0.6994 0.1235 +vn -0.3800 -0.8692 0.3164 +vn -0.9796 -0.1864 0.0752 +vn -0.9237 -0.3832 0.0017 +vn -0.7069 -0.7073 0.0030 +vn -0.3825 -0.9239 0.0043 +vn -0.3798 -0.9112 0.1598 +vn -0.9798 -0.2002 0.0000 +usemtl Material.001 +s 1 +f 2899/2962/1211 2901/2963/1212 2898/2964/1213 +f 2957/2965/1214 2994/2966/1215 2956/2967/1216 +f 3047/2968/1217 3049/2969/1218 3046/2970/1219 +f 3051/2971/1220 3053/2972/1221 3050/2973/1222 +f 3050/2973/1222 3055/2974/1223 3054/2975/1224 +f 3054/2975/1224 3057/2976/1225 3056/2977/1226 +f 3056/2977/1226 3059/2978/1227 3058/2979/1228 +f 3058/2979/1228 3061/2980/1229 3060/2981/1230 +f 3060/2981/1230 3063/2982/1231 3062/2983/1232 +f 3065/2984/1233 3067/2985/1234 3064/2986/1235 +f 3068/2987/1236 3066/2988/1237 3065/2984/1233 +f 3070/2989/1238 3052/2990/1239 3051/2971/1220 +f 3073/2991/1240 3075/2992/1241 3072/2993/1242 +f 3077/2994/1243 3079/2995/1244 3076/2996/1245 +f 3076/2996/1245 3081/2997/1246 3080/2998/1247 +f 3080/2998/1247 3083/2999/1248 3082/3000/1249 +f 3082/3000/1249 3085/3001/1250 3084/3002/1251 +f 3084/3002/1251 3087/3003/1252 3086/3004/1253 +f 3086/3004/1253 3074/3005/1254 3073/2991/1240 +f 3089/3006/1255 3091/3007/1256 3088/3008/1257 +f 3064/2986/1235 3078/3009/1258 3077/2994/1243 +f 3092/3010/1259 3090/3011/1260 3089/3006/1255 +f 3046/2970/1219 3071/3012/1261 3070/2989/1238 +f 3095/3013/1262 3097/3014/1263 3094/3015/1264 +f 3099/3016/1265 3101/3017/1266 3098/3018/1267 +f 3098/3018/1267 3103/3019/1268 3102/3020/1269 +f 3102/3020/1269 3105/3021/1270 3104/3022/1271 +f 3104/3022/1271 3107/3023/1272 3106/3024/1273 +f 3106/3024/1273 3109/3025/1274 3108/3026/1275 +f 3108/3026/1275 3096/3027/1276 3095/3013/1262 +f 3111/3028/1277 3113/3029/1278 3110/3030/1279 +f 3094/3015/1264 3112/3031/1280 3111/3028/1277 +f 3088/3008/1257 3100/3032/1281 3099/3016/1265 +f 3115/3033/1282 3117/3034/1283 3114/3035/1284 +f 3119/3036/1285 3121/3037/1286 3118/3038/1287 +f 3118/3038/1287 3123/3039/1288 3122/3040/1289 +f 3122/3040/1289 3125/3041/1290 3124/3042/1291 +f 3124/3042/1291 3127/3043/1292 3126/3044/1293 +f 3126/3044/1293 3129/3045/1294 3128/3046/1295 +f 3128/3046/1295 3116/3047/1296 3115/3033/1282 +f 3131/3048/1297 3133/3049/1298 3130/3050/1299 +f 3114/3035/1284 3132/3051/1300 3131/3048/1297 +f 3110/3030/1279 3120/3052/1301 3119/3036/1285 +f 3135/3053/1302 3137/3054/1303 3134/3055/1304 +f 3139/3056/1305 3141/3057/1306 3138/3058/1307 +f 3138/3058/1307 3143/3059/1308 3142/3060/1309 +f 3142/3060/1309 3145/3061/1310 3144/3062/1311 +f 3144/3062/1311 3147/3063/1312 3146/3064/1313 +f 3146/3064/1313 3149/3065/1314 3148/3066/1315 +f 3148/3066/1315 3136/3067/1316 3135/3053/1302 +f 3151/3068/1317 3153/3069/1318 3150/3070/1319 +f 3134/3055/1304 3152/3071/1320 3151/3068/1317 +f 3130/3050/1299 3140/3072/1321 3139/3056/1305 +f 3155/3073/1322 3157/3074/1323 3154/3075/1324 +f 3159/3076/1325 3161/3077/1326 3158/3078/1327 +f 3158/3078/1327 3163/3079/1328 3162/3080/1329 +f 3162/3080/1329 3165/3081/1330 3164/3082/1331 +f 3164/3082/1331 3167/3083/1332 3166/3084/1333 +f 3166/3084/1333 3169/3085/1334 3168/3086/1335 +f 3168/3086/1335 3156/3087/1336 3155/3073/1322 +f 3171/3088/1337 3173/3089/1338 3170/3090/1339 +f 3154/3075/1324 3172/3091/1340 3171/3088/1337 +f 3150/3070/1319 3160/3092/1341 3159/3076/1325 +f 3175/3093/1342 3177/3094/1343 3174/3095/1344 +f 3179/3096/1345 3181/3097/1346 3178/3098/1347 +f 3178/3098/1347 3183/3099/1348 3182/3100/1349 +f 3182/3100/1349 3185/3101/1350 3184/3102/1351 +f 3184/3102/1351 3187/3103/1352 3186/3104/1353 +f 3186/3104/1353 3189/3105/1354 3188/3106/1355 +f 3188/3106/1355 3176/3107/1356 3175/3093/1342 +f 3191/3108/1357 3193/3109/1358 3190/3110/1359 +f 3174/3095/1344 3192/3111/1360 3191/3108/1357 +f 3170/3090/1339 3180/3112/1361 3179/3096/1345 +f 3195/3113/1362 3197/3114/1363 3194/3115/1364 +f 3199/3116/1365 3201/3117/1366 3198/3118/1367 +f 3198/3118/1367 3203/3119/1368 3202/3120/1369 +f 3202/3120/1369 3205/3121/1370 3204/3122/1371 +f 3204/3122/1371 3207/3123/1372 3206/3124/1373 +f 3206/3124/1373 3209/3125/1374 3208/3126/1375 +f 3208/3126/1375 3196/3127/1376 3195/3113/1362 +f 3211/3128/1377 3213/3129/1378 3210/3130/1379 +f 3190/3110/1359 3200/3131/1380 3199/3116/1365 +f 3214/3132/1381 3212/3133/1382 3211/3128/1377 +f 3072/2993/1242 3093/3134/1383 3092/3010/1259 +f 3217/3135/1384 3219/3136/1385 3216/3137/1386 +f 3221/3138/1387 3223/3139/1388 3220/3140/1389 +f 3220/3140/1389 3225/3141/1390 3224/3142/1391 +f 3224/3142/1391 3227/3143/1392 3226/3144/1393 +f 3226/3144/1393 3229/3145/1394 3228/3146/1395 +f 3228/3146/1395 3231/3147/1396 3230/3148/1397 +f 3230/3148/1397 3218/3149/1398 3217/3135/1384 +f 3233/3150/1399 3235/3151/1400 3232/3152/1401 +f 3216/3137/1386 3234/3153/1402 3233/3150/1399 +f 3210/3130/1379 3222/3154/1403 3221/3138/1387 +f 3237/3155/1404 3239/3156/1405 3236/3157/1406 +f 3241/3158/1407 3243/3159/1408 3240/3160/1409 +f 3240/3160/1409 3245/3161/1410 3244/3162/1411 +f 3244/3162/1411 3247/3163/1412 3246/3164/1413 +f 3246/3164/1413 3249/3165/1414 3248/3166/1415 +f 3248/3166/1415 3251/3167/1416 3250/3168/1417 +f 3250/3168/1417 3238/3169/1418 3237/3155/1404 +f 3253/3170/1419 3255/3171/1420 3252/3172/1421 +f 3236/3157/1406 3254/3173/1422 3253/3170/1419 +f 3232/3152/1401 3242/3174/1423 3241/3158/1407 +f 3257/3175/1424 3259/3176/1425 3256/3177/1426 +f 3261/3178/1427 3263/3179/1428 3260/3180/1429 +f 3260/3180/1429 3265/3181/1430 3264/3182/1431 +f 3264/3182/1431 3267/3183/1432 3266/3184/1433 +f 3266/3184/1433 3269/3185/1434 3268/3186/1435 +f 3268/3186/1435 3271/3187/1436 3270/3188/1437 +f 3270/3188/1437 3258/3189/1438 3257/3175/1424 +f 3273/3190/1439 3275/3191/1440 3272/3192/1441 +f 3273/3190/1439 3259/3176/1425 3274/3193/1442 +f 3252/3172/1421 3262/3194/1443 3261/3178/1427 +f 3277/3195/1444 3279/3196/1445 3276/3197/1446 +f 3281/3198/1447 3283/3199/1448 3280/3200/1449 +f 3280/3200/1449 3285/3201/1450 3284/3202/1451 +f 3284/3202/1451 3287/3203/1452 3286/3204/1453 +f 3286/3204/1453 3289/3205/1454 3288/3206/1455 +f 3288/3206/1455 3291/3207/1456 3290/3208/1457 +f 3290/3208/1457 3278/3209/1458 3277/3195/1444 +f 2898/2964/1213 3293/3210/1459 3292/3211/1460 +f 3272/3192/1441 3282/3212/1461 3281/3198/1447 +f 3194/3115/1364 3215/3213/1462 3214/3132/1381 +f 3276/3197/1446 3295/3214/1463 3294/3215/1464 +f 3297/3216/1465 3299/3217/1466 3296/3218/1467 +f 3301/3219/1468 3303/3220/1469 3300/3221/1470 +f 3300/3221/1470 3305/3222/1471 3304/3223/1472 +f 3304/3223/1472 3307/3224/1473 3306/3225/1474 +f 3306/3225/1474 3309/3226/1475 3308/3227/1476 +f 3308/3227/1476 3311/3228/1477 3310/3229/1478 +f 3310/3229/1478 3298/3230/1479 3297/3216/1465 +f 3313/3231/1480 3315/3232/1481 3312/3233/1482 +f 3296/3218/1467 3314/3234/1483 3313/3231/1480 +f 3292/3211/1460 3302/3235/1484 3301/3219/1468 +f 3316/3236/1485 3048/3237/1486 3047/2968/1217 +f 3319/3238/1487 3321/3239/1488 3318/3240/1489 +f 3318/3240/1489 3323/3241/1490 3322/3242/1491 +f 3322/3242/1491 3325/3243/1492 3324/3244/1493 +f 3324/3244/1493 3327/3245/1494 3326/3246/1495 +f 3326/3246/1495 3329/3247/1496 3328/3248/1497 +f 3328/3248/1497 3317/3249/1498 3316/3236/1485 +f 3382/3250/1499 3419/3251/1500 3420/3252/1501 +f 3312/3233/1482 3320/3253/1502 3319/3238/1487 +f 3062/2983/1232 3069/3254/1503 3068/2987/1236 +f 3045/3255/1504 3475/3256/1505 2902/3257/1506 +f 3474/3258/1507 3477/3259/1508 3475/3256/1505 +f 3476/3260/1509 3479/3261/1510 3477/3259/1508 +f 3478/3262/1511 2899/2962/1211 3479/3261/1510 +f 3046/2970/1219 3480/3263/1512 3481/3264/1513 +f 3481/3264/1513 3482/3265/1514 3483/3266/1515 +f 3483/3266/1515 3484/3267/1516 3485/3268/1517 +f 3485/3268/1517 2924/3269/1518 2923/3270/1519 +f 3051/2971/1220 3480/3263/1512 3070/2989/1238 +f 3480/3263/1512 3487/3271/1520 3482/3265/1514 +f 3482/3265/1514 3488/3272/1521 3484/3267/1516 +f 3488/3272/1521 2924/3269/1518 3484/3267/1516 +f 3051/2971/1220 3489/3273/1522 3486/3274/1523 +f 3489/3273/1522 3487/3271/1520 3486/3274/1523 +f 3487/3271/1520 3491/3275/1524 3488/3272/1521 +f 3491/3275/1524 2925/3276/1525 3488/3272/1521 +f 3054/2975/1224 3489/3273/1522 3050/2973/1222 +f 3492/3277/1526 3490/3278/1527 3489/3273/1522 +f 3490/3278/1527 3494/3279/1528 3491/3275/1524 +f 3491/3275/1524 2927/3280/1529 2926/3281/1530 +f 3056/2977/1226 3492/3277/1526 3054/2975/1224 +f 3492/3277/1526 3496/3282/1531 3493/3283/1532 +f 3493/3283/1532 3497/3284/1533 3494/3279/1528 +f 3497/3284/1533 2927/3280/1529 3494/3279/1528 +f 3056/2977/1226 3498/3285/1534 3495/3286/1535 +f 3498/3285/1534 3496/3282/1531 3495/3286/1535 +f 3499/3287/1536 3497/3284/1533 3496/3282/1531 +f 3497/3284/1533 2929/3288/1537 2928/3289/1538 +f 3058/2979/1228 3501/3290/1539 3498/3285/1534 +f 3501/3290/1539 3499/3287/1536 3498/3285/1534 +f 3502/3291/1540 3500/3292/1541 3499/3287/1536 +f 3503/3293/1542 2929/3288/1537 3500/3292/1541 +f 3060/2981/1230 3504/3294/1543 3501/3290/1539 +f 3501/3290/1539 3505/3295/1544 3502/3291/1540 +f 3505/3295/1544 3503/3293/1542 3502/3291/1540 +f 3506/3296/1545 2930/3297/1546 3503/3293/1542 +f 3068/2987/1236 3504/3294/1543 3062/2983/1232 +f 3507/3298/1547 3505/3295/1544 3504/3294/1543 +f 3508/3299/1548 3506/3296/1545 3505/3295/1544 +f 3509/3300/1549 2931/3301/1550 3506/3296/1545 +f 3065/2984/1233 3507/3298/1547 3068/2987/1236 +f 3510/3302/1551 3508/3299/1548 3507/3298/1547 +f 3511/3303/1552 3509/3300/1549 3508/3299/1548 +f 3512/3304/1553 2932/3305/1554 3509/3300/1549 +f 3064/2986/1235 3510/3302/1551 3065/2984/1233 +f 3513/3306/1555 3511/3303/1552 3510/3302/1551 +f 3514/3307/1556 3512/3304/1553 3511/3303/1552 +f 3515/3308/1557 2933/3309/1558 3512/3304/1553 +f 3064/2986/1235 3516/3310/1559 3513/3306/1555 +f 3513/3306/1555 3517/3311/1560 3514/3307/1556 +f 3514/3307/1556 3518/3312/1561 3515/3308/1557 +f 3515/3308/1557 2935/3313/1562 2934/3314/1563 +f 3077/2994/1243 3519/3315/1564 3516/3310/1559 +f 3516/3310/1559 3520/3316/1565 3517/3311/1560 +f 3517/3311/1560 3521/3317/1566 3518/3312/1561 +f 3518/3312/1561 2936/3318/1567 2935/3313/1562 +f 3076/2996/1245 3522/3319/1568 3519/3315/1564 +f 3519/3315/1564 3523/3320/1569 3520/3316/1565 +f 3520/3316/1565 3524/3321/1570 3521/3317/1566 +f 3521/3317/1566 2937/3322/1571 2936/3318/1567 +f 3080/2998/1247 3525/3323/1572 3522/3319/1568 +f 3522/3319/1568 3526/3324/1573 3523/3320/1569 +f 3526/3324/1573 3524/3321/1570 3523/3320/1569 +f 3527/3325/1574 2937/3322/1571 3524/3321/1570 +f 3084/3002/1251 3525/3323/1572 3082/3000/1249 +f 3528/3326/1575 3526/3324/1573 3525/3323/1572 +f 3529/3327/1576 3527/3325/1574 3526/3324/1573 +f 3530/3328/1577 2938/3329/1578 3527/3325/1574 +f 3086/3004/1253 3528/3326/1575 3084/3002/1251 +f 3531/3330/1579 3529/3327/1576 3528/3326/1575 +f 3532/3331/1580 3530/3328/1577 3529/3327/1576 +f 3533/3332/1581 2939/3333/1582 3530/3328/1577 +f 3073/2991/1240 3531/3330/1579 3086/3004/1253 +f 3534/3334/1583 3532/3331/1580 3531/3330/1579 +f 3535/3335/1584 3533/3332/1581 3532/3331/1580 +f 3536/3336/1585 2940/3337/1586 3533/3332/1581 +f 3073/2991/1240 3537/3338/1587 3534/3334/1583 +f 3534/3334/1583 3538/3339/1588 3535/3335/1584 +f 3535/3335/1584 3539/3340/1589 3536/3336/1585 +f 3536/3336/1585 2942/3341/1590 2941/3342/1591 +f 3072/2993/1242 3540/3343/1592 3537/3338/1587 +f 3537/3338/1587 3541/3344/1593 3538/3339/1588 +f 3538/3339/1588 3542/3345/1594 3539/3340/1589 +f 3539/3340/1589 2943/3346/1595 2942/3341/1590 +f 3089/3006/1255 3540/3343/1592 3092/3010/1259 +f 3543/3347/1596 3541/3344/1593 3540/3343/1592 +f 3544/3348/1597 3542/3345/1594 3541/3344/1593 +f 3545/3349/1598 2943/3346/1595 3542/3345/1594 +f 3088/3008/1257 3543/3347/1596 3089/3006/1255 +f 3546/3350/1599 3544/3348/1597 3543/3347/1596 +f 3547/3351/1600 3545/3349/1598 3544/3348/1597 +f 3548/3352/1601 2944/3353/1602 3545/3349/1598 +f 3099/3016/1265 3546/3350/1599 3088/3008/1257 +f 3549/3354/1603 3547/3351/1600 3546/3350/1599 +f 3550/3355/1604 3548/3352/1601 3547/3351/1600 +f 3551/3356/1605 2945/3357/1606 3548/3352/1601 +f 3098/3018/1267 3549/3354/1603 3099/3016/1265 +f 3552/3358/1607 3550/3355/1604 3549/3354/1603 +f 3553/3359/1608 3551/3356/1605 3550/3355/1604 +f 3554/3360/1609 2946/3361/1610 3551/3356/1605 +f 3102/3020/1269 3552/3358/1607 3098/3018/1267 +f 3555/3362/1611 3553/3359/1608 3552/3358/1607 +f 3556/3363/1612 3554/3360/1609 3553/3359/1608 +f 3557/3364/1613 2947/3365/1614 3554/3360/1609 +f 3102/3020/1269 3558/3366/1615 3555/3362/1611 +f 3558/3366/1615 3556/3363/1612 3555/3362/1611 +f 3556/3363/1612 3560/3367/1616 3557/3364/1613 +f 3560/3367/1616 2948/3368/1617 3557/3364/1613 +f 3104/3022/1271 3561/3369/1618 3558/3366/1615 +f 3558/3366/1615 3562/3370/1619 3559/3371/1620 +f 3559/3371/1620 3563/3372/1621 3560/3367/1616 +f 3560/3367/1616 2950/3373/1622 2949/3374/1623 +f 3106/3024/1273 3564/3375/1624 3561/3369/1618 +f 3561/3369/1618 3565/3376/1625 3562/3370/1619 +f 3562/3370/1619 3566/3377/1626 3563/3372/1621 +f 3563/3372/1621 2951/3378/1627 2950/3373/1622 +f 3108/3026/1275 3567/3379/1628 3564/3375/1624 +f 3564/3375/1624 3568/3380/1629 3565/3376/1625 +f 3565/3376/1625 3569/3381/1630 3566/3377/1626 +f 3566/3377/1626 2952/3382/1631 2951/3378/1627 +f 3095/3013/1262 3570/3383/1632 3567/3379/1628 +f 3567/3379/1628 3571/3384/1633 3568/3380/1629 +f 3568/3380/1629 3572/3385/1634 3569/3381/1630 +f 3569/3381/1630 2953/3386/1635 2952/3382/1631 +f 3094/3015/1264 3573/3387/1636 3570/3383/1632 +f 3570/3383/1632 3574/3388/1637 3571/3384/1633 +f 3571/3384/1633 3575/3389/1638 3572/3385/1634 +f 3572/3385/1634 2954/3390/1639 2953/3386/1635 +f 3110/3030/1279 3573/3387/1636 3111/3028/1277 +f 3576/3391/1640 3574/3388/1637 3573/3387/1636 +f 3577/3392/1641 3575/3389/1638 3574/3388/1637 +f 3578/3393/1642 2954/3390/1639 3575/3389/1638 +f 3110/3030/1279 3579/3394/1643 3576/3391/1640 +f 3576/3391/1640 3580/3395/1644 3577/3392/1641 +f 3577/3392/1641 3581/3396/1645 3578/3393/1642 +f 3578/3393/1642 2956/2967/1216 2955/3397/1646 +f 3119/3036/1285 3582/3398/1647 3579/3394/1643 +f 3579/3394/1643 3583/3399/1648 3580/3395/1644 +f 3580/3395/1644 3584/3400/1649 3581/3396/1645 +f 3581/3396/1645 2957/2965/1214 2956/2967/1216 +f 3118/3038/1287 3585/3401/1650 3582/3398/1647 +f 3582/3398/1647 3586/3402/1651 3583/3399/1648 +f 3583/3399/1648 3587/3403/1652 3584/3400/1649 +f 3584/3400/1649 2958/3404/1653 2957/2965/1214 +f 3124/3042/1291 3585/3401/1650 3122/3040/1289 +f 3585/3401/1650 3589/3405/1654 3586/3402/1651 +f 3589/3405/1654 3587/3403/1652 3586/3402/1651 +f 3587/3403/1652 2959/3406/1655 2958/3404/1653 +f 3126/3044/1293 3588/3407/1656 3124/3042/1291 +f 3591/3408/1657 3589/3405/1654 3588/3407/1656 +f 3592/3409/1658 3590/3410/1659 3589/3405/1654 +f 3593/3411/1660 2959/3406/1655 3590/3410/1659 +f 3128/3046/1295 3591/3408/1657 3126/3044/1293 +f 3594/3412/1661 3592/3409/1658 3591/3408/1657 +f 3595/3413/1662 3593/3411/1660 3592/3409/1658 +f 3596/3414/1663 2960/3415/1664 3593/3411/1660 +f 3115/3033/1282 3594/3412/1661 3128/3046/1295 +f 3597/3416/1665 3595/3413/1662 3594/3412/1661 +f 3598/3417/1666 3596/3414/1663 3595/3413/1662 +f 3599/3418/1667 2961/3419/1668 3596/3414/1663 +f 3115/3033/1282 3600/3420/1669 3597/3416/1665 +f 3597/3416/1665 3601/3421/1670 3598/3417/1666 +f 3598/3417/1666 3602/3422/1671 3599/3418/1667 +f 3599/3418/1667 2963/3423/1672 2962/3424/1673 +f 3114/3035/1284 3603/3425/1674 3600/3420/1669 +f 3600/3420/1669 3604/3426/1675 3601/3421/1670 +f 3601/3421/1670 3605/3427/1676 3602/3422/1671 +f 3602/3422/1671 2964/3428/1677 2963/3423/1672 +f 3131/3048/1297 3606/3429/1678 3603/3425/1674 +f 3603/3425/1674 3607/3430/1679 3604/3426/1675 +f 3604/3426/1675 3608/3431/1680 3605/3427/1676 +f 3605/3427/1676 2965/3432/1681 2964/3428/1677 +f 3139/3056/1305 3606/3429/1678 3130/3050/1299 +f 3609/3433/1682 3607/3430/1679 3606/3429/1678 +f 3610/3434/1683 3608/3431/1680 3607/3430/1679 +f 3611/3435/1684 2965/3432/1681 3608/3431/1680 +f 3138/3058/1307 3609/3433/1682 3139/3056/1305 +f 3612/3436/1685 3610/3434/1683 3609/3433/1682 +f 3613/3437/1686 3611/3435/1684 3610/3434/1683 +f 3614/3438/1687 2966/3439/1688 3611/3435/1684 +f 3142/3060/1309 3612/3436/1685 3138/3058/1307 +f 3615/3440/1689 3613/3437/1686 3612/3436/1685 +f 3616/3441/1690 3614/3438/1687 3613/3437/1686 +f 3617/3442/1691 2967/3443/1692 3614/3438/1687 +f 3142/3060/1309 3618/3444/1693 3615/3440/1689 +f 3615/3440/1689 3619/3445/1694 3616/3441/1690 +f 3619/3445/1694 3617/3442/1691 3616/3441/1690 +f 3617/3442/1691 2969/3446/1695 2968/3447/1696 +f 3144/3062/1311 3621/3448/1697 3618/3444/1693 +f 3618/3444/1693 3622/3449/1698 3619/3445/1694 +f 3619/3445/1694 3623/3450/1699 3620/3451/1700 +f 3620/3451/1700 2970/3452/1701 2969/3446/1695 +f 3146/3064/1313 3624/3453/1702 3621/3448/1697 +f 3621/3448/1697 3625/3454/1703 3622/3449/1698 +f 3622/3449/1698 3626/3455/1704 3623/3450/1699 +f 3623/3450/1699 2971/3456/1705 2970/3452/1701 +f 3148/3066/1315 3627/3457/1706 3624/3453/1702 +f 3624/3453/1702 3628/3458/1707 3625/3454/1703 +f 3625/3454/1703 3629/3459/1708 3626/3455/1704 +f 3626/3455/1704 2972/3460/1709 2971/3456/1705 +f 3134/3055/1304 3627/3457/1706 3135/3053/1302 +f 3630/3461/1710 3628/3458/1707 3627/3457/1706 +f 3631/3462/1711 3629/3459/1708 3628/3458/1707 +f 3632/3463/1712 2972/3460/1709 3629/3459/1708 +f 3134/3055/1304 3633/3464/1713 3630/3461/1710 +f 3630/3461/1710 3634/3465/1714 3631/3462/1711 +f 3631/3462/1711 3635/3466/1715 3632/3463/1712 +f 3632/3463/1712 2974/3467/1716 2973/3468/1717 +f 3151/3068/1317 3636/3469/1718 3633/3464/1713 +f 3633/3464/1713 3637/3470/1719 3634/3465/1714 +f 3634/3465/1714 3638/3471/1720 3635/3466/1715 +f 3635/3466/1715 2975/3472/1721 2974/3467/1716 +f 3159/3076/1325 3636/3469/1718 3150/3070/1319 +f 3639/3473/1722 3637/3470/1719 3636/3469/1718 +f 3640/3474/1723 3638/3471/1720 3637/3470/1719 +f 3641/3475/1724 2975/3472/1721 3638/3471/1720 +f 3158/3078/1327 3639/3473/1722 3159/3076/1325 +f 3642/3476/1725 3640/3474/1723 3639/3473/1722 +f 3643/3477/1726 3641/3475/1724 3640/3474/1723 +f 3644/3478/1727 2976/3479/1728 3641/3475/1724 +f 3162/3080/1329 3642/3476/1725 3158/3078/1327 +f 3645/3480/1729 3643/3477/1726 3642/3476/1725 +f 3646/3481/1730 3644/3478/1727 3643/3477/1726 +f 3647/3482/1731 2977/3483/1732 3644/3478/1727 +f 3162/3080/1329 3648/3484/1733 3645/3480/1729 +f 3648/3484/1733 3646/3481/1730 3645/3480/1729 +f 3646/3481/1730 3650/3485/1734 3647/3482/1731 +f 3650/3485/1734 2978/3486/1735 3647/3482/1731 +f 3164/3082/1331 3651/3487/1736 3648/3484/1733 +f 3648/3484/1733 3652/3488/1737 3649/3489/1738 +f 3649/3489/1738 3653/3490/1739 3650/3485/1734 +f 3650/3485/1734 2980/3491/1740 2979/3492/1741 +f 3166/3084/1333 3654/3493/1742 3651/3487/1736 +f 3651/3487/1736 3655/3494/1743 3652/3488/1737 +f 3652/3488/1737 3656/3495/1744 3653/3490/1739 +f 3653/3490/1739 2981/3496/1745 2980/3491/1740 +f 3168/3086/1335 3657/3497/1746 3654/3493/1742 +f 3654/3493/1742 3658/3498/1747 3655/3494/1743 +f 3655/3494/1743 3659/3499/1748 3656/3495/1744 +f 3656/3495/1744 2982/3500/1749 2981/3496/1745 +f 3154/3075/1324 3657/3497/1746 3155/3073/1322 +f 3660/3501/1750 3658/3498/1747 3657/3497/1746 +f 3661/3502/1751 3659/3499/1748 3658/3498/1747 +f 3662/3503/1752 2982/3500/1749 3659/3499/1748 +f 3171/3088/1337 3660/3501/1750 3154/3075/1324 +f 3663/3504/1753 3661/3502/1751 3660/3501/1750 +f 3664/3505/1754 3662/3503/1752 3661/3502/1751 +f 3665/3506/1755 2983/3507/1756 3662/3503/1752 +f 3171/3088/1337 3666/3508/1757 3663/3504/1753 +f 3663/3504/1753 3667/3509/1758 3664/3505/1754 +f 3664/3505/1754 3668/3510/1759 3665/3506/1755 +f 3665/3506/1755 2985/3511/1760 2984/3512/1761 +f 3179/3096/1345 3666/3508/1757 3170/3090/1339 +f 3669/3513/1762 3667/3509/1758 3666/3508/1757 +f 3670/3514/1763 3668/3510/1759 3667/3509/1758 +f 3671/3515/1764 2985/3511/1760 3668/3510/1759 +f 3178/3098/1347 3669/3513/1762 3179/3096/1345 +f 3672/3516/1765 3670/3514/1763 3669/3513/1762 +f 3673/3517/1766 3671/3515/1764 3670/3514/1763 +f 3674/3518/1767 2986/3519/1768 3671/3515/1764 +f 3182/3100/1349 3672/3516/1765 3178/3098/1347 +f 3675/3520/1769 3673/3517/1766 3672/3516/1765 +f 3676/3521/1770 3674/3518/1767 3673/3517/1766 +f 3677/3522/1771 2987/3523/1772 3674/3518/1767 +f 3182/3100/1349 3678/3524/1773 3675/3520/1769 +f 3675/3520/1769 3679/3525/1774 3676/3521/1770 +f 3676/3521/1770 3680/3526/1775 3677/3522/1771 +f 3680/3526/1775 2988/3527/1776 3677/3522/1771 +f 3184/3102/1351 3681/3528/1777 3678/3524/1773 +f 3678/3524/1773 3682/3529/1778 3679/3525/1774 +f 3679/3525/1774 3683/3530/1779 3680/3526/1775 +f 3680/3526/1775 2990/3531/1780 2989/3532/1781 +f 3186/3104/1353 3684/3533/1782 3681/3528/1777 +f 3681/3528/1777 3685/3534/1783 3682/3529/1778 +f 3682/3529/1778 3686/3535/1784 3683/3530/1779 +f 3683/3530/1779 2991/3536/1785 2990/3531/1780 +f 3188/3106/1355 3687/3537/1786 3684/3533/1782 +f 3684/3533/1782 3688/3538/1787 3685/3534/1783 +f 3685/3534/1783 3689/3539/1788 3686/3535/1784 +f 3686/3535/1784 2992/3540/1789 2991/3536/1785 +f 3174/3095/1344 3687/3537/1786 3175/3093/1342 +f 3690/3541/1790 3688/3538/1787 3687/3537/1786 +f 3691/3542/1791 3689/3539/1788 3688/3538/1787 +f 3692/3543/1792 2992/3540/1789 3689/3539/1788 +f 3191/3108/1357 3690/3541/1790 3174/3095/1344 +f 3693/3544/1793 3691/3542/1791 3690/3541/1790 +f 3694/3545/1794 3692/3543/1792 3691/3542/1791 +f 3695/3546/1795 2993/3547/1796 3692/3543/1792 +f 3191/3108/1357 3696/3548/1797 3693/3544/1793 +f 3693/3544/1793 3697/3549/1798 3694/3545/1794 +f 3694/3545/1794 3698/3550/1799 3695/3546/1795 +f 3695/3546/1795 2995/3551/1800 2994/2966/1215 +f 3199/3116/1365 3696/3548/1797 3190/3110/1359 +f 3699/3552/1801 3697/3549/1798 3696/3548/1797 +f 3700/3553/1802 3698/3550/1799 3697/3549/1798 +f 3701/3554/1803 2995/3551/1800 3698/3550/1799 +f 3198/3118/1367 3699/3552/1801 3199/3116/1365 +f 3702/3555/1804 3700/3553/1802 3699/3552/1801 +f 3703/3556/1805 3701/3554/1803 3700/3553/1802 +f 3704/3557/1806 2996/3558/1807 3701/3554/1803 +f 3202/3120/1369 3702/3555/1804 3198/3118/1367 +f 3705/3559/1808 3703/3556/1805 3702/3555/1804 +f 3706/3560/1809 3704/3557/1806 3703/3556/1805 +f 3707/3561/1810 2997/3562/1811 3704/3557/1806 +f 3204/3122/1371 3705/3559/1808 3202/3120/1369 +f 3705/3559/1808 3709/3563/1812 3706/3560/1809 +f 3709/3563/1812 3707/3561/1810 3706/3560/1809 +f 3707/3561/1810 2999/3564/1813 2998/3565/1814 +f 3204/3122/1371 3711/3566/1815 3708/3567/1816 +f 3708/3567/1816 3712/3568/1817 3709/3563/1812 +f 3709/3563/1812 3713/3569/1818 3710/3570/1819 +f 3710/3570/1819 3000/3571/1820 2999/3564/1813 +f 3206/3124/1373 3714/3572/1821 3711/3566/1815 +f 3711/3566/1815 3715/3573/1822 3712/3568/1817 +f 3712/3568/1817 3716/3574/1823 3713/3569/1818 +f 3713/3569/1818 3001/3575/1824 3000/3571/1820 +f 3208/3126/1375 3717/3576/1825 3714/3572/1821 +f 3714/3572/1821 3718/3577/1826 3715/3573/1822 +f 3715/3573/1822 3719/3578/1827 3716/3574/1823 +f 3716/3574/1823 3002/3579/1828 3001/3575/1824 +f 3194/3115/1364 3717/3576/1825 3195/3113/1362 +f 3720/3580/1829 3718/3577/1826 3717/3576/1825 +f 3721/3581/1830 3719/3578/1827 3718/3577/1826 +f 3722/3582/1831 3002/3579/1828 3719/3578/1827 +f 3214/3132/1381 3720/3580/1829 3194/3115/1364 +f 3723/3583/1832 3721/3581/1830 3720/3580/1829 +f 3724/3584/1833 3722/3582/1831 3721/3581/1830 +f 3725/3585/1834 3003/3586/1835 3722/3582/1831 +f 3214/3132/1381 3726/3587/1836 3723/3583/1832 +f 3723/3583/1832 3727/3588/1837 3724/3584/1833 +f 3724/3584/1833 3728/3589/1838 3725/3585/1834 +f 3725/3585/1834 3005/3590/1839 3004/3591/1840 +f 3211/3128/1377 3729/3592/1841 3726/3587/1836 +f 3726/3587/1836 3730/3593/1842 3727/3588/1837 +f 3727/3588/1837 3731/3594/1843 3728/3589/1838 +f 3728/3589/1838 3006/3595/1844 3005/3590/1839 +f 3221/3138/1387 3729/3592/1841 3210/3130/1379 +f 3732/3596/1845 3730/3593/1842 3729/3592/1841 +f 3733/3597/1846 3731/3594/1843 3730/3593/1842 +f 3734/3598/1847 3006/3595/1844 3731/3594/1843 +f 3220/3140/1389 3732/3596/1845 3221/3138/1387 +f 3735/3599/1848 3733/3597/1846 3732/3596/1845 +f 3736/3600/1849 3734/3598/1847 3733/3597/1846 +f 3737/3601/1850 3007/3602/1851 3734/3598/1847 +f 3224/3142/1391 3735/3599/1848 3220/3140/1389 +f 3738/3603/1852 3736/3600/1849 3735/3599/1848 +f 3739/3604/1853 3737/3601/1850 3736/3600/1849 +f 3740/3605/1854 3008/3606/1855 3737/3601/1850 +f 3226/3144/1393 3738/3603/1852 3224/3142/1391 +f 3741/3607/1856 3739/3604/1853 3738/3603/1852 +f 3739/3604/1853 3743/3608/1857 3740/3605/1854 +f 3740/3605/1854 3010/3609/1858 3009/3610/1859 +f 3226/3144/1393 3744/3611/1860 3741/3607/1856 +f 3741/3607/1856 3745/3612/1861 3742/3613/1862 +f 3742/3613/1862 3746/3614/1863 3743/3608/1857 +f 3743/3608/1857 3011/3615/1864 3010/3609/1858 +f 3228/3146/1395 3747/3616/1865 3744/3611/1860 +f 3744/3611/1860 3748/3617/1866 3745/3612/1861 +f 3745/3612/1861 3749/3618/1867 3746/3614/1863 +f 3746/3614/1863 3012/3619/1868 3011/3615/1864 +f 3230/3148/1397 3750/3620/1869 3747/3616/1865 +f 3747/3616/1865 3751/3621/1870 3748/3617/1866 +f 3748/3617/1866 3752/3622/1871 3749/3618/1867 +f 3749/3618/1867 3013/3623/1872 3012/3619/1868 +f 3216/3137/1386 3750/3620/1869 3217/3135/1384 +f 3753/3624/1873 3751/3621/1870 3750/3620/1869 +f 3754/3625/1874 3752/3622/1871 3751/3621/1870 +f 3755/3626/1875 3013/3623/1872 3752/3622/1871 +f 3216/3137/1386 3756/3627/1876 3753/3624/1873 +f 3753/3624/1873 3757/3628/1877 3754/3625/1874 +f 3754/3625/1874 3758/3629/1878 3755/3626/1875 +f 3755/3626/1875 3015/3630/1879 3014/3631/1880 +f 3233/3150/1399 3759/3632/1881 3756/3627/1876 +f 3756/3627/1876 3760/3633/1882 3757/3628/1877 +f 3757/3628/1877 3761/3634/1883 3758/3629/1878 +f 3758/3629/1878 3016/3635/1884 3015/3630/1879 +f 3241/3158/1407 3759/3632/1881 3232/3152/1401 +f 3762/3636/1885 3760/3633/1882 3759/3632/1881 +f 3763/3637/1886 3761/3634/1883 3760/3633/1882 +f 3764/3638/1887 3016/3635/1884 3761/3634/1883 +f 3240/3160/1409 3762/3636/1885 3241/3158/1407 +f 3765/3639/1888 3763/3637/1886 3762/3636/1885 +f 3766/3640/1889 3764/3638/1887 3763/3637/1886 +f 3767/3641/1890 3017/3642/1891 3764/3638/1887 +f 3244/3162/1411 3765/3639/1888 3240/3160/1409 +f 3768/3643/1892 3766/3640/1889 3765/3639/1888 +f 3769/3644/1893 3767/3641/1890 3766/3640/1889 +f 3770/3645/1894 3018/3646/1895 3767/3641/1890 +f 3244/3162/1411 3771/3647/1896 3768/3643/1892 +f 3771/3647/1896 3769/3644/1893 3768/3643/1892 +f 3772/3648/1897 3770/3645/1894 3769/3644/1893 +f 3770/3645/1894 3020/3649/1898 3019/3650/1899 +f 3246/3164/1413 3774/3651/1900 3771/3647/1896 +f 3771/3647/1896 3775/3652/1901 3772/3648/1897 +f 3772/3648/1897 3776/3653/1902 3773/3654/1903 +f 3773/3654/1903 3021/3655/1904 3020/3649/1898 +f 3248/3166/1415 3777/3656/1905 3774/3651/1900 +f 3774/3651/1900 3778/3657/1906 3775/3652/1901 +f 3775/3652/1901 3779/3658/1907 3776/3653/1902 +f 3776/3653/1902 3022/3659/1908 3021/3655/1904 +f 3250/3168/1417 3780/3660/1909 3777/3656/1905 +f 3777/3656/1905 3781/3661/1910 3778/3657/1906 +f 3778/3657/1906 3782/3662/1911 3779/3658/1907 +f 3779/3658/1907 3023/3663/1912 3022/3659/1908 +f 3236/3157/1406 3780/3660/1909 3237/3155/1404 +f 3783/3664/1913 3781/3661/1910 3780/3660/1909 +f 3784/3665/1914 3782/3662/1911 3781/3661/1910 +f 3785/3666/1915 3023/3663/1912 3782/3662/1911 +f 3253/3170/1419 3783/3664/1913 3236/3157/1406 +f 3786/3667/1916 3784/3665/1914 3783/3664/1913 +f 3787/3668/1917 3785/3666/1915 3784/3665/1914 +f 3788/3669/1918 3024/3670/1919 3785/3666/1915 +f 3253/3170/1419 3789/3671/1920 3786/3667/1916 +f 3786/3667/1916 3790/3672/1921 3787/3668/1917 +f 3787/3668/1917 3791/3673/1922 3788/3669/1918 +f 3788/3669/1918 3026/3674/1923 3025/3675/1924 +f 3261/3178/1427 3789/3671/1920 3252/3172/1421 +f 3792/3676/1925 3790/3672/1921 3789/3671/1920 +f 3793/3677/1926 3791/3673/1922 3790/3672/1921 +f 3794/3678/1927 3026/3674/1923 3791/3673/1922 +f 3260/3180/1429 3792/3676/1925 3261/3178/1427 +f 3795/3679/1928 3793/3677/1926 3792/3676/1925 +f 3796/3680/1929 3794/3678/1927 3793/3677/1926 +f 3797/3681/1930 3027/3682/1931 3794/3678/1927 +f 3264/3182/1431 3795/3679/1928 3260/3180/1429 +f 3798/3683/1932 3796/3680/1929 3795/3679/1928 +f 3799/3684/1933 3797/3681/1930 3796/3680/1929 +f 3800/3685/1934 3028/3686/1935 3797/3681/1930 +f 3264/3182/1431 3801/3687/1936 3798/3683/1932 +f 3798/3683/1932 3802/3688/1937 3799/3684/1933 +f 3802/3688/1937 3800/3685/1934 3799/3684/1933 +f 3800/3685/1934 3030/3689/1938 3029/3690/1939 +f 3266/3184/1433 3804/3691/1940 3801/3687/1936 +f 3801/3687/1936 3805/3692/1941 3802/3688/1937 +f 3802/3688/1937 3806/3693/1942 3803/3694/1943 +f 3803/3694/1943 3031/3695/1944 3030/3689/1938 +f 3268/3186/1435 3807/3696/1945 3804/3691/1940 +f 3804/3691/1940 3808/3697/1946 3805/3692/1941 +f 3805/3692/1941 3809/3698/1947 3806/3693/1942 +f 3806/3693/1942 3032/3699/1948 3031/3695/1944 +f 3270/3188/1437 3810/3700/1949 3807/3696/1945 +f 3807/3696/1945 3811/3701/1950 3808/3697/1946 +f 3808/3697/1946 3812/3702/1951 3809/3698/1947 +f 3809/3698/1947 3033/3703/1952 3032/3699/1948 +f 3256/3177/1426 3810/3700/1949 3257/3175/1424 +f 3813/3704/1953 3811/3701/1950 3810/3700/1949 +f 3814/3705/1954 3812/3702/1951 3811/3701/1950 +f 3815/3706/1955 3033/3703/1952 3812/3702/1951 +f 3273/3190/1439 3813/3704/1953 3256/3177/1426 +f 3816/3707/1956 3814/3705/1954 3813/3704/1953 +f 3817/3708/1957 3815/3706/1955 3814/3705/1954 +f 3818/3709/1958 3034/3710/1959 3815/3706/1955 +f 3272/3192/1441 3816/3707/1956 3273/3190/1439 +f 3819/3711/1960 3817/3708/1957 3816/3707/1956 +f 3820/3712/1961 3818/3709/1958 3817/3708/1957 +f 3821/3713/1962 3035/3714/1963 3818/3709/1958 +f 3272/3192/1441 3822/3715/1964 3819/3711/1960 +f 3819/3711/1960 3823/3716/1965 3820/3712/1961 +f 3820/3712/1961 3824/3717/1966 3821/3713/1962 +f 3821/3713/1962 3037/3718/1967 3036/3719/1968 +f 3281/3198/1447 3825/3720/1969 3822/3715/1964 +f 3822/3715/1964 3826/3721/1970 3823/3716/1965 +f 3823/3716/1965 3827/3722/1971 3824/3717/1966 +f 3824/3717/1966 3038/3723/1972 3037/3718/1967 +f 3280/3200/1449 3828/3724/1973 3825/3720/1969 +f 3825/3720/1969 3829/3725/1974 3826/3721/1970 +f 3826/3721/1970 3830/3726/1975 3827/3722/1971 +f 3827/3722/1971 3039/3727/1976 3038/3723/1972 +f 3284/3202/1451 3831/3728/1977 3828/3724/1973 +f 3828/3724/1973 3832/3729/1978 3829/3725/1974 +f 3832/3729/1978 3830/3726/1975 3829/3725/1974 +f 3833/3730/1979 3039/3727/1976 3830/3726/1975 +f 3288/3206/1455 3831/3728/1977 3286/3204/1453 +f 3834/3731/1980 3832/3729/1978 3831/3728/1977 +f 3835/3732/1981 3833/3730/1979 3832/3729/1978 +f 3836/3733/1982 3040/3734/1983 3833/3730/1979 +f 3290/3208/1457 3834/3731/1980 3288/3206/1455 +f 3837/3735/1984 3835/3732/1981 3834/3731/1980 +f 3838/3736/1985 3836/3733/1982 3835/3732/1981 +f 3839/3737/1986 3041/3738/1987 3836/3733/1982 +f 3277/3195/1444 3837/3735/1984 3290/3208/1457 +f 3840/3739/1988 3838/3736/1985 3837/3735/1984 +f 3841/3740/1989 3839/3737/1986 3838/3736/1985 +f 3842/3741/1990 3042/3742/1991 3839/3737/1986 +f 3277/3195/1444 3843/3743/1992 3840/3739/1988 +f 3840/3739/1988 3844/3744/1993 3841/3740/1989 +f 3841/3740/1989 3845/3745/1994 3842/3741/1990 +f 3842/3741/1990 3044/3746/1995 3043/3747/1996 +f 3276/3197/1446 3478/3262/1511 3843/3743/1992 +f 3843/3743/1992 3476/3260/1509 3844/3744/1993 +f 3844/3744/1993 3474/3258/1507 3845/3745/1994 +f 3845/3745/1994 3045/3255/1504 3044/3746/1995 +f 2899/2962/1211 3846/3748/1997 3479/3261/1510 +f 3479/3261/1510 3847/3749/1998 3477/3259/1508 +f 3477/3259/1508 3848/3750/1999 3475/3256/1505 +f 3475/3256/1505 2903/3751/2000 2902/3257/1506 +f 2898/2964/1213 3849/3752/2001 3846/3748/1997 +f 3846/3748/1997 3850/3753/2002 3847/3749/1998 +f 3847/3749/1998 3851/3754/2003 3848/3750/1999 +f 3848/3750/1999 2904/3755/2004 2903/3751/2000 +f 3301/3219/1468 3849/3752/2001 3292/3211/1460 +f 3852/3756/2005 3850/3753/2002 3849/3752/2001 +f 3853/3757/2006 3851/3754/2003 3850/3753/2002 +f 3854/3758/2007 2904/3755/2004 3851/3754/2003 +f 3300/3221/1470 3852/3756/2005 3301/3219/1468 +f 3855/3759/2008 3853/3757/2006 3852/3756/2005 +f 3856/3760/2009 3854/3758/2007 3853/3757/2006 +f 3857/3761/2010 2905/3762/2011 3854/3758/2007 +f 3304/3223/1472 3855/3759/2008 3300/3221/1470 +f 3858/3763/2012 3856/3760/2009 3855/3759/2008 +f 3859/3764/2013 3857/3761/2010 3856/3760/2009 +f 3860/3765/2014 2906/3766/2015 3857/3761/2010 +f 3304/3223/1472 3861/3767/2016 3858/3763/2012 +f 3861/3767/2016 3859/3764/2013 3858/3763/2012 +f 3862/3768/2017 3860/3765/2014 3859/3764/2013 +f 3863/3769/2018 2907/3770/2019 3860/3765/2014 +f 3306/3225/1474 3864/3771/2020 3861/3767/2016 +f 3861/3767/2016 3865/3772/2021 3862/3768/2017 +f 3862/3768/2017 3866/3773/2022 3863/3769/2018 +f 3863/3769/2018 2909/3774/2023 2908/3775/2024 +f 3308/3227/1476 3867/3776/2025 3864/3771/2020 +f 3864/3771/2020 3868/3777/2026 3865/3772/2021 +f 3865/3772/2021 3869/3778/2027 3866/3773/2022 +f 3866/3773/2022 2910/3779/2028 2909/3774/2023 +f 3310/3229/1478 3870/3780/2029 3867/3776/2025 +f 3867/3776/2025 3871/3781/2030 3868/3777/2026 +f 3868/3777/2026 3872/3782/2031 3869/3778/2027 +f 3869/3778/2027 2911/3783/2032 2910/3779/2028 +f 3296/3218/1467 3870/3780/2029 3297/3216/1465 +f 3873/3784/2033 3871/3781/2030 3870/3780/2029 +f 3874/3785/2034 3872/3782/2031 3871/3781/2030 +f 3875/3786/2035 2911/3783/2032 3872/3782/2031 +f 3296/3218/1467 3876/3787/2036 3873/3784/2033 +f 3873/3784/2033 3877/3788/2037 3874/3785/2034 +f 3874/3785/2034 3878/3789/2038 3875/3786/2035 +f 3875/3786/2035 2913/3790/2039 2912/3791/2040 +f 3313/3231/1480 3879/3792/2041 3876/3787/2036 +f 3876/3787/2036 3880/3793/2042 3877/3788/2037 +f 3877/3788/2037 3881/3794/2043 3878/3789/2038 +f 3878/3789/2038 2914/3795/2044 2913/3790/2039 +f 3319/3238/1487 3879/3792/2041 3312/3233/1482 +f 3882/3796/2045 3880/3793/2042 3879/3792/2041 +f 3880/3793/2042 3884/3797/2046 3881/3794/2043 +f 3881/3794/2043 2915/3798/2047 2914/3795/2044 +f 3319/3238/1487 3885/3799/2048 3882/3796/2045 +f 3882/3796/2045 3886/3800/2049 3883/3801/2050 +f 3886/3800/2049 3884/3797/2046 3883/3801/2050 +f 3887/3802/2051 2915/3798/2047 3884/3797/2046 +f 3318/3240/1489 3888/3803/2052 3885/3799/2048 +f 3888/3803/2052 3886/3800/2049 3885/3799/2048 +f 3889/3804/2053 3887/3802/2051 3886/3800/2049 +f 3890/3805/2054 2916/3806/2055 3887/3802/2051 +f 3322/3242/1491 3891/3807/2056 3888/3803/2052 +f 3891/3807/2056 3889/3804/2053 3888/3803/2052 +f 3889/3804/2053 3893/3808/2057 3890/3805/2054 +f 3893/3808/2057 2917/3809/2058 3890/3805/2054 +f 3324/3244/1493 3894/3810/2059 3891/3807/2056 +f 3891/3807/2056 3895/3811/2060 3892/3812/2061 +f 3895/3811/2060 3893/3808/2057 3892/3812/2061 +f 3896/3813/2062 2918/3814/2063 3893/3808/2057 +f 3328/3248/1497 3894/3810/2059 3326/3246/1495 +f 3894/3810/2059 3898/3815/2064 3895/3811/2060 +f 3895/3811/2060 3899/3816/2065 3896/3813/2062 +f 3896/3813/2062 2920/3817/2066 2919/3818/2067 +f 3316/3236/1485 3897/3819/2068 3328/3248/1497 +f 3897/3819/2068 3901/3820/2069 3898/3815/2064 +f 3901/3820/2069 3899/3816/2065 3898/3815/2064 +f 3902/3821/2070 2920/3817/2066 3899/3816/2065 +f 3047/2968/1217 3900/3822/2071 3316/3236/1485 +f 3903/3823/2072 3901/3820/2069 3900/3822/2071 +f 3904/3824/2073 3902/3821/2070 3901/3820/2069 +f 3905/3825/2074 2921/3826/2075 3902/3821/2070 +f 3047/2968/1217 3481/3264/1513 3903/3823/2072 +f 3481/3264/1513 3904/3824/2073 3903/3823/2072 +f 3483/3266/1515 3905/3825/2074 3904/3824/2073 +f 3905/3825/2074 2923/3270/1519 2922/3827/2076 +f 2900/3828/2077 3906/3829/2078 3907/3830/2079 +f 3907/3830/2079 3908/3831/2080 3909/3832/2081 +f 3909/3832/2081 3910/3833/2082 3911/3834/2083 +f 3911/3834/2083 3331/3835/2084 3330/3836/2085 +f 3452/3837/2086 3913/3838/2087 3453/3839/2088 +f 3912/3840/2089 3915/3841/2090 3913/3838/2087 +f 3914/3842/2091 3917/3843/2092 3915/3841/2090 +f 3916/3844/2093 3049/2969/1218 3917/3843/2092 +f 3452/3837/2086 3918/3845/2094 3912/3840/2089 +f 3918/3845/2094 3914/3842/2091 3912/3840/2089 +f 3919/3846/2095 3916/3844/2093 3914/3842/2091 +f 3916/3844/2093 3052/2990/1239 3071/3012/1261 +f 3451/3847/2096 3921/3848/2097 3918/3845/2094 +f 3921/3848/2097 3919/3846/2095 3918/3845/2094 +f 3919/3846/2095 3923/3849/2098 3920/3850/2099 +f 3923/3849/2098 3052/2990/1239 3920/3850/2099 +f 3449/3851/2100 3921/3848/2097 3450/3852/2101 +f 3924/3853/2102 3922/3854/2103 3921/3848/2097 +f 3922/3854/2103 3926/3855/2104 3923/3849/2098 +f 3923/3849/2098 3055/2974/1223 3053/2972/1221 +f 3449/3851/2100 3927/3856/2105 3924/3853/2102 +f 3927/3856/2105 3925/3857/2106 3924/3853/2102 +f 3928/3858/2107 3926/3855/2104 3925/3857/2106 +f 3926/3855/2104 3057/2976/1225 3055/2974/1223 +f 3447/3859/2108 3927/3856/2105 3448/3860/2109 +f 3930/3861/2110 3928/3858/2107 3927/3856/2105 +f 3928/3858/2107 3932/3862/2111 3929/3863/2112 +f 3929/3863/2112 3059/2978/1227 3057/2976/1225 +f 3446/3864/2113 3930/3861/2110 3447/3859/2108 +f 3930/3861/2110 3934/3865/2114 3931/3866/2115 +f 3931/3866/2115 3935/3867/2116 3932/3862/2111 +f 3935/3867/2116 3059/2978/1227 3932/3862/2111 +f 3446/3864/2113 3936/3868/2117 3933/3869/2118 +f 3933/3869/2118 3937/3870/2119 3934/3865/2114 +f 3937/3870/2119 3935/3867/2116 3934/3865/2114 +f 3938/3871/2120 3061/2980/1229 3935/3867/2116 +f 3445/3872/2121 3939/3873/2122 3936/3868/2117 +f 3936/3868/2117 3940/3874/2123 3937/3870/2119 +f 3937/3870/2119 3941/3875/2124 3938/3871/2120 +f 3938/3871/2120 3069/3254/1503 3063/2982/1231 +f 3444/3876/2125 3942/3877/2126 3939/3873/2122 +f 3939/3873/2122 3943/3878/2127 3940/3874/2123 +f 3940/3874/2123 3944/3879/2128 3941/3875/2124 +f 3941/3875/2124 3066/2988/1237 3069/3254/1503 +f 3443/3880/2129 3945/3881/2130 3942/3877/2126 +f 3942/3877/2126 3946/3882/2131 3943/3878/2127 +f 3943/3878/2127 3947/3883/2132 3944/3879/2128 +f 3944/3879/2128 3067/2985/1234 3066/2988/1237 +f 3441/3884/2133 3945/3881/2130 3442/3885/2134 +f 3948/3886/2135 3946/3882/2131 3945/3881/2130 +f 3949/3887/2136 3947/3883/2132 3946/3882/2131 +f 3950/3888/2137 3067/2985/1234 3947/3883/2132 +f 3440/3889/2138 3948/3886/2135 3441/3884/2133 +f 3951/3890/2139 3949/3887/2136 3948/3886/2135 +f 3952/3891/2140 3950/3888/2137 3949/3887/2136 +f 3953/3892/2141 3078/3009/1258 3950/3888/2137 +f 3439/3893/2142 3951/3890/2139 3440/3889/2138 +f 3954/3894/2143 3952/3891/2140 3951/3890/2139 +f 3955/3895/2144 3953/3892/2141 3952/3891/2140 +f 3956/3896/2145 3079/2995/1244 3953/3892/2141 +f 3439/3893/2142 3957/3897/2146 3954/3894/2143 +f 3954/3894/2143 3958/3898/2147 3955/3895/2144 +f 3958/3898/2147 3956/3896/2145 3955/3895/2144 +f 3959/3899/2148 3081/2997/1246 3956/3896/2145 +f 3438/3900/2149 3960/3901/2150 3957/3897/2146 +f 3957/3897/2146 3961/3902/2151 3958/3898/2147 +f 3958/3898/2147 3962/3903/2152 3959/3899/2148 +f 3959/3899/2148 3085/3001/1250 3083/2999/1248 +f 3437/3904/2153 3963/3905/2154 3960/3901/2150 +f 3960/3901/2150 3964/3906/2155 3961/3902/2151 +f 3961/3902/2151 3965/3907/2156 3962/3903/2152 +f 3962/3903/2152 3087/3003/1252 3085/3001/1250 +f 3436/3908/2157 3966/3909/2158 3963/3905/2154 +f 3963/3905/2154 3967/3910/2159 3964/3906/2155 +f 3964/3906/2155 3968/3911/2160 3965/3907/2156 +f 3965/3907/2156 3074/3005/1254 3087/3003/1252 +f 3434/3912/2161 3966/3909/2158 3435/3913/2162 +f 3969/3914/2163 3967/3910/2159 3966/3909/2158 +f 3970/3915/2164 3968/3911/2160 3967/3910/2159 +f 3971/3916/2165 3074/3005/1254 3968/3911/2160 +f 3433/3917/2166 3969/3914/2163 3434/3912/2161 +f 3972/3918/2167 3970/3915/2164 3969/3914/2163 +f 3973/3919/2168 3971/3916/2165 3970/3915/2164 +f 3974/3920/2169 3075/2992/1241 3971/3916/2165 +f 3433/3917/2166 3975/3921/2170 3972/3918/2167 +f 3972/3918/2167 3976/3922/2171 3973/3919/2168 +f 3973/3919/2168 3977/3923/2172 3974/3920/2169 +f 3974/3920/2169 3090/3011/1260 3093/3134/1383 +f 3432/3924/2173 3978/3925/2174 3975/3921/2170 +f 3975/3921/2170 3979/3926/2175 3976/3922/2171 +f 3976/3922/2171 3980/3927/2176 3977/3923/2172 +f 3977/3923/2172 3091/3007/1256 3090/3011/1260 +f 3431/3928/2177 3981/3929/2178 3978/3925/2174 +f 3978/3925/2174 3982/3930/2179 3979/3926/2175 +f 3979/3926/2175 3983/3931/2180 3980/3927/2176 +f 3980/3927/2176 3100/3032/1281 3091/3007/1256 +f 3430/3932/2181 3984/3933/2182 3981/3929/2178 +f 3981/3929/2178 3985/3934/2183 3982/3930/2179 +f 3982/3930/2179 3986/3935/2184 3983/3931/2180 +f 3983/3931/2180 3101/3017/1266 3100/3032/1281 +f 3429/3936/2185 3987/3937/2186 3984/3933/2182 +f 3984/3933/2182 3988/3938/2187 3985/3934/2183 +f 3985/3934/2183 3989/3939/2188 3986/3935/2184 +f 3986/3935/2184 3103/3019/1268 3101/3017/1266 +f 3428/3940/2189 3990/3941/2190 3987/3937/2186 +f 3990/3941/2190 3988/3938/2187 3987/3937/2186 +f 3988/3938/2187 3992/3942/2191 3989/3939/2188 +f 3992/3942/2191 3103/3019/1268 3989/3939/2188 +f 3426/3943/2192 3990/3941/2190 3427/3944/2193 +f 3993/3945/2194 3991/3946/2195 3990/3941/2190 +f 3994/3947/2196 3992/3942/2191 3991/3946/2195 +f 3995/3948/2197 3105/3021/1270 3992/3942/2191 +f 3425/3949/2198 3993/3945/2194 3426/3943/2192 +f 3996/3950/2199 3994/3947/2196 3993/3945/2194 +f 3997/3951/2200 3995/3948/2197 3994/3947/2196 +f 3998/3952/2201 3107/3023/1272 3995/3948/2197 +f 3424/3953/2202 3996/3950/2199 3425/3949/2198 +f 3999/3954/2203 3997/3951/2200 3996/3950/2199 +f 4000/3955/2204 3998/3952/2201 3997/3951/2200 +f 4001/3956/2205 3109/3025/1274 3998/3952/2201 +f 3423/3957/2206 3999/3954/2203 3424/3953/2202 +f 4002/3958/2207 4000/3955/2204 3999/3954/2203 +f 4003/3959/2208 4001/3956/2205 4000/3955/2204 +f 4004/3960/2209 3096/3027/1276 4001/3956/2205 +f 3422/3961/2210 4002/3958/2207 3423/3957/2206 +f 4005/3962/2211 4003/3959/2208 4002/3958/2207 +f 4006/3963/2212 4004/3960/2209 4003/3959/2208 +f 4007/3964/2213 3097/3014/1263 4004/3960/2209 +f 3422/3961/2210 4008/3965/2214 4005/3962/2211 +f 4005/3962/2211 4009/3966/2215 4006/3963/2212 +f 4006/3963/2212 4010/3967/2216 4007/3964/2213 +f 4007/3964/2213 3113/3029/1278 3112/3031/1280 +f 3420/3252/1501 4008/3965/2214 3421/3968/2217 +f 4011/3969/2218 4009/3966/2215 4008/3965/2214 +f 4012/3970/2219 4010/3967/2216 4009/3966/2215 +f 4013/3971/2220 3113/3029/1278 4010/3967/2216 +f 3419/3251/1500 4011/3969/2218 3420/3252/1501 +f 4014/3972/2221 4012/3970/2219 4011/3969/2218 +f 4015/3973/2222 4013/3971/2220 4012/3970/2219 +f 4016/3974/2223 3120/3052/1301 4013/3971/2220 +f 3418/3975/2224 4014/3972/2221 3419/3251/1500 +f 4017/3976/2225 4015/3973/2222 4014/3972/2221 +f 4018/3977/2226 4016/3974/2223 4015/3973/2222 +f 4019/3978/2227 3121/3037/1286 4016/3974/2223 +f 3417/3979/2228 4017/3976/2225 3418/3975/2224 +f 4017/3976/2225 4021/3980/2229 4018/3977/2226 +f 4021/3980/2229 4019/3978/2227 4018/3977/2226 +f 4019/3978/2227 3125/3041/1290 3123/3039/1288 +f 3417/3979/2228 4023/3981/2230 4020/3982/2231 +f 4020/3982/2231 4024/3983/2232 4021/3980/2229 +f 4021/3980/2229 4025/3984/2233 4022/3985/2234 +f 4022/3985/2234 3127/3043/1292 3125/3041/1290 +f 3416/3986/2235 4026/3987/2236 4023/3981/2230 +f 4023/3981/2230 4027/3988/2237 4024/3983/2232 +f 4024/3983/2232 4028/3989/2238 4025/3984/2233 +f 4025/3984/2233 3129/3045/1294 3127/3043/1292 +f 3415/3990/2239 4029/3991/2240 4026/3987/2236 +f 4026/3987/2236 4030/3992/2241 4027/3988/2237 +f 4027/3988/2237 4031/3993/2242 4028/3989/2238 +f 4028/3989/2238 3116/3047/1296 3129/3045/1294 +f 3413/3994/2243 4029/3991/2240 3414/3995/2244 +f 4032/3996/2245 4030/3992/2241 4029/3991/2240 +f 4033/3997/2246 4031/3993/2242 4030/3992/2241 +f 4034/3998/2247 3116/3047/1296 4031/3993/2242 +f 3412/3999/2248 4032/3996/2245 3413/3994/2243 +f 4035/4000/2249 4033/3997/2246 4032/3996/2245 +f 4036/4001/2250 4034/3998/2247 4033/3997/2246 +f 4037/4002/2251 3117/3034/1283 4034/3998/2247 +f 3411/4003/2252 4035/4000/2249 3412/3999/2248 +f 4038/4004/2253 4036/4001/2250 4035/4000/2249 +f 4039/4005/2254 4037/4002/2251 4036/4001/2250 +f 4040/4006/2255 3132/3051/1300 4037/4002/2251 +f 3411/4003/2252 4041/4007/2256 4038/4004/2253 +f 4038/4004/2253 4042/4008/2257 4039/4005/2254 +f 4039/4005/2254 4043/4009/2258 4040/4006/2255 +f 4040/4006/2255 3140/3072/1321 3133/3049/1298 +f 3410/4010/2259 4044/4011/2260 4041/4007/2256 +f 4041/4007/2256 4045/4012/2261 4042/4008/2257 +f 4042/4008/2257 4046/4013/2262 4043/4009/2258 +f 4043/4009/2258 3141/3057/1306 3140/3072/1321 +f 3409/4014/2263 4047/4015/2264 4044/4011/2260 +f 4044/4011/2260 4048/4016/2265 4045/4012/2261 +f 4045/4012/2261 4049/4017/2266 4046/4013/2262 +f 4046/4013/2262 3143/3059/1308 3141/3057/1306 +f 3408/4018/2267 4050/4019/2268 4047/4015/2264 +f 4047/4015/2264 4051/4020/2269 4048/4016/2265 +f 4048/4016/2265 4052/4021/2270 4049/4017/2266 +f 4049/4017/2266 3145/3061/1310 3143/3059/1308 +f 3406/4022/2271 4050/4019/2268 3407/4023/2272 +f 4053/4024/2273 4051/4020/2269 4050/4019/2268 +f 4054/4025/2274 4052/4021/2270 4051/4020/2269 +f 4055/4026/2275 3145/3061/1310 4052/4021/2270 +f 3405/4027/2276 4053/4024/2273 3406/4022/2271 +f 4056/4028/2277 4054/4025/2274 4053/4024/2273 +f 4057/4029/2278 4055/4026/2275 4054/4025/2274 +f 4058/4030/2279 3147/3063/1312 4055/4026/2275 +f 3404/4031/2280 4056/4028/2277 3405/4027/2276 +f 4059/4032/2281 4057/4029/2278 4056/4028/2277 +f 4060/4033/2282 4058/4030/2279 4057/4029/2278 +f 4061/4034/2283 3149/3065/1314 4058/4030/2279 +f 3404/4031/2280 4062/4035/2284 4059/4032/2281 +f 4059/4032/2281 4063/4036/2285 4060/4033/2282 +f 4060/4033/2282 4064/4037/2286 4061/4034/2283 +f 4061/4034/2283 3137/3054/1303 3136/3067/1316 +f 3402/4038/2287 4062/4035/2284 3403/4039/2288 +f 4065/4040/2289 4063/4036/2285 4062/4035/2284 +f 4066/4041/2290 4064/4037/2286 4063/4036/2285 +f 4067/4042/2291 3137/3054/1303 4064/4037/2286 +f 3401/4043/2292 4065/4040/2289 3402/4038/2287 +f 4068/4044/2293 4066/4041/2290 4065/4040/2289 +f 4069/4045/2294 4067/4042/2291 4066/4041/2290 +f 4070/4046/2295 3152/3071/1320 4067/4042/2291 +f 3401/4043/2292 4071/4047/2296 4068/4044/2293 +f 4068/4044/2293 4072/4048/2297 4069/4045/2294 +f 4069/4045/2294 4073/4049/2298 4070/4046/2295 +f 4070/4046/2295 3160/3092/1341 3153/3069/1318 +f 3400/4050/2299 4074/4051/2300 4071/4047/2296 +f 4071/4047/2296 4075/4052/2301 4072/4048/2297 +f 4072/4048/2297 4076/4053/2302 4073/4049/2298 +f 4073/4049/2298 3161/3077/1326 3160/3092/1341 +f 3399/4054/2303 4077/4055/2304 4074/4051/2300 +f 4074/4051/2300 4078/4056/2305 4075/4052/2301 +f 4075/4052/2301 4079/4057/2306 4076/4053/2302 +f 4076/4053/2302 3163/3079/1328 3161/3077/1326 +f 3398/4058/2307 4080/4059/2308 4077/4055/2304 +f 4080/4059/2308 4078/4056/2305 4077/4055/2304 +f 4078/4056/2305 4082/4060/2309 4079/4057/2306 +f 4082/4060/2309 3163/3079/1328 4079/4057/2306 +f 3396/4061/2310 4080/4059/2308 3397/4062/2311 +f 4083/4063/2312 4081/4064/2313 4080/4059/2308 +f 4084/4065/2314 4082/4060/2309 4081/4064/2313 +f 4085/4066/2315 3165/3081/1330 4082/4060/2309 +f 3395/4067/2316 4083/4063/2312 3396/4061/2310 +f 4086/4068/2317 4084/4065/2314 4083/4063/2312 +f 4087/4069/2318 4085/4066/2315 4084/4065/2314 +f 4088/4070/2319 3167/3083/1332 4085/4066/2315 +f 3394/4071/2320 4086/4068/2317 3395/4067/2316 +f 4089/4072/2321 4087/4069/2318 4086/4068/2317 +f 4090/4073/2322 4088/4070/2319 4087/4069/2318 +f 4091/4074/2323 3169/3085/1334 4088/4070/2319 +f 3394/4071/2320 4092/4075/2324 4089/4072/2321 +f 4089/4072/2321 4093/4076/2325 4090/4073/2322 +f 4090/4073/2322 4094/4077/2326 4091/4074/2323 +f 4091/4074/2323 3157/3074/1323 3156/3087/1336 +f 3393/4078/2327 4095/4079/2328 4092/4075/2324 +f 4092/4075/2324 4096/4080/2329 4093/4076/2325 +f 4093/4076/2325 4097/4081/2330 4094/4077/2326 +f 4094/4077/2326 3172/3091/1340 3157/3074/1323 +f 3391/4082/2331 4095/4079/2328 3392/4083/2332 +f 4098/4084/2333 4096/4080/2329 4095/4079/2328 +f 4099/4085/2334 4097/4081/2330 4096/4080/2329 +f 4100/4086/2335 3172/3091/1340 4097/4081/2330 +f 3391/4082/2331 4101/4087/2336 4098/4084/2333 +f 4098/4084/2333 4102/4088/2337 4099/4085/2334 +f 4099/4085/2334 4103/4089/2338 4100/4086/2335 +f 4100/4086/2335 3180/3112/1361 3173/3089/1338 +f 3390/4090/2339 4104/4091/2340 4101/4087/2336 +f 4101/4087/2336 4105/4092/2341 4102/4088/2337 +f 4102/4088/2337 4106/4093/2342 4103/4089/2338 +f 4103/4089/2338 3181/3097/1346 3180/3112/1361 +f 3389/4094/2343 4107/4095/2344 4104/4091/2340 +f 4104/4091/2340 4108/4096/2345 4105/4092/2341 +f 4105/4092/2341 4109/4097/2346 4106/4093/2342 +f 4106/4093/2342 3183/3099/1348 3181/3097/1346 +f 3388/4098/2347 4110/4099/2348 4107/4095/2344 +f 4110/4099/2348 4108/4096/2345 4107/4095/2344 +f 4108/4096/2345 4112/4100/2349 4109/4097/2346 +f 4112/4100/2349 3183/3099/1348 4109/4097/2346 +f 3386/4101/2350 4110/4099/2348 3387/4102/2351 +f 4113/4103/2352 4111/4104/2353 4110/4099/2348 +f 4114/4105/2354 4112/4100/2349 4111/4104/2353 +f 4115/4106/2355 3185/3101/1350 4112/4100/2349 +f 3385/4107/2356 4113/4103/2352 3386/4101/2350 +f 4116/4108/2357 4114/4105/2354 4113/4103/2352 +f 4117/4109/2358 4115/4106/2355 4114/4105/2354 +f 4118/4110/2359 3187/3103/1352 4115/4106/2355 +f 3384/4111/2360 4116/4108/2357 3385/4107/2356 +f 4119/4112/2361 4117/4109/2358 4116/4108/2357 +f 4120/4113/2362 4118/4110/2359 4117/4109/2358 +f 4121/4114/2363 3189/3105/1354 4118/4110/2359 +f 3384/4111/2360 4122/4115/2364 4119/4112/2361 +f 4119/4112/2361 4123/4116/2365 4120/4113/2362 +f 4120/4113/2362 4124/4117/2366 4121/4114/2363 +f 4121/4114/2363 3177/3094/1343 3176/3107/1356 +f 3383/4118/2367 4125/4119/2368 4122/4115/2364 +f 4122/4115/2364 4126/4120/2369 4123/4116/2365 +f 4123/4116/2365 4127/4121/2370 4124/4117/2366 +f 4124/4117/2366 3192/3111/1360 3177/3094/1343 +f 3381/4122/2371 4125/4119/2368 3382/3250/1499 +f 4128/4123/2372 4126/4120/2369 4125/4119/2368 +f 4129/4124/2373 4127/4121/2370 4126/4120/2369 +f 4130/4125/2374 3192/3111/1360 4127/4121/2370 +f 3381/4122/2371 4131/4126/2375 4128/4123/2372 +f 4128/4123/2372 4132/4127/2376 4129/4124/2373 +f 4129/4124/2373 4133/4128/2377 4130/4125/2374 +f 4130/4125/2374 3200/3131/1380 3193/3109/1358 +f 3380/4129/2378 4134/4130/2379 4131/4126/2375 +f 4131/4126/2375 4135/4131/2380 4132/4127/2376 +f 4132/4127/2376 4136/4132/2381 4133/4128/2377 +f 4133/4128/2377 3201/3117/1366 3200/3131/1380 +f 3379/4133/2382 4137/4134/2383 4134/4130/2379 +f 4134/4130/2379 4138/4135/2384 4135/4131/2380 +f 4135/4131/2380 4139/4136/2385 4136/4132/2381 +f 4136/4132/2381 3203/3119/1368 3201/3117/1366 +f 3377/4137/2386 4137/4134/2383 3378/4138/2387 +f 4137/4134/2383 4141/4139/2388 4138/4135/2384 +f 4141/4139/2388 4139/4136/2385 4138/4135/2384 +f 4142/4140/2389 3203/3119/1368 4139/4136/2385 +f 3376/4141/2390 4140/4142/2391 3377/4137/2386 +f 4143/4143/2392 4141/4139/2388 4140/4142/2391 +f 4144/4144/2393 4142/4140/2389 4141/4139/2388 +f 4145/4145/2394 3205/3121/1370 4142/4140/2389 +f 3375/4146/2395 4143/4143/2392 3376/4141/2390 +f 4146/4147/2396 4144/4144/2393 4143/4143/2392 +f 4147/4148/2397 4145/4145/2394 4144/4144/2393 +f 4148/4149/2398 3207/3123/1372 4145/4145/2394 +f 3374/4150/2399 4146/4147/2396 3375/4146/2395 +f 4149/4151/2400 4147/4148/2397 4146/4147/2396 +f 4150/4152/2401 4148/4149/2398 4147/4148/2397 +f 4151/4153/2402 3209/3125/1374 4148/4149/2398 +f 3374/4150/2399 4152/4154/2403 4149/4151/2400 +f 4149/4151/2400 4153/4155/2404 4150/4152/2401 +f 4150/4152/2401 4154/4156/2405 4151/4153/2402 +f 4151/4153/2402 3197/3114/1363 3196/3127/1376 +f 3373/4157/2406 4155/4158/2407 4152/4154/2403 +f 4152/4154/2403 4156/4159/2408 4153/4155/2404 +f 4153/4155/2404 4157/4160/2409 4154/4156/2405 +f 4154/4156/2405 3215/3213/1462 3197/3114/1363 +f 3371/4161/2410 4155/4158/2407 3372/4162/2411 +f 4158/4163/2412 4156/4159/2408 4155/4158/2407 +f 4159/4164/2413 4157/4160/2409 4156/4159/2408 +f 4160/4165/2414 3215/3213/1462 4157/4160/2409 +f 3370/4166/2415 4158/4163/2412 3371/4161/2410 +f 4161/4167/2416 4159/4164/2413 4158/4163/2412 +f 4162/4168/2417 4160/4165/2414 4159/4164/2413 +f 4163/4169/2418 3212/3133/1382 4160/4165/2414 +f 3370/4166/2415 4164/4170/2419 4161/4167/2416 +f 4161/4167/2416 4165/4171/2420 4162/4168/2417 +f 4162/4168/2417 4166/4172/2421 4163/4169/2418 +f 4163/4169/2418 3222/3154/1403 3213/3129/1378 +f 3369/4173/2422 4167/4174/2423 4164/4170/2419 +f 4164/4170/2419 4168/4175/2424 4165/4171/2420 +f 4165/4171/2420 4169/4176/2425 4166/4172/2421 +f 4166/4172/2421 3223/3139/1388 3222/3154/1403 +f 3368/4177/2426 4170/4178/2427 4167/4174/2423 +f 4167/4174/2423 4171/4179/2428 4168/4175/2424 +f 4168/4175/2424 4172/4180/2429 4169/4176/2425 +f 4169/4176/2425 3225/3141/1390 3223/3139/1388 +f 3366/4181/2430 4170/4178/2427 3367/4182/2431 +f 4173/4183/2432 4171/4179/2428 4170/4178/2427 +f 4171/4179/2428 4175/4184/2433 4172/4180/2429 +f 4175/4184/2433 3225/3141/1390 4172/4180/2429 +f 3365/4185/2434 4173/4183/2432 3366/4181/2430 +f 4176/4186/2435 4174/4187/2436 4173/4183/2432 +f 4177/4188/2437 4175/4184/2433 4174/4187/2436 +f 4178/4189/2438 3227/3143/1392 4175/4184/2433 +f 3364/4190/2439 4176/4186/2435 3365/4185/2434 +f 4179/4191/2440 4177/4188/2437 4176/4186/2435 +f 4180/4192/2441 4178/4189/2438 4177/4188/2437 +f 4181/4193/2442 3229/3145/1394 4178/4189/2438 +f 3363/4194/2443 4179/4191/2440 3364/4190/2439 +f 4182/4195/2444 4180/4192/2441 4179/4191/2440 +f 4183/4196/2445 4181/4193/2442 4180/4192/2441 +f 4184/4197/2446 3231/3147/1396 4181/4193/2442 +f 3363/4194/2443 4185/4198/2447 4182/4195/2444 +f 4182/4195/2444 4186/4199/2448 4183/4196/2445 +f 4183/4196/2445 4187/4200/2449 4184/4197/2446 +f 4184/4197/2446 3219/3136/1385 3218/3149/1398 +f 3361/4201/2450 4185/4198/2447 3362/4202/2451 +f 4188/4203/2452 4186/4199/2448 4185/4198/2447 +f 4189/4204/2453 4187/4200/2449 4186/4199/2448 +f 4190/4205/2454 3219/3136/1385 4187/4200/2449 +f 3360/4206/2455 4188/4203/2452 3361/4201/2450 +f 4191/4207/2456 4189/4204/2453 4188/4203/2452 +f 4192/4208/2457 4190/4205/2454 4189/4204/2453 +f 4193/4209/2458 3234/3153/1402 4190/4205/2454 +f 3360/4206/2455 4194/4210/2459 4191/4207/2456 +f 4191/4207/2456 4195/4211/2460 4192/4208/2457 +f 4192/4208/2457 4196/4212/2461 4193/4209/2458 +f 4193/4209/2458 3242/3174/1423 3235/3151/1400 +f 3359/4213/2462 4197/4214/2463 4194/4210/2459 +f 4194/4210/2459 4198/4215/2464 4195/4211/2460 +f 4195/4211/2460 4199/4216/2465 4196/4212/2461 +f 4196/4212/2461 3243/3159/1408 3242/3174/1423 +f 3358/4217/2466 4200/4218/2467 4197/4214/2463 +f 4197/4214/2463 4201/4219/2468 4198/4215/2464 +f 4198/4215/2464 4202/4220/2469 4199/4216/2465 +f 4199/4216/2465 3245/3161/1410 3243/3159/1408 +f 3356/4221/2470 4200/4218/2467 3357/4222/2471 +f 4200/4218/2467 4204/4223/2472 4201/4219/2468 +f 4201/4219/2468 4205/4224/2473 4202/4220/2469 +f 4202/4220/2469 3247/3163/1412 3245/3161/1410 +f 3355/4225/2474 4203/4226/2475 3356/4221/2470 +f 4206/4227/2476 4204/4223/2472 4203/4226/2475 +f 4207/4228/2477 4205/4224/2473 4204/4223/2472 +f 4208/4229/2478 3247/3163/1412 4205/4224/2473 +f 3354/4230/2479 4206/4227/2476 3355/4225/2474 +f 4209/4231/2480 4207/4228/2477 4206/4227/2476 +f 4210/4232/2481 4208/4229/2478 4207/4228/2477 +f 4211/4233/2482 3249/3165/1414 4208/4229/2478 +f 3353/4234/2483 4209/4231/2480 3354/4230/2479 +f 4212/4235/2484 4210/4232/2481 4209/4231/2480 +f 4213/4236/2485 4211/4233/2482 4210/4232/2481 +f 4214/4237/2486 3251/3167/1416 4211/4233/2482 +f 3353/4234/2483 4215/4238/2487 4212/4235/2484 +f 4212/4235/2484 4216/4239/2488 4213/4236/2485 +f 4213/4236/2485 4217/4240/2489 4214/4237/2486 +f 4214/4237/2486 3239/3156/1405 3238/3169/1418 +f 3352/4241/2490 4218/4242/2491 4215/4238/2487 +f 4215/4238/2487 4219/4243/2492 4216/4239/2488 +f 4216/4239/2488 4220/4244/2493 4217/4240/2489 +f 4217/4240/2489 3254/3173/1422 3239/3156/1405 +f 3350/4245/2494 4218/4242/2491 3351/4246/2495 +f 4221/4247/2496 4219/4243/2492 4218/4242/2491 +f 4222/4248/2497 4220/4244/2493 4219/4243/2492 +f 4223/4249/2498 3254/3173/1422 4220/4244/2493 +f 3350/4245/2494 4224/4250/2499 4221/4247/2496 +f 4221/4247/2496 4225/4251/2500 4222/4248/2497 +f 4222/4248/2497 4226/4252/2501 4223/4249/2498 +f 4223/4249/2498 3262/3194/1443 3255/3171/1420 +f 3349/4253/2502 4227/4254/2503 4224/4250/2499 +f 4224/4250/2499 4228/4255/2504 4225/4251/2500 +f 4225/4251/2500 4229/4256/2505 4226/4252/2501 +f 4226/4252/2501 3263/3179/1428 3262/3194/1443 +f 3348/4257/2506 4230/4258/2507 4227/4254/2503 +f 4227/4254/2503 4231/4259/2508 4228/4255/2504 +f 4228/4255/2504 4232/4260/2509 4229/4256/2505 +f 4229/4256/2505 3265/3181/1430 3263/3179/1428 +f 3346/4261/2510 4230/4258/2507 3347/4262/2511 +f 4230/4258/2507 4234/4263/2512 4231/4259/2508 +f 4234/4263/2512 4232/4260/2509 4231/4259/2508 +f 4235/4264/2513 3265/3181/1430 4232/4260/2509 +f 3345/4265/2514 4233/4266/2515 3346/4261/2510 +f 4236/4267/2516 4234/4263/2512 4233/4266/2515 +f 4237/4268/2517 4235/4264/2513 4234/4263/2512 +f 4238/4269/2518 3267/3183/1432 4235/4264/2513 +f 3344/4270/2519 4236/4267/2516 3345/4265/2514 +f 4239/4271/2520 4237/4268/2517 4236/4267/2516 +f 4240/4272/2521 4238/4269/2518 4237/4268/2517 +f 4241/4273/2522 3269/3185/1434 4238/4269/2518 +f 3343/4274/2523 4239/4271/2520 3344/4270/2519 +f 4242/4275/2524 4240/4272/2521 4239/4271/2520 +f 4243/4276/2525 4241/4273/2522 4240/4272/2521 +f 4244/4277/2526 3271/3187/1436 4241/4273/2522 +f 3343/4274/2523 4245/4278/2527 4242/4275/2524 +f 4242/4275/2524 4246/4279/2528 4243/4276/2525 +f 4243/4276/2525 4247/4280/2529 4244/4277/2526 +f 4244/4277/2526 3259/3176/1425 3258/3189/1438 +f 3342/4281/2530 4248/4282/2531 4245/4278/2527 +f 4245/4278/2527 4249/4283/2532 4246/4279/2528 +f 4246/4279/2528 4250/4284/2533 4247/4280/2529 +f 4247/4280/2529 3274/3193/1442 3259/3176/1425 +f 3341/4285/2534 4251/4286/2535 4248/4282/2531 +f 4248/4282/2531 4252/4287/2536 4249/4283/2532 +f 4249/4283/2532 4253/4288/2537 4250/4284/2533 +f 4250/4284/2533 3275/3191/1440 3274/3193/1442 +f 3339/4289/2538 4251/4286/2535 3340/4290/2539 +f 4254/4291/2540 4252/4287/2536 4251/4286/2535 +f 4255/4292/2541 4253/4288/2537 4252/4287/2536 +f 4256/4293/2542 3275/3191/1440 4253/4288/2537 +f 3338/4294/2543 4254/4291/2540 3339/4289/2538 +f 4257/4295/2544 4255/4292/2541 4254/4291/2540 +f 4258/4296/2545 4256/4293/2542 4255/4292/2541 +f 4259/4297/2546 3282/3212/1461 4256/4293/2542 +f 3337/4298/2547 4257/4295/2544 3338/4294/2543 +f 4260/4299/2548 4258/4296/2545 4257/4295/2544 +f 4261/4300/2549 4259/4297/2546 4258/4296/2545 +f 4262/4301/2550 3283/3199/1448 4259/4297/2546 +f 3337/4298/2547 4263/4302/2551 4260/4299/2548 +f 4260/4299/2548 4264/4303/2552 4261/4300/2549 +f 4264/4303/2552 4262/4301/2550 4261/4300/2549 +f 4265/4304/2553 3285/3201/1450 4262/4301/2550 +f 3336/4305/2554 4266/4306/2555 4263/4302/2551 +f 4263/4302/2551 4267/4307/2556 4264/4303/2552 +f 4264/4303/2552 4268/4308/2557 4265/4304/2553 +f 4265/4304/2553 3289/3205/1454 3287/3203/1452 +f 3335/4309/2558 4269/4310/2559 4266/4306/2555 +f 4266/4306/2555 4270/4311/2560 4267/4307/2556 +f 4267/4307/2556 4271/4312/2561 4268/4308/2557 +f 4268/4308/2557 3291/3207/1456 3289/3205/1454 +f 3334/4313/2562 4272/4314/2563 4269/4310/2559 +f 4269/4310/2559 4273/4315/2564 4270/4311/2560 +f 4270/4311/2560 4274/4316/2565 4271/4312/2561 +f 4271/4312/2561 3278/3209/1458 3291/3207/1456 +f 3332/4317/2566 4272/4314/2563 3333/4318/2567 +f 4275/4319/2568 4273/4315/2564 4272/4314/2563 +f 4276/4320/2569 4274/4316/2565 4273/4315/2564 +f 4277/4321/2570 3278/3209/1458 4274/4316/2565 +f 3331/3835/2084 4275/4319/2568 3332/4317/2566 +f 3910/3833/2082 4276/4320/2569 4275/4319/2568 +f 3908/3831/2080 4277/4321/2570 4276/4320/2569 +f 3906/3829/2078 3279/3196/1445 4277/4321/2570 +f 3473/4322/2571 3911/3834/2083 3330/3836/2085 +f 4278/4323/2572 3909/3832/2081 3911/3834/2083 +f 4279/4324/2573 3907/3830/2079 3909/3832/2081 +f 4280/4325/2574 2900/3828/2077 3907/3830/2079 +f 3472/4326/2575 4278/4323/2572 3473/4322/2571 +f 4281/4327/2576 4279/4324/2573 4278/4323/2572 +f 4282/4328/2577 4280/4325/2574 4279/4324/2573 +f 4283/4329/2578 2901/2963/1212 4280/4325/2574 +f 3472/4326/2575 4284/4330/2579 4281/4327/2576 +f 4281/4327/2576 4285/4331/2580 4282/4328/2577 +f 4282/4328/2577 4286/4332/2581 4283/4329/2578 +f 4283/4329/2578 3302/3235/1484 3293/3210/1459 +f 3471/4333/2582 4287/4334/2583 4284/4330/2579 +f 4284/4330/2579 4288/4335/2584 4285/4331/2580 +f 4285/4331/2580 4289/4336/2585 4286/4332/2581 +f 4286/4332/2581 3303/3220/1469 3302/3235/1484 +f 3470/4337/2586 4290/4338/2587 4287/4334/2583 +f 4287/4334/2583 4291/4339/2588 4288/4335/2584 +f 4288/4335/2584 4292/4340/2589 4289/4336/2585 +f 4289/4336/2585 3305/3222/1471 3303/3220/1469 +f 3469/4341/2590 4293/4342/2591 4290/4338/2587 +f 4290/4338/2587 4294/4343/2592 4291/4339/2588 +f 4291/4339/2588 4295/4344/2593 4292/4340/2589 +f 4292/4340/2589 3307/3224/1473 3305/3222/1471 +f 3467/4345/2594 4293/4342/2591 3468/4346/2595 +f 4296/4347/2596 4294/4343/2592 4293/4342/2591 +f 4297/4348/2597 4295/4344/2593 4294/4343/2592 +f 4298/4349/2598 3307/3224/1473 4295/4344/2593 +f 3466/4350/2599 4296/4347/2596 3467/4345/2594 +f 4299/4351/2600 4297/4348/2597 4296/4347/2596 +f 4300/4352/2601 4298/4349/2598 4297/4348/2597 +f 4301/4353/2602 3309/3226/1475 4298/4349/2598 +f 3465/4354/2603 4299/4351/2600 3466/4350/2599 +f 4302/4355/2604 4300/4352/2601 4299/4351/2600 +f 4303/4356/2605 4301/4353/2602 4300/4352/2601 +f 4304/4357/2606 3311/3228/1477 4301/4353/2602 +f 3465/4354/2603 4305/4358/2607 4302/4355/2604 +f 4302/4355/2604 4306/4359/2608 4303/4356/2605 +f 4303/4356/2605 4307/4360/2609 4304/4357/2606 +f 4304/4357/2606 3299/3217/1466 3298/3230/1479 +f 3463/4361/2610 4305/4358/2607 3464/4362/2611 +f 4308/4363/2612 4306/4359/2608 4305/4358/2607 +f 4309/4364/2613 4307/4360/2609 4306/4359/2608 +f 4310/4365/2614 3299/3217/1466 4307/4360/2609 +f 3462/4366/2615 4308/4363/2612 3463/4361/2610 +f 4311/4367/2616 4309/4364/2613 4308/4363/2612 +f 4312/4368/2617 4310/4365/2614 4309/4364/2613 +f 4313/4369/2618 3314/3234/1483 4310/4365/2614 +f 3461/4370/2619 4311/4367/2616 3462/4366/2615 +f 4311/4367/2616 4315/4371/2620 4312/4368/2617 +f 4315/4371/2620 4313/4369/2618 4312/4368/2617 +f 4313/4369/2618 3320/3253/1502 3315/3232/1481 +f 3461/4370/2619 4317/4372/2621 4314/4373/2622 +f 4314/4373/2622 4318/4374/2623 4315/4371/2620 +f 4318/4374/2623 4316/4375/2624 4315/4371/2620 +f 4316/4375/2624 3321/3239/1488 3320/3253/1502 +f 3460/4376/2625 4320/4377/2626 4317/4372/2621 +f 4317/4372/2621 4321/4378/2627 4318/4374/2623 +f 4318/4374/2623 4322/4379/2628 4319/4380/2629 +f 4322/4379/2628 3321/3239/1488 4319/4380/2629 +f 3459/4381/2630 4323/4382/2631 4320/4377/2626 +f 4323/4382/2631 4321/4378/2627 4320/4377/2626 +f 4321/4378/2627 4325/4383/2632 4322/4379/2628 +f 4325/4383/2632 3323/3241/1490 4322/4379/2628 +f 3458/4384/2633 4326/4385/2634 4323/4382/2631 +f 4326/4385/2634 4324/4386/2635 4323/4382/2631 +f 4327/4387/2636 4325/4383/2632 4324/4386/2635 +f 4325/4383/2632 3327/3245/1494 3325/3243/1492 +f 3456/4388/2637 4326/4385/2634 3457/4389/2638 +f 4329/4390/2639 4327/4387/2636 4326/4385/2634 +f 4330/4391/2640 4328/4392/2641 4327/4387/2636 +f 4328/4392/2641 3329/3247/1496 3327/3245/1494 +f 3456/4388/2637 4332/4393/2642 4329/4390/2639 +f 4332/4393/2642 4330/4391/2640 4329/4390/2639 +f 4333/4394/2643 4331/4395/2644 4330/4391/2640 +f 4331/4395/2644 3317/3249/1498 3329/3247/1496 +f 3455/4396/2645 4335/4397/2646 4332/4393/2642 +f 4332/4393/2642 4336/4398/2647 4333/4394/2643 +f 4333/4394/2643 4337/4399/2648 4334/4400/2649 +f 4334/4400/2649 3048/3237/1486 3317/3249/1498 +f 3453/3839/2088 4335/4397/2646 3454/4401/2650 +f 4335/4397/2646 3915/3841/2090 4336/4398/2647 +f 3915/3841/2090 4337/4399/2648 4336/4398/2647 +f 3917/3843/2092 3048/3237/1486 4337/4399/2648 +f 2899/2962/1211 3295/3214/1463 2900/3828/2077 +f 2899/2962/1211 2900/3828/2077 2901/2963/1212 +f 2902/3257/1506 2903/3751/2000 2942/3341/1590 +f 2903/3751/2000 2904/3755/2004 2905/3762/2011 +f 2912/3791/2040 2903/3751/2000 2908/3775/2024 +f 2905/3762/2011 2906/3766/2015 2903/3751/2000 +f 2906/3766/2015 2907/3770/2019 2903/3751/2000 +f 2907/3770/2019 2908/3775/2024 2903/3751/2000 +f 2908/3775/2024 2909/3774/2023 2912/3791/2040 +f 2909/3774/2023 2910/3779/2028 2912/3791/2040 +f 2910/3779/2028 2911/3783/2032 2912/3791/2040 +f 2912/3791/2040 2913/3790/2039 2934/3314/1563 +f 2913/3790/2039 2914/3795/2044 2922/3827/2076 +f 2914/3795/2044 2915/3798/2047 2916/3806/2055 +f 2916/3806/2055 2917/3809/2058 2918/3814/2063 +f 2918/3814/2063 2919/3818/2067 2920/3817/2066 +f 2920/3817/2066 2921/3826/2075 2914/3795/2044 +f 2921/3826/2075 2922/3827/2076 2914/3795/2044 +f 2922/3827/2076 2923/3270/1519 2932/3305/1554 +f 2923/3270/1519 2924/3269/1518 2932/3305/1554 +f 2924/3269/1518 2925/3276/1525 2926/3281/1530 +f 2926/3281/1530 2927/3280/1529 2930/3297/1546 +f 2927/3280/1529 2928/3289/1538 2930/3297/1546 +f 2928/3289/1538 2929/3288/1537 2930/3297/1546 +f 2930/3297/1546 2931/3301/1550 2924/3269/1518 +f 2931/3301/1550 2932/3305/1554 2924/3269/1518 +f 2932/3305/1554 2933/3309/1558 2913/3790/2039 +f 2922/3827/2076 2932/3305/1554 2913/3790/2039 +f 2924/3269/1518 2926/3281/1530 2930/3297/1546 +f 2918/3814/2063 2920/3817/2066 2914/3795/2044 +f 2914/3795/2044 2916/3806/2055 2918/3814/2063 +f 2903/3751/2000 2912/3791/2040 2941/3342/1591 +f 3044/3746/1995 3045/3255/1504 2944/3353/1602 +f 3045/3255/1504 2902/3257/1506 2943/3346/1595 +f 2941/3342/1591 2912/3791/2040 2940/3337/1586 +f 2939/3333/1582 2912/3791/2040 2938/3329/1578 +f 2938/3329/1578 2912/3791/2040 2937/3322/1571 +f 2912/3791/2040 2939/3333/1582 2940/3337/1586 +f 2933/3309/1558 2934/3314/1563 2913/3790/2039 +f 2934/3314/1563 2935/3313/1562 2912/3791/2040 +f 3043/3747/1996 3044/3746/1995 2944/3353/1602 +f 2903/3751/2000 2941/3342/1591 2942/3341/1590 +f 3042/3742/1991 3043/3747/1996 2945/3357/1606 +f 2935/3313/1562 2936/3318/1567 2912/3791/2040 +f 2936/3318/1567 2937/3322/1571 2912/3791/2040 +f 3041/3738/1987 3042/3742/1991 2946/3361/1610 +f 2902/3257/1506 2942/3341/1590 2943/3346/1595 +f 3045/3255/1504 2943/3346/1595 2944/3353/1602 +f 3043/3747/1996 2944/3353/1602 2945/3357/1606 +f 3042/3742/1991 2945/3357/1606 2946/3361/1610 +f 3040/3734/1983 3041/3738/1987 2947/3365/1614 +f 3041/3738/1987 2946/3361/1610 2947/3365/1614 +f 3039/3727/1976 3040/3734/1983 2948/3368/1617 +f 3040/3734/1983 2947/3365/1614 2948/3368/1617 +f 3038/3723/1972 3039/3727/1976 3004/3591/1840 +f 3039/3727/1976 2948/3368/1617 3004/3591/1840 +f 3037/3718/1967 3038/3723/1972 3004/3591/1840 +f 2948/3368/1617 2949/3374/1623 3004/3591/1840 +f 3036/3719/1968 3037/3718/1967 3004/3591/1840 +f 2949/3374/1623 2950/3373/1622 3004/3591/1840 +f 3033/3703/1952 3034/3710/1959 3032/3699/1948 +f 3034/3710/1959 3035/3714/1963 3005/3590/1839 +f 3010/3609/1858 3034/3710/1959 3009/3610/1859 +f 3035/3714/1963 3036/3719/1968 3005/3590/1839 +f 3036/3719/1968 3004/3591/1840 3005/3590/1839 +f 2950/3373/1622 2951/3378/1627 3004/3591/1840 +f 3034/3710/1959 3010/3609/1858 3011/3615/1864 +f 3014/3631/1880 3034/3710/1959 3011/3615/1864 +f 3030/3689/1938 3031/3695/1944 3034/3710/1959 +f 3031/3695/1944 3032/3699/1948 3034/3710/1959 +f 3028/3686/1935 3029/3690/1939 3025/3675/1924 +f 3029/3690/1939 3030/3689/1938 3025/3675/1924 +f 3026/3674/1923 3027/3682/1931 3025/3675/1924 +f 3027/3682/1931 3028/3686/1935 3025/3675/1924 +f 3024/3670/1919 3025/3675/1924 3014/3631/1880 +f 3014/3631/1880 3025/3675/1924 3034/3710/1959 +f 3022/3659/1908 3023/3663/1912 3024/3670/1919 +f 3020/3649/1898 3021/3655/1904 3024/3670/1919 +f 3021/3655/1904 3022/3659/1908 3024/3670/1919 +f 3018/3646/1895 3019/3650/1899 3015/3630/1879 +f 3019/3650/1899 3020/3649/1898 3015/3630/1879 +f 3016/3635/1884 3017/3642/1891 3015/3630/1879 +f 3017/3642/1891 3018/3646/1895 3015/3630/1879 +f 3014/3631/1880 3015/3630/1879 3024/3670/1919 +f 3024/3670/1919 3015/3630/1879 3020/3649/1898 +f 3012/3619/1868 3013/3623/1872 3014/3631/1880 +f 3011/3615/1864 3012/3619/1868 3014/3631/1880 +f 3008/3606/1855 3009/3610/1859 3034/3710/1959 +f 3006/3595/1844 3007/3602/1851 3005/3590/1839 +f 3007/3602/1851 3008/3606/1855 3005/3590/1839 +f 3002/3579/1828 3003/3586/1835 2954/3390/1639 +f 3003/3586/1835 3004/3591/1840 2953/3386/1635 +f 3000/3571/1820 3001/3575/1824 2954/3390/1639 +f 3001/3575/1824 3002/3579/1828 2954/3390/1639 +f 3000/3571/1820 2954/3390/1639 2999/3564/1813 +f 2998/3565/1814 2999/3564/1813 2954/3390/1639 +f 2998/3565/1814 2955/3397/1646 2997/3562/1811 +f 2996/3558/1807 2997/3562/1811 2955/3397/1646 +f 2996/3558/1807 2955/3397/1646 2995/3551/1800 +f 2994/2966/1215 2995/3551/1800 2955/3397/1646 +f 2992/3540/1789 2993/3547/1796 2991/3536/1785 +f 2993/3547/1796 2994/2966/1215 2960/3415/1664 +f 2961/3419/1668 2993/3547/1796 2960/3415/1664 +f 2990/3531/1780 2991/3536/1785 2993/3547/1796 +f 2988/3527/1776 2989/3532/1781 2993/3547/1796 +f 2989/3532/1781 2990/3531/1780 2993/3547/1796 +f 2986/3519/1768 2987/3523/1772 2984/3512/1761 +f 2987/3523/1772 2988/3527/1776 2984/3512/1761 +f 2984/3512/1761 2985/3511/1760 2986/3519/1768 +f 2982/3500/1749 2983/3507/1756 2981/3496/1745 +f 2983/3507/1756 2984/3512/1761 2964/3428/1677 +f 2973/3468/1717 2968/3447/1696 2969/3446/1695 +f 2980/3491/1740 2981/3496/1745 2983/3507/1756 +f 2978/3486/1735 2979/3492/1741 2983/3507/1756 +f 2979/3492/1741 2980/3491/1740 2983/3507/1756 +f 2976/3479/1728 2977/3483/1732 2974/3467/1716 +f 2977/3483/1732 2978/3486/1735 2974/3467/1716 +f 2974/3467/1716 2975/3472/1721 2976/3479/1728 +f 2972/3460/1709 2973/3468/1717 2971/3456/1705 +f 2973/3468/1717 2974/3467/1716 2983/3507/1756 +f 2970/3452/1701 2971/3456/1705 2973/3468/1717 +f 2969/3446/1695 2970/3452/1701 2973/3468/1717 +f 2966/3439/1688 2967/3443/1692 2964/3428/1677 +f 2967/3443/1692 2968/3447/1696 2964/3428/1677 +f 2964/3428/1677 2965/3432/1681 2966/3439/1688 +f 2963/3423/1672 2964/3428/1677 2984/3512/1761 +f 2963/3423/1672 2984/3512/1761 2993/3547/1796 +f 2964/3428/1677 2968/3447/1696 2973/3468/1717 +f 2973/3468/1717 2983/3507/1756 2964/3428/1677 +f 2984/3512/1761 2988/3527/1776 2993/3547/1796 +f 2993/3547/1796 2961/3419/1668 2962/3424/1673 +f 2994/2966/1215 2955/3397/1646 2956/2967/1216 +f 2955/3397/1646 2998/3565/1814 2954/3390/1639 +f 3003/3586/1835 2953/3386/1635 2954/3390/1639 +f 2959/3406/1655 2994/2966/1215 2958/3404/1653 +f 2993/3547/1796 2962/3424/1673 2963/3423/1672 +f 2974/3467/1716 2978/3486/1735 2983/3507/1756 +f 2994/2966/1215 2959/3406/1655 2960/3415/1664 +f 3034/3710/1959 3005/3590/1839 3008/3606/1855 +f 2951/3378/1627 2952/3382/1631 3004/3591/1840 +f 2952/3382/1631 2953/3386/1635 3004/3591/1840 +f 3034/3710/1959 3025/3675/1924 3030/3689/1938 +f 2958/3404/1653 2994/2966/1215 2957/2965/1214 +f 3047/2968/1217 3048/3237/1486 3049/2969/1218 +f 3051/2971/1220 3052/2990/1239 3053/2972/1221 +f 3050/2973/1222 3053/2972/1221 3055/2974/1223 +f 3054/2975/1224 3055/2974/1223 3057/2976/1225 +f 3056/2977/1226 3057/2976/1225 3059/2978/1227 +f 3058/2979/1228 3059/2978/1227 3061/2980/1229 +f 3060/2981/1230 3061/2980/1229 3063/2982/1231 +f 3065/2984/1233 3066/2988/1237 3067/2985/1234 +f 3068/2987/1236 3069/3254/1503 3066/2988/1237 +f 3070/2989/1238 3071/3012/1261 3052/2990/1239 +f 3073/2991/1240 3074/3005/1254 3075/2992/1241 +f 3077/2994/1243 3078/3009/1258 3079/2995/1244 +f 3076/2996/1245 3079/2995/1244 3081/2997/1246 +f 3080/2998/1247 3081/2997/1246 3083/2999/1248 +f 3082/3000/1249 3083/2999/1248 3085/3001/1250 +f 3084/3002/1251 3085/3001/1250 3087/3003/1252 +f 3086/3004/1253 3087/3003/1252 3074/3005/1254 +f 3089/3006/1255 3090/3011/1260 3091/3007/1256 +f 3064/2986/1235 3067/2985/1234 3078/3009/1258 +f 3092/3010/1259 3093/3134/1383 3090/3011/1260 +f 3046/2970/1219 3049/2969/1218 3071/3012/1261 +f 3095/3013/1262 3096/3027/1276 3097/3014/1263 +f 3099/3016/1265 3100/3032/1281 3101/3017/1266 +f 3098/3018/1267 3101/3017/1266 3103/3019/1268 +f 3102/3020/1269 3103/3019/1268 3105/3021/1270 +f 3104/3022/1271 3105/3021/1270 3107/3023/1272 +f 3106/3024/1273 3107/3023/1272 3109/3025/1274 +f 3108/3026/1275 3109/3025/1274 3096/3027/1276 +f 3111/3028/1277 3112/3031/1280 3113/3029/1278 +f 3094/3015/1264 3097/3014/1263 3112/3031/1280 +f 3088/3008/1257 3091/3007/1256 3100/3032/1281 +f 3115/3033/1282 3116/3047/1296 3117/3034/1283 +f 3119/3036/1285 3120/3052/1301 3121/3037/1286 +f 3118/3038/1287 3121/3037/1286 3123/3039/1288 +f 3122/3040/1289 3123/3039/1288 3125/3041/1290 +f 3124/3042/1291 3125/3041/1290 3127/3043/1292 +f 3126/3044/1293 3127/3043/1292 3129/3045/1294 +f 3128/3046/1295 3129/3045/1294 3116/3047/1296 +f 3131/3048/1297 3132/3051/1300 3133/3049/1298 +f 3114/3035/1284 3117/3034/1283 3132/3051/1300 +f 3110/3030/1279 3113/3029/1278 3120/3052/1301 +f 3135/3053/1302 3136/3067/1316 3137/3054/1303 +f 3139/3056/1305 3140/3072/1321 3141/3057/1306 +f 3138/3058/1307 3141/3057/1306 3143/3059/1308 +f 3142/3060/1309 3143/3059/1308 3145/3061/1310 +f 3144/3062/1311 3145/3061/1310 3147/3063/1312 +f 3146/3064/1313 3147/3063/1312 3149/3065/1314 +f 3148/3066/1315 3149/3065/1314 3136/3067/1316 +f 3151/3068/1317 3152/3071/1320 3153/3069/1318 +f 3134/3055/1304 3137/3054/1303 3152/3071/1320 +f 3130/3050/1299 3133/3049/1298 3140/3072/1321 +f 3155/3073/1322 3156/3087/1336 3157/3074/1323 +f 3159/3076/1325 3160/3092/1341 3161/3077/1326 +f 3158/3078/1327 3161/3077/1326 3163/3079/1328 +f 3162/3080/1329 3163/3079/1328 3165/3081/1330 +f 3164/3082/1331 3165/3081/1330 3167/3083/1332 +f 3166/3084/1333 3167/3083/1332 3169/3085/1334 +f 3168/3086/1335 3169/3085/1334 3156/3087/1336 +f 3171/3088/1337 3172/3091/1340 3173/3089/1338 +f 3154/3075/1324 3157/3074/1323 3172/3091/1340 +f 3150/3070/1319 3153/3069/1318 3160/3092/1341 +f 3175/3093/1342 3176/3107/1356 3177/3094/1343 +f 3179/3096/1345 3180/3112/1361 3181/3097/1346 +f 3178/3098/1347 3181/3097/1346 3183/3099/1348 +f 3182/3100/1349 3183/3099/1348 3185/3101/1350 +f 3184/3102/1351 3185/3101/1350 3187/3103/1352 +f 3186/3104/1353 3187/3103/1352 3189/3105/1354 +f 3188/3106/1355 3189/3105/1354 3176/3107/1356 +f 3191/3108/1357 3192/3111/1360 3193/3109/1358 +f 3174/3095/1344 3177/3094/1343 3192/3111/1360 +f 3170/3090/1339 3173/3089/1338 3180/3112/1361 +f 3195/3113/1362 3196/3127/1376 3197/3114/1363 +f 3199/3116/1365 3200/3131/1380 3201/3117/1366 +f 3198/3118/1367 3201/3117/1366 3203/3119/1368 +f 3202/3120/1369 3203/3119/1368 3205/3121/1370 +f 3204/3122/1371 3205/3121/1370 3207/3123/1372 +f 3206/3124/1373 3207/3123/1372 3209/3125/1374 +f 3208/3126/1375 3209/3125/1374 3196/3127/1376 +f 3211/3128/1377 3212/3133/1382 3213/3129/1378 +f 3190/3110/1359 3193/3109/1358 3200/3131/1380 +f 3214/3132/1381 3215/3213/1462 3212/3133/1382 +f 3072/2993/1242 3075/2992/1241 3093/3134/1383 +f 3217/3135/1384 3218/3149/1398 3219/3136/1385 +f 3221/3138/1387 3222/3154/1403 3223/3139/1388 +f 3220/3140/1389 3223/3139/1388 3225/3141/1390 +f 3224/3142/1391 3225/3141/1390 3227/3143/1392 +f 3226/3144/1393 3227/3143/1392 3229/3145/1394 +f 3228/3146/1395 3229/3145/1394 3231/3147/1396 +f 3230/3148/1397 3231/3147/1396 3218/3149/1398 +f 3233/3150/1399 3234/3153/1402 3235/3151/1400 +f 3216/3137/1386 3219/3136/1385 3234/3153/1402 +f 3210/3130/1379 3213/3129/1378 3222/3154/1403 +f 3237/3155/1404 3238/3169/1418 3239/3156/1405 +f 3241/3158/1407 3242/3174/1423 3243/3159/1408 +f 3240/3160/1409 3243/3159/1408 3245/3161/1410 +f 3244/3162/1411 3245/3161/1410 3247/3163/1412 +f 3246/3164/1413 3247/3163/1412 3249/3165/1414 +f 3248/3166/1415 3249/3165/1414 3251/3167/1416 +f 3250/3168/1417 3251/3167/1416 3238/3169/1418 +f 3253/3170/1419 3254/3173/1422 3255/3171/1420 +f 3236/3157/1406 3239/3156/1405 3254/3173/1422 +f 3232/3152/1401 3235/3151/1400 3242/3174/1423 +f 3257/3175/1424 3258/3189/1438 3259/3176/1425 +f 3261/3178/1427 3262/3194/1443 3263/3179/1428 +f 3260/3180/1429 3263/3179/1428 3265/3181/1430 +f 3264/3182/1431 3265/3181/1430 3267/3183/1432 +f 3266/3184/1433 3267/3183/1432 3269/3185/1434 +f 3268/3186/1435 3269/3185/1434 3271/3187/1436 +f 3270/3188/1437 3271/3187/1436 3258/3189/1438 +f 3273/3190/1439 3274/3193/1442 3275/3191/1440 +f 3273/3190/1439 3256/3177/1426 3259/3176/1425 +f 3252/3172/1421 3255/3171/1420 3262/3194/1443 +f 3277/3195/1444 3278/3209/1458 3279/3196/1445 +f 3281/3198/1447 3282/3212/1461 3283/3199/1448 +f 3280/3200/1449 3283/3199/1448 3285/3201/1450 +f 3284/3202/1451 3285/3201/1450 3287/3203/1452 +f 3286/3204/1453 3287/3203/1452 3289/3205/1454 +f 3288/3206/1455 3289/3205/1454 3291/3207/1456 +f 3290/3208/1457 3291/3207/1456 3278/3209/1458 +f 2898/2964/1213 2901/2963/1212 3293/3210/1459 +f 3272/3192/1441 3275/3191/1440 3282/3212/1461 +f 3194/3115/1364 3197/3114/1363 3215/3213/1462 +f 3276/3197/1446 3279/3196/1445 3295/3214/1463 +f 3297/3216/1465 3298/3230/1479 3299/3217/1466 +f 3301/3219/1468 3302/3235/1484 3303/3220/1469 +f 3300/3221/1470 3303/3220/1469 3305/3222/1471 +f 3304/3223/1472 3305/3222/1471 3307/3224/1473 +f 3306/3225/1474 3307/3224/1473 3309/3226/1475 +f 3308/3227/1476 3309/3226/1475 3311/3228/1477 +f 3310/3229/1478 3311/3228/1477 3298/3230/1479 +f 3313/3231/1480 3314/3234/1483 3315/3232/1481 +f 3296/3218/1467 3299/3217/1466 3314/3234/1483 +f 3292/3211/1460 3293/3210/1459 3302/3235/1484 +f 3316/3236/1485 3317/3249/1498 3048/3237/1486 +f 3319/3238/1487 3320/3253/1502 3321/3239/1488 +f 3318/3240/1489 3321/3239/1488 3323/3241/1490 +f 3322/3242/1491 3323/3241/1490 3325/3243/1492 +f 3324/3244/1493 3325/3243/1492 3327/3245/1494 +f 3326/3246/1495 3327/3245/1494 3329/3247/1496 +f 3328/3248/1497 3329/3247/1496 3317/3249/1498 +f 3330/3836/2085 3331/3835/2084 3433/3917/2166 +f 3331/3835/2084 3332/4317/2566 3432/3924/2173 +f 3435/3913/2162 3473/4322/2571 3434/3912/2161 +f 3473/4322/2571 3330/3836/2085 3434/3912/2161 +f 3473/4322/2571 3435/3913/2162 3464/4362/2611 +f 3471/4333/2582 3472/4326/2575 3473/4322/2571 +f 3469/4341/2590 3470/4337/2586 3473/4322/2571 +f 3470/4337/2586 3471/4333/2582 3473/4322/2571 +f 3467/4345/2594 3468/4346/2595 3464/4362/2611 +f 3468/4346/2595 3469/4341/2590 3464/4362/2611 +f 3465/4354/2603 3466/4350/2599 3464/4362/2611 +f 3466/4350/2599 3467/4345/2594 3464/4362/2611 +f 3463/4361/2610 3464/4362/2611 3442/3885/2134 +f 3442/3885/2134 3464/4362/2611 3441/3884/2133 +f 3461/4370/2619 3462/4366/2615 3455/4396/2645 +f 3462/4366/2615 3463/4361/2610 3455/4396/2645 +f 3459/4381/2630 3460/4376/2625 3461/4370/2619 +f 3457/4389/2638 3458/4384/2633 3459/4381/2630 +f 3455/4396/2645 3456/4388/2637 3457/4389/2638 +f 3453/3839/2088 3454/4401/2650 3463/4361/2610 +f 3454/4401/2650 3455/4396/2645 3463/4361/2610 +f 3451/3847/2096 3452/3837/2086 3445/3872/2121 +f 3452/3837/2086 3453/3839/2088 3444/3876/2125 +f 3449/3851/2100 3450/3852/2101 3447/3859/2108 +f 3450/3852/2101 3451/3847/2096 3447/3859/2108 +f 3447/3859/2108 3448/3860/2109 3449/3851/2100 +f 3445/3872/2121 3446/3864/2113 3447/3859/2108 +f 3443/3880/2129 3444/3876/2125 3463/4361/2610 +f 3444/3876/2125 3445/3872/2121 3452/3837/2086 +f 3445/3872/2121 3447/3859/2108 3451/3847/2096 +f 3455/4396/2645 3457/4389/2638 3459/4381/2630 +f 3459/4381/2630 3461/4370/2619 3455/4396/2645 +f 3464/4362/2611 3435/3913/2162 3436/3908/2157 +f 3464/4362/2611 3436/3908/2157 3437/3904/2153 +f 3469/4341/2590 3473/4322/2571 3464/4362/2611 +f 3453/3839/2088 3463/4361/2610 3444/3876/2125 +f 3442/3885/2134 3443/3880/2129 3463/4361/2610 +f 3441/3884/2133 3464/4362/2611 3440/3889/2138 +f 3440/3889/2138 3464/4362/2611 3439/3893/2142 +f 3439/3893/2142 3464/4362/2611 3438/3900/2149 +f 3438/3900/2149 3464/4362/2611 3437/3904/2153 +f 3434/3912/2161 3330/3836/2085 3433/3917/2166 +f 3332/4317/2566 3333/4318/2567 3432/3924/2173 +f 3433/3917/2166 3331/3835/2084 3432/3924/2173 +f 3333/4318/2567 3334/4313/2562 3431/3928/2177 +f 3333/4318/2567 3431/3928/2177 3432/3924/2173 +f 3334/4313/2562 3335/4309/2558 3430/3932/2181 +f 3431/3928/2177 3334/4313/2562 3430/3932/2181 +f 3335/4309/2558 3336/4305/2554 3429/3936/2185 +f 3430/3932/2181 3335/4309/2558 3429/3936/2185 +f 3336/4305/2554 3337/4298/2547 3428/3940/2189 +f 3429/3936/2185 3336/4305/2554 3428/3940/2189 +f 3337/4298/2547 3338/4294/2543 3372/4162/2411 +f 3428/3940/2189 3337/4298/2547 3372/4162/2411 +f 3338/4294/2543 3339/4289/2538 3372/4162/2411 +f 3339/4289/2538 3340/4290/2539 3372/4162/2411 +f 3427/3944/2193 3428/3940/2189 3372/4162/2411 +f 3341/4285/2534 3342/4281/2530 3371/4161/2410 +f 3342/4281/2530 3343/4274/2523 3344/4270/2519 +f 3366/4181/2430 3342/4281/2530 3365/4185/2434 +f 3340/4290/2539 3341/4285/2534 3371/4161/2410 +f 3372/4162/2411 3340/4290/2539 3371/4161/2410 +f 3426/3943/2192 3427/3944/2193 3372/4162/2411 +f 3342/4281/2530 3366/4181/2430 3367/4182/2431 +f 3342/4281/2530 3362/4202/2451 3365/4185/2434 +f 3344/4270/2519 3345/4265/2514 3342/4281/2530 +f 3345/4265/2514 3346/4261/2510 3342/4281/2530 +f 3346/4261/2510 3347/4262/2511 3351/4246/2495 +f 3347/4262/2511 3348/4257/2506 3351/4246/2495 +f 3348/4257/2506 3349/4253/2502 3351/4246/2495 +f 3349/4253/2502 3350/4245/2494 3351/4246/2495 +f 3351/4246/2495 3352/4241/2490 3362/4202/2451 +f 3352/4241/2490 3353/4234/2483 3354/4230/2479 +f 3354/4230/2479 3355/4225/2474 3352/4241/2490 +f 3355/4225/2474 3356/4221/2470 3352/4241/2490 +f 3356/4221/2470 3357/4222/2471 3361/4201/2450 +f 3357/4222/2471 3358/4217/2466 3361/4201/2450 +f 3358/4217/2466 3359/4213/2462 3361/4201/2450 +f 3359/4213/2462 3360/4206/2455 3361/4201/2450 +f 3361/4201/2450 3362/4202/2451 3352/4241/2490 +f 3362/4202/2451 3363/4194/2443 3364/4190/2439 +f 3364/4190/2439 3365/4185/2434 3362/4202/2451 +f 3367/4182/2431 3368/4177/2426 3342/4281/2530 +f 3368/4177/2426 3369/4173/2422 3371/4161/2410 +f 3369/4173/2422 3370/4166/2415 3371/4161/2410 +f 3372/4162/2411 3373/4157/2406 3423/3957/2206 +f 3373/4157/2406 3374/4150/2399 3422/3961/2210 +f 3423/3957/2206 3373/4157/2406 3422/3961/2210 +f 3374/4150/2399 3375/4146/2395 3422/3961/2210 +f 3375/4146/2395 3376/4141/2390 3422/3961/2210 +f 3422/3961/2210 3376/4141/2390 3377/4137/2386 +f 3377/4137/2386 3378/4138/2387 3422/3961/2210 +f 3421/3968/2217 3378/4138/2387 3379/4133/2382 +f 3379/4133/2382 3380/4129/2378 3421/3968/2217 +f 3421/3968/2217 3380/4129/2378 3381/4122/2371 +f 3381/4122/2371 3382/3250/1499 3421/3968/2217 +f 3382/3250/1499 3383/4118/2367 3416/3986/2235 +f 3383/4118/2367 3384/4111/2360 3385/4107/2356 +f 3415/3990/2239 3383/4118/2367 3414/3995/2244 +f 3385/4107/2356 3386/4101/2350 3383/4118/2367 +f 3386/4101/2350 3387/4102/2351 3383/4118/2367 +f 3387/4102/2351 3388/4098/2347 3383/4118/2367 +f 3388/4098/2347 3389/4094/2343 3392/4083/2332 +f 3389/4094/2343 3390/4090/2339 3392/4083/2332 +f 3390/4090/2339 3391/4082/2331 3392/4083/2332 +f 3392/4083/2332 3393/4078/2327 3412/3999/2248 +f 3393/4078/2327 3394/4071/2320 3395/4067/2316 +f 3403/4039/2288 3408/4018/2267 3412/3999/2248 +f 3395/4067/2316 3396/4061/2310 3393/4078/2327 +f 3396/4061/2310 3397/4062/2311 3393/4078/2327 +f 3397/4062/2311 3398/4058/2307 3393/4078/2327 +f 3398/4058/2307 3399/4054/2303 3402/4038/2287 +f 3399/4054/2303 3400/4050/2299 3402/4038/2287 +f 3400/4050/2299 3401/4043/2292 3402/4038/2287 +f 3402/4038/2287 3403/4039/2288 3393/4078/2327 +f 3403/4039/2288 3404/4031/2280 3405/4027/2276 +f 3393/4078/2327 3403/4039/2288 3412/3999/2248 +f 3405/4027/2276 3406/4022/2271 3403/4039/2288 +f 3406/4022/2271 3407/4023/2272 3403/4039/2288 +f 3407/4023/2272 3408/4018/2267 3403/4039/2288 +f 3408/4018/2267 3409/4014/2263 3412/3999/2248 +f 3409/4014/2263 3410/4010/2259 3412/3999/2248 +f 3410/4010/2259 3411/4003/2252 3412/3999/2248 +f 3412/3999/2248 3413/3994/2243 3392/4083/2332 +f 3392/4083/2332 3413/3994/2243 3383/4118/2367 +f 3383/4118/2367 3415/3990/2239 3416/3986/2235 +f 3421/3968/2217 3382/3250/1499 3420/3252/1501 +f 3378/4138/2387 3421/3968/2217 3422/3961/2210 +f 3417/3979/2228 3382/3250/1499 3416/3986/2235 +f 3414/3995/2244 3383/4118/2367 3413/3994/2243 +f 3388/4098/2347 3392/4083/2332 3383/4118/2367 +f 3398/4058/2307 3402/4038/2287 3393/4078/2327 +f 3382/3250/1499 3417/3979/2228 3418/3975/2224 +f 3371/4161/2410 3342/4281/2530 3368/4177/2426 +f 3361/4201/2450 3352/4241/2490 3356/4221/2470 +f 3351/4246/2495 3362/4202/2451 3342/4281/2530 +f 3351/4246/2495 3342/4281/2530 3346/4261/2510 +f 3425/3949/2198 3426/3943/2192 3372/4162/2411 +f 3424/3953/2202 3425/3949/2198 3372/4162/2411 +f 3423/3957/2206 3424/3953/2202 3372/4162/2411 +f 3382/3250/1499 3418/3975/2224 3419/3251/1500 +f 3312/3233/1482 3315/3232/1481 3320/3253/1502 +f 3062/2983/1232 3063/2982/1231 3069/3254/1503 +f 3045/3255/1504 3474/3258/1507 3475/3256/1505 +f 3474/3258/1507 3476/3260/1509 3477/3259/1508 +f 3476/3260/1509 3478/3262/1511 3479/3261/1510 +f 3478/3262/1511 3294/3215/1464 2899/2962/1211 +f 3046/2970/1219 3070/2989/1238 3480/3263/1512 +f 3481/3264/1513 3480/3263/1512 3482/3265/1514 +f 3483/3266/1515 3482/3265/1514 3484/3267/1516 +f 3485/3268/1517 3484/3267/1516 2924/3269/1518 +f 3051/2971/1220 3486/3274/1523 3480/3263/1512 +f 3480/3263/1512 3486/3274/1523 3487/3271/1520 +f 3482/3265/1514 3487/3271/1520 3488/3272/1521 +f 3488/3272/1521 2925/3276/1525 2924/3269/1518 +f 3051/2971/1220 3050/2973/1222 3489/3273/1522 +f 3489/3273/1522 3490/3278/1527 3487/3271/1520 +f 3487/3271/1520 3490/3278/1527 3491/3275/1524 +f 3491/3275/1524 2926/3281/1530 2925/3276/1525 +f 3054/2975/1224 3492/3277/1526 3489/3273/1522 +f 3492/3277/1526 3493/3283/1532 3490/3278/1527 +f 3490/3278/1527 3493/3283/1532 3494/3279/1528 +f 3491/3275/1524 3494/3279/1528 2927/3280/1529 +f 3056/2977/1226 3495/3286/1535 3492/3277/1526 +f 3492/3277/1526 3495/3286/1535 3496/3282/1531 +f 3493/3283/1532 3496/3282/1531 3497/3284/1533 +f 3497/3284/1533 2928/3289/1538 2927/3280/1529 +f 3056/2977/1226 3058/2979/1228 3498/3285/1534 +f 3498/3285/1534 3499/3287/1536 3496/3282/1531 +f 3499/3287/1536 3500/3292/1541 3497/3284/1533 +f 3497/3284/1533 3500/3292/1541 2929/3288/1537 +f 3058/2979/1228 3060/2981/1230 3501/3290/1539 +f 3501/3290/1539 3502/3291/1540 3499/3287/1536 +f 3502/3291/1540 3503/3293/1542 3500/3292/1541 +f 3503/3293/1542 2930/3297/1546 2929/3288/1537 +f 3060/2981/1230 3062/2983/1232 3504/3294/1543 +f 3501/3290/1539 3504/3294/1543 3505/3295/1544 +f 3505/3295/1544 3506/3296/1545 3503/3293/1542 +f 3506/3296/1545 2931/3301/1550 2930/3297/1546 +f 3068/2987/1236 3507/3298/1547 3504/3294/1543 +f 3507/3298/1547 3508/3299/1548 3505/3295/1544 +f 3508/3299/1548 3509/3300/1549 3506/3296/1545 +f 3509/3300/1549 2932/3305/1554 2931/3301/1550 +f 3065/2984/1233 3510/3302/1551 3507/3298/1547 +f 3510/3302/1551 3511/3303/1552 3508/3299/1548 +f 3511/3303/1552 3512/3304/1553 3509/3300/1549 +f 3512/3304/1553 2933/3309/1558 2932/3305/1554 +f 3064/2986/1235 3513/3306/1555 3510/3302/1551 +f 3513/3306/1555 3514/3307/1556 3511/3303/1552 +f 3514/3307/1556 3515/3308/1557 3512/3304/1553 +f 3515/3308/1557 2934/3314/1563 2933/3309/1558 +f 3064/2986/1235 3077/2994/1243 3516/3310/1559 +f 3513/3306/1555 3516/3310/1559 3517/3311/1560 +f 3514/3307/1556 3517/3311/1560 3518/3312/1561 +f 3515/3308/1557 3518/3312/1561 2935/3313/1562 +f 3077/2994/1243 3076/2996/1245 3519/3315/1564 +f 3516/3310/1559 3519/3315/1564 3520/3316/1565 +f 3517/3311/1560 3520/3316/1565 3521/3317/1566 +f 3518/3312/1561 3521/3317/1566 2936/3318/1567 +f 3076/2996/1245 3080/2998/1247 3522/3319/1568 +f 3519/3315/1564 3522/3319/1568 3523/3320/1569 +f 3520/3316/1565 3523/3320/1569 3524/3321/1570 +f 3521/3317/1566 3524/3321/1570 2937/3322/1571 +f 3080/2998/1247 3082/3000/1249 3525/3323/1572 +f 3522/3319/1568 3525/3323/1572 3526/3324/1573 +f 3526/3324/1573 3527/3325/1574 3524/3321/1570 +f 3527/3325/1574 2938/3329/1578 2937/3322/1571 +f 3084/3002/1251 3528/3326/1575 3525/3323/1572 +f 3528/3326/1575 3529/3327/1576 3526/3324/1573 +f 3529/3327/1576 3530/3328/1577 3527/3325/1574 +f 3530/3328/1577 2939/3333/1582 2938/3329/1578 +f 3086/3004/1253 3531/3330/1579 3528/3326/1575 +f 3531/3330/1579 3532/3331/1580 3529/3327/1576 +f 3532/3331/1580 3533/3332/1581 3530/3328/1577 +f 3533/3332/1581 2940/3337/1586 2939/3333/1582 +f 3073/2991/1240 3534/3334/1583 3531/3330/1579 +f 3534/3334/1583 3535/3335/1584 3532/3331/1580 +f 3535/3335/1584 3536/3336/1585 3533/3332/1581 +f 3536/3336/1585 2941/3342/1591 2940/3337/1586 +f 3073/2991/1240 3072/2993/1242 3537/3338/1587 +f 3534/3334/1583 3537/3338/1587 3538/3339/1588 +f 3535/3335/1584 3538/3339/1588 3539/3340/1589 +f 3536/3336/1585 3539/3340/1589 2942/3341/1590 +f 3072/2993/1242 3092/3010/1259 3540/3343/1592 +f 3537/3338/1587 3540/3343/1592 3541/3344/1593 +f 3538/3339/1588 3541/3344/1593 3542/3345/1594 +f 3539/3340/1589 3542/3345/1594 2943/3346/1595 +f 3089/3006/1255 3543/3347/1596 3540/3343/1592 +f 3543/3347/1596 3544/3348/1597 3541/3344/1593 +f 3544/3348/1597 3545/3349/1598 3542/3345/1594 +f 3545/3349/1598 2944/3353/1602 2943/3346/1595 +f 3088/3008/1257 3546/3350/1599 3543/3347/1596 +f 3546/3350/1599 3547/3351/1600 3544/3348/1597 +f 3547/3351/1600 3548/3352/1601 3545/3349/1598 +f 3548/3352/1601 2945/3357/1606 2944/3353/1602 +f 3099/3016/1265 3549/3354/1603 3546/3350/1599 +f 3549/3354/1603 3550/3355/1604 3547/3351/1600 +f 3550/3355/1604 3551/3356/1605 3548/3352/1601 +f 3551/3356/1605 2946/3361/1610 2945/3357/1606 +f 3098/3018/1267 3552/3358/1607 3549/3354/1603 +f 3552/3358/1607 3553/3359/1608 3550/3355/1604 +f 3553/3359/1608 3554/3360/1609 3551/3356/1605 +f 3554/3360/1609 2947/3365/1614 2946/3361/1610 +f 3102/3020/1269 3555/3362/1611 3552/3358/1607 +f 3555/3362/1611 3556/3363/1612 3553/3359/1608 +f 3556/3363/1612 3557/3364/1613 3554/3360/1609 +f 3557/3364/1613 2948/3368/1617 2947/3365/1614 +f 3102/3020/1269 3104/3022/1271 3558/3366/1615 +f 3558/3366/1615 3559/3371/1620 3556/3363/1612 +f 3556/3363/1612 3559/3371/1620 3560/3367/1616 +f 3560/3367/1616 2949/3374/1623 2948/3368/1617 +f 3104/3022/1271 3106/3024/1273 3561/3369/1618 +f 3558/3366/1615 3561/3369/1618 3562/3370/1619 +f 3559/3371/1620 3562/3370/1619 3563/3372/1621 +f 3560/3367/1616 3563/3372/1621 2950/3373/1622 +f 3106/3024/1273 3108/3026/1275 3564/3375/1624 +f 3561/3369/1618 3564/3375/1624 3565/3376/1625 +f 3562/3370/1619 3565/3376/1625 3566/3377/1626 +f 3563/3372/1621 3566/3377/1626 2951/3378/1627 +f 3108/3026/1275 3095/3013/1262 3567/3379/1628 +f 3564/3375/1624 3567/3379/1628 3568/3380/1629 +f 3565/3376/1625 3568/3380/1629 3569/3381/1630 +f 3566/3377/1626 3569/3381/1630 2952/3382/1631 +f 3095/3013/1262 3094/3015/1264 3570/3383/1632 +f 3567/3379/1628 3570/3383/1632 3571/3384/1633 +f 3568/3380/1629 3571/3384/1633 3572/3385/1634 +f 3569/3381/1630 3572/3385/1634 2953/3386/1635 +f 3094/3015/1264 3111/3028/1277 3573/3387/1636 +f 3570/3383/1632 3573/3387/1636 3574/3388/1637 +f 3571/3384/1633 3574/3388/1637 3575/3389/1638 +f 3572/3385/1634 3575/3389/1638 2954/3390/1639 +f 3110/3030/1279 3576/3391/1640 3573/3387/1636 +f 3576/3391/1640 3577/3392/1641 3574/3388/1637 +f 3577/3392/1641 3578/3393/1642 3575/3389/1638 +f 3578/3393/1642 2955/3397/1646 2954/3390/1639 +f 3110/3030/1279 3119/3036/1285 3579/3394/1643 +f 3576/3391/1640 3579/3394/1643 3580/3395/1644 +f 3577/3392/1641 3580/3395/1644 3581/3396/1645 +f 3578/3393/1642 3581/3396/1645 2956/2967/1216 +f 3119/3036/1285 3118/3038/1287 3582/3398/1647 +f 3579/3394/1643 3582/3398/1647 3583/3399/1648 +f 3580/3395/1644 3583/3399/1648 3584/3400/1649 +f 3581/3396/1645 3584/3400/1649 2957/2965/1214 +f 3118/3038/1287 3122/3040/1289 3585/3401/1650 +f 3582/3398/1647 3585/3401/1650 3586/3402/1651 +f 3583/3399/1648 3586/3402/1651 3587/3403/1652 +f 3584/3400/1649 3587/3403/1652 2958/3404/1653 +f 3124/3042/1291 3588/3407/1656 3585/3401/1650 +f 3585/3401/1650 3588/3407/1656 3589/3405/1654 +f 3589/3405/1654 3590/3410/1659 3587/3403/1652 +f 3587/3403/1652 3590/3410/1659 2959/3406/1655 +f 3126/3044/1293 3591/3408/1657 3588/3407/1656 +f 3591/3408/1657 3592/3409/1658 3589/3405/1654 +f 3592/3409/1658 3593/3411/1660 3590/3410/1659 +f 3593/3411/1660 2960/3415/1664 2959/3406/1655 +f 3128/3046/1295 3594/3412/1661 3591/3408/1657 +f 3594/3412/1661 3595/3413/1662 3592/3409/1658 +f 3595/3413/1662 3596/3414/1663 3593/3411/1660 +f 3596/3414/1663 2961/3419/1668 2960/3415/1664 +f 3115/3033/1282 3597/3416/1665 3594/3412/1661 +f 3597/3416/1665 3598/3417/1666 3595/3413/1662 +f 3598/3417/1666 3599/3418/1667 3596/3414/1663 +f 3599/3418/1667 2962/3424/1673 2961/3419/1668 +f 3115/3033/1282 3114/3035/1284 3600/3420/1669 +f 3597/3416/1665 3600/3420/1669 3601/3421/1670 +f 3598/3417/1666 3601/3421/1670 3602/3422/1671 +f 3599/3418/1667 3602/3422/1671 2963/3423/1672 +f 3114/3035/1284 3131/3048/1297 3603/3425/1674 +f 3600/3420/1669 3603/3425/1674 3604/3426/1675 +f 3601/3421/1670 3604/3426/1675 3605/3427/1676 +f 3602/3422/1671 3605/3427/1676 2964/3428/1677 +f 3131/3048/1297 3130/3050/1299 3606/3429/1678 +f 3603/3425/1674 3606/3429/1678 3607/3430/1679 +f 3604/3426/1675 3607/3430/1679 3608/3431/1680 +f 3605/3427/1676 3608/3431/1680 2965/3432/1681 +f 3139/3056/1305 3609/3433/1682 3606/3429/1678 +f 3609/3433/1682 3610/3434/1683 3607/3430/1679 +f 3610/3434/1683 3611/3435/1684 3608/3431/1680 +f 3611/3435/1684 2966/3439/1688 2965/3432/1681 +f 3138/3058/1307 3612/3436/1685 3609/3433/1682 +f 3612/3436/1685 3613/3437/1686 3610/3434/1683 +f 3613/3437/1686 3614/3438/1687 3611/3435/1684 +f 3614/3438/1687 2967/3443/1692 2966/3439/1688 +f 3142/3060/1309 3615/3440/1689 3612/3436/1685 +f 3615/3440/1689 3616/3441/1690 3613/3437/1686 +f 3616/3441/1690 3617/3442/1691 3614/3438/1687 +f 3617/3442/1691 2968/3447/1696 2967/3443/1692 +f 3142/3060/1309 3144/3062/1311 3618/3444/1693 +f 3615/3440/1689 3618/3444/1693 3619/3445/1694 +f 3619/3445/1694 3620/3451/1700 3617/3442/1691 +f 3617/3442/1691 3620/3451/1700 2969/3446/1695 +f 3144/3062/1311 3146/3064/1313 3621/3448/1697 +f 3618/3444/1693 3621/3448/1697 3622/3449/1698 +f 3619/3445/1694 3622/3449/1698 3623/3450/1699 +f 3620/3451/1700 3623/3450/1699 2970/3452/1701 +f 3146/3064/1313 3148/3066/1315 3624/3453/1702 +f 3621/3448/1697 3624/3453/1702 3625/3454/1703 +f 3622/3449/1698 3625/3454/1703 3626/3455/1704 +f 3623/3450/1699 3626/3455/1704 2971/3456/1705 +f 3148/3066/1315 3135/3053/1302 3627/3457/1706 +f 3624/3453/1702 3627/3457/1706 3628/3458/1707 +f 3625/3454/1703 3628/3458/1707 3629/3459/1708 +f 3626/3455/1704 3629/3459/1708 2972/3460/1709 +f 3134/3055/1304 3630/3461/1710 3627/3457/1706 +f 3630/3461/1710 3631/3462/1711 3628/3458/1707 +f 3631/3462/1711 3632/3463/1712 3629/3459/1708 +f 3632/3463/1712 2973/3468/1717 2972/3460/1709 +f 3134/3055/1304 3151/3068/1317 3633/3464/1713 +f 3630/3461/1710 3633/3464/1713 3634/3465/1714 +f 3631/3462/1711 3634/3465/1714 3635/3466/1715 +f 3632/3463/1712 3635/3466/1715 2974/3467/1716 +f 3151/3068/1317 3150/3070/1319 3636/3469/1718 +f 3633/3464/1713 3636/3469/1718 3637/3470/1719 +f 3634/3465/1714 3637/3470/1719 3638/3471/1720 +f 3635/3466/1715 3638/3471/1720 2975/3472/1721 +f 3159/3076/1325 3639/3473/1722 3636/3469/1718 +f 3639/3473/1722 3640/3474/1723 3637/3470/1719 +f 3640/3474/1723 3641/3475/1724 3638/3471/1720 +f 3641/3475/1724 2976/3479/1728 2975/3472/1721 +f 3158/3078/1327 3642/3476/1725 3639/3473/1722 +f 3642/3476/1725 3643/3477/1726 3640/3474/1723 +f 3643/3477/1726 3644/3478/1727 3641/3475/1724 +f 3644/3478/1727 2977/3483/1732 2976/3479/1728 +f 3162/3080/1329 3645/3480/1729 3642/3476/1725 +f 3645/3480/1729 3646/3481/1730 3643/3477/1726 +f 3646/3481/1730 3647/3482/1731 3644/3478/1727 +f 3647/3482/1731 2978/3486/1735 2977/3483/1732 +f 3162/3080/1329 3164/3082/1331 3648/3484/1733 +f 3648/3484/1733 3649/3489/1738 3646/3481/1730 +f 3646/3481/1730 3649/3489/1738 3650/3485/1734 +f 3650/3485/1734 2979/3492/1741 2978/3486/1735 +f 3164/3082/1331 3166/3084/1333 3651/3487/1736 +f 3648/3484/1733 3651/3487/1736 3652/3488/1737 +f 3649/3489/1738 3652/3488/1737 3653/3490/1739 +f 3650/3485/1734 3653/3490/1739 2980/3491/1740 +f 3166/3084/1333 3168/3086/1335 3654/3493/1742 +f 3651/3487/1736 3654/3493/1742 3655/3494/1743 +f 3652/3488/1737 3655/3494/1743 3656/3495/1744 +f 3653/3490/1739 3656/3495/1744 2981/3496/1745 +f 3168/3086/1335 3155/3073/1322 3657/3497/1746 +f 3654/3493/1742 3657/3497/1746 3658/3498/1747 +f 3655/3494/1743 3658/3498/1747 3659/3499/1748 +f 3656/3495/1744 3659/3499/1748 2982/3500/1749 +f 3154/3075/1324 3660/3501/1750 3657/3497/1746 +f 3660/3501/1750 3661/3502/1751 3658/3498/1747 +f 3661/3502/1751 3662/3503/1752 3659/3499/1748 +f 3662/3503/1752 2983/3507/1756 2982/3500/1749 +f 3171/3088/1337 3663/3504/1753 3660/3501/1750 +f 3663/3504/1753 3664/3505/1754 3661/3502/1751 +f 3664/3505/1754 3665/3506/1755 3662/3503/1752 +f 3665/3506/1755 2984/3512/1761 2983/3507/1756 +f 3171/3088/1337 3170/3090/1339 3666/3508/1757 +f 3663/3504/1753 3666/3508/1757 3667/3509/1758 +f 3664/3505/1754 3667/3509/1758 3668/3510/1759 +f 3665/3506/1755 3668/3510/1759 2985/3511/1760 +f 3179/3096/1345 3669/3513/1762 3666/3508/1757 +f 3669/3513/1762 3670/3514/1763 3667/3509/1758 +f 3670/3514/1763 3671/3515/1764 3668/3510/1759 +f 3671/3515/1764 2986/3519/1768 2985/3511/1760 +f 3178/3098/1347 3672/3516/1765 3669/3513/1762 +f 3672/3516/1765 3673/3517/1766 3670/3514/1763 +f 3673/3517/1766 3674/3518/1767 3671/3515/1764 +f 3674/3518/1767 2987/3523/1772 2986/3519/1768 +f 3182/3100/1349 3675/3520/1769 3672/3516/1765 +f 3675/3520/1769 3676/3521/1770 3673/3517/1766 +f 3676/3521/1770 3677/3522/1771 3674/3518/1767 +f 3677/3522/1771 2988/3527/1776 2987/3523/1772 +f 3182/3100/1349 3184/3102/1351 3678/3524/1773 +f 3675/3520/1769 3678/3524/1773 3679/3525/1774 +f 3676/3521/1770 3679/3525/1774 3680/3526/1775 +f 3680/3526/1775 2989/3532/1781 2988/3527/1776 +f 3184/3102/1351 3186/3104/1353 3681/3528/1777 +f 3678/3524/1773 3681/3528/1777 3682/3529/1778 +f 3679/3525/1774 3682/3529/1778 3683/3530/1779 +f 3680/3526/1775 3683/3530/1779 2990/3531/1780 +f 3186/3104/1353 3188/3106/1355 3684/3533/1782 +f 3681/3528/1777 3684/3533/1782 3685/3534/1783 +f 3682/3529/1778 3685/3534/1783 3686/3535/1784 +f 3683/3530/1779 3686/3535/1784 2991/3536/1785 +f 3188/3106/1355 3175/3093/1342 3687/3537/1786 +f 3684/3533/1782 3687/3537/1786 3688/3538/1787 +f 3685/3534/1783 3688/3538/1787 3689/3539/1788 +f 3686/3535/1784 3689/3539/1788 2992/3540/1789 +f 3174/3095/1344 3690/3541/1790 3687/3537/1786 +f 3690/3541/1790 3691/3542/1791 3688/3538/1787 +f 3691/3542/1791 3692/3543/1792 3689/3539/1788 +f 3692/3543/1792 2993/3547/1796 2992/3540/1789 +f 3191/3108/1357 3693/3544/1793 3690/3541/1790 +f 3693/3544/1793 3694/3545/1794 3691/3542/1791 +f 3694/3545/1794 3695/3546/1795 3692/3543/1792 +f 3695/3546/1795 2994/2966/1215 2993/3547/1796 +f 3191/3108/1357 3190/3110/1359 3696/3548/1797 +f 3693/3544/1793 3696/3548/1797 3697/3549/1798 +f 3694/3545/1794 3697/3549/1798 3698/3550/1799 +f 3695/3546/1795 3698/3550/1799 2995/3551/1800 +f 3199/3116/1365 3699/3552/1801 3696/3548/1797 +f 3699/3552/1801 3700/3553/1802 3697/3549/1798 +f 3700/3553/1802 3701/3554/1803 3698/3550/1799 +f 3701/3554/1803 2996/3558/1807 2995/3551/1800 +f 3198/3118/1367 3702/3555/1804 3699/3552/1801 +f 3702/3555/1804 3703/3556/1805 3700/3553/1802 +f 3703/3556/1805 3704/3557/1806 3701/3554/1803 +f 3704/3557/1806 2997/3562/1811 2996/3558/1807 +f 3202/3120/1369 3705/3559/1808 3702/3555/1804 +f 3705/3559/1808 3706/3560/1809 3703/3556/1805 +f 3706/3560/1809 3707/3561/1810 3704/3557/1806 +f 3707/3561/1810 2998/3565/1814 2997/3562/1811 +f 3204/3122/1371 3708/3567/1816 3705/3559/1808 +f 3705/3559/1808 3708/3567/1816 3709/3563/1812 +f 3709/3563/1812 3710/3570/1819 3707/3561/1810 +f 3707/3561/1810 3710/3570/1819 2999/3564/1813 +f 3204/3122/1371 3206/3124/1373 3711/3566/1815 +f 3708/3567/1816 3711/3566/1815 3712/3568/1817 +f 3709/3563/1812 3712/3568/1817 3713/3569/1818 +f 3710/3570/1819 3713/3569/1818 3000/3571/1820 +f 3206/3124/1373 3208/3126/1375 3714/3572/1821 +f 3711/3566/1815 3714/3572/1821 3715/3573/1822 +f 3712/3568/1817 3715/3573/1822 3716/3574/1823 +f 3713/3569/1818 3716/3574/1823 3001/3575/1824 +f 3208/3126/1375 3195/3113/1362 3717/3576/1825 +f 3714/3572/1821 3717/3576/1825 3718/3577/1826 +f 3715/3573/1822 3718/3577/1826 3719/3578/1827 +f 3716/3574/1823 3719/3578/1827 3002/3579/1828 +f 3194/3115/1364 3720/3580/1829 3717/3576/1825 +f 3720/3580/1829 3721/3581/1830 3718/3577/1826 +f 3721/3581/1830 3722/3582/1831 3719/3578/1827 +f 3722/3582/1831 3003/3586/1835 3002/3579/1828 +f 3214/3132/1381 3723/3583/1832 3720/3580/1829 +f 3723/3583/1832 3724/3584/1833 3721/3581/1830 +f 3724/3584/1833 3725/3585/1834 3722/3582/1831 +f 3725/3585/1834 3004/3591/1840 3003/3586/1835 +f 3214/3132/1381 3211/3128/1377 3726/3587/1836 +f 3723/3583/1832 3726/3587/1836 3727/3588/1837 +f 3724/3584/1833 3727/3588/1837 3728/3589/1838 +f 3725/3585/1834 3728/3589/1838 3005/3590/1839 +f 3211/3128/1377 3210/3130/1379 3729/3592/1841 +f 3726/3587/1836 3729/3592/1841 3730/3593/1842 +f 3727/3588/1837 3730/3593/1842 3731/3594/1843 +f 3728/3589/1838 3731/3594/1843 3006/3595/1844 +f 3221/3138/1387 3732/3596/1845 3729/3592/1841 +f 3732/3596/1845 3733/3597/1846 3730/3593/1842 +f 3733/3597/1846 3734/3598/1847 3731/3594/1843 +f 3734/3598/1847 3007/3602/1851 3006/3595/1844 +f 3220/3140/1389 3735/3599/1848 3732/3596/1845 +f 3735/3599/1848 3736/3600/1849 3733/3597/1846 +f 3736/3600/1849 3737/3601/1850 3734/3598/1847 +f 3737/3601/1850 3008/3606/1855 3007/3602/1851 +f 3224/3142/1391 3738/3603/1852 3735/3599/1848 +f 3738/3603/1852 3739/3604/1853 3736/3600/1849 +f 3739/3604/1853 3740/3605/1854 3737/3601/1850 +f 3740/3605/1854 3009/3610/1859 3008/3606/1855 +f 3226/3144/1393 3741/3607/1856 3738/3603/1852 +f 3741/3607/1856 3742/3613/1862 3739/3604/1853 +f 3739/3604/1853 3742/3613/1862 3743/3608/1857 +f 3740/3605/1854 3743/3608/1857 3010/3609/1858 +f 3226/3144/1393 3228/3146/1395 3744/3611/1860 +f 3741/3607/1856 3744/3611/1860 3745/3612/1861 +f 3742/3613/1862 3745/3612/1861 3746/3614/1863 +f 3743/3608/1857 3746/3614/1863 3011/3615/1864 +f 3228/3146/1395 3230/3148/1397 3747/3616/1865 +f 3744/3611/1860 3747/3616/1865 3748/3617/1866 +f 3745/3612/1861 3748/3617/1866 3749/3618/1867 +f 3746/3614/1863 3749/3618/1867 3012/3619/1868 +f 3230/3148/1397 3217/3135/1384 3750/3620/1869 +f 3747/3616/1865 3750/3620/1869 3751/3621/1870 +f 3748/3617/1866 3751/3621/1870 3752/3622/1871 +f 3749/3618/1867 3752/3622/1871 3013/3623/1872 +f 3216/3137/1386 3753/3624/1873 3750/3620/1869 +f 3753/3624/1873 3754/3625/1874 3751/3621/1870 +f 3754/3625/1874 3755/3626/1875 3752/3622/1871 +f 3755/3626/1875 3014/3631/1880 3013/3623/1872 +f 3216/3137/1386 3233/3150/1399 3756/3627/1876 +f 3753/3624/1873 3756/3627/1876 3757/3628/1877 +f 3754/3625/1874 3757/3628/1877 3758/3629/1878 +f 3755/3626/1875 3758/3629/1878 3015/3630/1879 +f 3233/3150/1399 3232/3152/1401 3759/3632/1881 +f 3756/3627/1876 3759/3632/1881 3760/3633/1882 +f 3757/3628/1877 3760/3633/1882 3761/3634/1883 +f 3758/3629/1878 3761/3634/1883 3016/3635/1884 +f 3241/3158/1407 3762/3636/1885 3759/3632/1881 +f 3762/3636/1885 3763/3637/1886 3760/3633/1882 +f 3763/3637/1886 3764/3638/1887 3761/3634/1883 +f 3764/3638/1887 3017/3642/1891 3016/3635/1884 +f 3240/3160/1409 3765/3639/1888 3762/3636/1885 +f 3765/3639/1888 3766/3640/1889 3763/3637/1886 +f 3766/3640/1889 3767/3641/1890 3764/3638/1887 +f 3767/3641/1890 3018/3646/1895 3017/3642/1891 +f 3244/3162/1411 3768/3643/1892 3765/3639/1888 +f 3768/3643/1892 3769/3644/1893 3766/3640/1889 +f 3769/3644/1893 3770/3645/1894 3767/3641/1890 +f 3770/3645/1894 3019/3650/1899 3018/3646/1895 +f 3244/3162/1411 3246/3164/1413 3771/3647/1896 +f 3771/3647/1896 3772/3648/1897 3769/3644/1893 +f 3772/3648/1897 3773/3654/1903 3770/3645/1894 +f 3770/3645/1894 3773/3654/1903 3020/3649/1898 +f 3246/3164/1413 3248/3166/1415 3774/3651/1900 +f 3771/3647/1896 3774/3651/1900 3775/3652/1901 +f 3772/3648/1897 3775/3652/1901 3776/3653/1902 +f 3773/3654/1903 3776/3653/1902 3021/3655/1904 +f 3248/3166/1415 3250/3168/1417 3777/3656/1905 +f 3774/3651/1900 3777/3656/1905 3778/3657/1906 +f 3775/3652/1901 3778/3657/1906 3779/3658/1907 +f 3776/3653/1902 3779/3658/1907 3022/3659/1908 +f 3250/3168/1417 3237/3155/1404 3780/3660/1909 +f 3777/3656/1905 3780/3660/1909 3781/3661/1910 +f 3778/3657/1906 3781/3661/1910 3782/3662/1911 +f 3779/3658/1907 3782/3662/1911 3023/3663/1912 +f 3236/3157/1406 3783/3664/1913 3780/3660/1909 +f 3783/3664/1913 3784/3665/1914 3781/3661/1910 +f 3784/3665/1914 3785/3666/1915 3782/3662/1911 +f 3785/3666/1915 3024/3670/1919 3023/3663/1912 +f 3253/3170/1419 3786/3667/1916 3783/3664/1913 +f 3786/3667/1916 3787/3668/1917 3784/3665/1914 +f 3787/3668/1917 3788/3669/1918 3785/3666/1915 +f 3788/3669/1918 3025/3675/1924 3024/3670/1919 +f 3253/3170/1419 3252/3172/1421 3789/3671/1920 +f 3786/3667/1916 3789/3671/1920 3790/3672/1921 +f 3787/3668/1917 3790/3672/1921 3791/3673/1922 +f 3788/3669/1918 3791/3673/1922 3026/3674/1923 +f 3261/3178/1427 3792/3676/1925 3789/3671/1920 +f 3792/3676/1925 3793/3677/1926 3790/3672/1921 +f 3793/3677/1926 3794/3678/1927 3791/3673/1922 +f 3794/3678/1927 3027/3682/1931 3026/3674/1923 +f 3260/3180/1429 3795/3679/1928 3792/3676/1925 +f 3795/3679/1928 3796/3680/1929 3793/3677/1926 +f 3796/3680/1929 3797/3681/1930 3794/3678/1927 +f 3797/3681/1930 3028/3686/1935 3027/3682/1931 +f 3264/3182/1431 3798/3683/1932 3795/3679/1928 +f 3798/3683/1932 3799/3684/1933 3796/3680/1929 +f 3799/3684/1933 3800/3685/1934 3797/3681/1930 +f 3800/3685/1934 3029/3690/1939 3028/3686/1935 +f 3264/3182/1431 3266/3184/1433 3801/3687/1936 +f 3798/3683/1932 3801/3687/1936 3802/3688/1937 +f 3802/3688/1937 3803/3694/1943 3800/3685/1934 +f 3800/3685/1934 3803/3694/1943 3030/3689/1938 +f 3266/3184/1433 3268/3186/1435 3804/3691/1940 +f 3801/3687/1936 3804/3691/1940 3805/3692/1941 +f 3802/3688/1937 3805/3692/1941 3806/3693/1942 +f 3803/3694/1943 3806/3693/1942 3031/3695/1944 +f 3268/3186/1435 3270/3188/1437 3807/3696/1945 +f 3804/3691/1940 3807/3696/1945 3808/3697/1946 +f 3805/3692/1941 3808/3697/1946 3809/3698/1947 +f 3806/3693/1942 3809/3698/1947 3032/3699/1948 +f 3270/3188/1437 3257/3175/1424 3810/3700/1949 +f 3807/3696/1945 3810/3700/1949 3811/3701/1950 +f 3808/3697/1946 3811/3701/1950 3812/3702/1951 +f 3809/3698/1947 3812/3702/1951 3033/3703/1952 +f 3256/3177/1426 3813/3704/1953 3810/3700/1949 +f 3813/3704/1953 3814/3705/1954 3811/3701/1950 +f 3814/3705/1954 3815/3706/1955 3812/3702/1951 +f 3815/3706/1955 3034/3710/1959 3033/3703/1952 +f 3273/3190/1439 3816/3707/1956 3813/3704/1953 +f 3816/3707/1956 3817/3708/1957 3814/3705/1954 +f 3817/3708/1957 3818/3709/1958 3815/3706/1955 +f 3818/3709/1958 3035/3714/1963 3034/3710/1959 +f 3272/3192/1441 3819/3711/1960 3816/3707/1956 +f 3819/3711/1960 3820/3712/1961 3817/3708/1957 +f 3820/3712/1961 3821/3713/1962 3818/3709/1958 +f 3821/3713/1962 3036/3719/1968 3035/3714/1963 +f 3272/3192/1441 3281/3198/1447 3822/3715/1964 +f 3819/3711/1960 3822/3715/1964 3823/3716/1965 +f 3820/3712/1961 3823/3716/1965 3824/3717/1966 +f 3821/3713/1962 3824/3717/1966 3037/3718/1967 +f 3281/3198/1447 3280/3200/1449 3825/3720/1969 +f 3822/3715/1964 3825/3720/1969 3826/3721/1970 +f 3823/3716/1965 3826/3721/1970 3827/3722/1971 +f 3824/3717/1966 3827/3722/1971 3038/3723/1972 +f 3280/3200/1449 3284/3202/1451 3828/3724/1973 +f 3825/3720/1969 3828/3724/1973 3829/3725/1974 +f 3826/3721/1970 3829/3725/1974 3830/3726/1975 +f 3827/3722/1971 3830/3726/1975 3039/3727/1976 +f 3284/3202/1451 3286/3204/1453 3831/3728/1977 +f 3828/3724/1973 3831/3728/1977 3832/3729/1978 +f 3832/3729/1978 3833/3730/1979 3830/3726/1975 +f 3833/3730/1979 3040/3734/1983 3039/3727/1976 +f 3288/3206/1455 3834/3731/1980 3831/3728/1977 +f 3834/3731/1980 3835/3732/1981 3832/3729/1978 +f 3835/3732/1981 3836/3733/1982 3833/3730/1979 +f 3836/3733/1982 3041/3738/1987 3040/3734/1983 +f 3290/3208/1457 3837/3735/1984 3834/3731/1980 +f 3837/3735/1984 3838/3736/1985 3835/3732/1981 +f 3838/3736/1985 3839/3737/1986 3836/3733/1982 +f 3839/3737/1986 3042/3742/1991 3041/3738/1987 +f 3277/3195/1444 3840/3739/1988 3837/3735/1984 +f 3840/3739/1988 3841/3740/1989 3838/3736/1985 +f 3841/3740/1989 3842/3741/1990 3839/3737/1986 +f 3842/3741/1990 3043/3747/1996 3042/3742/1991 +f 3277/3195/1444 3276/3197/1446 3843/3743/1992 +f 3840/3739/1988 3843/3743/1992 3844/3744/1993 +f 3841/3740/1989 3844/3744/1993 3845/3745/1994 +f 3842/3741/1990 3845/3745/1994 3044/3746/1995 +f 3276/3197/1446 3294/3215/1464 3478/3262/1511 +f 3843/3743/1992 3478/3262/1511 3476/3260/1509 +f 3844/3744/1993 3476/3260/1509 3474/3258/1507 +f 3845/3745/1994 3474/3258/1507 3045/3255/1504 +f 2899/2962/1211 2898/2964/1213 3846/3748/1997 +f 3479/3261/1510 3846/3748/1997 3847/3749/1998 +f 3477/3259/1508 3847/3749/1998 3848/3750/1999 +f 3475/3256/1505 3848/3750/1999 2903/3751/2000 +f 2898/2964/1213 3292/3211/1460 3849/3752/2001 +f 3846/3748/1997 3849/3752/2001 3850/3753/2002 +f 3847/3749/1998 3850/3753/2002 3851/3754/2003 +f 3848/3750/1999 3851/3754/2003 2904/3755/2004 +f 3301/3219/1468 3852/3756/2005 3849/3752/2001 +f 3852/3756/2005 3853/3757/2006 3850/3753/2002 +f 3853/3757/2006 3854/3758/2007 3851/3754/2003 +f 3854/3758/2007 2905/3762/2011 2904/3755/2004 +f 3300/3221/1470 3855/3759/2008 3852/3756/2005 +f 3855/3759/2008 3856/3760/2009 3853/3757/2006 +f 3856/3760/2009 3857/3761/2010 3854/3758/2007 +f 3857/3761/2010 2906/3766/2015 2905/3762/2011 +f 3304/3223/1472 3858/3763/2012 3855/3759/2008 +f 3858/3763/2012 3859/3764/2013 3856/3760/2009 +f 3859/3764/2013 3860/3765/2014 3857/3761/2010 +f 3860/3765/2014 2907/3770/2019 2906/3766/2015 +f 3304/3223/1472 3306/3225/1474 3861/3767/2016 +f 3861/3767/2016 3862/3768/2017 3859/3764/2013 +f 3862/3768/2017 3863/3769/2018 3860/3765/2014 +f 3863/3769/2018 2908/3775/2024 2907/3770/2019 +f 3306/3225/1474 3308/3227/1476 3864/3771/2020 +f 3861/3767/2016 3864/3771/2020 3865/3772/2021 +f 3862/3768/2017 3865/3772/2021 3866/3773/2022 +f 3863/3769/2018 3866/3773/2022 2909/3774/2023 +f 3308/3227/1476 3310/3229/1478 3867/3776/2025 +f 3864/3771/2020 3867/3776/2025 3868/3777/2026 +f 3865/3772/2021 3868/3777/2026 3869/3778/2027 +f 3866/3773/2022 3869/3778/2027 2910/3779/2028 +f 3310/3229/1478 3297/3216/1465 3870/3780/2029 +f 3867/3776/2025 3870/3780/2029 3871/3781/2030 +f 3868/3777/2026 3871/3781/2030 3872/3782/2031 +f 3869/3778/2027 3872/3782/2031 2911/3783/2032 +f 3296/3218/1467 3873/3784/2033 3870/3780/2029 +f 3873/3784/2033 3874/3785/2034 3871/3781/2030 +f 3874/3785/2034 3875/3786/2035 3872/3782/2031 +f 3875/3786/2035 2912/3791/2040 2911/3783/2032 +f 3296/3218/1467 3313/3231/1480 3876/3787/2036 +f 3873/3784/2033 3876/3787/2036 3877/3788/2037 +f 3874/3785/2034 3877/3788/2037 3878/3789/2038 +f 3875/3786/2035 3878/3789/2038 2913/3790/2039 +f 3313/3231/1480 3312/3233/1482 3879/3792/2041 +f 3876/3787/2036 3879/3792/2041 3880/3793/2042 +f 3877/3788/2037 3880/3793/2042 3881/3794/2043 +f 3878/3789/2038 3881/3794/2043 2914/3795/2044 +f 3319/3238/1487 3882/3796/2045 3879/3792/2041 +f 3882/3796/2045 3883/3801/2050 3880/3793/2042 +f 3880/3793/2042 3883/3801/2050 3884/3797/2046 +f 3881/3794/2043 3884/3797/2046 2915/3798/2047 +f 3319/3238/1487 3318/3240/1489 3885/3799/2048 +f 3882/3796/2045 3885/3799/2048 3886/3800/2049 +f 3886/3800/2049 3887/3802/2051 3884/3797/2046 +f 3887/3802/2051 2916/3806/2055 2915/3798/2047 +f 3318/3240/1489 3322/3242/1491 3888/3803/2052 +f 3888/3803/2052 3889/3804/2053 3886/3800/2049 +f 3889/3804/2053 3890/3805/2054 3887/3802/2051 +f 3890/3805/2054 2917/3809/2058 2916/3806/2055 +f 3322/3242/1491 3324/3244/1493 3891/3807/2056 +f 3891/3807/2056 3892/3812/2061 3889/3804/2053 +f 3889/3804/2053 3892/3812/2061 3893/3808/2057 +f 3893/3808/2057 2918/3814/2063 2917/3809/2058 +f 3324/3244/1493 3326/3246/1495 3894/3810/2059 +f 3891/3807/2056 3894/3810/2059 3895/3811/2060 +f 3895/3811/2060 3896/3813/2062 3893/3808/2057 +f 3896/3813/2062 2919/3818/2067 2918/3814/2063 +f 3328/3248/1497 3897/3819/2068 3894/3810/2059 +f 3894/3810/2059 3897/3819/2068 3898/3815/2064 +f 3895/3811/2060 3898/3815/2064 3899/3816/2065 +f 3896/3813/2062 3899/3816/2065 2920/3817/2066 +f 3316/3236/1485 3900/3822/2071 3897/3819/2068 +f 3897/3819/2068 3900/3822/2071 3901/3820/2069 +f 3901/3820/2069 3902/3821/2070 3899/3816/2065 +f 3902/3821/2070 2921/3826/2075 2920/3817/2066 +f 3047/2968/1217 3903/3823/2072 3900/3822/2071 +f 3903/3823/2072 3904/3824/2073 3901/3820/2069 +f 3904/3824/2073 3905/3825/2074 3902/3821/2070 +f 3905/3825/2074 2922/3827/2076 2921/3826/2075 +f 3047/2968/1217 3046/2970/1219 3481/3264/1513 +f 3481/3264/1513 3483/3266/1515 3904/3824/2073 +f 3483/3266/1515 3485/3268/1517 3905/3825/2074 +f 3905/3825/2074 3485/3268/1517 2923/3270/1519 +f 2900/3828/2077 3295/3214/1463 3906/3829/2078 +f 3907/3830/2079 3906/3829/2078 3908/3831/2080 +f 3909/3832/2081 3908/3831/2080 3910/3833/2082 +f 3911/3834/2083 3910/3833/2082 3331/3835/2084 +f 3452/3837/2086 3912/3840/2089 3913/3838/2087 +f 3912/3840/2089 3914/3842/2091 3915/3841/2090 +f 3914/3842/2091 3916/3844/2093 3917/3843/2092 +f 3916/3844/2093 3071/3012/1261 3049/2969/1218 +f 3452/3837/2086 3451/3847/2096 3918/3845/2094 +f 3918/3845/2094 3919/3846/2095 3914/3842/2091 +f 3919/3846/2095 3920/3850/2099 3916/3844/2093 +f 3916/3844/2093 3920/3850/2099 3052/2990/1239 +f 3451/3847/2096 3450/3852/2101 3921/3848/2097 +f 3921/3848/2097 3922/3854/2103 3919/3846/2095 +f 3919/3846/2095 3922/3854/2103 3923/3849/2098 +f 3923/3849/2098 3053/2972/1221 3052/2990/1239 +f 3449/3851/2100 3924/3853/2102 3921/3848/2097 +f 3924/3853/2102 3925/3857/2106 3922/3854/2103 +f 3922/3854/2103 3925/3857/2106 3926/3855/2104 +f 3923/3849/2098 3926/3855/2104 3055/2974/1223 +f 3449/3851/2100 3448/3860/2109 3927/3856/2105 +f 3927/3856/2105 3928/3858/2107 3925/3857/2106 +f 3928/3858/2107 3929/3863/2112 3926/3855/2104 +f 3926/3855/2104 3929/3863/2112 3057/2976/1225 +f 3447/3859/2108 3930/3861/2110 3927/3856/2105 +f 3930/3861/2110 3931/3866/2115 3928/3858/2107 +f 3928/3858/2107 3931/3866/2115 3932/3862/2111 +f 3929/3863/2112 3932/3862/2111 3059/2978/1227 +f 3446/3864/2113 3933/3869/2118 3930/3861/2110 +f 3930/3861/2110 3933/3869/2118 3934/3865/2114 +f 3931/3866/2115 3934/3865/2114 3935/3867/2116 +f 3935/3867/2116 3061/2980/1229 3059/2978/1227 +f 3446/3864/2113 3445/3872/2121 3936/3868/2117 +f 3933/3869/2118 3936/3868/2117 3937/3870/2119 +f 3937/3870/2119 3938/3871/2120 3935/3867/2116 +f 3938/3871/2120 3063/2982/1231 3061/2980/1229 +f 3445/3872/2121 3444/3876/2125 3939/3873/2122 +f 3936/3868/2117 3939/3873/2122 3940/3874/2123 +f 3937/3870/2119 3940/3874/2123 3941/3875/2124 +f 3938/3871/2120 3941/3875/2124 3069/3254/1503 +f 3444/3876/2125 3443/3880/2129 3942/3877/2126 +f 3939/3873/2122 3942/3877/2126 3943/3878/2127 +f 3940/3874/2123 3943/3878/2127 3944/3879/2128 +f 3941/3875/2124 3944/3879/2128 3066/2988/1237 +f 3443/3880/2129 3442/3885/2134 3945/3881/2130 +f 3942/3877/2126 3945/3881/2130 3946/3882/2131 +f 3943/3878/2127 3946/3882/2131 3947/3883/2132 +f 3944/3879/2128 3947/3883/2132 3067/2985/1234 +f 3441/3884/2133 3948/3886/2135 3945/3881/2130 +f 3948/3886/2135 3949/3887/2136 3946/3882/2131 +f 3949/3887/2136 3950/3888/2137 3947/3883/2132 +f 3950/3888/2137 3078/3009/1258 3067/2985/1234 +f 3440/3889/2138 3951/3890/2139 3948/3886/2135 +f 3951/3890/2139 3952/3891/2140 3949/3887/2136 +f 3952/3891/2140 3953/3892/2141 3950/3888/2137 +f 3953/3892/2141 3079/2995/1244 3078/3009/1258 +f 3439/3893/2142 3954/3894/2143 3951/3890/2139 +f 3954/3894/2143 3955/3895/2144 3952/3891/2140 +f 3955/3895/2144 3956/3896/2145 3953/3892/2141 +f 3956/3896/2145 3081/2997/1246 3079/2995/1244 +f 3439/3893/2142 3438/3900/2149 3957/3897/2146 +f 3954/3894/2143 3957/3897/2146 3958/3898/2147 +f 3958/3898/2147 3959/3899/2148 3956/3896/2145 +f 3959/3899/2148 3083/2999/1248 3081/2997/1246 +f 3438/3900/2149 3437/3904/2153 3960/3901/2150 +f 3957/3897/2146 3960/3901/2150 3961/3902/2151 +f 3958/3898/2147 3961/3902/2151 3962/3903/2152 +f 3959/3899/2148 3962/3903/2152 3085/3001/1250 +f 3437/3904/2153 3436/3908/2157 3963/3905/2154 +f 3960/3901/2150 3963/3905/2154 3964/3906/2155 +f 3961/3902/2151 3964/3906/2155 3965/3907/2156 +f 3962/3903/2152 3965/3907/2156 3087/3003/1252 +f 3436/3908/2157 3435/3913/2162 3966/3909/2158 +f 3963/3905/2154 3966/3909/2158 3967/3910/2159 +f 3964/3906/2155 3967/3910/2159 3968/3911/2160 +f 3965/3907/2156 3968/3911/2160 3074/3005/1254 +f 3434/3912/2161 3969/3914/2163 3966/3909/2158 +f 3969/3914/2163 3970/3915/2164 3967/3910/2159 +f 3970/3915/2164 3971/3916/2165 3968/3911/2160 +f 3971/3916/2165 3075/2992/1241 3074/3005/1254 +f 3433/3917/2166 3972/3918/2167 3969/3914/2163 +f 3972/3918/2167 3973/3919/2168 3970/3915/2164 +f 3973/3919/2168 3974/3920/2169 3971/3916/2165 +f 3974/3920/2169 3093/3134/1383 3075/2992/1241 +f 3433/3917/2166 3432/3924/2173 3975/3921/2170 +f 3972/3918/2167 3975/3921/2170 3976/3922/2171 +f 3973/3919/2168 3976/3922/2171 3977/3923/2172 +f 3974/3920/2169 3977/3923/2172 3090/3011/1260 +f 3432/3924/2173 3431/3928/2177 3978/3925/2174 +f 3975/3921/2170 3978/3925/2174 3979/3926/2175 +f 3976/3922/2171 3979/3926/2175 3980/3927/2176 +f 3977/3923/2172 3980/3927/2176 3091/3007/1256 +f 3431/3928/2177 3430/3932/2181 3981/3929/2178 +f 3978/3925/2174 3981/3929/2178 3982/3930/2179 +f 3979/3926/2175 3982/3930/2179 3983/3931/2180 +f 3980/3927/2176 3983/3931/2180 3100/3032/1281 +f 3430/3932/2181 3429/3936/2185 3984/3933/2182 +f 3981/3929/2178 3984/3933/2182 3985/3934/2183 +f 3982/3930/2179 3985/3934/2183 3986/3935/2184 +f 3983/3931/2180 3986/3935/2184 3101/3017/1266 +f 3429/3936/2185 3428/3940/2189 3987/3937/2186 +f 3984/3933/2182 3987/3937/2186 3988/3938/2187 +f 3985/3934/2183 3988/3938/2187 3989/3939/2188 +f 3986/3935/2184 3989/3939/2188 3103/3019/1268 +f 3428/3940/2189 3427/3944/2193 3990/3941/2190 +f 3990/3941/2190 3991/3946/2195 3988/3938/2187 +f 3988/3938/2187 3991/3946/2195 3992/3942/2191 +f 3992/3942/2191 3105/3021/1270 3103/3019/1268 +f 3426/3943/2192 3993/3945/2194 3990/3941/2190 +f 3993/3945/2194 3994/3947/2196 3991/3946/2195 +f 3994/3947/2196 3995/3948/2197 3992/3942/2191 +f 3995/3948/2197 3107/3023/1272 3105/3021/1270 +f 3425/3949/2198 3996/3950/2199 3993/3945/2194 +f 3996/3950/2199 3997/3951/2200 3994/3947/2196 +f 3997/3951/2200 3998/3952/2201 3995/3948/2197 +f 3998/3952/2201 3109/3025/1274 3107/3023/1272 +f 3424/3953/2202 3999/3954/2203 3996/3950/2199 +f 3999/3954/2203 4000/3955/2204 3997/3951/2200 +f 4000/3955/2204 4001/3956/2205 3998/3952/2201 +f 4001/3956/2205 3096/3027/1276 3109/3025/1274 +f 3423/3957/2206 4002/3958/2207 3999/3954/2203 +f 4002/3958/2207 4003/3959/2208 4000/3955/2204 +f 4003/3959/2208 4004/3960/2209 4001/3956/2205 +f 4004/3960/2209 3097/3014/1263 3096/3027/1276 +f 3422/3961/2210 4005/3962/2211 4002/3958/2207 +f 4005/3962/2211 4006/3963/2212 4003/3959/2208 +f 4006/3963/2212 4007/3964/2213 4004/3960/2209 +f 4007/3964/2213 3112/3031/1280 3097/3014/1263 +f 3422/3961/2210 3421/3968/2217 4008/3965/2214 +f 4005/3962/2211 4008/3965/2214 4009/3966/2215 +f 4006/3963/2212 4009/3966/2215 4010/3967/2216 +f 4007/3964/2213 4010/3967/2216 3113/3029/1278 +f 3420/3252/1501 4011/3969/2218 4008/3965/2214 +f 4011/3969/2218 4012/3970/2219 4009/3966/2215 +f 4012/3970/2219 4013/3971/2220 4010/3967/2216 +f 4013/3971/2220 3120/3052/1301 3113/3029/1278 +f 3419/3251/1500 4014/3972/2221 4011/3969/2218 +f 4014/3972/2221 4015/3973/2222 4012/3970/2219 +f 4015/3973/2222 4016/3974/2223 4013/3971/2220 +f 4016/3974/2223 3121/3037/1286 3120/3052/1301 +f 3418/3975/2224 4017/3976/2225 4014/3972/2221 +f 4017/3976/2225 4018/3977/2226 4015/3973/2222 +f 4018/3977/2226 4019/3978/2227 4016/3974/2223 +f 4019/3978/2227 3123/3039/1288 3121/3037/1286 +f 3417/3979/2228 4020/3982/2231 4017/3976/2225 +f 4017/3976/2225 4020/3982/2231 4021/3980/2229 +f 4021/3980/2229 4022/3985/2234 4019/3978/2227 +f 4019/3978/2227 4022/3985/2234 3125/3041/1290 +f 3417/3979/2228 3416/3986/2235 4023/3981/2230 +f 4020/3982/2231 4023/3981/2230 4024/3983/2232 +f 4021/3980/2229 4024/3983/2232 4025/3984/2233 +f 4022/3985/2234 4025/3984/2233 3127/3043/1292 +f 3416/3986/2235 3415/3990/2239 4026/3987/2236 +f 4023/3981/2230 4026/3987/2236 4027/3988/2237 +f 4024/3983/2232 4027/3988/2237 4028/3989/2238 +f 4025/3984/2233 4028/3989/2238 3129/3045/1294 +f 3415/3990/2239 3414/3995/2244 4029/3991/2240 +f 4026/3987/2236 4029/3991/2240 4030/3992/2241 +f 4027/3988/2237 4030/3992/2241 4031/3993/2242 +f 4028/3989/2238 4031/3993/2242 3116/3047/1296 +f 3413/3994/2243 4032/3996/2245 4029/3991/2240 +f 4032/3996/2245 4033/3997/2246 4030/3992/2241 +f 4033/3997/2246 4034/3998/2247 4031/3993/2242 +f 4034/3998/2247 3117/3034/1283 3116/3047/1296 +f 3412/3999/2248 4035/4000/2249 4032/3996/2245 +f 4035/4000/2249 4036/4001/2250 4033/3997/2246 +f 4036/4001/2250 4037/4002/2251 4034/3998/2247 +f 4037/4002/2251 3132/3051/1300 3117/3034/1283 +f 3411/4003/2252 4038/4004/2253 4035/4000/2249 +f 4038/4004/2253 4039/4005/2254 4036/4001/2250 +f 4039/4005/2254 4040/4006/2255 4037/4002/2251 +f 4040/4006/2255 3133/3049/1298 3132/3051/1300 +f 3411/4003/2252 3410/4010/2259 4041/4007/2256 +f 4038/4004/2253 4041/4007/2256 4042/4008/2257 +f 4039/4005/2254 4042/4008/2257 4043/4009/2258 +f 4040/4006/2255 4043/4009/2258 3140/3072/1321 +f 3410/4010/2259 3409/4014/2263 4044/4011/2260 +f 4041/4007/2256 4044/4011/2260 4045/4012/2261 +f 4042/4008/2257 4045/4012/2261 4046/4013/2262 +f 4043/4009/2258 4046/4013/2262 3141/3057/1306 +f 3409/4014/2263 3408/4018/2267 4047/4015/2264 +f 4044/4011/2260 4047/4015/2264 4048/4016/2265 +f 4045/4012/2261 4048/4016/2265 4049/4017/2266 +f 4046/4013/2262 4049/4017/2266 3143/3059/1308 +f 3408/4018/2267 3407/4023/2272 4050/4019/2268 +f 4047/4015/2264 4050/4019/2268 4051/4020/2269 +f 4048/4016/2265 4051/4020/2269 4052/4021/2270 +f 4049/4017/2266 4052/4021/2270 3145/3061/1310 +f 3406/4022/2271 4053/4024/2273 4050/4019/2268 +f 4053/4024/2273 4054/4025/2274 4051/4020/2269 +f 4054/4025/2274 4055/4026/2275 4052/4021/2270 +f 4055/4026/2275 3147/3063/1312 3145/3061/1310 +f 3405/4027/2276 4056/4028/2277 4053/4024/2273 +f 4056/4028/2277 4057/4029/2278 4054/4025/2274 +f 4057/4029/2278 4058/4030/2279 4055/4026/2275 +f 4058/4030/2279 3149/3065/1314 3147/3063/1312 +f 3404/4031/2280 4059/4032/2281 4056/4028/2277 +f 4059/4032/2281 4060/4033/2282 4057/4029/2278 +f 4060/4033/2282 4061/4034/2283 4058/4030/2279 +f 4061/4034/2283 3136/3067/1316 3149/3065/1314 +f 3404/4031/2280 3403/4039/2288 4062/4035/2284 +f 4059/4032/2281 4062/4035/2284 4063/4036/2285 +f 4060/4033/2282 4063/4036/2285 4064/4037/2286 +f 4061/4034/2283 4064/4037/2286 3137/3054/1303 +f 3402/4038/2287 4065/4040/2289 4062/4035/2284 +f 4065/4040/2289 4066/4041/2290 4063/4036/2285 +f 4066/4041/2290 4067/4042/2291 4064/4037/2286 +f 4067/4042/2291 3152/3071/1320 3137/3054/1303 +f 3401/4043/2292 4068/4044/2293 4065/4040/2289 +f 4068/4044/2293 4069/4045/2294 4066/4041/2290 +f 4069/4045/2294 4070/4046/2295 4067/4042/2291 +f 4070/4046/2295 3153/3069/1318 3152/3071/1320 +f 3401/4043/2292 3400/4050/2299 4071/4047/2296 +f 4068/4044/2293 4071/4047/2296 4072/4048/2297 +f 4069/4045/2294 4072/4048/2297 4073/4049/2298 +f 4070/4046/2295 4073/4049/2298 3160/3092/1341 +f 3400/4050/2299 3399/4054/2303 4074/4051/2300 +f 4071/4047/2296 4074/4051/2300 4075/4052/2301 +f 4072/4048/2297 4075/4052/2301 4076/4053/2302 +f 4073/4049/2298 4076/4053/2302 3161/3077/1326 +f 3399/4054/2303 3398/4058/2307 4077/4055/2304 +f 4074/4051/2300 4077/4055/2304 4078/4056/2305 +f 4075/4052/2301 4078/4056/2305 4079/4057/2306 +f 4076/4053/2302 4079/4057/2306 3163/3079/1328 +f 3398/4058/2307 3397/4062/2311 4080/4059/2308 +f 4080/4059/2308 4081/4064/2313 4078/4056/2305 +f 4078/4056/2305 4081/4064/2313 4082/4060/2309 +f 4082/4060/2309 3165/3081/1330 3163/3079/1328 +f 3396/4061/2310 4083/4063/2312 4080/4059/2308 +f 4083/4063/2312 4084/4065/2314 4081/4064/2313 +f 4084/4065/2314 4085/4066/2315 4082/4060/2309 +f 4085/4066/2315 3167/3083/1332 3165/3081/1330 +f 3395/4067/2316 4086/4068/2317 4083/4063/2312 +f 4086/4068/2317 4087/4069/2318 4084/4065/2314 +f 4087/4069/2318 4088/4070/2319 4085/4066/2315 +f 4088/4070/2319 3169/3085/1334 3167/3083/1332 +f 3394/4071/2320 4089/4072/2321 4086/4068/2317 +f 4089/4072/2321 4090/4073/2322 4087/4069/2318 +f 4090/4073/2322 4091/4074/2323 4088/4070/2319 +f 4091/4074/2323 3156/3087/1336 3169/3085/1334 +f 3394/4071/2320 3393/4078/2327 4092/4075/2324 +f 4089/4072/2321 4092/4075/2324 4093/4076/2325 +f 4090/4073/2322 4093/4076/2325 4094/4077/2326 +f 4091/4074/2323 4094/4077/2326 3157/3074/1323 +f 3393/4078/2327 3392/4083/2332 4095/4079/2328 +f 4092/4075/2324 4095/4079/2328 4096/4080/2329 +f 4093/4076/2325 4096/4080/2329 4097/4081/2330 +f 4094/4077/2326 4097/4081/2330 3172/3091/1340 +f 3391/4082/2331 4098/4084/2333 4095/4079/2328 +f 4098/4084/2333 4099/4085/2334 4096/4080/2329 +f 4099/4085/2334 4100/4086/2335 4097/4081/2330 +f 4100/4086/2335 3173/3089/1338 3172/3091/1340 +f 3391/4082/2331 3390/4090/2339 4101/4087/2336 +f 4098/4084/2333 4101/4087/2336 4102/4088/2337 +f 4099/4085/2334 4102/4088/2337 4103/4089/2338 +f 4100/4086/2335 4103/4089/2338 3180/3112/1361 +f 3390/4090/2339 3389/4094/2343 4104/4091/2340 +f 4101/4087/2336 4104/4091/2340 4105/4092/2341 +f 4102/4088/2337 4105/4092/2341 4106/4093/2342 +f 4103/4089/2338 4106/4093/2342 3181/3097/1346 +f 3389/4094/2343 3388/4098/2347 4107/4095/2344 +f 4104/4091/2340 4107/4095/2344 4108/4096/2345 +f 4105/4092/2341 4108/4096/2345 4109/4097/2346 +f 4106/4093/2342 4109/4097/2346 3183/3099/1348 +f 3388/4098/2347 3387/4102/2351 4110/4099/2348 +f 4110/4099/2348 4111/4104/2353 4108/4096/2345 +f 4108/4096/2345 4111/4104/2353 4112/4100/2349 +f 4112/4100/2349 3185/3101/1350 3183/3099/1348 +f 3386/4101/2350 4113/4103/2352 4110/4099/2348 +f 4113/4103/2352 4114/4105/2354 4111/4104/2353 +f 4114/4105/2354 4115/4106/2355 4112/4100/2349 +f 4115/4106/2355 3187/3103/1352 3185/3101/1350 +f 3385/4107/2356 4116/4108/2357 4113/4103/2352 +f 4116/4108/2357 4117/4109/2358 4114/4105/2354 +f 4117/4109/2358 4118/4110/2359 4115/4106/2355 +f 4118/4110/2359 3189/3105/1354 3187/3103/1352 +f 3384/4111/2360 4119/4112/2361 4116/4108/2357 +f 4119/4112/2361 4120/4113/2362 4117/4109/2358 +f 4120/4113/2362 4121/4114/2363 4118/4110/2359 +f 4121/4114/2363 3176/3107/1356 3189/3105/1354 +f 3384/4111/2360 3383/4118/2367 4122/4115/2364 +f 4119/4112/2361 4122/4115/2364 4123/4116/2365 +f 4120/4113/2362 4123/4116/2365 4124/4117/2366 +f 4121/4114/2363 4124/4117/2366 3177/3094/1343 +f 3383/4118/2367 3382/3250/1499 4125/4119/2368 +f 4122/4115/2364 4125/4119/2368 4126/4120/2369 +f 4123/4116/2365 4126/4120/2369 4127/4121/2370 +f 4124/4117/2366 4127/4121/2370 3192/3111/1360 +f 3381/4122/2371 4128/4123/2372 4125/4119/2368 +f 4128/4123/2372 4129/4124/2373 4126/4120/2369 +f 4129/4124/2373 4130/4125/2374 4127/4121/2370 +f 4130/4125/2374 3193/3109/1358 3192/3111/1360 +f 3381/4122/2371 3380/4129/2378 4131/4126/2375 +f 4128/4123/2372 4131/4126/2375 4132/4127/2376 +f 4129/4124/2373 4132/4127/2376 4133/4128/2377 +f 4130/4125/2374 4133/4128/2377 3200/3131/1380 +f 3380/4129/2378 3379/4133/2382 4134/4130/2379 +f 4131/4126/2375 4134/4130/2379 4135/4131/2380 +f 4132/4127/2376 4135/4131/2380 4136/4132/2381 +f 4133/4128/2377 4136/4132/2381 3201/3117/1366 +f 3379/4133/2382 3378/4138/2387 4137/4134/2383 +f 4134/4130/2379 4137/4134/2383 4138/4135/2384 +f 4135/4131/2380 4138/4135/2384 4139/4136/2385 +f 4136/4132/2381 4139/4136/2385 3203/3119/1368 +f 3377/4137/2386 4140/4142/2391 4137/4134/2383 +f 4137/4134/2383 4140/4142/2391 4141/4139/2388 +f 4141/4139/2388 4142/4140/2389 4139/4136/2385 +f 4142/4140/2389 3205/3121/1370 3203/3119/1368 +f 3376/4141/2390 4143/4143/2392 4140/4142/2391 +f 4143/4143/2392 4144/4144/2393 4141/4139/2388 +f 4144/4144/2393 4145/4145/2394 4142/4140/2389 +f 4145/4145/2394 3207/3123/1372 3205/3121/1370 +f 3375/4146/2395 4146/4147/2396 4143/4143/2392 +f 4146/4147/2396 4147/4148/2397 4144/4144/2393 +f 4147/4148/2397 4148/4149/2398 4145/4145/2394 +f 4148/4149/2398 3209/3125/1374 3207/3123/1372 +f 3374/4150/2399 4149/4151/2400 4146/4147/2396 +f 4149/4151/2400 4150/4152/2401 4147/4148/2397 +f 4150/4152/2401 4151/4153/2402 4148/4149/2398 +f 4151/4153/2402 3196/3127/1376 3209/3125/1374 +f 3374/4150/2399 3373/4157/2406 4152/4154/2403 +f 4149/4151/2400 4152/4154/2403 4153/4155/2404 +f 4150/4152/2401 4153/4155/2404 4154/4156/2405 +f 4151/4153/2402 4154/4156/2405 3197/3114/1363 +f 3373/4157/2406 3372/4162/2411 4155/4158/2407 +f 4152/4154/2403 4155/4158/2407 4156/4159/2408 +f 4153/4155/2404 4156/4159/2408 4157/4160/2409 +f 4154/4156/2405 4157/4160/2409 3215/3213/1462 +f 3371/4161/2410 4158/4163/2412 4155/4158/2407 +f 4158/4163/2412 4159/4164/2413 4156/4159/2408 +f 4159/4164/2413 4160/4165/2414 4157/4160/2409 +f 4160/4165/2414 3212/3133/1382 3215/3213/1462 +f 3370/4166/2415 4161/4167/2416 4158/4163/2412 +f 4161/4167/2416 4162/4168/2417 4159/4164/2413 +f 4162/4168/2417 4163/4169/2418 4160/4165/2414 +f 4163/4169/2418 3213/3129/1378 3212/3133/1382 +f 3370/4166/2415 3369/4173/2422 4164/4170/2419 +f 4161/4167/2416 4164/4170/2419 4165/4171/2420 +f 4162/4168/2417 4165/4171/2420 4166/4172/2421 +f 4163/4169/2418 4166/4172/2421 3222/3154/1403 +f 3369/4173/2422 3368/4177/2426 4167/4174/2423 +f 4164/4170/2419 4167/4174/2423 4168/4175/2424 +f 4165/4171/2420 4168/4175/2424 4169/4176/2425 +f 4166/4172/2421 4169/4176/2425 3223/3139/1388 +f 3368/4177/2426 3367/4182/2431 4170/4178/2427 +f 4167/4174/2423 4170/4178/2427 4171/4179/2428 +f 4168/4175/2424 4171/4179/2428 4172/4180/2429 +f 4169/4176/2425 4172/4180/2429 3225/3141/1390 +f 3366/4181/2430 4173/4183/2432 4170/4178/2427 +f 4173/4183/2432 4174/4187/2436 4171/4179/2428 +f 4171/4179/2428 4174/4187/2436 4175/4184/2433 +f 4175/4184/2433 3227/3143/1392 3225/3141/1390 +f 3365/4185/2434 4176/4186/2435 4173/4183/2432 +f 4176/4186/2435 4177/4188/2437 4174/4187/2436 +f 4177/4188/2437 4178/4189/2438 4175/4184/2433 +f 4178/4189/2438 3229/3145/1394 3227/3143/1392 +f 3364/4190/2439 4179/4191/2440 4176/4186/2435 +f 4179/4191/2440 4180/4192/2441 4177/4188/2437 +f 4180/4192/2441 4181/4193/2442 4178/4189/2438 +f 4181/4193/2442 3231/3147/1396 3229/3145/1394 +f 3363/4194/2443 4182/4195/2444 4179/4191/2440 +f 4182/4195/2444 4183/4196/2445 4180/4192/2441 +f 4183/4196/2445 4184/4197/2446 4181/4193/2442 +f 4184/4197/2446 3218/3149/1398 3231/3147/1396 +f 3363/4194/2443 3362/4202/2451 4185/4198/2447 +f 4182/4195/2444 4185/4198/2447 4186/4199/2448 +f 4183/4196/2445 4186/4199/2448 4187/4200/2449 +f 4184/4197/2446 4187/4200/2449 3219/3136/1385 +f 3361/4201/2450 4188/4203/2452 4185/4198/2447 +f 4188/4203/2452 4189/4204/2453 4186/4199/2448 +f 4189/4204/2453 4190/4205/2454 4187/4200/2449 +f 4190/4205/2454 3234/3153/1402 3219/3136/1385 +f 3360/4206/2455 4191/4207/2456 4188/4203/2452 +f 4191/4207/2456 4192/4208/2457 4189/4204/2453 +f 4192/4208/2457 4193/4209/2458 4190/4205/2454 +f 4193/4209/2458 3235/3151/1400 3234/3153/1402 +f 3360/4206/2455 3359/4213/2462 4194/4210/2459 +f 4191/4207/2456 4194/4210/2459 4195/4211/2460 +f 4192/4208/2457 4195/4211/2460 4196/4212/2461 +f 4193/4209/2458 4196/4212/2461 3242/3174/1423 +f 3359/4213/2462 3358/4217/2466 4197/4214/2463 +f 4194/4210/2459 4197/4214/2463 4198/4215/2464 +f 4195/4211/2460 4198/4215/2464 4199/4216/2465 +f 4196/4212/2461 4199/4216/2465 3243/3159/1408 +f 3358/4217/2466 3357/4222/2471 4200/4218/2467 +f 4197/4214/2463 4200/4218/2467 4201/4219/2468 +f 4198/4215/2464 4201/4219/2468 4202/4220/2469 +f 4199/4216/2465 4202/4220/2469 3245/3161/1410 +f 3356/4221/2470 4203/4226/2475 4200/4218/2467 +f 4200/4218/2467 4203/4226/2475 4204/4223/2472 +f 4201/4219/2468 4204/4223/2472 4205/4224/2473 +f 4202/4220/2469 4205/4224/2473 3247/3163/1412 +f 3355/4225/2474 4206/4227/2476 4203/4226/2475 +f 4206/4227/2476 4207/4228/2477 4204/4223/2472 +f 4207/4228/2477 4208/4229/2478 4205/4224/2473 +f 4208/4229/2478 3249/3165/1414 3247/3163/1412 +f 3354/4230/2479 4209/4231/2480 4206/4227/2476 +f 4209/4231/2480 4210/4232/2481 4207/4228/2477 +f 4210/4232/2481 4211/4233/2482 4208/4229/2478 +f 4211/4233/2482 3251/3167/1416 3249/3165/1414 +f 3353/4234/2483 4212/4235/2484 4209/4231/2480 +f 4212/4235/2484 4213/4236/2485 4210/4232/2481 +f 4213/4236/2485 4214/4237/2486 4211/4233/2482 +f 4214/4237/2486 3238/3169/1418 3251/3167/1416 +f 3353/4234/2483 3352/4241/2490 4215/4238/2487 +f 4212/4235/2484 4215/4238/2487 4216/4239/2488 +f 4213/4236/2485 4216/4239/2488 4217/4240/2489 +f 4214/4237/2486 4217/4240/2489 3239/3156/1405 +f 3352/4241/2490 3351/4246/2495 4218/4242/2491 +f 4215/4238/2487 4218/4242/2491 4219/4243/2492 +f 4216/4239/2488 4219/4243/2492 4220/4244/2493 +f 4217/4240/2489 4220/4244/2493 3254/3173/1422 +f 3350/4245/2494 4221/4247/2496 4218/4242/2491 +f 4221/4247/2496 4222/4248/2497 4219/4243/2492 +f 4222/4248/2497 4223/4249/2498 4220/4244/2493 +f 4223/4249/2498 3255/3171/1420 3254/3173/1422 +f 3350/4245/2494 3349/4253/2502 4224/4250/2499 +f 4221/4247/2496 4224/4250/2499 4225/4251/2500 +f 4222/4248/2497 4225/4251/2500 4226/4252/2501 +f 4223/4249/2498 4226/4252/2501 3262/3194/1443 +f 3349/4253/2502 3348/4257/2506 4227/4254/2503 +f 4224/4250/2499 4227/4254/2503 4228/4255/2504 +f 4225/4251/2500 4228/4255/2504 4229/4256/2505 +f 4226/4252/2501 4229/4256/2505 3263/3179/1428 +f 3348/4257/2506 3347/4262/2511 4230/4258/2507 +f 4227/4254/2503 4230/4258/2507 4231/4259/2508 +f 4228/4255/2504 4231/4259/2508 4232/4260/2509 +f 4229/4256/2505 4232/4260/2509 3265/3181/1430 +f 3346/4261/2510 4233/4266/2515 4230/4258/2507 +f 4230/4258/2507 4233/4266/2515 4234/4263/2512 +f 4234/4263/2512 4235/4264/2513 4232/4260/2509 +f 4235/4264/2513 3267/3183/1432 3265/3181/1430 +f 3345/4265/2514 4236/4267/2516 4233/4266/2515 +f 4236/4267/2516 4237/4268/2517 4234/4263/2512 +f 4237/4268/2517 4238/4269/2518 4235/4264/2513 +f 4238/4269/2518 3269/3185/1434 3267/3183/1432 +f 3344/4270/2519 4239/4271/2520 4236/4267/2516 +f 4239/4271/2520 4240/4272/2521 4237/4268/2517 +f 4240/4272/2521 4241/4273/2522 4238/4269/2518 +f 4241/4273/2522 3271/3187/1436 3269/3185/1434 +f 3343/4274/2523 4242/4275/2524 4239/4271/2520 +f 4242/4275/2524 4243/4276/2525 4240/4272/2521 +f 4243/4276/2525 4244/4277/2526 4241/4273/2522 +f 4244/4277/2526 3258/3189/1438 3271/3187/1436 +f 3343/4274/2523 3342/4281/2530 4245/4278/2527 +f 4242/4275/2524 4245/4278/2527 4246/4279/2528 +f 4243/4276/2525 4246/4279/2528 4247/4280/2529 +f 4244/4277/2526 4247/4280/2529 3259/3176/1425 +f 3342/4281/2530 3341/4285/2534 4248/4282/2531 +f 4245/4278/2527 4248/4282/2531 4249/4283/2532 +f 4246/4279/2528 4249/4283/2532 4250/4284/2533 +f 4247/4280/2529 4250/4284/2533 3274/3193/1442 +f 3341/4285/2534 3340/4290/2539 4251/4286/2535 +f 4248/4282/2531 4251/4286/2535 4252/4287/2536 +f 4249/4283/2532 4252/4287/2536 4253/4288/2537 +f 4250/4284/2533 4253/4288/2537 3275/3191/1440 +f 3339/4289/2538 4254/4291/2540 4251/4286/2535 +f 4254/4291/2540 4255/4292/2541 4252/4287/2536 +f 4255/4292/2541 4256/4293/2542 4253/4288/2537 +f 4256/4293/2542 3282/3212/1461 3275/3191/1440 +f 3338/4294/2543 4257/4295/2544 4254/4291/2540 +f 4257/4295/2544 4258/4296/2545 4255/4292/2541 +f 4258/4296/2545 4259/4297/2546 4256/4293/2542 +f 4259/4297/2546 3283/3199/1448 3282/3212/1461 +f 3337/4298/2547 4260/4299/2548 4257/4295/2544 +f 4260/4299/2548 4261/4300/2549 4258/4296/2545 +f 4261/4300/2549 4262/4301/2550 4259/4297/2546 +f 4262/4301/2550 3285/3201/1450 3283/3199/1448 +f 3337/4298/2547 3336/4305/2554 4263/4302/2551 +f 4260/4299/2548 4263/4302/2551 4264/4303/2552 +f 4264/4303/2552 4265/4304/2553 4262/4301/2550 +f 4265/4304/2553 3287/3203/1452 3285/3201/1450 +f 3336/4305/2554 3335/4309/2558 4266/4306/2555 +f 4263/4302/2551 4266/4306/2555 4267/4307/2556 +f 4264/4303/2552 4267/4307/2556 4268/4308/2557 +f 4265/4304/2553 4268/4308/2557 3289/3205/1454 +f 3335/4309/2558 3334/4313/2562 4269/4310/2559 +f 4266/4306/2555 4269/4310/2559 4270/4311/2560 +f 4267/4307/2556 4270/4311/2560 4271/4312/2561 +f 4268/4308/2557 4271/4312/2561 3291/3207/1456 +f 3334/4313/2562 3333/4318/2567 4272/4314/2563 +f 4269/4310/2559 4272/4314/2563 4273/4315/2564 +f 4270/4311/2560 4273/4315/2564 4274/4316/2565 +f 4271/4312/2561 4274/4316/2565 3278/3209/1458 +f 3332/4317/2566 4275/4319/2568 4272/4314/2563 +f 4275/4319/2568 4276/4320/2569 4273/4315/2564 +f 4276/4320/2569 4277/4321/2570 4274/4316/2565 +f 4277/4321/2570 3279/3196/1445 3278/3209/1458 +f 3331/3835/2084 3910/3833/2082 4275/4319/2568 +f 3910/3833/2082 3908/3831/2080 4276/4320/2569 +f 3908/3831/2080 3906/3829/2078 4277/4321/2570 +f 3906/3829/2078 3295/3214/1463 3279/3196/1445 +f 3473/4322/2571 4278/4323/2572 3911/3834/2083 +f 4278/4323/2572 4279/4324/2573 3909/3832/2081 +f 4279/4324/2573 4280/4325/2574 3907/3830/2079 +f 4280/4325/2574 2901/2963/1212 2900/3828/2077 +f 3472/4326/2575 4281/4327/2576 4278/4323/2572 +f 4281/4327/2576 4282/4328/2577 4279/4324/2573 +f 4282/4328/2577 4283/4329/2578 4280/4325/2574 +f 4283/4329/2578 3293/3210/1459 2901/2963/1212 +f 3472/4326/2575 3471/4333/2582 4284/4330/2579 +f 4281/4327/2576 4284/4330/2579 4285/4331/2580 +f 4282/4328/2577 4285/4331/2580 4286/4332/2581 +f 4283/4329/2578 4286/4332/2581 3302/3235/1484 +f 3471/4333/2582 3470/4337/2586 4287/4334/2583 +f 4284/4330/2579 4287/4334/2583 4288/4335/2584 +f 4285/4331/2580 4288/4335/2584 4289/4336/2585 +f 4286/4332/2581 4289/4336/2585 3303/3220/1469 +f 3470/4337/2586 3469/4341/2590 4290/4338/2587 +f 4287/4334/2583 4290/4338/2587 4291/4339/2588 +f 4288/4335/2584 4291/4339/2588 4292/4340/2589 +f 4289/4336/2585 4292/4340/2589 3305/3222/1471 +f 3469/4341/2590 3468/4346/2595 4293/4342/2591 +f 4290/4338/2587 4293/4342/2591 4294/4343/2592 +f 4291/4339/2588 4294/4343/2592 4295/4344/2593 +f 4292/4340/2589 4295/4344/2593 3307/3224/1473 +f 3467/4345/2594 4296/4347/2596 4293/4342/2591 +f 4296/4347/2596 4297/4348/2597 4294/4343/2592 +f 4297/4348/2597 4298/4349/2598 4295/4344/2593 +f 4298/4349/2598 3309/3226/1475 3307/3224/1473 +f 3466/4350/2599 4299/4351/2600 4296/4347/2596 +f 4299/4351/2600 4300/4352/2601 4297/4348/2597 +f 4300/4352/2601 4301/4353/2602 4298/4349/2598 +f 4301/4353/2602 3311/3228/1477 3309/3226/1475 +f 3465/4354/2603 4302/4355/2604 4299/4351/2600 +f 4302/4355/2604 4303/4356/2605 4300/4352/2601 +f 4303/4356/2605 4304/4357/2606 4301/4353/2602 +f 4304/4357/2606 3298/3230/1479 3311/3228/1477 +f 3465/4354/2603 3464/4362/2611 4305/4358/2607 +f 4302/4355/2604 4305/4358/2607 4306/4359/2608 +f 4303/4356/2605 4306/4359/2608 4307/4360/2609 +f 4304/4357/2606 4307/4360/2609 3299/3217/1466 +f 3463/4361/2610 4308/4363/2612 4305/4358/2607 +f 4308/4363/2612 4309/4364/2613 4306/4359/2608 +f 4309/4364/2613 4310/4365/2614 4307/4360/2609 +f 4310/4365/2614 3314/3234/1483 3299/3217/1466 +f 3462/4366/2615 4311/4367/2616 4308/4363/2612 +f 4311/4367/2616 4312/4368/2617 4309/4364/2613 +f 4312/4368/2617 4313/4369/2618 4310/4365/2614 +f 4313/4369/2618 3315/3232/1481 3314/3234/1483 +f 3461/4370/2619 4314/4373/2622 4311/4367/2616 +f 4311/4367/2616 4314/4373/2622 4315/4371/2620 +f 4315/4371/2620 4316/4375/2624 4313/4369/2618 +f 4313/4369/2618 4316/4375/2624 3320/3253/1502 +f 3461/4370/2619 3460/4376/2625 4317/4372/2621 +f 4314/4373/2622 4317/4372/2621 4318/4374/2623 +f 4318/4374/2623 4319/4380/2629 4316/4375/2624 +f 4316/4375/2624 4319/4380/2629 3321/3239/1488 +f 3460/4376/2625 3459/4381/2630 4320/4377/2626 +f 4317/4372/2621 4320/4377/2626 4321/4378/2627 +f 4318/4374/2623 4321/4378/2627 4322/4379/2628 +f 4322/4379/2628 3323/3241/1490 3321/3239/1488 +f 3459/4381/2630 3458/4384/2633 4323/4382/2631 +f 4323/4382/2631 4324/4386/2635 4321/4378/2627 +f 4321/4378/2627 4324/4386/2635 4325/4383/2632 +f 4325/4383/2632 3325/3243/1492 3323/3241/1490 +f 3458/4384/2633 3457/4389/2638 4326/4385/2634 +f 4326/4385/2634 4327/4387/2636 4324/4386/2635 +f 4327/4387/2636 4328/4392/2641 4325/4383/2632 +f 4325/4383/2632 4328/4392/2641 3327/3245/1494 +f 3456/4388/2637 4329/4390/2639 4326/4385/2634 +f 4329/4390/2639 4330/4391/2640 4327/4387/2636 +f 4330/4391/2640 4331/4395/2644 4328/4392/2641 +f 4328/4392/2641 4331/4395/2644 3329/3247/1496 +f 3456/4388/2637 3455/4396/2645 4332/4393/2642 +f 4332/4393/2642 4333/4394/2643 4330/4391/2640 +f 4333/4394/2643 4334/4400/2649 4331/4395/2644 +f 4331/4395/2644 4334/4400/2649 3317/3249/1498 +f 3455/4396/2645 3454/4401/2650 4335/4397/2646 +f 4332/4393/2642 4335/4397/2646 4336/4398/2647 +f 4333/4394/2643 4336/4398/2647 4337/4399/2648 +f 4334/4400/2649 4337/4399/2648 3048/3237/1486 +f 3453/3839/2088 3913/3838/2087 4335/4397/2646 +f 4335/4397/2646 3913/3838/2087 3915/3841/2090 +f 3915/3841/2090 3917/3843/2092 4337/4399/2648 +f 3917/3843/2092 3049/2969/1218 3048/3237/1486 +f 2899/2962/1211 3294/3215/1464 3295/3214/1463 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 new file mode 100644 index 0000000000000000000000000000000000000000..926d076b97a91b07c831a742631487f9b7fa8a41 GIT binary patch literal 320 zcmV-G0l)rpF@<~KNR45gdk=<&-Fcim=^t3bT*idQ9sI?c_1FY-;%Eq3>x79Zg zH+Nyih5;)|OOqW4gWZ^tT%3gD_y2&b3{1u^PSvo4kas2Z7rc^EWyY+g7WRC!eBuNIGzi+qJ7wqPkQc8U7 zK|#WGOsCcC8ZL3z4;pCjek9&{{LbTnQ+^E>U!29g)UE&&OHx|NI4c4o3$H S0e*u30000 Date: Mon, 10 Jul 2023 21:38:41 +0200 Subject: [PATCH 252/285] some pistol tweaks, compressor fix, cryo cannon texture --- changelog | 10 + .../hbm/handler/guncfg/Gun45ACPFactory.java | 2 + .../inventory/recipes/CompressorRecipes.java | 12 +- .../item/weapon/ItemRenderUACPistol.java | 4 +- .../machine/TileEntityMachineCompressor.java | 9 +- .../assets/hbm/models/weapons/UAC pistol.obj | 20184 +++++----------- .../textures/models/weapons/cryo_cannon.png | Bin 2283 -> 7611 bytes 7 files changed, 6622 insertions(+), 13599 deletions(-) diff --git a/changelog b/changelog index e69de29bb..26bf4f45d 100644 --- a/changelog +++ b/changelog @@ -0,0 +1,10 @@ +## Added +* UAC pistol + * Uses the .45 caliber + +## Changed +* Making LPG in the compressor now requires two compression steps + * This fixes an issue where polymer is unobtainable in 528 mode since petroleum at 1PU not being obtainable + +## Fixed +* Fixed issue where mk5 explosions would behave weirdly in their origin chunk, often blowing through bedrock and thick layers of concrete diff --git a/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java index 3afc3fe5f..b4f25aa06 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun45ACPFactory.java @@ -67,6 +67,8 @@ public class Gun45ACPFactory { 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"; diff --git a/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java b/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java index 62a686e56..c1cc077d9 100644 --- a/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java @@ -22,17 +22,25 @@ public class CompressorRecipes extends SerializableRecipe { 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(4_000, new FluidStack(Fluids.LPG, 2_000))); + + 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)); } public static class CompressorRecipe { public FluidStack output; public int inputAmount; + public int duration; - public CompressorRecipe(int input, FluidStack output) { + public CompressorRecipe(int input, FluidStack output, int duration) { this.output = output; this.inputAmount = input; + this.duration = duration; + } + + public CompressorRecipe(int input, FluidStack output) { + this(input, output, 100); } } diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderUACPistol.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderUACPistol.java index c2a33b7b4..2ce940cc0 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderUACPistol.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderUACPistol.java @@ -76,8 +76,8 @@ public class ItemRenderUACPistol implements IItemRenderer { GL11.glRotatef(-5F, 0F, 1F, 0F); GL11.glTranslatef(20.15F, 3.5F, 18F); } else { - GL11.glRotatef(-35F, 1F, 0F, 0F); - GL11.glTranslatef(0F, -12F, 25F); + GL11.glRotatef(-25F, 1F, 0F, 0F); + GL11.glTranslatef(-3F, -5F, 20F); } GL11.glPushMatrix(); GL11.glTranslated(slideAnim[0], slideAnim[1], slideAnim[2] * 2); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java index b3282a3d7..89be677fc 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java @@ -78,13 +78,20 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement 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; //there is a reason to do this but i'm not telling you - this.processTime = speedLevel == 3 ? 10 : speedLevel == 2 ? 20 : speedLevel == 1 ? 60 : this.processTimeBase; + if(timeBase == this.processTimeBase) 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; diff --git a/src/main/resources/assets/hbm/models/weapons/UAC pistol.obj b/src/main/resources/assets/hbm/models/weapons/UAC pistol.obj index b0fc57167..6e34a53d1 100644 --- a/src/main/resources/assets/hbm/models/weapons/UAC pistol.obj +++ b/src/main/resources/assets/hbm/models/weapons/UAC pistol.obj @@ -1,29 +1,4723 @@ -# Blender v2.82 (sub 7) OBJ File: 'UAC pistol.blend' +# Blender v2.79 (sub 0) OBJ File: '' # 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.817649 +v 0.584592 9.566045 -5.817649 +v -0.395192 9.328085 -6.240386 +v 0.584592 9.328085 -6.240386 +v -0.395192 8.650140 -6.472072 +v 0.584592 8.650140 -6.472072 +v -0.395192 8.023211 -6.974553 +v 0.584592 8.023211 -6.974553 +v -0.395192 7.262578 -7.039774 +v 0.584592 7.262578 -7.039774 +v -0.395192 7.029797 -6.702052 +v 0.584592 7.029797 -6.702052 +v -0.395192 7.269282 -6.422195 +v 0.584592 7.269282 -6.422195 +v -0.395192 7.572930 -6.422195 +v 0.584592 7.572930 -6.422195 +v -0.395192 8.226030 -6.011783 +v 0.584592 8.226030 -6.011783 +v -0.395192 6.903951 -4.234123 +v 0.584592 6.903951 -4.234123 +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.817649 +v 0.584592 9.566045 -5.817649 +v -0.395192 9.328085 -6.240386 +v 0.584592 9.328085 -6.240386 +v -0.395192 8.650140 -6.472072 +v 0.584592 8.650140 -6.472072 +v -0.395192 8.023211 -6.974553 +v 0.584592 8.023211 -6.974553 +v -0.395192 7.262578 -7.039774 +v 0.584592 7.262578 -7.039774 +v -0.395192 7.029797 -6.702052 +v 0.584592 7.029797 -6.702052 +v -0.395192 7.269282 -6.422195 +v 0.584592 7.269282 -6.422195 +v -0.395192 7.572930 -6.422195 +v 0.584592 7.572930 -6.422195 +v -0.395192 8.226030 -6.011783 +v 0.584592 8.226030 -6.011783 +v -0.395192 6.903951 -4.234123 +v 0.584592 6.903951 -4.234123 +v -0.395192 6.148036 -4.191928 +v 0.584592 6.148036 -4.191928 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.395485 0.647711 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.395485 0.647711 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.395485 0.647711 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.382588 0.627146 +vt 0.395485 0.647711 +vt 0.382588 0.627146 +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.2512 +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.4737 -0.8807 +vn 0.0000 -0.7356 -0.6775 +s off +f 22/1/1 20/2/1 18/3/1 +f 17/4/2 21/5/2 23/6/2 +f 25/7/2 15/8/2 23/6/2 +f 16/9/1 26/10/1 24/11/1 +f 14/12/1 6/13/1 26/10/1 +f 13/14/2 25/7/2 5/15/2 +f 5/15/2 11/16/2 13/14/2 +f 12/17/1 6/13/1 14/12/1 +f 7/18/2 9/19/2 11/16/2 +f 12/17/1 10/20/1 8/21/1 +f 6/13/1 28/22/1 26/10/1 +f 28/22/1 3/23/1 30/24/1 +f 27/25/2 5/15/2 25/7/2 +f 27/25/2 4/26/2 1/27/2 +f 16/9/1 24/11/1 18/3/1 +f 24/11/1 22/1/1 18/3/1 +f 23/6/2 15/8/2 17/4/2 +f 17/4/2 19/28/2 21/5/2 +f 25/7/2 13/14/2 15/8/2 +f 16/9/1 14/12/1 26/10/1 +f 5/15/2 7/18/2 11/16/2 +f 12/17/1 8/21/1 6/13/1 +f 6/13/1 2/29/1 28/22/1 +f 28/22/1 2/29/1 3/23/1 +f 27/25/2 1/27/2 5/15/2 +f 27/25/2 29/30/2 4/26/2 +s 1 +f 31/31/3 33/32/4 32/33/3 +f 32/33/3 35/34/5 31/31/3 +f 36/35/5 37/36/6 35/34/5 +f 38/37/6 39/38/7 37/36/6 +f 40/39/7 41/40/8 39/38/7 +f 42/41/8 43/42/9 41/40/8 +f 44/43/9 45/44/10 43/42/9 +f 46/45/10 47/46/11 45/44/10 +f 48/47/11 49/48/12 47/46/11 +f 50/49/12 51/50/13 49/48/12 +f 52/51/13 53/52/14 51/50/13 +f 54/53/14 55/54/15 53/52/14 +f 56/55/15 57/56/16 55/54/15 +f 58/57/17 59/58/18 57/56/16 +f 34/59/4 60/60/18 33/32/4 +f 31/31/3 34/59/4 33/32/4 +f 32/33/3 36/35/5 35/34/5 +f 36/35/5 38/37/6 37/36/6 +f 38/37/6 40/39/7 39/38/7 +f 40/39/7 42/41/8 41/40/8 +f 42/41/8 44/43/9 43/42/9 +f 44/43/9 46/45/10 45/44/10 +f 46/45/10 48/47/11 47/46/11 +f 48/47/11 50/49/12 49/48/12 +f 50/49/12 52/51/13 51/50/13 +f 52/51/13 54/53/14 53/52/14 +f 54/53/14 56/55/15 55/54/15 +f 56/55/15 58/57/17 57/56/16 +f 58/57/17 60/60/18 59/58/18 +f 34/59/4 59/58/18 60/60/18 +o slide_pistol_0 +v 1.014517 11.207904 -2.625849 +v 1.014517 11.207904 -2.300615 +v 1.014517 10.723700 -1.978914 +v -1.014517 10.157009 -2.625849 +v -1.014517 11.207904 -2.625849 +v -0.335502 10.613042 -2.625849 +v -1.526129 9.326169 3.920666 +v -1.526129 9.326169 3.413728 +v -1.526129 8.752565 3.413728 +v -1.705540 8.752565 3.920666 +v -1.705540 7.184847 3.920666 +v -1.705540 8.402288 6.532843 +v -1.526129 8.752565 3.920666 +v -1.705540 8.752565 3.920666 +v -1.705540 8.752759 6.288157 +v -1.526129 8.752565 3.920666 +v -1.524936 8.752759 6.288157 +v 1.705540 7.247200 -1.820036 +v 1.526129 7.247200 -1.820036 +v 1.526043 7.614016 -2.276281 +v 1.321148 7.184845 12.021435 +v -1.171832 7.184845 11.897297 +v 1.156401 7.184845 11.897297 +v 1.526043 7.614016 -2.276281 +v 1.526129 7.247200 -1.820036 +v 1.526043 7.184847 -2.765843 +v 1.321148 7.184845 11.214216 +v -1.705540 7.184847 2.105287 +v -1.705540 8.757562 2.105289 +v -1.705540 8.927025 1.935824 +v 1.526129 7.247200 -1.820036 +v 1.526129 7.184847 -1.313097 +v 1.526043 7.184847 -2.765843 +v -1.524936 9.326169 6.288157 +v -1.326382 10.025589 6.288157 +v -1.705540 9.660696 6.288157 +v -1.705540 9.326169 6.288157 +v 0.813732 7.184845 16.849926 +v 1.705540 7.184845 12.021435 +v 1.705540 7.184845 18.319260 +v 1.326382 7.184845 19.492821 +v -1.705540 7.967402 7.346316 +v -1.705540 8.055081 6.892088 +v 1.705540 7.637856 11.214216 +v 1.705540 7.184845 11.214216 +v 1.705540 7.967402 7.346316 +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.184845 11.214216 +v 1.156401 7.184845 5.830760 +v 1.705540 7.184847 -2.765843 +v 1.705540 7.184847 -4.842922 +v 1.705540 8.782389 -4.842922 +v 1.705540 7.614016 -2.276281 +v 1.231429 7.184847 -4.842922 +v 1.526129 7.184847 -1.313097 +v 1.231024 7.184847 1.879624 +v -1.526129 7.184847 2.105287 +v -1.526129 7.184847 2.612226 +v -1.526129 8.752565 2.612226 +v 1.705540 7.184847 3.920666 +v 1.321148 7.184845 11.214216 +v 1.705540 7.184845 11.214216 +v 1.705540 7.637856 11.214216 +v -0.813732 7.184845 16.849926 +v 1.526129 7.184847 3.920666 +v 0.000000 9.832471 21.944122 +v 0.947015 10.390595 21.944122 +v -0.947015 10.390595 21.944122 +v 1.705540 8.055081 6.892088 +v -1.171832 7.184845 11.897297 +v -1.171832 8.402286 11.660704 +v -1.171832 8.578351 11.777046 +v 0.167762 11.355708 20.190464 +v -0.167762 11.355708 20.190464 +v -0.167762 10.787156 20.190464 +v 0.814306 10.492231 20.190464 +v 0.814306 10.492231 19.285318 +v 0.359371 10.492231 19.285318 +v 0.893030 10.492231 20.116810 +v 0.893030 10.492231 19.372772 +v -1.526129 7.184847 3.413727 +v 1.526129 7.184847 3.413727 +v -0.393269 7.184847 1.879624 +v 0.393269 7.184847 1.879624 +v -1.333642 8.402288 6.532843 +v -1.333642 8.055081 6.892088 +v -1.333642 7.967402 7.346316 +v -1.016029 10.321226 11.777046 +v -0.947015 10.390595 11.777046 +v -0.654714 10.019365 11.777046 +v -0.813732 7.184845 16.849926 +v 0.813732 7.184845 16.849926 +v 0.813732 5.420440 16.849926 +v 0.471660 5.087638 16.849926 +v -0.471660 5.087638 16.849926 +v -0.813732 5.420440 16.849926 +v -1.333642 7.184845 21.944122 +v -1.333642 7.184845 19.492821 +v -0.813732 7.184845 21.944122 +v -1.526129 7.184847 0.796846 +v -1.705540 7.184847 0.796846 +v -1.705540 7.184847 -0.004656 +v -0.728164 8.051682 1.879624 +v -0.393269 9.417000 1.879624 +v -0.393269 7.184847 1.879624 +v -0.728164 7.586768 1.879624 +v -1.238688 7.184847 1.879624 +v 1.231024 9.417000 1.879624 +v 1.231024 8.051682 1.879624 +v 0.728164 8.051682 1.879624 +v 1.526129 7.184847 2.105287 +v 1.526129 7.184847 2.612226 +v 1.705540 7.184847 -1.313097 +v 1.705540 7.184847 -0.511595 +v 1.526129 7.184847 -0.511595 +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.920666 +v 1.705540 9.660696 3.920666 +v 0.408756 10.107763 -3.259710 +v -0.409408 10.107763 -3.259710 +v -0.409408 10.390597 -3.172265 +v 1.705540 9.660696 3.413728 +v 1.526129 9.833411 3.413728 +v 1.526129 7.184847 3.413727 +v -0.392768 7.184847 -4.842922 +v 0.393269 9.417000 1.879624 +v 0.393269 7.184847 1.879624 +v 0.392768 7.184847 -4.842922 +v 1.705540 7.184847 2.612226 +v 1.526129 7.184847 2.612226 +v 1.526129 9.833411 2.612226 +v 1.526129 7.184847 2.105287 +v 1.705540 7.184847 2.105287 +v 1.705540 9.660696 2.105289 +v 0.392768 8.782389 -4.842922 +v 0.392768 9.417337 -4.333549 +v 1.231024 7.184847 1.879624 +v 1.231024 7.586768 1.879624 +v 1.231429 7.587345 -4.842922 +v 0.408756 10.390597 -3.531358 +v 0.408756 10.107763 -3.763226 +v 0.408756 10.107763 -3.259710 +v 1.526129 9.833411 1.303785 +v 1.705540 9.660696 1.303785 +v 1.705540 7.184847 1.303785 +v 0.728571 7.587345 -4.842922 +v 0.728571 8.051105 -4.842922 +v 1.231429 8.051105 -4.842922 +v 1.705540 9.660696 0.796846 +v 1.526129 9.833411 0.796846 +v 1.526129 7.184847 0.796846 +v 0.813732 7.184845 21.944122 +v 1.231024 9.417000 1.879624 +v 0.393269 9.417000 1.879624 +v 0.392768 9.417337 -4.333549 +v 1.231024 7.586768 1.879624 +v 0.728164 7.586768 1.879624 +v 0.728571 7.587345 -4.842922 +v 1.526129 9.833411 -0.004656 +v 1.705540 9.660696 -0.004656 +v 1.705540 7.184847 -0.004656 +v 1.705540 7.184847 -4.842922 +v 1.231429 7.184847 -4.842922 +v 1.231429 7.587345 -4.842922 +v 1.526129 7.184847 -0.511595 +v 1.705540 7.184847 -0.511595 +v 1.705540 9.660696 -0.511595 +v 1.231429 9.417337 -4.333549 +v 1.231429 8.782389 -4.842922 +v 1.231024 9.417000 1.879624 +v 0.728164 7.586768 1.879624 +v 0.728164 8.051682 1.879624 +v 0.728571 8.051105 -4.842922 +v 1.526129 9.833411 -1.313097 +v 1.705540 9.660696 -1.313097 +v 1.705540 7.184847 -1.313097 +v 1.231024 8.051682 1.879624 +v 0.728164 8.051682 1.879624 +v 1.231024 8.051682 1.879624 +v 1.231429 8.051105 -4.842922 +v 0.947015 10.390597 -2.821980 +v -0.947015 10.390597 -2.821980 +v -1.132077 10.212755 -2.753814 +v 1.526129 7.247200 -1.820036 +v 1.705540 7.247200 -1.820036 +v 1.705540 9.660696 -1.820036 +v 1.705540 8.752767 6.288157 +v 1.705540 8.402288 6.532843 +v -1.132077 10.212755 0.576711 +v -0.947015 10.390597 0.637665 +v 0.947015 10.390597 0.637665 +v 1.326382 7.184845 21.944122 +v 1.526129 7.184847 -0.004656 +v -1.526129 7.184847 2.612226 +v -1.238688 7.184847 1.879624 +v 1.705540 7.184847 2.105287 +v 1.526129 7.184847 1.303785 +v 1.705540 7.184847 1.303785 +v 1.526129 7.184847 0.796846 +v 1.705540 7.184847 -0.004656 +v 0.728164 7.586768 1.879624 +v 1.231024 7.586768 1.879624 +v 1.231024 7.184847 1.879624 +v 0.393269 7.184847 1.879624 +v -1.238688 9.417000 1.879624 +v -1.526129 7.184847 2.105287 +v -1.705540 7.184847 -1.313097 +v -1.526129 7.184847 -1.313097 +v -1.526129 7.184847 -0.511595 +v -1.705540 7.184847 2.612226 +v -1.526129 9.326169 3.920666 +v -1.705540 9.326169 3.920666 +v -1.705540 9.660696 3.920666 +v -1.526129 7.184847 3.920666 +v -1.705540 7.184847 3.920666 +v -1.705540 8.752565 3.920666 +v -1.705540 7.184847 3.413727 +v -1.526129 7.184847 3.413727 +v -1.526129 8.752565 3.413728 +v -1.705540 9.326169 3.413728 +v -1.526129 9.326169 3.413728 +v -1.526129 9.833411 3.413728 +v -1.705540 7.184847 2.612226 +v -1.705540 7.184847 3.413727 +v -1.705540 8.752565 3.413728 +v -0.393269 9.417000 1.879624 +v -0.392768 8.782389 -4.842922 +v -0.392768 7.184847 -4.842922 +v -1.526129 9.326169 2.612226 +v -1.705540 9.326169 2.612226 +v -1.705540 9.660696 2.612226 +v -1.526129 7.184847 2.612226 +v -1.705540 7.184847 2.612226 +v -1.705540 8.752565 2.612226 +v -0.392768 9.417337 -4.333549 +v -1.238688 7.184847 1.879624 +v -1.238688 7.184847 -4.842922 +v -1.238688 7.587345 -4.842922 +v -0.409408 10.390597 -3.531358 +v -0.409408 10.390597 -3.172265 +v -0.409408 10.107763 -3.259710 +v -1.526129 9.833411 1.303785 +v -1.526129 7.184847 1.303785 +v -1.705540 7.184847 1.303785 +v -0.728571 7.587345 -4.842922 +v -1.238688 7.587345 -4.842922 +v -1.238688 8.051105 -4.842922 +v -1.705540 9.660696 0.796846 +v -1.705540 7.184847 0.796846 +v -1.526129 7.184847 0.796846 +v -1.238688 9.417000 1.879624 +v -1.238688 9.417337 -4.333549 +v -0.392768 9.417337 -4.333549 +v -1.238688 7.586768 1.879624 +v -1.238688 7.587345 -4.842922 +v -0.728571 7.587345 -4.842922 +v -1.526129 9.833411 -0.004656 +v -1.526129 7.184847 -0.004656 +v -1.705540 7.184847 -0.004656 +v -1.238688 7.184847 -4.842922 +v -1.705540 7.184847 -4.842922 +v -1.526129 7.184847 -0.511595 +v -1.526129 9.833411 -0.511595 +v -1.705540 9.660696 -0.511595 +v -1.238688 8.782389 -4.842922 +v -1.238688 9.417337 -4.333549 +v -1.238688 9.417000 1.879624 +v -0.728164 7.586768 1.879624 +v -0.728571 7.587345 -4.842922 +v -0.728571 8.051105 -4.842922 +v -1.526129 7.184847 -0.004656 +v -1.238688 7.184847 -4.842922 +v -1.526129 9.833411 -1.313097 +v -1.526129 7.184847 -1.313097 +v -1.705540 7.184847 -1.313097 +v -1.238688 8.051682 1.879624 +v -1.238688 8.051105 -4.842922 +v -0.728164 8.051682 1.879624 +v -0.728571 8.051105 -4.842922 +v -1.238688 8.051105 -4.842922 +v -1.705540 7.184847 -4.842922 +v -1.526129 7.184847 -1.820036 +v -1.705540 7.184847 2.105287 +v -1.705540 7.184847 1.303785 +v -1.526129 7.184847 -1.820036 +v -1.526129 9.833411 -1.820036 +v -1.705540 9.660696 -1.820036 +v -1.526129 7.184847 1.303785 +v -1.526129 7.184847 3.413727 +v -1.526129 7.184847 3.920666 +v -1.526129 8.752565 3.920666 +v -0.947015 10.390597 6.288157 +v -0.654714 10.019367 6.288157 +v -0.409408 10.390597 6.288157 +v -1.171832 9.475291 6.288157 +v -0.409408 10.019367 5.830760 +v -0.409408 10.390597 5.830760 +v -0.409408 10.390597 6.288157 +v 0.408756 10.019367 5.830760 +v 0.408756 10.019367 6.288157 +v 0.408756 10.390597 6.288157 +v 0.408756 10.019367 5.830760 +v 0.408756 10.390597 5.830760 +v -0.409408 10.390597 5.830760 +v 0.408756 10.019367 6.288157 +v 0.632517 10.019367 6.288157 +v 0.408756 10.390597 6.288157 +v 0.958007 9.683089 6.288157 +v 1.018419 10.321527 6.288157 +v -1.171832 9.475289 11.777046 +v -1.171832 7.184845 5.830760 +v -1.171832 8.752774 6.288157 +v -1.171832 8.402288 6.532843 +v -0.409408 10.019367 6.288157 +v -1.333642 8.402286 11.660704 +v -1.171832 8.402286 11.660704 +v -1.171832 8.402288 6.532843 +v -0.409408 10.019367 5.830760 +v -0.654714 10.019367 5.830760 +v -1.171832 9.475291 5.830760 +v -1.171832 7.184845 5.830760 +v 1.156401 7.184845 5.830760 +v 1.156401 9.475291 5.830760 +v 1.014517 11.207904 -2.625849 +v 0.335502 10.613042 -2.625849 +v 0.335502 11.207904 -2.625849 +v -0.167762 11.355708 20.190464 +v 0.167762 11.355708 20.190464 +v 0.167762 11.355708 19.816681 +v 0.143185 11.207904 -2.300615 +v 0.143185 11.269897 -2.300615 +v 0.143185 11.269897 -2.690542 +v 1.014517 11.207904 -2.625849 +v 0.335502 11.207904 -2.625849 +v 0.335502 11.207904 -2.300615 +v 1.014517 11.207904 -2.300615 +v 0.335502 11.207904 -2.625849 +v 0.335502 11.269897 -2.690542 +v 0.335502 11.269897 -2.300615 +v 0.335502 10.613042 -2.625849 +v 0.335502 10.613042 -2.690542 +v 0.335502 11.269897 -2.690542 +v 0.143185 11.269897 -2.300615 +v 0.335502 11.269897 -2.300615 +v 0.335502 11.269897 -2.690542 +v -0.720340 8.093417 11.897297 +v -0.389845 7.872590 11.897297 +v -1.171832 7.184845 11.897297 +v -0.941169 8.423912 11.897297 +v -1.018714 8.813757 11.897297 +v 0.000000 7.795043 11.897297 +v 0.471660 5.087638 21.944122 +v 0.813732 5.420440 21.944122 +v -0.813732 5.420440 21.944122 +v 0.813732 7.184845 21.944122 +v -1.333642 7.184845 21.944122 +v -0.813732 7.184845 21.944122 +v -0.720340 8.093417 21.944122 +v -1.018714 8.813757 21.944122 +v -1.326382 10.025587 21.944122 +v -0.720340 9.534097 21.944122 +v 0.720340 9.534097 21.944122 +v 1.326382 10.025587 21.944122 +v 1.018714 8.813757 21.944122 +v 1.326382 7.184845 21.944122 +v 0.720340 8.093417 21.944122 +v 0.941169 9.203602 21.944122 +v 0.389845 9.754926 21.944122 +v -0.941169 9.203602 21.944122 +v -0.941169 8.423912 21.944122 +v -0.389845 7.872588 21.944122 +v 0.000000 7.795043 21.944122 +v 0.389845 7.872588 21.944122 +v 0.941169 8.423912 21.944122 +v -0.471660 5.087638 21.944122 +v -0.389845 9.754926 21.944122 +v 1.321148 7.637856 11.214216 +v 1.321148 7.444345 12.021435 +v 1.321148 7.184845 12.021435 +v 1.705540 7.184845 12.021435 +v 1.321148 7.184845 12.021435 +v 1.321148 7.444345 12.021435 +v 1.705540 7.637856 11.214216 +v 1.705540 7.444345 12.021435 +v 1.321148 7.444345 12.021435 +v -1.526129 9.326169 3.413728 +v -1.705540 9.326169 3.413728 +v -1.705540 9.326169 2.612226 +v -1.524936 9.326169 6.288157 +v -1.705540 9.326169 6.288157 +v -1.705540 9.326169 3.920666 +v -1.526129 8.752565 2.612226 +v -1.705540 8.752565 2.612226 +v -1.705540 8.752565 3.413728 +v -1.526129 8.752565 2.612226 +v 0.632517 10.019367 5.830760 +v 0.335502 10.613042 -2.690542 +v 0.143185 10.723700 -2.690542 +v 0.143185 11.269897 -2.690542 +v -0.335502 10.613042 -2.690542 +v -0.143185 10.723700 -2.690542 +v -0.335502 10.613042 -2.625849 +v -0.335502 10.613042 -2.690542 +v 0.335502 10.613042 -2.690542 +v 0.143185 10.723700 -2.690542 +v 0.143185 10.723700 -1.978914 +v -0.814306 10.492231 20.190464 +v -0.359371 10.492231 20.190464 +v -0.359371 10.492231 19.285318 +v -0.893030 10.492231 20.116810 +v -0.814306 10.492231 19.285318 +v -0.335502 11.207904 -2.625849 +v -0.335502 10.613042 -2.625849 +v -0.335502 11.207904 -2.625849 +v -0.335502 11.269897 -2.690542 +v -0.335502 11.269897 -2.690542 +v -0.143185 11.269897 -2.690542 +v -0.143185 10.723700 -2.690542 +v -0.143185 11.269897 -2.690542 +v -0.143185 11.207904 -2.300615 +v -0.335502 11.207904 -2.625849 +v -0.335502 11.207904 -2.300615 +v -0.335502 11.269897 -2.300615 +v -0.143185 11.269897 -2.300615 +v -0.143185 11.269897 -2.690542 +v -0.335502 11.269897 -2.690542 +v -0.143185 11.269897 -2.300615 +v -0.335502 11.207904 -2.625849 +v -1.014517 11.207904 -2.625849 +v -0.335502 11.207904 -2.300615 +v -1.014517 11.207904 -2.300615 +v 1.014517 10.157009 -2.625849 +v 1.014517 10.606321 -1.825947 +v 1.014517 10.491154 -1.431074 +v 1.014517 10.157009 -2.625849 +v 0.167762 10.787156 20.190464 +v -0.359371 10.492231 20.190464 +v -1.014517 11.207904 -2.625849 +v -1.014517 10.157009 -2.625849 +v -1.014517 10.723700 -1.978914 +v -1.014517 10.606321 -1.825947 +v -1.014517 10.491154 -1.431074 +v 0.359371 10.492231 20.190464 +v -1.014517 11.207904 -2.300615 +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.190356 +v -1.659889 8.796173 2.190356 +v -1.659889 9.139336 2.059511 +v -1.659889 8.927017 2.059511 +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.276281 +v -1.705540 7.184847 1.303785 +v -1.705540 9.151711 1.935824 +v 1.321148 7.637856 11.214216 +v 0.359371 10.492231 20.190464 +v -1.238688 7.586768 1.879624 +v 0.393269 9.417000 1.879624 +v 1.705540 7.184847 3.920666 +v 0.408756 10.390597 -3.172265 +v 1.705540 7.184847 3.413727 +v 0.392768 7.184847 -4.842922 +v 1.705540 9.660696 2.612226 +v 1.526129 9.833411 2.105289 +v 1.231429 7.184847 -4.842922 +v 0.408756 10.390597 -3.172265 +v 1.526129 7.184847 1.303785 +v 1.705540 7.184847 0.796846 +v 1.231429 9.417337 -4.333549 +v 1.231429 7.587345 -4.842922 +v 1.526129 7.184847 -0.004656 +v 1.526129 9.833411 -0.511595 +v 0.728571 7.587345 -4.842922 +v 1.526129 7.184847 -1.313097 +v 1.231429 8.051105 -4.842922 +v 0.728571 8.051105 -4.842922 +v 1.132077 10.212755 -2.753814 +v 1.526129 9.833411 -1.820036 +v 1.132077 10.212755 0.576711 +v 1.705540 7.184847 0.796846 +v -1.238688 8.051682 1.879624 +v -1.705540 7.184847 -0.511595 +v -1.705540 7.184847 3.413727 +v -1.526129 9.833411 3.920666 +v -1.526129 8.752565 3.920666 +v -1.705540 8.752565 3.413728 +v -1.705540 9.660696 3.413728 +v -1.705540 8.752565 2.612226 +v -0.393269 7.184847 1.879624 +v -1.526129 9.833411 2.612226 +v -1.526129 8.752565 2.612226 +v -1.705540 7.184845 18.319260 +v -1.238688 7.586768 1.879624 +v -0.409408 10.107763 -3.763226 +v -1.705540 9.660696 1.303785 +v -0.728571 8.051105 -4.842922 +v -1.526129 9.833411 0.796846 +v -0.393269 9.417000 1.879624 +v -0.728164 7.586768 1.879624 +v -1.705540 9.660696 -0.004656 +v -1.705540 7.184847 -0.511595 +v -0.728164 8.051682 1.879624 +v -1.705540 9.660696 -1.313097 +v -1.238688 8.051682 1.879624 +v -1.705540 7.184847 -1.820036 +v -1.705540 7.184847 -1.820036 +v -1.705540 7.184847 -4.842922 +v -1.705540 7.184847 -1.820036 +v -1.705540 8.782389 -4.842922 +v -1.526129 8.752565 3.413728 +v -0.409408 10.019367 6.288157 +v 0.408756 10.390597 5.830760 +v -1.326382 10.025587 11.777046 +v -1.333642 8.402288 6.532843 +v -0.167762 11.355708 19.816681 +v 0.335502 11.207904 -2.300615 +v 0.335502 11.207904 -2.625849 +v 0.143185 11.269897 -2.690542 +v 1.321148 7.184845 11.214216 +v 1.705540 7.444345 12.021435 +v 1.321148 7.637856 11.214216 +v -1.526129 9.326169 2.612226 +v -1.526129 9.326169 3.920666 +v -1.526129 8.752565 3.413728 +v -1.526129 9.326169 2.612226 +v 0.335502 11.269897 -2.690542 +v 0.335502 10.613042 -2.625849 +v -0.893030 10.492231 19.372772 +v -0.335502 10.613042 -2.690542 +v -0.143185 10.723700 -1.978914 +v -0.335502 11.269897 -2.690542 +v -0.335502 11.269897 -2.300615 +v -1.659889 8.796173 6.250484 +v -1.360494 8.796173 6.250484 +v -1.705540 8.402288 6.532843 +v -1.333642 8.402288 6.532843 +v -1.524936 8.752759 6.288157 +v -1.171832 8.752774 6.288157 +v -0.654714 10.019365 11.897297 +v -0.654714 10.019365 11.777046 +v 0.632517 10.019365 11.777046 +v 0.632517 10.019365 11.777046 +v -1.705540 9.660696 6.288157 +v -1.705540 9.660696 3.920666 +v -1.705540 9.326169 3.920666 +v -1.526129 8.752565 2.110282 +v -1.526129 9.321173 2.105289 +v -1.524936 9.151711 1.935824 +v -1.526129 7.184847 1.303785 +v -1.526129 9.833411 1.303785 +v -1.526129 9.833411 0.796846 +v -1.705540 9.660696 1.303785 +v 1.526129 9.833411 -1.820036 +v 1.526129 9.833411 -1.313097 +v -1.171832 9.475289 11.777046 +v 1.705540 7.184845 18.319260 +v 1.705540 7.184845 12.021435 +v 1.705540 7.444345 12.021435 +v 1.705540 9.660696 -1.820036 +v 1.705540 7.247200 -1.820036 +v 1.705540 7.967400 18.319260 +v 1.526043 7.184847 -2.765843 +v 1.705540 7.184847 -4.842922 +v 1.705540 7.184847 -2.765843 +v -1.526129 9.321173 2.105289 +v -1.705540 9.321173 2.105289 +v -1.705540 9.151711 1.935824 +v -1.705540 8.927025 1.935824 +v -1.705540 8.757562 2.105289 +v -1.526129 8.752565 2.110282 +v 1.018714 8.813757 11.876558 +v 1.156401 9.475289 11.866871 +v 1.156401 7.184845 11.897297 +v -1.014517 10.157009 0.196241 +v -1.014517 10.369081 0.196241 +v 0.167762 10.787156 19.556133 +v 0.167762 11.355708 19.816681 +v 0.167762 11.355708 20.190464 +v 0.359371 10.492231 20.190464 +v 0.359371 10.492231 19.285318 +v 0.872165 9.770428 11.711023 +v 1.156401 9.475289 11.866871 +v 0.632517 10.019365 11.897297 +v 1.018419 10.321525 11.521421 +v 1.019789 10.321226 19.320282 +v 1.326382 10.025587 21.944122 +v 0.872165 9.770428 11.711023 +v 0.947015 10.390595 11.752501 +v 1.018419 10.321525 11.521421 +v 1.018419 10.321527 6.288157 +v 0.958007 9.683089 6.288157 +v 0.958007 9.683128 11.555180 +v 0.632517 10.019367 5.830760 +v 1.156401 9.475291 5.830760 +v 0.958007 9.683089 6.288157 +v 1.326382 7.967400 19.492821 +v 1.326382 7.967402 7.346316 +v 1.326382 8.055081 6.892088 +v 1.326382 8.402288 6.532843 +v 1.326382 10.025589 6.288157 +v -1.333642 7.967400 19.492821 +v -1.333642 8.578351 11.777046 +v -1.333642 8.402286 11.660704 +v -1.326382 10.025587 21.944122 +v -1.326382 10.025587 11.777046 +v 0.947015 10.390595 19.208494 +v 0.947015 10.390595 11.752501 +v 0.869641 10.390595 11.777046 +v -0.409408 10.390597 -3.531358 +v -0.409408 10.107763 -3.763226 +v -0.947015 10.390597 -3.531358 +v 0.869641 10.390595 11.777046 +v -1.238688 8.782389 -4.842922 +v -1.333642 8.578351 11.777046 +v -1.526129 7.184847 -0.004656 +v -1.526129 9.833411 -0.004656 +v -1.526129 9.833411 -0.511595 +v -0.947015 10.390597 0.637665 +v -0.947015 10.390597 6.288157 +v -0.409408 10.390597 5.830760 +v 0.408756 10.390597 5.830760 +v 0.947015 10.390597 0.637665 +v 0.408756 10.390597 6.288157 +v 1.018419 10.321527 6.288157 +v -1.171832 9.475291 5.830760 +v -1.171832 9.475291 6.288157 +v 1.018419 10.321527 6.288157 +v 1.326382 10.025589 6.288157 +v 1.132077 10.212755 0.576711 +v -0.409408 10.390597 6.288157 +v -1.526129 9.833411 2.105289 +v -1.526129 9.833411 2.612226 +v -1.132077 10.212755 0.576711 +v -1.526129 9.833411 3.920666 +v -1.326382 10.025589 6.288157 +v -1.526129 9.833411 3.413728 +v 0.947015 10.390597 -3.531358 +v 0.947015 10.390597 -2.821980 +v 1.132077 10.212755 -2.753814 +v 0.947015 10.390595 19.208494 +v -0.947015 10.390595 19.208494 +v -1.016029 10.321226 19.320282 +v 0.947015 10.390595 20.281315 +v -0.947015 10.390595 20.281315 +v -0.947015 10.390595 21.944122 +v 1.705540 7.184847 2.612226 +v 1.705540 9.660696 2.612226 +v 1.705540 9.660696 3.413728 +v 1.019789 10.321226 20.144449 +v -1.016029 10.321226 20.144449 +v 1.326382 7.967400 19.492821 +v 1.326382 7.184845 19.492821 +v 0.471660 5.087638 16.849926 +v 0.813732 5.420440 16.849926 +v 0.813732 5.420440 21.944122 +v 0.408756 10.390597 -3.531358 +v 0.408756 10.390597 -3.172265 +v 1.019789 10.321226 20.144449 +v -0.409408 10.107763 -3.763226 +v -0.409408 10.107763 -3.259710 +v 0.408756 10.107763 -3.259710 +v 1.705540 7.967402 7.346316 +v 1.326382 7.967402 7.346316 +v 1.326382 7.967400 19.492821 +v 1.326382 7.184845 21.944122 +v 1.326382 7.184845 19.492821 +v 1.526129 7.184847 1.303785 +v 1.526129 7.184847 0.796846 +v 1.526129 9.833411 0.796846 +v 1.705540 8.402288 6.532843 +v 1.326382 8.402288 6.532843 +v 1.326382 8.055081 6.892088 +v 1.705540 8.055081 6.892088 +v 1.705540 9.660696 6.288157 +v 1.326382 10.025589 6.288157 +v 1.326382 8.752767 6.288157 +v 1.705540 9.660696 -4.131680 +v 1.231429 9.417337 -4.333549 +v 0.408756 10.107763 -3.763226 +v -0.392768 9.417337 -4.333549 +v -0.409408 10.390597 -3.172265 +v -0.947015 10.390597 -2.821980 +v 0.392768 9.417337 -4.333549 +v 0.392768 8.782389 -4.842922 +v 1.231429 8.782389 -4.842922 +v 1.705540 8.782389 -4.842922 +v 1.705540 9.660696 -4.131680 +v 0.947015 10.390597 -3.531358 +v 1.526129 9.833411 2.612226 +v 1.705540 9.660696 6.288157 +v 1.705540 9.660696 3.920666 +v 1.526129 9.833411 3.920666 +v -1.132077 10.212755 0.576711 +v 1.132077 10.212755 0.576711 +v 1.132077 10.212755 -2.753814 +v 1.705540 9.660696 -1.313097 +v 1.705540 9.660696 -0.511595 +v 1.705540 7.184847 -0.511595 +v 1.705540 9.660696 -0.004656 +v 1.705540 9.660696 0.796846 +v 1.705540 7.184847 0.796846 +v 1.526129 7.184847 2.612226 +v 1.526129 7.184847 2.105287 +v 1.526129 9.833411 2.105289 +v 1.705540 9.660696 3.920666 +v 1.705540 9.660696 6.288157 +v 1.019789 10.321226 19.320282 +v -0.471660 5.087638 16.849926 +v 0.471660 5.087638 21.944122 +v 0.813732 7.184845 16.849926 +v 0.813732 7.184845 21.944122 +v 0.947015 10.390595 20.281315 +v 0.947015 10.390595 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.413728 +v 0.392768 7.184847 -4.842922 +v -0.392768 7.184847 -4.842922 +v -0.392768 8.782389 -4.842922 +v 0.408756 10.390597 -3.531358 +v 1.526129 7.184847 -0.004656 +v 1.526129 7.184847 -0.511595 +v 1.526129 9.833411 -0.511595 +v 1.705540 7.184847 1.303785 +v 1.705540 9.660696 1.303785 +v 1.705540 9.660696 2.105289 +v 1.526129 9.833411 3.413728 +v 1.526129 9.833411 -0.511595 +v 1.526129 9.833411 -1.313097 +v 1.526129 9.833411 -1.820036 +v 1.526129 9.833411 -0.004656 +v 1.526129 9.833411 2.105289 +v 1.526129 9.833411 1.303785 +v 1.705540 7.184847 -2.765843 +v 1.705540 7.614016 -2.276281 +v 1.526043 7.614016 -2.276281 +v -0.947015 10.390597 -3.531358 +v -1.705540 9.660696 -4.131680 +v -1.132077 10.212755 -2.753814 +v -1.705540 7.184845 18.319260 +v -1.705540 7.967400 18.319260 +v -1.526129 9.833411 -1.313097 +v -1.526129 9.833411 -0.511595 +v -1.705540 9.660696 -1.820036 +v -1.526129 9.833411 -1.820036 +v -1.705540 9.660696 3.413728 +v -1.705540 9.660696 2.612226 +v -1.705540 9.326169 2.612226 +v -1.333642 7.184845 19.492821 +v -0.471660 5.087638 21.944122 +v -0.813732 5.420440 21.944122 +v -0.409408 10.390597 -3.531358 +v -1.705540 7.184847 2.105287 +v -1.526129 7.184847 2.105287 +v -1.526129 9.833411 2.105289 +v -1.705540 7.967402 7.346316 +v -1.705540 7.967400 18.319260 +v -1.333642 7.967400 19.492821 +v -1.333642 7.184845 19.492821 +v -1.705540 9.321173 2.105289 +v -1.705540 9.660696 2.105289 +v -1.705540 8.055081 6.892088 +v -1.333642 8.055081 6.892088 +v -1.333642 7.967402 7.346316 +v -1.705540 9.660696 -0.511595 +v -1.238688 9.417337 -4.333549 +v -1.705540 9.660696 -4.131680 +v -1.526129 9.833411 1.303785 +v -1.705540 8.782389 -4.842922 +v -1.705540 9.660696 -1.313097 +v -1.705540 7.184847 -1.313097 +v -1.705540 7.184847 -0.511595 +v -1.705540 9.660696 -0.004656 +v -1.705540 7.184847 -0.004656 +v -1.705540 7.184847 0.796846 +v -1.526129 9.833411 -0.004656 +v -1.705540 9.660696 0.796846 +v -1.526129 9.833411 0.796846 +v -0.813732 5.420440 16.849926 +v -0.813732 7.184845 21.944122 +v -1.526129 7.184847 -1.313097 +v -1.526129 9.833411 -1.313097 +v -1.526129 9.833411 -1.820036 +v -0.947015 10.390595 11.777046 +v -1.016029 10.321226 11.777046 +v -1.705540 8.752759 6.288157 +v -1.526129 9.833411 3.920666 +v -1.526129 9.833411 3.413728 +v -1.526129 9.326169 3.413728 +v 1.326382 8.752767 6.288157 +v -1.171832 8.402288 6.532843 +v -1.171832 8.578351 11.777046 +v -1.171832 8.402286 11.660704 +v 0.632517 10.019367 5.830760 +v 0.632517 10.019367 6.288157 +v 0.408756 10.019367 6.288157 +v -0.654714 10.019367 5.830760 +v -0.409408 10.019367 5.830760 +v -0.409408 10.019367 6.288157 +v 0.632517 10.019367 6.288157 +v 0.958007 9.683128 11.555180 +v 1.156401 7.184845 5.830760 +v 1.156401 7.184845 11.897297 +v 0.941169 9.203602 11.872112 +v 1.018714 8.813757 11.876558 +v 1.018714 8.813757 21.944122 +v 0.720340 9.534097 11.876596 +v 0.941169 9.203602 21.944122 +v 0.389845 9.754926 11.891426 +v 0.720340 9.534097 21.944122 +v 0.000000 9.832471 11.897297 +v 0.389845 9.754926 21.944122 +v 0.814306 10.296812 20.190464 +v 0.814306 10.492231 20.190464 +v 0.000000 9.832471 21.944122 +v -0.389845 9.754926 21.944122 +v -0.389845 9.754926 11.897297 +v -0.720340 9.534097 21.944122 +v -0.720340 9.534097 11.896717 +v 0.893030 10.296812 20.116810 +v 0.893030 10.492231 20.116810 +v 0.893030 10.296812 19.372772 +v 0.893030 10.492231 19.372772 +v -0.941169 9.203602 11.897297 +v -0.941169 9.203602 21.944122 +v -1.018714 8.813757 21.944122 +v -1.018714 8.813757 11.897297 +v -0.941169 8.423912 21.944122 +v -0.941169 8.423912 11.897297 +v -0.720340 8.093417 21.944122 +v -0.720340 8.093417 11.897297 +v -0.389845 7.872588 21.944122 +v -0.389845 7.872590 11.897297 +v 0.000000 7.795043 21.944122 +v 0.000000 7.795043 11.897297 +v 0.000000 7.795043 21.944122 +v 0.389845 7.872588 21.944122 +v 0.389845 7.872590 11.897297 +v 0.720340 8.093417 21.944122 +v 0.720340 8.093417 11.890942 +v 0.814306 10.296812 19.285318 +v 0.814306 10.492231 19.285318 +v 0.893030 10.492231 19.372772 +v 0.941169 8.423912 11.883170 +v 0.941169 8.423912 21.944122 +v 0.359371 10.492231 19.285318 +v -0.814306 10.296812 19.285318 +v -0.359371 10.492231 19.285318 +v -0.167762 10.787156 19.556133 +v 0.167762 10.787156 19.556133 +v -0.167762 11.355708 19.816681 +v 0.167762 11.355708 19.816681 +v -0.814306 10.157009 0.372431 +v 0.814306 10.157009 0.372431 +v 0.814306 10.357646 0.372431 +v 1.014517 10.157009 0.196241 +v 1.014517 10.369081 0.196241 +v -0.143185 10.723700 -1.978914 +v 0.143185 10.723700 -1.978914 +v 0.143185 10.723700 -2.690542 +v 0.143185 11.207904 -2.300615 +v 0.143185 10.723700 -1.978914 +v 0.335502 11.207904 -2.300615 +v 1.014517 10.723700 -1.978914 +v 1.014517 11.207904 -2.300615 +v 1.014517 10.606321 -1.825947 +v -1.014517 10.606321 -1.825947 +v -1.014517 10.491154 -1.431074 +v 1.014517 10.491154 -1.431074 +v -0.814306 10.357646 0.372431 +v 0.814306 10.357646 0.372431 +v 1.014517 10.369081 0.196241 +v -1.014517 10.369081 0.196241 +v -1.171832 9.475289 11.897297 +v 0.632517 10.019365 11.897297 +v 0.720340 9.534097 11.876596 +v 0.000000 9.832471 11.897297 +v -0.654714 10.019365 11.897297 +v -0.720340 9.534097 11.896717 +v -1.171832 9.475289 11.897297 +v 0.941169 8.423912 11.883170 +v 0.720340 8.093417 11.890942 +v 0.389845 7.872590 11.897297 +v -0.941169 9.203602 11.897297 +v -0.389845 9.754926 11.897297 +v 0.389845 9.754926 11.891426 +v 0.941169 9.203602 11.872112 +v -1.524936 8.927025 1.935824 +v -1.526129 9.833411 2.105289 +v -1.526129 9.321173 2.105289 +v -1.526129 9.326169 2.612226 +v 0.335502 11.269897 -2.300615 +v 0.143185 11.269897 -2.300615 +v -0.167762 10.787156 19.556133 +v -0.167762 10.787156 20.190464 +v -0.167762 11.355708 20.190464 +v -0.359371 10.492231 20.190464 +v -0.814306 10.492231 20.190464 +v -0.814306 10.296812 20.190464 +v -0.893030 10.296812 20.116810 +v -0.893030 10.296812 19.372772 +v -0.893030 10.492231 20.116810 +v -0.893030 10.296812 19.372772 +v -0.893030 10.492231 19.372772 +v -0.814306 10.492231 19.285318 +v -0.143185 10.723700 -1.978914 +v -1.014517 10.723700 -1.978914 +v -0.814306 10.357646 0.372431 +v -0.335502 11.269897 -2.300615 +v -0.335502 11.207904 -2.300615 +v -0.143185 11.207904 -2.300615 +v 1.526129 9.833411 0.796846 +v -0.451145 8.974197 5.975873 +v -0.345291 9.132619 5.975873 +v -0.345291 9.132619 5.773401 +v -0.186870 9.238472 5.975873 +v -0.186870 9.238472 5.773401 +v 0.345291 8.442036 5.975873 +v 0.186870 8.336183 5.975873 +v 0.186870 8.336183 5.773401 +v 0.000000 9.275643 5.975873 +v 0.000000 9.275643 5.773401 +v 0.186870 9.238472 5.975873 +v 0.186870 9.238472 5.773401 +v 0.451145 8.600457 5.975873 +v 0.345291 8.442036 5.773401 +v 0.345291 9.132619 5.975873 +v 0.345291 9.132619 5.773401 +v 0.451145 8.974197 5.975873 +v 0.451145 8.974197 5.773401 +v 0.488316 8.787328 5.975873 +v 0.451145 8.600457 5.773401 +v 0.488316 8.787328 5.773401 +v -0.186870 8.336183 5.975873 +v -0.345291 8.442036 5.975873 +v -0.345291 8.442036 5.773401 +v -0.451145 8.600457 5.975873 +v -0.488316 8.787328 5.975873 +v -0.488316 8.787328 5.773401 +v 0.000000 8.299012 5.975873 +v -0.186870 8.336183 5.773401 +v 0.000000 8.299012 5.773401 +v -0.451145 8.974197 5.773401 +v -0.451145 8.600457 5.773401 +v -1.360494 8.796173 2.190356 +v -1.659889 8.796173 2.190356 +v -1.659889 8.927017 2.059511 +v -1.659889 9.139336 2.059511 +v -1.360494 9.139336 2.059511 +v -1.360494 8.927017 2.059511 +v -1.360494 9.270180 2.190356 +v -1.659889 9.270180 2.190356 +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.935824 +v -1.526129 7.184847 0.796846 +v -1.526129 8.752565 2.110282 +v -1.524936 9.151711 1.935824 +v 0.167762 10.787156 20.190464 +v -1.526129 7.184847 -0.511595 +v 0.947015 10.390595 21.944122 +v 1.705540 7.184847 3.413727 +v 0.408756 10.107763 -3.763226 +v 1.705540 7.967400 18.319260 +v 1.526129 9.833411 1.303785 +v -1.132077 10.212755 -2.753814 +v 1.705540 7.184847 -1.313097 +v 1.705540 7.184847 -0.004656 +v 1.526129 9.833411 2.612226 +v 1.526129 9.833411 3.920666 +v 1.526129 9.833411 -0.004656 +v 1.705540 7.184847 2.105287 +v 1.526043 7.184847 -2.765843 +v -1.705540 9.326169 3.413728 +v -1.333642 7.967400 19.492821 +v -1.705540 9.660696 2.105289 +v -1.333642 7.184845 21.944122 +v -0.813732 7.184845 16.849926 +v -1.526129 7.184847 -1.820036 +v -1.526129 9.326169 3.920666 +v -1.333642 8.402286 11.660704 +v 0.408756 10.019367 5.830760 +v -0.654714 10.019367 6.288157 +v 0.869641 10.390595 11.777046 +v 0.000000 7.795043 11.897297 +v 0.893030 10.296812 19.372772 +v -0.143185 10.723700 -2.690542 +v -1.526129 9.833411 2.612226 +v -0.167762 11.355708 19.816681 +v -0.359371 10.492231 19.285318 +v -0.893030 10.492231 19.372772 +v -0.143185 11.269897 -2.300615 +v -1.014517 11.207904 -2.300615 +v -1.360494 9.270180 6.250484 +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.670330 0.348139 +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.655911 0.344201 +vt 0.655725 0.344372 +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.652553 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.668193 0.332067 +vt 0.668206 0.329389 +vt 0.666535 0.332060 +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.667770 0.332065 +vt 0.666770 0.332061 +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.666922 0.332062 +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.671575 0.327451 +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.671472 0.338233 +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.652553 0.349106 +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.667291 0.334981 +vt 0.668972 0.332310 +vt 0.668958 0.335208 +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.667718 0.334983 +vt 0.667731 0.332305 +vt 0.668734 0.332309 +vt 0.668720 0.335207 +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.668569 0.335206 +vt 0.668331 0.335205 +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.671659 0.347121 +vt 0.671877 0.347120 +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.644193 0.339756 +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.661774 0.343476 +vt 0.661779 0.343575 +vt 0.661938 0.343468 +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.645812 0.348899 +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.645922 0.348760 +vt 0.645839 0.348759 +vt 0.645839 0.348927 +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.665150 0.338600 +vt 0.665149 0.338488 +vt 0.665458 0.338243 +vt 0.665110 0.338327 +vt 0.665149 0.338488 +vt 0.670113 0.347891 +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.669766 0.348137 +vt 0.644857 0.345897 +vt 0.666027 0.338619 +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.666316 0.338619 +vt 0.666027 0.338619 +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.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.646516 0.348930 +vt 0.646599 0.348931 +vt 0.646517 0.348762 +vt 0.646626 0.348903 +vt 0.646918 0.348904 +vt 0.646626 0.348763 +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.671351 0.348142 +vt 0.671352 0.347895 +vt 0.655858 0.344144 +vt 0.654727 0.340476 +vt 0.654996 0.339627 +vt 0.665497 0.338404 +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.667782 0.329387 +vt 0.666549 0.329162 +vt 0.671051 0.347585 +vt 0.671275 0.346444 +vt 0.666784 0.329163 +vt 0.671356 0.327477 +vt 0.667170 0.329165 +vt 0.666935 0.329164 +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.671874 0.346444 +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.671470 0.337557 +vt 0.646872 0.342185 +vt 0.668972 0.332310 +vt 0.652336 0.349106 +vt 0.672085 0.329805 +vt 0.669596 0.345450 +vt 0.671789 0.329730 +vt 0.667304 0.332303 +vt 0.668734 0.332309 +vt 0.672085 0.332540 +vt 0.671710 0.333607 +vt 0.668582 0.332308 +vt 0.672166 0.323838 +vt 0.668344 0.332307 +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.671655 0.346445 +vt 0.644352 0.339741 +vt 0.661929 0.343266 +vt 0.666317 0.341361 +vt 0.663978 0.343119 +vt 0.671386 0.336174 +vt 0.645813 0.348759 +vt 0.665999 0.338362 +vt 0.645922 0.348928 +vt 0.665497 0.338599 +vt 0.664984 0.338489 +vt 0.665497 0.338404 +vt 0.669767 0.347890 +vt 0.670331 0.347891 +vt 0.670112 0.348138 +vt 0.669767 0.347890 +vt 0.666027 0.338335 +vt 0.666027 0.338646 +vt 0.671197 0.336802 +vt 0.666316 0.338619 +vt 0.646282 0.348623 +vt 0.646599 0.348931 +vt 0.646599 0.348763 +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.672007 0.330872 +vt 0.672007 0.329730 +vt 0.671789 0.329730 +vt 0.654722 0.339409 +vt 0.671579 0.326337 +vt 0.671361 0.326336 +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.671385 0.336030 +vt 0.671546 0.336029 +vt 0.671545 0.335632 +vt 0.671154 0.335634 +vt 0.654284 0.346628 +vt 0.654463 0.346686 +vt 0.654139 0.346714 +vt 0.343293 0.494352 +vt 0.403663 0.495033 +vt 0.424011 0.491967 +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.405218 0.475819 +vt 0.311194 0.474745 +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.424375 0.496265 +vt 0.345807 0.496601 +vt 0.345855 0.507785 +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.672006 0.333607 +vt 0.672007 0.332466 +vt 0.671789 0.332465 +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.411117 0.477267 +vt 0.411370 0.492239 +vt 0.424354 0.492076 +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.302821 0.490584 +vt 0.410043 0.495106 +vt 0.652336 0.349106 +vt 0.652553 0.349106 +vt 0.652553 0.348753 +vt 0.661163 0.348102 +vt 0.661163 0.347939 +vt 0.655926 0.347949 +vt 0.424262 0.469977 +vt 0.405287 0.469761 +vt 0.671872 0.323538 +vt 0.672090 0.323538 +vt 0.672088 0.322396 +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.655755 0.344598 +vt 0.655754 0.345574 +vt 0.657189 0.345576 +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.671872 0.322170 +vt 0.672090 0.322169 +vt 0.672085 0.321027 +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.411093 0.495895 +vt 0.423965 0.496042 +vt 0.646451 0.344107 +vt 0.661762 0.348101 +vt 0.671788 0.332239 +vt 0.672006 0.332240 +vt 0.672007 0.331098 +vt 0.670079 0.345801 +vt 0.669784 0.345800 +vt 0.669787 0.345111 +vt 0.670116 0.344218 +vt 0.671051 0.347585 +vt 0.671270 0.347586 +vt 0.671275 0.346444 +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.655911 0.344201 +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.403381 0.492993 +vt 0.410153 0.492980 +vt 0.671176 0.338233 +vt 0.671253 0.338233 +vt 0.671248 0.337030 +vt 0.645543 0.340191 +vt 0.650254 0.339752 +vt 0.650742 0.339545 +vt 0.405500 0.512252 +vt 0.405526 0.518299 +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.672090 0.324906 +vt 0.672089 0.323764 +vt 0.671870 0.323765 +vt 0.659341 0.339758 +vt 0.659342 0.339807 +vt 0.644946 0.340247 +vt 0.656755 0.343970 +vt 0.656537 0.343971 +vt 0.656538 0.344190 +vt 0.652042 0.344901 +vt 0.645109 0.340001 +vt 0.665779 0.341683 +vt 0.665706 0.341738 +vt 0.661666 0.343279 +vt 0.661676 0.343481 +vt 0.661774 0.343476 +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.646282 0.348623 +vt 0.646158 0.348622 +vt 0.646157 0.348929 +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.671248 0.337030 +vt 0.671250 0.337251 +vt 0.671469 0.337246 +vt 0.656541 0.342427 +vt 0.656458 0.342426 +vt 0.671274 0.336420 +vt 0.671548 0.336419 +vt 0.671547 0.336174 +vt 0.671548 0.336570 +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.651009 0.348764 +vt 0.651082 0.348764 +vt 0.651103 0.348667 +vt 0.651150 0.348791 +vt 0.651206 0.348710 +vt 0.651013 0.349131 +vt 0.650945 0.349104 +vt 0.650889 0.349185 +vt 0.651202 0.348842 +vt 0.651285 0.348789 +vt 0.651231 0.348909 +vt 0.651328 0.348892 +vt 0.651086 0.349131 +vt 0.650992 0.349228 +vt 0.651231 0.348982 +vt 0.651328 0.349003 +vt 0.651204 0.349050 +vt 0.651285 0.349106 +vt 0.651153 0.349102 +vt 0.651103 0.349228 +vt 0.651206 0.349185 +vt 0.650864 0.348986 +vt 0.650864 0.348913 +vt 0.650767 0.348892 +vt 0.650891 0.348845 +vt 0.650942 0.348793 +vt 0.650889 0.348710 +vt 0.650893 0.349053 +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.665496 0.328721 +vt 0.661745 0.328574 +vt 0.661745 0.328703 +vt 0.656871 0.339542 +vt 0.669475 0.348061 +vt 0.671788 0.330872 +vt 0.671254 0.337557 +vt 0.671252 0.337354 +vt 0.671545 0.335784 +vt 0.671787 0.333607 +vt 0.424233 0.477149 +vt 0.655624 0.336619 +vt 0.662967 0.338908 +vt 0.652336 0.348753 +vt 0.656433 0.348111 +vt 0.671870 0.322396 +vt 0.657191 0.344600 +vt 0.653583 0.336623 +vt 0.654148 0.336621 +vt 0.671867 0.321028 +vt 0.671789 0.331098 +vt 0.671056 0.346443 +vt 0.655059 0.336619 +vt 0.656134 0.344371 +vt 0.655632 0.339548 +vt 0.655699 0.347352 +vt 0.659343 0.339981 +vt 0.671171 0.337105 +vt 0.424469 0.518218 +vt 0.666774 0.344703 +vt 0.671872 0.324906 +vt 0.656756 0.344189 +vt 0.665748 0.341793 +vt 0.661765 0.343274 +vt 0.653715 0.344312 +vt 0.659330 0.338958 +vt 0.661427 0.341411 +vt 0.648961 0.349171 +vt 0.646280 0.348929 +vt 0.671466 0.337028 +vt 0.671386 0.336174 +vt 0.671158 0.336572 +vt 0.667319 0.348822 +vt 0.656334 0.342426 +vt 0.655959 0.342451 +vt 0.665496 0.328592 +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 -1.0000 0.0000 0.0002 +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.6939 0.7201 -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.3923 -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.6323 -0.7747 +vn -0.0001 0.7210 -0.6930 +vn -0.0000 0.6324 -0.7747 +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.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.8200 +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.0000 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.3829 0.9238 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.0127 -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.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 +s off +f 61/61/19 62/62/19 63/63/19 +f 64/64/20 65/65/20 66/66/20 +f 67/67/21 68/68/21 69/69/21 +f 70/70/21 71/71/21 72/72/21 +f 73/73/22 74/74/22 75/75/22 +f 67/67/23 76/76/24 77/77/23 +f 78/78/25 79/79/25 80/80/25 +f 81/81/26 82/82/26 83/83/26 +f 84/84/27 85/85/27 86/86/27 +f 81/81/26 83/83/26 87/87/26 +f 88/88/21 89/89/21 90/90/21 +f 91/91/28 92/92/28 93/93/28 +f 94/94/29 95/95/29 96/96/29 +f 96/96/29 97/97/29 94/94/29 +f 98/98/26 81/81/26 99/99/26 +f 100/100/26 101/101/26 98/98/26 +f 71/71/21 102/102/21 103/103/21 +f 104/104/19 105/105/19 106/106/19 +f 107/107/26 108/108/26 109/109/26 +f 110/110/26 111/111/26 112/112/26 +f 100/100/26 98/98/26 99/99/26 +f 113/113/19 114/114/19 115/115/19 +f 115/115/19 116/116/19 113/113/19 +f 117/117/26 118/118/26 119/119/26 +f 120/120/21 121/121/21 122/122/21 +f 105/105/19 123/123/19 106/106/19 +f 124/124/29 125/125/29 126/126/29 +f 111/111/26 87/87/26 112/112/26 +f 83/83/26 112/112/26 87/87/26 +f 98/98/26 127/127/26 81/81/26 +f 112/112/26 128/128/26 110/110/26 +f 129/129/29 130/130/29 131/131/29 +f 132/132/19 106/106/19 123/123/19 +f 133/133/19 134/134/19 135/135/19 +f 136/136/29 137/137/29 138/138/29 +f 139/139/30 140/140/30 141/141/30 +f 142/142/30 143/143/30 140/140/30 +f 112/112/26 109/109/26 108/108/26 +f 144/144/26 145/145/26 128/128/26 +f 146/146/26 147/147/26 145/145/26 +f 148/148/21 149/149/21 150/150/21 +f 151/151/20 152/152/20 153/153/20 +f 154/154/20 155/155/20 156/156/20 +f 157/157/20 158/158/20 159/159/20 +f 160/160/26 161/161/26 162/162/26 +f 163/163/26 164/164/26 165/165/26 +f 166/166/20 167/167/20 168/168/20 +f 169/169/20 168/168/20 170/170/20 +f 171/171/20 172/172/20 173/173/20 +f 174/174/26 175/175/26 119/119/26 +f 176/176/26 177/177/26 178/178/26 +f 179/179/26 180/180/26 145/145/26 +f 181/181/20 182/182/20 183/183/20 +f 184/184/31 185/185/31 186/186/31 +f 187/187/29 188/188/29 189/189/29 +f 147/147/26 146/146/26 190/190/26 +f 191/191/32 192/192/32 193/193/32 +f 194/194/20 195/195/20 196/196/20 +f 197/197/29 198/198/29 199/199/29 +f 200/200/27 201/201/27 191/191/27 +f 202/202/33 203/203/33 204/204/33 +f 205/205/21 206/206/21 207/207/21 +f 208/208/20 209/209/20 210/210/20 +f 211/211/20 212/212/20 213/213/20 +f 214/214/29 215/215/29 216/216/29 +f 101/101/26 217/217/26 98/98/26 +f 218/218/34 219/219/34 220/220/34 +f 221/221/34 222/222/34 223/223/34 +f 224/224/20 225/225/20 226/226/20 +f 227/227/20 228/228/20 229/229/20 +f 230/230/29 231/231/29 232/232/29 +f 229/229/20 213/213/20 227/227/20 +f 233/233/35 234/234/35 235/235/35 +f 236/236/33 237/237/33 238/238/33 +f 239/239/20 240/240/20 241/241/20 +f 242/242/33 235/235/33 234/234/33 +f 243/243/22 244/244/22 245/245/22 +f 246/246/36 247/247/36 248/248/36 +f 249/249/29 250/250/29 251/251/29 +f 252/252/19 253/253/19 123/123/19 +f 254/254/37 255/255/37 256/256/37 +f 101/101/26 257/257/26 217/217/26 +f 178/178/26 258/258/26 119/119/26 +f 145/145/26 147/147/26 119/119/26 +f 144/144/26 259/259/26 260/260/26 +f 261/261/26 174/174/26 119/119/26 +f 119/119/26 262/262/26 263/263/26 +f 264/264/26 262/262/26 119/119/26 +f 264/264/26 258/258/26 265/265/26 +f 266/266/20 267/267/20 268/268/20 +f 173/173/20 266/266/20 269/269/20 +f 270/270/20 167/167/20 166/166/20 +f 259/259/26 271/271/26 260/260/26 +f 272/272/26 273/273/26 274/274/26 +f 275/275/26 259/259/26 144/144/26 +f 276/276/20 277/277/20 278/278/20 +f 279/279/20 280/280/20 281/281/20 +f 282/282/29 283/283/29 284/284/29 +f 285/285/29 286/286/29 287/287/29 +f 288/288/21 289/289/21 290/290/21 +f 291/291/33 292/292/33 293/293/33 +f 294/294/20 295/295/20 296/296/20 +f 297/297/20 298/298/20 299/299/20 +f 107/107/26 82/82/26 161/161/26 +f 300/300/35 292/292/35 291/291/35 +f 301/301/19 302/302/19 303/303/19 +f 304/304/19 305/305/19 306/306/19 +f 307/307/20 308/308/20 309/309/20 +f 127/127/26 161/161/26 82/82/26 +f 310/310/20 311/311/20 312/312/20 +f 313/313/29 314/314/29 315/315/29 +f 162/162/26 161/161/26 127/127/26 +f 316/316/34 317/317/34 318/318/34 +f 319/319/34 320/320/34 321/321/34 +f 322/322/20 323/323/20 324/324/20 +f 325/325/20 326/326/20 311/311/20 +f 327/327/29 328/328/29 329/329/29 +f 312/312/20 311/311/20 326/326/20 +f 330/330/19 331/331/19 332/332/19 +f 333/333/32 334/334/32 335/335/32 +f 260/260/26 336/336/26 274/274/26 +f 337/337/26 260/260/26 273/273/26 +f 338/338/20 339/339/20 340/340/20 +f 341/341/19 342/342/19 330/330/19 +f 343/343/22 344/344/22 345/345/22 +f 346/346/26 337/337/26 347/347/26 +f 348/348/26 349/349/26 260/260/26 +f 350/350/29 351/351/29 352/352/29 +f 353/353/26 260/260/26 349/349/26 +f 354/354/21 355/355/21 356/356/21 +f 163/163/26 336/336/26 260/260/26 +f 357/357/29 358/358/29 359/359/29 +f 95/95/29 360/360/29 358/358/29 +f 95/95/29 94/94/29 360/360/29 +f 361/361/19 362/362/19 363/363/19 +f 364/364/21 365/365/21 366/366/21 +f 367/367/29 368/368/29 369/369/29 +f 370/370/29 371/371/29 372/372/29 +f 373/373/29 374/374/29 372/372/29 +f 151/151/20 153/153/20 375/375/20 +f 376/376/19 377/377/19 378/378/19 +f 358/358/29 379/379/29 359/359/29 +f 380/380/30 381/381/30 382/382/30 +f 383/383/29 384/384/29 385/385/29 +f 386/386/29 387/387/29 388/388/29 +f 389/389/20 390/390/20 391/391/20 +f 392/392/30 393/393/30 394/394/30 +f 395/395/21 396/396/21 397/397/21 +f 398/398/30 399/399/30 400/400/30 +f 400/400/30 401/401/30 398/398/30 +f 402/402/19 403/403/19 404/404/19 +f 405/405/19 406/406/19 407/407/19 +f 408/408/30 409/409/30 410/410/30 +f 378/378/19 134/134/19 133/133/19 +f 109/109/26 82/82/26 107/107/26 +f 411/411/20 412/412/20 413/413/20 +f 414/414/20 411/411/20 413/413/20 +f 415/415/20 414/414/20 413/413/20 +f 376/376/19 378/378/19 133/133/19 +f 412/412/20 416/416/20 413/413/20 +f 417/417/29 418/418/29 419/419/29 +f 419/419/29 418/418/29 420/420/29 +f 421/421/29 422/422/29 423/423/29 +f 424/424/29 425/425/29 421/421/29 +f 131/131/29 425/425/29 426/426/29 +f 427/427/29 428/428/29 130/130/29 +f 429/429/29 430/430/29 428/428/29 +f 431/431/29 420/420/29 430/430/29 +f 432/432/29 429/429/29 428/428/29 +f 427/427/29 432/432/29 428/428/29 +f 129/129/29 433/433/29 130/130/29 +f 434/434/29 426/426/29 425/425/29 +f 424/424/29 434/434/29 425/425/29 +f 435/435/29 424/424/29 421/421/29 +f 436/436/29 423/423/29 422/422/29 +f 437/437/29 436/436/29 422/422/29 +f 437/437/29 422/422/29 420/420/29 +f 431/431/29 438/438/29 420/420/29 +f 429/429/29 439/439/29 430/430/29 +f 440/440/29 417/417/29 419/419/29 +f 422/422/29 419/419/29 420/420/29 +f 435/435/29 421/421/29 423/423/29 +f 441/441/29 131/131/29 426/426/29 +f 433/433/29 427/427/29 130/130/29 +f 439/439/29 431/431/29 430/430/29 +f 438/438/29 437/437/29 420/420/29 +f 441/441/29 129/129/29 131/131/29 +f 442/442/19 443/443/19 444/444/19 +f 127/127/26 82/82/26 81/81/26 +f 445/445/20 446/446/20 447/447/20 +f 448/448/38 449/449/38 450/450/38 +f 451/451/26 452/452/26 453/453/26 +f 454/454/26 455/455/26 456/456/26 +f 457/457/30 458/458/30 459/459/30 +f 460/460/21 69/69/21 68/68/21 +f 388/388/29 461/461/29 367/367/29 +f 383/383/29 385/385/29 388/388/29 +f 462/462/20 463/463/20 464/464/20 +f 462/462/20 465/465/20 466/466/20 +f 467/467/26 468/468/26 469/469/26 +f 470/470/21 471/471/21 395/395/21 +f 472/472/30 473/473/30 474/474/30 +f 475/475/30 472/472/30 476/476/30 +f 66/66/20 65/65/20 477/477/20 +f 478/478/21 479/479/21 480/480/21 +f 465/465/20 481/481/20 482/482/20 +f 483/483/19 484/484/19 485/485/19 +f 486/486/21 487/487/21 488/488/21 +f 489/489/30 490/490/30 491/491/30 +f 492/492/19 485/485/19 484/484/19 +f 493/493/30 494/494/30 495/495/30 +f 496/496/30 495/495/30 494/494/30 +f 497/497/19 498/498/19 499/499/19 +f 497/497/19 63/63/19 498/498/19 +f 66/66/20 390/390/20 500/500/20 +f 390/390/20 389/389/20 500/500/20 +f 501/501/29 138/138/29 502/502/29 +f 503/503/21 504/504/21 505/505/21 +f 506/506/21 505/505/21 504/504/21 +f 507/507/21 506/506/21 504/504/21 +f 64/64/20 66/66/20 500/500/20 +f 508/508/29 501/501/29 502/502/29 +f 509/509/21 503/503/21 505/505/21 +f 497/497/19 61/61/19 63/63/19 +f 501/501/29 136/136/29 138/138/29 +f 510/510/29 511/511/29 512/512/29 +f 513/513/29 511/511/29 514/514/29 +f 512/512/29 511/511/29 515/515/29 +f 515/515/29 511/511/29 516/516/29 +f 517/517/29 511/511/29 513/513/29 +f 516/516/29 511/511/29 518/518/29 +f 518/518/29 511/511/29 519/519/29 +f 520/520/29 511/511/29 517/517/29 +f 519/519/29 511/511/29 521/521/29 +f 521/521/29 511/511/29 522/522/29 +f 522/522/29 511/511/29 520/520/29 +f 523/523/29 511/511/29 510/510/29 +f 514/514/29 511/511/29 524/524/29 +f 525/525/29 511/511/29 523/523/29 +f 524/524/29 511/511/29 526/526/29 +f 526/526/29 511/511/29 525/525/29 +f 527/527/21 528/528/21 529/529/21 +f 530/530/21 531/531/21 529/529/21 +f 532/532/29 533/533/29 534/534/29 +f 76/76/21 67/67/21 69/69/21 +f 535/535/21 70/70/21 72/72/21 +f 536/536/22 73/73/22 75/75/22 +f 537/537/23 67/67/23 77/77/23 +f 538/538/25 78/78/25 80/80/25 +f 539/539/21 88/88/21 90/90/21 +f 90/90/21 540/540/21 539/539/21 +f 72/72/21 71/71/21 103/103/21 +f 541/541/29 124/124/29 126/126/29 +f 253/253/19 132/132/19 123/123/19 +f 542/542/30 139/139/30 141/141/30 +f 139/139/30 142/142/30 140/140/30 +f 128/128/26 112/112/26 108/108/26 +f 108/108/26 144/144/26 128/128/26 +f 144/144/26 146/146/26 145/145/26 +f 159/159/20 154/154/20 156/156/20 +f 156/156/20 157/157/20 159/159/20 +f 336/336/26 163/163/26 165/165/26 +f 169/169/20 166/166/20 168/168/20 +f 543/543/20 169/169/20 170/170/20 +f 544/544/20 171/171/20 173/173/20 +f 118/118/26 176/176/26 178/178/26 +f 175/175/26 179/179/26 145/145/26 +f 545/545/20 181/181/20 183/183/20 +f 546/546/31 184/184/31 186/186/31 +f 547/547/29 187/187/29 189/189/29 +f 548/548/26 147/147/26 190/190/26 +f 200/200/32 191/191/32 193/193/32 +f 549/549/20 194/194/20 196/196/20 +f 550/550/29 197/197/29 199/199/29 +f 551/551/33 202/202/33 204/204/33 +f 552/552/21 205/205/21 207/207/21 +f 553/553/20 208/208/20 210/210/20 +f 229/229/20 211/211/20 213/213/20 +f 554/554/29 214/214/29 216/216/29 +f 555/555/34 218/218/34 220/220/34 +f 556/556/34 221/221/34 223/223/34 +f 557/557/20 224/224/20 226/226/20 +f 558/558/29 230/230/29 232/232/29 +f 559/559/33 236/236/33 238/238/33 +f 560/560/20 239/239/20 241/241/20 +f 561/561/33 242/242/33 234/234/33 +f 562/562/22 243/243/22 245/245/22 +f 563/563/36 246/246/36 248/248/36 +f 564/564/29 249/249/29 251/251/29 +f 565/565/37 254/254/37 256/256/37 +f 118/118/26 178/178/26 119/119/26 +f 175/175/26 145/145/26 119/119/26 +f 146/146/26 144/144/26 260/260/26 +f 263/263/26 261/261/26 119/119/26 +f 258/258/26 264/264/26 119/119/26 +f 566/566/26 264/264/26 265/265/26 +f 269/269/20 266/266/20 268/268/20 +f 544/544/20 173/173/20 269/269/20 +f 567/567/20 270/270/20 166/166/20 +f 568/568/26 272/272/26 274/274/26 +f 569/569/26 275/275/26 144/144/26 +f 570/570/20 276/276/20 278/278/20 +f 571/571/20 279/279/20 281/281/20 +f 572/572/29 282/282/29 284/284/29 +f 573/573/29 285/285/29 287/287/29 +f 574/574/21 288/288/21 290/290/21 +f 575/575/33 291/291/33 293/293/33 +f 576/576/20 294/294/20 296/296/20 +f 577/577/20 297/297/20 299/299/20 +f 578/578/26 107/107/26 161/161/26 +f 579/579/19 301/301/19 303/303/19 +f 580/580/19 304/304/19 306/306/19 +f 581/581/20 307/307/20 309/309/20 +f 582/582/20 310/310/20 312/312/20 +f 583/583/29 313/313/29 315/315/29 +f 584/584/34 316/316/34 318/318/34 +f 585/585/34 319/319/34 321/321/34 +f 586/586/20 322/322/20 324/324/20 +f 587/587/29 327/327/29 329/329/29 +f 588/588/32 333/333/32 335/335/32 +f 273/273/26 260/260/26 274/274/26 +f 347/347/26 337/337/26 273/273/26 +f 589/589/20 338/338/20 340/340/20 +f 332/332/19 341/341/19 330/330/19 +f 590/590/22 343/343/22 345/345/22 +f 591/591/26 346/346/26 347/347/26 +f 271/271/26 348/348/26 260/260/26 +f 592/592/29 350/350/29 352/352/29 +f 593/593/21 594/594/21 595/595/21 +f 596/596/21 354/354/21 356/356/21 +f 353/353/26 163/163/26 260/260/26 +f 357/357/29 95/95/29 358/358/29 +f 597/597/19 361/361/19 363/363/19 +f 598/598/21 364/364/21 366/366/21 +f 383/383/29 367/367/29 369/369/29 +f 371/371/29 373/373/29 372/372/29 +f 599/599/20 151/151/20 375/375/20 +f 600/600/30 380/380/30 382/382/30 +f 385/385/29 386/386/29 388/388/29 +f 601/601/30 392/392/30 394/394/30 +f 602/602/19 402/402/19 404/404/19 +f 603/603/19 405/405/19 407/407/19 +f 604/604/30 408/408/30 410/410/30 +f 605/605/19 442/442/19 444/444/19 +f 606/606/20 445/445/20 447/447/20 +f 607/607/38 448/448/38 450/450/38 +f 608/608/26 451/451/26 453/453/26 +f 609/609/26 454/454/26 456/456/26 +f 610/610/30 457/457/30 459/459/30 +f 611/611/21 460/460/21 68/68/21 +f 367/367/29 383/383/29 388/388/29 +f 612/612/20 462/462/20 464/464/20 +f 463/463/20 462/462/20 466/466/20 +f 613/613/26 467/467/26 469/469/26 +f 397/397/21 470/470/21 395/395/21 +f 476/476/30 472/472/30 474/474/30 +f 614/614/30 475/475/30 476/476/30 +f 615/615/21 478/478/21 480/480/21 +f 466/466/20 465/465/20 482/482/20 +f 616/616/19 483/483/19 485/485/19 +f 617/617/21 486/486/21 488/488/21 +f 618/618/30 489/489/30 491/491/30 +f 619/619/21 527/527/21 529/529/21 +f 528/528/21 530/530/21 529/529/21 +f 620/620/29 532/532/29 534/534/29 +s 1 +f 621/621/39 622/622/40 623/623/41 +f 623/623/41 624/624/42 360/360/29 +f 625/625/43 626/626/43 627/627/44 +f 628/628/45 153/153/20 152/152/20 +f 629/629/46 630/630/47 631/631/21 +f 632/632/48 633/633/48 634/634/49 +f 635/635/21 636/636/50 637/637/51 +f 540/540/21 638/638/52 539/539/21 +f 639/639/53 640/640/54 92/92/19 +f 641/641/55 626/626/43 625/625/43 +f 642/642/56 643/643/19 644/644/19 +f 116/116/19 115/115/19 645/645/57 +f 645/645/57 646/646/19 116/116/19 +f 644/644/19 104/104/19 647/647/58 +f 104/104/19 106/106/19 647/647/58 +f 118/118/26 117/117/26 648/648/59 +f 649/649/26 650/650/60 648/648/59 +f 642/642/56 644/644/19 647/647/58 +f 651/651/61 652/652/62 653/653/63 +f 654/654/64 655/655/65 656/656/66 +f 657/657/67 658/658/68 659/659/69 +f 660/660/70 661/661/70 507/507/21 +f 662/662/71 663/663/19 664/664/19 +f 665/665/72 666/666/72 662/662/71 +f 667/667/73 668/668/74 669/669/75 +f 670/670/76 671/671/77 672/672/78 +f 673/673/73 674/674/79 675/675/80 +f 676/676/81 677/677/82 678/678/83 +f 679/679/84 680/680/85 681/681/86 +f 672/672/78 682/682/56 683/683/19 +f 684/684/19 685/685/19 686/686/87 +f 683/687/19 684/684/19 686/686/87 +f 687/688/88 688/689/89 689/690/21 +f 690/691/90 691/692/91 688/693/89 +f 687/688/88 689/690/21 148/148/21 +f 692/694/92 693/695/93 694/696/30 +f 695/697/94 696/698/95 697/699/96 +f 628/628/45 698/700/97 673/673/73 +f 699/701/98 312/312/20 326/326/20 +f 375/375/20 700/702/99 599/599/20 +f 701/703/21 702/704/50 703/705/100 +f 704/706/101 705/707/102 706/708/30 +f 707/709/103 708/710/104 704/706/101 +f 707/709/103 709/711/105 710/712/106 +f 711/713/107 712/714/108 377/377/19 +f 686/686/87 713/715/109 670/716/76 +f 714/717/87 715/718/110 708/710/104 +f 716/719/30 706/708/30 705/707/102 +f 717/720/111 718/721/50 719/722/112 +f 720/723/113 721/724/114 719/722/112 +f 704/706/101 719/722/112 721/724/114 +f 722/725/115 720/723/113 719/722/112 +f 723/726/116 724/727/117 725/728/118 +f 726/729/92 727/730/119 728/731/120 +f 729/732/121 730/733/122 731/734/123 +f 732/735/19 733/736/53 734/737/53 +f 735/738/124 736/739/125 730/740/122 +f 647/647/58 737/741/56 738/742/126 +f 739/743/127 740/744/128 741/745/129 +f 723/726/116 742/746/94 743/747/30 +f 672/672/78 686/748/87 670/670/76 +f 672/672/78 671/671/77 744/749/124 +f 745/750/95 746/751/30 747/752/30 +f 748/753/130 749/754/131 750/755/30 +f 672/672/78 751/756/19 752/757/126 +f 753/758/19 754/759/19 755/760/132 +f 756/761/133 757/762/134 758/763/135 +f 759/764/136 758/763/135 749/754/131 +f 760/765/29 761/766/29 762/767/137 +f 763/768/138 764/769/139 765/770/140 +f 766/771/141 696/698/95 765/770/140 +f 767/772/30 768/773/142 724/727/117 +f 766/771/141 769/774/143 770/775/144 +f 771/776/98 764/769/139 772/777/145 +f 764/769/139 769/774/143 765/770/140 +f 773/778/146 645/645/57 115/115/19 +f 765/770/140 774/779/147 763/768/138 +f 743/747/30 724/727/117 723/726/116 +f 734/737/53 733/736/53 775/780/148 +f 776/781/149 777/782/150 778/783/148 +f 779/784/112 780/785/110 781/786/118 +f 782/787/150 783/788/151 784/789/19 +f 764/769/139 763/768/138 772/777/145 +f 785/790/150 786/791/152 787/792/19 +f 788/793/19 789/794/19 790/795/132 +f 791/796/150 792/797/149 252/252/19 +f 793/798/77 728/731/120 736/739/125 +f 794/799/153 739/743/127 795/800/154 +f 740/744/128 796/801/19 797/802/19 +f 798/803/121 799/804/155 672/672/78 +f 670/716/76 693/695/93 671/805/77 +f 757/762/134 756/761/133 800/806/42 +f 801/807/19 802/808/19 803/809/132 +f 804/810/20 805/811/20 806/812/156 +f 765/770/140 807/813/94 774/779/147 +f 771/776/98 772/777/145 227/227/20 +f 808/814/19 809/815/19 810/816/132 +f 811/817/19 812/818/53 813/819/53 +f 252/252/19 123/123/19 791/796/150 +f 814/820/157 775/780/148 715/718/110 +f 815/821/157 816/822/158 715/718/110 +f 645/645/57 773/778/146 725/728/118 +f 816/822/158 817/823/159 725/728/118 +f 783/788/151 782/787/150 816/822/158 +f 818/824/148 815/821/157 715/718/110 +f 786/791/152 785/790/150 818/824/148 +f 819/825/157 820/826/148 715/718/110 +f 813/819/53 812/818/53 820/826/148 +f 775/780/148 819/825/157 715/718/110 +f 714/717/87 778/783/148 715/718/110 +f 821/827/60 822/828/160 823/829/160 +f 824/830/96 825/831/161 826/832/162 +f 71/71/21 827/833/163 828/834/163 +f 826/832/162 829/835/50 830/836/113 +f 831/837/47 832/838/46 826/832/162 +f 833/839/47 834/840/47 835/841/21 +f 832/838/46 829/835/50 826/832/162 +f 828/834/163 827/833/163 836/842/164 +f 794/799/153 837/843/153 838/844/165 +f 839/845/94 824/830/96 767/772/30 +f 691/692/91 690/691/90 728/846/120 +f 728/846/120 690/691/90 736/847/125 +f 840/848/166 841/849/167 656/656/66 +f 652/652/62 651/651/61 842/850/29 +f 710/712/106 708/710/104 707/709/103 +f 843/851/130 844/852/30 845/853/30 +f 690/691/90 687/854/88 846/855/168 +f 847/856/21 848/857/113 638/638/52 +f 621/621/39 849/858/169 850/859/170 +f 849/858/169 843/851/130 851/860/131 +f 852/861/113 830/836/113 829/835/50 +f 853/862/171 854/863/172 696/698/95 +f 848/857/113 717/720/111 855/864/50 +f 853/862/171 699/701/98 856/865/173 +f 766/771/141 853/862/171 696/698/95 +f 831/837/47 825/831/161 595/595/21 +f 697/699/96 696/698/95 854/863/172 +f 768/773/142 767/772/30 824/830/96 +f 833/839/47 722/725/115 718/721/50 +f 629/629/46 721/724/114 720/723/113 +f 857/866/174 858/867/21 859/868/21 +f 854/863/172 853/862/171 856/865/173 +f 860/869/174 861/870/21 862/871/21 +f 594/594/21 831/837/47 595/595/21 +f 830/836/113 863/872/50 719/722/112 +f 864/873/113 865/874/111 863/872/50 +f 866/875/175 838/844/165 867/876/21 +f 730/733/122 736/847/125 690/691/90 +f 868/877/21 869/878/50 870/879/47 +f 871/880/176 872/881/177 728/731/120 +f 621/621/39 623/623/41 873/882/178 +f 874/883/113 875/884/115 876/885/21 +f 855/864/50 717/720/111 719/722/112 +f 685/685/19 877/886/19 686/686/87 +f 698/700/97 674/674/79 673/673/73 +f 377/377/19 376/376/19 711/713/107 +f 622/622/40 878/887/179 624/624/42 +f 700/702/99 879/888/180 880/889/181 +f 700/702/99 375/375/20 879/888/180 +f 881/890/182 882/891/183 883/892/26 +f 884/893/43 885/894/26 886/895/26 +f 712/714/108 711/713/107 884/893/43 +f 679/679/84 681/681/86 887/896/183 +f 871/880/176 727/730/119 726/729/92 +f 688/693/89 687/854/88 690/691/90 +f 693/695/93 692/694/92 671/805/77 +f 668/668/74 888/897/184 681/681/86 +f 680/680/85 889/898/21 890/899/21 +f 668/668/74 667/667/73 888/897/184 +f 669/669/75 627/627/44 667/667/73 +f 891/900/185 892/901/186 893/902/187 +f 894/903/188 891/900/185 895/904/189 +f 896/905/190 894/903/188 897/906/191 +f 898/907/192 896/905/190 899/908/193 +f 900/909/194 901/910/195 508/508/29 +f 902/911/196 903/912/197 904/913/198 +f 905/914/199 906/915/199 904/913/198 +f 907/916/200 908/917/201 901/910/195 +f 909/918/202 910/919/203 908/917/201 +f 911/920/204 906/915/199 905/914/199 +f 912/921/205 913/922/206 914/923/207 +f 913/922/206 915/924/208 916/925/209 +f 915/924/208 917/926/210 918/927/211 +f 917/926/210 919/928/212 920/929/213 +f 919/928/212 921/930/214 922/931/215 +f 923/932/216 924/933/217 925/934/218 +f 926/935/219 927/936/219 925/934/218 +f 928/937/220 929/938/220 930/939/203 +f 931/940/221 927/936/219 926/935/219 +f 892/901/186 931/940/221 932/941/222 +f 928/937/220 933/942/223 929/938/220 +f 934/943/224 935/944/225 933/942/223 +f 936/945/226 937/946/227 933/942/223 +f 938/947/228 939/948/228 937/946/227 +f 940/949/229 941/950/230 942/951/230 +f 943/952/231 944/953/231 942/951/230 +f 945/954/232 946/955/233 947/956/30 +f 948/957/234 949/958/235 950/959/236 +f 951/960/237 952/961/238 950/959/236 +f 949/958/235 953/962/239 951/960/237 +f 954/963/240 953/962/239 949/958/235 +f 955/964/241 956/965/242 953/962/239 +f 957/966/243 958/967/243 959/968/244 +f 960/969/245 959/968/244 956/965/242 +f 135/135/19 641/641/55 961/970/246 +f 962/971/247 658/658/68 963/972/248 +f 964/973/249 965/974/250 962/971/247 +f 966/975/251 967/976/252 965/974/250 +f 415/415/20 413/413/20 967/976/252 +f 416/416/20 659/659/69 413/413/20 +f 968/977/253 657/657/67 659/659/69 +f 969/978/254 968/977/253 659/659/69 +f 970/979/255 969/978/254 659/659/69 +f 416/416/20 970/979/255 659/659/69 +f 971/980/256 415/415/20 967/976/252 +f 966/975/251 971/980/256 967/976/252 +f 964/973/249 972/981/257 965/974/250 +f 973/982/258 964/973/249 962/971/247 +f 974/983/259 963/972/248 658/658/68 +f 657/657/67 974/983/259 658/658/68 +f 133/133/19 135/135/19 961/970/246 +f 973/982/258 962/971/247 963/972/248 +f 972/981/257 966/975/251 965/974/250 +f 653/653/63 654/654/64 975/984/260 +f 632/632/48 460/460/21 611/611/21 +f 976/985/51 977/986/48 978/987/21 +f 979/988/29 980/989/29 948/957/234 +f 981/990/261 982/991/261 983/992/21 +f 984/993/262 982/991/261 981/990/261 +f 985/994/263 986/995/264 502/502/29 +f 987/996/265 986/995/264 985/994/263 +f 988/997/266 987/996/265 989/998/267 +f 934/943/224 990/999/268 991/1000/269 +f 935/944/225 934/943/224 992/1001/270 +f 954/963/240 993/1002/271 994/1003/237 +f 660/660/70 940/949/229 995/1004/272 +f 996/1005/29 997/1006/236 998/1007/234 +f 993/1002/271 998/1007/234 997/1006/236 +f 994/1003/237 993/1002/271 997/1006/236 +f 499/499/19 944/953/231 943/952/231 +f 502/502/29 986/995/264 900/909/194 +f 497/497/19 499/499/19 943/952/231 +f 508/508/29 502/502/29 900/909/194 +f 504/504/21 660/660/70 507/507/21 +f 820/826/148 999/1008/157 715/718/110 +f 816/822/158 725/728/118 715/718/110 +f 863/872/50 865/874/111 719/722/112 +f 830/836/113 719/722/112 826/832/162 +f 1000/1009/221 1001/1010/273 1002/1011/274 +f 1001/1010/273 1003/1012/275 1004/1013/276 +f 1005/1014/277 1006/1015/278 1007/1016/279 +f 1003/1012/275 1008/1017/215 1009/1018/216 +f 1008/1017/215 1010/1019/213 1011/1020/212 +f 1012/1021/204 1005/1014/277 1013/1022/280 +f 1010/1019/213 1014/1023/281 1015/1024/210 +f 1014/1023/281 1016/1025/209 1017/1026/208 +f 1018/1027/282 1012/1021/204 1019/1028/205 +f 1016/1025/209 1018/1027/282 1020/1029/283 +f 1021/1030/190 1022/1031/188 1023/1032/191 +f 1024/1033/185 1025/1034/186 1026/1035/284 +f 1027/1036/192 1021/1030/190 1028/1037/193 +f 1006/1015/278 1027/1036/192 1029/1038/285 +f 1025/1034/186 1000/1009/221 1030/1039/222 +f 1022/1031/188 1024/1033/185 1031/1040/189 +f 1032/1041/286 1033/1042/287 1034/1043/288 +f 1035/1044/289 1036/1045/290 1037/1046/291 +f 1038/1047/292 1039/1048/293 1040/1049/30 +f 1041/1050/26 1042/1051/26 1033/1042/287 +f 1036/1045/290 1035/1044/289 1039/1048/293 +f 94/94/29 623/623/41 360/360/29 +f 669/669/75 625/625/43 627/627/44 +f 698/700/97 628/628/45 152/152/20 +f 1043/1052/21 629/629/46 631/631/21 +f 1044/1053/294 632/632/48 634/634/49 +f 1045/1054/21 635/635/21 637/637/51 +f 91/91/19 639/639/53 92/92/19 +f 961/970/246 641/641/55 625/625/43 +f 117/117/26 649/649/26 648/648/59 +f 1046/1055/295 120/120/21 122/122/21 +f 1047/1056/296 651/651/61 653/653/63 +f 975/984/260 654/654/64 656/656/66 +f 1048/1057/71 662/662/71 664/664/19 +f 1048/1057/71 665/665/72 662/662/71 +f 678/678/83 673/673/73 675/675/80 +f 675/675/80 676/676/81 678/678/83 +f 686/748/87 672/672/78 683/683/19 +f 150/150/21 687/688/88 148/148/21 +f 856/865/173 699/701/98 326/326/20 +f 1049/1058/21 701/703/21 703/705/100 +f 706/708/30 707/709/103 704/706/101 +f 710/712/106 714/717/87 708/710/104 +f 705/707/102 704/706/101 721/724/114 +f 718/721/50 722/725/115 719/722/112 +f 773/778/146 723/726/116 725/728/118 +f 793/798/77 726/729/92 728/731/120 +f 1050/1059/297 729/732/121 731/734/123 +f 1051/1060/19 732/735/19 734/737/53 +f 729/1061/121 735/738/124 730/740/122 +f 642/642/56 647/647/58 738/742/126 +f 795/800/154 739/743/127 741/745/129 +f 1052/1062/298 745/750/95 747/752/30 +f 1053/1063/30 748/753/130 750/755/30 +f 682/682/56 672/672/78 752/757/126 +f 1054/1064/299 753/758/19 755/760/132 +f 759/764/136 756/761/133 758/763/135 +f 748/753/130 759/764/136 749/754/131 +f 800/806/42 760/765/29 762/767/137 +f 769/774/143 766/771/141 765/770/140 +f 743/747/30 767/772/30 724/727/117 +f 806/812/156 766/771/141 770/775/144 +f 814/820/157 734/737/53 775/780/148 +f 714/717/87 776/781/149 778/783/148 +f 1055/1065/300 779/784/112 781/786/118 +f 1056/1066/19 782/787/150 784/789/19 +f 1057/1067/19 785/790/150 787/792/19 +f 1058/1068/299 788/793/19 790/795/132 +f 735/738/124 793/798/77 736/739/125 +f 837/843/153 794/799/153 795/800/154 +f 741/745/129 740/744/128 797/802/19 +f 744/749/124 798/803/121 672/672/78 +f 762/767/137 757/762/134 800/806/42 +f 1059/1069/148 801/807/19 803/809/132 +f 770/775/144 804/810/20 806/812/156 +f 213/213/20 771/776/98 227/227/20 +f 1060/1070/299 808/814/19 810/816/132 +f 1061/1071/19 811/817/19 813/819/53 +f 778/783/148 814/820/157 715/718/110 +f 817/823/159 645/645/57 725/728/118 +f 815/821/157 783/788/151 816/822/158 +f 999/1008/157 818/824/148 715/718/110 +f 999/1008/157 786/791/152 818/824/148 +f 819/825/157 813/819/53 820/826/148 +f 1062/1072/301 821/827/60 823/829/160 +f 768/773/142 824/830/96 826/832/162 +f 102/102/21 71/71/21 828/834/163 +f 825/831/161 831/837/47 826/832/162 +f 1063/1073/21 833/839/47 835/841/21 +f 1064/1074/302 828/834/163 836/842/164 +f 866/875/175 794/799/153 838/844/165 +f 872/881/177 691/1075/91 728/731/120 +f 655/655/65 840/848/166 656/656/66 +f 1065/1076/29 652/652/62 842/850/29 +f 851/860/131 843/851/130 845/853/30 +f 1066/1077/303 690/691/90 846/855/168 +f 540/540/21 847/856/21 638/638/52 +f 622/622/40 621/621/39 850/859/170 +f 850/859/170 849/858/169 851/860/131 +f 857/866/174 852/861/113 829/835/50 +f 638/638/52 848/857/113 855/864/50 +f 834/840/47 833/839/47 718/721/50 +f 630/630/47 629/629/46 720/723/113 +f 852/861/113 857/866/174 859/868/21 +f 864/873/113 860/869/174 862/871/21 +f 860/869/174 864/873/113 863/872/50 +f 1067/1078/21 866/875/175 867/876/21 +f 731/734/123 730/733/122 690/691/90 +f 1068/1079/21 868/877/21 870/879/47 +f 727/730/119 871/880/176 728/731/120 +f 1069/1080/21 874/883/113 876/885/21 +f 865/874/111 855/864/50 719/722/112 +f 623/623/41 622/622/40 624/624/42 +f 1070/1081/181 700/702/99 880/889/181 +f 1071/1082/26 881/890/182 883/892/26 +f 1072/1083/43 884/893/43 886/895/26 +f 1072/1083/43 712/714/108 884/893/43 +f 1073/1084/30 871/880/176 726/729/92 +f 680/680/85 668/668/74 681/681/86 +f 668/668/74 680/680/85 890/899/21 +f 895/904/189 891/900/185 893/902/187 +f 897/906/191 894/903/188 895/904/189 +f 899/908/193 896/905/190 897/906/191 +f 902/911/196 898/907/192 899/908/193 +f 898/907/192 902/911/196 904/913/198 +f 903/912/197 905/914/199 904/913/198 +f 900/909/194 907/916/200 901/910/195 +f 907/916/200 909/918/202 908/917/201 +f 912/921/205 911/920/204 905/914/199 +f 911/920/204 912/921/205 914/923/207 +f 914/923/207 913/922/206 916/925/209 +f 916/925/209 915/924/208 918/927/211 +f 918/927/211 917/926/210 920/929/213 +f 920/929/213 919/928/212 922/931/215 +f 1074/1085/304 923/932/216 925/934/218 +f 924/933/217 926/935/219 925/934/218 +f 1075/1086/305 928/937/220 930/939/203 +f 932/941/222 931/940/221 926/935/219 +f 893/902/187 892/901/186 932/941/222 +f 928/937/220 934/943/224 933/942/223 +f 935/944/225 936/945/226 933/942/223 +f 936/945/226 938/947/228 937/946/227 +f 995/1004/272 940/949/229 942/951/230 +f 941/950/230 943/952/231 942/951/230 +f 1076/1087/30 945/954/232 947/956/30 +f 949/958/235 951/960/237 950/959/236 +f 993/1002/271 954/963/240 949/958/235 +f 954/963/240 955/964/241 953/962/239 +f 960/969/245 957/966/243 959/968/244 +f 955/964/241 960/969/245 956/965/242 +f 1047/1056/296 653/653/63 975/984/260 +f 633/633/48 632/632/48 611/611/21 +f 1077/1088/50 976/985/51 978/987/21 +f 950/959/236 979/988/29 948/957/234 +f 1078/1089/21 981/990/261 983/992/21 +f 1079/1090/262 984/993/262 981/990/261 +f 989/998/267 987/996/265 985/994/263 +f 1080/1091/269 988/997/266 989/998/267 +f 992/1001/270 934/943/224 991/1000/269 +f 661/661/70 660/660/70 995/1004/272 +f 1081/1092/29 996/1005/29 998/1007/234 +f 1082/1093/238 994/1003/237 997/1006/236 +f 1030/1039/222 1000/1009/221 1002/1011/274 +f 1002/1011/274 1001/1010/273 1004/1013/276 +f 1013/1022/280 1005/1014/277 1007/1016/279 +f 1004/1013/276 1003/1012/275 1009/1018/216 +f 1009/1018/216 1008/1017/215 1011/1020/212 +f 1019/1028/205 1012/1021/204 1013/1022/280 +f 1011/1020/212 1010/1019/213 1015/1024/210 +f 1015/1024/210 1014/1023/281 1017/1026/208 +f 1020/1029/283 1018/1027/282 1019/1028/205 +f 1017/1026/208 1016/1025/209 1020/1029/283 +f 1028/1037/193 1021/1030/190 1023/1032/191 +f 1031/1040/189 1024/1033/185 1026/1035/284 +f 1029/1038/285 1027/1036/192 1028/1037/193 +f 1007/1016/279 1006/1015/278 1029/1038/285 +f 1026/1035/284 1025/1034/186 1030/1039/222 +f 1023/1032/191 1022/1031/188 1031/1040/189 +f 1037/1046/291 1032/1041/286 1034/1043/288 +f 1034/1043/288 1035/1044/289 1037/1046/291 +f 1083/1094/30 1038/1047/292 1040/1049/30 +f 1032/1041/286 1041/1050/26 1033/1042/287 +f 1038/1047/292 1036/1045/290 1039/1048/293 +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.435798 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.479860 +v 0.577175 2.895699 6.381779 +v 0.577175 1.924939 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.479860 +v 0.401255 3.588838 6.684444 +v 0.401255 3.243770 6.479860 +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.479860 +v -0.401255 3.243770 6.479860 +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.479860 +v -0.401255 3.588838 6.684444 +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.895699 6.381779 +v -0.577175 2.851677 5.639833 +v -0.577175 1.810704 6.457509 +v -0.577175 1.435798 6.186546 +v -0.577175 1.449703 6.660409 +v -0.577175 3.484048 5.722968 +v -0.577175 1.924939 5.885275 +v -0.577175 2.439333 5.691723 +v 0.577175 3.243770 6.479860 +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.479860 +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.895699 6.381779 +v 0.577175 3.243770 6.479860 +v 0.401255 3.243770 6.479860 +v -0.401255 3.243770 6.479860 +v -0.577175 2.895699 6.381779 +v -0.136434 1.170197 7.267153 +v 0.136434 1.170197 7.267153 +v 0.255916 1.274900 7.159120 +v -0.255916 1.274900 7.159120 +v 0.255916 1.582615 6.859656 +v -0.255916 1.582615 6.859656 +v -0.136434 1.170197 7.267153 +v -0.140214 0.908798 7.158844 +v 0.140214 0.908798 7.158844 +v 0.255916 1.049089 7.041913 +v 0.255916 1.274900 7.159120 +v 0.136434 1.170197 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.908798 7.158844 +v -0.140214 0.908798 7.158844 +v -0.238265 0.780515 7.270253 +v 0.238265 0.780515 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.574698 7.190140 +v 0.242153 0.574698 7.190140 +v 0.238265 0.780515 7.270253 +v 0.557295 0.748788 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.588838 6.684444 +v -0.401255 3.588838 6.684444 +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.435798 6.186546 +v 0.577175 1.435798 6.186546 +v -0.577175 1.924939 5.885275 +v -0.577175 2.439333 5.691723 +v 0.577175 2.439333 5.691723 +v 0.577175 1.924939 5.885275 +v 0.242153 0.574698 7.190140 +v -0.242153 0.574698 7.190140 +v -0.557295 0.748788 6.906375 +v 0.557295 0.748788 6.906375 +v -0.577175 3.243770 6.479860 +v -0.255916 1.049089 7.041913 +v -0.577175 2.466018 6.344805 +v -0.255916 1.274900 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.748788 6.906375 +v -0.238265 0.780515 7.270253 +v -0.577175 1.022907 6.562050 +v -0.577175 1.049089 7.041913 +v -0.255916 2.466018 6.344805 +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.472210 0.980596 +vt 0.472225 0.980472 +vt 0.471669 0.980404 +vt 0.471639 0.980122 +vt 0.471669 0.980404 +vt 0.472225 0.980472 +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.480816 0.945382 +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.468657 0.980387 +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.468113 0.980573 +vt 0.468666 0.981532 +vt 0.468393 0.981256 +vt 0.471654 0.980527 +vt 0.480816 0.946278 +vt 0.480249 0.945382 +vt 0.468100 0.980449 +vt 0.482469 0.972694 +vt 0.468670 0.980511 +vt 0.482622 0.972386 +vt 0.483023 0.972386 +vt 0.483034 0.971858 +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.482997 0.972676 +vt 0.482644 0.972678 +vt 0.482753 0.972998 +vt 0.482726 0.973162 +vt 0.482929 0.973155 +vt 0.483051 0.973046 +vt 0.482958 0.972932 +vt 0.482894 0.972996 +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.480249 0.946278 +vt 0.480816 0.946278 +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.482686 0.972938 +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 +vt 0.482618 0.971864 +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.9962 +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 +s off +f 1084/1095/306 1085/1096/306 1086/1097/306 +f 1086/1097/306 1087/1098/306 1088/1099/306 +f 1089/1100/306 1090/1101/306 1091/1102/306 +f 1092/1103/306 1093/1104/306 1094/1105/306 +f 1089/1100/306 1095/1106/306 1090/1101/306 +f 1096/1107/306 1097/1108/306 1090/1101/306 +f 1098/1109/307 1099/1110/307 1100/1111/307 +f 1101/1112/306 1102/1113/306 1103/1114/306 +f 1104/1115/306 1105/1116/306 1106/1117/306 +f 1101/1112/306 1103/1114/306 1104/1115/306 +f 1104/1115/306 1107/1118/306 1108/1119/306 +f 1109/1120/306 1105/1116/306 1104/1115/306 +f 1110/1121/308 1111/1122/308 1112/1123/308 +f 1113/1124/309 1114/1125/309 1115/1126/309 +f 1097/1108/306 1096/1107/306 1116/1127/306 +f 1117/1128/307 1118/1129/307 1119/1130/307 +f 1120/1131/310 1121/1132/310 1122/1133/310 +f 1123/1134/310 1124/1135/310 1125/1136/310 +f 1126/1137/310 1127/1138/310 1128/1139/310 +f 1124/1135/310 1128/1139/310 1127/1138/310 +f 1129/1140/310 1127/1138/310 1130/1141/310 +f 1131/1142/310 1130/1141/310 1127/1138/310 +f 1132/1143/310 1122/1133/310 1121/1132/310 +f 1133/1144/310 1134/1145/310 1135/1146/310 +f 1136/1147/310 1137/1148/310 1138/1149/310 +f 1139/1150/310 1135/1146/310 1134/1145/310 +f 1140/1151/310 1137/1148/310 1136/1147/310 +f 1141/1152/310 1140/1151/310 1136/1147/310 +f 1088/1099/306 1084/1095/306 1086/1097/306 +f 1116/1127/306 1092/1103/306 1094/1105/306 +f 1095/1106/306 1096/1107/306 1090/1101/306 +f 1142/1153/307 1098/1109/307 1100/1111/307 +f 1106/1117/306 1101/1112/306 1104/1115/306 +f 1108/1119/306 1109/1120/306 1104/1115/306 +f 1143/1154/308 1110/1121/308 1112/1123/308 +f 1144/1155/309 1113/1124/309 1115/1126/309 +f 1094/1105/306 1097/1108/306 1116/1127/306 +f 1145/1156/307 1117/1128/307 1119/1130/307 +f 1146/1157/310 1120/1131/310 1122/1133/310 +f 1125/1136/310 1124/1135/310 1127/1138/310 +f 1126/1137/310 1131/1142/310 1127/1138/310 +f 1141/1152/310 1133/1144/310 1135/1146/310 +f 1147/1158/310 1139/1150/310 1134/1145/310 +f 1133/1144/310 1141/1152/310 1136/1147/310 +s 1 +f 1148/1159/311 1149/1160/312 1150/1161/313 +f 1151/1162/314 1152/1163/315 1153/1164/316 +f 1154/1165/317 1155/1166/318 1151/1162/314 +f 1156/1167/319 1157/1168/319 1158/1169/320 +f 1159/1170/321 1158/1169/320 1160/1171/322 +f 1149/1160/312 1148/1159/311 1161/1172/323 +f 1162/1173/324 1163/1174/325 1164/1175/326 +f 1165/1176/327 1166/1177/328 1167/1178/329 +f 1168/1179/330 1169/1180/331 1151/1162/314 +f 1085/1096/306 1084/1095/306 1166/1177/328 +f 1170/1181/332 1171/1182/333 1172/1183/334 +f 1173/1184/335 1174/1185/336 1175/1186/337 +f 1176/1187/338 1177/1188/339 1178/1189/340 +f 1169/1180/331 1168/1179/330 1177/1188/339 +f 1171/1182/333 1170/1181/332 1179/1190/341 +f 1180/1191/342 1181/1192/343 1182/1193/344 +f 1183/1194/345 1184/1195/346 1182/1193/344 +f 1185/1196/347 1091/1102/306 1184/1195/346 +f 1185/1196/347 1089/1100/306 1091/1102/306 +f 1155/1166/318 1186/1197/348 1168/1179/330 +f 1187/1198/349 1188/1199/349 1189/1200/350 +f 1190/1201/351 1191/1202/352 1154/1165/317 +f 1191/1202/352 1190/1201/351 1192/1203/353 +f 1193/1204/354 1194/1205/355 1195/1206/356 +f 1196/1207/357 1197/1208/357 1194/1205/355 +f 1198/1209/358 1189/1200/350 1199/1210/359 +f 1200/1211/360 1201/1212/361 1189/1200/350 +f 1202/1213/362 1203/1214/363 1204/1215/364 +f 1205/1216/365 1204/1215/364 1206/1217/366 +f 1207/1218/367 1208/1219/368 1209/1220/369 +f 1200/1211/360 1198/1209/358 1208/1219/368 +f 1210/1221/370 1211/1222/370 1212/1223/371 +f 1203/1214/363 1202/1213/362 1213/1224/372 +f 1214/1225/315 1155/1166/318 1154/1165/317 +f 1215/1226/373 1163/1174/325 1162/1173/324 +f 1216/1227/331 1186/1197/348 1155/1166/318 +f 1146/1157/310 1215/1226/373 1217/1228/374 +f 1218/1229/375 1174/1185/336 1173/1184/335 +f 1201/1212/361 1200/1211/360 1219/1230/359 +f 1220/1231/338 1221/1232/341 1222/1233/340 +f 1216/1227/331 1220/1231/338 1223/1234/339 +f 1224/1235/333 1222/1233/340 1221/1232/341 +f 1225/1236/376 1180/1191/342 1226/1237/377 +f 1227/1238/378 1225/1236/376 1228/1239/379 +f 1137/1148/310 1227/1238/378 1138/1149/310 +f 1229/1240/380 1148/1159/311 1150/1161/313 +f 1153/1164/316 1154/1165/317 1151/1162/314 +f 1159/1170/321 1156/1167/319 1158/1169/320 +f 1161/1172/323 1159/1170/321 1160/1171/322 +f 1160/1171/322 1149/1160/312 1161/1172/323 +f 1167/1178/329 1162/1173/324 1164/1175/326 +f 1164/1175/326 1165/1176/327 1167/1178/329 +f 1165/1176/327 1085/1096/306 1166/1177/328 +f 1175/1186/337 1170/1181/332 1172/1183/334 +f 1172/1183/334 1173/1184/335 1175/1186/337 +f 1179/1190/341 1176/1187/338 1178/1189/340 +f 1176/1187/338 1169/1180/331 1177/1188/339 +f 1178/1189/340 1171/1182/333 1179/1190/341 +f 1226/1237/377 1180/1191/342 1182/1193/344 +f 1181/1192/343 1183/1194/345 1182/1193/344 +f 1183/1194/345 1185/1196/347 1184/1195/346 +f 1151/1162/314 1155/1166/318 1168/1179/330 +f 1201/1212/361 1187/1198/349 1189/1200/350 +f 1153/1164/316 1190/1201/351 1154/1165/317 +f 1195/1206/356 1191/1202/352 1192/1203/353 +f 1192/1203/353 1193/1204/354 1195/1206/356 +f 1193/1204/354 1196/1207/357 1194/1205/355 +f 1198/1209/358 1200/1211/360 1189/1200/350 +f 1205/1216/365 1202/1213/362 1204/1215/364 +f 1209/1220/369 1205/1216/365 1206/1217/366 +f 1206/1217/366 1207/1218/367 1209/1220/369 +f 1207/1218/367 1200/1211/360 1208/1219/368 +f 1213/1224/372 1210/1221/370 1212/1223/371 +f 1212/1223/371 1203/1214/363 1213/1224/372 +f 1217/1228/374 1215/1226/373 1162/1173/324 +f 1120/1131/310 1146/1157/310 1217/1228/374 +f 1224/1235/333 1218/1229/375 1173/1184/335 +f 1223/1234/339 1220/1231/338 1222/1233/340 +f 1186/1197/348 1216/1227/331 1223/1234/339 +f 1218/1229/375 1224/1235/333 1221/1232/341 +f 1228/1239/379 1225/1236/376 1226/1237/377 +f 1138/1149/310 1227/1238/378 1228/1239/379 +o mag_pistol_0 +v -1.109136 1.854146 1.546994 +v -1.109136 6.483851 2.313161 +v -1.109136 1.746315 1.309461 +v 1.109136 6.483851 2.313161 +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.432841 +v -0.855096 7.454038 0.681172 +v -0.637953 7.455005 0.432841 +v -1.109136 7.447666 2.316916 +v -0.851242 7.447666 2.316916 +v -0.645065 7.456246 0.114420 +v -0.808240 7.456246 0.114420 +v -0.882817 -7.449294 -6.242331 +v -1.332151 -7.578506 -5.806304 +v -1.109136 -7.583717 -5.788713 +v -1.260158 -8.694220 -2.041337 +v -1.109136 -8.686133 -2.068621 +v -0.818644 -8.777006 -1.761974 +v -0.549908 -9.201518 -0.329464 +v 0.549908 -9.201518 -0.329464 +v 0.855096 7.454038 0.681172 +v 1.109136 7.455005 0.432841 +v 0.637953 7.455005 0.432841 +v 0.645065 7.456246 0.114420 +v 0.808240 7.456246 0.114420 +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.487273 -6.114170 +v 0.791829 -7.487273 -6.114170 +v 0.882817 -7.449294 -6.242331 +v 1.109136 -7.583717 -5.788713 +v 1.332151 -7.578506 -5.806304 +v 1.109136 -8.686133 -2.068621 +v -0.527911 -9.865828 -0.558223 +v 0.527911 -9.865828 -0.558223 +v 0.549908 -9.201518 -0.329464 +v 0.527911 -9.865828 -0.558223 +v -0.527911 -9.865828 -0.558223 +v -1.263812 -9.320386 -2.284041 +v -0.889556 -7.991921 -6.487401 +v 0.889556 -7.991921 -6.487401 +v 1.326758 -8.130615 -6.048566 +v 1.263812 -9.320386 -2.284041 +v -1.326758 -8.130615 -6.048566 +v 1.260158 -8.694220 -2.041337 +v 0.818644 -8.777006 -1.761974 +v -0.440888 6.323021 -0.358271 +v 1.109136 7.447666 2.316916 +v -0.549908 -9.201518 -0.329464 +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.184810 +v -0.823423 6.188930 3.832172 +v -0.613250 5.916148 3.869261 +v 0.639183 4.693711 3.350439 +v 0.613250 5.916148 3.869261 +v -0.791829 -7.487273 -6.114170 +v -0.440888 6.323021 -0.358271 +v 0.791829 -7.487273 -6.114170 +v 1.109136 6.187971 4.078715 +v 1.109136 1.608211 2.157616 +v 1.109136 7.455005 0.432841 +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.344060 +v 0.613250 5.905007 4.230343 +v 0.807799 6.186929 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.344060 +v -0.807799 6.186929 4.345726 +v -0.613250 5.905007 4.230343 +v -0.818644 -8.777006 -1.761974 +v 0.818644 -8.777006 -1.761974 +v -0.775337 0.764493 2.107609 +v -1.109136 1.608211 2.157616 +v -1.109136 7.455005 0.432841 +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.181054 +v 0.440888 6.323021 -0.358271 +v 0.629678 6.747400 -0.181054 +v -0.784480 5.973367 0.123958 +v -0.784649 4.758710 3.184810 +v 0.784480 5.973367 0.123958 +v 1.109136 7.447666 2.316916 +v 1.109136 -8.686133 -2.068621 +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.068621 +v -1.109136 6.187971 4.078715 +v -0.613250 6.189570 3.985306 +v -1.109136 6.193875 2.563060 +v -1.109136 6.187971 4.078715 +v -0.823423 6.188930 3.832172 +v -0.808240 7.456246 0.114420 +v -1.109136 7.447666 2.316916 +v -1.109136 6.483851 2.313161 +v -0.839998 6.483851 2.313161 +v -0.855295 6.193875 2.563060 +v -0.855096 7.454038 0.681172 +v -0.851242 7.447666 2.316916 +v -0.839998 6.483851 2.313161 +v -0.613250 5.916148 3.869261 +v -0.613250 5.905007 4.230343 +v -0.367306 5.610397 4.110494 +v -0.613250 6.189570 3.985306 +v -0.613250 6.186937 4.344060 +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.761974 +v -1.326758 -8.130615 -6.048566 +v -1.332151 -7.578506 -5.806304 +v -0.882817 -7.449294 -6.242331 +v -1.263812 -9.320386 -2.284041 +v -1.260158 -8.694220 -2.041337 +v -0.527911 -9.865828 -0.558223 +v -0.549908 -9.201518 -0.329464 +v -0.855295 6.193875 2.563060 +v -0.637953 7.455005 0.432841 +v -0.610240 6.670014 0.107513 +v -0.586664 6.044359 -0.058251 +v -0.413784 6.208827 -0.016872 +v -0.629678 6.747400 -0.181054 +v -0.645065 7.456246 0.114420 +v -0.610240 6.670014 0.107513 +v -0.784480 5.973367 0.123958 +v -0.637953 7.455005 0.432841 +v -0.413784 6.208827 -0.016872 +v -0.440888 6.323021 -0.358271 +v -0.807799 6.186929 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.681172 +v 0.610240 6.670014 0.107513 +v 0.637953 7.455005 0.432841 +v 0.645065 7.456246 0.114420 +v 0.610240 6.670014 0.107513 +v 1.109136 6.187971 4.078715 +v 1.109136 6.193875 2.563060 +v 0.823423 6.188930 3.832172 +v 0.851242 7.447666 2.316916 +v 0.839998 6.483851 2.313161 +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.181054 +v 0.807799 6.186929 4.345726 +v 0.613250 6.189570 3.985306 +v 0.784649 4.758710 3.184810 +v 0.586664 6.044359 -0.058251 +v 0.613250 6.186937 4.344060 +v 0.613250 6.189570 3.985306 +v 0.823423 6.188930 3.832172 +v 0.808240 7.456246 0.114420 +v 1.109136 7.447666 2.316916 +v 0.851242 7.447666 2.316916 +v 0.839998 6.483851 2.313161 +v 1.109136 6.483851 2.313161 +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.916148 3.869261 +v 0.330292 5.643600 3.823889 +v 0.613250 5.905007 4.230343 +v 0.613250 6.186937 4.344060 +v 0.807799 6.186929 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.761974 +v -0.613250 6.186937 4.344060 +v 1.326758 -8.130615 -6.048566 +v 0.882817 -7.449294 -6.242331 +v 1.332151 -7.578506 -5.806304 +v 1.260158 -8.694220 -2.041337 +v 1.263812 -9.320386 -2.284041 +v 0.549908 -9.201518 -0.329464 +v 0.637953 7.455005 0.432841 +v 0.610240 6.670014 0.107513 +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.184810 +v -1.109136 7.447666 2.316916 +v -0.851242 7.447666 2.316916 +v -0.807799 6.186929 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.558223 +v 0.645065 7.456246 0.114420 +v -0.645065 7.456246 0.114420 +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.335363 0.817407 +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.296468 0.862987 +vt 0.296171 0.863007 +vt 0.296386 0.863086 +vt 0.296139 0.863393 +vt 0.296375 0.863361 +vt 0.296301 0.863656 +vt 0.296450 0.863484 +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.335928 0.815727 +vt 0.336384 0.815738 +vt 0.335562 0.813576 +vt 0.335880 0.815923 +vt 0.336756 0.815704 +vt 0.336722 0.815432 +vt 0.335975 0.820462 +vt 0.336109 0.820051 +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.338293 0.815922 +vt 0.338229 0.815719 +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.337407 0.815436 +vt 0.337372 0.815710 +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.339004 0.817387 +vt 0.338796 0.817419 +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.338482 0.820342 +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.299359 0.862966 +vt 0.300174 0.863004 +vt 0.300297 0.862779 +vt 0.300257 0.863103 +vt 0.300477 0.863024 +vt 0.300265 0.863381 +vt 0.300502 0.863417 +vt 0.300188 0.863503 +vt 0.300332 0.863678 +vt 0.299357 0.863640 +vt 0.317870 0.827942 +vt 0.317895 0.827574 +vt 0.308779 0.827646 +vt 0.336132 0.820332 +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.352318 0.454386 +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.335570 0.817415 +vt 0.323128 0.837416 +vt 0.297271 0.863612 +vt 0.296386 0.863086 +vt 0.297273 0.862936 +vt 0.317935 0.837436 +vt 0.338501 0.820063 +vt 0.299652 0.863857 +vt 0.352262 0.453765 +vt 0.322736 0.831880 +vt 0.322741 0.833092 +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.0034 -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.0009 0.3847 -0.9230 +vn 0.0010 0.3847 -0.9230 +vn 0.0009 0.3847 -0.9230 +vn 0.0000 0.9310 0.3650 +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.0482 +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.0012 1.0000 0.0025 +vn -0.9999 0.0117 -0.0023 +vn -0.9998 0.0092 0.0149 +vn -0.9997 0.0240 0.0100 +vn -0.0058 -0.2497 0.9683 +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.9303 0.3668 +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 +s off +f 1230/1241/381 1231/1242/381 1232/1243/381 +f 1233/1244/382 1234/1245/382 1235/1246/382 +f 1233/1244/382 1235/1246/382 1236/1247/382 +f 1230/1241/381 1237/1248/381 1231/1242/381 +f 1238/1249/383 1239/1250/383 1240/1251/383 +f 1238/1249/383 1241/1252/383 1242/1253/383 +f 1240/1251/383 1243/1254/383 1244/1255/383 +f 1245/1256/384 1246/1257/384 1247/1258/384 +f 1246/1257/384 1248/1259/384 1249/1260/384 +f 1244/1255/383 1238/1249/383 1240/1251/383 +f 1250/1261/384 1251/1262/384 1252/1263/384 +f 1253/1264/383 1254/1265/383 1255/1266/383 +f 1256/1267/383 1255/1266/383 1257/1268/383 +f 1258/1269/385 1259/1270/385 1260/1271/385 +f 1254/1265/383 1253/1264/383 1261/1272/383 +f 1245/1256/384 1262/1273/384 1263/1274/384 +f 1264/1275/384 1263/1274/384 1265/1276/384 +f 1266/1277/384 1265/1276/384 1267/1278/384 +f 1268/1279/386 1269/1280/386 1270/1281/386 +f 1254/1265/383 1257/1268/383 1255/1266/383 +f 1271/1282/387 1272/1283/387 1273/1284/387 +f 1274/1285/387 1275/1286/387 1276/1287/387 +f 1277/1288/387 1273/1284/387 1278/1289/387 +f 1279/1290/384 1267/1278/384 1280/1291/384 +f 1239/1250/383 1238/1249/383 1242/1253/383 +f 1262/1273/384 1245/1256/384 1247/1258/384 +f 1247/1258/384 1246/1257/384 1249/1260/384 +f 1280/1291/384 1250/1261/384 1252/1263/384 +f 1281/1292/385 1258/1269/385 1260/1271/385 +f 1282/1293/383 1254/1265/383 1261/1272/383 +f 1264/1275/384 1245/1256/384 1263/1274/384 +f 1266/1277/384 1264/1275/384 1265/1276/384 +f 1279/1290/384 1266/1277/384 1267/1278/384 +f 1283/1294/386 1268/1279/386 1270/1281/386 +f 1277/1288/387 1271/1282/387 1273/1284/387 +f 1278/1289/387 1274/1285/387 1276/1287/387 +f 1276/1287/387 1277/1288/387 1278/1289/387 +f 1252/1263/384 1279/1290/384 1280/1291/384 +f 1250/1261/384 1249/1260/384 1251/1262/384 +s 1 +f 1284/1295/388 1285/1296/389 1286/1297/390 +f 1286/1297/390 1287/1298/391 1288/1299/392 +f 1286/1297/390 1289/1300/393 1284/1295/388 +f 1285/1296/389 1290/1301/394 1286/1297/390 +f 1285/1296/389 1291/1302/395 1290/1301/394 +f 1292/1303/396 1293/1304/397 1294/1305/398 +f 1295/1306/399 1296/1307/400 1234/1245/382 +f 1297/1308/401 1233/1244/382 1236/1247/382 +f 1298/1309/402 1297/1308/401 1299/1310/382 +f 1299/1310/382 1300/1311/382 1298/1309/402 +f 1301/1312/403 1302/1313/404 1303/1314/405 +f 1304/1315/406 1305/1316/407 1306/1317/408 +f 1307/1318/409 1308/1319/410 1309/1320/411 +f 1310/1321/412 1311/1322/413 1312/1323/414 +f 1230/1241/381 1313/1324/415 1237/1248/381 +f 1232/1243/381 1314/1325/416 1315/1326/381 +f 1315/1326/381 1316/1327/417 1317/1328/381 +f 1292/1303/396 1318/1329/418 1293/1304/397 +f 1293/1304/397 1319/1330/419 1294/1305/398 +f 1294/1305/398 1319/1330/419 1320/1331/420 +f 1321/1332/421 1322/1333/422 1323/1334/423 +f 1297/1308/401 1324/1335/382 1233/1244/382 +f 1296/1307/400 1235/1246/382 1234/1245/382 +f 1297/1308/401 1236/1247/382 1299/1310/382 +f 1300/1311/382 1325/1336/424 1298/1309/402 +f 1302/1313/404 1326/1337/425 1303/1314/405 +f 1302/1313/404 1306/1317/408 1326/1337/425 +f 1305/1316/407 1326/1337/425 1306/1317/408 +f 1304/1315/406 1309/1320/411 1305/1316/407 +f 1308/1319/410 1305/1316/407 1309/1320/411 +f 1311/1322/413 1327/1338/426 1312/1323/414 +f 1328/1339/427 1317/1328/381 1329/1340/428 +f 1231/1242/381 1314/1325/416 1232/1243/381 +f 1313/1324/415 1330/1341/429 1237/1248/381 +f 1314/1325/416 1316/1327/417 1315/1326/381 +f 1316/1327/417 1329/1340/428 1317/1328/381 +f 1288/1299/392 1331/1342/430 1289/1300/393 +f 1332/1343/431 1333/1344/432 1334/1345/433 +f 1335/1346/434 1292/1303/396 1316/1327/417 +f 1336/1347/435 1337/1348/436 1338/1349/437 +f 1337/1348/436 1332/1343/431 1339/1350/438 +f 1340/1351/439 1341/1352/440 1342/1353/441 +f 1343/1354/442 1344/1355/443 1345/1356/444 +f 1343/1354/442 1346/1357/382 1347/1358/382 +f 1330/1341/429 1313/1324/415 1348/1359/407 +f 1349/1360/445 1350/1361/446 1351/1362/447 +f 1352/1363/448 1351/1362/447 1350/1361/446 +f 1353/1364/449 1354/1365/450 1355/1366/451 +f 1354/1365/450 1356/1367/452 1357/1368/453 +f 1356/1367/452 1358/1369/454 1359/1370/455 +f 1358/1369/454 1360/1371/456 1361/1372/457 +f 1360/1371/456 1362/1373/458 1363/1374/459 +f 1328/1339/427 1329/1340/428 1364/1375/412 +f 1365/1376/460 1366/1377/461 1367/1378/462 +f 1365/1376/460 1368/1379/463 1369/1380/464 +f 1368/1379/463 1370/1381/465 1371/1382/466 +f 1287/1298/391 1372/1383/467 1288/1299/392 +f 1373/1384/468 1340/1351/439 1374/1385/469 +f 1374/1385/469 1375/1386/470 1376/1387/471 +f 1377/1388/472 1378/1389/473 1379/1390/474 +f 1340/1351/439 1380/1391/475 1374/1385/469 +f 1378/1389/473 1381/1392/476 1379/1390/474 +f 1380/1391/475 1342/1353/441 1372/1383/467 +f 1382/1393/477 1383/1394/478 1377/1388/472 +f 1333/1344/432 1384/1395/479 1385/1396/480 +f 1380/1391/475 1340/1351/439 1342/1353/441 +f 1339/1350/438 1332/1343/431 1334/1345/433 +f 1287/1298/391 1380/1391/475 1372/1383/467 +f 1374/1385/469 1380/1391/475 1375/1386/470 +f 1375/1386/470 1386/1397/481 1376/1387/471 +f 1379/1390/474 1382/1393/477 1377/1388/472 +f 1387/1398/482 1388/1399/483 1367/1378/462 +f 1389/1400/484 1390/1401/485 1391/1402/486 +f 1392/1403/487 1393/1404/488 1394/1405/486 +f 1395/1406/489 1396/1407/490 1397/1408/491 +f 1398/1409/492 1390/1401/485 1399/1410/493 +f 1399/1410/493 1389/1400/484 1400/1411/494 +f 1376/1387/471 1386/1397/481 1401/1412/495 +f 1402/1413/496 1403/1414/497 1404/1415/498 +f 1405/1416/499 1395/1406/489 1406/1417/500 +f 1390/1401/485 1389/1400/484 1399/1410/493 +f 1389/1400/484 1407/1418/501 1400/1411/494 +f 1389/1400/484 1391/1402/486 1408/1419/481 +f 1403/1414/497 1394/1405/486 1404/1415/498 +f 1395/1406/489 1397/1408/491 1406/1417/500 +f 1405/1416/499 1406/1417/500 1409/1420/502 +f 1291/1302/395 1410/1421/503 1411/1422/504 +f 1334/1345/433 1333/1344/432 1385/1396/480 +f 1412/1423/505 1297/1308/401 1298/1309/402 +f 1413/1424/435 1414/1425/435 1415/1426/437 +f 1416/1427/506 1415/1426/437 1417/1428/438 +f 1418/1429/507 1345/1356/444 1419/1430/508 +f 1420/1431/509 1421/1432/510 1419/1430/508 +f 1420/1431/509 1422/1433/511 1423/1434/381 +f 1295/1306/399 1424/1435/405 1425/1436/425 +f 1426/1437/512 1427/1438/513 1428/1439/514 +f 1429/1440/515 1430/1441/516 1431/1442/517 +f 1432/1443/518 1433/1444/519 1434/1445/520 +f 1435/1446/521 1434/1445/520 1436/1447/522 +f 1437/1448/523 1436/1447/522 1438/1449/524 +f 1439/1450/525 1438/1449/524 1440/1451/526 +f 1441/1452/527 1440/1451/526 1442/1453/528 +f 1443/1454/529 1444/1455/530 1445/1456/413 +f 1385/1396/480 1384/1395/479 1446/1457/502 +f 1447/1458/531 1387/1398/482 1448/1459/532 +f 1447/1458/531 1449/1460/533 1450/1461/534 +f 1451/1462/535 1450/1461/534 1452/1463/536 +f 1400/1411/494 1407/1418/501 1411/1422/504 +f 1390/1401/485 1453/1464/537 1391/1402/486 +f 1386/1397/481 1454/1465/538 1401/1412/495 +f 1393/1404/488 1404/1415/498 1394/1405/486 +f 1396/1407/490 1417/1428/438 1397/1408/491 +f 1249/1260/384 1248/1259/384 1251/1262/384 +f 1312/1323/414 1327/1338/426 1305/1316/407 +f 1455/1466/539 1456/1467/539 1321/1332/421 +f 1457/1468/540 1458/1469/540 1459/1470/541 +f 1322/1333/422 1459/1470/541 1323/1334/423 +f 1411/1422/504 1407/1418/501 1291/1302/395 +f 1300/1311/382 1443/1454/529 1325/1336/424 +f 1327/1338/426 1326/1337/425 1305/1316/407 +f 1231/1242/381 1460/1471/381 1314/1325/416 +f 1407/1418/501 1290/1301/394 1291/1302/395 +f 1289/1300/393 1286/1297/390 1288/1299/392 +f 1314/1325/416 1335/1346/434 1316/1327/417 +f 1461/1472/435 1336/1347/435 1338/1349/437 +f 1338/1349/437 1337/1348/436 1339/1350/438 +f 1418/1429/507 1343/1354/442 1345/1356/444 +f 1344/1355/443 1343/1354/442 1347/1358/382 +f 1462/1473/410 1330/1341/429 1348/1359/407 +f 1463/1474/542 1349/1360/445 1351/1362/447 +f 1464/1475/543 1352/1363/448 1350/1361/446 +f 1465/1476/544 1353/1364/449 1355/1366/451 +f 1355/1366/451 1354/1365/450 1357/1368/453 +f 1357/1368/453 1356/1367/452 1359/1370/455 +f 1359/1370/455 1358/1369/454 1361/1372/457 +f 1361/1372/457 1360/1371/456 1363/1374/459 +f 1466/1477/545 1328/1339/427 1364/1375/412 +f 1388/1399/483 1365/1376/460 1367/1378/462 +f 1366/1377/461 1365/1376/460 1369/1380/464 +f 1369/1380/464 1368/1379/463 1371/1382/466 +f 1448/1459/532 1387/1398/482 1367/1378/462 +f 1294/1305/398 1412/1423/505 1298/1309/402 +f 1416/1427/506 1413/1424/435 1415/1426/437 +f 1396/1407/490 1416/1427/506 1417/1428/438 +f 1421/1432/510 1418/1429/507 1419/1430/508 +f 1422/1433/511 1420/1431/509 1419/1430/508 +f 1467/1478/381 1420/1431/509 1423/1434/381 +f 1296/1307/400 1295/1306/399 1425/1436/425 +f 1431/1442/517 1426/1437/512 1428/1439/514 +f 1428/1439/514 1429/1440/515 1431/1442/517 +f 1435/1446/521 1432/1443/518 1434/1445/520 +f 1437/1448/523 1435/1446/521 1436/1447/522 +f 1439/1450/525 1437/1448/523 1438/1449/524 +f 1441/1452/527 1439/1450/525 1440/1451/526 +f 1468/1479/546 1441/1452/527 1442/1453/528 +f 1325/1336/424 1443/1454/529 1445/1456/413 +f 1449/1460/533 1447/1458/531 1448/1459/532 +f 1451/1462/535 1447/1458/531 1450/1461/534 +f 1469/1480/547 1451/1462/535 1452/1463/536 +f 1323/1334/423 1455/1466/539 1321/1332/421 +f 1322/1333/422 1457/1468/540 1459/1470/541 +f 1294/1305/398 1320/1331/420 1470/1481/548 +f 1294/1305/398 1470/1481/548 1412/1423/505 +f 1292/1303/396 1335/1346/434 1471/1482/548 +f 1292/1303/396 1471/1482/548 1318/1329/418 o lower_pistol_0 v 1.709833 6.807340 5.318413 v 1.709833 6.807340 5.149458 v 1.965886 6.807340 5.149458 v 1.363295 6.807340 7.165412 v 1.363295 6.807340 5.318413 -v 1.882584 6.807340 5.848534 -v 2.253843 6.902664 -4.747440 +v 1.882584 6.807340 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.747440 +v 2.253843 6.902664 -4.747439 v 2.253843 7.162437 -4.697546 v 1.924818 6.930664 -2.831019 v 1.592578 6.930664 -2.831019 v 1.592578 7.603653 -2.269642 v 1.592578 6.534985 -3.056432 -v 1.592578 6.902664 -4.747440 +v 1.592578 6.902664 -4.747439 v 1.924818 6.125614 -1.931486 -v 1.592578 6.902664 -4.747440 +v 1.592578 6.902664 -4.747439 v 1.592578 7.162437 -4.697546 v 2.253843 7.162437 -4.697546 v 2.253843 7.603653 -2.269642 @@ -36,7 +4730,7 @@ v 2.253843 7.603653 -2.269642 v 1.592578 7.603653 -2.269642 v 1.592578 6.966193 -1.398447 v 1.592578 7.162437 -4.697546 -v 1.592578 6.902664 -4.747440 +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.162437 -4.697546 @@ -53,32 +4747,32 @@ v 1.709833 7.118922 5.318413 v 1.363295 7.118922 5.318413 v 1.363295 6.807340 7.165412 v 1.363295 7.118922 10.804636 -v 1.363295 6.201984 10.638463 +v 1.363295 6.201983 10.638463 v 1.363295 6.617640 11.001136 v 1.363295 7.118922 10.804636 v 1.882584 7.118922 7.165412 v 1.363295 7.118922 5.318413 v 2.249606 7.118922 10.804636 v 2.249606 7.118922 7.165412 -v 1.709833 7.483091 5.848534 -v 1.709833 7.483091 5.848534 -v 1.882584 7.118922 5.848534 -v 1.965886 7.483091 5.848534 +v 1.709833 7.483090 5.848535 +v 1.709833 7.483090 5.848535 +v 1.882584 7.118922 5.848535 +v 1.965886 7.483090 5.848535 v 2.249606 7.118922 10.804636 v 2.249606 6.617640 11.001136 -v 2.249606 6.201984 10.638463 +v 2.249606 6.201983 10.638463 v 2.249606 7.118922 7.165412 v 1.363295 6.915576 11.004508 v 1.363295 6.411723 10.933466 -v 1.709833 7.118922 5.848534 -v 1.709833 7.118922 5.848534 -v 1.882584 6.807340 5.848534 -v 1.965886 6.807340 5.848534 +v 1.709833 7.118922 5.848535 +v 1.709833 7.118922 5.848535 +v 1.882584 6.807340 5.848535 +v 1.965886 6.807340 5.848535 v 2.249606 6.411723 10.933466 v 2.249606 6.807340 7.165412 v 2.249606 6.807340 7.165412 -v 2.249606 6.201984 10.638463 -v 1.363295 6.201984 10.638463 +v 2.249606 6.201983 10.638463 +v 1.363295 6.201983 10.638463 v 1.363295 6.915576 11.004508 v 2.249606 6.915576 11.004508 v 1.363295 6.617640 11.001136 @@ -95,96 +4789,96 @@ v 1.709833 7.483092 5.149458 v 1.965886 7.483092 5.149458 v 1.965886 7.483092 5.149458 v 1.709833 7.483092 5.149458 -v 1.709833 7.483091 5.848534 +v 1.709833 7.483090 5.848535 v 1.965886 6.807340 5.149458 v 1.965886 7.483092 5.149458 -v 1.965886 7.483091 5.848534 -v 1.882584 6.807340 5.848534 -v 1.882584 7.118922 5.848534 +v 1.965886 7.483090 5.848535 +v 1.882584 6.807340 5.848535 +v 1.882584 7.118922 5.848535 v 1.882584 7.118922 7.165412 v 1.882584 6.807340 7.165412 v 1.882584 7.118922 7.165412 v 2.249606 7.118922 7.165412 v 1.363295 6.807340 5.318413 -v 1.882584 7.118922 5.848534 +v 1.882584 7.118922 5.848535 v 1.709833 6.807340 5.318413 -v 1.709833 7.118922 5.848534 +v 1.709833 7.118922 5.848535 v 2.249606 6.915576 11.004508 v 0.741864 8.870750 5.649786 v 0.685393 8.586851 5.649786 -v 0.685393 8.586850 22.443676 +v 0.685393 8.586849 22.443676 v -1.051055 4.245723 5.289183 -v -1.051055 4.815592 5.698347 +v -1.051055 4.815591 5.698347 v -1.582758 4.978194 4.997455 v -1.051055 0.126897 9.525374 v -1.051055 0.126897 6.278877 v -1.051055 -0.223472 3.408138 -v -1.051055 5.194826 19.361946 -v -1.051055 4.834129 12.349441 -v -1.051055 4.834129 19.361946 +v -1.051055 5.194825 19.361946 +v -1.051055 4.834128 12.349441 +v -1.051055 4.834128 19.361946 v -1.582758 5.194827 5.282278 -v -1.373788 7.218983 19.361946 -v -1.373788 6.342138 19.361946 -v -0.857694 7.218983 19.361946 -v -1.051055 5.194826 19.361946 -v -0.857694 5.453606 19.361946 -v -1.373788 5.534110 19.361946 +v -1.373788 7.218982 19.361946 +v -1.373788 6.342137 19.361946 +v -0.857694 7.218982 19.361946 +v -1.051055 5.194825 19.361946 +v -0.857694 5.453605 19.361946 +v -1.373788 5.534109 19.361946 v 0.741864 8.870749 22.443676 -v 0.685393 8.586850 22.443676 -v 0.912610 8.492734 22.443676 +v 0.685393 8.586849 22.443676 +v 0.912610 8.492733 22.443676 v 0.987802 8.870749 22.443676 -v 0.912610 8.492734 22.443676 +v 0.912610 8.492733 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.346172 22.443676 -v 0.524577 8.346172 22.443676 -v 0.698482 8.172268 22.443676 -v 0.698482 8.172268 22.443676 +v 0.524577 8.346171 22.443676 +v 0.524577 8.346171 22.443676 +v 0.698482 8.172267 22.443676 +v 0.698482 8.172267 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.185356 22.443676 -v 0.283899 8.185356 22.443676 -v 0.378015 7.958139 22.443676 -v 0.378015 7.958139 22.443676 -v 0.378015 7.958139 5.649786 -v 0.378015 7.958139 5.649786 +v 0.283899 8.185355 22.443676 +v 0.283899 8.185355 22.443676 +v 0.378015 7.958138 22.443676 +v 0.378015 7.958138 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.128885 22.443676 -v 0.000000 8.128885 22.443676 -v 0.000000 7.882947 22.443676 -v 0.000000 7.882947 22.443676 -v 0.000000 7.882947 5.649786 -v 0.000000 7.882947 5.649786 +v 0.000000 8.128884 22.443676 +v 0.000000 8.128884 22.443676 +v 0.000000 7.882946 22.443676 +v 0.000000 7.882946 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.185356 22.443676 -v -0.283899 8.185356 22.443676 -v -0.378015 7.958139 22.443676 -v 0.000000 7.882947 22.443676 -v -0.378015 7.958139 22.443676 -v -0.378015 7.958139 5.649786 -v -0.378015 7.958139 5.649786 +v -0.283899 8.185355 22.443676 +v -0.283899 8.185355 22.443676 +v -0.378015 7.958138 22.443676 +v 0.000000 7.882946 22.443676 +v -0.378015 7.958138 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.346172 22.443676 -v -0.524577 8.346172 22.443676 -v -0.698482 8.172268 22.443676 -v -0.698482 8.172268 22.443676 +v -0.524577 8.346171 22.443676 +v -0.524577 8.346171 22.443676 +v -0.698482 8.172267 22.443676 +v -0.698482 8.172267 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.586850 22.443676 -v -0.685393 8.586850 22.443676 -v -0.912610 8.492734 22.443676 -v -0.912610 8.492734 22.443676 +v -0.685393 8.586849 22.443676 +v -0.685393 8.586849 22.443676 +v -0.912610 8.492733 22.443676 +v -0.912610 8.492733 22.443676 v -0.912610 8.492735 5.649786 v -0.912610 8.492735 5.649786 v -0.685393 8.586851 5.649786 @@ -197,58 +4891,58 @@ 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.154649 22.443676 -v -0.685393 9.154649 22.443676 -v -0.912610 9.248765 22.443676 -v -0.912610 9.248765 22.443676 +v -0.685393 9.154648 22.443676 +v -0.685393 9.154648 22.443676 +v -0.912610 9.248764 22.443676 +v -0.912610 9.248764 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.395327 22.443676 -v -0.524577 9.395327 22.443676 -v -0.698482 9.569231 22.443676 -v -0.698482 9.569231 22.443676 +v -0.524577 9.395326 22.443676 +v -0.524577 9.395326 22.443676 +v -0.698482 9.569230 22.443676 +v -0.698482 9.569230 22.443676 v -0.698482 9.569232 5.649786 v -0.698482 9.569232 5.649786 v -0.524577 9.395328 5.649786 v -0.283899 9.556144 5.649786 -v -0.283899 9.556143 22.443676 -v -0.283899 9.556143 22.443676 -v -0.378015 9.783359 22.443676 -v -0.378015 9.783359 22.443676 +v -0.283899 9.556142 22.443676 +v -0.283899 9.556142 22.443676 +v -0.378015 9.783358 22.443676 +v -0.378015 9.783358 22.443676 v -0.378015 9.783360 5.649786 v -0.378015 9.783360 5.649786 v -0.283899 9.556144 5.649786 v 0.000000 9.612615 5.649786 -v 0.000000 9.612614 22.443676 -v 0.000000 9.612614 22.443676 -v 0.000000 9.858551 22.443676 -v 0.000000 9.858551 22.443676 +v 0.000000 9.612613 22.443676 +v 0.000000 9.612613 22.443676 +v 0.000000 9.858550 22.443676 +v 0.000000 9.858550 22.443676 v 0.000000 9.858552 5.649786 v 0.000000 9.858552 5.649786 v 0.000000 9.612615 5.649786 v 0.283899 9.556144 5.649786 -v 0.283899 9.556143 22.443676 -v 0.283899 9.556143 22.443676 -v 0.378015 9.783359 22.443676 -v 0.378015 9.783359 22.443676 +v 0.283899 9.556142 22.443676 +v 0.283899 9.556142 22.443676 +v 0.378015 9.783358 22.443676 +v 0.378015 9.783358 22.443676 v 0.378015 9.783360 5.649786 v 0.378015 9.783360 5.649786 v 0.283899 9.556144 5.649786 v 0.524577 9.395328 5.649786 -v 0.524577 9.395327 22.443676 -v 0.524577 9.395327 22.443676 -v 0.698482 9.569231 22.443676 -v 0.698482 9.569231 22.443676 +v 0.524577 9.395326 22.443676 +v 0.524577 9.395326 22.443676 +v 0.698482 9.569230 22.443676 +v 0.698482 9.569230 22.443676 v 0.698482 9.569232 5.649786 v 0.698482 9.569232 5.649786 v 0.524577 9.395328 5.649786 v 0.685393 9.154650 5.649786 -v 0.685393 9.154649 22.443676 -v 0.685393 9.154649 22.443676 -v 0.912610 9.248765 22.443676 -v 0.912610 9.248765 22.443676 +v 0.685393 9.154648 22.443676 +v 0.685393 9.154648 22.443676 +v 0.912610 9.248764 22.443676 +v 0.912610 9.248764 22.443676 v 0.912610 9.248766 5.649786 v 0.912610 9.248766 5.649786 v 0.685393 9.154650 5.649786 @@ -359,8 +5053,8 @@ 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.875544 -4.913877 -v -1.803499 -6.096515 -4.976788 -v -2.130997 -6.177512 -4.485743 +v -1.803499 -6.096515 -4.976789 +v -2.130997 -6.177512 -4.485744 v -1.550631 -5.813593 -4.933243 v -1.550631 -6.027862 -4.968081 v -1.839455 4.411472 -0.653382 @@ -407,11 +5101,11 @@ v -2.176766 -7.604493 -1.548246 v -2.174624 4.663060 0.053574 v -2.163947 6.294227 -0.887580 v -2.176857 6.557230 -0.328893 -v -1.803505 6.986403 4.265715 +v -1.803505 6.986403 4.265716 v -2.129669 6.678270 3.948849 -v -1.550631 7.011675 4.277202 -v -1.803498 6.146345 4.785963 -v -1.550631 5.888644 4.797829 +v -1.550631 7.011675 4.277203 +v -1.803498 6.146345 4.785964 +v -1.550631 5.888644 4.797830 v -1.550631 6.141139 4.807182 v -1.803494 -8.338592 -1.148253 v -2.121051 -7.647707 -1.285315 @@ -540,10 +5234,10 @@ v -1.702916 6.582519 -2.275468 v 1.979996 6.582519 -2.275468 v -1.425465 5.714319 12.324278 v -1.425465 5.534111 12.470450 -v -1.425465 6.342138 12.470450 +v -1.425465 6.342137 12.470450 v 1.979996 6.582519 -2.275468 v -1.702916 6.727209 -2.215535 -v -1.373788 5.534110 19.361946 +v -1.373788 5.534109 19.361946 v -1.702916 6.727209 -2.215535 v 1.979996 6.727209 -2.215535 v 1.979996 6.727209 -2.215535 @@ -551,47 +5245,47 @@ v -1.425465 5.714319 12.324278 v -1.425465 6.129148 12.324278 v -1.582758 6.173631 12.234967 v -1.425465 5.534111 12.470450 -v -1.582758 5.657322 12.234967 +v -1.582758 5.657321 12.234967 v 1.979996 6.787141 -2.070845 v 0.000000 6.215098 -5.421183 -v -1.582758 6.749187 -4.912820 -v 1.582758 6.749187 -4.912820 -v 1.488590 5.921739 -5.685919 -v 0.000000 6.031166 -5.736894 +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.736894 v -1.582758 5.957942 -5.266877 -v -1.582758 5.870734 -4.399593 -v -1.582758 6.749187 -4.912820 +v -1.582758 5.870734 -4.399592 +v -1.582758 6.749187 -4.912819 v 1.582758 5.957942 -5.266877 -v 1.582758 6.154639 -5.365935 -v 1.582758 6.749187 -4.912820 -v 1.582758 5.848901 -5.238700 -v 1.582758 5.870734 -4.399593 +v 1.582758 6.154639 -5.365934 +v 1.582758 6.749187 -4.912819 +v 1.582758 5.848901 -5.238699 +v 1.582758 5.870734 -4.399592 v 0.983988 5.324528 -5.327059 -v -1.425465 6.342138 12.470450 -v -1.582758 6.342138 12.374792 -v -1.582758 5.848901 -5.238700 -v -1.484238 5.789522 -5.649559 +v -1.425465 6.342137 12.470450 +v -1.582758 6.342137 12.374792 +v -1.582758 5.848901 -5.238699 +v -1.484238 5.789523 -5.649559 v -0.983988 5.324528 -5.327059 -v 1.488590 5.921739 -5.685919 -v -1.425465 6.342138 12.470450 -v -1.373788 6.342138 19.361946 -v -1.582758 6.342138 18.331852 +v 1.488590 5.921740 -5.685918 +v -1.425465 6.342137 12.470450 +v -1.373788 6.342137 19.361946 +v -1.582758 6.342137 18.331852 v -1.051055 0.805342 10.660654 v -1.051055 0.446518 11.231197 v -1.051055 3.374604 10.660654 -v -1.051055 -0.223473 11.574593 +v -1.051055 -0.223474 11.574593 v -1.051055 0.200441 10.158533 v -0.836559 7.218984 0.486124 v -1.148529 7.218984 0.843372 -v -1.148529 -7.632973 -5.164885 -v -1.092400 5.576505 -6.393808 -v -1.582758 6.342138 18.331852 -v -1.582758 7.218983 18.331852 -v -1.582758 6.342138 12.374792 +v -1.148529 -7.632973 -5.164886 +v -1.092400 5.576506 -6.393807 +v -1.582758 6.342137 18.331852 +v -1.582758 7.218982 18.331852 +v -1.582758 6.342137 12.374792 v -1.051055 5.194827 6.202400 -v -1.051055 5.194826 19.361946 -v -1.582758 5.194826 18.331852 -v -1.373788 5.194826 19.361946 +v -1.051055 5.194825 19.361946 +v -1.582758 5.194825 18.331852 +v -1.373788 5.194825 19.361946 v -0.580398 3.816195 5.489355 v -0.580398 5.143752 5.307025 v -0.580398 4.250057 5.891657 @@ -601,12 +5295,12 @@ v -0.580398 4.410827 6.286258 v -0.580398 4.410827 8.504850 v -1.051055 4.410827 9.595867 v -1.582758 7.218984 -4.804955 -v -0.843982 7.218984 5.409399 +v -0.843982 7.218984 5.409400 v -1.148529 7.218984 4.965837 -v -0.957142 7.218984 5.409399 -v -1.582758 7.218984 5.409399 -v -1.582758 7.218984 5.409399 -v -1.582758 7.218983 18.331852 +v -0.957142 7.218984 5.409400 +v -1.582758 7.218984 5.409400 +v -1.582758 7.218984 5.409400 +v -1.582758 7.218982 18.331852 v -0.857694 7.218984 12.938878 v -1.213076 8.145895 -1.953275 v -0.692288 8.145895 -1.953275 @@ -618,15 +5312,15 @@ v -1.213076 7.218984 -1.953275 v -1.213076 7.218984 -1.953275 v -0.836559 7.218984 0.486124 v -0.397424 7.218984 -1.953275 -v -0.843982 7.218984 5.409399 -v -0.957142 7.218984 5.409399 -v -0.957142 7.863287 5.710876 -v -1.488590 5.921739 -5.685919 -v -1.582758 6.154639 -5.365935 +v -0.843982 7.218984 5.409400 +v -0.957142 7.218984 5.409400 +v -0.957142 7.863286 5.710876 +v -1.488590 5.921740 -5.685918 +v -1.582758 6.154639 -5.365934 v -1.582758 5.957942 -5.266877 -v -1.488590 5.921739 -5.685919 +v -1.488590 5.921740 -5.685918 v 1.582758 5.957942 -5.266877 -v 1.484238 5.789522 -5.649559 +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 @@ -649,47 +5343,47 @@ v -1.582758 0.955821 2.788985 v -1.582758 1.087353 2.951361 v -1.582758 7.218984 0.532610 v -0.443586 5.533404 -6.767138 -v -0.528251 5.631947 -6.753191 -v 0.000000 5.631947 -6.801856 -v 1.239158 -6.459403 -6.210183 +v -0.528251 5.631948 -6.753191 +v 0.000000 5.631948 -6.801856 +v 1.239158 -6.459403 -6.210184 v 1.239158 -6.716357 -6.316617 v 1.239158 -5.908380 -6.182570 -v -1.239158 -6.459403 -6.210183 +v -1.239158 -6.459403 -6.210184 v -1.239158 -6.352968 -5.953228 v -1.239158 -5.908380 -6.182570 v 1.239158 -7.503078 -5.592237 -v 1.239158 -6.973311 -5.696272 +v 1.239158 -6.973310 -5.696272 v 1.239158 -6.751891 -5.355608 v 1.239158 -7.188473 -6.627295 -v 1.239158 -7.079745 -5.953228 +v 1.239158 -7.079744 -5.953228 v 1.239158 -6.352968 -5.953228 -v 1.239158 -6.111136 -5.821549 +v 1.239158 -6.111135 -5.821549 v 1.239158 -6.459403 -5.696272 v 1.239158 -6.353005 -5.417203 v 1.239158 -6.716357 -5.589839 v -1.239158 -7.503078 -5.592237 -v -1.239158 -7.079745 -5.953228 +v -1.239158 -7.079744 -5.953228 v -1.239158 -7.188473 -6.627295 v -1.239158 -6.716357 -5.589839 -v -1.239158 -6.973311 -5.696272 +v -1.239158 -6.973310 -5.696272 v -1.239158 -6.751891 -5.355608 v -1.239158 -6.459403 -5.696272 v -1.239158 -6.353005 -5.417203 -v -1.239158 -6.111136 -5.821549 +v -1.239158 -6.111135 -5.821549 v -1.239158 -6.716357 -6.316617 -v 1.239158 -6.973311 -6.210183 -v -1.239158 -6.973311 -6.210183 +v 1.239158 -6.973310 -6.210184 +v -1.239158 -6.973310 -6.210184 v -1.148529 7.218984 0.843372 v -1.582758 -8.611731 0.338328 v -1.582758 -7.606416 0.140500 v -1.539709 -9.237019 0.112444 v -1.582758 -6.783546 -5.235445 -v -1.582758 -7.547009 -5.447708 +v -1.582758 -7.547009 -5.447709 v -1.582758 -6.272798 -5.294007 v -1.582758 -6.767919 0.122678 v -1.582758 -5.973763 -5.781600 v -1.582758 -3.887019 -5.026797 -v 0.000000 5.385466 -6.635780 +v 0.000000 5.385467 -6.635780 v 0.000000 5.533404 -6.815803 v -0.957142 7.218984 7.609767 v -1.582758 7.218984 -4.804955 @@ -697,13 +5391,13 @@ 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.953275 -v -1.213076 9.430100 -4.335177 +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.705916 -3.303000 v -0.974568 4.768444 -3.230170 -v -1.113677 5.685023 -6.433601 -v -1.488590 5.921739 -5.685919 +v -1.113677 5.685023 -6.433600 +v -1.488590 5.921740 -5.685918 v -1.582758 5.705916 -3.303000 v -1.582758 7.218984 -4.804955 v -1.213076 7.218984 -4.804955 @@ -712,11 +5406,11 @@ v -0.702042 8.145895 -4.804955 v -0.419459 8.845671 -4.804955 v -1.239158 -7.188473 -6.627295 v -1.239158 -5.908380 -6.182570 -v -0.974568 -7.096977 -6.928316 +v -0.974568 -7.096977 -6.928317 v -1.239158 -5.908380 -6.182570 -v -1.239158 -6.111136 -5.821549 +v -1.239158 -6.111135 -5.821549 v -1.582758 -5.973763 -5.781600 -v -1.582758 -7.547009 -5.447708 +v -1.582758 -7.547009 -5.447709 v -1.582758 -6.783546 -5.235445 v -1.239158 -6.751891 -5.355608 v -1.582758 -6.272798 -5.294007 @@ -731,8 +5425,8 @@ v 1.879857 2.017154 3.056580 v 1.803483 -8.183756 -0.940654 v 2.068853 1.609260 2.541311 v 2.137654 1.534970 2.385706 -v 1.803499 -6.096515 -4.976788 -v 2.130997 -6.177512 -4.485743 +v 1.803499 -6.096515 -4.976789 +v 2.130997 -6.177512 -4.485744 v 2.121354 -6.703000 -4.498363 v 1.550631 -7.022314 -4.915743 v 1.550631 -6.027862 -4.968081 @@ -762,10 +5456,10 @@ v 2.174624 4.663060 0.053574 v 2.119612 -7.822574 -1.480976 v 2.176766 -7.604493 -1.548246 v 2.121051 -7.647707 -1.285315 -v 1.803505 -7.014567 -4.882655 +v 1.803505 -7.014567 -4.882656 v 2.137789 6.702975 -0.434405 v 1.550631 4.418573 -0.651555 -v 1.550631 5.888644 4.797829 +v 1.550631 5.888644 4.797830 v 1.550631 -8.207280 -0.940181 v 2.163024 4.259209 -0.066218 v 2.172835 -7.439816 -1.372818 @@ -777,9 +5471,9 @@ 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.400963 -6.289593 -v -1.373788 7.218983 19.361946 -v -0.857694 7.218983 19.361946 -v 1.092400 5.576505 -6.393808 +v -1.373788 7.218982 19.361946 +v -0.857694 7.218982 19.361946 +v 1.092400 5.576506 -6.393807 v 0.443586 5.533404 -6.767138 v 0.823032 5.400963 -6.289593 v 0.403942 7.218984 -4.804955 @@ -787,7 +5481,7 @@ v 1.213076 7.218984 -4.804955 v 0.974568 5.132455 -4.066989 v 1.213076 8.145895 -4.804955 v 1.213076 8.845671 -4.804955 -v 1.213076 9.430100 -4.335177 +v 1.213076 9.430100 -4.335176 v 0.703050 7.624437 -4.804955 v 0.708688 7.624437 -1.953275 v 1.213076 7.624437 -1.953275 @@ -800,14 +5494,14 @@ v 0.692288 8.145895 -1.953275 v 0.692288 8.145895 -1.953275 v 0.702042 8.145895 -4.804955 v 1.213076 8.145895 -4.804955 -v 1.213076 9.430100 -4.335177 -v 0.450662 9.430100 -4.335177 +v 1.213076 9.430100 -4.335176 +v 0.450662 9.430100 -4.335176 v 0.427195 9.430100 -1.953275 v 1.582758 7.218984 -4.804955 -v 0.528251 5.631947 -6.753191 -v 0.000000 5.631947 -6.801856 -v 1.113677 5.685023 -6.433601 -v 1.582758 6.154639 -5.365935 +v 0.528251 5.631948 -6.753191 +v 0.000000 5.631948 -6.801856 +v 1.113677 5.685023 -6.433600 +v 1.582758 6.154639 -5.365934 v -0.403942 7.218984 -4.804955 v 1.213076 7.218984 -1.953275 v 1.582758 7.218984 -4.804955 @@ -818,46 +5512,46 @@ v 1.213076 7.624437 -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.335177 -v 1.213076 9.430100 -4.335177 +v 0.450662 9.430100 -4.335176 +v 1.213076 9.430100 -4.335176 v 0.836559 7.218984 0.486124 v 0.397424 7.218984 -1.953275 -v -1.582758 6.154639 -5.365935 +v -1.582758 6.154639 -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.705916 -3.303000 v 1.582758 7.218984 0.532610 v 1.582758 4.978194 4.997455 -v 1.582758 7.218984 5.409399 +v 1.582758 7.218984 5.409400 v 1.582758 6.173631 12.234967 v 1.582758 5.194827 5.282278 -v 1.582758 5.194826 18.331852 +v 1.582758 5.194825 18.331852 v 1.582758 5.534111 12.374792 v 1.582758 4.316335 -1.880566 v 1.582758 7.218984 -4.804955 -v 1.582758 6.342138 12.374792 -v 1.582758 5.657322 12.234967 -v 1.582758 7.218983 18.331852 -v 1.582758 7.218984 5.409399 +v 1.582758 6.342137 12.374792 +v 1.582758 5.657321 12.234967 +v 1.582758 7.218982 18.331852 +v 1.582758 7.218984 5.409400 v 0.857694 7.218984 12.938878 v 1.148529 7.218984 4.965837 -v 0.957142 7.218984 5.409399 -v 0.857694 7.218983 19.361946 -v 1.373788 7.218983 19.361946 +v 0.957142 7.218984 5.409400 +v 0.857694 7.218982 19.361946 +v 1.373788 7.218982 19.361946 v 0.957142 7.218984 7.609767 v 1.148529 7.218984 0.843372 v 0.957142 7.218984 6.277361 -v 0.857694 5.453764 12.938878 -v 0.580191 5.127947 12.938878 -v 0.580398 5.127511 19.361946 +v 0.857694 5.453763 12.938878 +v 0.580191 5.127946 12.938878 +v 0.580398 5.127510 19.361946 v 0.857694 7.218984 12.938878 -v 0.857694 5.453606 19.361946 +v 0.857694 5.453605 19.361946 v -1.803494 -8.338592 -1.148253 v -1.803496 -7.249153 -4.729249 -v -1.550631 -7.254866 -4.756800 +v -1.550631 -7.254866 -4.756801 v -1.550631 -8.362582 -1.129572 -v -1.803505 -7.014567 -4.882655 +v -1.803505 -7.014567 -4.882656 v -1.803500 7.103070 4.086896 v -1.550631 7.159328 -0.581056 v -1.839455 4.411472 -0.653382 @@ -901,24 +5595,24 @@ 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.325728 -v 1.803505 6.986403 4.265715 -v 1.803498 6.146345 4.785963 -v 1.550631 7.011675 4.277202 +v 1.803505 6.986403 4.265716 +v 1.803498 6.146345 4.785964 +v 1.550631 7.011675 4.277203 v 1.550631 6.141139 4.807182 v 1.803494 -8.338592 -1.148253 v 1.550631 -8.362582 -1.129572 v 1.803494 -8.338592 -1.148253 v 1.803496 -7.249153 -4.729249 -v 1.550631 -7.254866 -4.756800 +v 1.550631 -7.254866 -4.756801 v 1.550631 7.159328 -0.581056 v 1.550631 7.128137 4.054968 v -1.239158 -6.353005 -5.417203 -v -1.113677 5.685023 -6.433601 +v -1.113677 5.685023 -6.433600 v -1.582758 6.173631 12.234967 -v -1.582758 5.657322 12.234967 +v -1.582758 5.657321 12.234967 v -0.974568 4.193733 -2.693952 v -1.582758 4.316335 -1.880566 -v -1.582758 5.870734 -4.399593 +v -1.582758 5.870734 -4.399592 v -0.974568 5.132455 -4.066989 v -0.974568 2.986196 -2.567274 v -1.582758 2.997752 -1.677936 @@ -929,23 +5623,23 @@ v -1.582758 -3.887019 -5.026797 v -1.582758 -5.973763 -5.781600 v -0.427195 9.430100 -1.953275 v -0.397424 7.218984 -1.953275 -v -0.450662 9.430100 -4.335177 +v -0.450662 9.430100 -4.335176 v -0.580398 4.410827 6.286258 v -0.580398 5.143752 8.504850 v 0.403942 7.218984 -4.804955 v -0.580398 3.410160 5.307025 v 0.397424 7.218984 -1.953275 -v 0.450662 9.430100 -4.335177 +v 0.450662 9.430100 -4.335176 v 0.419459 8.845671 -4.804955 -v -0.857694 5.453764 12.938878 -v -0.857694 5.453606 19.361946 -v -0.580398 5.127511 19.361946 +v -0.857694 5.453763 12.938878 +v -0.857694 5.453605 19.361946 +v -0.580398 5.127510 19.361946 v -0.857694 7.218984 12.938878 -v -0.857694 7.218983 19.361946 -v -0.957142 7.863287 7.609767 -v -0.957142 7.218984 5.409399 +v -0.857694 7.218982 19.361946 +v -0.957142 7.863286 7.609767 +v -0.957142 7.218984 5.409400 v -0.957142 7.218984 6.277361 -v -0.957142 7.863287 5.710876 +v -0.957142 7.863286 5.710876 v -1.213076 8.845671 -4.804955 v -0.703050 7.624437 -4.804955 v -1.213076 7.624437 -4.804955 @@ -969,18 +5663,18 @@ v -0.692288 8.145895 -1.953275 v -1.213076 8.145895 -1.953275 v -1.213076 8.145895 -4.804955 v -1.052369 3.020580 5.130578 -v -1.582758 5.534110 18.331852 +v -1.582758 5.534109 18.331852 v -1.582758 5.534111 12.374792 -v -1.582758 5.194826 18.331852 +v -1.582758 5.194825 18.331852 v -1.051055 3.986079 11.231197 -v -1.213076 9.430100 -4.335177 +v -1.213076 9.430100 -4.335176 v -1.213076 9.430100 -1.953275 v -0.427195 9.430100 -1.953275 v -1.051055 4.197896 10.160744 v -1.051055 4.410827 9.595867 v -1.051055 5.194827 6.202400 v -1.051055 4.410827 6.286258 -v -1.051055 4.815592 5.698347 +v -1.051055 4.815591 5.698347 v -1.051055 4.250057 5.891657 v 1.051203 0.060934 3.592092 v 1.051055 -0.223472 3.408138 @@ -989,14 +5683,14 @@ v -1.051055 0.491167 10.501270 v -1.051055 3.846210 10.532600 v -1.051055 3.816076 5.489355 v -1.051055 0.303245 5.858099 -v -1.051055 0.145062 11.660562 +v -1.051055 0.145061 11.660562 v -0.403942 7.218984 -4.804955 v -0.419459 8.845671 -4.804955 -v -0.580398 5.127511 19.361946 +v -0.580398 5.127510 19.361946 v -1.213076 7.624437 -4.804955 v -1.213076 8.845671 -4.804955 -v -1.213076 9.430100 -4.335177 -v -0.528251 5.631947 -6.753191 +v -1.213076 9.430100 -4.335176 +v -0.528251 5.631948 -6.753191 v -1.051055 -7.663412 0.798394 v -1.051055 -6.827383 0.859532 v -1.051055 -9.408401 0.676293 @@ -1007,70 +5701,70 @@ v -1.051055 -6.827383 0.859532 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.834129 19.361946 +v -1.051055 4.834128 19.361946 v -1.582758 5.534111 12.374792 -v -1.582758 5.534110 18.331852 -v -1.373788 5.534110 19.361946 -v -1.373788 7.218983 19.361946 -v -1.373788 5.194826 19.361946 -v -0.372438 10.036927 5.890271 -v -0.372438 10.296735 5.890271 -v 0.372438 10.036927 5.890271 -v -0.570611 9.870735 5.890271 -v 0.570611 9.870735 5.890271 -v 0.667251 10.036927 5.890271 -v -0.667251 10.036927 5.890271 -v -0.372438 10.036927 5.890271 -v -0.667251 10.036927 5.890271 -v -0.666265 10.036926 11.908644 -v -1.159394 7.167400 5.890271 -v -1.159394 7.167400 11.908644 -v -1.159394 9.473120 11.908644 -v -1.018901 7.167400 11.908644 -v -1.018901 9.373808 11.908644 -v -1.159394 9.473120 11.908644 -v -1.018901 7.167400 5.890271 -v -1.159394 7.167400 5.890271 -v -1.159394 9.473121 5.890271 -v -0.570611 9.870734 11.908644 -v -0.666265 10.036926 11.908644 -v 1.018901 9.373809 5.890271 -v 1.018901 7.167400 5.890271 -v 1.018901 7.167400 11.908644 -v 1.018901 9.373808 11.908644 -v 0.570611 9.870734 11.908644 +v -1.582758 5.534109 18.331852 +v -1.373788 5.534109 19.361946 +v -1.373788 7.218982 19.361946 +v -1.373788 5.194825 19.361946 +v -0.372438 10.036927 5.890272 +v -0.372438 10.296735 5.890272 +v 0.372438 10.036927 5.890272 +v -0.570611 9.870735 5.890272 +v 0.570611 9.870735 5.890272 +v 0.667251 10.036927 5.890272 +v -0.667251 10.036927 5.890272 +v -0.372438 10.036927 5.890272 +v -0.667251 10.036927 5.890272 +v -0.666265 10.036925 11.908644 +v -1.159394 7.167399 5.890272 +v -1.159394 7.167399 11.908644 +v -1.159394 9.473119 11.908644 +v -1.018901 7.167399 11.908644 +v -1.018901 9.373807 11.908644 +v -1.159394 9.473119 11.908644 +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.870733 11.908644 +v -0.666265 10.036925 11.908644 +v 1.018901 9.373809 5.890272 +v 1.018901 7.167399 5.890272 +v 1.018901 7.167399 11.908644 +v 1.018901 9.373807 11.908644 +v 0.570611 9.870733 11.908644 v -0.372438 10.036927 8.085609 v 0.372438 10.036927 8.085609 -v 0.372438 10.296735 5.890271 -v 1.018901 7.167400 5.890271 -v 1.018901 9.373809 5.890271 -v 1.159394 9.473121 5.890271 -v 0.372438 10.036927 5.890271 -v 0.372438 10.296735 5.890271 +v 0.372438 10.296735 5.890272 +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.890272 +v 0.372438 10.296735 5.890272 v 0.372438 10.036927 8.085609 -v 0.372438 10.036927 5.890271 +v 0.372438 10.036927 5.890272 v 0.372438 10.036927 8.085609 -v 0.666265 10.036926 11.908644 -v 1.159394 7.167400 5.890271 -v 1.159394 9.473121 5.890271 -v 1.159394 9.473120 11.908644 -v 1.018901 7.167400 11.908644 -v 1.159394 7.167400 11.908644 -v 1.159394 9.473120 11.908644 -v 0.570611 9.870734 11.908644 -v 1.018901 9.373808 11.908644 -v 0.667251 10.036927 5.890271 -v -1.018901 9.373809 5.890271 -v -1.018901 9.373808 11.908644 -v -1.018901 7.167400 11.908644 +v 0.666265 10.036925 11.908644 +v 1.159394 7.167399 5.890272 +v 1.159394 9.473121 5.890272 +v 1.159394 9.473119 11.908644 +v 1.018901 7.167399 11.908644 +v 1.159394 7.167399 11.908644 +v 1.159394 9.473119 11.908644 +v 0.570611 9.870733 11.908644 +v 1.018901 9.373807 11.908644 +v 0.667251 10.036927 5.890272 +v -1.018901 9.373809 5.890272 +v -1.018901 9.373807 11.908644 +v -1.018901 7.167399 11.908644 v -0.372438 10.036927 8.085609 -v -0.372438 10.296735 5.890271 -v -0.372438 10.036927 5.890271 +v -0.372438 10.296735 5.890272 +v -0.372438 10.036927 5.890272 v -0.372438 10.036927 8.085609 -v -0.570611 9.870735 5.890271 -v -0.570611 9.870734 11.908644 -v 0.570611 9.870735 5.890271 -v 0.372438 10.296735 5.890271 +v -0.570611 9.870735 5.890272 +v -0.570611 9.870733 11.908644 +v 0.570611 9.870735 5.890272 +v 0.372438 10.296735 5.890272 v 1.592578 6.930664 -2.831019 v 1.924818 6.930664 -2.831019 v 1.924818 6.930664 -2.831019 @@ -1114,38 +5808,38 @@ v 1.051055 0.730363 5.438924 v 1.050937 1.329366 3.504859 v 1.239158 -6.352968 -5.953228 v -1.239158 -6.352968 -5.953228 -v -1.239158 -6.459403 -6.210183 -v -1.239158 -6.973311 -6.210183 -v 1.239158 -6.973311 -6.210183 +v -1.239158 -6.459403 -6.210184 +v -1.239158 -6.973310 -6.210184 +v 1.239158 -6.973310 -6.210184 v 1.239158 -6.716357 -6.316617 -v -1.239158 -7.079745 -5.953228 +v -1.239158 -7.079744 -5.953228 v -1.239158 -6.716357 -5.589839 v 1.239158 -6.716357 -5.589839 -v 1.239158 -6.973311 -5.696272 -v -0.836559 -7.541790 -5.464878 -v -1.148529 -7.632973 -5.164885 +v 1.239158 -6.973310 -5.696272 +v -0.836559 -7.541790 -5.464879 +v -1.148529 -7.632973 -5.164886 v -1.239158 -7.503078 -5.592237 v -0.843982 -8.845317 -1.176260 -v -1.582758 -7.547009 -5.447708 -v -0.974568 -7.096977 -6.928316 +v -1.582758 -7.547009 -5.447709 +v -0.974568 -7.096977 -6.928317 v -1.239158 -7.188473 -6.627295 -v -0.857694 5.453764 12.938878 -v 0.857694 5.453764 12.938878 +v -0.857694 5.453763 12.938878 +v 0.857694 5.453763 12.938878 v 0.857694 7.218984 12.938878 -v -0.580191 5.127947 12.938878 -v 0.580191 5.127947 12.938878 +v -0.580191 5.127946 12.938878 +v 0.580191 5.127946 12.938878 v 0.427195 9.430100 -1.953275 v -1.051055 -9.408401 0.676293 -v -0.580191 5.127947 12.938878 +v -0.580191 5.127946 12.938878 v 0.403942 7.218984 -4.804955 -v 1.239158 -6.459403 -6.210183 +v 1.239158 -6.459403 -6.210184 v -1.239158 -6.459403 -5.696272 v 1.239158 -6.459403 -5.696272 -v 1.239158 -7.079745 -5.953228 +v 1.239158 -7.079744 -5.953228 v 1.239158 -6.352968 -5.953228 -v 0.957142 7.218984 5.409399 -v 0.843982 7.218984 5.409399 -v 0.957142 7.863287 5.710876 +v 0.957142 7.218984 5.409400 +v 0.843982 7.218984 5.409400 +v 0.957142 7.863286 5.710876 v 1.213076 7.624437 -1.953275 v 0.708688 7.624437 -1.953275 v 0.397424 7.218984 -1.953275 @@ -1154,9 +5848,9 @@ v 0.427195 9.430100 -1.953275 v 1.213076 8.145895 -1.953275 v 1.213076 9.430100 -1.953275 v -0.957142 7.218984 6.277361 -v 1.582758 7.218983 18.331852 -v 0.843982 7.218984 5.409399 -v 1.582758 5.870734 -4.399593 +v 1.582758 7.218982 18.331852 +v 0.843982 7.218984 5.409400 +v 1.582758 5.870734 -4.399592 v 0.580398 4.410827 6.286258 v 1.051055 4.410827 6.286258 v 1.051055 4.410827 9.595867 @@ -1166,17 +5860,17 @@ v 0.580398 5.143752 8.504850 v 0.580398 5.143752 5.307025 v 0.580398 3.816195 5.489355 v 0.580398 4.250057 5.891657 -v 1.582758 5.194826 18.331852 -v 1.373788 5.194826 19.361946 -v 1.051055 5.194826 19.361946 +v 1.582758 5.194825 18.331852 +v 1.373788 5.194825 19.361946 +v 1.051055 5.194825 19.361946 v 1.051055 5.194827 6.202400 v 1.582758 5.194827 5.282278 -v 1.582758 6.342138 18.331852 -v 1.051055 4.834129 12.349441 -v -1.051055 4.834129 12.349441 +v 1.582758 6.342137 18.331852 +v 1.051055 4.834128 12.349441 +v -1.051055 4.834128 12.349441 v -1.051055 3.986079 11.231197 v -1.051055 4.197896 10.160744 -v 1.051055 -0.223473 11.574593 +v 1.051055 -0.223474 11.574593 v 1.051055 0.126897 9.525374 v 1.051055 0.200441 10.158533 v -1.051770 0.545047 2.951361 @@ -1190,59 +5884,59 @@ v -1.051770 0.955821 2.753111 v 1.051055 0.446518 11.231197 v 1.051055 0.805342 10.660654 v 1.051055 3.374604 10.660654 -v 1.425465 6.342138 12.470450 -v 1.582758 6.342138 12.374792 -v 1.582758 6.342138 18.331852 +v 1.425465 6.342137 12.470450 +v 1.582758 6.342137 12.374792 +v 1.582758 6.342137 18.331852 v 1.425465 6.129148 12.324278 v 1.582758 6.173631 12.234967 -v 1.582758 6.342138 12.374792 +v 1.582758 6.342137 12.374792 v 1.425465 5.534111 12.470450 v 1.582758 5.534111 12.374792 -v 1.582758 5.657322 12.234967 +v 1.582758 5.657321 12.234967 v 1.425465 5.714319 12.324278 -v 1.425465 6.342138 12.470450 -v 1.373788 6.342138 19.361946 -v 1.373788 5.534110 19.361946 +v 1.425465 6.342137 12.470450 +v 1.373788 6.342137 19.361946 +v 1.373788 5.534109 19.361946 v 1.425465 5.714319 12.324278 v 1.425465 6.129148 12.324278 -v 1.051055 5.194826 19.361946 -v 1.373788 5.194826 19.361946 -v 1.373788 5.534110 19.361946 -v 1.373788 6.342138 19.361946 -v 1.373788 7.218983 19.361946 -v 0.857694 7.218983 19.361946 +v 1.051055 5.194825 19.361946 +v 1.373788 5.194825 19.361946 +v 1.373788 5.534109 19.361946 +v 1.373788 6.342137 19.361946 +v 1.373788 7.218982 19.361946 +v 0.857694 7.218982 19.361946 v -1.582758 0.676579 2.788985 v -1.051770 0.676579 2.753111 v 1.051055 5.194827 6.202400 -v 1.051055 4.815592 5.698347 -v 1.051055 4.834129 12.349441 -v 1.051055 5.194826 19.361946 -v 1.051055 4.834129 19.361946 +v 1.051055 4.815591 5.698347 +v 1.051055 4.834128 12.349441 +v 1.051055 5.194825 19.361946 +v 1.051055 4.834128 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.534110 18.331852 -v 1.373788 5.534110 19.361946 -v 1.373788 5.194826 19.361946 -v 1.373788 7.218983 19.361946 -v 1.373788 6.342138 19.361946 -v 1.373788 5.534110 19.361946 -v 1.051055 4.834129 19.361946 -v 0.857694 5.453606 19.361946 -v 0.580398 5.127511 19.361946 -v -1.051055 0.145062 11.660562 -v -1.051055 -0.223473 11.574593 -v 1.051055 -0.223473 11.574593 +v 1.582758 5.534109 18.331852 +v 1.373788 5.534109 19.361946 +v 1.373788 5.194825 19.361946 +v 1.373788 7.218982 19.361946 +v 1.373788 6.342137 19.361946 +v 1.373788 5.534109 19.361946 +v 1.051055 4.834128 19.361946 +v 0.857694 5.453605 19.361946 +v 0.580398 5.127510 19.361946 +v -1.051055 0.145061 11.660562 +v -1.051055 -0.223474 11.574593 +v 1.051055 -0.223474 11.574593 v 1.494327 1.329366 3.504859 -v 1.051055 -0.223473 11.574593 -v -1.051055 -0.223473 11.574593 +v 1.051055 -0.223474 11.574593 +v -1.051055 -0.223474 11.574593 v -1.051055 -0.223472 3.408138 v -1.051055 0.446518 11.231197 -v -1.051055 0.145062 11.660562 -v 1.051055 0.145062 11.660562 +v -1.051055 0.145061 11.660562 +v 1.051055 0.145061 11.660562 v 1.051055 0.446518 11.231197 -v -1.051055 4.834129 19.361946 +v -1.051055 4.834128 19.361946 v -0.832096 -2.992427 3.243009 v 0.832096 -2.992427 3.243009 v 0.832096 -2.281892 2.617995 @@ -1276,14 +5970,14 @@ v 1.051055 -9.408401 0.676293 v 1.051055 -8.710466 0.929088 v -0.403942 7.218984 -4.804955 v 1.051055 0.491167 10.501270 -v 1.051055 0.145062 11.660562 +v 1.051055 0.145061 11.660562 v 1.051055 4.245723 5.289183 v 1.052369 3.020580 5.130578 v 1.052369 2.312512 5.048415 v 1.051055 3.816076 5.489355 v 1.051055 4.250057 5.891657 v 1.051055 4.410827 6.286258 -v 1.051055 4.815592 5.698347 +v 1.051055 4.815591 5.698347 v 1.051055 5.194827 6.202400 v 1.051055 4.410827 9.595867 v 1.051055 4.197896 10.160744 @@ -1334,7 +6028,7 @@ v 0.580398 4.410827 8.504850 v 1.582758 -3.887019 -5.026797 v 1.582758 -5.973763 -5.781600 v 1.239158 -5.908380 -6.182570 -v 0.974568 -7.096977 -6.928316 +v 0.974568 -7.096977 -6.928317 v 0.974568 -3.532901 -5.626941 v 0.974568 -2.299957 -4.683156 v 1.582758 -2.770208 -4.057409 @@ -1345,14 +6039,14 @@ v 1.582758 5.705916 -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.685023 -6.433601 -v 1.488590 5.921739 -5.685919 -v 0.528251 5.631947 -6.753191 +v 1.113677 5.685023 -6.433600 +v 1.488590 5.921740 -5.685918 +v 0.528251 5.631948 -6.753191 v 1.239158 -6.353005 -5.417203 v 1.582758 -6.272798 -5.294007 v 1.582758 -6.783546 -5.235445 -v 1.239158 -6.111136 -5.821549 -v 1.582758 -7.547009 -5.447708 +v 1.239158 -6.111135 -5.821549 +v 1.582758 -7.547009 -5.447709 v 1.239158 -7.503078 -5.592237 v 1.239158 -6.751891 -5.355608 v 1.239158 -5.908380 -6.182570 @@ -1365,54 +6059,54 @@ v 1.582758 -3.887019 -5.026797 v 1.582758 -6.272798 -5.294007 v 1.582758 -5.973763 -5.781600 v 1.582758 -6.783546 -5.235445 -v 1.582758 -7.547009 -5.447708 -v 1.582758 -7.547009 -5.447708 -v 1.148529 -7.632973 -5.164885 +v 1.582758 -7.547009 -5.447709 +v 1.582758 -7.547009 -5.447709 +v 1.148529 -7.632973 -5.164886 v 1.239158 -7.503078 -5.592237 -v 0.836559 -7.541790 -5.464878 -v 0.974568 -7.096977 -6.928316 +v 0.836559 -7.541790 -5.464879 +v 0.974568 -7.096977 -6.928317 v 1.239158 -7.188473 -6.627295 v 1.539709 -9.237019 0.112444 v 1.051055 -9.408401 0.676293 v 0.843982 -8.845317 -1.176260 v 0.843982 -8.845317 -1.176260 -v 0.843982 7.218984 5.409399 +v 0.843982 7.218984 5.409400 v 1.148529 7.218984 4.965837 v 1.148529 7.218984 0.843372 -v 1.148529 -7.632973 -5.164885 +v 1.148529 -7.632973 -5.164886 v 0.836559 7.218984 0.486124 -v 0.836559 -7.541790 -5.464878 -v 1.148529 -7.632973 -5.164885 -v -0.836559 -7.541790 -5.464878 -v -0.843982 7.218984 5.409399 +v 0.836559 -7.541790 -5.464879 +v 1.148529 -7.632973 -5.164886 +v -0.836559 -7.541790 -5.464879 +v -0.843982 7.218984 5.409400 v 1.148529 -8.749960 -1.489985 -v 0.957142 7.863287 7.609767 -v -0.957142 7.863287 7.609767 +v 0.957142 7.863286 7.609767 +v -0.957142 7.863286 7.609767 v -0.957142 7.218984 7.609767 -v 0.957142 7.218984 5.409399 -v 0.957142 7.863287 5.710876 -v 0.957142 7.863287 7.609767 -v -0.957142 7.863287 7.609767 -v 0.957142 7.863287 7.609767 -v 0.957142 7.863287 5.710876 +v 0.957142 7.218984 5.409400 +v 0.957142 7.863286 5.710876 +v 0.957142 7.863286 7.609767 +v -0.957142 7.863286 7.609767 +v 0.957142 7.863286 7.609767 +v 0.957142 7.863286 5.710876 v 0.957142 7.218984 7.609767 v 0.957142 7.218984 6.277361 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.747440 +v 2.253843 6.902664 -4.747439 v 2.253843 6.726052 -1.549974 v 2.253843 6.966193 -1.398447 v 1.709833 6.807340 5.318413 v 1.965886 6.807340 5.149458 -v 1.965886 7.483091 5.848534 -v 1.965886 6.807340 5.848534 +v 1.965886 7.483090 5.848535 +v 1.965886 6.807340 5.848535 v 1.882584 6.807340 7.165412 v 2.249606 6.807340 7.165412 v -1.051055 5.194827 6.202400 -v -1.373788 5.194826 19.361946 -v 0.000000 8.128885 22.443676 -v 0.000000 7.882947 5.649786 +v -1.373788 5.194825 19.361946 +v 0.000000 8.128884 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 @@ -1420,8 +6114,8 @@ 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.129148 12.324278 -v -1.373788 6.342138 19.361946 -v -1.582758 6.342138 12.374792 +v -1.373788 6.342137 19.361946 +v -1.582758 6.342137 12.374792 v -1.582758 5.194827 5.282278 v -1.213076 9.430100 -1.953275 v -1.051770 0.545047 3.730687 @@ -1432,7 +6126,7 @@ v 1.213076 7.624437 -4.804955 v 0.708688 7.624437 -1.953275 v 1.213076 8.145895 -1.953275 v 1.213076 9.430100 -1.953275 -v 0.857694 7.218983 19.361946 +v 0.857694 7.218982 19.361946 v -1.550631 -8.362582 -1.129572 v -1.550631 7.128137 4.054968 v 1.550631 -8.362582 -1.129572 @@ -1442,26 +6136,26 @@ v -0.708688 7.624437 -1.953275 v -1.213076 7.218984 -1.953275 v -0.702042 8.145895 -4.804955 v -0.702042 8.145895 -4.804955 -v -0.450662 9.430100 -4.335177 +v -0.450662 9.430100 -4.335176 v -1.213076 8.145895 -4.804955 -v -0.450662 9.430100 -4.335177 +v -0.450662 9.430100 -4.335176 v -0.832096 -2.281892 2.617995 -v -1.373788 6.342138 19.361946 -v -1.373788 5.534110 19.361946 -v -1.159394 9.473121 5.890271 -v -1.159394 7.167400 11.908644 -v -1.018901 9.373809 5.890271 -v -0.372438 10.296735 5.890271 -v 1.159394 7.167400 5.890271 -v 1.159394 7.167400 11.908644 -v 0.666265 10.036926 11.908644 -v -1.018901 7.167400 5.890271 +v -1.373788 6.342137 19.361946 +v -1.373788 5.534109 19.361946 +v -1.159394 9.473121 5.890272 +v -1.159394 7.167399 11.908644 +v -1.018901 9.373809 5.890272 +v -0.372438 10.296735 5.890272 +v 1.159394 7.167399 5.890272 +v 1.159394 7.167399 11.908644 +v 0.666265 10.036925 11.908644 +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.716357 -6.316617 -v -1.239158 -6.973311 -5.696272 +v -1.239158 -6.973310 -5.696272 v -0.857694 7.218984 12.938878 v -1.239158 -6.352968 -5.953228 v 1.213076 7.218984 -1.953275 @@ -1469,13 +6163,13 @@ v 0.580398 4.410827 8.504850 v 1.051055 3.986079 11.231197 v -1.051770 0.676579 2.753111 v 1.050937 0.062500 3.588312 -v 1.373788 6.342138 19.361946 -v 1.425465 6.342138 12.470450 +v 1.373788 6.342137 19.361946 +v 1.425465 6.342137 12.470450 v 1.425465 5.534111 12.470450 -v 1.582758 5.534110 18.331852 -v 1.051055 0.145062 11.660562 +v 1.582758 5.534109 18.331852 +v 1.051055 0.145061 11.660562 v 1.051055 -0.223472 3.408138 -v 1.051055 4.834129 19.361946 +v 1.051055 4.834128 19.361946 v -0.832096 -2.281892 2.617995 v -0.832096 -2.992427 3.243009 v 0.832096 -3.666983 2.980051 @@ -1486,8 +6180,8 @@ v 0.580398 5.143752 5.307025 v 1.148529 -8.749960 -1.489985 v 1.148529 7.218984 0.843372 v 0.957142 7.218984 7.609767 -v -0.957142 7.863287 5.710876 -v 1.965886 6.807340 5.848534 +v -0.957142 7.863286 5.710876 +v 1.965886 6.807340 5.848535 vt 0.359688 0.958662 vt 0.362249 0.958669 vt 0.362239 0.962551 @@ -3032,7 +7726,7 @@ 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 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 @@ -3061,7 +7755,7 @@ 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.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 @@ -3069,33 +7763,33 @@ 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.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.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.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.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.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.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 @@ -3107,6 +7801,7 @@ 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 @@ -3280,7 +7975,7 @@ 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.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 @@ -3327,7 +8022,7 @@ 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.0857 0.9400 -0.3301 +vn -0.0857 0.9400 -0.3302 vn -0.0807 0.8763 -0.4749 vn 0.0006 0.2651 -0.9642 vn -0.9910 0.0440 -0.1265 @@ -3407,7 +8102,7 @@ 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.0857 0.9400 -0.3301 +vn 0.0857 0.9400 -0.3302 vn 0.0516 0.7096 -0.7027 vn -0.0000 0.1126 -0.9936 vn -0.0000 0.2651 -0.9642 @@ -3426,7 +8121,7 @@ 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.0975 -0.7839 0.6132 +vn -0.0976 -0.7838 0.6132 vn -0.6439 -0.6219 -0.4457 vn -0.0928 -0.7999 -0.5929 vn -0.0690 -0.9541 -0.2914 @@ -3548,7 +8243,7 @@ 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.0008 -0.5360 0.8442 +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 @@ -3560,7 +8255,7 @@ 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.0004 -0.0007 +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 @@ -3580,10 +8275,10 @@ vn 0.0001 -0.7972 -0.6037 vn 0.0000 -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.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.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 @@ -3604,9 +8299,9 @@ 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.0001 0.6059 0.7955 +vn 0.0002 0.6059 0.7955 vn 0.0000 0.8184 0.5746 -vn -0.0001 0.3029 0.9530 +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 @@ -3625,7 +8320,7 @@ 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.0014 +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 @@ -3641,14 +8336,14 @@ 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.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.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.1761 -0.9844 vn 0.0000 -0.0880 -0.9961 vn -0.0000 0.6016 0.7988 vn 0.0000 0.7882 0.6154 @@ -3709,13176 +8404,1477 @@ 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 -usemtl Material.001 s 1 -f 1/1/1 2/2/1 3/3/1 -f 4/4/2 5/5/1 6/6/1 -f 7/7/3 8/8/3 9/9/4 -f 10/10/5 11/11/5 12/12/5 -f 13/13/6 14/14/6 15/15/6 -f 16/16/7 17/17/8 18/18/9 -f 19/19/10 20/20/3 7/7/3 -f 19/19/10 9/9/4 21/21/11 -f 22/22/12 23/23/12 24/24/12 -f 25/25/13 26/26/13 27/27/14 -f 28/28/6 29/29/6 30/30/6 -f 31/31/15 32/32/15 33/33/15 -f 19/19/10 7/7/3 9/9/4 -f 34/34/16 35/35/16 36/36/16 -f 37/37/17 38/38/17 39/39/17 -f 40/40/6 41/41/6 42/42/6 -f 43/43/18 44/44/19 45/45/20 -f 46/46/16 47/47/16 48/48/16 -f 49/49/16 50/50/16 51/51/16 -f 51/51/16 52/52/16 53/53/16 -f 54/54/21 55/55/22 56/56/22 -f 57/57/23 58/58/22 54/54/21 -f 46/46/16 48/48/16 59/59/16 -f 60/60/24 61/61/24 62/62/24 -f 63/63/6 64/64/6 65/65/6 -f 63/63/6 65/65/6 66/66/6 -f 67/67/16 51/51/16 53/53/16 -f 50/50/16 52/52/16 51/51/16 -f 52/52/16 68/68/16 53/53/16 -f 55/55/22 69/69/22 56/56/22 -f 58/58/22 55/55/22 54/54/21 -f 48/48/16 70/70/16 59/59/16 -f 71/71/24 72/72/24 61/61/24 -f 61/61/24 72/72/24 62/62/24 -f 64/64/6 73/73/6 65/65/6 -f 65/65/6 74/74/6 66/66/6 -f 75/75/25 76/76/26 77/77/27 -f 78/78/28 79/79/28 57/57/23 -f 78/78/28 80/80/29 81/81/30 -f 80/80/29 82/82/31 83/83/32 -f 82/82/31 77/77/27 76/76/26 -f 84/84/33 77/77/27 4/4/2 -f 85/85/22 56/56/22 69/69/22 -f 86/86/34 87/87/34 88/88/34 -f 89/89/34 90/90/34 91/91/34 -f 92/92/22 93/93/22 94/94/22 -f 95/95/6 96/96/6 97/97/6 -f 98/98/6 99/99/6 100/100/6 -f 101/101/34 102/102/34 103/103/34 -f 49/49/16 104/104/16 50/50/16 -f 69/69/22 55/55/22 105/105/22 -f 47/47/16 106/106/16 48/48/16 -f 60/60/24 107/107/24 61/61/24 -f 63/63/6 108/108/6 64/64/6 -f 109/109/35 110/110/36 111/111/37 -f 112/112/38 113/113/39 114/114/40 -f 115/115/16 116/116/16 117/117/41 -f 118/118/16 119/119/16 120/120/16 -f 121/121/42 114/114/40 113/113/39 -f 122/122/24 123/123/24 124/124/24 -f 125/125/24 126/126/24 127/127/24 -f 128/128/24 129/129/24 130/130/24 -f 131/131/43 132/132/44 133/133/45 -f 134/134/34 135/135/34 136/136/34 -f 110/110/36 137/137/46 138/138/47 -f 129/139/24 139/140/24 140/141/24 -f 132/132/44 141/142/48 142/143/49 -f 135/135/34 143/144/34 144/145/34 -f 137/137/46 145/146/50 146/147/51 -f 139/148/24 147/149/24 148/150/24 -f 141/142/48 149/151/52 150/152/53 -f 143/144/34 151/153/34 152/154/34 -f 145/146/50 153/155/54 154/156/55 -f 147/149/24 155/157/24 156/158/24 -f 149/159/52 157/160/56 158/161/57 -f 151/153/34 159/162/34 160/163/34 -f 161/164/58 162/165/59 163/166/60 -f 155/157/24 164/167/24 165/168/24 -f 166/169/61 167/170/62 168/171/63 -f 159/162/34 169/172/34 170/173/34 -f 162/174/59 171/175/64 172/176/65 -f 164/167/24 173/177/24 174/178/24 -f 167/170/62 175/179/66 176/180/67 -f 169/172/34 177/181/34 178/182/34 -f 171/175/64 179/183/68 180/184/69 -f 173/177/24 181/185/24 182/186/24 -f 175/179/66 183/187/70 184/188/71 -f 177/181/34 185/189/34 186/190/34 -f 179/191/68 187/192/43 188/193/72 -f 181/185/24 189/194/24 190/195/24 -f 183/187/70 191/196/35 192/197/73 -f 185/189/34 193/198/34 194/199/34 -f 187/192/43 195/200/74 196/201/45 -f 189/194/24 197/202/24 198/203/24 -f 191/196/35 199/204/36 200/205/37 -f 193/198/34 201/206/34 202/207/34 -f 195/200/74 203/208/48 204/209/49 -f 197/202/24 205/210/24 206/211/24 -f 199/204/36 207/212/46 208/213/47 -f 201/206/34 209/214/34 210/215/34 -f 203/208/48 211/216/52 212/217/53 -f 205/210/24 213/218/24 214/219/24 -f 207/212/46 215/220/75 216/221/76 -f 209/214/34 217/222/34 218/223/34 -f 211/216/52 219/224/56 220/225/77 -f 213/218/24 221/226/24 222/227/24 -f 215/220/75 223/228/54 224/229/78 -f 217/222/34 225/230/34 226/231/34 -f 219/224/56 227/232/79 228/233/80 -f 221/226/24 229/234/24 230/235/24 -f 223/236/54 231/237/59 232/238/60 -f 225/230/34 233/239/34 234/240/34 -f 227/232/79 235/241/66 236/242/67 -f 229/234/24 237/243/24 238/244/24 -f 231/237/59 239/245/64 240/246/65 -f 233/239/34 241/247/34 242/248/34 -f 235/241/66 243/249/70 244/250/71 -f 237/243/24 245/251/24 246/252/24 -f 239/245/64 247/253/68 248/254/69 -f 241/247/34 249/255/34 250/256/34 -f 243/249/70 109/109/35 251/257/73 -f 245/251/24 128/128/24 252/258/24 -f 247/253/68 131/131/43 253/259/72 -f 249/255/34 134/134/34 254/260/34 -f 255/261/6 256/262/6 257/263/6 -f 256/262/6 258/264/6 259/265/6 -f 258/264/6 260/266/6 261/267/6 -f 260/266/6 262/268/6 263/269/6 -f 262/268/6 264/270/6 265/271/6 -f 264/270/6 266/272/6 267/273/6 -f 266/272/6 268/274/6 269/275/6 -f 268/274/6 270/276/6 271/277/6 -f 270/276/6 272/278/6 273/279/6 -f 272/278/6 274/280/6 275/281/6 -f 274/280/6 276/282/6 277/283/6 -f 276/282/6 255/261/6 278/284/6 -f 279/285/81 280/286/82 281/287/83 -f 282/288/84 283/289/85 284/290/86 -f 285/291/6 286/292/6 287/293/6 -f 288/294/87 279/285/81 289/295/88 -f 283/289/85 290/296/89 291/297/90 -f 286/292/6 292/298/6 287/293/6 -f 293/299/91 288/294/87 294/300/92 -f 290/296/89 295/301/93 296/302/94 -f 292/298/6 297/303/6 287/293/6 -f 298/304/95 299/305/96 300/306/97 -f 295/301/93 301/307/98 302/308/99 -f 297/303/6 303/309/6 287/293/6 -f 304/310/100 298/304/95 305/311/101 -f 301/307/98 306/312/102 307/313/103 -f 303/309/6 308/314/6 287/293/6 -f 309/315/104 304/310/100 310/316/105 -f 306/312/102 311/317/106 312/318/107 -f 308/314/6 313/319/6 287/293/6 -f 314/320/102 309/315/104 315/321/108 -f 311/317/106 316/322/109 317/323/105 -f 313/319/6 318/324/6 287/293/6 -f 319/325/110 314/320/102 320/326/111 -f 316/322/109 321/327/95 322/328/112 -f 318/324/6 323/329/6 287/293/6 -f 324/330/113 319/325/110 325/331/99 -f 321/327/95 326/332/96 327/333/114 -f 323/329/6 328/334/6 287/293/6 -f 329/335/89 324/330/113 330/336/115 -f 331/337/91 332/338/116 333/339/92 -f 328/334/6 334/340/6 287/293/6 -f 335/341/117 329/335/89 336/342/118 -f 332/338/116 337/343/81 338/344/119 -f 334/340/6 339/345/6 287/293/6 -f 280/286/82 335/341/117 340/346/86 -f 337/343/81 282/288/84 341/347/120 -f 339/345/6 285/291/6 287/293/6 -f 342/348/121 343/349/122 344/350/123 -f 345/351/124 346/352/125 347/353/126 -f 348/354/127 349/355/128 350/356/129 -f 351/357/130 352/358/131 353/359/132 -f 354/360/133 347/353/126 355/361/134 -f 356/362/135 347/353/126 354/360/133 -f 357/363/136 358/364/137 359/365/138 -f 360/366/139 361/367/140 357/363/136 -f 348/354/127 362/368/141 357/363/136 -f 363/369/142 364/370/143 344/350/123 -f 364/370/143 363/369/142 365/371/144 -f 364/370/143 366/372/145 367/373/146 -f 368/374/147 369/375/148 359/365/138 -f 370/376/149 368/374/147 371/377/150 -f 351/357/130 372/378/151 352/358/131 -f 373/379/152 374/380/153 355/361/134 -f 375/381/154 374/380/153 373/379/152 -f 376/382/155 374/380/153 377/383/156 -f 378/384/157 379/385/158 380/386/159 -f 381/387/160 380/386/159 379/385/158 -f 354/360/133 355/361/134 382/388/161 -f 383/389/162 353/359/132 384/390/163 -f 385/391/164 356/362/135 383/389/162 -f 351/357/130 353/359/132 386/392/165 -f 372/378/151 351/357/130 386/392/165 -f 386/392/165 353/359/132 383/389/162 -f 387/393/166 388/394/167 389/395/168 -f 374/380/153 382/388/161 355/361/134 -f 383/389/162 382/388/161 390/396/169 -f 391/397/170 392/398/171 376/382/155 -f 392/398/171 390/396/169 374/380/153 -f 386/392/165 392/398/171 391/397/170 -f 390/396/169 392/398/171 386/392/165 -f 389/395/168 391/397/170 387/393/166 -f 378/384/157 393/399/172 391/397/170 -f 394/400/173 377/383/156 375/381/154 -f 395/401/174 394/400/173 396/402/175 -f 397/403/176 343/349/122 342/348/121 -f 398/404/177 397/403/176 399/405/178 -f 369/375/148 349/355/128 348/354/127 -f 400/406/179 401/407/180 402/408/181 -f 377/383/156 374/380/153 375/381/154 -f 390/396/169 382/388/161 374/380/153 -f 356/362/135 354/360/133 382/388/161 -f 382/388/161 383/389/162 356/362/135 -f 385/391/164 383/389/162 384/390/163 -f 372/378/151 389/395/168 388/394/167 -f 393/399/172 387/393/166 391/397/170 -f 379/385/158 378/384/157 391/397/170 -f 402/408/181 352/358/131 370/376/149 -f 372/378/151 388/394/167 352/358/131 -f 352/358/131 388/394/167 369/375/148 -f 393/399/172 349/355/128 387/393/166 -f 378/384/157 349/355/128 393/399/172 -f 378/384/157 380/386/159 349/355/128 -f 380/386/159 381/387/160 403/409/182 -f 377/383/156 394/400/173 381/387/160 -f 381/387/160 395/401/174 398/404/177 -f 404/410/183 397/403/176 405/411/184 -f 343/349/122 397/403/176 404/410/183 -f 369/375/148 368/374/147 370/376/149 -f 352/358/131 369/375/148 370/376/149 -f 388/394/167 387/393/166 369/375/148 -f 349/355/128 369/375/148 387/393/166 -f 380/386/159 403/409/182 349/355/128 -f 381/387/160 398/404/177 403/409/182 -f 394/400/173 395/401/174 381/387/160 -f 395/401/174 405/411/184 398/404/177 -f 397/403/176 398/404/177 405/411/184 -f 406/412/185 407/413/186 396/402/175 -f 408/414/187 406/412/185 409/415/188 -f 410/416/189 411/417/190 409/415/188 -f 412/418/191 345/351/124 413/419/192 -f 414/420/16 415/421/16 416/422/16 -f 417/423/103 418/424/99 419/425/193 -f 420/426/107 417/423/103 421/427/102 -f 418/424/99 422/428/94 423/429/93 -f 424/430/105 420/426/107 425/431/106 -f 426/432/194 424/430/105 427/433/195 -f 422/428/94 428/434/196 429/435/89 -f 430/436/197 426/432/194 431/437/95 -f 432/438/92 430/436/197 433/439/96 -f 428/434/196 434/440/86 435/441/85 -f 436/442/119 432/438/92 437/443/116 -f 438/444/120 436/442/119 439/445/81 -f 434/440/86 438/444/120 440/446/84 -f 441/447/16 442/448/16 443/449/16 -f 444/450/16 441/447/16 445/451/16 -f 442/448/16 446/452/16 447/453/16 -f 448/454/16 444/450/16 449/455/16 -f 450/456/16 448/454/16 451/457/16 -f 446/452/16 452/458/16 453/459/16 -f 414/460/16 450/456/16 454/461/16 -f 455/462/16 414/460/16 456/463/16 -f 452/458/16 457/464/16 458/465/16 -f 459/466/16 455/462/16 460/467/16 -f 461/468/16 459/466/16 462/469/16 -f 457/464/16 461/468/16 463/470/16 -f 464/471/16 465/472/16 466/473/16 -f 467/474/98 468/475/102 469/476/103 -f 470/477/93 467/474/98 471/478/99 -f 466/473/16 465/472/16 472/479/16 -f 468/475/102 473/480/106 474/481/107 -f 475/482/16 465/472/16 464/471/16 -f 472/479/16 465/472/16 476/483/16 -f 473/480/106 477/484/109 478/485/105 -f 479/486/89 470/477/93 480/487/94 -f 476/483/16 465/472/16 481/488/16 -f 477/484/109 482/489/198 483/490/198 -f 484/491/16 465/472/16 475/482/16 -f 481/488/16 465/472/16 485/492/16 -f 486/493/199 487/494/199 488/495/200 -f 489/496/85 479/486/89 490/497/90 -f 485/492/16 465/472/16 491/498/16 -f 492/499/201 493/500/202 494/501/202 -f 495/502/16 465/472/16 484/491/16 -f 491/498/16 465/472/16 496/503/16 -f 486/493/199 497/504/81 498/505/119 -f 499/506/84 489/496/85 500/507/86 -f 496/503/16 465/472/16 501/508/16 -f 497/504/81 499/506/84 502/509/120 -f 501/508/16 465/472/16 495/502/16 -f 503/510/203 488/495/200 494/501/202 -f 414/420/16 455/511/16 415/421/16 -f 483/490/198 482/489/198 504/512/204 -f 505/513/205 506/514/206 492/499/201 -f 416/515/16 415/516/16 507/517/16 -f 416/422/16 450/518/16 414/420/16 -f 508/519/16 509/520/16 510/521/16 -f 511/522/207 512/523/208 513/524/209 -f 514/525/6 515/526/6 516/527/6 -f 510/521/16 509/520/16 517/528/16 -f 512/523/208 518/529/210 519/530/211 -f 515/526/6 520/531/6 516/527/6 -f 517/528/16 509/520/16 521/532/16 -f 518/529/210 522/533/212 523/534/213 -f 520/531/6 524/535/6 516/527/6 -f 521/532/16 509/520/16 525/536/16 -f 526/537/214 527/538/215 528/539/216 -f 524/535/6 529/540/6 516/527/6 -f 525/536/16 509/520/16 530/541/16 -f 527/538/215 531/542/217 532/543/218 -f 529/540/6 533/544/6 516/527/6 -f 530/541/16 509/520/16 534/545/16 -f 531/542/217 535/546/219 536/547/220 -f 537/548/16 538/549/221 539/550/221 -f 533/544/6 540/551/6 516/527/6 -f 534/545/16 509/520/16 541/552/16 -f 539/550/221 538/549/221 542/553/222 -f 535/546/219 543/554/223 544/555/224 -f 540/551/6 545/556/6 516/527/6 -f 546/557/225 547/558/226 548/559/227 -f 549/560/228 546/557/225 550/561/229 -f 541/552/16 509/520/16 508/519/16 -f 543/554/223 511/522/207 551/562/230 -f 545/556/6 514/525/6 516/527/6 -f 552/563/231 553/564/232 554/565/233 -f 555/566/234 556/567/235 552/563/231 -f 557/568/236 558/569/237 559/570/16 -f 560/571/238 561/572/239 562/573/6 -f 563/574/240 564/575/241 565/576/242 -f 547/558/226 566/577/243 567/578/244 -f 568/579/245 569/580/246 570/581/247 -f 560/571/238 571/582/248 561/572/239 -f 572/583/1 573/584/1 574/585/1 -f 575/586/16 576/587/16 577/588/16 -f 115/115/16 578/589/16 579/590/16 -f 580/591/249 581/592/250 582/593/251 -f 570/581/247 569/580/246 583/594/252 -f 584/595/253 585/596/254 586/597/16 -f 587/598/1 588/599/1 589/600/1 -f 590/601/1 589/600/1 588/599/1 -f 591/602/6 592/603/6 593/604/6 -f 594/605/255 595/606/256 582/593/251 -f 596/607/257 597/608/1 598/609/258 -f 559/570/16 558/569/237 599/610/16 -f 600/611/22 601/612/22 602/613/22 -f 585/596/254 603/614/16 586/597/16 -f 604/615/22 605/616/22 606/617/22 -f 602/613/22 601/612/22 604/618/22 -f 607/619/24 608/620/24 609/621/24 -f 608/620/24 610/622/24 611/623/24 -f 612/624/24 613/625/24 611/623/24 -f 614/626/22 615/627/22 616/628/22 -f 617/629/259 618/630/260 619/631/260 -f 620/632/261 557/568/236 621/633/262 -f 568/579/245 622/634/236 623/635/263 -f 624/636/238 563/574/240 625/637/264 -f 626/638/265 627/639/266 628/640/267 -f 628/640/267 627/639/266 629/641/268 -f 628/640/267 629/641/268 630/642/269 -f 628/640/267 630/642/269 631/643/38 -f 632/644/270 633/645/271 634/646/41 -f 635/647/272 636/648/273 637/649/267 -f 638/650/274 639/651/275 640/652/276 -f 641/653/277 633/645/271 642/654/278 -f 643/655/16 644/656/16 642/654/278 -f 644/656/16 645/657/16 642/654/278 -f 646/658/16 642/654/278 645/657/16 -f 633/645/271 643/655/16 642/654/278 -f 643/655/16 633/645/271 632/644/270 -f 647/659/279 648/660/280 649/661/281 -f 650/662/6 651/663/6 652/664/282 -f 653/665/16 654/666/16 655/667/283 -f 656/668/6 657/669/6 658/670/6 -f 656/668/6 659/671/284 660/672/6 -f 650/662/6 652/664/282 661/673/6 -f 661/673/6 662/674/6 663/675/6 -f 663/675/6 664/676/6 665/677/6 -f 666/678/16 667/679/16 668/680/285 -f 669/681/16 670/682/16 671/683/16 -f 672/684/16 669/681/16 673/685/16 -f 654/666/16 672/684/16 674/686/16 -f 653/665/16 655/667/283 675/687/16 -f 651/663/6 676/688/6 659/671/284 -f 660/672/6 657/669/6 656/668/6 -f 657/669/6 665/677/6 658/670/6 -f 659/671/284 676/688/6 660/672/6 -f 652/664/282 662/674/6 661/673/6 -f 662/674/6 664/676/6 663/675/6 -f 664/676/6 658/670/6 665/677/6 -f 677/689/16 675/687/16 668/680/285 -f 670/682/16 667/679/16 666/678/16 -f 667/679/16 677/689/16 668/680/285 -f 670/682/16 666/678/16 671/683/16 -f 669/681/16 671/683/16 673/685/16 -f 672/684/16 673/685/16 674/686/16 -f 655/667/283 668/680/285 675/687/16 -f 678/690/22 615/627/22 614/626/22 -f 679/691/286 680/692/287 681/693/288 -f 682/694/16 683/695/289 680/692/287 -f 684/696/16 682/694/16 685/697/290 -f 686/698/291 684/696/16 687/699/292 -f 641/653/277 687/699/292 685/697/290 -f 688/700/293 647/659/279 689/701/294 -f 690/702/22 604/618/22 606/703/22 -f 691/704/295 692/705/296 553/564/232 -f 693/706/297 642/654/278 646/658/16 -f 694/707/298 693/706/297 646/658/16 -f 559/570/16 621/633/262 557/568/236 -f 695/708/16 696/709/16 697/710/16 -f 698/711/298 699/712/299 700/713/300 -f 556/567/235 701/714/301 702/715/302 -f 599/610/16 703/716/299 646/658/16 -f 603/614/16 646/658/16 114/114/40 -f 704/717/22 614/718/22 705/719/22 -f 706/720/34 707/721/34 708/722/303 -f 709/723/304 710/724/305 711/725/306 -f 712/726/307 713/727/308 714/728/309 -f 715/729/310 716/730/311 717/731/312 -f 718/732/313 714/728/309 713/727/308 -f 719/733/314 720/734/315 721/735/316 -f 721/735/316 722/736/317 723/737/318 -f 724/738/319 725/739/320 726/740/321 -f 727/741/322 728/742/323 725/739/320 -f 729/743/324 728/742/323 727/741/322 -f 724/738/319 727/741/322 725/739/320 -f 730/744/325 731/745/326 732/746/327 -f 733/747/328 734/748/329 730/744/325 -f 735/749/330 736/750/331 737/751/332 -f 738/752/333 735/749/330 739/753/334 -f 740/754/335 738/752/333 741/755/336 -f 742/756/337 740/754/335 743/757/338 -f 744/758/339 742/756/337 745/759/340 -f 746/760/341 747/761/342 748/762/343 -f 749/763/344 741/755/336 739/753/334 -f 750/764/345 743/757/338 741/755/336 -f 751/765/346 745/759/340 743/757/338 -f 752/766/347 753/767/348 745/759/340 -f 754/768/349 739/753/334 755/769/350 -f 756/770/351 757/771/352 738/752/333 -f 758/772/353 759/773/354 760/774/355 -f 723/737/318 719/733/314 721/735/316 -f 760/774/355 729/743/324 727/741/322 -f 761/775/356 730/744/325 732/746/327 -f 761/775/356 733/747/328 730/744/325 -f 741/755/336 738/752/333 739/753/334 -f 743/757/338 740/754/335 741/755/336 -f 745/759/340 742/756/337 743/757/338 -f 753/767/348 744/758/339 745/759/340 -f 762/776/357 746/760/341 748/762/343 -f 754/768/349 749/763/344 739/753/334 -f 749/763/344 750/764/345 741/755/336 -f 750/764/345 751/765/346 743/757/338 -f 751/765/346 752/766/347 745/759/340 -f 763/777/358 754/768/349 755/769/350 -f 764/778/359 765/779/360 724/738/319 -f 757/771/352 766/780/361 735/749/330 -f 760/774/355 767/781/362 729/743/324 -f 721/735/316 724/738/319 722/736/317 -f 730/744/325 734/748/329 768/782/363 -f 753/767/348 769/783/364 744/758/339 -f 752/766/347 770/784/365 753/767/348 -f 771/785/366 762/776/357 748/762/343 -f 772/786/367 744/758/339 762/776/357 -f 773/787/368 771/785/366 748/762/343 -f 771/785/366 772/786/367 762/776/357 -f 772/786/367 774/788/369 744/758/339 -f 583/594/252 647/659/279 775/789/370 -f 776/790/22 777/791/22 605/616/22 -f 565/576/242 778/792/371 625/637/264 -f 779/793/372 778/792/371 780/794/373 -f 781/795/374 782/796/296 554/565/233 -f 783/797/375 565/576/242 564/575/241 -f 784/798/6 785/799/6 786/800/6 -f 787/801/22 788/802/22 789/803/22 -f 790/804/6 791/805/6 792/806/6 -f 793/807/376 794/808/377 795/809/376 -f 796/810/1 797/811/1 798/812/1 -f 799/813/378 800/814/378 801/815/22 -f 678/690/22 604/618/22 601/612/22 -f 782/796/296 802/816/295 554/565/233 -f 803/817/379 804/818/380 556/567/235 -f 556/567/235 555/566/234 805/819/381 -f 552/563/231 554/565/233 806/820/382 -f 554/565/233 553/564/232 807/821/383 -f 808/822/22 809/823/22 810/824/22 -f 811/825/34 781/795/374 812/826/384 -f 813/827/34 782/796/296 781/795/374 -f 814/828/385 815/829/34 816/830/34 -f 812/826/384 817/831/386 818/832/386 -f 805/819/381 803/817/379 556/567/235 -f 819/833/22 808/822/22 820/834/22 -f 556/567/235 702/715/302 821/835/387 -f 640/652/276 822/836/388 823/837/389 -f 824/838/390 825/839/391 826/840/6 -f 823/837/389 826/840/6 827/841/392 -f 828/842/6 829/843/6 830/844/393 -f 831/845/394 830/844/393 832/846/6 -f 830/847/393 827/841/392 828/848/6 -f 822/836/388 826/840/6 823/837/389 -f 822/836/388 833/849/395 826/840/6 -f 833/849/395 824/838/390 826/840/6 -f 825/839/391 834/850/6 826/840/6 -f 826/840/6 828/848/6 827/841/392 -f 828/842/6 835/851/6 829/843/6 -f 829/843/6 836/852/6 830/844/393 -f 830/844/393 836/852/6 832/846/6 -f 837/853/22 838/854/22 839/855/22 -f 840/856/22 841/857/22 838/858/22 -f 842/859/22 843/860/22 837/853/22 -f 838/854/22 844/861/22 839/855/22 -f 838/858/22 845/862/22 840/856/22 -f 846/863/22 844/864/22 838/858/22 -f 845/862/22 838/858/22 809/823/22 -f 847/865/396 848/866/397 849/867/398 -f 850/868/16 847/865/396 851/869/399 -f 346/352/125 345/351/124 852/870/400 -f 853/871/401 412/418/191 401/407/180 -f 854/872/402 855/873/403 412/418/191 -f 854/872/402 853/871/401 856/874/404 -f 371/377/150 856/874/404 853/871/401 -f 857/875/405 407/413/186 406/412/185 -f 858/876/406 366/372/145 364/370/143 -f 858/876/406 365/371/144 857/875/405 -f 857/875/405 406/412/185 408/414/187 -f 357/363/136 859/877/407 860/878/408 -f 347/353/126 410/416/189 861/879/409 -f 350/356/129 403/409/182 862/880/410 -f 352/358/131 402/408/181 413/419/192 -f 396/402/175 861/879/409 409/415/188 -f 396/402/175 375/381/154 861/879/409 -f 355/361/134 861/879/409 373/379/152 -f 385/391/164 347/353/126 356/362/135 -f 384/390/163 345/351/124 385/391/164 -f 384/390/163 353/359/132 345/351/124 -f 345/351/124 347/353/126 385/391/164 -f 359/365/138 358/364/137 371/377/150 -f 361/367/140 863/881/411 358/364/137 -f 350/356/129 864/882/412 362/368/141 -f 350/356/129 862/880/410 864/882/412 -f 862/880/410 399/405/178 865/883/413 -f 399/405/178 342/348/121 866/884/414 -f 342/348/121 344/350/123 867/885/415 -f 857/875/405 365/371/144 407/413/186 -f 865/883/413 868/886/416 864/882/412 -f 866/884/414 869/887/417 865/883/413 -f 867/885/415 870/888/418 866/884/414 -f 367/373/146 871/889/419 867/885/415 -f 864/882/412 872/890/420 859/877/407 -f 403/409/182 398/404/177 862/880/410 -f 402/408/181 401/407/180 413/419/192 -f 375/381/154 373/379/152 861/879/409 -f 353/359/132 413/419/192 345/351/124 -f 358/364/137 856/874/404 371/377/150 -f 863/881/411 856/874/404 358/364/137 -f 862/880/410 865/883/413 864/882/412 -f 399/405/178 866/884/414 865/883/413 -f 342/348/121 867/885/415 866/884/414 -f 344/350/123 367/373/146 867/885/415 -f 365/371/144 363/369/142 407/413/186 -f 868/886/416 872/890/420 864/882/412 -f 869/887/417 868/886/416 865/883/413 -f 870/888/418 869/887/417 866/884/414 -f 871/889/419 870/888/418 867/885/415 -f 872/890/420 860/878/408 859/877/407 -f 346/352/125 410/416/189 347/353/126 -f 349/355/128 403/409/182 350/356/129 -f 352/358/131 413/419/192 353/359/132 -f 347/353/126 861/879/409 355/361/134 -f 361/367/140 358/364/137 357/363/136 -f 364/370/143 367/373/146 344/350/123 -f 366/372/145 871/889/419 367/373/146 -f 363/369/142 405/411/184 407/413/186 -f 344/350/123 404/410/183 363/369/142 -f 405/411/184 395/401/174 407/413/186 -f 404/410/183 405/411/184 363/369/142 -f 343/349/122 404/410/183 344/350/123 -f 774/788/369 742/756/337 744/758/339 -f 765/779/360 727/741/322 724/738/319 -f 766/780/361 736/750/331 735/749/330 -f 767/781/362 873/891/421 729/743/324 -f 724/738/319 874/892/422 722/736/317 -f 724/738/319 726/740/321 874/892/422 -f 730/744/325 768/782/363 731/745/326 -f 734/748/329 875/893/423 768/782/363 -f 736/750/331 731/745/326 768/782/363 -f 769/783/364 762/776/357 744/758/339 -f 762/776/357 769/783/364 746/760/341 -f 770/784/365 769/783/364 753/767/348 -f 876/894/424 732/746/327 731/745/326 -f 877/895/425 878/896/426 732/746/327 -f 879/897/427 873/891/421 767/781/362 -f 880/898/428 723/737/318 722/736/317 -f 880/898/428 719/733/314 723/737/318 -f 881/899/429 882/900/430 883/901/431 -f 884/902/432 885/903/433 886/904/434 -f 882/900/430 881/899/429 884/902/432 -f 722/736/317 874/892/422 887/905/435 -f 729/743/324 888/906/436 728/742/323 -f 726/740/321 725/739/320 888/906/436 -f 729/743/324 873/891/421 889/907/437 -f 879/897/427 890/908/438 889/907/437 -f 729/743/324 889/907/437 888/906/436 -f 891/909/439 892/910/440 890/908/438 -f 887/905/435 880/898/428 722/736/317 -f 887/905/435 888/906/436 893/911/441 -f 894/912/442 884/902/432 881/899/429 -f 895/913/443 881/899/429 880/898/428 -f 889/907/437 890/908/438 894/912/442 -f 893/911/441 888/906/436 889/907/437 -f 894/912/442 890/908/438 892/910/440 -f 896/914/444 885/903/433 894/912/442 -f 897/915/445 720/734/315 719/733/314 -f 773/787/368 748/762/343 720/734/315 -f 898/916/446 740/754/335 742/756/337 -f 756/770/351 738/752/333 740/754/335 -f 899/917/447 731/745/326 736/750/331 -f 878/896/426 877/895/425 759/773/354 -f 880/898/428 883/901/431 719/733/314 -f 887/905/435 893/911/441 880/898/428 -f 874/892/422 726/740/321 887/905/435 -f 888/906/436 887/905/435 726/740/321 -f 888/906/436 725/739/320 728/742/323 -f 890/908/438 879/897/427 891/909/439 -f 892/910/440 896/914/444 894/912/442 -f 885/903/433 884/902/432 894/912/442 -f 767/781/362 759/773/354 877/895/425 -f 891/909/439 879/897/427 767/781/362 -f 891/909/439 767/781/362 899/917/447 -f 766/780/361 896/914/444 892/910/440 -f 766/780/361 885/903/433 896/914/444 -f 886/904/434 885/903/433 766/780/361 -f 882/900/430 886/904/434 757/771/352 -f 897/915/445 883/901/431 882/900/430 -f 773/787/368 882/900/430 756/770/351 -f 898/916/446 772/786/367 771/785/366 -f 898/916/446 774/788/369 772/786/367 -f 876/894/424 899/917/447 877/895/425 -f 899/917/447 767/781/362 877/895/425 -f 892/910/440 891/909/439 899/917/447 -f 899/917/447 766/780/361 892/910/440 -f 757/771/352 886/904/434 766/780/361 -f 756/770/351 882/900/430 757/771/352 -f 773/787/368 897/915/445 882/900/430 -f 771/785/366 773/787/368 756/770/351 -f 756/770/351 898/916/446 771/785/366 -f 900/918/448 901/919/449 720/734/315 -f 902/920/450 903/921/451 901/919/449 -f 764/778/359 721/735/316 901/919/449 -f 904/922/452 758/772/353 760/774/355 -f 765/779/360 905/923/453 906/924/454 -f 907/925/455 878/896/426 758/772/353 -f 908/926/456 907/925/455 904/922/452 -f 908/926/456 733/747/328 761/775/356 -f 732/746/327 878/896/426 907/925/455 -f 748/762/343 747/761/342 900/918/448 -f 909/927/457 746/760/341 769/783/364 -f 909/927/457 910/928/458 747/761/342 -f 747/761/342 910/928/458 902/920/450 -f 768/782/363 875/893/423 763/777/358 -f 764/778/359 724/738/319 721/735/316 -f 757/771/352 735/749/330 738/752/333 -f 759/773/354 767/781/362 760/774/355 -f 721/735/316 720/734/315 901/919/449 -f 911/929/459 717/731/312 716/730/311 -f 912/930/460 648/660/280 647/659/279 -f 586/597/16 603/614/16 913/931/16 -f 583/594/252 569/580/246 623/635/263 -f 775/789/370 647/659/279 688/700/293 -f 914/932/16 913/931/16 121/121/42 -f 775/789/370 570/581/247 583/594/252 -f 700/713/300 915/933/461 916/934/297 -f 917/935/237 918/936/462 699/712/299 -f 915/933/461 919/937/463 920/938/278 -f 568/579/245 570/581/247 917/935/237 -f 918/936/462 700/713/300 699/712/299 -f 919/937/463 921/939/464 922/940/277 -f 921/939/464 923/941/465 924/942/466 -f 924/942/466 923/941/465 710/724/305 -f 711/725/306 710/724/305 923/941/465 -f 925/943/467 924/942/466 710/724/305 -f 622/634/236 568/579/245 917/935/237 -f 926/944/468 927/945/469 928/946/470 -f 929/947/6 592/603/6 930/948/6 -f 616/628/22 820/834/22 931/949/22 -f 929/947/6 593/604/6 592/603/6 -f 591/602/6 932/950/6 592/603/6 -f 933/951/471 934/952/472 935/953/473 -f 604/618/22 678/690/22 704/954/22 -f 936/955/474 937/956/475 938/957/476 -f 939/958/6 940/959/6 937/960/475 -f 941/961/16 942/962/16 943/963/16 -f 692/705/296 807/821/383 553/564/232 -f 944/964/16 942/962/16 941/961/16 -f 945/965/16 697/710/16 696/709/16 -f 946/966/22 947/967/22 948/968/22 -f 949/969/16 950/970/16 951/971/16 -f 952/972/477 953/973/477 954/974/477 -f 955/975/478 956/976/479 957/977/478 -f 958/978/480 959/979/481 960/980/482 -f 961/981/483 960/980/482 959/979/481 -f 962/982/484 596/607/257 963/983/485 -f 964/984/1 965/985/1 966/986/1 -f 960/980/482 967/987/486 958/978/480 -f 777/791/22 606/617/22 605/616/22 -f 968/988/487 969/989/16 970/990/254 -f 576/587/16 971/991/16 577/588/16 -f 972/992/378 973/993/22 974/994/22 -f 975/995/16 971/991/16 119/119/16 -f 976/996/16 119/119/16 977/997/488 -f 978/998/16 977/997/488 979/999/39 -f 980/1000/16 979/999/39 631/643/38 -f 981/1001/489 982/1002/490 983/1003/491 -f 578/589/16 576/587/16 984/1004/16 -f 577/588/16 971/991/16 985/1005/16 -f 985/1005/16 971/991/16 975/995/16 -f 976/996/16 975/995/16 119/119/16 -f 978/998/16 976/996/16 977/997/488 -f 977/997/488 119/119/16 118/118/16 -f 980/1000/16 978/998/16 979/999/39 -f 986/1006/492 980/1000/16 631/643/38 -f 986/1006/492 631/643/38 630/642/269 -f 117/117/41 116/116/16 987/1007/16 -f 626/638/265 117/117/41 987/1007/16 -f 988/1008/16 576/587/16 578/589/16 -f 579/590/16 578/589/16 984/1004/16 -f 984/1004/16 576/587/16 575/586/16 -f 989/1009/493 990/1010/494 927/945/469 -f 991/1011/24 126/126/24 125/125/24 -f 124/124/24 123/123/24 126/126/24 -f 992/1012/34 706/720/34 807/821/383 -f 993/1013/495 708/722/303 707/721/34 -f 708/722/303 993/1013/495 994/1014/386 -f 995/1015/496 701/714/301 556/567/235 -f 685/697/290 680/692/287 996/1016/497 -f 633/645/271 997/1017/498 634/646/41 -f 998/1018/499 999/1019/500 679/691/286 -f 1000/1020/501 1001/1021/41 1002/1022/502 -f 680/692/287 679/691/286 999/1019/500 -f 685/697/290 997/1017/498 633/645/271 -f 914/932/16 121/121/42 969/989/16 -f 552/563/231 821/835/387 553/564/232 -f 804/818/380 995/1015/496 556/567/235 -f 1003/1023/16 1004/1024/16 1005/1025/16 -f 703/716/299 694/707/298 646/658/16 -f 646/658/16 635/647/272 114/114/40 -f 913/931/16 603/614/16 121/121/42 -f 121/121/42 970/990/254 969/989/16 -f 114/114/40 121/121/42 603/614/16 -f 570/581/247 918/936/462 917/935/237 -f 1006/1026/24 991/1027/24 125/1028/24 -f 127/127/24 126/126/24 123/123/24 -f 616/628/22 615/627/22 820/834/22 -f 1007/1029/503 1008/1030/22 1009/1031/22 -f 1010/1032/504 585/596/254 584/595/253 -f 968/988/487 970/990/254 1011/1033/504 -f 1012/1034/34 1013/1035/34 1014/1036/34 -f 1015/1037/34 1012/1034/34 1016/1038/34 -f 1014/1036/34 1017/1039/34 1016/1038/34 -f 1012/1034/34 1014/1036/34 1016/1038/34 -f 1015/1037/34 1018/1040/34 1012/1034/34 -f 1019/1041/22 1020/1042/505 1021/1043/506 -f 1022/1044/16 1023/1045/16 1024/1046/507 -f 1025/1047/24 1026/1048/24 1027/1049/24 -f 1028/1050/34 1029/1051/34 1030/1052/34 -f 1031/1053/24 1032/1054/24 1027/1049/24 -f 1024/1046/507 1021/1043/506 1020/1042/505 -f 1033/1055/508 1034/1056/16 1035/1057/16 -f 1033/1055/508 1036/1058/508 1037/1059/509 -f 1038/1060/510 1039/1061/511 1040/1062/512 -f 1041/1063/34 1042/1064/34 1043/1065/34 -f 1043/1065/34 1042/1064/34 1016/1038/34 -f 1044/1066/6 1045/1067/6 1046/1068/6 -f 1047/1069/22 1048/1070/513 1049/1071/514 -f 1050/1072/6 1051/1073/515 1052/1074/516 -f 1053/1075/24 1054/1076/24 1055/1077/24 -f 1032/1054/24 1031/1053/24 1056/1078/24 -f 1056/1078/24 1057/1079/24 1055/1077/24 -f 1052/1074/516 1051/1073/515 1058/1080/517 -f 1059/1081/518 1060/1082/518 1061/1083/6 -f 1049/1071/514 1048/1070/513 1062/1084/510 -f 1030/1052/34 1018/1040/34 1015/1037/34 -f 1063/1085/16 1064/1086/16 1065/1087/16 -f 1059/1081/518 1066/1088/519 1067/1089/519 -f 1068/1090/520 1037/1059/509 1067/1089/519 -f 1013/1035/34 1069/1091/34 1014/1036/34 -f 1070/1092/16 34/34/16 36/36/16 -f 1071/1093/17 37/37/17 39/39/17 -f 1072/1094/6 40/40/6 42/42/6 -f 1073/1095/18 43/43/18 45/45/20 -f 1074/1096/16 1075/1097/16 1070/1092/16 -f 1076/1098/521 45/45/20 1077/1099/522 -f 36/36/16 1074/1096/16 1070/1092/16 -f 1075/1097/16 1078/1100/16 1070/1092/16 -f 1071/1093/17 39/39/17 1079/1101/17 -f 42/42/6 1080/1102/6 1072/1094/6 -f 45/45/20 44/44/19 1077/1099/522 -f 1081/1103/523 1082/1104/523 1083/1105/523 -f 1084/1106/524 117/117/41 626/638/265 -f 823/837/389 1085/1107/525 638/650/274 -f 823/837/389 638/650/274 640/652/276 -f 639/651/275 983/1003/491 640/652/276 -f 645/657/16 636/648/273 635/647/272 -f 1086/1108/526 1087/1109/527 1088/1110/528 -f 1089/1111/529 1090/1112/530 1091/1113/531 -f 1092/1114/532 1093/1115/533 1094/1116/534 -f 1093/1115/533 1095/1117/535 1094/1116/534 -f 982/1002/490 640/652/276 983/1003/491 -f 1091/1113/531 1090/1112/530 1096/1118/22 -f 1097/1119/6 1098/1120/536 1099/1121/6 -f 1100/1122/535 1085/1107/525 823/837/389 -f 1092/1114/532 1101/1123/6 1093/1115/533 -f 1102/1124/537 1103/1125/275 1104/1126/538 -f 1105/1127/1 1106/1128/1 1107/1129/539 -f 1108/1130/540 1092/1114/532 1109/1131/541 -f 1101/1123/6 1110/1132/6 1093/1115/533 -f 654/666/16 674/686/16 655/667/283 -f 651/663/6 659/671/284 652/664/282 -f 1111/1133/1 1112/1134/1 1113/1135/542 -f 1114/1136/543 1115/1137/544 1116/1138/24 -f 1115/1139/544 1114/1140/543 1117/1141/22 -f 1118/1142/34 1119/1143/34 1120/1144/545 -f 1121/1145/477 1122/1146/477 1123/1147/477 -f 1124/1148/546 595/606/256 594/605/255 -f 1122/1146/477 1125/1149/477 1123/1147/477 -f 1126/1150/477 1121/1145/477 1127/1151/477 -f 558/569/237 703/716/299 599/610/16 -f 1128/1152/24 1129/1153/24 1130/1154/24 -f 1131/1155/24 1132/1156/24 1129/1153/24 -f 933/951/471 1133/1157/547 934/952/472 -f 641/653/277 685/697/290 633/645/271 -f 687/699/292 684/696/16 685/697/290 -f 1122/1146/477 952/972/477 954/974/477 -f 1134/1158/477 954/974/477 953/973/477 -f 682/694/16 680/692/287 685/697/290 -f 1127/1151/477 1121/1145/477 1123/1147/477 -f 683/695/289 681/693/288 680/692/287 -f 615/627/22 819/833/22 820/834/22 -f 990/1010/494 928/946/470 927/945/469 -f 848/866/397 1135/1159/548 938/957/476 -f 1136/1160/549 933/951/471 935/953/473 -f 1116/1138/24 1137/1161/542 1113/1135/542 -f 1118/1142/34 1138/1162/550 1139/1163/551 -f 1120/1144/545 1140/1164/22 1117/1165/22 -f 1141/1166/1 1139/1163/551 1138/1162/550 -f 1142/1167/260 1143/1168/552 1144/1169/260 -f 617/629/259 619/631/260 1144/1169/260 -f 1145/1170/24 1146/1171/24 1147/1172/24 -f 1148/1173/24 1149/1174/24 1147/1172/24 -f 1150/1175/24 1151/1176/24 1149/1174/24 -f 1152/1177/22 602/613/22 604/618/22 -f 828/842/6 1153/1178/394 835/851/6 -f 840/856/22 1154/1179/22 841/857/22 -f 1155/1180/241 562/573/6 834/850/6 -f 1156/1181/257 1157/1182/485 1158/1183/553 -f 1159/1184/34 1160/1185/34 1161/1186/34 -f 1162/1187/16 1163/1188/16 1164/1189/16 -f 1165/1190/1 1166/1191/1 1167/1192/1 -f 1168/1193/1 1169/1194/1 1165/1190/1 -f 1153/1178/394 1170/1195/554 835/851/6 -f 1171/1196/555 1172/1197/555 1173/1198/556 -f 1174/1199/557 598/609/258 1158/1183/553 -f 1175/1200/6 1176/1201/6 1177/1202/6 -f 1178/1203/16 1179/1204/16 1180/1205/16 -f 1181/1206/558 1182/1207/558 1183/1208/559 -f 1107/1129/539 1184/1209/560 1185/1210/561 -f 1186/1211/6 1187/1212/6 1188/1213/6 -f 1189/1214/1 1190/1215/1 1191/1216/1 -f 1192/1217/562 1193/1218/563 1194/1219/564 -f 1195/1220/565 1196/1221/566 1197/1222/567 -f 1198/1223/568 1197/1222/567 1193/1218/563 -f 1199/1224/569 1200/1225/570 1201/1226/570 -f 1202/1227/6 1203/1228/6 1199/1224/569 -f 1204/1229/24 1205/1230/24 1206/1231/24 -f 1207/1232/24 1208/1233/24 1209/1234/24 -f 1184/1209/560 1210/1235/571 1211/1236/571 -f 830/847/393 1212/1237/572 1213/1238/573 -f 1214/1239/6 1215/1240/6 1216/1241/6 -f 1217/1242/558 1218/1243/558 1219/1244/574 -f 1176/1201/6 1175/1200/6 1098/1120/536 -f 1098/1120/536 1108/1130/540 1099/1121/6 -f 1220/1245/575 823/837/389 827/841/392 -f 1221/1246/554 1222/1247/576 1223/1248/576 -f 1224/1249/576 1225/1250/576 1170/1195/554 -f 1196/1221/566 1195/1220/565 1226/1251/22 -f 991/1027/24 1006/1026/24 1227/1252/24 -f 1228/1253/24 1206/1231/24 1207/1232/24 -f 1229/1254/24 1227/1252/24 1204/1255/24 -f 1230/1256/577 1231/1257/577 1232/1258/577 -f 1220/1245/575 1100/1122/535 823/837/389 -f 635/647/272 646/658/16 645/657/16 -f 1233/1259/274 1088/1110/528 1087/1109/527 -f 1234/1260/1 1235/1261/1 1236/1262/1 -f 1092/1114/532 1094/1116/534 1109/1131/541 -f 1237/1263/578 1238/1264/579 1239/1265/579 -f 1173/1198/556 1237/1263/578 1240/1266/580 -f 1241/1267/1 1172/1197/555 1171/1196/555 -f 1242/1268/581 1243/1269/581 1244/1270/581 -f 1245/1271/582 1246/1272/582 1247/1273/582 -f 1248/1274/6 1249/1275/6 1250/1276/6 -f 1251/1277/583 1252/1278/583 1253/1279/583 -f 1254/1280/584 1001/1021/41 1000/1020/501 -f 1255/1281/585 1256/1282/586 640/652/276 -f 1257/1283/587 1258/1284/588 1259/1285/589 -f 1260/1286/590 1261/1287/591 1262/1288/585 -f 1263/1289/592 1264/1290/593 1265/1291/594 -f 1255/1281/585 640/652/276 982/1002/490 -f 1256/1282/586 1255/1281/585 1258/1284/588 -f 1266/1292/588 1267/1293/497 1268/1294/595 -f 1267/1293/497 1266/1292/588 1262/1288/585 -f 1261/1287/591 1269/1295/596 1002/1022/502 -f 1270/1296/499 1271/1297/597 1272/1298/598 -f 1207/1232/24 1209/1234/24 1228/1253/24 -f 1228/1253/24 1229/1299/24 1204/1229/24 -f 1273/1300/22 616/628/22 931/949/22 -f 1186/1211/6 1274/1301/6 1187/1212/6 -f 1175/1200/6 1177/1202/6 1274/1301/6 -f 1186/1211/6 1275/1302/6 1175/1200/6 -f 1084/1106/524 626/638/265 628/640/267 -f 628/640/267 1179/1204/16 1178/1203/16 -f 1095/1117/535 1276/1303/575 1277/1304/599 -f 1099/1121/6 1108/1130/540 1109/1131/541 -f 1278/1305/600 1094/1116/534 1095/1117/535 -f 1276/1303/575 1279/1306/601 1277/1304/599 -f 1280/1307/6 1279/1306/601 1276/1303/575 -f 1281/1308/6 1280/1307/6 1282/1309/573 -f 1214/1239/6 1283/1310/572 1215/1240/6 -f 1284/1311/6 1281/1308/6 1283/1310/572 -f 1285/1312/6 1284/1311/6 1214/1239/6 -f 1286/1313/6 1287/1314/6 1285/1312/6 -f 1286/1313/6 1188/1213/6 1287/1314/6 -f 1186/1211/6 1175/1200/6 1274/1301/6 -f 1103/1125/275 1233/1259/274 1288/1315/602 -f 1282/1309/573 1280/1307/6 1276/1303/575 -f 1283/1310/572 1281/1308/6 1282/1309/573 -f 1214/1239/6 1284/1311/6 1283/1310/572 -f 1286/1313/6 1285/1312/6 1214/1239/6 -f 1289/1316/603 1290/1317/604 1291/1318/605 -f 1286/1313/6 1186/1211/6 1188/1213/6 -f 832/846/6 1221/1246/554 831/845/394 -f 839/855/22 842/859/22 837/853/22 -f 1292/1319/606 1293/1320/607 1294/1321/608 -f 958/978/480 967/987/486 1292/1319/606 -f 1295/1322/484 1296/1323/609 1157/1182/485 -f 1296/1323/609 1295/1322/484 1297/1324/610 -f 1297/1324/610 1294/1321/608 1293/1320/607 -f 1298/1325/611 1299/1326/612 1300/1327/613 -f 1299/1326/612 1301/1328/614 1302/1329/615 -f 1303/1330/616 1298/1325/611 1304/1331/617 -f 1301/1328/614 1305/1332/618 1306/1333/619 -f 1307/1334/620 1303/1330/616 1308/1335/621 -f 1305/1332/618 1309/1336/622 1310/1337/623 -f 1311/1338/624 1307/1334/620 1312/1339/625 -f 1309/1336/622 1313/1340/626 1314/1341/627 -f 1315/1342/628 1311/1338/624 1316/1343/629 -f 1313/1340/626 1174/1199/557 1317/1344/630 -f 1290/1317/604 1315/1342/628 1318/1345/631 -f 1319/1346/24 1320/1347/24 1321/1348/632 -f 1322/1349/16 1163/1188/16 1162/1187/16 -f 1164/1189/16 1323/1350/16 1162/1187/16 -f 1324/1351/1 1325/1352/1 1326/1353/1 -f 1323/1350/16 1327/1354/16 1328/1355/16 -f 597/608/1 1329/1356/1 1158/1183/553 -f 560/571/238 562/573/6 1155/1180/241 -f 1330/1357/633 1331/1358/634 1332/1359/635 -f 1332/1359/635 1333/1360/636 1334/1361/637 -f 1334/1361/637 1330/1357/633 1332/1359/635 -f 1335/1362/638 1336/1363/639 1330/1357/633 -f 1337/1364/640 1338/1365/388 1336/1363/639 -f 1339/1366/641 783/797/375 1340/1367/391 -f 565/576/242 625/637/264 563/574/240 -f 1341/1368/642 1342/1369/395 1338/1365/388 -f 783/797/375 564/575/241 1340/1367/391 -f 1339/1366/641 1343/1370/390 1342/1369/395 -f 565/576/242 780/794/373 778/792/371 -f 689/701/294 779/793/372 688/700/293 -f 779/793/372 780/794/373 688/700/293 -f 778/792/371 1344/1371/643 1345/1372/248 -f 689/701/294 649/661/281 1346/1373/644 -f 1344/1371/643 778/792/371 779/793/372 -f 1347/1374/645 1348/1375/646 1349/1376/647 -f 1348/1375/646 1347/1374/645 1350/1377/648 -f 1351/1378/649 1352/1379/650 1353/1380/651 -f 1350/1377/648 1354/1381/652 1355/1382/653 -f 1332/1359/635 1356/1383/654 1333/1360/636 -f 711/725/306 923/941/465 1334/1361/637 -f 923/941/465 921/939/464 1335/1362/638 -f 919/937/463 915/933/461 1341/1368/642 -f 1335/1362/638 921/939/464 919/937/463 -f 915/933/461 700/713/300 1339/1366/641 -f 1340/1367/391 1343/1370/390 1339/1366/641 -f 1357/1384/6 1358/1385/6 784/798/6 -f 624/636/238 564/575/241 563/574/240 -f 775/789/370 688/700/293 780/794/373 -f 1339/1366/641 700/713/300 918/936/462 -f 775/789/370 780/794/373 565/576/242 -f 783/797/375 918/936/462 570/581/247 -f 1359/1386/639 822/836/388 640/652/276 -f 1360/1387/655 1359/1386/639 1256/1282/586 -f 1361/1388/6 1362/1389/656 1360/1387/655 -f 1363/1390/6 1361/1388/6 1256/1282/586 -f 1364/1391/657 1363/1390/6 1257/1283/587 -f 1257/1283/587 1265/1291/594 1264/1290/593 -f 845/862/22 809/823/22 808/822/22 -f 1256/1282/586 1359/1386/639 640/652/276 -f 1361/1388/6 1360/1387/655 1256/1282/586 -f 1257/1283/587 1363/1390/6 1256/1282/586 -f 1264/1290/593 1364/1391/657 1257/1283/587 -f 825/839/391 1155/1180/241 834/850/6 -f 1365/1392/477 1366/1393/477 1367/1394/477 -f 1368/1395/477 1369/1396/477 1370/1397/477 -f 1368/1395/477 1370/1397/477 1367/1394/477 -f 1366/1393/477 1368/1395/477 1367/1394/477 -f 1366/1393/477 1365/1392/477 1371/1398/477 -f 1371/1398/477 1372/1399/477 1373/1400/477 -f 1134/1158/477 953/973/477 1373/1400/477 -f 1374/1401/658 1375/1402/659 1376/1403/660 -f 1376/1403/660 1377/1404/661 1378/1405/662 -f 1379/1406/663 1380/1407/664 1381/1408/665 -f 1382/1409/666 1380/1407/664 1379/1406/663 -f 1124/1148/546 1383/1410/667 1375/1402/659 -f 1121/1145/477 1126/1150/477 1369/1396/477 -f 1373/1400/477 1384/1411/477 1371/1398/477 -f 690/1412/22 606/617/22 839/855/22 -f 1385/1413/24 1386/1414/24 1387/1415/24 -f 1388/1416/6 1389/1417/6 1390/1418/6 -f 1391/1419/22 1392/1420/22 1393/1421/22 -f 1390/1422/6 1394/1423/6 1395/1424/6 -f 1396/1425/5 10/10/5 12/12/5 -f 1397/1426/6 13/13/6 15/15/6 -f 27/27/14 16/16/7 18/18/9 -f 1398/1427/11 19/19/10 21/21/11 -f 1399/1428/12 22/22/12 24/24/12 -f 18/18/9 25/25/13 27/27/14 -f 1400/1429/6 28/28/6 30/30/6 -f 1401/1430/15 31/31/15 33/33/15 -f 84/84/33 75/75/25 77/77/27 -f 54/54/21 78/78/28 57/57/23 -f 79/79/28 78/78/28 81/81/30 -f 81/81/30 80/80/29 83/83/32 -f 83/83/32 82/82/31 76/76/26 -f 1402/1431/34 86/86/34 88/88/34 -f 1403/1432/34 89/89/34 91/91/34 -f 1404/1433/22 92/92/22 94/94/22 -f 1405/1434/6 95/95/6 97/97/6 -f 1406/1435/6 98/98/6 100/100/6 -f 1407/1436/34 101/101/34 103/103/34 -f 251/257/73 109/109/35 111/111/37 -f 635/647/272 112/112/38 114/114/40 -f 578/589/16 115/115/16 117/117/41 -f 1408/1437/488 121/121/42 113/113/39 -f 1409/1438/24 125/125/24 127/127/24 -f 252/258/24 128/128/24 130/130/24 -f 253/259/72 131/131/43 133/133/45 -f 254/260/34 134/134/34 136/136/34 -f 111/111/37 110/110/36 138/138/47 -f 130/130/24 129/129/24 140/1439/24 -f 133/133/45 132/132/44 142/143/49 -f 136/136/34 135/135/34 144/145/34 -f 138/138/47 137/137/46 146/147/51 -f 140/1439/24 139/148/24 148/150/24 -f 142/143/49 141/142/48 150/152/53 -f 144/145/34 143/144/34 152/154/34 -f 146/1440/51 145/1441/50 154/1442/55 -f 148/150/24 147/149/24 156/158/24 -f 150/1443/53 149/1444/52 158/1445/57 -f 152/154/34 151/153/34 160/163/34 -f 1410/1446/78 161/1447/58 163/1448/60 -f 156/158/24 155/157/24 165/168/24 -f 1411/1449/77 166/169/61 168/171/63 -f 160/163/34 159/162/34 170/173/34 -f 163/1448/60 162/174/59 172/176/65 -f 165/168/24 164/167/24 174/178/24 -f 168/171/63 167/170/62 176/180/67 -f 170/173/34 169/172/34 178/182/34 -f 172/176/65 171/175/64 180/184/69 -f 174/178/24 173/177/24 182/186/24 -f 176/180/67 175/179/66 184/188/71 -f 178/182/34 177/181/34 186/190/34 -f 180/184/69 179/183/68 188/1450/72 -f 182/186/24 181/185/24 190/195/24 -f 184/188/71 183/187/70 192/197/73 -f 186/190/34 185/189/34 194/199/34 -f 188/1450/72 187/1451/43 196/1452/45 -f 190/195/24 189/194/24 198/203/24 -f 192/197/73 191/196/35 200/205/37 -f 194/199/34 193/198/34 202/207/34 -f 196/1452/45 195/1453/74 204/1454/49 -f 198/203/24 197/202/24 206/211/24 -f 200/205/37 199/204/36 208/213/47 -f 202/207/34 201/206/34 210/215/34 -f 204/1454/49 203/1455/48 212/1456/53 -f 206/211/24 205/210/24 214/219/24 -f 208/213/47 207/212/46 216/221/76 -f 210/215/34 209/214/34 218/223/34 -f 212/217/53 211/216/52 220/225/77 -f 214/219/24 213/218/24 222/227/24 -f 216/221/76 215/220/75 224/229/78 -f 218/223/34 217/222/34 226/231/34 -f 220/225/77 219/224/56 228/233/80 -f 222/227/24 221/226/24 230/235/24 -f 224/1457/78 223/236/54 232/238/60 -f 226/231/34 225/230/34 234/240/34 -f 228/233/80 227/232/79 236/242/67 -f 230/235/24 229/234/24 238/244/24 -f 232/238/60 231/237/59 240/246/65 -f 234/240/34 233/239/34 242/248/34 -f 236/242/67 235/241/66 244/250/71 -f 238/244/24 237/243/24 246/252/24 -f 240/246/65 239/245/64 248/254/69 -f 242/248/34 241/247/34 250/256/34 -f 244/250/71 243/249/70 251/257/73 -f 246/252/24 245/251/24 252/258/24 -f 248/254/69 247/253/68 253/259/72 -f 250/256/34 249/255/34 254/260/34 -f 278/284/6 255/261/6 257/263/6 -f 257/263/6 256/262/6 259/265/6 -f 259/265/6 258/264/6 261/267/6 -f 261/267/6 260/266/6 263/269/6 -f 263/269/6 262/268/6 265/271/6 -f 265/271/6 264/270/6 267/273/6 -f 267/273/6 266/272/6 269/275/6 -f 269/275/6 268/274/6 271/277/6 -f 271/277/6 270/276/6 273/279/6 -f 273/279/6 272/278/6 275/281/6 -f 275/281/6 274/280/6 277/283/6 -f 277/283/6 276/282/6 278/284/6 -f 289/295/88 279/285/81 281/287/83 -f 341/347/120 282/288/84 284/290/86 -f 294/300/92 288/294/87 289/295/88 -f 284/290/86 283/289/85 291/297/90 -f 1412/1458/197 293/299/91 294/300/92 -f 291/297/90 290/296/89 296/302/94 -f 305/311/101 298/304/95 300/306/97 -f 296/302/94 295/301/93 302/308/99 -f 310/316/105 304/310/100 305/311/101 -f 302/308/99 301/307/98 307/313/103 -f 315/321/108 309/315/104 310/316/105 -f 307/313/103 306/312/102 312/318/107 -f 320/326/111 314/320/102 315/321/108 -f 312/318/107 311/317/106 317/323/105 -f 325/331/99 319/325/110 320/326/111 -f 317/323/105 316/322/109 322/328/112 -f 330/336/115 324/330/113 325/331/99 -f 322/328/112 321/327/95 327/333/114 -f 336/342/118 329/335/89 330/336/115 -f 1413/1459/197 331/337/91 333/339/92 -f 340/346/86 335/341/117 336/342/118 -f 333/339/92 332/338/116 338/344/119 -f 281/287/83 280/286/82 340/346/86 -f 338/344/119 337/343/81 341/347/120 -f 359/365/138 348/354/127 357/363/136 -f 371/377/150 368/374/147 359/365/138 -f 400/406/179 370/376/149 371/377/150 -f 381/387/160 376/382/155 377/383/156 -f 376/382/155 381/387/160 379/385/158 -f 389/395/168 372/378/151 386/392/165 -f 379/385/158 391/397/170 376/382/155 -f 376/382/155 392/398/171 374/380/153 -f 389/395/168 386/392/165 391/397/170 -f 383/389/162 390/396/169 386/392/165 -f 396/402/175 394/400/173 375/381/154 -f 407/413/186 395/401/174 396/402/175 -f 399/405/178 397/403/176 342/348/121 -f 862/880/410 398/404/177 399/405/178 -f 359/365/138 369/375/148 348/354/127 -f 370/376/149 400/406/179 402/408/181 -f 409/415/188 406/412/185 396/402/175 -f 411/417/190 408/414/187 409/415/188 -f 861/879/409 410/416/189 409/415/188 -f 401/407/180 412/418/191 413/419/192 -f 421/427/102 417/423/103 419/425/193 -f 425/431/106 420/426/107 421/427/102 -f 419/425/193 418/424/99 423/429/93 -f 427/433/195 424/430/105 425/431/106 -f 431/437/95 426/432/194 427/433/195 -f 423/429/93 422/428/94 429/435/89 -f 433/439/96 430/436/197 431/437/95 -f 437/443/116 432/438/92 433/439/96 -f 429/435/89 428/434/196 435/441/85 -f 439/445/81 436/442/119 437/443/116 -f 440/446/84 438/444/120 439/445/81 -f 435/441/85 434/440/86 440/446/84 -f 445/451/16 441/447/16 443/449/16 -f 449/455/16 444/450/16 445/451/16 -f 443/449/16 442/448/16 447/453/16 -f 451/457/16 448/454/16 449/455/16 -f 454/461/16 450/456/16 451/457/16 -f 447/453/16 446/452/16 453/459/16 -f 456/463/16 414/460/16 454/461/16 -f 460/467/16 455/462/16 456/463/16 -f 453/459/16 452/458/16 458/465/16 -f 462/469/16 459/466/16 460/467/16 -f 463/470/16 461/468/16 462/469/16 -f 458/465/16 457/464/16 463/470/16 -f 471/478/99 467/474/98 469/476/103 -f 480/487/94 470/477/93 471/478/99 -f 469/476/103 468/475/102 474/481/107 -f 474/481/107 473/480/106 478/485/105 -f 490/497/90 479/486/89 480/487/94 -f 478/485/105 477/484/109 483/490/198 -f 503/510/203 486/493/199 488/495/200 -f 500/507/86 489/496/85 490/497/90 -f 1414/1460/201 492/499/201 494/501/202 -f 487/494/199 486/493/199 498/505/119 -f 502/509/120 499/506/84 500/507/86 -f 498/505/119 497/504/81 502/509/120 -f 493/500/202 503/510/203 494/501/202 -f 1415/1461/205 483/490/198 504/512/204 -f 1414/1460/201 505/513/205 492/499/201 -f 1416/1462/16 416/515/16 507/517/16 -f 551/562/230 511/522/207 513/524/209 -f 513/524/209 512/523/208 519/530/211 -f 519/530/211 518/529/210 523/534/213 -f 1417/1463/668 526/537/214 528/539/216 -f 528/539/216 527/538/215 532/543/218 -f 532/543/218 531/542/217 536/547/220 -f 1418/1464/16 537/548/16 539/550/221 -f 1419/1465/222 539/550/221 542/553/222 -f 536/547/220 535/546/219 544/555/224 -f 550/561/229 546/557/225 548/559/227 -f 1007/1029/503 549/560/228 550/561/229 -f 544/555/224 543/554/223 551/562/230 -f 806/820/382 555/566/234 552/563/231 -f 548/559/227 547/558/226 567/578/244 -f 1420/1466/1 572/583/1 574/585/1 -f 1382/1409/666 580/591/249 582/593/251 -f 1421/1467/1 587/598/1 589/600/1 -f 581/592/250 594/605/255 582/593/251 -f 963/983/485 596/607/257 598/609/258 -f 1422/1468/24 607/619/24 609/621/24 -f 609/621/24 608/620/24 611/623/24 -f 610/622/24 612/624/24 611/623/24 -f 569/580/246 568/579/245 623/635/263 -f 1345/1372/248 624/636/238 625/637/264 -f 1423/1469/524 632/644/270 634/646/41 -f 112/112/38 635/647/272 637/649/267 -f 689/701/294 647/659/279 649/661/281 -f 704/954/22 678/690/22 614/626/22 -f 1424/1470/16 695/708/16 697/710/16 -f 807/821/383 706/720/34 708/722/303 -f 1425/1471/669 715/729/310 717/731/312 -f 911/929/459 718/732/313 713/727/308 -f 739/753/334 735/749/330 737/751/332 -f 1426/1472/22 787/801/22 789/803/22 -f 1427/1473/6 790/804/6 792/806/6 -f 1428/1474/670 793/807/376 795/809/376 -f 1429/1475/1 796/810/1 798/812/1 -f 1430/1476/22 799/813/378 801/815/22 -f 781/795/374 554/565/233 807/821/383 -f 816/830/34 811/825/34 812/826/384 -f 811/825/34 813/827/34 781/795/374 -f 812/826/384 814/828/385 816/830/34 -f 814/828/385 812/826/384 818/832/386 -f 552/563/231 556/567/235 821/835/387 -f 841/857/22 846/863/22 838/858/22 -f 851/869/399 847/865/396 849/867/398 -f 1431/1477/16 850/868/16 851/869/399 -f 1432/1478/671 346/352/125 852/870/400 -f 400/406/179 853/871/401 401/407/180 -f 853/871/401 854/872/402 412/418/191 -f 863/881/411 854/872/402 856/874/404 -f 400/406/179 371/377/150 853/871/401 -f 365/371/144 858/876/406 364/370/143 -f 1433/1479/672 858/876/406 857/875/405 -f 1433/1479/672 857/875/405 408/414/187 -f 360/366/139 357/363/136 860/878/408 -f 348/354/127 350/356/129 362/368/141 -f 737/751/332 736/750/331 768/782/363 -f 899/917/447 876/894/424 731/745/326 -f 876/894/424 877/895/425 732/746/327 -f 880/898/428 881/899/429 883/901/431 -f 886/904/434 882/900/430 884/902/432 -f 873/891/421 879/897/427 889/907/437 -f 895/913/443 894/912/442 881/899/429 -f 893/911/441 895/913/443 880/898/428 -f 895/913/443 889/907/437 894/912/442 -f 895/913/443 893/911/441 889/907/437 -f 883/901/431 897/915/445 719/733/314 -f 897/915/445 773/787/368 720/734/315 -f 774/788/369 898/916/446 742/756/337 -f 898/916/446 756/770/351 740/754/335 -f 766/780/361 899/917/447 736/750/331 -f 758/772/353 878/896/426 759/773/354 -f 748/762/343 900/918/448 720/734/315 -f 900/918/448 902/920/450 901/919/449 -f 903/921/451 764/778/359 901/919/449 -f 727/741/322 904/922/452 760/774/355 -f 727/741/322 765/779/360 906/924/454 -f 904/922/452 907/925/455 758/772/353 -f 1434/1480/673 908/926/456 904/922/452 -f 907/925/455 908/926/456 761/775/356 -f 761/775/356 732/746/327 907/925/455 -f 770/784/365 909/927/457 769/783/364 -f 746/760/341 909/927/457 747/761/342 -f 900/918/448 747/761/342 902/920/450 -f 755/769/350 768/782/363 763/777/358 -f 718/732/313 911/929/459 716/730/311 -f 583/594/252 912/930/460 647/659/279 -f 912/930/460 583/594/252 623/635/263 -f 698/711/298 700/713/300 916/934/297 -f 916/934/297 915/933/461 920/938/278 -f 920/938/278 919/937/463 922/940/277 -f 922/940/277 921/939/464 924/942/466 -f 1435/1481/6 929/947/6 930/948/6 -f 1135/1159/548 936/955/474 938/957/476 -f 936/955/474 939/1482/6 937/956/475 -f 1436/1483/16 941/1484/16 943/1485/16 -f 1437/1486/22 946/966/22 948/968/22 -f 1438/1487/16 949/969/16 951/971/16 -f 1439/1488/674 955/975/478 957/977/478 -f 962/982/484 961/981/483 959/979/481 -f 961/981/483 962/982/484 963/983/485 -f 1440/1489/1 964/984/1 966/986/1 -f 1441/1490/378 972/992/378 974/994/22 -f 692/705/296 992/1012/34 807/821/383 -f 1442/1491/34 993/1013/495 707/721/34 -f 1443/1492/386 708/722/303 994/1014/386 -f 997/1017/498 685/697/290 996/1016/497 -f 681/693/288 998/1018/499 679/691/286 -f 1269/1295/596 1000/1020/501 1002/1022/502 -f 996/1016/497 680/692/287 999/1019/500 -f 1444/1493/16 1003/1023/16 1005/1025/16 -f 549/560/228 1007/1029/503 1009/1031/22 -f 1445/1494/504 1010/1032/504 584/595/253 -f 1446/1495/504 968/988/487 1011/1033/504 -f 1062/1084/510 1019/1041/22 1021/1043/506 -f 1447/1496/675 1022/1044/16 1024/1046/507 -f 1448/1497/24 1025/1047/24 1027/1049/24 -f 1449/1498/34 1028/1050/34 1030/1052/34 -f 1026/1048/24 1031/1053/24 1027/1049/24 -f 1447/1496/675 1024/1046/507 1020/1042/505 -f 1036/1058/508 1033/1055/508 1035/1057/16 -f 1068/1090/520 1033/1055/508 1037/1059/509 -f 1450/1499/512 1038/1060/510 1040/1062/512 -f 1451/1500/34 1041/1063/34 1043/1065/34 -f 1017/1039/34 1043/1065/34 1016/1038/34 -f 1058/1080/517 1047/1069/22 1049/1071/514 -f 1452/1501/6 1050/1072/6 1052/1074/516 -f 1057/1079/24 1053/1075/24 1055/1077/24 -f 1453/1502/24 1032/1054/24 1056/1078/24 -f 1453/1502/24 1056/1078/24 1055/1077/24 -f 1049/1071/514 1052/1074/516 1058/1080/517 -f 1454/1503/6 1059/1081/518 1061/1083/6 -f 1021/1043/506 1049/1071/514 1062/1084/510 -f 1449/1498/34 1030/1052/34 1015/1037/34 -f 1060/1082/518 1059/1081/518 1067/1089/519 -f 1066/1088/519 1068/1090/520 1067/1089/519 -f 1455/1504/523 1081/1103/523 1083/1105/523 -f 1456/1505/676 1089/1111/529 1091/1113/531 -f 1457/1506/677 1102/1124/537 1104/1126/538 -f 1458/1507/678 1105/1127/1 1107/1129/539 -f 1137/1161/542 1111/1133/1 1113/1135/542 -f 1459/1508/24 1114/1136/543 1116/1138/24 -f 1140/1509/22 1115/1139/544 1117/1141/22 -f 1460/1510/545 1118/1142/34 1120/1144/545 -f 1383/1410/667 1124/1148/546 594/605/255 -f 1461/1511/24 1128/1152/24 1130/1154/24 -f 1128/1152/24 1131/1155/24 1129/1153/24 -f 1125/1149/477 1122/1146/477 954/974/477 -f 849/867/398 848/866/397 938/957/476 -f 1459/1508/24 1116/1138/24 1113/1135/542 -f 1119/1143/34 1118/1142/34 1139/1163/551 -f 1460/1510/545 1120/1144/545 1117/1165/22 -f 1462/1512/1 1141/1513/1 1138/1514/550 -f 1143/1168/552 617/629/259 1144/1169/260 -f 1463/1515/24 1145/1170/24 1147/1172/24 -f 1146/1171/24 1148/1173/24 1147/1172/24 -f 1148/1173/24 1150/1175/24 1149/1174/24 -f 690/702/22 1152/1177/22 604/618/22 -f 1329/1356/1 1156/1181/257 1158/1183/553 -f 1464/1516/34 1159/1184/34 1161/1186/34 -f 1167/1192/1 1168/1193/1 1165/1190/1 -f 1465/1517/556 1171/1196/555 1173/1198/556 -f 1317/1344/630 1174/1199/557 1158/1183/553 -f 1466/1518/16 1178/1203/16 1180/1205/16 -f 1457/1506/677 1467/1519/679 1102/1124/537 -f 1458/1507/678 1107/1129/539 1185/1210/561 -f 1468/1520/1 1189/1214/1 1191/1216/1 -f 1469/1521/680 1192/1217/562 1194/1219/564 -f 1198/1223/568 1195/1220/565 1197/1222/567 -f 1192/1217/562 1198/1223/568 1193/1218/563 -f 1470/1522/569 1199/1224/569 1201/1226/570 -f 1470/1522/569 1202/1227/6 1199/1224/569 -f 1228/1253/24 1204/1229/24 1206/1231/24 -f 1185/1210/561 1184/1209/560 1211/1236/571 -f 827/841/392 830/847/393 1213/1238/573 -f 1097/1119/6 1176/1201/6 1098/1120/536 -f 1213/1238/573 1220/1245/575 827/841/392 -f 831/845/394 1221/1246/554 1223/1248/576 -f 1153/1178/394 1224/1249/576 1170/1195/554 -f 1471/1523/22 1196/1221/566 1226/1251/22 -f 1229/1254/24 991/1027/24 1227/1252/24 -f 1472/1524/577 1230/1256/577 1232/1258/577 -f 1288/1315/602 1233/1259/274 1087/1109/527 -f 1473/1525/1 1234/1260/1 1236/1262/1 -f 1240/1266/580 1237/1263/578 1239/1265/579 -f 1465/1517/556 1173/1198/556 1240/1266/580 -f 1474/1526/1 1241/1267/1 1171/1196/555 -f 1475/1527/581 1242/1268/581 1244/1270/581 -f 1476/1528/582 1245/1271/582 1247/1273/582 -f 1477/1529/6 1248/1274/6 1250/1276/6 -f 1478/1530/583 1251/1277/583 1253/1279/583 -f 1260/1286/590 1254/1280/584 1000/1020/501 -f 1265/1291/594 1257/1283/587 1259/1285/589 -f 1254/1280/584 1260/1286/590 1262/1288/585 -f 1259/1285/589 1263/1289/592 1265/1291/594 -f 1257/1283/587 1256/1282/586 1258/1284/588 -f 1272/1298/598 1266/1292/588 1268/1294/595 -f 1002/1022/502 1267/1293/497 1262/1288/585 -f 1262/1288/585 1261/1287/591 1002/1022/502 -f 1268/1294/595 1270/1296/499 1272/1298/598 -f 1084/1106/524 628/640/267 1178/1203/16 -f 1277/1304/599 1278/1305/600 1095/1117/535 -f 1104/1126/538 1103/1125/275 1288/1315/602 -f 1479/1531/681 1289/1316/603 1291/1318/605 -f 1294/1321/608 958/978/480 1292/1319/606 -f 1156/1181/257 1295/1322/484 1157/1182/485 -f 1293/1320/607 1296/1323/609 1297/1324/610 -f 1304/1331/617 1298/1325/611 1300/1327/613 -f 1300/1327/613 1299/1326/612 1302/1329/615 -f 1308/1335/621 1303/1330/616 1304/1331/617 -f 1302/1329/615 1301/1328/614 1306/1333/619 -f 1312/1339/625 1307/1334/620 1308/1335/621 -f 1306/1333/619 1305/1332/618 1310/1337/623 -f 1316/1343/629 1311/1338/624 1312/1339/625 -f 1310/1337/623 1309/1336/622 1314/1341/627 -f 1318/1345/631 1315/1342/628 1316/1343/629 -f 1314/1341/627 1313/1340/626 1317/1344/630 -f 1291/1318/605 1290/1317/604 1318/1345/631 -f 1480/1532/608 1319/1346/24 1321/1348/632 -f 1481/1533/1 1324/1351/1 1326/1353/1 -f 1162/1187/16 1323/1350/16 1328/1355/16 -f 598/609/258 597/608/1 1158/1183/553 -f 1334/1361/637 1335/1362/638 1330/1357/633 -f 1335/1362/638 1337/1364/640 1336/1363/639 -f 1337/1364/640 1341/1368/642 1338/1365/388 -f 1341/1368/642 1339/1366/641 1342/1369/395 -f 625/637/264 778/792/371 1345/1372/248 -f 779/793/372 689/701/294 1346/1373/644 -f 1346/1373/644 1344/1371/643 779/793/372 -f 1353/1380/651 1347/1374/645 1349/1376/647 -f 1355/1382/653 1348/1375/646 1350/1377/648 -f 1349/1376/647 1351/1378/649 1353/1380/651 -f 1333/1360/636 711/725/306 1334/1361/637 -f 1334/1361/637 923/941/465 1335/1362/638 -f 1337/1364/640 919/937/463 1341/1368/642 -f 1337/1364/640 1335/1362/638 919/937/463 -f 1341/1368/642 915/933/461 1339/1366/641 -f 786/800/6 1357/1384/6 784/798/6 -f 783/797/375 1339/1366/641 918/936/462 -f 570/581/247 775/789/370 565/576/242 -f 565/576/242 783/797/375 570/581/247 -f 819/833/22 845/862/22 808/822/22 -f 1384/1411/477 1366/1393/477 1371/1398/477 -f 1372/1399/477 1134/1158/477 1373/1400/477 -f 1482/1534/682 1374/1401/658 1376/1403/660 -f 1482/1534/682 1376/1403/660 1378/1405/662 -f 1483/1535/661 1379/1406/663 1381/1408/665 -f 580/591/249 1382/1409/666 1379/1406/663 -f 1374/1401/658 1124/1148/546 1375/1402/659 -f 1368/1395/477 1121/1145/477 1369/1396/477 -f 844/861/22 690/1412/22 839/855/22 -f 1484/1536/24 1385/1413/24 1387/1415/24 -f 1485/1537/22 1391/1419/22 1393/1421/22 -f 1388/1416/6 1390/1418/6 1395/1538/6 -f 1/1/1 3/3/1 1486/1539/1 -f 1/1/1 6/6/1 5/5/1 -f 6/6/1 1/1/1 1486/1539/1 -f 84/84/33 4/4/2 6/6/1 -o mag_pistol_0 -v -1.109136 1.854146 1.546994 -v -1.109136 6.483851 2.313161 -v -1.109136 1.746315 1.309461 -v 1.109136 6.483851 2.313161 -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.432841 -v -0.855096 7.454038 0.681172 -v -0.637953 7.455005 0.432841 -v -1.109136 7.447666 2.316916 -v -0.851242 7.447666 2.316916 -v -0.645065 7.456246 0.114420 -v -0.808240 7.456246 0.114420 -v -0.882817 -7.449294 -6.242330 -v -1.332151 -7.578506 -5.806303 -v -1.109136 -7.583718 -5.788712 -v -1.260158 -8.694220 -2.041337 -v -1.109136 -8.686133 -2.068621 -v -0.818644 -8.777006 -1.761974 -v -0.549908 -9.201518 -0.329464 -v 0.549908 -9.201518 -0.329464 -v 0.855096 7.454038 0.681172 -v 1.109136 7.455005 0.432841 -v 0.637953 7.455005 0.432841 -v 0.645065 7.456246 0.114420 -v 0.808240 7.456246 0.114420 -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.487273 -6.114169 -v 0.791829 -7.487273 -6.114169 -v 0.882817 -7.449294 -6.242330 -v 1.109136 -7.583718 -5.788712 -v 1.332151 -7.578506 -5.806303 -v 1.109136 -8.686133 -2.068621 -v -0.527911 -9.865828 -0.558223 -v 0.527911 -9.865828 -0.558223 -v 0.549908 -9.201518 -0.329464 -v 0.527911 -9.865828 -0.558223 -v -0.527911 -9.865828 -0.558223 -v -1.263812 -9.320386 -2.284041 -v -0.889556 -7.991922 -6.487401 -v 0.889556 -7.991922 -6.487401 -v 1.326758 -8.130615 -6.048566 -v 1.263812 -9.320386 -2.284041 -v -1.326758 -8.130615 -6.048566 -v 1.260158 -8.694220 -2.041337 -v 0.818644 -8.777006 -1.761974 -v -0.440888 6.323021 -0.358271 -v 1.109136 7.447666 2.316916 -v -0.549908 -9.201518 -0.329464 -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.184810 -v -0.823423 6.188930 3.832172 -v -0.613250 5.916148 3.869261 -v 0.639183 4.693711 3.350439 -v 0.613250 5.916148 3.869261 -v -0.791829 -7.487273 -6.114169 -v -0.440888 6.323021 -0.358271 -v 0.791829 -7.487273 -6.114169 -v 1.109136 6.187971 4.078715 -v 1.109136 1.608211 2.157616 -v 1.109136 7.455005 0.432841 -v 1.109136 -7.583718 -5.788712 -v 1.109136 1.421237 1.150594 -v 1.109136 1.152737 1.225781 -v 0.613250 6.186937 4.344060 -v 0.613250 5.905007 4.230343 -v 0.807799 6.186929 4.345726 -v -0.367306 5.610397 4.110493 -v -0.804550 1.432484 2.382775 -v 0.367306 5.610397 4.110493 -v -0.613250 6.186937 4.344060 -v -0.807799 6.186929 4.345726 -v -0.613250 5.905007 4.230343 -v -0.818644 -8.777006 -1.761974 -v 0.818644 -8.777006 -1.761974 -v -0.775337 0.764493 2.107609 -v -1.109136 1.608211 2.157616 -v -1.109136 7.455005 0.432841 -v -1.109136 1.421237 1.150594 -v -1.109136 -7.583718 -5.788712 -v -1.109136 1.152737 1.225781 -v -0.629678 6.747400 -0.181054 -v 0.440888 6.323021 -0.358271 -v 0.629678 6.747400 -0.181054 -v -0.784480 5.973367 0.123958 -v -0.784649 4.758710 3.184810 -v 0.784480 5.973367 0.123958 -v 1.109136 7.447666 2.316916 -v 1.109136 -8.686133 -2.068621 -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.068621 -v -1.109136 6.187971 4.078715 -v -0.613250 6.189570 3.985306 -v -1.109136 6.193875 2.563060 -v -1.109136 6.187971 4.078715 -v -0.823423 6.188930 3.832172 -v -0.808240 7.456246 0.114420 -v -1.109136 7.447666 2.316916 -v -1.109136 6.483851 2.313161 -v -0.839998 6.483851 2.313161 -v -0.855295 6.193875 2.563060 -v -0.855096 7.454038 0.681172 -v -0.851242 7.447666 2.316916 -v -0.839998 6.483851 2.313161 -v -0.613250 5.916148 3.869261 -v -0.613250 5.905007 4.230343 -v -0.367306 5.610397 4.110493 -v -0.613250 6.189570 3.985306 -v -0.613250 6.186937 4.344060 -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.761974 -v -1.326758 -8.130615 -6.048566 -v -1.332151 -7.578506 -5.806303 -v -0.882817 -7.449294 -6.242330 -v -1.263812 -9.320386 -2.284041 -v -1.260158 -8.694220 -2.041337 -v -0.527911 -9.865828 -0.558223 -v -0.549908 -9.201518 -0.329464 -v -0.855295 6.193875 2.563060 -v -0.637953 7.455005 0.432841 -v -0.610240 6.670014 0.107513 -v -0.586664 6.044359 -0.058251 -v -0.413784 6.208827 -0.016872 -v -0.629678 6.747400 -0.181054 -v -0.645065 7.456246 0.114420 -v -0.610240 6.670014 0.107513 -v -0.784480 5.973367 0.123958 -v -0.637953 7.455005 0.432841 -v -0.413784 6.208827 -0.016872 -v -0.440888 6.323021 -0.358271 -v -0.807799 6.186929 4.345726 -v -0.613250 6.189570 3.985306 -v 0.586664 6.044359 -0.058251 -v 0.889556 -7.991922 -6.487401 -v -0.889556 -7.991922 -6.487401 -v 0.784480 5.973367 0.123958 -v 0.855096 7.454038 0.681172 -v 0.610240 6.670014 0.107513 -v 0.637953 7.455005 0.432841 -v 0.645065 7.456246 0.114420 -v 0.610240 6.670014 0.107513 -v 1.109136 6.187971 4.078715 -v 1.109136 6.193875 2.563060 -v 0.823423 6.188930 3.832172 -v 0.851242 7.447666 2.316916 -v 0.839998 6.483851 2.313161 -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.181054 -v 0.807799 6.186929 4.345726 -v 0.613250 6.189570 3.985306 -v 0.784649 4.758710 3.184810 -v 0.586664 6.044359 -0.058251 -v 0.613250 6.186937 4.344060 -v 0.613250 6.189570 3.985306 -v 0.823423 6.188930 3.832172 -v 0.808240 7.456246 0.114420 -v 1.109136 7.447666 2.316916 -v 0.851242 7.447666 2.316916 -v 0.839998 6.483851 2.313161 -v 1.109136 6.483851 2.313161 -v 0.855295 6.193875 2.563060 -v -0.330292 5.643600 3.823889 -v 0.367306 5.610397 4.110493 -v 0.613250 5.916148 3.869261 -v 0.330292 5.643600 3.823889 -v 0.613250 5.905007 4.230343 -v 0.613250 6.186937 4.344060 -v 0.807799 6.186929 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.761974 -v -0.613250 6.186937 4.344060 -v 1.326758 -8.130615 -6.048566 -v 0.882817 -7.449294 -6.242330 -v 1.332151 -7.578506 -5.806303 -v 1.260158 -8.694220 -2.041337 -v 1.263812 -9.320386 -2.284041 -v 0.549908 -9.201518 -0.329464 -v 0.637953 7.455005 0.432841 -v 0.610240 6.670014 0.107513 -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.184810 -v -1.109136 7.447666 2.316916 -v -0.851242 7.447666 2.316916 -v -0.807799 6.186929 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.558223 -v 0.645065 7.456246 0.114420 -v -0.645065 7.456246 0.114420 -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.335363 0.817407 -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.296468 0.862987 -vt 0.296171 0.863007 -vt 0.296386 0.863086 -vt 0.296139 0.863393 -vt 0.296375 0.863361 -vt 0.296301 0.863656 -vt 0.296450 0.863484 -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.335928 0.815727 -vt 0.336384 0.815738 -vt 0.335562 0.813576 -vt 0.335880 0.815923 -vt 0.336756 0.815704 -vt 0.336722 0.815432 -vt 0.335975 0.820462 -vt 0.336109 0.820051 -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.338293 0.815922 -vt 0.338229 0.815719 -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.337407 0.815436 -vt 0.337372 0.815710 -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.339004 0.817387 -vt 0.338796 0.817419 -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.338482 0.820342 -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.299359 0.862966 -vt 0.300174 0.863004 -vt 0.300297 0.862779 -vt 0.300257 0.863103 -vt 0.300477 0.863024 -vt 0.300265 0.863381 -vt 0.300502 0.863417 -vt 0.300188 0.863503 -vt 0.300332 0.863678 -vt 0.299357 0.863640 -vt 0.317870 0.827942 -vt 0.317895 0.827574 -vt 0.308779 0.827646 -vt 0.336132 0.820332 -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.352318 0.454386 -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.335570 0.817415 -vt 0.323128 0.837416 -vt 0.297271 0.863612 -vt 0.296386 0.863086 -vt 0.297273 0.862936 -vt 0.317935 0.837436 -vt 0.338501 0.820063 -vt 0.299652 0.863857 -vt 0.352262 0.453765 -vt 0.322736 0.831880 -vt 0.322741 0.833092 -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.0034 -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.0009 0.3847 -0.9230 -vn 0.0010 0.3847 -0.9230 -vn 0.0009 0.3847 -0.9230 -vn 0.0000 0.9310 0.3650 -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.0039 -0.2479 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.0482 -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.0012 1.0000 0.0025 -vn -0.9999 0.0117 -0.0023 -vn -0.9998 0.0092 0.0149 -vn -0.9997 0.0240 0.0100 -vn -0.0058 -0.2497 0.9683 -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.9304 0.3666 -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 -usemtl Material.001 -s off -f 1487/1540/683 1488/1541/683 1489/1542/683 -f 1490/1543/684 1491/1544/684 1492/1545/684 -f 1490/1543/684 1492/1545/684 1493/1546/684 -f 1487/1540/683 1494/1547/683 1488/1541/683 -f 1495/1548/685 1496/1549/685 1497/1550/685 -f 1495/1548/685 1498/1551/685 1499/1552/685 -f 1497/1550/685 1500/1553/685 1501/1554/685 -f 1502/1555/686 1503/1556/686 1504/1557/686 -f 1503/1556/686 1505/1558/686 1506/1559/686 -f 1501/1554/685 1495/1548/685 1497/1550/685 -f 1507/1560/686 1508/1561/686 1509/1562/686 -f 1510/1563/685 1511/1564/685 1512/1565/685 -f 1513/1566/685 1512/1565/685 1514/1567/685 -f 1515/1568/687 1516/1569/687 1517/1570/687 -f 1511/1564/685 1510/1563/685 1518/1571/685 -f 1502/1555/686 1519/1572/686 1520/1573/686 -f 1521/1574/686 1520/1573/686 1522/1575/686 -f 1523/1576/686 1522/1575/686 1524/1577/686 -f 1525/1578/688 1526/1579/688 1527/1580/688 -f 1511/1564/685 1514/1567/685 1512/1565/685 -f 1528/1581/689 1529/1582/689 1530/1583/689 -f 1531/1584/689 1532/1585/689 1533/1586/689 -f 1534/1587/689 1530/1583/689 1535/1588/689 -f 1536/1589/686 1524/1577/686 1537/1590/686 -f 1496/1549/685 1495/1548/685 1499/1552/685 -f 1519/1572/686 1502/1555/686 1504/1557/686 -f 1504/1557/686 1503/1556/686 1506/1559/686 -f 1537/1590/686 1507/1560/686 1509/1562/686 -f 1538/1591/687 1515/1568/687 1517/1570/687 -f 1539/1592/685 1511/1564/685 1518/1571/685 -f 1521/1574/686 1502/1555/686 1520/1573/686 -f 1523/1576/686 1521/1574/686 1522/1575/686 -f 1536/1589/686 1523/1576/686 1524/1577/686 -f 1540/1593/688 1525/1578/688 1527/1580/688 -f 1534/1587/689 1528/1581/689 1530/1583/689 -f 1535/1588/689 1531/1584/689 1533/1586/689 -f 1533/1586/689 1534/1587/689 1535/1588/689 -f 1509/1562/686 1536/1589/686 1537/1590/686 -f 1507/1560/686 1506/1559/686 1508/1561/686 -s 1 -f 1541/1594/690 1542/1595/691 1543/1596/692 -f 1543/1596/692 1544/1597/693 1545/1598/694 -f 1543/1596/692 1546/1599/695 1541/1594/690 -f 1542/1595/691 1547/1600/696 1543/1596/692 -f 1542/1595/691 1548/1601/697 1547/1600/696 -f 1549/1602/698 1550/1603/699 1551/1604/700 -f 1552/1605/701 1553/1606/702 1491/1544/684 -f 1554/1607/703 1490/1543/684 1493/1546/684 -f 1555/1608/704 1554/1607/703 1556/1609/684 -f 1556/1609/684 1557/1610/684 1555/1608/704 -f 1558/1611/705 1559/1612/706 1560/1613/707 -f 1561/1614/708 1562/1615/709 1563/1616/710 -f 1564/1617/711 1565/1618/712 1566/1619/713 -f 1567/1620/714 1568/1621/715 1569/1622/716 -f 1487/1540/683 1570/1623/717 1494/1547/683 -f 1489/1542/683 1571/1624/718 1572/1625/683 -f 1572/1625/683 1573/1626/719 1574/1627/683 -f 1549/1602/698 1575/1628/720 1550/1603/699 -f 1550/1603/699 1576/1629/721 1551/1604/700 -f 1551/1604/700 1576/1629/721 1577/1630/722 -f 1578/1631/723 1579/1632/724 1580/1633/725 -f 1554/1607/703 1581/1634/684 1490/1543/684 -f 1553/1606/702 1492/1545/684 1491/1544/684 -f 1554/1607/703 1493/1546/684 1556/1609/684 -f 1557/1610/684 1582/1635/726 1555/1608/704 -f 1559/1612/706 1583/1636/727 1560/1613/707 -f 1559/1612/706 1563/1616/710 1583/1636/727 -f 1562/1615/709 1583/1636/727 1563/1616/710 -f 1561/1614/708 1566/1619/713 1562/1615/709 -f 1565/1618/712 1562/1615/709 1566/1619/713 -f 1568/1621/715 1584/1637/728 1569/1622/716 -f 1585/1638/729 1574/1627/683 1586/1639/730 -f 1488/1541/683 1571/1624/718 1489/1542/683 -f 1570/1623/717 1587/1640/731 1494/1547/683 -f 1571/1624/718 1573/1626/719 1572/1625/683 -f 1573/1626/719 1586/1639/730 1574/1627/683 -f 1545/1598/694 1588/1641/732 1546/1599/695 -f 1589/1642/733 1590/1643/734 1591/1644/735 -f 1592/1645/736 1549/1602/698 1573/1626/719 -f 1593/1646/737 1594/1647/738 1595/1648/739 -f 1594/1647/738 1589/1642/733 1596/1649/740 -f 1597/1650/741 1598/1651/742 1599/1652/743 -f 1600/1653/744 1601/1654/745 1602/1655/746 -f 1600/1653/744 1603/1656/684 1604/1657/684 -f 1587/1640/731 1570/1623/717 1605/1658/709 -f 1606/1659/747 1607/1660/748 1608/1661/749 -f 1609/1662/750 1608/1661/749 1607/1660/748 -f 1610/1663/751 1611/1664/752 1612/1665/753 -f 1611/1664/752 1613/1666/754 1614/1667/755 -f 1613/1666/754 1615/1668/756 1616/1669/757 -f 1615/1668/756 1617/1670/758 1618/1671/759 -f 1617/1670/758 1619/1672/760 1620/1673/761 -f 1585/1638/729 1586/1639/730 1621/1674/714 -f 1622/1675/762 1623/1676/763 1624/1677/764 -f 1622/1675/762 1625/1678/765 1626/1679/766 -f 1625/1678/765 1627/1680/767 1628/1681/768 -f 1544/1597/693 1629/1682/769 1545/1598/694 -f 1630/1683/770 1597/1650/741 1631/1684/771 -f 1631/1684/771 1632/1685/772 1633/1686/773 -f 1634/1687/774 1635/1688/775 1636/1689/776 -f 1597/1650/741 1637/1690/777 1631/1684/771 -f 1635/1688/775 1638/1691/778 1636/1689/776 -f 1637/1690/777 1599/1652/743 1629/1682/769 -f 1639/1692/779 1640/1693/780 1634/1687/774 -f 1590/1643/734 1641/1694/781 1642/1695/782 -f 1637/1690/777 1597/1650/741 1599/1652/743 -f 1596/1649/740 1589/1642/733 1591/1644/735 -f 1544/1597/693 1637/1690/777 1629/1682/769 -f 1631/1684/771 1637/1690/777 1632/1685/772 -f 1632/1685/772 1643/1696/783 1633/1686/773 -f 1636/1689/776 1639/1692/779 1634/1687/774 -f 1644/1697/784 1645/1698/785 1624/1677/764 -f 1646/1699/786 1647/1700/787 1648/1701/788 -f 1649/1702/789 1650/1703/790 1651/1704/788 -f 1652/1705/791 1653/1706/792 1654/1707/793 -f 1655/1708/794 1647/1700/787 1656/1709/795 -f 1656/1709/795 1646/1699/786 1657/1710/796 -f 1633/1686/773 1643/1696/783 1658/1711/797 -f 1659/1712/798 1660/1713/799 1661/1714/800 -f 1662/1715/801 1652/1705/791 1663/1716/802 -f 1647/1700/787 1646/1699/786 1656/1709/795 -f 1646/1699/786 1664/1717/803 1657/1710/796 -f 1646/1699/786 1648/1701/788 1665/1718/783 -f 1660/1713/799 1651/1704/788 1661/1714/800 -f 1652/1705/791 1654/1707/793 1663/1716/802 -f 1662/1715/801 1663/1716/802 1666/1719/804 -f 1548/1601/697 1667/1720/805 1668/1721/806 -f 1591/1644/735 1590/1643/734 1642/1695/782 -f 1669/1722/807 1554/1607/703 1555/1608/704 -f 1670/1723/737 1671/1724/737 1672/1725/739 -f 1673/1726/808 1672/1725/739 1674/1727/740 -f 1675/1728/809 1602/1655/746 1676/1729/810 -f 1677/1730/811 1678/1731/812 1676/1729/810 -f 1677/1730/811 1679/1732/813 1680/1733/683 -f 1552/1605/701 1681/1734/707 1682/1735/727 -f 1683/1736/814 1684/1737/815 1685/1738/816 -f 1686/1739/817 1687/1740/818 1688/1741/819 -f 1689/1742/820 1690/1743/821 1691/1744/822 -f 1692/1745/823 1691/1744/822 1693/1746/824 -f 1694/1747/825 1693/1746/824 1695/1748/826 -f 1696/1749/827 1695/1748/826 1697/1750/828 -f 1698/1751/829 1697/1750/828 1699/1752/830 -f 1700/1753/831 1701/1754/832 1702/1755/715 -f 1642/1695/782 1641/1694/781 1703/1756/804 -f 1704/1757/833 1644/1697/784 1705/1758/834 -f 1704/1757/833 1706/1759/835 1707/1760/836 -f 1708/1761/837 1707/1760/836 1709/1762/838 -f 1657/1710/796 1664/1717/803 1668/1721/806 -f 1647/1700/787 1710/1763/839 1648/1701/788 -f 1643/1696/783 1711/1764/840 1658/1711/797 -f 1650/1703/790 1661/1714/800 1651/1704/788 -f 1653/1706/792 1674/1727/740 1654/1707/793 -f 1506/1559/686 1505/1558/686 1508/1561/686 -f 1569/1622/716 1584/1637/728 1562/1615/709 -f 1712/1765/841 1713/1766/841 1578/1631/723 -f 1714/1767/842 1715/1768/842 1716/1769/843 -f 1579/1632/724 1716/1769/843 1580/1633/725 -f 1668/1721/806 1664/1717/803 1548/1601/697 -f 1557/1610/684 1700/1753/831 1582/1635/726 -f 1584/1637/728 1583/1636/727 1562/1615/709 -f 1488/1541/683 1717/1770/683 1571/1624/718 -f 1664/1717/803 1547/1600/696 1548/1601/697 -f 1546/1599/695 1543/1596/692 1545/1598/694 -f 1571/1624/718 1592/1645/736 1573/1626/719 -f 1718/1771/737 1593/1646/737 1595/1648/739 -f 1595/1648/739 1594/1647/738 1596/1649/740 -f 1675/1728/809 1600/1653/744 1602/1655/746 -f 1601/1654/745 1600/1653/744 1604/1657/684 -f 1719/1772/712 1587/1640/731 1605/1658/709 -f 1720/1773/844 1606/1659/747 1608/1661/749 -f 1721/1774/845 1609/1662/750 1607/1660/748 -f 1722/1775/846 1610/1663/751 1612/1665/753 -f 1612/1665/753 1611/1664/752 1614/1667/755 -f 1614/1667/755 1613/1666/754 1616/1669/757 -f 1616/1669/757 1615/1668/756 1618/1671/759 -f 1618/1671/759 1617/1670/758 1620/1673/761 -f 1723/1776/847 1585/1638/729 1621/1674/714 -f 1645/1698/785 1622/1675/762 1624/1677/764 -f 1623/1676/763 1622/1675/762 1626/1679/766 -f 1626/1679/766 1625/1678/765 1628/1681/768 -f 1705/1758/834 1644/1697/784 1624/1677/764 -f 1551/1604/700 1669/1722/807 1555/1608/704 -f 1673/1726/808 1670/1723/737 1672/1725/739 -f 1653/1706/792 1673/1726/808 1674/1727/740 -f 1678/1731/812 1675/1728/809 1676/1729/810 -f 1679/1732/813 1677/1730/811 1676/1729/810 -f 1724/1777/683 1677/1730/811 1680/1733/683 -f 1553/1606/702 1552/1605/701 1682/1735/727 -f 1688/1741/819 1683/1736/814 1685/1738/816 -f 1685/1738/816 1686/1739/817 1688/1741/819 -f 1692/1745/823 1689/1742/820 1691/1744/822 -f 1694/1747/825 1692/1745/823 1693/1746/824 -f 1696/1749/827 1694/1747/825 1695/1748/826 -f 1698/1751/829 1696/1749/827 1697/1750/828 -f 1725/1778/848 1698/1751/829 1699/1752/830 -f 1582/1635/726 1700/1753/831 1702/1755/715 -f 1706/1759/835 1704/1757/833 1705/1758/834 -f 1708/1761/837 1704/1757/833 1707/1760/836 -f 1726/1779/849 1708/1761/837 1709/1762/838 -f 1580/1633/725 1712/1765/841 1578/1631/723 -f 1579/1632/724 1714/1767/842 1716/1769/843 -f 1551/1604/700 1577/1630/722 1727/1780/850 -f 1551/1604/700 1727/1780/850 1669/1722/807 -f 1549/1602/698 1592/1645/736 1728/1781/850 -f 1549/1602/698 1728/1781/850 1575/1628/720 -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.435798 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.479860 -v 0.577175 2.895699 6.381779 -v 0.577175 1.924939 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.479860 -v 0.401255 3.588838 6.684444 -v 0.401255 3.243770 6.479860 -v 0.401255 3.484048 5.722968 -v 0.401255 4.331121 5.796535 -v 0.401255 4.331121 7.553139 -v 0.401255 3.911054 6.978125 -v 0.401255 4.776393 4.607953 -v 0.401255 5.500355 4.607954 -v 0.401255 5.500354 7.553140 -v -0.401255 4.331121 5.796535 -v -0.401255 4.776393 4.607953 -v 0.401255 4.776393 4.607953 -v -0.401255 5.500355 4.607954 -v 0.401255 5.500355 4.607954 -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.479860 -v -0.401255 3.243770 6.479860 -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.479860 -v -0.401255 3.588838 6.684444 -v -0.401255 3.484048 5.722968 -v -0.401255 4.331121 7.553139 -v -0.401255 4.331121 5.796535 -v -0.401255 3.911054 6.978125 -v -0.401255 4.776393 4.607953 -v -0.401255 5.500355 4.607954 -v -0.401255 5.500354 7.553140 -v -0.255916 2.466018 6.344805 -v -0.577175 2.466018 6.344805 -v -0.577175 2.895699 6.381779 -v -0.577175 2.851677 5.639833 -v -0.577175 1.810704 6.457509 -v -0.577175 1.435798 6.186546 -v -0.577175 1.449703 6.660409 -v -0.577175 3.484048 5.722968 -v -0.577175 1.924939 5.885275 -v -0.577175 2.439333 5.691723 -v 0.577175 3.243770 6.479860 -v 0.401255 4.331121 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.479860 -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.895699 6.381779 -v 0.577175 3.243770 6.479860 -v 0.401255 3.243770 6.479860 -v -0.401255 3.243770 6.479860 -v -0.577175 2.895699 6.381779 -v -0.136434 1.170197 7.267153 -v 0.136434 1.170197 7.267153 -v 0.255916 1.274900 7.159120 -v -0.255916 1.274900 7.159120 -v 0.255916 1.582615 6.859656 -v -0.255916 1.582615 6.859656 -v -0.136434 1.170197 7.267153 -v -0.140214 0.908798 7.158844 -v 0.140214 0.908798 7.158844 -v 0.255916 1.049089 7.041913 -v 0.255916 1.274900 7.159120 -v 0.136434 1.170197 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.908798 7.158844 -v -0.140214 0.908798 7.158844 -v -0.238265 0.780515 7.270253 -v 0.238265 0.780515 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.574698 7.190140 -v 0.242153 0.574698 7.190140 -v 0.238265 0.780515 7.270253 -v 0.557295 0.748788 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.331121 5.796535 -v 0.401255 4.331121 5.796535 -v 0.401255 3.484048 5.722968 -v 0.401255 3.588838 6.684444 -v -0.401255 3.588838 6.684444 -v 0.401255 3.911054 6.978125 -v 0.401255 4.331121 7.553139 -v -0.401255 4.331121 7.553139 -v -0.401255 3.911054 6.978125 -v 0.401255 5.500354 7.553140 -v -0.401255 5.500354 7.553140 -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.435798 6.186546 -v 0.577175 1.435798 6.186546 -v -0.577175 1.924939 5.885275 -v -0.577175 2.439333 5.691723 -v 0.577175 2.439333 5.691723 -v 0.577175 1.924939 5.885275 -v 0.242153 0.574698 7.190140 -v -0.242153 0.574698 7.190140 -v -0.557295 0.748788 6.906375 -v 0.557295 0.748788 6.906375 -v -0.577175 3.243770 6.479860 -v -0.255916 1.049089 7.041913 -v -0.577175 2.466018 6.344805 -v -0.255916 1.274900 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.748788 6.906375 -v -0.238265 0.780515 7.270253 -v -0.577175 1.022907 6.562050 -v -0.577175 1.049089 7.041913 -v -0.255916 2.466018 6.344805 -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.472210 0.980596 -vt 0.472225 0.980472 -vt 0.471669 0.980404 -vt 0.471639 0.980122 -vt 0.471669 0.980404 -vt 0.472225 0.980472 -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.480816 0.945382 -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.468657 0.980387 -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.468113 0.980573 -vt 0.468666 0.981532 -vt 0.468393 0.981256 -vt 0.471654 0.980527 -vt 0.480816 0.946278 -vt 0.480249 0.945382 -vt 0.468100 0.980449 -vt 0.482469 0.972694 -vt 0.468670 0.980511 -vt 0.482622 0.972386 -vt 0.483023 0.972386 -vt 0.483034 0.971858 -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.482997 0.972676 -vt 0.482644 0.972678 -vt 0.482753 0.972998 -vt 0.482726 0.973162 -vt 0.482929 0.973155 -vt 0.483051 0.973046 -vt 0.482958 0.972932 -vt 0.482894 0.972996 -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.480249 0.946278 -vt 0.480816 0.946278 -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.482686 0.972938 -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 -vt 0.482618 0.971864 -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.9962 -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.0000 -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 -usemtl Material.001 -s off -f 1729/1782/851 1730/1783/851 1731/1784/851 -f 1731/1784/851 1732/1785/851 1733/1786/851 -f 1734/1787/851 1735/1788/851 1736/1789/851 -f 1737/1790/851 1738/1791/851 1739/1792/851 -f 1734/1787/851 1740/1793/851 1735/1788/851 -f 1741/1794/851 1742/1795/851 1735/1788/851 -f 1743/1796/852 1744/1797/852 1745/1798/852 -f 1746/1799/851 1747/1800/851 1748/1801/851 -f 1749/1802/851 1750/1803/851 1751/1804/851 -f 1746/1799/851 1748/1801/851 1749/1802/851 -f 1749/1802/851 1752/1805/851 1753/1806/851 -f 1754/1807/851 1750/1803/851 1749/1802/851 -f 1755/1808/853 1756/1809/853 1757/1810/853 -f 1758/1811/854 1759/1812/854 1760/1813/854 -f 1742/1795/851 1741/1794/851 1761/1814/851 -f 1762/1815/852 1763/1816/852 1764/1817/852 -f 1765/1818/855 1766/1819/855 1767/1820/855 -f 1768/1821/855 1769/1822/855 1770/1823/855 -f 1771/1824/855 1772/1825/855 1773/1826/855 -f 1769/1822/855 1773/1826/855 1772/1825/855 -f 1774/1827/855 1772/1825/855 1775/1828/855 -f 1776/1829/855 1775/1828/855 1772/1825/855 -f 1777/1830/855 1767/1820/855 1766/1819/855 -f 1778/1831/855 1779/1832/855 1780/1833/855 -f 1781/1834/855 1782/1835/855 1783/1836/855 -f 1784/1837/855 1780/1833/855 1779/1832/855 -f 1785/1838/855 1782/1835/855 1781/1834/855 -f 1786/1839/855 1785/1838/855 1781/1834/855 -f 1733/1786/851 1729/1782/851 1731/1784/851 -f 1761/1814/851 1737/1790/851 1739/1792/851 -f 1740/1793/851 1741/1794/851 1735/1788/851 -f 1787/1840/852 1743/1796/852 1745/1798/852 -f 1751/1804/851 1746/1799/851 1749/1802/851 -f 1753/1806/851 1754/1807/851 1749/1802/851 -f 1788/1841/853 1755/1808/853 1757/1810/853 -f 1789/1842/854 1758/1811/854 1760/1813/854 -f 1739/1792/851 1742/1795/851 1761/1814/851 -f 1790/1843/852 1762/1815/852 1764/1817/852 -f 1791/1844/855 1765/1818/855 1767/1820/855 -f 1770/1823/855 1769/1822/855 1772/1825/855 -f 1771/1824/855 1776/1829/855 1772/1825/855 -f 1786/1839/855 1778/1831/855 1780/1833/855 -f 1792/1845/855 1784/1837/855 1779/1832/855 -f 1778/1831/855 1786/1839/855 1781/1834/855 -s 1 -f 1793/1846/856 1794/1847/857 1795/1848/858 -f 1796/1849/859 1797/1850/860 1798/1851/861 -f 1799/1852/862 1800/1853/863 1796/1849/859 -f 1801/1854/864 1802/1855/864 1803/1856/865 -f 1804/1857/866 1803/1856/865 1805/1858/867 -f 1794/1847/857 1793/1846/856 1806/1859/868 -f 1807/1860/869 1808/1861/870 1809/1862/871 -f 1810/1863/872 1811/1864/873 1812/1865/874 -f 1813/1866/875 1814/1867/876 1796/1849/859 -f 1730/1783/851 1729/1782/851 1811/1864/873 -f 1815/1868/877 1816/1869/878 1817/1870/879 -f 1818/1871/880 1819/1872/881 1820/1873/882 -f 1821/1874/883 1822/1875/884 1823/1876/885 -f 1814/1867/876 1813/1866/875 1822/1875/884 -f 1816/1869/878 1815/1868/877 1824/1877/886 -f 1825/1878/887 1826/1879/888 1827/1880/889 -f 1828/1881/890 1829/1882/891 1827/1880/889 -f 1830/1883/892 1736/1789/851 1829/1882/891 -f 1830/1883/892 1734/1787/851 1736/1789/851 -f 1800/1853/863 1831/1884/893 1813/1866/875 -f 1832/1885/894 1833/1886/894 1834/1887/895 -f 1835/1888/896 1836/1889/897 1799/1852/862 -f 1836/1889/897 1835/1888/896 1837/1890/898 -f 1838/1891/899 1839/1892/900 1840/1893/901 -f 1841/1894/902 1842/1895/902 1839/1892/900 -f 1843/1896/903 1834/1887/895 1844/1897/904 -f 1845/1898/905 1846/1899/906 1834/1887/895 -f 1847/1900/907 1848/1901/908 1849/1902/909 -f 1850/1903/910 1849/1902/909 1851/1904/911 -f 1852/1905/912 1853/1906/913 1854/1907/914 -f 1845/1898/905 1843/1896/903 1853/1906/913 -f 1855/1908/915 1856/1909/915 1857/1910/916 -f 1848/1901/908 1847/1900/907 1858/1911/917 -f 1859/1912/860 1800/1853/863 1799/1852/862 -f 1860/1913/918 1808/1861/870 1807/1860/869 -f 1861/1914/876 1831/1884/893 1800/1853/863 -f 1791/1844/855 1860/1913/918 1862/1915/919 -f 1863/1916/920 1819/1872/881 1818/1871/880 -f 1846/1899/906 1845/1898/905 1864/1917/904 -f 1865/1918/883 1866/1919/886 1867/1920/885 -f 1861/1914/876 1865/1918/883 1868/1921/884 -f 1869/1922/878 1867/1920/885 1866/1919/886 -f 1870/1923/921 1825/1878/887 1871/1924/922 -f 1872/1925/923 1870/1923/921 1873/1926/924 -f 1782/1835/855 1872/1925/923 1783/1836/855 -f 1874/1927/925 1793/1846/856 1795/1848/858 -f 1798/1851/861 1799/1852/862 1796/1849/859 -f 1804/1857/866 1801/1854/864 1803/1856/865 -f 1806/1859/868 1804/1857/866 1805/1858/867 -f 1805/1858/867 1794/1847/857 1806/1859/868 -f 1812/1865/874 1807/1860/869 1809/1862/871 -f 1809/1862/871 1810/1863/872 1812/1865/874 -f 1810/1863/872 1730/1783/851 1811/1864/873 -f 1820/1873/882 1815/1868/877 1817/1870/879 -f 1817/1870/879 1818/1871/880 1820/1873/882 -f 1824/1877/886 1821/1874/883 1823/1876/885 -f 1821/1874/883 1814/1867/876 1822/1875/884 -f 1823/1876/885 1816/1869/878 1824/1877/886 -f 1871/1924/922 1825/1878/887 1827/1880/889 -f 1826/1879/888 1828/1881/890 1827/1880/889 -f 1828/1881/890 1830/1883/892 1829/1882/891 -f 1796/1849/859 1800/1853/863 1813/1866/875 -f 1846/1899/906 1832/1885/894 1834/1887/895 -f 1798/1851/861 1835/1888/896 1799/1852/862 -f 1840/1893/901 1836/1889/897 1837/1890/898 -f 1837/1890/898 1838/1891/899 1840/1893/901 -f 1838/1891/899 1841/1894/902 1839/1892/900 -f 1843/1896/903 1845/1898/905 1834/1887/895 -f 1850/1903/910 1847/1900/907 1849/1902/909 -f 1854/1907/914 1850/1903/910 1851/1904/911 -f 1851/1904/911 1852/1905/912 1854/1907/914 -f 1852/1905/912 1845/1898/905 1853/1906/913 -f 1858/1911/917 1855/1908/915 1857/1910/916 -f 1857/1910/916 1848/1901/908 1858/1911/917 -f 1862/1915/919 1860/1913/918 1807/1860/869 -f 1765/1818/855 1791/1844/855 1862/1915/919 -f 1869/1922/878 1863/1916/920 1818/1871/880 -f 1868/1921/884 1865/1918/883 1867/1920/885 -f 1831/1884/893 1861/1914/876 1868/1921/884 -f 1863/1916/920 1869/1922/878 1866/1919/886 -f 1873/1926/924 1870/1923/921 1871/1924/922 -f 1783/1836/855 1872/1925/923 1873/1926/924 -o slide_pistol_0 -v 1.014517 11.207904 -2.625850 -v 1.014517 11.207904 -2.300615 -v 1.014517 10.723700 -1.978914 -v -1.014517 10.157009 -2.625850 -v -1.014517 11.207904 -2.625850 -v -0.335502 10.613042 -2.625850 -v -1.526129 9.326169 3.920666 -v -1.526129 9.326169 3.413728 -v -1.526129 8.752565 3.413728 -v -1.705540 8.752565 3.920666 -v -1.705540 7.184847 3.920666 -v -1.705540 8.402288 6.532842 -v -1.526129 8.752565 3.920666 -v -1.705540 8.752565 3.920666 -v -1.705540 8.752759 6.288157 -v -1.526129 8.752565 3.920666 -v -1.524936 8.752759 6.288157 -v 1.705540 7.247200 -1.820036 -v 1.526129 7.247200 -1.820036 -v 1.526043 7.614016 -2.276281 -v 1.321148 7.184846 12.021435 -v -1.171832 7.184846 11.897297 -v 1.156401 7.184846 11.897297 -v 1.526043 7.614016 -2.276281 -v 1.526129 7.247200 -1.820036 -v 1.526043 7.184847 -2.765843 -v 1.321148 7.184846 11.214216 -v -1.705540 7.184847 2.105287 -v -1.705540 8.757562 2.105288 -v -1.705540 8.927025 1.935824 -v 1.526129 7.247200 -1.820036 -v 1.526129 7.184847 -1.313097 -v 1.526043 7.184847 -2.765843 -v -1.524936 9.326169 6.288157 -v -1.326382 10.025589 6.288157 -v -1.705540 9.660696 6.288157 -v -1.705540 9.326169 6.288157 -v 0.813732 7.184846 16.849926 -v 1.705540 7.184846 12.021435 -v 1.705540 7.184846 18.319260 -v 1.326382 7.184846 19.492821 -v -1.705540 7.967402 7.346316 -v -1.705540 8.055081 6.892088 -v 1.705540 7.637856 11.214216 -v 1.705540 7.184846 11.214216 -v 1.705540 7.967402 7.346316 -v -1.705540 7.184847 3.920666 -v -1.526129 7.184847 3.920666 -v -1.171832 7.184846 5.830759 -v 1.705540 7.184847 3.920666 -v 1.705540 7.184846 11.214216 -v 1.156401 7.184846 5.830759 -v 1.705540 7.184847 -2.765843 -v 1.705540 7.184847 -4.842922 -v 1.705540 8.782389 -4.842922 -v 1.705540 7.614016 -2.276281 -v 1.231429 7.184847 -4.842922 -v 1.526129 7.184847 -1.313097 -v 1.231024 7.184847 1.879624 -v -1.526129 7.184847 2.105287 -v -1.526129 7.184847 2.612226 -v -1.526129 8.752565 2.612226 -v 1.705540 7.184847 3.920666 -v 1.321148 7.184846 11.214216 -v 1.705540 7.184846 11.214216 -v 1.705540 7.637856 11.214216 -v -0.813732 7.184846 16.849926 -v 1.526129 7.184847 3.920666 -v 0.000000 9.832472 21.944122 -v 0.947015 10.390596 21.944122 -v -0.947015 10.390596 21.944122 -v 1.705540 8.055081 6.892088 -v -1.171832 7.184846 11.897297 -v -1.171832 8.402287 11.660704 -v -1.171832 8.578352 11.777046 -v 0.167762 11.355709 20.190464 -v -0.167762 11.355709 20.190464 -v -0.167762 10.787157 20.190464 -v 0.814306 10.492232 20.190464 -v 0.814306 10.492232 19.285318 -v 0.359371 10.492232 19.285318 -v 0.893030 10.492232 20.116810 -v 0.893030 10.492232 19.372772 -v -1.526129 7.184847 3.413727 -v 1.526129 7.184847 3.413727 -v -0.393269 7.184847 1.879624 -v 0.393269 7.184847 1.879624 -v -1.333642 8.402288 6.532842 -v -1.333642 8.055081 6.892088 -v -1.333642 7.967402 7.346316 -v -1.016029 10.321227 11.777046 -v -0.947015 10.390596 11.777046 -v -0.654714 10.019366 11.777046 -v -0.813732 7.184846 16.849926 -v 0.813732 7.184846 16.849926 -v 0.813732 5.420441 16.849926 -v 0.471660 5.087639 16.849926 -v -0.471660 5.087639 16.849926 -v -0.813732 5.420441 16.849926 -v -1.333642 7.184846 21.944122 -v -1.333642 7.184846 19.492821 -v -0.813732 7.184846 21.944122 -v -1.526129 7.184847 0.796846 -v -1.705540 7.184847 0.796846 -v -1.705540 7.184847 -0.004656 -v -0.728164 8.051682 1.879624 -v -0.393269 9.417000 1.879624 -v -0.393269 7.184847 1.879624 -v -0.728164 7.586768 1.879624 -v -1.238688 7.184847 1.879624 -v 1.231024 9.417000 1.879624 -v 1.231024 8.051682 1.879624 -v 0.728164 8.051682 1.879624 -v 1.526129 7.184847 2.105287 -v 1.526129 7.184847 2.612226 -v 1.705540 7.184847 -1.313097 -v 1.705540 7.184847 -0.511595 -v 1.526129 7.184847 -0.511595 -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.920666 -v 1.705540 9.660696 3.920666 -v 0.408756 10.107763 -3.259710 -v -0.409408 10.107763 -3.259710 -v -0.409408 10.390597 -3.172265 -v 1.705540 9.660696 3.413728 -v 1.526129 9.833411 3.413728 -v 1.526129 7.184847 3.413727 -v -0.392768 7.184847 -4.842922 -v 0.393269 9.417000 1.879624 -v 0.393269 7.184847 1.879624 -v 0.392768 7.184847 -4.842922 -v 1.705540 7.184847 2.612226 -v 1.526129 7.184847 2.612226 -v 1.526129 9.833411 2.612226 -v 1.526129 7.184847 2.105287 -v 1.705540 7.184847 2.105287 -v 1.705540 9.660696 2.105288 -v 0.392768 8.782389 -4.842922 -v 0.392768 9.417337 -4.333549 -v 1.231024 7.184847 1.879624 -v 1.231024 7.586768 1.879624 -v 1.231429 7.587345 -4.842922 -v 0.408756 10.390597 -3.531359 -v 0.408756 10.107763 -3.763226 -v 0.408756 10.107763 -3.259710 -v 1.526129 9.833411 1.303785 -v 1.705540 9.660696 1.303785 -v 1.705540 7.184847 1.303785 -v 0.728571 7.587345 -4.842922 -v 0.728571 8.051105 -4.842922 -v 1.231429 8.051105 -4.842922 -v 1.705540 9.660696 0.796846 -v 1.526129 9.833411 0.796846 -v 1.526129 7.184847 0.796846 -v 0.813732 7.184846 21.944122 -v 1.231024 9.417000 1.879624 -v 0.393269 9.417000 1.879624 -v 0.392768 9.417337 -4.333549 -v 1.231024 7.586768 1.879624 -v 0.728164 7.586768 1.879624 -v 0.728571 7.587345 -4.842922 -v 1.526129 9.833411 -0.004656 -v 1.705540 9.660696 -0.004656 -v 1.705540 7.184847 -0.004656 -v 1.705540 7.184847 -4.842922 -v 1.231429 7.184847 -4.842922 -v 1.231429 7.587345 -4.842922 -v 1.526129 7.184847 -0.511595 -v 1.705540 7.184847 -0.511595 -v 1.705540 9.660696 -0.511595 -v 1.231429 9.417337 -4.333549 -v 1.231429 8.782389 -4.842922 -v 1.231024 9.417000 1.879624 -v 0.728164 7.586768 1.879624 -v 0.728164 8.051682 1.879624 -v 0.728571 8.051105 -4.842922 -v 1.526129 9.833411 -1.313097 -v 1.705540 9.660696 -1.313097 -v 1.705540 7.184847 -1.313097 -v 1.231024 8.051682 1.879624 -v 0.728164 8.051682 1.879624 -v 1.231024 8.051682 1.879624 -v 1.231429 8.051105 -4.842922 -v 0.947015 10.390597 -2.821981 -v -0.947015 10.390597 -2.821981 -v -1.132077 10.212755 -2.753815 -v 1.526129 7.247200 -1.820036 -v 1.705540 7.247200 -1.820036 -v 1.705540 9.660696 -1.820036 -v 1.705540 8.752767 6.288157 -v 1.705540 8.402288 6.532842 -v -1.132077 10.212755 0.576711 -v -0.947015 10.390597 0.637665 -v 0.947015 10.390597 0.637665 -v 1.326382 7.184846 21.944122 -v 1.526129 7.184847 -0.004656 -v -1.526129 7.184847 2.612226 -v -1.238688 7.184847 1.879624 -v 1.705540 7.184847 2.105287 -v 1.526129 7.184847 1.303785 -v 1.705540 7.184847 1.303785 -v 1.526129 7.184847 0.796846 -v 1.705540 7.184847 -0.004656 -v 0.728164 7.586768 1.879624 -v 1.231024 7.586768 1.879624 -v 1.231024 7.184847 1.879624 -v 0.393269 7.184847 1.879624 -v -1.238688 9.417000 1.879624 -v -1.526129 7.184847 2.105287 -v -1.705540 7.184847 -1.313097 -v -1.526129 7.184847 -1.313097 -v -1.526129 7.184847 -0.511595 -v -1.705540 7.184847 2.612226 -v -1.526129 9.326169 3.920666 -v -1.705540 9.326169 3.920666 -v -1.705540 9.660696 3.920666 -v -1.526129 7.184847 3.920666 -v -1.705540 7.184847 3.920666 -v -1.705540 8.752565 3.920666 -v -1.705540 7.184847 3.413727 -v -1.526129 7.184847 3.413727 -v -1.526129 8.752565 3.413728 -v -1.705540 9.326169 3.413728 -v -1.526129 9.326169 3.413728 -v -1.526129 9.833411 3.413728 -v -1.705540 7.184847 2.612226 -v -1.705540 7.184847 3.413727 -v -1.705540 8.752565 3.413728 -v -0.393269 9.417000 1.879624 -v -0.392768 8.782389 -4.842922 -v -0.392768 7.184847 -4.842922 -v -1.526129 9.326169 2.612226 -v -1.705540 9.326169 2.612226 -v -1.705540 9.660696 2.612226 -v -1.526129 7.184847 2.612226 -v -1.705540 7.184847 2.612226 -v -1.705540 8.752565 2.612226 -v -0.392768 9.417337 -4.333549 -v -1.238688 7.184847 1.879624 -v -1.238688 7.184847 -4.842922 -v -1.238688 7.587345 -4.842922 -v -0.409408 10.390597 -3.531359 -v -0.409408 10.390597 -3.172265 -v -0.409408 10.107763 -3.259710 -v -1.526129 9.833411 1.303785 -v -1.526129 7.184847 1.303785 -v -1.705540 7.184847 1.303785 -v -0.728571 7.587345 -4.842922 -v -1.238688 7.587345 -4.842922 -v -1.238688 8.051105 -4.842922 -v -1.705540 9.660696 0.796846 -v -1.705540 7.184847 0.796846 -v -1.526129 7.184847 0.796846 -v -1.238688 9.417000 1.879624 -v -1.238688 9.417337 -4.333549 -v -0.392768 9.417337 -4.333549 -v -1.238688 7.586768 1.879624 -v -1.238688 7.587345 -4.842922 -v -0.728571 7.587345 -4.842922 -v -1.526129 9.833411 -0.004656 -v -1.526129 7.184847 -0.004656 -v -1.705540 7.184847 -0.004656 -v -1.238688 7.184847 -4.842922 -v -1.705540 7.184847 -4.842922 -v -1.526129 7.184847 -0.511595 -v -1.526129 9.833411 -0.511595 -v -1.705540 9.660696 -0.511595 -v -1.238688 8.782389 -4.842922 -v -1.238688 9.417337 -4.333549 -v -1.238688 9.417000 1.879624 -v -0.728164 7.586768 1.879624 -v -0.728571 7.587345 -4.842922 -v -0.728571 8.051105 -4.842922 -v -1.526129 7.184847 -0.004656 -v -1.238688 7.184847 -4.842922 -v -1.526129 9.833411 -1.313097 -v -1.526129 7.184847 -1.313097 -v -1.705540 7.184847 -1.313097 -v -1.238688 8.051682 1.879624 -v -1.238688 8.051105 -4.842922 -v -0.728164 8.051682 1.879624 -v -0.728571 8.051105 -4.842922 -v -1.238688 8.051105 -4.842922 -v -1.705540 7.184847 -4.842922 -v -1.526129 7.184847 -1.820036 -v -1.705540 7.184847 2.105287 -v -1.705540 7.184847 1.303785 -v -1.526129 7.184847 -1.820036 -v -1.526129 9.833411 -1.820036 -v -1.705540 9.660696 -1.820036 -v -1.526129 7.184847 1.303785 -v -1.526129 7.184847 3.413727 -v -1.526129 7.184847 3.920666 -v -1.526129 8.752565 3.920666 -v -0.947015 10.390597 6.288157 -v -0.654714 10.019367 6.288157 -v -0.409408 10.390597 6.288157 -v -1.171832 9.475291 6.288157 -v -0.409408 10.019367 5.830759 -v -0.409408 10.390597 5.830759 -v -0.409408 10.390597 6.288157 -v 0.408756 10.019367 5.830759 -v 0.408756 10.019367 6.288157 -v 0.408756 10.390597 6.288157 -v 0.408756 10.019367 5.830759 -v 0.408756 10.390597 5.830759 -v -0.409408 10.390597 5.830759 -v 0.408756 10.019367 6.288157 -v 0.632517 10.019367 6.288157 -v 0.408756 10.390597 6.288157 -v 0.958007 9.683089 6.288157 -v 1.018419 10.321527 6.288157 -v -1.171832 9.475290 11.777046 -v -1.171832 7.184846 5.830759 -v -1.171832 8.752774 6.288157 -v -1.171832 8.402288 6.532842 -v -0.409408 10.019367 6.288157 -v -1.333642 8.402287 11.660704 -v -1.171832 8.402287 11.660704 -v -1.171832 8.402288 6.532842 -v -0.409408 10.019367 5.830759 -v -0.654714 10.019367 5.830759 -v -1.171832 9.475291 5.830759 -v -1.171832 7.184846 5.830759 -v 1.156401 7.184846 5.830759 -v 1.156401 9.475291 5.830759 -v 1.014517 11.207904 -2.625850 -v 0.335502 10.613042 -2.625850 -v 0.335502 11.207904 -2.625850 -v -0.167762 11.355709 20.190464 -v 0.167762 11.355709 20.190464 -v 0.167762 11.355709 19.816681 -v 0.143185 11.207904 -2.300615 -v 0.143185 11.269897 -2.300615 -v 0.143185 11.269897 -2.690542 -v 1.014517 11.207904 -2.625850 -v 0.335502 11.207904 -2.625850 -v 0.335502 11.207904 -2.300615 -v 1.014517 11.207904 -2.300615 -v 0.335502 11.207904 -2.625850 -v 0.335502 11.269897 -2.690542 -v 0.335502 11.269897 -2.300615 -v 0.335502 10.613042 -2.625850 -v 0.335502 10.613042 -2.690542 -v 0.335502 11.269897 -2.690542 -v 0.143185 11.269897 -2.300615 -v 0.335502 11.269897 -2.300615 -v 0.335502 11.269897 -2.690542 -v -0.720340 8.093418 11.897297 -v -0.389845 7.872590 11.897297 -v -1.171832 7.184846 11.897297 -v -0.941169 8.423913 11.897297 -v -1.018714 8.813758 11.897297 -v 0.000000 7.795044 11.897297 -v 0.471660 5.087639 21.944122 -v 0.813732 5.420441 21.944122 -v -0.813732 5.420441 21.944122 -v 0.813732 7.184846 21.944122 -v -1.333642 7.184846 21.944122 -v -0.813732 7.184846 21.944122 -v -0.720340 8.093418 21.944122 -v -1.018714 8.813758 21.944122 -v -1.326382 10.025588 21.944122 -v -0.720340 9.534098 21.944122 -v 0.720340 9.534098 21.944122 -v 1.326382 10.025588 21.944122 -v 1.018714 8.813758 21.944122 -v 1.326382 7.184846 21.944122 -v 0.720340 8.093418 21.944122 -v 0.941169 9.203603 21.944122 -v 0.389845 9.754927 21.944122 -v -0.941169 9.203603 21.944122 -v -0.941169 8.423913 21.944122 -v -0.389845 7.872589 21.944122 -v 0.000000 7.795044 21.944122 -v 0.389845 7.872589 21.944122 -v 0.941169 8.423913 21.944122 -v -0.471660 5.087639 21.944122 -v -0.389845 9.754927 21.944122 -v 1.321148 7.637856 11.214216 -v 1.321148 7.444345 12.021435 -v 1.321148 7.184846 12.021435 -v 1.705540 7.184846 12.021435 -v 1.321148 7.184846 12.021435 -v 1.321148 7.444345 12.021435 -v 1.705540 7.637856 11.214216 -v 1.705540 7.444345 12.021435 -v 1.321148 7.444345 12.021435 -v -1.526129 9.326169 3.413728 -v -1.705540 9.326169 3.413728 -v -1.705540 9.326169 2.612226 -v -1.524936 9.326169 6.288157 -v -1.705540 9.326169 6.288157 -v -1.705540 9.326169 3.920666 -v -1.526129 8.752565 2.612226 -v -1.705540 8.752565 2.612226 -v -1.705540 8.752565 3.413728 -v -1.526129 8.752565 2.612226 -v 0.632517 10.019367 5.830759 -v 0.335502 10.613042 -2.690542 -v 0.143185 10.723700 -2.690542 -v 0.143185 11.269897 -2.690542 -v -0.335502 10.613042 -2.690542 -v -0.143185 10.723700 -2.690542 -v -0.335502 10.613042 -2.625850 -v -0.335502 10.613042 -2.690542 -v 0.335502 10.613042 -2.690542 -v 0.143185 10.723700 -2.690542 -v 0.143185 10.723700 -1.978914 -v -0.814306 10.492232 20.190464 -v -0.359371 10.492232 20.190464 -v -0.359371 10.492232 19.285318 -v -0.893030 10.492232 20.116810 -v -0.814306 10.492232 19.285318 -v -0.335502 11.207904 -2.625850 -v -0.335502 10.613042 -2.625850 -v -0.335502 11.207904 -2.625850 -v -0.335502 11.269897 -2.690542 -v -0.335502 11.269897 -2.690542 -v -0.143185 11.269897 -2.690542 -v -0.143185 10.723700 -2.690542 -v -0.143185 11.269897 -2.690542 -v -0.143185 11.207904 -2.300615 -v -0.335502 11.207904 -2.625850 -v -0.335502 11.207904 -2.300615 -v -0.335502 11.269897 -2.300615 -v -0.143185 11.269897 -2.300615 -v -0.143185 11.269897 -2.690542 -v -0.335502 11.269897 -2.690542 -v -0.143185 11.269897 -2.300615 -v -0.335502 11.207904 -2.625850 -v -1.014517 11.207904 -2.625850 -v -0.335502 11.207904 -2.300615 -v -1.014517 11.207904 -2.300615 -v 1.014517 10.157009 -2.625850 -v 1.014517 10.606321 -1.825947 -v 1.014517 10.491154 -1.431074 -v 1.014517 10.157009 -2.625850 -v 0.167762 10.787157 20.190464 -v -0.359371 10.492232 20.190464 -v -1.014517 11.207904 -2.625850 -v -1.014517 10.157009 -2.625850 -v -1.014517 10.723700 -1.978914 -v -1.014517 10.606321 -1.825947 -v -1.014517 10.491154 -1.431074 -v 0.359371 10.492232 20.190464 -v -1.014517 11.207904 -2.300615 -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.190356 -v -1.659889 8.796173 2.190356 -v -1.659889 9.139336 2.059511 -v -1.659889 8.927017 2.059511 -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.276281 -v -1.705540 7.184847 1.303785 -v -1.705540 9.151711 1.935824 -v 1.321148 7.637856 11.214216 -v 0.359371 10.492232 20.190464 -v -1.238688 7.586768 1.879624 -v 0.393269 9.417000 1.879624 -v 1.705540 7.184847 3.920666 -v 0.408756 10.390597 -3.172265 -v 1.705540 7.184847 3.413727 -v 0.392768 7.184847 -4.842922 -v 1.705540 9.660696 2.612226 -v 1.526129 9.833411 2.105288 -v 1.231429 7.184847 -4.842922 -v 0.408756 10.390597 -3.172265 -v 1.526129 7.184847 1.303785 -v 1.705540 7.184847 0.796846 -v 1.231429 9.417337 -4.333549 -v 1.231429 7.587345 -4.842922 -v 1.526129 7.184847 -0.004656 -v 1.526129 9.833411 -0.511595 -v 0.728571 7.587345 -4.842922 -v 1.526129 7.184847 -1.313097 -v 1.231429 8.051105 -4.842922 -v 0.728571 8.051105 -4.842922 -v 1.132077 10.212755 -2.753815 -v 1.526129 9.833411 -1.820036 -v 1.132077 10.212755 0.576711 -v 1.705540 7.184847 0.796846 -v -1.238688 8.051682 1.879624 -v -1.705540 7.184847 -0.511595 -v -1.705540 7.184847 3.413727 -v -1.526129 9.833411 3.920666 -v -1.526129 8.752565 3.920666 -v -1.705540 8.752565 3.413728 -v -1.705540 9.660696 3.413728 -v -1.705540 8.752565 2.612226 -v -0.393269 7.184847 1.879624 -v -1.526129 9.833411 2.612226 -v -1.526129 8.752565 2.612226 -v -1.705540 7.184846 18.319260 -v -1.238688 7.586768 1.879624 -v -0.409408 10.107763 -3.763226 -v -1.705540 9.660696 1.303785 -v -0.728571 8.051105 -4.842922 -v -1.526129 9.833411 0.796846 -v -0.393269 9.417000 1.879624 -v -0.728164 7.586768 1.879624 -v -1.705540 9.660696 -0.004656 -v -1.705540 7.184847 -0.511595 -v -0.728164 8.051682 1.879624 -v -1.705540 9.660696 -1.313097 -v -1.238688 8.051682 1.879624 -v -1.705540 7.184847 -1.820036 -v -1.705540 7.184847 -1.820036 -v -1.705540 7.184847 -4.842922 -v -1.705540 7.184847 -1.820036 -v -1.705540 8.782389 -4.842922 -v -1.526129 8.752565 3.413728 -v -0.409408 10.019367 6.288157 -v 0.408756 10.390597 5.830759 -v -1.326382 10.025588 11.777046 -v -1.333642 8.402288 6.532842 -v -0.167762 11.355709 19.816681 -v 0.335502 11.207904 -2.300615 -v 0.335502 11.207904 -2.625850 -v 0.143185 11.269897 -2.690542 -v 1.321148 7.184846 11.214216 -v 1.705540 7.444345 12.021435 -v 1.321148 7.637856 11.214216 -v -1.526129 9.326169 2.612226 -v -1.526129 9.326169 3.920666 -v -1.526129 8.752565 3.413728 -v -1.526129 9.326169 2.612226 -v 0.335502 11.269897 -2.690542 -v 0.335502 10.613042 -2.625850 -v -0.893030 10.492232 19.372772 -v -0.335502 10.613042 -2.690542 -v -0.143185 10.723700 -1.978914 -v -0.335502 11.269897 -2.690542 -v -0.335502 11.269897 -2.300615 -v -1.659889 8.796173 6.250484 -v -1.360494 8.796173 6.250484 -v -1.705540 8.402288 6.532842 -v -1.333642 8.402288 6.532842 -v -1.524936 8.752759 6.288157 -v -1.171832 8.752774 6.288157 -v -0.654714 10.019366 11.897297 -v -0.654714 10.019366 11.777046 -v 0.632517 10.019366 11.777046 -v 0.632517 10.019366 11.777046 -v -1.705540 9.660696 6.288157 -v -1.705540 9.660696 3.920666 -v -1.705540 9.326169 3.920666 -v -1.526129 8.752565 2.110282 -v -1.526129 9.321173 2.105288 -v -1.524936 9.151711 1.935824 -v -1.526129 7.184847 1.303785 -v -1.526129 9.833411 1.303785 -v -1.526129 9.833411 0.796846 -v -1.705540 9.660696 1.303785 -v 1.526129 9.833411 -1.820036 -v 1.526129 9.833411 -1.313097 -v -1.171832 9.475290 11.777046 -v 1.705540 7.184846 18.319260 -v 1.705540 7.184846 12.021435 -v 1.705540 7.444345 12.021435 -v 1.705540 9.660696 -1.820036 -v 1.705540 7.247200 -1.820036 -v 1.705540 7.967401 18.319260 -v 1.526043 7.184847 -2.765843 -v 1.705540 7.184847 -4.842922 -v 1.705540 7.184847 -2.765843 -v -1.526129 9.321173 2.105288 -v -1.705540 9.321173 2.105288 -v -1.705540 9.151711 1.935824 -v -1.705540 8.927025 1.935824 -v -1.705540 8.757562 2.105288 -v -1.526129 8.752565 2.110282 -v 1.018714 8.813758 11.876558 -v 1.156401 9.475290 11.866871 -v 1.156401 7.184846 11.897297 -v -1.014517 10.157009 0.196241 -v -1.014517 10.369081 0.196241 -v 0.167762 10.787157 19.556133 -v 0.167762 11.355709 19.816681 -v 0.167762 11.355709 20.190464 -v 0.359371 10.492232 20.190464 -v 0.359371 10.492232 19.285318 -v 0.872165 9.770429 11.711023 -v 1.156401 9.475290 11.866871 -v 0.632517 10.019366 11.897297 -v 1.018419 10.321526 11.521421 -v 1.019789 10.321227 19.320282 -v 1.326382 10.025588 21.944122 -v 0.872165 9.770429 11.711023 -v 0.947015 10.390596 11.752501 -v 1.018419 10.321526 11.521421 -v 1.018419 10.321527 6.288157 -v 0.958007 9.683089 6.288157 -v 0.958007 9.683129 11.555180 -v 0.632517 10.019367 5.830759 -v 1.156401 9.475291 5.830759 -v 0.958007 9.683089 6.288157 -v 1.326382 7.967401 19.492821 -v 1.326382 7.967402 7.346316 -v 1.326382 8.055081 6.892088 -v 1.326382 8.402288 6.532842 -v 1.326382 10.025589 6.288157 -v -1.333642 7.967401 19.492821 -v -1.333642 8.578352 11.777046 -v -1.333642 8.402287 11.660704 -v -1.326382 10.025588 21.944122 -v -1.326382 10.025588 11.777046 -v 0.947015 10.390596 19.208494 -v 0.947015 10.390596 11.752501 -v 0.869641 10.390596 11.777046 -v -0.409408 10.390597 -3.531359 -v -0.409408 10.107763 -3.763226 -v -0.947015 10.390597 -3.531359 -v 0.869641 10.390596 11.777046 -v -1.238688 8.782389 -4.842922 -v -1.333642 8.578352 11.777046 -v -1.526129 7.184847 -0.004656 -v -1.526129 9.833411 -0.004656 -v -1.526129 9.833411 -0.511595 -v -0.947015 10.390597 0.637665 -v -0.947015 10.390597 6.288157 -v -0.409408 10.390597 5.830759 -v 0.408756 10.390597 5.830759 -v 0.947015 10.390597 0.637665 -v 0.408756 10.390597 6.288157 -v 1.018419 10.321527 6.288157 -v -1.171832 9.475291 5.830759 -v -1.171832 9.475291 6.288157 -v 1.018419 10.321527 6.288157 -v 1.326382 10.025589 6.288157 -v 1.132077 10.212755 0.576711 -v -0.409408 10.390597 6.288157 -v -1.526129 9.833411 2.105288 -v -1.526129 9.833411 2.612226 -v -1.132077 10.212755 0.576711 -v -1.526129 9.833411 3.920666 -v -1.326382 10.025589 6.288157 -v -1.526129 9.833411 3.413728 -v 0.947015 10.390597 -3.531359 -v 0.947015 10.390597 -2.821981 -v 1.132077 10.212755 -2.753815 -v 0.947015 10.390596 19.208494 -v -0.947015 10.390596 19.208494 -v -1.016029 10.321227 19.320282 -v 0.947015 10.390596 20.281315 -v -0.947015 10.390596 20.281315 -v -0.947015 10.390596 21.944122 -v 1.705540 7.184847 2.612226 -v 1.705540 9.660696 2.612226 -v 1.705540 9.660696 3.413728 -v 1.019789 10.321227 20.144449 -v -1.016029 10.321227 20.144449 -v 1.326382 7.967401 19.492821 -v 1.326382 7.184846 19.492821 -v 0.471660 5.087639 16.849926 -v 0.813732 5.420441 16.849926 -v 0.813732 5.420441 21.944122 -v 0.408756 10.390597 -3.531359 -v 0.408756 10.390597 -3.172265 -v 1.019789 10.321227 20.144449 -v -0.409408 10.107763 -3.763226 -v -0.409408 10.107763 -3.259710 -v 0.408756 10.107763 -3.259710 -v 1.705540 7.967402 7.346316 -v 1.326382 7.967402 7.346316 -v 1.326382 7.967401 19.492821 -v 1.326382 7.184846 21.944122 -v 1.326382 7.184846 19.492821 -v 1.526129 7.184847 1.303785 -v 1.526129 7.184847 0.796846 -v 1.526129 9.833411 0.796846 -v 1.705540 8.402288 6.532842 -v 1.326382 8.402288 6.532842 -v 1.326382 8.055081 6.892088 -v 1.705540 8.055081 6.892088 -v 1.705540 9.660696 6.288157 -v 1.326382 10.025589 6.288157 -v 1.326382 8.752767 6.288157 -v 1.705540 9.660696 -4.131680 -v 1.231429 9.417337 -4.333549 -v 0.408756 10.107763 -3.763226 -v -0.392768 9.417337 -4.333549 -v -0.409408 10.390597 -3.172265 -v -0.947015 10.390597 -2.821981 -v 0.392768 9.417337 -4.333549 -v 0.392768 8.782389 -4.842922 -v 1.231429 8.782389 -4.842922 -v 1.705540 8.782389 -4.842922 -v 1.705540 9.660696 -4.131680 -v 0.947015 10.390597 -3.531359 -v 1.526129 9.833411 2.612226 -v 1.705540 9.660696 6.288157 -v 1.705540 9.660696 3.920666 -v 1.526129 9.833411 3.920666 -v -1.132077 10.212755 0.576711 -v 1.132077 10.212755 0.576711 -v 1.132077 10.212755 -2.753815 -v 1.705540 9.660696 -1.313097 -v 1.705540 9.660696 -0.511595 -v 1.705540 7.184847 -0.511595 -v 1.705540 9.660696 -0.004656 -v 1.705540 9.660696 0.796846 -v 1.705540 7.184847 0.796846 -v 1.526129 7.184847 2.612226 -v 1.526129 7.184847 2.105287 -v 1.526129 9.833411 2.105288 -v 1.705540 9.660696 3.920666 -v 1.705540 9.660696 6.288157 -v 1.019789 10.321227 19.320282 -v -0.471660 5.087639 16.849926 -v 0.471660 5.087639 21.944122 -v 0.813732 7.184846 16.849926 -v 0.813732 7.184846 21.944122 -v 0.947015 10.390596 20.281315 -v 0.947015 10.390596 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.413728 -v 0.392768 7.184847 -4.842922 -v -0.392768 7.184847 -4.842922 -v -0.392768 8.782389 -4.842922 -v 0.408756 10.390597 -3.531359 -v 1.526129 7.184847 -0.004656 -v 1.526129 7.184847 -0.511595 -v 1.526129 9.833411 -0.511595 -v 1.705540 7.184847 1.303785 -v 1.705540 9.660696 1.303785 -v 1.705540 9.660696 2.105288 -v 1.526129 9.833411 3.413728 -v 1.526129 9.833411 -0.511595 -v 1.526129 9.833411 -1.313097 -v 1.526129 9.833411 -1.820036 -v 1.526129 9.833411 -0.004656 -v 1.526129 9.833411 2.105288 -v 1.526129 9.833411 1.303785 -v 1.705540 7.184847 -2.765843 -v 1.705540 7.614016 -2.276281 -v 1.526043 7.614016 -2.276281 -v -0.947015 10.390597 -3.531359 -v -1.705540 9.660696 -4.131680 -v -1.132077 10.212755 -2.753815 -v -1.705540 7.184846 18.319260 -v -1.705540 7.967401 18.319260 -v -1.526129 9.833411 -1.313097 -v -1.526129 9.833411 -0.511595 -v -1.705540 9.660696 -1.820036 -v -1.526129 9.833411 -1.820036 -v -1.705540 9.660696 3.413728 -v -1.705540 9.660696 2.612226 -v -1.705540 9.326169 2.612226 -v -1.333642 7.184846 19.492821 -v -0.471660 5.087639 21.944122 -v -0.813732 5.420441 21.944122 -v -0.409408 10.390597 -3.531359 -v -1.705540 7.184847 2.105287 -v -1.526129 7.184847 2.105287 -v -1.526129 9.833411 2.105288 -v -1.705540 7.967402 7.346316 -v -1.705540 7.967401 18.319260 -v -1.333642 7.967401 19.492821 -v -1.333642 7.184846 19.492821 -v -1.705540 9.321173 2.105288 -v -1.705540 9.660696 2.105288 -v -1.705540 8.055081 6.892088 -v -1.333642 8.055081 6.892088 -v -1.333642 7.967402 7.346316 -v -1.705540 9.660696 -0.511595 -v -1.238688 9.417337 -4.333549 -v -1.705540 9.660696 -4.131680 -v -1.526129 9.833411 1.303785 -v -1.705540 8.782389 -4.842922 -v -1.705540 9.660696 -1.313097 -v -1.705540 7.184847 -1.313097 -v -1.705540 7.184847 -0.511595 -v -1.705540 9.660696 -0.004656 -v -1.705540 7.184847 -0.004656 -v -1.705540 7.184847 0.796846 -v -1.526129 9.833411 -0.004656 -v -1.705540 9.660696 0.796846 -v -1.526129 9.833411 0.796846 -v -0.813732 5.420441 16.849926 -v -0.813732 7.184846 21.944122 -v -1.526129 7.184847 -1.313097 -v -1.526129 9.833411 -1.313097 -v -1.526129 9.833411 -1.820036 -v -0.947015 10.390596 11.777046 -v -1.016029 10.321227 11.777046 -v -1.705540 8.752759 6.288157 -v -1.526129 9.833411 3.920666 -v -1.526129 9.833411 3.413728 -v -1.526129 9.326169 3.413728 -v 1.326382 8.752767 6.288157 -v -1.171832 8.402288 6.532842 -v -1.171832 8.578352 11.777046 -v -1.171832 8.402287 11.660704 -v 0.632517 10.019367 5.830759 -v 0.632517 10.019367 6.288157 -v 0.408756 10.019367 6.288157 -v -0.654714 10.019367 5.830759 -v -0.409408 10.019367 5.830759 -v -0.409408 10.019367 6.288157 -v 0.632517 10.019367 6.288157 -v 0.958007 9.683129 11.555180 -v 1.156401 7.184846 5.830759 -v 1.156401 7.184846 11.897297 -v 0.941169 9.203603 11.872112 -v 1.018714 8.813758 11.876558 -v 1.018714 8.813758 21.944122 -v 0.720340 9.534098 11.876596 -v 0.941169 9.203603 21.944122 -v 0.389845 9.754927 11.891426 -v 0.720340 9.534098 21.944122 -v 0.000000 9.832472 11.897297 -v 0.389845 9.754927 21.944122 -v 0.814306 10.296813 20.190464 -v 0.814306 10.492232 20.190464 -v 0.000000 9.832472 21.944122 -v -0.389845 9.754927 21.944122 -v -0.389845 9.754927 11.897297 -v -0.720340 9.534098 21.944122 -v -0.720340 9.534098 11.896717 -v 0.893030 10.296813 20.116810 -v 0.893030 10.492232 20.116810 -v 0.893030 10.296813 19.372772 -v 0.893030 10.492232 19.372772 -v -0.941169 9.203603 11.897297 -v -0.941169 9.203603 21.944122 -v -1.018714 8.813758 21.944122 -v -1.018714 8.813758 11.897297 -v -0.941169 8.423913 21.944122 -v -0.941169 8.423913 11.897297 -v -0.720340 8.093418 21.944122 -v -0.720340 8.093418 11.897297 -v -0.389845 7.872589 21.944122 -v -0.389845 7.872590 11.897297 -v 0.000000 7.795044 21.944122 -v 0.000000 7.795044 11.897297 -v 0.000000 7.795044 21.944122 -v 0.389845 7.872589 21.944122 -v 0.389845 7.872590 11.897297 -v 0.720340 8.093418 21.944122 -v 0.720340 8.093418 11.890942 -v 0.814306 10.296813 19.285318 -v 0.814306 10.492232 19.285318 -v 0.893030 10.492232 19.372772 -v 0.941169 8.423913 11.883170 -v 0.941169 8.423913 21.944122 -v 0.359371 10.492232 19.285318 -v -0.814306 10.296813 19.285318 -v -0.359371 10.492232 19.285318 -v -0.167762 10.787157 19.556133 -v 0.167762 10.787157 19.556133 -v -0.167762 11.355709 19.816681 -v 0.167762 11.355709 19.816681 -v -0.814306 10.157009 0.372431 -v 0.814306 10.157009 0.372431 -v 0.814306 10.357646 0.372431 -v 1.014517 10.157009 0.196241 -v 1.014517 10.369081 0.196241 -v -0.143185 10.723700 -1.978914 -v 0.143185 10.723700 -1.978914 -v 0.143185 10.723700 -2.690542 -v 0.143185 11.207904 -2.300615 -v 0.143185 10.723700 -1.978914 -v 0.335502 11.207904 -2.300615 -v 1.014517 10.723700 -1.978914 -v 1.014517 11.207904 -2.300615 -v 1.014517 10.606321 -1.825947 -v -1.014517 10.606321 -1.825947 -v -1.014517 10.491154 -1.431074 -v 1.014517 10.491154 -1.431074 -v -0.814306 10.357646 0.372431 -v 0.814306 10.357646 0.372431 -v 1.014517 10.369081 0.196241 -v -1.014517 10.369081 0.196241 -v -1.171832 9.475290 11.897297 -v 0.632517 10.019366 11.897297 -v 0.720340 9.534098 11.876596 -v 0.000000 9.832472 11.897297 -v -0.654714 10.019366 11.897297 -v -0.720340 9.534098 11.896717 -v -1.171832 9.475290 11.897297 -v 0.941169 8.423913 11.883170 -v 0.720340 8.093418 11.890942 -v 0.389845 7.872590 11.897297 -v -0.941169 9.203603 11.897297 -v -0.389845 9.754927 11.897297 -v 0.389845 9.754927 11.891426 -v 0.941169 9.203603 11.872112 -v -1.524936 8.927025 1.935824 -v -1.526129 9.833411 2.105288 -v -1.526129 9.321173 2.105288 -v -1.526129 9.326169 2.612226 -v 0.335502 11.269897 -2.300615 -v 0.143185 11.269897 -2.300615 -v -0.167762 10.787157 19.556133 -v -0.167762 10.787157 20.190464 -v -0.167762 11.355709 20.190464 -v -0.359371 10.492232 20.190464 -v -0.814306 10.492232 20.190464 -v -0.814306 10.296813 20.190464 -v -0.893030 10.296813 20.116810 -v -0.893030 10.296813 19.372772 -v -0.893030 10.492232 20.116810 -v -0.893030 10.296813 19.372772 -v -0.893030 10.492232 19.372772 -v -0.814306 10.492232 19.285318 -v -0.143185 10.723700 -1.978914 -v -1.014517 10.723700 -1.978914 -v -0.814306 10.357646 0.372431 -v -0.335502 11.269897 -2.300615 -v -0.335502 11.207904 -2.300615 -v -0.143185 11.207904 -2.300615 -v 1.526129 9.833411 0.796846 -v -0.451145 8.974197 5.975873 -v -0.345291 9.132619 5.975873 -v -0.345291 9.132619 5.773401 -v -0.186870 9.238472 5.975873 -v -0.186870 9.238472 5.773401 -v 0.345291 8.442036 5.975873 -v 0.186870 8.336183 5.975873 -v 0.186870 8.336183 5.773401 -v 0.000000 9.275643 5.975873 -v 0.000000 9.275643 5.773401 -v 0.186870 9.238472 5.975873 -v 0.186870 9.238472 5.773401 -v 0.451145 8.600457 5.975873 -v 0.345291 8.442036 5.773401 -v 0.345291 9.132619 5.975873 -v 0.345291 9.132619 5.773401 -v 0.451145 8.974197 5.975873 -v 0.451145 8.974197 5.773401 -v 0.488316 8.787328 5.975873 -v 0.451145 8.600457 5.773401 -v 0.488316 8.787328 5.773401 -v -0.186870 8.336183 5.975873 -v -0.345291 8.442036 5.975873 -v -0.345291 8.442036 5.773401 -v -0.451145 8.600457 5.975873 -v -0.488316 8.787328 5.975873 -v -0.488316 8.787328 5.773401 -v 0.000000 8.299012 5.975873 -v -0.186870 8.336183 5.773401 -v 0.000000 8.299012 5.773401 -v -0.451145 8.974197 5.773401 -v -0.451145 8.600457 5.773401 -v -1.360494 8.796173 2.190356 -v -1.659889 8.796173 2.190356 -v -1.659889 8.927017 2.059511 -v -1.659889 9.139336 2.059511 -v -1.360494 9.139336 2.059511 -v -1.360494 8.927017 2.059511 -v -1.360494 9.270180 2.190356 -v -1.659889 9.270180 2.190356 -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.935824 -v -1.526129 7.184847 0.796846 -v -1.526129 8.752565 2.110282 -v -1.524936 9.151711 1.935824 -v 0.167762 10.787157 20.190464 -v -1.526129 7.184847 -0.511595 -v 0.947015 10.390596 21.944122 -v 1.705540 7.184847 3.413727 -v 0.408756 10.107763 -3.763226 -v 1.705540 7.967401 18.319260 -v 1.526129 9.833411 1.303785 -v -1.132077 10.212755 -2.753815 -v 1.705540 7.184847 -1.313097 -v 1.705540 7.184847 -0.004656 -v 1.526129 9.833411 2.612226 -v 1.526129 9.833411 3.920666 -v 1.526129 9.833411 -0.004656 -v 1.705540 7.184847 2.105287 -v 1.526043 7.184847 -2.765843 -v -1.705540 9.326169 3.413728 -v -1.333642 7.967401 19.492821 -v -1.705540 9.660696 2.105288 -v -1.333642 7.184846 21.944122 -v -0.813732 7.184846 16.849926 -v -1.526129 7.184847 -1.820036 -v -1.526129 9.326169 3.920666 -v -1.333642 8.402287 11.660704 -v 0.408756 10.019367 5.830759 -v -0.654714 10.019367 6.288157 -v 0.869641 10.390596 11.777046 -v 0.000000 7.795044 11.897297 -v 0.893030 10.296813 19.372772 -v -0.143185 10.723700 -2.690542 -v -1.526129 9.833411 2.612226 -v -0.167762 11.355709 19.816681 -v -0.359371 10.492232 19.285318 -v -0.893030 10.492232 19.372772 -v -0.143185 11.269897 -2.300615 -v -1.014517 11.207904 -2.300615 -v -1.360494 9.270180 6.250484 -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.670330 0.348139 -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.655911 0.344201 -vt 0.655725 0.344372 -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.652553 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.668193 0.332067 -vt 0.668206 0.329389 -vt 0.666535 0.332060 -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.667770 0.332065 -vt 0.666770 0.332061 -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.666922 0.332062 -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.671575 0.327451 -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.671472 0.338233 -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.652553 0.349106 -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.667291 0.334981 -vt 0.668972 0.332310 -vt 0.668958 0.335208 -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.667718 0.334983 -vt 0.667731 0.332305 -vt 0.668734 0.332309 -vt 0.668720 0.335207 -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.668569 0.335206 -vt 0.668331 0.335205 -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.671659 0.347121 -vt 0.671877 0.347120 -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.644193 0.339756 -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.661774 0.343476 -vt 0.661779 0.343575 -vt 0.661938 0.343468 -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.645812 0.348899 -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.645922 0.348760 -vt 0.645839 0.348759 -vt 0.645839 0.348927 -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.665150 0.338600 -vt 0.665149 0.338488 -vt 0.665458 0.338243 -vt 0.665110 0.338327 -vt 0.665149 0.338488 -vt 0.670113 0.347891 -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.669766 0.348137 -vt 0.644857 0.345897 -vt 0.666027 0.338619 -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.666316 0.338619 -vt 0.666027 0.338619 -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.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.646516 0.348930 -vt 0.646599 0.348931 -vt 0.646517 0.348762 -vt 0.646626 0.348903 -vt 0.646918 0.348904 -vt 0.646626 0.348763 -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.671351 0.348142 -vt 0.671352 0.347895 -vt 0.655858 0.344144 -vt 0.654727 0.340476 -vt 0.654996 0.339627 -vt 0.665497 0.338404 -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.667782 0.329387 -vt 0.666549 0.329162 -vt 0.671051 0.347585 -vt 0.671275 0.346444 -vt 0.666784 0.329163 -vt 0.671356 0.327477 -vt 0.667170 0.329165 -vt 0.666935 0.329164 -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.671874 0.346444 -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.671470 0.337557 -vt 0.646872 0.342185 -vt 0.668972 0.332310 -vt 0.652336 0.349106 -vt 0.672085 0.329805 -vt 0.669596 0.345450 -vt 0.671789 0.329730 -vt 0.667304 0.332303 -vt 0.668734 0.332309 -vt 0.672085 0.332540 -vt 0.671710 0.333607 -vt 0.668582 0.332308 -vt 0.672166 0.323838 -vt 0.668344 0.332307 -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.671655 0.346445 -vt 0.644352 0.339741 -vt 0.661929 0.343266 -vt 0.666317 0.341361 -vt 0.663978 0.343119 -vt 0.671386 0.336174 -vt 0.645813 0.348759 -vt 0.665999 0.338362 -vt 0.645922 0.348928 -vt 0.665497 0.338599 -vt 0.664984 0.338489 -vt 0.665497 0.338404 -vt 0.669767 0.347890 -vt 0.670331 0.347891 -vt 0.670112 0.348138 -vt 0.669767 0.347890 -vt 0.666027 0.338335 -vt 0.666027 0.338646 -vt 0.671197 0.336802 -vt 0.666316 0.338619 -vt 0.646282 0.348623 -vt 0.646599 0.348931 -vt 0.646599 0.348763 -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.672007 0.330872 -vt 0.672007 0.329730 -vt 0.671789 0.329730 -vt 0.654722 0.339409 -vt 0.671579 0.326337 -vt 0.671361 0.326336 -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.671385 0.336030 -vt 0.671546 0.336029 -vt 0.671545 0.335632 -vt 0.671154 0.335634 -vt 0.654284 0.346628 -vt 0.654463 0.346686 -vt 0.654139 0.346714 -vt 0.343293 0.494352 -vt 0.403663 0.495033 -vt 0.424011 0.491967 -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.405218 0.475819 -vt 0.311194 0.474745 -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.424375 0.496265 -vt 0.345807 0.496601 -vt 0.345855 0.507785 -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.672006 0.333607 -vt 0.672007 0.332466 -vt 0.671789 0.332465 -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.411117 0.477267 -vt 0.411370 0.492239 -vt 0.424354 0.492076 -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.302821 0.490584 -vt 0.410043 0.495106 -vt 0.652336 0.349106 -vt 0.652553 0.349106 -vt 0.652553 0.348753 -vt 0.661163 0.348102 -vt 0.661163 0.347939 -vt 0.655926 0.347949 -vt 0.424262 0.469977 -vt 0.405287 0.469761 -vt 0.671872 0.323538 -vt 0.672090 0.323538 -vt 0.672088 0.322396 -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.655755 0.344598 -vt 0.655754 0.345574 -vt 0.657189 0.345576 -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.671872 0.322170 -vt 0.672090 0.322169 -vt 0.672085 0.321027 -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.411093 0.495895 -vt 0.423965 0.496042 -vt 0.646451 0.344107 -vt 0.661762 0.348101 -vt 0.671788 0.332239 -vt 0.672006 0.332240 -vt 0.672007 0.331098 -vt 0.670079 0.345801 -vt 0.669784 0.345800 -vt 0.669787 0.345111 -vt 0.670116 0.344218 -vt 0.671051 0.347585 -vt 0.671270 0.347586 -vt 0.671275 0.346444 -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.655911 0.344201 -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.403381 0.492993 -vt 0.410153 0.492980 -vt 0.671176 0.338233 -vt 0.671253 0.338233 -vt 0.671248 0.337030 -vt 0.645543 0.340191 -vt 0.650254 0.339752 -vt 0.650742 0.339545 -vt 0.405500 0.512252 -vt 0.405526 0.518299 -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.672090 0.324906 -vt 0.672089 0.323764 -vt 0.671870 0.323765 -vt 0.659341 0.339758 -vt 0.659342 0.339807 -vt 0.644946 0.340247 -vt 0.656755 0.343970 -vt 0.656537 0.343971 -vt 0.656538 0.344190 -vt 0.652042 0.344901 -vt 0.645109 0.340001 -vt 0.665779 0.341683 -vt 0.665706 0.341738 -vt 0.661666 0.343279 -vt 0.661676 0.343481 -vt 0.661774 0.343476 -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.646282 0.348623 -vt 0.646158 0.348622 -vt 0.646157 0.348929 -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.671248 0.337030 -vt 0.671250 0.337251 -vt 0.671469 0.337246 -vt 0.656541 0.342427 -vt 0.656458 0.342426 -vt 0.671274 0.336420 -vt 0.671548 0.336419 -vt 0.671547 0.336174 -vt 0.671548 0.336570 -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.651009 0.348764 -vt 0.651082 0.348764 -vt 0.651103 0.348667 -vt 0.651150 0.348791 -vt 0.651206 0.348710 -vt 0.651013 0.349131 -vt 0.650945 0.349104 -vt 0.650889 0.349185 -vt 0.651202 0.348842 -vt 0.651285 0.348789 -vt 0.651231 0.348909 -vt 0.651328 0.348892 -vt 0.651086 0.349131 -vt 0.650992 0.349228 -vt 0.651231 0.348982 -vt 0.651328 0.349003 -vt 0.651204 0.349050 -vt 0.651285 0.349106 -vt 0.651153 0.349102 -vt 0.651103 0.349228 -vt 0.651206 0.349185 -vt 0.650864 0.348986 -vt 0.650864 0.348913 -vt 0.650767 0.348892 -vt 0.650891 0.348845 -vt 0.650942 0.348793 -vt 0.650889 0.348710 -vt 0.650893 0.349053 -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.665496 0.328721 -vt 0.661745 0.328574 -vt 0.661745 0.328703 -vt 0.656871 0.339542 -vt 0.669475 0.348061 -vt 0.671788 0.330872 -vt 0.671254 0.337557 -vt 0.671252 0.337354 -vt 0.671545 0.335784 -vt 0.671787 0.333607 -vt 0.424233 0.477149 -vt 0.655624 0.336619 -vt 0.662967 0.338908 -vt 0.652336 0.348753 -vt 0.656433 0.348111 -vt 0.671870 0.322396 -vt 0.657191 0.344600 -vt 0.653583 0.336623 -vt 0.654148 0.336621 -vt 0.671867 0.321028 -vt 0.671789 0.331098 -vt 0.671056 0.346443 -vt 0.655059 0.336619 -vt 0.656134 0.344371 -vt 0.655632 0.339548 -vt 0.655699 0.347352 -vt 0.659343 0.339981 -vt 0.671171 0.337105 -vt 0.424469 0.518218 -vt 0.666774 0.344703 -vt 0.671872 0.324906 -vt 0.656756 0.344189 -vt 0.665748 0.341793 -vt 0.661765 0.343274 -vt 0.653715 0.344312 -vt 0.659330 0.338958 -vt 0.661427 0.341411 -vt 0.648961 0.349171 -vt 0.646280 0.348929 -vt 0.671466 0.337028 -vt 0.671386 0.336174 -vt 0.671158 0.336572 -vt 0.667319 0.348822 -vt 0.656334 0.342426 -vt 0.655959 0.342451 -vt 0.665496 0.328592 -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 -1.0000 0.0000 0.0002 -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.0000 -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.6939 0.7201 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.9199 0.3923 -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.4234 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.6323 -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.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.8200 -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.0000 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.0000 -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.3828 0.9238 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.0002 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.0127 -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.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.3824 0.9240 -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.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 -usemtl Material.001 -s off -f 1875/1928/926 1876/1929/926 1877/1930/926 -f 1878/1931/927 1879/1932/927 1880/1933/927 -f 1881/1934/928 1882/1935/928 1883/1936/928 -f 1884/1937/928 1885/1938/928 1886/1939/928 -f 1887/1940/929 1888/1941/929 1889/1942/929 -f 1881/1934/930 1890/1943/928 1891/1944/930 -f 1892/1945/931 1893/1946/931 1894/1947/931 -f 1895/1948/932 1896/1949/932 1897/1950/932 -f 1898/1951/933 1899/1952/933 1900/1953/933 -f 1895/1948/932 1897/1950/932 1901/1954/932 -f 1902/1955/928 1903/1956/928 1904/1957/928 -f 1905/1958/934 1906/1959/934 1907/1960/934 -f 1908/1961/935 1909/1962/935 1910/1963/935 -f 1910/1963/935 1911/1964/935 1908/1961/935 -f 1912/1965/932 1895/1948/932 1913/1966/932 -f 1914/1967/932 1915/1968/932 1912/1965/932 -f 1885/1938/928 1916/1969/928 1917/1970/928 -f 1918/1971/926 1919/1972/926 1920/1973/926 -f 1921/1974/932 1922/1975/932 1923/1976/932 -f 1924/1977/932 1925/1978/932 1926/1979/932 -f 1914/1967/932 1912/1965/932 1913/1966/932 -f 1927/1980/926 1928/1981/926 1929/1982/926 -f 1929/1982/926 1930/1983/926 1927/1980/926 -f 1931/1984/932 1932/1985/932 1933/1986/932 -f 1934/1987/928 1935/1988/928 1936/1989/928 -f 1919/1972/926 1937/1990/926 1920/1973/926 -f 1938/1991/935 1939/1992/935 1940/1993/935 -f 1925/1978/932 1901/1954/932 1926/1979/932 -f 1897/1950/932 1926/1979/932 1901/1954/932 -f 1912/1965/932 1941/1994/932 1895/1948/932 -f 1926/1979/932 1942/1995/932 1924/1977/932 -f 1943/1996/935 1944/1997/935 1945/1998/935 -f 1946/1999/926 1920/1973/926 1937/1990/926 -f 1947/2000/926 1948/2001/926 1949/2002/926 -f 1950/2003/935 1951/2004/935 1952/2005/935 -f 1953/2006/936 1954/2007/936 1955/2008/936 -f 1956/2009/936 1957/2010/936 1954/2007/936 -f 1926/1979/932 1923/1976/932 1922/1975/932 -f 1958/2011/932 1959/2012/932 1942/1995/932 -f 1960/2013/932 1961/2014/932 1959/2012/932 -f 1962/2015/928 1963/2016/928 1964/2017/928 -f 1965/2018/927 1966/2019/927 1967/2020/927 -f 1968/2021/927 1969/2022/927 1970/2023/927 -f 1971/2024/927 1972/2025/927 1973/2026/927 -f 1974/2027/932 1975/2028/932 1976/2029/932 -f 1977/2030/932 1978/2031/932 1979/2032/932 -f 1980/2033/927 1981/2034/927 1982/2035/927 -f 1983/2036/927 1982/2035/927 1984/2037/927 -f 1985/2038/927 1986/2039/927 1987/2040/927 -f 1988/2041/932 1989/2042/932 1933/1986/932 -f 1990/2043/932 1991/2044/932 1992/2045/932 -f 1993/2046/932 1994/2047/932 1959/2012/932 -f 1995/2048/927 1996/2049/927 1997/2050/927 -f 1998/2051/937 1999/2052/937 2000/2053/937 -f 2001/2054/935 2002/2055/935 2003/2056/935 -f 1961/2014/932 1960/2013/932 2004/2057/932 -f 2005/2058/938 2006/2059/938 2007/2060/938 -f 2008/2061/927 2009/2062/927 2010/2063/927 -f 2011/2064/935 2012/2065/935 2013/2066/935 -f 2014/2067/933 2015/2068/933 2005/2058/933 -f 2016/2069/939 2017/2070/939 2018/2071/939 -f 2019/2072/928 2020/2073/928 2021/2074/928 -f 2022/2075/927 2023/2076/927 2024/2077/927 -f 2025/2078/927 2026/2079/927 2027/2080/927 -f 2028/2081/935 2029/2082/935 2030/2083/935 -f 1915/1968/932 2031/2084/932 1912/1965/932 -f 2032/2085/940 2033/2086/940 2034/2087/940 -f 2035/2088/940 2036/2089/940 2037/2090/940 -f 2038/2091/927 2039/2092/927 2040/2093/927 -f 2041/2094/927 2042/2095/927 2043/2096/927 -f 2044/2097/935 2045/2098/935 2046/2099/935 -f 2043/2096/927 2027/2080/927 2041/2094/927 -f 2047/2100/941 2048/2101/941 2049/2102/941 -f 2050/2103/939 2051/2104/939 2052/2105/939 -f 2053/2106/927 2054/2107/927 2055/2108/927 -f 2056/2109/939 2049/2102/939 2048/2101/939 -f 2057/2110/929 2058/2111/929 2059/2112/929 -f 2060/2113/942 2061/2114/942 2062/2115/942 -f 2063/2116/935 2064/2117/935 2065/2118/935 -f 2066/2119/926 2067/2120/926 1937/1990/926 -f 2068/2121/943 2069/2122/943 2070/2123/943 -f 1915/1968/932 2071/2124/932 2031/2084/932 -f 1992/2045/932 2072/2125/932 1933/1986/932 -f 1959/2012/932 1961/2014/932 1933/1986/932 -f 1958/2011/932 2073/2126/932 2074/2127/932 -f 2075/2128/932 1988/2041/932 1933/1986/932 -f 1933/1986/932 2076/2129/932 2077/2130/932 -f 2078/2131/932 2076/2129/932 1933/1986/932 -f 2078/2131/932 2072/2125/932 2079/2132/932 -f 2080/2133/927 2081/2134/927 2082/2135/927 -f 1987/2040/927 2080/2133/927 2083/2136/927 -f 2084/2137/927 1981/2034/927 1980/2033/927 -f 2073/2126/932 2085/2138/932 2074/2127/932 -f 2086/2139/932 2087/2140/932 2088/2141/932 -f 2089/2142/932 2073/2126/932 1958/2011/932 -f 2090/2143/927 2091/2144/927 2092/2145/927 -f 2093/2146/927 2094/2147/927 2095/2148/927 -f 2096/2149/935 2097/2150/935 2098/2151/935 -f 2099/2152/935 2100/2153/935 2101/2154/935 -f 2102/2155/928 2103/2156/928 2104/2157/928 -f 2105/2158/939 2106/2159/939 2107/2160/939 -f 2108/2161/927 2109/2162/927 2110/2163/927 -f 2111/2164/927 2112/2165/927 2113/2166/927 -f 1921/1974/932 1896/1949/932 1975/2028/932 -f 2114/2167/941 2106/2159/941 2105/2158/941 -f 2115/2168/926 2116/2169/926 2117/2170/926 -f 2118/2171/926 2119/2172/926 2120/2173/926 -f 2121/2174/927 2122/2175/927 2123/2176/927 -f 1941/1994/932 1975/2028/932 1896/1949/932 -f 2124/2177/927 2125/2178/927 2126/2179/927 -f 2127/2180/935 2128/2181/935 2129/2182/935 -f 1976/2029/932 1975/2028/932 1941/1994/932 -f 2130/2183/940 2131/2184/940 2132/2185/940 -f 2133/2186/940 2134/2187/940 2135/2188/940 -f 2136/2189/927 2137/2190/927 2138/2191/927 -f 2139/2192/927 2140/2193/927 2125/2178/927 -f 2141/2194/935 2142/2195/935 2143/2196/935 -f 2126/2179/927 2125/2178/927 2140/2193/927 -f 2144/2197/926 2145/2198/926 2146/2199/926 -f 2147/2200/938 2148/2201/938 2149/2202/938 -f 2074/2127/932 2150/2203/932 2088/2141/932 -f 2151/2204/932 2074/2127/932 2087/2140/932 -f 2152/2205/927 2153/2206/927 2154/2207/927 -f 2155/2208/926 2156/2209/926 2144/2197/926 -f 2157/2210/929 2158/2211/929 2159/2212/929 -f 2160/2213/932 2151/2204/932 2161/2214/932 -f 2162/2215/932 2163/2216/932 2074/2127/932 -f 2164/2217/935 2165/2218/935 2166/2219/935 -f 2167/2220/932 2074/2127/932 2163/2216/932 -f 2168/2221/928 2169/2222/928 2170/2223/928 -f 1977/2030/932 2150/2203/932 2074/2127/932 -f 2171/2224/935 2172/2225/935 2173/2226/935 -f 1909/1962/935 2174/2227/935 2172/2225/935 -f 1909/1962/935 1908/1961/935 2174/2227/935 -f 2175/2228/926 2176/2229/926 2177/2230/926 -f 2178/2231/928 2179/2232/928 2180/2233/928 -f 2181/2234/935 2182/2235/935 2183/2236/935 -f 2184/2237/935 2185/2238/935 2186/2239/935 -f 2187/2240/935 2188/2241/935 2186/2239/935 -f 1965/2018/927 1967/2020/927 2189/2242/927 -f 2190/2243/926 2191/2244/926 2192/2245/926 -f 2172/2225/935 2193/2246/935 2173/2226/935 -f 2194/2247/936 2195/2248/936 2196/2249/936 -f 2197/2250/935 2198/2251/935 2199/2252/935 -f 2200/2253/935 2201/2254/935 2202/2255/935 -f 2203/2256/927 2204/2257/927 2205/2258/927 -f 2206/2259/936 2207/2260/936 2208/2261/936 -f 2209/2262/928 2210/2263/928 2211/2264/928 -f 2212/2265/936 2213/2266/936 2214/2267/936 -f 2214/2267/936 2215/2268/936 2212/2265/936 -f 2216/2269/926 2217/2270/926 2218/2271/926 -f 2219/2272/926 2220/2273/926 2221/2274/926 -f 2222/2275/936 2223/2276/936 2224/2277/936 -f 2192/2245/926 1948/2001/926 1947/2000/926 -f 1923/1976/932 1896/1949/932 1921/1974/932 -f 2225/2278/927 2226/2279/927 2227/2280/927 -f 2228/2281/927 2225/2278/927 2227/2280/927 -f 2229/2282/927 2228/2281/927 2227/2280/927 -f 2190/2243/926 2192/2245/926 1947/2000/926 -f 2226/2279/927 2230/2283/927 2227/2280/927 -f 2231/2284/935 2232/2285/935 2233/2286/935 -f 2233/2286/935 2232/2285/935 2234/2287/935 -f 2235/2288/935 2236/2289/935 2237/2290/935 -f 2238/2291/935 2239/2292/935 2235/2288/935 -f 1945/1998/935 2239/2292/935 2240/2293/935 -f 2241/2294/935 2242/2295/935 1944/1997/935 -f 2243/2296/935 2244/2297/935 2242/2295/935 -f 2245/2298/935 2234/2287/935 2244/2297/935 -f 2246/2299/935 2243/2296/935 2242/2295/935 -f 2241/2294/935 2246/2299/935 2242/2295/935 -f 1943/1996/935 2247/2300/935 1944/1997/935 -f 2248/2301/935 2240/2293/935 2239/2292/935 -f 2238/2291/935 2248/2301/935 2239/2292/935 -f 2249/2302/935 2238/2291/935 2235/2288/935 -f 2250/2303/935 2237/2290/935 2236/2289/935 -f 2251/2304/935 2250/2303/935 2236/2289/935 -f 2251/2304/935 2236/2289/935 2234/2287/935 -f 2245/2298/935 2252/2305/935 2234/2287/935 -f 2243/2296/935 2253/2306/935 2244/2297/935 -f 2254/2307/935 2231/2284/935 2233/2286/935 -f 2236/2289/935 2233/2286/935 2234/2287/935 -f 2249/2302/935 2235/2288/935 2237/2290/935 -f 2255/2308/935 1945/1998/935 2240/2293/935 -f 2247/2300/935 2241/2294/935 1944/1997/935 -f 2253/2306/935 2245/2298/935 2244/2297/935 -f 2252/2305/935 2251/2304/935 2234/2287/935 -f 2255/2308/935 1943/1996/935 1945/1998/935 -f 2256/2309/926 2257/2310/926 2258/2311/926 -f 1941/1994/932 1896/1949/932 1895/1948/932 -f 2259/2312/927 2260/2313/927 2261/2314/927 -f 2262/2315/944 2263/2316/944 2264/2317/944 -f 2265/2318/932 2266/2319/932 2267/2320/932 -f 2268/2321/932 2269/2322/932 2270/2323/932 -f 2271/2324/936 2272/2325/936 2273/2326/936 -f 2274/2327/928 1883/1936/928 1882/1935/928 -f 2202/2255/935 2275/2328/935 2181/2234/935 -f 2197/2250/935 2199/2252/935 2202/2255/935 -f 2276/2329/927 2277/2330/927 2278/2331/927 -f 2276/2329/927 2279/2332/927 2280/2333/927 -f 2281/2334/932 2282/2335/932 2283/2336/932 -f 2284/2337/928 2285/2338/928 2209/2262/928 -f 2286/2339/936 2287/2340/936 2288/2341/936 -f 2289/2342/936 2286/2339/936 2290/2343/936 -f 1880/1933/927 1879/1932/927 2291/2344/927 -f 2292/2345/928 2293/2346/928 2294/2347/928 -f 2279/2332/927 2295/2348/927 2296/2349/927 -f 2297/2350/926 2298/2351/926 2299/2352/926 -f 2300/2353/928 2301/2354/928 2302/2355/928 -f 2303/2356/936 2304/2357/936 2305/2358/936 -f 2306/2359/926 2299/2352/926 2298/2351/926 -f 2307/2360/936 2308/2361/936 2309/2362/936 -f 2310/2363/936 2309/2362/936 2308/2361/936 -f 2311/2364/926 2312/2365/926 2313/2366/926 -f 2311/2364/926 1877/1930/926 2312/2365/926 -f 1880/1933/927 2204/2257/927 2314/2367/927 -f 2204/2257/927 2203/2256/927 2314/2367/927 -f 2315/2368/935 1952/2005/935 2316/2369/935 -f 2317/2370/928 2318/2371/928 2319/2372/928 -f 2320/2373/928 2319/2372/928 2318/2371/928 -f 2321/2374/928 2320/2373/928 2318/2371/928 -f 1878/1931/927 1880/1933/927 2314/2367/927 -f 2322/2375/935 2315/2368/935 2316/2369/935 -f 2323/2376/928 2317/2370/928 2319/2372/928 -f 2311/2364/926 1875/1928/926 1877/1930/926 -f 2315/2368/935 1950/2003/935 1952/2005/935 -f 2324/2377/935 2325/2378/935 2326/2379/935 -f 2327/2380/935 2325/2378/935 2328/2381/935 -f 2326/2379/935 2325/2378/935 2329/2382/935 -f 2329/2382/935 2325/2378/935 2330/2383/935 -f 2331/2384/935 2325/2378/935 2327/2380/935 -f 2330/2383/935 2325/2378/935 2332/2385/935 -f 2332/2385/935 2325/2378/935 2333/2386/935 -f 2334/2387/935 2325/2378/935 2331/2384/935 -f 2333/2386/935 2325/2378/935 2335/2388/935 -f 2335/2388/935 2325/2378/935 2336/2389/935 -f 2336/2389/935 2325/2378/935 2334/2387/935 -f 2337/2390/935 2325/2378/935 2324/2377/935 -f 2328/2381/935 2325/2378/935 2338/2391/935 -f 2339/2392/935 2325/2378/935 2337/2390/935 -f 2338/2391/935 2325/2378/935 2340/2393/935 -f 2340/2393/935 2325/2378/935 2339/2392/935 -f 2341/2394/928 2342/2395/928 2343/2396/928 -f 2344/2397/928 2345/2398/928 2343/2396/928 -f 2346/2399/935 2347/2400/935 2348/2401/935 -f 1890/1943/928 1881/1934/928 1883/1936/928 -f 2349/2402/928 1884/1937/928 1886/1939/928 -f 2350/2403/929 1887/1940/929 1889/1942/929 -f 2351/2404/930 1881/1934/945 1891/1944/930 -f 2352/2405/931 1892/1945/931 1894/1947/931 -f 2353/2406/928 1902/1955/928 1904/1957/928 -f 1904/1957/928 2354/2407/928 2353/2406/928 -f 1886/1939/928 1885/1938/928 1917/1970/928 -f 2355/2408/935 1938/1991/935 1940/1993/935 -f 2067/2120/926 1946/1999/926 1937/1990/926 -f 2356/2409/936 1953/2006/936 1955/2008/936 -f 1953/2006/936 1956/2009/936 1954/2007/936 -f 1942/1995/932 1926/1979/932 1922/1975/932 -f 1922/1975/932 1958/2011/932 1942/1995/932 -f 1958/2011/932 1960/2013/932 1959/2012/932 -f 1973/2026/927 1968/2021/927 1970/2023/927 -f 1970/2023/927 1971/2024/927 1973/2026/927 -f 2150/2203/932 1977/2030/932 1979/2032/932 -f 1983/2036/927 1980/2033/927 1982/2035/927 -f 2357/2410/927 1983/2036/927 1984/2037/927 -f 2358/2411/927 1985/2038/927 1987/2040/927 -f 1932/1985/932 1990/2043/932 1992/2045/932 -f 1989/2042/932 1993/2046/932 1959/2012/932 -f 2359/2412/927 1995/2048/927 1997/2050/927 -f 2360/2413/937 1998/2051/937 2000/2053/937 -f 2361/2414/935 2001/2054/935 2003/2056/935 -f 2362/2415/932 1961/2014/932 2004/2057/932 -f 2014/2067/938 2005/2058/938 2007/2060/938 -f 2363/2416/927 2008/2061/927 2010/2063/927 -f 2364/2417/935 2011/2064/935 2013/2066/935 -f 2365/2418/939 2016/2069/939 2018/2071/939 -f 2366/2419/928 2019/2072/928 2021/2074/928 -f 2367/2420/927 2022/2075/927 2024/2077/927 -f 2043/2096/927 2025/2078/927 2027/2080/927 -f 2368/2421/935 2028/2081/935 2030/2083/935 -f 2369/2422/940 2032/2085/940 2034/2087/940 -f 2370/2423/940 2035/2088/940 2037/2090/940 -f 2371/2424/927 2038/2091/927 2040/2093/927 -f 2372/2425/935 2044/2097/935 2046/2099/935 -f 2373/2426/939 2050/2103/939 2052/2105/939 -f 2374/2427/927 2053/2106/927 2055/2108/927 -f 2375/2428/939 2056/2109/939 2048/2101/939 -f 2376/2429/929 2057/2110/929 2059/2112/929 -f 2377/2430/942 2060/2113/942 2062/2115/942 -f 2378/2431/935 2063/2116/935 2065/2118/935 -f 2379/2432/943 2068/2121/943 2070/2123/943 -f 1932/1985/932 1992/2045/932 1933/1986/932 -f 1989/2042/932 1959/2012/932 1933/1986/932 -f 1960/2013/932 1958/2011/932 2074/2127/932 -f 2077/2130/932 2075/2128/932 1933/1986/932 -f 2072/2125/932 2078/2131/932 1933/1986/932 -f 2380/2433/932 2078/2131/932 2079/2132/932 -f 2083/2136/927 2080/2133/927 2082/2135/927 -f 2358/2411/927 1987/2040/927 2083/2136/927 -f 2381/2434/927 2084/2137/927 1980/2033/927 -f 2382/2435/932 2086/2139/932 2088/2141/932 -f 2383/2436/932 2089/2142/932 1958/2011/932 -f 2384/2437/927 2090/2143/927 2092/2145/927 -f 2385/2438/927 2093/2146/927 2095/2148/927 -f 2386/2439/935 2096/2149/935 2098/2151/935 -f 2387/2440/935 2099/2152/935 2101/2154/935 -f 2388/2441/928 2102/2155/928 2104/2157/928 -f 2389/2442/939 2105/2158/939 2107/2160/939 -f 2390/2443/927 2108/2161/927 2110/2163/927 -f 2391/2444/927 2111/2164/927 2113/2166/927 -f 2392/2445/932 1921/1974/932 1975/2028/932 -f 2393/2446/926 2115/2168/926 2117/2170/926 -f 2394/2447/926 2118/2171/926 2120/2173/926 -f 2395/2448/927 2121/2174/927 2123/2176/927 -f 2396/2449/927 2124/2177/927 2126/2179/927 -f 2397/2450/935 2127/2180/935 2129/2182/935 -f 2398/2451/940 2130/2183/940 2132/2185/940 -f 2399/2452/940 2133/2186/940 2135/2188/940 -f 2400/2453/927 2136/2189/927 2138/2191/927 -f 2401/2454/935 2141/2194/935 2143/2196/935 -f 2402/2455/938 2147/2200/938 2149/2202/938 -f 2087/2140/932 2074/2127/932 2088/2141/932 -f 2161/2214/932 2151/2204/932 2087/2140/932 -f 2403/2456/927 2152/2205/927 2154/2207/927 -f 2146/2199/926 2155/2208/926 2144/2197/926 -f 2404/2457/929 2157/2210/929 2159/2212/929 -f 2405/2458/932 2160/2213/932 2161/2214/932 -f 2085/2138/932 2162/2215/932 2074/2127/932 -f 2406/2459/935 2164/2217/935 2166/2219/935 -f 2407/2460/928 2408/2461/928 2409/2462/928 -f 2410/2463/928 2168/2221/928 2170/2223/928 -f 2167/2220/932 1977/2030/932 2074/2127/932 -f 2171/2224/935 1909/1962/935 2172/2225/935 -f 2411/2464/926 2175/2228/926 2177/2230/926 -f 2412/2465/928 2178/2231/928 2180/2233/928 -f 2197/2250/935 2181/2234/935 2183/2236/935 -f 2185/2238/935 2187/2240/935 2186/2239/935 -f 2413/2466/927 1965/2018/927 2189/2242/927 -f 2414/2467/936 2194/2247/936 2196/2249/936 -f 2199/2252/935 2200/2253/935 2202/2255/935 -f 2415/2468/936 2206/2259/936 2208/2261/936 -f 2416/2469/926 2216/2269/926 2218/2271/926 -f 2417/2470/926 2219/2272/926 2221/2274/926 -f 2418/2471/936 2222/2275/936 2224/2277/936 -f 2419/2472/926 2256/2309/926 2258/2311/926 -f 2420/2473/927 2259/2312/927 2261/2314/927 -f 2421/2474/944 2262/2315/944 2264/2317/944 -f 2422/2475/932 2265/2318/932 2267/2320/932 -f 2423/2476/932 2268/2321/932 2270/2323/932 -f 2424/2477/936 2271/2324/936 2273/2326/936 -f 2425/2478/928 2274/2327/928 1882/1935/928 -f 2181/2234/935 2197/2250/935 2202/2255/935 -f 2426/2479/927 2276/2329/927 2278/2331/927 -f 2277/2330/927 2276/2329/927 2280/2333/927 -f 2427/2480/932 2281/2334/932 2283/2336/932 -f 2211/2264/928 2284/2337/928 2209/2262/928 -f 2290/2343/936 2286/2339/936 2288/2341/936 -f 2428/2481/936 2289/2342/936 2290/2343/936 -f 2429/2482/928 2292/2345/928 2294/2347/928 -f 2280/2333/927 2279/2332/927 2296/2349/927 -f 2430/2483/926 2297/2350/926 2299/2352/926 -f 2431/2484/928 2300/2353/928 2302/2355/928 -f 2432/2485/936 2303/2356/936 2305/2358/936 -f 2433/2486/928 2341/2394/928 2343/2396/928 -f 2342/2395/928 2344/2397/928 2343/2396/928 -f 2434/2487/935 2346/2399/935 2348/2401/935 -s 1 -f 2435/2488/946 2436/2489/947 2437/2490/948 -f 2437/2490/948 2438/2491/949 2174/2227/935 -f 2439/2492/950 2440/2493/950 2441/2494/951 -f 2442/2495/952 1967/2020/927 1966/2019/927 -f 2443/2496/953 2444/2497/954 2445/2498/928 -f 2446/2499/955 2447/2500/955 2448/2501/956 -f 2449/2502/928 2450/2503/957 2451/2504/958 -f 2354/2407/928 2452/2505/959 2353/2406/928 -f 2453/2506/960 2454/2507/961 1906/1959/926 -f 2455/2508/962 2440/2493/950 2439/2492/950 -f 2456/2509/963 2457/2510/926 2458/2511/926 -f 1930/1983/926 1929/1982/926 2459/2512/964 -f 2459/2512/964 2460/2513/926 1930/1983/926 -f 2458/2511/926 1918/1971/926 2461/2514/965 -f 1918/1971/926 1920/1973/926 2461/2514/965 -f 1932/1985/932 1931/1984/932 2462/2515/966 -f 2463/2516/932 2464/2517/967 2462/2515/966 -f 2456/2509/963 2458/2511/926 2461/2514/965 -f 2465/2518/968 2466/2519/969 2467/2520/970 -f 2468/2521/971 2469/2522/972 2470/2523/973 -f 2471/2524/974 2472/2525/975 2473/2526/976 -f 2474/2527/977 2475/2528/977 2321/2374/928 -f 2476/2529/978 2477/2530/926 2478/2531/926 -f 2479/2532/979 2480/2533/979 2476/2529/978 -f 2481/2534/980 2482/2535/981 2483/2536/982 -f 2484/2537/983 2485/2538/984 2486/2539/985 -f 2487/2540/980 2488/2541/986 2489/2542/987 -f 2490/2543/988 2491/2544/989 2492/2545/990 -f 2493/2546/991 2494/2547/992 2495/2548/993 -f 2486/2539/985 2496/2549/963 2497/2550/926 -f 2498/2551/926 2499/2552/926 2500/2553/994 -f 2497/2554/926 2498/2551/926 2500/2553/994 -f 2501/2555/995 2502/2556/996 2503/2557/928 -f 2504/2558/997 2505/2559/998 2502/2560/996 -f 2501/2555/995 2503/2557/928 1962/2015/928 -f 2506/2561/999 2507/2562/1000 2508/2563/936 -f 2509/2564/1001 2510/2565/1002 2511/2566/1003 -f 2442/2495/952 2512/2567/1004 2487/2540/980 -f 2513/2568/1005 2126/2179/927 2140/2193/927 -f 2189/2242/927 2514/2569/1006 2413/2466/927 -f 2515/2570/928 2516/2571/957 2517/2572/1007 -f 2518/2573/1008 2519/2574/1009 2520/2575/936 -f 2521/2576/1010 2522/2577/1011 2518/2573/1008 -f 2521/2576/1010 2523/2578/1012 2524/2579/1013 -f 2525/2580/1014 2526/2581/1015 2191/2244/926 -f 2500/2553/994 2527/2582/1016 2484/2583/983 -f 2528/2584/994 2529/2585/1017 2522/2577/1011 -f 2530/2586/936 2520/2575/936 2519/2574/1009 -f 2531/2587/1018 2532/2588/957 2533/2589/1019 -f 2534/2590/1020 2535/2591/1021 2533/2589/1019 -f 2518/2573/1008 2533/2589/1019 2535/2591/1021 -f 2536/2592/1022 2534/2590/1020 2533/2589/1019 -f 2537/2593/1023 2538/2594/1024 2539/2595/1025 -f 2540/2596/999 2541/2597/1026 2542/2598/1027 -f 2543/2599/1028 2544/2600/1029 2545/2601/1030 -f 2546/2602/926 2547/2603/960 2548/2604/960 -f 2549/2605/1031 2550/2606/1032 2544/2607/1029 -f 2461/2514/965 2551/2608/963 2552/2609/1033 -f 2553/2610/1034 2554/2611/1035 2555/2612/1036 -f 2537/2593/1023 2556/2613/1001 2557/2614/936 -f 2486/2539/985 2500/2615/994 2484/2537/983 -f 2486/2539/985 2485/2538/984 2558/2616/1031 -f 2559/2617/1002 2560/2618/936 2561/2619/936 -f 2562/2620/1037 2563/2621/1038 2564/2622/936 -f 2486/2539/985 2565/2623/926 2566/2624/1033 -f 2567/2625/926 2568/2626/926 2569/2627/1039 -f 2570/2628/1040 2571/2629/1041 2572/2630/1042 -f 2573/2631/1043 2572/2630/1042 2563/2621/1038 -f 2574/2632/935 2575/2633/935 2576/2634/1044 -f 2577/2635/1045 2578/2636/1046 2579/2637/1047 -f 2580/2638/1048 2510/2565/1002 2579/2637/1047 -f 2581/2639/936 2582/2640/1049 2538/2594/1024 -f 2580/2638/1048 2583/2641/1050 2584/2642/1051 -f 2585/2643/1005 2578/2636/1046 2586/2644/1052 -f 2578/2636/1046 2583/2641/1050 2579/2637/1047 -f 2587/2645/1053 2459/2512/964 1929/1982/926 -f 2579/2637/1047 2588/2646/1054 2577/2635/1045 -f 2557/2614/936 2538/2594/1024 2537/2593/1023 -f 2548/2604/960 2547/2603/960 2589/2647/1055 -f 2590/2648/1056 2591/2649/1057 2592/2650/1055 -f 2593/2651/1019 2594/2652/1017 2595/2653/1025 -f 2596/2654/1057 2597/2655/1058 2598/2656/926 -f 2578/2636/1046 2577/2635/1045 2586/2644/1052 -f 2599/2657/1057 2600/2658/1058 2601/2659/926 -f 2602/2660/926 2603/2661/926 2604/2662/1039 -f 2605/2663/1057 2606/2664/1056 2066/2119/926 -f 2607/2665/984 2542/2598/1027 2550/2606/1032 -f 2608/2666/1059 2553/2610/1034 2609/2667/1060 -f 2554/2611/1035 2610/2668/926 2611/2669/926 -f 2612/2670/1028 2613/2671/1061 2486/2539/985 -f 2484/2583/983 2507/2562/1000 2485/2672/984 -f 2571/2629/1041 2570/2628/1040 2614/2673/949 -f 2615/2674/926 2616/2675/926 2617/2676/1039 -f 2618/2677/927 2619/2678/927 2620/2679/1062 -f 2579/2637/1047 2621/2680/1001 2588/2646/1054 -f 2585/2643/1005 2586/2644/1052 2041/2094/927 -f 2622/2681/926 2623/2682/926 2624/2683/1039 -f 2625/2684/926 2626/2685/960 2627/2686/960 -f 2066/2119/926 1937/1990/926 2605/2663/1057 -f 2628/2687/1063 2589/2647/1055 2529/2585/1017 -f 2629/2688/1063 2630/2689/1064 2529/2585/1017 -f 2459/2512/964 2587/2645/1053 2539/2595/1025 -f 2630/2689/1064 2631/2690/1065 2539/2595/1025 -f 2597/2655/1058 2596/2654/1057 2630/2689/1064 -f 2632/2691/1055 2629/2688/1063 2529/2585/1017 -f 2600/2658/1058 2599/2657/1057 2632/2691/1055 -f 2633/2692/1063 2634/2693/1055 2529/2585/1017 -f 2627/2686/960 2626/2685/960 2634/2693/1055 -f 2589/2647/1055 2633/2692/1063 2529/2585/1017 -f 2528/2584/994 2592/2650/1055 2529/2585/1017 -f 2635/2694/967 2636/2695/1066 2637/2696/1066 -f 2638/2697/1003 2639/2698/1067 2640/2699/1068 -f 1885/1938/928 2641/2700/1069 2642/2701/1069 -f 2640/2699/1068 2643/2702/957 2644/2703/1020 -f 2645/2704/954 2646/2705/953 2640/2699/1068 -f 2647/2706/954 2648/2707/954 2649/2708/928 -f 2646/2705/953 2643/2702/957 2640/2699/1068 -f 2642/2701/1069 2641/2700/1069 2650/2709/1070 -f 2608/2666/1059 2651/2710/1059 2652/2711/1071 -f 2653/2712/1001 2638/2697/1003 2581/2639/936 -f 2505/2559/998 2504/2558/997 2542/2713/1027 -f 2542/2713/1027 2504/2558/997 2550/2714/1032 -f 2654/2715/1072 2655/2716/1073 2470/2523/973 -f 2466/2519/969 2465/2518/968 2656/2717/935 -f 2524/2579/1013 2522/2577/1011 2521/2576/1010 -f 2657/2718/1037 2658/2719/936 2659/2720/936 -f 2504/2558/997 2501/2721/995 2660/2722/1074 -f 2661/2723/928 2662/2724/1020 2452/2505/959 -f 2435/2488/946 2663/2725/1075 2664/2726/1076 -f 2663/2725/1075 2657/2718/1037 2665/2727/1038 -f 2666/2728/1020 2644/2703/1020 2643/2702/957 -f 2667/2729/1077 2668/2730/1078 2510/2565/1002 -f 2662/2724/1020 2531/2587/1018 2669/2731/957 -f 2667/2729/1077 2513/2568/1005 2670/2732/1079 -f 2580/2638/1048 2667/2729/1077 2510/2565/1002 -f 2645/2704/954 2639/2698/1067 2409/2462/928 -f 2511/2566/1003 2510/2565/1002 2668/2730/1078 -f 2582/2640/1049 2581/2639/936 2638/2697/1003 -f 2647/2706/954 2536/2592/1022 2532/2588/957 -f 2443/2496/953 2535/2591/1021 2534/2590/1020 -f 2671/2733/1080 2672/2734/928 2673/2735/928 -f 2668/2730/1078 2667/2729/1077 2670/2732/1079 -f 2674/2736/1080 2675/2737/928 2676/2738/928 -f 2408/2461/928 2645/2704/954 2409/2462/928 -f 2644/2703/1020 2677/2739/957 2533/2589/1019 -f 2678/2740/1020 2679/2741/1018 2677/2739/957 -f 2680/2742/1081 2652/2711/1071 2681/2743/928 -f 2544/2600/1029 2550/2714/1032 2504/2558/997 -f 2682/2744/928 2683/2745/957 2684/2746/954 -f 2685/2747/1082 2686/2748/1083 2542/2598/1027 -f 2435/2488/946 2437/2490/948 2687/2749/1084 -f 2688/2750/1020 2689/2751/1022 2690/2752/928 -f 2669/2731/957 2531/2587/1018 2533/2589/1019 -f 2499/2552/926 2691/2753/926 2500/2553/994 -f 2512/2567/1004 2488/2541/986 2487/2540/980 -f 2191/2244/926 2190/2243/926 2525/2580/1014 -f 2436/2489/947 2692/2754/1085 2438/2491/949 -f 2514/2569/1006 2693/2755/1086 2694/2756/1087 -f 2514/2569/1006 2189/2242/927 2693/2755/1086 -f 2695/2757/1088 2696/2758/1089 2697/2759/932 -f 2698/2760/950 2699/2761/932 2700/2762/932 -f 2526/2581/1015 2525/2580/1014 2698/2760/950 -f 2493/2546/991 2495/2548/993 2701/2763/1089 -f 2685/2747/1082 2541/2597/1026 2540/2596/999 -f 2502/2560/996 2501/2721/995 2504/2558/997 -f 2507/2562/1000 2506/2561/999 2485/2672/984 -f 2482/2535/981 2702/2764/1090 2495/2548/993 -f 2494/2547/992 2703/2765/928 2704/2766/928 -f 2482/2535/981 2481/2534/980 2702/2764/1090 -f 2483/2536/982 2441/2494/951 2481/2534/980 -f 2705/2767/1091 2706/2768/1092 2707/2769/1093 -f 2708/2770/1094 2705/2767/1091 2709/2771/1095 -f 2710/2772/1096 2708/2770/1094 2711/2773/1097 -f 2712/2774/1098 2710/2772/1096 2713/2775/1099 -f 2714/2776/1100 2715/2777/1101 2322/2375/935 -f 2716/2778/1102 2717/2779/1103 2718/2780/1104 -f 2719/2781/1105 2720/2782/1105 2718/2780/1104 -f 2721/2783/1106 2722/2784/1107 2715/2777/1101 -f 2723/2785/1108 2724/2786/1109 2722/2784/1107 -f 2725/2787/1110 2720/2782/1105 2719/2781/1105 -f 2726/2788/1111 2727/2789/1112 2728/2790/1113 -f 2727/2789/1112 2729/2791/1114 2730/2792/1115 -f 2729/2791/1114 2731/2793/1116 2732/2794/1117 -f 2731/2793/1116 2733/2795/1118 2734/2796/1119 -f 2733/2795/1118 2735/2797/1120 2736/2798/1121 -f 2737/2799/1122 2738/2800/1123 2739/2801/1124 -f 2740/2802/1125 2741/2803/1125 2739/2801/1124 -f 2742/2804/1126 2743/2805/1126 2744/2806/1109 -f 2745/2807/1127 2741/2803/1125 2740/2802/1125 -f 2706/2768/1092 2745/2807/1127 2746/2808/1128 -f 2742/2804/1126 2747/2809/1129 2743/2805/1126 -f 2748/2810/1130 2749/2811/1131 2747/2809/1129 -f 2750/2812/1132 2751/2813/1133 2747/2809/1129 -f 2752/2814/1134 2753/2815/1134 2751/2813/1133 -f 2754/2816/1135 2755/2817/1136 2756/2818/1136 -f 2757/2819/1137 2758/2820/1137 2756/2818/1136 -f 2759/2821/1138 2760/2822/1139 2761/2823/936 -f 2762/2824/1140 2763/2825/1141 2764/2826/1142 -f 2765/2827/1143 2766/2828/1144 2764/2826/1142 -f 2763/2825/1141 2767/2829/1145 2765/2827/1143 -f 2768/2830/1146 2767/2829/1145 2763/2825/1141 -f 2769/2831/1147 2770/2832/1148 2767/2829/1145 -f 2771/2833/1149 2772/2834/1149 2773/2835/1150 -f 2774/2836/1151 2773/2835/1150 2770/2832/1148 -f 1949/2002/926 2455/2508/962 2775/2837/1152 -f 2776/2838/1153 2472/2525/975 2777/2839/1154 -f 2778/2840/1155 2779/2841/1156 2776/2838/1153 -f 2780/2842/1157 2781/2843/1158 2779/2841/1156 -f 2229/2282/927 2227/2280/927 2781/2843/1158 -f 2230/2283/927 2473/2526/976 2227/2280/927 -f 2782/2844/1159 2471/2524/974 2473/2526/976 -f 2783/2845/1160 2782/2844/1159 2473/2526/976 -f 2784/2846/1161 2783/2845/1160 2473/2526/976 -f 2230/2283/927 2784/2846/1161 2473/2526/976 -f 2785/2847/1162 2229/2282/927 2781/2843/1158 -f 2780/2842/1157 2785/2847/1162 2781/2843/1158 -f 2778/2840/1155 2786/2848/1163 2779/2841/1156 -f 2787/2849/1164 2778/2840/1155 2776/2838/1153 -f 2788/2850/1165 2777/2839/1154 2472/2525/975 -f 2471/2524/974 2788/2850/1165 2472/2525/975 -f 1947/2000/926 1949/2002/926 2775/2837/1152 -f 2787/2849/1164 2776/2838/1153 2777/2839/1154 -f 2786/2848/1163 2780/2842/1157 2779/2841/1156 -f 2467/2520/970 2468/2521/971 2789/2851/1166 -f 2446/2499/955 2274/2327/928 2425/2478/928 -f 2790/2852/958 2791/2853/955 2792/2854/928 -f 2793/2855/935 2794/2856/935 2762/2824/1140 -f 2795/2857/1167 2796/2858/1167 2797/2859/928 -f 2798/2860/1168 2796/2858/1167 2795/2857/1167 -f 2799/2861/1169 2800/2862/1170 2316/2369/935 -f 2801/2863/1171 2800/2862/1170 2799/2861/1169 -f 2802/2864/1172 2801/2863/1171 2803/2865/1173 -f 2748/2810/1130 2804/2866/1174 2805/2867/1175 -f 2749/2811/1131 2748/2810/1130 2806/2868/1176 -f 2768/2830/1146 2807/2869/1177 2808/2870/1143 -f 2474/2527/977 2754/2816/1135 2809/2871/1178 -f 2810/2872/935 2811/2873/1142 2812/2874/1140 -f 2807/2869/1177 2812/2874/1140 2811/2873/1142 -f 2808/2870/1143 2807/2869/1177 2811/2873/1142 -f 2313/2366/926 2758/2820/1137 2757/2819/1137 -f 2316/2369/935 2800/2862/1170 2714/2776/1100 -f 2311/2364/926 2313/2366/926 2757/2819/1137 -f 2322/2375/935 2316/2369/935 2714/2776/1100 -f 2318/2371/928 2474/2527/977 2321/2374/928 -f 2634/2693/1055 2813/2875/1063 2529/2585/1017 -f 2630/2689/1064 2539/2595/1025 2529/2585/1017 -f 2677/2739/957 2679/2741/1018 2533/2589/1019 -f 2644/2703/1020 2533/2589/1019 2640/2699/1068 -f 2814/2876/1127 2815/2877/1179 2816/2878/1180 -f 2815/2877/1179 2817/2879/1181 2818/2880/1182 -f 2819/2881/1183 2820/2882/1184 2821/2883/1185 -f 2817/2879/1181 2822/2884/1121 2823/2885/1122 -f 2822/2884/1121 2824/2886/1119 2825/2887/1118 -f 2826/2888/1110 2819/2881/1183 2827/2889/1186 -f 2824/2886/1119 2828/2890/1117 2829/2891/1116 -f 2828/2890/1117 2830/2892/1115 2831/2893/1114 -f 2832/2894/1187 2826/2888/1110 2833/2895/1111 -f 2830/2892/1115 2832/2894/1187 2834/2896/1188 -f 2835/2897/1096 2836/2898/1094 2837/2899/1097 -f 2838/2900/1091 2839/2901/1092 2840/2902/1189 -f 2841/2903/1098 2835/2897/1096 2842/2904/1099 -f 2820/2882/1184 2841/2903/1098 2843/2905/1190 -f 2839/2901/1092 2814/2876/1127 2844/2906/1128 -f 2836/2898/1094 2838/2900/1091 2845/2907/1095 -f 2846/2908/1191 2847/2909/1192 2848/2910/1193 -f 2849/2911/1194 2850/2912/1195 2851/2913/1196 -f 2852/2914/1197 2853/2915/1198 2854/2916/936 -f 2855/2917/932 2856/2918/932 2847/2909/1192 -f 2850/2912/1195 2849/2911/1194 2853/2915/1198 -f 1908/1961/935 2437/2490/948 2174/2227/935 -f 2483/2536/982 2439/2492/950 2441/2494/951 -f 2512/2567/1004 2442/2495/952 1966/2019/927 -f 2857/2919/928 2443/2496/953 2445/2498/928 -f 2858/2920/1199 2446/2499/955 2448/2501/956 -f 2859/2921/928 2449/2502/928 2451/2504/958 -f 1905/1958/926 2453/2506/960 1906/1959/926 -f 2775/2837/1152 2455/2508/962 2439/2492/950 -f 1931/1984/932 2463/2516/932 2462/2515/966 -f 2860/2922/1200 1934/1987/928 1936/1989/928 -f 2861/2923/1201 2465/2518/968 2467/2520/970 -f 2789/2851/1166 2468/2521/971 2470/2523/973 -f 2862/2924/978 2476/2529/978 2478/2531/926 -f 2862/2924/978 2479/2532/979 2476/2529/978 -f 2492/2545/990 2487/2540/980 2489/2542/987 -f 2489/2542/987 2490/2543/988 2492/2545/990 -f 2500/2615/994 2486/2539/985 2497/2550/926 -f 1964/2017/928 2501/2555/995 1962/2015/928 -f 2670/2732/1079 2513/2568/1005 2140/2193/927 -f 2863/2925/928 2515/2570/928 2517/2572/1007 -f 2520/2575/936 2521/2576/1010 2518/2573/1008 -f 2524/2579/1013 2528/2584/994 2522/2577/1011 -f 2519/2574/1009 2518/2573/1008 2535/2591/1021 -f 2532/2588/957 2536/2592/1022 2533/2589/1019 -f 2587/2645/1053 2537/2593/1023 2539/2595/1025 -f 2607/2665/984 2540/2596/999 2542/2598/1027 -f 2864/2926/1202 2543/2599/1028 2545/2601/1030 -f 2865/2927/926 2546/2602/926 2548/2604/960 -f 2543/2928/1028 2549/2605/1031 2544/2607/1029 -f 2456/2509/963 2461/2514/965 2552/2609/1033 -f 2609/2667/1060 2553/2610/1034 2555/2612/1036 -f 2866/2929/1203 2559/2617/1002 2561/2619/936 -f 2867/2930/936 2562/2620/1037 2564/2622/936 -f 2496/2549/963 2486/2539/985 2566/2624/1033 -f 2868/2931/1204 2567/2625/926 2569/2627/1039 -f 2573/2631/1043 2570/2628/1040 2572/2630/1042 -f 2562/2620/1037 2573/2631/1043 2563/2621/1038 -f 2614/2673/949 2574/2632/935 2576/2634/1044 -f 2583/2641/1050 2580/2638/1048 2579/2637/1047 -f 2557/2614/936 2581/2639/936 2538/2594/1024 -f 2620/2679/1062 2580/2638/1048 2584/2642/1051 -f 2628/2687/1063 2548/2604/960 2589/2647/1055 -f 2528/2584/994 2590/2648/1056 2592/2650/1055 -f 2869/2932/1205 2593/2651/1019 2595/2653/1025 -f 2870/2933/926 2596/2654/1057 2598/2656/926 -f 2871/2934/926 2599/2657/1057 2601/2659/926 -f 2872/2935/1204 2602/2660/926 2604/2662/1039 -f 2549/2605/1031 2607/2665/984 2550/2606/1032 -f 2651/2710/1059 2608/2666/1059 2609/2667/1060 -f 2555/2612/1036 2554/2611/1035 2611/2669/926 -f 2558/2616/1031 2612/2670/1028 2486/2539/985 -f 2576/2634/1044 2571/2629/1041 2614/2673/949 -f 2873/2936/1055 2615/2674/926 2617/2676/1039 -f 2584/2642/1051 2618/2677/927 2620/2679/1062 -f 2027/2080/927 2585/2643/1005 2041/2094/927 -f 2874/2937/1204 2622/2681/926 2624/2683/1039 -f 2875/2938/926 2625/2684/926 2627/2686/960 -f 2592/2650/1055 2628/2687/1063 2529/2585/1017 -f 2631/2690/1065 2459/2512/964 2539/2595/1025 -f 2629/2688/1063 2597/2655/1058 2630/2689/1064 -f 2813/2875/1063 2632/2691/1055 2529/2585/1017 -f 2813/2875/1063 2600/2658/1058 2632/2691/1055 -f 2633/2692/1063 2627/2686/960 2634/2693/1055 -f 2876/2939/1206 2635/2694/967 2637/2696/1066 -f 2582/2640/1049 2638/2697/1003 2640/2699/1068 -f 1916/1969/928 1885/1938/928 2642/2701/1069 -f 2639/2698/1067 2645/2704/954 2640/2699/1068 -f 2877/2940/928 2647/2706/954 2649/2708/928 -f 2878/2941/1207 2642/2701/1069 2650/2709/1070 -f 2680/2742/1081 2608/2666/1059 2652/2711/1071 -f 2686/2748/1083 2505/2942/998 2542/2598/1027 -f 2469/2522/972 2654/2715/1072 2470/2523/973 -f 2879/2943/935 2466/2519/969 2656/2717/935 -f 2665/2727/1038 2657/2718/1037 2659/2720/936 -f 2880/2944/1208 2504/2558/997 2660/2722/1074 -f 2354/2407/928 2661/2723/928 2452/2505/959 -f 2436/2489/947 2435/2488/946 2664/2726/1076 -f 2664/2726/1076 2663/2725/1075 2665/2727/1038 -f 2671/2733/1080 2666/2728/1020 2643/2702/957 -f 2452/2505/959 2662/2724/1020 2669/2731/957 -f 2648/2707/954 2647/2706/954 2532/2588/957 -f 2444/2497/954 2443/2496/953 2534/2590/1020 -f 2666/2728/1020 2671/2733/1080 2673/2735/928 -f 2678/2740/1020 2674/2736/1080 2676/2738/928 -f 2674/2736/1080 2678/2740/1020 2677/2739/957 -f 2881/2945/928 2680/2742/1081 2681/2743/928 -f 2545/2601/1030 2544/2600/1029 2504/2558/997 -f 2882/2946/928 2682/2744/928 2684/2746/954 -f 2541/2597/1026 2685/2747/1082 2542/2598/1027 -f 2883/2947/928 2688/2750/1020 2690/2752/928 -f 2679/2741/1018 2669/2731/957 2533/2589/1019 -f 2437/2490/948 2436/2489/947 2438/2491/949 -f 2884/2948/1087 2514/2569/1006 2694/2756/1087 -f 2885/2949/932 2695/2757/1088 2697/2759/932 -f 2886/2950/950 2698/2760/950 2700/2762/932 -f 2886/2950/950 2526/2581/1015 2698/2760/950 -f 2887/2951/936 2685/2747/1082 2540/2596/999 -f 2494/2547/992 2482/2535/981 2495/2548/993 -f 2482/2535/981 2494/2547/992 2704/2766/928 -f 2709/2771/1095 2705/2767/1091 2707/2769/1093 -f 2711/2773/1097 2708/2770/1094 2709/2771/1095 -f 2713/2775/1099 2710/2772/1096 2711/2773/1097 -f 2716/2778/1102 2712/2774/1098 2713/2775/1099 -f 2712/2774/1098 2716/2778/1102 2718/2780/1104 -f 2717/2779/1103 2719/2781/1105 2718/2780/1104 -f 2714/2776/1100 2721/2783/1106 2715/2777/1101 -f 2721/2783/1106 2723/2785/1108 2722/2784/1107 -f 2726/2788/1111 2725/2787/1110 2719/2781/1105 -f 2725/2787/1110 2726/2788/1111 2728/2790/1113 -f 2728/2790/1113 2727/2789/1112 2730/2792/1115 -f 2730/2792/1115 2729/2791/1114 2732/2794/1117 -f 2732/2794/1117 2731/2793/1116 2734/2796/1119 -f 2734/2796/1119 2733/2795/1118 2736/2798/1121 -f 2888/2952/1209 2737/2799/1122 2739/2801/1124 -f 2738/2800/1123 2740/2802/1125 2739/2801/1124 -f 2889/2953/1210 2742/2804/1126 2744/2806/1109 -f 2746/2808/1128 2745/2807/1127 2740/2802/1125 -f 2707/2769/1093 2706/2768/1092 2746/2808/1128 -f 2742/2804/1126 2748/2810/1130 2747/2809/1129 -f 2749/2811/1131 2750/2812/1132 2747/2809/1129 -f 2750/2812/1132 2752/2814/1134 2751/2813/1133 -f 2809/2871/1178 2754/2816/1135 2756/2818/1136 -f 2755/2817/1136 2757/2819/1137 2756/2818/1136 -f 2890/2954/936 2759/2821/1138 2761/2823/936 -f 2763/2825/1141 2765/2827/1143 2764/2826/1142 -f 2807/2869/1177 2768/2830/1146 2763/2825/1141 -f 2768/2830/1146 2769/2831/1147 2767/2829/1145 -f 2774/2836/1151 2771/2833/1149 2773/2835/1150 -f 2769/2831/1147 2774/2836/1151 2770/2832/1148 -f 2861/2923/1201 2467/2520/970 2789/2851/1166 -f 2447/2500/955 2446/2499/955 2425/2478/928 -f 2891/2955/957 2790/2852/958 2792/2854/928 -f 2764/2826/1142 2793/2855/935 2762/2824/1140 -f 2892/2956/928 2795/2857/1167 2797/2859/928 -f 2893/2957/1168 2798/2860/1168 2795/2857/1167 -f 2803/2865/1173 2801/2863/1171 2799/2861/1169 -f 2894/2958/1175 2802/2864/1172 2803/2865/1173 -f 2806/2868/1176 2748/2810/1130 2805/2867/1175 -f 2475/2528/977 2474/2527/977 2809/2871/1178 -f 2895/2959/935 2810/2872/935 2812/2874/1140 -f 2896/2960/1144 2808/2870/1143 2811/2873/1142 -f 2844/2906/1128 2814/2876/1127 2816/2878/1180 -f 2816/2878/1180 2815/2877/1179 2818/2880/1182 -f 2827/2889/1186 2819/2881/1183 2821/2883/1185 -f 2818/2880/1182 2817/2879/1181 2823/2885/1122 -f 2823/2885/1122 2822/2884/1121 2825/2887/1118 -f 2833/2895/1111 2826/2888/1110 2827/2889/1186 -f 2825/2887/1118 2824/2886/1119 2829/2891/1116 -f 2829/2891/1116 2828/2890/1117 2831/2893/1114 -f 2834/2896/1188 2832/2894/1187 2833/2895/1111 -f 2831/2893/1114 2830/2892/1115 2834/2896/1188 -f 2842/2904/1099 2835/2897/1096 2837/2899/1097 -f 2845/2907/1095 2838/2900/1091 2840/2902/1189 -f 2843/2905/1190 2841/2903/1098 2842/2904/1099 -f 2821/2883/1185 2820/2882/1184 2843/2905/1190 -f 2840/2902/1189 2839/2901/1092 2844/2906/1128 -f 2837/2899/1097 2836/2898/1094 2845/2907/1095 -f 2851/2913/1196 2846/2908/1191 2848/2910/1193 -f 2848/2910/1193 2849/2911/1194 2851/2913/1196 -f 2897/2961/936 2852/2914/1197 2854/2916/936 -f 2846/2908/1191 2855/2917/932 2847/2909/1192 -f 2852/2914/1197 2850/2912/1195 2853/2915/1198 -o bool_obj_bool_obj_data.002 -v 0.584592 7.687729 -3.606773 -v 0.584592 7.920867 -4.083088 -v -0.395192 7.920867 -4.083088 -v -0.395192 7.687729 -3.606773 -v 0.620113 7.889108 -4.099000 -v 0.620113 7.656415 -3.623594 -v 0.620113 7.645318 -3.604686 -v 0.620113 7.631242 -3.586817 -v 0.620113 7.613890 -3.569613 -v 0.620113 7.593882 -3.553847 -v 0.620113 7.571976 -3.540180 -v 0.620113 7.549021 -3.529142 -v 0.620113 7.525940 -3.521119 -v 0.620113 7.503702 -3.516331 -v 0.620113 7.481840 -3.514677 -v 0.620113 6.288866 -3.514677 -v 0.620113 6.268834 -3.516430 -v 0.620113 6.250914 -3.521231 -v 0.620113 6.234100 -3.529072 -v 0.620113 6.218904 -3.539712 -v 0.620113 6.205786 -3.552830 -v 0.620113 6.195146 -3.568026 -v 0.620113 6.187305 -3.584840 -v 0.620113 6.182504 -3.602759 -v 0.620113 6.180752 -3.622791 -v 0.620113 6.180752 -4.075539 -v 0.620113 6.182504 -4.095572 -v 0.620113 6.187305 -4.113491 -v 0.620113 6.195146 -4.130303 -v 0.620113 6.205786 -4.145500 -v 0.620113 6.218904 -4.158618 -v 0.620113 6.234100 -4.169259 -v 0.620113 6.250914 -4.177099 -v 0.620113 6.268834 -4.181901 -v 0.620113 6.288866 -4.183652 -v 0.620113 6.744428 -4.183652 -v 0.620113 6.773732 -4.185739 -v 0.620113 6.805163 -4.192020 -v 0.620113 6.836724 -4.202079 -v 0.620113 6.867739 -4.215590 -v 0.620113 6.897497 -4.232189 -v 0.620113 6.925284 -4.251482 -v 0.620113 6.950424 -4.273054 -v 0.620113 6.972281 -4.296497 -v 0.620113 6.989450 -4.320339 -v 0.620113 7.366812 -4.931571 -v 0.620113 8.193166 -5.908978 -v 0.620113 8.210030 -5.932884 -v 0.620113 8.222831 -5.960578 -v 0.620113 8.230137 -5.989985 -v 0.620113 8.231569 -6.020123 -v 0.620113 8.227003 -6.049901 -v 0.620113 8.216606 -6.078223 -v 0.620113 8.200825 -6.104090 -v 0.620113 8.180312 -6.126676 -v 0.620113 8.157060 -6.144431 -v 0.620113 7.763575 -6.393669 -v 0.620113 7.738557 -6.407856 -v 0.620113 7.709525 -6.421311 -v 0.620113 7.677958 -6.433376 -v 0.620113 7.644623 -6.443819 -v 0.620113 7.610356 -6.452397 -v 0.620113 7.576034 -6.458897 -v 0.620113 7.542509 -6.463129 -v 0.620113 7.510559 -6.464942 -v 0.620113 7.481810 -6.464217 -v 0.620113 7.300509 -6.450785 -v 0.620113 7.278323 -6.450760 -v 0.620113 7.255250 -6.453763 -v 0.620113 7.230896 -6.459853 -v 0.620113 7.206277 -6.468892 -v 0.620113 7.182374 -6.480568 -v 0.620113 7.160113 -6.494431 -v 0.620113 7.140339 -6.509898 -v 0.620113 7.123790 -6.526253 -v 0.620113 7.110170 -6.543768 -v 0.620113 7.071722 -6.601441 -v 0.620113 7.061349 -6.620097 -v 0.620113 7.053805 -6.640273 -v 0.620113 7.048820 -6.662560 -v 0.620113 7.046699 -6.686110 -v 0.620113 7.047573 -6.710011 -v 0.620113 7.051407 -6.733344 -v 0.620113 7.058005 -6.755208 -v 0.620113 7.067001 -6.774779 -v 0.620113 7.078706 -6.792627 -v 0.620113 7.179221 -6.921861 -v 0.620113 7.194191 -6.938533 -v 0.620113 7.212095 -6.954048 -v 0.620113 7.233200 -6.968604 -v 0.620113 7.256703 -6.981524 -v 0.620113 7.281717 -6.992267 -v 0.620113 7.307272 -7.000415 -v 0.620113 7.332359 -7.005698 -v 0.620113 7.355937 -7.007999 -v 0.620113 7.378335 -7.007376 -v 0.620113 7.893750 -6.956470 -v 0.620113 7.917890 -6.952994 -v 0.620113 7.944322 -6.947154 -v 0.620113 7.972809 -6.938970 -v 0.620113 8.002266 -6.928709 -v 0.620113 8.031621 -6.916725 -v 0.620113 8.059842 -6.903440 -v 0.620113 8.085919 -6.889347 -v 0.620113 8.108887 -6.875021 -v 0.620113 8.128563 -6.860609 -v 0.620113 8.624680 -6.462090 -v 0.620113 9.246017 -6.249527 -v 0.620113 9.267796 -6.240655 -v 0.620113 9.290505 -6.228703 -v 0.620113 9.314142 -6.213631 -v 0.620113 9.337729 -6.195972 -v 0.620113 9.360365 -6.176369 -v 0.620113 9.381210 -6.155543 -v 0.620113 9.399504 -6.134302 -v 0.620113 9.414577 -6.113533 -v 0.620113 9.426466 -6.093243 -v 0.620113 9.513233 -5.923651 -v 0.620113 9.521070 -5.904480 -v 0.620113 9.525558 -5.884883 -v 0.620113 9.527004 -5.864093 -v 0.620113 9.525276 -5.842852 -v 0.620113 9.520397 -5.821944 -v 0.620113 9.512546 -5.802133 -v 0.620113 9.502046 -5.784128 -v 0.620113 9.489350 -5.768544 -v 0.620113 9.473836 -5.754820 -v 0.620113 9.318781 -5.639523 -v 0.620113 9.299875 -5.627427 -v 0.620113 9.278429 -5.617201 -v 0.620113 9.254142 -5.608730 -v 0.620113 9.227964 -5.602454 -v 0.620113 9.200908 -5.598660 -v 0.620113 9.174013 -5.597497 -v 0.620113 9.148333 -5.598965 -v 0.620113 9.124902 -5.602899 -v 0.620113 9.103399 -5.609330 -v 0.620113 8.845378 -5.706697 -v 0.620113 8.817008 -5.714674 -v 0.620113 8.786029 -5.717874 -v 0.620113 8.754861 -5.715827 -v 0.620113 8.724404 -5.708625 -v 0.620113 8.695532 -5.696496 -v 0.620113 8.669072 -5.679782 -v 0.620113 8.645795 -5.658955 -v 0.620113 8.626398 -5.634590 -v 0.620113 8.612238 -5.608743 -v 0.620113 8.333163 -4.974390 -v 0.584592 6.145231 -4.077091 -v 0.584592 6.145231 -3.621240 -v -0.395192 6.145231 -3.621240 -v -0.395192 6.145231 -4.077091 -v 0.584592 6.164267 -4.148131 -v 0.584592 6.153800 -4.125686 -v -0.395192 6.153800 -4.125686 -v -0.395192 6.164267 -4.148131 -v 0.584592 6.178472 -4.168419 -v -0.395192 6.178472 -4.168419 -v 0.584592 6.195985 -4.185933 -v -0.395192 6.195985 -4.185933 -v 0.584592 6.216272 -4.200139 -v -0.395192 6.216272 -4.200139 -v 0.584592 6.238719 -4.210606 -v -0.395192 6.238719 -4.210606 -v 0.584592 6.262642 -4.217014 -v -0.395192 6.262642 -4.217014 -v 0.584592 6.768971 -4.221011 -v 0.584592 6.743165 -4.219173 -v -0.395192 6.743165 -4.219173 -v -0.395192 6.768971 -4.221011 -v 0.584592 6.287314 -4.219173 -v -0.395192 6.287314 -4.219173 -v 0.584592 6.147389 -4.101762 -v -0.395192 6.147389 -4.101762 -v 0.584592 6.959888 -4.340073 -v 0.584592 6.944769 -4.319078 -v -0.395192 6.944769 -4.319078 -v -0.395192 6.959888 -4.340073 -v 0.584592 6.824206 -4.235372 -v 0.584592 6.796262 -4.226465 -v -0.395192 6.796262 -4.226465 -v -0.395192 6.824206 -4.235372 -v 0.584592 6.851957 -4.247458 -v -0.395192 6.851957 -4.247458 -v 0.584592 6.878670 -4.262361 -v -0.395192 6.878670 -4.262361 -v 0.584592 6.903533 -4.279624 -v -0.395192 6.903533 -4.279624 -v 0.584592 6.925792 -4.298723 -v -0.395192 6.925792 -4.298723 -v 0.584592 8.179142 -5.950719 -v 0.584592 8.165036 -5.930724 -v -0.395191 8.165036 -5.930724 -v -0.395191 8.179142 -5.950719 -v 0.584592 7.337978 -4.952483 -v -0.395191 7.337978 -4.952483 -v 0.584592 8.136739 -6.115254 -v 0.584592 8.156188 -6.100403 -v -0.395191 8.156188 -6.100403 -v -0.395191 8.136739 -6.115254 -v 0.584592 8.194821 -5.995161 -v 0.584592 8.189172 -5.972418 -v -0.395191 8.189172 -5.972418 -v -0.395191 8.194821 -5.995161 -v 0.584592 8.195919 -6.018255 -v -0.395191 8.195919 -6.018255 -v 0.584592 8.192431 -6.040999 -v -0.395191 8.192431 -6.040999 -v 0.584592 8.184464 -6.062704 -v -0.395191 8.184464 -6.062704 -v 0.584592 8.172259 -6.082707 -v -0.395191 8.172259 -6.082707 -v 0.584592 7.722301 -6.376241 -v 0.584592 7.745296 -6.363197 -v -0.395191 7.745296 -6.363197 -v -0.395191 7.722301 -6.376241 -v 0.584592 7.483572 -6.428729 -v 0.584592 7.510001 -6.429397 -v -0.395191 7.510001 -6.429397 -v -0.395191 7.483572 -6.428729 -v 0.584592 7.666298 -6.399806 -v 0.584592 7.695698 -6.388568 -v -0.395191 7.695698 -6.388568 -v -0.395191 7.666298 -6.399806 -v 0.584592 7.634993 -6.409613 -v -0.395191 7.634993 -6.409613 -v 0.584592 7.602734 -6.417689 -v -0.395191 7.602734 -6.417689 -v 0.584592 7.570499 -6.423791 -v -0.395191 7.570499 -6.423791 -v 0.584592 7.539272 -6.427734 -v -0.395191 7.539272 -6.427734 -v 0.584592 7.276041 -6.415237 -v 0.584592 7.301843 -6.415265 -v -0.395191 7.301843 -6.415265 -v -0.395191 7.276041 -6.415237 -v 0.584592 7.081335 -6.522986 -v 0.584592 7.097172 -6.502617 -v -0.395191 7.097172 -6.502617 -v -0.395191 7.081335 -6.522986 -v 0.584592 7.220437 -6.425855 -v 0.584592 7.248628 -6.418804 -v -0.395191 7.248628 -6.418804 -v -0.395191 7.220437 -6.425855 -v 0.584592 7.192325 -6.436174 -v -0.395191 7.192325 -6.436174 -v 0.584592 7.165144 -6.449452 -v -0.395191 7.165144 -6.449452 -v 0.584592 7.139724 -6.465283 -v -0.395191 7.139724 -6.465283 -v 0.584592 7.116836 -6.483187 -v -0.395191 7.116836 -6.483187 -v 0.584592 7.029011 -6.605164 -v 0.584592 7.041371 -6.582931 -v -0.395191 7.041371 -6.582931 -v -0.395191 7.029011 -6.605164 -v 0.584592 7.049788 -6.813304 -v 0.584592 7.035839 -6.792034 -v -0.395191 7.035839 -6.792034 -v -0.395191 7.049788 -6.813304 -v 0.584592 7.013651 -6.657066 -v 0.584592 7.019677 -6.630127 -v -0.395191 7.019677 -6.630127 -v -0.395191 7.013651 -6.657066 -v 0.584592 7.011119 -6.685161 -v -0.395191 7.011119 -6.685161 -v 0.584592 7.012156 -6.713555 -v -0.395191 7.012156 -6.713555 -v 0.584592 7.016733 -6.741390 -v -0.395191 7.016733 -6.741390 -v 0.584592 7.024707 -6.767817 -v -0.395191 7.024707 -6.767817 -v 0.584592 7.169249 -6.963922 -v 0.584592 7.151952 -6.944659 -v -0.395191 7.151952 -6.944659 -v -0.395191 7.169249 -6.963922 -v 0.584592 7.380579 -7.042848 -v 0.584592 7.354702 -7.043569 -v -0.395191 7.354702 -7.043569 -v -0.395191 7.380579 -7.042848 -v 0.584592 7.214511 -6.998865 -v 0.584592 7.190314 -6.982175 -v -0.395191 7.190314 -6.982175 -v -0.395191 7.214511 -6.998865 -v 0.584592 7.241105 -7.013483 -v -0.395191 7.241105 -7.013483 -v 0.584592 7.269283 -7.025585 -v -0.395191 7.269283 -7.025585 -v 0.584592 7.298194 -7.034803 -v -0.395191 7.298194 -7.034803 -v 0.584592 7.326959 -7.040860 -v -0.395191 7.326959 -7.040860 -v 0.584592 7.924263 -6.987965 -v 0.584592 7.898026 -6.991742 -v -0.395191 7.898026 -6.991742 -v -0.395191 7.924263 -6.987965 -v 0.584592 8.150192 -6.888796 -v 0.584592 8.128809 -6.904459 -v -0.395191 8.128809 -6.904459 -v -0.395191 8.150192 -6.888796 -v 0.584592 7.983564 -6.972837 -v 0.584592 7.953066 -6.981598 -v -0.395191 7.953066 -6.981598 -v -0.395191 7.983564 -6.972837 -v 0.584592 8.014829 -6.961946 -v -0.395191 8.014829 -6.961946 -v 0.584592 8.045910 -6.949258 -v -0.395191 8.045910 -6.949258 -v 0.584592 8.075863 -6.935157 -v -0.395191 8.075863 -6.935157 -v 0.584592 8.103779 -6.920072 -v -0.395191 8.103779 -6.920072 -v 0.584592 9.282803 -6.272899 -v 0.584592 9.258475 -6.282805 -v -0.395191 9.258475 -6.282805 -v -0.395191 9.282803 -6.272899 -v 0.584592 8.642069 -6.493681 -v -0.395191 8.642069 -6.493681 -v 0.584592 9.457625 -6.110325 -v 0.584592 9.444345 -6.132988 -v -0.395191 9.444345 -6.132988 -v -0.395191 9.457625 -6.110325 -v 0.584592 9.334363 -6.242865 -v 0.584592 9.308357 -6.259449 -v -0.395191 9.308357 -6.259449 -v -0.395191 9.334363 -6.242865 -v 0.584592 9.360028 -6.223650 -v -0.395191 9.360028 -6.223650 -v 0.584592 9.384575 -6.202392 -v -0.395191 9.384575 -6.202392 -v 0.584592 9.407257 -6.179731 -v -0.395191 9.407257 -6.179731 -v 0.584592 9.427383 -6.156362 -v -0.395191 9.427383 -6.156362 -v 0.584592 9.555048 -5.915235 -v 0.584592 9.545543 -5.938488 -v -0.395191 9.545543 -5.938488 -v -0.395191 9.555048 -5.915235 -v 0.584592 9.496242 -5.727215 -v 0.584592 9.515058 -5.743859 -v -0.395191 9.515058 -5.743859 -v -0.395191 9.496242 -5.727215 -v 0.584592 9.562625 -5.863883 -v 0.584592 9.560801 -5.890111 -v -0.395191 9.560801 -5.890112 -v -0.395191 9.562625 -5.863883 -v 0.584592 9.560467 -5.837347 -v -0.395191 9.560467 -5.837347 -v 0.584592 9.554390 -5.811306 -v -0.395191 9.554390 -5.811306 -v 0.584592 9.544580 -5.786552 -v -0.395191 9.544580 -5.786553 -v 0.584592 9.531335 -5.763842 -v -0.395191 9.531335 -5.763842 -v 0.584592 9.317157 -5.596313 -v 0.584592 9.338975 -5.610274 -v -0.395191 9.338975 -5.610274 -v -0.395191 9.317157 -5.596313 -v 0.584592 9.092025 -5.575655 -v 0.584592 9.116840 -5.568233 -v -0.395191 9.116840 -5.568233 -v -0.395191 9.092025 -5.575656 -v 0.584592 9.264157 -5.574605 -v 0.584592 9.291963 -5.584302 -v -0.395191 9.291963 -5.584302 -v -0.395191 9.264157 -5.574605 -v 0.584592 9.234586 -5.567513 -v -0.395191 9.234586 -5.567513 -v 0.584592 9.204147 -5.563247 -v -0.395191 9.204147 -5.563247 -v 0.584592 9.173767 -5.561934 -v -0.395191 9.173767 -5.561934 -v 0.584592 9.144367 -5.563612 -v -0.395191 9.144367 -5.563612 -v 0.584592 8.810327 -5.679654 -v 0.584592 8.834279 -5.672918 -v -0.395191 8.834279 -5.672918 -v -0.395191 8.810327 -5.679654 -v 0.584592 8.644131 -5.593029 -v 0.584592 8.656086 -5.614850 -v -0.395191 8.656086 -5.614850 -v -0.395191 8.644131 -5.593029 -v 0.584592 8.760147 -5.680576 -v 0.584592 8.785363 -5.682232 -v -0.395191 8.785363 -5.682232 -v -0.395191 8.760147 -5.680576 -v 0.584592 8.735446 -5.674736 -v -0.395191 8.735446 -5.674736 -v 0.584592 8.712008 -5.664889 -v -0.395191 8.712008 -5.664889 -v 0.584592 8.690548 -5.651334 -v -0.395191 8.690548 -5.651334 -v 0.584592 8.671717 -5.634483 -v -0.395191 8.671717 -5.634483 -v 0.584592 7.674724 -3.584612 -v -0.395192 7.674724 -3.584612 -v 0.584592 8.365284 -4.959190 -v -0.395191 8.365284 -4.959190 -v 0.584592 7.483182 -3.479156 -v 0.584592 7.508804 -3.481095 -v -0.395192 7.508804 -3.481095 -v -0.395192 7.483182 -3.479156 -v 0.584592 7.637462 -3.542964 -v 0.584592 7.657797 -3.563125 -v -0.395192 7.657797 -3.563125 -v -0.395192 7.637462 -3.542964 -v 0.584592 7.614337 -3.524742 -v -0.395192 7.614337 -3.524742 -v 0.584592 7.589126 -3.509013 -v -0.395192 7.589126 -3.509013 -v 0.584592 7.562593 -3.496253 -v -0.395192 7.562593 -3.496253 -v 0.584592 7.535545 -3.486852 -v -0.395192 7.535545 -3.486852 -v 0.584592 6.262642 -3.481315 -v 0.584592 6.287314 -3.479156 -v -0.395192 6.287314 -3.479156 -v -0.395192 6.262642 -3.481315 -v 0.584592 6.147389 -3.596567 -v -0.395192 6.147389 -3.596567 -v 0.584592 6.216272 -3.498192 -v 0.584592 6.238719 -3.487725 -v -0.395192 6.238719 -3.487725 -v -0.395192 6.216272 -3.498192 -v 0.584592 6.195985 -3.512398 -v -0.395192 6.195985 -3.512398 -v 0.584592 6.178472 -3.529910 -v -0.395192 6.178472 -3.529910 -v 0.584592 6.164267 -3.550198 -v -0.395192 6.164267 -3.550198 -v 0.584592 6.153800 -3.572644 -v -0.395192 6.153800 -3.572644 -v -0.430712 7.889108 -4.099000 -v -0.430712 8.333163 -4.974390 -v -0.430712 8.612238 -5.608743 -v -0.430712 8.626398 -5.634590 -v -0.430712 8.645795 -5.658955 -v -0.430712 8.669072 -5.679782 -v -0.430712 8.695532 -5.696496 -v -0.430712 8.724404 -5.708625 -v -0.430712 8.754861 -5.715827 -v -0.430712 8.786029 -5.717874 -v -0.430712 8.817008 -5.714674 -v -0.430712 8.845378 -5.706697 -v -0.430712 9.103399 -5.609331 -v -0.430712 9.124902 -5.602899 -v -0.430712 9.148333 -5.598965 -v -0.430712 9.174013 -5.597497 -v -0.430712 9.200908 -5.598660 -v -0.430712 9.227964 -5.602454 -v -0.430712 9.254142 -5.608730 -v -0.430712 9.278429 -5.617201 -v -0.430712 9.299875 -5.627427 -v -0.430712 9.318781 -5.639523 -v -0.430712 9.473836 -5.754820 -v -0.430712 9.489350 -5.768544 -v -0.430712 9.502046 -5.784128 -v -0.430712 9.512546 -5.802133 -v -0.430712 9.520397 -5.821944 -v -0.430712 9.525276 -5.842852 -v -0.430712 9.527004 -5.864093 -v -0.430712 9.525558 -5.884883 -v -0.430712 9.521070 -5.904480 -v -0.430712 9.513233 -5.923651 -v -0.430712 9.426466 -6.093243 -v -0.430712 9.414577 -6.113533 -v -0.430712 9.399504 -6.134302 -v -0.430712 9.381210 -6.155543 -v -0.430712 9.360365 -6.176369 -v -0.430712 9.337729 -6.195972 -v -0.430712 9.314142 -6.213631 -v -0.430712 9.290505 -6.228703 -v -0.430712 9.267796 -6.240655 -v -0.430712 9.246017 -6.249527 -v -0.430712 8.624680 -6.462090 -v -0.430712 8.128563 -6.860609 -v -0.430712 8.108887 -6.875021 -v -0.430712 8.085919 -6.889347 -v -0.430712 8.059842 -6.903440 -v -0.430712 8.031621 -6.916725 -v -0.430712 8.002266 -6.928709 -v -0.430712 7.972809 -6.938970 -v -0.430712 7.944322 -6.947154 -v -0.430712 7.917890 -6.952994 -v -0.430712 7.893750 -6.956470 -v -0.430712 7.378335 -7.007376 -v -0.430712 7.355937 -7.007999 -v -0.430712 7.332359 -7.005698 -v -0.430712 7.307272 -7.000415 -v -0.430712 7.281717 -6.992267 -v -0.430712 7.256703 -6.981524 -v -0.430712 7.233200 -6.968604 -v -0.430712 7.212095 -6.954048 -v -0.430712 7.194191 -6.938533 -v -0.430712 7.179221 -6.921861 -v -0.430712 7.078706 -6.792627 -v -0.430712 7.067001 -6.774779 -v -0.430712 7.058005 -6.755208 -v -0.430712 7.051407 -6.733344 -v -0.430712 7.047573 -6.710011 -v -0.430712 7.046699 -6.686110 -v -0.430712 7.048820 -6.662560 -v -0.430712 7.053805 -6.640273 -v -0.430712 7.061349 -6.620097 -v -0.430712 7.071722 -6.601441 -v -0.430712 7.110170 -6.543768 -v -0.430712 7.123790 -6.526253 -v -0.430712 7.140339 -6.509898 -v -0.430712 7.160113 -6.494431 -v -0.430712 7.182374 -6.480568 -v -0.430712 7.206277 -6.468892 -v -0.430712 7.230896 -6.459853 -v -0.430712 7.255250 -6.453763 -v -0.430712 7.278323 -6.450760 -v -0.430712 7.300509 -6.450785 -v -0.430712 7.481810 -6.464217 -v -0.430712 7.510559 -6.464942 -v -0.430712 7.542509 -6.463129 -v -0.430712 7.576034 -6.458897 -v -0.430712 7.610356 -6.452397 -v -0.430712 7.644623 -6.443819 -v -0.430712 7.677958 -6.433376 -v -0.430712 7.709525 -6.421311 -v -0.430712 7.738557 -6.407856 -v -0.430712 7.763575 -6.393669 -v -0.430712 8.157060 -6.144431 -v -0.430712 8.180312 -6.126676 -v -0.430712 8.200825 -6.104090 -v -0.430712 8.216606 -6.078223 -v -0.430712 8.227003 -6.049901 -v -0.430712 8.231569 -6.020123 -v -0.430712 8.230137 -5.989985 -v -0.430712 8.222831 -5.960578 -v -0.430712 8.210030 -5.932884 -v -0.430712 8.193166 -5.908978 -v -0.430712 7.366812 -4.931571 -v -0.430712 6.989450 -4.320339 -v -0.430712 6.972281 -4.296497 -v -0.430712 6.950424 -4.273054 -v -0.430712 6.925284 -4.251482 -v -0.430712 6.897497 -4.232189 -v -0.430712 6.867739 -4.215590 -v -0.430712 6.836724 -4.202079 -v -0.430712 6.805163 -4.192020 -v -0.430712 6.773732 -4.185739 -v -0.430712 6.744428 -4.183652 -v -0.430712 6.288866 -4.183652 -v -0.430712 6.268834 -4.181901 -v -0.430712 6.250914 -4.177099 -v -0.430712 6.234100 -4.169259 -v -0.430712 6.218904 -4.158618 -v -0.430712 6.205786 -4.145500 -v -0.430712 6.195146 -4.130303 -v -0.430712 6.187305 -4.113491 -v -0.430712 6.182504 -4.095572 -v -0.430712 6.180752 -4.075539 -v -0.430712 6.180752 -3.622791 -v -0.430712 6.182504 -3.602759 -v -0.430712 6.187305 -3.584840 -v -0.430712 6.195146 -3.568026 -v -0.430712 6.205786 -3.552830 -v -0.430712 6.218904 -3.539712 -v -0.430712 6.234100 -3.529072 -v -0.430712 6.250914 -3.521231 -v -0.430712 6.268834 -3.516430 -v -0.430712 6.288866 -3.514677 -v -0.430712 7.481840 -3.514677 -v -0.430712 7.503702 -3.516331 -v -0.430712 7.525940 -3.521119 -v -0.430712 7.549021 -3.529142 -v -0.430712 7.571976 -3.540180 -v -0.430712 7.593882 -3.553847 -v -0.430712 7.613890 -3.569613 -v -0.430712 7.631242 -3.586817 -v -0.430712 7.645318 -3.604686 -v -0.430712 7.656415 -3.623594 -v 0.617409 8.345455 -4.968574 -v 0.617409 7.901262 -4.092910 -v 0.609709 8.355876 -4.963643 -v 0.609709 7.911565 -4.087749 -v 0.598185 8.362839 -4.960348 -v 0.598185 7.918450 -4.084300 -v 0.598185 6.150063 -4.101292 -v 0.598185 6.147934 -4.076972 -v 0.609709 6.157674 -4.099949 -v 0.609709 6.155634 -4.076635 -v 0.617409 6.169066 -4.097940 -v 0.617409 6.167158 -4.076132 -v 0.598185 6.156350 -4.124757 -v 0.609709 6.163613 -4.122114 -v 0.617409 6.174483 -4.118156 -v 0.598185 6.166617 -4.146774 -v 0.609709 6.173311 -4.142910 -v 0.617409 6.183329 -4.137126 -v 0.598185 6.180552 -4.166675 -v 0.609709 6.186472 -4.161706 -v 0.617409 6.195333 -4.154271 -v 0.598185 6.197730 -4.183854 -v 0.609709 6.202698 -4.177933 -v 0.617409 6.210134 -4.169071 -v 0.598185 6.217629 -4.197787 -v 0.609709 6.221494 -4.191093 -v 0.617409 6.227278 -4.181076 -v 0.598185 6.239647 -4.208055 -v 0.609709 6.242291 -4.200790 -v 0.617409 6.246247 -4.189920 -v 0.598185 6.263113 -4.214343 -v 0.609709 6.264455 -4.206729 -v 0.617409 6.266464 -4.195337 -v 0.598185 6.287432 -4.216469 -v 0.609709 6.287768 -4.208769 -v 0.617409 6.288272 -4.197247 -v 0.598185 6.743261 -4.216469 -v 0.609709 6.743535 -4.208769 -v 0.617409 6.743944 -4.197247 -v 0.598185 6.769334 -4.218326 -v 0.609709 6.770366 -4.210680 -v 0.617409 6.771910 -4.199236 -v 0.598185 6.796939 -4.223843 -v 0.609709 6.798869 -4.216375 -v 0.617409 6.801757 -4.205202 -v 0.598185 6.825159 -4.232837 -v 0.609709 6.827873 -4.225621 -v 0.617409 6.831934 -4.214819 -v 0.598185 6.853158 -4.245032 -v 0.609709 6.856579 -4.238124 -v 0.617409 6.861700 -4.227786 -v 0.598185 6.880103 -4.260064 -v 0.609709 6.884184 -4.253522 -v 0.617409 6.890292 -4.243734 -v 0.598185 6.905189 -4.277481 -v 0.609709 6.909904 -4.271380 -v 0.617409 6.916960 -4.262251 -v 0.598185 6.927667 -4.296769 -v 0.609709 6.933006 -4.291203 -v 0.617409 6.940998 -4.282876 -v 0.598185 6.946863 -4.317359 -v 0.609709 6.952827 -4.312465 -v 0.617409 6.961752 -4.305140 -v 0.598185 6.962139 -4.338571 -v 0.609709 6.968547 -4.334292 -v 0.617409 6.978137 -4.327890 -v 0.598185 7.340173 -4.950891 -v 0.609709 7.346423 -4.946358 -v 0.617409 7.355778 -4.939573 -v 0.598185 8.167177 -5.929069 -v 0.609709 8.173275 -5.924355 -v 0.617409 8.182401 -5.917300 -v 0.598185 8.181493 -5.949363 -v 0.609709 8.188189 -5.945496 -v 0.617409 8.198210 -5.939710 -v 0.598185 8.191734 -5.971518 -v 0.609709 8.199031 -5.968951 -v 0.617409 8.209950 -5.965109 -v 0.598185 8.197510 -5.994767 -v 0.609709 8.205165 -5.993646 -v 0.617409 8.216622 -5.991967 -v 0.598185 8.198633 -6.018396 -v 0.609709 8.206361 -6.018802 -v 0.617409 8.217927 -6.019408 -v 0.598185 8.195064 -6.041677 -v 0.609709 8.202558 -6.043607 -v 0.617409 8.213773 -6.046494 -v 0.598185 8.186911 -6.063885 -v 0.609709 8.193878 -6.067248 -v 0.617409 8.204306 -6.072284 -v 0.598185 8.174434 -6.084334 -v 0.609709 8.180626 -6.088971 -v 0.617409 8.189893 -6.095907 -v 0.598185 8.158025 -6.102404 -v 0.609709 8.163254 -6.108099 -v 0.617409 8.171081 -6.116621 -v 0.598185 8.138286 -6.117476 -v 0.609709 8.142691 -6.123799 -v 0.617409 8.149283 -6.133265 -v 0.598185 7.746688 -6.365518 -v 0.609709 7.750650 -6.372122 -v 0.617409 7.756579 -6.382008 -v 0.598185 7.723538 -6.378647 -v 0.609709 7.727063 -6.385500 -v 0.617409 7.732337 -6.395759 -v 0.598185 7.696752 -6.391060 -v 0.609709 7.699749 -6.398159 -v 0.617409 7.704234 -6.408782 -v 0.598185 7.667185 -6.402361 -v 0.609709 7.669713 -6.409638 -v 0.617409 7.673496 -6.420529 -v 0.598185 7.635725 -6.412217 -v 0.609709 7.637814 -6.419631 -v 0.617409 7.640937 -6.430728 -v 0.598185 7.603313 -6.420331 -v 0.609709 7.604967 -6.427855 -v 0.617409 7.607440 -6.439116 -v 0.598185 7.570921 -6.426465 -v 0.609709 7.572121 -6.434073 -v 0.617409 7.573915 -6.445463 -v 0.598185 7.539518 -6.430429 -v 0.609709 7.540220 -6.438100 -v 0.617409 7.541270 -6.449584 -v 0.598185 7.510043 -6.432103 -v 0.609709 7.510163 -6.439807 -v 0.617409 7.510345 -6.451341 -v 0.598185 7.483438 -6.431429 -v 0.609709 7.483056 -6.439123 -v 0.617409 7.482483 -6.450635 -v 0.598185 7.301742 -6.417969 -v 0.609709 7.301453 -6.425667 -v 0.617409 7.301021 -6.437191 -v 0.598185 7.276215 -6.417942 -v 0.609709 7.276709 -6.425642 -v 0.617409 7.277450 -6.437167 -v 0.598185 7.249132 -6.421464 -v 0.609709 7.250566 -6.429042 -v 0.617409 7.252716 -6.440384 -v 0.598185 7.221232 -6.428442 -v 0.609709 7.223499 -6.435812 -v 0.617409 7.226893 -6.446843 -v 0.598185 7.193387 -6.438665 -v 0.609709 7.196412 -6.445757 -v 0.617409 7.200937 -6.456371 -v 0.598185 7.166457 -6.451820 -v 0.609709 7.170191 -6.458567 -v 0.617409 7.175780 -6.468660 -v 0.598185 7.141276 -6.467503 -v 0.609709 7.145697 -6.473821 -v 0.617409 7.152310 -6.483276 -v 0.598185 7.118625 -6.485219 -v 0.609709 7.123720 -6.491010 -v 0.617409 7.131345 -6.499676 -v 0.598185 7.099198 -6.504416 -v 0.609709 7.104969 -6.509541 -v 0.617409 7.113605 -6.517209 -v 0.598185 7.083529 -6.524570 -v 0.609709 7.089779 -6.529074 -v 0.617409 7.099135 -6.535816 -v 0.598185 7.043683 -6.584340 -v 0.609709 7.050261 -6.588353 -v 0.617409 7.060108 -6.594357 -v 0.598185 7.031473 -6.606299 -v 0.609709 7.038484 -6.609538 -v 0.617409 7.048975 -6.614381 -v 0.598185 7.022274 -6.630899 -v 0.609709 7.029673 -6.633100 -v 0.617409 7.040745 -6.636391 -v 0.598185 7.016328 -6.657485 -v 0.609709 7.023952 -6.658676 -v 0.617409 7.035362 -6.660459 -v 0.598185 7.013827 -6.685233 -v 0.609709 7.021541 -6.685439 -v 0.617409 7.033082 -6.685747 -v 0.598185 7.014853 -6.713285 -v 0.609709 7.022530 -6.712518 -v 0.617409 7.034019 -6.711368 -v 0.598185 7.019372 -6.740777 -v 0.609709 7.026888 -6.739033 -v 0.617409 7.038137 -6.736423 -v 0.598185 7.027242 -6.766857 -v 0.609709 7.034461 -6.764123 -v 0.617409 7.045262 -6.760034 -v 0.598185 7.038210 -6.790720 -v 0.609709 7.044967 -6.786981 -v 0.617409 7.055077 -6.781383 -v 0.598185 7.051991 -6.811730 -v 0.609709 7.058259 -6.807249 -v 0.617409 7.067640 -6.800539 -v 0.598185 7.154028 -6.942924 -v 0.609709 7.159939 -6.937981 -v 0.617409 7.168787 -6.930584 -v 0.598185 7.171146 -6.961988 -v 0.609709 7.176555 -6.956486 -v 0.617409 7.184647 -6.948249 -v 0.598185 7.191972 -6.980033 -v 0.609709 7.196693 -6.973937 -v 0.617409 7.203761 -6.964811 -v 0.598185 7.215934 -6.996562 -v 0.609709 7.219985 -6.990002 -v 0.617409 7.226048 -6.980185 -v 0.598185 7.242291 -7.011050 -v 0.609709 7.245674 -7.004121 -v 0.617409 7.250733 -6.993753 -v 0.598185 7.270230 -7.023048 -v 0.609709 7.272925 -7.015827 -v 0.617409 7.276959 -7.005016 -v 0.598185 7.298885 -7.032187 -v 0.609709 7.300853 -7.024732 -v 0.617409 7.303799 -7.013576 -v 0.598185 7.327370 -7.038184 -v 0.609709 7.328540 -7.030560 -v 0.617409 7.330293 -7.019154 -v 0.598185 7.354795 -7.040861 -v 0.609709 7.355062 -7.033151 -v 0.617409 7.355464 -7.021612 -v 0.598185 7.380408 -7.040146 -v 0.609709 7.379921 -7.032457 -v 0.617409 7.379193 -7.020949 -v 0.598185 7.897700 -6.989057 -v 0.609709 7.896773 -6.981411 -v 0.617409 7.895387 -6.969967 -v 0.598185 7.923777 -6.985302 -v 0.609709 7.922396 -6.977723 -v 0.617409 7.920329 -6.966378 -v 0.598185 7.952401 -6.978977 -v 0.609709 7.950505 -6.971509 -v 0.617409 7.947669 -6.960336 -v 0.598185 7.982746 -6.970260 -v 0.609709 7.980414 -6.962917 -v 0.617409 7.976924 -6.951931 -v 0.598185 8.013872 -6.959416 -v 0.609709 8.011148 -6.952211 -v 0.617409 8.007073 -6.941429 -v 0.598185 8.044822 -6.946783 -v 0.609709 8.041724 -6.939730 -v 0.617409 8.037089 -6.929174 -v 0.598185 8.074643 -6.932743 -v 0.609709 8.071171 -6.925868 -v 0.617409 8.065972 -6.915577 -v 0.598185 8.102420 -6.917733 -v 0.609709 8.098548 -6.911073 -v 0.617409 8.092754 -6.901104 -v 0.598185 8.127293 -6.902218 -v 0.609709 8.122973 -6.895837 -v 0.617409 8.116510 -6.886287 -v 0.598185 8.148545 -6.886651 -v 0.609709 8.143857 -6.880540 -v 0.617409 8.136840 -6.871396 -v 0.598185 8.640745 -6.491277 -v 0.609709 8.636976 -6.484428 -v 0.617409 8.631334 -6.474178 -v 0.598185 9.257527 -6.280272 -v 0.609709 9.254827 -6.273058 -v 0.617409 9.250785 -6.262261 -v 0.598185 9.281660 -6.270443 -v 0.609709 9.278407 -6.263454 -v 0.617409 9.273539 -6.252995 -v 0.598185 9.306998 -6.257108 -v 0.609709 9.303128 -6.250443 -v 0.617409 9.297337 -6.240469 -v 0.598185 9.332824 -6.240639 -v 0.609709 9.328440 -6.234302 -v 0.617409 9.321880 -6.224818 -v 0.598185 9.358331 -6.221543 -v 0.609709 9.353498 -6.215544 -v 0.617409 9.346263 -6.206564 -v 0.598185 9.382732 -6.200410 -v 0.609709 9.377484 -6.194769 -v 0.617409 9.369630 -6.186327 -v 0.598185 9.405274 -6.177890 -v 0.609709 9.399628 -6.172647 -v 0.617409 9.391178 -6.164801 -v 0.598185 9.425261 -6.154683 -v 0.609709 9.419218 -6.149899 -v 0.617409 9.410173 -6.142744 -v 0.598185 9.442080 -6.131507 -v 0.609709 9.435626 -6.127291 -v 0.617409 9.425968 -6.120978 -v 0.598185 9.455254 -6.109025 -v 0.609709 9.448499 -6.105322 -v 0.617409 9.438390 -6.099781 -v 0.598185 9.543083 -5.937357 -v 0.609709 9.536079 -5.934142 -v 0.617409 9.525598 -5.929327 -v 0.598185 9.552462 -5.914415 -v 0.609709 9.545096 -5.912085 -v 0.617409 9.534074 -5.908595 -v 0.598185 9.558118 -5.889715 -v 0.609709 9.550478 -5.888580 -v 0.617409 9.539044 -5.886885 -v 0.598185 9.559914 -5.863900 -v 0.609709 9.552192 -5.863945 -v 0.617409 9.540636 -5.864014 -v 0.598185 9.557788 -5.837766 -v 0.609709 9.550159 -5.838959 -v 0.617409 9.538743 -5.840744 -v 0.598185 9.551802 -5.812116 -v 0.609709 9.544434 -5.814422 -v 0.617409 9.533405 -5.817873 -v 0.598185 9.542141 -5.787740 -v 0.609709 9.535197 -5.791117 -v 0.617409 9.524804 -5.796171 -v 0.598185 9.529105 -5.765386 -v 0.609709 9.522757 -5.769783 -v 0.617409 9.513254 -5.776364 -v 0.598185 9.513101 -5.745739 -v 0.609709 9.507528 -5.751090 -v 0.617409 9.499187 -5.759098 -v 0.598185 9.494536 -5.729318 -v 0.609709 9.489679 -5.735301 -v 0.617409 9.482410 -5.744256 -v 0.598185 9.337438 -5.612501 -v 0.609709 9.333060 -5.618841 -v 0.617409 9.326509 -5.628330 -v 0.598185 9.315842 -5.598682 -v 0.609709 9.312095 -5.605426 -v 0.617409 9.306488 -5.615520 -v 0.598185 9.290932 -5.586806 -v 0.609709 9.287998 -5.593938 -v 0.617409 9.283608 -5.604611 -v 0.598185 9.263394 -5.577201 -v 0.609709 9.261224 -5.584599 -v 0.617409 9.257975 -5.595671 -v 0.598185 9.234082 -5.570174 -v 0.609709 9.232647 -5.577747 -v 0.617409 9.230498 -5.589083 -v 0.598185 9.203901 -5.565942 -v 0.609709 9.203198 -5.573619 -v 0.617409 9.202147 -5.585109 -v 0.598185 9.173786 -5.564641 -v 0.609709 9.173840 -5.572350 -v 0.617409 9.173919 -5.583888 -v 0.598185 9.144669 -5.566304 -v 0.609709 9.145529 -5.573967 -v 0.617409 9.146814 -5.585435 -v 0.598185 9.117455 -5.570871 -v 0.609709 9.119202 -5.578386 -v 0.617409 9.121818 -5.589633 -v 0.598185 9.092891 -5.578219 -v 0.609709 9.095356 -5.585518 -v 0.617409 9.099047 -5.596444 -v 0.598185 8.835124 -5.675489 -v 0.609709 8.837530 -5.682812 -v 0.617409 8.841131 -5.693769 -v 0.598185 8.810835 -5.682320 -v 0.609709 8.812284 -5.689910 -v 0.617409 8.814451 -5.701272 -v 0.598185 8.785414 -5.684946 -v 0.609709 8.785558 -5.692671 -v 0.617409 8.785774 -5.704235 -v 0.598185 8.759745 -5.683259 -v 0.609709 8.758599 -5.690900 -v 0.617409 8.756884 -5.702336 -v 0.598185 8.734605 -5.677316 -v 0.609709 8.732212 -5.684662 -v 0.617409 8.728630 -5.695656 -v 0.598185 8.710754 -5.667295 -v 0.609709 8.707183 -5.674147 -v 0.617409 8.701838 -5.684401 -v 0.598185 8.688913 -5.653501 -v 0.609709 8.684258 -5.659667 -v 0.617409 8.677291 -5.668897 -v 0.598185 8.669744 -5.636346 -v 0.609709 8.664124 -5.641652 -v 0.617409 8.655714 -5.649590 -v 0.598185 8.653826 -5.616353 -v 0.609709 8.647390 -5.620632 -v 0.617409 8.637758 -5.627036 -v 0.598185 8.641703 -5.594223 -v 0.609709 8.634789 -5.597631 -v 0.617409 8.624443 -5.602728 -v 0.598185 7.685346 -3.608053 -v 0.609709 7.678558 -3.611700 -v 0.617409 7.668399 -3.617157 -v 0.598185 7.672486 -3.586141 -v 0.609709 7.666111 -3.590492 -v 0.617409 7.656571 -3.597004 -v 0.598185 7.655776 -3.564929 -v 0.609709 7.650019 -3.570065 -v 0.617409 7.641404 -3.577751 -v 0.598185 7.635668 -3.544993 -v 0.609709 7.630558 -3.550770 -v 0.617409 7.622910 -3.559415 -v 0.598185 7.612781 -3.526958 -v 0.609709 7.608346 -3.533267 -v 0.617409 7.601710 -3.542709 -v 0.598185 7.587820 -3.511385 -v 0.609709 7.584103 -3.518141 -v 0.617409 7.578539 -3.528253 -v 0.598185 7.561560 -3.498757 -v 0.609709 7.558618 -3.505886 -v 0.617409 7.554215 -3.516556 -v 0.598185 7.534814 -3.489461 -v 0.609709 7.532732 -3.496889 -v 0.617409 7.529615 -3.508006 -v 0.598185 7.508416 -3.483777 -v 0.609709 7.507310 -3.491415 -v 0.617409 7.505654 -3.502847 -v 0.598185 7.483080 -3.481860 -v 0.609709 7.482790 -3.489560 -v 0.617409 7.482354 -3.501084 -v 0.598185 6.287432 -3.481860 -v 0.609709 6.287768 -3.489560 -v 0.617409 6.288272 -3.501084 -v 0.598185 6.263113 -3.483988 -v 0.609709 6.264455 -3.491600 -v 0.617409 6.266464 -3.502992 -v 0.598185 6.239647 -3.490276 -v 0.609709 6.242291 -3.497539 -v 0.617409 6.246247 -3.508409 -v 0.598185 6.217629 -3.500542 -v 0.609709 6.221494 -3.507236 -v 0.617409 6.227278 -3.517254 -v 0.598185 6.197730 -3.514477 -v 0.609709 6.202698 -3.520398 -v 0.617409 6.210134 -3.529259 -v 0.598185 6.180552 -3.531655 -v 0.609709 6.186472 -3.536623 -v 0.617409 6.195333 -3.544059 -v 0.598185 6.166617 -3.551555 -v 0.609709 6.173311 -3.555420 -v 0.617409 6.183329 -3.561203 -v 0.598185 6.156350 -3.573573 -v 0.609709 6.163613 -3.576216 -v 0.617409 6.174483 -3.580173 -v 0.598185 6.150063 -3.597039 -v 0.609709 6.157674 -3.598381 -v 0.617409 6.169066 -3.600389 -v 0.598185 6.147934 -3.621358 -v 0.609709 6.155634 -3.621694 -v 0.617409 6.167158 -3.622198 -v -0.408785 8.362839 -4.960348 -v -0.408785 7.918450 -4.084300 -v -0.420308 8.355876 -4.963643 -v -0.420309 7.911565 -4.087749 -v -0.428008 8.345455 -4.968574 -v -0.428008 7.901262 -4.092910 -v -0.428008 6.169066 -4.097940 -v -0.428008 6.167158 -4.076132 -v -0.420309 6.157674 -4.099949 -v -0.420309 6.155634 -4.076635 -v -0.408785 6.150063 -4.101292 -v -0.408785 6.147934 -4.076972 -v -0.428008 6.174483 -4.118156 -v -0.420309 6.163613 -4.122114 -v -0.408785 6.156350 -4.124757 -v -0.428008 6.183329 -4.137126 -v -0.420309 6.173311 -4.142910 -v -0.408785 6.166617 -4.146774 -v -0.428008 6.195333 -4.154271 -v -0.420309 6.186472 -4.161706 -v -0.408785 6.180552 -4.166675 -v -0.428008 6.210134 -4.169071 -v -0.420309 6.202698 -4.177933 -v -0.408785 6.197730 -4.183854 -v -0.428008 6.227278 -4.181076 -v -0.420309 6.221494 -4.191093 -v -0.408785 6.217629 -4.197787 -v -0.428008 6.246247 -4.189920 -v -0.420309 6.242291 -4.200790 -v -0.408785 6.239647 -4.208055 -v -0.428008 6.266464 -4.195337 -v -0.420309 6.264455 -4.206729 -v -0.408785 6.263113 -4.214343 -v -0.428008 6.288272 -4.197247 -v -0.420309 6.287768 -4.208769 -v -0.408785 6.287432 -4.216469 -v -0.428008 6.743944 -4.197247 -v -0.420309 6.743535 -4.208769 -v -0.408785 6.743261 -4.216469 -v -0.428008 6.771910 -4.199236 -v -0.420309 6.770366 -4.210680 -v -0.408785 6.769334 -4.218326 -v -0.428008 6.801757 -4.205202 -v -0.420309 6.798869 -4.216375 -v -0.408785 6.796939 -4.223843 -v -0.428008 6.831934 -4.214819 -v -0.420309 6.827873 -4.225621 -v -0.408785 6.825159 -4.232837 -v -0.428008 6.861700 -4.227786 -v -0.420309 6.856579 -4.238124 -v -0.408785 6.853158 -4.245032 -v -0.428008 6.890292 -4.243734 -v -0.420309 6.884184 -4.253522 -v -0.408785 6.880103 -4.260064 -v -0.428008 6.916960 -4.262251 -v -0.420309 6.909904 -4.271380 -v -0.408785 6.905189 -4.277481 -v -0.428008 6.940998 -4.282876 -v -0.420309 6.933006 -4.291203 -v -0.408785 6.927667 -4.296769 -v -0.428008 6.961752 -4.305140 -v -0.420309 6.952827 -4.312465 -v -0.408785 6.946863 -4.317359 -v -0.428008 6.978137 -4.327890 -v -0.420309 6.968547 -4.334292 -v -0.408785 6.962139 -4.338571 -v -0.428008 7.355778 -4.939573 -v -0.420308 7.346423 -4.946358 -v -0.408785 7.340173 -4.950891 -v -0.428008 8.182401 -5.917300 -v -0.420308 8.173275 -5.924355 -v -0.408785 8.167177 -5.929069 -v -0.428008 8.198210 -5.939710 -v -0.420308 8.188189 -5.945497 -v -0.408785 8.181493 -5.949363 -v -0.428008 8.209950 -5.965109 -v -0.420308 8.199031 -5.968951 -v -0.408785 8.191734 -5.971518 -v -0.428008 8.216622 -5.991967 -v -0.420308 8.205165 -5.993646 -v -0.408785 8.197510 -5.994767 -v -0.428008 8.217927 -6.019408 -v -0.420308 8.206361 -6.018802 -v -0.408785 8.198633 -6.018396 -v -0.428008 8.213773 -6.046494 -v -0.420308 8.202558 -6.043607 -v -0.408785 8.195064 -6.041677 -v -0.428008 8.204306 -6.072284 -v -0.420308 8.193878 -6.067248 -v -0.408785 8.186911 -6.063885 -v -0.428008 8.189893 -6.095907 -v -0.420308 8.180626 -6.088971 -v -0.408785 8.174434 -6.084334 -v -0.428008 8.171081 -6.116621 -v -0.420308 8.163254 -6.108099 -v -0.408785 8.158025 -6.102404 -v -0.428008 8.149283 -6.133265 -v -0.420308 8.142691 -6.123799 -v -0.408785 8.138286 -6.117476 -v -0.428008 7.756579 -6.382008 -v -0.420308 7.750650 -6.372122 -v -0.408785 7.746688 -6.365518 -v -0.428008 7.732337 -6.395759 -v -0.420308 7.727063 -6.385500 -v -0.408785 7.723538 -6.378647 -v -0.428008 7.704234 -6.408782 -v -0.420308 7.699749 -6.398159 -v -0.408785 7.696752 -6.391060 -v -0.428008 7.673496 -6.420529 -v -0.420308 7.669713 -6.409638 -v -0.408785 7.667185 -6.402361 -v -0.428008 7.640937 -6.430728 -v -0.420308 7.637814 -6.419631 -v -0.408785 7.635725 -6.412217 -v -0.428008 7.607440 -6.439116 -v -0.420308 7.604967 -6.427855 -v -0.408785 7.603313 -6.420331 -v -0.428008 7.573915 -6.445463 -v -0.420308 7.572121 -6.434073 -v -0.408785 7.570921 -6.426465 -v -0.428008 7.541270 -6.449584 -v -0.420308 7.540220 -6.438100 -v -0.408785 7.539518 -6.430429 -v -0.428008 7.510345 -6.451341 -v -0.420308 7.510163 -6.439807 -v -0.408785 7.510043 -6.432103 -v -0.428008 7.482483 -6.450635 -v -0.420308 7.483056 -6.439123 -v -0.408785 7.483438 -6.431429 -v -0.428008 7.301021 -6.437191 -v -0.420308 7.301453 -6.425667 -v -0.408785 7.301742 -6.417969 -v -0.428008 7.277450 -6.437167 -v -0.420308 7.276709 -6.425642 -v -0.408785 7.276215 -6.417942 -v -0.428008 7.252716 -6.440384 -v -0.420308 7.250566 -6.429042 -v -0.408785 7.249132 -6.421464 -v -0.428008 7.226893 -6.446843 -v -0.420308 7.223499 -6.435812 -v -0.408785 7.221232 -6.428442 -v -0.428008 7.200937 -6.456371 -v -0.420308 7.196412 -6.445757 -v -0.408785 7.193387 -6.438665 -v -0.428008 7.175780 -6.468660 -v -0.420308 7.170191 -6.458567 -v -0.408785 7.166457 -6.451820 -v -0.428008 7.152310 -6.483276 -v -0.420308 7.145697 -6.473821 -v -0.408785 7.141276 -6.467503 -v -0.428008 7.131345 -6.499676 -v -0.420308 7.123720 -6.491011 -v -0.408785 7.118625 -6.485219 -v -0.428008 7.113605 -6.517209 -v -0.420308 7.104969 -6.509541 -v -0.408785 7.099198 -6.504416 -v -0.428008 7.099135 -6.535816 -v -0.420308 7.089779 -6.529074 -v -0.408785 7.083529 -6.524570 -v -0.428008 7.060108 -6.594357 -v -0.420308 7.050261 -6.588353 -v -0.408785 7.043683 -6.584340 -v -0.428008 7.048975 -6.614381 -v -0.420308 7.038484 -6.609538 -v -0.408785 7.031473 -6.606299 -v -0.428008 7.040745 -6.636391 -v -0.420308 7.029673 -6.633100 -v -0.408785 7.022274 -6.630899 -v -0.428008 7.035362 -6.660459 -v -0.420308 7.023952 -6.658676 -v -0.408785 7.016328 -6.657485 -v -0.428008 7.033082 -6.685747 -v -0.420308 7.021541 -6.685439 -v -0.408785 7.013827 -6.685233 -v -0.428008 7.034019 -6.711368 -v -0.420308 7.022530 -6.712518 -v -0.408785 7.014853 -6.713285 -v -0.428008 7.038137 -6.736423 -v -0.420308 7.026888 -6.739033 -v -0.408785 7.019372 -6.740777 -v -0.428008 7.045262 -6.760034 -v -0.420308 7.034461 -6.764123 -v -0.408785 7.027242 -6.766857 -v -0.428008 7.055077 -6.781383 -v -0.420308 7.044967 -6.786981 -v -0.408785 7.038210 -6.790720 -v -0.428008 7.067640 -6.800539 -v -0.420308 7.058259 -6.807249 -v -0.408785 7.051991 -6.811730 -v -0.428008 7.168787 -6.930584 -v -0.420308 7.159939 -6.937981 -v -0.408785 7.154028 -6.942924 -v -0.428008 7.184647 -6.948249 -v -0.420308 7.176555 -6.956486 -v -0.408785 7.171146 -6.961988 -v -0.428008 7.203761 -6.964811 -v -0.420308 7.196693 -6.973937 -v -0.408785 7.191972 -6.980033 -v -0.428008 7.226048 -6.980185 -v -0.420308 7.219985 -6.990002 -v -0.408785 7.215934 -6.996562 -v -0.428008 7.250733 -6.993753 -v -0.420308 7.245674 -7.004121 -v -0.408785 7.242291 -7.011050 -v -0.428008 7.276959 -7.005016 -v -0.420308 7.272925 -7.015827 -v -0.408785 7.270230 -7.023048 -v -0.428008 7.303799 -7.013576 -v -0.420308 7.300853 -7.024732 -v -0.408785 7.298885 -7.032187 -v -0.428008 7.330293 -7.019154 -v -0.420308 7.328540 -7.030560 -v -0.408785 7.327370 -7.038184 -v -0.428008 7.355464 -7.021612 -v -0.420308 7.355062 -7.033151 -v -0.408785 7.354795 -7.040861 -v -0.428008 7.379193 -7.020949 -v -0.420308 7.379921 -7.032457 -v -0.408785 7.380408 -7.040146 -v -0.428008 7.895387 -6.969967 -v -0.420308 7.896773 -6.981411 -v -0.408785 7.897700 -6.989057 -v -0.428008 7.920329 -6.966378 -v -0.420308 7.922396 -6.977723 -v -0.408785 7.923777 -6.985302 -v -0.428008 7.947669 -6.960336 -v -0.420308 7.950505 -6.971509 -v -0.408785 7.952401 -6.978977 -v -0.428008 7.976924 -6.951931 -v -0.420308 7.980414 -6.962917 -v -0.408785 7.982746 -6.970260 -v -0.428008 8.007073 -6.941429 -v -0.420308 8.011148 -6.952211 -v -0.408785 8.013872 -6.959416 -v -0.428008 8.037089 -6.929174 -v -0.420308 8.041724 -6.939730 -v -0.408785 8.044822 -6.946783 -v -0.428008 8.065972 -6.915577 -v -0.420308 8.071171 -6.925868 -v -0.408785 8.074643 -6.932743 -v -0.428008 8.092754 -6.901104 -v -0.420308 8.098548 -6.911073 -v -0.408785 8.102420 -6.917733 -v -0.428008 8.116510 -6.886287 -v -0.420308 8.122973 -6.895837 -v -0.408785 8.127293 -6.902218 -v -0.428008 8.136840 -6.871396 -v -0.420308 8.143857 -6.880540 -v -0.408785 8.148545 -6.886651 -v -0.428008 8.631334 -6.474178 -v -0.420308 8.636976 -6.484428 -v -0.408785 8.640745 -6.491277 -v -0.428008 9.250785 -6.262261 -v -0.420308 9.254827 -6.273058 -v -0.408785 9.257527 -6.280272 -v -0.428008 9.273539 -6.252995 -v -0.420308 9.278407 -6.263454 -v -0.408785 9.281660 -6.270443 -v -0.428008 9.297337 -6.240469 -v -0.420308 9.303128 -6.250443 -v -0.408785 9.306998 -6.257108 -v -0.428008 9.321880 -6.224818 -v -0.420308 9.328440 -6.234302 -v -0.408785 9.332824 -6.240639 -v -0.428008 9.346263 -6.206564 -v -0.420308 9.353498 -6.215544 -v -0.408785 9.358331 -6.221543 -v -0.428008 9.369630 -6.186327 -v -0.420308 9.377484 -6.194769 -v -0.408785 9.382732 -6.200410 -v -0.428008 9.391178 -6.164801 -v -0.420308 9.399628 -6.172647 -v -0.408785 9.405274 -6.177890 -v -0.428008 9.410173 -6.142744 -v -0.420308 9.419218 -6.149899 -v -0.408785 9.425261 -6.154683 -v -0.428008 9.425968 -6.120978 -v -0.420308 9.435626 -6.127291 -v -0.408785 9.442080 -6.131507 -v -0.428008 9.438390 -6.099781 -v -0.420308 9.448499 -6.105322 -v -0.408785 9.455254 -6.109025 -v -0.428008 9.525598 -5.929327 -v -0.420308 9.536079 -5.934142 -v -0.408785 9.543083 -5.937357 -v -0.428008 9.534074 -5.908596 -v -0.420308 9.545096 -5.912085 -v -0.408785 9.552462 -5.914415 -v -0.428008 9.539044 -5.886885 -v -0.420308 9.550478 -5.888580 -v -0.408785 9.558118 -5.889715 -v -0.428008 9.540636 -5.864014 -v -0.420308 9.552192 -5.863945 -v -0.408785 9.559914 -5.863900 -v -0.428008 9.538743 -5.840744 -v -0.420308 9.550159 -5.838959 -v -0.408785 9.557788 -5.837766 -v -0.428008 9.533405 -5.817873 -v -0.420308 9.544434 -5.814422 -v -0.408785 9.551802 -5.812116 -v -0.428008 9.524804 -5.796171 -v -0.420308 9.535197 -5.791117 -v -0.408785 9.542141 -5.787740 -v -0.428008 9.513254 -5.776364 -v -0.420308 9.522757 -5.769783 -v -0.408785 9.529105 -5.765386 -v -0.428008 9.499187 -5.759098 -v -0.420308 9.507528 -5.751090 -v -0.408785 9.513101 -5.745739 -v -0.428008 9.482410 -5.744256 -v -0.420308 9.489679 -5.735301 -v -0.408785 9.494536 -5.729318 -v -0.428008 9.326509 -5.628330 -v -0.420308 9.333060 -5.618841 -v -0.408785 9.337438 -5.612501 -v -0.428008 9.306488 -5.615520 -v -0.420308 9.312095 -5.605426 -v -0.408785 9.315842 -5.598682 -v -0.428008 9.283608 -5.604611 -v -0.420308 9.287998 -5.593938 -v -0.408785 9.290932 -5.586806 -v -0.428008 9.257975 -5.595671 -v -0.420308 9.261224 -5.584599 -v -0.408785 9.263394 -5.577201 -v -0.428008 9.230498 -5.589083 -v -0.420308 9.232647 -5.577747 -v -0.408785 9.234082 -5.570174 -v -0.428008 9.202147 -5.585109 -v -0.420308 9.203198 -5.573619 -v -0.408785 9.203901 -5.565942 -v -0.428008 9.173919 -5.583888 -v -0.420308 9.173840 -5.572350 -v -0.408785 9.173786 -5.564641 -v -0.428008 9.146814 -5.585435 -v -0.420308 9.145529 -5.573967 -v -0.408785 9.144669 -5.566304 -v -0.428008 9.121818 -5.589633 -v -0.420308 9.119202 -5.578386 -v -0.408785 9.117455 -5.570872 -v -0.428008 9.099047 -5.596444 -v -0.420308 9.095356 -5.585518 -v -0.408785 9.092891 -5.578219 -v -0.428008 8.841131 -5.693769 -v -0.420308 8.837530 -5.682812 -v -0.408785 8.835124 -5.675489 -v -0.428008 8.814451 -5.701272 -v -0.420308 8.812284 -5.689910 -v -0.408785 8.810835 -5.682320 -v -0.428008 8.785774 -5.704235 -v -0.420308 8.785558 -5.692671 -v -0.408785 8.785414 -5.684946 -v -0.428008 8.756884 -5.702336 -v -0.420308 8.758599 -5.690900 -v -0.408785 8.759745 -5.683259 -v -0.428008 8.728630 -5.695656 -v -0.420308 8.732212 -5.684662 -v -0.408785 8.734605 -5.677316 -v -0.428008 8.701838 -5.684401 -v -0.420308 8.707183 -5.674147 -v -0.408785 8.710754 -5.667295 -v -0.428008 8.677291 -5.668897 -v -0.420308 8.684258 -5.659667 -v -0.408785 8.688913 -5.653501 -v -0.428008 8.655714 -5.649590 -v -0.420308 8.664124 -5.641652 -v -0.408785 8.669744 -5.636346 -v -0.428008 8.637758 -5.627036 -v -0.420308 8.647390 -5.620632 -v -0.408785 8.653826 -5.616353 -v -0.428008 8.624443 -5.602728 -v -0.420308 8.634789 -5.597631 -v -0.408785 8.641703 -5.594223 -v -0.428008 7.668399 -3.617157 -v -0.420309 7.678558 -3.611700 -v -0.408785 7.685346 -3.608053 -v -0.428008 7.656571 -3.597004 -v -0.420309 7.666111 -3.590492 -v -0.408785 7.672486 -3.586141 -v -0.428008 7.641404 -3.577751 -v -0.420309 7.650019 -3.570065 -v -0.408785 7.655776 -3.564929 -v -0.428008 7.622910 -3.559415 -v -0.420309 7.630558 -3.550770 -v -0.408785 7.635668 -3.544993 -v -0.428008 7.601710 -3.542709 -v -0.420309 7.608346 -3.533267 -v -0.408785 7.612781 -3.526958 -v -0.428008 7.578539 -3.528253 -v -0.420309 7.584103 -3.518142 -v -0.408785 7.587820 -3.511385 -v -0.428009 7.554215 -3.516556 -v -0.420309 7.558618 -3.505886 -v -0.408785 7.561560 -3.498757 -v -0.428009 7.529615 -3.508006 -v -0.420309 7.532732 -3.496889 -v -0.408785 7.534814 -3.489461 -v -0.428009 7.505654 -3.502847 -v -0.420309 7.507310 -3.491415 -v -0.408785 7.508416 -3.483777 -v -0.428009 7.482354 -3.501084 -v -0.420309 7.482790 -3.489560 -v -0.408785 7.483080 -3.481860 -v -0.428009 6.288272 -3.501084 -v -0.420309 6.287768 -3.489560 -v -0.408785 6.287432 -3.481860 -v -0.428009 6.266464 -3.502992 -v -0.420309 6.264455 -3.491600 -v -0.408785 6.263113 -3.483988 -v -0.428009 6.246247 -3.508409 -v -0.420309 6.242291 -3.497539 -v -0.408785 6.239647 -3.490276 -v -0.428009 6.227278 -3.517254 -v -0.420309 6.221494 -3.507236 -v -0.408785 6.217629 -3.500542 -v -0.428009 6.210134 -3.529259 -v -0.420309 6.202698 -3.520398 -v -0.408785 6.197730 -3.514477 -v -0.428009 6.195333 -3.544059 -v -0.420309 6.186472 -3.536623 -v -0.408785 6.180552 -3.531655 -v -0.428009 6.183329 -3.561203 -v -0.420309 6.173311 -3.555420 -v -0.408785 6.166617 -3.551555 -v -0.428009 6.174483 -3.580173 -v -0.420309 6.163613 -3.576216 -v -0.408785 6.156350 -3.573573 -v -0.428009 6.169066 -3.600389 -v -0.420309 6.157674 -3.598381 -v -0.408785 6.150063 -3.597039 -v -0.428009 6.167158 -3.622198 -v -0.420309 6.155634 -3.621694 -v -0.408785 6.147934 -3.621358 -vt 0.367483 0.626132 -vt 0.378188 0.625005 -vt 0.378188 0.625005 -vt 0.329686 0.655656 -vt 0.318363 0.657586 -vt 0.329553 0.654983 -vt 0.394574 0.651686 -vt 0.386735 0.656602 -vt 0.386735 0.656602 -vt 0.385807 0.656979 -vt 0.385308 0.657041 -vt 0.385308 0.657041 -vt 0.384806 0.657016 -vt 0.384806 0.657016 -vt 0.384316 0.656903 -vt 0.384316 0.656903 -vt 0.383853 0.656708 -vt 0.383853 0.656708 -vt 0.383430 0.656434 -vt 0.383430 0.656434 -vt 0.383062 0.656092 -vt 0.383062 0.656092 -vt 0.377843 0.647852 -vt 0.377533 0.647428 -vt 0.377533 0.647428 -vt 0.382759 0.655691 -vt 0.377843 0.647852 -vt 0.386287 0.656831 -vt 0.385807 0.656979 -vt 0.373951 0.645463 -vt 0.373427 0.645429 -vt 0.373427 0.645429 -vt 0.377145 0.647018 -vt 0.376691 0.646633 -vt 0.376691 0.646633 -vt 0.376183 0.646286 -vt 0.376183 0.646286 -vt 0.375639 0.645988 -vt 0.375639 0.645988 -vt 0.375074 0.645746 -vt 0.375074 0.645746 -vt 0.374506 0.645570 -vt 0.374506 0.645570 -vt 0.373951 0.645463 -vt 0.333077 0.641859 -vt 0.332581 0.641832 -vt 0.332581 0.641832 -vt 0.377145 0.647018 -vt 0.358818 0.645532 -vt 0.333077 0.641859 -vt 0.386287 0.656831 -vt 0.330254 0.643841 -vt 0.330209 0.644335 -vt 0.330209 0.644335 -vt 0.332099 0.641894 -vt 0.331647 0.642042 -vt 0.331647 0.642042 -vt 0.331238 0.642272 -vt 0.331238 0.642272 -vt 0.330885 0.642577 -vt 0.330885 0.642577 -vt 0.330598 0.642948 -vt 0.330598 0.642948 -vt 0.330385 0.643374 -vt 0.330385 0.643374 -vt 0.330254 0.643841 -vt 0.330166 0.653741 -vt 0.330190 0.654277 -vt 0.330190 0.654277 -vt 0.330166 0.653741 -vt 0.332099 0.641894 -vt 0.331565 0.658501 -vt 0.331862 0.658948 -vt 0.331862 0.658948 -vt 0.330265 0.654868 -vt 0.330389 0.655494 -vt 0.330389 0.655494 -vt 0.330558 0.656138 -vt 0.330558 0.656138 -vt 0.330767 0.656780 -vt 0.330767 0.656780 -vt 0.331009 0.657400 -vt 0.331009 0.657400 -vt 0.331278 0.657980 -vt 0.331278 0.657980 -vt 0.331565 0.658501 -vt 0.334053 0.661928 -vt 0.334332 0.662371 -vt 0.334332 0.662371 -vt 0.334053 0.661928 -vt 0.330265 0.654867 -vt 0.334758 0.666390 -vt 0.334579 0.666882 -vt 0.334579 0.666882 -vt 0.334566 0.662881 -vt 0.334749 0.663442 -vt 0.334749 0.663442 -vt 0.334875 0.664037 -vt 0.334875 0.664037 -vt 0.334940 0.664648 -vt 0.334940 0.664648 -vt 0.334941 0.665255 -vt 0.334941 0.665255 -vt 0.334880 0.665842 -vt 0.334880 0.665842 -vt 0.334758 0.666390 -vt 0.333979 0.668216 -vt 0.333730 0.668668 -vt 0.333730 0.668668 -vt 0.333979 0.668215 -vt 0.334566 0.662881 -vt 0.330443 0.670566 -vt 0.329927 0.670555 -vt 0.329927 0.670555 -vt 0.333401 0.669098 -vt 0.333003 0.669492 -vt 0.333003 0.669492 -vt 0.332547 0.669838 -vt 0.332547 0.669838 -vt 0.332048 0.670126 -vt 0.332048 0.670126 -vt 0.331520 0.670348 -vt 0.331520 0.670348 -vt 0.330979 0.670496 -vt 0.330979 0.670496 -vt 0.330443 0.670566 -vt 0.326566 0.670215 -vt 0.326048 0.670125 -vt 0.326048 0.670125 -vt 0.326566 0.670215 -vt 0.333401 0.669098 -vt 0.322679 0.667795 -vt 0.322412 0.667342 -vt 0.322412 0.667342 -vt 0.325507 0.669960 -vt 0.324959 0.669724 -vt 0.324959 0.669724 -vt 0.324421 0.669424 -vt 0.324421 0.669424 -vt 0.323909 0.669070 -vt 0.323909 0.669070 -vt 0.323439 0.668672 -vt 0.323439 0.668672 -vt 0.323024 0.668243 -vt 0.323024 0.668243 -vt 0.322679 0.667795 -vt 0.317710 0.657893 -vt 0.317492 0.657401 -vt 0.317492 0.657401 -vt 0.317710 0.657893 -vt 0.325507 0.669960 -vt 0.316723 0.652983 -vt 0.316761 0.652446 -vt 0.316761 0.652446 -vt 0.317291 0.656837 -vt 0.317113 0.656218 -vt 0.317113 0.656218 -vt 0.316963 0.655563 -vt 0.316963 0.655563 -vt 0.316846 0.654891 -vt 0.316846 0.654891 -vt 0.316766 0.654224 -vt 0.316766 0.654224 -vt 0.316724 0.653582 -vt 0.316724 0.653582 -vt 0.316723 0.652983 -vt 0.315230 0.626853 -vt 0.315138 0.626327 -vt 0.315138 0.626327 -vt 0.317291 0.656837 -vt 0.318251 0.639727 -vt 0.315230 0.626853 -vt 0.358818 0.645532 -vt 0.315802 0.622041 -vt 0.316049 0.621568 -vt 0.316049 0.621568 -vt 0.315094 0.625743 -vt 0.315099 0.625117 -vt 0.315099 0.625117 -vt 0.315152 0.624468 -vt 0.315152 0.624468 -vt 0.315253 0.623817 -vt 0.315253 0.623817 -vt 0.315398 0.623183 -vt 0.315398 0.623182 -vt 0.315583 0.622584 -vt 0.315583 0.622584 -vt 0.315802 0.622041 -vt 0.318056 0.618203 -vt 0.318353 0.617789 -vt 0.318353 0.617789 -vt 0.318056 0.618203 -vt 0.315094 0.625743 -vt 0.321731 0.616628 -vt 0.322220 0.616772 -vt 0.322220 0.616772 -vt 0.318723 0.617419 -vt 0.319154 0.617105 -vt 0.319154 0.617104 -vt 0.319634 0.616855 -vt 0.319634 0.616855 -vt 0.320147 0.616679 -vt 0.320147 0.616679 -vt 0.320679 0.616581 -vt 0.320679 0.616581 -vt 0.321212 0.616564 -vt 0.321212 0.616564 -vt 0.321731 0.616628 -vt 0.325927 0.618216 -vt 0.326403 0.618440 -vt 0.326403 0.618440 -vt 0.325927 0.618215 -vt 0.318723 0.617419 -vt 0.329046 0.621582 -vt 0.329186 0.622089 -vt 0.329186 0.622089 -vt 0.326881 0.618744 -vt 0.327348 0.619117 -vt 0.327348 0.619117 -vt 0.327788 0.619549 -vt 0.327788 0.619549 -vt 0.328190 0.620027 -vt 0.328190 0.620027 -vt 0.328540 0.620535 -vt 0.328540 0.620535 -vt 0.328828 0.621059 -vt 0.328828 0.621059 -vt 0.329046 0.621582 -vt 0.330293 0.627570 -vt 0.330435 0.628055 -vt 0.330435 0.628054 -vt 0.330293 0.627570 -vt 0.326881 0.618744 -vt 0.333213 0.630008 -vt 0.333717 0.629978 -vt 0.333717 0.629978 -vt 0.330660 0.628512 -vt 0.330961 0.628928 -vt 0.330961 0.628927 -vt 0.331327 0.629289 -vt 0.331327 0.629289 -vt 0.331749 0.629586 -vt 0.331749 0.629586 -vt 0.332214 0.629809 -vt 0.332214 0.629809 -vt 0.332707 0.629951 -vt 0.332707 0.629951 -vt 0.333213 0.630008 -vt 0.378709 0.624989 -vt 0.378709 0.624989 -vt 0.330660 0.628512 -vt 0.318251 0.639727 -vt 0.347624 0.627938 -vt 0.347624 0.627938 -vt 0.382279 0.626727 -vt 0.382588 0.627146 -vt 0.382588 0.627146 -vt 0.379261 0.625049 -vt 0.379827 0.625181 -vt 0.379827 0.625181 -vt 0.380390 0.625382 -vt 0.380390 0.625382 -vt 0.380932 0.625646 -vt 0.380932 0.625646 -vt 0.381438 0.625965 -vt 0.381438 0.625965 -vt 0.381891 0.626329 -vt 0.381891 0.626329 -vt 0.382279 0.626727 -vt 0.395485 0.647711 -vt 0.395714 0.648158 -vt 0.395714 0.648158 -vt 0.395485 0.647711 -vt 0.379261 0.625049 -vt 0.394975 0.651383 -vt 0.394574 0.651686 -vt 0.395861 0.648639 -vt 0.395924 0.649138 -vt 0.395924 0.649138 -vt 0.395898 0.649640 -vt 0.395898 0.649640 -vt 0.395786 0.650130 -vt 0.395786 0.650130 -vt 0.395590 0.650593 -vt 0.395590 0.650593 -vt 0.395317 0.651015 -vt 0.395317 0.651015 -vt 0.394975 0.651383 -vt 0.318363 0.657586 -vt 0.329686 0.655656 -vt 0.329553 0.654983 -vt 0.395861 0.648639 -vt 0.382759 0.655691 -vt 0.347709 0.628654 -vt 0.367525 0.626575 -vt 0.367551 0.626850 -vt 0.347677 0.628380 -vt 0.367483 0.626132 -vt 0.347624 0.627938 -vt 0.367483 0.626132 -vt 0.347624 0.627938 -vt 0.386287 0.656831 -vt 0.386735 0.656602 -vt 0.386287 0.656830 -vt 0.386735 0.656602 -vt 0.386119 0.656417 -vt 0.386515 0.656214 -vt 0.386015 0.656161 -vt 0.386378 0.655975 -vt 0.385806 0.656977 -vt 0.385713 0.656542 -vt 0.385308 0.657041 -vt 0.385807 0.656978 -vt 0.385292 0.656595 -vt 0.385655 0.656271 -vt 0.384806 0.657015 -vt 0.385308 0.657040 -vt 0.384867 0.656573 -vt 0.384905 0.656299 -vt 0.385281 0.656317 -vt 0.384316 0.656902 -vt 0.384806 0.657014 -vt 0.384453 0.656478 -vt 0.383853 0.656707 -vt 0.384316 0.656903 -vt 0.383853 0.656706 -vt 0.384191 0.656068 -vt 0.384538 0.656214 -vt 0.383431 0.656434 -vt 0.383431 0.656433 -vt 0.384062 0.656313 -vt 0.383705 0.656082 -vt 0.383063 0.656092 -vt 0.383063 0.656091 -vt 0.383394 0.655793 -vt 0.383875 0.655863 -vt 0.382759 0.655691 -vt 0.382759 0.655691 -vt 0.383126 0.655438 -vt 0.383599 0.655607 -vt 0.377843 0.647852 -vt 0.377843 0.647852 -vt 0.378212 0.647602 -vt 0.383353 0.655282 -vt 0.377533 0.647428 -vt 0.377533 0.647428 -vt 0.377876 0.647143 -vt 0.378440 0.647448 -vt 0.377145 0.647018 -vt 0.377145 0.647018 -vt 0.377451 0.646694 -vt 0.377641 0.646494 -vt 0.378088 0.646966 -vt 0.376691 0.646633 -vt 0.376691 0.646633 -vt 0.376961 0.646278 -vt 0.377128 0.646059 -vt 0.376184 0.646286 -vt 0.376183 0.646286 -vt 0.376417 0.645907 -vt 0.376561 0.645672 -vt 0.375639 0.645988 -vt 0.375639 0.645988 -vt 0.375834 0.645587 -vt 0.375074 0.645746 -vt 0.375074 0.645746 -vt 0.375228 0.645327 -vt 0.375955 0.645339 -vt 0.374506 0.645570 -vt 0.374506 0.645570 -vt 0.374614 0.645138 -vt 0.375324 0.645069 -vt 0.373951 0.645463 -vt 0.373951 0.645463 -vt 0.374007 0.645020 -vt 0.374681 0.644869 -vt 0.373427 0.645429 -vt 0.373427 0.645429 -vt 0.373440 0.644984 -vt 0.373447 0.644708 -vt 0.374043 0.644746 -vt 0.358818 0.645531 -vt 0.358818 0.645531 -vt 0.358848 0.645087 -vt 0.358867 0.644810 -vt 0.333077 0.641859 -vt 0.333077 0.641859 -vt 0.333120 0.641415 -vt 0.332581 0.641832 -vt 0.332581 0.641832 -vt 0.332564 0.641385 -vt 0.333147 0.641141 -vt 0.332099 0.641893 -vt 0.332099 0.641894 -vt 0.332001 0.641457 -vt 0.332554 0.641109 -vt 0.331647 0.642041 -vt 0.331647 0.642042 -vt 0.331467 0.641633 -vt 0.331940 0.641187 -vt 0.331238 0.642271 -vt 0.331238 0.642272 -vt 0.330981 0.641905 -vt 0.331356 0.641378 -vt 0.330885 0.642577 -vt 0.330560 0.642269 -vt 0.330822 0.641679 -vt 0.330597 0.642948 -vt 0.330598 0.642948 -vt 0.330885 0.642577 -vt 0.330219 0.642710 -vt 0.329984 0.642563 -vt 0.330359 0.642078 -vt 0.330385 0.643374 -vt 0.330385 0.643374 -vt 0.329968 0.643212 -vt 0.329709 0.643113 -vt 0.330254 0.643841 -vt 0.330254 0.643841 -vt 0.329815 0.643759 -vt 0.329542 0.643709 -vt 0.330208 0.644335 -vt 0.330209 0.644335 -vt 0.329764 0.644314 -vt 0.329488 0.644301 -vt 0.330166 0.653741 -vt 0.330166 0.653741 -vt 0.329721 0.653750 -vt 0.329445 0.653755 -vt 0.330190 0.654277 -vt 0.330190 0.654277 -vt 0.329746 0.654315 -vt 0.330265 0.654867 -vt 0.330265 0.654867 -vt 0.329825 0.654939 -vt 0.329471 0.654339 -vt 0.330389 0.655494 -vt 0.330389 0.655494 -vt 0.329955 0.655594 -vt 0.330558 0.656138 -vt 0.330558 0.656138 -vt 0.330131 0.656264 -vt 0.329866 0.656342 -vt 0.330767 0.656780 -vt 0.330087 0.657023 -vt 0.330767 0.656780 -vt 0.331009 0.657400 -vt 0.331009 0.657400 -vt 0.330347 0.656930 -vt 0.330600 0.657575 -vt 0.331278 0.657980 -vt 0.331278 0.657980 -vt 0.330881 0.658181 -vt 0.330346 0.657683 -vt 0.331565 0.658501 -vt 0.331565 0.658501 -vt 0.331184 0.658732 -vt 0.330635 0.658306 -vt 0.331862 0.658948 -vt 0.331862 0.658948 -vt 0.331497 0.659204 -vt 0.331271 0.659362 -vt 0.330948 0.658875 -vt 0.334053 0.661928 -vt 0.334053 0.661928 -vt 0.333685 0.662179 -vt 0.333457 0.662334 -vt 0.334332 0.662372 -vt 0.334331 0.662372 -vt 0.333940 0.662584 -vt 0.333696 0.662715 -vt 0.334566 0.662881 -vt 0.334566 0.662882 -vt 0.334151 0.663044 -vt 0.334749 0.663442 -vt 0.334748 0.663442 -vt 0.334318 0.663558 -vt 0.333894 0.663144 -vt 0.334875 0.664037 -vt 0.334874 0.664037 -vt 0.334435 0.664106 -vt 0.334052 0.663629 -vt 0.334939 0.664648 -vt 0.334939 0.664648 -vt 0.334219 0.664687 -vt 0.334162 0.664150 -vt 0.334941 0.665255 -vt 0.334941 0.665255 -vt 0.334496 0.665233 -vt 0.334495 0.664672 -vt 0.334220 0.665219 -vt 0.334880 0.665842 -vt 0.334880 0.665842 -vt 0.334440 0.665770 -vt 0.334168 0.665726 -vt 0.334758 0.666390 -vt 0.334757 0.666390 -vt 0.334330 0.666264 -vt 0.334065 0.666187 -vt 0.334579 0.666882 -vt 0.334579 0.666882 -vt 0.334166 0.666714 -vt 0.333979 0.668216 -vt 0.333979 0.668215 -vt 0.333581 0.668017 -vt 0.333333 0.667893 -vt 0.333911 0.666610 -vt 0.333730 0.668668 -vt 0.333729 0.668667 -vt 0.333356 0.668424 -vt 0.333124 0.668273 -vt 0.333401 0.669097 -vt 0.333401 0.669097 -vt 0.333066 0.668803 -vt 0.333003 0.669492 -vt 0.333002 0.669491 -vt 0.332711 0.669155 -vt 0.332859 0.668620 -vt 0.332547 0.669838 -vt 0.332547 0.669837 -vt 0.332300 0.669467 -vt 0.332529 0.668946 -vt 0.332048 0.670126 -vt 0.331850 0.669727 -vt 0.332147 0.669236 -vt 0.331520 0.670348 -vt 0.331519 0.670347 -vt 0.332047 0.670126 -vt 0.331374 0.669926 -vt 0.331284 0.669665 -vt 0.331727 0.669480 -vt 0.330979 0.670496 -vt 0.330979 0.670495 -vt 0.330891 0.670058 -vt 0.330837 0.669787 -vt 0.330443 0.670565 -vt 0.330443 0.670564 -vt 0.330419 0.670120 -vt 0.330403 0.669843 -vt 0.329927 0.670555 -vt 0.329927 0.670555 -vt 0.329954 0.670110 -vt 0.326566 0.670215 -vt 0.326566 0.670215 -vt 0.326626 0.669773 -vt 0.329970 0.669835 -vt 0.326048 0.670125 -vt 0.326048 0.670124 -vt 0.326152 0.669691 -vt 0.326216 0.669422 -vt 0.326664 0.669500 -vt 0.325507 0.669960 -vt 0.325507 0.669959 -vt 0.325661 0.669541 -vt 0.324959 0.669724 -vt 0.324959 0.669723 -vt 0.325156 0.669324 -vt 0.325756 0.669282 -vt 0.324421 0.669424 -vt 0.324421 0.669424 -vt 0.324657 0.669046 -vt 0.325278 0.669076 -vt 0.323909 0.669070 -vt 0.323909 0.669069 -vt 0.324180 0.668716 -vt 0.324802 0.668811 -vt 0.323439 0.668672 -vt 0.323439 0.668672 -vt 0.323743 0.668347 -vt 0.323932 0.668146 -vt 0.324348 0.668497 -vt 0.323024 0.668243 -vt 0.323025 0.668242 -vt 0.323362 0.667951 -vt 0.323571 0.667771 -vt 0.322679 0.667795 -vt 0.322679 0.667794 -vt 0.323048 0.667545 -vt 0.323277 0.667390 -vt 0.322412 0.667342 -vt 0.322412 0.667342 -vt 0.322803 0.667130 -vt 0.317711 0.657893 -vt 0.317711 0.657893 -vt 0.318113 0.657703 -vt 0.323046 0.666998 -vt 0.317493 0.657401 -vt 0.317493 0.657401 -vt 0.317906 0.657236 -vt 0.318163 0.657133 -vt 0.317291 0.656837 -vt 0.317292 0.656837 -vt 0.317715 0.656700 -vt 0.317113 0.656218 -vt 0.317113 0.656218 -vt 0.317544 0.656107 -vt 0.317978 0.656616 -vt 0.316963 0.655563 -vt 0.316963 0.655563 -vt 0.317400 0.655475 -vt 0.317811 0.656038 -vt 0.316846 0.654891 -vt 0.317560 0.654786 -vt 0.317670 0.655420 -vt 0.316766 0.654225 -vt 0.316846 0.654891 -vt 0.316766 0.654224 -vt 0.317209 0.654184 -vt 0.317287 0.654826 -vt 0.317484 0.654158 -vt 0.316724 0.653582 -vt 0.316724 0.653582 -vt 0.317169 0.653567 -vt 0.317445 0.653557 -vt 0.316723 0.652983 -vt 0.316723 0.652983 -vt 0.317168 0.652998 -vt 0.317444 0.653008 -vt 0.316761 0.652446 -vt 0.316761 0.652446 -vt 0.317205 0.652488 -vt 0.318253 0.639727 -vt 0.318251 0.639727 -vt 0.318702 0.639701 -vt 0.317479 0.652514 -vt 0.315230 0.626853 -vt 0.315230 0.626853 -vt 0.315666 0.626763 -vt 0.315937 0.626708 -vt 0.318982 0.639685 -vt 0.315138 0.626327 -vt 0.315139 0.626327 -vt 0.315581 0.626272 -vt 0.315855 0.626238 -vt 0.315094 0.625743 -vt 0.315094 0.625743 -vt 0.315539 0.625728 -vt 0.315099 0.625117 -vt 0.315099 0.625117 -vt 0.315544 0.625137 -vt 0.315815 0.625718 -vt 0.315152 0.624468 -vt 0.315153 0.624468 -vt 0.315595 0.624521 -vt 0.315819 0.625149 -vt 0.315253 0.623817 -vt 0.315691 0.623900 -vt 0.315962 0.623953 -vt 0.315869 0.624553 -vt 0.315398 0.623182 -vt 0.315399 0.623183 -vt 0.315253 0.623817 -vt 0.315828 0.623298 -vt 0.316095 0.623369 -vt 0.315583 0.622584 -vt 0.315583 0.622584 -vt 0.316003 0.622733 -vt 0.316263 0.622826 -vt 0.315802 0.622041 -vt 0.315803 0.622041 -vt 0.316207 0.622227 -vt 0.316458 0.622343 -vt 0.316049 0.621568 -vt 0.316049 0.621568 -vt 0.316437 0.621785 -vt 0.318056 0.618203 -vt 0.318056 0.618203 -vt 0.318428 0.618447 -vt 0.318659 0.618598 -vt 0.316678 0.621919 -vt 0.318353 0.617789 -vt 0.318354 0.617790 -vt 0.318693 0.618078 -vt 0.318904 0.618257 -vt 0.318723 0.617419 -vt 0.318724 0.617420 -vt 0.319013 0.617758 -vt 0.319154 0.617105 -vt 0.319155 0.617105 -vt 0.319389 0.617484 -vt 0.319193 0.617969 -vt 0.319634 0.616856 -vt 0.319634 0.616856 -vt 0.319810 0.617266 -vt 0.319535 0.617719 -vt 0.320147 0.616679 -vt 0.320148 0.616680 -vt 0.320331 0.617378 -vt 0.319919 0.617520 -vt 0.320679 0.616581 -vt 0.320679 0.616582 -vt 0.320727 0.617025 -vt 0.320261 0.617111 -vt 0.320756 0.617300 -vt 0.321212 0.616564 -vt 0.321212 0.616565 -vt 0.321192 0.617010 -vt 0.321179 0.617286 -vt 0.321731 0.616628 -vt 0.321731 0.616629 -vt 0.321640 0.617065 -vt 0.321584 0.617337 -vt 0.322220 0.616772 -vt 0.322220 0.616773 -vt 0.322076 0.617194 -vt 0.325927 0.618215 -vt 0.325927 0.618216 -vt 0.325751 0.618625 -vt 0.321987 0.617455 -vt 0.326403 0.618440 -vt 0.326402 0.618441 -vt 0.326187 0.618831 -vt 0.326054 0.619073 -vt 0.325642 0.618878 -vt 0.326881 0.618744 -vt 0.326881 0.618744 -vt 0.326622 0.619107 -vt 0.327347 0.619117 -vt 0.327347 0.619118 -vt 0.327052 0.619451 -vt 0.326461 0.619331 -vt 0.327788 0.619550 -vt 0.327788 0.619550 -vt 0.327462 0.619852 -vt 0.326869 0.619658 -vt 0.328190 0.620027 -vt 0.328190 0.620027 -vt 0.327616 0.620464 -vt 0.327259 0.620040 -vt 0.328540 0.620535 -vt 0.328540 0.620535 -vt 0.328161 0.620769 -vt 0.327836 0.620297 -vt 0.327926 0.620915 -vt 0.328828 0.621059 -vt 0.328828 0.621059 -vt 0.328427 0.621252 -vt 0.328178 0.621372 -vt 0.329046 0.621582 -vt 0.329045 0.621582 -vt 0.328624 0.621727 -vt 0.328363 0.621817 -vt 0.329186 0.622089 -vt 0.329185 0.622089 -vt 0.328753 0.622192 -vt 0.330293 0.627570 -vt 0.330293 0.627570 -vt 0.329860 0.627677 -vt 0.328484 0.622256 -vt 0.330435 0.628055 -vt 0.330435 0.628054 -vt 0.330019 0.628217 -vt 0.329592 0.627743 -vt 0.330660 0.628512 -vt 0.330660 0.628512 -vt 0.330277 0.628742 -vt 0.330040 0.628884 -vt 0.329761 0.628317 -vt 0.330960 0.628928 -vt 0.330961 0.628927 -vt 0.330622 0.629218 -vt 0.330411 0.629398 -vt 0.331327 0.629289 -vt 0.331327 0.629289 -vt 0.331041 0.629632 -vt 0.330864 0.629845 -vt 0.331749 0.629586 -vt 0.331749 0.629586 -vt 0.331524 0.629971 -vt 0.332214 0.629809 -vt 0.332214 0.629809 -vt 0.332055 0.630226 -vt 0.331384 0.630210 -vt 0.332707 0.629951 -vt 0.332707 0.629951 -vt 0.332620 0.630389 -vt 0.331956 0.630485 -vt 0.333213 0.630008 -vt 0.333213 0.630008 -vt 0.333201 0.630455 -vt 0.332566 0.630661 -vt 0.333717 0.629978 -vt 0.333717 0.629978 -vt 0.333763 0.630422 -vt 0.333791 0.630696 -vt 0.333194 0.630731 -vt 0.378188 0.625005 -vt 0.378188 0.625005 -vt 0.378218 0.625449 -vt 0.378236 0.625724 -vt 0.378709 0.624990 -vt 0.378709 0.624990 -vt 0.378692 0.625435 -vt 0.378681 0.625712 -vt 0.379261 0.625049 -vt 0.379261 0.625049 -vt 0.379186 0.625489 -vt 0.379827 0.625181 -vt 0.379827 0.625182 -vt 0.379701 0.625609 -vt 0.379140 0.625761 -vt 0.380390 0.625383 -vt 0.380390 0.625383 -vt 0.380217 0.625793 -vt 0.379623 0.625874 -vt 0.380932 0.625646 -vt 0.380932 0.625647 -vt 0.380716 0.626036 -vt 0.380110 0.626048 -vt 0.381438 0.625965 -vt 0.381438 0.625966 -vt 0.381179 0.626328 -vt 0.381018 0.626553 -vt 0.380582 0.626277 -vt 0.381891 0.626329 -vt 0.381891 0.626330 -vt 0.381592 0.626659 -vt 0.381406 0.626864 -vt 0.382279 0.626727 -vt 0.382278 0.626727 -vt 0.381939 0.627016 -vt 0.381728 0.627194 -vt 0.382588 0.627146 -vt 0.382588 0.627146 -vt 0.382220 0.627397 -vt 0.395485 0.647711 -vt 0.395484 0.647711 -vt 0.395097 0.647930 -vt 0.394857 0.648067 -vt 0.381992 0.627552 -vt 0.395713 0.648158 -vt 0.395712 0.648159 -vt 0.395300 0.648326 -vt 0.395043 0.648431 -vt 0.395861 0.648639 -vt 0.395424 0.648732 -vt 0.395154 0.648790 -vt 0.395923 0.649138 -vt 0.395922 0.649138 -vt 0.395860 0.648639 -vt 0.395477 0.649154 -vt 0.395898 0.649640 -vt 0.395896 0.649640 -vt 0.395455 0.649578 -vt 0.395200 0.649164 -vt 0.395786 0.650130 -vt 0.395360 0.649992 -vt 0.395181 0.649540 -vt 0.395590 0.650592 -vt 0.395589 0.650592 -vt 0.395784 0.650129 -vt 0.395195 0.650384 -vt 0.395097 0.649908 -vt 0.395316 0.651014 -vt 0.394964 0.650741 -vt 0.394746 0.650570 -vt 0.394950 0.650254 -vt 0.395317 0.651015 -vt 0.394974 0.651382 -vt 0.394675 0.651052 -vt 0.394974 0.651383 -vt 0.394574 0.651686 -vt 0.394574 0.651686 -vt 0.394321 0.651320 -vt 0.394489 0.650846 -vt 0.394164 0.651092 -vt 0.367483 0.626132 -vt 0.347624 0.627938 -vt 0.367483 0.626132 -vt 0.347624 0.627938 -vt 0.367483 0.626132 -vt 0.347677 0.628381 -vt 0.367525 0.626575 -vt 0.347709 0.628655 -vt 0.367551 0.626850 -vt 0.386015 0.656160 -vt 0.386515 0.656215 -vt 0.386378 0.655975 -vt 0.386119 0.656417 -vt 0.386735 0.656602 -vt 0.386287 0.656830 -vt 0.386735 0.656602 -vt 0.386287 0.656831 -vt 0.385713 0.656542 -vt 0.385806 0.656977 -vt 0.385655 0.656271 -vt 0.385292 0.656595 -vt 0.385308 0.657041 -vt 0.385807 0.656978 -vt 0.384905 0.656299 -vt 0.385281 0.656318 -vt 0.384867 0.656573 -vt 0.385308 0.657040 -vt 0.384806 0.657015 -vt 0.384453 0.656478 -vt 0.384806 0.657014 -vt 0.384316 0.656902 -vt 0.384191 0.656068 -vt 0.384538 0.656215 -vt 0.384062 0.656313 -vt 0.383853 0.656707 -vt 0.384316 0.656903 -vt 0.383875 0.655863 -vt 0.383431 0.656433 -vt 0.383853 0.656706 -vt 0.383431 0.656434 -vt 0.383394 0.655793 -vt 0.383705 0.656082 -vt 0.383063 0.656091 -vt 0.383063 0.656092 -vt 0.383599 0.655607 -vt 0.383126 0.655438 -vt 0.382759 0.655691 -vt 0.382759 0.655691 -vt 0.383353 0.655282 -vt 0.378212 0.647602 -vt 0.377843 0.647852 -vt 0.377843 0.647852 -vt 0.378440 0.647447 -vt 0.377876 0.647143 -vt 0.377533 0.647428 -vt 0.377533 0.647428 -vt 0.377641 0.646493 -vt 0.378088 0.646966 -vt 0.377451 0.646694 -vt 0.377145 0.647018 -vt 0.377145 0.647018 -vt 0.377128 0.646059 -vt 0.376961 0.646279 -vt 0.376691 0.646633 -vt 0.376691 0.646633 -vt 0.376561 0.645671 -vt 0.376417 0.645907 -vt 0.376183 0.646286 -vt 0.376184 0.646286 -vt 0.375834 0.645587 -vt 0.375639 0.645988 -vt 0.375639 0.645988 -vt 0.375955 0.645339 -vt 0.375228 0.645328 -vt 0.375074 0.645746 -vt 0.375074 0.645746 -vt 0.375324 0.645069 -vt 0.374614 0.645137 -vt 0.374506 0.645570 -vt 0.374506 0.645570 -vt 0.374681 0.644869 -vt 0.374007 0.645020 -vt 0.373951 0.645463 -vt 0.373951 0.645463 -vt 0.373447 0.644708 -vt 0.374042 0.644746 -vt 0.373440 0.644984 -vt 0.373427 0.645429 -vt 0.373427 0.645429 -vt 0.358867 0.644810 -vt 0.358848 0.645086 -vt 0.358818 0.645531 -vt 0.358818 0.645531 -vt 0.333120 0.641416 -vt 0.333077 0.641859 -vt 0.333077 0.641859 -vt 0.333147 0.641141 -vt 0.332564 0.641385 -vt 0.332581 0.641832 -vt 0.332581 0.641832 -vt 0.332554 0.641108 -vt 0.332001 0.641457 -vt 0.332099 0.641894 -vt 0.332099 0.641893 -vt 0.331940 0.641187 -vt 0.331467 0.641632 -vt 0.331647 0.642042 -vt 0.331647 0.642041 -vt 0.331356 0.641378 -vt 0.330981 0.641905 -vt 0.331238 0.642272 -vt 0.331238 0.642271 -vt 0.330822 0.641679 -vt 0.330560 0.642269 -vt 0.330885 0.642577 -vt 0.329984 0.642563 -vt 0.330359 0.642079 -vt 0.330219 0.642710 -vt 0.330885 0.642577 -vt 0.330598 0.642948 -vt 0.330597 0.642948 -vt 0.329710 0.643113 -vt 0.329968 0.643213 -vt 0.330385 0.643374 -vt 0.330385 0.643374 -vt 0.329542 0.643709 -vt 0.329815 0.643760 -vt 0.330254 0.643841 -vt 0.330254 0.643841 -vt 0.329488 0.644300 -vt 0.329764 0.644314 -vt 0.330209 0.644335 -vt 0.330208 0.644336 -vt 0.329445 0.653755 -vt 0.329721 0.653750 -vt 0.330166 0.653741 -vt 0.330166 0.653741 -vt 0.329746 0.654315 -vt 0.330190 0.654277 -vt 0.330190 0.654277 -vt 0.329471 0.654338 -vt 0.329825 0.654938 -vt 0.330265 0.654867 -vt 0.330265 0.654867 -vt 0.329955 0.655594 -vt 0.330389 0.655494 -vt 0.330389 0.655494 -vt 0.329865 0.656341 -vt 0.330130 0.656264 -vt 0.330558 0.656138 -vt 0.330558 0.656138 -vt 0.330088 0.657023 -vt 0.330767 0.656780 -vt 0.330600 0.657575 -vt 0.330347 0.656930 -vt 0.331009 0.657400 -vt 0.331009 0.657400 -vt 0.330767 0.656780 -vt 0.330346 0.657684 -vt 0.330881 0.658181 -vt 0.331278 0.657980 -vt 0.331278 0.657980 -vt 0.330635 0.658306 -vt 0.331184 0.658732 -vt 0.331565 0.658501 -vt 0.331565 0.658501 -vt 0.331271 0.659361 -vt 0.330948 0.658875 -vt 0.331497 0.659203 -vt 0.331862 0.658948 -vt 0.331862 0.658948 -vt 0.333457 0.662334 -vt 0.333685 0.662179 -vt 0.334053 0.661928 -vt 0.334053 0.661928 -vt 0.333697 0.662716 -vt 0.333940 0.662584 -vt 0.334331 0.662372 -vt 0.334332 0.662372 -vt 0.334151 0.663044 -vt 0.334566 0.662882 -vt 0.334566 0.662881 -vt 0.333894 0.663144 -vt 0.334318 0.663557 -vt 0.334748 0.663442 -vt 0.334749 0.663442 -vt 0.334052 0.663629 -vt 0.334435 0.664106 -vt 0.334874 0.664037 -vt 0.334875 0.664037 -vt 0.334161 0.664150 -vt 0.334494 0.664672 -vt 0.334939 0.664648 -vt 0.334939 0.664648 -vt 0.334220 0.665219 -vt 0.334219 0.664687 -vt 0.334496 0.665233 -vt 0.334941 0.665255 -vt 0.334941 0.665255 -vt 0.334167 0.665726 -vt 0.334440 0.665771 -vt 0.334880 0.665842 -vt 0.334880 0.665842 -vt 0.334065 0.666187 -vt 0.334330 0.666265 -vt 0.334757 0.666389 -vt 0.334758 0.666390 -vt 0.334166 0.666714 -vt 0.334579 0.666882 -vt 0.334579 0.666882 -vt 0.333333 0.667893 -vt 0.333910 0.666610 -vt 0.333580 0.668017 -vt 0.333979 0.668215 -vt 0.333979 0.668215 -vt 0.333124 0.668273 -vt 0.333356 0.668424 -vt 0.333729 0.668667 -vt 0.333730 0.668668 -vt 0.333066 0.668803 -vt 0.333401 0.669097 -vt 0.333401 0.669097 -vt 0.332859 0.668620 -vt 0.332711 0.669155 -vt 0.333002 0.669491 -vt 0.333003 0.669492 -vt 0.332529 0.668946 -vt 0.332300 0.669467 -vt 0.332547 0.669837 -vt 0.332547 0.669838 -vt 0.332147 0.669237 -vt 0.331850 0.669727 -vt 0.332048 0.670126 -vt 0.331284 0.669665 -vt 0.331727 0.669479 -vt 0.331374 0.669926 -vt 0.332047 0.670126 -vt 0.331519 0.670347 -vt 0.331520 0.670348 -vt 0.330837 0.669787 -vt 0.330892 0.670058 -vt 0.330979 0.670495 -vt 0.330979 0.670496 -vt 0.330403 0.669843 -vt 0.330418 0.670120 -vt 0.330443 0.670564 -vt 0.330443 0.670565 -vt 0.329953 0.670111 -vt 0.329927 0.670555 -vt 0.329927 0.670555 -vt 0.329970 0.669834 -vt 0.326626 0.669774 -vt 0.326566 0.670215 -vt 0.326566 0.670215 -vt 0.326216 0.669422 -vt 0.326664 0.669500 -vt 0.326152 0.669692 -vt 0.326048 0.670124 -vt 0.326048 0.670125 -vt 0.325661 0.669541 -vt 0.325507 0.669959 -vt 0.325507 0.669960 -vt 0.325756 0.669282 -vt 0.325156 0.669324 -vt 0.324959 0.669723 -vt 0.324959 0.669724 -vt 0.325278 0.669076 -vt 0.324657 0.669046 -vt 0.324421 0.669424 -vt 0.324421 0.669424 -vt 0.324802 0.668811 -vt 0.324180 0.668716 -vt 0.323909 0.669070 -vt 0.323932 0.668145 -vt 0.324348 0.668497 -vt 0.323743 0.668347 -vt 0.323909 0.669069 -vt 0.323439 0.668672 -vt 0.323439 0.668672 -vt 0.323571 0.667771 -vt 0.323362 0.667951 -vt 0.323025 0.668242 -vt 0.323024 0.668243 -vt 0.323277 0.667390 -vt 0.323048 0.667545 -vt 0.322679 0.667794 -vt 0.322679 0.667795 -vt 0.322803 0.667130 -vt 0.322412 0.667342 -vt 0.322412 0.667342 -vt 0.323046 0.666998 -vt 0.318113 0.657703 -vt 0.317711 0.657893 -vt 0.317711 0.657893 -vt 0.318163 0.657133 -vt 0.317906 0.657236 -vt 0.317493 0.657401 -vt 0.317493 0.657401 -vt 0.317715 0.656701 -vt 0.317292 0.656837 -vt 0.317291 0.656837 -vt 0.317978 0.656616 -vt 0.317544 0.656106 -vt 0.317113 0.656218 -vt 0.317113 0.656218 -vt 0.317811 0.656038 -vt 0.317400 0.655475 -vt 0.316963 0.655563 -vt 0.316963 0.655563 -vt 0.317560 0.654786 -vt 0.317670 0.655421 -vt 0.316846 0.654891 -vt 0.316846 0.654891 -vt 0.317484 0.654158 -vt 0.317287 0.654827 -vt 0.317209 0.654183 -vt 0.316766 0.654224 -vt 0.316766 0.654224 -vt 0.317445 0.653557 -vt 0.317169 0.653567 -vt 0.316724 0.653582 -vt 0.316724 0.653582 -vt 0.317444 0.653008 -vt 0.317168 0.652998 -vt 0.316723 0.652983 -vt 0.316723 0.652983 -vt 0.317205 0.652488 -vt 0.316761 0.652446 -vt 0.316761 0.652446 -vt 0.317479 0.652515 -vt 0.318703 0.639701 -vt 0.318251 0.639727 -vt 0.318253 0.639727 -vt 0.315937 0.626707 -vt 0.318982 0.639685 -vt 0.315667 0.626763 -vt 0.315230 0.626852 -vt 0.315230 0.626853 -vt 0.315854 0.626238 -vt 0.315581 0.626272 -vt 0.315139 0.626327 -vt 0.315138 0.626327 -vt 0.315539 0.625728 -vt 0.315094 0.625743 -vt 0.315094 0.625743 -vt 0.315815 0.625719 -vt 0.315544 0.625137 -vt 0.315099 0.625117 -vt 0.315099 0.625117 -vt 0.315820 0.625149 -vt 0.315595 0.624521 -vt 0.315153 0.624468 -vt 0.315152 0.624468 -vt 0.315962 0.623952 -vt 0.315869 0.624553 -vt 0.315691 0.623900 -vt 0.315253 0.623817 -vt 0.316095 0.623370 -vt 0.315828 0.623298 -vt 0.315253 0.623817 -vt 0.315399 0.623183 -vt 0.315398 0.623182 -vt 0.316263 0.622826 -vt 0.316003 0.622733 -vt 0.315583 0.622584 -vt 0.315583 0.622584 -vt 0.316458 0.622343 -vt 0.316207 0.622227 -vt 0.315803 0.622041 -vt 0.315802 0.622041 -vt 0.316437 0.621785 -vt 0.316049 0.621568 -vt 0.316049 0.621568 -vt 0.318659 0.618599 -vt 0.316678 0.621920 -vt 0.318428 0.618447 -vt 0.318056 0.618203 -vt 0.318056 0.618203 -vt 0.318904 0.618257 -vt 0.318693 0.618077 -vt 0.318354 0.617789 -vt 0.318353 0.617789 -vt 0.319013 0.617758 -vt 0.318724 0.617420 -vt 0.318723 0.617419 -vt 0.319193 0.617968 -vt 0.319389 0.617484 -vt 0.319155 0.617105 -vt 0.319154 0.617105 -vt 0.319535 0.617719 -vt 0.319810 0.617266 -vt 0.319634 0.616856 -vt 0.319634 0.616856 -vt 0.320331 0.617378 -vt 0.319918 0.617520 -vt 0.320147 0.616680 -vt 0.320147 0.616679 -vt 0.320756 0.617299 -vt 0.320260 0.617110 -vt 0.320727 0.617024 -vt 0.320679 0.616582 -vt 0.320679 0.616581 -vt 0.321179 0.617286 -vt 0.321192 0.617010 -vt 0.321212 0.616565 -vt 0.321212 0.616564 -vt 0.321584 0.617336 -vt 0.321640 0.617066 -vt 0.321731 0.616629 -vt 0.321731 0.616629 -vt 0.322076 0.617193 -vt 0.322220 0.616773 -vt 0.322220 0.616772 -vt 0.321987 0.617456 -vt 0.325751 0.618624 -vt 0.325927 0.618216 -vt 0.325927 0.618216 -vt 0.326054 0.619073 -vt 0.325642 0.618878 -vt 0.326188 0.618831 -vt 0.326402 0.618441 -vt 0.326403 0.618440 -vt 0.326622 0.619107 -vt 0.326881 0.618744 -vt 0.326881 0.618744 -vt 0.326461 0.619331 -vt 0.327052 0.619451 -vt 0.327347 0.619118 -vt 0.327347 0.619117 -vt 0.326869 0.619658 -vt 0.327461 0.619852 -vt 0.327788 0.619550 -vt 0.327788 0.619550 -vt 0.327616 0.620464 -vt 0.327259 0.620040 -vt 0.328190 0.620027 -vt 0.328190 0.620027 -vt 0.327926 0.620915 -vt 0.327835 0.620297 -vt 0.328161 0.620769 -vt 0.328540 0.620535 -vt 0.328540 0.620535 -vt 0.328178 0.621372 -vt 0.328427 0.621252 -vt 0.328828 0.621059 -vt 0.328828 0.621059 -vt 0.328363 0.621817 -vt 0.328624 0.621727 -vt 0.329045 0.621582 -vt 0.329046 0.621582 -vt 0.328753 0.622193 -vt 0.329185 0.622089 -vt 0.329186 0.622089 -vt 0.328484 0.622257 -vt 0.329860 0.627677 -vt 0.330293 0.627570 -vt 0.330293 0.627570 -vt 0.329592 0.627743 -vt 0.330019 0.628217 -vt 0.330435 0.628054 -vt 0.330435 0.628055 -vt 0.330040 0.628884 -vt 0.329761 0.628317 -vt 0.330277 0.628741 -vt 0.330660 0.628512 -vt 0.330660 0.628512 -vt 0.330411 0.629399 -vt 0.330622 0.629218 -vt 0.330961 0.628927 -vt 0.330960 0.628928 -vt 0.330864 0.629845 -vt 0.331041 0.629632 -vt 0.331327 0.629289 -vt 0.331327 0.629289 -vt 0.331524 0.629972 -vt 0.331749 0.629586 -vt 0.331749 0.629586 -vt 0.331383 0.630210 -vt 0.332055 0.630227 -vt 0.332214 0.629809 -vt 0.332214 0.629809 -vt 0.331956 0.630485 -vt 0.332620 0.630389 -vt 0.332707 0.629951 -vt 0.332707 0.629951 -vt 0.332566 0.630661 -vt 0.333201 0.630455 -vt 0.333213 0.630008 -vt 0.333213 0.630008 -vt 0.333791 0.630697 -vt 0.333194 0.630732 -vt 0.333763 0.630421 -vt 0.333717 0.629978 -vt 0.333717 0.629978 -vt 0.378236 0.625725 -vt 0.378218 0.625449 -vt 0.378188 0.625005 -vt 0.378188 0.625005 -vt 0.378681 0.625712 -vt 0.378692 0.625435 -vt 0.378709 0.624990 -vt 0.378709 0.624990 -vt 0.379187 0.625488 -vt 0.379261 0.625049 -vt 0.379261 0.625049 -vt 0.379140 0.625761 -vt 0.379701 0.625609 -vt 0.379827 0.625182 -vt 0.379827 0.625181 -vt 0.379623 0.625874 -vt 0.380217 0.625793 -vt 0.380390 0.625383 -vt 0.380390 0.625383 -vt 0.380110 0.626048 -vt 0.380716 0.626036 -vt 0.380932 0.625647 -vt 0.380932 0.625646 -vt 0.381019 0.626553 -vt 0.380581 0.626277 -vt 0.381179 0.626328 -vt 0.381438 0.625966 -vt 0.381438 0.625965 -vt 0.381406 0.626864 -vt 0.381592 0.626659 -vt 0.381891 0.626330 -vt 0.381891 0.626329 -vt 0.381728 0.627194 -vt 0.381939 0.627015 -vt 0.382278 0.626727 -vt 0.382279 0.626727 -vt 0.382220 0.627397 -vt 0.382588 0.627146 -vt 0.382588 0.627146 -vt 0.394857 0.648067 -vt 0.381992 0.627552 -vt 0.395097 0.647931 -vt 0.395484 0.647711 -vt 0.395485 0.647711 -vt 0.395043 0.648430 -vt 0.395300 0.648326 -vt 0.395712 0.648159 -vt 0.395713 0.648158 -vt 0.395154 0.648790 -vt 0.395860 0.648639 -vt 0.395477 0.649154 -vt 0.395425 0.648732 -vt 0.395922 0.649138 -vt 0.395861 0.648639 -vt 0.395200 0.649164 -vt 0.395456 0.649578 -vt 0.395896 0.649640 -vt 0.395898 0.649640 -vt 0.395923 0.649138 -vt 0.395181 0.649540 -vt 0.395361 0.649993 -vt 0.395786 0.650130 -vt 0.395097 0.649907 -vt 0.395195 0.650384 -vt 0.395784 0.650129 -vt 0.395589 0.650592 -vt 0.394746 0.650570 -vt 0.394951 0.650254 -vt 0.394964 0.650741 -vt 0.395316 0.651014 -vt 0.395590 0.650592 -vt 0.394675 0.651052 -vt 0.394974 0.651382 -vt 0.395317 0.651015 -vt 0.394490 0.650846 -vt 0.394321 0.651320 -vt 0.394574 0.651686 -vt 0.394574 0.651686 -vt 0.394974 0.651383 -vt 0.394164 0.651092 -vn 0.0155 0.8728 0.4877 -vn -0.0022 0.8967 0.4426 -vn 0.0023 0.8967 0.4426 -vn 0.9897 0.0588 0.1308 -vn 0.9880 -0.0847 -0.1291 -vn 1.0000 0.0012 -0.0027 -vn 0.0279 -0.9991 -0.0324 -vn -0.0022 -1.0000 -0.0043 -vn 0.0023 -1.0000 -0.0043 -vn 0.0022 -0.9389 -0.3443 -vn -0.0026 -0.8660 -0.5000 -vn 0.0026 -0.8660 -0.5000 -vn -0.0024 -0.7661 -0.6428 -vn 0.0024 -0.7660 -0.6428 -vn -0.0023 -0.6428 -0.7660 -vn 0.0021 -0.6428 -0.7660 -vn -0.0021 -0.5000 -0.8660 -vn 0.0023 -0.5000 -0.8660 -vn -0.0023 -0.3420 -0.9397 -vn 0.0023 -0.3420 -0.9397 -vn -0.0026 -0.1736 -0.9848 -vn 0.0026 -0.1736 -0.9848 -vn 0.0035 -0.0013 -1.0000 -vn -0.0025 -0.1360 -0.9907 -vn 0.0025 -0.1360 -0.9907 -vn 0.0278 0.0326 -0.9991 -vn -0.0660 -0.1305 -0.9893 -vn 0.0026 -0.9844 -0.1760 -vn -0.0983 -0.9635 -0.2489 -vn 0.0027 -0.7699 -0.6382 -vn -0.0027 -0.8496 -0.5274 -vn 0.0031 -0.8495 -0.5275 -vn 0.0024 -0.2488 -0.9685 -vn -0.0022 -0.3520 -0.9360 -vn 0.0023 -0.3527 -0.9357 -vn -0.0023 -0.4438 -0.8961 -vn 0.0023 -0.4440 -0.8960 -vn -0.0019 -0.5294 -0.8484 -vn 0.0019 -0.5292 -0.8485 -vn -0.0024 -0.6116 -0.7912 -vn 0.0024 -0.6109 -0.7917 -vn -0.0024 -0.6913 -0.7225 -vn 0.0024 -0.6913 -0.7225 -vn -0.0952 -0.8268 -0.5543 -vn 0.0038 -0.7631 -0.6462 -vn -0.0022 -0.8660 -0.5000 -vn 0.0022 -0.8654 -0.5010 -vn -0.0990 -0.3409 -0.9349 -vn 0.0567 -0.7529 -0.6557 -vn -0.0558 -0.8443 -0.5330 -vn -0.0982 -0.9921 -0.0782 -vn 0.0023 -0.6781 0.7349 -vn -0.0026 -0.5388 0.8424 -vn 0.0029 -0.5389 0.8424 -vn 0.0022 -0.9426 -0.3340 -vn -0.0022 -0.9894 -0.1450 -vn 0.0022 -0.9893 -0.1456 -vn -0.0026 -0.9986 0.0523 -vn 0.0026 -0.9986 0.0521 -vn -0.0022 -0.9684 0.2493 -vn 0.0022 -0.9684 0.2495 -vn -0.0022 -0.9005 0.4348 -vn 0.0022 -0.9002 0.4354 -vn -0.0021 -0.8005 0.5993 -vn 0.0021 -0.8000 0.6000 -vn -0.0987 -0.5986 0.7950 -vn 0.0026 -0.5352 0.8447 -vn -0.0025 -0.4554 0.8903 -vn 0.0025 -0.4554 0.8903 -vn -0.0758 -0.4284 0.9004 -vn -0.0967 -0.9666 -0.2374 -vn 0.0026 -0.0205 0.9998 -vn -0.0026 0.0677 0.9977 -vn 0.0027 0.0677 0.9977 -vn 0.0024 -0.3918 0.9200 -vn -0.0023 -0.3281 0.9446 -vn 0.0023 -0.3275 0.9448 -vn -0.0020 -0.2710 0.9626 -vn 0.0020 -0.2708 0.9626 -vn -0.0023 -0.2145 0.9767 -vn 0.0023 -0.2147 0.9767 -vn -0.0023 -0.1557 0.9878 -vn 0.0023 -0.1563 0.9877 -vn -0.0023 -0.0910 0.9958 -vn 0.0023 -0.0922 0.9957 -vn -0.0954 0.0803 0.9922 -vn 0.0016 0.0625 0.9980 -vn -0.0025 -0.0664 0.9978 -vn 0.0025 -0.0663 0.9978 -vn -0.1252 0.1325 0.9833 -vn -0.0988 -0.2968 0.9498 -vn 0.0025 -0.7480 0.6637 -vn -0.0024 -0.8212 0.5706 -vn 0.0024 -0.8212 0.5706 -vn 0.0024 -0.1903 0.9817 -vn -0.0023 -0.2940 0.9558 -vn 0.0023 -0.2948 0.9556 -vn -0.0024 -0.3923 0.9198 -vn 0.0023 -0.3925 0.9197 -vn -0.0023 -0.4844 0.8748 -vn 0.0024 -0.4842 0.8750 -vn -0.0023 -0.5732 0.8194 -vn 0.0024 -0.5725 0.8199 -vn -0.0023 -0.6595 0.7517 -vn 0.0023 -0.6595 0.7517 -vn -0.1002 -0.6773 0.7289 -vn 0.0018 -0.8448 0.5351 -vn -0.0025 -0.9086 0.4176 -vn 0.0026 -0.9086 0.4176 -vn -0.1171 -0.7942 0.5963 -vn -0.0965 -0.0906 0.9912 -vn 0.0026 -0.8745 -0.4850 -vn -0.0023 -0.7958 -0.6056 -vn 0.0023 -0.7958 -0.6056 -vn 0.0024 -0.9593 0.2823 -vn -0.0023 -0.9880 0.1543 -vn 0.0024 -0.9881 0.1536 -vn -0.0022 -0.9996 0.0267 -vn 0.0022 -0.9996 0.0264 -vn -0.0024 -0.9950 -0.0996 -vn 0.0023 -0.9951 -0.0993 -vn -0.0024 -0.9741 -0.2260 -vn 0.0023 -0.9743 -0.2253 -vn -0.0023 -0.9352 -0.3541 -vn 0.0023 -0.9356 -0.3530 -vn -0.0999 -0.9126 -0.3964 -vn 0.0019 -0.7819 -0.6233 -vn -0.0024 -0.6992 -0.7149 -vn 0.0024 -0.6992 -0.7149 -vn -0.1235 -0.8189 -0.5605 -vn -0.0968 -0.9224 0.3738 -vn 0.0024 -0.0345 -0.9994 -vn -0.0023 0.0951 -0.9955 -vn 0.0023 0.0952 -0.9955 -vn 0.0024 -0.6088 -0.7933 -vn -0.0023 -0.5254 -0.8508 -vn 0.0023 -0.5247 -0.8513 -vn -0.0023 -0.4387 -0.8986 -vn 0.0023 -0.4384 -0.8988 -vn -0.0023 -0.3496 -0.9369 -vn 0.0024 -0.3499 -0.9368 -vn -0.0024 -0.2552 -0.9669 -vn 0.0023 -0.2560 -0.9667 -vn -0.0023 -0.1533 -0.9882 -vn 0.0023 -0.1533 -0.9882 -vn -0.1002 -0.1297 -0.9865 -vn 0.0021 0.1030 -0.9947 -vn -0.0023 0.1812 -0.9834 -vn 0.0023 0.1812 -0.9834 -vn -0.1177 0.0245 -0.9927 -vn -0.0964 -0.6821 -0.7249 -vn 0.0023 0.5609 -0.8279 -vn -0.0023 0.6250 -0.7806 -vn 0.0023 0.6250 -0.7806 -vn 0.0024 0.2491 -0.9685 -vn -0.0023 0.3026 -0.9531 -vn 0.0024 0.3032 -0.9529 -vn -0.0024 0.3536 -0.9354 -vn 0.0024 0.3537 -0.9353 -vn -0.0024 0.4021 -0.9156 -vn 0.0024 0.4019 -0.9157 -vn -0.0024 0.4508 -0.8926 -vn 0.0023 0.4503 -0.8929 -vn -0.0023 0.5026 -0.8645 -vn 0.0023 0.5016 -0.8651 -vn -0.0998 0.4760 -0.8738 -vn 0.0016 0.3281 -0.9446 -vn -0.0024 0.4241 -0.9056 -vn 0.0024 0.4241 -0.9056 -vn -0.0966 0.1512 -0.9838 -vn 0.0189 0.5252 -0.8508 -vn -0.1239 0.2568 -0.9585 -vn -0.0772 -0.8596 -0.5052 -vn 0.0024 0.8372 -0.5468 -vn -0.0026 0.8871 -0.4616 -vn 0.0025 0.8871 -0.4616 -vn 0.0023 0.5047 -0.8633 -vn -0.0023 0.5689 -0.8224 -vn 0.0023 0.5695 -0.8220 -vn -0.0024 0.6274 -0.7787 -vn 0.0023 0.6276 -0.7786 -vn -0.0023 0.6812 -0.7321 -vn 0.0024 0.6810 -0.7323 -vn -0.0023 0.7328 -0.6805 -vn 0.0023 0.7323 -0.6810 -vn -0.0023 0.7833 -0.6216 -vn 0.0023 0.7834 -0.6216 -vn -0.1002 0.7768 -0.6217 -vn 0.0015 0.8957 -0.4447 -vn -0.0026 0.9534 -0.3018 -vn 0.0026 0.9537 -0.3008 -vn -0.1304 0.8570 -0.4986 -vn -0.0965 0.4149 -0.9048 -vn 0.0026 0.7196 0.6943 -vn -0.0023 0.6043 0.7968 -vn 0.0022 0.6043 0.7968 -vn 0.0024 0.9895 -0.1442 -vn -0.0023 1.0000 0.0058 -vn 0.0023 1.0000 0.0063 -vn -0.0023 0.9880 0.1546 -vn 0.0022 0.9880 0.1547 -vn -0.0022 0.9544 0.2987 -vn 0.0023 0.9544 0.2985 -vn -0.0023 0.8993 0.4373 -vn 0.0024 0.8995 0.4369 -vn -0.0023 0.8221 0.5694 -vn 0.0023 0.8225 0.5688 -vn -0.0993 0.7804 0.6173 -vn 0.0018 0.5881 0.8088 -vn -0.0025 0.4836 0.8753 -vn 0.0025 0.4836 0.8753 -vn -0.1245 0.6395 0.7586 -vn -0.0973 0.9659 -0.2398 -vn 0.0024 -0.2267 0.9740 -vn -0.0020 -0.3476 0.9376 -vn 0.0026 -0.3474 0.9377 -vn 0.0024 0.3764 0.9264 -vn -0.0023 0.2816 0.9595 -vn 0.0023 0.2808 0.9598 -vn -0.0023 0.1862 0.9825 -vn 0.0023 0.1860 0.9826 -vn -0.0023 0.0911 0.9958 -vn 0.0023 0.0914 0.9958 -vn -0.0024 -0.0069 1.0000 -vn 0.0023 -0.0061 1.0000 -vn -0.0023 -0.1100 0.9939 -vn 0.0023 -0.1100 0.9939 -vn -0.1003 -0.1315 0.9862 -vn 0.0032 -0.3488 0.9372 -vn -0.0026 -0.1874 0.9823 -vn 0.0026 -0.1870 0.9824 -vn -0.0618 -0.2202 0.9735 -vn -0.0964 0.4652 0.8799 -vn 0.0026 0.8314 0.5557 -vn -0.0026 0.9141 0.4054 -vn 0.0031 0.9141 0.4056 -vn 0.0023 -0.0212 0.9998 -vn -0.0023 0.1483 0.9889 -vn 0.0022 0.1485 0.9889 -vn -0.0023 0.3098 0.9508 -vn 0.0023 0.3098 0.9508 -vn -0.0016 0.4622 0.8868 -vn 0.0016 0.4622 0.8868 -vn -0.0023 0.6025 0.7981 -vn 0.0022 0.6024 0.7982 -vn -0.0022 0.7272 0.6865 -vn 0.0023 0.7270 0.6867 -vn -0.0973 0.8782 0.4683 -vn -0.0025 0.8247 0.5656 -vn 0.0025 0.8247 0.5656 -vn -0.0979 0.0781 0.9921 -vn -0.1012 0.3938 -0.9136 -vn -0.0021 0.9019 0.4320 -vn 0.0027 0.9019 0.4320 -vn 0.0025 0.1429 0.9897 -vn -0.0026 0.0016 1.0000 -vn 0.0026 0.0016 1.0000 -vn 0.0024 0.7434 0.6689 -vn -0.0023 0.6626 0.7490 -vn 0.0024 0.6620 0.7495 -vn -0.0024 0.5750 0.8182 -vn 0.0023 0.5748 0.8183 -vn -0.0023 0.4821 0.8761 -vn 0.0024 0.4823 0.8760 -vn -0.0024 0.3815 0.9244 -vn 0.0024 0.3822 0.9241 -vn -0.0023 0.2713 0.9625 -vn 0.0023 0.2712 0.9625 -vn -0.1001 0.2362 0.9665 -vn 0.0013 -0.0040 1.0000 -vn -0.0026 -0.1737 0.9848 -vn 0.0026 -0.1736 0.9848 -vn -0.1395 0.0522 0.9888 -vn -0.0965 0.8029 0.5883 -vn 0.0024 -0.9852 0.1713 -vn -0.0587 -0.9886 0.1387 -vn 0.0021 -0.3443 0.9389 -vn -0.0021 -0.5000 0.8660 -vn 0.0023 -0.5000 0.8660 -vn -0.0024 -0.6428 0.7660 -vn 0.0024 -0.6428 0.7660 -vn -0.0026 -0.7660 0.6428 -vn 0.0023 -0.7660 0.6428 -vn -0.0023 -0.8660 0.5000 -vn 0.0026 -0.8660 0.5000 -vn -0.0023 -0.9397 0.3420 -vn 0.0023 -0.9397 0.3420 -vn -0.0982 -0.9589 0.2661 -vn -0.9928 0.1048 -0.0574 -vn -1.0000 0.0009 -0.0025 -vn -0.9896 -0.1315 0.0589 -vn -0.0982 -0.2490 0.9635 -vn -0.0586 -0.1389 -0.9886 -vn 1.0000 0.0003 0.0017 -vn 0.9239 0.3421 0.1712 -vn 0.9808 0.1739 0.0883 -vn 0.9239 0.3451 0.1653 -vn 0.7071 0.6322 0.3166 -vn 0.7072 0.6377 0.3054 -vn 0.3827 0.8260 0.4139 -vn 0.3827 0.8332 0.3991 -vn 0.3807 -0.9107 -0.1603 -vn 0.3825 -0.9239 -0.0045 -vn 0.7039 -0.6996 -0.1228 -vn 0.7069 -0.7073 -0.0032 -vn 0.9210 -0.3839 -0.0670 -vn 0.9237 -0.3832 -0.0015 -vn 0.9788 -0.2041 -0.0178 -vn 0.9895 -0.1000 -0.1048 -vn 0.7030 -0.6683 -0.2432 -vn 0.9203 -0.3676 -0.1337 -vn 0.3806 -0.8009 -0.4624 -vn 0.3800 -0.8694 -0.3159 -vn 0.9205 -0.3384 -0.1954 -vn 0.9884 -0.0695 -0.1349 -vn 0.3806 -0.7082 -0.5947 -vn 0.7030 -0.6162 -0.3551 -vn 0.9205 -0.2993 -0.2511 -vn 0.9788 -0.1676 -0.1173 -vn 0.9885 -0.0452 -0.1443 -vn 0.7030 -0.4572 -0.5448 -vn 0.7029 -0.5448 -0.4572 -vn 0.9205 -0.2511 -0.2993 -vn 0.3805 -0.4624 -0.8009 -vn 0.3801 -0.5946 -0.7086 -vn 0.7032 -0.3553 -0.6159 -vn 0.9788 -0.1175 -0.1677 -vn 0.9885 0.0068 -0.1511 -vn 0.3805 -0.3163 -0.8690 -vn 0.7032 -0.2430 -0.6682 -vn 0.9205 -0.1950 -0.3385 -vn 0.9205 -0.1336 -0.3671 -vn 0.3810 -0.1603 -0.9106 -vn 0.7040 -0.1227 -0.6995 -vn 0.9207 -0.0665 -0.3845 -vn 0.9885 0.0584 -0.1398 -vn 0.3658 -0.0085 -0.9307 -vn 0.6964 -0.0058 -0.7176 -vn 0.9202 -0.0019 -0.3914 -vn 0.9884 0.0823 -0.1277 -vn 0.3820 -0.0041 -0.9241 -vn 0.7069 -0.0032 -0.7073 -vn 0.9239 -0.0017 -0.3827 -vn 0.9893 0.0968 -0.1088 -vn 0.3862 -0.1257 -0.9138 -vn 0.7111 -0.0963 -0.6965 -vn 0.9261 -0.0524 -0.3735 -vn 0.9909 0.0950 -0.0953 -vn 0.3851 -0.2321 -0.8932 -vn 0.7102 -0.1769 -0.6814 -vn 0.9258 -0.0950 -0.3659 -vn 0.9814 -0.0374 -0.1882 -vn 0.9913 0.0861 -0.0997 -vn 0.3848 -0.3255 -0.8637 -vn 0.7098 -0.2484 -0.6591 -vn 0.9256 -0.1335 -0.3542 -vn 0.9813 -0.0582 -0.1833 -vn 0.3848 -0.4098 -0.8271 -vn 0.7096 -0.3128 -0.6313 -vn 0.9255 -0.1682 -0.3394 -vn 0.9813 -0.0767 -0.1765 -vn 0.3846 -0.4885 -0.7832 -vn 0.7097 -0.3728 -0.5978 -vn 0.9255 -0.2009 -0.3210 -vn 0.3847 -0.5642 -0.7306 -vn 0.7098 -0.4308 -0.5573 -vn 0.9256 -0.2318 -0.2992 -vn 0.9911 0.0363 -0.1283 -vn 0.3846 -0.6385 -0.6666 -vn 0.7100 -0.4873 -0.5083 -vn 0.9258 -0.2619 -0.2725 -vn 0.9911 0.0235 -0.1310 -vn 0.3846 -0.7126 -0.5868 -vn 0.7101 -0.5438 -0.4473 -vn 0.9258 -0.2922 -0.2396 -vn 0.9912 0.0099 -0.1322 -vn 0.3828 -0.7847 -0.4876 -vn 0.7072 -0.6005 -0.3732 -vn 0.9239 -0.3249 -0.2019 -vn 0.9811 -0.1570 -0.1132 -vn 0.9912 -0.0045 -0.1321 -vn 0.3835 -0.7363 -0.5576 -vn 0.7079 -0.5630 -0.4264 -vn 0.9242 -0.3046 -0.2306 -vn 0.9794 -0.1720 -0.1063 -vn 0.3824 -0.7070 -0.5950 -vn 0.7070 -0.5411 -0.4553 -vn 0.9239 -0.2928 -0.2464 -vn 0.3872 -0.7984 -0.4611 -vn 0.7129 -0.6077 -0.3499 -vn 0.9273 -0.3249 -0.1857 -vn 0.9910 -0.0114 -0.1333 -vn 0.3878 -0.8694 -0.3062 -vn 0.7136 -0.6609 -0.2324 -vn 0.9277 -0.3523 -0.1231 -vn 0.9917 -0.0222 -0.1269 -vn 0.3879 -0.9119 -0.1340 -vn 0.7141 -0.6927 -0.1013 -vn 0.9279 -0.3689 -0.0532 -vn 0.9917 -0.0446 -0.1203 -vn 0.3884 -0.9203 0.0482 -vn 0.7143 -0.6989 0.0370 -vn 0.9281 -0.3719 0.0204 -vn 0.9918 -0.0663 -0.1093 -vn 0.3884 -0.8923 0.2299 -vn 0.9280 -0.3609 0.0930 -vn 0.9918 -0.0862 -0.0941 -vn 0.3882 -0.8297 0.4011 -vn 0.7139 -0.6304 0.3048 -vn 0.7148 -0.6775 0.1731 -vn 0.9279 -0.3357 0.1623 -vn 0.9821 -0.1771 0.0643 -vn 0.9919 -0.1031 -0.0747 -vn 0.3879 -0.7374 0.5530 -vn 0.7136 -0.5605 0.4202 -vn 0.9277 -0.2987 0.2239 -vn 0.9820 -0.1614 0.0977 -vn 0.3871 -0.6231 0.6796 -vn 0.7127 -0.4744 0.5167 -vn 0.9272 -0.2536 0.2758 -vn 0.9820 -0.1404 0.1267 -vn 0.3829 -0.4982 0.7779 -vn 0.7075 -0.3812 0.5951 -vn 0.9241 -0.2061 0.3218 -vn 0.9812 -0.1172 0.1532 -vn 0.3828 -0.4921 0.7818 -vn 0.7073 -0.3765 0.5983 -vn 0.9240 -0.2036 0.3236 -vn 0.9808 -0.1045 0.1649 -vn 0.3851 -0.4202 0.8217 -vn 0.7097 -0.3206 0.6274 -vn 0.9253 -0.1721 0.3378 -vn 0.3840 -0.3581 0.8511 -vn 0.7088 -0.2736 0.6502 -vn 0.9251 -0.1474 0.3501 -vn 0.9908 -0.1308 0.0349 -vn 0.3838 -0.3024 0.8725 -vn 0.7086 -0.2312 0.6666 -vn 0.9248 -0.1246 0.3594 -vn 0.3837 -0.2501 0.8890 -vn 0.7084 -0.1912 0.6794 -vn 0.9247 -0.1031 0.3664 -vn 0.9810 -0.0581 0.1851 -vn 0.7085 -0.1515 0.6892 -vn 0.9810 -0.0472 0.1881 -vn 0.3841 -0.1981 0.9018 -vn 0.3838 -0.1440 0.9121 -vn 0.7085 -0.1099 0.6971 -vn 0.9252 -0.0826 0.3703 -vn 0.9248 -0.0590 0.3758 -vn 0.3836 -0.0849 0.9196 -vn 0.7086 -0.0646 0.7027 -vn 0.9250 -0.0345 0.3784 -vn 0.9908 -0.1122 0.0760 -vn 0.3834 -0.0161 0.9234 -vn 0.7087 -0.0119 0.7054 -vn 0.9251 -0.0060 0.3797 -vn 0.9909 -0.1066 0.0826 -vn 0.3829 0.0623 0.9217 -vn 0.7073 0.0477 0.7053 -vn 0.9240 0.0257 0.3815 -vn 0.9809 0.0049 0.1947 -vn 0.9909 -0.1003 0.0894 -vn 0.3825 0.0598 0.9220 -vn 0.7068 0.0460 0.7059 -vn 0.9237 0.0250 0.3824 -vn 0.9799 0.0147 0.1989 -vn 0.3813 -0.0613 0.9224 -vn 0.7048 -0.0469 0.7078 -vn 0.9219 -0.0256 0.3865 -vn 0.9792 0.0003 0.2027 -vn 0.3806 -0.1735 0.9083 -vn 0.7043 -0.1334 0.6973 -vn 0.9217 -0.0732 0.3809 -vn 0.3810 -0.2728 0.8834 -vn 0.7048 -0.2097 0.6778 -vn 0.9220 -0.1146 0.3698 -vn 0.9891 -0.1193 0.0860 -vn 0.3814 -0.3632 0.8501 -vn 0.7049 -0.2788 0.6522 -vn 0.9221 -0.1523 0.3557 -vn 0.9892 -0.1277 0.0716 -vn 0.3813 -0.4477 0.8088 -vn 0.7049 -0.3435 0.6206 -vn 0.9796 -0.0882 0.1804 -vn 0.9893 -0.1340 0.0577 -vn 0.3813 -0.5294 0.7579 -vn 0.7049 -0.4061 0.5815 -vn 0.9221 -0.2216 0.3173 -vn 0.9217 -0.1868 0.3399 -vn 0.9796 -0.1062 0.1706 -vn 0.3811 -0.6097 0.6950 -vn 0.7048 -0.4678 0.5334 -vn 0.9219 -0.2553 0.2913 -vn 0.9795 -0.1241 0.1586 -vn 0.3813 -0.6899 0.6154 -vn 0.7049 -0.5294 0.4721 -vn 0.9220 -0.2891 0.2577 -vn 0.9792 -0.1424 0.1442 -vn 0.3748 -0.7605 0.5302 -vn 0.7015 -0.5849 0.4073 -vn 0.9216 -0.3189 0.2213 -vn 0.3819 -0.7795 0.4965 -vn 0.7060 -0.5972 0.3807 -vn 0.9230 -0.3244 0.2070 -vn 0.9799 -0.1659 0.1106 -vn 0.9896 -0.1422 -0.0207 -vn 0.3812 -0.8400 0.3862 -vn 0.7044 -0.6447 0.2968 -vn 0.9216 -0.3526 0.1624 -vn 0.9791 -0.1779 0.0990 -vn 0.3804 -0.8869 0.2621 -vn 0.7039 -0.6813 0.2011 -vn 0.9212 -0.3731 0.1101 -vn 0.3807 -0.9137 0.1420 -vn 0.7041 -0.7017 0.1088 -vn 0.9215 -0.3838 0.0592 -vn 0.9889 -0.1330 -0.0666 -vn 0.3810 -0.9243 0.0242 -vn 0.7045 -0.7095 0.0182 -vn 0.9216 -0.3880 0.0098 -vn 0.9890 -0.1223 -0.0838 -vn 0.3811 -0.9200 -0.0918 -vn 0.9217 -0.3859 -0.0385 -vn 0.9890 -0.1102 -0.0987 -vn 0.3811 -0.9008 -0.2083 -vn 0.7045 -0.6915 -0.1598 -vn 0.7037 -0.7070 -0.0698 -vn 0.9216 -0.3782 -0.0875 -vn 0.9793 -0.1995 -0.0328 -vn 0.9890 -0.0969 -0.1116 -vn 0.3810 -0.8651 -0.3262 -vn 0.7042 -0.6643 -0.2506 -vn 0.9214 -0.3637 -0.1372 -vn 0.9793 -0.1939 -0.0585 -vn 0.3812 -0.8095 -0.4465 -vn 0.7046 -0.6213 -0.3428 -vn 0.9216 -0.3398 -0.1876 -vn 0.9791 -0.1850 -0.0850 -vn 0.3699 -0.7412 -0.5602 -vn 0.6988 -0.5703 -0.4318 -vn 0.9209 -0.3102 -0.2361 -vn 0.3841 -0.7233 -0.5739 -vn 0.7077 -0.5535 -0.4392 -vn 0.9238 -0.2999 -0.2380 -vn 0.9895 -0.0261 -0.1422 -vn 0.3814 -0.6464 -0.6609 -vn 0.7049 -0.4960 -0.5070 -vn 0.9220 -0.2707 -0.2767 -vn 0.9793 -0.1506 -0.1352 -vn 0.9896 -0.0148 -0.1432 -vn 0.3807 -0.5649 -0.7321 -vn 0.7044 -0.4334 -0.5621 -vn 0.9218 -0.2366 -0.3070 -vn 0.3810 -0.4851 -0.7871 -vn 0.7049 -0.3718 -0.6040 -vn 0.9221 -0.2026 -0.3296 -vn 0.9892 0.0148 -0.1459 -vn 0.3813 -0.4051 -0.8309 -vn 0.7052 -0.3104 -0.6374 -vn 0.9223 -0.1689 -0.3476 -vn 0.9893 0.0303 -0.1428 -vn 0.3816 -0.3234 -0.8659 -vn 0.7051 -0.2481 -0.6643 -vn 0.9224 -0.1352 -0.3618 -vn 0.9893 0.0443 -0.1387 -vn 0.3813 -0.2366 -0.8937 -vn 0.7050 -0.1816 -0.6855 -vn 0.9223 -0.0990 -0.3737 -vn 0.9797 -0.0610 -0.1912 -vn 0.9893 0.0574 -0.1338 -vn 0.3812 -0.1417 -0.9136 -vn 0.7048 -0.1088 -0.7010 -vn 0.9220 -0.0595 -0.3825 -vn 0.9796 -0.0414 -0.1968 -vn 0.3814 -0.0342 -0.9238 -vn 0.7050 -0.0262 -0.7088 -vn 0.9221 -0.0142 -0.3868 -vn 0.9793 -0.0197 -0.2014 -vn 0.3695 0.0851 -0.9253 -vn 0.6988 0.0660 -0.7122 -vn 0.9211 0.0368 -0.3875 -vn 0.3830 0.0929 -0.9191 -vn 0.7072 0.0712 -0.7034 -vn 0.9238 0.0385 -0.3808 -vn 0.9896 0.1068 -0.0966 -vn 0.3818 0.1675 -0.9090 -vn 0.7058 0.1284 -0.6967 -vn 0.9228 0.0698 -0.3788 -vn 0.9797 0.0285 -0.1983 -vn 0.3814 0.2285 -0.8957 -vn 0.7055 0.1753 -0.6867 -vn 0.9228 0.0956 -0.3733 -vn 0.3817 0.2804 -0.8807 -vn 0.7058 0.2149 -0.6750 -vn 0.9231 0.1171 -0.3664 -vn 0.9896 0.1229 -0.0745 -vn 0.3821 0.3271 -0.8643 -vn 0.7060 0.2508 -0.6624 -vn 0.9231 0.1364 -0.3597 -vn 0.9897 0.1267 -0.0667 -vn 0.7062 0.2845 -0.6483 -vn 0.9800 0.0752 -0.1842 -vn 0.9897 0.1305 -0.0594 -vn 0.3820 0.4161 -0.8252 -vn 0.3815 0.3714 -0.8465 -vn 0.7059 0.3191 -0.6324 -vn 0.9230 0.1732 -0.3435 -vn 0.9228 0.1543 -0.3532 -vn 0.9800 0.0848 -0.1803 -vn 0.3818 0.4636 -0.7996 -vn 0.7058 0.3553 -0.6129 -vn 0.9229 0.1930 -0.3331 -vn 0.9799 0.0949 -0.1756 -vn 0.3819 0.5164 -0.7665 -vn 0.7057 0.3961 -0.5875 -vn 0.9227 0.2155 -0.3196 -vn 0.9797 0.1060 -0.1700 -vn 0.3746 0.5779 -0.7250 -vn 0.7022 0.4441 -0.5565 -vn 0.9224 0.2416 -0.3015 -vn 0.3881 0.4421 -0.8086 -vn 0.7130 0.3362 -0.6154 -vn 0.9262 0.1805 -0.3310 -vn 0.9899 0.1407 -0.0195 -vn 0.3827 0.3011 -0.8734 -vn 0.7072 0.2304 -0.6684 -vn 0.9239 0.1247 -0.3617 -vn 0.9800 0.0644 -0.1881 -vn 0.9929 0.1180 -0.0135 -vn 0.3816 0.3919 -0.8372 -vn 0.7054 0.3006 -0.6419 -vn 0.9225 0.1637 -0.3496 -vn 0.9796 0.0758 -0.1861 -vn 0.3810 0.4654 -0.7989 -vn 0.7050 0.3572 -0.6127 -vn 0.9224 0.1948 -0.3335 -vn 0.3814 0.5264 -0.7599 -vn 0.7054 0.4039 -0.5825 -vn 0.9226 0.2200 -0.3168 -vn 0.9895 0.1390 -0.0397 -vn 0.3815 0.5801 -0.7196 -vn 0.7056 0.4449 -0.5515 -vn 0.9228 0.2422 -0.2996 -vn 0.9895 0.1417 -0.0278 -vn 0.3819 0.6295 -0.6766 -vn 0.9229 0.2623 -0.2820 -vn 0.9798 0.1309 -0.1512 -vn 0.9895 0.1434 -0.0170 -vn 0.3818 0.6768 -0.6295 -vn 0.7056 0.5189 -0.4826 -vn 0.7050 0.4825 -0.5198 -vn 0.9227 0.2822 -0.2625 -vn 0.9798 0.1412 -0.1414 -vn 0.3816 0.7240 -0.5746 -vn 0.7054 0.5552 -0.4406 -vn 0.9225 0.3023 -0.2399 -vn 0.9799 0.1513 -0.1303 -vn 0.3816 0.7725 -0.5075 -vn 0.7054 0.5925 -0.3891 -vn 0.9224 0.3229 -0.2119 -vn 0.9796 0.1626 -0.1181 -vn 0.3736 0.8219 -0.4299 -vn 0.7013 0.6319 -0.3300 -vn 0.9219 0.3438 -0.1789 -vn 0.3824 0.8267 -0.4128 -vn 0.7066 0.6330 -0.3163 -vn 0.9235 0.3431 -0.1717 -vn 0.9799 0.1777 -0.0908 -vn 0.9898 0.1375 0.0385 -vn 0.3812 0.8817 -0.2782 -vn 0.7042 0.6770 -0.2140 -vn 0.9213 0.3708 -0.1174 -vn 0.9789 0.1890 -0.0773 -vn 0.3803 0.9150 -0.1346 -vn 0.7035 0.7031 -0.1034 -vn 0.9208 0.3858 -0.0567 -vn 0.3806 0.9247 0.0063 -vn 0.7037 0.7105 0.0048 -vn 0.9210 0.3896 0.0026 -vn 0.9887 0.1237 0.0850 -vn 0.3808 0.9135 0.1434 -vn 0.7038 0.7018 0.1102 -vn 0.9210 0.3850 0.0602 -vn 0.9887 0.1089 0.1028 -vn 0.3809 0.8825 0.2761 -vn 0.7039 0.6778 0.2124 -vn 0.9791 0.1979 0.0462 -vn 0.9888 0.0922 0.1176 -vn 0.3808 0.8318 0.4040 -vn 0.7039 0.6389 0.3103 -vn 0.9211 0.3502 0.1700 -vn 0.9210 0.3720 0.1160 -vn 0.9791 0.1889 0.0749 -vn 0.3806 0.7605 0.5260 -vn 0.7037 0.5844 0.4040 -vn 0.9209 0.3206 0.2215 -vn 0.9791 0.1757 0.1025 -vn 0.3810 0.6674 0.6398 -vn 0.7043 0.5123 0.4914 -vn 0.9213 0.2805 0.2694 -vn 0.9789 0.1584 0.1290 -vn 0.3684 0.5646 0.7386 -vn 0.6978 0.4345 0.5694 -vn 0.9206 0.2360 0.3111 -vn 0.3840 0.5448 0.7455 -vn 0.7076 0.4169 0.5705 -vn 0.9238 0.2259 0.3092 -vn 0.9895 -0.0123 0.1442 -vn 0.3814 0.4471 0.8091 -vn 0.7049 0.3430 0.6208 -vn 0.9221 0.1872 0.3388 -vn 0.9793 0.1091 0.1704 -vn 0.9897 -0.0236 0.1415 -vn 0.3806 0.3503 0.8558 -vn 0.7044 0.2687 0.6569 -vn 0.9219 0.1464 0.3587 -vn 0.3811 0.2594 0.8874 -vn 0.7049 0.1988 0.6809 -vn 0.9222 0.1081 0.3714 -vn 0.9892 -0.0530 0.1366 -vn 0.3815 0.1716 0.9083 -vn 0.7051 0.1314 0.6968 -vn 0.9223 0.0713 0.3799 -vn 0.9893 -0.0670 0.1296 -vn 0.3809 0.0843 0.9208 -vn 0.7051 0.0648 0.7062 -vn 0.9797 0.0278 0.1984 -vn 0.9894 -0.0792 0.1220 -vn 0.3814 -0.0056 0.9244 -vn 0.7051 -0.0043 0.7091 -vn 0.9223 -0.0023 0.3865 -vn 0.9218 0.0366 0.3858 -vn 0.9797 0.0087 0.2004 -vn 0.3813 -0.1017 0.9188 -vn 0.7049 -0.0779 0.7050 -vn 0.9221 -0.0424 0.3847 -vn 0.9796 -0.0115 0.2006 -vn 0.3814 -0.2073 0.9009 -vn 0.7050 -0.1591 0.6911 -vn 0.9221 -0.0868 0.3771 -vn 0.9793 -0.0335 0.1995 -vn 0.3706 -0.3201 0.8719 -vn 0.6996 -0.2469 0.6706 -vn 0.9213 -0.1352 0.3645 -vn 0.3816 -0.3195 0.8674 -vn 0.7067 -0.2443 0.6640 -vn 0.9239 -0.1319 0.3592 -vn 0.9895 -0.1290 0.0653 -vn 0.3870 -0.1718 0.9059 -vn 0.7126 -0.1299 0.6894 -vn 0.9271 -0.0685 0.3685 -vn 0.9910 -0.1219 0.0553 -vn 0.3869 -0.0170 0.9220 -vn 0.7126 -0.0129 0.7014 -vn 0.9271 -0.0069 0.3747 -vn 0.9819 -0.0200 0.1885 -vn 0.9916 -0.1127 0.0636 -vn 0.3870 0.1369 0.9119 -vn 0.7125 0.1042 0.6939 -vn 0.9271 0.0557 0.3708 -vn 0.9819 0.0119 0.1893 -vn 0.3869 0.2857 0.8768 -vn 0.7124 0.2174 0.6672 -vn 0.9271 0.1162 0.3564 -vn 0.9818 0.0432 0.1849 -vn 0.3866 0.4262 0.8178 -vn 0.7124 0.3244 0.6223 -vn 0.9271 0.1740 0.3319 -vn 0.3868 0.5558 0.7359 -vn 0.7125 0.4232 0.5597 -vn 0.9272 0.2264 0.2985 -vn 0.9916 -0.0486 0.1201 -vn 0.3869 0.6706 0.6330 -vn 0.7127 0.5104 0.4812 -vn 0.9272 0.2730 0.2566 -vn 0.9916 -0.0282 0.1265 -vn 0.3866 0.7679 0.5107 -vn 0.7121 0.5848 0.3885 -vn 0.9269 0.3130 0.2071 -vn 0.9916 -0.0069 0.1294 -vn 0.3828 0.8443 0.3750 -vn 0.7073 0.6460 0.2870 -vn 0.9240 0.3494 0.1553 -vn 0.9813 0.1688 0.0927 -vn 0.9916 0.0147 0.1287 -vn 0.3826 0.8283 0.4092 -vn 0.7070 0.6341 0.3131 -vn 0.9238 0.3434 0.1696 -vn 0.9799 0.1791 0.0877 -vn 0.3813 0.7624 0.5228 -vn 0.7048 0.5852 0.4011 -vn 0.9218 0.3198 0.2191 -vn 0.9792 0.1750 0.1027 -vn 0.3805 0.6891 0.6167 -vn 0.7042 0.5289 0.4737 -vn 0.9216 0.2889 0.2592 -vn 0.3809 0.6117 0.6933 -vn 0.7046 0.4694 0.5322 -vn 0.9218 0.2562 0.2908 -vn 0.9891 0.0126 0.1470 -vn 0.3811 0.5313 0.7566 -vn 0.7048 0.4073 0.5808 -vn 0.9221 0.2219 0.3171 -vn 0.9891 -0.0052 0.1468 -vn 0.3815 0.4459 0.8097 -vn 0.7050 0.3416 0.6215 -vn 0.9220 0.1862 0.3393 -vn 0.9892 -0.0217 0.1451 -vn 0.3813 0.3533 0.8543 -vn 0.7048 0.2712 0.6555 -vn 0.9220 0.1480 0.3577 -vn 0.9795 0.0873 0.1815 -vn 0.9892 -0.0372 0.1417 -vn 0.3811 0.2508 0.8899 -vn 0.7046 0.1927 0.6829 -vn 0.9218 0.1053 0.3732 -vn 0.9794 0.0662 0.1905 -vn 0.3813 0.1344 0.9146 -vn 0.7048 0.1030 0.7018 -vn 0.9218 0.0562 0.3835 -vn 0.9792 0.0428 0.1984 -vn 0.3677 0.0052 0.9299 -vn 0.6977 0.0035 0.7163 -vn 0.9208 0.0009 0.3900 -vn 0.3826 -0.0018 0.9239 -vn 0.7070 -0.0014 0.7072 -vn 0.9238 -0.0007 0.3829 -vn 0.9797 -0.0000 0.2006 -vn 0.9895 -0.0967 0.1073 -vn 0.3809 -0.1603 0.9106 -vn 0.7039 -0.1228 0.6996 -vn 0.9210 -0.0670 0.3838 -vn 0.9788 -0.0178 0.2039 -vn 0.3804 -0.3165 0.8690 -vn 0.9205 -0.1336 0.3671 -vn 0.9788 -0.0530 0.1979 -vn 0.3805 -0.4624 0.8009 -vn 0.7033 -0.3554 0.6156 -vn 0.7029 -0.2428 0.6685 -vn 0.9204 -0.1953 0.3387 -vn 0.3800 -0.5946 0.7086 -vn 0.7030 -0.4572 0.5448 -vn 0.9205 -0.2511 0.2993 -vn 0.9885 -0.1445 0.0452 -vn 0.3804 -0.7085 0.5945 -vn 0.9203 -0.2996 0.2514 -vn 0.9884 -0.1506 0.0191 -vn 0.3805 -0.8009 0.4624 -vn 0.7030 -0.6159 0.3556 -vn 0.7029 -0.5448 0.4572 -vn 0.9205 -0.3384 0.1954 -vn 0.9885 -0.1512 -0.0070 -vn 0.7032 -0.6681 0.2432 -vn 0.9205 -0.3671 0.1336 -vn 0.9788 -0.1854 0.0865 -vn 0.9885 -0.1478 -0.0332 -vn 0.3800 -0.8690 0.3168 -vn 0.7040 -0.6995 0.1227 -vn 0.9207 -0.3845 0.0666 -vn 0.3803 -0.9107 0.1616 -vn 0.3655 -0.9308 0.0082 -vn 0.6963 -0.7177 0.0059 -vn 0.9202 -0.3915 0.0022 -vn 0.9884 -0.1276 -0.0823 -vn 0.9894 -0.1088 -0.0961 -vn -0.1916 0.8788 0.4370 -vn -0.3828 0.8332 0.3991 -vn -0.3827 0.8260 0.4138 -vn -0.7072 0.6377 0.3054 -vn -0.7071 0.6322 0.3166 -vn -0.9239 0.3451 0.1653 -vn -0.9240 0.3421 0.1712 -vn -0.9803 0.1760 0.0892 -vn -0.9905 0.1303 -0.0450 -vn -0.9982 -0.0262 0.0539 -vn -0.9237 -0.3832 -0.0015 -vn -0.9799 -0.1989 -0.0174 -vn -0.9207 -0.3845 -0.0668 -vn -0.7069 -0.7073 -0.0033 -vn -0.7036 -0.7000 -0.1222 -vn -0.3825 -0.9239 -0.0043 -vn -0.3807 -0.9108 -0.1599 -vn -0.9205 -0.3671 -0.1336 -vn -0.7030 -0.6683 -0.2432 -vn -0.9797 -0.1989 -0.0258 -vn -0.9205 -0.3383 -0.1953 -vn -0.3804 -0.8009 -0.4624 -vn -0.3800 -0.8690 -0.3169 -vn -0.9981 -0.0521 0.0337 -vn -0.9790 -0.1672 -0.1170 -vn -0.9204 -0.2994 -0.2514 -vn -0.7030 -0.6159 -0.3556 -vn -0.3800 -0.7086 -0.5946 -vn -0.9205 -0.2511 -0.2993 -vn -0.7030 -0.5448 -0.4572 -vn -0.7030 -0.4571 -0.5448 -vn -0.9981 -0.0604 0.0133 -vn -0.9789 -0.1171 -0.1673 -vn -0.9205 -0.1953 -0.3383 -vn -0.3801 -0.4625 -0.8010 -vn -0.3801 -0.5942 -0.7088 -vn -0.9981 -0.0620 0.0034 -vn -0.7030 -0.2432 -0.6683 -vn -0.7030 -0.3556 -0.6159 -vn -0.3805 -0.3163 -0.8690 -vn -0.9210 -0.0670 -0.3839 -vn -0.9205 -0.1336 -0.3671 -vn -0.7040 -0.1227 -0.6995 -vn -0.3807 -0.1607 -0.9106 -vn -0.9796 -0.0752 -0.1864 -vn -0.9237 -0.0016 -0.3830 -vn -0.7070 -0.0032 -0.7072 -vn -0.3826 -0.0043 -0.9239 -vn -0.9797 -0.0031 -0.2007 -vn -0.9240 -0.0016 -0.3824 -vn -0.7073 -0.0031 -0.7069 -vn -0.3828 -0.0040 -0.9238 -vn -0.9824 -0.0554 -0.1784 -vn -0.9259 -0.0515 -0.3742 -vn -0.7104 -0.0958 -0.6972 -vn -0.3852 -0.1256 -0.9143 -vn -0.9992 -0.0396 0.0060 -vn -0.9815 -0.0378 -0.1877 -vn -0.9259 -0.0942 -0.3659 -vn -0.7100 -0.1764 -0.6817 -vn -0.3846 -0.2318 -0.8935 -vn -0.9992 -0.0376 0.0101 -vn -0.9256 -0.1327 -0.3545 -vn -0.7098 -0.2479 -0.6593 -vn -0.3846 -0.3252 -0.8639 -vn -0.9993 -0.0356 0.0134 -vn -0.9255 -0.1675 -0.3397 -vn -0.7096 -0.3123 -0.6316 -vn -0.3846 -0.4096 -0.8272 -vn -0.9255 -0.2005 -0.3214 -vn -0.7097 -0.3728 -0.5978 -vn -0.3847 -0.4882 -0.7833 -vn -0.9824 -0.1355 -0.1290 -vn -0.9256 -0.2313 -0.2997 -vn -0.7099 -0.4304 -0.5575 -vn -0.3849 -0.5639 -0.7307 -vn -0.9824 -0.1481 -0.1135 -vn -0.9258 -0.2614 -0.2729 -vn -0.7102 -0.4868 -0.5086 -vn -0.3850 -0.6381 -0.6668 -vn -0.9826 -0.1598 -0.0948 -vn -0.9259 -0.2914 -0.2404 -vn -0.7104 -0.5429 -0.4478 -vn -0.3852 -0.7120 -0.5871 -vn -0.9991 -0.0295 0.0321 -vn -0.9814 -0.1561 -0.1120 -vn -0.9220 -0.3272 -0.2071 -vn -0.7000 -0.6043 -0.3805 -vn -0.3701 -0.7868 -0.4940 -vn -1.0000 -0.0019 0.0010 -vn -0.9242 -0.3046 -0.2304 -vn -0.7081 -0.5630 -0.4261 -vn -0.3838 -0.7362 -0.5574 -vn -0.9239 -0.2927 -0.2463 -vn -0.7073 -0.5409 -0.4552 -vn -0.3828 -0.7068 -0.5949 -vn -0.9826 -0.1727 -0.0689 -vn -0.9272 -0.3245 -0.1871 -vn -0.7127 -0.6075 -0.3508 -vn -0.3870 -0.7982 -0.4616 -vn -0.9834 -0.1777 -0.0360 -vn -0.9277 -0.3521 -0.1241 -vn -0.7137 -0.6606 -0.2329 -vn -0.3878 -0.8692 -0.3067 -vn -0.9835 -0.1806 -0.0015 -vn -0.9279 -0.3690 -0.0542 -vn -0.7140 -0.6927 -0.1019 -vn -0.3881 -0.9118 -0.1343 -vn -0.9837 -0.1767 0.0339 -vn -0.9280 -0.3722 0.0194 -vn -0.7142 -0.6990 0.0365 -vn -0.3883 -0.9203 0.0479 -vn -0.9837 -0.1663 0.0683 -vn -0.9280 -0.3609 0.0930 -vn -0.3883 -0.8924 0.2300 -vn -0.9991 0.0162 0.0394 -vn -0.9821 -0.1764 0.0655 -vn -0.9279 -0.3361 0.1612 -vn -0.7151 -0.6767 0.1753 -vn -0.7140 -0.6306 0.3042 -vn -0.3878 -0.8299 0.4011 -vn -0.9991 0.0233 0.0355 -vn -0.9277 -0.2993 0.2229 -vn -0.7135 -0.5610 0.4197 -vn -0.3876 -0.7377 0.5527 -vn -0.9991 0.0292 0.0305 -vn -0.9273 -0.2543 0.2746 -vn -0.7129 -0.4750 0.5159 -vn -0.3869 -0.6236 0.6793 -vn -0.9990 0.0321 0.0303 -vn -0.9218 -0.2124 0.3244 -vn -0.6987 -0.3902 0.5996 -vn -0.3672 -0.5063 0.7803 -vn -1.0000 0.0042 -0.0012 -vn -0.9241 -0.2035 0.3234 -vn -0.7076 -0.3763 0.5980 -vn -0.3833 -0.4920 0.7816 -vn -0.9251 -0.1729 0.3380 -vn -0.7091 -0.3211 0.6278 -vn -0.3842 -0.4204 0.8220 -vn -0.9808 -0.0817 0.1768 -vn -0.9250 -0.1479 0.3499 -vn -0.7086 -0.2741 0.6502 -vn -0.3835 -0.3584 0.8511 -vn -0.9248 -0.1251 0.3592 -vn -0.7086 -0.2315 0.6666 -vn -0.3836 -0.3027 0.8725 -vn -0.9993 0.0341 0.0141 -vn -0.9248 -0.1035 0.3662 -vn -0.7084 -0.1916 0.6793 -vn -0.3841 -0.2502 0.8887 -vn -0.9993 0.0345 0.0120 -vn -0.7084 -0.1515 0.6894 -vn -0.9249 -0.0595 0.3756 -vn -0.9252 -0.0802 0.3709 -vn -0.7086 -0.1102 0.6969 -vn -0.3836 -0.1445 0.9121 -vn -0.3841 -0.1981 0.9018 -vn -0.9819 0.0142 0.1888 -vn -0.9250 -0.0350 0.3783 -vn -0.7088 -0.0650 0.7024 -vn -0.3839 -0.0851 0.9194 -vn -0.9822 0.0289 0.1858 -vn -0.9251 -0.0068 0.3796 -vn -0.7091 -0.0125 0.7050 -vn -0.3841 -0.0165 0.9231 -vn -0.9990 0.0439 0.0051 -vn -0.9811 0.0050 0.1932 -vn -0.9230 0.0240 0.3841 -vn -0.7034 0.0456 0.7093 -vn -0.3761 0.0602 0.9246 -vn -1.0000 0.0076 -0.0002 -vn -0.9234 0.0253 0.3831 -vn -0.7058 0.0461 0.7069 -vn -0.3807 0.0599 0.9227 -vn -0.9985 0.0522 0.0177 -vn -0.9220 -0.0247 0.3864 -vn -0.7053 -0.0461 0.7075 -vn -0.3821 -0.0606 0.9221 -vn -0.9219 -0.0728 0.3805 -vn -0.7048 -0.1332 0.6968 -vn -0.3813 -0.1735 0.9080 -vn -0.9802 0.0003 0.1982 -vn -0.9221 -0.1141 0.3696 -vn -0.7049 -0.2091 0.6777 -vn -0.3812 -0.2724 0.8834 -vn -0.9802 -0.0225 0.1966 -vn -0.9223 -0.1517 0.3556 -vn -0.7051 -0.2784 0.6522 -vn -0.3815 -0.3629 0.8502 -vn -0.9803 -0.0430 0.1929 -vn -0.9222 -0.1872 0.3383 -vn -0.7052 -0.3433 0.6204 -vn -0.3813 -0.4477 0.8088 -vn -0.9989 0.0314 0.0356 -vn -0.9797 -0.1060 0.1703 -vn -0.9220 -0.2212 0.3177 -vn -0.7047 -0.4059 0.5819 -vn -0.3810 -0.5291 0.7582 -vn -0.9988 0.0279 0.0406 -vn -0.9217 -0.2555 0.2918 -vn -0.7043 -0.4679 0.5339 -vn -0.3806 -0.6097 0.6953 -vn -0.9986 0.0241 0.0467 -vn -0.9217 -0.2890 0.2586 -vn -0.7043 -0.5295 0.4729 -vn -0.3804 -0.6901 0.6157 -vn -0.9230 -0.3161 0.2194 -vn -0.7060 -0.5818 0.4039 -vn -0.3820 -0.7590 0.5272 -vn -0.9998 0.0082 0.0177 -vn -0.9800 -0.1656 0.1104 -vn -0.9224 -0.3255 0.2080 -vn -0.7041 -0.5988 0.3817 -vn -0.3788 -0.7807 0.4970 -vn -0.9984 0.0092 0.0562 -vn -0.9216 -0.3523 0.1632 -vn -0.7046 -0.6442 0.2974 -vn -0.3818 -0.8395 0.3867 -vn -0.9214 -0.3727 0.1102 -vn -0.7043 -0.6808 0.2012 -vn -0.3809 -0.8866 0.2623 -vn -0.9800 -0.1762 0.0928 -vn -0.9215 -0.3837 0.0596 -vn -0.7045 -0.7013 0.1089 -vn -0.3810 -0.9136 0.1421 -vn -0.9800 -0.1871 0.0678 -vn -0.9217 -0.3878 0.0102 -vn -0.7046 -0.7094 0.0187 -vn -0.3811 -0.9242 0.0244 -vn -0.9800 -0.1940 0.0432 -vn -0.9217 -0.3859 -0.0385 -vn -0.3811 -0.9200 -0.0918 -vn -0.9987 -0.0240 0.0458 -vn -0.9794 -0.1992 -0.0327 -vn -0.9215 -0.3784 -0.0870 -vn -0.7040 -0.7066 -0.0716 -vn -0.7042 -0.6918 -0.1596 -vn -0.3807 -0.9010 -0.2081 -vn -0.9986 -0.0311 0.0431 -vn -0.9212 -0.3641 -0.1371 -vn -0.7039 -0.6648 -0.2503 -vn -0.3804 -0.8654 -0.3262 -vn -0.9984 -0.0389 0.0400 -vn -0.9214 -0.3406 -0.1873 -vn -0.7041 -0.6220 -0.3426 -vn -0.3805 -0.8099 -0.4464 -vn -0.9234 -0.3053 -0.2326 -vn -0.7066 -0.5631 -0.4286 -vn -0.3823 -0.7354 -0.5595 -vn -0.9798 -0.1629 -0.1160 -vn -0.9235 -0.3007 -0.2383 -vn -0.7066 -0.5544 -0.4397 -vn -0.3823 -0.7239 -0.5742 -vn -0.9985 -0.0475 0.0269 -vn -0.9799 -0.1484 -0.1333 -vn -0.9221 -0.2713 -0.2760 -vn -0.7053 -0.4964 -0.5061 -vn -0.3822 -0.6467 -0.6601 -vn -0.9220 -0.2366 -0.3065 -vn -0.7048 -0.4334 -0.5616 -vn -0.3813 -0.5649 -0.7318 -vn -0.9802 -0.1482 -0.1312 -vn -0.9222 -0.2029 -0.3292 -vn -0.7051 -0.3720 -0.6036 -vn -0.3815 -0.4850 -0.7869 -vn -0.9803 -0.1327 -0.1464 -vn -0.9224 -0.1694 -0.3472 -vn -0.7052 -0.3109 -0.6372 -vn -0.3815 -0.4052 -0.8308 -vn -0.9803 -0.1173 -0.1587 -vn -0.9223 -0.1352 -0.3620 -vn -0.3813 -0.3234 -0.8660 -vn -0.9989 -0.0465 0.0012 -vn -0.9797 -0.0609 -0.1909 -vn -0.9221 -0.0994 -0.3739 -vn -0.7046 -0.2473 -0.6651 -vn -0.7048 -0.1819 -0.6857 -vn -0.3810 -0.2368 -0.8937 -vn -0.9988 -0.0482 -0.0044 -vn -0.9218 -0.0598 -0.3829 -vn -0.7044 -0.1091 -0.7014 -vn -0.3807 -0.1418 -0.9137 -vn -0.9987 -0.0506 -0.0109 -vn -0.9218 -0.0150 -0.3873 -vn -0.7043 -0.0266 -0.7094 -vn -0.3804 -0.0344 -0.9242 -vn -0.9238 0.0364 -0.3812 -vn -0.7069 0.0670 -0.7041 -vn -0.3826 0.0876 -0.9197 -vn -0.9799 0.0170 -0.1989 -vn -0.9238 0.0385 -0.3810 -vn -0.7070 0.0711 -0.7037 -vn -0.3826 0.0929 -0.9192 -vn -0.9987 -0.0465 -0.0205 -vn -0.9229 0.0691 -0.3788 -vn -0.7062 0.1277 -0.6964 -vn -0.3825 0.1670 -0.9088 -vn -0.9229 0.0952 -0.3731 -vn -0.7058 0.1751 -0.6865 -vn -0.3817 0.2283 -0.8956 -vn -0.9805 0.0122 -0.1960 -vn -0.9231 0.1166 -0.3665 -vn -0.7059 0.2147 -0.6750 -vn -0.3820 0.2802 -0.8807 -vn -0.9806 0.0249 -0.1946 -vn -0.9230 0.1361 -0.3598 -vn -0.7061 0.2505 -0.6623 -vn -0.3817 0.3268 -0.8646 -vn -0.9992 -0.0334 -0.0226 -vn -0.9798 0.0755 -0.1849 -vn -0.7061 0.2846 -0.6484 -vn -0.3820 0.3713 -0.8463 -vn -0.9992 -0.0326 -0.0249 -vn -0.9228 0.1556 -0.3524 -vn -0.9230 0.1731 -0.3437 -vn -0.7057 0.3191 -0.6326 -vn -0.3817 0.4163 -0.8252 -vn -0.9991 -0.0323 -0.0283 -vn -0.9228 0.1930 -0.3335 -vn -0.7055 0.3553 -0.6132 -vn -0.3815 0.4639 -0.7996 -vn -0.9989 -0.0322 -0.0335 -vn -0.9226 0.2152 -0.3201 -vn -0.7052 0.3960 -0.5881 -vn -0.3810 0.5166 -0.7668 -vn -0.9240 0.2390 -0.2987 -vn -0.7072 0.4417 -0.5521 -vn -0.3828 0.5772 -0.7214 -vn -0.9802 0.1223 -0.1559 -vn -0.9262 0.1809 -0.3308 -vn -0.7129 0.3365 -0.6153 -vn -0.3881 0.4422 -0.8086 -vn -1.0000 -0.0021 -0.0004 -vn -0.9835 0.0566 -0.1718 -vn -0.9238 0.1247 -0.3619 -vn -0.7069 0.2305 -0.6687 -vn -0.3822 0.3011 -0.8736 -vn -0.9986 -0.0404 -0.0333 -vn -0.9226 0.1628 -0.3497 -vn -0.7058 0.2996 -0.6420 -vn -0.3824 0.3912 -0.8371 -vn -0.9225 0.1943 -0.3336 -vn -0.7055 0.3569 -0.6124 -vn -0.3816 0.4653 -0.7987 -vn -0.9805 0.0658 -0.1851 -vn -0.9227 0.2195 -0.3168 -vn -0.7057 0.4035 -0.5824 -vn -0.3817 0.5262 -0.7599 -vn -0.9804 0.0812 -0.1793 -vn -0.9228 0.2418 -0.2999 -vn -0.7056 0.4446 -0.5518 -vn -0.3816 0.5800 -0.7197 -vn -0.9991 -0.0250 -0.0344 -vn -0.9798 0.1310 -0.1513 -vn -0.9228 0.2621 -0.2825 -vn -0.3818 0.6294 -0.6768 -vn -0.9991 -0.0223 -0.0368 -vn -0.9226 0.2821 -0.2630 -vn -0.7053 0.4836 -0.5183 -vn -0.7054 0.5189 -0.4829 -vn -0.3814 0.6769 -0.6296 -vn -0.9990 -0.0192 -0.0405 -vn -0.9224 0.3023 -0.2404 -vn -0.7051 0.5553 -0.4410 -vn -0.3811 0.7242 -0.5748 -vn -0.9988 -0.0164 -0.0456 -vn -0.9223 0.3228 -0.2127 -vn -0.7048 0.5927 -0.3898 -vn -0.3807 0.7728 -0.5077 -vn -0.9236 0.3402 -0.1770 -vn -0.7067 0.6276 -0.3265 -vn -0.3824 0.8197 -0.4265 -vn -1.0000 -0.0024 -0.0069 -vn -0.9801 0.1768 -0.0904 -vn -0.9231 0.3438 -0.1722 -vn -0.7054 0.6340 -0.3169 -vn -0.3805 0.8274 -0.4131 -vn -0.9983 -0.0018 -0.0584 -vn -0.9212 0.3708 -0.1182 -vn -0.7041 0.6768 -0.2147 -vn -0.3811 0.8815 -0.2788 -vn -0.9210 0.3855 -0.0568 -vn -0.7038 0.7028 -0.1036 -vn -0.3807 0.9148 -0.1349 -vn -0.9798 0.1875 -0.0690 -vn -0.9211 0.3892 0.0026 -vn -0.7040 0.7101 0.0046 -vn -0.3809 0.9246 0.0060 -vn -0.9799 0.1958 -0.0391 -vn -0.9211 0.3846 0.0602 -vn -0.7041 0.7015 0.1099 -vn -0.3807 0.9136 0.1431 -vn -0.9984 0.0302 -0.0467 -vn -0.9792 0.1976 0.0461 -vn -0.7040 0.6778 0.2120 -vn -0.3806 0.8825 0.2761 -vn -0.9984 0.0372 -0.0418 -vn -0.9210 0.3715 0.1171 -vn -0.9209 0.3505 0.1705 -vn -0.7038 0.6392 0.3100 -vn -0.3806 0.8319 0.4038 -vn -0.9984 0.0441 -0.0360 -vn -0.9208 0.3208 0.2217 -vn -0.7034 0.5847 0.4040 -vn -0.3804 0.7609 0.5257 -vn -0.9983 0.0507 -0.0295 -vn -0.9212 0.2811 0.2690 -vn -0.7040 0.5130 0.4912 -vn -0.3806 0.6679 0.6395 -vn -0.9235 0.2317 0.3058 -vn -0.7066 0.4276 0.5638 -vn -0.3824 0.5585 0.7361 -vn -0.9798 0.1250 0.1562 -vn -0.9235 0.2265 0.3096 -vn -0.7067 0.4176 0.5712 -vn -0.3824 0.5453 0.7460 -vn -0.9985 0.0529 -0.0132 -vn -0.9800 0.1072 0.1675 -vn -0.9221 0.1879 0.3381 -vn -0.7054 0.3436 0.6200 -vn -0.3822 0.4476 0.8085 -vn -0.9220 0.1466 0.3582 -vn -0.7049 0.2688 0.6564 -vn -0.3813 0.3503 0.8555 -vn -0.9802 0.1080 0.1658 -vn -0.9223 0.1085 0.3710 -vn -0.7052 0.1990 0.6805 -vn -0.3813 0.2597 0.8872 -vn -0.9803 0.0892 0.1763 -vn -0.9224 0.0718 0.3796 -vn -0.7053 0.1318 0.6966 -vn -0.3815 0.1719 0.9082 -vn -0.9990 0.0453 0.0064 -vn -0.9797 0.0278 0.1983 -vn -0.7052 0.0648 0.7060 -vn -0.3813 0.0847 0.9206 -vn -0.9989 0.0451 0.0110 -vn -0.9220 0.0340 0.3858 -vn -0.9221 -0.0018 0.3868 -vn -0.7048 -0.0040 0.7094 -vn -0.3811 -0.0054 0.9245 -vn -0.9988 0.0452 0.0168 -vn -0.9219 -0.0422 0.3852 -vn -0.7045 -0.0776 0.7054 -vn -0.3807 -0.1015 0.9191 -vn -0.9987 0.0459 0.0237 -vn -0.9218 -0.0863 0.3778 -vn -0.7043 -0.1589 0.6919 -vn -0.3804 -0.2072 0.9013 -vn -0.9237 -0.1331 0.3591 -vn -0.7070 -0.2457 0.6632 -vn -0.3825 -0.3209 0.8664 -vn -0.9797 -0.0660 0.1892 -vn -0.9241 -0.1320 0.3585 -vn -0.7076 -0.2442 0.6631 -vn -0.3830 -0.3194 0.8668 -vn -0.9825 -0.0077 0.1859 -vn -0.9269 -0.0698 0.3688 -vn -0.7122 -0.1308 0.6897 -vn -0.3867 -0.1723 0.9060 -vn -0.9991 0.0411 0.0036 -vn -0.9818 -0.0189 0.1890 -vn -0.9272 -0.0079 0.3745 -vn -0.7126 -0.0136 0.7015 -vn -0.3869 -0.0173 0.9220 -vn -0.9992 0.0410 -0.0033 -vn -0.9272 0.0547 0.3706 -vn -0.7126 0.1036 0.6939 -vn -0.3870 0.1366 0.9119 -vn -0.9992 0.0398 -0.0102 -vn -0.9271 0.1152 0.3566 -vn -0.7126 0.2168 0.6672 -vn -0.3874 0.2856 0.8765 -vn -0.9271 0.1733 0.3325 -vn -0.7125 0.3244 0.6222 -vn -0.3871 0.4260 0.8178 -vn -0.9832 0.1294 0.1285 -vn -0.9271 0.2258 0.2992 -vn -0.7125 0.4227 0.5600 -vn -0.3869 0.5555 0.7360 -vn -0.9832 0.1490 0.1052 -vn -0.9271 0.2724 0.2572 -vn -0.7126 0.5101 0.4817 -vn -0.3872 0.6703 0.6331 -vn -0.9832 0.1646 0.0785 -vn -0.9269 0.3122 0.2083 -vn -0.7122 0.5842 0.3893 -vn -0.3867 0.7676 0.5111 -vn -0.9990 0.0251 -0.0357 -vn -0.9817 0.1671 0.0909 -vn -0.9216 0.3530 0.1613 -vn -0.6984 0.6519 0.2954 -vn -0.3669 0.8478 0.3828 -vn -1.0000 0.0012 -0.0022 -vn -0.9236 0.3437 0.1697 -vn -0.7065 0.6346 0.3133 -vn -0.3818 0.8286 0.4093 -vn -0.9984 0.0424 -0.0361 -vn -0.9219 0.3202 0.2183 -vn -0.7051 0.5854 0.4002 -vn -0.3821 0.7625 0.5221 -vn -0.9218 0.2888 0.2586 -vn -0.7046 0.5287 0.4732 -vn -0.3811 0.6890 0.6165 -vn -0.9801 0.1704 0.1017 -vn -0.9220 0.2563 0.2903 -vn -0.7049 0.4695 0.5317 -vn -0.3813 0.6119 0.6930 -vn -0.9802 0.1566 0.1215 -vn -0.9221 0.2224 0.3166 -vn -0.7050 0.4076 0.5804 -vn -0.3813 0.5314 0.7565 -vn -0.9802 0.1419 0.1382 -vn -0.9221 0.1867 0.3389 -vn -0.7050 0.3421 0.6213 -vn -0.3813 0.4459 0.8098 -vn -0.9988 0.0481 -0.0072 -vn -0.9796 0.0871 0.1811 -vn -0.9219 0.1485 0.3579 -vn -0.7045 0.2715 0.6557 -vn -0.3809 0.3536 0.8543 -vn -0.9987 0.0503 -0.0011 -vn -0.9216 0.1057 0.3734 -vn -0.7042 0.1929 0.6833 -vn -0.3805 0.2509 0.8901 -vn -0.9986 0.0531 0.0059 -vn -0.9216 0.0570 0.3838 -vn -0.7042 0.1037 0.7023 -vn -0.3804 0.1347 0.9150 -vn -0.9238 0.0006 0.3828 -vn -0.7070 0.0013 0.7072 -vn -0.3826 0.0017 0.9239 -vn -1.0000 0.0012 -0.0008 -vn -0.9798 0.0000 0.1997 -vn -0.9237 -0.0007 0.3831 -vn -0.7068 -0.0014 0.7075 -vn -0.3822 -0.0018 0.9241 -vn -0.9982 0.0537 0.0265 -vn -0.9207 -0.0666 0.3844 -vn -0.7036 -0.1223 0.7000 -vn -0.3807 -0.1599 0.9108 -vn -0.9981 0.0495 0.0373 -vn -0.7033 -0.2432 0.6680 -vn -0.9202 -0.1957 0.3389 -vn -0.9205 -0.1333 0.3673 -vn -0.7030 -0.3556 0.6159 -vn -0.3801 -0.3167 0.8691 -vn -0.9797 -0.0599 0.1913 -vn -0.9205 -0.2511 0.2993 -vn -0.7030 -0.4572 0.5448 -vn -0.3805 -0.5945 0.7084 -vn -0.3800 -0.4631 0.8007 -vn -0.9798 -0.0921 0.1775 -vn -0.9203 -0.2997 0.2515 -vn -0.3800 -0.7086 0.5946 -vn -0.9797 -0.1217 0.1592 -vn -0.9204 -0.3386 0.1955 -vn -0.7030 -0.5451 0.4568 -vn -0.7030 -0.6159 0.3556 -vn -0.9981 0.0034 0.0620 -vn -0.9790 -0.1846 0.0861 -vn -0.9203 -0.3677 0.1334 -vn -0.7030 -0.6683 0.2433 -vn -0.3800 -0.8013 0.4621 -vn -0.9209 -0.3839 0.0670 -vn -0.7040 -0.6994 0.1235 -vn -0.3800 -0.8692 0.3164 -vn -0.9796 -0.1864 0.0752 -vn -0.9237 -0.3832 0.0017 -vn -0.7069 -0.7073 0.0030 -vn -0.3825 -0.9239 0.0043 -vn -0.3798 -0.9112 0.1598 -vn -0.9798 -0.2002 0.0000 -usemtl Material.001 -s 1 -f 2899/2962/1211 2901/2963/1212 2898/2964/1213 -f 2957/2965/1214 2994/2966/1215 2956/2967/1216 -f 3047/2968/1217 3049/2969/1218 3046/2970/1219 -f 3051/2971/1220 3053/2972/1221 3050/2973/1222 -f 3050/2973/1222 3055/2974/1223 3054/2975/1224 -f 3054/2975/1224 3057/2976/1225 3056/2977/1226 -f 3056/2977/1226 3059/2978/1227 3058/2979/1228 -f 3058/2979/1228 3061/2980/1229 3060/2981/1230 -f 3060/2981/1230 3063/2982/1231 3062/2983/1232 -f 3065/2984/1233 3067/2985/1234 3064/2986/1235 -f 3068/2987/1236 3066/2988/1237 3065/2984/1233 -f 3070/2989/1238 3052/2990/1239 3051/2971/1220 -f 3073/2991/1240 3075/2992/1241 3072/2993/1242 -f 3077/2994/1243 3079/2995/1244 3076/2996/1245 -f 3076/2996/1245 3081/2997/1246 3080/2998/1247 -f 3080/2998/1247 3083/2999/1248 3082/3000/1249 -f 3082/3000/1249 3085/3001/1250 3084/3002/1251 -f 3084/3002/1251 3087/3003/1252 3086/3004/1253 -f 3086/3004/1253 3074/3005/1254 3073/2991/1240 -f 3089/3006/1255 3091/3007/1256 3088/3008/1257 -f 3064/2986/1235 3078/3009/1258 3077/2994/1243 -f 3092/3010/1259 3090/3011/1260 3089/3006/1255 -f 3046/2970/1219 3071/3012/1261 3070/2989/1238 -f 3095/3013/1262 3097/3014/1263 3094/3015/1264 -f 3099/3016/1265 3101/3017/1266 3098/3018/1267 -f 3098/3018/1267 3103/3019/1268 3102/3020/1269 -f 3102/3020/1269 3105/3021/1270 3104/3022/1271 -f 3104/3022/1271 3107/3023/1272 3106/3024/1273 -f 3106/3024/1273 3109/3025/1274 3108/3026/1275 -f 3108/3026/1275 3096/3027/1276 3095/3013/1262 -f 3111/3028/1277 3113/3029/1278 3110/3030/1279 -f 3094/3015/1264 3112/3031/1280 3111/3028/1277 -f 3088/3008/1257 3100/3032/1281 3099/3016/1265 -f 3115/3033/1282 3117/3034/1283 3114/3035/1284 -f 3119/3036/1285 3121/3037/1286 3118/3038/1287 -f 3118/3038/1287 3123/3039/1288 3122/3040/1289 -f 3122/3040/1289 3125/3041/1290 3124/3042/1291 -f 3124/3042/1291 3127/3043/1292 3126/3044/1293 -f 3126/3044/1293 3129/3045/1294 3128/3046/1295 -f 3128/3046/1295 3116/3047/1296 3115/3033/1282 -f 3131/3048/1297 3133/3049/1298 3130/3050/1299 -f 3114/3035/1284 3132/3051/1300 3131/3048/1297 -f 3110/3030/1279 3120/3052/1301 3119/3036/1285 -f 3135/3053/1302 3137/3054/1303 3134/3055/1304 -f 3139/3056/1305 3141/3057/1306 3138/3058/1307 -f 3138/3058/1307 3143/3059/1308 3142/3060/1309 -f 3142/3060/1309 3145/3061/1310 3144/3062/1311 -f 3144/3062/1311 3147/3063/1312 3146/3064/1313 -f 3146/3064/1313 3149/3065/1314 3148/3066/1315 -f 3148/3066/1315 3136/3067/1316 3135/3053/1302 -f 3151/3068/1317 3153/3069/1318 3150/3070/1319 -f 3134/3055/1304 3152/3071/1320 3151/3068/1317 -f 3130/3050/1299 3140/3072/1321 3139/3056/1305 -f 3155/3073/1322 3157/3074/1323 3154/3075/1324 -f 3159/3076/1325 3161/3077/1326 3158/3078/1327 -f 3158/3078/1327 3163/3079/1328 3162/3080/1329 -f 3162/3080/1329 3165/3081/1330 3164/3082/1331 -f 3164/3082/1331 3167/3083/1332 3166/3084/1333 -f 3166/3084/1333 3169/3085/1334 3168/3086/1335 -f 3168/3086/1335 3156/3087/1336 3155/3073/1322 -f 3171/3088/1337 3173/3089/1338 3170/3090/1339 -f 3154/3075/1324 3172/3091/1340 3171/3088/1337 -f 3150/3070/1319 3160/3092/1341 3159/3076/1325 -f 3175/3093/1342 3177/3094/1343 3174/3095/1344 -f 3179/3096/1345 3181/3097/1346 3178/3098/1347 -f 3178/3098/1347 3183/3099/1348 3182/3100/1349 -f 3182/3100/1349 3185/3101/1350 3184/3102/1351 -f 3184/3102/1351 3187/3103/1352 3186/3104/1353 -f 3186/3104/1353 3189/3105/1354 3188/3106/1355 -f 3188/3106/1355 3176/3107/1356 3175/3093/1342 -f 3191/3108/1357 3193/3109/1358 3190/3110/1359 -f 3174/3095/1344 3192/3111/1360 3191/3108/1357 -f 3170/3090/1339 3180/3112/1361 3179/3096/1345 -f 3195/3113/1362 3197/3114/1363 3194/3115/1364 -f 3199/3116/1365 3201/3117/1366 3198/3118/1367 -f 3198/3118/1367 3203/3119/1368 3202/3120/1369 -f 3202/3120/1369 3205/3121/1370 3204/3122/1371 -f 3204/3122/1371 3207/3123/1372 3206/3124/1373 -f 3206/3124/1373 3209/3125/1374 3208/3126/1375 -f 3208/3126/1375 3196/3127/1376 3195/3113/1362 -f 3211/3128/1377 3213/3129/1378 3210/3130/1379 -f 3190/3110/1359 3200/3131/1380 3199/3116/1365 -f 3214/3132/1381 3212/3133/1382 3211/3128/1377 -f 3072/2993/1242 3093/3134/1383 3092/3010/1259 -f 3217/3135/1384 3219/3136/1385 3216/3137/1386 -f 3221/3138/1387 3223/3139/1388 3220/3140/1389 -f 3220/3140/1389 3225/3141/1390 3224/3142/1391 -f 3224/3142/1391 3227/3143/1392 3226/3144/1393 -f 3226/3144/1393 3229/3145/1394 3228/3146/1395 -f 3228/3146/1395 3231/3147/1396 3230/3148/1397 -f 3230/3148/1397 3218/3149/1398 3217/3135/1384 -f 3233/3150/1399 3235/3151/1400 3232/3152/1401 -f 3216/3137/1386 3234/3153/1402 3233/3150/1399 -f 3210/3130/1379 3222/3154/1403 3221/3138/1387 -f 3237/3155/1404 3239/3156/1405 3236/3157/1406 -f 3241/3158/1407 3243/3159/1408 3240/3160/1409 -f 3240/3160/1409 3245/3161/1410 3244/3162/1411 -f 3244/3162/1411 3247/3163/1412 3246/3164/1413 -f 3246/3164/1413 3249/3165/1414 3248/3166/1415 -f 3248/3166/1415 3251/3167/1416 3250/3168/1417 -f 3250/3168/1417 3238/3169/1418 3237/3155/1404 -f 3253/3170/1419 3255/3171/1420 3252/3172/1421 -f 3236/3157/1406 3254/3173/1422 3253/3170/1419 -f 3232/3152/1401 3242/3174/1423 3241/3158/1407 -f 3257/3175/1424 3259/3176/1425 3256/3177/1426 -f 3261/3178/1427 3263/3179/1428 3260/3180/1429 -f 3260/3180/1429 3265/3181/1430 3264/3182/1431 -f 3264/3182/1431 3267/3183/1432 3266/3184/1433 -f 3266/3184/1433 3269/3185/1434 3268/3186/1435 -f 3268/3186/1435 3271/3187/1436 3270/3188/1437 -f 3270/3188/1437 3258/3189/1438 3257/3175/1424 -f 3273/3190/1439 3275/3191/1440 3272/3192/1441 -f 3273/3190/1439 3259/3176/1425 3274/3193/1442 -f 3252/3172/1421 3262/3194/1443 3261/3178/1427 -f 3277/3195/1444 3279/3196/1445 3276/3197/1446 -f 3281/3198/1447 3283/3199/1448 3280/3200/1449 -f 3280/3200/1449 3285/3201/1450 3284/3202/1451 -f 3284/3202/1451 3287/3203/1452 3286/3204/1453 -f 3286/3204/1453 3289/3205/1454 3288/3206/1455 -f 3288/3206/1455 3291/3207/1456 3290/3208/1457 -f 3290/3208/1457 3278/3209/1458 3277/3195/1444 -f 2898/2964/1213 3293/3210/1459 3292/3211/1460 -f 3272/3192/1441 3282/3212/1461 3281/3198/1447 -f 3194/3115/1364 3215/3213/1462 3214/3132/1381 -f 3276/3197/1446 3295/3214/1463 3294/3215/1464 -f 3297/3216/1465 3299/3217/1466 3296/3218/1467 -f 3301/3219/1468 3303/3220/1469 3300/3221/1470 -f 3300/3221/1470 3305/3222/1471 3304/3223/1472 -f 3304/3223/1472 3307/3224/1473 3306/3225/1474 -f 3306/3225/1474 3309/3226/1475 3308/3227/1476 -f 3308/3227/1476 3311/3228/1477 3310/3229/1478 -f 3310/3229/1478 3298/3230/1479 3297/3216/1465 -f 3313/3231/1480 3315/3232/1481 3312/3233/1482 -f 3296/3218/1467 3314/3234/1483 3313/3231/1480 -f 3292/3211/1460 3302/3235/1484 3301/3219/1468 -f 3316/3236/1485 3048/3237/1486 3047/2968/1217 -f 3319/3238/1487 3321/3239/1488 3318/3240/1489 -f 3318/3240/1489 3323/3241/1490 3322/3242/1491 -f 3322/3242/1491 3325/3243/1492 3324/3244/1493 -f 3324/3244/1493 3327/3245/1494 3326/3246/1495 -f 3326/3246/1495 3329/3247/1496 3328/3248/1497 -f 3328/3248/1497 3317/3249/1498 3316/3236/1485 -f 3382/3250/1499 3419/3251/1500 3420/3252/1501 -f 3312/3233/1482 3320/3253/1502 3319/3238/1487 -f 3062/2983/1232 3069/3254/1503 3068/2987/1236 -f 3045/3255/1504 3475/3256/1505 2902/3257/1506 -f 3474/3258/1507 3477/3259/1508 3475/3256/1505 -f 3476/3260/1509 3479/3261/1510 3477/3259/1508 -f 3478/3262/1511 2899/2962/1211 3479/3261/1510 -f 3046/2970/1219 3480/3263/1512 3481/3264/1513 -f 3481/3264/1513 3482/3265/1514 3483/3266/1515 -f 3483/3266/1515 3484/3267/1516 3485/3268/1517 -f 3485/3268/1517 2924/3269/1518 2923/3270/1519 -f 3051/2971/1220 3480/3263/1512 3070/2989/1238 -f 3480/3263/1512 3487/3271/1520 3482/3265/1514 -f 3482/3265/1514 3488/3272/1521 3484/3267/1516 -f 3488/3272/1521 2924/3269/1518 3484/3267/1516 -f 3051/2971/1220 3489/3273/1522 3486/3274/1523 -f 3489/3273/1522 3487/3271/1520 3486/3274/1523 -f 3487/3271/1520 3491/3275/1524 3488/3272/1521 -f 3491/3275/1524 2925/3276/1525 3488/3272/1521 -f 3054/2975/1224 3489/3273/1522 3050/2973/1222 -f 3492/3277/1526 3490/3278/1527 3489/3273/1522 -f 3490/3278/1527 3494/3279/1528 3491/3275/1524 -f 3491/3275/1524 2927/3280/1529 2926/3281/1530 -f 3056/2977/1226 3492/3277/1526 3054/2975/1224 -f 3492/3277/1526 3496/3282/1531 3493/3283/1532 -f 3493/3283/1532 3497/3284/1533 3494/3279/1528 -f 3497/3284/1533 2927/3280/1529 3494/3279/1528 -f 3056/2977/1226 3498/3285/1534 3495/3286/1535 -f 3498/3285/1534 3496/3282/1531 3495/3286/1535 -f 3499/3287/1536 3497/3284/1533 3496/3282/1531 -f 3497/3284/1533 2929/3288/1537 2928/3289/1538 -f 3058/2979/1228 3501/3290/1539 3498/3285/1534 -f 3501/3290/1539 3499/3287/1536 3498/3285/1534 -f 3502/3291/1540 3500/3292/1541 3499/3287/1536 -f 3503/3293/1542 2929/3288/1537 3500/3292/1541 -f 3060/2981/1230 3504/3294/1543 3501/3290/1539 -f 3501/3290/1539 3505/3295/1544 3502/3291/1540 -f 3505/3295/1544 3503/3293/1542 3502/3291/1540 -f 3506/3296/1545 2930/3297/1546 3503/3293/1542 -f 3068/2987/1236 3504/3294/1543 3062/2983/1232 -f 3507/3298/1547 3505/3295/1544 3504/3294/1543 -f 3508/3299/1548 3506/3296/1545 3505/3295/1544 -f 3509/3300/1549 2931/3301/1550 3506/3296/1545 -f 3065/2984/1233 3507/3298/1547 3068/2987/1236 -f 3510/3302/1551 3508/3299/1548 3507/3298/1547 -f 3511/3303/1552 3509/3300/1549 3508/3299/1548 -f 3512/3304/1553 2932/3305/1554 3509/3300/1549 -f 3064/2986/1235 3510/3302/1551 3065/2984/1233 -f 3513/3306/1555 3511/3303/1552 3510/3302/1551 -f 3514/3307/1556 3512/3304/1553 3511/3303/1552 -f 3515/3308/1557 2933/3309/1558 3512/3304/1553 -f 3064/2986/1235 3516/3310/1559 3513/3306/1555 -f 3513/3306/1555 3517/3311/1560 3514/3307/1556 -f 3514/3307/1556 3518/3312/1561 3515/3308/1557 -f 3515/3308/1557 2935/3313/1562 2934/3314/1563 -f 3077/2994/1243 3519/3315/1564 3516/3310/1559 -f 3516/3310/1559 3520/3316/1565 3517/3311/1560 -f 3517/3311/1560 3521/3317/1566 3518/3312/1561 -f 3518/3312/1561 2936/3318/1567 2935/3313/1562 -f 3076/2996/1245 3522/3319/1568 3519/3315/1564 -f 3519/3315/1564 3523/3320/1569 3520/3316/1565 -f 3520/3316/1565 3524/3321/1570 3521/3317/1566 -f 3521/3317/1566 2937/3322/1571 2936/3318/1567 -f 3080/2998/1247 3525/3323/1572 3522/3319/1568 -f 3522/3319/1568 3526/3324/1573 3523/3320/1569 -f 3526/3324/1573 3524/3321/1570 3523/3320/1569 -f 3527/3325/1574 2937/3322/1571 3524/3321/1570 -f 3084/3002/1251 3525/3323/1572 3082/3000/1249 -f 3528/3326/1575 3526/3324/1573 3525/3323/1572 -f 3529/3327/1576 3527/3325/1574 3526/3324/1573 -f 3530/3328/1577 2938/3329/1578 3527/3325/1574 -f 3086/3004/1253 3528/3326/1575 3084/3002/1251 -f 3531/3330/1579 3529/3327/1576 3528/3326/1575 -f 3532/3331/1580 3530/3328/1577 3529/3327/1576 -f 3533/3332/1581 2939/3333/1582 3530/3328/1577 -f 3073/2991/1240 3531/3330/1579 3086/3004/1253 -f 3534/3334/1583 3532/3331/1580 3531/3330/1579 -f 3535/3335/1584 3533/3332/1581 3532/3331/1580 -f 3536/3336/1585 2940/3337/1586 3533/3332/1581 -f 3073/2991/1240 3537/3338/1587 3534/3334/1583 -f 3534/3334/1583 3538/3339/1588 3535/3335/1584 -f 3535/3335/1584 3539/3340/1589 3536/3336/1585 -f 3536/3336/1585 2942/3341/1590 2941/3342/1591 -f 3072/2993/1242 3540/3343/1592 3537/3338/1587 -f 3537/3338/1587 3541/3344/1593 3538/3339/1588 -f 3538/3339/1588 3542/3345/1594 3539/3340/1589 -f 3539/3340/1589 2943/3346/1595 2942/3341/1590 -f 3089/3006/1255 3540/3343/1592 3092/3010/1259 -f 3543/3347/1596 3541/3344/1593 3540/3343/1592 -f 3544/3348/1597 3542/3345/1594 3541/3344/1593 -f 3545/3349/1598 2943/3346/1595 3542/3345/1594 -f 3088/3008/1257 3543/3347/1596 3089/3006/1255 -f 3546/3350/1599 3544/3348/1597 3543/3347/1596 -f 3547/3351/1600 3545/3349/1598 3544/3348/1597 -f 3548/3352/1601 2944/3353/1602 3545/3349/1598 -f 3099/3016/1265 3546/3350/1599 3088/3008/1257 -f 3549/3354/1603 3547/3351/1600 3546/3350/1599 -f 3550/3355/1604 3548/3352/1601 3547/3351/1600 -f 3551/3356/1605 2945/3357/1606 3548/3352/1601 -f 3098/3018/1267 3549/3354/1603 3099/3016/1265 -f 3552/3358/1607 3550/3355/1604 3549/3354/1603 -f 3553/3359/1608 3551/3356/1605 3550/3355/1604 -f 3554/3360/1609 2946/3361/1610 3551/3356/1605 -f 3102/3020/1269 3552/3358/1607 3098/3018/1267 -f 3555/3362/1611 3553/3359/1608 3552/3358/1607 -f 3556/3363/1612 3554/3360/1609 3553/3359/1608 -f 3557/3364/1613 2947/3365/1614 3554/3360/1609 -f 3102/3020/1269 3558/3366/1615 3555/3362/1611 -f 3558/3366/1615 3556/3363/1612 3555/3362/1611 -f 3556/3363/1612 3560/3367/1616 3557/3364/1613 -f 3560/3367/1616 2948/3368/1617 3557/3364/1613 -f 3104/3022/1271 3561/3369/1618 3558/3366/1615 -f 3558/3366/1615 3562/3370/1619 3559/3371/1620 -f 3559/3371/1620 3563/3372/1621 3560/3367/1616 -f 3560/3367/1616 2950/3373/1622 2949/3374/1623 -f 3106/3024/1273 3564/3375/1624 3561/3369/1618 -f 3561/3369/1618 3565/3376/1625 3562/3370/1619 -f 3562/3370/1619 3566/3377/1626 3563/3372/1621 -f 3563/3372/1621 2951/3378/1627 2950/3373/1622 -f 3108/3026/1275 3567/3379/1628 3564/3375/1624 -f 3564/3375/1624 3568/3380/1629 3565/3376/1625 -f 3565/3376/1625 3569/3381/1630 3566/3377/1626 -f 3566/3377/1626 2952/3382/1631 2951/3378/1627 -f 3095/3013/1262 3570/3383/1632 3567/3379/1628 -f 3567/3379/1628 3571/3384/1633 3568/3380/1629 -f 3568/3380/1629 3572/3385/1634 3569/3381/1630 -f 3569/3381/1630 2953/3386/1635 2952/3382/1631 -f 3094/3015/1264 3573/3387/1636 3570/3383/1632 -f 3570/3383/1632 3574/3388/1637 3571/3384/1633 -f 3571/3384/1633 3575/3389/1638 3572/3385/1634 -f 3572/3385/1634 2954/3390/1639 2953/3386/1635 -f 3110/3030/1279 3573/3387/1636 3111/3028/1277 -f 3576/3391/1640 3574/3388/1637 3573/3387/1636 -f 3577/3392/1641 3575/3389/1638 3574/3388/1637 -f 3578/3393/1642 2954/3390/1639 3575/3389/1638 -f 3110/3030/1279 3579/3394/1643 3576/3391/1640 -f 3576/3391/1640 3580/3395/1644 3577/3392/1641 -f 3577/3392/1641 3581/3396/1645 3578/3393/1642 -f 3578/3393/1642 2956/2967/1216 2955/3397/1646 -f 3119/3036/1285 3582/3398/1647 3579/3394/1643 -f 3579/3394/1643 3583/3399/1648 3580/3395/1644 -f 3580/3395/1644 3584/3400/1649 3581/3396/1645 -f 3581/3396/1645 2957/2965/1214 2956/2967/1216 -f 3118/3038/1287 3585/3401/1650 3582/3398/1647 -f 3582/3398/1647 3586/3402/1651 3583/3399/1648 -f 3583/3399/1648 3587/3403/1652 3584/3400/1649 -f 3584/3400/1649 2958/3404/1653 2957/2965/1214 -f 3124/3042/1291 3585/3401/1650 3122/3040/1289 -f 3585/3401/1650 3589/3405/1654 3586/3402/1651 -f 3589/3405/1654 3587/3403/1652 3586/3402/1651 -f 3587/3403/1652 2959/3406/1655 2958/3404/1653 -f 3126/3044/1293 3588/3407/1656 3124/3042/1291 -f 3591/3408/1657 3589/3405/1654 3588/3407/1656 -f 3592/3409/1658 3590/3410/1659 3589/3405/1654 -f 3593/3411/1660 2959/3406/1655 3590/3410/1659 -f 3128/3046/1295 3591/3408/1657 3126/3044/1293 -f 3594/3412/1661 3592/3409/1658 3591/3408/1657 -f 3595/3413/1662 3593/3411/1660 3592/3409/1658 -f 3596/3414/1663 2960/3415/1664 3593/3411/1660 -f 3115/3033/1282 3594/3412/1661 3128/3046/1295 -f 3597/3416/1665 3595/3413/1662 3594/3412/1661 -f 3598/3417/1666 3596/3414/1663 3595/3413/1662 -f 3599/3418/1667 2961/3419/1668 3596/3414/1663 -f 3115/3033/1282 3600/3420/1669 3597/3416/1665 -f 3597/3416/1665 3601/3421/1670 3598/3417/1666 -f 3598/3417/1666 3602/3422/1671 3599/3418/1667 -f 3599/3418/1667 2963/3423/1672 2962/3424/1673 -f 3114/3035/1284 3603/3425/1674 3600/3420/1669 -f 3600/3420/1669 3604/3426/1675 3601/3421/1670 -f 3601/3421/1670 3605/3427/1676 3602/3422/1671 -f 3602/3422/1671 2964/3428/1677 2963/3423/1672 -f 3131/3048/1297 3606/3429/1678 3603/3425/1674 -f 3603/3425/1674 3607/3430/1679 3604/3426/1675 -f 3604/3426/1675 3608/3431/1680 3605/3427/1676 -f 3605/3427/1676 2965/3432/1681 2964/3428/1677 -f 3139/3056/1305 3606/3429/1678 3130/3050/1299 -f 3609/3433/1682 3607/3430/1679 3606/3429/1678 -f 3610/3434/1683 3608/3431/1680 3607/3430/1679 -f 3611/3435/1684 2965/3432/1681 3608/3431/1680 -f 3138/3058/1307 3609/3433/1682 3139/3056/1305 -f 3612/3436/1685 3610/3434/1683 3609/3433/1682 -f 3613/3437/1686 3611/3435/1684 3610/3434/1683 -f 3614/3438/1687 2966/3439/1688 3611/3435/1684 -f 3142/3060/1309 3612/3436/1685 3138/3058/1307 -f 3615/3440/1689 3613/3437/1686 3612/3436/1685 -f 3616/3441/1690 3614/3438/1687 3613/3437/1686 -f 3617/3442/1691 2967/3443/1692 3614/3438/1687 -f 3142/3060/1309 3618/3444/1693 3615/3440/1689 -f 3615/3440/1689 3619/3445/1694 3616/3441/1690 -f 3619/3445/1694 3617/3442/1691 3616/3441/1690 -f 3617/3442/1691 2969/3446/1695 2968/3447/1696 -f 3144/3062/1311 3621/3448/1697 3618/3444/1693 -f 3618/3444/1693 3622/3449/1698 3619/3445/1694 -f 3619/3445/1694 3623/3450/1699 3620/3451/1700 -f 3620/3451/1700 2970/3452/1701 2969/3446/1695 -f 3146/3064/1313 3624/3453/1702 3621/3448/1697 -f 3621/3448/1697 3625/3454/1703 3622/3449/1698 -f 3622/3449/1698 3626/3455/1704 3623/3450/1699 -f 3623/3450/1699 2971/3456/1705 2970/3452/1701 -f 3148/3066/1315 3627/3457/1706 3624/3453/1702 -f 3624/3453/1702 3628/3458/1707 3625/3454/1703 -f 3625/3454/1703 3629/3459/1708 3626/3455/1704 -f 3626/3455/1704 2972/3460/1709 2971/3456/1705 -f 3134/3055/1304 3627/3457/1706 3135/3053/1302 -f 3630/3461/1710 3628/3458/1707 3627/3457/1706 -f 3631/3462/1711 3629/3459/1708 3628/3458/1707 -f 3632/3463/1712 2972/3460/1709 3629/3459/1708 -f 3134/3055/1304 3633/3464/1713 3630/3461/1710 -f 3630/3461/1710 3634/3465/1714 3631/3462/1711 -f 3631/3462/1711 3635/3466/1715 3632/3463/1712 -f 3632/3463/1712 2974/3467/1716 2973/3468/1717 -f 3151/3068/1317 3636/3469/1718 3633/3464/1713 -f 3633/3464/1713 3637/3470/1719 3634/3465/1714 -f 3634/3465/1714 3638/3471/1720 3635/3466/1715 -f 3635/3466/1715 2975/3472/1721 2974/3467/1716 -f 3159/3076/1325 3636/3469/1718 3150/3070/1319 -f 3639/3473/1722 3637/3470/1719 3636/3469/1718 -f 3640/3474/1723 3638/3471/1720 3637/3470/1719 -f 3641/3475/1724 2975/3472/1721 3638/3471/1720 -f 3158/3078/1327 3639/3473/1722 3159/3076/1325 -f 3642/3476/1725 3640/3474/1723 3639/3473/1722 -f 3643/3477/1726 3641/3475/1724 3640/3474/1723 -f 3644/3478/1727 2976/3479/1728 3641/3475/1724 -f 3162/3080/1329 3642/3476/1725 3158/3078/1327 -f 3645/3480/1729 3643/3477/1726 3642/3476/1725 -f 3646/3481/1730 3644/3478/1727 3643/3477/1726 -f 3647/3482/1731 2977/3483/1732 3644/3478/1727 -f 3162/3080/1329 3648/3484/1733 3645/3480/1729 -f 3648/3484/1733 3646/3481/1730 3645/3480/1729 -f 3646/3481/1730 3650/3485/1734 3647/3482/1731 -f 3650/3485/1734 2978/3486/1735 3647/3482/1731 -f 3164/3082/1331 3651/3487/1736 3648/3484/1733 -f 3648/3484/1733 3652/3488/1737 3649/3489/1738 -f 3649/3489/1738 3653/3490/1739 3650/3485/1734 -f 3650/3485/1734 2980/3491/1740 2979/3492/1741 -f 3166/3084/1333 3654/3493/1742 3651/3487/1736 -f 3651/3487/1736 3655/3494/1743 3652/3488/1737 -f 3652/3488/1737 3656/3495/1744 3653/3490/1739 -f 3653/3490/1739 2981/3496/1745 2980/3491/1740 -f 3168/3086/1335 3657/3497/1746 3654/3493/1742 -f 3654/3493/1742 3658/3498/1747 3655/3494/1743 -f 3655/3494/1743 3659/3499/1748 3656/3495/1744 -f 3656/3495/1744 2982/3500/1749 2981/3496/1745 -f 3154/3075/1324 3657/3497/1746 3155/3073/1322 -f 3660/3501/1750 3658/3498/1747 3657/3497/1746 -f 3661/3502/1751 3659/3499/1748 3658/3498/1747 -f 3662/3503/1752 2982/3500/1749 3659/3499/1748 -f 3171/3088/1337 3660/3501/1750 3154/3075/1324 -f 3663/3504/1753 3661/3502/1751 3660/3501/1750 -f 3664/3505/1754 3662/3503/1752 3661/3502/1751 -f 3665/3506/1755 2983/3507/1756 3662/3503/1752 -f 3171/3088/1337 3666/3508/1757 3663/3504/1753 -f 3663/3504/1753 3667/3509/1758 3664/3505/1754 -f 3664/3505/1754 3668/3510/1759 3665/3506/1755 -f 3665/3506/1755 2985/3511/1760 2984/3512/1761 -f 3179/3096/1345 3666/3508/1757 3170/3090/1339 -f 3669/3513/1762 3667/3509/1758 3666/3508/1757 -f 3670/3514/1763 3668/3510/1759 3667/3509/1758 -f 3671/3515/1764 2985/3511/1760 3668/3510/1759 -f 3178/3098/1347 3669/3513/1762 3179/3096/1345 -f 3672/3516/1765 3670/3514/1763 3669/3513/1762 -f 3673/3517/1766 3671/3515/1764 3670/3514/1763 -f 3674/3518/1767 2986/3519/1768 3671/3515/1764 -f 3182/3100/1349 3672/3516/1765 3178/3098/1347 -f 3675/3520/1769 3673/3517/1766 3672/3516/1765 -f 3676/3521/1770 3674/3518/1767 3673/3517/1766 -f 3677/3522/1771 2987/3523/1772 3674/3518/1767 -f 3182/3100/1349 3678/3524/1773 3675/3520/1769 -f 3675/3520/1769 3679/3525/1774 3676/3521/1770 -f 3676/3521/1770 3680/3526/1775 3677/3522/1771 -f 3680/3526/1775 2988/3527/1776 3677/3522/1771 -f 3184/3102/1351 3681/3528/1777 3678/3524/1773 -f 3678/3524/1773 3682/3529/1778 3679/3525/1774 -f 3679/3525/1774 3683/3530/1779 3680/3526/1775 -f 3680/3526/1775 2990/3531/1780 2989/3532/1781 -f 3186/3104/1353 3684/3533/1782 3681/3528/1777 -f 3681/3528/1777 3685/3534/1783 3682/3529/1778 -f 3682/3529/1778 3686/3535/1784 3683/3530/1779 -f 3683/3530/1779 2991/3536/1785 2990/3531/1780 -f 3188/3106/1355 3687/3537/1786 3684/3533/1782 -f 3684/3533/1782 3688/3538/1787 3685/3534/1783 -f 3685/3534/1783 3689/3539/1788 3686/3535/1784 -f 3686/3535/1784 2992/3540/1789 2991/3536/1785 -f 3174/3095/1344 3687/3537/1786 3175/3093/1342 -f 3690/3541/1790 3688/3538/1787 3687/3537/1786 -f 3691/3542/1791 3689/3539/1788 3688/3538/1787 -f 3692/3543/1792 2992/3540/1789 3689/3539/1788 -f 3191/3108/1357 3690/3541/1790 3174/3095/1344 -f 3693/3544/1793 3691/3542/1791 3690/3541/1790 -f 3694/3545/1794 3692/3543/1792 3691/3542/1791 -f 3695/3546/1795 2993/3547/1796 3692/3543/1792 -f 3191/3108/1357 3696/3548/1797 3693/3544/1793 -f 3693/3544/1793 3697/3549/1798 3694/3545/1794 -f 3694/3545/1794 3698/3550/1799 3695/3546/1795 -f 3695/3546/1795 2995/3551/1800 2994/2966/1215 -f 3199/3116/1365 3696/3548/1797 3190/3110/1359 -f 3699/3552/1801 3697/3549/1798 3696/3548/1797 -f 3700/3553/1802 3698/3550/1799 3697/3549/1798 -f 3701/3554/1803 2995/3551/1800 3698/3550/1799 -f 3198/3118/1367 3699/3552/1801 3199/3116/1365 -f 3702/3555/1804 3700/3553/1802 3699/3552/1801 -f 3703/3556/1805 3701/3554/1803 3700/3553/1802 -f 3704/3557/1806 2996/3558/1807 3701/3554/1803 -f 3202/3120/1369 3702/3555/1804 3198/3118/1367 -f 3705/3559/1808 3703/3556/1805 3702/3555/1804 -f 3706/3560/1809 3704/3557/1806 3703/3556/1805 -f 3707/3561/1810 2997/3562/1811 3704/3557/1806 -f 3204/3122/1371 3705/3559/1808 3202/3120/1369 -f 3705/3559/1808 3709/3563/1812 3706/3560/1809 -f 3709/3563/1812 3707/3561/1810 3706/3560/1809 -f 3707/3561/1810 2999/3564/1813 2998/3565/1814 -f 3204/3122/1371 3711/3566/1815 3708/3567/1816 -f 3708/3567/1816 3712/3568/1817 3709/3563/1812 -f 3709/3563/1812 3713/3569/1818 3710/3570/1819 -f 3710/3570/1819 3000/3571/1820 2999/3564/1813 -f 3206/3124/1373 3714/3572/1821 3711/3566/1815 -f 3711/3566/1815 3715/3573/1822 3712/3568/1817 -f 3712/3568/1817 3716/3574/1823 3713/3569/1818 -f 3713/3569/1818 3001/3575/1824 3000/3571/1820 -f 3208/3126/1375 3717/3576/1825 3714/3572/1821 -f 3714/3572/1821 3718/3577/1826 3715/3573/1822 -f 3715/3573/1822 3719/3578/1827 3716/3574/1823 -f 3716/3574/1823 3002/3579/1828 3001/3575/1824 -f 3194/3115/1364 3717/3576/1825 3195/3113/1362 -f 3720/3580/1829 3718/3577/1826 3717/3576/1825 -f 3721/3581/1830 3719/3578/1827 3718/3577/1826 -f 3722/3582/1831 3002/3579/1828 3719/3578/1827 -f 3214/3132/1381 3720/3580/1829 3194/3115/1364 -f 3723/3583/1832 3721/3581/1830 3720/3580/1829 -f 3724/3584/1833 3722/3582/1831 3721/3581/1830 -f 3725/3585/1834 3003/3586/1835 3722/3582/1831 -f 3214/3132/1381 3726/3587/1836 3723/3583/1832 -f 3723/3583/1832 3727/3588/1837 3724/3584/1833 -f 3724/3584/1833 3728/3589/1838 3725/3585/1834 -f 3725/3585/1834 3005/3590/1839 3004/3591/1840 -f 3211/3128/1377 3729/3592/1841 3726/3587/1836 -f 3726/3587/1836 3730/3593/1842 3727/3588/1837 -f 3727/3588/1837 3731/3594/1843 3728/3589/1838 -f 3728/3589/1838 3006/3595/1844 3005/3590/1839 -f 3221/3138/1387 3729/3592/1841 3210/3130/1379 -f 3732/3596/1845 3730/3593/1842 3729/3592/1841 -f 3733/3597/1846 3731/3594/1843 3730/3593/1842 -f 3734/3598/1847 3006/3595/1844 3731/3594/1843 -f 3220/3140/1389 3732/3596/1845 3221/3138/1387 -f 3735/3599/1848 3733/3597/1846 3732/3596/1845 -f 3736/3600/1849 3734/3598/1847 3733/3597/1846 -f 3737/3601/1850 3007/3602/1851 3734/3598/1847 -f 3224/3142/1391 3735/3599/1848 3220/3140/1389 -f 3738/3603/1852 3736/3600/1849 3735/3599/1848 -f 3739/3604/1853 3737/3601/1850 3736/3600/1849 -f 3740/3605/1854 3008/3606/1855 3737/3601/1850 -f 3226/3144/1393 3738/3603/1852 3224/3142/1391 -f 3741/3607/1856 3739/3604/1853 3738/3603/1852 -f 3739/3604/1853 3743/3608/1857 3740/3605/1854 -f 3740/3605/1854 3010/3609/1858 3009/3610/1859 -f 3226/3144/1393 3744/3611/1860 3741/3607/1856 -f 3741/3607/1856 3745/3612/1861 3742/3613/1862 -f 3742/3613/1862 3746/3614/1863 3743/3608/1857 -f 3743/3608/1857 3011/3615/1864 3010/3609/1858 -f 3228/3146/1395 3747/3616/1865 3744/3611/1860 -f 3744/3611/1860 3748/3617/1866 3745/3612/1861 -f 3745/3612/1861 3749/3618/1867 3746/3614/1863 -f 3746/3614/1863 3012/3619/1868 3011/3615/1864 -f 3230/3148/1397 3750/3620/1869 3747/3616/1865 -f 3747/3616/1865 3751/3621/1870 3748/3617/1866 -f 3748/3617/1866 3752/3622/1871 3749/3618/1867 -f 3749/3618/1867 3013/3623/1872 3012/3619/1868 -f 3216/3137/1386 3750/3620/1869 3217/3135/1384 -f 3753/3624/1873 3751/3621/1870 3750/3620/1869 -f 3754/3625/1874 3752/3622/1871 3751/3621/1870 -f 3755/3626/1875 3013/3623/1872 3752/3622/1871 -f 3216/3137/1386 3756/3627/1876 3753/3624/1873 -f 3753/3624/1873 3757/3628/1877 3754/3625/1874 -f 3754/3625/1874 3758/3629/1878 3755/3626/1875 -f 3755/3626/1875 3015/3630/1879 3014/3631/1880 -f 3233/3150/1399 3759/3632/1881 3756/3627/1876 -f 3756/3627/1876 3760/3633/1882 3757/3628/1877 -f 3757/3628/1877 3761/3634/1883 3758/3629/1878 -f 3758/3629/1878 3016/3635/1884 3015/3630/1879 -f 3241/3158/1407 3759/3632/1881 3232/3152/1401 -f 3762/3636/1885 3760/3633/1882 3759/3632/1881 -f 3763/3637/1886 3761/3634/1883 3760/3633/1882 -f 3764/3638/1887 3016/3635/1884 3761/3634/1883 -f 3240/3160/1409 3762/3636/1885 3241/3158/1407 -f 3765/3639/1888 3763/3637/1886 3762/3636/1885 -f 3766/3640/1889 3764/3638/1887 3763/3637/1886 -f 3767/3641/1890 3017/3642/1891 3764/3638/1887 -f 3244/3162/1411 3765/3639/1888 3240/3160/1409 -f 3768/3643/1892 3766/3640/1889 3765/3639/1888 -f 3769/3644/1893 3767/3641/1890 3766/3640/1889 -f 3770/3645/1894 3018/3646/1895 3767/3641/1890 -f 3244/3162/1411 3771/3647/1896 3768/3643/1892 -f 3771/3647/1896 3769/3644/1893 3768/3643/1892 -f 3772/3648/1897 3770/3645/1894 3769/3644/1893 -f 3770/3645/1894 3020/3649/1898 3019/3650/1899 -f 3246/3164/1413 3774/3651/1900 3771/3647/1896 -f 3771/3647/1896 3775/3652/1901 3772/3648/1897 -f 3772/3648/1897 3776/3653/1902 3773/3654/1903 -f 3773/3654/1903 3021/3655/1904 3020/3649/1898 -f 3248/3166/1415 3777/3656/1905 3774/3651/1900 -f 3774/3651/1900 3778/3657/1906 3775/3652/1901 -f 3775/3652/1901 3779/3658/1907 3776/3653/1902 -f 3776/3653/1902 3022/3659/1908 3021/3655/1904 -f 3250/3168/1417 3780/3660/1909 3777/3656/1905 -f 3777/3656/1905 3781/3661/1910 3778/3657/1906 -f 3778/3657/1906 3782/3662/1911 3779/3658/1907 -f 3779/3658/1907 3023/3663/1912 3022/3659/1908 -f 3236/3157/1406 3780/3660/1909 3237/3155/1404 -f 3783/3664/1913 3781/3661/1910 3780/3660/1909 -f 3784/3665/1914 3782/3662/1911 3781/3661/1910 -f 3785/3666/1915 3023/3663/1912 3782/3662/1911 -f 3253/3170/1419 3783/3664/1913 3236/3157/1406 -f 3786/3667/1916 3784/3665/1914 3783/3664/1913 -f 3787/3668/1917 3785/3666/1915 3784/3665/1914 -f 3788/3669/1918 3024/3670/1919 3785/3666/1915 -f 3253/3170/1419 3789/3671/1920 3786/3667/1916 -f 3786/3667/1916 3790/3672/1921 3787/3668/1917 -f 3787/3668/1917 3791/3673/1922 3788/3669/1918 -f 3788/3669/1918 3026/3674/1923 3025/3675/1924 -f 3261/3178/1427 3789/3671/1920 3252/3172/1421 -f 3792/3676/1925 3790/3672/1921 3789/3671/1920 -f 3793/3677/1926 3791/3673/1922 3790/3672/1921 -f 3794/3678/1927 3026/3674/1923 3791/3673/1922 -f 3260/3180/1429 3792/3676/1925 3261/3178/1427 -f 3795/3679/1928 3793/3677/1926 3792/3676/1925 -f 3796/3680/1929 3794/3678/1927 3793/3677/1926 -f 3797/3681/1930 3027/3682/1931 3794/3678/1927 -f 3264/3182/1431 3795/3679/1928 3260/3180/1429 -f 3798/3683/1932 3796/3680/1929 3795/3679/1928 -f 3799/3684/1933 3797/3681/1930 3796/3680/1929 -f 3800/3685/1934 3028/3686/1935 3797/3681/1930 -f 3264/3182/1431 3801/3687/1936 3798/3683/1932 -f 3798/3683/1932 3802/3688/1937 3799/3684/1933 -f 3802/3688/1937 3800/3685/1934 3799/3684/1933 -f 3800/3685/1934 3030/3689/1938 3029/3690/1939 -f 3266/3184/1433 3804/3691/1940 3801/3687/1936 -f 3801/3687/1936 3805/3692/1941 3802/3688/1937 -f 3802/3688/1937 3806/3693/1942 3803/3694/1943 -f 3803/3694/1943 3031/3695/1944 3030/3689/1938 -f 3268/3186/1435 3807/3696/1945 3804/3691/1940 -f 3804/3691/1940 3808/3697/1946 3805/3692/1941 -f 3805/3692/1941 3809/3698/1947 3806/3693/1942 -f 3806/3693/1942 3032/3699/1948 3031/3695/1944 -f 3270/3188/1437 3810/3700/1949 3807/3696/1945 -f 3807/3696/1945 3811/3701/1950 3808/3697/1946 -f 3808/3697/1946 3812/3702/1951 3809/3698/1947 -f 3809/3698/1947 3033/3703/1952 3032/3699/1948 -f 3256/3177/1426 3810/3700/1949 3257/3175/1424 -f 3813/3704/1953 3811/3701/1950 3810/3700/1949 -f 3814/3705/1954 3812/3702/1951 3811/3701/1950 -f 3815/3706/1955 3033/3703/1952 3812/3702/1951 -f 3273/3190/1439 3813/3704/1953 3256/3177/1426 -f 3816/3707/1956 3814/3705/1954 3813/3704/1953 -f 3817/3708/1957 3815/3706/1955 3814/3705/1954 -f 3818/3709/1958 3034/3710/1959 3815/3706/1955 -f 3272/3192/1441 3816/3707/1956 3273/3190/1439 -f 3819/3711/1960 3817/3708/1957 3816/3707/1956 -f 3820/3712/1961 3818/3709/1958 3817/3708/1957 -f 3821/3713/1962 3035/3714/1963 3818/3709/1958 -f 3272/3192/1441 3822/3715/1964 3819/3711/1960 -f 3819/3711/1960 3823/3716/1965 3820/3712/1961 -f 3820/3712/1961 3824/3717/1966 3821/3713/1962 -f 3821/3713/1962 3037/3718/1967 3036/3719/1968 -f 3281/3198/1447 3825/3720/1969 3822/3715/1964 -f 3822/3715/1964 3826/3721/1970 3823/3716/1965 -f 3823/3716/1965 3827/3722/1971 3824/3717/1966 -f 3824/3717/1966 3038/3723/1972 3037/3718/1967 -f 3280/3200/1449 3828/3724/1973 3825/3720/1969 -f 3825/3720/1969 3829/3725/1974 3826/3721/1970 -f 3826/3721/1970 3830/3726/1975 3827/3722/1971 -f 3827/3722/1971 3039/3727/1976 3038/3723/1972 -f 3284/3202/1451 3831/3728/1977 3828/3724/1973 -f 3828/3724/1973 3832/3729/1978 3829/3725/1974 -f 3832/3729/1978 3830/3726/1975 3829/3725/1974 -f 3833/3730/1979 3039/3727/1976 3830/3726/1975 -f 3288/3206/1455 3831/3728/1977 3286/3204/1453 -f 3834/3731/1980 3832/3729/1978 3831/3728/1977 -f 3835/3732/1981 3833/3730/1979 3832/3729/1978 -f 3836/3733/1982 3040/3734/1983 3833/3730/1979 -f 3290/3208/1457 3834/3731/1980 3288/3206/1455 -f 3837/3735/1984 3835/3732/1981 3834/3731/1980 -f 3838/3736/1985 3836/3733/1982 3835/3732/1981 -f 3839/3737/1986 3041/3738/1987 3836/3733/1982 -f 3277/3195/1444 3837/3735/1984 3290/3208/1457 -f 3840/3739/1988 3838/3736/1985 3837/3735/1984 -f 3841/3740/1989 3839/3737/1986 3838/3736/1985 -f 3842/3741/1990 3042/3742/1991 3839/3737/1986 -f 3277/3195/1444 3843/3743/1992 3840/3739/1988 -f 3840/3739/1988 3844/3744/1993 3841/3740/1989 -f 3841/3740/1989 3845/3745/1994 3842/3741/1990 -f 3842/3741/1990 3044/3746/1995 3043/3747/1996 -f 3276/3197/1446 3478/3262/1511 3843/3743/1992 -f 3843/3743/1992 3476/3260/1509 3844/3744/1993 -f 3844/3744/1993 3474/3258/1507 3845/3745/1994 -f 3845/3745/1994 3045/3255/1504 3044/3746/1995 -f 2899/2962/1211 3846/3748/1997 3479/3261/1510 -f 3479/3261/1510 3847/3749/1998 3477/3259/1508 -f 3477/3259/1508 3848/3750/1999 3475/3256/1505 -f 3475/3256/1505 2903/3751/2000 2902/3257/1506 -f 2898/2964/1213 3849/3752/2001 3846/3748/1997 -f 3846/3748/1997 3850/3753/2002 3847/3749/1998 -f 3847/3749/1998 3851/3754/2003 3848/3750/1999 -f 3848/3750/1999 2904/3755/2004 2903/3751/2000 -f 3301/3219/1468 3849/3752/2001 3292/3211/1460 -f 3852/3756/2005 3850/3753/2002 3849/3752/2001 -f 3853/3757/2006 3851/3754/2003 3850/3753/2002 -f 3854/3758/2007 2904/3755/2004 3851/3754/2003 -f 3300/3221/1470 3852/3756/2005 3301/3219/1468 -f 3855/3759/2008 3853/3757/2006 3852/3756/2005 -f 3856/3760/2009 3854/3758/2007 3853/3757/2006 -f 3857/3761/2010 2905/3762/2011 3854/3758/2007 -f 3304/3223/1472 3855/3759/2008 3300/3221/1470 -f 3858/3763/2012 3856/3760/2009 3855/3759/2008 -f 3859/3764/2013 3857/3761/2010 3856/3760/2009 -f 3860/3765/2014 2906/3766/2015 3857/3761/2010 -f 3304/3223/1472 3861/3767/2016 3858/3763/2012 -f 3861/3767/2016 3859/3764/2013 3858/3763/2012 -f 3862/3768/2017 3860/3765/2014 3859/3764/2013 -f 3863/3769/2018 2907/3770/2019 3860/3765/2014 -f 3306/3225/1474 3864/3771/2020 3861/3767/2016 -f 3861/3767/2016 3865/3772/2021 3862/3768/2017 -f 3862/3768/2017 3866/3773/2022 3863/3769/2018 -f 3863/3769/2018 2909/3774/2023 2908/3775/2024 -f 3308/3227/1476 3867/3776/2025 3864/3771/2020 -f 3864/3771/2020 3868/3777/2026 3865/3772/2021 -f 3865/3772/2021 3869/3778/2027 3866/3773/2022 -f 3866/3773/2022 2910/3779/2028 2909/3774/2023 -f 3310/3229/1478 3870/3780/2029 3867/3776/2025 -f 3867/3776/2025 3871/3781/2030 3868/3777/2026 -f 3868/3777/2026 3872/3782/2031 3869/3778/2027 -f 3869/3778/2027 2911/3783/2032 2910/3779/2028 -f 3296/3218/1467 3870/3780/2029 3297/3216/1465 -f 3873/3784/2033 3871/3781/2030 3870/3780/2029 -f 3874/3785/2034 3872/3782/2031 3871/3781/2030 -f 3875/3786/2035 2911/3783/2032 3872/3782/2031 -f 3296/3218/1467 3876/3787/2036 3873/3784/2033 -f 3873/3784/2033 3877/3788/2037 3874/3785/2034 -f 3874/3785/2034 3878/3789/2038 3875/3786/2035 -f 3875/3786/2035 2913/3790/2039 2912/3791/2040 -f 3313/3231/1480 3879/3792/2041 3876/3787/2036 -f 3876/3787/2036 3880/3793/2042 3877/3788/2037 -f 3877/3788/2037 3881/3794/2043 3878/3789/2038 -f 3878/3789/2038 2914/3795/2044 2913/3790/2039 -f 3319/3238/1487 3879/3792/2041 3312/3233/1482 -f 3882/3796/2045 3880/3793/2042 3879/3792/2041 -f 3880/3793/2042 3884/3797/2046 3881/3794/2043 -f 3881/3794/2043 2915/3798/2047 2914/3795/2044 -f 3319/3238/1487 3885/3799/2048 3882/3796/2045 -f 3882/3796/2045 3886/3800/2049 3883/3801/2050 -f 3886/3800/2049 3884/3797/2046 3883/3801/2050 -f 3887/3802/2051 2915/3798/2047 3884/3797/2046 -f 3318/3240/1489 3888/3803/2052 3885/3799/2048 -f 3888/3803/2052 3886/3800/2049 3885/3799/2048 -f 3889/3804/2053 3887/3802/2051 3886/3800/2049 -f 3890/3805/2054 2916/3806/2055 3887/3802/2051 -f 3322/3242/1491 3891/3807/2056 3888/3803/2052 -f 3891/3807/2056 3889/3804/2053 3888/3803/2052 -f 3889/3804/2053 3893/3808/2057 3890/3805/2054 -f 3893/3808/2057 2917/3809/2058 3890/3805/2054 -f 3324/3244/1493 3894/3810/2059 3891/3807/2056 -f 3891/3807/2056 3895/3811/2060 3892/3812/2061 -f 3895/3811/2060 3893/3808/2057 3892/3812/2061 -f 3896/3813/2062 2918/3814/2063 3893/3808/2057 -f 3328/3248/1497 3894/3810/2059 3326/3246/1495 -f 3894/3810/2059 3898/3815/2064 3895/3811/2060 -f 3895/3811/2060 3899/3816/2065 3896/3813/2062 -f 3896/3813/2062 2920/3817/2066 2919/3818/2067 -f 3316/3236/1485 3897/3819/2068 3328/3248/1497 -f 3897/3819/2068 3901/3820/2069 3898/3815/2064 -f 3901/3820/2069 3899/3816/2065 3898/3815/2064 -f 3902/3821/2070 2920/3817/2066 3899/3816/2065 -f 3047/2968/1217 3900/3822/2071 3316/3236/1485 -f 3903/3823/2072 3901/3820/2069 3900/3822/2071 -f 3904/3824/2073 3902/3821/2070 3901/3820/2069 -f 3905/3825/2074 2921/3826/2075 3902/3821/2070 -f 3047/2968/1217 3481/3264/1513 3903/3823/2072 -f 3481/3264/1513 3904/3824/2073 3903/3823/2072 -f 3483/3266/1515 3905/3825/2074 3904/3824/2073 -f 3905/3825/2074 2923/3270/1519 2922/3827/2076 -f 2900/3828/2077 3906/3829/2078 3907/3830/2079 -f 3907/3830/2079 3908/3831/2080 3909/3832/2081 -f 3909/3832/2081 3910/3833/2082 3911/3834/2083 -f 3911/3834/2083 3331/3835/2084 3330/3836/2085 -f 3452/3837/2086 3913/3838/2087 3453/3839/2088 -f 3912/3840/2089 3915/3841/2090 3913/3838/2087 -f 3914/3842/2091 3917/3843/2092 3915/3841/2090 -f 3916/3844/2093 3049/2969/1218 3917/3843/2092 -f 3452/3837/2086 3918/3845/2094 3912/3840/2089 -f 3918/3845/2094 3914/3842/2091 3912/3840/2089 -f 3919/3846/2095 3916/3844/2093 3914/3842/2091 -f 3916/3844/2093 3052/2990/1239 3071/3012/1261 -f 3451/3847/2096 3921/3848/2097 3918/3845/2094 -f 3921/3848/2097 3919/3846/2095 3918/3845/2094 -f 3919/3846/2095 3923/3849/2098 3920/3850/2099 -f 3923/3849/2098 3052/2990/1239 3920/3850/2099 -f 3449/3851/2100 3921/3848/2097 3450/3852/2101 -f 3924/3853/2102 3922/3854/2103 3921/3848/2097 -f 3922/3854/2103 3926/3855/2104 3923/3849/2098 -f 3923/3849/2098 3055/2974/1223 3053/2972/1221 -f 3449/3851/2100 3927/3856/2105 3924/3853/2102 -f 3927/3856/2105 3925/3857/2106 3924/3853/2102 -f 3928/3858/2107 3926/3855/2104 3925/3857/2106 -f 3926/3855/2104 3057/2976/1225 3055/2974/1223 -f 3447/3859/2108 3927/3856/2105 3448/3860/2109 -f 3930/3861/2110 3928/3858/2107 3927/3856/2105 -f 3928/3858/2107 3932/3862/2111 3929/3863/2112 -f 3929/3863/2112 3059/2978/1227 3057/2976/1225 -f 3446/3864/2113 3930/3861/2110 3447/3859/2108 -f 3930/3861/2110 3934/3865/2114 3931/3866/2115 -f 3931/3866/2115 3935/3867/2116 3932/3862/2111 -f 3935/3867/2116 3059/2978/1227 3932/3862/2111 -f 3446/3864/2113 3936/3868/2117 3933/3869/2118 -f 3933/3869/2118 3937/3870/2119 3934/3865/2114 -f 3937/3870/2119 3935/3867/2116 3934/3865/2114 -f 3938/3871/2120 3061/2980/1229 3935/3867/2116 -f 3445/3872/2121 3939/3873/2122 3936/3868/2117 -f 3936/3868/2117 3940/3874/2123 3937/3870/2119 -f 3937/3870/2119 3941/3875/2124 3938/3871/2120 -f 3938/3871/2120 3069/3254/1503 3063/2982/1231 -f 3444/3876/2125 3942/3877/2126 3939/3873/2122 -f 3939/3873/2122 3943/3878/2127 3940/3874/2123 -f 3940/3874/2123 3944/3879/2128 3941/3875/2124 -f 3941/3875/2124 3066/2988/1237 3069/3254/1503 -f 3443/3880/2129 3945/3881/2130 3942/3877/2126 -f 3942/3877/2126 3946/3882/2131 3943/3878/2127 -f 3943/3878/2127 3947/3883/2132 3944/3879/2128 -f 3944/3879/2128 3067/2985/1234 3066/2988/1237 -f 3441/3884/2133 3945/3881/2130 3442/3885/2134 -f 3948/3886/2135 3946/3882/2131 3945/3881/2130 -f 3949/3887/2136 3947/3883/2132 3946/3882/2131 -f 3950/3888/2137 3067/2985/1234 3947/3883/2132 -f 3440/3889/2138 3948/3886/2135 3441/3884/2133 -f 3951/3890/2139 3949/3887/2136 3948/3886/2135 -f 3952/3891/2140 3950/3888/2137 3949/3887/2136 -f 3953/3892/2141 3078/3009/1258 3950/3888/2137 -f 3439/3893/2142 3951/3890/2139 3440/3889/2138 -f 3954/3894/2143 3952/3891/2140 3951/3890/2139 -f 3955/3895/2144 3953/3892/2141 3952/3891/2140 -f 3956/3896/2145 3079/2995/1244 3953/3892/2141 -f 3439/3893/2142 3957/3897/2146 3954/3894/2143 -f 3954/3894/2143 3958/3898/2147 3955/3895/2144 -f 3958/3898/2147 3956/3896/2145 3955/3895/2144 -f 3959/3899/2148 3081/2997/1246 3956/3896/2145 -f 3438/3900/2149 3960/3901/2150 3957/3897/2146 -f 3957/3897/2146 3961/3902/2151 3958/3898/2147 -f 3958/3898/2147 3962/3903/2152 3959/3899/2148 -f 3959/3899/2148 3085/3001/1250 3083/2999/1248 -f 3437/3904/2153 3963/3905/2154 3960/3901/2150 -f 3960/3901/2150 3964/3906/2155 3961/3902/2151 -f 3961/3902/2151 3965/3907/2156 3962/3903/2152 -f 3962/3903/2152 3087/3003/1252 3085/3001/1250 -f 3436/3908/2157 3966/3909/2158 3963/3905/2154 -f 3963/3905/2154 3967/3910/2159 3964/3906/2155 -f 3964/3906/2155 3968/3911/2160 3965/3907/2156 -f 3965/3907/2156 3074/3005/1254 3087/3003/1252 -f 3434/3912/2161 3966/3909/2158 3435/3913/2162 -f 3969/3914/2163 3967/3910/2159 3966/3909/2158 -f 3970/3915/2164 3968/3911/2160 3967/3910/2159 -f 3971/3916/2165 3074/3005/1254 3968/3911/2160 -f 3433/3917/2166 3969/3914/2163 3434/3912/2161 -f 3972/3918/2167 3970/3915/2164 3969/3914/2163 -f 3973/3919/2168 3971/3916/2165 3970/3915/2164 -f 3974/3920/2169 3075/2992/1241 3971/3916/2165 -f 3433/3917/2166 3975/3921/2170 3972/3918/2167 -f 3972/3918/2167 3976/3922/2171 3973/3919/2168 -f 3973/3919/2168 3977/3923/2172 3974/3920/2169 -f 3974/3920/2169 3090/3011/1260 3093/3134/1383 -f 3432/3924/2173 3978/3925/2174 3975/3921/2170 -f 3975/3921/2170 3979/3926/2175 3976/3922/2171 -f 3976/3922/2171 3980/3927/2176 3977/3923/2172 -f 3977/3923/2172 3091/3007/1256 3090/3011/1260 -f 3431/3928/2177 3981/3929/2178 3978/3925/2174 -f 3978/3925/2174 3982/3930/2179 3979/3926/2175 -f 3979/3926/2175 3983/3931/2180 3980/3927/2176 -f 3980/3927/2176 3100/3032/1281 3091/3007/1256 -f 3430/3932/2181 3984/3933/2182 3981/3929/2178 -f 3981/3929/2178 3985/3934/2183 3982/3930/2179 -f 3982/3930/2179 3986/3935/2184 3983/3931/2180 -f 3983/3931/2180 3101/3017/1266 3100/3032/1281 -f 3429/3936/2185 3987/3937/2186 3984/3933/2182 -f 3984/3933/2182 3988/3938/2187 3985/3934/2183 -f 3985/3934/2183 3989/3939/2188 3986/3935/2184 -f 3986/3935/2184 3103/3019/1268 3101/3017/1266 -f 3428/3940/2189 3990/3941/2190 3987/3937/2186 -f 3990/3941/2190 3988/3938/2187 3987/3937/2186 -f 3988/3938/2187 3992/3942/2191 3989/3939/2188 -f 3992/3942/2191 3103/3019/1268 3989/3939/2188 -f 3426/3943/2192 3990/3941/2190 3427/3944/2193 -f 3993/3945/2194 3991/3946/2195 3990/3941/2190 -f 3994/3947/2196 3992/3942/2191 3991/3946/2195 -f 3995/3948/2197 3105/3021/1270 3992/3942/2191 -f 3425/3949/2198 3993/3945/2194 3426/3943/2192 -f 3996/3950/2199 3994/3947/2196 3993/3945/2194 -f 3997/3951/2200 3995/3948/2197 3994/3947/2196 -f 3998/3952/2201 3107/3023/1272 3995/3948/2197 -f 3424/3953/2202 3996/3950/2199 3425/3949/2198 -f 3999/3954/2203 3997/3951/2200 3996/3950/2199 -f 4000/3955/2204 3998/3952/2201 3997/3951/2200 -f 4001/3956/2205 3109/3025/1274 3998/3952/2201 -f 3423/3957/2206 3999/3954/2203 3424/3953/2202 -f 4002/3958/2207 4000/3955/2204 3999/3954/2203 -f 4003/3959/2208 4001/3956/2205 4000/3955/2204 -f 4004/3960/2209 3096/3027/1276 4001/3956/2205 -f 3422/3961/2210 4002/3958/2207 3423/3957/2206 -f 4005/3962/2211 4003/3959/2208 4002/3958/2207 -f 4006/3963/2212 4004/3960/2209 4003/3959/2208 -f 4007/3964/2213 3097/3014/1263 4004/3960/2209 -f 3422/3961/2210 4008/3965/2214 4005/3962/2211 -f 4005/3962/2211 4009/3966/2215 4006/3963/2212 -f 4006/3963/2212 4010/3967/2216 4007/3964/2213 -f 4007/3964/2213 3113/3029/1278 3112/3031/1280 -f 3420/3252/1501 4008/3965/2214 3421/3968/2217 -f 4011/3969/2218 4009/3966/2215 4008/3965/2214 -f 4012/3970/2219 4010/3967/2216 4009/3966/2215 -f 4013/3971/2220 3113/3029/1278 4010/3967/2216 -f 3419/3251/1500 4011/3969/2218 3420/3252/1501 -f 4014/3972/2221 4012/3970/2219 4011/3969/2218 -f 4015/3973/2222 4013/3971/2220 4012/3970/2219 -f 4016/3974/2223 3120/3052/1301 4013/3971/2220 -f 3418/3975/2224 4014/3972/2221 3419/3251/1500 -f 4017/3976/2225 4015/3973/2222 4014/3972/2221 -f 4018/3977/2226 4016/3974/2223 4015/3973/2222 -f 4019/3978/2227 3121/3037/1286 4016/3974/2223 -f 3417/3979/2228 4017/3976/2225 3418/3975/2224 -f 4017/3976/2225 4021/3980/2229 4018/3977/2226 -f 4021/3980/2229 4019/3978/2227 4018/3977/2226 -f 4019/3978/2227 3125/3041/1290 3123/3039/1288 -f 3417/3979/2228 4023/3981/2230 4020/3982/2231 -f 4020/3982/2231 4024/3983/2232 4021/3980/2229 -f 4021/3980/2229 4025/3984/2233 4022/3985/2234 -f 4022/3985/2234 3127/3043/1292 3125/3041/1290 -f 3416/3986/2235 4026/3987/2236 4023/3981/2230 -f 4023/3981/2230 4027/3988/2237 4024/3983/2232 -f 4024/3983/2232 4028/3989/2238 4025/3984/2233 -f 4025/3984/2233 3129/3045/1294 3127/3043/1292 -f 3415/3990/2239 4029/3991/2240 4026/3987/2236 -f 4026/3987/2236 4030/3992/2241 4027/3988/2237 -f 4027/3988/2237 4031/3993/2242 4028/3989/2238 -f 4028/3989/2238 3116/3047/1296 3129/3045/1294 -f 3413/3994/2243 4029/3991/2240 3414/3995/2244 -f 4032/3996/2245 4030/3992/2241 4029/3991/2240 -f 4033/3997/2246 4031/3993/2242 4030/3992/2241 -f 4034/3998/2247 3116/3047/1296 4031/3993/2242 -f 3412/3999/2248 4032/3996/2245 3413/3994/2243 -f 4035/4000/2249 4033/3997/2246 4032/3996/2245 -f 4036/4001/2250 4034/3998/2247 4033/3997/2246 -f 4037/4002/2251 3117/3034/1283 4034/3998/2247 -f 3411/4003/2252 4035/4000/2249 3412/3999/2248 -f 4038/4004/2253 4036/4001/2250 4035/4000/2249 -f 4039/4005/2254 4037/4002/2251 4036/4001/2250 -f 4040/4006/2255 3132/3051/1300 4037/4002/2251 -f 3411/4003/2252 4041/4007/2256 4038/4004/2253 -f 4038/4004/2253 4042/4008/2257 4039/4005/2254 -f 4039/4005/2254 4043/4009/2258 4040/4006/2255 -f 4040/4006/2255 3140/3072/1321 3133/3049/1298 -f 3410/4010/2259 4044/4011/2260 4041/4007/2256 -f 4041/4007/2256 4045/4012/2261 4042/4008/2257 -f 4042/4008/2257 4046/4013/2262 4043/4009/2258 -f 4043/4009/2258 3141/3057/1306 3140/3072/1321 -f 3409/4014/2263 4047/4015/2264 4044/4011/2260 -f 4044/4011/2260 4048/4016/2265 4045/4012/2261 -f 4045/4012/2261 4049/4017/2266 4046/4013/2262 -f 4046/4013/2262 3143/3059/1308 3141/3057/1306 -f 3408/4018/2267 4050/4019/2268 4047/4015/2264 -f 4047/4015/2264 4051/4020/2269 4048/4016/2265 -f 4048/4016/2265 4052/4021/2270 4049/4017/2266 -f 4049/4017/2266 3145/3061/1310 3143/3059/1308 -f 3406/4022/2271 4050/4019/2268 3407/4023/2272 -f 4053/4024/2273 4051/4020/2269 4050/4019/2268 -f 4054/4025/2274 4052/4021/2270 4051/4020/2269 -f 4055/4026/2275 3145/3061/1310 4052/4021/2270 -f 3405/4027/2276 4053/4024/2273 3406/4022/2271 -f 4056/4028/2277 4054/4025/2274 4053/4024/2273 -f 4057/4029/2278 4055/4026/2275 4054/4025/2274 -f 4058/4030/2279 3147/3063/1312 4055/4026/2275 -f 3404/4031/2280 4056/4028/2277 3405/4027/2276 -f 4059/4032/2281 4057/4029/2278 4056/4028/2277 -f 4060/4033/2282 4058/4030/2279 4057/4029/2278 -f 4061/4034/2283 3149/3065/1314 4058/4030/2279 -f 3404/4031/2280 4062/4035/2284 4059/4032/2281 -f 4059/4032/2281 4063/4036/2285 4060/4033/2282 -f 4060/4033/2282 4064/4037/2286 4061/4034/2283 -f 4061/4034/2283 3137/3054/1303 3136/3067/1316 -f 3402/4038/2287 4062/4035/2284 3403/4039/2288 -f 4065/4040/2289 4063/4036/2285 4062/4035/2284 -f 4066/4041/2290 4064/4037/2286 4063/4036/2285 -f 4067/4042/2291 3137/3054/1303 4064/4037/2286 -f 3401/4043/2292 4065/4040/2289 3402/4038/2287 -f 4068/4044/2293 4066/4041/2290 4065/4040/2289 -f 4069/4045/2294 4067/4042/2291 4066/4041/2290 -f 4070/4046/2295 3152/3071/1320 4067/4042/2291 -f 3401/4043/2292 4071/4047/2296 4068/4044/2293 -f 4068/4044/2293 4072/4048/2297 4069/4045/2294 -f 4069/4045/2294 4073/4049/2298 4070/4046/2295 -f 4070/4046/2295 3160/3092/1341 3153/3069/1318 -f 3400/4050/2299 4074/4051/2300 4071/4047/2296 -f 4071/4047/2296 4075/4052/2301 4072/4048/2297 -f 4072/4048/2297 4076/4053/2302 4073/4049/2298 -f 4073/4049/2298 3161/3077/1326 3160/3092/1341 -f 3399/4054/2303 4077/4055/2304 4074/4051/2300 -f 4074/4051/2300 4078/4056/2305 4075/4052/2301 -f 4075/4052/2301 4079/4057/2306 4076/4053/2302 -f 4076/4053/2302 3163/3079/1328 3161/3077/1326 -f 3398/4058/2307 4080/4059/2308 4077/4055/2304 -f 4080/4059/2308 4078/4056/2305 4077/4055/2304 -f 4078/4056/2305 4082/4060/2309 4079/4057/2306 -f 4082/4060/2309 3163/3079/1328 4079/4057/2306 -f 3396/4061/2310 4080/4059/2308 3397/4062/2311 -f 4083/4063/2312 4081/4064/2313 4080/4059/2308 -f 4084/4065/2314 4082/4060/2309 4081/4064/2313 -f 4085/4066/2315 3165/3081/1330 4082/4060/2309 -f 3395/4067/2316 4083/4063/2312 3396/4061/2310 -f 4086/4068/2317 4084/4065/2314 4083/4063/2312 -f 4087/4069/2318 4085/4066/2315 4084/4065/2314 -f 4088/4070/2319 3167/3083/1332 4085/4066/2315 -f 3394/4071/2320 4086/4068/2317 3395/4067/2316 -f 4089/4072/2321 4087/4069/2318 4086/4068/2317 -f 4090/4073/2322 4088/4070/2319 4087/4069/2318 -f 4091/4074/2323 3169/3085/1334 4088/4070/2319 -f 3394/4071/2320 4092/4075/2324 4089/4072/2321 -f 4089/4072/2321 4093/4076/2325 4090/4073/2322 -f 4090/4073/2322 4094/4077/2326 4091/4074/2323 -f 4091/4074/2323 3157/3074/1323 3156/3087/1336 -f 3393/4078/2327 4095/4079/2328 4092/4075/2324 -f 4092/4075/2324 4096/4080/2329 4093/4076/2325 -f 4093/4076/2325 4097/4081/2330 4094/4077/2326 -f 4094/4077/2326 3172/3091/1340 3157/3074/1323 -f 3391/4082/2331 4095/4079/2328 3392/4083/2332 -f 4098/4084/2333 4096/4080/2329 4095/4079/2328 -f 4099/4085/2334 4097/4081/2330 4096/4080/2329 -f 4100/4086/2335 3172/3091/1340 4097/4081/2330 -f 3391/4082/2331 4101/4087/2336 4098/4084/2333 -f 4098/4084/2333 4102/4088/2337 4099/4085/2334 -f 4099/4085/2334 4103/4089/2338 4100/4086/2335 -f 4100/4086/2335 3180/3112/1361 3173/3089/1338 -f 3390/4090/2339 4104/4091/2340 4101/4087/2336 -f 4101/4087/2336 4105/4092/2341 4102/4088/2337 -f 4102/4088/2337 4106/4093/2342 4103/4089/2338 -f 4103/4089/2338 3181/3097/1346 3180/3112/1361 -f 3389/4094/2343 4107/4095/2344 4104/4091/2340 -f 4104/4091/2340 4108/4096/2345 4105/4092/2341 -f 4105/4092/2341 4109/4097/2346 4106/4093/2342 -f 4106/4093/2342 3183/3099/1348 3181/3097/1346 -f 3388/4098/2347 4110/4099/2348 4107/4095/2344 -f 4110/4099/2348 4108/4096/2345 4107/4095/2344 -f 4108/4096/2345 4112/4100/2349 4109/4097/2346 -f 4112/4100/2349 3183/3099/1348 4109/4097/2346 -f 3386/4101/2350 4110/4099/2348 3387/4102/2351 -f 4113/4103/2352 4111/4104/2353 4110/4099/2348 -f 4114/4105/2354 4112/4100/2349 4111/4104/2353 -f 4115/4106/2355 3185/3101/1350 4112/4100/2349 -f 3385/4107/2356 4113/4103/2352 3386/4101/2350 -f 4116/4108/2357 4114/4105/2354 4113/4103/2352 -f 4117/4109/2358 4115/4106/2355 4114/4105/2354 -f 4118/4110/2359 3187/3103/1352 4115/4106/2355 -f 3384/4111/2360 4116/4108/2357 3385/4107/2356 -f 4119/4112/2361 4117/4109/2358 4116/4108/2357 -f 4120/4113/2362 4118/4110/2359 4117/4109/2358 -f 4121/4114/2363 3189/3105/1354 4118/4110/2359 -f 3384/4111/2360 4122/4115/2364 4119/4112/2361 -f 4119/4112/2361 4123/4116/2365 4120/4113/2362 -f 4120/4113/2362 4124/4117/2366 4121/4114/2363 -f 4121/4114/2363 3177/3094/1343 3176/3107/1356 -f 3383/4118/2367 4125/4119/2368 4122/4115/2364 -f 4122/4115/2364 4126/4120/2369 4123/4116/2365 -f 4123/4116/2365 4127/4121/2370 4124/4117/2366 -f 4124/4117/2366 3192/3111/1360 3177/3094/1343 -f 3381/4122/2371 4125/4119/2368 3382/3250/1499 -f 4128/4123/2372 4126/4120/2369 4125/4119/2368 -f 4129/4124/2373 4127/4121/2370 4126/4120/2369 -f 4130/4125/2374 3192/3111/1360 4127/4121/2370 -f 3381/4122/2371 4131/4126/2375 4128/4123/2372 -f 4128/4123/2372 4132/4127/2376 4129/4124/2373 -f 4129/4124/2373 4133/4128/2377 4130/4125/2374 -f 4130/4125/2374 3200/3131/1380 3193/3109/1358 -f 3380/4129/2378 4134/4130/2379 4131/4126/2375 -f 4131/4126/2375 4135/4131/2380 4132/4127/2376 -f 4132/4127/2376 4136/4132/2381 4133/4128/2377 -f 4133/4128/2377 3201/3117/1366 3200/3131/1380 -f 3379/4133/2382 4137/4134/2383 4134/4130/2379 -f 4134/4130/2379 4138/4135/2384 4135/4131/2380 -f 4135/4131/2380 4139/4136/2385 4136/4132/2381 -f 4136/4132/2381 3203/3119/1368 3201/3117/1366 -f 3377/4137/2386 4137/4134/2383 3378/4138/2387 -f 4137/4134/2383 4141/4139/2388 4138/4135/2384 -f 4141/4139/2388 4139/4136/2385 4138/4135/2384 -f 4142/4140/2389 3203/3119/1368 4139/4136/2385 -f 3376/4141/2390 4140/4142/2391 3377/4137/2386 -f 4143/4143/2392 4141/4139/2388 4140/4142/2391 -f 4144/4144/2393 4142/4140/2389 4141/4139/2388 -f 4145/4145/2394 3205/3121/1370 4142/4140/2389 -f 3375/4146/2395 4143/4143/2392 3376/4141/2390 -f 4146/4147/2396 4144/4144/2393 4143/4143/2392 -f 4147/4148/2397 4145/4145/2394 4144/4144/2393 -f 4148/4149/2398 3207/3123/1372 4145/4145/2394 -f 3374/4150/2399 4146/4147/2396 3375/4146/2395 -f 4149/4151/2400 4147/4148/2397 4146/4147/2396 -f 4150/4152/2401 4148/4149/2398 4147/4148/2397 -f 4151/4153/2402 3209/3125/1374 4148/4149/2398 -f 3374/4150/2399 4152/4154/2403 4149/4151/2400 -f 4149/4151/2400 4153/4155/2404 4150/4152/2401 -f 4150/4152/2401 4154/4156/2405 4151/4153/2402 -f 4151/4153/2402 3197/3114/1363 3196/3127/1376 -f 3373/4157/2406 4155/4158/2407 4152/4154/2403 -f 4152/4154/2403 4156/4159/2408 4153/4155/2404 -f 4153/4155/2404 4157/4160/2409 4154/4156/2405 -f 4154/4156/2405 3215/3213/1462 3197/3114/1363 -f 3371/4161/2410 4155/4158/2407 3372/4162/2411 -f 4158/4163/2412 4156/4159/2408 4155/4158/2407 -f 4159/4164/2413 4157/4160/2409 4156/4159/2408 -f 4160/4165/2414 3215/3213/1462 4157/4160/2409 -f 3370/4166/2415 4158/4163/2412 3371/4161/2410 -f 4161/4167/2416 4159/4164/2413 4158/4163/2412 -f 4162/4168/2417 4160/4165/2414 4159/4164/2413 -f 4163/4169/2418 3212/3133/1382 4160/4165/2414 -f 3370/4166/2415 4164/4170/2419 4161/4167/2416 -f 4161/4167/2416 4165/4171/2420 4162/4168/2417 -f 4162/4168/2417 4166/4172/2421 4163/4169/2418 -f 4163/4169/2418 3222/3154/1403 3213/3129/1378 -f 3369/4173/2422 4167/4174/2423 4164/4170/2419 -f 4164/4170/2419 4168/4175/2424 4165/4171/2420 -f 4165/4171/2420 4169/4176/2425 4166/4172/2421 -f 4166/4172/2421 3223/3139/1388 3222/3154/1403 -f 3368/4177/2426 4170/4178/2427 4167/4174/2423 -f 4167/4174/2423 4171/4179/2428 4168/4175/2424 -f 4168/4175/2424 4172/4180/2429 4169/4176/2425 -f 4169/4176/2425 3225/3141/1390 3223/3139/1388 -f 3366/4181/2430 4170/4178/2427 3367/4182/2431 -f 4173/4183/2432 4171/4179/2428 4170/4178/2427 -f 4171/4179/2428 4175/4184/2433 4172/4180/2429 -f 4175/4184/2433 3225/3141/1390 4172/4180/2429 -f 3365/4185/2434 4173/4183/2432 3366/4181/2430 -f 4176/4186/2435 4174/4187/2436 4173/4183/2432 -f 4177/4188/2437 4175/4184/2433 4174/4187/2436 -f 4178/4189/2438 3227/3143/1392 4175/4184/2433 -f 3364/4190/2439 4176/4186/2435 3365/4185/2434 -f 4179/4191/2440 4177/4188/2437 4176/4186/2435 -f 4180/4192/2441 4178/4189/2438 4177/4188/2437 -f 4181/4193/2442 3229/3145/1394 4178/4189/2438 -f 3363/4194/2443 4179/4191/2440 3364/4190/2439 -f 4182/4195/2444 4180/4192/2441 4179/4191/2440 -f 4183/4196/2445 4181/4193/2442 4180/4192/2441 -f 4184/4197/2446 3231/3147/1396 4181/4193/2442 -f 3363/4194/2443 4185/4198/2447 4182/4195/2444 -f 4182/4195/2444 4186/4199/2448 4183/4196/2445 -f 4183/4196/2445 4187/4200/2449 4184/4197/2446 -f 4184/4197/2446 3219/3136/1385 3218/3149/1398 -f 3361/4201/2450 4185/4198/2447 3362/4202/2451 -f 4188/4203/2452 4186/4199/2448 4185/4198/2447 -f 4189/4204/2453 4187/4200/2449 4186/4199/2448 -f 4190/4205/2454 3219/3136/1385 4187/4200/2449 -f 3360/4206/2455 4188/4203/2452 3361/4201/2450 -f 4191/4207/2456 4189/4204/2453 4188/4203/2452 -f 4192/4208/2457 4190/4205/2454 4189/4204/2453 -f 4193/4209/2458 3234/3153/1402 4190/4205/2454 -f 3360/4206/2455 4194/4210/2459 4191/4207/2456 -f 4191/4207/2456 4195/4211/2460 4192/4208/2457 -f 4192/4208/2457 4196/4212/2461 4193/4209/2458 -f 4193/4209/2458 3242/3174/1423 3235/3151/1400 -f 3359/4213/2462 4197/4214/2463 4194/4210/2459 -f 4194/4210/2459 4198/4215/2464 4195/4211/2460 -f 4195/4211/2460 4199/4216/2465 4196/4212/2461 -f 4196/4212/2461 3243/3159/1408 3242/3174/1423 -f 3358/4217/2466 4200/4218/2467 4197/4214/2463 -f 4197/4214/2463 4201/4219/2468 4198/4215/2464 -f 4198/4215/2464 4202/4220/2469 4199/4216/2465 -f 4199/4216/2465 3245/3161/1410 3243/3159/1408 -f 3356/4221/2470 4200/4218/2467 3357/4222/2471 -f 4200/4218/2467 4204/4223/2472 4201/4219/2468 -f 4201/4219/2468 4205/4224/2473 4202/4220/2469 -f 4202/4220/2469 3247/3163/1412 3245/3161/1410 -f 3355/4225/2474 4203/4226/2475 3356/4221/2470 -f 4206/4227/2476 4204/4223/2472 4203/4226/2475 -f 4207/4228/2477 4205/4224/2473 4204/4223/2472 -f 4208/4229/2478 3247/3163/1412 4205/4224/2473 -f 3354/4230/2479 4206/4227/2476 3355/4225/2474 -f 4209/4231/2480 4207/4228/2477 4206/4227/2476 -f 4210/4232/2481 4208/4229/2478 4207/4228/2477 -f 4211/4233/2482 3249/3165/1414 4208/4229/2478 -f 3353/4234/2483 4209/4231/2480 3354/4230/2479 -f 4212/4235/2484 4210/4232/2481 4209/4231/2480 -f 4213/4236/2485 4211/4233/2482 4210/4232/2481 -f 4214/4237/2486 3251/3167/1416 4211/4233/2482 -f 3353/4234/2483 4215/4238/2487 4212/4235/2484 -f 4212/4235/2484 4216/4239/2488 4213/4236/2485 -f 4213/4236/2485 4217/4240/2489 4214/4237/2486 -f 4214/4237/2486 3239/3156/1405 3238/3169/1418 -f 3352/4241/2490 4218/4242/2491 4215/4238/2487 -f 4215/4238/2487 4219/4243/2492 4216/4239/2488 -f 4216/4239/2488 4220/4244/2493 4217/4240/2489 -f 4217/4240/2489 3254/3173/1422 3239/3156/1405 -f 3350/4245/2494 4218/4242/2491 3351/4246/2495 -f 4221/4247/2496 4219/4243/2492 4218/4242/2491 -f 4222/4248/2497 4220/4244/2493 4219/4243/2492 -f 4223/4249/2498 3254/3173/1422 4220/4244/2493 -f 3350/4245/2494 4224/4250/2499 4221/4247/2496 -f 4221/4247/2496 4225/4251/2500 4222/4248/2497 -f 4222/4248/2497 4226/4252/2501 4223/4249/2498 -f 4223/4249/2498 3262/3194/1443 3255/3171/1420 -f 3349/4253/2502 4227/4254/2503 4224/4250/2499 -f 4224/4250/2499 4228/4255/2504 4225/4251/2500 -f 4225/4251/2500 4229/4256/2505 4226/4252/2501 -f 4226/4252/2501 3263/3179/1428 3262/3194/1443 -f 3348/4257/2506 4230/4258/2507 4227/4254/2503 -f 4227/4254/2503 4231/4259/2508 4228/4255/2504 -f 4228/4255/2504 4232/4260/2509 4229/4256/2505 -f 4229/4256/2505 3265/3181/1430 3263/3179/1428 -f 3346/4261/2510 4230/4258/2507 3347/4262/2511 -f 4230/4258/2507 4234/4263/2512 4231/4259/2508 -f 4234/4263/2512 4232/4260/2509 4231/4259/2508 -f 4235/4264/2513 3265/3181/1430 4232/4260/2509 -f 3345/4265/2514 4233/4266/2515 3346/4261/2510 -f 4236/4267/2516 4234/4263/2512 4233/4266/2515 -f 4237/4268/2517 4235/4264/2513 4234/4263/2512 -f 4238/4269/2518 3267/3183/1432 4235/4264/2513 -f 3344/4270/2519 4236/4267/2516 3345/4265/2514 -f 4239/4271/2520 4237/4268/2517 4236/4267/2516 -f 4240/4272/2521 4238/4269/2518 4237/4268/2517 -f 4241/4273/2522 3269/3185/1434 4238/4269/2518 -f 3343/4274/2523 4239/4271/2520 3344/4270/2519 -f 4242/4275/2524 4240/4272/2521 4239/4271/2520 -f 4243/4276/2525 4241/4273/2522 4240/4272/2521 -f 4244/4277/2526 3271/3187/1436 4241/4273/2522 -f 3343/4274/2523 4245/4278/2527 4242/4275/2524 -f 4242/4275/2524 4246/4279/2528 4243/4276/2525 -f 4243/4276/2525 4247/4280/2529 4244/4277/2526 -f 4244/4277/2526 3259/3176/1425 3258/3189/1438 -f 3342/4281/2530 4248/4282/2531 4245/4278/2527 -f 4245/4278/2527 4249/4283/2532 4246/4279/2528 -f 4246/4279/2528 4250/4284/2533 4247/4280/2529 -f 4247/4280/2529 3274/3193/1442 3259/3176/1425 -f 3341/4285/2534 4251/4286/2535 4248/4282/2531 -f 4248/4282/2531 4252/4287/2536 4249/4283/2532 -f 4249/4283/2532 4253/4288/2537 4250/4284/2533 -f 4250/4284/2533 3275/3191/1440 3274/3193/1442 -f 3339/4289/2538 4251/4286/2535 3340/4290/2539 -f 4254/4291/2540 4252/4287/2536 4251/4286/2535 -f 4255/4292/2541 4253/4288/2537 4252/4287/2536 -f 4256/4293/2542 3275/3191/1440 4253/4288/2537 -f 3338/4294/2543 4254/4291/2540 3339/4289/2538 -f 4257/4295/2544 4255/4292/2541 4254/4291/2540 -f 4258/4296/2545 4256/4293/2542 4255/4292/2541 -f 4259/4297/2546 3282/3212/1461 4256/4293/2542 -f 3337/4298/2547 4257/4295/2544 3338/4294/2543 -f 4260/4299/2548 4258/4296/2545 4257/4295/2544 -f 4261/4300/2549 4259/4297/2546 4258/4296/2545 -f 4262/4301/2550 3283/3199/1448 4259/4297/2546 -f 3337/4298/2547 4263/4302/2551 4260/4299/2548 -f 4260/4299/2548 4264/4303/2552 4261/4300/2549 -f 4264/4303/2552 4262/4301/2550 4261/4300/2549 -f 4265/4304/2553 3285/3201/1450 4262/4301/2550 -f 3336/4305/2554 4266/4306/2555 4263/4302/2551 -f 4263/4302/2551 4267/4307/2556 4264/4303/2552 -f 4264/4303/2552 4268/4308/2557 4265/4304/2553 -f 4265/4304/2553 3289/3205/1454 3287/3203/1452 -f 3335/4309/2558 4269/4310/2559 4266/4306/2555 -f 4266/4306/2555 4270/4311/2560 4267/4307/2556 -f 4267/4307/2556 4271/4312/2561 4268/4308/2557 -f 4268/4308/2557 3291/3207/1456 3289/3205/1454 -f 3334/4313/2562 4272/4314/2563 4269/4310/2559 -f 4269/4310/2559 4273/4315/2564 4270/4311/2560 -f 4270/4311/2560 4274/4316/2565 4271/4312/2561 -f 4271/4312/2561 3278/3209/1458 3291/3207/1456 -f 3332/4317/2566 4272/4314/2563 3333/4318/2567 -f 4275/4319/2568 4273/4315/2564 4272/4314/2563 -f 4276/4320/2569 4274/4316/2565 4273/4315/2564 -f 4277/4321/2570 3278/3209/1458 4274/4316/2565 -f 3331/3835/2084 4275/4319/2568 3332/4317/2566 -f 3910/3833/2082 4276/4320/2569 4275/4319/2568 -f 3908/3831/2080 4277/4321/2570 4276/4320/2569 -f 3906/3829/2078 3279/3196/1445 4277/4321/2570 -f 3473/4322/2571 3911/3834/2083 3330/3836/2085 -f 4278/4323/2572 3909/3832/2081 3911/3834/2083 -f 4279/4324/2573 3907/3830/2079 3909/3832/2081 -f 4280/4325/2574 2900/3828/2077 3907/3830/2079 -f 3472/4326/2575 4278/4323/2572 3473/4322/2571 -f 4281/4327/2576 4279/4324/2573 4278/4323/2572 -f 4282/4328/2577 4280/4325/2574 4279/4324/2573 -f 4283/4329/2578 2901/2963/1212 4280/4325/2574 -f 3472/4326/2575 4284/4330/2579 4281/4327/2576 -f 4281/4327/2576 4285/4331/2580 4282/4328/2577 -f 4282/4328/2577 4286/4332/2581 4283/4329/2578 -f 4283/4329/2578 3302/3235/1484 3293/3210/1459 -f 3471/4333/2582 4287/4334/2583 4284/4330/2579 -f 4284/4330/2579 4288/4335/2584 4285/4331/2580 -f 4285/4331/2580 4289/4336/2585 4286/4332/2581 -f 4286/4332/2581 3303/3220/1469 3302/3235/1484 -f 3470/4337/2586 4290/4338/2587 4287/4334/2583 -f 4287/4334/2583 4291/4339/2588 4288/4335/2584 -f 4288/4335/2584 4292/4340/2589 4289/4336/2585 -f 4289/4336/2585 3305/3222/1471 3303/3220/1469 -f 3469/4341/2590 4293/4342/2591 4290/4338/2587 -f 4290/4338/2587 4294/4343/2592 4291/4339/2588 -f 4291/4339/2588 4295/4344/2593 4292/4340/2589 -f 4292/4340/2589 3307/3224/1473 3305/3222/1471 -f 3467/4345/2594 4293/4342/2591 3468/4346/2595 -f 4296/4347/2596 4294/4343/2592 4293/4342/2591 -f 4297/4348/2597 4295/4344/2593 4294/4343/2592 -f 4298/4349/2598 3307/3224/1473 4295/4344/2593 -f 3466/4350/2599 4296/4347/2596 3467/4345/2594 -f 4299/4351/2600 4297/4348/2597 4296/4347/2596 -f 4300/4352/2601 4298/4349/2598 4297/4348/2597 -f 4301/4353/2602 3309/3226/1475 4298/4349/2598 -f 3465/4354/2603 4299/4351/2600 3466/4350/2599 -f 4302/4355/2604 4300/4352/2601 4299/4351/2600 -f 4303/4356/2605 4301/4353/2602 4300/4352/2601 -f 4304/4357/2606 3311/3228/1477 4301/4353/2602 -f 3465/4354/2603 4305/4358/2607 4302/4355/2604 -f 4302/4355/2604 4306/4359/2608 4303/4356/2605 -f 4303/4356/2605 4307/4360/2609 4304/4357/2606 -f 4304/4357/2606 3299/3217/1466 3298/3230/1479 -f 3463/4361/2610 4305/4358/2607 3464/4362/2611 -f 4308/4363/2612 4306/4359/2608 4305/4358/2607 -f 4309/4364/2613 4307/4360/2609 4306/4359/2608 -f 4310/4365/2614 3299/3217/1466 4307/4360/2609 -f 3462/4366/2615 4308/4363/2612 3463/4361/2610 -f 4311/4367/2616 4309/4364/2613 4308/4363/2612 -f 4312/4368/2617 4310/4365/2614 4309/4364/2613 -f 4313/4369/2618 3314/3234/1483 4310/4365/2614 -f 3461/4370/2619 4311/4367/2616 3462/4366/2615 -f 4311/4367/2616 4315/4371/2620 4312/4368/2617 -f 4315/4371/2620 4313/4369/2618 4312/4368/2617 -f 4313/4369/2618 3320/3253/1502 3315/3232/1481 -f 3461/4370/2619 4317/4372/2621 4314/4373/2622 -f 4314/4373/2622 4318/4374/2623 4315/4371/2620 -f 4318/4374/2623 4316/4375/2624 4315/4371/2620 -f 4316/4375/2624 3321/3239/1488 3320/3253/1502 -f 3460/4376/2625 4320/4377/2626 4317/4372/2621 -f 4317/4372/2621 4321/4378/2627 4318/4374/2623 -f 4318/4374/2623 4322/4379/2628 4319/4380/2629 -f 4322/4379/2628 3321/3239/1488 4319/4380/2629 -f 3459/4381/2630 4323/4382/2631 4320/4377/2626 -f 4323/4382/2631 4321/4378/2627 4320/4377/2626 -f 4321/4378/2627 4325/4383/2632 4322/4379/2628 -f 4325/4383/2632 3323/3241/1490 4322/4379/2628 -f 3458/4384/2633 4326/4385/2634 4323/4382/2631 -f 4326/4385/2634 4324/4386/2635 4323/4382/2631 -f 4327/4387/2636 4325/4383/2632 4324/4386/2635 -f 4325/4383/2632 3327/3245/1494 3325/3243/1492 -f 3456/4388/2637 4326/4385/2634 3457/4389/2638 -f 4329/4390/2639 4327/4387/2636 4326/4385/2634 -f 4330/4391/2640 4328/4392/2641 4327/4387/2636 -f 4328/4392/2641 3329/3247/1496 3327/3245/1494 -f 3456/4388/2637 4332/4393/2642 4329/4390/2639 -f 4332/4393/2642 4330/4391/2640 4329/4390/2639 -f 4333/4394/2643 4331/4395/2644 4330/4391/2640 -f 4331/4395/2644 3317/3249/1498 3329/3247/1496 -f 3455/4396/2645 4335/4397/2646 4332/4393/2642 -f 4332/4393/2642 4336/4398/2647 4333/4394/2643 -f 4333/4394/2643 4337/4399/2648 4334/4400/2649 -f 4334/4400/2649 3048/3237/1486 3317/3249/1498 -f 3453/3839/2088 4335/4397/2646 3454/4401/2650 -f 4335/4397/2646 3915/3841/2090 4336/4398/2647 -f 3915/3841/2090 4337/4399/2648 4336/4398/2647 -f 3917/3843/2092 3048/3237/1486 4337/4399/2648 -f 2899/2962/1211 3295/3214/1463 2900/3828/2077 -f 2899/2962/1211 2900/3828/2077 2901/2963/1212 -f 2902/3257/1506 2903/3751/2000 2942/3341/1590 -f 2903/3751/2000 2904/3755/2004 2905/3762/2011 -f 2912/3791/2040 2903/3751/2000 2908/3775/2024 -f 2905/3762/2011 2906/3766/2015 2903/3751/2000 -f 2906/3766/2015 2907/3770/2019 2903/3751/2000 -f 2907/3770/2019 2908/3775/2024 2903/3751/2000 -f 2908/3775/2024 2909/3774/2023 2912/3791/2040 -f 2909/3774/2023 2910/3779/2028 2912/3791/2040 -f 2910/3779/2028 2911/3783/2032 2912/3791/2040 -f 2912/3791/2040 2913/3790/2039 2934/3314/1563 -f 2913/3790/2039 2914/3795/2044 2922/3827/2076 -f 2914/3795/2044 2915/3798/2047 2916/3806/2055 -f 2916/3806/2055 2917/3809/2058 2918/3814/2063 -f 2918/3814/2063 2919/3818/2067 2920/3817/2066 -f 2920/3817/2066 2921/3826/2075 2914/3795/2044 -f 2921/3826/2075 2922/3827/2076 2914/3795/2044 -f 2922/3827/2076 2923/3270/1519 2932/3305/1554 -f 2923/3270/1519 2924/3269/1518 2932/3305/1554 -f 2924/3269/1518 2925/3276/1525 2926/3281/1530 -f 2926/3281/1530 2927/3280/1529 2930/3297/1546 -f 2927/3280/1529 2928/3289/1538 2930/3297/1546 -f 2928/3289/1538 2929/3288/1537 2930/3297/1546 -f 2930/3297/1546 2931/3301/1550 2924/3269/1518 -f 2931/3301/1550 2932/3305/1554 2924/3269/1518 -f 2932/3305/1554 2933/3309/1558 2913/3790/2039 -f 2922/3827/2076 2932/3305/1554 2913/3790/2039 -f 2924/3269/1518 2926/3281/1530 2930/3297/1546 -f 2918/3814/2063 2920/3817/2066 2914/3795/2044 -f 2914/3795/2044 2916/3806/2055 2918/3814/2063 -f 2903/3751/2000 2912/3791/2040 2941/3342/1591 -f 3044/3746/1995 3045/3255/1504 2944/3353/1602 -f 3045/3255/1504 2902/3257/1506 2943/3346/1595 -f 2941/3342/1591 2912/3791/2040 2940/3337/1586 -f 2939/3333/1582 2912/3791/2040 2938/3329/1578 -f 2938/3329/1578 2912/3791/2040 2937/3322/1571 -f 2912/3791/2040 2939/3333/1582 2940/3337/1586 -f 2933/3309/1558 2934/3314/1563 2913/3790/2039 -f 2934/3314/1563 2935/3313/1562 2912/3791/2040 -f 3043/3747/1996 3044/3746/1995 2944/3353/1602 -f 2903/3751/2000 2941/3342/1591 2942/3341/1590 -f 3042/3742/1991 3043/3747/1996 2945/3357/1606 -f 2935/3313/1562 2936/3318/1567 2912/3791/2040 -f 2936/3318/1567 2937/3322/1571 2912/3791/2040 -f 3041/3738/1987 3042/3742/1991 2946/3361/1610 -f 2902/3257/1506 2942/3341/1590 2943/3346/1595 -f 3045/3255/1504 2943/3346/1595 2944/3353/1602 -f 3043/3747/1996 2944/3353/1602 2945/3357/1606 -f 3042/3742/1991 2945/3357/1606 2946/3361/1610 -f 3040/3734/1983 3041/3738/1987 2947/3365/1614 -f 3041/3738/1987 2946/3361/1610 2947/3365/1614 -f 3039/3727/1976 3040/3734/1983 2948/3368/1617 -f 3040/3734/1983 2947/3365/1614 2948/3368/1617 -f 3038/3723/1972 3039/3727/1976 3004/3591/1840 -f 3039/3727/1976 2948/3368/1617 3004/3591/1840 -f 3037/3718/1967 3038/3723/1972 3004/3591/1840 -f 2948/3368/1617 2949/3374/1623 3004/3591/1840 -f 3036/3719/1968 3037/3718/1967 3004/3591/1840 -f 2949/3374/1623 2950/3373/1622 3004/3591/1840 -f 3033/3703/1952 3034/3710/1959 3032/3699/1948 -f 3034/3710/1959 3035/3714/1963 3005/3590/1839 -f 3010/3609/1858 3034/3710/1959 3009/3610/1859 -f 3035/3714/1963 3036/3719/1968 3005/3590/1839 -f 3036/3719/1968 3004/3591/1840 3005/3590/1839 -f 2950/3373/1622 2951/3378/1627 3004/3591/1840 -f 3034/3710/1959 3010/3609/1858 3011/3615/1864 -f 3014/3631/1880 3034/3710/1959 3011/3615/1864 -f 3030/3689/1938 3031/3695/1944 3034/3710/1959 -f 3031/3695/1944 3032/3699/1948 3034/3710/1959 -f 3028/3686/1935 3029/3690/1939 3025/3675/1924 -f 3029/3690/1939 3030/3689/1938 3025/3675/1924 -f 3026/3674/1923 3027/3682/1931 3025/3675/1924 -f 3027/3682/1931 3028/3686/1935 3025/3675/1924 -f 3024/3670/1919 3025/3675/1924 3014/3631/1880 -f 3014/3631/1880 3025/3675/1924 3034/3710/1959 -f 3022/3659/1908 3023/3663/1912 3024/3670/1919 -f 3020/3649/1898 3021/3655/1904 3024/3670/1919 -f 3021/3655/1904 3022/3659/1908 3024/3670/1919 -f 3018/3646/1895 3019/3650/1899 3015/3630/1879 -f 3019/3650/1899 3020/3649/1898 3015/3630/1879 -f 3016/3635/1884 3017/3642/1891 3015/3630/1879 -f 3017/3642/1891 3018/3646/1895 3015/3630/1879 -f 3014/3631/1880 3015/3630/1879 3024/3670/1919 -f 3024/3670/1919 3015/3630/1879 3020/3649/1898 -f 3012/3619/1868 3013/3623/1872 3014/3631/1880 -f 3011/3615/1864 3012/3619/1868 3014/3631/1880 -f 3008/3606/1855 3009/3610/1859 3034/3710/1959 -f 3006/3595/1844 3007/3602/1851 3005/3590/1839 -f 3007/3602/1851 3008/3606/1855 3005/3590/1839 -f 3002/3579/1828 3003/3586/1835 2954/3390/1639 -f 3003/3586/1835 3004/3591/1840 2953/3386/1635 -f 3000/3571/1820 3001/3575/1824 2954/3390/1639 -f 3001/3575/1824 3002/3579/1828 2954/3390/1639 -f 3000/3571/1820 2954/3390/1639 2999/3564/1813 -f 2998/3565/1814 2999/3564/1813 2954/3390/1639 -f 2998/3565/1814 2955/3397/1646 2997/3562/1811 -f 2996/3558/1807 2997/3562/1811 2955/3397/1646 -f 2996/3558/1807 2955/3397/1646 2995/3551/1800 -f 2994/2966/1215 2995/3551/1800 2955/3397/1646 -f 2992/3540/1789 2993/3547/1796 2991/3536/1785 -f 2993/3547/1796 2994/2966/1215 2960/3415/1664 -f 2961/3419/1668 2993/3547/1796 2960/3415/1664 -f 2990/3531/1780 2991/3536/1785 2993/3547/1796 -f 2988/3527/1776 2989/3532/1781 2993/3547/1796 -f 2989/3532/1781 2990/3531/1780 2993/3547/1796 -f 2986/3519/1768 2987/3523/1772 2984/3512/1761 -f 2987/3523/1772 2988/3527/1776 2984/3512/1761 -f 2984/3512/1761 2985/3511/1760 2986/3519/1768 -f 2982/3500/1749 2983/3507/1756 2981/3496/1745 -f 2983/3507/1756 2984/3512/1761 2964/3428/1677 -f 2973/3468/1717 2968/3447/1696 2969/3446/1695 -f 2980/3491/1740 2981/3496/1745 2983/3507/1756 -f 2978/3486/1735 2979/3492/1741 2983/3507/1756 -f 2979/3492/1741 2980/3491/1740 2983/3507/1756 -f 2976/3479/1728 2977/3483/1732 2974/3467/1716 -f 2977/3483/1732 2978/3486/1735 2974/3467/1716 -f 2974/3467/1716 2975/3472/1721 2976/3479/1728 -f 2972/3460/1709 2973/3468/1717 2971/3456/1705 -f 2973/3468/1717 2974/3467/1716 2983/3507/1756 -f 2970/3452/1701 2971/3456/1705 2973/3468/1717 -f 2969/3446/1695 2970/3452/1701 2973/3468/1717 -f 2966/3439/1688 2967/3443/1692 2964/3428/1677 -f 2967/3443/1692 2968/3447/1696 2964/3428/1677 -f 2964/3428/1677 2965/3432/1681 2966/3439/1688 -f 2963/3423/1672 2964/3428/1677 2984/3512/1761 -f 2963/3423/1672 2984/3512/1761 2993/3547/1796 -f 2964/3428/1677 2968/3447/1696 2973/3468/1717 -f 2973/3468/1717 2983/3507/1756 2964/3428/1677 -f 2984/3512/1761 2988/3527/1776 2993/3547/1796 -f 2993/3547/1796 2961/3419/1668 2962/3424/1673 -f 2994/2966/1215 2955/3397/1646 2956/2967/1216 -f 2955/3397/1646 2998/3565/1814 2954/3390/1639 -f 3003/3586/1835 2953/3386/1635 2954/3390/1639 -f 2959/3406/1655 2994/2966/1215 2958/3404/1653 -f 2993/3547/1796 2962/3424/1673 2963/3423/1672 -f 2974/3467/1716 2978/3486/1735 2983/3507/1756 -f 2994/2966/1215 2959/3406/1655 2960/3415/1664 -f 3034/3710/1959 3005/3590/1839 3008/3606/1855 -f 2951/3378/1627 2952/3382/1631 3004/3591/1840 -f 2952/3382/1631 2953/3386/1635 3004/3591/1840 -f 3034/3710/1959 3025/3675/1924 3030/3689/1938 -f 2958/3404/1653 2994/2966/1215 2957/2965/1214 -f 3047/2968/1217 3048/3237/1486 3049/2969/1218 -f 3051/2971/1220 3052/2990/1239 3053/2972/1221 -f 3050/2973/1222 3053/2972/1221 3055/2974/1223 -f 3054/2975/1224 3055/2974/1223 3057/2976/1225 -f 3056/2977/1226 3057/2976/1225 3059/2978/1227 -f 3058/2979/1228 3059/2978/1227 3061/2980/1229 -f 3060/2981/1230 3061/2980/1229 3063/2982/1231 -f 3065/2984/1233 3066/2988/1237 3067/2985/1234 -f 3068/2987/1236 3069/3254/1503 3066/2988/1237 -f 3070/2989/1238 3071/3012/1261 3052/2990/1239 -f 3073/2991/1240 3074/3005/1254 3075/2992/1241 -f 3077/2994/1243 3078/3009/1258 3079/2995/1244 -f 3076/2996/1245 3079/2995/1244 3081/2997/1246 -f 3080/2998/1247 3081/2997/1246 3083/2999/1248 -f 3082/3000/1249 3083/2999/1248 3085/3001/1250 -f 3084/3002/1251 3085/3001/1250 3087/3003/1252 -f 3086/3004/1253 3087/3003/1252 3074/3005/1254 -f 3089/3006/1255 3090/3011/1260 3091/3007/1256 -f 3064/2986/1235 3067/2985/1234 3078/3009/1258 -f 3092/3010/1259 3093/3134/1383 3090/3011/1260 -f 3046/2970/1219 3049/2969/1218 3071/3012/1261 -f 3095/3013/1262 3096/3027/1276 3097/3014/1263 -f 3099/3016/1265 3100/3032/1281 3101/3017/1266 -f 3098/3018/1267 3101/3017/1266 3103/3019/1268 -f 3102/3020/1269 3103/3019/1268 3105/3021/1270 -f 3104/3022/1271 3105/3021/1270 3107/3023/1272 -f 3106/3024/1273 3107/3023/1272 3109/3025/1274 -f 3108/3026/1275 3109/3025/1274 3096/3027/1276 -f 3111/3028/1277 3112/3031/1280 3113/3029/1278 -f 3094/3015/1264 3097/3014/1263 3112/3031/1280 -f 3088/3008/1257 3091/3007/1256 3100/3032/1281 -f 3115/3033/1282 3116/3047/1296 3117/3034/1283 -f 3119/3036/1285 3120/3052/1301 3121/3037/1286 -f 3118/3038/1287 3121/3037/1286 3123/3039/1288 -f 3122/3040/1289 3123/3039/1288 3125/3041/1290 -f 3124/3042/1291 3125/3041/1290 3127/3043/1292 -f 3126/3044/1293 3127/3043/1292 3129/3045/1294 -f 3128/3046/1295 3129/3045/1294 3116/3047/1296 -f 3131/3048/1297 3132/3051/1300 3133/3049/1298 -f 3114/3035/1284 3117/3034/1283 3132/3051/1300 -f 3110/3030/1279 3113/3029/1278 3120/3052/1301 -f 3135/3053/1302 3136/3067/1316 3137/3054/1303 -f 3139/3056/1305 3140/3072/1321 3141/3057/1306 -f 3138/3058/1307 3141/3057/1306 3143/3059/1308 -f 3142/3060/1309 3143/3059/1308 3145/3061/1310 -f 3144/3062/1311 3145/3061/1310 3147/3063/1312 -f 3146/3064/1313 3147/3063/1312 3149/3065/1314 -f 3148/3066/1315 3149/3065/1314 3136/3067/1316 -f 3151/3068/1317 3152/3071/1320 3153/3069/1318 -f 3134/3055/1304 3137/3054/1303 3152/3071/1320 -f 3130/3050/1299 3133/3049/1298 3140/3072/1321 -f 3155/3073/1322 3156/3087/1336 3157/3074/1323 -f 3159/3076/1325 3160/3092/1341 3161/3077/1326 -f 3158/3078/1327 3161/3077/1326 3163/3079/1328 -f 3162/3080/1329 3163/3079/1328 3165/3081/1330 -f 3164/3082/1331 3165/3081/1330 3167/3083/1332 -f 3166/3084/1333 3167/3083/1332 3169/3085/1334 -f 3168/3086/1335 3169/3085/1334 3156/3087/1336 -f 3171/3088/1337 3172/3091/1340 3173/3089/1338 -f 3154/3075/1324 3157/3074/1323 3172/3091/1340 -f 3150/3070/1319 3153/3069/1318 3160/3092/1341 -f 3175/3093/1342 3176/3107/1356 3177/3094/1343 -f 3179/3096/1345 3180/3112/1361 3181/3097/1346 -f 3178/3098/1347 3181/3097/1346 3183/3099/1348 -f 3182/3100/1349 3183/3099/1348 3185/3101/1350 -f 3184/3102/1351 3185/3101/1350 3187/3103/1352 -f 3186/3104/1353 3187/3103/1352 3189/3105/1354 -f 3188/3106/1355 3189/3105/1354 3176/3107/1356 -f 3191/3108/1357 3192/3111/1360 3193/3109/1358 -f 3174/3095/1344 3177/3094/1343 3192/3111/1360 -f 3170/3090/1339 3173/3089/1338 3180/3112/1361 -f 3195/3113/1362 3196/3127/1376 3197/3114/1363 -f 3199/3116/1365 3200/3131/1380 3201/3117/1366 -f 3198/3118/1367 3201/3117/1366 3203/3119/1368 -f 3202/3120/1369 3203/3119/1368 3205/3121/1370 -f 3204/3122/1371 3205/3121/1370 3207/3123/1372 -f 3206/3124/1373 3207/3123/1372 3209/3125/1374 -f 3208/3126/1375 3209/3125/1374 3196/3127/1376 -f 3211/3128/1377 3212/3133/1382 3213/3129/1378 -f 3190/3110/1359 3193/3109/1358 3200/3131/1380 -f 3214/3132/1381 3215/3213/1462 3212/3133/1382 -f 3072/2993/1242 3075/2992/1241 3093/3134/1383 -f 3217/3135/1384 3218/3149/1398 3219/3136/1385 -f 3221/3138/1387 3222/3154/1403 3223/3139/1388 -f 3220/3140/1389 3223/3139/1388 3225/3141/1390 -f 3224/3142/1391 3225/3141/1390 3227/3143/1392 -f 3226/3144/1393 3227/3143/1392 3229/3145/1394 -f 3228/3146/1395 3229/3145/1394 3231/3147/1396 -f 3230/3148/1397 3231/3147/1396 3218/3149/1398 -f 3233/3150/1399 3234/3153/1402 3235/3151/1400 -f 3216/3137/1386 3219/3136/1385 3234/3153/1402 -f 3210/3130/1379 3213/3129/1378 3222/3154/1403 -f 3237/3155/1404 3238/3169/1418 3239/3156/1405 -f 3241/3158/1407 3242/3174/1423 3243/3159/1408 -f 3240/3160/1409 3243/3159/1408 3245/3161/1410 -f 3244/3162/1411 3245/3161/1410 3247/3163/1412 -f 3246/3164/1413 3247/3163/1412 3249/3165/1414 -f 3248/3166/1415 3249/3165/1414 3251/3167/1416 -f 3250/3168/1417 3251/3167/1416 3238/3169/1418 -f 3253/3170/1419 3254/3173/1422 3255/3171/1420 -f 3236/3157/1406 3239/3156/1405 3254/3173/1422 -f 3232/3152/1401 3235/3151/1400 3242/3174/1423 -f 3257/3175/1424 3258/3189/1438 3259/3176/1425 -f 3261/3178/1427 3262/3194/1443 3263/3179/1428 -f 3260/3180/1429 3263/3179/1428 3265/3181/1430 -f 3264/3182/1431 3265/3181/1430 3267/3183/1432 -f 3266/3184/1433 3267/3183/1432 3269/3185/1434 -f 3268/3186/1435 3269/3185/1434 3271/3187/1436 -f 3270/3188/1437 3271/3187/1436 3258/3189/1438 -f 3273/3190/1439 3274/3193/1442 3275/3191/1440 -f 3273/3190/1439 3256/3177/1426 3259/3176/1425 -f 3252/3172/1421 3255/3171/1420 3262/3194/1443 -f 3277/3195/1444 3278/3209/1458 3279/3196/1445 -f 3281/3198/1447 3282/3212/1461 3283/3199/1448 -f 3280/3200/1449 3283/3199/1448 3285/3201/1450 -f 3284/3202/1451 3285/3201/1450 3287/3203/1452 -f 3286/3204/1453 3287/3203/1452 3289/3205/1454 -f 3288/3206/1455 3289/3205/1454 3291/3207/1456 -f 3290/3208/1457 3291/3207/1456 3278/3209/1458 -f 2898/2964/1213 2901/2963/1212 3293/3210/1459 -f 3272/3192/1441 3275/3191/1440 3282/3212/1461 -f 3194/3115/1364 3197/3114/1363 3215/3213/1462 -f 3276/3197/1446 3279/3196/1445 3295/3214/1463 -f 3297/3216/1465 3298/3230/1479 3299/3217/1466 -f 3301/3219/1468 3302/3235/1484 3303/3220/1469 -f 3300/3221/1470 3303/3220/1469 3305/3222/1471 -f 3304/3223/1472 3305/3222/1471 3307/3224/1473 -f 3306/3225/1474 3307/3224/1473 3309/3226/1475 -f 3308/3227/1476 3309/3226/1475 3311/3228/1477 -f 3310/3229/1478 3311/3228/1477 3298/3230/1479 -f 3313/3231/1480 3314/3234/1483 3315/3232/1481 -f 3296/3218/1467 3299/3217/1466 3314/3234/1483 -f 3292/3211/1460 3293/3210/1459 3302/3235/1484 -f 3316/3236/1485 3317/3249/1498 3048/3237/1486 -f 3319/3238/1487 3320/3253/1502 3321/3239/1488 -f 3318/3240/1489 3321/3239/1488 3323/3241/1490 -f 3322/3242/1491 3323/3241/1490 3325/3243/1492 -f 3324/3244/1493 3325/3243/1492 3327/3245/1494 -f 3326/3246/1495 3327/3245/1494 3329/3247/1496 -f 3328/3248/1497 3329/3247/1496 3317/3249/1498 -f 3330/3836/2085 3331/3835/2084 3433/3917/2166 -f 3331/3835/2084 3332/4317/2566 3432/3924/2173 -f 3435/3913/2162 3473/4322/2571 3434/3912/2161 -f 3473/4322/2571 3330/3836/2085 3434/3912/2161 -f 3473/4322/2571 3435/3913/2162 3464/4362/2611 -f 3471/4333/2582 3472/4326/2575 3473/4322/2571 -f 3469/4341/2590 3470/4337/2586 3473/4322/2571 -f 3470/4337/2586 3471/4333/2582 3473/4322/2571 -f 3467/4345/2594 3468/4346/2595 3464/4362/2611 -f 3468/4346/2595 3469/4341/2590 3464/4362/2611 -f 3465/4354/2603 3466/4350/2599 3464/4362/2611 -f 3466/4350/2599 3467/4345/2594 3464/4362/2611 -f 3463/4361/2610 3464/4362/2611 3442/3885/2134 -f 3442/3885/2134 3464/4362/2611 3441/3884/2133 -f 3461/4370/2619 3462/4366/2615 3455/4396/2645 -f 3462/4366/2615 3463/4361/2610 3455/4396/2645 -f 3459/4381/2630 3460/4376/2625 3461/4370/2619 -f 3457/4389/2638 3458/4384/2633 3459/4381/2630 -f 3455/4396/2645 3456/4388/2637 3457/4389/2638 -f 3453/3839/2088 3454/4401/2650 3463/4361/2610 -f 3454/4401/2650 3455/4396/2645 3463/4361/2610 -f 3451/3847/2096 3452/3837/2086 3445/3872/2121 -f 3452/3837/2086 3453/3839/2088 3444/3876/2125 -f 3449/3851/2100 3450/3852/2101 3447/3859/2108 -f 3450/3852/2101 3451/3847/2096 3447/3859/2108 -f 3447/3859/2108 3448/3860/2109 3449/3851/2100 -f 3445/3872/2121 3446/3864/2113 3447/3859/2108 -f 3443/3880/2129 3444/3876/2125 3463/4361/2610 -f 3444/3876/2125 3445/3872/2121 3452/3837/2086 -f 3445/3872/2121 3447/3859/2108 3451/3847/2096 -f 3455/4396/2645 3457/4389/2638 3459/4381/2630 -f 3459/4381/2630 3461/4370/2619 3455/4396/2645 -f 3464/4362/2611 3435/3913/2162 3436/3908/2157 -f 3464/4362/2611 3436/3908/2157 3437/3904/2153 -f 3469/4341/2590 3473/4322/2571 3464/4362/2611 -f 3453/3839/2088 3463/4361/2610 3444/3876/2125 -f 3442/3885/2134 3443/3880/2129 3463/4361/2610 -f 3441/3884/2133 3464/4362/2611 3440/3889/2138 -f 3440/3889/2138 3464/4362/2611 3439/3893/2142 -f 3439/3893/2142 3464/4362/2611 3438/3900/2149 -f 3438/3900/2149 3464/4362/2611 3437/3904/2153 -f 3434/3912/2161 3330/3836/2085 3433/3917/2166 -f 3332/4317/2566 3333/4318/2567 3432/3924/2173 -f 3433/3917/2166 3331/3835/2084 3432/3924/2173 -f 3333/4318/2567 3334/4313/2562 3431/3928/2177 -f 3333/4318/2567 3431/3928/2177 3432/3924/2173 -f 3334/4313/2562 3335/4309/2558 3430/3932/2181 -f 3431/3928/2177 3334/4313/2562 3430/3932/2181 -f 3335/4309/2558 3336/4305/2554 3429/3936/2185 -f 3430/3932/2181 3335/4309/2558 3429/3936/2185 -f 3336/4305/2554 3337/4298/2547 3428/3940/2189 -f 3429/3936/2185 3336/4305/2554 3428/3940/2189 -f 3337/4298/2547 3338/4294/2543 3372/4162/2411 -f 3428/3940/2189 3337/4298/2547 3372/4162/2411 -f 3338/4294/2543 3339/4289/2538 3372/4162/2411 -f 3339/4289/2538 3340/4290/2539 3372/4162/2411 -f 3427/3944/2193 3428/3940/2189 3372/4162/2411 -f 3341/4285/2534 3342/4281/2530 3371/4161/2410 -f 3342/4281/2530 3343/4274/2523 3344/4270/2519 -f 3366/4181/2430 3342/4281/2530 3365/4185/2434 -f 3340/4290/2539 3341/4285/2534 3371/4161/2410 -f 3372/4162/2411 3340/4290/2539 3371/4161/2410 -f 3426/3943/2192 3427/3944/2193 3372/4162/2411 -f 3342/4281/2530 3366/4181/2430 3367/4182/2431 -f 3342/4281/2530 3362/4202/2451 3365/4185/2434 -f 3344/4270/2519 3345/4265/2514 3342/4281/2530 -f 3345/4265/2514 3346/4261/2510 3342/4281/2530 -f 3346/4261/2510 3347/4262/2511 3351/4246/2495 -f 3347/4262/2511 3348/4257/2506 3351/4246/2495 -f 3348/4257/2506 3349/4253/2502 3351/4246/2495 -f 3349/4253/2502 3350/4245/2494 3351/4246/2495 -f 3351/4246/2495 3352/4241/2490 3362/4202/2451 -f 3352/4241/2490 3353/4234/2483 3354/4230/2479 -f 3354/4230/2479 3355/4225/2474 3352/4241/2490 -f 3355/4225/2474 3356/4221/2470 3352/4241/2490 -f 3356/4221/2470 3357/4222/2471 3361/4201/2450 -f 3357/4222/2471 3358/4217/2466 3361/4201/2450 -f 3358/4217/2466 3359/4213/2462 3361/4201/2450 -f 3359/4213/2462 3360/4206/2455 3361/4201/2450 -f 3361/4201/2450 3362/4202/2451 3352/4241/2490 -f 3362/4202/2451 3363/4194/2443 3364/4190/2439 -f 3364/4190/2439 3365/4185/2434 3362/4202/2451 -f 3367/4182/2431 3368/4177/2426 3342/4281/2530 -f 3368/4177/2426 3369/4173/2422 3371/4161/2410 -f 3369/4173/2422 3370/4166/2415 3371/4161/2410 -f 3372/4162/2411 3373/4157/2406 3423/3957/2206 -f 3373/4157/2406 3374/4150/2399 3422/3961/2210 -f 3423/3957/2206 3373/4157/2406 3422/3961/2210 -f 3374/4150/2399 3375/4146/2395 3422/3961/2210 -f 3375/4146/2395 3376/4141/2390 3422/3961/2210 -f 3422/3961/2210 3376/4141/2390 3377/4137/2386 -f 3377/4137/2386 3378/4138/2387 3422/3961/2210 -f 3421/3968/2217 3378/4138/2387 3379/4133/2382 -f 3379/4133/2382 3380/4129/2378 3421/3968/2217 -f 3421/3968/2217 3380/4129/2378 3381/4122/2371 -f 3381/4122/2371 3382/3250/1499 3421/3968/2217 -f 3382/3250/1499 3383/4118/2367 3416/3986/2235 -f 3383/4118/2367 3384/4111/2360 3385/4107/2356 -f 3415/3990/2239 3383/4118/2367 3414/3995/2244 -f 3385/4107/2356 3386/4101/2350 3383/4118/2367 -f 3386/4101/2350 3387/4102/2351 3383/4118/2367 -f 3387/4102/2351 3388/4098/2347 3383/4118/2367 -f 3388/4098/2347 3389/4094/2343 3392/4083/2332 -f 3389/4094/2343 3390/4090/2339 3392/4083/2332 -f 3390/4090/2339 3391/4082/2331 3392/4083/2332 -f 3392/4083/2332 3393/4078/2327 3412/3999/2248 -f 3393/4078/2327 3394/4071/2320 3395/4067/2316 -f 3403/4039/2288 3408/4018/2267 3412/3999/2248 -f 3395/4067/2316 3396/4061/2310 3393/4078/2327 -f 3396/4061/2310 3397/4062/2311 3393/4078/2327 -f 3397/4062/2311 3398/4058/2307 3393/4078/2327 -f 3398/4058/2307 3399/4054/2303 3402/4038/2287 -f 3399/4054/2303 3400/4050/2299 3402/4038/2287 -f 3400/4050/2299 3401/4043/2292 3402/4038/2287 -f 3402/4038/2287 3403/4039/2288 3393/4078/2327 -f 3403/4039/2288 3404/4031/2280 3405/4027/2276 -f 3393/4078/2327 3403/4039/2288 3412/3999/2248 -f 3405/4027/2276 3406/4022/2271 3403/4039/2288 -f 3406/4022/2271 3407/4023/2272 3403/4039/2288 -f 3407/4023/2272 3408/4018/2267 3403/4039/2288 -f 3408/4018/2267 3409/4014/2263 3412/3999/2248 -f 3409/4014/2263 3410/4010/2259 3412/3999/2248 -f 3410/4010/2259 3411/4003/2252 3412/3999/2248 -f 3412/3999/2248 3413/3994/2243 3392/4083/2332 -f 3392/4083/2332 3413/3994/2243 3383/4118/2367 -f 3383/4118/2367 3415/3990/2239 3416/3986/2235 -f 3421/3968/2217 3382/3250/1499 3420/3252/1501 -f 3378/4138/2387 3421/3968/2217 3422/3961/2210 -f 3417/3979/2228 3382/3250/1499 3416/3986/2235 -f 3414/3995/2244 3383/4118/2367 3413/3994/2243 -f 3388/4098/2347 3392/4083/2332 3383/4118/2367 -f 3398/4058/2307 3402/4038/2287 3393/4078/2327 -f 3382/3250/1499 3417/3979/2228 3418/3975/2224 -f 3371/4161/2410 3342/4281/2530 3368/4177/2426 -f 3361/4201/2450 3352/4241/2490 3356/4221/2470 -f 3351/4246/2495 3362/4202/2451 3342/4281/2530 -f 3351/4246/2495 3342/4281/2530 3346/4261/2510 -f 3425/3949/2198 3426/3943/2192 3372/4162/2411 -f 3424/3953/2202 3425/3949/2198 3372/4162/2411 -f 3423/3957/2206 3424/3953/2202 3372/4162/2411 -f 3382/3250/1499 3418/3975/2224 3419/3251/1500 -f 3312/3233/1482 3315/3232/1481 3320/3253/1502 -f 3062/2983/1232 3063/2982/1231 3069/3254/1503 -f 3045/3255/1504 3474/3258/1507 3475/3256/1505 -f 3474/3258/1507 3476/3260/1509 3477/3259/1508 -f 3476/3260/1509 3478/3262/1511 3479/3261/1510 -f 3478/3262/1511 3294/3215/1464 2899/2962/1211 -f 3046/2970/1219 3070/2989/1238 3480/3263/1512 -f 3481/3264/1513 3480/3263/1512 3482/3265/1514 -f 3483/3266/1515 3482/3265/1514 3484/3267/1516 -f 3485/3268/1517 3484/3267/1516 2924/3269/1518 -f 3051/2971/1220 3486/3274/1523 3480/3263/1512 -f 3480/3263/1512 3486/3274/1523 3487/3271/1520 -f 3482/3265/1514 3487/3271/1520 3488/3272/1521 -f 3488/3272/1521 2925/3276/1525 2924/3269/1518 -f 3051/2971/1220 3050/2973/1222 3489/3273/1522 -f 3489/3273/1522 3490/3278/1527 3487/3271/1520 -f 3487/3271/1520 3490/3278/1527 3491/3275/1524 -f 3491/3275/1524 2926/3281/1530 2925/3276/1525 -f 3054/2975/1224 3492/3277/1526 3489/3273/1522 -f 3492/3277/1526 3493/3283/1532 3490/3278/1527 -f 3490/3278/1527 3493/3283/1532 3494/3279/1528 -f 3491/3275/1524 3494/3279/1528 2927/3280/1529 -f 3056/2977/1226 3495/3286/1535 3492/3277/1526 -f 3492/3277/1526 3495/3286/1535 3496/3282/1531 -f 3493/3283/1532 3496/3282/1531 3497/3284/1533 -f 3497/3284/1533 2928/3289/1538 2927/3280/1529 -f 3056/2977/1226 3058/2979/1228 3498/3285/1534 -f 3498/3285/1534 3499/3287/1536 3496/3282/1531 -f 3499/3287/1536 3500/3292/1541 3497/3284/1533 -f 3497/3284/1533 3500/3292/1541 2929/3288/1537 -f 3058/2979/1228 3060/2981/1230 3501/3290/1539 -f 3501/3290/1539 3502/3291/1540 3499/3287/1536 -f 3502/3291/1540 3503/3293/1542 3500/3292/1541 -f 3503/3293/1542 2930/3297/1546 2929/3288/1537 -f 3060/2981/1230 3062/2983/1232 3504/3294/1543 -f 3501/3290/1539 3504/3294/1543 3505/3295/1544 -f 3505/3295/1544 3506/3296/1545 3503/3293/1542 -f 3506/3296/1545 2931/3301/1550 2930/3297/1546 -f 3068/2987/1236 3507/3298/1547 3504/3294/1543 -f 3507/3298/1547 3508/3299/1548 3505/3295/1544 -f 3508/3299/1548 3509/3300/1549 3506/3296/1545 -f 3509/3300/1549 2932/3305/1554 2931/3301/1550 -f 3065/2984/1233 3510/3302/1551 3507/3298/1547 -f 3510/3302/1551 3511/3303/1552 3508/3299/1548 -f 3511/3303/1552 3512/3304/1553 3509/3300/1549 -f 3512/3304/1553 2933/3309/1558 2932/3305/1554 -f 3064/2986/1235 3513/3306/1555 3510/3302/1551 -f 3513/3306/1555 3514/3307/1556 3511/3303/1552 -f 3514/3307/1556 3515/3308/1557 3512/3304/1553 -f 3515/3308/1557 2934/3314/1563 2933/3309/1558 -f 3064/2986/1235 3077/2994/1243 3516/3310/1559 -f 3513/3306/1555 3516/3310/1559 3517/3311/1560 -f 3514/3307/1556 3517/3311/1560 3518/3312/1561 -f 3515/3308/1557 3518/3312/1561 2935/3313/1562 -f 3077/2994/1243 3076/2996/1245 3519/3315/1564 -f 3516/3310/1559 3519/3315/1564 3520/3316/1565 -f 3517/3311/1560 3520/3316/1565 3521/3317/1566 -f 3518/3312/1561 3521/3317/1566 2936/3318/1567 -f 3076/2996/1245 3080/2998/1247 3522/3319/1568 -f 3519/3315/1564 3522/3319/1568 3523/3320/1569 -f 3520/3316/1565 3523/3320/1569 3524/3321/1570 -f 3521/3317/1566 3524/3321/1570 2937/3322/1571 -f 3080/2998/1247 3082/3000/1249 3525/3323/1572 -f 3522/3319/1568 3525/3323/1572 3526/3324/1573 -f 3526/3324/1573 3527/3325/1574 3524/3321/1570 -f 3527/3325/1574 2938/3329/1578 2937/3322/1571 -f 3084/3002/1251 3528/3326/1575 3525/3323/1572 -f 3528/3326/1575 3529/3327/1576 3526/3324/1573 -f 3529/3327/1576 3530/3328/1577 3527/3325/1574 -f 3530/3328/1577 2939/3333/1582 2938/3329/1578 -f 3086/3004/1253 3531/3330/1579 3528/3326/1575 -f 3531/3330/1579 3532/3331/1580 3529/3327/1576 -f 3532/3331/1580 3533/3332/1581 3530/3328/1577 -f 3533/3332/1581 2940/3337/1586 2939/3333/1582 -f 3073/2991/1240 3534/3334/1583 3531/3330/1579 -f 3534/3334/1583 3535/3335/1584 3532/3331/1580 -f 3535/3335/1584 3536/3336/1585 3533/3332/1581 -f 3536/3336/1585 2941/3342/1591 2940/3337/1586 -f 3073/2991/1240 3072/2993/1242 3537/3338/1587 -f 3534/3334/1583 3537/3338/1587 3538/3339/1588 -f 3535/3335/1584 3538/3339/1588 3539/3340/1589 -f 3536/3336/1585 3539/3340/1589 2942/3341/1590 -f 3072/2993/1242 3092/3010/1259 3540/3343/1592 -f 3537/3338/1587 3540/3343/1592 3541/3344/1593 -f 3538/3339/1588 3541/3344/1593 3542/3345/1594 -f 3539/3340/1589 3542/3345/1594 2943/3346/1595 -f 3089/3006/1255 3543/3347/1596 3540/3343/1592 -f 3543/3347/1596 3544/3348/1597 3541/3344/1593 -f 3544/3348/1597 3545/3349/1598 3542/3345/1594 -f 3545/3349/1598 2944/3353/1602 2943/3346/1595 -f 3088/3008/1257 3546/3350/1599 3543/3347/1596 -f 3546/3350/1599 3547/3351/1600 3544/3348/1597 -f 3547/3351/1600 3548/3352/1601 3545/3349/1598 -f 3548/3352/1601 2945/3357/1606 2944/3353/1602 -f 3099/3016/1265 3549/3354/1603 3546/3350/1599 -f 3549/3354/1603 3550/3355/1604 3547/3351/1600 -f 3550/3355/1604 3551/3356/1605 3548/3352/1601 -f 3551/3356/1605 2946/3361/1610 2945/3357/1606 -f 3098/3018/1267 3552/3358/1607 3549/3354/1603 -f 3552/3358/1607 3553/3359/1608 3550/3355/1604 -f 3553/3359/1608 3554/3360/1609 3551/3356/1605 -f 3554/3360/1609 2947/3365/1614 2946/3361/1610 -f 3102/3020/1269 3555/3362/1611 3552/3358/1607 -f 3555/3362/1611 3556/3363/1612 3553/3359/1608 -f 3556/3363/1612 3557/3364/1613 3554/3360/1609 -f 3557/3364/1613 2948/3368/1617 2947/3365/1614 -f 3102/3020/1269 3104/3022/1271 3558/3366/1615 -f 3558/3366/1615 3559/3371/1620 3556/3363/1612 -f 3556/3363/1612 3559/3371/1620 3560/3367/1616 -f 3560/3367/1616 2949/3374/1623 2948/3368/1617 -f 3104/3022/1271 3106/3024/1273 3561/3369/1618 -f 3558/3366/1615 3561/3369/1618 3562/3370/1619 -f 3559/3371/1620 3562/3370/1619 3563/3372/1621 -f 3560/3367/1616 3563/3372/1621 2950/3373/1622 -f 3106/3024/1273 3108/3026/1275 3564/3375/1624 -f 3561/3369/1618 3564/3375/1624 3565/3376/1625 -f 3562/3370/1619 3565/3376/1625 3566/3377/1626 -f 3563/3372/1621 3566/3377/1626 2951/3378/1627 -f 3108/3026/1275 3095/3013/1262 3567/3379/1628 -f 3564/3375/1624 3567/3379/1628 3568/3380/1629 -f 3565/3376/1625 3568/3380/1629 3569/3381/1630 -f 3566/3377/1626 3569/3381/1630 2952/3382/1631 -f 3095/3013/1262 3094/3015/1264 3570/3383/1632 -f 3567/3379/1628 3570/3383/1632 3571/3384/1633 -f 3568/3380/1629 3571/3384/1633 3572/3385/1634 -f 3569/3381/1630 3572/3385/1634 2953/3386/1635 -f 3094/3015/1264 3111/3028/1277 3573/3387/1636 -f 3570/3383/1632 3573/3387/1636 3574/3388/1637 -f 3571/3384/1633 3574/3388/1637 3575/3389/1638 -f 3572/3385/1634 3575/3389/1638 2954/3390/1639 -f 3110/3030/1279 3576/3391/1640 3573/3387/1636 -f 3576/3391/1640 3577/3392/1641 3574/3388/1637 -f 3577/3392/1641 3578/3393/1642 3575/3389/1638 -f 3578/3393/1642 2955/3397/1646 2954/3390/1639 -f 3110/3030/1279 3119/3036/1285 3579/3394/1643 -f 3576/3391/1640 3579/3394/1643 3580/3395/1644 -f 3577/3392/1641 3580/3395/1644 3581/3396/1645 -f 3578/3393/1642 3581/3396/1645 2956/2967/1216 -f 3119/3036/1285 3118/3038/1287 3582/3398/1647 -f 3579/3394/1643 3582/3398/1647 3583/3399/1648 -f 3580/3395/1644 3583/3399/1648 3584/3400/1649 -f 3581/3396/1645 3584/3400/1649 2957/2965/1214 -f 3118/3038/1287 3122/3040/1289 3585/3401/1650 -f 3582/3398/1647 3585/3401/1650 3586/3402/1651 -f 3583/3399/1648 3586/3402/1651 3587/3403/1652 -f 3584/3400/1649 3587/3403/1652 2958/3404/1653 -f 3124/3042/1291 3588/3407/1656 3585/3401/1650 -f 3585/3401/1650 3588/3407/1656 3589/3405/1654 -f 3589/3405/1654 3590/3410/1659 3587/3403/1652 -f 3587/3403/1652 3590/3410/1659 2959/3406/1655 -f 3126/3044/1293 3591/3408/1657 3588/3407/1656 -f 3591/3408/1657 3592/3409/1658 3589/3405/1654 -f 3592/3409/1658 3593/3411/1660 3590/3410/1659 -f 3593/3411/1660 2960/3415/1664 2959/3406/1655 -f 3128/3046/1295 3594/3412/1661 3591/3408/1657 -f 3594/3412/1661 3595/3413/1662 3592/3409/1658 -f 3595/3413/1662 3596/3414/1663 3593/3411/1660 -f 3596/3414/1663 2961/3419/1668 2960/3415/1664 -f 3115/3033/1282 3597/3416/1665 3594/3412/1661 -f 3597/3416/1665 3598/3417/1666 3595/3413/1662 -f 3598/3417/1666 3599/3418/1667 3596/3414/1663 -f 3599/3418/1667 2962/3424/1673 2961/3419/1668 -f 3115/3033/1282 3114/3035/1284 3600/3420/1669 -f 3597/3416/1665 3600/3420/1669 3601/3421/1670 -f 3598/3417/1666 3601/3421/1670 3602/3422/1671 -f 3599/3418/1667 3602/3422/1671 2963/3423/1672 -f 3114/3035/1284 3131/3048/1297 3603/3425/1674 -f 3600/3420/1669 3603/3425/1674 3604/3426/1675 -f 3601/3421/1670 3604/3426/1675 3605/3427/1676 -f 3602/3422/1671 3605/3427/1676 2964/3428/1677 -f 3131/3048/1297 3130/3050/1299 3606/3429/1678 -f 3603/3425/1674 3606/3429/1678 3607/3430/1679 -f 3604/3426/1675 3607/3430/1679 3608/3431/1680 -f 3605/3427/1676 3608/3431/1680 2965/3432/1681 -f 3139/3056/1305 3609/3433/1682 3606/3429/1678 -f 3609/3433/1682 3610/3434/1683 3607/3430/1679 -f 3610/3434/1683 3611/3435/1684 3608/3431/1680 -f 3611/3435/1684 2966/3439/1688 2965/3432/1681 -f 3138/3058/1307 3612/3436/1685 3609/3433/1682 -f 3612/3436/1685 3613/3437/1686 3610/3434/1683 -f 3613/3437/1686 3614/3438/1687 3611/3435/1684 -f 3614/3438/1687 2967/3443/1692 2966/3439/1688 -f 3142/3060/1309 3615/3440/1689 3612/3436/1685 -f 3615/3440/1689 3616/3441/1690 3613/3437/1686 -f 3616/3441/1690 3617/3442/1691 3614/3438/1687 -f 3617/3442/1691 2968/3447/1696 2967/3443/1692 -f 3142/3060/1309 3144/3062/1311 3618/3444/1693 -f 3615/3440/1689 3618/3444/1693 3619/3445/1694 -f 3619/3445/1694 3620/3451/1700 3617/3442/1691 -f 3617/3442/1691 3620/3451/1700 2969/3446/1695 -f 3144/3062/1311 3146/3064/1313 3621/3448/1697 -f 3618/3444/1693 3621/3448/1697 3622/3449/1698 -f 3619/3445/1694 3622/3449/1698 3623/3450/1699 -f 3620/3451/1700 3623/3450/1699 2970/3452/1701 -f 3146/3064/1313 3148/3066/1315 3624/3453/1702 -f 3621/3448/1697 3624/3453/1702 3625/3454/1703 -f 3622/3449/1698 3625/3454/1703 3626/3455/1704 -f 3623/3450/1699 3626/3455/1704 2971/3456/1705 -f 3148/3066/1315 3135/3053/1302 3627/3457/1706 -f 3624/3453/1702 3627/3457/1706 3628/3458/1707 -f 3625/3454/1703 3628/3458/1707 3629/3459/1708 -f 3626/3455/1704 3629/3459/1708 2972/3460/1709 -f 3134/3055/1304 3630/3461/1710 3627/3457/1706 -f 3630/3461/1710 3631/3462/1711 3628/3458/1707 -f 3631/3462/1711 3632/3463/1712 3629/3459/1708 -f 3632/3463/1712 2973/3468/1717 2972/3460/1709 -f 3134/3055/1304 3151/3068/1317 3633/3464/1713 -f 3630/3461/1710 3633/3464/1713 3634/3465/1714 -f 3631/3462/1711 3634/3465/1714 3635/3466/1715 -f 3632/3463/1712 3635/3466/1715 2974/3467/1716 -f 3151/3068/1317 3150/3070/1319 3636/3469/1718 -f 3633/3464/1713 3636/3469/1718 3637/3470/1719 -f 3634/3465/1714 3637/3470/1719 3638/3471/1720 -f 3635/3466/1715 3638/3471/1720 2975/3472/1721 -f 3159/3076/1325 3639/3473/1722 3636/3469/1718 -f 3639/3473/1722 3640/3474/1723 3637/3470/1719 -f 3640/3474/1723 3641/3475/1724 3638/3471/1720 -f 3641/3475/1724 2976/3479/1728 2975/3472/1721 -f 3158/3078/1327 3642/3476/1725 3639/3473/1722 -f 3642/3476/1725 3643/3477/1726 3640/3474/1723 -f 3643/3477/1726 3644/3478/1727 3641/3475/1724 -f 3644/3478/1727 2977/3483/1732 2976/3479/1728 -f 3162/3080/1329 3645/3480/1729 3642/3476/1725 -f 3645/3480/1729 3646/3481/1730 3643/3477/1726 -f 3646/3481/1730 3647/3482/1731 3644/3478/1727 -f 3647/3482/1731 2978/3486/1735 2977/3483/1732 -f 3162/3080/1329 3164/3082/1331 3648/3484/1733 -f 3648/3484/1733 3649/3489/1738 3646/3481/1730 -f 3646/3481/1730 3649/3489/1738 3650/3485/1734 -f 3650/3485/1734 2979/3492/1741 2978/3486/1735 -f 3164/3082/1331 3166/3084/1333 3651/3487/1736 -f 3648/3484/1733 3651/3487/1736 3652/3488/1737 -f 3649/3489/1738 3652/3488/1737 3653/3490/1739 -f 3650/3485/1734 3653/3490/1739 2980/3491/1740 -f 3166/3084/1333 3168/3086/1335 3654/3493/1742 -f 3651/3487/1736 3654/3493/1742 3655/3494/1743 -f 3652/3488/1737 3655/3494/1743 3656/3495/1744 -f 3653/3490/1739 3656/3495/1744 2981/3496/1745 -f 3168/3086/1335 3155/3073/1322 3657/3497/1746 -f 3654/3493/1742 3657/3497/1746 3658/3498/1747 -f 3655/3494/1743 3658/3498/1747 3659/3499/1748 -f 3656/3495/1744 3659/3499/1748 2982/3500/1749 -f 3154/3075/1324 3660/3501/1750 3657/3497/1746 -f 3660/3501/1750 3661/3502/1751 3658/3498/1747 -f 3661/3502/1751 3662/3503/1752 3659/3499/1748 -f 3662/3503/1752 2983/3507/1756 2982/3500/1749 -f 3171/3088/1337 3663/3504/1753 3660/3501/1750 -f 3663/3504/1753 3664/3505/1754 3661/3502/1751 -f 3664/3505/1754 3665/3506/1755 3662/3503/1752 -f 3665/3506/1755 2984/3512/1761 2983/3507/1756 -f 3171/3088/1337 3170/3090/1339 3666/3508/1757 -f 3663/3504/1753 3666/3508/1757 3667/3509/1758 -f 3664/3505/1754 3667/3509/1758 3668/3510/1759 -f 3665/3506/1755 3668/3510/1759 2985/3511/1760 -f 3179/3096/1345 3669/3513/1762 3666/3508/1757 -f 3669/3513/1762 3670/3514/1763 3667/3509/1758 -f 3670/3514/1763 3671/3515/1764 3668/3510/1759 -f 3671/3515/1764 2986/3519/1768 2985/3511/1760 -f 3178/3098/1347 3672/3516/1765 3669/3513/1762 -f 3672/3516/1765 3673/3517/1766 3670/3514/1763 -f 3673/3517/1766 3674/3518/1767 3671/3515/1764 -f 3674/3518/1767 2987/3523/1772 2986/3519/1768 -f 3182/3100/1349 3675/3520/1769 3672/3516/1765 -f 3675/3520/1769 3676/3521/1770 3673/3517/1766 -f 3676/3521/1770 3677/3522/1771 3674/3518/1767 -f 3677/3522/1771 2988/3527/1776 2987/3523/1772 -f 3182/3100/1349 3184/3102/1351 3678/3524/1773 -f 3675/3520/1769 3678/3524/1773 3679/3525/1774 -f 3676/3521/1770 3679/3525/1774 3680/3526/1775 -f 3680/3526/1775 2989/3532/1781 2988/3527/1776 -f 3184/3102/1351 3186/3104/1353 3681/3528/1777 -f 3678/3524/1773 3681/3528/1777 3682/3529/1778 -f 3679/3525/1774 3682/3529/1778 3683/3530/1779 -f 3680/3526/1775 3683/3530/1779 2990/3531/1780 -f 3186/3104/1353 3188/3106/1355 3684/3533/1782 -f 3681/3528/1777 3684/3533/1782 3685/3534/1783 -f 3682/3529/1778 3685/3534/1783 3686/3535/1784 -f 3683/3530/1779 3686/3535/1784 2991/3536/1785 -f 3188/3106/1355 3175/3093/1342 3687/3537/1786 -f 3684/3533/1782 3687/3537/1786 3688/3538/1787 -f 3685/3534/1783 3688/3538/1787 3689/3539/1788 -f 3686/3535/1784 3689/3539/1788 2992/3540/1789 -f 3174/3095/1344 3690/3541/1790 3687/3537/1786 -f 3690/3541/1790 3691/3542/1791 3688/3538/1787 -f 3691/3542/1791 3692/3543/1792 3689/3539/1788 -f 3692/3543/1792 2993/3547/1796 2992/3540/1789 -f 3191/3108/1357 3693/3544/1793 3690/3541/1790 -f 3693/3544/1793 3694/3545/1794 3691/3542/1791 -f 3694/3545/1794 3695/3546/1795 3692/3543/1792 -f 3695/3546/1795 2994/2966/1215 2993/3547/1796 -f 3191/3108/1357 3190/3110/1359 3696/3548/1797 -f 3693/3544/1793 3696/3548/1797 3697/3549/1798 -f 3694/3545/1794 3697/3549/1798 3698/3550/1799 -f 3695/3546/1795 3698/3550/1799 2995/3551/1800 -f 3199/3116/1365 3699/3552/1801 3696/3548/1797 -f 3699/3552/1801 3700/3553/1802 3697/3549/1798 -f 3700/3553/1802 3701/3554/1803 3698/3550/1799 -f 3701/3554/1803 2996/3558/1807 2995/3551/1800 -f 3198/3118/1367 3702/3555/1804 3699/3552/1801 -f 3702/3555/1804 3703/3556/1805 3700/3553/1802 -f 3703/3556/1805 3704/3557/1806 3701/3554/1803 -f 3704/3557/1806 2997/3562/1811 2996/3558/1807 -f 3202/3120/1369 3705/3559/1808 3702/3555/1804 -f 3705/3559/1808 3706/3560/1809 3703/3556/1805 -f 3706/3560/1809 3707/3561/1810 3704/3557/1806 -f 3707/3561/1810 2998/3565/1814 2997/3562/1811 -f 3204/3122/1371 3708/3567/1816 3705/3559/1808 -f 3705/3559/1808 3708/3567/1816 3709/3563/1812 -f 3709/3563/1812 3710/3570/1819 3707/3561/1810 -f 3707/3561/1810 3710/3570/1819 2999/3564/1813 -f 3204/3122/1371 3206/3124/1373 3711/3566/1815 -f 3708/3567/1816 3711/3566/1815 3712/3568/1817 -f 3709/3563/1812 3712/3568/1817 3713/3569/1818 -f 3710/3570/1819 3713/3569/1818 3000/3571/1820 -f 3206/3124/1373 3208/3126/1375 3714/3572/1821 -f 3711/3566/1815 3714/3572/1821 3715/3573/1822 -f 3712/3568/1817 3715/3573/1822 3716/3574/1823 -f 3713/3569/1818 3716/3574/1823 3001/3575/1824 -f 3208/3126/1375 3195/3113/1362 3717/3576/1825 -f 3714/3572/1821 3717/3576/1825 3718/3577/1826 -f 3715/3573/1822 3718/3577/1826 3719/3578/1827 -f 3716/3574/1823 3719/3578/1827 3002/3579/1828 -f 3194/3115/1364 3720/3580/1829 3717/3576/1825 -f 3720/3580/1829 3721/3581/1830 3718/3577/1826 -f 3721/3581/1830 3722/3582/1831 3719/3578/1827 -f 3722/3582/1831 3003/3586/1835 3002/3579/1828 -f 3214/3132/1381 3723/3583/1832 3720/3580/1829 -f 3723/3583/1832 3724/3584/1833 3721/3581/1830 -f 3724/3584/1833 3725/3585/1834 3722/3582/1831 -f 3725/3585/1834 3004/3591/1840 3003/3586/1835 -f 3214/3132/1381 3211/3128/1377 3726/3587/1836 -f 3723/3583/1832 3726/3587/1836 3727/3588/1837 -f 3724/3584/1833 3727/3588/1837 3728/3589/1838 -f 3725/3585/1834 3728/3589/1838 3005/3590/1839 -f 3211/3128/1377 3210/3130/1379 3729/3592/1841 -f 3726/3587/1836 3729/3592/1841 3730/3593/1842 -f 3727/3588/1837 3730/3593/1842 3731/3594/1843 -f 3728/3589/1838 3731/3594/1843 3006/3595/1844 -f 3221/3138/1387 3732/3596/1845 3729/3592/1841 -f 3732/3596/1845 3733/3597/1846 3730/3593/1842 -f 3733/3597/1846 3734/3598/1847 3731/3594/1843 -f 3734/3598/1847 3007/3602/1851 3006/3595/1844 -f 3220/3140/1389 3735/3599/1848 3732/3596/1845 -f 3735/3599/1848 3736/3600/1849 3733/3597/1846 -f 3736/3600/1849 3737/3601/1850 3734/3598/1847 -f 3737/3601/1850 3008/3606/1855 3007/3602/1851 -f 3224/3142/1391 3738/3603/1852 3735/3599/1848 -f 3738/3603/1852 3739/3604/1853 3736/3600/1849 -f 3739/3604/1853 3740/3605/1854 3737/3601/1850 -f 3740/3605/1854 3009/3610/1859 3008/3606/1855 -f 3226/3144/1393 3741/3607/1856 3738/3603/1852 -f 3741/3607/1856 3742/3613/1862 3739/3604/1853 -f 3739/3604/1853 3742/3613/1862 3743/3608/1857 -f 3740/3605/1854 3743/3608/1857 3010/3609/1858 -f 3226/3144/1393 3228/3146/1395 3744/3611/1860 -f 3741/3607/1856 3744/3611/1860 3745/3612/1861 -f 3742/3613/1862 3745/3612/1861 3746/3614/1863 -f 3743/3608/1857 3746/3614/1863 3011/3615/1864 -f 3228/3146/1395 3230/3148/1397 3747/3616/1865 -f 3744/3611/1860 3747/3616/1865 3748/3617/1866 -f 3745/3612/1861 3748/3617/1866 3749/3618/1867 -f 3746/3614/1863 3749/3618/1867 3012/3619/1868 -f 3230/3148/1397 3217/3135/1384 3750/3620/1869 -f 3747/3616/1865 3750/3620/1869 3751/3621/1870 -f 3748/3617/1866 3751/3621/1870 3752/3622/1871 -f 3749/3618/1867 3752/3622/1871 3013/3623/1872 -f 3216/3137/1386 3753/3624/1873 3750/3620/1869 -f 3753/3624/1873 3754/3625/1874 3751/3621/1870 -f 3754/3625/1874 3755/3626/1875 3752/3622/1871 -f 3755/3626/1875 3014/3631/1880 3013/3623/1872 -f 3216/3137/1386 3233/3150/1399 3756/3627/1876 -f 3753/3624/1873 3756/3627/1876 3757/3628/1877 -f 3754/3625/1874 3757/3628/1877 3758/3629/1878 -f 3755/3626/1875 3758/3629/1878 3015/3630/1879 -f 3233/3150/1399 3232/3152/1401 3759/3632/1881 -f 3756/3627/1876 3759/3632/1881 3760/3633/1882 -f 3757/3628/1877 3760/3633/1882 3761/3634/1883 -f 3758/3629/1878 3761/3634/1883 3016/3635/1884 -f 3241/3158/1407 3762/3636/1885 3759/3632/1881 -f 3762/3636/1885 3763/3637/1886 3760/3633/1882 -f 3763/3637/1886 3764/3638/1887 3761/3634/1883 -f 3764/3638/1887 3017/3642/1891 3016/3635/1884 -f 3240/3160/1409 3765/3639/1888 3762/3636/1885 -f 3765/3639/1888 3766/3640/1889 3763/3637/1886 -f 3766/3640/1889 3767/3641/1890 3764/3638/1887 -f 3767/3641/1890 3018/3646/1895 3017/3642/1891 -f 3244/3162/1411 3768/3643/1892 3765/3639/1888 -f 3768/3643/1892 3769/3644/1893 3766/3640/1889 -f 3769/3644/1893 3770/3645/1894 3767/3641/1890 -f 3770/3645/1894 3019/3650/1899 3018/3646/1895 -f 3244/3162/1411 3246/3164/1413 3771/3647/1896 -f 3771/3647/1896 3772/3648/1897 3769/3644/1893 -f 3772/3648/1897 3773/3654/1903 3770/3645/1894 -f 3770/3645/1894 3773/3654/1903 3020/3649/1898 -f 3246/3164/1413 3248/3166/1415 3774/3651/1900 -f 3771/3647/1896 3774/3651/1900 3775/3652/1901 -f 3772/3648/1897 3775/3652/1901 3776/3653/1902 -f 3773/3654/1903 3776/3653/1902 3021/3655/1904 -f 3248/3166/1415 3250/3168/1417 3777/3656/1905 -f 3774/3651/1900 3777/3656/1905 3778/3657/1906 -f 3775/3652/1901 3778/3657/1906 3779/3658/1907 -f 3776/3653/1902 3779/3658/1907 3022/3659/1908 -f 3250/3168/1417 3237/3155/1404 3780/3660/1909 -f 3777/3656/1905 3780/3660/1909 3781/3661/1910 -f 3778/3657/1906 3781/3661/1910 3782/3662/1911 -f 3779/3658/1907 3782/3662/1911 3023/3663/1912 -f 3236/3157/1406 3783/3664/1913 3780/3660/1909 -f 3783/3664/1913 3784/3665/1914 3781/3661/1910 -f 3784/3665/1914 3785/3666/1915 3782/3662/1911 -f 3785/3666/1915 3024/3670/1919 3023/3663/1912 -f 3253/3170/1419 3786/3667/1916 3783/3664/1913 -f 3786/3667/1916 3787/3668/1917 3784/3665/1914 -f 3787/3668/1917 3788/3669/1918 3785/3666/1915 -f 3788/3669/1918 3025/3675/1924 3024/3670/1919 -f 3253/3170/1419 3252/3172/1421 3789/3671/1920 -f 3786/3667/1916 3789/3671/1920 3790/3672/1921 -f 3787/3668/1917 3790/3672/1921 3791/3673/1922 -f 3788/3669/1918 3791/3673/1922 3026/3674/1923 -f 3261/3178/1427 3792/3676/1925 3789/3671/1920 -f 3792/3676/1925 3793/3677/1926 3790/3672/1921 -f 3793/3677/1926 3794/3678/1927 3791/3673/1922 -f 3794/3678/1927 3027/3682/1931 3026/3674/1923 -f 3260/3180/1429 3795/3679/1928 3792/3676/1925 -f 3795/3679/1928 3796/3680/1929 3793/3677/1926 -f 3796/3680/1929 3797/3681/1930 3794/3678/1927 -f 3797/3681/1930 3028/3686/1935 3027/3682/1931 -f 3264/3182/1431 3798/3683/1932 3795/3679/1928 -f 3798/3683/1932 3799/3684/1933 3796/3680/1929 -f 3799/3684/1933 3800/3685/1934 3797/3681/1930 -f 3800/3685/1934 3029/3690/1939 3028/3686/1935 -f 3264/3182/1431 3266/3184/1433 3801/3687/1936 -f 3798/3683/1932 3801/3687/1936 3802/3688/1937 -f 3802/3688/1937 3803/3694/1943 3800/3685/1934 -f 3800/3685/1934 3803/3694/1943 3030/3689/1938 -f 3266/3184/1433 3268/3186/1435 3804/3691/1940 -f 3801/3687/1936 3804/3691/1940 3805/3692/1941 -f 3802/3688/1937 3805/3692/1941 3806/3693/1942 -f 3803/3694/1943 3806/3693/1942 3031/3695/1944 -f 3268/3186/1435 3270/3188/1437 3807/3696/1945 -f 3804/3691/1940 3807/3696/1945 3808/3697/1946 -f 3805/3692/1941 3808/3697/1946 3809/3698/1947 -f 3806/3693/1942 3809/3698/1947 3032/3699/1948 -f 3270/3188/1437 3257/3175/1424 3810/3700/1949 -f 3807/3696/1945 3810/3700/1949 3811/3701/1950 -f 3808/3697/1946 3811/3701/1950 3812/3702/1951 -f 3809/3698/1947 3812/3702/1951 3033/3703/1952 -f 3256/3177/1426 3813/3704/1953 3810/3700/1949 -f 3813/3704/1953 3814/3705/1954 3811/3701/1950 -f 3814/3705/1954 3815/3706/1955 3812/3702/1951 -f 3815/3706/1955 3034/3710/1959 3033/3703/1952 -f 3273/3190/1439 3816/3707/1956 3813/3704/1953 -f 3816/3707/1956 3817/3708/1957 3814/3705/1954 -f 3817/3708/1957 3818/3709/1958 3815/3706/1955 -f 3818/3709/1958 3035/3714/1963 3034/3710/1959 -f 3272/3192/1441 3819/3711/1960 3816/3707/1956 -f 3819/3711/1960 3820/3712/1961 3817/3708/1957 -f 3820/3712/1961 3821/3713/1962 3818/3709/1958 -f 3821/3713/1962 3036/3719/1968 3035/3714/1963 -f 3272/3192/1441 3281/3198/1447 3822/3715/1964 -f 3819/3711/1960 3822/3715/1964 3823/3716/1965 -f 3820/3712/1961 3823/3716/1965 3824/3717/1966 -f 3821/3713/1962 3824/3717/1966 3037/3718/1967 -f 3281/3198/1447 3280/3200/1449 3825/3720/1969 -f 3822/3715/1964 3825/3720/1969 3826/3721/1970 -f 3823/3716/1965 3826/3721/1970 3827/3722/1971 -f 3824/3717/1966 3827/3722/1971 3038/3723/1972 -f 3280/3200/1449 3284/3202/1451 3828/3724/1973 -f 3825/3720/1969 3828/3724/1973 3829/3725/1974 -f 3826/3721/1970 3829/3725/1974 3830/3726/1975 -f 3827/3722/1971 3830/3726/1975 3039/3727/1976 -f 3284/3202/1451 3286/3204/1453 3831/3728/1977 -f 3828/3724/1973 3831/3728/1977 3832/3729/1978 -f 3832/3729/1978 3833/3730/1979 3830/3726/1975 -f 3833/3730/1979 3040/3734/1983 3039/3727/1976 -f 3288/3206/1455 3834/3731/1980 3831/3728/1977 -f 3834/3731/1980 3835/3732/1981 3832/3729/1978 -f 3835/3732/1981 3836/3733/1982 3833/3730/1979 -f 3836/3733/1982 3041/3738/1987 3040/3734/1983 -f 3290/3208/1457 3837/3735/1984 3834/3731/1980 -f 3837/3735/1984 3838/3736/1985 3835/3732/1981 -f 3838/3736/1985 3839/3737/1986 3836/3733/1982 -f 3839/3737/1986 3042/3742/1991 3041/3738/1987 -f 3277/3195/1444 3840/3739/1988 3837/3735/1984 -f 3840/3739/1988 3841/3740/1989 3838/3736/1985 -f 3841/3740/1989 3842/3741/1990 3839/3737/1986 -f 3842/3741/1990 3043/3747/1996 3042/3742/1991 -f 3277/3195/1444 3276/3197/1446 3843/3743/1992 -f 3840/3739/1988 3843/3743/1992 3844/3744/1993 -f 3841/3740/1989 3844/3744/1993 3845/3745/1994 -f 3842/3741/1990 3845/3745/1994 3044/3746/1995 -f 3276/3197/1446 3294/3215/1464 3478/3262/1511 -f 3843/3743/1992 3478/3262/1511 3476/3260/1509 -f 3844/3744/1993 3476/3260/1509 3474/3258/1507 -f 3845/3745/1994 3474/3258/1507 3045/3255/1504 -f 2899/2962/1211 2898/2964/1213 3846/3748/1997 -f 3479/3261/1510 3846/3748/1997 3847/3749/1998 -f 3477/3259/1508 3847/3749/1998 3848/3750/1999 -f 3475/3256/1505 3848/3750/1999 2903/3751/2000 -f 2898/2964/1213 3292/3211/1460 3849/3752/2001 -f 3846/3748/1997 3849/3752/2001 3850/3753/2002 -f 3847/3749/1998 3850/3753/2002 3851/3754/2003 -f 3848/3750/1999 3851/3754/2003 2904/3755/2004 -f 3301/3219/1468 3852/3756/2005 3849/3752/2001 -f 3852/3756/2005 3853/3757/2006 3850/3753/2002 -f 3853/3757/2006 3854/3758/2007 3851/3754/2003 -f 3854/3758/2007 2905/3762/2011 2904/3755/2004 -f 3300/3221/1470 3855/3759/2008 3852/3756/2005 -f 3855/3759/2008 3856/3760/2009 3853/3757/2006 -f 3856/3760/2009 3857/3761/2010 3854/3758/2007 -f 3857/3761/2010 2906/3766/2015 2905/3762/2011 -f 3304/3223/1472 3858/3763/2012 3855/3759/2008 -f 3858/3763/2012 3859/3764/2013 3856/3760/2009 -f 3859/3764/2013 3860/3765/2014 3857/3761/2010 -f 3860/3765/2014 2907/3770/2019 2906/3766/2015 -f 3304/3223/1472 3306/3225/1474 3861/3767/2016 -f 3861/3767/2016 3862/3768/2017 3859/3764/2013 -f 3862/3768/2017 3863/3769/2018 3860/3765/2014 -f 3863/3769/2018 2908/3775/2024 2907/3770/2019 -f 3306/3225/1474 3308/3227/1476 3864/3771/2020 -f 3861/3767/2016 3864/3771/2020 3865/3772/2021 -f 3862/3768/2017 3865/3772/2021 3866/3773/2022 -f 3863/3769/2018 3866/3773/2022 2909/3774/2023 -f 3308/3227/1476 3310/3229/1478 3867/3776/2025 -f 3864/3771/2020 3867/3776/2025 3868/3777/2026 -f 3865/3772/2021 3868/3777/2026 3869/3778/2027 -f 3866/3773/2022 3869/3778/2027 2910/3779/2028 -f 3310/3229/1478 3297/3216/1465 3870/3780/2029 -f 3867/3776/2025 3870/3780/2029 3871/3781/2030 -f 3868/3777/2026 3871/3781/2030 3872/3782/2031 -f 3869/3778/2027 3872/3782/2031 2911/3783/2032 -f 3296/3218/1467 3873/3784/2033 3870/3780/2029 -f 3873/3784/2033 3874/3785/2034 3871/3781/2030 -f 3874/3785/2034 3875/3786/2035 3872/3782/2031 -f 3875/3786/2035 2912/3791/2040 2911/3783/2032 -f 3296/3218/1467 3313/3231/1480 3876/3787/2036 -f 3873/3784/2033 3876/3787/2036 3877/3788/2037 -f 3874/3785/2034 3877/3788/2037 3878/3789/2038 -f 3875/3786/2035 3878/3789/2038 2913/3790/2039 -f 3313/3231/1480 3312/3233/1482 3879/3792/2041 -f 3876/3787/2036 3879/3792/2041 3880/3793/2042 -f 3877/3788/2037 3880/3793/2042 3881/3794/2043 -f 3878/3789/2038 3881/3794/2043 2914/3795/2044 -f 3319/3238/1487 3882/3796/2045 3879/3792/2041 -f 3882/3796/2045 3883/3801/2050 3880/3793/2042 -f 3880/3793/2042 3883/3801/2050 3884/3797/2046 -f 3881/3794/2043 3884/3797/2046 2915/3798/2047 -f 3319/3238/1487 3318/3240/1489 3885/3799/2048 -f 3882/3796/2045 3885/3799/2048 3886/3800/2049 -f 3886/3800/2049 3887/3802/2051 3884/3797/2046 -f 3887/3802/2051 2916/3806/2055 2915/3798/2047 -f 3318/3240/1489 3322/3242/1491 3888/3803/2052 -f 3888/3803/2052 3889/3804/2053 3886/3800/2049 -f 3889/3804/2053 3890/3805/2054 3887/3802/2051 -f 3890/3805/2054 2917/3809/2058 2916/3806/2055 -f 3322/3242/1491 3324/3244/1493 3891/3807/2056 -f 3891/3807/2056 3892/3812/2061 3889/3804/2053 -f 3889/3804/2053 3892/3812/2061 3893/3808/2057 -f 3893/3808/2057 2918/3814/2063 2917/3809/2058 -f 3324/3244/1493 3326/3246/1495 3894/3810/2059 -f 3891/3807/2056 3894/3810/2059 3895/3811/2060 -f 3895/3811/2060 3896/3813/2062 3893/3808/2057 -f 3896/3813/2062 2919/3818/2067 2918/3814/2063 -f 3328/3248/1497 3897/3819/2068 3894/3810/2059 -f 3894/3810/2059 3897/3819/2068 3898/3815/2064 -f 3895/3811/2060 3898/3815/2064 3899/3816/2065 -f 3896/3813/2062 3899/3816/2065 2920/3817/2066 -f 3316/3236/1485 3900/3822/2071 3897/3819/2068 -f 3897/3819/2068 3900/3822/2071 3901/3820/2069 -f 3901/3820/2069 3902/3821/2070 3899/3816/2065 -f 3902/3821/2070 2921/3826/2075 2920/3817/2066 -f 3047/2968/1217 3903/3823/2072 3900/3822/2071 -f 3903/3823/2072 3904/3824/2073 3901/3820/2069 -f 3904/3824/2073 3905/3825/2074 3902/3821/2070 -f 3905/3825/2074 2922/3827/2076 2921/3826/2075 -f 3047/2968/1217 3046/2970/1219 3481/3264/1513 -f 3481/3264/1513 3483/3266/1515 3904/3824/2073 -f 3483/3266/1515 3485/3268/1517 3905/3825/2074 -f 3905/3825/2074 3485/3268/1517 2923/3270/1519 -f 2900/3828/2077 3295/3214/1463 3906/3829/2078 -f 3907/3830/2079 3906/3829/2078 3908/3831/2080 -f 3909/3832/2081 3908/3831/2080 3910/3833/2082 -f 3911/3834/2083 3910/3833/2082 3331/3835/2084 -f 3452/3837/2086 3912/3840/2089 3913/3838/2087 -f 3912/3840/2089 3914/3842/2091 3915/3841/2090 -f 3914/3842/2091 3916/3844/2093 3917/3843/2092 -f 3916/3844/2093 3071/3012/1261 3049/2969/1218 -f 3452/3837/2086 3451/3847/2096 3918/3845/2094 -f 3918/3845/2094 3919/3846/2095 3914/3842/2091 -f 3919/3846/2095 3920/3850/2099 3916/3844/2093 -f 3916/3844/2093 3920/3850/2099 3052/2990/1239 -f 3451/3847/2096 3450/3852/2101 3921/3848/2097 -f 3921/3848/2097 3922/3854/2103 3919/3846/2095 -f 3919/3846/2095 3922/3854/2103 3923/3849/2098 -f 3923/3849/2098 3053/2972/1221 3052/2990/1239 -f 3449/3851/2100 3924/3853/2102 3921/3848/2097 -f 3924/3853/2102 3925/3857/2106 3922/3854/2103 -f 3922/3854/2103 3925/3857/2106 3926/3855/2104 -f 3923/3849/2098 3926/3855/2104 3055/2974/1223 -f 3449/3851/2100 3448/3860/2109 3927/3856/2105 -f 3927/3856/2105 3928/3858/2107 3925/3857/2106 -f 3928/3858/2107 3929/3863/2112 3926/3855/2104 -f 3926/3855/2104 3929/3863/2112 3057/2976/1225 -f 3447/3859/2108 3930/3861/2110 3927/3856/2105 -f 3930/3861/2110 3931/3866/2115 3928/3858/2107 -f 3928/3858/2107 3931/3866/2115 3932/3862/2111 -f 3929/3863/2112 3932/3862/2111 3059/2978/1227 -f 3446/3864/2113 3933/3869/2118 3930/3861/2110 -f 3930/3861/2110 3933/3869/2118 3934/3865/2114 -f 3931/3866/2115 3934/3865/2114 3935/3867/2116 -f 3935/3867/2116 3061/2980/1229 3059/2978/1227 -f 3446/3864/2113 3445/3872/2121 3936/3868/2117 -f 3933/3869/2118 3936/3868/2117 3937/3870/2119 -f 3937/3870/2119 3938/3871/2120 3935/3867/2116 -f 3938/3871/2120 3063/2982/1231 3061/2980/1229 -f 3445/3872/2121 3444/3876/2125 3939/3873/2122 -f 3936/3868/2117 3939/3873/2122 3940/3874/2123 -f 3937/3870/2119 3940/3874/2123 3941/3875/2124 -f 3938/3871/2120 3941/3875/2124 3069/3254/1503 -f 3444/3876/2125 3443/3880/2129 3942/3877/2126 -f 3939/3873/2122 3942/3877/2126 3943/3878/2127 -f 3940/3874/2123 3943/3878/2127 3944/3879/2128 -f 3941/3875/2124 3944/3879/2128 3066/2988/1237 -f 3443/3880/2129 3442/3885/2134 3945/3881/2130 -f 3942/3877/2126 3945/3881/2130 3946/3882/2131 -f 3943/3878/2127 3946/3882/2131 3947/3883/2132 -f 3944/3879/2128 3947/3883/2132 3067/2985/1234 -f 3441/3884/2133 3948/3886/2135 3945/3881/2130 -f 3948/3886/2135 3949/3887/2136 3946/3882/2131 -f 3949/3887/2136 3950/3888/2137 3947/3883/2132 -f 3950/3888/2137 3078/3009/1258 3067/2985/1234 -f 3440/3889/2138 3951/3890/2139 3948/3886/2135 -f 3951/3890/2139 3952/3891/2140 3949/3887/2136 -f 3952/3891/2140 3953/3892/2141 3950/3888/2137 -f 3953/3892/2141 3079/2995/1244 3078/3009/1258 -f 3439/3893/2142 3954/3894/2143 3951/3890/2139 -f 3954/3894/2143 3955/3895/2144 3952/3891/2140 -f 3955/3895/2144 3956/3896/2145 3953/3892/2141 -f 3956/3896/2145 3081/2997/1246 3079/2995/1244 -f 3439/3893/2142 3438/3900/2149 3957/3897/2146 -f 3954/3894/2143 3957/3897/2146 3958/3898/2147 -f 3958/3898/2147 3959/3899/2148 3956/3896/2145 -f 3959/3899/2148 3083/2999/1248 3081/2997/1246 -f 3438/3900/2149 3437/3904/2153 3960/3901/2150 -f 3957/3897/2146 3960/3901/2150 3961/3902/2151 -f 3958/3898/2147 3961/3902/2151 3962/3903/2152 -f 3959/3899/2148 3962/3903/2152 3085/3001/1250 -f 3437/3904/2153 3436/3908/2157 3963/3905/2154 -f 3960/3901/2150 3963/3905/2154 3964/3906/2155 -f 3961/3902/2151 3964/3906/2155 3965/3907/2156 -f 3962/3903/2152 3965/3907/2156 3087/3003/1252 -f 3436/3908/2157 3435/3913/2162 3966/3909/2158 -f 3963/3905/2154 3966/3909/2158 3967/3910/2159 -f 3964/3906/2155 3967/3910/2159 3968/3911/2160 -f 3965/3907/2156 3968/3911/2160 3074/3005/1254 -f 3434/3912/2161 3969/3914/2163 3966/3909/2158 -f 3969/3914/2163 3970/3915/2164 3967/3910/2159 -f 3970/3915/2164 3971/3916/2165 3968/3911/2160 -f 3971/3916/2165 3075/2992/1241 3074/3005/1254 -f 3433/3917/2166 3972/3918/2167 3969/3914/2163 -f 3972/3918/2167 3973/3919/2168 3970/3915/2164 -f 3973/3919/2168 3974/3920/2169 3971/3916/2165 -f 3974/3920/2169 3093/3134/1383 3075/2992/1241 -f 3433/3917/2166 3432/3924/2173 3975/3921/2170 -f 3972/3918/2167 3975/3921/2170 3976/3922/2171 -f 3973/3919/2168 3976/3922/2171 3977/3923/2172 -f 3974/3920/2169 3977/3923/2172 3090/3011/1260 -f 3432/3924/2173 3431/3928/2177 3978/3925/2174 -f 3975/3921/2170 3978/3925/2174 3979/3926/2175 -f 3976/3922/2171 3979/3926/2175 3980/3927/2176 -f 3977/3923/2172 3980/3927/2176 3091/3007/1256 -f 3431/3928/2177 3430/3932/2181 3981/3929/2178 -f 3978/3925/2174 3981/3929/2178 3982/3930/2179 -f 3979/3926/2175 3982/3930/2179 3983/3931/2180 -f 3980/3927/2176 3983/3931/2180 3100/3032/1281 -f 3430/3932/2181 3429/3936/2185 3984/3933/2182 -f 3981/3929/2178 3984/3933/2182 3985/3934/2183 -f 3982/3930/2179 3985/3934/2183 3986/3935/2184 -f 3983/3931/2180 3986/3935/2184 3101/3017/1266 -f 3429/3936/2185 3428/3940/2189 3987/3937/2186 -f 3984/3933/2182 3987/3937/2186 3988/3938/2187 -f 3985/3934/2183 3988/3938/2187 3989/3939/2188 -f 3986/3935/2184 3989/3939/2188 3103/3019/1268 -f 3428/3940/2189 3427/3944/2193 3990/3941/2190 -f 3990/3941/2190 3991/3946/2195 3988/3938/2187 -f 3988/3938/2187 3991/3946/2195 3992/3942/2191 -f 3992/3942/2191 3105/3021/1270 3103/3019/1268 -f 3426/3943/2192 3993/3945/2194 3990/3941/2190 -f 3993/3945/2194 3994/3947/2196 3991/3946/2195 -f 3994/3947/2196 3995/3948/2197 3992/3942/2191 -f 3995/3948/2197 3107/3023/1272 3105/3021/1270 -f 3425/3949/2198 3996/3950/2199 3993/3945/2194 -f 3996/3950/2199 3997/3951/2200 3994/3947/2196 -f 3997/3951/2200 3998/3952/2201 3995/3948/2197 -f 3998/3952/2201 3109/3025/1274 3107/3023/1272 -f 3424/3953/2202 3999/3954/2203 3996/3950/2199 -f 3999/3954/2203 4000/3955/2204 3997/3951/2200 -f 4000/3955/2204 4001/3956/2205 3998/3952/2201 -f 4001/3956/2205 3096/3027/1276 3109/3025/1274 -f 3423/3957/2206 4002/3958/2207 3999/3954/2203 -f 4002/3958/2207 4003/3959/2208 4000/3955/2204 -f 4003/3959/2208 4004/3960/2209 4001/3956/2205 -f 4004/3960/2209 3097/3014/1263 3096/3027/1276 -f 3422/3961/2210 4005/3962/2211 4002/3958/2207 -f 4005/3962/2211 4006/3963/2212 4003/3959/2208 -f 4006/3963/2212 4007/3964/2213 4004/3960/2209 -f 4007/3964/2213 3112/3031/1280 3097/3014/1263 -f 3422/3961/2210 3421/3968/2217 4008/3965/2214 -f 4005/3962/2211 4008/3965/2214 4009/3966/2215 -f 4006/3963/2212 4009/3966/2215 4010/3967/2216 -f 4007/3964/2213 4010/3967/2216 3113/3029/1278 -f 3420/3252/1501 4011/3969/2218 4008/3965/2214 -f 4011/3969/2218 4012/3970/2219 4009/3966/2215 -f 4012/3970/2219 4013/3971/2220 4010/3967/2216 -f 4013/3971/2220 3120/3052/1301 3113/3029/1278 -f 3419/3251/1500 4014/3972/2221 4011/3969/2218 -f 4014/3972/2221 4015/3973/2222 4012/3970/2219 -f 4015/3973/2222 4016/3974/2223 4013/3971/2220 -f 4016/3974/2223 3121/3037/1286 3120/3052/1301 -f 3418/3975/2224 4017/3976/2225 4014/3972/2221 -f 4017/3976/2225 4018/3977/2226 4015/3973/2222 -f 4018/3977/2226 4019/3978/2227 4016/3974/2223 -f 4019/3978/2227 3123/3039/1288 3121/3037/1286 -f 3417/3979/2228 4020/3982/2231 4017/3976/2225 -f 4017/3976/2225 4020/3982/2231 4021/3980/2229 -f 4021/3980/2229 4022/3985/2234 4019/3978/2227 -f 4019/3978/2227 4022/3985/2234 3125/3041/1290 -f 3417/3979/2228 3416/3986/2235 4023/3981/2230 -f 4020/3982/2231 4023/3981/2230 4024/3983/2232 -f 4021/3980/2229 4024/3983/2232 4025/3984/2233 -f 4022/3985/2234 4025/3984/2233 3127/3043/1292 -f 3416/3986/2235 3415/3990/2239 4026/3987/2236 -f 4023/3981/2230 4026/3987/2236 4027/3988/2237 -f 4024/3983/2232 4027/3988/2237 4028/3989/2238 -f 4025/3984/2233 4028/3989/2238 3129/3045/1294 -f 3415/3990/2239 3414/3995/2244 4029/3991/2240 -f 4026/3987/2236 4029/3991/2240 4030/3992/2241 -f 4027/3988/2237 4030/3992/2241 4031/3993/2242 -f 4028/3989/2238 4031/3993/2242 3116/3047/1296 -f 3413/3994/2243 4032/3996/2245 4029/3991/2240 -f 4032/3996/2245 4033/3997/2246 4030/3992/2241 -f 4033/3997/2246 4034/3998/2247 4031/3993/2242 -f 4034/3998/2247 3117/3034/1283 3116/3047/1296 -f 3412/3999/2248 4035/4000/2249 4032/3996/2245 -f 4035/4000/2249 4036/4001/2250 4033/3997/2246 -f 4036/4001/2250 4037/4002/2251 4034/3998/2247 -f 4037/4002/2251 3132/3051/1300 3117/3034/1283 -f 3411/4003/2252 4038/4004/2253 4035/4000/2249 -f 4038/4004/2253 4039/4005/2254 4036/4001/2250 -f 4039/4005/2254 4040/4006/2255 4037/4002/2251 -f 4040/4006/2255 3133/3049/1298 3132/3051/1300 -f 3411/4003/2252 3410/4010/2259 4041/4007/2256 -f 4038/4004/2253 4041/4007/2256 4042/4008/2257 -f 4039/4005/2254 4042/4008/2257 4043/4009/2258 -f 4040/4006/2255 4043/4009/2258 3140/3072/1321 -f 3410/4010/2259 3409/4014/2263 4044/4011/2260 -f 4041/4007/2256 4044/4011/2260 4045/4012/2261 -f 4042/4008/2257 4045/4012/2261 4046/4013/2262 -f 4043/4009/2258 4046/4013/2262 3141/3057/1306 -f 3409/4014/2263 3408/4018/2267 4047/4015/2264 -f 4044/4011/2260 4047/4015/2264 4048/4016/2265 -f 4045/4012/2261 4048/4016/2265 4049/4017/2266 -f 4046/4013/2262 4049/4017/2266 3143/3059/1308 -f 3408/4018/2267 3407/4023/2272 4050/4019/2268 -f 4047/4015/2264 4050/4019/2268 4051/4020/2269 -f 4048/4016/2265 4051/4020/2269 4052/4021/2270 -f 4049/4017/2266 4052/4021/2270 3145/3061/1310 -f 3406/4022/2271 4053/4024/2273 4050/4019/2268 -f 4053/4024/2273 4054/4025/2274 4051/4020/2269 -f 4054/4025/2274 4055/4026/2275 4052/4021/2270 -f 4055/4026/2275 3147/3063/1312 3145/3061/1310 -f 3405/4027/2276 4056/4028/2277 4053/4024/2273 -f 4056/4028/2277 4057/4029/2278 4054/4025/2274 -f 4057/4029/2278 4058/4030/2279 4055/4026/2275 -f 4058/4030/2279 3149/3065/1314 3147/3063/1312 -f 3404/4031/2280 4059/4032/2281 4056/4028/2277 -f 4059/4032/2281 4060/4033/2282 4057/4029/2278 -f 4060/4033/2282 4061/4034/2283 4058/4030/2279 -f 4061/4034/2283 3136/3067/1316 3149/3065/1314 -f 3404/4031/2280 3403/4039/2288 4062/4035/2284 -f 4059/4032/2281 4062/4035/2284 4063/4036/2285 -f 4060/4033/2282 4063/4036/2285 4064/4037/2286 -f 4061/4034/2283 4064/4037/2286 3137/3054/1303 -f 3402/4038/2287 4065/4040/2289 4062/4035/2284 -f 4065/4040/2289 4066/4041/2290 4063/4036/2285 -f 4066/4041/2290 4067/4042/2291 4064/4037/2286 -f 4067/4042/2291 3152/3071/1320 3137/3054/1303 -f 3401/4043/2292 4068/4044/2293 4065/4040/2289 -f 4068/4044/2293 4069/4045/2294 4066/4041/2290 -f 4069/4045/2294 4070/4046/2295 4067/4042/2291 -f 4070/4046/2295 3153/3069/1318 3152/3071/1320 -f 3401/4043/2292 3400/4050/2299 4071/4047/2296 -f 4068/4044/2293 4071/4047/2296 4072/4048/2297 -f 4069/4045/2294 4072/4048/2297 4073/4049/2298 -f 4070/4046/2295 4073/4049/2298 3160/3092/1341 -f 3400/4050/2299 3399/4054/2303 4074/4051/2300 -f 4071/4047/2296 4074/4051/2300 4075/4052/2301 -f 4072/4048/2297 4075/4052/2301 4076/4053/2302 -f 4073/4049/2298 4076/4053/2302 3161/3077/1326 -f 3399/4054/2303 3398/4058/2307 4077/4055/2304 -f 4074/4051/2300 4077/4055/2304 4078/4056/2305 -f 4075/4052/2301 4078/4056/2305 4079/4057/2306 -f 4076/4053/2302 4079/4057/2306 3163/3079/1328 -f 3398/4058/2307 3397/4062/2311 4080/4059/2308 -f 4080/4059/2308 4081/4064/2313 4078/4056/2305 -f 4078/4056/2305 4081/4064/2313 4082/4060/2309 -f 4082/4060/2309 3165/3081/1330 3163/3079/1328 -f 3396/4061/2310 4083/4063/2312 4080/4059/2308 -f 4083/4063/2312 4084/4065/2314 4081/4064/2313 -f 4084/4065/2314 4085/4066/2315 4082/4060/2309 -f 4085/4066/2315 3167/3083/1332 3165/3081/1330 -f 3395/4067/2316 4086/4068/2317 4083/4063/2312 -f 4086/4068/2317 4087/4069/2318 4084/4065/2314 -f 4087/4069/2318 4088/4070/2319 4085/4066/2315 -f 4088/4070/2319 3169/3085/1334 3167/3083/1332 -f 3394/4071/2320 4089/4072/2321 4086/4068/2317 -f 4089/4072/2321 4090/4073/2322 4087/4069/2318 -f 4090/4073/2322 4091/4074/2323 4088/4070/2319 -f 4091/4074/2323 3156/3087/1336 3169/3085/1334 -f 3394/4071/2320 3393/4078/2327 4092/4075/2324 -f 4089/4072/2321 4092/4075/2324 4093/4076/2325 -f 4090/4073/2322 4093/4076/2325 4094/4077/2326 -f 4091/4074/2323 4094/4077/2326 3157/3074/1323 -f 3393/4078/2327 3392/4083/2332 4095/4079/2328 -f 4092/4075/2324 4095/4079/2328 4096/4080/2329 -f 4093/4076/2325 4096/4080/2329 4097/4081/2330 -f 4094/4077/2326 4097/4081/2330 3172/3091/1340 -f 3391/4082/2331 4098/4084/2333 4095/4079/2328 -f 4098/4084/2333 4099/4085/2334 4096/4080/2329 -f 4099/4085/2334 4100/4086/2335 4097/4081/2330 -f 4100/4086/2335 3173/3089/1338 3172/3091/1340 -f 3391/4082/2331 3390/4090/2339 4101/4087/2336 -f 4098/4084/2333 4101/4087/2336 4102/4088/2337 -f 4099/4085/2334 4102/4088/2337 4103/4089/2338 -f 4100/4086/2335 4103/4089/2338 3180/3112/1361 -f 3390/4090/2339 3389/4094/2343 4104/4091/2340 -f 4101/4087/2336 4104/4091/2340 4105/4092/2341 -f 4102/4088/2337 4105/4092/2341 4106/4093/2342 -f 4103/4089/2338 4106/4093/2342 3181/3097/1346 -f 3389/4094/2343 3388/4098/2347 4107/4095/2344 -f 4104/4091/2340 4107/4095/2344 4108/4096/2345 -f 4105/4092/2341 4108/4096/2345 4109/4097/2346 -f 4106/4093/2342 4109/4097/2346 3183/3099/1348 -f 3388/4098/2347 3387/4102/2351 4110/4099/2348 -f 4110/4099/2348 4111/4104/2353 4108/4096/2345 -f 4108/4096/2345 4111/4104/2353 4112/4100/2349 -f 4112/4100/2349 3185/3101/1350 3183/3099/1348 -f 3386/4101/2350 4113/4103/2352 4110/4099/2348 -f 4113/4103/2352 4114/4105/2354 4111/4104/2353 -f 4114/4105/2354 4115/4106/2355 4112/4100/2349 -f 4115/4106/2355 3187/3103/1352 3185/3101/1350 -f 3385/4107/2356 4116/4108/2357 4113/4103/2352 -f 4116/4108/2357 4117/4109/2358 4114/4105/2354 -f 4117/4109/2358 4118/4110/2359 4115/4106/2355 -f 4118/4110/2359 3189/3105/1354 3187/3103/1352 -f 3384/4111/2360 4119/4112/2361 4116/4108/2357 -f 4119/4112/2361 4120/4113/2362 4117/4109/2358 -f 4120/4113/2362 4121/4114/2363 4118/4110/2359 -f 4121/4114/2363 3176/3107/1356 3189/3105/1354 -f 3384/4111/2360 3383/4118/2367 4122/4115/2364 -f 4119/4112/2361 4122/4115/2364 4123/4116/2365 -f 4120/4113/2362 4123/4116/2365 4124/4117/2366 -f 4121/4114/2363 4124/4117/2366 3177/3094/1343 -f 3383/4118/2367 3382/3250/1499 4125/4119/2368 -f 4122/4115/2364 4125/4119/2368 4126/4120/2369 -f 4123/4116/2365 4126/4120/2369 4127/4121/2370 -f 4124/4117/2366 4127/4121/2370 3192/3111/1360 -f 3381/4122/2371 4128/4123/2372 4125/4119/2368 -f 4128/4123/2372 4129/4124/2373 4126/4120/2369 -f 4129/4124/2373 4130/4125/2374 4127/4121/2370 -f 4130/4125/2374 3193/3109/1358 3192/3111/1360 -f 3381/4122/2371 3380/4129/2378 4131/4126/2375 -f 4128/4123/2372 4131/4126/2375 4132/4127/2376 -f 4129/4124/2373 4132/4127/2376 4133/4128/2377 -f 4130/4125/2374 4133/4128/2377 3200/3131/1380 -f 3380/4129/2378 3379/4133/2382 4134/4130/2379 -f 4131/4126/2375 4134/4130/2379 4135/4131/2380 -f 4132/4127/2376 4135/4131/2380 4136/4132/2381 -f 4133/4128/2377 4136/4132/2381 3201/3117/1366 -f 3379/4133/2382 3378/4138/2387 4137/4134/2383 -f 4134/4130/2379 4137/4134/2383 4138/4135/2384 -f 4135/4131/2380 4138/4135/2384 4139/4136/2385 -f 4136/4132/2381 4139/4136/2385 3203/3119/1368 -f 3377/4137/2386 4140/4142/2391 4137/4134/2383 -f 4137/4134/2383 4140/4142/2391 4141/4139/2388 -f 4141/4139/2388 4142/4140/2389 4139/4136/2385 -f 4142/4140/2389 3205/3121/1370 3203/3119/1368 -f 3376/4141/2390 4143/4143/2392 4140/4142/2391 -f 4143/4143/2392 4144/4144/2393 4141/4139/2388 -f 4144/4144/2393 4145/4145/2394 4142/4140/2389 -f 4145/4145/2394 3207/3123/1372 3205/3121/1370 -f 3375/4146/2395 4146/4147/2396 4143/4143/2392 -f 4146/4147/2396 4147/4148/2397 4144/4144/2393 -f 4147/4148/2397 4148/4149/2398 4145/4145/2394 -f 4148/4149/2398 3209/3125/1374 3207/3123/1372 -f 3374/4150/2399 4149/4151/2400 4146/4147/2396 -f 4149/4151/2400 4150/4152/2401 4147/4148/2397 -f 4150/4152/2401 4151/4153/2402 4148/4149/2398 -f 4151/4153/2402 3196/3127/1376 3209/3125/1374 -f 3374/4150/2399 3373/4157/2406 4152/4154/2403 -f 4149/4151/2400 4152/4154/2403 4153/4155/2404 -f 4150/4152/2401 4153/4155/2404 4154/4156/2405 -f 4151/4153/2402 4154/4156/2405 3197/3114/1363 -f 3373/4157/2406 3372/4162/2411 4155/4158/2407 -f 4152/4154/2403 4155/4158/2407 4156/4159/2408 -f 4153/4155/2404 4156/4159/2408 4157/4160/2409 -f 4154/4156/2405 4157/4160/2409 3215/3213/1462 -f 3371/4161/2410 4158/4163/2412 4155/4158/2407 -f 4158/4163/2412 4159/4164/2413 4156/4159/2408 -f 4159/4164/2413 4160/4165/2414 4157/4160/2409 -f 4160/4165/2414 3212/3133/1382 3215/3213/1462 -f 3370/4166/2415 4161/4167/2416 4158/4163/2412 -f 4161/4167/2416 4162/4168/2417 4159/4164/2413 -f 4162/4168/2417 4163/4169/2418 4160/4165/2414 -f 4163/4169/2418 3213/3129/1378 3212/3133/1382 -f 3370/4166/2415 3369/4173/2422 4164/4170/2419 -f 4161/4167/2416 4164/4170/2419 4165/4171/2420 -f 4162/4168/2417 4165/4171/2420 4166/4172/2421 -f 4163/4169/2418 4166/4172/2421 3222/3154/1403 -f 3369/4173/2422 3368/4177/2426 4167/4174/2423 -f 4164/4170/2419 4167/4174/2423 4168/4175/2424 -f 4165/4171/2420 4168/4175/2424 4169/4176/2425 -f 4166/4172/2421 4169/4176/2425 3223/3139/1388 -f 3368/4177/2426 3367/4182/2431 4170/4178/2427 -f 4167/4174/2423 4170/4178/2427 4171/4179/2428 -f 4168/4175/2424 4171/4179/2428 4172/4180/2429 -f 4169/4176/2425 4172/4180/2429 3225/3141/1390 -f 3366/4181/2430 4173/4183/2432 4170/4178/2427 -f 4173/4183/2432 4174/4187/2436 4171/4179/2428 -f 4171/4179/2428 4174/4187/2436 4175/4184/2433 -f 4175/4184/2433 3227/3143/1392 3225/3141/1390 -f 3365/4185/2434 4176/4186/2435 4173/4183/2432 -f 4176/4186/2435 4177/4188/2437 4174/4187/2436 -f 4177/4188/2437 4178/4189/2438 4175/4184/2433 -f 4178/4189/2438 3229/3145/1394 3227/3143/1392 -f 3364/4190/2439 4179/4191/2440 4176/4186/2435 -f 4179/4191/2440 4180/4192/2441 4177/4188/2437 -f 4180/4192/2441 4181/4193/2442 4178/4189/2438 -f 4181/4193/2442 3231/3147/1396 3229/3145/1394 -f 3363/4194/2443 4182/4195/2444 4179/4191/2440 -f 4182/4195/2444 4183/4196/2445 4180/4192/2441 -f 4183/4196/2445 4184/4197/2446 4181/4193/2442 -f 4184/4197/2446 3218/3149/1398 3231/3147/1396 -f 3363/4194/2443 3362/4202/2451 4185/4198/2447 -f 4182/4195/2444 4185/4198/2447 4186/4199/2448 -f 4183/4196/2445 4186/4199/2448 4187/4200/2449 -f 4184/4197/2446 4187/4200/2449 3219/3136/1385 -f 3361/4201/2450 4188/4203/2452 4185/4198/2447 -f 4188/4203/2452 4189/4204/2453 4186/4199/2448 -f 4189/4204/2453 4190/4205/2454 4187/4200/2449 -f 4190/4205/2454 3234/3153/1402 3219/3136/1385 -f 3360/4206/2455 4191/4207/2456 4188/4203/2452 -f 4191/4207/2456 4192/4208/2457 4189/4204/2453 -f 4192/4208/2457 4193/4209/2458 4190/4205/2454 -f 4193/4209/2458 3235/3151/1400 3234/3153/1402 -f 3360/4206/2455 3359/4213/2462 4194/4210/2459 -f 4191/4207/2456 4194/4210/2459 4195/4211/2460 -f 4192/4208/2457 4195/4211/2460 4196/4212/2461 -f 4193/4209/2458 4196/4212/2461 3242/3174/1423 -f 3359/4213/2462 3358/4217/2466 4197/4214/2463 -f 4194/4210/2459 4197/4214/2463 4198/4215/2464 -f 4195/4211/2460 4198/4215/2464 4199/4216/2465 -f 4196/4212/2461 4199/4216/2465 3243/3159/1408 -f 3358/4217/2466 3357/4222/2471 4200/4218/2467 -f 4197/4214/2463 4200/4218/2467 4201/4219/2468 -f 4198/4215/2464 4201/4219/2468 4202/4220/2469 -f 4199/4216/2465 4202/4220/2469 3245/3161/1410 -f 3356/4221/2470 4203/4226/2475 4200/4218/2467 -f 4200/4218/2467 4203/4226/2475 4204/4223/2472 -f 4201/4219/2468 4204/4223/2472 4205/4224/2473 -f 4202/4220/2469 4205/4224/2473 3247/3163/1412 -f 3355/4225/2474 4206/4227/2476 4203/4226/2475 -f 4206/4227/2476 4207/4228/2477 4204/4223/2472 -f 4207/4228/2477 4208/4229/2478 4205/4224/2473 -f 4208/4229/2478 3249/3165/1414 3247/3163/1412 -f 3354/4230/2479 4209/4231/2480 4206/4227/2476 -f 4209/4231/2480 4210/4232/2481 4207/4228/2477 -f 4210/4232/2481 4211/4233/2482 4208/4229/2478 -f 4211/4233/2482 3251/3167/1416 3249/3165/1414 -f 3353/4234/2483 4212/4235/2484 4209/4231/2480 -f 4212/4235/2484 4213/4236/2485 4210/4232/2481 -f 4213/4236/2485 4214/4237/2486 4211/4233/2482 -f 4214/4237/2486 3238/3169/1418 3251/3167/1416 -f 3353/4234/2483 3352/4241/2490 4215/4238/2487 -f 4212/4235/2484 4215/4238/2487 4216/4239/2488 -f 4213/4236/2485 4216/4239/2488 4217/4240/2489 -f 4214/4237/2486 4217/4240/2489 3239/3156/1405 -f 3352/4241/2490 3351/4246/2495 4218/4242/2491 -f 4215/4238/2487 4218/4242/2491 4219/4243/2492 -f 4216/4239/2488 4219/4243/2492 4220/4244/2493 -f 4217/4240/2489 4220/4244/2493 3254/3173/1422 -f 3350/4245/2494 4221/4247/2496 4218/4242/2491 -f 4221/4247/2496 4222/4248/2497 4219/4243/2492 -f 4222/4248/2497 4223/4249/2498 4220/4244/2493 -f 4223/4249/2498 3255/3171/1420 3254/3173/1422 -f 3350/4245/2494 3349/4253/2502 4224/4250/2499 -f 4221/4247/2496 4224/4250/2499 4225/4251/2500 -f 4222/4248/2497 4225/4251/2500 4226/4252/2501 -f 4223/4249/2498 4226/4252/2501 3262/3194/1443 -f 3349/4253/2502 3348/4257/2506 4227/4254/2503 -f 4224/4250/2499 4227/4254/2503 4228/4255/2504 -f 4225/4251/2500 4228/4255/2504 4229/4256/2505 -f 4226/4252/2501 4229/4256/2505 3263/3179/1428 -f 3348/4257/2506 3347/4262/2511 4230/4258/2507 -f 4227/4254/2503 4230/4258/2507 4231/4259/2508 -f 4228/4255/2504 4231/4259/2508 4232/4260/2509 -f 4229/4256/2505 4232/4260/2509 3265/3181/1430 -f 3346/4261/2510 4233/4266/2515 4230/4258/2507 -f 4230/4258/2507 4233/4266/2515 4234/4263/2512 -f 4234/4263/2512 4235/4264/2513 4232/4260/2509 -f 4235/4264/2513 3267/3183/1432 3265/3181/1430 -f 3345/4265/2514 4236/4267/2516 4233/4266/2515 -f 4236/4267/2516 4237/4268/2517 4234/4263/2512 -f 4237/4268/2517 4238/4269/2518 4235/4264/2513 -f 4238/4269/2518 3269/3185/1434 3267/3183/1432 -f 3344/4270/2519 4239/4271/2520 4236/4267/2516 -f 4239/4271/2520 4240/4272/2521 4237/4268/2517 -f 4240/4272/2521 4241/4273/2522 4238/4269/2518 -f 4241/4273/2522 3271/3187/1436 3269/3185/1434 -f 3343/4274/2523 4242/4275/2524 4239/4271/2520 -f 4242/4275/2524 4243/4276/2525 4240/4272/2521 -f 4243/4276/2525 4244/4277/2526 4241/4273/2522 -f 4244/4277/2526 3258/3189/1438 3271/3187/1436 -f 3343/4274/2523 3342/4281/2530 4245/4278/2527 -f 4242/4275/2524 4245/4278/2527 4246/4279/2528 -f 4243/4276/2525 4246/4279/2528 4247/4280/2529 -f 4244/4277/2526 4247/4280/2529 3259/3176/1425 -f 3342/4281/2530 3341/4285/2534 4248/4282/2531 -f 4245/4278/2527 4248/4282/2531 4249/4283/2532 -f 4246/4279/2528 4249/4283/2532 4250/4284/2533 -f 4247/4280/2529 4250/4284/2533 3274/3193/1442 -f 3341/4285/2534 3340/4290/2539 4251/4286/2535 -f 4248/4282/2531 4251/4286/2535 4252/4287/2536 -f 4249/4283/2532 4252/4287/2536 4253/4288/2537 -f 4250/4284/2533 4253/4288/2537 3275/3191/1440 -f 3339/4289/2538 4254/4291/2540 4251/4286/2535 -f 4254/4291/2540 4255/4292/2541 4252/4287/2536 -f 4255/4292/2541 4256/4293/2542 4253/4288/2537 -f 4256/4293/2542 3282/3212/1461 3275/3191/1440 -f 3338/4294/2543 4257/4295/2544 4254/4291/2540 -f 4257/4295/2544 4258/4296/2545 4255/4292/2541 -f 4258/4296/2545 4259/4297/2546 4256/4293/2542 -f 4259/4297/2546 3283/3199/1448 3282/3212/1461 -f 3337/4298/2547 4260/4299/2548 4257/4295/2544 -f 4260/4299/2548 4261/4300/2549 4258/4296/2545 -f 4261/4300/2549 4262/4301/2550 4259/4297/2546 -f 4262/4301/2550 3285/3201/1450 3283/3199/1448 -f 3337/4298/2547 3336/4305/2554 4263/4302/2551 -f 4260/4299/2548 4263/4302/2551 4264/4303/2552 -f 4264/4303/2552 4265/4304/2553 4262/4301/2550 -f 4265/4304/2553 3287/3203/1452 3285/3201/1450 -f 3336/4305/2554 3335/4309/2558 4266/4306/2555 -f 4263/4302/2551 4266/4306/2555 4267/4307/2556 -f 4264/4303/2552 4267/4307/2556 4268/4308/2557 -f 4265/4304/2553 4268/4308/2557 3289/3205/1454 -f 3335/4309/2558 3334/4313/2562 4269/4310/2559 -f 4266/4306/2555 4269/4310/2559 4270/4311/2560 -f 4267/4307/2556 4270/4311/2560 4271/4312/2561 -f 4268/4308/2557 4271/4312/2561 3291/3207/1456 -f 3334/4313/2562 3333/4318/2567 4272/4314/2563 -f 4269/4310/2559 4272/4314/2563 4273/4315/2564 -f 4270/4311/2560 4273/4315/2564 4274/4316/2565 -f 4271/4312/2561 4274/4316/2565 3278/3209/1458 -f 3332/4317/2566 4275/4319/2568 4272/4314/2563 -f 4275/4319/2568 4276/4320/2569 4273/4315/2564 -f 4276/4320/2569 4277/4321/2570 4274/4316/2565 -f 4277/4321/2570 3279/3196/1445 3278/3209/1458 -f 3331/3835/2084 3910/3833/2082 4275/4319/2568 -f 3910/3833/2082 3908/3831/2080 4276/4320/2569 -f 3908/3831/2080 3906/3829/2078 4277/4321/2570 -f 3906/3829/2078 3295/3214/1463 3279/3196/1445 -f 3473/4322/2571 4278/4323/2572 3911/3834/2083 -f 4278/4323/2572 4279/4324/2573 3909/3832/2081 -f 4279/4324/2573 4280/4325/2574 3907/3830/2079 -f 4280/4325/2574 2901/2963/1212 2900/3828/2077 -f 3472/4326/2575 4281/4327/2576 4278/4323/2572 -f 4281/4327/2576 4282/4328/2577 4279/4324/2573 -f 4282/4328/2577 4283/4329/2578 4280/4325/2574 -f 4283/4329/2578 3293/3210/1459 2901/2963/1212 -f 3472/4326/2575 3471/4333/2582 4284/4330/2579 -f 4281/4327/2576 4284/4330/2579 4285/4331/2580 -f 4282/4328/2577 4285/4331/2580 4286/4332/2581 -f 4283/4329/2578 4286/4332/2581 3302/3235/1484 -f 3471/4333/2582 3470/4337/2586 4287/4334/2583 -f 4284/4330/2579 4287/4334/2583 4288/4335/2584 -f 4285/4331/2580 4288/4335/2584 4289/4336/2585 -f 4286/4332/2581 4289/4336/2585 3303/3220/1469 -f 3470/4337/2586 3469/4341/2590 4290/4338/2587 -f 4287/4334/2583 4290/4338/2587 4291/4339/2588 -f 4288/4335/2584 4291/4339/2588 4292/4340/2589 -f 4289/4336/2585 4292/4340/2589 3305/3222/1471 -f 3469/4341/2590 3468/4346/2595 4293/4342/2591 -f 4290/4338/2587 4293/4342/2591 4294/4343/2592 -f 4291/4339/2588 4294/4343/2592 4295/4344/2593 -f 4292/4340/2589 4295/4344/2593 3307/3224/1473 -f 3467/4345/2594 4296/4347/2596 4293/4342/2591 -f 4296/4347/2596 4297/4348/2597 4294/4343/2592 -f 4297/4348/2597 4298/4349/2598 4295/4344/2593 -f 4298/4349/2598 3309/3226/1475 3307/3224/1473 -f 3466/4350/2599 4299/4351/2600 4296/4347/2596 -f 4299/4351/2600 4300/4352/2601 4297/4348/2597 -f 4300/4352/2601 4301/4353/2602 4298/4349/2598 -f 4301/4353/2602 3311/3228/1477 3309/3226/1475 -f 3465/4354/2603 4302/4355/2604 4299/4351/2600 -f 4302/4355/2604 4303/4356/2605 4300/4352/2601 -f 4303/4356/2605 4304/4357/2606 4301/4353/2602 -f 4304/4357/2606 3298/3230/1479 3311/3228/1477 -f 3465/4354/2603 3464/4362/2611 4305/4358/2607 -f 4302/4355/2604 4305/4358/2607 4306/4359/2608 -f 4303/4356/2605 4306/4359/2608 4307/4360/2609 -f 4304/4357/2606 4307/4360/2609 3299/3217/1466 -f 3463/4361/2610 4308/4363/2612 4305/4358/2607 -f 4308/4363/2612 4309/4364/2613 4306/4359/2608 -f 4309/4364/2613 4310/4365/2614 4307/4360/2609 -f 4310/4365/2614 3314/3234/1483 3299/3217/1466 -f 3462/4366/2615 4311/4367/2616 4308/4363/2612 -f 4311/4367/2616 4312/4368/2617 4309/4364/2613 -f 4312/4368/2617 4313/4369/2618 4310/4365/2614 -f 4313/4369/2618 3315/3232/1481 3314/3234/1483 -f 3461/4370/2619 4314/4373/2622 4311/4367/2616 -f 4311/4367/2616 4314/4373/2622 4315/4371/2620 -f 4315/4371/2620 4316/4375/2624 4313/4369/2618 -f 4313/4369/2618 4316/4375/2624 3320/3253/1502 -f 3461/4370/2619 3460/4376/2625 4317/4372/2621 -f 4314/4373/2622 4317/4372/2621 4318/4374/2623 -f 4318/4374/2623 4319/4380/2629 4316/4375/2624 -f 4316/4375/2624 4319/4380/2629 3321/3239/1488 -f 3460/4376/2625 3459/4381/2630 4320/4377/2626 -f 4317/4372/2621 4320/4377/2626 4321/4378/2627 -f 4318/4374/2623 4321/4378/2627 4322/4379/2628 -f 4322/4379/2628 3323/3241/1490 3321/3239/1488 -f 3459/4381/2630 3458/4384/2633 4323/4382/2631 -f 4323/4382/2631 4324/4386/2635 4321/4378/2627 -f 4321/4378/2627 4324/4386/2635 4325/4383/2632 -f 4325/4383/2632 3325/3243/1492 3323/3241/1490 -f 3458/4384/2633 3457/4389/2638 4326/4385/2634 -f 4326/4385/2634 4327/4387/2636 4324/4386/2635 -f 4327/4387/2636 4328/4392/2641 4325/4383/2632 -f 4325/4383/2632 4328/4392/2641 3327/3245/1494 -f 3456/4388/2637 4329/4390/2639 4326/4385/2634 -f 4329/4390/2639 4330/4391/2640 4327/4387/2636 -f 4330/4391/2640 4331/4395/2644 4328/4392/2641 -f 4328/4392/2641 4331/4395/2644 3329/3247/1496 -f 3456/4388/2637 3455/4396/2645 4332/4393/2642 -f 4332/4393/2642 4333/4394/2643 4330/4391/2640 -f 4333/4394/2643 4334/4400/2649 4331/4395/2644 -f 4331/4395/2644 4334/4400/2649 3317/3249/1498 -f 3455/4396/2645 3454/4401/2650 4335/4397/2646 -f 4332/4393/2642 4335/4397/2646 4336/4398/2647 -f 4333/4394/2643 4336/4398/2647 4337/4399/2648 -f 4334/4400/2649 4337/4399/2648 3048/3237/1486 -f 3453/3839/2088 3913/3838/2087 4335/4397/2646 -f 4335/4397/2646 3913/3838/2087 3915/3841/2090 -f 3915/3841/2090 3917/3843/2092 4337/4399/2648 -f 3917/3843/2092 3049/2969/1218 3048/3237/1486 -f 2899/2962/1211 3294/3215/1464 3295/3214/1463 +f 1472/1483/549 1473/1484/549 1474/1485/549 +f 1475/1486/550 1476/1487/549 1477/1488/549 +f 1478/1489/551 1479/1490/551 1480/1491/552 +f 1481/1492/553 1482/1493/553 1483/1494/553 +f 1484/1495/554 1485/1496/554 1486/1497/554 +f 1487/1498/555 1488/1499/556 1489/1500/557 +f 1490/1501/558 1491/1502/551 1478/1489/551 +f 1490/1501/558 1480/1491/552 1492/1503/559 +f 1493/1504/560 1494/1505/560 1495/1506/560 +f 1496/1507/561 1497/1508/561 1498/1509/562 +f 1499/1510/554 1500/1511/554 1501/1512/554 +f 1502/1513/563 1503/1514/563 1504/1515/563 +f 1490/1501/558 1478/1489/551 1480/1491/552 +f 1505/1516/564 1506/1517/564 1507/1518/564 +f 1508/1519/565 1509/1520/565 1510/1521/565 +f 1511/1522/554 1512/1523/554 1513/1524/554 +f 1514/1525/566 1515/1526/567 1516/1527/568 +f 1517/1528/564 1518/1529/564 1519/1530/564 +f 1520/1531/564 1521/1532/564 1522/1533/564 +f 1522/1533/564 1523/1534/564 1524/1535/564 +f 1525/1536/569 1526/1537/570 1527/1538/570 +f 1528/1539/571 1529/1540/570 1525/1536/569 +f 1517/1528/564 1519/1530/564 1530/1541/564 +f 1531/1542/572 1532/1543/572 1533/1544/572 +f 1534/1545/554 1535/1546/554 1536/1547/554 +f 1534/1545/554 1536/1547/554 1537/1548/554 +f 1538/1549/564 1522/1533/564 1524/1535/564 +f 1521/1532/564 1523/1534/564 1522/1533/564 +f 1523/1534/564 1539/1550/564 1524/1535/564 +f 1526/1537/570 1540/1551/570 1527/1538/570 +f 1529/1540/570 1526/1537/570 1525/1536/569 +f 1519/1530/564 1541/1552/564 1530/1541/564 +f 1542/1553/572 1543/1554/572 1532/1543/572 +f 1532/1543/572 1543/1554/572 1533/1544/572 +f 1535/1546/554 1544/1555/554 1536/1547/554 +f 1536/1547/554 1545/1556/554 1537/1548/554 +f 1546/1557/573 1547/1558/574 1548/1559/575 +f 1549/1560/576 1550/1561/576 1528/1539/571 +f 1549/1560/576 1551/1562/577 1552/1563/578 +f 1551/1562/577 1553/1564/579 1554/1565/580 +f 1553/1564/579 1548/1559/575 1547/1558/574 +f 1555/1566/581 1548/1559/575 1475/1486/550 +f 1556/1567/570 1527/1538/570 1540/1551/570 +f 1557/1568/582 1558/1569/582 1559/1570/582 +f 1560/1571/582 1561/1572/582 1562/1573/582 +f 1563/1574/570 1564/1575/570 1565/1576/570 +f 1566/1577/554 1567/1578/554 1568/1579/554 +f 1569/1580/554 1570/1581/554 1571/1582/554 +f 1572/1583/582 1573/1584/582 1574/1585/582 +f 1520/1531/564 1575/1586/564 1521/1532/564 +f 1540/1551/570 1526/1537/570 1576/1587/570 +f 1518/1529/564 1577/1588/564 1519/1530/564 +f 1531/1542/572 1578/1589/572 1532/1543/572 +f 1534/1545/554 1579/1590/554 1535/1546/554 +f 1580/1591/583 1581/1592/584 1582/1593/585 +f 1583/1594/586 1584/1595/587 1585/1596/588 +f 1586/1597/564 1587/1598/564 1588/1599/589 +f 1589/1600/564 1590/1601/564 1591/1602/564 +f 1592/1603/590 1585/1596/588 1584/1595/587 +f 1593/1604/572 1594/1605/572 1595/1606/572 +f 1596/1607/572 1597/1608/572 1598/1609/572 +f 1599/1610/572 1600/1611/572 1601/1612/572 +f 1602/1613/591 1603/1614/592 1604/1615/593 +f 1605/1616/582 1606/1617/582 1607/1618/582 +f 1581/1592/584 1608/1619/594 1609/1620/595 +f 1600/1621/572 1610/1622/572 1611/1623/572 +f 1603/1614/592 1612/1624/596 1613/1625/597 +f 1606/1617/582 1614/1626/582 1615/1627/582 +f 1608/1619/594 1616/1628/598 1617/1629/599 +f 1610/1630/572 1618/1631/572 1619/1632/572 +f 1612/1624/596 1620/1633/600 1621/1634/601 +f 1614/1626/582 1622/1635/582 1623/1636/582 +f 1616/1628/598 1624/1637/602 1625/1638/603 +f 1618/1631/572 1626/1639/572 1627/1640/572 +f 1620/1641/600 1628/1642/604 1629/1643/605 +f 1622/1635/582 1630/1644/582 1631/1645/582 +f 1632/1646/606 1633/1647/607 1634/1648/608 +f 1626/1639/572 1635/1649/572 1636/1650/572 +f 1637/1651/609 1638/1652/610 1639/1653/611 +f 1630/1644/582 1640/1654/582 1641/1655/582 +f 1633/1656/607 1642/1657/612 1643/1658/613 +f 1635/1649/572 1644/1659/572 1645/1660/572 +f 1638/1652/610 1646/1661/614 1647/1662/615 +f 1640/1654/582 1648/1663/582 1649/1664/582 +f 1642/1657/612 1650/1665/616 1651/1666/617 +f 1644/1659/572 1652/1667/572 1653/1668/572 +f 1646/1661/614 1654/1669/618 1655/1670/619 +f 1648/1663/582 1656/1671/582 1657/1672/582 +f 1650/1673/616 1658/1674/591 1659/1675/620 +f 1652/1667/572 1660/1676/572 1661/1677/572 +f 1654/1669/618 1662/1678/583 1663/1679/621 +f 1656/1671/582 1664/1680/582 1665/1681/582 +f 1658/1674/591 1666/1682/622 1667/1683/593 +f 1660/1676/572 1668/1684/572 1669/1685/572 +f 1662/1678/583 1670/1686/584 1671/1687/585 +f 1664/1680/582 1672/1688/582 1673/1689/582 +f 1666/1682/622 1674/1690/596 1675/1691/597 +f 1668/1684/572 1676/1692/572 1677/1693/572 +f 1670/1686/584 1678/1694/594 1679/1695/595 +f 1672/1688/582 1680/1696/582 1681/1697/582 +f 1674/1690/596 1682/1698/600 1683/1699/601 +f 1676/1692/572 1684/1700/572 1685/1701/572 +f 1678/1694/594 1686/1702/623 1687/1703/624 +f 1680/1696/582 1688/1704/582 1689/1705/582 +f 1682/1698/600 1690/1706/604 1691/1707/625 +f 1684/1700/572 1692/1708/572 1693/1709/572 +f 1686/1702/623 1694/1710/602 1695/1711/626 +f 1688/1704/582 1696/1712/582 1697/1713/582 +f 1690/1706/604 1698/1714/627 1699/1715/628 +f 1692/1708/572 1700/1716/572 1701/1717/572 +f 1694/1718/602 1702/1719/607 1703/1720/608 +f 1696/1712/582 1704/1721/582 1705/1722/582 +f 1698/1714/627 1706/1723/614 1707/1724/615 +f 1700/1716/572 1708/1725/572 1709/1726/572 +f 1702/1719/607 1710/1727/612 1711/1728/613 +f 1704/1721/582 1712/1729/582 1713/1730/582 +f 1706/1723/614 1714/1731/618 1715/1732/619 +f 1708/1725/572 1716/1733/572 1717/1734/572 +f 1710/1727/612 1718/1735/616 1719/1736/629 +f 1712/1729/582 1720/1737/582 1721/1738/582 +f 1714/1731/618 1580/1591/583 1722/1739/621 +f 1716/1733/572 1599/1610/572 1723/1740/572 +f 1718/1735/616 1602/1613/591 1724/1741/620 +f 1720/1737/582 1605/1616/582 1725/1742/582 +f 1726/1743/554 1727/1744/554 1728/1745/554 +f 1727/1744/554 1729/1746/554 1730/1747/554 +f 1729/1746/554 1731/1748/554 1732/1749/554 +f 1731/1748/554 1733/1750/554 1734/1751/554 +f 1733/1750/554 1735/1752/554 1736/1753/554 +f 1735/1752/554 1737/1754/554 1738/1755/554 +f 1737/1754/554 1739/1756/554 1740/1757/554 +f 1739/1756/554 1741/1758/554 1742/1759/554 +f 1741/1758/554 1743/1760/554 1744/1761/554 +f 1743/1760/554 1745/1762/554 1746/1763/554 +f 1745/1762/554 1747/1764/554 1748/1765/554 +f 1747/1764/554 1726/1743/554 1749/1766/554 +f 1750/1767/630 1751/1768/631 1752/1769/632 +f 1753/1770/633 1754/1771/634 1755/1772/635 +f 1756/1773/554 1757/1774/554 1758/1775/554 +f 1759/1776/636 1750/1767/630 1760/1777/637 +f 1754/1771/634 1761/1778/638 1762/1779/639 +f 1757/1774/554 1763/1780/554 1758/1775/554 +f 1764/1781/640 1759/1776/636 1765/1782/641 +f 1761/1778/638 1766/1783/642 1767/1784/643 +f 1763/1780/554 1768/1785/554 1758/1775/554 +f 1769/1786/644 1770/1787/645 1771/1788/646 +f 1766/1783/642 1772/1789/647 1773/1790/648 +f 1768/1785/554 1774/1791/554 1758/1775/554 +f 1775/1792/649 1769/1786/644 1776/1793/650 +f 1772/1789/647 1777/1794/651 1778/1795/652 +f 1774/1791/554 1779/1796/554 1758/1775/554 +f 1780/1797/653 1775/1792/649 1781/1798/654 +f 1777/1794/651 1782/1799/655 1783/1800/656 +f 1779/1796/554 1784/1801/554 1758/1775/554 +f 1785/1802/651 1780/1797/653 1786/1803/657 +f 1782/1799/655 1787/1804/658 1788/1805/654 +f 1784/1801/554 1789/1806/554 1758/1775/554 +f 1790/1807/659 1785/1802/651 1791/1808/660 +f 1787/1804/658 1792/1809/644 1793/1810/661 +f 1789/1806/554 1794/1811/554 1758/1775/554 +f 1795/1812/662 1790/1807/659 1796/1813/648 +f 1792/1809/644 1797/1814/645 1798/1815/663 +f 1794/1811/554 1799/1816/554 1758/1775/554 +f 1800/1817/638 1795/1812/662 1801/1818/664 +f 1802/1819/640 1803/1820/665 1804/1821/641 +f 1799/1816/554 1805/1822/554 1758/1775/554 +f 1806/1823/666 1800/1817/638 1807/1824/667 +f 1803/1820/665 1808/1825/630 1809/1826/668 +f 1805/1822/554 1810/1827/554 1758/1775/554 +f 1751/1768/631 1806/1823/666 1811/1828/635 +f 1808/1825/630 1753/1770/633 1812/1829/669 +f 1810/1827/554 1756/1773/554 1758/1775/554 +f 1813/1830/670 1814/1831/671 1815/1832/672 +f 1816/1833/673 1817/1834/674 1818/1835/675 +f 1819/1836/676 1820/1837/677 1821/1838/678 +f 1822/1839/679 1823/1840/680 1824/1841/681 +f 1825/1842/682 1818/1835/675 1826/1843/683 +f 1827/1844/684 1818/1835/675 1825/1842/682 +f 1828/1845/685 1829/1846/686 1830/1847/687 +f 1831/1848/688 1832/1849/689 1828/1845/685 +f 1819/1836/676 1833/1850/690 1828/1845/685 +f 1834/1851/691 1835/1852/692 1815/1832/672 +f 1835/1852/692 1834/1851/691 1836/1853/693 +f 1835/1852/692 1837/1854/694 1838/1855/695 +f 1839/1856/696 1840/1857/697 1830/1847/687 +f 1841/1858/698 1839/1856/696 1842/1859/699 +f 1822/1839/679 1843/1860/700 1823/1840/680 +f 1844/1861/701 1845/1862/702 1826/1843/683 +f 1846/1863/703 1845/1862/702 1844/1861/701 +f 1847/1864/704 1845/1862/702 1848/1865/705 +f 1849/1866/706 1850/1867/707 1851/1868/708 +f 1852/1869/709 1851/1868/708 1850/1867/707 +f 1825/1842/682 1826/1843/683 1853/1870/710 +f 1854/1871/711 1824/1841/681 1855/1872/712 +f 1856/1873/713 1827/1844/684 1854/1871/711 +f 1822/1839/679 1824/1841/681 1857/1874/714 +f 1843/1860/700 1822/1839/679 1857/1874/714 +f 1857/1874/714 1824/1841/681 1854/1871/711 +f 1858/1875/715 1859/1876/716 1860/1877/717 +f 1845/1862/702 1853/1870/710 1826/1843/683 +f 1854/1871/711 1853/1870/710 1861/1878/718 +f 1862/1879/719 1863/1880/720 1847/1864/704 +f 1863/1880/720 1861/1878/718 1845/1862/702 +f 1857/1874/714 1863/1880/720 1862/1879/719 +f 1861/1878/718 1863/1880/720 1857/1874/714 +f 1860/1877/717 1862/1879/719 1858/1875/715 +f 1849/1866/706 1864/1881/721 1862/1879/719 +f 1865/1882/722 1848/1865/705 1846/1863/703 +f 1866/1883/723 1865/1882/722 1867/1884/724 +f 1868/1885/725 1814/1831/671 1813/1830/670 +f 1869/1886/726 1868/1885/725 1870/1887/727 +f 1840/1857/697 1820/1837/677 1819/1836/676 +f 1871/1888/728 1872/1889/729 1873/1890/730 +f 1848/1865/705 1845/1862/702 1846/1863/703 +f 1861/1878/718 1853/1870/710 1845/1862/702 +f 1827/1844/684 1825/1842/682 1853/1870/710 +f 1853/1870/710 1854/1871/711 1827/1844/684 +f 1856/1873/713 1854/1871/711 1855/1872/712 +f 1843/1860/700 1860/1877/717 1859/1876/716 +f 1864/1881/721 1858/1875/715 1862/1879/719 +f 1850/1867/707 1849/1866/706 1862/1879/719 +f 1873/1890/730 1823/1840/680 1841/1858/698 +f 1843/1860/700 1859/1876/716 1823/1840/680 +f 1823/1840/680 1859/1876/716 1840/1857/697 +f 1864/1881/721 1820/1837/677 1858/1875/715 +f 1849/1866/706 1820/1837/677 1864/1881/721 +f 1849/1866/706 1851/1868/708 1820/1837/677 +f 1851/1868/708 1852/1869/709 1874/1891/731 +f 1848/1865/705 1865/1882/722 1852/1869/709 +f 1852/1869/709 1866/1883/723 1869/1886/726 +f 1875/1892/732 1868/1885/725 1876/1893/733 +f 1814/1831/671 1868/1885/725 1875/1892/732 +f 1840/1857/697 1839/1856/696 1841/1858/698 +f 1823/1840/680 1840/1857/697 1841/1858/698 +f 1859/1876/716 1858/1875/715 1840/1857/697 +f 1820/1837/677 1840/1857/697 1858/1875/715 +f 1851/1868/708 1874/1891/731 1820/1837/677 +f 1852/1869/709 1869/1886/726 1874/1891/731 +f 1865/1882/722 1866/1883/723 1852/1869/709 +f 1866/1883/723 1876/1893/733 1869/1886/726 +f 1868/1885/725 1869/1886/726 1876/1893/733 +f 1877/1894/734 1878/1895/735 1867/1884/724 +f 1879/1896/736 1877/1894/734 1880/1897/737 +f 1881/1898/738 1882/1899/739 1880/1897/737 +f 1883/1900/740 1816/1833/673 1884/1901/741 +f 1885/1902/564 1886/1903/564 1887/1904/564 +f 1888/1905/652 1889/1906/648 1890/1907/742 +f 1891/1908/656 1888/1905/652 1892/1909/651 +f 1889/1906/648 1893/1910/643 1894/1911/642 +f 1895/1912/654 1891/1908/656 1896/1913/655 +f 1897/1914/743 1895/1912/654 1898/1915/744 +f 1893/1910/643 1899/1916/745 1900/1917/638 +f 1901/1918/746 1897/1914/743 1902/1919/644 +f 1903/1920/641 1901/1918/746 1904/1921/645 +f 1899/1916/745 1905/1922/635 1906/1923/634 +f 1907/1924/668 1903/1920/641 1908/1925/665 +f 1909/1926/669 1907/1924/668 1910/1927/630 +f 1905/1922/635 1909/1926/669 1911/1928/633 +f 1912/1929/564 1913/1930/564 1914/1931/564 +f 1915/1932/564 1912/1929/564 1916/1933/564 +f 1913/1930/564 1917/1934/564 1918/1935/564 +f 1919/1936/564 1915/1932/564 1920/1937/564 +f 1921/1938/564 1919/1936/564 1922/1939/564 +f 1917/1934/564 1923/1940/564 1924/1941/564 +f 1885/1942/564 1921/1938/564 1925/1943/564 +f 1926/1944/564 1885/1942/564 1927/1945/564 +f 1923/1940/564 1928/1946/564 1929/1947/564 +f 1930/1948/564 1926/1944/564 1931/1949/564 +f 1932/1950/564 1930/1948/564 1933/1951/564 +f 1928/1946/564 1932/1950/564 1934/1952/564 +f 1935/1953/564 1936/1954/564 1937/1955/564 +f 1938/1956/647 1939/1957/651 1940/1958/652 +f 1941/1959/642 1938/1956/647 1942/1960/648 +f 1937/1955/564 1936/1954/564 1943/1961/564 +f 1939/1957/651 1944/1962/655 1945/1963/656 +f 1946/1964/564 1936/1954/564 1935/1953/564 +f 1943/1961/564 1936/1954/564 1947/1965/564 +f 1944/1962/655 1948/1966/658 1949/1967/654 +f 1950/1968/638 1941/1959/642 1951/1969/643 +f 1947/1965/564 1936/1954/564 1952/1970/564 +f 1948/1966/658 1953/1971/747 1954/1972/747 +f 1955/1973/564 1936/1954/564 1946/1964/564 +f 1952/1970/564 1936/1954/564 1956/1974/564 +f 1957/1975/748 1958/1976/748 1959/1977/749 +f 1960/1978/634 1950/1968/638 1961/1979/639 +f 1956/1974/564 1936/1954/564 1962/1980/564 +f 1963/1981/750 1964/1982/751 1965/1983/751 +f 1966/1984/564 1936/1954/564 1955/1973/564 +f 1962/1980/564 1936/1954/564 1967/1985/564 +f 1957/1975/748 1968/1986/630 1969/1987/668 +f 1970/1988/633 1960/1978/634 1971/1989/635 +f 1967/1985/564 1936/1954/564 1972/1990/564 +f 1968/1986/630 1970/1988/633 1973/1991/669 +f 1972/1990/564 1936/1954/564 1966/1984/564 +f 1974/1992/752 1959/1977/749 1965/1983/751 +f 1885/1902/564 1926/1993/564 1886/1903/564 +f 1954/1972/747 1953/1971/747 1975/1994/753 +f 1976/1995/754 1977/1996/755 1963/1981/750 +f 1887/1997/564 1886/1998/564 1978/1999/564 +f 1887/1904/564 1921/2000/564 1885/1902/564 +f 1979/2001/564 1980/2002/564 1981/2003/564 +f 1982/2004/756 1983/2005/757 1984/2006/758 +f 1985/2007/554 1986/2008/554 1987/2009/554 +f 1981/2003/564 1980/2002/564 1988/2010/564 +f 1983/2005/757 1989/2011/759 1990/2012/760 +f 1986/2008/554 1991/2013/554 1987/2009/554 +f 1988/2010/564 1980/2002/564 1992/2014/564 +f 1989/2011/759 1993/2015/761 1994/2016/762 +f 1991/2013/554 1995/2017/554 1987/2009/554 +f 1992/2014/564 1980/2002/564 1996/2018/564 +f 1997/2019/763 1998/2020/764 1999/2021/765 +f 1995/2017/554 2000/2022/554 1987/2009/554 +f 1996/2018/564 1980/2002/564 2001/2023/564 +f 1998/2020/764 2002/2024/766 2003/2025/767 +f 2000/2022/554 2004/2026/554 1987/2009/554 +f 2001/2023/564 1980/2002/564 2005/2027/564 +f 2002/2024/766 2006/2028/768 2007/2029/769 +f 2008/2030/564 2009/2031/770 2010/2032/770 +f 2004/2026/554 2011/2033/554 1987/2009/554 +f 2005/2027/564 1980/2002/564 2012/2034/564 +f 2010/2032/770 2009/2031/770 2013/2035/771 +f 2006/2028/768 2014/2036/772 2015/2037/773 +f 2011/2033/554 2016/2038/554 1987/2009/554 +f 2017/2039/774 2018/2040/775 2019/2041/776 +f 2020/2042/777 2017/2039/774 2021/2043/778 +f 2012/2034/564 1980/2002/564 1979/2001/564 +f 2014/2036/772 1982/2004/756 2022/2044/779 +f 2016/2038/554 1985/2007/554 1987/2009/554 +f 2023/2045/780 2024/2046/781 2025/2047/782 +f 2026/2048/783 2027/2049/784 2023/2045/780 +f 2028/2050/785 2029/2051/786 2030/2052/564 +f 2031/2053/787 2032/2054/788 2033/2055/554 +f 2034/2056/789 2035/2057/790 2036/2058/791 +f 2018/2040/775 2037/2059/792 2038/2060/793 +f 2039/2061/794 2040/2062/795 2041/2063/796 +f 2031/2053/787 2042/2064/797 2032/2054/788 +f 2043/2065/549 2044/2066/549 2045/2067/549 +f 2046/2068/564 2047/2069/564 2048/2070/564 +f 1586/1597/564 2049/2071/564 2050/2072/564 +f 2051/2073/798 2052/2074/799 2053/2075/800 +f 2041/2063/796 2040/2062/795 2054/2076/801 +f 2055/2077/802 2056/2078/803 2057/2079/564 +f 2058/2080/549 2059/2081/549 2060/2082/549 +f 2061/2083/549 2060/2082/549 2059/2081/549 +f 2062/2084/554 2063/2085/554 2064/2086/554 +f 2065/2087/804 2066/2088/805 2053/2075/800 +f 2067/2089/806 2068/2090/549 2069/2091/807 +f 2030/2052/564 2029/2051/786 2070/2092/564 +f 2071/2093/570 2072/2094/570 2073/2095/570 +f 2056/2078/803 2074/2096/564 2057/2079/564 +f 2075/2097/570 2076/2098/570 2077/2099/570 +f 2073/2095/570 2072/2094/570 2075/2100/570 +f 2078/2101/572 2079/2102/572 2080/2103/572 +f 2079/2102/572 2081/2104/572 2082/2105/572 +f 2083/2106/572 2084/2107/572 2082/2105/572 +f 2085/2108/570 2086/2109/570 2087/2110/570 +f 2088/2111/808 2089/2112/809 2090/2113/809 +f 2091/2114/810 2028/2050/785 2092/2115/811 +f 2039/2061/794 2093/2116/785 2094/2117/812 +f 2095/2118/787 2034/2056/789 2096/2119/813 +f 2097/2120/814 2098/2121/815 2099/2122/816 +f 2099/2122/816 2098/2121/815 2100/2123/817 +f 2099/2122/816 2100/2123/817 2101/2124/818 +f 2099/2122/816 2101/2124/818 2102/2125/586 +f 2103/2126/819 2104/2127/820 2105/2128/589 +f 2106/2129/821 2107/2130/822 2108/2131/816 +f 2109/2132/823 2110/2133/824 2111/2134/825 +f 2112/2135/826 2104/2127/820 2113/2136/827 +f 2114/2137/564 2115/2138/564 2113/2136/827 +f 2115/2138/564 2116/2139/564 2113/2136/827 +f 2117/2140/564 2113/2136/827 2116/2139/564 +f 2104/2127/820 2114/2137/564 2113/2136/827 +f 2114/2137/564 2104/2127/820 2103/2126/819 +f 2118/2141/828 2119/2142/829 2120/2143/830 +f 2121/2144/554 2122/2145/554 2123/2146/831 +f 2124/2147/564 2125/2148/564 2126/2149/832 +f 2127/2150/554 2128/2151/554 2129/2152/554 +f 2127/2150/554 2130/2153/833 2131/2154/554 +f 2121/2144/554 2123/2146/831 2132/2155/554 +f 2132/2155/554 2133/2156/554 2134/2157/554 +f 2134/2157/554 2135/2158/554 2136/2159/554 +f 2137/2160/564 2138/2161/564 2139/2162/834 +f 2140/2163/564 2141/2164/564 2142/2165/564 +f 2143/2166/564 2140/2163/564 2144/2167/564 +f 2125/2148/564 2143/2166/564 2145/2168/564 +f 2124/2147/564 2126/2149/832 2146/2169/564 +f 2122/2145/554 2147/2170/554 2130/2153/833 +f 2131/2154/554 2128/2151/554 2127/2150/554 +f 2128/2151/554 2136/2159/554 2129/2152/554 +f 2130/2153/833 2147/2170/554 2131/2154/554 +f 2123/2146/831 2133/2156/554 2132/2155/554 +f 2133/2156/554 2135/2158/554 2134/2157/554 +f 2135/2158/554 2129/2152/554 2136/2159/554 +f 2148/2171/564 2146/2169/564 2139/2162/834 +f 2141/2164/564 2138/2161/564 2137/2160/564 +f 2138/2161/564 2148/2171/564 2139/2162/834 +f 2141/2164/564 2137/2160/564 2142/2165/564 +f 2140/2163/564 2142/2165/564 2144/2167/564 +f 2143/2166/564 2144/2167/564 2145/2168/564 +f 2126/2149/832 2139/2162/834 2146/2169/564 +f 2149/2172/570 2086/2109/570 2085/2108/570 +f 2150/2173/835 2151/2174/836 2152/2175/837 +f 2153/2176/564 2154/2177/838 2151/2174/836 +f 2155/2178/564 2153/2176/564 2156/2179/839 +f 2157/2180/840 2155/2178/564 2158/2181/841 +f 2112/2135/826 2158/2181/841 2156/2179/839 +f 2159/2182/842 2118/2141/828 2160/2183/843 +f 2161/2184/570 2075/2100/570 2077/2185/570 +f 2162/2186/844 2163/2187/845 2024/2046/781 +f 2164/2188/846 2113/2136/827 2117/2140/564 +f 2165/2189/847 2164/2188/846 2117/2140/564 +f 2030/2052/564 2092/2115/811 2028/2050/785 +f 2166/2190/564 2167/2191/564 2168/2192/564 +f 2169/2193/847 2170/2194/848 2171/2195/849 +f 2027/2049/784 2172/2196/850 2173/2197/851 +f 2070/2092/564 2174/2198/848 2117/2140/564 +f 2074/2096/564 2117/2140/564 1585/1596/588 +f 2175/2199/570 2085/2200/570 2176/2201/570 +f 2177/2202/582 2178/2203/582 2179/2204/852 +f 2180/2205/853 2181/2206/854 2182/2207/855 +f 2183/2208/856 2184/2209/857 2185/2210/858 +f 2186/2211/859 2187/2212/860 2188/2213/861 +f 2189/2214/862 2185/2210/858 2184/2209/857 +f 2190/2215/863 2191/2216/864 2192/2217/865 +f 2192/2217/865 2193/2218/866 2194/2219/867 +f 2195/2220/868 2196/2221/869 2197/2222/870 +f 2198/2223/871 2199/2224/872 2196/2221/869 +f 2200/2225/873 2199/2224/872 2198/2223/871 +f 2195/2220/868 2198/2223/871 2196/2221/869 +f 2201/2226/874 2202/2227/875 2203/2228/876 +f 2204/2229/877 2205/2230/878 2201/2226/874 +f 2206/2231/879 2207/2232/880 2208/2233/881 +f 2209/2234/882 2206/2231/879 2210/2235/883 +f 2211/2236/884 2209/2234/882 2212/2237/885 +f 2213/2238/886 2211/2236/884 2214/2239/887 +f 2215/2240/888 2213/2238/886 2216/2241/889 +f 2217/2242/890 2218/2243/891 2219/2244/892 +f 2220/2245/893 2212/2237/885 2210/2235/883 +f 2221/2246/894 2214/2239/887 2212/2237/885 +f 2222/2247/895 2216/2241/889 2214/2239/887 +f 2223/2248/896 2224/2249/897 2216/2241/889 +f 2225/2250/898 2210/2235/883 2226/2251/899 +f 2227/2252/900 2228/2253/901 2209/2234/882 +f 2229/2254/902 2230/2255/903 2231/2256/904 +f 2194/2219/867 2190/2215/863 2192/2217/865 +f 2231/2256/904 2200/2225/873 2198/2223/871 +f 2232/2257/905 2201/2226/874 2203/2228/876 +f 2232/2257/905 2204/2229/877 2201/2226/874 +f 2212/2237/885 2209/2234/882 2210/2235/883 +f 2214/2239/887 2211/2236/884 2212/2237/885 +f 2216/2241/889 2213/2238/886 2214/2239/887 +f 2224/2249/897 2215/2240/888 2216/2241/889 +f 2233/2258/906 2217/2242/890 2219/2244/892 +f 2225/2250/898 2220/2245/893 2210/2235/883 +f 2220/2245/893 2221/2246/894 2212/2237/885 +f 2221/2246/894 2222/2247/895 2214/2239/887 +f 2222/2247/895 2223/2248/896 2216/2241/889 +f 2234/2259/907 2225/2250/898 2226/2251/899 +f 2235/2260/908 2236/2261/909 2195/2220/868 +f 2228/2253/901 2237/2262/910 2206/2231/879 +f 2231/2256/904 2238/2263/911 2200/2225/873 +f 2192/2217/865 2195/2220/868 2193/2218/866 +f 2201/2226/874 2205/2230/878 2239/2264/912 +f 2224/2249/897 2240/2265/913 2215/2240/888 +f 2223/2248/896 2241/2266/914 2224/2249/897 +f 2242/2267/915 2233/2258/906 2219/2244/892 +f 2243/2268/916 2215/2240/888 2233/2258/906 +f 2244/2269/917 2242/2267/915 2219/2244/892 +f 2242/2267/915 2243/2268/916 2233/2258/906 +f 2243/2268/916 2245/2270/918 2215/2240/888 +f 2054/2076/801 2118/2141/828 2246/2271/919 +f 2247/2272/570 2248/2273/570 2076/2098/570 +f 2036/2058/791 2249/2274/920 2096/2119/813 +f 2250/2275/921 2249/2274/920 2251/2276/922 +f 2252/2277/923 2253/2278/845 2025/2047/782 +f 2254/2279/924 2036/2058/791 2035/2057/790 +f 2255/2280/554 2256/2281/554 2257/2282/554 +f 2258/2283/570 2259/2284/570 2260/2285/570 +f 2261/2286/554 2262/2287/554 2263/2288/554 +f 2264/2289/925 2265/2290/926 2266/2291/925 +f 2267/2292/549 2268/2293/549 2269/2294/549 +f 2270/2295/927 2271/2296/927 2272/2297/570 +f 2149/2172/570 2075/2100/570 2072/2094/570 +f 2253/2278/845 2273/2298/844 2025/2047/782 +f 2274/2299/928 2275/2300/929 2027/2049/784 +f 2027/2049/784 2026/2048/783 2276/2301/930 +f 2023/2045/780 2025/2047/782 2277/2302/931 +f 2025/2047/782 2024/2046/781 2278/2303/932 +f 2279/2304/570 2280/2305/570 2281/2306/570 +f 2282/2307/582 2252/2277/923 2283/2308/933 +f 2284/2309/582 2253/2278/845 2252/2277/923 +f 2285/2310/934 2286/2311/582 2287/2312/582 +f 2283/2308/933 2288/2313/935 2289/2314/935 +f 2276/2301/930 2274/2299/928 2027/2049/784 +f 2290/2315/570 2279/2304/570 2291/2316/570 +f 2027/2049/784 2173/2197/851 2292/2317/936 +f 2111/2134/825 2293/2318/937 2294/2319/938 +f 2295/2320/939 2296/2321/940 2297/2322/554 +f 2294/2319/938 2297/2322/554 2298/2323/941 +f 2299/2324/554 2300/2325/554 2301/2326/942 +f 2302/2327/943 2301/2326/942 2303/2328/554 +f 2301/2329/942 2298/2323/941 2299/2330/554 +f 2293/2318/937 2297/2322/554 2294/2319/938 +f 2293/2318/937 2304/2331/944 2297/2322/554 +f 2304/2331/944 2295/2320/939 2297/2322/554 +f 2296/2321/940 2305/2332/554 2297/2322/554 +f 2297/2322/554 2299/2330/554 2298/2323/941 +f 2299/2324/554 2306/2333/554 2300/2325/554 +f 2300/2325/554 2307/2334/554 2301/2326/942 +f 2301/2326/942 2307/2334/554 2303/2328/554 +f 2308/2335/570 2309/2336/570 2310/2337/570 +f 2311/2338/570 2312/2339/570 2309/2340/570 +f 2313/2341/570 2314/2342/570 2308/2335/570 +f 2309/2336/570 2315/2343/570 2310/2337/570 +f 2309/2340/570 2316/2344/570 2311/2338/570 +f 2317/2345/570 2315/2346/570 2309/2340/570 +f 2316/2344/570 2309/2340/570 2280/2305/570 +f 2318/2347/945 2319/2348/946 2320/2349/947 +f 2321/2350/564 2318/2347/945 2322/2351/948 +f 1817/1834/674 1816/1833/673 2323/2352/949 +f 2324/2353/950 1883/1900/740 1872/1889/729 +f 2325/2354/951 2326/2355/952 1883/1900/740 +f 2325/2354/951 2324/2353/950 2327/2356/953 +f 1842/1859/699 2327/2356/953 2324/2353/950 +f 2328/2357/954 1878/1895/735 1877/1894/734 +f 2329/2358/955 1837/1854/694 1835/1852/692 +f 2329/2358/955 1836/1853/693 2328/2357/954 +f 2328/2357/954 1877/1894/734 1879/1896/736 +f 1828/1845/685 2330/2359/956 2331/2360/957 +f 1818/1835/675 1881/1898/738 2332/2361/958 +f 1821/1838/678 1874/1891/731 2333/2362/959 +f 1823/1840/680 1873/1890/730 1884/1901/741 +f 1867/1884/724 2332/2361/958 1880/1897/737 +f 1867/1884/724 1846/1863/703 2332/2361/958 +f 1826/1843/683 2332/2361/958 1844/1861/701 +f 1856/1873/713 1818/1835/675 1827/1844/684 +f 1855/1872/712 1816/1833/673 1856/1873/713 +f 1855/1872/712 1824/1841/681 1816/1833/673 +f 1816/1833/673 1818/1835/675 1856/1873/713 +f 1830/1847/687 1829/1846/686 1842/1859/699 +f 1832/1849/689 2334/2363/960 1829/1846/686 +f 1821/1838/678 2335/2364/961 1833/1850/690 +f 1821/1838/678 2333/2362/959 2335/2364/961 +f 2333/2362/959 1870/1887/727 2336/2365/962 +f 1870/1887/727 1813/1830/670 2337/2366/963 +f 1813/1830/670 1815/1832/672 2338/2367/964 +f 2328/2357/954 1836/1853/693 1878/1895/735 +f 2336/2365/962 2339/2368/965 2335/2364/961 +f 2337/2366/963 2340/2369/966 2336/2365/962 +f 2338/2367/964 2341/2370/967 2337/2366/963 +f 1838/1855/695 2342/2371/968 2338/2367/964 +f 2335/2364/961 2343/2372/969 2330/2359/956 +f 1874/1891/731 1869/1886/726 2333/2362/959 +f 1873/1890/730 1872/1889/729 1884/1901/741 +f 1846/1863/703 1844/1861/701 2332/2361/958 +f 1824/1841/681 1884/1901/741 1816/1833/673 +f 1829/1846/686 2327/2356/953 1842/1859/699 +f 2334/2363/960 2327/2356/953 1829/1846/686 +f 2333/2362/959 2336/2365/962 2335/2364/961 +f 1870/1887/727 2337/2366/963 2336/2365/962 +f 1813/1830/670 2338/2367/964 2337/2366/963 +f 1815/1832/672 1838/1855/695 2338/2367/964 +f 1836/1853/693 1834/1851/691 1878/1895/735 +f 2339/2368/965 2343/2372/969 2335/2364/961 +f 2340/2369/966 2339/2368/965 2336/2365/962 +f 2341/2370/967 2340/2369/966 2337/2366/963 +f 2342/2371/968 2341/2370/967 2338/2367/964 +f 2343/2372/969 2331/2360/957 2330/2359/956 +f 1817/1834/674 1881/1898/738 1818/1835/675 +f 1820/1837/677 1874/1891/731 1821/1838/678 +f 1823/1840/680 1884/1901/741 1824/1841/681 +f 1818/1835/675 2332/2361/958 1826/1843/683 +f 1832/1849/689 1829/1846/686 1828/1845/685 +f 1835/1852/692 1838/1855/695 1815/1832/672 +f 1837/1854/694 2342/2371/968 1838/1855/695 +f 1834/1851/691 1876/1893/733 1878/1895/735 +f 1815/1832/672 1875/1892/732 1834/1851/691 +f 1876/1893/733 1866/1883/723 1878/1895/735 +f 1875/1892/732 1876/1893/733 1834/1851/691 +f 1814/1831/671 1875/1892/732 1815/1832/672 +f 2245/2270/918 2213/2238/886 2215/2240/888 +f 2236/2261/909 2198/2223/871 2195/2220/868 +f 2237/2262/910 2207/2232/880 2206/2231/879 +f 2238/2263/911 2344/2373/970 2200/2225/873 +f 2195/2220/868 2345/2374/971 2193/2218/866 +f 2195/2220/868 2197/2222/870 2345/2374/971 +f 2201/2226/874 2239/2264/912 2202/2227/875 +f 2205/2230/878 2346/2375/972 2239/2264/912 +f 2207/2232/880 2202/2227/875 2239/2264/912 +f 2240/2265/913 2233/2258/906 2215/2240/888 +f 2233/2258/906 2240/2265/913 2217/2242/890 +f 2241/2266/914 2240/2265/913 2224/2249/897 +f 2347/2376/973 2203/2228/876 2202/2227/875 +f 2348/2377/974 2349/2378/975 2203/2228/876 +f 2350/2379/976 2344/2373/970 2238/2263/911 +f 2351/2380/977 2194/2219/867 2193/2218/866 +f 2351/2380/977 2190/2215/863 2194/2219/867 +f 2352/2381/978 2353/2382/979 2354/2383/980 +f 2355/2384/981 2356/2385/982 2357/2386/983 +f 2353/2382/979 2352/2381/978 2355/2384/981 +f 2193/2218/866 2345/2374/971 2358/2387/984 +f 2200/2225/873 2359/2388/985 2199/2224/872 +f 2197/2222/870 2196/2221/869 2359/2388/985 +f 2200/2225/873 2344/2373/970 2360/2389/986 +f 2350/2379/976 2361/2390/987 2360/2389/986 +f 2200/2225/873 2360/2389/986 2359/2388/985 +f 2362/2391/988 2363/2392/989 2361/2390/987 +f 2358/2387/984 2351/2380/977 2193/2218/866 +f 2358/2387/984 2359/2388/985 2364/2393/990 +f 2365/2394/991 2355/2384/981 2352/2381/978 +f 2366/2395/992 2352/2381/978 2351/2380/977 +f 2360/2389/986 2361/2390/987 2365/2394/991 +f 2364/2393/990 2359/2388/985 2360/2389/986 +f 2365/2394/991 2361/2390/987 2363/2392/989 +f 2367/2396/993 2356/2385/982 2365/2394/991 +f 2368/2397/994 2191/2216/864 2190/2215/863 +f 2244/2269/917 2219/2244/892 2191/2216/864 +f 2369/2398/995 2211/2236/884 2213/2238/886 +f 2227/2252/900 2209/2234/882 2211/2236/884 +f 2370/2399/996 2202/2227/875 2207/2232/880 +f 2349/2378/975 2348/2377/974 2230/2255/903 +f 2351/2380/977 2354/2383/980 2190/2215/863 +f 2358/2387/984 2364/2393/990 2351/2380/977 +f 2345/2374/971 2197/2222/870 2358/2387/984 +f 2359/2388/985 2358/2387/984 2197/2222/870 +f 2359/2388/985 2196/2221/869 2199/2224/872 +f 2361/2390/987 2350/2379/976 2362/2391/988 +f 2363/2392/989 2367/2396/993 2365/2394/991 +f 2356/2385/982 2355/2384/981 2365/2394/991 +f 2238/2263/911 2230/2255/903 2348/2377/974 +f 2362/2391/988 2350/2379/976 2238/2263/911 +f 2362/2391/988 2238/2263/911 2370/2399/996 +f 2237/2262/910 2367/2396/993 2363/2392/989 +f 2237/2262/910 2356/2385/982 2367/2396/993 +f 2357/2386/983 2356/2385/982 2237/2262/910 +f 2353/2382/979 2357/2386/983 2228/2253/901 +f 2368/2397/994 2354/2383/980 2353/2382/979 +f 2244/2269/917 2353/2382/979 2227/2252/900 +f 2369/2398/995 2243/2268/916 2242/2267/915 +f 2369/2398/995 2245/2270/918 2243/2268/916 +f 2347/2376/973 2370/2399/996 2348/2377/974 +f 2370/2399/996 2238/2263/911 2348/2377/974 +f 2363/2392/989 2362/2391/988 2370/2399/996 +f 2370/2399/996 2237/2262/910 2363/2392/989 +f 2228/2253/901 2357/2386/983 2237/2262/910 +f 2227/2252/900 2353/2382/979 2228/2253/901 +f 2244/2269/917 2368/2397/994 2353/2382/979 +f 2242/2267/915 2244/2269/917 2227/2252/900 +f 2227/2252/900 2369/2398/995 2242/2267/915 +f 2371/2400/997 2372/2401/998 2191/2216/864 +f 2373/2402/999 2374/2403/1000 2372/2401/998 +f 2235/2260/908 2192/2217/865 2372/2401/998 +f 2375/2404/1001 2229/2254/902 2231/2256/904 +f 2236/2261/909 2376/2405/1002 2377/2406/1003 +f 2378/2407/1004 2349/2378/975 2229/2254/902 +f 2379/2408/1005 2378/2407/1004 2375/2404/1001 +f 2379/2408/1005 2204/2229/877 2232/2257/905 +f 2203/2228/876 2349/2378/975 2378/2407/1004 +f 2219/2244/892 2218/2243/891 2371/2400/997 +f 2380/2409/1006 2217/2242/890 2240/2265/913 +f 2380/2409/1006 2381/2410/1007 2218/2243/891 +f 2218/2243/891 2381/2410/1007 2373/2402/999 +f 2239/2264/912 2346/2375/972 2234/2259/907 +f 2235/2260/908 2195/2220/868 2192/2217/865 +f 2228/2253/901 2206/2231/879 2209/2234/882 +f 2230/2255/903 2238/2263/911 2231/2256/904 +f 2192/2217/865 2191/2216/864 2372/2401/998 +f 2382/2411/1008 2188/2213/861 2187/2212/860 +f 2383/2412/1009 2119/2142/829 2118/2141/828 +f 2057/2079/564 2074/2096/564 2384/2413/564 +f 2054/2076/801 2040/2062/795 2094/2117/812 +f 2246/2271/919 2118/2141/828 2159/2182/842 +f 2385/2414/564 2384/2413/564 1592/1603/590 +f 2246/2271/919 2041/2063/796 2054/2076/801 +f 2171/2195/849 2386/2415/1010 2387/2416/846 +f 2388/2417/786 2389/2418/1011 2170/2194/848 +f 2386/2415/1010 2390/2419/1012 2391/2420/827 +f 2039/2061/794 2041/2063/796 2388/2417/786 +f 2389/2418/1011 2171/2195/849 2170/2194/848 +f 2390/2419/1012 2392/2421/1013 2393/2422/826 +f 2392/2421/1013 2394/2423/1014 2395/2424/1015 +f 2395/2424/1015 2394/2423/1014 2181/2206/854 +f 2182/2207/855 2181/2206/854 2394/2423/1014 +f 2396/2425/1016 2395/2424/1015 2181/2206/854 +f 2093/2116/785 2039/2061/794 2388/2417/786 +f 2397/2426/1017 2398/2427/1018 2399/2428/1019 +f 2400/2429/554 2063/2085/554 2401/2430/554 +f 2087/2110/570 2291/2316/570 2402/2431/570 +f 2400/2429/554 2064/2086/554 2063/2085/554 +f 2062/2084/554 2403/2432/554 2063/2085/554 +f 2404/2433/1020 2405/2434/1021 2406/2435/1022 +f 2075/2100/570 2149/2172/570 2175/2436/570 +f 2407/2437/1023 2408/2438/1024 2409/2439/1025 +f 2410/2440/554 2411/2441/554 2408/2442/1024 +f 2412/2443/564 2413/2444/564 2414/2445/564 +f 2163/2187/845 2278/2303/932 2024/2046/781 +f 2415/2446/564 2413/2444/564 2412/2443/564 +f 2416/2447/564 2168/2192/564 2167/2191/564 +f 2417/2448/570 2418/2449/570 2419/2450/570 +f 2420/2451/564 2421/2452/564 2422/2453/564 +f 2423/2454/1026 2424/2455/1026 2425/2456/1026 +f 2426/2457/1027 2427/2458/1028 2428/2459/1027 +f 2429/2460/1029 2430/2461/1030 2431/2462/1031 +f 2432/2463/1032 2431/2462/1031 2430/2461/1030 +f 2433/2464/1033 2067/2089/806 2434/2465/1034 +f 2435/2466/549 2436/2467/549 2437/2468/549 +f 2431/2462/1031 2438/2469/1035 2429/2460/1029 +f 2248/2273/570 2077/2099/570 2076/2098/570 +f 2439/2470/1036 2440/2471/564 2441/2472/803 +f 2047/2069/564 2442/2473/564 2048/2070/564 +f 2443/2474/927 2444/2475/570 2445/2476/570 +f 2446/2477/564 2442/2473/564 1590/1601/564 +f 2447/2478/564 1590/1601/564 2448/2479/1037 +f 2449/2480/564 2448/2479/1037 2450/2481/587 +f 2451/2482/564 2450/2481/587 2102/2125/586 +f 2452/2483/1038 2453/2484/1039 2454/2485/1040 +f 2049/2071/564 2047/2069/564 2455/2486/564 +f 2048/2070/564 2442/2473/564 2456/2487/564 +f 2456/2487/564 2442/2473/564 2446/2477/564 +f 2447/2478/564 2446/2477/564 1590/1601/564 +f 2449/2480/564 2447/2478/564 2448/2479/1037 +f 2448/2479/1037 1590/1601/564 1589/1600/564 +f 2451/2482/564 2449/2480/564 2450/2481/587 +f 2457/2488/1041 2451/2482/564 2102/2125/586 +f 2457/2488/1041 2102/2125/586 2101/2124/818 +f 1588/1599/589 1587/1598/564 2458/2489/564 +f 2097/2120/814 1588/1599/589 2458/2489/564 +f 2459/2490/564 2047/2069/564 2049/2071/564 +f 2050/2072/564 2049/2071/564 2455/2486/564 +f 2455/2486/564 2047/2069/564 2046/2068/564 +f 2460/2491/1042 2461/2492/1043 2398/2427/1018 +f 2462/2493/572 1597/1608/572 1596/1607/572 +f 1595/1606/572 1594/1605/572 1597/1608/572 +f 2463/2494/582 2177/2202/582 2278/2303/932 +f 2464/2495/1044 2179/2204/852 2178/2203/582 +f 2179/2204/852 2464/2495/1044 2465/2496/935 +f 2466/2497/1045 2172/2196/850 2027/2049/784 +f 2156/2179/839 2151/2174/836 2467/2498/1046 +f 2104/2127/820 2468/2499/1047 2105/2128/589 +f 2469/2500/1048 2470/2501/1049 2150/2173/835 +f 2471/2502/1050 2472/2503/589 2473/2504/1051 +f 2151/2174/836 2150/2173/835 2470/2501/1049 +f 2156/2179/839 2468/2499/1047 2104/2127/820 +f 2385/2414/564 1592/1603/590 2440/2471/564 +f 2023/2045/780 2292/2317/936 2024/2046/781 +f 2275/2300/929 2466/2497/1045 2027/2049/784 +f 2474/2505/564 2475/2506/564 2476/2507/564 +f 2174/2198/848 2165/2189/847 2117/2140/564 +f 2117/2140/564 2106/2129/821 1585/1596/588 +f 2384/2413/564 2074/2096/564 1592/1603/590 +f 1592/1603/590 2441/2472/803 2440/2471/564 +f 1585/1596/588 1592/1603/590 2074/2096/564 +f 2041/2063/796 2389/2418/1011 2388/2417/786 +f 2477/2508/572 2462/2509/572 1596/2510/572 +f 1598/1609/572 1597/1608/572 1594/1605/572 +f 2087/2110/570 2086/2109/570 2291/2316/570 +f 2478/2511/1052 2479/2512/570 2480/2513/570 +f 2481/2514/1053 2056/2078/803 2055/2077/802 +f 2439/2470/1036 2441/2472/803 2482/2515/1053 +f 2483/2516/582 2484/2517/582 2485/2518/582 +f 2486/2519/582 2483/2516/582 2487/2520/582 +f 2485/2518/582 2488/2521/582 2487/2520/582 +f 2483/2516/582 2485/2518/582 2487/2520/582 +f 2486/2519/582 2489/2522/582 2483/2516/582 +f 2490/2523/570 2491/2524/1054 2492/2525/1055 +f 2493/2526/564 2494/2527/564 2495/2528/1056 +f 2496/2529/572 2497/2530/572 2498/2531/572 +f 2499/2532/582 2500/2533/582 2501/2534/582 +f 2502/2535/572 2503/2536/572 2498/2531/572 +f 2495/2528/1056 2492/2525/1055 2491/2524/1054 +f 2504/2537/1057 2505/2538/564 2506/2539/564 +f 2504/2537/1057 2507/2540/1057 2508/2541/1058 +f 2509/2542/1059 2510/2543/1060 2511/2544/1061 +f 2512/2545/582 2513/2546/582 2514/2547/582 +f 2514/2547/582 2513/2546/582 2487/2520/582 +f 2515/2548/554 2516/2549/554 2517/2550/554 +f 2518/2551/570 2519/2552/1062 2520/2553/1063 +f 2521/2554/554 2522/2555/1064 2523/2556/1065 +f 2524/2557/572 2525/2558/572 2526/2559/572 +f 2503/2536/572 2502/2535/572 2527/2560/572 +f 2527/2560/572 2528/2561/572 2526/2559/572 +f 2523/2556/1065 2522/2555/1064 2529/2562/1066 +f 2530/2563/1067 2531/2564/1067 2532/2565/554 +f 2520/2553/1063 2519/2552/1062 2533/2566/1059 +f 2501/2534/582 2489/2522/582 2486/2519/582 +f 2534/2567/564 2535/2568/564 2536/2569/564 +f 2530/2563/1067 2537/2570/1068 2538/2571/1068 +f 2539/2572/1069 2508/2541/1058 2538/2571/1068 +f 2484/2517/582 2540/2573/582 2485/2518/582 +f 2541/2574/564 1505/1516/564 1507/1518/564 +f 2542/2575/565 1508/1519/565 1510/1521/565 +f 2543/2576/554 1511/1522/554 1513/1524/554 +f 2544/2577/566 1514/1525/566 1516/1527/568 +f 2545/2578/564 2546/2579/564 2541/2574/564 +f 2547/2580/1070 1516/1527/568 2548/2581/1071 +f 1507/1518/564 2545/2578/564 2541/2574/564 +f 2546/2579/564 2549/2582/564 2541/2574/564 +f 2542/2575/565 1510/1521/565 2550/2583/565 +f 1513/1524/554 2551/2584/554 2543/2576/554 +f 1516/1527/568 1515/1526/567 2548/2581/1071 +f 2552/2585/1072 2553/2586/1072 2554/2587/1072 +f 2555/2588/1073 1588/1599/589 2097/2120/814 +f 2294/2319/938 2556/2589/1074 2109/2132/823 +f 2294/2319/938 2109/2132/823 2111/2134/825 +f 2110/2133/824 2454/2485/1040 2111/2134/825 +f 2116/2139/564 2107/2130/822 2106/2129/821 +f 2557/2590/1075 2558/2591/1076 2559/2592/1077 +f 2560/2593/1078 2561/2594/1079 2562/2595/1080 +f 2563/2596/1081 2564/2597/1082 2565/2598/1083 +f 2564/2597/1082 2566/2599/1084 2565/2598/1083 +f 2453/2484/1039 2111/2134/825 2454/2485/1040 +f 2562/2595/1080 2561/2594/1079 2567/2600/570 +f 2568/2601/554 2569/2602/1085 2570/2603/554 +f 2571/2604/1084 2556/2589/1074 2294/2319/938 +f 2563/2596/1081 2572/2605/554 2564/2597/1082 +f 2573/2606/1086 2574/2607/824 2575/2608/1087 +f 2576/2609/549 2577/2610/549 2578/2611/1088 +f 2579/2612/1089 2563/2596/1081 2580/2613/1090 +f 2572/2605/554 2581/2614/554 2564/2597/1082 +f 2125/2148/564 2145/2168/564 2126/2149/832 +f 2122/2145/554 2130/2153/833 2123/2146/831 +f 2582/2615/549 2583/2616/549 2584/2617/1091 +f 2585/2618/1092 2586/2619/1093 2587/2620/572 +f 2586/2621/1093 2585/2622/1092 2588/2623/570 +f 2589/2624/582 2590/2625/582 2591/2626/1094 +f 2592/2627/1026 2593/2628/1026 2594/2629/1026 +f 2595/2630/1095 2066/2088/805 2065/2087/804 +f 2593/2628/1026 2596/2631/1026 2594/2629/1026 +f 2597/2632/1026 2592/2627/1026 2598/2633/1026 +f 2029/2051/786 2174/2198/848 2070/2092/564 +f 2599/2634/572 2600/2635/572 2601/2636/572 +f 2602/2637/572 2603/2638/572 2600/2635/572 +f 2404/2433/1020 2604/2639/1096 2405/2434/1021 +f 2112/2135/826 2156/2179/839 2104/2127/820 +f 2158/2181/841 2155/2178/564 2156/2179/839 +f 2593/2628/1026 2423/2454/1026 2425/2456/1026 +f 2605/2640/1026 2425/2456/1026 2424/2455/1026 +f 2153/2176/564 2151/2174/836 2156/2179/839 +f 2598/2633/1026 2592/2627/1026 2594/2629/1026 +f 2154/2177/838 2152/2175/837 2151/2174/836 +f 2086/2109/570 2290/2315/570 2291/2316/570 +f 2461/2492/1043 2399/2428/1019 2398/2427/1018 +f 2319/2348/946 2606/2641/1097 2409/2439/1025 +f 2607/2642/1098 2404/2433/1020 2406/2435/1022 +f 2587/2620/572 2608/2643/1091 2584/2617/1091 +f 2589/2624/582 2609/2644/1099 2610/2645/1100 +f 2591/2626/1094 2611/2646/570 2588/2647/570 +f 2612/2648/549 2610/2645/1100 2609/2644/1099 +f 2613/2649/809 2614/2650/1101 2615/2651/809 +f 2088/2111/808 2090/2113/809 2615/2651/809 +f 2616/2652/572 2617/2653/572 2618/2654/572 +f 2619/2655/572 2620/2656/572 2618/2654/572 +f 2621/2657/572 2622/2658/572 2620/2656/572 +f 2623/2659/570 2073/2095/570 2075/2100/570 +f 2299/2324/554 2624/2660/943 2306/2333/554 +f 2311/2338/570 2625/2661/570 2312/2339/570 +f 2626/2662/790 2033/2055/554 2305/2332/554 +f 2627/2663/806 2628/2664/1034 2629/2665/1102 +f 2630/2666/582 2631/2667/582 2632/2668/582 +f 2633/2669/564 2634/2670/564 2635/2671/564 +f 2636/2672/549 2637/2673/549 2638/2674/549 +f 2639/2675/549 2640/2676/549 2636/2672/549 +f 2624/2660/943 2641/2677/1103 2306/2333/554 +f 2642/2678/1104 2643/2679/1104 2644/2680/1105 +f 2645/2681/1106 2069/2091/807 2629/2665/1102 +f 2646/2682/554 2647/2683/554 2648/2684/554 +f 2649/2685/564 2650/2686/564 2651/2687/564 +f 2652/2688/1107 2653/2689/1107 2654/2690/1108 +f 2578/2611/1088 2655/2691/1109 2656/2692/1110 +f 2657/2693/554 2658/2694/554 2659/2695/554 +f 2660/2696/549 2661/2697/549 2662/2698/549 +f 2663/2699/1111 2664/2700/1112 2665/2701/1113 +f 2666/2702/1114 2667/2703/1115 2668/2704/1116 +f 2669/2705/1117 2668/2704/1116 2664/2700/1112 +f 2670/2706/1118 2671/2707/1119 2672/2708/1119 +f 2673/2709/554 2674/2710/554 2670/2706/1118 +f 2675/2711/572 2676/2712/572 2677/2713/572 +f 2678/2714/572 2679/2715/572 2680/2716/572 +f 2655/2691/1109 2681/2717/1120 2682/2718/1120 +f 2301/2329/942 2683/2719/1121 2684/2720/1122 +f 2685/2721/554 2686/2722/554 2687/2723/554 +f 2688/2724/1107 2689/2725/1107 2690/2726/1123 +f 2647/2683/554 2646/2682/554 2569/2602/1085 +f 2569/2602/1085 2579/2612/1089 2570/2603/554 +f 2691/2727/1124 2294/2319/938 2298/2323/941 +f 2692/2728/1103 2693/2729/1125 2694/2730/1125 +f 2695/2731/1125 2696/2732/1125 2641/2677/1103 +f 2667/2703/1115 2666/2702/1114 2697/2733/570 +f 2462/2509/572 2477/2508/572 2698/2734/572 +f 2699/2735/572 2677/2713/572 2678/2714/572 +f 2700/2736/572 2698/2734/572 2675/2737/572 +f 2701/2738/1126 2702/2739/1126 2703/2740/1126 +f 2691/2727/1124 2571/2604/1084 2294/2319/938 +f 2106/2129/821 2117/2140/564 2116/2139/564 +f 2704/2741/823 2559/2592/1077 2558/2591/1076 +f 2705/2742/549 2706/2743/549 2707/2744/549 +f 2563/2596/1081 2565/2598/1083 2580/2613/1090 +f 2708/2745/1127 2709/2746/1128 2710/2747/1128 +f 2644/2680/1105 2708/2745/1127 2711/2748/1129 +f 2712/2749/549 2643/2679/1104 2642/2678/1104 +f 2713/2750/1130 2714/2751/1130 2715/2752/1130 +f 2716/2753/1131 2717/2754/1131 2718/2755/1131 +f 2719/2756/554 2720/2757/554 2721/2758/554 +f 2722/2759/1132 2723/2760/1132 2724/2761/1132 +f 2725/2762/1133 2472/2503/589 2471/2502/1050 +f 2726/2763/1134 2727/2764/1135 2111/2134/825 +f 2728/2765/1136 2729/2766/1137 2730/2767/1138 +f 2731/2768/1139 2732/2769/1140 2733/2770/1134 +f 2734/2771/1141 2735/2772/1142 2736/2773/1143 +f 2726/2763/1134 2111/2134/825 2453/2484/1039 +f 2727/2764/1135 2726/2763/1134 2729/2766/1137 +f 2737/2774/1137 2738/2775/1046 2739/2776/1144 +f 2738/2775/1046 2737/2774/1137 2733/2770/1134 +f 2732/2769/1140 2740/2777/1145 2473/2504/1051 +f 2741/2778/1048 2742/2779/1146 2743/2780/1147 +f 2678/2714/572 2680/2716/572 2699/2735/572 +f 2699/2735/572 2700/2781/572 2675/2711/572 +f 2744/2782/570 2087/2110/570 2402/2431/570 +f 2657/2693/554 2745/2783/554 2658/2694/554 +f 2646/2682/554 2648/2684/554 2745/2783/554 +f 2657/2693/554 2746/2784/554 2646/2682/554 +f 2555/2588/1073 2097/2120/814 2099/2122/816 +f 2099/2122/816 2650/2686/564 2649/2685/564 +f 2566/2599/1084 2747/2785/1124 2748/2786/1148 +f 2570/2603/554 2579/2612/1089 2580/2613/1090 +f 2749/2787/1149 2565/2598/1083 2566/2599/1084 +f 2747/2785/1124 2750/2788/1150 2748/2786/1148 +f 2751/2789/554 2750/2788/1150 2747/2785/1124 +f 2752/2790/554 2751/2789/554 2753/2791/1122 +f 2685/2721/554 2754/2792/1121 2686/2722/554 +f 2755/2793/554 2752/2790/554 2754/2792/1121 +f 2756/2794/554 2755/2793/554 2685/2721/554 +f 2757/2795/554 2758/2796/554 2756/2794/554 +f 2757/2795/554 2659/2695/554 2758/2796/554 +f 2657/2693/554 2646/2682/554 2745/2783/554 +f 2574/2607/824 2704/2741/823 2759/2797/1151 +f 2753/2791/1122 2751/2789/554 2747/2785/1124 +f 2754/2792/1121 2752/2790/554 2753/2791/1122 +f 2685/2721/554 2755/2793/554 2754/2792/1121 +f 2757/2795/554 2756/2794/554 2685/2721/554 +f 2760/2798/1152 2761/2799/1153 2762/2800/1154 +f 2757/2795/554 2657/2693/554 2659/2695/554 +f 2303/2328/554 2692/2728/1103 2302/2327/943 +f 2310/2337/570 2313/2341/570 2308/2335/570 +f 2763/2801/1155 2764/2802/1156 2765/2803/1157 +f 2429/2460/1029 2438/2469/1035 2763/2801/1155 +f 2766/2804/1033 2767/2805/1158 2628/2664/1034 +f 2767/2805/1158 2766/2804/1033 2768/2806/1159 +f 2768/2806/1159 2765/2803/1157 2764/2802/1156 +f 2769/2807/1160 2770/2808/1161 2771/2809/1162 +f 2770/2808/1161 2772/2810/1163 2773/2811/1164 +f 2774/2812/1165 2769/2807/1160 2775/2813/1166 +f 2772/2810/1163 2776/2814/1167 2777/2815/1168 +f 2778/2816/1169 2774/2812/1165 2779/2817/1170 +f 2776/2814/1167 2780/2818/1171 2781/2819/1172 +f 2782/2820/1173 2778/2816/1169 2783/2821/1174 +f 2780/2818/1171 2784/2822/1175 2785/2823/1176 +f 2786/2824/1177 2782/2820/1173 2787/2825/1178 +f 2784/2822/1175 2645/2681/1106 2788/2826/1179 +f 2761/2799/1153 2786/2824/1177 2789/2827/1180 +f 2790/2828/572 2791/2829/572 2792/2830/1181 +f 2793/2831/564 2634/2670/564 2633/2669/564 +f 2635/2671/564 2794/2832/564 2633/2669/564 +f 2795/2833/549 2796/2834/549 2797/2835/549 +f 2794/2832/564 2798/2836/564 2799/2837/564 +f 2068/2090/549 2800/2838/549 2629/2665/1102 +f 2031/2053/787 2033/2055/554 2626/2662/790 +f 2801/2839/1182 2802/2840/1183 2803/2841/1184 +f 2803/2841/1184 2804/2842/1185 2805/2843/1186 +f 2805/2843/1186 2801/2839/1182 2803/2841/1184 +f 2806/2844/1187 2807/2845/1188 2801/2839/1182 +f 2808/2846/1189 2809/2847/937 2807/2845/1188 +f 2810/2848/1190 2254/2279/924 2811/2849/940 +f 2036/2058/791 2096/2119/813 2034/2056/789 +f 2812/2850/1191 2813/2851/944 2809/2847/937 +f 2254/2279/924 2035/2057/790 2811/2849/940 +f 2810/2848/1190 2814/2852/939 2813/2851/944 +f 2036/2058/791 2251/2276/922 2249/2274/920 +f 2160/2183/843 2250/2275/921 2159/2182/842 +f 2250/2275/921 2251/2276/922 2159/2182/842 +f 2249/2274/920 2815/2853/1192 2816/2854/797 +f 2160/2183/843 2120/2143/830 2817/2855/1193 +f 2815/2853/1192 2249/2274/920 2250/2275/921 +f 2818/2856/1194 2819/2857/1195 2820/2858/1196 +f 2819/2857/1195 2818/2856/1194 2821/2859/1197 +f 2822/2860/1198 2823/2861/1199 2824/2862/1200 +f 2821/2859/1197 2825/2863/1201 2826/2864/1202 +f 2803/2841/1184 2827/2865/1203 2804/2842/1185 +f 2182/2207/855 2394/2423/1014 2805/2843/1186 +f 2394/2423/1014 2392/2421/1013 2806/2844/1187 +f 2390/2419/1012 2386/2415/1010 2812/2850/1191 +f 2806/2844/1187 2392/2421/1013 2390/2419/1012 +f 2386/2415/1010 2171/2195/849 2810/2848/1190 +f 2811/2849/940 2814/2852/939 2810/2848/1190 +f 2828/2866/554 2829/2867/554 2255/2280/554 +f 2095/2118/787 2035/2057/790 2034/2056/789 +f 2246/2271/919 2159/2182/842 2251/2276/922 +f 2810/2848/1190 2171/2195/849 2389/2418/1011 +f 2246/2271/919 2251/2276/922 2036/2058/791 +f 2254/2279/924 2389/2418/1011 2041/2063/796 +f 2830/2868/1188 2293/2318/937 2111/2134/825 +f 2831/2869/1204 2830/2868/1188 2727/2764/1135 +f 2832/2870/554 2833/2871/1205 2831/2869/1204 +f 2834/2872/554 2832/2870/554 2727/2764/1135 +f 2835/2873/1206 2834/2872/554 2728/2765/1136 +f 2728/2765/1136 2736/2773/1143 2735/2772/1142 +f 2316/2344/570 2280/2305/570 2279/2304/570 +f 2727/2764/1135 2830/2868/1188 2111/2134/825 +f 2832/2870/554 2831/2869/1204 2727/2764/1135 +f 2728/2765/1136 2834/2872/554 2727/2764/1135 +f 2735/2772/1142 2835/2873/1206 2728/2765/1136 +f 2296/2321/940 2626/2662/790 2305/2332/554 +f 2836/2874/1026 2837/2875/1026 2838/2876/1026 +f 2839/2877/1026 2840/2878/1026 2841/2879/1026 +f 2839/2877/1026 2841/2879/1026 2838/2876/1026 +f 2837/2875/1026 2839/2877/1026 2838/2876/1026 +f 2837/2875/1026 2836/2874/1026 2842/2880/1026 +f 2842/2880/1026 2843/2881/1026 2844/2882/1026 +f 2605/2640/1026 2424/2455/1026 2844/2882/1026 +f 2845/2883/1207 2846/2884/1208 2847/2885/1209 +f 2847/2885/1209 2848/2886/1210 2849/2887/1211 +f 2850/2888/1212 2851/2889/1213 2852/2890/1214 +f 2853/2891/1215 2851/2889/1213 2850/2888/1212 +f 2595/2630/1095 2854/2892/1216 2846/2884/1208 +f 2592/2627/1026 2597/2632/1026 2840/2878/1026 +f 2844/2882/1026 2855/2893/1026 2842/2880/1026 +f 2161/2894/570 2077/2099/570 2310/2337/570 +f 2856/2895/572 2857/2896/572 2858/2897/572 +f 2859/2898/554 2860/2899/554 2861/2900/554 +f 2862/2901/570 2863/2902/570 2864/2903/570 +f 2861/2904/554 2865/2905/554 2866/2906/554 +f 2867/2907/553 1481/1492/553 1483/1494/553 +f 2868/2908/554 1484/1495/554 1486/1497/554 +f 1498/1509/562 1487/1498/555 1489/1500/557 +f 2869/2909/559 1490/1501/558 1492/1503/559 +f 2870/2910/560 1493/1504/560 1495/1506/560 +f 1489/1500/557 1496/1507/561 1498/1509/562 +f 2871/2911/554 1499/1510/554 1501/1512/554 +f 2872/2912/563 1502/1513/563 1504/1515/563 +f 1555/1566/581 1546/1557/573 1548/1559/575 +f 1525/1536/569 1549/1560/576 1528/1539/571 +f 1550/1561/576 1549/1560/576 1552/1563/578 +f 1552/1563/578 1551/1562/577 1554/1565/580 +f 1554/1565/580 1553/1564/579 1547/1558/574 +f 2873/2913/582 1557/1568/582 1559/1570/582 +f 2874/2914/582 1560/1571/582 1562/1573/582 +f 2875/2915/570 1563/1574/570 1565/1576/570 +f 2876/2916/554 1566/1577/554 1568/1579/554 +f 2877/2917/554 1569/1580/554 1571/1582/554 +f 2878/2918/582 1572/1583/582 1574/1585/582 +f 1722/1739/621 1580/1591/583 1582/1593/585 +f 2106/2129/821 1583/1594/586 1585/1596/588 +f 2049/2071/564 1586/1597/564 1588/1599/589 +f 2879/2919/1037 1592/1603/590 1584/1595/587 +f 2880/2920/572 1596/1607/572 1598/1609/572 +f 1723/1740/572 1599/1610/572 1601/1612/572 +f 1724/1741/620 1602/1613/591 1604/1615/593 +f 1725/1742/582 1605/1616/582 1607/1618/582 +f 1582/1593/585 1581/1592/584 1609/1620/595 +f 1601/1612/572 1600/1611/572 1611/2921/572 +f 1604/1615/593 1603/1614/592 1613/1625/597 +f 1607/1618/582 1606/1617/582 1615/1627/582 +f 1609/1620/595 1608/1619/594 1617/1629/599 +f 1611/2921/572 1610/1630/572 1619/1632/572 +f 1613/1625/597 1612/1624/596 1621/1634/601 +f 1615/1627/582 1614/1626/582 1623/1636/582 +f 1617/2922/599 1616/2923/598 1625/2924/603 +f 1619/1632/572 1618/1631/572 1627/1640/572 +f 1621/2925/601 1620/2926/600 1629/2927/605 +f 1623/1636/582 1622/1635/582 1631/1645/582 +f 2881/2928/626 1632/2929/606 1634/2930/608 +f 1627/1640/572 1626/1639/572 1636/1650/572 +f 2882/2931/625 1637/1651/609 1639/1653/611 +f 1631/1645/582 1630/1644/582 1641/1655/582 +f 1634/2930/608 1633/1656/607 1643/1658/613 +f 1636/1650/572 1635/1649/572 1645/1660/572 +f 1639/1653/611 1638/1652/610 1647/1662/615 +f 1641/1655/582 1640/1654/582 1649/1664/582 +f 1643/1658/613 1642/1657/612 1651/1666/617 +f 1645/1660/572 1644/1659/572 1653/1668/572 +f 1647/1662/615 1646/1661/614 1655/1670/619 +f 1649/1664/582 1648/1663/582 1657/1672/582 +f 1651/1666/617 1650/1665/616 1659/2932/620 +f 1653/1668/572 1652/1667/572 1661/1677/572 +f 1655/1670/619 1654/1669/618 1663/1679/621 +f 1657/1672/582 1656/1671/582 1665/1681/582 +f 1659/2932/620 1658/2933/591 1667/2934/593 +f 1661/1677/572 1660/1676/572 1669/1685/572 +f 1663/1679/621 1662/1678/583 1671/1687/585 +f 1665/1681/582 1664/1680/582 1673/1689/582 +f 1667/2934/593 1666/2935/622 1675/2936/597 +f 1669/1685/572 1668/1684/572 1677/1693/572 +f 1671/1687/585 1670/1686/584 1679/1695/595 +f 1673/1689/582 1672/1688/582 1681/1697/582 +f 1675/2936/597 1674/2937/596 1683/2938/601 +f 1677/1693/572 1676/1692/572 1685/1701/572 +f 1679/1695/595 1678/1694/594 1687/1703/624 +f 1681/1697/582 1680/1696/582 1689/1705/582 +f 1683/1699/601 1682/1698/600 1691/1707/625 +f 1685/1701/572 1684/1700/572 1693/1709/572 +f 1687/1703/624 1686/1702/623 1695/1711/626 +f 1689/1705/582 1688/1704/582 1697/1713/582 +f 1691/1707/625 1690/1706/604 1699/1715/628 +f 1693/1709/572 1692/1708/572 1701/1717/572 +f 1695/2939/626 1694/1718/602 1703/1720/608 +f 1697/1713/582 1696/1712/582 1705/1722/582 +f 1699/1715/628 1698/1714/627 1707/1724/615 +f 1701/1717/572 1700/1716/572 1709/1726/572 +f 1703/1720/608 1702/1719/607 1711/1728/613 +f 1705/1722/582 1704/1721/582 1713/1730/582 +f 1707/1724/615 1706/1723/614 1715/1732/619 +f 1709/1726/572 1708/1725/572 1717/1734/572 +f 1711/1728/613 1710/1727/612 1719/1736/629 +f 1713/1730/582 1712/1729/582 1721/1738/582 +f 1715/1732/619 1714/1731/618 1722/1739/621 +f 1717/1734/572 1716/1733/572 1723/1740/572 +f 1719/1736/629 1718/1735/616 1724/1741/620 +f 1721/1738/582 1720/1737/582 1725/1742/582 +f 1749/1766/554 1726/1743/554 1728/1745/554 +f 1728/1745/554 1727/1744/554 1730/1747/554 +f 1730/1747/554 1729/1746/554 1732/1749/554 +f 1732/1749/554 1731/1748/554 1734/1751/554 +f 1734/1751/554 1733/1750/554 1736/1753/554 +f 1736/1753/554 1735/1752/554 1738/1755/554 +f 1738/1755/554 1737/1754/554 1740/1757/554 +f 1740/1757/554 1739/1756/554 1742/1759/554 +f 1742/1759/554 1741/1758/554 1744/1761/554 +f 1744/1761/554 1743/1760/554 1746/1763/554 +f 1746/1763/554 1745/1762/554 1748/1765/554 +f 1748/1765/554 1747/1764/554 1749/1766/554 +f 1760/1777/637 1750/1767/630 1752/1769/632 +f 1812/1829/669 1753/1770/633 1755/1772/635 +f 1765/1782/641 1759/1776/636 1760/1777/637 +f 1755/1772/635 1754/1771/634 1762/1779/639 +f 2883/2940/746 1764/1781/640 1765/1782/641 +f 1762/1779/639 1761/1778/638 1767/1784/643 +f 1776/1793/650 1769/1786/644 1771/1788/646 +f 1767/1784/643 1766/1783/642 1773/1790/648 +f 1781/1798/654 1775/1792/649 1776/1793/650 +f 1773/1790/648 1772/1789/647 1778/1795/652 +f 1786/1803/657 1780/1797/653 1781/1798/654 +f 1778/1795/652 1777/1794/651 1783/1800/656 +f 1791/1808/660 1785/1802/651 1786/1803/657 +f 1783/1800/656 1782/1799/655 1788/1805/654 +f 1796/1813/648 1790/1807/659 1791/1808/660 +f 1788/1805/654 1787/1804/658 1793/1810/661 +f 1801/1818/664 1795/1812/662 1796/1813/648 +f 1793/1810/661 1792/1809/644 1798/1815/663 +f 1807/1824/667 1800/1817/638 1801/1818/664 +f 2884/2941/746 1802/1819/640 1804/1821/641 +f 1811/1828/635 1806/1823/666 1807/1824/667 +f 1804/1821/641 1803/1820/665 1809/1826/668 +f 1752/1769/632 1751/1768/631 1811/1828/635 +f 1809/1826/668 1808/1825/630 1812/1829/669 +f 1830/1847/687 1819/1836/676 1828/1845/685 +f 1842/1859/699 1839/1856/696 1830/1847/687 +f 1871/1888/728 1841/1858/698 1842/1859/699 +f 1852/1869/709 1847/1864/704 1848/1865/705 +f 1847/1864/704 1852/1869/709 1850/1867/707 +f 1860/1877/717 1843/1860/700 1857/1874/714 +f 1850/1867/707 1862/1879/719 1847/1864/704 +f 1847/1864/704 1863/1880/720 1845/1862/702 +f 1860/1877/717 1857/1874/714 1862/1879/719 +f 1854/1871/711 1861/1878/718 1857/1874/714 +f 1867/1884/724 1865/1882/722 1846/1863/703 +f 1878/1895/735 1866/1883/723 1867/1884/724 +f 1870/1887/727 1868/1885/725 1813/1830/670 +f 2333/2362/959 1869/1886/726 1870/1887/727 +f 1830/1847/687 1840/1857/697 1819/1836/676 +f 1841/1858/698 1871/1888/728 1873/1890/730 +f 1880/1897/737 1877/1894/734 1867/1884/724 +f 1882/1899/739 1879/1896/736 1880/1897/737 +f 2332/2361/958 1881/1898/738 1880/1897/737 +f 1872/1889/729 1883/1900/740 1884/1901/741 +f 1892/1909/651 1888/1905/652 1890/1907/742 +f 1896/1913/655 1891/1908/656 1892/1909/651 +f 1890/1907/742 1889/1906/648 1894/1911/642 +f 1898/1915/744 1895/1912/654 1896/1913/655 +f 1902/1919/644 1897/1914/743 1898/1915/744 +f 1894/1911/642 1893/1910/643 1900/1917/638 +f 1904/1921/645 1901/1918/746 1902/1919/644 +f 1908/1925/665 1903/1920/641 1904/1921/645 +f 1900/1917/638 1899/1916/745 1906/1923/634 +f 1910/1927/630 1907/1924/668 1908/1925/665 +f 1911/1928/633 1909/1926/669 1910/1927/630 +f 1906/1923/634 1905/1922/635 1911/1928/633 +f 1916/1933/564 1912/1929/564 1914/1931/564 +f 1920/1937/564 1915/1932/564 1916/1933/564 +f 1914/1931/564 1913/1930/564 1918/1935/564 +f 1922/1939/564 1919/1936/564 1920/1937/564 +f 1925/1943/564 1921/1938/564 1922/1939/564 +f 1918/1935/564 1917/1934/564 1924/1941/564 +f 1927/1945/564 1885/1942/564 1925/1943/564 +f 1931/1949/564 1926/1944/564 1927/1945/564 +f 1924/1941/564 1923/1940/564 1929/1947/564 +f 1933/1951/564 1930/1948/564 1931/1949/564 +f 1934/1952/564 1932/1950/564 1933/1951/564 +f 1929/1947/564 1928/1946/564 1934/1952/564 +f 1942/1960/648 1938/1956/647 1940/1958/652 +f 1951/1969/643 1941/1959/642 1942/1960/648 +f 1940/1958/652 1939/1957/651 1945/1963/656 +f 1945/1963/656 1944/1962/655 1949/1967/654 +f 1961/1979/639 1950/1968/638 1951/1969/643 +f 1949/1967/654 1948/1966/658 1954/1972/747 +f 1974/1992/752 1957/1975/748 1959/1977/749 +f 1971/1989/635 1960/1978/634 1961/1979/639 +f 2885/2942/750 1963/1981/750 1965/1983/751 +f 1958/1976/748 1957/1975/748 1969/1987/668 +f 1973/1991/669 1970/1988/633 1971/1989/635 +f 1969/1987/668 1968/1986/630 1973/1991/669 +f 1964/1982/751 1974/1992/752 1965/1983/751 +f 2886/2943/754 1954/1972/747 1975/1994/753 +f 2885/2942/750 1976/1995/754 1963/1981/750 +f 2887/2944/564 1887/1997/564 1978/1999/564 +f 2022/2044/779 1982/2004/756 1984/2006/758 +f 1984/2006/758 1983/2005/757 1990/2012/760 +f 1990/2012/760 1989/2011/759 1994/2016/762 +f 2888/2945/1217 1997/2019/763 1999/2021/765 +f 1999/2021/765 1998/2020/764 2003/2025/767 +f 2003/2025/767 2002/2024/766 2007/2029/769 +f 2889/2946/564 2008/2030/564 2010/2032/770 +f 2890/2947/771 2010/2032/770 2013/2035/771 +f 2007/2029/769 2006/2028/768 2015/2037/773 +f 2021/2043/778 2017/2039/774 2019/2041/776 +f 2478/2511/1052 2020/2042/777 2021/2043/778 +f 2015/2037/773 2014/2036/772 2022/2044/779 +f 2277/2302/931 2026/2048/783 2023/2045/780 +f 2019/2041/776 2018/2040/775 2038/2060/793 +f 2891/2948/549 2043/2065/549 2045/2067/549 +f 2853/2891/1215 2051/2073/798 2053/2075/800 +f 2892/2949/549 2058/2080/549 2060/2082/549 +f 2052/2074/799 2065/2087/804 2053/2075/800 +f 2434/2465/1034 2067/2089/806 2069/2091/807 +f 2893/2950/572 2078/2101/572 2080/2103/572 +f 2080/2103/572 2079/2102/572 2082/2105/572 +f 2081/2104/572 2083/2106/572 2082/2105/572 +f 2040/2062/795 2039/2061/794 2094/2117/812 +f 2816/2854/797 2095/2118/787 2096/2119/813 +f 2894/2951/1073 2103/2126/819 2105/2128/589 +f 1583/1594/586 2106/2129/821 2108/2131/816 +f 2160/2183/843 2118/2141/828 2120/2143/830 +f 2175/2436/570 2149/2172/570 2085/2108/570 +f 2895/2952/564 2166/2190/564 2168/2192/564 +f 2278/2303/932 2177/2202/582 2179/2204/852 +f 2896/2953/1218 2186/2211/859 2188/2213/861 +f 2382/2411/1008 2189/2214/862 2184/2209/857 +f 2210/2235/883 2206/2231/879 2208/2233/881 +f 2897/2954/570 2258/2283/570 2260/2285/570 +f 2898/2955/554 2261/2286/554 2263/2288/554 +f 2899/2956/1219 2264/2289/925 2266/2291/925 +f 2900/2957/549 2267/2292/549 2269/2294/549 +f 2901/2958/570 2270/2295/927 2272/2297/570 +f 2252/2277/923 2025/2047/782 2278/2303/932 +f 2287/2312/582 2282/2307/582 2283/2308/933 +f 2282/2307/582 2284/2309/582 2252/2277/923 +f 2283/2308/933 2285/2310/934 2287/2312/582 +f 2285/2310/934 2283/2308/933 2289/2314/935 +f 2023/2045/780 2027/2049/784 2292/2317/936 +f 2312/2339/570 2317/2345/570 2309/2340/570 +f 2322/2351/948 2318/2347/945 2320/2349/947 +f 2902/2959/564 2321/2350/564 2322/2351/948 +f 2903/2960/1220 1817/1834/674 2323/2352/949 +f 1871/1888/728 2324/2353/950 1872/1889/729 +f 2324/2353/950 2325/2354/951 1883/1900/740 +f 2334/2363/960 2325/2354/951 2327/2356/953 +f 1871/1888/728 1842/1859/699 2324/2353/950 +f 1836/1853/693 2329/2358/955 1835/1852/692 +f 2904/2961/1221 2329/2358/955 2328/2357/954 +f 2904/2961/1221 2328/2357/954 1879/1896/736 +f 1831/1848/688 1828/1845/685 2331/2360/957 +f 1819/1836/676 1821/1838/678 1833/1850/690 +f 2208/2233/881 2207/2232/880 2239/2264/912 +f 2370/2399/996 2347/2376/973 2202/2227/875 +f 2347/2376/973 2348/2377/974 2203/2228/876 +f 2351/2380/977 2352/2381/978 2354/2383/980 +f 2357/2386/983 2353/2382/979 2355/2384/981 +f 2344/2373/970 2350/2379/976 2360/2389/986 +f 2366/2395/992 2365/2394/991 2352/2381/978 +f 2364/2393/990 2366/2395/992 2351/2380/977 +f 2366/2395/992 2360/2389/986 2365/2394/991 +f 2366/2395/992 2364/2393/990 2360/2389/986 +f 2354/2383/980 2368/2397/994 2190/2215/863 +f 2368/2397/994 2244/2269/917 2191/2216/864 +f 2245/2270/918 2369/2398/995 2213/2238/886 +f 2369/2398/995 2227/2252/900 2211/2236/884 +f 2237/2262/910 2370/2399/996 2207/2232/880 +f 2229/2254/902 2349/2378/975 2230/2255/903 +f 2219/2244/892 2371/2400/997 2191/2216/864 +f 2371/2400/997 2373/2402/999 2372/2401/998 +f 2374/2403/1000 2235/2260/908 2372/2401/998 +f 2198/2223/871 2375/2404/1001 2231/2256/904 +f 2198/2223/871 2236/2261/909 2377/2406/1003 +f 2375/2404/1001 2378/2407/1004 2229/2254/902 +f 2905/2962/1222 2379/2408/1005 2375/2404/1001 +f 2378/2407/1004 2379/2408/1005 2232/2257/905 +f 2232/2257/905 2203/2228/876 2378/2407/1004 +f 2241/2266/914 2380/2409/1006 2240/2265/913 +f 2217/2242/890 2380/2409/1006 2218/2243/891 +f 2371/2400/997 2218/2243/891 2373/2402/999 +f 2226/2251/899 2239/2264/912 2234/2259/907 +f 2189/2214/862 2382/2411/1008 2187/2212/860 +f 2054/2076/801 2383/2412/1009 2118/2141/828 +f 2383/2412/1009 2054/2076/801 2094/2117/812 +f 2169/2193/847 2171/2195/849 2387/2416/846 +f 2387/2416/846 2386/2415/1010 2391/2420/827 +f 2391/2420/827 2390/2419/1012 2393/2422/826 +f 2393/2422/826 2392/2421/1013 2395/2424/1015 +f 2906/2963/554 2400/2429/554 2401/2430/554 +f 2606/2641/1097 2407/2437/1023 2409/2439/1025 +f 2407/2437/1023 2410/2964/554 2408/2438/1024 +f 2907/2965/564 2412/2966/564 2414/2967/564 +f 2908/2968/570 2417/2448/570 2419/2450/570 +f 2909/2969/564 2420/2451/564 2422/2453/564 +f 2910/2970/1223 2426/2457/1027 2428/2459/1027 +f 2433/2464/1033 2432/2463/1032 2430/2461/1030 +f 2432/2463/1032 2433/2464/1033 2434/2465/1034 +f 2911/2971/549 2435/2466/549 2437/2468/549 +f 2912/2972/927 2443/2474/927 2445/2476/570 +f 2163/2187/845 2463/2494/582 2278/2303/932 +f 2913/2973/582 2464/2495/1044 2178/2203/582 +f 2914/2974/935 2179/2204/852 2465/2496/935 +f 2468/2499/1047 2156/2179/839 2467/2498/1046 +f 2152/2175/837 2469/2500/1048 2150/2173/835 +f 2740/2777/1145 2471/2502/1050 2473/2504/1051 +f 2467/2498/1046 2151/2174/836 2470/2501/1049 +f 2915/2975/564 2474/2505/564 2476/2507/564 +f 2020/2042/777 2478/2511/1052 2480/2513/570 +f 2916/2976/1053 2481/2514/1053 2055/2077/802 +f 2917/2977/1053 2439/2470/1036 2482/2515/1053 +f 2533/2566/1059 2490/2523/570 2492/2525/1055 +f 2918/2978/1224 2493/2526/564 2495/2528/1056 +f 2919/2979/572 2496/2529/572 2498/2531/572 +f 2920/2980/582 2499/2532/582 2501/2534/582 +f 2497/2530/572 2502/2535/572 2498/2531/572 +f 2918/2978/1224 2495/2528/1056 2491/2524/1054 +f 2507/2540/1057 2504/2537/1057 2506/2539/564 +f 2539/2572/1069 2504/2537/1057 2508/2541/1058 +f 2921/2981/1061 2509/2542/1059 2511/2544/1061 +f 2922/2982/582 2512/2545/582 2514/2547/582 +f 2488/2521/582 2514/2547/582 2487/2520/582 +f 2529/2562/1066 2518/2551/570 2520/2553/1063 +f 2923/2983/554 2521/2554/554 2523/2556/1065 +f 2528/2561/572 2524/2557/572 2526/2559/572 +f 2924/2984/572 2503/2536/572 2527/2560/572 +f 2924/2984/572 2527/2560/572 2526/2559/572 +f 2520/2553/1063 2523/2556/1065 2529/2562/1066 +f 2925/2985/554 2530/2563/1067 2532/2565/554 +f 2492/2525/1055 2520/2553/1063 2533/2566/1059 +f 2920/2980/582 2501/2534/582 2486/2519/582 +f 2531/2564/1067 2530/2563/1067 2538/2571/1068 +f 2537/2570/1068 2539/2572/1069 2538/2571/1068 +f 2926/2986/1072 2552/2585/1072 2554/2587/1072 +f 2927/2987/1225 2560/2593/1078 2562/2595/1080 +f 2928/2988/1226 2573/2606/1086 2575/2608/1087 +f 2929/2989/1227 2576/2609/549 2578/2611/1088 +f 2608/2643/1091 2582/2615/549 2584/2617/1091 +f 2930/2990/572 2585/2618/1092 2587/2620/572 +f 2611/2991/570 2586/2621/1093 2588/2623/570 +f 2931/2992/1094 2589/2624/582 2591/2626/1094 +f 2854/2892/1216 2595/2630/1095 2065/2087/804 +f 2932/2993/572 2599/2634/572 2601/2636/572 +f 2599/2634/572 2602/2637/572 2600/2635/572 +f 2596/2631/1026 2593/2628/1026 2425/2456/1026 +f 2320/2349/947 2319/2348/946 2409/2439/1025 +f 2930/2990/572 2587/2620/572 2584/2617/1091 +f 2590/2625/582 2589/2624/582 2610/2645/1100 +f 2931/2992/1094 2591/2626/1094 2588/2647/570 +f 2933/2994/549 2612/2995/549 2609/2996/1099 +f 2614/2650/1101 2088/2111/808 2615/2651/809 +f 2934/2997/572 2616/2652/572 2618/2654/572 +f 2617/2653/572 2619/2655/572 2618/2654/572 +f 2619/2655/572 2621/2657/572 2620/2656/572 +f 2161/2184/570 2623/2659/570 2075/2100/570 +f 2800/2838/549 2627/2663/806 2629/2665/1102 +f 2935/2998/582 2630/2666/582 2632/2668/582 +f 2638/2674/549 2639/2675/549 2636/2672/549 +f 2936/2999/1105 2642/2678/1104 2644/2680/1105 +f 2788/2826/1179 2645/2681/1106 2629/2665/1102 +f 2937/3000/564 2649/2685/564 2651/2687/564 +f 2928/2988/1226 2938/3001/1228 2573/2606/1086 +f 2929/2989/1227 2578/2611/1088 2656/2692/1110 +f 2939/3002/549 2660/2696/549 2662/2698/549 +f 2940/3003/1229 2663/2699/1111 2665/2701/1113 +f 2669/2705/1117 2666/2702/1114 2668/2704/1116 +f 2663/2699/1111 2669/2705/1117 2664/2700/1112 +f 2941/3004/1118 2670/2706/1118 2672/2708/1119 +f 2941/3004/1118 2673/2709/554 2670/2706/1118 +f 2699/2735/572 2675/2711/572 2677/2713/572 +f 2656/2692/1110 2655/2691/1109 2682/2718/1120 +f 2298/2323/941 2301/2329/942 2684/2720/1122 +f 2568/2601/554 2647/2683/554 2569/2602/1085 +f 2684/2720/1122 2691/2727/1124 2298/2323/941 +f 2302/2327/943 2692/2728/1103 2694/2730/1125 +f 2624/2660/943 2695/2731/1125 2641/2677/1103 +f 2942/3005/570 2667/2703/1115 2697/2733/570 +f 2700/2736/572 2462/2509/572 2698/2734/572 +f 2943/3006/1126 2701/2738/1126 2703/2740/1126 +f 2759/2797/1151 2704/2741/823 2558/2591/1076 +f 2944/3007/549 2705/2742/549 2707/2744/549 +f 2711/2748/1129 2708/2745/1127 2710/2747/1128 +f 2936/2999/1105 2644/2680/1105 2711/2748/1129 +f 2945/3008/549 2712/2749/549 2642/2678/1104 +f 2946/3009/1130 2713/2750/1130 2715/2752/1130 +f 2947/3010/1131 2716/2753/1131 2718/2755/1131 +f 2948/3011/554 2719/2756/554 2721/2758/554 +f 2949/3012/1132 2722/2759/1132 2724/2761/1132 +f 2731/2768/1139 2725/2762/1133 2471/2502/1050 +f 2736/2773/1143 2728/2765/1136 2730/2767/1138 +f 2725/2762/1133 2731/2768/1139 2733/2770/1134 +f 2730/2767/1138 2734/2771/1141 2736/2773/1143 +f 2728/2765/1136 2727/2764/1135 2729/2766/1137 +f 2743/2780/1147 2737/2774/1137 2739/2776/1144 +f 2473/2504/1051 2738/2775/1046 2733/2770/1134 +f 2733/2770/1134 2732/2769/1140 2473/2504/1051 +f 2739/2776/1144 2741/2778/1048 2743/2780/1147 +f 2555/2588/1073 2099/2122/816 2649/2685/564 +f 2748/2786/1148 2749/2787/1149 2566/2599/1084 +f 2575/2608/1087 2574/2607/824 2759/2797/1151 +f 2950/3013/1230 2760/2798/1152 2762/2800/1154 +f 2765/2803/1157 2429/2460/1029 2763/2801/1155 +f 2627/2663/806 2766/2804/1033 2628/2664/1034 +f 2764/2802/1156 2767/2805/1158 2768/2806/1159 +f 2775/2813/1166 2769/2807/1160 2771/2809/1162 +f 2771/2809/1162 2770/2808/1161 2773/2811/1164 +f 2779/2817/1170 2774/2812/1165 2775/2813/1166 +f 2773/2811/1164 2772/2810/1163 2777/2815/1168 +f 2783/2821/1174 2778/2816/1169 2779/2817/1170 +f 2777/2815/1168 2776/2814/1167 2781/2819/1172 +f 2787/2825/1178 2782/2820/1173 2783/2821/1174 +f 2781/2819/1172 2780/2818/1171 2785/2823/1176 +f 2789/2827/1180 2786/2824/1177 2787/2825/1178 +f 2785/2823/1176 2784/2822/1175 2788/2826/1179 +f 2762/2800/1154 2761/2799/1153 2789/2827/1180 +f 2951/3014/1157 2790/2828/572 2792/2830/1181 +f 2952/3015/549 2795/2833/549 2797/2835/549 +f 2633/2669/564 2794/2832/564 2799/2837/564 +f 2069/2091/807 2068/2090/549 2629/2665/1102 +f 2805/2843/1186 2806/2844/1187 2801/2839/1182 +f 2806/2844/1187 2808/2846/1189 2807/2845/1188 +f 2808/2846/1189 2812/2850/1191 2809/2847/937 +f 2812/2850/1191 2810/2848/1190 2813/2851/944 +f 2096/2119/813 2249/2274/920 2816/2854/797 +f 2250/2275/921 2160/2183/843 2817/2855/1193 +f 2817/2855/1193 2815/2853/1192 2250/2275/921 +f 2824/2862/1200 2818/2856/1194 2820/2858/1196 +f 2826/2864/1202 2819/2857/1195 2821/2859/1197 +f 2820/2858/1196 2822/2860/1198 2824/2862/1200 +f 2804/2842/1185 2182/2207/855 2805/2843/1186 +f 2805/2843/1186 2394/2423/1014 2806/2844/1187 +f 2808/2846/1189 2390/2419/1012 2812/2850/1191 +f 2808/2846/1189 2806/2844/1187 2390/2419/1012 +f 2812/2850/1191 2386/2415/1010 2810/2848/1190 +f 2257/2282/554 2828/2866/554 2255/2280/554 +f 2254/2279/924 2810/2848/1190 2389/2418/1011 +f 2041/2063/796 2246/2271/919 2036/2058/791 +f 2036/2058/791 2254/2279/924 2041/2063/796 +f 2290/2315/570 2316/2344/570 2279/2304/570 +f 2855/2893/1026 2837/2875/1026 2842/2880/1026 +f 2843/2881/1026 2605/2640/1026 2844/2882/1026 +f 2953/3016/1231 2845/2883/1207 2847/2885/1209 +f 2953/3016/1231 2847/2885/1209 2849/2887/1211 +f 2954/3017/1210 2850/2888/1212 2852/2890/1214 +f 2051/2073/798 2853/2891/1215 2850/2888/1212 +f 2845/2883/1207 2595/2630/1095 2846/2884/1208 +f 2839/2877/1026 2592/2627/1026 2840/2878/1026 +f 2315/2343/570 2161/2894/570 2310/2337/570 +f 2955/3018/572 2856/2895/572 2858/2897/572 +f 2956/3019/570 2862/2901/570 2864/2903/570 +f 2859/2898/554 2861/2900/554 2866/3020/554 +f 1472/1483/549 1474/1485/549 2957/3021/549 +f 1472/1483/549 1477/1488/549 1476/1487/549 +f 1477/1488/549 1472/1483/549 2957/3021/549 +f 1555/1566/581 1475/1486/550 1477/1488/549 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon.png index 93e7958ea079061f61a8271916cacd7c2472ee19..a3ff7b54353c1b1734e810502a00e4d93521396b 100644 GIT binary patch literal 7611 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 delta 2256 zcmV;>2ru`$JL?gUGk*x8Nkl--#vh`Klj|n6FToY2!8<6&S&57WNHRnc!feN zLAK4pTaYG%0K`5EQuabr2}ztL+Edsxv<~mB2(syj-&9X*I__Yoq*yCw?iK-y#l8yCH&Zik!0w~1i3*2JRG#Rl z^%Bftie{qW?UTi6XD`bx~!u7AQ`h(d-77-Q08MIj@fXe~?+#a;#R|B0&M}CP05etCg6R|e$oe-bjw|8B8)C)zi=JDT^OPU&aYN8#4 zZTLd0?tGDwJeGQ+($!nHi(_h7kYtx5T*=NlZInQlg3>feOE8#gBXv3ZYy%9k!k zrB5;)NcjQfI|6{n=q%DT?cue|Z^X?1j4~=<@SP(jX5rBkwq92vpa6?Z4 z04MaN)#m)ms3yd(x@Nnyhd}kqNLin=U;zn*ND2zj6`s1ijXNqi?nSYN^tjc@C zx`l6UBpW-Ef&$nz5%5Ldt)#29hsv5B3U_>njNeaWqh+ESJ9g%X?pmpkA=n#DR26My zms<%1wVR`#Q-}tV2o|FGd|n@Pv)Qm1O{61G5Q3ki1N>0sh3W`RA}Bih?XS5wIy$P? z&*yV-L;u$8DKyc(XrP=?Xn!Go^5`t3CNkIm`lC~i>{CxvL09WZW=QNgf`n+Z*)ZLl zZRly;wrQd_yey|!Rmw2st8iJFyJGspzgUO|2)Zb>FkJxr4^h4r`5BeVPkS74Y9QsO zrX9kfGaL3O_oCPb$94Hbo`eGekb+tti7DoAgy%!ielQ2&UFb552ePvldg zp_(!}2lzELrtBGkwqVXAkIot(2V(O~i@%H7ndShnE?Y^)&Qinm1)vlY25jSHy2&_> zKU6eA28u^RDL71>Vt*1rVq;$g$R9N z=$M*lr~p;7JcTrA)thWZZPLCr7$$jUIqytP&sEb1<@!xaDAnyU`FVSL+Z9~3#@dx9 zqIUcEV`YBIW%2~Asn*-w5FVlu4BxO&{^ta+2hU=5*X#pOEbe{DGLY|j-oXS(prZTa?# z!J_1lg$QccOMk99sbA=2H=wASa(_ zEg;r`M+l0}TqY0;D($Cj>A)iaj~who+=?3pHY*^?Hh;to<7FGbw}0NEyFKqw_ZXij zrf>{M5ZzhsU9=`*&(Zyce4hY$yuxKxb$O()_O75fh4ArreEUs>6wz7NmL||dKq(xL ze0aNqo;;D8o3x1WiDETTG%P+*P;{okXscbCXx*Qnn-MT0h(`iu1;o(yV^1NOa~!Je zYYEHxBuS9h&gD|bey`u9<{%BS96Jj&V|Ck+M4n1GCnj< e^kH0fg7H5WcW1F8TR-^#0000 Date: Tue, 11 Jul 2023 16:06:44 +0200 Subject: [PATCH 253/285] cryo cannon --- .../hbm/handler/BulletConfigSyncingUtil.java | 4 + .../hbm/handler/guncfg/GunEnergyFactory.java | 35 ++++++- src/main/java/com/hbm/items/ModItems.java | 3 + .../com/hbm/items/weapon/ItemCryoCannon.java | 30 ++++++ .../hbm/items/weapon/ItemGunChemthrower.java | 4 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ResourceManager.java | 2 + .../weapon/ItemRenderWeaponCryoCannon.java | 91 +++++++++++++++++++ src/main/resources/assets/hbm/lang/de_DE.lang | 1 + src/main/resources/assets/hbm/lang/en_US.lang | 1 + 10 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/hbm/items/weapon/ItemCryoCannon.java create mode 100644 src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCryoCannon.java diff --git a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java index d3262d8b9..c37a03eed 100644 --- a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java +++ b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java @@ -167,6 +167,8 @@ public class BulletConfigSyncingUtil { 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++; @@ -458,6 +460,8 @@ public class BulletConfigSyncingUtil { 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()); diff --git a/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java b/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java index 55335e415..1ecf00f06 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java @@ -191,7 +191,7 @@ public class GunEnergyFactory { config.reloadDuration = 20; config.firingDuration = 0; config.ammoCap = 1; - config.durability = 1500; + config.durability = 2_500; config.reloadType = GunConfiguration.RELOAD_FULL; config.allowsInfinity = true; config.crosshair = Crosshair.CIRCLE; @@ -207,6 +207,30 @@ public class GunEnergyFactory { 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() { @@ -698,6 +722,15 @@ public class GunEnergyFactory { 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() { diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 1efbd5f96..50a667323 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1584,6 +1584,7 @@ public class ModItems { 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; @@ -4213,6 +4214,7 @@ public class ModItems { 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"); @@ -7030,6 +7032,7 @@ public class ModItems { 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()); diff --git a/src/main/java/com/hbm/items/weapon/ItemCryoCannon.java b/src/main/java/com/hbm/items/weapon/ItemCryoCannon.java new file mode 100644 index 000000000..5fabc3e32 --- /dev/null +++ b/src/main/java/com/hbm/items/weapon/ItemCryoCannon.java @@ -0,0 +1,30 @@ +package com.hbm.items.weapon; + +import com.hbm.entity.projectile.EntityChemical; +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.entity.player.EntityPlayer; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.item.ItemStack; +import net.minecraft.world.World; + +public class ItemCryoCannon extends ItemGunBase { + + public ItemCryoCannon(GunConfiguration config) { + super(config); + } + + @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); + + if(player instanceof EntityPlayerMP) PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player); + } +} diff --git a/src/main/java/com/hbm/items/weapon/ItemGunChemthrower.java b/src/main/java/com/hbm/items/weapon/ItemGunChemthrower.java index 880813acd..e58c89eee 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunChemthrower.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunChemthrower.java @@ -84,7 +84,8 @@ public class ItemGunChemthrower extends ItemGunBase implements IFillableItem { 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 @@ -96,6 +97,7 @@ public class ItemGunChemthrower extends ItemGunBase implements IFillableItem { if(player instanceof EntityPlayerMP) PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player); } + @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index e76d700c5..a262b8fb9 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -523,6 +523,7 @@ public class ClientProxy extends ServerProxy { 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()); //multitool MinecraftForgeClient.registerItemRenderer(ModItems.multitool_dig, new ItemRenderMultitool()); MinecraftForgeClient.registerItemRenderer(ModItems.multitool_silk, new ItemRenderMultitool()); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index c18f309c9..faf9b227a 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -751,6 +751,7 @@ public class ResourceManager { 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")).asDisplayList(); public static final IModelCustom coilgun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/coilgun.obj")).asDisplayList(); + public static final IModelCustom cryocannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cryo_cannon_alt.obj")).asDisplayList(); public static final IModelCustom uac_pistol = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/UAC pistol.obj")).asDisplayList(); //TODO: reduce this fat fuck public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj")); @@ -844,6 +845,7 @@ public class ResourceManager { 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 lance_tex = new ResourceLocation(RefStrings.MODID, "textures/models/weapons/lance.png"); diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCryoCannon.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCryoCannon.java new file mode 100644 index 000000000..437df58bd --- /dev/null +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCryoCannon.java @@ -0,0 +1,91 @@ +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 ItemRenderWeaponCryoCannon 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.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); + + 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; + } + + GL11.glShadeModel(GL11.GL_SMOOTH); + ResourceManager.cryocannon.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + + GL11.glPopMatrix(); + } +} diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index d11971bbd..544d8c28f 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1966,6 +1966,7 @@ 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 diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 3f126767e..18ca110d5 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -2660,6 +2660,7 @@ 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 From 6bd552f3be3bb475c9817c6927e8cd742288349d Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 12 Jul 2023 23:23:14 +0200 Subject: [PATCH 254/285] cryo cannon, bullet stuff --- changelog | 9 + .../com/hbm/entity/mob/EntityGlyphid.java | 5 +- .../entity/projectile/EntityBulletBaseNT.java | 231 + .../hbm/entity/projectile/EntityChemical.java | 12 +- .../entity/projectile/EntityThrowableNT.java | 31 +- .../java/com/hbm/extprop/HbmLivingProps.java | 22 + .../com/hbm/handler/BulletConfiguration.java | 6 + .../com/hbm/handler/EntityEffectHandler.java | 40 +- .../com/hbm/items/weapon/ItemCryoCannon.java | 88 + src/main/java/com/hbm/main/ClientProxy.java | 8 + .../java/com/hbm/main/ResourceManager.java | 4 +- .../weapon/ItemRenderWeaponCryoCannon.java | 31 +- .../item/weapon/ItemRenderWeaponFFBolt.java | 7 +- .../assets/hbm/models/weapons/cryo_cannon.obj | 14127 +++++++++------- .../hbm/models/weapons/cryo_cannon_alt.obj | 8217 --------- .../textures/models/weapons/cryo_cannon.png | Bin 7611 -> 7619 bytes .../models/weapons/cryo_cannon/fill_0.png | Bin 144 -> 117 bytes .../models/weapons/cryo_cannon/fill_1.png | Bin 148 -> 124 bytes .../models/weapons/cryo_cannon/fill_10.png | Bin 153 -> 126 bytes .../models/weapons/cryo_cannon/fill_11.png | Bin 140 -> 125 bytes .../models/weapons/cryo_cannon/fill_12.png | Bin 142 -> 124 bytes .../models/weapons/cryo_cannon/fill_13.png | Bin 141 -> 124 bytes .../models/weapons/cryo_cannon/fill_14.png | Bin 138 -> 117 bytes .../models/weapons/cryo_cannon/fill_2.png | Bin 147 -> 123 bytes .../models/weapons/cryo_cannon/fill_3.png | Bin 152 -> 124 bytes .../models/weapons/cryo_cannon/fill_4.png | Bin 153 -> 124 bytes .../models/weapons/cryo_cannon/fill_5.png | Bin 156 -> 124 bytes .../models/weapons/cryo_cannon/fill_6.png | Bin 156 -> 124 bytes .../models/weapons/cryo_cannon/fill_7.png | Bin 151 -> 124 bytes .../models/weapons/cryo_cannon/fill_8.png | Bin 153 -> 126 bytes .../models/weapons/cryo_cannon/fill_9.png | Bin 154 -> 126 bytes .../models/weapons/cryo_cannon/pressure_0.png | Bin 220 -> 235 bytes .../models/weapons/cryo_cannon/pressure_1.png | Bin 225 -> 241 bytes .../weapons/cryo_cannon/pressure_10.png | Bin 227 -> 241 bytes .../weapons/cryo_cannon/pressure_11.png | Bin 227 -> 239 bytes .../models/weapons/cryo_cannon/pressure_2.png | Bin 225 -> 238 bytes .../models/weapons/cryo_cannon/pressure_3.png | Bin 219 -> 226 bytes .../models/weapons/cryo_cannon/pressure_4.png | Bin 224 -> 231 bytes .../models/weapons/cryo_cannon/pressure_5.png | Bin 208 -> 221 bytes .../models/weapons/cryo_cannon/pressure_6.png | Bin 204 -> 221 bytes .../models/weapons/cryo_cannon/pressure_7.png | Bin 222 -> 235 bytes .../models/weapons/cryo_cannon/pressure_8.png | Bin 213 -> 227 bytes .../models/weapons/cryo_cannon/pressure_9.png | Bin 227 -> 243 bytes .../weapons/cryo_cannon/pressure_empty.png | Bin 213 -> 220 bytes .../models/weapons/cryo_cannon/turbine_0.png | Bin 235 -> 249 bytes .../models/weapons/cryo_cannon/turbine_1.png | Bin 242 -> 256 bytes .../models/weapons/cryo_cannon/turbine_2.png | Bin 247 -> 262 bytes .../models/weapons/cryo_cannon/turbine_3.png | Bin 237 -> 252 bytes .../models/weapons/cryo_cannon/turbine_4.png | Bin 250 -> 268 bytes .../models/weapons/cryo_cannon/turbine_5.png | Bin 249 -> 262 bytes .../models/weapons/cryo_cannon/turbine_6.png | Bin 247 -> 261 bytes .../models/weapons/cryo_cannon/turbine_7.png | Bin 243 -> 258 bytes .../models/weapons/cryo_cannon/turbine_8.png | Bin 234 -> 245 bytes .../weapons/cryo_cannon/turbine_empty.png | Bin 206 -> 214 bytes 54 files changed, 8374 insertions(+), 14464 deletions(-) create mode 100644 src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java delete mode 100644 src/main/resources/assets/hbm/models/weapons/cryo_cannon_alt.obj diff --git a/changelog b/changelog index 26bf4f45d..5d72f98ae 100644 --- a/changelog +++ b/changelog @@ -1,10 +1,19 @@ ## Added * UAC pistol * Uses the .45 caliber +* Cryo cannon + * Freezes entities + * Can only deal damage to already frozen entities + * Damage is proportional to max health, dealing more damage the stronger the mob is ## Changed * Making LPG in the compressor now requires two compression steps * This fixes an issue where polymer is unobtainable in 528 mode since petroleum at 1PU not being obtainable +* Fire and cryo damage now bypasses glyphid's armor, being unaffected by the armor's damage reduction and not being able to break off armor either +* Fire now deals 4x more damage to glyphids +* Cryogenic fluids from the chemthrower no longer deal direct damage, instead freezing the target + * Once the target is already frozen, it will deal damage and apply the same effects as it used to ## Fixed * Fixed issue where mk5 explosions would behave weirdly in their origin chunk, often blowing through bedrock and thick layers of concrete +* Fixed saturnite rifle disappearing in third person when scoping diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java index a28de4aa4..5dcac2356 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java @@ -6,6 +6,7 @@ import java.util.List; import com.hbm.entity.pathfinder.PathFinderUtils; import com.hbm.items.ModItems; +import com.hbm.lib.ModDamageSource; import com.hbm.main.ResourceManager; import net.minecraft.entity.Entity; @@ -86,7 +87,7 @@ public class EntityGlyphid extends EntityMob { @Override public boolean attackEntityFrom(DamageSource source, float amount) { - if(!source.isDamageAbsolute() && !source.isUnblockable() && !worldObj.isRemote) { + if(!source.isDamageAbsolute() && !source.isUnblockable() && !worldObj.isRemote && !source.isFireDamage() && !source.getDamageType().equals(ModDamageSource.s_cryolator)) { byte armor = this.dataWatcher.getWatchableObjectByte(17); if(armor != 0) { //if at least one bit of armor is present @@ -106,6 +107,8 @@ public class EntityGlyphid extends EntityMob { amount = this.calculateDamage(amount); } + if(source.isFireDamage()) amount *= 4F; + return super.attackEntityFrom(source, amount); } diff --git a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java new file mode 100644 index 000000000..d793af58d --- /dev/null +++ b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java @@ -0,0 +1,231 @@ +package com.hbm.entity.projectile; + +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.interfaces.IBulletHitBehavior; +import com.hbm.interfaces.IBulletHurtBehavior; +import com.hbm.interfaces.IBulletImpactBehavior; +import com.hbm.interfaces.IBulletRicochetBehavior; +import com.hbm.interfaces.IBulletUpdateBehavior; +import com.hbm.items.weapon.ItemGunBase; +import com.hbm.main.MainRegistry; +import com.hbm.util.Tuple.Pair; + +import net.minecraft.entity.Entity; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class EntityBulletBaseNT extends EntityThrowableInterp { + + private BulletConfiguration config; + public float overrideDamage; + + public double prevRenderX; + public double prevRenderY; + public double prevRenderZ; + public final List> trailNodes = new ArrayList(); + + public BulletConfiguration getConfig() { + return config; + } + + public EntityBulletBaseNT(World world) { + super(world); + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + } + + public EntityBulletBaseNT(World world, int config) { + super(world); + this.config = BulletConfigSyncingUtil.pullConfig(config); + this.dataWatcher.updateObject(18, config); + this.renderDistanceWeight = 10.0D; + + if(this.config == null) { + this.setDead(); + return; + } + + this.dataWatcher.updateObject(16, (byte)this.config.style); + this.dataWatcher.updateObject(17, (byte)this.config.trail); + + this.setSize(0.5F, 0.5F); + } + + public EntityBulletBaseNT(World world, int config, EntityLivingBase entity) { + super(world); + this.config = BulletConfigSyncingUtil.pullConfig(config); + this.dataWatcher.updateObject(18, config); + thrower = entity; + + ItemStack gun = entity.getHeldItem(); + boolean offsetShot = true; + + if(gun != null && gun.getItem() instanceof ItemGunBase) { + GunConfiguration cfg = ((ItemGunBase) gun.getItem()).mainConfig; + + if(cfg != null && cfg.hasSights && entity.isSneaking()) { + 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; + } else { + 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)); + + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + + this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, 1.0F, this.config.spread * (offsetShot ? 1F : 0.25F)); + + this.dataWatcher.updateObject(16, (byte)this.config.style); + this.dataWatcher.updateObject(17, (byte)this.config.trail); + } + + 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.thrower = entity; + + this.renderDistanceWeight = 10.0D; + this.setSize(0.5F, 0.5F); + + this.posY = entity.posY + entity.getEyeHeight() - 0.10000000149011612D; + double d0 = target.posX - entity.posX; + double d1 = target.boundingBox.minY + target.height / 3.0F - this.posY; + double d2 = target.posZ - entity.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(entity.posX + d4, this.posY, entity.posZ + d5, f2, f3); + this.yOffset = 0.0F; + this.setThrowableHeading(d0, d1, d2, motion, deviation); + } + + this.dataWatcher.updateObject(16, (byte)this.config.style); + this.dataWatcher.updateObject(17, (byte)this.config.trail); + } + + @Override + public void onUpdate() { + + if(config == null) config = BulletConfigSyncingUtil.pullConfig(dataWatcher.getWatchableObjectInt(18)); + + if(config == null){ + this.setDead(); + return; + } + + if(worldObj.isRemote && config.style == config.STYLE_TAU) { + if(trailNodes.isEmpty()) { + this.ignoreFrustumCheck = true; + trailNodes.add(new Pair(Vec3.createVectorHelper(-motionX * 2, -motionY * 2, -motionZ * 2), 0D)); + } else { + 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, + (this.motionX + rand.nextGaussian() * 0.05) * mod, + (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.bUpdate != null) this.config.bntUpdate.behaveUpdate(this); + this.setDead(); + return; + } + + if(this.config.bUpdate != null) this.config.bntUpdate.behaveUpdate(this); + } + + 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); + nbt.setDouble("posX", this.posX - vec.xCoord * d); + nbt.setDouble("posY", this.posY - vec.yCoord * d); + nbt.setDouble("posZ", this.posZ - vec.zCoord * d); + MainRegistry.proxy.effectNT(nbt); + } + } + } + + @Override + protected void onImpact(MovingObjectPosition mop) { + + if(mop.typeOfHit == mop.typeOfHit.BLOCK) { + + } + } + + @Override + public boolean doesPenetrate() { + return this.config.doesPenetrate; + } + + @Override + public boolean isSpectral() { + return this.config.isSpectral; + } + + public IBulletHurtBehavior bHurt; + public IBulletHitBehavior bHit; + public IBulletRicochetBehavior bRicochet; + public IBulletImpactBehavior bImpact; + public IBulletUpdateBehavior bUpdate; + + public interface IBulletHurtBehaviorNT { public void behaveEntityHurt(EntityBulletBaseNT bullet, Entity hit); } + public interface IBulletHitBehaviorNT { public void behaveEntityHit(EntityBulletBaseNT bullet, Entity hit); } + public interface IBulletRicochetBehaviorNT { public void behaveBlockRicochet(EntityBulletBaseNT bullet, int x, int y, int z); } + public interface IBulletImpactBehaviorNT { public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z); } + public interface IBulletUpdateBehaviorNT { public void behaveUpdate(EntityBulletBaseNT bullet); } +} diff --git a/src/main/java/com/hbm/entity/projectile/EntityChemical.java b/src/main/java/com/hbm/entity/projectile/EntityChemical.java index 003414be6..d64e64d74 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityChemical.java +++ b/src/main/java/com/hbm/entity/projectile/EntityChemical.java @@ -185,9 +185,15 @@ public class EntityChemical extends EntityThrowableNT { if(style == ChemicalStyle.LIQUID || style == ChemicalStyle.GAS) { if(type.temperature < -20) { if(living != null) { //only living things are affected - EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_cryolator), 5F + (type.temperature + 20) * -0.05F); //5 damage at -20°C with one extra damage every -20°C - living.addPotionEffect(new PotionEffect(Potion.moveSlowdown.id, 100, 2)); - living.addPotionEffect(new PotionEffect(Potion.digSlowdown.id, 100, 4)); + + 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)); + } } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java index 608f999d5..8136defa8 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java @@ -156,7 +156,8 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { Vec3 pos = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); Vec3 nextPos = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); - MovingObjectPosition mop = this.worldObj.rayTraceBlocks(pos, nextPos); + MovingObjectPosition mop = null; + if(!this.isSpectral()) mop = this.worldObj.rayTraceBlocks(pos, nextPos); pos = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); nextPos = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); @@ -180,17 +181,25 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { MovingObjectPosition hitMop = aabb.calculateIntercept(pos, nextPos); if(hitMop != null) { - double dist = pos.distanceTo(hitMop.hitVec); - - if(dist < nearest || nearest == 0.0D) { - hitEntity = entity; - nearest = dist; + + // if penetration is enabled, run impact for all intersecting entities + if(this.doesPenetrate()) { + this.onImpact(hitMop); + } else { + + double dist = pos.distanceTo(hitMop.hitVec); + + if(dist < nearest || nearest == 0.0D) { + hitEntity = entity; + nearest = dist; + } } } } } - if(hitEntity != null) { + // if not, only run it for the closest MOP + if(!this.doesPenetrate() && hitEntity != null) { mop = new MovingObjectPosition(hitEntity); } } @@ -249,8 +258,12 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { } } - public boolean alowMultiImpact() { - return false; //TODO + public boolean doesPenetrate() { + return false; + } + + public boolean isSpectral() { + return false; } public void getStuck(int x, int y, int z) { diff --git a/src/main/java/com/hbm/extprop/HbmLivingProps.java b/src/main/java/com/hbm/extprop/HbmLivingProps.java index da9d1d0c6..81a44a47a 100644 --- a/src/main/java/com/hbm/extprop/HbmLivingProps.java +++ b/src/main/java/com/hbm/extprop/HbmLivingProps.java @@ -25,6 +25,7 @@ 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; @@ -46,6 +47,9 @@ 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; private List contamination = new ArrayList(); public HbmLivingProps(EntityLivingBase entity) { @@ -270,6 +274,24 @@ public class HbmLivingProps implements IExtendedEntityProperties { 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; }; @Override public void init(Entity entity, World world) { } diff --git a/src/main/java/com/hbm/handler/BulletConfiguration.java b/src/main/java/com/hbm/handler/BulletConfiguration.java index a55ffe030..53ebc9546 100644 --- a/src/main/java/com/hbm/handler/BulletConfiguration.java +++ b/src/main/java/com/hbm/handler/BulletConfiguration.java @@ -3,6 +3,7 @@ package com.hbm.handler; import java.util.List; import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT.*; import com.hbm.handler.guncfg.BulletConfigFactory; import com.hbm.interfaces.IBulletHitBehavior; import com.hbm.interfaces.IBulletHurtBehavior; @@ -92,6 +93,11 @@ public class BulletConfiguration implements Cloneable { public IBulletRicochetBehavior bRicochet; public IBulletImpactBehavior bImpact; public IBulletUpdateBehavior bUpdate; + public IBulletHurtBehaviorNT bntHurt; + public IBulletHitBehaviorNT bntHit; + public IBulletRicochetBehaviorNT bntRicochet; + public IBulletImpactBehaviorNT bntImpact; + public IBulletUpdateBehaviorNT bntUpdate; //appearance public int style; diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index ff9607611..3396b2472 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -97,6 +97,7 @@ public class EntityEffectHandler { handleLungDisease(entity); handleOil(entity); handlePollution(entity); + handleTemperature(entity); handleDashing(entity); handlePlinking(entity); @@ -444,7 +445,7 @@ public class EntityEffectHandler { 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)); + PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(nbt, 0, 0, 0), new TargetPoint(entity.dimension, entity.posX, entity.posY, entity.posZ, 25)); } } } @@ -486,6 +487,43 @@ 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); + } + } + } + + if(HbmLivingProps.isBurning(living)) { + living.setFire(1); + } + } + private static void handleDashing(Entity entity) { //AAAAAAAAAAAAAAAAAAAAEEEEEEEEEEEEEEEEEEEE diff --git a/src/main/java/com/hbm/items/weapon/ItemCryoCannon.java b/src/main/java/com/hbm/items/weapon/ItemCryoCannon.java index 5fabc3e32..6e9bf1de7 100644 --- a/src/main/java/com/hbm/items/weapon/ItemCryoCannon.java +++ b/src/main/java/com/hbm/items/weapon/ItemCryoCannon.java @@ -1,15 +1,20 @@ 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 { @@ -18,13 +23,96 @@ public class ItemCryoCannon extends ItemGunBase { super(config); } + @Override + protected void fire(ItemStack stack, World world, EntityPlayer player) { + + if(this.getPressure(stack) >= 1000) return; + if(this.getTurbine(stack) < 100) return; + + BulletConfiguration config = null; + + if(mainConfig.reloadType == mainConfig.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); + } + + 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 = this.getPressure(stack); + pressure += 5; + pressure = MathHelper.clamp_int(pressure, 0, 1000); + this.setPressure(stack, pressure); if(player instanceof EntityPlayerMP) PacketDispatcher.wrapper.sendTo(new GunAnimationPacket(AnimType.CYCLE.ordinal()), (EntityPlayerMP) player); } + + @Override + protected void updateServer(ItemStack stack, World world, EntityPlayer player, int slot, boolean isCurrentItem) { + + int turbine = this.getTurbine(stack); + int pressure = this.getPressure(stack); + + if(this.getIsMouseDown(stack)) { + turbine += 10; + } else { + turbine -= 5; + pressure -= 5; + } + + turbine = MathHelper.clamp_int(turbine, 0, 100); + pressure = MathHelper.clamp_int(pressure, 0, 1000); + this.setTurbine(stack, turbine); + this.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/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index a262b8fb9..a3b34fa22 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -1883,6 +1883,14 @@ public class ClientProxy extends ServerProxy { 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(); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index faf9b227a..82995ce32 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -751,8 +751,8 @@ public class ResourceManager { 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")).asDisplayList(); public static final IModelCustom coilgun = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/coilgun.obj")).asDisplayList(); - public static final IModelCustom cryocannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cryo_cannon_alt.obj")).asDisplayList(); - public static final IModelCustom uac_pistol = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/UAC pistol.obj")).asDisplayList(); //TODO: reduce this fat fuck + public static final IModelCustom cryocannon = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/cryo_cannon.obj")).asDisplayList(); + public static final IModelCustom uac_pistol = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/UAC pistol.obj")).asDisplayList(); public static final IModelCustom lance = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/weapons/lance.obj")); diff --git a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCryoCannon.java b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCryoCannon.java index 437df58bd..b368c30f5 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCryoCannon.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponCryoCannon.java @@ -2,13 +2,28 @@ 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) { @@ -35,6 +50,7 @@ public class ItemRenderWeaponCryoCannon implements IItemRenderer { GL11.glEnable(GL11.GL_CULL_FACE); GL11.glEnable(GL11.GL_LIGHTING); + GL11.glShadeModel(GL11.GL_SMOOTH); Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.cryocannon_tex); @@ -48,6 +64,17 @@ public class ItemRenderWeaponCryoCannon implements IItemRenderer { 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: @@ -82,8 +109,8 @@ public class ItemRenderWeaponCryoCannon implements IItemRenderer { default: break; } - GL11.glShadeModel(GL11.GL_SMOOTH); - ResourceManager.cryocannon.renderAll(); + 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 index b88c87063..d1c7b88aa 100644 --- a/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFBolt.java +++ b/src/main/java/com/hbm/render/item/weapon/ItemRenderWeaponFFBolt.java @@ -42,8 +42,6 @@ public class ItemRenderWeaponFFBolt implements IItemRenderer { @Override public void renderItem(ItemRenderType type, ItemStack item, Object... data) { - if(item.getItem() == ModItems.gun_bolt_action_saturnite && Minecraft.getMinecraft().thePlayer.isSneaking()) return; - GL11.glPushMatrix(); GL11.glEnable(GL11.GL_CULL_FACE); @@ -55,6 +53,11 @@ public class ItemRenderWeaponFFBolt implements IItemRenderer { 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); diff --git a/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj b/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj index 32f6af5ba..8f4413807 100644 --- a/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj +++ b/src/main/resources/assets/hbm/models/weapons/cryo_cannon.obj @@ -1,552 +1,7799 @@ # Blender v2.79 (sub 0) OBJ File: 'cryo_cannon.blend' # www.blender.org -o Plane.004 -v -0.437500 2.102596 -3.042822 -v -0.483253 2.144063 -3.023486 -v -0.500000 2.200707 -2.997072 -v -0.483253 2.257351 -2.970659 -v -0.437500 2.298818 -2.951323 -v -0.375000 2.313995 -2.944245 -v -0.312500 2.298818 -2.951323 -v -0.266747 2.257351 -2.970659 -v -0.250000 2.200707 -2.997072 -v -0.266747 2.144063 -3.023486 -v -0.312500 2.102596 -3.042822 -v -0.375000 2.087419 -3.049900 -vt 0.750000 0.933013 -vt 0.933013 0.750000 -vt 1.000000 0.500000 -vt 0.933013 0.250000 -vt 0.750000 0.066987 -vt 0.500000 0.000000 -vt 0.250000 0.066987 -vt 0.066987 0.250000 -vt 0.000000 0.500000 -vt 0.066987 0.750000 -vt 0.250000 0.933013 -vt 0.500000 1.000000 -vn -0.0000 0.4226 -0.9063 -s off -f 1/1/1 2/2/1 3/3/1 4/4/1 5/5/1 6/6/1 7/7/1 8/8/1 9/9/1 10/10/1 11/11/1 12/12/1 -o Plane.003 -v -0.216506 2.340409 -3.000889 -v -0.250000 2.227120 -3.053716 -v -0.216506 2.113832 -3.106544 +o Gun +v -1.312500 0.501000 -2.750000 +v -1.312500 0.626000 -3.500000 +v -1.312500 0.501000 -3.500000 +v -1.312500 0.751000 -2.750000 +v -1.312500 0.876000 -3.500000 +v -1.312500 0.751000 -3.500000 +v -1.312500 1.001000 -2.750000 +v -1.312500 1.126000 -3.500000 +v -1.312500 1.001000 -3.500000 +v -1.312500 1.251000 -3.500000 +v -1.312500 1.376000 -2.625000 +v -1.312500 1.376000 -3.625000 +v -1.312500 0.251000 -2.625000 +v -1.312500 0.376000 -3.500000 +v -1.312500 0.251000 -3.625000 +v -1.312500 0.626000 -2.750000 +v -1.187500 1.001000 -2.750000 +v -1.187500 1.001000 -3.500000 +v -1.187500 0.626000 -3.500000 +v -1.187500 0.751000 -3.500000 +v -1.187500 1.126000 -3.500000 +v -1.187500 1.251000 -2.750000 +v -1.187500 1.251000 -3.500000 +v -1.187500 0.876000 -2.750000 +v -1.187500 0.876000 -3.500000 +v -1.187500 0.751000 -2.750000 +v -1.187500 0.376000 -2.750000 +v -1.187500 0.501000 -3.500000 +v -1.187500 0.376000 -3.500000 +v -1.312500 1.126000 -2.750000 +v -1.312500 1.251000 -2.750000 +v -1.187500 1.126000 -2.750000 +v -1.312500 0.876000 -2.750000 +v -1.187500 0.626000 -2.750000 +v -1.312500 0.376000 -2.750000 +v -1.187500 0.501000 -2.750000 +v -0.344030 0.708152 -0.175597 +v -0.388541 0.618205 -0.128904 +v -0.328091 0.674453 -0.163924 +v -0.334466 0.442528 -0.062870 +v -0.385571 0.535686 -0.093884 +v -0.420670 0.523129 -0.082211 +v -0.216518 0.438567 -0.082211 +v -0.172007 0.528513 -0.128904 +v -0.232457 0.472265 -0.093884 +v -0.135918 0.513565 -0.128904 +v -0.174978 0.611032 -0.163924 +v -0.226082 0.704190 -0.194938 +v -0.239630 0.671482 -0.178429 +v -0.424630 0.633153 -0.128904 +v -0.320918 0.475236 -0.079378 +v -0.139879 0.623590 -0.175597 +v -0.248396 0.505963 -0.105557 +v -0.210077 0.598474 -0.152250 +v -0.312152 0.640755 -0.152250 +v -0.161900 0.552916 -0.072260 +v -0.238288 0.530366 -0.048913 +v -0.222349 0.496668 -0.037240 +v -0.199968 0.622877 -0.095606 +v -0.197989 0.567865 -0.072260 +v -0.229523 0.695885 -0.121785 +v -0.164869 0.635435 -0.107280 +v -0.317984 0.698857 -0.107280 +v -0.243071 0.663178 -0.105277 +v -0.378433 0.642608 -0.072260 +v -0.302044 0.665158 -0.095606 +v -0.340364 0.572647 -0.048913 +v -0.342344 0.627659 -0.072260 +v -0.375462 0.560089 -0.037240 +v -0.297262 0.532347 -0.039243 +v -0.310810 0.499639 -0.022734 +v -0.014465 0.192905 0.136894 +v -0.349313 0.368885 -0.081856 +v -0.391169 0.267836 0.136894 +v -0.025414 0.247242 -0.109375 +v -0.014465 0.302280 -0.081856 +v -0.025414 0.137868 0.109375 +v -0.402117 0.212799 0.109375 +v -0.360261 0.313848 -0.109375 +v 0.095671 1.480970 -0.500000 +v 0.173227 1.321753 -0.500000 +v 0.230970 1.345671 -0.500000 +v 0.115485 1.202165 -0.500000 +v 0.115485 1.297835 -0.500000 +v 0.047834 1.365485 -0.500000 +v 0.173227 1.178247 -0.500000 +v 0.230970 1.154329 -0.500000 +v 0.095671 1.019030 -0.500000 +v 0.071753 1.076773 -0.500000 +v -0.071753 1.076773 -0.500000 +v -0.095671 1.019030 -0.500000 +v -0.173227 1.178247 -0.500000 +v -0.230970 1.154329 -0.500000 +v -0.173227 1.321753 -0.500000 +v -0.230970 1.345671 -0.500000 +v -0.095671 1.480970 -0.500000 +v -0.071753 1.423227 -0.500000 +v 0.071753 1.423227 -0.500000 +v 0.115485 1.297835 -0.375000 +v 0.071753 1.423227 -0.375000 +v 0.047834 1.365485 -0.375000 +v 0.115485 1.202165 -0.375000 +v 0.173227 1.321753 -0.375000 +v 0.071753 1.076773 -0.375000 +v 0.047834 1.134515 -0.375000 +v -0.071753 1.076773 -0.375000 +v -0.047836 1.134515 -0.375000 +v -0.173227 1.178247 -0.375000 +v -0.115485 1.202165 -0.375000 +v -0.115485 1.297835 -0.375000 +v -0.047836 1.365485 -0.375000 +v -0.173227 1.321753 -0.375000 +v -0.071753 1.423227 -0.375000 +v -1.000000 0.938500 -4.125000 +v -1.000000 -0.061500 -3.125000 +v -1.000000 0.938500 -2.125000 +v -1.000000 1.376000 -2.625000 +v -1.000000 0.251000 -2.625000 +v -1.000000 0.251000 -3.625000 +v -1.000000 1.376000 -3.625000 +v 1.000000 0.938500 -2.125000 +v 1.000000 -0.061500 -3.125000 +v 1.000000 0.938500 -4.125000 +v -1.000000 0.231393 -3.832107 +v -1.000000 0.231393 -2.417893 +v 1.000000 1.938500 -3.125000 +v -1.000000 1.645607 -3.832107 +v -1.000000 1.938500 -3.125000 +v 1.000000 0.231393 -3.832107 +v 1.000000 0.231393 -2.417893 +v 1.000000 1.645607 -2.417893 +v -1.000000 1.645607 -2.417893 +v 1.000000 1.645607 -3.832107 +v 0.731694 2.179917 0.187500 +v 0.643306 2.445082 0.187500 +v 0.554916 2.356694 0.187500 +v 0.643306 2.445082 -0.312500 +v 0.731694 2.179917 -0.312500 +v 0.554916 2.356694 -0.312500 +v 0.820084 2.268306 -0.312500 +v 0.820084 2.268306 0.187500 +v -1.106694 0.695083 0.187500 +v -1.018306 0.429918 0.187500 +v -0.929916 0.518306 0.187500 +v -1.018306 0.429918 -0.312500 +v -1.106694 0.695083 -0.312500 +v -0.929916 0.518306 -0.312500 +v -1.195084 0.606694 -0.312500 +v -1.195084 0.606694 0.187500 +v 1.106694 0.695082 0.187500 +v 1.018306 0.429917 0.187500 +v 1.195082 0.606694 0.187500 +v 1.106694 0.695082 -0.312500 +v 1.018306 0.429917 -0.312500 +v 0.929916 0.518306 -0.312500 +v 0.929916 0.518306 0.187500 +v 1.195082 0.606694 -0.312500 +v -0.731694 2.179918 0.187500 +v -0.643306 2.445083 0.187500 +v -0.820082 2.268306 0.187500 +v -0.731694 2.179918 -0.312500 +v -0.643306 2.445083 -0.312500 +v -0.554916 2.356694 -0.312500 +v -0.554916 2.356694 0.187500 +v -0.820082 2.268306 -0.312500 +v 0.731694 2.179917 -2.375000 +v 0.643306 2.445082 -2.375000 +v 0.554916 2.356694 -2.375000 +v 0.643306 2.445082 -2.750000 +v 0.731694 2.179917 -2.875000 +v 0.554916 2.356694 -2.750000 +v 0.820084 2.268306 -2.875000 +v 0.820084 2.268306 -2.375000 +v 0.750000 1.887724 -3.247583 +v -0.750000 2.039915 -3.445922 +v -0.750000 1.887724 -3.247583 +v 0.750000 1.696383 -3.709523 +v 0.750000 2.039915 -3.445922 +v 0.750000 1.639863 -3.280215 +v -0.750000 1.944244 -3.676892 +v 0.750000 1.944244 -3.676892 +v -0.750000 1.696383 -3.709523 +v 0.500000 0.125000 -2.750000 +v -0.500000 0.125000 -1.750000 +v -0.500000 0.125000 -2.750000 +v 0.500000 0.500000 -1.750000 +v 0.500000 0.125000 -1.750000 +v -0.500000 0.500000 -2.750000 +v -0.625000 1.687500 -4.125000 +v 0.625000 0.187500 -4.125000 +v -0.625000 0.187500 -4.125000 +v 0.625000 0.187500 -3.625000 +v 0.625000 1.687500 -4.125000 +v 0.625000 1.687500 -3.625000 +v -0.625000 1.687500 -3.625000 +v -0.625000 0.187500 -3.625000 +v 0.875000 1.658494 -2.187500 +v 1.375000 1.658494 -2.437500 +v 1.375000 1.658494 -2.187500 +v 0.875000 2.091506 -2.187500 +v 1.375000 1.875000 -2.062500 +v 1.375000 2.091506 -2.187500 +v 0.875000 1.875000 -2.562500 +v 1.375000 2.091506 -2.437500 +v 1.375000 1.875000 -2.562500 +v 0.875000 1.658494 -2.437500 +v 0.875000 1.875000 -2.062500 +v 0.875000 2.091506 -2.437500 +v 1.375000 1.983253 -2.250000 +v 1.562500 1.983253 -2.375000 +v 1.375000 1.983253 -2.375000 +v 1.375000 1.766747 -2.375000 +v 1.562500 1.766747 -2.250000 +v 1.375000 1.766747 -2.250000 +v 1.375000 1.875000 -2.187500 +v 1.562500 1.983253 -2.250000 +v 1.562500 1.875000 -2.437500 +v 1.375000 1.875000 -2.437500 +v 1.562500 1.766747 -2.375000 +v 1.562500 1.875000 -2.187500 +v 1.562500 1.712620 -2.218750 +v 1.562500 1.875000 -2.125000 +v 1.562500 2.037380 -2.218750 +v 1.562500 1.875000 -2.500000 +v 1.562500 1.712620 -2.406250 +v 1.562500 2.037380 -2.406250 +v 2.312500 1.712620 -2.406250 +v 2.312500 1.875000 -2.125000 +v 2.312500 2.037380 -2.406250 +v 2.312500 1.712620 -2.218750 +v 2.312500 2.037380 -2.218750 +v 2.312500 1.875000 -2.500000 +v 2.312500 1.983253 -2.250000 +v 2.312500 1.983253 -2.375000 +v 2.312500 1.875000 -2.437500 +v 2.312500 1.766747 -2.375000 +v 2.312500 1.766747 -2.250000 +v 2.312500 1.875000 -2.187500 +v 2.500000 1.875000 -2.187500 +v 2.500000 1.983253 -2.375000 +v 2.500000 1.766747 -2.250000 +v 2.500000 1.983253 -2.250000 +v 2.500000 1.875000 -2.437500 +v 2.500000 1.766747 -2.375000 +v 2.500000 2.091506 -2.187500 +v 2.500000 2.091506 -2.437500 +v 2.500000 1.875000 -2.562500 +v 2.500000 1.658494 -2.437500 +v 2.500000 1.658494 -2.187500 +v 2.500000 1.875000 -2.062500 +v 2.625000 2.091506 -2.437500 +v 2.625000 1.658494 -2.187500 +v 2.625000 2.091506 -2.187500 +v 2.625000 1.875000 -2.562500 +v 2.625000 1.658494 -2.437500 +v 2.625000 1.875000 -2.062500 +v 2.750000 1.875000 -2.437500 +v 2.750000 1.766747 -2.375000 +v 2.750000 1.766747 -2.250000 +v 2.750000 1.875000 -2.187500 +v 2.750000 1.983253 -2.375000 +v 2.750000 1.983253 -2.250000 +v 0.125000 1.625000 -4.734835 +v -0.125000 1.978553 -5.088388 +v -0.125000 1.625000 -4.734835 +v -0.125000 1.713388 -5.353553 +v -0.125000 1.359835 -5.000000 +v 0.125000 1.713388 -5.353553 +v 0.125000 1.359835 -5.000000 +v 0.125000 1.978553 -5.088388 +v 0.062500 2.597272 -4.558058 +v -0.062500 2.774049 -4.734835 +v -0.062500 2.597272 -4.558058 +v 0.062500 2.066942 -5.088388 +v 0.062500 2.774049 -4.734835 +v -0.062500 2.066942 -5.088388 +v -0.062500 2.243718 -5.265165 +v 0.062500 2.243718 -5.265165 +v -0.137500 2.062500 -3.749900 +v -0.137500 2.062500 -3.437400 +v -0.137500 2.187500 -3.437400 +v -0.012500 1.937500 -3.749900 +v -0.137500 1.937500 -3.749900 +v 0.137500 2.062500 -3.749900 +v 0.137500 2.062500 -3.437400 +v 0.137500 1.937500 -3.749900 +v -0.012500 2.187500 -3.437400 +v -0.012500 2.062500 -3.749900 +v 0.137500 2.134191 -3.062400 +v 0.137500 2.009191 -3.062400 +v -0.012500 2.062500 -3.437400 +v -0.137500 2.009191 -3.062400 +v -0.012500 1.937500 -3.874900 +v -0.137500 1.937500 -3.874900 +v 0.137500 1.937500 -3.874900 +v 0.012500 1.937500 -3.874900 +v 0.012500 1.937500 -3.749900 +v 0.012500 2.062500 -3.749900 +v -0.137500 1.687500 -3.874900 +v -0.012500 1.687500 -3.874900 +v -0.012500 1.687500 -3.749900 +v -0.137500 1.687500 -3.749900 +v 0.137500 1.687500 -3.874900 +v 0.137500 1.687500 -3.749900 +v 0.012500 1.687500 -3.749900 +v 0.012500 1.687500 -3.874900 +v 0.012500 2.062500 -3.437400 +v 0.625000 2.001000 -3.062500 +v 0.875000 2.001000 -3.187500 +v 0.625000 2.001000 -3.187500 +v 0.012500 2.187500 -3.437400 +v 0.137500 2.187500 -3.437400 +v 0.012500 2.134191 -3.062400 +v -0.137500 2.134191 -3.062400 +v 0.012500 2.009191 -3.062400 +v -0.012500 2.134191 -3.062400 +v -0.012500 2.009191 -3.062400 +v 0.625000 1.938500 -3.250000 +v -0.625000 1.830247 -3.187500 +v -0.625000 1.938500 -3.250000 +v 0.625000 1.876000 -3.062500 +v 0.875000 2.001000 -3.062500 +v 0.625000 1.830247 -3.187500 +v -0.625000 1.830247 -3.062500 +v 0.625000 1.876000 -3.187500 +v 0.875000 1.876000 -3.062500 +v 0.625000 1.830247 -3.062500 +v -0.625000 1.938500 -3.000000 +v 0.875000 1.876000 -3.187500 +v 0.625000 1.938500 -3.000000 +v -0.625000 2.046753 -3.062500 +v 0.625000 2.046753 -3.062500 +v -0.625000 2.046753 -3.187500 +v 0.625000 2.046753 -3.187500 +v 1.000000 2.001000 -3.062500 +v 1.000000 2.001000 -3.187500 +v 1.000000 2.126000 -3.187500 +v 0.875000 2.126000 -3.187500 +v 1.000000 2.126000 -3.312500 +v 1.000000 2.126000 -3.062500 +v 0.875000 2.126000 -3.062500 +v 1.000000 2.251000 -3.187500 +v 0.875000 2.251000 -3.187500 +v 1.000000 2.251000 -3.312500 +v 0.875000 2.001000 -3.937500 +v 0.875000 2.251000 -3.312500 +v 0.875000 2.126000 -3.312500 +v 1.000000 1.876000 -3.937500 +v 1.000000 1.876000 -4.062500 +v 1.000000 2.001000 -3.937500 +v 0.875000 1.876000 -3.937500 +v 0.875000 1.876000 -4.062500 +v 0.875000 1.626000 -3.937500 +v 0.625000 1.501000 -3.937500 +v 0.875000 1.501000 -3.937500 +v 1.000000 1.626000 -3.937500 +v 1.000000 1.626000 -4.062500 +v 0.875000 1.626000 -4.062500 +v 0.875000 1.501000 -4.062500 +v 0.625000 1.626000 -3.937500 +v 0.625000 1.626000 -4.062500 +v 0.625000 1.501000 -4.062500 +v 0.344030 1.791848 -0.175597 +v 0.388541 1.881795 -0.128904 +v 0.328091 1.825547 -0.163924 +v 0.334466 2.057472 -0.062870 +v 0.385571 1.964314 -0.093884 +v 0.420670 1.976871 -0.082211 +v 0.216518 2.061433 -0.082211 +v 0.172007 1.971487 -0.128904 +v 0.232457 2.027735 -0.093884 +v 0.135918 1.986435 -0.128904 +v 0.174978 1.888968 -0.163924 +v 0.226082 1.795810 -0.194938 +v 0.239630 1.828518 -0.178429 +v 0.424630 1.866847 -0.128904 +v 0.320918 2.024764 -0.079378 +v 0.139879 1.876410 -0.175597 +v 0.248396 1.994037 -0.105557 +v 0.210077 1.901526 -0.152250 +v 0.312152 1.859245 -0.152250 +v 0.161900 1.947084 -0.072260 +v 0.238288 1.969634 -0.048913 +v 0.222349 2.003332 -0.037240 +v 0.199968 1.877123 -0.095606 +v 0.197989 1.932135 -0.072260 +v 0.229523 1.804115 -0.121785 +v 0.164869 1.864565 -0.107280 +v 0.317984 1.801143 -0.107280 +v 0.243071 1.836822 -0.105277 +v 0.342344 1.872341 -0.072260 +v 0.302044 1.834842 -0.095606 +v 0.378433 1.857392 -0.072260 +v 0.340365 1.927353 -0.048913 +v 0.375462 1.939911 -0.037240 +v 0.297262 1.967653 -0.039243 +v 0.310810 2.000361 -0.022734 +v -0.541848 1.594031 -0.175597 +v -0.631795 1.638541 -0.128904 +v -0.575547 1.578091 -0.163924 +v -0.807472 1.584466 -0.062870 +v -0.714314 1.635571 -0.093884 +v -0.726871 1.670670 -0.082211 +v -0.811433 1.466519 -0.082211 +v -0.721487 1.422007 -0.128904 +v -0.777735 1.482457 -0.093884 +v -0.736435 1.385918 -0.128904 +v -0.638968 1.424978 -0.163924 +v -0.545810 1.476082 -0.194938 +v -0.578518 1.489630 -0.178429 +v -0.616847 1.674630 -0.128904 +v -0.774764 1.570918 -0.079378 +v -0.626410 1.389879 -0.175597 +v -0.744037 1.498396 -0.105557 +v -0.651526 1.460078 -0.152250 +v -0.609245 1.562152 -0.152250 +v -0.697084 1.411900 -0.072260 +v -0.719634 1.488288 -0.048913 +v -0.753332 1.472349 -0.037240 +v -0.627123 1.449969 -0.095606 +v -0.682135 1.447989 -0.072260 +v -0.554115 1.479523 -0.121785 +v -0.614565 1.414870 -0.107280 +v -0.551143 1.567984 -0.107280 +v -0.586822 1.493071 -0.105277 +v -0.607392 1.628433 -0.072260 +v -0.584842 1.552044 -0.095606 +v -0.677353 1.590365 -0.048913 +v -0.622341 1.592345 -0.072260 +v -0.689911 1.625462 -0.037240 +v -0.717653 1.547262 -0.039243 +v -0.750361 1.560810 -0.022734 +v 0.541848 0.905970 -0.175597 +v 0.631795 0.861459 -0.128904 +v 0.575547 0.921909 -0.163924 +v 0.807472 0.915534 -0.062870 +v 0.714314 0.864429 -0.093884 +v 0.726871 0.829330 -0.082211 +v 0.811433 1.033482 -0.082211 +v 0.721487 1.077993 -0.128904 +v 0.777735 1.017543 -0.093884 +v 0.736435 1.114082 -0.128904 +v 0.638968 1.075022 -0.163924 +v 0.545810 1.023918 -0.194938 +v 0.578518 1.010370 -0.178429 +v 0.616847 0.825370 -0.128904 +v 0.774764 0.929082 -0.079378 +v 0.626410 1.110121 -0.175597 +v 0.744037 1.001604 -0.105557 +v 0.651526 1.039923 -0.152250 +v 0.609245 0.937848 -0.152250 +v 0.697084 1.088100 -0.072260 +v 0.719634 1.011712 -0.048913 +v 0.753332 1.027651 -0.037240 +v 0.627123 1.050032 -0.095606 +v 0.682135 1.052011 -0.072260 +v 0.554115 1.020477 -0.121785 +v 0.614565 1.085131 -0.107280 +v 0.551143 0.932016 -0.107280 +v 0.586822 1.006929 -0.105277 +v 0.607392 0.871567 -0.072260 +v 0.584842 0.947956 -0.095606 +v 0.677353 0.909636 -0.048913 +v 0.622341 0.907656 -0.072260 +v 0.689911 0.874539 -0.037240 +v 0.717653 0.952738 -0.039243 +v 0.750361 0.939190 -0.022734 +v -0.626411 1.110122 -0.175597 +v -0.721487 1.077994 -0.128904 +v -0.638968 1.075022 -0.163924 +v -0.807472 0.915534 -0.062870 +v -0.777736 1.017543 -0.093884 +v -0.811434 1.033483 -0.082211 +v -0.726871 0.829332 -0.082211 +v -0.631795 0.861459 -0.128904 +v -0.714314 0.864430 -0.093884 +v -0.616847 0.825370 -0.128904 +v -0.575547 0.921910 -0.163924 +v -0.545810 1.023918 -0.194938 +v -0.578518 1.010370 -0.178429 +v -0.736436 1.114082 -0.128904 +v -0.774764 0.929083 -0.079378 +v -0.541848 0.905971 -0.175597 +v -0.701756 0.899529 -0.105557 +v -0.609246 0.937849 -0.152250 +v -0.651526 1.039924 -0.152250 +v -0.607393 0.871567 -0.072260 +v -0.677353 0.909637 -0.048913 +v -0.689911 0.874538 -0.037240 +v -0.584842 0.947956 -0.095606 +v -0.622341 0.907657 -0.072260 +v -0.554116 1.020479 -0.121785 +v -0.551143 0.932017 -0.107280 +v -0.614565 1.085132 -0.107280 +v -0.586823 1.006931 -0.105277 +v -0.697084 1.088102 -0.072260 +v -0.627123 1.050032 -0.095606 +v -0.719635 1.011713 -0.048913 +v -0.682136 1.052012 -0.072260 +v -0.753332 1.027651 -0.037240 +v -0.717654 0.952739 -0.039243 +v -0.750361 0.939191 -0.022734 +v 0.626411 1.389878 -0.175597 +v 0.721487 1.422006 -0.128904 +v 0.638968 1.424978 -0.163924 +v 0.807472 1.584466 -0.062870 +v 0.777736 1.482457 -0.093884 +v 0.811434 1.466517 -0.082211 +v 0.726872 1.670668 -0.082211 +v 0.631796 1.638541 -0.128904 +v 0.714314 1.635570 -0.093884 +v 0.616847 1.674630 -0.128904 +v 0.575547 1.578090 -0.163924 +v 0.545810 1.476082 -0.194938 +v 0.578518 1.489630 -0.178429 +v 0.736436 1.385918 -0.128904 +v 0.774764 1.570918 -0.079378 +v 0.541848 1.594029 -0.175597 +v 0.701756 1.600471 -0.105557 +v 0.609246 1.562152 -0.152250 +v 0.651526 1.460077 -0.152250 +v 0.607393 1.628433 -0.072260 +v 0.677353 1.590363 -0.048913 +v 0.689911 1.625462 -0.037240 +v 0.584842 1.552044 -0.095606 +v 0.622342 1.592343 -0.072260 +v 0.554116 1.479522 -0.121785 +v 0.551144 1.567983 -0.107280 +v 0.614566 1.414869 -0.107280 +v 0.586823 1.493069 -0.105277 +v 0.697084 1.411898 -0.072260 +v 0.627123 1.449969 -0.095606 +v 0.719635 1.488287 -0.048913 +v 0.682136 1.447988 -0.072260 +v 0.753332 1.472350 -0.037240 +v 0.717654 1.547261 -0.039243 +v 0.750361 1.560810 -0.022734 +v -0.139878 1.876411 -0.175597 +v -0.172006 1.971487 -0.128904 +v -0.174978 1.888969 -0.163924 +v -0.334466 2.057472 -0.062870 +v -0.232457 2.027736 -0.093884 +v -0.216517 2.061434 -0.082211 +v -0.420668 1.976872 -0.082211 +v -0.388541 1.881796 -0.128904 +v -0.385570 1.964314 -0.093884 +v -0.424630 1.866847 -0.128904 +v -0.328090 1.825547 -0.163924 +v -0.226082 1.795810 -0.194938 +v -0.239630 1.828518 -0.178429 +v -0.135918 1.986436 -0.128904 +v -0.320918 2.024765 -0.079378 +v -0.344029 1.791849 -0.175597 +v -0.350471 1.951756 -0.105557 +v -0.312151 1.859246 -0.152250 +v -0.210077 1.901526 -0.152250 +v -0.378433 1.857393 -0.072260 +v -0.340363 1.927353 -0.048913 +v -0.375462 1.939911 -0.037240 +v -0.302044 1.834842 -0.095606 +v -0.342343 1.872342 -0.072260 +v -0.229521 1.804116 -0.121785 +v -0.317983 1.801144 -0.107280 +v -0.164869 1.864566 -0.107280 +v -0.243069 1.836823 -0.105277 +v -0.161898 1.947084 -0.072260 +v -0.199968 1.877123 -0.095606 +v -0.238287 1.969635 -0.048913 +v -0.197988 1.932136 -0.072260 +v -0.222349 2.003333 -0.037240 +v -0.297261 1.967654 -0.039243 +v -0.310809 2.000361 -0.022734 +v 0.139878 0.623589 -0.175597 +v 0.172006 0.528513 -0.128904 +v 0.174978 0.611032 -0.163924 +v 0.334466 0.442528 -0.062870 +v 0.232457 0.472264 -0.093884 +v 0.216517 0.438566 -0.082211 +v 0.420668 0.523129 -0.082211 +v 0.388541 0.618205 -0.128904 +v 0.385570 0.535686 -0.093884 +v 0.344029 0.708152 -0.175597 +v 0.424630 0.633153 -0.128904 +v 0.226082 0.704190 -0.194938 +v 0.239630 0.671482 -0.178429 +v 0.135918 0.513564 -0.128904 +v 0.320918 0.475236 -0.079378 +v 0.328090 0.674453 -0.163924 +v 0.350471 0.548244 -0.105557 +v 0.312151 0.640754 -0.152250 +v 0.210077 0.598474 -0.152250 +v 0.378433 0.642607 -0.072260 +v 0.340363 0.572647 -0.048913 +v 0.375462 0.560089 -0.037240 +v 0.302044 0.665158 -0.095606 +v 0.342343 0.627659 -0.072260 +v 0.229521 0.695884 -0.121785 +v 0.317983 0.698857 -0.107280 +v 0.164869 0.635435 -0.107280 +v 0.243069 0.663177 -0.105277 +v 0.161898 0.552916 -0.072260 +v 0.199969 0.622877 -0.095606 +v 0.238287 0.530365 -0.048913 +v 0.197988 0.567865 -0.072260 +v 0.222349 0.496668 -0.037240 +v 0.297261 0.532347 -0.039243 +v 0.310809 0.499639 -0.022734 +v 0.391169 2.232164 0.136894 +v 0.014465 2.197720 -0.081856 +v 0.349313 2.131115 -0.081856 +v 0.025414 2.252758 -0.109375 +v 0.025414 2.362132 0.109375 +v 0.014465 2.307096 0.136894 +v 0.402117 2.287201 0.109375 +v 0.360261 2.186152 -0.109375 +v -1.057095 1.264466 0.136894 +v -0.881115 1.599313 -0.081856 +v -0.982164 1.641169 0.136894 +v -1.002758 1.275414 -0.109375 +v -0.947720 1.264466 -0.081856 +v -1.112132 1.275414 0.109375 +v -1.037201 1.652117 0.109375 +v -0.936152 1.610261 -0.109375 +v 0.982164 0.858831 0.136894 +v 0.947720 1.235535 -0.081856 +v 0.881115 0.900687 -0.081856 +v 1.002758 1.224586 -0.109375 +v 1.112132 1.224586 0.109375 +v 1.057095 1.235535 0.136894 +v 1.037201 0.847883 0.109375 +v 0.936152 0.889739 -0.109375 +v -0.971093 0.832103 0.136894 +v -0.680368 0.590089 -0.081856 +v -0.870044 0.873959 -0.081856 +v -0.727027 0.558913 -0.109375 +v -0.804366 0.481574 0.109375 +v -0.757708 0.512749 0.136894 +v -1.017751 0.800928 0.109375 +v -0.916702 0.842784 -0.109375 +v 0.971093 1.667897 0.136894 +v 0.680368 1.909911 -0.081856 +v 0.870044 1.626041 -0.081856 +v 0.727027 1.941087 -0.109375 +v 0.804366 2.018426 0.109375 +v 0.757708 1.987251 0.136894 +v 1.017752 1.699073 0.109375 +v 0.916703 1.657217 -0.109375 +v -0.737251 2.007708 0.136894 +v -0.376041 2.120044 -0.081856 +v -0.417897 2.221093 0.136894 +v -0.691087 1.977027 -0.109375 +v -0.659911 1.930368 -0.081856 +v -0.768426 2.054366 0.109375 +v -0.449072 2.267752 0.109375 +v -0.407216 2.166703 -0.109375 +v 0.417897 0.278907 0.136894 +v 0.659911 0.569632 -0.081856 +v 0.376041 0.379956 -0.081856 +v 0.691087 0.522973 -0.109375 +v 0.768426 0.445634 0.109375 +v 0.737251 0.492292 0.136894 +v 0.449072 0.232249 0.109375 +v 0.407216 0.333298 -0.109375 +v -0.417897 0.278907 0.136894 +v -0.659911 0.569632 -0.081856 +v -0.737251 0.492293 0.136894 +v -0.407218 0.333298 -0.109375 +v -0.376041 0.379957 -0.081856 +v -0.449074 0.232249 0.109375 +v -0.768427 0.445635 0.109375 +v -0.691088 0.522974 -0.109375 +v 0.737251 2.007708 0.136894 +v 0.376041 2.120044 -0.081856 +v 0.659911 1.930368 -0.081856 +v 0.407218 2.166703 -0.109375 +v 0.449074 2.267751 0.109375 +v 0.417897 2.221093 0.136894 +v 0.768427 2.054366 0.109375 +v 0.691088 1.977026 -0.109375 +v -0.757708 1.987251 0.136894 +v -0.870044 1.626041 -0.081856 +v -0.680368 1.909911 -0.081856 +v -0.916702 1.657218 -0.109375 +v -1.017751 1.699074 0.109375 +v -0.971093 1.667897 0.136894 +v -0.804365 2.018427 0.109375 +v -0.727026 1.941088 -0.109375 +v 0.757708 0.512749 0.136894 +v 0.870044 0.873959 -0.081856 +v 0.680368 0.590089 -0.081856 +v 0.916702 0.842782 -0.109375 +v 1.017751 0.800926 0.109375 +v 0.971093 0.832103 0.136894 +v 0.804366 0.481573 0.109375 +v 0.727026 0.558912 -0.109375 +v -1.057095 1.235535 0.136894 +v -0.881115 0.900688 -0.081856 +v -0.947720 1.235535 -0.081856 +v -0.936153 0.889740 -0.109375 +v -1.037201 0.847885 0.109375 +v -0.982164 0.858832 0.136894 +v -1.112132 1.224588 0.109375 +v -1.002758 1.224588 -0.109375 +v 1.057095 1.264465 0.136894 +v 0.881115 1.599313 -0.081856 +v 0.947720 1.264465 -0.081856 +v 0.936153 1.610260 -0.109375 +v 1.037202 1.652116 0.109375 +v 0.982164 1.641169 0.136894 +v 1.112132 1.275412 0.109375 +v 1.002758 1.275412 -0.109375 +v -0.391168 2.232164 0.136894 +v -0.014465 2.197721 -0.081856 +v -0.014465 2.307096 0.136894 +v -0.360260 2.186153 -0.109375 +v -0.349312 2.131115 -0.081856 +v -0.402115 2.287201 0.109375 +v -0.025412 2.362133 0.109375 +v -0.025412 2.252758 -0.109375 +v 0.014465 0.192905 0.136894 +v 0.349312 0.368885 -0.081856 +v 0.014465 0.302280 -0.081856 +v 0.360260 0.313847 -0.109375 +v 0.402115 0.212799 0.109375 +v 0.391169 0.267836 0.136894 +v 0.025412 0.137868 0.109375 +v 0.025412 0.247242 -0.109375 +v 1.125000 1.875000 -0.625000 +v 0.625000 2.375000 -0.875000 +v 0.625000 2.375000 -0.625000 +v -0.375000 2.500000 -0.875000 +v 0.375000 2.500000 -0.625000 +v 0.375000 2.500000 -0.875000 +v -0.625000 2.375000 -0.625000 +v -1.125000 1.875000 -0.875000 +v -1.125000 1.875000 -0.625000 +v -0.208096 0.543462 -0.128904 +v -0.253178 0.638775 -0.161921 +v -0.352451 0.603256 -0.128904 +v -0.350471 0.548244 -0.105557 +v -0.307370 0.507944 -0.095887 +v -0.047836 1.365485 -0.500000 +v -0.115485 1.297835 -0.500000 +v -0.115485 1.202165 -0.500000 +v -0.047836 1.134515 -0.500000 +v 0.047834 1.134515 -0.500000 +v 0.173227 1.178247 -0.375000 +v 0.750000 1.544192 -3.511185 +v -0.750000 1.544192 -3.511185 +v -0.750000 1.639863 -3.280215 +v 0.500000 0.500000 -2.750000 +v -0.500000 0.500000 -1.750000 +v 0.208096 1.956538 -0.128904 +v 0.253178 1.861225 -0.161921 +v 0.352451 1.896744 -0.128904 +v 0.350472 1.951756 -0.105557 +v 0.307370 1.992056 -0.095887 +v -0.706538 1.458096 -0.128904 +v -0.611225 1.503178 -0.161921 +v -0.646744 1.602452 -0.128904 +v -0.701756 1.600472 -0.105557 +v -0.742056 1.557370 -0.095887 +v 0.706538 1.041904 -0.128904 +v 0.611225 0.996822 -0.161921 +v 0.646744 0.897549 -0.128904 +v 0.701756 0.899529 -0.105557 +v 0.742056 0.942630 -0.095887 +v -0.646744 0.897548 -0.128904 +v -0.611225 0.996822 -0.161921 +v -0.706538 1.041904 -0.128904 +v -0.744037 1.001604 -0.105557 +v -0.742056 0.942631 -0.095887 +v 0.646744 1.602452 -0.128904 +v 0.611225 1.503178 -0.161921 +v 0.706538 1.458097 -0.128904 +v 0.744037 1.498396 -0.105557 +v 0.742057 1.557369 -0.095887 +v -0.352452 1.896744 -0.128904 +v -0.253178 1.861225 -0.161921 +v -0.208096 1.956538 -0.128904 +v -0.248396 1.994038 -0.105557 +v -0.307369 1.992057 -0.095887 +v 0.352452 0.603256 -0.128904 +v 0.253178 0.638775 -0.161921 +v 0.208096 0.543462 -0.128904 +v 0.248396 0.505963 -0.105557 +v 0.307369 0.507944 -0.095887 +v 1.125000 1.875000 -0.875000 +v -0.375000 2.500000 -0.625000 +v -0.625000 2.375000 -0.875000 +v 0.110485 0.764515 -0.750000 +v 0.156250 0.737706 -0.418544 +v 0.110485 0.659581 -0.496669 +v 0.000000 1.031250 -0.750000 +v 0.110485 0.815831 -0.340419 +v 0.110485 0.985485 -0.750000 +v -0.156250 0.875000 -0.750000 +v -0.110486 0.815831 -0.340419 +v -0.110486 0.985485 -0.750000 +v -0.110486 0.764515 -0.750000 +v -0.156250 0.737706 -0.418544 +v 0.000000 0.718750 -0.750000 +v 0.000000 0.627221 -0.529029 +v 0.156250 0.875000 -0.750000 +v 0.000000 0.848192 -0.308058 +v -0.110486 0.659581 -0.496669 +v -0.156250 0.585633 -0.316931 +v -0.110486 0.627914 -0.214856 +v 0.110485 0.627914 -0.214856 +v 0.110485 0.543352 -0.419007 +v -0.110486 0.543352 -0.419007 +v 0.000000 0.645427 -0.172575 +v 0.156250 0.585633 -0.316931 +v 0.000000 0.525838 -0.461288 +v 0.110485 0.406250 -0.391735 +v 0.000000 0.406250 -0.437500 +v -0.110486 0.406250 -0.391735 +v -0.156250 0.406250 -0.281250 +v -0.110486 0.406250 -0.170765 +v 0.110485 0.406250 -0.170765 +v 0.000000 0.406250 -0.125000 +v 0.156250 0.406250 -0.281250 +v 0.000000 0.167073 -0.172575 +v 0.110485 0.184586 -0.214856 +v 0.156250 0.226867 -0.316932 +v 0.110485 0.269148 -0.419007 +v 0.000000 0.286661 -0.461288 +v -0.156250 0.226867 -0.316932 +v -0.110486 0.184586 -0.214856 +v -0.110486 0.269148 -0.419007 +v -0.200528 0.477172 -0.515462 +v -0.196566 0.367147 -0.468769 +v -0.404678 0.561734 -0.515462 +v -0.286731 0.557772 -0.534803 +v -0.485279 0.486735 -0.468769 +v -0.277166 0.292148 -0.422076 +v -0.395115 0.296110 -0.402735 +v -0.481318 0.376710 -0.422076 +v 0.095671 1.480970 -0.750000 +v 0.230970 1.345671 -0.750000 +v 0.230970 1.154329 -0.750000 +v 0.095671 1.019030 -0.750000 +v -0.095671 1.019030 -0.750000 +v -0.230970 1.154329 -0.750000 +v -0.230970 1.345671 -0.750000 +v -0.095671 1.480970 -0.750000 +v 0.875000 2.125000 -1.125000 +v 0.867418 1.992418 -0.974112 +v 0.911612 2.036612 -1.125000 +v 0.698223 2.125000 -1.125000 +v 0.742418 2.117417 -0.974112 +v 0.786612 2.161612 -1.125000 +v -0.742418 2.117417 -0.974112 +v -0.698223 2.125000 -1.125000 +v -0.786612 2.161612 -1.125000 +v -0.867418 1.992418 -0.974112 +v -0.875000 2.125000 -1.125000 +v -0.911612 2.036612 -1.125000 +v -0.875000 1.948223 -1.125000 +v -0.823223 2.073223 -0.948223 +v -0.635723 2.010723 -0.911612 +v -0.849112 1.922335 -1.036612 +v -0.760723 1.885723 -0.911612 +v -0.609835 2.036612 -1.000000 +v -0.672335 2.099112 -1.036612 +v -0.565641 2.294194 -0.974112 +v -0.521447 2.301777 -1.125000 +v -0.609835 2.338388 -1.125000 +v -0.690641 2.169194 -0.974112 +v -0.698223 2.301777 -1.125000 +v -0.734835 2.213388 -1.125000 +v -0.672335 2.099112 -1.036612 +v -0.698223 2.125000 -1.125000 +v -0.646447 2.250000 -0.948223 +v -0.458947 2.187500 -0.911612 +v -0.583947 2.062500 -0.911612 +v -0.495558 2.275888 -1.036612 +v -0.919194 1.940641 -0.974112 +v -0.875000 1.948223 -1.125000 +v -0.963388 1.984835 -1.125000 +v -1.044194 1.815641 -0.974112 +v -1.051777 1.948223 -1.125000 +v -1.088388 1.859835 -1.125000 +v -1.025888 1.745558 -1.036612 +v -1.051777 1.771446 -1.125000 +v -1.000000 1.896446 -0.948223 +v -0.812500 1.833946 -0.911612 +v -0.963388 1.683058 -1.000000 +v -0.786612 1.859835 -1.000000 +v -0.849112 1.922335 -1.036612 +v -0.937500 1.708946 -0.911612 +v -0.786612 2.161612 -1.812500 +v -0.609835 2.338388 -1.875000 +v -0.875000 2.125000 -1.812500 +v -0.911612 2.036612 -1.812500 +v -0.963388 1.984835 -1.750000 +v -0.698223 2.301777 -1.875000 +v -0.875000 1.948223 -1.812500 +v -0.734835 2.213388 -1.875000 +v -1.051777 1.948223 -1.750000 +v -1.088388 1.859835 -1.750000 +v -0.698223 2.125000 -1.875000 +v -1.051777 1.771446 -1.750000 +v 0.823223 2.073223 -0.948223 +v 0.875000 1.948223 -1.125000 +v 0.849112 1.922335 -1.036612 +v 0.635723 2.010723 -0.911612 +v 0.698223 1.948223 -0.875000 +v 0.760723 1.885723 -0.911612 +v 0.786612 1.859835 -1.000000 +v 0.609835 2.036612 -1.000000 +v 0.521447 2.301777 -1.125000 +v 0.565641 2.294194 -0.974112 +v 0.609835 2.338388 -1.125000 +v 0.698223 2.301777 -1.125000 +v 0.690641 2.169194 -0.974112 +v 0.734835 2.213388 -1.125000 +v 0.646447 2.250000 -0.948223 +v 0.672335 2.099112 -1.036612 +v 0.698223 2.125000 -1.125000 +v 0.458947 2.187500 -0.911612 +v 0.521447 2.125000 -0.875000 +v 0.583947 2.062500 -0.911612 +v 0.609835 2.036612 -1.000000 +v 0.495558 2.275888 -1.036612 +v 0.875000 1.948223 -1.125000 +v 0.919194 1.940641 -0.974112 +v 0.963388 1.984835 -1.125000 +v 1.051777 1.948223 -1.125000 +v 1.044194 1.815641 -0.974112 +v 1.088388 1.859835 -1.125000 +v 1.000000 1.896446 -0.948223 +v 1.025888 1.745558 -1.036612 +v 1.051777 1.771446 -1.125000 +v 0.812500 1.833946 -0.911612 +v 0.875000 1.771446 -0.875000 +v 0.963388 1.683058 -1.000000 +v 0.786612 1.859835 -1.000000 +v 0.937500 1.708946 -0.911612 +v 0.786612 2.161612 -1.812500 +v 0.609835 2.338388 -1.875000 +v 0.875000 2.125000 -1.812500 +v 0.911612 2.036612 -1.812500 +v 0.963388 1.984835 -1.750000 +v 0.698223 2.301777 -1.875000 +v 0.875000 1.948223 -1.812500 +v 0.734835 2.213388 -1.875000 +v 1.051777 1.948223 -1.750000 +v 1.088388 1.859835 -1.750000 +v 0.698223 2.125000 -1.875000 +v 1.051777 1.771446 -1.750000 +v -0.110485 1.735485 -0.750000 +v -0.156250 1.762294 -0.418544 +v -0.110485 1.840419 -0.496669 +v 0.000000 1.468750 -0.750000 +v -0.110485 1.684169 -0.340419 +v -0.110485 1.514515 -0.750000 +v 0.156250 1.625000 -0.750000 +v 0.110486 1.684169 -0.340419 +v 0.110486 1.514515 -0.750000 +v 0.110486 1.735485 -0.750000 +v 0.156250 1.762294 -0.418544 +v 0.000000 1.781250 -0.750000 +v 0.000000 1.872779 -0.529029 +v -0.156250 1.625000 -0.750000 +v 0.000000 1.651808 -0.308058 +v 0.110486 1.840419 -0.496669 +v 0.156250 1.914367 -0.316931 +v 0.110486 1.872086 -0.214856 +v -0.110485 1.872086 -0.214856 +v -0.110485 1.956648 -0.419007 +v 0.110486 1.956648 -0.419007 +v 0.000000 1.854573 -0.172575 +v -0.156250 1.914367 -0.316931 +v 0.000000 1.974162 -0.461288 +v -0.110485 2.093750 -0.391735 +v 0.000000 2.093750 -0.437500 +v 0.110486 2.093750 -0.391735 +v 0.156250 2.093750 -0.281250 +v 0.110486 2.093750 -0.170765 +v -0.110485 2.093750 -0.170765 +v 0.000000 2.093750 -0.125000 +v -0.156250 2.093750 -0.281250 +v 0.000000 2.332927 -0.172575 +v -0.110485 2.315414 -0.214856 +v -0.156250 2.273133 -0.316932 +v -0.110485 2.230852 -0.419007 +v 0.000000 2.213339 -0.461288 +v 0.156250 2.273133 -0.316932 +v 0.110486 2.315414 -0.214856 +v 0.110486 2.230852 -0.419007 +v 0.200528 2.022828 -0.515462 +v 0.196566 2.132853 -0.468769 +v 0.404678 1.938266 -0.515462 +v 0.286731 1.942228 -0.534803 +v 0.485279 2.013265 -0.468769 +v 0.277166 2.207852 -0.422076 +v 0.395115 2.203890 -0.402735 +v 0.481318 2.123290 -0.422076 +v -0.485485 1.139515 -0.750000 +v -0.512294 1.093750 -0.418544 +v -0.590419 1.139515 -0.496669 +v -0.218750 1.250000 -0.750000 +v -0.434169 1.139515 -0.340419 +v -0.264515 1.139515 -0.750000 +v -0.375000 1.406250 -0.750000 +v -0.434169 1.360486 -0.340419 +v -0.264515 1.360486 -0.750000 +v -0.485485 1.360486 -0.750000 +v -0.512294 1.406250 -0.418544 +v -0.531250 1.250000 -0.750000 +v -0.622779 1.250000 -0.529029 +v -0.375000 1.093750 -0.750000 +v -0.401808 1.250000 -0.308058 +v -0.590419 1.360486 -0.496669 +v -0.664367 1.406250 -0.316931 +v -0.622086 1.360486 -0.214856 +v -0.622086 1.139515 -0.214856 +v -0.706648 1.139515 -0.419007 +v -0.706648 1.360486 -0.419007 +v -0.604573 1.250000 -0.172575 +v -0.664367 1.093750 -0.316931 +v -0.724162 1.250000 -0.461288 +v -0.843750 1.139515 -0.391735 +v -0.843750 1.250000 -0.437500 +v -0.843750 1.360486 -0.391735 +v -0.843750 1.406250 -0.281250 +v -0.843750 1.360486 -0.170765 +v -0.843750 1.139515 -0.170765 +v -0.843750 1.250000 -0.125000 +v -0.843750 1.093750 -0.281250 +v -1.082927 1.250000 -0.172575 +v -1.065414 1.139515 -0.214856 +v -1.023133 1.093750 -0.316932 +v -0.980852 1.139515 -0.419007 +v -0.963339 1.250000 -0.461288 +v -1.023133 1.406250 -0.316932 +v -1.065414 1.360486 -0.214856 +v -0.980852 1.360486 -0.419007 +v -0.772828 1.450528 -0.515462 +v -0.882853 1.446566 -0.468769 +v -0.688266 1.654678 -0.515462 +v -0.692228 1.536731 -0.534803 +v -0.763265 1.735279 -0.468769 +v -0.957852 1.527166 -0.422076 +v -0.953890 1.645115 -0.402735 +v -0.873290 1.731318 -0.422076 +v 0.485485 1.360485 -0.750000 +v 0.512294 1.406250 -0.418544 +v 0.590419 1.360485 -0.496669 +v 0.218750 1.250000 -0.750000 +v 0.434169 1.360485 -0.340419 +v 0.264515 1.360485 -0.750000 +v 0.375000 1.093750 -0.750000 +v 0.434169 1.139514 -0.340419 +v 0.264515 1.139514 -0.750000 +v 0.485485 1.139514 -0.750000 +v 0.512294 1.093750 -0.418544 +v 0.531250 1.250000 -0.750000 +v 0.622779 1.250000 -0.529029 +v 0.375000 1.406250 -0.750000 +v 0.401808 1.250000 -0.308058 +v 0.590419 1.139514 -0.496669 +v 0.664367 1.093750 -0.316931 +v 0.622086 1.139514 -0.214856 +v 0.622086 1.360485 -0.214856 +v 0.706648 1.360485 -0.419007 +v 0.706648 1.139514 -0.419007 +v 0.604573 1.250000 -0.172575 +v 0.664367 1.406250 -0.316931 +v 0.724162 1.250000 -0.461288 +v 0.843750 1.360485 -0.391735 +v 0.843750 1.250000 -0.437500 +v 0.843750 1.139514 -0.391735 +v 0.843750 1.093750 -0.281250 +v 0.843750 1.139514 -0.170765 +v 0.843750 1.360485 -0.170765 +v 0.843750 1.250000 -0.125000 +v 0.843750 1.406250 -0.281250 +v 1.082927 1.250000 -0.172575 +v 1.065414 1.360485 -0.214856 +v 1.023133 1.406250 -0.316932 +v 0.980852 1.360485 -0.419007 +v 0.963339 1.250000 -0.461288 +v 1.023133 1.093750 -0.316932 +v 1.065414 1.139514 -0.214856 +v 0.980852 1.139514 -0.419007 +v 0.772828 1.049472 -0.515462 +v 0.882853 1.053434 -0.468769 +v 0.688266 0.845322 -0.515462 +v 0.692228 0.963269 -0.534803 +v 0.763265 0.764721 -0.468769 +v 0.953890 0.854885 -0.402735 +v 0.873290 0.768682 -0.422076 +v 0.957852 0.972834 -0.422076 +v -0.265165 0.828586 -0.750000 +v -0.251761 0.777268 -0.418544 +v -0.339365 0.754386 -0.496669 +v -0.154680 1.095320 -0.750000 +v -0.228879 0.864871 -0.340419 +v -0.108916 0.984835 -0.750000 +v -0.375651 1.095320 -0.750000 +v -0.385129 1.021122 -0.340419 +v -0.265166 1.141085 -0.750000 +v -0.421415 0.984836 -0.750000 +v -0.472732 0.998239 -0.418544 +v -0.375651 0.874350 -0.750000 +v -0.440371 0.809629 -0.529029 +v -0.154680 0.874350 -0.750000 +v -0.284121 0.965879 -0.308058 +v -0.495615 0.910636 -0.496669 +v -0.580264 0.890707 -0.316931 +v -0.518007 0.888244 -0.214856 +v -0.361757 0.731994 -0.214856 +v -0.421551 0.672200 -0.419007 +v -0.577801 0.828450 -0.419007 +v -0.427498 0.822502 -0.172575 +v -0.359293 0.669736 -0.316931 +v -0.512060 0.737940 -0.461288 +v -0.518497 0.575254 -0.391735 +v -0.596621 0.653379 -0.437500 +v -0.674747 0.731504 -0.391735 +v -0.707107 0.763864 -0.281250 +v -0.674747 0.731504 -0.170765 +v -0.518497 0.575254 -0.170765 +v -0.596621 0.653379 -0.125000 +v -0.486136 0.542893 -0.281250 +v -0.765745 0.484255 -0.172575 +v -0.675237 0.418514 -0.214856 +v -0.612979 0.416050 -0.316932 +v -0.615442 0.478308 -0.419007 +v -0.681184 0.568817 -0.461288 +v -0.833950 0.637021 -0.316932 +v -0.831487 0.574764 -0.214856 +v -0.771693 0.634558 -0.419007 +v -0.688267 0.845323 -0.515462 +v -0.763264 0.764722 -0.468769 +v -0.772828 1.049473 -0.515462 +v -0.692228 0.963270 -0.534803 +v -0.882854 1.053434 -0.468769 +v -0.873290 0.768683 -0.422076 +v -0.953891 0.854886 -0.402735 +v -0.957852 0.972834 -0.422076 +v 0.265165 1.671415 -0.750000 +v 0.251761 1.722732 -0.418544 +v 0.339365 1.745614 -0.496669 +v 0.154680 1.404680 -0.750000 +v 0.228879 1.635129 -0.340419 +v 0.108916 1.515165 -0.750000 +v 0.375651 1.404680 -0.750000 +v 0.385129 1.478879 -0.340419 +v 0.265166 1.358915 -0.750000 +v 0.421415 1.515165 -0.750000 +v 0.472732 1.501761 -0.418544 +v 0.375651 1.625651 -0.750000 +v 0.440371 1.690371 -0.529029 +v 0.154680 1.625651 -0.750000 +v 0.284121 1.534121 -0.308058 +v 0.495615 1.589364 -0.496669 +v 0.580264 1.609293 -0.316931 +v 0.518007 1.611756 -0.214856 +v 0.361757 1.768006 -0.214856 +v 0.421551 1.827801 -0.419007 +v 0.577801 1.671550 -0.419007 +v 0.427498 1.677498 -0.172575 +v 0.359293 1.830264 -0.316931 +v 0.512060 1.762060 -0.461288 +v 0.596621 1.846622 -0.437500 +v 0.674747 1.768496 -0.391735 +v 0.707107 1.736136 -0.281250 +v 0.674747 1.768496 -0.170765 +v 0.518497 1.924746 -0.170765 +v 0.518497 1.924746 -0.391735 +v 0.596621 1.846622 -0.125000 +v 0.486136 1.957107 -0.281250 +v 0.765745 2.015745 -0.172575 +v 0.675237 2.081486 -0.214856 +v 0.612979 2.083950 -0.316932 +v 0.615442 2.021692 -0.419007 +v 0.681184 1.931184 -0.461288 +v 0.833950 1.862979 -0.316932 +v 0.831487 1.925236 -0.214856 +v 0.771693 1.865442 -0.419007 +v 0.688267 1.654677 -0.515462 +v 0.763264 1.735279 -0.468769 +v 0.772828 1.450527 -0.515462 +v 0.692229 1.536730 -0.534803 +v 0.882854 1.446566 -0.468769 +v 0.873290 1.731318 -0.422076 +v 0.953891 1.645114 -0.402735 +v 0.957852 1.527166 -0.422076 +v -0.421415 1.515165 -0.750000 +v -0.472732 1.501761 -0.418544 +v -0.495614 1.589365 -0.496669 +v -0.154680 1.404680 -0.750000 +v -0.385129 1.478879 -0.340419 +v -0.265165 1.358916 -0.750000 +v -0.154680 1.625651 -0.750000 +v -0.228879 1.635129 -0.340419 +v -0.108915 1.515166 -0.750000 +v -0.265164 1.671415 -0.750000 +v -0.251761 1.722732 -0.418544 +v -0.375651 1.625651 -0.750000 +v -0.440371 1.690372 -0.529029 +v -0.375651 1.404680 -0.750000 +v -0.284121 1.534121 -0.308058 +v -0.339364 1.745615 -0.496669 +v -0.359293 1.830264 -0.316931 +v -0.361756 1.768007 -0.214856 +v -0.518006 1.611757 -0.214856 +v -0.577800 1.671551 -0.419007 +v -0.421550 1.827801 -0.419007 +v -0.427498 1.677498 -0.172575 +v -0.580264 1.609293 -0.316931 +v -0.512060 1.762060 -0.461288 +v -0.674746 1.768497 -0.391735 +v -0.596621 1.846622 -0.437500 +v -0.518496 1.924747 -0.391735 +v -0.486136 1.957107 -0.281250 +v -0.518496 1.924747 -0.170765 +v -0.674746 1.768497 -0.170765 +v -0.596621 1.846622 -0.125000 +v -0.707107 1.736136 -0.281250 +v -0.765745 2.015745 -0.172575 +v -0.831486 1.925237 -0.214856 +v -0.833950 1.862979 -0.316932 +v -0.771692 1.865443 -0.419007 +v -0.681184 1.931184 -0.461288 +v -0.612979 2.083950 -0.316932 +v -0.675236 2.081487 -0.214856 +v -0.615442 2.021693 -0.419007 +v -0.404677 1.938267 -0.515462 +v -0.485278 2.013265 -0.468769 +v -0.200527 2.022829 -0.515462 +v -0.286730 1.942229 -0.534803 +v -0.196566 2.132854 -0.468769 +v -0.481318 2.123290 -0.422076 +v -0.395114 2.203891 -0.402735 +v -0.277167 2.207852 -0.422076 +v 0.421415 0.984835 -0.750000 +v 0.472732 0.998239 -0.418544 +v 0.495614 0.910635 -0.496669 +v 0.154680 1.095320 -0.750000 +v 0.385129 1.021121 -0.340419 +v 0.265165 1.141084 -0.750000 +v 0.154680 0.874350 -0.750000 +v 0.228879 0.864871 -0.340419 +v 0.108915 0.984834 -0.750000 +v 0.265164 0.828585 -0.750000 +v 0.251761 0.777268 -0.418544 +v 0.375650 0.874350 -0.750000 +v 0.440371 0.809629 -0.529029 +v 0.375651 1.095320 -0.750000 +v 0.284121 0.965879 -0.308058 +v 0.339364 0.754385 -0.496669 +v 0.359293 0.669736 -0.316931 +v 0.361756 0.731993 -0.214856 +v 0.518006 0.888243 -0.214856 +v 0.577800 0.828449 -0.419007 +v 0.421550 0.672199 -0.419007 +v 0.427498 0.822502 -0.172575 +v 0.580264 0.890707 -0.316931 +v 0.512060 0.737940 -0.461288 +v 0.674746 0.731503 -0.391735 +v 0.596621 0.653379 -0.437500 +v 0.518496 0.575253 -0.391735 +v 0.486136 0.542893 -0.281250 +v 0.518496 0.575253 -0.170765 +v 0.674746 0.731503 -0.170765 +v 0.596621 0.653379 -0.125000 +v 0.707107 0.763864 -0.281250 +v 0.765745 0.484255 -0.172575 +v 0.831486 0.574763 -0.214856 +v 0.833950 0.637021 -0.316932 +v 0.771692 0.634558 -0.419007 +v 0.681184 0.568816 -0.461288 +v 0.612979 0.416050 -0.316932 +v 0.675236 0.418513 -0.214856 +v 0.615442 0.478308 -0.419007 +v 0.404677 0.561733 -0.515462 +v 0.485278 0.486736 -0.468769 +v 0.200527 0.477172 -0.515462 +v 0.286730 0.557772 -0.534803 +v 0.196566 0.367146 -0.468769 +v 0.395114 0.296109 -0.402735 +v 0.277166 0.292148 -0.422076 +v 0.481317 0.376710 -0.422076 +v 0.000000 2.500000 -1.875000 +v 0.088388 2.463388 -1.125000 +v 0.088388 2.463388 -1.875000 +v -0.125000 2.375000 -1.875000 +v -0.088388 2.463388 -1.125000 +v -0.088388 2.463388 -1.875000 +v 0.125000 2.375000 -1.125000 +v 0.125000 2.375000 -1.875000 +v 0.000000 2.500000 -1.125000 +v -0.125000 2.338388 -1.036612 +v -0.088388 2.400888 -0.974111 +v 0.125000 2.338388 -1.036612 +v 0.000000 2.426777 -0.948223 +v 0.088388 2.400888 -0.974111 +v 0.088388 2.250000 -0.911611 +v -0.125000 2.250000 -1.000000 +v -0.088388 2.250000 -0.911611 +v 0.125000 2.250000 -1.000000 +v 0.000000 2.250000 -0.875000 +v 0.250000 2.500000 -1.875000 +v 0.338388 2.463388 -1.125000 +v 0.338388 2.463388 -1.875000 +v 0.125000 2.375000 -1.875000 +v 0.161612 2.463388 -1.125000 +v 0.161612 2.463388 -1.875000 +v 0.375000 2.375000 -1.125000 +v 0.375000 2.375000 -1.875000 +v 0.250000 2.500000 -1.125000 +v 0.125000 2.338388 -1.036612 +v 0.161612 2.400888 -0.974111 +v 0.375000 2.338388 -1.036612 +v 0.250000 2.426777 -0.948223 +v 0.338388 2.400888 -0.974111 +v 0.338388 2.250000 -0.911611 +v 0.125000 2.250000 -1.000000 +v 0.161612 2.250000 -0.911611 +v 0.375000 2.250000 -1.000000 +v 0.250000 2.250000 -0.875000 +v -0.250000 2.500000 -1.875000 +v -0.161612 2.463388 -1.125000 +v -0.161612 2.463388 -1.875000 +v -0.375000 2.375000 -1.875000 +v -0.338388 2.463388 -1.125000 +v -0.338388 2.463388 -1.875000 +v -0.125000 2.375000 -1.125000 +v -0.125000 2.375000 -1.875000 +v -0.250000 2.500000 -1.125000 +v -0.375000 2.338388 -1.036612 +v -0.338388 2.400888 -0.974111 +v -0.125000 2.338388 -1.036612 +v -0.250000 2.426777 -0.948223 +v -0.161612 2.400888 -0.974111 +v -0.161612 2.250000 -0.911611 +v -0.375000 2.250000 -1.000000 +v -0.338388 2.250000 -0.911611 +v -0.125000 2.250000 -1.000000 +v -0.250000 2.250000 -0.875000 +v 0.672335 2.099112 -1.036612 +v -0.698223 1.948223 -0.875000 +v -0.786612 1.859835 -1.000000 +v -0.521447 2.125000 -0.875000 +v -0.609835 2.036612 -1.000000 +v -0.433058 2.213388 -1.000000 +v -0.875000 1.771446 -0.875000 +v -0.698223 2.125000 -1.812500 +v -0.521447 2.301777 -1.875000 +v -0.875000 1.948223 -1.750000 +v 0.433058 2.213388 -1.000000 +v 0.849112 1.922335 -1.036612 +v 0.698223 2.125000 -1.812500 +v 0.521447 2.301777 -1.875000 +v 0.875000 1.948223 -1.750000 +v -0.125000 2.375000 -1.125000 +v 0.125000 2.375000 -1.125000 +v -0.375000 2.375000 -1.125000 +v -1.250000 1.376000 -2.625000 +v -1.250000 0.751000 -2.625000 +v -1.250000 0.750000 -0.625000 +v 1.000000 0.500000 -2.125000 +v 1.250000 0.750000 -3.750000 +v 1.250000 0.750000 -0.625000 +v 1.250000 1.625000 -3.750000 +v 1.250000 1.750000 -3.375000 +v -0.500000 0.000000 -1.625000 +v 0.500000 0.000000 -0.625000 +v -0.500000 0.000000 -0.625000 +v -1.000000 0.500000 -2.125000 +v 0.500000 0.000000 -1.625000 +v 1.000000 1.750000 -3.000000 +v 1.000000 1.750000 -3.375000 +v -1.250000 0.750000 -3.750000 +v -1.250000 1.376000 -3.625000 +v -1.250000 1.625000 -3.750000 +v -1.250000 1.750000 -3.000000 +v -1.000000 0.501000 -3.625000 +v -1.250000 0.751000 -3.625000 +v 1.000000 1.625000 -3.750000 +v 1.000000 0.500000 -3.750000 +v 1.000000 0.750000 -3.750000 +v -1.000000 0.750000 -3.750000 +v -1.000000 0.500000 -3.750000 +v -1.000000 1.625000 -3.750000 +v -1.250000 1.750000 -3.375000 +v -1.000000 1.750000 -3.375000 +v -1.000000 1.750000 -3.000000 +v 0.500000 2.500000 -2.625000 +v -0.500000 2.250000 -2.750000 +v -0.500000 2.500000 -2.625000 +v 1.250000 1.750000 -3.000000 +v 0.500000 2.250000 -2.750000 +v 0.948223 1.698223 -0.875000 +v 0.536612 2.286612 -0.875000 +v 1.036612 1.786612 -0.875000 +v -1.036612 1.786612 -0.875000 +v -0.536612 2.286612 -0.625000 +v -0.536612 2.286612 -0.875000 +v 1.250000 1.750000 -0.625000 +v 1.039364 1.680519 -0.625000 +v 1.125000 1.250000 -0.625000 +v 1.039364 0.819481 -0.625000 +v 0.795495 0.454505 -0.625000 +v 0.430519 0.210635 -0.625000 +v 0.000000 0.125000 -0.625000 +v -0.430519 0.210636 -0.625000 +v -0.795495 0.454505 -0.625000 +v -1.039364 0.819481 -0.625000 +v -1.125000 1.250000 -0.625000 +v -0.375000 2.375000 -0.875000 +v 0.375000 2.375000 -0.625000 +v 0.375000 2.375000 -0.875000 +v -1.000000 1.750000 -2.875000 +v 1.000000 1.750000 -2.875000 +v 0.500000 2.250000 -2.625000 +v -0.500000 2.250000 -2.625000 +v 0.500000 1.819230 -2.900848 +v 0.500000 2.268567 -2.829241 +v 0.500000 2.215740 -2.715952 +v -0.500000 2.268567 -2.829241 +v -0.500000 1.819230 -2.900848 +v -0.500000 2.215740 -2.715952 +v 0.312500 2.438500 -2.750000 +v -0.500000 1.872057 -3.014137 +v -0.312500 2.438500 -2.750000 +v 0.312500 2.385673 -2.636712 +v -0.312500 2.385673 -2.636712 +v 1.000000 0.500000 -2.625000 +v 0.500000 1.562500 -4.875000 +v -0.500000 0.312500 -4.875000 +v -0.500000 1.562500 -4.875000 +v -0.500000 0.312500 -4.125000 +v 0.500000 0.312500 -4.875000 +v 0.500000 0.312500 -4.125000 +v 0.500000 1.562500 -4.125000 +v -0.500000 1.562500 -4.125000 +v 0.187500 1.625000 -4.125000 +v -0.187500 1.625000 -5.000000 +v -0.187500 1.625000 -4.125000 +v -0.187500 2.022748 -5.044194 +v -0.187500 2.022748 -5.574524 +v -0.187500 1.845971 -5.574524 +v 0.187500 1.625000 -5.000000 +v -0.187500 1.250000 -5.000000 +v 0.187500 1.250000 -5.000000 +v -0.187500 1.250000 -4.125000 +v -0.187500 1.669194 -5.397748 +v 0.187500 2.022748 -5.044194 +v 0.187500 1.845971 -5.574524 +v 0.187500 1.669194 -5.397748 +v 0.187500 2.022748 -5.574524 +v -0.187500 2.287913 -5.309359 +v 0.187500 2.287913 -5.309359 +v 0.000000 2.453697 -2.948062 +v 0.000000 2.487745 -2.725302 +v 0.000000 2.566986 -2.895234 +v 0.324759 1.977947 -2.963025 +v 0.216506 2.113832 -3.106544 +v 0.324759 2.057188 -3.132957 +v 0.000000 2.374456 -2.778129 +v 0.187500 2.442212 -2.746534 +v -0.500000 2.500000 -0.625000 +v -0.375000 2.500000 -1.875000 +v -1.125000 1.875000 -1.875000 +v -0.625000 2.375000 -1.875000 +v -0.625000 2.375000 -2.125000 +v 1.036612 1.786612 -0.625000 +v -1.125000 1.875000 -2.625000 +v -0.625000 2.375000 -2.375000 +v -0.625000 2.375000 -0.625000 +v -0.625000 2.375000 -0.875000 +v 1.125000 1.875000 -1.625000 +v 0.625000 2.375000 -1.875000 +v 0.500000 2.500000 -0.625000 +v 0.448223 2.198223 -1.875000 +v 0.948223 1.698223 -1.625000 +v -1.036612 1.786612 -2.625000 +v -1.125000 1.875000 -1.625000 +v -0.448223 2.198223 -1.875000 +v -0.536612 2.286612 -2.125000 +v -0.536612 2.286612 -2.375000 +v -0.448223 2.198223 -0.875000 +v 0.448223 2.198223 -0.875000 +v -1.036612 1.786612 -1.875000 +v -0.948223 1.698223 -1.625000 +v 0.625000 2.375000 -0.875000 +v 1.125000 1.875000 -0.875000 +v 0.375000 2.500000 -0.625000 +v 0.375000 2.500000 -0.875000 +v 0.536612 2.286612 -0.625000 +v 0.430518 2.289365 -0.625000 +v -1.039364 1.680519 -0.625000 +v -1.036612 1.786612 -0.625000 +v 0.625000 2.375000 -0.625000 +v -0.375000 2.375000 -0.625000 +v -0.430519 2.289364 -0.625000 +v 0.187500 1.250000 -4.125000 +v 0.375000 2.250000 -1.875000 +v 0.375000 2.250000 -0.875000 +v 0.375000 2.500000 -1.875000 +v -1.125000 1.875000 -0.875000 +v -0.375000 2.250000 -0.875000 +v -0.375000 2.250000 -1.875000 +v -0.375000 2.500000 -0.875000 +v 1.125000 1.875000 -0.625000 +v -0.375000 2.500000 -0.625000 +v -1.250000 1.750000 -0.625000 +v -1.125000 1.875000 -0.625000 +v -0.500000 0.000000 -0.375000 +v 0.500000 -0.000000 0.125000 +v -0.500000 -0.000000 0.125000 +v 0.500000 2.500000 0.125000 +v -0.500000 2.500000 -0.375000 +v -0.500000 2.500000 0.125000 +v -1.250000 1.750000 -0.375000 +v -1.250000 0.750000 0.125000 +v -1.250000 1.750000 0.125000 +v 1.250000 0.750000 0.125000 +v 1.250000 1.750000 -0.375000 +v 1.250000 1.750000 0.125000 +v 0.500000 2.500000 -0.375000 +v 1.250000 0.750000 -0.375000 +v 0.500000 0.000000 -0.375000 +v -1.250000 0.750000 -0.375000 +v 1.039364 1.680519 0.125000 +v 1.125000 1.250000 0.125000 +v 0.430518 2.289365 0.125000 +v 0.795495 2.045496 0.125000 +v -0.430519 2.289364 0.125000 +v 0.000000 2.375000 0.125000 +v -1.039364 1.680519 0.125000 +v -0.795495 2.045495 0.125000 +v -1.039364 0.819481 0.125000 +v -1.125000 1.250000 0.125000 +v -0.430519 0.210636 0.125000 +v -0.795495 0.454505 0.125000 +v 0.430519 0.210635 0.125000 +v 0.000000 0.125000 0.125000 +v 1.039364 0.819481 0.125000 +v 0.795495 0.454505 0.125000 +v 0.000000 0.750000 -0.750000 +v 0.500000 1.250000 -0.750000 +v 0.000000 1.750000 -0.750000 +v 0.795495 2.045496 -0.375000 +v 0.430518 2.289365 -0.375000 +v 1.125000 1.250000 -0.375000 +v 1.039364 1.680519 -0.375000 +v 0.795495 0.454505 -0.375000 +v 1.039364 0.819481 -0.375000 +v 0.000000 0.125000 -0.375000 +v 0.430519 0.210635 -0.375000 +v -0.795495 0.454505 -0.375000 +v -0.430519 0.210636 -0.375000 +v -1.125000 1.250000 -0.375000 +v -1.039364 0.819481 -0.375000 +v -0.795495 2.045495 -0.375000 +v -1.039364 1.680519 -0.375000 +v 0.000000 2.375000 -0.375000 +v -0.430519 2.289364 -0.375000 +v -1.000000 0.500000 -2.625000 +v 0.500000 1.872057 -3.014137 +v 0.216506 2.034591 -2.936611 +v 0.324760 2.317812 -2.804543 +v -0.948223 1.698223 -0.875000 +v -0.191341 1.711940 -0.750000 +v -0.353553 1.603553 -0.750000 +v -0.461940 1.441342 -0.750000 +v -0.500000 1.250000 -0.750000 +v -0.461940 1.058658 -0.750000 +v -0.353553 0.896447 -0.750000 +v -0.191341 0.788060 -0.750000 +v 0.191341 0.788060 -0.750000 +v 0.353553 0.896446 -0.750000 +v 0.461940 1.058658 -0.750000 +v 0.461940 1.441342 -0.750000 +v 0.353553 1.603554 -0.750000 +v 0.191341 1.711940 -0.750000 +v 0.000000 1.921303 -2.989438 v -0.125000 2.030899 -3.145216 v 0.000000 2.000544 -3.159371 +v -0.250000 2.147880 -2.883784 +v -0.216506 2.340409 -3.000889 +v -0.250000 2.227120 -3.053716 +v 0.187500 2.521452 -2.916467 v 0.125000 2.030899 -3.145216 -v 0.216506 2.113832 -3.106544 +v 0.125000 1.951658 -2.975283 +v -0.216506 2.034591 -2.936611 +v -0.216506 2.113832 -3.106544 +v 0.324760 2.397053 -2.974475 +v -0.125000 2.344101 -2.792284 +v -0.125000 2.423342 -2.962217 +v -0.125000 1.951658 -2.975283 +v 0.375000 2.227120 -3.053716 +v -0.216506 2.261168 -2.830956 +v 0.375000 2.147880 -2.883783 +v -0.312500 2.245990 -2.838034 +v -0.375000 2.313995 -2.944245 +v -0.375000 2.261168 -2.830956 +v -0.500000 2.147880 -2.883784 +v -0.483253 2.257351 -2.970659 +v -0.500000 2.200707 -2.997072 +v -0.266747 2.091235 -2.910197 +v -0.312500 2.102596 -3.042822 +v -0.266747 2.144063 -3.023486 +v -0.375000 2.034591 -2.936611 +v -0.437500 2.102596 -3.042822 +v -0.375000 2.087419 -3.049900 +v -0.266747 2.257351 -2.970659 +v -0.312500 2.298818 -2.951323 +v -0.437500 2.245990 -2.838034 +v -0.483253 2.204524 -2.857370 +v -0.312500 2.049769 -2.929533 +v -0.483253 2.091235 -2.910197 +v -0.437500 2.049769 -2.929533 +v -0.250000 2.147880 -2.883784 +v -0.266747 2.204524 -2.857370 +v -0.437500 2.298818 -2.951323 +v -0.483253 2.144063 -3.023486 +v -0.250000 2.200707 -2.997072 +v -0.382683 2.173880 -0.125000 +v 0.000000 2.250000 -0.125000 +v 0.382683 2.173880 -0.125000 +v 0.707106 1.957107 -0.125000 +v 0.923880 1.632684 -0.125000 +v 1.000000 1.250000 -0.125000 +v 0.923880 0.867316 -0.125000 +v 0.707106 0.542893 -0.125000 +v 0.382683 0.326120 -0.125000 +v 0.000000 0.250000 -0.125000 +v -0.382684 0.326120 -0.125000 +v -0.707108 0.542893 -0.125000 +v -0.923880 0.867316 -0.125000 +v -1.000000 1.250000 -0.125000 +v -0.923880 1.632683 -0.125000 +v -0.707108 1.957107 -0.125000 +v 0.000000 2.250000 -0.500000 +v 0.382683 2.173880 -0.500000 +v 0.000000 0.250000 -0.500000 +v -0.382683 2.173880 -0.500000 +v 0.382683 0.326120 -0.500000 +v -0.707108 1.957107 -0.500000 +v 0.707106 0.542893 -0.500000 +v -0.923880 1.632683 -0.500000 +v 0.923880 0.867316 -0.500000 +v -1.000000 1.250000 -0.500000 +v 1.000000 1.250000 -0.500000 +v -0.923880 0.867316 -0.500000 +v 0.923880 1.632684 -0.500000 +v -0.707108 0.542893 -0.500000 +v 0.707106 1.957107 -0.500000 +v -0.382684 0.326120 -0.500000 +v 0.000000 0.125000 -0.625000 +v -0.430519 2.289364 -0.625000 +v 0.000000 2.375000 -0.625000 +v 0.430519 0.210635 -0.625000 +v -0.795495 2.045495 -0.625000 +v 0.795495 0.454505 -0.625000 +v -1.039364 1.680519 -0.625000 +v 1.039364 0.819481 -0.625000 +v -1.125000 1.250000 -0.625000 +v 1.125000 1.250000 -0.625000 +v -1.039364 0.819481 -0.625000 +v 1.039364 1.680519 -0.625000 +v -0.795495 0.454505 -0.625000 +v 0.795495 2.045496 -0.625000 +v -0.430519 0.210636 -0.625000 +v 0.430518 2.289365 -0.625000 +vt 0.324138 0.796875 +vt 0.282759 0.812500 +vt 0.282759 0.796875 +vt 0.324138 0.828125 +vt 0.282759 0.843750 +vt 0.282759 0.828125 +vt 0.324138 0.859375 +vt 0.282759 0.875000 +vt 0.282759 0.859375 +vt 0.282759 0.890625 +vt 0.331034 0.906250 +vt 0.275862 0.906250 +vt 0.331034 0.765625 +vt 0.282759 0.781250 +vt 0.275862 0.765625 +vt 0.324138 0.812500 +vt 0.282759 1.000000 +vt 0.324138 0.984375 +vt 0.324138 1.000000 +vt 0.275862 0.968750 +vt 0.282759 0.984375 +vt 0.275862 0.984375 +vt 0.324138 0.953125 +vt 0.282759 0.968750 +vt 0.282759 0.953125 +vt 0.275862 0.968750 +vt 0.282759 0.984375 +vt 0.275862 0.984375 +vt 0.282759 0.968750 +vt 0.324138 0.984375 +vt 0.282759 0.984375 +vt 0.324138 0.968750 +vt 0.282759 0.968750 +vt 0.324138 0.984375 +vt 0.324138 0.968750 +vt 0.282759 0.984375 +vt 0.282759 0.968750 +vt 0.275862 0.968750 +vt 0.275862 0.984375 +vt 0.324138 0.953125 +vt 0.282759 0.953125 +vt 0.331034 0.984375 +vt 0.324138 0.968750 +vt 0.331034 0.968750 +vt 0.282759 1.000000 +vt 0.324138 1.000000 +vt 0.331034 0.984375 +vt 0.331034 0.968750 +vt 0.324138 0.953125 +vt 0.282759 0.953125 +vt 0.331034 0.984375 +vt 0.324138 0.968750 +vt 0.331034 0.968750 +vt 0.282759 1.000000 +vt 0.324138 1.000000 +vt 0.331034 0.984375 +vt 0.331034 0.968750 +vt 0.324138 0.953125 +vt 0.282759 0.953125 +vt 0.275862 0.968750 +vt 0.275862 0.984375 +vt 0.282759 1.000000 +vt 0.324138 0.984375 +vt 0.324138 1.000000 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.186207 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.193103 0.046875 +vt 0.200000 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.078125 +vt 0.151724 0.093750 +vt 0.165517 0.093750 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.117241 0.296875 +vt 0.096552 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.343750 +vt 0.117241 0.328125 +vt 0.124138 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.310345 0.031250 +vt 0.296552 0.046875 +vt 0.296552 0.031250 +vt 0.268584 0.103261 +vt 0.268584 0.115489 +vt 0.264768 0.124136 +vt 0.282759 0.046875 +vt 0.282759 0.031250 +vt 0.268966 0.031250 +vt 0.275862 0.046875 +vt 0.268966 0.046875 +vt 0.255172 0.046875 +vt 0.255172 0.031250 +vt 0.365517 0.031250 +vt 0.351724 0.046875 +vt 0.351724 0.031250 +vt 0.337931 0.046875 +vt 0.337931 0.031250 +vt 0.324138 0.031250 +vt 0.331034 0.046875 +vt 0.324138 0.046875 +vt 0.310345 0.046875 +vt 0.296552 0.078125 +vt 0.303448 0.062500 +vt 0.303448 0.078125 +vt 0.282759 0.078125 +vt 0.289655 0.062500 +vt 0.289655 0.078125 +vt 0.268966 0.062500 +vt 0.275862 0.078125 +vt 0.268966 0.078125 +vt 0.255172 0.062500 +vt 0.262069 0.078125 +vt 0.255172 0.078125 +vt 0.351724 0.062500 +vt 0.358621 0.078125 +vt 0.351724 0.078125 +vt 0.337931 0.078125 +vt 0.344828 0.062500 +vt 0.344828 0.078125 +vt 0.324138 0.078125 +vt 0.331034 0.062500 +vt 0.331034 0.078125 +vt 0.310345 0.078125 +vt 0.317241 0.062500 +vt 0.317241 0.078125 +vt 0.848515 0.125000 +vt 0.903448 0.000542 +vt 0.958382 0.125000 +vt 0.351724 0.906250 +vt 0.331034 0.718750 +vt 0.255172 0.765625 +vt 0.275862 0.953125 +vt 0.848515 0.375000 +vt 0.903448 0.250541 +vt 0.958382 0.375000 +vt 0.737931 0.375000 +vt 0.848276 0.281250 +vt 0.848276 0.375000 +vt 0.737931 0.187500 +vt 0.848276 0.093750 +vt 0.848276 0.187500 +vt 0.737931 0.562500 +vt 0.848276 0.468750 +vt 0.848276 0.562500 +vt 0.737931 0.281250 +vt 0.737931 0.093750 +vt 0.848276 -0.000000 +vt 0.737931 0.656250 +vt 0.848276 0.656250 +vt 0.737931 0.468750 +vt 0.262069 0.140625 +vt 0.268966 0.171875 +vt 0.262069 0.171875 +vt 0.296552 0.171875 +vt 0.303448 0.140625 +vt 0.303448 0.171875 +vt 0.268966 0.125000 +vt 0.296552 0.140625 +vt 0.268966 0.140625 +vt 0.296552 0.187500 +vt 0.268966 0.187500 +vt 0.268966 0.093750 +vt 0.296552 0.125000 +vt 0.303448 0.171875 +vt 0.296552 0.140625 +vt 0.303448 0.140625 +vt 0.268966 0.140625 +vt 0.262069 0.171875 +vt 0.262069 0.140625 +vt 0.296552 0.187500 +vt 0.268966 0.171875 +vt 0.296552 0.171875 +vt 0.268966 0.125000 +vt 0.296552 0.125000 +vt 0.268966 0.093750 +vt 0.296552 0.093750 +vt 0.262069 0.171875 +vt 0.268966 0.140625 +vt 0.268966 0.171875 +vt 0.303448 0.171875 +vt 0.296552 0.140625 +vt 0.303448 0.140625 +vt 0.268966 0.125000 +vt 0.296552 0.187500 +vt 0.268966 0.187500 +vt 0.296552 0.171875 +vt 0.268966 0.093750 +vt 0.296552 0.125000 +vt 0.303448 0.140625 +vt 0.296552 0.171875 +vt 0.296552 0.140625 +vt 0.262069 0.140625 +vt 0.268966 0.171875 +vt 0.262069 0.171875 +vt 0.296552 0.187500 +vt 0.268966 0.125000 +vt 0.296552 0.125000 +vt 0.268966 0.140625 +vt 0.268966 0.093750 +vt 0.296552 0.093750 +vt 0.317241 0.140625 +vt 0.324138 0.171875 +vt 0.317241 0.171875 +vt 0.344828 0.171875 +vt 0.358621 0.187500 +vt 0.344828 0.187500 +vt 0.324138 0.125000 +vt 0.351724 0.140625 +vt 0.324138 0.140625 +vt 0.324138 0.187500 +vt 0.344828 0.093750 +vt 0.351724 0.125000 +vt 0.255172 0.343750 +vt 0.337931 0.312500 +vt 0.337931 0.343750 +vt 0.363190 0.328752 +vt 0.351724 0.373746 +vt 0.340258 0.328752 +vt 0.255172 0.312500 +vt 0.337931 0.281250 +vt 0.255172 0.281250 +vt 0.337931 0.250000 +vt 0.363190 0.296248 +vt 0.351724 0.311246 +vt 0.340258 0.296248 +vt 0.868966 0.625000 +vt 0.924138 0.500000 +vt 0.924138 0.625000 +vt 0.848276 0.500000 +vt 0.868966 0.500000 +vt 0.944828 0.625000 +vt 0.834483 0.906250 +vt 0.765517 0.718750 +vt 0.834483 0.718750 +vt 0.737931 0.718750 +vt 0.765517 0.906250 +vt 0.737931 0.906250 +vt 0.862069 0.906250 +vt 0.862069 0.718750 +vt 0.765517 0.968750 +vt 0.834483 0.968750 +vt 0.834483 0.656250 +vt 0.765517 0.656250 +vt 0.958621 0.187500 +vt 0.986207 0.156250 +vt 0.986207 0.187500 +vt 0.958621 0.062500 +vt 0.986207 0.031250 +vt 0.986207 0.062500 +vt 0.958621 0.125000 +vt 0.986207 0.093750 +vt 0.986207 0.125000 +vt 0.958621 0.156250 +vt 0.958621 0.031250 +vt 0.986207 0.000000 +vt 0.958621 0.093750 +vt 0.965937 0.193335 +vt 0.978890 0.193335 +vt 0.985367 0.218750 +vt 0.737931 0.109375 +vt 0.724138 0.093750 +vt 0.737931 0.093750 +vt 0.737931 0.015625 +vt 0.724138 0.000000 +vt 0.737931 0.000000 +vt 0.737931 0.140625 +vt 0.724138 0.125000 +vt 0.737931 0.125000 +vt 0.737931 0.078125 +vt 0.724138 0.062500 +vt 0.737931 0.062500 +vt 0.737931 0.046875 +vt 0.724138 0.031250 +vt 0.737931 0.031250 +vt 0.737931 0.171875 +vt 0.724138 0.156250 +vt 0.737931 0.156250 +vt 0.724138 0.015625 +vt 0.717241 0.000000 +vt 0.717241 0.156250 +vt 0.717241 0.125000 +vt 0.724138 0.078125 +vt 0.717241 0.062500 +vt 0.717241 0.031250 +vt 0.724138 0.171875 +vt 0.724138 0.109375 +vt 0.717241 0.093750 +vt 0.675862 0.031250 +vt 0.717241 0.187500 +vt 0.675862 0.156250 +vt 0.675862 0.093750 +vt 0.675862 0.000000 +vt 0.675862 0.125000 +vt 0.675862 0.062500 +vt 0.668966 0.125000 +vt 0.668966 0.093750 +vt 0.668966 0.078125 +vt 0.668966 0.062500 +vt 0.668966 0.031250 +vt 0.668966 0.000000 +vt 0.668966 0.171875 +vt 0.668966 0.156250 +vt 0.655172 0.156250 +vt 0.668966 0.109375 +vt 0.655172 0.093750 +vt 0.668966 0.015625 +vt 0.655172 0.000000 +vt 0.668966 0.140625 +vt 0.655172 0.125000 +vt 0.655172 0.062500 +vt 0.668966 0.046875 +vt 0.655172 0.031250 +vt 0.655172 0.140625 +vt 0.648276 0.125000 +vt 0.655172 0.109375 +vt 0.648276 0.093750 +vt 0.648276 0.062500 +vt 0.655172 0.046875 +vt 0.648276 0.031250 +vt 0.655172 0.015625 +vt 0.648276 0.000000 +vt 0.648276 0.187500 +vt 0.648276 0.156250 +vt 0.641379 0.093750 +vt 0.641379 -0.000000 +vt 0.641379 0.125000 +vt 0.641379 0.062500 +vt 0.641379 0.031250 +vt 0.641379 0.156250 +vt 0.634483 0.062500 +vt 0.634483 0.031250 +vt 0.634483 0.171875 +vt 0.634483 0.156250 +vt 0.634483 0.093750 +vt 0.634483 0.000000 +vt 0.634483 0.140625 +vt 0.634483 0.125000 +vt 0.624290 0.002689 +vt 0.630883 0.002689 +vt 0.634179 0.015625 +vt 0.496552 0.187500 +vt 0.468966 0.156250 +vt 0.496552 0.156250 +vt 0.496552 0.312500 +vt 0.468966 0.265625 +vt 0.496552 0.265625 +vt 0.468966 0.234375 +vt 0.496552 0.234375 +vt 0.468966 0.187500 +vt 0.537931 0.828125 +vt 0.524138 0.812500 +vt 0.537931 0.812500 +vt 0.503448 0.718750 +vt 0.517241 0.812500 +vt 0.503448 0.812500 +vt 0.537931 0.718750 +vt 0.524138 0.718750 +vt 0.517241 0.718750 +vt 0.496552 0.812500 +vt 0.496552 0.718750 +vt 0.544828 0.203125 +vt 0.551724 0.250000 +vt 0.544828 0.250000 +vt 0.531034 0.203125 +vt 0.524138 0.250000 +vt 0.524138 0.203125 +vt 0.510345 0.203125 +vt 0.503448 0.250000 +vt 0.503448 0.203125 +vt 0.537931 0.250000 +vt 0.537931 0.203125 +vt 0.510345 0.296875 +vt 0.503448 0.296875 +vt 0.531034 0.250000 +vt 0.524138 0.296875 +vt 0.531034 0.203125 +vt 0.531034 0.187500 +vt 0.537931 0.187500 +vt 0.544828 0.187500 +vt 0.551724 0.187500 +vt 0.551724 0.203125 +vt 0.503448 0.203125 +vt 0.503448 0.187500 +vt 0.510345 0.187500 +vt 0.517241 0.187500 +vt 0.524138 0.187500 +vt 0.524138 0.203125 +vt 0.544828 0.156250 +vt 0.537931 0.156250 +vt 0.531034 0.156250 +vt 0.524138 0.187500 +vt 0.524138 0.156250 +vt 0.510345 0.156250 +vt 0.503448 0.156250 +vt 0.524138 0.156250 +vt 0.517241 0.156250 +vt 0.551724 0.156250 +vt 0.496552 0.187500 +vt 0.496552 0.156250 +vt 0.496552 0.250000 +vt 0.496552 0.203125 +vt 0.979310 0.515625 +vt 0.986207 0.484375 +vt 0.986207 0.515625 +vt 0.517241 0.250000 +vt 0.510345 0.250000 +vt 0.524138 0.250000 +vt 0.517241 0.296875 +vt 0.544828 0.296875 +vt 0.496552 0.296875 +vt 0.537931 0.296875 +vt 0.531034 0.296875 +vt 0.517241 0.203125 +vt 0.213793 0.109375 +vt 0.220690 0.265625 +vt 0.213793 0.265625 +vt 0.972414 0.515625 +vt 0.979310 0.484375 +vt 0.220690 0.109375 +vt 0.227586 0.265625 +vt 0.965517 0.515625 +vt 0.972414 0.484375 +vt 0.186207 0.109375 +vt 0.193103 0.265625 +vt 0.186207 0.265625 +vt 0.958621 0.515625 +vt 0.965517 0.484375 +vt 0.193103 0.109375 +vt 0.200000 0.265625 +vt 0.198836 0.288749 +vt 0.193103 0.296248 +vt 0.187370 0.288749 +vt 0.200000 0.109375 +vt 0.206897 0.265625 +vt 0.206897 0.109375 +vt 0.201164 0.288749 +vt 0.201164 0.273751 +vt 0.212630 0.273751 +vt 0.972414 0.468750 +vt 0.979310 0.484375 +vt 0.979310 0.468750 +vt 0.958621 0.468750 +vt 0.965517 0.468750 +vt 0.958621 0.484375 +vt 0.965517 0.453125 +vt 0.958621 0.437500 +vt 0.965517 0.421875 +vt 0.965517 0.437500 +vt 0.972414 0.453125 +vt 0.979310 0.453125 +vt 0.986207 0.453125 +vt 0.986207 0.468750 +vt 0.972414 0.437500 +vt 0.965517 0.453125 +vt 0.986207 0.453125 +vt 0.979310 0.437500 +vt 0.986207 0.437500 +vt 0.972414 0.421875 +vt 0.979310 0.343750 +vt 0.979310 0.421875 +vt 0.986207 0.421875 +vt 0.965517 0.328125 +vt 0.972414 0.328125 +vt 0.965517 0.343750 +vt 0.986207 0.343750 +vt 0.958621 0.421875 +vt 0.965517 0.343750 +vt 0.972414 0.343750 +vt 0.979310 0.328125 +vt 0.986207 0.296875 +vt 0.986207 0.328125 +vt 0.986207 0.343750 +vt 0.958621 0.281250 +vt 0.965517 0.250000 +vt 0.965517 0.281250 +vt 0.958621 0.328125 +vt 0.965517 0.296875 +vt 0.972414 0.296875 +vt 0.979310 0.296875 +vt 0.979310 0.296875 +vt 0.972414 0.281250 +vt 0.979310 0.281250 +vt 0.958621 0.296875 +vt 0.986207 0.250000 +vt 0.986207 0.281250 +vt 0.979310 0.250000 +vt 0.972414 0.250000 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.186207 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.193103 0.046875 +vt 0.200000 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.093750 +vt 0.151724 0.093750 +vt 0.158621 0.078125 +vt 0.165517 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.186207 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.193103 0.046875 +vt 0.200000 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.078125 +vt 0.151724 0.093750 +vt 0.165517 0.093750 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.186207 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.193103 0.046875 +vt 0.200000 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.078125 +vt 0.151724 0.093750 +vt 0.165517 0.093750 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.186207 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.193103 0.046875 +vt 0.200000 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.078125 +vt 0.151724 0.093750 +vt 0.165517 0.093750 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.186207 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.193103 0.046875 +vt 0.200000 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.078125 +vt 0.151724 0.093750 +vt 0.165517 0.093750 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.186207 0.046875 +vt 0.193103 0.062500 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.193103 0.046875 +vt 0.200000 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.078125 +vt 0.151724 0.093750 +vt 0.165517 0.093750 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.151724 0.046875 +vt 0.158621 0.062500 +vt 0.151724 0.062500 +vt 0.172414 0.046875 +vt 0.165517 0.062500 +vt 0.165517 0.046875 +vt 0.179310 0.046875 +vt 0.186207 0.062500 +vt 0.179310 0.062500 +vt 0.193103 0.046875 +vt 0.186207 0.046875 +vt 0.144828 0.046875 +vt 0.144828 0.062500 +vt 0.158621 0.046875 +vt 0.172414 0.062500 +vt 0.200000 0.062500 +vt 0.193103 0.062500 +vt 0.170248 0.114281 +vt 0.170248 0.135718 +vt 0.160786 0.135718 +vt 0.186207 0.078125 +vt 0.179310 0.093750 +vt 0.179310 0.078125 +vt 0.193103 0.093750 +vt 0.186207 0.093750 +vt 0.200000 0.078125 +vt 0.193103 0.078125 +vt 0.151724 0.078125 +vt 0.144828 0.093750 +vt 0.144828 0.078125 +vt 0.158621 0.078125 +vt 0.151724 0.093750 +vt 0.165517 0.093750 +vt 0.158621 0.093750 +vt 0.165517 0.078125 +vt 0.172414 0.093750 +vt 0.172414 0.078125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.117241 0.296875 +vt 0.096552 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.343750 +vt 0.117241 0.328125 +vt 0.124138 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.117241 0.296875 +vt 0.096552 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.343750 +vt 0.117241 0.328125 +vt 0.124138 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.117241 0.296875 +vt 0.096552 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.343750 +vt 0.117241 0.328125 +vt 0.124138 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.117241 0.296875 +vt 0.096552 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.343750 +vt 0.117241 0.328125 +vt 0.124138 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.096552 0.296875 +vt 0.117241 0.328125 +vt 0.096552 0.328125 +vt 0.117241 0.343750 +vt 0.124138 0.296875 +vt 0.117241 0.296875 +vt 0.117241 0.281250 +vt 0.096552 0.281250 +vt 0.089655 0.296875 +vt 0.089655 0.328125 +vt 0.551724 0.390625 +vt 0.565517 0.484375 +vt 0.551724 0.484375 +vt 0.565517 0.609375 +vt 0.551724 0.515625 +vt 0.565517 0.515625 +vt 0.551724 0.640625 +vt 0.565517 0.734375 +vt 0.551724 0.734375 +vt 0.324138 0.843750 +vt 0.324138 0.875000 +vt 0.324138 0.890625 +vt 0.324138 0.781250 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.303448 0.046875 +vt 0.259370 0.124136 +vt 0.255554 0.115489 +vt 0.255554 0.103261 +vt 0.259370 0.094614 +vt 0.264768 0.094614 +vt 0.289655 0.046875 +vt 0.262069 0.046875 +vt 0.358621 0.046875 +vt 0.344828 0.046875 +vt 0.317241 0.046875 +vt 0.296552 0.062500 +vt 0.282759 0.062500 +vt 0.275862 0.062500 +vt 0.262069 0.062500 +vt 0.358621 0.062500 +vt 0.337931 0.062500 +vt 0.324138 0.062500 +vt 0.310345 0.062500 +vt 0.903448 0.249458 +vt 0.864604 0.213006 +vt 0.864604 0.036995 +vt 0.942292 0.036994 +vt 0.942292 0.213005 +vt 0.351724 0.765625 +vt 0.275862 0.718750 +vt 0.255172 0.906250 +vt 0.331034 0.953125 +vt 0.942292 0.463005 +vt 0.903448 0.499458 +vt 0.864604 0.463005 +vt 0.864604 0.286994 +vt 0.942292 0.286994 +vt 0.737931 -0.000000 +vt 0.296552 0.093750 +vt 0.268966 0.187500 +vt 0.262069 0.140625 +vt 0.296552 0.093750 +vt 0.303448 0.171875 +vt 0.268966 0.187500 +vt 0.358621 0.171875 +vt 0.324138 0.093750 +vt 0.351724 0.313754 +vt 0.363190 0.358748 +vt 0.340258 0.358748 +vt 0.255172 0.250000 +vt 0.340258 0.266252 +vt 0.351724 0.251254 +vt 0.363190 0.266252 +vt 0.848276 0.625000 +vt 0.944828 0.500000 +vt 0.958621 0.000000 +vt 0.978890 0.244165 +vt 0.965937 0.244165 +vt 0.959461 0.218750 +vt 0.724138 0.140625 +vt 0.724138 0.046875 +vt 0.675862 0.187500 +vt 0.655172 0.171875 +vt 0.655172 0.078125 +vt 0.641379 0.187500 +vt 0.634483 0.078125 +vt 0.634483 0.046875 +vt 0.634483 0.109375 +vt 0.634483 0.015625 +vt 0.630883 0.028561 +vt 0.624290 0.028561 +vt 0.620993 0.015625 +vt 0.468966 0.312500 +vt 0.524138 0.828125 +vt 0.551724 0.203125 +vt 0.524138 0.296875 +vt 0.551724 0.296875 +vt 0.524138 0.203125 +vt 0.227586 0.109375 +vt 0.958621 0.484375 +vt 0.187370 0.273751 +vt 0.193103 0.266252 +vt 0.198836 0.273751 +vt 0.206897 0.266252 +vt 0.212630 0.288749 +vt 0.206897 0.296248 +vt 0.958621 0.453125 +vt 0.958621 0.343750 +vt 0.958621 0.250000 +vt 0.958621 0.296875 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.200000 0.046875 +vt 0.172208 0.125000 +vt 0.165517 0.140158 +vt 0.158827 0.125000 +vt 0.160786 0.114281 +vt 0.165517 0.109842 +vt 0.200000 0.093750 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.096552 0.343750 +vt 0.124138 0.328125 +vt 0.565517 0.390625 +vt 0.551724 0.609375 +vt 0.565517 0.640625 +vt 0.662069 0.796875 +vt 0.662069 0.875000 +vt 0.551724 0.875000 +vt 0.634483 0.218750 +vt 0.724138 0.250000 +vt 0.551724 0.250000 +vt 0.724138 0.359375 +vt 0.703448 0.375000 +vt 0.606897 -0.000000 +vt 0.551724 0.125000 +vt 0.551724 -0.000000 +vt 0.634483 0.906250 +vt 0.606897 1.000000 +vt 0.413793 0.062500 +vt 0.441379 0.250000 +vt 0.413793 0.187500 +vt 0.682759 0.406250 +vt 0.703448 0.406250 +vt 0.724138 0.875000 +vt 0.717241 0.796875 +vt 0.724138 0.765625 +vt 0.682759 0.750000 +vt 0.717241 0.906250 +vt 0.717241 0.875000 +vt 0.737931 0.359375 +vt 0.737931 0.218750 +vt 0.737931 0.250000 +vt 0.737931 0.875000 +vt 0.737931 0.906250 +vt 0.724138 0.375000 +vt 0.724138 0.718750 +vt 0.703448 0.750000 +vt 0.703448 0.718750 +vt 0.682759 0.718750 +vt 0.662069 0.500000 +vt 0.675862 0.625000 +vt 0.662069 0.625000 +vt 0.696552 0.421875 +vt 0.675862 0.500000 +vt 0.696552 0.703125 +vt 0.020690 0.781250 +vt 0.013793 0.875000 +vt 0.013793 0.781250 +vt 0.213793 0.781250 +vt 0.227586 0.875000 +vt 0.213793 0.875000 +vt 0.510209 0.406422 +vt 0.506394 0.432721 +vt 0.482676 0.422118 +vt 0.455123 0.406613 +vt 0.458988 0.432863 +vt 0.438078 0.465736 +vt 0.414116 0.500678 +vt 0.425220 0.509148 +vt 0.420595 0.561221 +vt 0.413934 0.622365 +vt 0.425067 0.614088 +vt 0.437826 0.657998 +vt 0.454859 0.718112 +vt 0.458836 0.691761 +vt 0.482625 0.702699 +vt 0.455172 0.609375 +vt 0.441379 0.515625 +vt 0.455172 0.515625 +vt 0.696552 0.625000 +vt 0.703448 0.687500 +vt 0.696552 0.687500 +vt 0.696552 0.500000 +vt 0.703448 0.437500 +vt 0.703448 0.500000 +vt 0.703448 0.625000 +vt 0.731034 0.687500 +vt 0.413793 0.859375 +vt 0.420690 0.914062 +vt 0.413793 0.914062 +vt 0.475862 0.914062 +vt 0.482759 0.859375 +vt 0.482759 0.914062 +vt 0.431034 0.937500 +vt 0.475862 0.859375 +vt 0.465517 0.937500 +vt 0.431034 0.953125 +vt 0.479310 0.937500 +vt 0.465517 0.953125 +vt 0.417241 0.937500 +vt 0.417241 0.953125 +vt 0.441379 -0.000000 +vt 0.468966 0.250000 +vt 0.903448 0.875000 +vt 0.958621 0.718750 +vt 0.958621 0.875000 +vt 0.958621 0.625000 +vt 0.903448 0.718750 +vt 0.903448 0.625000 +vt 0.903448 0.968750 +vt 0.958621 0.968750 +vt 0.862069 0.718750 +vt 0.862069 0.875000 +vt 1.000000 0.875000 +vt 1.000000 0.718750 +vt 0.489655 0.156250 +vt 0.510345 0.046875 +vt 0.510345 0.156250 +vt 0.434483 0.812500 +vt 0.413793 0.765625 +vt 0.420690 0.750000 +vt 0.489655 0.046875 +vt 0.510345 0.000000 +vt 0.468966 0.046875 +vt 0.531034 0.156250 +vt 0.434483 0.750000 +vt 0.455172 0.812500 +vt 0.496552 0.765625 +vt 0.475862 0.750000 +vt 0.496552 0.750000 +vt 0.455172 0.750000 +vt 0.468966 0.750000 +vt 0.475862 0.765625 +vt 0.434483 0.859375 +vt 0.475862 0.812500 +vt 0.496552 0.812500 +vt 0.455172 0.718750 +vt 0.986207 0.609375 +vt 0.979310 0.593750 +vt 0.986207 0.593750 +vt 0.979310 0.531250 +vt 0.986207 0.515625 +vt 0.986207 0.531250 +vt 0.972414 0.593750 +vt 0.979310 0.578125 +vt 0.551724 0.625000 +vt 0.620690 0.609375 +vt 0.620690 0.734375 +vt 0.620690 0.640625 +vt 0.634483 0.640625 +vt 0.020690 0.875000 +vt 0.006897 0.781250 +vt 0.020690 0.781250 +vt 0.662069 0.734375 +vt 0.648276 0.640625 +vt 0.565517 0.640625 +vt 0.551724 0.625000 +vt 0.565517 0.625000 +vt 0.606897 0.390625 +vt 0.551724 0.375000 +vt 0.682759 0.375000 +vt 0.662069 0.375000 +vt 0.620690 0.484375 +vt 0.551724 0.500000 +vt 0.117241 0.906250 +vt 0.075862 0.875000 +vt 0.117241 0.875000 +vt 0.158621 0.125000 +vt 0.117241 0.156250 +vt 0.117241 0.125000 +vt 0.117241 0.906250 +vt 0.158621 0.875000 +vt 0.158621 0.906250 +vt 0.144828 0.250000 +vt 0.131034 0.250000 +vt 0.213793 0.875000 +vt 0.220690 0.781250 +vt 0.220690 0.875000 +vt 0.062069 0.781250 +vt 0.020690 0.875000 +vt 0.144828 0.281250 +vt 0.186207 0.250000 +vt 0.186207 0.281250 +vt 0.213793 0.765625 +vt 0.172414 0.781250 +vt 0.172414 0.750000 +vt 0.131034 0.281250 +vt 0.089655 0.250000 +vt 0.075862 0.906250 +vt 0.020690 0.906250 +vt 0.020690 0.890625 +vt 0.020690 0.765625 +vt 0.020690 0.750000 +vt 0.062069 0.750000 +vt 0.213793 0.890625 +vt 0.565517 0.515625 +vt 0.551724 0.500000 +vt 0.565517 0.500000 +vt 0.539805 0.495450 +vt 0.539959 0.508696 +vt 0.506403 0.692192 +vt 0.539824 0.629444 +vt 0.512254 0.691859 +vt 0.544674 0.484410 +vt 0.551565 0.500009 +vt 0.544695 0.609268 +vt 0.539977 0.616199 +vt 0.489655 0.156250 +vt 0.510345 0.046875 +vt 0.510345 0.156250 +vt 0.510345 0.562500 +vt 0.455172 0.562500 +vt 0.455172 0.546875 +vt 0.620690 0.515625 +vt 0.565517 0.515625 +vt 0.565517 0.750000 +vt 0.551724 0.734375 +vt 0.565517 0.734375 +vt 0.620690 0.515625 +vt 0.565517 0.609375 +vt 0.565517 0.515625 +vt 0.448276 0.515625 +vt 0.455172 0.609375 +vt 0.448276 0.609375 +vt 0.524138 0.609375 +vt 0.510345 0.515625 +vt 0.524138 0.515625 +vt 0.455172 0.578125 +vt 0.455172 0.562500 +vt 0.510345 0.562500 +vt 0.565517 0.625000 +vt 0.551724 0.609375 +vt 0.565517 0.609375 +vt 0.565517 0.500000 +vt 0.551724 0.484375 +vt 0.565517 0.484375 +vt 0.565517 0.390625 +vt 0.551724 0.375000 +vt 0.565517 0.375000 +vt 0.565517 0.484375 +vt 0.551724 0.484375 +vt 0.551724 0.515625 +vt 0.565517 0.609375 +vt 0.551724 0.609375 +vt 0.565517 0.640625 +vt 0.551724 0.640625 +vt 0.565517 0.390625 +vt 0.551724 0.390625 +vt 0.565517 0.734375 +vt 0.551724 0.750000 +vt 0.551724 0.734375 +vt 0.551583 0.624874 +vt 0.510212 0.718578 +vt 0.512238 0.433055 +vt 0.255172 -0.000000 +vt 0.227586 0.125000 +vt 0.227586 -0.000000 +vt 0.227586 0.500000 +vt 0.255172 0.625000 +vt 0.227586 0.625000 +vt 0.255172 0.750000 +vt 0.227586 0.875000 +vt 0.227586 0.750000 +vt 0.227586 0.250000 +vt 0.255172 0.375000 +vt 0.227586 0.375000 +vt 0.255172 0.500000 +vt 0.255172 0.250000 +vt 0.255172 0.125000 +vt 0.227586 1.000000 +vt 0.255172 0.875000 +vt 0.255172 1.000000 +vt 0.185647 0.407982 +vt 0.181809 0.433762 +vt 0.158206 0.423338 +vt 0.227246 0.501121 +vt 0.215680 0.509781 +vt 0.201106 0.462288 +vt 0.226770 0.624909 +vt 0.215543 0.616068 +vt 0.220300 0.563004 +vt 0.185661 0.717018 +vt 0.181941 0.690910 +vt 0.202736 0.659045 +vt 0.131028 0.716313 +vt 0.134829 0.690268 +vt 0.158386 0.701199 +vt 0.089995 0.623885 +vt 0.101155 0.615205 +vt 0.113984 0.658150 +vt 0.089997 0.501305 +vt 0.101178 0.509856 +vt 0.096611 0.562314 +vt 0.130816 0.408077 +vt 0.134644 0.434152 +vt 0.113890 0.466628 +vt 0.117241 0.000640 +vt 0.144545 0.062500 +vt 0.117241 0.124360 +vt 0.282000 0.461238 +vt 0.267164 0.508207 +vt 0.255663 0.499249 +vt 0.324503 0.423194 +vt 0.301337 0.432859 +vt 0.297766 0.407469 +vt 0.368692 0.466561 +vt 0.347882 0.434234 +vt 0.351705 0.408442 +vt 0.386036 0.561123 +vt 0.381418 0.509360 +vt 0.392481 0.500826 +vt 0.368830 0.657546 +vt 0.381587 0.613816 +vt 0.392687 0.622102 +vt 0.324106 0.701882 +vt 0.347834 0.691162 +vt 0.351758 0.717531 +vt 0.279544 0.658120 +vt 0.300333 0.691179 +vt 0.296432 0.717486 +vt 0.262317 0.561201 +vt 0.266830 0.614350 +vt 0.255589 0.622775 +vt 0.606897 0.125000 +vt 0.662069 0.218750 +vt 0.724138 0.218750 +vt 0.551724 1.000000 +vt 0.662069 0.906250 +vt 0.724138 0.906250 +vt 0.737931 0.765625 +vt 0.724138 0.406250 +vt 0.724138 0.750000 +vt 0.696552 0.453125 +vt 0.696552 0.671875 +vt 0.227586 0.781250 +vt 0.441379 0.609375 +vt 0.696552 0.437500 +vt 0.731034 0.437500 +vt 0.420690 0.859375 +vt 0.479310 0.953125 +vt 0.468966 -0.000000 +vt 0.413793 0.812500 +vt 0.489655 0.000000 +vt 0.468966 0.156250 +vt 0.531034 0.046875 +vt 0.455172 0.859375 +vt 0.434483 0.718750 +vt 0.979310 0.609375 +vt 0.979310 0.515625 +vt 0.972414 0.562500 +vt 0.606897 0.734375 +vt 0.006897 0.875000 +vt 0.551724 0.640625 +vt 0.158621 0.156250 +vt 0.117241 0.875000 +vt 0.213793 0.781250 +vt 0.213793 0.750000 +vt 0.089655 0.281250 +vt 0.213793 0.906250 +vt 0.551724 0.515625 +vt 0.551568 0.515616 +vt 0.544680 0.515623 +vt 0.489655 0.046875 +vt 0.455172 0.531250 +vt 0.510345 0.531250 +vt 0.551724 0.750000 +vt 0.620690 0.609375 +vt 0.455172 0.515625 +vt 0.510345 0.609375 +vt 0.510345 0.593750 +vt 0.455172 0.593750 +vt 0.551724 0.625000 +vt 0.551724 0.500000 +vt 0.551724 0.390625 +vt 0.551583 0.609269 +vt 0.544695 0.640480 +vt 0.517133 0.702938 +vt 0.517104 0.422013 +vt 0.106793 0.119651 +vt 0.097935 0.106242 +vt 0.092016 0.086173 +vt 0.089938 0.062500 +vt 0.092016 0.038827 +vt 0.097935 0.018758 +vt 0.106793 0.005349 +vt 0.127690 0.005349 +vt 0.136548 0.018758 +vt 0.142467 0.038827 +vt 0.142467 0.086173 +vt 0.136548 0.106242 +vt 0.127690 0.119651 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.179310 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.310345 0.000000 +vt 0.296552 0.000000 +vt 0.282759 0.000000 +vt 0.268966 0.000000 +vt 0.365517 0.000000 +vt 0.351724 0.000000 +vt 0.337931 0.000000 +vt 0.324138 0.000000 +vt 0.255172 0.000000 +vt 0.310345 0.093750 +vt 0.317241 0.093750 +vt 0.296552 0.093750 +vt 0.303448 0.093750 +vt 0.282759 0.093750 +vt 0.289655 0.093750 +vt 0.268966 0.093750 +vt 0.275862 0.093750 +vt 0.324138 0.093750 +vt 0.331034 0.093750 +vt 0.337931 0.093750 +vt 0.344828 0.093750 +vt 0.351724 0.093750 +vt 0.358621 0.093750 +vt 0.255172 0.093750 +vt 0.262069 0.093750 +vt 0.296552 0.218750 +vt 0.310345 0.234375 +vt 0.296552 0.234375 +vt 0.296552 0.187500 +vt 0.310345 0.203125 +vt 0.296552 0.203125 +vt 0.310345 0.234375 +vt 0.296552 0.250000 +vt 0.296552 0.234375 +vt 0.310345 0.203125 +vt 0.296552 0.218750 +vt 0.296552 0.203125 +vt 0.296552 0.187500 +vt 0.310345 0.218750 +vt 0.324138 0.234375 +vt 0.310345 0.187500 +vt 0.324138 0.203125 +vt 0.324138 0.250000 +vt 0.310345 0.250000 +vt 0.310345 0.234375 +vt 0.296552 0.250000 +vt 0.296552 0.234375 +vt 0.310345 0.203125 +vt 0.296552 0.218750 +vt 0.296552 0.203125 +vt 0.310345 0.187500 +vt 0.296552 0.187500 +vt 0.310345 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.203125 +vt 0.310345 0.250000 +vt 0.310345 0.234375 +vt 0.296552 0.250000 +vt 0.296552 0.234375 +vt 0.310345 0.203125 +vt 0.296552 0.218750 +vt 0.296552 0.203125 +vt 0.310345 0.187500 +vt 0.296552 0.187500 +vt 0.310345 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.187500 +vt 0.324138 0.250000 +vt 0.310345 0.250000 +vt 0.324138 0.203125 +vt 0.255172 0.234375 +vt 0.255172 0.234375 +vt 0.255172 0.218750 +vt 0.255172 0.203125 +vt 0.255172 0.234375 +vt 0.255172 0.218750 +vt 0.255172 0.187500 +vt 0.255172 0.203125 +vt 0.255172 0.218750 +vt 0.255172 0.203125 +vt 0.255172 0.187500 +vt 0.255172 0.187500 +vt 0.310345 0.218750 +vt 0.296552 0.250000 +vt 0.310345 0.250000 +vt 0.324138 0.203125 +vt 0.324138 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.250000 +vt 0.324138 0.187500 +vt 0.296552 0.187500 +vt 0.310345 0.203125 +vt 0.296552 0.203125 +vt 0.296552 0.218750 +vt 0.310345 0.234375 +vt 0.296552 0.234375 +vt 0.310345 0.218750 +vt 0.310345 0.250000 +vt 0.296552 0.250000 +vt 0.324138 0.203125 +vt 0.324138 0.218750 +vt 0.324138 0.234375 +vt 0.324138 0.250000 +vt 0.310345 0.187500 +vt 0.296552 0.187500 +vt 0.310345 0.203125 +vt 0.296552 0.203125 +vt 0.296552 0.218750 +vt 0.310345 0.234375 +vt 0.296552 0.234375 +vt 0.310345 0.218750 +vt 0.310345 0.250000 +vt 0.296552 0.250000 +vt 0.324138 0.203125 +vt 0.324138 0.218750 +vt 0.324138 0.250000 +vt 0.324138 0.187500 +vt 0.324138 0.234375 +vt 0.255172 0.203125 +vt 0.255172 0.203125 +vt 0.255172 0.218750 +vt 0.255172 0.234375 +vt 0.255172 0.203125 +vt 0.255172 0.218750 +vt 0.255172 0.250000 +vt 0.255172 0.234375 +vt 0.255172 0.218750 +vt 0.255172 0.234375 +vt 0.255172 0.250000 +vt 0.255172 0.250000 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.179310 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.179310 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.179310 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.179310 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.172414 0.390625 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.179310 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.179310 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.124138 0.390625 +vt 0.144828 0.375000 +vt 0.144828 0.390625 +vt 0.124138 0.343750 +vt 0.144828 0.359375 +vt 0.124138 0.359375 +vt 0.124138 0.312500 +vt 0.144828 0.328125 +vt 0.124138 0.328125 +vt 0.124138 0.296875 +vt 0.144828 0.312500 +vt 0.124138 0.406250 +vt 0.144828 0.406250 +vt 0.124138 0.375000 +vt 0.144828 0.343750 +vt 0.124138 0.281250 +vt 0.144828 0.296875 +vt 0.158621 0.312500 +vt 0.158621 0.328125 +vt 0.158621 0.359375 +vt 0.158621 0.390625 +vt 0.144828 0.281250 +vt 0.158621 0.296875 +vt 0.158621 0.343750 +vt 0.158621 0.375000 +vt 0.158621 0.406250 +vt 0.172414 0.390625 +vt 0.172414 0.406250 +vt 0.172414 0.296875 +vt 0.172414 0.312500 +vt 0.172414 0.328125 +vt 0.172414 0.359375 +vt 0.158621 0.281250 +vt 0.172414 0.343750 +vt 0.172414 0.375000 +vt 0.186207 0.343750 +vt 0.186207 0.359375 +vt 0.186207 0.375000 +vt 0.186207 0.390625 +vt 0.186207 0.406250 +vt 0.186207 0.312500 +vt 0.186207 0.328125 +vt 0.172414 0.281250 +vt 0.186207 0.296875 +vt 0.193103 -0.000000 +vt 0.186207 -0.000000 +vt 0.151724 -0.000000 +vt 0.144828 -0.000000 +vt 0.158621 -0.000000 +vt 0.172414 -0.000000 +vt 0.165517 -0.000000 +vt 0.179310 -0.000000 +vt 0.193103 0.109375 +vt 0.200000 0.109375 +vt 0.151724 0.109375 +vt 0.158621 0.109375 +vt 0.179310 0.109375 +vt 0.186207 0.109375 +vt 0.165517 0.109375 +vt 0.172414 0.109375 +vt 0.255172 0.218750 +vt 0.296552 0.234375 +vt 0.255172 0.234375 +vt 0.255172 0.187500 +vt 0.296552 0.203125 +vt 0.255172 0.203125 +vt 0.296552 0.250000 +vt 0.255172 0.250000 +vt 0.296552 0.218750 +vt 0.310345 0.187500 +vt 0.310345 0.203125 +vt 0.310345 0.250000 +vt 0.310345 0.218750 +vt 0.310345 0.234375 +vt 0.324138 0.234375 +vt 0.324138 0.187500 +vt 0.324138 0.203125 +vt 0.324138 0.250000 +vt 0.324138 0.218750 +vt 0.255172 0.218750 +vt 0.296552 0.234375 +vt 0.255172 0.234375 +vt 0.255172 0.187500 +vt 0.296552 0.203125 +vt 0.255172 0.203125 +vt 0.296552 0.250000 +vt 0.255172 0.250000 +vt 0.296552 0.218750 +vt 0.310345 0.187500 +vt 0.310345 0.203125 +vt 0.310345 0.250000 +vt 0.310345 0.218750 +vt 0.310345 0.234375 +vt 0.324138 0.234375 +vt 0.324138 0.187500 +vt 0.324138 0.203125 +vt 0.324138 0.250000 +vt 0.324138 0.218750 +vt 0.255172 0.218750 +vt 0.296552 0.234375 +vt 0.255172 0.234375 +vt 0.255172 0.187500 +vt 0.296552 0.203125 +vt 0.255172 0.203125 +vt 0.296552 0.250000 +vt 0.255172 0.250000 +vt 0.296552 0.218750 +vt 0.310345 0.187500 +vt 0.310345 0.203125 +vt 0.310345 0.250000 +vt 0.310345 0.218750 +vt 0.310345 0.234375 +vt 0.324138 0.234375 +vt 0.324138 0.187500 +vt 0.324138 0.203125 +vt 0.324138 0.250000 +vt 0.324138 0.218750 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.310345 0.187500 +vt 0.324138 0.218750 +vt 0.324138 0.187500 +vt 0.324138 0.218750 +vt 0.324138 0.187500 +vt 0.324138 0.250000 +vt 0.324138 0.218750 +vt 0.255172 0.250000 +vt 0.255172 0.250000 +vt 0.255172 0.250000 +vt 0.324138 0.187500 +vt 0.310345 0.187500 +vt 0.255172 0.187500 +vt 0.255172 0.187500 +vt 0.255172 0.187500 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.186207 0.281250 +vt 0.200000 -0.000000 +vt 0.144828 0.109375 +vt 0.296552 0.187500 +vt 0.296552 0.187500 +vt 0.296552 0.187500 +vt 0.958621 0.609375 +vt 0.965517 0.593750 +vt 0.965517 0.609375 +vt 0.958621 0.562500 +vt 0.965517 0.546875 +vt 0.965517 0.562500 +vt 0.986207 0.578125 +vt 0.965517 0.625000 +vt 0.958621 0.625000 +vt 0.958621 0.578125 +vt 0.965517 0.578125 +vt 0.986207 0.562500 +vt 0.958621 0.531250 +vt 0.965517 0.515625 +vt 0.965517 0.531250 +vt 0.958621 0.640625 +vt 0.965517 0.640625 +vt 0.958621 0.593750 +vt 0.979310 0.562500 +vt 0.986207 0.546875 +vt 0.958621 0.546875 +vt 0.979310 0.546875 +vt 0.965517 0.593750 +vt 0.972414 0.609375 +vt 0.965517 0.609375 +vt 0.965517 0.656250 +vt 0.972414 0.640625 +vt 0.972414 0.656250 +vt 0.965517 0.546875 +vt 0.972414 0.531250 +vt 0.972414 0.546875 +vt 0.965517 0.703125 +vt 0.972414 0.687500 +vt 0.972414 0.703125 +vt 0.972414 0.578125 +vt 0.972414 0.593750 +vt 0.965517 0.625000 +vt 0.965517 0.640625 +vt 0.965517 0.515625 +vt 0.965517 0.531250 +vt 0.965517 0.671875 +vt 0.965517 0.687500 +vt 0.965517 0.562500 +vt 0.965517 0.578125 +vt 0.972414 0.625000 +vt 0.972414 0.671875 +vt 0.972414 0.562500 +vt 0.089655 0.375000 +vt 0.075862 0.421875 +vt 0.075862 0.375000 +vt 0.075862 0.328125 +vt 0.089655 0.328125 +vt 0.075862 0.281250 +vt 0.089655 0.281250 +vt 0.075862 0.234375 +vt 0.089655 0.234375 +vt 0.075862 0.187500 +vt 0.089655 0.187500 +vt 0.089655 0.140625 +vt 0.075862 0.140625 +vt 0.089655 0.093750 +vt 0.075862 0.093750 +vt 0.089655 0.046875 +vt 0.075862 0.046875 +vt 0.089655 -0.000000 +vt 0.075862 0.000000 +vt 0.089655 0.750000 +vt 0.075862 0.703125 +vt 0.089655 0.703125 +vt 0.075862 0.656250 +vt 0.089655 0.656250 +vt 0.089655 0.609375 +vt 0.075862 0.609375 +vt 0.075862 0.562500 +vt 0.089655 0.562500 +vt 0.075862 0.515625 +vt 0.089655 0.515625 +vt 0.075862 0.468750 +vt 0.089655 0.468750 +vt 0.089655 0.421875 +vt 0.055172 0.375000 +vt 0.055172 0.328125 +vt 0.055172 -0.000000 +vt 0.055172 0.421875 +vt 0.055172 0.046875 +vt 0.055172 0.468750 +vt 0.055172 0.093750 +vt 0.055172 0.515625 +vt 0.055172 0.140625 +vt 0.055172 0.562500 +vt 0.055172 0.187500 +vt 0.055172 0.609375 +vt 0.055172 0.234375 +vt 0.055172 0.656250 +vt 0.055172 0.281250 +vt 0.075862 0.750000 +vt 0.055172 0.703125 +vt 0.000000 0.125000 +vt 0.000000 0.093750 +vt -0.000000 0.546875 +vt 0.000000 0.515625 +vt -0.000000 0.140625 +vt -0.000000 0.593750 +vt -0.000000 0.562500 +vt 0.000000 0.218750 +vt 0.000000 0.187500 +vt 0.000000 0.609375 +vt -0.000000 0.234375 +vt 0.000000 0.687500 +vt 0.000000 0.656250 +vt -0.000000 0.281250 +vt 0.055172 0.750000 +vt 0.000000 0.703125 +vt -0.000000 0.406250 +vt -0.000000 0.375000 +vt 0.000000 0.328125 +vt 0.000000 0.031250 +vt -0.000000 0.000000 +vt 0.000000 0.421875 +vt -0.000000 0.046875 +vt -0.000000 0.500000 +vt 0.000000 0.468750 +vt 0.393103 0.937500 +vt 0.413793 1.000000 +vt 0.393103 1.000000 +vt 0.393103 0.500000 +vt 0.413793 0.562500 +vt 0.393103 0.562500 +vt 0.393103 0.437500 +vt 0.413793 0.500000 +vt 0.393103 -0.000000 +vt 0.413793 0.062500 +vt 0.393103 0.062500 +vt 0.413793 0.625000 +vt 0.393103 0.625000 +vt 0.413793 0.125000 +vt 0.393103 0.125000 +vt 0.413793 0.687500 +vt 0.393103 0.687500 +vt 0.413793 0.187500 +vt 0.393103 0.187500 +vt 0.413793 0.750000 +vt 0.393103 0.750000 +vt 0.413793 0.250000 +vt 0.393103 0.250000 +vt 0.413793 0.812500 +vt 0.393103 0.812500 +vt 0.413793 0.312500 +vt 0.393103 0.312500 +vt 0.413793 0.875000 +vt 0.393103 0.875000 +vt 0.413793 0.375000 +vt 0.393103 0.375000 +vt 0.413793 0.937500 +vt 0.413793 0.437500 +vt 0.958621 0.515625 +vt 0.972414 0.515625 +vt -0.000000 0.171875 +vt 0.000000 0.640625 +vt -0.000000 0.265625 +vt -0.000000 0.312500 +vt -0.000000 0.734375 +vt 0.000000 0.359375 +vt -0.000000 0.453125 +vt -0.000000 0.078125 +vt 0.413793 -0.000000 +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.1617 0.3904 0.9063 +vn 0.1617 0.3905 0.9063 +vn 0.1752 0.8806 0.4403 +vn 0.0859 0.4318 -0.8979 +vn 0.9845 -0.1567 -0.0783 +vn -0.0859 -0.4318 0.8978 +vn -0.9695 0.2320 -0.0783 +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.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.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.3162 -0.8944 +vn 0.0000 0.7934 0.6088 +vn 0.0000 0.1305 -0.9914 +vn 0.0000 0.5000 0.8660 +vn 0.0000 0.5000 -0.8660 +vn 0.0000 -0.5000 -0.8660 +vn 0.0000 -0.5000 0.8660 +vn 0.6547 0.3780 -0.6547 +vn 0.6547 -0.3780 -0.6547 +vn 0.6547 -0.3780 0.6547 +vn 0.6547 0.7559 0.0000 +vn 0.6547 -0.7559 0.0000 +vn 0.6547 0.3780 0.6547 +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.9285 0.3714 +vn 0.0000 0.9285 -0.3714 +vn 0.0000 -0.9900 -0.1407 +vn 0.0000 0.9900 0.1407 +vn -0.1617 -0.3904 0.9063 +vn -0.1617 -0.3905 0.9063 +vn 0.3904 -0.1617 0.9063 +vn 0.3905 -0.1617 0.9063 +vn -0.3904 0.1617 0.9063 +vn -0.3905 0.1617 0.9063 +vn 0.3905 0.1617 0.9063 +vn 0.3904 0.1617 0.9063 +vn 0.3905 0.1618 0.9063 +vn -0.3904 -0.1617 0.9063 +vn -0.3905 -0.1617 0.9063 +vn 0.1617 -0.3905 0.9063 +vn 0.1617 -0.3904 0.9063 +vn 0.1618 -0.3905 0.9063 +vn -0.1617 0.3904 0.9063 +vn -0.1617 0.3905 0.9063 +vn -0.1752 -0.8806 0.4403 +vn -0.0859 -0.4318 -0.8979 +vn -0.9845 0.1567 -0.0783 +vn 0.0859 0.4318 0.8978 +vn 0.9695 -0.2320 -0.0783 +vn 0.8806 -0.1752 0.4403 +vn 0.4318 -0.0859 -0.8979 +vn -0.1567 -0.9845 -0.0783 +vn -0.4318 0.0859 0.8978 +vn 0.2320 0.9695 -0.0783 +vn -0.8806 0.1752 0.4403 +vn -0.4318 0.0859 -0.8979 +vn 0.1567 0.9845 -0.0783 +vn 0.4318 -0.0859 0.8978 +vn -0.2320 -0.9695 -0.0783 +vn 0.7465 0.4988 0.4403 +vn 0.3661 0.2446 -0.8979 +vn 0.5854 -0.8070 -0.0783 +vn -0.3661 -0.2446 0.8978 +vn -0.5215 0.8496 -0.0783 +vn -0.7465 -0.4988 0.4403 +vn -0.3661 -0.2446 -0.8979 +vn -0.5854 0.8070 -0.0783 +vn 0.3661 0.2446 0.8978 +vn 0.5215 -0.8496 -0.0783 +vn 0.4988 -0.7465 0.4403 +vn 0.2446 -0.3661 -0.8978 +vn -0.8070 -0.5854 -0.0783 +vn -0.2446 0.3661 0.8978 +vn 0.8497 0.5215 -0.0783 +vn -0.4988 0.7465 0.4403 +vn -0.2446 0.3661 -0.8979 +vn 0.8070 0.5854 -0.0783 +vn 0.2446 -0.3661 0.8978 +vn -0.8496 -0.5215 -0.0783 +vn 0.4988 0.7465 0.4403 +vn 0.2446 0.3661 -0.8979 +vn 0.8496 -0.5215 -0.0783 +vn -0.2446 -0.3661 0.8978 +vn -0.8069 0.5854 -0.0783 +vn -0.4988 -0.7465 0.4403 +vn -0.2446 -0.3661 -0.8979 +vn -0.8496 0.5215 -0.0783 +vn 0.2446 0.3661 0.8978 +vn 0.8069 -0.5854 -0.0783 +vn 0.7465 -0.4988 0.4403 +vn 0.3661 -0.2446 -0.8978 +vn -0.5215 -0.8496 -0.0783 +vn -0.3661 0.2446 0.8978 +vn 0.5854 0.8069 -0.0783 +vn -0.7465 0.4988 0.4403 +vn -0.3661 0.2446 -0.8978 +vn 0.5215 0.8496 -0.0783 +vn 0.3661 -0.2446 0.8978 +vn -0.5854 -0.8069 -0.0783 +vn 0.8806 0.1752 0.4403 +vn 0.4318 0.0859 -0.8979 +vn 0.2320 -0.9696 -0.0783 +vn -0.4318 -0.0859 0.8978 +vn -0.1567 0.9845 -0.0783 +vn -0.8806 -0.1752 0.4403 +vn -0.4318 -0.0859 -0.8979 +vn -0.2320 0.9696 -0.0783 +vn 0.4318 0.0859 0.8978 +vn 0.1567 -0.9845 -0.0783 +vn 0.1752 -0.8806 0.4403 +vn 0.0859 -0.4318 -0.8979 +vn -0.9696 -0.2320 -0.0783 +vn -0.0859 0.4318 0.8978 +vn 0.9845 0.1567 -0.0783 +vn -0.1752 0.8806 0.4403 +vn -0.0859 0.4318 -0.8979 +vn 0.9696 0.2320 -0.0783 +vn 0.0859 -0.4318 0.8978 +vn -0.9845 -0.1567 -0.0783 +vn 0.0859 0.4318 -0.8978 +vn -0.0859 -0.4318 -0.8978 +vn 0.4318 -0.0859 -0.8978 +vn -0.4318 0.0859 -0.8978 +vn 0.3661 0.2446 -0.8978 +vn -0.3661 -0.2446 -0.8978 +vn -0.2446 0.3661 -0.8978 +vn 0.2446 0.3661 -0.8978 +vn -0.8070 0.5854 -0.0783 +vn 0.8070 -0.5854 -0.0783 +vn 0.5854 0.8070 -0.0783 +vn -0.5854 -0.8070 -0.0783 +vn 0.4318 0.0859 0.8979 +vn 0.0859 -0.4318 -0.8978 +vn -0.7071 -0.7071 0.0057 +vn 0.0000 0.9487 -0.3162 +vn 0.0000 0.4472 -0.8944 +vn 0.0000 0.4226 -0.9063 +vn 0.0000 0.9063 0.4226 +vn -0.7071 0.6409 0.2988 +vn 0.7071 0.6409 0.2988 +vn -0.5000 -0.7849 -0.3660 +vn -0.0000 -0.4226 0.9063 +vn -0.2357 0.2357 0.9428 +vn 0.2357 0.2357 0.9428 +vn -0.2357 -0.2357 -0.9428 +vn -0.2357 -0.2357 0.9428 +vn -0.7082 -0.7060 -0.0004 +vn -0.7085 -0.7057 0.0000 +vn 0.7311 -0.6303 -0.2611 +vn 0.9973 0.0609 0.0399 +vn 0.7430 -0.5190 -0.4226 +vn 0.6721 0.5735 0.4683 +vn 0.6333 0.7150 0.2962 +vn -0.9947 0.0948 0.0393 +vn -0.6721 0.5735 0.4683 +vn -0.6333 0.7150 0.2962 +vn -0.7311 -0.6303 -0.2611 +vn -0.9973 0.0609 0.0399 +vn 0.0000 -0.7779 -0.6284 +vn 0.9947 0.0948 0.0393 +vn 0.0000 0.7690 0.6392 +vn -0.7430 -0.5190 -0.4226 +vn -0.9989 0.0183 0.0441 +vn -0.6840 0.2791 0.6739 +vn 0.6840 0.2791 0.6739 +vn 0.7317 -0.2608 -0.6297 +vn -0.7317 -0.2608 -0.6297 +vn 0.0000 0.3827 0.9239 +vn 0.9989 0.0183 0.0441 +vn 0.7317 0.0000 -0.6816 +vn -0.7317 0.0000 -0.6816 +vn -0.9989 0.0000 0.0477 +vn -0.6841 0.0000 0.7294 +vn 0.6840 -0.0000 0.7294 +vn 0.9989 0.0000 0.0477 +vn 0.0000 -0.1951 0.9808 +vn 0.6770 -0.1436 0.7219 +vn 0.9988 -0.0095 0.0477 +vn 0.7251 0.1344 -0.6754 +vn 0.0000 0.1951 -0.9808 +vn -0.9988 -0.0095 0.0477 +vn -0.6770 -0.1436 0.7219 +vn -0.7251 0.1344 -0.6754 +vn 0.8985 0.3215 -0.2988 +vn 0.9239 -0.3827 -0.0000 +vn -0.4080 0.8627 -0.2988 +vn 0.3468 0.8373 -0.4226 +vn -0.9239 0.3827 0.0000 +vn -0.8985 -0.3215 0.2988 +vn 0.4080 -0.8627 0.2988 +vn -0.3468 -0.8373 0.4226 +vn -0.4080 0.8627 -0.2989 +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.3827 0.9239 0.0000 +vn 0.6947 0.6947 0.1866 +vn 0.8431 -0.0945 0.5294 +vn 0.9891 0.0283 0.1448 +vn -0.3812 0.9204 0.0866 +vn -0.0945 0.8431 0.5294 +vn 0.0283 0.9891 0.1448 +vn 0.0945 0.8431 0.5294 +vn 0.3812 0.9204 0.0866 +vn -0.0283 0.9891 0.1448 +vn -0.8431 -0.0945 0.5294 +vn -0.6947 0.6947 0.1866 +vn -0.9891 0.0283 0.1448 +vn -0.9204 -0.3812 0.0866 +vn -0.5000 0.5000 0.7071 +vn 0.2384 0.6572 0.7150 +vn -0.8446 -0.4619 0.2706 +vn -0.6572 -0.2384 0.7150 +vn 0.5345 0.7559 0.3780 +vn 0.4619 0.8446 0.2706 +vn 0.0945 0.8431 0.5293 +vn -0.8431 -0.0945 0.5293 +vn -0.9204 -0.3813 0.0866 +vn -0.7559 -0.5345 0.3780 +vn 0.5000 0.5000 0.7071 +vn 0.9204 -0.3812 0.0866 +vn 0.8446 -0.4619 0.2706 +vn -0.2384 0.6572 0.7150 +vn 0.2706 0.2706 0.9239 +vn 0.6572 -0.2384 0.7150 +vn 0.7559 -0.5345 0.3780 +vn -0.5345 0.7559 0.3780 +vn -0.0945 0.8431 0.5293 +vn 0.8431 -0.0945 0.5293 +vn 0.9204 -0.3813 0.0866 +vn -0.4619 0.8446 0.2706 +vn -0.7311 0.6303 -0.2611 +vn -0.9973 -0.0609 0.0399 +vn -0.7430 0.5190 -0.4226 +vn -0.6721 -0.5735 0.4683 +vn -0.6333 -0.7150 0.2962 +vn 0.9947 -0.0948 0.0393 +vn 0.6721 -0.5735 0.4683 +vn 0.6333 -0.7150 0.2962 +vn 0.7311 0.6303 -0.2611 +vn 0.9973 -0.0609 0.0399 +vn -0.0000 0.7779 -0.6284 +vn -0.9947 -0.0948 0.0393 +vn -0.0000 -0.7690 0.6392 +vn 0.7430 0.5190 -0.4226 +vn 0.9989 -0.0183 0.0441 +vn 0.6840 -0.2791 0.6739 +vn -0.6840 -0.2791 0.6739 +vn -0.7317 0.2608 -0.6297 +vn 0.7317 0.2608 -0.6297 +vn -0.9989 -0.0183 0.0441 +vn 0.6841 -0.0000 0.7294 +vn -0.6840 -0.0000 0.7294 +vn -0.0000 0.1951 0.9808 +vn -0.6770 0.1436 0.7219 +vn -0.9988 0.0095 0.0477 +vn -0.7251 -0.1344 -0.6754 +vn -0.0000 -0.1951 -0.9808 +vn 0.9988 0.0095 0.0477 +vn 0.6770 0.1436 0.7219 +vn 0.7251 -0.1344 -0.6754 +vn -0.8985 -0.3215 -0.2988 +vn 0.4080 -0.8627 -0.2988 +vn -0.3468 -0.8373 -0.4226 +vn 0.8985 0.3215 0.2988 +vn -0.4080 0.8627 0.2988 +vn 0.3468 0.8373 0.4226 +vn 0.4080 -0.8627 -0.2989 +vn -0.6303 -0.7311 -0.2611 +vn 0.0609 -0.9973 0.0399 +vn -0.5190 -0.7430 -0.4226 +vn 0.9239 -0.0000 0.3827 +vn 0.5735 -0.6721 0.4683 +vn 0.7150 -0.6333 0.2962 +vn 0.0948 0.9947 0.0393 +vn 0.5735 0.6721 0.4683 +vn 0.7150 0.6333 0.2962 +vn -0.6303 0.7311 -0.2611 +vn 0.0609 0.9973 0.0399 +vn -0.9239 -0.0000 -0.3827 +vn -0.7779 -0.0000 -0.6284 +vn 0.0948 -0.9947 0.0393 +vn 0.7690 -0.0000 0.6392 +vn -0.5190 0.7430 -0.4226 +vn 0.0183 0.9989 0.0441 +vn 0.2791 0.6841 0.6739 +vn 0.2791 -0.6840 0.6739 +vn -0.2608 -0.7317 -0.6297 +vn -0.2608 0.7317 -0.6297 +vn 0.3827 -0.0000 0.9239 +vn 0.0183 -0.9989 0.0441 +vn -0.3827 -0.0000 -0.9239 +vn 0.0000 -0.7317 -0.6816 +vn 0.0000 0.7317 -0.6816 +vn 0.0000 0.9989 0.0477 +vn 0.0000 0.6841 0.7294 +vn 0.0000 -0.6840 0.7294 +vn 0.0000 -0.9989 0.0477 +vn -0.1951 -0.0000 0.9808 +vn -0.1436 -0.6770 0.7219 +vn -0.0095 -0.9988 0.0477 +vn 0.1344 -0.7251 -0.6754 +vn 0.1951 -0.0000 -0.9808 +vn -0.0095 0.9988 0.0477 +vn -0.1436 0.6770 0.7219 +vn 0.1344 0.7251 -0.6754 +vn 0.3215 -0.8985 -0.2988 +vn 0.8627 0.4080 -0.2988 +vn 0.8373 -0.3468 -0.4226 +vn -0.3215 0.8985 0.2988 +vn -0.8627 -0.4080 0.2988 +vn -0.8373 0.3468 0.4226 +vn 0.8627 0.4080 -0.2989 +vn -0.3215 0.8985 0.2989 +vn 0.6303 0.7311 -0.2611 +vn -0.0609 0.9973 0.0399 +vn 0.5190 0.7430 -0.4226 +vn -0.9239 0.0000 0.3827 +vn -0.5735 0.6721 0.4683 +vn -0.7150 0.6333 0.2962 +vn -0.0948 -0.9947 0.0393 +vn -0.5735 -0.6721 0.4683 +vn -0.7150 -0.6333 0.2962 +vn 0.6303 -0.7311 -0.2611 +vn -0.0609 -0.9973 0.0399 +vn 0.9239 0.0000 -0.3827 +vn 0.7779 0.0000 -0.6284 +vn -0.0948 0.9947 0.0393 +vn -0.7690 0.0000 0.6392 +vn 0.5190 -0.7430 -0.4226 +vn -0.0183 -0.9989 0.0441 +vn -0.2791 -0.6841 0.6739 +vn -0.2791 0.6840 0.6739 +vn 0.2608 0.7317 -0.6297 +vn 0.2608 -0.7317 -0.6297 +vn -0.3827 0.0000 0.9239 +vn -0.0183 0.9989 0.0441 +vn 0.3827 0.0000 -0.9239 +vn -0.0000 -0.6841 0.7294 +vn -0.0000 0.6840 0.7294 +vn 0.1951 0.0000 0.9808 +vn 0.1436 0.6770 0.7219 +vn 0.0095 0.9988 0.0477 +vn -0.1344 0.7251 -0.6754 +vn -0.1951 0.0000 -0.9808 +vn 0.0095 -0.9988 0.0477 +vn 0.1436 -0.6770 0.7219 +vn -0.1344 -0.7251 -0.6754 +vn -0.3215 0.8985 -0.2988 +vn -0.8627 -0.4080 -0.2988 +vn -0.8373 0.3468 -0.4226 +vn 0.3215 -0.8985 0.2988 +vn 0.8373 -0.3468 0.4226 +vn 0.8627 0.4080 0.2988 +vn -0.8627 -0.4080 -0.2989 +vn 0.3215 -0.8985 0.2989 +vn 0.0712 -0.9627 -0.2611 +vn 0.7483 -0.6622 0.0399 +vn 0.1584 -0.8924 -0.4226 +vn 0.6533 0.6533 0.3827 +vn 0.8808 -0.0697 0.4683 +vn 0.9534 0.0578 0.2962 +vn -0.6364 0.7704 0.0393 +vn -0.0697 0.8808 0.4683 +vn 0.0578 0.9534 0.2962 +vn -0.9627 0.0713 -0.2611 +vn -0.6622 0.7483 0.0399 +vn -0.6533 -0.6533 -0.3827 +vn -0.5501 -0.5501 -0.6284 +vn 0.7704 -0.6363 0.0393 +vn 0.5438 0.5438 0.6392 +vn -0.8924 0.1584 -0.4226 +vn -0.6934 0.7192 0.0441 +vn -0.2863 0.6811 0.6739 +vn 0.6811 -0.2863 0.6739 +vn 0.3330 -0.7018 -0.6297 +vn -0.7018 0.3330 -0.6297 +vn 0.7192 -0.6934 0.0441 +vn -0.2706 -0.2706 -0.9239 +vn 0.5174 -0.5174 -0.6816 +vn -0.5174 0.5174 -0.6816 +vn -0.7063 0.7063 0.0477 +vn -0.4837 0.4837 0.7294 +vn 0.4837 -0.4837 0.7294 +vn 0.7063 -0.7063 0.0477 +vn -0.1379 -0.1379 0.9808 +vn 0.3772 -0.5802 0.7219 +vn 0.6996 -0.7130 0.0477 +vn 0.6077 -0.4177 -0.6754 +vn 0.1379 0.1380 -0.9808 +vn -0.7130 0.6996 0.0477 +vn -0.5802 0.3772 0.7219 +vn -0.4177 0.6077 -0.6754 +vn 0.8627 -0.4080 -0.2988 +vn 0.3215 0.8985 -0.2988 +vn 0.8373 0.3468 -0.4226 +vn -0.8627 0.4080 0.2988 +vn -0.3215 -0.8985 0.2988 +vn -0.8373 -0.3468 0.4226 +vn -0.8627 0.4080 0.2989 +vn 0.3215 0.8985 -0.2989 +vn -0.0712 0.9627 -0.2611 +vn -0.7483 0.6622 0.0399 +vn -0.1584 0.8924 -0.4226 +vn -0.6533 -0.6533 0.3827 +vn -0.8808 0.0697 0.4683 +vn -0.9534 -0.0578 0.2962 +vn 0.6364 -0.7704 0.0393 +vn 0.0697 -0.8808 0.4683 +vn -0.0578 -0.9534 0.2962 +vn 0.9627 -0.0712 -0.2611 +vn 0.6622 -0.7483 0.0399 +vn 0.6533 0.6533 -0.3827 +vn 0.5501 0.5501 -0.6284 +vn -0.7704 0.6363 0.0393 +vn -0.5438 -0.5438 0.6392 +vn 0.8924 -0.1584 -0.4226 +vn 0.6934 -0.7192 0.0441 +vn 0.2863 -0.6811 0.6739 +vn -0.6811 0.2863 0.6739 +vn -0.3330 0.7018 -0.6297 +vn 0.7018 -0.3330 -0.6297 +vn -0.2706 -0.2706 0.9239 +vn -0.7192 0.6934 0.0441 +vn 0.2706 0.2706 -0.9239 +vn 0.1379 0.1379 0.9808 +vn -0.3772 0.5802 0.7219 +vn -0.6996 0.7130 0.0477 +vn -0.6077 0.4177 -0.6754 +vn -0.1379 -0.1380 -0.9808 +vn 0.7130 -0.6996 0.0477 +vn 0.5802 -0.3772 0.7219 +vn 0.4177 -0.6077 -0.6754 +vn -0.8627 0.4080 -0.2988 +vn -0.3215 -0.8985 -0.2988 +vn -0.8373 -0.3468 -0.4226 +vn 0.8627 -0.4080 0.2988 +vn 0.3215 0.8985 0.2988 +vn 0.8373 0.3468 0.4226 +vn 0.8627 -0.4080 0.2989 +vn -0.9627 -0.0712 -0.2611 +vn -0.6622 -0.7483 0.0399 +vn -0.8924 -0.1584 -0.4226 +vn 0.6533 -0.6533 0.3827 +vn -0.0697 -0.8808 0.4683 +vn 0.0578 -0.9534 0.2962 +vn 0.7704 0.6364 0.0393 +vn 0.8808 0.0697 0.4683 +vn 0.9534 -0.0578 0.2962 +vn 0.0713 0.9627 -0.2611 +vn 0.7483 0.6622 0.0399 +vn -0.6533 0.6533 -0.3827 +vn -0.5501 0.5501 -0.6284 +vn -0.6363 -0.7704 0.0393 +vn 0.5438 -0.5438 0.6392 +vn 0.1584 0.8924 -0.4226 +vn 0.7192 0.6934 0.0441 +vn 0.6811 0.2863 0.6739 +vn -0.2863 -0.6811 0.6739 +vn -0.7018 -0.3330 -0.6297 +vn 0.3330 0.7018 -0.6297 +vn 0.2706 -0.2706 0.9239 +vn -0.6934 -0.7192 0.0441 +vn -0.2706 0.2706 -0.9239 +vn -0.5174 -0.5174 -0.6816 +vn 0.5174 0.5174 -0.6816 +vn 0.7063 0.7063 0.0477 +vn 0.4837 0.4837 0.7294 +vn -0.4837 -0.4837 0.7294 +vn -0.7063 -0.7063 0.0477 +vn -0.1379 0.1379 0.9808 +vn -0.5802 -0.3772 0.7219 +vn -0.7130 -0.6996 0.0477 +vn -0.4177 -0.6077 -0.6754 +vn 0.1379 -0.1380 -0.9808 +vn 0.6996 0.7130 0.0477 +vn 0.3772 0.5802 0.7219 +vn 0.6077 0.4177 -0.6754 +vn -0.4080 -0.8627 -0.2988 +vn 0.8985 -0.3215 -0.2988 +vn 0.3468 -0.8373 -0.4226 +vn 0.4080 0.8627 0.2988 +vn -0.8985 0.3215 0.2988 +vn -0.3468 0.8373 0.4226 +vn 0.4081 0.8627 0.2989 +vn 0.9627 0.0712 -0.2611 +vn 0.6622 0.7483 0.0399 +vn 0.8924 0.1584 -0.4226 +vn -0.6533 0.6533 0.3827 +vn 0.0697 0.8808 0.4683 +vn -0.0578 0.9534 0.2962 +vn -0.7704 -0.6364 0.0393 +vn -0.8808 -0.0697 0.4683 +vn -0.9534 0.0578 0.2962 +vn -0.0713 -0.9627 -0.2611 +vn -0.7483 -0.6622 0.0399 +vn 0.6533 -0.6533 -0.3827 +vn 0.5501 -0.5501 -0.6284 +vn 0.6363 0.7704 0.0393 +vn -0.5438 0.5438 0.6392 +vn -0.1584 -0.8924 -0.4226 +vn -0.7192 -0.6934 0.0441 +vn -0.6811 -0.2863 0.6739 +vn 0.2863 0.6811 0.6739 +vn 0.7018 0.3330 -0.6297 +vn -0.3330 -0.7018 -0.6297 +vn -0.2706 0.2706 0.9239 +vn 0.6934 0.7192 0.0441 +vn 0.2706 -0.2706 -0.9239 +vn 0.1379 -0.1379 0.9808 +vn 0.5802 0.3772 0.7219 +vn 0.7130 0.6996 0.0477 +vn 0.4177 0.6077 -0.6754 +vn -0.1379 0.1380 -0.9808 +vn -0.6996 -0.7130 0.0477 +vn -0.3772 -0.5802 0.7219 +vn -0.6077 -0.4177 -0.6754 +vn 0.4080 0.8627 -0.2988 +vn -0.8985 0.3215 -0.2988 +vn -0.3468 0.8373 -0.4226 +vn -0.4080 -0.8627 0.2988 +vn 0.3468 -0.8373 0.4226 +vn 0.8985 -0.3215 0.2988 +vn -0.4080 -0.8627 0.2989 +vn 0.4080 0.8627 -0.2989 +vn -0.8985 0.3215 -0.2989 +vn 0.6794 0.7194 0.1448 +vn -0.6794 0.7194 0.1448 +vn 0.9204 0.3812 0.0866 +vn 0.0000 0.9824 0.1866 +vn -0.9239 0.2706 0.2706 +vn -0.6630 0.5294 0.5294 +vn 0.9239 0.2706 0.2706 +vn 0.6630 0.5294 0.5294 +vn 0.6333 0.2962 0.7150 +vn -0.9125 0.1566 0.3780 +vn -0.6333 0.2962 0.7150 +vn 0.9125 0.1566 0.3780 +vn -0.9204 0.3812 0.0866 +vn 0.0000 -0.9063 -0.4226 +vn -0.8660 0.4532 0.2113 +vn 0.2588 0.8754 0.4082 +vn 0.5000 0.7849 0.3660 +vn 0.5000 -0.7849 -0.3660 +vn -0.8660 -0.4532 -0.2113 +vn 0.8660 0.4532 0.2113 +vn -0.5000 0.7849 0.3660 +vn -0.2588 0.8754 0.4082 +vn 0.7071 -0.6409 -0.2988 +vn 0.9659 -0.2346 -0.1094 +vn 0.8660 -0.4532 -0.2113 +vn 0.0000 -0.8944 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 +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.3162 0.3162 0.8944 +vn -0.4132 0.1711 0.8944 +vn 0.4132 -0.1711 0.8944 +vn 0.4472 -0.0000 0.8944 +vn -0.4472 -0.0000 0.8944 +vn 0.4132 0.1711 0.8944 +vn -0.4132 -0.1711 0.8944 +vn 0.3162 0.3162 0.8944 +vn -0.3162 -0.3162 0.8944 +vn 0.1711 0.4132 0.8944 +vn -0.1711 -0.4132 0.8944 +vn -0.0000 0.4472 0.8944 +vn 0.0000 -0.4472 0.8944 +vn 0.1711 -0.4132 0.8944 +vn -0.1711 0.4132 0.8944 +vn 0.3162 -0.3162 0.8944 +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 9/9/1 12/12/1 5/5/1 +f 16/16/1 1/1/1 13/13/1 +f 9/17/2 17/18/2 7/19/2 +f 5/20/3 18/21/3 9/22/3 +f 16/23/4 19/24/4 2/25/4 +f 2/26/3 20/27/3 6/28/3 +f 21/29/1 22/30/1 23/31/1 +f 24/32/1 18/21/1 25/33/1 +f 19/24/1 26/34/1 20/27/1 +f 27/35/1 28/36/1 29/37/1 +f 8/38/3 23/31/3 10/39/3 +f 30/40/4 21/29/4 8/41/4 +f 31/42/5 32/43/5 30/44/5 +f 6/45/2 26/34/2 4/46/2 +f 7/47/5 24/32/5 33/48/5 +f 33/49/4 25/33/4 5/50/4 +f 4/51/5 34/52/5 16/53/5 +f 10/54/2 22/30/2 31/55/2 +f 1/56/5 27/35/5 35/57/5 +f 35/58/4 29/37/4 14/59/4 +f 14/60/3 28/36/3 3/61/3 +f 3/62/2 36/63/2 1/64/2 +f 37/65/6 38/66/6 39/67/6 +f 40/68/6 41/69/6 42/70/6 +f 43/71/6 44/72/6 45/73/6 +f 46/74/6 47/75/6 44/72/6 +f 48/76/7 39/67/7 49/77/7 +f 50/78/6 41/69/6 38/66/6 +f 43/71/6 51/79/6 40/68/6 +f 52/80/6 49/81/6 47/75/6 +f 53/82/6 54/83/6 55/84/6 +f 56/85/6 57/86/6 58/87/6 +f 56/85/6 59/88/6 60/89/6 +f 61/90/7 59/88/7 62/91/7 +f 63/92/6 64/93/6 61/94/6 +f 65/95/7 66/96/7 63/92/7 +f 65/95/7 67/97/7 68/98/7 +f 69/99/6 70/100/6 67/97/6 +f 71/101/7 57/86/7 70/100/7 +f 72/102/8 73/103/8 74/104/8 +f 75/105/9 73/103/9 76/106/9 +f 77/107/10 76/106/10 72/102/10 +f 77/108/11 74/104/11 78/109/11 +f 78/110/12 73/103/12 79/111/12 +f 80/112/3 81/113/3 82/114/3 +f 83/115/3 84/116/3 85/117/3 +f 82/114/3 86/118/3 87/119/3 +f 88/120/3 86/121/3 89/122/3 +f 88/120/3 90/123/3 91/124/3 +f 91/125/3 92/126/3 93/127/3 +f 93/127/3 94/128/3 95/129/3 +f 96/130/3 94/131/3 97/132/3 +f 96/130/3 98/133/3 80/112/3 +f 99/134/3 100/135/3 101/136/3 +f 102/137/3 103/138/3 99/139/3 +f 104/140/3 102/141/3 105/142/3 +f 106/143/3 105/144/3 107/145/3 +f 108/146/3 107/147/3 109/148/3 +f 110/149/3 108/150/3 109/151/3 +f 111/152/3 112/153/3 110/154/3 +f 101/155/3 113/156/3 111/157/3 +f 114/158/1 115/159/1 116/160/1 +f 13/13/3 117/161/3 11/11/3 +f 15/15/2 118/162/2 13/13/2 +f 12/12/5 119/163/5 15/15/5 +f 11/11/4 120/164/4 12/12/4 +f 121/165/13 122/166/13 123/167/13 +f 123/168/14 124/169/14 114/170/14 +f 122/171/15 125/172/15 115/173/15 +f 126/174/16 127/175/16 128/176/16 +f 129/177/17 115/173/17 124/169/17 +f 130/178/18 116/179/18 125/172/18 +f 131/180/19 128/176/19 132/181/19 +f 133/182/20 114/170/20 127/175/20 +f 134/183/3 135/184/3 136/185/3 +f 137/186/5 138/187/5 139/188/5 +f 134/189/21 140/190/21 141/191/21 +f 135/184/22 139/192/22 136/193/22 +f 141/191/23 137/186/23 135/184/23 +f 136/194/24 138/195/24 134/189/24 +f 142/196/3 143/197/3 144/198/3 +f 145/199/5 146/200/5 147/201/5 +f 142/202/22 148/203/22 149/204/22 +f 143/197/21 147/205/21 144/206/21 +f 149/204/24 145/199/24 143/197/24 +f 144/206/23 146/207/23 142/208/23 +f 150/209/3 151/210/3 152/211/3 +f 153/212/5 154/213/5 155/214/5 +f 156/215/24 154/213/24 151/210/24 +f 152/211/23 153/216/23 150/217/23 +f 151/210/21 157/218/21 152/211/21 +f 150/219/22 155/220/22 156/215/22 +f 158/221/3 159/222/3 160/223/3 +f 161/224/5 162/225/5 163/226/5 +f 164/227/23 162/225/23 159/222/23 +f 160/223/24 161/228/24 158/229/24 +f 159/222/22 165/230/22 160/223/22 +f 158/229/21 163/231/21 164/232/21 +f 166/233/3 167/234/3 168/235/3 +f 169/236/25 170/237/25 171/238/25 +f 166/239/21 172/240/21 173/241/21 +f 167/234/22 171/238/22 168/242/22 +f 173/241/23 169/236/23 167/234/23 +f 166/239/24 171/243/24 170/244/24 +f 174/245/26 175/246/26 176/247/26 +f 177/248/13 178/249/13 179/250/13 +f 178/251/16 180/252/16 175/246/16 +f 181/253/27 182/254/27 180/252/27 +f 176/255/1 175/256/1 180/257/1 +f 183/258/2 184/259/2 185/260/2 +f 183/258/13 186/261/13 187/262/13 +f 184/259/1 188/263/1 185/260/1 +f 189/264/5 190/265/5 191/266/5 +f 192/267/13 193/268/13 194/269/13 +f 195/270/1 191/266/1 196/271/1 +f 194/272/4 189/264/4 195/273/4 +f 196/274/2 190/265/2 192/275/2 +f 197/276/2 198/277/2 199/278/2 +f 200/279/28 201/280/28 202/281/28 +f 203/282/29 204/283/29 205/284/29 +f 206/285/30 205/284/30 198/277/30 +f 207/286/31 199/287/31 201/280/31 +f 208/288/4 202/281/4 204/283/4 +f 199/289/13 198/290/13 205/291/13 +f 209/292/4 210/293/4 211/294/4 +f 212/295/2 213/296/2 214/297/2 +f 215/298/28 216/299/28 209/300/28 +f 211/301/29 217/302/29 218/303/29 +f 218/304/30 219/305/30 212/306/30 +f 214/307/31 220/308/31 215/309/31 +f 219/310/1 221/311/1 213/296/1 +f 216/299/1 222/312/1 223/313/1 +f 210/314/1 224/315/1 217/302/1 +f 219/305/1 224/315/1 225/316/1 +f 213/317/1 222/312/1 220/308/1 +f 216/318/1 226/319/1 210/293/1 +f 224/315/30 227/320/30 225/316/30 +f 221/321/31 228/322/31 222/312/31 +f 223/313/4 229/323/4 226/319/4 +f 225/316/2 230/324/2 221/311/2 +f 222/312/28 231/325/28 223/313/28 +f 226/319/29 232/326/29 224/315/29 +f 228/322/13 233/327/13 231/325/13 +f 231/325/13 234/328/13 229/323/13 +f 232/326/13 234/329/13 235/330/13 +f 232/326/13 236/331/13 227/320/13 +f 227/320/13 237/332/13 230/324/13 +f 228/322/13 237/333/13 238/334/13 +f 237/333/31 239/335/31 238/334/31 +f 233/336/4 240/337/4 234/328/4 +f 236/338/2 241/339/2 237/332/2 +f 238/340/28 242/341/28 233/327/28 +f 234/329/29 243/342/29 235/330/29 +f 235/343/30 244/344/30 236/331/30 +f 239/345/1 245/346/1 242/341/1 +f 242/347/1 246/348/1 240/337/1 +f 243/342/1 246/348/1 247/349/1 +f 243/350/1 248/351/1 244/344/1 +f 244/352/1 249/353/1 241/339/1 +f 239/335/1 249/354/1 250/355/1 +f 245/346/4 251/356/4 246/348/4 +f 248/351/2 252/357/2 249/353/2 +f 250/355/28 253/358/28 245/346/28 +f 246/348/29 254/359/29 247/349/29 +f 247/349/30 255/360/30 248/351/30 +f 249/354/31 256/361/31 250/355/31 +f 251/356/32 257/362/32 254/359/32 +f 254/359/33 258/363/33 255/360/33 +f 256/361/34 259/364/34 260/365/34 +f 253/358/35 261/366/35 251/356/35 +f 255/360/36 259/367/36 252/357/36 +f 253/358/37 260/368/37 262/369/37 +f 259/370/13 258/371/13 257/372/13 +f 263/373/38 264/374/38 265/375/38 +f 265/376/1 266/377/1 267/378/1 +f 267/378/39 268/379/39 269/380/39 +f 263/373/13 268/379/13 270/381/13 +f 271/382/38 272/383/38 273/384/38 +f 274/385/13 275/386/13 271/387/13 +f 276/388/1 272/383/1 277/389/1 +f 277/389/40 275/386/40 278/390/40 +f 274/385/41 273/391/41 276/392/41 +f 279/393/1 280/394/1 281/395/1 +f 282/396/42 280/397/42 283/398/42 +f 284/399/13 285/400/13 286/401/13 +f 279/393/43 287/402/43 288/403/43 +f 285/400/13 289/404/13 290/405/13 +f 291/406/44 292/407/44 280/397/44 +f 288/408/13 282/409/13 293/410/13 +f 294/411/40 288/403/40 293/410/40 +f 294/411/1 283/412/1 279/413/1 +f 284/414/13 286/415/13 295/416/13 +f 296/417/40 284/399/40 295/416/40 +f 296/417/1 297/418/1 298/419/1 +f 299/420/5 293/410/5 300/421/5 +f 301/422/3 283/423/3 302/424/3 +f 303/425/13 286/415/13 304/426/13 +f 305/427/1 296/417/1 306/428/1 +f 302/429/1 294/411/1 299/420/1 +f 306/428/5 295/416/5 303/425/5 +f 304/426/3 297/430/3 305/431/3 +f 300/421/13 282/409/13 301/422/13 +f 286/401/42 307/432/42 297/433/42 +f 288/403/13 291/406/13 282/396/13 +f 308/434/4 309/435/4 310/436/4 +f 311/437/45 289/404/45 312/438/45 +f 307/439/1 313/440/1 311/437/1 +f 280/394/1 314/441/1 281/395/1 +f 285/400/44 315/442/44 307/432/44 +f 291/406/13 316/443/13 317/444/13 +f 281/395/45 316/443/45 287/402/45 +f 298/445/1 307/439/1 311/437/1 +f 298/445/43 312/438/43 284/399/43 +f 318/446/30 319/447/30 320/448/30 +f 321/449/3 322/450/3 308/434/3 +f 323/451/2 324/452/2 319/447/2 +f 325/453/2 326/454/2 321/449/2 +f 327/455/31 328/456/31 324/457/31 +f 310/458/5 329/459/5 325/453/5 +f 330/460/28 331/461/28 328/456/28 +f 332/462/13 330/463/13 327/464/13 +f 332/465/4 333/466/4 331/461/4 +f 334/467/29 320/448/29 333/466/29 +f 331/468/1 333/469/1 319/470/1 +f 329/459/21 335/471/21 326/454/21 +f 326/472/3 335/471/3 322/473/3 +f 309/474/5 336/475/5 329/476/5 +f 309/474/5 337/477/5 336/475/5 +f 338/478/2 339/479/2 337/480/2 +f 336/475/13 340/481/13 335/471/13 +f 335/471/3 341/482/3 322/473/3 +f 322/473/1 338/483/1 309/484/1 +f 337/480/13 342/485/13 340/486/13 +f 341/487/1 343/488/1 338/489/1 +f 342/485/38 341/482/38 340/481/38 +f 344/490/43 345/491/43 346/492/43 +f 337/480/13 344/490/13 342/485/13 +f 342/485/4 346/492/4 343/488/4 +f 343/488/1 347/493/1 338/489/1 +f 348/494/13 349/495/13 350/496/13 +f 347/493/1 345/491/1 351/497/1 +f 347/498/42 348/499/42 339/479/42 +f 339/479/13 350/500/13 344/490/13 +f 349/495/40 345/491/40 350/500/40 +f 352/501/1 353/502/1 351/503/1 +f 351/503/1 345/504/1 352/501/1 +f 353/505/3 354/506/3 355/507/3 +f 351/508/3 356/509/3 348/494/3 +f 348/494/13 357/510/13 349/495/13 +f 349/495/5 358/511/5 352/501/5 +f 357/512/5 359/513/5 358/514/5 +f 355/507/21 357/510/21 356/509/21 +f 353/505/3 355/507/3 356/515/3 +f 358/514/4 360/516/4 353/517/4 +f 359/513/5 361/518/5 358/514/5 +f 355/507/2 362/519/2 359/513/2 +f 363/520/46 364/521/46 365/522/46 +f 366/523/46 367/524/46 368/525/46 +f 369/526/46 370/527/46 371/528/46 +f 372/529/46 373/530/46 370/527/46 +f 374/531/47 365/522/47 375/532/47 +f 376/533/46 367/524/46 364/521/46 +f 366/523/46 371/528/46 377/534/46 +f 378/535/46 375/536/46 373/530/46 +f 379/537/46 380/538/46 381/539/46 +f 382/540/46 383/541/46 384/542/46 +f 382/540/46 385/543/46 386/544/46 +f 387/545/47 385/543/47 388/546/47 +f 389/547/46 390/548/46 387/549/46 +f 389/547/47 391/550/47 392/551/47 +f 393/552/47 394/553/47 391/550/47 +f 395/554/46 396/555/46 394/553/46 +f 397/556/47 383/541/47 396/555/47 +f 398/557/48 399/558/48 400/559/48 +f 401/560/48 402/561/48 403/562/48 +f 404/563/48 405/564/48 406/565/48 +f 407/566/48 408/567/48 405/564/48 +f 409/568/49 400/559/49 410/569/49 +f 411/570/48 402/561/48 399/558/48 +f 404/563/48 412/571/48 401/560/48 +f 413/572/48 410/573/48 408/567/48 +f 414/574/48 415/575/48 416/576/48 +f 417/577/48 418/578/48 419/579/48 +f 417/577/48 420/580/48 421/581/48 +f 422/582/49 420/580/49 423/583/49 +f 424/584/48 425/585/48 422/586/48 +f 426/587/49 427/588/49 424/584/49 +f 426/587/49 428/589/49 429/590/49 +f 430/591/48 431/592/48 428/589/48 +f 432/593/49 418/578/49 431/592/49 +f 433/594/50 434/595/50 435/596/50 +f 436/597/50 437/598/50 438/599/50 +f 439/600/50 440/601/50 441/602/50 +f 442/603/50 443/604/50 440/601/50 +f 444/605/51 435/596/51 445/606/51 +f 446/607/50 437/598/50 434/595/50 +f 439/600/50 447/608/50 436/597/50 +f 448/609/50 445/610/50 443/604/50 +f 449/611/50 450/612/50 451/613/50 +f 452/614/50 453/615/50 454/616/50 +f 452/614/50 455/617/50 456/618/50 +f 457/619/51 455/617/51 458/620/51 +f 459/621/50 460/622/50 457/623/50 +f 461/624/51 462/625/51 459/621/51 +f 461/624/51 463/626/51 464/627/51 +f 465/628/50 466/629/50 463/626/50 +f 467/630/51 453/615/51 466/629/51 +f 468/631/52 469/632/52 470/633/52 +f 471/634/53 472/635/53 473/636/53 +f 474/637/53 475/638/53 476/639/53 +f 477/640/52 478/641/52 475/638/52 +f 479/642/52 470/633/52 480/643/52 +f 481/644/53 472/635/53 469/632/53 +f 474/637/53 482/645/53 471/634/53 +f 483/646/53 480/647/53 478/641/53 +f 484/648/52 485/649/52 486/650/52 +f 487/651/52 488/652/52 489/653/52 +f 487/651/52 490/654/52 491/655/52 +f 492/656/52 490/654/52 493/657/52 +f 494/658/53 495/659/53 492/660/53 +f 496/661/53 497/662/53 494/658/53 +f 496/661/52 498/663/52 499/664/52 +f 500/665/53 501/666/53 498/663/53 +f 502/667/54 488/652/54 501/666/54 +f 503/668/55 504/669/55 505/670/55 +f 506/671/55 507/672/55 508/673/55 +f 509/674/56 510/675/56 511/676/56 +f 512/677/55 513/678/55 510/675/55 +f 514/679/56 505/670/56 515/680/56 +f 516/681/55 507/672/55 504/669/55 +f 509/674/55 517/682/55 506/671/55 +f 518/683/55 515/684/55 513/678/55 +f 519/685/56 520/686/56 521/687/56 +f 522/688/56 523/689/56 524/690/56 +f 522/688/55 525/691/55 526/692/55 +f 527/693/56 525/691/56 528/694/56 +f 529/695/55 530/696/55 527/697/55 +f 531/698/56 532/699/56 529/695/56 +f 531/698/56 533/700/56 534/701/56 +f 535/702/55 536/703/55 533/700/55 +f 537/704/56 523/689/56 536/703/56 +f 538/705/57 539/706/57 540/707/57 +f 541/708/58 542/709/58 543/710/58 +f 544/711/57 545/712/57 546/713/57 +f 547/714/58 548/715/58 545/712/58 +f 549/716/57 540/707/57 550/717/57 +f 551/718/58 542/709/58 539/706/58 +f 541/708/58 546/713/58 552/719/58 +f 553/720/58 550/721/58 548/715/58 +f 554/722/57 555/723/57 556/724/57 +f 557/725/57 558/726/57 559/727/57 +f 557/725/58 560/728/58 561/729/58 +f 562/730/57 560/728/57 563/731/57 +f 564/732/58 565/733/58 562/734/58 +f 566/735/57 567/736/57 564/732/57 +f 566/735/57 568/737/57 569/738/57 +f 570/739/58 571/740/58 568/737/58 +f 572/741/59 558/726/59 571/740/59 +f 573/742/60 574/743/60 575/744/60 +f 576/745/60 577/746/60 578/747/60 +f 579/748/60 580/749/60 581/750/60 +f 582/751/60 580/749/60 583/752/60 +f 584/753/61 575/744/61 585/754/61 +f 586/755/60 577/746/60 574/743/60 +f 579/748/60 587/756/60 576/745/60 +f 582/751/60 585/757/60 588/758/60 +f 589/759/61 590/760/61 591/761/61 +f 592/762/61 593/763/61 594/764/61 +f 592/762/61 595/765/61 596/766/61 +f 597/767/61 595/765/61 598/768/61 +f 599/769/60 600/770/60 597/771/60 +f 601/772/60 602/773/60 599/769/60 +f 601/772/61 603/774/61 604/775/61 +f 605/776/61 606/777/61 603/774/61 +f 607/778/61 593/763/61 606/777/61 +f 608/779/62 609/780/62 610/781/62 +f 611/782/63 610/781/63 609/780/63 +f 612/783/64 609/780/64 613/784/64 +f 612/785/65 608/779/65 614/786/65 +f 614/787/66 610/781/66 615/788/66 +f 616/789/67 617/790/67 618/791/67 +f 619/792/68 617/790/68 620/793/68 +f 621/794/69 620/793/69 616/789/69 +f 621/795/70 618/791/70 622/796/70 +f 622/797/71 617/790/71 623/798/71 +f 624/799/72 625/800/72 626/801/72 +f 627/802/73 626/801/73 625/800/73 +f 628/803/74 625/800/74 629/804/74 +f 628/805/75 624/799/75 630/806/75 +f 630/807/76 626/801/76 631/808/76 +f 632/809/77 633/810/77 634/811/77 +f 635/812/78 634/811/78 633/810/78 +f 636/813/79 633/810/79 637/814/79 +f 636/815/80 632/809/80 638/816/80 +f 638/817/81 634/811/81 639/818/81 +f 640/819/82 641/820/82 642/821/82 +f 643/822/83 642/821/83 641/820/83 +f 644/823/84 641/820/84 645/824/84 +f 644/825/85 640/819/85 646/826/85 +f 646/827/86 642/821/86 647/828/86 +f 648/829/87 649/830/87 650/831/87 +f 651/832/88 649/830/88 652/833/88 +f 653/834/89 652/833/89 648/829/89 +f 653/835/90 650/831/90 654/836/90 +f 654/837/91 649/830/91 655/838/91 +f 656/839/92 657/840/92 658/841/92 +f 659/842/93 658/841/93 657/840/93 +f 660/843/94 657/840/94 661/844/94 +f 660/845/95 656/839/95 662/846/95 +f 662/847/96 658/841/96 663/848/96 +f 664/849/97 665/850/97 666/851/97 +f 667/852/98 665/850/98 668/853/98 +f 669/854/99 668/853/99 664/849/99 +f 669/855/100 666/851/100 670/856/100 +f 670/857/101 665/850/101 671/858/101 +f 672/859/102 673/860/102 674/861/102 +f 675/862/103 674/861/103 673/860/103 +f 676/863/104 673/860/104 677/864/104 +f 676/865/105 672/859/105 678/866/105 +f 678/867/106 674/861/106 679/868/106 +f 680/869/107 681/870/107 682/871/107 +f 683/872/108 682/871/108 681/870/108 +f 684/873/109 681/870/109 685/874/109 +f 684/875/110 680/869/110 686/876/110 +f 686/877/111 682/871/111 687/878/111 +f 688/879/112 689/880/112 690/881/112 +f 691/882/113 690/881/113 689/880/113 +f 692/883/114 689/880/114 693/884/114 +f 692/885/115 688/879/115 694/886/115 +f 694/887/116 690/881/116 695/888/116 +f 696/889/117 697/890/117 698/891/117 +f 699/892/118 698/891/118 697/890/118 +f 700/893/119 697/890/119 701/894/119 +f 700/895/120 696/889/120 702/896/120 +f 702/897/121 698/891/121 703/898/121 +f 704/899/122 705/900/122 706/901/122 +f 707/902/123 706/901/123 705/900/123 +f 708/903/124 705/900/124 709/904/124 +f 708/905/125 704/899/125 710/906/125 +f 710/907/126 706/901/126 711/908/126 +f 712/909/127 713/910/127 714/911/127 +f 715/912/128 713/910/128 716/913/128 +f 717/914/129 716/913/129 712/909/129 +f 717/915/130 714/911/130 718/916/130 +f 718/917/131 713/910/131 719/918/131 +f 720/919/132 721/920/132 722/921/132 +f 723/922/133 722/921/133 721/920/133 +f 724/923/134 721/920/134 725/924/134 +f 724/925/135 720/919/135 726/926/135 +f 726/927/136 722/921/136 727/928/136 +f 728/929/23 729/930/23 730/931/23 +f 731/932/4 732/933/4 733/934/4 +f 734/935/22 735/936/22 736/937/22 +f 1/1/1 16/16/1 2/2/1 +f 4/4/1 33/938/1 5/5/1 +f 7/7/1 30/939/1 8/8/1 +f 10/10/1 31/940/1 11/11/1 +f 13/13/1 35/941/1 14/14/1 +f 10/10/1 12/12/1 8/8/1 +f 12/12/1 15/15/1 5/5/1 +f 8/8/1 12/12/1 9/9/1 +f 15/15/1 14/14/1 3/3/1 +f 2/2/1 6/6/1 15/15/1 +f 6/6/1 5/5/1 15/15/1 +f 15/15/1 3/3/1 2/2/1 +f 13/13/1 11/11/1 33/938/1 +f 11/11/1 31/940/1 30/939/1 +f 30/939/1 7/7/1 11/11/1 +f 7/7/1 33/938/1 11/11/1 +f 1/1/1 35/941/1 13/13/1 +f 33/938/1 4/4/1 13/13/1 +f 4/4/1 16/16/1 13/13/1 +f 9/17/2 18/21/2 17/18/2 +f 5/20/3 25/33/3 18/21/3 +f 16/23/4 34/52/4 19/24/4 +f 2/26/3 19/24/3 20/27/3 +f 21/29/1 32/43/1 22/30/1 +f 24/32/1 17/18/1 18/21/1 +f 19/24/1 34/52/1 26/34/1 +f 27/35/1 36/63/1 28/36/1 +f 8/38/3 21/29/3 23/31/3 +f 30/40/4 32/43/4 21/29/4 +f 31/42/5 22/30/5 32/43/5 +f 6/45/2 20/27/2 26/34/2 +f 7/47/5 17/18/5 24/32/5 +f 33/49/4 24/32/4 25/33/4 +f 4/51/5 26/34/5 34/52/5 +f 10/54/2 23/31/2 22/30/2 +f 1/56/5 36/63/5 27/35/5 +f 35/58/4 27/35/4 29/37/4 +f 14/60/3 29/37/3 28/36/3 +f 3/62/2 28/36/2 36/63/2 +f 37/65/6 50/78/6 38/66/6 +f 40/68/6 51/79/6 41/69/6 +f 43/71/7 46/74/7 44/72/7 +f 46/74/6 52/80/6 47/75/6 +f 48/76/6 37/65/6 39/67/6 +f 50/78/6 42/70/6 41/69/6 +f 43/71/6 45/73/6 51/79/6 +f 52/80/7 48/942/7 49/81/7 +f 53/82/6 737/943/6 54/83/6 +f 54/83/7 738/944/7 55/84/7 +f 55/84/6 739/945/6 53/82/6 +f 739/945/7 740/946/7 53/82/7 +f 740/946/6 741/947/6 53/82/6 +f 56/85/7 60/89/7 57/86/7 +f 56/85/6 62/91/6 59/88/6 +f 61/90/6 64/948/6 59/88/6 +f 63/92/7 66/96/7 64/93/7 +f 65/95/6 68/98/6 66/96/6 +f 65/95/6 69/99/6 67/97/6 +f 69/99/7 71/101/7 70/100/7 +f 71/101/6 58/87/6 57/86/6 +f 72/102/8 76/106/8 73/103/8 +f 75/105/137 79/949/137 73/103/137 +f 77/107/10 75/950/10 76/106/10 +f 77/108/11 72/102/11 74/104/11 +f 78/110/12 74/104/12 73/103/12 +f 80/112/3 98/951/3 81/113/3 +f 85/117/3 742/952/3 743/953/3 +f 743/953/3 744/954/3 85/117/3 +f 744/954/3 745/955/3 85/117/3 +f 745/955/3 746/956/3 85/117/3 +f 746/956/3 83/115/3 85/117/3 +f 82/114/3 81/957/3 86/118/3 +f 88/120/3 87/119/3 86/121/3 +f 88/120/3 89/958/3 90/123/3 +f 91/125/3 90/959/3 92/126/3 +f 93/127/3 92/960/3 94/128/3 +f 96/130/3 95/129/3 94/131/3 +f 96/130/3 97/961/3 98/133/3 +f 99/134/3 103/962/3 100/135/3 +f 102/137/3 747/963/3 103/138/3 +f 104/140/3 747/964/3 102/141/3 +f 106/143/3 104/965/3 105/144/3 +f 108/146/3 106/966/3 107/147/3 +f 110/149/3 112/967/3 108/150/3 +f 111/152/3 113/968/3 112/153/3 +f 101/155/3 100/969/3 113/156/3 +f 128/970/1 127/971/1 114/158/1 +f 114/158/1 124/972/1 115/159/1 +f 115/159/1 125/973/1 116/160/1 +f 116/160/1 132/974/1 128/970/1 +f 128/970/1 114/158/1 116/160/1 +f 13/13/3 118/975/3 117/161/3 +f 15/15/2 119/976/2 118/162/2 +f 12/12/5 120/977/5 119/163/5 +f 11/11/4 117/978/4 120/164/4 +f 123/167/13 133/979/13 126/980/13 +f 126/980/13 131/981/13 121/165/13 +f 121/165/13 130/982/13 122/166/13 +f 122/166/13 129/983/13 123/167/13 +f 123/167/13 126/980/13 121/165/13 +f 123/168/14 129/177/14 124/169/14 +f 122/171/15 130/178/15 125/172/15 +f 126/174/16 133/182/16 127/175/16 +f 129/177/17 122/171/17 115/173/17 +f 130/178/18 121/984/18 116/179/18 +f 131/180/19 126/174/19 128/176/19 +f 133/182/20 123/168/20 114/170/20 +f 134/183/3 141/191/3 135/184/3 +f 137/186/5 140/190/5 138/187/5 +f 134/189/21 138/195/21 140/190/21 +f 135/184/22 137/186/22 139/192/22 +f 141/191/23 140/190/23 137/186/23 +f 136/194/24 139/985/24 138/195/24 +f 142/196/3 149/204/3 143/197/3 +f 145/199/5 148/203/5 146/200/5 +f 142/202/22 146/986/22 148/203/22 +f 143/197/21 145/199/21 147/205/21 +f 149/204/24 148/203/24 145/199/24 +f 144/206/23 147/205/23 146/207/23 +f 150/209/3 156/987/3 151/210/3 +f 153/212/5 157/218/5 154/213/5 +f 156/215/24 155/220/24 154/213/24 +f 152/211/23 157/218/23 153/216/23 +f 151/210/21 154/213/21 157/218/21 +f 150/219/22 153/988/22 155/220/22 +f 158/221/3 164/989/3 159/222/3 +f 161/224/5 165/230/5 162/225/5 +f 164/227/23 163/990/23 162/225/23 +f 160/223/24 165/230/24 161/228/24 +f 159/222/22 162/225/22 165/230/22 +f 158/229/21 161/228/21 163/231/21 +f 166/233/3 173/241/3 167/234/3 +f 169/236/25 172/991/25 170/237/25 +f 166/239/21 170/244/21 172/240/21 +f 167/234/22 169/236/22 171/238/22 +f 173/241/23 172/240/23 169/236/23 +f 166/239/24 168/992/24 171/243/24 +f 174/245/26 178/251/26 175/246/26 +f 179/250/13 748/993/13 177/248/13 +f 177/248/13 181/994/13 178/249/13 +f 178/249/13 174/995/13 179/250/13 +f 178/251/16 181/253/16 180/252/16 +f 181/253/27 177/996/27 182/254/27 +f 180/257/1 182/997/1 176/255/1 +f 182/997/1 749/998/1 176/255/1 +f 749/998/1 750/999/1 176/255/1 +f 183/258/2 187/262/2 184/259/2 +f 183/258/13 751/1000/13 186/261/13 +f 184/259/1 752/1001/1 188/263/1 +f 189/264/5 193/268/5 190/265/5 +f 192/267/13 190/265/13 193/268/13 +f 195/270/1 189/264/1 191/266/1 +f 194/272/4 193/268/4 189/264/4 +f 196/274/2 191/266/2 190/265/2 +f 197/276/2 206/285/2 198/277/2 +f 200/279/28 207/286/28 201/280/28 +f 203/282/29 208/288/29 204/283/29 +f 206/285/30 203/282/30 205/284/30 +f 207/286/31 197/1002/31 199/287/31 +f 208/288/4 200/279/4 202/281/4 +f 205/291/13 204/1003/13 199/289/13 +f 204/1003/13 202/1004/13 199/289/13 +f 202/1004/13 201/1005/13 199/289/13 +f 209/292/4 216/318/4 210/293/4 +f 212/295/2 219/310/2 213/296/2 +f 215/298/28 220/1006/28 216/299/28 +f 211/301/29 210/314/29 217/302/29 +f 218/304/30 217/1007/30 219/305/30 +f 214/307/31 213/317/31 220/308/31 +f 219/310/1 225/316/1 221/311/1 +f 216/299/1 220/1006/1 222/312/1 +f 210/314/1 226/319/1 224/315/1 +f 219/305/1 217/1007/1 224/315/1 +f 213/317/1 221/321/1 222/312/1 +f 216/318/1 223/313/1 226/319/1 +f 224/315/30 232/326/30 227/320/30 +f 221/321/31 230/1008/31 228/322/31 +f 223/313/4 231/325/4 229/323/4 +f 225/316/2 227/320/2 230/324/2 +f 222/312/28 228/322/28 231/325/28 +f 226/319/29 229/323/29 232/326/29 +f 228/322/13 238/340/13 233/327/13 +f 231/325/13 233/336/13 234/328/13 +f 232/326/13 229/323/13 234/329/13 +f 232/326/13 235/343/13 236/331/13 +f 227/320/13 236/338/13 237/332/13 +f 228/322/13 230/1008/13 237/333/13 +f 237/333/31 241/1009/31 239/335/31 +f 233/336/4 242/347/4 240/337/4 +f 236/338/2 244/352/2 241/339/2 +f 238/340/28 239/345/28 242/341/28 +f 234/329/29 240/1010/29 243/342/29 +f 235/343/30 243/350/30 244/344/30 +f 239/345/1 250/355/1 245/346/1 +f 242/347/1 245/346/1 246/348/1 +f 243/342/1 240/1010/1 246/348/1 +f 243/350/1 247/349/1 248/351/1 +f 244/352/1 248/351/1 249/353/1 +f 239/335/1 241/1009/1 249/354/1 +f 245/346/4 253/358/4 251/356/4 +f 248/351/2 255/360/2 252/357/2 +f 250/355/28 256/361/28 253/358/28 +f 246/348/29 251/356/29 254/359/29 +f 247/349/30 254/359/30 255/360/30 +f 249/354/31 252/1011/31 256/361/31 +f 251/356/32 261/1012/32 257/362/32 +f 254/359/33 257/1013/33 258/363/33 +f 256/361/34 252/1011/34 259/364/34 +f 253/358/35 262/1014/35 261/366/35 +f 255/360/36 258/1015/36 259/367/36 +f 253/358/37 256/361/37 260/368/37 +f 257/372/13 261/1016/13 259/370/13 +f 261/1016/13 262/1017/13 259/370/13 +f 262/1017/13 260/1018/13 259/370/13 +f 263/373/38 270/381/38 264/374/38 +f 265/376/1 264/1019/1 266/377/1 +f 267/378/39 266/377/39 268/379/39 +f 263/373/13 269/380/13 268/379/13 +f 271/382/38 275/1020/38 272/383/38 +f 274/385/13 278/390/13 275/386/13 +f 276/388/1 273/384/1 272/383/1 +f 277/389/40 272/383/40 275/386/40 +f 274/385/41 271/387/41 273/391/41 +f 279/393/1 283/1021/1 280/394/1 +f 282/396/42 291/406/42 280/397/42 +f 284/399/13 312/438/13 285/400/13 +f 279/393/43 281/395/43 287/402/43 +f 285/400/13 312/438/13 289/404/13 +f 291/406/44 317/444/44 292/407/44 +f 294/411/40 279/393/40 288/403/40 +f 296/417/40 298/445/40 284/399/40 +f 299/420/5 294/411/5 293/410/5 +f 301/422/3 282/409/3 283/423/3 +f 303/425/13 295/416/13 286/415/13 +f 305/427/1 297/418/1 296/417/1 +f 302/429/1 283/412/1 294/411/1 +f 306/428/5 296/417/5 295/416/5 +f 304/426/3 286/415/3 297/430/3 +f 300/421/13 293/410/13 282/409/13 +f 286/401/42 285/400/42 307/432/42 +f 288/403/13 287/402/13 291/406/13 +f 308/434/4 322/450/4 309/435/4 +f 311/437/45 313/440/45 289/404/45 +f 307/439/1 315/1022/1 313/440/1 +f 280/394/1 292/1023/1 314/441/1 +f 285/400/44 290/405/44 315/442/44 +f 291/406/13 287/402/13 316/443/13 +f 281/395/45 314/441/45 316/443/45 +f 298/445/1 297/1024/1 307/439/1 +f 298/445/43 311/437/43 312/438/43 +f 318/446/30 323/451/30 319/447/30 +f 321/449/3 326/454/3 322/450/3 +f 323/451/2 327/1025/2 324/452/2 +f 325/453/2 329/459/2 326/454/2 +f 327/455/31 330/460/31 328/456/31 +f 310/458/5 309/1026/5 329/459/5 +f 330/460/28 332/465/28 331/461/28 +f 327/464/13 323/1027/13 318/1028/13 +f 318/1028/13 334/1029/13 327/464/13 +f 334/1029/13 332/462/13 327/464/13 +f 332/465/4 334/467/4 333/466/4 +f 334/467/29 318/446/29 320/448/29 +f 333/469/1 320/1030/1 319/470/1 +f 319/470/1 324/1031/1 328/1032/1 +f 328/1032/1 331/468/1 319/470/1 +f 329/459/21 336/475/21 335/471/21 +f 309/474/5 338/1033/5 337/477/5 +f 338/478/2 347/498/2 339/479/2 +f 336/475/13 337/477/13 340/481/13 +f 335/471/3 340/481/3 341/482/3 +f 322/473/1 341/482/1 338/483/1 +f 342/485/38 343/488/38 341/482/38 +f 344/490/43 350/500/43 345/491/43 +f 337/480/13 339/479/13 344/490/13 +f 342/485/4 344/490/4 346/492/4 +f 343/488/1 346/492/1 347/493/1 +f 347/493/1 346/492/1 345/491/1 +f 347/498/42 351/1034/42 348/499/42 +f 339/479/13 348/499/13 350/500/13 +f 349/495/40 352/501/40 345/491/40 +f 352/501/1 358/511/1 353/502/1 +f 353/505/3 360/1035/3 354/506/3 +f 351/508/3 353/1036/3 356/509/3 +f 348/494/13 356/509/13 357/510/13 +f 349/495/5 357/510/5 358/511/5 +f 355/507/21 359/513/21 357/510/21 +f 358/514/4 361/518/4 360/516/4 +f 359/513/5 362/519/5 361/518/5 +f 355/507/2 354/506/2 362/519/2 +f 363/520/46 376/533/46 364/521/46 +f 366/523/46 377/534/46 367/524/46 +f 369/526/47 372/529/47 370/527/47 +f 372/529/46 378/535/46 373/530/46 +f 374/531/46 363/520/46 365/522/46 +f 376/533/46 368/525/46 367/524/46 +f 366/523/46 369/526/46 371/528/46 +f 378/535/47 374/1037/47 375/536/47 +f 379/537/46 753/1038/46 380/538/46 +f 380/538/47 754/1039/47 381/539/47 +f 381/539/47 755/1040/47 756/1041/47 +f 756/1041/46 757/1042/46 381/539/46 +f 757/1042/46 379/537/46 381/539/46 +f 382/540/47 386/544/47 383/541/47 +f 382/540/46 388/546/46 385/543/46 +f 387/545/46 390/1043/46 385/543/46 +f 389/547/47 392/551/47 390/548/47 +f 389/547/46 393/552/46 391/550/46 +f 393/552/46 395/554/46 394/553/46 +f 395/554/47 397/556/47 396/555/47 +f 397/556/46 384/542/46 383/541/46 +f 398/557/49 411/570/49 399/558/49 +f 401/560/48 412/571/48 402/561/48 +f 404/563/49 407/566/49 405/564/49 +f 407/566/48 413/572/48 408/567/48 +f 409/568/48 398/557/48 400/559/48 +f 411/570/48 403/562/48 402/561/48 +f 404/563/48 406/565/48 412/571/48 +f 413/572/49 409/1044/49 410/573/49 +f 414/574/48 758/1045/48 415/575/48 +f 415/575/49 759/1046/49 416/576/49 +f 416/576/48 760/1047/48 414/574/48 +f 760/1047/49 761/1048/49 414/574/49 +f 761/1048/48 762/1049/48 414/574/48 +f 417/577/49 421/581/49 418/578/49 +f 417/577/48 423/583/48 420/580/48 +f 422/582/48 425/1050/48 420/580/48 +f 424/584/49 427/588/49 425/585/49 +f 426/587/48 429/590/48 427/588/48 +f 426/587/49 430/591/49 428/589/49 +f 430/591/49 432/593/49 431/592/49 +f 432/593/48 419/579/48 418/578/48 +f 433/594/50 446/607/50 434/595/50 +f 436/597/50 447/608/50 437/598/50 +f 439/600/51 442/603/51 440/601/51 +f 442/603/50 448/609/50 443/604/50 +f 444/605/50 433/594/50 435/596/50 +f 446/607/50 438/599/50 437/598/50 +f 439/600/50 441/602/50 447/608/50 +f 448/609/51 444/1051/51 445/610/51 +f 449/611/50 763/1052/50 450/612/50 +f 450/612/51 764/1053/51 451/613/51 +f 451/613/50 765/1054/50 449/611/50 +f 765/1054/51 766/1055/51 449/611/51 +f 766/1055/50 767/1056/50 449/611/50 +f 452/614/51 456/618/51 453/615/51 +f 452/614/50 458/620/50 455/617/50 +f 457/619/50 460/1057/50 455/617/50 +f 459/621/51 462/625/51 460/622/51 +f 461/624/50 464/627/50 462/625/50 +f 461/624/50 465/628/50 463/626/50 +f 465/628/51 467/630/51 466/629/51 +f 467/630/50 454/616/50 453/615/50 +f 468/631/53 481/644/53 469/632/53 +f 471/634/53 482/645/53 472/635/53 +f 474/637/52 477/640/52 475/638/52 +f 477/640/53 483/646/53 478/641/53 +f 479/642/53 468/631/53 470/633/53 +f 481/644/53 473/636/53 472/635/53 +f 474/637/52 476/639/52 482/645/52 +f 483/646/52 479/1058/52 480/647/52 +f 484/648/52 768/1059/52 485/649/52 +f 485/649/52 769/1060/52 486/650/52 +f 486/650/53 770/1061/53 484/648/53 +f 770/1061/52 771/1062/52 484/648/52 +f 771/1062/53 772/1063/53 484/648/53 +f 487/651/52 491/655/52 488/652/52 +f 487/651/52 493/657/52 490/654/52 +f 492/656/53 495/1064/53 490/654/53 +f 494/658/52 497/662/52 495/659/52 +f 496/661/53 499/664/53 497/662/53 +f 496/661/53 500/665/53 498/663/53 +f 500/665/52 502/667/52 501/666/52 +f 502/667/53 489/653/53 488/652/53 +f 503/668/55 516/681/55 504/669/55 +f 506/671/55 517/682/55 507/672/55 +f 509/674/55 512/677/55 510/675/55 +f 512/677/55 518/683/55 513/678/55 +f 514/679/55 503/668/55 505/670/55 +f 516/681/55 508/673/55 507/672/55 +f 509/674/55 511/676/55 517/682/55 +f 518/683/56 514/1065/56 515/684/56 +f 519/685/56 773/1066/56 520/686/56 +f 520/686/55 774/1067/55 521/687/55 +f 521/687/55 775/1068/55 519/685/55 +f 775/1068/56 776/1069/56 519/685/56 +f 776/1069/55 777/1070/55 519/685/55 +f 522/688/56 526/692/56 523/689/56 +f 522/688/56 528/694/56 525/691/56 +f 527/693/55 530/1071/55 525/691/55 +f 529/695/56 532/699/56 530/696/56 +f 531/698/55 534/701/55 532/699/55 +f 531/698/55 535/702/55 533/700/55 +f 535/702/56 537/704/56 536/703/56 +f 537/704/55 524/690/55 523/689/55 +f 538/705/58 551/718/58 539/706/58 +f 541/708/58 552/719/58 542/709/58 +f 544/711/58 547/714/58 545/712/58 +f 547/714/58 553/720/58 548/715/58 +f 549/716/58 538/705/58 540/707/58 +f 551/718/58 543/710/58 542/709/58 +f 541/708/58 544/711/58 546/713/58 +f 553/720/57 549/1072/57 550/721/57 +f 554/722/57 778/1073/57 555/723/57 +f 555/723/58 779/1074/58 556/724/58 +f 556/724/58 780/1075/58 781/1076/58 +f 781/1076/58 782/1077/58 556/724/58 +f 782/1077/58 554/722/58 556/724/58 +f 557/725/57 561/729/57 558/726/57 +f 557/725/57 563/731/57 560/728/57 +f 562/730/58 565/1078/58 560/728/58 +f 564/732/57 567/736/57 565/733/57 +f 566/735/58 569/738/58 567/736/58 +f 566/735/58 570/739/58 568/737/58 +f 570/739/57 572/741/57 571/740/57 +f 572/741/58 559/727/58 558/726/58 +f 573/742/60 586/755/60 574/743/60 +f 576/745/60 587/756/60 577/746/60 +f 579/748/61 583/752/61 580/749/61 +f 582/751/60 588/758/60 580/749/60 +f 584/753/60 573/742/60 575/744/60 +f 586/755/60 578/747/60 577/746/60 +f 579/748/61 581/750/61 587/756/61 +f 582/751/61 584/1079/61 585/757/61 +f 589/759/61 783/1080/61 590/760/61 +f 590/760/61 784/1081/61 591/761/61 +f 591/761/60 785/1082/60 589/759/60 +f 785/1082/61 786/1083/61 589/759/61 +f 786/1083/60 787/1084/60 589/759/60 +f 592/762/61 596/766/61 593/763/61 +f 592/762/61 598/768/61 595/765/61 +f 597/767/60 600/1085/60 595/765/60 +f 599/769/61 602/773/61 600/770/61 +f 601/772/60 604/775/60 602/773/60 +f 601/772/61 605/776/61 603/774/61 +f 605/776/61 607/778/61 606/777/61 +f 607/778/60 594/764/60 593/763/60 +f 608/779/62 613/784/62 609/780/62 +f 611/782/138 615/1086/138 610/781/138 +f 612/783/64 611/1087/64 609/780/64 +f 612/785/65 613/784/65 608/779/65 +f 614/787/66 608/779/66 610/781/66 +f 616/789/67 620/793/67 617/790/67 +f 619/792/139 623/1088/139 617/790/139 +f 621/794/69 619/1089/69 620/793/69 +f 621/795/70 616/789/70 618/791/70 +f 622/797/71 618/791/71 617/790/71 +f 624/799/72 629/804/72 625/800/72 +f 627/802/140 631/1090/140 626/801/140 +f 628/803/74 627/1091/74 625/800/74 +f 628/805/75 629/804/75 624/799/75 +f 630/807/76 624/799/76 626/801/76 +f 632/809/77 637/814/77 633/810/77 +f 635/812/141 639/1092/141 634/811/141 +f 636/813/79 635/1093/79 633/810/79 +f 636/815/80 637/814/80 632/809/80 +f 638/817/81 632/809/81 634/811/81 +f 640/819/82 645/824/82 641/820/82 +f 643/822/142 647/1094/142 642/821/142 +f 644/823/84 643/1095/84 641/820/84 +f 644/825/85 645/824/85 640/819/85 +f 646/827/86 640/819/86 642/821/86 +f 648/829/87 652/833/87 649/830/87 +f 651/832/88 655/1096/88 649/830/88 +f 653/834/89 651/1097/89 652/833/89 +f 653/835/90 648/829/90 650/831/90 +f 654/837/91 650/831/91 649/830/91 +f 656/839/92 661/844/92 657/840/92 +f 659/842/143 663/1098/143 658/841/143 +f 660/843/94 659/1099/94 657/840/94 +f 660/845/95 661/844/95 656/839/95 +f 662/847/96 656/839/96 658/841/96 +f 664/849/97 668/853/97 665/850/97 +f 667/852/144 671/1100/144 665/850/144 +f 669/854/99 667/1101/99 668/853/99 +f 669/855/100 664/849/100 666/851/100 +f 670/857/145 666/851/145 665/850/145 +f 672/859/102 677/864/102 673/860/102 +f 675/862/103 679/1102/103 674/861/103 +f 676/863/104 675/1103/104 673/860/104 +f 676/865/105 677/864/105 672/859/105 +f 678/867/146 672/859/146 674/861/146 +f 680/869/107 685/874/107 681/870/107 +f 683/872/108 687/1104/108 682/871/108 +f 684/873/109 683/1105/109 681/870/109 +f 684/875/110 685/874/110 680/869/110 +f 686/877/147 680/869/147 682/871/147 +f 688/879/112 693/884/112 689/880/112 +f 691/882/113 695/1106/113 690/881/113 +f 692/883/114 691/1107/114 689/880/114 +f 692/885/115 693/884/115 688/879/115 +f 694/887/148 688/879/148 690/881/148 +f 696/889/117 701/894/117 697/890/117 +f 699/892/118 703/1108/118 698/891/118 +f 700/893/119 699/1109/119 697/890/119 +f 700/895/120 701/894/120 696/889/120 +f 702/897/121 696/889/121 698/891/121 +f 704/899/122 709/904/122 705/900/122 +f 707/902/123 711/1110/123 706/901/123 +f 708/903/124 707/1111/124 705/900/124 +f 708/905/149 709/904/149 704/899/149 +f 710/907/126 704/899/126 706/901/126 +f 712/909/127 716/913/127 713/910/127 +f 715/912/150 719/1112/150 713/910/150 +f 717/914/129 715/1113/129 716/913/129 +f 717/915/130 712/909/130 714/911/130 +f 718/917/131 714/911/131 713/910/131 +f 720/919/132 725/924/132 721/920/132 +f 723/922/133 727/1114/133 722/921/133 +f 724/923/134 723/1115/134 721/920/134 +f 724/925/135 725/924/135 720/919/135 +f 726/927/136 720/919/136 722/921/136 +f 728/929/23 788/1116/23 729/930/23 +f 731/932/4 789/1117/4 732/933/4 +f 734/935/22 790/1118/22 735/936/22 +f 1363/1119/1 1364/1120/1 1365/1121/1 +f 1366/1122/21 1367/1123/21 1368/1124/21 +f 1367/1123/13 1369/1125/13 1370/1126/13 +f 1371/1127/2 1372/1128/2 1373/1129/2 +f 1374/1130/24 1371/1131/24 1365/1121/24 +f 1371/1132/39 1366/1133/39 1375/1134/39 +f 1376/1135/4 1370/1126/4 1377/1136/4 +f 1378/1137/1 1379/1138/1 1380/1139/1 +f 1379/1138/1 1363/1119/1 1381/1140/1 +f 1378/1137/151 1382/1141/151 1383/1142/151 +f 1367/1123/5 1384/1143/5 1369/1125/5 +f 1367/1123/5 1385/1144/5 1386/1145/5 +f 1380/1139/5 1387/1146/5 1378/1137/5 +f 1378/1137/5 1387/1146/5 1388/1147/5 +f 1369/1148/152 1377/1136/152 1370/1126/152 +f 1389/1149/152 1390/1150/152 1391/1151/152 +f 1391/1151/4 1381/1140/4 1392/1152/4 +f 1393/1153/153 1394/1154/153 1395/1155/153 +f 1396/1156/153 1397/1157/153 1393/1153/153 +f 1394/1154/153 1381/1158/153 1395/1155/153 +f 1398/1159/5 1399/1160/5 1400/1161/5 +f 1401/1162/22 1402/1163/22 1403/1164/22 +f 1404/1165/3 1405/1166/3 1406/1167/3 +f 1368/1168/3 1407/1169/3 1408/1170/3 +f 1372/1171/3 1409/1172/3 1410/1173/3 +f 1373/1174/3 1411/1175/3 1412/1176/3 +f 1365/1177/3 1413/1178/3 1414/1179/3 +f 1415/1180/4 1416/1181/4 1417/1182/4 +f 1394/1183/21 1418/1184/21 1392/1185/21 +f 1397/1186/24 1419/1187/24 1420/1188/24 +f 1397/1186/2 1421/1189/2 1394/1183/2 +f 1420/1188/153 1418/1190/153 1421/1189/153 +f 1422/1191/13 1423/1192/13 1424/1193/13 +f 1425/1194/1 1426/1195/1 1427/1196/1 +f 1428/1197/154 1429/1198/154 1430/1199/154 +f 1430/1199/155 1431/1200/155 1428/1197/155 +f 1425/1201/156 1432/1202/156 1430/1199/156 +f 1423/1203/157 1431/1200/157 1424/1204/157 +f 1374/1205/2 1433/1206/2 1366/1133/2 +f 1434/1207/5 1435/1208/5 1436/1209/5 +f 1437/1210/2 1438/1211/2 1439/1212/2 +f 1440/1213/4 1436/1209/4 1441/1214/4 +f 1439/1215/13 1434/1207/13 1440/1216/13 +f 1441/1217/1 1435/1208/1 1437/1218/1 +f 1442/1219/4 1443/1220/4 1444/1221/4 +f 1445/1222/1 1446/1223/1 1447/1224/1 +f 1448/1225/5 1449/1226/5 1443/1220/5 +f 1442/1219/13 1450/1227/13 1448/1225/13 +f 1443/1220/1 1451/1228/1 1444/1221/1 +f 1452/1229/41 1453/1230/41 1445/1222/41 +f 1446/1231/5 1454/1232/5 1447/1233/5 +f 1455/1234/13 1454/1235/13 1456/1236/13 +f 1453/1230/38 1457/1237/38 1445/1222/38 +f 1458/1238/40 1446/1231/40 1457/1239/40 +f 1452/1229/39 1454/1240/39 1455/1234/39 +f 1459/1241/1 1460/1242/1 1461/1243/1 +f 1462/1244/158 1463/1245/158 1464/1246/158 +f 1465/1247/159 1466/1248/159 1460/1242/159 +f 1467/1249/4 1468/1250/4 1395/1155/4 +f 1469/1251/22 1470/1252/22 1471/1253/22 +f 1399/1254/23 1472/1255/23 1400/1256/23 +f 1395/1155/22 1473/1257/22 1474/1258/22 +f 1469/1251/22 1473/1257/22 1381/1140/22 +f 1395/1155/22 1471/1253/22 1470/1252/22 +f 1403/1259/24 1475/1260/24 1476/1261/24 +f 1477/1262/23 1404/1263/23 1396/1264/23 +f 1396/1265/23 1478/1266/23 1477/1262/23 +f 1479/1267/23 1478/1266/23 1393/1153/23 +f 1477/1268/160 1480/1269/160 1481/1270/160 +f 1469/1271/23 1482/1272/23 1473/1273/23 +f 1483/1274/161 1484/1275/161 1470/1276/161 +f 1482/1272/22 1485/1277/22 1486/1278/22 +f 1487/1279/5 1401/1280/5 1403/1281/5 +f 1481/1282/23 1488/1283/23 1398/1159/23 +f 1471/1284/162 1489/1285/162 1469/1286/162 +f 1401/1287/23 1490/1288/23 1483/1289/23 +f 1474/1290/163 1482/1291/163 1486/1278/163 +f 1474/1290/24 1485/1277/24 1471/1284/24 +f 1478/1292/21 1491/1293/21 1399/1294/21 +f 1400/1295/22 1492/1296/22 1477/1297/22 +f 1490/1288/22 1487/1279/22 1484/1275/22 +f 1484/1275/24 1487/1279/24 1403/1298/24 +f 1417/1299/1 1493/1300/1 1494/1301/1 +f 1405/1166/3 1495/1302/3 1496/1303/3 +f 1497/1304/3 1402/1305/3 1498/1306/3 +f 1495/1302/3 1499/1307/3 1479/1308/3 +f 1496/1303/3 1500/1309/3 1501/1310/3 +f 1451/1311/2 1450/1312/2 1502/1313/2 +f 1503/1314/1 1504/1315/1 1417/1316/1 +f 1395/1155/4 1505/1317/4 1393/1153/4 +f 1479/1267/4 1505/1317/4 1494/1318/4 +f 1506/1319/23 1498/1320/23 1401/1321/23 +f 1503/1322/4 1507/1323/4 1504/1324/4 +f 1417/1325/5 1507/1326/5 1415/1327/5 +f 1468/1328/3 1503/1329/3 1505/1330/3 +f 1415/1331/13 1507/1332/13 1508/1333/13 +f 1509/1334/13 1500/1335/13 1415/1336/13 +f 1491/1337/21 1495/1338/21 1399/1339/21 +f 1400/1340/22 1510/1341/22 1492/1342/22 +f 1491/1343/23 1479/1267/23 1499/1344/23 +f 1494/1318/4 1493/1345/4 1479/1267/4 +f 1509/1346/4 1467/1249/4 1511/1347/4 +f 1476/1348/22 1475/1349/22 1467/1249/22 +f 1492/1350/23 1510/1351/23 1404/1263/23 +f 1506/1352/22 1512/1353/22 1513/1354/22 +f 1467/1355/3 1402/1305/3 1500/1309/3 +f 1498/1306/3 1512/1356/3 1497/1304/3 +f 1404/1165/3 1472/1357/3 1405/1166/3 +f 1514/1358/2 1515/1359/2 1516/1360/2 +f 1517/1361/4 1518/1362/4 1519/1363/4 +f 1520/1364/1 1521/1365/1 1522/1366/1 +f 1523/1367/13 1524/1368/13 1525/1369/13 +f 1525/1369/23 1526/1370/23 1517/1361/23 +f 1527/1371/21 1515/1359/21 1528/1372/21 +f 1516/1373/24 1529/1374/24 1514/1375/24 +f 1518/1362/22 1522/1366/22 1519/1363/22 +f 1525/1376/3 1530/1377/3 1531/1378/3 +f 1517/1379/3 1532/1380/3 1533/1381/3 +f 1519/1382/3 1534/1383/3 1535/1384/3 +f 1522/1385/3 1536/1386/3 1537/1387/3 +f 1521/1388/3 1538/1389/3 1539/1390/3 +f 1516/1391/3 1540/1392/3 1541/1393/3 +f 1515/1394/3 1542/1395/3 1543/1396/3 +f 1523/1397/3 1544/1398/3 1545/1399/3 +f 1546/1400/3 1547/1401/3 1548/1402/3 +f 1549/1403/5 1550/1404/5 1526/1405/5 +f 1551/1406/5 1552/1407/5 1524/1408/5 +f 1553/1409/5 1554/1410/5 1527/1411/5 +f 1555/1412/5 1556/1413/5 1528/1414/5 +f 1557/1415/5 1558/1416/5 1514/1417/5 +f 1559/1418/5 1560/1419/5 1529/1420/5 +f 1561/1421/5 1562/1422/5 1520/1423/5 +f 1563/1424/5 1564/1425/5 1518/1426/5 +f 1365/1121/1 1512/1353/1 1363/1119/1 +f 1512/1353/1 1381/1140/1 1363/1119/1 +f 1372/1128/21 1375/1427/21 1368/1124/21 +f 1375/1427/21 1366/1122/21 1368/1124/21 +f 1433/1428/21 1385/1429/21 1367/1123/21 +f 1366/1122/21 1433/1428/21 1367/1123/21 +f 1370/1126/13 1396/1264/13 1367/1123/13 +f 1396/1264/13 1404/1263/13 1368/1124/13 +f 1367/1123/13 1396/1264/13 1368/1124/13 +f 1371/1127/2 1375/1427/2 1372/1128/2 +f 1373/1430/24 1365/1121/24 1371/1131/24 +f 1365/1121/164 1364/1120/164 1374/1130/164 +f 1364/1120/165 1565/1431/165 1374/1130/165 +f 1371/1132/39 1374/1205/39 1366/1133/39 +f 1376/1135/4 1396/1264/4 1370/1126/4 +f 1378/1137/1 1383/1142/1 1379/1138/1 +f 1381/1140/1 1390/1150/1 1379/1138/1 +f 1390/1150/1 1380/1139/1 1379/1138/1 +f 1378/1137/151 1388/1432/151 1382/1141/151 +f 1367/1123/5 1386/1145/5 1384/1143/5 +f 1380/1139/5 1389/1433/5 1387/1146/5 +f 1369/1148/152 1384/1434/152 1377/1136/152 +f 1389/1149/152 1380/1435/152 1390/1150/152 +f 1391/1151/4 1390/1150/4 1381/1140/4 +f 1393/1153/153 1397/1157/153 1394/1154/153 +f 1396/1156/153 1376/1436/153 1397/1157/153 +f 1394/1154/153 1392/1437/153 1381/1158/153 +f 1398/1159/5 1488/1283/5 1399/1160/5 +f 1401/1162/22 1498/1438/22 1402/1163/22 +f 1407/1169/3 1368/1168/3 1406/1167/3 +f 1368/1168/3 1404/1165/3 1406/1167/3 +f 1409/1172/3 1372/1171/3 1408/1170/3 +f 1372/1171/3 1368/1168/3 1408/1170/3 +f 1411/1175/3 1373/1174/3 1410/1173/3 +f 1373/1174/3 1372/1171/3 1410/1173/3 +f 1413/1178/3 1365/1177/3 1412/1176/3 +f 1365/1177/3 1373/1174/3 1412/1176/3 +f 1497/1304/3 1512/1356/3 1414/1179/3 +f 1512/1356/3 1365/1177/3 1414/1179/3 +f 1415/1180/4 1500/1439/4 1416/1181/4 +f 1394/1183/21 1421/1189/21 1418/1184/21 +f 1397/1186/24 1376/1440/24 1419/1187/24 +f 1397/1186/2 1420/1188/2 1421/1189/2 +f 1420/1188/153 1419/1441/153 1418/1190/153 +f 1422/1191/13 1566/1442/13 1423/1192/13 +f 1425/1194/1 1429/1198/1 1426/1195/1 +f 1428/1197/154 1423/1192/154 1566/1442/154 +f 1566/1442/154 1429/1198/154 1428/1197/154 +f 1429/1198/154 1425/1194/154 1430/1199/154 +f 1430/1199/155 1432/1202/155 1431/1200/155 +f 1425/1201/156 1427/1443/156 1432/1202/156 +f 1423/1203/157 1428/1197/157 1431/1200/157 +f 1374/1205/2 1565/1444/2 1433/1206/2 +f 1434/1207/5 1438/1211/5 1435/1208/5 +f 1437/1210/2 1435/1208/2 1438/1211/2 +f 1440/1213/4 1434/1207/4 1436/1209/4 +f 1439/1215/13 1438/1211/13 1434/1207/13 +f 1441/1217/1 1436/1209/1 1435/1208/1 +f 1442/1219/4 1448/1225/4 1443/1220/4 +f 1447/1224/1 1452/1229/1 1445/1222/1 +f 1445/1222/1 1457/1445/1 1446/1223/1 +f 1448/1225/5 1450/1446/5 1449/1226/5 +f 1442/1219/13 1502/1447/13 1450/1227/13 +f 1443/1220/1 1449/1448/1 1451/1228/1 +f 1452/1229/41 1455/1234/41 1453/1230/41 +f 1446/1231/5 1456/1236/5 1454/1232/5 +f 1458/1238/13 1453/1230/13 1456/1236/13 +f 1453/1230/13 1455/1234/13 1456/1236/13 +f 1453/1230/38 1458/1449/38 1457/1237/38 +f 1458/1238/40 1456/1236/40 1446/1231/40 +f 1452/1229/39 1447/1450/39 1454/1240/39 +f 1459/1241/1 1465/1451/1 1460/1242/1 +f 1462/1244/158 1567/1452/158 1463/1245/158 +f 1465/1247/159 1568/1453/159 1466/1248/159 +f 1467/1249/4 1509/1346/4 1468/1250/4 +f 1469/1251/22 1483/1454/22 1470/1252/22 +f 1399/1254/23 1495/1455/23 1472/1255/23 +f 1395/1155/22 1381/1140/22 1473/1257/22 +f 1381/1140/22 1512/1353/22 1469/1251/22 +f 1512/1353/22 1506/1352/22 1483/1454/22 +f 1483/1454/22 1469/1251/22 1512/1353/22 +f 1476/1348/22 1467/1249/22 1470/1252/22 +f 1467/1249/22 1395/1155/22 1470/1252/22 +f 1395/1155/22 1474/1258/22 1471/1253/22 +f 1403/1259/24 1402/1456/24 1475/1260/24 +f 1477/1262/23 1492/1350/23 1404/1263/23 +f 1396/1265/23 1393/1153/23 1478/1266/23 +f 1479/1267/23 1491/1343/23 1478/1266/23 +f 1477/1268/160 1478/1292/160 1480/1269/160 +f 1469/1271/23 1489/1457/23 1482/1272/23 +f 1483/1274/161 1490/1458/161 1484/1275/161 +f 1482/1272/22 1489/1457/22 1485/1277/22 +f 1487/1279/5 1569/1459/5 1401/1280/5 +f 1481/1282/23 1480/1269/23 1488/1283/23 +f 1471/1284/162 1485/1277/162 1489/1285/162 +f 1483/1289/23 1506/1460/23 1401/1287/23 +f 1401/1287/23 1569/1459/23 1490/1288/23 +f 1474/1290/163 1473/1461/163 1482/1291/163 +f 1474/1290/24 1486/1278/24 1485/1277/24 +f 1399/1294/21 1488/1283/21 1480/1269/21 +f 1480/1269/21 1478/1292/21 1399/1294/21 +f 1477/1297/22 1481/1282/22 1400/1295/22 +f 1481/1282/22 1398/1159/22 1400/1295/22 +f 1490/1288/22 1569/1459/22 1487/1279/22 +f 1476/1462/24 1470/1276/24 1403/1298/24 +f 1470/1276/24 1484/1275/24 1403/1298/24 +f 1417/1299/1 1416/1463/1 1493/1300/1 +f 1405/1166/3 1472/1357/3 1495/1302/3 +f 1497/1304/3 1501/1310/3 1402/1305/3 +f 1493/1464/3 1416/1465/3 1479/1308/3 +f 1416/1465/3 1496/1303/3 1495/1302/3 +f 1479/1308/3 1416/1465/3 1495/1302/3 +f 1496/1303/3 1416/1465/3 1500/1309/3 +f 1451/1311/2 1449/1466/2 1450/1312/2 +f 1417/1316/1 1494/1467/1 1505/1468/1 +f 1505/1468/1 1503/1314/1 1417/1316/1 +f 1395/1155/4 1468/1250/4 1505/1317/4 +f 1479/1267/4 1393/1153/4 1505/1317/4 +f 1506/1319/23 1513/1469/23 1498/1320/23 +f 1503/1322/4 1508/1470/4 1507/1323/4 +f 1417/1325/5 1504/1471/5 1507/1326/5 +f 1468/1328/3 1508/1472/3 1503/1329/3 +f 1508/1333/13 1468/1473/13 1415/1331/13 +f 1468/1473/13 1509/1474/13 1415/1331/13 +f 1509/1334/13 1511/1475/13 1500/1335/13 +f 1491/1337/21 1499/1476/21 1495/1338/21 +f 1400/1340/22 1472/1477/22 1510/1341/22 +f 1501/1310/3 1500/1309/3 1402/1305/3 +f 1500/1309/3 1511/1478/3 1467/1355/3 +f 1467/1355/3 1475/1479/3 1402/1305/3 +f 1498/1306/3 1513/1480/3 1512/1356/3 +f 1404/1165/3 1510/1481/3 1472/1357/3 +f 1514/1358/2 1528/1372/2 1515/1359/2 +f 1517/1361/4 1526/1370/4 1518/1362/4 +f 1520/1364/1 1529/1374/1 1521/1365/1 +f 1523/1367/13 1527/1371/13 1524/1368/13 +f 1525/1369/23 1524/1368/23 1526/1370/23 +f 1527/1371/21 1523/1367/21 1515/1359/21 +f 1516/1373/24 1521/1365/24 1529/1374/24 +f 1518/1362/22 1520/1364/22 1522/1366/22 +f 1544/1398/3 1523/1397/3 1531/1378/3 +f 1523/1397/3 1525/1376/3 1531/1378/3 +f 1530/1377/3 1525/1376/3 1533/1381/3 +f 1525/1376/3 1517/1379/3 1533/1381/3 +f 1532/1380/3 1517/1379/3 1535/1384/3 +f 1517/1379/3 1519/1382/3 1535/1384/3 +f 1534/1383/3 1519/1382/3 1537/1387/3 +f 1519/1382/3 1522/1385/3 1537/1387/3 +f 1536/1386/3 1522/1385/3 1539/1390/3 +f 1522/1385/3 1521/1388/3 1539/1390/3 +f 1538/1389/3 1521/1388/3 1541/1393/3 +f 1521/1388/3 1516/1391/3 1541/1393/3 +f 1540/1392/3 1516/1391/3 1543/1396/3 +f 1516/1391/3 1515/1394/3 1543/1396/3 +f 1542/1395/3 1515/1394/3 1545/1399/3 +f 1515/1394/3 1523/1397/3 1545/1399/3 +f 1548/1402/3 1570/1482/3 1571/1483/3 +f 1571/1483/3 1572/1484/3 1573/1485/3 +f 1573/1485/3 1574/1486/3 1575/1487/3 +f 1575/1487/3 1576/1488/3 1546/1400/3 +f 1546/1400/3 1577/1489/3 1578/1490/3 +f 1578/1490/3 1579/1491/3 1547/1401/3 +f 1547/1401/3 1580/1492/3 1581/1493/3 +f 1581/1493/3 1582/1494/3 1548/1402/3 +f 1548/1402/3 1571/1483/3 1546/1400/3 +f 1571/1483/3 1573/1485/3 1546/1400/3 +f 1573/1485/3 1575/1487/3 1546/1400/3 +f 1546/1400/3 1578/1490/3 1547/1401/3 +f 1547/1401/3 1581/1493/3 1548/1402/3 +f 1526/1405/5 1524/1408/5 1549/1403/5 +f 1524/1408/5 1552/1407/5 1549/1403/5 +f 1524/1408/5 1527/1411/5 1551/1406/5 +f 1527/1411/5 1554/1410/5 1551/1406/5 +f 1527/1411/5 1528/1414/5 1553/1409/5 +f 1528/1414/5 1556/1413/5 1553/1409/5 +f 1528/1414/5 1514/1417/5 1555/1412/5 +f 1514/1417/5 1558/1416/5 1555/1412/5 +f 1514/1417/5 1529/1420/5 1557/1415/5 +f 1529/1420/5 1560/1419/5 1557/1415/5 +f 1529/1420/5 1520/1423/5 1559/1418/5 +f 1520/1423/5 1562/1422/5 1559/1418/5 +f 1520/1423/5 1518/1426/5 1561/1421/5 +f 1518/1426/5 1564/1425/5 1561/1421/5 +f 1518/1426/5 1526/1405/5 1563/1424/5 +f 1526/1405/5 1550/1404/5 1563/1424/5 +s 1 +f 791/1495/166 792/1496/167 793/1497/168 +f 794/1498/19 795/1499/169 796/1500/170 +f 797/1501/171 798/1502/172 799/1503/173 +f 800/1504/174 801/1505/175 797/1501/171 +f 802/1506/17 793/1497/168 803/1507/176 +f 804/1508/177 795/1499/169 792/1496/167 +f 794/1498/19 798/1502/172 805/1509/178 +f 802/1510/17 806/1511/179 800/1504/174 +f 798/1502/172 807/1512/180 808/1513/181 +f 805/1509/178 809/1514/182 795/1499/169 +f 792/1496/167 810/1515/183 793/1497/168 +f 803/1516/176 811/1517/184 806/1511/179 +f 805/1509/178 808/1513/181 812/1518/185 +f 795/1499/169 813/1519/186 792/1496/167 +f 803/1507/176 810/1515/183 814/1520/14 +f 801/1505/175 811/1517/184 807/1512/180 +f 814/1520/14 815/1521/187 816/1522/5 +f 807/1512/180 817/1523/188 818/1524/189 +f 807/1512/180 819/1525/190 808/1513/181 +f 812/1518/185 820/1526/191 809/1514/182 +f 813/1519/186 815/1521/187 810/1515/183 +f 814/1527/14 817/1523/188 811/1517/184 +f 812/1518/185 819/1525/190 821/1528/3 +f 813/1519/186 820/1526/191 822/1529/192 +f 819/1525/190 823/1530/193 821/1528/3 +f 822/1529/192 824/1531/194 825/1532/195 +f 816/1522/5 826/1533/196 827/1534/197 +f 817/1523/188 828/1535/198 818/1524/189 +f 818/1524/189 829/1536/199 819/1525/190 +f 820/1526/191 823/1530/193 824/1531/194 +f 815/1521/187 825/1532/195 826/1533/196 +f 816/1537/5 830/1538/200 817/1523/188 +f 831/1539/201 46/74/202 832/1540/202 +f 833/1541/203 48/76/204 834/1542/204 +f 835/1543/205 42/70/206 50/78/205 +f 836/1544/207 40/68/208 837/1545/208 +f 831/1539/201 48/942/204 52/80/201 +f 833/1541/203 50/78/205 37/65/203 +f 837/1545/208 42/70/206 838/1546/206 +f 832/1540/202 43/71/207 836/1544/207 +f 54/1547/206 60/89/205 59/88/206 +f 45/73/207 56/85/202 58/87/207 +f 54/1547/206 64/948/208 738/1548/208 +f 47/75/201 56/85/202 44/72/202 +f 55/1549/207 64/93/208 66/96/207 +f 49/81/204 62/91/201 47/75/201 +f 55/1549/207 68/98/202 739/1550/202 +f 39/67/209 61/94/204 49/77/204 +f 51/79/208 58/87/207 71/101/208 +f 53/1551/203 60/89/205 737/1552/205 +f 51/79/208 69/99/206 41/69/206 +f 53/1551/203 70/100/204 57/86/203 +f 38/66/205 69/99/206 65/95/205 +f 740/1553/201 70/100/204 741/1554/204 +f 38/66/205 63/92/209 39/67/209 +f 740/1553/201 68/98/202 67/97/201 +f 839/1555/210 82/114/211 840/1556/211 +f 841/1557/202 88/120/212 842/1558/212 +f 843/1559/213 93/127/214 844/1560/214 +f 845/1561/205 96/130/215 846/1562/215 +f 840/1556/211 87/119/202 841/1557/202 +f 842/1558/212 91/124/213 843/1563/213 +f 844/1560/214 95/129/205 845/1561/205 +f 846/1562/215 80/112/210 839/1555/210 +f 98/951/210 103/962/211 81/113/211 +f 85/1564/213 111/157/212 742/1565/212 +f 84/1566/214 101/136/213 85/1567/213 +f 81/957/211 747/963/202 86/118/202 +f 83/1568/205 99/139/214 84/1569/214 +f 86/121/202 104/140/212 89/122/212 +f 746/1570/215 102/141/205 83/1571/205 +f 89/958/212 106/143/213 90/123/213 +f 97/961/215 100/969/210 98/133/210 +f 742/1572/212 110/154/202 743/1573/202 +f 94/131/205 113/968/215 97/132/215 +f 743/1574/202 109/151/211 744/1575/211 +f 92/960/214 112/967/205 94/128/205 +f 744/1576/211 107/147/210 745/1577/210 +f 90/959/213 108/146/214 92/126/214 +f 745/1578/210 105/144/215 746/1579/215 +f 847/1580/216 848/1581/217 849/1582/218 +f 850/1583/219 851/1584/220 852/1585/221 +f 853/1586/222 854/1587/223 855/1588/224 +f 856/1589/225 857/1590/226 858/1591/227 +f 857/1590/226 853/1586/222 855/1588/224 +f 859/1592/228 856/1589/225 858/1591/227 +f 860/1593/229 861/1594/230 853/1586/222 +f 862/1595/231 863/1596/232 856/1589/225 +f 853/1586/222 864/1597/233 865/1598/234 +f 863/1596/232 860/1593/229 856/1589/225 +f 866/1599/235 867/1600/223 868/1601/224 +f 869/1602/236 870/1603/226 871/1604/227 +f 870/1603/226 866/1599/235 868/1601/224 +f 872/1605/231 871/1604/227 873/1606/237 +f 874/1607/229 875/1608/230 866/1599/235 +f 872/1605/231 876/1609/232 869/1602/236 +f 875/1608/230 877/1610/234 866/1599/235 +f 876/1609/232 874/1607/229 869/1602/236 +f 878/1611/222 879/1612/223 880/1613/224 +f 881/1614/236 882/1615/226 883/1616/227 +f 882/1615/226 878/1611/222 880/1613/224 +f 884/1617/231 883/1616/227 885/1618/228 +f 886/1619/229 887/1620/230 878/1611/222 +f 888/1621/238 881/1614/236 884/1617/231 +f 878/1611/222 889/1622/233 890/1623/234 +f 891/1624/232 886/1619/229 881/1614/236 +f 854/1587/223 892/1625/4 855/1588/224 +f 867/1600/223 893/1626/4 868/1601/224 +f 855/1588/224 894/1627/22 857/1590/226 +f 857/1590/226 895/1628/1 858/1591/227 +f 879/1612/223 896/1629/4 880/1613/224 +f 868/1601/224 897/1630/22 870/1603/226 +f 858/1591/227 898/1631/214 859/1592/228 +f 870/1603/226 899/1632/1 871/1604/227 +f 880/1613/224 900/1633/22 882/1615/226 +f 882/1615/226 901/1634/1 883/1616/227 +f 871/1604/227 902/1635/214 873/1606/237 +f 883/1616/227 903/1636/214 885/1618/228 +f 847/1580/216 851/1584/220 904/1637/239 +f 905/1638/240 848/1581/217 906/1639/241 +f 904/1637/239 907/1640/242 908/1641/243 +f 906/1639/241 909/1642/244 910/1643/245 +f 851/1584/220 911/1644/246 907/1640/242 +f 904/1637/239 909/1642/244 848/1581/217 +f 912/1645/219 913/1646/247 914/1647/221 +f 915/1648/216 916/1649/248 917/1650/218 +f 915/1648/216 913/1646/247 918/1651/239 +f 917/1650/218 919/1652/241 920/1653/249 +f 918/1651/239 921/1654/242 922/1655/243 +f 919/1652/241 923/1656/244 924/1657/245 +f 925/1658/250 921/1654/242 913/1646/247 +f 918/1651/239 923/1656/244 916/1649/248 +f 926/1659/219 927/1660/220 928/1661/221 +f 929/1662/216 930/1663/248 931/1664/218 +f 929/1662/216 927/1660/220 932/1665/239 +f 931/1664/218 933/1666/241 934/1667/240 +f 932/1665/239 935/1668/242 936/1669/243 +f 930/1663/248 937/1670/245 933/1666/241 +f 927/1660/220 938/1671/246 935/1668/242 +f 932/1665/239 939/1672/244 930/1663/248 +f 940/1673/4 850/1583/219 852/1585/221 +f 941/1674/4 912/1645/219 914/1647/221 +f 942/1675/23 852/1585/221 847/1580/216 +f 943/1676/13 847/1580/216 849/1582/218 +f 944/1677/4 926/1659/219 928/1661/221 +f 945/1678/23 914/1647/221 915/1648/216 +f 946/1679/202 849/1582/218 905/1638/240 +f 947/1680/13 915/1648/216 917/1650/218 +f 948/1681/23 928/1661/221 929/1662/216 +f 949/1682/13 929/1662/216 931/1664/218 +f 950/1683/202 917/1650/218 920/1653/249 +f 951/1684/202 931/1664/218 934/1667/240 +f 952/1685/251 953/1686/252 954/1687/253 +f 955/1688/15 956/1689/254 957/1690/255 +f 958/1691/256 959/1692/257 960/1693/258 +f 961/1694/259 962/1695/260 958/1691/256 +f 963/1696/16 954/1687/253 964/1697/261 +f 957/1690/255 953/1686/252 965/1698/262 +f 955/1688/15 959/1692/257 966/1699/263 +f 963/1700/16 967/1701/264 961/1694/259 +f 959/1692/257 968/1702/265 969/1703/266 +f 966/1699/263 970/1704/267 956/1689/254 +f 953/1686/252 971/1705/268 954/1687/253 +f 964/1706/261 972/1707/269 967/1701/264 +f 966/1699/263 969/1703/266 973/1708/18 +f 956/1689/254 974/1709/270 953/1686/252 +f 964/1697/261 971/1705/268 975/1710/20 +f 962/1695/260 972/1707/269 968/1702/265 +f 975/1710/20 976/1711/188 977/1712/5 +f 968/1702/265 978/1713/187 979/1714/192 +f 968/1702/265 980/1715/271 969/1703/266 +f 973/1708/18 981/1716/272 970/1704/267 +f 974/1709/270 976/1711/188 971/1705/268 +f 975/1717/20 978/1713/187 972/1707/269 +f 973/1708/18 980/1715/271 982/1718/3 +f 974/1709/270 981/1716/272 983/1719/189 +f 980/1715/271 984/1720/273 982/1718/3 +f 983/1719/189 985/1721/274 986/1722/275 +f 977/1712/5 987/1723/276 988/1724/277 +f 978/1713/187 989/1725/278 979/1714/192 +f 979/1714/192 990/1726/279 980/1715/271 +f 981/1716/272 984/1720/273 985/1721/274 +f 976/1711/188 986/1722/275 987/1723/276 +f 977/1727/5 991/1728/280 978/1713/187 +f 992/1729/281 372/529/205 993/1730/205 +f 994/1731/282 374/531/283 995/1732/283 +f 996/1733/202 368/525/284 376/533/202 +f 997/1734/285 366/523/286 998/1735/286 +f 992/1729/281 374/1037/283 378/535/281 +f 994/1731/282 376/533/202 363/520/282 +f 998/1735/286 368/525/284 999/1736/284 +f 993/1730/205 369/526/285 997/1734/285 +f 380/1737/284 386/544/202 385/543/284 +f 371/528/285 382/540/205 384/542/285 +f 380/1737/284 390/1043/286 754/1738/286 +f 373/530/281 382/540/205 370/527/205 +f 381/1739/285 390/548/286 392/551/285 +f 375/536/283 388/546/281 373/530/281 +f 381/1739/285 391/550/205 755/1740/205 +f 365/522/287 387/549/283 375/532/283 +f 377/534/286 384/542/285 397/556/286 +f 379/1741/282 386/544/202 753/1742/202 +f 377/534/286 395/554/284 367/524/284 +f 379/1741/282 396/555/283 383/541/282 +f 364/521/202 395/554/284 393/552/202 +f 756/1743/281 396/555/283 757/1744/283 +f 364/521/202 389/547/287 365/522/287 +f 756/1743/281 391/550/205 394/553/281 +f 1000/1745/288 1001/1746/289 1002/1747/290 +f 1003/1748/291 1004/1749/292 1005/1750/293 +f 1006/1751/294 1007/1752/295 1008/1753/296 +f 1009/1754/297 1010/1755/298 1006/1751/294 +f 1011/1756/299 1002/1747/290 1012/1757/300 +f 1005/1750/293 1001/1746/289 1013/1758/301 +f 1003/1748/291 1007/1752/295 1014/1759/302 +f 1011/1760/299 1015/1761/303 1009/1754/297 +f 1007/1752/295 1016/1762/304 1017/1763/305 +f 1014/1759/302 1018/1764/306 1004/1749/292 +f 1001/1746/289 1019/1765/307 1002/1747/290 +f 1012/1766/300 1020/1767/308 1015/1761/303 +f 1014/1759/302 1017/1763/305 1021/1768/309 +f 1004/1749/292 1022/1769/310 1001/1746/289 +f 1012/1757/300 1019/1765/307 1023/1770/311 +f 1010/1755/298 1020/1767/308 1016/1762/304 +f 1023/1770/311 1024/1771/312 1025/1772/5 +f 1016/1762/304 1026/1773/313 1027/1774/314 +f 1016/1762/304 1028/1775/315 1017/1763/305 +f 1021/1768/309 1029/1776/316 1018/1764/306 +f 1022/1769/310 1024/1771/312 1019/1765/307 +f 1023/1777/311 1026/1773/313 1020/1767/308 +f 1021/1768/309 1028/1775/315 1030/1778/3 +f 1022/1769/310 1029/1776/316 1031/1779/317 +f 1028/1775/315 1032/1780/318 1030/1778/3 +f 1031/1779/317 1033/1781/319 1034/1782/320 +f 1025/1772/5 1035/1783/321 1036/1784/322 +f 1026/1773/313 1037/1785/323 1027/1774/314 +f 1027/1774/314 1038/1786/324 1028/1775/315 +f 1029/1776/316 1032/1780/318 1033/1781/319 +f 1024/1771/312 1034/1782/320 1035/1783/321 +f 1025/1787/5 1039/1788/325 1026/1773/313 +f 1040/1789/326 407/566/213 1041/1790/213 +f 1042/1791/327 409/568/328 1043/1792/328 +f 1044/1793/210 403/562/329 411/570/210 +f 1045/1794/330 401/560/331 1046/1795/331 +f 1040/1789/326 409/1044/328 413/572/326 +f 1042/1791/327 411/570/210 398/557/327 +f 1047/1796/329 401/560/331 403/562/329 +f 1041/1790/213 404/563/330 1045/1794/330 +f 415/1797/329 421/581/210 420/580/329 +f 406/565/330 417/577/213 419/579/330 +f 415/1797/329 425/1050/331 759/1798/331 +f 408/567/326 417/577/213 405/564/213 +f 416/1799/330 425/585/331 427/588/330 +f 410/573/328 423/583/326 408/567/326 +f 416/1799/330 429/590/213 760/1800/213 +f 400/559/332 422/586/328 410/569/328 +f 412/571/331 419/579/330 432/593/331 +f 414/1801/327 421/581/210 758/1802/210 +f 412/571/331 430/591/333 402/561/329 +f 414/1801/327 431/592/328 418/578/327 +f 402/561/329 426/587/210 399/558/210 +f 761/1803/326 431/592/328 762/1804/328 +f 399/558/210 424/584/332 400/559/332 +f 761/1803/326 429/590/213 428/589/326 +f 1048/1805/334 1049/1806/335 1050/1807/336 +f 1051/1808/337 1052/1809/338 1053/1810/339 +f 1054/1811/340 1055/1812/341 1056/1813/342 +f 1057/1814/343 1058/1815/344 1054/1811/340 +f 1059/1816/345 1050/1807/336 1060/1817/346 +f 1061/1818/347 1052/1809/338 1049/1806/335 +f 1051/1808/337 1055/1812/341 1062/1819/348 +f 1059/1820/345 1063/1821/349 1057/1814/343 +f 1055/1812/341 1064/1822/350 1065/1823/351 +f 1062/1819/348 1066/1824/352 1052/1809/338 +f 1049/1806/335 1067/1825/353 1050/1807/336 +f 1060/1826/346 1068/1827/354 1063/1821/349 +f 1062/1819/348 1065/1823/351 1069/1828/355 +f 1052/1809/338 1070/1829/356 1049/1806/335 +f 1060/1817/346 1067/1825/353 1071/1830/357 +f 1058/1815/344 1068/1827/354 1064/1822/350 +f 1071/1830/357 1072/1831/313 1073/1832/5 +f 1064/1822/350 1074/1833/312 1075/1834/317 +f 1064/1822/350 1076/1835/358 1065/1823/351 +f 1069/1828/355 1077/1836/359 1066/1824/352 +f 1070/1829/356 1072/1831/313 1067/1825/353 +f 1071/1837/357 1074/1833/312 1068/1827/354 +f 1069/1828/355 1076/1835/358 1078/1838/3 +f 1070/1829/356 1077/1836/359 1079/1839/314 +f 1076/1835/358 1080/1840/360 1078/1838/3 +f 1079/1839/314 1081/1841/361 1082/1842/362 +f 1073/1832/5 1083/1843/363 1084/1844/364 +f 1074/1833/312 1085/1845/365 1075/1834/317 +f 1075/1834/317 1086/1846/366 1076/1835/358 +f 1077/1836/359 1080/1840/360 1081/1841/361 +f 1072/1831/313 1082/1842/362 1083/1843/363 +f 1073/1847/5 1087/1848/367 1074/1833/312 +f 1088/1849/368 442/603/210 1089/1850/210 +f 1090/1851/369 444/605/370 1091/1852/370 +f 1092/1853/213 438/599/371 446/607/213 +f 1093/1854/372 439/600/373 436/597/372 +f 1088/1849/368 444/1051/370 448/609/368 +f 1090/1851/369 446/607/213 433/594/369 +f 1093/1854/372 438/599/371 1094/1855/371 +f 1089/1850/210 439/600/373 1095/1856/373 +f 450/1857/371 456/618/213 455/617/371 +f 441/602/373 452/614/210 454/616/373 +f 450/1857/371 460/1057/372 764/1858/372 +f 443/604/368 452/614/210 440/601/210 +f 451/1859/373 460/622/372 462/625/373 +f 445/610/370 458/620/368 443/604/368 +f 451/1859/373 464/627/210 765/1860/210 +f 435/596/374 457/623/370 445/606/370 +f 447/608/372 454/616/373 467/630/372 +f 449/1861/369 456/618/213 763/1862/213 +f 447/608/372 465/628/375 437/598/375 +f 449/1861/369 466/629/370 453/615/369 +f 437/598/375 461/624/213 434/595/213 +f 766/1863/368 466/629/370 767/1864/370 +f 434/595/213 459/621/374 435/596/374 +f 766/1863/368 464/627/210 463/626/368 +f 1096/1865/376 1097/1866/377 1098/1867/378 +f 1099/1868/379 1100/1869/380 1101/1870/381 +f 1102/1871/382 1103/1872/383 1104/1873/384 +f 1105/1874/385 1106/1875/386 1102/1871/382 +f 1107/1876/387 1098/1867/378 1108/1877/388 +f 1109/1878/389 1100/1869/380 1097/1866/377 +f 1099/1868/379 1103/1872/383 1110/1879/390 +f 1107/1880/387 1111/1881/391 1105/1874/385 +f 1103/1872/383 1112/1882/392 1113/1883/393 +f 1110/1879/390 1114/1884/394 1100/1869/380 +f 1097/1866/377 1115/1885/395 1098/1867/378 +f 1108/1886/388 1116/1887/396 1111/1881/391 +f 1110/1879/390 1113/1883/393 1117/1888/243 +f 1100/1869/380 1118/1889/397 1097/1866/377 +f 1108/1877/388 1115/1885/395 1119/1890/398 +f 1106/1875/386 1116/1887/396 1112/1882/392 +f 1119/1890/398 1120/1891/399 1121/1892/5 +f 1112/1882/392 1122/1893/400 1123/1894/401 +f 1112/1882/392 1124/1895/402 1113/1883/393 +f 1117/1888/243 1125/1896/403 1114/1884/394 +f 1118/1889/397 1120/1891/399 1115/1885/395 +f 1119/1897/398 1122/1893/400 1116/1887/396 +f 1117/1888/243 1124/1895/402 1126/1898/3 +f 1118/1889/397 1125/1896/403 1127/1899/404 +f 1124/1895/402 1128/1900/405 1126/1898/3 +f 1127/1899/404 1129/1901/406 1130/1902/407 +f 1121/1892/5 1131/1903/408 1132/1904/409 +f 1122/1893/400 1133/1905/410 1123/1894/401 +f 1123/1894/401 1134/1906/411 1124/1895/402 +f 1125/1896/403 1128/1900/405 1129/1901/406 +f 1120/1891/399 1130/1902/407 1131/1903/408 +f 1121/1907/5 1135/1908/412 1122/1893/400 +f 1136/1909/413 477/640/212 1137/1910/212 +f 1138/1911/414 479/642/415 1139/1912/415 +f 1140/1913/215 473/636/416 481/644/215 +f 1141/1914/417 471/634/418 1142/1915/418 +f 1136/1909/413 479/1058/415 483/646/413 +f 1138/1911/414 481/644/215 468/631/414 +f 1143/1916/416 471/634/418 473/636/416 +f 1137/1910/212 474/637/417 1141/1914/417 +f 485/1917/416 491/655/215 490/654/419 +f 476/639/417 487/651/212 489/653/417 +f 485/1917/416 495/1064/418 769/1918/418 +f 478/641/413 487/651/212 475/638/212 +f 486/1919/417 495/659/418 497/662/417 +f 480/647/415 493/657/413 478/641/413 +f 486/1919/417 499/664/212 770/1920/212 +f 470/633/420 492/660/415 480/643/415 +f 482/645/418 489/653/417 502/667/418 +f 484/1921/414 491/655/215 768/1922/215 +f 482/645/418 500/665/416 472/635/419 +f 484/1921/414 501/666/415 488/652/414 +f 472/635/419 496/661/215 469/632/215 +f 771/1923/413 501/666/415 772/1924/415 +f 469/632/215 494/658/420 470/633/420 +f 771/1923/413 499/664/212 498/663/413 +f 1144/1925/421 1145/1926/422 1146/1927/423 +f 1147/1928/424 1148/1929/425 1149/1930/426 +f 1150/1931/427 1151/1932/428 1152/1933/429 +f 1153/1934/430 1154/1935/431 1150/1931/427 +f 1155/1936/432 1146/1927/423 1156/1937/433 +f 1157/1938/434 1148/1929/425 1145/1926/422 +f 1152/1933/429 1158/1939/435 1147/1928/424 +f 1155/1940/432 1159/1941/436 1153/1934/430 +f 1151/1932/428 1160/1942/437 1161/1943/438 +f 1158/1939/435 1162/1944/439 1148/1929/425 +f 1145/1926/422 1163/1945/440 1146/1927/423 +f 1156/1946/433 1164/1947/441 1159/1941/436 +f 1158/1939/435 1161/1943/438 1165/1948/442 +f 1148/1929/425 1166/1949/443 1145/1926/422 +f 1156/1937/433 1163/1945/440 1167/1950/444 +f 1154/1935/431 1164/1947/441 1160/1942/437 +f 1163/1945/440 1168/1951/5 1167/1950/444 +f 1160/1942/437 1169/1952/399 1170/1953/404 +f 1160/1942/437 1171/1954/403 1161/1943/438 +f 1165/1948/442 1172/1955/402 1162/1944/439 +f 1166/1949/443 1173/1956/400 1163/1945/440 +f 1167/1957/444 1169/1952/399 1164/1947/441 +f 1165/1948/442 1171/1954/403 1174/1958/3 +f 1166/1949/443 1172/1955/402 1175/1959/401 +f 1171/1954/403 1176/1960/445 1174/1958/3 +f 1175/1959/401 1177/1961/446 1178/1962/447 +f 1168/1951/5 1179/1963/448 1180/1964/449 +f 1169/1952/399 1181/1965/450 1170/1953/404 +f 1170/1953/404 1182/1966/451 1171/1954/403 +f 1172/1955/402 1176/1960/445 1177/1961/446 +f 1173/1956/400 1178/1962/447 1179/1963/448 +f 1168/1967/5 1183/1968/452 1169/1952/399 +f 1184/1969/453 512/677/215 1185/1970/215 +f 1186/1971/454 514/679/455 1187/1972/455 +f 1188/1973/212 508/673/456 516/681/212 +f 1189/1974/457 506/671/458 1190/1975/458 +f 1184/1969/453 514/1065/455 518/683/453 +f 1186/1971/454 516/681/212 503/668/454 +f 1190/1975/458 508/673/456 1191/1976/456 +f 1185/1970/215 509/674/457 1189/1974/457 +f 520/1977/456 526/692/212 525/691/456 +f 511/676/457 522/688/215 524/690/457 +f 520/1977/456 530/1071/458 774/1978/458 +f 510/675/215 528/694/453 522/688/215 +f 521/1979/457 530/696/458 532/699/457 +f 515/684/455 528/694/453 513/678/453 +f 521/1979/457 534/701/215 775/1980/215 +f 505/670/454 527/697/455 515/680/455 +f 517/682/458 524/690/457 537/704/458 +f 519/1981/454 526/692/212 773/1982/212 +f 517/682/458 535/702/459 507/672/459 +f 519/1981/454 536/703/455 523/689/454 +f 507/672/459 531/698/212 504/669/212 +f 776/1983/453 536/703/455 777/1984/455 +f 504/669/212 529/695/454 505/670/454 +f 776/1983/453 534/701/215 533/700/453 +f 1192/1985/460 1193/1986/461 1194/1987/462 +f 1195/1988/463 1196/1989/464 1197/1990/465 +f 1198/1991/466 1199/1992/467 1200/1993/468 +f 1201/1994/469 1202/1995/470 1198/1991/466 +f 1203/1996/471 1194/1987/462 1204/1997/472 +f 1197/1990/465 1193/1986/461 1205/1998/473 +f 1195/1988/463 1199/1992/467 1206/1999/474 +f 1203/2000/471 1207/2001/475 1201/1994/469 +f 1199/1992/467 1208/2002/476 1209/2003/477 +f 1206/1999/474 1210/2004/478 1196/1989/464 +f 1193/1986/461 1211/2005/479 1194/1987/462 +f 1204/2006/472 1212/2007/480 1207/2001/475 +f 1206/1999/474 1209/2003/477 1213/2008/481 +f 1196/1989/464 1214/2009/482 1193/1986/461 +f 1204/1997/472 1211/2005/479 1215/2010/483 +f 1202/1995/470 1212/2007/480 1208/2002/476 +f 1215/2010/483 1216/2011/484 1217/2012/5 +f 1208/2002/476 1218/2013/485 1219/2014/486 +f 1208/2002/476 1220/2015/487 1209/2003/477 +f 1213/2008/481 1221/2016/488 1210/2004/478 +f 1214/2009/482 1216/2011/484 1211/2005/479 +f 1215/2017/483 1218/2013/485 1212/2007/480 +f 1213/2008/481 1220/2015/487 1222/2018/3 +f 1214/2009/482 1221/2016/488 1223/2019/489 +f 1220/2015/487 1224/2020/490 1222/2018/3 +f 1223/2019/489 1225/2021/491 1226/2022/492 +f 1217/2012/5 1227/2023/493 1228/2024/494 +f 1218/2013/485 1229/2025/495 1219/2014/486 +f 1219/2014/486 1230/2026/496 1220/2015/487 +f 1221/2016/488 1224/2020/490 1225/2021/491 +f 1216/2011/484 1226/2022/492 1227/2023/493 +f 1217/2027/5 1231/2028/497 1218/2013/485 +f 1232/2029/498 547/714/214 1233/2030/214 +f 1234/2031/499 549/716/500 1235/2032/500 +f 1236/2033/211 543/710/501 551/718/211 +f 1237/2034/502 541/708/503 1238/2035/503 +f 1232/2029/498 549/1072/500 553/720/498 +f 1234/2031/499 551/718/211 538/705/499 +f 1238/2035/503 543/710/501 1239/2036/501 +f 1233/2030/214 544/711/502 1237/2034/502 +f 555/2037/501 561/729/211 560/728/504 +f 546/713/502 557/725/214 559/727/502 +f 555/2037/501 565/1078/503 779/2038/503 +f 548/715/498 557/725/214 545/712/214 +f 556/2039/502 565/733/503 567/736/502 +f 550/721/500 563/731/498 548/715/498 +f 556/2039/502 569/738/214 780/2040/214 +f 540/707/499 562/734/500 550/717/500 +f 552/719/503 559/727/502 572/741/503 +f 554/2041/499 561/729/211 778/2042/211 +f 552/719/503 570/739/501 542/709/501 +f 554/2041/499 571/740/500 558/726/499 +f 542/709/501 566/735/211 539/706/211 +f 781/2043/498 571/740/500 782/2044/500 +f 539/706/211 564/732/499 540/707/499 +f 781/2043/498 569/738/214 568/737/498 +f 1240/2045/505 1241/2046/506 1242/2047/507 +f 1243/2048/508 1244/2049/509 1245/2050/510 +f 1246/2051/511 1247/2052/512 1248/2053/513 +f 1249/2054/514 1250/2055/515 1246/2051/511 +f 1251/2056/516 1242/2047/507 1252/2057/517 +f 1253/2058/518 1244/2049/509 1241/2046/506 +f 1243/2048/508 1247/2052/512 1254/2059/519 +f 1251/2060/516 1255/2061/520 1249/2054/514 +f 1247/2052/512 1256/2062/521 1257/2063/522 +f 1254/2059/519 1258/2064/523 1244/2049/509 +f 1241/2046/506 1259/2065/524 1242/2047/507 +f 1252/2066/517 1260/2067/525 1255/2061/520 +f 1247/2052/512 1261/2068/526 1254/2059/519 +f 1244/2049/509 1262/2069/527 1241/2046/506 +f 1252/2057/517 1259/2065/524 1263/2070/528 +f 1250/2055/515 1260/2067/525 1256/2062/521 +f 1263/2070/528 1264/2071/485 1265/2072/5 +f 1256/2062/521 1266/2073/484 1267/2074/489 +f 1256/2062/521 1268/2075/488 1257/2063/522 +f 1261/2068/526 1269/2076/487 1258/2064/523 +f 1262/2069/527 1264/2071/485 1259/2065/524 +f 1263/2077/528 1266/2073/484 1260/2067/525 +f 1261/2068/526 1268/2075/488 1270/2078/3 +f 1262/2069/527 1269/2076/487 1271/2079/486 +f 1268/2075/488 1272/2080/529 1270/2078/3 +f 1271/2079/486 1273/2081/530 1274/2082/531 +f 1265/2072/5 1275/2083/532 1276/2084/533 +f 1266/2073/484 1277/2085/534 1267/2074/489 +f 1267/2074/489 1278/2086/535 1268/2075/488 +f 1269/2076/487 1272/2080/529 1273/2081/530 +f 1264/2071/485 1274/2082/531 1275/2083/532 +f 1265/2087/5 1279/2088/536 1266/2073/484 +f 1280/2089/537 583/752/211 1281/2090/211 +f 1282/2091/538 584/753/539 1283/2092/539 +f 1284/2093/214 578/747/540 586/755/214 +f 1285/2094/541 579/748/542 576/745/541 +f 1280/2089/537 584/1079/539 582/751/537 +f 1282/2091/538 586/755/214 573/742/538 +f 1286/2095/540 576/745/541 578/747/540 +f 1281/2090/211 579/748/542 1287/2096/542 +f 590/2097/540 596/766/214 595/765/543 +f 581/750/542 592/762/211 594/764/542 +f 590/2097/540 600/1085/541 784/2098/541 +f 580/749/211 598/768/537 592/762/211 +f 591/2099/542 600/770/541 602/773/542 +f 585/757/539 598/768/537 588/758/544 +f 591/2099/542 604/775/211 785/2100/211 +f 575/744/545 597/771/539 585/754/539 +f 587/756/541 594/764/542 607/778/541 +f 589/2101/538 596/766/214 783/2102/214 +f 587/756/541 605/776/540 577/746/543 +f 589/2101/538 606/777/539 593/763/538 +f 577/746/543 601/772/214 574/743/214 +f 786/2103/537 606/777/539 787/2104/539 +f 574/743/214 599/769/538 575/744/545 +f 786/2103/537 604/775/211 603/774/537 +f 1288/2105/4 1289/2106/546 1290/2107/23 +f 1291/2108/205 1292/2109/547 1293/2110/22 +f 1290/2107/23 1294/2111/548 1295/2112/211 +f 1293/2110/22 1296/2113/549 1288/2105/4 +f 1292/2109/547 1297/2114/550 1298/2115/551 +f 1289/2106/546 1299/2116/552 1294/2111/548 +f 1292/2109/547 1300/2117/38 1296/2113/549 +f 1289/2106/546 1300/2117/38 1301/2118/553 +f 1300/2117/38 1302/2119/554 1301/2118/553 +f 1298/2115/551 1303/2120/555 1304/2121/556 +f 1301/2118/553 1305/2122/557 1299/2116/552 +f 1300/2117/38 1304/2121/556 1306/2123/185 +f 1307/2124/4 1308/2125/546 1309/2126/23 +f 1310/2127/205 1311/2128/547 1312/2129/22 +f 1309/2126/23 1313/2130/548 1314/2131/211 +f 1312/2129/22 1315/2132/549 1307/2124/4 +f 1311/2128/547 1316/2133/550 1317/2134/551 +f 1308/2125/546 1318/2135/552 1313/2130/548 +f 1311/2128/547 1319/2136/38 1315/2132/549 +f 1308/2125/546 1319/2136/38 1320/2137/553 +f 1319/2136/38 1321/2138/554 1320/2137/553 +f 1317/2134/551 1322/2139/555 1323/2140/556 +f 1320/2137/553 1324/2141/557 1318/2135/552 +f 1317/2134/551 1325/2142/185 1319/2136/38 +f 1326/2143/4 1327/2144/546 1328/2145/23 +f 1329/2146/205 1330/2147/547 1331/2148/22 +f 1328/2145/23 1332/2149/548 1333/2150/211 +f 1331/2148/22 1334/2151/549 1326/2143/4 +f 1330/2147/547 1335/2152/550 1336/2153/551 +f 1327/2144/546 1337/2154/552 1332/2149/548 +f 1330/2147/547 1338/2155/38 1334/2151/549 +f 1327/2144/546 1338/2155/38 1339/2156/553 +f 1338/2155/38 1340/2157/554 1339/2156/553 +f 1336/2153/551 1341/2158/555 1342/2159/556 +f 1339/2156/553 1343/2160/557 1337/2154/552 +f 1336/2153/551 1344/2161/185 1338/2155/38 +f 791/1495/166 804/1508/177 792/1496/167 +f 794/1498/19 805/1509/178 795/1499/169 +f 797/1501/171 801/1505/175 798/1502/172 +f 800/1504/174 806/1511/179 801/1505/175 +f 802/1506/17 791/1495/166 793/1497/168 +f 804/1508/177 796/1500/170 795/1499/169 +f 794/1498/19 799/1503/173 798/1502/172 +f 802/1510/17 803/1516/176 806/1511/179 +f 798/1502/172 801/1505/175 807/1512/180 +f 805/1509/178 812/1518/185 809/1514/182 +f 792/1496/167 813/1519/186 810/1515/183 +f 803/1516/176 814/1527/14 811/1517/184 +f 805/1509/178 798/1502/172 808/1513/181 +f 795/1499/169 809/1514/182 813/1519/186 +f 803/1507/176 793/1497/168 810/1515/183 +f 801/1505/175 806/1511/179 811/1517/184 +f 814/1520/14 810/1515/183 815/1521/187 +f 807/1512/180 811/1517/184 817/1523/188 +f 807/1512/180 818/1524/189 819/1525/190 +f 812/1518/185 821/1528/3 820/1526/191 +f 813/1519/186 822/1529/192 815/1521/187 +f 814/1527/14 816/1537/5 817/1523/188 +f 812/1518/185 808/1513/181 819/1525/190 +f 813/1519/186 809/1514/182 820/1526/191 +f 819/1525/190 829/1536/199 823/1530/193 +f 822/1529/192 820/1526/191 824/1531/194 +f 816/1522/5 815/1521/187 826/1533/196 +f 817/1523/188 830/1538/200 828/1535/198 +f 818/1524/189 828/1535/198 829/1536/199 +f 820/1526/191 821/1528/3 823/1530/193 +f 815/1521/187 822/1529/192 825/1532/195 +f 816/1537/5 827/2162/197 830/1538/200 +f 831/1539/201 52/80/201 46/74/202 +f 833/1541/203 37/65/203 48/76/204 +f 835/1543/205 838/1546/206 42/70/206 +f 836/1544/207 43/71/207 40/68/208 +f 831/1539/201 834/2163/204 48/942/204 +f 833/1541/203 835/1543/205 50/78/205 +f 837/1545/208 40/68/208 42/70/206 +f 832/1540/202 46/74/202 43/71/207 +f 54/1547/206 737/1552/205 60/89/205 +f 45/73/207 44/72/202 56/85/202 +f 54/1547/206 59/88/206 64/948/208 +f 47/75/201 62/91/201 56/85/202 +f 55/1549/207 738/2164/208 64/93/208 +f 49/81/204 61/90/204 62/91/201 +f 55/1549/207 66/96/207 68/98/202 +f 39/67/209 63/92/209 61/94/204 +f 51/79/208 45/73/207 58/87/207 +f 53/1551/203 57/86/203 60/89/205 +f 51/79/208 71/101/208 69/99/206 +f 53/1551/203 741/1554/204 70/100/204 +f 38/66/205 41/69/206 69/99/206 +f 740/1553/201 67/97/201 70/100/204 +f 38/66/205 65/95/205 63/92/209 +f 740/1553/201 739/1550/202 68/98/202 +f 839/1555/210 80/112/210 82/114/211 +f 841/1557/202 87/119/202 88/120/212 +f 843/1559/213 91/125/213 93/127/214 +f 845/1561/205 95/129/205 96/130/215 +f 840/1556/211 82/114/211 87/119/202 +f 842/1558/212 88/120/212 91/124/213 +f 844/1560/214 93/127/214 95/129/205 +f 846/1562/215 96/130/215 80/112/210 +f 98/951/210 100/135/210 103/962/211 +f 85/1564/213 101/155/213 111/157/212 +f 84/1566/214 99/134/214 101/136/213 +f 81/957/211 103/138/211 747/963/202 +f 83/1568/205 102/137/205 99/139/214 +f 86/121/202 747/964/202 104/140/212 +f 746/1570/215 105/142/215 102/141/205 +f 89/958/212 104/965/212 106/143/213 +f 97/961/215 113/156/215 100/969/210 +f 742/1572/212 111/152/212 110/154/202 +f 94/131/205 112/153/205 113/968/215 +f 743/1574/202 110/149/202 109/151/211 +f 92/960/214 108/150/214 112/967/205 +f 744/1576/211 109/148/211 107/147/210 +f 90/959/213 106/966/213 108/146/214 +f 745/1578/210 107/145/210 105/144/215 +f 847/1580/216 904/1637/239 848/1581/217 +f 850/1583/219 1345/2165/250 851/1584/220 +f 853/1586/222 865/1598/234 854/1587/223 +f 856/1589/225 860/1593/229 857/1590/226 +f 857/1590/226 860/1593/229 853/1586/222 +f 859/1592/228 862/1595/231 856/1589/225 +f 860/1593/229 1346/2166/526 861/1594/230 +f 862/1595/231 1347/2167/238 863/1596/232 +f 853/1586/222 861/1594/230 864/1597/233 +f 863/1596/232 1346/2166/526 860/1593/229 +f 866/1599/235 877/1610/234 867/1600/223 +f 869/1602/236 874/1607/229 870/1603/226 +f 870/1603/226 874/1607/229 866/1599/235 +f 872/1605/231 869/1602/236 871/1604/227 +f 874/1607/229 1348/2168/526 875/1608/230 +f 872/1605/231 1349/2169/238 876/1609/232 +f 875/1608/230 1350/2170/233 877/1610/234 +f 876/1609/232 1348/2168/526 874/1607/229 +f 878/1611/222 890/1623/234 879/1612/223 +f 881/1614/236 886/1619/229 882/1615/226 +f 882/1615/226 886/1619/229 878/1611/222 +f 884/1617/231 881/1614/236 883/1616/227 +f 886/1619/229 1351/2171/526 887/1620/230 +f 888/1621/238 891/1624/232 881/1614/236 +f 878/1611/222 887/1620/230 889/1622/233 +f 891/1624/232 1351/2171/526 886/1619/229 +f 854/1587/223 1352/2172/210 892/1625/4 +f 867/1600/223 1353/2173/210 893/1626/4 +f 855/1588/224 892/1625/4 894/1627/22 +f 857/1590/226 894/1627/22 895/1628/1 +f 879/1612/223 1354/2174/210 896/1629/4 +f 868/1601/224 893/1626/4 897/1630/22 +f 858/1591/227 895/1628/1 898/1631/214 +f 870/1603/226 897/1630/22 899/1632/1 +f 880/1613/224 896/1629/4 900/1633/22 +f 882/1615/226 900/1633/22 901/1634/1 +f 871/1604/227 899/1632/1 902/1635/214 +f 883/1616/227 901/1634/1 903/1636/214 +f 847/1580/216 852/1585/221 851/1584/220 +f 905/1638/240 849/1582/218 848/1581/217 +f 904/1637/239 851/1584/220 907/1640/242 +f 906/1639/241 848/1581/217 909/1642/244 +f 851/1584/220 1345/2165/250 911/1644/246 +f 904/1637/239 908/1641/243 909/1642/244 +f 912/1645/219 925/1658/250 913/1646/247 +f 915/1648/216 918/1651/239 916/1649/248 +f 915/1648/216 914/1647/221 913/1646/247 +f 917/1650/218 916/1649/248 919/1652/241 +f 918/1651/239 913/1646/247 921/1654/242 +f 919/1652/241 916/1649/248 923/1656/244 +f 925/1658/250 1355/2175/246 921/1654/242 +f 918/1651/239 922/1655/243 923/1656/244 +f 926/1659/219 1356/2176/250 927/1660/220 +f 929/1662/216 932/1665/239 930/1663/248 +f 929/1662/216 928/1661/221 927/1660/220 +f 931/1664/218 930/1663/248 933/1666/241 +f 932/1665/239 927/1660/220 935/1668/242 +f 930/1663/248 939/1672/244 937/1670/245 +f 927/1660/220 1356/2176/250 938/1671/246 +f 932/1665/239 936/1669/243 939/1672/244 +f 940/1673/4 1357/2177/215 850/1583/219 +f 941/1674/4 1358/2178/215 912/1645/219 +f 942/1675/23 940/1673/4 852/1585/221 +f 943/1676/13 942/1675/23 847/1580/216 +f 944/1677/4 1359/2179/215 926/1659/219 +f 945/1678/23 941/1674/4 914/1647/221 +f 946/1679/202 943/1676/13 849/1582/218 +f 947/1680/13 945/1678/23 915/1648/216 +f 948/1681/23 944/1677/4 928/1661/221 +f 949/1682/13 948/1681/23 929/1662/216 +f 950/1683/202 947/1680/13 917/1650/218 +f 951/1684/202 949/1682/13 931/1664/218 +f 952/1685/251 965/1698/262 953/1686/252 +f 955/1688/15 966/1699/263 956/1689/254 +f 958/1691/256 962/1695/260 959/1692/257 +f 961/1694/259 967/1701/264 962/1695/260 +f 963/1696/16 952/1685/251 954/1687/253 +f 957/1690/255 956/1689/254 953/1686/252 +f 955/1688/15 960/1693/258 959/1692/257 +f 963/1700/16 964/1706/261 967/1701/264 +f 959/1692/257 962/1695/260 968/1702/265 +f 966/1699/263 973/1708/18 970/1704/267 +f 953/1686/252 974/1709/270 971/1705/268 +f 964/1706/261 975/1717/20 972/1707/269 +f 966/1699/263 959/1692/257 969/1703/266 +f 956/1689/254 970/1704/267 974/1709/270 +f 964/1697/261 954/1687/253 971/1705/268 +f 962/1695/260 967/1701/264 972/1707/269 +f 975/1710/20 971/1705/268 976/1711/188 +f 968/1702/265 972/1707/269 978/1713/187 +f 968/1702/265 979/1714/192 980/1715/271 +f 973/1708/18 982/1718/3 981/1716/272 +f 974/1709/270 983/1719/189 976/1711/188 +f 975/1717/20 977/1727/5 978/1713/187 +f 973/1708/18 969/1703/266 980/1715/271 +f 974/1709/270 970/1704/267 981/1716/272 +f 980/1715/271 990/1726/279 984/1720/273 +f 983/1719/189 981/1716/272 985/1721/274 +f 977/1712/5 976/1711/188 987/1723/276 +f 978/1713/187 991/1728/280 989/1725/278 +f 979/1714/192 989/1725/278 990/1726/279 +f 981/1716/272 982/1718/3 984/1720/273 +f 976/1711/188 983/1719/189 986/1722/275 +f 977/1727/5 988/2180/277 991/1728/280 +f 992/1729/281 378/535/281 372/529/205 +f 994/1731/282 363/520/282 374/531/283 +f 996/1733/202 999/1736/284 368/525/284 +f 997/1734/285 369/526/285 366/523/286 +f 992/1729/281 995/2181/283 374/1037/283 +f 994/1731/282 996/1733/202 376/533/202 +f 998/1735/286 366/523/286 368/525/284 +f 993/1730/205 372/529/205 369/526/285 +f 380/1737/284 753/1742/202 386/544/202 +f 371/528/285 370/527/205 382/540/205 +f 380/1737/284 385/543/284 390/1043/286 +f 373/530/281 388/546/281 382/540/205 +f 381/1739/285 754/2182/286 390/548/286 +f 375/536/283 387/545/283 388/546/281 +f 381/1739/285 392/551/285 391/550/205 +f 365/522/287 389/547/287 387/549/283 +f 377/534/286 371/528/285 384/542/285 +f 379/1741/282 383/541/282 386/544/202 +f 377/534/286 397/556/286 395/554/284 +f 379/1741/282 757/1744/283 396/555/283 +f 364/521/202 367/524/284 395/554/284 +f 756/1743/281 394/553/281 396/555/283 +f 364/521/202 393/552/202 389/547/287 +f 756/1743/281 755/1740/205 391/550/205 +f 1000/1745/288 1013/1758/301 1001/1746/289 +f 1003/1748/291 1014/1759/302 1004/1749/292 +f 1006/1751/294 1010/1755/298 1007/1752/295 +f 1009/1754/297 1015/1761/303 1010/1755/298 +f 1011/1756/299 1000/1745/288 1002/1747/290 +f 1005/1750/293 1004/1749/292 1001/1746/289 +f 1003/1748/291 1008/1753/296 1007/1752/295 +f 1011/1760/299 1012/1766/300 1015/1761/303 +f 1007/1752/295 1010/1755/298 1016/1762/304 +f 1014/1759/302 1021/1768/309 1018/1764/306 +f 1001/1746/289 1022/1769/310 1019/1765/307 +f 1012/1766/300 1023/1777/311 1020/1767/308 +f 1014/1759/302 1007/1752/295 1017/1763/305 +f 1004/1749/292 1018/1764/306 1022/1769/310 +f 1012/1757/300 1002/1747/290 1019/1765/307 +f 1010/1755/298 1015/1761/303 1020/1767/308 +f 1023/1770/311 1019/1765/307 1024/1771/312 +f 1016/1762/304 1020/1767/308 1026/1773/313 +f 1016/1762/304 1027/1774/314 1028/1775/315 +f 1021/1768/309 1030/1778/3 1029/1776/316 +f 1022/1769/310 1031/1779/317 1024/1771/312 +f 1023/1777/311 1025/1787/5 1026/1773/313 +f 1021/1768/309 1017/1763/305 1028/1775/315 +f 1022/1769/310 1018/1764/306 1029/1776/316 +f 1028/1775/315 1038/1786/324 1032/1780/318 +f 1031/1779/317 1029/1776/316 1033/1781/319 +f 1025/1772/5 1024/1771/312 1035/1783/321 +f 1026/1773/313 1039/1788/325 1037/1785/323 +f 1027/1774/314 1037/1785/323 1038/1786/324 +f 1029/1776/316 1030/1778/3 1032/1780/318 +f 1024/1771/312 1031/1779/317 1034/1782/320 +f 1025/1787/5 1036/2183/322 1039/1788/325 +f 1040/1789/326 413/572/326 407/566/213 +f 1042/1791/327 398/557/327 409/568/328 +f 1044/1793/210 1047/1796/329 403/562/329 +f 1045/1794/330 404/563/330 401/560/331 +f 1040/1789/326 1043/2184/328 409/1044/328 +f 1042/1791/327 1044/1793/210 411/570/210 +f 1047/1796/329 1046/1795/331 401/560/331 +f 1041/1790/213 407/566/213 404/563/330 +f 415/1797/329 758/1802/210 421/581/210 +f 406/565/330 405/564/213 417/577/213 +f 415/1797/329 420/580/329 425/1050/331 +f 408/567/326 423/583/326 417/577/213 +f 416/1799/330 759/2185/331 425/585/331 +f 410/573/328 422/582/328 423/583/326 +f 416/1799/330 427/588/330 429/590/213 +f 400/559/332 424/584/332 422/586/328 +f 412/571/331 406/565/330 419/579/330 +f 414/1801/327 418/578/327 421/581/210 +f 412/571/331 432/593/331 430/591/333 +f 414/1801/327 762/1804/328 431/592/328 +f 402/561/329 430/591/333 426/587/210 +f 761/1803/326 428/589/326 431/592/328 +f 399/558/210 426/587/210 424/584/332 +f 761/1803/326 760/1800/213 429/590/213 +f 1048/1805/334 1061/1818/347 1049/1806/335 +f 1051/1808/337 1062/1819/348 1052/1809/338 +f 1054/1811/340 1058/1815/344 1055/1812/341 +f 1057/1814/343 1063/1821/349 1058/1815/344 +f 1059/1816/345 1048/1805/334 1050/1807/336 +f 1061/1818/347 1053/1810/339 1052/1809/338 +f 1051/1808/337 1056/1813/342 1055/1812/341 +f 1059/1820/345 1060/1826/346 1063/1821/349 +f 1055/1812/341 1058/1815/344 1064/1822/350 +f 1062/1819/348 1069/1828/355 1066/1824/352 +f 1049/1806/335 1070/1829/356 1067/1825/353 +f 1060/1826/346 1071/1837/357 1068/1827/354 +f 1062/1819/348 1055/1812/341 1065/1823/351 +f 1052/1809/338 1066/1824/352 1070/1829/356 +f 1060/1817/346 1050/1807/336 1067/1825/353 +f 1058/1815/344 1063/1821/349 1068/1827/354 +f 1071/1830/357 1067/1825/353 1072/1831/313 +f 1064/1822/350 1068/1827/354 1074/1833/312 +f 1064/1822/350 1075/1834/317 1076/1835/358 +f 1069/1828/355 1078/1838/3 1077/1836/359 +f 1070/1829/356 1079/1839/314 1072/1831/313 +f 1071/1837/357 1073/1847/5 1074/1833/312 +f 1069/1828/355 1065/1823/351 1076/1835/358 +f 1070/1829/356 1066/1824/352 1077/1836/359 +f 1076/1835/358 1086/1846/366 1080/1840/360 +f 1079/1839/314 1077/1836/359 1081/1841/361 +f 1073/1832/5 1072/1831/313 1083/1843/363 +f 1074/1833/312 1087/1848/367 1085/1845/365 +f 1075/1834/317 1085/1845/365 1086/1846/366 +f 1077/1836/359 1078/1838/3 1080/1840/360 +f 1072/1831/313 1079/1839/314 1082/1842/362 +f 1073/1847/5 1084/2186/364 1087/1848/367 +f 1088/1849/368 448/609/368 442/603/210 +f 1090/1851/369 433/594/369 444/605/370 +f 1092/1853/213 1094/1855/371 438/599/371 +f 1093/1854/372 1095/1856/373 439/600/373 +f 1088/1849/368 1091/2187/370 444/1051/370 +f 1090/1851/369 1092/1853/213 446/607/213 +f 1093/1854/372 436/597/372 438/599/371 +f 1089/1850/210 442/603/210 439/600/373 +f 450/1857/371 763/1862/213 456/618/213 +f 441/602/373 440/601/210 452/614/210 +f 450/1857/371 455/617/371 460/1057/372 +f 443/604/368 458/620/368 452/614/210 +f 451/1859/373 764/2188/372 460/622/372 +f 445/610/370 457/619/370 458/620/368 +f 451/1859/373 462/625/373 464/627/210 +f 435/596/374 459/621/374 457/623/370 +f 447/608/372 441/602/373 454/616/373 +f 449/1861/369 453/615/369 456/618/213 +f 447/608/372 467/630/372 465/628/375 +f 449/1861/369 767/1864/370 466/629/370 +f 437/598/375 465/628/375 461/624/213 +f 766/1863/368 463/626/368 466/629/370 +f 434/595/213 461/624/213 459/621/374 +f 766/1863/368 765/1860/210 464/627/210 +f 1096/1865/376 1109/1878/389 1097/1866/377 +f 1099/1868/379 1110/1879/390 1100/1869/380 +f 1102/1871/382 1106/1875/386 1103/1872/383 +f 1105/1874/385 1111/1881/391 1106/1875/386 +f 1107/1876/387 1096/1865/376 1098/1867/378 +f 1109/1878/389 1101/1870/381 1100/1869/380 +f 1099/1868/379 1104/1873/384 1103/1872/383 +f 1107/1880/387 1108/1886/388 1111/1881/391 +f 1103/1872/383 1106/1875/386 1112/1882/392 +f 1110/1879/390 1117/1888/243 1114/1884/394 +f 1097/1866/377 1118/1889/397 1115/1885/395 +f 1108/1886/388 1119/1897/398 1116/1887/396 +f 1110/1879/390 1103/1872/383 1113/1883/393 +f 1100/1869/380 1114/1884/394 1118/1889/397 +f 1108/1877/388 1098/1867/378 1115/1885/395 +f 1106/1875/386 1111/1881/391 1116/1887/396 +f 1119/1890/398 1115/1885/395 1120/1891/399 +f 1112/1882/392 1116/1887/396 1122/1893/400 +f 1112/1882/392 1123/1894/401 1124/1895/402 +f 1117/1888/243 1126/1898/3 1125/1896/403 +f 1118/1889/397 1127/1899/404 1120/1891/399 +f 1119/1897/398 1121/1907/5 1122/1893/400 +f 1117/1888/243 1113/1883/393 1124/1895/402 +f 1118/1889/397 1114/1884/394 1125/1896/403 +f 1124/1895/402 1134/1906/411 1128/1900/405 +f 1127/1899/404 1125/1896/403 1129/1901/406 +f 1121/1892/5 1120/1891/399 1131/1903/408 +f 1122/1893/400 1135/1908/412 1133/1905/410 +f 1123/1894/401 1133/1905/410 1134/1906/411 +f 1125/1896/403 1126/1898/3 1128/1900/405 +f 1120/1891/399 1127/1899/404 1130/1902/407 +f 1121/1907/5 1132/2189/409 1135/1908/412 +f 1136/1909/413 483/646/413 477/640/212 +f 1138/1911/414 468/631/414 479/642/415 +f 1140/1913/215 1143/1916/416 473/636/416 +f 1141/1914/417 474/637/417 471/634/418 +f 1136/1909/413 1139/2190/415 479/1058/415 +f 1138/1911/414 1140/1913/215 481/644/215 +f 1143/1916/416 1142/1915/418 471/634/418 +f 1137/1910/212 477/640/212 474/637/417 +f 485/1917/416 768/1922/215 491/655/215 +f 476/639/417 475/638/212 487/651/212 +f 485/1917/416 490/654/419 495/1064/418 +f 478/641/413 493/657/413 487/651/212 +f 486/1919/417 769/2191/418 495/659/418 +f 480/647/415 492/656/415 493/657/413 +f 486/1919/417 497/662/417 499/664/212 +f 470/633/420 494/658/420 492/660/415 +f 482/645/418 476/639/417 489/653/417 +f 484/1921/414 488/652/414 491/655/215 +f 482/645/418 502/667/418 500/665/416 +f 484/1921/414 772/1924/415 501/666/415 +f 472/635/419 500/665/416 496/661/215 +f 771/1923/413 498/663/413 501/666/415 +f 469/632/215 496/661/215 494/658/420 +f 771/1923/413 770/1920/212 499/664/212 +f 1144/1925/421 1157/1938/434 1145/1926/422 +f 1147/1928/424 1158/1939/435 1148/1929/425 +f 1150/1931/427 1154/1935/431 1151/1932/428 +f 1153/1934/430 1159/1941/436 1154/1935/431 +f 1155/1936/432 1144/1925/421 1146/1927/423 +f 1157/1938/434 1149/1930/426 1148/1929/425 +f 1152/1933/429 1151/1932/428 1158/1939/435 +f 1155/1940/432 1156/1946/433 1159/1941/436 +f 1151/1932/428 1154/1935/431 1160/1942/437 +f 1158/1939/435 1165/1948/442 1162/1944/439 +f 1145/1926/422 1166/1949/443 1163/1945/440 +f 1156/1946/433 1167/1957/444 1164/1947/441 +f 1158/1939/435 1151/1932/428 1161/1943/438 +f 1148/1929/425 1162/1944/439 1166/1949/443 +f 1156/1937/433 1146/1927/423 1163/1945/440 +f 1154/1935/431 1159/1941/436 1164/1947/441 +f 1163/1945/440 1173/1956/400 1168/1951/5 +f 1160/1942/437 1164/1947/441 1169/1952/399 +f 1160/1942/437 1170/1953/404 1171/1954/403 +f 1165/1948/442 1174/1958/3 1172/1955/402 +f 1166/1949/443 1175/1959/401 1173/1956/400 +f 1167/1957/444 1168/1967/5 1169/1952/399 +f 1165/1948/442 1161/1943/438 1171/1954/403 +f 1166/1949/443 1162/1944/439 1172/1955/402 +f 1171/1954/403 1182/1966/451 1176/1960/445 +f 1175/1959/401 1172/1955/402 1177/1961/446 +f 1168/1951/5 1173/1956/400 1179/1963/448 +f 1169/1952/399 1183/1968/452 1181/1965/450 +f 1170/1953/404 1181/1965/450 1182/1966/451 +f 1172/1955/402 1174/1958/3 1176/1960/445 +f 1173/1956/400 1175/1959/401 1178/1962/447 +f 1168/1967/5 1180/2192/449 1183/1968/452 +f 1184/1969/453 518/683/453 512/677/215 +f 1186/1971/454 503/668/454 514/679/455 +f 1188/1973/212 1191/1976/456 508/673/456 +f 1189/1974/457 509/674/457 506/671/458 +f 1184/1969/453 1187/2193/455 514/1065/455 +f 1186/1971/454 1188/1973/212 516/681/212 +f 1190/1975/458 506/671/458 508/673/456 +f 1185/1970/215 512/677/215 509/674/457 +f 520/1977/456 773/1982/212 526/692/212 +f 511/676/457 510/675/215 522/688/215 +f 520/1977/456 525/691/456 530/1071/458 +f 510/675/215 513/678/453 528/694/453 +f 521/1979/457 774/2194/458 530/696/458 +f 515/684/455 527/693/455 528/694/453 +f 521/1979/457 532/699/457 534/701/215 +f 505/670/454 529/695/454 527/697/455 +f 517/682/458 511/676/457 524/690/457 +f 519/1981/454 523/689/454 526/692/212 +f 517/682/458 537/704/458 535/702/459 +f 519/1981/454 777/1984/455 536/703/455 +f 507/672/459 535/702/459 531/698/212 +f 776/1983/453 533/700/453 536/703/455 +f 504/669/212 531/698/212 529/695/454 +f 776/1983/453 775/1980/215 534/701/215 +f 1192/1985/460 1205/1998/473 1193/1986/461 +f 1195/1988/463 1206/1999/474 1196/1989/464 +f 1198/1991/466 1202/1995/470 1199/1992/467 +f 1201/1994/469 1207/2001/475 1202/1995/470 +f 1203/1996/471 1192/1985/460 1194/1987/462 +f 1197/1990/465 1196/1989/464 1193/1986/461 +f 1195/1988/463 1200/1993/468 1199/1992/467 +f 1203/2000/471 1204/2006/472 1207/2001/475 +f 1199/1992/467 1202/1995/470 1208/2002/476 +f 1206/1999/474 1213/2008/481 1210/2004/478 +f 1193/1986/461 1214/2009/482 1211/2005/479 +f 1204/2006/472 1215/2017/483 1212/2007/480 +f 1206/1999/474 1199/1992/467 1209/2003/477 +f 1196/1989/464 1210/2004/478 1214/2009/482 +f 1204/1997/472 1194/1987/462 1211/2005/479 +f 1202/1995/470 1207/2001/475 1212/2007/480 +f 1215/2010/483 1211/2005/479 1216/2011/484 +f 1208/2002/476 1212/2007/480 1218/2013/485 +f 1208/2002/476 1219/2014/486 1220/2015/487 +f 1213/2008/481 1222/2018/3 1221/2016/488 +f 1214/2009/482 1223/2019/489 1216/2011/484 +f 1215/2017/483 1217/2027/5 1218/2013/485 +f 1213/2008/481 1209/2003/477 1220/2015/487 +f 1214/2009/482 1210/2004/478 1221/2016/488 +f 1220/2015/487 1230/2026/496 1224/2020/490 +f 1223/2019/489 1221/2016/488 1225/2021/491 +f 1217/2012/5 1216/2011/484 1227/2023/493 +f 1218/2013/485 1231/2028/497 1229/2025/495 +f 1219/2014/486 1229/2025/495 1230/2026/496 +f 1221/2016/488 1222/2018/3 1224/2020/490 +f 1216/2011/484 1223/2019/489 1226/2022/492 +f 1217/2027/5 1228/2195/494 1231/2028/497 +f 1232/2029/498 553/720/498 547/714/214 +f 1234/2031/499 538/705/499 549/716/500 +f 1236/2033/211 1239/2036/501 543/710/501 +f 1237/2034/502 544/711/502 541/708/503 +f 1232/2029/498 1235/2196/500 549/1072/500 +f 1234/2031/499 1236/2033/211 551/718/211 +f 1238/2035/503 541/708/503 543/710/501 +f 1233/2030/214 547/714/214 544/711/502 +f 555/2037/501 778/2042/211 561/729/211 +f 546/713/502 545/712/214 557/725/214 +f 555/2037/501 560/728/504 565/1078/503 +f 548/715/498 563/731/498 557/725/214 +f 556/2039/502 779/2197/503 565/733/503 +f 550/721/500 562/730/500 563/731/498 +f 556/2039/502 567/736/502 569/738/214 +f 540/707/499 564/732/499 562/734/500 +f 552/719/503 546/713/502 559/727/502 +f 554/2041/499 558/726/499 561/729/211 +f 552/719/503 572/741/503 570/739/501 +f 554/2041/499 782/2044/500 571/740/500 +f 542/709/501 570/739/501 566/735/211 +f 781/2043/498 568/737/498 571/740/500 +f 539/706/211 566/735/211 564/732/499 +f 781/2043/498 780/2040/214 569/738/214 +f 1240/2045/505 1253/2058/518 1241/2046/506 +f 1243/2048/508 1254/2059/519 1244/2049/509 +f 1246/2051/511 1250/2055/515 1247/2052/512 +f 1249/2054/514 1255/2061/520 1250/2055/515 +f 1251/2056/516 1240/2045/505 1242/2047/507 +f 1253/2058/518 1245/2050/510 1244/2049/509 +f 1243/2048/508 1248/2053/513 1247/2052/512 +f 1251/2060/516 1252/2066/517 1255/2061/520 +f 1247/2052/512 1250/2055/515 1256/2062/521 +f 1254/2059/519 1261/2068/526 1258/2064/523 +f 1241/2046/506 1262/2069/527 1259/2065/524 +f 1252/2066/517 1263/2077/528 1260/2067/525 +f 1247/2052/512 1257/2063/522 1261/2068/526 +f 1244/2049/509 1258/2064/523 1262/2069/527 +f 1252/2057/517 1242/2047/507 1259/2065/524 +f 1250/2055/515 1255/2061/520 1260/2067/525 +f 1263/2070/528 1259/2065/524 1264/2071/485 +f 1256/2062/521 1260/2067/525 1266/2073/484 +f 1256/2062/521 1267/2074/489 1268/2075/488 +f 1261/2068/526 1270/2078/3 1269/2076/487 +f 1262/2069/527 1271/2079/486 1264/2071/485 +f 1263/2077/528 1265/2087/5 1266/2073/484 +f 1261/2068/526 1257/2063/522 1268/2075/488 +f 1262/2069/527 1258/2064/523 1269/2076/487 +f 1268/2075/488 1278/2086/535 1272/2080/529 +f 1271/2079/486 1269/2076/487 1273/2081/530 +f 1265/2072/5 1264/2071/485 1275/2083/532 +f 1266/2073/484 1279/2088/536 1277/2085/534 +f 1267/2074/489 1277/2085/534 1278/2086/535 +f 1269/2076/487 1270/2078/3 1272/2080/529 +f 1264/2071/485 1271/2079/486 1274/2082/531 +f 1265/2087/5 1276/2198/533 1279/2088/536 +f 1280/2089/537 582/751/537 583/752/211 +f 1282/2091/538 573/742/538 584/753/539 +f 1284/2093/214 1286/2095/540 578/747/540 +f 1285/2094/541 1287/2096/542 579/748/542 +f 1280/2089/537 1283/2199/539 584/1079/539 +f 1282/2091/538 1284/2093/214 586/755/214 +f 1286/2095/540 1285/2094/541 576/745/541 +f 1281/2090/211 583/752/211 579/748/542 +f 590/2097/540 783/2102/214 596/766/214 +f 581/750/542 580/749/211 592/762/211 +f 590/2097/540 595/765/543 600/1085/541 +f 580/749/211 588/758/544 598/768/537 +f 591/2099/542 784/2200/541 600/770/541 +f 585/757/539 597/767/539 598/768/537 +f 591/2099/542 602/773/542 604/775/211 +f 575/744/545 599/769/538 597/771/539 +f 587/756/541 581/750/542 594/764/542 +f 589/2101/538 593/763/538 596/766/214 +f 587/756/541 607/778/541 605/776/540 +f 589/2101/538 787/2104/539 606/777/539 +f 577/746/543 605/776/540 601/772/214 +f 786/2103/537 603/774/537 606/777/539 +f 574/743/214 601/772/214 599/769/538 +f 786/2103/537 785/2100/211 604/775/211 +f 1288/2105/4 1296/2113/549 1289/2106/546 +f 1291/2108/205 1360/2201/558 1292/2109/547 +f 1290/2107/23 1289/2106/546 1294/2111/548 +f 1293/2110/22 1292/2109/547 1296/2113/549 +f 1292/2109/547 1360/2201/558 1297/2114/550 +f 1289/2106/546 1301/2118/553 1299/2116/552 +f 1292/2109/547 1298/2115/551 1300/2117/38 +f 1289/2106/546 1296/2113/549 1300/2117/38 +f 1300/2117/38 1306/2123/185 1302/2119/554 +f 1298/2115/551 1297/2114/550 1303/2120/555 +f 1301/2118/553 1302/2119/554 1305/2122/557 +f 1300/2117/38 1298/2115/551 1304/2121/556 +f 1307/2124/4 1315/2132/549 1308/2125/546 +f 1310/2127/205 1361/2202/558 1311/2128/547 +f 1309/2126/23 1308/2125/546 1313/2130/548 +f 1312/2129/22 1311/2128/547 1315/2132/549 +f 1311/2128/547 1361/2202/558 1316/2133/550 +f 1308/2125/546 1320/2137/553 1318/2135/552 +f 1311/2128/547 1317/2134/551 1319/2136/38 +f 1308/2125/546 1315/2132/549 1319/2136/38 +f 1319/2136/38 1325/2142/185 1321/2138/554 +f 1317/2134/551 1316/2133/550 1322/2139/555 +f 1320/2137/553 1321/2138/554 1324/2141/557 +f 1317/2134/551 1323/2140/556 1325/2142/185 +f 1326/2143/4 1334/2151/549 1327/2144/546 +f 1329/2146/205 1362/2203/558 1330/2147/547 +f 1328/2145/23 1327/2144/546 1332/2149/548 +f 1331/2148/22 1330/2147/547 1334/2151/549 +f 1330/2147/547 1362/2203/558 1335/2152/550 +f 1327/2144/546 1339/2156/553 1337/2154/552 +f 1330/2147/547 1336/2153/551 1338/2155/38 +f 1327/2144/546 1334/2151/549 1338/2155/38 +f 1338/2155/38 1344/2161/185 1340/2157/554 +f 1336/2153/551 1335/2152/550 1341/2158/555 +f 1339/2156/553 1340/2157/554 1343/2160/557 +f 1336/2153/551 1342/2159/556 1344/2161/185 +f 1583/2204/559 1584/2205/158 1585/2206/559 +f 1586/2207/1 1587/2208/560 1588/2209/1 +f 1460/1242/561 1589/2210/562 1461/1243/561 +f 1583/2204/559 1590/2211/563 1591/2212/563 +f 1592/2213/564 1588/2209/1 1593/2214/564 +f 1466/1248/562 1594/2215/565 1589/2210/562 +f 1595/2216/566 1459/2217/567 1596/2218/566 +f 1567/2219/568 1590/2211/563 1463/2220/568 +f 1592/2213/564 1584/2205/158 1597/2221/158 +f 1568/2222/565 1598/2223/13 1594/2215/565 +f 1595/2216/566 1587/2208/560 1599/2224/560 +f 1462/1244/569 1598/2223/13 1600/2225/13 +f 1601/2226/562 1602/2227/155 1603/2228/155 +f 1604/2229/1 1605/2230/560 1606/2231/1 +f 1607/2232/570 1608/2233/563 1609/2234/570 +f 1610/2235/559 1611/2236/158 1612/2237/559 +f 1601/2226/562 1613/2238/565 1614/2239/562 +f 1615/2240/566 1605/2230/560 1616/2241/560 +f 1610/2242/559 1608/2233/563 1617/2243/563 +f 1618/2244/564 1611/2236/158 1619/2245/158 +f 1620/2246/13 1613/2238/565 1621/2247/565 +f 1615/2240/566 1602/2227/155 1622/2248/566 +f 1604/2229/1 1623/2249/564 1618/2244/564 +f 1620/2246/13 1609/2234/570 1624/2250/13 +f 1535/2251/571 1625/2252/572 1626/2253/571 +f 1535/2251/571 1627/2254/573 1532/2255/573 +f 1532/2255/573 1628/2256/574 1533/2257/574 +f 1533/2257/574 1629/2258/575 1530/2259/575 +f 1530/2259/575 1630/2260/576 1531/2261/576 +f 1544/2262/577 1630/2260/576 1631/2263/577 +f 1545/2264/578 1631/2263/577 1632/2265/578 +f 1542/2266/579 1632/2265/578 1633/2267/579 +f 1543/2268/580 1633/2267/579 1634/2269/580 +f 1543/2270/580 1635/2271/581 1540/2272/581 +f 1540/2272/581 1636/2273/582 1541/2274/582 +f 1538/2275/583 1636/2273/582 1637/2276/583 +f 1538/2275/583 1638/2277/584 1539/2278/584 +f 1539/2278/584 1639/2279/585 1536/2280/585 +f 1536/2280/585 1640/2281/586 1537/2282/586 +f 1534/2283/572 1640/2281/586 1625/2252/572 +f 1625/2252/212 1641/2284/2 1626/2253/2 +f 1626/2253/2 1642/2285/213 1627/2254/213 +f 1633/2267/215 1643/2286/4 1634/2269/4 +f 1640/2281/21 1644/2287/212 1625/2252/212 +f 1632/2265/22 1645/2288/215 1633/2267/215 +f 1639/2279/202 1646/2289/21 1640/2281/21 +f 1631/2263/205 1647/2290/22 1632/2265/22 +f 1638/2277/13 1648/2291/202 1639/2279/202 +f 1630/2260/1 1649/2292/205 1631/2263/205 +f 1637/2276/211 1650/2293/13 1638/2277/13 +f 1629/2258/214 1651/2294/1 1630/2260/1 +f 1636/2273/23 1652/2295/211 1637/2276/211 +f 1628/2256/24 1653/2296/214 1629/2258/214 +f 1635/2271/210 1654/2297/23 1636/2273/23 +f 1627/2254/213 1655/2298/24 1628/2256/24 +f 1634/2299/4 1656/2300/210 1635/2271/210 +f 1647/2290/587 1579/2301/588 1578/2302/587 +f 1648/2291/589 1573/2303/590 1572/2304/589 +f 1651/2294/591 1579/2305/588 1649/2292/588 +f 1650/2293/590 1574/2306/592 1573/2307/590 +f 1651/2294/591 1580/2308/593 1547/2309/591 +f 1654/2297/594 1574/2310/592 1652/2295/592 +f 1655/2298/595 1580/2311/593 1653/2296/593 +f 1654/2297/594 1576/2312/596 1575/2313/594 +f 1642/2285/597 1581/2314/595 1655/2298/595 +f 1643/2315/598 1576/2316/596 1656/2300/596 +f 1641/2284/599 1570/2317/600 1548/2318/599 +f 1641/2284/599 1582/2319/597 1642/2285/597 +f 1643/2286/598 1577/2320/601 1546/2321/598 +f 1646/2289/602 1570/2322/600 1644/2287/600 +f 1647/2290/587 1577/2323/601 1645/2288/601 +f 1646/2289/602 1572/2324/589 1571/2325/602 +f 1558/2326/213 1657/2327/2 1555/2328/2 +f 1563/2329/4 1658/2330/215 1564/2331/215 +f 1550/2332/210 1659/2333/4 1563/2329/4 +f 1555/2334/2 1660/2335/212 1556/2336/212 +f 1564/2331/215 1661/2337/22 1561/2338/22 +f 1556/2336/212 1662/2339/21 1553/2340/21 +f 1561/2338/22 1663/2341/205 1562/2342/205 +f 1553/2340/21 1664/2343/202 1554/2344/202 +f 1562/2342/205 1665/2345/1 1559/2346/1 +f 1554/2344/202 1666/2347/13 1551/2348/13 +f 1559/2346/1 1667/2349/214 1560/2350/214 +f 1551/2348/13 1668/2351/211 1552/2352/211 +f 1560/2350/214 1669/2353/24 1557/2354/24 +f 1552/2352/211 1670/2355/23 1549/2356/23 +f 1557/2354/24 1671/2357/213 1558/2326/213 +f 1549/2356/23 1672/2358/210 1550/2332/210 +f 1583/2204/559 1597/2221/158 1584/2205/158 +f 1586/2207/1 1599/2224/560 1587/2208/560 +f 1460/1242/561 1466/1248/562 1589/2210/562 +f 1583/2204/559 1585/2206/559 1590/2211/563 +f 1592/2213/564 1586/2207/1 1588/2209/1 +f 1466/1248/562 1568/2222/565 1594/2215/565 +f 1595/2216/566 1465/2359/567 1459/2217/567 +f 1567/2219/568 1591/2212/563 1590/2211/563 +f 1592/2213/564 1593/2214/564 1584/2205/158 +f 1568/2222/565 1600/2225/13 1598/2223/13 +f 1595/2216/566 1596/2218/566 1587/2208/560 +f 1462/1244/569 1464/1246/569 1598/2223/13 +f 1601/2226/562 1614/2239/562 1602/2227/155 +f 1604/2229/1 1616/2241/560 1605/2230/560 +f 1607/2232/570 1617/2243/563 1608/2233/563 +f 1610/2235/559 1619/2245/158 1611/2236/158 +f 1601/2226/562 1621/2247/565 1613/2238/565 +f 1615/2240/566 1622/2248/566 1605/2230/560 +f 1610/2242/559 1612/2360/559 1608/2233/563 +f 1618/2244/564 1623/2249/564 1611/2236/158 +f 1620/2246/13 1624/2250/13 1613/2238/565 +f 1615/2240/566 1603/2228/155 1602/2227/155 +f 1604/2229/1 1606/2231/1 1623/2249/564 +f 1620/2246/13 1607/2232/570 1609/2234/570 +f 1535/2251/571 1534/2283/572 1625/2252/572 +f 1535/2251/571 1626/2253/571 1627/2254/573 +f 1532/2255/573 1627/2254/573 1628/2256/574 +f 1533/2257/574 1628/2256/574 1629/2258/575 +f 1530/2259/575 1629/2258/575 1630/2260/576 +f 1544/2262/577 1531/2261/576 1630/2260/576 +f 1545/2264/578 1544/2262/577 1631/2263/577 +f 1542/2266/579 1545/2264/578 1632/2265/578 +f 1543/2268/580 1542/2266/579 1633/2267/579 +f 1543/2270/580 1634/2299/580 1635/2271/581 +f 1540/2272/581 1635/2271/581 1636/2273/582 +f 1538/2275/583 1541/2274/582 1636/2273/582 +f 1538/2275/583 1637/2276/583 1638/2277/584 +f 1539/2278/584 1638/2277/584 1639/2279/585 +f 1536/2280/585 1639/2279/585 1640/2281/586 +f 1534/2283/572 1537/2282/586 1640/2281/586 +f 1625/2252/212 1644/2287/212 1641/2284/2 +f 1626/2253/2 1641/2284/2 1642/2285/213 +f 1633/2267/215 1645/2288/215 1643/2286/4 +f 1640/2281/21 1646/2289/21 1644/2287/212 +f 1632/2265/22 1647/2290/22 1645/2288/215 +f 1639/2279/202 1648/2291/202 1646/2289/21 +f 1631/2263/205 1649/2292/205 1647/2290/22 +f 1638/2277/13 1650/2293/13 1648/2291/202 +f 1630/2260/1 1651/2294/1 1649/2292/205 +f 1637/2276/211 1652/2295/211 1650/2293/13 +f 1629/2258/214 1653/2296/214 1651/2294/1 +f 1636/2273/23 1654/2297/23 1652/2295/211 +f 1628/2256/24 1655/2298/24 1653/2296/214 +f 1635/2271/210 1656/2300/210 1654/2297/23 +f 1627/2254/213 1642/2285/213 1655/2298/24 +f 1634/2299/4 1643/2315/4 1656/2300/210 +f 1647/2290/587 1649/2292/588 1579/2301/588 +f 1648/2291/589 1650/2293/590 1573/2303/590 +f 1651/2294/591 1547/2361/591 1579/2305/588 +f 1650/2293/590 1652/2295/592 1574/2306/592 +f 1651/2294/591 1653/2296/593 1580/2308/593 +f 1654/2297/594 1575/2362/594 1574/2310/592 +f 1655/2298/595 1581/2363/595 1580/2311/593 +f 1654/2297/594 1656/2300/596 1576/2312/596 +f 1642/2285/597 1582/2364/597 1581/2314/595 +f 1643/2315/598 1546/2365/598 1576/2316/596 +f 1641/2284/599 1644/2287/600 1570/2317/600 +f 1641/2284/599 1548/2366/599 1582/2319/597 +f 1643/2286/598 1645/2288/601 1577/2320/601 +f 1646/2289/602 1571/2367/602 1570/2322/600 +f 1647/2290/587 1578/2368/587 1577/2323/601 +f 1646/2289/602 1648/2291/589 1572/2324/589 +f 1558/2326/213 1671/2357/213 1657/2327/2 +f 1563/2329/4 1659/2333/4 1658/2330/215 +f 1550/2332/210 1672/2358/210 1659/2333/4 +f 1555/2334/2 1657/2369/2 1660/2335/212 +f 1564/2331/215 1658/2330/215 1661/2337/22 +f 1556/2336/212 1660/2335/212 1662/2339/21 +f 1561/2338/22 1661/2337/22 1663/2341/205 +f 1553/2340/21 1662/2339/21 1664/2343/202 +f 1562/2342/205 1663/2341/205 1665/2345/1 +f 1554/2344/202 1664/2343/202 1666/2347/13 +f 1559/2346/1 1665/2345/1 1667/2349/214 +f 1551/2348/13 1666/2347/13 1668/2351/211 +f 1560/2350/214 1667/2349/214 1669/2353/24 +f 1552/2352/211 1668/2351/211 1670/2355/23 +f 1557/2354/24 1669/2353/24 1671/2357/213 +f 1549/2356/23 1670/2355/23 1672/2358/210 +o Fuel v 0.250000 2.227120 -3.053716 +v 0.324759 2.057188 -3.132957 +v 0.216506 2.113832 -3.106544 +v 0.324760 2.397053 -2.974475 +v 0.375000 2.227120 -3.053716 v 0.216506 2.340409 -3.000889 +v 0.187500 2.521452 -2.916467 +v 0.000000 2.566986 -2.895234 v 0.125000 2.423342 -2.962217 v 0.000000 2.453697 -2.948062 -v -0.125000 2.423342 -2.962217 -vt 0.250000 0.933013 -vt 0.500000 1.000000 -vt 0.750000 0.933013 -vt 0.933013 0.750000 +vt 1.000000 0.250000 +vt -0.000000 -0.000000 +vt 1.000000 0.000000 +vt -0.000000 0.500000 +vt 0.000000 0.250000 vt 1.000000 0.500000 -vt 0.933013 0.250000 -vt 0.750000 0.066987 -vt 0.500000 0.000000 -vt 0.250000 0.066987 -vt 0.066987 0.250000 -vt 0.000000 0.500000 -vt 0.066987 0.750000 +vt -0.000000 0.750000 +vt 0.000000 1.000000 +vt 1.000000 0.750000 +vt 1.000000 1.000000 vn 0.0000 0.4226 -0.9063 s off -f 24/13/2 23/14/2 22/15/2 21/16/2 20/17/2 19/18/2 18/19/2 17/20/2 16/21/2 15/22/2 14/23/2 13/24/2 -o Plane.002 -v -0.109472 2.437500 -0.413125 +f 1673/2370/603 1674/2371/603 1675/2372/603 +f 1673/2370/603 1676/2373/603 1677/2374/603 +f 1678/2375/603 1679/2376/603 1676/2373/603 +f 1680/2377/603 1681/2378/603 1682/2379/603 +f 1673/2370/603 1677/2374/603 1674/2371/603 +f 1673/2370/603 1678/2375/603 1676/2373/603 +f 1678/2375/603 1681/2378/603 1679/2376/603 +f 1680/2377/603 1679/2376/603 1681/2378/603 +o Rotor v 0.003817 2.437500 -0.360298 -v 0.109472 2.437500 -0.586875 v -0.003817 2.437500 -0.639702 -v 0.109472 2.312500 -0.586875 +v -0.109472 2.437500 -0.413125 +v 0.109472 2.437500 -0.586875 v -0.003817 2.312500 -0.639702 -v -0.109472 2.312500 -0.413125 v 0.003817 2.312500 -0.360298 -v 0.109472 0.062500 -0.413125 +v 0.109472 2.312500 -0.586875 +v -0.109472 2.312500 -0.413125 v -0.003817 0.062500 -0.360298 -v -0.109472 0.062500 -0.586875 v 0.003816 0.062500 -0.639702 -v -0.109472 0.187500 -0.586875 +v 0.109472 0.062500 -0.413125 +v -0.109472 0.062500 -0.586875 v 0.003816 0.187500 -0.639702 -v 0.109472 0.187500 -0.413125 v -0.003817 0.187500 -0.360298 -v 1.187500 1.359472 -0.413125 +v -0.109472 0.187500 -0.586875 +v 0.109472 0.187500 -0.413125 v 1.187500 1.246183 -0.360298 -v 1.187500 1.140528 -0.586875 v 1.187500 1.253817 -0.639702 -v 1.062500 1.140528 -0.586875 +v 1.187500 1.359472 -0.413125 +v 1.187500 1.140528 -0.586875 v 1.062500 1.253817 -0.639702 -v 1.062500 1.359472 -0.413125 v 1.062500 1.246183 -0.360298 -v -1.187500 1.140528 -0.413125 +v 1.062500 1.140528 -0.586875 +v 1.062500 1.359472 -0.413125 v -1.187500 1.253817 -0.360298 -v -1.187500 1.359473 -0.586875 v -1.187500 1.246184 -0.639702 +v -1.187500 1.140528 -0.413125 v -1.062500 1.359473 -0.586875 v -1.062500 1.246184 -0.639702 -v -1.062500 1.140528 -0.413125 v -1.062500 1.253817 -0.360298 -v 0.762281 2.167098 -0.413125 +v -1.187500 1.359473 -0.586875 +v -1.062500 1.140528 -0.413125 v 0.842388 2.086991 -0.360298 -v 0.917098 2.012281 -0.586875 v 0.836990 2.092388 -0.639702 -v 0.828709 1.923892 -0.586875 +v 0.762281 2.167098 -0.413125 +v 0.917098 2.012281 -0.586875 v 0.748602 2.004000 -0.639702 v 0.673892 2.078710 -0.413125 v 0.754000 1.998602 -0.360298 -v -0.762281 0.332902 -0.413125 +v 0.828709 1.923892 -0.586875 v -0.842388 0.413010 -0.360298 -v -0.917098 0.487720 -0.586875 v -0.836991 0.407612 -0.639702 +v -0.762281 0.332902 -0.413125 v -0.828710 0.576108 -0.586875 v -0.748602 0.496001 -0.639702 v -0.673892 0.421291 -0.413125 v -0.754000 0.501398 -0.360298 -v 0.917098 0.487720 -0.413125 +v -0.917098 0.487720 -0.586875 v 0.836990 0.407612 -0.360298 -v 0.762280 0.332902 -0.586875 v 0.842388 0.413010 -0.639702 -v 0.673892 0.421291 -0.586875 +v 0.917098 0.487720 -0.413125 +v 0.762280 0.332902 -0.586875 v 0.753999 0.501398 -0.639702 -v 0.828709 0.576108 -0.413125 v 0.748602 0.496001 -0.360298 -v -0.917098 2.012281 -0.413125 +v 0.673892 0.421291 -0.586875 +v 0.828709 0.576108 -0.413125 v -0.836990 2.092388 -0.360298 -v -0.762281 2.167098 -0.586875 v -0.842388 2.086991 -0.639702 +v -0.917098 2.012281 -0.413125 v -0.673892 2.078710 -0.586875 v -0.754000 1.998602 -0.639702 -v -0.828709 1.923893 -0.413125 v -0.748602 2.004000 -0.360298 -v 1.083141 0.751056 -0.413125 +v -0.762281 2.167098 -0.586875 +v -0.828709 1.923893 -0.413125 v 1.026497 0.652945 -0.360298 -v 0.973669 0.561444 -0.586875 v 1.030313 0.659555 -0.639702 -v 0.865416 0.623944 -0.586875 +v 1.083141 0.751056 -0.413125 +v 0.973669 0.561444 -0.586875 v 0.922060 0.722055 -0.639702 -v 0.974888 0.813556 -0.413125 v 0.918243 0.715445 -0.360298 -v -1.083141 1.748945 -0.413125 +v 0.865416 0.623944 -0.586875 +v 0.974888 0.813556 -0.413125 v -1.026497 1.847056 -0.360298 -v -0.973669 1.938556 -0.586875 v -1.030313 1.840445 -0.639702 +v -1.083141 1.748945 -0.413125 v -0.865416 1.876056 -0.586875 v -0.922060 1.777945 -0.639702 v -0.974888 1.686445 -0.413125 v -0.918244 1.784556 -0.360298 -v -0.498944 0.166859 -0.413125 +v -0.973669 1.938556 -0.586875 v -0.597055 0.223504 -0.360298 -v -0.688556 0.276331 -0.586875 v -0.590445 0.219687 -0.639702 -v -0.626056 0.384585 -0.586875 +v -0.498944 0.166859 -0.413125 +v -0.688556 0.276331 -0.586875 v -0.527945 0.327940 -0.639702 -v -0.436444 0.275112 -0.413125 v -0.534555 0.331757 -0.360298 -v 0.498944 2.333141 -0.413125 +v -0.626056 0.384585 -0.586875 +v -0.436444 0.275112 -0.413125 v 0.597055 2.276497 -0.360298 -v 0.688556 2.223669 -0.586875 v 0.590445 2.280313 -0.639702 -v 0.626056 2.115416 -0.586875 +v 0.498944 2.333141 -0.413125 +v 0.688556 2.223669 -0.586875 v 0.527945 2.172060 -0.639702 v 0.436444 2.224888 -0.413125 v 0.534555 2.168244 -0.360298 -v 0.413089 0.131297 -0.413125 +v 0.626056 2.115416 -0.586875 v 0.303661 0.101975 -0.360298 -v 0.201605 0.074630 -0.586875 v 0.311034 0.103951 -0.639702 -v 0.169253 0.195371 -0.586875 +v 0.413089 0.131297 -0.413125 +v 0.201605 0.074630 -0.586875 v 0.278682 0.224692 -0.639702 -v 0.380737 0.252038 -0.413125 v 0.271308 0.222716 -0.360298 -v -0.413090 2.368703 -0.413125 +v 0.169253 0.195371 -0.586875 +v 0.380737 0.252038 -0.413125 v -0.303661 2.398025 -0.360298 -v -0.201605 2.425371 -0.586875 v -0.311034 2.396049 -0.639702 +v -0.413090 2.368703 -0.413125 v -0.169253 2.304630 -0.586875 v -0.278682 2.275309 -0.639702 -v -0.380737 2.247963 -0.413125 v -0.271308 2.277284 -0.360298 -v -1.118703 0.836911 -0.413125 +v -0.201605 2.425371 -0.586875 +v -0.380737 2.247963 -0.413125 v -1.148025 0.946339 -0.360298 -v -1.175370 1.048395 -0.586875 v -1.146049 0.938966 -0.639702 +v -1.118703 0.836911 -0.413125 v -1.054630 1.080747 -0.586875 v -1.025308 0.971319 -0.639702 -v -0.997963 0.869263 -0.413125 v -1.027284 0.978692 -0.360298 -v 1.118703 1.663090 -0.413125 +v -1.175370 1.048395 -0.586875 +v -0.997963 0.869263 -0.413125 v 1.148025 1.553661 -0.360298 -v 1.175370 1.451605 -0.586875 v 1.146049 1.561034 -0.639702 -v 1.054630 1.419253 -0.586875 +v 1.118703 1.663090 -0.413125 +v 1.175370 1.451605 -0.586875 v 1.025308 1.528682 -0.639702 -v 0.997963 1.630737 -0.413125 v 1.027284 1.521308 -0.360298 -v -0.973669 0.561445 -0.413125 +v 1.054630 1.419253 -0.586875 +v 0.997963 1.630737 -0.413125 v -1.030313 0.659556 -0.360298 -v -1.083141 0.751056 -0.586875 v -1.026497 0.652945 -0.639702 +v -0.973669 0.561445 -0.413125 v -0.974888 0.813556 -0.586875 v -0.918244 0.715445 -0.639702 -v -0.865416 0.623945 -0.413125 v -0.922060 0.722056 -0.360298 -v 0.973669 1.938556 -0.413125 +v -1.083141 0.751056 -0.586875 +v -0.865416 0.623945 -0.413125 v 1.030313 1.840445 -0.360298 -v 1.083141 1.748944 -0.586875 v 1.026497 1.847055 -0.639702 +v 0.973669 1.938556 -0.413125 v 0.974888 1.686444 -0.586875 v 0.918244 1.784555 -0.639702 -v 0.865416 1.876056 -0.413125 v 0.922060 1.777945 -0.360298 -v -0.688556 2.223669 -0.413125 +v 1.083141 1.748944 -0.586875 +v 0.865416 1.876056 -0.413125 v -0.590444 2.280313 -0.360298 -v -0.498944 2.333141 -0.586875 v -0.597055 2.276497 -0.639702 -v -0.436444 2.224888 -0.586875 +v -0.688556 2.223669 -0.413125 +v -0.498944 2.333141 -0.586875 v -0.534555 2.168244 -0.639702 -v -0.626056 2.115416 -0.413125 v -0.527944 2.172060 -0.360298 -v 0.688555 0.276331 -0.413125 +v -0.436444 2.224888 -0.586875 +v -0.626056 2.115416 -0.413125 v 0.590444 0.219687 -0.360298 -v 0.498944 0.166859 -0.586875 v 0.597055 0.223503 -0.639702 -v 0.436444 0.275112 -0.586875 +v 0.688555 0.276331 -0.413125 +v 0.498944 0.166859 -0.586875 v 0.534555 0.331756 -0.639702 v 0.626055 0.384584 -0.413125 v 0.527944 0.327940 -0.360298 -v -1.175370 1.451606 -0.413125 +v 0.436444 0.275112 -0.586875 v -1.146049 1.561034 -0.360298 -v -1.118703 1.663090 -0.586875 v -1.148025 1.553661 -0.639702 -v -0.997963 1.630738 -0.586875 +v -1.175370 1.451606 -0.413125 +v -1.118703 1.663090 -0.586875 v -1.027284 1.521309 -0.639702 v -1.054630 1.419253 -0.413125 v -1.025308 1.528682 -0.360298 -v 1.175370 1.048394 -0.413125 +v -0.997963 1.630738 -0.586875 v 1.146049 0.938966 -0.360298 -v 1.118703 0.836910 -0.586875 v 1.148024 0.946339 -0.639702 +v 1.175370 1.048394 -0.413125 v 0.997963 0.869263 -0.586875 v 1.027284 0.978691 -0.639702 v 1.054630 1.080747 -0.413125 v 1.025308 0.971318 -0.360298 -v 0.201606 2.425370 -0.413125 +v 1.118703 0.836910 -0.586875 v 0.311034 2.396049 -0.360298 -v 0.413090 2.368703 -0.586875 v 0.303661 2.398025 -0.639702 -v 0.380738 2.247962 -0.586875 +v 0.201606 2.425370 -0.413125 +v 0.413090 2.368703 -0.586875 v 0.271309 2.277284 -0.639702 v 0.169253 2.304630 -0.413125 v 0.278682 2.275308 -0.360298 -v -0.201606 0.074630 -0.413125 +v 0.380738 2.247962 -0.586875 v -0.311035 0.103951 -0.360298 -v -0.413090 0.131297 -0.586875 v -0.303662 0.101975 -0.639702 -v -0.380738 0.252038 -0.586875 +v -0.201606 0.074630 -0.413125 +v -0.413090 0.131297 -0.586875 v -0.271309 0.222716 -0.639702 v -0.169254 0.195371 -0.413125 v -0.278682 0.224692 -0.360298 -vt 0.317241 0.109375 +v -0.380738 0.252038 -0.586875 vt 0.317241 0.125000 -vt 0.303448 0.125000 vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 vt 0.296552 0.125000 vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.303448 0.125000 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.303448 0.125000 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.303448 0.125000 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.303448 0.093750 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.303448 0.125000 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.303448 0.125000 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.303448 0.125000 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.296552 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.317241 0.140625 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 vt 0.324138 0.109375 vt 0.324138 0.125000 vt 0.317241 0.140625 vt 0.303448 0.140625 vt 0.303448 0.093750 vt 0.317241 0.093750 -vt 0.317241 0.109375 vt 0.317241 0.125000 -vt 0.303448 0.125000 vt 0.303448 0.109375 +vt 0.317241 0.109375 vt 0.296552 0.125000 vt 0.296552 0.109375 vt 0.324138 0.109375 vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.303448 0.125000 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 +vt 0.303448 0.140625 +vt 0.317241 0.093750 +vt 0.317241 0.125000 +vt 0.303448 0.109375 +vt 0.317241 0.109375 +vt 0.303448 0.125000 +vt 0.296552 0.109375 +vt 0.324138 0.109375 +vt 0.324138 0.125000 vt 0.317241 0.140625 vt 0.303448 0.140625 vt 0.303448 0.093750 vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 vt 0.296552 0.125000 -vt 0.296552 0.109375 vt 0.324138 0.109375 -vt 0.324138 0.125000 vt 0.317241 0.140625 -vt 0.303448 0.140625 vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 vt 0.296552 0.125000 -vt 0.296552 0.109375 vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 vt 0.296552 0.125000 -vt 0.296552 0.109375 vt 0.324138 0.109375 -vt 0.324138 0.125000 vt 0.317241 0.140625 -vt 0.303448 0.140625 vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 +vt 0.324138 0.109375 +vt 0.317241 0.140625 +vt 0.303448 0.093750 vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 vt 0.317241 0.140625 -vt 0.303448 0.140625 vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 +vt 0.317241 0.140625 +vt 0.303448 0.093750 vt 0.296552 0.125000 -vt 0.296552 0.109375 vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 +vt 0.324138 0.109375 +vt 0.303448 0.093750 vt 0.296552 0.125000 -vt 0.296552 0.109375 vt 0.324138 0.109375 -vt 0.324138 0.125000 vt 0.317241 0.140625 -vt 0.303448 0.140625 vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 +vt 0.317241 0.140625 +vt 0.303448 0.093750 vt 0.296552 0.125000 -vt 0.296552 0.109375 vt 0.324138 0.109375 -vt 0.324138 0.125000 vt 0.317241 0.140625 -vt 0.303448 0.140625 vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 vt 0.296552 0.125000 -vt 0.296552 0.109375 vt 0.324138 0.109375 -vt 0.324138 0.125000 +vt 0.324138 0.109375 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.324138 0.109375 vt 0.317241 0.140625 -vt 0.303448 0.140625 vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 vt 0.296552 0.125000 -vt 0.296552 0.109375 vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 +vt 0.324138 0.109375 +vt 0.317241 0.140625 +vt 0.303448 0.093750 +vt 0.324138 0.109375 +vt 0.303448 0.093750 vt 0.296552 0.125000 -vt 0.296552 0.109375 vt 0.324138 0.109375 -vt 0.324138 0.125000 vt 0.317241 0.140625 -vt 0.303448 0.140625 vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 vt 0.317241 0.140625 -vt 0.303448 0.140625 vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 vt 0.317241 0.140625 -vt 0.303448 0.140625 vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.109375 -vt 0.317241 0.125000 -vt 0.303448 0.125000 -vt 0.303448 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.303448 0.093750 -vt 0.317241 0.093750 vn 0.0000 1.0000 0.0000 vn 0.4226 0.0000 -0.9063 vn -0.4226 -0.0000 0.9063 -vn 0.9063 -0.0000 0.4226 +vn 0.9063 0.0000 0.4226 vn -0.9063 0.0000 -0.4226 -vn 0.0000 -1.0000 -0.0000 -vn -0.4226 -0.0000 -0.9063 -vn 0.4226 -0.0000 0.9063 +vn -0.0000 -1.0000 -0.0000 +vn -0.4226 0.0000 -0.9063 +vn 0.4226 0.0000 0.9063 vn -0.9063 0.0000 0.4226 -vn 0.9063 -0.0000 -0.4226 +vn 0.9063 0.0000 -0.4226 vn 1.0000 0.0000 0.0000 vn 0.0000 -0.4226 -0.9063 vn 0.0000 0.4226 0.9063 @@ -557,7 +7804,7 @@ vn 0.0000 0.4226 -0.9063 vn 0.0000 -0.4226 0.9063 vn 0.0000 0.9063 0.4226 vn 0.0000 -0.9063 -0.4226 -vn 0.7071 0.7071 0.0000 +vn 0.7071 0.7071 -0.0000 vn 0.2988 -0.2988 -0.9063 vn -0.2988 0.2988 0.9063 vn 0.6409 -0.6409 0.4226 @@ -577,7 +7824,7 @@ vn 0.2988 0.2988 -0.9063 vn -0.2988 -0.2988 0.9063 vn 0.6409 0.6409 0.4226 vn -0.6409 -0.6409 -0.4226 -vn 0.8660 -0.5000 0.0000 +vn 0.8660 -0.5000 -0.0000 vn -0.2113 -0.3660 -0.9063 vn 0.2113 0.3660 0.9063 vn -0.4532 -0.7849 0.4226 @@ -592,7 +7839,7 @@ vn -0.3660 0.2113 -0.9063 vn 0.3660 -0.2113 0.9063 vn -0.7849 0.4532 0.4226 vn 0.7849 -0.4532 -0.4226 -vn 0.5000 0.8660 0.0000 +vn 0.5000 0.8660 -0.0000 vn 0.3660 -0.2113 -0.9063 vn -0.3660 0.2113 0.9063 vn 0.7849 -0.4532 0.4226 @@ -607,12 +7854,12 @@ vn 0.4082 0.1094 -0.9063 vn -0.4082 -0.1094 0.9063 vn 0.8754 0.2346 0.4226 vn -0.8754 -0.2346 -0.4226 -vn -0.9659 -0.2588 0.0000 +vn -0.9659 -0.2588 -0.0000 vn -0.1094 0.4082 -0.9063 vn 0.1094 -0.4082 0.9063 vn -0.2346 0.8754 0.4226 vn 0.2346 -0.8754 -0.4226 -vn 0.9659 0.2588 0.0000 +vn 0.9659 0.2588 -0.0000 vn 0.1094 -0.4082 -0.9063 vn -0.1094 0.4082 0.9063 vn 0.2346 -0.8754 0.4226 @@ -632,7 +7879,7 @@ vn 0.3660 0.2113 -0.9063 vn -0.3660 -0.2113 0.9063 vn 0.7849 0.4532 0.4226 vn -0.7849 -0.4532 -0.4226 -vn 0.5000 -0.8660 -0.0000 +vn 0.5000 -0.8660 0.0000 vn -0.3660 -0.2113 -0.9063 vn 0.3660 0.2113 0.9063 vn -0.7849 -0.4532 0.4226 @@ -658,5891 +7905,317 @@ vn 0.4082 -0.1094 0.9063 vn -0.8754 0.2346 0.4226 vn 0.8754 -0.2346 -0.4226 s off -f 25/25/3 26/26/3 27/27/3 28/28/3 -f 28/28/4 27/27/4 29/29/4 30/30/4 -f 26/26/5 25/25/5 31/31/5 32/32/5 -f 27/27/6 26/26/6 32/33/6 29/34/6 -f 25/25/7 28/28/7 30/35/7 31/36/7 -f 33/37/8 34/38/8 35/39/8 36/40/8 -f 36/40/9 35/39/9 37/41/9 38/42/9 -f 34/38/10 33/37/10 39/43/10 40/44/10 -f 35/39/11 34/38/11 40/45/11 37/46/11 -f 33/37/12 36/40/12 38/47/12 39/48/12 -f 41/49/13 42/50/13 43/51/13 44/52/13 -f 44/52/14 43/51/14 45/53/14 46/54/14 -f 42/50/15 41/49/15 47/55/15 48/56/15 -f 43/51/16 42/50/16 48/57/16 45/58/16 -f 41/49/17 44/52/17 46/59/17 47/60/17 -f 49/61/18 50/62/18 51/63/18 52/64/18 -f 52/64/19 51/63/19 53/65/19 54/66/19 -f 50/62/20 49/61/20 55/67/20 56/68/20 -f 51/63/21 50/62/21 56/69/21 53/70/21 -f 49/61/22 52/64/22 54/71/22 55/72/22 -f 57/73/23 58/74/23 59/75/23 60/76/23 -f 60/76/24 59/75/24 61/77/24 62/78/24 -f 58/74/25 57/73/25 63/79/25 64/80/25 -f 59/75/26 58/74/26 64/81/26 61/82/26 -f 57/73/27 60/76/27 62/83/27 63/84/27 -f 65/85/28 66/86/28 67/87/28 68/88/28 -f 68/88/29 67/87/29 69/89/29 70/90/29 -f 66/86/30 65/85/30 71/91/30 72/92/30 -f 67/87/31 66/86/31 72/93/31 69/94/31 -f 65/85/32 68/88/32 70/95/32 71/96/32 -f 73/97/33 74/98/33 75/99/33 76/100/33 -f 76/100/34 75/99/34 77/101/34 78/102/34 -f 74/98/35 73/97/35 79/103/35 80/104/35 -f 75/99/36 74/98/36 80/105/36 77/106/36 -f 73/97/37 76/100/37 78/107/37 79/108/37 -f 81/109/38 82/110/38 83/111/38 84/112/38 -f 84/112/39 83/111/39 85/113/39 86/114/39 -f 82/110/40 81/109/40 87/115/40 88/116/40 -f 83/111/41 82/110/41 88/117/41 85/118/41 -f 81/109/42 84/112/42 86/119/42 87/120/42 -f 89/121/43 90/122/43 91/123/43 92/124/43 -f 92/124/44 91/123/44 93/125/44 94/126/44 -f 90/122/45 89/121/45 95/127/45 96/128/45 -f 91/123/46 90/122/46 96/129/46 93/130/46 -f 89/121/47 92/124/47 94/131/47 95/132/47 -f 97/133/48 98/134/48 99/135/48 100/136/48 -f 100/136/49 99/135/49 101/137/49 102/138/49 -f 98/134/50 97/133/50 103/139/50 104/140/50 -f 99/135/51 98/134/51 104/141/51 101/142/51 -f 97/133/52 100/136/52 102/143/52 103/144/52 -f 105/145/53 106/146/53 107/147/53 108/148/53 -f 108/148/54 107/147/54 109/149/54 110/150/54 -f 106/146/55 105/145/55 111/151/55 112/152/55 -f 107/147/56 106/146/56 112/153/56 109/154/56 -f 105/145/57 108/148/57 110/155/57 111/156/57 -f 113/157/58 114/158/58 115/159/58 116/160/58 -f 116/160/59 115/159/59 117/161/59 118/162/59 -f 114/158/60 113/157/60 119/163/60 120/164/60 -f 115/159/61 114/158/61 120/165/61 117/166/61 -f 113/157/62 116/160/62 118/167/62 119/168/62 -f 121/169/63 122/170/63 123/171/63 124/172/63 -f 124/172/64 123/171/64 125/173/64 126/174/64 -f 122/170/65 121/169/65 127/175/65 128/176/65 -f 123/171/66 122/170/66 128/177/66 125/178/66 -f 121/169/67 124/172/67 126/179/67 127/180/67 -f 129/181/68 130/182/68 131/183/68 132/184/68 -f 132/184/69 131/183/69 133/185/69 134/186/69 -f 130/182/70 129/181/70 135/187/70 136/188/70 -f 131/183/71 130/182/71 136/189/71 133/190/71 -f 129/181/72 132/184/72 134/191/72 135/192/72 -f 137/193/73 138/194/73 139/195/73 140/196/73 -f 140/196/74 139/195/74 141/197/74 142/198/74 -f 138/194/75 137/193/75 143/199/75 144/200/75 -f 139/195/76 138/194/76 144/201/76 141/202/76 -f 137/193/77 140/196/77 142/203/77 143/204/77 -f 145/205/78 146/206/78 147/207/78 148/208/78 -f 148/208/79 147/207/79 149/209/79 150/210/79 -f 146/206/80 145/205/80 151/211/80 152/212/80 -f 147/207/81 146/206/81 152/213/81 149/214/81 -f 145/205/82 148/208/82 150/215/82 151/216/82 -f 153/217/83 154/218/83 155/219/83 156/220/83 -f 156/220/84 155/219/84 157/221/84 158/222/84 -f 154/218/85 153/217/85 159/223/85 160/224/85 -f 155/219/86 154/218/86 160/225/86 157/226/86 -f 153/217/87 156/220/87 158/227/87 159/228/87 -f 161/229/88 162/230/88 163/231/88 164/232/88 -f 164/232/89 163/231/89 165/233/89 166/234/89 -f 162/230/90 161/229/90 167/235/90 168/236/90 -f 163/231/91 162/230/91 168/237/91 165/238/91 -f 161/229/92 164/232/92 166/239/92 167/240/92 -f 169/241/93 170/242/93 171/243/93 172/244/93 -f 172/244/94 171/243/94 173/245/94 174/246/94 -f 170/242/95 169/241/95 175/247/95 176/248/95 -f 171/243/96 170/242/96 176/249/96 173/250/96 -f 169/241/97 172/244/97 174/251/97 175/252/97 -f 177/253/98 178/254/98 179/255/98 180/256/98 -f 180/256/99 179/255/99 181/257/99 182/258/99 -f 178/254/100 177/253/100 183/259/100 184/260/100 -f 179/255/101 178/254/101 184/261/101 181/262/101 -f 177/253/102 180/256/102 182/263/102 183/264/102 -f 185/265/103 186/266/103 187/267/103 188/268/103 -f 188/268/104 187/267/104 189/269/104 190/270/104 -f 186/266/105 185/265/105 191/271/105 192/272/105 -f 187/267/106 186/266/106 192/273/106 189/274/106 -f 185/265/107 188/268/107 190/275/107 191/276/107 -f 193/277/108 194/278/108 195/279/108 196/280/108 -f 196/280/109 195/279/109 197/281/109 198/282/109 -f 194/278/110 193/277/110 199/283/110 200/284/110 -f 195/279/111 194/278/111 200/285/111 197/286/111 -f 193/277/112 196/280/112 198/287/112 199/288/112 -f 201/289/113 202/290/113 203/291/113 204/292/113 -f 204/292/114 203/291/114 205/293/114 206/294/114 -f 202/290/115 201/289/115 207/295/115 208/296/115 -f 203/291/116 202/290/116 208/297/116 205/298/116 -f 201/289/117 204/292/117 206/299/117 207/300/117 -f 209/301/118 210/302/118 211/303/118 212/304/118 -f 212/304/119 211/303/119 213/305/119 214/306/119 -f 210/302/120 209/301/120 215/307/120 216/308/120 -f 211/303/121 210/302/121 216/309/121 213/310/121 -f 209/301/122 212/304/122 214/311/122 215/312/122 -o Plane.001 +f 1683/2380/604 1684/2381/604 1685/2382/604 +f 1686/2383/605 1687/2384/605 1684/2381/605 +f 1685/2382/606 1688/2385/606 1683/2380/606 +f 1683/2380/607 1689/2386/607 1686/2383/607 +f 1684/2381/608 1690/2387/608 1685/2382/608 +f 1691/2388/609 1692/2389/609 1693/2390/609 +f 1694/2391/610 1695/2392/610 1692/2389/610 +f 1693/2390/611 1696/2393/611 1691/2388/611 +f 1694/2391/612 1696/2394/612 1697/2395/612 +f 1692/2389/613 1698/2396/613 1693/2390/613 +f 1699/2397/614 1700/2398/614 1701/2399/614 +f 1702/2400/615 1703/2401/615 1700/2398/615 +f 1701/2399/616 1704/2402/616 1699/2397/616 +f 1699/2397/617 1705/2403/617 1702/2400/617 +f 1700/2398/618 1706/2404/618 1701/2399/618 +f 1707/2405/619 1708/2406/619 1709/2407/619 +f 1708/2406/620 1710/2408/620 1711/2409/620 +f 1709/2407/621 1712/2410/621 1707/2405/621 +f 1707/2405/622 1710/2411/622 1713/2412/622 +f 1708/2406/623 1714/2413/623 1709/2407/623 +f 1715/2414/624 1716/2415/624 1717/2416/624 +f 1718/2417/625 1719/2418/625 1716/2415/625 +f 1715/2414/626 1720/2419/626 1721/2420/626 +f 1715/2414/627 1722/2421/627 1718/2417/627 +f 1716/2415/628 1720/2422/628 1717/2416/628 +f 1723/2423/629 1724/2424/629 1725/2425/629 +f 1724/2424/630 1726/2426/630 1727/2427/630 +f 1723/2423/631 1728/2428/631 1729/2429/631 +f 1723/2423/632 1726/2430/632 1730/2431/632 +f 1724/2424/633 1728/2432/633 1725/2425/633 +f 1731/2433/634 1732/2434/634 1733/2435/634 +f 1734/2436/635 1735/2437/635 1732/2434/635 +f 1733/2435/636 1736/2438/636 1731/2433/636 +f 1734/2436/637 1736/2439/637 1737/2440/637 +f 1732/2434/638 1738/2441/638 1733/2435/638 +f 1739/2442/639 1740/2443/639 1741/2444/639 +f 1740/2443/640 1742/2445/640 1743/2446/640 +f 1741/2444/641 1744/2447/641 1739/2442/641 +f 1745/2448/642 1744/2449/642 1742/2450/642 +f 1740/2443/643 1746/2451/643 1741/2444/643 +f 1747/2452/644 1748/2453/644 1749/2454/644 +f 1750/2455/645 1751/2456/645 1748/2453/645 +f 1749/2454/646 1752/2457/646 1747/2452/646 +f 1747/2452/647 1753/2458/647 1750/2455/647 +f 1748/2453/648 1754/2459/648 1749/2454/648 +f 1755/2460/649 1756/2461/649 1757/2462/649 +f 1756/2461/650 1758/2463/650 1759/2464/650 +f 1755/2460/651 1760/2465/651 1761/2466/651 +f 1755/2460/652 1758/2467/652 1762/2468/652 +f 1756/2461/653 1760/2469/653 1757/2462/653 +f 1763/2470/654 1764/2471/654 1765/2472/654 +f 1766/2473/655 1767/2474/655 1764/2471/655 +f 1765/2472/656 1768/2475/656 1763/2470/656 +f 1763/2470/657 1769/2476/657 1766/2473/657 +f 1764/2471/658 1770/2477/658 1765/2472/658 +f 1771/2478/659 1772/2479/659 1773/2480/659 +f 1774/2481/660 1775/2482/660 1772/2479/660 +f 1771/2478/661 1776/2483/661 1777/2484/661 +f 1774/2481/662 1777/2485/662 1778/2486/662 +f 1772/2479/663 1776/2487/663 1773/2480/663 +f 1779/2488/664 1780/2489/664 1781/2490/664 +f 1782/2491/665 1783/2492/665 1780/2489/665 +f 1781/2490/666 1784/2493/666 1779/2488/666 +f 1782/2491/667 1784/2494/667 1785/2495/667 +f 1781/2490/668 1783/2496/668 1786/2497/668 +f 1787/2498/669 1788/2499/669 1789/2500/669 +f 1788/2499/670 1790/2501/670 1791/2502/670 +f 1789/2500/671 1792/2503/671 1787/2498/671 +f 1787/2498/672 1790/2504/672 1793/2505/672 +f 1788/2499/673 1794/2506/673 1789/2500/673 +f 1795/2507/674 1796/2508/674 1797/2509/674 +f 1796/2508/675 1798/2510/675 1799/2511/675 +f 1797/2509/676 1800/2512/676 1795/2507/676 +f 1795/2507/677 1798/2513/677 1801/2514/677 +f 1796/2508/678 1802/2515/678 1797/2509/678 +f 1803/2516/679 1804/2517/679 1805/2518/679 +f 1806/2519/680 1807/2520/680 1804/2517/680 +f 1805/2518/681 1808/2521/681 1803/2516/681 +f 1806/2519/682 1808/2522/682 1809/2523/682 +f 1804/2517/683 1810/2524/683 1805/2518/683 +f 1811/2525/684 1812/2526/684 1813/2527/684 +f 1812/2526/685 1814/2528/685 1815/2529/685 +f 1813/2527/686 1816/2530/686 1811/2525/686 +f 1811/2525/687 1814/2531/687 1817/2532/687 +f 1812/2526/688 1818/2533/688 1813/2527/688 +f 1819/2534/689 1820/2535/689 1821/2536/689 +f 1820/2535/690 1822/2537/690 1823/2538/690 +f 1821/2536/691 1824/2539/691 1819/2534/691 +f 1825/2540/692 1824/2541/692 1822/2542/692 +f 1820/2535/693 1826/2543/693 1821/2536/693 +f 1827/2544/694 1828/2545/694 1829/2546/694 +f 1830/2547/695 1831/2548/695 1828/2545/695 +f 1829/2546/696 1832/2549/696 1827/2544/696 +f 1827/2544/697 1833/2550/697 1830/2547/697 +f 1828/2545/698 1834/2551/698 1829/2546/698 +f 1835/2552/699 1836/2553/699 1837/2554/699 +f 1838/2555/700 1839/2556/700 1836/2553/700 +f 1835/2552/701 1840/2557/701 1841/2558/701 +f 1838/2555/702 1841/2559/702 1842/2560/702 +f 1836/2553/703 1840/2561/703 1837/2554/703 +f 1843/2562/704 1844/2563/704 1845/2564/704 +f 1846/2565/705 1847/2566/705 1844/2563/705 +f 1843/2562/706 1848/2567/706 1849/2568/706 +f 1846/2565/707 1849/2569/707 1850/2570/707 +f 1845/2564/708 1847/2571/708 1848/2572/708 +f 1851/2573/709 1852/2574/709 1853/2575/709 +f 1852/2574/710 1854/2576/710 1855/2577/710 +f 1851/2573/711 1856/2578/711 1857/2579/711 +f 1851/2573/712 1854/2580/712 1858/2581/712 +f 1852/2574/713 1856/2582/713 1853/2575/713 +f 1859/2583/714 1860/2584/714 1861/2585/714 +f 1862/2586/715 1863/2587/715 1860/2584/715 +f 1859/2583/716 1864/2588/716 1865/2589/716 +f 1859/2583/717 1866/2590/717 1862/2586/717 +f 1860/2584/718 1864/2591/718 1861/2585/718 +f 1867/2592/719 1868/2593/719 1869/2594/719 +f 1870/2595/720 1871/2596/720 1868/2593/720 +f 1867/2592/721 1872/2597/721 1873/2598/721 +f 1870/2595/722 1873/2599/722 1874/2600/722 +f 1869/2594/723 1871/2601/723 1872/2602/723 +f 1683/2380/604 1686/2383/604 1684/2381/604 +f 1686/2383/605 1689/2603/605 1687/2384/605 +f 1685/2382/606 1690/2604/606 1688/2385/606 +f 1683/2380/607 1688/2605/607 1689/2386/607 +f 1684/2381/608 1687/2606/608 1690/2387/608 +f 1691/2388/609 1694/2391/609 1692/2389/609 +f 1694/2391/610 1697/2607/610 1695/2392/610 +f 1693/2390/611 1698/2608/611 1696/2393/611 +f 1694/2391/612 1691/2388/612 1696/2394/612 +f 1692/2389/613 1695/2609/613 1698/2396/613 +f 1699/2397/614 1702/2400/614 1700/2398/614 +f 1702/2400/615 1705/2610/615 1703/2401/615 +f 1701/2399/616 1706/2611/616 1704/2402/616 +f 1699/2397/617 1704/2612/617 1705/2403/617 +f 1700/2398/618 1703/2613/618 1706/2404/618 +f 1707/2405/619 1713/2412/619 1708/2406/619 +f 1708/2406/620 1713/2412/620 1710/2408/620 +f 1709/2407/621 1714/2614/621 1712/2410/621 +f 1707/2405/622 1712/2615/622 1710/2411/622 +f 1708/2406/623 1711/2616/623 1714/2413/623 +f 1715/2414/624 1718/2417/624 1716/2415/624 +f 1718/2417/625 1722/2617/625 1719/2418/625 +f 1715/2414/626 1717/2416/626 1720/2419/626 +f 1715/2414/627 1721/2618/627 1722/2421/627 +f 1716/2415/628 1719/2619/628 1720/2422/628 +f 1723/2423/629 1730/2431/629 1724/2424/629 +f 1724/2424/630 1730/2431/630 1726/2426/630 +f 1723/2423/631 1725/2425/631 1728/2428/631 +f 1723/2423/632 1729/2620/632 1726/2430/632 +f 1724/2424/633 1727/2621/633 1728/2432/633 +f 1731/2433/634 1734/2436/634 1732/2434/634 +f 1734/2436/635 1737/2622/635 1735/2437/635 +f 1733/2435/636 1738/2623/636 1736/2438/636 +f 1734/2436/637 1731/2433/637 1736/2439/637 +f 1732/2434/638 1735/2624/638 1738/2441/638 +f 1739/2442/639 1745/2448/639 1740/2443/639 +f 1740/2443/640 1745/2448/640 1742/2445/640 +f 1741/2444/641 1746/2625/641 1744/2447/641 +f 1745/2448/642 1739/2442/642 1744/2449/642 +f 1740/2443/643 1743/2626/643 1746/2451/643 +f 1747/2452/644 1750/2455/644 1748/2453/644 +f 1750/2455/645 1753/2627/645 1751/2456/645 +f 1749/2454/646 1754/2628/646 1752/2457/646 +f 1747/2452/647 1752/2629/647 1753/2458/647 +f 1748/2453/648 1751/2630/648 1754/2459/648 +f 1755/2460/649 1762/2468/649 1756/2461/649 +f 1756/2461/650 1762/2468/650 1758/2463/650 +f 1755/2460/651 1757/2462/651 1760/2465/651 +f 1755/2460/652 1761/2631/652 1758/2467/652 +f 1756/2461/653 1759/2632/653 1760/2469/653 +f 1763/2470/654 1766/2473/654 1764/2471/654 +f 1766/2473/655 1769/2633/655 1767/2474/655 +f 1765/2472/656 1770/2634/656 1768/2475/656 +f 1763/2470/657 1768/2635/657 1769/2476/657 +f 1764/2471/658 1767/2636/658 1770/2477/658 +f 1771/2478/659 1774/2481/659 1772/2479/659 +f 1774/2481/660 1778/2637/660 1775/2482/660 +f 1771/2478/661 1773/2480/661 1776/2483/661 +f 1774/2481/662 1771/2478/662 1777/2485/662 +f 1772/2479/663 1775/2638/663 1776/2487/663 +f 1779/2488/664 1782/2491/664 1780/2489/664 +f 1782/2491/665 1785/2639/665 1783/2492/665 +f 1781/2490/666 1786/2640/666 1784/2493/666 +f 1782/2491/667 1779/2488/667 1784/2494/667 +f 1781/2490/668 1780/2489/668 1783/2496/668 +f 1787/2498/669 1793/2505/669 1788/2499/669 +f 1788/2499/670 1793/2505/670 1790/2501/670 +f 1789/2500/671 1794/2641/671 1792/2503/671 +f 1787/2498/672 1792/2642/672 1790/2504/672 +f 1788/2499/673 1791/2643/673 1794/2506/673 +f 1795/2507/674 1801/2514/674 1796/2508/674 +f 1796/2508/675 1801/2514/675 1798/2510/675 +f 1797/2509/676 1802/2644/676 1800/2512/676 +f 1795/2507/677 1800/2645/677 1798/2513/677 +f 1796/2508/678 1799/2646/678 1802/2515/678 +f 1803/2516/679 1806/2519/679 1804/2517/679 +f 1806/2519/680 1809/2647/680 1807/2520/680 +f 1805/2518/681 1810/2648/681 1808/2521/681 +f 1806/2519/682 1803/2516/682 1808/2522/682 +f 1804/2517/683 1807/2649/683 1810/2524/683 +f 1811/2525/684 1817/2532/684 1812/2526/684 +f 1812/2526/685 1817/2532/685 1814/2528/685 +f 1813/2527/686 1818/2650/686 1816/2530/686 +f 1811/2525/687 1816/2651/687 1814/2531/687 +f 1812/2526/688 1815/2652/688 1818/2533/688 +f 1819/2534/689 1825/2540/689 1820/2535/689 +f 1820/2535/690 1825/2540/690 1822/2537/690 +f 1821/2536/691 1826/2653/691 1824/2539/691 +f 1825/2540/692 1819/2534/692 1824/2541/692 +f 1820/2535/693 1823/2654/693 1826/2543/693 +f 1827/2544/694 1830/2547/694 1828/2545/694 +f 1830/2547/695 1833/2655/695 1831/2548/695 +f 1829/2546/696 1834/2656/696 1832/2549/696 +f 1827/2544/697 1832/2657/697 1833/2550/697 +f 1828/2545/698 1831/2658/698 1834/2551/698 +f 1835/2552/699 1838/2555/699 1836/2553/699 +f 1838/2555/700 1842/2659/700 1839/2556/700 +f 1835/2552/701 1837/2554/701 1840/2557/701 +f 1838/2555/702 1835/2552/702 1841/2559/702 +f 1836/2553/703 1839/2660/703 1840/2561/703 +f 1843/2562/704 1846/2565/704 1844/2563/704 +f 1846/2565/705 1850/2661/705 1847/2566/705 +f 1843/2562/706 1845/2564/706 1848/2567/706 +f 1846/2565/707 1843/2562/707 1849/2569/707 +f 1845/2564/708 1844/2563/708 1847/2571/708 +f 1851/2573/709 1858/2581/709 1852/2574/709 +f 1852/2574/710 1858/2581/710 1854/2576/710 +f 1851/2573/711 1853/2575/711 1856/2578/711 +f 1851/2573/712 1857/2662/712 1854/2580/712 +f 1852/2574/713 1855/2663/713 1856/2582/713 +f 1859/2583/714 1862/2586/714 1860/2584/714 +f 1862/2586/715 1866/2664/715 1863/2587/715 +f 1859/2583/716 1861/2585/716 1864/2588/716 +f 1859/2583/717 1865/2665/717 1866/2590/717 +f 1860/2584/718 1863/2666/718 1864/2591/718 +f 1867/2592/719 1870/2595/719 1868/2593/719 +f 1870/2595/720 1874/2667/720 1871/2596/720 +f 1867/2592/721 1869/2594/721 1872/2597/721 +f 1870/2595/722 1867/2592/722 1873/2599/722 +f 1869/2594/723 1868/2593/723 1871/2601/723 +o Pressure +v 0.000000 2.000544 -3.159371 +v -0.216506 2.113832 -3.106544 +v -0.216506 2.340409 -3.000889 +v -0.125000 2.423342 -2.962217 v 0.000000 2.453697 -2.948062 v 0.125000 2.423342 -2.962217 v 0.216506 2.340409 -3.000889 v 0.250000 2.227120 -3.053716 v 0.216506 2.113832 -3.106544 -v 0.000000 2.566986 -2.895234 -v 0.324759 2.057188 -3.132957 -v 0.375000 2.227120 -3.053716 -v 0.324760 2.397053 -2.974475 -v 0.187500 2.521452 -2.916467 -vt 1.000000 0.000000 -vt 1.000000 0.250000 -vt 0.000000 0.250000 -vt -0.000000 -0.000000 +v 0.125000 2.030899 -3.145216 +v -0.125000 2.030899 -3.145216 +v -0.250000 2.227120 -3.053716 +vt 0.500000 0.000000 +vt 0.066987 0.250000 +vt 0.066987 0.750000 +vt 0.250000 0.933013 +vt 0.500000 1.000000 +vt 0.750000 0.933013 +vt 0.933013 0.750000 vt 1.000000 0.500000 -vt -0.000000 0.500000 -vt 1.000000 0.750000 -vt -0.000000 0.750000 -vt 0.000000 1.000000 -vt 1.000000 1.000000 +vt 0.933013 0.250000 +vt 0.750000 0.066987 +vt 0.250000 0.066987 +vt 0.000000 0.500000 vn 0.0000 0.4226 -0.9063 s off -f 221/313/123 220/314/123 224/315/123 223/316/123 -f 220/314/123 219/317/123 225/318/123 224/315/123 -f 219/317/123 218/319/123 226/320/123 225/318/123 -f 222/321/123 226/320/123 218/319/123 217/322/123 -o Plane -v -0.500000 -0.000000 0.125000 -v -0.500000 0.000000 -0.375000 -v 0.500000 0.000000 -0.375000 -v 0.500000 -0.000000 0.125000 -v -0.500000 2.500000 0.125000 -v 0.500000 2.500000 0.125000 -v 0.500000 2.500000 -0.375000 -v -0.500000 2.500000 -0.375000 -v -1.250000 1.750000 0.125000 -v -1.250000 1.750000 -0.375000 -v -1.250000 0.750000 -0.375000 -v -1.250000 0.750000 0.125000 -v 1.250000 1.750000 0.125000 -v 1.250000 0.750000 0.125000 -v 1.250000 0.750000 -0.375000 -v 1.250000 1.750000 -0.375000 -v 1.039364 1.680519 0.125000 -v 1.125000 1.250000 0.125000 -v 1.039364 0.819481 0.125000 -v 0.430518 2.289365 0.125000 -v 0.795495 2.045496 0.125000 -v -0.430519 2.289364 0.125000 -v 0.000000 2.375000 0.125000 -v -1.039364 1.680519 0.125000 -v -0.795495 2.045495 0.125000 -v -1.039364 0.819481 0.125000 -v -1.125000 1.250000 0.125000 -v -0.430519 0.210636 0.125000 -v -0.795495 0.454505 0.125000 -v 0.430519 0.210635 0.125000 -v 0.000000 0.125000 0.125000 -v 0.795495 0.454505 0.125000 -v -1.250000 1.750000 -0.625000 -v -1.250000 1.750000 -3.000000 -v -1.250000 1.376000 -2.625000 -v -1.250000 0.751000 -2.625000 -v -1.250000 0.750000 -0.625000 -v 0.500000 0.000000 -1.625000 -v 1.000000 0.500000 -2.125000 -v 1.000000 0.500000 -3.750000 -v 1.250000 0.750000 -3.750000 -v 1.250000 0.750000 -0.625000 -v 0.500000 0.000000 -0.625000 -v 1.250000 1.750000 -3.000000 -v 1.250000 1.750000 -0.625000 -v 1.250000 1.625000 -3.750000 -v 1.250000 1.750000 -3.375000 -v -0.500000 0.000000 -0.625000 -v -0.500000 0.000000 -1.625000 -v -1.000000 0.500000 -2.625000 -v -1.000000 0.500000 -2.125000 -v 1.000000 1.750000 -3.375000 -v 1.000000 1.750000 -3.000000 -v -1.250000 0.750000 -3.750000 -v -1.250000 0.751000 -3.625000 -v -1.250000 1.376000 -3.625000 -v -1.250000 1.625000 -3.750000 -v -1.250000 1.750000 -3.375000 -v -1.000000 0.500000 -3.750000 -v -1.000000 0.501000 -3.625000 -v -1.312500 0.501000 -3.500000 -v -1.312500 0.501000 -2.750000 -v -1.312500 0.626000 -2.750000 -v -1.312500 0.626000 -3.500000 -v -1.312500 0.751000 -3.500000 -v -1.312500 0.751000 -2.750000 -v -1.312500 0.876000 -2.750000 -v -1.312500 0.876000 -3.500000 -v -1.312500 1.001000 -3.500000 -v -1.312500 1.001000 -2.750000 -v -1.312500 1.126000 -2.750000 -v -1.312500 1.126000 -3.500000 -v -1.312500 1.376000 -3.625000 -v -1.312500 1.251000 -3.500000 -v -1.312500 1.251000 -2.750000 -v -1.312500 1.376000 -2.625000 -v -1.312500 0.251000 -3.625000 -v -1.312500 0.251000 -2.625000 -v -1.312500 0.376000 -2.750000 -v -1.312500 0.376000 -3.500000 -v -1.187500 1.001000 -3.500000 -v -1.187500 1.001000 -2.750000 -v -1.187500 0.876000 -3.500000 -v -1.187500 0.626000 -2.750000 -v -1.187500 0.626000 -3.500000 -v -1.187500 0.751000 -3.500000 -v -1.187500 1.251000 -3.500000 -v -1.187500 1.126000 -3.500000 -v -1.187500 1.126000 -2.750000 -v -1.187500 1.251000 -2.750000 -v -1.187500 0.876000 -2.750000 -v -1.187500 0.751000 -2.750000 -v -1.187500 0.376000 -3.500000 -v -1.187500 0.376000 -2.750000 -v -1.187500 0.501000 -2.750000 -v -1.187500 0.501000 -3.500000 -v 1.000000 0.750000 -3.750000 -v 1.000000 1.625000 -3.750000 -v -1.000000 1.625000 -3.750000 -v -1.000000 0.750000 -3.750000 -v -1.000000 1.750000 -3.375000 -v -1.000000 1.750000 -3.000000 -v -0.500000 2.500000 -2.625000 -v 0.500000 2.500000 -2.625000 -v 0.500000 2.250000 -2.750000 -v -0.500000 2.250000 -2.750000 -v -0.344030 0.708152 -0.175597 -v -0.424630 0.633153 -0.128904 -v -0.388541 0.618205 -0.128904 -v -0.328091 0.674453 -0.163924 -v -0.420670 0.523129 -0.082211 -v -0.334466 0.442528 -0.062870 -v -0.320918 0.475236 -0.079378 -v -0.385571 0.535686 -0.093884 -v -0.216518 0.438567 -0.082211 -v -0.135918 0.513565 -0.128904 -v -0.172007 0.528513 -0.128904 -v -0.232457 0.472265 -0.093884 -v -0.139879 0.623590 -0.175597 -v -0.174978 0.611032 -0.163924 -v -0.226082 0.704190 -0.194938 -v -0.239630 0.671482 -0.178429 -v -0.208096 0.543462 -0.128904 -v -0.210077 0.598474 -0.152250 -v -0.253178 0.638775 -0.161921 -v -0.312152 0.640755 -0.152250 -v -0.352451 0.603256 -0.128904 -v -0.350471 0.548244 -0.105557 -v -0.307370 0.507944 -0.095887 -v -0.248396 0.505963 -0.105557 -v -0.222349 0.496668 -0.037240 -v -0.161900 0.552916 -0.072260 -v -0.197989 0.567865 -0.072260 -v -0.238288 0.530366 -0.048913 -v -0.164869 0.635435 -0.107280 -v -0.199968 0.622877 -0.095606 -v -0.229523 0.695885 -0.121785 -v -0.243071 0.663178 -0.105277 -v -0.317984 0.698857 -0.107280 -v -0.302044 0.665158 -0.095606 -v -0.378433 0.642608 -0.072260 -v -0.342344 0.627659 -0.072260 -v -0.375462 0.560089 -0.037240 -v -0.340364 0.572647 -0.048913 -v -0.310810 0.499639 -0.022734 -v -0.297262 0.532347 -0.039243 -v -0.391169 0.267836 0.136894 -v -0.014465 0.192905 0.136894 -v -0.014465 0.302280 -0.081856 -v -0.349313 0.368885 -0.081856 -v -0.025414 0.247242 -0.109375 -v -0.360261 0.313848 -0.109375 -v -0.025414 0.137868 0.109375 -v -0.402117 0.212799 0.109375 -v 0.230970 1.345671 -0.500000 -v 0.095671 1.480970 -0.500000 -v 0.071753 1.423227 -0.500000 -v 0.173227 1.321753 -0.500000 -v -0.047836 1.365485 -0.500000 -v -0.115485 1.297835 -0.500000 -v -0.115485 1.202165 -0.500000 -v -0.047836 1.134515 -0.500000 -v 0.047834 1.134515 -0.500000 -v 0.115485 1.202165 -0.500000 -v 0.115485 1.297835 -0.500000 -v 0.047834 1.365485 -0.500000 -v 0.230970 1.154329 -0.500000 -v 0.173227 1.178247 -0.500000 -v 0.095671 1.019030 -0.500000 -v 0.071753 1.076773 -0.500000 -v -0.095671 1.019030 -0.500000 -v -0.071753 1.076773 -0.500000 -v -0.230970 1.154329 -0.500000 -v -0.173227 1.178247 -0.500000 -v -0.230970 1.345671 -0.500000 -v -0.173227 1.321753 -0.500000 -v -0.095671 1.480970 -0.500000 -v -0.071753 1.423227 -0.500000 -v 0.115485 1.297835 -0.375000 -v 0.173227 1.321753 -0.375000 -v 0.071753 1.423227 -0.375000 -v 0.047834 1.365485 -0.375000 -v 0.115485 1.202165 -0.375000 -v 0.173227 1.178247 -0.375000 -v 0.047834 1.134515 -0.375000 -v 0.071753 1.076773 -0.375000 -v -0.047836 1.134515 -0.375000 -v -0.071753 1.076773 -0.375000 -v -0.115485 1.202165 -0.375000 -v -0.173227 1.178247 -0.375000 -v -0.115485 1.297835 -0.375000 -v -0.173227 1.321753 -0.375000 -v -0.047836 1.365485 -0.375000 -v -0.071753 1.423227 -0.375000 -v -0.191341 1.711940 -0.750000 -v -0.353553 1.603553 -0.750000 -v -0.461940 1.441342 -0.750000 -v -0.500000 1.250000 -0.750000 -v -0.461940 1.058658 -0.750000 -v -0.353553 0.896447 -0.750000 -v -0.191341 0.788060 -0.750000 -v 0.000000 0.750000 -0.750000 -v 0.191341 0.788060 -0.750000 -v 0.353553 0.896446 -0.750000 -v 0.461940 1.058658 -0.750000 -v 0.500000 1.250000 -0.750000 -v 0.461940 1.441342 -0.750000 -v 0.353553 1.603554 -0.750000 -v 0.191341 1.711940 -0.750000 -v 0.000000 1.750000 -0.750000 -v 1.039364 1.680519 -0.375000 -v 0.795495 2.045496 -0.375000 -v 0.430518 2.289365 -0.375000 -v 1.039364 0.819481 -0.375000 -v 1.125000 1.250000 -0.375000 -v 0.430519 0.210635 -0.375000 -v 0.795495 0.454505 -0.375000 -v -0.430519 0.210636 -0.375000 -v 0.000000 0.125000 -0.375000 -v -1.039364 0.819481 -0.375000 -v -0.795495 0.454505 -0.375000 -v -1.039364 1.680519 -0.375000 -v -1.125000 1.250000 -0.375000 -v -0.430519 2.289364 -0.375000 -v -0.795495 2.045495 -0.375000 -v 0.000000 2.375000 -0.375000 -v 0.500000 2.500000 -0.625000 -v -0.500000 2.500000 -0.625000 -v -0.430519 2.289364 -0.625000 -v 0.000000 2.375000 -0.625000 -v 0.430518 2.289365 -0.625000 -v 0.795495 2.045496 -0.625000 -v 1.039364 1.680519 -0.625000 -v 1.125000 1.250000 -0.625000 -v 1.039364 0.819481 -0.625000 -v 0.795495 0.454505 -0.625000 -v 0.430519 0.210635 -0.625000 -v 0.000000 0.125000 -0.625000 -v -0.430519 0.210636 -0.625000 -v -0.795495 0.454505 -0.625000 -v -1.039364 0.819481 -0.625000 -v -1.125000 1.250000 -0.625000 -v -1.039364 1.680519 -0.625000 -v -0.795495 2.045495 -0.625000 -v -1.000000 1.645607 -3.832107 -v -1.000000 0.938500 -4.125000 -v -1.000000 0.231393 -3.832107 -v -1.000000 -0.061500 -3.125000 -v -1.000000 0.231393 -2.417893 -v -1.000000 0.938500 -2.125000 -v -1.000000 1.645607 -2.417893 -v -1.000000 1.938500 -3.125000 -v -1.000000 0.251000 -2.625000 -v -1.000000 1.376000 -2.625000 -v -1.000000 0.251000 -3.625000 -v -1.000000 1.376000 -3.625000 -v 1.000000 1.645607 -3.832107 -v 1.000000 1.938500 -3.125000 -v 1.000000 1.645607 -2.417893 -v 1.000000 0.938500 -2.125000 -v 1.000000 0.231393 -2.417893 -v 1.000000 -0.061500 -3.125000 -v 1.000000 0.231393 -3.832107 -v 1.000000 0.938500 -4.125000 -v 0.554916 2.356694 0.187500 -v 0.731694 2.179917 0.187500 -v 0.820084 2.268306 0.187500 -v 0.643306 2.445082 0.187500 -v 0.554916 2.356694 -0.312500 -v 0.643306 2.445082 -0.312500 -v 0.820084 2.268306 -0.312500 -v 0.731694 2.179917 -0.312500 -v -0.929916 0.518306 0.187500 -v -1.106694 0.695083 0.187500 -v -1.195084 0.606694 0.187500 -v -1.018306 0.429918 0.187500 -v -0.929916 0.518306 -0.312500 -v -1.018306 0.429918 -0.312500 -v -1.195084 0.606694 -0.312500 -v -1.106694 0.695083 -0.312500 -v 1.106694 0.695082 0.187500 -v 0.929916 0.518306 0.187500 -v 1.018306 0.429917 0.187500 -v 1.195082 0.606694 0.187500 -v 1.106694 0.695082 -0.312500 -v 1.195082 0.606694 -0.312500 -v 1.018306 0.429917 -0.312500 -v 0.929916 0.518306 -0.312500 -v -0.731694 2.179918 0.187500 -v -0.554916 2.356694 0.187500 -v -0.643306 2.445083 0.187500 -v -0.820082 2.268306 0.187500 -v -0.731694 2.179918 -0.312500 -v -0.820082 2.268306 -0.312500 -v -0.643306 2.445083 -0.312500 -v -0.554916 2.356694 -0.312500 -v 0.554916 2.356694 -2.375000 -v 0.731694 2.179917 -2.375000 -v 0.820084 2.268306 -2.375000 -v 0.643306 2.445082 -2.375000 -v 0.554916 2.356694 -2.750000 -v 0.643306 2.445082 -2.750000 -v 0.820084 2.268306 -2.875000 -v 0.731694 2.179917 -2.875000 -v -0.500000 2.250000 -2.625000 -v -1.000000 1.750000 -2.875000 -v 1.000000 1.750000 -2.875000 -v 0.500000 2.250000 -2.625000 -v 0.500000 2.215740 -2.715952 -v 0.500000 1.819230 -2.900848 -v 0.500000 1.872057 -3.014137 -v 0.500000 2.268567 -2.829241 -v -0.500000 2.268567 -2.829241 -v -0.500000 1.872057 -3.014137 -v -0.500000 1.819230 -2.900848 -v -0.500000 2.215740 -2.715952 -v -0.312500 2.438500 -2.750000 -v 0.312500 2.438500 -2.750000 -v -0.312500 2.385673 -2.636712 -v 0.312500 2.385673 -2.636712 -v -0.750000 1.887724 -3.247583 -v 0.750000 1.887724 -3.247583 -v 0.750000 2.039915 -3.445922 -v -0.750000 2.039915 -3.445922 -v 0.750000 1.544192 -3.511185 -v 0.750000 1.696383 -3.709523 -v 0.750000 1.944244 -3.676892 -v 0.750000 1.639863 -3.280215 -v -0.750000 1.944244 -3.676892 -v -0.750000 1.696383 -3.709523 -v -0.750000 1.544192 -3.511185 -v -0.750000 1.639863 -3.280215 -v -0.500000 0.125000 -2.750000 -v 0.500000 0.125000 -2.750000 -v 0.500000 0.125000 -1.750000 -v -0.500000 0.125000 -1.750000 -v 0.500000 0.500000 -2.750000 -v 0.500000 0.500000 -1.750000 -v -0.500000 0.500000 -1.750000 -v -0.500000 0.500000 -2.750000 -v -0.625000 0.187500 -4.125000 -v -0.625000 1.687500 -4.125000 -v 0.625000 1.687500 -4.125000 -v 0.625000 0.187500 -4.125000 -v 0.625000 1.687500 -3.625000 -v 0.625000 0.187500 -3.625000 -v -0.625000 0.187500 -3.625000 -v -0.625000 1.687500 -3.625000 -v -0.500000 1.562500 -4.875000 -v 0.500000 1.562500 -4.875000 -v 0.500000 0.312500 -4.875000 -v -0.500000 0.312500 -4.875000 -v 0.500000 0.312500 -4.125000 -v -0.500000 0.312500 -4.125000 -v -0.500000 1.562500 -4.125000 -v 0.500000 1.562500 -4.125000 -v 1.375000 1.658494 -2.187500 -v 0.875000 1.658494 -2.187500 -v 0.875000 1.658494 -2.437500 -v 1.375000 1.658494 -2.437500 -v 1.375000 2.091506 -2.187500 -v 0.875000 2.091506 -2.187500 -v 0.875000 1.875000 -2.062500 -v 1.375000 1.875000 -2.062500 -v 1.375000 1.875000 -2.562500 -v 0.875000 1.875000 -2.562500 -v 0.875000 2.091506 -2.437500 -v 1.375000 2.091506 -2.437500 -v 1.375000 1.983253 -2.375000 -v 1.375000 1.983253 -2.250000 -v 1.562500 1.983253 -2.250000 -v 1.562500 1.983253 -2.375000 -v 1.375000 1.766747 -2.250000 -v 1.375000 1.766747 -2.375000 -v 1.562500 1.766747 -2.375000 -v 1.562500 1.766747 -2.250000 -v 1.375000 1.875000 -2.187500 -v 1.562500 1.875000 -2.187500 -v 1.375000 1.875000 -2.437500 -v 1.562500 1.875000 -2.437500 -v 1.562500 1.712620 -2.406250 -v 1.562500 1.712620 -2.218750 -v 1.562500 1.875000 -2.125000 -v 1.562500 2.037380 -2.218750 -v 1.562500 2.037380 -2.406250 -v 1.562500 1.875000 -2.500000 -v 2.312500 1.875000 -2.500000 -v 2.312500 1.712620 -2.406250 -v 2.312500 1.712620 -2.218750 -v 2.312500 1.875000 -2.125000 -v 2.312500 2.037380 -2.218750 -v 2.312500 2.037380 -2.406250 -v 2.312500 1.875000 -2.187500 -v 2.312500 1.983253 -2.250000 -v 2.312500 1.983253 -2.375000 -v 2.312500 1.875000 -2.437500 -v 2.312500 1.766747 -2.375000 -v 2.312500 1.766747 -2.250000 -v 2.500000 1.766747 -2.250000 -v 2.500000 1.875000 -2.187500 -v 2.500000 1.983253 -2.250000 -v 2.500000 1.983253 -2.375000 -v 2.500000 1.766747 -2.375000 -v 2.500000 1.875000 -2.437500 -v 2.500000 1.875000 -2.062500 -v 2.500000 2.091506 -2.187500 -v 2.500000 2.091506 -2.437500 -v 2.500000 1.875000 -2.562500 -v 2.500000 1.658494 -2.437500 -v 2.500000 1.658494 -2.187500 -v 2.625000 2.091506 -2.187500 -v 2.625000 2.091506 -2.437500 -v 2.625000 1.658494 -2.437500 -v 2.625000 1.658494 -2.187500 -v 2.625000 1.875000 -2.062500 -v 2.625000 1.875000 -2.562500 -v 2.750000 1.983253 -2.375000 -v 2.750000 1.875000 -2.437500 -v 2.750000 1.766747 -2.375000 -v 2.750000 1.766747 -2.250000 -v 2.750000 1.875000 -2.187500 -v 2.750000 1.983253 -2.250000 -v -0.187500 1.625000 -4.125000 -v 0.187500 1.625000 -4.125000 -v 0.187500 1.625000 -5.000000 -v -0.187500 1.625000 -5.000000 -v -0.187500 1.669194 -5.397748 -v -0.187500 2.022748 -5.044194 -v -0.187500 2.287913 -5.309359 -v -0.187500 2.022748 -5.574524 -v -0.187500 1.845971 -5.574524 -v 0.187500 1.250000 -5.000000 -v -0.187500 1.250000 -5.000000 -v 0.187500 1.250000 -4.125000 -v -0.187500 1.250000 -4.125000 -v -0.125000 1.625000 -4.734835 -v 0.125000 1.625000 -4.734835 -v 0.125000 1.978553 -5.088388 -v -0.125000 1.978553 -5.088388 -v -0.125000 1.359835 -5.000000 -v -0.125000 1.713388 -5.353553 -v 0.125000 1.359835 -5.000000 -v 0.125000 1.713388 -5.353553 -v 0.187500 1.669194 -5.397748 -v 0.187500 2.022748 -5.044194 -v 0.187500 2.022748 -5.574524 -v 0.187500 1.845971 -5.574524 -v 0.187500 2.287913 -5.309359 -v -0.062500 2.597272 -4.558058 -v 0.062500 2.597272 -4.558058 -v 0.062500 2.774049 -4.734835 -v -0.062500 2.774049 -4.734835 -v 0.062500 2.066942 -5.088388 -v 0.062500 2.243718 -5.265165 -v -0.062500 2.243718 -5.265165 -v -0.062500 2.066942 -5.088388 -v -0.125000 2.423342 -2.962217 -v 0.000000 2.453697 -2.948062 -v 0.216506 2.113832 -3.106544 -v 0.125000 2.030899 -3.145216 -v 0.000000 2.000544 -3.159371 -v -0.125000 2.030899 -3.145216 -v -0.216506 2.113832 -3.106544 -v -0.250000 2.227120 -3.053716 -v -0.216506 2.340409 -3.000889 -v 0.000000 2.374456 -2.778129 -v 0.000000 2.487745 -2.725302 -v 0.000000 2.566986 -2.895234 -v 0.324759 1.977947 -2.963025 -v 0.216506 2.034591 -2.936611 -v 0.324759 2.057188 -3.132957 -v 0.375000 2.227120 -3.053716 -v 0.324760 2.397053 -2.974475 -v 0.187500 2.521452 -2.916467 -v 0.324760 2.317812 -2.804543 -v 0.187500 2.442212 -2.746534 +f 1875/2668/724 1876/2669/724 1877/2670/724 +f 1877/2670/724 1878/2671/724 1879/2672/724 +f 1879/2672/724 1880/2673/724 1881/2674/724 +f 1881/2674/724 1882/2675/724 1883/2676/724 +f 1883/2676/724 1884/2677/724 1875/2668/724 +f 1875/2668/724 1885/2678/724 1876/2669/724 +f 1876/2669/724 1886/2679/724 1877/2670/724 +f 1877/2670/724 1879/2672/724 1875/2668/724 +f 1879/2672/724 1881/2674/724 1875/2668/724 +f 1881/2674/724 1883/2676/724 1875/2668/724 +o Spin +v -0.375000 2.313995 -2.944245 +v -0.266747 2.257351 -2.970659 +v -0.375000 2.087419 -3.049900 v -0.437500 2.102596 -3.042822 v -0.483253 2.144063 -3.023486 v -0.500000 2.200707 -2.997072 v -0.483253 2.257351 -2.970659 v -0.437500 2.298818 -2.951323 -v -0.375000 2.313995 -2.944245 v -0.312500 2.298818 -2.951323 -v -0.266747 2.257351 -2.970659 v -0.250000 2.200707 -2.997072 v -0.266747 2.144063 -3.023486 v -0.312500 2.102596 -3.042822 -v -0.375000 2.087419 -3.049900 -v -1.125000 1.875000 -1.875000 -v -1.125000 1.875000 -1.625000 -v -0.625000 2.375000 -1.875000 -v -0.625000 2.375000 -2.125000 -v -0.625000 2.375000 -0.875000 -v -1.125000 1.875000 -0.875000 -v -1.125000 1.875000 -2.625000 -v -0.625000 2.375000 -2.375000 -v 1.125000 1.875000 -0.875000 -v 0.625000 2.375000 -0.875000 -v 1.125000 1.875000 -1.625000 -v 0.625000 2.375000 -1.875000 -v 0.448223 2.198223 -1.875000 -v 0.948223 1.698223 -1.625000 -v -1.036612 1.786612 -1.875000 -v -1.036612 1.786612 -2.625000 -v -0.948223 1.698223 -1.625000 -v -0.448223 2.198223 -1.875000 -v -0.536612 2.286612 -2.375000 -v -0.536612 2.286612 -2.125000 -v -0.448223 2.198223 -0.875000 -v -0.948223 1.698223 -0.875000 -v 0.948223 1.698223 -0.875000 -v 0.448223 2.198223 -0.875000 -v -0.137500 2.062500 -3.749900 -v -0.137500 1.937500 -3.749900 -v -0.137500 2.062500 -3.437400 -v -0.137500 2.187500 -3.437400 -v -0.012500 1.937500 -3.749900 -v -0.012500 2.062500 -3.437400 -v 0.137500 1.937500 -3.749900 -v 0.137500 2.062500 -3.749900 -v 0.137500 2.187500 -3.437400 -v 0.137500 2.062500 -3.437400 -v -0.012500 2.062500 -3.749900 -v -0.012500 2.187500 -3.437400 -v 0.137500 2.134191 -3.062400 -v 0.137500 2.009191 -3.062400 -v -0.012500 2.009191 -3.062400 -v -0.137500 2.009191 -3.062400 -v -0.012500 1.937500 -3.874900 -v -0.137500 1.937500 -3.874900 -v 0.137500 1.937500 -3.874900 -v 0.012500 1.937500 -3.874900 -v 0.012500 2.062500 -3.749900 -v 0.012500 1.937500 -3.749900 -v -0.012500 1.687500 -3.874900 -v -0.137500 1.687500 -3.874900 -v -0.137500 1.687500 -3.749900 -v -0.012500 1.687500 -3.749900 -v 0.137500 1.687500 -3.749900 -v 0.137500 1.687500 -3.874900 -v 0.012500 1.687500 -3.874900 -v 0.012500 1.687500 -3.749900 -v 0.012500 2.062500 -3.437400 -v 0.625000 2.001000 -3.187500 -v 0.625000 2.001000 -3.062500 -v 0.875000 2.001000 -3.062500 -v 0.875000 2.001000 -3.187500 -v 0.012500 2.187500 -3.437400 -v 0.012500 2.134191 -3.062400 -v 0.012500 2.009191 -3.062400 -v -0.137500 2.134191 -3.062400 -v -0.012500 2.134191 -3.062400 -v -0.625000 1.938500 -3.250000 -v 0.625000 1.938500 -3.250000 -v 0.625000 1.830247 -3.187500 -v -0.625000 1.830247 -3.187500 -v 0.625000 1.876000 -3.062500 -v 0.875000 1.876000 -3.062500 -v 0.625000 1.830247 -3.062500 -v -0.625000 1.830247 -3.062500 -v 0.625000 1.876000 -3.187500 -v 0.875000 1.876000 -3.187500 -v 0.625000 1.938500 -3.000000 -v -0.625000 1.938500 -3.000000 -v 0.625000 2.046753 -3.062500 -v -0.625000 2.046753 -3.062500 -v 0.625000 2.046753 -3.187500 -v -0.625000 2.046753 -3.187500 -v 1.000000 2.001000 -3.187500 -v 1.000000 2.001000 -3.062500 -v 0.875000 2.126000 -3.187500 -v 1.000000 2.126000 -3.187500 -v 0.875000 2.126000 -3.312500 -v 1.000000 2.126000 -3.312500 -v 1.000000 2.126000 -3.062500 -v 0.875000 2.126000 -3.062500 -v 1.000000 2.251000 -3.187500 -v 0.875000 2.251000 -3.187500 -v 0.875000 2.251000 -3.312500 -v 1.000000 2.251000 -3.312500 -v 1.000000 2.001000 -3.937500 -v 0.875000 2.001000 -3.937500 -v 1.000000 1.876000 -3.937500 -v 1.000000 1.876000 -4.062500 -v 0.875000 1.876000 -3.937500 -v 0.875000 1.876000 -4.062500 -v 0.875000 1.626000 -4.062500 -v 0.875000 1.626000 -3.937500 -v 0.875000 1.501000 -3.937500 -v 0.625000 1.626000 -3.937500 -v 0.625000 1.501000 -3.937500 -v 1.000000 1.626000 -3.937500 -v 1.000000 1.626000 -4.062500 -v 0.875000 1.501000 -4.062500 -v 0.625000 1.626000 -4.062500 -v 0.625000 1.501000 -4.062500 -v -0.382683 2.173880 -0.125000 -v 0.000000 2.250000 -0.125000 -v 0.382683 2.173880 -0.125000 -v 0.707106 1.957107 -0.125000 -v 0.923880 1.632684 -0.125000 -v 1.000000 1.250000 -0.125000 -v 0.923880 0.867316 -0.125000 -v 0.707106 0.542893 -0.125000 -v 0.382683 0.326120 -0.125000 -v 0.000000 0.250000 -0.125000 -v -0.382684 0.326120 -0.125000 -v -0.707108 0.542893 -0.125000 -v -0.923880 0.867316 -0.125000 -v -1.000000 1.250000 -0.125000 -v -0.923880 1.632683 -0.125000 -v -0.707108 1.957107 -0.125000 -v -0.382683 2.173880 -0.500000 -v 0.000000 2.250000 -0.500000 -v 0.382683 2.173880 -0.500000 -v 0.382683 0.326120 -0.500000 -v 0.000000 0.250000 -0.500000 -v -0.707108 1.957107 -0.500000 -v 0.707106 0.542893 -0.500000 -v -0.923880 1.632683 -0.500000 -v 0.923880 0.867316 -0.500000 -v -1.000000 1.250000 -0.500000 -v 1.000000 1.250000 -0.500000 -v -0.923880 0.867316 -0.500000 -v 0.923880 1.632684 -0.500000 -v -0.707108 0.542893 -0.500000 -v 0.707106 1.957107 -0.500000 -v -0.382684 0.326120 -0.500000 -v 0.110485 0.764515 -0.750000 -v 0.156250 0.875000 -0.750000 -v 0.156250 0.737706 -0.418544 -v 0.110485 0.659581 -0.496669 -v 0.110485 0.985485 -0.750000 -v 0.000000 1.031250 -0.750000 -v 0.000000 0.848192 -0.308058 -v 0.110485 0.815831 -0.340419 -v -0.110486 0.985485 -0.750000 -v -0.156250 0.875000 -0.750000 -v -0.156250 0.737706 -0.418544 -v -0.110486 0.815831 -0.340419 -v -0.110486 0.764515 -0.750000 -v -0.110486 0.659581 -0.496669 -v 0.000000 0.718750 -0.750000 -v 0.000000 0.627221 -0.529029 -v -0.156250 0.585633 -0.316931 -v -0.110486 0.627914 -0.214856 -v 0.000000 0.645427 -0.172575 -v 0.110485 0.627914 -0.214856 -v 0.156250 0.585633 -0.316931 -v 0.110485 0.543352 -0.419007 -v 0.000000 0.525838 -0.461288 -v -0.110486 0.543352 -0.419007 -v 0.110485 0.406250 -0.391735 -v 0.000000 0.406250 -0.437500 -v -0.110486 0.406250 -0.391735 -v -0.156250 0.406250 -0.281250 -v -0.110486 0.406250 -0.170765 -v 0.000000 0.406250 -0.125000 -v 0.110485 0.406250 -0.170765 -v 0.156250 0.406250 -0.281250 -v -0.110486 0.184586 -0.214856 -v 0.000000 0.167073 -0.172575 -v 0.110485 0.184586 -0.214856 -v 0.156250 0.226867 -0.316932 -v 0.110485 0.269148 -0.419007 -v 0.000000 0.286661 -0.461288 -v -0.110486 0.269148 -0.419007 -v -0.156250 0.226867 -0.316932 -v -0.196566 0.367147 -0.468769 -v -0.200528 0.477172 -0.515462 -v -0.286731 0.557772 -0.534803 -v -0.404678 0.561734 -0.515462 -v -0.485279 0.486735 -0.468769 -v -0.481318 0.376710 -0.422076 -v -0.395115 0.296110 -0.402735 -v -0.277166 0.292148 -0.422076 -v 0.230970 1.345671 -0.750000 -v 0.095671 1.480970 -0.750000 -v 0.095671 1.019030 -0.750000 -v 0.230970 1.154329 -0.750000 -v -0.230970 1.154329 -0.750000 -v -0.095671 1.019030 -0.750000 -v -0.095671 1.480970 -0.750000 -v -0.230970 1.345671 -0.750000 -v 0.000000 1.921303 -2.989438 -v -0.125000 1.951658 -2.975283 -v -0.250000 2.147880 -2.883784 -v -0.216506 2.261168 -2.830956 -v 0.125000 1.951658 -2.975283 -v -0.216506 2.034591 -2.936611 -v -0.125000 2.344101 -2.792284 -v 0.375000 2.147880 -2.883783 -v -0.375000 2.261168 -2.830956 -v -0.312500 2.245990 -2.838034 -v -0.500000 2.147880 -2.883784 -v -0.483253 2.204524 -2.857370 -v -0.266747 2.091235 -2.910197 -v -0.312500 2.049769 -2.929533 -v -0.375000 2.034591 -2.936611 -v -0.437500 2.049769 -2.929533 -v -0.266747 2.204524 -2.857370 -v -0.437500 2.245990 -2.838034 -v -0.483253 2.091235 -2.910197 -v -0.250000 2.147880 -2.883784 -v 0.911612 2.036612 -1.125000 -v 0.875000 2.125000 -1.125000 -v 0.823223 2.073223 -0.948223 -v 0.867418 1.992418 -0.974112 -v 0.786612 2.161612 -1.125000 -v 0.698223 2.125000 -1.125000 -v 0.672335 2.099112 -1.036612 -v 0.742418 2.117417 -0.974112 -v -0.786612 2.161612 -1.125000 -v -0.742418 2.117417 -0.974112 -v -0.672335 2.099112 -1.036612 -v -0.698223 2.125000 -1.125000 -v -0.911612 2.036612 -1.125000 -v -0.867418 1.992418 -0.974112 -v -0.823223 2.073223 -0.948223 -v -0.875000 2.125000 -1.125000 -v -0.875000 1.948223 -1.125000 -v -0.849112 1.922335 -1.036612 -v -0.698223 1.948223 -0.875000 -v -0.635723 2.010723 -0.911612 -v -0.786612 1.859835 -1.000000 -v -0.760723 1.885723 -0.911612 -v -0.609835 2.036612 -1.000000 -v -0.609835 2.338388 -1.125000 -v -0.565641 2.294194 -0.974112 -v -0.495558 2.275888 -1.036612 -v -0.521447 2.301777 -1.125000 -v -0.734835 2.213388 -1.125000 -v -0.690641 2.169194 -0.974112 -v -0.646447 2.250000 -0.948223 -v -0.698223 2.301777 -1.125000 -v -0.698223 2.125000 -1.125000 -v -0.672335 2.099112 -1.036612 -v -0.521447 2.125000 -0.875000 -v -0.458947 2.187500 -0.911612 -v -0.609835 2.036612 -1.000000 -v -0.583947 2.062500 -0.911612 -v -0.433058 2.213388 -1.000000 -v -0.963388 1.984835 -1.125000 -v -0.919194 1.940641 -0.974112 -v -0.849112 1.922335 -1.036612 -v -0.875000 1.948223 -1.125000 -v -1.088388 1.859835 -1.125000 -v -1.044194 1.815641 -0.974112 -v -1.000000 1.896446 -0.948223 -v -1.051777 1.948223 -1.125000 -v -1.051777 1.771446 -1.125000 -v -1.025888 1.745558 -1.036612 -v -0.875000 1.771446 -0.875000 -v -0.812500 1.833946 -0.911612 -v -0.963388 1.683058 -1.000000 -v -0.937500 1.708946 -0.911612 -v -0.786612 1.859835 -1.000000 -v -0.698223 2.125000 -1.812500 -v -0.786612 2.161612 -1.812500 -v -0.521447 2.301777 -1.875000 -v -0.609835 2.338388 -1.875000 -v -0.875000 2.125000 -1.812500 -v -0.911612 2.036612 -1.812500 -v -0.875000 1.948223 -1.750000 -v -0.963388 1.984835 -1.750000 -v -0.698223 2.301777 -1.875000 -v -0.875000 1.948223 -1.812500 -v -0.734835 2.213388 -1.875000 -v -1.051777 1.948223 -1.750000 -v -1.088388 1.859835 -1.750000 -v -0.698223 2.125000 -1.875000 -v -1.051777 1.771446 -1.750000 -v 0.875000 1.948223 -1.125000 -v 0.849112 1.922335 -1.036612 -v 0.635723 2.010723 -0.911612 -v 0.698223 1.948223 -0.875000 -v 0.760723 1.885723 -0.911612 -v 0.786612 1.859835 -1.000000 -v 0.609835 2.036612 -1.000000 -v 0.609835 2.338388 -1.125000 -v 0.521447 2.301777 -1.125000 -v 0.495558 2.275888 -1.036612 -v 0.565641 2.294194 -0.974112 -v 0.734835 2.213388 -1.125000 -v 0.698223 2.301777 -1.125000 -v 0.646447 2.250000 -0.948223 -v 0.690641 2.169194 -0.974112 -v 0.698223 2.125000 -1.125000 -v 0.672335 2.099112 -1.036612 -v 0.458947 2.187500 -0.911612 -v 0.521447 2.125000 -0.875000 -v 0.583947 2.062500 -0.911612 -v 0.609835 2.036612 -1.000000 -v 0.433058 2.213388 -1.000000 -v 0.963388 1.984835 -1.125000 -v 0.875000 1.948223 -1.125000 -v 0.849112 1.922335 -1.036612 -v 0.919194 1.940641 -0.974112 -v 1.088388 1.859835 -1.125000 -v 1.051777 1.948223 -1.125000 -v 1.000000 1.896446 -0.948223 -v 1.044194 1.815641 -0.974112 -v 1.051777 1.771446 -1.125000 -v 1.025888 1.745558 -1.036612 -v 0.812500 1.833946 -0.911612 -v 0.875000 1.771446 -0.875000 -v 0.937500 1.708946 -0.911612 -v 0.963388 1.683058 -1.000000 -v 0.786612 1.859835 -1.000000 -v 0.786612 2.161612 -1.812500 -v 0.698223 2.125000 -1.812500 -v 0.609835 2.338388 -1.875000 -v 0.521447 2.301777 -1.875000 -v 0.875000 2.125000 -1.812500 -v 0.911612 2.036612 -1.812500 -v 0.963388 1.984835 -1.750000 -v 0.875000 1.948223 -1.750000 -v 0.698223 2.301777 -1.875000 -v 0.875000 1.948223 -1.812500 -v 0.734835 2.213388 -1.875000 -v 1.051777 1.948223 -1.750000 -v 1.088388 1.859835 -1.750000 -v 0.698223 2.125000 -1.875000 -v 1.051777 1.771446 -1.750000 -v 1.000000 0.500000 -2.625000 -v 0.344030 1.791848 -0.175597 -v 0.424630 1.866847 -0.128904 -v 0.388541 1.881795 -0.128904 -v 0.328091 1.825547 -0.163924 -v 0.420670 1.976871 -0.082211 -v 0.334466 2.057472 -0.062870 -v 0.320918 2.024764 -0.079378 -v 0.385571 1.964314 -0.093884 -v 0.216518 2.061433 -0.082211 -v 0.135918 1.986435 -0.128904 -v 0.172007 1.971487 -0.128904 -v 0.232457 2.027735 -0.093884 -v 0.139879 1.876410 -0.175597 -v 0.174978 1.888968 -0.163924 -v 0.226082 1.795810 -0.194938 -v 0.239630 1.828518 -0.178429 -v 0.208096 1.956538 -0.128904 -v 0.210077 1.901526 -0.152250 -v 0.253178 1.861225 -0.161921 -v 0.312152 1.859245 -0.152250 -v 0.352451 1.896744 -0.128904 -v 0.350472 1.951756 -0.105557 -v 0.307370 1.992056 -0.095887 -v 0.248396 1.994037 -0.105557 -v 0.222349 2.003332 -0.037240 -v 0.161900 1.947084 -0.072260 -v 0.197989 1.932135 -0.072260 -v 0.238288 1.969634 -0.048913 -v 0.164869 1.864565 -0.107280 -v 0.199968 1.877123 -0.095606 -v 0.229523 1.804115 -0.121785 -v 0.243071 1.836822 -0.105277 -v 0.317984 1.801143 -0.107280 -v 0.302044 1.834842 -0.095606 -v 0.378433 1.857392 -0.072260 -v 0.342344 1.872341 -0.072260 -v 0.375462 1.939911 -0.037240 -v 0.340365 1.927353 -0.048913 -v 0.310810 2.000361 -0.022734 -v 0.297262 1.967653 -0.039243 -v -0.110485 1.735485 -0.750000 -v -0.156250 1.625000 -0.750000 -v -0.156250 1.762294 -0.418544 -v -0.110485 1.840419 -0.496669 -v -0.110485 1.514515 -0.750000 -v 0.000000 1.468750 -0.750000 -v 0.000000 1.651808 -0.308058 -v -0.110485 1.684169 -0.340419 -v 0.110486 1.514515 -0.750000 -v 0.156250 1.625000 -0.750000 -v 0.156250 1.762294 -0.418544 -v 0.110486 1.684169 -0.340419 -v 0.110486 1.735485 -0.750000 -v 0.110486 1.840419 -0.496669 -v 0.000000 1.781250 -0.750000 -v 0.000000 1.872779 -0.529029 -v 0.156250 1.914367 -0.316931 -v 0.110486 1.872086 -0.214856 -v 0.000000 1.854573 -0.172575 -v -0.110485 1.872086 -0.214856 -v -0.156250 1.914367 -0.316931 -v -0.110485 1.956648 -0.419007 -v 0.000000 1.974162 -0.461288 -v 0.110486 1.956648 -0.419007 -v -0.110485 2.093750 -0.391735 -v 0.000000 2.093750 -0.437500 -v 0.110486 2.093750 -0.391735 -v 0.156250 2.093750 -0.281250 -v 0.110486 2.093750 -0.170765 -v 0.000000 2.093750 -0.125000 -v -0.110485 2.093750 -0.170765 -v -0.156250 2.093750 -0.281250 -v 0.110486 2.315414 -0.214856 -v 0.000000 2.332927 -0.172575 -v -0.110485 2.315414 -0.214856 -v -0.156250 2.273133 -0.316932 -v -0.110485 2.230852 -0.419007 -v 0.000000 2.213339 -0.461288 -v 0.110486 2.230852 -0.419007 -v 0.156250 2.273133 -0.316932 -v 0.196566 2.132853 -0.468769 -v 0.200528 2.022828 -0.515462 -v 0.286731 1.942228 -0.534803 -v 0.404678 1.938266 -0.515462 -v 0.485279 2.013265 -0.468769 -v 0.481318 2.123290 -0.422076 -v 0.395115 2.203890 -0.402735 -v 0.277166 2.207852 -0.422076 -v -0.541848 1.594031 -0.175597 -v -0.616847 1.674630 -0.128904 -v -0.631795 1.638541 -0.128904 -v -0.575547 1.578091 -0.163924 -v -0.726871 1.670670 -0.082211 -v -0.807472 1.584466 -0.062870 -v -0.774764 1.570918 -0.079378 -v -0.714314 1.635571 -0.093884 -v -0.811433 1.466519 -0.082211 -v -0.736435 1.385918 -0.128904 -v -0.721487 1.422007 -0.128904 -v -0.777735 1.482457 -0.093884 -v -0.626410 1.389879 -0.175597 -v -0.638968 1.424978 -0.163924 -v -0.545810 1.476082 -0.194938 -v -0.578518 1.489630 -0.178429 -v -0.706538 1.458096 -0.128904 -v -0.651526 1.460078 -0.152250 -v -0.611225 1.503178 -0.161921 -v -0.609245 1.562152 -0.152250 -v -0.646744 1.602452 -0.128904 -v -0.701756 1.600472 -0.105557 -v -0.742056 1.557370 -0.095887 -v -0.744037 1.498396 -0.105557 -v -0.753332 1.472349 -0.037240 -v -0.697084 1.411900 -0.072260 -v -0.682135 1.447989 -0.072260 -v -0.719634 1.488288 -0.048913 -v -0.614565 1.414870 -0.107280 -v -0.627123 1.449969 -0.095606 -v -0.554115 1.479523 -0.121785 -v -0.586822 1.493071 -0.105277 -v -0.551143 1.567984 -0.107280 -v -0.584842 1.552044 -0.095606 -v -0.607392 1.628433 -0.072260 -v -0.622341 1.592345 -0.072260 -v -0.689911 1.625462 -0.037240 -v -0.677353 1.590365 -0.048913 -v -0.750361 1.560810 -0.022734 -v -0.717653 1.547262 -0.039243 -v -0.485485 1.139515 -0.750000 -v -0.375000 1.093750 -0.750000 -v -0.512294 1.093750 -0.418544 -v -0.590419 1.139515 -0.496669 -v -0.264515 1.139515 -0.750000 -v -0.218750 1.250000 -0.750000 -v -0.401808 1.250000 -0.308058 -v -0.434169 1.139515 -0.340419 -v -0.264515 1.360486 -0.750000 -v -0.375000 1.406250 -0.750000 -v -0.512294 1.406250 -0.418544 -v -0.434169 1.360486 -0.340419 -v -0.485485 1.360486 -0.750000 -v -0.590419 1.360486 -0.496669 -v -0.531250 1.250000 -0.750000 -v -0.622779 1.250000 -0.529029 -v -0.664367 1.406250 -0.316931 -v -0.622086 1.360486 -0.214856 -v -0.604573 1.250000 -0.172575 -v -0.622086 1.139515 -0.214856 -v -0.664367 1.093750 -0.316931 -v -0.706648 1.139515 -0.419007 -v -0.724162 1.250000 -0.461288 -v -0.706648 1.360486 -0.419007 -v -0.843750 1.139515 -0.391735 -v -0.843750 1.250000 -0.437500 -v -0.843750 1.360486 -0.391735 -v -0.843750 1.406250 -0.281250 -v -0.843750 1.360486 -0.170765 -v -0.843750 1.250000 -0.125000 -v -0.843750 1.139515 -0.170765 -v -0.843750 1.093750 -0.281250 -v -1.065414 1.360486 -0.214856 -v -1.082927 1.250000 -0.172575 -v -1.065414 1.139515 -0.214856 -v -1.023133 1.093750 -0.316932 -v -0.980852 1.139515 -0.419007 -v -0.963339 1.250000 -0.461288 -v -0.980852 1.360486 -0.419007 -v -1.023133 1.406250 -0.316932 -v -0.882853 1.446566 -0.468769 -v -0.772828 1.450528 -0.515462 -v -0.692228 1.536731 -0.534803 -v -0.688266 1.654678 -0.515462 -v -0.763265 1.735279 -0.468769 -v -0.873290 1.731318 -0.422076 -v -0.953890 1.645115 -0.402735 -v -0.957852 1.527166 -0.422076 -v 0.541848 0.905970 -0.175597 -v 0.616847 0.825370 -0.128904 -v 0.631795 0.861459 -0.128904 -v 0.575547 0.921909 -0.163924 -v 0.726871 0.829330 -0.082211 -v 0.807472 0.915534 -0.062870 -v 0.774764 0.929082 -0.079378 -v 0.714314 0.864429 -0.093884 -v 0.811433 1.033482 -0.082211 -v 0.736435 1.114082 -0.128904 -v 0.721487 1.077993 -0.128904 -v 0.777735 1.017543 -0.093884 -v 0.626410 1.110121 -0.175597 -v 0.638968 1.075022 -0.163924 -v 0.545810 1.023918 -0.194938 -v 0.578518 1.010370 -0.178429 -v 0.706538 1.041904 -0.128904 -v 0.651526 1.039923 -0.152250 -v 0.611225 0.996822 -0.161921 -v 0.609245 0.937848 -0.152250 -v 0.646744 0.897549 -0.128904 -v 0.701756 0.899529 -0.105557 -v 0.742056 0.942630 -0.095887 -v 0.744037 1.001604 -0.105557 -v 0.753332 1.027651 -0.037240 -v 0.697084 1.088100 -0.072260 -v 0.682135 1.052011 -0.072260 -v 0.719634 1.011712 -0.048913 -v 0.614565 1.085131 -0.107280 -v 0.627123 1.050032 -0.095606 -v 0.554115 1.020477 -0.121785 -v 0.586822 1.006929 -0.105277 -v 0.551143 0.932016 -0.107280 -v 0.584842 0.947956 -0.095606 -v 0.607392 0.871567 -0.072260 -v 0.622341 0.907656 -0.072260 -v 0.689911 0.874539 -0.037240 -v 0.677353 0.909636 -0.048913 -v 0.750361 0.939190 -0.022734 -v 0.717653 0.952738 -0.039243 -v 0.485485 1.360485 -0.750000 -v 0.375000 1.406250 -0.750000 -v 0.512294 1.406250 -0.418544 -v 0.590419 1.360485 -0.496669 -v 0.264515 1.360485 -0.750000 -v 0.218750 1.250000 -0.750000 -v 0.401808 1.250000 -0.308058 -v 0.434169 1.360485 -0.340419 -v 0.264515 1.139514 -0.750000 -v 0.375000 1.093750 -0.750000 -v 0.512294 1.093750 -0.418544 -v 0.434169 1.139514 -0.340419 -v 0.485485 1.139514 -0.750000 -v 0.590419 1.139514 -0.496669 -v 0.531250 1.250000 -0.750000 -v 0.622779 1.250000 -0.529029 -v 0.664367 1.093750 -0.316931 -v 0.622086 1.139514 -0.214856 -v 0.604573 1.250000 -0.172575 -v 0.622086 1.360485 -0.214856 -v 0.664367 1.406250 -0.316931 -v 0.706648 1.360485 -0.419007 -v 0.724162 1.250000 -0.461288 -v 0.706648 1.139514 -0.419007 -v 0.843750 1.360485 -0.391735 -v 0.843750 1.250000 -0.437500 -v 0.843750 1.139514 -0.391735 -v 0.843750 1.093750 -0.281250 -v 0.843750 1.139514 -0.170765 -v 0.843750 1.250000 -0.125000 -v 0.843750 1.360485 -0.170765 -v 0.843750 1.406250 -0.281250 -v 1.065414 1.139514 -0.214856 -v 1.082927 1.250000 -0.172575 -v 1.065414 1.360485 -0.214856 -v 1.023133 1.406250 -0.316932 -v 0.980852 1.360485 -0.419007 -v 0.963339 1.250000 -0.461288 -v 0.980852 1.139514 -0.419007 -v 1.023133 1.093750 -0.316932 -v 0.882853 1.053434 -0.468769 -v 0.772828 1.049472 -0.515462 -v 0.692228 0.963269 -0.534803 -v 0.688266 0.845322 -0.515462 -v 0.763265 0.764721 -0.468769 -v 0.873290 0.768682 -0.422076 -v 0.953890 0.854885 -0.402735 -v 0.957852 0.972834 -0.422076 -v -0.626411 1.110122 -0.175597 -v -0.736436 1.114082 -0.128904 -v -0.721487 1.077994 -0.128904 -v -0.638968 1.075022 -0.163924 -v -0.811434 1.033483 -0.082211 -v -0.807472 0.915534 -0.062870 -v -0.774764 0.929083 -0.079378 -v -0.777736 1.017543 -0.093884 -v -0.726871 0.829332 -0.082211 -v -0.616847 0.825370 -0.128904 -v -0.631795 0.861459 -0.128904 -v -0.714314 0.864430 -0.093884 -v -0.541848 0.905971 -0.175597 -v -0.575547 0.921910 -0.163924 -v -0.545810 1.023918 -0.194938 -v -0.578518 1.010370 -0.178429 -v -0.646744 0.897548 -0.128904 -v -0.609246 0.937849 -0.152250 -v -0.611225 0.996822 -0.161921 -v -0.651526 1.039924 -0.152250 -v -0.706538 1.041904 -0.128904 -v -0.744037 1.001604 -0.105557 -v -0.742056 0.942631 -0.095887 -v -0.701756 0.899529 -0.105557 -v -0.689911 0.874538 -0.037240 -v -0.607393 0.871567 -0.072260 -v -0.622341 0.907657 -0.072260 -v -0.677353 0.909637 -0.048913 -v -0.551143 0.932017 -0.107280 -v -0.584842 0.947956 -0.095606 -v -0.554116 1.020479 -0.121785 -v -0.586823 1.006931 -0.105277 -v -0.614565 1.085132 -0.107280 -v -0.627123 1.050032 -0.095606 -v -0.697084 1.088102 -0.072260 -v -0.682136 1.052012 -0.072260 -v -0.753332 1.027651 -0.037240 -v -0.719635 1.011713 -0.048913 -v -0.750361 0.939191 -0.022734 -v -0.717654 0.952739 -0.039243 -v -0.265165 0.828586 -0.750000 -v -0.154680 0.874350 -0.750000 -v -0.251761 0.777268 -0.418544 -v -0.339365 0.754386 -0.496669 -v -0.108916 0.984835 -0.750000 -v -0.154680 1.095320 -0.750000 -v -0.284121 0.965879 -0.308058 -v -0.228879 0.864871 -0.340419 -v -0.265166 1.141085 -0.750000 -v -0.375651 1.095320 -0.750000 -v -0.472732 0.998239 -0.418544 -v -0.385129 1.021122 -0.340419 -v -0.421415 0.984836 -0.750000 -v -0.495615 0.910636 -0.496669 -v -0.375651 0.874350 -0.750000 -v -0.440371 0.809629 -0.529029 -v -0.580264 0.890707 -0.316931 -v -0.518007 0.888244 -0.214856 -v -0.427498 0.822502 -0.172575 -v -0.361757 0.731994 -0.214856 -v -0.359293 0.669736 -0.316931 -v -0.421551 0.672200 -0.419007 -v -0.512060 0.737940 -0.461288 -v -0.577801 0.828450 -0.419007 -v -0.518497 0.575254 -0.391735 -v -0.596621 0.653379 -0.437500 -v -0.674747 0.731504 -0.391735 -v -0.707107 0.763864 -0.281250 -v -0.674747 0.731504 -0.170765 -v -0.596621 0.653379 -0.125000 -v -0.518497 0.575254 -0.170765 -v -0.486136 0.542893 -0.281250 -v -0.831487 0.574764 -0.214856 -v -0.765745 0.484255 -0.172575 -v -0.675237 0.418514 -0.214856 -v -0.612979 0.416050 -0.316932 -v -0.615442 0.478308 -0.419007 -v -0.681184 0.568817 -0.461288 -v -0.771693 0.634558 -0.419007 -v -0.833950 0.637021 -0.316932 -v -0.763264 0.764722 -0.468769 -v -0.688267 0.845323 -0.515462 -v -0.692228 0.963270 -0.534803 -v -0.772828 1.049473 -0.515462 -v -0.882854 1.053434 -0.468769 -v -0.957852 0.972834 -0.422076 -v -0.953891 0.854886 -0.402735 -v -0.873290 0.768683 -0.422076 -v 0.626411 1.389878 -0.175597 -v 0.736436 1.385918 -0.128904 -v 0.721487 1.422006 -0.128904 -v 0.638968 1.424978 -0.163924 -v 0.811434 1.466517 -0.082211 -v 0.807472 1.584466 -0.062870 -v 0.774764 1.570918 -0.079378 -v 0.777736 1.482457 -0.093884 -v 0.726872 1.670668 -0.082211 -v 0.616847 1.674630 -0.128904 -v 0.631796 1.638541 -0.128904 -v 0.714314 1.635570 -0.093884 -v 0.541848 1.594029 -0.175597 -v 0.575547 1.578090 -0.163924 -v 0.545810 1.476082 -0.194938 -v 0.578518 1.489630 -0.178429 -v 0.646744 1.602452 -0.128904 -v 0.609246 1.562152 -0.152250 -v 0.611225 1.503178 -0.161921 -v 0.651526 1.460077 -0.152250 -v 0.706538 1.458097 -0.128904 -v 0.744037 1.498396 -0.105557 -v 0.742057 1.557369 -0.095887 -v 0.701756 1.600471 -0.105557 -v 0.689911 1.625462 -0.037240 -v 0.607393 1.628433 -0.072260 -v 0.622342 1.592343 -0.072260 -v 0.677353 1.590363 -0.048913 -v 0.551144 1.567983 -0.107280 -v 0.584842 1.552044 -0.095606 -v 0.554116 1.479522 -0.121785 -v 0.586823 1.493069 -0.105277 -v 0.614566 1.414869 -0.107280 -v 0.627123 1.449969 -0.095606 -v 0.697084 1.411898 -0.072260 -v 0.682136 1.447988 -0.072260 -v 0.753332 1.472350 -0.037240 -v 0.719635 1.488287 -0.048913 -v 0.750361 1.560810 -0.022734 -v 0.717654 1.547261 -0.039243 -v 0.265165 1.671415 -0.750000 -v 0.154680 1.625651 -0.750000 -v 0.251761 1.722732 -0.418544 -v 0.339365 1.745614 -0.496669 -v 0.108916 1.515165 -0.750000 -v 0.154680 1.404680 -0.750000 -v 0.284121 1.534121 -0.308058 -v 0.228879 1.635129 -0.340419 -v 0.265166 1.358915 -0.750000 -v 0.375651 1.404680 -0.750000 -v 0.472732 1.501761 -0.418544 -v 0.385129 1.478879 -0.340419 -v 0.421415 1.515165 -0.750000 -v 0.495615 1.589364 -0.496669 -v 0.375651 1.625651 -0.750000 -v 0.440371 1.690371 -0.529029 -v 0.580264 1.609293 -0.316931 -v 0.518007 1.611756 -0.214856 -v 0.427498 1.677498 -0.172575 -v 0.361757 1.768006 -0.214856 -v 0.359293 1.830264 -0.316931 -v 0.421551 1.827801 -0.419007 -v 0.512060 1.762060 -0.461288 -v 0.577801 1.671550 -0.419007 -v 0.518497 1.924746 -0.391735 -v 0.596621 1.846622 -0.437500 -v 0.674747 1.768496 -0.391735 -v 0.707107 1.736136 -0.281250 -v 0.674747 1.768496 -0.170765 -v 0.596621 1.846622 -0.125000 -v 0.518497 1.924746 -0.170765 -v 0.486136 1.957107 -0.281250 -v 0.831487 1.925236 -0.214856 -v 0.765745 2.015745 -0.172575 -v 0.675237 2.081486 -0.214856 -v 0.612979 2.083950 -0.316932 -v 0.615442 2.021692 -0.419007 -v 0.681184 1.931184 -0.461288 -v 0.771693 1.865442 -0.419007 -v 0.833950 1.862979 -0.316932 -v 0.763264 1.735279 -0.468769 -v 0.688267 1.654677 -0.515462 -v 0.692229 1.536730 -0.534803 -v 0.772828 1.450527 -0.515462 -v 0.882854 1.446566 -0.468769 -v 0.957852 1.527166 -0.422076 -v 0.953891 1.645114 -0.402735 -v 0.873290 1.731318 -0.422076 -v -0.139878 1.876411 -0.175597 -v -0.135918 1.986436 -0.128904 -v -0.172006 1.971487 -0.128904 -v -0.174978 1.888969 -0.163924 -v -0.216517 2.061434 -0.082211 -v -0.334466 2.057472 -0.062870 -v -0.320918 2.024765 -0.079378 -v -0.232457 2.027736 -0.093884 -v -0.420668 1.976872 -0.082211 -v -0.424630 1.866847 -0.128904 -v -0.388541 1.881796 -0.128904 -v -0.385570 1.964314 -0.093884 -v -0.344029 1.791849 -0.175597 -v -0.328090 1.825547 -0.163924 -v -0.226082 1.795810 -0.194938 -v -0.239630 1.828518 -0.178429 -v -0.352452 1.896744 -0.128904 -v -0.312151 1.859246 -0.152250 -v -0.253178 1.861225 -0.161921 -v -0.210077 1.901526 -0.152250 -v -0.208096 1.956538 -0.128904 -v -0.248396 1.994038 -0.105557 -v -0.307369 1.992057 -0.095887 -v -0.350471 1.951756 -0.105557 -v -0.375462 1.939911 -0.037240 -v -0.378433 1.857393 -0.072260 -v -0.342343 1.872342 -0.072260 -v -0.340363 1.927353 -0.048913 -v -0.317983 1.801144 -0.107280 -v -0.302044 1.834842 -0.095606 -v -0.229521 1.804116 -0.121785 -v -0.243069 1.836823 -0.105277 -v -0.164869 1.864566 -0.107280 -v -0.199968 1.877123 -0.095606 -v -0.161898 1.947084 -0.072260 -v -0.197988 1.932136 -0.072260 -v -0.222349 2.003333 -0.037240 -v -0.238287 1.969635 -0.048913 -v -0.310809 2.000361 -0.022734 -v -0.297261 1.967654 -0.039243 -v -0.421415 1.515165 -0.750000 -v -0.375651 1.404680 -0.750000 -v -0.472732 1.501761 -0.418544 -v -0.495614 1.589365 -0.496669 -v -0.265165 1.358916 -0.750000 -v -0.154680 1.404680 -0.750000 -v -0.284121 1.534121 -0.308058 -v -0.385129 1.478879 -0.340419 -v -0.108915 1.515166 -0.750000 -v -0.154680 1.625651 -0.750000 -v -0.251761 1.722732 -0.418544 -v -0.228879 1.635129 -0.340419 -v -0.265164 1.671415 -0.750000 -v -0.339364 1.745615 -0.496669 -v -0.375651 1.625651 -0.750000 -v -0.440371 1.690372 -0.529029 -v -0.359293 1.830264 -0.316931 -v -0.361756 1.768007 -0.214856 -v -0.427498 1.677498 -0.172575 -v -0.518006 1.611757 -0.214856 -v -0.580264 1.609293 -0.316931 -v -0.577800 1.671551 -0.419007 -v -0.512060 1.762060 -0.461288 -v -0.421550 1.827801 -0.419007 -v -0.674746 1.768497 -0.391735 -v -0.596621 1.846622 -0.437500 -v -0.518496 1.924747 -0.391735 -v -0.486136 1.957107 -0.281250 -v -0.518496 1.924747 -0.170765 -v -0.596621 1.846622 -0.125000 -v -0.674746 1.768497 -0.170765 -v -0.707107 1.736136 -0.281250 -v -0.675236 2.081487 -0.214856 -v -0.765745 2.015745 -0.172575 -v -0.831486 1.925237 -0.214856 -v -0.833950 1.862979 -0.316932 -v -0.771692 1.865443 -0.419007 -v -0.681184 1.931184 -0.461288 -v -0.615442 2.021693 -0.419007 -v -0.612979 2.083950 -0.316932 -v -0.485278 2.013265 -0.468769 -v -0.404677 1.938267 -0.515462 -v -0.286730 1.942229 -0.534803 -v -0.200527 2.022829 -0.515462 -v -0.196566 2.132854 -0.468769 -v -0.277167 2.207852 -0.422076 -v -0.395114 2.203891 -0.402735 -v -0.481318 2.123290 -0.422076 -v 0.139878 0.623589 -0.175597 -v 0.135918 0.513564 -0.128904 -v 0.172006 0.528513 -0.128904 -v 0.174978 0.611032 -0.163924 -v 0.216517 0.438566 -0.082211 -v 0.334466 0.442528 -0.062870 -v 0.320918 0.475236 -0.079378 -v 0.232457 0.472264 -0.093884 -v 0.420668 0.523129 -0.082211 -v 0.424630 0.633153 -0.128904 -v 0.388541 0.618205 -0.128904 -v 0.385570 0.535686 -0.093884 -v 0.344029 0.708152 -0.175597 -v 0.328090 0.674453 -0.163924 -v 0.226082 0.704190 -0.194938 -v 0.239630 0.671482 -0.178429 -v 0.352452 0.603256 -0.128904 -v 0.312151 0.640754 -0.152250 -v 0.253178 0.638775 -0.161921 -v 0.210077 0.598474 -0.152250 -v 0.208096 0.543462 -0.128904 -v 0.248396 0.505963 -0.105557 -v 0.307369 0.507944 -0.095887 -v 0.350471 0.548244 -0.105557 -v 0.375462 0.560089 -0.037240 -v 0.378433 0.642607 -0.072260 -v 0.342343 0.627659 -0.072260 -v 0.340363 0.572647 -0.048913 -v 0.317983 0.698857 -0.107280 -v 0.302044 0.665158 -0.095606 -v 0.229521 0.695884 -0.121785 -v 0.243069 0.663177 -0.105277 -v 0.164869 0.635435 -0.107280 -v 0.199969 0.622877 -0.095606 -v 0.161898 0.552916 -0.072260 -v 0.197988 0.567865 -0.072260 -v 0.222349 0.496668 -0.037240 -v 0.238287 0.530365 -0.048913 -v 0.310809 0.499639 -0.022734 -v 0.297261 0.532347 -0.039243 -v 0.421415 0.984835 -0.750000 -v 0.375651 1.095320 -0.750000 -v 0.472732 0.998239 -0.418544 -v 0.495614 0.910635 -0.496669 -v 0.265165 1.141084 -0.750000 -v 0.154680 1.095320 -0.750000 -v 0.284121 0.965879 -0.308058 -v 0.385129 1.021121 -0.340419 -v 0.108915 0.984834 -0.750000 -v 0.154680 0.874350 -0.750000 -v 0.251761 0.777268 -0.418544 -v 0.228879 0.864871 -0.340419 -v 0.265164 0.828585 -0.750000 -v 0.339364 0.754385 -0.496669 -v 0.375650 0.874350 -0.750000 -v 0.440371 0.809629 -0.529029 -v 0.359293 0.669736 -0.316931 -v 0.361756 0.731993 -0.214856 -v 0.427498 0.822502 -0.172575 -v 0.518006 0.888243 -0.214856 -v 0.580264 0.890707 -0.316931 -v 0.577800 0.828449 -0.419007 -v 0.512060 0.737940 -0.461288 -v 0.421550 0.672199 -0.419007 -v 0.674746 0.731503 -0.391735 -v 0.596621 0.653379 -0.437500 -v 0.518496 0.575253 -0.391735 -v 0.486136 0.542893 -0.281250 -v 0.518496 0.575253 -0.170765 -v 0.596621 0.653379 -0.125000 -v 0.674746 0.731503 -0.170765 -v 0.707107 0.763864 -0.281250 -v 0.675236 0.418513 -0.214856 -v 0.765745 0.484255 -0.172575 -v 0.831486 0.574763 -0.214856 -v 0.833950 0.637021 -0.316932 -v 0.771692 0.634558 -0.419007 -v 0.681184 0.568816 -0.461288 -v 0.615442 0.478308 -0.419007 -v 0.612979 0.416050 -0.316932 -v 0.485278 0.486736 -0.468769 -v 0.404677 0.561733 -0.515462 -v 0.286730 0.557772 -0.534803 -v 0.200527 0.477172 -0.515462 -v 0.196566 0.367146 -0.468769 -v 0.277166 0.292148 -0.422076 -v 0.395114 0.296109 -0.402735 -v 0.481317 0.376710 -0.422076 -v 0.391169 2.232164 0.136894 -v 0.014465 2.307096 0.136894 -v 0.014465 2.197720 -0.081856 -v 0.349313 2.131115 -0.081856 -v 0.025414 2.252758 -0.109375 -v 0.360261 2.186152 -0.109375 -v 0.025414 2.362132 0.109375 -v 0.402117 2.287201 0.109375 -v -0.982164 1.641169 0.136894 -v -1.057095 1.264466 0.136894 -v -0.947720 1.264466 -0.081856 -v -0.881115 1.599313 -0.081856 -v -1.002758 1.275414 -0.109375 -v -0.936152 1.610261 -0.109375 -v -1.112132 1.275414 0.109375 -v -1.037201 1.652117 0.109375 -v 0.982164 0.858831 0.136894 -v 1.057095 1.235535 0.136894 -v 0.947720 1.235535 -0.081856 -v 0.881115 0.900687 -0.081856 -v 1.002758 1.224586 -0.109375 -v 0.936152 0.889739 -0.109375 -v 1.112132 1.224586 0.109375 -v 1.037201 0.847883 0.109375 -v -0.971093 0.832103 0.136894 -v -0.757708 0.512749 0.136894 -v -0.680368 0.590089 -0.081856 -v -0.870044 0.873959 -0.081856 -v -0.727027 0.558913 -0.109375 -v -0.916702 0.842784 -0.109375 -v -0.804366 0.481574 0.109375 -v -1.017751 0.800928 0.109375 -v 0.971093 1.667897 0.136894 -v 0.757708 1.987251 0.136894 -v 0.680368 1.909911 -0.081856 -v 0.870044 1.626041 -0.081856 -v 0.727027 1.941087 -0.109375 -v 0.916703 1.657217 -0.109375 -v 0.804366 2.018426 0.109375 -v 1.017752 1.699073 0.109375 -v -0.417897 2.221093 0.136894 -v -0.737251 2.007708 0.136894 -v -0.659911 1.930368 -0.081856 -v -0.376041 2.120044 -0.081856 -v -0.691087 1.977027 -0.109375 -v -0.407216 2.166703 -0.109375 -v -0.768426 2.054366 0.109375 -v -0.449072 2.267752 0.109375 -v 0.417897 0.278907 0.136894 -v 0.737251 0.492292 0.136894 -v 0.659911 0.569632 -0.081856 -v 0.376041 0.379956 -0.081856 -v 0.691087 0.522973 -0.109375 -v 0.407216 0.333298 -0.109375 -v 0.768426 0.445634 0.109375 -v 0.449072 0.232249 0.109375 -v -0.737251 0.492293 0.136894 -v -0.417897 0.278907 0.136894 -v -0.376041 0.379957 -0.081856 -v -0.659911 0.569632 -0.081856 -v -0.407218 0.333298 -0.109375 -v -0.691088 0.522974 -0.109375 -v -0.449074 0.232249 0.109375 -v -0.768427 0.445635 0.109375 -v 0.737251 2.007708 0.136894 -v 0.417897 2.221093 0.136894 -v 0.376041 2.120044 -0.081856 -v 0.659911 1.930368 -0.081856 -v 0.407218 2.166703 -0.109375 -v 0.691088 1.977026 -0.109375 -v 0.449074 2.267751 0.109375 -v 0.768427 2.054366 0.109375 -v -0.757708 1.987251 0.136894 -v -0.971093 1.667897 0.136894 -v -0.870044 1.626041 -0.081856 -v -0.680368 1.909911 -0.081856 -v -0.916702 1.657218 -0.109375 -v -0.727026 1.941088 -0.109375 -v -1.017751 1.699074 0.109375 -v -0.804365 2.018427 0.109375 -v 0.757708 0.512749 0.136894 -v 0.971093 0.832103 0.136894 -v 0.870044 0.873959 -0.081856 -v 0.680368 0.590089 -0.081856 -v 0.916702 0.842782 -0.109375 -v 0.727026 0.558912 -0.109375 -v 1.017751 0.800926 0.109375 -v 0.804366 0.481573 0.109375 -v -1.057095 1.235535 0.136894 -v -0.982164 0.858832 0.136894 -v -0.881115 0.900688 -0.081856 -v -0.947720 1.235535 -0.081856 -v -0.936153 0.889740 -0.109375 -v -1.002758 1.224588 -0.109375 -v -1.037201 0.847885 0.109375 -v -1.112132 1.224588 0.109375 -v 1.057095 1.264465 0.136894 -v 0.982164 1.641169 0.136894 -v 0.881115 1.599313 -0.081856 -v 0.947720 1.264465 -0.081856 -v 0.936153 1.610260 -0.109375 -v 1.002758 1.275412 -0.109375 -v 1.037202 1.652116 0.109375 -v 1.112132 1.275412 0.109375 -v -0.014465 2.307096 0.136894 -v -0.391168 2.232164 0.136894 -v -0.349312 2.131115 -0.081856 -v -0.014465 2.197721 -0.081856 -v -0.360260 2.186153 -0.109375 -v -0.025412 2.252758 -0.109375 -v -0.402115 2.287201 0.109375 -v -0.025412 2.362133 0.109375 -v 0.014465 0.192905 0.136894 -v 0.391169 0.267836 0.136894 -v 0.349312 0.368885 -0.081856 -v 0.014465 0.302280 -0.081856 -v 0.360260 0.313847 -0.109375 -v 0.025412 0.247242 -0.109375 -v 0.402115 0.212799 0.109375 -v 0.025412 0.137868 0.109375 -v 0.375000 2.500000 -1.875000 -v 0.375000 2.500000 -0.875000 -v -0.375000 2.500000 -1.875000 -v -0.375000 2.500000 -0.875000 -v 0.375000 2.250000 -1.875000 -v 0.375000 2.250000 -0.875000 -v -0.375000 2.250000 -1.875000 -v -0.375000 2.250000 -0.875000 -v 0.000000 2.500000 -1.875000 -v -0.088388 2.463388 -1.875000 -v -0.125000 2.375000 -1.875000 -v 0.125000 2.375000 -1.875000 -v 0.088388 2.463388 -1.875000 -v 0.000000 2.500000 -1.125000 -v -0.088388 2.463388 -1.125000 -v -0.125000 2.375000 -1.125000 -v 0.125000 2.375000 -1.125000 -v 0.088388 2.463388 -1.125000 -v 0.000000 2.426777 -0.948223 -v -0.088388 2.400888 -0.974111 -v -0.125000 2.338388 -1.036612 -v 0.125000 2.338388 -1.036612 -v 0.088388 2.400888 -0.974111 -v 0.000000 2.250000 -0.875000 -v -0.088388 2.250000 -0.911611 -v -0.125000 2.250000 -1.000000 -v 0.125000 2.250000 -1.000000 -v 0.088388 2.250000 -0.911611 -v 0.250000 2.500000 -1.875000 -v 0.161612 2.463388 -1.875000 -v 0.125000 2.375000 -1.875000 -v 0.375000 2.375000 -1.875000 -v 0.338388 2.463388 -1.875000 -v 0.250000 2.500000 -1.125000 -v 0.161612 2.463388 -1.125000 -v 0.125000 2.375000 -1.125000 -v 0.375000 2.375000 -1.125000 -v 0.338388 2.463388 -1.125000 -v 0.250000 2.426777 -0.948223 -v 0.161612 2.400888 -0.974111 -v 0.125000 2.338388 -1.036612 -v 0.375000 2.338388 -1.036612 -v 0.338388 2.400888 -0.974111 -v 0.250000 2.250000 -0.875000 -v 0.161612 2.250000 -0.911611 -v 0.125000 2.250000 -1.000000 -v 0.375000 2.250000 -1.000000 -v 0.338388 2.250000 -0.911611 -v -0.250000 2.500000 -1.875000 -v -0.338388 2.463388 -1.875000 -v -0.375000 2.375000 -1.875000 -v -0.125000 2.375000 -1.875000 -v -0.161612 2.463388 -1.875000 -v -0.250000 2.500000 -1.125000 -v -0.338388 2.463388 -1.125000 -v -0.375000 2.375000 -1.125000 -v -0.125000 2.375000 -1.125000 -v -0.161612 2.463388 -1.125000 -v -0.250000 2.426777 -0.948223 -v -0.338388 2.400888 -0.974111 -v -0.375000 2.338388 -1.036612 -v -0.125000 2.338388 -1.036612 -v -0.161612 2.400888 -0.974111 -v -0.250000 2.250000 -0.875000 -v -0.338388 2.250000 -0.911611 -v -0.375000 2.250000 -1.000000 -v -0.125000 2.250000 -1.000000 -v -0.161612 2.250000 -0.911611 -vt 0.227586 -0.000000 -vt 0.255172 -0.000000 -vt 0.255172 0.125000 -vt 0.227586 0.125000 -vt 0.227586 0.625000 -vt 0.227586 0.500000 -vt 0.255172 0.500000 -vt 0.255172 0.625000 -vt 0.227586 0.750000 -vt 0.255172 0.750000 -vt 0.255172 0.875000 -vt 0.227586 0.875000 -vt 0.227586 0.375000 -vt 0.227586 0.250000 -vt 0.255172 0.250000 -vt 0.255172 0.375000 -vt 0.255172 1.000000 -vt 0.227586 1.000000 -vt 0.130816 0.408077 -vt 0.185647 0.407982 -vt 0.181809 0.433762 -vt 0.158206 0.423338 -vt 0.134644 0.434152 -vt 0.227246 0.501121 -vt 0.215680 0.509781 -vt 0.201106 0.462288 -vt 0.226770 0.624909 -vt 0.215543 0.616068 -vt 0.220300 0.563004 -vt 0.185661 0.717018 -vt 0.181941 0.690910 -vt 0.202736 0.659045 -vt 0.131028 0.716313 -vt 0.134829 0.690268 -vt 0.158386 0.701199 -vt 0.089995 0.623885 -vt 0.101155 0.615205 -vt 0.113984 0.658150 -vt 0.089997 0.501305 -vt 0.101178 0.509856 -vt 0.096611 0.562314 -vt 0.113890 0.466628 -vt 0.551724 0.750000 -vt 0.682759 0.750000 -vt 0.662069 0.796875 -vt 0.662069 0.875000 -vt 0.551724 0.875000 -vt 0.606897 0.125000 -vt 0.634483 0.218750 -vt 0.662069 0.218750 -vt 0.724138 0.218750 -vt 0.724138 0.250000 -vt 0.551724 0.250000 -vt 0.551724 0.125000 -vt 0.682759 0.375000 -vt 0.551724 0.375000 -vt 0.724138 0.359375 -vt 0.703448 0.375000 -vt 0.551724 -0.000000 -vt 0.606897 -0.000000 -vt 0.662069 0.906250 -vt 0.634483 0.906250 -vt 0.606897 1.000000 -vt 0.551724 1.000000 -vt 0.413793 0.187500 -vt 0.413793 0.062500 -vt 0.441379 -0.000000 -vt 0.441379 0.250000 -vt 0.703448 0.406250 -vt 0.682759 0.406250 -vt 0.724138 0.875000 -vt 0.717241 0.875000 -vt 0.717241 0.796875 -vt 0.724138 0.765625 -vt 0.703448 0.750000 -vt 0.724138 0.906250 -vt 0.717241 0.906250 -vt 0.282759 0.796875 -vt 0.324138 0.796875 -vt 0.324138 0.812500 -vt 0.282759 0.812500 -vt 0.282759 0.828125 -vt 0.324138 0.828125 -vt 0.324138 0.843750 -vt 0.282759 0.843750 -vt 0.282759 0.859375 -vt 0.324138 0.859375 -vt 0.324138 0.875000 -vt 0.282759 0.875000 -vt 0.275862 0.906250 -vt 0.282759 0.890625 -vt 0.324138 0.890625 -vt 0.331034 0.906250 -vt 0.275862 0.765625 -vt 0.331034 0.765625 -vt 0.324138 0.781250 -vt 0.282759 0.781250 -vt 0.324138 1.000000 -vt 0.282759 1.000000 -vt 0.282759 0.984375 -vt 0.324138 0.984375 -vt 0.275862 0.984375 -vt 0.275862 0.968750 -vt 0.282759 0.968750 -vt 0.282759 0.953125 -vt 0.324138 0.953125 -vt 0.324138 0.968750 -vt 0.282759 0.968750 -vt 0.275862 0.984375 -vt 0.275862 0.968750 -vt 0.282759 0.984375 -vt 0.282759 0.984375 -vt 0.282759 0.968750 -vt 0.324138 0.968750 -vt 0.324138 0.984375 -vt 0.324138 0.968750 -vt 0.324138 0.984375 -vt 0.282759 0.968750 -vt 0.324138 0.968750 -vt 0.324138 0.984375 -vt 0.282759 0.984375 -vt 0.275862 0.984375 -vt 0.275862 0.968750 -vt 0.282759 0.953125 -vt 0.324138 0.953125 -vt 0.331034 0.968750 -vt 0.331034 0.984375 -vt 0.324138 1.000000 -vt 0.282759 1.000000 -vt 0.331034 0.968750 -vt 0.331034 0.984375 -vt 0.282759 0.953125 -vt 0.324138 0.953125 -vt 0.331034 0.968750 -vt 0.331034 0.984375 -vt 0.324138 1.000000 -vt 0.282759 1.000000 -vt 0.331034 0.968750 -vt 0.331034 0.984375 -vt 0.282759 0.953125 -vt 0.324138 0.953125 -vt 0.275862 0.984375 -vt 0.275862 0.968750 -vt 0.324138 1.000000 -vt 0.282759 1.000000 -vt 0.737931 0.250000 -vt 0.737931 0.359375 -vt 0.737931 0.218750 -vt 0.737931 0.765625 -vt 0.737931 0.875000 -vt 0.737931 0.906250 -vt 0.724138 0.375000 -vt 0.724138 0.406250 -vt 0.703448 0.718750 -vt 0.724138 0.718750 -vt 0.724138 0.750000 -vt 0.682759 0.718750 -vt 0.662069 0.625000 -vt 0.662069 0.500000 -vt 0.675862 0.500000 -vt 0.675862 0.625000 -vt 0.696552 0.421875 -vt 0.696552 0.453125 -vt 0.696552 0.671875 -vt 0.696552 0.703125 -vt 0.151724 0.046875 -vt 0.158621 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.165517 0.046875 -vt 0.172414 0.046875 -vt 0.172414 0.062500 -vt 0.165517 0.062500 -vt 0.179310 0.046875 -vt 0.186207 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.193103 0.046875 -vt 0.193103 0.062500 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.200000 0.046875 -vt 0.200000 0.062500 -vt 0.172208 0.125000 -vt 0.170248 0.135718 -vt 0.165517 0.140158 -vt 0.160786 0.135718 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.170248 0.114281 -vt 0.179310 0.078125 -vt 0.186207 0.078125 -vt 0.186207 0.093750 -vt 0.179310 0.093750 -vt 0.193103 0.078125 -vt 0.193103 0.093750 -vt 0.200000 0.078125 -vt 0.200000 0.093750 -vt 0.144828 0.078125 -vt 0.151724 0.078125 -vt 0.151724 0.093750 -vt 0.144828 0.093750 -vt 0.158621 0.078125 -vt 0.158621 0.093750 -vt 0.165517 0.078125 -vt 0.165517 0.093750 -vt 0.172414 0.078125 -vt 0.172414 0.093750 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.296552 0.031250 -vt 0.310345 0.031250 -vt 0.303448 0.046875 -vt 0.296552 0.046875 -vt 0.259370 0.124136 -vt 0.255554 0.115489 -vt 0.255554 0.103261 -vt 0.259370 0.094614 -vt 0.264768 0.094614 -vt 0.268584 0.103261 -vt 0.268584 0.115489 -vt 0.264768 0.124136 -vt 0.282759 0.031250 -vt 0.289655 0.046875 -vt 0.282759 0.046875 -vt 0.268966 0.031250 -vt 0.275862 0.046875 -vt 0.268966 0.046875 -vt 0.255172 0.031250 -vt 0.262069 0.046875 -vt 0.255172 0.046875 -vt 0.351724 0.031250 -vt 0.365517 0.031250 -vt 0.358621 0.046875 -vt 0.351724 0.046875 -vt 0.337931 0.031250 -vt 0.344828 0.046875 -vt 0.337931 0.046875 -vt 0.324138 0.031250 -vt 0.331034 0.046875 -vt 0.324138 0.046875 -vt 0.317241 0.046875 -vt 0.310345 0.046875 -vt 0.296552 0.078125 -vt 0.296552 0.062500 -vt 0.303448 0.062500 -vt 0.303448 0.078125 -vt 0.282759 0.078125 -vt 0.282759 0.062500 -vt 0.289655 0.062500 -vt 0.289655 0.078125 -vt 0.268966 0.078125 -vt 0.268966 0.062500 -vt 0.275862 0.062500 -vt 0.275862 0.078125 -vt 0.255172 0.078125 -vt 0.255172 0.062500 -vt 0.262069 0.062500 -vt 0.262069 0.078125 -vt 0.351724 0.078125 -vt 0.351724 0.062500 -vt 0.358621 0.062500 -vt 0.358621 0.078125 -vt 0.337931 0.078125 -vt 0.337931 0.062500 -vt 0.344828 0.062500 -vt 0.344828 0.078125 -vt 0.324138 0.078125 -vt 0.324138 0.062500 -vt 0.331034 0.062500 -vt 0.331034 0.078125 -vt 0.310345 0.078125 -vt 0.310345 0.062500 -vt 0.317241 0.062500 -vt 0.317241 0.078125 -vt 0.106793 0.119651 -vt 0.097935 0.106242 -vt 0.092016 0.086173 -vt 0.089938 0.062500 -vt 0.092016 0.038827 -vt 0.097935 0.018758 -vt 0.106793 0.005349 -vt 0.117241 0.000640 -vt 0.127690 0.005349 -vt 0.136548 0.018758 -vt 0.142467 0.038827 -vt 0.144545 0.062500 -vt 0.142467 0.086173 -vt 0.136548 0.106242 -vt 0.127690 0.119651 -vt 0.117241 0.124360 -vt 0.297766 0.407469 -vt 0.301337 0.432859 -vt 0.282000 0.461238 -vt 0.267164 0.508207 -vt 0.255663 0.499249 -vt 0.351705 0.408442 -vt 0.347882 0.434234 -vt 0.324503 0.423194 -vt 0.392481 0.500826 -vt 0.381418 0.509360 -vt 0.368692 0.466561 -vt 0.392687 0.622102 -vt 0.381587 0.613816 -vt 0.386036 0.561123 -vt 0.351758 0.717531 -vt 0.347834 0.691162 -vt 0.368830 0.657546 -vt 0.296432 0.717486 -vt 0.300333 0.691179 -vt 0.324106 0.701882 -vt 0.255589 0.622775 -vt 0.266830 0.614350 -vt 0.279544 0.658120 -vt 0.262317 0.561201 -vt 0.455702 0.407223 -vt 0.510269 0.408300 -vt 0.506371 0.433702 -vt 0.482981 0.422939 -vt 0.459519 0.433393 -vt 0.414646 0.501350 -vt 0.438585 0.466370 -vt 0.426010 0.510034 -vt 0.414688 0.625413 -vt 0.421416 0.563439 -vt 0.426182 0.616753 -vt 0.455784 0.717773 -vt 0.440498 0.663712 -vt 0.459554 0.692474 -vt 0.509818 0.717777 -vt 0.482677 0.702808 -vt 0.505992 0.692526 -vt 0.550560 0.624932 -vt 0.524922 0.663497 -vt 0.539080 0.616333 -vt 0.550871 0.501314 -vt 0.543898 0.563031 -vt 0.539362 0.509732 -vt 0.525316 0.462681 -vt 0.864604 0.213006 -vt 0.848515 0.125000 -vt 0.864604 0.036995 -vt 0.903448 0.000542 -vt 0.942292 0.036994 -vt 0.958382 0.125000 -vt 0.942292 0.213005 -vt 0.903448 0.249458 -vt 0.351724 0.765625 -vt 0.351724 0.906250 -vt 0.275862 0.718750 -vt 0.331034 0.718750 -vt 0.255172 0.906250 -vt 0.255172 0.765625 -vt 0.331034 0.953125 -vt 0.275862 0.953125 -vt 0.942292 0.463005 -vt 0.903448 0.499458 -vt 0.864604 0.463005 -vt 0.848515 0.375000 -vt 0.864604 0.286994 -vt 0.903448 0.250541 -vt 0.942292 0.286994 -vt 0.958382 0.375000 -vt 0.848276 0.375000 -vt 0.737931 0.375000 -vt 0.737931 0.281250 -vt 0.848276 0.281250 -vt 0.848276 0.187500 -vt 0.737931 0.187500 -vt 0.737931 0.093750 -vt 0.848276 0.093750 -vt 0.848276 0.562500 -vt 0.737931 0.562500 -vt 0.737931 0.468750 -vt 0.848276 0.468750 -vt 0.737931 -0.000000 -vt 0.848276 -0.000000 -vt 0.848276 0.656250 -vt 0.737931 0.656250 -vt 0.262069 0.171875 -vt 0.262069 0.140625 -vt 0.268966 0.140625 -vt 0.268966 0.171875 -vt 0.303448 0.171875 -vt 0.296552 0.171875 -vt 0.296552 0.140625 -vt 0.303448 0.140625 -vt 0.268966 0.125000 -vt 0.296552 0.125000 -vt 0.268966 0.187500 -vt 0.296552 0.187500 -vt 0.268966 0.093750 -vt 0.296552 0.093750 -vt 0.303448 0.140625 -vt 0.303448 0.171875 -vt 0.296552 0.171875 -vt 0.296552 0.140625 -vt 0.262069 0.140625 -vt 0.268966 0.140625 -vt 0.268966 0.171875 -vt 0.262069 0.171875 -vt 0.296552 0.187500 -vt 0.268966 0.187500 -vt 0.296552 0.125000 -vt 0.268966 0.125000 -vt 0.296552 0.093750 -vt 0.268966 0.093750 -vt 0.262069 0.171875 -vt 0.262069 0.140625 -vt 0.268966 0.140625 -vt 0.268966 0.171875 -vt 0.303448 0.171875 -vt 0.296552 0.171875 -vt 0.296552 0.140625 -vt 0.303448 0.140625 -vt 0.268966 0.125000 -vt 0.296552 0.125000 -vt 0.268966 0.187500 -vt 0.296552 0.187500 -vt 0.268966 0.093750 -vt 0.296552 0.093750 -vt 0.303448 0.140625 -vt 0.303448 0.171875 -vt 0.296552 0.171875 -vt 0.296552 0.140625 -vt 0.262069 0.140625 -vt 0.268966 0.140625 -vt 0.268966 0.171875 -vt 0.262069 0.171875 -vt 0.296552 0.187500 -vt 0.268966 0.187500 -vt 0.296552 0.125000 -vt 0.268966 0.125000 -vt 0.296552 0.093750 -vt 0.268966 0.093750 -vt 0.317241 0.171875 -vt 0.317241 0.140625 -vt 0.324138 0.140625 -vt 0.324138 0.171875 -vt 0.344828 0.187500 -vt 0.344828 0.171875 -vt 0.358621 0.171875 -vt 0.358621 0.187500 -vt 0.324138 0.125000 -vt 0.351724 0.125000 -vt 0.351724 0.140625 -vt 0.324138 0.187500 -vt 0.324138 0.093750 -vt 0.344828 0.093750 -vt 0.696552 0.687500 -vt 0.696552 0.625000 -vt 0.703448 0.625000 -vt 0.703448 0.687500 -vt 0.696552 0.500000 -vt 0.696552 0.437500 -vt 0.703448 0.437500 -vt 0.703448 0.500000 -vt 0.731034 0.437500 -vt 0.731034 0.687500 -vt 0.413793 0.914062 -vt 0.413793 0.859375 -vt 0.420690 0.859375 -vt 0.420690 0.914062 -vt 0.475862 0.914062 -vt 0.475862 0.859375 -vt 0.482759 0.859375 -vt 0.482759 0.914062 -vt 0.465517 0.937500 -vt 0.431034 0.937500 -vt 0.465517 0.953125 -vt 0.431034 0.953125 -vt 0.479310 0.937500 -vt 0.479310 0.953125 -vt 0.417241 0.953125 -vt 0.417241 0.937500 -vt 0.468966 -0.000000 -vt 0.468966 0.250000 -vt 0.337931 0.343750 -vt 0.255172 0.343750 -vt 0.255172 0.312500 -vt 0.337931 0.312500 -vt 0.351724 0.313754 -vt 0.363190 0.328752 -vt 0.363190 0.358748 -vt 0.351724 0.373746 -vt 0.340258 0.358748 -vt 0.340258 0.328752 -vt 0.255172 0.281250 -vt 0.337931 0.281250 -vt 0.255172 0.250000 -vt 0.337931 0.250000 -vt 0.340258 0.266252 -vt 0.351724 0.251254 -vt 0.363190 0.266252 -vt 0.363190 0.296248 -vt 0.351724 0.311246 -vt 0.340258 0.296248 -vt 0.924138 0.625000 -vt 0.868966 0.625000 -vt 0.868966 0.500000 -vt 0.924138 0.500000 -vt 0.848276 0.625000 -vt 0.848276 0.500000 -vt 0.944828 0.500000 -vt 0.944828 0.625000 -vt 0.834483 0.718750 -vt 0.834483 0.906250 -vt 0.765517 0.906250 -vt 0.765517 0.718750 -vt 0.737931 0.906250 -vt 0.737931 0.718750 -vt 0.862069 0.718750 -vt 0.862069 0.906250 -vt 0.834483 0.968750 -vt 0.765517 0.968750 -vt 0.765517 0.656250 -vt 0.834483 0.656250 -vt 0.958621 0.875000 -vt 0.903448 0.875000 -vt 0.903448 0.718750 -vt 0.958621 0.718750 -vt 0.903448 0.625000 -vt 0.958621 0.625000 -vt 0.958621 0.968750 -vt 0.903448 0.968750 -vt 0.862069 0.875000 -vt 0.862069 0.718750 -vt 1.000000 0.718750 -vt 1.000000 0.875000 -vt 0.986207 0.187500 -vt 0.958621 0.187500 -vt 0.958621 0.156250 -vt 0.986207 0.156250 -vt 0.986207 0.062500 -vt 0.958621 0.062500 -vt 0.958621 0.031250 -vt 0.986207 0.031250 -vt 0.986207 0.125000 -vt 0.958621 0.125000 -vt 0.958621 0.093750 -vt 0.986207 0.093750 -vt 0.958621 0.000000 -vt 0.986207 0.000000 -vt 0.978890 0.244165 -vt 0.965937 0.244165 -vt 0.959461 0.218750 -vt 0.965937 0.193335 -vt 0.978890 0.193335 -vt 0.985367 0.218750 -vt 0.737931 0.093750 -vt 0.737931 0.109375 -vt 0.724138 0.109375 -vt 0.724138 0.093750 -vt 0.737931 0.000000 -vt 0.737931 0.015625 -vt 0.724138 0.015625 -vt 0.724138 0.000000 -vt 0.737931 0.125000 -vt 0.737931 0.140625 -vt 0.724138 0.140625 -vt 0.724138 0.125000 -vt 0.737931 0.062500 -vt 0.737931 0.078125 -vt 0.724138 0.078125 -vt 0.724138 0.062500 -vt 0.737931 0.031250 -vt 0.737931 0.046875 -vt 0.724138 0.046875 -vt 0.724138 0.031250 -vt 0.737931 0.156250 -vt 0.737931 0.171875 -vt 0.724138 0.171875 -vt 0.724138 0.156250 -vt 0.717241 0.031250 -vt 0.717241 0.000000 -vt 0.717241 0.156250 -vt 0.717241 0.125000 -vt 0.717241 0.093750 -vt 0.717241 0.062500 -vt 0.717241 0.187500 -vt 0.675862 0.062500 -vt 0.675862 0.031250 -vt 0.675862 0.187500 -vt 0.675862 0.156250 -vt 0.675862 0.125000 -vt 0.675862 0.093750 -vt 0.675862 0.000000 -vt 0.668966 0.140625 -vt 0.668966 0.125000 -vt 0.668966 0.109375 -vt 0.668966 0.093750 -vt 0.668966 0.078125 -vt 0.668966 0.062500 -vt 0.668966 0.046875 -vt 0.668966 0.031250 -vt 0.668966 0.015625 -vt 0.668966 0.000000 -vt 0.668966 0.171875 -vt 0.668966 0.156250 -vt 0.655172 0.171875 -vt 0.655172 0.156250 -vt 0.655172 0.109375 -vt 0.655172 0.093750 -vt 0.655172 0.015625 -vt 0.655172 0.000000 -vt 0.655172 0.140625 -vt 0.655172 0.125000 -vt 0.655172 0.078125 -vt 0.655172 0.062500 -vt 0.655172 0.046875 -vt 0.655172 0.031250 -vt 0.648276 0.156250 -vt 0.648276 0.125000 -vt 0.648276 0.093750 -vt 0.648276 0.062500 -vt 0.648276 0.031250 -vt 0.648276 0.000000 -vt 0.648276 0.187500 -vt 0.641379 0.125000 -vt 0.641379 0.093750 -vt 0.641379 0.031250 -vt 0.641379 -0.000000 -vt 0.641379 0.156250 -vt 0.641379 0.062500 -vt 0.641379 0.187500 -vt 0.634483 0.078125 -vt 0.634483 0.062500 -vt 0.634483 0.046875 -vt 0.634483 0.031250 -vt 0.634483 0.171875 -vt 0.634483 0.156250 -vt 0.634483 0.109375 -vt 0.634483 0.093750 -vt 0.634483 0.015625 -vt 0.634483 0.000000 -vt 0.634483 0.140625 -vt 0.634483 0.125000 -vt 0.630883 0.028561 -vt 0.624290 0.028561 -vt 0.620993 0.015625 -vt 0.624290 0.002689 -vt 0.630883 0.002689 -vt 0.634179 0.015625 -vt 0.510345 0.156250 -vt 0.489655 0.156250 -vt 0.489655 0.046875 -vt 0.510345 0.046875 -vt 0.434483 0.750000 -vt 0.434483 0.812500 -vt 0.413793 0.812500 -vt 0.413793 0.765625 -vt 0.420690 0.750000 -vt 0.489655 0.000000 -vt 0.510345 0.000000 -vt 0.468966 0.156250 -vt 0.468966 0.046875 -vt 0.531034 0.046875 -vt 0.531034 0.156250 -vt 0.496552 0.156250 -vt 0.496552 0.187500 -vt 0.468966 0.187500 -vt 0.468966 0.156250 -vt 0.496552 0.265625 -vt 0.496552 0.312500 -vt 0.468966 0.312500 -vt 0.468966 0.265625 -vt 0.496552 0.234375 -vt 0.468966 0.234375 -vt 0.455172 0.750000 -vt 0.455172 0.812500 -vt 0.496552 0.750000 -vt 0.496552 0.765625 -vt 0.475862 0.765625 -vt 0.475862 0.750000 -vt 0.468966 0.750000 -vt 0.475862 0.812500 -vt 0.455172 0.859375 -vt 0.434483 0.859375 -vt 0.496552 0.812500 -vt 0.434483 0.718750 -vt 0.455172 0.718750 -vt 0.537931 0.812500 -vt 0.537931 0.828125 -vt 0.524138 0.828125 -vt 0.524138 0.812500 -vt 0.503448 0.718750 -vt 0.517241 0.718750 -vt 0.517241 0.812500 -vt 0.503448 0.812500 -vt 0.524138 0.718750 -vt 0.537931 0.718750 -vt 0.496552 0.718750 -vt 0.496552 0.812500 -vt 0.986207 0.609375 -vt 0.979310 0.609375 -vt 0.979310 0.593750 -vt 0.986207 0.593750 -vt 0.979310 0.531250 -vt 0.979310 0.515625 -vt 0.986207 0.515625 -vt 0.986207 0.531250 -vt 0.972414 0.593750 -vt 0.972414 0.562500 -vt 0.979310 0.578125 -vt 0.551724 0.625000 -vt 0.565517 0.609375 -vt 0.620690 0.609375 -vt 0.620690 0.734375 -vt 0.606897 0.734375 -vt 0.620690 0.640625 -vt 0.634483 0.640625 -vt 0.565517 0.640625 -vt 0.565517 0.734375 -vt 0.662069 0.734375 -vt 0.648276 0.640625 -vt 0.565517 0.390625 -vt 0.565517 0.484375 -vt 0.551724 0.500000 -vt 0.662069 0.375000 -vt 0.606897 0.390625 -vt 0.620690 0.484375 -vt 0.117241 0.906250 -vt 0.075862 0.906250 -vt 0.075862 0.875000 -vt 0.117241 0.875000 -vt 0.117241 0.125000 -vt 0.158621 0.125000 -vt 0.158621 0.156250 -vt 0.117241 0.156250 -vt 0.117241 0.906250 -vt 0.117241 0.875000 -vt 0.158621 0.875000 -vt 0.158621 0.906250 -vt 0.131034 0.250000 -vt 0.144828 0.250000 -vt 0.227586 0.875000 -vt 0.213793 0.875000 -vt 0.213793 0.781250 -vt 0.227586 0.781250 -vt 0.020690 0.781250 -vt 0.062069 0.781250 -vt 0.020690 0.875000 -vt 0.186207 0.281250 -vt 0.144828 0.281250 -vt 0.186207 0.250000 -vt 0.213793 0.750000 -vt 0.172414 0.781250 -vt 0.172414 0.750000 -vt 0.131034 0.281250 -vt 0.089655 0.281250 -vt 0.089655 0.250000 -vt 0.020690 0.906250 -vt 0.020690 0.750000 -vt 0.062069 0.750000 -vt 0.544828 0.203125 -vt 0.551724 0.203125 -vt 0.551724 0.250000 -vt 0.544828 0.250000 -vt 0.524138 0.203125 -vt 0.531034 0.203125 -vt 0.531034 0.250000 -vt 0.524138 0.250000 -vt 0.503448 0.203125 -vt 0.510345 0.203125 -vt 0.510345 0.250000 -vt 0.503448 0.250000 -vt 0.537931 0.203125 -vt 0.537931 0.250000 -vt 0.510345 0.296875 -vt 0.503448 0.296875 -vt 0.531034 0.296875 -vt 0.524138 0.296875 -vt 0.531034 0.203125 -vt 0.531034 0.187500 -vt 0.537931 0.187500 -vt 0.544828 0.187500 -vt 0.551724 0.187500 -vt 0.551724 0.203125 -vt 0.503448 0.203125 -vt 0.503448 0.187500 -vt 0.510345 0.187500 -vt 0.517241 0.187500 -vt 0.517241 0.203125 -vt 0.524138 0.187500 -vt 0.524138 0.203125 -vt 0.537931 0.156250 -vt 0.544828 0.156250 -vt 0.524138 0.156250 -vt 0.531034 0.156250 -vt 0.524138 0.187500 -vt 0.503448 0.156250 -vt 0.510345 0.156250 -vt 0.517241 0.156250 -vt 0.524138 0.156250 -vt 0.551724 0.156250 -vt 0.496552 0.156250 -vt 0.496552 0.187500 -vt 0.496552 0.203125 -vt 0.496552 0.250000 -vt 0.986207 0.515625 -vt 0.979310 0.515625 -vt 0.979310 0.484375 -vt 0.986207 0.484375 -vt 0.213793 0.906250 -vt 0.006897 0.875000 -vt 0.006897 0.781250 -vt 0.517241 0.250000 -vt 0.517241 0.296875 -vt 0.524138 0.250000 -vt 0.524138 0.296875 -vt 0.551724 0.296875 -vt 0.544828 0.296875 -vt 0.496552 0.296875 -vt 0.537931 0.296875 -vt 0.524138 0.203125 -vt 0.213793 0.265625 -vt 0.213793 0.109375 -vt 0.220690 0.109375 -vt 0.220690 0.265625 -vt 0.972414 0.515625 -vt 0.972414 0.484375 -vt 0.227586 0.109375 -vt 0.227586 0.265625 -vt 0.965517 0.515625 -vt 0.965517 0.484375 -vt 0.186207 0.265625 -vt 0.186207 0.109375 -vt 0.193103 0.109375 -vt 0.193103 0.265625 -vt 0.958621 0.515625 -vt 0.958621 0.484375 -vt 0.200000 0.109375 -vt 0.200000 0.265625 -vt 0.187370 0.273751 -vt 0.193103 0.266252 -vt 0.198836 0.273751 -vt 0.198836 0.288749 -vt 0.193103 0.296248 -vt 0.187370 0.288749 -vt 0.206897 0.109375 -vt 0.206897 0.265625 -vt 0.206897 0.266252 -vt 0.212630 0.273751 -vt 0.212630 0.288749 -vt 0.206897 0.296248 -vt 0.201164 0.288749 -vt 0.201164 0.273751 -vt 0.965517 0.468750 -vt 0.972414 0.468750 -vt 0.979310 0.484375 -vt 0.979310 0.468750 -vt 0.958621 0.468750 -vt 0.958621 0.484375 -vt 0.958621 0.453125 -vt 0.965517 0.453125 -vt 0.965517 0.437500 -vt 0.958621 0.437500 -vt 0.958621 0.421875 -vt 0.965517 0.421875 -vt 0.972414 0.453125 -vt 0.979310 0.453125 -vt 0.986207 0.468750 -vt 0.986207 0.453125 -vt 0.972414 0.437500 -vt 0.965517 0.453125 -vt 0.986207 0.453125 -vt 0.979310 0.437500 -vt 0.986207 0.437500 -vt 0.979310 0.421875 -vt 0.972414 0.421875 -vt 0.972414 0.343750 -vt 0.979310 0.343750 -vt 0.986207 0.421875 -vt 0.965517 0.328125 -vt 0.972414 0.328125 -vt 0.965517 0.343750 -vt 0.986207 0.343750 -vt 0.958621 0.343750 -vt 0.965517 0.343750 -vt 0.979310 0.328125 -vt 0.986207 0.328125 -vt 0.979310 0.296875 -vt 0.986207 0.296875 -vt 0.986207 0.343750 -vt 0.965517 0.281250 -vt 0.958621 0.281250 -vt 0.958621 0.250000 -vt 0.965517 0.250000 -vt 0.958621 0.328125 -vt 0.958621 0.296875 -vt 0.965517 0.296875 -vt 0.972414 0.296875 -vt 0.979310 0.296875 -vt 0.972414 0.281250 -vt 0.979310 0.281250 -vt 0.958621 0.296875 -vt 0.986207 0.281250 -vt 0.979310 0.250000 -vt 0.986207 0.250000 -vt 0.972414 0.250000 -vt 0.510345 0.156250 -vt 0.489655 0.156250 -vt 0.489655 0.046875 -vt 0.510345 0.046875 -vt 0.151724 0.046875 -vt 0.158621 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.165517 0.046875 -vt 0.172414 0.046875 -vt 0.172414 0.062500 -vt 0.165517 0.062500 -vt 0.179310 0.046875 -vt 0.186207 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.193103 0.046875 -vt 0.193103 0.062500 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.200000 0.046875 -vt 0.200000 0.062500 -vt 0.172208 0.125000 -vt 0.170248 0.135718 -vt 0.165517 0.140158 -vt 0.160786 0.135718 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.170248 0.114281 -vt 0.179310 0.078125 -vt 0.186207 0.078125 -vt 0.186207 0.093750 -vt 0.179310 0.093750 -vt 0.193103 0.078125 -vt 0.193103 0.093750 -vt 0.200000 0.078125 -vt 0.200000 0.093750 -vt 0.144828 0.078125 -vt 0.151724 0.078125 -vt 0.151724 0.093750 -vt 0.144828 0.093750 -vt 0.158621 0.078125 -vt 0.158621 0.093750 -vt 0.165517 0.078125 -vt 0.165517 0.093750 -vt 0.172414 0.078125 -vt 0.172414 0.093750 -vt 0.151724 0.046875 -vt 0.158621 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.165517 0.046875 -vt 0.172414 0.046875 -vt 0.172414 0.062500 -vt 0.165517 0.062500 -vt 0.179310 0.046875 -vt 0.186207 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.193103 0.046875 -vt 0.193103 0.062500 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.200000 0.046875 -vt 0.200000 0.062500 -vt 0.172208 0.125000 -vt 0.170248 0.135718 -vt 0.165517 0.140158 -vt 0.160786 0.135718 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.170248 0.114281 -vt 0.179310 0.078125 -vt 0.186207 0.078125 -vt 0.186207 0.093750 -vt 0.179310 0.093750 -vt 0.193103 0.078125 -vt 0.193103 0.093750 -vt 0.200000 0.078125 -vt 0.200000 0.093750 -vt 0.144828 0.078125 -vt 0.151724 0.078125 -vt 0.151724 0.093750 -vt 0.144828 0.093750 -vt 0.158621 0.078125 -vt 0.158621 0.093750 -vt 0.165517 0.078125 -vt 0.165517 0.093750 -vt 0.172414 0.078125 -vt 0.172414 0.093750 -vt 0.151724 0.046875 -vt 0.158621 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.165517 0.046875 -vt 0.172414 0.046875 -vt 0.172414 0.062500 -vt 0.165517 0.062500 -vt 0.179310 0.046875 -vt 0.186207 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.193103 0.046875 -vt 0.193103 0.062500 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.200000 0.046875 -vt 0.200000 0.062500 -vt 0.172208 0.125000 -vt 0.170248 0.135718 -vt 0.165517 0.140158 -vt 0.160786 0.135718 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.170248 0.114281 -vt 0.179310 0.078125 -vt 0.186207 0.078125 -vt 0.186207 0.093750 -vt 0.179310 0.093750 -vt 0.193103 0.078125 -vt 0.193103 0.093750 -vt 0.200000 0.078125 -vt 0.200000 0.093750 -vt 0.144828 0.078125 -vt 0.151724 0.078125 -vt 0.151724 0.093750 -vt 0.144828 0.093750 -vt 0.158621 0.078125 -vt 0.158621 0.093750 -vt 0.165517 0.078125 -vt 0.165517 0.093750 -vt 0.172414 0.078125 -vt 0.172414 0.093750 -vt 0.151724 0.046875 -vt 0.158621 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.165517 0.046875 -vt 0.172414 0.046875 -vt 0.172414 0.062500 -vt 0.165517 0.062500 -vt 0.179310 0.046875 -vt 0.186207 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.193103 0.046875 -vt 0.193103 0.062500 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.200000 0.046875 -vt 0.200000 0.062500 -vt 0.172208 0.125000 -vt 0.170248 0.135718 -vt 0.165517 0.140158 -vt 0.160786 0.135718 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.170248 0.114281 -vt 0.179310 0.078125 -vt 0.186207 0.078125 -vt 0.186207 0.093750 -vt 0.179310 0.093750 -vt 0.193103 0.078125 -vt 0.193103 0.093750 -vt 0.200000 0.078125 -vt 0.200000 0.093750 -vt 0.144828 0.078125 -vt 0.151724 0.078125 -vt 0.151724 0.093750 -vt 0.144828 0.093750 -vt 0.158621 0.078125 -vt 0.158621 0.093750 -vt 0.165517 0.078125 -vt 0.165517 0.093750 -vt 0.172414 0.078125 -vt 0.172414 0.093750 -vt 0.151724 0.046875 -vt 0.158621 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.165517 0.046875 -vt 0.172414 0.046875 -vt 0.172414 0.062500 -vt 0.165517 0.062500 -vt 0.179310 0.046875 -vt 0.186207 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.193103 0.046875 -vt 0.193103 0.062500 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.200000 0.046875 -vt 0.200000 0.062500 -vt 0.172208 0.125000 -vt 0.170248 0.135718 -vt 0.165517 0.140158 -vt 0.160786 0.135718 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.170248 0.114281 -vt 0.179310 0.078125 -vt 0.186207 0.078125 -vt 0.186207 0.093750 -vt 0.179310 0.093750 -vt 0.193103 0.078125 -vt 0.193103 0.093750 -vt 0.200000 0.078125 -vt 0.200000 0.093750 -vt 0.144828 0.078125 -vt 0.151724 0.078125 -vt 0.151724 0.093750 -vt 0.144828 0.093750 -vt 0.158621 0.078125 -vt 0.158621 0.093750 -vt 0.165517 0.078125 -vt 0.165517 0.093750 -vt 0.172414 0.078125 -vt 0.172414 0.093750 -vt 0.151724 0.046875 -vt 0.158621 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.165517 0.046875 -vt 0.172414 0.046875 -vt 0.172414 0.062500 -vt 0.165517 0.062500 -vt 0.179310 0.046875 -vt 0.186207 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.193103 0.046875 -vt 0.193103 0.062500 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.200000 0.046875 -vt 0.200000 0.062500 -vt 0.172208 0.125000 -vt 0.170248 0.135718 -vt 0.165517 0.140158 -vt 0.160786 0.135718 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.170248 0.114281 -vt 0.179310 0.078125 -vt 0.186207 0.078125 -vt 0.186207 0.093750 -vt 0.179310 0.093750 -vt 0.193103 0.078125 -vt 0.193103 0.093750 -vt 0.200000 0.078125 -vt 0.200000 0.093750 -vt 0.144828 0.078125 -vt 0.151724 0.078125 -vt 0.151724 0.093750 -vt 0.144828 0.093750 -vt 0.158621 0.078125 -vt 0.158621 0.093750 -vt 0.165517 0.078125 -vt 0.165517 0.093750 -vt 0.172414 0.078125 -vt 0.172414 0.093750 -vt 0.151724 0.046875 -vt 0.158621 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.165517 0.046875 -vt 0.172414 0.046875 -vt 0.172414 0.062500 -vt 0.165517 0.062500 -vt 0.179310 0.046875 -vt 0.186207 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.193103 0.046875 -vt 0.193103 0.062500 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.200000 0.046875 -vt 0.200000 0.062500 -vt 0.172208 0.125000 -vt 0.170248 0.135718 -vt 0.165517 0.140158 -vt 0.160786 0.135718 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.170248 0.114281 -vt 0.179310 0.078125 -vt 0.186207 0.078125 -vt 0.186207 0.093750 -vt 0.179310 0.093750 -vt 0.193103 0.078125 -vt 0.193103 0.093750 -vt 0.200000 0.078125 -vt 0.200000 0.093750 -vt 0.144828 0.078125 -vt 0.151724 0.078125 -vt 0.151724 0.093750 -vt 0.144828 0.093750 -vt 0.158621 0.078125 -vt 0.158621 0.093750 -vt 0.165517 0.078125 -vt 0.165517 0.093750 -vt 0.172414 0.078125 -vt 0.172414 0.093750 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.096552 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.096552 0.343750 -vt 0.124138 0.296875 -vt 0.124138 0.328125 -vt 0.096552 0.281250 -vt 0.117241 0.281250 -vt 0.089655 0.328125 -vt 0.089655 0.296875 -vt 0.455172 0.531250 -vt 0.510345 0.531250 -vt 0.510345 0.562500 -vt 0.455172 0.562500 -vt 0.620690 0.515625 -vt 0.565517 0.515625 -vt 0.565517 0.515625 -vt 0.620690 0.515625 -vt 0.620690 0.609375 -vt 0.565517 0.609375 -vt 0.441379 0.609375 -vt 0.441379 0.515625 -vt 0.455172 0.515625 -vt 0.455172 0.609375 -vt 0.524138 0.515625 -vt 0.524138 0.609375 -vt 0.510345 0.609375 -vt 0.510345 0.515625 -vt 0.510345 0.593750 -vt 0.455172 0.593750 -vt 0.455172 0.562500 -vt 0.510345 0.562500 -vt 0.089655 0.375000 -vt 0.089655 0.421875 -vt 0.075862 0.421875 -vt 0.075862 0.375000 -vt 0.089655 0.328125 -vt 0.075862 0.328125 -vt 0.089655 0.281250 -vt 0.075862 0.281250 -vt 0.089655 0.234375 -vt 0.075862 0.234375 -vt 0.089655 0.187500 -vt 0.075862 0.187500 -vt 0.089655 0.140625 -vt 0.075862 0.140625 -vt 0.089655 0.093750 -vt 0.075862 0.093750 -vt 0.089655 0.046875 -vt 0.075862 0.046875 -vt 0.089655 -0.000000 -vt 0.075862 0.000000 -vt 0.089655 0.703125 -vt 0.089655 0.750000 -vt 0.075862 0.750000 -vt 0.075862 0.703125 -vt 0.089655 0.656250 -vt 0.075862 0.656250 -vt 0.089655 0.609375 -vt 0.075862 0.609375 -vt 0.089655 0.562500 -vt 0.075862 0.562500 -vt 0.089655 0.515625 -vt 0.075862 0.515625 -vt 0.089655 0.468750 -vt 0.075862 0.468750 -vt 0.055172 0.421875 -vt 0.055172 0.375000 -vt 0.055172 0.328125 -vt 0.055172 0.046875 -vt 0.055172 -0.000000 -vt 0.055172 0.468750 -vt 0.055172 0.093750 -vt 0.055172 0.515625 -vt 0.055172 0.140625 -vt 0.055172 0.562500 -vt 0.055172 0.187500 -vt 0.055172 0.609375 -vt 0.055172 0.234375 -vt 0.055172 0.656250 -vt 0.055172 0.281250 -vt 0.055172 0.703125 -vt 0.055172 0.750000 -vt 0.124138 0.390625 -vt 0.124138 0.375000 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.359375 -vt 0.124138 0.343750 -vt 0.144828 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.328125 -vt 0.124138 0.312500 -vt 0.144828 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.296875 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.281250 -vt 0.144828 0.281250 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.343750 -vt 0.158621 0.359375 -vt 0.158621 0.375000 -vt 0.158621 0.390625 -vt 0.158621 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.406250 -vt 0.172414 0.390625 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.343750 -vt 0.172414 0.359375 -vt 0.172414 0.375000 -vt 0.172414 0.281250 -vt 0.186207 0.328125 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.296875 -vt 0.186207 0.312500 -vt 0.186207 0.281250 -vt 0.186207 -0.000000 -vt 0.193103 -0.000000 -vt 0.144828 -0.000000 -vt 0.151724 -0.000000 -vt 0.158621 -0.000000 -vt 0.165517 -0.000000 -vt 0.172414 -0.000000 -vt 0.179310 -0.000000 -vt 0.200000 -0.000000 -vt 0.193103 0.109375 -vt 0.186207 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.144828 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.172414 0.109375 -vt 0.165517 0.109375 -vt 0.000000 0.125000 -vt 0.000000 0.093750 -vt -0.000000 0.546875 -vt 0.000000 0.515625 -vt -0.000000 0.171875 -vt -0.000000 0.140625 -vt -0.000000 0.593750 -vt -0.000000 0.562500 -vt 0.000000 0.218750 -vt 0.000000 0.187500 -vt 0.000000 0.640625 -vt 0.000000 0.609375 -vt -0.000000 0.265625 -vt -0.000000 0.234375 -vt 0.000000 0.687500 -vt 0.000000 0.656250 -vt -0.000000 0.312500 -vt -0.000000 0.281250 -vt -0.000000 0.734375 -vt 0.000000 0.703125 -vt -0.000000 0.406250 -vt -0.000000 0.375000 -vt 0.000000 0.359375 -vt 0.000000 0.328125 -vt 0.000000 0.031250 -vt -0.000000 0.000000 -vt -0.000000 0.453125 -vt 0.000000 0.421875 -vt -0.000000 0.078125 -vt -0.000000 0.046875 -vt -0.000000 0.500000 -vt 0.000000 0.468750 -vt 0.296552 0.000000 -vt 0.310345 0.000000 -vt 0.268966 0.000000 -vt 0.282759 0.000000 -vt 0.351724 0.000000 -vt 0.365517 0.000000 -vt 0.324138 0.000000 -vt 0.337931 0.000000 -vt 0.255172 0.000000 -vt 0.317241 0.093750 -vt 0.310345 0.093750 -vt 0.303448 0.093750 -vt 0.296552 0.093750 -vt 0.289655 0.093750 -vt 0.282759 0.093750 -vt 0.275862 0.093750 -vt 0.268966 0.093750 -vt 0.331034 0.093750 -vt 0.324138 0.093750 -vt 0.344828 0.093750 -vt 0.337931 0.093750 -vt 0.358621 0.093750 -vt 0.351724 0.093750 -vt 0.262069 0.093750 -vt 0.255172 0.093750 -vt 0.393103 1.000000 -vt 0.393103 0.937500 -vt 0.413793 0.937500 -vt 0.413793 1.000000 -vt 0.393103 0.562500 -vt 0.393103 0.500000 -vt 0.413793 0.500000 -vt 0.413793 0.562500 -vt 0.393103 0.437500 -vt 0.413793 0.437500 -vt 0.393103 0.062500 -vt 0.393103 -0.000000 -vt 0.413793 -0.000000 -vt 0.413793 0.062500 -vt 0.393103 0.625000 -vt 0.413793 0.625000 -vt 0.393103 0.125000 -vt 0.413793 0.125000 -vt 0.393103 0.687500 -vt 0.413793 0.687500 -vt 0.393103 0.187500 -vt 0.413793 0.187500 -vt 0.393103 0.750000 -vt 0.413793 0.750000 -vt 0.393103 0.250000 -vt 0.413793 0.250000 -vt 0.393103 0.812500 -vt 0.413793 0.812500 -vt 0.393103 0.312500 -vt 0.413793 0.312500 -vt 0.393103 0.875000 -vt 0.413793 0.875000 -vt 0.393103 0.375000 -vt 0.413793 0.375000 -vt 0.958621 0.609375 -vt 0.958621 0.593750 -vt 0.965517 0.593750 -vt 0.965517 0.609375 -vt 0.958621 0.562500 -vt 0.958621 0.546875 -vt 0.965517 0.546875 -vt 0.965517 0.562500 -vt 0.986207 0.578125 -vt 0.958621 0.625000 -vt 0.965517 0.625000 -vt 0.958621 0.578125 -vt 0.965517 0.578125 -vt 0.979310 0.562500 -vt 0.986207 0.562500 -vt 0.958621 0.531250 -vt 0.958621 0.515625 -vt 0.965517 0.515625 -vt 0.965517 0.531250 -vt 0.958621 0.640625 -vt 0.965517 0.640625 -vt 0.979310 0.546875 -vt 0.986207 0.546875 -vt 0.965517 0.609375 -vt 0.965517 0.593750 -vt 0.972414 0.593750 -vt 0.972414 0.609375 -vt 0.965517 0.656250 -vt 0.965517 0.640625 -vt 0.972414 0.640625 -vt 0.972414 0.656250 -vt 0.965517 0.546875 -vt 0.965517 0.531250 -vt 0.972414 0.531250 -vt 0.972414 0.546875 -vt 0.965517 0.703125 -vt 0.965517 0.687500 -vt 0.972414 0.687500 -vt 0.972414 0.703125 -vt 0.965517 0.578125 -vt 0.972414 0.578125 -vt 0.965517 0.625000 -vt 0.972414 0.625000 -vt 0.965517 0.515625 -vt 0.972414 0.515625 -vt 0.965517 0.671875 -vt 0.972414 0.671875 -vt 0.965517 0.562500 -vt 0.972414 0.562500 -vt 0.296552 0.234375 -vt 0.296552 0.218750 -vt 0.310345 0.218750 -vt 0.310345 0.234375 -vt 0.296552 0.203125 -vt 0.296552 0.187500 -vt 0.310345 0.187500 -vt 0.310345 0.203125 -vt 0.296552 0.234375 -vt 0.310345 0.234375 -vt 0.310345 0.250000 -vt 0.296552 0.250000 -vt 0.296552 0.203125 -vt 0.310345 0.203125 -vt 0.310345 0.218750 -vt 0.296552 0.218750 -vt 0.296552 0.187500 -vt 0.310345 0.187500 -vt 0.324138 0.218750 -vt 0.324138 0.234375 -vt 0.324138 0.187500 -vt 0.324138 0.203125 -vt 0.324138 0.250000 -vt 0.296552 0.234375 -vt 0.310345 0.234375 -vt 0.310345 0.250000 -vt 0.296552 0.250000 -vt 0.296552 0.203125 -vt 0.310345 0.203125 -vt 0.310345 0.218750 -vt 0.296552 0.218750 -vt 0.296552 0.187500 -vt 0.310345 0.187500 -vt 0.324138 0.218750 -vt 0.324138 0.234375 -vt 0.324138 0.187500 -vt 0.324138 0.203125 -vt 0.324138 0.250000 -vt 0.296552 0.234375 -vt 0.310345 0.234375 -vt 0.310345 0.250000 -vt 0.296552 0.250000 -vt 0.296552 0.203125 -vt 0.310345 0.203125 -vt 0.310345 0.218750 -vt 0.296552 0.218750 -vt 0.296552 0.187500 -vt 0.310345 0.187500 -vt 0.324138 0.218750 -vt 0.324138 0.234375 -vt 0.324138 0.187500 -vt 0.324138 0.203125 -vt 0.324138 0.250000 -vt 0.255172 0.250000 -vt 0.255172 0.234375 -vt 0.255172 0.250000 -vt 0.255172 0.234375 -vt 0.255172 0.218750 -vt 0.255172 0.203125 -vt 0.255172 0.250000 -vt 0.255172 0.234375 -vt 0.255172 0.218750 -vt 0.255172 0.187500 -vt 0.255172 0.203125 -vt 0.255172 0.218750 -vt 0.255172 0.203125 -vt 0.255172 0.187500 -vt 0.255172 0.187500 -vt 0.296552 0.250000 -vt 0.310345 0.250000 -vt 0.324138 0.203125 -vt 0.324138 0.218750 -vt 0.324138 0.234375 -vt 0.324138 0.250000 -vt 0.324138 0.187500 -vt 0.296552 0.203125 -vt 0.296552 0.187500 -vt 0.310345 0.187500 -vt 0.310345 0.203125 -vt 0.296552 0.234375 -vt 0.296552 0.218750 -vt 0.310345 0.218750 -vt 0.310345 0.234375 -vt 0.296552 0.250000 -vt 0.310345 0.250000 -vt 0.324138 0.203125 -vt 0.324138 0.218750 -vt 0.324138 0.234375 -vt 0.324138 0.250000 -vt 0.324138 0.187500 -vt 0.296552 0.203125 -vt 0.296552 0.187500 -vt 0.310345 0.187500 -vt 0.310345 0.203125 -vt 0.296552 0.234375 -vt 0.296552 0.218750 -vt 0.310345 0.218750 -vt 0.310345 0.234375 -vt 0.296552 0.250000 -vt 0.310345 0.250000 -vt 0.324138 0.203125 -vt 0.324138 0.218750 -vt 0.324138 0.234375 -vt 0.324138 0.250000 -vt 0.324138 0.187500 -vt 0.255172 0.203125 -vt 0.255172 0.187500 -vt 0.255172 0.203125 -vt 0.255172 0.187500 -vt 0.255172 0.218750 -vt 0.255172 0.234375 -vt 0.255172 0.203125 -vt 0.255172 0.187500 -vt 0.255172 0.218750 -vt 0.255172 0.250000 -vt 0.255172 0.234375 -vt 0.255172 0.218750 -vt 0.255172 0.234375 -vt 0.255172 0.250000 -vt 0.255172 0.250000 -vt 0.124138 0.390625 -vt 0.124138 0.375000 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.359375 -vt 0.124138 0.343750 -vt 0.144828 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.328125 -vt 0.124138 0.312500 -vt 0.144828 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.296875 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.281250 -vt 0.144828 0.281250 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.343750 -vt 0.158621 0.359375 -vt 0.158621 0.375000 -vt 0.158621 0.390625 -vt 0.158621 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.406250 -vt 0.172414 0.390625 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.343750 -vt 0.172414 0.359375 -vt 0.172414 0.375000 -vt 0.172414 0.281250 -vt 0.186207 0.328125 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.296875 -vt 0.186207 0.312500 -vt 0.186207 0.281250 -vt 0.186207 -0.000000 -vt 0.193103 -0.000000 -vt 0.144828 -0.000000 -vt 0.151724 -0.000000 -vt 0.158621 -0.000000 -vt 0.165517 -0.000000 -vt 0.172414 -0.000000 -vt 0.179310 -0.000000 -vt 0.200000 -0.000000 -vt 0.193103 0.109375 -vt 0.186207 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.144828 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.172414 0.109375 -vt 0.165517 0.109375 -vt 0.124138 0.390625 -vt 0.124138 0.375000 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.359375 -vt 0.124138 0.343750 -vt 0.144828 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.328125 -vt 0.124138 0.312500 -vt 0.144828 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.296875 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.281250 -vt 0.144828 0.281250 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.343750 -vt 0.158621 0.359375 -vt 0.158621 0.375000 -vt 0.158621 0.390625 -vt 0.158621 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.406250 -vt 0.172414 0.390625 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.343750 -vt 0.172414 0.359375 -vt 0.172414 0.375000 -vt 0.172414 0.281250 -vt 0.186207 0.328125 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.296875 -vt 0.186207 0.312500 -vt 0.186207 0.281250 -vt 0.186207 -0.000000 -vt 0.193103 -0.000000 -vt 0.144828 -0.000000 -vt 0.151724 -0.000000 -vt 0.158621 -0.000000 -vt 0.165517 -0.000000 -vt 0.172414 -0.000000 -vt 0.179310 -0.000000 -vt 0.200000 -0.000000 -vt 0.193103 0.109375 -vt 0.186207 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.144828 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.172414 0.109375 -vt 0.165517 0.109375 -vt 0.124138 0.390625 -vt 0.124138 0.375000 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.359375 -vt 0.124138 0.343750 -vt 0.144828 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.328125 -vt 0.124138 0.312500 -vt 0.144828 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.296875 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.281250 -vt 0.144828 0.281250 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.343750 -vt 0.158621 0.359375 -vt 0.158621 0.375000 -vt 0.158621 0.390625 -vt 0.158621 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.406250 -vt 0.172414 0.390625 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.343750 -vt 0.172414 0.359375 -vt 0.172414 0.375000 -vt 0.172414 0.281250 -vt 0.186207 0.328125 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.296875 -vt 0.186207 0.312500 -vt 0.186207 0.281250 -vt 0.186207 -0.000000 -vt 0.193103 -0.000000 -vt 0.144828 -0.000000 -vt 0.151724 -0.000000 -vt 0.158621 -0.000000 -vt 0.165517 -0.000000 -vt 0.172414 -0.000000 -vt 0.179310 -0.000000 -vt 0.200000 -0.000000 -vt 0.193103 0.109375 -vt 0.186207 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.144828 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.172414 0.109375 -vt 0.165517 0.109375 -vt 0.124138 0.390625 -vt 0.124138 0.375000 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.359375 -vt 0.124138 0.343750 -vt 0.144828 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.328125 -vt 0.124138 0.312500 -vt 0.144828 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.296875 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.281250 -vt 0.144828 0.281250 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.343750 -vt 0.158621 0.359375 -vt 0.158621 0.375000 -vt 0.158621 0.390625 -vt 0.158621 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.406250 -vt 0.172414 0.390625 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.343750 -vt 0.172414 0.359375 -vt 0.172414 0.375000 -vt 0.172414 0.281250 -vt 0.186207 0.328125 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.296875 -vt 0.186207 0.312500 -vt 0.186207 0.281250 -vt 0.186207 -0.000000 -vt 0.193103 -0.000000 -vt 0.144828 -0.000000 -vt 0.151724 -0.000000 -vt 0.158621 -0.000000 -vt 0.165517 -0.000000 -vt 0.172414 -0.000000 -vt 0.179310 -0.000000 -vt 0.200000 -0.000000 -vt 0.193103 0.109375 -vt 0.186207 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.144828 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.172414 0.109375 -vt 0.165517 0.109375 -vt 0.124138 0.390625 -vt 0.124138 0.375000 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.359375 -vt 0.124138 0.343750 -vt 0.144828 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.328125 -vt 0.124138 0.312500 -vt 0.144828 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.296875 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.281250 -vt 0.144828 0.281250 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.343750 -vt 0.158621 0.359375 -vt 0.158621 0.375000 -vt 0.158621 0.390625 -vt 0.158621 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.406250 -vt 0.172414 0.390625 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.343750 -vt 0.172414 0.359375 -vt 0.172414 0.375000 -vt 0.172414 0.281250 -vt 0.186207 0.328125 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.296875 -vt 0.186207 0.312500 -vt 0.186207 0.281250 -vt 0.186207 -0.000000 -vt 0.193103 -0.000000 -vt 0.144828 -0.000000 -vt 0.151724 -0.000000 -vt 0.158621 -0.000000 -vt 0.165517 -0.000000 -vt 0.172414 -0.000000 -vt 0.179310 -0.000000 -vt 0.200000 -0.000000 -vt 0.193103 0.109375 -vt 0.186207 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.144828 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.172414 0.109375 -vt 0.165517 0.109375 -vt 0.124138 0.390625 -vt 0.124138 0.375000 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.359375 -vt 0.124138 0.343750 -vt 0.144828 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.328125 -vt 0.124138 0.312500 -vt 0.144828 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.296875 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.281250 -vt 0.144828 0.281250 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.343750 -vt 0.158621 0.359375 -vt 0.158621 0.375000 -vt 0.158621 0.390625 -vt 0.158621 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.406250 -vt 0.172414 0.390625 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.343750 -vt 0.172414 0.359375 -vt 0.172414 0.375000 -vt 0.172414 0.281250 -vt 0.186207 0.328125 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.296875 -vt 0.186207 0.312500 -vt 0.186207 0.281250 -vt 0.186207 -0.000000 -vt 0.193103 -0.000000 -vt 0.144828 -0.000000 -vt 0.151724 -0.000000 -vt 0.158621 -0.000000 -vt 0.165517 -0.000000 -vt 0.172414 -0.000000 -vt 0.179310 -0.000000 -vt 0.200000 -0.000000 -vt 0.193103 0.109375 -vt 0.186207 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.144828 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.172414 0.109375 -vt 0.165517 0.109375 -vt 0.124138 0.390625 -vt 0.124138 0.375000 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.359375 -vt 0.124138 0.343750 -vt 0.144828 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.328125 -vt 0.124138 0.312500 -vt 0.144828 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.296875 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.281250 -vt 0.144828 0.281250 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.343750 -vt 0.158621 0.359375 -vt 0.158621 0.375000 -vt 0.158621 0.390625 -vt 0.158621 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.406250 -vt 0.172414 0.390625 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.343750 -vt 0.172414 0.359375 -vt 0.172414 0.375000 -vt 0.172414 0.281250 -vt 0.186207 0.328125 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.296875 -vt 0.186207 0.312500 -vt 0.186207 0.281250 -vt 0.186207 -0.000000 -vt 0.193103 -0.000000 -vt 0.144828 -0.000000 -vt 0.151724 -0.000000 -vt 0.158621 -0.000000 -vt 0.165517 -0.000000 -vt 0.172414 -0.000000 -vt 0.179310 -0.000000 -vt 0.200000 -0.000000 -vt 0.193103 0.109375 -vt 0.186207 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.144828 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.172414 0.109375 -vt 0.165517 0.109375 -vt 0.255172 0.234375 -vt 0.255172 0.218750 -vt 0.296552 0.218750 -vt 0.296552 0.234375 -vt 0.255172 0.203125 -vt 0.255172 0.187500 -vt 0.296552 0.187500 -vt 0.296552 0.203125 -vt 0.255172 0.250000 -vt 0.296552 0.250000 -vt 0.310345 0.187500 -vt 0.310345 0.203125 -vt 0.310345 0.234375 -vt 0.310345 0.250000 -vt 0.310345 0.218750 -vt 0.324138 0.218750 -vt 0.324138 0.234375 -vt 0.324138 0.187500 -vt 0.324138 0.203125 -vt 0.324138 0.250000 -vt 0.255172 0.234375 -vt 0.255172 0.218750 -vt 0.296552 0.218750 -vt 0.296552 0.234375 -vt 0.255172 0.203125 -vt 0.255172 0.187500 -vt 0.296552 0.187500 -vt 0.296552 0.203125 -vt 0.255172 0.250000 -vt 0.296552 0.250000 -vt 0.310345 0.187500 -vt 0.310345 0.203125 -vt 0.310345 0.234375 -vt 0.310345 0.250000 -vt 0.310345 0.218750 -vt 0.324138 0.218750 -vt 0.324138 0.234375 -vt 0.324138 0.187500 -vt 0.324138 0.203125 -vt 0.324138 0.250000 -vt 0.255172 0.234375 -vt 0.255172 0.218750 -vt 0.296552 0.218750 -vt 0.296552 0.234375 -vt 0.255172 0.203125 -vt 0.255172 0.187500 -vt 0.296552 0.187500 -vt 0.296552 0.203125 -vt 0.255172 0.250000 -vt 0.296552 0.250000 -vt 0.310345 0.187500 -vt 0.310345 0.203125 -vt 0.310345 0.234375 -vt 0.310345 0.250000 -vt 0.310345 0.218750 -vt 0.324138 0.218750 -vt 0.324138 0.234375 -vt 0.324138 0.187500 -vt 0.324138 0.203125 -vt 0.324138 0.250000 -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.0000 -0.0000 1.0000 -vn -0.7074 -0.7068 -0.0001 -vn 0.0000 -0.7071 -0.7071 -vn -0.7071 -0.7071 0.0057 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.9487 -0.3162 -vn 0.0000 0.4472 -0.8944 -vn 0.1617 0.3904 0.9063 -vn 0.1617 0.3905 0.9063 -vn 0.1752 0.8806 0.4403 -vn 0.0859 0.4318 -0.8978 -vn 0.9845 -0.1567 -0.0783 -vn -0.0859 -0.4318 0.8978 -vn -0.9695 0.2320 -0.0783 -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.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.3162 0.3162 -0.8944 -vn 0.0000 0.4226 -0.9063 -vn 0.0000 0.9063 0.4226 -vn -0.7071 0.6409 0.2988 -vn 0.7071 0.6409 0.2988 -vn 0.0000 0.7934 0.6088 -vn 0.0000 0.1305 -0.9914 -vn 0.0000 0.5000 0.8660 -vn 0.0000 0.5000 -0.8660 -vn 0.0000 -0.5000 -0.8660 -vn 0.0000 -0.5000 0.8660 -vn 0.6547 0.3780 -0.6547 -vn 0.6547 -0.3780 -0.6547 -vn 0.6547 -0.3780 0.6547 -vn 0.6547 0.7559 0.0000 -vn 0.6547 -0.7559 0.0000 -vn 0.6547 0.3780 0.6547 -vn 0.0000 0.7071 0.7071 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 0.7071 -0.7071 -vn -0.5000 -0.7849 -0.3660 -vn -0.0000 -0.4226 0.9063 -vn -0.2357 0.2357 0.9428 -vn 0.2357 0.2357 0.9428 -vn -0.2357 -0.2357 -0.9428 -vn -0.2357 -0.2357 0.9428 -vn 0.0000 -0.9285 0.3714 -vn 0.0000 0.9285 -0.3714 -vn 0.0000 -0.9900 -0.1407 -vn 0.0000 0.9900 0.1407 -vn -0.1617 -0.3904 0.9063 -vn -0.1617 -0.3905 0.9063 -vn 0.3904 -0.1617 0.9063 -vn 0.3905 -0.1617 0.9063 -vn -0.3904 0.1617 0.9063 -vn -0.3905 0.1617 0.9063 -vn 0.3904 0.1617 0.9063 -vn 0.3905 0.1617 0.9063 -vn -0.3904 -0.1617 0.9063 -vn -0.3905 -0.1617 0.9063 -vn 0.1617 -0.3904 0.9063 -vn 0.1617 -0.3905 0.9063 -vn -0.1617 0.3904 0.9063 -vn -0.1617 0.3905 0.9063 -vn -0.1752 -0.8806 0.4403 -vn -0.0859 -0.4318 -0.8979 -vn -0.9845 0.1567 -0.0783 -vn 0.0859 0.4318 0.8978 -vn 0.9695 -0.2320 -0.0783 -vn 0.8806 -0.1752 0.4403 -vn 0.4318 -0.0859 -0.8978 -vn -0.1567 -0.9845 -0.0783 -vn -0.4318 0.0859 0.8978 -vn 0.2320 0.9695 -0.0783 -vn -0.8806 0.1752 0.4403 -vn -0.4318 0.0859 -0.8978 -vn 0.1567 0.9845 -0.0783 -vn 0.4318 -0.0859 0.8978 -vn -0.2320 -0.9695 -0.0783 -vn 0.7465 0.4988 0.4403 -vn 0.3661 0.2446 -0.8978 -vn 0.5854 -0.8070 -0.0783 -vn -0.3661 -0.2446 0.8978 -vn -0.5215 0.8496 -0.0783 -vn -0.7465 -0.4988 0.4403 -vn -0.3661 -0.2446 -0.8978 -vn -0.5854 0.8070 -0.0783 -vn 0.3661 0.2446 0.8978 -vn 0.5215 -0.8496 -0.0783 -vn 0.4988 -0.7465 0.4403 -vn 0.2446 -0.3661 -0.8979 -vn -0.8070 -0.5854 -0.0783 -vn -0.2446 0.3661 0.8978 -vn 0.8496 0.5215 -0.0783 -vn -0.4988 0.7465 0.4403 -vn -0.2446 0.3661 -0.8978 -vn 0.8070 0.5854 -0.0783 -vn 0.2446 -0.3661 0.8978 -vn -0.8496 -0.5215 -0.0783 -vn 0.4988 0.7465 0.4403 -vn 0.2446 0.3661 -0.8979 -vn 0.8496 -0.5215 -0.0783 -vn -0.2446 -0.3661 0.8978 -vn -0.8070 0.5854 -0.0783 -vn -0.4988 -0.7465 0.4403 -vn -0.2446 -0.3661 -0.8978 -vn -0.8496 0.5215 -0.0783 -vn 0.2446 0.3661 0.8978 -vn 0.8070 -0.5854 -0.0783 -vn 0.7465 -0.4988 0.4403 -vn 0.3661 -0.2446 -0.8978 -vn -0.5215 -0.8496 -0.0783 -vn -0.3661 0.2446 0.8978 -vn 0.5854 0.8070 -0.0783 -vn -0.7465 0.4988 0.4403 -vn -0.3661 0.2446 -0.8978 -vn 0.5215 0.8496 -0.0783 -vn 0.3661 -0.2446 0.8978 -vn -0.5854 -0.8070 -0.0783 -vn 0.8806 0.1752 0.4403 -vn 0.4318 0.0859 -0.8978 -vn 0.2320 -0.9696 -0.0783 -vn -0.4318 -0.0859 0.8978 -vn -0.1567 0.9845 -0.0783 -vn -0.8806 -0.1752 0.4403 -vn -0.4318 -0.0859 -0.8978 -vn -0.2320 0.9696 -0.0783 -vn 0.4318 0.0859 0.8978 -vn 0.1567 -0.9845 -0.0783 -vn 0.1752 -0.8806 0.4403 -vn 0.0859 -0.4318 -0.8979 -vn -0.9696 -0.2320 -0.0783 -vn -0.0859 0.4318 0.8978 -vn 0.9845 0.1567 -0.0783 -vn -0.1752 0.8806 0.4403 -vn -0.0859 0.4318 -0.8978 -vn 0.9696 0.2320 -0.0783 -vn 0.0859 -0.4318 0.8978 -vn -0.9845 -0.1567 -0.0783 -vn 0.0000 -0.8944 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 -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.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.3827 0.9239 0.0000 -vn 0.7311 -0.6303 -0.2611 -vn 0.9947 0.0948 0.0393 -vn 0.9973 0.0609 0.0399 -vn 0.7430 -0.5190 -0.4226 -vn 0.6333 0.7150 0.2962 -vn 0.0000 0.7690 0.6392 -vn 0.6721 0.5735 0.4683 -vn -0.6333 0.7150 0.2962 -vn -0.9947 0.0948 0.0393 -vn -0.9973 0.0609 0.0399 -vn -0.6721 0.5735 0.4683 -vn -0.7311 -0.6303 -0.2611 -vn -0.7430 -0.5190 -0.4226 -vn 0.0000 -0.7779 -0.6284 -vn -0.9989 0.0183 0.0441 -vn -0.6841 0.2791 0.6739 -vn 0.0000 0.3827 0.9239 -vn 0.6840 0.2791 0.6739 -vn 0.9989 0.0183 0.0441 -vn 0.7317 -0.2608 -0.6297 -vn -0.7317 -0.2608 -0.6297 -vn 0.7317 0.0000 -0.6816 -vn -0.7317 0.0000 -0.6816 -vn -0.9989 0.0000 0.0477 -vn -0.6841 -0.0000 0.7294 -vn 0.6840 -0.0000 0.7294 -vn 0.9989 0.0000 0.0477 -vn -0.6770 -0.1436 0.7219 -vn 0.0000 -0.1951 0.9808 -vn 0.6770 -0.1436 0.7219 -vn 0.9988 -0.0095 0.0477 -vn 0.7251 0.1344 -0.6754 -vn 0.0000 0.1951 -0.9808 -vn -0.7251 0.1344 -0.6754 -vn -0.9988 -0.0095 0.0477 -vn 0.8985 0.3215 -0.2988 -vn 0.3468 0.8373 -0.4226 -vn -0.4080 0.8627 -0.2988 -vn -0.8985 -0.3215 0.2988 -vn -0.3468 -0.8373 0.4226 -vn 0.4080 -0.8627 0.2988 -vn -0.3162 0.3162 0.8944 -vn -0.4132 0.1711 0.8944 -vn 0.4132 -0.1711 0.8944 -vn 0.4472 -0.0000 0.8944 -vn -0.4472 -0.0000 0.8944 -vn 0.4132 0.1711 0.8944 -vn -0.4132 -0.1711 0.8944 -vn 0.3162 0.3162 0.8944 -vn -0.3162 -0.3162 0.8944 -vn 0.1711 0.4132 0.8944 -vn -0.1711 -0.4132 0.8944 -vn 0.0000 0.4472 0.8944 -vn 0.0000 -0.4472 0.8944 -vn 0.1711 -0.4132 0.8944 -vn -0.1711 0.4132 0.8944 -vn 0.3162 -0.3162 0.8944 -vn 0.0000 -0.9063 -0.4226 -vn -0.8660 0.4532 0.2113 -vn 0.2588 0.8754 0.4082 -vn 0.5000 0.7849 0.3660 -vn 0.5000 -0.7849 -0.3660 -vn -0.8660 -0.4532 -0.2113 -vn 0.8660 0.4532 0.2113 -vn -0.5000 0.7849 0.3660 -vn -0.2588 0.8754 0.4082 -vn 0.7071 -0.6409 -0.2988 -vn 0.9659 -0.2346 -0.1094 -vn 0.8660 -0.4532 -0.2113 -vn 0.9891 0.0283 0.1448 -vn 0.6947 0.6947 0.1866 -vn 0.5000 0.5000 0.7071 -vn 0.8431 -0.0945 0.5293 -vn 0.0283 0.9891 0.1448 -vn -0.3812 0.9204 0.0866 -vn -0.4619 0.8446 0.2706 -vn -0.0945 0.8431 0.5294 -vn -0.0283 0.9891 0.1448 -vn 0.0945 0.8431 0.5294 -vn 0.4619 0.8446 0.2706 -vn 0.3812 0.9204 0.0866 -vn -0.9891 0.0283 0.1448 -vn -0.8431 -0.0945 0.5293 -vn -0.5000 0.5000 0.7071 -vn -0.6947 0.6947 0.1866 -vn -0.9204 -0.3812 0.0866 -vn -0.8446 -0.4619 0.2706 -vn -0.2706 0.2706 0.9239 -vn 0.2384 0.6572 0.7150 -vn -0.7559 -0.5345 0.3780 -vn -0.6572 -0.2384 0.7150 -vn 0.5345 0.7559 0.3780 -vn -0.8431 -0.0945 0.5294 -vn 0.9204 -0.3812 0.0866 -vn 0.8446 -0.4619 0.2706 -vn -0.2384 0.6572 0.7150 -vn 0.2706 0.2706 0.9239 -vn 0.6572 -0.2384 0.7150 -vn 0.7559 -0.5345 0.3780 -vn -0.5345 0.7559 0.3780 -vn -0.0945 0.8431 0.5293 -vn 0.8431 -0.0945 0.5294 -vn -0.7311 0.6303 -0.2611 -vn -0.9947 -0.0948 0.0393 -vn -0.9973 -0.0609 0.0399 -vn -0.7430 0.5190 -0.4226 -vn -0.6333 -0.7150 0.2962 -vn -0.0000 -0.7690 0.6392 -vn -0.6721 -0.5735 0.4683 -vn 0.6333 -0.7150 0.2962 -vn 0.9947 -0.0948 0.0393 -vn 0.9973 -0.0609 0.0399 -vn 0.6721 -0.5735 0.4683 -vn 0.7311 0.6303 -0.2611 -vn 0.7430 0.5190 -0.4226 -vn -0.0000 0.7779 -0.6284 -vn 0.9989 -0.0183 0.0441 -vn 0.6841 -0.2791 0.6739 -vn -0.6840 -0.2791 0.6739 -vn -0.9989 -0.0183 0.0441 -vn -0.7317 0.2608 -0.6297 -vn 0.7317 0.2608 -0.6297 -vn 0.6841 0.0000 0.7294 -vn -0.6840 0.0000 0.7294 -vn 0.6770 0.1436 0.7219 -vn -0.0000 0.1951 0.9808 -vn -0.6770 0.1436 0.7219 -vn -0.9988 0.0095 0.0477 -vn -0.7251 -0.1344 -0.6754 -vn -0.0000 -0.1951 -0.9808 -vn 0.7251 -0.1344 -0.6754 -vn 0.9988 0.0095 0.0477 -vn -0.8985 -0.3215 -0.2988 -vn -0.3468 -0.8373 -0.4226 -vn 0.4080 -0.8627 -0.2988 -vn 0.8985 0.3215 0.2988 -vn 0.3468 0.8373 0.4226 -vn -0.4080 0.8627 0.2988 -vn -0.6303 -0.7311 -0.2611 -vn 0.0948 -0.9947 0.0393 -vn 0.0609 -0.9973 0.0399 -vn -0.5190 -0.7430 -0.4226 -vn 0.7150 -0.6333 0.2962 -vn 0.9239 -0.0000 0.3827 -vn 0.7690 -0.0000 0.6392 -vn 0.5735 -0.6721 0.4683 -vn 0.7150 0.6333 0.2962 -vn 0.0948 0.9947 0.0393 -vn 0.0609 0.9973 0.0399 -vn 0.5735 0.6721 0.4683 -vn -0.6303 0.7311 -0.2611 -vn -0.5190 0.7430 -0.4226 -vn -0.9239 -0.0000 -0.3827 -vn -0.7779 -0.0000 -0.6284 -vn 0.0183 0.9989 0.0441 -vn 0.2791 0.6841 0.6739 -vn 0.3827 -0.0000 0.9239 -vn 0.2791 -0.6840 0.6739 -vn 0.0183 -0.9989 0.0441 -vn -0.2608 -0.7317 -0.6297 -vn -0.3827 -0.0000 -0.9239 -vn -0.2608 0.7317 -0.6297 -vn 0.0000 -0.7317 -0.6816 -vn 0.0000 0.7317 -0.6816 -vn 0.0000 0.9989 0.0477 -vn 0.0000 0.6841 0.7294 -vn -0.0000 -0.6840 0.7294 -vn -0.0000 -0.9989 0.0477 -vn -0.1436 0.6770 0.7219 -vn -0.1951 -0.0000 0.9808 -vn -0.1436 -0.6770 0.7219 -vn -0.0095 -0.9988 0.0477 -vn 0.1344 -0.7251 -0.6754 -vn 0.1951 -0.0000 -0.9808 -vn 0.1344 0.7251 -0.6754 -vn -0.0095 0.9988 0.0477 -vn 0.3215 -0.8985 -0.2988 -vn 0.8373 -0.3468 -0.4226 -vn 0.8627 0.4080 -0.2988 -vn -0.3215 0.8985 0.2988 -vn -0.8373 0.3468 0.4226 -vn -0.8627 -0.4080 0.2988 -vn 0.6303 0.7311 -0.2611 -vn -0.0948 0.9947 0.0393 -vn -0.0609 0.9973 0.0399 -vn 0.5190 0.7430 -0.4226 -vn -0.7150 0.6333 0.2962 -vn -0.9239 0.0000 0.3827 -vn -0.7690 0.0000 0.6392 -vn -0.5735 0.6721 0.4683 -vn -0.7150 -0.6333 0.2962 -vn -0.0948 -0.9947 0.0393 -vn -0.0609 -0.9973 0.0399 -vn -0.5735 -0.6721 0.4683 -vn 0.6303 -0.7311 -0.2611 -vn 0.5190 -0.7430 -0.4226 -vn 0.9239 0.0000 -0.3827 -vn 0.7779 0.0000 -0.6284 -vn -0.0183 -0.9989 0.0441 -vn -0.2791 -0.6841 0.6739 -vn -0.3827 0.0000 0.9239 -vn -0.2791 0.6840 0.6739 -vn -0.0183 0.9989 0.0441 -vn 0.2608 0.7317 -0.6297 -vn 0.3827 0.0000 -0.9239 -vn 0.2608 -0.7317 -0.6297 -vn 0.0000 -0.6841 0.7294 -vn 0.0000 0.6840 0.7294 -vn 0.1436 -0.6770 0.7219 -vn 0.1951 0.0000 0.9808 -vn 0.1436 0.6770 0.7219 -vn 0.0095 0.9988 0.0477 -vn -0.1344 0.7251 -0.6754 -vn -0.1951 0.0000 -0.9808 -vn -0.1344 -0.7251 -0.6754 -vn 0.0095 -0.9988 0.0477 -vn -0.3215 0.8985 -0.2988 -vn -0.8373 0.3468 -0.4226 -vn -0.8627 -0.4080 -0.2988 -vn 0.3215 -0.8985 0.2988 -vn 0.8373 -0.3468 0.4226 -vn 0.8627 0.4080 0.2988 -vn 0.0712 -0.9627 -0.2611 -vn 0.7704 -0.6363 0.0393 -vn 0.7483 -0.6622 0.0399 -vn 0.1584 -0.8924 -0.4226 -vn 0.9534 0.0578 0.2962 -vn 0.6533 0.6533 0.3827 -vn 0.5438 0.5438 0.6392 -vn 0.8808 -0.0697 0.4683 -vn 0.0578 0.9534 0.2962 -vn -0.6364 0.7704 0.0393 -vn -0.6622 0.7483 0.0399 -vn -0.0697 0.8808 0.4683 -vn -0.9627 0.0712 -0.2611 -vn -0.8924 0.1584 -0.4226 -vn -0.6533 -0.6533 -0.3827 -vn -0.5501 -0.5501 -0.6284 -vn -0.6934 0.7192 0.0441 -vn -0.2863 0.6811 0.6739 -vn 0.6811 -0.2863 0.6739 -vn 0.7192 -0.6934 0.0441 -vn 0.3330 -0.7018 -0.6297 -vn -0.2706 -0.2706 -0.9239 -vn -0.7018 0.3330 -0.6297 -vn 0.5174 -0.5174 -0.6816 -vn -0.5174 0.5174 -0.6816 -vn -0.7063 0.7063 0.0477 -vn -0.4837 0.4837 0.7294 -vn 0.4837 -0.4837 0.7294 -vn 0.7063 -0.7063 0.0477 -vn -0.5802 0.3772 0.7219 -vn -0.1379 -0.1379 0.9808 -vn 0.3772 -0.5802 0.7219 -vn 0.6996 -0.7130 0.0477 -vn 0.6077 -0.4177 -0.6754 -vn 0.1380 0.1380 -0.9808 -vn -0.4177 0.6077 -0.6754 -vn -0.7130 0.6996 0.0477 -vn 0.8627 -0.4080 -0.2988 -vn 0.8373 0.3468 -0.4226 -vn 0.3215 0.8985 -0.2988 -vn -0.8627 0.4080 0.2988 -vn -0.8373 -0.3468 0.4226 -vn -0.3215 -0.8985 0.2988 -vn -0.0712 0.9627 -0.2611 -vn -0.7704 0.6363 0.0393 -vn -0.7483 0.6622 0.0399 -vn -0.1584 0.8924 -0.4226 -vn -0.9534 -0.0578 0.2962 -vn -0.6533 -0.6533 0.3827 -vn -0.5438 -0.5438 0.6392 -vn -0.8808 0.0697 0.4683 -vn -0.0578 -0.9534 0.2962 -vn 0.6364 -0.7704 0.0393 -vn 0.6622 -0.7483 0.0399 -vn 0.0697 -0.8808 0.4683 -vn 0.9627 -0.0712 -0.2611 -vn 0.8924 -0.1584 -0.4226 -vn 0.6533 0.6533 -0.3827 -vn 0.5501 0.5501 -0.6284 -vn 0.6934 -0.7192 0.0441 -vn 0.2863 -0.6811 0.6739 -vn -0.2706 -0.2706 0.9239 -vn -0.6811 0.2863 0.6739 -vn -0.7192 0.6934 0.0441 -vn -0.3330 0.7018 -0.6297 -vn 0.2706 0.2706 -0.9239 -vn 0.7018 -0.3330 -0.6297 -vn 0.5802 -0.3772 0.7219 -vn 0.1379 0.1379 0.9808 -vn -0.3772 0.5802 0.7219 -vn -0.6996 0.7130 0.0477 -vn -0.6077 0.4177 -0.6754 -vn -0.1380 -0.1380 -0.9808 -vn 0.4177 -0.6077 -0.6754 -vn 0.7130 -0.6996 0.0477 -vn -0.8627 0.4080 -0.2988 -vn -0.8373 -0.3468 -0.4226 -vn -0.3215 -0.8985 -0.2988 -vn 0.8627 -0.4080 0.2988 -vn 0.8373 0.3468 0.4226 -vn 0.3215 0.8985 0.2988 -vn -0.9627 -0.0712 -0.2611 -vn -0.6363 -0.7704 0.0393 -vn -0.6622 -0.7483 0.0399 -vn -0.8924 -0.1584 -0.4226 -vn 0.0578 -0.9534 0.2962 -vn 0.6533 -0.6533 0.3827 -vn 0.5438 -0.5438 0.6392 -vn -0.0697 -0.8808 0.4683 -vn 0.9534 -0.0578 0.2962 -vn 0.7704 0.6364 0.0393 -vn 0.7483 0.6622 0.0399 -vn 0.8808 0.0697 0.4683 -vn 0.0712 0.9627 -0.2611 -vn 0.1584 0.8924 -0.4226 -vn -0.6533 0.6533 -0.3827 -vn -0.5501 0.5501 -0.6284 -vn 0.7192 0.6934 0.0441 -vn 0.6811 0.2863 0.6739 -vn 0.2706 -0.2706 0.9239 -vn -0.2863 -0.6811 0.6739 -vn -0.6934 -0.7192 0.0441 -vn -0.7018 -0.3330 -0.6297 -vn -0.2706 0.2706 -0.9239 -vn 0.3330 0.7018 -0.6297 -vn -0.5174 -0.5174 -0.6816 -vn 0.5174 0.5174 -0.6816 -vn 0.7063 0.7063 0.0477 -vn 0.4837 0.4837 0.7294 -vn -0.4837 -0.4837 0.7294 -vn -0.7063 -0.7063 0.0477 -vn 0.3772 0.5802 0.7219 -vn -0.1379 0.1379 0.9808 -vn -0.5802 -0.3772 0.7219 -vn -0.7130 -0.6996 0.0477 -vn -0.4177 -0.6077 -0.6754 -vn 0.1380 -0.1380 -0.9808 -vn 0.6077 0.4177 -0.6754 -vn 0.6996 0.7130 0.0477 -vn -0.4080 -0.8627 -0.2988 -vn 0.3468 -0.8373 -0.4226 -vn 0.8985 -0.3215 -0.2988 -vn 0.4080 0.8627 0.2988 -vn -0.3468 0.8373 0.4226 -vn -0.8985 0.3215 0.2988 -vn 0.9627 0.0712 -0.2611 -vn 0.6363 0.7704 0.0393 -vn 0.6622 0.7483 0.0399 -vn 0.8924 0.1584 -0.4226 -vn -0.0578 0.9534 0.2962 -vn -0.6533 0.6533 0.3827 -vn -0.5438 0.5438 0.6392 -vn 0.0697 0.8808 0.4683 -vn -0.9534 0.0578 0.2962 -vn -0.7704 -0.6363 0.0393 -vn -0.7483 -0.6622 0.0399 -vn -0.8808 -0.0697 0.4683 -vn -0.0712 -0.9627 -0.2611 -vn -0.1584 -0.8924 -0.4226 -vn 0.6533 -0.6533 -0.3827 -vn 0.5501 -0.5501 -0.6284 -vn -0.7192 -0.6934 0.0441 -vn -0.6811 -0.2863 0.6739 -vn 0.2863 0.6811 0.6739 -vn 0.6934 0.7192 0.0441 -vn 0.7018 0.3330 -0.6297 -vn 0.2706 -0.2706 -0.9239 -vn -0.3330 -0.7018 -0.6297 -vn -0.3772 -0.5802 0.7219 -vn 0.1379 -0.1379 0.9808 -vn 0.5802 0.3772 0.7219 -vn 0.7130 0.6996 0.0477 -vn 0.4177 0.6077 -0.6754 -vn -0.1380 0.1380 -0.9808 -vn -0.6077 -0.4177 -0.6754 -vn -0.6996 -0.7130 0.0477 -vn 0.4080 0.8627 -0.2988 -vn -0.3468 0.8373 -0.4226 -vn -0.8985 0.3215 -0.2988 -vn -0.4080 -0.8627 0.2988 -vn 0.3468 -0.8373 0.4226 -vn 0.8985 -0.3215 0.2988 -vn -0.0000 0.9824 0.1866 -vn 0.6794 0.7194 0.1448 -vn -0.9204 0.3812 0.0866 -vn -0.6794 0.7194 0.1448 -vn 0.9204 0.3812 0.0866 -vn -0.9239 0.2706 0.2706 -vn -0.6630 0.5294 0.5294 -vn 0.6630 0.5294 0.5294 -vn 0.9239 0.2706 0.2706 -vn 0.6333 0.2962 0.7150 -vn -0.9125 0.1566 0.3780 -vn -0.6333 0.2962 0.7150 -vn 0.9125 0.1566 0.3780 +vt 0.500000 0.000000 +vt 0.066987 0.250000 +vt 0.500000 1.000000 +vt 0.750000 0.933013 +vt 0.933013 0.750000 +vt 1.000000 0.500000 +vt 0.933013 0.250000 +vt 0.750000 0.066987 +vt 0.250000 0.066987 +vt 0.000000 0.500000 +vt 0.066987 0.750000 +vt 0.250000 0.933013 +vn -0.0000 0.4226 -0.9063 s off -f 227/323/124 228/324/124 229/325/124 230/326/124 -f 231/327/125 232/328/125 233/329/125 234/330/125 -f 235/331/126 236/332/126 237/333/126 238/334/126 -f 239/335/127 240/336/127 241/337/127 242/338/127 -f 232/328/128 239/335/128 242/338/128 233/329/128 -f 229/325/129 241/337/129 240/336/129 230/326/129 -f 228/339/130 227/340/130 238/334/130 237/333/130 -f 231/327/131 234/330/131 236/332/131 235/331/131 -f 240/341/132 239/342/132 243/343/132 244/344/132 245/345/132 -f 239/342/132 232/346/132 246/347/132 247/348/132 243/343/132 -f 232/346/132 231/349/132 248/350/132 249/351/132 246/347/132 -f 231/349/132 235/352/132 250/353/132 251/354/132 248/350/132 -f 235/352/132 238/355/132 252/356/132 253/357/132 250/353/132 -f 238/355/132 227/358/132 254/359/132 255/360/132 252/356/132 -f 227/358/132 230/361/132 256/362/132 257/363/132 254/359/132 -f 230/361/132 240/341/132 245/345/132 258/364/132 256/362/132 -f 259/365/126 260/366/126 261/367/126 262/368/126 263/369/126 -f 264/370/129 265/371/129 1051/372/129 266/373/129 267/374/129 268/375/129 269/376/129 -f 270/377/127 271/378/127 268/375/127 267/374/127 272/379/127 273/380/127 -f 274/381/124 275/382/124 264/370/124 269/376/124 -f 263/369/133 262/368/133 276/383/133 277/384/133 275/385/133 274/386/133 -f 264/387/134 275/388/134 277/389/134 265/390/134 -f 278/391/125 279/392/125 270/377/125 273/380/125 -f 280/393/126 281/394/126 282/395/126 283/396/126 -f 284/397/126 283/396/126 282/395/126 261/367/126 260/366/126 -f 281/394/135 280/393/135 285/398/135 286/399/135 -f 287/400/126 288/401/126 289/402/126 290/403/126 -f 291/404/126 292/405/126 293/406/126 294/407/126 -f 295/408/126 296/409/126 297/410/126 298/411/126 -f 299/412/126 300/413/126 301/414/126 302/415/126 -f 303/416/126 304/417/126 305/418/126 306/419/126 -f 299/412/126 303/416/126 306/419/126 287/400/126 290/403/126 291/404/126 294/407/126 295/408/126 298/411/126 300/413/126 -f 302/415/126 301/414/126 297/410/126 296/409/126 293/406/126 292/405/126 289/402/126 288/401/126 305/418/126 304/417/126 -f 296/420/124 295/421/124 307/422/124 308/423/124 -f 295/424/132 294/425/132 309/426/132 307/422/132 -f 290/427/125 289/428/125 310/429/125 311/430/125 -f 291/431/132 290/432/132 311/430/132 312/433/132 -f 313/434/126 314/435/126 315/436/126 316/437/126 -f 309/426/126 317/438/126 308/423/126 307/422/126 -f 312/433/126 311/430/126 310/429/126 318/439/126 -f 319/440/126 320/441/126 321/442/126 322/443/126 -f 300/444/132 298/445/132 314/435/132 313/434/132 -f 298/446/125 297/447/125 315/436/125 314/435/125 -f 297/448/136 301/449/136 316/437/136 315/436/136 -f 292/450/124 291/451/124 312/433/124 318/439/124 -f 293/452/136 296/453/136 308/423/136 317/438/136 -f 294/454/125 293/455/125 317/438/125 309/426/125 -f 289/456/136 292/457/136 318/439/136 310/429/136 -f 301/458/124 300/459/124 313/434/124 316/437/124 -f 305/460/136 288/461/136 321/442/136 320/441/136 -f 306/462/125 305/463/125 320/441/125 319/440/125 -f 287/464/132 306/465/132 319/440/132 322/443/132 -f 288/466/124 287/467/124 322/443/124 321/442/124 -f 272/379/136 267/374/136 323/468/136 324/469/136 -f 267/374/136 266/470/136 323/468/136 -f 280/393/136 283/396/136 325/471/136 326/472/136 -f 280/393/136 326/472/136 285/473/136 -f 273/380/137 272/474/137 324/475/137 278/391/137 -f 327/476/137 325/477/137 283/478/137 284/397/137 -f 328/479/125 327/476/125 284/397/125 260/366/125 -f 329/480/138 330/481/138 331/482/138 332/483/138 -f 330/481/138 270/484/138 279/485/138 331/482/138 -f 329/480/138 332/483/138 328/486/138 260/487/138 -f 333/488/139 334/489/139 335/490/139 336/491/139 -f 337/492/139 338/493/139 339/494/139 340/495/139 -f 341/496/139 342/497/139 343/498/139 344/499/139 -f 342/497/139 345/500/139 346/501/139 343/498/139 -f 347/502/139 333/488/139 336/491/139 348/503/139 -f 334/489/139 337/492/139 340/495/139 335/490/139 -f 338/493/139 341/496/139 344/499/139 339/494/139 -f 345/500/139 347/504/139 348/505/139 346/501/139 -f 349/506/139 350/507/139 351/508/139 352/509/139 353/510/139 354/511/139 355/512/139 356/513/139 -f 357/514/139 358/515/139 359/516/139 360/517/139 -f 358/515/139 361/518/139 362/519/139 359/516/139 -f 361/518/140 363/520/140 364/521/140 362/519/140 -f 363/522/140 365/523/140 366/524/140 364/525/140 -f 365/523/139 367/526/139 368/527/139 366/524/139 -f 367/526/140 369/528/140 370/529/140 368/527/140 -f 369/528/140 371/530/140 372/531/140 370/529/140 -f 371/530/140 357/514/140 360/517/140 372/531/140 -f 373/532/141 374/533/141 375/534/141 376/535/141 -f 377/536/142 378/537/142 376/535/142 375/534/142 -f 379/538/143 377/539/143 375/534/143 374/533/143 -f 380/540/144 379/541/144 374/533/144 373/532/144 -f 378/542/145 380/543/145 373/532/145 376/535/145 -f 381/544/132 382/545/132 383/546/132 384/547/132 -f 385/548/132 386/549/132 387/550/132 388/551/132 389/552/132 390/553/132 391/554/132 392/555/132 -f 393/556/132 381/544/132 384/557/132 394/558/132 -f 395/559/132 393/556/132 394/560/132 396/561/132 -f 397/562/132 395/559/132 396/563/132 398/564/132 -f 399/565/132 397/566/132 398/567/132 400/568/132 -f 401/569/132 399/565/132 400/570/132 402/571/132 -f 403/572/132 401/569/132 402/573/132 404/574/132 -f 382/545/132 403/572/132 404/575/132 383/576/132 -f 405/577/132 406/578/132 407/579/132 408/580/132 -f 409/581/132 410/582/132 406/583/132 405/584/132 -f 411/585/132 412/586/132 410/587/132 409/588/132 -f 413/589/132 414/590/132 412/591/132 411/592/132 -f 415/593/132 416/594/132 414/595/132 413/596/132 -f 417/597/132 418/598/132 416/599/132 415/600/132 -f 419/601/132 420/602/132 418/603/132 417/604/132 -f 408/605/132 407/606/132 420/607/132 419/608/132 -f 421/609/132 422/610/132 423/611/132 424/612/132 425/613/132 426/614/132 427/615/132 428/616/132 429/617/132 430/618/132 431/619/132 432/620/132 433/621/132 434/622/132 435/623/132 436/624/132 -f 242/625/136 437/626/136 438/627/136 439/628/136 233/629/136 -f 241/630/136 440/631/136 441/632/136 437/626/136 242/625/136 -f 229/633/136 442/634/136 443/635/136 440/631/136 241/630/136 -f 228/636/136 444/637/136 445/638/136 442/634/136 229/633/136 -f 237/639/136 446/640/136 447/641/136 444/637/136 228/636/136 -f 236/642/136 448/643/136 449/644/136 446/640/136 237/639/136 -f 234/645/136 450/646/136 451/647/136 448/643/136 236/642/136 -f 233/629/136 439/628/136 452/648/136 450/646/136 234/645/136 -f 453/649/132 454/650/132 455/651/132 456/652/132 457/653/132 -f 271/654/132 453/649/132 457/653/132 458/655/132 459/656/132 -f 268/657/132 271/654/132 459/656/132 460/658/132 461/659/132 -f 269/660/132 268/657/132 461/659/132 462/661/132 463/662/132 -f 274/663/132 269/660/132 463/662/132 464/664/132 465/665/132 -f 263/666/132 274/663/132 465/665/132 466/667/132 467/668/132 -f 259/669/132 263/666/132 467/668/132 468/670/132 469/671/132 -f 454/650/132 259/669/132 469/671/132 470/672/132 455/651/132 -f 471/673/126 472/674/126 473/675/126 474/676/126 475/677/126 476/678/126 477/679/126 478/680/126 -f 302/415/132 304/417/132 479/681/132 480/682/132 -f 304/417/124 303/416/124 481/683/124 479/684/124 -f 303/416/136 299/412/136 482/685/136 481/686/136 -f 299/412/125 302/415/125 480/687/125 482/688/125 -f 483/689/127 484/690/127 485/691/127 486/692/127 487/693/127 488/694/127 489/695/127 490/696/127 -f 472/697/146 490/698/146 489/699/146 473/700/146 -f 474/701/147 488/702/147 487/703/147 475/704/147 -f 478/705/148 484/706/148 483/707/148 471/708/148 -f 473/700/149 489/699/149 488/702/149 474/701/149 -f 475/704/150 487/703/150 486/709/150 476/710/150 -f 477/711/151 485/712/151 484/706/151 478/705/151 -f 471/708/152 483/707/152 490/698/152 472/697/152 -f 491/713/132 492/714/132 493/715/132 494/716/132 -f 495/717/136 496/718/136 497/719/136 498/720/136 -f 493/715/129 492/721/129 498/722/129 497/719/129 -f 491/723/131 494/716/131 496/718/131 495/724/131 -f 494/716/128 493/715/128 497/719/128 496/718/128 -f 492/721/130 491/725/130 495/726/130 498/722/130 -f 499/727/132 500/728/132 501/729/132 502/730/132 -f 503/731/136 504/732/136 505/733/136 506/734/136 -f 501/729/131 500/735/131 506/736/131 505/733/131 -f 499/737/129 502/730/129 504/732/129 503/738/129 -f 502/730/130 501/729/130 505/733/130 504/732/130 -f 500/739/128 499/737/128 503/738/128 506/740/128 -f 507/741/132 508/742/132 509/743/132 510/744/132 -f 511/745/136 512/746/136 513/747/136 514/748/136 -f 509/743/130 508/749/130 514/750/130 513/747/130 -f 507/751/128 510/744/128 512/746/128 511/752/128 -f 510/744/129 509/743/129 513/747/129 512/746/129 -f 508/749/131 507/753/131 511/754/131 514/750/131 -f 515/755/132 516/756/132 517/757/132 518/758/132 -f 519/759/136 520/760/136 521/761/136 522/762/136 -f 517/757/128 516/763/128 522/764/128 521/761/128 -f 515/765/130 518/758/130 520/760/130 519/766/130 -f 518/758/131 517/757/131 521/761/131 520/760/131 -f 516/767/129 515/765/129 519/766/129 522/768/129 -f 523/769/132 524/770/132 525/771/132 526/772/132 -f 527/773/153 528/774/153 529/775/153 530/776/153 -f 525/771/129 524/777/129 530/778/129 529/779/129 -f 523/780/131 526/772/131 528/774/131 527/773/131 -f 526/772/128 525/771/128 529/779/128 528/774/128 -f 524/777/130 523/781/130 527/782/130 530/778/130 -f 328/783/129 332/784/129 531/785/129 532/786/129 -f 331/787/130 279/788/130 533/789/130 534/790/130 -f 332/784/124 331/787/124 534/790/124 531/785/124 -f 531/785/138 534/790/138 533/791/138 532/792/138 -f 535/793/127 536/794/127 537/795/127 538/796/127 -f 539/797/126 540/798/126 541/799/126 542/800/126 -f 538/796/154 537/795/154 540/798/154 539/797/154 543/801/154 544/802/154 -f 544/802/155 543/801/155 545/803/155 546/804/155 -f 539/805/156 542/806/156 545/803/156 543/801/156 -f 535/807/157 538/808/157 544/802/157 546/804/157 -f 265/390/124 277/389/124 276/809/124 1051/810/124 -f 547/811/158 548/812/158 549/813/158 550/814/158 -f 551/815/127 552/816/127 553/817/127 549/818/127 548/819/127 554/820/127 -f 550/814/148 549/813/148 553/821/148 555/822/148 -f 555/822/159 553/821/159 552/823/159 556/824/159 -f 556/825/126 557/826/126 558/827/126 547/828/126 550/829/126 555/830/126 -f 559/831/124 560/832/124 561/833/124 562/834/124 -f 561/833/127 560/832/127 563/835/127 564/836/127 -f 559/831/126 562/834/126 565/837/126 566/838/126 -f 567/839/136 568/840/136 569/841/136 570/842/136 -f 571/843/127 572/844/127 570/842/127 569/841/127 -f 573/845/126 574/846/126 568/840/126 567/839/126 -f 574/847/125 571/848/125 569/841/125 568/840/125 -f 572/849/124 573/850/124 567/839/124 570/842/124 -f 575/851/136 576/852/136 577/853/136 578/854/136 -f 579/855/124 580/856/124 578/854/124 577/853/124 -f 581/857/125 582/858/125 576/852/125 575/851/125 -f 582/859/127 579/860/127 577/853/127 576/852/127 -f 580/861/126 581/862/126 575/851/126 578/854/126 -f 583/863/124 584/864/124 585/865/124 586/866/124 -f 587/867/160 588/868/160 589/869/160 590/870/160 -f 591/871/161 592/872/161 593/873/161 594/874/161 -f 586/866/162 585/865/162 592/872/162 591/871/162 -f 590/870/163 589/869/163 584/875/163 583/876/163 -f 594/874/125 593/873/125 588/868/125 587/867/125 -f 594/877/127 587/878/127 590/879/127 583/880/127 586/881/127 591/882/127 -f 595/883/125 596/884/125 597/885/125 598/886/125 -f 599/887/124 600/888/124 601/889/124 602/890/124 -f 596/891/160 603/892/160 604/893/160 597/894/160 -f 605/895/161 595/896/161 598/897/161 606/898/161 -f 600/899/162 605/900/162 606/901/162 601/902/162 -f 603/903/163 599/904/163 602/905/163 604/906/163 -f 602/890/126 601/889/126 607/907/126 608/908/126 -f 597/894/126 604/893/126 609/909/126 610/910/126 -f 606/898/126 598/897/126 611/911/126 612/912/126 -f 601/902/126 606/901/126 612/912/126 607/907/126 -f 604/906/126 602/905/126 608/913/126 609/909/126 -f 598/886/126 597/885/126 610/910/126 611/911/126 -f 607/907/162 612/912/162 613/914/162 614/915/162 -f 609/909/163 608/913/163 615/916/163 616/917/163 -f 611/911/125 610/910/125 617/918/125 618/919/125 -f 608/908/124 607/907/124 614/915/124 615/920/124 -f 610/910/160 609/909/160 616/917/160 617/918/160 -f 612/912/161 611/911/161 618/919/161 613/914/161 -f 617/918/127 616/917/127 619/921/127 620/922/127 -f 618/919/127 617/918/127 620/923/127 621/924/127 -f 613/914/127 618/919/127 621/925/127 622/926/127 -f 614/915/127 613/914/127 622/927/127 623/928/127 -f 615/920/127 614/915/127 623/929/127 624/930/127 -f 616/917/127 615/916/127 624/931/127 619/932/127 -f 619/932/163 624/931/163 625/933/163 626/934/163 -f 621/924/125 620/923/125 627/935/125 628/936/125 -f 624/930/124 623/929/124 629/937/124 625/938/124 -f 620/922/160 619/921/160 626/939/160 627/940/160 -f 622/926/161 621/925/161 628/941/161 630/942/161 -f 623/928/162 622/927/162 630/943/162 629/944/162 -f 627/940/126 626/939/126 631/945/126 632/946/126 -f 628/936/126 627/935/126 632/946/126 633/947/126 -f 630/942/126 628/941/126 633/947/126 634/948/126 -f 629/944/126 630/943/126 634/948/126 635/949/126 -f 625/938/126 629/937/126 635/949/126 636/950/126 -f 626/934/126 625/933/126 636/951/126 631/945/126 -f 633/947/125 632/946/125 637/952/125 638/953/125 -f 636/950/124 635/949/124 639/954/124 640/955/124 -f 632/946/160 631/945/160 641/956/160 637/952/160 -f 634/948/161 633/947/161 638/953/161 642/957/161 -f 635/949/162 634/948/162 642/957/162 639/954/162 -f 631/945/163 636/951/163 640/958/163 641/956/163 -f 642/957/164 638/953/164 643/959/164 644/960/164 -f 639/954/165 642/957/165 644/961/165 645/962/165 -f 641/956/166 640/958/166 646/963/166 647/964/166 -f 638/953/167 637/952/167 648/965/167 643/966/167 -f 640/955/168 639/954/168 645/967/168 646/968/168 -f 637/952/169 641/956/169 647/969/169 648/970/169 -f 643/971/127 648/972/127 647/973/127 646/974/127 645/975/127 644/976/127 -f 649/977/125 650/978/125 651/979/125 652/980/125 -f 653/981/126 654/982/126 655/983/126 656/984/126 657/985/126 -f 652/980/136 651/979/136 658/986/136 659/987/136 -f 651/979/127 650/978/127 660/988/127 658/989/127 -f 649/977/126 652/980/126 659/990/126 661/991/126 -f 662/992/170 663/993/170 664/994/170 665/995/170 -f 666/996/126 662/997/126 665/998/126 667/999/126 -f 668/1000/134 666/996/134 667/999/134 669/1001/134 -f 663/993/127 668/1000/127 669/1001/127 664/994/127 -f 654/982/171 653/981/171 670/1002/171 671/1003/171 -f 657/1004/136 656/1005/136 672/1006/136 673/1007/136 -f 671/1003/127 670/1002/127 673/1008/127 672/1006/127 674/1009/127 -f 654/982/170 671/1003/170 674/1010/170 655/1011/170 -f 655/1012/172 674/1009/172 672/1006/172 656/1005/172 -f 670/1002/134 653/981/134 657/1013/134 673/1014/134 -f 675/1015/170 676/1016/170 677/1017/170 678/1018/170 -f 679/1019/127 680/1020/127 677/1021/127 676/1022/127 -f 681/1023/126 682/1024/126 675/1015/126 678/1018/126 -f 680/1020/172 681/1023/172 678/1018/172 677/1021/172 -f 682/1025/171 679/1019/171 676/1022/171 675/1026/171 -f 684/1027/126 692/1028/126 693/1029/126 694/1030/126 -f 695/1031/173 696/1032/173 685/1033/173 697/1034/173 -f 692/1035/174 701/1036/174 702/1037/174 693/1029/174 -f 329/480/125 454/1038/125 1791/1039/125 1790/1040/125 -f 715/1041/131 716/1042/131 717/1043/131 718/1044/131 -f 259/365/131 454/1038/131 719/1045/131 720/1046/131 -f 329/480/131 260/366/131 721/1047/131 722/1048/131 -f 259/365/131 720/1046/131 716/1042/131 715/1041/131 721/1047/131 260/366/131 -f 454/1038/131 329/480/131 722/1048/131 718/1044/131 717/1043/131 719/1045/131 -f 271/378/128 723/1049/128 724/1050/128 453/1051/128 -f 270/1052/128 725/1053/128 723/1049/128 271/378/128 -f 270/1052/128 330/481/128 726/1054/128 725/1053/128 -f 453/1051/128 724/1050/128 726/1054/128 330/481/128 -f 725/1055/175 726/1056/175 727/1057/175 728/1058/175 -f 721/1059/128 715/1060/128 729/1061/128 730/1062/128 -f 716/1063/176 731/1064/176 732/1065/176 717/1066/176 -f 733/1067/131 730/1062/131 729/1061/131 734/1068/131 -f 719/1069/136 735/1070/136 736/1071/136 720/1072/136 -f 737/1073/128 728/1074/128 727/1057/128 738/1075/128 -f 715/1076/177 718/1077/177 734/1068/177 729/1078/177 -f 720/1079/128 736/1071/128 731/1080/128 716/1081/128 -f 722/1082/178 721/1083/178 730/1084/178 733/1067/178 -f 718/1077/130 722/1082/130 733/1067/130 734/1068/130 -f 738/1075/129 727/1057/129 726/1056/129 724/1085/129 -f 728/1074/131 737/1073/131 723/1086/131 725/1087/131 -f 739/1088/126 740/1089/126 741/1090/126 742/1091/126 -f 740/1092/179 743/1093/179 744/1094/179 741/1095/179 -f 745/1096/127 746/1097/127 747/1098/127 748/1099/127 -f 749/1100/180 739/1088/180 742/1091/180 750/1101/180 -f 748/1099/127 747/1098/127 751/1102/127 752/1103/127 -f 741/1095/181 744/1094/181 753/1104/181 754/1105/181 -f 749/1106/127 743/1107/127 755/1108/127 -f 755/1108/172 756/1109/172 739/1088/172 749/1100/172 -f 756/1109/126 740/1110/126 739/1111/126 -f 746/1112/127 745/1113/127 757/1114/127 -f 757/1114/172 758/1115/172 759/1116/172 746/1097/172 -f 758/1115/126 760/1117/126 759/1118/126 -f 761/1119/136 762/1120/136 756/1109/136 755/1108/136 -f 763/1121/132 764/1122/132 743/1107/132 740/1123/132 -f 765/1124/127 766/1125/127 757/1114/127 745/1113/127 -f 767/1126/126 768/1127/126 760/1117/126 758/1115/126 -f 762/1120/126 763/1128/126 740/1110/126 756/1109/126 -f 766/1125/136 767/1126/136 758/1115/136 757/1114/136 -f 768/1129/132 765/1124/132 745/1113/132 760/1130/132 -f 764/1122/127 761/1119/127 755/1108/127 743/1107/127 -f 760/1131/179 745/1096/179 748/1099/179 769/1132/179 -f 743/1093/127 749/1100/127 750/1101/127 744/1094/127 -f 770/1133/125 771/1134/125 772/1135/125 773/1136/125 -f 732/1065/131 731/1080/131 736/1071/131 735/1070/131 -f 717/1066/130 732/1065/130 735/1070/130 719/1137/130 -f 737/1073/136 738/1075/136 724/1138/136 723/1139/136 -f 747/1098/182 774/1140/182 775/1141/182 751/1102/182 -f 774/1140/126 769/1142/126 776/1143/126 775/1141/126 -f 742/1091/126 741/1090/126 754/1144/126 777/1145/126 -f 769/1132/181 748/1099/181 752/1103/181 776/1146/181 -f 744/1094/127 750/1101/127 778/1147/127 753/1104/127 -f 750/1101/182 742/1091/182 777/1145/182 778/1147/182 -f 759/1116/126 760/1148/126 769/1142/126 774/1140/126 -f 746/1097/180 759/1116/180 774/1140/180 747/1098/180 -f 779/1149/162 780/1150/162 781/1151/162 782/1152/162 -f 771/1134/132 783/1153/132 784/1154/132 772/1135/132 -f 782/1152/124 781/1151/124 785/1155/124 786/1156/124 -f 783/1153/124 787/1157/124 788/1158/124 784/1154/124 -f 786/1159/163 785/1160/163 789/1161/163 790/1162/163 -f 787/1157/136 770/1163/136 773/1164/136 788/1158/136 -f 790/1162/160 789/1161/160 791/1165/160 792/1166/160 -f 781/1167/127 780/1168/127 793/1169/127 791/1170/127 789/1171/127 785/1172/127 -f 792/1166/125 791/1165/125 793/1173/125 794/1174/125 -f 794/1174/161 793/1173/161 780/1150/161 779/1149/161 -f 779/1175/126 782/1176/126 786/1177/126 790/1178/126 792/1179/126 794/1180/126 -f 784/1154/129 788/1158/129 795/1181/129 796/1182/129 -f 784/1183/132 796/1182/132 772/1184/132 -f 773/1185/136 795/1181/136 788/1186/136 -f 795/1181/136 773/1185/136 797/1187/136 798/1188/136 -f 798/1189/124 797/1190/124 799/1191/124 800/1192/124 -f 796/1182/127 795/1181/127 798/1188/127 801/1193/127 -f 772/1184/132 796/1182/132 801/1193/132 802/1194/132 -f 773/1195/126 772/1184/126 802/1194/126 797/1196/126 -f 798/1189/127 803/1197/127 801/1198/127 -f 802/1199/126 804/1200/126 797/1201/126 -f 801/1193/170 803/1197/170 804/1200/170 802/1194/170 -f 805/1202/180 806/1203/180 807/1204/180 808/1205/180 -f 803/1197/127 798/1189/127 800/1192/127 806/1203/127 -f 804/1200/125 803/1197/125 806/1203/125 805/1202/125 -f 797/1201/126 804/1200/126 805/1202/126 799/1206/126 -f 809/1207/127 810/1208/127 807/1209/127 -f 799/1206/126 805/1202/126 808/1205/126 811/1210/126 -f 800/1192/179 799/1191/179 811/1211/179 809/1212/179 -f 806/1203/127 800/1192/127 809/1212/127 807/1204/127 -f 807/1204/172 810/1208/172 812/1213/172 808/1205/172 -f 811/1214/126 812/1213/126 813/1215/126 814/1216/126 -f 811/1214/126 808/1217/126 812/1213/126 -f 815/1218/132 814/1219/132 816/1220/132 817/1221/132 -f 809/1207/132 811/1222/132 814/1223/132 818/1224/132 -f 810/1208/127 809/1207/127 818/1224/127 819/1225/127 -f 812/1213/136 810/1208/136 819/1225/136 813/1215/136 -f 819/1226/136 820/1227/136 813/1228/136 -f 818/1224/129 815/1218/129 820/1227/129 819/1225/129 -f 814/1219/132 815/1218/132 818/1229/132 -f 814/1230/125 813/1228/125 821/1231/125 816/1232/125 -f 813/1228/136 820/1227/136 822/1233/136 821/1231/136 -f 820/1227/124 815/1218/124 817/1221/124 822/1233/124 -f 660/1234/124 661/1235/124 659/1236/124 658/1237/124 -f 1052/1238/183 1053/1239/183 1054/1240/183 1055/1241/183 -f 1056/1242/183 1057/1243/183 1058/1244/183 1059/1245/183 -f 1060/1246/183 1061/1247/183 1062/1248/183 1063/1249/183 -f 1061/1247/183 1064/1250/183 1065/1251/183 1062/1248/183 -f 1066/1252/183 1052/1238/183 1055/1241/183 1067/1253/183 -f 1053/1239/183 1056/1242/183 1059/1245/183 1054/1240/183 -f 1057/1243/183 1060/1246/183 1063/1249/183 1058/1244/183 -f 1064/1250/183 1066/1254/183 1067/1255/183 1065/1251/183 -f 1068/1256/183 1069/1257/183 1070/1258/183 1071/1259/183 1072/1260/183 1073/1261/183 1074/1262/183 1075/1263/183 -f 1076/1264/183 1077/1265/183 1078/1266/183 1079/1267/183 -f 1077/1265/183 1080/1268/183 1081/1269/183 1078/1266/183 -f 1080/1268/184 1082/1270/184 1083/1271/184 1081/1269/184 -f 1082/1272/184 1084/1273/184 1085/1274/184 1083/1275/184 -f 1084/1273/183 1086/1276/183 1087/1277/183 1085/1274/183 -f 1086/1276/184 1088/1278/184 1089/1279/184 1087/1277/184 -f 1088/1278/184 1090/1280/184 1091/1281/184 1089/1279/184 -f 1090/1280/184 1076/1264/184 1079/1267/184 1091/1281/184 -f 1140/1282/185 1141/1283/185 1142/1284/185 1143/1285/185 -f 1144/1286/185 1145/1287/185 1146/1288/185 1147/1289/185 -f 1148/1290/185 1149/1291/185 1150/1292/185 1151/1293/185 -f 1149/1291/185 1152/1294/185 1153/1295/185 1150/1292/185 -f 1154/1296/185 1140/1282/185 1143/1285/185 1155/1297/185 -f 1141/1283/185 1144/1286/185 1147/1289/185 1142/1284/185 -f 1145/1287/185 1148/1290/185 1151/1293/185 1146/1288/185 -f 1152/1294/185 1154/1298/185 1155/1299/185 1153/1295/185 -f 1156/1300/185 1157/1301/185 1158/1302/185 1159/1303/185 1160/1304/185 1161/1305/185 1162/1306/185 1163/1307/185 -f 1164/1308/185 1165/1309/185 1166/1310/185 1167/1311/185 -f 1165/1309/185 1168/1312/185 1169/1313/185 1166/1310/185 -f 1168/1312/186 1170/1314/186 1171/1315/186 1169/1313/186 -f 1170/1316/186 1172/1317/186 1173/1318/186 1171/1319/186 -f 1172/1317/185 1174/1320/185 1175/1321/185 1173/1318/185 -f 1174/1320/185 1176/1322/185 1177/1323/185 1175/1321/185 -f 1176/1322/186 1178/1324/186 1179/1325/186 1177/1323/186 -f 1178/1324/185 1164/1308/185 1167/1311/185 1179/1325/185 -f 1228/1326/187 1229/1327/187 1230/1328/187 1231/1329/187 -f 1232/1330/187 1233/1331/187 1234/1332/187 1235/1333/187 -f 1236/1334/187 1237/1335/187 1238/1336/187 1239/1337/187 -f 1237/1335/187 1240/1338/187 1241/1339/187 1238/1336/187 -f 1242/1340/187 1228/1326/187 1231/1329/187 1243/1341/187 -f 1229/1327/187 1232/1330/187 1235/1333/187 1230/1328/187 -f 1233/1331/187 1236/1334/187 1239/1337/187 1234/1332/187 -f 1240/1338/187 1242/1342/187 1243/1343/187 1241/1339/187 -f 1244/1344/187 1245/1345/187 1246/1346/187 1247/1347/187 1248/1348/187 1249/1349/187 1250/1350/187 1251/1351/187 -f 1252/1352/187 1253/1353/187 1254/1354/187 1255/1355/187 -f 1253/1353/187 1256/1356/187 1257/1357/187 1254/1354/187 -f 1256/1356/188 1258/1358/188 1259/1359/188 1257/1357/188 -f 1258/1360/188 1260/1361/188 1261/1362/188 1259/1363/188 -f 1260/1361/188 1262/1364/188 1263/1365/188 1261/1362/188 -f 1262/1364/188 1264/1366/188 1265/1367/188 1263/1365/188 -f 1264/1366/188 1266/1368/188 1267/1369/188 1265/1367/188 -f 1266/1368/187 1252/1352/187 1255/1355/187 1267/1369/187 -f 1316/1370/189 1317/1371/189 1318/1372/189 1319/1373/189 -f 1320/1374/189 1321/1375/189 1322/1376/189 1323/1377/189 -f 1324/1378/190 1325/1379/190 1326/1380/190 1327/1381/190 -f 1325/1379/189 1328/1382/189 1329/1383/189 1326/1380/189 -f 1330/1384/189 1316/1370/189 1319/1373/189 1331/1385/189 -f 1317/1371/189 1320/1374/189 1323/1377/189 1318/1372/189 -f 1321/1375/189 1324/1378/189 1327/1381/189 1322/1376/189 -f 1328/1382/189 1330/1386/189 1331/1387/189 1329/1383/189 -f 1332/1388/189 1333/1389/189 1334/1390/189 1335/1391/189 1336/1392/189 1337/1393/189 1338/1394/189 1339/1395/189 -f 1340/1396/190 1341/1397/190 1342/1398/190 1343/1399/190 -f 1341/1397/190 1344/1400/190 1345/1401/190 1342/1398/190 -f 1344/1400/190 1346/1402/190 1347/1403/190 1345/1401/190 -f 1346/1404/190 1348/1405/190 1349/1406/190 1347/1407/190 -f 1348/1405/189 1350/1408/189 1351/1409/189 1349/1406/189 -f 1350/1408/190 1352/1410/190 1353/1411/190 1351/1409/190 -f 1352/1410/190 1354/1412/190 1355/1413/190 1353/1411/190 -f 1354/1412/189 1340/1396/189 1343/1399/189 1355/1413/189 -f 1404/1414/191 1405/1415/191 1406/1416/191 1407/1417/191 -f 1408/1418/191 1409/1419/191 1410/1420/191 1411/1421/191 -f 1412/1422/192 1413/1423/192 1414/1424/192 1415/1425/192 -f 1413/1423/191 1416/1426/191 1417/1427/191 1414/1424/191 -f 1418/1428/191 1404/1414/191 1407/1417/191 1419/1429/191 -f 1405/1415/191 1408/1418/191 1411/1421/191 1406/1416/191 -f 1409/1419/191 1412/1422/191 1415/1425/191 1410/1420/191 -f 1416/1426/191 1418/1430/191 1419/1431/191 1417/1427/191 -f 1420/1432/191 1421/1433/191 1422/1434/191 1423/1435/191 1424/1436/191 1425/1437/191 1426/1438/191 1427/1439/191 -f 1428/1440/192 1429/1441/192 1430/1442/192 1431/1443/192 -f 1429/1441/192 1432/1444/192 1433/1445/192 1430/1442/192 -f 1432/1444/192 1434/1446/192 1435/1447/192 1433/1445/192 -f 1434/1448/192 1436/1449/192 1437/1450/192 1435/1451/192 -f 1436/1449/191 1438/1452/191 1439/1453/191 1437/1450/191 -f 1438/1452/192 1440/1454/192 1441/1455/192 1439/1453/192 -f 1440/1454/192 1442/1456/192 1443/1457/192 1441/1455/192 -f 1442/1456/191 1428/1440/191 1431/1443/191 1443/1457/191 -f 1492/1458/193 1493/1459/193 1494/1460/193 1495/1461/193 -f 1496/1462/193 1497/1463/193 1498/1464/193 1499/1465/193 -f 1500/1466/194 1501/1467/194 1502/1468/194 1503/1469/194 -f 1501/1467/193 1504/1470/193 1505/1471/193 1502/1468/193 -f 1506/1472/193 1492/1458/193 1495/1461/193 1507/1473/193 -f 1493/1459/193 1496/1462/193 1499/1465/193 1494/1460/193 -f 1497/1463/193 1500/1466/193 1503/1469/193 1498/1464/193 -f 1504/1470/193 1506/1474/193 1507/1475/193 1505/1471/193 -f 1508/1476/193 1509/1477/193 1510/1478/193 1511/1479/193 1512/1480/193 1513/1481/193 1514/1482/193 1515/1483/193 -f 1516/1484/194 1517/1485/194 1518/1486/194 1519/1487/194 -f 1517/1485/194 1520/1488/194 1521/1489/194 1518/1486/194 -f 1520/1488/194 1522/1490/194 1523/1491/194 1521/1489/194 -f 1522/1492/194 1524/1493/194 1525/1494/194 1523/1495/194 -f 1524/1493/193 1526/1496/193 1527/1497/193 1525/1494/193 -f 1526/1496/194 1528/1498/194 1529/1499/194 1527/1497/194 -f 1528/1498/194 1530/1500/194 1531/1501/194 1529/1499/194 -f 1530/1500/194 1516/1484/194 1519/1487/194 1531/1501/194 -f 1580/1502/195 1581/1503/195 1582/1504/195 1583/1505/195 -f 1584/1506/195 1585/1507/195 1586/1508/195 1587/1509/195 -f 1588/1510/195 1589/1511/195 1590/1512/195 1591/1513/195 -f 1589/1511/195 1592/1514/195 1593/1515/195 1590/1512/195 -f 1594/1516/195 1580/1502/195 1583/1505/195 1595/1517/195 -f 1581/1503/195 1584/1506/195 1587/1509/195 1582/1504/195 -f 1585/1507/195 1588/1510/195 1591/1513/195 1586/1508/195 -f 1592/1514/195 1594/1518/195 1595/1519/195 1593/1515/195 -f 1596/1520/195 1597/1521/195 1598/1522/195 1599/1523/195 1600/1524/195 1601/1525/195 1602/1526/195 1603/1527/195 -f 1604/1528/196 1605/1529/196 1606/1530/196 1607/1531/196 -f 1605/1529/196 1608/1532/196 1609/1533/196 1606/1530/196 -f 1608/1532/196 1610/1534/196 1611/1535/196 1609/1533/196 -f 1610/1536/196 1612/1537/196 1613/1538/196 1611/1539/196 -f 1612/1537/195 1614/1540/195 1615/1541/195 1613/1538/195 -f 1614/1540/196 1616/1542/196 1617/1543/196 1615/1541/196 -f 1616/1542/196 1618/1544/196 1619/1545/196 1617/1543/196 -f 1618/1544/195 1604/1528/195 1607/1531/195 1619/1545/195 -f 1668/1546/197 1669/1547/197 1670/1548/197 1671/1549/197 -f 1672/1550/198 1673/1551/198 1671/1549/198 1670/1548/198 -f 1674/1552/199 1672/1553/199 1670/1548/199 1669/1547/199 -f 1675/1554/200 1674/1555/200 1669/1547/200 1668/1546/200 -f 1673/1556/201 1675/1557/201 1668/1546/201 1671/1549/201 -f 1676/1558/202 1677/1559/202 1678/1560/202 1679/1561/202 -f 1680/1562/203 1681/1563/203 1679/1561/203 1678/1560/203 -f 1682/1564/204 1680/1565/204 1678/1560/204 1677/1559/204 -f 1683/1566/205 1682/1567/205 1677/1559/205 1676/1558/205 -f 1681/1568/206 1683/1569/206 1676/1558/206 1679/1561/206 -f 1684/1570/207 1685/1571/207 1686/1572/207 1687/1573/207 -f 1688/1574/208 1689/1575/208 1687/1573/208 1686/1572/208 -f 1690/1576/209 1688/1577/209 1686/1572/209 1685/1571/209 -f 1691/1578/210 1690/1579/210 1685/1571/210 1684/1570/210 -f 1689/1580/211 1691/1581/211 1684/1570/211 1687/1573/211 -f 1692/1582/212 1693/1583/212 1694/1584/212 1695/1585/212 -f 1696/1586/213 1697/1587/213 1695/1585/213 1694/1584/213 -f 1698/1588/214 1696/1589/214 1694/1584/214 1693/1583/214 -f 1699/1590/215 1698/1591/215 1693/1583/215 1692/1582/215 -f 1697/1592/216 1699/1593/216 1692/1582/216 1695/1585/216 -f 1700/1594/217 1701/1595/217 1702/1596/217 1703/1597/217 -f 1704/1598/218 1705/1599/218 1703/1597/218 1702/1596/218 -f 1706/1600/219 1704/1601/219 1702/1596/219 1701/1595/219 -f 1707/1602/220 1706/1603/220 1701/1595/220 1700/1594/220 -f 1705/1604/221 1707/1605/221 1700/1594/221 1703/1597/221 -f 1708/1606/222 1709/1607/222 1710/1608/222 1711/1609/222 -f 1712/1610/223 1713/1611/223 1711/1609/223 1710/1608/223 -f 1714/1612/224 1712/1613/224 1710/1608/224 1709/1607/224 -f 1715/1614/225 1714/1615/225 1709/1607/225 1708/1606/225 -f 1713/1616/226 1715/1617/226 1708/1606/226 1711/1609/226 -f 1716/1618/227 1717/1619/227 1718/1620/227 1719/1621/227 -f 1720/1622/228 1721/1623/228 1719/1621/228 1718/1620/228 -f 1722/1624/229 1720/1625/229 1718/1620/229 1717/1619/229 -f 1723/1626/230 1722/1627/230 1717/1619/230 1716/1618/230 -f 1721/1628/231 1723/1629/231 1716/1618/231 1719/1621/231 -f 1724/1630/232 1725/1631/232 1726/1632/232 1727/1633/232 -f 1728/1634/233 1729/1635/233 1727/1633/233 1726/1632/233 -f 1730/1636/234 1728/1637/234 1726/1632/234 1725/1631/234 -f 1731/1638/235 1730/1639/235 1725/1631/235 1724/1630/235 -f 1729/1640/236 1731/1641/236 1724/1630/236 1727/1633/236 -f 1732/1642/237 1733/1643/237 1734/1644/237 1735/1645/237 -f 1736/1646/238 1737/1647/238 1735/1645/238 1734/1644/238 -f 1738/1648/239 1736/1649/239 1734/1644/239 1733/1643/239 -f 1739/1650/240 1738/1651/240 1733/1643/240 1732/1642/240 -f 1737/1652/241 1739/1653/241 1732/1642/241 1735/1645/241 -f 1740/1654/242 1741/1655/242 1742/1656/242 1743/1657/242 -f 1744/1658/243 1745/1659/243 1743/1657/243 1742/1656/243 -f 1746/1660/244 1744/1661/244 1742/1656/244 1741/1655/244 -f 1747/1662/245 1746/1663/245 1741/1655/245 1740/1654/245 -f 1745/1664/246 1747/1665/246 1740/1654/246 1743/1657/246 -f 1748/1666/247 1749/1667/247 1750/1668/247 1751/1669/247 -f 1752/1670/248 1753/1671/248 1751/1669/248 1750/1668/248 -f 1754/1672/249 1752/1673/249 1750/1668/249 1749/1667/249 -f 1755/1674/250 1754/1675/250 1749/1667/250 1748/1666/250 -f 1753/1676/251 1755/1677/251 1748/1666/251 1751/1669/251 -f 1756/1678/252 1757/1679/252 1758/1680/252 1759/1681/252 -f 1760/1682/253 1761/1683/253 1759/1681/253 1758/1680/253 -f 1762/1684/254 1760/1685/254 1758/1680/254 1757/1679/254 -f 1763/1686/255 1762/1687/255 1757/1679/255 1756/1678/255 -f 1761/1688/256 1763/1689/256 1756/1678/256 1759/1681/256 -f 1764/1690/257 1765/1691/257 1766/1692/257 1767/1693/257 -f 1768/1694/258 1769/1695/258 1767/1693/258 1766/1692/258 -f 1770/1696/259 1768/1697/259 1766/1692/259 1765/1691/259 -f 1771/1698/260 1770/1699/260 1765/1691/260 1764/1690/260 -f 1769/1700/261 1771/1701/261 1764/1690/261 1767/1693/261 -f 1772/1702/262 1773/1703/262 1774/1704/262 1775/1705/262 -f 1776/1706/263 1777/1707/263 1775/1705/263 1774/1704/263 -f 1778/1708/264 1776/1709/264 1774/1704/264 1773/1703/264 -f 1779/1710/265 1778/1711/265 1773/1703/265 1772/1702/265 -f 1777/1712/266 1779/1713/266 1772/1702/266 1775/1705/266 -f 1780/1714/267 1781/1715/267 1782/1716/267 1783/1717/267 -f 1784/1718/268 1785/1719/268 1783/1717/268 1782/1716/268 -f 1786/1720/269 1784/1721/269 1782/1716/269 1781/1715/269 -f 1787/1722/270 1786/1723/270 1781/1715/270 1780/1714/270 -f 1785/1724/271 1787/1725/271 1780/1714/271 1783/1717/271 -f 1789/1726/126 1788/1727/126 1792/1728/126 1793/1729/126 -f 330/481/125 329/480/125 1790/1040/125 1788/1730/125 -f 453/1051/125 330/481/125 1788/1730/125 1789/1731/125 -f 454/1038/125 453/1051/125 1789/1731/125 1791/1039/125 -f 1793/1732/125 1792/1733/125 1794/1734/125 1795/1735/125 -f 1791/1736/136 1789/1737/136 1793/1738/136 1795/1739/136 -f 1788/1740/132 1790/1741/132 1794/1742/132 1792/1743/132 -f 1790/1744/127 1791/1745/127 1795/1746/127 1794/1747/127 -s 1 -f 249/1748/272 248/1749/273 823/1750/273 824/1751/272 -f 246/1752/274 249/1748/272 824/1751/272 825/1753/274 -f 247/1754/275 246/1752/274 825/1753/274 826/1755/275 -f 243/1756/276 247/1754/275 826/1755/275 827/1757/276 -f 244/1758/277 243/1756/276 827/1757/276 828/1759/277 -f 245/1760/278 244/1758/277 828/1759/277 829/1761/278 -f 258/1762/279 245/1760/278 829/1761/278 830/1763/279 -f 256/1764/280 258/1762/279 830/1763/279 831/1765/280 -f 257/1766/281 256/1764/280 831/1765/280 832/1767/281 -f 254/1768/282 257/1769/281 832/1770/281 833/1771/282 -f 255/1772/283 254/1768/282 833/1771/282 834/1773/283 -f 252/1774/284 255/1772/283 834/1773/283 835/1775/284 -f 253/1776/285 252/1774/284 835/1775/284 836/1777/285 -f 250/1778/286 253/1776/285 836/1777/285 837/1779/286 -f 251/1780/287 250/1778/286 837/1779/286 838/1781/287 -f 248/1749/273 251/1780/287 838/1781/287 823/1750/273 -f 824/1751/124 823/1750/288 839/1782/288 840/1783/124 -f 825/1753/289 824/1751/124 840/1783/124 841/1784/289 -f 832/1767/125 831/1765/290 842/1785/290 843/1786/125 -f 823/1750/288 838/1781/129 844/1787/129 839/1782/288 -f 831/1765/290 830/1763/131 845/1788/131 842/1785/290 -f 838/1781/129 837/1779/291 846/1789/291 844/1787/129 -f 830/1763/131 829/1761/292 847/1790/292 845/1788/131 -f 837/1779/291 836/1777/127 848/1791/127 846/1789/291 -f 829/1761/292 828/1759/126 849/1792/126 847/1790/292 -f 836/1777/127 835/1775/293 850/1793/293 848/1791/127 -f 828/1759/126 827/1757/294 851/1794/294 849/1792/126 -f 835/1775/293 834/1773/128 852/1795/128 850/1793/293 -f 827/1757/294 826/1755/130 853/1796/130 851/1794/294 -f 834/1773/128 833/1771/295 854/1797/295 852/1795/128 -f 826/1755/130 825/1753/289 841/1784/289 853/1796/130 -f 833/1771/295 832/1770/125 843/1798/125 854/1797/295 -f 855/1799/296 856/1800/297 857/1801/298 858/1802/299 -f 859/1803/300 860/1804/151 861/1805/301 862/1806/302 -f 863/1807/303 864/1808/304 865/1809/305 866/1810/306 -f 864/1808/304 867/1811/307 868/1812/308 865/1809/305 -f 869/1813/149 855/1799/296 858/1802/299 870/1814/309 -f 856/1800/297 859/1803/300 862/1806/302 857/1801/298 -f 860/1804/151 863/1807/303 866/1810/306 861/1805/301 -f 867/1811/307 869/1815/149 870/1816/309 868/1812/308 -f 866/1810/306 865/1809/305 871/1817/310 872/1818/311 -f 862/1806/302 861/1805/301 873/1819/312 874/1820/313 -f 858/1802/299 857/1801/298 875/1821/314 876/1822/315 -f 868/1812/308 870/1816/309 877/1823/146 878/1824/316 -f 861/1805/301 866/1810/306 872/1818/311 873/1819/312 -f 857/1801/298 862/1806/302 874/1820/313 875/1821/314 -f 870/1814/309 858/1802/299 876/1822/315 877/1825/146 -f 865/1809/305 868/1812/308 878/1824/316 871/1817/310 -f 877/1825/146 876/1822/315 879/1826/317 880/1827/136 -f 871/1817/310 878/1824/316 881/1828/318 882/1829/319 -f 872/1818/311 871/1817/310 882/1829/319 883/1830/320 -f 874/1820/313 873/1819/312 884/1831/132 885/1832/321 -f 876/1822/315 875/1821/314 886/1833/322 879/1826/317 -f 878/1824/316 877/1823/146 880/1834/136 881/1828/318 -f 873/1819/312 872/1818/311 883/1830/320 884/1831/132 -f 875/1821/314 874/1820/313 885/1832/321 886/1833/322 -f 884/1831/132 883/1830/320 887/1835/323 888/1836/324 -f 886/1833/322 885/1832/321 889/1837/325 890/1838/326 -f 880/1827/136 879/1826/317 891/1839/327 892/1840/328 -f 882/1829/319 881/1828/318 893/1841/329 894/1842/330 -f 883/1830/320 882/1829/319 894/1842/330 887/1835/323 -f 885/1832/321 884/1831/132 888/1836/324 889/1837/325 -f 879/1826/317 886/1833/322 890/1838/326 891/1839/327 -f 881/1828/318 880/1834/136 892/1843/328 893/1841/329 -f 895/1844/291 896/1845/331 345/500/331 342/497/291 -f 897/1846/332 898/1847/333 333/488/333 347/502/332 -f 899/1848/292 900/1849/334 337/492/334 334/489/292 -f 901/1850/335 902/1851/336 341/496/336 338/493/335 -f 896/1845/331 897/1852/332 347/504/332 345/500/331 -f 898/1847/333 899/1848/292 334/489/292 333/488/333 -f 900/1849/334 901/1850/335 338/493/335 337/492/334 -f 902/1851/336 895/1844/291 342/497/291 341/496/336 -f 350/1853/334 349/1854/292 359/516/292 362/519/334 -f 344/499/336 343/498/291 358/515/291 357/514/336 -f 351/1855/335 350/1853/334 362/519/334 364/521/335 -f 343/498/291 346/501/331 361/518/331 358/515/291 -f 352/1856/336 351/1857/335 364/525/335 366/524/336 -f 346/501/331 348/505/332 363/520/332 361/518/331 -f 353/1858/291 352/1856/336 366/524/336 368/527/291 -f 348/503/332 336/491/333 365/523/333 363/522/332 -f 339/494/335 344/499/336 357/514/336 371/530/335 -f 349/1854/292 356/1859/333 360/517/333 359/516/292 -f 340/495/334 339/494/335 371/530/335 369/528/334 -f 356/1859/333 355/1860/332 372/531/332 360/517/333 -f 335/490/292 340/495/334 369/528/334 367/526/292 -f 355/1860/332 354/1861/331 370/529/331 372/531/332 -f 336/491/333 335/490/292 367/526/292 365/523/333 -f 354/1861/331 353/1858/291 368/527/291 370/529/331 -f 845/1788/337 847/1790/338 431/1862/338 430/1863/337 -f 846/1789/339 848/1791/340 424/1864/340 423/1865/339 -f 847/1790/338 849/1792/341 432/1866/341 431/1867/338 -f 848/1791/340 850/1793/342 425/1868/342 424/1869/340 -f 849/1792/341 851/1794/343 433/1870/343 432/1871/341 -f 850/1793/342 852/1795/344 426/1872/344 425/1873/342 -f 851/1794/343 853/1796/345 434/1874/345 433/1875/343 -f 852/1795/344 854/1797/346 427/1876/346 426/1877/344 -f 853/1796/345 841/1784/347 435/1878/347 434/1879/345 -f 854/1797/346 843/1798/348 428/1880/348 427/1881/346 -f 840/1783/349 839/1782/350 421/1882/350 436/1883/349 -f 841/1784/347 840/1783/349 436/1884/349 435/1885/347 -f 843/1786/348 842/1785/351 429/1886/351 428/1887/348 -f 839/1782/350 844/1787/352 422/1888/352 421/1889/350 -f 842/1785/351 845/1788/337 430/1890/337 429/1891/351 -f 844/1787/352 846/1789/339 423/1892/339 422/1893/352 -f 903/1894/293 904/1895/295 382/545/295 381/544/293 -f 905/1896/288 906/1897/291 393/556/291 395/559/288 -f 907/1898/294 908/1899/289 397/566/289 399/565/294 -f 909/1900/290 910/1901/292 401/569/292 403/572/290 -f 906/1897/291 903/1894/293 381/544/293 393/556/291 -f 908/1902/289 905/1896/288 395/559/288 397/562/289 -f 910/1901/292 907/1898/294 399/565/294 401/569/292 -f 904/1895/295 909/1900/290 403/572/290 382/545/295 -f 384/547/293 383/546/295 407/579/295 406/578/293 -f 385/1903/288 392/1904/289 408/605/289 419/608/288 -f 392/1905/289 391/1906/294 405/577/294 408/580/289 -f 394/558/291 384/557/293 406/583/293 410/582/291 -f 391/1907/294 390/1908/292 409/581/292 405/584/294 -f 396/561/288 394/560/291 410/587/291 412/586/288 -f 390/1909/292 389/1910/290 411/585/290 409/588/292 -f 398/564/289 396/563/288 412/591/288 414/590/289 -f 383/576/295 404/575/290 420/607/290 407/606/295 -f 386/1911/291 385/1912/288 419/601/288 417/604/291 -f 404/574/290 402/573/292 418/603/292 420/602/290 -f 387/1913/293 386/1914/291 417/597/291 415/600/293 -f 402/571/292 400/570/294 416/599/294 418/598/292 -f 388/1915/295 387/1916/293 415/593/293 413/596/295 -f 400/568/294 398/567/289 414/595/289 416/594/294 -f 389/1917/290 388/1918/295 413/589/295 411/592/290 -f 445/1919/124 444/1920/289 465/1921/289 464/1922/124 -f 450/1923/290 452/1924/125 456/1925/125 455/1926/290 -f 452/1924/125 439/1927/295 457/1928/295 456/1925/125 -f 442/1929/288 445/1930/124 464/1931/124 463/1932/288 -f 451/1933/131 450/1923/290 455/1926/290 470/1934/131 -f 443/1935/129 442/1929/288 463/1932/288 462/1936/129 -f 448/1937/292 451/1933/131 470/1934/131 469/1938/292 -f 440/1939/291 443/1935/129 462/1936/129 461/1940/291 -f 449/1941/126 448/1937/292 469/1938/292 468/1942/126 -f 441/1943/127 440/1939/291 461/1940/291 460/1944/127 -f 446/1945/294 449/1941/126 468/1942/126 467/1946/294 -f 437/1947/293 441/1943/127 460/1944/127 459/1948/293 -f 447/1949/130 446/1945/294 467/1946/294 466/1950/130 -f 438/1951/128 437/1947/293 459/1948/293 458/1952/128 -f 444/1920/289 447/1949/130 466/1950/130 465/1921/289 -f 439/1927/295 438/1951/128 458/1952/128 457/1928/295 -f 911/1953/353 912/1954/173 688/1955/173 687/1956/353 -f 913/1957/126 914/1958/354 691/1959/354 690/1960/126 -f 694/1030/355 693/1029/355 702/1037/356 700/1961/356 -f 915/1962/357 911/1953/353 687/1956/353 686/1963/357 -f 916/1964/358 913/1957/126 690/1960/126 689/1965/358 -f 700/1961/356 702/1037/356 701/1966/359 699/1967/359 -f 917/1968/360 692/1969/361 684/1970/361 683/1971/360 -f 696/1972/362 915/1962/357 686/1963/357 685/1973/362 -f 912/1954/173 916/1964/358 689/1965/358 688/1955/173 -f 699/1967/359 701/1966/359 918/1974/127 698/1975/127 -f 914/1958/354 917/1968/360 683/1971/360 691/1959/354 -f 695/1031/363 697/1034/363 698/1975/127 918/1974/127 -f 919/1976/155 920/1977/356 709/1978/356 708/1979/155 -f 921/1980/126 922/1981/354 706/1982/354 705/1983/126 -f 923/1984/364 924/1985/357 713/1986/357 712/1987/364 -f 925/1988/353 926/1989/173 703/1990/173 714/1991/353 -f 920/1977/356 927/1992/359 710/1993/359 709/1978/356 -f 922/1981/354 928/1994/360 707/1995/360 706/1982/354 -f 924/1985/357 925/1996/353 714/1997/353 713/1986/357 -f 926/1989/173 929/1998/358 704/1999/358 703/1990/173 -f 927/1992/359 930/2000/127 711/2001/127 710/1993/359 -f 928/1994/360 919/1976/155 708/1979/155 707/1995/360 -f 929/1998/358 921/1980/126 705/1983/126 704/1999/358 -f 930/2000/127 923/1984/364 712/1987/364 711/2001/127 -f 931/2002/365 932/2003/366 933/2004/367 934/2005/368 -f 935/2006/369 936/2007/370 937/2008/371 938/2009/372 -f 939/2010/373 940/2011/374 941/2012/375 942/2013/376 -f 943/2014/377 944/2015/378 945/2016/379 946/2017/380 -f 946/2017/380 945/2016/379 940/2011/374 939/2010/373 -f 947/2018/381 948/2019/382 944/2015/378 943/2014/377 -f 945/2016/379 949/2020/383 950/2021/384 940/2011/374 -f 948/2019/382 951/2022/385 952/2023/386 944/2015/378 -f 940/2011/374 950/2021/384 953/2024/387 941/2012/375 -f 944/2015/378 952/2023/386 949/2020/383 945/2016/379 -f 954/2025/373 955/2026/374 956/2027/375 957/2028/376 -f 958/2029/377 959/2030/378 960/2031/379 961/2032/380 -f 961/2032/380 960/2031/379 955/2026/374 954/2025/373 -f 962/2033/381 963/2034/382 959/2030/378 958/2029/377 -f 960/2031/379 964/2035/383 965/2036/384 955/2026/374 -f 963/2034/382 966/2037/385 967/2038/386 959/2030/378 -f 955/2026/374 965/2036/384 968/2039/387 956/2027/375 -f 959/2030/378 967/2038/386 964/2035/383 960/2031/379 -f 969/2040/373 970/2041/374 971/2042/375 972/2043/376 -f 973/2044/377 974/2045/388 975/2046/379 976/2047/380 -f 976/2047/380 975/2046/379 970/2041/374 969/2040/373 -f 977/2048/381 978/2049/382 974/2045/388 973/2044/377 -f 975/2046/379 979/2050/383 980/2051/384 970/2041/374 -f 978/2049/382 981/2052/385 982/2053/386 974/2045/388 -f 970/2041/374 980/2051/384 983/2054/387 971/2042/375 -f 974/2045/388 982/2053/386 979/2050/383 975/2046/379 -f 939/2010/373 942/2013/376 984/2055/295 985/2056/125 -f 954/2025/373 957/2028/376 986/2057/295 987/2058/125 -f 946/2017/380 939/2010/373 985/2056/125 988/2059/131 -f 943/2014/377 946/2017/380 988/2059/131 989/2060/126 -f 969/2040/373 972/2043/376 990/2061/295 991/2062/125 -f 961/2032/380 954/2025/373 987/2058/125 992/2063/131 -f 947/2018/381 943/2014/377 989/2060/126 993/2064/294 -f 958/2029/377 961/2032/380 992/2063/131 994/2065/126 -f 976/2047/380 969/2040/373 991/2062/125 995/2066/131 -f 973/2044/377 976/2047/380 995/2066/131 996/2067/126 -f 962/2033/381 958/2029/377 994/2065/126 997/2068/294 -f 977/2048/381 973/2044/377 996/2067/126 998/2069/294 -f 932/2003/366 935/2006/369 938/2009/372 933/2004/367 -f 999/2070/389 931/2002/365 934/2005/368 1000/2071/390 -f 933/2004/367 938/2009/372 1001/2072/391 1002/2073/392 -f 1000/2071/390 934/2005/368 1003/2074/393 1004/2075/394 -f 938/2009/372 937/2008/371 1005/2076/395 1001/2072/391 -f 934/2005/368 933/2004/367 1002/2073/392 1003/2074/393 -f 1006/2077/369 1007/2078/370 1008/2079/371 1009/2080/396 -f 1010/2081/365 1011/2082/366 1012/2083/367 1013/2084/368 -f 1011/2082/366 1006/2077/369 1009/2080/396 1012/2083/367 -f 1014/2085/389 1010/2081/365 1013/2084/368 1015/2086/390 -f 1012/2083/367 1009/2080/396 1016/2087/391 1017/2088/392 -f 1015/2086/390 1013/2084/368 1018/2089/393 1019/2090/394 -f 1009/2080/396 1008/2079/371 1020/2091/395 1016/2087/391 -f 1013/2084/368 1012/2083/367 1017/2088/392 1018/2089/393 -f 1021/2092/369 1022/2093/370 1023/2094/371 1024/2095/372 -f 1025/2096/365 1026/2097/366 1027/2098/367 1028/2099/397 -f 1026/2097/366 1021/2092/369 1024/2095/372 1027/2098/367 -f 1029/2100/389 1025/2096/365 1028/2099/397 1030/2101/390 -f 1027/2098/367 1024/2095/372 1031/2102/391 1032/2103/392 -f 1030/2101/390 1028/2099/397 1033/2104/393 1034/2105/394 -f 1024/2095/372 1023/2094/371 1035/2106/395 1031/2102/391 -f 1028/2099/397 1027/2098/367 1032/2103/392 1033/2104/393 -f 935/2006/369 1036/2107/125 1037/2108/290 936/2007/370 -f 1006/2077/369 1038/2109/125 1039/2110/290 1007/2078/370 -f 932/2003/366 1040/2111/128 1036/2107/125 935/2006/369 -f 931/2002/365 1041/2112/127 1040/2111/128 932/2003/366 -f 1021/2092/369 1042/2113/125 1043/2114/290 1022/2093/370 -f 1011/2082/366 1044/2115/128 1038/2109/125 1006/2077/369 -f 999/2070/389 1045/2116/291 1041/2112/127 931/2002/365 -f 1010/2081/365 1046/2117/127 1044/2115/128 1011/2082/366 -f 1026/2097/366 1047/2118/128 1042/2113/125 1021/2092/369 -f 1025/2096/365 1048/2119/127 1047/2118/128 1026/2097/366 -f 1014/2085/389 1049/2120/291 1046/2117/127 1010/2081/365 -f 1029/2100/389 1050/2121/291 1048/2119/127 1025/2096/365 -f 1092/2122/398 1093/2123/399 1094/2124/400 1095/2125/401 -f 1096/2126/402 1097/2127/147 1098/2128/403 1099/2129/404 -f 1100/2130/405 1101/2131/406 1102/2132/407 1103/2133/408 -f 1101/2131/406 1104/2134/409 1105/2135/410 1102/2132/407 -f 1106/2136/148 1092/2122/398 1095/2125/401 1107/2137/411 -f 1093/2123/399 1096/2126/402 1099/2129/404 1094/2124/400 -f 1097/2127/147 1100/2130/405 1103/2133/408 1098/2128/403 -f 1104/2134/409 1106/2138/148 1107/2139/411 1105/2135/410 -f 1103/2133/408 1102/2132/407 1108/2140/412 1109/2141/413 -f 1099/2129/404 1098/2128/403 1110/2142/150 1111/2143/414 -f 1095/2125/401 1094/2124/400 1112/2144/415 1113/2145/416 -f 1105/2135/410 1107/2139/411 1114/2146/152 1115/2147/417 -f 1098/2128/403 1103/2133/408 1109/2141/413 1110/2142/150 -f 1094/2124/400 1099/2129/404 1111/2143/414 1112/2144/415 -f 1107/2137/411 1095/2125/401 1113/2145/416 1114/2148/152 -f 1102/2132/407 1105/2135/410 1115/2147/417 1108/2140/412 -f 1114/2148/152 1113/2145/416 1116/2149/318 1117/2150/136 -f 1108/2140/412 1115/2147/417 1118/2151/317 1119/2152/322 -f 1109/2141/413 1108/2140/412 1119/2152/322 1120/2153/418 -f 1111/2143/414 1110/2142/150 1121/2154/132 1122/2155/419 -f 1113/2145/416 1112/2144/415 1123/2156/319 1116/2149/318 -f 1115/2147/417 1114/2146/152 1117/2157/136 1118/2151/317 -f 1110/2142/150 1109/2141/413 1120/2153/418 1121/2154/132 -f 1112/2144/415 1111/2143/414 1122/2155/419 1123/2156/319 -f 1121/2154/132 1120/2153/418 1124/2158/420 1125/2159/421 -f 1123/2156/319 1122/2155/419 1126/2160/422 1127/2161/423 -f 1117/2150/136 1116/2149/318 1128/2162/424 1129/2163/425 -f 1119/2152/322 1118/2151/317 1130/2164/426 1131/2165/427 -f 1120/2153/418 1119/2152/322 1131/2165/427 1124/2158/420 -f 1122/2155/419 1121/2154/132 1125/2159/421 1126/2160/422 -f 1116/2149/318 1123/2156/319 1127/2161/423 1128/2162/424 -f 1118/2151/317 1117/2157/136 1129/2166/425 1130/2164/426 -f 1132/2167/292 1133/2168/428 1064/1250/428 1061/1247/292 -f 1134/2169/429 1135/2170/430 1052/1238/430 1066/1252/429 -f 1136/2171/291 1137/2172/431 1056/1242/431 1053/1239/291 -f 1138/2173/432 1139/2174/433 1060/1246/433 1057/1243/432 -f 1133/2168/428 1134/2175/429 1066/1254/429 1064/1250/428 -f 1135/2170/430 1136/2171/291 1053/1239/291 1052/1238/430 -f 1137/2172/431 1138/2173/432 1057/1243/432 1056/1242/431 -f 1139/2174/433 1132/2167/292 1061/1247/292 1060/1246/433 -f 1069/2176/431 1068/2177/291 1078/1266/291 1081/1269/431 -f 1063/1249/433 1062/1248/292 1077/1265/292 1076/1264/433 -f 1070/2178/432 1069/2176/431 1081/1269/431 1083/1271/432 -f 1062/1248/292 1065/1251/428 1080/1268/428 1077/1265/292 -f 1071/2179/433 1070/2180/432 1083/1275/432 1085/1274/433 -f 1065/1251/428 1067/1255/429 1082/1270/429 1080/1268/428 -f 1072/2181/292 1071/2179/433 1085/1274/433 1087/1277/292 -f 1067/1253/429 1055/1241/430 1084/1273/430 1082/1272/429 -f 1058/1244/432 1063/1249/433 1076/1264/433 1090/1280/432 -f 1068/2177/291 1075/2182/430 1079/1267/430 1078/1266/291 -f 1059/1245/431 1058/1244/432 1090/1280/432 1088/1278/431 -f 1075/2182/430 1074/2183/429 1091/1281/429 1079/1267/430 -f 1054/1240/291 1059/1245/431 1088/1278/431 1086/1276/291 -f 1074/2183/429 1073/2184/428 1089/1279/428 1091/1281/429 -f 1055/1241/430 1054/1240/291 1086/1276/291 1084/1273/430 -f 1073/2184/428 1072/2181/292 1087/1277/292 1089/1279/428 -f 1180/2185/434 1181/2186/435 1182/2187/436 1183/2188/437 -f 1184/2189/438 1185/2190/439 1186/2191/440 1187/2192/441 -f 1188/2193/442 1189/2194/443 1190/2195/444 1191/2196/445 -f 1189/2194/443 1192/2197/446 1193/2198/447 1190/2195/444 -f 1194/2199/448 1180/2185/434 1183/2188/437 1195/2200/449 -f 1181/2186/435 1184/2189/438 1187/2192/441 1182/2187/436 -f 1185/2190/439 1188/2193/442 1191/2196/445 1186/2191/440 -f 1192/2197/446 1194/2201/448 1195/2202/449 1193/2198/447 -f 1191/2196/445 1190/2195/444 1196/2203/450 1197/2204/451 -f 1187/2192/441 1186/2191/440 1198/2205/452 1199/2206/453 -f 1183/2188/437 1182/2187/436 1200/2207/454 1201/2208/455 -f 1193/2198/447 1195/2202/449 1202/2209/456 1203/2210/457 -f 1186/2191/440 1191/2196/445 1197/2204/451 1198/2205/452 -f 1182/2187/436 1187/2192/441 1199/2206/453 1200/2207/454 -f 1195/2200/449 1183/2188/437 1201/2208/455 1202/2211/456 -f 1190/2195/444 1193/2198/447 1203/2210/457 1196/2203/450 -f 1202/2211/456 1201/2208/455 1204/2212/458 1205/2213/136 -f 1196/2203/450 1203/2210/457 1206/2214/459 1207/2215/460 -f 1197/2204/451 1196/2203/450 1207/2215/460 1208/2216/461 -f 1199/2206/453 1198/2205/452 1209/2217/132 1210/2218/462 -f 1201/2208/455 1200/2207/454 1211/2219/463 1204/2212/458 -f 1203/2210/457 1202/2209/456 1205/2220/136 1206/2214/459 -f 1198/2205/452 1197/2204/451 1208/2216/461 1209/2217/132 -f 1200/2207/454 1199/2206/453 1210/2218/462 1211/2219/463 -f 1209/2217/132 1208/2216/461 1212/2221/464 1213/2222/465 -f 1211/2219/463 1210/2218/462 1214/2223/466 1215/2224/467 -f 1205/2213/136 1204/2212/458 1216/2225/468 1217/2226/469 -f 1207/2215/460 1206/2214/459 1218/2227/470 1219/2228/471 -f 1208/2216/461 1207/2215/460 1219/2228/471 1212/2221/464 -f 1210/2218/462 1209/2217/132 1213/2222/465 1214/2223/466 -f 1204/2212/458 1211/2219/463 1215/2224/467 1216/2225/468 -f 1206/2214/459 1205/2220/136 1217/2229/469 1218/2227/470 -f 1220/2230/289 1221/2231/472 1152/1294/472 1149/1291/289 -f 1222/2232/473 1223/2233/474 1140/1282/474 1154/1296/473 -f 1224/2234/295 1225/2235/475 1144/1286/475 1141/1283/295 -f 1226/2236/476 1227/2237/477 1148/1290/477 1145/1287/476 -f 1221/2231/472 1222/2238/473 1154/1298/473 1152/1294/472 -f 1223/2233/474 1224/2234/295 1141/1283/295 1140/1282/474 -f 1225/2235/475 1226/2236/476 1145/1287/476 1144/1286/475 -f 1227/2237/477 1220/2230/289 1149/1291/289 1148/1290/477 -f 1157/2239/475 1156/2240/295 1166/1310/295 1169/1313/475 -f 1151/1293/477 1150/1292/289 1165/1309/289 1164/1308/477 -f 1158/2241/476 1157/2239/475 1169/1313/475 1171/1315/476 -f 1150/1292/289 1153/1295/472 1168/1312/472 1165/1309/289 -f 1159/2242/477 1158/2243/476 1171/1319/476 1173/1318/477 -f 1153/1295/472 1155/1299/473 1170/1314/473 1168/1312/472 -f 1160/2244/289 1159/2242/477 1173/1318/477 1175/1321/289 -f 1155/1297/473 1143/1285/474 1172/1317/474 1170/1316/473 -f 1146/1288/476 1151/1293/477 1164/1308/477 1178/1324/476 -f 1156/2240/295 1163/2245/474 1167/1311/474 1166/1310/295 -f 1147/1289/475 1146/1288/476 1178/1324/476 1176/1322/475 -f 1163/2245/474 1162/2246/473 1179/1325/473 1167/1311/474 -f 1142/1284/295 1147/1289/475 1176/1322/475 1174/1320/295 -f 1162/2246/473 1161/2247/472 1177/1323/472 1179/1325/473 -f 1143/1285/474 1142/1284/295 1174/1320/295 1172/1317/474 -f 1161/2247/472 1160/2244/289 1175/1321/289 1177/1323/472 -f 1268/2248/478 1269/2249/479 1270/2250/480 1271/2251/481 -f 1272/2252/482 1273/2253/483 1274/2254/484 1275/2255/485 -f 1276/2256/486 1277/2257/487 1278/2258/488 1279/2259/489 -f 1277/2257/487 1280/2260/490 1281/2261/491 1278/2258/488 -f 1282/2262/492 1268/2248/478 1271/2251/481 1283/2263/493 -f 1269/2249/479 1272/2252/482 1275/2255/485 1270/2250/480 -f 1273/2253/483 1276/2256/486 1279/2259/489 1274/2254/484 -f 1280/2260/490 1282/2264/492 1283/2265/493 1281/2261/491 -f 1279/2259/489 1278/2258/488 1284/2266/494 1285/2267/495 -f 1275/2255/485 1274/2254/484 1286/2268/496 1287/2269/497 -f 1271/2251/481 1270/2250/480 1288/2270/498 1289/2271/499 -f 1281/2261/491 1283/2265/493 1290/2272/500 1291/2273/501 -f 1274/2254/484 1279/2259/489 1285/2267/495 1286/2268/496 -f 1270/2250/480 1275/2255/485 1287/2269/497 1288/2270/498 -f 1283/2263/493 1271/2251/481 1289/2271/499 1290/2274/500 -f 1278/2258/488 1281/2261/491 1291/2273/501 1284/2266/494 -f 1290/2274/500 1289/2271/499 1292/2275/459 1293/2276/136 -f 1284/2266/494 1291/2273/501 1294/2277/458 1295/2278/463 -f 1285/2267/495 1284/2266/494 1295/2278/463 1296/2279/502 -f 1287/2269/497 1286/2268/496 1297/2280/132 1298/2281/503 -f 1289/2271/499 1288/2270/498 1299/2282/460 1292/2275/459 -f 1291/2273/501 1290/2272/500 1293/2283/136 1294/2277/458 -f 1286/2268/496 1285/2267/495 1296/2279/502 1297/2280/132 -f 1288/2270/498 1287/2269/497 1298/2281/503 1299/2282/460 -f 1297/2280/132 1296/2279/502 1300/2284/504 1301/2285/505 -f 1299/2282/460 1298/2281/503 1302/2286/506 1303/2287/507 -f 1293/2276/136 1292/2275/459 1304/2288/508 1305/2289/509 -f 1295/2278/463 1294/2277/458 1306/2290/510 1307/2291/511 -f 1296/2279/502 1295/2278/463 1307/2291/511 1300/2284/504 -f 1298/2281/503 1297/2280/132 1301/2285/505 1302/2286/506 -f 1292/2275/459 1299/2282/460 1303/2287/507 1304/2288/508 -f 1294/2277/458 1293/2283/136 1305/2292/509 1306/2290/510 -f 1308/2293/295 1309/2294/512 1240/1338/512 1237/1335/295 -f 1310/2295/513 1311/2296/514 1228/1326/514 1242/1340/513 -f 1312/2297/289 1313/2298/515 1232/1330/515 1229/1327/289 -f 1314/2299/516 1315/2300/517 1236/1334/517 1233/1331/516 -f 1309/2294/512 1310/2301/513 1242/1342/513 1240/1338/512 -f 1311/2296/514 1312/2297/289 1229/1327/289 1228/1326/514 -f 1313/2298/515 1314/2299/516 1233/1331/516 1232/1330/515 -f 1315/2300/517 1308/2293/295 1237/1335/295 1236/1334/517 -f 1245/2302/515 1244/2303/289 1254/1354/289 1257/1357/515 -f 1239/1337/517 1238/1336/295 1253/1353/295 1252/1352/517 -f 1246/2304/516 1245/2302/515 1257/1357/515 1259/1359/516 -f 1238/1336/295 1241/1339/512 1256/1356/512 1253/1353/295 -f 1247/2305/517 1246/2306/516 1259/1363/516 1261/1362/517 -f 1241/1339/512 1243/1343/513 1258/1358/513 1256/1356/512 -f 1248/2307/295 1247/2305/517 1261/1362/517 1263/1365/295 -f 1243/1341/513 1231/1329/514 1260/1361/514 1258/1360/513 -f 1234/1332/516 1239/1337/517 1252/1352/517 1266/1368/516 -f 1244/2303/289 1251/2308/514 1255/1355/514 1254/1354/289 -f 1235/1333/515 1234/1332/516 1266/1368/516 1264/1366/515 -f 1251/2308/514 1250/2309/513 1267/1369/513 1255/1355/514 -f 1230/1328/289 1235/1333/515 1264/1366/515 1262/1364/289 -f 1250/2309/513 1249/2310/512 1265/1367/512 1267/1369/513 -f 1231/1329/514 1230/1328/289 1262/1364/289 1260/1361/514 -f 1249/2310/512 1248/2307/295 1263/1365/295 1265/1367/512 -f 1356/2311/518 1357/2312/519 1358/2313/520 1359/2314/521 -f 1360/2315/522 1361/2316/523 1362/2317/524 1363/2318/525 -f 1364/2319/526 1365/2320/527 1366/2321/528 1367/2322/529 -f 1365/2320/527 1368/2323/530 1369/2324/531 1366/2321/528 -f 1370/2325/532 1356/2311/518 1359/2314/521 1371/2326/533 -f 1357/2312/519 1360/2315/522 1363/2318/525 1358/2313/520 -f 1361/2316/523 1364/2319/526 1367/2322/529 1362/2317/524 -f 1368/2323/530 1370/2327/532 1371/2328/533 1369/2324/531 -f 1367/2322/529 1366/2321/528 1372/2329/534 1373/2330/535 -f 1363/2318/525 1362/2317/524 1374/2331/392 1375/2332/536 -f 1359/2314/521 1358/2313/520 1376/2333/537 1377/2334/538 -f 1369/2324/531 1371/2328/533 1378/2335/539 1379/2336/540 -f 1362/2317/524 1367/2322/529 1373/2330/535 1374/2331/392 -f 1358/2313/520 1363/2318/525 1375/2332/536 1376/2333/537 -f 1371/2326/533 1359/2314/521 1377/2334/538 1378/2337/539 -f 1366/2321/528 1369/2324/531 1379/2336/540 1372/2329/534 -f 1378/2337/539 1377/2334/538 1380/2338/541 1381/2339/136 -f 1372/2329/534 1379/2336/540 1382/2340/542 1383/2341/543 -f 1373/2330/535 1372/2329/534 1383/2341/543 1384/2342/544 -f 1375/2332/536 1374/2331/392 1385/2343/132 1386/2344/545 -f 1377/2334/538 1376/2333/537 1387/2345/546 1380/2338/541 -f 1379/2336/540 1378/2335/539 1381/2346/136 1382/2340/542 -f 1374/2331/392 1373/2330/535 1384/2342/544 1385/2343/132 -f 1376/2333/537 1375/2332/536 1386/2344/545 1387/2345/546 -f 1385/2343/132 1384/2342/544 1388/2347/547 1389/2348/548 -f 1387/2345/546 1386/2344/545 1390/2349/549 1391/2350/550 -f 1381/2339/136 1380/2338/541 1392/2351/551 1393/2352/552 -f 1383/2341/543 1382/2340/542 1394/2353/553 1395/2354/554 -f 1384/2342/544 1383/2341/543 1395/2354/554 1388/2347/547 -f 1386/2344/545 1385/2343/132 1389/2348/548 1390/2349/549 -f 1380/2338/541 1387/2345/546 1391/2350/550 1392/2351/551 -f 1382/2340/542 1381/2346/136 1393/2355/552 1394/2353/553 -f 1396/2356/288 1397/2357/555 1328/1382/555 1325/1379/288 -f 1398/2358/556 1399/2359/557 1316/1370/557 1330/1384/556 -f 1400/2360/290 1401/2361/558 1320/1374/558 1317/1371/290 -f 1402/2362/559 1403/2363/560 1324/1378/560 1321/1375/559 -f 1397/2357/555 1398/2364/556 1330/1386/556 1328/1382/555 -f 1399/2359/557 1400/2360/290 1317/1371/290 1316/1370/557 -f 1401/2361/558 1402/2362/559 1321/1375/559 1320/1374/558 -f 1403/2363/560 1396/2356/288 1325/1379/288 1324/1378/560 -f 1333/2365/558 1332/2366/290 1342/1398/290 1345/1401/558 -f 1327/1381/560 1326/1380/288 1341/1397/288 1340/1396/560 -f 1334/2367/559 1333/2365/558 1345/1401/558 1347/1403/559 -f 1326/1380/288 1329/1383/555 1344/1400/555 1341/1397/288 -f 1335/2368/560 1334/2369/559 1347/1407/559 1349/1406/560 -f 1329/1383/555 1331/1387/556 1346/1402/556 1344/1400/555 -f 1336/2370/288 1335/2368/560 1349/1406/560 1351/1409/288 -f 1331/1385/556 1319/1373/557 1348/1405/557 1346/1404/556 -f 1322/1376/559 1327/1381/560 1340/1396/560 1354/1412/559 -f 1332/2366/290 1339/2371/557 1343/1399/557 1342/1398/290 -f 1323/1377/558 1322/1376/559 1354/1412/559 1352/1410/558 -f 1339/2371/557 1338/2372/556 1355/1413/556 1343/1399/557 -f 1318/1372/290 1323/1377/558 1352/1410/558 1350/1408/290 -f 1338/2372/556 1337/2373/555 1353/1411/555 1355/1413/556 -f 1319/1373/557 1318/1372/290 1350/1408/290 1348/1405/557 -f 1337/2373/555 1336/2370/288 1351/1409/288 1353/1411/555 -f 1444/2374/561 1445/2375/562 1446/2376/563 1447/2377/564 -f 1448/2378/565 1449/2379/566 1450/2380/567 1451/2381/568 -f 1452/2382/569 1453/2383/570 1454/2384/571 1455/2385/572 -f 1453/2383/570 1456/2386/573 1457/2387/574 1454/2384/571 -f 1458/2388/575 1444/2374/561 1447/2377/564 1459/2389/576 -f 1445/2375/562 1448/2378/565 1451/2381/568 1446/2376/563 -f 1449/2379/566 1452/2382/569 1455/2385/572 1450/2380/567 -f 1456/2386/573 1458/2390/575 1459/2391/576 1457/2387/574 -f 1455/2385/572 1454/2384/571 1460/2392/577 1461/2393/578 -f 1451/2381/568 1450/2380/567 1462/2394/579 1463/2395/580 -f 1447/2377/564 1446/2376/563 1464/2396/581 1465/2397/582 -f 1457/2387/574 1459/2391/576 1466/2398/583 1467/2399/584 -f 1450/2380/567 1455/2385/572 1461/2393/578 1462/2394/579 -f 1446/2376/563 1451/2381/568 1463/2395/580 1464/2396/581 -f 1459/2389/576 1447/2377/564 1465/2397/582 1466/2400/583 -f 1454/2384/571 1457/2387/574 1467/2399/584 1460/2392/577 -f 1466/2400/583 1465/2397/582 1468/2401/542 1469/2402/136 -f 1460/2392/577 1467/2399/584 1470/2403/541 1471/2404/546 -f 1461/2393/578 1460/2392/577 1471/2404/546 1472/2405/545 -f 1463/2395/580 1462/2394/579 1473/2406/132 1474/2407/544 -f 1465/2397/582 1464/2396/581 1475/2408/543 1468/2401/542 -f 1467/2399/584 1466/2398/583 1469/2409/136 1470/2403/541 -f 1462/2394/579 1461/2393/578 1472/2405/545 1473/2406/132 -f 1464/2396/581 1463/2395/580 1474/2407/544 1475/2408/543 -f 1473/2406/132 1472/2405/545 1476/2410/585 1477/2411/586 -f 1475/2408/543 1474/2407/544 1478/2412/587 1479/2413/588 -f 1469/2402/136 1468/2401/542 1480/2414/589 1481/2415/590 -f 1471/2404/546 1470/2403/541 1482/2416/591 1483/2417/592 -f 1472/2405/545 1471/2404/546 1483/2417/592 1476/2410/585 -f 1474/2407/544 1473/2406/132 1477/2411/586 1478/2412/587 -f 1468/2401/542 1475/2408/543 1479/2413/588 1480/2414/589 -f 1470/2403/541 1469/2409/136 1481/2418/590 1482/2416/591 -f 1484/2419/290 1485/2420/593 1416/1426/593 1413/1423/290 -f 1486/2421/594 1487/2422/595 1404/1414/595 1418/1428/594 -f 1488/2423/288 1489/2424/596 1408/1418/596 1405/1415/288 -f 1490/2425/597 1491/2426/598 1412/1422/598 1409/1419/597 -f 1485/2420/593 1486/2427/594 1418/1430/594 1416/1426/593 -f 1487/2422/595 1488/2423/288 1405/1415/288 1404/1414/595 -f 1489/2424/596 1490/2425/597 1409/1419/597 1408/1418/596 -f 1491/2426/598 1484/2419/290 1413/1423/290 1412/1422/598 -f 1421/2428/596 1420/2429/288 1430/1442/288 1433/1445/596 -f 1415/1425/598 1414/1424/290 1429/1441/290 1428/1440/598 -f 1422/2430/597 1421/2428/596 1433/1445/596 1435/1447/597 -f 1414/1424/290 1417/1427/593 1432/1444/593 1429/1441/290 -f 1423/2431/598 1422/2432/597 1435/1451/597 1437/1450/598 -f 1417/1427/593 1419/1431/594 1434/1446/594 1432/1444/593 -f 1424/2433/290 1423/2431/598 1437/1450/598 1439/1453/290 -f 1419/1429/594 1407/1417/595 1436/1449/595 1434/1448/594 -f 1410/1420/597 1415/1425/598 1428/1440/598 1442/1456/597 -f 1420/2429/288 1427/2434/595 1431/1443/595 1430/1442/288 -f 1411/1421/596 1410/1420/597 1442/1456/597 1440/1454/596 -f 1427/2434/595 1426/2435/594 1443/1457/594 1431/1443/595 -f 1406/1416/288 1411/1421/596 1440/1454/596 1438/1452/288 -f 1426/2435/594 1425/2436/593 1441/1455/593 1443/1457/594 -f 1407/1417/595 1406/1416/288 1438/1452/288 1436/1449/595 -f 1425/2436/593 1424/2433/290 1439/1453/290 1441/1455/593 -f 1532/2437/599 1533/2438/600 1534/2439/601 1535/2440/602 -f 1536/2441/603 1537/2442/604 1538/2443/605 1539/2444/606 -f 1540/2445/607 1541/2446/608 1542/2447/609 1543/2448/610 -f 1541/2446/608 1544/2449/611 1545/2450/612 1542/2447/609 -f 1546/2451/613 1532/2437/599 1535/2440/602 1547/2452/614 -f 1533/2438/600 1536/2441/603 1539/2444/606 1534/2439/601 -f 1537/2442/604 1540/2445/607 1543/2448/610 1538/2443/605 -f 1544/2449/611 1546/2453/613 1547/2454/614 1545/2450/612 -f 1543/2448/610 1542/2447/609 1548/2455/615 1549/2456/616 -f 1539/2444/606 1538/2443/605 1550/2457/617 1551/2458/618 -f 1535/2440/602 1534/2439/601 1552/2459/619 1553/2460/620 -f 1545/2450/612 1547/2454/614 1554/2461/621 1555/2462/622 -f 1538/2443/605 1543/2448/610 1549/2456/616 1550/2457/617 -f 1534/2439/601 1539/2444/606 1551/2458/618 1552/2459/619 -f 1547/2452/614 1535/2440/602 1553/2460/620 1554/2463/621 -f 1542/2447/609 1545/2450/612 1555/2462/622 1548/2455/615 -f 1554/2463/621 1553/2460/620 1556/2464/623 1557/2465/136 -f 1548/2455/615 1555/2462/622 1558/2466/624 1559/2467/625 -f 1549/2456/616 1548/2455/615 1559/2467/625 1560/2468/626 -f 1551/2458/618 1550/2457/617 1561/2469/132 1562/2470/627 -f 1553/2460/620 1552/2459/619 1563/2471/628 1556/2464/623 -f 1555/2462/622 1554/2461/621 1557/2472/136 1558/2466/624 -f 1550/2457/617 1549/2456/616 1560/2468/626 1561/2469/132 -f 1552/2459/619 1551/2458/618 1562/2470/627 1563/2471/628 -f 1561/2469/132 1560/2468/626 1564/2473/629 1565/2474/630 -f 1563/2471/628 1562/2470/627 1566/2475/631 1567/2476/632 -f 1557/2465/136 1556/2464/623 1568/2477/633 1569/2478/634 -f 1559/2467/625 1558/2466/624 1570/2479/635 1571/2480/636 -f 1560/2468/626 1559/2467/625 1571/2480/636 1564/2473/629 -f 1562/2470/627 1561/2469/132 1565/2474/630 1566/2475/631 -f 1556/2464/623 1563/2471/628 1567/2476/632 1568/2477/633 -f 1558/2466/624 1557/2472/136 1569/2481/634 1570/2479/635 -f 1572/2482/294 1573/2483/637 1504/1470/637 1501/1467/294 -f 1574/2484/638 1575/2485/639 1492/1458/639 1506/1472/638 -f 1576/2486/293 1577/2487/640 1496/1462/640 1493/1459/293 -f 1578/2488/641 1579/2489/642 1500/1466/642 1497/1463/641 -f 1573/2483/637 1574/2490/638 1506/1474/638 1504/1470/637 -f 1575/2485/639 1576/2486/293 1493/1459/293 1492/1458/639 -f 1577/2487/640 1578/2488/641 1497/1463/641 1496/1462/640 -f 1579/2489/642 1572/2482/294 1501/1467/294 1500/1466/642 -f 1509/2491/640 1508/2492/293 1518/1486/293 1521/1489/640 -f 1503/1469/642 1502/1468/294 1517/1485/294 1516/1484/642 -f 1510/2493/641 1509/2491/640 1521/1489/640 1523/1491/641 -f 1502/1468/294 1505/1471/637 1520/1488/637 1517/1485/294 -f 1511/2494/642 1510/2495/641 1523/1495/641 1525/1494/642 -f 1505/1471/637 1507/1475/638 1522/1490/638 1520/1488/637 -f 1512/2496/294 1511/2494/642 1525/1494/642 1527/1497/294 -f 1507/1473/638 1495/1461/639 1524/1493/639 1522/1492/638 -f 1498/1464/641 1503/1469/642 1516/1484/642 1530/1500/641 -f 1508/2492/293 1515/2497/639 1519/1487/639 1518/1486/293 -f 1499/1465/640 1498/1464/641 1530/1500/641 1528/1498/640 -f 1515/2497/639 1514/2498/638 1531/1501/638 1519/1487/639 -f 1494/1460/293 1499/1465/640 1528/1498/640 1526/1496/293 -f 1514/2498/638 1513/2499/637 1529/1499/637 1531/1501/638 -f 1495/1461/639 1494/1460/293 1526/1496/293 1524/1493/639 -f 1513/2499/637 1512/2496/294 1527/1497/294 1529/1499/637 -f 1620/2500/643 1621/2501/644 1622/2502/645 1623/2503/646 -f 1624/2504/647 1625/2505/648 1626/2506/649 1627/2507/650 -f 1628/2508/651 1629/2509/652 1630/2510/653 1631/2511/654 -f 1629/2509/652 1632/2512/655 1633/2513/656 1630/2510/653 -f 1634/2514/657 1620/2500/643 1623/2503/646 1635/2515/658 -f 1621/2501/644 1624/2504/647 1627/2507/650 1622/2502/645 -f 1625/2505/648 1628/2508/651 1631/2511/654 1626/2506/649 -f 1632/2512/655 1634/2516/657 1635/2517/658 1633/2513/656 -f 1631/2511/654 1630/2510/653 1636/2518/659 1637/2519/660 -f 1627/2507/650 1626/2506/649 1638/2520/383 1639/2521/661 -f 1623/2503/646 1622/2502/645 1640/2522/662 1641/2523/663 -f 1633/2513/656 1635/2517/658 1642/2524/664 1643/2525/665 -f 1626/2506/649 1631/2511/654 1637/2519/660 1638/2520/383 -f 1622/2502/645 1627/2507/650 1639/2521/661 1640/2522/662 -f 1635/2515/658 1623/2503/646 1641/2523/663 1642/2526/664 -f 1630/2510/653 1633/2513/656 1643/2525/665 1636/2518/659 -f 1642/2526/664 1641/2523/663 1644/2527/624 1645/2528/136 -f 1636/2518/659 1643/2525/665 1646/2529/623 1647/2530/628 -f 1637/2519/660 1636/2518/659 1647/2530/628 1648/2531/627 -f 1639/2521/661 1638/2520/383 1649/2532/132 1650/2533/626 -f 1641/2523/663 1640/2522/662 1651/2534/625 1644/2527/624 -f 1643/2525/665 1642/2524/664 1645/2535/136 1646/2529/623 -f 1638/2520/383 1637/2519/660 1648/2531/627 1649/2532/132 -f 1640/2522/662 1639/2521/661 1650/2533/626 1651/2534/625 -f 1649/2532/132 1648/2531/627 1652/2536/666 1653/2537/667 -f 1651/2534/625 1650/2533/626 1654/2538/668 1655/2539/669 -f 1645/2528/136 1644/2527/624 1656/2540/670 1657/2541/671 -f 1647/2530/628 1646/2529/623 1658/2542/672 1659/2543/673 -f 1648/2531/627 1647/2530/628 1659/2543/673 1652/2536/666 -f 1650/2533/626 1649/2532/132 1653/2537/667 1654/2538/668 -f 1644/2527/624 1651/2534/625 1655/2539/669 1656/2540/670 -f 1646/2529/623 1645/2535/136 1657/2544/671 1658/2542/672 -f 1660/2545/293 1661/2546/674 1592/1514/674 1589/1511/293 -f 1662/2547/675 1663/2548/676 1580/1502/676 1594/1516/675 -f 1664/2549/294 1665/2550/677 1584/1506/677 1581/1503/294 -f 1666/2551/678 1667/2552/679 1588/1510/679 1585/1507/678 -f 1661/2546/674 1662/2553/675 1594/1518/675 1592/1514/674 -f 1663/2548/676 1664/2549/294 1581/1503/294 1580/1502/676 -f 1665/2550/677 1666/2551/678 1585/1507/678 1584/1506/677 -f 1667/2552/679 1660/2545/293 1589/1511/293 1588/1510/679 -f 1597/2554/677 1596/2555/294 1606/1530/294 1609/1533/677 -f 1591/1513/679 1590/1512/293 1605/1529/293 1604/1528/679 -f 1598/2556/678 1597/2554/677 1609/1533/677 1611/1535/678 -f 1590/1512/293 1593/1515/674 1608/1532/674 1605/1529/293 -f 1599/2557/679 1598/2558/678 1611/1539/678 1613/1538/679 -f 1593/1515/674 1595/1519/675 1610/1534/675 1608/1532/674 -f 1600/2559/293 1599/2557/679 1613/1538/679 1615/1541/293 -f 1595/1517/675 1583/1505/676 1612/1537/676 1610/1536/675 -f 1586/1508/678 1591/1513/679 1604/1528/679 1618/1544/678 -f 1596/2555/294 1603/2560/676 1607/1531/676 1606/1530/294 -f 1587/1509/677 1586/1508/678 1618/1544/678 1616/1542/677 -f 1603/2560/676 1602/2561/675 1619/1545/675 1607/1531/676 -f 1582/1504/294 1587/1509/677 1616/1542/677 1614/1540/294 -f 1602/2561/675 1601/2562/674 1617/1543/674 1619/1545/675 -f 1583/1505/676 1582/1504/294 1614/1540/294 1612/1537/676 -f 1601/2562/674 1600/2559/293 1615/1541/293 1617/1543/674 -f 1800/2563/128 1796/2564/125 1801/2565/680 1805/2566/681 -f 1797/2567/131 1798/2568/292 1803/2569/682 1802/2570/683 -f 1799/2571/293 1800/2563/128 1805/2566/681 1804/2572/684 -f 1796/2564/125 1797/2567/131 1802/2570/683 1801/2565/680 -f 1802/2570/683 1803/2569/682 1808/2573/685 1807/2574/686 -f 1804/2572/684 1805/2566/681 1810/2575/687 1809/2576/688 -f 1801/2565/680 1802/2570/683 1807/2574/686 1806/2577/170 -f 1805/2566/681 1801/2565/680 1806/2577/170 1810/2575/687 -f 1810/2575/687 1806/2577/170 1811/2578/312 1815/2579/689 -f 1807/2574/686 1808/2573/685 1813/2580/690 1812/2581/691 -f 1809/2576/688 1810/2575/687 1815/2579/689 1814/2582/692 -f 1806/2577/170 1807/2574/686 1812/2581/691 1811/2578/312 -f 1820/2583/128 1816/2584/125 1821/2585/680 1825/2586/681 -f 1817/2587/131 1818/2588/292 1823/2589/682 1822/2590/683 -f 1819/2591/293 1820/2583/128 1825/2586/681 1824/2592/684 -f 1816/2584/125 1817/2587/131 1822/2590/683 1821/2585/680 -f 1822/2590/683 1823/2589/682 1828/2593/685 1827/2594/686 -f 1824/2592/684 1825/2586/681 1830/2595/687 1829/2596/688 -f 1821/2585/680 1822/2590/683 1827/2594/686 1826/2597/170 -f 1825/2586/681 1821/2585/680 1826/2597/170 1830/2595/687 -f 1830/2595/687 1826/2597/170 1831/2598/312 1835/2599/689 -f 1827/2594/686 1828/2593/685 1833/2600/690 1832/2601/691 -f 1829/2596/688 1830/2595/687 1835/2599/689 1834/2602/692 -f 1826/2597/170 1827/2594/686 1832/2601/691 1831/2598/312 -f 1840/2603/128 1836/2604/125 1841/2605/680 1845/2606/681 -f 1837/2607/131 1838/2608/292 1843/2609/682 1842/2610/683 -f 1839/2611/293 1840/2603/128 1845/2606/681 1844/2612/684 -f 1836/2604/125 1837/2607/131 1842/2610/683 1841/2605/680 -f 1842/2610/683 1843/2609/682 1848/2613/685 1847/2614/686 -f 1844/2612/684 1845/2606/681 1850/2615/687 1849/2616/688 -f 1841/2605/680 1842/2610/683 1847/2614/686 1846/2617/170 -f 1845/2606/681 1841/2605/680 1846/2617/170 1850/2615/687 -f 1850/2615/687 1846/2617/170 1851/2618/312 1855/2619/689 -f 1847/2614/686 1848/2613/685 1853/2620/690 1852/2621/691 -f 1849/2616/688 1850/2615/687 1855/2619/689 1854/2622/692 -f 1846/2617/170 1847/2614/686 1852/2621/691 1851/2618/312 +f 1887/2680/725 1888/2681/725 1889/2682/725 +f 1889/2682/725 1890/2683/725 1891/2684/725 +f 1891/2684/725 1892/2685/725 1889/2682/725 +f 1892/2685/725 1893/2686/725 1889/2682/725 +f 1893/2686/725 1894/2687/725 1887/2680/725 +f 1887/2680/725 1895/2688/725 1888/2681/725 +f 1888/2681/725 1896/2689/725 1889/2682/725 +f 1896/2689/725 1897/2690/725 1889/2682/725 +f 1897/2690/725 1898/2691/725 1889/2682/725 +f 1893/2686/725 1887/2680/725 1889/2682/725 diff --git a/src/main/resources/assets/hbm/models/weapons/cryo_cannon_alt.obj b/src/main/resources/assets/hbm/models/weapons/cryo_cannon_alt.obj deleted file mode 100644 index 9276f71a0..000000000 --- a/src/main/resources/assets/hbm/models/weapons/cryo_cannon_alt.obj +++ /dev/null @@ -1,8217 +0,0 @@ -# Blender v2.79 (sub 0) OBJ File: 'cryo_cannon_alt.blend' -# www.blender.org -o Plane.004 -v -0.437500 2.102596 -3.042822 -v -0.483253 2.144063 -3.023486 -v -0.500000 2.200707 -2.997072 -v -0.483253 2.257351 -2.970659 -v -0.437500 2.298818 -2.951323 -v -0.375000 2.313995 -2.944245 -v -0.312500 2.298818 -2.951323 -v -0.266747 2.257351 -2.970659 -v -0.250000 2.200707 -2.997072 -v -0.266747 2.144063 -3.023486 -v -0.312500 2.102596 -3.042822 -v -0.375000 2.087419 -3.049900 -vt 0.500000 0.000000 -vt 0.066987 0.250000 -vt 0.500000 1.000000 -vt 0.750000 0.933013 -vt 0.933013 0.750000 -vt 1.000000 0.500000 -vt 0.933013 0.250000 -vt 0.750000 0.066987 -vt 0.250000 0.066987 -vt 0.000000 0.500000 -vt 0.066987 0.750000 -vt 0.250000 0.933013 -vn -0.0000 0.4226 -0.9063 -s off -f 6/1/1 8/2/1 12/3/1 -f 12/3/1 1/4/1 2/5/1 -f 2/5/1 3/6/1 12/3/1 -f 3/6/1 4/7/1 12/3/1 -f 4/7/1 5/8/1 6/1/1 -f 6/1/1 7/9/1 8/2/1 -f 8/2/1 9/10/1 12/3/1 -f 9/10/1 10/11/1 12/3/1 -f 10/11/1 11/12/1 12/3/1 -f 4/7/1 6/1/1 12/3/1 -o Plane.003 -v -0.216506 2.340409 -3.000889 -v -0.250000 2.227120 -3.053716 -v -0.216506 2.113832 -3.106544 -v -0.125000 2.030899 -3.145216 -v 0.000000 2.000544 -3.159371 -v 0.125000 2.030899 -3.145216 -v 0.216506 2.113832 -3.106544 -v 0.250000 2.227120 -3.053716 -v 0.216506 2.340409 -3.000889 -v 0.125000 2.423342 -2.962217 -v 0.000000 2.453697 -2.948062 -v -0.125000 2.423342 -2.962217 -vt 0.500000 0.000000 -vt 0.066987 0.250000 -vt 0.066987 0.750000 -vt 0.250000 0.933013 -vt 0.500000 1.000000 -vt 0.750000 0.933013 -vt 0.933013 0.750000 -vt 1.000000 0.500000 -vt 0.933013 0.250000 -vt 0.750000 0.066987 -vt 0.250000 0.066987 -vt 0.000000 0.500000 -vn 0.0000 0.4226 -0.9063 -s off -f 17/13/2 15/14/2 13/15/2 -f 13/15/2 24/16/2 23/17/2 -f 23/17/2 22/18/2 21/19/2 -f 21/19/2 20/20/2 19/21/2 -f 19/21/2 18/22/2 17/13/2 -f 17/13/2 16/23/2 15/14/2 -f 15/14/2 14/24/2 13/15/2 -f 13/15/2 23/17/2 17/13/2 -f 23/17/2 21/19/2 17/13/2 -f 21/19/2 19/21/2 17/13/2 -o Plane.002 -v -0.109472 2.437500 -0.413125 -v 0.003817 2.437500 -0.360298 -v 0.109472 2.437500 -0.586875 -v -0.003817 2.437500 -0.639702 -v 0.109472 2.312500 -0.586875 -v -0.003817 2.312500 -0.639702 -v -0.109472 2.312500 -0.413125 -v 0.003817 2.312500 -0.360298 -v 0.109472 0.062500 -0.413125 -v -0.003817 0.062500 -0.360298 -v -0.109472 0.062500 -0.586875 -v 0.003816 0.062500 -0.639702 -v -0.109472 0.187500 -0.586875 -v 0.003816 0.187500 -0.639702 -v 0.109472 0.187500 -0.413125 -v -0.003817 0.187500 -0.360298 -v 1.187500 1.359472 -0.413125 -v 1.187500 1.246183 -0.360298 -v 1.187500 1.140528 -0.586875 -v 1.187500 1.253817 -0.639702 -v 1.062500 1.140528 -0.586875 -v 1.062500 1.253817 -0.639702 -v 1.062500 1.359472 -0.413125 -v 1.062500 1.246183 -0.360298 -v -1.187500 1.140528 -0.413125 -v -1.187500 1.253817 -0.360298 -v -1.187500 1.359473 -0.586875 -v -1.187500 1.246184 -0.639702 -v -1.062500 1.359473 -0.586875 -v -1.062500 1.246184 -0.639702 -v -1.062500 1.140528 -0.413125 -v -1.062500 1.253817 -0.360298 -v 0.762281 2.167098 -0.413125 -v 0.842388 2.086991 -0.360298 -v 0.917098 2.012281 -0.586875 -v 0.836990 2.092388 -0.639702 -v 0.828709 1.923892 -0.586875 -v 0.748602 2.004000 -0.639702 -v 0.673892 2.078710 -0.413125 -v 0.754000 1.998602 -0.360298 -v -0.762281 0.332902 -0.413125 -v -0.842388 0.413010 -0.360298 -v -0.917098 0.487720 -0.586875 -v -0.836991 0.407612 -0.639702 -v -0.828710 0.576108 -0.586875 -v -0.748602 0.496001 -0.639702 -v -0.673892 0.421291 -0.413125 -v -0.754000 0.501398 -0.360298 -v 0.917098 0.487720 -0.413125 -v 0.836990 0.407612 -0.360298 -v 0.762280 0.332902 -0.586875 -v 0.842388 0.413010 -0.639702 -v 0.673892 0.421291 -0.586875 -v 0.753999 0.501398 -0.639702 -v 0.828709 0.576108 -0.413125 -v 0.748602 0.496001 -0.360298 -v -0.917098 2.012281 -0.413125 -v -0.836990 2.092388 -0.360298 -v -0.762281 2.167098 -0.586875 -v -0.842388 2.086991 -0.639702 -v -0.673892 2.078710 -0.586875 -v -0.754000 1.998602 -0.639702 -v -0.828709 1.923893 -0.413125 -v -0.748602 2.004000 -0.360298 -v 1.083141 0.751056 -0.413125 -v 1.026497 0.652945 -0.360298 -v 0.973669 0.561444 -0.586875 -v 1.030313 0.659555 -0.639702 -v 0.865416 0.623944 -0.586875 -v 0.922060 0.722055 -0.639702 -v 0.974888 0.813556 -0.413125 -v 0.918243 0.715445 -0.360298 -v -1.083141 1.748945 -0.413125 -v -1.026497 1.847056 -0.360298 -v -0.973669 1.938556 -0.586875 -v -1.030313 1.840445 -0.639702 -v -0.865416 1.876056 -0.586875 -v -0.922060 1.777945 -0.639702 -v -0.974888 1.686445 -0.413125 -v -0.918244 1.784556 -0.360298 -v -0.498944 0.166859 -0.413125 -v -0.597055 0.223504 -0.360298 -v -0.688556 0.276331 -0.586875 -v -0.590445 0.219687 -0.639702 -v -0.626056 0.384585 -0.586875 -v -0.527945 0.327940 -0.639702 -v -0.436444 0.275112 -0.413125 -v -0.534555 0.331757 -0.360298 -v 0.498944 2.333141 -0.413125 -v 0.597055 2.276497 -0.360298 -v 0.688556 2.223669 -0.586875 -v 0.590445 2.280313 -0.639702 -v 0.626056 2.115416 -0.586875 -v 0.527945 2.172060 -0.639702 -v 0.436444 2.224888 -0.413125 -v 0.534555 2.168244 -0.360298 -v 0.413089 0.131297 -0.413125 -v 0.303661 0.101975 -0.360298 -v 0.201605 0.074630 -0.586875 -v 0.311034 0.103951 -0.639702 -v 0.169253 0.195371 -0.586875 -v 0.278682 0.224692 -0.639702 -v 0.380737 0.252038 -0.413125 -v 0.271308 0.222716 -0.360298 -v -0.413090 2.368703 -0.413125 -v -0.303661 2.398025 -0.360298 -v -0.201605 2.425371 -0.586875 -v -0.311034 2.396049 -0.639702 -v -0.169253 2.304630 -0.586875 -v -0.278682 2.275309 -0.639702 -v -0.380737 2.247963 -0.413125 -v -0.271308 2.277284 -0.360298 -v -1.118703 0.836911 -0.413125 -v -1.148025 0.946339 -0.360298 -v -1.175370 1.048395 -0.586875 -v -1.146049 0.938966 -0.639702 -v -1.054630 1.080747 -0.586875 -v -1.025308 0.971319 -0.639702 -v -0.997963 0.869263 -0.413125 -v -1.027284 0.978692 -0.360298 -v 1.118703 1.663090 -0.413125 -v 1.148025 1.553661 -0.360298 -v 1.175370 1.451605 -0.586875 -v 1.146049 1.561034 -0.639702 -v 1.054630 1.419253 -0.586875 -v 1.025308 1.528682 -0.639702 -v 0.997963 1.630737 -0.413125 -v 1.027284 1.521308 -0.360298 -v -0.973669 0.561445 -0.413125 -v -1.030313 0.659556 -0.360298 -v -1.083141 0.751056 -0.586875 -v -1.026497 0.652945 -0.639702 -v -0.974888 0.813556 -0.586875 -v -0.918244 0.715445 -0.639702 -v -0.865416 0.623945 -0.413125 -v -0.922060 0.722056 -0.360298 -v 0.973669 1.938556 -0.413125 -v 1.030313 1.840445 -0.360298 -v 1.083141 1.748944 -0.586875 -v 1.026497 1.847055 -0.639702 -v 0.974888 1.686444 -0.586875 -v 0.918244 1.784555 -0.639702 -v 0.865416 1.876056 -0.413125 -v 0.922060 1.777945 -0.360298 -v -0.688556 2.223669 -0.413125 -v -0.590444 2.280313 -0.360298 -v -0.498944 2.333141 -0.586875 -v -0.597055 2.276497 -0.639702 -v -0.436444 2.224888 -0.586875 -v -0.534555 2.168244 -0.639702 -v -0.626056 2.115416 -0.413125 -v -0.527944 2.172060 -0.360298 -v 0.688555 0.276331 -0.413125 -v 0.590444 0.219687 -0.360298 -v 0.498944 0.166859 -0.586875 -v 0.597055 0.223503 -0.639702 -v 0.436444 0.275112 -0.586875 -v 0.534555 0.331756 -0.639702 -v 0.626055 0.384584 -0.413125 -v 0.527944 0.327940 -0.360298 -v -1.175370 1.451606 -0.413125 -v -1.146049 1.561034 -0.360298 -v -1.118703 1.663090 -0.586875 -v -1.148025 1.553661 -0.639702 -v -0.997963 1.630738 -0.586875 -v -1.027284 1.521309 -0.639702 -v -1.054630 1.419253 -0.413125 -v -1.025308 1.528682 -0.360298 -v 1.175370 1.048394 -0.413125 -v 1.146049 0.938966 -0.360298 -v 1.118703 0.836910 -0.586875 -v 1.148024 0.946339 -0.639702 -v 0.997963 0.869263 -0.586875 -v 1.027284 0.978691 -0.639702 -v 1.054630 1.080747 -0.413125 -v 1.025308 0.971318 -0.360298 -v 0.201606 2.425370 -0.413125 -v 0.311034 2.396049 -0.360298 -v 0.413090 2.368703 -0.586875 -v 0.303661 2.398025 -0.639702 -v 0.380738 2.247962 -0.586875 -v 0.271309 2.277284 -0.639702 -v 0.169253 2.304630 -0.413125 -v 0.278682 2.275308 -0.360298 -v -0.201606 0.074630 -0.413125 -v -0.311035 0.103951 -0.360298 -v -0.413090 0.131297 -0.586875 -v -0.303662 0.101975 -0.639702 -v -0.380738 0.252038 -0.586875 -v -0.271309 0.222716 -0.639702 -v -0.169254 0.195371 -0.413125 -v -0.278682 0.224692 -0.360298 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.303448 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.140625 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.303448 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.303448 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.140625 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.140625 -vt 0.303448 0.125000 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.303448 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.140625 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.140625 -vt 0.303448 0.125000 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.303448 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.303448 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.140625 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.140625 -vt 0.303448 0.125000 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.303448 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.140625 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.303448 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.303448 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.140625 -vt 0.303448 0.125000 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.140625 -vt 0.303448 0.125000 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.303448 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.140625 -vt 0.303448 0.125000 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.303448 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.140625 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.303448 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.303448 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.296552 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.140625 -vt 0.303448 0.125000 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.303448 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.303448 0.140625 -vt 0.317241 0.093750 -vt 0.317241 0.125000 -vt 0.303448 0.109375 -vt 0.317241 0.109375 -vt 0.303448 0.125000 -vt 0.296552 0.109375 -vt 0.324138 0.109375 -vt 0.324138 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.140625 -vt 0.303448 0.093750 -vt 0.317241 0.093750 -vt 0.296552 0.125000 -vt 0.324138 0.109375 -vt 0.317241 0.140625 -vt 0.303448 0.093750 -vt 0.296552 0.125000 -vt 0.324138 0.109375 -vt 0.303448 0.093750 -vt 0.296552 0.125000 -vt 0.324138 0.109375 -vt 0.317241 0.140625 -vt 0.303448 0.093750 -vt 0.324138 0.109375 -vt 0.317241 0.140625 -vt 0.303448 0.093750 -vt 0.296552 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.093750 -vt 0.317241 0.140625 -vt 0.303448 0.093750 -vt 0.296552 0.125000 -vt 0.324138 0.109375 -vt 0.303448 0.093750 -vt 0.324138 0.109375 -vt 0.303448 0.093750 -vt 0.296552 0.125000 -vt 0.324138 0.109375 -vt 0.317241 0.140625 -vt 0.303448 0.093750 -vt 0.317241 0.140625 -vt 0.303448 0.093750 -vt 0.296552 0.125000 -vt 0.324138 0.109375 -vt 0.317241 0.140625 -vt 0.303448 0.093750 -vt 0.296552 0.125000 -vt 0.303448 0.093750 -vt 0.296552 0.125000 -vt 0.324138 0.109375 -vt 0.324138 0.109375 -vt 0.317241 0.140625 -vt 0.303448 0.093750 -vt 0.324138 0.109375 -vt 0.317241 0.140625 -vt 0.303448 0.093750 -vt 0.296552 0.125000 -vt 0.324138 0.109375 -vt 0.303448 0.093750 -vt 0.324138 0.109375 -vt 0.317241 0.140625 -vt 0.303448 0.093750 -vt 0.324138 0.109375 -vt 0.303448 0.093750 -vt 0.296552 0.125000 -vt 0.324138 0.109375 -vt 0.317241 0.140625 -vt 0.303448 0.093750 -vt 0.296552 0.125000 -vt 0.303448 0.093750 -vt 0.296552 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.093750 -vt 0.296552 0.125000 -vt 0.317241 0.140625 -vt 0.303448 0.093750 -vt 0.296552 0.125000 -vn 0.0000 1.0000 0.0000 -vn 0.4226 0.0000 -0.9063 -vn -0.4226 -0.0000 0.9063 -vn 0.9063 0.0000 0.4226 -vn -0.9063 0.0000 -0.4226 -vn -0.0000 -1.0000 -0.0000 -vn -0.4226 -0.0000 -0.9063 -vn 0.4226 -0.0000 0.9063 -vn -0.9063 0.0000 0.4226 -vn 0.9063 -0.0000 -0.4226 -vn 1.0000 0.0000 0.0000 -vn 0.0000 -0.4226 -0.9063 -vn 0.0000 0.4226 0.9063 -vn 0.0000 -0.9063 0.4226 -vn 0.0000 0.9063 -0.4226 -vn -1.0000 0.0000 0.0000 -vn 0.0000 0.4226 -0.9063 -vn 0.0000 -0.4226 0.9063 -vn 0.0000 0.9063 0.4226 -vn 0.0000 -0.9063 -0.4226 -vn 0.7071 0.7071 0.0000 -vn 0.2988 -0.2988 -0.9063 -vn -0.2988 0.2988 0.9063 -vn 0.6409 -0.6409 0.4226 -vn -0.6409 0.6409 -0.4226 -vn -0.7071 -0.7071 0.0000 -vn -0.2988 0.2988 -0.9063 -vn 0.2988 -0.2988 0.9063 -vn -0.6409 0.6409 0.4226 -vn 0.6409 -0.6409 -0.4226 -vn 0.7071 -0.7071 0.0000 -vn -0.2988 -0.2988 -0.9063 -vn 0.2988 0.2988 0.9063 -vn -0.6409 -0.6409 0.4226 -vn 0.6409 0.6409 -0.4226 -vn -0.7071 0.7071 -0.0000 -vn 0.2988 0.2988 -0.9063 -vn -0.2988 -0.2988 0.9063 -vn 0.6409 0.6409 0.4226 -vn -0.6409 -0.6409 -0.4226 -vn 0.8660 -0.5000 0.0000 -vn -0.2113 -0.3660 -0.9063 -vn 0.2113 0.3660 0.9063 -vn -0.4532 -0.7849 0.4226 -vn 0.4532 0.7849 -0.4226 -vn -0.8660 0.5000 -0.0000 -vn 0.2113 0.3660 -0.9063 -vn -0.2113 -0.3660 0.9063 -vn 0.4532 0.7849 0.4226 -vn -0.4532 -0.7849 -0.4226 -vn -0.5000 -0.8660 0.0000 -vn -0.3660 0.2113 -0.9063 -vn 0.3660 -0.2113 0.9063 -vn -0.7849 0.4532 0.4226 -vn 0.7849 -0.4532 -0.4226 -vn 0.5000 0.8660 -0.0000 -vn 0.3660 -0.2113 -0.9063 -vn -0.3660 0.2113 0.9063 -vn 0.7849 -0.4532 0.4226 -vn -0.7849 0.4532 -0.4226 -vn 0.2588 -0.9659 -0.0000 -vn -0.4082 -0.1094 -0.9063 -vn 0.4082 0.1094 0.9063 -vn -0.8754 -0.2346 0.4226 -vn 0.8754 0.2346 -0.4226 -vn -0.2588 0.9659 -0.0000 -vn 0.4082 0.1094 -0.9063 -vn -0.4082 -0.1094 0.9063 -vn 0.8754 0.2346 0.4226 -vn -0.8754 -0.2346 -0.4226 -vn -0.9659 -0.2588 0.0000 -vn -0.1094 0.4082 -0.9063 -vn 0.1094 -0.4082 0.9063 -vn -0.2346 0.8754 0.4226 -vn 0.2346 -0.8754 -0.4226 -vn 0.9659 0.2588 0.0000 -vn 0.1094 -0.4082 -0.9063 -vn -0.1094 0.4082 0.9063 -vn 0.2346 -0.8754 0.4226 -vn -0.2346 0.8754 -0.4226 -vn -0.8660 -0.5000 0.0000 -vn -0.2113 0.3660 -0.9063 -vn 0.2113 -0.3660 0.9063 -vn -0.4532 0.7849 0.4226 -vn 0.4532 -0.7849 -0.4226 -vn 0.8660 0.5000 0.0000 -vn 0.2113 -0.3660 -0.9063 -vn -0.2113 0.3660 0.9063 -vn 0.4532 -0.7849 0.4226 -vn -0.4532 0.7849 -0.4226 -vn -0.5000 0.8660 0.0000 -vn 0.3660 0.2113 -0.9063 -vn -0.3660 -0.2113 0.9063 -vn 0.7849 0.4532 0.4226 -vn -0.7849 -0.4532 -0.4226 -vn 0.5000 -0.8660 -0.0000 -vn -0.3660 -0.2113 -0.9063 -vn 0.3660 0.2113 0.9063 -vn -0.7849 -0.4532 0.4226 -vn 0.7849 0.4532 -0.4226 -vn -0.9659 0.2588 0.0000 -vn 0.1094 0.4082 -0.9063 -vn -0.1094 -0.4082 0.9063 -vn 0.2346 0.8754 0.4226 -vn -0.2346 -0.8754 -0.4226 -vn 0.9659 -0.2588 -0.0000 -vn -0.1094 -0.4082 -0.9063 -vn 0.1094 0.4082 0.9063 -vn -0.2346 -0.8754 0.4226 -vn 0.2346 0.8754 -0.4226 -vn 0.2588 0.9659 -0.0000 -vn 0.4082 -0.1094 -0.9063 -vn -0.4082 0.1094 0.9063 -vn 0.8754 -0.2346 0.4226 -vn -0.8754 0.2346 -0.4226 -vn -0.2588 -0.9659 0.0000 -vn -0.4082 0.1094 -0.9063 -vn 0.4082 -0.1094 0.9063 -vn -0.8754 0.2346 0.4226 -vn 0.8754 -0.2346 -0.4226 -s off -f 26/25/3 28/26/3 25/27/3 -f 27/28/4 30/29/4 28/26/4 -f 25/27/5 32/30/5 26/25/5 -f 26/25/6 29/31/6 27/28/6 -f 28/26/7 31/32/7 25/27/7 -f 34/33/8 36/34/8 33/35/8 -f 35/36/9 38/37/9 36/34/9 -f 33/35/10 40/38/10 34/33/10 -f 35/36/11 40/39/11 37/40/11 -f 36/34/12 39/41/12 33/35/12 -f 42/42/13 44/43/13 41/44/13 -f 43/45/14 46/46/14 44/43/14 -f 41/44/15 48/47/15 42/42/15 -f 42/42/16 45/48/16 43/45/16 -f 44/43/17 47/49/17 41/44/17 -f 50/50/18 52/51/18 49/52/18 -f 52/51/19 53/53/19 54/54/19 -f 49/52/20 56/55/20 50/50/20 -f 50/50/21 53/56/21 51/57/21 -f 52/51/22 55/58/22 49/52/22 -f 58/59/23 60/60/23 57/61/23 -f 59/62/24 62/63/24 60/60/24 -f 58/59/25 63/64/25 64/65/25 -f 58/59/26 61/66/26 59/62/26 -f 60/60/27 63/67/27 57/61/27 -f 66/68/28 68/69/28 65/70/28 -f 68/69/29 69/71/29 70/72/29 -f 66/68/30 71/73/30 72/74/30 -f 66/68/31 69/75/31 67/76/31 -f 68/69/32 71/77/32 65/70/32 -f 74/78/33 76/79/33 73/80/33 -f 75/81/34 78/82/34 76/79/34 -f 73/80/35 80/83/35 74/78/35 -f 75/81/36 80/84/36 77/85/36 -f 76/79/37 79/86/37 73/80/37 -f 82/87/38 84/88/38 81/89/38 -f 84/88/39 85/90/39 86/91/39 -f 81/89/40 88/92/40 82/87/40 -f 83/93/41 88/94/41 85/95/41 -f 84/88/42 87/96/42 81/89/42 -f 90/97/43 92/98/43 89/99/43 -f 91/100/44 94/101/44 92/98/44 -f 89/99/45 96/102/45 90/97/45 -f 90/97/46 93/103/46 91/100/46 -f 92/98/47 95/104/47 89/99/47 -f 98/105/48 100/106/48 97/107/48 -f 100/106/49 101/108/49 102/109/49 -f 98/105/50 103/110/50 104/111/50 -f 98/105/51 101/112/51 99/113/51 -f 100/106/52 103/114/52 97/107/52 -f 106/115/53 108/116/53 105/117/53 -f 107/118/54 110/119/54 108/116/54 -f 105/117/55 112/120/55 106/115/55 -f 106/115/56 109/121/56 107/118/56 -f 108/116/57 111/122/57 105/117/57 -f 114/123/58 116/124/58 113/125/58 -f 115/126/59 118/127/59 116/124/59 -f 114/123/60 119/128/60 120/129/60 -f 115/126/61 120/130/61 117/131/61 -f 116/124/62 119/132/62 113/125/62 -f 122/133/63 124/134/63 121/135/63 -f 123/136/64 126/137/64 124/134/64 -f 121/135/65 128/138/65 122/133/65 -f 123/136/66 128/139/66 125/140/66 -f 121/135/67 126/141/67 127/142/67 -f 130/143/68 132/144/68 129/145/68 -f 132/144/69 133/146/69 134/147/69 -f 129/145/70 136/148/70 130/143/70 -f 130/143/71 133/149/71 131/150/71 -f 132/144/72 135/151/72 129/145/72 -f 138/152/73 140/153/73 137/154/73 -f 140/153/74 141/155/74 142/156/74 -f 137/154/75 144/157/75 138/152/75 -f 138/152/76 141/158/76 139/159/76 -f 140/153/77 143/160/77 137/154/77 -f 146/161/78 148/162/78 145/163/78 -f 147/164/79 150/165/79 148/162/79 -f 145/163/80 152/166/80 146/161/80 -f 147/164/81 152/167/81 149/168/81 -f 148/162/82 151/169/82 145/163/82 -f 154/170/83 156/171/83 153/172/83 -f 156/171/84 157/173/84 158/174/84 -f 153/172/85 160/175/85 154/170/85 -f 154/170/86 157/176/86 155/177/86 -f 156/171/87 159/178/87 153/172/87 -f 162/179/88 164/180/88 161/181/88 -f 164/180/89 165/182/89 166/183/89 -f 161/181/90 168/184/90 162/179/90 -f 163/185/91 168/186/91 165/187/91 -f 164/180/92 167/188/92 161/181/92 -f 170/189/93 172/190/93 169/191/93 -f 171/192/94 174/193/94 172/190/94 -f 169/191/95 176/194/95 170/189/95 -f 170/189/96 173/195/96 171/192/96 -f 172/190/97 175/196/97 169/191/97 -f 178/197/98 180/198/98 177/199/98 -f 179/200/99 182/201/99 180/198/99 -f 178/197/100 183/202/100 184/203/100 -f 179/200/101 184/204/101 181/205/101 -f 180/198/102 183/206/102 177/199/102 -f 186/207/103 188/208/103 185/209/103 -f 187/210/104 190/211/104 188/208/104 -f 186/207/105 191/212/105 192/213/105 -f 187/210/106 192/214/106 189/215/106 -f 185/209/107 190/216/107 191/217/107 -f 194/218/108 196/219/108 193/220/108 -f 196/219/109 197/221/109 198/222/109 -f 194/218/110 199/223/110 200/224/110 -f 194/218/111 197/225/111 195/226/111 -f 196/219/112 199/227/112 193/220/112 -f 202/228/113 204/229/113 201/230/113 -f 203/231/114 206/232/114 204/229/114 -f 202/228/115 207/233/115 208/234/115 -f 202/228/116 205/235/116 203/231/116 -f 204/229/117 207/236/117 201/230/117 -f 210/237/118 212/238/118 209/239/118 -f 211/240/119 214/241/119 212/238/119 -f 210/237/120 215/242/120 216/243/120 -f 211/240/121 216/244/121 213/245/121 -f 209/239/122 214/246/122 215/247/122 -f 26/25/3 27/28/3 28/26/3 -f 27/28/4 29/248/4 30/29/4 -f 25/27/5 31/249/5 32/30/5 -f 26/25/6 32/250/6 29/31/6 -f 28/26/7 30/251/7 31/32/7 -f 34/33/8 35/36/8 36/34/8 -f 35/36/9 37/252/9 38/37/9 -f 33/35/10 39/253/10 40/38/10 -f 35/36/11 34/33/11 40/39/11 -f 36/34/12 38/254/12 39/41/12 -f 42/42/13 43/45/13 44/43/13 -f 43/45/14 45/255/14 46/46/14 -f 41/44/15 47/256/15 48/47/15 -f 42/42/16 48/257/16 45/48/16 -f 44/43/17 46/258/17 47/49/17 -f 50/50/18 51/57/18 52/51/18 -f 52/51/19 51/57/19 53/53/19 -f 49/52/20 55/259/20 56/55/20 -f 50/50/21 56/260/21 53/56/21 -f 52/51/22 54/261/22 55/58/22 -f 58/59/23 59/62/23 60/60/23 -f 59/62/24 61/262/24 62/63/24 -f 58/59/25 57/61/25 63/64/25 -f 58/59/26 64/263/26 61/66/26 -f 60/60/27 62/264/27 63/67/27 -f 66/68/28 67/76/28 68/69/28 -f 68/69/29 67/76/29 69/71/29 -f 66/68/30 65/70/30 71/73/30 -f 66/68/31 72/265/31 69/75/31 -f 68/69/32 70/266/32 71/77/32 -f 74/78/33 75/81/33 76/79/33 -f 75/81/34 77/267/34 78/82/34 -f 73/80/35 79/268/35 80/83/35 -f 75/81/36 74/78/36 80/84/36 -f 76/79/37 78/269/37 79/86/37 -f 82/87/38 83/93/38 84/88/38 -f 84/88/39 83/93/39 85/90/39 -f 81/89/40 87/270/40 88/92/40 -f 83/93/41 82/87/41 88/94/41 -f 84/88/42 86/271/42 87/96/42 -f 90/97/43 91/100/43 92/98/43 -f 91/100/44 93/272/44 94/101/44 -f 89/99/45 95/273/45 96/102/45 -f 90/97/46 96/274/46 93/103/46 -f 92/98/47 94/275/47 95/104/47 -f 98/105/48 99/113/48 100/106/48 -f 100/106/49 99/113/49 101/108/49 -f 98/105/50 97/107/50 103/110/50 -f 98/105/51 104/276/51 101/112/51 -f 100/106/52 102/277/52 103/114/52 -f 106/115/53 107/118/53 108/116/53 -f 107/118/54 109/278/54 110/119/54 -f 105/117/55 111/279/55 112/120/55 -f 106/115/56 112/280/56 109/121/56 -f 108/116/57 110/281/57 111/122/57 -f 114/123/58 115/126/58 116/124/58 -f 115/126/59 117/282/59 118/127/59 -f 114/123/60 113/125/60 119/128/60 -f 115/126/61 114/123/61 120/130/61 -f 116/124/62 118/283/62 119/132/62 -f 122/133/63 123/136/63 124/134/63 -f 123/136/64 125/284/64 126/137/64 -f 121/135/65 127/285/65 128/138/65 -f 123/136/66 122/133/66 128/139/66 -f 121/135/67 124/134/67 126/141/67 -f 130/143/68 131/150/68 132/144/68 -f 132/144/69 131/150/69 133/146/69 -f 129/145/70 135/286/70 136/148/70 -f 130/143/71 136/287/71 133/149/71 -f 132/144/72 134/288/72 135/151/72 -f 138/152/73 139/159/73 140/153/73 -f 140/153/74 139/159/74 141/155/74 -f 137/154/75 143/289/75 144/157/75 -f 138/152/76 144/290/76 141/158/76 -f 140/153/77 142/291/77 143/160/77 -f 146/161/78 147/164/78 148/162/78 -f 147/164/79 149/292/79 150/165/79 -f 145/163/80 151/293/80 152/166/80 -f 147/164/81 146/161/81 152/167/81 -f 148/162/82 150/294/82 151/169/82 -f 154/170/83 155/177/83 156/171/83 -f 156/171/84 155/177/84 157/173/84 -f 153/172/85 159/295/85 160/175/85 -f 154/170/86 160/296/86 157/176/86 -f 156/171/87 158/297/87 159/178/87 -f 162/179/88 163/185/88 164/180/88 -f 164/180/89 163/185/89 165/182/89 -f 161/181/90 167/298/90 168/184/90 -f 163/185/91 162/179/91 168/186/91 -f 164/180/92 166/299/92 167/188/92 -f 170/189/93 171/192/93 172/190/93 -f 171/192/94 173/300/94 174/193/94 -f 169/191/95 175/301/95 176/194/95 -f 170/189/96 176/302/96 173/195/96 -f 172/190/97 174/303/97 175/196/97 -f 178/197/98 179/200/98 180/198/98 -f 179/200/99 181/304/99 182/201/99 -f 178/197/100 177/199/100 183/202/100 -f 179/200/101 178/197/101 184/204/101 -f 180/198/102 182/305/102 183/206/102 -f 186/207/103 187/210/103 188/208/103 -f 187/210/104 189/306/104 190/211/104 -f 186/207/105 185/209/105 191/212/105 -f 187/210/106 186/207/106 192/214/106 -f 185/209/107 188/208/107 190/216/107 -f 194/218/108 195/226/108 196/219/108 -f 196/219/109 195/226/109 197/221/109 -f 194/218/110 193/220/110 199/223/110 -f 194/218/111 200/307/111 197/225/111 -f 196/219/112 198/308/112 199/227/112 -f 202/228/113 203/231/113 204/229/113 -f 203/231/114 205/309/114 206/232/114 -f 202/228/115 201/230/115 207/233/115 -f 202/228/116 208/310/116 205/235/116 -f 204/229/117 206/311/117 207/236/117 -f 210/237/118 211/240/118 212/238/118 -f 211/240/119 213/312/119 214/241/119 -f 210/237/120 209/239/120 215/242/120 -f 211/240/121 210/237/121 216/244/121 -f 209/239/122 212/238/122 214/246/122 -o Plane.001 -v 0.000000 2.453697 -2.948062 -v 0.125000 2.423342 -2.962217 -v 0.216506 2.340409 -3.000889 -v 0.250000 2.227120 -3.053716 -v 0.216506 2.113832 -3.106544 -v 0.000000 2.566986 -2.895234 -v 0.324759 2.057188 -3.132957 -v 0.375000 2.227120 -3.053716 -v 0.324760 2.397053 -2.974475 -v 0.187500 2.521452 -2.916467 -vt 1.000000 0.250000 -vt -0.000000 -0.000000 -vt 1.000000 0.000000 -vt -0.000000 0.500000 -vt 0.000000 0.250000 -vt 1.000000 0.500000 -vt -0.000000 0.750000 -vt 0.000000 1.000000 -vt 1.000000 0.750000 -vt 1.000000 1.000000 -vn 0.0000 0.4226 -0.9063 -s off -f 220/313/123 223/314/123 221/315/123 -f 220/313/123 225/316/123 224/317/123 -f 219/318/123 226/319/123 225/316/123 -f 222/320/123 218/321/123 217/322/123 -f 220/313/123 224/317/123 223/314/123 -f 220/313/123 219/318/123 225/316/123 -f 219/318/123 218/321/123 226/319/123 -f 222/320/123 226/319/123 218/321/123 -o Plane -v -1.250000 1.750000 -0.625000 -v -1.250000 1.750000 -3.000000 -v -1.250000 1.376000 -2.625000 -v -1.250000 0.751000 -2.625000 -v -1.250000 0.750000 -0.625000 -v 0.500000 0.000000 -1.625000 -v 1.000000 0.500000 -2.125000 -v 1.000000 0.500000 -3.750000 -v 1.250000 0.750000 -3.750000 -v 1.250000 0.750000 -0.625000 -v 0.500000 0.000000 -0.625000 -v 1.250000 1.750000 -3.000000 -v 1.250000 1.750000 -0.625000 -v 1.250000 1.625000 -3.750000 -v 1.250000 1.750000 -3.375000 -v -0.500000 0.000000 -0.625000 -v -0.500000 0.000000 -1.625000 -v -1.000000 0.500000 -2.625000 -v -1.000000 0.500000 -2.125000 -v 1.000000 1.750000 -3.375000 -v 1.000000 1.750000 -3.000000 -v -1.250000 0.750000 -3.750000 -v -1.250000 0.751000 -3.625000 -v -1.250000 1.376000 -3.625000 -v -1.250000 1.625000 -3.750000 -v -1.250000 1.750000 -3.375000 -v -1.000000 0.500000 -3.750000 -v -1.000000 0.501000 -3.625000 -v -1.312500 0.501000 -3.500000 -v -1.312500 0.501000 -2.750000 -v -1.312500 0.626000 -2.750000 -v -1.312500 0.626000 -3.500000 -v -1.312500 0.751000 -3.500000 -v -1.312500 0.751000 -2.750000 -v -1.312500 0.876000 -2.750000 -v -1.312500 0.876000 -3.500000 -v -1.312500 1.001000 -3.500000 -v -1.312500 1.001000 -2.750000 -v -1.312500 1.126000 -2.750000 -v -1.312500 1.126000 -3.500000 -v -1.312500 1.376000 -3.625000 -v -1.312500 1.251000 -3.500000 -v -1.312500 1.251000 -2.750000 -v -1.312500 1.376000 -2.625000 -v -1.312500 0.251000 -3.625000 -v -1.312500 0.251000 -2.625000 -v -1.312500 0.376000 -2.750000 -v -1.312500 0.376000 -3.500000 -v -1.187500 1.001000 -3.500000 -v -1.187500 1.001000 -2.750000 -v -1.187500 0.876000 -3.500000 -v -1.187500 0.626000 -2.750000 -v -1.187500 0.626000 -3.500000 -v -1.187500 0.751000 -3.500000 -v -1.187500 1.251000 -3.500000 -v -1.187500 1.126000 -3.500000 -v -1.187500 1.126000 -2.750000 -v -1.187500 1.251000 -2.750000 -v -1.187500 0.876000 -2.750000 -v -1.187500 0.751000 -2.750000 -v -1.187500 0.376000 -3.500000 -v -1.187500 0.376000 -2.750000 -v -1.187500 0.501000 -2.750000 -v -1.187500 0.501000 -3.500000 -v 1.000000 0.750000 -3.750000 -v 1.000000 1.625000 -3.750000 -v -1.000000 1.625000 -3.750000 -v -1.000000 0.750000 -3.750000 -v -1.000000 1.750000 -3.375000 -v -1.000000 1.750000 -3.000000 -v -0.500000 2.500000 -2.625000 -v 0.500000 2.500000 -2.625000 -v 0.500000 2.250000 -2.750000 -v -0.500000 2.250000 -2.750000 -v -0.344030 0.708152 -0.175597 -v -0.424630 0.633153 -0.128904 -v -0.388541 0.618205 -0.128904 -v -0.328091 0.674453 -0.163924 -v -0.420670 0.523129 -0.082211 -v -0.334466 0.442528 -0.062870 -v -0.320918 0.475236 -0.079378 -v -0.385571 0.535686 -0.093884 -v -0.216518 0.438567 -0.082211 -v -0.135918 0.513565 -0.128904 -v -0.172007 0.528513 -0.128904 -v -0.232457 0.472265 -0.093884 -v -0.139879 0.623590 -0.175597 -v -0.174978 0.611032 -0.163924 -v -0.226082 0.704190 -0.194938 -v -0.239630 0.671482 -0.178429 -v -0.208096 0.543462 -0.128904 -v -0.210077 0.598474 -0.152250 -v -0.253178 0.638775 -0.161921 -v -0.312152 0.640755 -0.152250 -v -0.352451 0.603256 -0.128904 -v -0.350471 0.548244 -0.105557 -v -0.307370 0.507944 -0.095887 -v -0.248396 0.505963 -0.105557 -v -0.222349 0.496668 -0.037240 -v -0.161900 0.552916 -0.072260 -v -0.197989 0.567865 -0.072260 -v -0.238288 0.530366 -0.048913 -v -0.164869 0.635435 -0.107280 -v -0.199968 0.622877 -0.095606 -v -0.229523 0.695885 -0.121785 -v -0.243071 0.663178 -0.105277 -v -0.317984 0.698857 -0.107280 -v -0.302044 0.665158 -0.095606 -v -0.378433 0.642608 -0.072260 -v -0.342344 0.627659 -0.072260 -v -0.375462 0.560089 -0.037240 -v -0.340364 0.572647 -0.048913 -v -0.310810 0.499639 -0.022734 -v -0.297262 0.532347 -0.039243 -v -0.391169 0.267836 0.136894 -v -0.014465 0.192905 0.136894 -v -0.014465 0.302280 -0.081856 -v -0.349313 0.368885 -0.081856 -v -0.025414 0.247242 -0.109375 -v -0.360261 0.313848 -0.109375 -v -0.025414 0.137868 0.109375 -v -0.402117 0.212799 0.109375 -v 0.230970 1.345671 -0.500000 -v 0.095671 1.480970 -0.500000 -v 0.071753 1.423227 -0.500000 -v 0.173227 1.321753 -0.500000 -v -0.047836 1.365485 -0.500000 -v -0.115485 1.297835 -0.500000 -v -0.115485 1.202165 -0.500000 -v -0.047836 1.134515 -0.500000 -v 0.047834 1.134515 -0.500000 -v 0.115485 1.202165 -0.500000 -v 0.115485 1.297835 -0.500000 -v 0.047834 1.365485 -0.500000 -v 0.230970 1.154329 -0.500000 -v 0.173227 1.178247 -0.500000 -v 0.095671 1.019030 -0.500000 -v 0.071753 1.076773 -0.500000 -v -0.095671 1.019030 -0.500000 -v -0.071753 1.076773 -0.500000 -v -0.230970 1.154329 -0.500000 -v -0.173227 1.178247 -0.500000 -v -0.230970 1.345671 -0.500000 -v -0.173227 1.321753 -0.500000 -v -0.095671 1.480970 -0.500000 -v -0.071753 1.423227 -0.500000 -v 0.115485 1.297835 -0.375000 -v 0.173227 1.321753 -0.375000 -v 0.071753 1.423227 -0.375000 -v 0.047834 1.365485 -0.375000 -v 0.115485 1.202165 -0.375000 -v 0.173227 1.178247 -0.375000 -v 0.047834 1.134515 -0.375000 -v 0.071753 1.076773 -0.375000 -v -0.047836 1.134515 -0.375000 -v -0.071753 1.076773 -0.375000 -v -0.115485 1.202165 -0.375000 -v -0.173227 1.178247 -0.375000 -v -0.115485 1.297835 -0.375000 -v -0.173227 1.321753 -0.375000 -v -0.047836 1.365485 -0.375000 -v -0.071753 1.423227 -0.375000 -v 0.500000 2.500000 -0.625000 -v -0.500000 2.500000 -0.625000 -v 1.039364 1.680519 -0.625000 -v 1.125000 1.250000 -0.625000 -v 1.039364 0.819481 -0.625000 -v 0.795495 0.454505 -0.625000 -v 0.430519 0.210635 -0.625000 -v 0.000000 0.125000 -0.625000 -v -0.430519 0.210636 -0.625000 -v -0.795495 0.454505 -0.625000 -v -1.039364 0.819481 -0.625000 -v -1.125000 1.250000 -0.625000 -v -1.039364 1.680519 -0.625000 -v -1.000000 1.645607 -3.832107 -v -1.000000 0.938500 -4.125000 -v -1.000000 0.231393 -3.832107 -v -1.000000 -0.061500 -3.125000 -v -1.000000 0.231393 -2.417893 -v -1.000000 0.938500 -2.125000 -v -1.000000 1.645607 -2.417893 -v -1.000000 1.938500 -3.125000 -v -1.000000 0.251000 -2.625000 -v -1.000000 1.376000 -2.625000 -v -1.000000 0.251000 -3.625000 -v -1.000000 1.376000 -3.625000 -v 1.000000 1.645607 -3.832107 -v 1.000000 1.938500 -3.125000 -v 1.000000 1.645607 -2.417893 -v 1.000000 0.938500 -2.125000 -v 1.000000 0.231393 -2.417893 -v 1.000000 -0.061500 -3.125000 -v 1.000000 0.231393 -3.832107 -v 1.000000 0.938500 -4.125000 -v 0.554916 2.356694 0.187500 -v 0.731694 2.179917 0.187500 -v 0.820084 2.268306 0.187500 -v 0.643306 2.445082 0.187500 -v 0.554916 2.356694 -0.312500 -v 0.643306 2.445082 -0.312500 -v 0.820084 2.268306 -0.312500 -v 0.731694 2.179917 -0.312500 -v -0.929916 0.518306 0.187500 -v -1.106694 0.695083 0.187500 -v -1.195084 0.606694 0.187500 -v -1.018306 0.429918 0.187500 -v -0.929916 0.518306 -0.312500 -v -1.018306 0.429918 -0.312500 -v -1.195084 0.606694 -0.312500 -v -1.106694 0.695083 -0.312500 -v 1.106694 0.695082 0.187500 -v 0.929916 0.518306 0.187500 -v 1.018306 0.429917 0.187500 -v 1.195082 0.606694 0.187500 -v 1.106694 0.695082 -0.312500 -v 1.195082 0.606694 -0.312500 -v 1.018306 0.429917 -0.312500 -v 0.929916 0.518306 -0.312500 -v -0.731694 2.179918 0.187500 -v -0.554916 2.356694 0.187500 -v -0.643306 2.445083 0.187500 -v -0.820082 2.268306 0.187500 -v -0.731694 2.179918 -0.312500 -v -0.820082 2.268306 -0.312500 -v -0.643306 2.445083 -0.312500 -v -0.554916 2.356694 -0.312500 -v 0.554916 2.356694 -2.375000 -v 0.731694 2.179917 -2.375000 -v 0.820084 2.268306 -2.375000 -v 0.643306 2.445082 -2.375000 -v 0.554916 2.356694 -2.750000 -v 0.643306 2.445082 -2.750000 -v 0.820084 2.268306 -2.875000 -v 0.731694 2.179917 -2.875000 -v -0.500000 2.250000 -2.625000 -v -1.000000 1.750000 -2.875000 -v 1.000000 1.750000 -2.875000 -v 0.500000 2.250000 -2.625000 -v 0.500000 2.215740 -2.715952 -v 0.500000 1.819230 -2.900848 -v 0.500000 1.872057 -3.014137 -v 0.500000 2.268567 -2.829241 -v -0.500000 2.268567 -2.829241 -v -0.500000 1.872057 -3.014137 -v -0.500000 1.819230 -2.900848 -v -0.500000 2.215740 -2.715952 -v -0.312500 2.438500 -2.750000 -v 0.312500 2.438500 -2.750000 -v -0.312500 2.385673 -2.636712 -v 0.312500 2.385673 -2.636712 -v -0.750000 1.887724 -3.247583 -v 0.750000 1.887724 -3.247583 -v 0.750000 2.039915 -3.445922 -v -0.750000 2.039915 -3.445922 -v 0.750000 1.544192 -3.511185 -v 0.750000 1.696383 -3.709523 -v 0.750000 1.944244 -3.676892 -v 0.750000 1.639863 -3.280215 -v -0.750000 1.944244 -3.676892 -v -0.750000 1.696383 -3.709523 -v -0.750000 1.544192 -3.511185 -v -0.750000 1.639863 -3.280215 -v -0.500000 0.125000 -2.750000 -v 0.500000 0.125000 -2.750000 -v 0.500000 0.125000 -1.750000 -v -0.500000 0.125000 -1.750000 -v 0.500000 0.500000 -2.750000 -v 0.500000 0.500000 -1.750000 -v -0.500000 0.500000 -1.750000 -v -0.500000 0.500000 -2.750000 -v -0.625000 0.187500 -4.125000 -v -0.625000 1.687500 -4.125000 -v 0.625000 1.687500 -4.125000 -v 0.625000 0.187500 -4.125000 -v 0.625000 1.687500 -3.625000 -v 0.625000 0.187500 -3.625000 -v -0.625000 0.187500 -3.625000 -v -0.625000 1.687500 -3.625000 -v -0.500000 1.562500 -4.875000 -v 0.500000 1.562500 -4.875000 -v 0.500000 0.312500 -4.875000 -v -0.500000 0.312500 -4.875000 -v 0.500000 0.312500 -4.125000 -v -0.500000 0.312500 -4.125000 -v -0.500000 1.562500 -4.125000 -v 0.500000 1.562500 -4.125000 -v 1.375000 1.658494 -2.187500 -v 0.875000 1.658494 -2.187500 -v 0.875000 1.658494 -2.437500 -v 1.375000 1.658494 -2.437500 -v 1.375000 2.091506 -2.187500 -v 0.875000 2.091506 -2.187500 -v 0.875000 1.875000 -2.062500 -v 1.375000 1.875000 -2.062500 -v 1.375000 1.875000 -2.562500 -v 0.875000 1.875000 -2.562500 -v 0.875000 2.091506 -2.437500 -v 1.375000 2.091506 -2.437500 -v 1.375000 1.983253 -2.375000 -v 1.375000 1.983253 -2.250000 -v 1.562500 1.983253 -2.250000 -v 1.562500 1.983253 -2.375000 -v 1.375000 1.766747 -2.250000 -v 1.375000 1.766747 -2.375000 -v 1.562500 1.766747 -2.375000 -v 1.562500 1.766747 -2.250000 -v 1.375000 1.875000 -2.187500 -v 1.562500 1.875000 -2.187500 -v 1.375000 1.875000 -2.437500 -v 1.562500 1.875000 -2.437500 -v 1.562500 1.712620 -2.406250 -v 1.562500 1.712620 -2.218750 -v 1.562500 1.875000 -2.125000 -v 1.562500 2.037380 -2.218750 -v 1.562500 2.037380 -2.406250 -v 1.562500 1.875000 -2.500000 -v 2.312500 1.875000 -2.500000 -v 2.312500 1.712620 -2.406250 -v 2.312500 1.712620 -2.218750 -v 2.312500 1.875000 -2.125000 -v 2.312500 2.037380 -2.218750 -v 2.312500 2.037380 -2.406250 -v 2.312500 1.875000 -2.187500 -v 2.312500 1.983253 -2.250000 -v 2.312500 1.983253 -2.375000 -v 2.312500 1.875000 -2.437500 -v 2.312500 1.766747 -2.375000 -v 2.312500 1.766747 -2.250000 -v 2.500000 1.766747 -2.250000 -v 2.500000 1.875000 -2.187500 -v 2.500000 1.983253 -2.250000 -v 2.500000 1.983253 -2.375000 -v 2.500000 1.766747 -2.375000 -v 2.500000 1.875000 -2.437500 -v 2.500000 1.875000 -2.062500 -v 2.500000 2.091506 -2.187500 -v 2.500000 2.091506 -2.437500 -v 2.500000 1.875000 -2.562500 -v 2.500000 1.658494 -2.437500 -v 2.500000 1.658494 -2.187500 -v 2.625000 2.091506 -2.187500 -v 2.625000 2.091506 -2.437500 -v 2.625000 1.658494 -2.437500 -v 2.625000 1.658494 -2.187500 -v 2.625000 1.875000 -2.062500 -v 2.625000 1.875000 -2.562500 -v 2.750000 1.983253 -2.375000 -v 2.750000 1.875000 -2.437500 -v 2.750000 1.766747 -2.375000 -v 2.750000 1.766747 -2.250000 -v 2.750000 1.875000 -2.187500 -v 2.750000 1.983253 -2.250000 -v -0.187500 1.625000 -4.125000 -v 0.187500 1.625000 -4.125000 -v 0.187500 1.625000 -5.000000 -v -0.187500 1.625000 -5.000000 -v -0.187500 1.669194 -5.397748 -v -0.187500 2.022748 -5.044194 -v -0.187500 2.287913 -5.309359 -v -0.187500 2.022748 -5.574524 -v -0.187500 1.845971 -5.574524 -v 0.187500 1.250000 -5.000000 -v -0.187500 1.250000 -5.000000 -v 0.187500 1.250000 -4.125000 -v -0.187500 1.250000 -4.125000 -v -0.125000 1.625000 -4.734835 -v 0.125000 1.625000 -4.734835 -v 0.125000 1.978553 -5.088388 -v -0.125000 1.978553 -5.088388 -v -0.125000 1.359835 -5.000000 -v -0.125000 1.713388 -5.353553 -v 0.125000 1.359835 -5.000000 -v 0.125000 1.713388 -5.353553 -v 0.187500 1.669194 -5.397748 -v 0.187500 2.022748 -5.044194 -v 0.187500 2.022748 -5.574524 -v 0.187500 1.845971 -5.574524 -v 0.187500 2.287913 -5.309359 -v -0.062500 2.597272 -4.558058 -v 0.062500 2.597272 -4.558058 -v 0.062500 2.774049 -4.734835 -v -0.062500 2.774049 -4.734835 -v 0.062500 2.066942 -5.088388 -v 0.062500 2.243718 -5.265165 -v -0.062500 2.243718 -5.265165 -v -0.062500 2.066942 -5.088388 -v -0.125000 2.423342 -2.962217 -v 0.000000 2.453697 -2.948062 -v 0.216506 2.113832 -3.106544 -v 0.125000 2.030899 -3.145216 -v 0.000000 2.000544 -3.159371 -v -0.125000 2.030899 -3.145216 -v -0.216506 2.113832 -3.106544 -v -0.250000 2.227120 -3.053716 -v -0.216506 2.340409 -3.000889 -v 0.000000 2.374456 -2.778129 -v 0.000000 2.487745 -2.725302 -v 0.000000 2.566986 -2.895234 -v 0.324759 1.977947 -2.963025 -v 0.216506 2.034591 -2.936611 -v 0.324759 2.057188 -3.132957 -v 0.375000 2.227120 -3.053716 -v 0.324760 2.397053 -2.974475 -v 0.187500 2.521452 -2.916467 -v 0.324760 2.317812 -2.804543 -v 0.187500 2.442212 -2.746534 -v -0.437500 2.102596 -3.042822 -v -0.483253 2.144063 -3.023486 -v -0.500000 2.200707 -2.997072 -v -0.483253 2.257351 -2.970659 -v -0.437500 2.298818 -2.951323 -v -0.375000 2.313995 -2.944245 -v -0.312500 2.298818 -2.951323 -v -0.266747 2.257351 -2.970659 -v -0.250000 2.200707 -2.997072 -v -0.266747 2.144063 -3.023486 -v -0.312500 2.102596 -3.042822 -v -0.375000 2.087419 -3.049900 -v -1.125000 1.875000 -1.875000 -v -1.125000 1.875000 -1.625000 -v -0.625000 2.375000 -1.875000 -v -0.625000 2.375000 -2.125000 -v -0.625000 2.375000 -0.875000 -v -1.125000 1.875000 -0.875000 -v -1.125000 1.875000 -2.625000 -v -0.625000 2.375000 -2.375000 -v 1.125000 1.875000 -0.875000 -v 0.625000 2.375000 -0.875000 -v 1.125000 1.875000 -1.625000 -v 0.625000 2.375000 -1.875000 -v 0.448223 2.198223 -1.875000 -v 0.948223 1.698223 -1.625000 -v -1.036612 1.786612 -1.875000 -v -1.036612 1.786612 -2.625000 -v -0.948223 1.698223 -1.625000 -v -0.448223 2.198223 -1.875000 -v -0.536612 2.286612 -2.375000 -v -0.536612 2.286612 -2.125000 -v -0.448223 2.198223 -0.875000 -v -0.948223 1.698223 -0.875000 -v 0.948223 1.698223 -0.875000 -v 0.448223 2.198223 -0.875000 -v -0.137500 2.062500 -3.749900 -v -0.137500 1.937500 -3.749900 -v -0.137500 2.062500 -3.437400 -v -0.137500 2.187500 -3.437400 -v -0.012500 1.937500 -3.749900 -v -0.012500 2.062500 -3.437400 -v 0.137500 1.937500 -3.749900 -v 0.137500 2.062500 -3.749900 -v 0.137500 2.187500 -3.437400 -v 0.137500 2.062500 -3.437400 -v -0.012500 2.062500 -3.749900 -v -0.012500 2.187500 -3.437400 -v 0.137500 2.134191 -3.062400 -v 0.137500 2.009191 -3.062400 -v -0.012500 2.009191 -3.062400 -v -0.137500 2.009191 -3.062400 -v -0.012500 1.937500 -3.874900 -v -0.137500 1.937500 -3.874900 -v 0.137500 1.937500 -3.874900 -v 0.012500 1.937500 -3.874900 -v 0.012500 2.062500 -3.749900 -v 0.012500 1.937500 -3.749900 -v -0.012500 1.687500 -3.874900 -v -0.137500 1.687500 -3.874900 -v -0.137500 1.687500 -3.749900 -v -0.012500 1.687500 -3.749900 -v 0.137500 1.687500 -3.749900 -v 0.137500 1.687500 -3.874900 -v 0.012500 1.687500 -3.874900 -v 0.012500 1.687500 -3.749900 -v 0.012500 2.062500 -3.437400 -v 0.625000 2.001000 -3.187500 -v 0.625000 2.001000 -3.062500 -v 0.875000 2.001000 -3.062500 -v 0.875000 2.001000 -3.187500 -v 0.012500 2.187500 -3.437400 -v 0.012500 2.134191 -3.062400 -v 0.012500 2.009191 -3.062400 -v -0.137500 2.134191 -3.062400 -v -0.012500 2.134191 -3.062400 -v -0.625000 1.938500 -3.250000 -v 0.625000 1.938500 -3.250000 -v 0.625000 1.830247 -3.187500 -v -0.625000 1.830247 -3.187500 -v 0.625000 1.876000 -3.062500 -v 0.875000 1.876000 -3.062500 -v 0.625000 1.830247 -3.062500 -v -0.625000 1.830247 -3.062500 -v 0.625000 1.876000 -3.187500 -v 0.875000 1.876000 -3.187500 -v 0.625000 1.938500 -3.000000 -v -0.625000 1.938500 -3.000000 -v 0.625000 2.046753 -3.062500 -v -0.625000 2.046753 -3.062500 -v 0.625000 2.046753 -3.187500 -v -0.625000 2.046753 -3.187500 -v 1.000000 2.001000 -3.187500 -v 1.000000 2.001000 -3.062500 -v 0.875000 2.126000 -3.187500 -v 1.000000 2.126000 -3.187500 -v 0.875000 2.126000 -3.312500 -v 1.000000 2.126000 -3.312500 -v 1.000000 2.126000 -3.062500 -v 0.875000 2.126000 -3.062500 -v 1.000000 2.251000 -3.187500 -v 0.875000 2.251000 -3.187500 -v 0.875000 2.251000 -3.312500 -v 1.000000 2.251000 -3.312500 -v 1.000000 2.001000 -3.937500 -v 0.875000 2.001000 -3.937500 -v 1.000000 1.876000 -3.937500 -v 1.000000 1.876000 -4.062500 -v 0.875000 1.876000 -3.937500 -v 0.875000 1.876000 -4.062500 -v 0.875000 1.626000 -4.062500 -v 0.875000 1.626000 -3.937500 -v 0.875000 1.501000 -3.937500 -v 0.625000 1.626000 -3.937500 -v 0.625000 1.501000 -3.937500 -v 1.000000 1.626000 -3.937500 -v 1.000000 1.626000 -4.062500 -v 0.875000 1.501000 -4.062500 -v 0.625000 1.626000 -4.062500 -v 0.625000 1.501000 -4.062500 -v 0.110485 0.764515 -0.750000 -v 0.156250 0.875000 -0.750000 -v 0.156250 0.737706 -0.418544 -v 0.110485 0.659581 -0.496669 -v 0.110485 0.985485 -0.750000 -v 0.000000 1.031250 -0.750000 -v 0.000000 0.848192 -0.308058 -v 0.110485 0.815831 -0.340419 -v -0.110486 0.985485 -0.750000 -v -0.156250 0.875000 -0.750000 -v -0.156250 0.737706 -0.418544 -v -0.110486 0.815831 -0.340419 -v -0.110486 0.764515 -0.750000 -v -0.110486 0.659581 -0.496669 -v 0.000000 0.718750 -0.750000 -v 0.000000 0.627221 -0.529029 -v -0.156250 0.585633 -0.316931 -v -0.110486 0.627914 -0.214856 -v 0.000000 0.645427 -0.172575 -v 0.110485 0.627914 -0.214856 -v 0.156250 0.585633 -0.316931 -v 0.110485 0.543352 -0.419007 -v 0.000000 0.525838 -0.461288 -v -0.110486 0.543352 -0.419007 -v 0.110485 0.406250 -0.391735 -v 0.000000 0.406250 -0.437500 -v -0.110486 0.406250 -0.391735 -v -0.156250 0.406250 -0.281250 -v -0.110486 0.406250 -0.170765 -v 0.000000 0.406250 -0.125000 -v 0.110485 0.406250 -0.170765 -v 0.156250 0.406250 -0.281250 -v -0.110486 0.184586 -0.214856 -v 0.000000 0.167073 -0.172575 -v 0.110485 0.184586 -0.214856 -v 0.156250 0.226867 -0.316932 -v 0.110485 0.269148 -0.419007 -v 0.000000 0.286661 -0.461288 -v -0.110486 0.269148 -0.419007 -v -0.156250 0.226867 -0.316932 -v -0.196566 0.367147 -0.468769 -v -0.200528 0.477172 -0.515462 -v -0.286731 0.557772 -0.534803 -v -0.404678 0.561734 -0.515462 -v -0.485279 0.486735 -0.468769 -v -0.481318 0.376710 -0.422076 -v -0.395115 0.296110 -0.402735 -v -0.277166 0.292148 -0.422076 -v 0.230970 1.345671 -0.750000 -v 0.095671 1.480970 -0.750000 -v 0.095671 1.019030 -0.750000 -v 0.230970 1.154329 -0.750000 -v -0.230970 1.154329 -0.750000 -v -0.095671 1.019030 -0.750000 -v -0.095671 1.480970 -0.750000 -v -0.230970 1.345671 -0.750000 -v 0.000000 1.921303 -2.989438 -v -0.125000 1.951658 -2.975283 -v -0.250000 2.147880 -2.883784 -v -0.216506 2.261168 -2.830956 -v 0.125000 1.951658 -2.975283 -v -0.216506 2.034591 -2.936611 -v -0.125000 2.344101 -2.792284 -v 0.375000 2.147880 -2.883783 -v -0.375000 2.261168 -2.830956 -v -0.312500 2.245990 -2.838034 -v -0.500000 2.147880 -2.883784 -v -0.483253 2.204524 -2.857370 -v -0.266747 2.091235 -2.910197 -v -0.312500 2.049769 -2.929533 -v -0.375000 2.034591 -2.936611 -v -0.437500 2.049769 -2.929533 -v -0.266747 2.204524 -2.857370 -v -0.437500 2.245990 -2.838034 -v -0.483253 2.091235 -2.910197 -v -0.250000 2.147880 -2.883784 -v 0.911612 2.036612 -1.125000 -v 0.875000 2.125000 -1.125000 -v 0.823223 2.073223 -0.948223 -v 0.867418 1.992418 -0.974112 -v 0.786612 2.161612 -1.125000 -v 0.698223 2.125000 -1.125000 -v 0.672335 2.099112 -1.036612 -v 0.742418 2.117417 -0.974112 -v -0.786612 2.161612 -1.125000 -v -0.742418 2.117417 -0.974112 -v -0.672335 2.099112 -1.036612 -v -0.698223 2.125000 -1.125000 -v -0.911612 2.036612 -1.125000 -v -0.867418 1.992418 -0.974112 -v -0.823223 2.073223 -0.948223 -v -0.875000 2.125000 -1.125000 -v -0.875000 1.948223 -1.125000 -v -0.849112 1.922335 -1.036612 -v -0.698223 1.948223 -0.875000 -v -0.635723 2.010723 -0.911612 -v -0.786612 1.859835 -1.000000 -v -0.760723 1.885723 -0.911612 -v -0.609835 2.036612 -1.000000 -v -0.609835 2.338388 -1.125000 -v -0.565641 2.294194 -0.974112 -v -0.495558 2.275888 -1.036612 -v -0.521447 2.301777 -1.125000 -v -0.734835 2.213388 -1.125000 -v -0.690641 2.169194 -0.974112 -v -0.646447 2.250000 -0.948223 -v -0.698223 2.301777 -1.125000 -v -0.698223 2.125000 -1.125000 -v -0.672335 2.099112 -1.036612 -v -0.521447 2.125000 -0.875000 -v -0.458947 2.187500 -0.911612 -v -0.609835 2.036612 -1.000000 -v -0.583947 2.062500 -0.911612 -v -0.433058 2.213388 -1.000000 -v -0.963388 1.984835 -1.125000 -v -0.919194 1.940641 -0.974112 -v -0.849112 1.922335 -1.036612 -v -0.875000 1.948223 -1.125000 -v -1.088388 1.859835 -1.125000 -v -1.044194 1.815641 -0.974112 -v -1.000000 1.896446 -0.948223 -v -1.051777 1.948223 -1.125000 -v -1.051777 1.771446 -1.125000 -v -1.025888 1.745558 -1.036612 -v -0.875000 1.771446 -0.875000 -v -0.812500 1.833946 -0.911612 -v -0.963388 1.683058 -1.000000 -v -0.937500 1.708946 -0.911612 -v -0.786612 1.859835 -1.000000 -v -0.698223 2.125000 -1.812500 -v -0.786612 2.161612 -1.812500 -v -0.521447 2.301777 -1.875000 -v -0.609835 2.338388 -1.875000 -v -0.875000 2.125000 -1.812500 -v -0.911612 2.036612 -1.812500 -v -0.875000 1.948223 -1.750000 -v -0.963388 1.984835 -1.750000 -v -0.698223 2.301777 -1.875000 -v -0.875000 1.948223 -1.812500 -v -0.734835 2.213388 -1.875000 -v -1.051777 1.948223 -1.750000 -v -1.088388 1.859835 -1.750000 -v -0.698223 2.125000 -1.875000 -v -1.051777 1.771446 -1.750000 -v 0.875000 1.948223 -1.125000 -v 0.849112 1.922335 -1.036612 -v 0.635723 2.010723 -0.911612 -v 0.698223 1.948223 -0.875000 -v 0.760723 1.885723 -0.911612 -v 0.786612 1.859835 -1.000000 -v 0.609835 2.036612 -1.000000 -v 0.609835 2.338388 -1.125000 -v 0.521447 2.301777 -1.125000 -v 0.495558 2.275888 -1.036612 -v 0.565641 2.294194 -0.974112 -v 0.734835 2.213388 -1.125000 -v 0.698223 2.301777 -1.125000 -v 0.646447 2.250000 -0.948223 -v 0.690641 2.169194 -0.974112 -v 0.698223 2.125000 -1.125000 -v 0.672335 2.099112 -1.036612 -v 0.458947 2.187500 -0.911612 -v 0.521447 2.125000 -0.875000 -v 0.583947 2.062500 -0.911612 -v 0.609835 2.036612 -1.000000 -v 0.433058 2.213388 -1.000000 -v 0.963388 1.984835 -1.125000 -v 0.875000 1.948223 -1.125000 -v 0.849112 1.922335 -1.036612 -v 0.919194 1.940641 -0.974112 -v 1.088388 1.859835 -1.125000 -v 1.051777 1.948223 -1.125000 -v 1.000000 1.896446 -0.948223 -v 1.044194 1.815641 -0.974112 -v 1.051777 1.771446 -1.125000 -v 1.025888 1.745558 -1.036612 -v 0.812500 1.833946 -0.911612 -v 0.875000 1.771446 -0.875000 -v 0.937500 1.708946 -0.911612 -v 0.963388 1.683058 -1.000000 -v 0.786612 1.859835 -1.000000 -v 0.786612 2.161612 -1.812500 -v 0.698223 2.125000 -1.812500 -v 0.609835 2.338388 -1.875000 -v 0.521447 2.301777 -1.875000 -v 0.875000 2.125000 -1.812500 -v 0.911612 2.036612 -1.812500 -v 0.963388 1.984835 -1.750000 -v 0.875000 1.948223 -1.750000 -v 0.698223 2.301777 -1.875000 -v 0.875000 1.948223 -1.812500 -v 0.734835 2.213388 -1.875000 -v 1.051777 1.948223 -1.750000 -v 1.088388 1.859835 -1.750000 -v 0.698223 2.125000 -1.875000 -v 1.051777 1.771446 -1.750000 -v 1.000000 0.500000 -2.625000 -v 0.344030 1.791848 -0.175597 -v 0.424630 1.866847 -0.128904 -v 0.388541 1.881795 -0.128904 -v 0.328091 1.825547 -0.163924 -v 0.420670 1.976871 -0.082211 -v 0.334466 2.057472 -0.062870 -v 0.320918 2.024764 -0.079378 -v 0.385571 1.964314 -0.093884 -v 0.216518 2.061433 -0.082211 -v 0.135918 1.986435 -0.128904 -v 0.172007 1.971487 -0.128904 -v 0.232457 2.027735 -0.093884 -v 0.139879 1.876410 -0.175597 -v 0.174978 1.888968 -0.163924 -v 0.226082 1.795810 -0.194938 -v 0.239630 1.828518 -0.178429 -v 0.208096 1.956538 -0.128904 -v 0.210077 1.901526 -0.152250 -v 0.253178 1.861225 -0.161921 -v 0.312152 1.859245 -0.152250 -v 0.352451 1.896744 -0.128904 -v 0.350472 1.951756 -0.105557 -v 0.307370 1.992056 -0.095887 -v 0.248396 1.994037 -0.105557 -v 0.222349 2.003332 -0.037240 -v 0.161900 1.947084 -0.072260 -v 0.197989 1.932135 -0.072260 -v 0.238288 1.969634 -0.048913 -v 0.164869 1.864565 -0.107280 -v 0.199968 1.877123 -0.095606 -v 0.229523 1.804115 -0.121785 -v 0.243071 1.836822 -0.105277 -v 0.317984 1.801143 -0.107280 -v 0.302044 1.834842 -0.095606 -v 0.378433 1.857392 -0.072260 -v 0.342344 1.872341 -0.072260 -v 0.375462 1.939911 -0.037240 -v 0.340365 1.927353 -0.048913 -v 0.310810 2.000361 -0.022734 -v 0.297262 1.967653 -0.039243 -v -0.110485 1.735485 -0.750000 -v -0.156250 1.625000 -0.750000 -v -0.156250 1.762294 -0.418544 -v -0.110485 1.840419 -0.496669 -v -0.110485 1.514515 -0.750000 -v 0.000000 1.468750 -0.750000 -v 0.000000 1.651808 -0.308058 -v -0.110485 1.684169 -0.340419 -v 0.110486 1.514515 -0.750000 -v 0.156250 1.625000 -0.750000 -v 0.156250 1.762294 -0.418544 -v 0.110486 1.684169 -0.340419 -v 0.110486 1.735485 -0.750000 -v 0.110486 1.840419 -0.496669 -v 0.000000 1.781250 -0.750000 -v 0.000000 1.872779 -0.529029 -v 0.156250 1.914367 -0.316931 -v 0.110486 1.872086 -0.214856 -v 0.000000 1.854573 -0.172575 -v -0.110485 1.872086 -0.214856 -v -0.156250 1.914367 -0.316931 -v -0.110485 1.956648 -0.419007 -v 0.000000 1.974162 -0.461288 -v 0.110486 1.956648 -0.419007 -v -0.110485 2.093750 -0.391735 -v 0.000000 2.093750 -0.437500 -v 0.110486 2.093750 -0.391735 -v 0.156250 2.093750 -0.281250 -v 0.110486 2.093750 -0.170765 -v 0.000000 2.093750 -0.125000 -v -0.110485 2.093750 -0.170765 -v -0.156250 2.093750 -0.281250 -v 0.110486 2.315414 -0.214856 -v 0.000000 2.332927 -0.172575 -v -0.110485 2.315414 -0.214856 -v -0.156250 2.273133 -0.316932 -v -0.110485 2.230852 -0.419007 -v 0.000000 2.213339 -0.461288 -v 0.110486 2.230852 -0.419007 -v 0.156250 2.273133 -0.316932 -v 0.196566 2.132853 -0.468769 -v 0.200528 2.022828 -0.515462 -v 0.286731 1.942228 -0.534803 -v 0.404678 1.938266 -0.515462 -v 0.485279 2.013265 -0.468769 -v 0.481318 2.123290 -0.422076 -v 0.395115 2.203890 -0.402735 -v 0.277166 2.207852 -0.422076 -v -0.541848 1.594031 -0.175597 -v -0.616847 1.674630 -0.128904 -v -0.631795 1.638541 -0.128904 -v -0.575547 1.578091 -0.163924 -v -0.726871 1.670670 -0.082211 -v -0.807472 1.584466 -0.062870 -v -0.774764 1.570918 -0.079378 -v -0.714314 1.635571 -0.093884 -v -0.811433 1.466519 -0.082211 -v -0.736435 1.385918 -0.128904 -v -0.721487 1.422007 -0.128904 -v -0.777735 1.482457 -0.093884 -v -0.626410 1.389879 -0.175597 -v -0.638968 1.424978 -0.163924 -v -0.545810 1.476082 -0.194938 -v -0.578518 1.489630 -0.178429 -v -0.706538 1.458096 -0.128904 -v -0.651526 1.460078 -0.152250 -v -0.611225 1.503178 -0.161921 -v -0.609245 1.562152 -0.152250 -v -0.646744 1.602452 -0.128904 -v -0.701756 1.600472 -0.105557 -v -0.742056 1.557370 -0.095887 -v -0.744037 1.498396 -0.105557 -v -0.753332 1.472349 -0.037240 -v -0.697084 1.411900 -0.072260 -v -0.682135 1.447989 -0.072260 -v -0.719634 1.488288 -0.048913 -v -0.614565 1.414870 -0.107280 -v -0.627123 1.449969 -0.095606 -v -0.554115 1.479523 -0.121785 -v -0.586822 1.493071 -0.105277 -v -0.551143 1.567984 -0.107280 -v -0.584842 1.552044 -0.095606 -v -0.607392 1.628433 -0.072260 -v -0.622341 1.592345 -0.072260 -v -0.689911 1.625462 -0.037240 -v -0.677353 1.590365 -0.048913 -v -0.750361 1.560810 -0.022734 -v -0.717653 1.547262 -0.039243 -v -0.485485 1.139515 -0.750000 -v -0.375000 1.093750 -0.750000 -v -0.512294 1.093750 -0.418544 -v -0.590419 1.139515 -0.496669 -v -0.264515 1.139515 -0.750000 -v -0.218750 1.250000 -0.750000 -v -0.401808 1.250000 -0.308058 -v -0.434169 1.139515 -0.340419 -v -0.264515 1.360486 -0.750000 -v -0.375000 1.406250 -0.750000 -v -0.512294 1.406250 -0.418544 -v -0.434169 1.360486 -0.340419 -v -0.485485 1.360486 -0.750000 -v -0.590419 1.360486 -0.496669 -v -0.531250 1.250000 -0.750000 -v -0.622779 1.250000 -0.529029 -v -0.664367 1.406250 -0.316931 -v -0.622086 1.360486 -0.214856 -v -0.604573 1.250000 -0.172575 -v -0.622086 1.139515 -0.214856 -v -0.664367 1.093750 -0.316931 -v -0.706648 1.139515 -0.419007 -v -0.724162 1.250000 -0.461288 -v -0.706648 1.360486 -0.419007 -v -0.843750 1.139515 -0.391735 -v -0.843750 1.250000 -0.437500 -v -0.843750 1.360486 -0.391735 -v -0.843750 1.406250 -0.281250 -v -0.843750 1.360486 -0.170765 -v -0.843750 1.250000 -0.125000 -v -0.843750 1.139515 -0.170765 -v -0.843750 1.093750 -0.281250 -v -1.065414 1.360486 -0.214856 -v -1.082927 1.250000 -0.172575 -v -1.065414 1.139515 -0.214856 -v -1.023133 1.093750 -0.316932 -v -0.980852 1.139515 -0.419007 -v -0.963339 1.250000 -0.461288 -v -0.980852 1.360486 -0.419007 -v -1.023133 1.406250 -0.316932 -v -0.882853 1.446566 -0.468769 -v -0.772828 1.450528 -0.515462 -v -0.692228 1.536731 -0.534803 -v -0.688266 1.654678 -0.515462 -v -0.763265 1.735279 -0.468769 -v -0.873290 1.731318 -0.422076 -v -0.953890 1.645115 -0.402735 -v -0.957852 1.527166 -0.422076 -v 0.541848 0.905970 -0.175597 -v 0.616847 0.825370 -0.128904 -v 0.631795 0.861459 -0.128904 -v 0.575547 0.921909 -0.163924 -v 0.726871 0.829330 -0.082211 -v 0.807472 0.915534 -0.062870 -v 0.774764 0.929082 -0.079378 -v 0.714314 0.864429 -0.093884 -v 0.811433 1.033482 -0.082211 -v 0.736435 1.114082 -0.128904 -v 0.721487 1.077993 -0.128904 -v 0.777735 1.017543 -0.093884 -v 0.626410 1.110121 -0.175597 -v 0.638968 1.075022 -0.163924 -v 0.545810 1.023918 -0.194938 -v 0.578518 1.010370 -0.178429 -v 0.706538 1.041904 -0.128904 -v 0.651526 1.039923 -0.152250 -v 0.611225 0.996822 -0.161921 -v 0.609245 0.937848 -0.152250 -v 0.646744 0.897549 -0.128904 -v 0.701756 0.899529 -0.105557 -v 0.742056 0.942630 -0.095887 -v 0.744037 1.001604 -0.105557 -v 0.753332 1.027651 -0.037240 -v 0.697084 1.088100 -0.072260 -v 0.682135 1.052011 -0.072260 -v 0.719634 1.011712 -0.048913 -v 0.614565 1.085131 -0.107280 -v 0.627123 1.050032 -0.095606 -v 0.554115 1.020477 -0.121785 -v 0.586822 1.006929 -0.105277 -v 0.551143 0.932016 -0.107280 -v 0.584842 0.947956 -0.095606 -v 0.607392 0.871567 -0.072260 -v 0.622341 0.907656 -0.072260 -v 0.689911 0.874539 -0.037240 -v 0.677353 0.909636 -0.048913 -v 0.750361 0.939190 -0.022734 -v 0.717653 0.952738 -0.039243 -v 0.485485 1.360485 -0.750000 -v 0.375000 1.406250 -0.750000 -v 0.512294 1.406250 -0.418544 -v 0.590419 1.360485 -0.496669 -v 0.264515 1.360485 -0.750000 -v 0.218750 1.250000 -0.750000 -v 0.401808 1.250000 -0.308058 -v 0.434169 1.360485 -0.340419 -v 0.264515 1.139514 -0.750000 -v 0.375000 1.093750 -0.750000 -v 0.512294 1.093750 -0.418544 -v 0.434169 1.139514 -0.340419 -v 0.485485 1.139514 -0.750000 -v 0.590419 1.139514 -0.496669 -v 0.531250 1.250000 -0.750000 -v 0.622779 1.250000 -0.529029 -v 0.664367 1.093750 -0.316931 -v 0.622086 1.139514 -0.214856 -v 0.604573 1.250000 -0.172575 -v 0.622086 1.360485 -0.214856 -v 0.664367 1.406250 -0.316931 -v 0.706648 1.360485 -0.419007 -v 0.724162 1.250000 -0.461288 -v 0.706648 1.139514 -0.419007 -v 0.843750 1.360485 -0.391735 -v 0.843750 1.250000 -0.437500 -v 0.843750 1.139514 -0.391735 -v 0.843750 1.093750 -0.281250 -v 0.843750 1.139514 -0.170765 -v 0.843750 1.250000 -0.125000 -v 0.843750 1.360485 -0.170765 -v 0.843750 1.406250 -0.281250 -v 1.065414 1.139514 -0.214856 -v 1.082927 1.250000 -0.172575 -v 1.065414 1.360485 -0.214856 -v 1.023133 1.406250 -0.316932 -v 0.980852 1.360485 -0.419007 -v 0.963339 1.250000 -0.461288 -v 0.980852 1.139514 -0.419007 -v 1.023133 1.093750 -0.316932 -v 0.882853 1.053434 -0.468769 -v 0.772828 1.049472 -0.515462 -v 0.692228 0.963269 -0.534803 -v 0.688266 0.845322 -0.515462 -v 0.763265 0.764721 -0.468769 -v 0.873290 0.768682 -0.422076 -v 0.953890 0.854885 -0.402735 -v 0.957852 0.972834 -0.422076 -v -0.626411 1.110122 -0.175597 -v -0.736436 1.114082 -0.128904 -v -0.721487 1.077994 -0.128904 -v -0.638968 1.075022 -0.163924 -v -0.811434 1.033483 -0.082211 -v -0.807472 0.915534 -0.062870 -v -0.774764 0.929083 -0.079378 -v -0.777736 1.017543 -0.093884 -v -0.726871 0.829332 -0.082211 -v -0.616847 0.825370 -0.128904 -v -0.631795 0.861459 -0.128904 -v -0.714314 0.864430 -0.093884 -v -0.541848 0.905971 -0.175597 -v -0.575547 0.921910 -0.163924 -v -0.545810 1.023918 -0.194938 -v -0.578518 1.010370 -0.178429 -v -0.646744 0.897548 -0.128904 -v -0.609246 0.937849 -0.152250 -v -0.611225 0.996822 -0.161921 -v -0.651526 1.039924 -0.152250 -v -0.706538 1.041904 -0.128904 -v -0.744037 1.001604 -0.105557 -v -0.742056 0.942631 -0.095887 -v -0.701756 0.899529 -0.105557 -v -0.689911 0.874538 -0.037240 -v -0.607393 0.871567 -0.072260 -v -0.622341 0.907657 -0.072260 -v -0.677353 0.909637 -0.048913 -v -0.551143 0.932017 -0.107280 -v -0.584842 0.947956 -0.095606 -v -0.554116 1.020479 -0.121785 -v -0.586823 1.006931 -0.105277 -v -0.614565 1.085132 -0.107280 -v -0.627123 1.050032 -0.095606 -v -0.697084 1.088102 -0.072260 -v -0.682136 1.052012 -0.072260 -v -0.753332 1.027651 -0.037240 -v -0.719635 1.011713 -0.048913 -v -0.750361 0.939191 -0.022734 -v -0.717654 0.952739 -0.039243 -v -0.265165 0.828586 -0.750000 -v -0.154680 0.874350 -0.750000 -v -0.251761 0.777268 -0.418544 -v -0.339365 0.754386 -0.496669 -v -0.108916 0.984835 -0.750000 -v -0.154680 1.095320 -0.750000 -v -0.284121 0.965879 -0.308058 -v -0.228879 0.864871 -0.340419 -v -0.265166 1.141085 -0.750000 -v -0.375651 1.095320 -0.750000 -v -0.472732 0.998239 -0.418544 -v -0.385129 1.021122 -0.340419 -v -0.421415 0.984836 -0.750000 -v -0.495615 0.910636 -0.496669 -v -0.375651 0.874350 -0.750000 -v -0.440371 0.809629 -0.529029 -v -0.580264 0.890707 -0.316931 -v -0.518007 0.888244 -0.214856 -v -0.427498 0.822502 -0.172575 -v -0.361757 0.731994 -0.214856 -v -0.359293 0.669736 -0.316931 -v -0.421551 0.672200 -0.419007 -v -0.512060 0.737940 -0.461288 -v -0.577801 0.828450 -0.419007 -v -0.518497 0.575254 -0.391735 -v -0.596621 0.653379 -0.437500 -v -0.674747 0.731504 -0.391735 -v -0.707107 0.763864 -0.281250 -v -0.674747 0.731504 -0.170765 -v -0.596621 0.653379 -0.125000 -v -0.518497 0.575254 -0.170765 -v -0.486136 0.542893 -0.281250 -v -0.831487 0.574764 -0.214856 -v -0.765745 0.484255 -0.172575 -v -0.675237 0.418514 -0.214856 -v -0.612979 0.416050 -0.316932 -v -0.615442 0.478308 -0.419007 -v -0.681184 0.568817 -0.461288 -v -0.771693 0.634558 -0.419007 -v -0.833950 0.637021 -0.316932 -v -0.763264 0.764722 -0.468769 -v -0.688267 0.845323 -0.515462 -v -0.692228 0.963270 -0.534803 -v -0.772828 1.049473 -0.515462 -v -0.882854 1.053434 -0.468769 -v -0.957852 0.972834 -0.422076 -v -0.953891 0.854886 -0.402735 -v -0.873290 0.768683 -0.422076 -v 0.626411 1.389878 -0.175597 -v 0.736436 1.385918 -0.128904 -v 0.721487 1.422006 -0.128904 -v 0.638968 1.424978 -0.163924 -v 0.811434 1.466517 -0.082211 -v 0.807472 1.584466 -0.062870 -v 0.774764 1.570918 -0.079378 -v 0.777736 1.482457 -0.093884 -v 0.726872 1.670668 -0.082211 -v 0.616847 1.674630 -0.128904 -v 0.631796 1.638541 -0.128904 -v 0.714314 1.635570 -0.093884 -v 0.541848 1.594029 -0.175597 -v 0.575547 1.578090 -0.163924 -v 0.545810 1.476082 -0.194938 -v 0.578518 1.489630 -0.178429 -v 0.646744 1.602452 -0.128904 -v 0.609246 1.562152 -0.152250 -v 0.611225 1.503178 -0.161921 -v 0.651526 1.460077 -0.152250 -v 0.706538 1.458097 -0.128904 -v 0.744037 1.498396 -0.105557 -v 0.742057 1.557369 -0.095887 -v 0.701756 1.600471 -0.105557 -v 0.689911 1.625462 -0.037240 -v 0.607393 1.628433 -0.072260 -v 0.622342 1.592343 -0.072260 -v 0.677353 1.590363 -0.048913 -v 0.551144 1.567983 -0.107280 -v 0.584842 1.552044 -0.095606 -v 0.554116 1.479522 -0.121785 -v 0.586823 1.493069 -0.105277 -v 0.614566 1.414869 -0.107280 -v 0.627123 1.449969 -0.095606 -v 0.697084 1.411898 -0.072260 -v 0.682136 1.447988 -0.072260 -v 0.753332 1.472350 -0.037240 -v 0.719635 1.488287 -0.048913 -v 0.750361 1.560810 -0.022734 -v 0.717654 1.547261 -0.039243 -v 0.265165 1.671415 -0.750000 -v 0.154680 1.625651 -0.750000 -v 0.251761 1.722732 -0.418544 -v 0.339365 1.745614 -0.496669 -v 0.108916 1.515165 -0.750000 -v 0.154680 1.404680 -0.750000 -v 0.284121 1.534121 -0.308058 -v 0.228879 1.635129 -0.340419 -v 0.265166 1.358915 -0.750000 -v 0.375651 1.404680 -0.750000 -v 0.472732 1.501761 -0.418544 -v 0.385129 1.478879 -0.340419 -v 0.421415 1.515165 -0.750000 -v 0.495615 1.589364 -0.496669 -v 0.375651 1.625651 -0.750000 -v 0.440371 1.690371 -0.529029 -v 0.580264 1.609293 -0.316931 -v 0.518007 1.611756 -0.214856 -v 0.427498 1.677498 -0.172575 -v 0.361757 1.768006 -0.214856 -v 0.359293 1.830264 -0.316931 -v 0.421551 1.827801 -0.419007 -v 0.512060 1.762060 -0.461288 -v 0.577801 1.671550 -0.419007 -v 0.518497 1.924746 -0.391735 -v 0.596621 1.846622 -0.437500 -v 0.674747 1.768496 -0.391735 -v 0.707107 1.736136 -0.281250 -v 0.674747 1.768496 -0.170765 -v 0.596621 1.846622 -0.125000 -v 0.518497 1.924746 -0.170765 -v 0.486136 1.957107 -0.281250 -v 0.831487 1.925236 -0.214856 -v 0.765745 2.015745 -0.172575 -v 0.675237 2.081486 -0.214856 -v 0.612979 2.083950 -0.316932 -v 0.615442 2.021692 -0.419007 -v 0.681184 1.931184 -0.461288 -v 0.771693 1.865442 -0.419007 -v 0.833950 1.862979 -0.316932 -v 0.763264 1.735279 -0.468769 -v 0.688267 1.654677 -0.515462 -v 0.692229 1.536730 -0.534803 -v 0.772828 1.450527 -0.515462 -v 0.882854 1.446566 -0.468769 -v 0.957852 1.527166 -0.422076 -v 0.953891 1.645114 -0.402735 -v 0.873290 1.731318 -0.422076 -v -0.139878 1.876411 -0.175597 -v -0.135918 1.986436 -0.128904 -v -0.172006 1.971487 -0.128904 -v -0.174978 1.888969 -0.163924 -v -0.216517 2.061434 -0.082211 -v -0.334466 2.057472 -0.062870 -v -0.320918 2.024765 -0.079378 -v -0.232457 2.027736 -0.093884 -v -0.420668 1.976872 -0.082211 -v -0.424630 1.866847 -0.128904 -v -0.388541 1.881796 -0.128904 -v -0.385570 1.964314 -0.093884 -v -0.344029 1.791849 -0.175597 -v -0.328090 1.825547 -0.163924 -v -0.226082 1.795810 -0.194938 -v -0.239630 1.828518 -0.178429 -v -0.352452 1.896744 -0.128904 -v -0.312151 1.859246 -0.152250 -v -0.253178 1.861225 -0.161921 -v -0.210077 1.901526 -0.152250 -v -0.208096 1.956538 -0.128904 -v -0.248396 1.994038 -0.105557 -v -0.307369 1.992057 -0.095887 -v -0.350471 1.951756 -0.105557 -v -0.375462 1.939911 -0.037240 -v -0.378433 1.857393 -0.072260 -v -0.342343 1.872342 -0.072260 -v -0.340363 1.927353 -0.048913 -v -0.317983 1.801144 -0.107280 -v -0.302044 1.834842 -0.095606 -v -0.229521 1.804116 -0.121785 -v -0.243069 1.836823 -0.105277 -v -0.164869 1.864566 -0.107280 -v -0.199968 1.877123 -0.095606 -v -0.161898 1.947084 -0.072260 -v -0.197988 1.932136 -0.072260 -v -0.222349 2.003333 -0.037240 -v -0.238287 1.969635 -0.048913 -v -0.310809 2.000361 -0.022734 -v -0.297261 1.967654 -0.039243 -v -0.421415 1.515165 -0.750000 -v -0.375651 1.404680 -0.750000 -v -0.472732 1.501761 -0.418544 -v -0.495614 1.589365 -0.496669 -v -0.265165 1.358916 -0.750000 -v -0.154680 1.404680 -0.750000 -v -0.284121 1.534121 -0.308058 -v -0.385129 1.478879 -0.340419 -v -0.108915 1.515166 -0.750000 -v -0.154680 1.625651 -0.750000 -v -0.251761 1.722732 -0.418544 -v -0.228879 1.635129 -0.340419 -v -0.265164 1.671415 -0.750000 -v -0.339364 1.745615 -0.496669 -v -0.375651 1.625651 -0.750000 -v -0.440371 1.690372 -0.529029 -v -0.359293 1.830264 -0.316931 -v -0.361756 1.768007 -0.214856 -v -0.427498 1.677498 -0.172575 -v -0.518006 1.611757 -0.214856 -v -0.580264 1.609293 -0.316931 -v -0.577800 1.671551 -0.419007 -v -0.512060 1.762060 -0.461288 -v -0.421550 1.827801 -0.419007 -v -0.674746 1.768497 -0.391735 -v -0.596621 1.846622 -0.437500 -v -0.518496 1.924747 -0.391735 -v -0.486136 1.957107 -0.281250 -v -0.518496 1.924747 -0.170765 -v -0.596621 1.846622 -0.125000 -v -0.674746 1.768497 -0.170765 -v -0.707107 1.736136 -0.281250 -v -0.675236 2.081487 -0.214856 -v -0.765745 2.015745 -0.172575 -v -0.831486 1.925237 -0.214856 -v -0.833950 1.862979 -0.316932 -v -0.771692 1.865443 -0.419007 -v -0.681184 1.931184 -0.461288 -v -0.615442 2.021693 -0.419007 -v -0.612979 2.083950 -0.316932 -v -0.485278 2.013265 -0.468769 -v -0.404677 1.938267 -0.515462 -v -0.286730 1.942229 -0.534803 -v -0.200527 2.022829 -0.515462 -v -0.196566 2.132854 -0.468769 -v -0.277167 2.207852 -0.422076 -v -0.395114 2.203891 -0.402735 -v -0.481318 2.123290 -0.422076 -v 0.139878 0.623589 -0.175597 -v 0.135918 0.513564 -0.128904 -v 0.172006 0.528513 -0.128904 -v 0.174978 0.611032 -0.163924 -v 0.216517 0.438566 -0.082211 -v 0.334466 0.442528 -0.062870 -v 0.320918 0.475236 -0.079378 -v 0.232457 0.472264 -0.093884 -v 0.420668 0.523129 -0.082211 -v 0.424630 0.633153 -0.128904 -v 0.388541 0.618205 -0.128904 -v 0.385570 0.535686 -0.093884 -v 0.344029 0.708152 -0.175597 -v 0.328090 0.674453 -0.163924 -v 0.226082 0.704190 -0.194938 -v 0.239630 0.671482 -0.178429 -v 0.352452 0.603256 -0.128904 -v 0.312151 0.640754 -0.152250 -v 0.253178 0.638775 -0.161921 -v 0.210077 0.598474 -0.152250 -v 0.208096 0.543462 -0.128904 -v 0.248396 0.505963 -0.105557 -v 0.307369 0.507944 -0.095887 -v 0.350471 0.548244 -0.105557 -v 0.375462 0.560089 -0.037240 -v 0.378433 0.642607 -0.072260 -v 0.342343 0.627659 -0.072260 -v 0.340363 0.572647 -0.048913 -v 0.317983 0.698857 -0.107280 -v 0.302044 0.665158 -0.095606 -v 0.229521 0.695884 -0.121785 -v 0.243069 0.663177 -0.105277 -v 0.164869 0.635435 -0.107280 -v 0.199969 0.622877 -0.095606 -v 0.161898 0.552916 -0.072260 -v 0.197988 0.567865 -0.072260 -v 0.222349 0.496668 -0.037240 -v 0.238287 0.530365 -0.048913 -v 0.310809 0.499639 -0.022734 -v 0.297261 0.532347 -0.039243 -v 0.421415 0.984835 -0.750000 -v 0.375651 1.095320 -0.750000 -v 0.472732 0.998239 -0.418544 -v 0.495614 0.910635 -0.496669 -v 0.265165 1.141084 -0.750000 -v 0.154680 1.095320 -0.750000 -v 0.284121 0.965879 -0.308058 -v 0.385129 1.021121 -0.340419 -v 0.108915 0.984834 -0.750000 -v 0.154680 0.874350 -0.750000 -v 0.251761 0.777268 -0.418544 -v 0.228879 0.864871 -0.340419 -v 0.265164 0.828585 -0.750000 -v 0.339364 0.754385 -0.496669 -v 0.375650 0.874350 -0.750000 -v 0.440371 0.809629 -0.529029 -v 0.359293 0.669736 -0.316931 -v 0.361756 0.731993 -0.214856 -v 0.427498 0.822502 -0.172575 -v 0.518006 0.888243 -0.214856 -v 0.580264 0.890707 -0.316931 -v 0.577800 0.828449 -0.419007 -v 0.512060 0.737940 -0.461288 -v 0.421550 0.672199 -0.419007 -v 0.674746 0.731503 -0.391735 -v 0.596621 0.653379 -0.437500 -v 0.518496 0.575253 -0.391735 -v 0.486136 0.542893 -0.281250 -v 0.518496 0.575253 -0.170765 -v 0.596621 0.653379 -0.125000 -v 0.674746 0.731503 -0.170765 -v 0.707107 0.763864 -0.281250 -v 0.675236 0.418513 -0.214856 -v 0.765745 0.484255 -0.172575 -v 0.831486 0.574763 -0.214856 -v 0.833950 0.637021 -0.316932 -v 0.771692 0.634558 -0.419007 -v 0.681184 0.568816 -0.461288 -v 0.615442 0.478308 -0.419007 -v 0.612979 0.416050 -0.316932 -v 0.485278 0.486736 -0.468769 -v 0.404677 0.561733 -0.515462 -v 0.286730 0.557772 -0.534803 -v 0.200527 0.477172 -0.515462 -v 0.196566 0.367146 -0.468769 -v 0.277166 0.292148 -0.422076 -v 0.395114 0.296109 -0.402735 -v 0.481317 0.376710 -0.422076 -v 0.391169 2.232164 0.136894 -v 0.014465 2.307096 0.136894 -v 0.014465 2.197720 -0.081856 -v 0.349313 2.131115 -0.081856 -v 0.025414 2.252758 -0.109375 -v 0.360261 2.186152 -0.109375 -v 0.025414 2.362132 0.109375 -v 0.402117 2.287201 0.109375 -v -0.982164 1.641169 0.136894 -v -1.057095 1.264466 0.136894 -v -0.947720 1.264466 -0.081856 -v -0.881115 1.599313 -0.081856 -v -1.002758 1.275414 -0.109375 -v -0.936152 1.610261 -0.109375 -v -1.112132 1.275414 0.109375 -v -1.037201 1.652117 0.109375 -v 0.982164 0.858831 0.136894 -v 1.057095 1.235535 0.136894 -v 0.947720 1.235535 -0.081856 -v 0.881115 0.900687 -0.081856 -v 1.002758 1.224586 -0.109375 -v 0.936152 0.889739 -0.109375 -v 1.112132 1.224586 0.109375 -v 1.037201 0.847883 0.109375 -v -0.971093 0.832103 0.136894 -v -0.757708 0.512749 0.136894 -v -0.680368 0.590089 -0.081856 -v -0.870044 0.873959 -0.081856 -v -0.727027 0.558913 -0.109375 -v -0.916702 0.842784 -0.109375 -v -0.804366 0.481574 0.109375 -v -1.017751 0.800928 0.109375 -v 0.971093 1.667897 0.136894 -v 0.757708 1.987251 0.136894 -v 0.680368 1.909911 -0.081856 -v 0.870044 1.626041 -0.081856 -v 0.727027 1.941087 -0.109375 -v 0.916703 1.657217 -0.109375 -v 0.804366 2.018426 0.109375 -v 1.017752 1.699073 0.109375 -v -0.417897 2.221093 0.136894 -v -0.737251 2.007708 0.136894 -v -0.659911 1.930368 -0.081856 -v -0.376041 2.120044 -0.081856 -v -0.691087 1.977027 -0.109375 -v -0.407216 2.166703 -0.109375 -v -0.768426 2.054366 0.109375 -v -0.449072 2.267752 0.109375 -v 0.417897 0.278907 0.136894 -v 0.737251 0.492292 0.136894 -v 0.659911 0.569632 -0.081856 -v 0.376041 0.379956 -0.081856 -v 0.691087 0.522973 -0.109375 -v 0.407216 0.333298 -0.109375 -v 0.768426 0.445634 0.109375 -v 0.449072 0.232249 0.109375 -v -0.737251 0.492293 0.136894 -v -0.417897 0.278907 0.136894 -v -0.376041 0.379957 -0.081856 -v -0.659911 0.569632 -0.081856 -v -0.407218 0.333298 -0.109375 -v -0.691088 0.522974 -0.109375 -v -0.449074 0.232249 0.109375 -v -0.768427 0.445635 0.109375 -v 0.737251 2.007708 0.136894 -v 0.417897 2.221093 0.136894 -v 0.376041 2.120044 -0.081856 -v 0.659911 1.930368 -0.081856 -v 0.407218 2.166703 -0.109375 -v 0.691088 1.977026 -0.109375 -v 0.449074 2.267751 0.109375 -v 0.768427 2.054366 0.109375 -v -0.757708 1.987251 0.136894 -v -0.971093 1.667897 0.136894 -v -0.870044 1.626041 -0.081856 -v -0.680368 1.909911 -0.081856 -v -0.916702 1.657218 -0.109375 -v -0.727026 1.941088 -0.109375 -v -1.017751 1.699074 0.109375 -v -0.804365 2.018427 0.109375 -v 0.757708 0.512749 0.136894 -v 0.971093 0.832103 0.136894 -v 0.870044 0.873959 -0.081856 -v 0.680368 0.590089 -0.081856 -v 0.916702 0.842782 -0.109375 -v 0.727026 0.558912 -0.109375 -v 1.017751 0.800926 0.109375 -v 0.804366 0.481573 0.109375 -v -1.057095 1.235535 0.136894 -v -0.982164 0.858832 0.136894 -v -0.881115 0.900688 -0.081856 -v -0.947720 1.235535 -0.081856 -v -0.936153 0.889740 -0.109375 -v -1.002758 1.224588 -0.109375 -v -1.037201 0.847885 0.109375 -v -1.112132 1.224588 0.109375 -v 1.057095 1.264465 0.136894 -v 0.982164 1.641169 0.136894 -v 0.881115 1.599313 -0.081856 -v 0.947720 1.264465 -0.081856 -v 0.936153 1.610260 -0.109375 -v 1.002758 1.275412 -0.109375 -v 1.037202 1.652116 0.109375 -v 1.112132 1.275412 0.109375 -v -0.014465 2.307096 0.136894 -v -0.391168 2.232164 0.136894 -v -0.349312 2.131115 -0.081856 -v -0.014465 2.197721 -0.081856 -v -0.360260 2.186153 -0.109375 -v -0.025412 2.252758 -0.109375 -v -0.402115 2.287201 0.109375 -v -0.025412 2.362133 0.109375 -v 0.014465 0.192905 0.136894 -v 0.391169 0.267836 0.136894 -v 0.349312 0.368885 -0.081856 -v 0.014465 0.302280 -0.081856 -v 0.360260 0.313847 -0.109375 -v 0.025412 0.247242 -0.109375 -v 0.402115 0.212799 0.109375 -v 0.025412 0.137868 0.109375 -v 0.375000 2.500000 -1.875000 -v 0.375000 2.500000 -0.875000 -v -0.375000 2.500000 -1.875000 -v -0.375000 2.500000 -0.875000 -v 0.375000 2.250000 -1.875000 -v 0.375000 2.250000 -0.875000 -v -0.375000 2.250000 -1.875000 -v -0.375000 2.250000 -0.875000 -v 0.000000 2.500000 -1.875000 -v -0.088388 2.463388 -1.875000 -v -0.125000 2.375000 -1.875000 -v 0.125000 2.375000 -1.875000 -v 0.088388 2.463388 -1.875000 -v 0.000000 2.500000 -1.125000 -v -0.088388 2.463388 -1.125000 -v -0.125000 2.375000 -1.125000 -v 0.125000 2.375000 -1.125000 -v 0.088388 2.463388 -1.125000 -v 0.000000 2.426777 -0.948223 -v -0.088388 2.400888 -0.974111 -v -0.125000 2.338388 -1.036612 -v 0.125000 2.338388 -1.036612 -v 0.088388 2.400888 -0.974111 -v 0.000000 2.250000 -0.875000 -v -0.088388 2.250000 -0.911611 -v -0.125000 2.250000 -1.000000 -v 0.125000 2.250000 -1.000000 -v 0.088388 2.250000 -0.911611 -v 0.250000 2.500000 -1.875000 -v 0.161612 2.463388 -1.875000 -v 0.125000 2.375000 -1.875000 -v 0.375000 2.375000 -1.875000 -v 0.338388 2.463388 -1.875000 -v 0.250000 2.500000 -1.125000 -v 0.161612 2.463388 -1.125000 -v 0.125000 2.375000 -1.125000 -v 0.375000 2.375000 -1.125000 -v 0.338388 2.463388 -1.125000 -v 0.250000 2.426777 -0.948223 -v 0.161612 2.400888 -0.974111 -v 0.125000 2.338388 -1.036612 -v 0.375000 2.338388 -1.036612 -v 0.338388 2.400888 -0.974111 -v 0.250000 2.250000 -0.875000 -v 0.161612 2.250000 -0.911611 -v 0.125000 2.250000 -1.000000 -v 0.375000 2.250000 -1.000000 -v 0.338388 2.250000 -0.911611 -v -0.250000 2.500000 -1.875000 -v -0.338388 2.463388 -1.875000 -v -0.375000 2.375000 -1.875000 -v -0.125000 2.375000 -1.875000 -v -0.161612 2.463388 -1.875000 -v -0.250000 2.500000 -1.125000 -v -0.338388 2.463388 -1.125000 -v -0.375000 2.375000 -1.125000 -v -0.125000 2.375000 -1.125000 -v -0.161612 2.463388 -1.125000 -v -0.250000 2.426777 -0.948223 -v -0.338388 2.400888 -0.974111 -v -0.375000 2.338388 -1.036612 -v -0.125000 2.338388 -1.036612 -v -0.161612 2.400888 -0.974111 -v -0.250000 2.250000 -0.875000 -v -0.338388 2.250000 -0.911611 -v -0.375000 2.250000 -1.000000 -v -0.125000 2.250000 -1.000000 -v -0.161612 2.250000 -0.911611 -v -0.536612 2.286612 -0.875000 -v -1.036612 1.786612 -0.875000 -v 0.375000 2.375000 -0.875000 -v -0.375000 2.375000 -0.875000 -v 0.536612 2.286612 -0.875000 -v 1.036612 1.786612 -0.875000 -v -0.625000 2.375000 -0.625000 -v -1.125000 1.875000 -0.625000 -v 1.125000 1.875000 -0.625000 -v 0.625000 2.375000 -0.625000 -v 0.375000 2.500000 -0.625000 -v -0.375000 2.500000 -0.625000 -v -0.536612 2.286612 -0.625000 -v -1.036612 1.786612 -0.625000 -v 0.375000 2.375000 -0.625000 -v -0.375000 2.375000 -0.625000 -v 0.536612 2.286612 -0.625000 -v 1.036612 1.786612 -0.625000 -v 1.125000 1.875000 -0.875000 -v 0.625000 2.375000 -0.875000 -v 1.125000 1.875000 -0.625000 -v 0.625000 2.375000 -0.625000 -v 0.375000 2.500000 -0.875000 -v -0.375000 2.500000 -0.875000 -v 0.375000 2.500000 -0.625000 -v -0.375000 2.500000 -0.625000 -v -0.625000 2.375000 -0.875000 -v -1.125000 1.875000 -0.875000 -v -0.625000 2.375000 -0.625000 -v -1.125000 1.875000 -0.625000 -v -0.430519 2.289364 -0.625000 -v 0.430518 2.289365 -0.625000 -v -0.500000 -0.000000 0.125000 -v -0.500000 0.000000 -0.375000 -v 0.500000 0.000000 -0.375000 -v 0.500000 -0.000000 0.125000 -v -0.500000 2.500000 0.125000 -v 0.500000 2.500000 0.125000 -v 0.500000 2.500000 -0.375000 -v -0.500000 2.500000 -0.375000 -v -1.250000 1.750000 0.125000 -v -1.250000 1.750000 -0.375000 -v -1.250000 0.750000 -0.375000 -v -1.250000 0.750000 0.125000 -v 1.250000 1.750000 0.125000 -v 1.250000 0.750000 0.125000 -v 1.250000 0.750000 -0.375000 -v 1.250000 1.750000 -0.375000 -v 1.039364 1.680519 0.125000 -v 1.125000 1.250000 0.125000 -v 1.039364 0.819481 0.125000 -v 0.430518 2.289365 0.125000 -v 0.795495 2.045496 0.125000 -v -0.430519 2.289364 0.125000 -v 0.000000 2.375000 0.125000 -v -1.039364 1.680519 0.125000 -v -0.795495 2.045495 0.125000 -v -1.039364 0.819481 0.125000 -v -1.125000 1.250000 0.125000 -v -0.430519 0.210636 0.125000 -v -0.795495 0.454505 0.125000 -v 0.430519 0.210635 0.125000 -v 0.000000 0.125000 0.125000 -v 0.795495 0.454505 0.125000 -v -0.191341 1.711940 -0.750000 -v -0.353553 1.603553 -0.750000 -v -0.461940 1.441342 -0.750000 -v -0.500000 1.250000 -0.750000 -v -0.461940 1.058658 -0.750000 -v -0.353553 0.896447 -0.750000 -v -0.191341 0.788060 -0.750000 -v 0.000000 0.750000 -0.750000 -v 0.191341 0.788060 -0.750000 -v 0.353553 0.896446 -0.750000 -v 0.461940 1.058658 -0.750000 -v 0.500000 1.250000 -0.750000 -v 0.461940 1.441342 -0.750000 -v 0.353553 1.603554 -0.750000 -v 0.191341 1.711940 -0.750000 -v 0.000000 1.750000 -0.750000 -v 1.039364 1.680519 -0.375000 -v 0.795495 2.045496 -0.375000 -v 0.430518 2.289365 -0.375000 -v 1.039364 0.819481 -0.375000 -v 1.125000 1.250000 -0.375000 -v 0.430519 0.210635 -0.375000 -v 0.795495 0.454505 -0.375000 -v -0.430519 0.210636 -0.375000 -v 0.000000 0.125000 -0.375000 -v -1.039364 0.819481 -0.375000 -v -0.795495 0.454505 -0.375000 -v -1.039364 1.680519 -0.375000 -v -1.125000 1.250000 -0.375000 -v -0.430519 2.289364 -0.375000 -v -0.795495 2.045495 -0.375000 -v 0.000000 2.375000 -0.375000 -v -0.430519 2.289364 -0.625000 -v 0.000000 2.375000 -0.625000 -v 0.430518 2.289365 -0.625000 -v 0.795495 2.045496 -0.625000 -v 1.039364 1.680519 -0.625000 -v 1.125000 1.250000 -0.625000 -v 1.039364 0.819481 -0.625000 -v 0.795495 0.454505 -0.625000 -v 0.430519 0.210635 -0.625000 -v 0.000000 0.125000 -0.625000 -v -0.430519 0.210636 -0.625000 -v -0.795495 0.454505 -0.625000 -v -1.039364 0.819481 -0.625000 -v -1.125000 1.250000 -0.625000 -v -1.039364 1.680519 -0.625000 -v -0.795495 2.045495 -0.625000 -v -0.382683 2.173880 -0.125000 -v 0.000000 2.250000 -0.125000 -v 0.382683 2.173880 -0.125000 -v 0.707106 1.957107 -0.125000 -v 0.923880 1.632684 -0.125000 -v 1.000000 1.250000 -0.125000 -v 0.923880 0.867316 -0.125000 -v 0.707106 0.542893 -0.125000 -v 0.382683 0.326120 -0.125000 -v 0.000000 0.250000 -0.125000 -v -0.382684 0.326120 -0.125000 -v -0.707108 0.542893 -0.125000 -v -0.923880 0.867316 -0.125000 -v -1.000000 1.250000 -0.125000 -v -0.923880 1.632683 -0.125000 -v -0.707108 1.957107 -0.125000 -v -0.382683 2.173880 -0.500000 -v 0.000000 2.250000 -0.500000 -v 0.382683 2.173880 -0.500000 -v 0.382683 0.326120 -0.500000 -v 0.000000 0.250000 -0.500000 -v -0.707108 1.957107 -0.500000 -v 0.707106 0.542893 -0.500000 -v -0.923880 1.632683 -0.500000 -v 0.923880 0.867316 -0.500000 -v -1.000000 1.250000 -0.500000 -v 1.000000 1.250000 -0.500000 -v -0.923880 0.867316 -0.500000 -v 0.923880 1.632684 -0.500000 -v -0.707108 0.542893 -0.500000 -v 0.707106 1.957107 -0.500000 -v -0.382684 0.326120 -0.500000 -vt 0.662069 0.796875 -vt 0.662069 0.875000 -vt 0.551724 0.875000 -vt 0.634483 0.218750 -vt 0.724138 0.250000 -vt 0.551724 0.250000 -vt 0.724138 0.359375 -vt 0.703448 0.375000 -vt 0.606897 -0.000000 -vt 0.551724 0.125000 -vt 0.551724 -0.000000 -vt 0.634483 0.906250 -vt 0.606897 1.000000 -vt 0.413793 0.062500 -vt 0.441379 0.250000 -vt 0.413793 0.187500 -vt 0.682759 0.406250 -vt 0.703448 0.406250 -vt 0.724138 0.875000 -vt 0.717241 0.796875 -vt 0.724138 0.765625 -vt 0.682759 0.750000 -vt 0.717241 0.906250 -vt 0.717241 0.875000 -vt 0.324138 0.796875 -vt 0.282759 0.812500 -vt 0.282759 0.796875 -vt 0.324138 0.828125 -vt 0.282759 0.843750 -vt 0.282759 0.828125 -vt 0.324138 0.859375 -vt 0.282759 0.875000 -vt 0.282759 0.859375 -vt 0.282759 0.890625 -vt 0.331034 0.906250 -vt 0.275862 0.906250 -vt 0.331034 0.765625 -vt 0.282759 0.781250 -vt 0.275862 0.765625 -vt 0.324138 0.812500 -vt 0.282759 1.000000 -vt 0.324138 0.984375 -vt 0.324138 1.000000 -vt 0.275862 0.968750 -vt 0.282759 0.984375 -vt 0.275862 0.984375 -vt 0.324138 0.953125 -vt 0.282759 0.968750 -vt 0.282759 0.953125 -vt 0.275862 0.968750 -vt 0.282759 0.984375 -vt 0.275862 0.984375 -vt 0.282759 0.968750 -vt 0.324138 0.984375 -vt 0.282759 0.984375 -vt 0.324138 0.968750 -vt 0.282759 0.968750 -vt 0.324138 0.984375 -vt 0.324138 0.968750 -vt 0.282759 0.984375 -vt 0.282759 0.968750 -vt 0.275862 0.968750 -vt 0.275862 0.984375 -vt 0.324138 0.953125 -vt 0.282759 0.953125 -vt 0.331034 0.984375 -vt 0.324138 0.968750 -vt 0.331034 0.968750 -vt 0.282759 1.000000 -vt 0.324138 1.000000 -vt 0.331034 0.984375 -vt 0.331034 0.968750 -vt 0.324138 0.953125 -vt 0.282759 0.953125 -vt 0.331034 0.984375 -vt 0.324138 0.968750 -vt 0.331034 0.968750 -vt 0.282759 1.000000 -vt 0.324138 1.000000 -vt 0.331034 0.984375 -vt 0.331034 0.968750 -vt 0.324138 0.953125 -vt 0.282759 0.953125 -vt 0.275862 0.968750 -vt 0.275862 0.984375 -vt 0.282759 1.000000 -vt 0.324138 0.984375 -vt 0.324138 1.000000 -vt 0.737931 0.359375 -vt 0.737931 0.218750 -vt 0.737931 0.250000 -vt 0.737931 0.875000 -vt 0.737931 0.906250 -vt 0.724138 0.375000 -vt 0.724138 0.718750 -vt 0.703448 0.750000 -vt 0.703448 0.718750 -vt 0.682759 0.718750 -vt 0.662069 0.500000 -vt 0.675862 0.625000 -vt 0.662069 0.625000 -vt 0.696552 0.421875 -vt 0.675862 0.500000 -vt 0.696552 0.703125 -vt 0.151724 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.172414 0.046875 -vt 0.165517 0.062500 -vt 0.165517 0.046875 -vt 0.179310 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.186207 0.046875 -vt 0.193103 0.062500 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.158621 0.046875 -vt 0.172414 0.062500 -vt 0.193103 0.046875 -vt 0.200000 0.062500 -vt 0.170248 0.114281 -vt 0.170248 0.135718 -vt 0.160786 0.135718 -vt 0.186207 0.078125 -vt 0.179310 0.093750 -vt 0.179310 0.078125 -vt 0.193103 0.093750 -vt 0.186207 0.093750 -vt 0.200000 0.078125 -vt 0.193103 0.078125 -vt 0.151724 0.078125 -vt 0.144828 0.093750 -vt 0.144828 0.078125 -vt 0.158621 0.078125 -vt 0.151724 0.093750 -vt 0.165517 0.093750 -vt 0.158621 0.093750 -vt 0.165517 0.078125 -vt 0.172414 0.093750 -vt 0.172414 0.078125 -vt 0.117241 0.296875 -vt 0.096552 0.328125 -vt 0.096552 0.296875 -vt 0.117241 0.343750 -vt 0.117241 0.328125 -vt 0.124138 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.310345 0.031250 -vt 0.296552 0.046875 -vt 0.296552 0.031250 -vt 0.268584 0.103261 -vt 0.268584 0.115489 -vt 0.264768 0.124136 -vt 0.282759 0.046875 -vt 0.282759 0.031250 -vt 0.268966 0.031250 -vt 0.275862 0.046875 -vt 0.268966 0.046875 -vt 0.255172 0.046875 -vt 0.255172 0.031250 -vt 0.365517 0.031250 -vt 0.351724 0.046875 -vt 0.351724 0.031250 -vt 0.337931 0.046875 -vt 0.337931 0.031250 -vt 0.324138 0.031250 -vt 0.331034 0.046875 -vt 0.324138 0.046875 -vt 0.310345 0.046875 -vt 0.296552 0.078125 -vt 0.303448 0.062500 -vt 0.303448 0.078125 -vt 0.282759 0.078125 -vt 0.289655 0.062500 -vt 0.289655 0.078125 -vt 0.268966 0.062500 -vt 0.275862 0.078125 -vt 0.268966 0.078125 -vt 0.255172 0.062500 -vt 0.262069 0.078125 -vt 0.255172 0.078125 -vt 0.351724 0.062500 -vt 0.358621 0.078125 -vt 0.351724 0.078125 -vt 0.337931 0.078125 -vt 0.344828 0.062500 -vt 0.344828 0.078125 -vt 0.324138 0.078125 -vt 0.331034 0.062500 -vt 0.331034 0.078125 -vt 0.310345 0.078125 -vt 0.317241 0.062500 -vt 0.317241 0.078125 -vt 0.020690 0.781250 -vt 0.013793 0.875000 -vt 0.013793 0.781250 -vt 0.213793 0.781250 -vt 0.227586 0.875000 -vt 0.213793 0.875000 -vt 0.510209 0.406422 -vt 0.506394 0.432721 -vt 0.482676 0.422118 -vt 0.455123 0.406613 -vt 0.458988 0.432863 -vt 0.438078 0.465736 -vt 0.414116 0.500678 -vt 0.425220 0.509148 -vt 0.420595 0.561221 -vt 0.413934 0.622365 -vt 0.425067 0.614088 -vt 0.437826 0.657998 -vt 0.454859 0.718112 -vt 0.458836 0.691761 -vt 0.482625 0.702699 -vt 0.455172 0.609375 -vt 0.441379 0.515625 -vt 0.455172 0.515625 -vt 0.848515 0.125000 -vt 0.903448 0.000542 -vt 0.958382 0.125000 -vt 0.351724 0.906250 -vt 0.331034 0.718750 -vt 0.255172 0.765625 -vt 0.275862 0.953125 -vt 0.848515 0.375000 -vt 0.903448 0.250541 -vt 0.958382 0.375000 -vt 0.737931 0.375000 -vt 0.848276 0.281250 -vt 0.848276 0.375000 -vt 0.737931 0.187500 -vt 0.848276 0.093750 -vt 0.848276 0.187500 -vt 0.737931 0.562500 -vt 0.848276 0.468750 -vt 0.848276 0.562500 -vt 0.737931 0.281250 -vt 0.737931 0.093750 -vt 0.848276 -0.000000 -vt 0.737931 0.656250 -vt 0.848276 0.656250 -vt 0.737931 0.468750 -vt 0.262069 0.140625 -vt 0.268966 0.171875 -vt 0.262069 0.171875 -vt 0.296552 0.171875 -vt 0.303448 0.140625 -vt 0.303448 0.171875 -vt 0.268966 0.125000 -vt 0.296552 0.140625 -vt 0.268966 0.140625 -vt 0.296552 0.187500 -vt 0.268966 0.187500 -vt 0.268966 0.093750 -vt 0.296552 0.125000 -vt 0.303448 0.171875 -vt 0.296552 0.140625 -vt 0.303448 0.140625 -vt 0.268966 0.140625 -vt 0.262069 0.171875 -vt 0.262069 0.140625 -vt 0.296552 0.187500 -vt 0.268966 0.171875 -vt 0.296552 0.171875 -vt 0.268966 0.125000 -vt 0.296552 0.125000 -vt 0.268966 0.093750 -vt 0.296552 0.093750 -vt 0.262069 0.171875 -vt 0.268966 0.140625 -vt 0.268966 0.171875 -vt 0.303448 0.171875 -vt 0.296552 0.140625 -vt 0.303448 0.140625 -vt 0.268966 0.125000 -vt 0.296552 0.187500 -vt 0.268966 0.187500 -vt 0.296552 0.171875 -vt 0.268966 0.093750 -vt 0.296552 0.125000 -vt 0.303448 0.140625 -vt 0.296552 0.171875 -vt 0.296552 0.140625 -vt 0.262069 0.140625 -vt 0.268966 0.171875 -vt 0.262069 0.171875 -vt 0.296552 0.187500 -vt 0.268966 0.125000 -vt 0.296552 0.125000 -vt 0.268966 0.140625 -vt 0.268966 0.093750 -vt 0.296552 0.093750 -vt 0.317241 0.140625 -vt 0.324138 0.171875 -vt 0.317241 0.171875 -vt 0.344828 0.171875 -vt 0.358621 0.187500 -vt 0.344828 0.187500 -vt 0.324138 0.125000 -vt 0.351724 0.140625 -vt 0.324138 0.140625 -vt 0.324138 0.187500 -vt 0.344828 0.093750 -vt 0.351724 0.125000 -vt 0.696552 0.625000 -vt 0.703448 0.687500 -vt 0.696552 0.687500 -vt 0.696552 0.500000 -vt 0.703448 0.437500 -vt 0.703448 0.500000 -vt 0.703448 0.625000 -vt 0.731034 0.687500 -vt 0.413793 0.859375 -vt 0.420690 0.914062 -vt 0.413793 0.914062 -vt 0.475862 0.914062 -vt 0.482759 0.859375 -vt 0.482759 0.914062 -vt 0.431034 0.937500 -vt 0.475862 0.859375 -vt 0.465517 0.937500 -vt 0.431034 0.953125 -vt 0.479310 0.937500 -vt 0.465517 0.953125 -vt 0.417241 0.937500 -vt 0.417241 0.953125 -vt 0.441379 -0.000000 -vt 0.468966 0.250000 -vt 0.255172 0.343750 -vt 0.337931 0.312500 -vt 0.337931 0.343750 -vt 0.363190 0.328752 -vt 0.351724 0.373746 -vt 0.340258 0.328752 -vt 0.255172 0.312500 -vt 0.337931 0.281250 -vt 0.255172 0.281250 -vt 0.337931 0.250000 -vt 0.363190 0.296248 -vt 0.351724 0.311246 -vt 0.340258 0.296248 -vt 0.868966 0.625000 -vt 0.924138 0.500000 -vt 0.924138 0.625000 -vt 0.848276 0.500000 -vt 0.868966 0.500000 -vt 0.944828 0.625000 -vt 0.834483 0.906250 -vt 0.765517 0.718750 -vt 0.834483 0.718750 -vt 0.737931 0.718750 -vt 0.765517 0.906250 -vt 0.737931 0.906250 -vt 0.862069 0.906250 -vt 0.862069 0.718750 -vt 0.765517 0.968750 -vt 0.834483 0.968750 -vt 0.834483 0.656250 -vt 0.765517 0.656250 -vt 0.903448 0.875000 -vt 0.958621 0.718750 -vt 0.958621 0.875000 -vt 0.958621 0.625000 -vt 0.903448 0.718750 -vt 0.903448 0.625000 -vt 0.903448 0.968750 -vt 0.958621 0.968750 -vt 0.862069 0.718750 -vt 0.862069 0.875000 -vt 1.000000 0.875000 -vt 1.000000 0.718750 -vt 0.958621 0.187500 -vt 0.986207 0.156250 -vt 0.986207 0.187500 -vt 0.958621 0.062500 -vt 0.986207 0.031250 -vt 0.986207 0.062500 -vt 0.958621 0.125000 -vt 0.986207 0.093750 -vt 0.986207 0.125000 -vt 0.958621 0.156250 -vt 0.958621 0.031250 -vt 0.986207 0.000000 -vt 0.958621 0.093750 -vt 0.965937 0.193335 -vt 0.978890 0.193335 -vt 0.985367 0.218750 -vt 0.737931 0.109375 -vt 0.724138 0.093750 -vt 0.737931 0.093750 -vt 0.737931 0.015625 -vt 0.724138 0.000000 -vt 0.737931 0.000000 -vt 0.737931 0.140625 -vt 0.724138 0.125000 -vt 0.737931 0.125000 -vt 0.737931 0.078125 -vt 0.724138 0.062500 -vt 0.737931 0.062500 -vt 0.737931 0.046875 -vt 0.724138 0.031250 -vt 0.737931 0.031250 -vt 0.737931 0.171875 -vt 0.724138 0.156250 -vt 0.737931 0.156250 -vt 0.724138 0.015625 -vt 0.717241 0.000000 -vt 0.717241 0.156250 -vt 0.717241 0.125000 -vt 0.724138 0.078125 -vt 0.717241 0.062500 -vt 0.717241 0.031250 -vt 0.724138 0.171875 -vt 0.724138 0.109375 -vt 0.717241 0.093750 -vt 0.675862 0.031250 -vt 0.717241 0.187500 -vt 0.675862 0.156250 -vt 0.675862 0.093750 -vt 0.675862 0.000000 -vt 0.675862 0.125000 -vt 0.675862 0.062500 -vt 0.668966 0.125000 -vt 0.668966 0.093750 -vt 0.668966 0.078125 -vt 0.668966 0.062500 -vt 0.668966 0.031250 -vt 0.668966 0.000000 -vt 0.668966 0.171875 -vt 0.668966 0.156250 -vt 0.655172 0.156250 -vt 0.668966 0.109375 -vt 0.655172 0.093750 -vt 0.668966 0.015625 -vt 0.655172 0.000000 -vt 0.668966 0.140625 -vt 0.655172 0.125000 -vt 0.655172 0.062500 -vt 0.668966 0.046875 -vt 0.655172 0.031250 -vt 0.655172 0.140625 -vt 0.648276 0.125000 -vt 0.655172 0.109375 -vt 0.648276 0.093750 -vt 0.648276 0.062500 -vt 0.655172 0.046875 -vt 0.648276 0.031250 -vt 0.655172 0.015625 -vt 0.648276 0.000000 -vt 0.648276 0.187500 -vt 0.648276 0.156250 -vt 0.641379 0.093750 -vt 0.641379 -0.000000 -vt 0.641379 0.125000 -vt 0.641379 0.062500 -vt 0.641379 0.031250 -vt 0.641379 0.156250 -vt 0.634483 0.062500 -vt 0.634483 0.031250 -vt 0.634483 0.171875 -vt 0.634483 0.156250 -vt 0.634483 0.093750 -vt 0.634483 0.000000 -vt 0.634483 0.140625 -vt 0.634483 0.125000 -vt 0.624290 0.002689 -vt 0.630883 0.002689 -vt 0.634179 0.015625 -vt 0.489655 0.156250 -vt 0.510345 0.046875 -vt 0.510345 0.156250 -vt 0.434483 0.812500 -vt 0.413793 0.765625 -vt 0.420690 0.750000 -vt 0.489655 0.046875 -vt 0.510345 0.000000 -vt 0.468966 0.046875 -vt 0.531034 0.156250 -vt 0.496552 0.187500 -vt 0.468966 0.156250 -vt 0.496552 0.156250 -vt 0.496552 0.312500 -vt 0.468966 0.265625 -vt 0.496552 0.265625 -vt 0.468966 0.234375 -vt 0.496552 0.234375 -vt 0.468966 0.187500 -vt 0.434483 0.750000 -vt 0.455172 0.812500 -vt 0.496552 0.765625 -vt 0.475862 0.750000 -vt 0.496552 0.750000 -vt 0.455172 0.750000 -vt 0.468966 0.750000 -vt 0.475862 0.765625 -vt 0.434483 0.859375 -vt 0.475862 0.812500 -vt 0.496552 0.812500 -vt 0.455172 0.718750 -vt 0.537931 0.828125 -vt 0.524138 0.812500 -vt 0.537931 0.812500 -vt 0.503448 0.718750 -vt 0.517241 0.812500 -vt 0.503448 0.812500 -vt 0.537931 0.718750 -vt 0.524138 0.718750 -vt 0.517241 0.718750 -vt 0.496552 0.812500 -vt 0.496552 0.718750 -vt 0.986207 0.609375 -vt 0.979310 0.593750 -vt 0.986207 0.593750 -vt 0.979310 0.531250 -vt 0.986207 0.515625 -vt 0.986207 0.531250 -vt 0.972414 0.593750 -vt 0.979310 0.578125 -vt 0.551724 0.625000 -vt 0.620690 0.609375 -vt 0.620690 0.734375 -vt 0.620690 0.640625 -vt 0.634483 0.640625 -vt 0.020690 0.875000 -vt 0.006897 0.781250 -vt 0.020690 0.781250 -vt 0.662069 0.734375 -vt 0.648276 0.640625 -vt 0.565517 0.640625 -vt 0.551724 0.625000 -vt 0.565517 0.625000 -vt 0.606897 0.390625 -vt 0.551724 0.375000 -vt 0.662069 0.375000 -vt 0.620690 0.484375 -vt 0.551724 0.500000 -vt 0.117241 0.906250 -vt 0.075862 0.875000 -vt 0.117241 0.875000 -vt 0.158621 0.125000 -vt 0.117241 0.156250 -vt 0.117241 0.125000 -vt 0.117241 0.906250 -vt 0.158621 0.875000 -vt 0.158621 0.906250 -vt 0.144828 0.250000 -vt 0.131034 0.250000 -vt 0.213793 0.875000 -vt 0.220690 0.781250 -vt 0.220690 0.875000 -vt 0.062069 0.781250 -vt 0.020690 0.875000 -vt 0.144828 0.281250 -vt 0.186207 0.250000 -vt 0.186207 0.281250 -vt 0.213793 0.765625 -vt 0.172414 0.781250 -vt 0.172414 0.750000 -vt 0.131034 0.281250 -vt 0.089655 0.250000 -vt 0.075862 0.906250 -vt 0.020690 0.906250 -vt 0.020690 0.890625 -vt 0.020690 0.765625 -vt 0.020690 0.750000 -vt 0.062069 0.750000 -vt 0.544828 0.203125 -vt 0.551724 0.250000 -vt 0.544828 0.250000 -vt 0.531034 0.203125 -vt 0.524138 0.250000 -vt 0.524138 0.203125 -vt 0.510345 0.203125 -vt 0.503448 0.250000 -vt 0.503448 0.203125 -vt 0.537931 0.250000 -vt 0.537931 0.203125 -vt 0.510345 0.296875 -vt 0.503448 0.296875 -vt 0.531034 0.250000 -vt 0.524138 0.296875 -vt 0.531034 0.203125 -vt 0.531034 0.187500 -vt 0.537931 0.187500 -vt 0.544828 0.187500 -vt 0.551724 0.187500 -vt 0.551724 0.203125 -vt 0.503448 0.203125 -vt 0.503448 0.187500 -vt 0.510345 0.187500 -vt 0.517241 0.187500 -vt 0.524138 0.187500 -vt 0.524138 0.203125 -vt 0.544828 0.156250 -vt 0.537931 0.156250 -vt 0.531034 0.156250 -vt 0.524138 0.187500 -vt 0.524138 0.156250 -vt 0.510345 0.156250 -vt 0.503448 0.156250 -vt 0.524138 0.156250 -vt 0.517241 0.156250 -vt 0.551724 0.156250 -vt 0.496552 0.187500 -vt 0.496552 0.156250 -vt 0.496552 0.250000 -vt 0.496552 0.203125 -vt 0.979310 0.515625 -vt 0.986207 0.484375 -vt 0.986207 0.515625 -vt 0.213793 0.890625 -vt 0.565517 0.515625 -vt 0.551724 0.500000 -vt 0.565517 0.500000 -vt 0.517241 0.250000 -vt 0.510345 0.250000 -vt 0.524138 0.250000 -vt 0.517241 0.296875 -vt 0.544828 0.296875 -vt 0.496552 0.296875 -vt 0.537931 0.296875 -vt 0.531034 0.296875 -vt 0.517241 0.203125 -vt 0.213793 0.109375 -vt 0.220690 0.265625 -vt 0.213793 0.265625 -vt 0.972414 0.515625 -vt 0.979310 0.484375 -vt 0.220690 0.109375 -vt 0.227586 0.265625 -vt 0.965517 0.515625 -vt 0.972414 0.484375 -vt 0.186207 0.109375 -vt 0.193103 0.265625 -vt 0.186207 0.265625 -vt 0.958621 0.515625 -vt 0.965517 0.484375 -vt 0.193103 0.109375 -vt 0.200000 0.265625 -vt 0.198836 0.288749 -vt 0.193103 0.296248 -vt 0.187370 0.288749 -vt 0.200000 0.109375 -vt 0.206897 0.265625 -vt 0.206897 0.109375 -vt 0.201164 0.288749 -vt 0.201164 0.273751 -vt 0.212630 0.273751 -vt 0.972414 0.468750 -vt 0.979310 0.484375 -vt 0.979310 0.468750 -vt 0.958621 0.468750 -vt 0.965517 0.468750 -vt 0.958621 0.484375 -vt 0.965517 0.453125 -vt 0.958621 0.437500 -vt 0.965517 0.421875 -vt 0.965517 0.437500 -vt 0.972414 0.453125 -vt 0.979310 0.453125 -vt 0.986207 0.453125 -vt 0.986207 0.468750 -vt 0.972414 0.437500 -vt 0.965517 0.453125 -vt 0.986207 0.453125 -vt 0.979310 0.437500 -vt 0.986207 0.437500 -vt 0.972414 0.421875 -vt 0.979310 0.343750 -vt 0.979310 0.421875 -vt 0.986207 0.421875 -vt 0.965517 0.328125 -vt 0.972414 0.328125 -vt 0.965517 0.343750 -vt 0.986207 0.343750 -vt 0.958621 0.421875 -vt 0.965517 0.343750 -vt 0.972414 0.343750 -vt 0.979310 0.328125 -vt 0.986207 0.296875 -vt 0.986207 0.328125 -vt 0.986207 0.343750 -vt 0.958621 0.281250 -vt 0.965517 0.250000 -vt 0.965517 0.281250 -vt 0.958621 0.328125 -vt 0.965517 0.296875 -vt 0.972414 0.296875 -vt 0.979310 0.296875 -vt 0.979310 0.296875 -vt 0.972414 0.281250 -vt 0.979310 0.281250 -vt 0.958621 0.296875 -vt 0.986207 0.250000 -vt 0.986207 0.281250 -vt 0.979310 0.250000 -vt 0.972414 0.250000 -vt 0.539805 0.495450 -vt 0.539959 0.508696 -vt 0.506403 0.692192 -vt 0.539824 0.629444 -vt 0.512254 0.691859 -vt 0.544674 0.484410 -vt 0.551565 0.500009 -vt 0.544695 0.609268 -vt 0.539977 0.616199 -vt 0.489655 0.156250 -vt 0.510345 0.046875 -vt 0.510345 0.156250 -vt 0.151724 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.172414 0.046875 -vt 0.165517 0.062500 -vt 0.165517 0.046875 -vt 0.179310 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.186207 0.046875 -vt 0.193103 0.062500 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.158621 0.046875 -vt 0.172414 0.062500 -vt 0.193103 0.046875 -vt 0.200000 0.062500 -vt 0.170248 0.114281 -vt 0.170248 0.135718 -vt 0.160786 0.135718 -vt 0.186207 0.078125 -vt 0.179310 0.093750 -vt 0.179310 0.078125 -vt 0.193103 0.093750 -vt 0.186207 0.093750 -vt 0.200000 0.078125 -vt 0.193103 0.078125 -vt 0.151724 0.078125 -vt 0.144828 0.093750 -vt 0.144828 0.078125 -vt 0.158621 0.093750 -vt 0.151724 0.093750 -vt 0.158621 0.078125 -vt 0.165517 0.093750 -vt 0.165517 0.078125 -vt 0.172414 0.093750 -vt 0.172414 0.078125 -vt 0.151724 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.172414 0.046875 -vt 0.165517 0.062500 -vt 0.165517 0.046875 -vt 0.179310 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.186207 0.046875 -vt 0.193103 0.062500 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.158621 0.046875 -vt 0.172414 0.062500 -vt 0.193103 0.046875 -vt 0.200000 0.062500 -vt 0.170248 0.114281 -vt 0.170248 0.135718 -vt 0.160786 0.135718 -vt 0.186207 0.078125 -vt 0.179310 0.093750 -vt 0.179310 0.078125 -vt 0.193103 0.093750 -vt 0.186207 0.093750 -vt 0.200000 0.078125 -vt 0.193103 0.078125 -vt 0.151724 0.078125 -vt 0.144828 0.093750 -vt 0.144828 0.078125 -vt 0.158621 0.078125 -vt 0.151724 0.093750 -vt 0.165517 0.093750 -vt 0.158621 0.093750 -vt 0.165517 0.078125 -vt 0.172414 0.093750 -vt 0.172414 0.078125 -vt 0.151724 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.172414 0.046875 -vt 0.165517 0.062500 -vt 0.165517 0.046875 -vt 0.179310 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.186207 0.046875 -vt 0.193103 0.062500 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.158621 0.046875 -vt 0.172414 0.062500 -vt 0.193103 0.046875 -vt 0.200000 0.062500 -vt 0.170248 0.114281 -vt 0.170248 0.135718 -vt 0.160786 0.135718 -vt 0.186207 0.078125 -vt 0.179310 0.093750 -vt 0.179310 0.078125 -vt 0.193103 0.093750 -vt 0.186207 0.093750 -vt 0.200000 0.078125 -vt 0.193103 0.078125 -vt 0.151724 0.078125 -vt 0.144828 0.093750 -vt 0.144828 0.078125 -vt 0.158621 0.078125 -vt 0.151724 0.093750 -vt 0.165517 0.093750 -vt 0.158621 0.093750 -vt 0.165517 0.078125 -vt 0.172414 0.093750 -vt 0.172414 0.078125 -vt 0.151724 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.172414 0.046875 -vt 0.165517 0.062500 -vt 0.165517 0.046875 -vt 0.179310 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.186207 0.046875 -vt 0.193103 0.062500 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.158621 0.046875 -vt 0.172414 0.062500 -vt 0.193103 0.046875 -vt 0.200000 0.062500 -vt 0.170248 0.114281 -vt 0.170248 0.135718 -vt 0.160786 0.135718 -vt 0.186207 0.078125 -vt 0.179310 0.093750 -vt 0.179310 0.078125 -vt 0.193103 0.093750 -vt 0.186207 0.093750 -vt 0.200000 0.078125 -vt 0.193103 0.078125 -vt 0.151724 0.078125 -vt 0.144828 0.093750 -vt 0.144828 0.078125 -vt 0.158621 0.078125 -vt 0.151724 0.093750 -vt 0.165517 0.093750 -vt 0.158621 0.093750 -vt 0.165517 0.078125 -vt 0.172414 0.093750 -vt 0.172414 0.078125 -vt 0.151724 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.172414 0.046875 -vt 0.165517 0.062500 -vt 0.165517 0.046875 -vt 0.179310 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.186207 0.046875 -vt 0.193103 0.062500 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.158621 0.046875 -vt 0.172414 0.062500 -vt 0.193103 0.046875 -vt 0.200000 0.062500 -vt 0.170248 0.114281 -vt 0.170248 0.135718 -vt 0.160786 0.135718 -vt 0.186207 0.078125 -vt 0.179310 0.093750 -vt 0.179310 0.078125 -vt 0.193103 0.093750 -vt 0.186207 0.093750 -vt 0.200000 0.078125 -vt 0.193103 0.078125 -vt 0.151724 0.078125 -vt 0.144828 0.093750 -vt 0.144828 0.078125 -vt 0.158621 0.078125 -vt 0.151724 0.093750 -vt 0.165517 0.093750 -vt 0.158621 0.093750 -vt 0.165517 0.078125 -vt 0.172414 0.093750 -vt 0.172414 0.078125 -vt 0.151724 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.172414 0.046875 -vt 0.165517 0.062500 -vt 0.165517 0.046875 -vt 0.179310 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.186207 0.046875 -vt 0.193103 0.062500 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.158621 0.046875 -vt 0.172414 0.062500 -vt 0.193103 0.046875 -vt 0.200000 0.062500 -vt 0.170248 0.114281 -vt 0.170248 0.135718 -vt 0.160786 0.135718 -vt 0.186207 0.078125 -vt 0.179310 0.093750 -vt 0.179310 0.078125 -vt 0.193103 0.093750 -vt 0.186207 0.093750 -vt 0.200000 0.078125 -vt 0.193103 0.078125 -vt 0.151724 0.078125 -vt 0.144828 0.093750 -vt 0.144828 0.078125 -vt 0.158621 0.078125 -vt 0.151724 0.093750 -vt 0.165517 0.093750 -vt 0.158621 0.093750 -vt 0.165517 0.078125 -vt 0.172414 0.093750 -vt 0.172414 0.078125 -vt 0.151724 0.046875 -vt 0.158621 0.062500 -vt 0.151724 0.062500 -vt 0.172414 0.046875 -vt 0.165517 0.062500 -vt 0.165517 0.046875 -vt 0.179310 0.046875 -vt 0.186207 0.062500 -vt 0.179310 0.062500 -vt 0.193103 0.046875 -vt 0.186207 0.046875 -vt 0.144828 0.046875 -vt 0.144828 0.062500 -vt 0.158621 0.046875 -vt 0.172414 0.062500 -vt 0.200000 0.062500 -vt 0.193103 0.062500 -vt 0.170248 0.114281 -vt 0.170248 0.135718 -vt 0.160786 0.135718 -vt 0.186207 0.078125 -vt 0.179310 0.093750 -vt 0.179310 0.078125 -vt 0.193103 0.093750 -vt 0.186207 0.093750 -vt 0.200000 0.078125 -vt 0.193103 0.078125 -vt 0.151724 0.078125 -vt 0.144828 0.093750 -vt 0.144828 0.078125 -vt 0.158621 0.078125 -vt 0.151724 0.093750 -vt 0.165517 0.093750 -vt 0.158621 0.093750 -vt 0.165517 0.078125 -vt 0.172414 0.093750 -vt 0.172414 0.078125 -vt 0.096552 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.124138 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.117241 0.296875 -vt 0.096552 0.328125 -vt 0.096552 0.296875 -vt 0.117241 0.343750 -vt 0.117241 0.328125 -vt 0.124138 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.096552 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.124138 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.096552 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.124138 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.096552 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.124138 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.117241 0.296875 -vt 0.096552 0.328125 -vt 0.096552 0.296875 -vt 0.117241 0.343750 -vt 0.117241 0.328125 -vt 0.124138 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.096552 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.124138 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.117241 0.296875 -vt 0.096552 0.328125 -vt 0.096552 0.296875 -vt 0.117241 0.343750 -vt 0.117241 0.328125 -vt 0.124138 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.096552 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.124138 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.096552 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.124138 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.096552 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.124138 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.096552 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.124138 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.096552 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.124138 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.117241 0.296875 -vt 0.096552 0.328125 -vt 0.096552 0.296875 -vt 0.117241 0.343750 -vt 0.117241 0.328125 -vt 0.124138 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.096552 0.296875 -vt 0.117241 0.328125 -vt 0.096552 0.328125 -vt 0.117241 0.343750 -vt 0.124138 0.296875 -vt 0.117241 0.296875 -vt 0.117241 0.281250 -vt 0.096552 0.281250 -vt 0.089655 0.296875 -vt 0.089655 0.328125 -vt 0.510345 0.562500 -vt 0.455172 0.562500 -vt 0.455172 0.546875 -vt 0.620690 0.515625 -vt 0.565517 0.515625 -vt 0.565517 0.750000 -vt 0.551724 0.734375 -vt 0.565517 0.734375 -vt 0.620690 0.515625 -vt 0.565517 0.609375 -vt 0.565517 0.515625 -vt 0.448276 0.515625 -vt 0.455172 0.609375 -vt 0.448276 0.609375 -vt 0.524138 0.609375 -vt 0.510345 0.515625 -vt 0.524138 0.515625 -vt 0.455172 0.578125 -vt 0.455172 0.562500 -vt 0.510345 0.562500 -vt 0.565517 0.625000 -vt 0.551724 0.609375 -vt 0.565517 0.609375 -vt 0.565517 0.500000 -vt 0.551724 0.484375 -vt 0.565517 0.484375 -vt 0.565517 0.390625 -vt 0.551724 0.375000 -vt 0.565517 0.375000 -vt 0.565517 0.484375 -vt 0.551724 0.484375 -vt 0.551724 0.515625 -vt 0.565517 0.609375 -vt 0.551724 0.609375 -vt 0.565517 0.640625 -vt 0.551724 0.640625 -vt 0.565517 0.390625 -vt 0.551724 0.390625 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.565517 0.734375 -vt 0.551724 0.750000 -vt 0.551724 0.734375 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.551583 0.624874 -vt 0.510212 0.718578 -vt 0.512238 0.433055 -vt 0.255172 -0.000000 -vt 0.227586 0.125000 -vt 0.227586 -0.000000 -vt 0.227586 0.500000 -vt 0.255172 0.625000 -vt 0.227586 0.625000 -vt 0.255172 0.750000 -vt 0.227586 0.875000 -vt 0.227586 0.750000 -vt 0.227586 0.250000 -vt 0.255172 0.375000 -vt 0.227586 0.375000 -vt 0.255172 0.500000 -vt 0.255172 0.250000 -vt 0.255172 0.125000 -vt 0.227586 1.000000 -vt 0.255172 0.875000 -vt 0.255172 1.000000 -vt 0.185647 0.407982 -vt 0.181809 0.433762 -vt 0.158206 0.423338 -vt 0.227246 0.501121 -vt 0.215680 0.509781 -vt 0.201106 0.462288 -vt 0.226770 0.624909 -vt 0.215543 0.616068 -vt 0.220300 0.563004 -vt 0.185661 0.717018 -vt 0.181941 0.690910 -vt 0.202736 0.659045 -vt 0.131028 0.716313 -vt 0.134829 0.690268 -vt 0.158386 0.701199 -vt 0.089995 0.623885 -vt 0.101155 0.615205 -vt 0.113984 0.658150 -vt 0.089997 0.501305 -vt 0.101178 0.509856 -vt 0.096611 0.562314 -vt 0.130816 0.408077 -vt 0.134644 0.434152 -vt 0.113890 0.466628 -vt 0.117241 0.000640 -vt 0.144545 0.062500 -vt 0.117241 0.124360 -vt 0.282000 0.461238 -vt 0.267164 0.508207 -vt 0.255663 0.499249 -vt 0.324503 0.423194 -vt 0.301337 0.432859 -vt 0.297766 0.407469 -vt 0.368692 0.466561 -vt 0.347882 0.434234 -vt 0.351705 0.408442 -vt 0.386036 0.561123 -vt 0.381418 0.509360 -vt 0.392481 0.500826 -vt 0.368830 0.657546 -vt 0.381587 0.613816 -vt 0.392687 0.622102 -vt 0.324106 0.701882 -vt 0.347834 0.691162 -vt 0.351758 0.717531 -vt 0.279544 0.658120 -vt 0.300333 0.691179 -vt 0.296432 0.717486 -vt 0.262317 0.561201 -vt 0.266830 0.614350 -vt 0.255589 0.622775 -vt 0.606897 0.125000 -vt 0.662069 0.218750 -vt 0.724138 0.218750 -vt 0.682759 0.375000 -vt 0.551724 1.000000 -vt 0.662069 0.906250 -vt 0.724138 0.906250 -vt 0.324138 0.843750 -vt 0.324138 0.875000 -vt 0.324138 0.890625 -vt 0.324138 0.781250 -vt 0.737931 0.765625 -vt 0.724138 0.406250 -vt 0.724138 0.750000 -vt 0.696552 0.453125 -vt 0.696552 0.671875 -vt 0.200000 0.046875 -vt 0.172208 0.125000 -vt 0.165517 0.140158 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.200000 0.093750 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.303448 0.046875 -vt 0.259370 0.124136 -vt 0.255554 0.115489 -vt 0.255554 0.103261 -vt 0.259370 0.094614 -vt 0.264768 0.094614 -vt 0.289655 0.046875 -vt 0.262069 0.046875 -vt 0.358621 0.046875 -vt 0.344828 0.046875 -vt 0.317241 0.046875 -vt 0.296552 0.062500 -vt 0.282759 0.062500 -vt 0.275862 0.062500 -vt 0.262069 0.062500 -vt 0.358621 0.062500 -vt 0.337931 0.062500 -vt 0.324138 0.062500 -vt 0.310345 0.062500 -vt 0.227586 0.781250 -vt 0.441379 0.609375 -vt 0.903448 0.249458 -vt 0.864604 0.213006 -vt 0.864604 0.036995 -vt 0.942292 0.036994 -vt 0.942292 0.213005 -vt 0.351724 0.765625 -vt 0.275862 0.718750 -vt 0.255172 0.906250 -vt 0.331034 0.953125 -vt 0.942292 0.463005 -vt 0.903448 0.499458 -vt 0.864604 0.463005 -vt 0.864604 0.286994 -vt 0.942292 0.286994 -vt 0.737931 -0.000000 -vt 0.296552 0.093750 -vt 0.268966 0.187500 -vt 0.262069 0.140625 -vt 0.296552 0.093750 -vt 0.303448 0.171875 -vt 0.268966 0.187500 -vt 0.358621 0.171875 -vt 0.324138 0.093750 -vt 0.696552 0.437500 -vt 0.731034 0.437500 -vt 0.420690 0.859375 -vt 0.479310 0.953125 -vt 0.468966 -0.000000 -vt 0.351724 0.313754 -vt 0.363190 0.358748 -vt 0.340258 0.358748 -vt 0.255172 0.250000 -vt 0.340258 0.266252 -vt 0.351724 0.251254 -vt 0.363190 0.266252 -vt 0.848276 0.625000 -vt 0.944828 0.500000 -vt 0.958621 0.000000 -vt 0.978890 0.244165 -vt 0.965937 0.244165 -vt 0.959461 0.218750 -vt 0.724138 0.140625 -vt 0.724138 0.046875 -vt 0.675862 0.187500 -vt 0.655172 0.171875 -vt 0.655172 0.078125 -vt 0.641379 0.187500 -vt 0.634483 0.078125 -vt 0.634483 0.046875 -vt 0.634483 0.109375 -vt 0.634483 0.015625 -vt 0.630883 0.028561 -vt 0.624290 0.028561 -vt 0.620993 0.015625 -vt 0.413793 0.812500 -vt 0.489655 0.000000 -vt 0.468966 0.156250 -vt 0.531034 0.046875 -vt 0.468966 0.312500 -vt 0.455172 0.859375 -vt 0.434483 0.718750 -vt 0.524138 0.828125 -vt 0.979310 0.609375 -vt 0.979310 0.515625 -vt 0.972414 0.562500 -vt 0.606897 0.734375 -vt 0.006897 0.875000 -vt 0.551724 0.640625 -vt 0.158621 0.156250 -vt 0.117241 0.875000 -vt 0.213793 0.781250 -vt 0.213793 0.750000 -vt 0.089655 0.281250 -vt 0.551724 0.203125 -vt 0.213793 0.906250 -vt 0.551724 0.515625 -vt 0.524138 0.296875 -vt 0.551724 0.296875 -vt 0.524138 0.203125 -vt 0.227586 0.109375 -vt 0.958621 0.484375 -vt 0.187370 0.273751 -vt 0.193103 0.266252 -vt 0.198836 0.273751 -vt 0.206897 0.266252 -vt 0.212630 0.288749 -vt 0.206897 0.296248 -vt 0.958621 0.453125 -vt 0.958621 0.343750 -vt 0.958621 0.250000 -vt 0.958621 0.296875 -vt 0.551568 0.515616 -vt 0.544680 0.515623 -vt 0.489655 0.046875 -vt 0.200000 0.046875 -vt 0.172208 0.125000 -vt 0.165517 0.140158 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.200000 0.093750 -vt 0.200000 0.046875 -vt 0.172208 0.125000 -vt 0.165517 0.140158 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.200000 0.093750 -vt 0.200000 0.046875 -vt 0.172208 0.125000 -vt 0.165517 0.140158 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.200000 0.093750 -vt 0.200000 0.046875 -vt 0.172208 0.125000 -vt 0.165517 0.140158 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.200000 0.093750 -vt 0.200000 0.046875 -vt 0.172208 0.125000 -vt 0.165517 0.140158 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.200000 0.093750 -vt 0.200000 0.046875 -vt 0.172208 0.125000 -vt 0.165517 0.140158 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.200000 0.093750 -vt 0.200000 0.046875 -vt 0.172208 0.125000 -vt 0.165517 0.140158 -vt 0.158827 0.125000 -vt 0.160786 0.114281 -vt 0.165517 0.109842 -vt 0.200000 0.093750 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.096552 0.343750 -vt 0.124138 0.328125 -vt 0.455172 0.531250 -vt 0.510345 0.531250 -vt 0.551724 0.750000 -vt 0.620690 0.609375 -vt 0.455172 0.515625 -vt 0.510345 0.609375 -vt 0.510345 0.593750 -vt 0.455172 0.593750 -vt 0.551724 0.625000 -vt 0.551724 0.500000 -vt 0.551724 0.390625 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.000000 0.000000 -vt 0.551583 0.609269 -vt 0.544695 0.640480 -vt 0.517133 0.702938 -vt 0.517104 0.422013 -vt 0.106793 0.119651 -vt 0.097935 0.106242 -vt 0.092016 0.086173 -vt 0.089938 0.062500 -vt 0.092016 0.038827 -vt 0.097935 0.018758 -vt 0.106793 0.005349 -vt 0.127690 0.005349 -vt 0.136548 0.018758 -vt 0.142467 0.038827 -vt 0.142467 0.086173 -vt 0.136548 0.106242 -vt 0.127690 0.119651 -vt 0.124138 0.390625 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.359375 -vt 0.124138 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.312500 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.375000 -vt 0.144828 0.343750 -vt 0.124138 0.281250 -vt 0.144828 0.296875 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.359375 -vt 0.158621 0.390625 -vt 0.144828 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.343750 -vt 0.158621 0.375000 -vt 0.158621 0.406250 -vt 0.172414 0.390625 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.359375 -vt 0.158621 0.281250 -vt 0.172414 0.343750 -vt 0.172414 0.375000 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.312500 -vt 0.186207 0.328125 -vt 0.172414 0.281250 -vt 0.186207 0.296875 -vt 0.193103 -0.000000 -vt 0.186207 -0.000000 -vt 0.151724 -0.000000 -vt 0.144828 -0.000000 -vt 0.158621 -0.000000 -vt 0.179310 -0.000000 -vt 0.172414 -0.000000 -vt 0.165517 -0.000000 -vt 0.193103 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.186207 0.109375 -vt 0.165517 0.109375 -vt 0.172414 0.109375 -vt 0.310345 0.000000 -vt 0.296552 0.000000 -vt 0.282759 0.000000 -vt 0.268966 0.000000 -vt 0.365517 0.000000 -vt 0.351724 0.000000 -vt 0.337931 0.000000 -vt 0.324138 0.000000 -vt 0.255172 0.000000 -vt 0.310345 0.093750 -vt 0.317241 0.093750 -vt 0.296552 0.093750 -vt 0.303448 0.093750 -vt 0.282759 0.093750 -vt 0.289655 0.093750 -vt 0.268966 0.093750 -vt 0.275862 0.093750 -vt 0.324138 0.093750 -vt 0.331034 0.093750 -vt 0.337931 0.093750 -vt 0.344828 0.093750 -vt 0.351724 0.093750 -vt 0.358621 0.093750 -vt 0.255172 0.093750 -vt 0.262069 0.093750 -vt 0.958621 0.609375 -vt 0.965517 0.593750 -vt 0.965517 0.609375 -vt 0.958621 0.562500 -vt 0.965517 0.546875 -vt 0.965517 0.562500 -vt 0.986207 0.578125 -vt 0.965517 0.625000 -vt 0.958621 0.625000 -vt 0.958621 0.578125 -vt 0.965517 0.578125 -vt 0.986207 0.562500 -vt 0.958621 0.531250 -vt 0.965517 0.515625 -vt 0.965517 0.531250 -vt 0.958621 0.640625 -vt 0.965517 0.640625 -vt 0.958621 0.593750 -vt 0.979310 0.562500 -vt 0.986207 0.546875 -vt 0.958621 0.546875 -vt 0.979310 0.546875 -vt 0.965517 0.593750 -vt 0.972414 0.609375 -vt 0.965517 0.609375 -vt 0.965517 0.656250 -vt 0.972414 0.640625 -vt 0.972414 0.656250 -vt 0.965517 0.546875 -vt 0.972414 0.531250 -vt 0.972414 0.546875 -vt 0.965517 0.703125 -vt 0.972414 0.687500 -vt 0.972414 0.703125 -vt 0.972414 0.578125 -vt 0.972414 0.593750 -vt 0.965517 0.625000 -vt 0.965517 0.640625 -vt 0.965517 0.515625 -vt 0.965517 0.531250 -vt 0.965517 0.671875 -vt 0.965517 0.687500 -vt 0.965517 0.562500 -vt 0.965517 0.578125 -vt 0.972414 0.625000 -vt 0.972414 0.671875 -vt 0.972414 0.562500 -vt 0.296552 0.218750 -vt 0.310345 0.234375 -vt 0.296552 0.234375 -vt 0.296552 0.187500 -vt 0.310345 0.203125 -vt 0.296552 0.203125 -vt 0.310345 0.234375 -vt 0.296552 0.250000 -vt 0.296552 0.234375 -vt 0.310345 0.203125 -vt 0.296552 0.218750 -vt 0.296552 0.203125 -vt 0.296552 0.187500 -vt 0.310345 0.218750 -vt 0.324138 0.234375 -vt 0.310345 0.187500 -vt 0.324138 0.203125 -vt 0.324138 0.250000 -vt 0.310345 0.250000 -vt 0.310345 0.234375 -vt 0.296552 0.250000 -vt 0.296552 0.234375 -vt 0.310345 0.203125 -vt 0.296552 0.218750 -vt 0.296552 0.203125 -vt 0.310345 0.187500 -vt 0.296552 0.187500 -vt 0.310345 0.218750 -vt 0.324138 0.234375 -vt 0.324138 0.203125 -vt 0.310345 0.250000 -vt 0.310345 0.234375 -vt 0.296552 0.250000 -vt 0.296552 0.234375 -vt 0.310345 0.203125 -vt 0.296552 0.218750 -vt 0.296552 0.203125 -vt 0.310345 0.187500 -vt 0.296552 0.187500 -vt 0.310345 0.218750 -vt 0.324138 0.234375 -vt 0.324138 0.187500 -vt 0.324138 0.250000 -vt 0.310345 0.250000 -vt 0.324138 0.203125 -vt 0.255172 0.234375 -vt 0.255172 0.234375 -vt 0.255172 0.218750 -vt 0.255172 0.203125 -vt 0.255172 0.234375 -vt 0.255172 0.218750 -vt 0.255172 0.187500 -vt 0.255172 0.203125 -vt 0.255172 0.218750 -vt 0.255172 0.203125 -vt 0.255172 0.187500 -vt 0.255172 0.187500 -vt 0.310345 0.218750 -vt 0.296552 0.250000 -vt 0.310345 0.250000 -vt 0.324138 0.203125 -vt 0.324138 0.218750 -vt 0.324138 0.234375 -vt 0.324138 0.250000 -vt 0.324138 0.187500 -vt 0.296552 0.187500 -vt 0.310345 0.203125 -vt 0.296552 0.203125 -vt 0.296552 0.218750 -vt 0.310345 0.234375 -vt 0.296552 0.234375 -vt 0.310345 0.218750 -vt 0.310345 0.250000 -vt 0.296552 0.250000 -vt 0.324138 0.203125 -vt 0.324138 0.218750 -vt 0.324138 0.234375 -vt 0.324138 0.250000 -vt 0.310345 0.187500 -vt 0.296552 0.187500 -vt 0.310345 0.203125 -vt 0.296552 0.203125 -vt 0.296552 0.218750 -vt 0.310345 0.234375 -vt 0.296552 0.234375 -vt 0.310345 0.218750 -vt 0.310345 0.250000 -vt 0.296552 0.250000 -vt 0.324138 0.203125 -vt 0.324138 0.218750 -vt 0.324138 0.250000 -vt 0.324138 0.187500 -vt 0.324138 0.234375 -vt 0.255172 0.203125 -vt 0.255172 0.203125 -vt 0.255172 0.218750 -vt 0.255172 0.234375 -vt 0.255172 0.203125 -vt 0.255172 0.218750 -vt 0.255172 0.250000 -vt 0.255172 0.234375 -vt 0.255172 0.218750 -vt 0.255172 0.234375 -vt 0.255172 0.250000 -vt 0.255172 0.250000 -vt 0.124138 0.390625 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.359375 -vt 0.124138 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.312500 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.375000 -vt 0.144828 0.343750 -vt 0.124138 0.281250 -vt 0.144828 0.296875 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.359375 -vt 0.158621 0.390625 -vt 0.144828 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.343750 -vt 0.158621 0.375000 -vt 0.158621 0.406250 -vt 0.172414 0.390625 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.359375 -vt 0.158621 0.281250 -vt 0.172414 0.343750 -vt 0.172414 0.375000 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.312500 -vt 0.186207 0.328125 -vt 0.172414 0.281250 -vt 0.186207 0.296875 -vt 0.193103 -0.000000 -vt 0.186207 -0.000000 -vt 0.151724 -0.000000 -vt 0.144828 -0.000000 -vt 0.158621 -0.000000 -vt 0.179310 -0.000000 -vt 0.172414 -0.000000 -vt 0.165517 -0.000000 -vt 0.193103 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.186207 0.109375 -vt 0.165517 0.109375 -vt 0.172414 0.109375 -vt 0.124138 0.390625 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.359375 -vt 0.124138 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.312500 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.375000 -vt 0.144828 0.343750 -vt 0.124138 0.281250 -vt 0.144828 0.296875 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.359375 -vt 0.158621 0.390625 -vt 0.144828 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.343750 -vt 0.158621 0.375000 -vt 0.158621 0.406250 -vt 0.172414 0.390625 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.359375 -vt 0.158621 0.281250 -vt 0.172414 0.343750 -vt 0.172414 0.375000 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.312500 -vt 0.186207 0.328125 -vt 0.172414 0.281250 -vt 0.186207 0.296875 -vt 0.193103 -0.000000 -vt 0.186207 -0.000000 -vt 0.151724 -0.000000 -vt 0.144828 -0.000000 -vt 0.158621 -0.000000 -vt 0.179310 -0.000000 -vt 0.172414 -0.000000 -vt 0.165517 -0.000000 -vt 0.193103 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.186207 0.109375 -vt 0.165517 0.109375 -vt 0.172414 0.109375 -vt 0.124138 0.390625 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.359375 -vt 0.124138 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.312500 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.375000 -vt 0.144828 0.343750 -vt 0.124138 0.281250 -vt 0.144828 0.296875 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.359375 -vt 0.158621 0.390625 -vt 0.144828 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.343750 -vt 0.158621 0.375000 -vt 0.158621 0.406250 -vt 0.172414 0.390625 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.359375 -vt 0.158621 0.281250 -vt 0.172414 0.343750 -vt 0.172414 0.375000 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.312500 -vt 0.186207 0.328125 -vt 0.172414 0.281250 -vt 0.186207 0.296875 -vt 0.193103 -0.000000 -vt 0.186207 -0.000000 -vt 0.151724 -0.000000 -vt 0.144828 -0.000000 -vt 0.158621 -0.000000 -vt 0.172414 -0.000000 -vt 0.165517 -0.000000 -vt 0.179310 -0.000000 -vt 0.193103 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.186207 0.109375 -vt 0.165517 0.109375 -vt 0.172414 0.109375 -vt 0.124138 0.390625 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.359375 -vt 0.124138 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.312500 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.375000 -vt 0.144828 0.343750 -vt 0.124138 0.281250 -vt 0.144828 0.296875 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.359375 -vt 0.158621 0.390625 -vt 0.144828 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.343750 -vt 0.158621 0.375000 -vt 0.158621 0.406250 -vt 0.172414 0.390625 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.359375 -vt 0.158621 0.281250 -vt 0.172414 0.343750 -vt 0.172414 0.375000 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.312500 -vt 0.186207 0.328125 -vt 0.172414 0.281250 -vt 0.186207 0.296875 -vt 0.193103 -0.000000 -vt 0.186207 -0.000000 -vt 0.151724 -0.000000 -vt 0.144828 -0.000000 -vt 0.158621 -0.000000 -vt 0.179310 -0.000000 -vt 0.172414 -0.000000 -vt 0.165517 -0.000000 -vt 0.193103 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.186207 0.109375 -vt 0.165517 0.109375 -vt 0.172414 0.109375 -vt 0.124138 0.390625 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.359375 -vt 0.124138 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.312500 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.375000 -vt 0.144828 0.343750 -vt 0.124138 0.281250 -vt 0.144828 0.296875 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.359375 -vt 0.158621 0.390625 -vt 0.144828 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.343750 -vt 0.158621 0.375000 -vt 0.158621 0.406250 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.359375 -vt 0.172414 0.390625 -vt 0.158621 0.281250 -vt 0.172414 0.343750 -vt 0.172414 0.375000 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.312500 -vt 0.186207 0.328125 -vt 0.172414 0.281250 -vt 0.186207 0.296875 -vt 0.193103 -0.000000 -vt 0.186207 -0.000000 -vt 0.151724 -0.000000 -vt 0.144828 -0.000000 -vt 0.158621 -0.000000 -vt 0.179310 -0.000000 -vt 0.172414 -0.000000 -vt 0.165517 -0.000000 -vt 0.193103 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.186207 0.109375 -vt 0.165517 0.109375 -vt 0.172414 0.109375 -vt 0.124138 0.390625 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.359375 -vt 0.124138 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.312500 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.375000 -vt 0.144828 0.343750 -vt 0.124138 0.281250 -vt 0.144828 0.296875 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.359375 -vt 0.158621 0.390625 -vt 0.144828 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.343750 -vt 0.158621 0.375000 -vt 0.158621 0.406250 -vt 0.172414 0.390625 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.359375 -vt 0.158621 0.281250 -vt 0.172414 0.343750 -vt 0.172414 0.375000 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.312500 -vt 0.186207 0.328125 -vt 0.172414 0.281250 -vt 0.186207 0.296875 -vt 0.193103 -0.000000 -vt 0.186207 -0.000000 -vt 0.151724 -0.000000 -vt 0.144828 -0.000000 -vt 0.158621 -0.000000 -vt 0.179310 -0.000000 -vt 0.172414 -0.000000 -vt 0.165517 -0.000000 -vt 0.193103 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.186207 0.109375 -vt 0.165517 0.109375 -vt 0.172414 0.109375 -vt 0.124138 0.390625 -vt 0.144828 0.375000 -vt 0.144828 0.390625 -vt 0.124138 0.343750 -vt 0.144828 0.359375 -vt 0.124138 0.359375 -vt 0.124138 0.312500 -vt 0.144828 0.328125 -vt 0.124138 0.328125 -vt 0.124138 0.296875 -vt 0.144828 0.312500 -vt 0.124138 0.406250 -vt 0.144828 0.406250 -vt 0.124138 0.375000 -vt 0.144828 0.343750 -vt 0.124138 0.281250 -vt 0.144828 0.296875 -vt 0.158621 0.312500 -vt 0.158621 0.328125 -vt 0.158621 0.359375 -vt 0.158621 0.390625 -vt 0.144828 0.281250 -vt 0.158621 0.296875 -vt 0.158621 0.343750 -vt 0.158621 0.375000 -vt 0.158621 0.406250 -vt 0.172414 0.390625 -vt 0.172414 0.406250 -vt 0.172414 0.296875 -vt 0.172414 0.312500 -vt 0.172414 0.328125 -vt 0.172414 0.359375 -vt 0.158621 0.281250 -vt 0.172414 0.343750 -vt 0.172414 0.375000 -vt 0.186207 0.343750 -vt 0.186207 0.359375 -vt 0.186207 0.375000 -vt 0.186207 0.390625 -vt 0.186207 0.406250 -vt 0.186207 0.312500 -vt 0.186207 0.328125 -vt 0.172414 0.281250 -vt 0.186207 0.296875 -vt 0.193103 -0.000000 -vt 0.186207 -0.000000 -vt 0.151724 -0.000000 -vt 0.144828 -0.000000 -vt 0.158621 -0.000000 -vt 0.172414 -0.000000 -vt 0.165517 -0.000000 -vt 0.179310 -0.000000 -vt 0.193103 0.109375 -vt 0.200000 0.109375 -vt 0.151724 0.109375 -vt 0.158621 0.109375 -vt 0.179310 0.109375 -vt 0.186207 0.109375 -vt 0.165517 0.109375 -vt 0.172414 0.109375 -vt 0.255172 0.218750 -vt 0.296552 0.234375 -vt 0.255172 0.234375 -vt 0.255172 0.187500 -vt 0.296552 0.203125 -vt 0.255172 0.203125 -vt 0.296552 0.250000 -vt 0.255172 0.250000 -vt 0.296552 0.218750 -vt 0.310345 0.187500 -vt 0.310345 0.203125 -vt 0.310345 0.250000 -vt 0.310345 0.218750 -vt 0.310345 0.234375 -vt 0.324138 0.234375 -vt 0.324138 0.187500 -vt 0.324138 0.203125 -vt 0.324138 0.250000 -vt 0.324138 0.218750 -vt 0.255172 0.218750 -vt 0.296552 0.234375 -vt 0.255172 0.234375 -vt 0.255172 0.187500 -vt 0.296552 0.203125 -vt 0.255172 0.203125 -vt 0.296552 0.250000 -vt 0.255172 0.250000 -vt 0.296552 0.218750 -vt 0.310345 0.187500 -vt 0.310345 0.203125 -vt 0.310345 0.250000 -vt 0.310345 0.218750 -vt 0.310345 0.234375 -vt 0.324138 0.234375 -vt 0.324138 0.187500 -vt 0.324138 0.203125 -vt 0.324138 0.250000 -vt 0.324138 0.218750 -vt 0.255172 0.218750 -vt 0.296552 0.234375 -vt 0.255172 0.234375 -vt 0.255172 0.187500 -vt 0.296552 0.203125 -vt 0.255172 0.203125 -vt 0.296552 0.250000 -vt 0.255172 0.250000 -vt 0.296552 0.218750 -vt 0.310345 0.187500 -vt 0.310345 0.203125 -vt 0.310345 0.250000 -vt 0.310345 0.218750 -vt 0.310345 0.234375 -vt 0.324138 0.234375 -vt 0.324138 0.187500 -vt 0.324138 0.203125 -vt 0.324138 0.250000 -vt 0.324138 0.218750 -vt 0.089655 0.375000 -vt 0.075862 0.421875 -vt 0.075862 0.375000 -vt 0.075862 0.328125 -vt 0.089655 0.328125 -vt 0.075862 0.281250 -vt 0.089655 0.281250 -vt 0.075862 0.234375 -vt 0.089655 0.234375 -vt 0.075862 0.187500 -vt 0.089655 0.187500 -vt 0.089655 0.140625 -vt 0.075862 0.140625 -vt 0.089655 0.093750 -vt 0.075862 0.093750 -vt 0.089655 0.046875 -vt 0.075862 0.046875 -vt 0.089655 -0.000000 -vt 0.075862 0.000000 -vt 0.089655 0.750000 -vt 0.075862 0.703125 -vt 0.089655 0.703125 -vt 0.075862 0.656250 -vt 0.089655 0.656250 -vt 0.089655 0.609375 -vt 0.075862 0.609375 -vt 0.075862 0.562500 -vt 0.089655 0.562500 -vt 0.075862 0.515625 -vt 0.089655 0.515625 -vt 0.075862 0.468750 -vt 0.089655 0.468750 -vt 0.089655 0.421875 -vt 0.055172 0.375000 -vt 0.055172 0.328125 -vt 0.055172 -0.000000 -vt 0.055172 0.421875 -vt 0.055172 0.046875 -vt 0.055172 0.468750 -vt 0.055172 0.093750 -vt 0.055172 0.515625 -vt 0.055172 0.140625 -vt 0.055172 0.562500 -vt 0.055172 0.187500 -vt 0.055172 0.609375 -vt 0.055172 0.234375 -vt 0.055172 0.656250 -vt 0.055172 0.281250 -vt 0.075862 0.750000 -vt 0.055172 0.703125 -vt 0.000000 0.125000 -vt 0.000000 0.093750 -vt -0.000000 0.546875 -vt 0.000000 0.515625 -vt -0.000000 0.140625 -vt -0.000000 0.593750 -vt -0.000000 0.562500 -vt 0.000000 0.218750 -vt 0.000000 0.187500 -vt 0.000000 0.609375 -vt -0.000000 0.234375 -vt 0.000000 0.687500 -vt 0.000000 0.656250 -vt -0.000000 0.281250 -vt 0.055172 0.750000 -vt 0.000000 0.703125 -vt -0.000000 0.406250 -vt -0.000000 0.375000 -vt 0.000000 0.328125 -vt 0.000000 0.031250 -vt -0.000000 0.000000 -vt 0.000000 0.421875 -vt -0.000000 0.046875 -vt -0.000000 0.500000 -vt 0.000000 0.468750 -vt 0.393103 0.937500 -vt 0.413793 1.000000 -vt 0.393103 1.000000 -vt 0.393103 0.500000 -vt 0.413793 0.562500 -vt 0.393103 0.562500 -vt 0.393103 0.437500 -vt 0.413793 0.500000 -vt 0.393103 -0.000000 -vt 0.413793 0.062500 -vt 0.393103 0.062500 -vt 0.413793 0.625000 -vt 0.393103 0.625000 -vt 0.413793 0.125000 -vt 0.393103 0.125000 -vt 0.413793 0.687500 -vt 0.393103 0.687500 -vt 0.413793 0.187500 -vt 0.393103 0.187500 -vt 0.413793 0.750000 -vt 0.393103 0.750000 -vt 0.413793 0.250000 -vt 0.393103 0.250000 -vt 0.413793 0.812500 -vt 0.393103 0.812500 -vt 0.413793 0.312500 -vt 0.393103 0.312500 -vt 0.413793 0.875000 -vt 0.393103 0.875000 -vt 0.413793 0.375000 -vt 0.393103 0.375000 -vt 0.413793 0.937500 -vt 0.413793 0.437500 -vt 0.186207 0.281250 -vt 0.200000 -0.000000 -vt 0.144828 0.109375 -vt 0.958621 0.515625 -vt 0.972414 0.515625 -vt 0.310345 0.187500 -vt 0.324138 0.218750 -vt 0.324138 0.187500 -vt 0.324138 0.218750 -vt 0.324138 0.187500 -vt 0.324138 0.250000 -vt 0.324138 0.218750 -vt 0.255172 0.250000 -vt 0.255172 0.250000 -vt 0.255172 0.250000 -vt 0.324138 0.187500 -vt 0.310345 0.187500 -vt 0.255172 0.187500 -vt 0.255172 0.187500 -vt 0.255172 0.187500 -vt 0.186207 0.281250 -vt 0.200000 -0.000000 -vt 0.144828 0.109375 -vt 0.186207 0.281250 -vt 0.200000 -0.000000 -vt 0.144828 0.109375 -vt 0.186207 0.281250 -vt 0.200000 -0.000000 -vt 0.144828 0.109375 -vt 0.186207 0.281250 -vt 0.200000 -0.000000 -vt 0.144828 0.109375 -vt 0.186207 0.281250 -vt 0.200000 -0.000000 -vt 0.144828 0.109375 -vt 0.186207 0.281250 -vt 0.200000 -0.000000 -vt 0.144828 0.109375 -vt 0.186207 0.281250 -vt 0.200000 -0.000000 -vt 0.144828 0.109375 -vt 0.296552 0.187500 -vt 0.296552 0.187500 -vt 0.296552 0.187500 -vt -0.000000 0.171875 -vt 0.000000 0.640625 -vt -0.000000 0.265625 -vt -0.000000 0.312500 -vt -0.000000 0.734375 -vt 0.000000 0.359375 -vt -0.000000 0.453125 -vt -0.000000 0.078125 -vt 0.413793 -0.000000 -vn -1.0000 0.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.7071 -0.7071 -vn 0.0000 1.0000 0.0000 -vn -0.7071 -0.7071 0.0057 -vn 0.0000 0.0000 1.0000 -vn 0.0000 0.0000 -1.0000 -vn 0.0000 0.9487 -0.3162 -vn 0.0000 0.4472 -0.8944 -vn 0.1617 0.3904 0.9063 -vn 0.1617 0.3905 0.9063 -vn 0.1752 0.8806 0.4403 -vn 0.0859 0.4318 -0.8979 -vn 0.9845 -0.1567 -0.0783 -vn -0.0859 -0.4318 0.8978 -vn -0.9695 0.2320 -0.0783 -vn -0.7071 0.7071 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.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.7071 0.7071 0.0000 -vn -0.3162 0.3162 -0.8944 -vn 0.0000 0.4226 -0.9063 -vn 0.0000 0.9063 0.4226 -vn -0.7071 0.6409 0.2988 -vn 0.7071 0.6409 0.2988 -vn 0.0000 0.7934 0.6088 -vn 0.0000 0.1305 -0.9914 -vn 0.0000 0.5000 0.8660 -vn 0.0000 0.5000 -0.8660 -vn 0.0000 -0.5000 -0.8660 -vn 0.0000 -0.5000 0.8660 -vn 0.6547 0.3780 -0.6547 -vn 0.6547 -0.3780 -0.6547 -vn 0.6547 -0.3780 0.6547 -vn 0.6547 0.7559 0.0000 -vn 0.6547 -0.7559 0.0000 -vn 0.6547 0.3780 0.6547 -vn 0.0000 0.7071 0.7071 -vn 0.0000 -0.7071 0.7071 -vn 0.0000 0.7071 -0.7071 -vn -0.5000 -0.7849 -0.3660 -vn -0.0000 -0.4226 0.9063 -vn -0.2357 0.2357 0.9428 -vn 0.2357 0.2357 0.9428 -vn -0.2357 -0.2357 -0.9428 -vn -0.2357 -0.2357 0.9428 -vn 0.0000 -0.9285 0.3714 -vn 0.0000 0.9285 -0.3714 -vn 0.0000 -0.9900 -0.1407 -vn 0.0000 0.9900 0.1407 -vn -0.1617 -0.3904 0.9063 -vn -0.1617 -0.3905 0.9063 -vn 0.3904 -0.1617 0.9063 -vn 0.3905 -0.1617 0.9063 -vn -0.3904 0.1617 0.9063 -vn -0.3905 0.1617 0.9063 -vn 0.3905 0.1617 0.9063 -vn 0.3904 0.1617 0.9063 -vn -0.3905 -0.1617 0.9063 -vn -0.3904 -0.1617 0.9063 -vn 0.1617 -0.3905 0.9063 -vn 0.1617 -0.3904 0.9063 -vn -0.1617 0.3905 0.9063 -vn -0.1617 0.3904 0.9063 -vn -0.1752 -0.8806 0.4403 -vn -0.0859 -0.4318 -0.8979 -vn -0.9845 0.1567 -0.0783 -vn 0.0859 0.4318 0.8978 -vn 0.9695 -0.2320 -0.0783 -vn 0.8806 -0.1752 0.4403 -vn 0.4318 -0.0859 -0.8979 -vn -0.1567 -0.9845 -0.0783 -vn -0.4318 0.0859 0.8978 -vn 0.2320 0.9695 -0.0783 -vn -0.8806 0.1752 0.4403 -vn -0.4318 0.0859 -0.8979 -vn 0.1567 0.9845 -0.0783 -vn 0.4318 -0.0859 0.8978 -vn -0.2320 -0.9695 -0.0783 -vn 0.7465 0.4988 0.4403 -vn 0.3661 0.2446 -0.8979 -vn 0.5854 -0.8070 -0.0783 -vn -0.3661 -0.2446 0.8978 -vn -0.5215 0.8496 -0.0783 -vn -0.7465 -0.4988 0.4403 -vn -0.3661 -0.2446 -0.8979 -vn -0.5854 0.8070 -0.0783 -vn 0.3661 0.2446 0.8978 -vn 0.5215 -0.8496 -0.0783 -vn 0.4988 -0.7465 0.4403 -vn 0.2446 -0.3661 -0.8979 -vn -0.8070 -0.5854 -0.0783 -vn -0.2446 0.3661 0.8978 -vn 0.8496 0.5215 -0.0783 -vn -0.4988 0.7465 0.4403 -vn -0.2446 0.3661 -0.8979 -vn 0.8070 0.5854 -0.0783 -vn 0.2446 -0.3661 0.8978 -vn -0.8496 -0.5215 -0.0783 -vn 0.4988 0.7465 0.4403 -vn 0.2446 0.3661 -0.8979 -vn 0.8496 -0.5215 -0.0783 -vn -0.2446 -0.3661 0.8978 -vn -0.8070 0.5854 -0.0783 -vn -0.4988 -0.7465 0.4403 -vn -0.2446 -0.3661 -0.8979 -vn -0.8496 0.5215 -0.0783 -vn 0.2446 0.3661 0.8978 -vn 0.8070 -0.5854 -0.0783 -vn 0.7465 -0.4988 0.4403 -vn 0.3661 -0.2446 -0.8979 -vn -0.5215 -0.8496 -0.0783 -vn -0.3661 0.2446 0.8978 -vn 0.5854 0.8070 -0.0783 -vn -0.7465 0.4988 0.4403 -vn -0.3661 0.2446 -0.8979 -vn 0.5215 0.8496 -0.0783 -vn 0.3661 -0.2446 0.8978 -vn -0.5854 -0.8070 -0.0783 -vn 0.8806 0.1752 0.4403 -vn 0.4318 0.0859 -0.8979 -vn 0.2320 -0.9696 -0.0783 -vn -0.4318 -0.0859 0.8978 -vn -0.1567 0.9845 -0.0783 -vn -0.8806 -0.1752 0.4403 -vn -0.4318 -0.0859 -0.8979 -vn -0.2320 0.9696 -0.0783 -vn 0.4318 0.0859 0.8978 -vn 0.1567 -0.9845 -0.0783 -vn 0.1752 -0.8806 0.4403 -vn 0.0859 -0.4318 -0.8979 -vn -0.9696 -0.2320 -0.0783 -vn -0.0859 0.4318 0.8978 -vn 0.9845 0.1567 -0.0783 -vn -0.1752 0.8806 0.4403 -vn -0.0859 0.4318 -0.8979 -vn 0.9696 0.2320 -0.0783 -vn 0.0859 -0.4318 0.8978 -vn -0.9845 -0.1567 -0.0783 -vn -0.7082 -0.7060 -0.0004 -vn -0.7085 -0.7057 0.0000 -vn 0.0859 0.4318 -0.8978 -vn -0.0859 -0.4318 -0.8978 -vn 0.4318 -0.0859 -0.8978 -vn -0.4318 0.0859 -0.8978 -vn 0.3661 0.2446 -0.8978 -vn -0.3661 -0.2446 -0.8978 -vn 0.2446 -0.3661 -0.8978 -vn -0.2446 0.3661 -0.8978 -vn 0.2446 0.3661 -0.8978 -vn -0.2446 -0.3661 -0.8978 -vn 0.3661 -0.2446 -0.8978 -vn -0.3661 0.2446 -0.8978 -vn 0.4318 0.0859 -0.8978 -vn -0.4318 -0.0859 -0.8978 -vn 0.0859 -0.4318 -0.8978 -vn -0.0859 0.4318 -0.8978 -vn 0.7311 -0.6303 -0.2611 -vn 0.9973 0.0609 0.0399 -vn 0.7430 -0.5190 -0.4226 -vn 0.6721 0.5735 0.4683 -vn 0.6333 0.7150 0.2962 -vn -0.9947 0.0948 0.0393 -vn -0.6721 0.5735 0.4683 -vn -0.6333 0.7150 0.2962 -vn -0.7311 -0.6303 -0.2611 -vn -0.9973 0.0609 0.0399 -vn 0.0000 -0.7779 -0.6284 -vn 0.9947 0.0948 0.0393 -vn 0.0000 0.7690 0.6392 -vn -0.7430 -0.5190 -0.4226 -vn -0.9989 0.0183 0.0441 -vn -0.6840 0.2791 0.6739 -vn 0.6840 0.2791 0.6739 -vn 0.7317 -0.2608 -0.6297 -vn -0.7317 -0.2608 -0.6297 -vn 0.0000 0.3827 0.9239 -vn 0.9989 0.0183 0.0441 -vn 0.7317 0.0000 -0.6816 -vn -0.7317 0.0000 -0.6816 -vn -0.9989 0.0000 0.0477 -vn -0.6841 -0.0000 0.7294 -vn 0.6840 -0.0000 0.7294 -vn 0.9989 0.0000 0.0477 -vn 0.0000 -0.1951 0.9808 -vn 0.6770 -0.1436 0.7219 -vn 0.9988 -0.0095 0.0477 -vn 0.7251 0.1344 -0.6754 -vn 0.0000 0.1951 -0.9808 -vn -0.9988 -0.0095 0.0477 -vn -0.6770 -0.1436 0.7219 -vn -0.7251 0.1344 -0.6754 -vn 0.8985 0.3215 -0.2988 -vn 0.9239 -0.3827 -0.0000 -vn -0.4080 0.8627 -0.2988 -vn 0.3468 0.8373 -0.4226 -vn -0.9239 0.3827 0.0000 -vn -0.8985 -0.3215 0.2988 -vn 0.4080 -0.8627 0.2988 -vn -0.3468 -0.8373 0.4226 -vn -0.4080 0.8627 -0.2989 -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.3827 0.9239 0.0000 -vn 0.0000 -0.9063 -0.4226 -vn -0.8660 0.4532 0.2113 -vn 0.2588 0.8754 0.4082 -vn 0.5000 0.7849 0.3660 -vn 0.5000 -0.7849 -0.3660 -vn -0.8660 -0.4532 -0.2113 -vn 0.8660 0.4532 0.2113 -vn -0.5000 0.7849 0.3660 -vn -0.2588 0.8754 0.4082 -vn 0.7071 -0.6409 -0.2988 -vn 0.9659 -0.2346 -0.1094 -vn 0.8660 -0.4532 -0.2113 -vn 0.6947 0.6947 0.1866 -vn 0.8431 -0.0945 0.5293 -vn 0.9891 0.0283 0.1448 -vn -0.3812 0.9204 0.0866 -vn -0.0945 0.8431 0.5294 -vn 0.0283 0.9891 0.1448 -vn 0.0945 0.8431 0.5294 -vn 0.3812 0.9204 0.0866 -vn -0.0283 0.9891 0.1448 -vn -0.8431 -0.0945 0.5293 -vn -0.6947 0.6947 0.1866 -vn -0.9891 0.0283 0.1448 -vn -0.9204 -0.3812 0.0866 -vn -0.5000 0.5000 0.7071 -vn 0.2384 0.6572 0.7150 -vn -0.8446 -0.4619 0.2706 -vn -0.6572 -0.2384 0.7150 -vn 0.5345 0.7559 0.3780 -vn 0.4619 0.8446 0.2706 -vn -0.8431 -0.0945 0.5294 -vn -0.7559 -0.5345 0.3780 -vn 0.5000 0.5000 0.7071 -vn 0.9204 -0.3812 0.0866 -vn 0.8446 -0.4619 0.2706 -vn -0.2384 0.6572 0.7150 -vn 0.2706 0.2706 0.9239 -vn 0.6572 -0.2384 0.7150 -vn 0.7559 -0.5345 0.3780 -vn -0.5345 0.7559 0.3780 -vn -0.4619 0.8446 0.2706 -vn 0.8431 -0.0945 0.5294 -vn -0.7311 0.6303 -0.2611 -vn -0.9973 -0.0609 0.0399 -vn -0.7430 0.5190 -0.4226 -vn -0.6721 -0.5735 0.4683 -vn -0.6333 -0.7150 0.2962 -vn 0.9947 -0.0948 0.0393 -vn 0.6721 -0.5735 0.4683 -vn 0.6333 -0.7150 0.2962 -vn 0.7311 0.6303 -0.2611 -vn 0.9973 -0.0609 0.0399 -vn -0.0000 0.7779 -0.6284 -vn -0.9947 -0.0948 0.0393 -vn -0.0000 -0.7690 0.6392 -vn 0.7430 0.5190 -0.4226 -vn 0.9989 -0.0183 0.0441 -vn 0.6841 -0.2791 0.6739 -vn -0.6840 -0.2791 0.6739 -vn -0.7317 0.2608 -0.6297 -vn 0.7317 0.2608 -0.6297 -vn -0.9989 -0.0183 0.0441 -vn 0.6841 -0.0000 0.7294 -vn -0.6840 0.0000 0.7294 -vn -0.0000 0.1951 0.9808 -vn -0.6770 0.1436 0.7219 -vn -0.9988 0.0095 0.0477 -vn -0.7251 -0.1344 -0.6754 -vn -0.0000 -0.1951 -0.9808 -vn 0.9988 0.0095 0.0477 -vn 0.6770 0.1436 0.7219 -vn 0.7251 -0.1344 -0.6754 -vn -0.8985 -0.3215 -0.2988 -vn 0.4080 -0.8627 -0.2988 -vn -0.3468 -0.8373 -0.4226 -vn 0.8985 0.3215 0.2988 -vn -0.4080 0.8627 0.2988 -vn 0.3468 0.8373 0.4226 -vn 0.4080 -0.8627 -0.2989 -vn -0.6303 -0.7311 -0.2611 -vn 0.0609 -0.9973 0.0399 -vn -0.5190 -0.7430 -0.4226 -vn 0.9239 -0.0000 0.3827 -vn 0.5735 -0.6721 0.4683 -vn 0.7150 -0.6333 0.2962 -vn 0.0948 0.9947 0.0393 -vn 0.5735 0.6721 0.4683 -vn 0.7150 0.6333 0.2962 -vn -0.6303 0.7311 -0.2611 -vn 0.0609 0.9973 0.0399 -vn -0.9239 -0.0000 -0.3827 -vn -0.7779 -0.0000 -0.6284 -vn 0.0948 -0.9947 0.0393 -vn 0.7690 -0.0000 0.6392 -vn -0.5190 0.7430 -0.4226 -vn 0.0183 0.9989 0.0441 -vn 0.2791 0.6841 0.6739 -vn 0.2791 -0.6840 0.6739 -vn -0.2608 -0.7317 -0.6297 -vn -0.2608 0.7317 -0.6297 -vn 0.3827 -0.0000 0.9239 -vn 0.0183 -0.9989 0.0441 -vn -0.3827 -0.0000 -0.9239 -vn 0.0000 -0.7317 -0.6816 -vn 0.0000 0.7317 -0.6816 -vn 0.0000 0.9989 0.0477 -vn 0.0000 0.6841 0.7294 -vn -0.0000 -0.6840 0.7294 -vn 0.0000 -0.9989 0.0477 -vn -0.1951 -0.0000 0.9808 -vn -0.1436 -0.6770 0.7219 -vn -0.0095 -0.9988 0.0477 -vn 0.1344 -0.7251 -0.6754 -vn 0.1951 -0.0000 -0.9808 -vn -0.0095 0.9988 0.0477 -vn -0.1436 0.6770 0.7219 -vn 0.1344 0.7251 -0.6754 -vn 0.3215 -0.8985 -0.2988 -vn 0.8627 0.4080 -0.2988 -vn 0.8373 -0.3468 -0.4226 -vn -0.3215 0.8985 0.2988 -vn -0.8627 -0.4080 0.2988 -vn -0.8373 0.3468 0.4226 -vn 0.8627 0.4080 -0.2989 -vn 0.6303 0.7311 -0.2611 -vn -0.0609 0.9973 0.0399 -vn 0.5190 0.7430 -0.4226 -vn -0.9239 0.0000 0.3827 -vn -0.5735 0.6721 0.4683 -vn -0.7150 0.6333 0.2962 -vn -0.0948 -0.9947 0.0393 -vn -0.5735 -0.6721 0.4683 -vn -0.7150 -0.6333 0.2962 -vn 0.6303 -0.7311 -0.2611 -vn -0.0609 -0.9973 0.0399 -vn 0.9239 0.0000 -0.3827 -vn 0.7779 0.0000 -0.6284 -vn -0.0948 0.9947 0.0393 -vn -0.7690 0.0000 0.6392 -vn 0.5190 -0.7430 -0.4226 -vn -0.0183 -0.9989 0.0441 -vn -0.2791 -0.6840 0.6739 -vn -0.2791 0.6840 0.6739 -vn 0.2608 0.7317 -0.6297 -vn 0.2608 -0.7317 -0.6297 -vn -0.3827 0.0000 0.9239 -vn -0.0183 0.9989 0.0441 -vn 0.3827 0.0000 -0.9239 -vn -0.0000 -0.6841 0.7294 -vn 0.0000 0.6840 0.7294 -vn 0.1951 0.0000 0.9808 -vn 0.1436 0.6770 0.7219 -vn 0.0095 0.9988 0.0477 -vn -0.1344 0.7251 -0.6754 -vn -0.1951 0.0000 -0.9808 -vn 0.0095 -0.9988 0.0477 -vn 0.1436 -0.6770 0.7219 -vn -0.1344 -0.7251 -0.6754 -vn -0.3215 0.8985 -0.2988 -vn -0.8627 -0.4080 -0.2988 -vn -0.8373 0.3468 -0.4226 -vn 0.3215 -0.8985 0.2988 -vn 0.8373 -0.3468 0.4226 -vn 0.8627 0.4080 0.2988 -vn -0.8627 -0.4080 -0.2989 -vn 0.3215 -0.8985 0.2989 -vn 0.0712 -0.9627 -0.2611 -vn 0.7483 -0.6622 0.0399 -vn 0.1584 -0.8924 -0.4226 -vn 0.6533 0.6533 0.3827 -vn 0.8808 -0.0697 0.4683 -vn 0.9534 0.0578 0.2962 -vn -0.6364 0.7704 0.0393 -vn -0.0697 0.8808 0.4683 -vn 0.0578 0.9534 0.2962 -vn -0.9627 0.0712 -0.2611 -vn -0.6622 0.7483 0.0399 -vn -0.6533 -0.6533 -0.3827 -vn -0.5501 -0.5501 -0.6284 -vn 0.7704 -0.6363 0.0393 -vn 0.5438 0.5438 0.6392 -vn -0.8924 0.1584 -0.4226 -vn -0.6934 0.7192 0.0441 -vn -0.2863 0.6811 0.6739 -vn 0.6811 -0.2863 0.6739 -vn 0.3330 -0.7018 -0.6297 -vn -0.7018 0.3330 -0.6297 -vn 0.7192 -0.6934 0.0441 -vn -0.2706 -0.2706 -0.9239 -vn 0.5174 -0.5174 -0.6816 -vn -0.5174 0.5174 -0.6816 -vn -0.7063 0.7063 0.0477 -vn -0.4837 0.4837 0.7294 -vn 0.4837 -0.4837 0.7294 -vn 0.7063 -0.7063 0.0477 -vn -0.1379 -0.1379 0.9808 -vn 0.3772 -0.5802 0.7219 -vn 0.6996 -0.7130 0.0477 -vn 0.6077 -0.4177 -0.6754 -vn 0.1380 0.1379 -0.9808 -vn -0.7130 0.6996 0.0477 -vn -0.5802 0.3772 0.7219 -vn -0.4177 0.6077 -0.6754 -vn 0.8627 -0.4080 -0.2988 -vn 0.3215 0.8985 -0.2988 -vn 0.8373 0.3468 -0.4226 -vn -0.8627 0.4080 0.2988 -vn -0.3215 -0.8985 0.2988 -vn -0.8373 -0.3468 0.4226 -vn 0.3215 0.8985 -0.2989 -vn -0.0712 0.9627 -0.2611 -vn -0.7483 0.6622 0.0399 -vn -0.1584 0.8924 -0.4226 -vn -0.6533 -0.6533 0.3827 -vn -0.8808 0.0697 0.4683 -vn -0.9534 -0.0578 0.2962 -vn 0.6364 -0.7704 0.0393 -vn 0.0697 -0.8808 0.4683 -vn -0.0578 -0.9534 0.2962 -vn 0.9627 -0.0712 -0.2611 -vn 0.6622 -0.7483 0.0399 -vn 0.6533 0.6533 -0.3827 -vn 0.5501 0.5501 -0.6284 -vn -0.7704 0.6363 0.0393 -vn -0.5438 -0.5438 0.6392 -vn 0.8924 -0.1584 -0.4226 -vn 0.6934 -0.7192 0.0441 -vn 0.2863 -0.6811 0.6739 -vn -0.6811 0.2863 0.6739 -vn -0.3330 0.7018 -0.6297 -vn 0.7018 -0.3330 -0.6297 -vn -0.2706 -0.2706 0.9239 -vn -0.7192 0.6934 0.0441 -vn 0.2706 0.2706 -0.9239 -vn 0.1379 0.1379 0.9808 -vn -0.3772 0.5802 0.7219 -vn -0.6996 0.7130 0.0477 -vn -0.6077 0.4177 -0.6754 -vn -0.1380 -0.1380 -0.9808 -vn 0.7130 -0.6996 0.0477 -vn 0.5802 -0.3772 0.7219 -vn 0.4177 -0.6077 -0.6754 -vn -0.8627 0.4080 -0.2988 -vn -0.3215 -0.8985 -0.2988 -vn -0.8373 -0.3468 -0.4226 -vn 0.8627 -0.4080 0.2988 -vn 0.3215 0.8985 0.2988 -vn 0.8373 0.3468 0.4226 -vn -0.8627 0.4080 -0.2989 -vn -0.3215 -0.8985 -0.2989 -vn 0.8627 -0.4080 0.2989 -vn -0.9627 -0.0712 -0.2611 -vn -0.6622 -0.7483 0.0399 -vn -0.8924 -0.1584 -0.4226 -vn 0.6533 -0.6533 0.3827 -vn -0.0697 -0.8808 0.4683 -vn 0.0578 -0.9534 0.2962 -vn 0.7704 0.6364 0.0393 -vn 0.8808 0.0697 0.4683 -vn 0.9534 -0.0578 0.2962 -vn 0.0712 0.9627 -0.2611 -vn 0.7483 0.6622 0.0399 -vn -0.6533 0.6533 -0.3827 -vn -0.5501 0.5501 -0.6284 -vn -0.6363 -0.7704 0.0393 -vn 0.5438 -0.5438 0.6392 -vn 0.1584 0.8924 -0.4226 -vn 0.7192 0.6934 0.0441 -vn 0.6811 0.2863 0.6739 -vn -0.2863 -0.6811 0.6739 -vn -0.7018 -0.3330 -0.6297 -vn 0.3330 0.7018 -0.6297 -vn 0.2706 -0.2706 0.9239 -vn -0.6934 -0.7192 0.0441 -vn -0.2706 0.2706 -0.9239 -vn -0.5174 -0.5174 -0.6816 -vn 0.5174 0.5174 -0.6816 -vn 0.7063 0.7063 0.0477 -vn 0.4837 0.4837 0.7294 -vn -0.4837 -0.4837 0.7294 -vn -0.7063 -0.7063 0.0477 -vn -0.1379 0.1379 0.9808 -vn -0.5802 -0.3772 0.7219 -vn -0.7130 -0.6996 0.0477 -vn -0.4177 -0.6077 -0.6754 -vn 0.1379 -0.1380 -0.9808 -vn 0.6996 0.7130 0.0477 -vn 0.3772 0.5802 0.7219 -vn 0.6077 0.4177 -0.6754 -vn -0.4080 -0.8627 -0.2988 -vn 0.8985 -0.3215 -0.2988 -vn 0.3468 -0.8373 -0.4226 -vn 0.4080 0.8627 0.2988 -vn -0.8985 0.3215 0.2988 -vn -0.3468 0.8373 0.4226 -vn 0.8985 -0.3215 -0.2989 -vn 0.9627 0.0712 -0.2611 -vn 0.6622 0.7483 0.0399 -vn 0.8924 0.1584 -0.4226 -vn -0.6533 0.6533 0.3827 -vn 0.0697 0.8808 0.4683 -vn -0.0578 0.9534 0.2962 -vn -0.7704 -0.6363 0.0393 -vn -0.8808 -0.0697 0.4683 -vn -0.9534 0.0578 0.2962 -vn -0.0713 -0.9627 -0.2611 -vn -0.7483 -0.6622 0.0399 -vn 0.6533 -0.6533 -0.3827 -vn 0.5501 -0.5501 -0.6284 -vn 0.6363 0.7704 0.0393 -vn -0.5438 0.5438 0.6392 -vn -0.1584 -0.8924 -0.4226 -vn -0.7192 -0.6934 0.0441 -vn -0.6811 -0.2863 0.6739 -vn 0.2863 0.6811 0.6739 -vn 0.7018 0.3330 -0.6297 -vn -0.3330 -0.7018 -0.6297 -vn -0.2706 0.2706 0.9239 -vn 0.6934 0.7192 0.0441 -vn 0.2706 -0.2706 -0.9239 -vn 0.1379 -0.1379 0.9808 -vn 0.5802 0.3772 0.7219 -vn 0.7130 0.6996 0.0477 -vn 0.4177 0.6077 -0.6754 -vn -0.1379 0.1380 -0.9808 -vn -0.6996 -0.7130 0.0477 -vn -0.3772 -0.5802 0.7219 -vn -0.6077 -0.4177 -0.6754 -vn 0.4080 0.8627 -0.2988 -vn -0.8985 0.3215 -0.2988 -vn -0.3468 0.8373 -0.4226 -vn -0.4080 -0.8627 0.2988 -vn 0.3468 -0.8373 0.4226 -vn 0.8985 -0.3215 0.2988 -vn 0.4080 0.8627 -0.2989 -vn -0.8985 0.3215 -0.2989 -vn -0.4080 -0.8627 0.2989 -vn 0.6794 0.7194 0.1448 -vn -0.6794 0.7194 0.1448 -vn 0.9204 0.3812 0.0866 -vn -0.0000 0.9824 0.1866 -vn -0.9239 0.2706 0.2706 -vn -0.6630 0.5294 0.5294 -vn 0.9239 0.2706 0.2706 -vn 0.6630 0.5294 0.5294 -vn 0.6333 0.2962 0.7150 -vn -0.9125 0.1566 0.3780 -vn -0.6333 0.2962 0.7150 -vn 0.9125 0.1566 0.3780 -vn 0.0000 -0.8944 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 -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.3162 0.3162 0.8944 -vn -0.4132 0.1711 0.8944 -vn 0.4132 -0.1711 0.8944 -vn 0.4472 -0.0000 0.8944 -vn -0.4472 -0.0000 0.8944 -vn 0.4132 0.1711 0.8944 -vn -0.4132 -0.1711 0.8944 -vn 0.3162 0.3162 0.8944 -vn -0.3162 -0.3162 0.8944 -vn 0.1711 0.4132 0.8944 -vn -0.1711 -0.4132 0.8944 -vn -0.0000 0.4472 0.8944 -vn 0.0000 -0.4472 0.8944 -vn 0.1711 -0.4132 0.8944 -vn -0.1711 0.4132 0.8944 -vn 0.3162 -0.3162 0.8944 -vn -0.9204 0.3812 0.0866 -s off -f 229/323/124 230/324/124 231/325/124 -f 233/326/125 235/327/125 236/328/125 -f 235/327/126 240/329/126 241/330/126 -f 243/331/127 237/332/127 242/333/127 -f 245/334/128 243/335/128 231/325/128 -f 243/336/129 233/337/129 232/338/129 -f 247/339/130 241/330/130 246/340/130 -f 248/341/124 250/342/124 251/343/124 -f 250/342/124 229/323/124 228/344/124 -f 248/341/131 254/345/131 249/346/131 -f 256/347/124 258/348/124 255/349/124 -f 260/350/124 262/351/124 259/352/124 -f 264/353/124 266/354/124 263/355/124 -f 268/356/124 270/357/124 267/358/124 -f 272/359/124 274/360/124 271/361/124 -f 263/355/124 267/358/124 262/351/124 -f 257/362/124 256/347/124 272/359/124 -f 263/363/127 276/364/127 264/365/127 -f 262/366/132 275/367/132 263/368/132 -f 257/369/130 279/370/130 258/371/130 -f 258/372/132 280/373/132 259/374/132 -f 282/375/124 284/376/124 281/377/124 -f 285/378/124 275/367/124 277/379/124 -f 279/370/124 286/380/124 280/373/124 -f 288/381/124 290/382/124 287/383/124 -f 266/384/132 281/377/132 268/385/132 -f 265/386/130 282/375/130 266/387/130 -f 269/388/133 283/389/133 265/390/133 -f 259/391/127 286/380/127 260/392/127 -f 264/393/133 285/378/133 261/394/133 -f 261/395/130 277/379/130 262/396/130 -f 260/397/133 278/398/133 257/399/133 -f 268/400/127 284/376/127 269/401/127 -f 256/402/133 288/381/133 273/403/133 -f 273/404/130 287/383/130 274/405/130 -f 274/406/132 290/382/132 255/407/132 -f 255/408/127 289/409/127 256/410/127 -f 235/327/133 292/411/133 240/329/133 -f 235/327/133 234/412/133 291/413/133 -f 251/343/133 294/414/133 248/341/133 -f 248/341/133 294/414/133 253/415/133 -f 240/416/134 246/340/134 241/330/134 -f 293/417/134 252/418/134 295/419/134 -f 295/419/130 228/344/130 296/420/130 -f 298/421/135 300/422/135 297/423/135 -f 238/424/135 299/425/135 298/421/135 -f 300/422/135 228/426/135 297/423/135 -f 301/427/136 303/428/136 304/429/136 -f 306/430/136 308/431/136 305/432/136 -f 309/433/136 311/434/136 312/435/136 -f 310/436/136 314/437/136 311/434/136 -f 315/438/137 304/429/137 316/439/137 -f 302/440/136 308/431/136 303/428/136 -f 309/433/136 307/441/136 306/430/136 -f 313/442/136 316/443/136 314/437/136 -f 324/444/136 318/445/136 320/446/136 -f 326/447/136 328/448/136 325/449/136 -f 326/447/136 330/450/136 327/451/136 -f 331/452/137 330/450/137 329/453/137 -f 333/454/136 332/455/136 331/456/136 -f 335/457/137 334/458/137 333/454/137 -f 335/457/137 338/459/137 336/460/137 -f 337/461/136 340/462/136 338/459/136 -f 339/463/137 328/448/137 340/462/137 -f 342/464/138 344/465/138 341/466/138 -f 345/467/139 344/465/139 343/468/139 -f 347/469/140 343/468/140 342/464/140 -f 347/470/141 341/466/141 348/471/141 -f 348/472/142 344/465/142 346/473/142 -f 350/474/132 352/475/132 349/476/132 -f 358/477/132 359/478/132 360/479/132 -f 349/476/132 362/480/132 361/481/132 -f 363/482/132 362/483/132 364/484/132 -f 363/482/132 366/485/132 365/486/132 -f 365/487/132 368/488/132 367/489/132 -f 367/489/132 370/490/132 369/491/132 -f 371/492/132 370/493/132 372/494/132 -f 371/492/132 351/495/132 350/474/132 -f 373/496/132 375/497/132 376/498/132 -f 377/499/132 374/500/132 373/501/132 -f 380/502/132 377/503/132 379/504/132 -f 382/505/132 379/506/132 381/507/132 -f 384/508/132 381/509/132 383/510/132 -f 385/511/132 384/512/132 383/513/132 -f 387/514/132 386/515/132 385/516/132 -f 376/517/132 388/518/132 387/519/132 -f 668/520/133 1759/521/133 1760/522/133 -f 1756/523/143 1767/524/143 1755/525/143 -f 239/526/132 391/527/132 392/528/132 -f 236/529/132 393/530/132 394/531/132 -f 237/532/132 395/533/132 396/534/132 -f 242/535/132 397/536/132 398/537/132 -f 231/538/132 399/539/132 400/540/132 -f 1758/541/130 1769/542/130 1757/543/130 -f 403/544/124 405/545/124 407/546/124 -f 272/359/132 411/547/132 270/357/132 -f 271/361/127 410/548/127 272/359/127 -f 267/358/133 412/549/133 271/361/133 -f 270/357/130 413/550/130 267/358/130 -f 417/551/126 419/552/126 421/553/126 -f 421/554/144 404/555/144 403/556/144 -f 419/557/145 406/558/145 405/559/145 -f 415/560/146 402/561/146 409/562/146 -f 420/563/147 405/559/147 404/555/147 -f 418/564/148 407/565/148 406/558/148 -f 416/566/149 409/562/149 408/567/149 -f 414/568/150 403/556/150 402/561/150 -f 423/569/132 425/570/132 422/571/132 -f 427/572/133 429/573/133 426/574/133 -f 423/575/125 428/576/125 424/577/125 -f 425/570/143 426/578/143 422/579/143 -f 424/577/151 427/572/151 425/570/151 -f 422/580/128 429/581/128 423/575/128 -f 431/582/132 433/583/132 430/584/132 -f 435/585/133 437/586/133 434/587/133 -f 431/588/143 436/589/143 432/590/143 -f 433/583/125 434/591/125 430/592/125 -f 432/590/128 435/585/128 433/583/128 -f 430/592/151 437/593/151 431/594/151 -f 438/595/132 440/596/132 441/597/132 -f 442/598/133 444/599/133 445/600/133 -f 439/601/128 444/599/128 440/596/128 -f 441/597/151 442/602/151 438/603/151 -f 440/596/125 443/604/125 441/597/125 -f 438/605/143 445/606/143 439/601/143 -f 446/607/132 448/608/132 449/609/132 -f 450/610/133 452/611/133 453/612/133 -f 447/613/151 452/611/151 448/608/151 -f 449/609/128 450/614/128 446/615/128 -f 448/608/143 451/616/143 449/609/143 -f 446/615/125 453/617/125 447/618/125 -f 455/619/132 457/620/132 454/621/132 -f 459/622/152 461/623/152 458/624/152 -f 455/625/125 460/626/125 456/627/125 -f 457/620/143 458/624/143 454/628/143 -f 456/627/151 459/622/151 457/620/151 -f 455/625/128 458/629/128 461/630/128 -f 300/631/125 463/632/125 296/633/125 -f 299/634/128 464/635/128 465/636/128 -f 299/634/127 462/637/127 300/631/127 -f 465/636/135 463/638/135 462/637/135 -f 467/639/126 469/640/126 466/641/126 -f 470/642/124 472/643/124 473/644/124 -f 475/645/153 471/646/153 474/647/153 -f 474/647/154 477/648/154 475/645/154 -f 470/649/155 476/650/155 474/647/155 -f 469/651/156 477/648/156 466/652/156 -f 245/653/127 950/654/127 233/337/127 -f 479/655/157 481/656/157 478/657/157 -f 483/658/126 480/659/126 485/660/126 -f 480/661/146 486/662/146 481/656/146 -f 484/663/158 487/664/158 486/662/158 -f 478/665/124 481/666/124 486/667/124 -f 491/668/127 493/669/127 490/670/127 -f 491/668/126 495/671/126 492/672/126 -f 493/669/124 497/673/124 490/670/124 -f 499/674/133 501/675/133 498/676/133 -f 503/677/126 500/678/126 502/679/126 -f 505/680/124 498/676/124 504/681/124 -f 502/682/130 499/674/130 505/683/130 -f 504/684/127 501/675/127 503/685/127 -f 507/686/133 509/687/133 506/688/133 -f 511/689/127 508/690/127 510/691/127 -f 513/692/130 506/688/130 512/693/130 -f 510/694/126 507/686/126 513/695/126 -f 512/696/124 509/687/124 511/697/124 -f 515/698/127 517/699/127 514/700/127 -f 519/701/159 521/702/159 518/703/159 -f 523/704/160 525/705/160 522/706/160 -f 516/707/161 522/706/161 517/699/161 -f 520/708/162 514/709/162 521/702/162 -f 524/710/130 518/703/130 525/705/130 -f 514/711/126 517/712/126 522/713/126 -f 527/714/130 529/715/130 526/716/130 -f 531/717/127 533/718/127 530/719/127 -f 534/720/159 528/721/159 527/722/159 -f 526/723/160 537/724/160 536/725/160 -f 536/726/161 532/727/161 531/728/161 -f 530/729/162 535/730/162 534/731/162 -f 532/732/124 539/733/124 533/718/124 -f 528/721/124 540/734/124 541/735/124 -f 529/736/124 543/737/124 537/724/124 -f 532/727/124 543/737/124 538/738/124 -f 533/739/124 540/734/124 535/730/124 -f 528/740/124 542/741/124 529/715/124 -f 543/737/161 545/742/161 538/738/161 -f 539/743/162 547/744/162 540/734/162 -f 541/735/130 549/745/130 542/741/130 -f 538/738/127 546/746/127 539/733/127 -f 540/734/159 548/747/159 541/735/159 -f 542/741/160 544/748/160 543/737/160 -f 547/744/126 551/749/126 548/747/126 -f 548/747/126 552/750/126 549/745/126 -f 544/748/126 552/751/126 553/752/126 -f 544/748/126 554/753/126 545/742/126 -f 545/742/126 555/754/126 546/746/126 -f 547/744/126 555/755/126 550/756/126 -f 555/755/162 557/757/162 550/756/162 -f 551/758/130 559/759/130 552/750/130 -f 554/760/127 556/761/127 555/754/127 -f 550/762/159 558/763/159 551/749/159 -f 552/751/160 561/764/160 553/752/160 -f 553/765/161 560/766/161 554/753/161 -f 557/767/124 563/768/124 558/763/124 -f 558/769/124 564/770/124 559/759/124 -f 561/764/124 564/770/124 565/771/124 -f 561/772/124 566/773/124 560/766/124 -f 560/774/124 567/775/124 556/761/124 -f 557/757/124 567/776/124 562/777/124 -f 563/768/130 569/778/130 564/770/130 -f 566/773/127 571/779/127 567/775/127 -f 562/777/159 568/780/159 563/768/159 -f 564/770/160 573/781/160 565/771/160 -f 565/771/161 570/782/161 566/773/161 -f 567/776/162 572/783/162 562/777/162 -f 569/778/163 575/784/163 573/781/163 -f 573/781/164 576/785/164 570/782/164 -f 572/783/165 577/786/165 578/787/165 -f 568/780/166 574/788/166 569/778/166 -f 570/782/167 577/789/167 571/779/167 -f 568/780/168 578/790/168 579/791/168 -f 577/792/126 576/793/126 575/794/126 -f 581/795/130 583/796/130 580/797/130 -f 585/798/124 587/799/124 588/800/124 -f 582/801/133 590/802/133 583/796/133 -f 581/795/126 589/803/126 582/801/126 -f 583/796/124 592/804/124 580/797/124 -f 594/805/169 596/806/169 593/807/169 -f 593/808/124 598/809/124 597/810/124 -f 597/810/129 600/811/129 599/812/129 -f 594/805/126 600/811/126 595/813/126 -f 584/814/170 602/815/170 585/798/170 -f 587/816/133 604/817/133 588/818/133 -f 601/819/126 604/820/126 603/821/126 -f 602/815/169 586/822/169 585/798/169 -f 605/823/171 587/816/171 586/824/171 -f 584/814/129 604/825/129 601/819/129 -f 607/826/169 609/827/169 606/828/169 -f 610/829/126 608/830/126 607/831/126 -f 613/832/124 609/827/124 612/833/124 -f 612/833/171 608/830/171 611/834/171 -f 610/829/170 606/835/170 613/836/170 -f 615/837/124 624/838/124 625/839/124 -f 626/840/172 616/841/172 628/842/172 -f 623/843/173 633/844/173 624/838/173 -f 390/845/130 1689/846/130 297/423/130 -f 646/847/143 648/848/143 649/849/143 -f 1759/850/151 1772/851/151 1760/852/151 -f 297/423/143 652/853/143 653/854/143 -f 646/847/143 652/853/143 228/344/143 -f 297/423/143 649/849/143 648/848/143 -f 1755/855/128 1761/856/128 650/857/128 -f 656/858/151 239/859/151 238/860/151 -f 238/860/151 657/861/151 656/858/151 -f 389/862/151 657/861/151 298/421/151 -f 656/863/174 658/864/174 659/865/174 -f 646/866/151 661/867/151 652/868/151 -f 647/869/175 663/870/175 648/871/175 -f 661/867/143 665/872/143 664/873/143 -f 666/874/133 1756/875/133 1755/876/133 -f 659/877/151 669/878/151 668/520/151 -f 649/879/176 660/880/176 646/881/176 -f 1756/882/151 662/883/151 647/884/151 -f 653/885/177 661/886/177 664/873/177 -f 653/885/128 665/872/128 649/879/128 -f 657/887/125 655/888/125 1759/889/125 -f 1760/890/143 654/891/143 656/892/143 -f 670/893/124 672/894/124 673/895/124 -f 674/896/178 672/897/178 671/898/178 -f 677/899/126 679/900/126 676/901/126 -f 670/893/179 681/902/179 680/903/179 -f 679/900/126 682/904/126 683/905/126 -f 675/906/180 685/907/180 672/897/180 -f 680/908/126 674/909/126 686/910/126 -f 687/911/171 680/903/171 686/910/171 -f 687/911/124 671/912/124 670/913/124 -f 677/914/126 676/915/126 688/916/126 -f 689/917/171 677/899/171 688/916/171 -f 689/917/124 691/918/124 690/919/124 -f 693/920/133 686/910/133 692/921/133 -f 695/922/132 671/923/132 694/924/132 -f 697/925/126 676/915/126 696/926/126 -f 699/927/124 689/917/124 698/928/124 -f 694/929/124 687/911/124 693/920/124 -f 698/928/133 688/916/133 697/925/133 -f 696/926/132 691/930/132 699/931/132 -f 692/921/126 674/909/126 695/922/126 -f 676/901/178 700/932/178 691/933/178 -f 680/903/126 675/906/126 674/896/126 -f 702/934/130 704/935/130 701/936/130 -f 662/883/143 666/874/143 663/870/143 -f 663/870/128 666/874/128 1755/937/128 -f 1757/938/124 1765/939/124 1688/940/124 -f 705/941/181 682/904/181 678/942/181 -f 700/943/124 706/944/124 705/941/124 -f 672/894/124 708/945/124 673/895/124 -f 679/900/180 707/946/180 700/932/180 -f 675/906/126 709/947/126 684/948/126 -f 673/895/181 709/947/181 681/902/181 -f 690/949/124 700/943/124 705/941/124 -f 690/949/179 678/942/179 677/899/179 -f 711/950/161 713/951/161 710/952/161 -f 714/953/132 703/954/132 702/934/132 -f 712/955/127 717/956/127 713/951/127 -f 718/957/127 715/958/127 714/953/127 -f 716/959/162 721/960/162 717/961/162 -f 701/962/133 719/963/133 718/957/133 -f 720/964/159 723/965/159 721/960/159 -f 722/966/126 720/967/126 716/968/126 -f 722/969/130 725/970/130 723/965/130 -f 724/971/160 710/952/160 725/970/160 -f 723/972/124 725/973/124 713/974/124 -f 719/963/125 727/975/125 715/958/125 -f 715/976/132 727/975/132 703/977/132 -f 704/978/133 726/979/133 719/980/133 -f 704/978/133 729/981/133 726/979/133 -f 728/982/127 731/983/127 729/984/127 -f 726/979/126 732/985/126 727/975/126 -f 727/975/132 733/986/132 703/977/132 -f 703/977/124 728/987/124 704/988/124 -f 729/984/126 734/989/126 732/990/126 -f 733/991/124 735/992/124 728/993/124 -f 734/989/169 733/986/169 732/985/169 -f 737/994/179 739/995/179 736/996/179 -f 729/984/126 737/994/126 734/989/126 -f 734/989/130 736/996/130 735/992/130 -f 735/992/124 730/997/124 728/993/124 -f 740/998/126 741/999/126 738/1000/126 -f 730/997/124 739/995/124 742/1001/124 -f 730/1002/178 740/1003/178 731/983/178 -f 731/983/126 738/1004/126 737/994/126 -f 741/999/171 739/995/171 738/1004/171 -f 743/1005/124 745/1006/124 742/1007/124 -f 742/1007/124 739/1008/124 743/1005/124 -f 745/1009/132 748/1010/132 746/1011/132 -f 742/1012/132 749/1013/132 740/998/132 -f 740/998/126 750/1014/126 741/999/126 -f 741/999/133 744/1015/133 743/1005/133 -f 750/1016/133 751/1017/133 744/1018/133 -f 746/1011/125 750/1014/125 749/1013/125 -f 745/1009/132 746/1011/132 749/1019/132 -f 744/1018/130 747/1020/130 745/1021/130 -f 751/1017/133 752/1022/133 744/1018/133 -f 746/1011/127 753/1023/127 751/1017/127 -f 391/527/132 1771/1024/132 1786/1025/132 -f 401/1026/132 1767/1027/132 1768/1028/132 -f 1771/1024/132 1764/1029/132 389/1030/132 -f 1786/1025/132 1770/1031/132 1785/1032/132 -f 592/1033/127 589/1034/127 591/1035/127 -f 951/1036/182 953/1037/182 954/1038/182 -f 956/1039/182 958/1040/182 955/1041/182 -f 959/1042/182 961/1043/182 962/1044/182 -f 960/1045/182 964/1046/182 961/1043/182 -f 965/1047/183 954/1038/183 966/1048/183 -f 952/1049/182 958/1040/182 953/1037/182 -f 956/1039/182 962/1044/182 957/1050/182 -f 963/1051/182 966/1052/182 964/1046/182 -f 974/1053/182 968/1054/182 970/1055/182 -f 976/1056/182 978/1057/182 975/1058/182 -f 976/1056/182 980/1059/182 977/1060/182 -f 981/1061/183 980/1059/183 979/1062/183 -f 983/1063/182 982/1064/182 981/1065/182 -f 983/1063/183 986/1066/183 984/1067/183 -f 985/1068/183 988/1069/183 986/1066/183 -f 987/1070/182 990/1071/182 988/1069/182 -f 989/1072/183 978/1057/183 990/1071/183 -f 1039/1073/184 1041/1074/184 1042/1075/184 -f 1044/1076/184 1046/1077/184 1043/1078/184 -f 1047/1079/184 1049/1080/184 1050/1081/184 -f 1048/1082/184 1052/1083/184 1049/1080/184 -f 1053/1084/185 1042/1075/185 1054/1085/185 -f 1040/1086/184 1046/1077/184 1041/1074/184 -f 1047/1079/184 1045/1087/184 1044/1076/184 -f 1051/1088/184 1054/1089/184 1052/1083/184 -f 1062/1090/184 1056/1091/184 1058/1092/184 -f 1064/1093/184 1066/1094/184 1063/1095/184 -f 1064/1093/184 1068/1096/184 1065/1097/184 -f 1069/1098/185 1068/1096/185 1067/1099/185 -f 1071/1100/184 1070/1101/184 1069/1102/184 -f 1073/1103/185 1072/1104/185 1071/1100/185 -f 1073/1103/185 1076/1105/185 1074/1106/185 -f 1075/1107/184 1078/1108/184 1076/1105/184 -f 1077/1109/185 1066/1094/185 1078/1108/185 -f 1127/1110/186 1129/1111/186 1130/1112/186 -f 1132/1113/186 1134/1114/186 1131/1115/186 -f 1135/1116/186 1137/1117/186 1138/1118/186 -f 1136/1119/186 1140/1120/186 1137/1117/186 -f 1141/1121/187 1130/1112/187 1142/1122/187 -f 1128/1123/186 1134/1114/186 1129/1111/186 -f 1135/1116/186 1133/1124/186 1132/1113/186 -f 1139/1125/186 1142/1126/186 1140/1120/186 -f 1150/1127/186 1144/1128/186 1146/1129/186 -f 1152/1130/186 1154/1131/186 1151/1132/186 -f 1152/1130/186 1156/1133/186 1153/1134/186 -f 1157/1135/187 1156/1133/187 1155/1136/187 -f 1159/1137/186 1158/1138/186 1157/1139/186 -f 1161/1140/187 1160/1141/187 1159/1137/187 -f 1161/1140/187 1164/1142/187 1162/1143/187 -f 1163/1144/186 1166/1145/186 1164/1142/186 -f 1165/1146/187 1154/1131/187 1166/1145/187 -f 1215/1147/188 1217/1148/188 1218/1149/188 -f 1220/1150/189 1222/1151/189 1219/1152/189 -f 1223/1153/188 1225/1154/188 1226/1155/188 -f 1224/1156/189 1228/1157/189 1225/1154/189 -f 1229/1158/188 1218/1149/188 1230/1159/188 -f 1216/1160/189 1222/1151/189 1217/1148/189 -f 1223/1153/189 1221/1161/189 1220/1150/189 -f 1227/1162/189 1230/1163/189 1228/1157/189 -f 1238/1164/188 1232/1165/188 1234/1166/188 -f 1240/1167/188 1242/1168/188 1239/1169/188 -f 1240/1167/189 1244/1170/189 1241/1171/189 -f 1245/1172/188 1244/1170/188 1243/1173/188 -f 1247/1174/189 1246/1175/189 1245/1176/189 -f 1249/1177/189 1248/1178/189 1247/1174/189 -f 1249/1177/188 1252/1179/188 1250/1180/188 -f 1251/1181/189 1254/1182/189 1252/1179/189 -f 1253/1183/188 1242/1168/188 1254/1182/188 -f 1303/1184/190 1305/1185/190 1306/1186/190 -f 1308/1187/191 1310/1188/191 1307/1189/191 -f 1311/1190/190 1313/1191/190 1314/1192/190 -f 1312/1193/191 1316/1194/191 1313/1191/191 -f 1317/1195/190 1306/1186/190 1318/1196/190 -f 1304/1197/191 1310/1188/191 1305/1185/191 -f 1311/1190/191 1309/1198/191 1308/1187/191 -f 1315/1199/191 1318/1200/191 1316/1194/191 -f 1326/1201/191 1320/1202/191 1322/1203/191 -f 1328/1204/190 1330/1205/190 1327/1206/190 -f 1328/1204/191 1332/1207/191 1329/1208/191 -f 1333/1209/190 1332/1207/190 1331/1210/190 -f 1335/1211/191 1334/1212/191 1333/1213/191 -f 1337/1214/190 1336/1215/190 1335/1211/190 -f 1337/1214/190 1340/1216/190 1338/1217/190 -f 1339/1218/191 1342/1219/191 1340/1216/191 -f 1341/1220/190 1330/1205/190 1342/1219/190 -f 1391/1221/192 1393/1222/192 1394/1223/192 -f 1396/1224/192 1398/1225/192 1395/1226/192 -f 1399/1227/192 1401/1228/192 1402/1229/192 -f 1400/1230/193 1404/1231/193 1401/1228/193 -f 1405/1232/193 1394/1223/193 1406/1233/193 -f 1392/1234/193 1398/1225/193 1393/1222/193 -f 1396/1224/193 1402/1229/193 1397/1235/193 -f 1403/1236/193 1406/1237/193 1404/1231/193 -f 1414/1238/192 1408/1239/192 1410/1240/192 -f 1416/1241/192 1418/1242/192 1415/1243/192 -f 1416/1241/193 1420/1244/193 1417/1245/193 -f 1421/1246/192 1420/1244/192 1419/1247/192 -f 1423/1248/193 1422/1249/193 1421/1250/193 -f 1425/1251/193 1424/1252/193 1423/1248/193 -f 1425/1251/192 1428/1253/192 1426/1254/192 -f 1427/1255/193 1430/1256/193 1428/1253/193 -f 1429/1257/192 1418/1242/192 1430/1256/192 -f 1479/1258/194 1481/1259/194 1482/1260/194 -f 1484/1261/195 1486/1262/195 1483/1263/195 -f 1487/1264/194 1489/1265/194 1490/1266/194 -f 1491/1267/195 1489/1265/195 1488/1268/195 -f 1493/1269/194 1482/1260/194 1494/1270/194 -f 1480/1271/195 1486/1262/195 1481/1259/195 -f 1487/1264/195 1485/1272/195 1484/1261/195 -f 1491/1267/195 1494/1273/195 1492/1274/195 -f 1502/1275/195 1496/1276/195 1498/1277/195 -f 1504/1278/194 1506/1279/194 1503/1280/194 -f 1504/1278/195 1508/1281/195 1505/1282/195 -f 1509/1283/194 1508/1281/194 1507/1284/194 -f 1511/1285/195 1510/1286/195 1509/1287/195 -f 1513/1288/194 1512/1289/194 1511/1285/194 -f 1513/1288/194 1516/1290/194 1514/1291/194 -f 1515/1292/195 1518/1293/195 1516/1290/195 -f 1517/1294/194 1506/1279/194 1518/1293/194 -f 1567/1295/196 1569/1296/196 1570/1297/196 -f 1571/1298/197 1570/1297/197 1569/1296/197 -f 1573/1299/198 1569/1296/198 1568/1300/198 -f 1573/1301/199 1567/1295/199 1574/1302/199 -f 1574/1303/200 1570/1297/200 1572/1304/200 -f 1576/1305/201 1578/1306/201 1575/1307/201 -f 1579/1308/202 1578/1306/202 1577/1309/202 -f 1581/1310/203 1577/1309/203 1576/1305/203 -f 1581/1311/204 1575/1307/204 1582/1312/204 -f 1582/1313/205 1578/1306/205 1580/1314/205 -f 1583/1315/206 1585/1316/206 1586/1317/206 -f 1587/1318/207 1586/1317/207 1585/1316/207 -f 1589/1319/208 1585/1316/208 1584/1320/208 -f 1589/1321/209 1583/1315/209 1590/1322/209 -f 1590/1323/210 1586/1317/210 1588/1324/210 -f 1591/1325/211 1593/1326/211 1594/1327/211 -f 1595/1328/212 1594/1327/212 1593/1326/212 -f 1597/1329/213 1593/1326/213 1592/1330/213 -f 1597/1331/214 1591/1325/214 1598/1332/214 -f 1598/1333/215 1594/1327/215 1596/1334/215 -f 1599/1335/216 1601/1336/216 1602/1337/216 -f 1603/1338/217 1602/1337/217 1601/1336/217 -f 1605/1339/218 1601/1336/218 1600/1340/218 -f 1605/1341/219 1599/1335/219 1606/1342/219 -f 1606/1343/220 1602/1337/220 1604/1344/220 -f 1608/1345/221 1610/1346/221 1607/1347/221 -f 1611/1348/222 1610/1346/222 1609/1349/222 -f 1613/1350/223 1609/1349/223 1608/1345/223 -f 1613/1351/224 1607/1347/224 1614/1352/224 -f 1614/1353/225 1610/1346/225 1612/1354/225 -f 1615/1355/226 1617/1356/226 1618/1357/226 -f 1619/1358/227 1618/1357/227 1617/1356/227 -f 1621/1359/228 1617/1356/228 1616/1360/228 -f 1621/1361/229 1615/1355/229 1622/1362/229 -f 1622/1363/230 1618/1357/230 1620/1364/230 -f 1624/1365/231 1626/1366/231 1623/1367/231 -f 1627/1368/232 1626/1366/232 1625/1369/232 -f 1629/1370/233 1625/1369/233 1624/1365/233 -f 1629/1371/234 1623/1367/234 1630/1372/234 -f 1630/1373/235 1626/1366/235 1628/1374/235 -f 1631/1375/236 1633/1376/236 1634/1377/236 -f 1635/1378/237 1634/1377/237 1633/1376/237 -f 1637/1379/238 1633/1376/238 1632/1380/238 -f 1637/1381/239 1631/1375/239 1638/1382/239 -f 1638/1383/240 1634/1377/240 1636/1384/240 -f 1639/1385/241 1641/1386/241 1642/1387/241 -f 1643/1388/242 1642/1387/242 1641/1386/242 -f 1645/1389/243 1641/1386/243 1640/1390/243 -f 1645/1391/244 1639/1385/244 1646/1392/244 -f 1646/1393/245 1642/1387/245 1644/1394/245 -f 1647/1395/246 1649/1396/246 1650/1397/246 -f 1651/1398/247 1650/1397/247 1649/1396/247 -f 1653/1399/248 1649/1396/248 1648/1400/248 -f 1653/1401/249 1647/1395/249 1654/1402/249 -f 1654/1403/250 1650/1397/250 1652/1404/250 -f 1655/1405/251 1657/1406/251 1658/1407/251 -f 1659/1408/252 1658/1407/252 1657/1406/252 -f 1661/1409/253 1657/1406/253 1656/1410/253 -f 1661/1411/254 1655/1405/254 1662/1412/254 -f 1662/1413/255 1658/1407/255 1660/1414/255 -f 1663/1415/256 1665/1416/256 1666/1417/256 -f 1667/1418/257 1666/1417/257 1665/1416/257 -f 1669/1419/258 1665/1416/258 1664/1420/258 -f 1669/1421/259 1663/1415/259 1670/1422/259 -f 1670/1423/260 1666/1417/260 1668/1424/260 -f 1672/1425/261 1674/1426/261 1671/1427/261 -f 1675/1428/262 1674/1426/262 1673/1429/262 -f 1677/1430/263 1673/1429/263 1672/1425/263 -f 1677/1431/264 1671/1427/264 1678/1432/264 -f 1678/1433/265 1674/1426/265 1676/1434/265 -f 1679/1435/266 1681/1436/266 1682/1437/266 -f 1683/1438/267 1682/1437/267 1681/1436/267 -f 1685/1439/268 1681/1436/268 1680/1440/268 -f 1685/1441/269 1679/1435/269 1686/1442/269 -f 1686/1443/270 1682/1437/270 1684/1444/270 -f 1691/1445/124 1692/1446/124 1757/1447/124 -f 297/423/130 1687/1448/130 298/421/130 -f 389/862/130 1687/1448/130 1688/1449/130 -f 651/1450/151 1768/1451/151 1756/1452/151 -f 1691/1453/130 1694/1454/130 1692/1455/130 -f 1757/1456/133 1694/1457/133 1758/1458/133 -f 1689/1459/132 1691/1460/132 1687/1461/132 -f 1758/1462/126 1694/1463/126 1693/1464/126 -f 1690/1465/126 1770/1466/126 1758/1467/126 -f 655/1468/125 1771/1469/125 1759/1470/125 -f 1760/1471/143 1763/1472/143 654/1473/143 -f 655/1474/151 389/862/151 1764/1475/151 -f 1688/1449/130 1765/1476/130 389/862/130 -f 1690/1477/130 390/845/130 1766/1478/130 -f 650/1479/143 1761/1480/143 390/845/143 -f 654/1481/151 1763/1482/151 239/859/151 -f 1775/1483/151 1774/1484/151 1776/1485/151 -f 1778/1486/130 1779/1487/130 1777/1488/130 -f 651/1489/143 227/1490/143 1762/1491/143 -f 1783/1492/143 1782/1493/143 1784/1494/143 -f 390/1495/132 1767/1027/132 1770/1031/132 -f 1768/1028/132 227/1496/132 401/1026/132 -f 239/526/132 1772/1497/132 391/527/132 -f 1788/1498/127 1790/1499/127 1787/1500/127 -f 1792/1501/130 1794/1502/130 1791/1503/130 -f 1796/1504/124 1798/1505/124 1795/1506/124 -f 1800/1507/126 1802/1508/126 1799/1509/126 -f 1799/1509/151 1793/1510/151 1792/1501/151 -f 1801/1511/125 1790/1499/125 1789/1512/125 -f 1787/1513/128 1797/1514/128 1788/1515/128 -f 1794/1502/143 1795/1506/143 1791/1503/143 -f 1799/1516/132 1803/1517/132 1804/1518/132 -f 1792/1519/132 1806/1520/132 1807/1521/132 -f 1791/1522/132 1808/1523/132 1809/1524/132 -f 1795/1525/132 1810/1526/132 1811/1527/132 -f 1798/1528/132 1812/1529/132 1813/1530/132 -f 1787/1531/132 1814/1532/132 1815/1533/132 -f 1790/1534/132 1816/1535/132 1817/1536/132 -f 1800/1537/132 1805/1538/132 1818/1539/132 -f 1826/1540/132 1830/1541/132 1834/1542/132 -f 1836/1543/133 1837/1544/133 1793/1545/133 -f 1839/1546/133 1835/1547/133 1802/1548/133 -f 1841/1549/133 1838/1550/133 1801/1551/133 -f 1843/1552/133 1840/1553/133 1789/1554/133 -f 1845/1555/133 1842/1556/133 1788/1557/133 -f 1847/1558/133 1844/1559/133 1797/1560/133 -f 1849/1561/133 1846/1562/133 1796/1563/133 -f 1850/1564/133 1848/1565/133 1794/1566/133 -f 231/325/124 227/1490/124 229/323/124 -f 227/1490/124 228/344/124 229/323/124 -f 237/332/125 232/1567/125 236/328/125 -f 232/1567/125 233/326/125 236/328/125 -f 950/1568/125 234/1569/125 235/327/125 -f 233/326/125 950/1568/125 235/327/125 -f 241/330/126 238/1570/126 235/327/126 -f 238/1570/126 239/859/126 236/328/126 -f 235/327/126 238/1570/126 236/328/126 -f 243/331/127 232/1567/127 237/332/127 -f 242/1571/128 231/325/128 243/335/128 -f 231/325/271 230/324/271 245/334/271 -f 230/324/272 244/1572/272 245/334/272 -f 243/336/129 245/653/129 233/337/129 -f 247/339/130 238/1570/130 241/330/130 -f 248/341/124 249/346/124 250/342/124 -f 228/344/124 252/418/124 250/342/124 -f 252/418/124 251/343/124 250/342/124 -f 248/341/131 253/1573/131 254/345/131 -f 256/347/124 257/362/124 258/348/124 -f 260/350/124 261/1574/124 262/351/124 -f 264/353/124 265/1575/124 266/354/124 -f 268/356/124 269/1576/124 270/357/124 -f 272/359/124 273/1577/124 274/360/124 -f 268/356/124 267/358/124 266/354/124 -f 267/358/124 271/361/124 262/351/124 -f 266/354/124 267/358/124 263/355/124 -f 271/361/124 274/360/124 255/349/124 -f 258/348/124 259/352/124 271/361/124 -f 259/352/124 262/351/124 271/361/124 -f 271/361/124 255/349/124 258/348/124 -f 272/359/124 270/357/124 261/1574/124 -f 270/357/124 269/1576/124 265/1575/124 -f 265/1575/124 264/353/124 270/357/124 -f 264/353/124 261/1574/124 270/357/124 -f 256/347/124 273/1577/124 272/359/124 -f 261/1574/124 260/350/124 272/359/124 -f 260/350/124 257/362/124 272/359/124 -f 263/363/127 275/367/127 276/364/127 -f 262/366/132 277/379/132 275/367/132 -f 257/369/130 278/398/130 279/370/130 -f 258/372/132 279/370/132 280/373/132 -f 282/375/124 283/389/124 284/376/124 -f 285/378/124 276/364/124 275/367/124 -f 279/370/124 278/398/124 286/380/124 -f 288/381/124 289/409/124 290/382/124 -f 266/384/132 282/375/132 281/377/132 -f 265/386/130 283/389/130 282/375/130 -f 269/388/133 284/376/133 283/389/133 -f 259/391/127 280/373/127 286/380/127 -f 264/393/133 276/364/133 285/378/133 -f 261/395/130 285/378/130 277/379/130 -f 260/397/133 286/380/133 278/398/133 -f 268/400/127 281/377/127 284/376/127 -f 256/402/133 289/409/133 288/381/133 -f 273/404/130 288/381/130 287/383/130 -f 274/406/132 287/383/132 290/382/132 -f 255/408/127 290/382/127 289/409/127 -f 235/327/133 291/413/133 292/411/133 -f 251/343/133 293/1578/133 294/414/133 -f 240/416/134 292/1579/134 246/340/134 -f 293/417/134 251/1580/134 252/418/134 -f 295/419/130 252/418/130 228/344/130 -f 298/421/135 299/425/135 300/422/135 -f 238/424/135 247/1581/135 299/425/135 -f 300/422/135 296/1582/135 228/426/135 -f 301/427/137 302/440/137 303/428/137 -f 306/430/136 307/441/136 308/431/136 -f 309/433/137 310/436/137 311/434/137 -f 310/436/136 313/442/136 314/437/136 -f 315/438/136 301/427/136 304/429/136 -f 302/440/136 305/432/136 308/431/136 -f 309/433/136 312/435/136 307/441/136 -f 313/442/137 315/1583/137 316/443/137 -f 324/444/136 317/1584/136 318/445/136 -f 318/445/136 319/1585/136 320/446/136 -f 320/446/136 321/1586/136 324/444/136 -f 321/1586/137 322/1587/137 324/444/137 -f 322/1587/136 323/1588/136 324/444/136 -f 326/447/137 327/451/137 328/448/137 -f 326/447/136 329/453/136 330/450/136 -f 331/452/136 332/1589/136 330/450/136 -f 333/454/137 334/458/137 332/455/137 -f 335/457/136 336/460/136 334/458/136 -f 335/457/136 337/461/136 338/459/136 -f 337/461/137 339/463/137 340/462/137 -f 339/463/136 325/449/136 328/448/136 -f 342/464/138 343/468/138 344/465/138 -f 345/467/273 346/1590/273 344/465/273 -f 347/469/140 345/1591/140 343/468/140 -f 347/470/141 342/464/141 341/466/141 -f 348/472/142 341/466/142 344/465/142 -f 350/474/132 351/1592/132 352/475/132 -f 360/479/132 353/1593/132 354/1594/132 -f 354/1594/132 355/1595/132 360/479/132 -f 355/1595/132 356/1596/132 360/479/132 -f 356/1596/132 357/1597/132 360/479/132 -f 357/1597/132 358/477/132 360/479/132 -f 349/476/132 352/1598/132 362/480/132 -f 363/482/132 361/481/132 362/483/132 -f 363/482/132 364/1599/132 366/485/132 -f 365/487/132 366/1600/132 368/488/132 -f 367/489/132 368/1601/132 370/490/132 -f 371/492/132 369/491/132 370/493/132 -f 371/492/132 372/1602/132 351/495/132 -f 373/496/132 374/1603/132 375/497/132 -f 377/499/132 378/1604/132 374/500/132 -f 380/502/132 378/1605/132 377/503/132 -f 382/505/132 380/1606/132 379/506/132 -f 384/508/132 382/1607/132 381/509/132 -f 385/511/132 386/1608/132 384/512/132 -f 387/514/132 388/1609/132 386/515/132 -f 376/517/132 375/1610/132 388/518/132 -f 668/520/133 669/878/133 1759/521/133 -f 1756/523/143 1768/1611/143 1767/524/143 -f 393/530/132 236/529/132 392/528/132 -f 236/529/132 239/526/132 392/528/132 -f 395/533/132 237/532/132 394/531/132 -f 237/532/132 236/529/132 394/531/132 -f 397/536/132 242/535/132 396/534/132 -f 242/535/132 237/532/132 396/534/132 -f 399/539/132 231/538/132 398/537/132 -f 231/538/132 242/535/132 398/537/132 -f 401/1026/132 227/1496/132 400/540/132 -f 227/1496/132 231/538/132 400/540/132 -f 1758/541/130 1770/1612/130 1769/542/130 -f 409/1613/124 402/1614/124 403/544/124 -f 403/544/124 404/1615/124 405/545/124 -f 405/545/124 406/1616/124 407/546/124 -f 407/546/124 408/1617/124 409/1613/124 -f 409/1613/124 403/544/124 407/546/124 -f 272/359/132 410/1618/132 411/547/132 -f 271/361/127 412/1619/127 410/548/127 -f 267/358/133 413/1620/133 412/549/133 -f 270/357/130 411/1621/130 413/550/130 -f 421/553/126 414/1622/126 415/1623/126 -f 415/1623/126 416/1624/126 417/551/126 -f 417/551/126 418/1625/126 419/552/126 -f 419/552/126 420/1626/126 421/553/126 -f 421/553/126 415/1623/126 417/551/126 -f 421/554/144 420/563/144 404/555/144 -f 419/557/145 418/564/145 406/558/145 -f 415/560/146 414/568/146 402/561/146 -f 420/563/147 419/557/147 405/559/147 -f 418/564/148 417/1627/148 407/565/148 -f 416/566/149 415/560/149 409/562/149 -f 414/568/150 421/554/150 403/556/150 -f 423/569/132 424/577/132 425/570/132 -f 427/572/133 428/576/133 429/573/133 -f 423/575/125 429/581/125 428/576/125 -f 425/570/143 427/572/143 426/578/143 -f 424/577/151 428/576/151 427/572/151 -f 422/580/128 426/1628/128 429/581/128 -f 431/582/132 432/590/132 433/583/132 -f 435/585/133 436/589/133 437/586/133 -f 431/588/143 437/1629/143 436/589/143 -f 433/583/125 435/585/125 434/591/125 -f 432/590/128 436/589/128 435/585/128 -f 430/592/151 434/591/151 437/593/151 -f 438/595/132 439/1630/132 440/596/132 -f 442/598/133 443/604/133 444/599/133 -f 439/601/128 445/606/128 444/599/128 -f 441/597/151 443/604/151 442/602/151 -f 440/596/125 444/599/125 443/604/125 -f 438/605/143 442/1631/143 445/606/143 -f 446/607/132 447/1632/132 448/608/132 -f 450/610/133 451/616/133 452/611/133 -f 447/613/151 453/1633/151 452/611/151 -f 449/609/128 451/616/128 450/614/128 -f 448/608/143 452/611/143 451/616/143 -f 446/615/125 450/614/125 453/617/125 -f 455/619/132 456/627/132 457/620/132 -f 459/622/152 460/1634/152 461/623/152 -f 455/625/125 461/630/125 460/626/125 -f 457/620/143 459/622/143 458/624/143 -f 456/627/151 460/626/151 459/622/151 -f 455/625/128 454/1635/128 458/629/128 -f 300/631/125 462/637/125 463/632/125 -f 299/634/128 247/1636/128 464/635/128 -f 299/634/127 465/636/127 462/637/127 -f 465/636/135 464/1637/135 463/638/135 -f 467/639/126 468/1638/126 469/640/126 -f 470/642/124 471/646/124 472/643/124 -f 475/645/153 469/640/153 468/1638/153 -f 468/1638/153 471/646/153 475/645/153 -f 471/646/153 470/642/153 474/647/153 -f 474/647/154 476/650/154 477/648/154 -f 470/649/155 473/1639/155 476/650/155 -f 469/651/156 475/645/156 477/648/156 -f 245/653/127 244/1640/127 950/654/127 -f 479/655/157 480/661/157 481/656/157 -f 485/660/126 482/1641/126 483/658/126 -f 483/658/126 484/1642/126 480/659/126 -f 480/659/126 479/1643/126 485/660/126 -f 480/661/146 484/663/146 486/662/146 -f 484/663/158 483/1644/158 487/664/158 -f 486/667/124 487/1645/124 478/665/124 -f 487/1645/124 488/1646/124 478/665/124 -f 488/1646/124 489/1647/124 478/665/124 -f 491/668/127 492/672/127 493/669/127 -f 491/668/126 494/1648/126 495/671/126 -f 493/669/124 496/1649/124 497/673/124 -f 499/674/133 500/678/133 501/675/133 -f 503/677/126 501/675/126 500/678/126 -f 505/680/124 499/674/124 498/676/124 -f 502/682/130 500/678/130 499/674/130 -f 504/684/127 498/676/127 501/675/127 -f 507/686/133 508/690/133 509/687/133 -f 511/689/127 509/687/127 508/690/127 -f 513/692/130 507/686/130 506/688/130 -f 510/694/126 508/690/126 507/686/126 -f 512/696/124 506/688/124 509/687/124 -f 515/698/127 516/707/127 517/699/127 -f 519/701/159 520/708/159 521/702/159 -f 523/704/160 524/710/160 525/705/160 -f 516/707/161 523/704/161 522/706/161 -f 520/708/162 515/1650/162 514/709/162 -f 524/710/130 519/701/130 518/703/130 -f 522/713/126 525/1651/126 514/711/126 -f 525/1651/126 518/1652/126 514/711/126 -f 518/1652/126 521/1653/126 514/711/126 -f 527/714/130 528/740/130 529/715/130 -f 531/717/127 532/732/127 533/718/127 -f 534/720/159 535/1654/159 528/721/159 -f 526/723/160 529/736/160 537/724/160 -f 536/726/161 537/1655/161 532/727/161 -f 530/729/162 533/739/162 535/730/162 -f 532/732/124 538/738/124 539/733/124 -f 528/721/124 535/1654/124 540/734/124 -f 529/736/124 542/741/124 543/737/124 -f 532/727/124 537/1655/124 543/737/124 -f 533/739/124 539/743/124 540/734/124 -f 528/740/124 541/735/124 542/741/124 -f 543/737/161 544/748/161 545/742/161 -f 539/743/162 546/1656/162 547/744/162 -f 541/735/130 548/747/130 549/745/130 -f 538/738/127 545/742/127 546/746/127 -f 540/734/159 547/744/159 548/747/159 -f 542/741/160 549/745/160 544/748/160 -f 547/744/126 550/762/126 551/749/126 -f 548/747/126 551/758/126 552/750/126 -f 544/748/126 549/745/126 552/751/126 -f 544/748/126 553/765/126 554/753/126 -f 545/742/126 554/760/126 555/754/126 -f 547/744/126 546/1656/126 555/755/126 -f 555/755/162 556/1657/162 557/757/162 -f 551/758/130 558/769/130 559/759/130 -f 554/760/127 560/774/127 556/761/127 -f 550/762/159 557/767/159 558/763/159 -f 552/751/160 559/1658/160 561/764/160 -f 553/765/161 561/772/161 560/766/161 -f 557/767/124 562/777/124 563/768/124 -f 558/769/124 563/768/124 564/770/124 -f 561/764/124 559/1658/124 564/770/124 -f 561/772/124 565/771/124 566/773/124 -f 560/774/124 566/773/124 567/775/124 -f 557/757/124 556/1657/124 567/776/124 -f 563/768/130 568/780/130 569/778/130 -f 566/773/127 570/782/127 571/779/127 -f 562/777/159 572/783/159 568/780/159 -f 564/770/160 569/778/160 573/781/160 -f 565/771/161 573/781/161 570/782/161 -f 567/776/162 571/1659/162 572/783/162 -f 569/778/163 574/1660/163 575/784/163 -f 573/781/164 575/1661/164 576/785/164 -f 572/783/165 571/1659/165 577/786/165 -f 568/780/166 579/1662/166 574/788/166 -f 570/782/167 576/1663/167 577/789/167 -f 568/780/168 572/783/168 578/790/168 -f 575/794/126 574/1664/126 577/792/126 -f 574/1664/126 579/1665/126 577/792/126 -f 579/1665/126 578/1666/126 577/792/126 -f 581/795/130 582/801/130 583/796/130 -f 588/800/124 584/814/124 585/798/124 -f 585/798/124 586/1667/124 587/799/124 -f 582/801/133 589/1668/133 590/802/133 -f 581/795/126 591/1669/126 589/803/126 -f 583/796/124 590/1670/124 592/804/124 -f 594/805/169 595/813/169 596/806/169 -f 593/808/124 596/1671/124 598/809/124 -f 597/810/129 598/809/129 600/811/129 -f 594/805/126 599/812/126 600/811/126 -f 584/814/170 601/819/170 602/815/170 -f 587/816/133 603/821/133 604/817/133 -f 605/823/126 602/815/126 603/821/126 -f 602/815/126 601/819/126 603/821/126 -f 602/815/169 605/1672/169 586/822/169 -f 605/823/171 603/821/171 587/816/171 -f 584/814/129 588/1673/129 604/825/129 -f 607/826/169 608/1674/169 609/827/169 -f 610/829/126 611/834/126 608/830/126 -f 613/832/124 606/828/124 609/827/124 -f 612/833/171 609/827/171 608/830/171 -f 610/829/170 607/831/170 606/835/170 -f 615/837/124 623/1675/124 624/838/124 -f 626/840/172 627/1676/172 616/841/172 -f 623/843/173 632/1677/173 633/844/173 -f 390/845/130 1690/1477/130 1689/846/130 -f 646/847/143 647/1678/143 648/848/143 -f 1759/850/151 1771/1679/151 1772/851/151 -f 297/423/143 228/344/143 652/853/143 -f 228/344/143 227/1490/143 646/847/143 -f 227/1490/143 651/1489/143 647/1678/143 -f 647/1678/143 646/847/143 227/1490/143 -f 650/1479/143 390/845/143 648/848/143 -f 390/845/143 297/423/143 648/848/143 -f 297/423/143 653/854/143 649/849/143 -f 1755/855/128 1767/1680/128 1761/856/128 -f 656/858/151 654/1481/151 239/859/151 -f 238/860/151 298/421/151 657/861/151 -f 389/862/151 655/1474/151 657/861/151 -f 656/863/174 657/887/174 658/864/174 -f 646/866/151 660/1681/151 661/867/151 -f 647/869/175 662/1682/175 663/870/175 -f 661/867/143 660/1681/143 665/872/143 -f 666/874/133 667/1683/133 1756/875/133 -f 659/877/151 658/864/151 669/878/151 -f 649/879/176 665/872/176 660/880/176 -f 647/884/151 651/1684/151 1756/882/151 -f 1756/882/151 667/1683/151 662/883/151 -f 653/885/177 652/1685/177 661/886/177 -f 653/885/128 664/873/128 665/872/128 -f 1759/889/125 669/878/125 658/864/125 -f 658/864/125 657/887/125 1759/889/125 -f 656/892/143 659/877/143 1760/890/143 -f 659/877/143 668/520/143 1760/890/143 -f 670/893/124 671/1686/124 672/894/124 -f 674/896/178 675/906/178 672/897/178 -f 677/899/126 678/942/126 679/900/126 -f 670/893/179 673/895/179 681/902/179 -f 679/900/126 678/942/126 682/904/126 -f 675/906/180 684/948/180 685/907/180 -f 687/911/171 670/893/171 680/903/171 -f 689/917/171 690/949/171 677/899/171 -f 693/920/133 687/911/133 686/910/133 -f 695/922/132 674/909/132 671/923/132 -f 697/925/126 688/916/126 676/915/126 -f 699/927/124 691/918/124 689/917/124 -f 694/929/124 671/912/124 687/911/124 -f 698/928/133 689/917/133 688/916/133 -f 696/926/132 676/915/132 691/930/132 -f 692/921/126 686/910/126 674/909/126 -f 676/901/178 679/900/178 700/932/178 -f 680/903/126 681/902/126 675/906/126 -f 702/934/130 703/954/130 704/935/130 -f 662/883/143 667/1683/143 666/874/143 -f 650/1687/128 648/871/128 1755/937/128 -f 648/871/128 663/870/128 1755/937/128 -f 1757/938/124 1769/1688/124 1765/939/124 -f 705/941/181 706/944/181 682/904/181 -f 700/943/124 707/1689/124 706/944/124 -f 672/894/124 685/1690/124 708/945/124 -f 679/900/180 683/905/180 707/946/180 -f 675/906/126 681/902/126 709/947/126 -f 673/895/181 708/945/181 709/947/181 -f 690/949/124 691/1691/124 700/943/124 -f 690/949/179 705/941/179 678/942/179 -f 711/950/161 712/955/161 713/951/161 -f 714/953/132 715/958/132 703/954/132 -f 712/955/127 716/1692/127 717/956/127 -f 718/957/127 719/963/127 715/958/127 -f 716/959/162 720/964/162 721/960/162 -f 701/962/133 704/1693/133 719/963/133 -f 720/964/159 722/969/159 723/965/159 -f 716/968/126 712/1694/126 711/1695/126 -f 711/1695/126 724/1696/126 716/968/126 -f 724/1696/126 722/966/126 716/968/126 -f 722/969/130 724/971/130 725/970/130 -f 724/971/160 711/950/160 710/952/160 -f 725/973/124 710/1697/124 713/974/124 -f 713/974/124 717/1698/124 721/1699/124 -f 721/1699/124 723/972/124 713/974/124 -f 719/963/125 726/979/125 727/975/125 -f 704/978/133 728/1700/133 729/981/133 -f 728/982/127 730/1002/127 731/983/127 -f 726/979/126 729/981/126 732/985/126 -f 727/975/132 732/985/132 733/986/132 -f 703/977/124 733/986/124 728/987/124 -f 734/989/169 735/992/169 733/986/169 -f 737/994/179 738/1004/179 739/995/179 -f 729/984/126 731/983/126 737/994/126 -f 734/989/130 737/994/130 736/996/130 -f 735/992/124 736/996/124 730/997/124 -f 730/997/124 736/996/124 739/995/124 -f 730/1002/178 742/1701/178 740/1003/178 -f 731/983/126 740/1003/126 738/1004/126 -f 741/999/171 743/1005/171 739/995/171 -f 743/1005/124 744/1015/124 745/1006/124 -f 745/1009/132 747/1702/132 748/1010/132 -f 742/1012/132 745/1703/132 749/1013/132 -f 740/998/126 749/1013/126 750/1014/126 -f 741/999/133 750/1014/133 744/1015/133 -f 746/1011/125 751/1017/125 750/1014/125 -f 744/1018/130 752/1022/130 747/1020/130 -f 751/1017/133 753/1023/133 752/1022/133 -f 746/1011/127 748/1010/127 753/1023/127 -f 391/527/132 1772/1497/132 1771/1024/132 -f 401/1026/132 1785/1032/132 1767/1027/132 -f 1765/1704/132 1769/1705/132 389/1030/132 -f 1769/1705/132 1786/1025/132 1771/1024/132 -f 389/1030/132 1769/1705/132 1771/1024/132 -f 1786/1025/132 1769/1705/132 1770/1031/132 -f 592/1033/127 590/1706/127 589/1034/127 -f 951/1036/183 952/1049/183 953/1037/183 -f 956/1039/182 957/1050/182 958/1040/182 -f 959/1042/182 960/1045/182 961/1043/182 -f 960/1045/182 963/1051/182 964/1046/182 -f 965/1047/182 951/1036/182 954/1038/182 -f 952/1049/182 955/1041/182 958/1040/182 -f 956/1039/182 959/1042/182 962/1044/182 -f 963/1051/183 965/1707/183 966/1052/183 -f 974/1053/182 967/1708/182 968/1054/182 -f 968/1054/183 969/1709/183 970/1055/183 -f 970/1055/183 971/1710/183 972/1711/183 -f 972/1711/182 973/1712/182 970/1055/182 -f 973/1712/182 974/1053/182 970/1055/182 -f 976/1056/183 977/1060/183 978/1057/183 -f 976/1056/182 979/1062/182 980/1059/182 -f 981/1061/182 982/1713/182 980/1059/182 -f 983/1063/183 984/1067/183 982/1064/183 -f 983/1063/182 985/1068/182 986/1066/182 -f 985/1068/183 987/1070/183 988/1069/183 -f 987/1070/183 989/1072/183 990/1071/183 -f 989/1072/182 975/1058/182 978/1057/182 -f 1039/1073/184 1040/1086/184 1041/1074/184 -f 1044/1076/184 1045/1087/184 1046/1077/184 -f 1047/1079/185 1048/1082/185 1049/1080/185 -f 1048/1082/184 1051/1088/184 1052/1083/184 -f 1053/1084/184 1039/1073/184 1042/1075/184 -f 1040/1086/184 1043/1078/184 1046/1077/184 -f 1047/1079/184 1050/1081/184 1045/1087/184 -f 1051/1088/185 1053/1714/185 1054/1089/185 -f 1062/1090/184 1055/1715/184 1056/1091/184 -f 1056/1091/185 1057/1716/185 1058/1092/185 -f 1058/1092/184 1059/1717/184 1062/1090/184 -f 1059/1717/185 1060/1718/185 1062/1090/185 -f 1060/1718/184 1061/1719/184 1062/1090/184 -f 1064/1093/185 1065/1097/185 1066/1094/185 -f 1064/1093/184 1067/1099/184 1068/1096/184 -f 1069/1098/184 1070/1720/184 1068/1096/184 -f 1071/1100/185 1072/1104/185 1070/1101/185 -f 1073/1103/184 1074/1106/184 1072/1104/184 -f 1073/1103/184 1075/1107/184 1076/1105/184 -f 1075/1107/185 1077/1109/185 1078/1108/185 -f 1077/1109/184 1063/1095/184 1066/1094/184 -f 1127/1110/187 1128/1123/187 1129/1111/187 -f 1132/1113/186 1133/1124/186 1134/1114/186 -f 1135/1116/187 1136/1119/187 1137/1117/187 -f 1136/1119/186 1139/1125/186 1140/1120/186 -f 1141/1121/186 1127/1110/186 1130/1112/186 -f 1128/1123/186 1131/1115/186 1134/1114/186 -f 1135/1116/186 1138/1118/186 1133/1124/186 -f 1139/1125/187 1141/1721/187 1142/1126/187 -f 1150/1127/186 1143/1722/186 1144/1128/186 -f 1144/1128/187 1145/1723/187 1146/1129/187 -f 1146/1129/186 1147/1724/186 1150/1127/186 -f 1147/1724/187 1148/1725/187 1150/1127/187 -f 1148/1725/186 1149/1726/186 1150/1127/186 -f 1152/1130/187 1153/1134/187 1154/1131/187 -f 1152/1130/186 1155/1136/186 1156/1133/186 -f 1157/1135/186 1158/1727/186 1156/1133/186 -f 1159/1137/187 1160/1141/187 1158/1138/187 -f 1161/1140/186 1162/1143/186 1160/1141/186 -f 1161/1140/187 1163/1144/187 1164/1142/187 -f 1163/1144/187 1165/1146/187 1166/1145/187 -f 1165/1146/186 1151/1132/186 1154/1131/186 -f 1215/1147/189 1216/1160/189 1217/1148/189 -f 1220/1150/189 1221/1161/189 1222/1151/189 -f 1223/1153/189 1224/1156/189 1225/1154/189 -f 1224/1156/189 1227/1162/189 1228/1157/189 -f 1229/1158/189 1215/1147/189 1218/1149/189 -f 1216/1160/189 1219/1152/189 1222/1151/189 -f 1223/1153/189 1226/1155/189 1221/1161/189 -f 1227/1162/188 1229/1728/188 1230/1163/188 -f 1238/1164/188 1231/1729/188 1232/1165/188 -f 1232/1165/188 1233/1730/188 1234/1166/188 -f 1234/1166/189 1235/1731/189 1238/1164/189 -f 1235/1731/188 1236/1732/188 1238/1164/188 -f 1236/1732/189 1237/1733/189 1238/1164/189 -f 1240/1167/188 1241/1171/188 1242/1168/188 -f 1240/1167/188 1243/1173/188 1244/1170/188 -f 1245/1172/189 1246/1734/189 1244/1170/189 -f 1247/1174/188 1248/1178/188 1246/1175/188 -f 1249/1177/189 1250/1180/189 1248/1178/189 -f 1249/1177/189 1251/1181/189 1252/1179/189 -f 1251/1181/188 1253/1183/188 1254/1182/188 -f 1253/1183/189 1239/1169/189 1242/1168/189 -f 1303/1184/191 1304/1197/191 1305/1185/191 -f 1308/1187/191 1309/1198/191 1310/1188/191 -f 1311/1190/191 1312/1193/191 1313/1191/191 -f 1312/1193/191 1315/1199/191 1316/1194/191 -f 1317/1195/191 1303/1184/191 1306/1186/191 -f 1304/1197/191 1307/1189/191 1310/1188/191 -f 1311/1190/191 1314/1192/191 1309/1198/191 -f 1315/1199/190 1317/1735/190 1318/1200/190 -f 1326/1201/190 1319/1736/190 1320/1202/190 -f 1320/1202/190 1321/1737/190 1322/1203/190 -f 1322/1203/191 1323/1738/191 1326/1201/191 -f 1323/1738/190 1324/1739/190 1326/1201/190 -f 1324/1739/191 1325/1740/191 1326/1201/191 -f 1328/1204/190 1329/1208/190 1330/1205/190 -f 1328/1204/190 1331/1210/190 1332/1207/190 -f 1333/1209/191 1334/1741/191 1332/1207/191 -f 1335/1211/190 1336/1215/190 1334/1212/190 -f 1337/1214/191 1338/1217/191 1336/1215/191 -f 1337/1214/191 1339/1218/191 1340/1216/191 -f 1339/1218/190 1341/1220/190 1342/1219/190 -f 1341/1220/191 1327/1206/191 1330/1205/191 -f 1391/1221/193 1392/1234/193 1393/1222/193 -f 1396/1224/193 1397/1235/193 1398/1225/193 -f 1399/1227/193 1400/1230/193 1401/1228/193 -f 1400/1230/193 1403/1236/193 1404/1231/193 -f 1405/1232/193 1391/1221/193 1394/1223/193 -f 1392/1234/193 1395/1226/193 1398/1225/193 -f 1396/1224/193 1399/1227/193 1402/1229/193 -f 1403/1236/192 1405/1742/192 1406/1237/192 -f 1414/1238/192 1407/1743/192 1408/1239/192 -f 1408/1239/192 1409/1744/192 1410/1240/192 -f 1410/1240/193 1411/1745/193 1412/1746/193 -f 1412/1746/192 1413/1747/192 1410/1240/192 -f 1413/1747/193 1414/1238/193 1410/1240/193 -f 1416/1241/192 1417/1245/192 1418/1242/192 -f 1416/1241/192 1419/1247/192 1420/1244/192 -f 1421/1246/193 1422/1748/193 1420/1244/193 -f 1423/1248/192 1424/1252/192 1422/1249/192 -f 1425/1251/193 1426/1254/193 1424/1252/193 -f 1425/1251/193 1427/1255/193 1428/1253/193 -f 1427/1255/192 1429/1257/192 1430/1256/192 -f 1429/1257/193 1415/1243/193 1418/1242/193 -f 1479/1258/195 1480/1271/195 1481/1259/195 -f 1484/1261/195 1485/1272/195 1486/1262/195 -f 1487/1264/195 1488/1268/195 1489/1265/195 -f 1491/1267/195 1492/1274/195 1489/1265/195 -f 1493/1269/195 1479/1258/195 1482/1260/195 -f 1480/1271/195 1483/1263/195 1486/1262/195 -f 1487/1264/195 1490/1266/195 1485/1272/195 -f 1491/1267/194 1493/1749/194 1494/1273/194 -f 1502/1275/194 1495/1750/194 1496/1276/194 -f 1496/1276/194 1497/1751/194 1498/1277/194 -f 1498/1277/195 1499/1752/195 1502/1275/195 -f 1499/1752/194 1500/1753/194 1502/1275/194 -f 1500/1753/195 1501/1754/195 1502/1275/195 -f 1504/1278/194 1505/1282/194 1506/1279/194 -f 1504/1278/194 1507/1284/194 1508/1281/194 -f 1509/1283/195 1510/1755/195 1508/1281/195 -f 1511/1285/194 1512/1289/194 1510/1286/194 -f 1513/1288/195 1514/1291/195 1512/1289/195 -f 1513/1288/195 1515/1292/195 1516/1290/195 -f 1515/1292/194 1517/1294/194 1518/1293/194 -f 1517/1294/195 1503/1280/195 1506/1279/195 -f 1567/1295/196 1568/1300/196 1569/1296/196 -f 1571/1298/274 1572/1756/274 1570/1297/274 -f 1573/1299/198 1571/1757/198 1569/1296/198 -f 1573/1301/199 1568/1300/199 1567/1295/199 -f 1574/1303/200 1567/1295/200 1570/1297/200 -f 1576/1305/201 1577/1309/201 1578/1306/201 -f 1579/1308/275 1580/1758/275 1578/1306/275 -f 1581/1310/203 1579/1759/203 1577/1309/203 -f 1581/1311/204 1576/1305/204 1575/1307/204 -f 1582/1313/205 1575/1307/205 1578/1306/205 -f 1583/1315/206 1584/1320/206 1585/1316/206 -f 1587/1318/276 1588/1760/276 1586/1317/276 -f 1589/1319/208 1587/1761/208 1585/1316/208 -f 1589/1321/209 1584/1320/209 1583/1315/209 -f 1590/1323/210 1583/1315/210 1586/1317/210 -f 1591/1325/211 1592/1330/211 1593/1326/211 -f 1595/1328/277 1596/1762/277 1594/1327/277 -f 1597/1329/213 1595/1763/213 1593/1326/213 -f 1597/1331/214 1592/1330/214 1591/1325/214 -f 1598/1333/215 1591/1325/215 1594/1327/215 -f 1599/1335/216 1600/1340/216 1601/1336/216 -f 1603/1338/278 1604/1764/278 1602/1337/278 -f 1605/1339/218 1603/1765/218 1601/1336/218 -f 1605/1341/219 1600/1340/219 1599/1335/219 -f 1606/1343/220 1599/1335/220 1602/1337/220 -f 1608/1345/221 1609/1349/221 1610/1346/221 -f 1611/1348/279 1612/1766/279 1610/1346/279 -f 1613/1350/223 1611/1767/223 1609/1349/223 -f 1613/1351/224 1608/1345/224 1607/1347/224 -f 1614/1353/225 1607/1347/225 1610/1346/225 -f 1615/1355/226 1616/1360/226 1617/1356/226 -f 1619/1358/280 1620/1768/280 1618/1357/280 -f 1621/1359/228 1619/1769/228 1617/1356/228 -f 1621/1361/229 1616/1360/229 1615/1355/229 -f 1622/1363/230 1615/1355/230 1618/1357/230 -f 1624/1365/231 1625/1369/231 1626/1366/231 -f 1627/1368/281 1628/1770/281 1626/1366/281 -f 1629/1370/233 1627/1771/233 1625/1369/233 -f 1629/1371/234 1624/1365/234 1623/1367/234 -f 1630/1373/235 1623/1367/235 1626/1366/235 -f 1631/1375/236 1632/1380/236 1633/1376/236 -f 1635/1378/282 1636/1772/282 1634/1377/282 -f 1637/1379/238 1635/1773/238 1633/1376/238 -f 1637/1381/239 1632/1380/239 1631/1375/239 -f 1638/1383/240 1631/1375/240 1634/1377/240 -f 1639/1385/241 1640/1390/241 1641/1386/241 -f 1643/1388/283 1644/1774/283 1642/1387/283 -f 1645/1389/243 1643/1775/243 1641/1386/243 -f 1645/1391/244 1640/1390/244 1639/1385/244 -f 1646/1393/245 1639/1385/245 1642/1387/245 -f 1647/1395/246 1648/1400/246 1649/1396/246 -f 1651/1398/284 1652/1776/284 1650/1397/284 -f 1653/1399/248 1651/1777/248 1649/1396/248 -f 1653/1401/249 1648/1400/249 1647/1395/249 -f 1654/1403/250 1647/1395/250 1650/1397/250 -f 1655/1405/251 1656/1410/251 1657/1406/251 -f 1659/1408/285 1660/1778/285 1658/1407/285 -f 1661/1409/253 1659/1779/253 1657/1406/253 -f 1661/1411/254 1656/1410/254 1655/1405/254 -f 1662/1413/255 1655/1405/255 1658/1407/255 -f 1663/1415/256 1664/1420/256 1665/1416/256 -f 1667/1418/286 1668/1780/286 1666/1417/286 -f 1669/1419/258 1667/1781/258 1665/1416/258 -f 1669/1421/259 1664/1420/259 1663/1415/259 -f 1670/1423/260 1663/1415/260 1666/1417/260 -f 1672/1425/261 1673/1429/261 1674/1426/261 -f 1675/1428/287 1676/1782/287 1674/1426/287 -f 1677/1430/263 1675/1783/263 1673/1429/263 -f 1677/1431/264 1672/1425/264 1671/1427/264 -f 1678/1433/265 1671/1427/265 1674/1426/265 -f 1679/1435/266 1680/1440/266 1681/1436/266 -f 1683/1438/288 1684/1784/288 1682/1437/288 -f 1685/1439/268 1683/1785/268 1681/1436/268 -f 1685/1441/269 1680/1440/269 1679/1435/269 -f 1686/1443/270 1679/1435/270 1682/1437/270 -f 1757/1447/124 1688/1786/124 1687/1787/124 -f 1687/1787/124 1691/1445/124 1757/1447/124 -f 297/423/130 1689/846/130 1687/1448/130 -f 389/862/130 298/421/130 1687/1448/130 -f 651/1450/151 1762/1788/151 1768/1451/151 -f 1691/1453/130 1693/1789/130 1694/1454/130 -f 1757/1456/133 1692/1790/133 1694/1457/133 -f 1689/1459/132 1693/1791/132 1691/1460/132 -f 1693/1464/126 1689/1792/126 1758/1462/126 -f 1689/1792/126 1690/1793/126 1758/1462/126 -f 1690/1465/126 1766/1794/126 1770/1466/126 -f 655/1468/125 1764/1795/125 1771/1469/125 -f 1760/1471/143 1772/1796/143 1763/1472/143 -f 1775/1483/151 1773/1797/151 1774/1484/151 -f 1778/1486/130 1780/1798/130 1779/1487/130 -f 1783/1492/143 1781/1799/143 1782/1493/143 -f 1785/1032/132 1770/1031/132 1767/1027/132 -f 1770/1031/132 1766/1800/132 390/1495/132 -f 390/1495/132 1761/1801/132 1767/1027/132 -f 1768/1028/132 1762/1802/132 227/1496/132 -f 239/526/132 1763/1803/132 1772/1497/132 -f 1788/1498/127 1789/1512/127 1790/1499/127 -f 1792/1501/130 1793/1510/130 1794/1502/130 -f 1796/1504/124 1797/1514/124 1798/1505/124 -f 1800/1507/126 1801/1511/126 1802/1508/126 -f 1799/1509/151 1802/1508/151 1793/1510/151 -f 1801/1511/125 1800/1507/125 1790/1499/125 -f 1787/1513/128 1798/1505/128 1797/1514/128 -f 1794/1502/143 1796/1504/143 1795/1506/143 -f 1805/1538/132 1800/1537/132 1804/1518/132 -f 1800/1537/132 1799/1516/132 1804/1518/132 -f 1803/1517/132 1799/1516/132 1807/1521/132 -f 1799/1516/132 1792/1519/132 1807/1521/132 -f 1806/1520/132 1792/1519/132 1809/1524/132 -f 1792/1519/132 1791/1522/132 1809/1524/132 -f 1808/1523/132 1791/1522/132 1811/1527/132 -f 1791/1522/132 1795/1525/132 1811/1527/132 -f 1810/1526/132 1795/1525/132 1813/1530/132 -f 1795/1525/132 1798/1528/132 1813/1530/132 -f 1812/1529/132 1798/1528/132 1815/1533/132 -f 1798/1528/132 1787/1531/132 1815/1533/132 -f 1814/1532/132 1787/1531/132 1817/1536/132 -f 1787/1531/132 1790/1534/132 1817/1536/132 -f 1816/1535/132 1790/1534/132 1818/1539/132 -f 1790/1534/132 1800/1537/132 1818/1539/132 -f 1834/1542/132 1819/1804/132 1820/1805/132 -f 1820/1805/132 1821/1806/132 1822/1807/132 -f 1822/1807/132 1823/1808/132 1824/1809/132 -f 1824/1809/132 1825/1810/132 1826/1540/132 -f 1826/1540/132 1827/1811/132 1828/1812/132 -f 1828/1812/132 1829/1813/132 1830/1541/132 -f 1830/1541/132 1831/1814/132 1832/1815/132 -f 1832/1815/132 1833/1816/132 1834/1542/132 -f 1834/1542/132 1820/1805/132 1826/1540/132 -f 1820/1805/132 1822/1807/132 1826/1540/132 -f 1822/1807/132 1824/1809/132 1826/1540/132 -f 1826/1540/132 1828/1812/132 1830/1541/132 -f 1830/1541/132 1832/1815/132 1834/1542/132 -f 1793/1545/133 1802/1548/133 1836/1543/133 -f 1802/1548/133 1835/1547/133 1836/1543/133 -f 1802/1548/133 1801/1551/133 1839/1546/133 -f 1801/1551/133 1838/1550/133 1839/1546/133 -f 1801/1551/133 1789/1554/133 1841/1549/133 -f 1789/1554/133 1840/1553/133 1841/1549/133 -f 1789/1554/133 1788/1557/133 1843/1552/133 -f 1788/1557/133 1842/1556/133 1843/1552/133 -f 1788/1557/133 1797/1560/133 1845/1555/133 -f 1797/1560/133 1844/1559/133 1845/1555/133 -f 1797/1560/133 1796/1563/133 1847/1558/133 -f 1796/1563/133 1846/1562/133 1847/1558/133 -f 1796/1563/133 1794/1566/133 1849/1561/133 -f 1794/1566/133 1848/1565/133 1849/1561/133 -f 1794/1566/133 1793/1545/133 1850/1564/133 -f 1793/1545/133 1837/1544/133 1850/1564/133 -s 1 -f 754/1817/289 756/1818/290 757/1819/291 -f 759/1820/149 761/1821/292 758/1822/293 -f 763/1823/294 765/1824/295 762/1825/296 -f 766/1826/297 764/1827/298 763/1823/294 -f 768/1828/147 757/1819/291 769/1829/299 -f 755/1830/300 761/1821/292 756/1818/290 -f 759/1820/149 765/1824/295 760/1831/301 -f 768/1832/147 767/1833/302 766/1826/297 -f 765/1824/295 770/1834/303 771/1835/304 -f 760/1831/301 773/1836/305 761/1821/292 -f 756/1818/290 775/1837/306 757/1819/291 -f 769/1838/299 777/1839/307 767/1833/302 -f 760/1831/301 771/1835/304 772/1840/308 -f 761/1821/292 774/1841/309 756/1818/290 -f 769/1829/299 775/1837/306 776/1842/144 -f 764/1827/298 777/1839/307 770/1834/303 -f 776/1842/144 778/1843/310 779/1844/133 -f 770/1834/303 780/1845/311 781/1846/312 -f 770/1834/303 782/1847/313 771/1835/304 -f 772/1840/308 784/1848/314 773/1836/305 -f 774/1841/309 778/1843/310 775/1837/306 -f 776/1849/144 780/1845/311 777/1839/307 -f 772/1840/308 782/1847/313 783/1850/132 -f 774/1841/309 784/1848/314 785/1851/315 -f 782/1847/313 787/1852/316 783/1850/132 -f 785/1851/315 788/1853/317 789/1854/318 -f 779/1844/133 790/1855/319 791/1856/320 -f 780/1845/311 793/1857/321 781/1846/312 -f 781/1846/312 786/1858/322 782/1847/313 -f 784/1848/314 787/1852/316 788/1853/317 -f 778/1843/310 789/1854/318 790/1855/319 -f 779/1859/133 792/1860/323 780/1845/311 -f 795/1861/324 310/436/325 794/1862/325 -f 797/1863/326 315/438/327 796/1864/327 -f 798/1865/328 305/432/329 302/440/328 -f 801/1866/330 306/430/331 800/1867/331 -f 795/1861/324 315/1583/327 313/442/324 -f 797/1863/326 302/440/328 301/427/326 -f 800/1867/331 305/432/329 799/1868/329 -f 794/1862/325 309/433/330 801/1866/330 -f 318/1869/329 327/451/328 330/450/329 -f 312/435/330 326/447/325 325/449/330 -f 318/1869/329 332/1589/331 319/1870/331 -f 314/437/324 326/447/325 311/434/325 -f 320/1871/330 332/455/331 334/458/330 -f 316/443/327 329/453/324 314/437/324 -f 320/1871/330 336/460/325 321/1872/325 -f 304/429/332 331/456/327 316/439/327 -f 307/441/331 325/449/330 339/463/331 -f 324/1873/326 327/451/328 317/1874/328 -f 307/441/331 337/461/329 308/431/329 -f 324/1873/326 340/462/327 328/448/326 -f 303/428/328 337/461/329 335/457/328 -f 322/1875/324 340/462/327 323/1876/327 -f 303/428/328 333/454/332 304/429/332 -f 322/1875/324 336/460/325 338/459/324 -f 803/1877/333 349/476/334 802/1878/334 -f 805/1879/325 363/482/335 804/1880/335 -f 807/1881/336 367/489/337 806/1882/337 -f 809/1883/328 371/492/338 808/1884/338 -f 802/1878/334 361/481/325 805/1879/325 -f 804/1880/335 365/486/336 807/1885/336 -f 806/1882/337 369/491/328 809/1883/328 -f 808/1884/338 350/474/333 803/1877/333 -f 351/1592/333 374/1603/334 352/475/334 -f 360/1886/336 387/519/335 353/1887/335 -f 359/1888/337 376/498/336 360/1889/336 -f 352/1598/334 378/1604/325 362/480/325 -f 358/1890/328 373/501/337 359/1891/337 -f 362/483/325 380/502/335 364/484/335 -f 357/1892/338 377/503/328 358/1893/328 -f 364/1599/335 382/505/336 366/485/336 -f 372/1602/338 375/1610/333 351/495/333 -f 353/1894/335 385/516/325 354/1895/325 -f 370/493/328 388/1609/338 372/494/338 -f 354/1896/325 383/513/334 355/1897/334 -f 368/1601/337 386/1608/328 370/490/328 -f 355/1898/334 381/509/333 356/1899/333 -f 366/1600/336 384/508/337 368/488/337 -f 356/1900/333 379/506/338 357/1901/338 -f 810/1902/339 619/1903/172 618/1904/339 -f 812/1905/124 622/1906/340 621/1907/124 -f 624/838/341 631/1908/342 625/839/341 -f 810/1902/339 617/1909/343 814/1910/343 -f 815/1911/344 621/1907/124 620/1912/344 -f 633/844/342 630/1913/345 631/1908/342 -f 816/1914/346 615/1915/347 614/1916/346 -f 627/1917/348 617/1909/343 616/1918/348 -f 815/1911/344 619/1903/172 811/1919/172 -f 632/1920/345 629/1921/126 630/1913/345 -f 816/1914/346 622/1906/340 813/1922/340 -f 626/840/349 629/1921/126 817/1923/126 -f 819/1924/342 639/1925/154 818/1926/154 -f 820/1927/124 637/1928/340 636/1929/124 -f 822/1930/350 644/1931/343 643/1932/350 -f 824/1933/339 634/1934/172 645/1935/339 -f 819/1924/342 641/1936/345 640/1937/342 -f 827/1938/346 637/1928/340 821/1939/340 -f 824/1940/339 644/1931/343 823/1941/343 -f 828/1942/344 634/1934/172 825/1943/172 -f 829/1944/126 641/1936/345 826/1945/345 -f 827/1938/346 639/1925/154 638/1946/346 -f 820/1927/124 635/1947/344 828/1942/344 -f 829/1944/126 643/1932/350 642/1948/126 -f 831/1949/351 833/1950/352 830/1951/353 -f 835/1952/354 837/1953/355 834/1954/356 -f 839/1955/357 841/1956/358 838/1957/359 -f 843/1958/360 845/1959/361 842/1960/362 -f 845/1959/361 839/1955/357 838/1957/359 -f 846/1961/363 843/1958/360 842/1960/362 -f 844/1962/364 849/1963/365 839/1955/357 -f 847/1964/366 851/1965/367 843/1958/360 -f 839/1955/357 852/1966/368 840/1967/369 -f 851/1965/367 844/1962/364 843/1958/360 -f 854/1968/357 856/1969/358 853/1970/359 -f 858/1971/360 860/1972/361 857/1973/362 -f 860/1972/361 854/1968/357 853/1970/359 -f 862/1974/366 857/1973/362 861/1975/363 -f 859/1976/364 864/1977/365 854/1968/357 -f 862/1974/366 866/1978/367 858/1971/360 -f 864/1977/365 855/1979/369 854/1968/357 -f 866/1978/367 859/1976/364 858/1971/360 -f 869/1980/357 871/1981/358 868/1982/359 -f 873/1983/370 875/1984/361 872/1985/362 -f 875/1984/361 869/1980/357 868/1982/359 -f 877/1986/366 872/1985/362 876/1987/363 -f 874/1988/364 879/1989/365 869/1980/357 -f 880/1990/371 873/1983/370 877/1986/366 -f 869/1980/357 882/1991/368 870/1992/369 -f 881/1993/367 874/1988/364 873/1983/370 -f 841/1956/358 884/1994/130 838/1957/359 -f 856/1969/358 886/1995/130 853/1970/359 -f 838/1957/359 887/1996/143 845/1959/361 -f 845/1959/361 888/1997/124 842/1960/362 -f 871/1981/358 890/1998/130 868/1982/359 -f 853/1970/359 891/1999/143 860/1972/361 -f 842/1960/362 892/2000/337 846/1961/363 -f 860/1972/361 893/2001/124 857/1973/362 -f 868/1982/359 894/2002/143 875/1984/361 -f 875/1984/361 895/2003/124 872/1985/362 -f 857/1973/362 896/2004/337 861/1975/363 -f 872/1985/362 897/2005/337 876/1987/363 -f 831/1949/351 837/1953/355 832/2006/372 -f 898/2007/373 833/1950/352 899/2008/374 -f 832/2006/372 900/2009/375 901/2010/376 -f 899/2008/374 902/2011/377 903/2012/378 -f 837/1953/355 904/2013/379 900/2009/375 -f 832/2006/372 902/2011/377 833/1950/352 -f 906/2014/354 908/2015/355 905/2016/356 -f 910/2017/351 912/2018/352 909/2019/353 -f 910/2017/351 908/2015/355 911/2020/372 -f 909/2019/353 914/2021/374 913/2022/373 -f 911/2020/372 915/2023/375 916/2024/376 -f 914/2021/374 917/2025/377 918/2026/378 -f 907/2027/380 915/2023/375 908/2015/355 -f 911/2020/372 917/2025/377 912/2018/352 -f 921/2028/354 923/2029/355 920/2030/356 -f 925/2031/351 927/2032/381 924/2033/353 -f 925/2031/351 923/2029/355 926/2034/372 -f 924/2033/353 929/2035/374 928/2036/373 -f 926/2034/372 930/2037/375 931/2038/376 -f 927/2032/381 933/2039/378 929/2035/374 -f 923/2029/355 934/2040/379 930/2037/375 -f 926/2034/372 932/2041/377 927/2032/381 -f 935/2042/130 835/1952/354 834/1954/356 -f 937/2043/130 906/2014/354 905/2016/356 -f 939/2044/151 834/1954/356 831/1949/351 -f 940/2045/126 831/1949/351 830/1951/353 -f 941/2046/130 921/2028/354 920/2030/356 -f 943/2047/151 905/2016/356 910/2017/351 -f 944/2048/325 830/1951/353 898/2007/373 -f 945/2049/126 910/2017/351 909/2019/353 -f 946/2050/151 920/2030/356 925/2031/351 -f 947/2051/126 925/2031/351 924/2033/353 -f 948/2052/325 909/2019/353 913/2022/373 -f 949/2053/325 924/2033/353 928/2036/373 -f 991/2054/382 993/2055/383 994/2056/384 -f 996/2057/145 998/2058/385 995/2059/386 -f 1000/2060/387 1002/2061/388 999/2062/389 -f 1003/2063/390 1001/2064/391 1000/2060/387 -f 1005/2065/146 994/2056/384 1006/2066/392 -f 995/2059/386 993/2055/383 992/2067/393 -f 996/2057/145 1002/2061/388 997/2068/394 -f 1005/2069/146 1004/2070/395 1003/2063/390 -f 1002/2061/388 1007/2071/396 1008/2072/397 -f 997/2068/394 1010/2073/398 998/2058/385 -f 993/2055/383 1012/2074/399 994/2056/384 -f 1006/2075/392 1014/2076/400 1004/2070/395 -f 997/2068/394 1008/2072/397 1009/2077/148 -f 998/2058/385 1011/2078/401 993/2055/383 -f 1006/2066/392 1012/2074/399 1013/2079/150 -f 1001/2064/391 1014/2076/400 1007/2071/396 -f 1013/2079/150 1015/2080/311 1016/2081/133 -f 1007/2071/396 1017/2082/310 1018/2083/315 -f 1007/2071/396 1019/2084/402 1008/2072/397 -f 1009/2077/148 1021/2085/403 1010/2073/398 -f 1011/2078/401 1015/2080/311 1012/2074/399 -f 1013/2086/150 1017/2082/310 1014/2076/400 -f 1009/2077/148 1019/2084/402 1020/2087/132 -f 1011/2078/401 1021/2085/403 1022/2088/312 -f 1019/2084/402 1024/2089/404 1020/2087/132 -f 1022/2088/312 1025/2090/405 1026/2091/406 -f 1016/2081/133 1027/2092/407 1028/2093/408 -f 1017/2082/310 1030/2094/409 1018/2083/315 -f 1018/2083/315 1023/2095/410 1019/2084/402 -f 1021/2085/403 1024/2089/404 1025/2090/405 -f 1015/2080/311 1026/2091/406 1027/2092/407 -f 1016/2096/133 1029/2097/411 1017/2082/310 -f 1032/2098/412 960/1045/328 1031/2099/328 -f 1034/2100/413 965/1047/414 1033/2101/414 -f 1035/2102/325 955/1041/415 952/1049/325 -f 1038/2103/416 956/1039/417 1037/2104/417 -f 1032/2098/412 965/1707/414 963/1051/412 -f 1034/2100/413 952/1049/325 951/1036/413 -f 1037/2104/417 955/1041/415 1036/2105/415 -f 1031/2099/328 959/1042/416 1038/2103/416 -f 968/2106/415 977/1060/325 980/1059/415 -f 962/1044/416 976/1056/328 975/1058/416 -f 968/2106/415 982/1713/417 969/2107/417 -f 964/1046/412 976/1056/328 961/1043/328 -f 970/2108/416 982/1064/417 984/1067/416 -f 966/1052/414 979/1062/412 964/1046/412 -f 970/2108/416 986/1066/328 971/2109/328 -f 954/1038/418 981/1065/414 966/1048/414 -f 957/1050/417 975/1058/416 989/1072/417 -f 974/2110/413 977/1060/325 967/2111/325 -f 957/1050/417 987/1070/415 958/1040/415 -f 974/2110/413 990/1071/414 978/1057/413 -f 953/1037/325 987/1070/415 985/1068/325 -f 972/2112/412 990/1071/414 973/2113/414 -f 953/1037/325 983/1063/418 954/1038/418 -f 972/2112/412 986/1066/328 988/1069/412 -f 1079/2114/419 1081/2115/420 1082/2116/421 -f 1084/2117/422 1086/2118/423 1083/2119/424 -f 1088/2120/425 1090/2121/426 1087/2122/427 -f 1091/2123/428 1089/2124/429 1088/2120/425 -f 1093/2125/430 1082/2116/421 1094/2126/431 -f 1083/2119/424 1081/2115/420 1080/2127/432 -f 1084/2117/422 1090/2121/426 1085/2128/433 -f 1093/2129/430 1092/2130/434 1091/2123/428 -f 1090/2121/426 1095/2131/435 1096/2132/436 -f 1085/2128/433 1098/2133/437 1086/2118/423 -f 1081/2115/420 1100/2134/438 1082/2116/421 -f 1094/2135/431 1102/2136/439 1092/2130/434 -f 1085/2128/433 1096/2132/436 1097/2137/440 -f 1086/2118/423 1099/2138/441 1081/2115/420 -f 1094/2126/431 1100/2134/438 1101/2139/442 -f 1089/2124/429 1102/2136/439 1095/2131/435 -f 1101/2139/442 1103/2140/443 1104/2141/133 -f 1095/2131/435 1105/2142/444 1106/2143/445 -f 1095/2131/435 1107/2144/446 1096/2132/436 -f 1097/2137/440 1109/2145/447 1098/2133/437 -f 1099/2138/441 1103/2140/443 1100/2134/438 -f 1101/2146/442 1105/2142/444 1102/2136/439 -f 1097/2137/440 1107/2144/446 1108/2147/132 -f 1099/2138/441 1109/2145/447 1110/2148/448 -f 1107/2144/446 1112/2149/449 1108/2147/132 -f 1110/2148/448 1113/2150/450 1114/2151/451 -f 1104/2141/133 1115/2152/452 1116/2153/453 -f 1105/2142/444 1118/2154/454 1106/2143/445 -f 1106/2143/445 1111/2155/455 1107/2144/446 -f 1109/2145/447 1112/2149/449 1113/2150/450 -f 1103/2140/443 1114/2151/451 1115/2152/452 -f 1104/2156/133 1117/2157/456 1105/2142/444 -f 1120/2158/457 1048/1082/336 1119/2159/336 -f 1122/2160/458 1053/1084/459 1121/2161/459 -f 1123/2162/333 1043/1078/460 1040/1086/333 -f 1126/2163/461 1044/1076/462 1125/2164/462 -f 1120/2158/457 1053/1714/459 1051/1088/457 -f 1122/2160/458 1040/1086/333 1039/1073/458 -f 1124/2165/460 1044/1076/462 1043/1078/460 -f 1119/2159/336 1047/1079/461 1126/2163/461 -f 1056/2166/460 1065/1097/333 1068/1096/460 -f 1050/1081/461 1064/1093/336 1063/1095/461 -f 1056/2166/460 1070/1720/462 1057/2167/462 -f 1052/1083/457 1064/1093/336 1049/1080/336 -f 1058/2168/461 1070/1101/462 1072/1104/461 -f 1054/1089/459 1067/1099/457 1052/1083/457 -f 1058/2168/461 1074/1106/336 1059/2169/336 -f 1042/1075/463 1069/1102/459 1054/1085/459 -f 1045/1087/462 1063/1095/461 1077/1109/462 -f 1062/2170/458 1065/1097/333 1055/2171/333 -f 1045/1087/462 1075/1107/460 1046/1077/460 -f 1062/2170/458 1078/1108/459 1066/1094/458 -f 1046/1077/460 1073/1103/333 1041/1074/333 -f 1060/2172/457 1078/1108/459 1061/2173/459 -f 1041/1074/333 1071/1100/463 1042/1075/463 -f 1060/2172/457 1074/1106/336 1076/1105/457 -f 1167/2174/464 1169/2175/465 1170/2176/466 -f 1172/2177/467 1174/2178/468 1171/2179/469 -f 1176/2180/470 1178/2181/471 1175/2182/472 -f 1179/2183/473 1177/2184/474 1176/2180/470 -f 1181/2185/475 1170/2176/466 1182/2186/476 -f 1168/2187/477 1174/2178/468 1169/2175/465 -f 1172/2177/467 1178/2181/471 1173/2188/478 -f 1181/2189/475 1180/2190/479 1179/2183/473 -f 1178/2181/471 1183/2191/480 1184/2192/481 -f 1173/2188/478 1186/2193/482 1174/2178/468 -f 1169/2175/465 1188/2194/483 1170/2176/466 -f 1182/2195/476 1190/2196/484 1180/2190/479 -f 1173/2188/478 1184/2192/481 1185/2197/485 -f 1174/2178/468 1187/2198/486 1169/2175/465 -f 1182/2186/476 1188/2194/483 1189/2199/487 -f 1177/2184/474 1190/2196/484 1183/2191/480 -f 1189/2199/487 1191/2200/444 1192/2201/133 -f 1183/2191/480 1193/2202/443 1194/2203/448 -f 1183/2191/480 1195/2204/488 1184/2192/481 -f 1185/2197/485 1197/2205/489 1186/2193/482 -f 1187/2198/486 1191/2200/444 1188/2194/483 -f 1189/2206/487 1193/2202/443 1190/2196/484 -f 1185/2197/485 1195/2204/488 1196/2207/132 -f 1187/2198/486 1197/2205/489 1198/2208/445 -f 1195/2204/488 1200/2209/490 1196/2207/132 -f 1198/2208/445 1201/2210/491 1202/2211/492 -f 1192/2201/133 1203/2212/493 1204/2213/494 -f 1193/2202/443 1206/2214/495 1194/2203/448 -f 1194/2203/448 1199/2215/496 1195/2204/488 -f 1197/2205/489 1200/2209/490 1201/2210/491 -f 1191/2200/444 1202/2211/492 1203/2212/493 -f 1192/2216/133 1205/2217/497 1193/2202/443 -f 1208/2218/498 1136/1119/333 1207/2219/333 -f 1210/2220/499 1141/1121/500 1209/2221/500 -f 1211/2222/336 1131/1115/501 1128/1123/336 -f 1213/2223/502 1135/1116/503 1132/1113/502 -f 1208/2218/498 1141/1721/500 1139/1125/498 -f 1210/2220/499 1128/1123/336 1127/1110/499 -f 1213/2223/502 1131/1115/501 1212/2224/501 -f 1207/2219/333 1135/1116/503 1214/2225/503 -f 1144/2226/501 1153/1134/336 1156/1133/501 -f 1138/1118/503 1152/1130/333 1151/1132/503 -f 1144/2226/501 1158/1727/502 1145/2227/502 -f 1140/1120/498 1152/1130/333 1137/1117/333 -f 1146/2228/503 1158/1138/502 1160/1141/503 -f 1142/1126/500 1155/1136/498 1140/1120/498 -f 1146/2228/503 1162/1143/333 1147/2229/333 -f 1130/1112/504 1157/1139/500 1142/1122/500 -f 1133/1124/502 1151/1132/503 1165/1146/502 -f 1150/2230/499 1153/1134/336 1143/2231/336 -f 1133/1124/502 1163/1144/505 1134/1114/501 -f 1150/2230/499 1166/1145/500 1154/1131/499 -f 1134/1114/501 1161/1140/336 1129/1111/336 -f 1148/2232/498 1166/1145/500 1149/2233/500 -f 1129/1111/336 1159/1137/504 1130/1112/504 -f 1148/2232/498 1162/1143/333 1164/1142/498 -f 1255/2234/506 1257/2235/507 1258/2236/508 -f 1260/2237/509 1262/2238/510 1259/2239/511 -f 1264/2240/512 1266/2241/513 1263/2242/514 -f 1267/2243/515 1265/2244/516 1264/2240/512 -f 1269/2245/517 1258/2236/508 1270/2246/518 -f 1256/2247/519 1262/2238/510 1257/2235/507 -f 1260/2237/509 1266/2241/513 1261/2248/520 -f 1269/2249/517 1268/2250/521 1267/2243/515 -f 1266/2241/513 1271/2251/522 1272/2252/523 -f 1261/2248/520 1274/2253/524 1262/2238/510 -f 1257/2235/507 1276/2254/525 1258/2236/508 -f 1270/2255/518 1278/2256/526 1268/2250/521 -f 1261/2248/520 1272/2252/523 1273/2257/376 -f 1262/2238/510 1275/2258/527 1257/2235/507 -f 1270/2246/518 1276/2254/525 1277/2259/528 -f 1265/2244/516 1278/2256/526 1271/2251/522 -f 1277/2259/528 1279/2260/529 1280/2261/133 -f 1271/2251/522 1281/2262/530 1282/2263/531 -f 1271/2251/522 1283/2264/532 1272/2252/523 -f 1273/2257/376 1285/2265/533 1274/2253/524 -f 1275/2258/527 1279/2260/529 1276/2254/525 -f 1277/2266/528 1281/2262/530 1278/2256/526 -f 1273/2257/376 1283/2264/532 1284/2267/132 -f 1275/2258/527 1285/2265/533 1286/2268/534 -f 1283/2264/532 1288/2269/535 1284/2267/132 -f 1286/2268/534 1289/2270/536 1290/2271/537 -f 1280/2261/133 1291/2272/538 1292/2273/539 -f 1281/2262/530 1294/2274/540 1282/2263/531 -f 1282/2263/531 1287/2275/541 1283/2264/532 -f 1285/2265/533 1288/2269/535 1289/2270/536 -f 1279/2260/529 1290/2271/537 1291/2272/538 -f 1280/2276/133 1293/2277/542 1281/2262/530 -f 1296/2278/543 1224/1156/335 1295/2279/335 -f 1298/2280/544 1229/1158/545 1297/2281/545 -f 1299/2282/338 1219/1152/546 1216/1160/338 -f 1302/2283/547 1220/1150/548 1301/2284/548 -f 1296/2278/543 1229/1728/545 1227/1162/543 -f 1298/2280/544 1216/1160/338 1215/1147/544 -f 1300/2285/546 1220/1150/548 1219/1152/546 -f 1295/2279/335 1223/1153/547 1302/2283/547 -f 1232/2286/546 1241/1171/338 1244/1170/546 -f 1226/1155/547 1240/1167/335 1239/1169/547 -f 1232/2286/546 1246/1734/548 1233/2287/548 -f 1228/1157/543 1240/1167/335 1225/1154/335 -f 1234/2288/547 1246/1175/548 1248/1178/547 -f 1230/1163/545 1243/1173/543 1228/1157/543 -f 1234/2288/547 1250/1180/335 1235/2289/335 -f 1218/1149/549 1245/1176/545 1230/1159/545 -f 1221/1161/548 1239/1169/547 1253/1183/548 -f 1238/2290/544 1241/1171/338 1231/2291/338 -f 1221/1161/548 1251/1181/546 1222/1151/546 -f 1238/2290/544 1254/1182/545 1242/1168/544 -f 1222/1151/546 1249/1177/338 1217/1148/338 -f 1236/2292/543 1254/1182/545 1237/2293/545 -f 1217/1148/338 1247/1174/549 1218/1149/549 -f 1236/2292/543 1250/1180/335 1252/1179/543 -f 1343/2294/550 1345/2295/551 1346/2296/552 -f 1348/2297/553 1350/2298/554 1347/2299/555 -f 1352/2300/556 1354/2301/557 1351/2302/558 -f 1355/2303/559 1353/2304/560 1352/2300/556 -f 1357/2305/561 1346/2296/552 1358/2306/562 -f 1344/2307/563 1350/2298/554 1345/2295/551 -f 1351/2302/558 1349/2308/564 1348/2297/553 -f 1357/2309/561 1356/2310/565 1355/2303/559 -f 1354/2301/557 1359/2311/566 1360/2312/567 -f 1349/2308/564 1362/2313/568 1350/2298/554 -f 1345/2295/551 1364/2314/569 1346/2296/552 -f 1358/2315/562 1366/2316/570 1356/2310/565 -f 1349/2308/564 1360/2312/567 1361/2317/571 -f 1350/2298/554 1363/2318/572 1345/2295/551 -f 1358/2306/562 1364/2314/569 1365/2319/573 -f 1353/2304/560 1366/2316/570 1359/2311/566 -f 1364/2314/569 1368/2320/133 1365/2319/573 -f 1359/2311/566 1369/2321/529 1370/2322/534 -f 1359/2311/566 1371/2323/533 1360/2312/567 -f 1361/2317/571 1373/2324/532 1362/2313/568 -f 1363/2318/572 1367/2325/530 1364/2314/569 -f 1365/2326/573 1369/2321/529 1366/2316/570 -f 1361/2317/571 1371/2323/533 1372/2327/132 -f 1363/2318/572 1373/2324/532 1374/2328/531 -f 1371/2323/533 1376/2329/574 1372/2327/132 -f 1374/2328/531 1377/2330/575 1378/2331/576 -f 1368/2320/133 1379/2332/577 1380/2333/578 -f 1369/2321/529 1382/2334/579 1370/2322/534 -f 1370/2322/534 1375/2335/580 1371/2323/533 -f 1373/2324/532 1376/2329/574 1377/2330/575 -f 1367/2325/530 1378/2331/576 1379/2332/577 -f 1368/2336/133 1381/2337/581 1369/2321/529 -f 1384/2338/582 1312/1193/338 1383/2339/338 -f 1386/2340/583 1317/1195/584 1385/2341/584 -f 1387/2342/335 1307/1189/585 1304/1197/335 -f 1390/2343/586 1308/1187/587 1389/2344/587 -f 1384/2338/582 1317/1735/584 1315/1199/582 -f 1386/2340/583 1304/1197/335 1303/1184/583 -f 1389/2344/587 1307/1189/585 1388/2345/585 -f 1383/2339/338 1311/1190/586 1390/2343/586 -f 1320/2346/585 1329/1208/335 1332/1207/585 -f 1314/1192/586 1328/1204/338 1327/1206/586 -f 1320/2346/585 1334/1741/587 1321/2347/587 -f 1313/1191/338 1331/1210/582 1328/1204/338 -f 1322/2348/586 1334/1212/587 1336/1215/586 -f 1318/1200/584 1331/1210/582 1316/1194/588 -f 1322/2348/586 1338/1217/338 1323/2349/338 -f 1306/1186/589 1333/1213/584 1318/1196/584 -f 1309/1198/587 1327/1206/586 1341/1220/587 -f 1326/2350/583 1329/1208/335 1319/2351/335 -f 1309/1198/587 1339/1218/590 1310/1188/585 -f 1326/2350/583 1342/1219/584 1330/1205/583 -f 1310/1188/585 1337/1214/335 1305/1185/335 -f 1324/2352/582 1342/1219/584 1325/2353/584 -f 1305/1185/335 1335/1211/589 1306/1186/589 -f 1324/2352/582 1338/1217/338 1340/1216/582 -f 1431/2354/591 1433/2355/592 1434/2356/593 -f 1436/2357/594 1438/2358/595 1435/2359/596 -f 1440/2360/597 1442/2361/598 1439/2362/599 -f 1443/2363/600 1441/2364/601 1440/2360/597 -f 1445/2365/602 1434/2356/593 1446/2366/603 -f 1435/2359/596 1433/2355/592 1432/2367/604 -f 1436/2357/594 1442/2361/598 1437/2368/605 -f 1445/2369/602 1444/2370/606 1443/2363/600 -f 1442/2361/598 1447/2371/607 1448/2372/608 -f 1437/2368/605 1450/2373/609 1438/2358/595 -f 1433/2355/592 1452/2374/610 1434/2356/593 -f 1446/2375/603 1454/2376/611 1444/2370/606 -f 1437/2368/605 1448/2372/608 1449/2377/612 -f 1438/2358/595 1451/2378/613 1433/2355/592 -f 1446/2366/603 1452/2374/610 1453/2379/614 -f 1441/2364/601 1454/2376/611 1447/2371/607 -f 1453/2379/614 1455/2380/615 1456/2381/133 -f 1447/2371/607 1457/2382/616 1458/2383/617 -f 1447/2371/607 1459/2384/618 1448/2372/608 -f 1449/2377/612 1461/2385/619 1450/2373/609 -f 1451/2378/613 1455/2380/615 1452/2374/610 -f 1453/2386/614 1457/2382/616 1454/2376/611 -f 1449/2377/612 1459/2384/618 1460/2387/132 -f 1451/2378/613 1461/2385/619 1462/2388/620 -f 1459/2384/618 1464/2389/621 1460/2387/132 -f 1462/2388/620 1465/2390/622 1466/2391/623 -f 1456/2381/133 1467/2392/624 1468/2393/625 -f 1457/2382/616 1470/2394/626 1458/2383/617 -f 1458/2383/617 1463/2395/627 1459/2384/618 -f 1461/2385/619 1464/2389/621 1465/2390/622 -f 1455/2380/615 1466/2391/623 1467/2392/624 -f 1456/2396/133 1469/2397/628 1457/2382/616 -f 1472/2398/629 1400/1230/337 1471/2399/337 -f 1474/2400/630 1405/1232/631 1473/2401/631 -f 1475/2402/334 1395/1226/632 1392/1234/334 -f 1478/2403/633 1396/1224/634 1477/2404/634 -f 1472/2398/629 1405/1742/631 1403/1236/629 -f 1474/2400/630 1392/1234/334 1391/1221/630 -f 1477/2404/634 1395/1226/632 1476/2405/632 -f 1471/2399/337 1399/1227/633 1478/2403/633 -f 1408/2406/632 1417/1245/334 1420/1244/632 -f 1402/1229/633 1416/1241/337 1415/1243/633 -f 1408/2406/632 1422/1748/634 1409/2407/634 -f 1404/1231/629 1416/1241/337 1401/1228/337 -f 1410/2408/633 1422/1249/634 1424/1252/633 -f 1406/1237/631 1419/1247/629 1404/1231/629 -f 1410/2408/633 1426/1254/337 1411/2409/337 -f 1394/1223/635 1421/1250/631 1406/1233/631 -f 1397/1235/634 1415/1243/633 1429/1257/634 -f 1414/2410/630 1417/1245/334 1407/2411/334 -f 1397/1235/634 1427/1255/632 1398/1225/632 -f 1414/2410/630 1430/1256/631 1418/1242/630 -f 1398/1225/632 1425/1251/334 1393/1222/334 -f 1412/2412/629 1430/1256/631 1413/2413/631 -f 1393/1222/334 1423/1248/635 1394/1223/635 -f 1412/2412/629 1426/1254/337 1428/1253/629 -f 1519/2414/636 1521/2415/637 1522/2416/638 -f 1524/2417/639 1526/2418/640 1523/2419/641 -f 1528/2420/642 1530/2421/643 1527/2422/644 -f 1531/2423/645 1529/2424/646 1528/2420/642 -f 1533/2425/647 1522/2416/638 1534/2426/648 -f 1520/2427/649 1526/2418/640 1521/2415/637 -f 1524/2417/639 1530/2421/643 1525/2428/650 -f 1533/2429/647 1532/2430/651 1531/2423/645 -f 1530/2421/643 1535/2431/652 1536/2432/653 -f 1525/2428/650 1538/2433/654 1526/2418/640 -f 1521/2415/637 1540/2434/655 1522/2416/638 -f 1534/2435/648 1542/2436/656 1532/2430/651 -f 1530/2421/643 1537/2437/657 1525/2428/650 -f 1526/2418/640 1539/2438/658 1521/2415/637 -f 1534/2426/648 1540/2434/655 1541/2439/659 -f 1529/2424/646 1542/2436/656 1535/2431/652 -f 1541/2439/659 1543/2440/616 1544/2441/133 -f 1535/2431/652 1545/2442/615 1546/2443/620 -f 1535/2431/652 1547/2444/619 1536/2432/653 -f 1537/2437/657 1549/2445/618 1538/2433/654 -f 1539/2438/658 1543/2440/616 1540/2434/655 -f 1541/2446/659 1545/2442/615 1542/2436/656 -f 1537/2437/657 1547/2444/619 1548/2447/132 -f 1539/2438/658 1549/2445/618 1550/2448/617 -f 1547/2444/619 1552/2449/660 1548/2447/132 -f 1550/2448/617 1553/2450/661 1554/2451/662 -f 1544/2441/133 1555/2452/663 1556/2453/664 -f 1545/2442/615 1558/2454/665 1546/2443/620 -f 1546/2443/620 1551/2455/666 1547/2444/619 -f 1549/2445/618 1552/2449/660 1553/2450/661 -f 1543/2440/616 1554/2451/662 1555/2452/663 -f 1544/2456/133 1557/2457/667 1545/2442/615 -f 1560/2458/668 1488/1268/334 1559/2459/334 -f 1562/2460/669 1493/1269/670 1561/2461/670 -f 1563/2462/337 1483/1263/671 1480/1271/337 -f 1565/2463/672 1487/1264/673 1484/1261/672 -f 1560/2458/668 1493/1749/670 1491/1267/668 -f 1562/2460/669 1480/1271/337 1479/1258/669 -f 1564/2464/671 1484/1261/672 1483/1263/671 -f 1559/2459/334 1487/1264/673 1566/2465/673 -f 1496/2466/671 1505/1282/337 1508/1281/671 -f 1490/1266/673 1504/1278/334 1503/1280/673 -f 1496/2466/671 1510/1755/672 1497/2467/672 -f 1489/1265/334 1507/1284/668 1504/1278/334 -f 1498/2468/673 1510/1286/672 1512/1289/673 -f 1494/1273/670 1507/1284/668 1492/1274/674 -f 1498/2468/673 1514/1291/334 1499/2469/334 -f 1482/1260/675 1509/1287/670 1494/1270/670 -f 1485/1272/672 1503/1280/673 1517/1294/672 -f 1502/2470/669 1505/1282/337 1495/2471/337 -f 1485/1272/672 1515/1292/676 1486/1262/671 -f 1502/2470/669 1518/1293/670 1506/1279/669 -f 1486/1262/671 1513/1288/337 1481/1259/337 -f 1500/2472/668 1518/1293/670 1501/2473/670 -f 1481/1259/337 1511/1285/675 1482/1260/675 -f 1500/2472/668 1514/1291/334 1516/1290/668 -f 1695/2474/130 1704/2475/677 1699/2476/151 -f 1697/2477/328 1701/2478/678 1696/2479/143 -f 1699/2476/151 1703/2480/679 1698/2481/334 -f 1696/2479/143 1700/2482/680 1695/2474/130 -f 1701/2478/678 1707/2483/681 1706/2484/682 -f 1704/2475/677 1708/2485/683 1703/2480/679 -f 1701/2478/678 1705/2486/169 1700/2482/680 -f 1704/2475/677 1705/2486/169 1709/2487/684 -f 1705/2486/169 1714/2488/685 1709/2487/684 -f 1706/2484/682 1712/2489/686 1711/2490/687 -f 1709/2487/684 1713/2491/688 1708/2485/683 -f 1705/2486/169 1711/2490/687 1710/2492/308 -f 1715/2493/130 1724/2494/677 1719/2495/151 -f 1717/2496/328 1721/2497/678 1716/2498/143 -f 1719/2495/151 1723/2499/679 1718/2500/334 -f 1716/2498/143 1720/2501/680 1715/2493/130 -f 1721/2497/678 1727/2502/681 1726/2503/682 -f 1724/2494/677 1728/2504/683 1723/2499/679 -f 1721/2497/678 1725/2505/169 1720/2501/680 -f 1724/2494/677 1725/2505/169 1729/2506/684 -f 1725/2505/169 1734/2507/685 1729/2506/684 -f 1726/2503/682 1732/2508/686 1731/2509/687 -f 1729/2506/684 1733/2510/688 1728/2504/683 -f 1726/2503/682 1730/2511/308 1725/2505/169 -f 1735/2512/130 1744/2513/677 1739/2514/151 -f 1737/2515/328 1741/2516/678 1736/2517/143 -f 1739/2514/151 1743/2518/679 1738/2519/334 -f 1736/2517/143 1740/2520/680 1735/2512/130 -f 1741/2516/678 1747/2521/681 1746/2522/682 -f 1744/2513/677 1748/2523/683 1743/2518/679 -f 1741/2516/678 1745/2524/169 1740/2520/680 -f 1744/2513/677 1745/2524/169 1749/2525/684 -f 1745/2524/169 1754/2526/685 1749/2525/684 -f 1746/2522/682 1752/2527/686 1751/2528/687 -f 1749/2525/684 1753/2529/688 1748/2523/683 -f 1746/2522/682 1750/2530/308 1745/2524/169 -f 1809/2531/689 1867/2532/690 1868/2533/689 -f 1809/2531/689 1869/2534/691 1806/2535/691 -f 1806/2535/691 1870/2536/692 1807/2537/692 -f 1807/2537/692 1871/2538/693 1803/2539/693 -f 1803/2539/693 1872/2540/694 1804/2541/694 -f 1805/2542/695 1872/2540/694 1873/2543/695 -f 1818/2544/696 1873/2543/695 1874/2545/696 -f 1816/2546/697 1874/2545/696 1875/2547/697 -f 1817/2548/698 1875/2547/697 1876/2549/698 -f 1817/2550/698 1877/2551/699 1814/2552/699 -f 1814/2552/699 1878/2553/700 1815/2554/700 -f 1812/2555/701 1878/2553/700 1879/2556/701 -f 1812/2555/701 1880/2557/702 1813/2558/702 -f 1813/2558/702 1881/2559/703 1810/2560/703 -f 1810/2560/703 1882/2561/704 1811/2562/704 -f 1808/2563/690 1882/2561/704 1867/2532/690 -f 1867/2532/335 1884/2564/127 1868/2533/127 -f 1868/2533/127 1885/2565/336 1869/2534/336 -f 1875/2547/338 1887/2566/130 1876/2549/130 -f 1882/2561/125 1883/2567/335 1867/2532/335 -f 1874/2545/143 1886/2568/338 1875/2547/338 -f 1881/2559/325 1888/2569/125 1882/2561/125 -f 1873/2543/328 1889/2570/143 1874/2545/143 -f 1880/2557/126 1890/2571/325 1881/2559/325 -f 1872/2540/124 1891/2572/328 1873/2543/328 -f 1879/2556/334 1892/2573/126 1880/2557/126 -f 1871/2538/337 1893/2574/124 1872/2540/124 -f 1878/2553/151 1894/2575/334 1879/2556/334 -f 1870/2536/128 1895/2576/337 1871/2538/337 -f 1877/2551/333 1896/2577/151 1878/2553/151 -f 1869/2534/336 1897/2578/128 1870/2536/128 -f 1876/2579/130 1898/2580/333 1877/2551/333 -f 1889/2570/705 1829/2581/706 1828/2582/705 -f 1890/2571/707 1822/2583/708 1821/2584/707 -f 1893/2574/709 1829/2585/706 1891/2572/706 -f 1892/2573/708 1823/2586/710 1822/2587/708 -f 1893/2574/709 1831/2588/711 1830/2589/709 -f 1896/2577/712 1823/2590/710 1894/2575/710 -f 1897/2578/713 1831/2591/711 1895/2576/711 -f 1896/2577/712 1825/2592/714 1824/2593/712 -f 1885/2565/715 1832/2594/713 1897/2578/713 -f 1887/2595/716 1825/2596/714 1898/2580/714 -f 1884/2564/717 1819/2597/718 1834/2598/717 -f 1884/2564/717 1833/2599/715 1885/2565/715 -f 1887/2566/716 1827/2600/719 1826/2601/716 -f 1888/2569/720 1819/2602/718 1883/2567/718 -f 1889/2570/705 1827/2603/719 1886/2568/719 -f 1888/2569/720 1821/2604/707 1820/2605/720 -f 1842/2606/336 1860/2607/127 1843/2608/127 -f 1850/2609/130 1851/2610/338 1848/2611/338 -f 1837/2612/333 1852/2613/130 1850/2609/130 -f 1843/2614/127 1859/2615/335 1840/2616/335 -f 1848/2611/338 1866/2617/143 1849/2618/143 -f 1840/2616/335 1858/2619/125 1841/2620/125 -f 1849/2618/143 1865/2621/328 1846/2622/328 -f 1841/2620/125 1857/2623/325 1838/2624/325 -f 1846/2622/328 1864/2625/124 1847/2626/124 -f 1838/2624/325 1856/2627/126 1839/2628/126 -f 1847/2626/124 1863/2629/337 1844/2630/337 -f 1839/2628/126 1855/2631/334 1835/2632/334 -f 1844/2630/337 1862/2633/128 1845/2634/128 -f 1835/2632/334 1854/2635/151 1836/2636/151 -f 1845/2634/128 1861/2637/336 1842/2606/336 -f 1836/2636/151 1853/2638/333 1837/2612/333 -f 754/1817/289 755/1830/300 756/1818/290 -f 759/1820/149 760/1831/301 761/1821/292 -f 763/1823/294 764/1827/298 765/1824/295 -f 766/1826/297 767/1833/302 764/1827/298 -f 768/1828/147 754/1817/289 757/1819/291 -f 755/1830/300 758/1822/293 761/1821/292 -f 759/1820/149 762/1825/296 765/1824/295 -f 768/1832/147 769/1838/299 767/1833/302 -f 765/1824/295 764/1827/298 770/1834/303 -f 760/1831/301 772/1840/308 773/1836/305 -f 756/1818/290 774/1841/309 775/1837/306 -f 769/1838/299 776/1849/144 777/1839/307 -f 760/1831/301 765/1824/295 771/1835/304 -f 761/1821/292 773/1836/305 774/1841/309 -f 769/1829/299 757/1819/291 775/1837/306 -f 764/1827/298 767/1833/302 777/1839/307 -f 776/1842/144 775/1837/306 778/1843/310 -f 770/1834/303 777/1839/307 780/1845/311 -f 770/1834/303 781/1846/312 782/1847/313 -f 772/1840/308 783/1850/132 784/1848/314 -f 774/1841/309 785/1851/315 778/1843/310 -f 776/1849/144 779/1859/133 780/1845/311 -f 772/1840/308 771/1835/304 782/1847/313 -f 774/1841/309 773/1836/305 784/1848/314 -f 782/1847/313 786/1858/322 787/1852/316 -f 785/1851/315 784/1848/314 788/1853/317 -f 779/1844/133 778/1843/310 790/1855/319 -f 780/1845/311 792/1860/323 793/1857/321 -f 781/1846/312 793/1857/321 786/1858/322 -f 784/1848/314 783/1850/132 787/1852/316 -f 778/1843/310 785/1851/315 789/1854/318 -f 779/1859/133 791/2639/320 792/1860/323 -f 795/1861/324 313/442/324 310/436/325 -f 797/1863/326 301/427/326 315/438/327 -f 798/1865/328 799/1868/329 305/432/329 -f 801/1866/330 309/433/330 306/430/331 -f 795/1861/324 796/2640/327 315/1583/327 -f 797/1863/326 798/1865/328 302/440/328 -f 800/1867/331 306/430/331 305/432/329 -f 794/1862/325 310/436/325 309/433/330 -f 318/1869/329 317/1874/328 327/451/328 -f 312/435/330 311/434/325 326/447/325 -f 318/1869/329 330/450/329 332/1589/331 -f 314/437/324 329/453/324 326/447/325 -f 320/1871/330 319/2641/331 332/455/331 -f 316/443/327 331/452/327 329/453/324 -f 320/1871/330 334/458/330 336/460/325 -f 304/429/332 333/454/332 331/456/327 -f 307/441/331 312/435/330 325/449/330 -f 324/1873/326 328/448/326 327/451/328 -f 307/441/331 339/463/331 337/461/329 -f 324/1873/326 323/1876/327 340/462/327 -f 303/428/328 308/431/329 337/461/329 -f 322/1875/324 338/459/324 340/462/327 -f 303/428/328 335/457/328 333/454/332 -f 322/1875/324 321/1872/325 336/460/325 -f 803/1877/333 350/474/333 349/476/334 -f 805/1879/325 361/481/325 363/482/335 -f 807/1881/336 365/487/336 367/489/337 -f 809/1883/328 369/491/328 371/492/338 -f 802/1878/334 349/476/334 361/481/325 -f 804/1880/335 363/482/335 365/486/336 -f 806/1882/337 367/489/337 369/491/328 -f 808/1884/338 371/492/338 350/474/333 -f 351/1592/333 375/497/333 374/1603/334 -f 360/1886/336 376/517/336 387/519/335 -f 359/1888/337 373/496/337 376/498/336 -f 352/1598/334 374/500/334 378/1604/325 -f 358/1890/328 377/499/328 373/501/337 -f 362/483/325 378/1605/325 380/502/335 -f 357/1892/338 379/504/338 377/503/328 -f 364/1599/335 380/1606/335 382/505/336 -f 372/1602/338 388/518/338 375/1610/333 -f 353/1894/335 387/514/335 385/516/325 -f 370/493/328 386/515/328 388/1609/338 -f 354/1896/325 385/511/325 383/513/334 -f 368/1601/337 384/512/337 386/1608/328 -f 355/1898/334 383/510/334 381/509/333 -f 366/1600/336 382/1607/336 384/508/337 -f 356/1900/333 381/507/333 379/506/338 -f 810/1902/339 811/1919/172 619/1903/172 -f 812/1905/124 813/1922/340 622/1906/340 -f 624/838/341 633/844/342 631/1908/342 -f 810/1902/339 618/1904/339 617/1909/343 -f 815/1911/344 812/1905/124 621/1907/124 -f 633/844/342 632/1920/345 630/1913/345 -f 816/1914/346 623/2642/347 615/1915/347 -f 627/1917/348 814/1910/343 617/1909/343 -f 815/1911/344 620/1912/344 619/1903/172 -f 632/1920/345 817/1923/126 629/1921/126 -f 816/1914/346 614/1916/346 622/1906/340 -f 626/840/349 628/842/349 629/1921/126 -f 819/1924/342 640/1937/342 639/1925/154 -f 820/1927/124 821/1939/340 637/1928/340 -f 822/1930/350 823/1941/343 644/1931/343 -f 824/1933/339 825/1943/172 634/1934/172 -f 819/1924/342 826/1945/345 641/1936/345 -f 827/1938/346 638/1946/346 637/1928/340 -f 824/1940/339 645/2643/339 644/1931/343 -f 828/1942/344 635/1947/344 634/1934/172 -f 829/1944/126 642/1948/126 641/1936/345 -f 827/1938/346 818/1926/154 639/1925/154 -f 820/1927/124 636/1929/124 635/1947/344 -f 829/1944/126 822/1930/350 643/1932/350 -f 831/1949/351 832/2006/372 833/1950/352 -f 835/1952/354 836/2644/380 837/1953/355 -f 839/1955/357 840/1967/369 841/1956/358 -f 843/1958/360 844/1962/364 845/1959/361 -f 845/1959/361 844/1962/364 839/1955/357 -f 846/1961/363 847/1964/366 843/1958/360 -f 844/1962/364 848/2645/657 849/1963/365 -f 847/1964/366 850/2646/371 851/1965/367 -f 839/1955/357 849/1963/365 852/1966/368 -f 851/1965/367 848/2645/657 844/1962/364 -f 854/1968/357 855/1979/369 856/1969/358 -f 858/1971/360 859/1976/364 860/1972/361 -f 860/1972/361 859/1976/364 854/1968/357 -f 862/1974/366 858/1971/360 857/1973/362 -f 859/1976/364 863/2647/657 864/1977/365 -f 862/1974/366 865/2648/371 866/1978/367 -f 864/1977/365 867/2649/368 855/1979/369 -f 866/1978/367 863/2647/657 859/1976/364 -f 869/1980/357 870/1992/369 871/1981/358 -f 873/1983/370 874/1988/364 875/1984/361 -f 875/1984/361 874/1988/364 869/1980/357 -f 877/1986/366 873/1983/370 872/1985/362 -f 874/1988/364 878/2650/657 879/1989/365 -f 880/1990/371 881/1993/367 873/1983/370 -f 869/1980/357 879/1989/365 882/1991/368 -f 881/1993/367 878/2650/657 874/1988/364 -f 841/1956/358 883/2651/333 884/1994/130 -f 856/1969/358 885/2652/333 886/1995/130 -f 838/1957/359 884/1994/130 887/1996/143 -f 845/1959/361 887/1996/143 888/1997/124 -f 871/1981/358 889/2653/333 890/1998/130 -f 853/1970/359 886/1995/130 891/1999/143 -f 842/1960/362 888/1997/124 892/2000/337 -f 860/1972/361 891/1999/143 893/2001/124 -f 868/1982/359 890/1998/130 894/2002/143 -f 875/1984/361 894/2002/143 895/2003/124 -f 857/1973/362 893/2001/124 896/2004/337 -f 872/1985/362 895/2003/124 897/2005/337 -f 831/1949/351 834/1954/356 837/1953/355 -f 898/2007/373 830/1951/353 833/1950/352 -f 832/2006/372 837/1953/355 900/2009/375 -f 899/2008/374 833/1950/352 902/2011/377 -f 837/1953/355 836/2644/380 904/2013/379 -f 832/2006/372 901/2010/376 902/2011/377 -f 906/2014/354 907/2027/380 908/2015/355 -f 910/2017/351 911/2020/372 912/2018/352 -f 910/2017/351 905/2016/356 908/2015/355 -f 909/2019/353 912/2018/352 914/2021/374 -f 911/2020/372 908/2015/355 915/2023/375 -f 914/2021/374 912/2018/352 917/2025/377 -f 907/2027/380 919/2654/379 915/2023/375 -f 911/2020/372 916/2024/376 917/2025/377 -f 921/2028/354 922/2655/380 923/2029/355 -f 925/2031/351 926/2034/372 927/2032/381 -f 925/2031/351 920/2030/356 923/2029/355 -f 924/2033/353 927/2032/381 929/2035/374 -f 926/2034/372 923/2029/355 930/2037/375 -f 927/2032/381 932/2041/377 933/2039/378 -f 923/2029/355 922/2655/380 934/2040/379 -f 926/2034/372 931/2038/376 932/2041/377 -f 935/2042/130 936/2656/338 835/1952/354 -f 937/2043/130 938/2657/338 906/2014/354 -f 939/2044/151 935/2042/130 834/1954/356 -f 940/2045/126 939/2044/151 831/1949/351 -f 941/2046/130 942/2658/338 921/2028/354 -f 943/2047/151 937/2043/130 905/2016/356 -f 944/2048/325 940/2045/126 830/1951/353 -f 945/2049/126 943/2047/151 910/2017/351 -f 946/2050/151 941/2046/130 920/2030/356 -f 947/2051/126 946/2050/151 925/2031/351 -f 948/2052/325 945/2049/126 909/2019/353 -f 949/2053/325 947/2051/126 924/2033/353 -f 991/2054/382 992/2067/393 993/2055/383 -f 996/2057/145 997/2068/394 998/2058/385 -f 1000/2060/387 1001/2064/391 1002/2061/388 -f 1003/2063/390 1004/2070/395 1001/2064/391 -f 1005/2065/146 991/2054/382 994/2056/384 -f 995/2059/386 998/2058/385 993/2055/383 -f 996/2057/145 999/2062/389 1002/2061/388 -f 1005/2069/146 1006/2075/392 1004/2070/395 -f 1002/2061/388 1001/2064/391 1007/2071/396 -f 997/2068/394 1009/2077/148 1010/2073/398 -f 993/2055/383 1011/2078/401 1012/2074/399 -f 1006/2075/392 1013/2086/150 1014/2076/400 -f 997/2068/394 1002/2061/388 1008/2072/397 -f 998/2058/385 1010/2073/398 1011/2078/401 -f 1006/2066/392 994/2056/384 1012/2074/399 -f 1001/2064/391 1004/2070/395 1014/2076/400 -f 1013/2079/150 1012/2074/399 1015/2080/311 -f 1007/2071/396 1014/2076/400 1017/2082/310 -f 1007/2071/396 1018/2083/315 1019/2084/402 -f 1009/2077/148 1020/2087/132 1021/2085/403 -f 1011/2078/401 1022/2088/312 1015/2080/311 -f 1013/2086/150 1016/2096/133 1017/2082/310 -f 1009/2077/148 1008/2072/397 1019/2084/402 -f 1011/2078/401 1010/2073/398 1021/2085/403 -f 1019/2084/402 1023/2095/410 1024/2089/404 -f 1022/2088/312 1021/2085/403 1025/2090/405 -f 1016/2081/133 1015/2080/311 1027/2092/407 -f 1017/2082/310 1029/2097/411 1030/2094/409 -f 1018/2083/315 1030/2094/409 1023/2095/410 -f 1021/2085/403 1020/2087/132 1024/2089/404 -f 1015/2080/311 1022/2088/312 1026/2091/406 -f 1016/2096/133 1028/2659/408 1029/2097/411 -f 1032/2098/412 963/1051/412 960/1045/328 -f 1034/2100/413 951/1036/413 965/1047/414 -f 1035/2102/325 1036/2105/415 955/1041/415 -f 1038/2103/416 959/1042/416 956/1039/417 -f 1032/2098/412 1033/2660/414 965/1707/414 -f 1034/2100/413 1035/2102/325 952/1049/325 -f 1037/2104/417 956/1039/417 955/1041/415 -f 1031/2099/328 960/1045/328 959/1042/416 -f 968/2106/415 967/2111/325 977/1060/325 -f 962/1044/416 961/1043/328 976/1056/328 -f 968/2106/415 980/1059/415 982/1713/417 -f 964/1046/412 979/1062/412 976/1056/328 -f 970/2108/416 969/2661/417 982/1064/417 -f 966/1052/414 981/1061/414 979/1062/412 -f 970/2108/416 984/1067/416 986/1066/328 -f 954/1038/418 983/1063/418 981/1065/414 -f 957/1050/417 962/1044/416 975/1058/416 -f 974/2110/413 978/1057/413 977/1060/325 -f 957/1050/417 989/1072/417 987/1070/415 -f 974/2110/413 973/2113/414 990/1071/414 -f 953/1037/325 958/1040/415 987/1070/415 -f 972/2112/412 988/1069/412 990/1071/414 -f 953/1037/325 985/1068/325 983/1063/418 -f 972/2112/412 971/2109/328 986/1066/328 -f 1079/2114/419 1080/2127/432 1081/2115/420 -f 1084/2117/422 1085/2128/433 1086/2118/423 -f 1088/2120/425 1089/2124/429 1090/2121/426 -f 1091/2123/428 1092/2130/434 1089/2124/429 -f 1093/2125/430 1079/2114/419 1082/2116/421 -f 1083/2119/424 1086/2118/423 1081/2115/420 -f 1084/2117/422 1087/2122/427 1090/2121/426 -f 1093/2129/430 1094/2135/431 1092/2130/434 -f 1090/2121/426 1089/2124/429 1095/2131/435 -f 1085/2128/433 1097/2137/440 1098/2133/437 -f 1081/2115/420 1099/2138/441 1100/2134/438 -f 1094/2135/431 1101/2146/442 1102/2136/439 -f 1085/2128/433 1090/2121/426 1096/2132/436 -f 1086/2118/423 1098/2133/437 1099/2138/441 -f 1094/2126/431 1082/2116/421 1100/2134/438 -f 1089/2124/429 1092/2130/434 1102/2136/439 -f 1101/2139/442 1100/2134/438 1103/2140/443 -f 1095/2131/435 1102/2136/439 1105/2142/444 -f 1095/2131/435 1106/2143/445 1107/2144/446 -f 1097/2137/440 1108/2147/132 1109/2145/447 -f 1099/2138/441 1110/2148/448 1103/2140/443 -f 1101/2146/442 1104/2156/133 1105/2142/444 -f 1097/2137/440 1096/2132/436 1107/2144/446 -f 1099/2138/441 1098/2133/437 1109/2145/447 -f 1107/2144/446 1111/2155/455 1112/2149/449 -f 1110/2148/448 1109/2145/447 1113/2150/450 -f 1104/2141/133 1103/2140/443 1115/2152/452 -f 1105/2142/444 1117/2157/456 1118/2154/454 -f 1106/2143/445 1118/2154/454 1111/2155/455 -f 1109/2145/447 1108/2147/132 1112/2149/449 -f 1103/2140/443 1110/2148/448 1114/2151/451 -f 1104/2156/133 1116/2662/453 1117/2157/456 -f 1120/2158/457 1051/1088/457 1048/1082/336 -f 1122/2160/458 1039/1073/458 1053/1084/459 -f 1123/2162/333 1124/2165/460 1043/1078/460 -f 1126/2163/461 1047/1079/461 1044/1076/462 -f 1120/2158/457 1121/2663/459 1053/1714/459 -f 1122/2160/458 1123/2162/333 1040/1086/333 -f 1124/2165/460 1125/2164/462 1044/1076/462 -f 1119/2159/336 1048/1082/336 1047/1079/461 -f 1056/2166/460 1055/2171/333 1065/1097/333 -f 1050/1081/461 1049/1080/336 1064/1093/336 -f 1056/2166/460 1068/1096/460 1070/1720/462 -f 1052/1083/457 1067/1099/457 1064/1093/336 -f 1058/2168/461 1057/2664/462 1070/1101/462 -f 1054/1089/459 1069/1098/459 1067/1099/457 -f 1058/2168/461 1072/1104/461 1074/1106/336 -f 1042/1075/463 1071/1100/463 1069/1102/459 -f 1045/1087/462 1050/1081/461 1063/1095/461 -f 1062/2170/458 1066/1094/458 1065/1097/333 -f 1045/1087/462 1077/1109/462 1075/1107/460 -f 1062/2170/458 1061/2173/459 1078/1108/459 -f 1046/1077/460 1075/1107/460 1073/1103/333 -f 1060/2172/457 1076/1105/457 1078/1108/459 -f 1041/1074/333 1073/1103/333 1071/1100/463 -f 1060/2172/457 1059/2169/336 1074/1106/336 -f 1167/2174/464 1168/2187/477 1169/2175/465 -f 1172/2177/467 1173/2188/478 1174/2178/468 -f 1176/2180/470 1177/2184/474 1178/2181/471 -f 1179/2183/473 1180/2190/479 1177/2184/474 -f 1181/2185/475 1167/2174/464 1170/2176/466 -f 1168/2187/477 1171/2179/469 1174/2178/468 -f 1172/2177/467 1175/2182/472 1178/2181/471 -f 1181/2189/475 1182/2195/476 1180/2190/479 -f 1178/2181/471 1177/2184/474 1183/2191/480 -f 1173/2188/478 1185/2197/485 1186/2193/482 -f 1169/2175/465 1187/2198/486 1188/2194/483 -f 1182/2195/476 1189/2206/487 1190/2196/484 -f 1173/2188/478 1178/2181/471 1184/2192/481 -f 1174/2178/468 1186/2193/482 1187/2198/486 -f 1182/2186/476 1170/2176/466 1188/2194/483 -f 1177/2184/474 1180/2190/479 1190/2196/484 -f 1189/2199/487 1188/2194/483 1191/2200/444 -f 1183/2191/480 1190/2196/484 1193/2202/443 -f 1183/2191/480 1194/2203/448 1195/2204/488 -f 1185/2197/485 1196/2207/132 1197/2205/489 -f 1187/2198/486 1198/2208/445 1191/2200/444 -f 1189/2206/487 1192/2216/133 1193/2202/443 -f 1185/2197/485 1184/2192/481 1195/2204/488 -f 1187/2198/486 1186/2193/482 1197/2205/489 -f 1195/2204/488 1199/2215/496 1200/2209/490 -f 1198/2208/445 1197/2205/489 1201/2210/491 -f 1192/2201/133 1191/2200/444 1203/2212/493 -f 1193/2202/443 1205/2217/497 1206/2214/495 -f 1194/2203/448 1206/2214/495 1199/2215/496 -f 1197/2205/489 1196/2207/132 1200/2209/490 -f 1191/2200/444 1198/2208/445 1202/2211/492 -f 1192/2216/133 1204/2665/494 1205/2217/497 -f 1208/2218/498 1139/1125/498 1136/1119/333 -f 1210/2220/499 1127/1110/499 1141/1121/500 -f 1211/2222/336 1212/2224/501 1131/1115/501 -f 1213/2223/502 1214/2225/503 1135/1116/503 -f 1208/2218/498 1209/2666/500 1141/1721/500 -f 1210/2220/499 1211/2222/336 1128/1123/336 -f 1213/2223/502 1132/1113/502 1131/1115/501 -f 1207/2219/333 1136/1119/333 1135/1116/503 -f 1144/2226/501 1143/2231/336 1153/1134/336 -f 1138/1118/503 1137/1117/333 1152/1130/333 -f 1144/2226/501 1156/1133/501 1158/1727/502 -f 1140/1120/498 1155/1136/498 1152/1130/333 -f 1146/2228/503 1145/2667/502 1158/1138/502 -f 1142/1126/500 1157/1135/500 1155/1136/498 -f 1146/2228/503 1160/1141/503 1162/1143/333 -f 1130/1112/504 1159/1137/504 1157/1139/500 -f 1133/1124/502 1138/1118/503 1151/1132/503 -f 1150/2230/499 1154/1131/499 1153/1134/336 -f 1133/1124/502 1165/1146/502 1163/1144/505 -f 1150/2230/499 1149/2233/500 1166/1145/500 -f 1134/1114/501 1163/1144/505 1161/1140/336 -f 1148/2232/498 1164/1142/498 1166/1145/500 -f 1129/1111/336 1161/1140/336 1159/1137/504 -f 1148/2232/498 1147/2229/333 1162/1143/333 -f 1255/2234/506 1256/2247/519 1257/2235/507 -f 1260/2237/509 1261/2248/520 1262/2238/510 -f 1264/2240/512 1265/2244/516 1266/2241/513 -f 1267/2243/515 1268/2250/521 1265/2244/516 -f 1269/2245/517 1255/2234/506 1258/2236/508 -f 1256/2247/519 1259/2239/511 1262/2238/510 -f 1260/2237/509 1263/2242/514 1266/2241/513 -f 1269/2249/517 1270/2255/518 1268/2250/521 -f 1266/2241/513 1265/2244/516 1271/2251/522 -f 1261/2248/520 1273/2257/376 1274/2253/524 -f 1257/2235/507 1275/2258/527 1276/2254/525 -f 1270/2255/518 1277/2266/528 1278/2256/526 -f 1261/2248/520 1266/2241/513 1272/2252/523 -f 1262/2238/510 1274/2253/524 1275/2258/527 -f 1270/2246/518 1258/2236/508 1276/2254/525 -f 1265/2244/516 1268/2250/521 1278/2256/526 -f 1277/2259/528 1276/2254/525 1279/2260/529 -f 1271/2251/522 1278/2256/526 1281/2262/530 -f 1271/2251/522 1282/2263/531 1283/2264/532 -f 1273/2257/376 1284/2267/132 1285/2265/533 -f 1275/2258/527 1286/2268/534 1279/2260/529 -f 1277/2266/528 1280/2276/133 1281/2262/530 -f 1273/2257/376 1272/2252/523 1283/2264/532 -f 1275/2258/527 1274/2253/524 1285/2265/533 -f 1283/2264/532 1287/2275/541 1288/2269/535 -f 1286/2268/534 1285/2265/533 1289/2270/536 -f 1280/2261/133 1279/2260/529 1291/2272/538 -f 1281/2262/530 1293/2277/542 1294/2274/540 -f 1282/2263/531 1294/2274/540 1287/2275/541 -f 1285/2265/533 1284/2267/132 1288/2269/535 -f 1279/2260/529 1286/2268/534 1290/2271/537 -f 1280/2276/133 1292/2668/539 1293/2277/542 -f 1296/2278/543 1227/1162/543 1224/1156/335 -f 1298/2280/544 1215/1147/544 1229/1158/545 -f 1299/2282/338 1300/2285/546 1219/1152/546 -f 1302/2283/547 1223/1153/547 1220/1150/548 -f 1296/2278/543 1297/2669/545 1229/1728/545 -f 1298/2280/544 1299/2282/338 1216/1160/338 -f 1300/2285/546 1301/2284/548 1220/1150/548 -f 1295/2279/335 1224/1156/335 1223/1153/547 -f 1232/2286/546 1231/2291/338 1241/1171/338 -f 1226/1155/547 1225/1154/335 1240/1167/335 -f 1232/2286/546 1244/1170/546 1246/1734/548 -f 1228/1157/543 1243/1173/543 1240/1167/335 -f 1234/2288/547 1233/2670/548 1246/1175/548 -f 1230/1163/545 1245/1172/545 1243/1173/543 -f 1234/2288/547 1248/1178/547 1250/1180/335 -f 1218/1149/549 1247/1174/549 1245/1176/545 -f 1221/1161/548 1226/1155/547 1239/1169/547 -f 1238/2290/544 1242/1168/544 1241/1171/338 -f 1221/1161/548 1253/1183/548 1251/1181/546 -f 1238/2290/544 1237/2293/545 1254/1182/545 -f 1222/1151/546 1251/1181/546 1249/1177/338 -f 1236/2292/543 1252/1179/543 1254/1182/545 -f 1217/1148/338 1249/1177/338 1247/1174/549 -f 1236/2292/543 1235/2289/335 1250/1180/335 -f 1343/2294/550 1344/2307/563 1345/2295/551 -f 1348/2297/553 1349/2308/564 1350/2298/554 -f 1352/2300/556 1353/2304/560 1354/2301/557 -f 1355/2303/559 1356/2310/565 1353/2304/560 -f 1357/2305/561 1343/2294/550 1346/2296/552 -f 1344/2307/563 1347/2299/555 1350/2298/554 -f 1351/2302/558 1354/2301/557 1349/2308/564 -f 1357/2309/561 1358/2315/562 1356/2310/565 -f 1354/2301/557 1353/2304/560 1359/2311/566 -f 1349/2308/564 1361/2317/571 1362/2313/568 -f 1345/2295/551 1363/2318/572 1364/2314/569 -f 1358/2315/562 1365/2326/573 1366/2316/570 -f 1349/2308/564 1354/2301/557 1360/2312/567 -f 1350/2298/554 1362/2313/568 1363/2318/572 -f 1358/2306/562 1346/2296/552 1364/2314/569 -f 1353/2304/560 1356/2310/565 1366/2316/570 -f 1364/2314/569 1367/2325/530 1368/2320/133 -f 1359/2311/566 1366/2316/570 1369/2321/529 -f 1359/2311/566 1370/2322/534 1371/2323/533 -f 1361/2317/571 1372/2327/132 1373/2324/532 -f 1363/2318/572 1374/2328/531 1367/2325/530 -f 1365/2326/573 1368/2336/133 1369/2321/529 -f 1361/2317/571 1360/2312/567 1371/2323/533 -f 1363/2318/572 1362/2313/568 1373/2324/532 -f 1371/2323/533 1375/2335/580 1376/2329/574 -f 1374/2328/531 1373/2324/532 1377/2330/575 -f 1368/2320/133 1367/2325/530 1379/2332/577 -f 1369/2321/529 1381/2337/581 1382/2334/579 -f 1370/2322/534 1382/2334/579 1375/2335/580 -f 1373/2324/532 1372/2327/132 1376/2329/574 -f 1367/2325/530 1374/2328/531 1378/2331/576 -f 1368/2336/133 1380/2671/578 1381/2337/581 -f 1384/2338/582 1315/1199/582 1312/1193/338 -f 1386/2340/583 1303/1184/583 1317/1195/584 -f 1387/2342/335 1388/2345/585 1307/1189/585 -f 1390/2343/586 1311/1190/586 1308/1187/587 -f 1384/2338/582 1385/2672/584 1317/1735/584 -f 1386/2340/583 1387/2342/335 1304/1197/335 -f 1389/2344/587 1308/1187/587 1307/1189/585 -f 1383/2339/338 1312/1193/338 1311/1190/586 -f 1320/2346/585 1319/2351/335 1329/1208/335 -f 1314/1192/586 1313/1191/338 1328/1204/338 -f 1320/2346/585 1332/1207/585 1334/1741/587 -f 1313/1191/338 1316/1194/588 1331/1210/582 -f 1322/2348/586 1321/2673/587 1334/1212/587 -f 1318/1200/584 1333/1209/584 1331/1210/582 -f 1322/2348/586 1336/1215/586 1338/1217/338 -f 1306/1186/589 1335/1211/589 1333/1213/584 -f 1309/1198/587 1314/1192/586 1327/1206/586 -f 1326/2350/583 1330/1205/583 1329/1208/335 -f 1309/1198/587 1341/1220/587 1339/1218/590 -f 1326/2350/583 1325/2353/584 1342/1219/584 -f 1310/1188/585 1339/1218/590 1337/1214/335 -f 1324/2352/582 1340/1216/582 1342/1219/584 -f 1305/1185/335 1337/1214/335 1335/1211/589 -f 1324/2352/582 1323/2349/338 1338/1217/338 -f 1431/2354/591 1432/2367/604 1433/2355/592 -f 1436/2357/594 1437/2368/605 1438/2358/595 -f 1440/2360/597 1441/2364/601 1442/2361/598 -f 1443/2363/600 1444/2370/606 1441/2364/601 -f 1445/2365/602 1431/2354/591 1434/2356/593 -f 1435/2359/596 1438/2358/595 1433/2355/592 -f 1436/2357/594 1439/2362/599 1442/2361/598 -f 1445/2369/602 1446/2375/603 1444/2370/606 -f 1442/2361/598 1441/2364/601 1447/2371/607 -f 1437/2368/605 1449/2377/612 1450/2373/609 -f 1433/2355/592 1451/2378/613 1452/2374/610 -f 1446/2375/603 1453/2386/614 1454/2376/611 -f 1437/2368/605 1442/2361/598 1448/2372/608 -f 1438/2358/595 1450/2373/609 1451/2378/613 -f 1446/2366/603 1434/2356/593 1452/2374/610 -f 1441/2364/601 1444/2370/606 1454/2376/611 -f 1453/2379/614 1452/2374/610 1455/2380/615 -f 1447/2371/607 1454/2376/611 1457/2382/616 -f 1447/2371/607 1458/2383/617 1459/2384/618 -f 1449/2377/612 1460/2387/132 1461/2385/619 -f 1451/2378/613 1462/2388/620 1455/2380/615 -f 1453/2386/614 1456/2396/133 1457/2382/616 -f 1449/2377/612 1448/2372/608 1459/2384/618 -f 1451/2378/613 1450/2373/609 1461/2385/619 -f 1459/2384/618 1463/2395/627 1464/2389/621 -f 1462/2388/620 1461/2385/619 1465/2390/622 -f 1456/2381/133 1455/2380/615 1467/2392/624 -f 1457/2382/616 1469/2397/628 1470/2394/626 -f 1458/2383/617 1470/2394/626 1463/2395/627 -f 1461/2385/619 1460/2387/132 1464/2389/621 -f 1455/2380/615 1462/2388/620 1466/2391/623 -f 1456/2396/133 1468/2674/625 1469/2397/628 -f 1472/2398/629 1403/1236/629 1400/1230/337 -f 1474/2400/630 1391/1221/630 1405/1232/631 -f 1475/2402/334 1476/2405/632 1395/1226/632 -f 1478/2403/633 1399/1227/633 1396/1224/634 -f 1472/2398/629 1473/2675/631 1405/1742/631 -f 1474/2400/630 1475/2402/334 1392/1234/334 -f 1477/2404/634 1396/1224/634 1395/1226/632 -f 1471/2399/337 1400/1230/337 1399/1227/633 -f 1408/2406/632 1407/2411/334 1417/1245/334 -f 1402/1229/633 1401/1228/337 1416/1241/337 -f 1408/2406/632 1420/1244/632 1422/1748/634 -f 1404/1231/629 1419/1247/629 1416/1241/337 -f 1410/2408/633 1409/2676/634 1422/1249/634 -f 1406/1237/631 1421/1246/631 1419/1247/629 -f 1410/2408/633 1424/1252/633 1426/1254/337 -f 1394/1223/635 1423/1248/635 1421/1250/631 -f 1397/1235/634 1402/1229/633 1415/1243/633 -f 1414/2410/630 1418/1242/630 1417/1245/334 -f 1397/1235/634 1429/1257/634 1427/1255/632 -f 1414/2410/630 1413/2413/631 1430/1256/631 -f 1398/1225/632 1427/1255/632 1425/1251/334 -f 1412/2412/629 1428/1253/629 1430/1256/631 -f 1393/1222/334 1425/1251/334 1423/1248/635 -f 1412/2412/629 1411/2409/337 1426/1254/337 -f 1519/2414/636 1520/2427/649 1521/2415/637 -f 1524/2417/639 1525/2428/650 1526/2418/640 -f 1528/2420/642 1529/2424/646 1530/2421/643 -f 1531/2423/645 1532/2430/651 1529/2424/646 -f 1533/2425/647 1519/2414/636 1522/2416/638 -f 1520/2427/649 1523/2419/641 1526/2418/640 -f 1524/2417/639 1527/2422/644 1530/2421/643 -f 1533/2429/647 1534/2435/648 1532/2430/651 -f 1530/2421/643 1529/2424/646 1535/2431/652 -f 1525/2428/650 1537/2437/657 1538/2433/654 -f 1521/2415/637 1539/2438/658 1540/2434/655 -f 1534/2435/648 1541/2446/659 1542/2436/656 -f 1530/2421/643 1536/2432/653 1537/2437/657 -f 1526/2418/640 1538/2433/654 1539/2438/658 -f 1534/2426/648 1522/2416/638 1540/2434/655 -f 1529/2424/646 1532/2430/651 1542/2436/656 -f 1541/2439/659 1540/2434/655 1543/2440/616 -f 1535/2431/652 1542/2436/656 1545/2442/615 -f 1535/2431/652 1546/2443/620 1547/2444/619 -f 1537/2437/657 1548/2447/132 1549/2445/618 -f 1539/2438/658 1550/2448/617 1543/2440/616 -f 1541/2446/659 1544/2456/133 1545/2442/615 -f 1537/2437/657 1536/2432/653 1547/2444/619 -f 1539/2438/658 1538/2433/654 1549/2445/618 -f 1547/2444/619 1551/2455/666 1552/2449/660 -f 1550/2448/617 1549/2445/618 1553/2450/661 -f 1544/2441/133 1543/2440/616 1555/2452/663 -f 1545/2442/615 1557/2457/667 1558/2454/665 -f 1546/2443/620 1558/2454/665 1551/2455/666 -f 1549/2445/618 1548/2447/132 1552/2449/660 -f 1543/2440/616 1550/2448/617 1554/2451/662 -f 1544/2456/133 1556/2677/664 1557/2457/667 -f 1560/2458/668 1491/1267/668 1488/1268/334 -f 1562/2460/669 1479/1258/669 1493/1269/670 -f 1563/2462/337 1564/2464/671 1483/1263/671 -f 1565/2463/672 1566/2465/673 1487/1264/673 -f 1560/2458/668 1561/2678/670 1493/1749/670 -f 1562/2460/669 1563/2462/337 1480/1271/337 -f 1564/2464/671 1565/2463/672 1484/1261/672 -f 1559/2459/334 1488/1268/334 1487/1264/673 -f 1496/2466/671 1495/2471/337 1505/1282/337 -f 1490/1266/673 1489/1265/334 1504/1278/334 -f 1496/2466/671 1508/1281/671 1510/1755/672 -f 1489/1265/334 1492/1274/674 1507/1284/668 -f 1498/2468/673 1497/2679/672 1510/1286/672 -f 1494/1273/670 1509/1283/670 1507/1284/668 -f 1498/2468/673 1512/1289/673 1514/1291/334 -f 1482/1260/675 1511/1285/675 1509/1287/670 -f 1485/1272/672 1490/1266/673 1503/1280/673 -f 1502/2470/669 1506/1279/669 1505/1282/337 -f 1485/1272/672 1517/1294/672 1515/1292/676 -f 1502/2470/669 1501/2473/670 1518/1293/670 -f 1486/1262/671 1515/1292/676 1513/1288/337 -f 1500/2472/668 1516/1290/668 1518/1293/670 -f 1481/1259/337 1513/1288/337 1511/1285/675 -f 1500/2472/668 1499/2469/334 1514/1291/334 -f 1695/2474/130 1700/2482/680 1704/2475/677 -f 1697/2477/328 1702/2680/721 1701/2478/678 -f 1699/2476/151 1704/2475/677 1703/2480/679 -f 1696/2479/143 1701/2478/678 1700/2482/680 -f 1701/2478/678 1702/2680/721 1707/2483/681 -f 1704/2475/677 1709/2487/684 1708/2485/683 -f 1701/2478/678 1706/2484/682 1705/2486/169 -f 1704/2475/677 1700/2482/680 1705/2486/169 -f 1705/2486/169 1710/2492/308 1714/2488/685 -f 1706/2484/682 1707/2483/681 1712/2489/686 -f 1709/2487/684 1714/2488/685 1713/2491/688 -f 1705/2486/169 1706/2484/682 1711/2490/687 -f 1715/2493/130 1720/2501/680 1724/2494/677 -f 1717/2496/328 1722/2681/721 1721/2497/678 -f 1719/2495/151 1724/2494/677 1723/2499/679 -f 1716/2498/143 1721/2497/678 1720/2501/680 -f 1721/2497/678 1722/2681/721 1727/2502/681 -f 1724/2494/677 1729/2506/684 1728/2504/683 -f 1721/2497/678 1726/2503/682 1725/2505/169 -f 1724/2494/677 1720/2501/680 1725/2505/169 -f 1725/2505/169 1730/2511/308 1734/2507/685 -f 1726/2503/682 1727/2502/681 1732/2508/686 -f 1729/2506/684 1734/2507/685 1733/2510/688 -f 1726/2503/682 1731/2509/687 1730/2511/308 -f 1735/2512/130 1740/2520/680 1744/2513/677 -f 1737/2515/328 1742/2682/721 1741/2516/678 -f 1739/2514/151 1744/2513/677 1743/2518/679 -f 1736/2517/143 1741/2516/678 1740/2520/680 -f 1741/2516/678 1742/2682/721 1747/2521/681 -f 1744/2513/677 1749/2525/684 1748/2523/683 -f 1741/2516/678 1746/2522/682 1745/2524/169 -f 1744/2513/677 1740/2520/680 1745/2524/169 -f 1745/2524/169 1750/2530/308 1754/2526/685 -f 1746/2522/682 1747/2521/681 1752/2527/686 -f 1749/2525/684 1754/2526/685 1753/2529/688 -f 1746/2522/682 1751/2528/687 1750/2530/308 -f 1809/2531/689 1808/2563/690 1867/2532/690 -f 1809/2531/689 1868/2533/689 1869/2534/691 -f 1806/2535/691 1869/2534/691 1870/2536/692 -f 1807/2537/692 1870/2536/692 1871/2538/693 -f 1803/2539/693 1871/2538/693 1872/2540/694 -f 1805/2542/695 1804/2541/694 1872/2540/694 -f 1818/2544/696 1805/2542/695 1873/2543/695 -f 1816/2546/697 1818/2544/696 1874/2545/696 -f 1817/2548/698 1816/2546/697 1875/2547/697 -f 1817/2550/698 1876/2579/698 1877/2551/699 -f 1814/2552/699 1877/2551/699 1878/2553/700 -f 1812/2555/701 1815/2554/700 1878/2553/700 -f 1812/2555/701 1879/2556/701 1880/2557/702 -f 1813/2558/702 1880/2557/702 1881/2559/703 -f 1810/2560/703 1881/2559/703 1882/2561/704 -f 1808/2563/690 1811/2562/704 1882/2561/704 -f 1867/2532/335 1883/2567/335 1884/2564/127 -f 1868/2533/127 1884/2564/127 1885/2565/336 -f 1875/2547/338 1886/2568/338 1887/2566/130 -f 1882/2561/125 1888/2569/125 1883/2567/335 -f 1874/2545/143 1889/2570/143 1886/2568/338 -f 1881/2559/325 1890/2571/325 1888/2569/125 -f 1873/2543/328 1891/2572/328 1889/2570/143 -f 1880/2557/126 1892/2573/126 1890/2571/325 -f 1872/2540/124 1893/2574/124 1891/2572/328 -f 1879/2556/334 1894/2575/334 1892/2573/126 -f 1871/2538/337 1895/2576/337 1893/2574/124 -f 1878/2553/151 1896/2577/151 1894/2575/334 -f 1870/2536/128 1897/2578/128 1895/2576/337 -f 1877/2551/333 1898/2580/333 1896/2577/151 -f 1869/2534/336 1885/2565/336 1897/2578/128 -f 1876/2579/130 1887/2595/130 1898/2580/333 -f 1889/2570/705 1891/2572/706 1829/2581/706 -f 1890/2571/707 1892/2573/708 1822/2583/708 -f 1893/2574/709 1830/2683/709 1829/2585/706 -f 1892/2573/708 1894/2575/710 1823/2586/710 -f 1893/2574/709 1895/2576/711 1831/2588/711 -f 1896/2577/712 1824/2684/712 1823/2590/710 -f 1897/2578/713 1832/2685/713 1831/2591/711 -f 1896/2577/712 1898/2580/714 1825/2592/714 -f 1885/2565/715 1833/2686/715 1832/2594/713 -f 1887/2595/716 1826/2687/716 1825/2596/714 -f 1884/2564/717 1883/2567/718 1819/2597/718 -f 1884/2564/717 1834/2688/717 1833/2599/715 -f 1887/2566/716 1886/2568/719 1827/2600/719 -f 1888/2569/720 1820/2689/720 1819/2602/718 -f 1889/2570/705 1828/2690/705 1827/2603/719 -f 1888/2569/720 1890/2571/707 1821/2604/707 -f 1842/2606/336 1861/2637/336 1860/2607/127 -f 1850/2609/130 1852/2613/130 1851/2610/338 -f 1837/2612/333 1853/2638/333 1852/2613/130 -f 1843/2614/127 1860/2691/127 1859/2615/335 -f 1848/2611/338 1851/2610/338 1866/2617/143 -f 1840/2616/335 1859/2615/335 1858/2619/125 -f 1849/2618/143 1866/2617/143 1865/2621/328 -f 1841/2620/125 1858/2619/125 1857/2623/325 -f 1846/2622/328 1865/2621/328 1864/2625/124 -f 1838/2624/325 1857/2623/325 1856/2627/126 -f 1847/2626/124 1864/2625/124 1863/2629/337 -f 1839/2628/126 1856/2627/126 1855/2631/334 -f 1844/2630/337 1863/2629/337 1862/2633/128 -f 1835/2632/334 1855/2631/334 1854/2635/151 -f 1845/2634/128 1862/2633/128 1861/2637/336 -f 1836/2636/151 1854/2635/151 1853/2638/333 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon.png index a3ff7b54353c1b1734e810502a00e4d93521396b..b72c6d3fe1310728a27ba40db40e7572929725b7 100644 GIT binary patch literal 7619 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 literal 7611 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 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_0.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_0.png index f495fbdfa2ddb8c5d7cf021218d9d9222e543607..7650662e791afa6b0e97759c727a1d03034082d8 100644 GIT binary patch delta 71 zcmbQhSUSPPQODE8F+^f&@}7&CU*|J&8W+3 ZGEA&uSG4N?@`M2hJYD@<);T3K0RUWZ7fS#D delta 98 zcmXS&z&ODq#@*A!F+^f&@}K(VhxW`u2}ub+aHSz(2SXcI%7HT<`WHTYkg4%r-Z095 zMPk9bALkDo`0)QfZ`=Qr8IEn%5fVV~YO??ngZDGxw+s_1Ef|2n)78&qol`;+08#rX Ab^rhX diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_1.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_1.png index 66fccb0e262a5fc02198654b21830dac6d5e09a9..e73121b4051f759fdfe2ef1c58752ec719a2580f 100644 GIT binary patch delta 78 zcmbQjSTn)I!`RcsF+^f&@}7&CU*|J&8W00toNboFyt=akR{04+-yu>b%7 delta 102 zcmb=K!Z^Vs!Q0ctF+^f&@}K(VhxW`u2}ub+aHSz(2SXcI%7HT<`WHTYkg4%r-Z095 zMPk9bALkDo`0)QfZ`=Qr8IEhL|NU=IU}IxD_Dd(^Ju}0>ClXKh$urzw00K`}KbLh* G2~7ZGi!N0F diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_10.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_10.png index 0f3ba18831ed0f93773737e02e70f038ce8fdc05..6dc46671868c16d5f677385c64e1b39c375fcbf2 100644 GIT binary patch delta 80 zcmbQqSU17M%hc1wF+^f&@}7&CU*|J&8WL~_hL`5~@|72vO_%c$QVT2UF?_X)RBA{OP7*_xQ N002ovPDHLkV1hTTELQ*k diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_11.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_11.png index 1e97f6252e90529d70f3ceffda06df90d9e95d38..351ac3108b2bbbdc2dab5e983d5390c627e8a8a5 100644 GIT binary patch delta 79 zcmeBStes%uY2xYP7$Pw>dC$enuk#r>4Gawo3^Jz3CtuL8Zxc8W(5U(0zdg(31*s2M hBP4(zuO#v?E5n?1-153pHE%Hhfv2mV%Q~loCIEaN8=U|E delta 94 zcmV-k0HObVi~*1|SVKufK~xx(osYo@z%UHN*kL0t z4uClC8H*(`QHiLimAJ304*PM~{~X`%h|2l>3;E+DV}tccA^-pY07*qoM6N<$fdC$enuk#r>4Gawo3^Jz3CtuL8Zxc8WaPY%_dzQyxh9WEx g5FVdQ&MBb@09N1|8vpnOMe*XYS%_v_E;21Cf0000dC$enuk#r>4Gawo3^Jz3CtuL8ZxcxP@n62_A=8Vfwq*?5 i%*@P(d-bw+Ffgc?a?3xz{epu52s~Z=T-G@yGywo)#v5?} delta 95 zcmV-l0HFVTjRBA}Swu-hK~xx(osYo@z%UF0&z+{Tc?qxSZLW_%n$kx}1^OI9NMR$3 z4uCj^CqRcMSXGIrsFnCid;{#e!~WN?zauK2_b-fzC|}ni*#!Uq002ovPDHLkV1k9V BC=CDr diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_14.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_14.png index 4270afad14bbb04ca0fbba70a4f6808dedb4b028..a1938e8e93cec2561bb7b82c44f2c44560a08384 100644 GIT binary patch delta 71 zcmeBTES+HDsN?D47$Pw>dC$enuk#r>4Gawo3^Jz3re4sn?h-fb%7 delta 92 zcmV-i0HgnPiUE)`RzXQbK~xx(osY2%z%UHM=suI*{Dj~1H|&@M8G=@$AQ4j7$f5@z yhQx3hM`BYYqM}yfy>c?_$*})1zVC?2{r(H$CnjHrgIm=A0000bP0l+XkKFZLR6 delta 101 zcmb=P%s9a$-pkX)F+^f&@}K(VhxW`u2}ub+aHSz(2SXcI%7HT<`WHTYkg4%r-Z095 zMPk9bALkDo`0)QfZ`=Qr8I6Z!|NnP3Fw^b%8oA;gI|J)_iKn%Dbk8sVfv2mV%Q~lo FCICBqE-3&2 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_3.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_3.png index cae11f3fb152454a78b08191d164c0cfff8fdb7d..16bdc3c2dcfcfdc521b2eb8ed37bea8acfb088ba 100644 GIT binary patch delta 78 zcmbQiSTn)I!`RcsF+^f&@}7&CU*|J&8Wzf%{s-3)9;Cb69XS91 N002ovPDHLkV1j`EE#v?I diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_5.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_5.png index 900289ac16c1eb1907cbc71ae35c354a3c39cd52..0a2f9cfc5874d02e41dd0f1ce113f53bf7450f9e 100644 GIT binary patch delta 78 zcmbQkSTn)I!`RcsF+^f&@}7&CU*|J&8WQn|ox*wDZ7P2vlR>*fKr=2PTJ_nHBBG+Exa=4RDZbx-029RmOW delta 110 zcmV-!0FnQEoB@zDXj4f`K>*#($}=K(Mn5<`<7e$zJn z!Hf*p0K!rE3X@~RPT{=nc9oULB+zyUXvXT$%C(LZ5fwGX-tiX+DSqF70A83Lq?w1A Qga7~l07*qoM6N<$f_C6A7ytkO diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_7.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_7.png index 6154717c9561cc54a91d0d11733297052b25b058..322a8e4d5a4bf7a26072d791152fc2f2e4fac58b 100644 GIT binary patch delta 78 zcmbQvSTn)I!`RcsF+^f&@}7&CU*|J&8WeISL{ON)utp#asT9 z92TV00ubBnCm0&NRx0~(wyVy(3;`BIMYZ4`Moupyrx`}%^qqeJqEsHFmh`<(00000 LNkvXXu0mjfG&Cq$ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_8.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_8.png index 53cf4aa43211e1a7990f456eb5322ce1ff947572..92bbb9308c80a918a7fba9dd9507ab5c1c79acc1 100644 GIT binary patch delta 80 zcmbQqSU17M%hc1wF+^f&@}7&CU*|J&8WFVdQ&MBb@0NHsSCIA2c delta 107 zcmV-x0F?iJnE{YAWl%{(K~xx(jgP?%fG`ZiTv&$LvP4;pHw$E%nnw{7@u{VI&Pi^L;7uo}0A}XqhvyPD(ucO9{qty7me*xk!BA}R2GT{IK N002ovPDHLkV1mCvE}j4Y diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_9.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/fill_9.png index db86ae0595776556476698dc557593e4cd263957..363f9131ff7ba3e68cf81e816a9ef85c6ea46f79 100644 GIT binary patch delta 80 zcmbQmSU17M%hc1wF+^f&@}7&CU*|J&8WwBS3j3^P6HB*K~xx(jgP?%fFKYA2W`gMXaZaFZ39%p_<$$|jc&4!yWGy^ zf*I*F0feRcTnrbzW(w=Jx2e2FwEBsG8BtNq_+2|PQoI-`{$Yd^@9!Ta`y!z2*i0n= O0000DIxW(EcZ1{Pcr8Qa-V_%l3z5oZ8Q z<9@9J5P>`h<(T1s)gTlDGPbiJG@^n1GY-HFLN)}`3)2`F7_t}`9IrV*O+^^stBz?f zJPkfq4aV3R;FQ()zkh`Q&?W&8@zYETL@5!fJ6EUQJf1DIxW(EcZ1{Pcr8Qa-V_%l3z5oZ8Q z<9@9J5P>`h<(T1s)gTlDGPbiJG@^n1GY-HFLN)}`3)2`F7_t}`9IrV*O+^^stBz?f zJP$L_t(Ijop&L4FWL?1Sg0meIQYVQviKL_qcKp-NaR-o$v|K z#U|pUdmypD*xq$^lTa5b2XHz<1~|_evB+@FH{B=jCU(Nw>dDj_!Zw3g#BW;7f;7%} z3lCt~SV+ynQ@LNgg&txoLRKAY*v$Z!tV7?uLI70NmZxw66)q4FRCSk757DJRft?#} j@QwUwCj9&>|AD{@Fk?8EO#!S-00000NkvXXu0mjfvIb95 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_10.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_10.png index d45d359cce090681753904a5a7fc5e08e2ae0cff..32aeaa2ed9e13ed731d3fe0b8ffa9df98e080b81 100644 GIT binary patch delta 197 zcmV;$06PEU0r3HlG=Hc`L_t(IjbpsgY4x9h0>DIxW(EcZ1{Pcr8Qa-V_%l3z5oZ8Q z<9@9J5P>`h<(T1s)gTlDGPbiJG@^n1GY-HFLN)}`3)2`F7_t}`9IrV*O+^^stBz?f zJP_31Z z&j?FMFlXV4E*L;phvEf7nz5;29Pp$(3=9AOUMH~jtm^}li3!p4cZoFM~TM}SY#yyIPuEqD_PVa@%}^>ev81E0hyt(`z< zXRL(>uv8X8w(wNuo3&6v^ht=Sjg4LzV2aw{hp(WjyqxV1uP{&(0Yro;s=-T$CjCM6 lbB%>>5PXBR~1B1Buagqgz|tu504FxUB*hbqYUos9t>v_9Jn(5 vwMBR(`&L}+e#9D6*z3>xxIz7CVgduhZCwKo>kcPA1|aZs^>bP0l+XkKn}SCN delta 183 zcmV;o07(Du0pkIXG=G{&L_t(Ijop&X4Z<)Cg})$^tlc_0Vxpw~437I^{rG z#fgfLDuje@{&{|Ww!<>AaKKJSzyRmHgl2Jm8tk(MD{uo$B_5l2u~6?ov-C_;LlAvU zFW~`DIxW(EcZ1{Pcr8Qa-V_%l3z5oZ8Q z<9@9J5P>`h<(T1s)gTlDGPbiJG@^n1GY-HFLN)}`3)2`F7_t}`9IrV*O+^^stBz?f zJP8m2;+7kKs`KnWj=SoqJtz~JEEz&mi@0Cun7bOAab)(}Qm wLV`I9S9HMux;hjW5YmiI4dZ|(07*qoM6N<$g0*W+NdN!< delta 181 zcmV;m080Pv0pS6VG=G>$L_t(Ijop&L4Z|P|MITj<-J?>cFavZCltadex(%L!b?Akl zfP)$-he-W5@c%ad82Dpz3K1p+qFFn>^6;{Dq?n8H9;IDIxW(EcZ1{Pcr8Qa-V_%l3z5oZ8Q z<9@9J5P>`h<(T1s)gTlDGPbiJG@^n1GY-HFLN)}`3)2`F7#SEC92^{=rXmdRRmU_K z9*7y+*%T;J|R;0IEx1Uf|h(0401Vjs=_sU~>gFz%K|(NHAyNiY^#HSBK&P kLYlFuVI1(JJPZr~0I51Nn%i+*D*ylh07*qoM6N<$f{)lmn*aa+ delta 175 zcmV;g08szp0owtPG=GvwL_t(Ijonh)4S*mFJdB_2Vd4~J0QVq%IF4}}ItAzz(tINHPlT~4^a0Ew4;2|nhY?qC%3Qx z3INeL5hhsJ8S|K1h#_i6uzV^L5t!vBmxaNy$fx-gssg1gN+^gSX6aXu_K6Li$fX|j d`B(mdzyU%#Gr$aJrJVo(002ovPDHLkV1oZ^O_Trt diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_4.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_4.png index 2891e0b6779406d55f5c8f0995efaa9d6d8aa92e..9992b76198066d0b5d82d7ae04f6ec483105f0fe 100644 GIT binary patch delta 187 zcmV;s07U=b0p|gbG=H8+L_t(IjbpsgY4x9h0>DIxW(EcZ1{Pcr8Qa-V_%l3z5oZ8Q z<9@9J5P>`h<(T1s)gTlDGPbk9H8M_PVECVfklR1w0NfyCLomHCje&sys?qV90|P?_ z!T?`&OfSF#F=IO$!~O#Y5E{_{%nLmG51@n(&RB48a9}t9H8c<(pg0;CVF?N5EL_nA p1L*2dTtG-OHZ_a`o|K1y0RZooH1TcYsX+h$002ovPDHLkV1i!CN6i2L delta 180 zcmV;l089Vp0pJ0UG=G;#L_t(Ijop&L4FVw$MIXkaeVACqP=I|94wkdA8>R}{!3&NH zNOqGwm^e3P{{PJX;7X)$piW1~0O#4jXKBvqruzimL?b+EKXmV8VgR>5i5~&O z1ZhM@3kwie+k|T2sobxl1q;zqAn*c+mo*nWV5Tbo0000 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_5.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_5.png index c83bb391302ceb7241e8754f28a40edd96ca7e9e..203848086c136b5627abfcacbfccf862310af278 100644 GIT binary patch delta 177 zcmV;i08anV0o?(RG=G#yL_t(IjbpsgY4x9h0>DIxW(EcZ1{Pcr8Qa-V_%l3z5oZ8Q z<9@9J5P>`h<(T1s)gVUXFv!@>hS12sz`!_-f#LrRR0|w498e6w41;MyEcqH_i|8U-K^q^&S;8dGQB z^(NLCai7Qf3L;>mL10$o(is4Tz-r$73e5r%VwL_)l{mG*6CL>qL!W=;9|-In#xVY~ SM~7wr0000DIxW(EcZ1{Pcr8Qa-V_%l3z5oZ8Q z<9@9J5P>`h<(T1s)gTlDGPbiJG(rKR1_Q(Y8w?ElXB>bVglq_A7)*oOc+G*q@tOmQ z?Y`=mUVs~rv7L=!|A7N=&FBDT2+#flDB(kKEKqC!BP=1ooGOJYx?liZ9f}JGX~w38 faln)EFfafBr4}(p)fu*+00000NkvXXu0mjf5aveN delta 160 zcmV;R0AK&z0n7oAG=GChL_t(Ijbr?u#qghj0>DIxW(EcZ1{Pcrj@KMe`1`dE5N7~P zBV0osR6GMs910kb!@%*H1Ezv$3=IEoAX$)sss=L*rXdW2xdvvtuR5j|;08Eeb70ti z-~fs@kO9mPp8W?<DIxW(EcZ1{Pcr8Qa-V_%l3z5oZ8Q z<9@9J5P>`h<(T1s)gTlDGPbiJG$H{;4F-n)Hx9rJLN)}`3)2`F7_t}`9IrV*O=VzU zV1Q`$Rmb!KJPZoY0fYb}EFr<1 tg)6#X09_r53kYe(riO9AlkzYy003vsGDBQ0U}^vW002ovPDHLkV1fsLMV|lw delta 178 zcmaFOc#m;{N&Qq$7sn8b-sC^?kA9fn$aKJ^GmQ-h#A1Z{uFC}c_`Q`+Af3TSImTHo z#D>{dW;P>Gc*CtDD-Is`@c$U&4#yK&273*98ygk5PjXB00D%DSzE?Bi8rT;-Hf3-7 z%g(o;g867^fc}R!_6DIxW(EcZ1{Pcr8Qa-V_%l3z5oZ8Q z<9@9J5P>`h<(T1s)gTlDGPbiJG@^n1GY-HFLN)}`3)2`F7_t}`9IrV*O@&Yg4jf?c z!4ll?K+M?A#<2eY)E1a#283n@2Z$KY{sSoCLvbt+GyvIlY%qWkmXKi1!WCUGfUXY3 l1%xzXQ^PpmNqHC;007+ri delta 169 zcmV;a09OCw0o4JJG=GdqL_t(Ijonhg4S*mFJd95#afXgGAPJEpHh8Lh^D8_Gq}^+XCKm4BAR@0*6FiY?HRkiL`~!g< XcIh@QMvnsN00000NkvXXu0mjf#!E?9 diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_9.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_9.png index 73745acb05e60ea1129f78cfb73fc4c01ad85d9c..3a12cf680a77816e1f785369613384eae388123e 100644 GIT binary patch delta 199 zcmV;&0672S0rLTnG=Hi|L_t(IjbpsgY4x9h0>DIxW(EcZ1{Pcr8Qa-V_%l3z5oZ8Q z<9@9J5P>`h<(T1s)gTlDGPbiJG@^n1GY-HFLN)}`3)2`F7_t}`9IrV*O+^^stBz?f zJPsHzB_x=$a77mkpsPbkNQ5+FQ^PpmNqHC;007_VH}(DjVaNag002ovPDHLkV1iBy BNVxz2 delta 183 zcmV;o07(Dy0pkIXG=G{&L_t(IjonhQ4Z|=Dql1q9BS5Z@_x2AXL(U0$NO$uJzmqPG zVOcR!AVYz2vm}ZjEw|0sZ~?;=G639q4WC54Nl3|D91lUSvt5eRz5 zT37+hm4%Qkyol#$EtC*_5=2tjXqDd%xJRmfH^dsuiysFcelWU#Bt&*antlnJe#(Ea-~)K-I2)mQMU(&l002ovPDHLkV1hrZP#*vQ diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_empty.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/pressure_empty.png index a46db1968f707f61389b84ec631867bb0fb6d106..a78876d6edb79b7ed8ca90dbd050cd74133197de 100644 GIT binary patch delta 176 zcmV;h08jtb0o(zQG=GyxL_t(IjbpsgY4x9h0>DIxW(EcZ1{Pcr8Qa-V_%l3z5oZ8Q z<9@9J5P>`h<(T1s)gTlDGPbiJG@^n1GY-HFLN)}`3)2`F7_t}`9IrV*O+^^stBz?f zJP%tG=H#3L_t(IjjfWg5yCJGML!%z?J+1-r?N_V55XM+Fhe$Ai1d_F z#SEE+CKNz|64}6+U)d-B=kNPo^=&htLhBkc0BmxD!)0ss=l$(B003x`3D~g<`uYi) z1e#=#te7A^ZynPd0d)3EHi4=_RTnT7o5BU`PFD~Sh{!-ZRYuq70{XTY*D=QbBoKL2 z8ktR%#TMR;05AaH**psfAs92W|B;FbUMA1@5s)*?RbAs9gG4pB1nTZE00000NkvXX Hu0mjf`G;3` delta 191 zcmV;w06_ow0qX&fG=HK=L_t(Ijm49}4FVw$MIXijsKXN_Fg;Mk+K*Li4>MKR4jyz} zafgit6XygO{+mxeggQ|fsKbaD;Mi-(H8*=b*>?Z{E4l(_aX}wn!HQx%CXSxo|3^UunOj{Q&AY34&L`tcFcr_fO3#ik&&N=_afjH_t(k#+MxtqeP5TF9` t*6#vhjEz{te@MFy7Lg}hD*XL7-T--5Rn;7Si499cBd?%FPL!=G(Eq7H%^koH*Ax|q2t*`-3CAk3fXm|zA_5UbkW*Z2-T@KS1IE6C_dev) zG}SB6T0<$7K(sN@Q?9PS%y7jcK5))KDFw5b4s7_qnAr!_RxULxqxm=f0J2;@ Uqx7UZApigX07*qoM6N<$f)xm1=>Px# delta 203 zcmV;+05t!G0`~!sG=Hv1L_t(Ijm49@5yK!1K%a9NfH_iW1hj*vaQ4X*-a*;`SDAwi zoF-?7_!rJa)aihyClJlpF>)d05AXT0sH}wG=H;6L_t(Ijir;l5yCJGg&$mwStwPfvP*go!5srILpETD^eLr^ z+GWOYO#=--r&xB#S)F9R&(D&*n}`01hS;}=0iY`_oTr1zZ>PsL002nfA8_<0=WHlsV!(Y5T_$z0632ph}yCm>JBhgPD34At2oVA_5UPNEBatKt!mu?gO+1C_1IM+6XdiA~T0#7ICAT vPC-?>ntbF_fD=mmkfwl56bZLTfB%gSK}%enYRN&?~a(-N=Ig0000n8w02y5I_54pul z+!g|;Dh>!D$tbH+&|Sv}$S$X9u$4&uAyo~QqFmu3_xIoU2Bhvega%a+@Bjb+07*qo IM6N<$f+m4kJOBUy diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_5.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_5.png index 0899d7ecbaa0700f5a164152909d0a83d74e7449..3fd5fbf765a515af654211ac25550f4ad2fcb9bb 100644 GIT binary patch delta 218 zcmV<0044wV0fqvQG=IHGL_t(Ijir+@5`!QRMW2~WYL8(_Z3Sg|50M*q25*o<*r!}7 zTPZyTbsEzoW-x$e+-`yQ_p=Md)YUTw;&cQCIHxvlk4uo>uh0Jk0Bj>)!QMoLc3;6Z zf^Fo-S=NDmSM}Zl;KmX9@J!NywHELF0x#yX8-^I07*qoM6N<$f{>tDy#N3J delta 205 zcmV;;05boE0{H=uG=H#3L_t(Ijm4AA6@wrQ$A9#70O#n*5y%cs;XqE|4#@^`>Ktr9 zFV#LQpnV>iTN3^sB;e9W;zHc6fC28chCF?i>%)E{0I)$ngtHWhPG7+W#RmOy)^y(>4+HM9BbU)7cYO_KKlRwwvq|hnjmP? z71ZmBa}Ha{!dcRRZVk@4sqg?=|4h_@wbm2odH$=5?;;2&>QWA+)IuDJ)fx1CpX>)` zFf=7a-2tGr-VX=~MT88{#(1ktZb3x6d<4u^2lFr{{E(7>zbGVJ1;hmNIQ$#GE&Dgm TGD)R^00000NkvXXu0mjfM5bai delta 203 zcmV;+05t!F0`~!sG=Hv1L_t(Ijm49(5rZ%cMW1sSfH_h*8(2Fq1=)uxBd~)!0#)Yl z22R0ooP#iM6j3M1@87p%yWEkv5VtEZz1xF7I_BbsDs}Su^&=ZV1_Jk4)^!p_ys3>HlD|;am)Y!002ovPDHLk FV1gU2T9*I- diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_7.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_7.png index b0fc60ea39927c65700937d416ee32d63db6f191..e8db8d13aa27605130d7b5b86e9a11e66f269aa6 100644 GIT binary patch delta 214 zcmV;{04e|T0fGXMG=I5CL_t(Ijir-45`r)gMjwu2%`qrrOO=%N9>KyH55O6?frUq~ zx7<{;QgRj>C=@i91d*@G&gOfwKS|P*dCLN=mY4z7p~UgFapLptF%JM>_woi_jTaOJ z0I19M2|L^e&?h81gWf#o^nE7?u+|ReG)>X37OaRfA1@#)Do>PBvErsH=vCKsH18c^ zQ|4qv1%TFiKEP)b5fVTfcMH)qiii`pfcdq8v5fiSA@wGoaS{+RjJ5bTb{};ytJ4+| QHUIzs07*qoM6N<$g4H%%8vpHOW)|dgda|wTwBGz441^@^Loq!i#1vLQx?z|sh$Lk1s zhBRl8&7)55XJ!E*Ot)BTkw*(bwU|#8V0v)QwTk;(K~{{hnLw`&F?C@2!6+ij0X3tl zVgT{w7Mg2R)gn%S|F(ixdH=&h%BGqz%l!Q}-T{r=FYj~)0r>y`002ovPDHLkV1k{m BS9t&c diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_8.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_8.png index 2448ba65e724e51b4730f037f82b9453ec35e858..9a30a70c10ab3b7cd2aaa95eec97477c502bf2e1 100644 GIT binary patch delta 201 zcmV;)05<>X0rdfpG=Ho~L_t(IjkS`!4Z=VSgZ2$n!N=9JAE-2bU z2mz<(*}$}tnX|>pAR(2G3bA|NK1M)n%NA5St)0-hB800000NkvXXu0mjf DYzbNT delta 190 zcmV;v073ut0qOyeG=HH4+HMyj0Ma6uDh|9{|8Rn}DNML5oj_F>-y}3Yd2` zbGF(885Q~5&V63r+{6rVD_v9pVVKVD-UR<;8+gYQtSFH#ebMKxiL@b};N1{lvV9V~}@K>z>%07*qoM6N<$g3An4NdN!< diff --git a/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_empty.png b/src/main/resources/assets/hbm/textures/models/weapons/cryo_cannon/turbine_empty.png index 61183254ec1050227ae17ea7159208630d77a6ff..493a027f27c247f7d769aa6c5b3a9d8068deeeed 100644 GIT binary patch delta 170 zcmV;b09F6a0oDPKG=GgrL_t(IjbpsgY4x9h0>DIxW(EcZ1{Pcr8Qa-V_%l3zk!An` z0|Uc>ko^b)*EnJ|h-fby2-(kYAY?y=%ka9u0ctDUHQ5Xd3~Nx;5bXk(VF&i3x`N_Z z7(xc@-w%mW2S-PgsKgr!FikMsl z From 0563315be62917281679047607faa7281b1626db Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Thu, 13 Jul 2023 00:32:17 +0300 Subject: [PATCH 255/285] Updated ru_RU.lang updated russian localization --- src/main/resources/assets/hbm/lang/ru_RU.lang | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index dc4878f1e..214bcf59f 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -476,6 +476,12 @@ 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 @@ -739,6 +745,7 @@ 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.name.ar15_50=Модификация AR-15 под .50 BMG gun.name.baeAR=Стандартная винтовка британнской армии @@ -1897,8 +1904,8 @@ tile.fluid_duct_neo.name=Универсальная жидкостная тру tile.fluid_duct_gauge.name=Труба с измерителем потока tile.fluid_duct_gauge.desc=Труба которая показывает сколько жидкости$перемещается внутри сети за тик.$Разделенные сети, соединенные бочками$или резервуары рассматриваются как одна общая сеть. tile.fluid_duct_exhaust.name=Выхлопная труба -tile.fluid_switch.name=Жидкостный клапан -tile.fluid_valve.name=Редстоун-Жидкостный клапан +tile.fluid_switch.name=Редстоун-Жидкостный клапан +tile.fluid_valve.name=Жидкостный клапан tile.fluid_duct_solid.name=Покрытая универсальная жидкостная труба (Устаревшее) tile.fluid_duct_paintable.name=Окрашиваемая покрытая универсальная жидкостная труба tile.machine_fluidtank.name=Цистерна @@ -2155,6 +2162,11 @@ container.machineCoker=Коксовая установка container.machineCompressor=Компрессор tile.machine_compressor.name=Компрессор tile.chimney_brick.name=Дымовая труба +tile.radio_torch_counter.name=Редстоун-радио счётчик предметов +tile.radio_torch_counter.desc=Ставится на плоские поверхности или совместимые компараторные блоки$Сигнал зависит от количества нужных предметов +container.rttyCounter=Редстоун-радио счётчик предметов +tile.machine_industrial_boiler.name=Промышленный бойлер +tile.machine_industrial_boiler.desc=Большой бойлер, в котором можно вскипятить воду или разогреть нефть.$Требует внешний источник тепла.$Скорость передачи тепла: ΔT*0.01 TU/t$Не может взорваться container.hadron=Ускоритель частиц tile.hadron_access.name=Терминал доступа ускорителя частиц @@ -2175,6 +2187,10 @@ 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=Обшивка ускорителя частиц (Чёрный) @@ -4348,6 +4364,9 @@ 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.gun_coilgun_ammo.name=Вольфрамовый шар для гаусс-пушки item.gun_fireext.name=Огнетушитель item.ammo_fireext.name=Бак с водой для огнетушителя From 5bcffadbab4a35002fb9d27b32c627a5e5786978 Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 13 Jul 2023 20:20:14 +0200 Subject: [PATCH 256/285] new bullet base code --- changelog | 1 + .../hbm/blocks/machine/MachineAssembler.java | 2 + .../java/com/hbm/entity/EntityMappings.java | 1 + .../entity/projectile/EntityBulletBase.java | 10 +- .../entity/projectile/EntityBulletBaseNT.java | 387 +++++++++++++++++- .../entity/projectile/EntityThrowableNT.java | 26 +- .../hbm/entity/projectile/IBulletBase.java | 11 + .../com/hbm/handler/BulletConfiguration.java | 25 +- .../com/hbm/items/weapon/ItemGunBase.java | 3 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../entity/projectile/RenderBullet.java | 34 +- 11 files changed, 451 insertions(+), 50 deletions(-) create mode 100644 src/main/java/com/hbm/entity/projectile/IBulletBase.java diff --git a/changelog b/changelog index 5d72f98ae..5e0b3f4d9 100644 --- a/changelog +++ b/changelog @@ -17,3 +17,4 @@ ## Fixed * Fixed issue where mk5 explosions would behave weirdly in their origin chunk, often blowing through bedrock and thick layers of concrete * Fixed saturnite rifle disappearing in third person when scoping +* Fixed cables not visually connecting to assemblers diff --git a/src/main/java/com/hbm/blocks/machine/MachineAssembler.java b/src/main/java/com/hbm/blocks/machine/MachineAssembler.java index a53437db9..eeaa0e63b 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineAssembler.java +++ b/src/main/java/com/hbm/blocks/machine/MachineAssembler.java @@ -1,6 +1,7 @@ package com.hbm.blocks.machine; import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineAssembler; import net.minecraft.block.material.Material; @@ -18,6 +19,7 @@ public class MachineAssembler extends BlockDummyable { @Override public TileEntity createNewTileEntity(World world, int meta) { if(meta >= 12) return new TileEntityMachineAssembler(); + if(meta >= 6) return new TileEntityProxyCombo().power(); return null; } diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index 9e3d2919f..49b065651 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -158,6 +158,7 @@ public class EntityMappings { addEntity(EntityGrenadeIFNull.class, "entity_grenade_ironshod_null", 250); addEntity(EntityFallingNuke.class, "entity_falling_bomb", 1000); addEntity(EntityBulletBase.class, "entity_bullet_mk2", 250); + addEntity(EntityBulletBaseNT.class, "entity_bullet_mk3", 250, false); addEntity(EntityMinerRocket.class, "entity_miner_lander", 1000); addEntity(EntityFogFX.class, "entity_nuclear_fog", 1000); addEntity(EntityDuchessGambit.class, "entity_duchessgambit", 1000); diff --git a/src/main/java/com/hbm/entity/projectile/EntityBulletBase.java b/src/main/java/com/hbm/entity/projectile/EntityBulletBase.java index 6ebfd313a..e0c8fdb92 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBulletBase.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBulletBase.java @@ -47,7 +47,15 @@ import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class EntityBulletBase extends Entity implements IProjectile { +public class EntityBulletBase extends Entity implements IProjectile, IBulletBase { + + @Override public double prevX() { return prevRenderX; } + @Override public double prevY() { return prevRenderY; } + @Override public double prevZ() { return prevRenderZ; } + @Override public void prevX(double d) { prevRenderX = d; } + @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 EntityLivingBase shooter; diff --git a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java index d793af58d..a3ce55d10 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java @@ -1,30 +1,63 @@ package com.hbm.entity.projectile; +import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.generic.RedBarrel; +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.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; -import com.hbm.interfaces.IBulletHitBehavior; -import com.hbm.interfaces.IBulletHurtBehavior; -import com.hbm.interfaces.IBulletImpactBehavior; -import com.hbm.interfaces.IBulletRicochetBehavior; -import com.hbm.interfaces.IBulletUpdateBehavior; import com.hbm.items.weapon.ItemGunBase; import com.hbm.main.MainRegistry; +import com.hbm.packet.AuxParticlePacketNT; +import com.hbm.packet.PacketDispatcher; +import com.hbm.potion.HbmPotion; +import com.hbm.util.ArmorUtil; +import com.hbm.util.BobMathUtil; import com.hbm.util.Tuple.Pair; +import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; +import cpw.mods.fml.relauncher.ReflectionHelper; +import net.minecraft.block.Block; 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; import net.minecraft.util.MathHelper; import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.Vec3; import net.minecraft.world.World; -public class EntityBulletBaseNT extends EntityThrowableInterp { +/** + * MK2 which features several improvements: + * - uses generic throwable code, reducing boilerplate nonsense + * - uses approach-based interpolation, preventing desyncs and making movement silky-smooth + * - new adjustments in the base class allow for multiple MOP impacts per frame + * - also comes with tons of legacy code to ensure compat (sadly) + * @author hbm + */ +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; } + @Override public void prevX(double d) { prevRenderX = d; } + @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; @@ -48,6 +81,8 @@ public class EntityBulletBaseNT extends EntityThrowableInterp { super(world); this.config = BulletConfigSyncingUtil.pullConfig(config); this.dataWatcher.updateObject(18, config); + this.dataWatcher.updateObject(16, (byte)this.config.style); + this.dataWatcher.updateObject(17, (byte)this.config.trail); this.renderDistanceWeight = 10.0D; if(this.config == null) { @@ -55,9 +90,6 @@ public class EntityBulletBaseNT extends EntityThrowableInterp { return; } - this.dataWatcher.updateObject(16, (byte)this.config.style); - this.dataWatcher.updateObject(17, (byte)this.config.trail); - this.setSize(0.5F, 0.5F); } @@ -65,6 +97,8 @@ public class EntityBulletBaseNT extends EntityThrowableInterp { super(world); this.config = BulletConfigSyncingUtil.pullConfig(config); this.dataWatcher.updateObject(18, config); + this.dataWatcher.updateObject(16, (byte)this.config.style); + this.dataWatcher.updateObject(17, (byte)this.config.trail); thrower = entity; ItemStack gun = entity.getHeldItem(); @@ -98,10 +132,8 @@ public class EntityBulletBaseNT extends EntityThrowableInterp { this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); + System.out.println("" + this.config.spread); this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, 1.0F, this.config.spread * (offsetShot ? 1F : 0.25F)); - - this.dataWatcher.updateObject(16, (byte)this.config.style); - this.dataWatcher.updateObject(17, (byte)this.config.trail); } public EntityBulletBaseNT(World world, int config, EntityLivingBase entity, EntityLivingBase target, float motion, float deviation) { @@ -109,6 +141,8 @@ public class EntityBulletBaseNT extends EntityThrowableInterp { this.config = BulletConfigSyncingUtil.pullConfig(config); this.dataWatcher.updateObject(18, config); + this.dataWatcher.updateObject(16, (byte)this.config.style); + this.dataWatcher.updateObject(17, (byte)this.config.trail); this.thrower = entity; this.renderDistanceWeight = 10.0D; @@ -129,9 +163,16 @@ public class EntityBulletBaseNT extends EntityThrowableInterp { this.yOffset = 0.0F; this.setThrowableHeading(d0, d1, d2, motion, deviation); } - - this.dataWatcher.updateObject(16, (byte)this.config.style); - this.dataWatcher.updateObject(17, (byte)this.config.trail); + } + + @Override + protected void entityInit() { + //style + this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); + //trail + this.dataWatcher.addObject(17, Byte.valueOf((byte) 0)); + //bullet config sync + this.dataWatcher.addObject(18, Integer.valueOf((int) 0)); } @Override @@ -176,7 +217,13 @@ public class EntityBulletBaseNT extends EntityThrowableInterp { } if(this.config.bUpdate != null) this.config.bntUpdate.behaveUpdate(this); + + if(this.ticksExisted > config.maxAge) this.setDead(); } + + this.prevPosX = posX; + this.prevPosY = posY; + this.prevPosZ = posZ; super.onUpdate(); @@ -204,6 +251,261 @@ public class EntityBulletBaseNT extends EntityThrowableInterp { if(mop.typeOfHit == mop.typeOfHit.BLOCK) { + boolean hRic = rand.nextInt(100) < config.HBRC; + boolean doesRic = config.doesRicochet || hRic; + + if(!config.isSpectral && !doesRic) { + this.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + this.onBlockImpact(mop.blockX, mop.blockY, mop.blockZ); + } + + if(doesRic) { + + Vec3 face = null; + + switch(mop.sideHit) { + case 0: face = Vec3.createVectorHelper(0, -1, 0); break; + case 1: face = Vec3.createVectorHelper(0, 1, 0); break; + case 2: face = Vec3.createVectorHelper(0, 0, 1); break; + case 3: face = Vec3.createVectorHelper(0, 0, -1); break; + case 4: face = Vec3.createVectorHelper(-1, 0, 0); break; + case 5: face = Vec3.createVectorHelper(1, 0, 0); break; + } + + if(face != null) { + + Vec3 vel = Vec3.createVectorHelper(motionX, motionY, motionZ); + vel.normalize(); + + boolean lRic = rand.nextInt(100) < config.LBRC; + double angle = Math.abs(BobMathUtil.getCrossAngle(vel, face) - 90); + + if(hRic || (angle <= config.ricochetAngle && lRic)) { + switch(mop.sideHit) { + case 0: + case 1: motionY *= -1; break; + case 2: + case 3: motionZ *= -1; break; + case 4: + case 5: motionX *= -1; break; + } + + if(config.plink == 1) + worldObj.playSoundAtEntity(this, "hbm:weapon.ricochet", 0.25F, 1.0F); + if(config.plink == 2) + worldObj.playSoundAtEntity(this, "hbm:weapon.gBounce", 1.0F, 1.0F); + + onRicochet(mop.blockX, mop.blockY, mop.blockZ); + + } else { + if(!worldObj.isRemote) { + this.setPosition(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); + onBlockImpact(mop.blockX, mop.blockY, mop.blockZ); + } + } + + 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 { + Field lastDamage = ReflectionHelper.findField(EntityLivingBase.class, "lastDamage", "field_110153_bc"); + float dmg = (float) damage + lastDamage.getFloat(victim); + if(!victim.attackEntityFrom(damagesource, dmg)) headshot = false; + } catch (Exception x) { } + + } + + if(!worldObj.isRemote && headshot) { + if(victim instanceof EntityLivingBase) { + EntityLivingBase living = (EntityLivingBase) victim; + double head = living.height - living.getEyeHeight(); + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", "vanillaburst"); + data.setInteger("count", 15); + 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)); + 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) { + + if(config.bntImpact != null) + config.bntImpact.behaveBlockHit(this, bX, bY, bZ); + + if(!worldObj.isRemote && !config.liveAfterImpact) + 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); + 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); + if(worldObj.rand.nextInt(3) == 0 && worldObj.getBlock((int)posX, (int)posY + 1, (int)posZ) == Blocks.air) worldObj.setBlock((int)posX, (int)posY + 1, (int)posZ, Blocks.fire); + if(worldObj.rand.nextInt(3) == 0 && worldObj.getBlock((int)posX, (int)posY - 1, (int)posZ) == Blocks.air) worldObj.setBlock((int)posX, (int)posY - 1, (int)posZ, Blocks.fire); + if(worldObj.rand.nextInt(3) == 0 && worldObj.getBlock((int)posX, (int)posY, (int)posZ + 1) == Blocks.air) worldObj.setBlock((int)posX, (int)posY, (int)posZ + 1, Blocks.fire); + if(worldObj.rand.nextInt(3) == 0 && worldObj.getBlock((int)posX, (int)posY, (int)posZ - 1) == Blocks.air) worldObj.setBlock((int)posX, (int)posY, (int)posZ - 1, Blocks.fire); + } + + 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, posX, posY, posZ, config.explosive, config.incendiary > 0, config.blockDamage); + + 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; + cloud.posZ = this.posZ; + this.worldObj.spawnEntityInWorld(cloud); + } + } + + if(config.nuke > 0 && !worldObj.isRemote) { + worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, config.nuke, posX, posY, posZ).mute()); + 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)); + worldObj.playSoundEffect(posX, posY, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); + } + + if(config.destroysBlocks && !worldObj.isRemote) { + if(worldObj.getBlock(bX, bY, bZ).getBlockHardness(worldObj, bX, bY, bZ) <= 120) + worldObj.func_147480_a(bX, bY, bZ, false); + } else if(config.doesBreakGlass && !worldObj.isRemote) { + if(worldObj.getBlock(bX, bY, bZ) == Blocks.glass || + worldObj.getBlock(bX, bY, bZ) == Blocks.glass_pane || + worldObj.getBlock(bX, bY, bZ) == Blocks.stained_glass || + worldObj.getBlock(bX, bY, bZ) == Blocks.stained_glass_pane) + worldObj.func_147480_a(bX, bY, bZ, false); + + if(worldObj.getBlock(bX, bY, bZ) == ModBlocks.red_barrel) + ((RedBarrel) ModBlocks.red_barrel).explode(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); + + if(config.bntHit != null) + config.bntHit.behaveEntityHit(this, e); + } + + //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); + ArmorUtil.damageSuit((EntityPlayer)e, 2, config.caustic); + ArmorUtil.damageSuit((EntityPlayer)e, 3, config.caustic); } } @@ -216,12 +518,55 @@ public class EntityBulletBaseNT extends EntityThrowableInterp { public boolean isSpectral() { return this.config.isSpectral; } - - public IBulletHurtBehavior bHurt; - public IBulletHitBehavior bHit; - public IBulletRicochetBehavior bRicochet; - public IBulletImpactBehavior bImpact; - public IBulletUpdateBehavior bUpdate; + + @Override + protected double headingForceMult() { + return 1D; + } + + @Override + public double getGravityVelocity() { + return this.config.gravity; + } + + @Override + protected double motionMult() { + return this.config.velocity; + } + + @Override + protected float getAirDrag() { + return 1F; + } + + @Override + protected float getWaterDrag() { + return 1F; + } + + @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); + } + + @Override + public void writeEntityToNBT(NBTTagCompound nbt) { + super.writeEntityToNBT(nbt); + nbt.setInteger("config", dataWatcher.getWatchableObjectInt(18)); + nbt.setFloat("damage", this.overrideDamage); + } public interface IBulletHurtBehaviorNT { public void behaveEntityHurt(EntityBulletBaseNT bullet, Entity hit); } public interface IBulletHitBehaviorNT { public void behaveEntityHit(EntityBulletBaseNT bullet, Entity hit); } diff --git a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java index 8136defa8..ca5a551b2 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java @@ -81,19 +81,27 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { return 1.5F; } + protected double headingForceMult() { + return 0.0075D; + } + protected float throwAngle() { return 0.0F; } + protected double motionMult() { + return 1.0D; + } + @Override public void setThrowableHeading(double motionX, double motionY, double motionZ, float velocity, float inaccuracy) { float throwLen = MathHelper.sqrt_double(motionX * motionX + motionY * motionY + motionZ * motionZ); motionX /= (double) throwLen; motionY /= (double) throwLen; motionZ /= (double) throwLen; - motionX += this.rand.nextGaussian() * 0.0075D * (double) inaccuracy; - motionY += this.rand.nextGaussian() * 0.0075D * (double) inaccuracy; - motionZ += this.rand.nextGaussian() * 0.0075D * (double) inaccuracy; + motionX += this.rand.nextGaussian() * headingForceMult() * (double) inaccuracy; + motionY += this.rand.nextGaussian() * headingForceMult() * (double) inaccuracy; + motionZ += this.rand.nextGaussian() * headingForceMult() * (double) inaccuracy; motionX *= (double) velocity; motionY *= (double) velocity; motionZ *= (double) velocity; @@ -155,11 +163,11 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { ++this.ticksInAir; Vec3 pos = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 nextPos = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + Vec3 nextPos = Vec3.createVectorHelper(this.posX + this.motionX * motionMult(), this.posY + this.motionY * motionMult(), this.posZ + this.motionZ * motionMult()); MovingObjectPosition mop = null; if(!this.isSpectral()) mop = this.worldObj.rayTraceBlocks(pos, nextPos); pos = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - nextPos = Vec3.createVectorHelper(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ); + nextPos = Vec3.createVectorHelper(this.posX + this.motionX * motionMult(), this.posY + this.motionY * motionMult(), this.posZ + this.motionZ * motionMult()); if(mop != null) { nextPos = Vec3.createVectorHelper(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); @@ -168,7 +176,7 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { if(!this.worldObj.isRemote) { Entity hitEntity = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX, this.motionY, this.motionZ).expand(1.0D, 1.0D, 1.0D)); + List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX * motionMult(), this.motionY * motionMult(), this.motionZ * motionMult()).expand(1.0D, 1.0D, 1.0D)); double nearest = 0.0D; EntityLivingBase thrower = this.getThrower(); @@ -212,9 +220,9 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { } } - this.posX += this.motionX; - this.posY += this.motionY; - this.posZ += this.motionZ; + this.posX += this.motionX * motionMult(); + this.posY += this.motionY * motionMult(); + this.posZ += this.motionZ * motionMult(); 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); diff --git a/src/main/java/com/hbm/entity/projectile/IBulletBase.java b/src/main/java/com/hbm/entity/projectile/IBulletBase.java new file mode 100644 index 000000000..635ce9a09 --- /dev/null +++ b/src/main/java/com/hbm/entity/projectile/IBulletBase.java @@ -0,0 +1,11 @@ +package com.hbm.entity.projectile; + +import java.util.List; +import com.hbm.util.Tuple.Pair; +import net.minecraft.util.Vec3; + +public interface IBulletBase { + public double prevX(); public double prevY(); public double prevZ(); + public void prevX(double d); public void prevY(double d); public void prevZ(double d); + public List> nodes(); +} diff --git a/src/main/java/com/hbm/handler/BulletConfiguration.java b/src/main/java/com/hbm/handler/BulletConfiguration.java index 53ebc9546..fe3745bc5 100644 --- a/src/main/java/com/hbm/handler/BulletConfiguration.java +++ b/src/main/java/com/hbm/handler/BulletConfiguration.java @@ -3,6 +3,7 @@ package com.hbm.handler; import java.util.List; import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.entity.projectile.EntityBulletBaseNT.*; import com.hbm.handler.guncfg.BulletConfigFactory; import com.hbm.interfaces.IBulletHitBehavior; @@ -10,7 +11,6 @@ import com.hbm.interfaces.IBulletHurtBehavior; import com.hbm.interfaces.IBulletImpactBehavior; import com.hbm.interfaces.IBulletRicochetBehavior; import com.hbm.interfaces.IBulletUpdateBehavior; -import com.hbm.interfaces.Untested; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; @@ -219,7 +219,6 @@ public class BulletConfiguration implements Cloneable { return this; } - @Untested public DamageSource getDamage(EntityBulletBase bullet, EntityLivingBase shooter) { DamageSource dmg; @@ -242,6 +241,28 @@ public class BulletConfiguration implements Cloneable { return dmg; } + public DamageSource getDamage(EntityBulletBaseNT bullet, EntityLivingBase shooter) { + + DamageSource dmg; + + String unloc = damageType; + + if(unloc.equals(ModDamageSource.s_zomg_prefix)) + unloc += (bullet.worldObj.rand.nextInt(5) + 1); //pain + + if(shooter != null) + dmg = new EntityDamageSourceIndirect(unloc, bullet, shooter); + else + dmg = new DamageSource(unloc); + + if(this.dmgProj) dmg.setProjectile(); + if(this.dmgFire) dmg.setFireDamage(); + if(this.dmgExplosion) dmg.setExplosion(); + if(this.dmgBypass) dmg.setDamageBypassesArmor(); + + return dmg; + } + @Override public BulletConfiguration clone() { try { diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBase.java b/src/main/java/com/hbm/items/weapon/ItemGunBase.java index c6b2625ef..930366673 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunBase.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunBase.java @@ -6,6 +6,7 @@ import org.lwjgl.input.Mouse; import com.hbm.config.GeneralConfig; import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.CasingEjector; @@ -273,7 +274,7 @@ public class ItemGunBase extends Item implements IHoldableWeapon, IItemHUD, IEqu //spawns the actual projectile, can be overridden to change projectile entity protected void spawnProjectile(World world, EntityPlayer player, ItemStack stack, int config) { - EntityBulletBase bullet = new EntityBulletBase(world, config, player); + EntityBulletBaseNT bullet = new EntityBulletBaseNT(world, config, player); world.spawnEntityInWorld(bullet); if(player instanceof EntityPlayerMP) diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index a3b34fa22..062c70bda 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -548,6 +548,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntitySchrab.class, new RenderFlare()); RenderingRegistry.registerEntityRenderingHandler(EntityBullet.class, new RenderRocket()); RenderingRegistry.registerEntityRenderingHandler(EntityBulletBase.class, new RenderBullet()); + 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.energy_ball)); 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 0c8f15481..d8c59d98f 100644 --- a/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java +++ b/src/main/java/com/hbm/render/entity/projectile/RenderBullet.java @@ -4,7 +4,7 @@ import java.util.Random; import org.lwjgl.opengl.GL11; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.IBulletBase; import com.hbm.handler.BulletConfiguration; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; @@ -71,7 +71,7 @@ public class RenderBullet extends Render { case BulletConfiguration.STYLE_APDS: renderAPDS(); break; case BulletConfiguration.STYLE_BLADE: renderBlade(); break; case BulletConfiguration.STYLE_BARREL: renderNuke(3); break; - case BulletConfiguration.STYLE_TAU: renderTau((EntityBulletBase) bullet, trail, f1); break; + case BulletConfiguration.STYLE_TAU: renderTau(bullet, trail, f1); break; default: renderBullet(trail); break; } @@ -482,7 +482,7 @@ public class RenderBullet extends Render { GL11.glPopMatrix(); } - private void renderTau(EntityBulletBase bullet, int trail, float interp) { + private void renderTau(Entity bullet, int trail, float interp) { Tessellator tessellator = Tessellator.instance; @@ -492,15 +492,17 @@ public class RenderBullet extends Render { double pY = bullet.prevPosY + (bullet.posY - bullet.prevPosY) * interp; double pZ = bullet.prevPosZ + (bullet.posZ - bullet.prevPosZ) * interp; - if(bullet.prevRenderY == 0) { - bullet.prevRenderX = pX; - bullet.prevRenderY = pY; - bullet.prevRenderZ = pZ; + IBulletBase iface = (IBulletBase) bullet; + + if(iface.prevY() == 0) { + iface.prevX(pX); + iface.prevY(pY); + iface.prevZ(pZ); } - double deltaX = bullet.prevRenderX - pX; - double deltaY = bullet.prevRenderY - pY; - double deltaZ = bullet.prevRenderZ - pZ; + double deltaX = iface.prevX() - pX; + double deltaY = iface.prevY() - pY; + double deltaZ = iface.prevZ() - pZ; EntityPlayer player = Minecraft.getMinecraft().thePlayer; double dX = player.lastTickPosX + (player.posX - player.lastTickPosX) * (double)interp; @@ -521,7 +523,7 @@ public class RenderBullet extends Render { b = 1; } - for(Pair pair : bullet.trailNodes) { + for(Pair pair : iface.nodes()) { Vec3 pos = pair.getKey(); double mult = 1D; @@ -533,8 +535,8 @@ public class RenderBullet extends Render { tessellator.startDrawingQuads(); tessellator.setNormal(0F, 1F, 0F); - for(int i = 0; i < bullet.trailNodes.size() - 1; i++) { - final Pair node = bullet.trailNodes.get(i), past = bullet.trailNodes.get(i + 1); + for(int i = 0; i < iface.nodes().size() - 1; i++) { + final Pair node = iface.nodes().get(i), past = iface.nodes().get(i + 1); final Vec3 nodeLoc = node.getKey(), pastLoc = past.getKey(); float nodeAlpha = node.getValue().floatValue(); float pastAlpha = past.getValue().floatValue(); @@ -582,9 +584,9 @@ public class RenderBullet extends Render { GL11.glDisable(GL11.GL_BLEND); GL11.glAlphaFunc(GL11.GL_GEQUAL, 0.1F); - bullet.prevRenderX = pX; - bullet.prevRenderY = pY; - bullet.prevRenderZ = pZ; + iface.prevX(pX); + iface.prevY(pY); + iface.prevZ(pZ); } @Override From 424d6c3486d0c5ffb4d7e9f7d951c026ba48f7fb Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Thu, 13 Jul 2023 23:39:04 -0500 Subject: [PATCH 257/285] RBMK redstone column that doesn't work (will work eventually) --- src/main/java/com/hbm/blocks/ModBlocks.java | 3 + .../hbm/blocks/machine/rbmk/RBMKRedstone.java | 33 ++++ .../com/hbm/inventory/gui/GUIRBMKConsole.java | 20 +- .../hbm/inventory/gui/GUIRBMKRedstone.java | 168 ++++++++++++++++ .../java/com/hbm/tileentity/TileMappings.java | 1 + .../machine/rbmk/TileEntityRBMKConsole.java | 22 ++- .../machine/rbmk/TileEntityRBMKRedstone.java | 182 ++++++++++++++++++ .../machine/rbmk/TileEntityRBMKRod.java | 6 + src/main/resources/assets/hbm/lang/en_US.lang | 5 + .../textures/blocks/rbmk/rbmk_redstone.png | Bin 0 -> 1294 bytes .../gui/reactors/gui_rbmk_console.png | Bin 6569 -> 6917 bytes .../gui/reactors/gui_rbmk_redstone.png | Bin 0 -> 3617 bytes 12 files changed, 430 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/machine/rbmk/RBMKRedstone.java create mode 100644 src/main/java/com/hbm/inventory/gui/GUIRBMKRedstone.java create mode 100644 src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRedstone.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_redstone.png create mode 100644 src/main/resources/assets/hbm/textures/gui/reactors/gui_rbmk_redstone.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 45c16a9e1..971f165b0 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1098,6 +1098,7 @@ public class ModBlocks { public static Block rbmk_storage; public static Block rbmk_cooler; public static Block rbmk_heater; + public static Block rbmk_redstone; public static Block rbmk_console; public static Block rbmk_crane_console; public static Block rbmk_loader; @@ -2146,6 +2147,7 @@ public class ModBlocks { 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_redstone = new RBMKRedstone().setBlockName("rbmk_redstone").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_redstone"); 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"); @@ -3143,6 +3145,7 @@ public class ModBlocks { GameRegistry.registerBlock(rbmk_storage, rbmk_storage.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_cooler, rbmk_cooler.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_heater, rbmk_heater.getUnlocalizedName()); + GameRegistry.registerBlock(rbmk_redstone, rbmk_redstone.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_console, rbmk_console.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_crane_console, rbmk_crane_console.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_loader, rbmk_loader.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRedstone.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRedstone.java new file mode 100644 index 000000000..5ee4f4480 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRedstone.java @@ -0,0 +1,33 @@ +package com.hbm.blocks.machine.rbmk; + +import com.hbm.tileentity.machine.rbmk.TileEntityRBMKRedstone; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.AxisAlignedBB; +import net.minecraft.world.World; + +public class RBMKRedstone extends RBMKBase { + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + + if(meta >= this.offset) + return new TileEntityRBMKRedstone(); + 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 openInv(world, x, y, z, player); + } + + @Override + public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { + return super.getCollisionBoundingBoxFromPool(world, x, y, z); + } + + @Override + public int getRenderType(){ + return this.renderIDPassive; + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java index 85be6afb7..c94647188 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java +++ b/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java @@ -305,7 +305,23 @@ public class GUIRBMKConsole extends GuiScreen { case REFLECTOR: break; case OUTGASSER: break; case BREEDER: break; - + + case REDSTONE: + + switch(col.data.getInteger("mode")) { + case 2: // slow flux + drawTexturedModalRect(guiLeft + x + 3, guiTop + y + size - 2, 142, 183 - 8, 3, 8); + break; + case 3: // fast flux + drawTexturedModalRect(guiLeft + x + 3, guiTop + y + size - 2, 142, 193 - 8, 3, 8); + break; + } + + if(col.data.getBoolean("active")) { //set active texture afterwards or it will override + drawTexturedModalRect(guiLeft + x + 4, guiTop + y + size - 2, 145, 204, 2, 8); + } + break; + case CONTROL: int color = col.data.getShort("color"); if(color > -1) @@ -341,7 +357,7 @@ public class GUIRBMKConsole extends GuiScreen { drawTexturedModalRect(guiLeft + x + 4, guiTop + y + 5, 44, 187, 2, 2); if(col.data.getShort("type") == Fluids.ULTRAHOTSTEAM.ordinal()) drawTexturedModalRect(guiLeft + x + 4, guiTop + y + 7, 44, 189, 2, 2); - + break; case HEATEX: diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKRedstone.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKRedstone.java new file mode 100644 index 000000000..913438e87 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIRBMKRedstone.java @@ -0,0 +1,168 @@ +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.ContainerRBMKGeneric; +import com.hbm.lib.RefStrings; +import com.hbm.packet.NBTControlPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.machine.rbmk.TileEntityRBMKRedstone; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; +import net.minecraft.client.gui.GuiTextField; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.util.ResourceLocation; + +public class GUIRBMKRedstone extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/reactors/gui_rbmk_redstone.png"); + private TileEntityRBMKRedstone rod; + + private GuiTextField[] fields; + + public GUIRBMKRedstone(InventoryPlayer invPlayer, TileEntityRBMKRedstone tile) { + super(new ContainerRBMKGeneric(invPlayer)); + rod = tile; + + fields = new GuiTextField[2]; + + this.xSize = 176; + this.ySize = 186; + } + + public void initGui() { + super.initGui(); + + Keyboard.enableRepeatEvents(true); + this.fields[0] = new GuiTextField(this.fontRendererObj, guiLeft + 56, guiTop + 25, 94, 18); + this.fields[1] = new GuiTextField(this.fontRendererObj, guiLeft + 29, guiTop + 60, 28, 10); + for(int i = 0; i < 2; i++) { + this.fields[i].setTextColor(0x00ff00); + this.fields[i].setDisabledTextColour(0x00ff00); + this.fields[i].setEnableBackgroundDrawing(false); + this.fields[i].setMaxStringLength(4); + this.fields[i].setText(String.valueOf(rod.threshold)); + if(i == 0) { + this.fields[i].setText(rod.channel == null ? "" : rod.channel); + this.fields[i].setMaxStringLength(10); + } + } + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + String value = ""; + switch(rod.mode) { + case 1: + value = "°C"; + break; + case 2: + case 3: + value = "/cm²/s"; + break; + } + + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 29, guiTop + 49, 28, 10, mouseX, mouseY, "Value: " + (rod.value) + value); + + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 69, guiTop + 56, 25, 25, mouseX, mouseY, "Monitor slow flux"); + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 96, guiTop + 56, 25, 25, mouseX, mouseY, "Monitor fast flux"); + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 123, guiTop + 56, 25, 25, mouseX, mouseY, "Monitor heat"); + + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 29, guiTop + 60, 28, 10, mouseX, mouseY, "Redstone Threshold"); + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 29, guiTop + 71, 28, 10, mouseX, mouseY, "Save threshold"); + } + + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + for(int j = 0; j < 2; j++) { + this.fields[j].mouseClicked(x, y, i); + } + + if(guiLeft + 29 <= x && guiLeft + 29 + 28 > x && guiTop + 71 < y && guiTop + 71 + 10 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + if(NumberUtils.isNumber(fields[1].getText())) { + data.setString("Ch_set", fields[0].getText() + ""); + data.setInteger("Threshold", Integer.parseInt(fields[1].getText())); + } else { + fields[0].setText(""); + fields[1].setText("0"); + } + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, rod.xCoord, rod.yCoord, rod.zCoord)); + } + for(int k = 0; k < 3; k++) { // button for each mode + if(guiLeft + 68 + k * 27 <= x && guiLeft + 68 + (k + 1) * 27 > x && guiTop + 55 < y && guiTop + 55 + 27 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + if(k == 0) + data.setInteger("Mode", 2); + if(k == 1) + data.setInteger("Mode", 3); + if(k == 2) + data.setInteger("Mode", 1); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, rod.xCoord, rod.yCoord, rod.zCoord)); + } + } + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.rod.hasCustomInventoryName() ? this.rod.getInventoryName() : I18n.format(this.rod.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); + + switch(rod.mode) { + case 1: + drawTexturedModalRect(guiLeft + 77, guiTop + 46, 180, 13, 9, 9); + drawTexturedModalRect(guiLeft + 104, guiTop + 46, 180, 13, 9, 9); + drawTexturedModalRect(guiLeft + 131, guiTop + 46, 180, 3, 9, 9); + break; + case 2: + drawTexturedModalRect(guiLeft + 77, guiTop + 46, 180, 13, 9, 9); + drawTexturedModalRect(guiLeft + 104, guiTop + 46, 180, 3, 9, 9); + drawTexturedModalRect(guiLeft + 131, guiTop + 46, 180, 13, 9, 9); + break; + case 3: + drawTexturedModalRect(guiLeft + 77, guiTop + 46, 180, 3, 9, 9); + drawTexturedModalRect(guiLeft + 104, guiTop + 46, 180, 13, 9, 9); + drawTexturedModalRect(guiLeft + 131, guiTop + 46, 180, 13, 9, 9); + break; + } + this.fields[0].drawTextBox(); + this.fields[1].drawTextBox(); + this.fontRendererObj.drawString(rod.trunc_v, 30, 50, 0xFF7F7F); + } + + @Override + protected void keyTyped(char c, int i) { + + for(int j = 0; j < 2; j++) { + if(this.fields[j].textboxKeyTyped(c, i)) + return; + } + + super.keyTyped(c, i); + } + + @Override + public void onGuiClosed() { + Keyboard.enableRepeatEvents(false); + } +} diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 0210ff1ad..dd348ddce 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -342,6 +342,7 @@ public class TileMappings { put(TileEntityRBMKAbsorber.class, "tileentity_rbmk_absorber"); put(TileEntityRBMKModerator.class, "tileentity_rbmk_moderator"); put(TileEntityRBMKOutgasser.class, "tileentity_rbmk_outgasser"); + put(TileEntityRBMKRedstone.class, "tileentity_rbmk_redstone"); put(TileEntityRBMKCooler.class, "tileentity_rbmk_cooler"); put(TileEntityRBMKHeater.class, "tileentity_rbmk_heater"); put(TileEntityRBMKStorage.class, "tileentity_rbmk_storage"); 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 4ce54e100..0e1d6baca 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java @@ -384,19 +384,24 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon stats.add(EnumChatFormatting.WHITE + I18nUtil.resolveKey("rbmk.boiler.steam", this.data.getInteger("steam"), this.data.getInteger("maxSteam"))); stats.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("rbmk.boiler.type", I18nUtil.resolveKey(Fluids.fromID(this.data.getShort("type")).getUnlocalizedName()))); break; + case REDSTONE: + stats.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("rbmk.redstone.active", Boolean.toString(data.getBoolean("active")))); + stats.add(EnumChatFormatting.WHITE + I18nUtil.resolveKey("rbmk.redstone.value", this.data.getString("value"), this.data.getInteger("threshold"))); + stats.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("rbmk.redstone.channel", this.data.getString("channel"))); + 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 + I18nUtil.resolveKey(I18nUtil.resolveKey(Fluids.fromID(this.data.getShort("type")).getUnlocalizedName()) + " " + this.data.getInteger("water") + "/" + this.data.getInteger("maxWater") + "mB")); @@ -404,7 +409,7 @@ 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")); @@ -426,9 +431,10 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon BREEDER(100), STORAGE(110), COOLER(120), - HEATEX(130); - - public int offset; + HEATEX(130), + REDSTONE(140); + + public int offset; private ColumnType(int offset) { this.offset = offset; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRedstone.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRedstone.java new file mode 100644 index 000000000..c21948360 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRedstone.java @@ -0,0 +1,182 @@ +package com.hbm.tileentity.machine.rbmk; + +import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.container.ContainerRBMKGeneric; +import com.hbm.inventory.gui.GUIRBMKRedstone; +import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; +import com.hbm.tileentity.network.RTTYSystem; +import cpw.mods.fml.common.Optional; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +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; +import net.minecraft.world.World; + +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityRBMKRedstone extends TileEntityRBMKSlottedBase implements IControlReceiver, SimpleComponent { + + + public int mode = 1; + public String channel = ""; + public int threshold = 0; + public boolean active = false; + public double sflux = 0.0; + public double fflux = 0.0; + public double value = 0.0; + public String trunc_v = ""; + + @Override + public String getName() { + return "container.rbmkRedstone"; + } + + public TileEntityRBMKRedstone() { + super(0); + } + + @Override + public void updateEntity() { + if (!worldObj.isRemote) { + + switch(mode) { + // mode = 1: Heat + // mode = 2: Slow Flux + // mode = 3: Fast Flux + case (1): + value = heat; + active = value > threshold; + break; + case (2): + value = sflux; + active = value > threshold; + break; + case (3): + value = fflux; + active = value > threshold; + break; + } + if(!channel.isEmpty()) { + if(active) { + RTTYSystem.broadcast(worldObj, channel, 15); + } else { + RTTYSystem.broadcast(worldObj, channel, 0); + } + } + } + super.updateEntity(); + } + + public void processFlux(Double flux, IRBMKFluxReceiver.NType stream) { + if(stream == IRBMKFluxReceiver.NType.SLOW) { + sflux = flux; + } else if (stream == IRBMKFluxReceiver.NType.FAST) { + fflux = flux; + } + } + + @Override + public boolean hasPermission(EntityPlayer player) {return true;} + + @Override + public void receiveControl(NBTTagCompound data) { + + if(data.hasKey("Ch_set")) { + channel = data.getString("Ch_set"); + threshold = data.getInteger("Threshold"); + } else if (data.hasKey("Mode")) { + int newMode = data.getInteger("Mode") % 4; + if(newMode <= 0) + newMode = 1; + mode = newMode; + } + this.markDirty(); + } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + mode = nbt.getInteger("mode"); + channel = nbt.getString("channel"); + threshold = nbt.getInteger("threshold"); + active = nbt.getBoolean("active"); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + nbt.setInteger("mode", mode); + nbt.setString("channel", channel); + nbt.setInteger("threshold", threshold); + nbt.setBoolean("active", active); + } + + public void getDiagData(NBTTagCompound nbt) { + super.getDiagData(nbt); + nbt.setString("mode", String.valueOf(mode)); + nbt.setString("channel", channel); + nbt.setString("threshold", String.valueOf(threshold)); + nbt.setString("active", String.valueOf(active)); + } + + @Override + public NBTTagCompound getNBTForConsole() { + NBTTagCompound data = new NBTTagCompound(); + + if(value >= 100) { + value = (int) value; + } else { + value = ((int) (value * 10)) / 10F; + } + data.setInteger("mode", mode); + data.setString("value", trunc_v); + data.setInteger("threshold", threshold); + data.setBoolean("active", active); + + return data; + } + + @Override + public void onMelt(int reduce) { + + int count = 1 + worldObj.rand.nextInt(2); + + for(int i = 0; i < count; i++) { + spawnDebris(DebrisType.BLANK); + } + + super.onMelt(reduce); + } + + @Override + public ColumnType getConsoleType() { + return ColumnType.REDSTONE; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } + + @Override + public String getComponentName() { + return "rbmk_redstone_rod"; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerRBMKGeneric(player.inventory); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUIRBMKRedstone(player.inventory, this); + } +} 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 f13f34952..bdf09c074 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -191,6 +191,12 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM return flux; } } + + if(te instanceof TileEntityRBMKRedstone) { + TileEntityRBMKRedstone rod = (TileEntityRBMKRedstone)te; + rod.processFlux(flux, stream); + return flux; + } if(te instanceof IRBMKFluxReceiver) { IRBMKFluxReceiver rod = (IRBMKFluxReceiver)te; diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 18ca110d5..b56c75ce4 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -722,6 +722,7 @@ container.rbmkHeater=RBMK Fluid Heater container.rbmkOutgasser=RBMK Irradiation Channel container.rbmkReaSim=RBMK Fuel Rod (ReaSim) container.rbmkRod=RBMK Fuel Rod +container.rbmkRedstone=RBMK Redstone Column container.rbmkStorage=RBMK Storage Column container.reactorBreeding=Breeding Reactor container.reactorControl=Reactor Remote Control Block @@ -4242,6 +4243,9 @@ rbmk.heat=Column temperature: %s rbmk.boiler.water=Feedwater: %s / %s rbmk.boiler.steam=Steam: %s / %s rbmk.boiler.type=Compressor: %s +rbmk.redstone.active=Active: %s +rbmk.redstone.value=Value: %s / %s +rbmk.redstone.channel=Channel: %s rbmk.console.assign=Assign selected columns to screen #%s rbmk.console.none=Off rbmk.console.col_temp=Monitor average column temperature @@ -5110,6 +5114,7 @@ tile.rbmk_control_mod.name=RBMK Moderated Control Rods tile.rbmk_crane_console.name=RBMK Crane Console tile.rbmk_heater.name=RBMK Fluid Heater tile.rbmk_heatex.name=RBMK Heat Exchanger +tile.rbmk_redstone.name=RBMK Redstone Column tile.rbmk_loader.name=RBMK Steam Connector tile.rbmk_moderator.name=RBMK Graphite Moderator tile.rbmk_outgasser.name=RBMK Irradiation Channel diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_redstone.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_redstone.png new file mode 100644 index 0000000000000000000000000000000000000000..8689b01c6bd228fd87a19f28265228547c540053 GIT binary patch literal 1294 zcmV+p1@ZccP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1fxkrK~z{rt(Hqq zWK|Hy>pr@ny8)p|V0eaCIx%rIegbvxdJ>1 z2-t)Lgh8O`xAm*;>bW+}4A}fT)#u!E&#C&KdYp5E&CSiGB#_Bu+P#}7l}hd2E1aF3 z$>`|loz`t{ZwJ;%zzEFF&dR{RfJ9N$9u}$B>ryV4tz{eufVgkd025NaDrkWyvZUY%b^@yl(wzP^^- z-CfD$a{nQKAqXHC_l+^WwzhVIKxluexbXegQm@w3U?g!A%aHC&%}SsP8`Y}BO$^zae)g5^%GaXY!L#q&caPwyUWoZaLA_L#rtbdNk3N%ZHft{{m5K>U0SXJ>K9$RI zMVifKC+_sS;RLHn9{slw2vLH9vhH3~PgY&Gv$G>V|Ma6gfBuX7`N!`X>!Q4Td1hpE zvNTj`8YV#NF~%5@BxIY@eCS0I*w#=IE5mf0lKRMq4CS)6>o|^0i1+2iMJtx|mSG2L znTrAXP6ES-d(R1X!``xBFbXyK8a8ogc-V|xYx(?he%?~589ilyvuyI5|171*%r!;FUXBi-%a}Mgg8< z6Mzu$+zUp4mo;5?r5=FsTY9iyd{~LlqMXCT5=jk&VPxfJ3Y54f9DM}C2;;PrBGL;+ zz+S51SfA4Av`I!Q!4#?jNR_TiHZQhn)N<8vNHNE2-3`(*&c+~3%X2S;eoO|{ilp@5 zVL?7WE{`5f$=v+BJbwJHy!ZYG^5K&wEhTzJQ1y@kw;6&2W5{jBft`f&b93^}58r5j zwWNq+pz#Vc92yoPn#~MonQETsSoP{s6E>3HKK@+(`nzZ$T3K0XX;Tm`#61Z-H&$0y zTd_*OsFC3>KKVk8=})JGQTtqI)Fo)@*^WY~$%xKQtGi!(`cx`jVbqqXb z9Cx{n0qbtPj@$hXUZ<>^Krf~Df#m?-1GuqJD45J?Qch1#%lP=XO`@Hcm=HoWuaz+~ zGb2+|Q}(W37y)8cEEYSNi!kP~Cyw;-403vU`bL-E6-IzMU07J?WG!F}!?>K5y7t=U z1BCuVkT3#XHhzxxf?Y@|%w?WeO26oQ5BLr-;Kq`K`2Kqn$^QfMfFBaL9Rob?@9!H4 z04Yy8-f`0Tntovfe8;XB5@fv_+1uN*4^X^tcz9?D>(_I?2)4GiZum4=>m(J{Px87=mT12)0)Pte zdmV!q@o~lwAM>((2$)6^5QP|UV;Js+8zwouLi&Y$5uuE-!vJtYgoW0}y+jWV4jzsG ze;6PU$!toI76IP(62)*npYM?B7x%u7K{EOJyN*Tv1vZWaatMlMMgRZ+07*qoM6N<$ Eg3aGGn5K2;oHUI!0eBwEvgJTe>oei>t$YArZ`}Jq&7Or< z0N_hIqoaBL=B2qzWR$??z~&LY-LWW$64ih>cy0Ebehw#n*wyYPN+s5s^JwLZyhq~h zkQiIyTDMN_^#YuQf?1ll_z^J}bf_Wtorz&uSdaLHK+*3Rd33fPB4?Yp6ViBK*P}#I zuy3x{c~V~fy8g5EQ~Hong`M2mTgyW=HL2U%!wcIrHEC(NLLN*apWm!Z7`21Iq2HRr?o_BQ(fr!;(>rzm;f%$Lpfj#x14<7Pi;3d2bBNkCvT>|1z1GY?RUvjF`yK2C*qoTj@9T-qO=8oQ*{Gr+4e)X@>w z2RfED$;Ro5R?npROW1nZZpM|3jg6JPW5-`FTxM{By!C`0Ix80Du~$tDDcOPM-ZabGS(x5zrH%jKYEJ81(3qWlaZ`VA=AAiq*8)sL$kP9O8zpSF8Jo zbadvO&J_BZqa9ILfyopMC_PrgiR*v?3s{wQW~LPBV+ozkH-kpq_=CEaP(q?o$H&h( zMW6{>Nf7ov+nsce{gkwfj2@f#Lni^Mǖj*gSziT)--Ts;H9>?4f^jsPdXlhNwv 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 O1<=(r(kNAPi25(&%t8JD diff --git a/src/main/resources/assets/hbm/textures/gui/reactors/gui_rbmk_redstone.png b/src/main/resources/assets/hbm/textures/gui/reactors/gui_rbmk_redstone.png new file mode 100644 index 0000000000000000000000000000000000000000..e824d8b2075111921c56ccb519f6fe12a8be9db8 GIT binary patch literal 3617 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 rG#5OfQ%$=Vo8NC^|A|s)zi&r{?z)Wmtx Date: Fri, 14 Jul 2023 15:09:46 +0200 Subject: [PATCH 258/285] ported all bullet effects to the NT system --- .../hbm/blocks/machine/BlockHadronCooler.java | 1 - .../java/com/hbm/entity/EntityMappings.java | 1 - .../hbm/entity/grenade/EntityGrenadeGas.java | 1 - .../hbm/entity/logic/EntityDeathBlast.java | 4 +- .../entity/missile/EntityMissileCustom.java | 4 +- .../java/com/hbm/entity/mob/EntityFBI.java | 1 - .../com/hbm/entity/mob/EntityTaintCrab.java | 4 +- .../java/com/hbm/entity/mob/EntityUFO.java | 12 +- .../mob/ai/EntityAIMaskmanLasergun.java | 8 +- .../entity/mob/ai/EntityAIMaskmanMinigun.java | 4 +- .../mob/botprime/EntityBOTPrimeBase.java | 6 +- .../entity/projectile/EntityBulletBase.java | 706 ------------------ .../entity/projectile/EntityBulletBaseNT.java | 14 +- .../projectile/EntityCombineBallNT.java | 4 +- .../entity/projectile/EntityThrowableNT.java | 4 + .../hbm/explosion/ExplosionNukeGeneric.java | 4 +- .../com/hbm/handler/BulletConfiguration.java | 36 +- .../handler/guncfg/BulletConfigFactory.java | 46 +- .../hbm/handler/guncfg/Gun12GaugeFactory.java | 69 +- .../handler/guncfg/Gun44MagnumFactory.java | 124 ++- .../hbm/handler/guncfg/Gun4GaugeFactory.java | 220 +++--- .../hbm/handler/guncfg/Gun50BMGFactory.java | 113 ++- .../hbm/handler/guncfg/Gun556mmFactory.java | 147 ++-- .../hbm/handler/guncfg/Gun75BoltFactory.java | 56 +- .../hbm/handler/guncfg/GunCannonFactory.java | 10 +- .../hbm/handler/guncfg/GunDartFactory.java | 63 +- .../handler/guncfg/GunDetonatorFactory.java | 30 +- .../hbm/handler/guncfg/GunEnergyFactory.java | 46 +- .../hbm/handler/guncfg/GunFatmanFactory.java | 75 +- .../hbm/handler/guncfg/GunGrenadeFactory.java | 12 +- .../com/hbm/handler/guncfg/GunNPCFactory.java | 145 ++-- .../hbm/handler/guncfg/GunOSIPRFactory.java | 10 +- .../hbm/handler/guncfg/GunRocketFactory.java | 84 +-- .../guncfg/GunRocketHomingFactory.java | 176 ++--- .../hbm/interfaces/IBulletHitBehavior.java | 12 - .../hbm/interfaces/IBulletHurtBehavior.java | 11 - .../hbm/interfaces/IBulletImpactBehavior.java | 11 - .../interfaces/IBulletRicochetBehavior.java | 10 - .../hbm/interfaces/IBulletUpdateBehavior.java | 10 - .../com/hbm/inventory/gui/GUIBookLore.java | 2 - .../com/hbm/items/special/ItemBookLore.java | 2 - .../java/com/hbm/items/weapon/GunFolly.java | 4 +- .../com/hbm/items/weapon/GunLeverAction.java | 271 ------- .../java/com/hbm/items/weapon/GunOSIPR.java | 129 ---- .../java/com/hbm/items/weapon/GunSMG.java | 99 --- .../java/com/hbm/items/weapon/GunShotgun.java | 187 ----- .../com/hbm/items/weapon/ItemGunBase.java | 1 - .../com/hbm/items/weapon/ItemGunGauss.java | 4 +- .../weapon/gununified/ItemEnergyGunBase.java | 4 +- src/main/java/com/hbm/main/ClientProxy.java | 1 - .../java/com/hbm/main/ModEventHandler.java | 4 +- .../render/tileentity/RendererObjTester.java | 12 +- .../conductor/TileEntityFluidDuctSimple.java | 1 - .../deco/TileEntityTrappedBrick.java | 4 +- .../turret/TileEntityTurretBaseNT.java | 4 +- .../turret/TileEntityTurretFritz.java | 4 +- .../turret/TileEntityTurretRichard.java | 4 +- .../com/hbm/world/gen/NTMWorldGenerator.java | 3 - 58 files changed, 656 insertions(+), 2378 deletions(-) delete mode 100644 src/main/java/com/hbm/entity/projectile/EntityBulletBase.java delete mode 100644 src/main/java/com/hbm/interfaces/IBulletHitBehavior.java delete mode 100644 src/main/java/com/hbm/interfaces/IBulletHurtBehavior.java delete mode 100644 src/main/java/com/hbm/interfaces/IBulletImpactBehavior.java delete mode 100644 src/main/java/com/hbm/interfaces/IBulletRicochetBehavior.java delete mode 100644 src/main/java/com/hbm/interfaces/IBulletUpdateBehavior.java delete mode 100644 src/main/java/com/hbm/items/weapon/GunLeverAction.java delete mode 100644 src/main/java/com/hbm/items/weapon/GunOSIPR.java delete mode 100644 src/main/java/com/hbm/items/weapon/GunSMG.java delete mode 100644 src/main/java/com/hbm/items/weapon/GunShotgun.java diff --git a/src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java b/src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java index 95fcb17de..a242772e2 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java +++ b/src/main/java/com/hbm/blocks/machine/BlockHadronCooler.java @@ -11,7 +11,6 @@ import com.hbm.util.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; diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index 49b065651..c9eb1c210 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -157,7 +157,6 @@ public class EntityMappings { addEntity(EntityGrenadeIFHopwire.class, "entity_grenade_ironshod_hopwire", 250); addEntity(EntityGrenadeIFNull.class, "entity_grenade_ironshod_null", 250); addEntity(EntityFallingNuke.class, "entity_falling_bomb", 1000); - addEntity(EntityBulletBase.class, "entity_bullet_mk2", 250); addEntity(EntityBulletBaseNT.class, "entity_bullet_mk3", 250, false); addEntity(EntityMinerRocket.class, "entity_miner_lander", 1000); addEntity(EntityFogFX.class, "entity_nuclear_fog", 1000); diff --git a/src/main/java/com/hbm/entity/grenade/EntityGrenadeGas.java b/src/main/java/com/hbm/entity/grenade/EntityGrenadeGas.java index 51d813653..20be9af9c 100644 --- a/src/main/java/com/hbm/entity/grenade/EntityGrenadeGas.java +++ b/src/main/java/com/hbm/entity/grenade/EntityGrenadeGas.java @@ -6,7 +6,6 @@ import net.minecraft.world.World; import java.util.Random; import com.hbm.entity.effect.EntityMist; -import com.hbm.explosion.ExplosionChaos; import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; import com.hbm.items.weapon.ItemGrenade; diff --git a/src/main/java/com/hbm/entity/logic/EntityDeathBlast.java b/src/main/java/com/hbm/entity/logic/EntityDeathBlast.java index 1065b019d..c4ffd67f3 100644 --- a/src/main/java/com/hbm/entity/logic/EntityDeathBlast.java +++ b/src/main/java/com/hbm/entity/logic/EntityDeathBlast.java @@ -1,6 +1,6 @@ package com.hbm.entity.logic; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; @@ -45,7 +45,7 @@ public class EntityDeathBlast extends Entity { Vec3 vec = Vec3.createVectorHelper(0.2, 0, 0); vec.rotateAroundY((float)(2 * Math.PI * i / (float)count)); - EntityBulletBase laser = new EntityBulletBase(worldObj, BulletConfigSyncingUtil.MASKMAN_BOLT); + EntityBulletBaseNT laser = new EntityBulletBaseNT(worldObj, BulletConfigSyncingUtil.MASKMAN_BOLT); laser.setPosition(posX, posY + 2, posZ); laser.motionX = vec.xCoord; laser.motionZ = vec.zCoord; diff --git a/src/main/java/com/hbm/entity/missile/EntityMissileCustom.java b/src/main/java/com/hbm/entity/missile/EntityMissileCustom.java index 12a2b845a..6deaa70ce 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMissileCustom.java +++ b/src/main/java/com/hbm/entity/missile/EntityMissileCustom.java @@ -9,7 +9,7 @@ import com.hbm.entity.effect.EntityNukeCloudSmall; import com.hbm.entity.logic.EntityBalefire; import com.hbm.entity.logic.EntityNukeExplosionMK5; import com.hbm.entity.logic.IChunkLoader; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.explosion.ExplosionChaos; import com.hbm.explosion.ExplosionLarge; import com.hbm.handler.BulletConfigSyncingUtil; @@ -371,7 +371,7 @@ public class EntityMissileCustom extends Entity implements IChunkLoader, IRadarD Vec3 vec = Vec3.createVectorHelper(0.5, 0, 0); for(int i = 0; i < count; i++) { - EntityBulletBase blade = new EntityBulletBase(worldObj, BulletConfigSyncingUtil.TURBINE); + EntityBulletBaseNT blade = new EntityBulletBaseNT(worldObj, BulletConfigSyncingUtil.TURBINE); blade.setPositionAndRotation(this.posX - this.motionX, this.posY - this.motionY + rand.nextGaussian(), this.posZ - this.motionZ, 0, 0); blade.motionX = vec.xCoord; blade.motionZ = vec.zCoord; diff --git a/src/main/java/com/hbm/entity/mob/EntityFBI.java b/src/main/java/com/hbm/entity/mob/EntityFBI.java index 827db49bd..c6426a6b3 100644 --- a/src/main/java/com/hbm/entity/mob/EntityFBI.java +++ b/src/main/java/com/hbm/entity/mob/EntityFBI.java @@ -7,7 +7,6 @@ import java.util.Set; import com.hbm.blocks.ModBlocks; import com.hbm.config.MobConfig; import com.hbm.entity.mob.ai.EntityAIBreaking; -import com.hbm.entity.mob.ai.EntityAI_MLPF; import com.hbm.entity.pathfinder.PathFinderUtils; import com.hbm.entity.projectile.EntityBullet; import com.hbm.items.ModItems; diff --git a/src/main/java/com/hbm/entity/mob/EntityTaintCrab.java b/src/main/java/com/hbm/entity/mob/EntityTaintCrab.java index 9c733ef12..aa0851cc9 100644 --- a/src/main/java/com/hbm/entity/mob/EntityTaintCrab.java +++ b/src/main/java/com/hbm/entity/mob/EntityTaintCrab.java @@ -3,7 +3,7 @@ package com.hbm.entity.mob; import java.util.ArrayList; import java.util.List; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.items.ModItems; import com.hbm.packet.AuxParticlePacketNT; @@ -72,7 +72,7 @@ public class EntityTaintCrab extends EntityCyberCrab { @Override public void attackEntityWithRangedAttack(EntityLivingBase entity, float f) { - EntityBulletBase bullet = new EntityBulletBase(worldObj, BulletConfigSyncingUtil.BMG50_STAR, this); + EntityBulletBaseNT bullet = new EntityBulletBaseNT(worldObj, BulletConfigSyncingUtil.BMG50_STAR, this); Vec3 motion = Vec3.createVectorHelper(posX - entity.posX, posY - entity.posZ - entity.height / 2, posZ - entity.posZ); motion = motion.normalize(); NBTTagCompound data = new NBTTagCompound(); diff --git a/src/main/java/com/hbm/entity/mob/EntityUFO.java b/src/main/java/com/hbm/entity/mob/EntityUFO.java index 95e03d499..4a8f46ee5 100644 --- a/src/main/java/com/hbm/entity/mob/EntityUFO.java +++ b/src/main/java/com/hbm/entity/mob/EntityUFO.java @@ -3,7 +3,7 @@ package com.hbm.entity.mob; import java.util.ArrayList; import java.util.List; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.explosion.ExplosionNukeSmall; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.items.ModItems; @@ -326,8 +326,8 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I Vec3 heading = Vec3.createVectorHelper(e.posX - pivotX, e.posY + e.height / 2 - pivotY, e.posZ - pivotZ); heading = heading.normalize(); - EntityBulletBase bullet = new EntityBulletBase(this.worldObj, BulletConfigSyncingUtil.WORM_LASER); - bullet.shooter = this; + EntityBulletBaseNT bullet = new EntityBulletBaseNT(this.worldObj, BulletConfigSyncingUtil.WORM_LASER); + bullet.setThrower(this); bullet.setPosition(pivotX, pivotY, pivotZ); bullet.setThrowableHeading(heading.xCoord, heading.yCoord, heading.zCoord, 2F, 0.02F); this.worldObj.spawnEntityInWorld(bullet); @@ -339,8 +339,8 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I Vec3 heading = Vec3.createVectorHelper(e.posX - this.posX, e.posY + e.height / 2 - posY - 0.5D, e.posZ - this.posZ); heading = heading.normalize(); - EntityBulletBase bullet = new EntityBulletBase(this.worldObj, BulletConfigSyncingUtil.UFO_ROCKET); - bullet.shooter = this; + EntityBulletBaseNT bullet = new EntityBulletBaseNT(this.worldObj, BulletConfigSyncingUtil.UFO_ROCKET); + bullet.setThrower(this); bullet.setPosition(this.posX, this.posY - 0.5D, this.posZ); bullet.setThrowableHeading(heading.xCoord, heading.yCoord, heading.zCoord, 2F, 0.02F); bullet.getEntityData().setInteger("homingTarget", e.getEntityId()); @@ -350,7 +350,7 @@ public class EntityUFO extends EntityFlying implements IMob, IBossDisplayData, I @Override public boolean canAttackClass(Class clazz) { - return clazz != this.getClass() && clazz != EntityBulletBase.class; + return clazz != this.getClass() && clazz != EntityBulletBaseNT.class; } @Override diff --git a/src/main/java/com/hbm/entity/mob/ai/EntityAIMaskmanLasergun.java b/src/main/java/com/hbm/entity/mob/ai/EntityAIMaskmanLasergun.java index a298ce331..e6abf7d7b 100644 --- a/src/main/java/com/hbm/entity/mob/ai/EntityAIMaskmanLasergun.java +++ b/src/main/java/com/hbm/entity/mob/ai/EntityAIMaskmanLasergun.java @@ -1,6 +1,6 @@ package com.hbm.entity.mob.ai; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.handler.BulletConfigSyncingUtil; import net.minecraft.entity.EntityCreature; @@ -52,7 +52,7 @@ public class EntityAIMaskmanLasergun extends EntityAIBase { switch(attack) { case ORB: - EntityBulletBase orb = new EntityBulletBase(owner.worldObj, BulletConfigSyncingUtil.MASKMAN_ORB, owner, target, 2.0F, 0); + EntityBulletBaseNT orb = new EntityBulletBaseNT(owner.worldObj, BulletConfigSyncingUtil.MASKMAN_ORB, owner, target, 2.0F, 0); orb.motionY += 0.5D; owner.worldObj.spawnEntityInWorld(orb); @@ -60,7 +60,7 @@ public class EntityAIMaskmanLasergun extends EntityAIBase { break; case MISSILE: - EntityBulletBase missile = new EntityBulletBase(owner.worldObj, BulletConfigSyncingUtil.MASKMAN_ROCKET, owner, target, 1.0F, 0); + EntityBulletBaseNT missile = new EntityBulletBaseNT(owner.worldObj, BulletConfigSyncingUtil.MASKMAN_ROCKET, owner, target, 1.0F, 0); Vec3 vec = Vec3.createVectorHelper(target.posX - owner.posX, 0, target.posZ - owner.posZ); missile.motionX = vec.xCoord * 0.05D; missile.motionY = 0.5D + owner.getRNG().nextDouble() * 0.5D; @@ -73,7 +73,7 @@ public class EntityAIMaskmanLasergun extends EntityAIBase { case SPLASH: for(int i = 0; i < 5; i++) { - EntityBulletBase tracer = new EntityBulletBase(owner.worldObj, BulletConfigSyncingUtil.MASKMAN_TRACER, owner, target, 1.0F, 0.05F); + EntityBulletBaseNT tracer = new EntityBulletBaseNT(owner.worldObj, BulletConfigSyncingUtil.MASKMAN_TRACER, owner, target, 1.0F, 0.05F); owner.worldObj.spawnEntityInWorld(tracer); } break; diff --git a/src/main/java/com/hbm/entity/mob/ai/EntityAIMaskmanMinigun.java b/src/main/java/com/hbm/entity/mob/ai/EntityAIMaskmanMinigun.java index e56037204..c794a1d3b 100644 --- a/src/main/java/com/hbm/entity/mob/ai/EntityAIMaskmanMinigun.java +++ b/src/main/java/com/hbm/entity/mob/ai/EntityAIMaskmanMinigun.java @@ -1,6 +1,6 @@ package com.hbm.entity.mob.ai; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.handler.BulletConfigSyncingUtil; import net.minecraft.entity.EntityCreature; @@ -49,7 +49,7 @@ public class EntityAIMaskmanMinigun extends EntityAIBase { if(timer <= 0) { timer = delay; - EntityBulletBase bullet = new EntityBulletBase(owner.worldObj, BulletConfigSyncingUtil.MASKMAN_BULLET, owner, target, 1.0F, 0); + EntityBulletBaseNT bullet = new EntityBulletBaseNT(owner.worldObj, BulletConfigSyncingUtil.MASKMAN_BULLET, owner, target, 1.0F, 0); owner.worldObj.spawnEntityInWorld(bullet); owner.playSound("hbm:weapon.calShoot", 1.0F, 1.0F); } diff --git a/src/main/java/com/hbm/entity/mob/botprime/EntityBOTPrimeBase.java b/src/main/java/com/hbm/entity/mob/botprime/EntityBOTPrimeBase.java index 1aedbd326..2ec6a830e 100644 --- a/src/main/java/com/hbm/entity/mob/botprime/EntityBOTPrimeBase.java +++ b/src/main/java/com/hbm/entity/mob/botprime/EntityBOTPrimeBase.java @@ -1,6 +1,6 @@ package com.hbm.entity.mob.botprime; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.handler.BulletConfigSyncingUtil; import api.hbm.entity.IRadiationImmune; @@ -80,14 +80,14 @@ public abstract class EntityBOTPrimeBase extends EntityWormBaseNT implements IRa for(int i = 0; i < 5; i++) { - EntityBulletBase bullet = new EntityBulletBase(this.worldObj, BulletConfigSyncingUtil.WORM_LASER, this, living, 1.0F, i * 0.05F); + EntityBulletBaseNT bullet = new EntityBulletBaseNT(this.worldObj, BulletConfigSyncingUtil.WORM_LASER, this, living, 1.0F, i * 0.05F); this.worldObj.spawnEntityInWorld(bullet); } this.playSound("hbm:weapon.ballsLaser", 5.0F, 0.75F); } else { - EntityBulletBase bullet = new EntityBulletBase(this.worldObj, BulletConfigSyncingUtil.WORM_BOLT, this, living, 0.5F, 0.125F); + EntityBulletBaseNT bullet = new EntityBulletBaseNT(this.worldObj, BulletConfigSyncingUtil.WORM_BOLT, this, living, 0.5F, 0.125F); this.worldObj.spawnEntityInWorld(bullet); this.playSound("hbm:weapon.ballsLaser", 5.0F, 1.0F); } diff --git a/src/main/java/com/hbm/entity/projectile/EntityBulletBase.java b/src/main/java/com/hbm/entity/projectile/EntityBulletBase.java deleted file mode 100644 index e0c8fdb92..000000000 --- a/src/main/java/com/hbm/entity/projectile/EntityBulletBase.java +++ /dev/null @@ -1,706 +0,0 @@ -package com.hbm.entity.projectile; - -import java.lang.reflect.Field; -import java.util.ArrayList; -import java.util.List; - -import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.generic.RedBarrel; -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.handler.BulletConfigSyncingUtil; -import com.hbm.handler.BulletConfiguration; -import com.hbm.handler.GunConfiguration; -import com.hbm.items.weapon.ItemGunBase; -import com.hbm.main.MainRegistry; -import com.hbm.packet.AuxParticlePacketNT; -import com.hbm.packet.PacketDispatcher; -import com.hbm.potion.HbmPotion; -import com.hbm.util.ArmorUtil; -import com.hbm.util.BobMathUtil; -import com.hbm.util.Tuple.Pair; - -import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -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.entity.Entity; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.entity.IProjectile; -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.AxisAlignedBB; -import net.minecraft.util.DamageSource; -import net.minecraft.util.EntityDamageSource; -import net.minecraft.util.MathHelper; -import net.minecraft.util.MovingObjectPosition; -import net.minecraft.util.Vec3; -import net.minecraft.world.World; - -public class EntityBulletBase extends Entity implements IProjectile, IBulletBase { - - @Override public double prevX() { return prevRenderX; } - @Override public double prevY() { return prevRenderY; } - @Override public double prevZ() { return prevRenderZ; } - @Override public void prevX(double d) { prevRenderX = d; } - @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 EntityLivingBase shooter; - public float overrideDamage; - - public double prevRenderX; - public double prevRenderY; - public double prevRenderZ; - public final List> trailNodes = new ArrayList(); - - public BulletConfiguration getConfig() { - return config; - } - - public EntityBulletBase(World world) { - super(world); - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - } - - public EntityBulletBase(World world, int config) { - super(world); - this.config = BulletConfigSyncingUtil.pullConfig(config); - this.dataWatcher.updateObject(18, config); - this.renderDistanceWeight = 10.0D; - - if(this.config == null) { - this.setDead(); - return; - } - - this.dataWatcher.updateObject(16, (byte)this.config.style); - this.dataWatcher.updateObject(17, (byte)this.config.trail); - - this.setSize(0.5F, 0.5F); - } - - public EntityBulletBase(World world, int config, EntityLivingBase entity) { - super(world); - this.config = BulletConfigSyncingUtil.pullConfig(config); - this.dataWatcher.updateObject(18, config); - shooter = entity; - - ItemStack gun = entity.getHeldItem(); - boolean offsetShot = true; - - if(gun != null && gun.getItem() instanceof ItemGunBase) { - GunConfiguration cfg = ((ItemGunBase) gun.getItem()).mainConfig; - - if(cfg != null && cfg.hasSights && entity.isSneaking()) { - 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; - } else { - 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)); - - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - - this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, 1.0F, this.config.spread * (offsetShot ? 1F : 0.25F)); - - this.dataWatcher.updateObject(16, (byte)this.config.style); - this.dataWatcher.updateObject(17, (byte)this.config.trail); - } - - public EntityBulletBase(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.shooter = entity; - - this.renderDistanceWeight = 10.0D; - this.setSize(0.5F, 0.5F); - - this.posY = entity.posY + entity.getEyeHeight() - 0.10000000149011612D; - double d0 = target.posX - entity.posX; - double d1 = target.boundingBox.minY + target.height / 3.0F - this.posY; - double d2 = target.posZ - entity.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(entity.posX + d4, this.posY, entity.posZ + d5, f2, f3); - this.yOffset = 0.0F; - this.setThrowableHeading(d0, d1, d2, motion, deviation); - } - - this.dataWatcher.updateObject(16, (byte)this.config.style); - this.dataWatcher.updateObject(17, (byte)this.config.trail); - } - - public boolean attackEntityFrom(DamageSource source, float amount) { - - this.setBeenAttacked(); - - if(source instanceof EntityDamageSource) { - EntityDamageSource dmg = (EntityDamageSource) source; - - if(dmg.damageType.equals("player")) { - this.motionX *= -1.5; - this.motionY *= -1.5; - this.motionZ *= -1.5; - return true; - } - } - return false; - } - - @Override - public void setThrowableHeading(double moX, double moY, double moZ, float mult1, float mult2) { - - float f2 = MathHelper.sqrt_double(moX * moX + moY * moY + moZ * moZ); - moX /= f2; - moY /= f2; - moZ /= f2; - moX += this.rand.nextGaussian() * mult2; - moY += this.rand.nextGaussian() * mult2; - moZ += this.rand.nextGaussian() * mult2; - moX *= mult1; - moY *= mult1; - moZ *= mult1; - this.motionX = moX; - this.motionY = moY; - this.motionZ = moZ; - - float f3 = MathHelper.sqrt_double(moX * moX + moZ * moZ); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(moX, moZ) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(moY, f3) * 180.0D / Math.PI); - } - - @Override - @SideOnly(Side.CLIENT) - public void setPositionAndRotation2(double x, double y, double z, float r0, float r1, int i) { - this.setPosition(x, y, z); - this.setRotation(r0, r1); - } - - @Override - @SideOnly(Side.CLIENT) - public void setVelocity(double x, double y, double z) { - this.motionX = x; - this.motionY = y; - this.motionZ = z; - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = MathHelper.sqrt_double(x * x + z * z); - this.prevRotationYaw = this.rotationYaw = (float) (Math.atan2(x, z) * 180.0D / Math.PI); - this.prevRotationPitch = this.rotationPitch = (float) (Math.atan2(y, 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); - } - } - - @Override - protected void entityInit() { - //style - this.dataWatcher.addObject(16, Byte.valueOf((byte) 0)); - //trail - this.dataWatcher.addObject(17, Byte.valueOf((byte) 0)); - //bullet config sync - this.dataWatcher.addObject(18, Integer.valueOf((int) 0)); - } - - @Override - public void onUpdate() { - super.onUpdate(); - - if(config == null) - config = BulletConfigSyncingUtil.pullConfig(dataWatcher.getWatchableObjectInt(18)); - - if(config == null){ - this.setDead(); - return; - } - - if(worldObj.isRemote && config.style == config.STYLE_TAU) { - if(trailNodes.isEmpty()) { - this.ignoreFrustumCheck = true; - trailNodes.add(new Pair(Vec3.createVectorHelper(-motionX * 2, -motionY * 2, -motionZ * 2), 0D)); - } else { - trailNodes.add(new Pair(Vec3.createVectorHelper(0, 0, 0), 1D)); - } - } - - if(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, - (this.motionX + rand.nextGaussian() * 0.05) * mod, - (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(config.maxAge == 0) { - - if(this.config.bUpdate != null) - this.config.bUpdate.behaveUpdate(this); - - this.setDead(); - return; - } - - if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F) { - float f = 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); - } - - /// ZONE 1 START /// - //entity and block collision, plinking - - /// ZONE 2 START /// - //entity detection - Vec3 vecOrigin = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - Vec3 vecDestination = Vec3.createVectorHelper(this.posX + this.motionX * this.config.velocity, this.posY + this.motionY * this.config.velocity, this.posZ + this.motionZ * this.config.velocity); - MovingObjectPosition movement = this.worldObj.func_147447_a(vecOrigin, vecDestination, false, true, false); - vecOrigin = Vec3.createVectorHelper(this.posX, this.posY, this.posZ); - vecDestination = Vec3.createVectorHelper(this.posX + this.motionX * this.config.velocity, this.posY + this.motionY * this.config.velocity, this.posZ + this.motionZ * this.config.velocity); - - MovingObjectPosition impact = null; - - Entity victim = null; - List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX * this.config.velocity, this.motionY * this.config.velocity, this.motionZ * this.config.velocity).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.shooter)) { - f1 = 0.3F; - AxisAlignedBB axisalignedbb1 = entity1.boundingBox.expand(f1, f1, f1); - MovingObjectPosition movingobjectposition1 = axisalignedbb1.calculateIntercept(vecOrigin, vecDestination); - - if (movingobjectposition1 != null) { - double d1 = vecOrigin.distanceTo(movingobjectposition1.hitVec); - - if (d1 < d0 || d0 == 0.0D) { - victim = entity1; - impact = movingobjectposition1; - d0 = d1; - } - } - } - } - - if (victim != null) { - movement = new MovingObjectPosition(victim); - movement.hitVec.yCoord += victim.height * 0.5D; - } - - /// ZONE 2 END /// - - boolean didBounce = false; - - if(movement != null) { - - //handle entity collision - if(movement.entityHit != null) { - - DamageSource damagesource = this.config.getDamage(this, shooter); - - if(!worldObj.isRemote) { - if(!config.doesPenetrate) { - this.setPosition(movement.hitVec.xCoord, movement.hitVec.yCoord, movement.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() && impact.hitVec != null && impact.hitVec.yCoord > (living.posY + living.height - head * 2)) { - damage *= this.config.headshotMult; - headshot = true; - } - } - - if(victim != null && !victim.attackEntityFrom(damagesource, damage)) { - - try { - Field lastDamage = ReflectionHelper.findField(EntityLivingBase.class, "lastDamage", "field_110153_bc"); - - float dmg = (float) damage + lastDamage.getFloat(victim); - - if(!victim.attackEntityFrom(damagesource, dmg)) { - headshot = false; - } - } catch (Exception x) { } - - } - - if(!worldObj.isRemote && headshot) { - if(victim instanceof EntityLivingBase) { - EntityLivingBase living = (EntityLivingBase) victim; - double head = living.height - living.getEyeHeight(); - NBTTagCompound data = new NBTTagCompound(); - data.setString("type", "vanillaburst"); - data.setInteger("count", 15); - 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)); - worldObj.playSoundEffect(victim.posX, victim.posY, victim.posZ, "mob.zombie.woodbreak", 1.0F, 0.95F + rand.nextFloat() * 0.2F); - } - } - - //handle block collision - } else if(worldObj.getBlock(movement.blockX, movement.blockY, movement.blockZ).getMaterial() != Material.air) { - - boolean hRic = rand.nextInt(100) < config.HBRC; - boolean doesRic = config.doesRicochet || hRic; - - if(!config.isSpectral && !doesRic) { - this.setPosition(movement.hitVec.xCoord, movement.hitVec.yCoord, movement.hitVec.zCoord); - this.onBlockImpact(movement.blockX, movement.blockY, movement.blockZ); - } - - if(doesRic) { - - Vec3 face = null; - - switch(movement.sideHit) { - case 0: - face = Vec3.createVectorHelper(0, -1, 0); break; - case 1: - face = Vec3.createVectorHelper(0, 1, 0); break; - case 2: - face = Vec3.createVectorHelper(0, 0, 1); break; - case 3: - face = Vec3.createVectorHelper(0, 0, -1); break; - case 4: - face = Vec3.createVectorHelper(-1, 0, 0); break; - case 5: - face = Vec3.createVectorHelper(1, 0, 0); break; - } - - if(face != null) { - - Vec3 vel = Vec3.createVectorHelper(motionX, motionY, motionZ); - vel.normalize(); - - boolean lRic = rand.nextInt(100) < config.LBRC; - double angle = Math.abs(BobMathUtil.getCrossAngle(vel, face) - 90); - - if(hRic || (angle <= config.ricochetAngle && lRic)) { - switch(movement.sideHit) { - case 0: - case 1: - motionY *= -1; break; - case 2: - case 3: - motionZ *= -1; break; - case 4: - case 5: - motionX *= -1; break; - } - - if(config.plink == 1) - worldObj.playSoundAtEntity(this, "hbm:weapon.ricochet", 0.25F, 1.0F); - if(config.plink == 2) - worldObj.playSoundAtEntity(this, "hbm:weapon.gBounce", 1.0F, 1.0F); - - onRicochet(movement.blockX, movement.blockY, movement.blockZ); - - } else { - if(!worldObj.isRemote) { - this.setPosition(movement.hitVec.xCoord, movement.hitVec.yCoord, movement.hitVec.zCoord); - onBlockImpact(movement.blockX, movement.blockY, movement.blockZ); - } - } - - this.posX += (movement.hitVec.xCoord - this.posX) * 0.6; - this.posY += (movement.hitVec.yCoord - this.posY) * 0.6; - this.posZ += (movement.hitVec.zCoord - this.posZ) * 0.6; - - this.motionX *= config.bounceMod; - this.motionY *= config.bounceMod; - this.motionZ *= config.bounceMod; - - didBounce = true; - } - } - } - - } - - /// ZONE 1 END /// - - if(!didBounce) { - motionY -= config.gravity; - this.posX += this.motionX * this.config.velocity; - this.posY += this.motionY * this.config.velocity; - this.posZ += this.motionZ * this.config.velocity; - this.setPosition(this.posX, this.posY, this.posZ); - } - - /// SPECIAL UPDATE BEHAVIOR /// - if(this.config.bUpdate != null) - this.config.bUpdate.behaveUpdate(this); - - float f2; - this.rotationYaw = (float) (Math.atan2(this.motionX, this.motionZ) * 180.0D / Math.PI); - f2 = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ); - 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; - } - - if(this.ticksExisted > config.maxAge) - this.setDead(); - - 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); - nbt.setDouble("posX", this.posX - vec.xCoord * d); - nbt.setDouble("posY", this.posY - vec.yCoord * d); - nbt.setDouble("posZ", this.posZ - vec.zCoord * d); - MainRegistry.proxy.effectNT(nbt); - } - } - - //this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F; - //this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F; - } - - //for when a bullet dies by hitting a block - private void onBlockImpact(int bX, int bY, int bZ) { - - if(config.bImpact != null) - config.bImpact.behaveBlockHit(this, bX, bY, bZ); - - if(!worldObj.isRemote && !config.liveAfterImpact) - 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); - 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); - if(worldObj.rand.nextInt(3) == 0 && worldObj.getBlock((int)posX, (int)posY + 1, (int)posZ) == Blocks.air) worldObj.setBlock((int)posX, (int)posY + 1, (int)posZ, Blocks.fire); - if(worldObj.rand.nextInt(3) == 0 && worldObj.getBlock((int)posX, (int)posY - 1, (int)posZ) == Blocks.air) worldObj.setBlock((int)posX, (int)posY - 1, (int)posZ, Blocks.fire); - if(worldObj.rand.nextInt(3) == 0 && worldObj.getBlock((int)posX, (int)posY, (int)posZ + 1) == Blocks.air) worldObj.setBlock((int)posX, (int)posY, (int)posZ + 1, Blocks.fire); - if(worldObj.rand.nextInt(3) == 0 && worldObj.getBlock((int)posX, (int)posY, (int)posZ - 1) == Blocks.air) worldObj.setBlock((int)posX, (int)posY, (int)posZ - 1, Blocks.fire); - } - - 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, posX, posY, posZ, config.explosive, config.incendiary > 0, config.blockDamage); - - 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; - cloud.posZ = this.posZ; - this.worldObj.spawnEntityInWorld(cloud); - } - } - - if(config.nuke > 0 && !worldObj.isRemote) { - worldObj.spawnEntityInWorld(EntityNukeExplosionMK5.statFac(worldObj, config.nuke, posX, posY, posZ).mute()); - 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)); - worldObj.playSoundEffect(posX, posY, posZ, "hbm:weapon.mukeExplosion", 15.0F, 1.0F); - } - - if(config.destroysBlocks && !worldObj.isRemote) { - if(worldObj.getBlock(bX, bY, bZ).getBlockHardness(worldObj, bX, bY, bZ) <= 120) - worldObj.func_147480_a(bX, bY, bZ, false); - } else if(config.doesBreakGlass && !worldObj.isRemote) { - if(worldObj.getBlock(bX, bY, bZ) == Blocks.glass || - worldObj.getBlock(bX, bY, bZ) == Blocks.glass_pane || - worldObj.getBlock(bX, bY, bZ) == Blocks.stained_glass || - worldObj.getBlock(bX, bY, bZ) == Blocks.stained_glass_pane) - worldObj.func_147480_a(bX, bY, bZ, false); - - if(worldObj.getBlock(bX, bY, bZ) == ModBlocks.red_barrel) - ((RedBarrel) ModBlocks.red_barrel).explode(worldObj, bX, bY, bZ); - } - } - - //for when a bullet dies by hitting a block - private void onRicochet(int bX, int bY, int bZ) { - - if(config.bRicochet != null) - config.bRicochet.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); - - if(config.bHit != null) - config.bHit.behaveEntityHit(this, e); - } - - //for when a bullet hurts an entity, not necessarily dying - private void onEntityHurt(Entity e) { - - if(config.bHurt != null) - config.bHurt.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); - ArmorUtil.damageSuit((EntityPlayer)e, 2, config.caustic); - ArmorUtil.damageSuit((EntityPlayer)e, 3, config.caustic); - } - } - - @Override - protected void readEntityFromNBT(NBTTagCompound nbt) { - - int cfg = nbt.getInteger("config"); - this.config = BulletConfigSyncingUtil.pullConfig(cfg); - - if(this.config == null) { - this.setDead(); - return; - } - - this.overrideDamage = nbt.getFloat("damage"); - - this.dataWatcher.updateObject(18, cfg); - - this.dataWatcher.updateObject(16, (byte)this.config.style); - this.dataWatcher.updateObject(17, (byte)this.config.trail); - } - - @Override - protected void writeEntityToNBT(NBTTagCompound nbt) { - - nbt.setInteger("config", dataWatcher.getWatchableObjectInt(18)); - - nbt.setFloat("damage", this.overrideDamage); - } - -} diff --git a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java index a3ce55d10..1e8b6efee 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java @@ -211,12 +211,12 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet if(!worldObj.isRemote) { if(config.maxAge == 0) { - if(this.config.bUpdate != null) this.config.bntUpdate.behaveUpdate(this); + if(this.config.bntUpdate != null) this.config.bntUpdate.behaveUpdate(this); this.setDead(); return; } - if(this.config.bUpdate != null) this.config.bntUpdate.behaveUpdate(this); + if(this.config.bntUpdate != null) this.config.bntUpdate.behaveUpdate(this); if(this.ticksExisted > config.maxAge) this.setDead(); } @@ -568,9 +568,9 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet nbt.setFloat("damage", this.overrideDamage); } - public interface IBulletHurtBehaviorNT { public void behaveEntityHurt(EntityBulletBaseNT bullet, Entity hit); } - public interface IBulletHitBehaviorNT { public void behaveEntityHit(EntityBulletBaseNT bullet, Entity hit); } - public interface IBulletRicochetBehaviorNT { public void behaveBlockRicochet(EntityBulletBaseNT bullet, int x, int y, int z); } - public interface IBulletImpactBehaviorNT { public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z); } - public interface IBulletUpdateBehaviorNT { public void behaveUpdate(EntityBulletBaseNT bullet); } + 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); } + public static interface IBulletImpactBehaviorNT { public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z); } + public static interface IBulletUpdateBehaviorNT { public void behaveUpdate(EntityBulletBaseNT bullet); } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityCombineBallNT.java b/src/main/java/com/hbm/entity/projectile/EntityCombineBallNT.java index 1c0b0f27c..e9c5dc228 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityCombineBallNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityCombineBallNT.java @@ -3,7 +3,7 @@ package com.hbm.entity.projectile; import net.minecraft.entity.EntityLivingBase; import net.minecraft.world.World; -public class EntityCombineBallNT extends EntityBulletBase { +public class EntityCombineBallNT extends EntityBulletBaseNT { public EntityCombineBallNT(World world, int config, EntityLivingBase shooter) { super(world, config, shooter); @@ -13,6 +13,6 @@ public class EntityCombineBallNT extends EntityBulletBase { @Override public void setDead() { super.setDead(); - worldObj.createExplosion(shooter, posX, posY, posZ, 2, false); + worldObj.createExplosion(this.getThrower(), posX, posY, posZ, 2, false); } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java index ca5a551b2..4f71aeedb 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java @@ -327,6 +327,10 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { public float getShadowSize() { return 0.0F; } + + public void setThrower(EntityLivingBase thrower) { + this.thrower = thrower; + } public EntityLivingBase getThrower() { if(this.thrower == null && this.throwerName != null && this.throwerName.length() > 0) { diff --git a/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java b/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java index c8c15c8a9..c2a58d0a1 100644 --- a/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java +++ b/src/main/java/com/hbm/explosion/ExplosionNukeGeneric.java @@ -24,7 +24,7 @@ import com.hbm.entity.effect.EntityNukeCloudSmall; import com.hbm.entity.grenade.EntityGrenadeASchrab; import com.hbm.entity.grenade.EntityGrenadeNuclear; import com.hbm.entity.missile.EntityMIRV; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.entity.projectile.EntityExplosiveBeam; import com.hbm.interfaces.Spaghetti; import com.hbm.items.ModItems; @@ -108,7 +108,7 @@ public class ExplosionNukeGeneric { e instanceof EntityGrenadeASchrab || e instanceof EntityGrenadeNuclear || e instanceof EntityExplosiveBeam || - e instanceof EntityBulletBase || + e instanceof EntityBulletBaseNT || e instanceof EntityPlayer && ArmorUtil.checkArmor((EntityPlayer) e, ModItems.euphemium_helmet, ModItems.euphemium_plate, ModItems.euphemium_legs, ModItems.euphemium_boots)) { return true; diff --git a/src/main/java/com/hbm/handler/BulletConfiguration.java b/src/main/java/com/hbm/handler/BulletConfiguration.java index fe3745bc5..f91077c2c 100644 --- a/src/main/java/com/hbm/handler/BulletConfiguration.java +++ b/src/main/java/com/hbm/handler/BulletConfiguration.java @@ -2,15 +2,9 @@ package com.hbm.handler; import java.util.List; -import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.entity.projectile.EntityBulletBaseNT.*; import com.hbm.handler.guncfg.BulletConfigFactory; -import com.hbm.interfaces.IBulletHitBehavior; -import com.hbm.interfaces.IBulletHurtBehavior; -import com.hbm.interfaces.IBulletImpactBehavior; -import com.hbm.interfaces.IBulletRicochetBehavior; -import com.hbm.interfaces.IBulletUpdateBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; @@ -88,11 +82,11 @@ public class BulletConfiguration implements Cloneable { public int caustic; public boolean destroysBlocks; public boolean instakill; - public IBulletHurtBehavior bHurt; + /*public IBulletHurtBehavior bHurt; public IBulletHitBehavior bHit; public IBulletRicochetBehavior bRicochet; public IBulletImpactBehavior bImpact; - public IBulletUpdateBehavior bUpdate; + public IBulletUpdateBehavior bUpdate;*/ public IBulletHurtBehaviorNT bntHurt; public IBulletHitBehaviorNT bntHit; public IBulletRicochetBehaviorNT bntRicochet; @@ -179,13 +173,13 @@ public class BulletConfiguration implements Cloneable { public BulletConfiguration setToGuided() { - this.bUpdate = BulletConfigFactory.getLaserSteering(); + this.bntUpdate = BulletConfigFactory.getLaserSteering(); this.doesRicochet = false; return this; } public BulletConfiguration getChlorophyte() { - this.bUpdate = BulletConfigFactory.getHomingBehavior(200, 45); + this.bntUpdate = BulletConfigFactory.getHomingBehavior(200, 45); this.dmgMin *= 1.5F; this.dmgMax *= 1.5F; this.wear *= 0.5; @@ -219,28 +213,6 @@ public class BulletConfiguration implements Cloneable { return this; } - public DamageSource getDamage(EntityBulletBase bullet, EntityLivingBase shooter) { - - DamageSource dmg; - - String unloc = damageType; - - if(unloc.equals(ModDamageSource.s_zomg_prefix)) - unloc += (bullet.worldObj.rand.nextInt(5) + 1); //pain - - if(shooter != null) - dmg = new EntityDamageSourceIndirect(unloc, bullet, shooter); - else - dmg = new DamageSource(unloc); - - if(this.dmgProj) dmg.setProjectile(); - if(this.dmgFire) dmg.setFireDamage(); - if(this.dmgExplosion) dmg.setExplosion(); - if(this.dmgBypass) dmg.setDamageBypassesArmor(); - - return dmg; - } - public DamageSource getDamage(EntityBulletBaseNT bullet, EntityLivingBase shooter) { DamageSource dmg; diff --git a/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java b/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java index c8e3bebd0..01549a613 100644 --- a/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/BulletConfigFactory.java @@ -4,13 +4,12 @@ import java.util.List; import java.util.Random; import com.hbm.entity.particle.EntityBSmokeFX; -import com.hbm.entity.projectile.EntityBulletBase; +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.interfaces.IBulletImpactBehavior; -import com.hbm.interfaces.IBulletUpdateBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ItemAmmoEnums.*; import com.hbm.items.ModItems; @@ -144,10 +143,10 @@ public class BulletConfigFactory { bullet.leadChance = 0; bullet.vPFX = "reddust"; - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = new IBulletImpactBehaviorNT() { @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { if(bullet.worldObj.isRemote) return; @@ -164,9 +163,10 @@ public class BulletConfigFactory { Vec3 motion = Vec3.createVectorHelper(bullet.posX - dx, bullet.posY - dy, bullet.posZ - dz); motion = motion.normalize(); - EntityBulletBase bolt = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.R556_FLECHETTE_DU); + 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) { @@ -310,12 +310,12 @@ public class BulletConfigFactory { } } - public static IBulletImpactBehavior getPhosphorousEffect(final int radius, final int duration, final int count, final double motion, float hazeChance) { + public static IBulletImpactBehaviorNT getPhosphorousEffect(final int radius, final int duration, final int count, final double motion, float hazeChance) { - IBulletImpactBehavior impact = new IBulletImpactBehavior() { + IBulletImpactBehaviorNT impact = new IBulletImpactBehaviorNT() { @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { 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)); @@ -352,12 +352,12 @@ public class BulletConfigFactory { return impact; } - public static IBulletImpactBehavior getGasEffect(final int radius, final int duration) { + public static IBulletImpactBehaviorNT getGasEffect(final int radius, final int duration) { - IBulletImpactBehavior impact = new IBulletImpactBehavior() { + IBulletImpactBehaviorNT impact = new IBulletImpactBehaviorNT() { @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { 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)); @@ -401,20 +401,20 @@ public class BulletConfigFactory { return impact; } - public static IBulletUpdateBehavior getLaserSteering() { + public static IBulletUpdateBehaviorNT getLaserSteering() { - IBulletUpdateBehavior onUpdate = new IBulletUpdateBehavior() { + IBulletUpdateBehaviorNT onUpdate = new IBulletUpdateBehaviorNT() { @Override - public void behaveUpdate(EntityBulletBase bullet) { + public void behaveUpdate(EntityBulletBaseNT bullet) { - if(bullet.shooter == null || !(bullet.shooter instanceof EntityPlayer)) + if(bullet.getThrower() == null || !(bullet.getThrower() instanceof EntityPlayer)) return; - if(Vec3.createVectorHelper(bullet.posX - bullet.shooter.posX, bullet.posY - bullet.shooter.posY, bullet.posZ - bullet.shooter.posZ).lengthVector() > 100) + 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.shooter, 200, 1); + MovingObjectPosition mop = Library.rayTrace((EntityPlayer)bullet.getThrower(), 200, 1); if(mop == null || mop.hitVec == null) return; @@ -438,12 +438,12 @@ public class BulletConfigFactory { return onUpdate; } - public static IBulletUpdateBehavior getHomingBehavior(final double range, final double angle) { + public static IBulletUpdateBehaviorNT getHomingBehavior(final double range, final double angle) { - IBulletUpdateBehavior onUpdate = new IBulletUpdateBehavior() { + IBulletUpdateBehaviorNT onUpdate = new IBulletUpdateBehaviorNT() { @Override - public void behaveUpdate(EntityBulletBase bullet) { + public void behaveUpdate(EntityBulletBaseNT bullet) { if(bullet.worldObj.isRemote) return; @@ -467,7 +467,7 @@ public class BulletConfigFactory { } } - private void chooseTarget(EntityBulletBase bullet) { + private void chooseTarget(EntityBulletBaseNT bullet) { List entities = bullet.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, bullet.boundingBox.expand(range, range, range)); @@ -478,7 +478,7 @@ public class BulletConfigFactory { for(EntityLivingBase e : entities) { - if(!e.isEntityAlive() || e == bullet.shooter) + 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); diff --git a/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java index 0a397f04a..424deacfc 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun12GaugeFactory.java @@ -2,12 +2,9 @@ package com.hbm.handler.guncfg; import java.util.List; -import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.CasingEjector; import com.hbm.handler.GunConfiguration; -import com.hbm.interfaces.IBulletHurtBehavior; -import com.hbm.interfaces.IBulletUpdateBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ItemAmmoEnums.Ammo12Gauge; import com.hbm.items.ModItems; @@ -372,14 +369,10 @@ public class Gun12GaugeFactory { bullet.dmgMax = 500; bullet.leadChance = 50; - bullet.bHurt = new IBulletHurtBehavior() { - - @Override - public void behaveEntityHurt(EntityBulletBase bullet, Entity hit) { + bullet.bntHurt = (bulletnt, hit) -> { - if(hit instanceof EntityLivingBase) - ((EntityLivingBase)hit).addPotionEffect(new PotionEffect(HbmPotion.bang.id, 20, 0)); - } + if(hit instanceof EntityLivingBase) + ((EntityLivingBase)hit).addPotionEffect(new PotionEffect(HbmPotion.bang.id, 20, 0)); }; @@ -413,38 +406,34 @@ public class Gun12GaugeFactory { bullet.spentCasing = CASING12GAUGE.clone().register("12GaPerc").setColor(0x9E1616, SpentCasing.COLOR_CASE_12GA).setupSmoke(1F, 0.5D, 60, 40); - bullet.bUpdate = new IBulletUpdateBehavior() { - - @Override - public void behaveUpdate(EntityBulletBase bullet) { + 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); - if(!bullet.worldObj.isRemote) { - - Vec3 vec = Vec3.createVectorHelper(bullet.motionX, bullet.motionY, bullet.motionZ); - double radius = 4; - double x = bullet.posX + vec.xCoord; - double y = bullet.posY + vec.yCoord; - double z = bullet.posZ + vec.zCoord; - AxisAlignedBB aabb = AxisAlignedBB.getBoundingBox(x, y, z, x, y, z).expand(radius, radius, radius); - List list = bullet.worldObj.getEntitiesWithinAABBExcludingEntity(bullet.shooter, aabb); - - for(Entity e : list) { - DamageSource source = bullet.shooter instanceof EntityPlayer ? DamageSource.causePlayerDamage((EntityPlayer) bullet.shooter) : 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) -bullet.rotationPitch + 90); - data.setFloat("yaw", (float) bullet.rotationYaw); - data.setFloat("scale", 2F); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, x, y, z), new TargetPoint(bullet.dimension, x, y, z, 100)); - - bullet.setDead(); + 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(); } }; diff --git a/src/main/java/com/hbm/handler/guncfg/Gun44MagnumFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun44MagnumFactory.java index 05ad9902a..a0dff1be2 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun44MagnumFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun44MagnumFactory.java @@ -5,14 +5,11 @@ 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.EntityBulletBase; 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.interfaces.IBulletHitBehavior; -import com.hbm.interfaces.IBulletImpactBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; import com.hbm.items.ItemAmmoEnums.Ammo44Magnum; @@ -27,7 +24,6 @@ import com.hbm.potion.HbmPotion; import com.hbm.render.util.RenderScreenOverlay.Crosshair; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.entity.Entity; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.PotionEffect; import net.minecraft.util.ResourceLocation; @@ -227,19 +223,15 @@ public class Gun44MagnumFactory { bullet.effects = new ArrayList(); bullet.effects.add(new PotionEffect(eff)); - bullet.bImpact = new IBulletImpactBehavior() { - - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - - 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, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50)); - } + bullet.bntImpact = (bulletnt, x, y, z) -> { + + 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"); @@ -272,27 +264,21 @@ public class Gun44MagnumFactory { bullet.wear = 25; bullet.doesPenetrate = false; - bullet.bHit = new IBulletHitBehavior() { - - @Override - public void behaveEntityHit(EntityBulletBase bullet, Entity hit) { + bullet.bntHit = (bulletnt, hit) -> { - if(!bullet.worldObj.isRemote) { - EntityBoxcar pippo = new EntityBoxcar(bullet.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(bullet.worldObj, pippo.posX + (bullet.worldObj.rand.nextDouble() - 0.5) * 4, pippo.posY + (bullet.worldObj.rand.nextDouble() - 0.5) * 12, pippo.posZ + (bullet.worldObj.rand.nextDouble() - 0.5) * 4, 0, 0, 0); - bullet.worldObj.spawnEntityInWorld(fx); - } - bullet.worldObj.spawnEntityInWorld(pippo); - - bullet.worldObj.playSoundEffect(pippo.posX, - pippo.posY + 50, - pippo.posZ, "hbm:alarm.trainHorn", 100F, 1F); + 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); } }; @@ -311,29 +297,22 @@ public class Gun44MagnumFactory { bullet.wear = 25; bullet.doesPenetrate = false; - bullet.bHit = new IBulletHitBehavior() { - - @Override - public void behaveEntityHit(EntityBulletBase bullet, Entity hit) { + bullet.bntHit = (bulletnt, hit) -> { - if(!bullet.worldObj.isRemote) { - EntityDuchessGambit pippo = new EntityDuchessGambit(bullet.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(bullet.worldObj, pippo.posX + (bullet.worldObj.rand.nextDouble() - 0.5) * 7, pippo.posY + (bullet.worldObj.rand.nextDouble() - 0.5) * 8, pippo.posZ + (bullet.worldObj.rand.nextDouble() - 0.5) * 18, 0, 0, 0); - bullet.worldObj.spawnEntityInWorld(fx); - } - bullet.worldObj.spawnEntityInWorld(pippo); - - bullet.worldObj.playSoundEffect(pippo.posX, - pippo.posY + 50, - pippo.posZ, "hbm:weapon.boat", 100F, 1F); + 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); @@ -351,29 +330,22 @@ public class Gun44MagnumFactory { bullet.wear = 25; bullet.doesPenetrate = false; - bullet.bHit = new IBulletHitBehavior() { - - @Override - public void behaveEntityHit(EntityBulletBase bullet, Entity hit) { + bullet.bntHit = (bulletnt, hit) -> { - if(!bullet.worldObj.isRemote) { - EntityBuilding pippo = new EntityBuilding(bullet.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(bullet.worldObj, pippo.posX + (bullet.worldObj.rand.nextDouble() - 0.5) * 15, pippo.posY + (bullet.worldObj.rand.nextDouble() - 0.5) * 15, pippo.posZ + (bullet.worldObj.rand.nextDouble() - 0.5) * 15, 0, 0, 0); - bullet.worldObj.spawnEntityInWorld(fx); - } - bullet.worldObj.spawnEntityInWorld(pippo); - - bullet.worldObj.playSoundEffect(pippo.posX, - pippo.posY + 50, - pippo.posZ, "hbm:block.debris", 100F, 1F); + 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); diff --git a/src/main/java/com/hbm/handler/guncfg/Gun4GaugeFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun4GaugeFactory.java index 191867b61..191c0eb93 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun4GaugeFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun4GaugeFactory.java @@ -3,7 +3,7 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; import java.util.List; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.explosion.ExplosionLarge; import com.hbm.explosion.ExplosionNT; import com.hbm.explosion.ExplosionNT.ExAttrib; @@ -12,9 +12,6 @@ import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.CasingEjector; import com.hbm.handler.GunConfiguration; -import com.hbm.interfaces.IBulletHurtBehavior; -import com.hbm.interfaces.IBulletImpactBehavior; -import com.hbm.interfaces.IBulletUpdateBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; import com.hbm.items.ItemAmmoEnums.Ammo4Gauge; @@ -33,7 +30,6 @@ 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.EntityCreature; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -209,19 +205,15 @@ public class Gun4GaugeFactory { bullet.effects = new ArrayList(); bullet.effects.add(new PotionEffect(eff)); - bullet.bImpact = new IBulletImpactBehavior() { - - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - - 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, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50)); - } + bullet.bntImpact = (bulletnt, x, y, z) -> { + + 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); @@ -259,22 +251,18 @@ public class Gun4GaugeFactory { bullet.trail = 1; bullet.explosive = 0.0F; - bullet.bImpact = new IBulletImpactBehavior() { - - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - - if(bullet.worldObj.isRemote) - return; - - ExplosionNT explosion = new ExplosionNT(bullet.worldObj, null, bullet.posX, bullet.posY, bullet.posZ, 4); - explosion.atttributes.add(ExAttrib.ALLDROP); - explosion.atttributes.add(ExAttrib.NOHURT); - explosion.doExplosionA(); - explosion.doExplosionB(false); - - ExplosionLarge.spawnParticles(bullet.worldObj, bullet.posX, bullet.posY, bullet.posZ, 15); - } + bullet.bntImpact = (bulletnt, x, y, z) -> { + + 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); @@ -295,21 +283,17 @@ public class Gun4GaugeFactory { bullet.trail = 1; bullet.explosive = 0.0F; - bullet.bImpact = new IBulletImpactBehavior() { - - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - - if(bullet.worldObj.isRemote) - return; - - ExplosionNT explosion = new ExplosionNT(bullet.worldObj, null, bullet.posX, bullet.posY, bullet.posZ, 6); - explosion.atttributes.add(ExAttrib.BALEFIRE); - explosion.doExplosionA(); - explosion.doExplosionB(false); - - ExplosionLarge.spawnParticles(bullet.worldObj, bullet.posX, bullet.posY, bullet.posZ, 30); - } + bullet.bntImpact = (bulletnt, x, y, z) -> { + + 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); @@ -348,23 +332,20 @@ public class Gun4GaugeFactory { bullet.trail = 4; bullet.vPFX = "smoke"; - bullet.bUpdate = new IBulletUpdateBehavior() { - - @Override - public void behaveUpdate(EntityBulletBase bullet) { + bullet.bntUpdate = (bulletnt) -> { + + if(!bulletnt.worldObj.isRemote) { - if(!bullet.worldObj.isRemote) { + if(bulletnt.ticksExisted > 10) { + bulletnt.setDead(); - if(bullet.ticksExisted > 10) { - bullet.setDead(); + for(int i = 0; i < 50; i++) { - for(int i = 0; i < 50; i++) { - - EntityBulletBase bolt = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.M44_AP); - bolt.setPosition(bullet.posX, bullet.posY, bullet.posZ); - bolt.setThrowableHeading(bullet.motionX, bullet.motionY, bullet.motionZ, 0.25F, 0.1F); - bullet.worldObj.spawnEntityInWorld(bolt); - } + 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); } } } @@ -397,25 +378,21 @@ public class Gun4GaugeFactory { bullet.bulletsMax *= 2; bullet.leadChance = 100; - bullet.bHurt = new IBulletHurtBehavior() { - - @Override - public void behaveEntityHurt(EntityBulletBase bullet, Entity hit) { + bullet.bntHurt = (bulletnt, hit) -> { + + if(bulletnt.worldObj.isRemote) + return; + + if(hit instanceof EntityLivingBase) { + EntityLivingBase living = (EntityLivingBase) hit; + float f = living.getHealth(); - if(bullet.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) { - f = Math.max(0, f - 2); - living.setHealth(f); - - if(f == 0) - living.onDeath(ModDamageSource.causeBulletDamage(bullet, hit)); - } + if(f == 0) + living.onDeath(ModDamageSource.causeBulletDamage(bulletnt, hit)); } } }; @@ -437,25 +414,21 @@ public class Gun4GaugeFactory { bullet.leadChance = 100; bullet.style = BulletConfiguration.STYLE_FLECHETTE; - bullet.bHurt = new IBulletHurtBehavior() { + bullet.bntHurt = (bulletnt, hit) -> { - @Override - public void behaveEntityHurt(EntityBulletBase bullet, Entity hit) { - - if(bullet.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); - } + 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); } } }; @@ -476,20 +449,16 @@ public class Gun4GaugeFactory { bullet.bulletsMax *= 2; bullet.leadChance = 0; - bullet.bHurt = new IBulletHurtBehavior() { + bullet.bntHurt = (bulletnt, hit) -> { + + if(bulletnt.worldObj.isRemote) + return; - @Override - public void behaveEntityHurt(EntityBulletBase bullet, Entity hit) { - - if(bullet.worldObj.isRemote) - return; - - if(hit instanceof EntityPlayer) { - EntityPlayer player = (EntityPlayer) hit; - - player.inventory.dropAllItems(); - player.worldObj.newExplosion(bullet.shooter, player.posX, player.posY, player.posZ, 5.0F, true, true); - } + 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); } }; @@ -512,27 +481,20 @@ public class Gun4GaugeFactory { bullet.trail = 4; bullet.vPFX = "explode"; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = (bulletnt) -> { - @Override - public void behaveUpdate(EntityBulletBase bullet) { - - if(!bullet.worldObj.isRemote) { - - if(bullet.ticksExisted % 2 == 0) { - - List creatures = bullet.worldObj.getEntitiesWithinAABB(EntityCreature.class, bullet.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); + if(!bulletnt.worldObj.isRemote) { + if(bulletnt.ticksExisted % 2 == 0) { - bullet.worldObj.removeEntity(creature); - bullet.worldObj.unloadEntities(new ArrayList() {{ add(creature); }}); - } + 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); }}); } - } } } diff --git a/src/main/java/com/hbm/handler/guncfg/Gun50BMGFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun50BMGFactory.java index c7d290c35..beda66771 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun50BMGFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun50BMGFactory.java @@ -2,13 +2,11 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; -import com.hbm.entity.projectile.EntityBulletBase; +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.interfaces.IBulletHitBehavior; -import com.hbm.interfaces.IBulletImpactBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; import com.hbm.items.ItemAmmoEnums.Ammo50BMG; @@ -31,7 +29,6 @@ import com.hbm.util.ContaminationUtil.ContaminationType; import com.hbm.util.ContaminationUtil.HazardType; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; -import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.potion.PotionEffect; @@ -65,7 +62,7 @@ public class Gun50BMGFactory { bullet.leadChance = 20; bullet.blockDamage = false; - bullet.bImpact = (projectile, x, y, z) -> projectile.worldObj.newExplosion(projectile, x, y, z, 2.0F, false, false); + bullet.bntImpact = (projectile, x, y, z) -> projectile.worldObj.newExplosion(projectile, x, y, z, 2.0F, false, false); bullet.spentCasing = CASINGLUNA.clone().register("LunaStock"); @@ -79,7 +76,7 @@ public class Gun50BMGFactory { bullet.ammo.meta = 1; bullet.incendiary = 10; - bullet.bImpact = (projectile, x, y, z) -> projectile.worldObj.newExplosion(projectile, x, y, z, 5.0F, true, false); + bullet.bntImpact = (projectile, x, y, z) -> projectile.worldObj.newExplosion(projectile, x, y, z, 5.0F, true, false); bullet.spentCasing = CASINGLUNA.clone().register("LunaInc"); @@ -94,7 +91,7 @@ public class Gun50BMGFactory { bullet.ammo.meta = 2; bullet.explosive = 25; bullet.destroysBlocks = true; - bullet.bImpact = (projectile, x, y, z) -> projectile.worldObj.newExplosion(projectile, x, y, z, 25.0F, true, false); + bullet.bntImpact = (projectile, x, y, z) -> projectile.worldObj.newExplosion(projectile, x, y, z, 25.0F, true, false); bullet.spentCasing = CASINGLUNA.clone().register("LunaExp"); @@ -267,19 +264,15 @@ public class Gun50BMGFactory { bullet.effects = new ArrayList(); bullet.effects.add(new PotionEffect(eff)); - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = (bulletnt, x, y, z) -> { - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - - 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, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50)); - } + 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"); @@ -363,39 +356,31 @@ public class Gun50BMGFactory { bullet.leadChance = 100; bullet.doesPenetrate = false; - bullet.bHit = new IBulletHitBehavior() { + bullet.bntHit = (bulletnt, hit) -> { - @Override - public void behaveEntityHit(EntityBulletBase bullet, Entity hit) { - - if(bullet.worldObj.isRemote) - return; - - EntityBulletBase meteor = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.MASKMAN_METEOR); - meteor.setPosition(hit.posX, hit.posY + 30 + meteor.worldObj.rand.nextInt(10), hit.posZ); - meteor.motionY = -1D; - meteor.shooter = bullet.shooter; - bullet.worldObj.spawnEntityInWorld(meteor); - } + 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.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = (bulletnt, x, y, z) -> { - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - - if(bullet.worldObj.isRemote) - return; - - if(y == -1) - return; - - EntityBulletBase meteor = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.MASKMAN_METEOR); - meteor.setPosition(bullet.posX, bullet.posY + 30 + meteor.worldObj.rand.nextInt(10), bullet.posZ); - meteor.motionY = -1D; - meteor.shooter = bullet.shooter; - bullet.worldObj.spawnEntityInWorld(meteor); - } + 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"); @@ -428,17 +413,13 @@ public class Gun50BMGFactory { bullet.dmgMax = 64; bullet.style = bullet.STYLE_FLECHETTE; - bullet.bHit = new IBulletHitBehavior() { + bullet.bntHit = (bulletnt, hit) -> { - @Override - public void behaveEntityHit(EntityBulletBase bullet, Entity hit) { - - if(bullet.worldObj.isRemote) - return; - - if(hit instanceof EntityLivingBase) { - ContaminationUtil.contaminate((EntityLivingBase) hit, HazardType.RADIATION, ContaminationType.RAD_BYPASS, 100F); - } + if(bulletnt.worldObj.isRemote) + return; + + if(hit instanceof EntityLivingBase) { + ContaminationUtil.contaminate((EntityLivingBase) hit, HazardType.RADIATION, ContaminationType.RAD_BYPASS, 100F); } }; @@ -457,17 +438,13 @@ public class Gun50BMGFactory { bullet.dmgMax = 64; bullet.style = bullet.STYLE_FLECHETTE; - bullet.bHit = new IBulletHitBehavior() { + bullet.bntHit = (bulletnt, hit) -> { - @Override - public void behaveEntityHit(EntityBulletBase bullet, Entity hit) { - - if(bullet.worldObj.isRemote) - return; - - if(hit instanceof EntityLivingBase) { - ContaminationUtil.contaminate((EntityLivingBase) hit, HazardType.RADIATION, ContaminationType.RAD_BYPASS, 50F); - } + if(bulletnt.worldObj.isRemote) + return; + + if(hit instanceof EntityLivingBase) { + ContaminationUtil.contaminate((EntityLivingBase) hit, HazardType.RADIATION, ContaminationType.RAD_BYPASS, 50F); } }; diff --git a/src/main/java/com/hbm/handler/guncfg/Gun556mmFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun556mmFactory.java index dec4e5b73..d983998e8 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun556mmFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun556mmFactory.java @@ -2,13 +2,11 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; -import com.hbm.entity.projectile.EntityBulletBase; +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.interfaces.IBulletHitBehavior; -import com.hbm.interfaces.IBulletImpactBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ItemAmmoEnums.Ammo556mm; import com.hbm.items.ModItems; @@ -26,7 +24,6 @@ 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.nbt.NBTTagCompound; import net.minecraft.potion.PotionEffect; @@ -185,19 +182,15 @@ public class Gun556mmFactory { bullet.effects = new ArrayList(); bullet.effects.add(new PotionEffect(eff)); - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = (bulletnt, x, y, z) -> { - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - - 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, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50)); - } + 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"); @@ -261,39 +254,31 @@ public class Gun556mmFactory { bullet.leadChance = 100; bullet.doesPenetrate = false; - bullet.bHit = new IBulletHitBehavior() { + bullet.bntHit = (bulletnt, hit) -> { - @Override - public void behaveEntityHit(EntityBulletBase bullet, Entity hit) { - - if(bullet.worldObj.isRemote) - return; - - EntityBulletBase meteor = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.MASKMAN_METEOR); - meteor.setPosition(hit.posX, hit.posY + 30 + meteor.worldObj.rand.nextInt(10), hit.posZ); - meteor.motionY = -1D; - meteor.shooter = bullet.shooter; - bullet.worldObj.spawnEntityInWorld(meteor); - } + 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.bImpact = new IBulletImpactBehavior() { - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - - if(bullet.worldObj.isRemote) - return; - - if(y == -1) - return; - - EntityBulletBase meteor = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.MASKMAN_METEOR); - meteor.setPosition(bullet.posX, bullet.posY + 30 + meteor.worldObj.rand.nextInt(10), bullet.posZ); - meteor.motionY = -1D; - meteor.shooter = bullet.shooter; - bullet.worldObj.spawnEntityInWorld(meteor); - } + bullet.bntImpact = (bulletnt, x, y, z) -> { + + 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"); @@ -355,19 +340,15 @@ public class Gun556mmFactory { bullet.effects = new ArrayList(); bullet.effects.add(new PotionEffect(eff)); - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = (bulletnt, x, y, z) -> { - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - - 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, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50)); - } + 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"); @@ -402,39 +383,31 @@ public class Gun556mmFactory { bullet.leadChance = 50; bullet.doesPenetrate = false; - bullet.bHit = new IBulletHitBehavior() { + bullet.bntHit = (bulletnt, hit) -> { - @Override - public void behaveEntityHit(EntityBulletBase bullet, Entity hit) { - - if(bullet.worldObj.isRemote) - return; - - EntityBulletBase meteor = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.MASKMAN_METEOR); - meteor.setPosition(hit.posX, hit.posY + 30 + meteor.worldObj.rand.nextInt(10), hit.posZ); - meteor.motionY = -1D; - meteor.shooter = bullet.shooter; - bullet.worldObj.spawnEntityInWorld(meteor); - } + 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.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = (bulletnt, x, y, z) -> { - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - - if(bullet.worldObj.isRemote) - return; - - if(y == -1) - return; - - EntityBulletBase meteor = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.MASKMAN_METEOR); - meteor.setPosition(bullet.posX, bullet.posY + 30 + meteor.worldObj.rand.nextInt(10), bullet.posZ); - meteor.motionY = -1D; - meteor.shooter = bullet.shooter; - bullet.worldObj.spawnEntityInWorld(meteor); - } + 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"); diff --git a/src/main/java/com/hbm/handler/guncfg/Gun75BoltFactory.java b/src/main/java/com/hbm/handler/guncfg/Gun75BoltFactory.java index 89d7f2c7c..b3d9bae6f 100644 --- a/src/main/java/com/hbm/handler/guncfg/Gun75BoltFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/Gun75BoltFactory.java @@ -2,11 +2,8 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; -import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; -import com.hbm.interfaces.IBulletHurtBehavior; -import com.hbm.interfaces.IBulletImpactBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ItemAmmoEnums.Ammo75Bolt; import com.hbm.items.ModItems; @@ -23,7 +20,6 @@ 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.nbt.NBTTagCompound; import net.minecraft.potion.PotionEffect; @@ -96,25 +92,21 @@ public class Gun75BoltFactory { bullet.doesRicochet = false; bullet.explosive = 0.25F; - bullet.bHurt = new IBulletHurtBehavior() { + bullet.bntHurt = (bulletnt, hit) -> { - @Override - public void behaveEntityHurt(EntityBulletBase bullet, Entity hit) { - - if(bullet.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); - } + 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); } } }; @@ -142,19 +134,15 @@ public class Gun75BoltFactory { bullet.effects = new ArrayList(); bullet.effects.add(new PotionEffect(eff)); - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = (bulletnt, x, y, z) -> { - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - - 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, bullet.posX, bullet.posY, bullet.posZ), new TargetPoint(bullet.dimension, bullet.posX, bullet.posY, bullet.posZ, 50)); - } + 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; diff --git a/src/main/java/com/hbm/handler/guncfg/GunCannonFactory.java b/src/main/java/com/hbm/handler/guncfg/GunCannonFactory.java index 42a79013e..2d8710522 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunCannonFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunCannonFactory.java @@ -1,9 +1,7 @@ package com.hbm.handler.guncfg; -import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.explosion.ExplosionNukeSmall; import com.hbm.handler.BulletConfiguration; -import com.hbm.interfaces.IBulletImpactBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ItemAmmoEnums.Ammo240Shell; import com.hbm.items.ModItems; @@ -86,12 +84,8 @@ public class GunCannonFactory { bullet.dmgMin = 100; bullet.dmgMax = 150; - bullet.bImpact = new IBulletImpactBehavior() { - - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - BulletConfigFactory.nuclearExplosion(bullet, x, y, z, ExplosionNukeSmall.PARAMS_TOTS); - } + bullet.bntImpact = (bulletnt, x, y, z) -> { + BulletConfigFactory.nuclearExplosion(bulletnt, x, y, z, ExplosionNukeSmall.PARAMS_TOTS); }; bullet.spentCasing = CASINNG240MM; diff --git a/src/main/java/com/hbm/handler/guncfg/GunDartFactory.java b/src/main/java/com/hbm/handler/guncfg/GunDartFactory.java index 70c743232..07bcc2878 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunDartFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunDartFactory.java @@ -2,12 +2,10 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; -import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.extprop.HbmLivingProps; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; -import com.hbm.interfaces.IBulletHurtBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ItemAmmoEnums.AmmoDart; import com.hbm.items.ModItems; @@ -16,7 +14,6 @@ import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.main.MainRegistry; import com.hbm.render.util.RenderScreenOverlay.Crosshair; -import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.potion.Potion; @@ -103,27 +100,23 @@ public class GunDartFactory { bullet.effects = new ArrayList(); bullet.effects.add(new PotionEffect(Potion.wither.id, 60 * 20, 2)); - bullet.bHurt = new IBulletHurtBehavior() { + bullet.bntHurt = (bulletnt, hit) -> { - @Override - public void behaveEntityHurt(EntityBulletBase bullet, Entity hit) { - - if(bullet.worldObj.isRemote) + if(bulletnt.worldObj.isRemote) + return; + + if(hit instanceof EntityPlayer) { + + if(((EntityPlayer) hit).inventory.hasItem(ModItems.ingot_meteorite_forged)) return; - - if(hit instanceof EntityPlayer) { - - if(((EntityPlayer) hit).inventory.hasItem(ModItems.ingot_meteorite_forged)) - return; - - if(bullet.shooter instanceof EntityPlayer) { - - EntityPlayer shooter = (EntityPlayer) bullet.shooter; - - if(shooter.getHeldItem() != null && shooter.getHeldItem().getItem() == ModItems.gun_darter) { - ItemGunDart.writePlayer(shooter.getHeldItem(), (EntityPlayer)hit); - shooter.playSound("random.orb", 1.0F, 1.0F); - } + + 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); } } } @@ -146,23 +139,19 @@ public class GunDartFactory { bullet.style = bullet.STYLE_FLECHETTE; bullet.leadChance = 0; - bullet.bHurt = new IBulletHurtBehavior() { + bullet.bntHurt = (bulletnt, hit) -> { - @Override - public void behaveEntityHurt(EntityBulletBase bullet, Entity hit) { - - if(bullet.worldObj.isRemote) - return; - - if(hit instanceof EntityLivingBase) { - - EntityLivingBase e = (EntityLivingBase) hit; + if(bulletnt.worldObj.isRemote) + return; - if(HbmLivingProps.getRadiation(e) < 250) - HbmLivingProps.setRadiation(e, 250); - if(HbmLivingProps.getTimer(e) <= 0) - HbmLivingProps.setTimer(e, MainRegistry.polaroidID * 60 * 20); - } + 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); } }; diff --git a/src/main/java/com/hbm/handler/guncfg/GunDetonatorFactory.java b/src/main/java/com/hbm/handler/guncfg/GunDetonatorFactory.java index dad35a32a..ab25f43bc 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunDetonatorFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunDetonatorFactory.java @@ -2,14 +2,12 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; -import com.hbm.entity.projectile.EntityBulletBase; 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.interfaces.IBulletImpactBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.lib.HbmCollection.EnumGunManufacturer; import com.hbm.packet.PacketDispatcher; @@ -90,22 +88,20 @@ public class GunDetonatorFactory { bullet.doesRicochet = false; bullet.setToBolt(BulletConfiguration.BOLT_LASER); - bullet.bImpact = new IBulletImpactBehavior() { - - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + bullet.bntImpact = (bulletnt, x, y, z) -> { - World world = bullet.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() && bullet.shooter instanceof EntityPlayerMP) { - EntityPlayerMP player = (EntityPlayerMP) bullet.shooter; - 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); - } + 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); } } } diff --git a/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java b/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java index 1ecf00f06..750d2ada3 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java @@ -3,14 +3,14 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; import com.hbm.blocks.ModBlocks; -import com.hbm.entity.projectile.EntityBulletBase; +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.interfaces.IBulletImpactBehavior; -import com.hbm.interfaces.IBulletUpdateBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ItemAmmoEnums.AmmoFireExt; import com.hbm.items.ItemAmmoEnums.AmmoFlamethrower; @@ -326,10 +326,10 @@ public class GunEnergyFactory { bullet.dmgProj = false; bullet.dmgFire = true; - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = new IBulletImpactBehaviorNT() { @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { if(!bullet.worldObj.isRemote) { NBTTagCompound data = new NBTTagCompound(); @@ -373,7 +373,7 @@ public class GunEnergyFactory { bullet.maxAge = 200; bullet.vPFX = "smoke"; - bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(5, 60 * 20, 25, 0.25, 0.1F); + bullet.bntImpact = BulletConfigFactory.getPhosphorousEffect(5, 60 * 20, 25, 0.25, 0.1F); return bullet; } @@ -420,7 +420,7 @@ public class GunEnergyFactory { bullet.dmgFire = false; - bullet.bImpact = BulletConfigFactory.getGasEffect(5, 60 * 20); + bullet.bntImpact = BulletConfigFactory.getGasEffect(5, 60 * 20); return bullet; } @@ -447,12 +447,12 @@ public class GunEnergyFactory { bullet.style = BulletConfiguration.STYLE_NONE; bullet.plink = BulletConfiguration.PLINK_NONE; - bullet.bHurt = (bulletEntity, target) -> { target.extinguish(); }; + bullet.bntHurt = (bulletEntity, target) -> { target.extinguish(); }; - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = new IBulletImpactBehaviorNT() { @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { if(!bullet.worldObj.isRemote) { @@ -485,10 +485,10 @@ public class GunEnergyFactory { } }; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = new IBulletUpdateBehaviorNT() { @Override - public void behaveUpdate(EntityBulletBase bullet) { + public void behaveUpdate(EntityBulletBaseNT bullet) { if(bullet.worldObj.isRemote) { @@ -527,10 +527,10 @@ public class GunEnergyFactory { bullet.ammo = new ComparableStack(ModItems.ammo_fireext.stackFromEnum(AmmoFireExt.FOAM)); bullet.spread = 0.05F; - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = new IBulletImpactBehaviorNT() { @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { if(!bullet.worldObj.isRemote) { @@ -582,10 +582,10 @@ public class GunEnergyFactory { } }; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = new IBulletUpdateBehaviorNT() { @Override - public void behaveUpdate(EntityBulletBase bullet) { + public void behaveUpdate(EntityBulletBaseNT bullet) { if(bullet.worldObj.isRemote) { @@ -614,12 +614,12 @@ public class GunEnergyFactory { bullet.ammo = new ComparableStack(ModItems.ammo_fireext.stackFromEnum(AmmoFireExt.SAND)); bullet.spread = 0.1F; - bullet.bHurt = null; // does not extinguish entities + bullet.bntHurt = null; // does not extinguish entities - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = new IBulletImpactBehaviorNT() { @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { if(!bullet.worldObj.isRemote) { @@ -655,10 +655,10 @@ public class GunEnergyFactory { } }; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = new IBulletUpdateBehaviorNT() { @Override - public void behaveUpdate(EntityBulletBase bullet) { + public void behaveUpdate(EntityBulletBaseNT bullet) { if(bullet.worldObj.isRemote) { @@ -707,10 +707,10 @@ public class GunEnergyFactory { bullet.effects = new ArrayList(); bullet.effects.add(new PotionEffect(HbmPotion.bang.id, 10 * 20, 0)); - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = new IBulletImpactBehaviorNT() { @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { if(!bullet.worldObj.isRemote) { ExplosionChaos.explodeZOMG(bullet.worldObj, (int)Math.floor(bullet.posX), (int)Math.floor(bullet.posY), (int)Math.floor(bullet.posZ), 5); diff --git a/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java b/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java index 0e8dbbd24..e068b15f4 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunFatmanFactory.java @@ -3,7 +3,8 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; import com.hbm.blocks.ModBlocks; -import com.hbm.entity.projectile.EntityBulletBase; +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; @@ -12,8 +13,6 @@ import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; import com.hbm.handler.radiation.ChunkRadiationManager; -import com.hbm.interfaces.IBulletImpactBehavior; -import com.hbm.interfaces.IBulletUpdateBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; import com.hbm.items.ItemAmmoEnums.AmmoFatman; @@ -133,10 +132,10 @@ public class GunFatmanFactory { BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.STOCK)); - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = new IBulletImpactBehaviorNT() { @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { BulletConfigFactory.nuclearExplosion(bullet, x, y, z, ExplosionNukeSmall.PARAMS_MEDIUM); } }; @@ -149,10 +148,10 @@ public class GunFatmanFactory { BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.LOW)); - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = new IBulletImpactBehaviorNT() { @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { BulletConfigFactory.nuclearExplosion(bullet, x, y, z, ExplosionNukeSmall.PARAMS_LOW); } }; @@ -165,10 +164,10 @@ public class GunFatmanFactory { BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.HIGH)); - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = new IBulletImpactBehaviorNT() { @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { BulletConfigFactory.nuclearExplosion(bullet, x, y, z, ExplosionNukeSmall.PARAMS_HIGH); } }; @@ -185,10 +184,10 @@ public class GunFatmanFactory { bullet.spread = 0.1F; bullet.style = bullet.STYLE_GRENADE; - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = new IBulletImpactBehaviorNT() { @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { BulletConfigFactory.nuclearExplosion(bullet, x, y, z, ExplosionNukeSmall.PARAMS_TOTS); } }; @@ -201,10 +200,10 @@ public class GunFatmanFactory { BulletConfiguration bullet = BulletConfigFactory.standardNukeConfig(); bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.SAFE)); - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = new IBulletImpactBehaviorNT() { @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { BulletConfigFactory.nuclearExplosion(bullet, x, y, z, ExplosionNukeSmall.PARAMS_SAFE); } }; @@ -218,10 +217,10 @@ public class GunFatmanFactory { bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.PUMPKIN)); bullet.explosive = 10F; - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = new IBulletImpactBehaviorNT() { @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { if(!bullet.worldObj.isRemote) { @@ -250,10 +249,10 @@ public class GunFatmanFactory { bullet.explosive = 3F; bullet.style = bullet.STYLE_BARREL; - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = new IBulletImpactBehaviorNT() { @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { if(!bullet.worldObj.isRemote) { @@ -308,10 +307,10 @@ public class GunFatmanFactory { bullet.style = BulletConfiguration.STYLE_MIRV; bullet.velocity *= 3; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = new IBulletUpdateBehaviorNT() { @Override - public void behaveUpdate(EntityBulletBase bullet) { + public void behaveUpdate(EntityBulletBaseNT bullet) { if(bullet.worldObj.isRemote) return; @@ -321,7 +320,7 @@ public class GunFatmanFactory { for(int i = 0; i < 6; i++) { - EntityBulletBase nuke = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.NUKE_NORMAL); + 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; @@ -345,10 +344,10 @@ public class GunFatmanFactory { bullet.style = BulletConfiguration.STYLE_MIRV; bullet.velocity *= 3; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = new IBulletUpdateBehaviorNT() { @Override - public void behaveUpdate(EntityBulletBase bullet) { + public void behaveUpdate(EntityBulletBaseNT bullet) { if(bullet.worldObj.isRemote) return; @@ -358,7 +357,7 @@ public class GunFatmanFactory { for(int i = 0; i < 6; i++) { - EntityBulletBase nuke = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.NUKE_LOW); + 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; @@ -382,10 +381,10 @@ public class GunFatmanFactory { bullet.style = BulletConfiguration.STYLE_MIRV; bullet.velocity *= 3; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = new IBulletUpdateBehaviorNT() { @Override - public void behaveUpdate(EntityBulletBase bullet) { + public void behaveUpdate(EntityBulletBaseNT bullet) { if(bullet.worldObj.isRemote) return; @@ -395,7 +394,7 @@ public class GunFatmanFactory { for(int i = 0; i < 6; i++) { - EntityBulletBase nuke = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.NUKE_HIGH); + 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; @@ -419,10 +418,10 @@ public class GunFatmanFactory { bullet.style = BulletConfiguration.STYLE_MIRV; bullet.velocity *= 3; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = new IBulletUpdateBehaviorNT() { @Override - public void behaveUpdate(EntityBulletBase bullet) { + public void behaveUpdate(EntityBulletBaseNT bullet) { if(bullet.worldObj.isRemote) return; @@ -432,7 +431,7 @@ public class GunFatmanFactory { for(int i = 0; i < 6; i++) { - EntityBulletBase nuke = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.NUKE_SAFE); + 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; @@ -456,10 +455,10 @@ public class GunFatmanFactory { bullet.style = BulletConfiguration.STYLE_MIRV; bullet.velocity *= 3; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = new IBulletUpdateBehaviorNT() { @Override - public void behaveUpdate(EntityBulletBase bullet) { + public void behaveUpdate(EntityBulletBaseNT bullet) { if(bullet.worldObj.isRemote) return; @@ -469,16 +468,16 @@ public class GunFatmanFactory { for(int i = 0; i < 24; i++) { - EntityBulletBase nuke = null; + EntityBulletBaseNT nuke = null; if(i < 6) - nuke = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.NUKE_LOW); + nuke = new EntityBulletBaseNT(bullet.worldObj, BulletConfigSyncingUtil.NUKE_LOW); else if(i < 12) - nuke = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.NUKE_TOTS); + nuke = new EntityBulletBaseNT(bullet.worldObj, BulletConfigSyncingUtil.NUKE_TOTS); else if(i < 18) - nuke = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.NUKE_NORMAL); + nuke = new EntityBulletBaseNT(bullet.worldObj, BulletConfigSyncingUtil.NUKE_NORMAL); else - nuke = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.NUKE_AMAT); + nuke = new EntityBulletBaseNT(bullet.worldObj, BulletConfigSyncingUtil.NUKE_AMAT); nuke.setPosition(bullet.posX, bullet.posY, bullet.posZ); @@ -503,8 +502,8 @@ public class GunFatmanFactory { bullet.ammo = new ComparableStack(ModItems.ammo_nuke.stackFromEnum(AmmoFatman.BALEFIRE)); bullet.style = BulletConfiguration.STYLE_BF; - bullet.bImpact = new IBulletImpactBehavior() { - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + bullet.bntImpact = new IBulletImpactBehaviorNT() { + public void behaveBlockHit(EntityBulletBaseNT bullet, int x, int y, int z) { if(!bullet.worldObj.isRemote) { diff --git a/src/main/java/com/hbm/handler/guncfg/GunGrenadeFactory.java b/src/main/java/com/hbm/handler/guncfg/GunGrenadeFactory.java index 0c787f9a9..d65f964e9 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunGrenadeFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunGrenadeFactory.java @@ -2,13 +2,11 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; -import com.hbm.entity.projectile.EntityBulletBase; 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.interfaces.IBulletImpactBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; import com.hbm.items.ItemAmmoEnums.AmmoGrenade; @@ -131,7 +129,7 @@ public class GunGrenadeFactory { bullet.trail = 0; bullet.incendiary = 2; - bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20, 100, 0.5D, 1F); + bullet.bntImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20, 100, 0.5D, 1F); bullet.spentCasing = CASING40MM.clone().register("40MMPhos"); @@ -213,12 +211,8 @@ public class GunGrenadeFactory { bullet.velocity = 4; bullet.explosive = 0.0F; - bullet.bImpact = new IBulletImpactBehavior() { - - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - BulletConfigFactory.nuclearExplosion(bullet, x, y, z, ExplosionNukeSmall.PARAMS_TOTS); - } + bullet.bntImpact = (bulletnt, x, y, z) -> { + BulletConfigFactory.nuclearExplosion(bulletnt, x, y, z, ExplosionNukeSmall.PARAMS_TOTS); }; bullet.spentCasing = CASING40MM.clone().register("40MMNuke"); diff --git a/src/main/java/com/hbm/handler/guncfg/GunNPCFactory.java b/src/main/java/com/hbm/handler/guncfg/GunNPCFactory.java index 960ebee81..8a6bffe40 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunNPCFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunNPCFactory.java @@ -3,12 +3,11 @@ package com.hbm.handler.guncfg; import java.util.List; import java.util.Random; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; +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.interfaces.IBulletImpactBehavior; -import com.hbm.interfaces.IBulletUpdateBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; import com.hbm.lib.ModDamageSource; @@ -51,30 +50,26 @@ public class GunNPCFactory { bullet.trail = 1; bullet.explosive = 1.5F; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = (bulletnt) -> { + + if(bulletnt.worldObj.isRemote) + return; - @Override - public void behaveUpdate(EntityBulletBase bullet) { - - if(bullet.worldObj.isRemote) - return; - - if(bullet.ticksExisted % 10 != 5) - return; - - List players = bullet.worldObj.getEntitiesWithinAABB(EntityPlayer.class, bullet.boundingBox.expand(50, 50, 50)); - - for(EntityPlayer player : players) { - - Vec3 motion = Vec3.createVectorHelper(player.posX - bullet.posX, (player.posY + player.getEyeHeight()) - bullet.posY, player.posZ - bullet.posZ); - motion = motion.normalize(); - - EntityBulletBase bolt = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.MASKMAN_BOLT); - bolt.shooter = bullet.shooter; - bolt.setPosition(bullet.posX, bullet.posY, bullet.posZ); - bolt.setThrowableHeading(motion.xCoord, motion.yCoord, motion.zCoord, 0.5F, 0.05F); - bullet.worldObj.spawnEntityInWorld(bolt); - } + if(bulletnt.ticksExisted % 10 != 5) + return; + + List players = bulletnt.worldObj.getEntitiesWithinAABB(EntityPlayer.class, bulletnt.boundingBox.expand(50, 50, 50)); + + for(EntityPlayer player : players) { + + Vec3 motion = Vec3.createVectorHelper(player.posX - bulletnt.posX, (player.posY + player.getEyeHeight()) - bulletnt.posY, player.posZ - bulletnt.posZ); + motion = motion.normalize(); + + EntityBulletBaseNT bolt = new EntityBulletBaseNT(bulletnt.worldObj, BulletConfigSyncingUtil.MASKMAN_BOLT); + bolt.setThrower(bulletnt.getThrower()); + bolt.setPosition(bulletnt.posX, bulletnt.posY, bulletnt.posZ); + bolt.setThrowableHeading(motion.xCoord, motion.yCoord, motion.zCoord, 0.5F, 0.05F); + bulletnt.worldObj.spawnEntityInWorld(bolt); } }; @@ -129,20 +124,16 @@ public class GunNPCFactory { bullet.vPFX = "reddust"; bullet.damageType = ModDamageSource.s_laser; - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = (bulletnt, x, y, z) -> { + + if(bulletnt.worldObj.isRemote) + return; - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - - if(bullet.worldObj.isRemote) - return; - - EntityBulletBase meteor = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.MASKMAN_METEOR); - meteor.setPosition(bullet.posX, bullet.posY + 30 + meteor.worldObj.rand.nextInt(10), bullet.posZ); - meteor.motionY = -1D; - meteor.shooter = bullet.shooter; - bullet.worldObj.spawnEntityInWorld(meteor); - } + 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); }; return bullet; @@ -178,25 +169,21 @@ public class GunNPCFactory { bullet.explosive = 2.5F; bullet.style = BulletConfiguration.STYLE_METEOR; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = (bulletnt) -> { - @Override - public void behaveUpdate(EntityBulletBase bullet) { - - if(!bullet.worldObj.isRemote) - return; - - Random rand = bullet.worldObj.rand; - - for(int i = 0; i < 5; i++) { - NBTTagCompound nbt = new NBTTagCompound(); - nbt.setString("type", "vanillaExt"); - nbt.setString("mode", "flame"); - nbt.setDouble("posX", bullet.posX + rand.nextDouble() * 0.5 - 0.25); - nbt.setDouble("posY", bullet.posY + rand.nextDouble() * 0.5 - 0.25); - nbt.setDouble("posZ", bullet.posZ + rand.nextDouble() * 0.5 - 0.25); - MainRegistry.proxy.effectNT(nbt); - } + if(!bulletnt.worldObj.isRemote) + return; + + Random rand = bulletnt.worldObj.rand; + + for(int i = 0; i < 5; i++) { + NBTTagCompound nbt = new NBTTagCompound(); + nbt.setString("type", "vanillaExt"); + nbt.setString("mode", "flame"); + nbt.setDouble("posX", bulletnt.posX + rand.nextDouble() * 0.5 - 0.25); + nbt.setDouble("posY", bulletnt.posY + rand.nextDouble() * 0.5 - 0.25); + nbt.setDouble("posZ", bulletnt.posZ + rand.nextDouble() * 0.5 - 0.25); + MainRegistry.proxy.effectNT(nbt); } }; @@ -245,13 +232,13 @@ public class GunNPCFactory { bullet.destroysBlocks = false; bullet.explosive = 0F; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = new IBulletUpdateBehaviorNT() { double angle = 90; double range = 100; @Override - public void behaveUpdate(EntityBulletBase bullet) { + public void behaveUpdate(EntityBulletBaseNT bullet) { if(bullet.worldObj.isRemote) return; @@ -265,7 +252,7 @@ public class GunNPCFactory { if(target != null) { if(bullet.getDistanceSqToEntity(target) < 5) { - bullet.getConfig().bImpact.behaveBlockHit(bullet, -1, -1, -1); + bullet.getConfig().bntImpact.behaveBlockHit(bullet, -1, -1, -1); bullet.setDead(); return; } @@ -281,7 +268,7 @@ public class GunNPCFactory { } } - private void chooseTarget(EntityBulletBase bullet) { + private void chooseTarget(EntityBulletBaseNT bullet) { List entities = bullet.worldObj.getEntitiesWithinAABB(EntityLivingBase.class, bullet.boundingBox.expand(range, range, range)); @@ -292,7 +279,7 @@ public class GunNPCFactory { for(EntityLivingBase e : entities) { - if(!e.isEntityAlive() || e == bullet.shooter) + 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); @@ -319,27 +306,23 @@ public class GunNPCFactory { } }; - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = (bulletnt, x, y, z) -> { - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { + bulletnt.worldObj.playSoundEffect(bulletnt.posX, bulletnt.posY, bulletnt.posZ, "hbm:entity.ufoBlast", 5.0F, 0.9F + bulletnt.worldObj.rand.nextFloat() * 0.2F); + bulletnt.worldObj.playSoundEffect(bulletnt.posX, bulletnt.posY, bulletnt.posZ, "fireworks.blast", 5.0F, 0.5F); + ExplosionNukeGeneric.dealDamage(bulletnt.worldObj, bulletnt.posX, bulletnt.posY, bulletnt.posZ, 10, 50); - bullet.worldObj.playSoundEffect(bullet.posX, bullet.posY, bullet.posZ, "hbm:entity.ufoBlast", 5.0F, 0.9F + bullet.worldObj.rand.nextFloat() * 0.2F); - bullet.worldObj.playSoundEffect(bullet.posX, bullet.posY, bullet.posZ, "fireworks.blast", 5.0F, 0.5F); - ExplosionNukeGeneric.dealDamage(bullet.worldObj, bullet.posX, bullet.posY, bullet.posZ, 10, 50); - - for(int i = 0; i < 3; i++) { - 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("pitch", -30F + 30F * i); - data.setFloat("yaw", bullet.worldObj.rand.nextFloat() * 180F); - data.setFloat("scale", 5F); - PacketDispatcher.wrapper.sendToAllAround(new AuxParticlePacketNT(data, bullet.posX, bullet.posY, bullet.posZ), - new TargetPoint(bullet.worldObj.provider.dimensionId, bullet.posX, bullet.posY, bullet.posZ, 100)); - } + for(int i = 0; i < 3; i++) { + 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("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), + new TargetPoint(bulletnt.worldObj.provider.dimensionId, bulletnt.posX, bulletnt.posY, bulletnt.posZ, 100)); } }; diff --git a/src/main/java/com/hbm/handler/guncfg/GunOSIPRFactory.java b/src/main/java/com/hbm/handler/guncfg/GunOSIPRFactory.java index db093f702..720a57e2c 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunOSIPRFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunOSIPRFactory.java @@ -101,17 +101,17 @@ public class GunOSIPRFactory { bullet.maxAge = 150; bullet.velocity = 2; - bullet.bHurt = (ball, entity) -> { + 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.shooter) + if(entity == ball.getThrower()) return; if(entityLiving.getHealth() <= 1000) { entityLiving.addPotionEffect(new PotionEffect(HbmPotion.bang.id, 1, 0)); - entityLiving.setLastAttacker(ball.shooter); + entityLiving.setLastAttacker(ball.getThrower()); } else if(entityLiving.getHealth() > 1000) { ball.setDead(); return; @@ -120,14 +120,14 @@ public class GunOSIPRFactory { } }; - bullet.bRicochet = (ball, x, y, z) -> { + bullet.bntRicochet = (ball, x, y, z) -> { Block block = ball.worldObj.getBlock(x, y, z); if(block instanceof RedBarrel) ((RedBarrel) block).explode(ball.worldObj, x, y, z); }; - bullet.bImpact = (ball, x, y, z) -> { + bullet.bntImpact = (ball, x, y, z) -> { final Block block = ball.worldObj.getBlock(x, y, z); if(block instanceof RedBarrel) ((RedBarrel) block).explode(ball.worldObj, x, y, z); diff --git a/src/main/java/com/hbm/handler/guncfg/GunRocketFactory.java b/src/main/java/com/hbm/handler/guncfg/GunRocketFactory.java index 8af201e52..cea0490c3 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunRocketFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunRocketFactory.java @@ -3,14 +3,11 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; import com.hbm.entity.effect.EntitySpear; -import com.hbm.entity.projectile.EntityBulletBase; +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.interfaces.IBulletImpactBehavior; -import com.hbm.interfaces.IBulletRicochetBehavior; -import com.hbm.interfaces.IBulletUpdateBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ModItems; import com.hbm.items.ItemAmmoEnums.AmmoRocket; @@ -287,12 +284,8 @@ public class GunRocketFactory { bullet.incendiary = 0; bullet.trail = 7; - bullet.bImpact = new IBulletImpactBehavior() { - - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - BulletConfigFactory.nuclearExplosion(bullet, x, y, z, ExplosionNukeSmall.PARAMS_MEDIUM); - } + bullet.bntImpact = (bulletnt, x, y, z) -> { + BulletConfigFactory.nuclearExplosion(bulletnt, x, y, z, ExplosionNukeSmall.PARAMS_MEDIUM); }; return bullet; @@ -331,18 +324,14 @@ public class GunRocketFactory { bullet.LBRC = 100; bullet.doesPenetrate = true; - bullet.bRicochet = new IBulletRicochetBehavior() { + 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); - @Override - public void behaveBlockRicochet(EntityBulletBase bullet, int bX, int bY, int bZ) { - World worldObj = bullet.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; @@ -360,7 +349,7 @@ public class GunRocketFactory { bullet.incendiary = 5; bullet.trail = 9; - bullet.bImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20, 100, 0.5D, 1F); + bullet.bntImpact = BulletConfigFactory.getPhosphorousEffect(10, 60 * 20, 100, 0.5D, 1F); return bullet; } @@ -375,23 +364,16 @@ public class GunRocketFactory { bullet.explosive = 2F; bullet.trail = 0; - bullet.bUpdate = new IBulletUpdateBehavior() { - - @Override - public void behaveUpdate(EntityBulletBase bullet) { - - if(!bullet.worldObj.isRemote) { - - if(bullet.ticksExisted > 10) { - bullet.setDead(); - - for(int i = 0; i < 50; i++) { - - EntityBulletBase bolt = new EntityBulletBase(bullet.worldObj, BulletConfigSyncingUtil.M44_AP); - bolt.setPosition(bullet.posX, bullet.posY, bullet.posZ); - bolt.setThrowableHeading(bullet.motionX, bullet.motionY, bullet.motionZ, 0.25F, 0.1F); - bullet.worldObj.spawnEntityInWorld(bolt); - } + 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); } } } @@ -413,21 +395,17 @@ public class GunRocketFactory { bullet.incendiary = 0; bullet.trail = 7; - bullet.bImpact = new IBulletImpactBehavior() { + bullet.bntImpact = (bulletnt, x, y, z) -> { - @Override - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z) { - - if(bullet.worldObj.isRemote) - return; - - EntitySpear spear = new EntitySpear(bullet.worldObj); - spear.posX = bullet.posX; - spear.posZ = bullet.posZ; - spear.posY = bullet.posY + 100; - - bullet.worldObj.spawnEntityInWorld(spear); - } + 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 index 9ace3b45f..3e2808d40 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunRocketHomingFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunRocketHomingFactory.java @@ -2,12 +2,10 @@ package com.hbm.handler.guncfg; import java.util.ArrayList; -import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.entity.projectile.EntityRocketHoming; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; -import com.hbm.interfaces.IBulletUpdateBehavior; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.items.ItemAmmoEnums.AmmoStinger; import com.hbm.items.ModItems; @@ -98,28 +96,24 @@ GunConfiguration config = new GunConfiguration(); bullet.explosive = 4F; bullet.trail = 0; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = (bulletnt) -> { - @Override - public void behaveUpdate(EntityBulletBase bullet) { - - if(!bullet.worldObj.isRemote) { - - EntityPlayer player = bullet.worldObj.getClosestPlayerToEntity(bullet, -1.0D); - EntityRocketHoming rocket = new EntityRocketHoming(bullet.worldObj, player, 1.0F, 5.0F, 0); - if(player.getHeldItem().getItem() == ModItems.gun_skystinger && !player.isSneaking()) { - EntityRocketHoming rocket2 = new EntityRocketHoming(bullet.worldObj, player, 1.5F, 15.0F, 0); - rocket = new EntityRocketHoming(bullet.worldObj, player, 1.5F, 15.0F, 0); - rocket.setIsCritical(true); - rocket2.setIsCritical(true); - bullet.worldObj.spawnEntityInWorld(rocket2); - } - rocket.homingMod = 5; - rocket.homingRadius = 25; - bullet.worldObj.spawnEntityInWorld(rocket); - bullet.setDead(); + 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; @@ -135,28 +129,24 @@ GunConfiguration config = new GunConfiguration(); bullet.trail = 0; bullet.wear = 15; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = (bulletnt) -> { - @Override - public void behaveUpdate(EntityBulletBase bullet) { - - if(!bullet.worldObj.isRemote) { - - EntityPlayer player = bullet.worldObj.getClosestPlayerToEntity(bullet, -1.0D); - EntityRocketHoming rocket = new EntityRocketHoming(bullet.worldObj, player, 1.0F, 5.0F, 1); - if(player.getHeldItem().getItem() == ModItems.gun_skystinger && !player.isSneaking()) { - EntityRocketHoming rocket2 = new EntityRocketHoming(bullet.worldObj, player, 1.5F, 15.0F, 1); - rocket = new EntityRocketHoming(bullet.worldObj, player, 1.5F, 15.0F, 1); - rocket.setIsCritical(true); - rocket2.setIsCritical(true); - bullet.worldObj.spawnEntityInWorld(rocket2); - } - rocket.homingMod = 5; - rocket.homingRadius = 25; - bullet.worldObj.spawnEntityInWorld(rocket); - bullet.setDead(); + 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; @@ -172,28 +162,24 @@ GunConfiguration config = new GunConfiguration(); bullet.trail = 0; bullet.wear = 12; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = (bulletnt) -> { - @Override - public void behaveUpdate(EntityBulletBase bullet) { - - if(!bullet.worldObj.isRemote) { - - EntityPlayer player = bullet.worldObj.getClosestPlayerToEntity(bullet, -1.0D); - EntityRocketHoming rocket = new EntityRocketHoming(bullet.worldObj, player, 1.0F, 5.0F, 2); - if(player.getHeldItem().getItem() == ModItems.gun_skystinger && !player.isSneaking()) { - EntityRocketHoming rocket2 = new EntityRocketHoming(bullet.worldObj, player, 1.5F, 15.0F, 2); - rocket = new EntityRocketHoming(bullet.worldObj, player, 1.5F, 15.0F, 2); - rocket.setIsCritical(true); - rocket2.setIsCritical(true); - bullet.worldObj.spawnEntityInWorld(rocket2); - } - rocket.homingMod = 5; - rocket.homingRadius = 25; - bullet.worldObj.spawnEntityInWorld(rocket); - bullet.setDead(); + 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; @@ -209,31 +195,27 @@ GunConfiguration config = new GunConfiguration(); bullet.trail = 0; bullet.wear = 30; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = (bulletnt) -> { - @Override - public void behaveUpdate(EntityBulletBase bullet) { + if(!bulletnt.worldObj.isRemote) { - if(!bullet.worldObj.isRemote) { + EntityPlayer player = bulletnt.worldObj.getClosestPlayerToEntity(bulletnt, -1.0D); - EntityPlayer player = bullet.worldObj.getClosestPlayerToEntity(bullet, -1.0D); - - if(player.getDistanceToEntity(bullet) < 16) { - EntityRocketHoming rocket = new EntityRocketHoming(bullet.worldObj, player, 1.0F, 5.0F, 4); - if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.gun_skystinger && !player.isSneaking()) { - EntityRocketHoming rocket2 = new EntityRocketHoming(bullet.worldObj, player, 1.5F, 15.0F, 4); - rocket = new EntityRocketHoming(bullet.worldObj, player, 1.5F, 15.0F, 4); - rocket.setIsCritical(true); - rocket2.setIsCritical(true); - bullet.worldObj.spawnEntityInWorld(rocket2); - } - rocket.homingMod = 5; - rocket.homingRadius = 25; - bullet.worldObj.spawnEntityInWorld(rocket); + 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); } - bullet.setDead(); - + rocket.homingMod = 5; + rocket.homingRadius = 25; + bulletnt.worldObj.spawnEntityInWorld(rocket); } + bulletnt.setDead(); + } }; return bullet; @@ -248,31 +230,27 @@ GunConfiguration config = new GunConfiguration(); bullet.explosive = 8F; bullet.trail = 0; - bullet.bUpdate = new IBulletUpdateBehavior() { + bullet.bntUpdate = (bulletnt) -> { - @Override - public void behaveUpdate(EntityBulletBase bullet) { + if(!bulletnt.worldObj.isRemote) { - if(!bullet.worldObj.isRemote) { + EntityPlayer player = bulletnt.worldObj.getClosestPlayerToEntity(bulletnt, -1.0D); - EntityPlayer player = bullet.worldObj.getClosestPlayerToEntity(bullet, -1.0D); - - if(player.getDistanceToEntity(bullet) < 16) { - EntityRocketHoming rocket = new EntityRocketHoming(bullet.worldObj, player, 1.0F, 5.0F, 42); - if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.gun_skystinger && !player.isSneaking()) { - EntityRocketHoming rocket2 = new EntityRocketHoming(bullet.worldObj, player, 1.5F, 15.0F, 42); - rocket = new EntityRocketHoming(bullet.worldObj, player, 1.5F, 15.0F, 42); - rocket.setIsCritical(true); - rocket2.setIsCritical(true); - bullet.worldObj.spawnEntityInWorld(rocket2); - } - rocket.homingMod = 5; - rocket.homingRadius = 25; - bullet.worldObj.spawnEntityInWorld(rocket); + 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); } - bullet.setDead(); - + rocket.homingMod = 5; + rocket.homingRadius = 25; + bulletnt.worldObj.spawnEntityInWorld(rocket); } + bulletnt.setDead(); + } }; return bullet; diff --git a/src/main/java/com/hbm/interfaces/IBulletHitBehavior.java b/src/main/java/com/hbm/interfaces/IBulletHitBehavior.java deleted file mode 100644 index b07aab829..000000000 --- a/src/main/java/com/hbm/interfaces/IBulletHitBehavior.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.hbm.interfaces; - -import com.hbm.entity.projectile.EntityBulletBase; - -import net.minecraft.entity.Entity; - -public interface IBulletHitBehavior { - - //entity is hit, bullet dies - public void behaveEntityHit(EntityBulletBase bullet, Entity hit); - -} diff --git a/src/main/java/com/hbm/interfaces/IBulletHurtBehavior.java b/src/main/java/com/hbm/interfaces/IBulletHurtBehavior.java deleted file mode 100644 index 4aa57a5a2..000000000 --- a/src/main/java/com/hbm/interfaces/IBulletHurtBehavior.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.hbm.interfaces; - -import com.hbm.entity.projectile.EntityBulletBase; - -import net.minecraft.entity.Entity; - -public interface IBulletHurtBehavior { - - //entity is hit - public void behaveEntityHurt(EntityBulletBase bullet, Entity hit); -} diff --git a/src/main/java/com/hbm/interfaces/IBulletImpactBehavior.java b/src/main/java/com/hbm/interfaces/IBulletImpactBehavior.java deleted file mode 100644 index 30c067d79..000000000 --- a/src/main/java/com/hbm/interfaces/IBulletImpactBehavior.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.hbm.interfaces; - -import com.hbm.entity.projectile.EntityBulletBase; - -public interface IBulletImpactBehavior { - - //block is hit, bullet dies - //also called when an entity is hit but with -1 coords, so beware - public void behaveBlockHit(EntityBulletBase bullet, int x, int y, int z); - -} diff --git a/src/main/java/com/hbm/interfaces/IBulletRicochetBehavior.java b/src/main/java/com/hbm/interfaces/IBulletRicochetBehavior.java deleted file mode 100644 index 4f4f5c5f6..000000000 --- a/src/main/java/com/hbm/interfaces/IBulletRicochetBehavior.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.hbm.interfaces; - -import com.hbm.entity.projectile.EntityBulletBase; - -public interface IBulletRicochetBehavior { - - //block is hit, bullet ricochets - public void behaveBlockRicochet(EntityBulletBase bullet, int x, int y, int z); - -} diff --git a/src/main/java/com/hbm/interfaces/IBulletUpdateBehavior.java b/src/main/java/com/hbm/interfaces/IBulletUpdateBehavior.java deleted file mode 100644 index 9f614c41e..000000000 --- a/src/main/java/com/hbm/interfaces/IBulletUpdateBehavior.java +++ /dev/null @@ -1,10 +0,0 @@ -package com.hbm.interfaces; - -import com.hbm.entity.projectile.EntityBulletBase; - -public interface IBulletUpdateBehavior { - - //once every update, for lcokon, steering and other memes - public void behaveUpdate(EntityBulletBase bullet); - -} diff --git a/src/main/java/com/hbm/inventory/gui/GUIBookLore.java b/src/main/java/com/hbm/inventory/gui/GUIBookLore.java index 5c5effbf5..dc628427a 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIBookLore.java +++ b/src/main/java/com/hbm/inventory/gui/GUIBookLore.java @@ -5,13 +5,11 @@ import java.util.List; import org.lwjgl.opengl.GL11; -import com.hbm.items.special.ItemBookLore.*; import com.hbm.lib.RefStrings; import com.hbm.util.I18nUtil; 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.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; diff --git a/src/main/java/com/hbm/items/special/ItemBookLore.java b/src/main/java/com/hbm/items/special/ItemBookLore.java index 6fe393616..866bd0866 100644 --- a/src/main/java/com/hbm/items/special/ItemBookLore.java +++ b/src/main/java/com/hbm/items/special/ItemBookLore.java @@ -2,8 +2,6 @@ package com.hbm.items.special; import java.util.List; -import org.apache.commons.lang3.math.NumberUtils; - import com.hbm.inventory.gui.GUIBookLore; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; diff --git a/src/main/java/com/hbm/items/weapon/GunFolly.java b/src/main/java/com/hbm/items/weapon/GunFolly.java index 9fa3a0a8a..b796d477a 100644 --- a/src/main/java/com/hbm/items/weapon/GunFolly.java +++ b/src/main/java/com/hbm/items/weapon/GunFolly.java @@ -1,7 +1,7 @@ package com.hbm.items.weapon; import com.hbm.entity.particle.EntitySSmokeFX; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.interfaces.IHoldableWeapon; import com.hbm.items.ModItems; @@ -63,7 +63,7 @@ public class GunFolly extends Item implements IHoldableWeapon { player.motionZ -= player.getLookVec().zCoord * mult; if (!world.isRemote) { - EntityBulletBase bullet = new EntityBulletBase(world, BulletConfigSyncingUtil.TEST_CONFIG, player); + EntityBulletBaseNT bullet = new EntityBulletBaseNT(world, BulletConfigSyncingUtil.TEST_CONFIG, player); world.spawnEntityInWorld(bullet); for(int i = 0; i < 25; i++) { diff --git a/src/main/java/com/hbm/items/weapon/GunLeverAction.java b/src/main/java/com/hbm/items/weapon/GunLeverAction.java deleted file mode 100644 index a0980d7b5..000000000 --- a/src/main/java/com/hbm/items/weapon/GunLeverAction.java +++ /dev/null @@ -1,271 +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.EntityBulletBase; -import com.hbm.handler.BulletConfigSyncingUtil; -import com.hbm.items.ModItems; - -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.world.World; -import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.event.entity.player.ArrowLooseEvent; -import net.minecraftforge.event.entity.player.ArrowNockEvent; - -public class GunLeverAction extends Item { - - Random rand = new Random(); - - public int dmgMin = 8; - public int dmgMax = 16; - - public GunLeverAction() { - - this.maxStackSize = 1; - - if(this == ModItems.gun_lever_action) - this.setMaxDamage(500); - if(this == ModItems.gun_lever_action_dark) - this.setMaxDamage(750); - } - - /** - * 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; - } - EntityBulletBase entityarrow1; - EntityBulletBase entityarrow2; - EntityBulletBase entityarrow3; - EntityBulletBase entityarrow4; - EntityBulletBase entityarrow5; - EntityBulletBase entityarrow6; - EntityBulletBase entityarrow7; - EntityBulletBase entityarrow8; - EntityBulletBase entityarrow9; - EntityBulletBase entityarrow10; - - if (!p_77615_3_.isSneaking()) { - entityarrow1 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow2 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow3 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow4 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow5 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow6 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow7 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow8 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow9 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow10 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - } else { - entityarrow1 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow2 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow3 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow4 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow5 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow6 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow7 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow8 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow9 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - entityarrow10 = new EntityBulletBase(p_77615_2_, BulletConfigSyncingUtil.TEST_CONFIG, p_77615_3_); - } - - p_77615_1_.damageItem(1, p_77615_3_); - - p_77615_2_.playSoundAtEntity(p_77615_3_, "hbm:weapon.revolverShootAlt", 5.0F, 0.75F); - - if (flag) { } else { - p_77615_3_.inventory.consumeInventoryItem(ModItems.ammo_20gauge); - } - - if (!p_77615_2_.isRemote) { - p_77615_2_.spawnEntityInWorld(entityarrow1); - p_77615_2_.spawnEntityInWorld(entityarrow2); - p_77615_2_.spawnEntityInWorld(entityarrow3); - p_77615_2_.spawnEntityInWorld(entityarrow4); - - if (!p_77615_3_.isSneaking()) { - - p_77615_2_.spawnEntityInWorld(entityarrow5); - p_77615_2_.spawnEntityInWorld(entityarrow6); - - int i = rand.nextInt(5); - - if(i >= 1) - p_77615_2_.spawnEntityInWorld(entityarrow7); - if(i >= 2) - p_77615_2_.spawnEntityInWorld(entityarrow8); - if(i >= 3) - p_77615_2_.spawnEntityInWorld(entityarrow9); - if(i >= 4) - p_77615_2_.spawnEntityInWorld(entityarrow10); - } - } - - 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; - } - - @Override - public void addInformation(ItemStack itemstack, EntityPlayer player, List list, boolean bool) { - - if(this == ModItems.gun_lever_action) - list.add("Universal head-to-spaghetti-sauce converter."); - if(this == ModItems.gun_lever_action_dark) - list.add("Blow your legs off!"); - list.add(""); - list.add("Ammo: 12x74 Buckshot"); - list.add("Damage: 8 - 16"); - list.add("Projectiles: 6 - 10"); - } - - @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/GunOSIPR.java b/src/main/java/com/hbm/items/weapon/GunOSIPR.java deleted file mode 100644 index bae321b8e..000000000 --- a/src/main/java/com/hbm/items/weapon/GunOSIPR.java +++ /dev/null @@ -1,129 +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.EntityCombineBall; -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 GunOSIPR extends Item { - - Random rand = new Random(); - - public GunOSIPR() - { - this.maxStackSize = 1; - this.setMaxDamage(2500); - } - - @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_osipr_ammo)) && count % 3 == 0) { - EntityBullet entityarrow = new EntityBullet(world, player, 3.0F, 5, 15, false, "chopper"); - entityarrow.setDamage(5 + rand.nextInt(10)); - - //world.playSoundAtEntity(player, "random.explode", 1.0F, 1.5F + (rand.nextFloat() / 4)); - world.playSoundAtEntity(player, "hbm:weapon.osiprShoot", 1.0F, 0.8F + (rand.nextFloat() * 0.4F)); - - if (flag) { - entityarrow.canBePickedUp = 2; - } else { - player.inventory.consumeInventoryItem(ModItems.gun_osipr_ammo); - } - - 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_osipr_ammo2)) && count % 30 == 0 && (this.getMaxItemUseDuration(stack) - count) != 0) { - EntityCombineBall entityarrow = new EntityCombineBall(player.worldObj, player, 3.0F); - entityarrow.setDamage(35 + rand.nextInt(45 - 35)); - - //world.playSoundAtEntity(player, "tile.piston.in", 1.0F, 0.75F); - world.playSoundAtEntity(player, "hbm:weapon.singFlyby", 1.0F, 1F); - - if (flag) { - entityarrow.canBePickedUp = 2; - } else { - player.inventory.consumeInventoryItem(ModItems.gun_osipr_ammo2); - } - - if (!world.isRemote) { - world.spawnEntityInWorld(entityarrow); - } - } - - if((this.getMaxItemUseDuration(stack) - count) % 30 == 15 && (player.capabilities.isCreativeMode || player.inventory.hasItem(ModItems.gun_osipr_ammo2))) - world.playSoundAtEntity(player, "hbm:weapon.osiprCharging", 1.0F, 1F); - } - } - - @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,"); - list.add("sneak to shoot a"); - list.add("dark energy ball!"); - list.add(""); - list.add("Ammo: Dark Energy Plugs"); - list.add("Secondary Ammo: Combine Ball"); - list.add("Damage: 5 - 15"); - list.add("Secondary Damage: 1000"); - } - - @Override - public Multimap getItemAttributeModifiers() { - Multimap multimap = super.getItemAttributeModifiers(); - multimap.put(SharedMonsterAttributes.attackDamage.getAttributeUnlocalizedName(), - new AttributeModifier(field_111210_e, "Weapon modifier", 5, 0)); - return multimap; - } - -} diff --git a/src/main/java/com/hbm/items/weapon/GunSMG.java b/src/main/java/com/hbm/items/weapon/GunSMG.java deleted file mode 100644 index e5cb4cf58..000000000 --- a/src/main/java/com/hbm/items/weapon/GunSMG.java +++ /dev/null @@ -1,99 +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.EntityBulletBase; -import com.hbm.handler.BulletConfigSyncingUtil; -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 GunSMG extends Item { - - Random rand = new Random(); - - public GunSMG() - { - 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.ammo_9mm)) - && count % 2 == 0) { - - EntityBulletBase bullet = new EntityBulletBase(world, BulletConfigSyncingUtil.TEST_CONFIG, player); - //EntityArrow bullet = new EntityArrow(world, player, 3.0F); - - //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) { - } else { - player.inventory.consumeInventoryItem(ModItems.ammo_9mm); - } - - if (!world.isRemote) { - world.spawnEntityInWorld(bullet); - } - } - } - - @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"); - } - - @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/GunShotgun.java b/src/main/java/com/hbm/items/weapon/GunShotgun.java deleted file mode 100644 index fe9b604d1..000000000 --- a/src/main/java/com/hbm/items/weapon/GunShotgun.java +++ /dev/null @@ -1,187 +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 GunShotgun extends Item { - Random rand = new Random(); - - public int dmgMin = 3; - public int dmgMax = 7; - - public GunShotgun() { - - this.maxStackSize = 1; - - if (this == ModItems.gun_uboinik) { - 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_12gauge)) { - 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; - } - - EntityBullet entityarrow1 = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F); - entityarrow1.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); - EntityBullet entityarrow2 = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F); - entityarrow2.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); - EntityBullet entityarrow3 = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F); - entityarrow3.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); - EntityBullet entityarrow4 = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F); - entityarrow4.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); - EntityBullet entityarrow5 = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F); - entityarrow5.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); - EntityBullet entityarrow6 = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F); - entityarrow6.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); - EntityBullet entityarrow7 = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F); - entityarrow7.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); - EntityBullet entityarrow8 = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F); - entityarrow8.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); - EntityBullet entityarrow9 = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F); - entityarrow9.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); - EntityBullet entityarrow10 = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F); - entityarrow10.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); - EntityBullet entityarrow11 = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F); - entityarrow11.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); - EntityBullet entityarrow12 = new EntityBullet(p_77615_2_, p_77615_3_, 3.0F); - entityarrow12.setDamage(dmgMin + rand.nextInt(dmgMax - dmgMin)); - - 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.ammo_12gauge); - } - - if (!p_77615_2_.isRemote) { - p_77615_2_.spawnEntityInWorld(entityarrow1); - p_77615_2_.spawnEntityInWorld(entityarrow2); - p_77615_2_.spawnEntityInWorld(entityarrow3); - p_77615_2_.spawnEntityInWorld(entityarrow4); - p_77615_2_.spawnEntityInWorld(entityarrow5); - p_77615_2_.spawnEntityInWorld(entityarrow6); - - int i = rand.nextInt(7); - - if(i >= 1) - p_77615_2_.spawnEntityInWorld(entityarrow7); - if(i >= 2) - p_77615_2_.spawnEntityInWorld(entityarrow8); - if(i >= 3) - p_77615_2_.spawnEntityInWorld(entityarrow9); - if(i >= 4) - p_77615_2_.spawnEntityInWorld(entityarrow10); - if(i >= 5) - p_77615_2_.spawnEntityInWorld(entityarrow11); - if(i >= 6) - p_77615_2_.spawnEntityInWorld(entityarrow12); - } - } - } - - @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("POW! Haha!"); - list.add("Abracadabra Tomanakara!"); - list.add(""); - list.add("Ammo: 12x70 Buckshot"); - list.add("Damage: 3 - 7"); - list.add("Projectiles: 6 - 12"); - } - - @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; - } -} diff --git a/src/main/java/com/hbm/items/weapon/ItemGunBase.java b/src/main/java/com/hbm/items/weapon/ItemGunBase.java index 930366673..e2b428c7e 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunBase.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunBase.java @@ -5,7 +5,6 @@ import java.util.List; import org.lwjgl.input.Mouse; import com.hbm.config.GeneralConfig; -import com.hbm.entity.projectile.EntityBulletBase; import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; diff --git a/src/main/java/com/hbm/items/weapon/ItemGunGauss.java b/src/main/java/com/hbm/items/weapon/ItemGunGauss.java index 1d53bb44c..7dd20b1a0 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGunGauss.java +++ b/src/main/java/com/hbm/items/weapon/ItemGunGauss.java @@ -1,6 +1,6 @@ package com.hbm.items.weapon; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.handler.GunConfiguration; import com.hbm.items.ModItems; import com.hbm.lib.ModDamageSource; @@ -31,7 +31,7 @@ public class ItemGunGauss extends ItemGunBase { } if(!main && getStored(stack) > 0) { - EntityBulletBase bullet = new EntityBulletBase(world, altConfig.config.get(0), player); + 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); diff --git a/src/main/java/com/hbm/items/weapon/gununified/ItemEnergyGunBase.java b/src/main/java/com/hbm/items/weapon/gununified/ItemEnergyGunBase.java index 21dc8448a..e137eda14 100644 --- a/src/main/java/com/hbm/items/weapon/gununified/ItemEnergyGunBase.java +++ b/src/main/java/com/hbm/items/weapon/gununified/ItemEnergyGunBase.java @@ -5,7 +5,7 @@ import java.util.List; import org.lwjgl.input.Mouse; import com.hbm.config.GeneralConfig; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.handler.GunConfiguration; @@ -140,7 +140,7 @@ public class ItemEnergyGunBase extends ItemGunBase implements IBatteryItem { protected void spawnProjectile(World world, EntityPlayer player, ItemStack stack, int config) { - EntityBulletBase bullet = new EntityBulletBase(world, config, player); + EntityBulletBaseNT bullet = new EntityBulletBaseNT(world, config, player); world.spawnEntityInWorld(bullet); if(this.mainConfig.animations.containsKey(AnimType.CYCLE) && player instanceof EntityPlayerMP) diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 062c70bda..14d0c8a6e 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -547,7 +547,6 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityRocket.class, new RenderSnowball(ModItems.man_core)); RenderingRegistry.registerEntityRenderingHandler(EntitySchrab.class, new RenderFlare()); RenderingRegistry.registerEntityRenderingHandler(EntityBullet.class, new RenderRocket()); - RenderingRegistry.registerEntityRenderingHandler(EntityBulletBase.class, new RenderBullet()); RenderingRegistry.registerEntityRenderingHandler(EntityBulletBaseNT.class, new RenderBullet()); RenderingRegistry.registerEntityRenderingHandler(EntityRainbow.class, new RenderRainbow()); RenderingRegistry.registerEntityRenderingHandler(EntityNightmareBlast.class, new RenderOminousBullet()); diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 6a38a081a..7197df144 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -27,7 +27,7 @@ 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.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.entity.projectile.EntityBurningFOEQ; import com.hbm.entity.train.EntityRailCarBase; import com.hbm.extprop.HbmLivingProps; @@ -844,7 +844,7 @@ public class ModEventHandler { } for(int i = 0; i < bullets; i++) { - EntityBulletBase bullet = new EntityBulletBase(player.worldObj, BulletConfigSyncingUtil.getKey(firedConfig), player); + EntityBulletBaseNT bullet = new EntityBulletBaseNT(player.worldObj, BulletConfigSyncingUtil.getKey(firedConfig), player); player.worldObj.spawnEntityInWorld(bullet); } diff --git a/src/main/java/com/hbm/render/tileentity/RendererObjTester.java b/src/main/java/com/hbm/render/tileentity/RendererObjTester.java index 467a4c14a..eabd2569a 100644 --- a/src/main/java/com/hbm/render/tileentity/RendererObjTester.java +++ b/src/main/java/com/hbm/render/tileentity/RendererObjTester.java @@ -6,25 +6,15 @@ import org.lwjgl.BufferUtils; import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GL12; -import com.hbm.items.ModItems; -import com.hbm.lib.RefStrings; import com.hbm.main.ResourceManager; -import com.hbm.render.loader.HFRWavefrontObject; -import com.hbm.render.util.HorsePronter; -import net.minecraft.client.renderer.ItemRenderer; import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.texture.TextureMap; 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 RendererObjTester extends TileEntitySpecialRenderer { - private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/TestObj.obj"); + //private static final ResourceLocation objTesterModelRL = new ResourceLocation(/*"/assets/" + */RefStrings.MODID, "models/TestObj.obj"); @Override public void renderTileEntityAt(TileEntity tileEntity, double x, double y, double z, float f) { diff --git a/src/main/java/com/hbm/tileentity/conductor/TileEntityFluidDuctSimple.java b/src/main/java/com/hbm/tileentity/conductor/TileEntityFluidDuctSimple.java index 60e93c1fd..9027eca23 100644 --- a/src/main/java/com/hbm/tileentity/conductor/TileEntityFluidDuctSimple.java +++ b/src/main/java/com/hbm/tileentity/conductor/TileEntityFluidDuctSimple.java @@ -21,7 +21,6 @@ import net.minecraftforge.common.util.ForgeDirection; public class TileEntityFluidDuctSimple extends TileEntity implements IFluidDuct { - private FluidType lastType = Fluids.NONE; protected FluidType type = Fluids.NONE; public List uoteab = new ArrayList(); diff --git a/src/main/java/com/hbm/tileentity/deco/TileEntityTrappedBrick.java b/src/main/java/com/hbm/tileentity/deco/TileEntityTrappedBrick.java index af014a09c..5dcef1aad 100644 --- a/src/main/java/com/hbm/tileentity/deco/TileEntityTrappedBrick.java +++ b/src/main/java/com/hbm/tileentity/deco/TileEntityTrappedBrick.java @@ -6,7 +6,7 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.TrappedBrick.Trap; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.entity.projectile.EntityRubble; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.items.ModItems; @@ -77,7 +77,7 @@ public class TileEntityTrappedBrick extends TileEntity { worldObj.setBlock(xCoord, yCoord - 1 - i, zCoord, ModBlocks.concrete_pillar); break; case POISON_DART: - EntityBulletBase dart = new EntityBulletBase(worldObj, BulletConfigSyncingUtil.G20_CAUSTIC); + 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; diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java index b8217f1d3..62580710e 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretBaseNT.java @@ -10,7 +10,7 @@ import com.hbm.entity.logic.EntityBomber; import com.hbm.entity.missile.EntityMissileBaseAdvanced; import com.hbm.entity.missile.EntityMissileCustom; import com.hbm.entity.missile.EntitySiegeDropship; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.entity.train.EntityRailCarBase; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; @@ -356,7 +356,7 @@ public abstract class TileEntityTurretBaseNT extends TileEntityMachineBase imple vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - EntityBulletBase proj = new EntityBulletBase(worldObj, BulletConfigSyncingUtil.getKey(bullet)); + 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); diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java index 3121134f9..01a63ffab 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretFritz.java @@ -4,7 +4,7 @@ import java.util.ArrayList; import java.util.List; import com.hbm.blocks.BlockDummyable; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.interfaces.IFluidAcceptor; @@ -113,7 +113,7 @@ public class TileEntityTurretFritz extends TileEntityTurretBaseNT implements IFl vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - EntityBulletBase proj = new EntityBulletBase(worldObj, BulletConfigSyncingUtil.getKey(conf)); + 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); diff --git a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretRichard.java b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretRichard.java index c23f2595e..f6c95d847 100644 --- a/src/main/java/com/hbm/tileentity/turret/TileEntityTurretRichard.java +++ b/src/main/java/com/hbm/tileentity/turret/TileEntityTurretRichard.java @@ -3,7 +3,7 @@ package com.hbm.tileentity.turret; import java.util.ArrayList; import java.util.List; -import com.hbm.entity.projectile.EntityBulletBase; +import com.hbm.entity.projectile.EntityBulletBaseNT; import com.hbm.handler.BulletConfigSyncingUtil; import com.hbm.handler.BulletConfiguration; import com.hbm.inventory.RecipesCommon.ComparableStack; @@ -155,7 +155,7 @@ public class TileEntityTurretRichard extends TileEntityTurretBaseNT { vec.rotateAroundZ((float) -this.rotationPitch); vec.rotateAroundY((float) -(this.rotationYaw + Math.PI * 0.5)); - EntityBulletBase proj = new EntityBulletBase(worldObj, BulletConfigSyncingUtil.getKey(bullet)); + 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); diff --git a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java index 0337af69a..a672e32a3 100644 --- a/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java +++ b/src/main/java/com/hbm/world/gen/NTMWorldGenerator.java @@ -2,8 +2,6 @@ package com.hbm.world.gen; import java.util.Random; -import com.hbm.blocks.ModBlocks; -import com.hbm.blocks.generic.BlockNTMFlower.EnumFlowerType; import com.hbm.config.StructureConfig; import cpw.mods.fml.common.IWorldGenerator; @@ -13,7 +11,6 @@ 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.minecraftforge.event.terraingen.DecorateBiomeEvent.Decorate; import net.minecraftforge.event.terraingen.InitMapGenEvent.EventType; import net.minecraftforge.event.terraingen.PopulateChunkEvent; import static net.minecraftforge.event.terraingen.TerrainGen.*; From ea8dcd9508a950ec51bb6399e3887a8f0e253858 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 15 Jul 2023 22:30:49 +0200 Subject: [PATCH 259/285] tweaks and fixes, template crate --- changelog | 16 + src/main/java/com/hbm/blocks/ModBlocks.java | 5 +- .../hbm/blocks/generic/BlockStorageCrate.java | 4 + src/main/java/com/hbm/config/MobConfig.java | 6 +- .../com/hbm/entity/mob/EntityGlyphid.java | 11 +- .../entity/projectile/EntityBulletBaseNT.java | 9 +- .../hbm/entity/projectile/EntityChemical.java | 6 +- .../entity/projectile/EntityThrowableNT.java | 2 +- .../com/hbm/handler/BulletConfiguration.java | 4 +- .../hbm/handler/guncfg/GunEnergyFactory.java | 25 + .../container/ContainerCrateIron.java | 21 +- .../container/ContainerCrateTemplate.java | 29 + .../hbm/inventory/gui/GUICrateTemplate.java | 42 ++ .../inventory/gui/GUIMachineAssembler.java | 11 +- .../com/hbm/items/weapon/ItemAmmoHIMARS.java | 4 +- .../java/com/hbm/main/CraftingManager.java | 1 + .../machine/TileEntityMachineAssembler.java | 505 +++--------------- .../TileEntityMachineAssemblerBase.java | 119 +++-- .../machine/TileEntityMachineAssemfac.java | 74 +-- .../machine/TileEntityMachineChemplant.java | 11 +- .../TileEntityMachineChemplantBase.java | 11 +- .../machine/storage/TileEntityCrateIron.java | 2 - .../machine/storage/TileEntityCrateSteel.java | 3 +- .../storage/TileEntityCrateTemplate.java | 34 ++ src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 2 + .../hbm/textures/blocks/crate_template.png | Bin 0 -> 180 bytes .../gui/storage/gui_crate_template.png | Bin 0 -> 1096 bytes 28 files changed, 367 insertions(+), 592 deletions(-) create mode 100644 src/main/java/com/hbm/inventory/container/ContainerCrateTemplate.java create mode 100644 src/main/java/com/hbm/inventory/gui/GUICrateTemplate.java create mode 100644 src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTemplate.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/crate_template.png create mode 100644 src/main/resources/assets/hbm/textures/gui/storage/gui_crate_template.png diff --git a/changelog b/changelog index 5e0b3f4d9..674a01c24 100644 --- a/changelog +++ b/changelog @@ -5,6 +5,11 @@ * Freezes entities * Can only deal damage to already frozen entities * Damage is proportional to max health, dealing more damage the stronger the mob is +* Template crate + * A cheap 27 slot crate + * Assemblers will insert their loaded template into the template crate after doing one operation with it + * Assemblers will also pull templates from template crates if no template is currently loaded + * This hopefully makes certain types of automation like AE2 easier as the template is therefore treated like a crafting ingredient that is returned afterwards ## Changed * Making LPG in the compressor now requires two compression steps @@ -13,6 +18,17 @@ * Fire now deals 4x more damage to glyphids * Cryogenic fluids from the chemthrower no longer deal direct damage, instead freezing the target * Once the target is already frozen, it will deal damage and apply the same effects as it used to +* Decreased the damage caused by hot fluids in the chemical thrower, regular steam no longer instantly vaporizes nuclear creepers +* Decreased acid damage and armor damage for corrosive liquids in the chemical thrower +* Glyphid hives have been made half as common, delete your config for this change to take effect +* The assembler now uses more modern code that lets it take and insert items from all storage blocks and not just NTM crates + * This new code also causes assemblers to only take as many items from containers as are actually required instead of sucking up as much as available whcih would cause clogs +* Assemblers and chemical plants now take the required items from containers instantly instead of only taking a single item per tick +* The universal projectile entity has been updated, it now uses a much better synchronization and interpolation method that prevents position desyncs after bouncing + * This also fixes issues where bullets could not damage multiple entities within the same tick, if they could penetrate them + * The old system also had issues with spectral bullets not damaging entities right behind walls, which has been fixed +* The coilgun now destroys solid blocks in its path +* Glyphids no longer use extended 128 block targeting unless soot pollution crosses a certain threshold (1 by default) ## Fixed * Fixed issue where mk5 explosions would behave weirdly in their origin chunk, often blowing through bedrock and thick layers of concrete diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 45c16a9e1..fbdcadf67 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -637,11 +637,12 @@ public class ModBlocks { 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; @@ -2182,6 +2183,7 @@ public class ModBlocks { 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); @@ -3009,6 +3011,7 @@ public class ModBlocks { register(crate_steel); register(crate_desh); register(crate_tungsten); + register(crate_template); register(safe); register(mass_storage); diff --git a/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java b/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java index 4b5caa4c0..8e8f5097f 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java +++ b/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java @@ -72,6 +72,9 @@ public class BlockStorageCrate extends BlockContainer implements IBlockMulti { this.iconTop = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_top"); this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":mass_storage_side"); } + if(this == ModBlocks.crate_template) { + this.iconTop = this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":crate_template"); + } } @Override @@ -90,6 +93,7 @@ public class BlockStorageCrate extends BlockContainer implements IBlockMulti { if(this == ModBlocks.crate_steel) return new TileEntityCrateSteel(); if(this == ModBlocks.crate_desh) return new TileEntityCrateDesh(); if(this == ModBlocks.crate_tungsten) return new TileEntityCrateTungsten(); + if(this == ModBlocks.crate_template) return new TileEntityCrateTemplate(); if(this == ModBlocks.safe) return new TileEntitySafe(); return null; } diff --git a/src/main/java/com/hbm/config/MobConfig.java b/src/main/java/com/hbm/config/MobConfig.java index 301f330c7..8ce250f40 100644 --- a/src/main/java/com/hbm/config/MobConfig.java +++ b/src/main/java/com/hbm/config/MobConfig.java @@ -29,13 +29,14 @@ public class MobConfig { public static boolean enableMobGear = true; public static boolean enableHives = true; - public static int hiveSpawn = 128; + public static int hiveSpawn = 256; public static double scoutThreshold = 0.1; public static double tier2Threshold = 1; public static double tier3Threshold = 10; public static double tier4Threshold = 50; public static double tier5Threshold = 100; public static double spawnMax = 50; + public static double targetingThreshold = 1; public static void loadFromConfig(Configuration config) { @@ -67,12 +68,13 @@ public class MobConfig { enableMobGear = CommonConfig.createConfigBool(config, CATEGORY, "12.D01_enableMobGear", "Whether zombies and skeletons should have additional gear when spawning", 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", 128); + hiveSpawn = CommonConfig.createConfigInt(config, CATEGORY, "12.G01_hiveSpawn", "The average amount of chunks per hive", 256); scoutThreshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G02_scoutThreshold", "Minimum amount of soot for scouts to spawn", 0.1); tier2Threshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G03_tier2Threshold", "Minimum amount of soot for tier 2 glyphids to spawn", 1); tier3Threshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G04_tier3Threshold", "Minimum amount of soot for tier 3 glyphids to spawn", 10); tier4Threshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G05_tier4Threshold", "Minimum amount of soot for tier 4 glyphids to spawn", 50); tier5Threshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G06_tier5Threshold", "Minimum amount of soot for tier 5 glyphids to spawn", 100); spawnMax = CommonConfig.createConfigDouble(config, CATEGORY, "12.G07_spawnMax", "Maximum amount of glyphids being able to exist at once through natural spawning", 50); + targetingThreshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G08_targetingThreshold", "Minimum amount of soot required for glyphids' extended targeting range to activate", 1D); } } diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java index 5dcac2356..10337b458 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java @@ -4,7 +4,10 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import com.hbm.config.MobConfig; import com.hbm.entity.pathfinder.PathFinderUtils; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.items.ModItems; import com.hbm.lib.ModDamageSource; import com.hbm.main.ResourceManager; @@ -65,7 +68,7 @@ public class EntityGlyphid extends EntityMob { @Override protected Entity findPlayerToAttack() { - EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, 128.0D); + EntityPlayer entityplayer = this.worldObj.getClosestVulnerablePlayerToEntity(this, useExtendedTargeting() ? 128D : 16D); return entityplayer != null && this.canEntityBeSeen(entityplayer) ? entityplayer : null; } @@ -74,10 +77,14 @@ public class EntityGlyphid extends EntityMob { super.updateEntityActionState(); // hell yeah!! - if(this.entityToAttack != null && !this.hasPath()) { + if(useExtendedTargeting() && this.entityToAttack != null && !this.hasPath()) { this.setPathToEntity(PathFinderUtils.getPathEntityToEntityPartial(worldObj, this, this.entityToAttack, 16F, true, false, false, true)); } } + + public boolean useExtendedTargeting() { + return PollutionHandler.getPollution(worldObj, (int) Math.floor(posX), (int) Math.floor(posY), (int) Math.floor(posZ), PollutionType.SOOT) >= MobConfig.targetingThreshold; + } @Override protected boolean canDespawn() { diff --git a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java index 1e8b6efee..15b2aadef 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java @@ -132,7 +132,6 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet this.renderDistanceWeight = 10.0D; this.setSize(0.5F, 0.5F); - System.out.println("" + this.config.spread); this.setThrowableHeading(this.motionX, this.motionY, this.motionZ, 1.0F, this.config.spread * (offsetShot ? 1F : 0.25F)); } @@ -378,8 +377,10 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet if(config.bntImpact != null) config.bntImpact.behaveBlockHit(this, bX, bY, bZ); - if(!worldObj.isRemote && !config.liveAfterImpact) - this.setDead(); + if(!worldObj.isRemote) { + if(!config.liveAfterImpact && !config.isSpectral && bY > -1) 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); @@ -472,6 +473,8 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet if(config.bntHit != null) config.bntHit.behaveEntityHit(this, e); + + //this.setDead(); } //for when a bullet hurts an entity, not necessarily dying diff --git a/src/main/java/com/hbm/entity/projectile/EntityChemical.java b/src/main/java/com/hbm/entity/projectile/EntityChemical.java index d64e64d74..3eb72cddc 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityChemical.java +++ b/src/main/java/com/hbm/entity/projectile/EntityChemical.java @@ -175,7 +175,7 @@ public class EntityChemical extends EntityThrowableNT { } if(type.temperature >= 100) { - EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_boil), 5F + (type.temperature - 100) * 0.02F); //5 damage at 100°C with one extra damage every 50°C + 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 if(type.temperature >= 500) { e.setFire(10); //afterburn for 10 seconds @@ -235,11 +235,11 @@ public class EntityChemical extends EntityThrowableNT { if(type.hasTrait(FT_Corrosive.class)) { FT_Corrosive trait = type.getTrait(FT_Corrosive.class); - EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_acid), trait.getRating() / 20F); + EntityDamageUtil.attackEntityFromIgnoreIFrame(e, getDamage(ModDamageSource.s_acid), trait.getRating() / 50F); if(living != null) { for(int i = 0; i < 4; i++) { - ArmorUtil.damageSuit(living, i, trait.getRating() / 5); + ArmorUtil.damageSuit(living, i, (int) Math.ceil(trait.getRating() / 50)); } } } diff --git a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java index 4f71aeedb..06d05c0f0 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java @@ -192,7 +192,7 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { // if penetration is enabled, run impact for all intersecting entities if(this.doesPenetrate()) { - this.onImpact(hitMop); + this.onImpact(new MovingObjectPosition(entity)); } else { double dist = pos.distanceTo(hitMop.hitVec); diff --git a/src/main/java/com/hbm/handler/BulletConfiguration.java b/src/main/java/com/hbm/handler/BulletConfiguration.java index f91077c2c..100eed39a 100644 --- a/src/main/java/com/hbm/handler/BulletConfiguration.java +++ b/src/main/java/com/hbm/handler/BulletConfiguration.java @@ -57,11 +57,11 @@ public class BulletConfiguration implements Cloneable { //whether or not the bullet should penetrate mobs public boolean doesPenetrate; - //whether or not the bullet should phase through blocks + //disables collisions with blocks entirely public boolean isSpectral; //whether or not the bullet should break glass public boolean doesBreakGlass; - //whether the bullet should stay alive after colliding with a block + //bullets still call the impact function when hitting blocks but do not get destroyed public boolean liveAfterImpact; //creates a "muzzle flash" and a ton of smoke with every projectile spawned diff --git a/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java b/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java index 750d2ada3..48aa5feba 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java @@ -34,6 +34,7 @@ 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 { @@ -295,6 +296,30 @@ public class GunEnergyFactory { bullet.trail = bullet.BOLT_NIGHTMARE; bullet.vPFX = "fireworks"; + bullet.bntUpdate = (entity) -> { + + 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 < 1.25) { + System.out.println(b.getUnlocalizedName() + " " + hardness); + entity.worldObj.func_147480_a(x, y, z, false); + } + } + }; + return bullet; } diff --git a/src/main/java/com/hbm/inventory/container/ContainerCrateIron.java b/src/main/java/com/hbm/inventory/container/ContainerCrateIron.java index d91eb1be0..26bdada96 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCrateIron.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCrateIron.java @@ -10,25 +10,20 @@ public class ContainerCrateIron extends ContainerCrateBase { public ContainerCrateIron(InventoryPlayer invPlayer, TileEntityCrateIron tedf) { super(tedf); - - for(int i = 0; i < 4; i++) - { - for(int j = 0; j < 9; j++) - { + + for(int i = 0; i < 4; i++) { + for(int j = 0; j < 9; j++) { this.addSlotToContainer(new Slot(tedf, j + i * 9, 8 + j * 18, 18 + i * 18)); } } - - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { + + 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 + 20)); } } - - for(int i = 0; i < 9; i++) - { + + for(int i = 0; i < 9; i++) { this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142 + 20)); } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerCrateTemplate.java b/src/main/java/com/hbm/inventory/container/ContainerCrateTemplate.java new file mode 100644 index 000000000..122c301e4 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerCrateTemplate.java @@ -0,0 +1,29 @@ +package com.hbm.inventory.container; + +import com.hbm.tileentity.machine.storage.TileEntityCrateTemplate; + +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Slot; + +public class ContainerCrateTemplate extends ContainerCrateBase { + + public ContainerCrateTemplate(InventoryPlayer invPlayer, TileEntityCrateTemplate tedf) { + super(tedf); + + for(int i = 0; i < 3; i++) { + for(int j = 0; j < 9; j++) { + this.addSlotToContainer(new Slot(tedf, j + i * 9, 8 + 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, 86 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 144)); + } + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/inventory/gui/GUICrateTemplate.java b/src/main/java/com/hbm/inventory/gui/GUICrateTemplate.java new file mode 100644 index 000000000..9968d461c --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUICrateTemplate.java @@ -0,0 +1,42 @@ +package com.hbm.inventory.gui; + +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; +import net.minecraft.client.resources.I18n; +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) { + 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); + } + + @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); + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineAssembler.java b/src/main/java/com/hbm/inventory/gui/GUIMachineAssembler.java index 145174fad..31ebd23ec 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineAssembler.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineAssembler.java @@ -30,7 +30,7 @@ public class GUIMachineAssembler extends GuiInfoContainer { public void drawScreen(int mouseX, int mouseY, float f) { super.drawScreen(mouseX, mouseY, f); - this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 70 - 52, 16, 52, assembler.power, assembler.maxPower); + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 70 - 52, 16, 52, assembler.power, assembler.getMaxPower()); if(assembler.getStackInSlot(4) == null || assembler.getStackInSlot(4).getItem()!= ModItems.assembly_template) { @@ -63,14 +63,15 @@ public class GUIMachineAssembler extends GuiInfoContainer { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - int i = (int)assembler.getPowerScaled(52); + int i = (int) (assembler.power * 52 / assembler.getMaxPower()); drawTexturedModalRect(guiLeft + 116, guiTop + 70 - i, 176, 52 - i, 16, i); - int j = assembler.getProgressScaled(83); - drawTexturedModalRect(guiLeft + 45, guiTop + 82, 2, 222, j, 32); + if(assembler.isProgressing) { + int j = assembler.progress[0] * 83 / assembler.maxProgress[0]; + drawTexturedModalRect(guiLeft + 45, guiTop + 82, 2, 222, j, 32); + } if(assembler.getStackInSlot(4) == null || assembler.getStackInSlot(4).getItem()!= ModItems.assembly_template) { - this.drawInfoPanel(guiLeft - 16, guiTop + 36, 16, 16, 6); } diff --git a/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java b/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java index f631a8a97..4eac7ec1f 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmoHIMARS.java @@ -186,7 +186,7 @@ public class ItemAmmoHIMARS extends Item { this.itemTypes[SMALL_WP] = new HIMARSRocket("standard_wp", "himars_standard_wp", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { - standardExplosion(rocket, mop, 20F, 3F, false, ModBlocks.slag, 1); + standardExplosion(rocket, mop, 20F, 3F, false, ModBlocks.block_slag, 1); ExplosionLarge.spawnShrapnels(rocket.worldObj, (int) mop.hitVec.xCoord, (int) mop.hitVec.yCoord, (int) mop.hitVec.zCoord, 30); ExplosionChaos.burn(rocket.worldObj, (int) mop.hitVec.xCoord, (int) mop.hitVec.yCoord, (int) mop.hitVec.zCoord, 20); int radius = 30; @@ -209,7 +209,7 @@ public class ItemAmmoHIMARS extends Item { this.itemTypes[SMALL_TB] = new HIMARSRocket("standard_tb", "himars_standard_tb", 0) { public void onImpact(EntityArtilleryRocket rocket, MovingObjectPosition mop) { - standardExplosion(rocket, mop, 20F, 10F, true, ModBlocks.slag, 1); + standardExplosion(rocket, mop, 20F, 10F, true, ModBlocks.block_slag, 1); ExplosionLarge.spawnShrapnels(rocket.worldObj, (int) mop.hitVec.xCoord, (int) mop.hitVec.yCoord, (int) mop.hitVec.zCoord, 30); standardMush(rocket, mop, 20); }}; diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 368aaf55d..1893862f8 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -293,6 +293,7 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.machine_turbine, 1), new Object[] { "SMS", "PTP", "SMS", 'S', STEEL.ingot(), 'T', ModItems.turbine_titanium, 'M', ModItems.coil_copper, 'P', ANY_PLASTIC.ingot() }); addRecipeAuto(new ItemStack(ModBlocks.machine_converter_he_rf, 1), new Object[] { "SSS", "CRB", "SSS", 'S', STEEL.ingot(), 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus, 'B', REDSTONE.block() }); addRecipeAuto(new ItemStack(ModBlocks.machine_converter_rf_he, 1), new Object[] { "SSS", "BRC", "SSS", 'S', BE.ingot(), 'C', ModItems.coil_copper, 'R', ModItems.coil_copper_torus, 'B', REDSTONE.block() }); + 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 }); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java index 4c754fabe..452a614e9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssembler.java @@ -1,64 +1,38 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -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.RecipesCommon.AStack; import com.hbm.inventory.RecipesCommon.ComparableStack; import com.hbm.inventory.UpgradeManager; import com.hbm.inventory.container.ContainerMachineAssembler; import com.hbm.inventory.gui.GUIMachineAssembler; import com.hbm.inventory.recipes.AssemblerRecipes; -import com.hbm.items.ModItems; import com.hbm.items.machine.ItemAssemblyTemplate; 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.IGUIProvider; -import com.hbm.tileentity.TileEntityMachineBase; -import com.hbm.tileentity.machine.storage.TileEntityCrateBase; -import com.hbm.tileentity.machine.storage.TileEntityCrateIron; -import com.hbm.tileentity.machine.storage.TileEntityCrateSteel; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energy.IBatteryItem; -import api.hbm.energy.IEnergyUser; 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.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.tileentity.TileEntityChest; -import net.minecraft.tileentity.TileEntityHopper; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineAssembler extends TileEntityMachineBase implements IEnergyUser, IGUIProvider { +public class TileEntityMachineAssembler extends TileEntityMachineAssemblerBase { + + public int recipe = -1; - public long power; - public static final long maxPower = 100000; - public int progress; - public int maxProgress = 100; - public boolean isProgressing; - int age = 0; - int consumption = 100; - int speed = 100; - - @SideOnly(Side.CLIENT) - public int recipe; //don't initialize this, retard - - private AudioWrapper audio; - Random rand = new Random(); public TileEntityMachineAssembler() { @@ -82,52 +56,9 @@ public class TileEntityMachineAssembler extends TileEntityMachineBase implements return false; } - @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); - this.power = nbt.getLong("powerTime"); - this.progress = nbt.getInteger("progress"); - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - nbt.setLong("powerTime", power); - nbt.setInteger("progress", progress); - } - - public long getPowerScaled(long i) { - return (power * i) / maxPower; - } - - public int getProgressScaled(int i) { - return (progress * i) / maxProgress; - } - @Override public void updateEntity() { + super.updateEntity(); if(!worldObj.isRemote) { @@ -170,77 +101,6 @@ public class TileEntityMachineAssembler extends TileEntityMachineBase implements speed /= (overLevel + 1); consumption *= (overLevel + 1); - isProgressing = false; - power = Library.chargeTEFromItems(slots, 0, power, maxPower); - - if(AssemblerRecipes.getOutputFromTempate(slots[4]) != null && AssemblerRecipes.getRecipeFromTempate(slots[4]) != null) { - this.maxProgress = (ItemAssemblyTemplate.getProcessTime(slots[4]) * speed) / 100; - - if(power >= consumption && removeItems(AssemblerRecipes.getRecipeFromTempate(slots[4]), cloneItemStackProper(slots))) { - - if(slots[5] == null || (slots[5] != null && slots[5].getItem() == AssemblerRecipes.getOutputFromTempate(slots[4]).copy().getItem()) && slots[5].stackSize + AssemblerRecipes.getOutputFromTempate(slots[4]).copy().stackSize <= slots[5].getMaxStackSize()) { - progress++; - isProgressing = true; - - if(progress >= maxProgress) { - progress = 0; - if(slots[5] == null) { - slots[5] = AssemblerRecipes.getOutputFromTempate(slots[4]).copy(); - } else { - slots[5].stackSize += AssemblerRecipes.getOutputFromTempate(slots[4]).copy().stackSize; - } - - removeItems(AssemblerRecipes.getRecipeFromTempate(slots[4]), slots); - - if(slots[0] != null && slots[0].getItem() == ModItems.meteorite_sword_alloyed) - slots[0] = new ItemStack(ModItems.meteorite_sword_machined); - } - - power -= consumption; - } - } else - progress = 0; - } else - progress = 0; - - int meta = worldObj.getBlockMetadata(this.xCoord, this.yCoord, this.zCoord); - - TileEntity te1 = null; - TileEntity te2 = null; - - if(meta == 14) { - te1 = worldObj.getTileEntity(xCoord - 2, yCoord, zCoord); - te2 = worldObj.getTileEntity(xCoord + 3, yCoord, zCoord - 1); - } - if(meta == 15) { - te1 = worldObj.getTileEntity(xCoord + 2, yCoord, zCoord); - te2 = worldObj.getTileEntity(xCoord - 3, yCoord, zCoord + 1); - } - if(meta == 13) { - te1 = worldObj.getTileEntity(xCoord, yCoord, zCoord + 2); - te2 = worldObj.getTileEntity(xCoord - 1, yCoord, zCoord - 3); - } - if(meta == 12) { - te1 = worldObj.getTileEntity(xCoord, yCoord, zCoord - 2); - te2 = worldObj.getTileEntity(xCoord + 1, yCoord, zCoord + 3); - } - - tryExchangeTemplates(te1, te2); - - //OUTPUT - if(te1 instanceof TileEntityCrateBase || te1 instanceof TileEntityChest) { - IInventory chest = (IInventory)te1; - tryFillContainer(chest, 5); - } - - if(te2 instanceof TileEntityCrateBase || te2 instanceof TileEntityChest) { - IInventory chest = (IInventory)te2; - - for(int i = 0; i < chest.getSizeInventory(); i++) - if(tryFillAssembler(chest, i)) - break; - } - int rec = -1; if(AssemblerRecipes.getOutputFromTempate(slots[4]) != null) { ComparableStack comp = ItemAssemblyTemplate.readType(slots[4]); @@ -249,8 +109,8 @@ public class TileEntityMachineAssembler extends TileEntityMachineBase implements NBTTagCompound data = new NBTTagCompound(); data.setLong("power", power); - data.setInteger("progress", progress); - data.setInteger("maxProgress", maxProgress); + data.setIntArray("progress", this.progress); + data.setIntArray("maxProgress", this.maxProgress); data.setBoolean("isProgressing", isProgressing); data.setInteger("recipe", rec); this.networkPack(data, 150); @@ -278,6 +138,15 @@ public class TileEntityMachineAssembler extends TileEntityMachineBase implements } } } + + @Override + public void networkUnpack(NBTTagCompound nbt) { + this.power = nbt.getLong("power"); + this.progress = nbt.getIntArray("progress"); + this.maxProgress = nbt.getIntArray("maxProgress"); + this.isProgressing = nbt.getBoolean("isProgressing"); + this.recipe = nbt.getInteger("recipe"); + } @Override public AudioWrapper createAudioLoop() { @@ -303,307 +172,65 @@ public class TileEntityMachineAssembler extends TileEntityMachineBase implements new DirPos(xCoord - rot.offsetX * 2 + dir.offsetX, yCoord, zCoord - rot.offsetZ * 2 + dir.offsetZ, rot.getOpposite()) }; } - - public void onChunkUnload() { - - if(audio != null) { - audio.stopSound(); - audio = null; - } - } - - public void invalidate() { - - super.invalidate(); - - if(audio != null) { - audio.stopSound(); - audio = null; - } - } - - public void networkUnpack(NBTTagCompound nbt) { - this.power = nbt.getLong("power"); - this.progress = nbt.getInteger("progress"); - this.maxProgress = nbt.getInteger("maxProgress"); - this.isProgressing = nbt.getBoolean("isProgressing"); - this.recipe = nbt.getInteger("recipe"); - } - - private boolean removeItems(List stack, ItemStack[] array) { - - if(stack == null) - return false; - - for(int i = 0; i < stack.size(); i++) { - for(int j = 0; j < stack.get(i).stacksize; j++) { - AStack sta = stack.get(i).copy(); - sta.stacksize = 1; - - if(!canRemoveItemFromArray(sta, array)) - return false; - } - } - - return true; - } - - public boolean canRemoveItemFromArray(AStack stack, ItemStack[] array) { - - AStack st = stack.copy(); - - if(st == null) - return true; - - for(int i = 6; i < 18; i++) { - - if(array[i] != null) { - - ItemStack sta = array[i].copy(); - sta.stackSize = 1; - - if(sta != null && st.isApplicable(sta) && array[i].stackSize > 0) { - array[i].stackSize--; - - if(array[i].stackSize <= 0) - array[i] = null; - - return true; - } - } - } - - return false; - } - - public boolean tryExchangeTemplates(TileEntity te1, TileEntity te2) { - //validateTe sees if it's a valid inventory tile entity - boolean te1Valid = validateTe(te1); - boolean te2Valid = validateTe(te2); - - if(te1Valid && te2Valid){ - IInventory iTe1 = (IInventory)te1; - IInventory iTe2 = (IInventory)te2; - boolean openSlot = false; - boolean existingTemplate = false; - boolean filledContainer = false; - //Check if there's an existing template and an open slot - for(int i = 0; i < iTe1.getSizeInventory(); i++){ - if(iTe1.getStackInSlot(i) == null){ - openSlot = true; - - } - - } - if(this.slots[4] != null){ - existingTemplate = true; - } - //Check if there's a template in input - for(int i = 0; i < iTe2.getSizeInventory(); i++){ - if(iTe2.getStackInSlot(i) != null && iTe2.getStackInSlot(i).getItem() instanceof ItemAssemblyTemplate){ - if(openSlot && existingTemplate){ - filledContainer = tryFillContainer(iTe1, 4); - - } - if(filledContainer){ - ItemStack copy = iTe2.getStackInSlot(i).copy(); - iTe2.setInventorySlotContents(i, null); - this.slots[4] = copy; - } - } - - } - - - } - return false; - - } - - private boolean validateTe(TileEntity te) { - if(te instanceof TileEntityChest) { - return true; - } - - if(te instanceof TileEntityHopper) { - return true; - } - - if(te instanceof TileEntityCrateIron) { - return true; - } - - if(te instanceof TileEntityCrateSteel) { - return true; - } - - return false; - } - - //I can't believe that worked. - public ItemStack[] cloneItemStackProper(ItemStack[] array) { - ItemStack[] stack = new ItemStack[array.length]; - - for(int i = 0; i < array.length; i++) - if(array[i] != null) - stack[i] = array[i].copy(); - else - stack[i] = null; - - return stack; - } - - //Unloads output into chests - public boolean tryFillContainer(IInventory inventory, int slot) { - - int size = inventory.getSizeInventory(); - - for(int i = 0; i < size; i++) { - if(inventory.getStackInSlot(i) != null) { - - if(slots[slot] == null) - return false; - - ItemStack sta1 = inventory.getStackInSlot(i).copy(); - ItemStack sta2 = slots[slot].copy(); - if(sta1 != null && sta2 != null) { - sta1.stackSize = 1; - sta2.stackSize = 1; - - if(ItemStack.areItemStacksEqual(sta1, sta2) && ItemStack.areItemStackTagsEqual(sta1, sta2) && inventory.getStackInSlot(i).stackSize < inventory.getStackInSlot(i).getMaxStackSize()) { - slots[slot].stackSize--; - - if(slots[slot].stackSize <= 0) - slots[slot] = null; - - ItemStack sta3 = inventory.getStackInSlot(i).copy(); - sta3.stackSize++; - inventory.setInventorySlotContents(i, sta3); - - return true; - } - } - } - } - for(int i = 0; i < size; i++) { - - if(slots[slot] == null) - return false; - - ItemStack sta2 = slots[slot].copy(); - if(inventory.getStackInSlot(i) == null && sta2 != null) { - sta2.stackSize = 1; - slots[slot].stackSize--; - - if(slots[slot].stackSize <= 0) - slots[slot] = null; - - inventory.setInventorySlotContents(i, sta2); - - return true; - } - } - - return false; - } - - public boolean tryFillAssembler(IInventory inventory, int slot) { - - if(AssemblerRecipes.getOutputFromTempate(slots[4]) == null || AssemblerRecipes.getRecipeFromTempate(slots[4]) == null) - return false; - else { - List list = copyItemStackList(AssemblerRecipes.getRecipeFromTempate(slots[4])); - - for(int i = 0; i < list.size(); i++) - list.get(i).stacksize = 1; - - - if(inventory.getStackInSlot(slot) == null) - return false; - - ItemStack stack = inventory.getStackInSlot(slot).copy(); - stack.stackSize = 1; - - boolean flag = false; - - for(int i = 0; i < list.size(); i++) - if(list.get(i).isApplicable(stack)) - flag = true; - - if(!flag) - return false; - - } - - for(int i = 6; i < 18; i++) { - - if(slots[i] != null) { - - ItemStack sta1 = inventory.getStackInSlot(slot).copy(); - ItemStack sta2 = slots[i].copy(); - if(sta1 != null && sta2 != null) { - sta1.stackSize = 1; - sta2.stackSize = 1; - - if(sta1.isItemEqual(sta2) && slots[i].stackSize < slots[i].getMaxStackSize()) { - ItemStack sta3 = inventory.getStackInSlot(slot).copy(); - sta3.stackSize--; - if(sta3.stackSize <= 0) - sta3 = null; - inventory.setInventorySlotContents(slot, sta3); - - slots[i].stackSize++; - return true; - } - } - } - } - - for(int i = 6; i < 18; i++) { - - ItemStack sta2 = inventory.getStackInSlot(slot).copy(); - if(slots[i] == null && sta2 != null) { - sta2.stackSize = 1; - slots[i] = sta2.copy(); - - ItemStack sta3 = inventory.getStackInSlot(slot).copy(); - sta3.stackSize--; - if(sta3.stackSize <= 0) - sta3 = null; - inventory.setInventorySlotContents(slot, sta3); - - return true; - } - } - - return false; - } - - public static List copyItemStackList(List list){ - List newList = new ArrayList(); - if(list == null || list.isEmpty()) - return newList; - for(AStack stack : list){ - newList.add(stack.copy()); - } - return newList; - } @Override - public void setPower(long i) { - power = i; - + public void onChunkUnload() { + + if(audio != null) { + audio.stopSound(); + audio = null; + } } @Override - public long getPower() { - return power; - + public void invalidate() { + + super.invalidate(); + + if(audio != null) { + audio.stopSound(); + audio = null; + } + } + + private AudioWrapper audio; + + @Override + public int getRecipeCount() { + return 1; + } + + @Override + public int getTemplateIndex(int index) { + return 4; + } + + @Override + public int[] getSlotIndicesFromIndex(int index) { + return new int[] {6, 17, 5}; + } + + @Override + public ChunkCoordinates[] getInputPositions() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + return new ChunkCoordinates[] {new ChunkCoordinates(xCoord - dir.offsetX * 3 + rot.offsetX, yCoord, zCoord - dir.offsetZ * 3 + rot.offsetZ)}; + } + + @Override + public ChunkCoordinates[] getOutputPositions() { + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); + return new ChunkCoordinates[] {new ChunkCoordinates(xCoord + dir.offsetX * 2, yCoord, zCoord + dir.offsetZ * 2)}; + } + + @Override + public int getPowerSlot() { + return 0; } @Override public long getMaxPower() { - return maxPower; + return 100_000; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java index 587b14e85..aa5c7fec8 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemblerBase.java @@ -9,6 +9,7 @@ import com.hbm.items.machine.ItemAssemblyTemplate; import com.hbm.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.machine.storage.TileEntityCrateTemplate; import com.hbm.util.InventoryUtil; import api.hbm.energy.IEnergyUser; @@ -24,6 +25,7 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa public int[] progress; public int[] maxProgress; public boolean isProgressing; + public boolean[] needsTemplateSwitch; int consumption = 100; int speed = 100; @@ -35,6 +37,7 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa progress = new int[count]; maxProgress = new int[count]; + needsTemplateSwitch = new boolean[count]; } @Override @@ -45,11 +48,11 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa int count = this.getRecipeCount(); this.isProgressing = false; - this.power = Library.chargeTEFromItems(slots, 0, power, this.getMaxPower()); + this.power = Library.chargeTEFromItems(slots, getPowerSlot(), power, this.getMaxPower()); for(int i = 0; i < count; i++) { - loadItems(i); unloadItems(i); + loadItems(i); } @@ -114,6 +117,7 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa consumeItems(recipe, index); produceItems(output, index); this.progress[index] = 0; + this.needsTemplateSwitch[index] = true; this.markDirty(); } } @@ -140,53 +144,76 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa private void loadItems(int index) { int template = getTemplateIndex(index); - if(slots[template] == null || slots[template].getItem() != ModItems.assembly_template) - return; - List recipe = AssemblerRecipes.getRecipeFromTempate(slots[template]); - - if(recipe != null) { - - ChunkCoordinates[] positions = getInputPositions(); - int[] indices = getSlotIndicesFromIndex(index); - - for(ChunkCoordinates coord : positions) { + ChunkCoordinates[] positions = getInputPositions(); + int[] indices = getSlotIndicesFromIndex(index); + + for(ChunkCoordinates coord : positions) { + + TileEntity te = worldObj.getTileEntity(coord.posX, coord.posY, coord.posZ); - TileEntity te = worldObj.getTileEntity(coord.posX, coord.posY, coord.posZ); - - if(te instanceof IInventory) { + if(te instanceof IInventory) { + + IInventory inv = (IInventory) te; + ISidedInventory sided = inv instanceof ISidedInventory ? (ISidedInventory) inv : null; + boolean templateCrate = te instanceof TileEntityCrateTemplate; + + if(templateCrate && slots[template] == null) { + + for(int i = 0; i < inv.getSizeInventory(); i++) { + ItemStack stack = inv.getStackInSlot(i); + + if(stack != null && stack.getItem() == ModItems.assembly_template && (sided == null || sided.canExtractItem(i, stack, 0))) { + slots[template] = stack.copy(); + sided.setInventorySlotContents(i, null); + this.needsTemplateSwitch[index] = false; + break; + } + } + } - IInventory inv = (IInventory) te; - ISidedInventory sided = inv instanceof ISidedInventory ? (ISidedInventory) inv : null; - - for(AStack ingredient : recipe) { - - if(!InventoryUtil.doesArrayHaveIngredients(slots, indices[0], indices[1], ingredient)) { - - for(int i = 0; i < inv.getSizeInventory(); i++) { - - ItemStack stack = inv.getStackInSlot(i); - if(ingredient.matchesRecipe(stack, true) && (sided == null || sided.canExtractItem(i, 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(i, 1); - slots[j].stackSize++; - return; + boolean noTemplate = slots[template] == null || slots[template].getItem() != ModItems.assembly_template; + + if(!noTemplate) { + + List recipe = AssemblerRecipes.getRecipeFromTempate(slots[template]); + + if(recipe != null) { + + for(AStack ingredient : recipe) { + + outer: while(!InventoryUtil.doesArrayHaveIngredients(slots, indices[0], indices[1], ingredient)) { + + boolean found = false; + + for(int i = 0; i < inv.getSizeInventory(); i++) { + + ItemStack stack = inv.getStackInSlot(i); + if(ingredient.matchesRecipe(stack, true) && (sided == null || sided.canExtractItem(i, stack, 0))) { + found = true; + + 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(i, 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; - inv.decrStackSize(i, 1); - return; + + for(int j = indices[0]; j <= indices[1]; j++) { + + if(slots[j] == null) { + slots[j] = stack.copy(); + slots[j].stackSize = 1; + inv.decrStackSize(i, 1); + continue outer; + } } } } + + if(!found) return; } } } @@ -209,8 +236,13 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa IInventory inv = (IInventory) te; 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]; + i = template; + } if(out != null) { @@ -266,4 +298,5 @@ public abstract class TileEntityMachineAssemblerBase extends TileEntityMachineBa public abstract int[] getSlotIndicesFromIndex(int index); public abstract ChunkCoordinates[] getInputPositions(); public abstract ChunkCoordinates[] getOutputPositions(); + public abstract int getPowerSlot(); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java index 8a7c4e55f..a7f8b6f1e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineAssemfac.java @@ -1,21 +1,15 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; import java.util.Random; import com.hbm.blocks.BlockDummyable; -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidSource; import com.hbm.inventory.UpgradeManager; import com.hbm.inventory.container.ContainerAssemfac; -import com.hbm.inventory.fluid.FluidType; 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.lib.Library; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.fluid.IFluidStandardTransceiver; @@ -31,7 +25,7 @@ import net.minecraft.util.ChunkCoordinates; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase implements IFluidStandardTransceiver, IFluidAcceptor, IFluidSource { +public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase implements IFluidStandardTransceiver { public AssemblerArm[] arms; @@ -46,8 +40,8 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im arms[i] = new AssemblerArm(i % 3 == 1 ? 1 : 0); //the second of every group of three becomes a welder } - water = new FluidTank(Fluids.WATER, 64_000, 0); - steam = new FluidTank(Fluids.SPENTSTEAM, 64_000, 1); + water = new FluidTank(Fluids.WATER, 64_000); + steam = new FluidTank(Fluids.SPENTSTEAM, 64_000); } @Override @@ -94,10 +88,6 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im this.sendFluid(steam, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } - if(steam.getFill() > 0) { - this.fillFluidInit(steam.getTankType()); - } - NBTTagCompound data = new NBTTagCompound(); data.setLong("power", this.power); data.setIntArray("progress", this.progress); @@ -402,6 +392,11 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im return outpos; } + @Override + public int getPowerSlot() { + return 0; + } + @Override public FluidTank[] getSendingTanks() { return new FluidTank[] { steam }; @@ -412,59 +407,6 @@ public class TileEntityMachineAssemfac extends TileEntityMachineAssemblerBase im return new FluidTank[] { water }; } - @Override - public void setFillForSync(int fill, int index) { } - - @Override - public void setFluidFill(int fill, FluidType type) { - if(type == water.getTankType()) water.setFill(fill); - if(type == steam.getTankType()) steam.setFill(fill); - } - - @Override - public void setTypeForSync(FluidType type, int index) { } - - @Override - public int getFluidFill(FluidType type) { - if(type == water.getTankType()) return water.getFill(); - if(type == steam.getTankType()) return steam.getFill(); - return 0; - } - - @Override - public void fillFluidInit(FluidType type) { - for(DirPos pos : getConPos()) { - this.fillFluid(pos.getX(), pos.getY(), pos.getZ(), this.getTact(), type); - } - } - - @Override - public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { - Library.transmitFluid(x, y, z, newTact, this, worldObj, type); - } - - @Override - public boolean getTact() { - return worldObj.getTotalWorldTime() % 2 == 0; - } - - private List list = new ArrayList(); - - @Override - public List getFluidList(FluidType type) { - return type == steam.getTankType() ? this.list : new ArrayList(); - } - - @Override - public void clearFluidList(FluidType type) { - this.list.clear(); - } - - @Override - public int getMaxFluidFill(FluidType type) { - return type == water.getTankType() ? water.getMaxFill() : 0; - } - @Override public FluidTank[] getAllTanks() { return new FluidTank[] { water, steam }; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index 8055c8d11..379a95c1b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -364,7 +364,10 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements for(AStack ingredient : recipe.inputs) { - if(!InventoryUtil.doesArrayHaveIngredients(slots, 13, 16, ingredient)) { + outer: + while(!InventoryUtil.doesArrayHaveIngredients(slots, 13, 16, ingredient)) { + + boolean found = false; for(int i = 0; i < inv.getSizeInventory(); i++) { @@ -376,7 +379,7 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements if(slots[j] != null && slots[j].stackSize < slots[j].getMaxStackSize() & InventoryUtil.doesStackDataMatch(slots[j], stack)) { inv.decrStackSize(i, 1); slots[j].stackSize++; - return; + continue outer; } } @@ -386,11 +389,13 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements slots[j] = stack.copy(); slots[j].stackSize = 1; inv.decrStackSize(i, 1); - return; + continue outer; } } } } + + if(!found) return; } } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java index 6d6caf6e2..d91102d51 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java @@ -214,7 +214,10 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa for(AStack ingredient : recipe.inputs) { - if(!InventoryUtil.doesArrayHaveIngredients(slots, indices[0], indices[1], ingredient)) { + outer: + while(!InventoryUtil.doesArrayHaveIngredients(slots, indices[0], indices[1], ingredient)) { + + boolean found = false; for(int i = 0; i < inv.getSizeInventory(); i++) { @@ -226,7 +229,7 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa if(slots[j] != null && slots[j].stackSize < slots[j].getMaxStackSize() & InventoryUtil.doesStackDataMatch(slots[j], stack)) { inv.decrStackSize(i, 1); slots[j].stackSize++; - return; + continue outer; } } @@ -236,11 +239,13 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa slots[j] = stack.copy(); slots[j].stackSize = 1; inv.decrStackSize(i, 1); - return; + continue outer; } } } } + + if(!found) return; } } } 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 aec9bf3f2..23e079344 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateIron.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateIron.java @@ -31,6 +31,4 @@ public class TileEntityCrateIron extends TileEntityCrateBase { public GuiScreen 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 940f689c6..abb9cf0cb 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateSteel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateSteel.java @@ -8,10 +8,9 @@ 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.world.World; -public class TileEntityCrateSteel extends TileEntityCrateBase implements ISidedInventory { +public class TileEntityCrateSteel extends TileEntityCrateBase { public TileEntityCrateSteel() { super(54); diff --git a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTemplate.java b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTemplate.java new file mode 100644 index 000000000..c22a6e669 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityCrateTemplate.java @@ -0,0 +1,34 @@ +package com.hbm.tileentity.machine.storage; + +import com.hbm.inventory.container.ContainerCrateTemplate; +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; + +public class TileEntityCrateTemplate extends TileEntityCrateBase { + + public TileEntityCrateTemplate() { + super(27); + } + + @Override + public String getInventoryName() { + return this.hasCustomInventoryName() ? this.customName : "container.crateTemplate"; + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new ContainerCrateTemplate(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { + return new GUICrateTemplate(player.inventory, this); + } +} diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 544d8c28f..858ba093d 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -293,6 +293,7 @@ container.craneUnboxer=Förderband-Entpacker container.crateDesh=Deshkiste container.crateIron=Eisenkiste container.crateSteel=Stahlkiste +container.crateTemplate=Vorlagenkiste container.crateTungsten=Wolframkiste container.crystallizer=Erzauflöser container.cyclotron=Zyklotron @@ -3715,6 +3716,7 @@ tile.crate_lead.name=Gefahrenstoffkiste tile.crate_metal.name=Maschinenkiste tile.crate_red.name=Rote Kiste tile.crate_steel.name=Stahlkiste +tile.crate_template.name=Vorlagenkiste tile.crate_tungsten.name=Wolframkiste tile.crate_weapon.name=Waffenkiste tile.crystal_hardened.name=Gehärteter Dunkler Kristall diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 18ca110d5..58dff23b9 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -629,6 +629,7 @@ container.craneUnboxer=Conveyor Unboxer container.crateDesh=Desh Crate container.crateIron=Iron Crate container.crateSteel=Steel Crate +container.crateTemplate=Template Crate container.crateTungsten=Tungsten Crate container.crystallizer=Ore Acidizer container.cyclotron=Cyclotron @@ -4587,6 +4588,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_template.name=Template Crate tile.crate_tungsten.name=Tungsten Crate tile.crate_weapon.name=Weapon Crate tile.crystal_hardened.name=Hardened Dark Crystal diff --git a/src/main/resources/assets/hbm/textures/blocks/crate_template.png b/src/main/resources/assets/hbm/textures/blocks/crate_template.png new file mode 100644 index 0000000000000000000000000000000000000000..2ae4399fc6ef822370bf9fa1a786d0a61298f30f GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfO-I z978JRyuD-ScRNAm*u(vT*2Xfd>n191D04VvYqa4T+eynwv!~1y-ofm&bfM|djnegd z&TkG0y*<6dZ2z%oe@ef4$6siBcSrxh>WaT^-)i6g^_SkYZnaROXUr6H``(-HzlYjw z^joxgF@p?W`{%t#J`4&o7#s}X60v-LA8mhc|LWJOS1&8?{J3qOef->wxyOIcE@ZCBFkrYI zzW=|)F|eqnwNJhQga7%{zvdtCd&l>=fFF;sDE1w1d~34#@E04toaLRe&mIafH0@;B zaQO`1D3B31)1*84`N6Z1>u#pXO&g{8%<^{voT* zboRI{*4V~rxuxKVbC1er^b0q>(WyJ$>F~KwX~Nv2?=1u~?A|dVB^R6qz$MOfI+Tg+ zKU~A+&(fq?q;#Pqh6$#hEuYCs^u{@%vOa&-G%G*WZ9uo0FMs}+#881~eD*jbVbCnIPjmUHx3vIVCg!07RE)>i_@% literal 0 HcmV?d00001 From 0ff16c1a6c0c9fcdab1595036e6baf074b9ef2e5 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 16 Jul 2023 20:39:28 +0200 Subject: [PATCH 260/285] more coilgun ammo --- changelog | 3 + gradle.properties | 2 +- .../java/com/hbm/crafting/WeaponRecipes.java | 4 +- .../entity/projectile/EntityBulletBaseNT.java | 14 +- .../entity/projectile/EntityThrowableNT.java | 18 ++- .../hbm/handler/BulletConfigSyncingUtil.java | 10 +- .../com/hbm/handler/BulletConfiguration.java | 2 + .../hbm/handler/guncfg/GunEnergyFactory.java | 125 ++++++++++++++---- .../java/com/hbm/items/ItemAmmoEnums.java | 17 +++ src/main/java/com/hbm/items/ModItems.java | 8 +- src/main/java/com/hbm/lib/RefStrings.java | 2 +- src/main/resources/assets/hbm/lang/de_DE.lang | 4 +- src/main/resources/assets/hbm/lang/en_US.lang | 4 +- .../fluids/{hotblood.png => blood_hot.png} | Bin ...{gun_coilgun_ammo.png => ammo_coilgun.png} | Bin .../hbm/textures/items/ammo_coilgun_du.png | Bin 0 -> 264 bytes .../textures/items/ammo_coilgun_rubber.png | Bin 0 -> 210 bytes 17 files changed, 169 insertions(+), 44 deletions(-) rename src/main/resources/assets/hbm/textures/gui/fluids/{hotblood.png => blood_hot.png} (100%) rename src/main/resources/assets/hbm/textures/items/{gun_coilgun_ammo.png => ammo_coilgun.png} (100%) create mode 100644 src/main/resources/assets/hbm/textures/items/ammo_coilgun_du.png create mode 100644 src/main/resources/assets/hbm/textures/items/ammo_coilgun_rubber.png diff --git a/changelog b/changelog index 674a01c24..f8d0ffbc5 100644 --- a/changelog +++ b/changelog @@ -10,6 +10,9 @@ * Assemblers will insert their loaded template into the template crate after doing one operation with it * Assemblers will also pull templates from template crates if no template is currently loaded * This hopefully makes certain types of automation like AE2 easier as the template is therefore treated like a crafting ingredient that is returned afterwards +* More coilgun ammo + * Ferrouranium ball that has higher damage, higher wear and breaks blocks with higher resistance + * Rubber ball that deals immense knockback to entities and bounces around ## Changed * Making LPG in the compressor now requires two compression steps diff --git a/gradle.properties b/gradle.properties index 2882b656f..e55a78b8e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4655 +mod_build_number=4662 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index a4d35d774..9218f6ee6 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -160,7 +160,9 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.gun_benelli), new Object[] { "HHP", "SSM", "AAP", 'H', ModItems.ingot_dura_steel, 'S', ModItems.hull_small_steel, 'A', ModItems.hull_small_aluminium, 'P', ModItems.ingot_polymer, '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.gun_coilgun_ammo, 16), new Object[] { " T ", "TST", " T ", 'T', W.ingot(), 'S', BIGMT.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() }); //Ammo assemblies CraftingManager.addRecipeAuto(new ItemStack(ModItems.pellet_flechette, 1), new Object[] { " L ", " L ", "LLL", 'L', PB.nugget() }); diff --git a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java index 15b2aadef..65741dbd4 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityBulletBaseNT.java @@ -294,7 +294,10 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet if(config.plink == 2) worldObj.playSoundAtEntity(this, "hbm:weapon.gBounce", 1.0F, 1.0F); + 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 { if(!worldObj.isRemote) { @@ -303,10 +306,10 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet } } - this.posX += (mop.hitVec.xCoord - this.posX) * 0.6; + /*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.posZ += (mop.hitVec.zCoord - this.posZ) * 0.6;*/ + this.motionX *= config.bounceMod; this.motionY *= config.bounceMod; this.motionZ *= config.bounceMod; @@ -522,6 +525,11 @@ public class EntityBulletBaseNT extends EntityThrowableInterp implements IBullet return this.config.isSpectral; } + @Override + public int selfDamageDelay() { + return this.config.selfDamageDelay; + } + @Override protected double headingForceMult() { return 1D; diff --git a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java index 06d05c0f0..ebde86c60 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java @@ -172,7 +172,7 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { if(mop != null) { nextPos = Vec3.createVectorHelper(mop.hitVec.xCoord, mop.hitVec.yCoord, mop.hitVec.zCoord); } - + if(!this.worldObj.isRemote) { Entity hitEntity = null; @@ -182,8 +182,8 @@ 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 >= 5)) { + + if(entity.canBeCollidedWith() && (entity != thrower || this.ticksInAir >= this.selfDamageDelay())) { double hitbox = 0.3F; AxisAlignedBB aabb = entity.boundingBox.expand(hitbox, hitbox, hitbox); MovingObjectPosition hitMop = aabb.calculateIntercept(pos, nextPos); @@ -212,6 +212,10 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { } } + this.posX += this.motionX * motionMult(); + this.posY += this.motionY * motionMult(); + this.posZ += this.motionZ * motionMult(); + if(mop != null) { if(mop.typeOfHit == MovingObjectPosition.MovingObjectType.BLOCK && this.worldObj.getBlock(mop.blockX, mop.blockY, mop.blockZ) == Blocks.portal) { this.setInPortal(); @@ -219,10 +223,6 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { this.onImpact(mop); } } - - this.posX += this.motionX * motionMult(); - this.posY += this.motionY * motionMult(); - this.posZ += this.motionZ * motionMult(); 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); @@ -274,6 +274,10 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { return false; } + public int selfDamageDelay() { + return 5; + } + public void getStuck(int x, int y, int z) { this.stuckBlockX = x; this.stuckBlockY = y; diff --git a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java index c37a03eed..19987ab65 100644 --- a/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java +++ b/src/main/java/com/hbm/handler/BulletConfigSyncingUtil.java @@ -159,7 +159,10 @@ public class BulletConfigSyncingUtil { public static int SPECIAL_GAUSS = i++; public static int SPECIAL_GAUSS_CHARGED = i++; public static int SPECIAL_EMP = i++; - public static int SPECIAL_COIL = 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++; @@ -452,7 +455,10 @@ public class BulletConfigSyncingUtil { configSet.put(SPECIAL_GAUSS, GunGaussFactory.getGaussConfig()); configSet.put(SPECIAL_GAUSS_CHARGED, GunGaussFactory.getAltConfig()); configSet.put(SPECIAL_EMP, GunEnergyFactory.getOrbusConfig()); - configSet.put(SPECIAL_COIL, GunEnergyFactory.getCoilConfig()); + + 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()); diff --git a/src/main/java/com/hbm/handler/BulletConfiguration.java b/src/main/java/com/hbm/handler/BulletConfiguration.java index 100eed39a..1a5c07498 100644 --- a/src/main/java/com/hbm/handler/BulletConfiguration.java +++ b/src/main/java/com/hbm/handler/BulletConfiguration.java @@ -54,6 +54,8 @@ public class BulletConfiguration implements Cloneable { public int HBRC; //how much of the initial velocity is kept after bouncing public double bounceMod; + //how many ticks until the projectile can hurt the shooter + public int selfDamageDelay = 5; //whether or not the bullet should penetrate mobs public boolean doesPenetrate; diff --git a/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java b/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java index 48aa5feba..1e7d4342d 100644 --- a/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java +++ b/src/main/java/com/hbm/handler/guncfg/GunEnergyFactory.java @@ -12,6 +12,7 @@ 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; @@ -19,6 +20,7 @@ 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; @@ -29,6 +31,7 @@ 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; @@ -204,7 +207,9 @@ public class GunEnergyFactory { config.manufacturer = EnumGunManufacturer.DRG; config.config = new ArrayList(); - config.config.add(BulletConfigSyncingUtil.SPECIAL_COIL); + config.config.add(BulletConfigSyncingUtil.COIL_NORMAL); + config.config.add(BulletConfigSyncingUtil.COIL_DU); + config.config.add(BulletConfigSyncingUtil.COIL_RUBBER); return config; } @@ -278,9 +283,9 @@ public class GunEnergyFactory { BulletConfiguration bullet = new BulletConfiguration(); - bullet.ammo = new ComparableStack(ModItems.gun_coilgun_ammo); + bullet.ammo = new ComparableStack(ModItems.ammo_coilgun, 1, AmmoCoilgun.STOCK.ordinal()); - bullet.velocity = 5F; + bullet.velocity = 7.5F; bullet.spread = 0.0F; bullet.wear = 10; bullet.bulletsMin = 1; @@ -288,7 +293,7 @@ public class GunEnergyFactory { bullet.dmgMin = 35; bullet.dmgMax = 45; bullet.gravity = 0D; - bullet.maxAge = 100; + bullet.maxAge = 50; bullet.doesPenetrate = true; bullet.isSpectral = true; @@ -296,33 +301,105 @@ public class GunEnergyFactory { bullet.trail = bullet.BOLT_NIGHTMARE; bullet.vPFX = "fireworks"; - bullet.bntUpdate = (entity) -> { - - 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) { + 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; - 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 < 1.25) { - System.out.println(b.getUnlocalizedName() + " " + hardness); - entity.worldObj.func_147480_a(x, y, z, false); - } + 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(); diff --git a/src/main/java/com/hbm/items/ItemAmmoEnums.java b/src/main/java/com/hbm/items/ItemAmmoEnums.java index d42eb4015..8ef0638d7 100644 --- a/src/main/java/com/hbm/items/ItemAmmoEnums.java +++ b/src/main/java/com/hbm/items/ItemAmmoEnums.java @@ -748,6 +748,23 @@ public class ItemAmmoEnums { } } + 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/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 50a667323..91c4863de 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1506,6 +1506,7 @@ public class ModItems { 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; @@ -1574,7 +1575,6 @@ public class ModItems { public static Item gun_b92_ammo; public static Item gun_b93; public static Item gun_coilgun; - public static Item gun_coilgun_ammo; public static Item gun_xvl1456; public static Item gun_xvl1456_ammo; public static Item gun_osipr; @@ -4135,6 +4135,7 @@ public class ModItems { 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"); @@ -4202,7 +4203,6 @@ public class ModItems { 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_ammo = new Item().setUnlocalizedName("gun_coilgun_ammo").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":gun_coilgun_ammo"); 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"); @@ -7083,7 +7083,6 @@ public class ModItems { //GameRegistry.registerItem(gun_uboinik_ammo, gun_uboinik_ammo.getUnlocalizedName()); //GameRegistry.registerItem(gun_lever_action_ammo, gun_lever_action_ammo.getUnlocalizedName()); //GameRegistry.registerItem(gun_bolt_action_ammo, gun_bolt_action_ammo.getUnlocalizedName()); - GameRegistry.registerItem(gun_coilgun_ammo, gun_coilgun_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()); @@ -7118,6 +7117,7 @@ public class ModItems { 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()); @@ -8161,6 +8161,8 @@ public class ModItems { addRemap("gas_petroleum", gas_full, Fluids.PETROLEUM.getID()); addRemap("gas_biogas", gas_full, Fluids.BIOGAS.getID()); addRemap("gas_lpg", gas_full, Fluids.LPG.getID()); + + addRemap("gun_coilgun_ammo", ammo_coilgun, AmmoCoilgun.STOCK); } public static void addRemap(String unloc, Item item, Enum sub) { diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 6d1da286d..98f2a8683 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 (4655)"; + public static final String VERSION = "1.0.27 BETA (4662)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 858ba093d..d7e063169 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -983,6 +983,9 @@ 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 @@ -1876,7 +1879,6 @@ item.gun_calamity_ammo.name=.50 BMG Patrone (LEGACY) item.gun_calamity_dual.name=Sattelkanone item.gun_chemthrower.name=Chemowerfer item.gun_coilgun.name=Gaußpistole -item.gun_coilgun_ammo.name=Wolframkugel item.gun_cryolator.name=Der Cryolator item.gun_cryolator_ammo.name=Kryozelle item.gun_dampfmaschine.name=Garantiert keine Scherzwaffe diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 58dff23b9..3c4bec004 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1609,6 +1609,9 @@ 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_container.name=Ammo Container item.ammo_dart.name=Plastic Dart (Withering) item.ammo_dart_nerf.name=NERF Dart @@ -2567,7 +2570,6 @@ item.gun_calamity_ammo.name=.50 BMG Round (LEGACY) item.gun_calamity_dual.name=Saddle Gun item.gun_chemthrower.name=Chemthrower item.gun_coilgun.name=Coilgun -item.gun_coilgun_ammo.name=Coilgun Tungsten Ball item.gun_cryolator.name=The Cryolator item.gun_cryolator_ammo.name=Cryo Cell item.gun_dampfmaschine.name=Totally Not a Joke Weapon diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/hotblood.png b/src/main/resources/assets/hbm/textures/gui/fluids/blood_hot.png similarity index 100% rename from src/main/resources/assets/hbm/textures/gui/fluids/hotblood.png rename to src/main/resources/assets/hbm/textures/gui/fluids/blood_hot.png diff --git a/src/main/resources/assets/hbm/textures/items/gun_coilgun_ammo.png b/src/main/resources/assets/hbm/textures/items/ammo_coilgun.png similarity index 100% rename from src/main/resources/assets/hbm/textures/items/gun_coilgun_ammo.png rename to src/main/resources/assets/hbm/textures/items/ammo_coilgun.png diff --git a/src/main/resources/assets/hbm/textures/items/ammo_coilgun_du.png b/src/main/resources/assets/hbm/textures/items/ammo_coilgun_du.png new file mode 100644 index 0000000000000000000000000000000000000000..a8bb6196cf61ab1a4fbc5206db0dcc22e270051d GIT binary patch literal 264 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf*1>e^a_Kg LtDnm{r-UW|fzN0( literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/ammo_coilgun_rubber.png b/src/main/resources/assets/hbm/textures/items/ammo_coilgun_rubber.png new file mode 100644 index 0000000000000000000000000000000000000000..265c2b866617eb0dc62a9831e4fb0cafc99fa668 GIT binary patch literal 210 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfMPpU6M*3I$0aMIFkbBYVkynvYwtTHV}Zsl+M^Vv4iEa%o$ zso2{(um2S7-MKk$WA^M+n_iydj10b~O6J9!_%}OpvQRRMgNxm^B1ZnqpigsN^8Yoi zTE%oN%~<*T&+-GiEn6C9?reA^==$Vnh*x3%kMGjv2W7?oIZxU$YeOE;Q4F50elF{r G5}E+k)lq!_ literal 0 HcmV?d00001 From 05c87528a0181314056fc252a71724be0c61db8c Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 17 Jul 2023 10:30:41 +0200 Subject: [PATCH 261/285] youch --- changelog | 40 +------------------ gradle.properties | 2 +- .../com/hbm/crafting/SmeltingRecipes.java | 2 +- src/main/java/com/hbm/lib/RefStrings.java | 2 +- .../java/com/hbm/tileentity/TileMappings.java | 1 + 5 files changed, 6 insertions(+), 41 deletions(-) diff --git a/changelog b/changelog index f8d0ffbc5..2711907d1 100644 --- a/changelog +++ b/changelog @@ -1,39 +1,3 @@ -## Added -* UAC pistol - * Uses the .45 caliber -* Cryo cannon - * Freezes entities - * Can only deal damage to already frozen entities - * Damage is proportional to max health, dealing more damage the stronger the mob is -* Template crate - * A cheap 27 slot crate - * Assemblers will insert their loaded template into the template crate after doing one operation with it - * Assemblers will also pull templates from template crates if no template is currently loaded - * This hopefully makes certain types of automation like AE2 easier as the template is therefore treated like a crafting ingredient that is returned afterwards -* More coilgun ammo - * Ferrouranium ball that has higher damage, higher wear and breaks blocks with higher resistance - * Rubber ball that deals immense knockback to entities and bounces around - -## Changed -* Making LPG in the compressor now requires two compression steps - * This fixes an issue where polymer is unobtainable in 528 mode since petroleum at 1PU not being obtainable -* Fire and cryo damage now bypasses glyphid's armor, being unaffected by the armor's damage reduction and not being able to break off armor either -* Fire now deals 4x more damage to glyphids -* Cryogenic fluids from the chemthrower no longer deal direct damage, instead freezing the target - * Once the target is already frozen, it will deal damage and apply the same effects as it used to -* Decreased the damage caused by hot fluids in the chemical thrower, regular steam no longer instantly vaporizes nuclear creepers -* Decreased acid damage and armor damage for corrosive liquids in the chemical thrower -* Glyphid hives have been made half as common, delete your config for this change to take effect -* The assembler now uses more modern code that lets it take and insert items from all storage blocks and not just NTM crates - * This new code also causes assemblers to only take as many items from containers as are actually required instead of sucking up as much as available whcih would cause clogs -* Assemblers and chemical plants now take the required items from containers instantly instead of only taking a single item per tick -* The universal projectile entity has been updated, it now uses a much better synchronization and interpolation method that prevents position desyncs after bouncing - * This also fixes issues where bullets could not damage multiple entities within the same tick, if they could penetrate them - * The old system also had issues with spectral bullets not damaging entities right behind walls, which has been fixed -* The coilgun now destroys solid blocks in its path -* Glyphids no longer use extended 128 block targeting unless soot pollution crosses a certain threshold (1 by default) - ## Fixed -* Fixed issue where mk5 explosions would behave weirdly in their origin chunk, often blowing through bedrock and thick layers of concrete -* Fixed saturnite rifle disappearing in third person when scoping -* Fixed cables not visually connecting to assemblers +* Fixed bedrock ore to cobblestone being wrong, using actual ore blocks instead of the extracted item +* Fixed missing mapping on the template chest, causing crashes diff --git a/gradle.properties b/gradle.properties index e55a78b8e..aca4be12e 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4662 +mod_build_number=4663 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ diff --git a/src/main/java/com/hbm/crafting/SmeltingRecipes.java b/src/main/java/com/hbm/crafting/SmeltingRecipes.java index 960689544..60a709ce0 100644 --- a/src/main/java/com/hbm/crafting/SmeltingRecipes.java +++ b/src/main/java/com/hbm/crafting/SmeltingRecipes.java @@ -183,7 +183,7 @@ public class SmeltingRecipes { for(EnumBedrockOre ore : EnumBedrockOre.values()) { int i = ore.ordinal(); - GameRegistry.addSmelting(new ItemStack(ModBlocks.ore_bedrock, 1, i), new ItemStack(Blocks.cobblestone, 16), 0.1F); + GameRegistry.addSmelting(new ItemStack(ModItems.ore_bedrock, 1, i), new ItemStack(Blocks.cobblestone, 16), 0.1F); } for(int i = 0; i < 10; i++) diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 98f2a8683..55bb20699 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 (4662)"; + public static final String VERSION = "1.0.27 BETA (4663)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 0210ff1ad..dd84c756e 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -96,6 +96,7 @@ public class TileMappings { put(TileEntityMachineFluidTank.class, "tileentity_fluid_tank"); put(TileEntityMachineTurbofan.class, "tileentity_machine_turbofan"); put(TileEntityMachineTurbineGas.class, "tileentity_machine_gasturbine"); + put(TileEntityCrateTemplate.class, "tileentity_crate_template"); put(TileEntityCrateIron.class, "tileentity_crate_iron"); put(TileEntityCrateSteel.class, "tileentity_crate_steel"); put(TileEntityCrateDesh.class, "tileentity_crate_desh"); From 1d756bc6718b031d4a210dce2e725008f5a75a78 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Mon, 17 Jul 2023 14:16:58 -0500 Subject: [PATCH 262/285] Fluid Gauge OC compat for reading fluid flows. --- .../hbm/blocks/network/FluidDuctGauge.java | 39 ++++++++++++++++++- 1 file changed, 37 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java b/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java index 10e36bf10..abf4cc4d1 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java @@ -15,8 +15,13 @@ import com.hbm.tileentity.network.TileEntityPipeBaseNT; import com.hbm.util.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 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.BlockPistonBase; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -100,8 +105,9 @@ public class FluidDuctGauge extends FluidDuctBase implements IBlockMultiPass, IL public int getRenderType(){ return IBlockMultiPass.getRenderType(); } - - public static class TileEntityPipeGauge extends TileEntityPipeBaseNT implements INBTPacketReceiver { + + @Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) + public static class TileEntityPipeGauge extends TileEntityPipeBaseNT implements INBTPacketReceiver, SimpleComponent { private BigInteger lastMeasurement = BigInteger.valueOf(10); private long deltaTick = 0; @@ -144,5 +150,34 @@ public class FluidDuctGauge extends FluidDuctBase implements IBlockMultiPass, IL this.deltaTick = Math.max(nbt.getLong("deltaT"), 0); this.deltaLastSecond = Math.max(nbt.getLong("deltaS"), 0); } + + @Override + public String getComponentName() { + return "ntm_fluid_gauge"; + } + + @Callback(direct = true, limit = 16) + @Optional.Method(modid = "OpenComputers") + public Object[] getTick(Context context, Arguments args) { + return new Object[] {deltaTick}; + } + + @Callback(direct = true, limit = 16) + @Optional.Method(modid = "OpenComputers") + public Object[] getSecond(Context context, Arguments args) { + return new Object[] {deltaSecond}; + } + + @Callback(direct = true, limit = 16) + @Optional.Method(modid = "OpenComputers") + public Object[] getType(Context context, Arguments args) { + return new Object[] {I18nUtil.resolveKey(getType().getUnlocalizedName())}; + } + + @Callback(direct = true, limit = 16) + @Optional.Method(modid = "OpenComputers") + public Object[] getInfo(Context context, Arguments args) { + return new Object[] {deltaTick, deltaSecond, I18nUtil.resolveKey(getType().getUnlocalizedName()), xCoord, yCoord, zCoord}; + } } } From 91e52dc665514b7925f3685d1d39c0bd1cc7921d Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Mon, 17 Jul 2023 14:21:19 -0500 Subject: [PATCH 263/285] Fluid Gauge OC compat for reading fluid flows. --- src/main/java/com/hbm/blocks/network/FluidDuctGauge.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java b/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java index abf4cc4d1..b15aeba9c 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java @@ -151,6 +151,7 @@ public class FluidDuctGauge extends FluidDuctBase implements IBlockMultiPass, IL this.deltaLastSecond = Math.max(nbt.getLong("deltaS"), 0); } + @Override public String getComponentName() { return "ntm_fluid_gauge"; From ecec7e5a36a88443cea263718f97aaff40fda57a Mon Sep 17 00:00:00 2001 From: Bob Date: Tue, 18 Jul 2023 18:34:16 +0200 Subject: [PATCH 264/285] the malicious gigglefish from the silly dimension --- changelog | 14 +- src/main/java/com/hbm/blocks/BlockEnums.java | 13 ++ src/main/java/com/hbm/blocks/ModBlocks.java | 22 ++ .../java/com/hbm/blocks/machine/BlockCM.java | 30 +++ .../com/hbm/blocks/machine/BlockCMGlass.java | 31 +++ .../blocks/machine/BlockCustomMachine.java | 131 ++++++++++++ .../hbm/commands/CommandDebugChunkLoad.java | 2 +- .../entity/projectile/EntityThrowableNT.java | 6 +- .../container/ContainerMachineCustom.java | 107 ++++++++++ .../hbm/inventory/gui/GUIMachineCustom.java | 63 ++++++ .../recipes/CustomMachineRecipes.java | 127 +++++++++++ .../recipes/loader/SerializableRecipe.java | 39 +++- .../hbm/items/block/ItemCustomMachine.java | 51 +++++ src/main/java/com/hbm/main/MainRegistry.java | 2 + .../java/com/hbm/tileentity/TileMappings.java | 1 + .../machine/TileEntityCustomMachine.java | 202 ++++++++++++++++++ .../machine/TileEntityMachineRTG.java | 20 +- .../hbm/textures/blocks/cm_block_alloy.png | Bin 0 -> 537 bytes .../hbm/textures/blocks/cm_block_base.png | Bin 0 -> 560 bytes .../hbm/textures/blocks/cm_block_desh.png | Bin 0 -> 577 bytes .../hbm/textures/blocks/cm_block_steel.png | Bin 0 -> 563 bytes .../hbm/textures/blocks/cm_block_tcalloy.png | Bin 0 -> 564 bytes .../hbm/textures/blocks/cm_engine_bismuth.png | Bin 0 -> 797 bytes .../hbm/textures/blocks/cm_engine_desh.png | Bin 0 -> 701 bytes .../textures/blocks/cm_engine_standard.png | Bin 0 -> 655 bytes .../hbm/textures/blocks/cm_port_alloy.png | Bin 0 -> 581 bytes .../hbm/textures/blocks/cm_port_desh.png | Bin 0 -> 615 bytes .../hbm/textures/blocks/cm_port_steel.png | Bin 0 -> 612 bytes .../hbm/textures/blocks/cm_port_tcalloy.png | Bin 0 -> 626 bytes .../hbm/textures/blocks/cm_sheet_alloy.png | Bin 0 -> 169 bytes .../hbm/textures/blocks/cm_sheet_base.png | Bin 0 -> 174 bytes .../hbm/textures/blocks/cm_sheet_desh.png | Bin 0 -> 165 bytes .../hbm/textures/blocks/cm_sheet_steel.png | Bin 0 -> 169 bytes .../hbm/textures/blocks/cm_sheet_tcalloy.png | Bin 0 -> 176 bytes .../hbm/textures/blocks/cm_tank_alloy.png | Bin 0 -> 371 bytes .../hbm/textures/blocks/cm_tank_desh.png | Bin 0 -> 373 bytes .../hbm/textures/blocks/cm_tank_steel.png | Bin 0 -> 397 bytes .../hbm/textures/blocks/cm_tank_tcalloy.png | Bin 0 -> 397 bytes .../hbm/textures/blocks/cm_terminal_front.png | Bin 0 -> 445 bytes .../hbm/textures/blocks/cm_terminal_side.png | Bin 0 -> 489 bytes .../textures/gui/processing/gui_custom.png | Bin 0 -> 3223 bytes 41 files changed, 843 insertions(+), 18 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/machine/BlockCM.java create mode 100644 src/main/java/com/hbm/blocks/machine/BlockCMGlass.java create mode 100644 src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java create mode 100644 src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java create mode 100644 src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java create mode 100644 src/main/java/com/hbm/inventory/recipes/CustomMachineRecipes.java create mode 100644 src/main/java/com/hbm/items/block/ItemCustomMachine.java create mode 100644 src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_block_alloy.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_block_base.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_block_desh.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_block_steel.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_block_tcalloy.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_engine_bismuth.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_engine_desh.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_engine_standard.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_port_alloy.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_port_desh.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_port_steel.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_port_tcalloy.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_sheet_alloy.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_sheet_base.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_sheet_desh.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_sheet_steel.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_sheet_tcalloy.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_tank_alloy.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_tank_desh.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_tank_steel.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_tank_tcalloy.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_terminal_front.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_terminal_side.png create mode 100644 src/main/resources/assets/hbm/textures/gui/processing/gui_custom.png diff --git a/changelog b/changelog index 2711907d1..ec89d27e1 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,11 @@ -## Fixed -* Fixed bedrock ore to cobblestone being wrong, using actual ore blocks instead of the extracted item -* Fixed missing mapping on the template chest, causing crashes +## Added +* Rubber ball + * can be thrown at people +* New chlorine processing chain + * Involves 240 processing steps of washing, electrolyzing, centrifuging and treating chlorocalcite + +## Changed +* Glyphids now have a higher tracking range, being 256 blocks +* Standard glyphids now have a base health of 100 +* Glyphid scouts are now immune to fire and explosive damage, have a 50% damage reduction against projectiles and have passive regeneration +* Increased hive block blast resistance, they can no longer be blown up wiith conventional explosives diff --git a/src/main/java/com/hbm/blocks/BlockEnums.java b/src/main/java/com/hbm/blocks/BlockEnums.java index 717ac2639..f1119ce64 100644 --- a/src/main/java/com/hbm/blocks/BlockEnums.java +++ b/src/main/java/com/hbm/blocks/BlockEnums.java @@ -20,6 +20,19 @@ public class BlockEnums { SULFUR, ASBESTOS } + + public static enum EnumCMMaterials { + STEEL, + ALLOY, + DESH, + TCALLOY + } + + public static enum EnumCMEngines { + STANDARD, + DESH, + BISMUTH + } /** DECO / STRUCTURE ENUMS */ //i apologize in advance diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index fbdcadf67..31dd43231 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -864,6 +864,13 @@ public class ModBlocks { @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_port; + public static Block custom_machine; + public static Block reactor_element; public static Block reactor_control; public static Block reactor_hatch; @@ -2013,6 +2020,13 @@ public class ModBlocks { 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.blockTab).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.blockTab).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.blockTab).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.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_tank"); + cm_port = new BlockCM(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_port").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_port"); + custom_machine = new BlockCustomMachine().setBlockName("custom_machine").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); + reactor_element = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_element_top", RefStrings.MODID + ":reactor_element_base").setBlockName("reactor_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_element_side"); reactor_control = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_control_top").setBlockName("reactor_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_control_side"); reactor_hatch = new ReactorHatch(Material.iron).setBlockName("reactor_hatch").setHardness(5.0F).setResistance(1000.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); @@ -3331,6 +3345,14 @@ public class ModBlocks { 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_port); + //Multiblock Generators GameRegistry.registerBlock(reactor_element, reactor_element.getUnlocalizedName()); GameRegistry.registerBlock(reactor_control, reactor_control.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/BlockCM.java b/src/main/java/com/hbm/blocks/machine/BlockCM.java new file mode 100644 index 000000000..eb8b23e78 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockCM.java @@ -0,0 +1,30 @@ +package com.hbm.blocks.machine; + +import java.util.Locale; + +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 BlockCM extends BlockEnumMulti { + + public BlockCM(Material mat, Class theEnum, boolean multiName, boolean multiTexture) { + super(mat, theEnum, multiName, multiTexture); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister reg) { + 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.getTextureName() + "_" + num.name().toLowerCase(Locale.US)); + } + } +} diff --git a/src/main/java/com/hbm/blocks/machine/BlockCMGlass.java b/src/main/java/com/hbm/blocks/machine/BlockCMGlass.java new file mode 100644 index 000000000..af9a116a9 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockCMGlass.java @@ -0,0 +1,31 @@ +package com.hbm.blocks.machine; + +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.world.IBlockAccess; + +public class BlockCMGlass extends BlockCM { + + public BlockCMGlass(Material mat, Class theEnum, boolean multiName, boolean multiTexture) { + super(mat, theEnum, multiName, multiTexture); + } + + @Override + public boolean isOpaqueCube() { + return false; + } + + @Override + public boolean renderAsNormalBlock() { + return false; + } + + @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 ? false : super.shouldSideBeRendered(world, x, y, z, side); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java b/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java new file mode 100644 index 000000000..2d1eb0484 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java @@ -0,0 +1,131 @@ +package com.hbm.blocks.machine; + +import java.util.ArrayList; + +import com.hbm.items.ModItems; +import com.hbm.lib.RefStrings; +import com.hbm.main.MainRegistry; +import com.hbm.tileentity.machine.TileEntityCustomMachine; + +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.nbt.NBTTagCompound; +import net.minecraft.stats.StatList; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.util.MathHelper; +import net.minecraft.world.World; + +public class BlockCustomMachine extends BlockContainer { + + @SideOnly(Side.CLIENT) + private IIcon iconFront; + + public BlockCustomMachine() { + super(Material.iron); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityCustomMachine(); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + this.iconFront = iconRegister.registerIcon(RefStrings.MODID + ":cm_terminal_front"); + this.blockIcon = iconRegister.registerIcon(RefStrings.MODID + ":cm_terminal_side"); + } + + @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 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()) { + + TileEntityCustomMachine tile = (TileEntityCustomMachine) world.getTileEntity(x, y, z); + + if(tile != null) { + + if(tile.checkStructure()) { + FMLNetworkHandler.openGui(player, MainRegistry.instance, 0, world, x, y, z); + } else if(player.getHeldItem() != null && player.getHeldItem().getItem() == ModItems.wand_s) { + tile.buildStructure(); + } + } + return true; + } + + return false; + } + + @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); + + TileEntityCustomMachine tile = (TileEntityCustomMachine) world.getTileEntity(x, y, z); + + if(tile != null && stack.hasTagCompound()) { + tile.machineType = stack.stackTagCompound.getString("machineType"); + tile.init(); + tile.markChanged(); + } + } + + @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); + } + + @Override + public ArrayList getDrops(World world, int x, int y, int z, int metadata, int fortune) { + + ArrayList ret = new ArrayList(); + Item item = getItemDropped(metadata, world.rand, fortune); + if(item != null) { + + ItemStack stack = new ItemStack(item, 1, damageDropped(metadata)); + TileEntityCustomMachine tile = (TileEntityCustomMachine) world.getTileEntity(x, y, z); + + if(tile != null) { + stack.stackTagCompound = new NBTTagCompound(); + stack.stackTagCompound.setString("machineType", tile.machineType); + } + + ret.add(stack); + } + + return ret; + } +} diff --git a/src/main/java/com/hbm/commands/CommandDebugChunkLoad.java b/src/main/java/com/hbm/commands/CommandDebugChunkLoad.java index ac10eae4d..caf5e7673 100644 --- a/src/main/java/com/hbm/commands/CommandDebugChunkLoad.java +++ b/src/main/java/com/hbm/commands/CommandDebugChunkLoad.java @@ -55,7 +55,7 @@ public class CommandDebugChunkLoad extends CommandBase { } Object[] data = anvil.loadChunk__Async(sender.getEntityWorld(), cX, cZ); - Chunk chunk = (Chunk) data[0]; + //Chunk chunk = (Chunk) data[0]; NBTTagCompound nbt = (NBTTagCompound) data[1]; NBTTagCompound level = nbt.getCompoundTag("Level"); NBTTagList tagList = level.getTagList("TileEntities", 10); diff --git a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java index ebde86c60..fbd99c23c 100644 --- a/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java +++ b/src/main/java/com/hbm/entity/projectile/EntityThrowableNT.java @@ -179,6 +179,7 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { List list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.boundingBox.addCoord(this.motionX * motionMult(), this.motionY * motionMult(), this.motionZ * motionMult()).expand(1.0D, 1.0D, 1.0D)); double nearest = 0.0D; EntityLivingBase thrower = this.getThrower(); + MovingObjectPosition nonPenImpact = null; for(int j = 0; j < list.size(); ++j) { Entity entity = (Entity) list.get(j); @@ -192,7 +193,7 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { // if penetration is enabled, run impact for all intersecting entities if(this.doesPenetrate()) { - this.onImpact(new MovingObjectPosition(entity)); + this.onImpact(new MovingObjectPosition(entity, hitMop.hitVec)); } else { double dist = pos.distanceTo(hitMop.hitVec); @@ -200,6 +201,7 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { if(dist < nearest || nearest == 0.0D) { hitEntity = entity; nearest = dist; + nonPenImpact = hitMop; } } } @@ -208,7 +210,7 @@ public abstract class EntityThrowableNT extends Entity implements IProjectile { // if not, only run it for the closest MOP if(!this.doesPenetrate() && hitEntity != null) { - mop = new MovingObjectPosition(hitEntity); + mop = new MovingObjectPosition(hitEntity, nonPenImpact.hitVec); } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java b/src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java new file mode 100644 index 000000000..1a15db6ba --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java @@ -0,0 +1,107 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.inventory.SlotPattern; +import com.hbm.tileentity.machine.TileEntityCustomMachine; + +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 ContainerMachineCustom extends Container { + + private TileEntityCustomMachine custom; + + public ContainerMachineCustom(InventoryPlayer playerInv, TileEntityCustomMachine tile) { + custom = tile; + + //Input + this.addSlotToContainer(new Slot(tile, 0, 150, 72)); + //Fluid IDs + for(int i = 0; i < tile.inputTanks.length; i++) this.addSlotToContainer(new Slot(tile, 1 + i, 8, 54 + 18 * i)); + //Item inputs + if(tile.config.itemInCount > 0) this.addSlotToContainer(new Slot(tile, 4, 8, 72)); + if(tile.config.itemInCount > 1) this.addSlotToContainer(new Slot(tile, 5, 26, 72)); + if(tile.config.itemInCount > 2) this.addSlotToContainer(new Slot(tile, 6, 44, 72)); + if(tile.config.itemInCount > 3) this.addSlotToContainer(new Slot(tile, 7, 8, 90)); + if(tile.config.itemInCount > 4) this.addSlotToContainer(new Slot(tile, 8, 26, 90)); + if(tile.config.itemInCount > 5) this.addSlotToContainer(new Slot(tile, 9, 44, 90)); + //Templates + if(tile.config.itemInCount > 0) this.addSlotToContainer(new SlotPattern(tile, 10, 8, 108)); + if(tile.config.itemInCount > 1) this.addSlotToContainer(new SlotPattern(tile, 11, 26, 108)); + if(tile.config.itemInCount > 2) this.addSlotToContainer(new SlotPattern(tile, 12, 44, 108)); + if(tile.config.itemInCount > 3) this.addSlotToContainer(new SlotPattern(tile, 13, 8, 126)); + if(tile.config.itemInCount > 4) this.addSlotToContainer(new SlotPattern(tile, 14, 26, 126)); + if(tile.config.itemInCount > 5) this.addSlotToContainer(new SlotPattern(tile, 15, 44, 126)); + //Output + if(tile.config.itemOutCount > 0) this.addSlotToContainer(new SlotCraftingOutput(playerInv.player, tile, 16, 78, 72)); + if(tile.config.itemOutCount > 1) this.addSlotToContainer(new SlotCraftingOutput(playerInv.player, tile, 17, 96, 72)); + if(tile.config.itemOutCount > 2) this.addSlotToContainer(new SlotCraftingOutput(playerInv.player, tile, 18, 114, 72)); + if(tile.config.itemOutCount > 3) this.addSlotToContainer(new SlotCraftingOutput(playerInv.player, tile, 19, 78, 90)); + if(tile.config.itemOutCount > 4) this.addSlotToContainer(new SlotCraftingOutput(playerInv.player, tile, 20, 96, 90)); + if(tile.config.itemOutCount > 5) this.addSlotToContainer(new SlotCraftingOutput(playerInv.player, tile, 21, 114, 90)); + + 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, 174 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(playerInv, i, 8 + i * 18, 232)); + } + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return custom.isUseableByPlayer(player); + } + + @Override + public ItemStack transferStackInSlot(EntityPlayer player, int index) { + return null; + } + + @Override + public ItemStack slotClick(int index, int button, int mode, EntityPlayer player) { + + //L/R: 0 + //M3: 3 + //SHIFT: 1 + //DRAG: 5 + + //TODO: shoot whoever at mojang wrote the container code + if(index < 0 || index >= this.inventorySlots.size() || !(this.inventorySlots.get(index) instanceof SlotPattern)) { + return super.slotClick(index, button, mode, player); + } + + Slot slot = this.getSlot(index); + index = ((Slot) this.inventorySlots.get(index)).getSlotIndex(); + + ItemStack ret = null; + ItemStack held = player.inventory.getItemStack(); + + if(slot.getHasStack()) + ret = slot.getStack().copy(); + + if(button == 1 && mode == 0 && slot.getHasStack()) { + custom.matcher.nextMode(player.worldObj, slot.getStack(), index - 10); + return ret; + + } else { + + slot.putStack(held != null ? held.copy() : null); + + if(slot.getHasStack()) { + slot.getStack().stackSize = 1; + } + + slot.onSlotChanged(); + custom.matcher.initPatternSmart(player.worldObj, slot.getStack(), index - 10); + + return ret; + } + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java b/src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java new file mode 100644 index 000000000..5bbc86167 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java @@ -0,0 +1,63 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerMachineCustom; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityCustomMachine; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIMachineCustom extends GuiInfoContainer { + + private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_custom.png"); + private TileEntityCustomMachine custom; + + public GUIMachineCustom(InventoryPlayer invPlayer, TileEntityCustomMachine tedf) { + super(new ContainerMachineCustom(invPlayer, tedf)); + custom = tedf; + + this.xSize = 176; + this.ySize = 256; + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.custom.getInventoryName(); + this.fontRendererObj.drawString(name, 68 - 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); + + for(int i = 0; i < 2; i++) { + for(int j = 0; j < 3; j++) { + int index = i * 3 + j; + if(custom.config.itemInCount <= index) { + drawTexturedModalRect(guiLeft + 7 + j * 18, guiTop + 71 + i * 18, 192 + j * 18, 86 + i * 18, 18, 18); + drawTexturedModalRect(guiLeft + 7 + j * 18, guiTop + 107 + i * 18, 192 + j * 18, 86 + i * 18, 18, 18); + } + if(custom.config.itemOutCount <= index) { + drawTexturedModalRect(guiLeft + 77 + j * 18, guiTop + 71 + i * 18, 192 + j * 18, 86 + i * 18, 18, 18); + } + } + } + + for(int i = 0; i < 3; i++) { + if(custom.config.fluidInCount <= i) { + drawTexturedModalRect(guiLeft + 7 + i * 18, guiTop + 17, 192 + i * 18, 32, 18, 54); + } + if(custom.config.fluidOutCount <= i) { + drawTexturedModalRect(guiLeft + 77 + i * 18, guiTop + 17, 192 + i * 18, 32, 18, 36); + } + } + } + +} diff --git a/src/main/java/com/hbm/inventory/recipes/CustomMachineRecipes.java b/src/main/java/com/hbm/inventory/recipes/CustomMachineRecipes.java new file mode 100644 index 000000000..e3fe13cef --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/CustomMachineRecipes.java @@ -0,0 +1,127 @@ +package com.hbm.inventory.recipes; + +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.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.fluid.Fluids; +import com.hbm.inventory.recipes.loader.SerializableRecipe; +import com.hbm.items.ModItems; +import com.hbm.util.Tuple.Pair; + +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; + +public class CustomMachineRecipes extends SerializableRecipe { + + public static HashMap> recipes = new HashMap(); + + @Override + public void registerDefaults() { + + recipes.put("paperPress", new ArrayList() {{ + CustomMachineRecipe recipe = new CustomMachineRecipe(); + recipe.inputFluids = new FluidStack[] {new FluidStack(Fluids.WATER, 250)}; + recipe.inputItems = new AStack[] {new ComparableStack(ModItems.powder_sawdust)}; + recipe.outputFluids = new FluidStack[0]; + recipe.outputItems = new Pair[] {new Pair(new ItemStack(Items.paper, 3), 1F)}; + recipe.duration = 60; + recipe.consumptionPerTick = 10; + add(recipe); + }}); + } + + @Override + public String getFileName() { + return "hbmCustomMachines.json"; + } + + @Override + public Object getRecipeObject() { + return recipes; + } + + @Override + public void deleteRecipes() { + recipes.clear(); + } + + @Override + public void readRecipe(JsonElement recipe) { + JsonObject obj = recipe.getAsJsonObject(); + + String name = obj.get("recipeKey").getAsString(); + List list = new ArrayList(); + JsonArray array = obj.get("recipes").getAsJsonArray(); + + for(int i = 0; i < array.size(); i++) { + JsonObject rec = array.get(i).getAsJsonObject(); + CustomMachineRecipe recipeInstance = new CustomMachineRecipe(); + recipeInstance.inputFluids = this.readFluidArray(rec.get("inputFluids").getAsJsonArray()); + recipeInstance.inputItems = this.readAStackArray(rec.get("inputItems").getAsJsonArray()); + recipeInstance.outputFluids = this.readFluidArray(rec.get("outputFluids").getAsJsonArray()); + recipeInstance.outputItems = this.readItemStackArrayChance(rec.get("outputItems").getAsJsonArray()); + recipeInstance.duration = rec.get("duration").getAsInt(); + recipeInstance.consumptionPerTick = rec.get("consumptionPerTick").getAsInt(); + list.add(recipeInstance); + } + + recipes.put(name, list); + } + + @Override + public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { + Entry> entry = (Entry) recipe; + + writer.name("recipeKey").value(entry.getKey()); + writer.name("recipes").beginArray(); + + for(CustomMachineRecipe recipeInstance : entry.getValue()) { + writer.beginObject(); + + writer.name("inputFluids").beginArray(); + for(FluidStack stack : recipeInstance.inputFluids) this.writeFluidStack(stack, writer); + writer.endArray(); + + writer.name("inputItems").beginArray(); + for(AStack stack : recipeInstance.inputItems) this.writeAStack(stack, writer); + writer.endArray(); + + writer.name("outputFluids").beginArray(); + for(FluidStack stack : recipeInstance.outputFluids) this.writeFluidStack(stack, writer); + writer.endArray(); + + writer.name("outputItems").beginArray(); + for(Pair stack : recipeInstance.outputItems) this.writeItemStackChance(stack, writer); + writer.endArray(); + + writer.name("duration").value(recipeInstance.duration); + writer.name("consumptionPerTick").value(recipeInstance.consumptionPerTick); + + writer.endObject(); + } + + writer.endArray(); + } + + public static class CustomMachineRecipe { + + public FluidStack[] inputFluids; + public AStack[] inputItems; + public FluidStack[] outputFluids; + public Pair[] outputItems; + + public int duration; + public int consumptionPerTick; + } + +} 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 405cede7f..5e2f11a98 100644 --- a/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java +++ b/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java @@ -25,6 +25,7 @@ import com.hbm.inventory.material.MatDistribution; import com.hbm.inventory.recipes.*; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; +import com.hbm.util.Tuple.Pair; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; @@ -62,6 +63,7 @@ public abstract class SerializableRecipe { recipeHandlers.add(new OutgasserRecipes()); recipeHandlers.add(new CompressorRecipes()); recipeHandlers.add(new MatDistribution()); + recipeHandlers.add(new CustomMachineRecipes()); } public static void initialize() { @@ -166,7 +168,9 @@ public abstract class SerializableRecipe { writer.endArray(); //end recipe array writer.endObject(); //final '}' writer.close(); - } catch(Exception ex) { } + } catch(Exception ex) { + ex.printStackTrace(); + } } public void readRecipeFile(File file) { @@ -243,6 +247,18 @@ public abstract class SerializableRecipe { return new ItemStack(ModItems.nothing); } + protected static Pair readItemStackChance(JsonArray array) { + try { + Item item = (Item) Item.itemRegistry.getObject(array.get(0).getAsString()); + int stacksize = array.size() > 2 ? array.get(1).getAsInt() : 1; + int meta = array.size() > 3 ? array.get(2).getAsInt() : 0; + float chance = array.get(array.size() - 1).getAsFloat(); + if(item != null) return new Pair(new ItemStack(item, stacksize, meta), chance); + } catch(Exception ex) { } + MainRegistry.logger.error("Error reading stack array " + array.toString() + " - defaulting to NOTHING item!"); + return new Pair(new ItemStack(ModItems.nothing), 1F); + } + protected static ItemStack[] readItemStackArray(JsonArray array) { try { ItemStack[] items = new ItemStack[array.size()]; @@ -253,6 +269,16 @@ public abstract class SerializableRecipe { return new ItemStack[0]; } + protected static Pair[] readItemStackArrayChance(JsonArray array) { + try { + Pair[] items = new Pair[array.size()]; + for(int i = 0; i < items.length; i++) { items[i] = readItemStackChance((JsonArray) array.get(i)); } + return items; + } catch(Exception ex) { } + MainRegistry.logger.error("Error reading stack array " + array.toString()); + return new Pair[0]; + } + protected static void writeItemStack(ItemStack stack, JsonWriter writer) throws IOException { writer.beginArray(); writer.setIndent(""); @@ -263,6 +289,17 @@ public abstract class SerializableRecipe { writer.setIndent(" "); } + protected static void writeItemStackChance(Pair stack, JsonWriter writer) throws IOException { + writer.beginArray(); + writer.setIndent(""); + writer.value(Item.itemRegistry.getNameForObject(stack.getKey().getItem())); //item name + if(stack.getKey().stackSize != 1 || stack.getKey().getItemDamage() != 0) writer.value(stack.getKey().stackSize); //stack size + if(stack.getKey().getItemDamage() != 0) writer.value(stack.getKey().getItemDamage()); //metadata + writer.value(stack.value); //chance + writer.endArray(); + writer.setIndent(" "); + } + protected static FluidStack readFluidStack(JsonArray array) { try { FluidType type = Fluids.fromName(array.get(0).getAsString()); diff --git a/src/main/java/com/hbm/items/block/ItemCustomMachine.java b/src/main/java/com/hbm/items/block/ItemCustomMachine.java new file mode 100644 index 000000000..fe62ea56a --- /dev/null +++ b/src/main/java/com/hbm/items/block/ItemCustomMachine.java @@ -0,0 +1,51 @@ +package com.hbm.items.block; + +import java.util.List; +import java.util.Map.Entry; + +import com.hbm.config.CustomMachineConfigJSON; +import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration; + +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.block.Block; +import net.minecraft.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemBlock; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; + +public class ItemCustomMachine extends ItemBlock { + + public ItemCustomMachine(Block block) { + super(block); + } + + @SideOnly(Side.CLIENT) + public void getSubItems(Item item, CreativeTabs tab, List list) { + + for(Entry entry : CustomMachineConfigJSON.customMachines.entrySet()) { + ItemStack stack = new ItemStack(item); + stack.stackTagCompound = new NBTTagCompound(); + stack.stackTagCompound.setString("machineType", entry.getKey()); + list.add(stack); + } + } + + @Override + public String getItemStackDisplayName(ItemStack stack) { + + if(stack.hasTagCompound()) { + String name = stack.getTagCompound().getString("machineType"); + MachineConfiguration conf = CustomMachineConfigJSON.customMachines.get(name); + + if(conf != null) { + return conf.localizedName; + } + + return "INVALID MACHINE CONTROLLER (" + name + ")"; + } + + return "INVALID MACHINE CONTROLLER"; + } +} diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 3b92bc223..6e486d7e0 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -838,6 +838,8 @@ public class MainRegistry { AnvilRecipes.register(); RefineryRecipes.registerRefinery(); GasCentrifugeRecipes.register(); + + CustomMachineConfigJSON.initialize(); //the good stuff SerializableRecipe.registerAllHandlers(); diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index dd84c756e..8498efeaa 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -194,6 +194,7 @@ public class TileMappings { 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(TileEntityBobble.class, "tileentity_ntm_bobblehead"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java new file mode 100644 index 000000000..28bfe2dbe --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java @@ -0,0 +1,202 @@ +package com.hbm.tileentity.machine; + +import com.hbm.config.CustomMachineConfigJSON; +import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration; +import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration.ComponentDefinition; +import com.hbm.inventory.container.ContainerMachineCustom; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.inventory.fluid.tank.FluidTank; +import com.hbm.inventory.gui.GUIMachineCustom; +import com.hbm.module.ModulePatternMatcher; +import com.hbm.tileentity.IGUIProvider; +import com.hbm.tileentity.TileEntityMachineBase; + +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.nbt.NBTTagCompound; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityCustomMachine extends TileEntityMachineBase implements IGUIProvider { + + public String machineType; + public MachineConfiguration config; + + public long power; + public int progress; + public FluidTank[] inputTanks; + public FluidTank[] outputTanks; + public ModulePatternMatcher matcher; + public int structureCheckDelay; + public boolean structureOK = false; + + public TileEntityCustomMachine() { + /* + * 0: Battery + * 1-3: Fluid IDs + * 4-9: Inputs + * 10-15: Template + * 16-21: Output + */ + super(22); + } + + public void init() { + MachineConfiguration config = CustomMachineConfigJSON.customMachines.get(this.machineType); + + if(config != null) { + this.config = config; + + inputTanks = new FluidTank[config.fluidInCount]; + for(int i = 0; i < inputTanks.length; i++) inputTanks[i] = new FluidTank(Fluids.NONE, config.fluidInCap); + outputTanks = new FluidTank[config.fluidOutCount]; + for(int i = 0; i < outputTanks.length; i++) outputTanks[i] = new FluidTank(Fluids.NONE, config.fluidOutCap); + + matcher = new ModulePatternMatcher(config.itemInCount); + + } else { + worldObj.func_147480_a(xCoord, yCoord, zCoord, false); + } + } + + @Override + public String getName() { + return config != null ? config.localizedName : "INVALID"; + } + + @Override + public void updateEntity() { + + if(!worldObj.isRemote) { + + if(config == null) { + worldObj.func_147480_a(xCoord, yCoord, zCoord, false); + return; + } + + this.structureCheckDelay--; + if(this.structureCheckDelay <= 0) this.checkStructure(); + + NBTTagCompound data = new NBTTagCompound(); + data.setString("type", this.machineType); + data.setLong("power", power); + data.setInteger("progress", progress); + 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); + } + } + + public boolean checkStructure() { + + this.structureCheckDelay = 300; + this.structureOK = false; + if(this.config == null) return false; + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + for(ComponentDefinition comp : config.components) { + + /* vvv precisely the same method used for defining ports vvv */ + int x = xCoord - dir.offsetX * comp.x + rot.offsetX * comp.x; + int y = yCoord + comp.y; + int z = zCoord - dir.offsetZ * comp.z + rot.offsetZ * comp.z; + /* but for EW directions it just stops working entirely */ + /* there is absolutely zero reason why this should be required */ + if(dir == ForgeDirection.EAST || dir == ForgeDirection.WEST) { + x = xCoord + dir.offsetZ * comp.z - rot.offsetZ * comp.z; + z = zCoord + dir.offsetX * comp.x - rot.offsetX * comp.x; + } + /* i wholeheartedly believe it is the computer who is wrong here */ + + Block b = worldObj.getBlock(x, y, z); + if(b != comp.block) return false; + + int meta = worldObj.getBlockMetadata(x, y, z); + if(!comp.allowedMetas.contains(meta)) return false; + } + + this.structureOK = true; + return true; + } + + public void buildStructure() { + + if(this.config == null) return; + + ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata()); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + for(ComponentDefinition comp : config.components) { + + int x = xCoord - dir.offsetX * comp.x + rot.offsetX * comp.x; + int y = yCoord + comp.y; + int z = zCoord - dir.offsetZ * comp.z + rot.offsetZ * comp.z; + if(dir == ForgeDirection.EAST || dir == ForgeDirection.WEST) { + x = xCoord + dir.offsetZ * comp.z - rot.offsetZ * comp.z; + z = zCoord + dir.offsetX * comp.x - rot.offsetX * comp.x; + } + + worldObj.setBlock(x, y, z, comp.block, (int) comp.allowedMetas.toArray()[0], 3); + } + } + + @Override + public void networkUnpack(NBTTagCompound nbt) { + this.machineType = nbt.getString("type"); + if(this.config == null) this.init(); + + this.power = nbt.getLong("power"); + this.progress = nbt.getInteger("progress"); + 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) { + + this.machineType = nbt.getString("machineType"); + this.init(); + + super.readFromNBT(nbt); + + 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 writeToNBT(NBTTagCompound nbt) { + + nbt.setString("machineType", machineType); + + super.writeToNBT(nbt); + + for(int i = 0; i < inputTanks.length; i++) inputTanks[i].writeToNBT(nbt, "i" + i); + for(int i = 0; i < outputTanks.length; i++) outputTanks[i].writeToNBT(nbt, "o" + i); + + this.matcher.writeToNBT(nbt); + } + + @Override + public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { + if(this.config == null) return null; + return new ContainerMachineCustom(player.inventory, this); + } + + @Override + @SideOnly(Side.CLIENT) + public GuiScreen 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); + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java index b770c4111..63f6ec905 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRTG.java @@ -139,7 +139,7 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided super.readFromNBT(nbt); NBTTagList list = nbt.getTagList("items", 10); - power = nbt.getInteger("power"); + power = nbt.getLong("power"); heat = nbt.getInteger("heat"); slots = new ItemStack[getSizeInventory()]; @@ -157,16 +157,14 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided @Override public void writeToNBT(NBTTagCompound nbt) { super.writeToNBT(nbt); - nbt.setInteger("power", (short) (power)); - nbt.setInteger("heat", (short) (heat)); + nbt.setLong("power", power); + nbt.setInteger("heat", heat); NBTTagList list = new NBTTagList(); - for(int i = 0; i < slots.length; i++) - { - if(slots[i] != null) - { + for(int i = 0; i < slots.length; i++) { + if(slots[i] != null) { NBTTagCompound nbt1 = new NBTTagCompound(); - nbt1.setByte("slot", (byte)i); + nbt1.setByte("slot", (byte) i); slots[i].writeToNBT(nbt1); list.appendTag(nbt1); } @@ -175,9 +173,9 @@ public class TileEntityMachineRTG extends TileEntityLoadedBase implements ISided } @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_){ - return slot_io; - } + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return slot_io; + } @Override public boolean canInsertItem(int i, ItemStack itemStack, int j) { diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_block_alloy.png b/src/main/resources/assets/hbm/textures/blocks/cm_block_alloy.png new file mode 100644 index 0000000000000000000000000000000000000000..af14c2675435802c3351505250a70df970d3a8f3 GIT binary patch literal 537 zcmV+!0_OdRP)~bf?XhoG-U^rYZ=e?Qt*2wp-LP}5ytk>W@|FvRd_v;bQIP&wy6K`)| zt%itZV>E}L`17o_+b!JPd0t<^lM?Um@bK`7oHHQ=xV?pOgu_7*N@2g>({+k4j_~pR zp1;2z@rVFmyr)bPDJ4SNLW~@bM~pEz=a}c2Qoy;>2-nwG3m)eXfsztk*I}*Y1JJfD z$K#BM7Ktn})g=NR?#HcnkjiT3O|XP_3y#g`fbn_~azhq`8z!5lg`s{WuH?ms)V=W@ema{Tit9udcrtft>&kGSEr;BuR!)9{^JS$#1xSW?0u?TQ= zg>&FJ9N2E*^Or4bHY!9)`qz4`w$vGnQ9+spo}Y0J%%5+_%M0vwi^3ur#^?xjq$+B? bAJ)P@EB!0_k(Miy00000NkvXXu0mjf9Z~Qw literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_block_base.png b/src/main/resources/assets/hbm/textures/blocks/cm_block_base.png new file mode 100644 index 0000000000000000000000000000000000000000..ce60d26f2cfb41edb709781efd6031c35d83040c GIT binary patch literal 560 zcmV-00?+-4P)y7g=gl?_ntYQ&o!llsx z$rwWjfpuN~26*o=#xPA2<2WKBEXzVl32SYa-vBSm!aUEEQph>unl&K=N-2!v2+$>O z+t%$%DUoyTidFSD2hExW%6pHswl_B`w{1gJQPn?)?M_u?T~}g^IOiCKp>H0BfojWUPfr{UhaR9>EBpPPaUA;z#u$cSU>rw2 yK0ba2oX=-2mkY12ubps{*pk^!YEWA~M1&t42%h^wfmIFw00001r;P)Iw?Yzu9- zX?F(*P+RWx`8hW?H@v^Um(E zdw#sU;86v@drwM^J-3wWGEft)krIAW~@;BYu_ zJRVV1oO7ruBEoLB+hkC{<2?dfx0Pg`XL8Pn$VRb#uT3)G5kY|v0$tZpN+HHb2w_WD zlZ-Kh5SZurQ-Q9-G~{6zu+}n76FFy`a~u9D@H9<}n6**>PpxgNfm$oWFaT`GDJ5!q zlXIq&f~rCY2rNEWN3#mmbsf&REqNVfN(m7`ME;4WA{anKnCF=oBi?)ZzTZ0ceNRe> zX_|;JE+RUI0emS1Z3R|>71dgcbB$5sTGV_{9~;}fm$o26acKX)LKzhy!TAg zM6Go(Q$t5}F_Jqw;{q_Pq5?&P()K`d-u~0}Ljg`saDY$yJ=a%P+}+*r<>CTq22xc{ zb~_jbCq6Bc^Bw P00000NkvXXu0mjfkWu+h literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_block_steel.png b/src/main/resources/assets/hbm/textures/blocks/cm_block_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..05180ac759cc1f413e5d6f709bdd28f22d57d96d GIT binary patch literal 563 zcmV-30?hr1P)3-lM9NQUEv}kKEqga(8!!ODXa7^~K}kBROZh_uSmv5M$(gJ|iNiD&ODV%<~LD zjFE?j2cDmwakW+eoO5j3MoNikng}6qxm+;DV6CN;f~sPz1>oxH3K79sYpJ!8QevKG zL1I8~+AN(ce(JvnD$jD!$+ zLu)d|5JF&G*S`VYdyFwm)5JKAhzQHFkW#{0+vPXF%d#-fGo=)A&bVex2!T=x<2V9z z$=kMd`%+5eoV#LG{mntMrh)R_W3BDY&B|@tP*qg*4`RDhRaw`S7$eR(hGFQNhhbpb zHkM@}#)ybut^I}GBsG|-+NHLSIp>~{lu`!^;97JW6aW#Sl+t`=Sr$quJxsOM9(Q+r zea+!;=o1_9rr_Uu0gN%!TG{P(SZi_T^O@uE$o>62hr^)#37J~1~gJn zyW4HMyaBS=a4T})s`~Z*H-FyVYDx)JWxwC!oa28gguu(o3ogdU>2%_JJ|iNC2(?y3 z1Y-;$g7+R(rIZ4|@p$C^{+`dzPh3igudgqjo}S1#ZYb^jbH#dj~&RR>Ym6Q_m zJR>3iOw+{mdZpG%`_nkJsLElF@_KV>$?69@ZMvLVVWk!aYRH|mW7lO*4i$=0bZ7cd7deykaNa0YeEQ=QW(b( zpiADit=pGUBIn!{tLje(7 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_engine_bismuth.png b/src/main/resources/assets/hbm/textures/blocks/cm_engine_bismuth.png new file mode 100644 index 0000000000000000000000000000000000000000..c61aa02bd203d813d82e6e147bee5db73ea65c29 GIT binary patch literal 797 zcmV+&1LFLNP)E}UX*M+xK~N~A5D2;o#V&NM2#Qoei6V87DmFK1HJ8qqaOvbSNy<#`{qFrf7t@)w zXM5nh=e+N8#Pag8Gsa-8rC2PYwdVg+r_*6=Z4DjAF{`Vqv|25slt?LY&LO2l2!WK6 zTrP*TmMqHvsMTtWj*c=mHikCFu)Dj<<#ShPL;(PP=<~3=L$}-I*=OG3_uv~i0^Z~> ze}8_HFbtWWpJ!!d1?`*z;EQ{oVvOPZ#0B<%%J2*az;+VAVR-bN&2mp*RNNX+5IgBy9^4z<$%^l)61`oU!j{?y6ZI3rD zzr@?`oy8c_>-Pubayf($%$!*uhyrruQ^ax1ov*IrfA%%6El%N_qX2|KM4F~7EliVT z8EKj#`_XJg0r%TJ`w!{>NGW-JX`0<2;+@4Q!XP3KEGQGGP$0<%b9ZVjp}zWb)W!6Rov9Q)&?YQRh%=oBX)Pn~PHv zAFsXThy3#M1Ck_RW^w|KgHoyoTAHRf=ZKQqRM_UP?;CviNqum09uO&HS%$S1y5Qdp z2TABYx*h*VPL6w&fLk~3^U=P zd7eL-k|YVIPY8yFhREmhG#ZVb4|8*KuGws|v$KP>mOfa{IfM{st&viaW!c~xl~O3B bkW%s=+|h59^mKe200000NkvXXu0mjfU1D&? literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_engine_desh.png b/src/main/resources/assets/hbm/textures/blocks/cm_engine_desh.png new file mode 100644 index 0000000000000000000000000000000000000000..ff2e71fff90faa3a2586ede1e98f29b2fd16c9f4 GIT binary patch literal 701 zcmV;u0z&0v@6o#Lfxk;Kppdj2*LKdaXsuGYig<4%j=%&RVAnMMI z78ioxUl81MAugn-OQGAYEFzc|iys(T>Ea@V7D_K^6ADdpGk0cOG`X0C;4Ej(Iqx~| zc}A?PtT?ST)>^XJES~4_Kc~~_P_NhVq9|f@b(LnbiIfs4CC)jdln5b^Qj$ugu-0OX z0iakcGBGj18Qj(KG*U&hAB<#HS! zA5*DRSX*1ebIt*9dw(D89P6bLW#IkzH~=OH0Ccb7&O^6bi$Bxs=C5oa%8Q@Vm&F4ym`pgVk>*QT)jZCFd2qE}bE@Og# z=j}F86mh-T#TY{z$H>8I2D2|`G5|;^F9U;s&1y9zu>0)+VO>?fPc5I@H+%px5j1voG{Z zsY}q}IKEtCzr}mqF4qnYh8O@a#$c^Yga)GC0Nq9yQuck`g&}t@F1Wg}0l-eJMj7}% zH8oUpfV-E^=ka}?`>hsl!;m}Y=Kxr1*;`onCs@BnMo>!OwcBlq#UhJ~i!^+n$K5Vk zYn*eu&SuHX%n-*h+r1t_2-4{^dzlQ!2L~vn5KBu-?(p!CqoX6NwG6;=&LM=r^E{-K j7-N#(sFXq}g_M#%^j%%Tv;}Q`00000NkvXXu0mjfV7Ndc literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_engine_standard.png b/src/main/resources/assets/hbm/textures/blocks/cm_engine_standard.png new file mode 100644 index 0000000000000000000000000000000000000000..a629ff54da589460abc0eda8546e5171cecaa8f4 GIT binary patch literal 655 zcmV;A0&x9_P)%(K$y5fzi=XwATE~ z7z_s7+}xn^Jm=`>h>wpCLE09lryl&U$z7!j>CAq0w| zU}t9sV+_yF&-JFeyE}|AWLZYlHc1iyoO4JBffyssIaXI!d3t&x&+}i&_xJZ~Y;3T( zxruYGUU$wRjYfkcNmyTB$68Cf-6qd-j*pKyIXNLs(>mE&OIen5yIs8Zlx2xjPgC7J z%Q65&gl@NswU#tZYnavCU@#zr@Z$l%KbF}`j?lN ztgWp9(ChX7SFB2RJuxvsv)SbO`Wk?Xiwgik2<-0e{#C4zkr9+q=&!FYTCEm~i;Fay zP1@}?&N*U?yuH0KK0eOe+#E$wFgrWT(9jUW!^6D1y!>!jT3U*)udnp`eL@ISV#OFq pk_4?aB7*n6{*6j0lv0QYe*jC$WY>7Ee-How002ovPDHLkV1gbYHU$6x literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_port_alloy.png b/src/main/resources/assets/hbm/textures/blocks/cm_port_alloy.png new file mode 100644 index 0000000000000000000000000000000000000000..5fb09e5bc762f1a517f4394d17b940a71638e471 GIT binary patch literal 581 zcmV-L0=oT)P)(gjP7g*ge=SrJGb-A&iBn4`SeBz0aAj=1ia_J zR?~3z;|fpP^6m34mP@c!O+>vh>a$GoyH0awGdMf*+}?sG1gZ)yE}ju%B+D{5J%zS~ z)k+ak;{N`gx>kg?g{SA|{Qh}`M+5-lJ!!uugg~}lL({O?Y%s>)oTKYHQUd1=EgTE zwTNi{2LZ5F_agca2T&N} T2woFD00000NkvXXu0mjfEII*z literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_port_desh.png b/src/main/resources/assets/hbm/textures/blocks/cm_port_desh.png new file mode 100644 index 0000000000000000000000000000000000000000..fe18d8e6ffdd5ffd2df6160e33ed92c61be9ef16 GIT binary patch literal 615 zcmV-t0+{`YP)_=94Jr_gi>bXN*FKTDdq%p=ocV}01W=71S%64F2n1mo8AznP*dtvnEMu`zbU_1uz`L7oOKOY|O zbRFOC@0kL2C>^>PdI1QKhuP!(eNIkJczu1v6C*R=+vO!GC5ocp@bHkX>zL2ySZfgx z-rn9=tyTbZUB}tQ1&>cpcvJ!K-m}?kh%vHQEC?a6TrM%j;G84pjELZz>uK!nVgZkH zC=g?0wOV1V1z@pQuv{)tRh)CEDk8#oJl@KnfX90Tw%fe-{J6RTplKQa>beHt%k3@3 znC+4XctlVjgg{Xgq?7=-ySrmHn*mT&6_d#X=Nusf+P3`zpeQf{<+3cX*3vW$v)PR4 zbh@S6G!19gvR@vXo}33;1372Pviyhjfs_)e3LzlS=iuF%ccJRKrmCv#U{zJr zbxjBX5kW*gL{t$BAR@GFOE&;cCX>HJ?7EJw>v|EL!vH>|gbo1j3_e|7QxpYXt;IRV zXf&d2TSAOPRZPxcOrIZXEehnEw+>iq$vLB{c<))S*W{f0Fb&jE?Stg@_Ba5{fT%zc zA<^G~#JK&3{yr37X9oxP&3w-B(Gln8=X^dmK-!iVBdW^IcnoC;DIuE;#u&_K1ZBzU z`56b8$J0}Nd3oX2W`n?%q7K{qz$Ei=jczCl{05g}G|I{W3KswX002ovPDHLkV1lXB B5LW;I literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_port_steel.png b/src/main/resources/assets/hbm/textures/blocks/cm_port_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..a7c997edb72377a9c84d6e81244ce344db24f01d GIT binary patch literal 612 zcmV-q0-ODbP)*V?#5u?R%rFdme0<=hY2x+u zmF;$mh#(@Qln@b&F^C97QJ|{C7y($X*IZp)aeaM_^WM|8Ee{V5gb*l-g3HTGrfFig z+aV&TDnCCz^nDM&G)>&z-tzMDf=ej@;GE-lJmS5l>pF&EV87pEjKNwSibaB0`KY=gi@7AjUYCDWx>m-CbN_hyc)a9mnI5loI()=9DL;ggEC=)p?t9j#Wz3-@YN^h@B?3 zbnO_-5#jjzH*MR}G|g;xzuzOvC8yJgzVC@K5<ukDz@7#uRnjHs;KG=(Pc2I$~cZ>!QF1he!mA`yWP%9rfEV%u-0Cn zXGoF~*BU=Qy2C#2Du?rIhBn zyX)&~>bjm4Q%Zyo2qDZh&gTHe7*a|smrJa*xWnPVX0ze;_LjP?XR9eCR;v|dSrS6v zd_H50VX;_HmL(q_9~Xi5_jj76;pypVCY&wiX67&D$gQ?O1+rGQ;_CD!zTP$~d->|MgBtpi+M%wsd zlza9Ly$My@t_8jByB47BvG&IfL5arsEKVFtSS+126}EP5+<&~X`3nCW{dT^U6=?^6 Pb}@Lm`njxgN@xNAvV}UO literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_sheet_base.png b/src/main/resources/assets/hbm/textures/blocks/cm_sheet_base.png new file mode 100644 index 0000000000000000000000000000000000000000..8f6382d01783f90eafa9ee48e208bec73ec79b64 GIT binary patch literal 174 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfCSfAL}I^TR->l>bz&I$fC1v zZtE&rWm-hufnUYc93NhBLQKk{nzwO_W^q9Xn>azEeH UVExKrCeT6#Pgg&ebxsLQ0JHi&k^lez literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_sheet_desh.png b/src/main/resources/assets/hbm/textures/blocks/cm_sheet_desh.png new file mode 100644 index 0000000000000000000000000000000000000000..b68c2850f1aa5e412d9048f79285c1eee80191f3 GIT binary patch literal 165 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfxhJ9)MBRDT4LSb z<(|uE8!(4?b1anSPT2aPP}zXVo^#0*jim)l;t5-y%=ul&9JXJgK6a9>;X?_aJq(_% KelF{r5}E*)BR0qY literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_sheet_steel.png b/src/main/resources/assets/hbm/textures/blocks/cm_sheet_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..e1a1160bb14e74bce513b8d4e8f7f9c3a0e4ae1e GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#VfT*}D=J7Ra5wGxW#9j0?7JGy(YV)K z=};8+>h%)JtGYTCtcrMBvD5woyPc56(hE_Gzn_y}ULCvktL3vf5w*+(5sMe!OYK<$ Pw2Q&h)z4*}Q$iB}U2Qvb literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_sheet_tcalloy.png b/src/main/resources/assets/hbm/textures/blocks/cm_sheet_tcalloy.png new file mode 100644 index 0000000000000000000000000000000000000000..5fa07c6926ecefd10dbba5638dfe39d5b47f9565 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vfm>{ z_J1x@o$u1JRV-}&z3LEALC4UIzaAX7ZB+lD-Z;m2YgpC$9>Wd4G?v!%TdIfEGc*-$ VlDB7mWC^sA!PC{xWt~$(695~TJnR4f literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_tank_alloy.png b/src/main/resources/assets/hbm/textures/blocks/cm_tank_alloy.png new file mode 100644 index 0000000000000000000000000000000000000000..189361a5c14b806be91926d72d204c53395f919f GIT binary patch literal 371 zcmV-(0gV2MP)15QV?}k^jI|K%EMoA!V8zAWa}ePL?t^38V?ckUJz` zV?nUMm9Q*nC&ef-PGpe$U|E>m_hxqIjghAtp)4T;m`=fadLhqA-23`k{0m>3AA+#0T4j>-|qKIL%26atUfo*#;6nRbvU@3~r1o-{L z5H5Ryb80lIs>=#z(R!rGYO$SOI!kWbEYcWhJ|~X*37mLjGQm0U>~zuO?veEx(o`od1m%k8eeZQ5>-sp2&grriegIXlgC0}= Rq7485002ovPDHLkV1l&Tm+b%m literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_tank_desh.png b/src/main/resources/assets/hbm/textures/blocks/cm_tank_desh.png new file mode 100644 index 0000000000000000000000000000000000000000..97d667b6d97d965b8ed86bf6f09e20fd9a221021 GIT binary patch literal 373 zcmV-*0gC>KP)c}Hcn8I7 zBGE+#XL_b9i)s8x1ZR9u6jWC|s;XZpnau>}z4c7r;WB$CBF{?I z>ZTgiT6_q+Hz)>hfX4e%2QLkZ&jeA_V0#xROA0_!mUnY+B2DptCd(cpAS_Y5e{2L} zDxnoc!TnD^_biO>m_VkxEFW+ofNV;7TLyHU_Zye$Q|);CnKWr+y!QJmQ=~ zL}(`o#4!{FKF?7~p;|47V}90a44{_dv1~RQKJy$;b#)R<0ha0_OU~D5f@$Cvy(f2> T;d{$#00000NkvXXu0mjfGmDi9 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_tank_steel.png b/src/main/resources/assets/hbm/textures/blocks/cm_tank_steel.png new file mode 100644 index 0000000000000000000000000000000000000000..e0d207b556d40799b3a33b249b5ce85139cae4e0 GIT binary patch literal 397 zcmV;80doF{P)Pq2Ame06q?~0FPGTeiuta2G zW~O@s*63+>1M?~zbyfdVjoa_{7Gp$Jsj7+)0#nfUJ*U%&Fbo67D91 za}E)qC<;`SoHGDT)392tSg+TF7$aTRalKyMq}D*&w(NF0I~)#(nf+7H{qONFEEbE` z#NKCj6KveE@7QI;hsC7#bG&N*hY8D&}0w(aW<+wIoQ=QEef1yyAX rmYLz4BZPp6kaK?jM(;h|dqjlaTO6-u`Brpn00000NkvXXu0mjfn8U1C literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_tank_tcalloy.png b/src/main/resources/assets/hbm/textures/blocks/cm_tank_tcalloy.png new file mode 100644 index 0000000000000000000000000000000000000000..8b5444a3a8ffda1ae6b7e3d0a576e2c9c07b86d8 GIT binary patch literal 397 zcmV;80doF{P)C8E6oo%s$#ERWRPg2@|K$DBOqmOv3#B{=cqrsY1Txu> z$;6R#?;BEw($~T186}-_k93aQ-;WQAF`}weRYeGaIT(h4{eDjv$C2%JOV@RX2qJ=+ zAtE^E5D|)^Kvl^(1JE=Lo6UyP=|qSz()T^DFE4J^=uf=0t+j27nAv}u{ZEVEuv)Ed zj=lGMJ>Q$zlXJ7&m>Cj6Kve;Fe}D`SV?Y@a<37MjK6vHr} zs>nEwzY>7YM^x2cUBP>QD_Tm48L{6nbz~YUQ+4N(rUpul~F7e(I z&gU~t)3AGfwz{slTrR{IF*B;FqAW{NN?fm3oO3J|3(B(Ocs$+&4u=C>*Rk8}P*tX4 rnHkPGLI{WmIp_Ot^xosWM@0As*fz1|4V`VA00000NkvXXu0mjfp~|gZ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_terminal_front.png b/src/main/resources/assets/hbm/textures/blocks/cm_terminal_front.png new file mode 100644 index 0000000000000000000000000000000000000000..bbf5d2338a74627ffc954a1e94195535a9da99d9 GIT binary patch literal 445 zcmV;u0Yd(XP)-CzVC;%|V zpsI*SYt~v+l@I~|I zv)PROeoqoxvex3g$9vEDe8xG)<#ItpFvbu(0*M~`>Dke(vESz%yjf@fb*EgTZLAb!J&ck|b^AcvxwgayT5C%bm~X nIvfsFL=?Dd#+bV?YpwnS)IiGe+yzjP00000NkvXXu0mjfnw!8> literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_terminal_side.png b/src/main/resources/assets/hbm/textures/blocks/cm_terminal_side.png new file mode 100644 index 0000000000000000000000000000000000000000..24a8807743422723572c62f274bc5d4f52bcc53e GIT binary patch literal 489 zcmVSZOw$BFjFH3P!0mR!*OF9~oHIFR zUauD+1jcd1IfsZ)N@oV~uK^(hRFzT+DJ7<9`XaLegb)ZJ0FY9`t7@yjdyjLjW&eDbb4FDgKvl(8 zX{KpI8nS%18Zpei#O}+b#S3p4DpgH9)i3tZ`9$S5>;M<9@%t2kLk{+Gevc=bQn5 fnuz@AQ&sx~Y(-;x4_qu500000NkvXXu0mjfrW@1~ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_custom.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..7b47cbfac8943eba2e9d5d918b9623931455096a GIT binary patch literal 3223 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 literal 0 HcmV?d00001 From 3041e6889654d90dde0643227a79a4dd936dbebe Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Tue, 18 Jul 2023 20:27:41 -0500 Subject: [PATCH 265/285] there you got your damn comparator support for tanks --- .../hbm/blocks/machine/BlockFluidBarrel.java | 18 +++++++++++++++ .../blocks/machine/MachineBigAssTank9000.java | 18 +++++++++++++++ .../hbm/blocks/machine/MachineFluidTank.java | 18 +++++++++++++++ .../hbm/blocks/network/FluidDuctGauge.java | 1 - .../machine/storage/TileEntityBarrel.java | 20 +++++++++++++--- .../storage/TileEntityMachineFluidTank.java | 23 +++++++++++++++---- 6 files changed, 89 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/hbm/blocks/machine/BlockFluidBarrel.java b/src/main/java/com/hbm/blocks/machine/BlockFluidBarrel.java index c5e6e063a..1798b5b59 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockFluidBarrel.java +++ b/src/main/java/com/hbm/blocks/machine/BlockFluidBarrel.java @@ -12,6 +12,7 @@ import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.main.MainRegistry; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.machine.storage.TileEntityBarrel; +import com.hbm.tileentity.machine.storage.TileEntityMachineFluidTank; import com.hbm.util.I18nUtil; import cpw.mods.fml.client.registry.RenderingRegistry; @@ -164,6 +165,23 @@ public class BlockFluidBarrel extends BlockContainer implements ITooltipProvider player.addExhaustion(0.025F); } + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + @Override + public int getComparatorInputOverride(World world, int x, int y, int z, int side) { + + TileEntity te = world.getTileEntity(x, y, z); + + if(!(te instanceof TileEntityBarrel)) + return 0; + + TileEntityBarrel barrel = (TileEntityBarrel) te; + return barrel.getComparatorPower(); + } + @Override public void addInformation(ItemStack stack, NBTTagCompound persistentTag, EntityPlayer player, List list, boolean ext) { FluidTank tank = new FluidTank(Fluids.NONE, 0, 0); diff --git a/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java b/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java index 178d0dbb8..782bc09ee 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java +++ b/src/main/java/com/hbm/blocks/machine/MachineBigAssTank9000.java @@ -12,6 +12,7 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.storage.TileEntityMachineBAT9000; +import com.hbm.tileentity.machine.storage.TileEntityMachineFluidTank; import com.hbm.util.I18nUtil; import cpw.mods.fml.common.network.internal.FMLNetworkHandler; @@ -98,6 +99,23 @@ public class MachineBigAssTank9000 extends BlockDummyable implements IPersistent return IPersistentNBT.getDrops(world, x, y, z, this); } + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + @Override + public int getComparatorInputOverride(World world, int x, int y, int z, int side) { + + TileEntity te = world.getTileEntity(x, y, z); + + if(!(te instanceof TileEntityMachineBAT9000)) + return 0; + + TileEntityMachineBAT9000 tank = (TileEntityMachineBAT9000) te; + return tank.getComparatorPower(); + } + @Override public void addInformation(ItemStack stack, NBTTagCompound persistentTag, EntityPlayer player, List list, boolean ext) { FluidTank tank = new FluidTank(Fluids.NONE, 0, 0); diff --git a/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java b/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java index 8b5071525..f6d487718 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java +++ b/src/main/java/com/hbm/blocks/machine/MachineFluidTank.java @@ -14,6 +14,7 @@ import com.hbm.main.MainRegistry; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.IRepairable; import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.storage.TileEntityMachineBattery; import com.hbm.tileentity.machine.storage.TileEntityMachineFluidTank; import com.hbm.util.I18nUtil; @@ -135,6 +136,23 @@ public class MachineFluidTank extends BlockDummyable implements IPersistentInfoP } } + @Override + public boolean hasComparatorInputOverride() { + return true; + } + + @Override + public int getComparatorInputOverride(World world, int x, int y, int z, int side) { + + TileEntity te = world.getTileEntity(x, y, z); + + if(!(te instanceof TileEntityMachineFluidTank)) + return 0; + + TileEntityMachineFluidTank tank = (TileEntityMachineFluidTank) te; + return tank.getComparatorPower(); + } + @Override public boolean onScrew(World world, EntityPlayer player, int x, int y, int z, int side, float fX, float fY, float fZ, ToolType tool) { diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java b/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java index b15aeba9c..abf4cc4d1 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java @@ -151,7 +151,6 @@ public class FluidDuctGauge extends FluidDuctBase implements IBlockMultiPass, IL this.deltaLastSecond = Math.max(nbt.getLong("deltaS"), 0); } - @Override public String getComponentName() { return "ntm_fluid_gauge"; 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 d0bb7e4f8..9d479a4de 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java @@ -16,6 +16,7 @@ import com.hbm.saveddata.TomSaveData; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.I18nUtil; import com.hbm.util.fauxpointtwelve.DirPos; import cpw.mods.fml.common.Optional; import cpw.mods.fml.relauncher.Side; @@ -31,6 +32,7 @@ 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; @@ -48,6 +50,7 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc public int age = 0; public List list = new ArrayList(); protected boolean sendingBrake = false; + public byte lastRedstone = 0; public TileEntityBarrel() { super(6); @@ -64,11 +67,22 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc return "container.barrel"; } + public byte getComparatorPower() { + if(tank.getFill() == 0) return 0; + double frac = (double) tank.getFill() / (double) tank.getMaxFill() * 15D; + return (byte) (MathHelper.clamp_int((int) frac + 1, 0, 15)); + } + @Override public void updateEntity() { if(!worldObj.isRemote) { - + + byte comp = this.getComparatorPower(); //do comparator shenanigans + if(comp != this.lastRedstone) + this.markDirty(); + this.lastRedstone = comp; + tank.setType(0, 1, slots); tank.loadTank(2, 3, slots); tank.unloadTank(4, 5, slots); @@ -375,12 +389,12 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getTypeStored(Context context, Arguments args) { - return new Object[] {tank.getTankType().getName()}; + return new Object[] {I18nUtil.resolveKey(tank.getTankType().getUnlocalizedName())}; } @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[]{tank.getFill(), tank.getMaxFill(), tank.getTankType().getName()}; + return new Object[]{tank.getFill(), tank.getMaxFill(), I18nUtil.resolveKey(tank.getTankType().getUnlocalizedName())}; } } 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 2b2c311b8..618791227 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -33,6 +33,7 @@ import com.hbm.tileentity.IOverpressurable; import com.hbm.tileentity.IPersistentNBT; import com.hbm.tileentity.IRepairable; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.I18nUtil; import com.hbm.util.ParticleUtil; import com.hbm.util.fauxpointtwelve.DirPos; import cpw.mods.fml.common.Optional; @@ -49,6 +50,7 @@ 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.Explosion; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -66,7 +68,7 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements public boolean hasExploded = false; protected boolean sendingBrake = false; public boolean onFire = false; - + public byte lastRedstone = 0; public Explosion lastExplosion = null; public int age = 0; @@ -81,7 +83,13 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements public String getName() { return "container.fluidtank"; } - + + public byte getComparatorPower() { + if(tank.getFill() == 0) return 0; + double frac = (double) tank.getFill() / (double) tank.getMaxFill() * 15D; + return (byte) (MathHelper.clamp_int((int) frac + 1, 0, 15)); + } + @Override public void updateEntity() { @@ -119,7 +127,12 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements tank.loadTank(2, 3, slots); tank.setType(0, 1, slots); } - + + byte comp = this.getComparatorPower(); //comparator shit + if(comp != this.lastRedstone) + this.markDirty(); + this.lastRedstone = comp; + if(tank.getFill() > 0) { if(tank.getTankType().isAntimatter()) { new ExplosionVNT(worldObj, xCoord + 0.5, yCoord + 1.5, zCoord + 0.5, 5F).makeAmat().setBlockAllocator(null).setBlockProcessor(null).explode(); @@ -474,12 +487,12 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getTypeStored(Context context, Arguments args) { - return new Object[] {tank.getTankType().getName()}; + return new Object[] {I18nUtil.resolveKey(tank.getTankType().getUnlocalizedName())}; } @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[]{tank.getFill(), tank.getMaxFill(), tank.getTankType().getName()}; + return new Object[]{tank.getFill(), tank.getMaxFill(), I18nUtil.resolveKey(tank.getTankType().getUnlocalizedName())}; } } \ No newline at end of file From 02e1ae5fbc77f5d0a6b92ee614f3fbd78370f805 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Tue, 18 Jul 2023 20:34:59 -0500 Subject: [PATCH 266/285] Revert "RBMK redstone column that doesn't work (will work eventually)" This reverts commit 424d6c3486d0c5ffb4d7e9f7d951c026ba48f7fb. --- src/main/java/com/hbm/blocks/ModBlocks.java | 3 - .../hbm/blocks/machine/rbmk/RBMKRedstone.java | 33 ---- .../com/hbm/inventory/gui/GUIRBMKConsole.java | 20 +- .../hbm/inventory/gui/GUIRBMKRedstone.java | 168 ---------------- .../java/com/hbm/tileentity/TileMappings.java | 1 - .../machine/rbmk/TileEntityRBMKConsole.java | 22 +-- .../machine/rbmk/TileEntityRBMKRedstone.java | 182 ------------------ .../machine/rbmk/TileEntityRBMKRod.java | 6 - src/main/resources/assets/hbm/lang/en_US.lang | 5 - .../textures/blocks/rbmk/rbmk_redstone.png | Bin 1294 -> 0 bytes .../gui/reactors/gui_rbmk_console.png | Bin 6917 -> 6569 bytes .../gui/reactors/gui_rbmk_redstone.png | Bin 3617 -> 0 bytes 12 files changed, 10 insertions(+), 430 deletions(-) delete mode 100644 src/main/java/com/hbm/blocks/machine/rbmk/RBMKRedstone.java delete mode 100644 src/main/java/com/hbm/inventory/gui/GUIRBMKRedstone.java delete mode 100644 src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRedstone.java delete mode 100644 src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_redstone.png delete mode 100644 src/main/resources/assets/hbm/textures/gui/reactors/gui_rbmk_redstone.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index c25089dc3..fbdcadf67 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1099,7 +1099,6 @@ public class ModBlocks { public static Block rbmk_storage; public static Block rbmk_cooler; public static Block rbmk_heater; - public static Block rbmk_redstone; public static Block rbmk_console; public static Block rbmk_crane_console; public static Block rbmk_loader; @@ -2148,7 +2147,6 @@ public class ModBlocks { 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_redstone = new RBMKRedstone().setBlockName("rbmk_redstone").setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":rbmk/rbmk_redstone"); 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"); @@ -3148,7 +3146,6 @@ public class ModBlocks { GameRegistry.registerBlock(rbmk_storage, rbmk_storage.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_cooler, rbmk_cooler.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_heater, rbmk_heater.getUnlocalizedName()); - GameRegistry.registerBlock(rbmk_redstone, rbmk_redstone.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_console, rbmk_console.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_crane_console, rbmk_crane_console.getUnlocalizedName()); GameRegistry.registerBlock(rbmk_loader, rbmk_loader.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRedstone.java b/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRedstone.java deleted file mode 100644 index 5ee4f4480..000000000 --- a/src/main/java/com/hbm/blocks/machine/rbmk/RBMKRedstone.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.hbm.blocks.machine.rbmk; - -import com.hbm.tileentity.machine.rbmk.TileEntityRBMKRedstone; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.World; - -public class RBMKRedstone extends RBMKBase { - - @Override - public TileEntity createNewTileEntity(World world, int meta) { - - if(meta >= this.offset) - return new TileEntityRBMKRedstone(); - 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 openInv(world, x, y, z, player); - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - return super.getCollisionBoundingBoxFromPool(world, x, y, z); - } - - @Override - public int getRenderType(){ - return this.renderIDPassive; - } -} diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java index c94647188..85be6afb7 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java +++ b/src/main/java/com/hbm/inventory/gui/GUIRBMKConsole.java @@ -305,23 +305,7 @@ public class GUIRBMKConsole extends GuiScreen { case REFLECTOR: break; case OUTGASSER: break; case BREEDER: break; - - case REDSTONE: - - switch(col.data.getInteger("mode")) { - case 2: // slow flux - drawTexturedModalRect(guiLeft + x + 3, guiTop + y + size - 2, 142, 183 - 8, 3, 8); - break; - case 3: // fast flux - drawTexturedModalRect(guiLeft + x + 3, guiTop + y + size - 2, 142, 193 - 8, 3, 8); - break; - } - - if(col.data.getBoolean("active")) { //set active texture afterwards or it will override - drawTexturedModalRect(guiLeft + x + 4, guiTop + y + size - 2, 145, 204, 2, 8); - } - break; - + case CONTROL: int color = col.data.getShort("color"); if(color > -1) @@ -357,7 +341,7 @@ public class GUIRBMKConsole extends GuiScreen { drawTexturedModalRect(guiLeft + x + 4, guiTop + y + 5, 44, 187, 2, 2); if(col.data.getShort("type") == Fluids.ULTRAHOTSTEAM.ordinal()) drawTexturedModalRect(guiLeft + x + 4, guiTop + y + 7, 44, 189, 2, 2); - + break; case HEATEX: diff --git a/src/main/java/com/hbm/inventory/gui/GUIRBMKRedstone.java b/src/main/java/com/hbm/inventory/gui/GUIRBMKRedstone.java deleted file mode 100644 index 913438e87..000000000 --- a/src/main/java/com/hbm/inventory/gui/GUIRBMKRedstone.java +++ /dev/null @@ -1,168 +0,0 @@ -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.ContainerRBMKGeneric; -import com.hbm.lib.RefStrings; -import com.hbm.packet.NBTControlPacket; -import com.hbm.packet.PacketDispatcher; -import com.hbm.tileentity.machine.rbmk.TileEntityRBMKRedstone; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.audio.PositionedSoundRecord; -import net.minecraft.client.gui.GuiTextField; -import net.minecraft.client.resources.I18n; -import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.util.ResourceLocation; - -public class GUIRBMKRedstone extends GuiInfoContainer { - - private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/reactors/gui_rbmk_redstone.png"); - private TileEntityRBMKRedstone rod; - - private GuiTextField[] fields; - - public GUIRBMKRedstone(InventoryPlayer invPlayer, TileEntityRBMKRedstone tile) { - super(new ContainerRBMKGeneric(invPlayer)); - rod = tile; - - fields = new GuiTextField[2]; - - this.xSize = 176; - this.ySize = 186; - } - - public void initGui() { - super.initGui(); - - Keyboard.enableRepeatEvents(true); - this.fields[0] = new GuiTextField(this.fontRendererObj, guiLeft + 56, guiTop + 25, 94, 18); - this.fields[1] = new GuiTextField(this.fontRendererObj, guiLeft + 29, guiTop + 60, 28, 10); - for(int i = 0; i < 2; i++) { - this.fields[i].setTextColor(0x00ff00); - this.fields[i].setDisabledTextColour(0x00ff00); - this.fields[i].setEnableBackgroundDrawing(false); - this.fields[i].setMaxStringLength(4); - this.fields[i].setText(String.valueOf(rod.threshold)); - if(i == 0) { - this.fields[i].setText(rod.channel == null ? "" : rod.channel); - this.fields[i].setMaxStringLength(10); - } - } - } - - @Override - public void drawScreen(int mouseX, int mouseY, float f) { - super.drawScreen(mouseX, mouseY, f); - String value = ""; - switch(rod.mode) { - case 1: - value = "°C"; - break; - case 2: - case 3: - value = "/cm²/s"; - break; - } - - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 29, guiTop + 49, 28, 10, mouseX, mouseY, "Value: " + (rod.value) + value); - - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 69, guiTop + 56, 25, 25, mouseX, mouseY, "Monitor slow flux"); - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 96, guiTop + 56, 25, 25, mouseX, mouseY, "Monitor fast flux"); - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 123, guiTop + 56, 25, 25, mouseX, mouseY, "Monitor heat"); - - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 29, guiTop + 60, 28, 10, mouseX, mouseY, "Redstone Threshold"); - this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 29, guiTop + 71, 28, 10, mouseX, mouseY, "Save threshold"); - } - - @Override - protected void mouseClicked(int x, int y, int i) { - super.mouseClicked(x, y, i); - - for(int j = 0; j < 2; j++) { - this.fields[j].mouseClicked(x, y, i); - } - - if(guiLeft + 29 <= x && guiLeft + 29 + 28 > x && guiTop + 71 < y && guiTop + 71 + 10 >= y) { - - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - NBTTagCompound data = new NBTTagCompound(); - if(NumberUtils.isNumber(fields[1].getText())) { - data.setString("Ch_set", fields[0].getText() + ""); - data.setInteger("Threshold", Integer.parseInt(fields[1].getText())); - } else { - fields[0].setText(""); - fields[1].setText("0"); - } - PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, rod.xCoord, rod.yCoord, rod.zCoord)); - } - for(int k = 0; k < 3; k++) { // button for each mode - if(guiLeft + 68 + k * 27 <= x && guiLeft + 68 + (k + 1) * 27 > x && guiTop + 55 < y && guiTop + 55 + 27 >= y) { - mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); - NBTTagCompound data = new NBTTagCompound(); - if(k == 0) - data.setInteger("Mode", 2); - if(k == 1) - data.setInteger("Mode", 3); - if(k == 2) - data.setInteger("Mode", 1); - PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, rod.xCoord, rod.yCoord, rod.zCoord)); - } - } - } - - @Override - protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.rod.hasCustomInventoryName() ? this.rod.getInventoryName() : I18n.format(this.rod.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); - - switch(rod.mode) { - case 1: - drawTexturedModalRect(guiLeft + 77, guiTop + 46, 180, 13, 9, 9); - drawTexturedModalRect(guiLeft + 104, guiTop + 46, 180, 13, 9, 9); - drawTexturedModalRect(guiLeft + 131, guiTop + 46, 180, 3, 9, 9); - break; - case 2: - drawTexturedModalRect(guiLeft + 77, guiTop + 46, 180, 13, 9, 9); - drawTexturedModalRect(guiLeft + 104, guiTop + 46, 180, 3, 9, 9); - drawTexturedModalRect(guiLeft + 131, guiTop + 46, 180, 13, 9, 9); - break; - case 3: - drawTexturedModalRect(guiLeft + 77, guiTop + 46, 180, 3, 9, 9); - drawTexturedModalRect(guiLeft + 104, guiTop + 46, 180, 13, 9, 9); - drawTexturedModalRect(guiLeft + 131, guiTop + 46, 180, 13, 9, 9); - break; - } - this.fields[0].drawTextBox(); - this.fields[1].drawTextBox(); - this.fontRendererObj.drawString(rod.trunc_v, 30, 50, 0xFF7F7F); - } - - @Override - protected void keyTyped(char c, int i) { - - for(int j = 0; j < 2; j++) { - if(this.fields[j].textboxKeyTyped(c, i)) - return; - } - - super.keyTyped(c, i); - } - - @Override - public void onGuiClosed() { - Keyboard.enableRepeatEvents(false); - } -} diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 896858233..dd84c756e 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -343,7 +343,6 @@ public class TileMappings { put(TileEntityRBMKAbsorber.class, "tileentity_rbmk_absorber"); put(TileEntityRBMKModerator.class, "tileentity_rbmk_moderator"); put(TileEntityRBMKOutgasser.class, "tileentity_rbmk_outgasser"); - put(TileEntityRBMKRedstone.class, "tileentity_rbmk_redstone"); put(TileEntityRBMKCooler.class, "tileentity_rbmk_cooler"); put(TileEntityRBMKHeater.class, "tileentity_rbmk_heater"); put(TileEntityRBMKStorage.class, "tileentity_rbmk_storage"); 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 0e1d6baca..4ce54e100 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKConsole.java @@ -384,24 +384,19 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon stats.add(EnumChatFormatting.WHITE + I18nUtil.resolveKey("rbmk.boiler.steam", this.data.getInteger("steam"), this.data.getInteger("maxSteam"))); stats.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("rbmk.boiler.type", I18nUtil.resolveKey(Fluids.fromID(this.data.getShort("type")).getUnlocalizedName()))); break; - case REDSTONE: - stats.add(EnumChatFormatting.BLUE + I18nUtil.resolveKey("rbmk.redstone.active", Boolean.toString(data.getBoolean("active")))); - stats.add(EnumChatFormatting.WHITE + I18nUtil.resolveKey("rbmk.redstone.value", this.data.getString("value"), this.data.getInteger("threshold"))); - stats.add(EnumChatFormatting.YELLOW + I18nUtil.resolveKey("rbmk.redstone.channel", this.data.getString("channel"))); - 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 + I18nUtil.resolveKey(I18nUtil.resolveKey(Fluids.fromID(this.data.getShort("type")).getUnlocalizedName()) + " " + this.data.getInteger("water") + "/" + this.data.getInteger("maxWater") + "mB")); @@ -409,7 +404,7 @@ 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")); @@ -431,10 +426,9 @@ public class TileEntityRBMKConsole extends TileEntityMachineBase implements ICon BREEDER(100), STORAGE(110), COOLER(120), - HEATEX(130), - REDSTONE(140); - - public int offset; + HEATEX(130); + + public int offset; private ColumnType(int offset) { this.offset = offset; diff --git a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRedstone.java b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRedstone.java deleted file mode 100644 index c21948360..000000000 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRedstone.java +++ /dev/null @@ -1,182 +0,0 @@ -package com.hbm.tileentity.machine.rbmk; - -import com.hbm.entity.projectile.EntityRBMKDebris.DebrisType; -import com.hbm.interfaces.IControlReceiver; -import com.hbm.inventory.container.ContainerRBMKGeneric; -import com.hbm.inventory.gui.GUIRBMKRedstone; -import com.hbm.tileentity.machine.rbmk.TileEntityRBMKConsole.ColumnType; -import com.hbm.tileentity.network.RTTYSystem; -import cpw.mods.fml.common.Optional; -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -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; -import net.minecraft.world.World; - -@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) -public class TileEntityRBMKRedstone extends TileEntityRBMKSlottedBase implements IControlReceiver, SimpleComponent { - - - public int mode = 1; - public String channel = ""; - public int threshold = 0; - public boolean active = false; - public double sflux = 0.0; - public double fflux = 0.0; - public double value = 0.0; - public String trunc_v = ""; - - @Override - public String getName() { - return "container.rbmkRedstone"; - } - - public TileEntityRBMKRedstone() { - super(0); - } - - @Override - public void updateEntity() { - if (!worldObj.isRemote) { - - switch(mode) { - // mode = 1: Heat - // mode = 2: Slow Flux - // mode = 3: Fast Flux - case (1): - value = heat; - active = value > threshold; - break; - case (2): - value = sflux; - active = value > threshold; - break; - case (3): - value = fflux; - active = value > threshold; - break; - } - if(!channel.isEmpty()) { - if(active) { - RTTYSystem.broadcast(worldObj, channel, 15); - } else { - RTTYSystem.broadcast(worldObj, channel, 0); - } - } - } - super.updateEntity(); - } - - public void processFlux(Double flux, IRBMKFluxReceiver.NType stream) { - if(stream == IRBMKFluxReceiver.NType.SLOW) { - sflux = flux; - } else if (stream == IRBMKFluxReceiver.NType.FAST) { - fflux = flux; - } - } - - @Override - public boolean hasPermission(EntityPlayer player) {return true;} - - @Override - public void receiveControl(NBTTagCompound data) { - - if(data.hasKey("Ch_set")) { - channel = data.getString("Ch_set"); - threshold = data.getInteger("Threshold"); - } else if (data.hasKey("Mode")) { - int newMode = data.getInteger("Mode") % 4; - if(newMode <= 0) - newMode = 1; - mode = newMode; - } - this.markDirty(); - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - - mode = nbt.getInteger("mode"); - channel = nbt.getString("channel"); - threshold = nbt.getInteger("threshold"); - active = nbt.getBoolean("active"); - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - - nbt.setInteger("mode", mode); - nbt.setString("channel", channel); - nbt.setInteger("threshold", threshold); - nbt.setBoolean("active", active); - } - - public void getDiagData(NBTTagCompound nbt) { - super.getDiagData(nbt); - nbt.setString("mode", String.valueOf(mode)); - nbt.setString("channel", channel); - nbt.setString("threshold", String.valueOf(threshold)); - nbt.setString("active", String.valueOf(active)); - } - - @Override - public NBTTagCompound getNBTForConsole() { - NBTTagCompound data = new NBTTagCompound(); - - if(value >= 100) { - value = (int) value; - } else { - value = ((int) (value * 10)) / 10F; - } - data.setInteger("mode", mode); - data.setString("value", trunc_v); - data.setInteger("threshold", threshold); - data.setBoolean("active", active); - - return data; - } - - @Override - public void onMelt(int reduce) { - - int count = 1 + worldObj.rand.nextInt(2); - - for(int i = 0; i < count; i++) { - spawnDebris(DebrisType.BLANK); - } - - super.onMelt(reduce); - } - - @Override - public ColumnType getConsoleType() { - return ColumnType.REDSTONE; - } - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() { - return 65536.0D; - } - - @Override - public String getComponentName() { - return "rbmk_redstone_rod"; - } - - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerRBMKGeneric(player.inventory); - } - - @Override - @SideOnly(Side.CLIENT) - public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUIRBMKRedstone(player.inventory, this); - } -} 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 bdf09c074..f13f34952 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKRod.java @@ -191,12 +191,6 @@ public class TileEntityRBMKRod extends TileEntityRBMKSlottedBase implements IRBM return flux; } } - - if(te instanceof TileEntityRBMKRedstone) { - TileEntityRBMKRedstone rod = (TileEntityRBMKRedstone)te; - rod.processFlux(flux, stream); - return flux; - } if(te instanceof IRBMKFluxReceiver) { IRBMKFluxReceiver rod = (IRBMKFluxReceiver)te; diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index e879e685e..3c4bec004 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -723,7 +723,6 @@ container.rbmkHeater=RBMK Fluid Heater container.rbmkOutgasser=RBMK Irradiation Channel container.rbmkReaSim=RBMK Fuel Rod (ReaSim) container.rbmkRod=RBMK Fuel Rod -container.rbmkRedstone=RBMK Redstone Column container.rbmkStorage=RBMK Storage Column container.reactorBreeding=Breeding Reactor container.reactorControl=Reactor Remote Control Block @@ -4246,9 +4245,6 @@ rbmk.heat=Column temperature: %s rbmk.boiler.water=Feedwater: %s / %s rbmk.boiler.steam=Steam: %s / %s rbmk.boiler.type=Compressor: %s -rbmk.redstone.active=Active: %s -rbmk.redstone.value=Value: %s / %s -rbmk.redstone.channel=Channel: %s rbmk.console.assign=Assign selected columns to screen #%s rbmk.console.none=Off rbmk.console.col_temp=Monitor average column temperature @@ -5118,7 +5114,6 @@ tile.rbmk_control_mod.name=RBMK Moderated Control Rods tile.rbmk_crane_console.name=RBMK Crane Console tile.rbmk_heater.name=RBMK Fluid Heater tile.rbmk_heatex.name=RBMK Heat Exchanger -tile.rbmk_redstone.name=RBMK Redstone Column tile.rbmk_loader.name=RBMK Steam Connector tile.rbmk_moderator.name=RBMK Graphite Moderator tile.rbmk_outgasser.name=RBMK Irradiation Channel diff --git a/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_redstone.png b/src/main/resources/assets/hbm/textures/blocks/rbmk/rbmk_redstone.png deleted file mode 100644 index 8689b01c6bd228fd87a19f28265228547c540053..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1294 zcmV+p1@ZccP)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D1fxkrK~z{rt(Hqq zWK|Hy>pr@ny8)p|V0eaCIx%rIegbvxdJ>1 z2-t)Lgh8O`xAm*;>bW+}4A}fT)#u!E&#C&KdYp5E&CSiGB#_Bu+P#}7l}hd2E1aF3 z$>`|loz`t{ZwJ;%zzEFF&dR{RfJ9N$9u}$B>ryV4tz{eufVgkd025NaDrkWyvZUY%b^@yl(wzP^^- z-CfD$a{nQKAqXHC_l+^WwzhVIKxluexbXegQm@w3U?g!A%aHC&%}SsP8`Y}BO$^zae)g5^%GaXY!L#q&caPwyUWoZaLA_L#rtbdNk3N%ZHft{{m5K>U0SXJ>K9$RI zMVifKC+_sS;RLHn9{slw2vLH9vhH3~PgY&Gv$G>V|Ma6gfBuX7`N!`X>!Q4Td1hpE zvNTj`8YV#NF~%5@BxIY@eCS0I*w#=IE5mf0lKRMq4CS)6>o|^0i1+2iMJtx|mSG2L znTrAXP6ES-d(R1X!``xBFbXyK8a8ogc-V|xYx(?he%?~589ilyvuyI5|171*%r!;FUXBi-%a}Mgg8< z6Mzu$+zUp4mo;5?r5=FsTY9iyd{~LlqMXCT5=jk&VPxfJ3Y54f9DM}C2;;PrBGL;+ zz+S51SfA4Av`I!Q!4#?jNR_TiHZQhn)N<8vNHNE2-3`(*&c+~3%X2S;eoO|{ilp@5 zVL?7WE{`5f$=v+BJbwJHy!ZYG^5K&wEhTzJQ1y@kw;6&2W5{jBft`f&b93^}58r5j zwWNq+pz#Vc92yoPn#~MonQETsSoP{s6E>3HKK@+(`nzZ$T3K0XX;Tm`#61Z-H&$0y zTd_*OsFC3>KKVk8=})JGQTtqI)Fo)@*^WY~$%xKQtGi!(`cx`jVbqqXb z9Cx{n0qbtPj@$hXUZ<>^Krf~Df#m?-1GuqJD45J?Qch1#%lP=XO`@Hcm=HoWuaz+~ zGb2+|Q}(W37y)8cEEYSNi!kP~Cyw;-403vU`bL-E6-IzMU07J?WG!F}!?>K5y7t=U z1BCuVkT3#XHhzxxf?Y@|%w?WeO26oQ5BLr-;Kq`K`2Kqn$^QfMfFBaL9Rob?@9!H4 z04Yy8-f`0Tntovfe8;XB5@fv_+1uN*4^X^tcz9?D>(_I?2)4GiZum4=>m(J{Px87=mT12)0)Pte zdmV!q@o~lwAM>((2$)6^5QP|UV;Js+8zwouLi&Y$5uuE-!vJtYgoW0}y+jWV4jzsG ze;6PU$!toI76IP(62)*npYM?B7x%u7K{EOJyN*Tv1vZWaatMlMMgRZ+07*qoM6N<$ Eg3aG00c{Q9=186Rwdngd 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 O1<=(r(kNAPi25(&%t8JD literal 6917 zcma)hcUTim_x5Z8p%X+zdO#^E2q--ugeuap(Iq@8NDn0zT0#?1n$nwe1yMjigrE=v zMMXN&l&%Cqm7;Wh!RPgT{pY)`?~lyxYGn5K2;oHUI!0eBwEvgJTe>oei>t$YArZ`}Jq&7Or< z0N_hIqoaBL=B2qzWR$??z~&LY-LWW$64ih>cy0Ebehw#n*wyYPN+s5s^JwLZyhq~h zkQiIyTDMN_^#YuQf?1ll_z^J}bf_Wtorz&uSdaLHK+*3Rd33fPB4?Yp6ViBK*P}#I zuy3x{c~V~fy8g5EQ~Hong`M2mTgyW=HL2U%!wcIrHEC(NLLN*apWm!Z7`21Iq2HRr?o_BQ(fr!;(>rzm;f%$Lpfj#x14<7Pi;3d2bBNkCvT>|1z1GY?RUvjF`yK2C*qoTj@9T-qO=8oQ*{Gr+4e)X@>w z2RfED$;Ro5R?npROW1nZZpM|3jg6JPW5-`FTxM{By!C`0Ix80Du~$tDDcOPM-ZabGS(x5zrH%jKYEJ81(3qWlaZ`VA=AAiq*8)sL$kP9O8zpSF8Jo zbadvO&J_BZqa9ILfyopMC_PrgiR*v?3s{wQW~LPBV+ozkH-kpq_=CEaP(q?o$H&h( zMW6{>Nf7ov+nsce{gkwfj2@f#Lni^Mǖj*gSziT)--Ts;H9>?4f^jsPdXlhNwv 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 rG#5OfQ%$=Vo8NC^|A|s)zi&r{?z)Wmtx Date: Tue, 18 Jul 2023 20:45:54 -0500 Subject: [PATCH 267/285] fix the OC part where I18nUtil was being called (no longer is it being called) --- .../com/hbm/tileentity/machine/storage/TileEntityBarrel.java | 4 ++-- .../machine/storage/TileEntityMachineFluidTank.java | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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 9d479a4de..c6fea9500 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java @@ -389,12 +389,12 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getTypeStored(Context context, Arguments args) { - return new Object[] {I18nUtil.resolveKey(tank.getTankType().getUnlocalizedName())}; + return new Object[] {tank.getTankType().getUnlocalizedName()}; } @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[]{tank.getFill(), tank.getMaxFill(), I18nUtil.resolveKey(tank.getTankType().getUnlocalizedName())}; + return new Object[]{tank.getFill(), tank.getMaxFill(), tank.getTankType().getUnlocalizedName()}; } } 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 618791227..1269da0a6 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -487,12 +487,12 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getTypeStored(Context context, Arguments args) { - return new Object[] {I18nUtil.resolveKey(tank.getTankType().getUnlocalizedName())}; + return new Object[] {tank.getTankType().getUnlocalizedName()}; } @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[]{tank.getFill(), tank.getMaxFill(), I18nUtil.resolveKey(tank.getTankType().getUnlocalizedName())}; + return new Object[]{tank.getFill(), tank.getMaxFill(), tank.getTankType().getUnlocalizedName()}; } } \ No newline at end of file From 4c3047c121d1bde616aa2f88d31bb9901345d33f Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 19 Jul 2023 11:15:42 +0200 Subject: [PATCH 268/285] glaggle 3: return to blibble's field --- src/main/java/com/hbm/blocks/ModBlocks.java | 2 +- .../com/hbm/blocks/machine/BlockCMPort.java | 32 +++ .../blocks/machine/BlockCustomMachine.java | 19 +- .../container/ContainerMachineCustom.java | 4 +- .../hbm/inventory/gui/GUIMachineCustom.java | 58 ++++ .../hbm/tileentity/TileEntityProxyBase.java | 30 +++ .../hbm/tileentity/TileEntityProxyCombo.java | 4 +- .../machine/TileEntityCustomMachine.java | 248 +++++++++++++++++- 8 files changed, 387 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/machine/BlockCMPort.java diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 31dd43231..55b367285 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -2024,7 +2024,7 @@ public class ModBlocks { cm_sheet = new BlockCM(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_sheet").setCreativeTab(MainRegistry.blockTab).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.blockTab).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.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_tank"); - cm_port = new BlockCM(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_port").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_port"); + cm_port = new BlockCMPort(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_port").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_port"); custom_machine = new BlockCustomMachine().setBlockName("custom_machine").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); reactor_element = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_element_top", RefStrings.MODID + ":reactor_element_base").setBlockName("reactor_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_element_side"); diff --git a/src/main/java/com/hbm/blocks/machine/BlockCMPort.java b/src/main/java/com/hbm/blocks/machine/BlockCMPort.java new file mode 100644 index 000000000..b16528a55 --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/BlockCMPort.java @@ -0,0 +1,32 @@ +package com.hbm.blocks.machine; + +import com.hbm.tileentity.TileEntityProxyCombo; + +import net.minecraft.block.Block; +import net.minecraft.block.ITileEntityProvider; +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; + +public class BlockCMPort extends BlockCM implements ITileEntityProvider { + + public BlockCMPort(Material mat, Class theEnum, boolean multiName, boolean multiTexture) { + super(mat, theEnum, multiName, multiTexture); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityProxyCombo().inventory().power().fluid(); + } + + @Override + public void onBlockAdded(World world, int x, int y, int z) { + super.onBlockAdded(world, x, y, z); + } + + @Override + public void breakBlock(World world, int x, int y, int z, Block b, int m) { + super.breakBlock(world, x, y, z, b, m); + world.removeTileEntity(x, y, z); + } +} diff --git a/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java b/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java index 2d1eb0484..469d11f25 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java +++ b/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java @@ -22,6 +22,7 @@ import net.minecraft.stats.StatList; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; +import net.minecraft.util.MovingObjectPosition; import net.minecraft.world.World; public class BlockCustomMachine extends BlockContainer { @@ -115,7 +116,7 @@ public class BlockCustomMachine extends BlockContainer { Item item = getItemDropped(metadata, world.rand, fortune); if(item != null) { - ItemStack stack = new ItemStack(item, 1, damageDropped(metadata)); + ItemStack stack = new ItemStack(item); TileEntityCustomMachine tile = (TileEntityCustomMachine) world.getTileEntity(x, y, z); if(tile != null) { @@ -128,4 +129,20 @@ public class BlockCustomMachine extends BlockContainer { return ret; } + + @Override + public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { //using the deprecated one to make NEI happy + + TileEntityCustomMachine tile = (TileEntityCustomMachine) world.getTileEntity(x, y, z); + + ItemStack stack = new ItemStack(this); + + if(tile != null && tile.machineType != null && !tile.machineType.isEmpty()) { + stack.stackTagCompound = new NBTTagCompound(); + stack.stackTagCompound.setString("machineType", tile.machineType); + return stack; + } + + return super.getPickBlock(target, world, x, y, z); + } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java b/src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java index 1a15db6ba..d85a2953f 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java +++ b/src/main/java/com/hbm/inventory/container/ContainerMachineCustom.java @@ -20,7 +20,9 @@ public class ContainerMachineCustom extends Container { //Input this.addSlotToContainer(new Slot(tile, 0, 150, 72)); //Fluid IDs - for(int i = 0; i < tile.inputTanks.length; i++) this.addSlotToContainer(new Slot(tile, 1 + i, 8, 54 + 18 * i)); + for(int i = 0; i < tile.inputTanks.length; i++) { + this.addSlotToContainer(new Slot(tile, 1 + i, 8 + 18 * i, 54)); + } //Item inputs if(tile.config.itemInCount > 0) this.addSlotToContainer(new Slot(tile, 4, 8, 72)); if(tile.config.itemInCount > 1) this.addSlotToContainer(new Slot(tile, 5, 26, 72)); diff --git a/src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java b/src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java index 5bbc86167..7b658c150 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java +++ b/src/main/java/com/hbm/inventory/gui/GUIMachineCustom.java @@ -1,7 +1,10 @@ package com.hbm.inventory.gui; +import java.util.Arrays; + import org.lwjgl.opengl.GL11; +import com.hbm.inventory.SlotPattern; import com.hbm.inventory.container.ContainerMachineCustom; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityCustomMachine; @@ -9,6 +12,8 @@ import com.hbm.tileentity.machine.TileEntityCustomMachine; import net.minecraft.client.Minecraft; 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 GUIMachineCustom extends GuiInfoContainer { @@ -24,6 +29,41 @@ public class GUIMachineCustom extends GuiInfoContainer { this.ySize = 256; } + @Override + public void drawScreen(int x, int y, float interp) { + super.drawScreen(x, y, interp); + + this.drawElectricityInfo(this, x, y, guiLeft + 150, guiTop + 18, 16, 52, custom.power, custom.config.maxPower); + + if(this.mc.thePlayer.inventory.getItemStack() == null) { + for(int i = 0; i < this.inventorySlots.inventorySlots.size(); ++i) { + Slot slot = (Slot) this.inventorySlots.inventorySlots.get(i); + 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); + } + } + } + + for(int i = 0; i < custom.inputTanks.length; i++) { + custom.inputTanks[i].renderTankInfo(this, x, y, guiLeft + 8 + 18 * i, guiTop + 18, 16, 34); + } + + for(int i = 0; i < custom.outputTanks.length; i++) { + custom.outputTanks[i].renderTankInfo(this, x, y, guiLeft + 78 + 18 * i, guiTop + 18, 16, 34); + } + } + @Override protected void drawGuiContainerForegroundLayer(int i, int j) { String name = this.custom.getInventoryName(); @@ -37,6 +77,16 @@ public class GUIMachineCustom extends GuiInfoContainer { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); + int p = custom.progress * 90 / custom.maxProgress; + drawTexturedModalRect(guiLeft + 78, guiTop + 119, 192, 0, Math.min(p, 44), 16); + if(p > 44) { + p-= 44; + drawTexturedModalRect(guiLeft + 78 + 44, guiTop + 119, 192, 16, p, 16); + } + + int e = (int) (custom.power * 52 / custom.config.maxPower); + drawTexturedModalRect(guiLeft + 150, guiTop + 70 - e, 176, 52 - e, 16, e); + for(int i = 0; i < 2; i++) { for(int j = 0; j < 3; j++) { int index = i * 3 + j; @@ -58,6 +108,14 @@ public class GUIMachineCustom extends GuiInfoContainer { drawTexturedModalRect(guiLeft + 77 + i * 18, guiTop + 17, 192 + i * 18, 32, 18, 36); } } + + for(int i = 0; i < custom.inputTanks.length; i++) { + custom.inputTanks[i].renderTank(guiLeft + 8 + 18 * i, guiTop + 52, this.zLevel, 16, 34); + } + + for(int i = 0; i < custom.outputTanks.length; i++) { + custom.outputTanks[i].renderTank(guiLeft + 78 + 18 * i, guiTop + 52, this.zLevel, 16, 34); + } } } diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java b/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java index 182e1f1bc..bf19bb353 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java @@ -3,16 +3,27 @@ package com.hbm.tileentity; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.IProxyController; import com.hbm.util.Compat; +import com.hbm.util.fauxpointtwelve.BlockPos; +import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; public class TileEntityProxyBase extends TileEntityLoadedBase { + + public BlockPos cachedPosition; public boolean canUpdate() { return false; } public TileEntity getTE() { + + if(cachedPosition != null) { + TileEntity te = Compat.getTileStandard(worldObj, cachedPosition.getX(), cachedPosition.getY(), cachedPosition.getZ()); + if(te != null && te != this) return te; + cachedPosition = null; + this.markDirty(); + } if(this.getBlockType() instanceof BlockDummyable) { @@ -36,4 +47,23 @@ public class TileEntityProxyBase extends TileEntityLoadedBase { return null; } + + @Override + public void readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + + if(nbt.getBoolean("hasPos")) cachedPosition = new BlockPos(nbt.getInteger("pX"), nbt.getInteger("pY"), nbt.getInteger("pZ")); + } + + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + + if(this.cachedPosition != null) { + nbt.setBoolean("hasPos", true); + nbt.setInteger("pX", this.cachedPosition.getX()); + nbt.setInteger("pY", this.cachedPosition.getY()); + nbt.setInteger("pZ", this.cachedPosition.getZ()); + } + } } diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java b/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java index c4b8404d3..18d109586 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyCombo.java @@ -217,7 +217,7 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy return ((IEnergyConnector)getTile()).canConnect(dir); } - return false; + return true; } @Override @@ -459,7 +459,7 @@ public class TileEntityProxyCombo extends TileEntityProxyBase implements IEnergy if(getTile() instanceof IFluidConnector) { return ((IFluidConnector)getTile()).canConnect(type, dir); } - return false; + return true; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java index 28bfe2dbe..5133d5d8b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java @@ -1,38 +1,56 @@ package com.hbm.tileentity.machine; +import java.util.ArrayList; +import java.util.List; + import com.hbm.config.CustomMachineConfigJSON; import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration; import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration.ComponentDefinition; +import com.hbm.inventory.FluidStack; import com.hbm.inventory.container.ContainerMachineCustom; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.gui.GUIMachineCustom; +import com.hbm.inventory.recipes.CustomMachineRecipes; +import com.hbm.inventory.recipes.CustomMachineRecipes.CustomMachineRecipe; +import com.hbm.lib.Library; import com.hbm.module.ModulePatternMatcher; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.tileentity.TileEntityProxyBase; +import com.hbm.util.Compat; +import com.hbm.util.fauxpointtwelve.BlockPos; +import com.hbm.util.fauxpointtwelve.DirPos; +import api.hbm.fluid.IFluidStandardTransceiver; 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; import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCustomMachine extends TileEntityMachineBase implements IGUIProvider { +public class TileEntityCustomMachine extends TileEntityMachineBase implements IFluidStandardTransceiver, IGUIProvider { public String machineType; public MachineConfiguration config; public long power; public int progress; + public int maxProgress = 1; public FluidTank[] inputTanks; public FluidTank[] outputTanks; public ModulePatternMatcher matcher; public int structureCheckDelay; public boolean structureOK = false; + public CustomMachineRecipe cachedRecipe; + + public List connectionPos = new ArrayList(); public TileEntityCustomMachine() { /* @@ -77,14 +95,80 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IG worldObj.func_147480_a(xCoord, yCoord, zCoord, false); return; } + + this.power = Library.chargeTEFromItems(slots, 0, power, this.config.maxPower); + + if(this.inputTanks.length > 0) this.inputTanks[0].setType(1, slots); + if(this.inputTanks.length > 1) this.inputTanks[1].setType(2, slots); + if(this.inputTanks.length > 2) this.inputTanks[2].setType(3, slots); this.structureCheckDelay--; if(this.structureCheckDelay <= 0) this.checkStructure(); + if(this.worldObj.getTotalWorldTime() % 20 == 0) { + for(DirPos pos : this.connectionPos) { + for(FluidTank tank : this.inputTanks) { + this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + } + } + + if(this.structureOK) { + + if(config.generatorMode) { + if(this.cachedRecipe == null) { + CustomMachineRecipe recipe = this.getMatchingRecipe(); + if(this.hasRequiredQuantities(recipe) && this.hasSpace(recipe)) { + this.cachedRecipe = recipe; + this.useUpInput(recipe); + } + } + + if(this.cachedRecipe != null) { + this.maxProgress = (int) Math.max(cachedRecipe.duration / this.config.recipeSpeedMult, 1); + int powerReq = (int) Math.max(cachedRecipe.consumptionPerTick * this.config.recipeConsumptionMult, 1); + + this.progress++; + this.power += powerReq; + if(power > config.maxPower) power = config.maxPower; + + if(progress >= this.maxProgress) { + this.progress = 0; + this.processRecipe(cachedRecipe); + this.cachedRecipe = null; + } + } + + } else { + CustomMachineRecipe recipe = this.getMatchingRecipe(); + + if(recipe != null) { + this.maxProgress = (int) Math.max(recipe.duration / this.config.recipeSpeedMult, 1); + int powerReq = (int) Math.max(recipe.consumptionPerTick * this.config.recipeConsumptionMult, 1); + + if(this.power >= powerReq && this.hasRequiredQuantities(recipe) && this.hasSpace(recipe)) { + this.progress++; + this.power -= powerReq; + + if(progress >= this.maxProgress) { + this.progress = 0; + this.useUpInput(recipe); + this.processRecipe(recipe); + } + } + } else { + this.progress = 0; + } + } + } else { + this.progress = 0; + } + NBTTagCompound data = new NBTTagCompound(); data.setString("type", this.machineType); data.setLong("power", power); 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); @@ -92,8 +176,88 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IG } } + /** 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.machineType); + if(recipes == null || recipes.isEmpty()) return null; + + outer: + for(CustomMachineRecipe recipe : recipes) { + for(int i = 0; i < recipe.inputFluids.length; i++) { + if(this.inputTanks[i].getTankType() != recipe.inputFluids[i].type || this.inputTanks[i].getPressure() != recipe.inputFluids[i].pressure) continue outer; + } + + for(int i = 0; i < recipe.inputItems.length; i++) { + if(recipe.inputItems[i] != null && slots[i + 4] == null) continue outer; + if(!recipe.inputItems[i].matchesRecipe(slots[i + 4], true)) continue outer; + } + + return recipe; + } + + return null; + } + + public boolean hasRequiredQuantities(CustomMachineRecipe recipe) { + + for(int i = 0; i < recipe.inputFluids.length; i++) { + if(this.inputTanks[i].getFill() < recipe.inputFluids[i].fill) return false; + } + + for(int i = 0; i < recipe.inputItems.length; i++) { + if(slots[i + 4] != null && slots[i + 4].stackSize < recipe.inputItems[i].stacksize) return false; + } + + return true; + } + + public boolean hasSpace(CustomMachineRecipe recipe) { + + for(int i = 0; i < recipe.outputFluids.length; i++) { + if(this.outputTanks[i].getTankType() == recipe.outputFluids[i].type && this.outputTanks[i].getFill() + recipe.outputFluids[i].fill > this.outputTanks[i].getMaxFill()) return false; + } + + for(int i = 0; i < recipe.outputItems.length; i++) { + if(slots[i + 16] != null && (slots[i + 16].getItem() != recipe.outputItems[i].key.getItem() || slots[i + 16].getItemDamage() != recipe.outputItems[i].key.getItemDamage())) return false; + if(slots[i + 16] != null && slots[16 + i].stackSize + recipe.outputItems[i].key.stackSize > slots[i + 16].getMaxStackSize()) return false; + } + + return true; + } + + public void useUpInput(CustomMachineRecipe recipe) { + + for(int i = 0; i < recipe.inputFluids.length; i++) { + this.inputTanks[i].setFill(this.inputTanks[i].getFill() - recipe.inputFluids[i].fill); + } + + for(int i = 0; i < recipe.inputItems.length; i++) { + this.decrStackSize(i + 4, recipe.inputItems[i].stacksize); + } + } + + public void processRecipe(CustomMachineRecipe recipe) { + + for(int i = 0; i < recipe.outputFluids.length; i++) { + if(this.outputTanks[i].getTankType() != recipe.outputFluids[i].type) this.outputTanks[i].setTankType(recipe.outputFluids[i].type); + this.outputTanks[i].setFill(this.outputTanks[i].getFill() + recipe.outputFluids[i].fill); + } + + for(int i = 0; i < recipe.outputItems.length; i++) { + + if(worldObj.rand.nextFloat() < recipe.outputItems[i].value) { + if(slots[i + 16] == null) { + slots[i + 16] = recipe.outputItems[i].key.copy(); + } else { + slots[i + 16].stackSize += recipe.outputItems[i].key.stackSize; + } + } + } + } + public boolean checkStructure() { + this.connectionPos.clear(); this.structureCheckDelay = 300; this.structureOK = false; if(this.config == null) return false; @@ -120,6 +284,21 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IG int meta = worldObj.getBlockMetadata(x, y, z); if(!comp.allowedMetas.contains(meta)) return false; + + TileEntity tile = Compat.getTileStandard(worldObj, x, y, z); + if(tile instanceof TileEntityProxyBase) { + TileEntityProxyBase proxy = (TileEntityProxyBase) tile; + proxy.cachedPosition = new BlockPos(xCoord, yCoord, zCoord); + proxy.markDirty(); + + for(ForgeDirection facing : ForgeDirection.VALID_DIRECTIONS) { + this.connectionPos.add(new DirPos(x + facing.offsetX, y + facing.offsetY, z + facing.offsetZ, facing)); + } + } + } + + for(ForgeDirection facing : ForgeDirection.VALID_DIRECTIONS) { + this.connectionPos.add(new DirPos(xCoord + facing.offsetX, yCoord + facing.offsetY, zCoord + facing.offsetZ, facing)); } this.structureOK = true; @@ -147,6 +326,35 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IG } } + @Override + public int[] getAccessibleSlotsFromSide(int side) { + if(this.config == null) return new int[] { }; + if(this.config.itemInCount > 0) return new int[] { 4, 16, 17, 18, 19, 20, 21 }; + if(this.config.itemInCount > 1) return new int[] { 4, 5, 16, 17, 18, 19, 20, 21 }; + if(this.config.itemInCount > 2) return new int[] { 4, 5, 6, 16, 17, 18, 19, 20, 21 }; + if(this.config.itemInCount > 3) return new int[] { 4, 5, 6, 7, 16, 17, 18, 19, 20, 21 }; + if(this.config.itemInCount > 4) return new int[] { 4, 5, 6, 7, 8, 16, 17, 18, 19, 20, 21 }; + if(this.config.itemInCount > 5) return new int[] { 4, 5, 6, 7, 8, 9, 16, 17, 18, 19, 20, 21 }; + return new int[] { }; + } + + @Override + public boolean canExtractItem(int i, ItemStack stack, int j) { + return i >= 16 && i <= 21; + } + + @Override + public boolean isItemValidForSlot(int slot, ItemStack stack) { + if(slot < 4 || slot > 9) return false; + + int index = slot - 4; + int filterSlot = slot + 6; + + if(slots[filterSlot] == null) return true; + + return matcher.isValidForFilter(slots[filterSlot], index, stack); + } + @Override public void networkUnpack(NBTTagCompound nbt) { this.machineType = nbt.getString("type"); @@ -154,6 +362,7 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IG this.power = nbt.getLong("power"); this.progress = nbt.getInteger("progress"); + 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); @@ -167,16 +376,24 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IG this.init(); super.readFromNBT(nbt); - - 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); + if(this.config != null) { + + 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 writeToNBT(NBTTagCompound nbt) { + if(machineType == null || this.config == null) { + super.writeToNBT(nbt); + return; + } + nbt.setString("machineType", machineType); super.writeToNBT(nbt); @@ -187,6 +404,27 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IG this.matcher.writeToNBT(nbt); } + @Override + public FluidTank[] getAllTanks() { + + FluidTank[] all = new FluidTank[inputTanks.length + outputTanks.length]; + + for(int i = 0; i < inputTanks.length; i++) all[i] = inputTanks[i]; + for(int i = 0; i < outputTanks.length; i++) all[inputTanks.length + i] = outputTanks[i]; + + return all; + } + + @Override + public FluidTank[] getSendingTanks() { + return outputTanks != null ? outputTanks : new FluidTank[0]; + } + + @Override + public FluidTank[] getReceivingTanks() { + return inputTanks != null ? inputTanks : new FluidTank[0]; + } + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { if(this.config == null) return null; From 0fdfae999e7aab74966fb7fcd5193e14f0153c31 Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 19 Jul 2023 14:45:32 +0200 Subject: [PATCH 269/285] hey shitass, stop fucking with my gitignore --- .gitignore | 18 -- .../hbm/config/CustomMachineConfigJSON.java | 197 ++++++++++++++++++ .../machine/TileEntityCustomMachine.java | 62 +++++- 3 files changed, 257 insertions(+), 20 deletions(-) create mode 100644 src/main/java/com/hbm/config/CustomMachineConfigJSON.java diff --git a/.gitignore b/.gitignore index 776998c18..22222fc39 100644 --- a/.gitignore +++ b/.gitignore @@ -26,21 +26,3 @@ run # Changelog backup /changelog.bak - -screenshots/ - -saves/ - -usernamecache.json - -options.txt - -logs/ - -doc/ - -crash-reports/ - -config/ - -asm/ diff --git a/src/main/java/com/hbm/config/CustomMachineConfigJSON.java b/src/main/java/com/hbm/config/CustomMachineConfigJSON.java new file mode 100644 index 000000000..750fb8733 --- /dev/null +++ b/src/main/java/com/hbm/config/CustomMachineConfigJSON.java @@ -0,0 +1,197 @@ +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.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Set; + +import com.google.gson.Gson; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.google.gson.stream.JsonWriter; +import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration.ComponentDefinition; +import com.hbm.main.MainRegistry; + +import net.minecraft.block.Block; + +public class CustomMachineConfigJSON { + + public static final Gson gson = new Gson(); + public static HashMap customMachines = new HashMap(); + + public static void initialize() { + File folder = MainRegistry.configHbmDir; + + File config = new File(folder.getAbsolutePath() + File.separatorChar + "hbmCustomMachines.json"); + + if(!config.exists()) { + writeDefault(config); + } + + readConfig(config); + } + + public static void writeDefault(File config) { + + try { + JsonWriter writer = new JsonWriter(new FileWriter(config)); + writer.setIndent(" "); + writer.beginObject(); + writer.name("machines").beginArray(); + + writer.beginObject(); + writer.name("recipeKey").value("paperPress"); + writer.name("unlocalizedName").value("paperPress"); + writer.name("localizedName").value("Paper Press"); + writer.name("fluidInCount").value(1); + writer.name("fluidInCap").value(1_000); + writer.name("itemInCount").value(1); + writer.name("fluidOutCount").value(0); + writer.name("fluidOutCap").value(0); + writer.name("itemOutCount").value(1); + writer.name("generatorMode").value(false); + writer.name("recipeSpeedMult").value(1.0D); + writer.name("recipeConsumptionMult").value(1.0D); + writer.name("maxPower").value(10_000L); + + writer.name("components").beginArray(); + + for(int x = -1; x <= 1; x++) { + for(int y = -1; y <= 1; y++) { + for(int z = 0; z <= 2; z++) { + if(!(x == 0 && y == 0 && z == 1) && !(x == 0 && z == 0)) { + writer.beginObject().setIndent(""); + writer.name("block").value(y == 0 ? "hbm:tile.cm_sheet" : "hbm:tile.cm_block"); + writer.name("x").value(x); + writer.name("y").value(y); + writer.name("z").value(z); + writer.name("metas").beginArray(); + writer.value(0); + writer.endArray(); + writer.endObject().setIndent(" "); + } + } + } + } + + writer.beginObject().setIndent(""); + writer.name("block").value("hbm:tile.cm_port"); + writer.name("x").value(0); + writer.name("y").value(-1); + writer.name("z").value(0); + writer.name("metas").beginArray(); + writer.value(0); + writer.endArray(); + writer.endObject().setIndent(" "); + + writer.beginObject().setIndent(""); + writer.name("block").value("hbm:tile.cm_port"); + writer.name("x").value(0); + writer.name("y").value(1); + writer.name("z").value(0); + writer.name("metas").beginArray(); + writer.value(0); + writer.endArray(); + writer.endObject().setIndent(" "); + + writer.endArray(); + writer.endObject(); + + writer.endArray(); + writer.endObject(); + writer.close(); + } catch(IOException e) { + e.printStackTrace(); + } + } + + public static void readConfig(File config) { + + try { + JsonObject json = gson.fromJson(new FileReader(config), JsonObject.class); + JsonArray machines = json.get("machines").getAsJsonArray(); + + for(int i = 0; i < machines.size(); i++) { + JsonObject machineObject = machines.get(i).getAsJsonObject(); + + MachineConfiguration configuration = new MachineConfiguration(); + configuration.recipeKey = machineObject.get("recipeKey").getAsString(); + configuration.unlocalizedName = machineObject.get("unlocalizedName").getAsString(); + configuration.localizedName = machineObject.get("localizedName").getAsString(); + configuration.fluidInCount = machineObject.get("fluidInCount").getAsInt(); + configuration.fluidInCap = machineObject.get("fluidInCap").getAsInt(); + configuration.itemInCount = machineObject.get("itemInCount").getAsInt(); + configuration.fluidOutCount = machineObject.get("fluidOutCount").getAsInt(); + configuration.fluidOutCap = machineObject.get("fluidOutCap").getAsInt(); + configuration.itemOutCount = machineObject.get("itemOutCount").getAsInt(); + configuration.generatorMode = machineObject.get("generatorMode").getAsBoolean(); + configuration.recipeSpeedMult = machineObject.get("recipeSpeedMult").getAsDouble(); + configuration.recipeConsumptionMult = machineObject.get("recipeConsumptionMult").getAsDouble(); + configuration.maxPower = machineObject.get("maxPower").getAsLong(); + + JsonArray components = machineObject.get("components").getAsJsonArray(); + configuration.components = new ArrayList(); + + for(int j = 0; j < components.size(); j++) { + JsonObject compObject = components.get(j).getAsJsonObject(); + ComponentDefinition compDef = new ComponentDefinition(); + compDef.block = (Block) Block.blockRegistry.getObject(compObject.get("block").getAsString()); + compDef.x = compObject.get("x").getAsInt(); + compDef.y = compObject.get("y").getAsInt(); + compDef.z = compObject.get("z").getAsInt(); + compDef.allowedMetas = new HashSet(); + JsonArray metas = compObject.get("metas").getAsJsonArray(); + for(int k = 0; k < metas.size(); k++) { + compDef.allowedMetas.add(metas.get(k).getAsInt()); + } + + configuration.components.add(compDef); + } + + customMachines.put(configuration.unlocalizedName, configuration); + } + + } catch(Exception ex) { + ex.printStackTrace(); + } + } + + public static class MachineConfiguration { + + /** The name of the recipe set that this machine can handle */ + public String recipeKey; + /** The internal name of this machine */ + public String unlocalizedName; + /** The display name of this machine */ + public String localizedName; + + public int fluidInCount; + public int fluidInCap; + public int itemInCount; + public int fluidOutCount; + public int fluidOutCap; + public int itemOutCount; + /** Whether inputs should be used up when the process begins */ + public boolean generatorMode; + + public double recipeSpeedMult = 1D; + public double recipeConsumptionMult = 1D; + public long maxPower; + + /** Definitions of blocks that this machine is composed of */ + public List components; + + public static class ComponentDefinition { + public Block block; + public Set allowedMetas; + public int x; + public int y; + public int z; + } + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java index 5133d5d8b..700da5e04 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.util.Compat; import com.hbm.util.fauxpointtwelve.BlockPos; import com.hbm.util.fauxpointtwelve.DirPos; +import api.hbm.energy.IEnergyUser; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; @@ -35,7 +36,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityCustomMachine extends TileEntityMachineBase implements IFluidStandardTransceiver, IGUIProvider { +public class TileEntityCustomMachine extends TileEntityMachineBase implements IFluidStandardTransceiver, IEnergyUser, IGUIProvider { public String machineType; public MachineConfiguration config; @@ -110,6 +111,13 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF for(FluidTank tank : this.inputTanks) { this.trySubscribe(tank.getTankType(), worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } + if(!config.generatorMode) this.trySubscribe(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + } + } + + if(config.generatorMode && power > 0) { + for(DirPos pos : this.connectionPos) { + this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } } @@ -118,7 +126,7 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF if(config.generatorMode) { if(this.cachedRecipe == null) { CustomMachineRecipe recipe = this.getMatchingRecipe(); - if(this.hasRequiredQuantities(recipe) && this.hasSpace(recipe)) { + if(recipe != null && this.hasRequiredQuantities(recipe) && this.hasSpace(recipe)) { this.cachedRecipe = recipe; this.useUpInput(recipe); } @@ -384,6 +392,11 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF this.matcher.readFromNBT(nbt); } + + int index = nbt.getInteger("cachedIndex"); + if(index != -1) { + this.cachedRecipe = CustomMachineRecipes.recipes.get(this.machineType).get(index); + } } @Override @@ -402,6 +415,13 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF for(int i = 0; i < outputTanks.length; i++) outputTanks[i].writeToNBT(nbt, "o" + i); this.matcher.writeToNBT(nbt); + + if(this.cachedRecipe != null) { + int index = CustomMachineRecipes.recipes.get(this.machineType).indexOf(this.cachedRecipe); + nbt.setInteger("cachedIndex", index); + } else { + nbt.setInteger("cachedIndex", -1); + } } @Override @@ -437,4 +457,42 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF if(this.config == null) return null; return new GUIMachineCustom(player.inventory, this); } + + @Override + public long getPower() { + return this.power; + } + + @Override + public long getMaxPower() { + return this.config != null ? this.getMaxPower() : 1; + } + + @Override + public void setPower(long power) { + this.power = power; + } + + @Override + public long transferPower(long power) { + if(this.config != null && this.config.generatorMode) return power; + + this.setPower(this.getPower() + power); + + if(this.getPower() > this.getMaxPower()) { + + long overshoot = this.getPower() - this.getMaxPower(); + this.setPower(this.getMaxPower()); + return overshoot; + } + + return 0; + } + + @Override + public long getTransferWeight() { + if(this.config != null && this.config.generatorMode) return 0; + + return Math.max(getMaxPower() - getPower(), 0); + } } From 0a0af7e3630183b89da34e5b54cd2fddeaf6b4f2 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Thu, 20 Jul 2023 20:41:21 -0500 Subject: [PATCH 270/285] changed concrete bricks and rebar reinforced concrete blast resistances to be more reasonable as per their recipes --- changelog | 1 + src/main/java/com/hbm/blocks/ModBlocks.java | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/changelog b/changelog index ec89d27e1..d6afda003 100644 --- a/changelog +++ b/changelog @@ -9,3 +9,4 @@ * Standard glyphids now have a base health of 100 * Glyphid scouts are now immune to fire and explosive damage, have a 50% damage reduction against projectiles and have passive regeneration * Increased hive block blast resistance, they can no longer be blown up wiith conventional explosives +* Rebar reinforced concrete and concrete bricks now have an appropriate blast resistance. \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 55b367285..c1b4181fb 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -1554,9 +1554,9 @@ public class ModBlocks { concrete_asbestos = new BlockGeneric(Material.rock).setBlockName("concrete_asbestos").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete_asbestos"); concrete_super = new BlockUberConcrete().setBlockName("concrete_super").setCreativeTab(MainRegistry.blockTab).setHardness(150.0F).setResistance(10000.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(4000.0F).setBlockTextureName(RefStrings.MODID + ":concrete_pillar_side"); - brick_concrete = new BlockGeneric(Material.rock).setBlockName("brick_concrete").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); - brick_concrete_mossy = new BlockGeneric(Material.rock).setBlockName("brick_concrete_mossy").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete_mossy"); + concrete_pillar = new BlockRotatablePillar(Material.rock, RefStrings.MODID + ":concrete_pillar_top").setBlockName("concrete_pillar").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(6000.0F).setBlockTextureName(RefStrings.MODID + ":concrete_pillar_side"); + brick_concrete = new BlockGeneric(Material.rock).setBlockName("brick_concrete").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(5000.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete"); + brick_concrete_mossy = new BlockGeneric(Material.rock).setBlockName("brick_concrete_mossy").setCreativeTab(MainRegistry.blockTab).setHardness(15.0F).setResistance(5000.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(2000.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(1500.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(1500.0F).setBlockTextureName(RefStrings.MODID + ":brick_concrete_marked"); From 4bc09afb1f93b2f6d2cd3647a02f4c4296a4ab49 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 22 Jul 2023 18:30:32 +0200 Subject: [PATCH 271/285] even more custom machine crap --- src/main/java/com/hbm/blocks/BlockEnums.java | 8 +++ src/main/java/com/hbm/blocks/ModBlocks.java | 15 ++-- .../blocks/machine/BlockCustomMachine.java | 10 +-- .../hbm/config/CustomMachineConfigJSON.java | 65 +++++++++++++++++- .../handler/pollution/PollutionHandler.java | 7 +- .../recipes/loader/SerializableRecipe.java | 24 +++---- src/main/java/com/hbm/items/ModItems.java | 58 ---------------- .../hbm/items/block/ItemCustomMachine.java | 8 +-- .../java/com/hbm/items/food/ItemFlask.java | 4 +- src/main/java/com/hbm/main/MainRegistry.java | 27 ++++++++ .../machine/TileEntityMachineRadar.java | 4 +- src/main/resources/assets/hbm/lang/en_US.lang | 19 +++++ .../textures/blocks/cm_circuit_aluminium.png | Bin 0 -> 525 bytes .../hbm/textures/blocks/cm_circuit_copper.png | Bin 0 -> 569 bytes .../hbm/textures/blocks/cm_circuit_gold.png | Bin 0 -> 532 bytes .../textures/blocks/cm_circuit_red_copper.png | Bin 0 -> 541 bytes .../blocks/cm_circuit_schrabidium.png | Bin 0 -> 581 bytes 17 files changed, 155 insertions(+), 94 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_circuit_aluminium.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_circuit_copper.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_circuit_gold.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_circuit_red_copper.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/cm_circuit_schrabidium.png diff --git a/src/main/java/com/hbm/blocks/BlockEnums.java b/src/main/java/com/hbm/blocks/BlockEnums.java index f1119ce64..6bb64b079 100644 --- a/src/main/java/com/hbm/blocks/BlockEnums.java +++ b/src/main/java/com/hbm/blocks/BlockEnums.java @@ -33,6 +33,14 @@ public class BlockEnums { DESH, BISMUTH } + + public static enum EnumCMCircuit { + ALUMINIUM, + COPPER, + RED_COPPER, + GOLD, + SCHRABIDIUM + } /** DECO / STRUCTURE ENUMS */ //i apologize in advance diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 55b367285..7783f7652 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -868,6 +868,7 @@ public class ModBlocks { 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 custom_machine; @@ -2020,12 +2021,13 @@ public class ModBlocks { 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.blockTab).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.blockTab).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.blockTab).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.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_tank"); - cm_port = new BlockCMPort(Material.iron, EnumCMMaterials.class, true, true).setBlockName("cm_port").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F).setBlockTextureName(RefStrings.MODID + ":cm_port"); - custom_machine = new BlockCustomMachine().setBlockName("custom_machine").setCreativeTab(MainRegistry.blockTab).setHardness(5.0F).setResistance(10.0F); + 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"); + custom_machine = new BlockCustomMachine().setBlockName("custom_machine").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F); reactor_element = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_element_top", RefStrings.MODID + ":reactor_element_base").setBlockName("reactor_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_element_side"); reactor_control = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_control_top").setBlockName("reactor_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_control_side"); @@ -3351,6 +3353,7 @@ public class ModBlocks { register(cm_sheet); register(cm_engine); register(cm_tank); + register(cm_circuit); register(cm_port); //Multiblock Generators diff --git a/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java b/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java index 469d11f25..e007403ef 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java +++ b/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java @@ -2,6 +2,7 @@ package com.hbm.blocks.machine; import java.util.ArrayList; +import com.hbm.config.CustomMachineConfigJSON; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; @@ -49,6 +50,7 @@ public class BlockCustomMachine extends BlockContainer { @Override @SideOnly(Side.CLIENT) public IIcon getIcon(int side, int metadata) { + if(metadata >= 100) return side == 3 ? this.iconFront : this.blockIcon; return metadata == 0 && side == 3 ? this.iconFront : (side == metadata ? this.iconFront : this.blockIcon); } @@ -116,15 +118,14 @@ public class BlockCustomMachine extends BlockContainer { Item item = getItemDropped(metadata, world.rand, fortune); if(item != null) { - ItemStack stack = new ItemStack(item); TileEntityCustomMachine tile = (TileEntityCustomMachine) world.getTileEntity(x, y, z); if(tile != null) { + ItemStack stack = new ItemStack(item, 1, CustomMachineConfigJSON.niceList.indexOf(tile.config) + 100); stack.stackTagCompound = new NBTTagCompound(); stack.stackTagCompound.setString("machineType", tile.machineType); + ret.add(stack); } - - ret.add(stack); } return ret; @@ -134,10 +135,9 @@ public class BlockCustomMachine extends BlockContainer { public ItemStack getPickBlock(MovingObjectPosition target, World world, int x, int y, int z) { //using the deprecated one to make NEI happy TileEntityCustomMachine tile = (TileEntityCustomMachine) world.getTileEntity(x, y, z); - - ItemStack stack = new ItemStack(this); if(tile != null && tile.machineType != null && !tile.machineType.isEmpty()) { + ItemStack stack = new ItemStack(this, 1, CustomMachineConfigJSON.niceList.indexOf(tile.config) + 100); stack.stackTagCompound = new NBTTagCompound(); stack.stackTagCompound.setString("machineType", tile.machineType); return stack; diff --git a/src/main/java/com/hbm/config/CustomMachineConfigJSON.java b/src/main/java/com/hbm/config/CustomMachineConfigJSON.java index 750fb8733..886a7741a 100644 --- a/src/main/java/com/hbm/config/CustomMachineConfigJSON.java +++ b/src/main/java/com/hbm/config/CustomMachineConfigJSON.java @@ -14,15 +14,26 @@ import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonObject; import com.google.gson.stream.JsonWriter; +import com.hbm.blocks.ModBlocks; import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration.ComponentDefinition; +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.recipes.loader.SerializableRecipe; +import com.hbm.items.ModItems; +import com.hbm.main.CraftingManager; import com.hbm.main.MainRegistry; import net.minecraft.block.Block; +import net.minecraft.item.ItemStack; +import net.minecraft.nbt.NBTTagCompound; public class CustomMachineConfigJSON { public static final Gson gson = new Gson(); public static HashMap customMachines = new HashMap(); + public static List niceList = new ArrayList(); public static void initialize() { File folder = MainRegistry.configHbmDir; @@ -59,12 +70,27 @@ public class CustomMachineConfigJSON { writer.name("recipeConsumptionMult").value(1.0D); writer.name("maxPower").value(10_000L); + writer.name("recipeShape").beginArray(); + writer.value("IPI").value("PCP").value("IPI"); + writer.endArray(); + + writer.name("recipeParts").beginArray().setIndent(""); + writer.value("I"); + SerializableRecipe.writeAStack(new OreDictStack(OreDictManager.STEEL.ingot()), writer); + writer.setIndent(""); + writer.value("P"); + SerializableRecipe.writeAStack(new OreDictStack(OreDictManager.STEEL.plate()), writer); + writer.setIndent(""); + writer.value("C"); + SerializableRecipe.writeAStack(new ComparableStack(ModItems.circuit_aluminium), writer); + writer.endArray().setIndent(" "); + writer.name("components").beginArray(); for(int x = -1; x <= 1; x++) { for(int y = -1; y <= 1; y++) { for(int z = 0; z <= 2; z++) { - if(!(x == 0 && y == 0 && z == 1) && !(x == 0 && z == 0)) { + if(!(x == 0 && y == 0 && z == 1) && !(x == 0 && z == 1) && !(x == 0 && y == 0 && z == 0)) { writer.beginObject().setIndent(""); writer.name("block").value(y == 0 ? "hbm:tile.cm_sheet" : "hbm:tile.cm_block"); writer.name("x").value(x); @@ -83,7 +109,7 @@ public class CustomMachineConfigJSON { writer.name("block").value("hbm:tile.cm_port"); writer.name("x").value(0); writer.name("y").value(-1); - writer.name("z").value(0); + writer.name("z").value(1); writer.name("metas").beginArray(); writer.value(0); writer.endArray(); @@ -93,7 +119,7 @@ public class CustomMachineConfigJSON { writer.name("block").value("hbm:tile.cm_port"); writer.name("x").value(0); writer.name("y").value(1); - writer.name("z").value(0); + writer.name("z").value(1); writer.name("metas").beginArray(); writer.value(0); writer.endArray(); @@ -134,6 +160,38 @@ public class CustomMachineConfigJSON { configuration.recipeConsumptionMult = machineObject.get("recipeConsumptionMult").getAsDouble(); configuration.maxPower = machineObject.get("maxPower").getAsLong(); + if(machineObject.has("recipeShape") && machineObject.has("recipeParts")) { + JsonArray recipeShape = machineObject.get("recipeShape").getAsJsonArray(); + JsonArray recipeParts = machineObject.get("recipeParts").getAsJsonArray(); + + Object[] parts = new Object[recipeShape.size() + recipeParts.size()]; + + for(int j = 0; j < recipeShape.size(); j++) { + parts[j] = recipeShape.get(j).getAsString(); + } + + for(int j = 0; j < recipeParts.size(); j++) { + Object o = null; + + if(j % 2 == 0) { + o = recipeParts.get(j).getAsString().charAt(0); //god is dead and we killed him + } else { + AStack a = SerializableRecipe.readAStack(recipeParts.get(j).getAsJsonArray()); + + if(a instanceof ComparableStack) o = ((ComparableStack) a).toStack(); + if(a instanceof OreDictStack) o = ((OreDictStack) a).name; + } + + parts[j + recipeShape.size()] = o; + } + + ItemStack stack = new ItemStack(ModBlocks.custom_machine, 1, i + 100); + stack.stackTagCompound = new NBTTagCompound(); + stack.stackTagCompound.setString("machineType", configuration.unlocalizedName); + + CraftingManager.addRecipeAuto(stack, parts); + } + JsonArray components = machineObject.get("components").getAsJsonArray(); configuration.components = new ArrayList(); @@ -154,6 +212,7 @@ public class CustomMachineConfigJSON { } customMachines.put(configuration.unlocalizedName, configuration); + niceList.add(configuration); } } catch(Exception ex) { diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index ef3752953..6f783a4f5 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -6,6 +6,7 @@ import java.io.FileOutputStream; import java.util.HashMap; import java.util.Locale; import java.util.Map.Entry; +import java.util.UUID; import com.hbm.config.RadiationConfig; @@ -304,6 +305,8 @@ public class PollutionHandler { /// MOB EFFECTS /// /////////////////// + public static final UUID maxHealth = UUID.fromString("25462f6c-2cb2-4ca8-9b47-3a011cc61207"); + public static final UUID attackDamage = UUID.fromString("8f442d7c-d03f-49f6-a040-249ae742eed9"); @SubscribeEvent public void decorateMob(LivingSpawnEvent event) { @@ -320,8 +323,8 @@ public class PollutionHandler { if(living instanceof IMob) { if(data.pollution[PollutionType.SOOT.ordinal()] > RadiationConfig.buffMobThreshold) { - if(living.getEntityAttribute(SharedMonsterAttributes.maxHealth) != null) living.getEntityAttribute(SharedMonsterAttributes.maxHealth).applyModifier(new AttributeModifier("Soot Anger Health Increase", 1D, 1)); - if(living.getEntityAttribute(SharedMonsterAttributes.attackDamage) != null) living.getEntityAttribute(SharedMonsterAttributes.attackDamage).applyModifier(new AttributeModifier("Soot Anger Damage Increase", 1.5D, 1)); + if(living.getEntityAttribute(SharedMonsterAttributes.maxHealth) != null) living.getEntityAttribute(SharedMonsterAttributes.maxHealth).applyModifier(new AttributeModifier(maxHealth, "Soot Anger Health Increase", 1D, 1)); + if(living.getEntityAttribute(SharedMonsterAttributes.attackDamage) != null) living.getEntityAttribute(SharedMonsterAttributes.attackDamage).applyModifier(new AttributeModifier(attackDamage, "Soot Anger Damage Increase", 1.5D, 1)); living.heal(living.getMaxHealth()); } } 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 5e2f11a98..c719bd86c 100644 --- a/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java +++ b/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java @@ -188,7 +188,7 @@ public abstract class SerializableRecipe { * JSON IO UTIL */ - protected static AStack readAStack(JsonArray array) { + public static AStack readAStack(JsonArray array) { try { String type = array.get(0).getAsString(); int stacksize = array.size() > 2 ? array.get(2).getAsInt() : 1; @@ -206,7 +206,7 @@ public abstract class SerializableRecipe { return new ComparableStack(ModItems.nothing); } - protected static AStack[] readAStackArray(JsonArray array) { + public static AStack[] readAStackArray(JsonArray array) { try { AStack[] items = new AStack[array.size()]; for(int i = 0; i < items.length; i++) { items[i] = readAStack((JsonArray) array.get(i)); } @@ -216,7 +216,7 @@ public abstract class SerializableRecipe { return new AStack[0]; } - protected static void writeAStack(AStack astack, JsonWriter writer) throws IOException { + public static void writeAStack(AStack astack, JsonWriter writer) throws IOException { writer.beginArray(); writer.setIndent(""); if(astack instanceof ComparableStack) { @@ -236,7 +236,7 @@ public abstract class SerializableRecipe { writer.setIndent(" "); } - protected static ItemStack readItemStack(JsonArray array) { + public static ItemStack readItemStack(JsonArray array) { try { Item item = (Item) Item.itemRegistry.getObject(array.get(0).getAsString()); int stacksize = array.size() > 1 ? array.get(1).getAsInt() : 1; @@ -247,7 +247,7 @@ public abstract class SerializableRecipe { return new ItemStack(ModItems.nothing); } - protected static Pair readItemStackChance(JsonArray array) { + public static Pair readItemStackChance(JsonArray array) { try { Item item = (Item) Item.itemRegistry.getObject(array.get(0).getAsString()); int stacksize = array.size() > 2 ? array.get(1).getAsInt() : 1; @@ -259,7 +259,7 @@ public abstract class SerializableRecipe { return new Pair(new ItemStack(ModItems.nothing), 1F); } - protected static ItemStack[] readItemStackArray(JsonArray array) { + public static ItemStack[] readItemStackArray(JsonArray array) { try { ItemStack[] items = new ItemStack[array.size()]; for(int i = 0; i < items.length; i++) { items[i] = readItemStack((JsonArray) array.get(i)); } @@ -269,7 +269,7 @@ public abstract class SerializableRecipe { return new ItemStack[0]; } - protected static Pair[] readItemStackArrayChance(JsonArray array) { + public static Pair[] readItemStackArrayChance(JsonArray array) { try { Pair[] items = new Pair[array.size()]; for(int i = 0; i < items.length; i++) { items[i] = readItemStackChance((JsonArray) array.get(i)); } @@ -279,7 +279,7 @@ public abstract class SerializableRecipe { return new Pair[0]; } - protected static void writeItemStack(ItemStack stack, JsonWriter writer) throws IOException { + public static void writeItemStack(ItemStack stack, JsonWriter writer) throws IOException { writer.beginArray(); writer.setIndent(""); writer.value(Item.itemRegistry.getNameForObject(stack.getItem())); //item name @@ -289,7 +289,7 @@ public abstract class SerializableRecipe { writer.setIndent(" "); } - protected static void writeItemStackChance(Pair stack, JsonWriter writer) throws IOException { + public static void writeItemStackChance(Pair stack, JsonWriter writer) throws IOException { writer.beginArray(); writer.setIndent(""); writer.value(Item.itemRegistry.getNameForObject(stack.getKey().getItem())); //item name @@ -300,7 +300,7 @@ public abstract class SerializableRecipe { writer.setIndent(" "); } - protected static FluidStack readFluidStack(JsonArray array) { + public static FluidStack readFluidStack(JsonArray array) { try { FluidType type = Fluids.fromName(array.get(0).getAsString()); int fill = array.get(1).getAsInt(); @@ -311,7 +311,7 @@ public abstract class SerializableRecipe { return new FluidStack(Fluids.NONE, 0); } - protected static FluidStack[] readFluidArray(JsonArray array) { + public static FluidStack[] readFluidArray(JsonArray array) { try { FluidStack[] fluids = new FluidStack[array.size()]; for(int i = 0; i < fluids.length; i++) { fluids[i] = readFluidStack((JsonArray) array.get(i)); } @@ -321,7 +321,7 @@ public abstract class SerializableRecipe { return new FluidStack[0]; } - protected static void writeFluidStack(FluidStack stack, JsonWriter writer) throws IOException { + public static void writeFluidStack(FluidStack stack, JsonWriter writer) throws IOException { writer.beginArray(); writer.setIndent(""); writer.value(stack.type.getName()); //fluid type diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 91c4863de..eeb17ddfd 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -17,7 +17,6 @@ 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.food.ItemConserve.EnumFoodType; import com.hbm.items.machine.*; import com.hbm.items.machine.ItemFELCrystal.EnumWavelengths; import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; @@ -3452,34 +3451,6 @@ public class ModItems { 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_beef = new ItemLemon(8, 5, false).setUnlocalizedName("canned_beef").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_beef"); - //canned_tuna = new ItemLemon(4, 5, false).setUnlocalizedName("canned_tuna").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_tuna"); - //canned_mystery = new ItemLemon(6, 5, false).setUnlocalizedName("canned_mystery").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_mystery"); - //canned_pashtet = new ItemLemon(4, 5, false).setUnlocalizedName("canned_pashtet").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_pashtet"); - //canned_cheese = new ItemLemon(3, 5, false).setUnlocalizedName("canned_cheese").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_cheese"); - //canned_jizz = new ItemLemon(15, 5, false).setUnlocalizedName("canned_jizz").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_jizz"); - //canned_milk = new ItemLemon(5, 5, false).setUnlocalizedName("canned_milk").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_milk"); - //canned_ass = new ItemLemon(6, 5, false).setUnlocalizedName("canned_ass").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_ass"); - //canned_pizza = new ItemLemon(8, 5, false).setUnlocalizedName("canned_pizza").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_pizza"); - //canned_tube = new ItemLemon(2, 5, false).setUnlocalizedName("canned_tube").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_tube"); - //canned_tomato = new ItemLemon(4, 5, false).setUnlocalizedName("canned_tomato").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_tomato"); - //canned_asbestos = new ItemLemon(7, 5, false).setUnlocalizedName("canned_asbestos").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_asbestos"); - //canned_bhole = new ItemLemon(10, 5, false).setUnlocalizedName("canned_bhole").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_bhole"); - //canned_hotdogs = new ItemLemon(5, 5, false).setUnlocalizedName("canned_hotdogs").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_hotdogs"); - //canned_leftovers = new ItemLemon(1, 5, false).setUnlocalizedName("canned_leftovers").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_leftovers"); - //canned_yogurt = new ItemLemon(3, 5, false).setUnlocalizedName("canned_yogurt").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_yogurt"); - //canned_stew = new ItemLemon(5, 5, false).setUnlocalizedName("canned_stew").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_stew"); - //canned_chinese = new ItemLemon(6, 5, false).setUnlocalizedName("canned_chinese").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_chinese"); - //canned_oil = new ItemLemon(3, 5, false).setUnlocalizedName("canned_oil").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_oil"); - //canned_fist = new ItemLemon(6, 5, false).setUnlocalizedName("canned_fist").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_fist"); - //canned_spam = new ItemLemon(8, 5, false).setUnlocalizedName("canned_spam").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_spam"); - //canned_fried = new ItemLemon(10, 5, false).setUnlocalizedName("canned_fried").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_fried"); - //canned_napalm = new ItemLemon(6, 5, false).setUnlocalizedName("canned_napalm").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_napalm"); - //canned_diesel = new ItemLemon(6, 5, false).setUnlocalizedName("canned_diesel").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_diesel"); - //canned_kerosene = new ItemLemon(6, 5, false).setUnlocalizedName("canned_kerosene").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_kerosene"); - //canned_recursion = new ItemLemon(1, 5, false).setUnlocalizedName("canned_recursion").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_recursion"); - //canned_bark = new ItemLemon(2, 5, false).setUnlocalizedName("canned_bark").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":canned_bark"); 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"); @@ -8117,35 +8088,6 @@ public class ModItems { GameRegistry.registerItem(mysteryshovel, mysteryshovel.getUnlocalizedName()); GameRegistry.registerItem(memory, memory.getUnlocalizedName()); - //CONSERVE REMAP - addRemap("canned_beef", canned_conserve, EnumFoodType.BEEF); - addRemap("canned_tuna", canned_conserve, EnumFoodType.TUNA); - addRemap("canned_mystery", canned_conserve, EnumFoodType.MYSTERY); - addRemap("canned_pashtet", canned_conserve, EnumFoodType.PASHTET); - addRemap("canned_cheese", canned_conserve, EnumFoodType.CHEESE); - addRemap("canned_jizz", canned_conserve, EnumFoodType.JIZZ); - addRemap("canned_milk", canned_conserve, EnumFoodType.MILK); - addRemap("canned_ass", canned_conserve, EnumFoodType.ASS); - addRemap("canned_pizza", canned_conserve, EnumFoodType.PIZZA); - addRemap("canned_tube", canned_conserve, EnumFoodType.TUBE); - addRemap("canned_tomato", canned_conserve, EnumFoodType.TOMATO); - addRemap("canned_asbestos", canned_conserve, EnumFoodType.ASBESTOS); - addRemap("canned_bhole", canned_conserve, EnumFoodType.BHOLE); - addRemap("canned_hotdogs", canned_conserve, EnumFoodType.HOTDOGS); - addRemap("canned_leftovers", canned_conserve, EnumFoodType.LEFTOVERS); - addRemap("canned_yogurt", canned_conserve, EnumFoodType.YOGURT); - addRemap("canned_stew", canned_conserve, EnumFoodType.STEW); - addRemap("canned_chinese", canned_conserve, EnumFoodType.CHINESE); - addRemap("canned_oil", canned_conserve, EnumFoodType.OIL); - addRemap("canned_fist", canned_conserve, EnumFoodType.FIST); - addRemap("canned_spam", canned_conserve, EnumFoodType.SPAM); - addRemap("canned_fried", canned_conserve, EnumFoodType.FRIED); - addRemap("canned_napalm", canned_conserve, EnumFoodType.NAPALM); - addRemap("canned_diesel", canned_conserve, EnumFoodType.DIESEL); - addRemap("canned_kerosene", canned_conserve, EnumFoodType.KEROSENE); - addRemap("canned_recursion", canned_conserve, EnumFoodType.RECURSION); - addRemap("canned_bark", canned_conserve, EnumFoodType.BARK); - addRemap("rod_zirnox_natural_uranium_fuel", rod_zirnox, EnumZirnoxType.NATURAL_URANIUM_FUEL); addRemap("rod_zirnox_uranium_fuel", rod_zirnox, EnumZirnoxType.URANIUM_FUEL); addRemap("rod_zirnox_th232", rod_zirnox, EnumZirnoxType.TH232); diff --git a/src/main/java/com/hbm/items/block/ItemCustomMachine.java b/src/main/java/com/hbm/items/block/ItemCustomMachine.java index fe62ea56a..434b61c06 100644 --- a/src/main/java/com/hbm/items/block/ItemCustomMachine.java +++ b/src/main/java/com/hbm/items/block/ItemCustomMachine.java @@ -1,7 +1,6 @@ package com.hbm.items.block; import java.util.List; -import java.util.Map.Entry; import com.hbm.config.CustomMachineConfigJSON; import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration; @@ -24,10 +23,11 @@ public class ItemCustomMachine extends ItemBlock { @SideOnly(Side.CLIENT) public void getSubItems(Item item, CreativeTabs tab, List list) { - for(Entry entry : CustomMachineConfigJSON.customMachines.entrySet()) { - ItemStack stack = new ItemStack(item); + for(int i = 0; i < CustomMachineConfigJSON.niceList.size(); i++) { + MachineConfiguration conf = CustomMachineConfigJSON.niceList.get(i); + ItemStack stack = new ItemStack(item, 1, i + 100); stack.stackTagCompound = new NBTTagCompound(); - stack.stackTagCompound.setString("machineType", entry.getKey()); + stack.stackTagCompound.setString("machineType", conf.unlocalizedName); list.add(stack); } } diff --git a/src/main/java/com/hbm/items/food/ItemFlask.java b/src/main/java/com/hbm/items/food/ItemFlask.java index 256fa9eff..9ecdb4fc2 100644 --- a/src/main/java/com/hbm/items/food/ItemFlask.java +++ b/src/main/java/com/hbm/items/food/ItemFlask.java @@ -49,8 +49,8 @@ public class ItemFlask extends ItemEnumMulti { if(stack.getItemDamage() == EnumInfusion.SHIELD.ordinal()) { float infusion = 5F; HbmPlayerProps props = HbmPlayerProps.getData(player); - props.maxShield = Math.min(props.shieldCap, props.shield + infusion); - props.shield += infusion; + props.maxShield = Math.min(props.shieldCap, props.maxShield + infusion); + props.shield = Math.min(props.shield + infusion, props.maxShield); } return stack; diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 6e486d7e0..1a039b530 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -1132,6 +1132,33 @@ public class MainRegistry { ignoreMappings.add("hbm:tile.gas_duct"); ignoreMappings.add("hbm:tile.dummy_block_assembler"); ignoreMappings.add("hbm:tile.dummy_port_assembler"); + ignoreMappings.add("hbm:item.canned_beef"); + ignoreMappings.add("hbm:item.canned_tuna"); + ignoreMappings.add("hbm:item.canned_mystery"); + ignoreMappings.add("hbm:item.canned_pashtet"); + ignoreMappings.add("hbm:item.canned_cheese"); + ignoreMappings.add("hbm:item.canned_jizz"); + ignoreMappings.add("hbm:item.canned_milk"); + ignoreMappings.add("hbm:item.canned_ass"); + ignoreMappings.add("hbm:item.canned_pizza"); + ignoreMappings.add("hbm:item.canned_tube"); + ignoreMappings.add("hbm:item.canned_tomato"); + ignoreMappings.add("hbm:item.canned_asbestos"); + ignoreMappings.add("hbm:item.canned_bhole"); + ignoreMappings.add("hbm:item.canned_hotdogs"); + ignoreMappings.add("hbm:item.canned_leftovers"); + ignoreMappings.add("hbm:item.canned_yogurt"); + ignoreMappings.add("hbm:item.canned_stew"); + ignoreMappings.add("hbm:item.canned_chinese"); + ignoreMappings.add("hbm:item.canned_oil"); + ignoreMappings.add("hbm:item.canned_fist"); + ignoreMappings.add("hbm:item.canned_spam"); + ignoreMappings.add("hbm:item.canned_fried"); + ignoreMappings.add("hbm:item.canned_napalm"); + ignoreMappings.add("hbm:item.canned_diesel"); + ignoreMappings.add("hbm:item.canned_kerosene"); + ignoreMappings.add("hbm:item.canned_recursion"); + ignoreMappings.add("hbm:item.canned_bark"); /// REMAP /// remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java index fb3d4b4e0..d68ae05e9 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineRadar.java @@ -184,8 +184,8 @@ public class TileEntityMachineRadar extends TileEntityTickingBase implements IEn for(int i = 0; i < nearbyMissiles.size(); i++) { - if(nearbyMissiles.get(i)[3] + 1 > power) { - power = nearbyMissiles.get(i)[3] + 1; + if(nearbyMissiles.get(i)[2] + 1 > power) { + power = nearbyMissiles.get(i)[2] + 1; } } diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 3c4bec004..5b786acdb 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4522,6 +4522,25 @@ tile.cluster_depth_titanium.name=Depth Titanium Ore Cluster tile.cluster_depth_tungsten.name=Depth Tungsten Ore Cluster tile.cluster_iron.name=Iron Ore Cluster tile.cluster_titanium.name=Titanium Ore Cluster +tile.cm_block.alloy.name=Advanced Alloy Machine Casing +tile.cm_block.desh.name=Desh Machine Casing +tile.cm_block.steel.name=Steel Machine Casing +tile.cm_block.tcalloy.name=Technetium Steel Machine Casing +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_port.alloy.name=Advanced Alloy Port +tile.cm_port.desh.name=Desh Port +tile.cm_port.steel.name=Steel Port +tile.cm_port.tcalloy.name=Technetium Steel Port +tile.cm_sheet.alloy.name=Advanced Alloy Sheet +tile.cm_sheet.desh.name=Desh Sheet +tile.cm_sheet.steel.name=Steel Sheet +tile.cm_sheet.tcalloy.name=Technetium Steel Sheet +tile.cm_tank.alloy.name=Advanced Alloy Tank +tile.cm_tank.desh.name=Desh Tank +tile.cm_tank.steel.name=Steel Tank +tile.cm_tank.tcalloy.name=Technetium Steel Tank tile.cmb_brick.name=CMB Steel Tile tile.cmb_brick_reinforced.name=Reinforced CMB Bricks tile.compact_launcher.name=Compact Launch Pad diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_circuit_aluminium.png b/src/main/resources/assets/hbm/textures/blocks/cm_circuit_aluminium.png new file mode 100644 index 0000000000000000000000000000000000000000..8e44446d37da998b9b1f9b7898df27d0f32081d4 GIT binary patch literal 525 zcmV+o0`mQdP)|-|vHWn!w4u=iYmABGNQ<#u%)%gkgwMivPj=e&=vFpq|es zo6Uyn^@@}dDJ9N1q?8CDkWx~s)v(r56a@fr9MkD^=ytm(V+^<3jmcyJzW+lH^EXcA9 zfc<`ta}K4H!dhDvrD^&h1e8twz1Eu1XoN8aWv#_I$9lak3%`kcgE0nGtJM%fkR%CF z6#Z(bid8o$ih?}PQU23-_}l*lKVY}pVXb}V;BQpT`nHYMnqIH>Hqly(5TY!qy6&g> zXLY;fa)}TEmFIbBV)f26O+Ol{UTCcu3Qf0h^WahI)Di*~zRDr>EY z;~1@V$t6irM%nX?MuQ*-5cB!m9gjzb!y)Zh(I8%Z2TBix`i`?sPhFKA*AH;)CU!dz+*bQc8-VDF4PF2nd1zDJ6dZ6(9S@nnF{6 P00000NkvXXu0mjf4BYEO literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/cm_circuit_copper.png b/src/main/resources/assets/hbm/textures/blocks/cm_circuit_copper.png new file mode 100644 index 0000000000000000000000000000000000000000..7217056b0ffc5aa42fd83d1b671674a29fbef56a GIT binary patch literal 569 zcmV-90>=G`P)^yYJng?N)bYU@N**pE`BwRJG`KyUrMcwHDv^(OUCA zvD@t!jYjC>@kqblXS3NLr9?`Ja}FsbLI|XkWHK47wM0<_K($(>R;v*N0ooYDcDv>4 z;0pkg;DP3BdeiOST*Mz9Umxl9dT8fd`oXVwuzkj_G~P+}D_;8EFOTH&d8CwRr4-jB z0K>NzxN8H@I?ONm+&yfcp#;AG=NwvVjkPufwF>9%hj~m?Xv9V5e5=r4zdZ5-Fvg&* zwK(UP1P?Lrnj}&4Nf=|0nM?*D1kKs>rtn%(nm;!Hh@yxv43Wud(m2olSq$G^n3R6A z+wHK{#&_@zl$iB_8i=>h=4_(179qq1l(=4Kr1PgfBYlnDOX6F#v+hc$SVZ4vE3qt zAP5P9jdj?UP<)GNA}f+HrKsP`cefa4Mt2S5RKwhR&pr3d88se{#W{!fo?5MjwU+Nn!dL6Ab))>PT2_TOPXubnL zeJuxN8bSOFz|UXr5fQAl7Vmx0q#pX$M0CzWow6QB{P+aUIjr{{5ka2F$PXvZ-*rQ=C(rb)jxFGAO06Ns^Q%Qf^ic{i}g%FCs=Cv!ynVZf0WVYV)Np`B^zp z9(UVlGzi0xzh~w`YW^HYMT})y_Ef7?j4`O;a44(Qie9fr7=|1U2b^<=2(?;`N~J=Q zB%Dqslv3Q?-BGDj*lxGX=X2CxFp%|n&1SQ~druK8k<27((OQ$HY4JB2V=%^`wdMst W>+OEqo)^~u00001#o6otR}fn^bhjua~jM3;uANRdbsY4Qef<=Q1t+H^st zaX~}x2p4HwBX|%-2nh;H2n@43lL7`7WJ@{CYVX`R=iaktMX%TM)>@o%#Bq$)n*YIO zvtc|Qqj$R;G$ddq=yDwDY z2!PtpKWCyJUs-Q=hnJ7v@ZO`f);Q z%6VVHT7f9UU017B>h=10x8nt443$s|G5-Di)Ke;zP)Z@X-L9WZCbZja>h(IWudi5Z z@!k{1F;NterYZaV9w7w9Vv#6{SS%I{heJfC)A6&}jQMZ|Kfmyo-f#n7I z3M4#0O%QS)F)uGKXsyv&6JtbcjZzA&HH}7t5CUac0?_GnI5;?<+wG#g z_biu7_V)I0&hdM(V0U+yR;$I%&JKB=^XuV(EX&CAoIKB2E|(k~9Wk9wu`$LtMwoAIrk#$16*AZW5il(2_aNTi@{(W zH$(vUBLD1*2tUuy@!n%Y2*emUxx1?p6A3kvui(AMHX03-Qe5}@IOjecsFT%|lx0a# z6zKFc3B4~2tYd#RdA;o}QivA&?p?#<(`gTC~=bWm)}3V+_U^wATCu9`*x9 T5G-_o00000NkvXXu0mjfTbKk` literal 0 HcmV?d00001 From 33bd961e0c0647ef4787ac07245779df7152348c Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 24 Jul 2023 12:03:13 +0200 Subject: [PATCH 272/285] toora loora --- changelog | 29 ++++++++--- gradle.properties | 2 +- .../hbm/blocks/generic/BlockStorageCrate.java | 36 ++++++++++++- .../blocks/machine/BlockCustomMachine.java | 52 +++++++++++++++++++ .../hbm/config/CustomMachineConfigJSON.java | 6 +-- .../com/hbm/items/machine/ItemRBMKRod.java | 2 +- src/main/java/com/hbm/lib/RefStrings.java | 2 +- .../java/com/hbm/main/CraftingManager.java | 20 +++++++ .../hbm/tileentity/TileEntityProxyBase.java | 6 +-- .../machine/TileEntityCustomMachine.java | 3 +- src/main/resources/assets/hbm/lang/en_US.lang | 5 ++ 11 files changed, 143 insertions(+), 20 deletions(-) diff --git a/changelog b/changelog index ec89d27e1..e06e326bf 100644 --- a/changelog +++ b/changelog @@ -1,11 +1,24 @@ ## Added -* Rubber ball - * can be thrown at people -* New chlorine processing chain - * Involves 240 processing steps of washing, electrolyzing, centrifuging and treating chlorocalcite +* Custom machines + * Simple processing multiblocks that can be created via config + * The config found in `hbmConfig/hbmCustomMachines.json` defines the input and output slots, fluid amount, speed and consumption multipliers as well as the multiblock + * The config in `hbmRecipes/hbmCustomMachines.json` defines the recipes for all multiblocks with inputs, outputs base speed and consumption rates + * Currently, custom machine recipes do not show up in NEI, a handler will be added soon + * All recipes are shaped, even the fluid types, this was done to improve performance + * Item inputs have filter slots for automation, this allows the right ingredients to be inserted into the right slot easily. For simple machines, this slot can be left empty so any item can be inserted. + * By default, the standard config creates one custom machine with one recipe called the paper press, turning sawdust and water into paper + * More examples can be found in the configs attached to this github release + * Custom machines can also be configured as generators, using up item and fluid inputs and turning them into energy + * While changing the configs and adding/removing machines in an existing world is possible, this is not recommended because of potential ID shifts of the machines, breaking existing custom machines in the world + * With custom machines, quite a few otherwise unused construction blocks have been added which are recommended to be used for custom machines as they come in tiers, have reasonable cost and mesh well visually with the multiblocks + * However, using them is not mandatory, the only functional block is the port which is most likely needed for automation, although the machine's controller itself also serves as a port ## Changed -* Glyphids now have a higher tracking range, being 256 blocks -* Standard glyphids now have a base health of 100 -* Glyphid scouts are now immune to fire and explosive damage, have a 50% damage reduction against projectiles and have passive regeneration -* Increased hive block blast resistance, they can no longer be blown up wiith conventional explosives +* Additional OC compat for fluid gauges +* Crates now display their contents when in item form + +## Fixed +* Hopefully fixed an issue where pollution-based mob buffs apply multiple times, resulting in near-unkillable mobs +* Fixed exploit allowing the cap for shield infusions to be bypassed +* Fixed tier detection mode in the radar detecting the Y-position instead of the actual tier +* Fixed missing parenthesis in sigmoid curve's description \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index aca4be12e..a5787a31d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4663 +mod_build_number=4670 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ diff --git a/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java b/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java index 8e8f5097f..718f26c54 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java +++ b/src/main/java/com/hbm/blocks/generic/BlockStorageCrate.java @@ -1,9 +1,12 @@ package com.hbm.blocks.generic; import java.io.IOException; +import java.util.ArrayList; +import java.util.List; import java.util.Random; import com.hbm.blocks.IBlockMulti; +import com.hbm.blocks.ITooltipProvider; import com.hbm.blocks.ModBlocks; import com.hbm.items.ModItems; import com.hbm.items.tool.ItemLock; @@ -36,7 +39,7 @@ import net.minecraft.util.IIcon; import net.minecraft.util.MathHelper; import net.minecraft.world.World; -public class BlockStorageCrate extends BlockContainer implements IBlockMulti { +public class BlockStorageCrate extends BlockContainer implements IBlockMulti, ITooltipProvider { @SideOnly(Side.CLIENT) private IIcon iconTop; @@ -282,4 +285,35 @@ public class BlockStorageCrate extends BlockContainer implements IBlockMulti { public int getComparatorInputOverride(World world, int x, int y, int z, int side) { return Container.calcRedstoneFromInventory((IInventory) world.getTileEntity(x, y, z)); } + + @Override + public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean ext) { + if(stack.hasTagCompound()) { + + 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 + 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."); + } + } + } + } } diff --git a/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java b/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java index e007403ef..0dac71ca5 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java +++ b/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java @@ -1,6 +1,7 @@ package com.hbm.blocks.machine; import java.util.ArrayList; +import java.util.Random; import com.hbm.config.CustomMachineConfigJSON; import com.hbm.items.ModItems; @@ -11,11 +12,14 @@ import com.hbm.tileentity.machine.TileEntityCustomMachine; 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.inventory.ISidedInventory; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -145,4 +149,52 @@ public class BlockCustomMachine extends BlockContainer { return super.getPickBlock(target, world, x, y, z); } + + @Override + public void breakBlock(World world, int x, int y, int z, Block block, int meta) { + + ISidedInventory sided = (ISidedInventory) world.getTileEntity(x, y, z); + Random rand = world.rand; + + if(sided != null) { + for(int i1 = 0; i1 < sided.getSizeInventory(); ++i1) { + + if(i1 >= 10 && i1 <= 15) + continue; // do NOT drop the filters + + 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; + entityitem.motionZ = (float) rand.nextGaussian() * f3; + world.spawnEntityInWorld(entityitem); + } + } + } + + world.func_147453_f(x, y, z, block); + } + + super.breakBlock(world, x, y, z, block, meta); + } } diff --git a/src/main/java/com/hbm/config/CustomMachineConfigJSON.java b/src/main/java/com/hbm/config/CustomMachineConfigJSON.java index 886a7741a..79a659261 100644 --- a/src/main/java/com/hbm/config/CustomMachineConfigJSON.java +++ b/src/main/java/com/hbm/config/CustomMachineConfigJSON.java @@ -90,7 +90,7 @@ public class CustomMachineConfigJSON { for(int x = -1; x <= 1; x++) { for(int y = -1; y <= 1; y++) { for(int z = 0; z <= 2; z++) { - if(!(x == 0 && y == 0 && z == 1) && !(x == 0 && z == 1) && !(x == 0 && y == 0 && z == 0)) { + if(!(x == 0 && y == 0 && z == 1) && !(x == 0 && z == 0)) { writer.beginObject().setIndent(""); writer.name("block").value(y == 0 ? "hbm:tile.cm_sheet" : "hbm:tile.cm_block"); writer.name("x").value(x); @@ -109,7 +109,7 @@ public class CustomMachineConfigJSON { writer.name("block").value("hbm:tile.cm_port"); writer.name("x").value(0); writer.name("y").value(-1); - writer.name("z").value(1); + writer.name("z").value(0); writer.name("metas").beginArray(); writer.value(0); writer.endArray(); @@ -119,7 +119,7 @@ public class CustomMachineConfigJSON { writer.name("block").value("hbm:tile.cm_port"); writer.name("x").value(0); writer.name("y").value(1); - writer.name("z").value(1); + writer.name("z").value(0); writer.name("metas").beginArray(); writer.value(0); writer.endArray(); diff --git a/src/main/java/com/hbm/items/machine/ItemRBMKRod.java b/src/main/java/com/hbm/items/machine/ItemRBMKRod.java index 01c83055c..68158958f 100644 --- a/src/main/java/com/hbm/items/machine/ItemRBMKRod.java +++ b/src/main/java/com/hbm/items/machine/ItemRBMKRod.java @@ -275,7 +275,7 @@ public class ItemRBMKRod extends Item { break; case ARCH: function = "(%1$s - %1$s² / 10000) / 100 * %2$s [0;∞]"; break; - case SIGMOID: function = "%2$s / (1 + e^(-(%1$s - 50) / 10)"; + case SIGMOID: function = "%2$s / (1 + e^(-(%1$s - 50) / 10))"; break; case SQUARE_ROOT: function = "sqrt(%1$s) * %2$s / 10"; break; diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 55bb20699..5e3527635 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 (4663)"; + public static final String VERSION = "1.0.27 BETA (4670)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 1893862f8..1a4b56848 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -1096,6 +1096,26 @@ public class CraftingManager { addShapelessAuto(new ItemStack(ModItems.sliding_blast_door_skin, 1, 1), new ItemStack(ModItems.sliding_blast_door_skin, 1, 0)); addShapelessAuto(new ItemStack(ModItems.sliding_blast_door_skin, 1, 2), new ItemStack(ModItems.sliding_blast_door_skin, 1, 1)); addShapelessAuto(new ItemStack(ModItems.sliding_blast_door_skin), new ItemStack(ModItems.sliding_blast_door_skin, 1, 2)); + + addRecipeAuto(new ItemStack(ModBlocks.cm_block, 4, 0), " I ", "IPI", " I ", 'I', STEEL.ingot(), 'P', STEEL.plateCast()); + 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); + addRecipeAuto(new ItemStack(ModBlocks.cm_port, 1, i), "P", "B", "P", 'B', new ItemStack(ModBlocks.cm_block, 1, i), 'P', IRON.plate()); + } + + addRecipeAuto(new ItemStack(ModBlocks.cm_engine, 1, 0), " I ", "IMI", " I ", 'I', STEEL.ingot(), 'M', ModItems.motor); + addRecipeAuto(new ItemStack(ModBlocks.cm_engine, 1, 1), " I ", "IMI", " I ", 'I', STEEL.ingot(), 'M', ModItems.motor_desh); + addRecipeAuto(new ItemStack(ModBlocks.cm_engine, 1, 2), " I ", "IMI", " I ", 'I', STEEL.ingot(), 'M', ModItems.motor_bismuth); + addRecipeAuto(new ItemStack(ModBlocks.cm_circuit, 1, 0), " I ", "IMI", " I ", 'I', STEEL.ingot(), 'M', ModItems.circuit_aluminium); + addRecipeAuto(new ItemStack(ModBlocks.cm_circuit, 1, 1), " I ", "IMI", " I ", 'I', STEEL.ingot(), 'M', ModItems.circuit_copper); + addRecipeAuto(new ItemStack(ModBlocks.cm_circuit, 1, 2), " I ", "IMI", " I ", 'I', STEEL.ingot(), 'M', ModItems.circuit_red_copper); + addRecipeAuto(new ItemStack(ModBlocks.cm_circuit, 1, 3), " I ", "IMI", " I ", 'I', STEEL.ingot(), 'M', ModItems.circuit_gold); + addRecipeAuto(new ItemStack(ModBlocks.cm_circuit, 1, 4), " I ", "IMI", " I ", 'I', STEEL.ingot(), 'M', ModItems.circuit_schrabidium); } public static void crumple() { diff --git a/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java b/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java index bf19bb353..36a123851 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java +++ b/src/main/java/com/hbm/tileentity/TileEntityProxyBase.java @@ -20,7 +20,7 @@ public class TileEntityProxyBase extends TileEntityLoadedBase { if(cachedPosition != null) { TileEntity te = Compat.getTileStandard(worldObj, cachedPosition.getX(), cachedPosition.getY(), cachedPosition.getZ()); - if(te != null && te != this) return te; + if(te != null && !(te instanceof TileEntityProxyBase)) return te; cachedPosition = null; this.markDirty(); } @@ -34,7 +34,7 @@ public class TileEntityProxyBase extends TileEntityLoadedBase { if(pos != null) { TileEntity te = Compat.getTileStandard(worldObj, pos[0], pos[1], pos[2]); - if(te != null && te != this) return te; + if(te != null && !(te instanceof TileEntityProxyBase)) return te; } } @@ -42,7 +42,7 @@ public class TileEntityProxyBase extends TileEntityLoadedBase { IProxyController controller = (IProxyController) this.getBlockType(); TileEntity tile = controller.getCore(worldObj, xCoord, yCoord, zCoord); - if(tile != null && tile != this) return tile; + if(tile != null && !(tile instanceof TileEntityProxyBase)) return tile; } return null; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java index 700da5e04..6a7d3973d 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java @@ -6,7 +6,6 @@ import java.util.List; import com.hbm.config.CustomMachineConfigJSON; import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration; import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration.ComponentDefinition; -import com.hbm.inventory.FluidStack; import com.hbm.inventory.container.ContainerMachineCustom; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; @@ -465,7 +464,7 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF @Override public long getMaxPower() { - return this.config != null ? this.getMaxPower() : 1; + return this.config != null ? this.config.maxPower : 1; } @Override diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 5b786acdb..f0d31585c 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -4526,6 +4526,11 @@ tile.cm_block.alloy.name=Advanced Alloy Machine Casing tile.cm_block.desh.name=Desh Machine Casing tile.cm_block.steel.name=Steel Machine Casing tile.cm_block.tcalloy.name=Technetium Steel Machine Casing +tile.cm_circuit.aluminium.name=Tier 1 Circuit Block +tile.cm_circuit.copper.name=Tier 2 Circuit Block +tile.cm_circuit.gold.name=Tier 4 Circuit Block +tile.cm_circuit.red_copper.name=Tier 3 Circuit Block +tile.cm_circuit.schrabidium.name=Tier 5 Circuit Block tile.cm_engine.bismuth.name=Bismuth Motor Block tile.cm_engine.desh.name=Desh Motor Block tile.cm_engine.standard.name=Motor Block From a22a68744c5a8873d877665cf1c1d47b66505446 Mon Sep 17 00:00:00 2001 From: Toshayo Date: Mon, 24 Jul 2023 12:44:32 +0200 Subject: [PATCH 273/285] Satellite linker will no more give duplicate frequency. Some satellite code improvements, rearrangements --- .../inventory/container/ContainerSatDock.java | 82 +++++++++---------- .../com/hbm/inventory/gui/GUISatDock.java | 20 ++--- .../com/hbm/saveddata/SatelliteSavedData.java | 23 ++---- .../hbm/saveddata/satellites/Satellite.java | 45 +++++----- .../machine/TileEntityMachineSatDock.java | 65 +++++++-------- .../machine/TileEntityMachineSatLinker.java | 55 ++++++------- 6 files changed, 128 insertions(+), 162 deletions(-) diff --git a/src/main/java/com/hbm/inventory/container/ContainerSatDock.java b/src/main/java/com/hbm/inventory/container/ContainerSatDock.java index 9ee0b37d5..02f02db56 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerSatDock.java +++ b/src/main/java/com/hbm/inventory/container/ContainerSatDock.java @@ -1,7 +1,8 @@ package com.hbm.inventory.container; +import com.hbm.inventory.SlotTakeOnly; +import com.hbm.items.machine.ItemSatChip; import com.hbm.tileentity.machine.TileEntityMachineSatDock; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.inventory.Container; @@ -11,41 +12,42 @@ import net.minecraft.item.ItemStack; public class ContainerSatDock extends Container { - private TileEntityMachineSatDock diFurnace; + private final TileEntityMachineSatDock tileSatelliteDock; - public ContainerSatDock(InventoryPlayer invPlayer, TileEntityMachineSatDock tedf) { - - diFurnace = tedf; + public ContainerSatDock(InventoryPlayer invPlayer, TileEntityMachineSatDock tesd) { + tileSatelliteDock = tesd; //Storage - this.addSlotToContainer(new Slot(tedf, 0, 62, 17)); - this.addSlotToContainer(new Slot(tedf, 1, 80, 17)); - this.addSlotToContainer(new Slot(tedf, 2, 98, 17)); - this.addSlotToContainer(new Slot(tedf, 3, 116, 17)); - this.addSlotToContainer(new Slot(tedf, 4, 134, 17)); - this.addSlotToContainer(new Slot(tedf, 5, 62, 35)); - this.addSlotToContainer(new Slot(tedf, 6, 80, 35)); - this.addSlotToContainer(new Slot(tedf, 7, 98, 35)); - this.addSlotToContainer(new Slot(tedf, 8, 116, 35)); - this.addSlotToContainer(new Slot(tedf, 9, 134, 35)); - this.addSlotToContainer(new Slot(tedf, 10, 62, 53)); - this.addSlotToContainer(new Slot(tedf, 11, 80, 53)); - this.addSlotToContainer(new Slot(tedf, 12, 98, 53)); - this.addSlotToContainer(new Slot(tedf, 13, 116, 53)); - this.addSlotToContainer(new Slot(tedf, 14, 134, 53)); + this.addSlotToContainer(new SlotTakeOnly(tesd, 0, 62, 17)); + this.addSlotToContainer(new SlotTakeOnly(tesd, 1, 80, 17)); + this.addSlotToContainer(new SlotTakeOnly(tesd, 2, 98, 17)); + this.addSlotToContainer(new SlotTakeOnly(tesd, 3, 116, 17)); + this.addSlotToContainer(new SlotTakeOnly(tesd, 4, 134, 17)); + this.addSlotToContainer(new SlotTakeOnly(tesd, 5, 62, 35)); + this.addSlotToContainer(new SlotTakeOnly(tesd, 6, 80, 35)); + this.addSlotToContainer(new SlotTakeOnly(tesd, 7, 98, 35)); + this.addSlotToContainer(new SlotTakeOnly(tesd, 8, 116, 35)); + this.addSlotToContainer(new SlotTakeOnly(tesd, 9, 134, 35)); + this.addSlotToContainer(new SlotTakeOnly(tesd, 10, 62, 53)); + this.addSlotToContainer(new SlotTakeOnly(tesd, 11, 80, 53)); + this.addSlotToContainer(new SlotTakeOnly(tesd, 12, 98, 53)); + this.addSlotToContainer(new SlotTakeOnly(tesd, 13, 116, 53)); + this.addSlotToContainer(new SlotTakeOnly(tesd, 14, 134, 53)); //Chip - this.addSlotToContainer(new Slot(tedf, 15, 26, 35)); + this.addSlotToContainer(new Slot(tesd, 15, 26, 35) { + @Override + public boolean isItemValid(ItemStack stack) { + return stack.getItem() instanceof ItemSatChip; + } + }); - for(int i = 0; i < 3; i++) - { - for(int j = 0; j < 9; j++) - { + 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++) - { + for(int i = 0; i < 9; i++) { this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 142)); } } @@ -56,33 +58,25 @@ public class ContainerSatDock extends Container { } @Override - public ItemStack transferStackInSlot(EntityPlayer p_82846_1_, int par2) - { + public ItemStack transferStackInSlot(EntityPlayer player, int par2) { ItemStack var3 = null; Slot var4 = (Slot) this.inventorySlots.get(par2); - if (var4 != null && var4.getHasStack()) - { + if (var4 != null && var4.getHasStack()) { ItemStack var5 = var4.getStack(); var3 = var5.copy(); if (par2 <= 15) { - if (!this.mergeItemStack(var5, 16, this.inventorySlots.size(), true)) - { + if (!this.mergeItemStack(var5, 16, this.inventorySlots.size(), true)) { return null; } - } - else if (!this.mergeItemStack(var5, 0, 15, false)) - { - return null; + } else if (!this.mergeItemStack(var5, 0, 15, false)) { + return null; } - if (var5.stackSize == 0) - { - var4.putStack((ItemStack) null); - } - else - { + if (var5.stackSize == 0) { + var4.putStack(null); + } else { var4.onSlotChanged(); } } @@ -92,6 +86,6 @@ public class ContainerSatDock extends Container { @Override public boolean canInteractWith(EntityPlayer player) { - return diFurnace.isUseableByPlayer(player); + return tileSatelliteDock.isUseableByPlayer(player); } } diff --git a/src/main/java/com/hbm/inventory/gui/GUISatDock.java b/src/main/java/com/hbm/inventory/gui/GUISatDock.java index 3276564df..369530b2f 100644 --- a/src/main/java/com/hbm/inventory/gui/GUISatDock.java +++ b/src/main/java/com/hbm/inventory/gui/GUISatDock.java @@ -1,24 +1,22 @@ package com.hbm.inventory.gui; -import org.lwjgl.opengl.GL11; - import com.hbm.inventory.container.ContainerSatDock; import com.hbm.lib.RefStrings; import com.hbm.tileentity.machine.TileEntityMachineSatDock; - 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; public class GUISatDock extends GuiInfoContainer { - public static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_dock.png"); - private TileEntityMachineSatDock diFurnace; + public static final ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/gui_dock.png"); + private final TileEntityMachineSatDock tileSatelliteDock; - public GUISatDock(InventoryPlayer invPlayer, TileEntityMachineSatDock tedf) { - super(new ContainerSatDock(invPlayer, tedf)); - diFurnace = tedf; + public GUISatDock(InventoryPlayer invPlayer, TileEntityMachineSatDock tesd) { + super(new ContainerSatDock(invPlayer, tesd)); + tileSatelliteDock = tesd; this.xSize = 176; this.ySize = 168; @@ -36,10 +34,10 @@ public class GUISatDock extends GuiInfoContainer { @Override protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.diFurnace.hasCustomInventoryName() ? this.diFurnace.getInventoryName() : I18n.format(this.diFurnace.getInventoryName()); + String name = this.tileSatelliteDock.hasCustomInventoryName() ? this.tileSatelliteDock.getInventoryName() : I18n.format(this.tileSatelliteDock.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); + this.fontRendererObj.drawString(name, this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2, 6, 0x404040); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 0x404040); } @Override diff --git a/src/main/java/com/hbm/saveddata/SatelliteSavedData.java b/src/main/java/com/hbm/saveddata/SatelliteSavedData.java index 2e5fe33c1..f0ced3750 100644 --- a/src/main/java/com/hbm/saveddata/SatelliteSavedData.java +++ b/src/main/java/com/hbm/saveddata/SatelliteSavedData.java @@ -1,35 +1,27 @@ package com.hbm.saveddata; -import java.util.HashMap; -import java.util.Map.Entry; - import com.hbm.saveddata.satellites.Satellite; - import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; import net.minecraft.world.WorldSavedData; +import java.util.HashMap; +import java.util.Map.Entry; + public class SatelliteSavedData extends WorldSavedData { - public HashMap sats = new HashMap(); + public final HashMap sats = new HashMap<>(); - public SatelliteSavedData(String p_i2141_1_) { - super(p_i2141_1_); - } - - public SatelliteSavedData() - { + public SatelliteSavedData() { super("satellites"); this.markDirty(); } public boolean isFreqTaken(int freq) { - return getSatFromFreq(freq) != null; } public Satellite getSatFromFreq(int freq) { - return sats.get(freq); } @@ -38,7 +30,6 @@ public class SatelliteSavedData extends WorldSavedData { int satCount = nbt.getInteger("satCount"); for(int i = 0; i < satCount; i++) { - Satellite sat = Satellite.create(nbt.getInteger("sat_id_" + i)); sat.readFromNBT((NBTTagCompound) nbt.getTag("sat_data_" + i)); @@ -55,7 +46,6 @@ public class SatelliteSavedData extends WorldSavedData { int i = 0; for(Entry struct : sats.entrySet()) { - NBTTagCompound data = new NBTTagCompound(); struct.getValue().writeToNBT(data); @@ -67,15 +57,14 @@ public class SatelliteSavedData extends WorldSavedData { } public static SatelliteSavedData getData(World worldObj) { - SatelliteSavedData data = (SatelliteSavedData)worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites"); if(data == null) { worldObj.perWorldStorage.setData("satellites", new SatelliteSavedData()); data = (SatelliteSavedData)worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites"); + data.markDirty(); } return data; } - } diff --git a/src/main/java/com/hbm/saveddata/satellites/Satellite.java b/src/main/java/com/hbm/saveddata/satellites/Satellite.java index 70c65e0ac..e1a3ff431 100644 --- a/src/main/java/com/hbm/saveddata/satellites/Satellite.java +++ b/src/main/java/com/hbm/saveddata/satellites/Satellite.java @@ -1,23 +1,22 @@ package com.hbm.saveddata.satellites; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; - import com.hbm.items.ModItems; import com.hbm.saveddata.SatelliteSavedData; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; + public abstract class Satellite { - public static List satellites = new ArrayList(); - public static HashMap itemToClass = new HashMap(); + public static final List> satellites = new ArrayList<>(); + public static final HashMap> itemToClass = new HashMap<>(); - public static enum InterfaceActions { + public enum InterfaceActions { HAS_MAP, //lets the interface display loaded chunks CAN_CLICK, //enables onClick events SHOW_COORDS, //enables coordinates as a mouse tooltip @@ -25,18 +24,18 @@ public abstract class Satellite { HAS_ORES //like HAS_MAP but only shows ores } - public static enum CoordActions { + public enum CoordActions { HAS_Y //enables the Y-coord field which is disabled by default } - public static enum Interfaces { + public enum Interfaces { NONE, //does not interact with any sat interface (i.e. asteroid miners) SAT_PANEL, //allows to interact with the sat interface panel (for graphical applications) SAT_COORD //allows to interact with the sat coord remote (for teleportation or other coord related actions) } - public List ifaceAcs = new ArrayList(); - public List coordAcs = new ArrayList(); + public List ifaceAcs = new ArrayList<>(); + public List coordAcs = new ArrayList<>(); public Interfaces satIface = Interfaces.NONE; public static void register() { @@ -64,10 +63,13 @@ public abstract class Satellite { } public static void orbit(World world, int id, int freq, double x, double y, double z) { - + if(world.isRemote) { + return; + } + Satellite sat = create(id); - if(sat != null && !world.isRemote) { + if(sat != null) { SatelliteSavedData data = SatelliteSavedData.getData(world); data.sats.put(freq, sat); sat.onOrbit(world, x, y, z); @@ -76,25 +78,22 @@ public abstract class Satellite { } public static Satellite create(int id) { - Satellite sat = null; try { - Class c = satellites.get(id); - sat = (Satellite) c.newInstance(); - } catch(Exception ex) { - + Class c = satellites.get(id); + sat = c.newInstance(); + } catch(Exception e) { + e.printStackTrace(); } return sat; } public static int getIDFromItem(Item item) { - Class sat = itemToClass.get(item); - int i = satellites.indexOf(sat); - - return i; + + return satellites.indexOf(sat); } public int getID() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java index 6a29cf0d3..07e6e9c1c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java @@ -13,7 +13,6 @@ import com.hbm.util.WeightedRandomObject; 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; import net.minecraft.inventory.IInventory; @@ -27,15 +26,18 @@ import net.minecraft.util.WeightedRandom; import net.minecraft.world.World; import java.util.List; -import java.util.Random; public class TileEntityMachineSatDock extends TileEntity implements ISidedInventory, IGUIProvider { + private SatelliteSavedData data; + 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; + public TileEntityMachineSatDock() { slots = new ItemStack[16]; } @@ -177,21 +179,13 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent return true; } - SatelliteSavedData data = null; - @Override public void updateEntity() { if (!worldObj.isRemote) { if (data == null) - data = (SatelliteSavedData) worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites"); + data = SatelliteSavedData.getData(worldObj); - if (data == null) { - worldObj.perWorldStorage.setData("satellites", new SatelliteSavedData()); - data = (SatelliteSavedData) worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites"); - } - data.markDirty(); - - if (data != null && slots[15] != null) { + if (slots[15] != null) { int freq = ISatChip.getFreqS(slots[15]); Satellite sat = data.getSatFromFreq(freq); @@ -215,22 +209,23 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent } } - 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)); + @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 (Entity e : list) { - if (e instanceof EntityMinerRocket) { - EntityMinerRocket rocket = (EntityMinerRocket) e; + 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 (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])); - unloadCargo((SatelliteMiner) sat); - } + if (rocket.getDataWatcher().getWatchableObjectInt(16) == 1 && rocket.timer == 50) { + Satellite sat = data.getSatFromFreq(ISatChip.getFreqS(slots[15])); + unloadCargo((SatelliteMiner) sat); } } @@ -241,15 +236,13 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent } } - static final Random rand = new Random(); - private void unloadCargo(SatelliteMiner satellite) { - int items = rand.nextInt(6) + 10; + int itemAmount = worldObj.rand.nextInt(6) + 10; WeightedRandomObject[] cargo = satellite.getCargo(); - for (int i = 0; i < items; i++) { - ItemStack stack = ((WeightedRandomObject) WeightedRandom.getRandomItem(rand, cargo)).asStack(); + for (int i = 0; i < itemAmount; i++) { + ItemStack stack = ((WeightedRandomObject) WeightedRandom.getRandomItem(worldObj.rand, cargo)).asStack(); addToInv(stack.copy()); } } @@ -322,12 +315,10 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent } } - AxisAlignedBB bb = null; - @Override public AxisAlignedBB getRenderBoundingBox() { - if (bb == null) { - bb = AxisAlignedBB.getBoundingBox( + if (renderBoundingBox == null) { + renderBoundingBox = AxisAlignedBB.getBoundingBox( xCoord - 1, yCoord, zCoord - 1, @@ -337,7 +328,7 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent ); } - return bb; + return renderBoundingBox; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java index 2fd404480..e8793d0aa 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java @@ -3,6 +3,7 @@ package com.hbm.tileentity.machine; import com.hbm.inventory.container.ContainerMachineSatLinker; import com.hbm.inventory.gui.GUIMachineSatLinker; import com.hbm.items.ISatChip; +import com.hbm.saveddata.SatelliteSavedData; import com.hbm.tileentity.IGUIProvider; import cpw.mods.fml.relauncher.Side; @@ -18,8 +19,9 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class TileEntityMachineSatLinker extends TileEntity implements ISidedInventory, IGUIProvider { + private SatelliteSavedData satelliteData; - private ItemStack slots[]; + private ItemStack[] slots; //public static final int maxFill = 64 * 3; @@ -45,21 +47,19 @@ public class TileEntityMachineSatLinker extends TileEntity implements ISidedInve @Override public ItemStack getStackInSlotOnClosing(int i) { - if(slots[i] != null) - { + if(slots[i] != null) { ItemStack itemStack = slots[i]; slots[i] = null; return itemStack; } else { - return null; + return null; } } @Override public void setInventorySlotContents(int i, ItemStack itemStack) { slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) - { + if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) { itemStack.stackSize = getInventoryStackLimit(); } } @@ -85,11 +85,10 @@ public class TileEntityMachineSatLinker extends TileEntity implements ISidedInve @Override public boolean isUseableByPlayer(EntityPlayer player) { - if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) - { + if(worldObj.getTileEntity(xCoord, yCoord, zCoord) != this) { return false; - }else{ - return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <=64; + } else { + return player.getDistanceSq(xCoord + 0.5D, yCoord + 0.5D, zCoord + 0.5D) <= 64; } } @@ -105,17 +104,14 @@ public class TileEntityMachineSatLinker extends TileEntity implements ISidedInve @Override public ItemStack decrStackSize(int i, int j) { - if(slots[i] != null) - { - if(slots[i].stackSize <= 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) - { + if (slots[i].stackSize == 0) { slots[i] = null; } @@ -132,12 +128,10 @@ public class TileEntityMachineSatLinker extends TileEntity implements ISidedInve slots = new ItemStack[getSizeInventory()]; - for(int i = 0; i < list.tagCount(); i++) - { + for(int i = 0; i < list.tagCount(); i++) { NBTTagCompound nbt1 = list.getCompoundTagAt(i); byte b0 = nbt1.getByte("slot"); - if(b0 >= 0 && b0 < slots.length) - { + if(b0 >= 0 && b0 < slots.length) { slots[b0] = ItemStack.loadItemStackFromNBT(nbt1); } } @@ -148,10 +142,8 @@ public class TileEntityMachineSatLinker extends TileEntity implements ISidedInve super.writeToNBT(nbt); NBTTagList list = new NBTTagList(); - for(int i = 0; i < slots.length; i++) - { - if(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); @@ -162,8 +154,7 @@ public class TileEntityMachineSatLinker extends TileEntity implements ISidedInve } @Override - public int[] getAccessibleSlotsFromSide(int p_94128_1_) - { + public int[] getAccessibleSlotsFromSide(int p_94128_1_) { return p_94128_1_ == 0 ? slots_bottom : (p_94128_1_ == 1 ? slots_top : slots_side); } @@ -179,15 +170,19 @@ public class TileEntityMachineSatLinker extends TileEntity implements ISidedInve @Override public void updateEntity() { - - if(!worldObj.isRemote) - { + if(!worldObj.isRemote) { if(slots[0] != null && slots[1] != null && slots[0].getItem() instanceof ISatChip && slots[1].getItem() instanceof ISatChip) { ISatChip.setFreqS(slots[1], ISatChip.getFreqS(slots[0])); } if(slots[2] != null && slots[2].getItem() instanceof ISatChip) { - ISatChip.setFreqS(slots[2], worldObj.rand.nextInt(100000)); + if(satelliteData == null) { + satelliteData = SatelliteSavedData.getData(worldObj); + } + int newId = worldObj.rand.nextInt(100000); + if(!satelliteData.isFreqTaken(newId)) { + ISatChip.setFreqS(slots[2], newId); + } } } } From ccb91d98bf4e2acd616c6ede141a9daa68a05567 Mon Sep 17 00:00:00 2001 From: Toshayo Date: Mon, 24 Jul 2023 14:06:46 +0200 Subject: [PATCH 274/285] Added satellite managing commands, fixed some satellite map storage stuff --- .../com/hbm/commands/CommandSatellites.java | 87 +++++++++++++++++++ src/main/java/com/hbm/main/MainRegistry.java | 2 + .../com/hbm/saveddata/SatelliteSavedData.java | 12 ++- .../machine/TileEntityMachineSatDock.java | 5 +- .../machine/TileEntityMachineSatLinker.java | 6 +- src/main/resources/assets/hbm/lang/en_US.lang | 6 ++ 6 files changed, 108 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/hbm/commands/CommandSatellites.java diff --git a/src/main/java/com/hbm/commands/CommandSatellites.java b/src/main/java/com/hbm/commands/CommandSatellites.java new file mode 100644 index 000000000..82f474b70 --- /dev/null +++ b/src/main/java/com/hbm/commands/CommandSatellites.java @@ -0,0 +1,87 @@ +package com.hbm.commands; + +import com.hbm.items.ISatChip; +import com.hbm.items.ModItems; +import com.hbm.saveddata.SatelliteSavedData; +import com.hbm.saveddata.satellites.Satellite; +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.ChatStyle; +import net.minecraft.util.EnumChatFormatting; + +import java.util.Collections; +import java.util.List; +import java.util.stream.Collectors; + +public class CommandSatellites extends CommandBase { + @Override + public String getCommandName() { + return "ntmsatellites"; + } + + @Override + public String getCommandUsage(ICommandSender iCommandSender) { + return String.format( + "%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 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; + } + } + + @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(); + } +} diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 1a039b530..6b7451986 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -1,5 +1,6 @@ package com.hbm.main; +import com.hbm.commands.CommandSatellites; import net.minecraft.block.BlockDispenser; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.dispenser.BehaviorDefaultDispenseItem; @@ -926,6 +927,7 @@ public class MainRegistry { SiegeOrchestrator.createGameRules(world); event.registerServerCommand(new CommandReloadRecipes()); event.registerServerCommand(new CommandDebugChunkLoad()); + event.registerServerCommand(new CommandSatellites()); } @EventHandler diff --git a/src/main/java/com/hbm/saveddata/SatelliteSavedData.java b/src/main/java/com/hbm/saveddata/SatelliteSavedData.java index f0ced3750..a0dd2a624 100644 --- a/src/main/java/com/hbm/saveddata/SatelliteSavedData.java +++ b/src/main/java/com/hbm/saveddata/SatelliteSavedData.java @@ -12,6 +12,17 @@ public class SatelliteSavedData extends WorldSavedData { public final HashMap sats = new HashMap<>(); + /** + * Constructor used for deserialization + * @param name - Map data name + */ + public SatelliteSavedData(String name) { + super(name); + } + + /** + * Default constructor for satellites map data. + */ public SatelliteSavedData() { super("satellites"); this.markDirty(); @@ -62,7 +73,6 @@ public class SatelliteSavedData extends WorldSavedData { worldObj.perWorldStorage.setData("satellites", new SatelliteSavedData()); data = (SatelliteSavedData)worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites"); - data.markDirty(); } return data; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java index 07e6e9c1c..0fd248320 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java @@ -28,8 +28,6 @@ import net.minecraft.world.World; import java.util.List; public class TileEntityMachineSatDock extends TileEntity implements ISidedInventory, IGUIProvider { - private SatelliteSavedData data; - 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}; @@ -182,8 +180,7 @@ public class TileEntityMachineSatDock extends TileEntity implements ISidedInvent @Override public void updateEntity() { if (!worldObj.isRemote) { - if (data == null) - data = SatelliteSavedData.getData(worldObj); + SatelliteSavedData data = SatelliteSavedData.getData(worldObj); if (slots[15] != null) { int freq = ISatChip.getFreqS(slots[15]); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java index e8793d0aa..8c3583106 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatLinker.java @@ -19,8 +19,6 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.world.World; public class TileEntityMachineSatLinker extends TileEntity implements ISidedInventory, IGUIProvider { - private SatelliteSavedData satelliteData; - private ItemStack[] slots; //public static final int maxFill = 64 * 3; @@ -176,9 +174,7 @@ public class TileEntityMachineSatLinker extends TileEntity implements ISidedInve } if(slots[2] != null && slots[2].getItem() instanceof ISatChip) { - if(satelliteData == null) { - satelliteData = SatelliteSavedData.getData(worldObj); - } + SatelliteSavedData satelliteData = SatelliteSavedData.getData(worldObj); int newId = worldObj.rand.nextInt(100000); if(!satelliteData.isFreqTaken(newId)) { ISatChip.setFreqS(slots[2], newId); diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index f0d31585c..4bfcf8ce1 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -604,6 +604,12 @@ chem.XENON=Linde Xenon Cycle chem.XENON_OXY=Boosted Linde Xenon Cycle chem.YELLOWCAKE=Yellowcake Production +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.amsBase=AMS Base (Deco) container.amsEmitter=AMS Emitter (Deco) container.amsLimiter=AMS Stabilizer (Deco) From 4cf0e5d531f36d42728c4babfcea3cb47287b558 Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Mon, 24 Jul 2023 15:46:34 +0300 Subject: [PATCH 275/285] Updated ru_RU.lang --- src/main/resources/assets/hbm/lang/ru_RU.lang | 33 +++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index 214bcf59f..2f1f79334 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -2167,6 +2167,33 @@ tile.radio_torch_counter.desc=Ставится на плоские поверх container.rttyCounter=Редстоун-радио счётчик предметов tile.machine_industrial_boiler.name=Промышленный бойлер tile.machine_industrial_boiler.desc=Большой бойлер, в котором можно вскипятить воду или разогреть нефть.$Требует внешний источник тепла.$Скорость передачи тепла: ΔT*0.01 TU/t$Не может взорваться +container.crateTemplate=Сборочный ящик +tile.crate_template.name=Сборочный ящик + +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_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-го уровня container.hadron=Ускоритель частиц tile.hadron_access.name=Терминал доступа ускорителя частиц @@ -4366,7 +4393,9 @@ item.ammo_luna_explosive.name=Лунный снайперский взрывно item.ammo_luna_incendiary.name=Лунный снайперский зажигательный снаряд item.gun_benelli.name=Автоматический дробовик Benelli (Барабан) item.gun_coilgun.name=Гаусс-пушка -item.gun_coilgun_ammo.name=Вольфрамовый шар для гаусс-пушки +item.ammo_coilgun.name=Вольфрамовый шар для гаусс-пушки +item.ammo_coilgun_du.name=Ферроураниевый шар для гаусс-пушки +item.ammo_coilgun_rubber.name=Резиновый шар для гаусс-пушки item.gun_fireext.name=Огнетушитель item.ammo_fireext.name=Бак с водой для огнетушителя @@ -5720,7 +5749,7 @@ 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 Pistol +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 From a23e9be2a71b750823a8464895dec33229ea2d5b Mon Sep 17 00:00:00 2001 From: sdddddf80 <2980187979@qq.com> Date: Tue, 25 Jul 2023 13:47:26 +0800 Subject: [PATCH 276/285] add Structure display for custom machine --- src/main/java/com/hbm/blocks/ModBlocks.java | 2 +- .../hbm/config/CustomMachineConfigJSON.java | 7 +-- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../tileentity/RenderCustomMachine.java | 44 +++++++++++++++++++ 4 files changed, 50 insertions(+), 4 deletions(-) create mode 100644 src/main/java/com/hbm/render/tileentity/RenderCustomMachine.java diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index 7783f7652..0e00c1c8e 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -2027,7 +2027,7 @@ public class ModBlocks { 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"); - custom_machine = new BlockCustomMachine().setBlockName("custom_machine").setCreativeTab(MainRegistry.machineTab).setHardness(5.0F).setResistance(10.0F); + custom_machine = new BlockCustomMachine().setBlockName("custom_machine").setCreativeTab(MainRegistry.machineTab).setLightLevel(1F).setHardness(5.0F).setResistance(10.0F); reactor_element = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_element_top", RefStrings.MODID + ":reactor_element_base").setBlockName("reactor_element").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_element_side"); reactor_control = new BlockPillar(Material.iron, RefStrings.MODID + ":reactor_control_top").setBlockName("reactor_control").setHardness(5.0F).setResistance(10.0F).setCreativeTab(MainRegistry.machineTab).setBlockTextureName(RefStrings.MODID + ":reactor_control_side"); diff --git a/src/main/java/com/hbm/config/CustomMachineConfigJSON.java b/src/main/java/com/hbm/config/CustomMachineConfigJSON.java index 79a659261..359eb3db5 100644 --- a/src/main/java/com/hbm/config/CustomMachineConfigJSON.java +++ b/src/main/java/com/hbm/config/CustomMachineConfigJSON.java @@ -203,9 +203,9 @@ public class CustomMachineConfigJSON { compDef.y = compObject.get("y").getAsInt(); compDef.z = compObject.get("z").getAsInt(); compDef.allowedMetas = new HashSet(); - JsonArray metas = compObject.get("metas").getAsJsonArray(); - for(int k = 0; k < metas.size(); k++) { - compDef.allowedMetas.add(metas.get(k).getAsInt()); + compDef.metas = compObject.get("metas").getAsJsonArray(); + for(int k = 0; k < compDef.metas.size(); k++) { + compDef.allowedMetas.add(compDef.metas.get(k).getAsInt()); } configuration.components.add(compDef); @@ -248,6 +248,7 @@ public class CustomMachineConfigJSON { public static class ComponentDefinition { public Block block; public Set allowedMetas; + public JsonArray metas; public int x; public int y; public int z; diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 14d0c8a6e..c31870b9c 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -325,6 +325,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityITERStruct.class, new RenderITERMultiblock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPlasmaStruct.class, new RenderPlasmaMultiblock()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityWatzStruct.class, new RenderWatzMultiblock()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityCustomMachine.class, new RenderCustomMachine()); //RBMK ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKControlManual.class, new RenderRBMKControlRod()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRBMKControlAuto.class, new RenderRBMKControlRod()); diff --git a/src/main/java/com/hbm/render/tileentity/RenderCustomMachine.java b/src/main/java/com/hbm/render/tileentity/RenderCustomMachine.java new file mode 100644 index 000000000..eb325b70c --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderCustomMachine.java @@ -0,0 +1,44 @@ +package com.hbm.render.tileentity; + +import com.hbm.config.CustomMachineConfigJSON; +import com.hbm.render.util.SmallBlockPronter; +import com.hbm.tileentity.machine.TileEntityCustomMachine; +import net.minecraft.client.renderer.texture.TextureMap; +import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.nbt.NBTTagCompound; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; +import org.lwjgl.opengl.GL11; + +public class RenderCustomMachine extends TileEntitySpecialRenderer { + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { + NBTTagCompound nbt = new NBTTagCompound(); + tile.writeToNBT(nbt); + CustomMachineConfigJSON.MachineConfiguration config = CustomMachineConfigJSON.customMachines.get(nbt.getString("machineType")); + + ForgeDirection dir = ForgeDirection.getOrientation(tile.getBlockMetadata()); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + GL11.glPushMatrix(); + GL11.glTranslated(x, y, z); + + bindTexture(TextureMap.locationBlocksTexture); + SmallBlockPronter.startDrawing(); + for(CustomMachineConfigJSON.MachineConfiguration.ComponentDefinition comp : config.components){ + int rx = - dir.offsetX * comp.x + rot.offsetX * comp.x; + int ry = + comp.y; + int rz = - dir.offsetZ * comp.z + rot.offsetZ * comp.z; + if(dir == ForgeDirection.EAST || dir == ForgeDirection.WEST) { + rx = + dir.offsetZ * comp.z - rot.offsetZ * comp.z; + rz = + dir.offsetX * comp.x - rot.offsetX * comp.x; + } + SmallBlockPronter.drawSmolBlockAt(comp.block,comp.metas.get(comp.metas.size()-1).getAsInt(),rx,ry,rz); + + } + + SmallBlockPronter.draw(); + + GL11.glPopMatrix(); + } +} From 1ffb2737aac316bd6376ea576ac3da555c343041 Mon Sep 17 00:00:00 2001 From: Bob Date: Tue, 25 Jul 2023 22:21:48 +0200 Subject: [PATCH 277/285] ow --- changelog | 27 +++----- gradle.properties | 6 +- .../com/hbm/handler/EntityEffectHandler.java | 2 + .../handler/pollution/PollutionHandler.java | 4 +- src/main/java/com/hbm/lib/RefStrings.java | 2 +- .../tileentity/RenderCustomMachine.java | 66 ++++++++++--------- .../machine/TileEntityCustomMachine.java | 2 + 7 files changed, 54 insertions(+), 55 deletions(-) diff --git a/changelog b/changelog index e06e326bf..07447e1f7 100644 --- a/changelog +++ b/changelog @@ -1,24 +1,13 @@ ## Added -* Custom machines - * Simple processing multiblocks that can be created via config - * The config found in `hbmConfig/hbmCustomMachines.json` defines the input and output slots, fluid amount, speed and consumption multipliers as well as the multiblock - * The config in `hbmRecipes/hbmCustomMachines.json` defines the recipes for all multiblocks with inputs, outputs base speed and consumption rates - * Currently, custom machine recipes do not show up in NEI, a handler will be added soon - * All recipes are shaped, even the fluid types, this was done to improve performance - * Item inputs have filter slots for automation, this allows the right ingredients to be inserted into the right slot easily. For simple machines, this slot can be left empty so any item can be inserted. - * By default, the standard config creates one custom machine with one recipe called the paper press, turning sawdust and water into paper - * More examples can be found in the configs attached to this github release - * Custom machines can also be configured as generators, using up item and fluid inputs and turning them into energy - * While changing the configs and adding/removing machines in an existing world is possible, this is not recommended because of potential ID shifts of the machines, breaking existing custom machines in the world - * With custom machines, quite a few otherwise unused construction blocks have been added which are recommended to be used for custom machines as they come in tiers, have reasonable cost and mesh well visually with the multiblocks - * However, using them is not mandatory, the only functional block is the port which is most likely needed for automation, although the machine's controller itself also serves as a port +* New command `/ntmsatellites` + * `/ntmsatellites orbit` will send the held saatellite into orbit + * `/ntmsatellites descend ` will delete the given satellite ## Changed -* Additional OC compat for fluid gauges -* Crates now display their contents when in item form +* Updated russian localization +* It's no longer possible to insert items into the satellite cargo pad, it's only for unloading +* The satellite linker will no longer assign new frequencies in the randomizer slot if that frequency is already taken +* Custom machines will now show a hologram showing how they are built ## Fixed -* Hopefully fixed an issue where pollution-based mob buffs apply multiple times, resulting in near-unkillable mobs -* Fixed exploit allowing the cap for shield infusions to be bypassed -* Fixed tier detection mode in the radar detecting the Y-position instead of the actual tier -* Fixed missing parenthesis in sigmoid curve's description \ No newline at end of file +* Fixed crash caused by mobs spawning in highly polluted area \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index a5787a31d..d305d95b5 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4670 +mod_build_number=4671 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ @@ -14,5 +14,5 @@ credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion al \ Toshayo (satellite loot system, project settings, gradle curse task), Silly541 (config for safe ME drives),\ \ Voxelstice (OpenComputers integration, turbine spinup), BallOfEnergy1 (OpenComputers integration), martemen\ \ (project settings), Pvndols (thorium fuel recipe, gas turbine), JamesH2 (blood mechanics, nitric acid,\ - \ particle emitter), sdddddf80 (recipe configs, chinese localization), SuperCraftAlex (tooltips)\ - \ LePeep (coilgun model), Maksymisio (polish localization) + \ particle emitter), sdddddf80 (recipe configs, chinese localization, custom machine holograms),\ + \ SuperCraftAlex (tooltips) LePeep (coilgun model), Maksymisio (polish localization) diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index 3396b2472..467318ff7 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -370,6 +370,8 @@ public class EntityEffectHandler { 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; diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index 6f783a4f5..0ba128f52 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -323,8 +323,8 @@ public class PollutionHandler { if(living instanceof IMob) { if(data.pollution[PollutionType.SOOT.ordinal()] > RadiationConfig.buffMobThreshold) { - if(living.getEntityAttribute(SharedMonsterAttributes.maxHealth) != null) living.getEntityAttribute(SharedMonsterAttributes.maxHealth).applyModifier(new AttributeModifier(maxHealth, "Soot Anger Health Increase", 1D, 1)); - if(living.getEntityAttribute(SharedMonsterAttributes.attackDamage) != null) living.getEntityAttribute(SharedMonsterAttributes.attackDamage).applyModifier(new AttributeModifier(attackDamage, "Soot Anger Damage Increase", 1.5D, 1)); + if(living.getEntityAttribute(SharedMonsterAttributes.maxHealth) != null && living.getEntityAttribute(SharedMonsterAttributes.maxHealth).getModifier(maxHealth) == null) living.getEntityAttribute(SharedMonsterAttributes.maxHealth).applyModifier(new AttributeModifier(maxHealth, "Soot Anger Health Increase", 1D, 1)); + if(living.getEntityAttribute(SharedMonsterAttributes.attackDamage) != null && living.getEntityAttribute(SharedMonsterAttributes.attackDamage).getModifier(attackDamage) == null) living.getEntityAttribute(SharedMonsterAttributes.attackDamage).applyModifier(new AttributeModifier(attackDamage, "Soot Anger Damage Increase", 1.5D, 1)); living.heal(living.getMaxHealth()); } } diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 5e3527635..81bc67970 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 (4670)"; + public static final String VERSION = "1.0.27 BETA (4671)"; //HBM's Beta Naming Convention: //V T (X) //V -> next release version diff --git a/src/main/java/com/hbm/render/tileentity/RenderCustomMachine.java b/src/main/java/com/hbm/render/tileentity/RenderCustomMachine.java index eb325b70c..1c5d6835a 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderCustomMachine.java +++ b/src/main/java/com/hbm/render/tileentity/RenderCustomMachine.java @@ -3,42 +3,48 @@ package com.hbm.render.tileentity; import com.hbm.config.CustomMachineConfigJSON; import com.hbm.render.util.SmallBlockPronter; import com.hbm.tileentity.machine.TileEntityCustomMachine; + import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraftforge.common.util.ForgeDirection; import org.lwjgl.opengl.GL11; public class RenderCustomMachine extends TileEntitySpecialRenderer { - @Override - public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { - NBTTagCompound nbt = new NBTTagCompound(); - tile.writeToNBT(nbt); - CustomMachineConfigJSON.MachineConfiguration config = CustomMachineConfigJSON.customMachines.get(nbt.getString("machineType")); + + @Override + public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { + + TileEntityCustomMachine custom = (TileEntityCustomMachine) tile; + CustomMachineConfigJSON.MachineConfiguration config = custom.config; - ForgeDirection dir = ForgeDirection.getOrientation(tile.getBlockMetadata()); - ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - - GL11.glPushMatrix(); - GL11.glTranslated(x, y, z); - - bindTexture(TextureMap.locationBlocksTexture); - SmallBlockPronter.startDrawing(); - for(CustomMachineConfigJSON.MachineConfiguration.ComponentDefinition comp : config.components){ - int rx = - dir.offsetX * comp.x + rot.offsetX * comp.x; - int ry = + comp.y; - int rz = - dir.offsetZ * comp.z + rot.offsetZ * comp.z; - if(dir == ForgeDirection.EAST || dir == ForgeDirection.WEST) { - rx = + dir.offsetZ * comp.z - rot.offsetZ * comp.z; - rz = + dir.offsetX * comp.x - rot.offsetX * comp.x; - } - SmallBlockPronter.drawSmolBlockAt(comp.block,comp.metas.get(comp.metas.size()-1).getAsInt(),rx,ry,rz); - - } - - SmallBlockPronter.draw(); - - GL11.glPopMatrix(); - } + ForgeDirection dir = ForgeDirection.getOrientation(tile.getBlockMetadata()); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + if(config != null && !custom.structureOK) { + + GL11.glPushMatrix(); + GL11.glTranslated(x, y, z); + + bindTexture(TextureMap.locationBlocksTexture); + SmallBlockPronter.startDrawing(); + for(CustomMachineConfigJSON.MachineConfiguration.ComponentDefinition comp : config.components) { + int rx = -dir.offsetX * comp.x + rot.offsetX * comp.x; + int ry = +comp.y; + int rz = -dir.offsetZ * comp.z + rot.offsetZ * comp.z; + if(dir == ForgeDirection.EAST || dir == ForgeDirection.WEST) { + rx = +dir.offsetZ * comp.z - rot.offsetZ * comp.z; + rz = +dir.offsetX * comp.x - rot.offsetX * comp.x; + } + + int index = (int) ((System.currentTimeMillis() / 1000) % comp.metas.size()); + SmallBlockPronter.drawSmolBlockAt(comp.block, comp.metas.get(index).getAsInt(), rx, ry, rz); + + } + + SmallBlockPronter.draw(); + + GL11.glPopMatrix(); + } + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java index 6a7d3973d..dc3302b46 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java @@ -174,6 +174,7 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF NBTTagCompound data = new NBTTagCompound(); data.setString("type", this.machineType); data.setLong("power", power); + data.setBoolean("structureOK", structureOK); data.setInteger("progress", progress); data.setInteger("maxProgress", maxProgress); for(int i = 0; i < inputTanks.length; i++) inputTanks[i].writeToNBT(data, "i" + i); @@ -369,6 +370,7 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF this.power = nbt.getLong("power"); this.progress = nbt.getInteger("progress"); + 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); From 52f39064fc2a9512393f4647c5e3b2abb87c5296 Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Fri, 28 Jul 2023 16:23:36 -0500 Subject: [PATCH 278/285] removed the compat for the fluid gauge due to crashes related to the TE. --- .../hbm/blocks/network/FluidDuctGauge.java | 36 +------------------ 1 file changed, 1 insertion(+), 35 deletions(-) diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java b/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java index abf4cc4d1..f9dc2498f 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctGauge.java @@ -15,13 +15,8 @@ import com.hbm.tileentity.network.TileEntityPipeBaseNT; import com.hbm.util.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 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.BlockPistonBase; import net.minecraft.block.material.Material; import net.minecraft.client.renderer.texture.IIconRegister; @@ -106,8 +101,7 @@ public class FluidDuctGauge extends FluidDuctBase implements IBlockMultiPass, IL 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 { + public static class TileEntityPipeGauge extends TileEntityPipeBaseNT implements INBTPacketReceiver { private BigInteger lastMeasurement = BigInteger.valueOf(10); private long deltaTick = 0; @@ -151,33 +145,5 @@ public class FluidDuctGauge extends FluidDuctBase implements IBlockMultiPass, IL this.deltaLastSecond = Math.max(nbt.getLong("deltaS"), 0); } - @Override - public String getComponentName() { - return "ntm_fluid_gauge"; - } - - @Callback(direct = true, limit = 16) - @Optional.Method(modid = "OpenComputers") - public Object[] getTick(Context context, Arguments args) { - return new Object[] {deltaTick}; - } - - @Callback(direct = true, limit = 16) - @Optional.Method(modid = "OpenComputers") - public Object[] getSecond(Context context, Arguments args) { - return new Object[] {deltaSecond}; - } - - @Callback(direct = true, limit = 16) - @Optional.Method(modid = "OpenComputers") - public Object[] getType(Context context, Arguments args) { - return new Object[] {I18nUtil.resolveKey(getType().getUnlocalizedName())}; - } - - @Callback(direct = true, limit = 16) - @Optional.Method(modid = "OpenComputers") - public Object[] getInfo(Context context, Arguments args) { - return new Object[] {deltaTick, deltaSecond, I18nUtil.resolveKey(getType().getUnlocalizedName()), xCoord, yCoord, zCoord}; - } } } From 647c8379093e149f0e2d953c8f5e464ba464118e Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 30 Jul 2023 19:00:35 +0200 Subject: [PATCH 279/285] and now for something completely different --- .../blocks/machine/MachineElectrolyser.java | 52 ++++--- .../com/hbm/interfaces/IControlReceiver.java | 4 +- .../container/ContainerElectrolyserFluid.java | 54 +++++++ .../inventory/gui/GUIElectrolyserFluid.java | 60 +++++++ .../java/com/hbm/packet/NBTControlPacket.java | 15 +- .../machine/TileEntityElectrolyser.java | 147 ++++++------------ .../gui/processing/gui_electrolyser_fluid.png | Bin 3941 -> 4936 bytes .../gui/processing/gui_electrolyser_metal.png | Bin 4062 -> 5971 bytes 8 files changed, 200 insertions(+), 132 deletions(-) create mode 100644 src/main/java/com/hbm/inventory/container/ContainerElectrolyserFluid.java create mode 100644 src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java diff --git a/src/main/java/com/hbm/blocks/machine/MachineElectrolyser.java b/src/main/java/com/hbm/blocks/machine/MachineElectrolyser.java index fb3ee992f..d6ca71710 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineElectrolyser.java +++ b/src/main/java/com/hbm/blocks/machine/MachineElectrolyser.java @@ -26,12 +26,12 @@ public class MachineElectrolyser extends BlockDummyable { @Override public int[] getDimensions() { - return new int[] {0, 0, 4, 4, 2, 2}; + return new int[] {0, 0, 5, 5, 1, 3}; } @Override public int getOffset() { - return 4; + return 5; } @Override @@ -42,33 +42,39 @@ public class MachineElectrolyser 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); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {1, 0, 4, 4, 1, 1}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {3, -1, 4, 4, 0, 0}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {3, 0, 1, -1, -2, 2}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , 3 + y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {0, 0, 1, -1, -1, 1}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {3, 0, 3, -3, -2, 2}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , 3 + y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {0, 0, 3, -3, -1, 1}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {3, 0, -1, 1, -2, 2}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , 3 + y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {0, 0, -1, 1, -1, 1}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {3, 0, -3, 3, -2, 2}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , 3 + y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {0, 0, -3, 3, -1, 1}, this, dir); + + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {2, -1, 5, 5, 1, 1}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -3, 5, 5, 0, 0}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, 4, -4, -3, 3}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, 2, -2, -3, 3}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, 0, 0, -3, 3}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, -2, 2, -3, 3}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, -4, 4, -3, 3}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, 4, -4, -1, 2}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, 2, -2, -1, 2}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, 0, 0, -1, 2}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, -2, 2, -1, 2}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, -4, 4, -1, 2}, this, dir); } @Override 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[] {1, 0, 4, 4, 1, 1}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {3, -1, 4, 4, 0, 0}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {3, 0, 1, -1, -2, 2}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , 3 + y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {0, 0, 1, -1, -1, 1}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {3, 0, 3, -3, -2, 2}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , 3 + y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {0, 0, 3, -3, -1, 1}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {3, 0, -1, 1, -2, 2}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , 3 + y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {0, 0, -1, 1, -1, 1}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {3, 0, -3, 3, -2, 2}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , 3 + y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {0, 0, -3, 3, -1, 1}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y , z + dir.offsetZ * o, getDimensions(), x, y, z, dir)) return false; + + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {2, -1, 5, 5, 1, 1}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -3, 5, 5, 0, 0}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, 4, -4, -3, 3}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, 2, -2, -3, 3}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, 0, 0, -3, 3}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, -2, 2, -3, 3}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, -4, 4, -3, 3}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, 4, -4, -1, 2}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, 2, -2, -1, 2}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, 0, 0, -1, 2}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, -2, 2, -1, 2}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, -4, 4, -1, 2}, x, y, z, dir)) return false; return true; } diff --git a/src/main/java/com/hbm/interfaces/IControlReceiver.java b/src/main/java/com/hbm/interfaces/IControlReceiver.java index 74ff5d0c6..fe49fdf2e 100644 --- a/src/main/java/com/hbm/interfaces/IControlReceiver.java +++ b/src/main/java/com/hbm/interfaces/IControlReceiver.java @@ -10,6 +10,8 @@ import net.minecraft.nbt.NBTTagCompound; public interface IControlReceiver { public boolean hasPermission(EntityPlayer player); - + public void receiveControl(NBTTagCompound data); + /* this was the easiest way of doing this without needing to change all 7 quadrillion implementors */ + public default void receiveControl(EntityPlayer player, NBTTagCompound data) { } } diff --git a/src/main/java/com/hbm/inventory/container/ContainerElectrolyserFluid.java b/src/main/java/com/hbm/inventory/container/ContainerElectrolyserFluid.java new file mode 100644 index 000000000..d52d54c24 --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerElectrolyserFluid.java @@ -0,0 +1,54 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotTakeOnly; +import com.hbm.tileentity.machine.TileEntityElectrolyser; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; + +public class ContainerElectrolyserFluid extends Container { + + private TileEntityElectrolyser electrolyser; + + public ContainerElectrolyserFluid(InventoryPlayer invPlayer, TileEntityElectrolyser tedf) { + electrolyser = tedf; + + //Battery + this.addSlotToContainer(new Slot(tedf, 0, 186, 109)); + //Upgrades + this.addSlotToContainer(new Slot(tedf, 1, 186, 140)); + this.addSlotToContainer(new Slot(tedf, 2, 186, 158)); + //Fluid ID + this.addSlotToContainer(new Slot(tedf, 3, 6, 18)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 4, 6, 54)); + //Input + this.addSlotToContainer(new Slot(tedf, 5, 24, 18)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 6, 24, 54)); + //Output + this.addSlotToContainer(new Slot(tedf, 7, 78, 18)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 8, 78, 54)); + this.addSlotToContainer(new Slot(tedf, 9, 134, 18)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 10, 134, 54)); + //Byproducts + this.addSlotToContainer(new SlotTakeOnly(tedf, 11, 154, 18)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 12, 154, 36)); + this.addSlotToContainer(new SlotTakeOnly(tedf, 13, 154, 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, 122 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 180)); + } + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return electrolyser.isUseableByPlayer(player); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java new file mode 100644 index 000000000..f23f12075 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java @@ -0,0 +1,60 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerElectrolyserFluid; +import com.hbm.lib.RefStrings; +import com.hbm.tileentity.machine.TileEntityElectrolyser; + +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.util.ResourceLocation; + +public class GUIElectrolyserFluid extends GuiInfoContainer { + + public static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_electrolyser_fluid.png"); + private TileEntityElectrolyser electrolyser; + + public GUIElectrolyserFluid(InventoryPlayer invPlayer, TileEntityElectrolyser electrolyser) { + super(new ContainerElectrolyserFluid(invPlayer, electrolyser)); + this.electrolyser = electrolyser; + + this.xSize = 210; + this.ySize = 204; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + electrolyser.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 42, guiTop + 18, 16, 52); + electrolyser.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 96, guiTop + 18, 16, 52); + electrolyser.tanks[2].renderTankInfo(this, mouseX, mouseY, guiLeft + 116, guiTop + 18, 16, 52); + + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 186, guiTop + 18, 16, 89, electrolyser.power, electrolyser.maxPower); + } + + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.electrolyser.hasCustomInventoryName() ? this.electrolyser.getInventoryName() : I18n.format(this.electrolyser.getInventoryName()); + + this.fontRendererObj.drawString(name, (this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2) - 16, 7, 0xffffff); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 94, 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); + + electrolyser.tanks[0].renderTank(guiLeft + 42, guiTop + 70, this.zLevel, 16, 52); + electrolyser.tanks[1].renderTank(guiLeft + 96, guiTop + 70, this.zLevel, 16, 52); + electrolyser.tanks[2].renderTank(guiLeft + 116, guiTop + 70, this.zLevel, 16, 52); + } +} diff --git a/src/main/java/com/hbm/packet/NBTControlPacket.java b/src/main/java/com/hbm/packet/NBTControlPacket.java index 8ce47aa3c..226b3eae1 100644 --- a/src/main/java/com/hbm/packet/NBTControlPacket.java +++ b/src/main/java/com/hbm/packet/NBTControlPacket.java @@ -32,7 +32,6 @@ public class NBTControlPacket implements IMessage { try { buffer.writeNBTTagCompoundToBuffer(nbt); - } catch (IOException e) { e.printStackTrace(); } @@ -45,9 +44,8 @@ public class NBTControlPacket implements IMessage { y = buf.readInt(); z = buf.readInt(); - if (buffer == null) { - buffer = new PacketBuffer(Unpooled.buffer()); - } + if(buffer == null) buffer = new PacketBuffer(Unpooled.buffer()); + buffer.writeBytes(buf); } @@ -58,9 +56,8 @@ public class NBTControlPacket implements IMessage { buf.writeInt(y); buf.writeInt(z); - if (buffer == null) { - buffer = new PacketBuffer(Unpooled.buffer()); - } + if (buffer == null) buffer = new PacketBuffer(Unpooled.buffer()); + buf.writeBytes(buffer); } @@ -85,8 +82,10 @@ public class NBTControlPacket implements IMessage { IControlReceiver tile = (IControlReceiver)te; - if(tile.hasPermission(p)) + if(tile.hasPermission(p)) { + tile.receiveControl(p, nbt); tile.receiveControl(nbt); + } } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java index c2eb12a1a..378317d76 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java @@ -1,17 +1,10 @@ package com.hbm.tileentity.machine; -import java.util.ArrayList; -import java.util.List; - -import com.hbm.blocks.BlockDummyable; -import com.hbm.interfaces.IFluidAcceptor; -import com.hbm.interfaces.IFluidSource; -import com.hbm.inventory.container.ContainerElectrolyser; -import com.hbm.inventory.fluid.FluidType; +import com.hbm.interfaces.IControlReceiver; +import com.hbm.inventory.container.ContainerElectrolyserFluid; import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.fluid.tank.FluidTank; -import com.hbm.inventory.gui.GUIElectrolyser; -import com.hbm.lib.Library; +import com.hbm.inventory.gui.GUIElectrolyserFluid; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; @@ -24,9 +17,8 @@ import net.minecraft.inventory.Container; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityElectrolyser extends TileEntityMachineBase implements IEnergyUser, IFluidSource, IFluidAcceptor, IGUIProvider /* TODO: new fluid API */ { +public class TileEntityElectrolyser extends TileEntityMachineBase implements IEnergyUser, IControlReceiver, IGUIProvider { public long power; public static final long maxPower = 20000000; @@ -43,11 +35,19 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn public FluidTank[] tanks; public TileEntityElectrolyser() { - super(24); - tanks = new FluidTank[3]; - tanks[0] = new FluidTank(Fluids.WATER, 16000, 0); - tanks[1] = new FluidTank(Fluids.HYDROGEN, 16000, 1); - tanks[2] = new FluidTank(Fluids.OXYGEN, 16000, 2); + //0: Battery + //1-2: Upgrades + //// FLUID + //3-4: Fluid ID + //5-10: Fluid IO + //11-13: Byproducts + //// METAL + 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 @@ -60,9 +60,6 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn if(!worldObj.isRemote) { - this.tanks[0].updateTank(xCoord, yCoord, zCoord, worldObj.provider.dimensionId); - - NBTTagCompound data = new NBTTagCompound(); data.setLong("power", this.power); data.setInteger("progressFluid", this.progressFluid); @@ -70,25 +67,20 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn data.setInteger("usage", this.usage); data.setInteger("processFluidTime", this.processFluidTime); data.setInteger("processOreTime", this.processOreTime); + for(int i = 0; i < 4; i++) tanks[i].writeToNBT(data, "t" + i); this.networkPack(data, 50); - - fillFluidInit(tanks[1].getTankType()); - fillFluidInit(tanks[2].getTankType()); } - } - + @Override - public void fillFluidInit(FluidType type) { - - ForgeDirection dir = ForgeDirection.getOrientation(this.getBlockMetadata() - BlockDummyable.offset); - ForgeDirection rot = dir.getRotation(ForgeDirection.UP); - - fillFluid(xCoord + dir.offsetX * 5 + rot.offsetX * -1, yCoord-1, zCoord + dir.offsetZ * 5 + rot.offsetZ * -1, getTact(), type); - fillFluid(xCoord + dir.offsetX * 5 + rot.offsetX * -1, yCoord-1, zCoord + dir.offsetZ * 5 + rot.offsetZ * 1, getTact(), type); - fillFluid(xCoord + dir.offsetX * -5 + rot.offsetX * -1, yCoord-1, zCoord + dir.offsetZ * 5 + rot.offsetZ * -1, getTact(), type); - fillFluid(xCoord + dir.offsetX * -5 + rot.offsetX * -1, yCoord-1, zCoord + dir.offsetZ * 5 + rot.offsetZ * 1, getTact(), type); - + public void networkUnpack(NBTTagCompound nbt) { + this.power = nbt.getLong("power"); + this.progressFluid = nbt.getInteger("progressFluid"); + this.progressOre = nbt.getInteger("progressOre"); + this.usage = nbt.getInteger("usage"); + this.processFluidTime = nbt.getInteger("processFluidTime"); + this.processOreTime = nbt.getInteger("processOreTime"); + for(int i = 0; i < 4; i++) tanks[i].readFromNBT(nbt, "t" + i); } AxisAlignedBB bb = null; @@ -98,12 +90,12 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn if(bb == null) { bb = AxisAlignedBB.getBoundingBox( - xCoord - 3, + xCoord - 5, yCoord - 0, - zCoord - 4, - xCoord + 3, + zCoord - 5, + xCoord + 6, yCoord + 4, - zCoord + 4 + zCoord + 6 ); } @@ -126,65 +118,6 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn return maxPower; } - @Override - public void setFillForSync(int fill, int index) { - tanks[index].setFill(fill); - - } - - @Override - public void setFluidFill(int fill, FluidType type) { - for(int i = 0; i < 3; i++) { - if(type == tanks[i].getTankType()) - tanks[i].setFill(fill); - } - - } - - @Override - public void setTypeForSync(FluidType type, int index) { - tanks[index].setTankType(type); - - } - - @Override - public int getFluidFill(FluidType type) { - for(int i = 0; i < 3; i++) { - if(type == tanks[i].getTankType() && tanks[i].getFill() != 0) - return tanks[i].getFill(); - } - return 0; - } - - @Override - public int getMaxFluidFill(FluidType type) { - for(int i = 0; i < 3; i++) { - if(type == tanks[i].getTankType() && tanks[i].getMaxFill() != 0) - return tanks[i].getMaxFill(); - } - return 0; - } - - @Override - public void fillFluid(int x, int y, int z, boolean newTact, FluidType type) { - Library.transmitFluid(x, y, z, newTact, this, worldObj, type); - } - - @Override - public boolean getTact() { - return worldObj.getTotalWorldTime() % 20 < 10; - } - - @Override - public List getFluidList(FluidType type) { - return new ArrayList(); - } - - @Override - public void clearFluidList(FluidType type) { - return; - } - @Override public void setPower(long power) { this.power = power; @@ -192,13 +125,27 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerElectrolyser(player.inventory, this); + return new ContainerElectrolyserFluid(player.inventory, this); } @Override @SideOnly(Side.CLIENT) public GuiScreen provideGUI(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new GUIElectrolyser(player.inventory, this); + return new GUIElectrolyserFluid(player.inventory, this); } + @Override + public void receiveControl(NBTTagCompound data) { + + } + + @Override + public void receiveControl(EntityPlayer player, NBTTagCompound data) { + + } + + @Override + public boolean hasPermission(EntityPlayer player) { + return this.isUseableByPlayer(player); + } } diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_electrolyser_fluid.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_electrolyser_fluid.png index 32b6d976e04ce0678c30d159a2cfdae5e8eb0701..b55cc63435db77cc96dbcfaec5c18f01579841d4 100644 GIT binary patch literal 4936 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 diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_electrolyser_metal.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_electrolyser_metal.png index 9c16575363dd0795125335cfb4397c9bb4ace475..0de879b3d28bf92a94cc4dfc9ea95376c948b8fc 100644 GIT binary patch literal 5971 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 Date: Mon, 31 Jul 2023 20:45:57 +0200 Subject: [PATCH 280/285] NEI handlers for custom machines, nether bedrock ores, electrolyser crap --- changelog | 15 +- gradle.properties | 2 +- .../blocks/machine/BlockCustomMachine.java | 22 +- .../blocks/machine/MachineElectrolyser.java | 69 +++--- src/main/java/com/hbm/config/WorldConfig.java | 7 +- .../hbm/handler/nei/CustomMachineHandler.java | 208 ++++++++++++++++++ .../container/ContainerElectrolyserMetal.java | 48 ++++ .../inventory/gui/GUIElectrolyserFluid.java | 20 ++ .../inventory/gui/GUIElectrolyserMetal.java | 67 ++++++ .../recipes/ElectrolyserFluidRecipes.java | 67 ++++++ .../recipes/ElectrolyserMetalRecipes.java | 58 +++++ .../recipes/loader/SerializableRecipe.java | 2 + .../hbm/items/block/ItemCustomMachine.java | 13 +- src/main/java/com/hbm/lib/HbmWorldGen.java | 29 ++- src/main/java/com/hbm/main/NEIConfig.java | 12 + .../machine/TileEntityElectrolyser.java | 164 +++++++++++++- .../com/hbm/world/feature/BedrockOre.java | 46 ++-- .../hbm/textures/gui/nei/gui_nei_custom.png | Bin 0 -> 1171 bytes .../gui/processing/gui_electrolyser_fluid.png | Bin 4936 -> 4966 bytes 19 files changed, 761 insertions(+), 88 deletions(-) create mode 100644 src/main/java/com/hbm/handler/nei/CustomMachineHandler.java create mode 100644 src/main/java/com/hbm/inventory/container/ContainerElectrolyserMetal.java create mode 100644 src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java create mode 100644 src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java create mode 100644 src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java create mode 100644 src/main/resources/assets/hbm/textures/gui/nei/gui_nei_custom.png diff --git a/changelog b/changelog index 07447e1f7..dc78b26b6 100644 --- a/changelog +++ b/changelog @@ -1,13 +1,10 @@ ## Added -* New command `/ntmsatellites` - * `/ntmsatellites orbit` will send the held saatellite into orbit - * `/ntmsatellites descend ` will delete the given satellite ## Changed -* Updated russian localization -* It's no longer possible to insert items into the satellite cargo pad, it's only for unloading -* The satellite linker will no longer assign new frequencies in the randomizer slot if that frequency is already taken -* Custom machines will now show a hologram showing how they are built +* Bedrock ores now spawn in the nether + * Nether bedrock ores include red phosphorus and glowstone, both yielding powders instead of ores + * All current nether bedrock ores are tier 1 and do not require any bore fluid +* Custom machines now show their recipes in NEI + * All it took was battling NEI's source code for 3 hours and my sanity -## Fixed -* Fixed crash caused by mobs spawning in highly polluted area \ No newline at end of file +## Fixed \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index d305d95b5..fb976de9d 100644 --- a/gradle.properties +++ b/gradle.properties @@ -15,4 +15,4 @@ credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion al \ Voxelstice (OpenComputers integration, turbine spinup), BallOfEnergy1 (OpenComputers integration), martemen\ \ (project settings), Pvndols (thorium fuel recipe, gas turbine), JamesH2 (blood mechanics, nitric acid,\ \ particle emitter), sdddddf80 (recipe configs, chinese localization, custom machine holograms),\ - \ SuperCraftAlex (tooltips) LePeep (coilgun model), Maksymisio (polish localization) + \ SuperCraftAlex (tooltips) LePeep (coilgun model, BDCL QC), Maksymisio (polish localization) diff --git a/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java b/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java index 0dac71ca5..72efa3313 100644 --- a/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java +++ b/src/main/java/com/hbm/blocks/machine/BlockCustomMachine.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.Random; import com.hbm.config.CustomMachineConfigJSON; +import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration; import com.hbm.items.ModItems; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; @@ -92,10 +93,19 @@ public class BlockCustomMachine extends BlockContainer { TileEntityCustomMachine tile = (TileEntityCustomMachine) world.getTileEntity(x, y, z); - if(tile != null && stack.hasTagCompound()) { - tile.machineType = stack.stackTagCompound.getString("machineType"); - tile.init(); - tile.markChanged(); + if(tile != null) { + int id = stack.getItemDamage() - 100; + + if(id >= 0 && id < CustomMachineConfigJSON.customMachines.size()) { + + MachineConfiguration config = CustomMachineConfigJSON.niceList.get(id); + + if(config != null) { + tile.machineType = config.unlocalizedName; + tile.init(); + tile.markChanged(); + } + } } } @@ -126,8 +136,6 @@ public class BlockCustomMachine extends BlockContainer { if(tile != null) { ItemStack stack = new ItemStack(item, 1, CustomMachineConfigJSON.niceList.indexOf(tile.config) + 100); - stack.stackTagCompound = new NBTTagCompound(); - stack.stackTagCompound.setString("machineType", tile.machineType); ret.add(stack); } } @@ -142,8 +150,6 @@ public class BlockCustomMachine extends BlockContainer { if(tile != null && tile.machineType != null && !tile.machineType.isEmpty()) { ItemStack stack = new ItemStack(this, 1, CustomMachineConfigJSON.niceList.indexOf(tile.config) + 100); - stack.stackTagCompound = new NBTTagCompound(); - stack.stackTagCompound.setString("machineType", tile.machineType); return stack; } diff --git a/src/main/java/com/hbm/blocks/machine/MachineElectrolyser.java b/src/main/java/com/hbm/blocks/machine/MachineElectrolyser.java index d6ca71710..3c6b7beac 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineElectrolyser.java +++ b/src/main/java/com/hbm/blocks/machine/MachineElectrolyser.java @@ -20,7 +20,7 @@ public class MachineElectrolyser extends BlockDummyable { @Override public TileEntity createNewTileEntity(World world, int meta) { if(meta >= 12) return new TileEntityElectrolyser(); - if(meta >= 6) return new TileEntityProxyCombo(false, true, true); + if(meta >= 6) return new TileEntityProxyCombo().inventory().power().fluid(); return null; } @@ -42,39 +42,54 @@ public class MachineElectrolyser 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); - - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {2, -1, 5, 5, 1, 1}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -3, 5, 5, 0, 0}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, 4, -4, -3, 3}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, 2, -2, -3, 3}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, 0, 0, -3, 3}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, -2, 2, -3, 3}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, -4, 4, -3, 3}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, 4, -4, -1, 2}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, 2, -2, -1, 2}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, 0, 0, -1, 2}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, -2, 2, -1, 2}, this, dir); - MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, -4, 4, -1, 2}, this, dir); + 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); + MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {3, -1, 2, -2, -3, 3}, this, dir); + MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {3, -1, 0, 0, -3, 3}, this, dir); + MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {3, -1, -2, 2, -3, 3}, this, dir); + MultiblockHandlerXR.fillSpace(world, x, y, z, new int[] {3, -1, -4, 4, -3, 3}, 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); + 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, 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); + this.makeExtra(world, x - dir.offsetX * 5 + rot.offsetX, y, z - dir.offsetZ * 5 + rot.offsetZ); + this.makeExtra(world, x - dir.offsetX * 5 - rot.offsetX, y, z - dir.offsetZ * 5 - rot.offsetZ); + this.makeExtra(world, x + dir.offsetX * 5, y, z + dir.offsetZ * 5); + this.makeExtra(world, x + dir.offsetX * 5 + rot.offsetX, y, z + dir.offsetZ * 5 + rot.offsetZ); + this.makeExtra(world, x + dir.offsetX * 5 - rot.offsetX, y, z + dir.offsetZ * 5 - rot.offsetZ); } @Override protected boolean checkRequirement(World world, int x, int y, int z, ForgeDirection dir, int o) { - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y , z + dir.offsetZ * o, getDimensions(), x, y, z, dir)) return false; + x += dir.offsetX * o; + z += dir.offsetZ * o; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {2, -1, 5, 5, 1, 1}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -3, 5, 5, 0, 0}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, 4, -4, -3, 3}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, 2, -2, -3, 3}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, 0, 0, -3, 3}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, -2, 2, -3, 3}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y, z + dir.offsetZ * o, new int[] {3, -1, -4, 4, -3, 3}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, 4, -4, -1, 2}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, 2, -2, -1, 2}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, 0, 0, -1, 2}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, -2, 2, -1, 2}, x, y, z, dir)) return false; - if(!MultiblockHandlerXR.checkSpace(world, x + dir.offsetX * o , y + 3, z + dir.offsetZ * o, new int[] {0, 0, -4, 4, -1, 2}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x, y , z, getDimensions(), x, y, z, dir)) return false; + + if(!MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] {2, -1, 5, 5, 1, 1}, x, y, z, dir)) return false; + if(!MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] {3, -3, 5, 5, 0, 0}, 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, 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, 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/config/WorldConfig.java b/src/main/java/com/hbm/config/WorldConfig.java index cf0f08a67..c2ac4bbb3 100644 --- a/src/main/java/com/hbm/config/WorldConfig.java +++ b/src/main/java/com/hbm/config/WorldConfig.java @@ -48,6 +48,8 @@ public class WorldConfig { public static int bedrockNiterSpawn = 50; public static int bedrockFluoriteSpawn = 50; public static int bedrockRedstoneSpawn = 50; + public static int bedrockGlowstoneSpawn = 100; + public static int bedrockPhosphorusSpawn = 50; public static int ironClusterSpawn = 4; public static int titaniumClusterSpawn = 2; @@ -153,7 +155,10 @@ public class WorldConfig { bedrockNiterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B11_bedrockNiterWeight", "Spawn weight for niter bedrock ore", 50); bedrockFluoriteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B12_bedrockFluoriteWeight", "Spawn weight for fluorite bedrock ore", 50); bedrockRedstoneSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B13_bedrockRedstoneWeight", "Spawn weight for redstone bedrock ore", 50); - bedrockChlorocalciteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B14_bedrockbChlorocalciteWeight", "Spawn weight for chlorocalcite bedrock ore", 35); + bedrockChlorocalciteSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.B14_bedrockChlorocalciteWeight", "Spawn weight for chlorocalcite bedrock ore", 35); + + bedrockGlowstoneSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.BN00_bedrockGlowstoneWeight", "Spawn weight for glowstone bedrock ore", 100); + bedrockPhosphorusSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.BN01_bedrockPhosphorusWeight", "Spawn weight for phosphorus bedrock ore", 50); ironClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C00_ironClusterSpawn", "Amount of iron cluster veins per chunk", 4); titaniumClusterSpawn = CommonConfig.createConfigInt(config, CATEGORY_OREGEN, "2.C01_titaniumClusterSpawn", "Amount of titanium cluster veins per chunk", 2); diff --git a/src/main/java/com/hbm/handler/nei/CustomMachineHandler.java b/src/main/java/com/hbm/handler/nei/CustomMachineHandler.java new file mode 100644 index 000000000..cf3570f79 --- /dev/null +++ b/src/main/java/com/hbm/handler/nei/CustomMachineHandler.java @@ -0,0 +1,208 @@ +package com.hbm.handler.nei; + +import java.awt.Rectangle; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; + +import com.hbm.blocks.ModBlocks; +import com.hbm.config.CustomMachineConfigJSON; +import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration; +import com.hbm.inventory.FluidStack; +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.recipes.CustomMachineRecipes; +import com.hbm.inventory.recipes.CustomMachineRecipes.CustomMachineRecipe; +import com.hbm.items.machine.ItemFluidIcon; +import com.hbm.lib.RefStrings; +import com.hbm.util.ItemStackUtil; +import com.hbm.util.Tuple.Pair; + +import codechicken.nei.NEIServerUtils; +import codechicken.nei.PositionedStack; +import codechicken.nei.recipe.TemplateRecipeHandler; +import net.minecraft.client.gui.inventory.GuiContainer; +import net.minecraft.item.ItemStack; +import net.minecraft.util.EnumChatFormatting; + +public class CustomMachineHandler extends TemplateRecipeHandler { + + public LinkedList transferRectsRec = new LinkedList(); + public LinkedList> guiRec = new LinkedList>(); + + public MachineConfiguration conf; + + @Override + public TemplateRecipeHandler newInstance() { // brick by brick, suck my dick + try { + return new CustomMachineHandler(conf); + } catch(Exception e) { + throw new RuntimeException(e); + } + } + + public CustomMachineHandler(MachineConfiguration conf) { + super(); + this.conf = conf; + loadTransferRects(); + RecipeTransferRectHandler.registerRectsToGuis(getRecipeTransferRectGuis(), transferRects); + } + + public class RecipeSet extends TemplateRecipeHandler.CachedRecipe { + + List inputs = new ArrayList(); + PositionedStack machine; + List outputs = new ArrayList(); + + public RecipeSet(CustomMachineRecipe recipe) { + + for(int i = 0; i < 3; i++) if(recipe.inputFluids.length > i) inputs.add(new PositionedStack(ItemFluidIcon.make(recipe.inputFluids[i]), 12 + i * 18, 6)); + for(int i = 0; i < 3; i++) if(recipe.inputItems.length > i) inputs.add(new PositionedStack(recipe.inputItems[i].extractForNEI(), 12 + i * 18, 24)); + for(int i = 3; i < 6; i++) if(recipe.inputItems.length > i) inputs.add(new PositionedStack(recipe.inputItems[i].extractForNEI(), 12 + i * 18, 42)); + + for(int i = 0; i < 3; i++) if(recipe.outputFluids.length > i) outputs.add(new PositionedStack(ItemFluidIcon.make(recipe.outputFluids[i]), 102 + i * 18, 6)); + + for(int i = 0; i < 3; i++) if(recipe.outputItems.length > i) { + Pair pair = recipe.outputItems[i]; + ItemStack out = pair.getKey(); + if(pair.getValue() != 1) { + ItemStackUtil.addTooltipToStack(out, EnumChatFormatting.RED + "" + (((int)(pair.getValue() * 1000)) / 10D) + "%"); + } + outputs.add(new PositionedStack(out, 102 + i * 18, 24)); + } + + for(int i = 3; i < 6; i++) if(recipe.outputItems.length > i) { + Pair pair = recipe.outputItems[i]; + ItemStack out = pair.getKey(); + if(pair.getValue() != 1) { + ItemStackUtil.addTooltipToStack(out, EnumChatFormatting.RED + "" + (((int)(pair.getValue() * 1000)) / 10D) + "%"); + } + outputs.add(new PositionedStack(out, 102 + i * 18, 42)); + } + + this.machine = new PositionedStack(new ItemStack(ModBlocks.custom_machine, 1, 100 + CustomMachineConfigJSON.niceList.indexOf(conf)), 75, 42); + } + + @Override + public List getIngredients() { + return getCycledIngredients(cycleticks / 20, inputs); + } + + @Override + public PositionedStack getResult() { + return outputs.get(0); + } + + @Override + public List getOtherStacks() { + List other = new ArrayList(); + other.addAll(inputs); + other.add(machine); + other.addAll(outputs); + return getCycledIngredients(cycleticks / 20, other); + } + } + + @Override + public String getRecipeName() { + return conf.localizedName; + } + + @Override + public String getGuiTexture() { + return RefStrings.MODID + ":textures/gui/nei/gui_nei_custom.png"; + } + + @Override + public void loadCraftingRecipes(String outputId, Object... results) { + + if(outputId.equals("ntm_" + conf.unlocalizedName)) { + + List recipes = CustomMachineRecipes.recipes.get(conf.recipeKey); + + if(recipes != null) for(CustomMachineRecipe recipe : recipes) { + this.arecipes.add(new RecipeSet(recipe)); + } + } else { + super.loadCraftingRecipes(outputId, results); + } + } + + @Override + public void loadCraftingRecipes(ItemStack result) { + + List recipes = CustomMachineRecipes.recipes.get(conf.recipeKey); + + System.out.println(conf.recipeKey); + + if(recipes != null) outer:for(CustomMachineRecipe recipe : recipes) { + + for(Pair stack : recipe.outputItems) { + + if(NEIServerUtils.areStacksSameTypeCrafting(stack.getKey(), result)) { + this.arecipes.add(new RecipeSet(recipe)); + continue outer; + } + } + + for(FluidStack fluid : recipe.outputFluids) { + ItemStack drop = ItemFluidIcon.make(fluid); + + if(compareFluidStacks(result, drop)) { + this.arecipes.add(new RecipeSet(recipe)); + continue outer; + } + } + } + } + + @Override + public void loadUsageRecipes(String inputId, Object... ingredients) { + + if(inputId.equals("ntm_" + conf.unlocalizedName)) { + loadCraftingRecipes("ntm_" + conf.unlocalizedName, new Object[0]); + } else { + super.loadUsageRecipes(inputId, ingredients); + } + } + + @Override + public void loadUsageRecipes(ItemStack ingredient) { + + List recipes = CustomMachineRecipes.recipes.get(conf.recipeKey); + + if(recipes != null) outer:for(CustomMachineRecipe recipe : recipes) { + + for(AStack stack : recipe.inputItems) { + + List stacks = stack.extractForNEI(); + + for(ItemStack sta : stacks) { + if(NEIServerUtils.areStacksSameTypeCrafting(ingredient, sta)) { + this.arecipes.add(new RecipeSet(recipe)); + continue outer; + } + } + } + + for(FluidStack fluid : recipe.inputFluids) { + ItemStack drop = ItemFluidIcon.make(fluid); + + if(compareFluidStacks(ingredient, drop)) { + this.arecipes.add(new RecipeSet(recipe)); + continue outer; + } + } + } + } + + public static boolean compareFluidStacks(ItemStack sta1, ItemStack sta2) { + return sta1.getItem() == sta2.getItem() && sta1.getItemDamage() == sta2.getItemDamage(); + } + + @Override + public void loadTransferRects() { + if(this.conf == null) return; + transferRects.add(new RecipeTransferRect(new Rectangle(65, 23, 36, 18), "ntm_" + conf.unlocalizedName)); + RecipeTransferRectHandler.registerRectsToGuis(getRecipeTransferRectGuis(), transferRects); + } +} diff --git a/src/main/java/com/hbm/inventory/container/ContainerElectrolyserMetal.java b/src/main/java/com/hbm/inventory/container/ContainerElectrolyserMetal.java new file mode 100644 index 000000000..881f1382c --- /dev/null +++ b/src/main/java/com/hbm/inventory/container/ContainerElectrolyserMetal.java @@ -0,0 +1,48 @@ +package com.hbm.inventory.container; + +import com.hbm.inventory.SlotCraftingOutput; +import com.hbm.tileentity.machine.TileEntityElectrolyser; + +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.entity.player.InventoryPlayer; +import net.minecraft.inventory.Container; +import net.minecraft.inventory.Slot; + +public class ContainerElectrolyserMetal extends Container { + + private TileEntityElectrolyser electrolyser; + + public ContainerElectrolyserMetal(InventoryPlayer invPlayer, TileEntityElectrolyser tedf) { + electrolyser = tedf; + + //Battery + this.addSlotToContainer(new Slot(tedf, 0, 186, 109)); + //Upgrades + this.addSlotToContainer(new Slot(tedf, 1, 186, 140)); + this.addSlotToContainer(new Slot(tedf, 2, 186, 158)); + //Input + this.addSlotToContainer(new Slot(tedf, 14, 10, 22)); + //Outputs + this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 15, 136, 18)); + this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 16, 154, 18)); + this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 17, 136, 36)); + this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 18, 154, 36)); + this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 19, 136, 54)); + this.addSlotToContainer(new SlotCraftingOutput(invPlayer.player, tedf, 20, 154, 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, 122 + i * 18)); + } + } + + for(int i = 0; i < 9; i++) { + this.addSlotToContainer(new Slot(invPlayer, i, 8 + i * 18, 180)); + } + } + + @Override + public boolean canInteractWith(EntityPlayer player) { + return electrolyser.isUseableByPlayer(player); + } +} diff --git a/src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java index f23f12075..fa4964eed 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java +++ b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserFluid.java @@ -4,11 +4,15 @@ 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.tileentity.machine.TileEntityElectrolyser; 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 GUIElectrolyserFluid extends GuiInfoContainer { @@ -37,6 +41,13 @@ public class GUIElectrolyserFluid extends GuiInfoContainer { protected void mouseClicked(int x, int y, int i) { super.mouseClicked(x, y, i); + + if(guiLeft + 8 <= x && guiLeft + 8 + 54 > x && guiTop + 82 < y && guiTop + 82 + 12 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("sgm", true); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, electrolyser.xCoord, electrolyser.yCoord, electrolyser.zCoord)); + } } @Override @@ -52,6 +63,15 @@ public class GUIElectrolyserFluid extends GuiInfoContainer { 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) (electrolyser.power * 89 / electrolyser.maxPower); + drawTexturedModalRect(guiLeft + 186, guiTop + 107 - p, 210, 89 - p, 16, p); + + if(electrolyser.power >= electrolyser.usage) + drawTexturedModalRect(guiLeft + 190, guiTop + 4, 226, 40, 9, 12); + + int e = electrolyser.progressFluid * 41 / electrolyser.processFluidTime; + drawTexturedModalRect(guiLeft + 62, guiTop + 26, 226, 0, 12, e); electrolyser.tanks[0].renderTank(guiLeft + 42, guiTop + 70, this.zLevel, 16, 52); electrolyser.tanks[1].renderTank(guiLeft + 96, guiTop + 70, this.zLevel, 16, 52); diff --git a/src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java new file mode 100644 index 000000000..e63e67df2 --- /dev/null +++ b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java @@ -0,0 +1,67 @@ +package com.hbm.inventory.gui; + +import org.lwjgl.opengl.GL11; + +import com.hbm.inventory.container.ContainerElectrolyserMetal; +import com.hbm.lib.RefStrings; +import com.hbm.packet.NBTControlPacket; +import com.hbm.packet.PacketDispatcher; +import com.hbm.tileentity.machine.TileEntityElectrolyser; + +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 GUIElectrolyserMetal extends GuiInfoContainer { + + public static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_electrolyser_metal.png"); + private TileEntityElectrolyser electrolyser; + + public GUIElectrolyserMetal(InventoryPlayer invPlayer, TileEntityElectrolyser electrolyser) { + super(new ContainerElectrolyserMetal(invPlayer, electrolyser)); + this.electrolyser = electrolyser; + + this.xSize = 210; + this.ySize = 204; + } + + @Override + public void drawScreen(int mouseX, int mouseY, float f) { + super.drawScreen(mouseX, mouseY, f); + + electrolyser.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 36, guiTop + 18, 16, 52); + + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 186, guiTop + 18, 16, 89, electrolyser.power, electrolyser.maxPower); + } + + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + if(guiLeft + 8 <= x && guiLeft + 8 + 54 > x && guiTop + 82 < y && guiTop + 82 + 12 >= y) { + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setBoolean("sgf", true); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, electrolyser.xCoord, electrolyser.yCoord, electrolyser.zCoord)); + } + } + + @Override + protected void drawGuiContainerForegroundLayer(int i, int j) { + String name = this.electrolyser.hasCustomInventoryName() ? this.electrolyser.getInventoryName() : I18n.format(this.electrolyser.getInventoryName()); + + this.fontRendererObj.drawString(name, (this.xSize / 2 - this.fontRendererObj.getStringWidth(name) / 2) - 16, 7, 0xffffff); + this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 94, 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); + + electrolyser.tanks[3].renderTank(guiLeft + 36, guiTop + 70, this.zLevel, 16, 52); + } +} diff --git a/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java b/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java new file mode 100644 index 000000000..5a61fb756 --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java @@ -0,0 +1,67 @@ +package com.hbm.inventory.recipes; + +import java.io.IOException; +import java.util.HashMap; + +import com.google.gson.JsonElement; +import com.google.gson.stream.JsonWriter; +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.ModItems; + +import net.minecraft.item.ItemStack; + +public class ElectrolyserFluidRecipes extends SerializableRecipe { + + public static HashMap recipes = new HashMap(); + + @Override + public void registerDefaults() { + recipes.put(Fluids.WATER, new ElectrolysisRecipe(1_000, new FluidStack(Fluids.HYDROGEN, 100), new FluidStack(Fluids.OXYGEN, 100))); + recipes.put(Fluids.HEAVYWATER, new ElectrolysisRecipe(1_000, new FluidStack(Fluids.DEUTERIUM, 50), new FluidStack(Fluids.OXYGEN, 50))); + + 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))); + } + + @Override + public String getFileName() { + return "hbmElectrolyzerFluid.json"; + } + + @Override + public Object getRecipeObject() { + return recipes; + } + + @Override + public void deleteRecipes() { + recipes.clear(); + } + + @Override + public void readRecipe(JsonElement recipe) { + + } + + @Override + public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { + + } + + public static class ElectrolysisRecipe { + public FluidStack output1; + public FluidStack output2; + public int amount; + public ItemStack[] byproduct; + + public ElectrolysisRecipe(int amount, FluidStack output1, FluidStack output2, ItemStack... byproduct) { + this.output1 = output1; + this.output2 = output2; + this.amount = amount; + this.byproduct = byproduct; + } + } +} diff --git a/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java b/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java new file mode 100644 index 000000000..40b3555c7 --- /dev/null +++ b/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java @@ -0,0 +1,58 @@ +package com.hbm.inventory.recipes; + +import java.io.IOException; +import java.util.HashMap; + +import com.google.gson.JsonElement; +import com.google.gson.stream.JsonWriter; +import com.hbm.inventory.RecipesCommon.AStack; +import com.hbm.inventory.material.Mats.MaterialStack; +import com.hbm.inventory.recipes.loader.SerializableRecipe; + +import net.minecraft.item.ItemStack; + +public class ElectrolyserMetalRecipes extends SerializableRecipe { + + public static HashMap recipes = new HashMap(); + + @Override + public void registerDefaults() { + + } + + public static ElectrolysisMetalRecipe getRecipe(ItemStack stack) { + return null; + } + + @Override + public String getFileName() { + return "hbmElectrolyzerMetal.json"; + } + + @Override + public Object getRecipeObject() { + return recipes; + } + + @Override + public void deleteRecipes() { + recipes.clear(); + } + + @Override + public void readRecipe(JsonElement recipe) { + + } + + @Override + public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { + + } + + public static class ElectrolysisMetalRecipe { + + public MaterialStack output1; + public MaterialStack output2; + public ItemStack[] byproducts; + } +} 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 c719bd86c..c2252db37 100644 --- a/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java +++ b/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java @@ -62,6 +62,8 @@ public abstract class SerializableRecipe { recipeHandlers.add(new MixerRecipes()); recipeHandlers.add(new OutgasserRecipes()); recipeHandlers.add(new CompressorRecipes()); + recipeHandlers.add(new ElectrolyserFluidRecipes()); + recipeHandlers.add(new MatDistribution()); recipeHandlers.add(new CustomMachineRecipes()); } diff --git a/src/main/java/com/hbm/items/block/ItemCustomMachine.java b/src/main/java/com/hbm/items/block/ItemCustomMachine.java index 434b61c06..61b1cf00c 100644 --- a/src/main/java/com/hbm/items/block/ItemCustomMachine.java +++ b/src/main/java/com/hbm/items/block/ItemCustomMachine.java @@ -12,7 +12,6 @@ import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; public class ItemCustomMachine extends ItemBlock { @@ -24,10 +23,7 @@ public class ItemCustomMachine extends ItemBlock { public void getSubItems(Item item, CreativeTabs tab, List list) { for(int i = 0; i < CustomMachineConfigJSON.niceList.size(); i++) { - MachineConfiguration conf = CustomMachineConfigJSON.niceList.get(i); ItemStack stack = new ItemStack(item, 1, i + 100); - stack.stackTagCompound = new NBTTagCompound(); - stack.stackTagCompound.setString("machineType", conf.unlocalizedName); list.add(stack); } } @@ -35,15 +31,14 @@ public class ItemCustomMachine extends ItemBlock { @Override public String getItemStackDisplayName(ItemStack stack) { - if(stack.hasTagCompound()) { - String name = stack.getTagCompound().getString("machineType"); - MachineConfiguration conf = CustomMachineConfigJSON.customMachines.get(name); + int id = stack.getItemDamage() - 100; + + if(id >= 0 && id < CustomMachineConfigJSON.customMachines.size()) { + MachineConfiguration conf = CustomMachineConfigJSON.niceList.get(id); if(conf != null) { return conf.localizedName; } - - return "INVALID MACHINE CONTROLLER (" + name + ")"; } return "INVALID MACHINE CONTROLLER"; diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index 6d2af30ab..323e01b0c 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -116,14 +116,15 @@ public class HbmWorldGen implements IWorldGenerator { if(WorldConfig.alexandriteSpawn > 0 && rand.nextInt(WorldConfig.alexandriteSpawn) == 0) DungeonToolbox.generateOre(world, rand, i, j, 1, 3, 10, 5, ModBlocks.ore_alexandrite); - DepthDeposit.generateConditionOverworld(world, i, 0, 3, j, 5, 0.6D, ModBlocks.cluster_depth_iron, rand, 24); - DepthDeposit.generateConditionOverworld(world, i, 0, 3, j, 5, 0.6D, ModBlocks.cluster_depth_titanium, rand, 32); - DepthDeposit.generateConditionOverworld(world, i, 0, 3, j, 5, 0.6D, ModBlocks.cluster_depth_tungsten, rand, 32); - 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); - if(WorldConfig.overworldOre) { + + DepthDeposit.generateConditionOverworld(world, i, 0, 3, j, 5, 0.6D, ModBlocks.cluster_depth_iron, rand, 24); + DepthDeposit.generateConditionOverworld(world, i, 0, 3, j, 5, 0.6D, ModBlocks.cluster_depth_titanium, rand, 32); + DepthDeposit.generateConditionOverworld(world, i, 0, 3, j, 5, 0.6D, ModBlocks.cluster_depth_tungsten, rand, 32); + 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); @@ -721,10 +722,18 @@ public class HbmWorldGen implements IWorldGenerator { 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) { + WeightedRandomGeneric item = (WeightedRandomGeneric) WeightedRandom.getRandomItem(rand, BedrockOre.weightedOresNether); + BedrockOreDefinition def = item.get(); + int randPosX = i + rand.nextInt(2) + 8; + int randPosZ = j + rand.nextInt(2) + 8; + BedrockOre.generate(world, randPosX, randPosZ, def.stack, def.acid, def.color, def.tier, ModBlocks.stone_depth_nether); + } - DepthDeposit.generateConditionNether(world, i, 0, 3, j, 7, 0.6D, ModBlocks.ore_depth_nether_neodymium, rand, 16); - DepthDeposit.generateConditionNether(world, i, 125, 3, j, 7, 0.6D, ModBlocks.ore_depth_nether_neodymium, rand, 16); + DepthDeposit.generateConditionNether(world, i, 0, 3, j, 7, 0.6D, ModBlocks.ore_depth_nether_neodymium, rand, 16); + DepthDeposit.generateConditionNether(world, i, 125, 3, j, 7, 0.6D, ModBlocks.ore_depth_nether_neodymium, rand, 16); + } for(int k = 0; k < 30; k++){ int x = i + rand.nextInt(16); diff --git a/src/main/java/com/hbm/main/NEIConfig.java b/src/main/java/com/hbm/main/NEIConfig.java index d0d0fa102..c5bc758a2 100644 --- a/src/main/java/com/hbm/main/NEIConfig.java +++ b/src/main/java/com/hbm/main/NEIConfig.java @@ -4,6 +4,8 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockMotherOfAllOres.TileEntityRandomOre; +import com.hbm.config.CustomMachineConfigJSON; +import com.hbm.config.CustomMachineConfigJSON.MachineConfiguration; import com.hbm.config.VersatileConfig; import com.hbm.handler.nei.*; import com.hbm.items.ModItems; @@ -14,6 +16,8 @@ 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.GuiCraftingRecipe; +import codechicken.nei.recipe.GuiUsageRecipe; import codechicken.nei.recipe.ICraftingHandler; import codechicken.nei.recipe.IUsageHandler; import net.minecraft.entity.player.EntityPlayer; @@ -69,6 +73,8 @@ public class NEIConfig implements IConfigureNEI { registerHandler(new SawmillHandler()); registerHandler(new MixerHandler()); registerHandler(new OutgasserHandler()); + + for(MachineConfiguration conf : CustomMachineConfigJSON.niceList) registerHandlerBypass(new CustomMachineHandler(conf)); //fluids registerHandler(new FluidRecipeHandler()); @@ -153,6 +159,12 @@ public class NEIConfig implements IConfigureNEI { 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); + GuiUsageRecipe.usagehandlers.add((IUsageHandler) o); + } @Override public String getName() { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java index 378317d76..0550dddc0 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java @@ -1,24 +1,40 @@ package com.hbm.tileentity.machine; 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.MaterialStack; +import com.hbm.inventory.recipes.ElectrolyserFluidRecipes; +import com.hbm.inventory.recipes.ElectrolyserFluidRecipes.ElectrolysisRecipe; +import com.hbm.inventory.recipes.ElectrolyserMetalRecipes; +import com.hbm.items.machine.ItemMachineUpgrade.UpgradeType; +import com.hbm.main.MainRegistry; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energy.IEnergyUser; +import api.hbm.fluid.IFluidStandardTransceiver; +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.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityElectrolyser extends TileEntityMachineBase implements IEnergyUser, IControlReceiver, IGUIProvider { +public class TileEntityElectrolyser extends TileEntityMachineBase implements IEnergyUser, IFluidStandardTransceiver, IControlReceiver, IGUIProvider { public long power; public static final long maxPower = 20000000; @@ -31,6 +47,10 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn public int progressOre; public static final int processOreTimeBase = 1000; public int processOreTime; + + public MaterialStack leftStack; + public MaterialStack rightStack; + public int maxMaterial = MaterialShapes.BLOCK.q(16); public FluidTank[] tanks; @@ -42,6 +62,8 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn //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); @@ -49,6 +71,22 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn 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() { @@ -60,6 +98,41 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn if(!worldObj.isRemote) { + 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); + + processFluidTime = processFluidTimeBase - processFluidTimeBase * speedLevel / 4; + processOreTime = processOreTimeBase - processOreTimeBase * speedLevel / 4; + usage = usageBase - usageBase * powerLevel / 4; + + if(this.canProcessFluid()) { + this.progressFluid++; + this.power -= this.usage; + + if(this.progressFluid >= this.processFluidTime) { + this.processFluids(); + this.progressFluid = 0; + this.markChanged(); + } + } + NBTTagCompound data = new NBTTagCompound(); data.setLong("power", this.power); data.setInteger("progressFluid", this.progressFluid); @@ -71,6 +144,20 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn 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) { @@ -83,6 +170,56 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn for(int i = 0; i < 4; i++) tanks[i].readFromNBT(nbt, "t" + i); } + public boolean canProcessFluid() { + + if(this.power < usage) 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; + } + } + } + } + AxisAlignedBB bb = null; @Override @@ -123,15 +260,32 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn 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) { - return new ContainerElectrolyserFluid(player.inventory, this); + 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) { - return new GUIElectrolyserFluid(player.inventory, this); + if(ID == 0) return new GUIElectrolyserFluid(player.inventory, this); + return new GUIElectrolyserMetal(player.inventory, this); } @Override @@ -141,7 +295,9 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn @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 diff --git a/src/main/java/com/hbm/world/feature/BedrockOre.java b/src/main/java/com/hbm/world/feature/BedrockOre.java index cce83e8ec..15077d50f 100644 --- a/src/main/java/com/hbm/world/feature/BedrockOre.java +++ b/src/main/java/com/hbm/world/feature/BedrockOre.java @@ -20,33 +20,41 @@ import net.minecraft.item.ItemStack; import net.minecraft.world.World; public class BedrockOre { - + public static List> weightedOres = new ArrayList(); + public static List> weightedOresNether = new ArrayList(); public static void init() { - registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.IRON, 1), WorldConfig.bedrockIronSpawn); - registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.COPPER, 1), WorldConfig.bedrockCopperSpawn); - registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.BORAX, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockBoraxSpawn); - registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.CHLOROCALCITE, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockChlorocalciteSpawn); - registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.ASBESTOS, 2), WorldConfig.bedrockAsbestosSpawn); - registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.NIOBIUM, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiobiumSpawn); - registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.TITANIUM, 2, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockTitaniumSpawn); - registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.TUNGSTEN, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockTungstenSpawn); - registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.GOLD, 1), WorldConfig.bedrockGoldSpawn); - registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.URANIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockUraniumSpawn); - registerBedrockOre(new BedrockOreDefinition(EnumBedrockOre.THORIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockThoriumSpawn); - registerBedrockOre(new BedrockOreDefinition(new ItemStack(Items.coal, 4), 1, 0x202020), WorldConfig.bedrockCoalSpawn); - registerBedrockOre(new BedrockOreDefinition(new ItemStack(ModItems.niter, 4), 2, 0x808080, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiterSpawn); - registerBedrockOre(new BedrockOreDefinition(new ItemStack(ModItems.fluorite, 4), 1, 0xd0d0d0), WorldConfig.bedrockFluoriteSpawn); - registerBedrockOre(new BedrockOreDefinition(new ItemStack(Items.redstone, 4), 1, 0xd01010), WorldConfig.bedrockRedstoneSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.IRON, 1), WorldConfig.bedrockIronSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.COPPER, 1), WorldConfig.bedrockCopperSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.BORAX, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockBoraxSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.CHLOROCALCITE, 3, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockChlorocalciteSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.ASBESTOS, 2), WorldConfig.bedrockAsbestosSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.NIOBIUM, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiobiumSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.TITANIUM, 2, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockTitaniumSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.TUNGSTEN, 2, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockTungstenSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.GOLD, 1), WorldConfig.bedrockGoldSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.URANIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockUraniumSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(EnumBedrockOre.THORIUM, 4, new FluidStack(Fluids.SULFURIC_ACID, 500)), WorldConfig.bedrockThoriumSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(Items.coal, 4), 1, 0x202020), WorldConfig.bedrockCoalSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(ModItems.niter, 4), 2, 0x808080, new FluidStack(Fluids.ACID, 500)), WorldConfig.bedrockNiterSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(ModItems.fluorite, 4), 1, 0xd0d0d0), WorldConfig.bedrockFluoriteSpawn); + registerBedrockOre(weightedOres, new BedrockOreDefinition(new ItemStack(Items.redstone, 4), 1, 0xd01010), WorldConfig.bedrockRedstoneSpawn); + + registerBedrockOre(weightedOresNether, new BedrockOreDefinition(new ItemStack(Items.glowstone_dust, 4), 1, 0xF9FF4D), WorldConfig.bedrockGlowstoneSpawn); + registerBedrockOre(weightedOresNether, new BedrockOreDefinition(new ItemStack(ModItems.powder_fire, 4), 1, 0xD7341F), WorldConfig.bedrockPhosphorusSpawn); } - public static void registerBedrockOre(BedrockOreDefinition def, int weight) { + public static void registerBedrockOre(List list, BedrockOreDefinition def, int weight) { WeightedRandomGeneric weighted = new WeightedRandomGeneric(def, weight); - weightedOres.add(weighted); + list.add(weighted); } public static void generate(World world, int x, int z, ItemStack stack, FluidStack acid, int color, int tier) { + generate(world, x, z, stack, acid, color, tier, ModBlocks.stone_depth); + } + + public static void generate(World world, int x, int z, ItemStack stack, FluidStack acid, int color, int tier, Block depthRock) { for(int ix = x - 1; ix <= x + 1; ix++) { for(int iz = z - 1; iz <= z + 1; iz++) { @@ -77,7 +85,7 @@ public class BedrockOre { Block b = world.getBlock(ix, iy, iz); if(b.isReplaceableOreGen(world, ix, iy, iz, Blocks.stone) || b.isReplaceableOreGen(world, ix, iy, iz, Blocks.bedrock)) { - world.setBlock(ix, iy, iz, ModBlocks.stone_depth); + world.setBlock(ix, iy, iz, depthRock); } } } diff --git a/src/main/resources/assets/hbm/textures/gui/nei/gui_nei_custom.png b/src/main/resources/assets/hbm/textures/gui/nei/gui_nei_custom.png new file mode 100644 index 0000000000000000000000000000000000000000..c28a69cf4fb1169db87a8a20583dc22ab5ffe364 GIT binary patch literal 1171 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K5893O0R7}x|G$6%N?Bp530R%N1DIGwrm#2$k zNX4ADcO3I>TM4iwSbf-}?xlBu`G*qYozg3%>mOxXWWN9W?cK7<+R`^y^cNjbeEz%P zK*#HznftGJB=O|=EuC{}rmyDg&(9Z_7H{46_DTgq!RnP?8Qe;=o__iD^~>vxUuQfJ zDlTPw-pDm|#hI(W%>2cj{=C}P)c|6Pg}rFq8Fjxb%Z6dc)hksD%)7LomT$Oxb-E+Z z<(tZ%cd#yyewI~xd*w%l2Vudl8F^mZ5@l#9ewkmlj^WwOIF1ir{`|R*PVpufS)6G`d^>q4`In`;r35`}4UBK*+rHp%aZm}+YtyQ!IDrTJd zDg8k9_oj=lT!eM!2Ns_@BIR%trXE@ElVS$$E1halc8j0gQJ&AdA_D57^J^GG)(HD< zsc}2IGyNKa*a|4y9htpZ`T#I&esj&WfjRSL%&nxK^|{=6%V(9I*g2*8c2juxQ?Z2Y zx6l6i`L`~fuibftm0?_9NrwyDr~mNF?D7zFlI8Xab@Q45>DXt zwdcIiJdOR)#|obBl`O{|aWM!LvwjfIp5OSt`sl+q=P$)DvOIl|&MW2Mz*l!|5hKgv z2kE|23@XbQ9g=`ln)?Dja1d?YsC;3n)png@SAX5TUb9}VxGvRw!LK(QB}>n(wZ8i0 zTio7fXN=ZBG(q(eNtLm9eT%#J>cX`*vW*G4Wh|@C>%y&v8nMlCYEjkal1p=fS?83{1OP@q&~g9( literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_electrolyser_fluid.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_electrolyser_fluid.png index b55cc63435db77cc96dbcfaec5c18f01579841d4..30b63b55ee4fa83b8890751e3fca91c92e336041 100644 GIT binary patch literal 4966 zcmb_g=U-Dxx1NL+>4+3TNDRjV(p3;Co)qpQ<@?H7itP?vUt}mMFF-w~&R^646s#$(l~LIz6U#U`J;SwuUvgIyI+# zI+O4H85j5pXt8UO2&+2M$mTWeb1QRGtagF@ap7?>d(u+;yPX2s>L{Dz6@PluW!e`3 z;M|*>U=kkha3Hk3y**m0xu>UxapuFwfw}d)ohg#UE`3D1vIwtm^5~%;xwW4rB;~tR zSsrD}QIWh6O)GaowG%AyZpj9JEmM~qT*uDadF z#b@frwtfF@DZW@?73p>)7s#<@LQaN})Fh%wX=!PR@2{H9s=L{)Y-}mFmSVIVhxt4w zP1(VE$NYR@WaO8wE~}U$T0$@|7`>a9lzkgtBC-zh{HQ2KY48dQdchQ{gb{D=z8XHE~eL4HwT zp}C)f4oghvFfS(;cff#hZ~=lcI{@Utde8cL8Dt#kt0=#0@tG|WkVOlNi!U_oXNC80 zJ$V00H|;TZ+nZ>Rw)^#P!L*eg2l!~7#+Q3vsj+;6RBDXj69HpbVS942Y)mw%zC7sD zr5AQwU_Lo5t)k{&_f$bN0pK8|Z}aB>PU|#c=6c;qUfB3uukjkI+2Pv#EH5qeULD4) zz9z`d0@J_&%ri3_hRqR;u|4)~dEKSD=FW(<775=y&Fl?};tE3Aogs~FE!A!F zjNeUlu(r_OlF@tcAoUS2JZ8(CAfV}IJRpp||FdR~WLrN`P`s7r zx`*~Bc+0y4zKVTVh@gDbO+TH;o|F$(x!+ytpFx)?5{5sV4Xml4&FI#z_7G%9gH`

    _<0>`I&@#!sL9d8GP;!kGK<4Ybkg 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

    2y=+S zprw|2ujx~^RXKshYBAgMl$0-g^Z}t6)!!DyV9(b_=K6&$o>FEHk=L_=8yg!-`xP!q z1*<{pmN+LkQOwaY2Y(}qlClT6LgCjI)5zJqKJ$pOSZ*MXQzGenjE#j&ba3{sPu32u z>gNKA?zh!ul@6s-Jf>dy6cplyqhsbzvz>p%A=adbwO&!y7c+xl!^%Sbxus9ZuL(K} zN`Yz94N+9of@0$pld~4H)%8$HB=mkjKE@at_1!a=worcY@0=54HJ7<9w_7k#QBm9< z{vsLPP+*R_?%I!tQ4D>^)}WEC^*ctB$Fxjb&SnYO@Ks-}EBzhpVwnnLge)5$cEVcC zC>ut#uf0_!)4jOpo+Ad+>lcb7zBAGPqizZBg&{M_cURumF~;pZm@?JcaM)jMgF-XW z8l!O|BO@2K=T`_kTF@>Xiz=G~*B6M(Z3@)TrXO#5+kNckriMASj`KEU?7-O@>}?6l zk;KY9G!B@4Ao8LP9jK_N_%O5NA1lSs+^b|bwl*6%E3?oXBA^zY5F;>~a^_CPybT$} z+IW?8tYYpZzd4R}mOE$D5gvKa%E*BKEqt!?XB8<)frBaCf zeXs#`W4Trq%E1Nk@UZq^Gk!-%M4k~?eWBs_?=Zqf0 NdP&b1SFC$A25BLNkRnSZYk2HSj7eq9 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 Date: Tue, 1 Aug 2023 23:49:50 -0500 Subject: [PATCH 281/285] Revamped OpenComputers compatibility, the following is a list of changes/additions. Added compatibility to the large launch pad Changed the way that fluids are handled by OC, they now use the internal names of said fluids. Changing over to a more compact function for energy related compatibility, not doing it fully until people have a bit of time to modify their programs. Fixed a minor bug where changing the steam type using OC in a RBMK boiler could potentially make infinite steam. Wiki will be updated for the compatibility on merge of this PR. --- .../tileentity/bomb/TileEntityLaunchPad.java | 18 ++-- .../bomb/TileEntityLaunchTable.java | 84 ++++++++++++++++++- .../machine/TileEntityCoreEmitter.java | 10 ++- .../machine/TileEntityCoreInjector.java | 10 +-- .../machine/TileEntityCoreReceiver.java | 12 ++- .../machine/TileEntityCoreStabilizer.java | 10 ++- .../machine/rbmk/TileEntityRBMKBoiler.java | 4 + .../machine/rbmk/TileEntityRBMKHeater.java | 6 +- .../machine/storage/TileEntityBarrel.java | 4 +- .../storage/TileEntityMachineBattery.java | 26 +++++- .../storage/TileEntityMachineFluidTank.java | 4 +- 11 files changed, 159 insertions(+), 29 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java index 9e7084101..d6a31650e 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java @@ -280,12 +280,18 @@ public class TileEntityLaunchPad extends TileEntityLoadedBase implements ISidedI @Callback @Optional.Method(modid = "OpenComputers") public Object[] getEnergyStored(Context context, Arguments args) { - return new Object[] {getPower()}; + return new Object[] {getPower(), "Consider switching to the main function 'getEnergyInfo', as this function is deprecated and will soon be removed."}; } @Callback @Optional.Method(modid = "OpenComputers") public Object[] getMaxEnergy(Context context, Arguments args) { - return new Object[] {getMaxPower()}; + return new Object[] {getMaxPower(), "Consider switching to the main function 'getEnergyInfo', as this function is deprecated and will soon be removed."}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getEnergyInfo(Context context, Arguments args) { + return new Object[] {getPower(), getMaxPower()}; } @Callback @@ -296,13 +302,15 @@ public class TileEntityLaunchPad extends TileEntityLoadedBase implements ISidedI int zCoord2 = slots[1].stackTagCompound.getInteger("zCoord"); // Not sure if i should have this + /* if(xCoord2 == xCoord && zCoord2 == zCoord) { xCoord2 += 1; } + */ return new Object[] {xCoord2, zCoord2}; } - return new Object[] {"Designator not found"}; + return new Object[] {false, "Designator not found"}; } @Callback @Optional.Method(modid = "OpenComputers") @@ -311,9 +319,9 @@ public class TileEntityLaunchPad extends TileEntityLoadedBase implements ISidedI slots[1].stackTagCompound.setInteger("xCoord", args.checkInteger(0)); slots[1].stackTagCompound.setInteger("zCoord", args.checkInteger(1)); - return new Object[] {"Success"}; + return new Object[] {true}; } - return new Object[] {"Designator not found"}; + return new Object[] {false, "Designator not found"}; } @Callback diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java index 71a0d7289..748d63c6c 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java @@ -2,6 +2,8 @@ package com.hbm.tileentity.bomb; import java.util.List; +import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.bomb.LaunchPad; import com.hbm.entity.missile.EntityMissileCustom; import com.hbm.handler.MissileStruct; import com.hbm.interfaces.IFluidAcceptor; @@ -28,9 +30,14 @@ import com.hbm.tileentity.TileEntityLoadedBase; import api.hbm.energy.IEnergyUser; import api.hbm.fluid.IFluidStandardReceiver; import api.hbm.item.IDesignatorItem; +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 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; @@ -43,7 +50,8 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider { +@Optional.InterfaceList({@Optional.Interface(iface = "li.cil.oc.api.network.SimpleComponent", modid = "OpenComputers")}) +public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISidedInventory, IEnergyUser, IFluidContainer, IFluidAcceptor, IFluidStandardReceiver, IGUIProvider, SimpleComponent { private ItemStack slots[]; @@ -597,6 +605,80 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide return tanks; } + // do some opencomputer stuff + @Override + public String getComponentName() { + return "large_launch_pad"; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getEnergyStored(Context context, Arguments args) { + return new Object[] {getPower(), "Consider switching to the main function 'getEnergyInfo', as this function is deprecated and will soon be removed."}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getMaxEnergy(Context context, Arguments args) { + return new Object[] {getMaxPower(), "Consider switching to the main function 'getEnergyInfo', as this function is deprecated and will soon be removed."}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getEnergyInfo(Context context, Arguments args) { + return new Object[] {getPower(), getMaxPower()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getContents(Context context, Arguments args) { + return new Object[] {tanks[0].getFill(), tanks[0].getMaxFill(), tanks[0].getTankType().getName(), tanks[1].getFill(), tanks[1].getMaxFill(), tanks[1].getTankType().getName(), solid, maxSolid}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getLaunchInfo(Context context, Arguments args) { + return new Object[] {canLaunch(), isMissileValid(), hasDesignator(), hasFuel()}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getCoords(Context context, Arguments args) { + if (slots[1] != null && slots[1].getItem() instanceof IDesignatorItem) { + int xCoord2 = slots[1].stackTagCompound.getInteger("xCoord"); + int zCoord2 = slots[1].stackTagCompound.getInteger("zCoord"); + + //unsure if this is needed, leaving here in case it is + /* + if(xCoord2 == xCoord && zCoord2 == zCoord) { + xCoord2 += 1; + } + */ + + return new Object[] {xCoord2, zCoord2}; + } + return new Object[] {false, "Designator not found"}; + } + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] setCoords(Context context, Arguments args) { + if (slots[1] != null && slots[1].getItem() instanceof IDesignatorItem) { + slots[1].stackTagCompound.setInteger("xCoord", args.checkInteger(0)); + slots[1].stackTagCompound.setInteger("zCoord", args.checkInteger(1)); + + return new Object[] {true}; + } + return new Object[] {false, "Designator not found"}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] launch(Context context, Arguments args) { + //worldObj.getBlock(xCoord, yCoord, zCoord).explode(worldObj, xCoord, yCoord, zCoord); + ((LaunchPad) ModBlocks.launch_pad).explode(worldObj, xCoord, yCoord, zCoord); + return new Object[] {}; + } + @Override public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { return new ContainerLaunchTable(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 218168090..4c51759ef 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -279,13 +279,19 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getEnergyStored(Context context, Arguments args) { - return new Object[] {getPower()}; + return new Object[] {getPower(), "Consider switching to the main function 'getEnergyInfo', as this function is deprecated and will soon be removed."}; } @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getMaxEnergy(Context context, Arguments args) { - return new Object[] {getMaxPower()}; + return new Object[] {getMaxPower(), "Consider switching to the main function 'getEnergyInfo', as this function is deprecated and will soon be removed."}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getEnergyInfo(Context context, Arguments args) { + return new Object[] {getPower(), getMaxPower()}; } @Callback(direct = true, limit = 4) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java index 7285639bd..b4fffdb9c 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreInjector.java @@ -202,20 +202,20 @@ public class TileEntityCoreInjector extends TileEntityMachineBase implements IFl @Callback(direct = true, limit = 2) @Optional.Method(modid = "OpenComputers") - public Object[] getFirstFuel(Context context, Arguments args) { - return new Object[] {tanks[0].getFill()}; + public Object[] getFuel(Context context, Arguments args) { + return new Object[] {tanks[0].getFill(), tanks[1].getFill()}; } @Callback(direct = true, limit = 2) @Optional.Method(modid = "OpenComputers") - public Object[] getSecondFuel(Context context, Arguments args) { - return new Object[] {tanks[1].getFill()}; + public Object[] getTypes(Context context, Arguments args) { + return new Object[] {tanks[0].getTankType().getName(), tanks[1].getTankType().getName()}; } @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[] {tanks[0].getFill(), tanks[1].getFill()}; + return new Object[] {tanks[0].getFill(), tanks[0].getTankType().getName(), tanks[1].getFill(), tanks[1].getTankType().getName()}; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java index 51b79e242..57fef61d5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreReceiver.java @@ -194,13 +194,19 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInput(Context context, Arguments args) { - return new Object[] {joules}; + return new Object[] {joules, "Consider switching to the main function 'getEnergyInfo', as this function is deprecated and will soon be removed."}; } @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getOutput(Context context, Arguments args) { - return new Object[] {power}; + return new Object[] {getPower(), "Consider switching to the main function 'getEnergyInfo', as this function is deprecated and will soon be removed."}; + } + + @Callback(direct = true, limit = 4) + @Optional.Method(modid = "OpenComputers") + public Object[] getEnergyInfo(Context context, Arguments args) { + return new Object[] {joules, getPower()}; //literally only doing this for the consistency between components } @Callback(direct = true, limit = 4) @@ -212,7 +218,7 @@ public class TileEntityCoreReceiver extends TileEntityMachineBase implements IEn @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[] {joules, power, tank.getFill()}; + return new Object[] {joules, getPower(), tank.getFill()}; } @Override diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java index de41bd82a..694dbd9f1 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java @@ -176,13 +176,19 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getEnergyStored(Context context, Arguments args) { - return new Object[] {power}; + return new Object[] {getPower(), "Consider switching to the main function 'getEnergyInfo', as this function is deprecated and will soon be removed."}; } @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getMaxEnergy(Context context, Arguments args) { - return new Object[] {maxPower}; + return new Object[] {getMaxPower(), "Consider switching to the main function 'getEnergyInfo', as this function is deprecated and will soon be removed."}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getEnergyInfo(Context context, Arguments args) { + return new Object[] {getPower(), getMaxPower()}; } @Callback(direct = true, limit = 4) 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 92dd33539..654c7878e 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKBoiler.java @@ -401,15 +401,19 @@ public class TileEntityRBMKBoiler extends TileEntityRBMKSlottedBase implements I } if(type == 0) { steam.setTankType(Fluids.STEAM); + steam.setFill(0); //too lazy to add a ton of additional code to divide the fill amount, fuck your steam return new Object[] {true}; } else if(type == 1) { steam.setTankType(Fluids.HOTSTEAM); + steam.setFill(0); return new Object[] {true}; } else if(type == 2) { steam.setTankType(Fluids.SUPERHOTSTEAM); + steam.setFill(0); return new Object[] {true}; } else { steam.setTankType(Fluids.ULTRAHOTSTEAM); + steam.setFill(0); return new Object[] {true}; } } 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 618f41a96..e9699b87f 100644 --- a/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java +++ b/src/main/java/com/hbm/tileentity/machine/rbmk/TileEntityRBMKHeater.java @@ -312,19 +312,19 @@ public class TileEntityRBMKHeater extends TileEntityRBMKSlottedBase implements I @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getFillType(Context context, Arguments args) { - return new Object[] {feed.getTankType().getID()}; + return new Object[] {feed.getTankType().getName()}; } @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getExportType(Context context, Arguments args) { - return new Object[] {steam.getTankType().getID()}; + return new Object[] {steam.getTankType().getName()}; } @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[] {heat, feed.getFill(), feed.getMaxFill(), steam.getFill(), steam.getMaxFill(), feed.getTankType().getID(), steam.getTankType().getID(), xCoord, yCoord, zCoord}; + return new Object[] {heat, feed.getFill(), feed.getMaxFill(), steam.getFill(), steam.getMaxFill(), feed.getTankType().getName(), steam.getTankType().getName(), xCoord, yCoord, zCoord}; } @Callback(direct = true, limit = 8) 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 c6fea9500..360d25ebe 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityBarrel.java @@ -389,12 +389,12 @@ public class TileEntityBarrel extends TileEntityMachineBase implements IFluidAcc @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getTypeStored(Context context, Arguments args) { - return new Object[] {tank.getTankType().getUnlocalizedName()}; + return new Object[] {tank.getTankType().getName()}; } @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[]{tank.getFill(), tank.getMaxFill(), tank.getTankType().getUnlocalizedName()}; + return new Object[]{tank.getFill(), tank.getMaxFill(), tank.getTankType().getName()}; } } 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 594fec515..334c6806f 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java @@ -1,6 +1,7 @@ package com.hbm.tileentity.machine.storage; import api.hbm.energy.*; +import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.MachineBattery; import com.hbm.inventory.container.ContainerMachineBattery; import com.hbm.inventory.gui.GUIMachineBattery; @@ -15,6 +16,7 @@ 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; @@ -392,19 +394,35 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I // do some opencomputer stuff @Override public String getComponentName() { - return "ntm_energy_storage"; // need a way to somehow detect the first word of the energy storage block so people wont get confused when it comes to multiple energy storage blocks + Block block = worldObj.getBlock(xCoord, yCoord, zCoord); + if (block.equals(ModBlocks.machine_battery_potato)) { + return "ntm_energy_storage_potato"; + } else if (block.equals(ModBlocks.machine_lithium_battery)) { + return "ntm_energy_storage_lithium"; + } else if (block.equals(ModBlocks.machine_schrabidium_battery)) { + return "ntm_energy_storage_schrabidum"; + } else if (block.equals(ModBlocks.machine_dineutronium_battery)) { + return "ntm_energy_storage_dineutronium"; + } else + return "ntm_energy_storage"; } @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") - public Object[] getEnergyStored(Context context, Arguments args) { - return new Object[] {getPower()}; + public Object[] getEnergyStored(Context context, Arguments args) { //TODO for gamma: when ready remove these deprecated functions in all components + return new Object[] {getPower(), "Consider switching to the main function 'getEnergyInfo', as this function is deprecated and will soon be removed."}; } @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getMaxEnergy(Context context, Arguments args) { - return new Object[] {getMaxPower()}; + return new Object[] {getMaxPower(), "Consider switching to the main function 'getEnergyInfo', as this function is deprecated and will soon be removed."}; + } + + @Callback + @Optional.Method(modid = "OpenComputers") + public Object[] getEnergyInfo(Context context, Arguments args) { + return new Object[] {getPower(), getMaxPower()}; } @Callback(direct = true, limit = 8) 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 1269da0a6..9332cb750 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineFluidTank.java @@ -487,12 +487,12 @@ public class TileEntityMachineFluidTank extends TileEntityMachineBase implements @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getTypeStored(Context context, Arguments args) { - return new Object[] {tank.getTankType().getUnlocalizedName()}; + return new Object[] {tank.getTankType().getName()}; } @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getInfo(Context context, Arguments args) { - return new Object[]{tank.getFill(), tank.getMaxFill(), tank.getTankType().getUnlocalizedName()}; + return new Object[]{tank.getFill(), tank.getMaxFill(), tank.getTankType().getName()}; } } \ No newline at end of file From 5e1f3b3134a3a571cf0009a4282eec65e5245efd Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Thu, 3 Aug 2023 00:51:12 -0500 Subject: [PATCH 282/285] Makes the new functions direct calls, which I had forgotten to do beforehand. --- .../java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java | 2 +- .../com/hbm/tileentity/machine/TileEntityCoreStabilizer.java | 2 +- .../tileentity/machine/storage/TileEntityMachineBattery.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java index 4c51759ef..95b972949 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreEmitter.java @@ -288,7 +288,7 @@ public class TileEntityCoreEmitter extends TileEntityMachineBase implements IEne return new Object[] {getMaxPower(), "Consider switching to the main function 'getEnergyInfo', as this function is deprecated and will soon be removed."}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getEnergyInfo(Context context, Arguments args) { return new Object[] {getPower(), getMaxPower()}; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java index 694dbd9f1..82ce38079 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCoreStabilizer.java @@ -185,7 +185,7 @@ public class TileEntityCoreStabilizer extends TileEntityMachineBase implements I return new Object[] {getMaxPower(), "Consider switching to the main function 'getEnergyInfo', as this function is deprecated and will soon be removed."}; } - @Callback + @Callback(direct = true, limit = 4) @Optional.Method(modid = "OpenComputers") public Object[] getEnergyInfo(Context context, Arguments args) { return new Object[] {getPower(), getMaxPower()}; 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 334c6806f..15e321eec 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java @@ -419,7 +419,7 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I return new Object[] {getMaxPower(), "Consider switching to the main function 'getEnergyInfo', as this function is deprecated and will soon be removed."}; } - @Callback + @Callback(direct = true, limit = 8) @Optional.Method(modid = "OpenComputers") public Object[] getEnergyInfo(Context context, Arguments args) { return new Object[] {getPower(), getMaxPower()}; From 39e37f0676c896df7c6ff3ed441b9672dc0339dd Mon Sep 17 00:00:00 2001 From: BallOfEnergy <66693744+BallOfEnergy1@users.noreply.github.com> Date: Thu, 3 Aug 2023 02:36:58 -0500 Subject: [PATCH 283/285] Fixed a minor bug in the coordinate OC compat for launch pads, also removed a feature because it keeps throwing a NullPointerException and I have no clue how to fix it --- .../hbm/tileentity/bomb/TileEntityLaunchPad.java | 16 ++++++++++++---- .../tileentity/bomb/TileEntityLaunchTable.java | 12 +++++++++--- .../storage/TileEntityMachineBattery.java | 13 ++----------- 3 files changed, 23 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java index d6a31650e..e69f71203 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchPad.java @@ -4,6 +4,8 @@ import com.hbm.blocks.ModBlocks; import com.hbm.blocks.bomb.LaunchPad; import com.hbm.inventory.container.ContainerLaunchPadTier1; import com.hbm.inventory.gui.GUILaunchPadTier1; +import com.hbm.items.ModItems; +import com.hbm.items.tool.ItemDesingator; import com.hbm.lib.Library; import com.hbm.packet.AuxElectricityPacket; import com.hbm.packet.PacketDispatcher; @@ -298,8 +300,13 @@ public class TileEntityLaunchPad extends TileEntityLoadedBase implements ISidedI @Optional.Method(modid = "OpenComputers") public Object[] getCoords(Context context, Arguments args) { if (slots[1] != null && slots[1].getItem() instanceof IDesignatorItem) { - int xCoord2 = slots[1].stackTagCompound.getInteger("xCoord"); - int zCoord2 = slots[1].stackTagCompound.getInteger("zCoord"); + int xCoord2; + int zCoord2; + if (slots[1].stackTagCompound != null) { + xCoord2 = slots[1].stackTagCompound.getInteger("xCoord"); + zCoord2 = slots[1].stackTagCompound.getInteger("zCoord"); + } else + return new Object[] {false}; // Not sure if i should have this /* @@ -307,7 +314,7 @@ public class TileEntityLaunchPad extends TileEntityLoadedBase implements ISidedI xCoord2 += 1; } */ - + return new Object[] {xCoord2, zCoord2}; } return new Object[] {false, "Designator not found"}; @@ -316,9 +323,10 @@ public class TileEntityLaunchPad extends TileEntityLoadedBase implements ISidedI @Optional.Method(modid = "OpenComputers") public Object[] setCoords(Context context, Arguments args) { if (slots[1] != null && slots[1].getItem() instanceof IDesignatorItem) { + slots[1].stackTagCompound = new NBTTagCompound(); slots[1].stackTagCompound.setInteger("xCoord", args.checkInteger(0)); slots[1].stackTagCompound.setInteger("zCoord", args.checkInteger(1)); - + return new Object[] {true}; } return new Object[] {false, "Designator not found"}; diff --git a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java index 748d63c6c..fa1018dc7 100644 --- a/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java +++ b/src/main/java/com/hbm/tileentity/bomb/TileEntityLaunchTable.java @@ -645,10 +645,15 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide @Optional.Method(modid = "OpenComputers") public Object[] getCoords(Context context, Arguments args) { if (slots[1] != null && slots[1].getItem() instanceof IDesignatorItem) { - int xCoord2 = slots[1].stackTagCompound.getInteger("xCoord"); - int zCoord2 = slots[1].stackTagCompound.getInteger("zCoord"); + int xCoord2; + int zCoord2; + if (slots[1].stackTagCompound != null) { + xCoord2 = slots[1].stackTagCompound.getInteger("xCoord"); + zCoord2 = slots[1].stackTagCompound.getInteger("zCoord"); + } else + return new Object[] {false}; - //unsure if this is needed, leaving here in case it is + // Not sure if i should have this /* if(xCoord2 == xCoord && zCoord2 == zCoord) { xCoord2 += 1; @@ -663,6 +668,7 @@ public class TileEntityLaunchTable extends TileEntityLoadedBase implements ISide @Optional.Method(modid = "OpenComputers") public Object[] setCoords(Context context, Arguments args) { if (slots[1] != null && slots[1].getItem() instanceof IDesignatorItem) { + slots[1].stackTagCompound = new NBTTagCompound(); slots[1].stackTagCompound.setInteger("xCoord", args.checkInteger(0)); slots[1].stackTagCompound.setInteger("zCoord", args.checkInteger(1)); 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 15e321eec..2d05bbf25 100644 --- a/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java +++ b/src/main/java/com/hbm/tileentity/machine/storage/TileEntityMachineBattery.java @@ -2,6 +2,7 @@ package com.hbm.tileentity.machine.storage; import api.hbm.energy.*; import com.hbm.blocks.ModBlocks; +import com.hbm.blocks.bomb.LaunchPad; import com.hbm.blocks.machine.MachineBattery; import com.hbm.inventory.container.ContainerMachineBattery; import com.hbm.inventory.gui.GUIMachineBattery; @@ -394,17 +395,7 @@ public class TileEntityMachineBattery extends TileEntityMachineBase implements I // do some opencomputer stuff @Override public String getComponentName() { - Block block = worldObj.getBlock(xCoord, yCoord, zCoord); - if (block.equals(ModBlocks.machine_battery_potato)) { - return "ntm_energy_storage_potato"; - } else if (block.equals(ModBlocks.machine_lithium_battery)) { - return "ntm_energy_storage_lithium"; - } else if (block.equals(ModBlocks.machine_schrabidium_battery)) { - return "ntm_energy_storage_schrabidum"; - } else if (block.equals(ModBlocks.machine_dineutronium_battery)) { - return "ntm_energy_storage_dineutronium"; - } else - return "ntm_energy_storage"; + return "ntm_energy_storage"; //ok if someone else can figure out how to do this that'd be nice (change the component name based on the type of storage block) } @Callback(direct = true, limit = 8) From 09b83da5788ba5da743475b4df4594824b5650ff Mon Sep 17 00:00:00 2001 From: Bob Date: Thu, 3 Aug 2023 13:37:23 +0200 Subject: [PATCH 284/285] armor UV, fixes, electrolyzer recipes --- changelog | 4 +- .../recipes/ElectrolyserFluidRecipes.java | 21 +++++ .../recipes/ElectrolyserMetalRecipes.java | 80 +++++++++++++++++- .../recipes/loader/SerializableRecipe.java | 1 + .../hbm/render/tileentity/RenderBobble.java | 4 +- .../machine/TileEntityCustomMachine.java | 17 ++-- src/main/resources/assets/hbm/lang/en_US.lang | 15 ++++ .../assets/hbm/sounds/block/hornFarDual.ogg | Bin 0 -> 119797 bytes .../assets/hbm/sounds/block/hornFarSingle.ogg | Bin 0 -> 68543 bytes .../assets/hbm/sounds/block/hornNearDual.ogg | Bin 0 -> 210065 bytes .../hbm/sounds/block/hornNearSingle.ogg | Bin 0 -> 121810 bytes .../assets/hbm/textures/armor/envsuit_arm.png | Bin 0 -> 314 bytes .../hbm/textures/armor/envsuit_chest.png | Bin 0 -> 645 bytes .../hbm/textures/armor/envsuit_helmet.png | Bin 0 -> 701 bytes .../assets/hbm/textures/armor/envsuit_leg.png | Bin 0 -> 548 bytes .../hbm/textures/armor/envsuit_tail.png | Bin 0 -> 764 bytes .../hbm/textures/models/trinkets/adam29.png | Bin 3166 -> 1984 bytes 17 files changed, 128 insertions(+), 14 deletions(-) create mode 100644 src/main/resources/assets/hbm/sounds/block/hornFarDual.ogg create mode 100644 src/main/resources/assets/hbm/sounds/block/hornFarSingle.ogg create mode 100644 src/main/resources/assets/hbm/sounds/block/hornNearDual.ogg create mode 100644 src/main/resources/assets/hbm/sounds/block/hornNearSingle.ogg create mode 100644 src/main/resources/assets/hbm/textures/armor/envsuit_arm.png create mode 100644 src/main/resources/assets/hbm/textures/armor/envsuit_chest.png create mode 100644 src/main/resources/assets/hbm/textures/armor/envsuit_helmet.png create mode 100644 src/main/resources/assets/hbm/textures/armor/envsuit_leg.png create mode 100644 src/main/resources/assets/hbm/textures/armor/envsuit_tail.png diff --git a/changelog b/changelog index dc78b26b6..b609d3764 100644 --- a/changelog +++ b/changelog @@ -7,4 +7,6 @@ * Custom machines now show their recipes in NEI * All it took was battling NEI's source code for 3 hours and my sanity -## Fixed \ No newline at end of file +## Fixed +* Fixed custom machines not sending fluid +* Fixed custom machine item IO not working beyond the first slot \ No newline at end of file diff --git a/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java b/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java index 5a61fb756..6eee6ba55 100644 --- a/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ElectrolyserFluidRecipes.java @@ -2,8 +2,10 @@ package com.hbm.inventory.recipes; import java.io.IOException; import java.util.HashMap; +import java.util.Map.Entry; 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.fluid.FluidType; @@ -43,12 +45,31 @@ public class ElectrolyserFluidRecipes extends SerializableRecipe { @Override public void readRecipe(JsonElement recipe) { + JsonObject obj = (JsonObject) recipe; + + FluidStack input = this.readFluidStack(obj.get("input").getAsJsonArray()); + FluidStack output1 = this.readFluidStack(obj.get("output1").getAsJsonArray()); + FluidStack output2 = this.readFluidStack(obj.get("output2").getAsJsonArray()); + 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, 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(); + } } public static class ElectrolysisRecipe { diff --git a/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java b/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java index 40b3555c7..d5d3fe492 100644 --- a/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ElectrolyserMetalRecipes.java @@ -2,12 +2,22 @@ package com.hbm.inventory.recipes; import java.io.IOException; import java.util.HashMap; +import java.util.List; +import java.util.Map.Entry; +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.RecipesCommon.AStack; +import com.hbm.inventory.RecipesCommon.ComparableStack; +import com.hbm.inventory.RecipesCommon.OreDictStack; +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.ModItems; +import com.hbm.util.ItemStackUtil; import net.minecraft.item.ItemStack; @@ -17,10 +27,31 @@ public class ElectrolyserMetalRecipes extends SerializableRecipe { @Override public void registerDefaults() { - + + recipes.put(new ComparableStack(ModItems.crystal_iron), new ElectrolysisMetalRecipe( + new MaterialStack(Mats.MAT_IRON, MaterialShapes.INGOT.q(6)), + new MaterialStack(Mats.MAT_TITANIUM, MaterialShapes.INGOT.q(2)), + new ItemStack(ModItems.powder_lithium_tiny, 1))); + recipes.put(new ComparableStack(ModItems.crystal_gold), new ElectrolysisMetalRecipe( + new MaterialStack(Mats.MAT_IRON, MaterialShapes.INGOT.q(6)), + new MaterialStack(Mats.MAT_LEAD, MaterialShapes.INGOT.q(2)), + new ItemStack(ModItems.powder_lithium_tiny, 1), + new ItemStack(ModItems.ingot_mercury, 1))); } public static ElectrolysisMetalRecipe getRecipe(ItemStack stack) { + + 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; } @@ -41,18 +72,63 @@ public class ElectrolyserMetalRecipes extends SerializableRecipe { @Override public void readRecipe(JsonElement recipe) { + JsonObject obj = (JsonObject) recipe; + AStack input = this.readAStack(obj.get("input").getAsJsonArray()); + + JsonArray out1 = obj.get("output1").getAsJsonArray(); + String name1 = out1.get(0).getAsString(); + int amount1 = out1.get(1).getAsInt(); + MaterialStack output1 = new MaterialStack(Mats.matByName.get(name1), amount1); + + JsonArray out2 = obj.get("output2").getAsJsonArray(); + String name2 = out2.get(0).getAsString(); + int amount2 = out2.get(1).getAsInt(); + MaterialStack output2 = new MaterialStack(Mats.matByName.get(name2), amount2); + + ItemStack[] byproducts = new ItemStack[0]; + if(obj.has("byproducts")) byproducts = this.readItemStackArray(obj.get("byproducts").getAsJsonArray()); + + recipes.put(input, new ElectrolysisMetalRecipe(output1, output2, byproducts)); } @Override public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { + Entry rec = (Entry) recipe; + writer.name("input"); this.writeAStack(rec.getKey(), writer); + + writer.name("output1"); + writer.beginArray(); + writer.setIndent(""); + writer.value(rec.getValue().output1.material.names[0]).value(rec.getValue().output1.amount); + writer.endArray(); + writer.setIndent(" "); + + writer.name("output2"); + writer.beginArray(); + writer.setIndent(""); + writer.value(rec.getValue().output2.material.names[0]).value(rec.getValue().output2.amount); + 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(); + } } public static class ElectrolysisMetalRecipe { public MaterialStack output1; public MaterialStack output2; - public ItemStack[] byproducts; + public ItemStack[] byproduct; + + public ElectrolysisMetalRecipe(MaterialStack output1, MaterialStack output2, ItemStack... byproduct) { + this.output1 = output1; + this.output2 = output2; + this.byproduct = byproduct; + } } } 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 c2252db37..cf6ed2490 100644 --- a/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java +++ b/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java @@ -63,6 +63,7 @@ public abstract class SerializableRecipe { recipeHandlers.add(new OutgasserRecipes()); recipeHandlers.add(new CompressorRecipes()); recipeHandlers.add(new ElectrolyserFluidRecipes()); + recipeHandlers.add(new ElectrolyserMetalRecipes()); recipeHandlers.add(new MatDistribution()); recipeHandlers.add(new CustomMachineRecipes()); diff --git a/src/main/java/com/hbm/render/tileentity/RenderBobble.java b/src/main/java/com/hbm/render/tileentity/RenderBobble.java index 021499dbc..5d2e0ea14 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderBobble.java +++ b/src/main/java/com/hbm/render/tileentity/RenderBobble.java @@ -404,9 +404,9 @@ public class RenderBobble extends TileEntitySpecialRenderer { renderItem(new ItemStack(ModItems.coin_maskman, 1, 5)); break; case ADAM29: - GL11.glTranslated(0.45, 1.15, 0.4); + GL11.glTranslated(0.4, 1.15, 0.4); GL11.glScaled(0.5, 0.5, 0.5); - renderItem(new ItemStack(ModItems.coffee)); + renderItem(new ItemStack(ModItems.can_redbomb)); break; case PHEO: GL11.glTranslated(0.5, 1.15, 0.45); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java index dc3302b46..4803e6e38 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityCustomMachine.java @@ -114,10 +114,9 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF } } - if(config.generatorMode && power > 0) { - for(DirPos pos : this.connectionPos) { - this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); - } + for(DirPos pos : this.connectionPos) { + if(config.generatorMode && power > 0) this.sendPower(worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); + for(FluidTank tank : this.outputTanks) if(tank.getFill() > 0) this.sendFluid(tank, worldObj, pos.getX(), pos.getY(), pos.getZ(), pos.getDir()); } if(this.structureOK) { @@ -337,12 +336,12 @@ public class TileEntityCustomMachine extends TileEntityMachineBase implements IF @Override public int[] getAccessibleSlotsFromSide(int side) { if(this.config == null) return new int[] { }; - if(this.config.itemInCount > 0) return new int[] { 4, 16, 17, 18, 19, 20, 21 }; - if(this.config.itemInCount > 1) return new int[] { 4, 5, 16, 17, 18, 19, 20, 21 }; - if(this.config.itemInCount > 2) return new int[] { 4, 5, 6, 16, 17, 18, 19, 20, 21 }; - if(this.config.itemInCount > 3) return new int[] { 4, 5, 6, 7, 16, 17, 18, 19, 20, 21 }; - if(this.config.itemInCount > 4) return new int[] { 4, 5, 6, 7, 8, 16, 17, 18, 19, 20, 21 }; if(this.config.itemInCount > 5) return new int[] { 4, 5, 6, 7, 8, 9, 16, 17, 18, 19, 20, 21 }; + if(this.config.itemInCount > 4) return new int[] { 4, 5, 6, 7, 8, 16, 17, 18, 19, 20, 21 }; + if(this.config.itemInCount > 3) return new int[] { 4, 5, 6, 7, 16, 17, 18, 19, 20, 21 }; + if(this.config.itemInCount > 2) return new int[] { 4, 5, 6, 16, 17, 18, 19, 20, 21 }; + if(this.config.itemInCount > 1) return new int[] { 4, 5, 16, 17, 18, 19, 20, 21 }; + if(this.config.itemInCount > 0) return new int[] { 4, 16, 17, 18, 19, 20, 21 }; return new int[] { }; } diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 4bfcf8ce1..37d2f9508 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -431,6 +431,21 @@ book_lore.bf_bomb_5.page.6=There's a vital distinction to be made between dissec 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) 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=[ Press F1 for help ] cannery.centrifuge=Gas Centrifuge diff --git a/src/main/resources/assets/hbm/sounds/block/hornFarDual.ogg b/src/main/resources/assets/hbm/sounds/block/hornFarDual.ogg new file mode 100644 index 0000000000000000000000000000000000000000..f92fc501413e8173468efe9a2c4902cebc781747 GIT binary patch literal 119797 zcmce;cUTlnw=de{j6)uxLzFBapdew$InR&;g&~88?S1xro^$T~=d7o@x~eO5*RR%EwQ605)O4!9$*GtHx83Qo!w- zk)n!;4G2YLq(lustzv}-{|#WG)-(Ws3!u4);){0G94960pf}>(@+BO!@07s^qV+Z; zhRQ#0V?WX+NUc^+Jyy>&F~gzrg5f%K{ffCU!8P`*P}>Hq7nHA%DiKOb=W zVO{_ZVmai>G~~*mq|Y(r#!qmC@Gt<5DO{g_z)e)eU3AD@3OrOi6h~4tC%$Q3`*#p9 z!wvv&VWt6BrV$VgeStYQF(Y^BC3meQ5DE+;|9c9);uo+Zthu&nj%dPL36@u|puuLL z1%wKuf1d;vh%DHKWld*&osb~U+R3k=&YtUuLS)})ugJ*08o`H?^jqLq@{DE<$Oq{y!Ez3>Sp*d;#$a8O>8#!Ic4{ydm6Cm5O2!mX4@xQ?pEC1!<;-qNaQSQcZkuiQu zP~A5vd05v6Q6LotxtL!Jl_@9jRAISkgp$WT^$rMzq@K8>uwmi|_0sdEVT&af=nMM*hG#WUxX89++i0XV5 zouN|F6V)=HF`uFFoTIfd5I3I_vzbHMEO^M_~Sn&H9q(f0G=Hh_Fe- zZ>c8X{+HzBbH{JqiDy?!;xI|#@=ddg%BslB+pj1j{vVQKA6=FaT^1R=7a7kTmF5tY zRoPznaJ2TY2}DMqGpXwD~)2AqEgD^idLKxEyzkM^<@K-SvR6J^~5Z*@;+p8 z&3Pb8D=N)Q(pWq5Ze(%IAW@xp@Q9GE<~N>-8}X^;k9nWcv! zT1zFBwInMvS_`TFBs*$JjPSv?zan&bR>QccdAdV~;DV=lTdjTNze%H1FbM!?ECK)x zP>sSt2(i%I01yK*u#GRv5GWd7r9jTj+V$laX#nB0G|A$Mo)!fGw9nd$V#CaQ05KDI zc{rV7%#@E|0=O!G9&p7JpZKacBdV3Wt(sKoo3{tTSIMh}VL>Ud`Wyn8W^DqtTWFtE zS=mvCxedx4IAhsol|~hEXO&iV2#RWbRn()_GC-Qs{ZsOwqk&XP=jzsyC&o_sUkKF8 zOm{$?2bH@)kEFFMBBEnK|I1Kl;Yi_u3`=5l9!}9{IUddwLV4AS;uJMif#yXKZXQr! zah5b0nvND1FX}sGrp%i<)c`;p4gq+Q6kPR-1pq=5^fAVQk}A(2)IFZ9nA$2OQHbo{EZ<*yAoy7aq)TPtgZ0i*X6{ij-L4T_#W=VhjyXD}p8m7XXxZ zV*#*k<-`dhr6C$7(8@R(X1mZjg_K|a_o*x7X1ZB*Xf9wi~WE%$%bqtPUvzRde zK`hcy;_^eNkFt`(bqeh6A95@mZ}&<%gkR7_%Y_ zLJ0su8=#eBAy3aOYRw5G5Cd>%5w+E%np%a3GS40?W!BUtL4Q(?yQJBcrz9sdN#AKg zUtQt`XUSp~4}GYvx_XURstA5TN{Xq|WE4bRy=GuJhl({U#Wbc~;)WFuPcziYU3*Yp z-%)sQH^-p1nbv9oG{DT91O`n>0J!~Q0JvLc=^2(>Slg5}u2#_uElObv1K+cz8JY|BHVLc-b}zQ1c-}NtSbWc#A1sWDtp_J%ry8)! zH4_qhW==dUP$%a}i8B9(!i&aE;FSIRUQ7)J1|i?a09w7yH6pdRv3F+U3Ws(qAQtTS z?!QyJS_#Nu;EP=iT#7m-!5-6DdrC0sF#0~RRVAj3dCAnKrm5wn6LuPx78 zGeBzE-8g-0c#b2h5~3- zAPm(2q5vvB0L!qBud&IosI4OT<%iJj8y@|(*25);@omLvcCmRB=W+qf+6JBlX3_&h z0HEJwLSiU~Z@aj8*^!?{pBz-{Uc;~*jsa5VR4#QqHl$gOnbZa}XgJP8w=v z#aCcOZdz4eLMaKZJ5Me z@9}SZpiY&0CbCL-K#P`LRpkopgsr-^K(^lu~`hj$rSk6pyDx+!h{)Y zk>wS%jHSfJNC9z$n#woMC{GV!n3k6J@;R=$us%#hRbR96y)uo`wU&@SW*8(N1M zAV=si@`r&7w@`m4i4fSZ$RJc8%tLnzk%zJY8*)=!mxHZN~qEXWf*Ps5PZ zA&*m$L|&ETVN6nBX-*m9sm8jPgs;y@X2|JK$CZq&MTn)v-Onr9P05fzipP6(gN9fx z96L=HMo*03!b%NCkA~zo$n%@9j_9h|P!@|&AZT$%i0iGxITRACBZZ23YNMuM>8oLP zg<=_w7wK`Wu01xU4rLXB!L@VTEmVi42qohtak+XCir8Efk!UIi1lY@wXP3^1 zR8D{s@XEOYlv_D>V3h2WM8S7pdxXOjiP0IPyvgb%BIRhce6}#iNU>FtdXgwtsC-x( zcPuNVkPjdS0QSZN@+$1G{Fwuwzfwk%LzTTm`2p5_$Me_A295ER{*4*%ijzyqsS4>z z|Ji419#WBn=(m9(#{6s+RUwtw`Royq7GhfckY>}G_|mLs%SL+Rg-0#~eGE7_F_tjL zRyKPrTvOpgfGk6?TbII)LQh?NwbQUl3HZ=#Fq=>HYA%u3n|Jsi0aWAUCe-_G))*+2?3lNPRV!cCd)gMf;MOi=nIEVf# zdN>M+3*$;4#aF|Tq_NU1GLXPh_}tH|06e7*;}L{&q>cj7*~Jp*Qtc#iIvDYQnk&SD ziescWiDR0EH&q_1-#A_0Y|9KKWSAzZ@w}^If!H)dG2hMP#rAxGKVqP{Pw4vp_Y!!BZm3F~+Sj zrw~>gkkjge_OUsJR0cCEk=FA?PoOGIwG^UfX6@b>@;%&n12~W}syV=tFe6t&eKmBH zZc_1KX52*fu3Ur*`DyHltVjS`S&@mJ)omlz9l(C>Ljyw*L83V!dblb8ZjLZ&m{5Y9 zJoXO6Eeyue&l`N3ygLEPhR=@LO<*NZrinBNRxS|W$WNpWv7kg?Q&Gp#qsyr^u|q3hkYsiJa^5h#EsmBe@@m3d7~)hI#U|!O zp*+P2^29aZsn(N$Po?=el;|Q+-mlmqBqUZ&xu{}hd3fIbq4WP`l9qG?pUC_O<>cg4 zL-9`iJpFP`N=xoc0?v2x-~#j);qB}JIMBjU^P`BjGslX!$WC*F(n35k>%;hI?to|w zD*6qR)|_LOHooElB6|TvXguE(iHcCW;T7%r5^>Uy7-%}&=o zvJ{^*M0>XUV2y|DPOuw_NsTu_1e~w1uE~>40>e@W0$@^&C^82JaD^Mv8`iI&7u2{= zRGMO3R9H|fY%3-R)*TW&i|#}miakv(B5GdHED%lN$RN~nP?s#U(A0N;Q*V&pVIR4p zV9n2iOVO>b4!VDuOVuM-3+zQ1KzAZLZZNXO(CEc0zih7g1$C~1nWATbzdjT_5A^d8 zRYM`Gs*D~4d|$}cH8QeEnEvoVEnnps3$qdhZbjuAA9M4!J~f6mXvJLRqM4Z)?r2zD zN@Zn5MTKK!5*DSr9yJ-65=97LTTzK2YkXBgR%#^*c}Q?(2?B{!A0dT+%alSw)<^(c zrSg`fB=tfp&{+8P*xGHM`>w4EE|6j2LoLwwZGG2d&p*FK+{VSEu)Tl2f9kSCrtk;A zA)Q7KFbDp8-}$zK^{Og*%L~lY@(k^SLw5B)kuy7VAv_GS%Sje$aGBv~< zt*W-KX=IDE3?ZbQ7sYdh&sUMA%A#45o`$p!WlY+m zTOSE6%SNbbmthYTu&$Nh5*hSCcS> zuaGdkL{XY3L>PlzYI{#LT(%fFdE#iII;Vz6L4+~f22B~I@hp`(lAZVlR#-63 zBzB~MB)~l!3CXyvD8iCM^%x&b4n?t=ztt+!(A@ZQEmb`dgg--qhue=RjhonVCk&T?GeiNj)s*lDA zVVEyp#K~q(#zD;^#$PbQ$yS3+6M`hWB`T^0rzxhCTd;^oBJW8GD}|LajO!u{Ig$%` z2rKb5D3ioE6lSRV^@DjMOCqcZwJ4=G5Zep>EX>S8SdFOG3_hn=qE$Fgxjf{A#ws?=$9YPvCI!cyq(jx7E7 zbg3%r_!`pzckTwHh|cxCFfyZCw{feDG8!vhvz_1$Lj$k6U*P2AW)ferIo^o5C@XH_ z!v<30PNe1Q_iIoh>=7TVZmC8{�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%0A*NmQKI#82<`w|jBA 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 I^=x1NKL+AQ;s5{u literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/doors/sliding_blast_door_variant2.png b/src/main/resources/assets/hbm/textures/models/doors/sliding_blast_door_variant2.png new file mode 100644 index 0000000000000000000000000000000000000000..8a327955d43a688d234548c80d6e2ded2e416813 GIT binary patch literal 41151 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 literal 0 HcmV?d00001 From 71814dae87f891d52979bfb6ed6ec9aff77f22be Mon Sep 17 00:00:00 2001 From: Toshayo Date: Wed, 21 Jun 2023 22:45:55 +0200 Subject: [PATCH 200/285] Some clean-up --- src/main/java/com/hbm/interfaces/IDoor.java | 2 +- src/main/java/com/hbm/tileentity/DoorDecl.java | 2 -- .../java/com/hbm/tileentity/TileEntityDoorGeneric.java | 9 ++------- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/hbm/interfaces/IDoor.java b/src/main/java/com/hbm/interfaces/IDoor.java index 81d6229ed..a0c539a28 100644 --- a/src/main/java/com/hbm/interfaces/IDoor.java +++ b/src/main/java/com/hbm/interfaces/IDoor.java @@ -19,6 +19,6 @@ public interface IDoor { CLOSED, OPEN, CLOSING, - OPENING; + OPENING } } diff --git a/src/main/java/com/hbm/tileentity/DoorDecl.java b/src/main/java/com/hbm/tileentity/DoorDecl.java index d977ae7a1..b7683d828 100644 --- a/src/main/java/com/hbm/tileentity/DoorDecl.java +++ b/src/main/java/com/hbm/tileentity/DoorDecl.java @@ -420,6 +420,4 @@ public abstract class DoorDecl { f[2] = z; return f; } - - ; } diff --git a/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java b/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java index 2f2636495..5968d685e 100644 --- a/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java +++ b/src/main/java/com/hbm/tileentity/TileEntityDoorGeneric.java @@ -54,9 +54,7 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn } } - if(worldObj.isRemote) { - - } else { + if(!worldObj.isRemote) { BlockPos pos = new BlockPos(this); @@ -284,10 +282,7 @@ public class TileEntityDoorGeneric extends TileEntityLockableBase implements IAn //Ah yes piggy backing on this packet @Override public void setTextureState(byte tex){ - if(tex > 0) - shouldUseBB = true; - else - shouldUseBB = false; + shouldUseBB = tex > 0; } public int getSkinIndex() { From c3f13a87862a0822841791737e4afa5be3492045 Mon Sep 17 00:00:00 2001 From: Toshayo Date: Thu, 22 Jun 2023 08:25:32 +0200 Subject: [PATCH 201/285] Added logging of item stats re-registration end --- src/main/java/com/hbm/main/MainRegistry.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 19c93acf9..6fc8c873e 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -932,6 +932,7 @@ public class MainRegistry { if(GeneralConfig.enableStatReRegistering) { logger.info("Attempting to re-register item stats..."); StatHelper.resetStatShitFuck(); //shit yourself + logger.info("Item stats re-registered"); } } From 9f873e6b7611bf8e1bf78bb4a34ac34fef70030e Mon Sep 17 00:00:00 2001 From: Toshayo Date: Thu, 22 Jun 2023 08:31:45 +0200 Subject: [PATCH 202/285] Skin name in door skin item --- .../com/hbm/items/special/ItemSlidingBlastDoorSkin.java | 6 ++++++ src/main/resources/assets/hbm/lang/en_US.lang | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/items/special/ItemSlidingBlastDoorSkin.java b/src/main/java/com/hbm/items/special/ItemSlidingBlastDoorSkin.java index ab48475f8..36008e132 100644 --- a/src/main/java/com/hbm/items/special/ItemSlidingBlastDoorSkin.java +++ b/src/main/java/com/hbm/items/special/ItemSlidingBlastDoorSkin.java @@ -4,6 +4,7 @@ import com.hbm.lib.RefStrings; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.renderer.texture.IIconRegister; +import net.minecraft.item.ItemStack; public class ItemSlidingBlastDoorSkin extends ItemDoorSkin { public ItemSlidingBlastDoorSkin() { @@ -19,4 +20,9 @@ public class ItemSlidingBlastDoorSkin extends ItemDoorSkin { this.icons[1] = reg.registerIcon(RefStrings.MODID + ":sliding_blast_door_variant1"); this.icons[2] = reg.registerIcon(RefStrings.MODID + ":sliding_blast_door_variant2"); } + + @Override + public String getUnlocalizedName(ItemStack stack) { + return super.getUnlocalizedName(stack) + "." + stack.getItemDamage(); + } } diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 925bde4ae..fa62d042a 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -3838,7 +3838,9 @@ item.singularity_super_heated.name=Superheated Resonating Singularity item.siox.name=SiOX Cancer Medication item.siox.desc=Reverses mesothelioma with the power of Asbestos! item.siren_track.name=Siren Track -item.sliding_blast_door_skin.name=Sliding Blast Door Skin +item.sliding_blast_door_skin.0.name=Sliding Blast Door Skin: Default +item.sliding_blast_door_skin.1.name=Sliding Blast Door Skin: Variant 1 +item.sliding_blast_door_skin.2.name=Sliding Blast Door Skin: Variant 2 item.smashing_hammer.name=Smashing Hammer item.solid_fuel.name=Solid Fuel item.solid_fuel_bf.name=Solid Fuel (Balefire) From 0be6b6644603c0bfa5f4c8f5da7a9455c3770cee Mon Sep 17 00:00:00 2001 From: Toshayo Date: Thu, 22 Jun 2023 09:01:09 +0200 Subject: [PATCH 203/285] Improved satellite loot system again so lunar loot is in lunar satellite and not in random class --- .../hbm/entity/missile/EntityMinerRocket.java | 13 +- .../satellites/SatelliteLunarMiner.java | 19 +- .../saveddata/satellites/SatelliteMiner.java | 55 +- .../SatelliteMinerCargoRegistry.java | 82 --- .../machine/TileEntityMachineSatDock.java | 594 +++++++++--------- 5 files changed, 358 insertions(+), 405 deletions(-) delete mode 100644 src/main/java/com/hbm/saveddata/satellites/SatelliteMinerCargoRegistry.java diff --git a/src/main/java/com/hbm/entity/missile/EntityMinerRocket.java b/src/main/java/com/hbm/entity/missile/EntityMinerRocket.java index cb8af88ae..6264046a9 100644 --- a/src/main/java/com/hbm/entity/missile/EntityMinerRocket.java +++ b/src/main/java/com/hbm/entity/missile/EntityMinerRocket.java @@ -10,11 +10,8 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.world.World; public class EntityMinerRocket extends Entity { - //0 landing, 1 unloading, 2 lifting public int timer = 0; - //0 asteroid, 1 moon - public String satelliteClassName = "com.hbm.saveddata.satellites.SatelliteMiner"; public EntityMinerRocket(World p_i1582_1_) { super(p_i1582_1_); @@ -24,13 +21,12 @@ public class EntityMinerRocket extends Entity { @Override protected void entityInit() { - this.dataWatcher.addObject(16, Integer.valueOf(0)); - this.dataWatcher.addObject(17, Integer.valueOf(0)); + this.dataWatcher.addObject(16, 0); + this.dataWatcher.addObject(17, 0); } @Override public void onUpdate() { - if(dataWatcher.getWatchableObjectInt(16) == 0) motionY = -0.75; if(dataWatcher.getWatchableObjectInt(16) == 1) @@ -43,7 +39,6 @@ public class EntityMinerRocket extends Entity { this.setPositionAndRotation(posX + motionX, posY + motionY, posZ + motionZ, 0.0F, 0.0F); - if(dataWatcher.getWatchableObjectInt(16) == 0 && worldObj.getBlock((int)(posX - 0.5), (int)(posY - 0.5), (int)(posZ - 0.5)) == ModBlocks.sat_dock) { dataWatcher.updateObject(16, 1); motionY = 0; @@ -55,7 +50,6 @@ public class EntityMinerRocket extends Entity { } if(dataWatcher.getWatchableObjectInt(16) == 1) { - if(!worldObj.isRemote && ticksExisted % 4 == 0) ExplosionLarge.spawnShock(worldObj, posX, posY, posZ, 1 + rand.nextInt(3), 1 + rand.nextGaussian()); @@ -79,7 +73,6 @@ public class EntityMinerRocket extends Entity { dataWatcher.updateObject(16, nbt.getInteger("mode")); dataWatcher.updateObject(17, nbt.getInteger("sat")); timer = nbt.getInteger("timer"); - satelliteClassName = nbt.getString("type"); } @Override @@ -87,7 +80,5 @@ public class EntityMinerRocket extends Entity { nbt.setInteger("mode", dataWatcher.getWatchableObjectInt(16)); nbt.setInteger("sat", dataWatcher.getWatchableObjectInt(17)); nbt.setInteger("timer", timer); - nbt.setString("type", satelliteClassName); } - } diff --git a/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java b/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java index 99195b6d5..76f680841 100644 --- a/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java +++ b/src/main/java/com/hbm/saveddata/satellites/SatelliteLunarMiner.java @@ -1,3 +1,20 @@ package com.hbm.saveddata.satellites; -public class SatelliteLunarMiner extends SatelliteMiner { } \ No newline at end of file +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; +import com.hbm.util.WeightedRandomObject; +import net.minecraft.item.ItemStack; + +public class SatelliteLunarMiner extends SatelliteMiner { + static { + registerCargo(new WeightedRandomObject[] { + new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 48), 5), + new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 32), 7), + new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 16), 5), + new WeightedRandomObject(new ItemStack(ModItems.powder_lithium, 3), 5), + new WeightedRandomObject(new ItemStack(ModItems.powder_iron, 3), 5), + new WeightedRandomObject(new ItemStack(ModItems.crystal_iron, 1), 1), + new WeightedRandomObject(new ItemStack(ModItems.crystal_lithium, 1), 1) + }); + } +} \ No newline at end of file diff --git a/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java b/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java index f54beb254..c5bd22821 100644 --- a/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java +++ b/src/main/java/com/hbm/saveddata/satellites/SatelliteMiner.java @@ -1,9 +1,46 @@ package com.hbm.saveddata.satellites; +import com.hbm.blocks.ModBlocks; +import com.hbm.items.ModItems; +import com.hbm.util.WeightedRandomObject; +import net.minecraft.init.Items; +import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; public class SatelliteMiner extends Satellite { - + /** + * {@link WeightedRandomObject} array with loot the satellite will deliver. + */ + private static WeightedRandomObject[] CARGO = new WeightedRandomObject[] { + new WeightedRandomObject(new ItemStack(ModItems.powder_aluminium, 3), 10), + new WeightedRandomObject(new ItemStack(ModItems.powder_iron, 3), 10), + new WeightedRandomObject(new ItemStack(ModItems.powder_titanium, 2), 8), + new WeightedRandomObject(new ItemStack(ModItems.crystal_tungsten, 2), 7), + new WeightedRandomObject(new ItemStack(ModItems.powder_coal, 4), 15), + new WeightedRandomObject(new ItemStack(ModItems.powder_uranium, 2), 5), + new WeightedRandomObject(new ItemStack(ModItems.powder_plutonium, 1), 5), + new WeightedRandomObject(new ItemStack(ModItems.powder_thorium, 2), 7), + new WeightedRandomObject(new ItemStack(ModItems.powder_desh_mix, 3), 5), + new WeightedRandomObject(new ItemStack(ModItems.powder_diamond, 2), 7), + new WeightedRandomObject(new ItemStack(Items.redstone, 5), 15), + new WeightedRandomObject(new ItemStack(ModItems.powder_nitan_mix, 2), 5), + new WeightedRandomObject(new ItemStack(ModItems.powder_power, 2), 5), + new WeightedRandomObject(new ItemStack(ModItems.powder_copper, 5), 15), + new WeightedRandomObject(new ItemStack(ModItems.powder_lead, 3), 10), + new WeightedRandomObject(new ItemStack(ModItems.fluorite, 4), 15), + new WeightedRandomObject(new ItemStack(ModItems.powder_lapis, 4), 10), + new WeightedRandomObject(new ItemStack(ModItems.powder_combine_steel, 1), 1), + new WeightedRandomObject(new ItemStack(ModItems.crystal_aluminium, 1), 5), + new WeightedRandomObject(new ItemStack(ModItems.crystal_gold, 1), 5), + new WeightedRandomObject(new ItemStack(ModItems.crystal_phosphorus, 1), 10), + new WeightedRandomObject(new ItemStack(ModBlocks.gravel_diamond, 1), 3), + new WeightedRandomObject(new ItemStack(ModItems.crystal_uranium, 1), 3), + new WeightedRandomObject(new ItemStack(ModItems.crystal_plutonium, 1), 3), + new WeightedRandomObject(new ItemStack(ModItems.crystal_trixite, 1), 1), + new WeightedRandomObject(new ItemStack(ModItems.crystal_starmetal, 1), 1), + new WeightedRandomObject(new ItemStack(ModItems.crystal_lithium, 2), 4) + }; + public long lastOp; public SatelliteMiner() { @@ -17,4 +54,20 @@ public class SatelliteMiner extends Satellite { public void readFromNBT(NBTTagCompound nbt) { lastOp = nbt.getLong("lastOp"); } + + /** + * Replaces cargo of the satellite. + * @param cargo - Array of {@link WeightedRandomObject} representing the loot that will be delivered. + */ + public static void registerCargo(WeightedRandomObject[] cargo) { + CARGO = cargo; + } + + /** + * Gets items the satellite can deliver. + * @return - Array of {@link WeightedRandomObject} of satellite loot. + */ + public WeightedRandomObject[] getCargo() { + return CARGO; + } } diff --git a/src/main/java/com/hbm/saveddata/satellites/SatelliteMinerCargoRegistry.java b/src/main/java/com/hbm/saveddata/satellites/SatelliteMinerCargoRegistry.java deleted file mode 100644 index 7caf98f02..000000000 --- a/src/main/java/com/hbm/saveddata/satellites/SatelliteMinerCargoRegistry.java +++ /dev/null @@ -1,82 +0,0 @@ -package com.hbm.saveddata.satellites; - -import com.hbm.blocks.ModBlocks; -import com.hbm.items.ModItems; -import com.hbm.util.WeightedRandomObject; -import net.minecraft.init.Items; -import net.minecraft.item.ItemStack; - -import java.util.HashMap; - -public class SatelliteMinerCargoRegistry { - private static final HashMap cargo = new HashMap() {{ - put(SatelliteMiner.class.getName(), new WeightedRandomObject[] { - new WeightedRandomObject(new ItemStack(ModItems.powder_aluminium, 3), 10), - new WeightedRandomObject(new ItemStack(ModItems.powder_iron, 3), 10), - new WeightedRandomObject(new ItemStack(ModItems.powder_titanium, 2), 8), - new WeightedRandomObject(new ItemStack(ModItems.crystal_tungsten, 2), 7), - new WeightedRandomObject(new ItemStack(ModItems.powder_coal, 4), 15), - new WeightedRandomObject(new ItemStack(ModItems.powder_uranium, 2), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_plutonium, 1), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_thorium, 2), 7), - new WeightedRandomObject(new ItemStack(ModItems.powder_desh_mix, 3), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_diamond, 2), 7), - new WeightedRandomObject(new ItemStack(Items.redstone, 5), 15), - new WeightedRandomObject(new ItemStack(ModItems.powder_nitan_mix, 2), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_power, 2), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_copper, 5), 15), - new WeightedRandomObject(new ItemStack(ModItems.powder_lead, 3), 10), - new WeightedRandomObject(new ItemStack(ModItems.fluorite, 4), 15), - new WeightedRandomObject(new ItemStack(ModItems.powder_lapis, 4), 10), - new WeightedRandomObject(new ItemStack(ModItems.powder_combine_steel, 1), 1), - new WeightedRandomObject(new ItemStack(ModItems.crystal_aluminium, 1), 5), - new WeightedRandomObject(new ItemStack(ModItems.crystal_gold, 1), 5), - new WeightedRandomObject(new ItemStack(ModItems.crystal_phosphorus, 1), 10), - new WeightedRandomObject(new ItemStack(ModBlocks.gravel_diamond, 1), 3), - new WeightedRandomObject(new ItemStack(ModItems.crystal_uranium, 1), 3), - new WeightedRandomObject(new ItemStack(ModItems.crystal_plutonium, 1), 3), - new WeightedRandomObject(new ItemStack(ModItems.crystal_trixite, 1), 1), - new WeightedRandomObject(new ItemStack(ModItems.crystal_starmetal, 1), 1), - new WeightedRandomObject(new ItemStack(ModItems.crystal_lithium, 2), 4) - }); - put(SatelliteLunarMiner.class.getName(), new WeightedRandomObject[] { - new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 48), 5), - new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 32), 7), - new WeightedRandomObject(new ItemStack(ModBlocks.moon_turf, 16), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_lithium, 3), 5), - new WeightedRandomObject(new ItemStack(ModItems.powder_iron, 3), 5), - new WeightedRandomObject(new ItemStack(ModItems.crystal_iron, 1), 1), - new WeightedRandomObject(new ItemStack(ModItems.crystal_lithium, 1), 1), - }); - }}; - - /** - * Register cargo for specified satellite object - * @param o - Satellite object - * @param cargo - WeightedRandomObject array with loot - */ - public static void register(Object o, WeightedRandomObject[] cargo) { - SatelliteMinerCargoRegistry.cargo.put(o.getClass().getName(), cargo); - } - - /** - * Register cargo for specified satellite class - * @param c - Satellite class - * @param cargo - WeightedRandomObject array with loot - */ - public static void register(Class c, WeightedRandomObject[] cargo) { - SatelliteMinerCargoRegistry.cargo.put(c.getName(), cargo); - } - - /** - * Get loot by satellite class name - * @param satelliteName - Satellite class name, like com.hbm.saveddata.satellites.SatelliteMiner - * @return - WeightedRandomObject array with loot - */ - public static WeightedRandomObject[] getCargo(String satelliteName) { - if(cargo.containsKey(satelliteName)) { - return cargo.get(satelliteName); - } - return new WeightedRandomObject[0]; - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java index 47dd95969..6a29cf0d3 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineSatDock.java @@ -1,8 +1,5 @@ package com.hbm.tileentity.machine; -import java.util.List; -import java.util.Random; - import com.hbm.entity.missile.EntityMinerRocket; import com.hbm.explosion.ExplosionNukeSmall; import com.hbm.inventory.container.ContainerSatDock; @@ -11,10 +8,8 @@ import com.hbm.items.ISatChip; import com.hbm.saveddata.SatelliteSavedData; import com.hbm.saveddata.satellites.Satellite; import com.hbm.saveddata.satellites.SatelliteMiner; -import com.hbm.saveddata.satellites.SatelliteMinerCargoRegistry; import com.hbm.tileentity.IGUIProvider; import com.hbm.util.WeightedRandomObject; - import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; import net.minecraft.client.gui.GuiScreen; @@ -31,355 +26,334 @@ import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.WeightedRandom; import net.minecraft.world.World; +import java.util.List; +import java.util.Random; + 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 String customName; - - public TileEntityMachineSatDock() { - slots = new ItemStack[16]; + 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; + + 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 int getSizeInventory() { - return slots.length; - } + @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 ItemStack getStackInSlot(int i) { - return slots[i]; - } + return itemStack1; + } else { + return null; + } + } - @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 readFromNBT(NBTTagCompound nbt) { + super.readFromNBT(nbt); + NBTTagList list = nbt.getTagList("items", 10); - @Override - public void setInventorySlotContents(int i, ItemStack itemStack) { - slots[i] = itemStack; - if(itemStack != null && itemStack.stackSize > getInventoryStackLimit()) { - itemStack.stackSize = getInventoryStackLimit(); - } - } + slots = new ItemStack[getSizeInventory()]; - @Override - public String getInventoryName() { - return this.hasCustomInventoryName() ? this.customName : "container.satDock"; - } + 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 hasCustomInventoryName() { - return this.customName != null && this.customName.length() > 0; - } - - public void setCustomName(String name) { - this.customName = name; - } + @Override + public void writeToNBT(NBTTagCompound nbt) { + super.writeToNBT(nbt); + NBTTagList list = new NBTTagList(); - @Override - public int getInventoryStackLimit() { - return 64; - } + 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 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 int[] getAccessibleSlotsFromSide(int p_94128_1_) { + return access; + } - @Override - public boolean isItemValidForSlot(int i, ItemStack itemStack) { - if(i == 2 || i == 3 || i == 4 || i == 5) { - return false; - } + @Override + public boolean canInsertItem(int i, ItemStack itemStack, int j) { + return this.isItemValidForSlot(i, itemStack); + } - return true; - } + @Override + public boolean canExtractItem(int i, ItemStack itemStack, int j) { + return true; + } - @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; - } + SatelliteSavedData data = null; - return itemStack1; - } else { - return null; - } - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - NBTTagList list = nbt.getTagList("items", 10); + @Override + public void updateEntity() { + if (!worldObj.isRemote) { + if (data == null) + data = (SatelliteSavedData) worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites"); - slots = new ItemStack[getSizeInventory()]; + if (data == null) { + worldObj.perWorldStorage.setData("satellites", new SatelliteSavedData()); + data = (SatelliteSavedData) worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites"); + } + data.markDirty(); - 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); - NBTTagList list = new NBTTagList(); + if (data != null && slots[15] != null) { + int freq = ISatChip.getFreqS(slots[15]); - 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 access; - } + Satellite sat = data.getSatFromFreq(freq); - @Override - public boolean canInsertItem(int i, ItemStack itemStack, int j) { - return this.isItemValidForSlot(i, itemStack); - } + int delay = 10 * 60 * 1000; - @Override - public boolean canExtractItem(int i, ItemStack itemStack, int j) { - return true; - } - - SatelliteSavedData data = null; - - @Override - public void updateEntity() { + if (sat instanceof SatelliteMiner) { + SatelliteMiner miner = (SatelliteMiner) sat; - if(!worldObj.isRemote) { + 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(data == null) - data = (SatelliteSavedData) worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites"); + rocket.getDataWatcher().updateObject(17, freq); + worldObj.spawnEntityInWorld(rocket); + miner.lastOp = System.currentTimeMillis(); + data.markDirty(); + } + } + } - if(data == null) { - worldObj.perWorldStorage.setData("satellites", new SatelliteSavedData()); - data = (SatelliteSavedData) worldObj.perWorldStorage.loadData(SatelliteSavedData.class, "satellites"); - } - data.markDirty(); + 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)); - if(data != null && slots[15] != null) { - int freq = ISatChip.getFreqS(slots[15]); + for (Entity e : list) { + if (e instanceof EntityMinerRocket) { + EntityMinerRocket rocket = (EntityMinerRocket) e; - Satellite sat = data.getSatFromFreq(freq); + 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; + } - int delay = 10 * 60 * 1000; + if (rocket.getDataWatcher().getWatchableObjectInt(16) == 1 && rocket.timer == 50) { + Satellite sat = data.getSatFromFreq(ISatChip.getFreqS(slots[15])); + unloadCargo((SatelliteMiner) sat); + } + } + } - if(sat instanceof SatelliteMiner) { + ejectInto(xCoord + 2, yCoord, zCoord); + ejectInto(xCoord - 2, yCoord, zCoord); + ejectInto(xCoord, yCoord, zCoord + 2); + ejectInto(xCoord, yCoord, zCoord - 2); + } + } - SatelliteMiner miner = (SatelliteMiner) sat; + static final Random rand = new Random(); - if(miner.lastOp + delay < System.currentTimeMillis()) { + private void unloadCargo(SatelliteMiner satellite) { + int items = rand.nextInt(6) + 10; - EntityMinerRocket rocket = new EntityMinerRocket(worldObj); - rocket.posX = xCoord + 0.5; - rocket.posY = 300; - rocket.posZ = zCoord + 0.5; + WeightedRandomObject[] cargo = satellite.getCargo(); - rocket.satelliteClassName = miner.getClass().getName(); + for (int i = 0; i < items; i++) { + ItemStack stack = ((WeightedRandomObject) WeightedRandom.getRandomItem(rand, cargo)).asStack(); + addToInv(stack.copy()); + } + } - rocket.getDataWatcher().updateObject(17, freq); - worldObj.spawnEntityInWorld(rocket); - miner.lastOp = System.currentTimeMillis(); - data.markDirty(); - } - } - } + 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); - 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)); + slots[i].stackSize += toAdd; + stack.stackSize -= toAdd; - for(Entity e : list) { + if (stack.stackSize <= 0) return; + } + } - if(e instanceof EntityMinerRocket) { + for (int i = 0; i < 15; i++) { + if (slots[i] == null) { + slots[i] = new ItemStack(stack.getItem(), 1, stack.getItemDamage()); + return; + } + } + } - EntityMinerRocket rocket = (EntityMinerRocket) e; + private void ejectInto(int x, int y, int z) { + TileEntity te = worldObj.getTileEntity(x, y, z); - 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 (te instanceof IInventory) { + IInventory chest = (IInventory) te; - if(rocket.getDataWatcher().getWatchableObjectInt(16) == 1 && rocket.timer == 50) { - unloadCargo(rocket.satelliteClassName); - } - } - } + 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; - ejectInto(xCoord + 2, yCoord, zCoord); - ejectInto(xCoord - 2, yCoord, zCoord); - ejectInto(xCoord, yCoord, zCoord + 2); - ejectInto(xCoord, yCoord, zCoord - 2); - } - } - - static Random rand = new Random(); - - private void unloadCargo(String satelliteClassName) { - int items = rand.nextInt(6) + 10; + 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()) { - WeightedRandomObject[] cargo = SatelliteMinerCargoRegistry.getCargo(satelliteClassName); + slots[i].stackSize--; - for(int i = 0; i < items; i++) { + if (slots[i].stackSize <= 0) + slots[i] = null; - ItemStack stack = ((WeightedRandomObject)WeightedRandom.getRandomItem(rand, cargo)).asStack(); - addToInv(stack.copy()); - } - } - - 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; - - 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; - } - } - } - - private void ejectInto(int x, int y, int z) { + chest.getStackInSlot(j).stackSize++; + return; + } + } + } + } - TileEntity te = worldObj.getTileEntity(x, y, z); - - 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; - - 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--; - - if(slots[i].stackSize <= 0) - slots[i] = null; - - 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; - - if(chest.getStackInSlot(j) == null && chest.isItemValidForSlot(j, sta)) { - - slots[i].stackSize--; - - if(slots[i].stackSize <= 0) - slots[i] = null; - - chest.setInventorySlotContents(j, sta); - return; - } - } - } - } - } - } - - 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; - } + 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; - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() { - return 65536.0D; - } + if (chest.getStackInSlot(j) == null && chest.isItemValidForSlot(j, sta)) { + slots[i].stackSize--; - @Override - public Container provideContainer(int ID, EntityPlayer player, World world, int x, int y, int z) { - return new ContainerSatDock(player.inventory, this); - } + if (slots[i].stackSize <= 0) + slots[i] = null; - @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); - } + chest.setInventorySlotContents(j, sta); + return; + } + } + } + } + } + } + + 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; + } + + @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); + } } From eafc615fd20070a42f2c704faa0dce3af5969736 Mon Sep 17 00:00:00 2001 From: Toshayo Date: Thu, 22 Jun 2023 14:42:30 +0200 Subject: [PATCH 204/285] Added night vision goggles --- .../com/hbm/crafting/ConsumableRecipes.java | 3 +- src/main/java/com/hbm/items/ModItems.java | 5 ++- .../hbm/items/armor/ItemModNightVision.java | 41 ++++++++++++++++++ src/main/resources/assets/hbm/lang/en_US.lang | 3 ++ src/main/resources/assets/hbm/lang/fr_FR.lang | 3 ++ src/main/resources/assets/hbm/lang/ru_RU.lang | 3 ++ .../hbm/textures/items/night_vision.png | Bin 0 -> 906 bytes 7 files changed, 56 insertions(+), 2 deletions(-) create mode 100644 src/main/java/com/hbm/items/armor/ItemModNightVision.java create mode 100644 src/main/resources/assets/hbm/textures/items/night_vision.png diff --git a/src/main/java/com/hbm/crafting/ConsumableRecipes.java b/src/main/java/com/hbm/crafting/ConsumableRecipes.java index d4dd9d69c..09a1a8f3d 100644 --- a/src/main/java/com/hbm/crafting/ConsumableRecipes.java +++ b/src/main/java/com/hbm/crafting/ConsumableRecipes.java @@ -201,7 +201,8 @@ public class ConsumableRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.gas_tester, 1), new Object[] { "G", "C", "I", 'G', GOLD.plate(), 'C', ModItems.circuit_aluminium, 'I', IRON.plate() }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.defuser_gold, 1), new Object[] { "GPG", "PRP", "GPG", 'G', Items.gunpowder, 'P', GOLD.plate(), 'R', "record" }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.ballistic_gauntlet, 1), new Object[] { " WS", "WRS", " RS", 'W', ModItems.wire_copper, 'R', ModItems.ring_starmetal, 'S', STEEL.plate() }); - + CraftingManager.addRecipeAuto(new ItemStack(ModItems.night_vision, 1), "PIP", "RCR", "PIP", 'P', STEEL.plate(), 'W', ModItems.wire_schrabidium, 'R', ModItems.ring_starmetal, 'I', ModItems.ingot_schrabidium, 'C', ModItems.circuit_schrabidium); + //Stealth boy CraftingManager.addRecipeAuto(new ItemStack(ModItems.stealth_boy, 1), new Object[] { " B", "LI", "LC", 'B', Blocks.stone_button, 'L', Items.leather, 'I', STEEL.ingot(), 'C', ModItems.circuit_red_copper }); diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 006fd1a9e..7ac1dea09 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -2169,6 +2169,7 @@ public class ModItems { public static Item gas_tester; public static Item defuser_gold; public static Item ballistic_gauntlet; + public static Item night_vision; public static Item hazmat_helmet; public static Item hazmat_plate; @@ -3402,6 +3403,7 @@ public class ModItems { 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"); 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"); @@ -7616,7 +7618,8 @@ public class ModItems { 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()); + //Chaos GameRegistry.registerItem(chocolate_milk, chocolate_milk.getUnlocalizedName()); GameRegistry.registerItem(cbt_device, cbt_device.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/armor/ItemModNightVision.java b/src/main/java/com/hbm/items/armor/ItemModNightVision.java new file mode 100644 index 000000000..6df89d2a6 --- /dev/null +++ b/src/main/java/com/hbm/items/armor/ItemModNightVision.java @@ -0,0 +1,41 @@ +package com.hbm.items.armor; + +import com.hbm.handler.ArmorModHandler; +import net.minecraft.client.resources.I18n; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.EnumChatFormatting; + +import java.util.List; + +public class ItemModNightVision extends ItemArmorMod { + 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(""); + 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())); + } + + @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(entity.getRNG().nextInt(50) == 0) { + armor.damageItem(1, entity); + } + } + } +} diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index fa62d042a..7ad3b28de 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -3066,6 +3066,9 @@ item.mysteryshovel.name=Brittle Spade item.n2_charge.name=Large Explosive Charge item.neutrino_lens.name=Neutrino Lens item.neutron_reflector.name=Neutron Reflector +item.night_vision.name=Night Vision Goggles +item.night_vision.description.item=Grants you night vision (requires full electric set) +item.night_vision.description.in_armor=%s (grants night vision) item.niter.name=Niter item.no9.name=Mining Helmet item.nossy_hat.name=Fabulous Hat diff --git a/src/main/resources/assets/hbm/lang/fr_FR.lang b/src/main/resources/assets/hbm/lang/fr_FR.lang index 0635ab9d1..2da92f416 100644 --- a/src/main/resources/assets/hbm/lang/fr_FR.lang +++ b/src/main/resources/assets/hbm/lang/fr_FR.lang @@ -477,6 +477,9 @@ item.plate_titanium.name=Plaque en titane item.plate_aluminium.name=Plaque d'aluminium item.wire_red_copper.name=Fil de cuivre rouge item.neutron_reflector.name=Reflecteur neutronique +item.night_vision.name=Lunettes de vision nocturne +item.night_vision.description.item=Donne la vision nocturne (nécessite un set électrique complet) +item.night_vision.description.in_armor=%s (donne la vision nocturne) item.nugget_beryllium.name=Pépite de béryllium item.wire_aluminium.name=Fil d'aluminium diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index 4aa131493..1603c36c8 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -2618,6 +2618,9 @@ item.plate_titanium.name=Титановая пластина item.plate_aluminium.name=Алюминиевая пластина item.wire_red_copper.name=Провод из красной меди item.neutron_reflector.name=Отражатель нейтронов +item.night_vision.name=Очки ночного зрения +item.night_vision.description.item=Даёт ночное зрение (нуждается в полном электрическом сете) +item.night_vision.description.in_armor=%s (даёт ночное зрение) item.nugget_beryllium.name=Бериллиевый самородок item.nugget_bismuth.name=Самородок висмута item.nugget_tantalium.name=Самородок тантала diff --git a/src/main/resources/assets/hbm/textures/items/night_vision.png b/src/main/resources/assets/hbm/textures/items/night_vision.png new file mode 100644 index 0000000000000000000000000000000000000000..096c7b5b39d1c09318a8e719850ab58718efcbbf GIT binary patch literal 906 zcmV;519kj~P)EX>4Tx04R}tkv&MmKpe$iQ?*hm4i*t{$WWauNELC^DionYs1;guFuC*#nlvOS zE{=k0!NHHks)LKOt`4q(Aou~|>f)s6A|?JWDYS_7;J6>}?mh0_0YbgZG^=X@&~)2O zCE{WxyDA1=(St#R5JXI7mN6$uNpu`v_we!cF3PhypZjz4sX2=QK9P8q8KzCVK|H-_ z8=Uuv!>lN)#OK80CS8#Dk?V@bZ=4G*3p_Jyrc?98VPdh+#!4HrqNx#25l2)_r+gvf zvC4UivsSLM<~{ifLpgnAnd>x1kia6AAVGwJDoQBBMwC{a6bmWZk9Y77yMBpW3b{&P z=bb;{@U#SB#pQP7X zTI2}m-v%zOTbi;5TgF>mV(jg7zL?h zRXS9<6`-(y2|{nVE+$zNJQ@?@9mN|FN-|Vv;9Oz{=|$SV;4{7O zetdkqFCRP-`70dfrYVE~pkA-Dx;hhoIJmia&`c(i00cq6+}w+JxWILP-kqPHQLUb0 zj6tb+Zf}3#x?ccL>Lb0qPjTJv*tSh7HOkP?2ueMVL>%X)d2({pzqR#E*K%12@appq zok;Y{>FJp!K&f;P_x)>qxR#Ls!=HBb%F0_gHa2-JEX$(N@TldoGCD8-z~LJ5ed{HK z!Y%-di&;KAy9)hUE-M?3$Hc^IM7!O>nBc!~EX(5Z(hv2&7!%NLw}|HR1(eEA?3vPC z&!g*k?Dx&;N~MGl0wDyIN{Rix+0ZZcOlhSuyDe3W!L4Mf@7D-w%6VS9T$64to1wBc8)X8_o?jn-ci4^Nizoo|c*Ae9k07*qoM6N<$f=O+b!2kdN literal 0 HcmV?d00001 From b736b64f7f4b2dc5cb7dc8c7b6a1d8c5a9f6422e Mon Sep 17 00:00:00 2001 From: Toshayo Date: Thu, 22 Jun 2023 14:51:42 +0200 Subject: [PATCH 205/285] Updated changelog --- changelog | 3 +++ 1 file changed, 3 insertions(+) diff --git a/changelog b/changelog index e69de29bb..4a0ce878b 100644 --- a/changelog +++ b/changelog @@ -0,0 +1,3 @@ +## Added +* Sliding Blast Door from 1.12.2 +* Night Vision Goggles armor upgrade From d6cdc69c899b873bd252329eafd581e32b9dae26 Mon Sep 17 00:00:00 2001 From: Boblet Date: Thu, 22 Jun 2023 14:59:54 +0200 Subject: [PATCH 206/285] pressure --- changelog | 44 +++ .../hbm/fluid/IFluidStandardTransceiver.java | 8 +- .../hbm/blocks/machine/MachineCompressor.java | 19 +- .../hbm/inventory/fluid/tank/FluidTank.java | 3 + .../com/hbm/inventory/gui/GUICompressor.java | 43 ++- .../inventory/recipes/CompressorRecipes.java | 17 +- .../inventory/recipes/OutgasserRecipes.java | 2 + .../recipes/loader/JSONLoaderBase.java | 177 ------------ .../recipes/loader/SerializableRecipe.java | 5 +- .../com/hbm/items/tool/ItemBlowtorch.java | 2 +- .../render/tileentity/RenderCompressor.java | 11 +- .../machine/TileEntityMachineCompressor.java | 251 +++++++++++++++++- .../textures/models/machines/compressor.png | Bin 3463 -> 5337 bytes 13 files changed, 386 insertions(+), 196 deletions(-) delete mode 100644 src/main/java/com/hbm/inventory/recipes/loader/JSONLoaderBase.java diff --git a/changelog b/changelog index e69de29bb..7e7de1c66 100644 --- a/changelog +++ b/changelog @@ -0,0 +1,44 @@ +## Added +* Glpyhids + * Hives will spawn randomly in the world + * Hives will constantly spawn new glyphids + * If explosed to soot, hives will create glyphid scouts, which when far enough from another hive will explode and generate a new hive + * Higher soot levels create stronger glyphids + * Glyphids possess armor which has a chance of breaking off and fully abrosrbing damage + * Each glyphid has five armor plates + * Glyphid types include multiple tiers of melee glyphids as well as a few ranged ones, the scout, and a nuclear variant +* Compressor + * Can compress fluids, turning them into higher pressure variants + * Can also turn steam into higher pressure types +* A new rocket artillery ammo type that creates volcanic lava on impact +* BDCL + * A type of lubricant that is easy to make and can be used in hydraulic piston and electric press recipes instead of regular lubricant +* FBI drones + * A configurable amount of drones can now spawn during FBI raids + * They will hover over players, dropping bombs + +## Changed +* Updated russian localization +* Fluid traits can now be configured, any fluid can now have any fluid with variable stats assigned to them +* Large explosions now load the central chunk they are in, this can be disabled in the config +* Burning leaded fuels now releases poisonous heavy metals into the atmosphere +* The pollution detector now displays rounded values +* More machines and especially destroyed ones now release soot +* The iGen has been rebalanced again, delete your machine config file for the changes to take effect + * The lubrican power multiplier has been increased from 1.1 to 1.5 + * The fluid divisor has been lowered from 5,000 to 1,000, meaning the iGen now burns flammable liquids at full efficiency +* Removed the config for having an additional keybind for dashing, the keybind is now always active since it no longer conflicts with crouching +* Crucible recipes no longer use foundry scraps to visualize the recipes, instead they use a lava-like texture +* Fusion reactors are now made from welded magnets which are created by weling a cast steel plate onto a magnet + * Due to the cost of the cast plates, fusion reactor magnets are now cheaper to compensate + * Consequently, particle accelerators are now also cheaper due to being made from mostly fusion reactor magnets +* The blowtorch now consumes only 250mB per operation, allowing for up to 16 things to be welded with a single fill +* The page and notebook items have been replaced with more dynamic book items that get their data from NBT +* C4 can now be made by irradiating PVC + * Play stupid games, win stupid prizes + +## Fixed +* Fixed potential crash or logspam regarding the pollution handler +* Fixed missiles leaving behind a 3x3 grid of loaded chunks after being destroyed +* Fixed coal ore yielding coal in the crucible instead of making carbon +* Fixed a potential issue where BuildCraft generators can't supply the RF to HE converter \ No newline at end of file diff --git a/src/main/java/api/hbm/fluid/IFluidStandardTransceiver.java b/src/main/java/api/hbm/fluid/IFluidStandardTransceiver.java index eb7092ad8..4012ab63f 100644 --- a/src/main/java/api/hbm/fluid/IFluidStandardTransceiver.java +++ b/src/main/java/api/hbm/fluid/IFluidStandardTransceiver.java @@ -26,7 +26,7 @@ public interface IFluidStandardTransceiver extends IFluidUser { public default long getTotalFluidForSend(FluidType type, int pressure) { for(FluidTank tank : getSendingTanks()) { - if(tank.getTankType() == type) { + if(tank.getTankType() == type && tank.getPressure() == pressure) { return tank.getFill(); } } @@ -38,7 +38,7 @@ public interface IFluidStandardTransceiver extends IFluidUser { public default void removeFluidForTransfer(FluidType type, int pressure, long amount) { for(FluidTank tank : getSendingTanks()) { - if(tank.getTankType() == type) { + if(tank.getTankType() == type && tank.getPressure() == pressure) { tank.setFill(tank.getFill() - (int) amount); return; } @@ -49,7 +49,7 @@ public interface IFluidStandardTransceiver extends IFluidUser { public default long getDemand(FluidType type, int pressure) { for(FluidTank tank : getReceivingTanks()) { - if(tank.getTankType() == type) { + if(tank.getTankType() == type && tank.getPressure() == pressure) { return tank.getMaxFill() - tank.getFill(); } } @@ -61,7 +61,7 @@ public interface IFluidStandardTransceiver extends IFluidUser { public default long transferFluid(FluidType type, int pressure, long amount) { for(FluidTank tank : getReceivingTanks()) { - if(tank.getTankType() == type) { + if(tank.getTankType() == type && tank.getPressure() == pressure) { tank.setFill(tank.getFill() + (int) amount); if(tank.getFill() > tank.getMaxFill()) { diff --git a/src/main/java/com/hbm/blocks/machine/MachineCompressor.java b/src/main/java/com/hbm/blocks/machine/MachineCompressor.java index 791ad2f77..f22bc3fc1 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineCompressor.java +++ b/src/main/java/com/hbm/blocks/machine/MachineCompressor.java @@ -1,6 +1,8 @@ package com.hbm.blocks.machine; import com.hbm.blocks.BlockDummyable; +import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.tileentity.TileEntityProxyCombo; import com.hbm.tileentity.machine.TileEntityMachineCompressor; import net.minecraft.block.material.Material; @@ -18,6 +20,7 @@ public class MachineCompressor extends BlockDummyable { @Override public TileEntity createNewTileEntity(World world, int meta) { if(meta >= 12) return new TileEntityMachineCompressor(); + if(meta >= extra) return new TileEntityProxyCombo().fluid().power(); return null; } @@ -39,11 +42,25 @@ public class MachineCompressor extends BlockDummyable { @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); + 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[] {3, -3, 1, 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, -4, 0, 0, 1, 1}, x, y, z, dir); } @Override 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[] {3, -3, 1, 1, 1, 1}, this, dir); + MultiblockHandlerXR.fillSpace(world, x + dir.offsetX * o, y + dir.offsetY * o, z + dir.offsetZ * o, new int[] {8, -4, 0, 0, 1, 1}, this, dir); + + x += dir.offsetX * o; + z += dir.offsetZ * o; + + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + this.makeExtra(world, x - dir.offsetX, y, z - dir.offsetZ); + this.makeExtra(world, x + rot.offsetX, y, z + rot.offsetZ); + this.makeExtra(world, x - rot.offsetX, y, z - rot.offsetZ); } } 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 90e8b3bbf..c9e94b9ee 100644 --- a/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java +++ b/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java @@ -44,6 +44,9 @@ public class FluidTank { } public FluidTank withPressure(int pressure) { + + if(this.pressure != pressure) this.setFill(0); + this.pressure = pressure; return this; } diff --git a/src/main/java/com/hbm/inventory/gui/GUICompressor.java b/src/main/java/com/hbm/inventory/gui/GUICompressor.java index c31ee0baf..9e2f758e8 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICompressor.java +++ b/src/main/java/com/hbm/inventory/gui/GUICompressor.java @@ -4,21 +4,25 @@ 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 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 GUICompressor extends GuiInfoContainer { private static ResourceLocation texture = new ResourceLocation(RefStrings.MODID + ":textures/gui/processing/gui_compressor.png"); - private TileEntityMachineCompressor solidifier; + private TileEntityMachineCompressor compressor; public GUICompressor(InventoryPlayer invPlayer, TileEntityMachineCompressor tedf) { super(new ContainerCompressor(invPlayer, tedf)); - solidifier = tedf; + compressor = tedf; this.xSize = 176; this.ySize = 204; @@ -28,14 +32,31 @@ public class GUICompressor extends GuiInfoContainer { public void drawScreen(int mouseX, int mouseY, float f) { super.drawScreen(mouseX, mouseY, f); - //solidifier.tank.renderTankInfo(this, mouseX, mouseY, guiLeft + 35, guiTop + 36, 16, 52); - //this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 134, guiTop + 18, 16, 52, solidifier.power, solidifier.maxPower); + compressor.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 17, guiTop + 18, 16, 52); + compressor.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 107, guiTop + 18, 16, 52); + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 18, 16, 52, compressor.power, compressor.maxPower); + } + + @Override + protected void mouseClicked(int x, int y, int i) { + super.mouseClicked(x, y, i); + + for(int j = 0; j < 5; j++) { + + if(guiLeft + 43 + j * 11 <= x && guiLeft + 43 + 8 + j * 11 > x && guiTop + 46 < y && guiTop + 46 + 14 >= y) { + + mc.getSoundHandler().playSound(PositionedSoundRecord.func_147674_a(new ResourceLocation("gui.button.press"), 1.0F)); + NBTTagCompound data = new NBTTagCompound(); + data.setInteger("compression", j); + PacketDispatcher.wrapper.sendToServer(new NBTControlPacket(data, compressor.xCoord, compressor.yCoord, compressor.zCoord)); + } + } } @Override protected void drawGuiContainerForegroundLayer(int i, int j) { - String name = this.solidifier.hasCustomInventoryName() ? this.solidifier.getInventoryName() : I18n.format(this.solidifier.getInventoryName()); + String name = this.compressor.hasCustomInventoryName() ? this.compressor.getInventoryName() : I18n.format(this.compressor.getInventoryName()); this.fontRendererObj.drawString(name, 70 - this.fontRendererObj.getStringWidth(name) / 2, 6, 0xC7C1A3); this.fontRendererObj.drawString(I18n.format("container.inventory"), 8, this.ySize - 96 + 2, 4210752); @@ -46,5 +67,17 @@ public class GUICompressor 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(compressor.power >= 1_000) { + drawTexturedModalRect(guiLeft + 156, guiTop + 4, 176, 52, 9, 12); + } + + drawTexturedModalRect(guiLeft + 43 + compressor.tanks[0].getPressure() * 11, guiTop + 46, 193, 18, 8, 124); + + int i = compressor.progress * 55 / compressor.processTime; + drawTexturedModalRect(guiLeft + 42, guiTop + 26, 192, 0, i, 17); + + compressor.tanks[0].renderTank(guiLeft + 17, guiTop + 70, this.zLevel, 16, 52); + compressor.tanks[1].renderTank(guiLeft + 107, guiTop + 70, this.zLevel, 16, 52); } } diff --git a/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java b/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java index 15f5b2baa..2e22d2e8b 100644 --- a/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/CompressorRecipes.java @@ -2,11 +2,14 @@ package com.hbm.inventory.recipes; import java.io.IOException; import java.util.HashMap; +import java.util.Map.Entry; 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.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; import com.hbm.inventory.recipes.loader.SerializableRecipe; import com.hbm.util.Tuple.Pair; @@ -16,7 +19,9 @@ public class CompressorRecipes extends SerializableRecipe { @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))); } public static class CompressorRecipe { @@ -47,11 +52,21 @@ public class CompressorRecipes extends SerializableRecipe { @Override public void readRecipe(JsonElement recipe) { + JsonObject obj = recipe.getAsJsonObject(); + + FluidStack input = this.readFluidStack(obj.get("input").getAsJsonArray()); + FluidStack output = this.readFluidStack(obj.get("output").getAsJsonArray()); + recipes.put(new Pair(input.type, input.pressure), new CompressorRecipe(input.fill, output)); } @Override public void writeRecipe(Object recipe, JsonWriter writer) throws IOException { + Entry, CompressorRecipe> entry = (Entry) recipe; + writer.name("input"); + this.writeFluidStack(new FluidStack(entry.getKey().getKey(), entry.getValue().inputAmount, entry.getKey().getValue()), writer); + writer.name("output"); + this.writeFluidStack(entry.getValue().output, writer); } } diff --git a/src/main/java/com/hbm/inventory/recipes/OutgasserRecipes.java b/src/main/java/com/hbm/inventory/recipes/OutgasserRecipes.java index 1f1c72505..491a8595f 100644 --- a/src/main/java/com/hbm/inventory/recipes/OutgasserRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/OutgasserRecipes.java @@ -56,6 +56,8 @@ public class OutgasserRecipes extends SerializableRecipe { recipes.put(new OreDictStack(COAL.gem()), new Pair(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.COAL, 1), new FluidStack(Fluids.SYNGAS, 50))); recipes.put(new OreDictStack(COAL.dust()), new Pair(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.COAL, 1), new FluidStack(Fluids.SYNGAS, 50))); recipes.put(new OreDictStack(COAL.block()), new Pair(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.COAL, 9), new FluidStack(Fluids.SYNGAS, 500))); + + recipes.put(new OreDictStack(PVC.ingot()), new Pair(new ItemStack(ModItems.ingot_c4), new FluidStack(Fluids.COLLOID, 250))); recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.COAL)), new Pair(null, new FluidStack(Fluids.COALOIL, 100))); recipes.put(new ComparableStack(DictFrame.fromOne(ModItems.oil_tar, EnumTarType.WAX)), new Pair(null, new FluidStack(Fluids.RADIOSOLVENT, 100))); diff --git a/src/main/java/com/hbm/inventory/recipes/loader/JSONLoaderBase.java b/src/main/java/com/hbm/inventory/recipes/loader/JSONLoaderBase.java deleted file mode 100644 index a2e8bc316..000000000 --- a/src/main/java/com/hbm/inventory/recipes/loader/JSONLoaderBase.java +++ /dev/null @@ -1,177 +0,0 @@ -package com.hbm.inventory.recipes.loader; - -import java.io.File; -import java.io.FileReader; -import java.io.IOException; - -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.inventory.RecipesCommon.AStack; -import com.hbm.inventory.RecipesCommon.ComparableStack; -import com.hbm.inventory.RecipesCommon.OreDictStack; -import com.hbm.main.MainRegistry; - -import net.minecraft.item.Item; -import net.minecraftforge.oredict.OreDictionary; - -@Deprecated -public abstract class JSONLoaderBase { - - public File config; - public File template; - private final Gson gson = new Gson(); - - public JSONLoaderBase() { - - } - - public void loadRecipes() { - registerDefaults(); - //saveTemplateJSON(template); - - if(config != null) { - loadJSONRecipes(); - } - } - - protected abstract void registerDefaults(); - - protected void loadJSONRecipes() { - - try { - JsonObject json = gson.fromJson(new FileReader(config), JsonObject.class); - JsonElement recipes = json.get("recipes"); - - if(recipes instanceof JsonArray) { - - JsonArray recArray = recipes.getAsJsonArray(); - for(JsonElement recipe : recArray) { - - if(recipe.isJsonObject()) { - - } - } - } - } catch (Exception e) { } - } - - protected static AStack aStackFromArray(JsonArray array) { - - boolean dict = false; - String item = ""; - int stacksize = 1; - int meta = 0; - - if(array.size() < 2) - return null; - - /* - * EVAL "dict" OR "item" - */ - if(array.get(0).isJsonPrimitive()) { - - if(array.get(0).getAsString().equals("item")) { - dict = false; - } else if(array.get(0).getAsString().equals("dict")) { - dict = true; - } else { - MainRegistry.logger.error("Error reading recipe, stack array does not have 'item' or 'dict' label!"); - return null; - } - - } else { - MainRegistry.logger.error("Error reading recipe, label is not a valid data type!"); - return null; - } - - /* - * EVAL NAME - */ - if(array.get(1).isJsonPrimitive()) { - item = array.get(1).getAsString(); - } else { - MainRegistry.logger.error("Error reading recipe, item string is not a valid data type!"); - return null; - } - - /* - * EVAL STACKSIZE - */ - if(array.size() > 2 && array.get(2).isJsonPrimitive()) { - if(array.get(2).getAsJsonPrimitive().isNumber()) { - stacksize = Math.max(1, array.get(2).getAsJsonPrimitive().getAsNumber().intValue()); - } else { - MainRegistry.logger.error("Error reading recipe, stack size is not a valid data type!"); - return null; - } - } - - /* - * RESOLVE OREDICT - */ - if(dict) { - - if(OreDictionary.doesOreNameExist(item)) { - return new OreDictStack(item, stacksize); - } else { - - MainRegistry.logger.error("Error reading recipe, ore dict name does not exist!"); - return null; - } - - /* - * RESOLVE COMPARABLE - */ - } else { - - /* - * EVAL META - */ - if(array.size() > 3 && array.get(3).isJsonPrimitive()) { - if(array.get(3).getAsJsonPrimitive().isNumber()) { - meta = Math.max(0, array.get(3).getAsJsonPrimitive().getAsNumber().intValue()); - } else { - MainRegistry.logger.error("Error reading recipe, metadata is not a valid data type!"); - return null; - } - } - - Item it = (Item)Item.itemRegistry.getObject(item); - if(it == null) { - MainRegistry.logger.error("Item could not be found!"); - return null; - } - - return new ComparableStack(it, stacksize, meta); - } - } - - protected static void writeAStack(AStack astack, JsonWriter writer) throws IOException { - - writer.beginArray(); - writer.setIndent(""); - - if(astack instanceof ComparableStack) { - ComparableStack comp = (ComparableStack) astack; - - writer.value("item"); //ITEM identifier - writer.value(Item.itemRegistry.getNameForObject(comp.toStack().getItem())); //item name - if(comp.stacksize != 1) writer.value(comp.stacksize); //stack size - if(comp.meta > 0) writer.value(comp.meta); //metadata - } - - if(astack instanceof OreDictStack) { - OreDictStack ore = (OreDictStack) astack; - - writer.value("dict"); //DICT identifier - writer.value(ore.name); //dict name - writer.value(ore.stacksize); //stacksize - } - - writer.endArray(); - writer.setIndent(" "); - } -} 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 92e378ef2..405cede7f 100644 --- a/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java +++ b/src/main/java/com/hbm/inventory/recipes/loader/SerializableRecipe.java @@ -60,6 +60,7 @@ public abstract class SerializableRecipe { recipeHandlers.add(new FuelPoolRecipes()); recipeHandlers.add(new MixerRecipes()); recipeHandlers.add(new OutgasserRecipes()); + recipeHandlers.add(new CompressorRecipes()); recipeHandlers.add(new MatDistribution()); } @@ -266,7 +267,8 @@ public abstract class SerializableRecipe { try { FluidType type = Fluids.fromName(array.get(0).getAsString()); int fill = array.get(1).getAsInt(); - return new FluidStack(type, fill); + int pressure = array.size() < 3 ? 0 : array.get(2).getAsInt(); + return new FluidStack(type, fill, pressure); } catch(Exception ex) { } MainRegistry.logger.error("Error reading fluid array " + array.toString()); return new FluidStack(Fluids.NONE, 0); @@ -287,6 +289,7 @@ public abstract class SerializableRecipe { writer.setIndent(""); writer.value(stack.type.getName()); //fluid type writer.value(stack.fill); //amount in mB + if(stack.pressure != 0) writer.value(stack.pressure); writer.endArray(); writer.setIndent(" "); } diff --git a/src/main/java/com/hbm/items/tool/ItemBlowtorch.java b/src/main/java/com/hbm/items/tool/ItemBlowtorch.java index 172e0fa4a..211a203c6 100644 --- a/src/main/java/com/hbm/items/tool/ItemBlowtorch.java +++ b/src/main/java/com/hbm/items/tool/ItemBlowtorch.java @@ -137,7 +137,7 @@ public class ItemBlowtorch extends Item implements IFillableItem { if(!world.isRemote) { if(this == ModItems.blowtorch) { - this.setFill(stack, Fluids.GAS, this.getFill(stack, Fluids.GAS) - 1000); + this.setFill(stack, Fluids.GAS, this.getFill(stack, Fluids.GAS) - 250); } if(this == ModItems.acetylene_torch) { diff --git a/src/main/java/com/hbm/render/tileentity/RenderCompressor.java b/src/main/java/com/hbm/render/tileentity/RenderCompressor.java index 4c8eb0faa..6934ff5ac 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderCompressor.java +++ b/src/main/java/com/hbm/render/tileentity/RenderCompressor.java @@ -4,6 +4,7 @@ import org.lwjgl.opengl.GL11; import com.hbm.blocks.BlockDummyable; import com.hbm.main.ResourceManager; +import com.hbm.tileentity.machine.TileEntityMachineCompressor; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; import net.minecraft.tileentity.TileEntity; @@ -28,18 +29,18 @@ public class RenderCompressor extends TileEntitySpecialRenderer { bindTexture(ResourceManager.compressor_tex); ResourceManager.compressor.renderPart("Compressor"); - double h = (System.currentTimeMillis() * 0.005) % 6D; - - if(h > 3) h = 6 - h; + TileEntityMachineCompressor compressor = (TileEntityMachineCompressor) tile; + float lift = compressor.prevPiston + (compressor.piston - compressor.prevPiston) * interp; + float fan = compressor.prevFanSpin + (compressor.fanSpin - compressor.prevFanSpin) * interp; GL11.glPushMatrix(); - GL11.glTranslated(0, h - 3, 0); + GL11.glTranslatef(0, lift * 3 - 3, 0); ResourceManager.compressor.renderPart("Pump"); GL11.glPopMatrix(); GL11.glPushMatrix(); GL11.glTranslated(0, 1.5, 0); - GL11.glRotated((System.currentTimeMillis() * -0.5) % 360, 1, 0, 0); + GL11.glRotatef(fan, 1, 0, 0); GL11.glTranslated(0, -1.5, 0); ResourceManager.compressor.renderPart("Fan"); GL11.glPopMatrix(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java index 69c09f344..26c4210ef 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java @@ -1,21 +1,52 @@ package com.hbm.tileentity.machine; +import com.hbm.blocks.BlockDummyable; +import com.hbm.interfaces.IControlReceiver; 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.lib.Library; import com.hbm.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; +import com.hbm.util.Tuple.Pair; +import com.hbm.util.fauxpointtwelve.DirPos; +import api.hbm.energy.IEnergyUser; +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.MathHelper; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; -public class TileEntityMachineCompressor extends TileEntityMachineBase implements IGUIProvider { +public class TileEntityMachineCompressor extends TileEntityMachineBase implements IGUIProvider, IControlReceiver, IEnergyUser, IFluidStandardTransceiver { + + public FluidTank[] tanks; + public long power; + public static final long maxPower = 1_000_000; + public boolean isOn; + public int progress; + public int processTime = 100; + + public float fanSpin; + public float prevFanSpin; + public float piston; + public float prevPiston; + public boolean pistonDir; public TileEntityMachineCompressor() { super(2); + 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 @@ -28,8 +59,148 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement 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(); + + if(canProcess()) { + this.progress++; + this.isOn = true; + this.power -= 1_000; + + 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.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 -= 0.1F; + if(this.piston <= 0) this.pistonDir = !this.pistonDir; + } else { + this.piston += 0.05F; + if(this.piston >= 1) this.pistonDir = !this.pistonDir; + } + + this.piston = MathHelper.clamp_float(this.piston, 0F, 1F); + } } } + + public void networkUnpack(NBTTagCompound nbt) { + this.progress = nbt.getInteger("progress"); + 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()); + } + } + + 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), + }; + } + + public boolean canProcess() { + + if(this.power <= 1_000) 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) { @@ -42,4 +213,82 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement 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, + yCoord, + zCoord - 2, + xCoord + 3, + yCoord + 9, + zCoord + 3 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } } diff --git a/src/main/resources/assets/hbm/textures/models/machines/compressor.png b/src/main/resources/assets/hbm/textures/models/machines/compressor.png index af84d82fd7c4a0ac20022cb0fedf303b0dfd56a2..2b26f107a5bf031ba598fe512912382c560c174b 100644 GIT binary patch literal 5337 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 literal 3463 zcmZvfc{E$=*T<8HNL{X^ikOlVml~?2x6}}VPTYXATU<=#(0A>6ZAM+|{`0f!ix*+98RG?YN*#_5^i3~c_&XU?kmNnRK2{7&fx zvgW8%XSjhv%+^&ZAtN@S)~&hb{^kCLsaWyocK8a}|Cd@b41oLoq}1^Yb0H z`0JLR3hO0F?5|sq9~fKpdGP|0G{NBMnHimV8cm6~8m;#rd~NPex|)*oiF-YiK3uU@ zud4>ODB?bkkv2lbTNuo*1BI30H$GqShQBN{67ztSb#L&+X$xms$&NRX46(bkoCT!n@L6_q@s#f`zI9FiSjO zCjo56F2KM9u&j2J4-onD6%uj_kkvqc%UwB1&A{wf44X32-HilcL)f;$8$LbC;DKvygcdxMGjxZak=JC z`sqBuTz92m6L6&Xv4I>uiOFORHi#)GDA>r79=+frcd^-FOW!FJiUSS!cdHKwOxlB^ z0T*(iu(zLsnR7yKKd(n$kXn*RUf$lfa}Lr)R;0P9i2jm3@Mv^X&_k3@-}7KC4C0b- zFn_zfJq7TYf~n+(d<@l=X3A$<8wdLhB&kgXMYnD4__s`x85MkFnfd%94m~)}i>Z0@ zK5kLpMTBL-Kx@YxOfnA+A5)8h({y8yvZ&Pu5SU5rn zEwlQ1@PBgPos0f0FSJd?H}bjE6>*BPm$NgV=RDrhJ*T5Nv>P;@+TvA2WfyIv;I}|-sjrDv=OG|THSe*TBXS!HzIX4oDHJUqd$ed})abj(5+62zG zpO#q!b#3fMG}BPVq%x%_(~jr2f#y@}jm3eS;vX{iuJNvKv6(Z zhh8Ey3!~D}Xe;Vgm4Tc=m^qcXW7Bi24(uybh(&kY?0dht?MgiIfYbaiG`(Rr>2d@h zzswzhzsRnMu4-#*qrFW2%d#5);Hwh{y8`h701F$nw6ELy4e3Uk`!OM`d)XY@mr=-Dhc0!4DRFKI1yRUNh*}ew_qT`LlVZPnaYJn&zmO<0*&k2?!YgT zOtS?~fFVV%mO(g~pd$3yPCk5EZ!?HD9*8fx^JK6A@^qO--i-aV-A~y*4+t+uaFuPM zJ&hK1-q!^cX4!3de~w}mm4WkPrpyx5M*|bY$`OzoOse@3z|l(`OCCSO2&QSdiu^md zQ`aYYTvSATSM)r7orq+A%MBA&uiAIMS9+yz=^(D?4jelFZQT6h{G_ht$#R6r`fTQV zcMfMzXK9?R1kt$!3|6NY07R|2eToRuChBGi;ssSK#t+NKCEFQFCPvayQoa5f!tkuX zCgsG}*kA|!w+JUF4#vNaw{RiQuX(X5-H9CKAmKkHO+9? zuV$E+swXMM#j@SDPM$H3N%!sNIy8I;+)XGh0I`EKtJLaU!RF;0jm1-Pv9+1i)%{`r z;?H&cw>Um~u>!S+v9(PdD%@50Jw~B)Dz0N{CWEU2T`gNXwW%?WjmG8+iDmBSSN3$B zOfAc9Gfa24zM#t2?8i>v{Re1;wK4S-GQhCb{}9+L-w$4e3uO={5CDiacyo&OrC zWm7^R{k%AhfvuFmc7pYaG~j60cRs&sPYRp>zo>X!Eb~bS$pAAF1f>0KD%kJp0;0tMyo}L?RNYBFknV=5*MD{5-dc>#QL%K=`mYP`j z5F}nwTAM zkwm)DE?n>-F`w~H=EJbJ0LbU8m-U`ottg=M5>MB3=$Ka2S%!UqyN|4^u_sU_H)Ur{ z|B%(6tn$B3vl4Nfx^V4st#384rG-(Ovx%v=%s>|FwO6Q3 z?|&FJ>D^+}qK++yYy{QRjivk(77ic%-?0r?387)_kS-Wt;` zu*jSgOdsU)M_i>;Rh?$apLp}|7>?V1^kR=_6O-jOP%b!}JSBzf_|4;_j5;zS$Klp< z87%JW-+yDh>T=2C&{ikzcI-cGD9n2dMq|P2t5Gz9de*eRe4&0^`(~Z|KQqn5ECcja z@AXB8>FL_ON}CQ=@?-kGbH^-Q)Aw}J@Oh7Z?Z~#rp{=t)8LhJ~HzP4x+S>d#G4tE^ zSYI$58-ULtJ)@#yzC*8FgFQ3VHOws81yk>KKL@^h-Jh>Eo8{qK(QDk`u8SNP9nF%G zmX3*%qSUQC|FIa<@!;SQaA;dczZ&h7hNvSyq$X=~zB7bM=6i^ABogUNFwno*{%)7? zgX^Tf)~sx3KZ83SW5mn-z80`7N`)6~7~SqC55;d+-1RA)3eeZjC<=dXPbJs1I=Fzz zh}*xyYBJQl1>K!R#AkK{${XMVPI}KW;}Y8njoQ>mUf;2n9?xo# z5HX{DPQuIn7KGXK;`+MfsyWJKuc!Yf%+$O1*>?y&#rR8fgJ|W}6S}sg2pZJhYPTtB zAY(OX+nHEtu@Y9f7Z$|S0NuB7=my)!I!{mOlI^K{S+8jPC9()X@ zHkak$e-7qQBOvo!C&WB}_p40=iM(qe6*3bKOTeo|m-Do@n(~yHWCm@swdS`~hr<0q z6K>6#0EHt}{C}*ppKjnYY(hZtS{AsTQ#}7sbH|Z#?O`WACtS_Fou}th82Xm02ka*d z%9f>Qpv*g+KhpvrhQBy;lRpnh8A$?9zlJF4B%Yb9SC)vF$ifWLStAbsN@CG=eybxg isojRH$FPcreEpmKcMACZtGRzx05f9?+)G2(g#Q5KuX?rs From a99dc0a4646b858d2125933542de66fe672ffd05 Mon Sep 17 00:00:00 2001 From: Toshayo Date: Thu, 22 Jun 2023 19:05:10 +0200 Subject: [PATCH 207/285] Grenade with cats --- changelog | 1 + .../java/com/hbm/crafting/WeaponRecipes.java | 5 +- .../java/com/hbm/entity/EntityMappings.java | 1 + .../hbm/entity/grenade/EntityGrenadeCats.java | 50 ++++++++++++++++++ src/main/java/com/hbm/items/ModItems.java | 5 +- .../com/hbm/items/weapon/ItemGrenade.java | 47 ++-------------- src/main/java/com/hbm/main/ClientProxy.java | 1 + src/main/java/com/hbm/main/MainRegistry.java | 5 ++ src/main/resources/assets/hbm/lang/en_US.lang | 1 + src/main/resources/assets/hbm/lang/fr_FR.lang | 1 + src/main/resources/assets/hbm/lang/ru_RU.lang | 1 + .../hbm/textures/items/grenade_cats.png | Bin 0 -> 764 bytes 12 files changed, 73 insertions(+), 45 deletions(-) create mode 100644 src/main/java/com/hbm/entity/grenade/EntityGrenadeCats.java create mode 100644 src/main/resources/assets/hbm/textures/items/grenade_cats.png diff --git a/changelog b/changelog index 4a0ce878b..333b11e25 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,4 @@ ## Added * Sliding Blast Door from 1.12.2 * Night Vision Goggles armor upgrade +* Grenade of Cats \ No newline at end of file diff --git a/src/main/java/com/hbm/crafting/WeaponRecipes.java b/src/main/java/com/hbm/crafting/WeaponRecipes.java index a85f8ca36..86ea190d8 100644 --- a/src/main/java/com/hbm/crafting/WeaponRecipes.java +++ b/src/main/java/com/hbm/crafting/WeaponRecipes.java @@ -2,6 +2,7 @@ package com.hbm.crafting; import com.hbm.blocks.ModBlocks; import com.hbm.inventory.OreDictManager; +import com.hbm.inventory.RecipesCommon; import com.hbm.inventory.fluid.Fluids; import static com.hbm.inventory.OreDictManager.*; @@ -16,6 +17,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; /** * For guns, ammo and the like @@ -345,7 +347,8 @@ public class WeaponRecipes { CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenade_pink_cloud), new Object[] { " S ", "ECE", " E ", 'S', ModItems.powder_spark_mix, 'E', ModItems.powder_magic, 'C', ModItems.grenade_cloud }); CraftingManager.addRecipeAuto(new ItemStack(ModItems.nuclear_waste_pearl), new Object[] { "WWW", "WFW", "WWW", 'W', ModItems.nuclear_waste_tiny, 'F', ModBlocks.block_fallout }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.grenade_kyiv), new Object[] { ModItems.canister_napalm, ModItems.bottle2_empty, ModItems.rag }); - + CraftingManager.addRecipeAuto(new ItemStack(ModItems.grenate_cats), "FFF", "FGF", "FFF", 'F', new ItemStack(Items.fish, 1, OreDictionary.WILDCARD_VALUE), 'G', ModItems.grenade_smart); + //Sticks of explosives CraftingManager.addRecipeAuto(new ItemStack(ModItems.stick_dynamite, 4), new Object[] { " S ", "PDP", "PDP", 'S', ModItems.safety_fuse, 'P', Items.paper, 'D', ModItems.ball_dynamite }); CraftingManager.addShapelessAuto(new ItemStack(ModItems.stick_dynamite_fishing, 1), new Object[] { ModItems.stick_dynamite, ModItems.stick_dynamite, ModItems.stick_dynamite, Items.paper, ANY_TAR.any() }); diff --git a/src/main/java/com/hbm/entity/EntityMappings.java b/src/main/java/com/hbm/entity/EntityMappings.java index b41ab7eb7..8659a7426 100644 --- a/src/main/java/com/hbm/entity/EntityMappings.java +++ b/src/main/java/com/hbm/entity/EntityMappings.java @@ -142,6 +142,7 @@ public class EntityMappings { addEntity(EntityGrenadeMIRV.class, "entity_grenade_mirv", 250); addEntity(EntityGrenadeBreach.class, "entity_grenade_breach", 250); addEntity(EntityGrenadeBurst.class, "entity_grenade_burst", 250); + addEntity(EntityGrenadeCats.class, "entity_grenade_cats", 250); addEntity(EntityBurningFOEQ.class, "entity_burning_foeq", 1000); addEntity(EntityGrenadeIFGeneric.class, "entity_grenade_ironshod", 250); addEntity(EntityGrenadeIFHE.class, "entity_grenade_ironshod_he", 250); diff --git a/src/main/java/com/hbm/entity/grenade/EntityGrenadeCats.java b/src/main/java/com/hbm/entity/grenade/EntityGrenadeCats.java new file mode 100644 index 000000000..0f9c21275 --- /dev/null +++ b/src/main/java/com/hbm/entity/grenade/EntityGrenadeCats.java @@ -0,0 +1,50 @@ +package com.hbm.entity.grenade; + +import com.hbm.items.ModItems; +import com.hbm.items.weapon.ItemGrenade; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.passive.EntityOcelot; +import net.minecraft.world.World; + +public class EntityGrenadeCats extends EntityGrenadeBouncyBase { + + public EntityGrenadeCats(World world) { + super(world); + } + + public EntityGrenadeCats(World world, EntityLivingBase living) { + super(world, living); + } + + public EntityGrenadeCats(World world, double posX, double posY, double posZ) { + super(world, posX, posY, posZ); + } + + @Override + public void explode() { + if (!this.worldObj.isRemote) { + this.setDead(); + + for(int i = 0; i < 5; i++) { + EntityOcelot cat = new EntityOcelot(worldObj); + cat.setPosition(posX, posY, posZ); + cat.motionX = rand.nextGaussian() * 0.1D; + cat.motionY = -0.25D; + cat.motionZ = rand.nextGaussian() * 0.1D; + + worldObj.spawnEntityInWorld(cat); + cat.onSpawnWithEgg(null); + } + } + } + + @Override + protected int getMaxTimer() { + return ItemGrenade.getFuseTicks(ModItems.grenate_cats); + } + + @Override + protected double getBounceMod() { + return 0.25D; + } +} diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 800eb555b..625a3f947 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1673,7 +1673,8 @@ public class ModItems { public static Item grenade_mirv; public static Item grenade_breach; public static Item grenade_burst; - + public static Item grenate_cats; + public static Item nuclear_waste_pearl; public static Item weaponized_starblaster_cell; @@ -4289,6 +4290,7 @@ public class ModItems { 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"); + grenate_cats = new ItemGrenade(1).setUnlocalizedName("grenate_cats").setCreativeTab(MainRegistry.weaponTab).setTextureName(RefStrings.MODID + ":grenade_cats"); 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"); @@ -7338,6 +7340,7 @@ public class ModItems { 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(grenate_cats, grenate_cats.getUnlocalizedName()); GameRegistry.registerItem(nuclear_waste_pearl, nuclear_waste_pearl.getUnlocalizedName()); GameRegistry.registerItem(ullapool_caber, ullapool_caber.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/items/weapon/ItemGrenade.java b/src/main/java/com/hbm/items/weapon/ItemGrenade.java index f26ee698e..7451f6a3a 100644 --- a/src/main/java/com/hbm/items/weapon/ItemGrenade.java +++ b/src/main/java/com/hbm/items/weapon/ItemGrenade.java @@ -2,49 +2,7 @@ package com.hbm.items.weapon; import java.util.List; -import com.hbm.entity.grenade.EntityGrenadeASchrab; -import com.hbm.entity.grenade.EntityGrenadeBlackHole; -import com.hbm.entity.grenade.EntityGrenadeBreach; -import com.hbm.entity.grenade.EntityGrenadeBurst; -import com.hbm.entity.grenade.EntityGrenadeCloud; -import com.hbm.entity.grenade.EntityGrenadeCluster; -import com.hbm.entity.grenade.EntityGrenadeDynamite; -import com.hbm.entity.grenade.EntityGrenadeElectric; -import com.hbm.entity.grenade.EntityGrenadeFire; -import com.hbm.entity.grenade.EntityGrenadeFlare; -import com.hbm.entity.grenade.EntityGrenadeFrag; -import com.hbm.entity.grenade.EntityGrenadeGas; -import com.hbm.entity.grenade.EntityGrenadeGascan; -import com.hbm.entity.grenade.EntityGrenadeGeneric; -import com.hbm.entity.grenade.EntityGrenadeIFBouncy; -import com.hbm.entity.grenade.EntityGrenadeIFBrimstone; -import com.hbm.entity.grenade.EntityGrenadeIFConcussion; -import com.hbm.entity.grenade.EntityGrenadeIFGeneric; -import com.hbm.entity.grenade.EntityGrenadeIFHE; -import com.hbm.entity.grenade.EntityGrenadeIFHopwire; -import com.hbm.entity.grenade.EntityGrenadeIFImpact; -import com.hbm.entity.grenade.EntityGrenadeIFIncendiary; -import com.hbm.entity.grenade.EntityGrenadeIFMystery; -import com.hbm.entity.grenade.EntityGrenadeIFNull; -import com.hbm.entity.grenade.EntityGrenadeIFSpark; -import com.hbm.entity.grenade.EntityGrenadeIFSticky; -import com.hbm.entity.grenade.EntityGrenadeIFToxic; -import com.hbm.entity.grenade.EntityGrenadeLemon; -import com.hbm.entity.grenade.EntityGrenadeMIRV; -import com.hbm.entity.grenade.EntityGrenadeMk2; -import com.hbm.entity.grenade.EntityGrenadeNuclear; -import com.hbm.entity.grenade.EntityGrenadeNuke; -import com.hbm.entity.grenade.EntityGrenadePC; -import com.hbm.entity.grenade.EntityGrenadePlasma; -import com.hbm.entity.grenade.EntityGrenadePoison; -import com.hbm.entity.grenade.EntityGrenadePulse; -import com.hbm.entity.grenade.EntityGrenadeSchrabidium; -import com.hbm.entity.grenade.EntityGrenadeShrapnel; -import com.hbm.entity.grenade.EntityGrenadeSmart; -import com.hbm.entity.grenade.EntityGrenadeStrong; -import com.hbm.entity.grenade.EntityGrenadeTau; -import com.hbm.entity.grenade.EntityGrenadeZOMG; -import com.hbm.entity.grenade.EntityWastePearl; +import com.hbm.entity.grenade.*; import com.hbm.items.ModItems; import net.minecraft.entity.player.EntityPlayer; @@ -214,6 +172,9 @@ public class ItemGrenade extends Item { if (this == ModItems.stick_dynamite) { p_77659_2_.spawnEntityInWorld(new EntityGrenadeDynamite(p_77659_2_, p_77659_3_)); } + if (this == ModItems.grenate_cats) { + p_77659_2_.spawnEntityInWorld(new EntityGrenadeCats(p_77659_2_, p_77659_3_)); + } } return p_77659_1_; diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index da86b7611..268283654 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -635,6 +635,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeDynamite.class, new RenderSnowball(ModItems.stick_dynamite)); RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeBouncyGeneric.class, new RenderGenericGrenade()); RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeImpactGeneric.class, new RenderGenericGrenade()); + RenderingRegistry.registerEntityRenderingHandler(EntityGrenadeCats.class, new RenderSnowball(ModItems.grenate_cats)); //missiles RenderingRegistry.registerEntityRenderingHandler(EntityTestMissile.class, new RenderTestMissile()); RenderingRegistry.registerEntityRenderingHandler(EntityMissileCustom.class, new RenderMissileCustom()); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 6fc8c873e..43050f065 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -607,6 +607,11 @@ public class MainRegistry { return new EntityGrenadeIFNull(p_82499_1_, p_82499_2_.getX(), p_82499_2_.getY(), p_82499_2_.getZ()); } }); + BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.grenate_cats, new BehaviorProjectileDispense() { + protected IProjectile getProjectileEntity(World p_82499_1_, IPosition p_82499_2_) { + return new EntityGrenadeCats(p_82499_1_, p_82499_2_.getX(), p_82499_2_.getY(), p_82499_2_.getZ()); + } + }); BlockDispenser.dispenseBehaviorRegistry.putObject(ModItems.nuclear_waste_pearl, new BehaviorProjectileDispense() { protected IProjectile getProjectileEntity(World world, IPosition position) { diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index d73b6edab..9c8cf7515 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -2444,6 +2444,7 @@ item.grenade_aschrab.name=Tossable Antischrabidium Cell item.grenade_black_hole.name=Black Hole Grenade item.grenade_breach.name=Breaching Grenade item.grenade_burst.name=Digger Grenade +item.grenate_cats.name=Grenade of Cats item.grenade_cloud.name=Jar of Cloud item.grenade_cluster.name=Cluster Bomb item.grenade_electric.name=Lightning Bomb diff --git a/src/main/resources/assets/hbm/lang/fr_FR.lang b/src/main/resources/assets/hbm/lang/fr_FR.lang index 2da92f416..9b13a0db9 100644 --- a/src/main/resources/assets/hbm/lang/fr_FR.lang +++ b/src/main/resources/assets/hbm/lang/fr_FR.lang @@ -916,6 +916,7 @@ item.grenade_strong.name=Grenade ameliorée item.grenade_frag.name=Grenade Frag item.grenade_fire.name=Grenade Frag incendiaire item.grenade_shrapnel.name=Grenade à fragmentation +item.grenate_cats.name=Grenade à chats item.grenade_cluster.name=Grenade à fragmentation item.grenade_flare.name=Flare item.grenade_electric.name=Grenade à éclairs diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index 1603c36c8..b89294f73 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -3874,6 +3874,7 @@ item.grenade_strong.name=Усовершенствованная граната item.grenade_frag.name=Осколочная граната item.grenade_fire.name=Огненная осколочная граната item.grenade_shrapnel.name=Граната со шрапнелью +item.grenate_cats.name=Граната с котами item.grenade_cluster.name=Кластерная бомба item.grenade_flare.name=Сигнальная ракета item.grenade_electric.name=Электрограната diff --git a/src/main/resources/assets/hbm/textures/items/grenade_cats.png b/src/main/resources/assets/hbm/textures/items/grenade_cats.png new file mode 100644 index 0000000000000000000000000000000000000000..e800e9e7778c3df2187155880bd36a0f6778ad3b GIT binary patch literal 764 zcmVEX>4Tx04R}tkv&MmKpe$iQ?(*h2aAX}WT;LSL`5C73Pq?8YK2xEOfLO`CJjl7 zi=*ILaPVWX>fqw6tAnc`2!4RLx;QDiNQwVT3N2ziIPS;0dyl(!fKV+m&1xG1G~G56 zv8b3zuZn?Jbf6zSn8LKoEMrcR;%GU(?&0I>U4&<~KKJM7Rx=g@d?N8IGfbO!gLrDw zHaPDShge=#iO-2gO}ZfQBi9v=-#F)77IZPWeL0 zW0mt3XRTOf^?ULc1~dA~GS_JiA%;aPL4pVcWfV|^jR>teDHam6A8p|ubo~;!6mk{7 z$gzMDG{~+W{11M2Yh@?Ky`*3iXn%2>k6|FN3)Cu(^L^|%wG+Vq3|#3Af2j)0e3D*i zXyGHEcN@64ZfMFLaJd5vJQ=bnyON)#kj(<`XY@^JpzjvwTJw6V@8k3VNK#kv8{ps& z7|BugdW&~=Huv`LnRc?`|C%ZKF00006VoOIv00000008+zyMF)x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=LQxJ86cLGvXlS-0QpHoK~y-)V_+C)z=%yyOib)Q z0|NttmX;P=?7)EoSk*FN)BNhyD@HjvIfiT3t}*=j^^1Xlfq}un!Qnqq2B3pqzkb0n zHbd}wVN;zWgMySW!^X2481yA=8H$!YW?*AuL-7t)7xV=3FtnyRFepd~Gwj;AgMo>` zhCx9}nBmy5V~hk{Ftb|fKNEuu!`(Z#7!*}rF`%>O?|*_~5QYo%C2bjejYSv~RbF9b z6AVOjXQQ)Wu>u1u=mu;&yMcj81mf(C3`a273=H@1yCA*w86z$)q_(bNBq|-?@&W?` u1H+j!XBY_@5I6H4hD{Pd(-;{BB>(_>L}|e9s^v)l0000so literal 0 HcmV?d00001 From 53267f21855a116e1d8d49e54464c708c1e4a9d5 Mon Sep 17 00:00:00 2001 From: Toshayo Date: Thu, 22 Jun 2023 19:12:51 +0200 Subject: [PATCH 208/285] Idk how did this spawn --- .../resources/assets/hbm/textures/blocks/img.png | Bin 153 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 src/main/resources/assets/hbm/textures/blocks/img.png diff --git a/src/main/resources/assets/hbm/textures/blocks/img.png b/src/main/resources/assets/hbm/textures/blocks/img.png deleted file mode 100644 index 84ec17b11a15edbfcdf3715cf8f2aa6674dbaf60..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`37#&FAr*0ZCtTz_V8Fq8x1M8p zp+NczCNXAR7wspSUmi1AR=9J_l=SsrQstadYOuNV2Ggop0ux=ooU?CyzVhO9#!s(Z zZ|~@;VXJvFu}mSTx1ag3e+!fBy#p;O0h1hdGEOW|v?y6Eoe#8&!PC{xWt~$(69C8C BG Date: Thu, 22 Jun 2023 21:02:19 +0200 Subject: [PATCH 209/285] more compressor stuff --- .../container/ContainerCompressor.java | 11 ++-- .../com/hbm/inventory/gui/GUICompressor.java | 5 +- .../render/tileentity/RenderCompressor.java | 48 +++++++++++++++++- .../machine/TileEntityMachineCompressor.java | 44 +++++++++++++--- .../oil/TileEntityMachineVacuumDistill.java | 2 +- .../gui/processing/gui_compressor.png | Bin 3119 -> 3380 bytes 6 files changed, 98 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/hbm/inventory/container/ContainerCompressor.java b/src/main/java/com/hbm/inventory/container/ContainerCompressor.java index e54aee2d3..3f81b4f68 100644 --- a/src/main/java/com/hbm/inventory/container/ContainerCompressor.java +++ b/src/main/java/com/hbm/inventory/container/ContainerCompressor.java @@ -21,6 +21,9 @@ public class ContainerCompressor extends Container { this.addSlotToContainer(new Slot(tile, 0, 17, 72)); //Battery this.addSlotToContainer(new Slot(tile, 1, 152, 72)); + //Upgrades + this.addSlotToContainer(new Slot(tile, 2, 52, 72)); + this.addSlotToContainer(new Slot(tile, 3, 70, 72)); for(int i = 0; i < 3; i++) { for(int j = 0; j < 9; j++) { @@ -47,8 +50,8 @@ public class ContainerCompressor extends Container { ItemStack var5 = var4.getStack(); var3 = var5.copy(); - if(index < 2) { - if(!this.mergeItemStack(var5, 2, this.inventorySlots.size(), true)) { + if(index < 4) { + if(!this.mergeItemStack(var5, 4, this.inventorySlots.size(), true)) { return null; } } else { @@ -62,7 +65,9 @@ public class ContainerCompressor extends Container { return null; } } else { - return null; + if(!this.mergeItemStack(var5, 2, 4, false)) { + return null; + } } } diff --git a/src/main/java/com/hbm/inventory/gui/GUICompressor.java b/src/main/java/com/hbm/inventory/gui/GUICompressor.java index 9e2f758e8..69c8dc0ac 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICompressor.java +++ b/src/main/java/com/hbm/inventory/gui/GUICompressor.java @@ -68,7 +68,7 @@ public class GUICompressor extends GuiInfoContainer { Minecraft.getMinecraft().getTextureManager().bindTexture(texture); drawTexturedModalRect(guiLeft, guiTop, 0, 0, xSize, ySize); - if(compressor.power >= 1_000) { + if(compressor.power >= compressor.powerRequirement) { drawTexturedModalRect(guiLeft + 156, guiTop + 4, 176, 52, 9, 12); } @@ -77,6 +77,9 @@ public class GUICompressor extends GuiInfoContainer { int i = compressor.progress * 55 / compressor.processTime; drawTexturedModalRect(guiLeft + 42, guiTop + 26, 192, 0, i, 17); + int j = (int) (compressor.power * 52 / compressor.maxPower); + drawTexturedModalRect(guiLeft + 152, guiTop + 70 - j, 176, 52 - j, 16, j); + compressor.tanks[0].renderTank(guiLeft + 17, guiTop + 70, this.zLevel, 16, 52); compressor.tanks[1].renderTank(guiLeft + 107, guiTop + 70, this.zLevel, 16, 52); } diff --git a/src/main/java/com/hbm/render/tileentity/RenderCompressor.java b/src/main/java/com/hbm/render/tileentity/RenderCompressor.java index 6934ff5ac..13e9d2c64 100644 --- a/src/main/java/com/hbm/render/tileentity/RenderCompressor.java +++ b/src/main/java/com/hbm/render/tileentity/RenderCompressor.java @@ -3,13 +3,17 @@ 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.TileEntityMachineCompressor; import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; +import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.client.IItemRenderer; -public class RenderCompressor extends TileEntitySpecialRenderer { +public class RenderCompressor extends TileEntitySpecialRenderer implements IItemRendererProvider { @Override public void renderTileEntityAt(TileEntity tile, double x, double y, double z, float interp) { @@ -50,4 +54,46 @@ public class RenderCompressor extends TileEntitySpecialRenderer { GL11.glPopMatrix(); } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.machine_compressor); + } + + @Override + public IItemRenderer getRenderer() { + return new ItemRenderBase() { + public void renderInventory() { + GL11.glTranslated(0, -4, 0); + GL11.glScaled(3, 3, 3); + } + public void renderCommon() { + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + + GL11.glScaled(0.5, 0.5, 0.5); + + bindTexture(ResourceManager.compressor_tex); + ResourceManager.compressor.renderPart("Compressor"); + + double lift = (System.currentTimeMillis() * 0.005) % 9; + + if(lift > 3) lift = 3 - (lift - 3) / 2D; + + GL11.glPushMatrix(); + GL11.glTranslated(0, -lift, 0); + ResourceManager.compressor.renderPart("Pump"); + GL11.glPopMatrix(); + + GL11.glPushMatrix(); + GL11.glTranslated(0, 1.5, 0); + GL11.glRotated((System.currentTimeMillis() * 0.25) % 360D, 1, 0, 0); + GL11.glTranslated(0, -1.5, 0); + ResourceManager.compressor.renderPart("Fan"); + GL11.glPopMatrix(); + + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glEnable(GL11.GL_CULL_FACE); + }}; + } } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java index 26c4210ef..285c36a20 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java @@ -2,12 +2,14 @@ package com.hbm.tileentity.machine; import com.hbm.blocks.BlockDummyable; 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.tileentity.IGUIProvider; import com.hbm.tileentity.TileEntityMachineBase; @@ -18,12 +20,15 @@ import api.hbm.energy.IEnergyUser; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.client.Minecraft; +import net.minecraft.client.audio.PositionedSoundRecord; 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.MathHelper; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -35,6 +40,9 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement public boolean isOn; public int progress; public int processTime = 100; + public static final int processTimeBase = 100; + public int powerRequirement; + public static final int powerRequirementBase = 10_000; public float fanSpin; public float prevFanSpin; @@ -43,7 +51,7 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement public boolean pistonDir; public TileEntityMachineCompressor() { - super(2); + 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); @@ -67,10 +75,22 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement this.tanks[0].setType(0, slots); this.setupTanks(); + 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); + + //there is a reason to do this but i'm not telling you + this.processTime = speedLevel == 3 ? 10 : speedLevel == 2 ? 20 : speedLevel == 1 ? 60 : this.processTimeBase; + this.powerRequirement = this.powerRequirementBase / (powerLevel + 1); + this.processTime = this.processTime / (overLevel + 1); + this.powerRequirement = this.powerRequirement * ((overLevel * 2) + 1); + if(canProcess()) { this.progress++; this.isOn = true; - this.power -= 1_000; + this.power -= powerRequirement; if(progress >= this.processTime) { progress = 0; @@ -89,6 +109,8 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement 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"); @@ -109,11 +131,17 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement } if(this.pistonDir) { - this.piston -= 0.1F; - if(this.piston <= 0) this.pistonDir = !this.pistonDir; + this.piston -= randSpeed; + if(this.piston <= 0) { + Minecraft.getMinecraft().getSoundHandler().playSound(new PositionedSoundRecord(new ResourceLocation("hbm:item.boltgun"), 0.5F, 0.75F, xCoord, yCoord, zCoord)); + this.pistonDir = !this.pistonDir; + } } else { this.piston += 0.05F; - if(this.piston >= 1) this.pistonDir = !this.pistonDir; + if(this.piston >= 1) { + this.randSpeed = 0.085F + worldObj.rand.nextFloat() * 0.03F; + this.pistonDir = !this.pistonDir; + } } this.piston = MathHelper.clamp_float(this.piston, 0F, 1F); @@ -121,8 +149,12 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement } } + private float randSpeed = 0.1F; + public void networkUnpack(NBTTagCompound 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"); @@ -149,7 +181,7 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement public boolean canProcess() { - if(this.power <= 1_000) return false; + if(this.power <= powerRequirement) return false; CompressorRecipe recipe = CompressorRecipes.recipes.get(new Pair(tanks[0].getTankType(), tanks[0].getPressure())); 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 bc2ba6469..9fc45de36 100644 --- a/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java +++ b/src/main/java/com/hbm/tileentity/machine/oil/TileEntityMachineVacuumDistill.java @@ -41,7 +41,7 @@ public class TileEntityMachineVacuumDistill extends TileEntityMachineBase implem super(11); this.tanks = new FluidTank[5]; - this.tanks[0] = new FluidTank(Fluids.OIL, 64_000); + this.tanks[0] = new FluidTank(Fluids.OIL, 64_000).withPressure(2); this.tanks[1] = new FluidTank(Fluids.HEAVYOIL_VACUUM, 24_000); this.tanks[2] = new FluidTank(Fluids.REFORMATE, 24_000); this.tanks[3] = new FluidTank(Fluids.LIGHTOIL_VACUUM, 24_000); diff --git a/src/main/resources/assets/hbm/textures/gui/processing/gui_compressor.png b/src/main/resources/assets/hbm/textures/gui/processing/gui_compressor.png index e5b80132b0bfac3f4073c92b22d4609e1b36a4a7..0a0179680513cf023dac7cf84eb54e87be55e1ea 100644 GIT binary patch literal 3380 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 Vd8BUKQ-uY8JMH(_6>P_!`wtW{4P^iT literal 3119 zcmb_ec|6o>7k_4qB{eaVU9uITWwM7d2}4;UQHipXD2!y8(Q--RhDb)^jULn&%LA?#Ni)OdXQk*$)cH}h zU8vz~Qms8B^M3dcac7aI_^u-f6CuRjAT+GX4~I&EX|%G$AsqFev15-_(BiOi!e^uW@>7xyLn^I zO$1|dvTcQLr?JW7#EDEuCi4T=?PMa&JlC#xG}=Td=;_ddubK;7sZX><&7L#@b7T{J@Jol;J^qL*eQWre zH+_ld7sC~i^`6f!OdOgr9BEu@n|xc$=puyFnD6Uu&G+)fFO%cqJl+>fem!OoEe;s- zp;>{)g{r#dE&azcqI^3_*MFqM#70j#X{?jER@8>a=TM%z0TB4WH{c3DdfCNOElZX z7FREe^{tzH8dw_U=3KRLE07vHvjt0E1(v*0*w$@KK69U!(Kupm(a2{!e_+6PcYaMk z>QGR%cr>ZkRH{oKPSNc*i zry=^MO^FMs_Zoj5AJ5T!_JVy@F{@5HDZ41h2c!ix#J zdRc)8w@=ek2YMfXg55#VBiNmPiOjuXkrQZfW(@h1{VjAuYvBK(AIL=UxExhYxboN+ zaRZ=N8Um(hWHzIn=_TMsRM{4=jq97msHuYr*y@N@B~yBP&*(#Co%;9MnaL98@$cP` zD)+vY-TbD2Wq!#GYPG}Dmgl)k#ie%e{lC(s71hDxd@su&q&L0OoMq77YHu1Is-CEk z1~!BMMMb7xcvNGT5s$I1Sj3wpMvBUE+@F1W^H_gT2wX#M-N0!R_`vE=lbcJ}qUSXz zgR>q?M@oxEzb*Blas6vEpf?=??2A=tCxtPE)gnJO=}wp`;w8*zk0(sLHuY?e9o}A+q{FhEi--96_-uA#ZkfS(gD|3uDlBNa{7U{;vlcC9p;O zKgfEcfIV{QrQkmEAj5^^`7aS~>v*J!%mtiRbF1-C3&iGa1SY!3)`Ocgz=&{>P3D+E z;e%Iv3v_2sEb4tU3Fts94IVv;Vs>KSm`$!oZ=dlvHV5jco{pF6XP)eG5~AwqvXzTY*kb;b&gaI__7Q3}@%7^SJ z6{D|UN7!=H`th6S9g>hkCz?q~SPn}N_%yDf(9lt9(k~kfh$1~`CUhjXP#{ZCW>8=* zkgE#K{VLRDcgJ|Mf_JhATp`Iw3x_OtrQf{L(+o`yhU40j*DtdPB?)8;i$C<~vdl6* zMKHWdpa`59eaD1Qr^TvlFb2eBy^n6F!4S`o3rLliM)N-Vo8ndOke)`@(-}2Uge*N6 zw9P6zX?Zf;3__l2?DIP=0~*v}HLDXopA1)`TRt5!xJ0Pz z&nzrdKOB2SA9`ELnl$Ol?&Y7u1G)UtwFwa`S?ZP=wRzB-|&B%oR0LJ5@Q)u5;?Ei2ER0ZuS?%?zo? zDZdHo3|F5k-J?k?x2`mTNS?p^#-yp-oOj_H+$UJDtN6n@Uykdu(sPN6;rBqd(mm}9 z11D)h*u`=UV!4&hf$Q=*Kt2Bwp*C|-ynXLf32Mr43)&Zwf1kkdE11WVFNVx^TuQuR+ z%sZBv4nVJQP($L(Oz2)?;{v6@?ZdPOhjUVg4%9s$Z)|9646RKZ9`^iU+Zg@mMbq}b z75lHQe$IlO4GVkAW>?Hx2PWY^J|5tbX1$rMVmBIO!O3#{7u(jjyrsZOcjsIlW%z8D+PwH-n z>Li!{Fu&ueSX(KzcKo2})X~J#5@qln2!<00|KC1;GyNaMbCG8K&nw}q>p1W@f#StV16EF;R$Yl&lHCYW3OPc5_S!$N c>GT$emih-j-?Tm6^?Nv5D+kL83-8PS1{QpNxc~qF From 9c4c081e3e47f30a27ed786c08e307a25d2da45f Mon Sep 17 00:00:00 2001 From: Voxelstice Date: Fri, 23 Jun 2023 11:52:55 +0300 Subject: [PATCH 210/285] hh --- src/main/java/com/hbm/items/tool/ItemWiring.java | 2 +- .../hbm/tileentity/network/TileEntityPylonBase.java | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/hbm/items/tool/ItemWiring.java b/src/main/java/com/hbm/items/tool/ItemWiring.java index fc694ee82..2f384dccb 100644 --- a/src/main/java/com/hbm/items/tool/ItemWiring.java +++ b/src/main/java/com/hbm/items/tool/ItemWiring.java @@ -68,7 +68,7 @@ public class ItemWiring extends Item { player.addChatMessage(new ChatComponentText("Wire end")); } else { - player.addChatMessage(new ChatComponentText("Wire error")); + player.addChatMessage(new ChatComponentText("Wire error - " + TileEntityPylonBase.errorMessage)); } stack.stackTagCompound = null; diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java b/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java index c55fe51d7..7e55e2f17 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java @@ -18,14 +18,19 @@ import net.minecraft.world.WorldServer; public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { public List connected = new ArrayList(); + public static String errorMessage = ""; public static boolean canConnect(TileEntityPylonBase first, TileEntityPylonBase second) { - if(first.getConnectionType() != second.getConnectionType()) + if(first.getConnectionType() != second.getConnectionType()) { + errorMessage = "pylons are not the same type"; return false; + } - if(first == second) + if(first == second) { + errorMessage = "cannot connect to the same pylon"; return false; + } double len = Math.min(first.getMaxWireLength(), second.getMaxWireLength()); @@ -38,6 +43,7 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { (secondPos.zCoord) - (firstPos.zCoord) ); + errorMessage = "pylon too far away"; return len >= delta.lengthVector(); } From bb15f500473149e9c0680a2b0550ee4da4cdb83b Mon Sep 17 00:00:00 2001 From: Boblet Date: Fri, 23 Jun 2023 11:17:37 +0200 Subject: [PATCH 211/285] pressure requirement for recipes --- changelog | 2 ++ .../handler/nei/ChemplantRecipeHandler.java | 4 +-- .../hbm/inventory/fluid/tank/FluidTank.java | 2 +- .../inventory/recipes/ChemplantRecipes.java | 4 +-- .../inventory/recipes/RefineryRecipes.java | 2 +- .../items/machine/ItemChemistryTemplate.java | 6 ++-- .../com/hbm/items/machine/ItemFluidIcon.java | 33 ++++++++++++------- .../machine/TileEntityMachineChemplant.java | 8 ++--- .../TileEntityMachineChemplantBase.java | 8 ++--- 9 files changed, 41 insertions(+), 28 deletions(-) diff --git a/changelog b/changelog index 7e7de1c66..d82ff17a6 100644 --- a/changelog +++ b/changelog @@ -10,6 +10,8 @@ * Compressor * Can compress fluids, turning them into higher pressure variants * Can also turn steam into higher pressure types + * Vacuum refning now requires oil at 2 PU + * Some chemical plant recipes also require compressed fluid, TATB requires sour gas at 1 PU and osmiridic solution requires hydrogen peroxide at 5 PU * A new rocket artillery ammo type that creates volcanic lava on impact * BDCL * A type of lubricant that is easy to make and can be used in hydraulic piston and electric press recipes instead of regular lubricant diff --git a/src/main/java/com/hbm/handler/nei/ChemplantRecipeHandler.java b/src/main/java/com/hbm/handler/nei/ChemplantRecipeHandler.java index 0beaff581..9ef27b9a9 100644 --- a/src/main/java/com/hbm/handler/nei/ChemplantRecipeHandler.java +++ b/src/main/java/com/hbm/handler/nei/ChemplantRecipeHandler.java @@ -45,7 +45,7 @@ public class ChemplantRecipeHandler extends TemplateRecipeHandler { for(int i = 0; i < recipe.inputFluids.length; i++) { FluidStack in = recipe.inputFluids[i]; if(in == null) continue; - ItemStack drop = ItemFluidIcon.make(in.type, in.fill); + ItemStack drop = ItemFluidIcon.make(in); this.fluidIn[i] = new PositionedStack(drop, 30 + (i % 2) * 18, 6); } @@ -58,7 +58,7 @@ public class ChemplantRecipeHandler extends TemplateRecipeHandler { for(int i = 0; i < recipe.outputFluids.length; i++) { FluidStack out = recipe.outputFluids[i]; if(out == null) continue; - ItemStack drop = ItemFluidIcon.make(out.type, out.fill); + ItemStack drop = ItemFluidIcon.make(out); this.fluidOut[i] = new PositionedStack(drop, 120 + (i % 2) * 18, 6); } 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 c9e94b9ee..bd1561bc3 100644 --- a/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java +++ b/src/main/java/com/hbm/inventory/fluid/tank/FluidTank.java @@ -241,7 +241,7 @@ public class FluidTank { list.add(fluid + "/" + maxFluid + "mB"); if(this.pressure != 0) { - list.add(EnumChatFormatting.RED + "" + this.pressure + " PU"); + list.add(EnumChatFormatting.RED + "Pressure: " + this.pressure + " PU"); } type.addInfo(list); diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index 248073743..f32038c47 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -147,7 +147,7 @@ public class ChemplantRecipes extends SerializableRecipe { .outputItems(new ItemStack(ModItems.ball_tnt, 4))); recipes.add(new ChemRecipe(95, "TATB", 50) .inputItems(new ComparableStack(ModItems.ball_tnt)) - .inputFluids(new FluidStack(Fluids.SOURGAS, 200), new FluidStack(Fluids.NITRIC_ACID, 10)) + .inputFluids(new FluidStack(Fluids.SOURGAS, 200, 1), new FluidStack(Fluids.NITRIC_ACID, 10)) .outputItems(new ItemStack(ModItems.ball_tatb))); recipes.add(new ChemRecipe(84, "C4", 150) .inputItems(new OreDictStack(KNO.dust())) @@ -352,7 +352,7 @@ public class ChemplantRecipes extends SerializableRecipe { new ComparableStack(ModItems.powder_paleogenite), new OreDictStack(F.dust(), 8), new ComparableStack(ModItems.nugget_bismuth, 4)) - .inputFluids(new FluidStack(Fluids.ACID, 1000)) + .inputFluids(new FluidStack(Fluids.ACID, 1000, 5)) .outputFluids(new FluidStack(Fluids.DEATH, 1000))); //one bucket of ethanol equals 275_000 TU using the diesel baseline0 //the coal baseline is 400_000 per piece diff --git a/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java b/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java index 314e50d56..427f4a329 100644 --- a/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/RefineryRecipes.java @@ -58,7 +58,7 @@ public class RefineryRecipes { public static HashMap getVacuumRecipe() { HashMap recipes = new HashMap(); - recipes.put(ItemFluidIcon.make(Fluids.OIL, 1000), + recipes.put(ItemFluidIcon.make(Fluids.OIL, 1000, 2), new ItemStack[] { ItemFluidIcon.make(Fluids.HEAVYOIL_VACUUM, vac_frac_heavy * 10), ItemFluidIcon.make(Fluids.REFORMATE, vac_frac_reform * 10), diff --git a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java index 12ad0569e..432141d9d 100644 --- a/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java +++ b/src/main/java/com/hbm/items/machine/ItemChemistryTemplate.java @@ -75,7 +75,8 @@ public class ItemChemistryTemplate extends Item { for(int i = 0; i < 2; i++) { if(recipe.outputFluids[i] != null) { - list.add(recipe.outputFluids[i].fill + "mB " + I18n.format(recipe.outputFluids[i].type.getUnlocalizedName())); + int p = recipe.outputFluids[i].pressure; + list.add(recipe.outputFluids[i].fill + "mB " + I18n.format(recipe.outputFluids[i].type.getUnlocalizedName()) + (p != 0 ? (" at " + p + "PU") : "")); } } @@ -89,7 +90,8 @@ public class ItemChemistryTemplate extends Item { for(int i = 0; i < 2; i++) { if(recipe.inputFluids[i] != null) { - list.add(recipe.inputFluids[i].fill + "mB " + I18n.format(recipe.inputFluids[i].type.getUnlocalizedName())); + int p = recipe.inputFluids[i].pressure; + list.add(recipe.inputFluids[i].fill + "mB " + I18n.format(recipe.inputFluids[i].type.getUnlocalizedName()) + (p != 0 ? (" at " + p + "PU") : "")); } } diff --git a/src/main/java/com/hbm/items/machine/ItemFluidIcon.java b/src/main/java/com/hbm/items/machine/ItemFluidIcon.java index f15d2ad05..1e121dd96 100644 --- a/src/main/java/com/hbm/items/machine/ItemFluidIcon.java +++ b/src/main/java/com/hbm/items/machine/ItemFluidIcon.java @@ -14,6 +14,7 @@ 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.IIcon; import net.minecraft.util.StatCollector; @@ -38,39 +39,47 @@ public class ItemFluidIcon extends Item { @Override public void addInformation(ItemStack stack, EntityPlayer player, List list, boolean bool) { if(stack.hasTagCompound()) { - if(stack.getTagCompound().getInteger("fill") > 0) - list.add(stack.getTagCompound().getInteger("fill") + "mB"); + if(getQuantity(stack) > 0) list.add(getQuantity(stack) + "mB"); + if(getPressure(stack) > 0) list.add(EnumChatFormatting.RED + "" + getPressure(stack) + "PU"); } Fluids.fromID(stack.getItemDamage()).addInfo(list); } public static ItemStack addQuantity(ItemStack stack, int i) { - - if(!stack.hasTagCompound()) - stack.stackTagCompound = new NBTTagCompound(); - + if(!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound(); stack.getTagCompound().setInteger("fill", i); + return stack; + } + public static ItemStack addPressure(ItemStack stack, int i) { + if(!stack.hasTagCompound()) stack.stackTagCompound = new NBTTagCompound(); + stack.getTagCompound().setInteger("pressure", i); return stack; } public static ItemStack make(FluidStack stack) { - return make(stack.type, stack.fill); + return make(stack.type, stack.fill, stack.pressure); } public static ItemStack make(FluidType fluid, int i) { - return addQuantity(new ItemStack(ModItems.fluid_icon, 1, fluid.ordinal()), i); + return make(fluid, i, 0); + } + + public static ItemStack make(FluidType fluid, int i, int pressure) { + return addPressure(addQuantity(new ItemStack(ModItems.fluid_icon, 1, fluid.ordinal()), i), pressure); } public static int getQuantity(ItemStack stack) { - - if(!stack.hasTagCompound()) - return 0; - + if(!stack.hasTagCompound()) return 0; return stack.getTagCompound().getInteger("fill"); } + public static int getPressure(ItemStack stack) { + if(!stack.hasTagCompound()) return 0; + return stack.getTagCompound().getInteger("pressure"); + } + @Override public String getItemStackDisplayName(ItemStack stack) { String s = (StatCollector.translateToLocal(Fluids.fromID(stack.getItemDamage()).getUnlocalizedName())).trim(); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java index 9aea57727..8055c8d11 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplant.java @@ -266,10 +266,10 @@ public class TileEntityMachineChemplant extends TileEntityMachineBase implements } private void setupTanks(ChemRecipe recipe) { - if(recipe.inputFluids[0] != null) tanks[0].setTankType(recipe.inputFluids[0].type); else tanks[0].setTankType(Fluids.NONE); - if(recipe.inputFluids[1] != null) tanks[1].setTankType(recipe.inputFluids[1].type); else tanks[1].setTankType(Fluids.NONE); - if(recipe.outputFluids[0] != null) tanks[2].setTankType(recipe.outputFluids[0].type); else tanks[2].setTankType(Fluids.NONE); - if(recipe.outputFluids[1] != null) tanks[3].setTankType(recipe.outputFluids[1].type); else tanks[3].setTankType(Fluids.NONE); + 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) { diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java index 6d2501a7e..6d6caf6e2 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineChemplantBase.java @@ -109,10 +109,10 @@ public abstract class TileEntityMachineChemplantBase extends TileEntityMachineBa } private void setupTanks(ChemRecipe recipe, int index) { - if(recipe.inputFluids[0] != null) tanks[index * 4].setTankType(recipe.inputFluids[0].type); - if(recipe.inputFluids[1] != null) tanks[index * 4 + 1].setTankType(recipe.inputFluids[1].type); - if(recipe.outputFluids[0] != null) tanks[index * 4 + 2].setTankType(recipe.outputFluids[0].type); - if(recipe.outputFluids[1] != null) tanks[index * 4 + 3].setTankType(recipe.outputFluids[1].type); + 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) { From 00360a4586f63f16f455dc06a36ee49cb24fd843 Mon Sep 17 00:00:00 2001 From: Bob Date: Fri, 23 Jun 2023 23:06:44 +0200 Subject: [PATCH 212/285] memepackhunters.xxx --- .../blocks/generic/BlockGlyphidSpawner.java | 14 ++++++---- .../com/hbm/inventory/gui/GUICompressor.java | 2 ++ .../inventory/recipes/AssemblerRecipes.java | 8 ++++++ .../inventory/recipes/ChemplantRecipes.java | 26 +++++++++---------- .../com/hbm/items/special/ItemTeleLink.java | 2 +- .../com/hbm/main/ModEventHandlerClient.java | 2 +- src/main/resources/assets/hbm/lang/de_DE.lang | 2 ++ src/main/resources/assets/hbm/lang/en_US.lang | 2 ++ 8 files changed, 38 insertions(+), 20 deletions(-) diff --git a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java index a489018f1..7e9d805f5 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java @@ -4,9 +4,12 @@ import java.util.List; import java.util.Random; import com.hbm.entity.mob.EntityGlyphid; +import com.hbm.entity.mob.EntityGlyphidBehemoth; import com.hbm.entity.mob.EntityGlyphidBlaster; import com.hbm.entity.mob.EntityGlyphidBombardier; import com.hbm.entity.mob.EntityGlyphidBrawler; +import com.hbm.entity.mob.EntityGlyphidBrenda; +import com.hbm.entity.mob.EntityGlyphidNuclear; import com.hbm.entity.mob.EntityGlyphidScout; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; @@ -56,12 +59,13 @@ public class BlockGlyphidSpawner extends BlockContainer { public EntityGlyphid createGlyphid(float soot) { Random rand = new Random(); + + if(soot < 1) return rand.nextInt(5) == 0 ? new EntityGlyphidBombardier(worldObj) : new EntityGlyphid(worldObj); + if(soot < 10) return rand.nextInt(5) == 0 ? new EntityGlyphidBombardier(worldObj) : new EntityGlyphidBrawler(worldObj); + if(soot < 50) return rand.nextInt(5) == 0 ? new EntityGlyphidBlaster(worldObj) : new EntityGlyphidBehemoth(worldObj); + if(soot < 100) return rand.nextInt(5) == 0 ? new EntityGlyphidBlaster(worldObj) : new EntityGlyphidBrenda(worldObj); - if(soot < 1) { - return rand.nextInt(5) == 0 ? new EntityGlyphidBombardier(worldObj) : new EntityGlyphid(worldObj); - } - - return rand.nextInt(5) == 0 ? new EntityGlyphidBlaster(worldObj) : new EntityGlyphidBrawler(worldObj); + return rand.nextInt(3) == 0 ? new EntityGlyphidBlaster(worldObj) : new EntityGlyphidNuclear(worldObj); } } } diff --git a/src/main/java/com/hbm/inventory/gui/GUICompressor.java b/src/main/java/com/hbm/inventory/gui/GUICompressor.java index 69c8dc0ac..e555886fa 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICompressor.java +++ b/src/main/java/com/hbm/inventory/gui/GUICompressor.java @@ -35,6 +35,8 @@ public class GUICompressor extends GuiInfoContainer { compressor.tanks[0].renderTankInfo(this, mouseX, mouseY, guiLeft + 17, guiTop + 18, 16, 52); compressor.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 107, guiTop + 18, 16, 52); this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 18, 16, 52, compressor.power, compressor.maxPower); + + for(int j = 0; j < 5; j++) drawCustomInfoStat(mouseX, mouseY, guiLeft + 43 + j * 11, guiTop + 48, 8, 14, mouseX, mouseY, j + " PU -> " + (j + 1) + " PU"); } @Override diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 3711f5af2..077b17bdc 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -985,6 +985,14 @@ public class AssemblerRecipes { new ComparableStack(ModItems.motor, 1), new ComparableStack(ModItems.circuit_red_copper, 3) }, 200); + + makeRecipe(new ComparableStack(ModBlocks.machine_compressor, 1), new AStack[] { + new OreDictStack(STEEL.plateCast(), 8), + new OreDictStack(CU.plate528(), 4), + new ComparableStack(ModItems.hull_big_steel, 2), + new ComparableStack(ModItems.motor, 3), + new ComparableStack(ModItems.circuit_red_copper, 1) + }, 200); makeRecipe(new ComparableStack(ModItems.euphemium_capacitor, 1), new AStack[] { diff --git a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java index f32038c47..62ba87dfa 100644 --- a/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ChemplantRecipes.java @@ -91,22 +91,22 @@ public class ChemplantRecipes extends SerializableRecipe { new ComparableStack(ModItems.wire_schrabidium, 4), new OreDictStack(DIAMOND.dust()), new OreDictStack(DESH.ingot())) - .inputFluids(new FluidStack(Fluids.ACID, 800), new FluidStack(Fluids.MERCURY, 200)) + .inputFluids(new FluidStack(Fluids.ACID, 800, GeneralConfig.enable528 ? 1 : 0), new FluidStack(Fluids.MERCURY, 200)) .outputItems(new ItemStack(ModItems.circuit_schrabidium))); recipes.add(new ChemRecipe(43, "POLYMER", 100) .inputItems( new OreDictStack(COAL.dust(), 2), new OreDictStack(F.dust())) - .inputFluids(new FluidStack(Fluids.PETROLEUM, 500)) + .inputFluids(new FluidStack(Fluids.PETROLEUM, 500, GeneralConfig.enable528 ? 1 : 0)) .outputItems(new ItemStack(ModItems.ingot_polymer))); recipes.add(new ChemRecipe(81, "BAKELITE", 100) .inputFluids( - new FluidStack(Fluids.AROMATICS, 500), - new FluidStack(Fluids.PETROLEUM, 500)) + new FluidStack(Fluids.AROMATICS, 500, GeneralConfig.enable528 ? 1 : 0), + new FluidStack(Fluids.PETROLEUM, 500, GeneralConfig.enable528 ? 1 : 0)) .outputItems(new ItemStack(ModItems.ingot_bakelite))); recipes.add(new ChemRecipe(82, "RUBBER", 100) .inputItems(new OreDictStack(S.dust())) - .inputFluids(new FluidStack(Fluids.UNSATURATEDS, 500)) + .inputFluids(new FluidStack(Fluids.UNSATURATEDS, 500, GeneralConfig.enable528 ? 2 : 0)) .outputItems(new ItemStack(ModItems.ingot_rubber))); /*recipes.add(new ChemRecipe(94, "PET", 100) .inputItems(new OreDictStack(AL.dust())) @@ -126,14 +126,14 @@ public class ChemplantRecipes extends SerializableRecipe { .outputItems(new ItemStack(com.hbm.blocks.ModBlocks.reinforced_laminate))); recipes.add(new ChemRecipe(94, "PC", 100) .inputFluids( - new FluidStack(Fluids.XYLENE, 500), - new FluidStack(Fluids.PHOSGENE, 500)) + new FluidStack(Fluids.XYLENE, 500, GeneralConfig.enable528 ? 2 : 0), + new FluidStack(Fluids.PHOSGENE, 500, GeneralConfig.enable528 ? 2 : 0)) .outputItems(new ItemStack(ModItems.ingot_pc))); recipes.add(new ChemRecipe(96, "PVC", 100) .inputItems(new OreDictStack(CD.dust())) .inputFluids( - new FluidStack(Fluids.UNSATURATEDS, 250), - new FluidStack(Fluids.CHLORINE, 250)) + 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))); recipes.add(new ChemRecipe(89, "DYNAMITE", 50) .inputItems( @@ -143,7 +143,7 @@ public class ChemplantRecipes extends SerializableRecipe { .outputItems(new ItemStack(ModItems.ball_dynamite, 2))); recipes.add(new ChemRecipe(83, "TNT", 150) .inputItems(new OreDictStack(KNO.dust())) - .inputFluids(new FluidStack(Fluids.AROMATICS, 500)) + .inputFluids(new FluidStack(Fluids.AROMATICS, 500, GeneralConfig.enable528 ? 1 : 0)) .outputItems(new ItemStack(ModItems.ball_tnt, 4))); recipes.add(new ChemRecipe(95, "TATB", 50) .inputItems(new ComparableStack(ModItems.ball_tnt)) @@ -151,7 +151,7 @@ public class ChemplantRecipes extends SerializableRecipe { .outputItems(new ItemStack(ModItems.ball_tatb))); recipes.add(new ChemRecipe(84, "C4", 150) .inputItems(new OreDictStack(KNO.dust())) - .inputFluids(new FluidStack(Fluids.UNSATURATEDS, 500)) + .inputFluids(new FluidStack(Fluids.UNSATURATEDS, 500, GeneralConfig.enable528 ? 1 : 0)) .outputItems(new ItemStack(ModItems.ingot_c4, 4))); //44, formerly deuterium //45, formerly steam @@ -224,7 +224,7 @@ public class ChemplantRecipes extends SerializableRecipe { new ComparableStack(ModItems.solid_fuel, 2), new OreDictStack(KNO.dust()), new OreDictStack(REDSTONE.dust())) - .inputFluids(new FluidStack(Fluids.PETROLEUM, 200)) + .inputFluids(new FluidStack(Fluids.PETROLEUM, 200, GeneralConfig.enable528 ? 1 : 0)) .outputItems(new ItemStack(ModItems.rocket_fuel, 4))); recipes.add(new ChemRecipe(58, "ELECTROLYSIS", 150) .inputFluids(new FluidStack(Fluids.WATER, 8000)) @@ -353,7 +353,7 @@ public class ChemplantRecipes extends SerializableRecipe { new OreDictStack(F.dust(), 8), new ComparableStack(ModItems.nugget_bismuth, 4)) .inputFluids(new FluidStack(Fluids.ACID, 1000, 5)) - .outputFluids(new FluidStack(Fluids.DEATH, 1000))); + .outputFluids(new FluidStack(Fluids.DEATH, 1000, GeneralConfig.enable528 ? 5 : 0))); //one bucket of ethanol equals 275_000 TU using the diesel baseline0 //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 diff --git a/src/main/java/com/hbm/items/special/ItemTeleLink.java b/src/main/java/com/hbm/items/special/ItemTeleLink.java index baf9880ce..6ed12b051 100644 --- a/src/main/java/com/hbm/items/special/ItemTeleLink.java +++ b/src/main/java/com/hbm/items/special/ItemTeleLink.java @@ -42,7 +42,7 @@ public class ItemTeleLink extends Item { if(!stack.hasTagCompound()) { world.playSoundAtEntity(player, "hbm:item.techBoop", 1.0F, 1.0F); - player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "[TeleLink] No destiation set!")); + player.addChatMessage(new ChatComponentText(EnumChatFormatting.RED + "[TeleLink] No destination set!")); return false; } diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 3a7624b0b..019a369cc 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -1256,7 +1256,7 @@ public class ModEventHandlerClient { switch(rand) { case 0: main.splashText = "Floppenheimer!"; break; - case 1: main.splashText = "i should dip my balls in sulfuic acid"; break; + case 1: main.splashText = "i should dip my balls in sulfuric acid"; break; case 2: main.splashText = "All answers are popbob!"; break; case 3: main.splashText = "None shall enter The Orb!"; break; case 4: main.splashText = "Wacarb was here"; break; diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index c9a2b3a46..6334c68bb 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -332,6 +332,7 @@ container.machineBoiler=Ölwärmer container.machineCMB=CMB-Stahl Hochofen container.machineCoal=Verbrennungsgenerator container.machineCoker=Koker-Anlage +container.machineCompressor=Kompressor container.machineCrucible=Schmelztiegel container.machineDiesel=Dieselgenerator container.machineElectricBoiler=Elektrischer Ölwärmer @@ -3941,6 +3942,7 @@ tile.machine_coker.name=Koker-Anlage tile.machine_coker.desc=Verkokt Öl, erzeugt fluides Nebenprodukt.$Benötigt externe Hitzequelle.$Wärmestransferrate: ΔT*0.025 TU/t tile.machine_combine_factory.name=CMB-Stahl Hochofen tile.machine_combustion_engine.name=Industrieller Verbrennungsmotor +tile.machine_compressor.name=Kompressor tile.machine_condenser.name=Dampfkondensierer tile.machine_controller.name=Reaktorfernsteuerung tile.machine_converter_he_rf.name=HE zu RF Konverter diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index e192d1821..6bd3ff4e6 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -624,6 +624,7 @@ container.machineBoiler=Oil Heater container.machineCMB=CMB Steel Furnace container.machineCoal=Combustion Generator container.machineCoker=Coker Unit +container.machineCompressor=Compressor container.machineCrucible=Crucible container.machineDiesel=Diesel Generator container.machineElectricBoiler=Electric Oil Heater @@ -4764,6 +4765,7 @@ tile.machine_coker.name=Coker Unit tile.machine_coker.desc=Cokes oil, creating fluid byproducts.$Requires external heat source.$Heat transfer rate: ΔT*0.025 TU/t tile.machine_combine_factory.name=CMB Steel Furnace tile.machine_combustion_engine.name=Industrial Combustion Engine +tile.machine_compressor.name=Compressor tile.machine_condenser.name=Steam Condenser tile.machine_controller.name=Reactor Remote Control Block tile.machine_converter_he_rf.name=HE to RF Converter From c7e428d927772d10154400f84d89369469fe86e9 Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Sat, 24 Jun 2023 10:12:24 +0300 Subject: [PATCH 213/285] Updated ru_RU.lang updated russian localization --- src/main/resources/assets/hbm/lang/ru_RU.lang | 120 ++++++++++-------- 1 file changed, 67 insertions(+), 53 deletions(-) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index 4aa131493..4281a44ff 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -949,114 +949,114 @@ book.starter.page18=vær - просто парень, который слишк book.lore.office0.title=Заявление об увольнении book.lore.office0.author=Kosma -book.lore.office0.page1=Вчера руководство снова сократило наш отдел. Эти идиоты должны винить только самих себя, я не знаю, чего они ожидали после фиаско с Панаем. Кто, черт возьми, сливает такую информацию? Мы теряем миллионы, и -book.lore.office0.page2=это Я сейчас без работы. Это меня просят уйти в отставку. Я надеюсь, что вы, придурки, наконец-то извлекли урок из своего переизбытка ошибок и вытащили эту палку из своей задницы. -book.lore.office0.page3=Я не вернусь в пятницу. Просто пришлите чек на зарплату. +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.page1= -book.lore.office2.page2= +book.lore.office1.page0= +book.lore.office2.page1= book_lore.author=By %s book_lore.book_iodine.name=Note book_lore.book_iodine.author=Dave -book_lore.book_iodine.page.1=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.2=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.3=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_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=Note book_lore.book_phosphorous.author=Dave -book_lore.book_phosphorous.page.1=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.2=ingredient is red phosphorous, whihc has to be mixed into slot %d +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=Note book_lore.book_dust.author=Dave -book_lore.book_dust.page.1=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.2=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.3=dangerous inventions of theirs and it contains dust. strangely they also mentioned that it goes into slot %d +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=Note book_lore.book_mercury.author=Dave -book_lore.book_mercury.page.1=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.2=replicated by the body? whatever, the mercury goes into slot %d +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=Note book_lore.book_flower.author=Dave -book_lore.book_flower.page.1=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.2=it does not work with other flowers. the morning glory goes into slot %d +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=Note book_lore.book_syringe.author=Dave -book_lore.book_syringe.page.1=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.2=syringe goes into slot %d +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.1=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.2=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.3=I'm not coming back on Friday. Just send the paycheck. +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.1=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_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.1=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.2=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_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.1=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.2=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.3=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.4=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_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.1=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.2=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.3=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_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.insanity_1.name=Torn Page book_lore.insanity_1.author=D Ferguson -book_lore.insanity_1.page.1=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.2=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.3=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.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.insanity_2.name=Torn Page book_lore.insanity_2.author=D Ferguson -book_lore.insanity_2.page.1=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.2=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.3=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.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.insanity_3.name=Torn Page book_lore.insanity_3.author=D Ferguson -book_lore.insanity_3.page.1=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.2=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.3=I'm not sure how administration can keep this calm, but i don't get paid enough to waste thoughts on that. +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.insanity_4.name=Torn Page book_lore.insanity_4.author=D Ferguson -book_lore.insanity_4.page.1=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.2=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.3=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.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.insanity_5.name=Torn Page book_lore.insanity_5.author=D Ferguson -book_lore.insanity_5.page.1=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.2=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.3=Something is telling me that The Thing is still out there somewhere. I can feel it. +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.insanity_6.name=Torn Page book_lore.insanity_6.author=D Ferguson -book_lore.insanity_6.page.1=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.2=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.3=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.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.insanity_7.name=Torn Page book_lore.insanity_7.author=D Ferguson -book_lore.insanity_7.page.1=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.2=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.3=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.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. hbmfluid.none=Ничего hbmfluid.water=Вода @@ -2140,6 +2140,8 @@ 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=Компрессор container.hadron=Ускоритель частиц tile.hadron_access.name=Терминал доступа ускорителя частиц @@ -2263,6 +2265,7 @@ 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=Компонент нагревателя плазмы @@ -4478,6 +4481,14 @@ entity.entity_taint_crab.name=Заражённый порчей теслакра entity.entity_elder_one.name=Крякос Старший entity.entity_ntm_fbi.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.hbm.entity_balls_o_tron.name=Баллс-О-Трон Прайм entity.hbm.entity_balls_o_tron_seg.name=Баллс-О-Трон Сегмент entity.hbm.entity_ntm_ufo.name=Марсианский корабль вторжения @@ -5079,6 +5090,8 @@ 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=Тектит @@ -5239,6 +5252,7 @@ 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=Крышка от Квантовой Ядер-колы From c32e20daf7161c129394345ea8ee3fff3bad9517 Mon Sep 17 00:00:00 2001 From: Doctor17-git <60807716+Doctor17-git@users.noreply.github.com> Date: Sat, 24 Jun 2023 10:14:45 +0300 Subject: [PATCH 214/285] Updated ru_RU.lang --- src/main/resources/assets/hbm/lang/ru_RU.lang | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index 4281a44ff..a3235976c 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -542,8 +542,8 @@ 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.zirnoxBreedingRod=§2[Стержень-размножитель Цирнокс]$§eРазмещать рядом с топливными стержнями$§eВремя работы %d тиков +desc.item.zirnoxRod=§a[Топливный стержень Цирнокс]$§eГенерирует %1$d тепла на тик$§Время работы %2$d тиков desc.item.ammo.con_accuracy2=- Сильно сниженная точность desc.item.ammo.con_damage=- Сильно сниженный урон desc.item.ammo.con_heavy_wear=- Сильно увеличенный износ @@ -5608,7 +5608,6 @@ 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.euphemium_capacitor.name=Redcoil Capacitor with Euphemium Positive Energy Negator 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? From 99cfce0e5d1a1b4d8dc460574492cc8bc86e8d62 Mon Sep 17 00:00:00 2001 From: Bob Date: Sat, 24 Jun 2023 17:54:46 +0200 Subject: [PATCH 215/285] pollution effects for heavy metal and poison --- changelog | 7 +- .../hbm/entity/grenade/EntityGrenadeGas.java | 23 ++-- .../com/hbm/handler/EntityEffectHandler.java | 104 ++++++++++++------ .../handler/pollution/PollutionHandler.java | 10 +- .../com/hbm/inventory/gui/GUICompressor.java | 2 +- .../com/hbm/items/weapon/ItemAmmoArty.java | 29 +++-- .../java/com/hbm/main/ModEventHandler.java | 25 ++++- .../TileEntityMachineCombustionEngine.java | 4 +- 8 files changed, 141 insertions(+), 63 deletions(-) diff --git a/changelog b/changelog index d82ff17a6..b31f60f2d 100644 --- a/changelog +++ b/changelog @@ -38,9 +38,14 @@ * The page and notebook items have been replaced with more dynamic book items that get their data from NBT * C4 can now be made by irradiating PVC * Play stupid games, win stupid prizes +* Gas grenades now use the new gas system which should be a lot more pleasant to look at and less heavy on the TPS +* Leaded fuels now release heavy metal into the air, heavy metal can cause lead poisoning + * Lower heavy metal concentrations can also cause heavy metal poisoning when breaking blocks +* Gas artillery shell now create heavy metal and poisonous pollution ## Fixed * Fixed potential crash or logspam regarding the pollution handler * Fixed missiles leaving behind a 3x3 grid of loaded chunks after being destroyed * Fixed coal ore yielding coal in the crucible instead of making carbon -* Fixed a potential issue where BuildCraft generators can't supply the RF to HE converter \ No newline at end of file +* Fixed a potential issue where BuildCraft generators can't supply the RF to HE converter +* Fixed combustion engine sound sometimes continue playing even when turned off \ No newline at end of file diff --git a/src/main/java/com/hbm/entity/grenade/EntityGrenadeGas.java b/src/main/java/com/hbm/entity/grenade/EntityGrenadeGas.java index 5526b87a0..51d813653 100644 --- a/src/main/java/com/hbm/entity/grenade/EntityGrenadeGas.java +++ b/src/main/java/com/hbm/entity/grenade/EntityGrenadeGas.java @@ -5,7 +5,9 @@ import net.minecraft.world.World; import java.util.Random; +import com.hbm.entity.effect.EntityMist; import com.hbm.explosion.ExplosionChaos; +import com.hbm.inventory.fluid.Fluids; import com.hbm.items.ModItems; import com.hbm.items.weapon.ItemGrenade; @@ -30,21 +32,12 @@ public class EntityGrenadeGas extends EntityGrenadeBouncyBase { if (!this.worldObj.isRemote) { this.setDead(); this.worldObj.createExplosion(this, this.posX, this.posY, this.posZ, 0.0F, true); - // ExplosionChaos.poison(this.worldObj, (int)this.posX, - // (int)this.posY, (int)this.posZ, 5); - // for(int i = 0; 0 < 15; i++) { - - /* - * ExplosionLarge.spawnParticlesRadial(worldObj, posX, posY, posZ, - * 50); ExplosionLarge.spawnParticlesRadial(worldObj, posX, posY, - * posZ, 50); ExplosionLarge.spawnParticlesRadial(worldObj, posX, - * posY, posZ, 50); ExplosionLarge.spawnParticlesRadial(worldObj, - * posX, posY, posZ, 50); - */ - - ExplosionChaos.spawnChlorine(worldObj, posX, posY, posZ, 50, 1.25, 0); - - // } + + EntityMist mist = new EntityMist(worldObj); + mist.setType(Fluids.CHLORINE); + mist.setPosition(posX, posY - 5, posZ); + mist.setArea(15, 10); + worldObj.spawnEntityInWorld(mist); } } diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index d3d177c43..1bcec5d0e 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -12,6 +12,8 @@ import com.hbm.extprop.HbmLivingProps; import com.hbm.extprop.HbmPlayerProps; import com.hbm.extprop.HbmLivingProps.ContaminationEffect; 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.interfaces.IArmorModDash; import com.hbm.items.armor.ArmorFSB; @@ -19,6 +21,7 @@ import com.hbm.lib.ModDamageSource; import com.hbm.main.MainRegistry; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; +import com.hbm.potion.HbmPotion; import com.hbm.packet.ExtPropPacket; import com.hbm.saveddata.AuxSavedData; import com.hbm.util.ArmorRegistry; @@ -48,42 +51,40 @@ import net.minecraft.world.World; 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 EntityPlayerMP) { + HbmLivingProps props = HbmLivingProps.getData(entity); + HbmPlayerProps pprps = HbmPlayerProps.getData((EntityPlayerMP) entity); + NBTTagCompound data = new NBTTagCompound(); + + if(pprps.shield < pprps.maxShield && entity.ticksExisted > pprps.lastDamage + 60) { + int tsd = entity.ticksExisted - (pprps.lastDamage + 60); + pprps.shield += Math.min(pprps.maxShield - pprps.shield, 0.005F * tsd); + } + + if(pprps.shield > pprps.maxShield) + pprps.shield = pprps.maxShield; + + props.saveNBTData(data); + pprps.saveNBTData(data); + PacketDispatcher.wrapper.sendTo(new ExtPropPacket(data), (EntityPlayerMP) entity); + } + if(!entity.worldObj.isRemote) { - - if(entity.ticksExisted % 20 == 0) { - HbmLivingProps.setRadBuf(entity, HbmLivingProps.getRadEnv(entity)); - HbmLivingProps.setRadEnv(entity, 0); - } - - - if(entity instanceof EntityPlayerMP) { - HbmLivingProps props = HbmLivingProps.getData(entity); - HbmPlayerProps pprps = HbmPlayerProps.getData((EntityPlayerMP) entity); - NBTTagCompound data = new NBTTagCompound(); - - if(pprps.shield < pprps.maxShield && entity.ticksExisted > pprps.lastDamage + 60) { - int tsd = entity.ticksExisted - (pprps.lastDamage + 60); - pprps.shield += Math.min(pprps.maxShield - pprps.shield, 0.005F * tsd); - } - - if(pprps.shield > pprps.maxShield) - pprps.shield = pprps.maxShield; - - props.saveNBTData(data); - pprps.saveNBTData(data); - PacketDispatcher.wrapper.sendTo(new ExtPropPacket(data), (EntityPlayerMP) entity); - } - 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) { entity.setFire(5); } @@ -95,6 +96,7 @@ public class EntityEffectHandler { handleDigamma(entity); handleLungDisease(entity); handleOil(entity); + handlePollution(entity); handleDashing(entity); handlePlinking(entity); @@ -365,8 +367,11 @@ 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); - boolean coughs = blacklung / HbmLivingProps.maxBlacklung > 0.25D || asbestos / HbmLivingProps.maxAsbestos > 0.25D; + 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; @@ -377,11 +382,10 @@ 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); - int freq = Math.max((int) (1000 - 950 * total), 20); - World world = entity.worldObj; if(total > 0.75D) { @@ -392,6 +396,9 @@ public class EntityEffectHandler { 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); @@ -442,6 +449,41 @@ public class EntityEffectHandler { } } + private static void handlePollution(EntityLivingBase entity) { + + if(!ArmorRegistry.hasProtection(entity, 3, HazardClass.GAS_CORROSIVE) && 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) { + entity.addPotionEffect(new PotionEffect(Potion.poison.id, 100, 2)); + } else { + entity.addPotionEffect(new PotionEffect(Potion.wither.id, 100, 2)); + } + } + } + + if(!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) { + entity.addPotionEffect(new PotionEffect(HbmPotion.lead.id, 100, 2)); + } else { + entity.addPotionEffect(new PotionEffect(HbmPotion.lead.id, 100, 2)); + } + } + } + } + private static void handleDashing(Entity entity) { //AAAAAAAAAAAAAAAAAAAAEEEEEEEEEEEEEEEEEEEE diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index d62fd28e6..ebf943f95 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -169,6 +169,7 @@ public class PollutionHandler { float[] pollutionForNeightbors = new float[PollutionType.values().length]; int S = PollutionType.SOOT.ordinal(); int H = PollutionType.HEAVYMETAL.ordinal(); + int P = PollutionType.POISON.ordinal(); /* CALCULATION */ if(data.pollution[S] > 15) { @@ -178,7 +179,14 @@ public class PollutionHandler { data.pollution[S] *= 0.99F; } - data.pollution[H] *= 0.999F; + data.pollution[H] *= 0.9995F; + + if(data.pollution[P] > 10) { + pollutionForNeightbors[P] = data.pollution[P] * 0.025F; + data.pollution[P] *= 0.9F; + } else { + data.pollution[P] *= 0.995F; + } /* SPREADING */ //apply new data to self diff --git a/src/main/java/com/hbm/inventory/gui/GUICompressor.java b/src/main/java/com/hbm/inventory/gui/GUICompressor.java index e555886fa..66e72609b 100644 --- a/src/main/java/com/hbm/inventory/gui/GUICompressor.java +++ b/src/main/java/com/hbm/inventory/gui/GUICompressor.java @@ -36,7 +36,7 @@ public class GUICompressor extends GuiInfoContainer { compressor.tanks[1].renderTankInfo(this, mouseX, mouseY, guiLeft + 107, guiTop + 18, 16, 52); this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 152, guiTop + 18, 16, 52, compressor.power, compressor.maxPower); - for(int j = 0; j < 5; j++) drawCustomInfoStat(mouseX, mouseY, guiLeft + 43 + j * 11, guiTop + 48, 8, 14, mouseX, mouseY, j + " PU -> " + (j + 1) + " PU"); + for(int j = 0; j < 5; j++) drawCustomInfoStat(mouseX, mouseY, guiLeft + 43 + j * 11, guiTop + 46, 8, 14, mouseX, mouseY, j + " PU -> " + (j + 1) + " PU"); } @Override diff --git a/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java b/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java index 40efef4ce..d4d263fa5 100644 --- a/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java +++ b/src/main/java/com/hbm/items/weapon/ItemAmmoArty.java @@ -19,6 +19,8 @@ import com.hbm.explosion.vanillant.standard.BlockProcessorStandard; import com.hbm.explosion.vanillant.standard.EntityProcessorCross; import com.hbm.explosion.vanillant.standard.ExplosionEffectStandard; import com.hbm.explosion.vanillant.standard.PlayerProcessorStandard; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.RefStrings; import com.hbm.main.MainRegistry; @@ -318,6 +320,7 @@ public class ItemAmmoArty extends Item { mist.setPosition(mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord - 3, mop.hitVec.zCoord - vec.zCoord); mist.setArea(15, 7.5F); shell.worldObj.spawnEntityInWorld(mist); + PollutionHandler.incrementPollution(shell.worldObj, mop.blockX, mop.blockY, mop.blockZ, PollutionType.HEAVYMETAL, 5F); } }; this.itemTypes[PHOSGENE] = new ArtilleryShell("ammo_arty_phosgene", SpentCasing.COLOR_CASE_16INCH_NUKE) { @@ -326,18 +329,20 @@ public class ItemAmmoArty extends Item { Vec3 vec = Vec3.createVectorHelper(shell.motionX, shell.motionY, shell.motionZ).normalize(); shell.worldObj.createExplosion(shell, mop.hitVec.xCoord - vec.xCoord, mop.hitVec.yCoord - vec.yCoord, mop.hitVec.zCoord - vec.zCoord, 5F, false); for(int i = 0; i < 3; i++) { - EntityMist mist = new EntityMist(shell.worldObj); - mist.setType(Fluids.PHOSGENE); - double x = mop.hitVec.xCoord - vec.xCoord; - double z = mop.hitVec.zCoord - vec.zCoord; - if(i > 0) { - x += rand.nextGaussian() * 15; - z += rand.nextGaussian() * 15; + EntityMist mist = new EntityMist(shell.worldObj); + mist.setType(Fluids.PHOSGENE); + double x = mop.hitVec.xCoord - vec.xCoord; + double z = mop.hitVec.zCoord - vec.zCoord; + if(i > 0) { + x += rand.nextGaussian() * 15; + z += rand.nextGaussian() * 15; + } + mist.setPosition(x, mop.hitVec.yCoord - vec.yCoord - 5, z); + mist.setArea(15, 10); + shell.worldObj.spawnEntityInWorld(mist); } - mist.setPosition(x, mop.hitVec.yCoord - vec.yCoord - 5, z); - mist.setArea(15, 10); - shell.worldObj.spawnEntityInWorld(mist); - } + PollutionHandler.incrementPollution(shell.worldObj, mop.blockX, mop.blockY, mop.blockZ, PollutionType.HEAVYMETAL, 10F); + PollutionHandler.incrementPollution(shell.worldObj, mop.blockX, mop.blockY, mop.blockZ, PollutionType.POISON, 15F); } }; this.itemTypes[MUSTARD] = new ArtilleryShell("ammo_arty_mustard_gas", SpentCasing.COLOR_CASE_16INCH_NUKE) { @@ -358,6 +363,8 @@ public class ItemAmmoArty extends Item { mist.setArea(20, 10); shell.worldObj.spawnEntityInWorld(mist); } + PollutionHandler.incrementPollution(shell.worldObj, mop.blockX, mop.blockY, mop.blockZ, PollutionType.HEAVYMETAL, 15F); + PollutionHandler.incrementPollution(shell.worldObj, mop.blockX, mop.blockY, mop.blockZ, PollutionType.POISON, 30F); } }; diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 69a28216f..800a62fbb 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -41,6 +41,8 @@ import com.hbm.hazard.HazardSystem; import com.hbm.interfaces.IBomb; import com.hbm.handler.HTTPHandler; import com.hbm.handler.HbmKeybinds.EnumKeybind; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.handler.SiegeOrchestrator; import com.hbm.items.IEquipReceiver; import com.hbm.items.ModItems; @@ -65,12 +67,14 @@ import com.hbm.potion.HbmPotion; import com.hbm.saveddata.AuxSavedData; import com.hbm.tileentity.network.RTTYSystem; 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.EntityDamageUtil; import com.hbm.util.EnumUtil; import com.hbm.util.InventoryUtil; +import com.hbm.util.ArmorRegistry.HazardClass; import com.hbm.world.generator.TimedGenerator; import cpw.mods.fml.common.eventhandler.EventPriority; @@ -1149,10 +1153,12 @@ public class ModEventHandler { @SubscribeEvent public void onBlockBreak(BreakEvent event) { - if(!(event.getPlayer() instanceof EntityPlayerMP)) + EntityPlayer player = event.getPlayer(); + + if(!(player instanceof EntityPlayerMP)) return; - if(event.block == ModBlocks.stone_gneiss && !((EntityPlayerMP) event.getPlayer()).func_147099_x().hasAchievementUnlocked(MainRegistry.achStratum)) { + if(event.block == ModBlocks.stone_gneiss && !((EntityPlayerMP) player).func_147099_x().hasAchievementUnlocked(MainRegistry.achStratum)) { event.getPlayer().triggerAchievement(MainRegistry.achStratum); event.setExpToDrop(500); } @@ -1169,6 +1175,21 @@ public class ModEventHandler { event.world.setBlock(x, y, z, ModBlocks.gas_coal); } } + + 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) { + player.addPotionEffect(new PotionEffect(HbmPotion.lead.id, 100, 1)); + } else { + player.addPotionEffect(new PotionEffect(HbmPotion.lead.id, 100, 2)); + } + } } private static final String hash = "41eb77f138ce350932e33b6b26b233df9aad0c0c80c6a49cb9a54ddd8fae3f83"; diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java index a01fd1347..1527a9e17 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCombustionEngine.java @@ -142,6 +142,8 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachineBase imp audio = rebootAudio(audio); } + audio.keepAlive(); + } else { if(audio != null) { @@ -165,7 +167,7 @@ public class TileEntityMachineCombustionEngine extends TileEntityMachineBase imp } public AudioWrapper createAudioLoop() { - return MainRegistry.proxy.getLoopedSound("hbm:block.igeneratorOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F); + return MainRegistry.proxy.getLoopedSound("hbm:block.igeneratorOperate", xCoord, yCoord, zCoord, 1.0F, 10F, 1.0F, 20); } @Override From 296af599dc9ec697a7bfb5b41b8d82446cdfda77 Mon Sep 17 00:00:00 2001 From: Vaern Date: Sat, 24 Jun 2023 23:55:24 -0700 Subject: [PATCH 216/285] lore --- src/main/resources/assets/hbm/lang/en_US.lang | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 6bd3ff4e6..6b313960b 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -386,6 +386,51 @@ book_lore.memo_schrab_nuke.page.0=Our most recent investigation led us to the ef 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=Private Notes +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=Private Notes +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=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.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=Private Notes +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=Private Notes +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... + cannery.f1=[ Press F1 for help ] cannery.centrifuge=Gas Centrifuge From ff3afbf0281a6931f7525e77e587b751c4c956a8 Mon Sep 17 00:00:00 2001 From: Bob Date: Sun, 25 Jun 2023 19:10:29 +0200 Subject: [PATCH 217/285] ow --- gradle.properties | 2 +- src/main/java/com/hbm/blocks/ModBlocks.java | 2 +- .../java/com/hbm/blocks/rail/IRailNTM.java | 6 +- .../hbm/blocks/rail/RailStandardBuffer.java | 90 +- .../hbm/entity/train/EntityRailCarBase.java | 62 +- .../inventory/recipes/AssemblerRecipes.java | 8 + .../java/com/hbm/items/special/ItemTrain.java | 6 +- src/main/java/com/hbm/lib/RefStrings.java | 2 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/CraftingManager.java | 2 + .../com/hbm/main/ModEventHandlerClient.java | 9 +- .../java/com/hbm/main/ResourceManager.java | 1 + .../block/RenderStandardBufferRail.java | 77 ++ src/main/resources/assets/hbm/lang/de_DE.lang | 1 + src/main/resources/assets/hbm/lang/en_US.lang | 1 + .../models/blocks/rail_standard_buffer.obj | 1143 +++++++++++++++++ .../textures/blocks/rail_standard_buffer.png | Bin 0 -> 890 bytes 17 files changed, 1380 insertions(+), 33 deletions(-) create mode 100644 src/main/java/com/hbm/render/block/RenderStandardBufferRail.java create mode 100644 src/main/resources/assets/hbm/models/blocks/rail_standard_buffer.obj create mode 100644 src/main/resources/assets/hbm/textures/blocks/rail_standard_buffer.png diff --git a/gradle.properties b/gradle.properties index 2f43c1817..fa397e559 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ mod_version=1.0.27 # Empty build number makes a release type -mod_build_number=4627 +mod_build_number=4641 credits=HbMinecraft, rodolphito (explosion algorithms), grangerave (explosion algorithms),\ \ Hoboy (textures, models), Doctor17 (russian localization), Drillgon200 (effects, models,\ diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index ea756421d..da5c00298 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -2161,7 +2161,7 @@ public class ModBlocks { 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_curve = new RailStandardCurve().setBlockName("rail_large_curve").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 + ":block_steel"); + rail_large_buffer = new RailStandardBuffer().setBlockName("rail_large_buffer").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":rail_standard_buffer"); 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"); diff --git a/src/main/java/com/hbm/blocks/rail/IRailNTM.java b/src/main/java/com/hbm/blocks/rail/IRailNTM.java index 782dc15e6..120c3b586 100644 --- a/src/main/java/com/hbm/blocks/rail/IRailNTM.java +++ b/src/main/java/com/hbm/blocks/rail/IRailNTM.java @@ -45,11 +45,13 @@ public interface IRailNTM { /** A wrapper for additional information like stopping on rails and what type of check we're doing */ public static class MoveContext { public RailCheckType type; + public double collisionBogieDistance; public boolean collision = false; //if a buffer stop or similar applies - public double overshoot; //how much of the travel distance was cut shor + public double overshoot; //how much of the travel distance was cut short - public MoveContext(RailCheckType type) { + public MoveContext(RailCheckType type, double collisionBogieDistance) { this.type = type; + this.collisionBogieDistance = collisionBogieDistance; } } diff --git a/src/main/java/com/hbm/blocks/rail/RailStandardBuffer.java b/src/main/java/com/hbm/blocks/rail/RailStandardBuffer.java index 52bee4310..bb503060a 100644 --- a/src/main/java/com/hbm/blocks/rail/RailStandardBuffer.java +++ b/src/main/java/com/hbm/blocks/rail/RailStandardBuffer.java @@ -1,12 +1,17 @@ package com.hbm.blocks.rail; import com.hbm.blocks.BlockDummyable; +import com.hbm.lib.Library; +import com.hbm.util.fauxpointtwelve.BlockPos; +import cpw.mods.fml.client.registry.RenderingRegistry; import net.minecraft.block.material.Material; import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; public class RailStandardBuffer extends BlockDummyable implements IRailNTM { @@ -19,9 +24,11 @@ public class RailStandardBuffer extends BlockDummyable implements IRailNTM { return null; } + public static int renderID = RenderingRegistry.getNextAvailableRenderId(); + @Override public int getRenderType() { - return 0; + return renderID; } @Override @@ -38,16 +45,89 @@ public class RailStandardBuffer extends BlockDummyable implements IRailNTM { public void setBlockBoundsBasedOnState(IBlockAccess world, int x, int y, int z) { this.setBlockBounds(0F, 0F, 0F, 1F, 0.125F, 1F); } - - // TBI + @Override public Vec3 getSnappingPos(World world, int x, int y, int z, double trainX, double trainY, double trainZ) { - return null; + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, 0, 0, 0, 0, new RailContext(), new MoveContext(RailCheckType.OTHER, 0)); } @Override public Vec3 getTravelLocation(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info, MoveContext context) { - return null; + return snapAndMove(world, x, y, z, trainX, trainY, trainZ, motionX, motionY, motionZ, speed, info, context); + } + + /* Very simple function determining the snapping position and adding the motion value to it, if desired. */ + public Vec3 snapAndMove(World world, int x, int y, int z, double trainX, double trainY, double trainZ, double motionX, double motionY, double motionZ, double speed, RailContext info, MoveContext context) { + int[] pos = this.findCore(world, x, y, z); + if(pos == null) return Vec3.createVectorHelper(trainX, trainY, trainZ); + int cX = pos[0]; + int cY = pos[1]; + int cZ = pos[2]; + int meta = world.getBlockMetadata(cX, cY, cZ) - this.offset; + ForgeDirection dir = ForgeDirection.getOrientation(meta); + ForgeDirection rot = dir.getRotation(ForgeDirection.UP); + + Vec3 vec = Vec3.createVectorHelper(trainX, trainY, trainZ); + + if(speed == 0) { + //return vec; + } + + if(dir == Library.POS_X || dir == Library.NEG_X) { + double targetX = trainX; + if(motionX > 0) { + targetX += speed; + info.yaw(-90F); + } else { + targetX -= speed; + info.yaw(90F); + } + vec.xCoord = MathHelper.clamp_double(targetX, cX - 2, cX + 3); + vec.yCoord = y + 0.1875; + vec.zCoord = cZ + 0.5 + rot.offsetZ * 0.5; + + double nX = (dir == Library.POS_X ? -1 - context.collisionBogieDistance : 2); + double pX = (dir == Library.NEG_X ? 0 - context.collisionBogieDistance : 3); + double buffer = MathHelper.clamp_double(targetX, cX - nX, cX + pX); + + if(buffer != vec.xCoord) { + context.collision = true; + context.overshoot = Math.abs(buffer - vec.xCoord); + vec.xCoord = buffer; + return vec; + } + + info.dist(Math.abs(targetX - vec.xCoord) * Math.signum(speed)); + info.pos(new BlockPos(cX + (motionX * speed > 0 ? 3 : -3), y, cZ)); + } else { + double targetZ = trainZ; + if(motionZ > 0) { + targetZ += speed; + info.yaw(0F); + } else { + targetZ -= speed; + info.yaw(180F); + } + vec.xCoord = cX + 0.5 + rot.offsetX * 0.5; + vec.yCoord = y + 0.1875; + vec.zCoord = MathHelper.clamp_double(targetZ, cZ - 2,cZ + 3); + + double nZ = (dir == Library.POS_Z ? -1 - context.collisionBogieDistance : 2); + double pZ = (dir == Library.NEG_Z ? 0 - context.collisionBogieDistance : 3); + double buffer = MathHelper.clamp_double(targetZ, cZ - nZ, cZ + pZ); + + if(buffer != vec.xCoord) { + context.collision = true; + context.overshoot = Math.abs(buffer - vec.zCoord); + vec.zCoord = buffer; + return vec; + } + + info.dist(Math.abs(targetZ - vec.zCoord) * Math.signum(speed)); + info.pos(new BlockPos(cX, y, cZ + (motionZ * speed > 0 ? 3 : -3))); + } + + return vec; } @Override diff --git a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java index 37f77f79f..f4a301914 100644 --- a/src/main/java/com/hbm/entity/train/EntityRailCarBase.java +++ b/src/main/java/com/hbm/entity/train/EntityRailCarBase.java @@ -14,8 +14,7 @@ import com.hbm.blocks.rail.IRailNTM.TrackGauge; import com.hbm.items.ModItems; import com.hbm.packet.AuxParticlePacketNT; import com.hbm.packet.PacketDispatcher; -import com.hbm.packet.PlayerInformPacket; -import com.hbm.util.ChatBuilder; +import com.hbm.util.Tuple.Pair; import com.hbm.util.fauxpointtwelve.BlockPos; import cpw.mods.fml.common.network.NetworkRegistry.TargetPoint; @@ -27,7 +26,6 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.ChatComponentText; import net.minecraft.util.DamageSource; -import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; import net.minecraft.util.Vec3; import net.minecraft.world.World; @@ -166,8 +164,8 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } BlockPos anchor = this.getCurrentAnchorPos(); - Vec3 frontPos = getRelPosAlongRail(anchor, this.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); - Vec3 backPos = getRelPosAlongRail(anchor, -this.getLengthSpan(), new MoveContext(RailCheckType.BACK)); + Vec3 frontPos = getRelPosAlongRail(anchor, this.getLengthSpan(), new MoveContext(RailCheckType.FRONT, this.getCollisionSpan() - this.getLengthSpan())); + Vec3 backPos = getRelPosAlongRail(anchor, -this.getLengthSpan(), new MoveContext(RailCheckType.BACK, this.getCollisionSpan() - this.getLengthSpan())); this.lastRenderX = this.renderX; this.lastRenderY = this.renderY; @@ -325,7 +323,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { EntityRailCarBase train = ltu.trains[0]; BlockPos anchor = new BlockPos(train.posX, train.posY, train.posZ); - Vec3 newPos = train.getRelPosAlongRail(anchor, speed, new MoveContext(RailCheckType.CORE)); + Vec3 newPos = train.getRelPosAlongRail(anchor, speed, new MoveContext(RailCheckType.CORE, 0)); if(newPos == null) { train.derail(); ltu.dissolveTrain(); @@ -333,8 +331,8 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } train.setPosition(newPos.xCoord, newPos.yCoord, newPos.zCoord); anchor = train.getCurrentAnchorPos(); - Vec3 frontPos = train.getRelPosAlongRail(anchor, train.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); - Vec3 backPos = train.getRelPosAlongRail(anchor, -train.getLengthSpan(), new MoveContext(RailCheckType.BACK)); + Vec3 frontPos = train.getRelPosAlongRail(anchor, train.getLengthSpan(), new MoveContext(RailCheckType.FRONT, train.getCollisionSpan() - train.getLengthSpan())); + Vec3 backPos = train.getRelPosAlongRail(anchor, -train.getLengthSpan(), new MoveContext(RailCheckType.BACK, train.getCollisionSpan() - train.getLengthSpan())); if(frontPos == null || backPos == null) { train.derail(); @@ -634,11 +632,11 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { BlockPos anchor = new BlockPos(moving.posX, moving.posY, moving.posZ); Vec3 trainPos = Vec3.createVectorHelper(moving.posX, moving.posY, moving.posZ); float yaw = EntityRailCarBase.generateYaw(prevLoc, nextLoc); - Vec3 newPos = EntityRailCarBase.getRelPosAlongRail(anchor, len, moving.getGauge(), moving.worldObj, trainPos, yaw, new MoveContext(RailCheckType.CORE)); + Vec3 newPos = EntityRailCarBase.getRelPosAlongRail(anchor, len, moving.getGauge(), moving.worldObj, trainPos, yaw, new MoveContext(RailCheckType.CORE, 0)); moving.setPosition(newPos.xCoord, newPos.yCoord, newPos.zCoord); anchor = moving.getCurrentAnchorPos(); //reset origin to new position - Vec3 frontPos = moving.getRelPosAlongRail(anchor, moving.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); - Vec3 backPos = moving.getRelPosAlongRail(anchor, -moving.getLengthSpan(), new MoveContext(RailCheckType.BACK)); + Vec3 frontPos = moving.getRelPosAlongRail(anchor, moving.getLengthSpan(), new MoveContext(RailCheckType.FRONT, moving.getCollisionSpan() - moving.getLengthSpan())); + Vec3 backPos = moving.getRelPosAlongRail(anchor, -moving.getLengthSpan(), new MoveContext(RailCheckType.BACK, moving.getCollisionSpan() - moving.getLengthSpan())); if(frontPos == null || backPos == null) { moving.derail(); @@ -679,7 +677,7 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { for(EntityRailCarBase train : this.trains) { BlockPos anchor = train.getCurrentAnchorPos(); - Vec3 corePos = train.getRelPosAlongRail(anchor, totalSpeed, new MoveContext(RailCheckType.CORE)); + Vec3 corePos = train.getRelPosAlongRail(anchor, totalSpeed, new MoveContext(RailCheckType.CORE, 0)); if(corePos == null) { train.derail(); @@ -688,8 +686,8 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } else { train.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); anchor = train.getCurrentAnchorPos(); //reset origin to new position - Vec3 frontPos = train.getRelPosAlongRail(anchor, train.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); - Vec3 backPos = train.getRelPosAlongRail(anchor, -train.getLengthSpan(), new MoveContext(RailCheckType.BACK)); + Vec3 frontPos = train.getRelPosAlongRail(anchor, train.getLengthSpan(), new MoveContext(RailCheckType.FRONT, 0)); + Vec3 backPos = train.getRelPosAlongRail(anchor, -train.getLengthSpan(), new MoveContext(RailCheckType.BACK, 0)); if(frontPos == null || backPos == null) { train.derail(); @@ -763,16 +761,17 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { boolean inReverse = first.getCouplingFrom(null) == current.getCouplingFrom(null); int sigNum = inReverse ? 1 : -1; BlockPos anchor = current.getCurrentAnchorPos(); - Vec3 corePos = current.getRelPosAlongRail(anchor, speed * sigNum, new MoveContext(RailCheckType.CORE)); - if(corePos == null) { + /*Vec3 frontPos = current.getRelPosAlongRail(anchor, current.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); + + if(frontPos == null) { current.derail(); this.dissolveTrain(); return; } else { - current.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); anchor = current.getCurrentAnchorPos(); //reset origin to new position - Vec3 frontPos = current.getRelPosAlongRail(anchor, current.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); + Vec3 corePos = current.getRelPosAlongRail(anchor, speed * sigNum, new MoveContext(RailCheckType.CORE)); + current.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); Vec3 backPos = current.getRelPosAlongRail(anchor, -current.getLengthSpan(), new MoveContext(RailCheckType.BACK)); if(frontPos == null || backPos == null) { @@ -782,6 +781,33 @@ public abstract class EntityRailCarBase extends Entity implements ILookOverlay { } else { setRenderPos(current, frontPos, backPos); } + }*/ + + Pair[] checks; + double dist = speed * sigNum; + + if(forward) { + checks = new Pair[] { + new Pair(dist + current.getLengthSpan(), RailCheckType.FRONT), + new Pair(dist, RailCheckType.CORE), + new Pair(dist - current.getLengthSpan(), RailCheckType.BACK) + }; + } else { + checks = new Pair[] { + new Pair(dist - current.getLengthSpan(), RailCheckType.BACK), + new Pair(dist, RailCheckType.CORE), + new Pair(dist + current.getLengthSpan(), RailCheckType.FRONT) + }; + } + + double brake = 0; + + for(Pair check : checks) { + MoveContext ctx = new MoveContext(check.getValue(), current.getCollisionSpan() - current.getLengthSpan()); + current.getRelPosAlongRail(anchor, check.getKey() - (brake * Math.signum(check.getKey())), ctx); + if(ctx.collision) { + brake += ctx.overshoot; + } } } else { diff --git a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java index 077b17bdc..db8e456d6 100644 --- a/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/AssemblerRecipes.java @@ -866,6 +866,14 @@ public class AssemblerRecipes { new OreDictStack(OreDictManager.getReflector(), 12), new ComparableStack(ModItems.circuit_copper, 12) }, 100); + makeRecipe(new ComparableStack(ModItems.ammo_himars, 1, ItemAmmoHIMARS.SMALL_LAVA), new AStack[] { + new OreDictStack(STEEL.plate(), 24), + new OreDictStack(ANY_HARDPLASTIC.ingot(), 12), + new ComparableStack(ModItems.rocket_fuel, 32), + new ComparableStack(ModItems.ball_tatb, 4), + new OreDictStack(VOLCANIC.gem(), 1), + new ComparableStack(ModItems.circuit_copper, 6) + }, 100); makeRecipe(new ComparableStack(ModItems.ammo_himars, 1, ItemAmmoHIMARS.LARGE), new AStack[] { new OreDictStack(STEEL.plate(), 24), new OreDictStack(ANY_HARDPLASTIC.ingot(), 12), diff --git a/src/main/java/com/hbm/items/special/ItemTrain.java b/src/main/java/com/hbm/items/special/ItemTrain.java index 25dc46ccf..a99df9079 100644 --- a/src/main/java/com/hbm/items/special/ItemTrain.java +++ b/src/main/java/com/hbm/items/special/ItemTrain.java @@ -80,10 +80,10 @@ public class ItemTrain extends ItemEnumMulti { train.setPosition(x + fx, y + fy, z + fz); BlockPos anchor = train.getCurrentAnchorPos(); train.rotationYaw = entity.rotationYaw; - Vec3 corePos = train.getRelPosAlongRail(anchor, 0, new MoveContext(RailCheckType.CORE)); + Vec3 corePos = train.getRelPosAlongRail(anchor, 0, new MoveContext(RailCheckType.CORE, 0)); train.setPosition(corePos.xCoord, corePos.yCoord, corePos.zCoord); - Vec3 frontPos = train.getRelPosAlongRail(anchor, train.getLengthSpan(), new MoveContext(RailCheckType.FRONT)); - Vec3 backPos = train.getRelPosAlongRail(anchor, -train.getLengthSpan(), new MoveContext(RailCheckType.BACK)); + Vec3 frontPos = train.getRelPosAlongRail(anchor, train.getLengthSpan(), new MoveContext(RailCheckType.FRONT, train.getCollisionSpan() - train.getLengthSpan())); + Vec3 backPos = train.getRelPosAlongRail(anchor, -train.getLengthSpan(), new MoveContext(RailCheckType.BACK, train.getCollisionSpan() - train.getLengthSpan())); train.rotationYaw = train.generateYaw(frontPos, backPos); world.spawnEntityInWorld(train); } diff --git a/src/main/java/com/hbm/lib/RefStrings.java b/src/main/java/com/hbm/lib/RefStrings.java index 4e3d4bdfc..bfb6dcb7a 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 (4627)"; + public static final String VERSION = "1.0.27 BETA (4641)"; //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 da86b7611..5852d92cd 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -801,6 +801,7 @@ public class ClientProxy extends ServerProxy { RenderingRegistry.registerBlockHandler(new RenderStandardStraightRail()); RenderingRegistry.registerBlockHandler(new RenderStandardCurveRail()); RenderingRegistry.registerBlockHandler(new RenderStandardRampRail()); + RenderingRegistry.registerBlockHandler(new RenderStandardBufferRail()); RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_dynamite.getRenderType(), ResourceManager.charge_dynamite)); RenderingRegistry.registerBlockHandler(new RenderBlockRotated(ModBlocks.charge_c4.getRenderType(), ResourceManager.charge_c4)); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index 29b6606ed..c18a730e0 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -996,6 +996,8 @@ public class CraftingManager { 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 }); + 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() }); diff --git a/src/main/java/com/hbm/main/ModEventHandlerClient.java b/src/main/java/com/hbm/main/ModEventHandlerClient.java index 019a369cc..9e3463f96 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerClient.java +++ b/src/main/java/com/hbm/main/ModEventHandlerClient.java @@ -13,6 +13,10 @@ import org.lwjgl.opengl.GL11; import com.hbm.blocks.ILookOverlay; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.generic.BlockAshes; +import com.hbm.blocks.rail.IRailNTM; +import com.hbm.blocks.rail.IRailNTM.MoveContext; +import com.hbm.blocks.rail.IRailNTM.RailCheckType; +import com.hbm.blocks.rail.IRailNTM.RailContext; import com.hbm.config.GeneralConfig; import com.hbm.entity.effect.EntityNukeTorex; import com.hbm.entity.mob.EntityHunterChopper; @@ -66,6 +70,7 @@ 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.fauxpointtwelve.BlockPos; import com.hbm.wiaj.GuiWorldInAJar; import com.hbm.wiaj.cannery.CanneryBase; import com.hbm.wiaj.cannery.Jars; @@ -259,12 +264,12 @@ public class ModEventHandlerClient { 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)); + 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)); + 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); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 869fc2066..cf4b0f9df 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -1344,6 +1344,7 @@ public class ResourceManager { public static final IModelCustom rail_standard_straight = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard.obj")); public static final IModelCustom rail_standard_curve = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_bend.obj")); public static final IModelCustom rail_standard_ramp = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_ramp.obj")); + public static final IModelCustom rail_standard_buffer = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/rail_standard_buffer.obj")); public static final IModelCustom capacitor = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/capacitor.obj")); public static final IModelCustom charge_dynamite = AdvancedModelLoader.loadModel(new ResourceLocation(RefStrings.MODID, "models/blocks/charge_dynamite.obj")); diff --git a/src/main/java/com/hbm/render/block/RenderStandardBufferRail.java b/src/main/java/com/hbm/render/block/RenderStandardBufferRail.java new file mode 100644 index 000000000..5cf6381e1 --- /dev/null +++ b/src/main/java/com/hbm/render/block/RenderStandardBufferRail.java @@ -0,0 +1,77 @@ +package com.hbm.render.block; + +import org.lwjgl.opengl.GL11; + +import com.hbm.blocks.rail.RailStandardBuffer; +import com.hbm.main.ResourceManager; +import com.hbm.render.util.ObjUtil; + +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; +import net.minecraftforge.client.model.obj.WavefrontObject; + +public class RenderStandardBufferRail implements ISimpleBlockRenderingHandler { + + @Override + public void renderInventoryBlock(Block block, int metadata, int modelId, RenderBlocks renderer) { + + GL11.glPushMatrix(); + Tessellator tessellator = Tessellator.instance; + + GL11.glTranslated(0, -0.0625, 0); + GL11.glRotated(90, 0, 1, 0); + GL11.glScaled(0.3, 0.3, 0.3); + tessellator.startDrawingQuads(); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_buffer, block.getIcon(1, 0), tessellator, 0, false); + tessellator.draw(); + + GL11.glPopMatrix(); + } + + @Override + public boolean renderWorldBlock(IBlockAccess world, int x, int y, int z, Block block, int modelId, RenderBlocks renderer) { + + int meta = world.getBlockMetadata(x, y, z); + if(meta < 12) return true; + + Tessellator tessellator = Tessellator.instance; + + tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); + tessellator.setColorOpaque_F(1, 1, 1); + + float rotation = 0; + + if(meta == 12) rotation = (float) Math.PI; + if(meta == 14) rotation = 270F / 180F * (float) Math.PI; + if(meta == 15) rotation = 90F / 180F * (float) Math.PI; + + if(meta == 12) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, -0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, 0.5F); + + tessellator.addTranslation(x + 0.5F, y, z + 0.5F); + ObjUtil.renderWithIcon((WavefrontObject) ResourceManager.rail_standard_buffer, block.getIcon(1, 0), tessellator, rotation, true); + tessellator.addTranslation(-x - 0.5F, -y, -z - 0.5F); + + if(meta == 12) tessellator.addTranslation(-0.5F, 0F, 0F); + if(meta == 13) tessellator.addTranslation(0.5F, 0F, 0F); + if(meta == 14) tessellator.addTranslation(0F, 0F, 0.5F); + if(meta == 15) tessellator.addTranslation(0F, 0F, -0.5F); + + return true; + } + + @Override + public boolean shouldRender3DInInventory(int modelId) { + return true; + } + + @Override + public int getRenderId() { + return RailStandardBuffer.renderID; + } +} diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 6334c68bb..34aa19f02 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1000,6 +1000,7 @@ 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) item.ammo_himars_standard_mini_nuke.name=227mm Artillerielenkrakete (Miniatombombe) item.ammo_himars_standard_tb.name=227mm Artillerielenkrakete (Thermobarisch) item.ammo_himars_standard_wp.name=227mm Artillerielenkrakete (WP) diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 6bd3ff4e6..feac1b38e 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -1580,6 +1580,7 @@ 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) item.ammo_himars_standard_mini_nuke.name=227mm Guided Artillery Rocket Pod (Mini Nuke) item.ammo_himars_standard_tb.name=227mm Guided Artillery Rocket Pod (Thermobaric) item.ammo_himars_standard_wp.name=227mm Guided Artillery Rocket Pod (WP) diff --git a/src/main/resources/assets/hbm/models/blocks/rail_standard_buffer.obj b/src/main/resources/assets/hbm/models/blocks/rail_standard_buffer.obj new file mode 100644 index 000000000..d56bd4b9b --- /dev/null +++ b/src/main/resources/assets/hbm/models/blocks/rail_standard_buffer.obj @@ -0,0 +1,1143 @@ +# Blender v2.79 (sub 0) OBJ File: 'rail_standard_stop.blend' +# www.blender.org +o Plane.001 +v 1.000000 0.062500 -0.187500 +v 1.000000 0.062500 0.187500 +v -1.000000 0.062500 0.187500 +v -1.000000 0.062500 -0.187500 +v -1.000000 0.000000 0.187500 +v 1.000000 0.000000 0.187500 +v -1.000000 0.000000 -0.187500 +v 1.000000 0.000000 -0.187500 +v -1.000000 0.000000 -0.812500 +v 1.000000 0.000000 -0.812500 +v -1.000000 0.000000 -1.187500 +v 1.000000 0.000000 -1.187500 +v -1.000000 0.000000 -1.812500 +v 1.000000 0.000000 -1.812500 +v -1.000000 0.000000 -2.187500 +v 1.000000 0.000000 -2.187500 +v -1.000000 0.000000 2.187500 +v 1.000000 0.000000 2.187500 +v -1.000000 0.000000 1.812500 +v 1.000000 0.000000 1.812500 +v -1.000000 0.000000 1.187500 +v 1.000000 0.000000 1.187500 +v -1.000000 0.000000 0.812500 +v 1.000000 0.000000 0.812500 +v -1.000000 0.062500 -1.187500 +v -1.000000 0.062500 -0.812500 +v 1.000000 0.062500 -0.812500 +v 1.000000 0.062500 -1.187500 +v -1.000000 0.062500 -2.187500 +v -1.000000 0.062500 -1.812500 +v 1.000000 0.062500 -1.812500 +v 1.000000 0.062500 -2.187500 +v -1.000000 0.062500 1.812500 +v -1.000000 0.062500 2.187500 +v 1.000000 0.062500 2.187500 +v 1.000000 0.062500 1.812500 +v -1.000000 0.062500 0.812500 +v -1.000000 0.062500 1.187500 +v 1.000000 0.062500 1.187500 +v 1.000000 0.062500 0.812500 +v -0.812500 0.062500 2.500000 +v 0.812500 0.062500 2.500000 +v -0.812500 0.062500 -2.500000 +v 0.812500 0.062500 -2.500000 +v -0.812500 0.187500 2.500000 +v 0.812500 0.187500 2.500000 +v -0.812500 0.187500 -2.500000 +v 0.812500 0.187500 -2.500000 +v 0.750000 0.062500 2.500000 +v 0.750000 0.062500 -2.500000 +v 0.750000 0.187500 2.500000 +v 0.750000 0.187500 -2.500000 +v -0.750000 0.062500 -2.500000 +v -0.750000 0.062500 2.500000 +v -0.750000 0.187500 -2.500000 +v -0.750000 0.187500 2.500000 +v 0.625000 0.062500 2.062500 +v 0.937500 0.062500 2.062500 +v 0.625000 0.062500 1.937500 +v 0.937500 0.062500 1.937500 +v 0.625000 0.125000 2.062500 +v 0.937500 0.125000 2.062500 +v 0.625000 0.125000 1.937500 +v 0.937500 0.125000 1.937500 +v -0.937500 0.062500 2.062500 +v -0.625000 0.062500 2.062500 +v -0.937500 0.062500 1.937500 +v -0.625000 0.062500 1.937500 +v -0.937500 0.125000 2.062500 +v -0.625000 0.125000 2.062500 +v -0.937500 0.125000 1.937500 +v -0.625000 0.125000 1.937500 +v 0.625000 0.062500 1.062500 +v 0.937500 0.062500 1.062500 +v 0.625000 0.062500 0.937500 +v 0.937500 0.062500 0.937500 +v 0.625000 0.125000 1.062500 +v 0.937500 0.125000 1.062500 +v 0.625000 0.125000 0.937500 +v 0.937500 0.125000 0.937500 +v -0.937500 0.062500 1.062500 +v -0.625000 0.062500 1.062500 +v -0.937500 0.062500 0.937500 +v -0.625000 0.062500 0.937500 +v -0.937500 0.125000 1.062500 +v -0.625000 0.125000 1.062500 +v -0.937500 0.125000 0.937500 +v -0.625000 0.125000 0.937500 +v 0.625000 0.062500 0.062500 +v 0.937500 0.062500 0.062500 +v 0.625000 0.062500 -0.062500 +v 0.937500 0.062500 -0.062500 +v 0.625000 0.125000 0.062500 +v 0.937500 0.125000 0.062500 +v 0.625000 0.125000 -0.062500 +v 0.937500 0.125000 -0.062500 +v -0.937500 0.062500 0.062500 +v -0.625000 0.062500 0.062500 +v -0.937500 0.062500 -0.062500 +v -0.625000 0.062500 -0.062500 +v -0.937500 0.125000 0.062500 +v -0.625000 0.125000 0.062500 +v -0.937500 0.125000 -0.062500 +v -0.625000 0.125000 -0.062500 +v 0.625000 0.062500 -0.937500 +v 0.937500 0.062500 -0.937500 +v 0.625000 0.062500 -1.062500 +v 0.937500 0.062500 -1.062500 +v 0.625000 0.125000 -0.937500 +v 0.937500 0.125000 -0.937500 +v 0.625000 0.125000 -1.062500 +v 0.937500 0.125000 -1.062500 +v -0.937500 0.062500 -0.937500 +v -0.625000 0.062500 -0.937500 +v -0.937500 0.062500 -1.062500 +v -0.625000 0.062500 -1.062500 +v -0.937500 0.125000 -0.937500 +v -0.625000 0.125000 -0.937500 +v -0.937500 0.125000 -1.062500 +v -0.625000 0.125000 -1.062500 +v 0.625000 0.062500 -1.937500 +v 0.937500 0.062500 -1.937500 +v 0.625000 0.062500 -2.062500 +v 0.937500 0.062500 -2.062500 +v 0.625000 0.125000 -1.937500 +v 0.937500 0.125000 -1.937500 +v 0.625000 0.125000 -2.062500 +v 0.937500 0.125000 -2.062500 +v -0.937500 0.062500 -1.937500 +v -0.625000 0.062500 -1.937500 +v -0.937500 0.062500 -2.062500 +v -0.625000 0.062500 -2.062500 +v -0.937500 0.125000 -1.937500 +v -0.625000 0.125000 -1.937500 +v -0.937500 0.125000 -2.062500 +v -0.625000 0.125000 -2.062500 +v -0.812500 0.062500 -1.500000 +v -0.812500 0.062500 -0.500000 +v -0.812500 0.062500 0.500000 +v -0.812500 0.062500 1.500000 +v 0.812500 0.062500 1.500000 +v 0.812500 0.062500 0.500000 +v 0.812500 0.062500 -0.500000 +v 0.812500 0.062500 -1.500000 +v -0.812500 0.187500 -1.500000 +v -0.812500 0.187500 -0.500000 +v -0.812500 0.187500 0.500000 +v -0.812500 0.187500 1.500000 +v 0.812500 0.187500 1.500000 +v 0.812500 0.187500 0.500000 +v 0.812500 0.187500 -0.500000 +v 0.812500 0.187500 -1.500000 +v 0.750000 0.062500 1.500000 +v 0.750000 0.062500 0.500000 +v 0.750000 0.062500 -0.500000 +v 0.750000 0.062500 -1.500000 +v 0.750000 0.187500 1.500000 +v 0.750000 0.187500 0.500000 +v 0.750000 0.187500 -0.500000 +v 0.750000 0.187500 -1.500000 +v -0.750000 0.062500 -1.500000 +v -0.750000 0.062500 -0.500000 +v -0.750000 0.062500 0.500000 +v -0.750000 0.062500 1.500000 +v -0.750000 0.187500 -1.500000 +v -0.750000 0.187500 -0.500000 +v -0.750000 0.187500 0.500000 +v -0.750000 0.187500 1.500000 +v -1.000000 1.500000 -1.000000 +v 1.000000 1.500000 -1.000000 +v -1.000000 1.500000 -1.375000 +v 1.000000 1.500000 -1.375000 +v -1.000000 0.875000 -1.375000 +v -1.000000 0.875000 -1.000000 +v 1.000000 0.875000 -1.000000 +v 1.000000 0.875000 -1.375000 +v 0.687500 1.062500 -1.000000 +v 0.937500 1.062500 -1.000000 +v 0.687500 1.312500 -1.000000 +v 0.937500 1.312500 -1.000000 +v 0.687500 1.312500 -0.625000 +v 0.687500 1.062500 -0.625000 +v 0.937500 1.062500 -0.625000 +v 0.937500 1.312500 -0.625000 +v 0.562500 1.312500 -0.625000 +v 0.687500 1.437500 -0.625000 +v 0.687500 0.937500 -0.625000 +v 0.562500 1.062500 -0.625000 +v 1.062500 1.062500 -0.625000 +v 0.937500 0.937500 -0.625000 +v 0.937500 1.437500 -0.625000 +v 1.062500 1.312500 -0.625000 +v 0.687500 1.437500 -0.500000 +v 0.562500 1.312500 -0.500000 +v 0.562500 1.062500 -0.500000 +v 0.687500 0.937500 -0.500000 +v 0.937500 0.937500 -0.500000 +v 1.062500 1.062500 -0.500000 +v 1.062500 1.312500 -0.500000 +v 0.937500 1.437500 -0.500000 +v 0.625000 0.875000 -1.062500 +v 0.875000 0.875000 -1.062500 +v 0.625000 0.875000 -1.312500 +v 0.875000 0.875000 -1.312500 +v 0.625000 0.000000 -1.312500 +v 0.625000 0.000000 -1.062500 +v 0.875000 0.000000 -1.062500 +v 0.875000 0.000000 -1.312500 +v -0.875000 0.875000 -1.062500 +v -0.625000 0.875000 -1.062500 +v -0.875000 0.875000 -1.312500 +v -0.625000 0.875000 -1.312500 +v -0.875000 0.000000 -1.312500 +v -0.875000 0.000000 -1.062500 +v -0.625000 0.000000 -1.062500 +v -0.625000 0.000000 -1.312500 +v 0.625000 0.000000 -2.687500 +v 0.625000 0.000000 -2.437500 +v 0.875000 0.000000 -2.437500 +v 0.875000 0.000000 -2.687500 +v -0.875000 0.000000 -2.687500 +v -0.875000 0.000000 -2.437500 +v -0.625000 0.000000 -2.437500 +v -0.625000 0.000000 -2.687500 +v 0.625000 1.062500 -1.375000 +v 0.875000 1.062500 -1.375000 +v -0.875000 1.062500 -1.375000 +v -0.625000 1.062500 -1.375000 +v 0.625000 1.312500 -1.375000 +v 0.875000 1.312500 -1.375000 +v -0.875000 1.312500 -1.375000 +v -0.625000 1.312500 -1.375000 +v -0.937500 1.062500 -1.000000 +v -0.687500 1.062500 -1.000000 +v -0.937500 1.312500 -1.000000 +v -0.687500 1.312500 -1.000000 +v -0.937500 1.312500 -0.625000 +v -0.937500 1.062500 -0.625000 +v -0.687500 1.062500 -0.625000 +v -0.687500 1.312500 -0.625000 +v -1.062500 1.312500 -0.625000 +v -0.937500 1.437500 -0.625000 +v -0.937500 0.937500 -0.625000 +v -1.062500 1.062500 -0.625000 +v -0.562500 1.062500 -0.625000 +v -0.687500 0.937500 -0.625000 +v -0.687500 1.437500 -0.625000 +v -0.562500 1.312500 -0.625000 +v -0.937500 1.437500 -0.500000 +v -1.062500 1.312500 -0.500000 +v -1.062500 1.062500 -0.500000 +v -0.937500 0.937500 -0.500000 +v -0.687500 0.937500 -0.500000 +v -0.562500 1.062500 -0.500000 +v -0.562500 1.312500 -0.500000 +v -0.687500 1.437500 -0.500000 +vt -0.000000 0.000000 +vt 0.093750 0.500000 +vt -0.000000 0.500000 +vt 0.109375 0.500000 +vt 0.203125 -0.000000 +vt 0.203125 0.500000 +vt 0.109375 0.500000 +vt 0.203125 -0.000000 +vt 0.203125 0.500000 +vt 0.109375 0.500000 +vt 0.203125 -0.000000 +vt 0.203125 0.500000 +vt 0.109375 0.500000 +vt 0.203125 -0.000000 +vt 0.203125 0.500000 +vt 0.109375 0.500000 +vt 0.203125 -0.000000 +vt 0.203125 0.500000 +vt -0.000000 0.000000 +vt 0.093750 0.500000 +vt -0.000000 0.500000 +vt -0.000000 0.000000 +vt 0.093750 0.500000 +vt -0.000000 0.500000 +vt -0.000000 0.000000 +vt 0.093750 0.500000 +vt -0.000000 0.500000 +vt -0.000000 0.000000 +vt 0.093750 0.500000 +vt -0.000000 0.500000 +vt 0.203125 0.015625 +vt 0.296875 0.000000 +vt 0.296875 0.015625 +vt 0.109375 0.500000 +vt 0.093750 0.000000 +vt 0.109375 0.000000 +vt 0.109375 0.500000 +vt 0.093750 0.000000 +vt 0.109375 0.000000 +vt 0.296875 0.000000 +vt 0.203125 0.015625 +vt 0.296875 0.000000 +vt 0.203125 0.015625 +vt 0.093750 0.000000 +vt 0.109375 0.000000 +vt 0.203125 0.015625 +vt 0.296875 0.000000 +vt 0.296875 0.015625 +vt 0.093750 0.000000 +vt 0.109375 0.000000 +vt 0.203125 0.015625 +vt 0.296875 0.000000 +vt 0.296875 0.015625 +vt 0.109375 0.500000 +vt 0.093750 0.000000 +vt 0.109375 0.000000 +vt 0.203125 0.015625 +vt 0.296875 0.000000 +vt 0.296875 0.015625 +vt 0.109375 0.500000 +vt 0.093750 0.000000 +vt 0.109375 0.000000 +vt 0.296875 0.000000 +vt 0.203125 0.015625 +vt 0.109375 0.500000 +vt 0.093750 0.000000 +vt 0.109375 0.000000 +vt 0.296875 0.000000 +vt 0.203125 0.015625 +vt 0.093750 0.000000 +vt 0.109375 0.000000 +vt 0.296875 0.000000 +vt 0.203125 0.015625 +vt 0.093750 0.000000 +vt 0.109375 0.000000 +vt 0.203125 0.015625 +vt 0.296875 0.000000 +vt 0.296875 0.015625 +vt 0.093750 0.000000 +vt 0.109375 0.000000 +vt 0.250000 0.078125 +vt 0.218750 0.328125 +vt 0.218750 0.078125 +vt 0.265625 0.328125 +vt 0.296875 0.078125 +vt 0.296875 0.328125 +vt 0.296875 0.328125 +vt 0.265625 0.078125 +vt 0.296875 0.078125 +vt 0.265625 0.359375 +vt 0.250000 0.328125 +vt 0.265625 0.328125 +vt 0.250000 0.078125 +vt 0.265625 0.328125 +vt 0.250000 0.328125 +vt 0.203125 0.078125 +vt 0.250000 0.328125 +vt 0.265625 0.359375 +vt 0.250000 0.359375 +vt 0.218750 0.078125 +vt 0.250000 0.328125 +vt 0.218750 0.328125 +vt 0.265625 0.328125 +vt 0.250000 0.078125 +vt 0.265625 0.078125 +vt 0.203125 0.078125 +vt 0.203125 0.328125 +vt 0.265625 0.359375 +vt 0.250000 0.328125 +vt 0.265625 0.328125 +vt 0.250000 0.328125 +vt 0.265625 0.359375 +vt 0.250000 0.359375 +vt 0.218750 0.031250 +vt 0.203125 0.062500 +vt 0.203125 0.031250 +vt 0.218750 0.062500 +vt 0.296875 0.078125 +vt 0.218750 0.078125 +vt 0.296875 0.031250 +vt 0.218750 0.015625 +vt 0.296875 0.015625 +vt 0.296875 0.062500 +vt 0.312500 0.031250 +vt 0.312500 0.062500 +vt 0.218750 0.031250 +vt 0.203125 0.062500 +vt 0.203125 0.031250 +vt 0.218750 0.062500 +vt 0.296875 0.078125 +vt 0.218750 0.078125 +vt 0.296875 0.031250 +vt 0.218750 0.015625 +vt 0.296875 0.015625 +vt 0.296875 0.062500 +vt 0.312500 0.031250 +vt 0.312500 0.062500 +vt 0.218750 0.031250 +vt 0.203125 0.062500 +vt 0.203125 0.031250 +vt 0.218750 0.062500 +vt 0.296875 0.078125 +vt 0.218750 0.078125 +vt 0.296875 0.031250 +vt 0.218750 0.015625 +vt 0.296875 0.015625 +vt 0.296875 0.062500 +vt 0.312500 0.031250 +vt 0.312500 0.062500 +vt 0.218750 0.031250 +vt 0.203125 0.062500 +vt 0.203125 0.031250 +vt 0.218750 0.062500 +vt 0.296875 0.078125 +vt 0.218750 0.078125 +vt 0.296875 0.031250 +vt 0.218750 0.015625 +vt 0.296875 0.015625 +vt 0.296875 0.062500 +vt 0.312500 0.031250 +vt 0.312500 0.062500 +vt 0.218750 0.031250 +vt 0.203125 0.062500 +vt 0.203125 0.031250 +vt 0.218750 0.062500 +vt 0.296875 0.078125 +vt 0.218750 0.078125 +vt 0.296875 0.031250 +vt 0.218750 0.015625 +vt 0.296875 0.015625 +vt 0.296875 0.062500 +vt 0.312500 0.031250 +vt 0.312500 0.062500 +vt 0.218750 0.031250 +vt 0.203125 0.062500 +vt 0.203125 0.031250 +vt 0.218750 0.062500 +vt 0.296875 0.078125 +vt 0.218750 0.078125 +vt 0.296875 0.031250 +vt 0.218750 0.015625 +vt 0.296875 0.015625 +vt 0.296875 0.062500 +vt 0.312500 0.031250 +vt 0.312500 0.062500 +vt 0.218750 0.031250 +vt 0.203125 0.062500 +vt 0.203125 0.031250 +vt 0.218750 0.062500 +vt 0.296875 0.078125 +vt 0.218750 0.078125 +vt 0.296875 0.031250 +vt 0.218750 0.015625 +vt 0.296875 0.015625 +vt 0.296875 0.062500 +vt 0.312500 0.031250 +vt 0.312500 0.062500 +vt 0.218750 0.031250 +vt 0.203125 0.062500 +vt 0.203125 0.031250 +vt 0.218750 0.062500 +vt 0.296875 0.078125 +vt 0.218750 0.078125 +vt 0.296875 0.031250 +vt 0.218750 0.015625 +vt 0.296875 0.015625 +vt 0.296875 0.062500 +vt 0.312500 0.031250 +vt 0.312500 0.062500 +vt 0.218750 0.031250 +vt 0.203125 0.062500 +vt 0.203125 0.031250 +vt 0.218750 0.062500 +vt 0.296875 0.078125 +vt 0.218750 0.078125 +vt 0.296875 0.031250 +vt 0.218750 0.015625 +vt 0.296875 0.015625 +vt 0.296875 0.062500 +vt 0.312500 0.031250 +vt 0.312500 0.062500 +vt 0.218750 0.031250 +vt 0.203125 0.062500 +vt 0.203125 0.031250 +vt 0.218750 0.062500 +vt 0.296875 0.078125 +vt 0.218750 0.078125 +vt 0.296875 0.031250 +vt 0.218750 0.015625 +vt 0.296875 0.015625 +vt 0.296875 0.062500 +vt 0.312500 0.031250 +vt 0.312500 0.062500 +vt 0.203125 0.078125 +vt 0.218750 0.328125 +vt 0.203125 0.328125 +vt 0.203125 0.078125 +vt 0.218750 0.328125 +vt 0.203125 0.328125 +vt 0.203125 0.078125 +vt 0.218750 0.328125 +vt 0.203125 0.328125 +vt 0.203125 0.078125 +vt 0.218750 0.328125 +vt 0.203125 0.328125 +vt 0.250000 0.078125 +vt 0.265625 0.078125 +vt 0.265625 0.328125 +vt 0.250000 0.078125 +vt 0.265625 0.078125 +vt 0.265625 0.328125 +vt 0.250000 0.078125 +vt 0.265625 0.078125 +vt 0.265625 0.328125 +vt 0.250000 0.078125 +vt 0.265625 0.078125 +vt 0.218750 0.078125 +vt 0.250000 0.328125 +vt 0.218750 0.078125 +vt 0.250000 0.328125 +vt 0.218750 0.078125 +vt 0.250000 0.328125 +vt 0.218750 0.078125 +vt 0.250000 0.328125 +vt 0.218750 0.328125 +vt 0.203125 0.078125 +vt 0.218750 0.078125 +vt 0.218750 0.328125 +vt 0.203125 0.078125 +vt 0.218750 0.078125 +vt 0.218750 0.328125 +vt 0.203125 0.078125 +vt 0.218750 0.078125 +vt 0.218750 0.328125 +vt 0.203125 0.078125 +vt 0.218750 0.078125 +vt 0.265625 0.328125 +vt 0.250000 0.328125 +vt 0.250000 0.078125 +vt 0.265625 0.328125 +vt 0.250000 0.328125 +vt 0.250000 0.078125 +vt 0.265625 0.328125 +vt 0.250000 0.328125 +vt 0.250000 0.078125 +vt 0.265625 0.328125 +vt 0.250000 0.328125 +vt 0.296875 0.328125 +vt 0.265625 0.078125 +vt 0.296875 0.078125 +vt 0.296875 0.328125 +vt 0.265625 0.078125 +vt 0.296875 0.078125 +vt 0.296875 0.328125 +vt 0.265625 0.078125 +vt 0.296875 0.078125 +vt 0.296875 0.328125 +vt 0.265625 0.078125 +vt 0.296875 0.078125 +vt 0.296875 0.078125 +vt 0.296875 0.328125 +vt 0.296875 0.078125 +vt 0.296875 0.328125 +vt 0.296875 0.078125 +vt 0.296875 0.328125 +vt 0.296875 0.078125 +vt 0.296875 0.328125 +vt 0.467018 0.000041 +vt 0.560886 0.500669 +vt 0.467018 0.500669 +vt 0.562500 -0.000000 +vt 0.468750 0.500000 +vt 0.468750 -0.000000 +vt 0.312500 0.500000 +vt 0.468750 0.593750 +vt 0.312500 0.593750 +vt 0.312500 0.500000 +vt 0.468750 0.593750 +vt 0.312500 0.593750 +vt 0.312500 -0.000000 +vt 0.468750 0.500000 +vt 0.312500 -0.000000 +vt 0.656250 0.187500 +vt 0.562500 0.125000 +vt 0.656250 0.125000 +vt 0.656250 0.062500 +vt 0.562500 0.000000 +vt 0.656250 0.000000 +vt 0.562500 0.062500 +vt 0.656250 0.250000 +vt 0.562500 0.187500 +vt 0.625000 0.437500 +vt 0.687500 0.406250 +vt 0.687500 0.437500 +vt 0.718750 0.312500 +vt 0.593750 0.375000 +vt 0.687500 0.406250 +vt 0.593750 0.375000 +vt 0.625000 0.281250 +vt 0.687500 0.250000 +vt 0.625000 0.281250 +vt 0.625000 0.250000 +vt 0.750000 0.375000 +vt 0.750000 0.312500 +vt 0.718750 0.437500 +vt 0.718750 0.281250 +vt 0.687500 0.281250 +vt 0.593750 0.250000 +vt 0.593750 0.406250 +vt 0.625000 0.406250 +vt 0.562500 0.312500 +vt 0.562500 0.375000 +vt 0.781250 0.000000 +vt 0.718750 0.062500 +vt 0.718750 0.000000 +vt 0.656250 0.218750 +vt 0.718750 -0.000000 +vt 0.718750 0.218750 +vt 0.656250 0.218750 +vt 0.718750 0.218750 +vt 0.656250 0.218750 +vt 0.718750 -0.000000 +vt 0.718750 0.218750 +vt 0.656250 0.218750 +vt 0.718750 -0.000000 +vt 0.718750 0.218750 +vt 0.781250 0.000000 +vt 0.718750 0.062500 +vt 0.718750 0.000000 +vt 0.656250 0.218750 +vt 0.718750 -0.000000 +vt 0.718750 0.218750 +vt 0.656250 0.218750 +vt 0.718750 0.218750 +vt 0.656250 0.218750 +vt 0.718750 -0.000000 +vt 0.718750 0.218750 +vt 0.656250 0.218750 +vt 0.718750 -0.000000 +vt 0.718750 0.218750 +vt 0.250000 0.500000 +vt 0.312500 0.562500 +vt 0.250000 0.562500 +vt 0.250000 0.500000 +vt 0.312500 0.562500 +vt 0.250000 0.562500 +vt 0.187500 0.921875 +vt 0.250000 0.546875 +vt 0.250000 0.921875 +vt 0.187500 0.921875 +vt 0.250000 0.546875 +vt 0.250000 0.921875 +vt 0.000000 0.546875 +vt 0.062500 0.968750 +vt 0.000000 0.921875 +vt 0.125000 0.500000 +vt 0.125000 0.968750 +vt 0.000000 0.546875 +vt 0.062500 0.968750 +vt 0.000000 0.921875 +vt 0.125000 0.500000 +vt 0.125000 0.968750 +vt 0.656250 0.187500 +vt 0.562500 0.125000 +vt 0.656250 0.125000 +vt 0.656250 0.062500 +vt 0.562500 0.000000 +vt 0.656250 0.000000 +vt 0.562500 0.062500 +vt 0.656250 0.250000 +vt 0.562500 0.187500 +vt 0.625000 0.437500 +vt 0.687500 0.406250 +vt 0.687500 0.437500 +vt 0.718750 0.312500 +vt 0.593750 0.375000 +vt 0.687500 0.406250 +vt 0.593750 0.375000 +vt 0.625000 0.281250 +vt 0.687500 0.250000 +vt 0.625000 0.281250 +vt 0.625000 0.250000 +vt 0.750000 0.375000 +vt 0.750000 0.312500 +vt 0.718750 0.437500 +vt 0.718750 0.281250 +vt 0.687500 0.281250 +vt 0.593750 0.250000 +vt 0.593750 0.406250 +vt 0.625000 0.406250 +vt 0.562500 0.312500 +vt 0.562500 0.375000 +vt 0.203125 0.000000 +vt 0.093750 0.500000 +vt 0.093750 0.500000 +vt 0.296875 0.015625 +vt 0.296875 0.015625 +vt 0.203125 0.000000 +vt 0.203125 0.000000 +vt 0.093750 0.500000 +vt 0.203125 0.000000 +vt 0.093750 0.500000 +vt 0.296875 0.015625 +vt 0.093750 0.500000 +vt 0.296875 0.015625 +vt 0.296875 0.015625 +vt 0.203125 0.000000 +vt 0.250000 0.359375 +vt 0.203125 0.328125 +vt 0.265625 0.328125 +vt 0.250000 0.359375 +vt 0.265625 0.328125 +vt 0.203125 0.328125 +vt 0.203125 0.328125 +vt 0.203125 0.328125 +vt 0.203125 0.328125 +vt 0.560886 0.000041 +vt 0.562500 0.500000 +vt 0.468750 -0.000000 +vt 0.562500 0.250000 +vt 0.593750 0.312500 +vt 0.718750 0.375000 +vt 0.687500 0.281250 +vt 0.718750 0.312500 +vt 0.718750 0.375000 +vt 0.625000 0.406250 +vt 0.593750 0.312500 +vt 0.718750 0.406250 +vt 0.718750 0.250000 +vt 0.593750 0.281250 +vt 0.593750 0.437500 +vt 0.781250 0.062500 +vt 0.656250 -0.000000 +vt 0.656250 -0.000000 +vt 0.656250 -0.000000 +vt 0.656250 -0.000000 +vt 0.781250 0.062500 +vt 0.656250 -0.000000 +vt 0.656250 -0.000000 +vt 0.656250 -0.000000 +vt 0.656250 -0.000000 +vt 0.312500 0.500000 +vt 0.312500 0.500000 +vt 0.187500 0.546875 +vt 0.187500 0.546875 +vt 0.062500 0.500000 +vt 0.062500 0.500000 +vt 0.562500 0.250000 +vt 0.593750 0.312500 +vt 0.718750 0.375000 +vt 0.687500 0.281250 +vt 0.718750 0.312500 +vt 0.718750 0.375000 +vt 0.625000 0.406250 +vt 0.593750 0.312500 +vt 0.718750 0.406250 +vt 0.718750 0.250000 +vt 0.593750 0.281250 +vt 0.593750 0.437500 +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.7071 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.7071 -0.7071 +s off +f 2/1/1 4/2/1 3/3/1 +f 7/4/2 6/5/2 5/6/2 +f 11/7/2 10/8/2 9/9/2 +f 15/10/2 14/11/2 13/12/2 +f 19/13/2 18/14/2 17/15/2 +f 23/16/2 22/17/2 21/18/2 +f 27/19/1 25/20/1 26/21/1 +f 31/22/1 29/23/1 30/24/1 +f 35/25/1 33/26/1 34/27/1 +f 39/28/1 37/29/1 38/30/1 +f 17/31/3 33/32/3 19/33/3 +f 10/34/4 26/35/4 9/36/4 +f 18/37/4 34/38/4 17/39/4 +f 12/40/5 27/41/5 10/8/5 +f 20/42/5 35/43/5 18/14/5 +f 11/7/6 28/44/6 12/45/6 +f 5/46/3 4/47/3 7/48/3 +f 19/13/6 36/49/6 20/50/6 +f 13/51/3 29/52/3 15/53/3 +f 6/54/4 3/55/4 5/56/4 +f 21/57/3 37/58/3 23/59/3 +f 14/60/4 30/61/4 13/62/4 +f 8/63/5 2/64/5 6/5/5 +f 22/65/4 38/66/4 21/67/4 +f 16/68/5 31/69/5 14/11/5 +f 7/4/6 1/70/6 8/71/6 +f 24/72/5 39/73/5 22/17/5 +f 15/10/6 32/74/6 16/75/6 +f 9/76/3 25/77/3 11/78/3 +f 23/16/6 40/79/6 24/80/6 +f 149/81/5 42/82/5 141/83/5 +f 145/84/3 43/85/3 137/86/3 +f 49/87/3 157/88/3 153/89/3 +f 46/90/4 49/91/4 42/92/4 +f 48/93/1 160/94/1 152/95/1 +f 42/82/2 153/96/2 141/83/2 +f 44/97/6 52/98/6 48/99/6 +f 53/100/5 165/101/5 161/102/5 +f 45/103/1 168/104/1 148/105/1 +f 43/106/2 161/102/2 137/107/2 +f 47/108/6 53/109/6 43/110/6 +f 41/111/4 56/112/4 45/113/4 +f 61/114/3 59/115/3 57/116/3 +f 63/117/6 60/118/6 59/119/6 +f 62/120/4 57/121/4 58/122/4 +f 64/123/5 58/124/5 60/125/5 +f 61/114/1 64/123/1 63/117/1 +f 69/126/3 67/127/3 65/128/3 +f 71/129/6 68/130/6 67/131/6 +f 70/132/4 65/133/4 66/134/4 +f 72/135/5 66/136/5 68/137/5 +f 69/126/1 72/135/1 71/129/1 +f 77/138/3 75/139/3 73/140/3 +f 79/141/6 76/142/6 75/143/6 +f 78/144/4 73/145/4 74/146/4 +f 80/147/5 74/148/5 76/149/5 +f 77/138/1 80/147/1 79/141/1 +f 85/150/3 83/151/3 81/152/3 +f 87/153/6 84/154/6 83/155/6 +f 86/156/4 81/157/4 82/158/4 +f 88/159/5 82/160/5 84/161/5 +f 85/150/1 88/159/1 87/153/1 +f 93/162/3 91/163/3 89/164/3 +f 95/165/6 92/166/6 91/167/6 +f 94/168/4 89/169/4 90/170/4 +f 96/171/5 90/172/5 92/173/5 +f 93/162/1 96/171/1 95/165/1 +f 101/174/3 99/175/3 97/176/3 +f 103/177/6 100/178/6 99/179/6 +f 102/180/4 97/181/4 98/182/4 +f 104/183/5 98/184/5 100/185/5 +f 101/174/1 104/183/1 103/177/1 +f 109/186/3 107/187/3 105/188/3 +f 111/189/6 108/190/6 107/191/6 +f 110/192/4 105/193/4 106/194/4 +f 112/195/5 106/196/5 108/197/5 +f 109/186/1 112/195/1 111/189/1 +f 117/198/3 115/199/3 113/200/3 +f 119/201/6 116/202/6 115/203/6 +f 118/204/4 113/205/4 114/206/4 +f 120/207/5 114/208/5 116/209/5 +f 117/198/1 120/207/1 119/201/1 +f 125/210/3 123/211/3 121/212/3 +f 127/213/6 124/214/6 123/215/6 +f 126/216/4 121/217/4 122/218/4 +f 128/219/5 122/220/5 124/221/5 +f 125/210/1 128/219/1 127/213/1 +f 133/222/3 131/223/3 129/224/3 +f 135/225/6 132/226/6 131/227/6 +f 134/228/4 129/229/4 130/230/4 +f 136/231/5 130/232/5 132/233/5 +f 133/222/1 136/231/1 135/225/1 +f 140/234/2 54/235/2 41/236/2 +f 139/237/2 164/238/2 140/239/2 +f 138/240/2 163/241/2 139/242/2 +f 137/243/2 162/244/2 138/245/2 +f 145/84/1 55/246/1 47/247/1 +f 146/248/1 165/249/1 145/250/1 +f 147/251/1 166/252/1 146/253/1 +f 148/254/1 167/255/1 147/256/1 +f 164/257/5 56/258/5 54/235/5 +f 163/259/5 168/260/5 164/238/5 +f 162/261/5 167/262/5 163/241/5 +f 161/263/5 166/264/5 162/244/5 +f 144/265/2 50/266/2 44/267/2 +f 143/268/2 156/269/2 144/270/2 +f 142/271/2 155/272/2 143/273/2 +f 141/274/2 154/275/2 142/276/2 +f 149/81/1 51/277/1 46/278/1 +f 150/279/1 157/280/1 149/281/1 +f 151/282/1 158/283/1 150/284/1 +f 152/285/1 159/286/1 151/287/1 +f 156/288/3 52/289/3 50/290/3 +f 155/291/3 160/292/3 156/293/3 +f 154/294/3 159/295/3 155/296/3 +f 153/297/3 158/298/3 154/299/3 +f 45/103/3 140/300/3 41/301/3 +f 148/254/3 139/302/3 140/303/3 +f 147/251/3 138/304/3 139/305/3 +f 146/248/3 137/306/3 138/307/3 +f 48/93/5 144/265/5 44/267/5 +f 152/285/5 143/268/5 144/270/5 +f 151/282/5 142/271/5 143/273/5 +f 150/279/5 141/274/5 142/276/5 +f 170/308/1 171/309/1 169/310/1 +f 173/311/2 175/312/2 174/313/2 +f 170/314/5 176/315/5 172/316/5 +f 171/317/3 174/318/3 169/319/3 +f 172/320/6 173/321/6 171/317/6 +f 169/322/4 175/312/4 170/314/4 +f 179/323/1 184/324/1 180/325/1 +f 178/326/2 182/327/2 177/328/2 +f 180/325/5 183/329/5 178/326/5 +f 177/330/3 181/331/3 179/323/3 +f 186/332/1 200/333/1 191/334/1 +f 198/335/4 200/333/4 194/336/4 +f 186/337/6 192/338/6 190/339/6 +f 190/340/2 196/341/2 187/342/2 +f 192/343/5 198/335/5 189/344/5 +f 200/333/7 192/345/7 191/334/7 +f 190/340/8 198/346/8 197/347/8 +f 196/341/9 188/348/9 187/342/9 +f 186/332/10 194/349/10 193/350/10 +f 188/351/3 194/336/3 185/352/3 +f 205/353/2 207/354/2 206/355/2 +f 202/356/5 208/357/5 204/358/5 +f 203/359/3 206/355/3 201/360/3 +f 204/361/6 205/362/6 203/363/6 +f 201/364/4 207/365/4 202/366/4 +f 213/367/2 215/368/2 214/369/2 +f 210/370/5 216/371/5 212/372/5 +f 211/373/3 214/369/3 209/374/3 +f 212/375/6 213/376/6 211/377/6 +f 209/378/4 215/379/4 210/380/4 +f 217/381/2 219/382/2 218/383/2 +f 221/384/2 223/385/2 222/386/2 +f 223/387/11 227/388/11 222/389/11 +f 219/390/11 225/391/11 218/392/11 +f 225/393/3 217/394/3 218/395/3 +f 217/394/12 230/396/12 220/397/12 +f 230/396/5 219/390/5 220/397/5 +f 227/398/3 221/399/3 222/400/3 +f 221/399/12 232/401/12 224/402/12 +f 232/401/5 223/387/5 224/402/5 +f 235/403/1 240/404/1 236/405/1 +f 234/406/2 238/407/2 233/408/2 +f 236/405/5 239/409/5 234/406/5 +f 233/410/3 237/411/3 235/403/3 +f 242/412/1 256/413/1 247/414/1 +f 254/415/4 256/413/4 250/416/4 +f 242/417/6 248/418/6 246/419/6 +f 246/420/2 252/421/2 243/422/2 +f 248/423/5 254/415/5 245/424/5 +f 256/413/7 248/425/7 247/414/7 +f 246/420/8 254/426/8 253/427/8 +f 252/421/9 244/428/9 243/422/9 +f 242/412/10 250/429/10 249/430/10 +f 244/431/3 250/416/3 241/432/3 +f 2/1/1 1/70/1 4/2/1 +f 7/4/2 8/71/2 6/5/2 +f 11/7/2 12/45/2 10/8/2 +f 15/10/2 16/75/2 14/11/2 +f 19/13/2 20/50/2 18/14/2 +f 23/16/2 24/80/2 22/17/2 +f 27/19/1 28/44/1 25/20/1 +f 31/22/1 32/74/1 29/23/1 +f 35/25/1 36/49/1 33/26/1 +f 39/28/1 40/79/1 37/29/1 +f 17/31/3 34/433/3 33/32/3 +f 10/34/4 27/434/4 26/35/4 +f 18/37/4 35/435/4 34/38/4 +f 12/40/5 28/436/5 27/41/5 +f 20/42/5 36/437/5 35/43/5 +f 11/7/6 25/20/6 28/44/6 +f 5/46/3 3/438/3 4/47/3 +f 19/13/6 33/26/6 36/49/6 +f 13/51/3 30/439/3 29/52/3 +f 6/54/4 2/440/4 3/55/4 +f 21/57/3 38/441/3 37/58/3 +f 14/60/4 31/442/4 30/61/4 +f 8/63/5 1/443/5 2/64/5 +f 22/65/4 39/444/4 38/66/4 +f 16/68/5 32/445/5 31/69/5 +f 7/4/6 4/2/6 1/70/6 +f 24/72/5 40/446/5 39/73/5 +f 15/10/6 29/23/6 32/74/6 +f 9/76/3 26/447/3 25/77/3 +f 23/16/6 37/29/6 40/79/6 +f 149/81/5 46/278/5 42/82/5 +f 145/84/3 47/247/3 43/85/3 +f 49/87/3 51/277/3 157/88/3 +f 46/90/4 51/448/4 49/91/4 +f 48/93/1 52/289/1 160/94/1 +f 42/82/2 49/449/2 153/96/2 +f 44/97/6 50/450/6 52/98/6 +f 53/100/5 55/246/5 165/101/5 +f 45/103/1 56/258/1 168/104/1 +f 43/106/2 53/100/2 161/102/2 +f 47/108/6 55/451/6 53/109/6 +f 41/111/4 54/452/4 56/112/4 +f 61/114/3 63/117/3 59/115/3 +f 63/117/6 64/123/6 60/118/6 +f 62/120/4 61/114/4 57/121/4 +f 64/123/5 62/120/5 58/124/5 +f 61/114/1 62/120/1 64/123/1 +f 69/126/3 71/129/3 67/127/3 +f 71/129/6 72/135/6 68/130/6 +f 70/132/4 69/126/4 65/133/4 +f 72/135/5 70/132/5 66/136/5 +f 69/126/1 70/132/1 72/135/1 +f 77/138/3 79/141/3 75/139/3 +f 79/141/6 80/147/6 76/142/6 +f 78/144/4 77/138/4 73/145/4 +f 80/147/5 78/144/5 74/148/5 +f 77/138/1 78/144/1 80/147/1 +f 85/150/3 87/153/3 83/151/3 +f 87/153/6 88/159/6 84/154/6 +f 86/156/4 85/150/4 81/157/4 +f 88/159/5 86/156/5 82/160/5 +f 85/150/1 86/156/1 88/159/1 +f 93/162/3 95/165/3 91/163/3 +f 95/165/6 96/171/6 92/166/6 +f 94/168/4 93/162/4 89/169/4 +f 96/171/5 94/168/5 90/172/5 +f 93/162/1 94/168/1 96/171/1 +f 101/174/3 103/177/3 99/175/3 +f 103/177/6 104/183/6 100/178/6 +f 102/180/4 101/174/4 97/181/4 +f 104/183/5 102/180/5 98/184/5 +f 101/174/1 102/180/1 104/183/1 +f 109/186/3 111/189/3 107/187/3 +f 111/189/6 112/195/6 108/190/6 +f 110/192/4 109/186/4 105/193/4 +f 112/195/5 110/192/5 106/196/5 +f 109/186/1 110/192/1 112/195/1 +f 117/198/3 119/201/3 115/199/3 +f 119/201/6 120/207/6 116/202/6 +f 118/204/4 117/198/4 113/205/4 +f 120/207/5 118/204/5 114/208/5 +f 117/198/1 118/204/1 120/207/1 +f 125/210/3 127/213/3 123/211/3 +f 127/213/6 128/219/6 124/214/6 +f 126/216/4 125/210/4 121/217/4 +f 128/219/5 126/216/5 122/220/5 +f 125/210/1 126/216/1 128/219/1 +f 133/222/3 135/225/3 131/223/3 +f 135/225/6 136/231/6 132/226/6 +f 134/228/4 133/222/4 129/229/4 +f 136/231/5 134/228/5 130/232/5 +f 133/222/1 134/228/1 136/231/1 +f 140/234/2 164/257/2 54/235/2 +f 139/237/2 163/259/2 164/238/2 +f 138/240/2 162/261/2 163/241/2 +f 137/243/2 161/263/2 162/244/2 +f 145/84/1 165/101/1 55/246/1 +f 146/248/1 166/264/1 165/249/1 +f 147/251/1 167/262/1 166/252/1 +f 148/254/1 168/260/1 167/255/1 +f 164/257/5 168/104/5 56/258/5 +f 163/259/5 167/255/5 168/260/5 +f 162/261/5 166/252/5 167/262/5 +f 161/263/5 165/249/5 166/264/5 +f 144/265/2 156/453/2 50/266/2 +f 143/268/2 155/454/2 156/269/2 +f 142/271/2 154/455/2 155/272/2 +f 141/274/2 153/456/2 154/275/2 +f 149/81/1 157/88/1 51/277/1 +f 150/279/1 158/298/1 157/280/1 +f 151/282/1 159/295/1 158/283/1 +f 152/285/1 160/292/1 159/286/1 +f 156/288/3 160/94/3 52/289/3 +f 155/291/3 159/286/3 160/292/3 +f 154/294/3 158/283/3 159/295/3 +f 153/297/3 157/280/3 158/298/3 +f 45/103/3 148/105/3 140/300/3 +f 148/254/3 147/256/3 139/302/3 +f 147/251/3 146/253/3 138/304/3 +f 146/248/3 145/250/3 137/306/3 +f 48/93/5 152/95/5 144/265/5 +f 152/285/5 151/287/5 143/268/5 +f 151/282/5 150/284/5 142/271/5 +f 150/279/5 149/281/5 141/274/5 +f 170/308/1 172/457/1 171/309/1 +f 173/311/2 176/458/2 175/312/2 +f 170/314/5 175/312/5 176/315/5 +f 171/317/3 173/321/3 174/318/3 +f 172/320/6 176/459/6 173/321/6 +f 169/322/4 174/313/4 175/312/4 +f 179/323/1 181/331/1 184/324/1 +f 178/326/2 183/329/2 182/327/2 +f 180/325/5 184/324/5 183/329/5 +f 177/330/3 182/460/3 181/331/3 +f 186/332/1 193/350/1 200/333/1 +f 194/336/4 195/461/4 196/341/4 +f 196/341/4 197/347/4 198/335/4 +f 198/335/4 199/462/4 200/333/4 +f 200/333/4 193/350/4 194/336/4 +f 194/336/4 196/341/4 198/335/4 +f 190/339/6 187/463/6 188/464/6 +f 188/464/6 185/465/6 186/337/6 +f 186/337/6 191/466/6 192/338/6 +f 192/338/6 189/467/6 190/339/6 +f 190/339/6 188/464/6 186/337/6 +f 190/340/2 197/347/2 196/341/2 +f 192/343/5 199/462/5 198/335/5 +f 200/333/7 199/468/7 192/345/7 +f 190/340/8 189/469/8 198/346/8 +f 196/341/9 195/470/9 188/348/9 +f 186/332/10 185/471/10 194/349/10 +f 188/351/3 195/461/3 194/336/3 +f 205/353/2 208/472/2 207/354/2 +f 202/356/5 207/473/5 208/357/5 +f 203/359/3 205/474/3 206/355/3 +f 204/361/6 208/475/6 205/362/6 +f 201/364/4 206/476/4 207/365/4 +f 213/367/2 216/477/2 215/368/2 +f 210/370/5 215/478/5 216/371/5 +f 211/373/3 213/479/3 214/369/3 +f 212/375/6 216/480/6 213/376/6 +f 209/378/4 214/481/4 215/379/4 +f 217/381/2 220/482/2 219/382/2 +f 221/384/2 224/483/2 223/385/2 +f 223/387/11 228/484/11 227/388/11 +f 219/390/11 226/485/11 225/391/11 +f 225/393/3 229/486/3 217/394/3 +f 217/394/12 229/486/12 230/396/12 +f 230/396/5 226/485/5 219/390/5 +f 227/398/3 231/487/3 221/399/3 +f 221/399/12 231/487/12 232/401/12 +f 232/401/5 228/484/5 223/387/5 +f 235/403/1 237/411/1 240/404/1 +f 234/406/2 239/409/2 238/407/2 +f 236/405/5 240/404/5 239/409/5 +f 233/410/3 238/488/3 237/411/3 +f 242/412/1 249/430/1 256/413/1 +f 250/416/4 251/489/4 252/421/4 +f 252/421/4 253/427/4 254/415/4 +f 254/415/4 255/490/4 256/413/4 +f 256/413/4 249/430/4 250/416/4 +f 250/416/4 252/421/4 254/415/4 +f 246/419/6 243/491/6 244/492/6 +f 244/492/6 241/493/6 242/417/6 +f 242/417/6 247/494/6 248/418/6 +f 248/418/6 245/495/6 246/419/6 +f 246/419/6 244/492/6 242/417/6 +f 246/420/2 253/427/2 252/421/2 +f 248/423/5 255/490/5 254/415/5 +f 256/413/7 255/496/7 248/425/7 +f 246/420/8 245/497/8 254/426/8 +f 252/421/9 251/498/9 244/428/9 +f 242/412/10 241/499/10 250/429/10 +f 244/431/3 251/489/3 250/416/3 diff --git a/src/main/resources/assets/hbm/textures/blocks/rail_standard_buffer.png b/src/main/resources/assets/hbm/textures/blocks/rail_standard_buffer.png new file mode 100644 index 0000000000000000000000000000000000000000..a8943aaf877e18d8ebf7dbbae062706411f5d5ab GIT binary patch literal 890 zcmV-=1BLvFP)RX_}Vj^BDl(`#u1m z`kbceMDqK=;{eymKkE2QpCRHTN%Hi>n)DqCZqpwmNm5p~$bP>c^ww~w2SCke0O|oy zGa7(;0Mv{IpdJ7H$zQ8i0BL)Qkq89so6?0jLK+&1eAX0Z{Yh4bb>d z^byaV9QWlg)wltG+r^3scHzKcLj|NAiA!2PcSr`CVR0j`_?2b0HkR;d35)u zyBrl)en_4$`StT#<30TS$8V)E+Qx*gz03uG#XJB2yuO_fyv%U=c;_8-nu=$$fY^`1 za~$A0IfmzXwGKM%Gf=ApgO{1IqfQ$#dRUsT(VG@IzMfyqq4W58k_C?mX1vqd$XhGEEE zU)0)Sqq8Q}Hp#7kchon{iY zr`aA?P1sZ>sAU0FwWrf;QJr9(=T;^UNWKL`bec_csm@9oEQ*3xd?Gr{7P9iU+BSs? zTFq*Ek@B6Lp6dm9i;8?U5 z&;DiF;c$@F;i~t2=B^YLU0yK9|DK}{hnPBS-+++pzV$FKR} Date: Sun, 25 Jun 2023 20:22:57 +0300 Subject: [PATCH 218/285] Updated ru_RU.lang updated russian localization --- src/main/resources/assets/hbm/lang/ru_RU.lang | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/resources/assets/hbm/lang/ru_RU.lang b/src/main/resources/assets/hbm/lang/ru_RU.lang index a3235976c..307e76297 100644 --- a/src/main/resources/assets/hbm/lang/ru_RU.lang +++ b/src/main/resources/assets/hbm/lang/ru_RU.lang @@ -1506,6 +1506,7 @@ chem.TATB=Синтез TATB chem.CC_CENTRIFUGE=Отделение хлоркальцита chem.CC_ELECTROLYSIS=Электролиз хлорида кальция chem.PC_ELECTROLYSIS=Электролиз хлорида калия +chem.LAMINATE=Производство ламината item.record.lc.desc=Valve - Diabolic Adrenaline Guitar/Lambda Core item.record.ss.desc=Valve - Sector Sweep @@ -2065,6 +2066,7 @@ item.ammo_himars_standard_he.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=Ступени из асбестовых кирпичей From 9875f5a9c28f88efca727445f8c12f1a62e236bd Mon Sep 17 00:00:00 2001 From: Boblet Date: Mon, 26 Jun 2023 16:12:58 +0200 Subject: [PATCH 219/285] small fixes, config options --- changelog | 15 +++++++++------ .../blocks/generic/BlockGlyphidSpawner.java | 11 ++++++----- .../hbm/blocks/machine/MachineExcavator.java | 5 ++++- src/main/java/com/hbm/config/MobConfig.java | 17 +++++++++++++++++ .../com/hbm/entity/mob/EntityFBIDrone.java | 4 ++-- src/main/java/com/hbm/lib/HbmWorldGen.java | 5 +++-- .../textures/gui/fluids/calcium_solution.png | Bin 0 -> 708 bytes 7 files changed, 41 insertions(+), 16 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/gui/fluids/calcium_solution.png diff --git a/changelog b/changelog index b31f60f2d..57cd7d610 100644 --- a/changelog +++ b/changelog @@ -2,15 +2,16 @@ * Glpyhids * Hives will spawn randomly in the world * Hives will constantly spawn new glyphids - * If explosed to soot, hives will create glyphid scouts, which when far enough from another hive will explode and generate a new hive + * If exposed to soot, hives will create glyphid scouts, which when far enough from another hive will explode and generate a new hive * Higher soot levels create stronger glyphids - * Glyphids possess armor which has a chance of breaking off and fully abrosrbing damage + * Glyphids possess armor which has a chance of breaking off and fully absorbing damage * Each glyphid has five armor plates * Glyphid types include multiple tiers of melee glyphids as well as a few ranged ones, the scout, and a nuclear variant * Compressor * Can compress fluids, turning them into higher pressure variants + * Higher pressure fluid can use the same ducts as regular fluids, connections work the same so long as the input tank can accept the higher pressure type * Can also turn steam into higher pressure types - * Vacuum refning now requires oil at 2 PU + * Vacuum refining now requires oil at 2 PU * Some chemical plant recipes also require compressed fluid, TATB requires sour gas at 1 PU and osmiridic solution requires hydrogen peroxide at 5 PU * A new rocket artillery ammo type that creates volcanic lava on impact * BDCL @@ -27,11 +28,11 @@ * The pollution detector now displays rounded values * More machines and especially destroyed ones now release soot * The iGen has been rebalanced again, delete your machine config file for the changes to take effect - * The lubrican power multiplier has been increased from 1.1 to 1.5 + * The lubricant power multiplier has been increased from 1.1 to 1.5 * The fluid divisor has been lowered from 5,000 to 1,000, meaning the iGen now burns flammable liquids at full efficiency * Removed the config for having an additional keybind for dashing, the keybind is now always active since it no longer conflicts with crouching * Crucible recipes no longer use foundry scraps to visualize the recipes, instead they use a lava-like texture -* Fusion reactors are now made from welded magnets which are created by weling a cast steel plate onto a magnet +* Fusion reactors are now made from welded magnets which are created by welding a cast steel plate onto a magnet * Due to the cost of the cast plates, fusion reactor magnets are now cheaper to compensate * Consequently, particle accelerators are now also cheaper due to being made from mostly fusion reactor magnets * The blowtorch now consumes only 250mB per operation, allowing for up to 16 things to be welded with a single fill @@ -48,4 +49,6 @@ * Fixed missiles leaving behind a 3x3 grid of loaded chunks after being destroyed * Fixed coal ore yielding coal in the crucible instead of making carbon * Fixed a potential issue where BuildCraft generators can't supply the RF to HE converter -* Fixed combustion engine sound sometimes continue playing even when turned off \ No newline at end of file +* Fixed combustion engine sound sometimes continue playing even when turned off +* Fixed large mining drill not properly performing a block check and potentially deleting blocks when placed +* Fixed calcium solution not having a fluid texture \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java index 7e9d805f5..8de0979ae 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java @@ -3,6 +3,7 @@ package com.hbm.blocks.generic; import java.util.List; import java.util.Random; +import com.hbm.config.MobConfig; import com.hbm.entity.mob.EntityGlyphid; import com.hbm.entity.mob.EntityGlyphidBehemoth; import com.hbm.entity.mob.EntityGlyphidBlaster; @@ -49,7 +50,7 @@ public class BlockGlyphidSpawner extends BlockContainer { this.worldObj.spawnEntityInWorld(glyphid); } - if(worldObj.rand.nextInt(20) == 0 && soot > 0) { + if(worldObj.rand.nextInt(20) == 0 && soot >= MobConfig.scoutThreshold) { EntityGlyphidScout scout = new EntityGlyphidScout(worldObj); scout.setLocationAndAngles(xCoord + 0.5, yCoord + 1, zCoord + 0.5, worldObj.rand.nextFloat() * 360.0F, 0.0F); this.worldObj.spawnEntityInWorld(scout); @@ -60,10 +61,10 @@ public class BlockGlyphidSpawner extends BlockContainer { public EntityGlyphid createGlyphid(float soot) { Random rand = new Random(); - if(soot < 1) return rand.nextInt(5) == 0 ? new EntityGlyphidBombardier(worldObj) : new EntityGlyphid(worldObj); - if(soot < 10) return rand.nextInt(5) == 0 ? new EntityGlyphidBombardier(worldObj) : new EntityGlyphidBrawler(worldObj); - if(soot < 50) return rand.nextInt(5) == 0 ? new EntityGlyphidBlaster(worldObj) : new EntityGlyphidBehemoth(worldObj); - if(soot < 100) return rand.nextInt(5) == 0 ? new EntityGlyphidBlaster(worldObj) : new EntityGlyphidBrenda(worldObj); + if(soot < MobConfig.tier2Threshold) return rand.nextInt(5) == 0 ? new EntityGlyphidBombardier(worldObj) : new EntityGlyphid(worldObj); + if(soot < MobConfig.tier3Threshold) return rand.nextInt(5) == 0 ? new EntityGlyphidBombardier(worldObj) : new EntityGlyphidBrawler(worldObj); + if(soot < MobConfig.tier4Threshold) return rand.nextInt(5) == 0 ? new EntityGlyphidBlaster(worldObj) : new EntityGlyphidBehemoth(worldObj); + if(soot < MobConfig.tier5Threshold) return rand.nextInt(5) == 0 ? new EntityGlyphidBlaster(worldObj) : new EntityGlyphidBrenda(worldObj); return rand.nextInt(3) == 0 ? new EntityGlyphidBlaster(worldObj) : new EntityGlyphidNuclear(worldObj); } diff --git a/src/main/java/com/hbm/blocks/machine/MachineExcavator.java b/src/main/java/com/hbm/blocks/machine/MachineExcavator.java index 0d27866a6..c91d6bb16 100644 --- a/src/main/java/com/hbm/blocks/machine/MachineExcavator.java +++ b/src/main/java/com/hbm/blocks/machine/MachineExcavator.java @@ -51,7 +51,10 @@ public class MachineExcavator extends BlockDummyable { y += dir.offsetY * o; z += dir.offsetZ * o; - return MultiblockHandlerXR.checkSpace(world, x, y, z, getDimensions(), x, y, z, dir); + return MultiblockHandlerXR.checkSpace(world, x, y, z, getDimensions(), x, y, z, dir) && + MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] {-1, 3, 3, -2, 3, -2}, x, y, z, dir) && + MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] {-1, 3, 3, -2, -2, 3}, x, y, z, dir) && + MultiblockHandlerXR.checkSpace(world, x, y, z, new int[] {-1, 3, -2, 3, 3, 3}, x, y, z, dir); } @Override diff --git a/src/main/java/com/hbm/config/MobConfig.java b/src/main/java/com/hbm/config/MobConfig.java index 5232b8351..1fce6249f 100644 --- a/src/main/java/com/hbm/config/MobConfig.java +++ b/src/main/java/com/hbm/config/MobConfig.java @@ -28,6 +28,15 @@ public class MobConfig { public static boolean enableDucks = true; public static boolean enableMobGear = true; + public static boolean enableHives = true; + public static int hiveSpawn = 128; + public static double scoutThreshold = 0.1; + public static double tier2Threshold = 1; + public static double tier3Threshold = 10; + public static double tier4Threshold = 50; + public static double tier5Threshold = 100; + + public static void loadFromConfig(Configuration config) { final String CATEGORY = CommonConfig.CATEGORY_MOBS; @@ -55,5 +64,13 @@ 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); + + 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", 128); + scoutThreshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G02_scoutThreshold", "Minimum amount of soot for scouts to spawn", 0.1); + tier2Threshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G03_tier2Threshold", "Minimum amount of soot for tier 2 glyphids to spawn", 1); + tier3Threshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G04_tier3Threshold", "Minimum amount of soot for tier 3 glyphids to spawn", 10); + tier4Threshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G05_tier4Threshold", "Minimum amount of soot for tier 4 glyphids to spawn", 50); + tier5Threshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G06_tier5Threshold", "Minimum amount of soot for tier 5 glyphids to spawn", 100); } } diff --git a/src/main/java/com/hbm/entity/mob/EntityFBIDrone.java b/src/main/java/com/hbm/entity/mob/EntityFBIDrone.java index b773cd3ff..97110b54f 100644 --- a/src/main/java/com/hbm/entity/mob/EntityFBIDrone.java +++ b/src/main/java/com/hbm/entity/mob/EntityFBIDrone.java @@ -1,6 +1,6 @@ package com.hbm.entity.mob; -import com.hbm.entity.grenade.EntityGrenadeGeneric; +import com.hbm.entity.grenade.EntityGrenadeStrong; import net.minecraft.entity.SharedMonsterAttributes; import net.minecraft.util.Vec3; @@ -29,7 +29,7 @@ public class EntityFBIDrone extends EntityUFOBase { Vec3 vec = Vec3.createVectorHelper(posX - target.posX, posY - target.posY, posZ - target.posZ); if(Math.abs(vec.xCoord) < 5 && Math.abs(vec.zCoord) < 5 && vec.yCoord > 3) { attackCooldown = 60; - EntityGrenadeGeneric grenade = new EntityGrenadeGeneric(worldObj); + EntityGrenadeStrong grenade = new EntityGrenadeStrong(worldObj); grenade.setPosition(posX, posY, posZ); worldObj.spawnEntityInWorld(grenade); } diff --git a/src/main/java/com/hbm/lib/HbmWorldGen.java b/src/main/java/com/hbm/lib/HbmWorldGen.java index 04c41da43..6d2af30ab 100644 --- a/src/main/java/com/hbm/lib/HbmWorldGen.java +++ b/src/main/java/com/hbm/lib/HbmWorldGen.java @@ -7,6 +7,7 @@ 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; import com.hbm.config.WorldConfig; import com.hbm.items.ModItems; import com.hbm.main.MainRegistry; @@ -218,11 +219,11 @@ public class HbmWorldGen implements IWorldGenerator { if(GeneralConfig.enableDungeons && world.provider.isSurfaceWorld()) { - if(rand.nextInt(1000) == 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); - GlyphidHive.generate(world, x, y, z, rand); + if(world.getBlock(x, y - 1, z).isNormalCube()) GlyphidHive.generate(world, x, y, z, rand); } if(biome == BiomeGenBase.plains || biome == BiomeGenBase.desert) { diff --git a/src/main/resources/assets/hbm/textures/gui/fluids/calcium_solution.png b/src/main/resources/assets/hbm/textures/gui/fluids/calcium_solution.png new file mode 100644 index 0000000000000000000000000000000000000000..f1ebd5aba4619ce2699a1d0678639c73f5345e78 GIT binary patch literal 708 zcmV;#0z3VQP)>_ zij)$i)R3;OYgVfj0A1G+LLjQDYDkbI2|@_IzP>1mf~IK@LJ&m}08P^jcv+SK5D6hr zO3`&4o6Uwej=8(Lqby7Q@Qg7CApkJOu;1^|T2oaOVmuzBwPrjX56i&+F!DU7ZCjL5 zIOoW+3}XyhYlIMjzVA^=v0kqUAt0rsX&Rh!%;$525R_$!b8a~9-xNhrkR-`anNo@@ z%UCQHlx4~5>npq64(~mO!-3Ig#N~1!j$GnmG)-~NvET36Y&NV`E4r>@ zyWNuK`5=ukhOX=I-cwc8e=RgkgZG|4j3|nDd3m9#D)KzXT8oqtDJ5OkQ4|GADe^og ziXx&UNod;^tu<}ivREvz)-oQCvDOX_D5WThVo*KLb3zD+5CYa(wAO?W0GLjv)OG!5 q8UW|>nYXt$K0ZDGI2;ZLA@~O#o<1iFE_aXs0000 Date: Mon, 26 Jun 2023 18:26:59 +0200 Subject: [PATCH 220/285] doxotron --- changelog | 1 + src/main/java/com/hbm/entity/mob/EntityFBI.java | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/changelog b/changelog index 57cd7d610..871d564ea 100644 --- a/changelog +++ b/changelog @@ -43,6 +43,7 @@ * Leaded fuels now release heavy metal into the air, heavy metal can cause lead poisoning * Lower heavy metal concentrations can also cause heavy metal poisoning when breaking blocks * Gas artillery shell now create heavy metal and poisonous pollution +* FBI agents will now target the player from a much larger distance ## Fixed * Fixed potential crash or logspam regarding the pollution handler diff --git a/src/main/java/com/hbm/entity/mob/EntityFBI.java b/src/main/java/com/hbm/entity/mob/EntityFBI.java index df1ed0755..ce51f5d25 100644 --- a/src/main/java/com/hbm/entity/mob/EntityFBI.java +++ b/src/main/java/com/hbm/entity/mob/EntityFBI.java @@ -8,6 +8,7 @@ import com.hbm.blocks.ModBlocks; import com.hbm.config.MobConfig; import com.hbm.entity.mob.ai.EntityAIBreaking; import com.hbm.entity.mob.ai.EntityAI_MLPF; +import com.hbm.entity.pathfinder.PathFinderUtils; import com.hbm.entity.projectile.EntityBullet; import com.hbm.items.ModItems; @@ -50,7 +51,7 @@ public class EntityFBI extends EntityMob implements IRangedAttackMob { this.tasks.addTask(2, new EntityAIArrowAttack(this, 1D, 20, 25, 15.0F)); this.tasks.addTask(3, new EntityAIAttackOnCollide(this, EntityPlayer.class, 1.0D, true)); this.tasks.addTask(5, new EntityAIMoveTowardsRestriction(this, 1.0D)); - this.tasks.addTask(6, new EntityAI_MLPF(this, EntityPlayer.class, 100, 1D, 16)); + //this.tasks.addTask(6, new EntityAI_MLPF(this, EntityPlayer.class, 100, 1D, 16)); this.tasks.addTask(7, new EntityAIWander(this, 1.0D)); this.tasks.addTask(8, new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F)); this.tasks.addTask(8, new EntityAILookIdle(this)); @@ -119,6 +120,20 @@ public class EntityFBI extends EntityMob implements IRangedAttackMob { protected boolean isAIEnabled() { return true; } + + @Override + protected void updateAITasks() { + super.updateAITasks(); + + if(this.getAttackTarget() == null) { + this.setAttackTarget(this.worldObj.getClosestVulnerablePlayerToEntity(this, 128.0D)); + } + + // hell yeah!! + if(this.getAttackTarget() != null) { + this.getNavigator().setPath(PathFinderUtils.getPathEntityToEntityPartial(worldObj, this, this.getAttackTarget(), 16F, true, false, false, true), 1); + } + } //combat vest = full diamond set public int getTotalArmorValue() { From ae88efa44949f22830c207bd41dae37ed40af837 Mon Sep 17 00:00:00 2001 From: Vaern Date: Mon, 26 Jun 2023 09:36:33 -0700 Subject: [PATCH 221/285] joever --- src/main/java/com/hbm/lib/HbmChestContents.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/lib/HbmChestContents.java b/src/main/java/com/hbm/lib/HbmChestContents.java index 7dc26a319..ddeee1df8 100644 --- a/src/main/java/com/hbm/lib/HbmChestContents.java +++ b/src/main/java/com/hbm/lib/HbmChestContents.java @@ -415,7 +415,7 @@ public class HbmChestContents { public static ItemStack generateOfficeBook(Random rand) { //TODO rework this lore in general String key; int pages; - switch(rand.nextInt(5)) { + switch(rand.nextInt(10)) { case 0: key = "resignation_note"; pages = 3; break; case 1: @@ -426,6 +426,16 @@ public class HbmChestContents { key = "memo_schrab_rd"; pages = 4; break; case 4: key = "memo_schrab_nuke"; pages = 3; break; + case 5: + key = "bf_bomb_1"; pages = 4; break; + case 6: + key = "bf_bomb_2"; pages = 6; break; + case 7: + key = "bf_bomb_3"; pages = 6; break; + case 8: + key = "bf_bomb_4"; pages = 5; break; + case 10: + key = "bf_bomb_5"; pages = 9; break; default: return null; } From b853faf265a0d66d62a877deec0f3c962017bff0 Mon Sep 17 00:00:00 2001 From: Vaern Date: Mon, 26 Jun 2023 09:38:17 -0700 Subject: [PATCH 222/285] a --- src/main/java/com/hbm/lib/HbmChestContents.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/lib/HbmChestContents.java b/src/main/java/com/hbm/lib/HbmChestContents.java index ddeee1df8..cdd0a61cd 100644 --- a/src/main/java/com/hbm/lib/HbmChestContents.java +++ b/src/main/java/com/hbm/lib/HbmChestContents.java @@ -434,7 +434,7 @@ public class HbmChestContents { key = "bf_bomb_3"; pages = 6; break; case 8: key = "bf_bomb_4"; pages = 5; break; - case 10: + case 9: key = "bf_bomb_5"; pages = 9; break; default: return null; From 0ac2445329acfbb76ab347454d1e86a9260bcddf Mon Sep 17 00:00:00 2001 From: Bob Date: Mon, 26 Jun 2023 19:52:36 +0200 Subject: [PATCH 223/285] i'll fucking shoot somebody --- src/main/java/com/hbm/main/ClientProxy.java | 5 +++++ src/main/java/com/hbm/main/ServerProxy.java | 2 ++ .../hbm/tileentity/machine/TileEntityMachineCompressor.java | 3 ++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 5852d92cd..84723d576 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -1988,5 +1988,10 @@ public class ClientProxy extends ServerProxy { public boolean getImpact(World world) { return ImpactWorldHandler.getImpactForClient(world); } + + @Override + public void playSoundFuckMojang(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)); + } } diff --git a/src/main/java/com/hbm/main/ServerProxy.java b/src/main/java/com/hbm/main/ServerProxy.java index ac286d931..783dc4df3 100644 --- a/src/main/java/com/hbm/main/ServerProxy.java +++ b/src/main/java/com/hbm/main/ServerProxy.java @@ -84,4 +84,6 @@ public class ServerProxy { public boolean getImpact(World world) { return TomSaveData.forWorld(world).impact; } + + public void playSoundFuckMojang(double x, double y, double z, String sound, float volume, float pitch) { } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java index 285c36a20..a21a30834 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java @@ -11,6 +11,7 @@ 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.TileEntityMachineBase; import com.hbm.util.Tuple.Pair; @@ -133,7 +134,7 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement if(this.pistonDir) { this.piston -= randSpeed; if(this.piston <= 0) { - Minecraft.getMinecraft().getSoundHandler().playSound(new PositionedSoundRecord(new ResourceLocation("hbm:item.boltgun"), 0.5F, 0.75F, xCoord, yCoord, zCoord)); + MainRegistry.proxy.playSoundFuckMojang(xCoord, yCoord, zCoord, "hbm:item.boltgun", 0.5F, 0.75F); this.pistonDir = !this.pistonDir; } } else { From f9959e9a4a92c0e793db332f16f4eb6ca80a4976 Mon Sep 17 00:00:00 2001 From: Voxelstice Date: Mon, 26 Jun 2023 22:31:53 +0300 Subject: [PATCH 224/285] aaaaaaaaaaaaaaaaaa --- .../java/com/hbm/items/tool/ItemWiring.java | 27 ++++++++++++------- .../network/TileEntityPylonBase.java | 12 +++------ 2 files changed, 21 insertions(+), 18 deletions(-) diff --git a/src/main/java/com/hbm/items/tool/ItemWiring.java b/src/main/java/com/hbm/items/tool/ItemWiring.java index 2f384dccb..cd6b5d787 100644 --- a/src/main/java/com/hbm/items/tool/ItemWiring.java +++ b/src/main/java/com/hbm/items/tool/ItemWiring.java @@ -60,17 +60,24 @@ public class ItemWiring extends Item { TileEntityPylonBase first = (TileEntityPylonBase) world.getTileEntity(x1, y1, z1); TileEntityPylonBase second = ((TileEntityPylonBase) te); - - if(TileEntityPylonBase.canConnect(first, second)) { - - first.addConnection(x, y, z); - second.addConnection(x1, y1, z1); - player.addChatMessage(new ChatComponentText("Wire end")); - - } else { - player.addChatMessage(new ChatComponentText("Wire error - " + TileEntityPylonBase.errorMessage)); + + switch (TileEntityPylonBase.canConnect(first, second)) { + case 0: + first.addConnection(x, y, z); + second.addConnection(x1, y1, z1); + player.addChatMessage(new ChatComponentText("Wire end")); + break; + case 1: + player.addChatMessage(new ChatComponentText("Wire error - Pylons are not the same type")); + break; + case 2: + player.addChatMessage(new ChatComponentText("Wire error - Cannot connect to the same pylon")); + break; + case 3: + player.addChatMessage(new ChatComponentText("Wire error - Pylon is too far away")); + break; } - + stack.stackTagCompound = null; } else { diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java b/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java index 7e55e2f17..18c17166a 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java @@ -18,18 +18,15 @@ import net.minecraft.world.WorldServer; public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { public List connected = new ArrayList(); - public static String errorMessage = ""; - public static boolean canConnect(TileEntityPylonBase first, TileEntityPylonBase second) { + public static int canConnect(TileEntityPylonBase first, TileEntityPylonBase second) { if(first.getConnectionType() != second.getConnectionType()) { - errorMessage = "pylons are not the same type"; - return false; + return 1; } if(first == second) { - errorMessage = "cannot connect to the same pylon"; - return false; + return 2; } double len = Math.min(first.getMaxWireLength(), second.getMaxWireLength()); @@ -43,8 +40,7 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { (secondPos.zCoord) - (firstPos.zCoord) ); - errorMessage = "pylon too far away"; - return len >= delta.lengthVector(); + return len >= delta.lengthVector() ? 0 : 3; } public void addConnection(int x, int y, int z) { From f29a9d7250041f4b73ee962496b3d6d51a30238a Mon Sep 17 00:00:00 2001 From: Voxelstice <95834462+Voxelstice@users.noreply.github.com> Date: Mon, 26 Jun 2023 22:33:11 +0300 Subject: [PATCH 225/285] those extra 2 lines aren't useful anymore --- .../com/hbm/tileentity/network/TileEntityPylonBase.java | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java b/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java index 18c17166a..09e335094 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPylonBase.java @@ -21,13 +21,11 @@ public abstract class TileEntityPylonBase extends TileEntityCableBaseNT { public static int canConnect(TileEntityPylonBase first, TileEntityPylonBase second) { - if(first.getConnectionType() != second.getConnectionType()) { + if(first.getConnectionType() != second.getConnectionType()) return 1; - } - if(first == second) { + if(first == second) return 2; - } double len = Math.min(first.getMaxWireLength(), second.getMaxWireLength()); From cd7b68d7ce62df9f8e52b33b7323be858d5f9e05 Mon Sep 17 00:00:00 2001 From: Boblet Date: Tue, 27 Jun 2023 16:31:50 +0200 Subject: [PATCH 226/285] glyphid spawn limit --- .../com/hbm/blocks/generic/BlockGlyphidSpawner.java | 10 +++++++++- src/main/java/com/hbm/config/MobConfig.java | 2 ++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java index 8de0979ae..d0b4643d8 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java @@ -39,7 +39,15 @@ public class BlockGlyphidSpawner extends BlockContainer { public void updateEntity() { if(!worldObj.isRemote && worldObj.getTotalWorldTime() % 60 == 0 && this.worldObj.difficultySetting != EnumDifficulty.PEACEFUL) { - + + int count = 0; + + for(Object e : worldObj.loadedEntityList) { + if(e instanceof EntityGlyphid) { + count++; + if(count >= MobConfig.spawnMax) return; + } + } float soot = PollutionHandler.getPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT); List list = worldObj.getEntitiesWithinAABB(EntityGlyphid.class, AxisAlignedBB.getBoundingBox(xCoord - 6, yCoord + 1, zCoord - 6, xCoord + 7, yCoord + 9, zCoord + 7)); diff --git a/src/main/java/com/hbm/config/MobConfig.java b/src/main/java/com/hbm/config/MobConfig.java index 1fce6249f..301f330c7 100644 --- a/src/main/java/com/hbm/config/MobConfig.java +++ b/src/main/java/com/hbm/config/MobConfig.java @@ -35,6 +35,7 @@ public class MobConfig { public static double tier3Threshold = 10; public static double tier4Threshold = 50; public static double tier5Threshold = 100; + public static double spawnMax = 50; public static void loadFromConfig(Configuration config) { @@ -72,5 +73,6 @@ public class MobConfig { tier3Threshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G04_tier3Threshold", "Minimum amount of soot for tier 3 glyphids to spawn", 10); tier4Threshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G05_tier4Threshold", "Minimum amount of soot for tier 4 glyphids to spawn", 50); tier5Threshold = CommonConfig.createConfigDouble(config, CATEGORY, "12.G06_tier5Threshold", "Minimum amount of soot for tier 5 glyphids to spawn", 100); + spawnMax = CommonConfig.createConfigDouble(config, CATEGORY, "12.G07_spawnMax", "Maximum amount of glyphids being able to exist at once through natural spawning", 50); } } From cd12d6d9afa51f5b3389e31491e45a01878c69cd Mon Sep 17 00:00:00 2001 From: Bob Date: Wed, 28 Jun 2023 22:05:29 +0200 Subject: [PATCH 227/285] configs configs, glyphid meat, yummy yummy fruit salad --- changelog | 58 +++--------------- .../blocks/generic/BlockGlyphidSpawner.java | 12 ++++ .../java/com/hbm/config/CommonConfig.java | 1 + .../java/com/hbm/config/RadiationConfig.java | 19 ++++++ .../com/hbm/crafting/SmeltingRecipes.java | 2 + .../com/hbm/entity/mob/EntityGlyphid.java | 7 +++ .../java/com/hbm/extprop/HbmPlayerProps.java | 30 ++++++--- .../com/hbm/handler/EntityEffectHandler.java | 8 ++- .../handler/pollution/PollutionHandler.java | 20 +++++- src/main/java/com/hbm/items/ModItems.java | 9 +++ src/main/java/com/hbm/main/ClientProxy.java | 2 +- .../java/com/hbm/main/ModEventHandler.java | 29 +++++---- .../com/hbm/main/ModEventHandlerRenderer.java | 17 ++--- src/main/java/com/hbm/main/ServerProxy.java | 2 +- .../machine/TileEntityMachineCompressor.java | 5 +- src/main/resources/assets/hbm/lang/de_DE.lang | 2 + src/main/resources/assets/hbm/lang/en_US.lang | 2 + .../assets/hbm/textures/items/egg_glyphid.png | Bin 0 -> 393 bytes .../hbm/textures/items/egg_glyphid_base.png | Bin 0 -> 281 bytes .../hbm/textures/items/glyphid_meat.png | Bin 0 -> 414 bytes .../textures/items/glyphid_meat_grilled.png | Bin 0 -> 471 bytes .../hbm/textures/models/trinkets/peep.png | Bin 0 -> 888 bytes 22 files changed, 133 insertions(+), 92 deletions(-) create mode 100644 src/main/resources/assets/hbm/textures/items/egg_glyphid.png create mode 100644 src/main/resources/assets/hbm/textures/items/egg_glyphid_base.png create mode 100644 src/main/resources/assets/hbm/textures/items/glyphid_meat.png create mode 100644 src/main/resources/assets/hbm/textures/items/glyphid_meat_grilled.png create mode 100644 src/main/resources/assets/hbm/textures/models/trinkets/peep.png diff --git a/changelog b/changelog index 871d564ea..2bb086e00 100644 --- a/changelog +++ b/changelog @@ -1,55 +1,13 @@ ## Added -* Glpyhids - * Hives will spawn randomly in the world - * Hives will constantly spawn new glyphids - * If exposed to soot, hives will create glyphid scouts, which when far enough from another hive will explode and generate a new hive - * Higher soot levels create stronger glyphids - * Glyphids possess armor which has a chance of breaking off and fully absorbing damage - * Each glyphid has five armor plates - * Glyphid types include multiple tiers of melee glyphids as well as a few ranged ones, the scout, and a nuclear variant -* Compressor - * Can compress fluids, turning them into higher pressure variants - * Higher pressure fluid can use the same ducts as regular fluids, connections work the same so long as the input tank can accept the higher pressure type - * Can also turn steam into higher pressure types - * Vacuum refining now requires oil at 2 PU - * Some chemical plant recipes also require compressed fluid, TATB requires sour gas at 1 PU and osmiridic solution requires hydrogen peroxide at 5 PU -* A new rocket artillery ammo type that creates volcanic lava on impact -* BDCL - * A type of lubricant that is easy to make and can be used in hydraulic piston and electric press recipes instead of regular lubricant -* FBI drones - * A configurable amount of drones can now spawn during FBI raids - * They will hover over players, dropping bombs +* Configs for all things pollution related + * Pollution in general can be turned off, smog can be disabeld and adjusted, different poison types can be disabled and the threshold for spawning tougher mobs can also be changed +* Glyphid meat + * Dropped by glyphids (duh) + * Can be grilled ## Changed -* Updated russian localization -* Fluid traits can now be configured, any fluid can now have any fluid with variable stats assigned to them -* Large explosions now load the central chunk they are in, this can be disabled in the config -* Burning leaded fuels now releases poisonous heavy metals into the atmosphere -* The pollution detector now displays rounded values -* More machines and especially destroyed ones now release soot -* The iGen has been rebalanced again, delete your machine config file for the changes to take effect - * The lubricant power multiplier has been increased from 1.1 to 1.5 - * The fluid divisor has been lowered from 5,000 to 1,000, meaning the iGen now burns flammable liquids at full efficiency -* Removed the config for having an additional keybind for dashing, the keybind is now always active since it no longer conflicts with crouching -* Crucible recipes no longer use foundry scraps to visualize the recipes, instead they use a lava-like texture -* Fusion reactors are now made from welded magnets which are created by welding a cast steel plate onto a magnet - * Due to the cost of the cast plates, fusion reactor magnets are now cheaper to compensate - * Consequently, particle accelerators are now also cheaper due to being made from mostly fusion reactor magnets -* The blowtorch now consumes only 250mB per operation, allowing for up to 16 things to be welded with a single fill -* The page and notebook items have been replaced with more dynamic book items that get their data from NBT -* C4 can now be made by irradiating PVC - * Play stupid games, win stupid prizes -* Gas grenades now use the new gas system which should be a lot more pleasant to look at and less heavy on the TPS -* Leaded fuels now release heavy metal into the air, heavy metal can cause lead poisoning - * Lower heavy metal concentrations can also cause heavy metal poisoning when breaking blocks -* Gas artillery shell now create heavy metal and poisonous pollution -* FBI agents will now target the player from a much larger distance +* Glyphids now have a config for a global spawn limit, which is 50 by default, no more than this many glyphids can be created at once ## Fixed -* Fixed potential crash or logspam regarding the pollution handler -* Fixed missiles leaving behind a 3x3 grid of loaded chunks after being destroyed -* Fixed coal ore yielding coal in the crucible instead of making carbon -* Fixed a potential issue where BuildCraft generators can't supply the RF to HE converter -* Fixed combustion engine sound sometimes continue playing even when turned off -* Fixed large mining drill not properly performing a block check and potentially deleting blocks when placed -* Fixed calcium solution not having a fluid texture \ No newline at end of file +* Fixed player extprops like the HUD or backpack toggles not saving +* Fixed desync caused by teleporting between dimensions, switching toggles for HUD or backpack \ No newline at end of file diff --git a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java index d0b4643d8..f02a8efba 100644 --- a/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java +++ b/src/main/java/com/hbm/blocks/generic/BlockGlyphidSpawner.java @@ -14,9 +14,11 @@ import com.hbm.entity.mob.EntityGlyphidNuclear; import com.hbm.entity.mob.EntityGlyphidScout; import com.hbm.handler.pollution.PollutionHandler; import com.hbm.handler.pollution.PollutionHandler.PollutionType; +import com.hbm.items.ModItems; import net.minecraft.block.BlockContainer; import net.minecraft.block.material.Material; +import net.minecraft.item.Item; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.AxisAlignedBB; import net.minecraft.world.EnumDifficulty; @@ -28,6 +30,16 @@ public class BlockGlyphidSpawner extends BlockContainer { super(p_i45386_1_); } + @Override + public Item getItemDropped(int meta, Random rand, int fortune) { + return ModItems.egg_glyphid; + } + + @Override + public int quantityDropped(int meta, int fortune, Random rand) { + return 1 + rand.nextInt(3) + fortune; + } + @Override public TileEntity createNewTileEntity(World world, int meta) { return new TileEntityGlpyhidSpawner(); diff --git a/src/main/java/com/hbm/config/CommonConfig.java b/src/main/java/com/hbm/config/CommonConfig.java index 57495b68a..e1d6ed63c 100644 --- a/src/main/java/com/hbm/config/CommonConfig.java +++ b/src/main/java/com/hbm/config/CommonConfig.java @@ -22,6 +22,7 @@ public class CommonConfig { public static final String CATEGORY_RADIATION = "13_radiation"; public static final String CATEGORY_HAZARD = "14_hazard"; public static final String CATEGORY_STRUCTURES = "15_structures"; + public static final String CATEGORY_POLLUTION = "16_pollution"; public static final String CATEGORY_528 = "528"; public static final String CATEGORY_LBSM = "LESS BULLSHIT MODE"; diff --git a/src/main/java/com/hbm/config/RadiationConfig.java b/src/main/java/com/hbm/config/RadiationConfig.java index ad7b0acd7..25be90304 100644 --- a/src/main/java/com/hbm/config/RadiationConfig.java +++ b/src/main/java/com/hbm/config/RadiationConfig.java @@ -22,6 +22,15 @@ public class RadiationConfig { public static boolean disableHydro = false; public static boolean disableBlinding = false; public static boolean disableFibrosis = false; + + public static boolean enablePollution = true; + public static boolean enableLeadFromBlocks = true; + public static boolean enableLeadPoisoning = true; + public static boolean enableSootFog = true; + public static boolean enablePoison = true; + public static double buffMobThreshold = 15D; + public static double sootFogThreshold = 35D; + public static double sootFogDivisor = 120D; public static void loadFromConfig(Configuration config) { @@ -49,5 +58,15 @@ public class RadiationConfig { disableHydro = CommonConfig.createConfigBool(config, CATEGORY_HAZ, "HAZ_04_disableHydroactive", "When turned off, all hydroactive hazards are disabled", false); disableBlinding = CommonConfig.createConfigBool(config, CATEGORY_HAZ, "HAZ_05_disableBlinding", "When turned off, all blinding hazards are disabled", false); disableFibrosis = CommonConfig.createConfigBool(config, CATEGORY_HAZ, "HAZ_06_disableFibrosis", "When turned off, all fibrosis hazards are disabled", false); + + final String CATEGORY_POL = CommonConfig.CATEGORY_POLLUTION; + enablePollution = CommonConfig.createConfigBool(config, CATEGORY_POL, "POL_00_enablePollution", "If disabled, none of the polltuion related things will work", true); + enableLeadFromBlocks = CommonConfig.createConfigBool(config, CATEGORY_POL, "POL_01_enableLeadFromBlocks", "Whether breaking blocks in heavy metal polluted areas will poison the player", true); + enableLeadPoisoning = CommonConfig.createConfigBool(config, CATEGORY_POL, "POL_02_enableLeadPoisoning", "Whether being in a heavy metal polluted area will poison the player", true); + enableSootFog = CommonConfig.createConfigBool(config, CATEGORY_POL, "POL_03_enableSootFog", "Whether smog should be visible", true); + enablePoison = CommonConfig.createConfigBool(config, CATEGORY_POL, "POL_04_enablePoison", "Whether being in a poisoned area will affect the player", true); + buffMobThreshold = CommonConfig.createConfigDouble(config, CATEGORY_POL, "POL_05_buffMobThreshold", "The amount of soot required to buff naturally spawning mobs", 15D); + sootFogThreshold = CommonConfig.createConfigDouble(config, CATEGORY_POL, "POL_06_sootFogThreshold", "How much soot is required for smog to become visible", 35D); + sootFogDivisor = CommonConfig.createConfigDouble(config, CATEGORY_POL, "POL_07_sootFogDivisor", "The divisor for smog, higher numbers will require more soot for the same smog density", 120D); } } diff --git a/src/main/java/com/hbm/crafting/SmeltingRecipes.java b/src/main/java/com/hbm/crafting/SmeltingRecipes.java index 2024919c3..960689544 100644 --- a/src/main/java/com/hbm/crafting/SmeltingRecipes.java +++ b/src/main/java/com/hbm/crafting/SmeltingRecipes.java @@ -22,6 +22,8 @@ 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); diff --git a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java index 775c7ea55..a1e41ed7f 100644 --- a/src/main/java/com/hbm/entity/mob/EntityGlyphid.java +++ b/src/main/java/com/hbm/entity/mob/EntityGlyphid.java @@ -5,6 +5,7 @@ import java.util.Collections; import java.util.List; import com.hbm.entity.pathfinder.PathFinderUtils; +import com.hbm.items.ModItems; import com.hbm.main.ResourceManager; import net.minecraft.entity.Entity; @@ -12,6 +13,7 @@ import net.minecraft.entity.EnumCreatureAttribute; import net.minecraft.entity.SharedMonsterAttributes; 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.ResourceLocation; @@ -54,6 +56,11 @@ public class EntityGlyphid extends EntityMob { this.getEntityAttribute(SharedMonsterAttributes.movementSpeed).setBaseValue(1D); this.getEntityAttribute(SharedMonsterAttributes.attackDamage).setBaseValue(5D); } + + @Override + protected void dropFewItems(boolean byPlayer, int looting) { + if(rand.nextInt(3) == 0) this.entityDropItem(new ItemStack(ModItems.glyphid_meat, 1 + rand.nextInt(2) + looting), 0F); + } @Override protected Entity findPlayerToAttack() { diff --git a/src/main/java/com/hbm/extprop/HbmPlayerProps.java b/src/main/java/com/hbm/extprop/HbmPlayerProps.java index d6f173e61..63ee89a86 100644 --- a/src/main/java/com/hbm/extprop/HbmPlayerProps.java +++ b/src/main/java/com/hbm/extprop/HbmPlayerProps.java @@ -66,20 +66,26 @@ public class HbmPlayerProps implements IExtendedEntityProperties { if(!getKeyPressed(key) && pressed) { if(key == EnumKeybind.TOGGLE_JETPACK) { - 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(!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_HEAD) { - 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(!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) { @@ -146,6 +152,8 @@ public class HbmPlayerProps implements IExtendedEntityProperties { props.setFloat("shield", shield); props.setFloat("maxShield", maxShield); + props.setBoolean("enableBackpack", enableBackpack); + props.setBoolean("enableHUD", enableHUD); nbt.setTag("HbmPlayerProps", props); } @@ -158,6 +166,8 @@ public class HbmPlayerProps implements IExtendedEntityProperties { if(props != null) { this.shield = props.getFloat("shield"); this.maxShield = props.getFloat("maxShield"); + this.enableBackpack = props.getBoolean("enableBackpack"); + this.enableHUD = props.getBoolean("enableHUD"); } } } diff --git a/src/main/java/com/hbm/handler/EntityEffectHandler.java b/src/main/java/com/hbm/handler/EntityEffectHandler.java index 1bcec5d0e..ff9607611 100644 --- a/src/main/java/com/hbm/handler/EntityEffectHandler.java +++ b/src/main/java/com/hbm/handler/EntityEffectHandler.java @@ -451,7 +451,9 @@ public class EntityEffectHandler { private static void handlePollution(EntityLivingBase entity) { - if(!ArmorRegistry.hasProtection(entity, 3, HazardClass.GAS_CORROSIVE) && entity.ticksExisted % 60 == 0) { + if(!RadiationConfig.enablePollution) return; + + if(RadiationConfig.enablePoison && !ArmorRegistry.hasProtection(entity, 3, HazardClass.GAS_CORROSIVE) && 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); @@ -460,14 +462,14 @@ public class EntityEffectHandler { if(poison < 25) { entity.addPotionEffect(new PotionEffect(Potion.poison.id, 100, 0)); } else if(poison < 50) { - entity.addPotionEffect(new PotionEffect(Potion.poison.id, 100, 2)); + entity.addPotionEffect(new PotionEffect(Potion.poison.id, 100, 1)); } else { entity.addPotionEffect(new PotionEffect(Potion.wither.id, 100, 2)); } } } - if(!ArmorRegistry.hasProtection(entity, 3, HazardClass.PARTICLE_FINE) && entity.ticksExisted % 60 == 0) { + 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); diff --git a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java index ebf943f95..885bbdd82 100644 --- a/src/main/java/com/hbm/handler/pollution/PollutionHandler.java +++ b/src/main/java/com/hbm/handler/pollution/PollutionHandler.java @@ -7,6 +7,8 @@ import java.util.HashMap; import java.util.Locale; import java.util.Map.Entry; +import com.hbm.config.RadiationConfig; + import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.TickEvent; import cpw.mods.fml.common.gameevent.TickEvent.Phase; @@ -39,6 +41,9 @@ public class PollutionHandler { /// UTILITY METHODS /// /////////////////////// public static void incrementPollution(World world, int x, int y, int z, PollutionType type, float amount) { + + if(!RadiationConfig.enablePollution) return; + PollutionPerWorld ppw = perWorld.get(world); if(ppw == null) return; ChunkCoordIntPair pos = new ChunkCoordIntPair(x >> 6, z >> 6); @@ -55,6 +60,9 @@ public class PollutionHandler { } public static void setPollution(World world, int x, int y, int z, PollutionType type, float amount) { + + if(!RadiationConfig.enablePollution) return; + PollutionPerWorld ppw = perWorld.get(world); if(ppw == null) return; ChunkCoordIntPair pos = new ChunkCoordIntPair(x >> 6, z >> 6); @@ -67,6 +75,9 @@ public class PollutionHandler { } public static float getPollution(World world, int x, int y, int z, PollutionType type) { + + if(!RadiationConfig.enablePollution) return 0; + PollutionPerWorld ppw = perWorld.get(world); if(ppw == null) return 0F; ChunkCoordIntPair pos = new ChunkCoordIntPair(x >> 6, z >> 6); @@ -76,6 +87,9 @@ public class PollutionHandler { } public static PollutionData getPollutionData(World world, int x, int y, int z) { + + if(!RadiationConfig.enablePollution) return null; + PollutionPerWorld ppw = perWorld.get(world); if(ppw == null) return null; ChunkCoordIntPair pos = new ChunkCoordIntPair(x >> 6, z >> 6); @@ -88,7 +102,7 @@ public class PollutionHandler { ////////////////////// @SubscribeEvent public void onWorldLoad(WorldEvent.Load event) { - if(!event.world.isRemote) { + if(!event.world.isRemote && RadiationConfig.enablePollution) { WorldServer world = (WorldServer) event.world; String dirPath = getDataDir(world); @@ -294,6 +308,8 @@ public class PollutionHandler { @SubscribeEvent public void decorateMob(LivingSpawnEvent event) { + if(!RadiationConfig.enablePollution) return; + World world = event.world; if(world.isRemote) return; EntityLivingBase living = event.entityLiving; @@ -303,7 +319,7 @@ public class PollutionHandler { if(living instanceof IMob) { - if(data.pollution[PollutionType.SOOT.ordinal()] > 15) { + if(data.pollution[PollutionType.SOOT.ordinal()] > RadiationConfig.buffMobThreshold) { if(living.getEntityAttribute(SharedMonsterAttributes.maxHealth) != null) living.getEntityAttribute(SharedMonsterAttributes.maxHealth).applyModifier(new AttributeModifier("Soot Anger Health Increase", 2D, 1)); if(living.getEntityAttribute(SharedMonsterAttributes.attackDamage) != null) living.getEntityAttribute(SharedMonsterAttributes.attackDamage).applyModifier(new AttributeModifier("Soot Anger Damage Increase", 1.5D, 1)); } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index 1eaafb213..ef6c57c61 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1702,6 +1702,9 @@ public class ModItems { 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; @@ -4320,6 +4323,9 @@ public class ModItems { cheese = new ItemLemon(5, 10, false).setUnlocalizedName("cheese").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":cheese"); quesadilla = new ItemLemon(8, 10, 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, 3, true).setUnlocalizedName("glyphid_meat").setCreativeTab(MainRegistry.consumableTab).setTextureName(RefStrings.MODID + ":glyphid_meat"); + glyphid_meat_grilled = new ItemLemon(8, 8, 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"); @@ -7518,6 +7524,9 @@ public class ModItems { 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_13, canteen_13.getUnlocalizedName()); diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 84723d576..b1a7d09fe 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -1990,7 +1990,7 @@ public class ClientProxy extends ServerProxy { } @Override - public void playSoundFuckMojang(double x, double y, double z, String sound, float volume, float pitch) { + 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)); } } diff --git a/src/main/java/com/hbm/main/ModEventHandler.java b/src/main/java/com/hbm/main/ModEventHandler.java index 800a62fbb..6a38a081a 100644 --- a/src/main/java/com/hbm/main/ModEventHandler.java +++ b/src/main/java/com/hbm/main/ModEventHandler.java @@ -19,6 +19,7 @@ import com.hbm.blocks.ModBlocks; 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.missile.EntityMissileBaseAdvanced; import com.hbm.entity.missile.EntityMissileCustom; import com.hbm.entity.mob.EntityCyberCrab; @@ -218,7 +219,7 @@ public class ModEventHandler { } @SubscribeEvent - public void onPlayerChaangeDimension(PlayerChangedDimensionEvent event) { + public void onPlayerChangeDimension(PlayerChangedDimensionEvent event) { EntityPlayer player = event.player; HbmPlayerProps data = HbmPlayerProps.getData(player); data.setKeyPressed(EnumKeybind.JETPACK, false); @@ -1176,18 +1177,20 @@ public class ModEventHandler { } } - 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) { - player.addPotionEffect(new PotionEffect(HbmPotion.lead.id, 100, 1)); - } else { - player.addPotionEffect(new PotionEffect(HbmPotion.lead.id, 100, 2)); + 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) { + player.addPotionEffect(new PotionEffect(HbmPotion.lead.id, 100, 1)); + } else { + player.addPotionEffect(new PotionEffect(HbmPotion.lead.id, 100, 2)); + } } } } diff --git a/src/main/java/com/hbm/main/ModEventHandlerRenderer.java b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java index e01007977..7dd68dd4c 100644 --- a/src/main/java/com/hbm/main/ModEventHandlerRenderer.java +++ b/src/main/java/com/hbm/main/ModEventHandlerRenderer.java @@ -4,6 +4,7 @@ import org.lwjgl.opengl.GL11; import org.lwjgl.opengl.GLContext; import com.hbm.blocks.ICustomBlockHighlight; +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; @@ -330,7 +331,7 @@ public class ModEventHandlerRenderer { @SubscribeEvent public void worldTick(WorldTickEvent event) { - if(event.phase == event.phase.START) { + if(event.phase == event.phase.START && RadiationConfig.enableSootFog) { float step = 0.05F; float soot = PermaSyncHandler.pollution[PollutionType.SOOT.ordinal()]; @@ -347,11 +348,11 @@ public class ModEventHandlerRenderer { @SubscribeEvent(priority = EventPriority.LOW) public void thickenFog(FogDensity event) { - float soot = renderSoot - 35; - if(soot > 0) { - //event.density = Math.min((soot - 5) * 0.01F, 0.5F); + float soot = (float) (renderSoot - RadiationConfig.sootFogThreshold); + if(soot > 0 && RadiationConfig.enableSootFog) { + float farPlaneDistance = (float) (Minecraft.getMinecraft().gameSettings.renderDistanceChunks * 16); - float fogDist = farPlaneDistance / (1 + soot * 0.05F); + float fogDist = farPlaneDistance / (1 + soot * 5F / (float) RadiationConfig.sootFogDivisor); GL11.glFogf(GL11.GL_FOG_START, 0); GL11.glFogf(GL11.GL_FOG_END, fogDist); @@ -366,10 +367,10 @@ public class ModEventHandlerRenderer { @SubscribeEvent(priority = EventPriority.LOW) public void tintFog(FogColors event) { - float soot = renderSoot - 35; + float soot = (float) (renderSoot - RadiationConfig.sootFogThreshold); float sootColor = 0.15F; - float sootReq = 100F; - if(soot > 0) { + float sootReq = (float) RadiationConfig.sootFogDivisor; + if(soot > 0 && RadiationConfig.enableSootFog) { float interp = Math.min(soot / sootReq, 1F); event.red = event.red * (1 - interp) + sootColor * interp; event.green = event.green * (1 - interp) + sootColor * interp; diff --git a/src/main/java/com/hbm/main/ServerProxy.java b/src/main/java/com/hbm/main/ServerProxy.java index 783dc4df3..7695b401f 100644 --- a/src/main/java/com/hbm/main/ServerProxy.java +++ b/src/main/java/com/hbm/main/ServerProxy.java @@ -85,5 +85,5 @@ public class ServerProxy { return TomSaveData.forWorld(world).impact; } - public void playSoundFuckMojang(double x, double y, double z, String sound, float volume, float pitch) { } + public void playSoundClient(double x, double y, double z, String sound, float volume, float pitch) { } } \ No newline at end of file diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java index a21a30834..82467211b 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineCompressor.java @@ -21,15 +21,12 @@ import api.hbm.energy.IEnergyUser; import api.hbm.fluid.IFluidStandardTransceiver; import cpw.mods.fml.relauncher.Side; import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.client.Minecraft; -import net.minecraft.client.audio.PositionedSoundRecord; 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.MathHelper; -import net.minecraft.util.ResourceLocation; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -134,7 +131,7 @@ public class TileEntityMachineCompressor extends TileEntityMachineBase implement if(this.pistonDir) { this.piston -= randSpeed; if(this.piston <= 0) { - MainRegistry.proxy.playSoundFuckMojang(xCoord, yCoord, zCoord, "hbm:item.boltgun", 0.5F, 0.75F); + MainRegistry.proxy.playSoundClient(xCoord, yCoord, zCoord, "hbm:item.boltgun", 0.5F, 0.75F); this.pistonDir = !this.pistonDir; } } else { diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 34aa19f02..99542b701 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1798,6 +1798,8 @@ item.generator_front.name=Generatorfront item.generator_steel.name=Generator item.glitch.name=Glitch item.glowing_stew.name=Leuchtende Pilzsuppe +item.glyphid_meat.name=Glyphidfleisch +item.glyphid_meat_grilled.name=Gegrilltes Glyphidfleisch item.goggles.name=Schutzbrille item.grenade_aschrab.name=Werfbare Antischrabidiumzelle item.grenade_black_hole.name=Schwarzes-Loch-Granate diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 42649d57a..01de09f83 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -2486,6 +2486,8 @@ item.generator_front.name=Generator Front item.generator_steel.name=Generator Body item.glitch.name=Glitch item.glowing_stew.name=Glowing Mushroom Stew +item.glyphid_meat.name=Glyphid Meat +item.glyphid_meat_grilled.name=Grilled Glyphid Meat item.goggles.name=Protection Goggles item.grenade_aschrab.name=Tossable Antischrabidium Cell item.grenade_black_hole.name=Black Hole Grenade diff --git a/src/main/resources/assets/hbm/textures/items/egg_glyphid.png b/src/main/resources/assets/hbm/textures/items/egg_glyphid.png new file mode 100644 index 0000000000000000000000000000000000000000..e7f1bd1486496ee435bfa6ab9bcdd6e430aa43a5 GIT binary patch literal 393 zcmV;40e1e0P)nU8 z5iFL2u{A*qwt=^3aE4jul@lD^A#xm>OA2TDjyvye7K2avczNIFA0PZ{RLd!6b1mr% z+lhq@)m+h;7$0Ntphj1>xmV{|dfy;~r;=rMZj#lsMz23W%@qS~ z0t5h=dJ{nc@Nv0|X;@r5-42gXEvFnwe&h422Eb#n;aiT&3Wa=vo4b~K7wW)^m6Iz> z!@@KyUKN?`h4pX;LS3L!$)ag5Wa>=-y1GrfBmpozGex?36ayHIQWp8WSU$W4ppZ|v zGhc+RZUgYJzlCX7?t2(~CAM}>onC){X;`jxK@gV}S3R;saV)HgLs8(b4gkd0JwAK( n&D$l(S6(E+Pa*-Y?LWmgQQwMa;u?Xy z&cx7`oPyGgOkPz7J{$td1(*mFiMpL?VhzZC&n)usRT3*35cFK>FwR_b+&u8)3>gN7 Y+W~PsXIAfE1^SJ_)78&qol`;+001g=5C8xG literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/glyphid_meat.png b/src/main/resources/assets/hbm/textures/items/glyphid_meat.png new file mode 100644 index 0000000000000000000000000000000000000000..a94ea056101e72068b00160f85728424d334f3a9 GIT binary patch literal 414 zcmV;P0b%}$P)w-u9Or2qf`07*qo IM6N<$f`1gbQvd(} literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/items/glyphid_meat_grilled.png b/src/main/resources/assets/hbm/textures/items/glyphid_meat_grilled.png new file mode 100644 index 0000000000000000000000000000000000000000..d611bc741ff498b0e020c8307c8d1e0003752d87 GIT binary patch literal 471 zcmV;|0Vw{7P)tvkCIP-N8Op_*57u|Sv=kQ(*?>X@3EA$XhzL=5Y z{pa`RBi`J7m6 z=f!OwfRbTSvwt9x`UGxDAYaVLd@&={1%=B`zYs|s?L`=O;7~G5T22Gcb4K`y5Z7~> zOs}l6_A-vu?_!?za0d?AgAJ^Hm(E$3p4*~rH)vcrcvV6Z8;EQQ%WG3IOr9-mvAdsT zJ`$y5n24m#)4de+$~DchJH0`^n32oRH2}UIUkt-~dq~f1a(eQOTi+uH4X9UJ^nL~e z-5FO%$DRPN_j(5{p2qm_k-BZNRnTdCZ&NFGu&qDjsSFl36&XuKIC@jS_ASm%%6NUB z8>LIL;t+)4?*20cRDp~o6k@5!Xx1#d1kvFm{!N||7#AAvXA%Ef{RS+!n|O$A=|=zn N002ovPDHLkV1kt6&D#I~ literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/models/trinkets/peep.png b/src/main/resources/assets/hbm/textures/models/trinkets/peep.png new file mode 100644 index 0000000000000000000000000000000000000000..9e8551ba8672bb10e3edb85b01ed30ce02d38116 GIT binary patch literal 888 zcmV-;1Bd*HP)aW0=!B~q8o z`2EMP#P18|&J-?;4MuDWV4I-D2n}%k{E1v?Dv+L15uAtW2y$WykY^R= zMU%IzQwFes_mN=A`t*p{?RFFCr$oA`}T zTdBPFQ^0!zSYHK1+_^TPReo`$jp8Bp@0}eCaOBIp83D92Csf`EiXgq;j3VX=<;4i# z^*(?n2FPM)0NVoC#tQ>9qllY!>{kIAdavQd2mmk`2k45^6|Vhr0j0D3(Y7>O#$KFnKqE>ew}7%bzbWPh^}8$pGbaV zPH^h&^Th90k6)W=DuL`b4Fu;`0ab-mF=l|WdRzp#cp=ZJblnEBdPrpzFh%@=mt_F$ z5imW&_Rue1Oh6;7!Cvn$Gat#ztDBdmLYCt;76?tx%)(yp5E@}EQ+bkC=A8+&r@(sW zkJE8P>(VLrug9|}VhUv8ya99rClTIkhIn{y0H>w^4z~u+sCTiHHb+!;gP1{4g5Yoq zTH|BT8XqgFO38*Llwm1ev;o#OHV1XCZETjdv?iv2?X!XP&tFP!v+(l(-R}!-UwxJ+ zpT7Q9JC6`8qfR-&GN27qc?0O47kD2BXos1)j#KykzyI&AR(bD7fcFNdyc5(tIPu;G zRDJ~Lo)>uU1BM2$Er4z67-KB^$-3>`q6re$<2*ySthny~4V*d;u)%*&e45efn Date: Thu, 29 Jun 2023 16:08:32 +0200 Subject: [PATCH 228/285] I REMBER --- changelog | 5 +- src/main/java/com/hbm/blocks/ModBlocks.java | 21 +- .../com/hbm/blocks/machine/GasDuctSolid.java | 20 -- .../com/hbm/blocks/machine/OilDuctSolid.java | 20 -- .../com/hbm/blocks/network/BlockGasDuct.java | 81 ------- .../com/hbm/blocks/network/BlockOilDuct.java | 81 ------- .../com/hbm/blocks/network/FluidDuctBox.java | 215 +++++++++--------- .../blocks/network/FluidDuctBoxExhaust.java | 86 +++++++ .../com/hbm/blocks/network/FluidSwitch.java | 88 +++++++ .../com/hbm/blocks/network/FluidValve.java | 89 ++++++++ .../java/com/hbm/inventory/fluid/Fluids.java | 14 +- .../inventory/recipes/ShredderRecipes.java | 4 - src/main/java/com/hbm/lib/Library.java | 100 -------- src/main/java/com/hbm/main/ClientProxy.java | 2 - .../java/com/hbm/main/CraftingManager.java | 2 + src/main/java/com/hbm/main/MainRegistry.java | 4 + .../com/hbm/render/block/RenderBoxDuct.java | 25 +- .../hbm/render/tileentity/RenderGasDuct.java | 153 ------------- .../hbm/render/tileentity/RenderOilDuct.java | 153 ------------- .../java/com/hbm/tileentity/TileMappings.java | 6 +- .../conductor/TileEntityGasDuct.java | 97 -------- .../conductor/TileEntityGasDuctSolid.java | 45 ---- .../conductor/TileEntityOilDuct.java | 95 -------- .../conductor/TileEntityOilDuctSolid.java | 45 ---- .../machine/TileEntityMachineBoiler.java | 3 + .../machine/TileEntityMachineTurbineGas.java | 3 + .../machine/TileEntityMachineTurbofan.java | 4 + .../network/TileEntityFluidValve.java | 27 +++ .../network/TileEntityPipeExhaust.java | 82 +++++++ src/main/resources/assets/hbm/lang/de_DE.lang | 4 + src/main/resources/assets/hbm/lang/en_US.lang | 4 + .../hbm/textures/blocks/boxduct_exhaust.png | Bin 0 -> 1426 bytes .../blocks/boxduct_exhaust_curve_bl.png | Bin 0 -> 395 bytes .../blocks/boxduct_exhaust_curve_br.png | Bin 0 -> 389 bytes .../blocks/boxduct_exhaust_curve_tl.png | Bin 0 -> 362 bytes .../blocks/boxduct_exhaust_curve_tr.png | Bin 0 -> 423 bytes .../textures/blocks/boxduct_exhaust_end.png | Bin 0 -> 517 bytes .../blocks/boxduct_exhaust_junction.png | Bin 0 -> 305 bytes .../blocks/boxduct_exhaust_straight.png | Bin 0 -> 309 bytes .../hbm/textures/blocks/fluid_switch_off.png | Bin 0 -> 326 bytes .../hbm/textures/blocks/fluid_switch_on.png | Bin 0 -> 333 bytes .../hbm/textures/blocks/fluid_valve_off.png | Bin 359 -> 273 bytes .../hbm/textures/blocks/fluid_valve_on.png | Bin 372 -> 270 bytes 43 files changed, 545 insertions(+), 1033 deletions(-) delete mode 100644 src/main/java/com/hbm/blocks/machine/GasDuctSolid.java delete mode 100644 src/main/java/com/hbm/blocks/machine/OilDuctSolid.java delete mode 100644 src/main/java/com/hbm/blocks/network/BlockGasDuct.java delete mode 100644 src/main/java/com/hbm/blocks/network/BlockOilDuct.java create mode 100644 src/main/java/com/hbm/blocks/network/FluidDuctBoxExhaust.java create mode 100644 src/main/java/com/hbm/blocks/network/FluidSwitch.java create mode 100644 src/main/java/com/hbm/blocks/network/FluidValve.java delete mode 100644 src/main/java/com/hbm/render/tileentity/RenderGasDuct.java delete mode 100644 src/main/java/com/hbm/render/tileentity/RenderOilDuct.java delete mode 100644 src/main/java/com/hbm/tileentity/conductor/TileEntityGasDuct.java delete mode 100644 src/main/java/com/hbm/tileentity/conductor/TileEntityGasDuctSolid.java delete mode 100644 src/main/java/com/hbm/tileentity/conductor/TileEntityOilDuct.java delete mode 100644 src/main/java/com/hbm/tileentity/conductor/TileEntityOilDuctSolid.java create mode 100644 src/main/java/com/hbm/tileentity/network/TileEntityFluidValve.java create mode 100644 src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_curve_bl.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_curve_br.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_curve_tl.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_curve_tr.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_end.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_junction.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_straight.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/fluid_switch_off.png create mode 100644 src/main/resources/assets/hbm/textures/blocks/fluid_switch_on.png diff --git a/changelog b/changelog index 2bb086e00..6ada44f00 100644 --- a/changelog +++ b/changelog @@ -1,12 +1,15 @@ ## Added * Configs for all things pollution related - * Pollution in general can be turned off, smog can be disabeld and adjusted, different poison types can be disabled and the threshold for spawning tougher mobs can also be changed + * Pollution in general can be turned off, smog can be disabled and adjusted, different poison types can be disabled and the threshold for spawning tougher mobs can also be changed * Glyphid meat * Dropped by glyphids (duh) * Can be grilled +* Fluid valves + * come in manual and restone variants ## Changed * Glyphids now have a config for a global spawn limit, which is 50 by default, no more than this many glyphids can be created at once +* Removed the old oil and gas ducts for good ## Fixed * Fixed player extprops like the HUD or backpack toggles not saving diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index da5c00298..ef999ee12 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -780,16 +780,15 @@ public class ModBlocks { public static Block cable_detector; public static Block cable_diode; public static Block machine_detector; - public static Block oil_duct_solid; - public static Block oil_duct; - public static Block gas_duct_solid; - public static Block gas_duct; public static Block fluid_duct; public static Block fluid_duct_solid; 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 radio_torch_sender; public static Block radio_torch_receiver; @@ -1930,16 +1929,15 @@ public class ModBlocks { 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"); - oil_duct_solid = new OilDuctSolid(Material.iron).setBlockName("oil_duct_solid").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":oil_duct_solid_alt"); - oil_duct = new BlockOilDuct(Material.iron).setBlockName("oil_duct").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":oil_duct_icon_alt"); - gas_duct_solid = new GasDuctSolid(Material.iron).setBlockName("gas_duct_solid").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":gas_duct_solid"); - gas_duct = new BlockGasDuct(Material.iron).setBlockName("gas_duct").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":gas_duct_icon"); fluid_duct = new BlockFluidDuct(Material.iron).setBlockName("fluid_duct").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":fluid_duct_icon"); fluid_duct_solid = new BlockFluidDuctSolid(Material.iron).setBlockName("fluid_duct_solid").setHardness(5.0F).setResistance(10.0F).setCreativeTab(null).setBlockTextureName(RefStrings.MODID + ":fluid_duct_solid"); fluid_duct_neo = new FluidDuctStandard(Material.iron).setBlockName("fluid_duct_neo").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").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").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); 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); @@ -3157,16 +3155,15 @@ public class ModBlocks { GameRegistry.registerBlock(cable_detector, cable_detector.getUnlocalizedName()); GameRegistry.registerBlock(cable_diode, ItemBlockBase.class, cable_diode.getUnlocalizedName()); GameRegistry.registerBlock(machine_detector, machine_detector.getUnlocalizedName()); - GameRegistry.registerBlock(oil_duct, oil_duct.getUnlocalizedName()); - GameRegistry.registerBlock(oil_duct_solid, oil_duct_solid.getUnlocalizedName()); - GameRegistry.registerBlock(gas_duct, gas_duct.getUnlocalizedName()); - GameRegistry.registerBlock(gas_duct_solid, gas_duct_solid.getUnlocalizedName()); GameRegistry.registerBlock(fluid_duct, fluid_duct.getUnlocalizedName()); register(fluid_duct_neo); register(fluid_duct_box); + register(fluid_duct_exhaust); register(fluid_duct_paintable); register(fluid_duct_gauge); GameRegistry.registerBlock(fluid_duct_solid, fluid_duct_solid.getUnlocalizedName()); + register(fluid_valve); + register(fluid_switch); register(radio_torch_sender); register(radio_torch_receiver); diff --git a/src/main/java/com/hbm/blocks/machine/GasDuctSolid.java b/src/main/java/com/hbm/blocks/machine/GasDuctSolid.java deleted file mode 100644 index 8351015a7..000000000 --- a/src/main/java/com/hbm/blocks/machine/GasDuctSolid.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hbm.blocks.machine; - -import com.hbm.tileentity.conductor.TileEntityGasDuctSolid; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class GasDuctSolid extends BlockContainer { - - public GasDuctSolid(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityGasDuctSolid(); - } -} diff --git a/src/main/java/com/hbm/blocks/machine/OilDuctSolid.java b/src/main/java/com/hbm/blocks/machine/OilDuctSolid.java deleted file mode 100644 index cfec07f2d..000000000 --- a/src/main/java/com/hbm/blocks/machine/OilDuctSolid.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.hbm.blocks.machine; - -import com.hbm.tileentity.conductor.TileEntityOilDuctSolid; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.world.World; - -public class OilDuctSolid extends BlockContainer { - - public OilDuctSolid(Material p_i45386_1_) { - super(p_i45386_1_); - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityOilDuctSolid(); - } -} diff --git a/src/main/java/com/hbm/blocks/network/BlockGasDuct.java b/src/main/java/com/hbm/blocks/network/BlockGasDuct.java deleted file mode 100644 index f1b85be7d..000000000 --- a/src/main/java/com/hbm/blocks/network/BlockGasDuct.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.hbm.blocks.network; - -import com.hbm.tileentity.conductor.TileEntityGasDuct; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -public class BlockGasDuct extends BlockContainer { - - public BlockGasDuct(Material p_i45386_1_) { - super(p_i45386_1_); - float p = 1F/16F; - this.setBlockBounds(11 * p / 2, 11 * p / 2, 11 * p / 2, 1 - 11 * p / 2, 1 - 11 * p / 2, 1 - 11 * p / 2); - this.useNeighborBrightness = true; - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - if(world.getTileEntity(x, y, z) instanceof TileEntityGasDuct) { - TileEntityGasDuct cable = (TileEntityGasDuct)world.getTileEntity(x, y, z); - - if(cable != null) - { - float p = 1F/16F; - float minX = 11 * p / 2 - (cable.connections[5] != null ? (11 * p / 2) : 0); - float minY = 11 * p / 2 - (cable.connections[1] != null ? (11 * p / 2) : 0); - float minZ = 11 * p / 2 - (cable.connections[2] != null ? (11 * p / 2) : 0); - float maxX = 1 - 11 * p / 2 + (cable.connections[3] != null ? (11 * p / 2) : 0); - float maxY = 1 - 11 * p / 2 + (cable.connections[0] != null ? (11 * p / 2) : 0); - float maxZ = 1 - 11 * p / 2 + (cable.connections[4] != null ? (11 * p / 2) : 0); - - this.setBlockBounds(minX, minY, minZ, maxX, maxY, maxZ); - } - } - 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) { - if(world.getTileEntity(x, y, z) instanceof TileEntityGasDuct) { - TileEntityGasDuct cable = (TileEntityGasDuct)world.getTileEntity(x, y, z); - - if(cable != null) - { - float p = 1F/16F; - float minX = 11 * p / 2 - (cable.connections[5] != null ? (11 * p / 2) : 0); - float minY = 11 * p / 2 - (cable.connections[1] != null ? (11 * p / 2) : 0); - float minZ = 11 * p / 2 - (cable.connections[2] != null ? (11 * p / 2) : 0); - float maxX = 1 - 11 * p / 2 + (cable.connections[3] != null ? (11 * p / 2) : 0); - float maxY = 1 - 11 * p / 2 + (cable.connections[0] != null ? (11 * p / 2) : 0); - float maxZ = 1 - 11 * p / 2 + (cable.connections[4] != null ? (11 * p / 2) : 0); - - this.setBlockBounds(minX, minY, minZ, maxX, maxY, maxZ); - } - } - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityGasDuct(); - } - - @Override - public int getRenderType(){ - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } -} diff --git a/src/main/java/com/hbm/blocks/network/BlockOilDuct.java b/src/main/java/com/hbm/blocks/network/BlockOilDuct.java deleted file mode 100644 index a1b9ca9bd..000000000 --- a/src/main/java/com/hbm/blocks/network/BlockOilDuct.java +++ /dev/null @@ -1,81 +0,0 @@ -package com.hbm.blocks.network; - -import com.hbm.tileentity.conductor.TileEntityOilDuct; - -import net.minecraft.block.BlockContainer; -import net.minecraft.block.material.Material; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.AxisAlignedBB; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; - -public class BlockOilDuct extends BlockContainer { - - public BlockOilDuct(Material p_i45386_1_) { - super(p_i45386_1_); - float p = 1F/16F; - this.setBlockBounds(11 * p / 2, 11 * p / 2, 11 * p / 2, 1 - 11 * p / 2, 1 - 11 * p / 2, 1 - 11 * p / 2); - this.useNeighborBrightness = true; - } - - @Override - public AxisAlignedBB getCollisionBoundingBoxFromPool(World world, int x, int y, int z) { - if(world.getTileEntity(x, y, z) instanceof TileEntityOilDuct) { - TileEntityOilDuct cable = (TileEntityOilDuct)world.getTileEntity(x, y, z); - - if(cable != null) - { - float p = 1F/16F; - float minX = 11 * p / 2 - (cable.connections[5] != null ? (11 * p / 2) : 0); - float minY = 11 * p / 2 - (cable.connections[1] != null ? (11 * p / 2) : 0); - float minZ = 11 * p / 2 - (cable.connections[2] != null ? (11 * p / 2) : 0); - float maxX = 1 - 11 * p / 2 + (cable.connections[3] != null ? (11 * p / 2) : 0); - float maxY = 1 - 11 * p / 2 + (cable.connections[0] != null ? (11 * p / 2) : 0); - float maxZ = 1 - 11 * p / 2 + (cable.connections[4] != null ? (11 * p / 2) : 0); - - this.setBlockBounds(minX, minY, minZ, maxX, maxY, maxZ); - } - } - 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) { - if(world.getTileEntity(x, y, z) instanceof TileEntityOilDuct) { - TileEntityOilDuct cable = (TileEntityOilDuct)world.getTileEntity(x, y, z); - - if(cable != null) - { - float p = 1F/16F; - float minX = 11 * p / 2 - (cable.connections[5] != null ? (11 * p / 2) : 0); - float minY = 11 * p / 2 - (cable.connections[1] != null ? (11 * p / 2) : 0); - float minZ = 11 * p / 2 - (cable.connections[2] != null ? (11 * p / 2) : 0); - float maxX = 1 - 11 * p / 2 + (cable.connections[3] != null ? (11 * p / 2) : 0); - float maxY = 1 - 11 * p / 2 + (cable.connections[0] != null ? (11 * p / 2) : 0); - float maxZ = 1 - 11 * p / 2 + (cable.connections[4] != null ? (11 * p / 2) : 0); - - this.setBlockBounds(minX, minY, minZ, maxX, maxY, maxZ); - } - } - } - - @Override - public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { - return new TileEntityOilDuct(); - } - - @Override - public int getRenderType(){ - return -1; - } - - @Override - public boolean isOpaqueCube() { - return false; - } - - @Override - public boolean renderAsNormalBlock() { - return false; - } -} diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctBox.java b/src/main/java/com/hbm/blocks/network/FluidDuctBox.java index e8675d146..f2d6f7674 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctBox.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctBox.java @@ -81,13 +81,13 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve TileEntityPipeBaseNT pipe = (TileEntityPipeBaseNT) te; type = pipe.getType(); } - - boolean pX = Library.canConnectFluid(world, x + 1, y, z, Library.NEG_X, type); - boolean nX = Library.canConnectFluid(world, x - 1, y, z, Library.POS_X, type); - boolean pY = Library.canConnectFluid(world, x, y + 1, z, Library.NEG_Y, type); - boolean nY = Library.canConnectFluid(world, x, y - 1, z, Library.POS_Y, type); - boolean pZ = Library.canConnectFluid(world, x, y, z + 1, Library.NEG_Z, type); - boolean nZ = Library.canConnectFluid(world, x, y, z - 1, Library.POS_Z, type); + + 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); + 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); @@ -172,59 +172,55 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve List bbs = new ArrayList(); TileEntity te = world.getTileEntity(x, y, z); - if(te instanceof TileEntityPipeBaseNT) { - TileEntityPipeBaseNT pipe = (TileEntityPipeBaseNT) te; - FluidType type = pipe.getType(); - double lower = 0.125D; - double upper = 0.875D; - 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; - jLower += 0.0625D; - jUpper -= 0.0625D; - } - } - - boolean nX = canConnectTo(world, x, y, z, Library.NEG_X, type); - boolean pX = canConnectTo(world, x, y, z, Library.POS_X, type); - boolean nY = canConnectTo(world, x, y, z, Library.NEG_Y, type); - boolean pY = canConnectTo(world, x, y, z, Library.POS_Y, type); - 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); - 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) { - bbs.add(AxisAlignedBB.getBoundingBox(x + 0.0D, y + lower, z + lower, x + 1.0D, y + upper, z + upper)); - } else if(mask == 0b001000 || mask == 0b000100 || mask == 0b001100) { - bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + 0.0D, z + lower, x + upper, y + 1.0D, z + upper)); - } 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)); - } + double lower = 0.125D; + double upper = 0.875D; + double jLower = 0.0625D; + double jUpper = 0.9375D; + int meta = world.getBlockMetadata(x, y, z); - 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)); - if(nY) bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + 0.0D, z + lower, x + upper, y + lower, z + upper)); - 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(int i = 2; i < 13; i += 3) { + + if(meta > i) { + lower += 0.0625D; + upper -= 0.0625D; + jLower += 0.0625D; + 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); + 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); + + 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) { + bbs.add(AxisAlignedBB.getBoundingBox(x + 0.0D, y + lower, z + lower, x + 1.0D, y + upper, z + upper)); + } else if(mask == 0b001000 || mask == 0b000100 || mask == 0b001100) { + bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + 0.0D, z + lower, x + upper, y + 1.0D, z + upper)); + } 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)); + if(nY) bbs.add(AxisAlignedBB.getBoundingBox(x + lower, y + 0.0D, z + lower, x + upper, y + lower, z + upper)); + 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)) { @@ -244,68 +240,67 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve public void setBlockBoundsBasedOnState(IBlockAccess 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(); - float lower = 0.125F; - float upper = 0.875F; - float jLower = 0.0625F; - float jUpper = 0.9375F; - int meta = world.getBlockMetadata(x, y, z); + float lower = 0.125F; + float upper = 0.875F; + float jLower = 0.0625F; + float jUpper = 0.9375F; + int meta = world.getBlockMetadata(x, y, z); + + for(int i = 2; i < 13; i += 3) { - for(int i = 2; i < 13; i += 3) { - - if(meta > i) { - lower += 0.0625F; - upper -= 0.0625F; - jLower += 0.0625F; - jUpper -= 0.0625F; - } + if(meta > i) { + lower += 0.0625F; + upper -= 0.0625F; + jLower += 0.0625F; + jUpper -= 0.0625F; } - - boolean nX = canConnectTo(world, x, y, z, Library.NEG_X, type); - boolean pX = canConnectTo(world, x, y, z, Library.POS_X, type); - boolean nY = canConnectTo(world, x, y, z, Library.NEG_Y, type); - boolean pY = canConnectTo(world, x, y, z, Library.POS_Y, type); - 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); - int count = 0 + (pX ? 1 : 0) + (nX ? 1 : 0) + (pY ? 1 : 0) + (nY ? 1 : 0) + (pZ ? 1 : 0) + (nZ ? 1 : 0); + } + + 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); + 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); + + if(mask == 0) { + this.setBlockBounds(jLower, jLower, jLower, jUpper, jUpper, jUpper); + } else if(mask == 0b100000 || mask == 0b010000 || mask == 0b110000) { + this.setBlockBounds(0F, lower, lower, 1F, upper, upper); + } else if(mask == 0b001000 || mask == 0b000100 || mask == 0b001100) { + this.setBlockBounds(lower, 0F, lower, upper, 1F, upper); + } else if(mask == 0b000010 || mask == 0b000001 || mask == 0b000011) { + this.setBlockBounds(lower, lower, 0F, upper, upper, 1F); + } else { - if(mask == 0) { - this.setBlockBounds(jLower, jLower, jLower, jUpper, jUpper, jUpper); - } else if(mask == 0b100000 || mask == 0b010000 || mask == 0b110000) { - this.setBlockBounds(0F, lower, lower, 1F, upper, upper); - } else if(mask == 0b001000 || mask == 0b000100 || mask == 0b001100) { - this.setBlockBounds(lower, 0F, lower, upper, 1F, upper); - } else if(mask == 0b000010 || mask == 0b000001 || mask == 0b000011) { - this.setBlockBounds(lower, lower, 0F, upper, upper, 1F); + if(count != 2) { + this.setBlockBounds( + nX ? 0F : jLower, + nY ? 0F : jLower, + nZ ? 0F : jLower, + pX ? 1F : jUpper, + pY ? 1F : jUpper, + pZ ? 1F : jUpper); } else { - - if(count != 2) { - this.setBlockBounds( - nX ? 0F : jLower, - nY ? 0F : jLower, - nZ ? 0F : jLower, - pX ? 1F : jUpper, - pY ? 1F : jUpper, - pZ ? 1F : jUpper); - } else { - this.setBlockBounds( - nX ? 0F : lower, - nY ? 0F : lower, - nZ ? 0F : lower, - pX ? 1F : upper, - pY ? 1F : upper, - pZ ? 1F : upper); - } + 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, FluidType type) { - return Library.canConnectFluid(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir, type); + 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()); + } + return false; } @Override @@ -319,7 +314,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve TileEntityPipeBaseNT duct = (TileEntityPipeBaseNT) te; List text = new ArrayList(); - text.add("&[" + duct.getType().getColor() + "&]" +I18nUtil.resolveKey(duct.getType().getUnlocalizedName())); + text.add("&[" + duct.getType().getColor() + "&]" + I18nUtil.resolveKey(duct.getType().getUnlocalizedName())); ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); } diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctBoxExhaust.java b/src/main/java/com/hbm/blocks/network/FluidDuctBoxExhaust.java new file mode 100644 index 000000000..3426cf93e --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/FluidDuctBoxExhaust.java @@ -0,0 +1,86 @@ +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 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.creativetab.CreativeTabs; +import net.minecraft.item.Item; +import net.minecraft.item.ItemStack; +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 net.minecraftforge.common.util.ForgeDirection; + +public class FluidDuctBoxExhaust extends FluidDuctBox { + + public FluidDuctBoxExhaust(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + return new TileEntityPipeExhaust(); + } + + @Override + @SideOnly(Side.CLIENT) + public void registerBlockIcons(IIconRegister iconRegister) { + super.registerBlockIcons(iconRegister); + + iconStraight = new IIcon[1]; + iconEnd = new IIcon[1]; + iconCurveTL = new IIcon[1]; + iconCurveTR = new IIcon[1]; + iconCurveBL = new IIcon[1]; + iconCurveBR = new IIcon[1]; + iconJunction = new IIcon[1]; + + iconStraight[0] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_straight"); + iconEnd[0] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_end"); + iconCurveTL[0] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_curve_tl"); + iconCurveTR[0] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_curve_tr"); + iconCurveBL[0] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_curve_bl"); + iconCurveBR[0] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_curve_br"); + iconJunction[0] = iconRegister.registerIcon(RefStrings.MODID + ":boxduct_exhaust_junction"); + } + + 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) || + Library.canConnectFluid(world, x + dir.offsetX, y + dir.offsetY, z + dir.offsetZ, dir, Fluids.SMOKE_POISON); + } + + @Override + 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) { + list.add(new ItemStack(item, 1, i)); + } + } + + @Override + public void printHook(Pre event, World world, int x, int y, int z) { + List text = new ArrayList(); + text.add(I18nUtil.resolveKey(Fluids.SMOKE.getUnlocalizedName())); + text.add(I18nUtil.resolveKey(Fluids.SMOKE_LEADED.getUnlocalizedName())); + text.add(I18nUtil.resolveKey(Fluids.SMOKE_POISON.getUnlocalizedName())); + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } +} diff --git a/src/main/java/com/hbm/blocks/network/FluidSwitch.java b/src/main/java/com/hbm/blocks/network/FluidSwitch.java new file mode 100644 index 000000000..bbe44edd2 --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/FluidSwitch.java @@ -0,0 +1,88 @@ +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 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.player.EntityPlayer; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class FluidSwitch extends BlockContainer implements ILookOverlay { + + @SideOnly(Side.CLIENT) + private IIcon iconOn; + + public FluidSwitch(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) { + return metadata == 1 ? iconOn : blockIcon; + } + + @Override + 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; + } else if(!player.isSneaking()) + { + int meta = world.getBlockMetadata(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); + } else { + 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; + } + } + + @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() + "&]" +I18nUtil.resolveKey(duct.getType().getUnlocalizedName())); + 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 new file mode 100644 index 000000000..9211dc6c3 --- /dev/null +++ b/src/main/java/com/hbm/blocks/network/FluidValve.java @@ -0,0 +1,89 @@ +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 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.tileentity.TileEntity; +import net.minecraft.util.IIcon; +import net.minecraft.world.World; +import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; + +public class FluidValve extends BlockContainer implements ILookOverlay { + + @SideOnly(Side.CLIENT) + private IIcon iconOn; + + public FluidValve(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) { + return metadata == 1 ? iconOn : blockIcon; + } + + @Override + public TileEntity createNewTileEntity(World p_149915_1_, int p_149915_2_) { + return new TileEntityFluidValve(); + } + + @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); + update = true; + } + + if(update) { + TileEntityFluidValve te = (TileEntityFluidValve) world.getTileEntity(x, y, z); + te.updateState(); + } + } + + @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() + "&]" +I18nUtil.resolveKey(duct.getType().getUnlocalizedName())); + ILookOverlay.printGeneric(event, I18nUtil.resolveKey(getUnlocalizedName() + ".name"), 0xffff00, 0x404000, text); + } +} diff --git a/src/main/java/com/hbm/inventory/fluid/Fluids.java b/src/main/java/com/hbm/inventory/fluid/Fluids.java index df3839c36..6fdebb888 100644 --- a/src/main/java/com/hbm/inventory/fluid/Fluids.java +++ b/src/main/java/com/hbm/inventory/fluid/Fluids.java @@ -152,6 +152,9 @@ public class Fluids { public static FluidType POTASSIUM_CHLORIDE; public static FluidType CALCIUM_CHLORIDE; public static FluidType CALCIUM_SOLUTION; + public static FluidType SMOKE; + public static FluidType SMOKE_LEADED; + public static FluidType SMOKE_POISON; private static final HashMap idMapping = new HashMap(); private static final HashMap nameMapping = new HashMap(); @@ -302,8 +305,11 @@ public class Fluids { CHLOROCALCITE_MIX = new FluidType("CHLOROCALCITE_MIX", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); CHLOROCALCITE_CLEANED = new FluidType("CHLOROCALCITE_CLEANED", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); POTASSIUM_CHLORIDE = new FluidType("POTASSIUM_CHLORIDE", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); - CALCIUM_CHLORIDE = new FluidType("CALCIUM_CHLORIDE", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); - CALCIUM_SOLUTION = new FluidType(119, "CALCIUM_SOLUTION", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); + CALCIUM_CHLORIDE = new FluidType("CALCIUM_CHLORIDE", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); + CALCIUM_SOLUTION = new FluidType("CALCIUM_SOLUTION", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(LIQUID, NOCON, new FT_Corrosive(60)); + SMOKE = new FluidType("SMOKE", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(GASEOUS, NOID, NOCON); + SMOKE_LEADED = new FluidType("SMOKE_LEADED", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(GASEOUS, NOID, NOCON); + SMOKE_POISON = new FluidType(122, "SMOKE_POISON", 0x808080, 0, 0, 0, EnumSymbol.NONE).addTraits(GASEOUS, NOID, NOCON); // ^ ^ ^ ^ ^ ^ ^ ^ //ADD NEW FLUIDS HERE @@ -443,6 +449,10 @@ public class Fluids { metaOrder.add(PLASMA_DH3); metaOrder.add(PLASMA_XM); metaOrder.add(PLASMA_BF); + //smoke + metaOrder.add(SMOKE); + metaOrder.add(SMOKE_LEADED); + metaOrder.add(SMOKE_POISON); CHLORINE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 2F, 20, HazardClass.GAS_CHLORINE, false))); PHOSGENE.addTraits(new FT_Toxin().addEntry(new ToxinDirectDamage(ModDamageSource.cloud, 4F, 20, HazardClass.GAS_CHLORINE, false))); diff --git a/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java b/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java index 2c0150b5d..457bddf9b 100644 --- a/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java +++ b/src/main/java/com/hbm/inventory/recipes/ShredderRecipes.java @@ -286,10 +286,6 @@ public class ShredderRecipes extends SerializableRecipe { ShredderRecipes.setRecipe(ModBlocks.chain, new ItemStack(ModItems.powder_steel_tiny, 1)); ShredderRecipes.setRecipe(ModBlocks.steel_grate, new ItemStack(ModItems.powder_steel_tiny, 3)); ShredderRecipes.setRecipe(ModItems.pipes_steel, new ItemStack(ModItems.powder_steel, 27)); - ShredderRecipes.setRecipe(ModBlocks.oil_duct, new ItemStack(ModItems.powder_steel_tiny, 3)); - ShredderRecipes.setRecipe(ModBlocks.oil_duct_solid, new ItemStack(ModItems.powder_steel_tiny, 3)); - ShredderRecipes.setRecipe(ModBlocks.gas_duct, new ItemStack(ModItems.powder_steel, 1)); - ShredderRecipes.setRecipe(ModBlocks.gas_duct_solid, new ItemStack(ModItems.powder_steel, 1)); ShredderRecipes.setRecipe(ModBlocks.machine_fluidtank, new ItemStack(ModItems.powder_steel, 32)); /* Sellafite scrapping */ diff --git a/src/main/java/com/hbm/lib/Library.java b/src/main/java/com/hbm/lib/Library.java index bd96c150b..28416dc2e 100644 --- a/src/main/java/com/hbm/lib/Library.java +++ b/src/main/java/com/hbm/lib/Library.java @@ -19,10 +19,6 @@ import com.hbm.items.ModItems; import com.hbm.tileentity.TileEntityProxyBase; import com.hbm.tileentity.TileEntityProxyInventory; import com.hbm.tileentity.conductor.TileEntityFluidDuctSimple; -import com.hbm.tileentity.conductor.TileEntityGasDuct; -import com.hbm.tileentity.conductor.TileEntityGasDuctSolid; -import com.hbm.tileentity.conductor.TileEntityOilDuct; -import com.hbm.tileentity.conductor.TileEntityOilDuctSolid; import com.hbm.tileentity.machine.TileEntityDummy; import api.hbm.energy.IBatteryItem; @@ -484,102 +480,6 @@ public class Library { ((TileEntityFluidDuctSimple)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleansForFluids(that, newTact)); } } - if(tileentity instanceof TileEntityGasDuct && ((TileEntityGasDuct)tileentity).type.name().equals(type.name())) - { - if(Library.checkUnionListForFluids(((TileEntityGasDuct)tileentity).uoteab, that)) - { - for(int i = 0; i < ((TileEntityGasDuct)tileentity).uoteab.size(); i++) - { - if(((TileEntityGasDuct)tileentity).uoteab.get(i).source == that) - { - if(((TileEntityGasDuct)tileentity).uoteab.get(i).ticked != newTact) - { - ((TileEntityGasDuct)tileentity).uoteab.get(i).ticked = newTact; - transmitFluid(x, y + 1, z, that.getTact(), that, worldObj, type); - transmitFluid(x, y - 1, z, that.getTact(), that, worldObj, type); - transmitFluid(x - 1, y, z, that.getTact(), that, worldObj, type); - transmitFluid(x + 1, y, z, that.getTact(), that, worldObj, type); - transmitFluid(x, y, z - 1, that.getTact(), that, worldObj, type); - transmitFluid(x, y, z + 1, that.getTact(), that, worldObj, type); - } - } - } - } else { - ((TileEntityGasDuct)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleansForFluids(that, newTact)); - } - } - if(tileentity instanceof TileEntityOilDuct && ((TileEntityOilDuct)tileentity).type.name().equals(type.name())) - { - if(Library.checkUnionListForFluids(((TileEntityOilDuct)tileentity).uoteab, that)) - { - for(int i = 0; i < ((TileEntityOilDuct)tileentity).uoteab.size(); i++) - { - if(((TileEntityOilDuct)tileentity).uoteab.get(i).source == that) - { - if(((TileEntityOilDuct)tileentity).uoteab.get(i).ticked != newTact) - { - ((TileEntityOilDuct)tileentity).uoteab.get(i).ticked = newTact; - transmitFluid(x, y + 1, z, that.getTact(), that, worldObj, type); - transmitFluid(x, y - 1, z, that.getTact(), that, worldObj, type); - transmitFluid(x - 1, y, z, that.getTact(), that, worldObj, type); - transmitFluid(x + 1, y, z, that.getTact(), that, worldObj, type); - transmitFluid(x, y, z - 1, that.getTact(), that, worldObj, type); - transmitFluid(x, y, z + 1, that.getTact(), that, worldObj, type); - } - } - } - } else { - ((TileEntityOilDuct)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleansForFluids(that, newTact)); - } - } - if(tileentity instanceof TileEntityGasDuctSolid && ((TileEntityGasDuctSolid)tileentity).type.name().equals(type.name())) - { - if(Library.checkUnionListForFluids(((TileEntityGasDuctSolid)tileentity).uoteab, that)) - { - for(int i = 0; i < ((TileEntityGasDuctSolid)tileentity).uoteab.size(); i++) - { - if(((TileEntityGasDuctSolid)tileentity).uoteab.get(i).source == that) - { - if(((TileEntityGasDuctSolid)tileentity).uoteab.get(i).ticked != newTact) - { - ((TileEntityGasDuctSolid)tileentity).uoteab.get(i).ticked = newTact; - transmitFluid(x, y + 1, z, that.getTact(), that, worldObj, type); - transmitFluid(x, y - 1, z, that.getTact(), that, worldObj, type); - transmitFluid(x - 1, y, z, that.getTact(), that, worldObj, type); - transmitFluid(x + 1, y, z, that.getTact(), that, worldObj, type); - transmitFluid(x, y, z - 1, that.getTact(), that, worldObj, type); - transmitFluid(x, y, z + 1, that.getTact(), that, worldObj, type); - } - } - } - } else { - ((TileEntityGasDuctSolid)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleansForFluids(that, newTact)); - } - } - if(tileentity instanceof TileEntityOilDuctSolid && ((TileEntityOilDuctSolid)tileentity).type.name().equals(type.name())) - { - if(Library.checkUnionListForFluids(((TileEntityOilDuctSolid)tileentity).uoteab, that)) - { - for(int i = 0; i < ((TileEntityOilDuctSolid)tileentity).uoteab.size(); i++) - { - if(((TileEntityOilDuctSolid)tileentity).uoteab.get(i).source == that) - { - if(((TileEntityOilDuctSolid)tileentity).uoteab.get(i).ticked != newTact) - { - ((TileEntityOilDuctSolid)tileentity).uoteab.get(i).ticked = newTact; - transmitFluid(x, y + 1, z, that.getTact(), that, worldObj, type); - transmitFluid(x, y - 1, z, that.getTact(), that, worldObj, type); - transmitFluid(x - 1, y, z, that.getTact(), that, worldObj, type); - transmitFluid(x + 1, y, z, that.getTact(), that, worldObj, type); - transmitFluid(x, y, z - 1, that.getTact(), that, worldObj, type); - transmitFluid(x, y, z + 1, that.getTact(), that, worldObj, type); - } - } - } - } else { - ((TileEntityOilDuctSolid)tileentity).uoteab.add(new UnionOfTileEntitiesAndBooleansForFluids(that, newTact)); - } - } } if(tileentity instanceof IFluidAcceptor && newTact && ((IFluidAcceptor)tileentity).getMaxFluidFillForReceive(type) > 0 && diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index b1a7d09fe..5216968ab 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -306,8 +306,6 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySoyuzLauncher.class, new RenderSoyuzLauncher()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntitySoyuzCapsule.class, new RenderCapsule()); //network - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityOilDuct.class, new RenderOilDuct()); - ClientRegistry.bindTileEntitySpecialRenderer(TileEntityGasDuct.class, new RenderGasDuct()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityFluidDuct.class, new RenderFluidDuct()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityRFDuct.class, new RenderRFCable()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityPylon.class, new RenderPylon()); diff --git a/src/main/java/com/hbm/main/CraftingManager.java b/src/main/java/com/hbm/main/CraftingManager.java index c18a730e0..09737a6e0 100644 --- a/src/main/java/com/hbm/main/CraftingManager.java +++ b/src/main/java/com/hbm/main/CraftingManager.java @@ -622,6 +622,8 @@ public class CraftingManager { addRecipeAuto(new ItemStack(ModBlocks.fluid_duct, 8), new Object[] { "SAS", " D ", "SAS", 'S', STEEL.plate(), 'A', AL.plate(), 'D', ModItems.ducttape }); addShapelessAuto(new ItemStack(ModBlocks.fluid_duct_neo, 1, 0), new Object[] { ModBlocks.fluid_duct }); addRecipeAuto(new ItemStack(ModBlocks.fluid_duct_solid, 8), new Object[] { "SAS", "ADA", "SAS", 'S', STEEL.ingot(), 'A', AL.plate(), 'D', ModItems.ducttape }); + 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(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 }); diff --git a/src/main/java/com/hbm/main/MainRegistry.java b/src/main/java/com/hbm/main/MainRegistry.java index 19c93acf9..6f60eb450 100644 --- a/src/main/java/com/hbm/main/MainRegistry.java +++ b/src/main/java/com/hbm/main/MainRegistry.java @@ -1123,6 +1123,10 @@ public class MainRegistry { ignoreMappings.add("hbm:item.digamma_know"); ignoreMappings.add("hbm:item.digamma_kauai_moho"); ignoreMappings.add("hbm:item.digamma_up_on_top"); + ignoreMappings.add("hbm:tile.oil_duct_solid"); + ignoreMappings.add("hbm:tile.oil_duct"); + ignoreMappings.add("hbm:tile.gas_duct_solid"); + ignoreMappings.add("hbm:tile.gas_duct"); /// REMAP /// remapItems.put("hbm:item.gadget_explosive8", ModItems.early_explosive_lenses); diff --git a/src/main/java/com/hbm/render/block/RenderBoxDuct.java b/src/main/java/com/hbm/render/block/RenderBoxDuct.java index eb0d53002..c8c8f8915 100644 --- a/src/main/java/com/hbm/render/block/RenderBoxDuct.java +++ b/src/main/java/com/hbm/render/block/RenderBoxDuct.java @@ -23,7 +23,7 @@ public class RenderBoxDuct implements ISimpleBlockRenderingHandler { Tessellator tessellator = Tessellator.instance; FluidDuctBox duct = (FluidDuctBox) block; - int type = metadata % 3; + int type = duct.rectify(metadata); float lower = 0.125F; float upper = 0.875F; @@ -65,7 +65,23 @@ public class RenderBoxDuct implements ISimpleBlockRenderingHandler { tessellator.setBrightness(block.getMixedBrightnessForBlock(world, x, y, z)); int meta = world.getBlockMetadata(x, y, z); + boolean pX = false; + boolean nX = false; + boolean pY = false; + boolean nY = false; + boolean pZ = false; + boolean nZ = false; + FluidDuctBox.cachedColor = 0xffffff; + FluidDuctBox duct = (FluidDuctBox) block; + + pX = duct.canConnectTo(world, x, y, z, Library.POS_X, te); + nX = duct.canConnectTo(world, x, y, z, Library.NEG_X, te); + pY = duct.canConnectTo(world, x, y, z, Library.POS_Y, te); + nY = duct.canConnectTo(world, x, y, z, Library.NEG_Y, te); + pZ = duct.canConnectTo(world, x, y, z, Library.POS_Z, te); + nZ = duct.canConnectTo(world, x, y, z, Library.NEG_Z, te); + if(te instanceof TileEntityPipeBaseNT) { TileEntityPipeBaseNT pipe = (TileEntityPipeBaseNT) te; type = pipe.getType(); @@ -74,13 +90,6 @@ public class RenderBoxDuct implements ISimpleBlockRenderingHandler { } } - boolean pX = Library.canConnectFluid(world, x + 1, y, z, Library.POS_X, type); - boolean nX = Library.canConnectFluid(world, x - 1, y, z, Library.NEG_X, type); - boolean pY = Library.canConnectFluid(world, x, y + 1, z, Library.POS_Y, type); - boolean nY = Library.canConnectFluid(world, x, y - 1, z, Library.NEG_Y, type); - boolean pZ = Library.canConnectFluid(world, x, y, z + 1, Library.POS_Z, type); - boolean nZ = Library.canConnectFluid(world, x, y, z - 1, Library.NEG_Z, type); - 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); diff --git a/src/main/java/com/hbm/render/tileentity/RenderGasDuct.java b/src/main/java/com/hbm/render/tileentity/RenderGasDuct.java deleted file mode 100644 index 460d20b52..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderGasDuct.java +++ /dev/null @@ -1,153 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.conductor.TileEntityGasDuct; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.common.util.ForgeDirection; - -public class RenderGasDuct extends TileEntitySpecialRenderer { - - public ResourceLocation texture = new ResourceLocation(RefStrings.MODID, "textures/blocks/gas_duct.png"); - float pixel = 1F/16F; - float textureP = 1F / 32F; - - @Override - public void renderTileEntityAt(TileEntity tileentity, double offsetX, double offsetY, double offsetZ, float f) { - GL11.glTranslated(offsetX, offsetY, offsetZ); - GL11.glDisable(GL11.GL_LIGHTING); - this.bindTexture(texture); - drawCore(tileentity); - TileEntityGasDuct cable = (TileEntityGasDuct) tileentity; - for(int i = 0; i < cable.connections.length; i++) - { - if(cable.connections[i] != null) - { - drawConnection(cable.connections[i]); - } - } - GL11.glTranslated(-offsetX, -offsetY, -offsetZ); - GL11.glEnable(GL11.GL_LIGHTING); - - } - - public void drawCore(TileEntity tileentity) { - Tessellator tesseract = Tessellator.instance; - tesseract.startDrawingQuads(); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP); - - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP); - - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 5 * textureP); - - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 5 * textureP); - - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP); - - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP); - tesseract.draw(); - } - - public void drawConnection(ForgeDirection direction) - { - Tessellator tesseract = Tessellator.instance; - tesseract.startDrawingQuads(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if(direction.equals(ForgeDirection.UP)) - { - - } - if(direction.equals(ForgeDirection.DOWN)) - { - GL11.glRotatef(180, 1, 0, 0); - } - if(direction.equals(ForgeDirection.NORTH)) - { - GL11.glRotatef(270, 1, 0, 0); - } - if(direction.equals(ForgeDirection.SOUTH)) - { - GL11.glRotatef(90, 1, 0, 0); - } - if(direction.equals(ForgeDirection.EAST)) - { - GL11.glRotatef(270, 0, 0, 1); - } - if(direction.equals(ForgeDirection.WEST)) - { - GL11.glRotatef(90, 0, 0, 1); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP); - - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP); - - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.draw(); - - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if(direction.equals(ForgeDirection.UP)) - { - - } - if(direction.equals(ForgeDirection.DOWN)) - { - GL11.glRotatef(-180, 1, 0, 0); - } - if(direction.equals(ForgeDirection.NORTH)) - { - GL11.glRotatef(-270, 1, 0, 0); - } - if(direction.equals(ForgeDirection.SOUTH)) - { - GL11.glRotatef(-90, 1, 0, 0); - } - if(direction.equals(ForgeDirection.EAST)) - { - GL11.glRotatef(-270, 0, 0, 1); - } - if(direction.equals(ForgeDirection.WEST)) - { - GL11.glRotatef(-90, 0, 0, 1); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - } -} diff --git a/src/main/java/com/hbm/render/tileentity/RenderOilDuct.java b/src/main/java/com/hbm/render/tileentity/RenderOilDuct.java deleted file mode 100644 index ec867972c..000000000 --- a/src/main/java/com/hbm/render/tileentity/RenderOilDuct.java +++ /dev/null @@ -1,153 +0,0 @@ -package com.hbm.render.tileentity; - -import org.lwjgl.opengl.GL11; - -import com.hbm.lib.RefStrings; -import com.hbm.tileentity.conductor.TileEntityOilDuct; - -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.common.util.ForgeDirection; - -public class RenderOilDuct extends TileEntitySpecialRenderer { - - public ResourceLocation texture = new ResourceLocation(RefStrings.MODID, "textures/blocks/oil_duct_alt.png"); - float pixel = 1F/16F; - float textureP = 1F / 32F; - - @Override - public void renderTileEntityAt(TileEntity tileentity, double offsetX, double offsetY, double offsetZ, float f) { - GL11.glTranslated(offsetX, offsetY, offsetZ); - GL11.glDisable(GL11.GL_LIGHTING); - this.bindTexture(texture); - drawCore(tileentity); - TileEntityOilDuct cable = (TileEntityOilDuct) tileentity; - for(int i = 0; i < cable.connections.length; i++) - { - if(cable.connections[i] != null) - { - drawConnection(cable.connections[i]); - } - } - GL11.glTranslated(-offsetX, -offsetY, -offsetZ); - GL11.glEnable(GL11.GL_LIGHTING); - - } - - public void drawCore(TileEntity tileentity) { - Tessellator tesseract = Tessellator.instance; - tesseract.startDrawingQuads(); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP); - - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP); - - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 5 * textureP); - - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 5 * textureP); - - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP); - - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 11 * pixel / 2, 0 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 11 * pixel / 2, 1 - 11 * pixel / 2, 0 * textureP, 5 * textureP); - tesseract.draw(); - } - - public void drawConnection(ForgeDirection direction) - { - Tessellator tesseract = Tessellator.instance; - tesseract.startDrawingQuads(); - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if(direction.equals(ForgeDirection.UP)) - { - - } - if(direction.equals(ForgeDirection.DOWN)) - { - GL11.glRotatef(180, 1, 0, 0); - } - if(direction.equals(ForgeDirection.NORTH)) - { - GL11.glRotatef(270, 1, 0, 0); - } - if(direction.equals(ForgeDirection.SOUTH)) - { - GL11.glRotatef(90, 1, 0, 0); - } - if(direction.equals(ForgeDirection.EAST)) - { - GL11.glRotatef(270, 0, 0, 1); - } - if(direction.equals(ForgeDirection.WEST)) - { - GL11.glRotatef(90, 0, 0, 1); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP); - - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 5 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 0 * textureP); - tesseract.addVertexWithUV(1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 0 * textureP); - - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 1 - 11 * pixel / 2, 5 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1, 1 - 11 * pixel / 2, 10 * textureP, 5 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1, 11 * pixel / 2, 10 * textureP, 0 * textureP); - tesseract.addVertexWithUV(11 * pixel / 2, 1 - 11 * pixel / 2, 11 * pixel / 2, 5 * textureP, 0 * textureP); - tesseract.draw(); - - GL11.glTranslatef(0.5F, 0.5F, 0.5F); - if(direction.equals(ForgeDirection.UP)) - { - - } - if(direction.equals(ForgeDirection.DOWN)) - { - GL11.glRotatef(-180, 1, 0, 0); - } - if(direction.equals(ForgeDirection.NORTH)) - { - GL11.glRotatef(-270, 1, 0, 0); - } - if(direction.equals(ForgeDirection.SOUTH)) - { - GL11.glRotatef(-90, 1, 0, 0); - } - if(direction.equals(ForgeDirection.EAST)) - { - GL11.glRotatef(-270, 0, 0, 1); - } - if(direction.equals(ForgeDirection.WEST)) - { - GL11.glRotatef(-90, 0, 0, 1); - } - GL11.glTranslatef(-0.5F, -0.5F, -0.5F); - } -} diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index e9ba74599..697a65aa4 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -87,10 +87,6 @@ public class TileMappings { put(TileEntityPartEmitter.class, "tileentity_partemitter"); put(TileEntityDummy.class, "tileentity_dummy"); put(TileEntityMachineCyclotron.class, "tileentity_cyclotron"); - put(TileEntityOilDuct.class, "tileentity_oil_duct"); - put(TileEntityOilDuctSolid.class, "tileentity_oil_duct_solid"); - put(TileEntityGasDuct.class, "tileentity_gas_duct"); - put(TileEntityGasDuctSolid.class, "tileentity_gas_duct_solid"); put(TileEntityMachineRTG.class, "tileentity_machine_rtg"); put(TileEntityStructureMarker.class, "tileentity_structure_marker"); put(TileEntityMachineMiningDrill.class, "tileentity_mining_drill"); @@ -192,6 +188,8 @@ public class TileMappings { 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"); diff --git a/src/main/java/com/hbm/tileentity/conductor/TileEntityGasDuct.java b/src/main/java/com/hbm/tileentity/conductor/TileEntityGasDuct.java deleted file mode 100644 index bcc06b8a4..000000000 --- a/src/main/java/com/hbm/tileentity/conductor/TileEntityGasDuct.java +++ /dev/null @@ -1,97 +0,0 @@ -package com.hbm.tileentity.conductor; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.blocks.ModBlocks; -import com.hbm.calc.UnionOfTileEntitiesAndBooleansForFluids; -import com.hbm.interfaces.IFluidDuct; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.lib.Library; -import com.hbm.tileentity.network.TileEntityPipeBaseNT; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; - -public class TileEntityGasDuct extends TileEntity implements IFluidDuct { - - public ForgeDirection[] connections = new ForgeDirection[6]; - public FluidType type = Fluids.GAS; - public List uoteab = new ArrayList(); - - @Override - public void updateEntity() { - - //this.updateConnections(); - - worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.fluid_duct_neo, 1, 3); - - TileEntity tile = worldObj.getTileEntity(xCoord, yCoord, zCoord); - if(tile instanceof TileEntityPipeBaseNT) { - ((TileEntityPipeBaseNT) tile).setType(this.type); - } - } - - public void updateConnections() { - if(Library.checkFluidConnectables(this.worldObj, xCoord, yCoord + 1, zCoord, type)) - connections[0] = ForgeDirection.UP; - else - connections[0] = null; - - if(Library.checkFluidConnectables(this.worldObj, xCoord, yCoord - 1, zCoord, type)) - connections[1] = ForgeDirection.DOWN; - else - connections[1] = null; - - if(Library.checkFluidConnectables(this.worldObj, xCoord, yCoord, zCoord - 1, type)) - connections[2] = ForgeDirection.NORTH; - else - connections[2] = null; - - if(Library.checkFluidConnectables(this.worldObj, xCoord + 1, yCoord, zCoord, type)) - connections[3] = ForgeDirection.EAST; - else - connections[3] = null; - - if(Library.checkFluidConnectables(this.worldObj, xCoord, yCoord, zCoord + 1, type)) - connections[4] = ForgeDirection.SOUTH; - else - connections[4] = null; - - if(Library.checkFluidConnectables(this.worldObj, xCoord - 1, yCoord, zCoord, type)) - connections[5] = ForgeDirection.WEST; - else - connections[5] = null; - } - - @Override - public void readFromNBT(NBTTagCompound nbt) { - super.readFromNBT(nbt); - type = Fluids.GAS; - } - - @Override - public void writeToNBT(NBTTagCompound nbt) { - super.writeToNBT(nbt); - } - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() { - return 65536.0D; - } - - @Override - public FluidType getType() { - return type; - } - - @Override - public boolean setType(FluidType type) { - return false; - } -} diff --git a/src/main/java/com/hbm/tileentity/conductor/TileEntityGasDuctSolid.java b/src/main/java/com/hbm/tileentity/conductor/TileEntityGasDuctSolid.java deleted file mode 100644 index a78c2a6e3..000000000 --- a/src/main/java/com/hbm/tileentity/conductor/TileEntityGasDuctSolid.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.hbm.tileentity.conductor; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.blocks.ModBlocks; -import com.hbm.calc.UnionOfTileEntitiesAndBooleansForFluids; -import com.hbm.interfaces.IFluidDuct; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.tileentity.network.TileEntityPipeBaseNT; - -import net.minecraft.tileentity.TileEntity; - -public class TileEntityGasDuctSolid extends TileEntity implements IFluidDuct { - - public FluidType type = Fluids.GAS; - public List uoteab = new ArrayList(); - - @Override - public void updateEntity() { - - //if(!worldObj.isRemote) - // PacketDispatcher.wrapper.sendToAll(new TEFluidPipePacket(xCoord, yCoord, zCoord, type)); - - //this.updateConnections(); - - worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.fluid_duct_paintable); - - TileEntity tile = worldObj.getTileEntity(xCoord, yCoord, zCoord); - if(tile instanceof TileEntityPipeBaseNT) { - ((TileEntityPipeBaseNT) tile).setType(this.type); - } - } - - @Override - public FluidType getType() { - return type; - } - - @Override - public boolean setType(FluidType type) { - return false; - } -} diff --git a/src/main/java/com/hbm/tileentity/conductor/TileEntityOilDuct.java b/src/main/java/com/hbm/tileentity/conductor/TileEntityOilDuct.java deleted file mode 100644 index 9db606172..000000000 --- a/src/main/java/com/hbm/tileentity/conductor/TileEntityOilDuct.java +++ /dev/null @@ -1,95 +0,0 @@ -package com.hbm.tileentity.conductor; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.blocks.ModBlocks; -import com.hbm.calc.UnionOfTileEntitiesAndBooleansForFluids; -import com.hbm.interfaces.IFluidDuct; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.lib.Library; -import com.hbm.tileentity.network.TileEntityPipeBaseNT; - -import cpw.mods.fml.relauncher.Side; -import cpw.mods.fml.relauncher.SideOnly; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.common.util.ForgeDirection; - -public class TileEntityOilDuct extends TileEntity implements IFluidDuct { - - public ForgeDirection[] connections = new ForgeDirection[6]; - public FluidType type = Fluids.OIL; - public List uoteab = new ArrayList(); - - public TileEntityOilDuct() { - - } - - @Override - public void updateEntity() { - - //if(!worldObj.isRemote) - // PacketDispatcher.wrapper.sendToAll(new TEFluidPipePacket(xCoord, yCoord, zCoord, type)); - - //this.updateConnections(); - - worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.fluid_duct_neo, 2, 3); - - TileEntity tile = worldObj.getTileEntity(xCoord, yCoord, zCoord); - if(tile instanceof TileEntityPipeBaseNT) { - ((TileEntityPipeBaseNT) tile).setType(this.type); - } - } - - public void updateConnections() { - if(Library.checkFluidConnectables(this.worldObj, xCoord, yCoord + 1, zCoord, type)) connections[0] = ForgeDirection.UP; - else connections[0] = null; - - if(Library.checkFluidConnectables(this.worldObj, xCoord, yCoord - 1, zCoord, type)) connections[1] = ForgeDirection.DOWN; - else connections[1] = null; - - if(Library.checkFluidConnectables(this.worldObj, xCoord, yCoord, zCoord - 1, type)) connections[2] = ForgeDirection.NORTH; - else connections[2] = null; - - if(Library.checkFluidConnectables(this.worldObj, xCoord + 1, yCoord, zCoord, type)) connections[3] = ForgeDirection.EAST; - else connections[3] = null; - - if(Library.checkFluidConnectables(this.worldObj, xCoord, yCoord, zCoord + 1, type)) connections[4] = ForgeDirection.SOUTH; - else connections[4] = null; - - if(Library.checkFluidConnectables(this.worldObj, xCoord - 1, yCoord, zCoord, type)) connections[5] = ForgeDirection.WEST; - else connections[5] = null; - } - - @Override - public void readFromNBT(NBTTagCompound nbt) - { - super.readFromNBT(nbt); - type = Fluids.OIL; - } - - @Override - public void writeToNBT(NBTTagCompound nbt) - { - super.writeToNBT(nbt); - } - - @Override - @SideOnly(Side.CLIENT) - public double getMaxRenderDistanceSquared() - { - return 65536.0D; - } - - @Override - public FluidType getType() { - return type; - } - - @Override - public boolean setType(FluidType type) { - return false; - } -} diff --git a/src/main/java/com/hbm/tileentity/conductor/TileEntityOilDuctSolid.java b/src/main/java/com/hbm/tileentity/conductor/TileEntityOilDuctSolid.java deleted file mode 100644 index 940494cbc..000000000 --- a/src/main/java/com/hbm/tileentity/conductor/TileEntityOilDuctSolid.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.hbm.tileentity.conductor; - -import java.util.ArrayList; -import java.util.List; - -import com.hbm.blocks.ModBlocks; -import com.hbm.calc.UnionOfTileEntitiesAndBooleansForFluids; -import com.hbm.interfaces.IFluidDuct; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; -import com.hbm.tileentity.network.TileEntityPipeBaseNT; - -import net.minecraft.tileentity.TileEntity; - -public class TileEntityOilDuctSolid extends TileEntity implements IFluidDuct { - - public FluidType type = Fluids.OIL; - public List uoteab = new ArrayList(); - - @Override - public void updateEntity() { - - //if(!worldObj.isRemote) - // PacketDispatcher.wrapper.sendToAll(new TEFluidPipePacket(xCoord, yCoord, zCoord, type)); - - //this.updateConnections(); - - worldObj.setBlock(xCoord, yCoord, zCoord, ModBlocks.fluid_duct_paintable); - - TileEntity tile = worldObj.getTileEntity(xCoord, yCoord, zCoord); - if(tile instanceof TileEntityPipeBaseNT) { - ((TileEntityPipeBaseNT) tile).setType(this.type); - } - } - - @Override - public FluidType getType() { - return type; - } - - @Override - public boolean setType(FluidType type) { - return false; - } -} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java index 7882e3e8c..3323f4bce 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineBoiler.java @@ -5,6 +5,8 @@ import java.util.List; import com.hbm.blocks.ModBlocks; import com.hbm.blocks.machine.MachineBoiler; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.interfaces.IFluidSource; @@ -253,6 +255,7 @@ public class TileEntityMachineBoiler extends TileEntityLoadedBase implements ISi if(burnTime > 0) { burnTime--; + if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND); heat += 50; flag1 = true; } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java index f00709901..336e27bc5 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbineGas.java @@ -3,6 +3,8 @@ package com.hbm.tileentity.machine; import java.util.HashMap; import com.hbm.blocks.BlockDummyable; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.fluid.tank.FluidTank; import com.hbm.inventory.fluid.trait.FT_Combustible; @@ -298,6 +300,7 @@ public class TileEntityMachineTurbineGas extends TileEntityMachineBase implement } double consumption = fuelMaxCons.containsKey(tanks[0].getTankType()) ? fuelMaxCons.get(tanks[0].getTankType()) : 5D; + if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * (float) consumption * 0.25F); makePower(consumption, throttle); } diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java index 613032cb6..e3f2e7705 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityMachineTurbofan.java @@ -5,6 +5,8 @@ import java.util.List; import com.hbm.blocks.BlockDummyable; import com.hbm.blocks.ModBlocks; import com.hbm.handler.MultiblockHandlerXR; +import com.hbm.handler.pollution.PollutionHandler; +import com.hbm.handler.pollution.PollutionHandler.PollutionType; import com.hbm.interfaces.IFluidAcceptor; import com.hbm.interfaces.IFluidContainer; import com.hbm.inventory.UpgradeManager; @@ -161,6 +163,8 @@ public class TileEntityMachineTurbofan extends TileEntityMachineBase implements this.wasOn = true; this.tank.setFill(this.tank.getFill() - amountToBurn); this.power += burnValue * amountToBurn; + + if(worldObj.getTotalWorldTime() % 20 == 0) PollutionHandler.incrementPollution(worldObj, xCoord, yCoord, zCoord, PollutionType.SOOT, PollutionHandler.SOOT_PER_SECOND * amountToBurn); } power = Library.chargeItemsFromTE(slots, 3, power, power); diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityFluidValve.java b/src/main/java/com/hbm/tileentity/network/TileEntityFluidValve.java new file mode 100644 index 000000000..6e1a226dd --- /dev/null +++ b/src/main/java/com/hbm/tileentity/network/TileEntityFluidValve.java @@ -0,0 +1,27 @@ +package com.hbm.tileentity.network; + +import api.hbm.fluid.PipeNet; + +public class TileEntityFluidValve extends TileEntityPipeBaseNT { + + @Override + public boolean canUpdate() { + return this.worldObj != null && this.getBlockMetadata() == 1 && super.canUpdate(); + } + + 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); + } + } + } +} diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java b/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java new file mode 100644 index 000000000..c871d3941 --- /dev/null +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java @@ -0,0 +1,82 @@ +package com.hbm.tileentity.network; + +import java.util.HashMap; +import java.util.Map.Entry; + +import com.hbm.inventory.fluid.FluidType; +import com.hbm.inventory.fluid.Fluids; +import com.hbm.util.Compat; + +import api.hbm.fluid.IFluidConductor; +import api.hbm.fluid.IPipeNet; +import api.hbm.fluid.PipeNet; +import net.minecraft.tileentity.TileEntity; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityPipeExhaust extends TileEntity implements IFluidConductor { + + public HashMap nets = new HashMap(); + + @Override + public void updateEntity() { + + 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.nets.clear(); + + for(Entry entry : nets.entrySet()) { + + this.connect(entry.getKey()); + + if(this.getPipeNet(entry.getKey()) == null) { + this.setPipeNet(entry.getKey(), new PipeNet(entry.getKey()).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)); + } + } + } + } + + @Override + public boolean canConnect(FluidType type, ForgeDirection dir) { + return 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) { + return nets.get(type); + } + + @Override + public void setPipeNet(FluidType type, IPipeNet network) { + nets.put(type, network); + } +} diff --git a/src/main/resources/assets/hbm/lang/de_DE.lang b/src/main/resources/assets/hbm/lang/de_DE.lang index 99542b701..1a4bc80b9 100644 --- a/src/main/resources/assets/hbm/lang/de_DE.lang +++ b/src/main/resources/assets/hbm/lang/de_DE.lang @@ -1689,6 +1689,7 @@ item.dysfunctional_reactor.name=Funktionsunfähiger Atomreaktor item.egg_balefire.name=Balefire-Ei item.egg_balefire.desc=Was für ein Vogel legt denn ein radioaktives Ei? item.egg_balefire_shard.name=Balefire-Scherbe +item.egg_glyphid.name=Glyphid-Ei item.elec_axe.name=Elektrische Kettensäge item.elec_pickaxe.name=Schlagbohrmaschine item.elec_shovel.name=Spiralbohrer @@ -3792,11 +3793,14 @@ tile.flame_war.name=Flamewar aus der Box tile.float_bomb.name=Schwebebombe 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_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_switch.name=Redstone-Ventil +tile.fluid_valve.name=Ventil tile.foam_layer.name=Schaumdecke tile.foundry_basin.name=Gussbecken tile.foundry_channel.name=Gusskanal diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 01de09f83..75ec980cc 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -2365,6 +2365,7 @@ item.early_explosive_lenses.desc=Assembly of 8 high-explosive lenses with an alu item.egg_balefire.name=Balefire Egg item.egg_balefire.desc=What kind of bird lays a radioactive egg? item.egg_balefire_shard.name=Balefire Shard +item.egg_glyphid.name=Glyphid Egg item.elec_axe.name=Electric Chainsaw item.elec_pickaxe.name=Impact Drill item.elec_shovel.name=Spiral Drill @@ -4660,11 +4661,14 @@ tile.flame_war.name=Flame War in a Box tile.float_bomb.name=Levitation Bomb 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_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_switch.name=Redstone Fluid Valve +tile.fluid_valve.name=Fluid Valve tile.foam_layer.name=Foam layer tile.foundry_basin.name=Foundry Basin tile.foundry_channel.name=Foundry Channel diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust.png new file mode 100644 index 0000000000000000000000000000000000000000..ab1816ba54d99abe2b3bd469e2afc3cfb1a9497c GIT binary patch literal 1426 zcmV;D1#S9?P)Lnk>%LG2r0-0Ua7BB^^Bkv}MkeAtXx& zhivUqn!g|&I%nu$L6>YHoeoUEV@U`EYbl8@woaD89s0fZNwR*~%18M4z6S&nzUS_F z-_zauoLs_RXf~VU*RNlLbB=1Yib|yd(=;K3K)>II5CW^KtKgiY+wJ1>=g%bsFe{%? z2c1p_KY#v&uIsqIzJ{i0Fbo5(>%#LqxUP%y^K(ckA*DnVv+_&LW^>%>bnxoctBFq2 zaC>`;PNxF^sMTs%TwKh}6+++<;Xo6=<3^LCDI)U@%ZTdgGH2jGUlp z8Y-0vm}#0Y3?r79mWjb&pm?TfCbo@6PB07urfGr+A>g_$oaw9y2SHHDt%q2KTSoq;SwGZD=|@IA`2oGAly>+9>WJ6jxt z5D-G(&6_tMo|F=nWnpb?EjCk0ARe=AJGTJfPbO&H6OW#kmX@Xx&~CRe*X?#yM~y}U zYinzXq(-BGjg1YQot=SrQcBpi4aQh*J_)dG8>*uHXRF~{)?EG5P#LJzYO1Pn&SO(( zSr#0}!SV4iTCG;7qgnYOKk)M9OK{Fnuh-S~+UxZogg~#?!}9VnIOkxD#rlD~eAjiA zADFW&OO@5j%gfY~dU<(?rKKfoZEb;gRM$5)HgfS9`;+uUKad96UT5_KL8SVDI0U!X zS^Pj0nSLOMxWY1xABaOPKL8{bmb`u-3Ay}0k{1B-`GGWK`hl#LP{&!Ia{=*ahs$#=AWZmy(P)$_asY{bfHs-D0^0317}fPWwv2Fg zc80sVJ0-xjZ9IGSEH|G7g#5tf=H{5TR>Lr2%PEyoDJ5F1R>%*`%76T7_-9P` zO`EuAYUug&^b~u0d)VFGMgE1G0A1I?Imi6`JTy(i%F2owF!)Z;{ngbKeBX!TIM8*y zxG6OZ1J!C3jImI(ahH@5p69{$eQ?fU7)J37P+c#V%M${Ekq1|R@B1JhQdj`h^{9a8 z;K60+`##8r6rKWA)dEwH6gf@7Xf#sQw6FlG>*aDecFv>G(>p+Z;=wXN0x0^p!Gi)G zECW(Xtgf!AWf+|E=-|OAuq+Ew%Hl7flu~&CP1A67bp_A!LIXyx;cy7YaV7!044u|l4AHMHnG#Z8Ohr=NN;Q07BEa3L`Rymt$wTi)D zfWcr8Dkk*%-QArM&}y|xtyT-oW^?@Z?c0Cf_kqIi0O921q?Fxi5+wk5_wLaCCG8$8oT~zmF$Rp3EFMf$6%A`}_OcpW3J$ zfZWIWOaTD!<;#~`-}%0M`-We?em$6gxwMmU7K(6{fN9TkK@{OC0gs-6X^v!36yYiX zS^pKJp$JzAc=QZR^Qk_HBHRf9M@L84-rmk692^|r{rmS1CV)jhGSDWIgy2s25CR^* g7|~79)oekWQzAa}E*Vdc7hdjK^cV z_nb~A*6Vc(KqZ6SZpVJV#~8!ma6oH~wU!V9bzKueV6)i}V8Dprb3hzCm(dbuLM4ENtl(m-Q z@yKK{c`G?7aY}35bo`y$fKXB(AAIYyDR8&k8!i7q$b4iq490XjO4k~44;+FXIo5{*lm zG@%2m#EvM~V%JD4h_Ka;wy{EF{{AC+Z!o6TkzVyTby%DCKHS? zG)=>1vq=C%EU?ycI2=gRl)A2wQlgZ?dr#l@c<KRWC6nwS$+Rox2!wAO>K@ArF*G2aD6QBc?QgCWoJw*}Yhm6#J* zmLa8lG7XV*U5Atsp|wUS_0sf?r0Y7AQV8c9-h0O5@k`_7a(Q_lbE0iq`o4dQ>zsSK zi@7_&kbaZI+-N?ZKWx?ziF1y{VnNJ_s;WLNh$L|jLI{YaY3>Ef<&xv^__P;MalYMd jIiJsj5J=+i-+tp44S3}L{xGGQ00000NkvXXu0mjfwok41 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_curve_tl.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_curve_tl.png new file mode 100644 index 0000000000000000000000000000000000000000..6a7379597d9b302c5f402eef52eb910710d8fc38 GIT binary patch literal 362 zcmV-w0hRuVP)2a$-r96 z<#J(~CY*EZb~}tQc<))31@ArQ^OkVy#6erSi#r-&5B$Kk0tIBg8v&;)GI)VHj}E{R)3q;)K?k z$KyfMG#|qNi4#)FJg_ZFoX}e5fo)A-j6sAD@ZM9Fo1$_V;AHhOM=Og$CzKU-V-$2q0 z*rZPBbebW_1clvV|M)Ms>)P!Hx4GPN&l$MW;~%Tl>Rl;?Qi>>wkWvyw5lz$3wk=K5 z5JI?Dnx;Jf(Jh!vCTunvoO4)fiQ^cpHQsxws=|9uk|a3i*zIU9VRim#ku~?90*~`uV z%jFX199foq-a!a~+wJy}GyK1U5CYe!yU R+NuBm002ovPDHLkV1n2PzRLgr literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_end.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_end.png new file mode 100644 index 0000000000000000000000000000000000000000..2065be57ba3ac0f0edd6afc22ba61c78f1588627 GIT binary patch literal 517 zcmV+g0{Z=lP)M!9yUOvNNj-(P)1@G6o{HNumg6HmX^+C z3JRo%hSXLRJ4WIb?bgd2O&rH0NrEwkrfD$7uwJjJ>zd>7NKq631bLo6vn)ev4ZvhF zAq+#JC?blYmwJpK2q?>vP)f;ixkPKtVzEF7@qs>Ce?Og0>~=f0+wC6#tu>R$1R(^o z*=!(;d(zicRpGs-u4|-}{3xZEPN#%n_~P~r)>@o%c<<3#qm&{PLJ-F>Q51a$jGf05 z@ZJ;0F+vDJr4&h$d>39Yqgt%n{|RfTiz zh47B9>!|A*Yc0WQwR+CybK*G0d(Y$XpzAuk_rrZ$cU=d-d_L!Lxe)ZrwBPTa{g<9j zr(c&TO;fbi-0yb|hr{bOmSxHHdPPdf?RNXR&gb)ah}NH9uXb>VAq8{F00000NkvXX Hu0mjfmJ#a> literal 0 HcmV?d00001 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 new file mode 100644 index 0000000000000000000000000000000000000000..8019ad5439a0b09a1fbbc0417de02c0f9172f1d4 GIT binary patch literal 305 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`EX7WqAsj$Z!;#Vf*=O+GT4Ux`Vuab{u6z&73HmJc;qx3~4igi75>o3jKy^%t<}wISW>uWC;DsYVkba`d9bh z>!lgDzcJbP9hkYnSf&1@W#_7@!^U%cUs=~PvaIR*QrCQ073gOMPgg&ebxsLQ0C-+> AFaQ7m literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_straight.png b/src/main/resources/assets/hbm/textures/blocks/boxduct_exhaust_straight.png new file mode 100644 index 0000000000000000000000000000000000000000..f6a5ed43e67199f097addc96d23e61a52695ce25 GIT binary patch literal 309 zcmV-50m}Y~P)bsC?ju#S-?ARoBMOB`#tbOS(aavQcz047y}^$j4?Rpumafs_&#K^({Ex(-SyuTZ+Ok6ox;g8z{y142;kn7;ppXD!K%hGD~nC+=9*q1eZ{7 zAbm|t=@RNgl8%>XJAM!d=YD?9Xf|KAyh&X*BmlF+9)J}1%BC-q*7b?T|G%@TD*&*| zB>ilz^Xg~xB{tn24f$)Ty{ALe(caWjpuZP@qgw^D1ZM}xaMQC0idcX0E7?# zsG@j?jTQiqQX-|(MQe>xDjGMA8AE4d48|C&wViEHf&UO)K?s4?8f)#1Ew;o{4U|$3 zA`YJ5UhTMijxo6N3^YA2u<+-faODW+JcN+bt*|POr1%Sa!Q!yLnPl{t%l3S(2Y0^b Y0x~RF4pH?P!TJ#NB45QRUGFJO&mqb-8u8(@i&2Dn5xLfSon+Z+LkTp^^P zMB)gRl43=RM;w6^UT=O_@G75VdA;8EW_I)jlj-8ZKT$oC0ZjH=0CM0(#&<=}`oY<+ zH!^Mw0N#ocfKgA?*O36QtPcRKLGFL<{AM4sq70f0-*#8|p+|i5@Av5f>d)^h{A9CU z1K^wkz!(F-(`t2fHfjJ+RTZiVfQVqNjh>4dIOkARnx^@+7h`yy$ypf5Jq1j7C;ug(`AEL$^^+2jK&n1AtO*k zGOho_2uXoJ!5D%0D*N-@^WE8}+x_w7phD;=0NVDGom^D{=fVIOjT{M4&H(_=_Ps0l zbyd^4h!4w+F0RUW{pK9>a%X^bS9RmQ)R)72WEC9Bu^?&cSYi)VaqHTNp$wo|f zbbK<8W7aAn9@kfA0DzPd03gN)0C;$O)&7Zb%tQkNQc4(xK`X`>3ou_DqIJ|@>a7he z4lMtaf&u5io>{r?d&C&kZ<#o*%MQ^dvAT#y&J!#~w{UxNQQSe!Q*j4&jl1m{clXZ- zLH0AScTR9EwKk0yM_SAb9G)`i(oYfb=$5O^{Fl#ES7ri7g*01}ZUHG@er~6e=)XGH P00000NkvXXu0mjf#MX>b diff --git a/src/main/resources/assets/hbm/textures/blocks/fluid_valve_on.png b/src/main/resources/assets/hbm/textures/blocks/fluid_valve_on.png index 4bb093842207650b5f98ab2f2c37af39abbe7851..19c8bec2ae77cf28d011fcedb101f8cb5f33574e 100644 GIT binary patch delta 227 zcmV<90384H0*(TZGk*ZZNklu?@m75Jev-3q&Wk$R!(qL`lUIWDQS{HNqhD zjF5uDqIFIg0SZJQi4iuxvd{OQPXD~v><)MSlxj}_(6-lXvoS&l`UJcRIT9(y0DyCQ zNiy%(+u>YHA6Gxjx5<4505~-b0N#55thE3ft7_I81pw4_ja;e%AR;*DqJ2?-_a0TH z>$*`brscN@QWc%RT8qegts*kykOTm5&dowh2E@`%22A&y1^E17SpZ`Mkuuv1P^k8V dpoE}*0UnV!IZ^p@lDz-`002ovPDHLkV1i=ZU+@3` delta 330 zcmV-Q0k!^)0`vlqGk*aqNkl>36L?LMRdsvp)!MvzF~=zj^jn%hhJj(NueLXB^Fs=b`<@C3Y&jFyET7Twu+jV~OVvctC#-Cz_ zsZLJM_HC@7{B>+MQ06aXt=Jy-MStkovLDMv->anR1V;q3(n?)=WDJ4{u zuIq9xr8K*t#U%1i8!#{(LI{YIha-d#a=v8ZY+a>@05Qgih$1zrJtZb@A>LgL?m)F4 z+(Eg<-F8iL|3i%Ta?qf>a|4fU95akFTGkn+r)+dB|E*0;wOnoXfBBilldXX>$7s$e cJqI-V0(@ Date: Thu, 29 Jun 2023 20:59:13 +0200 Subject: [PATCH 229/285] fixes, localization, chimney --- src/main/java/com/hbm/blocks/ModBlocks.java | 3 + .../blocks/machine/MachineChimneyBrick.java | 44 ++ .../com/hbm/blocks/network/FluidDuctBox.java | 9 - .../com/hbm/blocks/network/FluidSwitch.java | 3 +- .../com/hbm/blocks/network/FluidValve.java | 3 +- src/main/java/com/hbm/main/ClientProxy.java | 1 + .../java/com/hbm/main/ResourceManager.java | 2 + .../render/tileentity/RenderChimneyBrick.java | 56 ++ .../java/com/hbm/tileentity/TileMappings.java | 1 + .../machine/TileEntityChimneyBrick.java | 80 ++ .../network/TileEntityPipeExhaust.java | 63 +- src/main/resources/assets/hbm/lang/zh_CN.lang | 145 +++- .../hbm/models/machines/chimney_brick.obj | 704 ++++++++++++++++++ .../models/machines/chimney_brick.png | Bin 0 -> 4794 bytes 14 files changed, 1054 insertions(+), 60 deletions(-) create mode 100644 src/main/java/com/hbm/blocks/machine/MachineChimneyBrick.java create mode 100644 src/main/java/com/hbm/render/tileentity/RenderChimneyBrick.java create mode 100644 src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java create mode 100644 src/main/resources/assets/hbm/models/machines/chimney_brick.obj create mode 100644 src/main/resources/assets/hbm/textures/models/machines/chimney_brick.png diff --git a/src/main/java/com/hbm/blocks/ModBlocks.java b/src/main/java/com/hbm/blocks/ModBlocks.java index ef999ee12..761570c9e 100644 --- a/src/main/java/com/hbm/blocks/ModBlocks.java +++ b/src/main/java/com/hbm/blocks/ModBlocks.java @@ -946,6 +946,7 @@ public class ModBlocks { public static Block machine_fracking_tower; public static Block machine_flare; + public static Block chimney_brick; public static Block machine_refinery; public static Block machine_vacuum_distill; @@ -2185,6 +2186,7 @@ public class ModBlocks { machine_fracking_tower = new MachineFrackingTower().setBlockName("machine_fracking_tower").setHardness(5.0F).setResistance(60.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"); 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"); @@ -3257,6 +3259,7 @@ public class ModBlocks { register(machine_pumpjack); register(machine_fracking_tower); register(machine_flare); + register(chimney_brick); register(machine_refinery); register(machine_vacuum_distill); register(machine_fraction_tower); diff --git a/src/main/java/com/hbm/blocks/machine/MachineChimneyBrick.java b/src/main/java/com/hbm/blocks/machine/MachineChimneyBrick.java new file mode 100644 index 000000000..ab6bf4bbc --- /dev/null +++ b/src/main/java/com/hbm/blocks/machine/MachineChimneyBrick.java @@ -0,0 +1,44 @@ +package com.hbm.blocks.machine; + +import com.hbm.blocks.BlockDummyable; +import com.hbm.tileentity.TileEntityProxyCombo; +import com.hbm.tileentity.machine.TileEntityChimneyBrick; + +import net.minecraft.block.material.Material; +import net.minecraft.tileentity.TileEntity; +import net.minecraft.world.World; +import net.minecraftforge.common.util.ForgeDirection; + +public class MachineChimneyBrick extends BlockDummyable { + + public MachineChimneyBrick(Material mat) { + super(mat); + } + + @Override + public TileEntity createNewTileEntity(World world, int meta) { + + if(meta >= 12) return new TileEntityChimneyBrick(); + if(meta >= 6) return new TileEntityProxyCombo().fluid(); + return null; + } + + @Override + public int[] getDimensions() { + return new int[] {12, 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); + this.makeExtra(world, x + dir.offsetX * o + 1, y, z + dir.offsetZ * o); + this.makeExtra(world, x + dir.offsetX * o - 1, y, z + dir.offsetZ * o); + this.makeExtra(world, x + dir.offsetX * o, y, z + dir.offsetZ * o + 1); + this.makeExtra(world, x + dir.offsetX * o, y, z + dir.offsetZ * o - 1); + } +} diff --git a/src/main/java/com/hbm/blocks/network/FluidDuctBox.java b/src/main/java/com/hbm/blocks/network/FluidDuctBox.java index f2d6f7674..75d01ab6f 100644 --- a/src/main/java/com/hbm/blocks/network/FluidDuctBox.java +++ b/src/main/java/com/hbm/blocks/network/FluidDuctBox.java @@ -5,8 +5,6 @@ import java.util.List; import com.hbm.blocks.IBlockMulti; import com.hbm.blocks.ILookOverlay; -import com.hbm.inventory.fluid.FluidType; -import com.hbm.inventory.fluid.Fluids; import com.hbm.lib.Library; import com.hbm.lib.RefStrings; import com.hbm.tileentity.network.TileEntityPipeBaseNT; @@ -73,14 +71,7 @@ public class FluidDuctBox extends FluidDuctBase implements IBlockMulti, ILookOve @SideOnly(Side.CLIENT) public IIcon getIcon(IBlockAccess world, int x, int y, int z, int side) { - FluidType type = Fluids.NONE; - TileEntity te = world.getTileEntity(x, y, z); - - if(te instanceof TileEntityPipeBaseNT) { - TileEntityPipeBaseNT pipe = (TileEntityPipeBaseNT) te; - type = pipe.getType(); - } boolean nX = canConnectTo(world, x, y, z, Library.NEG_X, te); boolean pX = canConnectTo(world, x, y, z, Library.POS_X, te); diff --git a/src/main/java/com/hbm/blocks/network/FluidSwitch.java b/src/main/java/com/hbm/blocks/network/FluidSwitch.java index bbe44edd2..aa7c2d1ca 100644 --- a/src/main/java/com/hbm/blocks/network/FluidSwitch.java +++ b/src/main/java/com/hbm/blocks/network/FluidSwitch.java @@ -10,7 +10,6 @@ import com.hbm.util.I18nUtil; 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.player.EntityPlayer; @@ -19,7 +18,7 @@ import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; -public class FluidSwitch extends BlockContainer implements ILookOverlay { +public class FluidSwitch extends FluidDuctBase implements ILookOverlay { @SideOnly(Side.CLIENT) private IIcon iconOn; diff --git a/src/main/java/com/hbm/blocks/network/FluidValve.java b/src/main/java/com/hbm/blocks/network/FluidValve.java index 9211dc6c3..8482ebb14 100644 --- a/src/main/java/com/hbm/blocks/network/FluidValve.java +++ b/src/main/java/com/hbm/blocks/network/FluidValve.java @@ -11,7 +11,6 @@ import com.hbm.util.I18nUtil; 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.tileentity.TileEntity; @@ -19,7 +18,7 @@ import net.minecraft.util.IIcon; import net.minecraft.world.World; import net.minecraftforge.client.event.RenderGameOverlayEvent.Pre; -public class FluidValve extends BlockContainer implements ILookOverlay { +public class FluidValve extends FluidDuctBase implements ILookOverlay { @SideOnly(Side.CLIENT) private IIcon iconOn; diff --git a/src/main/java/com/hbm/main/ClientProxy.java b/src/main/java/com/hbm/main/ClientProxy.java index 5216968ab..2cc2d6e41 100644 --- a/src/main/java/com/hbm/main/ClientProxy.java +++ b/src/main/java/com/hbm/main/ClientProxy.java @@ -212,6 +212,7 @@ public class ClientProxy extends ServerProxy { ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineCyclotron.class, new RenderCyclotron()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineOilWell.class, new RenderDerrick()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineGasFlare.class, new RenderGasFlare()); + ClientRegistry.bindTileEntitySpecialRenderer(TileEntityChimneyBrick.class, new RenderChimneyBrick()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiningDrill.class, new RenderMiningDrill()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineMiningLaser.class, new RenderLaserMiner()); ClientRegistry.bindTileEntitySpecialRenderer(TileEntityMachineAssembler.class, new RenderAssembler()); diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index cf4b0f9df..5708e8a12 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -81,6 +81,7 @@ public class ResourceManager { //Flare Stack public static final IModelCustom oilflare = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/flare_stack.obj")); + public static final IModelCustom chimney_brick = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/machines/chimney_brick.obj")); //Tank public static final IModelCustom fluidtank = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/fluidtank.obj")); @@ -413,6 +414,7 @@ public class ResourceManager { //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"); //Tank public static final ResourceLocation tank_tex = new ResourceLocation(RefStrings.MODID, "textures/models/tank.png"); diff --git a/src/main/java/com/hbm/render/tileentity/RenderChimneyBrick.java b/src/main/java/com/hbm/render/tileentity/RenderChimneyBrick.java new file mode 100644 index 000000000..bbab3e1ad --- /dev/null +++ b/src/main/java/com/hbm/render/tileentity/RenderChimneyBrick.java @@ -0,0 +1,56 @@ +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 RenderChimneyBrick 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.glRotatef(180, 0F, 1F, 0F); + + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.chimney_brick_tex); + ResourceManager.chimney_brick.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glEnable(GL11.GL_CULL_FACE); + + GL11.glPopMatrix(); + } + + @Override + public Item getItemForRenderer() { + return Item.getItemFromBlock(ModBlocks.chimney_brick); + } + + @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.glScaled(0.5, 0.5, 0.5); + GL11.glDisable(GL11.GL_CULL_FACE); + GL11.glShadeModel(GL11.GL_SMOOTH); + bindTexture(ResourceManager.chimney_brick_tex); + ResourceManager.chimney_brick.renderAll(); + GL11.glShadeModel(GL11.GL_FLAT); + GL11.glEnable(GL11.GL_CULL_FACE); + }}; + } +} diff --git a/src/main/java/com/hbm/tileentity/TileMappings.java b/src/main/java/com/hbm/tileentity/TileMappings.java index 697a65aa4..2ff4005f6 100644 --- a/src/main/java/com/hbm/tileentity/TileMappings.java +++ b/src/main/java/com/hbm/tileentity/TileMappings.java @@ -314,6 +314,7 @@ public class TileMappings { put(TileEntityMachineCatalyticCracker.class, "tileentity_catalytic_cracker"); put(TileEntityMachineCatalyticReformer.class, "tileentity_catalytic_reformer"); put(TileEntityMachineCoker.class, "tileentity_coker"); + put(TileEntityChimneyBrick.class, "tileentity_chimney_brick"); put(TileEntityReactorZirnox.class, "tileentity_zirnox"); put(TileEntityZirnoxDestroyed.class, "tileentity_zirnox_destroyed"); diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java new file mode 100644 index 000000000..9833e540c --- /dev/null +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityChimneyBrick.java @@ -0,0 +1,80 @@ +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.lib.Library; +import com.hbm.tileentity.TileEntityLoadedBase; + +import api.hbm.fluid.IFluidUser; +import cpw.mods.fml.relauncher.Side; +import cpw.mods.fml.relauncher.SideOnly; +import net.minecraft.util.AxisAlignedBB; +import net.minecraftforge.common.util.ForgeDirection; + +public class TileEntityChimneyBrick extends TileEntityLoadedBase implements IFluidUser { + + @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); + this.trySubscribe(type, worldObj, xCoord, yCoord, zCoord + 2, Library.POS_Z); + this.trySubscribe(type, worldObj, xCoord, yCoord, zCoord - 2, Library.NEG_Z); + } + } + } + } + + @Override + public boolean canConnect(FluidType type, ForgeDirection dir) { + return (dir == ForgeDirection.NORTH || dir == ForgeDirection.SOUTH || dir == ForgeDirection.EAST || dir == ForgeDirection.WEST) && + (type == Fluids.SMOKE || type == Fluids.SMOKE_LEADED || type == Fluids.SMOKE_POISON); + } + + @Override + public long transferFluid(FluidType type, int pressure, long fluid) { + return 0; + } + + @Override + public long getDemand(FluidType type, int pressure) { + return 1_000_000; + } + + @Override + public FluidTank[] getAllTanks() { + return new FluidTank[] {}; + } + + AxisAlignedBB bb = null; + + @Override + public AxisAlignedBB getRenderBoundingBox() { + + if(bb == null) { + bb = AxisAlignedBB.getBoundingBox( + xCoord - 1, + yCoord, + zCoord - 1, + xCoord + 2, + yCoord + 13, + zCoord + 2 + ); + } + + return bb; + } + + @Override + @SideOnly(Side.CLIENT) + public double getMaxRenderDistanceSquared() { + return 65536.0D; + } +} diff --git a/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java b/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java index c871d3941..992aca682 100644 --- a/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java +++ b/src/main/java/com/hbm/tileentity/network/TileEntityPipeExhaust.java @@ -1,8 +1,5 @@ package com.hbm.tileentity.network; -import java.util.HashMap; -import java.util.Map.Entry; - import com.hbm.inventory.fluid.FluidType; import com.hbm.inventory.fluid.Fluids; import com.hbm.util.Compat; @@ -15,22 +12,24 @@ import net.minecraftforge.common.util.ForgeDirection; public class TileEntityPipeExhaust extends TileEntity implements IFluidConductor { - public HashMap nets = new HashMap(); + public IPipeNet[] nets = new IPipeNet[3]; + + public FluidType[] getSmokes() { + return new FluidType[] {Fluids.SMOKE, Fluids.SMOKE_LEADED, Fluids.SMOKE_POISON}; + } @Override public void updateEntity() { 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.nets.clear(); - - for(Entry entry : nets.entrySet()) { + for(int i = 0; i < 3; i++) nets[i] = null; + + for(FluidType type : getSmokes()) { + this.connect(type); - this.connect(entry.getKey()); - - if(this.getPipeNet(entry.getKey()) == null) { - this.setPipeNet(entry.getKey(), new PipeNet(entry.getKey()).joinLink(this)); + if(this.getPipeNet(type) == null) { + this.setPipeNet(type, new PipeNet(type).joinLink(this)); } } } @@ -59,10 +58,37 @@ 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(); + } + } + } + } + @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 type == Fluids.SMOKE || type == Fluids.SMOKE_LEADED || type == Fluids.SMOKE_POISON; + return dir != ForgeDirection.UNKNOWN && (type == Fluids.SMOKE || type == Fluids.SMOKE_LEADED || type == Fluids.SMOKE_POISON); } @Override @@ -72,11 +98,18 @@ public class TileEntityPipeExhaust extends TileEntity implements IFluidConductor @Override public IPipeNet getPipeNet(FluidType type) { - return nets.get(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) { - nets.put(type, network); + + if(type == Fluids.SMOKE) nets[0] = network; + if(type == Fluids.SMOKE_LEADED) nets[1] = network; + if(type == Fluids.SMOKE_POISON) nets[2] = network; } } diff --git a/src/main/resources/assets/hbm/lang/zh_CN.lang b/src/main/resources/assets/hbm/lang/zh_CN.lang index 8876e8c0f..7a3f443c8 100644 --- a/src/main/resources/assets/hbm/lang/zh_CN.lang +++ b/src/main/resources/assets/hbm/lang/zh_CN.lang @@ -313,57 +313,97 @@ book.starter.page18=v?r只是一个被困在"传声头像"的§o《一生一次 book_lore.author=By %s book_lore.test.name=测试 book_lore.test.author=那个家伙 +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=>你好,在我开始之前,让我澄清我不是同性恋。>做我>今天晚上>18>和我最好的朋友和我的父母出去玩了几天>我们已经是最好的朋友一年了>喝了点酒,玩了很多电子游戏,还点了一份披萨>我们玩得很开心>在晚上的某个时候,比如9点左右,他开了一个非常有趣的玩笑,我不记得了,但我知道这让我们俩都笑得很厉害>没有我想我用右手摸了摸他那半卷曲的黑发,然后叫他一个有趣的男孩>他脸红了>我意识到我很慌张>我们有点亲密>突然他吻了我,出于某种原因我又吻了他>我们做爱>拥抱在一起睡着了>半夜醒来时,他的头贴在我的胸部和颈部>感觉很好,但我不是同性恋 book_lore.test.page.2=他在我怀里睡着时,我正在打字。我怎么才能让我最好的朋友失望呢?我不想成为[编辑]/b/ book_lore.test.page.3=3 book_lore.test.page.4=4 -book_lore.test.page.5=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=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.2=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.3=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=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.2=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=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.2=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.3=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=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.2=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=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.2=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=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.2=syringe goes into slot %d book_lore.resignation_note.name=辞职信 book_lore.resignation_note.author=科斯马 +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=管理层昨天又对我们的部门进行裁员了。那群白痴要怪只能怪他们自己,我都不知道他们在那场惨败后还在期待什么。到底是谁他妈泄露了那种程度的信息? book_lore.resignation_note.page.2=我们损失了几百万,而且现在失业的还是爷。老子希望你们这帮混蛋最后能从你们的一堆问题中学到点教训然后给爷滚去自闭。 -book_lore.resignation_note.page.3=我周五不回来了。工资寄过来就行。 book_lore.memo_stocks.name=公司内部备忘录 -book_lore.memo_stocks.page.1=投资者报告 - $$最新的季度报告中提供的数据存在一些明显的差异。财政部所作出一些调整是明智的,因此不必有任何担忧。 +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=内部备忘录 +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=合同管理记录 - 法务部在与美国国防部后勤局的谈判中取得了突破。他们批准了450亿的联邦采购服务总署投资资金用于异变金属的采购与研究。 -book_lore.memo_schrab_gsa.page.2=就目前预期来看,这将至少产生40%的利润,更不必说以后行动所产生的利润,同时这将使我们未来有机会签订更多合同。鉴于此事的保密性质,所有财政证据都将为机密级别 book_lore.memo_schrab_rd.name=内部备忘录 +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=研发 - 目前我们主要生产方法是使用新型粒子加速器。然而,与产出量相比,能源成本高得惊人。 book_lore.memo_schrab_rd.page.2=然而,Schrabauer博士发现了一种全新的相互作用——暂称为“奇异轻子振荡”——该作用可以显著降低生产成本。通过一个目前未被完全理解的的过程,提供的电子被一种奇特的“魔力”转化为极高能量的光子。 book_lore.memo_schrab_rd.page.3=这是许多已明确的粒子转换定律的极端例外。但初步实验证明,这些质子先转变为上下夸克,最终形成了异变金属。奇怪的是,原型机中需要钨与少量异变金属合金化所得到的合金。 -book_lore.memo_schrab_rd.page.4=除此之外,还需要一个特殊的电容器用来抵消掉多余的正电荷。 book_lore.memo_schrab_nuke.name=研究报告 book_lore.memo_schrab_nuke.author=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=最近的调查使我们了解了核爆炸对材料造成的影响。多亏外界给我们的赠款,我们*意外地*测试了铀直接合成异变金属的理论。 book_lore.memo_schrab_nuke.page.2=而此前我们只在回旋加速器中制作出异变金属。但这次,我们在对Everwerpen的地下拍摄中,在该地点的铀矿石中发现了微量的异变金属。其附近所有的纯金属铀则都发生了裂变。 -book_lore.memo_schrab_nuke.page.3=因此,如果有足够多的铀矿石集中在核弹周围,甚至可能只需要一个富含裂变物质废料的脏弹,就有可能制造出质量大到可以被直接收集的异变金属。 +book_lore.bf_bomb_1.name=私人笔记 +book_lore.bf_bomb_1.author=M. 波特 +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. 波特 +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. 波特 +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. 波特 +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. 波特 +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... cannery.f1=[按F1键获取帮助] cannery.centrifuge=气体离心机 cannery.centrifuge.0=气体离心机可以使用通用流体管道传输流体。 @@ -394,7 +434,7 @@ cannery.firebox.0=燃烧室通过燃烧可燃物品产生热量。 cannery.firebox.1=它可以燃烧任何可燃物品,但更高质量的燃料如煤、焦炭和固体燃料燃烧时间更长,温度更高。 cannery.firebox.2=燃烧室顶部的铜触点可以传导热量。底部具有相同触点的机器可以通过放置在燃烧室顶部来接收热量。 cannery.firebox.3=如果热量没有用完,且热量缓冲器变满,燃烧室将暂停运行,以防止燃料浪费。 -cannery.firebox.4=一种这样的机器是斯特林发动机,它将热量直接转化为能量。 +cannery.firebox.4=一种这样的机器是斯特林发电机,它将热量直接转化为能量。 cannery.foundryChannel=铸造通道 cannery.foundryChannel.0=铸造通道用于将熔融材料从坩埚或储罐输送到模具中。 cannery.foundryChannel.1=通道可以通过从顶部(通过出口或直接连接坩埚)或从其他通道的侧面倾倒来接收材料。 @@ -412,7 +452,7 @@ cannery.silex.6=除了侧面的两个连接口之外,底部还有第三个隐 cannery.silex.7=每个配方都需要特定的激光类型。使用比所需类型更强的激光将更快地处理项目。 cannery.silex.8=一台FEL最多可以为5台SILEX供能。每个SILEX之间必须间隔一个方块。 cannery.stirling=斯特林发电机 -cannery.stirling.0=斯特林发动机使用来自外部的热能来产生能量。 +cannery.stirling.0=斯特林发电机使用来自外部的热能来产生能量。 cannery.stirling.1=它需要放置在发热机器的顶部,如燃烧室。 cannery.stirling.2=然而,它可以利用的热量有限,过旋转可能导致灾难性故障。 cannery.stirling.3=升级版可以在不损坏的情况下承受更多热量。 @@ -434,6 +474,8 @@ 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=强化煤液化 @@ -485,6 +527,7 @@ chem.NITAN=NITAN牌超级燃料混合 chem.NITRIC_ACID=硝酸生产 chem.OIL_SAND=沥青砂提取 chem.OSMIRIDIUM_DEATH=锇酸溶液生产 +chem.PC_ELECTROLYSIS=氯化钾电解 chem.PEROXIDE=过氧化氢生产 chem.PET=PET合成 chem.PETROIL_LEADED=含铅石油混合 @@ -589,10 +632,11 @@ container.machineBoiler=锅炉 container.machineCMB=CMB炼钢炉 container.machineCoal=火力发电机 container.machineCoker=焦化装置 +container.machineCompressor=压缩机 container.machineCrucible=坩埚 container.machineDiesel=柴油发电机 container.machineElectricBoiler=电锅炉 -container.machineFEL=FEL自由电子激光器 +container.machineFEL=FEL container.machineITER=聚变反应堆 container.machineLargeTurbine=工业汽轮机 container.machineLiquefactor=液化机 @@ -600,7 +644,7 @@ container.machineMixer=工业搅拌机 container.machineRefinery=炼油厂 container.machineSelenium=星型发动机 container.machineShredder=粉碎机 -container.machineSILEX=SILEX激光同位素分离室 +container.machineSILEX=激光同位素分离室 container.machineSolidifier=固化机 container.machineTurbine=汽轮机 container.machineTurbofan=涡扇发动机 @@ -911,6 +955,14 @@ 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_nuclear.name=大个子强森 +entity.entity_glyphid_scout.name=侦察异虫 entity.entity_ntm_fbi.name=FBI探员 entity.entity_ntm_radiation_blaze.name=核融元素 entity.hbm.entity_ntm_ufo.name=火星入侵者飞船 @@ -1130,8 +1182,13 @@ 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=煤汽油 @@ -1203,6 +1260,7 @@ hbmfluid.plasma_dt=氘-氚等离子体 hbmfluid.plasma_hd=氢-氘等离子体 hbmfluid.plasma_ht=氢-氚等离子体 hbmfluid.plasma_xm=氙-汞等离子体 +hbmfluid.potassium_chloride=氯化钾溶液 hbmfluid.puf6=六氟化钚 hbmfluid.radiosolvent=高性能溶剂 hbmfluid.reclaimed=再生油 @@ -1290,7 +1348,7 @@ hbmmat.lithium=锂 hbmmat.magnetizedtungsten=磁化钨 hbmmat.malachite=孔雀石 hbmmat.meteoriciron=陨铁 -hbmmat.mingrade=工业级铜 +hbmmat.mingrade=紫铜 hbmmat.neptunium237=镎-237 hbmmat.niobium=铌 hbmmat.obsidian=黑曜岩 @@ -1471,11 +1529,14 @@ 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=能量单元 @@ -1508,6 +1569,7 @@ 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毫米制导火箭炮系统火箭吊舱(白磷) @@ -1672,6 +1734,7 @@ 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.beta.name=Bata测试版功能 item.big_sword.name=大剑 item.billet_actinium.name=锕-227坯料 @@ -1818,7 +1881,7 @@ item.canister_ethanol.name=桶装乙醇 item.canister_fracksol.name=桶装压裂液 item.canister_fuel.name=桶装柴油 item.canister_fuel.desc=大家欢呼吧! -item.canister_full.name=容器: +item.canister_full.name=油桶: item.canister_gasoline.name=桶装含铅汽油 item.canister_gasoline.desc=铅就是朋友$让朋友进入你的血液$*上膛声*现在就做 item.canister_heatingoil.name=桶装燃油 @@ -2076,8 +2139,8 @@ 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_copper.name=紫铜线圈 +item.coil_copper_torus.name=紫铜环形线圈 item.coil_gold.name=金线圈 item.coil_gold_torus.name=金环形线圈 item.coil_magnetized_tungsten.name=4000K高温超导线圈 @@ -2254,6 +2317,8 @@ item.energy_core.name=临时能源核心 item.entanglement_kit.name=纠缠部件 item.entanglement_kit.desc=传送机制作零件$通过$铍增强型资源扫描仪实现尺寸转换。 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护腿 @@ -2340,7 +2405,7 @@ item.gadget_kit.name=小玩意 套件 item.gadget_wireing.name=线路 item.gas_biogas.name=沼气罐 item.gas_empty.name=空气罐 -item.gas_full.name=气体罐 +item.gas_full.name=气体罐: item.gas_lpg.name=液化石油气罐 item.gas_mask.name=防毒面具 item.gas_mask_filter.name=防毒面具过滤器 @@ -2609,7 +2674,7 @@ 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_copper.name=工业级铜锭 item.ingot_daffergon.name=达夫贡锭 item.ingot_desh.name=Desh锭 item.ingot_dineutronium.name=双聚中子态素锭 @@ -2656,7 +2721,7 @@ 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_red_copper.name=紫铜锭 item.ingot_reiium.name=雷恩锭 item.ingot_rubber.name=橡胶锭 item.ingot_saturnite.name=土星锭 @@ -3295,6 +3360,7 @@ item.plate_schrabidium.name=Sa326板 item.plate_steel.name=钢板 item.plate_titanium.name=钛板 item.polaroid.name=偏光片 +item.pollution_detector.name=污染探测器 item.powder_actinium.name=锕粉 item.powder_actinium_tiny.name=小撮锕粉 item.powder_advanced_alloy.name=高级合金粉 @@ -3455,7 +3521,7 @@ 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反应堆中浓缩度铀-235导向钍燃料棒 +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反应堆燃料棒 @@ -3792,12 +3858,16 @@ 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_50.name=大口径弹壳锻模 +item.stamp_9.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=铁质板锻模 @@ -4110,7 +4180,7 @@ rbmk.screen.rod=控制:%s rbmk.screen.temp=温度:%s rbmk.screen.xenon=氙:%s shape.billet=钢坯 -shape.blade=刀身 +shape.blade=扇叶 shape.blades=切碎机刀片 shape.block=块 shape.dust=粉末 @@ -4337,6 +4407,13 @@ 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_tantalium.name=钽电容 +tile.capacitor.desc=输入:顶部$输出:底部,通过电容总线 tile.charge_c4.name=炸药包 tile.charge_dynamite.name=定时炸弹 tile.charge_miner.name=定时采矿炸药 @@ -4543,6 +4620,7 @@ 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=等离子加热器 @@ -4574,6 +4652,8 @@ 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=页岩瓷砖 @@ -4668,6 +4748,7 @@ 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_controller.name=反应堆遥控模块 tile.machine_converter_he_rf.name=HE→RF转换器 @@ -4724,7 +4805,7 @@ tile.machine_radar.name=雷达 tile.machine_radgen.name=辐射能量发电机 tile.machine_radiolysis.name=放射性同位素热电机和辐射裂解室 tile.machine_reactor.name=增殖反应堆 -tile.machine_reactor_small.name=核反应堆 +tile.machine_reactor_small.name=研究型反应堆 tile.machine_refinery.name=炼油厂 tile.machine_reix_mainframe.name=Rei-X主机[开发中] tile.machine_rtg_blue.name=对流发电机 @@ -4744,7 +4825,7 @@ tile.machine_schrabidium_battery.name=Sa326蓄电池 tile.machine_schrabidium_transmutator.name=Sa326嬗变装置 tile.machine_selenium.name=星型发动机 tile.machine_shredder.name=粉碎机 -tile.machine_silex.name=激光同位素分离室 +tile.machine_silex.name=SILEX激光同位素分离室 tile.machine_siren.name=警报器 tile.machine_solar_boiler.name=太阳能锅炉 tile.machine_solidifier.name=工业固化机 @@ -4755,7 +4836,7 @@ 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_steel.name=重型斯特林发动机 +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_telelinker.name=炮塔ID管理器 @@ -4965,8 +5046,8 @@ 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.reinforced_laminate.name=强化夹层玻璃 +tile.reinforced_laminate_pane.name=强化夹层隔板 tile.rejuvinator.name=再生装置 tile.residue.name=云残留 tile.safe.name=保险箱 diff --git a/src/main/resources/assets/hbm/models/machines/chimney_brick.obj b/src/main/resources/assets/hbm/models/machines/chimney_brick.obj new file mode 100644 index 000000000..81e719e26 --- /dev/null +++ b/src/main/resources/assets/hbm/models/machines/chimney_brick.obj @@ -0,0 +1,704 @@ +# Blender v2.79 (sub 0) OBJ File: 'chimney_brick.blend' +# www.blender.org +o Plane +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 -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 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.500000 0.875000 0.375000 +v 1.500000 0.125000 0.375000 +v 1.500000 0.875000 -0.375000 +v 1.500000 0.125000 -0.375000 +v 1.375000 0.312500 0.187500 +v 1.375000 0.125000 0.375000 +v 1.375000 0.312500 -0.187500 +v 1.375000 0.125000 -0.375000 +v 1.375000 0.687500 -0.187500 +v 1.375000 0.875000 -0.375000 +v 1.375000 0.687500 0.187500 +v 1.375000 0.875000 0.375000 +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.375000 0.875000 -1.500000 +v 0.375000 0.125000 -1.500000 +v -0.375000 0.875000 -1.500000 +v -0.375000 0.125000 -1.500000 +v 0.187500 0.312500 -1.375000 +v 0.375000 0.125000 -1.375000 +v -0.187500 0.312500 -1.375000 +v -0.375000 0.125000 -1.375000 +v -0.187500 0.687500 -1.375000 +v -0.375000 0.875000 -1.375000 +v 0.187500 0.687500 -1.375000 +v 0.375000 0.875000 -1.375000 +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.500000 0.875000 -0.375000 +v -1.500000 0.125000 -0.375000 +v -1.500000 0.875000 0.375000 +v -1.500000 0.125000 0.375000 +v -1.375000 0.312500 -0.187500 +v -1.375000 0.125000 -0.375000 +v -1.375000 0.312500 0.187500 +v -1.375000 0.125000 0.375000 +v -1.375000 0.687500 0.187500 +v -1.375000 0.875000 0.375000 +v -1.375000 0.687500 -0.187500 +v -1.375000 0.875000 -0.375000 +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.375000 0.875000 1.500000 +v -0.375000 0.125000 1.500000 +v 0.375000 0.875000 1.500000 +v 0.375000 0.125000 1.500000 +v -0.187500 0.312500 1.375000 +v -0.375000 0.125000 1.375000 +v 0.187500 0.312500 1.375000 +v 0.375000 0.125000 1.375000 +v 0.187500 0.687500 1.375000 +v 0.375000 0.875000 1.375000 +v -0.187500 0.687500 1.375000 +v -0.375000 0.875000 1.375000 +v 0.000000 2.000000 -1.250000 +v -0.478354 2.000000 -1.154849 +v -0.883883 2.000000 -0.883883 +v -1.154849 2.000000 -0.478354 +v -1.250000 2.000000 0.000000 +v -1.154849 2.000000 0.478354 +v -0.883883 2.000000 0.883883 +v -0.478354 2.000000 1.154849 +v -0.000000 2.000000 1.250000 +v 0.478354 2.000000 1.154850 +v 0.883883 2.000000 0.883884 +v 1.154849 2.000000 0.478354 +v 1.250000 2.000000 -0.000000 +v 1.154849 2.000000 -0.478355 +v 0.883883 2.000000 -0.883884 +v 0.478354 2.000000 -1.154850 +v 0.000000 13.000000 -0.750000 +v -0.287013 13.000000 -0.692910 +v -0.530330 13.000000 -0.530330 +v -0.692910 13.000000 -0.287013 +v -0.750000 13.000000 0.000000 +v -0.692910 13.000000 0.287013 +v -0.530330 13.000000 0.530330 +v -0.287013 13.000000 0.692910 +v -0.000000 13.000000 0.750000 +v 0.287012 13.000000 0.692910 +v 0.530330 13.000000 0.530330 +v 0.692910 13.000000 0.287013 +v 0.750000 13.000000 -0.000000 +v 0.692910 13.000000 -0.287013 +v 0.530330 13.000000 -0.530330 +v 0.287012 13.000000 -0.692910 +v -0.000000 13.000000 -0.500000 +v -0.191342 13.000000 -0.461940 +v -0.353553 13.000000 -0.353553 +v -0.461940 13.000000 -0.191342 +v -0.500000 13.000000 0.000000 +v -0.461940 13.000000 0.191342 +v -0.353553 13.000000 0.353553 +v -0.191342 13.000000 0.461940 +v -0.000000 13.000000 0.500000 +v 0.191342 13.000000 0.461940 +v 0.353553 13.000000 0.353554 +v 0.461940 13.000000 0.191342 +v 0.500000 13.000000 -0.000000 +v 0.461940 13.000000 -0.191342 +v 0.353553 13.000000 -0.353554 +v 0.191341 13.000000 -0.461940 +v -0.000000 11.000000 -0.500000 +v -0.191342 11.000000 -0.461940 +v -0.353553 11.000000 -0.353553 +v -0.461940 11.000000 -0.191342 +v -0.500000 11.000000 0.000000 +v -0.461940 11.000000 0.191342 +v -0.353553 11.000000 0.353553 +v -0.191342 11.000000 0.461940 +v -0.000000 11.000000 0.500000 +v 0.191342 11.000000 0.461940 +v 0.353553 11.000000 0.353554 +v 0.461940 11.000000 0.191342 +v 0.500000 11.000000 -0.000000 +v 0.461940 11.000000 -0.191342 +v 0.353553 11.000000 -0.353554 +v 0.191341 11.000000 -0.461940 +vt 0.272727 0.000000 +vt 0.000000 0.265193 +vt 0.000000 0.000000 +vt 0.000000 0.441989 +vt 0.272727 0.707182 +vt 0.000000 0.707182 +vt 0.181818 0.895028 +vt 0.130682 0.911602 +vt 0.113636 0.895028 +vt 0.130682 0.955801 +vt 0.119318 0.922652 +vt 0.130682 0.922652 +vt 0.164773 0.922652 +vt 0.176136 0.955801 +vt 0.164773 0.955801 +vt 0.090909 0.906077 +vt 0.102273 0.972376 +vt 0.090909 0.972376 +vt 0.204545 0.972376 +vt 0.193182 0.906077 +vt 0.204545 0.906077 +vt 0.113636 0.983425 +vt 0.164773 0.966851 +vt 0.181818 0.983425 +vt 0.193182 0.972376 +vt 0.176136 0.922652 +vt 0.102273 0.906077 +vt 0.181818 0.883978 +vt 0.113636 0.883978 +vt 0.113636 0.994475 +vt 0.181818 0.994475 +vt 0.164773 0.911602 +vt 0.130682 0.966851 +vt 0.181818 0.895028 +vt 0.130682 0.911602 +vt 0.113636 0.895028 +vt 0.130682 0.955801 +vt 0.119318 0.922652 +vt 0.130682 0.922652 +vt 0.164773 0.922652 +vt 0.176136 0.955801 +vt 0.164773 0.955801 +vt 0.090909 0.906077 +vt 0.102273 0.972376 +vt 0.090909 0.972376 +vt 0.204545 0.972376 +vt 0.193182 0.906077 +vt 0.204545 0.906077 +vt 0.113636 0.983425 +vt 0.164773 0.966851 +vt 0.181818 0.983425 +vt 0.193182 0.972376 +vt 0.176136 0.922652 +vt 0.102273 0.906077 +vt 0.181818 0.883978 +vt 0.113636 0.883978 +vt 0.113636 0.994475 +vt 0.181818 0.994475 +vt 0.164773 0.911602 +vt 0.130682 0.966851 +vt 0.181818 0.895028 +vt 0.130682 0.911602 +vt 0.113636 0.895028 +vt 0.130682 0.955801 +vt 0.119318 0.922652 +vt 0.130682 0.922652 +vt 0.164773 0.922652 +vt 0.176136 0.955801 +vt 0.164773 0.955801 +vt 0.090909 0.906077 +vt 0.102273 0.972376 +vt 0.090909 0.972376 +vt 0.204545 0.972376 +vt 0.193182 0.906077 +vt 0.204545 0.906077 +vt 0.113636 0.983425 +vt 0.164773 0.966851 +vt 0.181818 0.983425 +vt 0.193182 0.972376 +vt 0.176136 0.922652 +vt 0.102273 0.906077 +vt 0.181818 0.883978 +vt 0.113636 0.883978 +vt 0.113636 0.994475 +vt 0.181818 0.994475 +vt 0.164773 0.911602 +vt 0.130682 0.966851 +vt 0.181818 0.895028 +vt 0.130682 0.911602 +vt 0.113636 0.895028 +vt 0.130682 0.955801 +vt 0.119318 0.922652 +vt 0.130682 0.922652 +vt 0.164773 0.922652 +vt 0.176136 0.955801 +vt 0.164773 0.955801 +vt 0.090909 0.906077 +vt 0.102273 0.972376 +vt 0.090909 0.972376 +vt 0.204545 0.972376 +vt 0.193182 0.906077 +vt 0.204545 0.906077 +vt 0.113636 0.983425 +vt 0.164773 0.966851 +vt 0.181818 0.983425 +vt 0.193182 0.972376 +vt 0.176136 0.922652 +vt 0.102273 0.906077 +vt 0.181818 0.883978 +vt 0.113636 0.883978 +vt 0.113636 0.994475 +vt 0.181818 0.994475 +vt 0.164773 0.911602 +vt 0.130682 0.966851 +vt 0.272727 0.265193 +vt 0.102273 0.276243 +vt 0.102273 0.342541 +vt 0.272727 0.441989 +vt 0.102273 0.342541 +vt 0.272727 0.441989 +vt -0.000000 0.441989 +vt 0.272727 0.265193 +vt 0.102273 0.276243 +vt -0.000000 0.265193 +vt 0.170455 0.342541 +vt 0.170455 0.276243 +vt 0.170455 0.342541 +vt 0.102273 0.342541 +vt 0.272727 0.441989 +vt -0.000000 0.441989 +vt 0.272727 0.265193 +vt 0.170455 0.342541 +vt 0.170455 0.276243 +vt 0.102273 0.276243 +vt -0.000000 0.265193 +vt 0.272727 0.265193 +vt 0.102273 0.276243 +vt -0.000000 0.265193 +vt 0.170455 0.342541 +vt 0.272727 0.441989 +vt 0.102273 0.342541 +vt -0.000000 0.441989 +vt 0.630682 0.972376 +vt 0.607955 1.000000 +vt 0.602273 0.972376 +vt 0.647727 0.972376 +vt 0.670455 1.000000 +vt 0.653409 1.000000 +vt 0.721591 0.972376 +vt 0.698864 1.000000 +vt 0.693182 0.972376 +vt 0.767045 0.972376 +vt 0.744318 1.000000 +vt 0.738636 0.972376 +vt 0.812500 0.972376 +vt 0.789773 1.000000 +vt 0.784091 0.972376 +vt 0.857955 0.972376 +vt 0.835227 1.000000 +vt 0.829545 0.972376 +vt 0.903409 0.972376 +vt 0.880682 1.000000 +vt 0.875000 0.972376 +vt 0.948864 0.972376 +vt 0.926136 1.000000 +vt 0.920455 0.972376 +vt 0.994318 0.972376 +vt 0.971591 1.000000 +vt 0.965909 0.972376 +vt 0.312500 0.972376 +vt 0.289773 1.000000 +vt 0.284091 0.972376 +vt 0.329545 0.972376 +vt 0.352273 1.000000 +vt 0.335227 1.000000 +vt 0.375000 0.972376 +vt 0.397727 1.000000 +vt 0.380682 1.000000 +vt 0.420455 0.972376 +vt 0.443182 1.000000 +vt 0.426136 1.000000 +vt 0.465909 0.972376 +vt 0.488636 1.000000 +vt 0.471591 1.000000 +vt 0.511364 0.972376 +vt 0.534091 1.000000 +vt 0.517045 1.000000 +vt 0.585227 0.972376 +vt 0.562500 1.000000 +vt 0.556818 0.972376 +vt 0.090053 0.936803 +vt 0.070717 0.964941 +vt 0.036583 0.971543 +vt 0.119318 0.955801 +vt 0.119318 0.955801 +vt 0.119318 0.955801 +vt 0.119318 0.955801 +vt 0.170455 0.276243 +vt 0.170455 0.276243 +vt 0.625000 1.000000 +vt 0.676136 0.972376 +vt 0.715909 1.000000 +vt 0.761364 1.000000 +vt 0.806818 1.000000 +vt 0.852273 1.000000 +vt 0.897727 1.000000 +vt 0.943182 1.000000 +vt 0.988636 1.000000 +vt 0.306818 1.000000 +vt 0.357955 0.972376 +vt 0.403409 0.972376 +vt 0.448864 0.972376 +vt 0.494318 0.972376 +vt 0.539773 0.972376 +vt 0.579545 1.000000 +vt 0.020192 0.964941 +vt 0.007646 0.952742 +vt 0.000856 0.936803 +vt 0.000856 0.919551 +vt 0.007646 0.903612 +vt 0.020192 0.891413 +vt 0.036583 0.884810 +vt 0.054326 0.884810 +vt 0.070717 0.891413 +vt 0.083263 0.903612 +vt 0.090053 0.919551 +vt 0.083263 0.952742 +vt 0.054326 0.971543 +vt 0.681818 -0.000000 +vt 0.636364 -0.000000 +vt 0.727273 -0.000000 +vt 0.772727 -0.000000 +vt 0.818182 0.000000 +vt 0.863636 0.000000 +vt 0.909091 0.000000 +vt 0.954545 0.000000 +vt 1.000000 -0.000000 +vt 0.318182 0.000000 +vt 0.272727 0.000000 +vt 0.363636 0.000000 +vt 0.409091 -0.000000 +vt 0.454545 -0.000000 +vt 0.500000 0.000000 +vt 0.545455 0.000000 +vt 0.590909 0.000000 +vt 0.102273 0.707182 +vt 0.085227 0.883978 +vt 0.085227 0.707182 +vt 0.255682 0.707182 +vt 0.238636 0.883978 +vt 0.238636 0.707182 +vt 0.119318 0.707182 +vt 0.102273 0.883978 +vt 0.272727 0.707182 +vt 0.255682 0.883978 +vt 0.136364 0.707182 +vt 0.119318 0.883978 +vt 0.017045 0.707182 +vt 0.000000 0.883978 +vt -0.000000 0.707182 +vt 0.153409 0.707182 +vt 0.136364 0.883978 +vt 0.034091 0.707182 +vt 0.017045 0.883978 +vt 0.170455 0.707182 +vt 0.153409 0.883978 +vt 0.051136 0.707182 +vt 0.034091 0.883978 +vt 0.187500 0.707182 +vt 0.170455 0.883978 +vt 0.068182 0.707182 +vt 0.051136 0.883978 +vt 0.221591 0.707182 +vt 0.204545 0.883978 +vt 0.204545 0.707182 +vt 0.187500 0.883978 +vt 0.068182 0.883978 +vt 0.221591 0.883978 +vt 0.272727 0.883978 +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 -1.0000 0.0000 0.0000 +vn 0.9229 0.0454 -0.3823 +vn 0.9990 0.0454 0.0000 +vn 0.7064 0.0454 -0.7064 +vn 0.3823 0.0454 -0.9229 +vn -0.0000 0.0454 -0.9990 +vn -0.3823 0.0454 -0.9229 +vn -0.7064 0.0454 -0.7064 +vn -0.9229 0.0454 -0.3823 +vn -0.9990 0.0454 0.0000 +vn -0.9229 0.0454 0.3823 +vn -0.7064 0.0454 0.7064 +vn -0.3823 0.0454 0.9229 +vn 0.0000 0.0454 0.9990 +vn 0.3823 0.0454 0.9229 +vn 0.7064 0.0454 0.7064 +vn 0.9229 0.0454 0.3823 +vn -0.7071 0.0000 -0.7071 +vn -0.3827 0.0000 -0.9239 +vn 0.9239 0.0000 0.3827 +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.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 +s off +f 3/1/1 2/2/1 1/3/1 +f 6/4/2 7/5/2 5/6/2 +f 20/7/3 17/8/3 18/9/3 +f 9/10/4 17/11/4 10/12/4 +f 12/13/5 21/14/5 11/15/5 +f 14/16/5 24/17/5 13/18/5 +f 10/12/3 11/15/3 9/10/3 +f 15/19/4 20/20/4 16/21/4 +f 24/22/3 21/23/3 22/24/3 +f 22/25/3 19/26/3 20/20/3 +f 17/11/3 24/17/3 18/27/3 +f 16/28/2 18/9/2 14/29/2 +f 13/30/1 22/24/1 15/31/1 +f 10/12/1 19/32/1 12/13/1 +f 11/15/2 23/33/2 9/10/2 +f 36/34/5 33/35/5 34/36/5 +f 25/37/3 33/38/3 26/39/3 +f 28/40/6 37/41/6 27/42/6 +f 30/43/6 40/44/6 29/45/6 +f 26/39/5 27/42/5 25/37/5 +f 31/46/3 36/47/3 32/48/3 +f 40/49/5 37/50/5 38/51/5 +f 38/52/5 35/53/5 36/47/5 +f 33/38/5 40/44/5 34/54/5 +f 32/55/2 34/36/2 30/56/2 +f 29/57/1 38/51/1 31/58/1 +f 26/39/1 35/59/1 28/40/1 +f 27/42/2 39/60/2 25/37/2 +f 52/61/6 49/62/6 50/63/6 +f 41/64/5 49/65/5 42/66/5 +f 44/67/4 53/68/4 43/69/4 +f 46/70/4 56/71/4 45/72/4 +f 42/66/6 43/69/6 41/64/6 +f 47/73/5 52/74/5 48/75/5 +f 56/76/6 53/77/6 54/78/6 +f 54/79/6 51/80/6 52/74/6 +f 49/65/6 56/71/6 50/81/6 +f 48/82/2 50/63/2 46/83/2 +f 45/84/1 54/78/1 47/85/1 +f 42/66/1 51/86/1 44/67/1 +f 43/69/2 55/87/2 41/64/2 +f 68/88/4 65/89/4 66/90/4 +f 57/91/6 65/92/6 58/93/6 +f 60/94/3 69/95/3 59/96/3 +f 62/97/3 72/98/3 61/99/3 +f 58/93/4 59/96/4 57/91/4 +f 63/100/6 68/101/6 64/102/6 +f 72/103/4 69/104/4 70/105/4 +f 70/106/4 67/107/4 68/101/4 +f 65/92/4 72/98/4 66/108/4 +f 64/109/2 66/90/2 62/110/2 +f 61/111/1 70/105/1 63/112/1 +f 58/93/1 67/113/1 60/94/1 +f 59/96/2 71/114/2 57/91/2 +f 4/115/3 14/116/3 2/2/3 +f 13/117/3 8/118/3 6/4/3 +f 45/119/6 5/120/6 7/121/6 +f 1/122/6 46/123/6 3/124/6 +f 45/119/6 3/124/6 46/123/6 +f 1/122/6 47/125/6 48/126/6 +f 13/117/3 2/2/3 14/116/3 +f 15/127/3 4/115/3 8/118/3 +f 29/128/5 7/129/5 8/130/5 +f 3/131/5 31/132/5 32/133/5 +f 3/131/5 30/134/5 4/135/5 +f 29/128/5 4/135/5 30/134/5 +f 2/136/4 62/137/4 1/138/4 +f 63/139/4 2/136/4 6/140/4 +f 61/141/4 6/140/4 5/142/4 +f 61/141/4 1/138/4 62/137/4 +f 101/143/2 116/144/2 100/145/2 +f 101/146/2 118/147/2 117/148/2 +f 103/149/2 118/150/2 102/151/2 +f 104/152/2 119/153/2 103/154/2 +f 89/155/2 120/156/2 104/157/2 +f 90/158/2 105/159/2 89/160/2 +f 91/161/2 106/162/2 90/163/2 +f 92/164/2 107/165/2 91/166/2 +f 93/167/2 108/168/2 92/169/2 +f 94/170/2 109/171/2 93/172/2 +f 94/173/2 111/174/2 110/175/2 +f 95/176/2 112/177/2 111/178/2 +f 96/179/2 113/180/2 112/181/2 +f 97/182/2 114/183/2 113/184/2 +f 98/185/2 115/186/2 114/187/2 +f 100/188/2 115/189/2 99/190/2 +f 133/191/2 135/192/2 121/193/2 +f 3/1/1 4/115/1 2/2/1 +f 6/4/2 8/118/2 7/5/2 +f 20/7/3 19/32/3 17/8/3 +f 9/10/4 23/194/4 17/11/4 +f 12/13/5 19/26/5 21/14/5 +f 14/16/5 18/27/5 24/17/5 +f 10/12/3 12/13/3 11/15/3 +f 15/19/4 22/25/4 20/20/4 +f 24/22/3 23/33/3 21/23/3 +f 22/25/3 21/14/3 19/26/3 +f 17/11/3 23/194/3 24/17/3 +f 16/28/2 20/7/2 18/9/2 +f 13/30/1 24/22/1 22/24/1 +f 10/12/1 17/8/1 19/32/1 +f 11/15/2 21/23/2 23/33/2 +f 36/34/5 35/59/5 33/35/5 +f 25/37/3 39/195/3 33/38/3 +f 28/40/6 35/53/6 37/41/6 +f 30/43/6 34/54/6 40/44/6 +f 26/39/5 28/40/5 27/42/5 +f 31/46/3 38/52/3 36/47/3 +f 40/49/5 39/60/5 37/50/5 +f 38/52/5 37/41/5 35/53/5 +f 33/38/5 39/195/5 40/44/5 +f 32/55/2 36/34/2 34/36/2 +f 29/57/1 40/49/1 38/51/1 +f 26/39/1 33/35/1 35/59/1 +f 27/42/2 37/50/2 39/60/2 +f 52/61/6 51/86/6 49/62/6 +f 41/64/5 55/196/5 49/65/5 +f 44/67/4 51/80/4 53/68/4 +f 46/70/4 50/81/4 56/71/4 +f 42/66/6 44/67/6 43/69/6 +f 47/73/5 54/79/5 52/74/5 +f 56/76/6 55/87/6 53/77/6 +f 54/79/6 53/68/6 51/80/6 +f 49/65/6 55/196/6 56/71/6 +f 48/82/2 52/61/2 50/63/2 +f 45/84/1 56/76/1 54/78/1 +f 42/66/1 49/62/1 51/86/1 +f 43/69/2 53/77/2 55/87/2 +f 68/88/4 67/113/4 65/89/4 +f 57/91/6 71/197/6 65/92/6 +f 60/94/3 67/107/3 69/95/3 +f 62/97/3 66/108/3 72/98/3 +f 58/93/4 60/94/4 59/96/4 +f 63/100/6 70/106/6 68/101/6 +f 72/103/4 71/114/4 69/104/4 +f 70/106/4 69/95/4 67/107/4 +f 65/92/4 71/197/4 72/98/4 +f 64/109/2 68/88/2 66/90/2 +f 61/111/1 72/103/1 70/105/1 +f 58/93/1 65/89/1 67/113/1 +f 59/96/2 69/104/2 71/114/2 +f 4/115/3 16/198/3 14/116/3 +f 13/117/3 15/127/3 8/118/3 +f 45/119/6 47/125/6 5/120/6 +f 1/122/6 48/126/6 46/123/6 +f 45/119/6 7/121/6 3/124/6 +f 1/122/6 5/120/6 47/125/6 +f 13/117/3 6/4/3 2/2/3 +f 15/127/3 16/198/3 4/115/3 +f 29/128/5 31/132/5 7/129/5 +f 3/131/5 7/129/5 31/132/5 +f 3/131/5 32/133/5 30/134/5 +f 29/128/5 8/130/5 4/135/5 +f 2/136/4 64/199/4 62/137/4 +f 63/139/4 64/199/4 2/136/4 +f 61/141/4 63/139/4 6/140/4 +f 61/141/4 5/142/4 1/138/4 +f 101/143/2 117/200/2 116/144/2 +f 101/146/2 102/201/2 118/147/2 +f 103/149/2 119/202/2 118/150/2 +f 104/152/2 120/203/2 119/153/2 +f 89/155/2 105/204/2 120/156/2 +f 90/158/2 106/205/2 105/159/2 +f 91/161/2 107/206/2 106/162/2 +f 92/164/2 108/207/2 107/165/2 +f 93/167/2 109/208/2 108/168/2 +f 94/170/2 110/209/2 109/171/2 +f 94/173/2 95/210/2 111/174/2 +f 95/176/2 96/211/2 112/177/2 +f 96/179/2 97/212/2 113/180/2 +f 97/182/2 98/213/2 114/183/2 +f 98/185/2 99/214/2 115/186/2 +f 100/188/2 116/215/2 115/189/2 +f 121/193/2 122/216/2 123/217/2 +f 123/217/2 124/218/2 125/219/2 +f 125/219/2 126/220/2 127/221/2 +f 127/221/2 128/222/2 129/223/2 +f 129/223/2 130/224/2 131/225/2 +f 131/225/2 132/226/2 133/191/2 +f 133/191/2 134/227/2 135/192/2 +f 135/192/2 136/228/2 121/193/2 +f 121/193/2 123/217/2 125/219/2 +f 125/219/2 127/221/2 121/193/2 +f 127/221/2 129/223/2 121/193/2 +f 129/223/2 131/225/2 121/193/2 +f 131/225/2 133/191/2 121/193/2 +s 1 +f 86/229/7 101/146/8 85/230/8 +f 87/231/9 102/151/7 86/229/7 +f 88/232/10 103/154/9 87/231/9 +f 73/233/11 104/157/10 88/232/10 +f 74/234/12 89/160/11 73/233/11 +f 75/235/13 90/163/12 74/234/12 +f 76/236/14 91/166/13 75/235/13 +f 77/237/15 92/169/14 76/236/14 +f 78/238/16 93/172/15 77/239/15 +f 79/240/17 94/173/16 78/238/16 +f 80/241/18 95/176/17 79/240/17 +f 81/242/19 96/179/18 80/241/18 +f 82/243/20 97/182/19 81/242/19 +f 83/244/21 98/185/20 82/243/20 +f 84/245/22 99/190/21 83/244/21 +f 85/230/8 100/145/22 84/245/22 +f 115/246/23 130/247/24 114/248/24 +f 108/249/25 123/250/26 107/251/26 +f 116/252/27 131/253/23 115/246/23 +f 109/254/3 124/255/25 108/249/25 +f 117/256/6 132/257/27 116/252/27 +f 110/258/28 125/259/3 109/260/3 +f 118/261/29 133/262/6 117/256/6 +f 111/263/30 126/264/28 110/258/28 +f 119/265/31 134/266/29 118/261/29 +f 112/267/32 127/268/30 111/263/30 +f 120/269/33 135/270/31 119/265/31 +f 113/271/5 128/272/32 112/267/32 +f 106/273/34 121/274/4 105/275/4 +f 105/275/4 136/276/33 120/269/33 +f 114/248/24 129/277/5 113/271/5 +f 107/251/26 122/278/34 106/273/34 +f 86/229/7 102/201/7 101/146/8 +f 87/231/9 103/149/9 102/151/7 +f 88/232/10 104/152/10 103/154/9 +f 73/233/11 89/155/11 104/157/10 +f 74/234/12 90/158/12 89/160/11 +f 75/235/13 91/161/13 90/163/12 +f 76/236/14 92/164/14 91/166/13 +f 77/237/15 93/167/15 92/169/14 +f 78/238/16 94/170/16 93/172/15 +f 79/240/17 95/210/17 94/173/16 +f 80/241/18 96/211/18 95/176/17 +f 81/242/19 97/212/19 96/179/18 +f 82/243/20 98/213/20 97/182/19 +f 83/244/21 99/214/21 98/185/20 +f 84/245/22 100/188/22 99/190/21 +f 85/230/8 101/143/8 100/145/22 +f 115/246/23 131/253/23 130/247/24 +f 108/249/25 124/255/25 123/250/26 +f 116/252/27 132/257/27 131/253/23 +f 109/254/3 125/279/3 124/255/25 +f 117/256/6 133/262/6 132/257/27 +f 110/258/28 126/264/28 125/259/3 +f 118/261/29 134/266/29 133/262/6 +f 111/263/30 127/268/30 126/264/28 +f 119/265/31 135/270/31 134/266/29 +f 112/267/32 128/272/32 127/268/30 +f 120/269/33 136/276/33 135/270/31 +f 113/271/5 129/277/5 128/272/32 +f 106/273/34 122/278/34 121/274/4 +f 105/275/4 121/274/4 136/276/33 +f 114/248/24 130/247/24 129/277/5 +f 107/251/26 123/250/26 122/278/34 diff --git a/src/main/resources/assets/hbm/textures/models/machines/chimney_brick.png b/src/main/resources/assets/hbm/textures/models/machines/chimney_brick.png new file mode 100644 index 0000000000000000000000000000000000000000..104edc2b474344137532286a9768d5bac2628a7d GIT binary patch literal 4794 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 NRltw^dDb84{{Va^TI>J- literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/sounds/block/hornFarSingle.ogg b/src/main/resources/assets/hbm/sounds/block/hornFarSingle.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d77e3f57edc3423c439592ac7bcebc83708919c8 GIT binary patch literal 68543 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˞D0pC&_#J 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ξ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 G;Qs-;_7n>M literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/sounds/block/hornNearDual.ogg b/src/main/resources/assets/hbm/sounds/block/hornNearDual.ogg new file mode 100644 index 0000000000000000000000000000000000000000..26c0309546222e89fd619ca3d833a3de117cc000 GIT binary patch literal 210065 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%0ADvgQ2UjslCf5pY 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

    IjH-Q^e?Z2CA`)F-YY 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 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/sounds/block/hornNearSingle.ogg b/src/main/resources/assets/hbm/sounds/block/hornNearSingle.ogg new file mode 100644 index 0000000000000000000000000000000000000000..5a66bc414631ff72921d9d46adc737ce108efede GIT binary patch literal 121810 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 JF6*2UngI9tfII*I literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/armor/envsuit_chest.png b/src/main/resources/assets/hbm/textures/armor/envsuit_chest.png new file mode 100644 index 0000000000000000000000000000000000000000..f6bbbf97ee21f5665314a358461b98962afd9f5f GIT binary patch literal 645 zcmeAS@N?(olHy`uVBq!ia0vp^F+i-t!3HE>oV`C2NU;<ji-xa zNJit^*#`>`D+stw@5%BkI)Bi%;*!HL*&h?cSahFE;CjSo^GcEZu5n(Q%!gw_Zczdm z?m^#TB{*4reBOI2VNrtXo~R9XUw6N|9?zq3?4{2luDe^@H@v#+yRWWLKIr`=t84ey znXG-i{Py#ZbEjZHcaAb6AruZ@P!YH?5q3BC92k4%v%%0$FA|% zC#-xu!!?O{+{bc`oDaI@5KwT&;NQCP@831P@EzFl_j$>qCpG7|rp#ZckbN@5O*Sto zz*3Ph_~6R-4FZZ6tCP%+rE1lM8M;q1dbre5;;{F=4_^Ci4CUE5EUGnh=QMLBYjP)) zKHDMnqCoKSvLhC3r}XmX{@^t~B40k0O-^ygF~gb3XU=9sX-sivNq0j+X`$7chBxMK z*%MhW@b&%6V2RZt?Z(PYP!ybb<64~8JBi|8&HVD*SNgASX$Qal&n*-*L-62Ctmx*Q zI*YCQYp>6{@m}xl{bw?MvPV2~qj%YVW1dj@tln{oRb=Uk$Il9P$t_)6=NWXq@bj%X zho|!$E8wnu{-CrxG>-VEF-DjP1S5`AI{9#(qwod%#lh@_I Pbj9H5>gTe~DWM4fxced2 literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/armor/envsuit_helmet.png b/src/main/resources/assets/hbm/textures/armor/envsuit_helmet.png new file mode 100644 index 0000000000000000000000000000000000000000..46ef3623775a1d61860095ab098682b7d5a2e95c GIT binary patch literal 701 zcmV;u0z&Iw9ntSHjb1v?9foyU+P&y`%!0;;8hdF$z#h$8(um}<` zfdot-0TW2zX$7hqTnpfnhp(IS>*R0k-9BT;g`#s5d9#|Va<3csgTr8Dt`P?SDphGu zbQURub|;^BD={R5Rve(n%3ZH1tNf?)oQE+=-E-SLV*C_4fiLeN6afTD*t=$2yI71Tj4JfF-X45`}gU{ zp#6-fo}i7K8vM_Nq4rk{2S9Rx_&fE8VWbymH~rlGr13*bMO#pF346B(wK?gLcFlmR zi=bYT_WXIdnc1#obrID4fc(+9pV{vAx&c=gL8%6kR<9P`UHT~nAEQ(64AwzM=zgFq zZWWWJU}^|BSFIdq$N?0?4xgQ(Ca{u@<)su;Fn`E&iIIM5LHuFqn}&VvMs zJ96dTHPlWhMMe-8Vgtyr%qyNVZs$3V;+45odR|NfIe=WCC`;JQnuC@QL^IZ$8Y^1_ zr4%P*>|&-^sU)3ZjJ%Q4rQ^rscEln`zyuN~u96O|e`4FQ2of-X1d^{}xD;u*S2OJ~ z4{7%-65P8={bJ>aN6~)nP3okWTbM2yU#=Zu{hQ+1up}*D0tuKv0w$1v2_#?w379|v j*R2L;bfRP|f&~5mn>6wK-p{rv00000NkvXXu0mjfQae4o literal 0 HcmV?d00001 diff --git a/src/main/resources/assets/hbm/textures/armor/envsuit_leg.png b/src/main/resources/assets/hbm/textures/armor/envsuit_leg.png new file mode 100644 index 0000000000000000000000000000000000000000..02d1d631e3b64c251cef97260ab7e632feeb8917 GIT binary patch literal 548 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 literal 3166 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 Date: Fri, 4 Aug 2023 15:01:58 +0200 Subject: [PATCH 285/285] mitty! --- .../inventory/gui/GUIElectrolyserMetal.java | 43 + src/main/java/com/hbm/items/ModItems.java | 22 + .../com/hbm/items/armor/ArmorEnvsuit.java | 86 + .../java/com/hbm/main/ResourceManager.java | 7 + .../com/hbm/render/model/ModelArmorBase.java | 30 +- .../hbm/render/model/ModelArmorEnvsuit.java | 80 + .../machine/TileEntityElectrolyser.java | 154 +- src/main/resources/assets/hbm/lang/en_US.lang | 4 +- .../assets/hbm/models/armor/envsuit.obj | 3595 +++++++++++++++++ .../assets/hbm/textures/armor/envsuit_arm.png | Bin 314 -> 384 bytes .../hbm/textures/armor/envsuit_chest.png | Bin 645 -> 936 bytes .../hbm/textures/armor/envsuit_helmet.png | Bin 701 -> 999 bytes .../assets/hbm/textures/armor/envsuit_leg.png | Bin 548 -> 636 bytes 13 files changed, 4000 insertions(+), 21 deletions(-) create mode 100644 src/main/java/com/hbm/items/armor/ArmorEnvsuit.java create mode 100644 src/main/java/com/hbm/render/model/ModelArmorEnvsuit.java create mode 100644 src/main/resources/assets/hbm/models/armor/envsuit.obj diff --git a/src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java index e63e67df2..b132811e1 100644 --- a/src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java +++ b/src/main/java/com/hbm/inventory/gui/GUIElectrolyserMetal.java @@ -1,18 +1,24 @@ package com.hbm.inventory.gui; +import java.awt.Color; + +import org.lwjgl.input.Keyboard; 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.tileentity.machine.TileEntityElectrolyser; +import com.hbm.util.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 GUIElectrolyserMetal extends GuiInfoContainer { @@ -34,6 +40,18 @@ public class GUIElectrolyserMetal extends GuiInfoContainer { electrolyser.tanks[3].renderTankInfo(this, mouseX, mouseY, guiLeft + 36, guiTop + 18, 16, 52); + if(electrolyser.leftStack != null) { + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 58, guiTop + 18, 34, 42, mouseX, mouseY, EnumChatFormatting.YELLOW + I18nUtil.resolveKey(electrolyser.leftStack.material.getUnlocalizedName()) + ": " + Mats.formatAmount(electrolyser.leftStack.amount, Keyboard.isKeyDown(Keyboard.KEY_LSHIFT))); + } else { + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 58, guiTop + 18, 34, 42, mouseX, mouseY, EnumChatFormatting.RED + "Empty"); + } + + if(electrolyser.rightStack != null) { + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 96, guiTop + 18, 34, 42, mouseX, mouseY, EnumChatFormatting.YELLOW + I18nUtil.resolveKey(electrolyser.rightStack.material.getUnlocalizedName()) + ": " + Mats.formatAmount(electrolyser.rightStack.amount, Keyboard.isKeyDown(Keyboard.KEY_LSHIFT))); + } else { + this.drawCustomInfoStat(mouseX, mouseY, guiLeft + 96, guiTop + 18, 34, 42, mouseX, mouseY, EnumChatFormatting.RED + "Empty"); + } + this.drawElectricityInfo(this, mouseX, mouseY, guiLeft + 186, guiTop + 18, 16, 89, electrolyser.power, electrolyser.maxPower); } @@ -61,7 +79,32 @@ public class GUIElectrolyserMetal 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(electrolyser.leftStack != null) { + int p = electrolyser.leftStack.amount * 42 / electrolyser.maxMaterial; + Color color = new Color(electrolyser.leftStack.material.moltenColor); + GL11.glColor3f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F); + drawTexturedModalRect(guiLeft + 58, guiTop + 60 - p, 210, 131 - p, 34, p); + } + + if(electrolyser.rightStack != null) { + int p = electrolyser.rightStack.amount * 42 / electrolyser.maxMaterial; + Color color = new Color(electrolyser.rightStack.material.moltenColor); + GL11.glColor3f(color.getRed() / 255F, color.getGreen() / 255F, color.getBlue() / 255F); + drawTexturedModalRect(guiLeft + 96, guiTop + 60 - p, 210, 131 - p, 34, p); + } + GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F); + + int p = (int) (electrolyser.power * 89 / electrolyser.maxPower); + drawTexturedModalRect(guiLeft + 186, guiTop + 107 - p, 210, 89 - p, 16, p); + + if(electrolyser.power >= electrolyser.usage) + drawTexturedModalRect(guiLeft + 190, guiTop + 4, 226, 25, 9, 12); + + int o = electrolyser.progressOre * 26 / electrolyser.processOreTime; + drawTexturedModalRect(guiLeft + 7, guiTop + 71 - o, 226, 25 - o, 22, o); + electrolyser.tanks[3].renderTank(guiLeft + 36, guiTop + 70, this.zLevel, 16, 52); } } diff --git a/src/main/java/com/hbm/items/ModItems.java b/src/main/java/com/hbm/items/ModItems.java index eeb17ddfd..bf30755ad 100644 --- a/src/main/java/com/hbm/items/ModItems.java +++ b/src/main/java/com/hbm/items/ModItems.java @@ -1968,6 +1968,10 @@ public class ModItems { 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; @@ -4860,6 +4864,20 @@ public class ModItems { 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", 1000000, 10000, 2500, 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.75F) + .addResistance("monoxide", 0F) + .addResistance("onFire", 0F) + .hides(EnumPlayerPart.HAT) + .setUnlocalizedName("envsuit_helmet").setTextureName(RefStrings.MODID + ":hev_helmet"); + envsuit_plate = new ArmorEnvsuit(aMatEnv, 1, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 2500, 0).cloneStats((ArmorFSB) envsuit_helmet).setUnlocalizedName("envsuit_plate").setTextureName(RefStrings.MODID + ":hev_plate"); + envsuit_legs = new ArmorEnvsuit(aMatEnv, 2, RefStrings.MODID + ":textures/armor/starmetal_2.png", 1000000, 10000, 2500, 0).cloneStats((ArmorFSB) envsuit_helmet).setUnlocalizedName("envsuit_legs").setTextureName(RefStrings.MODID + ":hev_legs"); + envsuit_boots = new ArmorEnvsuit(aMatEnv, 3, RefStrings.MODID + ":textures/armor/starmetal_1.png", 1000000, 10000, 2500, 0).cloneStats((ArmorFSB) envsuit_helmet).setUnlocalizedName("envsuit_boots").setTextureName(RefStrings.MODID + ":hev_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) @@ -7792,6 +7810,10 @@ public class ModItems { 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()); diff --git a/src/main/java/com/hbm/items/armor/ArmorEnvsuit.java b/src/main/java/com/hbm/items/armor/ArmorEnvsuit.java new file mode 100644 index 000000000..158ab3059 --- /dev/null +++ b/src/main/java/com/hbm/items/armor/ArmorEnvsuit.java @@ -0,0 +1,86 @@ +package com.hbm.items.armor; + +import java.util.UUID; + +import com.google.common.collect.Multimap; +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; +import net.minecraft.entity.EntityLivingBase; +import net.minecraft.entity.SharedMonsterAttributes; +import net.minecraft.entity.ai.attributes.AttributeModifier; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.item.ItemStack; +import net.minecraft.potion.Potion; +import net.minecraft.potion.PotionEffect; +import net.minecraft.util.Vec3; +import net.minecraft.world.World; + +public class ArmorEnvsuit extends ArmorFSBPowered { + + public ArmorEnvsuit(ArmorMaterial material, int slot, String texture, long maxPower, long chargeRate, long consumption, long drain) { + super(material, slot, texture, maxPower, chargeRate, consumption, drain); + } + + @SideOnly(Side.CLIENT) + ModelArmorEnvsuit[] models; + + @Override + @SideOnly(Side.CLIENT) + public ModelBiped getArmorModel(EntityLivingBase entityLiving, ItemStack itemStack, int armorSlot) { + + if(models == null) { + models = new ModelArmorEnvsuit[4]; + + for(int i = 0; i < 4; i++) + models[i] = new ModelArmorEnvsuit(i); + } + + 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; + + /// SPEED /// + 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()) { + + player.setAir(300); + + player.addPotionEffect(new PotionEffect(Potion.nightVision.id, 15 * 20, 0)); + + double mo = 0.1 * player.moveForward; + 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; + } else { + if(player.isPotionActive(Potion.nightVision.id) && player.getActivePotionEffect(Potion.nightVision).getDuration() > 15 * 20) { + player.removePotionEffect(Potion.nightVision.id); + } + } + } + } +} diff --git a/src/main/java/com/hbm/main/ResourceManager.java b/src/main/java/com/hbm/main/ResourceManager.java index 82995ce32..3fc1955e0 100644 --- a/src/main/java/com/hbm/main/ResourceManager.java +++ b/src/main/java/com/hbm/main/ResourceManager.java @@ -775,6 +775,7 @@ public class ResourceManager { public static final IModelCustom armor_wings = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/murk.obj")); public static final IModelCustom armor_solstice = new HFRWavefrontObject(new ResourceLocation(RefStrings.MODID, "models/armor/solstice.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")); ////Texture Items @@ -873,6 +874,12 @@ public class ResourceManager { public static final ResourceLocation bj_jetpack = new ResourceLocation(RefStrings.MODID, "textures/armor/bj_jetpack.png"); public static final ResourceLocation bj_arm = new ResourceLocation(RefStrings.MODID, "textures/armor/bj_arm.png"); + public static final ResourceLocation envsuit_helmet = new ResourceLocation(RefStrings.MODID, "textures/armor/envsuit_helmet.png"); + public static final ResourceLocation envsuit_leg = new ResourceLocation(RefStrings.MODID, "textures/armor/envsuit_leg.png"); + public static final ResourceLocation envsuit_chest = new ResourceLocation(RefStrings.MODID, "textures/armor/envsuit_chest.png"); + public static final ResourceLocation envsuit_arm = new ResourceLocation(RefStrings.MODID, "textures/armor/envsuit_arm.png"); + public static final ResourceLocation envsuit_tail = new ResourceLocation(RefStrings.MODID, "textures/armor/envsuit_tail.png"); + public static final ResourceLocation hev_helmet = new ResourceLocation(RefStrings.MODID, "textures/armor/hev_helmet.png"); public static final ResourceLocation hev_leg = new ResourceLocation(RefStrings.MODID, "textures/armor/hev_leg.png"); public static final ResourceLocation hev_chest = new ResourceLocation(RefStrings.MODID, "textures/armor/hev_chest.png"); diff --git a/src/main/java/com/hbm/render/model/ModelArmorBase.java b/src/main/java/com/hbm/render/model/ModelArmorBase.java index 70134b4f6..81af0edba 100644 --- a/src/main/java/com/hbm/render/model/ModelArmorBase.java +++ b/src/main/java/com/hbm/render/model/ModelArmorBase.java @@ -39,16 +39,16 @@ public class ModelArmorBase extends ModelBiped { rightFoot = new ModelRendererObj(null).setRotationPoint(-1.9F, 12.0F, 0.0F); } - 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) { + public void setRotationAngles(float walkCycle, float walkAmplitude, float idleCycle, float headYaw, float headPitch, float scale, Entity entity) { - head.rotateAngleY = p_78087_4_ / (180F / (float) Math.PI); - head.rotateAngleX = p_78087_5_ / (180F / (float) Math.PI); - rightArm.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F + (float) Math.PI) * 2.0F * p_78087_2_ * 0.5F; - leftArm.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F) * 2.0F * p_78087_2_ * 0.5F; + 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(p_78087_1_ * 0.6662F) * 1.4F * p_78087_2_; - leftFoot.rotateAngleX = leftLeg.rotateAngleX = MathHelper.cos(p_78087_1_ * 0.6662F + (float) Math.PI) * 1.4F * p_78087_2_; + 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; @@ -143,10 +143,10 @@ public class ModelArmorBase extends ModelBiped { head.offsetY = 0.0F; } - rightArm.rotateAngleZ += MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F; - leftArm.rotateAngleZ -= MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F; - rightArm.rotateAngleX += MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F; - leftArm.rotateAngleX -= MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F; + 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; @@ -159,10 +159,10 @@ public class ModelArmorBase extends ModelBiped { 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(p_78087_3_ * 0.09F) * 0.05F + 0.05F; - leftArm.rotateAngleZ -= MathHelper.cos(p_78087_3_ * 0.09F) * 0.05F + 0.05F; - rightArm.rotateAngleX += MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F; - leftArm.rotateAngleX -= MathHelper.sin(p_78087_3_ * 0.067F) * 0.05F; + 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; } } diff --git a/src/main/java/com/hbm/render/model/ModelArmorEnvsuit.java b/src/main/java/com/hbm/render/model/ModelArmorEnvsuit.java new file mode 100644 index 000000000..0f5e0aa7a --- /dev/null +++ b/src/main/java/com/hbm/render/model/ModelArmorEnvsuit.java @@ -0,0 +1,80 @@ +package com.hbm.render.model; + +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); + } + + @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); + + GL11.glPushMatrix(); + + if(type == 0) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.envsuit_helmet); + GL11.glEnable(GL11.GL_BLEND); + OpenGlHelper.glBlendFunc(770, 771, 1, 0); + head.render(par7); + 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); + GL11.glDisable(GL11.GL_TEXTURE_2D); + GL11.glColor3f(1F, 1F, 0.8F); + lamps.render(par7); + GL11.glColor3f(1F, 1F, 1F); + GL11.glEnable(GL11.GL_TEXTURE_2D); + GL11.glEnable(GL11.GL_LIGHTING); + GL11.glPopAttrib(); + 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(type == 2) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.envsuit_leg); + leftLeg.render(par7); + rightLeg.render(par7); + } + if(type == 3) { + Minecraft.getMinecraft().renderEngine.bindTexture(ResourceManager.envsuit_leg); + leftFoot.render(par7); + rightFoot.render(par7); + } + + GL11.glPopMatrix(); + } +} diff --git a/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java b/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java index 0550dddc0..26762787e 100644 --- a/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java +++ b/src/main/java/com/hbm/tileentity/machine/TileEntityElectrolyser.java @@ -1,5 +1,9 @@ package com.hbm.tileentity.machine; +import java.util.ArrayList; +import java.util.List; + +import com.hbm.blocks.BlockDummyable; import com.hbm.interfaces.IControlReceiver; import com.hbm.inventory.UpgradeManager; import com.hbm.inventory.container.ContainerElectrolyserFluid; @@ -9,18 +13,25 @@ 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.TileEntityMachineBase; +import com.hbm.util.CrucibleUtil; import com.hbm.util.fauxpointtwelve.DirPos; import api.hbm.energy.IEnergyUser; 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; @@ -28,9 +39,9 @@ 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.item.crafting.FurnaceRecipes; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.AxisAlignedBB; +import net.minecraft.util.Vec3; import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; @@ -98,6 +109,7 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn 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); @@ -133,6 +145,63 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn } } + if(this.canProcesMetal()) { + this.progressOre++; + this.power -= this.usage; + + if(this.progressOre >= this.processOreTime) { + 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(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(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); @@ -140,6 +209,14 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn data.setInteger("usage", this.usage); data.setInteger("processFluidTime", this.processFluidTime); data.setInteger("processOreTime", this.processOreTime); + 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); } @@ -167,6 +244,10 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn this.usage = nbt.getInteger("usage"); 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); } @@ -220,6 +301,73 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn } } + public boolean canProcesMetal() { + + if(slots[14] == null) return false; + if(this.power < usage) return false; + if(this.tanks[3].getFill() < 100) return false; + + ElectrolysisMetalRecipe recipe = ElectrolyserMetalRecipes.getRecipe(slots[14]); + + if(leftStack != null) { + if(recipe.output1.material != leftStack.material) return false; + if(recipe.output1.amount + leftStack.amount > this.maxMaterial) return false; + } + + if(rightStack != 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(leftStack == null) { + leftStack = new MaterialStack(recipe.output1.material, recipe.output1.amount); + } else { + leftStack.amount += recipe.output1.amount; + } + + 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); + } + AxisAlignedBB bb = null; @Override @@ -289,9 +437,7 @@ public class TileEntityElectrolyser extends TileEntityMachineBase implements IEn } @Override - public void receiveControl(NBTTagCompound data) { - - } + public void receiveControl(NBTTagCompound data) { } @Override public void receiveControl(EntityPlayer player, NBTTagCompound data) { diff --git a/src/main/resources/assets/hbm/lang/en_US.lang b/src/main/resources/assets/hbm/lang/en_US.lang index 37d2f9508..e3e38d04a 100644 --- a/src/main/resources/assets/hbm/lang/en_US.lang +++ b/src/main/resources/assets/hbm/lang/en_US.lang @@ -439,10 +439,10 @@ book_lore.beacon.page.2=refer to the circuit diagram found on the inside of the 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.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 respon with two long tones. All communication afterwards has to happen using pre-negotiated signals, +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, 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 ] diff --git a/src/main/resources/assets/hbm/models/armor/envsuit.obj b/src/main/resources/assets/hbm/models/armor/envsuit.obj new file mode 100644 index 000000000..6a6abae64 --- /dev/null +++ b/src/main/resources/assets/hbm/models/armor/envsuit.obj @@ -0,0 +1,3595 @@ +# Blender v2.79 (sub 0) OBJ File: 'envsuit_scaled.blend' +# www.blender.org +o Lamps +v 4.199997 -9.250000 -2.625000 +v 2.099997 -9.250000 -2.625000 +v 3.674997 -10.825001 -3.150000 +v 2.624997 -10.825001 -3.150000 +v -2.100003 -9.250000 -2.625000 +v -4.200003 -9.250000 -2.625000 +v -2.625003 -10.825001 -3.150000 +v -3.675003 -10.825001 -3.150000 +vt 0.401810 0.000103 +vt 0.000103 0.499897 +vt 0.134006 0.000103 +vt 0.134006 0.500103 +vt 0.535712 0.999897 +vt 0.000103 0.999897 +vt 0.535712 0.499897 +vt 0.401809 0.500103 +vn 0.0000 0.3162 -0.9487 +s off +f 4/1/1 1/2/1 3/3/1 +f 7/4/1 6/5/1 5/6/1 +f 4/1/1 2/7/1 1/2/1 +f 7/4/1 8/8/1 6/5/1 +o Chest +v 4.199999 12.299999 2.100000 +v -4.200001 12.299999 2.100000 +v 4.199999 12.299999 -2.100000 +v -4.200001 12.299999 -2.100000 +v -3.150002 0.750000 2.625000 +v 3.149997 0.750000 2.625000 +v -3.150001 9.150000 2.625000 +v 3.149998 9.150000 2.625000 +v 4.199998 6.000000 2.100000 +v -4.200002 6.000000 2.100000 +v 4.199998 6.000000 -2.100000 +v -4.200002 6.000000 -2.100000 +v 4.199998 6.000000 -2.625000 +v -4.200002 6.000000 -2.625000 +v 4.199998 6.000000 2.625000 +v -4.200002 6.000000 2.625000 +v 4.724999 6.000000 2.100000 +v 4.724999 6.000000 -2.100000 +v -4.725001 6.000000 2.100000 +v -4.725001 6.000000 -2.100000 +v 4.199998 -0.299999 -2.625000 +v -4.200002 -0.299999 -2.625000 +v 4.199998 -0.299999 2.625000 +v -4.200002 -0.299999 2.625000 +v 4.724998 -0.299999 2.100000 +v 4.724998 -0.299999 -2.100000 +v -4.725002 -0.299999 2.100000 +v -4.725002 -0.299999 -2.100000 +v 4.199998 -0.825001 -2.100000 +v 4.199998 -0.825001 2.100000 +v -4.200002 -0.825001 2.100000 +v -4.200002 -0.825001 -2.100000 +v -0.000002 -0.299999 -3.675000 +v -2.100002 -0.299999 -2.625000 +v -0.000002 1.799999 -3.675000 +v -2.100002 1.799999 -2.625000 +v 2.099998 -0.299999 -2.625000 +v 2.099998 1.799999 -2.625000 +v -0.000002 3.900000 -2.625000 +v -2.100001 10.200000 2.625000 +v 2.099999 10.200000 2.625000 +v -3.150002 0.750000 6.825000 +v 3.149997 0.750000 6.825000 +v -3.150001 9.150000 6.825000 +v 3.149998 9.150000 6.825000 +v 2.099999 10.200000 6.825000 +v -2.100001 10.200000 6.825000 +v 3.149997 0.750000 5.775000 +v -3.150002 0.750000 5.775000 +v 3.149997 0.750000 3.675000 +v -3.150002 0.750000 3.675000 +v 3.149997 -0.299999 3.675000 +v 3.149997 -0.299999 5.775000 +v -3.150002 -0.299999 5.775000 +v -3.150002 -0.299999 3.675000 +v 3.149998 3.900000 5.775000 +v -3.150001 3.900000 5.775000 +v 3.149998 3.900000 3.675000 +v -3.150001 3.900000 3.675000 +v 4.199998 2.850000 5.775000 +v -4.200002 2.850000 5.775000 +v 4.199998 2.850000 3.675000 +v -4.200002 2.850000 3.675000 +v 4.199998 0.750000 5.775000 +v -4.200002 0.750000 5.775000 +v 4.199998 0.750000 3.675000 +v -4.200002 0.750000 3.675000 +v 2.624998 3.900000 6.825000 +v -2.625002 3.900000 6.825000 +v 2.624998 1.799999 6.825000 +v -2.625002 1.799999 6.825000 +v 2.624998 1.799999 7.875000 +v 2.624998 3.900000 7.875000 +v -2.625002 3.900000 7.875000 +v -2.625002 1.799999 7.875000 +v -4.200002 5.475000 -2.625000 +v 4.199998 5.475000 -2.625000 +v -3.150001 3.900000 -4.200000 +v 3.149998 3.900000 -4.200000 +v -4.200002 0.750000 -2.625000 +v 4.199998 0.750000 -2.625000 +vt 0.478261 0.181818 +vt 0.304348 -0.000000 +vt 0.478261 0.000000 +vt 0.695652 0.590909 +vt 0.565217 0.227273 +vt 0.695652 0.227273 +vt 0.304348 0.454545 +vt 0.217391 0.181818 +vt 0.304348 0.181818 +vt 0.478261 0.454545 +vt 0.565217 0.181818 +vt 0.043478 0.454545 +vt 0.043478 0.181818 +vt 0.467391 0.477273 +vt 0.293478 0.454545 +vt 0.467391 0.454545 +vt 0.184783 0.477273 +vt 0.010870 0.454545 +vt 0.184783 0.454545 +vt 0.565217 0.477273 +vt 0.565217 0.454545 +vt 0.478261 0.477273 +vt 0.467391 0.454545 +vt 0.010870 0.477273 +vt 0.000000 0.454545 +vt 0.282609 0.454545 +vt 0.195652 0.477273 +vt 0.195652 0.454545 +vt 0.184783 0.454545 +vt 0.293478 0.477273 +vt 0.282609 0.454545 +vt 0.467391 0.750000 +vt 0.293478 0.750000 +vt 0.282609 0.477273 +vt 0.282609 0.750000 +vt 0.010870 0.750000 +vt -0.000000 0.477273 +vt 0.565217 0.750000 +vt 0.195652 0.750000 +vt 0.184783 0.750000 +vt 0.293478 0.954545 +vt 0.467391 0.772727 +vt 0.467391 0.954545 +vt 0.565217 0.772727 +vt 0.478261 0.750000 +vt 0.184783 0.772727 +vt 0.282609 0.772727 +vt 0.195652 0.772727 +vt 0.293478 0.772727 +vt 0.478261 0.772727 +vt -0.000000 0.750000 +vt 0.010870 0.772727 +vt 0.467391 0.954545 +vt 0.510870 0.863636 +vt 0.510870 0.954545 +vt 0.554348 0.954545 +vt 0.554348 1.000000 +vt 0.467391 1.000000 +vt 0.467391 0.863636 +vt 0.510870 0.772727 +vt 0.554348 0.863636 +vt 0.586957 0.181818 +vt 0.913043 0.227273 +vt 0.782609 0.590909 +vt 0.782609 0.227273 +vt 0.891304 0.181818 +vt 0.782609 0.772727 +vt 0.913043 0.590909 +vt 0.913043 0.772727 +vt 0.695652 0.181818 +vt 0.891304 0.000000 +vt 0.804348 0.181818 +vt 0.804348 -0.000000 +vt 1.000000 0.590909 +vt 1.000000 0.227273 +vt 0.913043 0.181818 +vt 1.000000 0.181818 +vt 0.782609 0.818182 +vt 0.652174 0.909091 +vt 0.652174 0.818182 +vt 0.652174 0.954545 +vt 0.782609 0.909091 +vt 0.782609 0.954545 +vt 0.782609 0.772727 +vt 0.652174 0.772727 +vt 0.804348 0.909091 +vt 0.847826 0.909091 +vt 0.869565 0.818182 +vt 0.869565 0.909091 +vt 0.586957 0.818182 +vt 0.565217 0.909091 +vt 0.565217 0.818182 +vt 0.847826 0.818182 +vt 0.630435 0.818182 +vt 0.586957 0.909091 +vt 0.793478 0.772727 +vt 0.804348 0.818182 +vt 0.804348 0.772727 +vt 0.869565 0.772727 +vt 0.793478 0.954545 +vt 0.804348 0.954545 +vt 0.641304 0.954545 +vt 0.630435 0.909091 +vt 0.630435 0.954545 +vt 0.565217 0.954545 +vt 0.641304 0.772727 +vt 0.630435 0.772727 +vt 0.782609 0.045455 +vt 0.673913 0.136364 +vt 0.673913 0.045455 +vt 0.673913 0.181818 +vt 0.782609 0.136364 +vt 0.782609 0.181818 +vt 0.782609 -0.000000 +vt 0.673913 -0.000000 +vt 0.804348 0.136364 +vt 0.804348 0.045455 +vt 0.652174 0.045455 +vt 0.652174 0.136364 +vt 0.086957 0.840909 +vt 0.054348 0.977273 +vt 0.054348 0.772727 +vt 0.293478 0.772727 +vt 0.293478 0.977273 +vt 0.260870 0.840909 +vt 0.260870 0.977273 +vt 0.108696 0.840909 +vt 0.239130 0.840909 +vt 0.086957 0.772727 +vt 0.260870 0.772727 +vt 0.565217 0.590909 +vt 0.217391 0.454545 +vt 0.673913 0.181818 +vt 0.782609 0.181818 +vt 0.869565 0.954545 +vt 0.565217 0.772727 +vt 0.086957 0.977273 +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.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.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.5774 -0.5773 0.5774 +vn -0.5774 -0.5773 -0.5774 +vn 0.5774 -0.5773 -0.5774 +vn 0.5774 -0.5773 0.5774 +vn -0.4472 0.0000 -0.8944 +vn 0.4472 -0.0000 -0.8944 +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.8321 0.0000 -0.5547 +vn 0.8321 0.0000 -0.5547 +vn 0.0000 -0.4472 -0.8944 +vn 0.0000 0.7071 -0.7071 +s off +f 11/9/2 10/10/2 9/11/2 +f 14/12/3 15/13/3 16/14/3 +f 20/15/4 10/16/4 12/17/4 +f 19/18/3 12/17/3 11/9/3 +f 9/19/5 19/18/5 11/9/5 +f 10/16/6 17/20/6 9/21/6 +f 21/22/2 20/23/2 19/24/2 +f 24/25/2 17/26/2 18/27/2 +f 25/28/2 19/18/2 17/29/2 +f 19/18/2 26/30/2 21/31/2 +f 17/26/2 23/32/2 25/33/2 +f 20/34/2 27/35/2 18/36/2 +f 18/36/2 27/35/2 24/37/2 +f 22/38/2 28/39/2 20/23/2 +f 26/30/7 29/40/7 21/22/7 +f 30/41/8 28/42/8 22/38/8 +f 36/43/4 27/35/4 28/42/4 +f 31/44/9 25/45/9 23/32/9 +f 29/40/3 22/38/3 21/22/3 +f 33/46/5 26/30/5 25/28/5 +f 35/47/10 24/25/10 27/35/10 +f 32/48/6 23/32/6 24/25/6 +f 39/49/11 37/50/11 38/51/11 +f 37/50/12 30/41/12 29/40/12 +f 38/52/13 34/53/13 33/46/13 +f 39/54/14 31/44/14 32/48/14 +f 40/55/15 35/47/15 36/43/15 +f 35/47/16 39/56/16 32/48/16 +f 36/43/17 30/41/17 40/57/17 +f 34/53/18 37/58/18 29/40/18 +f 33/59/19 31/44/19 38/60/19 +f 42/61/20 43/62/20 41/63/20 +f 43/62/21 45/64/21 41/63/21 +f 41/63/11 45/65/11 42/66/11 +f 43/62/22 44/67/22 47/68/22 +f 46/69/23 43/62/23 47/68/23 +f 48/70/3 16/14/3 15/13/3 +f 52/71/6 51/72/6 53/73/6 +f 53/73/6 55/74/6 52/71/6 +f 14/75/11 50/76/11 13/77/11 +f 49/78/24 53/73/24 16/14/24 +f 48/79/2 54/80/2 49/81/2 +f 16/14/5 51/72/5 14/12/5 +f 13/82/4 52/71/4 15/83/4 +f 15/83/25 55/84/25 48/85/25 +f 62/86/11 60/87/11 61/88/11 +f 58/89/3 63/90/3 59/91/3 +f 57/92/6 61/88/6 56/93/6 +f 62/86/15 75/94/15 63/90/15 +f 71/95/25 65/96/25 67/97/25 +f 68/98/24 66/99/24 64/100/24 +f 75/94/4 69/101/4 71/95/4 +f 72/102/5 70/103/5 68/98/5 +f 62/86/6 57/104/6 73/105/6 +f 69/101/6 57/106/6 65/107/6 +f 59/108/3 63/90/3 75/94/3 +f 71/95/3 59/109/3 75/94/3 +f 60/87/13 72/102/13 61/88/13 +f 60/87/3 58/110/3 74/111/3 +f 70/103/3 58/112/3 66/113/3 +f 56/114/6 61/88/6 72/102/6 +f 68/98/6 56/115/6 72/102/6 +f 82/116/6 80/117/6 81/118/6 +f 78/119/11 83/120/11 79/121/11 +f 77/122/2 81/118/2 76/123/2 +f 79/124/4 82/116/4 77/125/4 +f 76/126/5 80/117/5 78/127/5 +f 86/128/26 88/129/26 84/130/26 +f 85/131/27 89/132/27 87/133/27 +f 89/134/28 86/135/28 87/136/28 +f 87/136/29 84/137/29 85/138/29 +f 11/9/2 12/17/2 10/10/2 +f 14/12/3 13/139/3 15/13/3 +f 20/15/4 18/140/4 10/16/4 +f 19/18/3 20/15/3 12/17/3 +f 9/19/5 17/29/5 19/18/5 +f 10/16/6 18/140/6 17/20/6 +f 21/22/2 22/38/2 20/23/2 +f 24/25/2 23/32/2 17/26/2 +f 25/28/2 26/30/2 19/18/2 +f 20/34/2 28/42/2 27/35/2 +f 26/30/7 34/53/7 29/40/7 +f 30/41/8 36/43/8 28/42/8 +f 36/43/4 35/47/4 27/35/4 +f 31/44/9 33/59/9 25/45/9 +f 29/40/3 30/41/3 22/38/3 +f 33/46/5 34/53/5 26/30/5 +f 35/47/10 32/48/10 24/25/10 +f 32/48/6 31/44/6 23/32/6 +f 39/49/11 40/57/11 37/50/11 +f 37/50/12 40/57/12 30/41/12 +f 38/52/13 37/58/13 34/53/13 +f 39/54/14 38/60/14 31/44/14 +f 40/55/15 39/56/15 35/47/15 +f 42/61/20 44/67/20 43/62/20 +f 43/62/21 46/69/21 45/64/21 +f 48/70/3 49/141/3 16/14/3 +f 52/71/6 50/76/6 51/72/6 +f 53/73/6 54/80/6 55/74/6 +f 14/75/11 51/72/11 50/76/11 +f 49/78/24 54/142/24 53/73/24 +f 48/79/2 55/74/2 54/80/2 +f 16/14/5 53/73/5 51/72/5 +f 13/82/4 50/76/4 52/71/4 +f 15/83/25 52/71/25 55/84/25 +f 62/86/11 63/90/11 60/87/11 +f 58/89/3 60/87/3 63/90/3 +f 57/92/6 62/86/6 61/88/6 +f 62/86/15 73/105/15 75/94/15 +f 71/95/25 69/101/25 65/96/25 +f 68/98/24 70/103/24 66/99/24 +f 75/94/4 73/105/4 69/101/4 +f 72/102/5 74/111/5 70/103/5 +f 69/101/6 73/105/6 57/106/6 +f 71/95/3 67/143/3 59/109/3 +f 60/87/13 74/111/13 72/102/13 +f 70/103/3 74/111/3 58/112/3 +f 68/98/6 64/144/6 56/115/6 +f 82/116/6 83/120/6 80/117/6 +f 78/119/11 80/117/11 83/120/11 +f 77/122/2 82/116/2 81/118/2 +f 79/124/4 83/120/4 82/116/4 +f 76/126/5 81/118/5 80/117/5 +f 89/134/28 88/145/28 86/135/28 +f 87/136/29 86/135/29 84/137/29 +o LeftArm +v 3.899999 12.299999 2.100000 +v 3.899999 12.299999 -2.100000 +v 8.100000 12.299999 -2.100000 +v 8.100000 12.299999 2.100000 +v 3.899998 5.475000 -2.100000 +v 3.899998 5.475000 2.100000 +v 8.099998 5.475000 -2.100000 +v 8.099998 5.475000 2.100000 +v 3.899998 5.475000 -2.625000 +v 8.099998 5.475000 -2.625000 +v 3.899998 5.475000 2.625000 +v 8.099998 5.475000 2.625000 +v 8.624998 5.475000 -2.100000 +v 8.624998 5.475000 2.100000 +v 3.374998 5.475000 -2.100000 +v 3.374998 5.475000 2.100000 +v 3.899998 -0.299999 -2.625000 +v 8.099998 -0.299999 -2.625000 +v 3.899998 -0.299999 2.625000 +v 8.099998 -0.299999 2.625000 +v 8.624998 -0.299999 -2.100000 +v 8.624998 -0.299999 2.100000 +v 3.374998 -0.299999 -2.100000 +v 3.374998 -0.299999 2.100000 +v 3.899998 -0.825001 -2.100000 +v 3.899998 -0.825001 2.100000 +v 8.099998 -0.825001 -2.100000 +v 8.099998 -0.825001 2.100000 +v 3.899999 6.525000 -2.100000 +v 3.899999 6.525000 2.100000 +v 8.099998 6.525000 -2.100000 +v 8.099998 6.525000 2.100000 +v 3.899999 6.525000 -2.625000 +v 8.099998 6.525000 -2.625000 +v 3.899999 6.525000 2.625000 +v 8.099998 6.525000 2.625000 +v 8.624998 6.525000 -2.100000 +v 8.624998 6.525000 2.100000 +v 3.374999 6.525000 -2.100000 +v 3.374999 6.525000 2.100000 +v 2.849999 7.575001 2.100000 +v 2.849999 7.575001 -2.100000 +v 8.099998 7.575001 3.150000 +v 3.899999 7.575001 3.150000 +v 8.099998 7.575001 -2.625000 +v 3.899999 7.575001 -2.625000 +v 3.899999 7.575001 2.625000 +v 8.099998 7.575001 2.625000 +v 8.624998 7.575001 -2.100000 +v 8.624998 7.575001 2.100000 +v 3.374999 7.575001 -2.100000 +v 3.374999 7.575001 2.100000 +v 8.099998 7.575001 -3.150000 +v 3.899999 7.575001 -3.150000 +v 9.149998 7.575001 -2.100000 +v 9.149998 7.575001 2.100000 +v 2.849999 8.625000 2.100000 +v 2.849999 8.625000 -2.100000 +v 8.100000 8.625000 3.150000 +v 3.899999 8.625000 3.150000 +v 8.100000 8.625000 -3.150000 +v 3.899999 8.625000 -3.150000 +v 9.150000 8.625000 -2.100000 +v 9.150000 8.625000 2.100000 +v 8.100000 8.625000 -2.625000 +v 3.899999 8.625000 -2.625000 +v 3.899999 8.625000 2.625000 +v 8.100000 8.625000 2.625000 +v 8.625000 8.625000 -2.100000 +v 8.625000 8.625000 2.100000 +v 3.374999 8.625000 -2.100000 +v 3.374999 8.625000 2.100000 +v 8.100000 9.150000 -2.625000 +v 3.899999 9.150000 -2.625000 +v 3.899999 9.150000 2.625000 +v 8.100000 9.150000 2.625000 +v 8.625000 9.150000 -2.100000 +v 8.625000 9.150000 2.100000 +v 3.374999 9.150000 -2.100000 +v 3.374999 9.150000 2.100000 +v 2.849999 9.150000 2.100000 +v 2.849999 9.150000 -2.100000 +v 8.100000 9.150000 3.150000 +v 3.899999 9.150000 3.150000 +v 8.100000 9.150000 -3.150000 +v 3.899999 9.150000 -3.150000 +v 9.150000 9.150000 -2.100000 +v 9.150000 9.150000 2.100000 +v 2.849999 10.200000 2.100000 +v 2.849999 10.200000 -2.100000 +v 8.100000 10.199998 3.150000 +v 3.899999 10.200000 3.150000 +v 8.100000 10.199998 -3.150000 +v 3.899999 10.200000 -3.150000 +v 9.150000 10.199998 -2.100000 +v 9.150000 10.199998 2.100000 +v 8.100000 10.199998 -2.625000 +v 3.899999 10.200000 -2.625000 +v 3.899999 10.200000 2.625000 +v 8.100000 10.199998 2.625000 +v 8.625000 10.199998 -2.100000 +v 8.625000 10.199998 2.100000 +v 3.374999 10.200000 -2.100000 +v 3.374999 10.200000 2.100000 +v 8.100000 11.775000 -2.625000 +v 3.899999 11.775000 -2.625000 +v 3.899999 11.775000 2.625000 +v 8.100000 11.775000 2.625000 +v 8.625000 11.775000 -2.100000 +v 8.625000 11.775000 2.100000 +v 3.374999 11.775000 -2.100000 +v 3.374999 11.775000 2.100000 +v 8.625000 11.512498 1.050000 +v 8.625000 10.462500 1.050000 +v 8.625000 11.512498 -1.050000 +v 8.625000 10.462500 -1.050000 +v 9.150000 11.512498 -1.050000 +v 9.150000 11.512498 1.050000 +v 9.150000 10.462500 1.050000 +v 9.150000 10.462500 -1.050000 +v 8.554661 6.787500 0.525000 +v 8.099998 6.525000 0.525000 +v 8.554661 6.787500 -0.525000 +v 8.099998 6.525000 -0.525000 +v 9.604660 4.968847 -0.525000 +v 9.604660 4.968847 0.525000 +v 9.149998 4.706348 0.525000 +v 9.149998 4.706348 -0.525000 +vt 0.275000 0.191489 +vt 0.300000 0.191489 +vt 0.275000 0.170213 +vt 0.250000 0.191489 +vt 0.050000 0.170213 +vt 0.050000 0.191489 +vt 0.525000 0.191489 +vt 0.550000 0.191489 +vt 0.525000 0.170213 +vt 0.750000 0.000000 +vt 0.550000 0.170213 +vt 0.750000 0.170213 +vt 0.500000 0.170213 +vt 0.300000 0.170213 +vt 0.750000 0.191489 +vt 0.550000 0.553191 +vt 0.750000 0.574468 +vt 0.750000 0.553191 +vt 0.050000 0.553191 +vt 0.250000 0.574468 +vt 0.250000 0.553191 +vt 0.300000 0.553191 +vt 0.500000 0.574468 +vt 0.500000 0.553191 +vt 0.800000 0.574468 +vt 1.000000 0.553191 +vt 0.800000 0.553191 +vt 0.050000 0.574468 +vt 0.025000 0.553191 +vt 0.025000 0.574468 +vt 0.775000 0.553191 +vt 0.775000 0.574468 +vt 0.525000 0.553191 +vt 0.525000 0.574468 +vt 0.550000 0.574468 +vt 0.275000 0.553191 +vt 0.275000 0.574468 +vt 0.300000 0.574468 +vt 0.500000 0.808511 +vt 0.300000 0.808511 +vt 0.800000 0.808511 +vt 0.750000 0.808511 +vt 1.000000 0.574468 +vt 0.550000 0.808511 +vt 0.050000 0.808511 +vt 0.250000 0.808511 +vt 0.750000 0.829787 +vt 0.550000 1.000000 +vt 0.750000 1.000000 +vt 0.300000 0.829787 +vt 0.525000 0.808511 +vt 0.525000 0.829787 +vt 0.250000 0.829787 +vt 0.275000 0.808511 +vt 0.275000 0.829787 +vt 1.000000 0.829787 +vt 1.000000 0.808511 +vt 0.025000 0.808511 +vt 0.025000 0.829787 +vt 0.775000 0.808511 +vt 0.775000 0.829787 +vt 0.750000 0.489362 +vt 0.550000 0.510638 +vt 0.750000 0.510638 +vt 0.250000 0.489362 +vt 0.050000 0.510638 +vt 0.250000 0.510638 +vt 0.500000 0.489362 +vt 0.300000 0.510638 +vt 0.500000 0.510638 +vt 1.000000 0.510638 +vt 0.800000 0.489362 +vt 0.800000 0.510638 +vt 0.050000 0.489362 +vt 0.025000 0.489362 +vt 0.025000 0.510638 +vt 0.775000 0.510638 +vt 0.775000 0.489362 +vt 0.525000 0.510638 +vt 0.550000 0.489362 +vt 0.525000 0.489362 +vt 0.275000 0.510638 +vt 0.300000 0.489362 +vt 0.275000 0.489362 +vt 0.250000 0.425532 +vt 0.050000 0.382979 +vt 0.050000 0.425532 +vt 0.550000 0.425532 +vt 0.750000 0.382979 +vt 0.550000 0.382979 +vt 0.500000 0.425532 +vt 0.300000 0.382979 +vt 0.300000 0.425532 +vt 0.500000 0.382979 +vt 0.275000 0.446809 +vt 0.300000 0.446809 +vt 0.550000 0.446809 +vt 0.500000 0.446809 +vt 0.750000 0.425532 +vt 0.800000 0.446809 +vt 0.800000 0.425532 +vt 0.050000 0.446809 +vt 0.750000 0.446809 +vt 0.025000 0.446809 +vt 1.000000 0.489362 +vt 0.775000 0.446809 +vt 0.000000 0.425532 +vt 0.525000 0.446809 +vt 1.000000 0.446809 +vt 0.250000 0.446809 +vt 1.000000 0.425532 +vt 0.800000 0.382979 +vt 0.250000 0.382979 +vt 0.000000 0.382979 +vt 0.750000 0.361702 +vt 0.550000 0.361702 +vt 0.525000 0.361702 +vt 0.300000 0.361702 +vt 0.275000 0.361702 +vt 0.250000 0.361702 +vt 0.025000 0.361702 +vt 1.000000 0.361702 +vt 1.000000 0.382979 +vt 0.800000 0.361702 +vt 0.050000 0.361702 +vt 0.025000 0.340426 +vt 0.500000 0.361702 +vt 0.300000 0.340426 +vt 0.750000 0.340426 +vt 0.550000 0.340426 +vt 0.275000 0.340426 +vt 0.775000 0.361702 +vt 0.800000 0.340426 +vt 0.775000 0.340426 +vt 0.050000 0.340426 +vt 0.525000 0.340426 +vt 0.750000 0.319149 +vt 0.500000 0.319149 +vt 0.500000 0.340426 +vt 0.300000 0.319149 +vt 0.250000 0.319149 +vt 0.250000 0.340426 +vt 0.050000 0.319149 +vt 1.000000 0.319149 +vt 1.000000 0.340426 +vt 0.800000 0.319149 +vt 0.750000 0.276596 +vt 0.550000 0.319149 +vt 0.500000 0.276596 +vt 0.000000 0.276596 +vt 0.000000 0.319149 +vt 0.800000 0.276596 +vt 0.300000 0.276596 +vt 0.250000 0.276596 +vt 0.550000 0.276596 +vt 0.050000 0.276596 +vt 0.750000 0.255319 +vt 0.550000 0.255319 +vt 0.525000 0.255319 +vt 0.300000 0.255319 +vt 0.275000 0.255319 +vt 0.250000 0.255319 +vt 0.025000 0.255319 +vt 1.000000 0.255319 +vt 1.000000 0.276596 +vt 0.800000 0.255319 +vt 0.050000 0.255319 +vt 0.025000 0.191489 +vt 0.500000 0.255319 +vt 0.775000 0.191489 +vt 0.775000 0.255319 +vt 0.800000 0.191489 +vt 0.800000 0.170213 +vt 1.000000 0.191489 +vt 1.000000 0.170213 +vt 0.025000 0.170213 +vt 0.775000 0.170213 +vt 0.150000 0.893617 +vt 0.250000 0.851064 +vt 0.150000 0.851064 +vt 0.275000 0.851064 +vt 0.250000 0.893617 +vt 0.275000 0.893617 +vt 0.125000 0.893617 +vt 0.125000 0.851064 +vt 0.250000 0.914894 +vt 0.150000 0.914894 +vt 0.150000 0.829787 +vt 0.250000 0.829787 +vt 0.300000 0.936170 +vt 0.350000 0.914894 +vt 0.300000 0.914894 +vt 0.300000 0.829787 +vt 0.350000 0.829787 +vt 0.375000 0.829787 +vt 0.375000 0.914894 +vt 0.275000 0.829787 +vt 0.425000 0.914894 +vt 0.425000 0.829787 +vt 0.250000 0.170213 +vt 0.550000 0.000000 +vt 0.500000 0.191489 +vt 0.550000 0.829787 +vt 0.500000 0.829787 +vt 0.050000 0.829787 +vt 0.800000 0.829787 +vt 0.350000 0.936170 +vt 0.275000 0.914894 +vn 0.5774 0.5774 0.5773 +vn 0.0000 0.7071 0.7071 +vn 0.5774 0.5774 -0.5773 +vn 0.0000 1.0000 0.0000 +vn 0.7071 0.7071 0.0000 +vn 0.0000 0.7071 -0.7071 +vn 1.0000 0.0000 0.0000 +vn 0.7071 0.0000 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.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.0000 -0.7071 -0.7071 +vn 0.7071 -0.7071 0.0000 +vn 0.5774 -0.5773 -0.5774 +vn 0.0000 -0.7071 0.7071 +vn 0.5774 -0.5773 0.5774 +vn -0.7071 -0.7071 0.0000 +vn -0.5774 -0.5773 0.5774 +vn -0.5774 -0.5773 -0.5774 +vn -0.7071 0.7071 0.0000 +vn -0.5774 0.5774 0.5774 +vn -0.5774 0.5774 -0.5774 +vn 0.5000 -0.8660 0.0000 +vn 0.8660 0.5000 0.0000 +vn -0.8660 -0.5000 0.0000 +s off +f 197/146/30 199/147/30 93/148/30 +f 197/149/31 90/150/31 196/151/31 +f 198/152/32 194/153/32 92/154/32 +f 90/155/33 92/156/33 91/157/33 +f 199/147/34 92/158/34 93/159/34 +f 91/157/35 194/153/35 195/160/35 +f 96/161/33 98/162/33 94/163/33 +f 95/164/33 101/165/33 97/166/33 +f 97/167/33 102/168/33 96/169/33 +f 104/170/33 95/171/33 94/172/33 +f 100/173/33 95/174/33 105/175/33 +f 94/176/33 98/177/33 104/170/33 +f 96/178/33 102/179/33 99/180/33 +f 97/181/33 101/182/33 103/183/33 +f 103/183/36 110/184/36 102/168/36 +f 101/182/37 111/185/37 103/183/37 +f 98/177/38 112/186/38 104/170/38 +f 99/180/39 106/187/39 98/162/39 +f 112/186/40 105/188/40 104/170/40 +f 102/179/41 107/189/41 99/180/41 +f 105/175/42 108/190/42 100/173/42 +f 100/173/43 109/191/43 101/165/43 +f 114/192/44 117/193/44 115/194/44 +f 107/189/45 114/192/45 106/187/45 +f 117/195/46 110/184/46 111/185/46 +f 110/196/47 116/197/47 107/189/47 +f 108/190/48 117/198/48 109/191/48 +f 111/185/49 109/199/49 117/200/49 +f 112/186/50 115/201/50 113/202/50 +f 113/203/51 115/204/51 108/190/51 +f 112/186/52 106/205/52 114/206/52 +f 122/207/44 120/208/44 118/209/44 +f 125/210/44 119/211/44 121/212/44 +f 126/213/44 121/214/44 120/215/44 +f 119/216/44 128/217/44 118/218/44 +f 124/219/44 129/220/44 119/221/44 +f 118/222/44 128/217/44 122/223/44 +f 120/224/44 123/225/44 126/226/44 +f 121/227/44 127/228/44 125/229/44 +f 132/230/43 149/231/43 133/232/43 +f 142/233/39 151/234/39 150/235/39 +f 144/236/36 153/237/36 145/238/36 +f 144/236/41 150/235/41 152/239/41 +f 145/238/44 137/240/44 139/241/44 +f 144/236/44 134/242/44 142/233/44 +f 138/243/44 145/238/44 139/241/44 +f 143/244/44 140/245/44 131/246/44 +f 125/210/43 136/247/43 124/219/43 +f 127/228/37 137/240/37 125/229/37 +f 122/207/39 134/242/39 123/225/39 +f 135/248/44 142/233/44 134/242/44 +f 124/219/42 141/249/42 129/220/42 +f 129/250/40 140/245/40 128/217/40 +f 126/213/36 139/241/36 127/228/36 +f 128/217/38 135/251/38 122/223/38 +f 141/249/44 133/232/44 130/252/44 +f 123/225/41 138/253/41 126/226/41 +f 141/254/44 131/246/44 140/245/44 +f 137/255/44 133/232/44 136/247/44 +f 130/256/40 147/257/40 131/246/40 +f 145/238/37 148/258/37 132/230/37 +f 131/246/38 151/234/38 143/244/38 +f 133/232/42 146/259/42 130/252/42 +f 155/260/33 150/235/33 151/234/33 +f 152/239/33 154/261/33 158/262/33 +f 152/239/33 159/263/33 153/237/33 +f 153/237/33 157/264/33 148/258/33 +f 157/265/33 149/231/33 148/258/33 +f 149/231/33 161/266/33 146/259/33 +f 161/267/33 147/257/33 146/268/33 +f 160/269/33 151/234/33 147/257/33 +f 156/270/42 169/271/42 161/266/42 +f 158/272/36 167/273/36 159/263/36 +f 154/261/39 163/274/39 162/275/39 +f 159/263/37 165/276/37 157/264/37 +f 155/277/38 168/278/38 163/279/38 +f 161/267/40 168/278/40 160/269/40 +f 157/265/43 164/280/43 156/270/43 +f 154/261/41 166/281/41 158/262/41 +f 175/282/44 162/275/44 163/274/44 +f 162/275/44 176/283/44 166/281/44 +f 166/284/44 177/285/44 167/273/44 +f 165/276/44 177/285/44 172/286/44 +f 172/286/44 164/280/44 165/287/44 +f 173/288/44 169/271/44 164/280/44 +f 170/289/44 168/278/44 169/290/44 +f 168/278/44 175/282/44 163/279/44 +f 171/291/38 183/292/38 175/282/38 +f 174/293/41 184/294/41 176/283/41 +f 173/288/42 178/295/42 170/296/42 +f 170/289/40 179/297/40 171/291/40 +f 176/283/36 185/298/36 177/285/36 +f 177/285/37 180/299/37 172/286/37 +f 175/282/39 182/300/39 174/293/39 +f 172/286/43 181/301/43 173/288/43 +f 187/302/33 182/300/33 183/292/33 +f 184/294/33 186/303/33 190/304/33 +f 184/294/33 191/305/33 185/298/33 +f 185/298/33 189/306/33 180/299/33 +f 189/307/33 181/301/33 180/299/33 +f 181/301/33 193/308/33 178/295/33 +f 193/309/33 179/297/33 178/310/33 +f 192/311/33 183/292/33 179/297/33 +f 186/303/41 198/152/41 190/304/41 +f 188/312/42 201/313/42 193/308/42 +f 190/314/36 199/147/36 191/305/36 +f 187/302/39 194/153/39 186/303/39 +f 191/305/37 197/146/37 189/306/37 +f 192/311/38 195/315/38 187/316/38 +f 193/309/40 200/317/40 192/311/40 +f 189/307/43 196/151/43 188/312/43 +f 91/318/53 201/319/53 90/320/53 +f 201/313/54 196/151/54 90/321/54 +f 200/317/55 91/322/55 195/315/55 +f 118/209/39 96/161/39 94/163/39 +f 96/169/36 121/214/36 97/167/36 +f 97/166/43 119/211/43 95/164/43 +f 119/216/40 94/172/40 95/171/40 +f 208/323/36 206/324/36 207/325/36 +f 204/326/39 209/327/39 205/328/39 +f 203/329/43 207/325/43 202/330/43 +f 205/331/44 208/323/44 203/332/44 +f 202/333/33 206/324/33 204/334/33 +f 216/335/56 214/336/56 215/337/56 +f 210/338/57 214/336/57 212/339/57 +f 213/340/39 214/336/39 217/341/39 +f 211/342/43 215/337/43 210/338/43 +f 213/340/58 216/343/58 211/344/58 +f 197/149/31 93/345/31 90/150/31 +f 90/155/33 93/346/33 92/156/33 +f 199/147/34 198/347/34 92/158/34 +f 91/157/35 92/156/35 194/153/35 +f 96/161/33 99/180/33 98/162/33 +f 95/164/33 100/173/33 101/165/33 +f 97/167/33 103/183/33 102/168/33 +f 104/170/33 105/188/33 95/171/33 +f 103/183/36 111/185/36 110/184/36 +f 101/182/37 109/199/37 111/185/37 +f 98/177/38 106/205/38 112/186/38 +f 99/180/39 107/189/39 106/187/39 +f 112/186/40 113/202/40 105/188/40 +f 102/179/41 110/196/41 107/189/41 +f 105/175/42 113/203/42 108/190/42 +f 100/173/43 108/190/43 109/191/43 +f 114/192/44 116/348/44 117/193/44 +f 107/189/45 116/348/45 114/192/45 +f 117/195/46 116/349/46 110/184/46 +f 108/190/48 115/350/48 117/198/48 +f 112/186/50 114/351/50 115/201/50 +f 122/207/44 123/225/44 120/208/44 +f 125/210/44 124/219/44 119/211/44 +f 126/213/44 127/228/44 121/214/44 +f 119/216/44 129/250/44 128/217/44 +f 132/230/43 148/258/43 149/231/43 +f 142/233/39 143/244/39 151/234/39 +f 144/236/36 152/239/36 153/237/36 +f 144/236/41 142/233/41 150/235/41 +f 145/238/44 132/230/44 137/240/44 +f 144/236/44 138/253/44 134/242/44 +f 138/243/44 144/236/44 145/238/44 +f 143/244/44 135/251/44 140/245/44 +f 125/210/43 137/255/43 136/247/43 +f 127/228/37 139/241/37 137/240/37 +f 122/207/39 135/248/39 134/242/39 +f 135/248/44 143/244/44 142/233/44 +f 124/219/42 136/247/42 141/249/42 +f 129/250/40 141/254/40 140/245/40 +f 126/213/36 138/243/36 139/241/36 +f 128/217/38 140/245/38 135/251/38 +f 141/249/44 136/247/44 133/232/44 +f 123/225/41 134/242/41 138/253/41 +f 141/254/44 130/256/44 131/246/44 +f 137/255/44 132/230/44 133/232/44 +f 130/256/40 146/268/40 147/257/40 +f 145/238/37 153/237/37 148/258/37 +f 131/246/38 147/257/38 151/234/38 +f 133/232/42 149/231/42 146/259/42 +f 155/260/33 154/261/33 150/235/33 +f 152/239/33 150/235/33 154/261/33 +f 152/239/33 158/272/33 159/263/33 +f 153/237/33 159/263/33 157/264/33 +f 157/265/33 156/270/33 149/231/33 +f 149/231/33 156/270/33 161/266/33 +f 161/267/33 160/269/33 147/257/33 +f 160/269/33 155/277/33 151/234/33 +f 156/270/42 164/280/42 169/271/42 +f 158/272/36 166/284/36 167/273/36 +f 154/261/39 155/260/39 163/274/39 +f 159/263/37 167/273/37 165/276/37 +f 155/277/38 160/269/38 168/278/38 +f 161/267/40 169/290/40 168/278/40 +f 157/265/43 165/287/43 164/280/43 +f 154/261/41 162/275/41 166/281/41 +f 175/282/44 174/293/44 162/275/44 +f 162/275/44 174/293/44 176/283/44 +f 166/284/44 176/283/44 177/285/44 +f 165/276/44 167/273/44 177/285/44 +f 172/286/44 173/288/44 164/280/44 +f 173/288/44 170/296/44 169/271/44 +f 170/289/44 171/291/44 168/278/44 +f 168/278/44 171/291/44 175/282/44 +f 171/291/38 179/297/38 183/292/38 +f 174/293/41 182/300/41 184/294/41 +f 173/288/42 181/301/42 178/295/42 +f 170/289/40 178/310/40 179/297/40 +f 176/283/36 184/294/36 185/298/36 +f 177/285/37 185/298/37 180/299/37 +f 175/282/39 183/292/39 182/300/39 +f 172/286/43 180/299/43 181/301/43 +f 187/302/33 186/303/33 182/300/33 +f 184/294/33 182/300/33 186/303/33 +f 184/294/33 190/314/33 191/305/33 +f 185/298/33 191/305/33 189/306/33 +f 189/307/33 188/312/33 181/301/33 +f 181/301/33 188/312/33 193/308/33 +f 193/309/33 192/311/33 179/297/33 +f 192/311/33 187/316/33 183/292/33 +f 186/303/41 194/153/41 198/152/41 +f 188/312/42 196/151/42 201/313/42 +f 190/314/36 198/347/36 199/147/36 +f 187/302/39 195/160/39 194/153/39 +f 191/305/37 199/147/37 197/146/37 +f 192/311/38 200/317/38 195/315/38 +f 193/309/40 201/319/40 200/317/40 +f 189/307/43 197/149/43 196/151/43 +f 91/318/53 200/317/53 201/319/53 +f 118/209/39 120/208/39 96/161/39 +f 96/169/36 120/215/36 121/214/36 +f 97/166/43 121/212/43 119/211/43 +f 119/216/40 118/218/40 94/172/40 +f 208/323/36 209/327/36 206/324/36 +f 204/326/39 206/324/39 209/327/39 +f 203/329/43 208/323/43 207/325/43 +f 205/331/44 209/327/44 208/323/44 +f 202/333/33 207/325/33 206/324/33 +f 216/335/56 217/352/56 214/336/56 +f 210/338/57 215/337/57 214/336/57 +f 213/340/39 212/339/39 214/336/39 +f 211/342/43 216/353/43 215/337/43 +f 213/340/58 217/341/58 216/343/58 +o RightArm +v -3.900001 12.299999 2.100000 +v -3.900001 12.299999 -2.100000 +v -8.100000 12.299999 -2.100000 +v -8.100000 12.299999 2.100000 +v -3.900002 5.475000 -2.100000 +v -3.900002 5.475000 2.100000 +v -8.100002 5.475000 -2.100000 +v -8.100002 5.475000 2.100000 +v -3.900002 5.475000 -2.625000 +v -8.100002 5.475000 -2.625000 +v -3.900002 5.475000 2.625000 +v -8.100002 5.475000 2.625000 +v -8.625002 5.475000 -2.100000 +v -8.625002 5.475000 2.100000 +v -3.375002 5.475000 -2.100000 +v -3.375002 5.475000 2.100000 +v -3.900002 -0.299999 -2.625000 +v -8.100002 -0.299999 -2.625000 +v -3.900002 -0.299999 2.625000 +v -8.100002 -0.299999 2.625000 +v -8.625002 -0.299999 -2.100000 +v -8.625002 -0.299999 2.100000 +v -3.375002 -0.299999 -2.100000 +v -3.375002 -0.299999 2.100000 +v -3.900002 -0.825001 -2.100000 +v -3.900002 -0.825001 2.100000 +v -8.100002 -0.825001 -2.100000 +v -8.100002 -0.825001 2.100000 +v -3.900002 6.525000 -2.100000 +v -3.900002 6.525000 2.100000 +v -8.100002 6.525000 -2.100000 +v -8.100002 6.525000 2.100000 +v -3.900002 6.525000 -2.625000 +v -8.100002 6.525000 -2.625000 +v -3.900002 6.525000 2.625000 +v -8.100002 6.525000 2.625000 +v -8.625002 6.525000 -2.100000 +v -8.625002 6.525000 2.100000 +v -3.375001 6.525000 -2.100000 +v -3.375001 6.525000 2.100000 +v -2.850002 7.575001 2.100000 +v -2.850002 7.575001 -2.100000 +v -8.100002 7.575001 3.150000 +v -3.900002 7.575001 3.150000 +v -8.100002 7.575001 -2.625000 +v -3.900002 7.575001 -2.625000 +v -3.900002 7.575001 2.625000 +v -8.100002 7.575001 2.625000 +v -8.625002 7.575001 -2.100000 +v -8.625002 7.575001 2.100000 +v -3.375001 7.575001 -2.100000 +v -3.375001 7.575001 2.100000 +v -8.100002 7.575001 -3.150000 +v -3.900002 7.575001 -3.150000 +v -9.150002 7.575001 -2.100000 +v -9.150002 7.575001 2.100000 +v -2.850002 8.625000 2.100000 +v -2.850002 8.625000 -2.100000 +v -8.100000 8.625000 3.150000 +v -3.900002 8.625000 3.150000 +v -8.100000 8.625000 -3.150000 +v -3.900002 8.625000 -3.150000 +v -9.150000 8.625000 -2.100000 +v -9.150000 8.625000 2.100000 +v -8.100000 8.625000 -2.625000 +v -3.900002 8.625000 -2.625000 +v -3.900002 8.625000 2.625000 +v -8.100000 8.625000 2.625000 +v -8.625000 8.625000 -2.100000 +v -8.625000 8.625000 2.100000 +v -3.375001 8.625000 -2.100000 +v -3.375001 8.625000 2.100000 +v -8.100000 9.150000 -2.625000 +v -3.900001 9.150000 -2.625000 +v -3.900001 9.150000 2.625000 +v -8.100000 9.150000 2.625000 +v -8.625000 9.150000 -2.100000 +v -8.625000 9.150000 2.100000 +v -3.375001 9.150000 -2.100000 +v -3.375001 9.150000 2.100000 +v -2.850002 9.150000 2.100000 +v -2.850002 9.150000 -2.100000 +v -8.100000 9.150000 3.150000 +v -3.900001 9.150000 3.150000 +v -8.100000 9.150000 -3.150000 +v -3.900001 9.150000 -3.150000 +v -9.150000 9.150000 -2.100000 +v -9.150000 9.150000 2.100000 +v -2.850002 10.200000 2.100000 +v -2.850002 10.200000 -2.100000 +v -8.100000 10.200002 3.150000 +v -3.900001 10.200000 3.150000 +v -8.100000 10.200002 -3.150000 +v -3.900001 10.200000 -3.150000 +v -9.150000 10.200002 -2.100000 +v -9.150000 10.200002 2.100000 +v -8.100000 10.200002 -2.625000 +v -3.900001 10.200000 -2.625000 +v -3.900001 10.200000 2.625000 +v -8.100000 10.200002 2.625000 +v -8.625000 10.200002 -2.100000 +v -8.625000 10.200002 2.100000 +v -3.375001 10.200000 -2.100000 +v -3.375001 10.200000 2.100000 +v -8.100000 11.775000 -2.625000 +v -3.900001 11.775000 -2.625000 +v -3.900001 11.775000 2.625000 +v -8.100000 11.775000 2.625000 +v -8.625000 11.775000 -2.100000 +v -8.625000 11.775000 2.100000 +v -3.375001 11.775000 -2.100000 +v -3.375001 11.775000 2.100000 +v -8.625000 11.512502 1.050000 +v -8.625000 10.462500 1.050000 +v -8.625000 11.512502 -1.050000 +v -8.625000 10.462500 -1.050000 +v -9.150000 11.512502 -1.050000 +v -9.150000 11.512502 1.050000 +v -9.150000 10.462500 1.050000 +v -9.150000 10.462500 -1.050000 +v -8.554665 6.787500 0.525000 +v -8.100002 6.525000 0.525000 +v -8.554665 6.787500 -0.525000 +v -8.100002 6.525000 -0.525000 +v -9.604664 4.968847 -0.525000 +v -9.604664 4.968847 0.525000 +v -9.150002 4.706348 0.525000 +v -9.150002 4.706348 -0.525000 +vt 0.275000 0.191489 +vt 0.275000 0.170213 +vt 0.300000 0.191489 +vt 0.050000 0.170213 +vt 0.250000 0.191489 +vt 0.050000 0.191489 +vt 0.525000 0.191489 +vt 0.525000 0.170213 +vt 0.550000 0.191489 +vt 0.550000 0.170213 +vt 0.750000 0.000000 +vt 0.750000 0.170213 +vt 0.500000 0.170213 +vt 0.300000 0.170213 +vt 0.750000 0.191489 +vt 0.750000 0.574468 +vt 0.550000 0.553191 +vt 0.750000 0.553191 +vt 0.250000 0.574468 +vt 0.050000 0.553191 +vt 0.250000 0.553191 +vt 0.500000 0.574468 +vt 0.300000 0.553191 +vt 0.500000 0.553191 +vt 1.000000 0.553191 +vt 0.800000 0.574468 +vt 0.800000 0.553191 +vt 0.050000 0.574468 +vt 0.025000 0.574468 +vt 0.025000 0.553191 +vt 0.775000 0.553191 +vt 0.775000 0.574468 +vt 0.525000 0.553191 +vt 0.550000 0.574468 +vt 0.525000 0.574468 +vt 0.275000 0.553191 +vt 0.300000 0.574468 +vt 0.275000 0.574468 +vt 0.500000 0.808511 +vt 0.300000 0.808511 +vt 0.800000 0.808511 +vt 0.750000 0.808511 +vt 1.000000 0.574468 +vt 0.550000 0.808511 +vt 0.050000 0.808511 +vt 0.250000 0.808511 +vt 0.550000 1.000000 +vt 0.750000 0.829787 +vt 0.750000 1.000000 +vt 0.300000 0.829787 +vt 0.525000 0.808511 +vt 0.525000 0.829787 +vt 0.250000 0.829787 +vt 0.275000 0.829787 +vt 0.275000 0.808511 +vt 1.000000 0.829787 +vt 1.000000 0.808511 +vt 0.025000 0.808511 +vt 0.025000 0.829787 +vt 0.775000 0.829787 +vt 0.775000 0.808511 +vt 0.550000 0.510638 +vt 0.750000 0.489362 +vt 0.750000 0.510638 +vt 0.050000 0.510638 +vt 0.250000 0.489362 +vt 0.250000 0.510638 +vt 0.300000 0.510638 +vt 0.500000 0.489362 +vt 0.500000 0.510638 +vt 0.800000 0.489362 +vt 1.000000 0.510638 +vt 0.800000 0.510638 +vt 0.050000 0.489362 +vt 0.025000 0.510638 +vt 0.025000 0.489362 +vt 0.775000 0.510638 +vt 0.775000 0.489362 +vt 0.525000 0.510638 +vt 0.525000 0.489362 +vt 0.550000 0.489362 +vt 0.275000 0.510638 +vt 0.275000 0.489362 +vt 0.300000 0.489362 +vt 0.050000 0.425532 +vt 0.250000 0.382979 +vt 0.250000 0.425532 +vt 0.550000 0.382979 +vt 0.750000 0.425532 +vt 0.550000 0.425532 +vt 0.300000 0.382979 +vt 0.500000 0.425532 +vt 0.300000 0.425532 +vt 0.500000 0.382979 +vt 0.275000 0.446809 +vt 0.550000 0.446809 +vt 0.525000 0.446809 +vt 0.500000 0.446809 +vt 0.300000 0.446809 +vt 0.800000 0.446809 +vt 0.800000 0.425532 +vt 0.050000 0.446809 +vt 0.750000 0.446809 +vt 0.025000 0.446809 +vt 1.000000 0.489362 +vt 0.775000 0.446809 +vt 0.000000 0.425532 +vt 1.000000 0.446809 +vt 0.250000 0.446809 +vt 0.800000 0.382979 +vt 1.000000 0.425532 +vt 0.750000 0.382979 +vt 0.000000 0.382979 +vt 0.750000 0.361702 +vt 0.550000 0.361702 +vt 0.300000 0.361702 +vt 0.275000 0.361702 +vt 0.050000 0.382979 +vt 0.250000 0.361702 +vt 0.025000 0.361702 +vt 1.000000 0.361702 +vt 1.000000 0.382979 +vt 0.800000 0.361702 +vt 0.050000 0.340426 +vt 0.050000 0.361702 +vt 0.300000 0.340426 +vt 0.500000 0.361702 +vt 0.550000 0.340426 +vt 0.275000 0.340426 +vt 0.775000 0.340426 +vt 0.775000 0.361702 +vt 0.800000 0.340426 +vt 0.250000 0.340426 +vt 0.525000 0.340426 +vt 0.525000 0.361702 +vt 0.750000 0.319149 +vt 0.750000 0.340426 +vt 0.500000 0.319149 +vt 0.550000 0.319149 +vt 0.300000 0.319149 +vt 0.500000 0.340426 +vt 0.250000 0.319149 +vt 0.025000 0.340426 +vt 0.050000 0.319149 +vt 1.000000 0.319149 +vt 1.000000 0.340426 +vt 0.750000 0.276596 +vt 0.800000 0.319149 +vt 0.500000 0.276596 +vt 0.000000 0.276596 +vt 0.000000 0.319149 +vt 0.800000 0.276596 +vt 0.300000 0.276596 +vt 0.250000 0.276596 +vt 0.550000 0.276596 +vt 0.050000 0.276596 +vt 0.750000 0.255319 +vt 0.550000 0.255319 +vt 0.300000 0.255319 +vt 0.275000 0.255319 +vt 0.250000 0.255319 +vt 0.025000 0.255319 +vt 1.000000 0.255319 +vt 1.000000 0.276596 +vt 0.800000 0.255319 +vt 0.525000 0.255319 +vt 0.025000 0.191489 +vt 0.050000 0.255319 +vt 0.500000 0.255319 +vt 0.775000 0.191489 +vt 0.775000 0.255319 +vt 0.800000 0.191489 +vt 1.000000 0.191489 +vt 0.800000 0.170213 +vt 1.000000 0.170213 +vt 0.025000 0.170213 +vt 0.775000 0.170213 +vt 0.250000 0.851064 +vt 0.150000 0.893617 +vt 0.150000 0.851064 +vt 0.250000 0.893617 +vt 0.275000 0.851064 +vt 0.275000 0.893617 +vt 0.125000 0.893617 +vt 0.125000 0.851064 +vt 0.250000 0.914894 +vt 0.150000 0.914894 +vt 0.150000 0.829787 +vt 0.250000 0.829787 +vt 0.350000 0.914894 +vt 0.300000 0.936170 +vt 0.300000 0.914894 +vt 0.300000 0.829787 +vt 0.350000 0.829787 +vt 0.375000 0.829787 +vt 0.275000 0.829787 +vt 0.425000 0.914894 +vt 0.425000 0.829787 +vt 0.250000 0.170213 +vt 0.550000 0.000000 +vt 0.500000 0.191489 +vt 0.550000 0.829787 +vt 0.500000 0.829787 +vt 0.050000 0.829787 +vt 0.800000 0.829787 +vt 0.350000 0.936170 +vt 0.375000 0.914894 +vt 0.275000 0.914894 +vn -0.5774 0.5774 0.5773 +vn 0.0000 0.7071 0.7071 +vn -0.5774 0.5774 -0.5773 +vn 0.0000 1.0000 0.0000 +vn -0.7071 0.7071 0.0000 +vn 0.0000 0.7071 -0.7071 +vn -1.0000 0.0000 0.0000 +vn -0.7071 0.0000 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.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.0000 -0.7071 -0.7071 +vn -0.7071 -0.7071 0.0000 +vn -0.5774 -0.5773 -0.5774 +vn 0.0000 -0.7071 0.7071 +vn -0.5774 -0.5773 0.5774 +vn 0.7071 -0.7071 0.0000 +vn 0.5774 -0.5773 0.5774 +vn 0.5774 -0.5773 -0.5774 +vn 0.7071 0.7071 0.0000 +vn 0.5774 0.5774 0.5774 +vn 0.5774 0.5774 -0.5774 +vn -0.5000 -0.8660 0.0000 +vn -0.8660 0.5000 0.0000 +vn 0.8660 -0.5000 0.0000 +s off +f 325/354/59 221/355/59 327/356/59 +f 218/357/60 325/358/60 324/359/60 +f 326/360/61 220/361/61 322/362/61 +f 220/363/62 218/364/62 219/365/62 +f 220/366/63 327/356/63 221/367/63 +f 322/362/64 219/365/64 323/368/64 +f 226/369/62 224/370/62 222/371/62 +f 229/372/62 223/373/62 225/374/62 +f 230/375/62 225/376/62 224/377/62 +f 223/378/62 232/379/62 222/380/62 +f 228/381/62 233/382/62 223/383/62 +f 222/384/62 232/379/62 226/385/62 +f 224/386/62 227/387/62 230/388/62 +f 225/389/62 231/390/62 229/391/62 +f 238/392/65 231/390/65 230/375/65 +f 239/393/66 229/391/66 231/390/66 +f 240/394/67 226/385/67 232/379/67 +f 234/395/68 227/387/68 226/369/68 +f 233/396/69 240/394/69 232/379/69 +f 235/397/70 230/388/70 227/387/70 +f 236/398/71 233/382/71 228/381/71 +f 237/399/72 228/381/72 229/372/72 +f 245/400/73 242/401/73 243/402/73 +f 242/401/74 235/397/74 234/395/74 +f 238/392/75 245/403/75 239/393/75 +f 238/404/76 235/397/76 244/405/76 +f 245/406/77 236/398/77 237/399/77 +f 239/393/78 245/407/78 237/408/78 +f 243/409/79 240/394/79 241/410/79 +f 241/411/80 236/398/80 243/412/80 +f 240/394/81 242/413/81 234/414/81 +f 248/415/73 250/416/73 246/417/73 +f 247/418/73 253/419/73 249/420/73 +f 249/421/73 254/422/73 248/423/73 +f 256/424/73 247/425/73 246/426/73 +f 252/427/73 247/428/73 257/429/73 +f 246/430/73 250/431/73 256/424/73 +f 248/432/73 254/433/73 251/434/73 +f 249/435/73 253/436/73 255/437/73 +f 261/438/72 276/439/72 260/440/72 +f 278/441/68 271/442/68 270/443/68 +f 281/444/65 272/445/65 273/446/65 +f 280/447/70 270/443/70 272/445/70 +f 273/446/73 265/448/73 260/440/73 +f 272/445/73 262/449/73 266/450/73 +f 273/446/73 266/451/73 267/452/73 +f 268/453/73 271/442/73 259/454/73 +f 264/455/72 253/419/72 252/427/72 +f 265/448/66 255/437/66 253/436/66 +f 262/449/68 250/416/68 251/434/68 +f 270/443/73 263/456/73 262/449/73 +f 269/457/71 252/427/71 257/429/71 +f 268/453/69 257/458/69 256/424/69 +f 267/452/65 254/422/65 255/437/65 +f 263/459/67 256/424/67 250/431/67 +f 261/438/73 269/457/73 258/460/73 +f 266/450/70 251/434/70 254/433/70 +f 259/454/73 269/461/73 268/453/73 +f 261/438/73 265/462/73 264/455/73 +f 275/463/69 258/464/69 259/454/69 +f 260/440/66 281/444/66 273/446/66 +f 279/465/67 259/454/67 271/442/67 +f 274/466/71 261/438/71 258/460/71 +f 278/441/62 283/467/62 279/465/62 +f 280/447/62 282/468/62 278/441/62 +f 287/469/62 280/447/62 281/444/62 +f 281/444/62 285/470/62 287/469/62 +f 277/471/62 285/472/62 276/439/62 +f 289/473/62 277/471/62 274/466/62 +f 275/463/62 289/474/62 274/475/62 +f 279/465/62 288/476/62 275/463/62 +f 289/473/71 292/477/71 284/478/71 +f 295/479/65 286/480/65 287/469/65 +f 290/481/68 283/467/68 282/468/68 +f 293/482/66 287/469/66 285/470/66 +f 291/483/67 288/476/67 283/484/67 +f 296/485/69 289/474/69 288/476/69 +f 284/478/72 293/486/72 285/472/72 +f 294/487/70 282/468/70 286/488/70 +f 290/481/73 303/489/73 291/490/73 +f 290/481/73 304/491/73 302/492/73 +f 305/493/73 294/494/73 295/479/73 +f 293/482/73 305/493/73 295/479/73 +f 292/477/73 300/495/73 293/486/73 +f 297/496/73 301/497/73 292/477/73 +f 296/485/73 298/498/73 297/499/73 +f 303/489/73 296/485/73 291/483/73 +f 311/500/67 299/501/67 303/489/67 +f 312/502/70 302/492/70 304/491/70 +f 306/503/71 301/497/71 298/504/71 +f 307/505/69 298/498/69 299/501/69 +f 313/506/65 304/491/65 305/493/65 +f 308/507/66 305/493/66 300/495/66 +f 310/508/68 303/489/68 302/492/68 +f 309/509/72 300/495/72 301/497/72 +f 310/508/62 315/510/62 311/500/62 +f 312/502/62 314/511/62 310/508/62 +f 319/512/62 312/502/62 313/506/62 +f 313/506/62 317/513/62 319/512/62 +f 309/509/62 317/514/62 308/507/62 +f 321/515/62 309/509/62 306/503/62 +f 307/505/62 321/516/62 306/517/62 +f 311/500/62 320/518/62 307/505/62 +f 326/360/70 314/511/70 318/519/70 +f 329/520/71 316/521/71 321/515/71 +f 327/356/65 318/522/65 319/512/65 +f 314/511/68 323/368/68 315/510/68 +f 325/354/66 319/512/66 317/513/66 +f 323/523/67 320/518/67 315/524/67 +f 328/525/69 321/516/69 320/518/69 +f 324/359/72 317/514/72 316/521/72 +f 329/526/82 219/527/82 218/528/82 +f 329/520/83 218/529/83 324/359/83 +f 328/525/84 323/523/84 219/530/84 +f 224/370/68 246/417/68 222/371/68 +f 249/421/65 224/377/65 225/376/65 +f 223/373/72 249/420/72 225/374/72 +f 222/380/69 247/425/69 223/378/69 +f 334/531/65 336/532/65 335/533/65 +f 337/534/68 332/535/68 333/536/68 +f 335/533/72 331/537/72 330/538/72 +f 336/532/73 333/539/73 331/540/73 +f 334/531/62 330/541/62 332/542/62 +f 342/543/85 344/544/85 343/545/85 +f 342/543/86 338/546/86 340/547/86 +f 341/548/68 342/543/68 340/547/68 +f 343/545/72 339/549/72 338/546/72 +f 344/550/87 341/548/87 339/551/87 +f 218/357/60 221/552/60 325/358/60 +f 220/363/62 221/553/62 218/364/62 +f 220/366/63 326/554/63 327/356/63 +f 322/362/64 220/363/64 219/365/64 +f 226/369/62 227/387/62 224/370/62 +f 229/372/62 228/381/62 223/373/62 +f 230/375/62 231/390/62 225/376/62 +f 223/378/62 233/396/62 232/379/62 +f 238/392/65 239/393/65 231/390/65 +f 239/393/66 237/408/66 229/391/66 +f 240/394/67 234/414/67 226/385/67 +f 234/395/68 235/397/68 227/387/68 +f 233/396/69 241/410/69 240/394/69 +f 235/397/70 238/404/70 230/388/70 +f 236/398/71 241/411/71 233/382/71 +f 237/399/72 236/398/72 228/381/72 +f 245/400/73 244/555/73 242/401/73 +f 242/401/74 244/555/74 235/397/74 +f 238/392/75 244/556/75 245/403/75 +f 245/406/77 243/557/77 236/398/77 +f 243/409/79 242/558/79 240/394/79 +f 248/415/73 251/434/73 250/416/73 +f 247/418/73 252/427/73 253/419/73 +f 249/421/73 255/437/73 254/422/73 +f 256/424/73 257/458/73 247/425/73 +f 261/438/72 277/471/72 276/439/72 +f 278/441/68 279/465/68 271/442/68 +f 281/444/65 280/447/65 272/445/65 +f 280/447/70 278/441/70 270/443/70 +f 273/446/73 267/452/73 265/448/73 +f 272/445/73 270/443/73 262/449/73 +f 273/446/73 272/445/73 266/451/73 +f 268/453/73 263/459/73 271/442/73 +f 264/455/72 265/462/72 253/419/72 +f 265/448/66 267/452/66 255/437/66 +f 262/449/68 263/456/68 250/416/68 +f 270/443/73 271/442/73 263/456/73 +f 269/457/71 264/455/71 252/427/71 +f 268/453/69 269/461/69 257/458/69 +f 267/452/65 266/451/65 254/422/65 +f 263/459/67 268/453/67 256/424/67 +f 261/438/73 264/455/73 269/457/73 +f 266/450/70 262/449/70 251/434/70 +f 259/454/73 258/464/73 269/461/73 +f 261/438/73 260/440/73 265/462/73 +f 275/463/69 274/475/69 258/464/69 +f 260/440/66 276/439/66 281/444/66 +f 279/465/67 275/463/67 259/454/67 +f 274/466/71 277/471/71 261/438/71 +f 278/441/62 282/468/62 283/467/62 +f 280/447/62 286/488/62 282/468/62 +f 287/469/62 286/480/62 280/447/62 +f 281/444/62 276/439/62 285/470/62 +f 277/471/62 284/478/62 285/472/62 +f 289/473/62 284/478/62 277/471/62 +f 275/463/62 288/476/62 289/474/62 +f 279/465/62 283/484/62 288/476/62 +f 289/473/71 297/496/71 292/477/71 +f 295/479/65 294/494/65 286/480/65 +f 290/481/68 291/490/68 283/467/68 +f 293/482/66 295/479/66 287/469/66 +f 291/483/67 296/485/67 288/476/67 +f 296/485/69 297/499/69 289/474/69 +f 284/478/72 292/477/72 293/486/72 +f 294/487/70 290/481/70 282/468/70 +f 290/481/73 302/492/73 303/489/73 +f 290/481/73 294/487/73 304/491/73 +f 305/493/73 304/491/73 294/494/73 +f 293/482/73 300/495/73 305/493/73 +f 292/477/73 301/497/73 300/495/73 +f 297/496/73 298/504/73 301/497/73 +f 296/485/73 299/501/73 298/498/73 +f 303/489/73 299/501/73 296/485/73 +f 311/500/67 307/505/67 299/501/67 +f 312/502/70 310/508/70 302/492/70 +f 306/503/71 309/509/71 301/497/71 +f 307/505/69 306/517/69 298/498/69 +f 313/506/65 312/502/65 304/491/65 +f 308/507/66 313/506/66 305/493/66 +f 310/508/68 311/500/68 303/489/68 +f 309/509/72 308/507/72 300/495/72 +f 310/508/62 314/511/62 315/510/62 +f 312/502/62 318/519/62 314/511/62 +f 319/512/62 318/522/62 312/502/62 +f 313/506/62 308/507/62 317/513/62 +f 309/509/62 316/521/62 317/514/62 +f 321/515/62 316/521/62 309/509/62 +f 307/505/62 320/518/62 321/516/62 +f 311/500/62 315/524/62 320/518/62 +f 326/360/70 322/362/70 314/511/70 +f 329/520/71 324/359/71 316/521/71 +f 327/356/65 326/554/65 318/522/65 +f 314/511/68 322/362/68 323/368/68 +f 325/354/66 327/356/66 319/512/66 +f 323/523/67 328/525/67 320/518/67 +f 328/525/69 329/526/69 321/516/69 +f 324/359/72 325/358/72 317/514/72 +f 329/526/82 328/525/82 219/527/82 +f 224/370/68 248/415/68 246/417/68 +f 249/421/65 248/423/65 224/377/65 +f 223/373/72 247/418/72 249/420/72 +f 222/380/69 246/426/69 247/425/69 +f 334/531/65 337/534/65 336/532/65 +f 337/534/68 334/531/68 332/535/68 +f 335/533/72 336/532/72 331/537/72 +f 336/532/73 337/534/73 333/539/73 +f 334/531/62 335/533/62 330/541/62 +f 342/543/85 345/559/85 344/544/85 +f 342/543/86 343/545/86 338/546/86 +f 341/548/68 345/560/68 342/543/68 +f 343/545/72 344/561/72 339/549/72 +f 344/550/87 345/560/87 341/548/87 +o Tail +v -2.100001 9.150000 13.650000 +v 2.099998 9.150000 13.650000 +v -2.100001 9.150000 9.450000 +v 2.099998 9.150000 9.450000 +v 2.099999 15.450000 7.349999 +v -2.100000 15.450000 7.349999 +v 2.099998 11.250000 7.349999 +v -2.100001 11.250000 7.349999 +v -1.050001 10.200000 2.100000 +v 1.049999 10.200000 2.100000 +v -1.050001 12.299999 2.100000 +v 1.049999 12.299999 2.100000 +v -3.150002 0.750000 14.699999 +v 3.149997 0.750000 14.699999 +v -3.150002 0.750000 8.400000 +v 3.149997 0.750000 8.400000 +v -4.200002 -2.400000 15.749999 +v 4.199996 -2.400000 15.749999 +v -3.150002 -4.500000 8.400000 +v 3.149997 -4.500000 8.400000 +v -4.200002 -8.699997 12.599999 +v 4.199996 -8.699997 12.599999 +v -4.200002 -8.699997 17.849998 +v 4.199996 -8.699997 17.849998 +v -3.150002 -4.500000 22.049999 +v 3.149997 -4.500000 22.049999 +v 3.149997 0.750000 22.049999 +v -3.150002 0.750000 22.049999 +v 2.099998 7.049999 14.699999 +v -2.100001 7.049999 14.699999 +v -3.150002 0.750000 16.799999 +v 3.149997 0.750000 16.799999 +vt 0.576923 0.192308 +vt 0.730769 0.153846 +vt 0.730769 0.192308 +vt 0.730769 0.000000 +vt 0.615385 0.096154 +vt 0.653846 -0.000000 +vt 0.346154 -0.000000 +vt 0.461538 0.096154 +vt 0.307692 0.096154 +vt 0.500000 -0.000000 +vt 0.269231 -0.000000 +vt 0.153846 0.096154 +vt 0.192308 -0.000000 +vt 0.461538 0.250000 +vt 0.576923 0.153846 +vt 0.307692 0.250000 +vt 0.192308 0.192308 +vt 0.461538 0.250000 +vt 0.269231 0.403846 +vt 0.307692 0.250000 +vt 0.961538 0.250000 +vt 0.769231 0.403846 +vt 0.807692 0.250000 +vt 0.538462 0.250000 +vt 0.730769 0.403846 +vt 0.500000 0.403846 +vt 0.076923 0.250000 +vt 0.038462 0.403846 +vt 0.500000 0.788462 +vt 0.692308 0.826923 +vt 0.500000 0.884615 +vt 0.269231 0.500000 +vt 0.076923 0.884615 +vt 0.076923 0.826923 +vt 0.269231 0.884615 +vt 0.500000 0.500000 +vt 0.230769 0.596154 +vt 0.538462 0.500000 +vt 0.769231 0.548077 +vt 0.538462 0.596154 +vt 0.230769 0.500000 +vt -0.000000 0.548077 +vt 0.230769 0.692308 +vt 0.538462 0.692308 +vt 0.269231 0.788462 +vt 1.000000 0.403846 +vt 0.769231 0.500000 +vt 0.923077 0.826923 +vt 0.730769 0.942308 +vt 0.769231 0.826923 +vt 0.730769 0.500000 +vt 0.769231 0.740385 +vt 0.538462 0.788462 +vt 0.307692 1.000000 +vt 0.230769 0.788462 +vt -0.000000 0.740385 +vt 0.769231 0.644231 +vt -0.000000 0.644231 +vt 1.000000 1.000000 +vt 0.692308 1.000000 +vt 0.076923 1.000000 +vt 0.692308 1.000000 +vt 0.692308 0.884615 +vt -0.000000 0.500000 +vt 0.769231 0.096154 +vt 0.423077 0.000000 +vt 0.576923 -0.000000 +vt 0.192308 0.153846 +vt 0.692308 0.250000 +vt 0.230769 0.250000 +vt 1.000000 0.500000 +vt 0.961538 0.942308 +vt 0.461538 1.000000 +vn 0.0000 -0.7071 -0.7071 +vn 0.0000 -0.9806 0.1961 +vn 0.0000 0.8575 -0.5145 +vn -0.9806 0.0000 -0.1961 +vn 0.9806 0.0000 -0.1961 +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.1240 -0.9923 +vn 0.0000 0.1240 0.9923 +vn 0.9923 0.1240 0.0000 +vn -0.9923 0.1240 0.0000 +vn 0.9864 0.0000 0.1644 +vn 0.0000 0.0000 -1.0000 +vn -0.9487 0.3162 0.0000 +vn 0.9831 0.0819 -0.1638 +vn -0.9831 0.0819 -0.1638 +vn 0.0000 -1.0000 0.0000 +vn 0.0000 -0.7071 0.7071 +vn 0.0000 0.3162 0.9487 +vn 0.0000 -0.3162 -0.9487 +vn 0.9487 0.3162 0.0000 +vn 0.9810 0.0613 0.1839 +vn 0.0000 0.7593 0.6508 +vn 0.0000 0.0000 1.0000 +vn -0.9810 0.0613 0.1839 +vn 0.0000 0.3162 -0.9487 +vn -0.9864 0.1644 0.0000 +vn 0.9864 0.1644 0.0000 +vn 0.9899 0.0000 -0.1414 +vn -0.9899 0.0000 -0.1414 +vn -0.9864 0.0000 0.1644 +s off +f 348/562/88 352/563/88 349/564/88 +f 355/565/89 353/566/89 354/567/89 +f 357/568/90 351/569/90 350/570/90 +f 356/571/91 353/566/91 351/569/91 +f 357/572/92 352/573/92 355/574/92 +f 346/575/93 353/576/93 348/562/93 +f 347/577/94 351/569/94 346/575/94 +f 349/578/95 350/570/95 347/577/95 +f 349/579/96 360/580/96 348/581/96 +f 346/582/97 359/583/97 347/584/97 +f 349/585/98 359/586/98 361/587/98 +f 346/588/99 360/580/99 358/589/99 +f 371/590/100 363/591/100 372/592/100 +f 361/587/101 364/593/101 360/580/101 +f 376/594/102 362/595/102 373/596/102 +f 365/597/88 366/598/88 364/593/88 +f 365/599/103 363/600/103 367/601/103 +f 364/602/104 366/598/104 362/603/104 +f 367/601/105 368/604/105 366/598/105 +f 369/605/106 370/606/106 368/604/106 +f 358/607/107 363/608/107 359/583/107 +f 374/609/108 376/610/108 375/611/108 +f 359/586/109 363/612/109 361/587/109 +f 369/605/110 363/613/110 371/614/110 +f 372/592/111 375/615/111 373/596/111 +f 371/590/112 373/596/112 370/606/112 +f 368/604/113 370/616/113 362/617/113 +f 367/601/95 363/618/95 369/605/95 +f 366/598/93 368/604/93 362/619/93 +f 376/610/114 363/620/114 362/621/114 +f 373/596/115 375/622/115 376/594/115 +f 374/623/116 372/592/116 377/624/116 +f 358/589/102 360/580/102 362/625/102 +f 372/592/109 363/591/109 377/624/109 +f 361/587/117 363/612/117 365/597/117 +f 362/625/118 360/580/118 364/593/118 +f 373/596/119 362/595/119 370/606/119 +f 348/562/88 353/576/88 352/563/88 +f 355/565/89 352/626/89 353/566/89 +f 357/568/90 356/627/90 351/569/90 +f 356/571/91 354/628/91 353/566/91 +f 357/572/92 350/570/92 352/573/92 +f 346/575/93 351/569/93 353/576/93 +f 347/577/94 350/570/94 351/569/94 +f 349/578/95 352/629/95 350/570/95 +f 349/579/96 361/587/96 360/580/96 +f 346/582/97 358/607/97 359/583/97 +f 349/585/98 347/630/98 359/586/98 +f 346/588/99 348/631/99 360/580/99 +f 361/587/101 365/597/101 364/593/101 +f 365/597/88 367/601/88 366/598/88 +f 367/601/105 369/605/105 368/604/105 +f 369/605/106 371/590/106 370/606/106 +f 358/607/107 362/632/107 363/608/107 +f 374/609/108 377/633/108 376/610/108 +f 372/592/111 374/634/111 375/615/111 +f 371/590/112 372/592/112 373/596/112 +f 376/610/114 377/633/114 363/620/114 +o RightLeg +v 0.100000 23.250000 -3.675000 +v -4.100000 23.250000 -3.675000 +v 0.100000 24.299999 -3.675000 +v -4.100000 24.299999 -3.675000 +v 0.099999 11.700001 2.100000 +v -4.100001 11.700001 2.100000 +v 0.099999 11.700001 -2.100000 +v -4.100001 11.700001 -2.100000 +v -0.950001 16.950001 -2.100000 +v -3.050000 16.950001 -2.100000 +v -1.475001 19.049999 -2.100000 +v -2.525001 19.049999 -2.100000 +v -0.950001 18.000000 -2.100000 +v -3.050000 18.000000 -2.100000 +v -1.475000 19.575001 -2.100000 +v -2.525001 19.575001 -2.100000 +v -1.475001 19.049999 -2.625000 +v -0.950001 16.950001 -2.625000 +v -3.050000 16.950001 -2.625000 +v -2.525001 19.049999 -2.625000 +v -4.100001 18.000000 -2.100000 +v 0.099999 18.000000 -2.100000 +v -4.100001 18.000000 0.000000 +v 0.099999 18.000000 0.000000 +v -4.100001 19.049999 2.100000 +v 0.099999 19.049999 2.100000 +v -0.950001 18.000000 -2.625000 +v -3.050000 18.000000 -2.625000 +v -1.475000 19.575001 -2.625000 +v -2.525001 19.575001 -2.625000 +v -4.100001 18.000000 -2.625000 +v 0.099999 18.000000 -2.625000 +v 0.625000 18.000000 -2.100000 +v 0.625000 18.000000 0.000000 +v 0.625000 19.049999 2.100000 +v -4.625000 18.000000 -2.100000 +v -4.625000 18.000000 0.000000 +v -4.625000 19.049999 2.100000 +v -4.100001 19.049999 2.625000 +v 0.099999 19.049999 2.625000 +v -4.100001 16.424999 -2.100000 +v 0.099999 16.424999 -2.100000 +v -4.100001 16.424999 -2.625000 +v 0.099999 16.424999 -2.625000 +v 0.624999 16.424999 -2.100000 +v -4.625000 16.424999 -2.100000 +v -4.100001 16.424999 2.100000 +v 0.099999 16.424999 2.100000 +v 0.624999 16.424999 2.100000 +v -4.625000 16.424999 2.100000 +v -4.100001 16.424999 2.625000 +v 0.099999 16.424999 2.625000 +v 0.099999 13.275000 -2.625000 +v 0.099999 13.275000 -2.100000 +v -4.100001 13.275000 -2.100000 +v -4.100001 13.275000 -2.625000 +v 0.624999 13.275000 -2.100000 +v -4.625001 13.275000 -2.100000 +v 0.099999 13.275000 2.100000 +v 0.624999 13.275000 2.100000 +v -4.625001 13.275000 2.100000 +v -4.100001 13.275000 2.100000 +v -4.100001 13.275000 2.625000 +v 0.099999 13.275000 2.625000 +v -4.100000 21.674999 -2.625000 +v 0.100000 21.674999 -2.625000 +v 0.625000 21.674999 -2.100000 +v -4.625000 21.674999 -2.100000 +v 0.625000 21.674999 2.100000 +v -4.625000 21.674999 2.100000 +v -4.100000 21.674999 2.625000 +v 0.100000 21.674999 2.625000 +v 0.100000 21.674999 2.100000 +v -4.100000 21.674999 2.100000 +v 0.100000 21.674999 -2.100000 +v -4.100000 21.674999 -2.100000 +v -4.100000 22.200001 -2.625000 +v 0.100000 22.200001 -2.625000 +v 0.625000 22.200001 -2.100000 +v -4.625000 22.200001 -2.100000 +v 0.625000 22.200001 2.100000 +v -4.625000 22.200001 2.100000 +v -4.100000 22.200001 2.625000 +v 0.100000 22.200001 2.625000 +v 0.100000 22.200001 2.100000 +v -4.100000 22.200001 2.100000 +v 0.100000 22.200001 -2.100000 +v -4.100000 22.200001 -2.100000 +v -4.100000 24.299999 -2.625000 +v -4.625000 24.299999 -2.100000 +v 0.100000 24.299999 -2.625000 +v 0.625000 24.299999 -2.100000 +v -4.625000 24.299999 2.100000 +v -4.100000 24.299999 2.625000 +v 0.625000 24.299999 2.100000 +v 0.100000 24.299999 2.625000 +v -1.475000 20.110409 -3.209024 +v -2.525000 20.110409 -3.209024 +v -1.475000 20.469528 -4.195702 +v -2.525000 20.469528 -4.195702 +v -0.425000 23.070438 -2.131661 +v -3.575000 23.070440 -2.131661 +v -0.425000 23.429560 -3.118338 +v -3.575000 23.429560 -3.118338 +v -2.525000 23.070440 -2.131661 +v -2.525000 23.429560 -3.118338 +v -1.475000 23.070440 -2.131661 +v -1.475000 23.429560 -3.118338 +v -2.000000 21.097086 -2.849903 +v -2.000000 21.456205 -3.836581 +vt 0.395833 1.000000 +vt 0.562500 0.800000 +vt 0.562500 1.000000 +vt 0.375000 0.150000 +vt 0.208333 0.125000 +vt 0.375000 0.125000 +vt 0.791667 -0.000000 +vt 0.979167 0.025000 +vt 0.958333 0.250000 +vt 0.791667 0.300000 +vt 0.791667 0.250000 +vt 0.770833 0.525000 +vt 0.833333 0.425000 +vt 0.854167 0.525000 +vt 0.833333 0.400000 +vt 0.791667 0.425000 +vt 0.791667 0.400000 +vt 0.770833 0.550000 +vt 0.854167 0.550000 +vt 0.750000 0.425000 +vt 0.750000 0.525000 +vt 0.875000 0.525000 +vt 0.854167 0.425000 +vt 0.875000 0.425000 +vt 0.520833 0.375000 +vt 0.562500 0.350000 +vt 0.562500 0.375000 +vt 0.437500 0.375000 +vt 0.458333 0.350000 +vt 0.458333 0.375000 +vt 0.500000 0.350000 +vt 0.500000 0.375000 +vt 0.520833 0.350000 +vt 0.395833 0.375000 +vt 0.437500 0.350000 +vt 0.666667 0.375000 +vt 0.750000 0.350000 +vt 0.750000 0.375000 +vt 0.583333 0.375000 +vt 0.666667 0.350000 +vt 0.208333 0.375000 +vt 0.291667 0.350000 +vt 0.291667 0.375000 +vt 0.375000 0.350000 +vt 0.375000 0.375000 +vt 0.020833 0.300000 +vt 0.187500 0.325000 +vt 0.020833 0.325000 +vt 0.208333 0.350000 +vt 0.187500 0.375000 +vt 0.000000 0.325000 +vt 0.375000 0.375000 +vt 0.395833 0.350000 +vt 0.562500 0.375000 +vt 0.583333 0.350000 +vt 0.395833 0.525000 +vt 0.395833 0.550000 +vt 0.375000 0.525000 +vt 0.583333 0.525000 +vt 0.583333 0.550000 +vt 0.562500 0.525000 +vt 0.562500 0.525000 +vt 0.562500 0.550000 +vt 0.208333 0.550000 +vt 0.375000 0.525000 +vt 0.375000 0.550000 +vt 0.750000 0.525000 +vt 0.187500 0.550000 +vt 0.020833 0.525000 +vt 0.187500 0.525000 +vt 0.208333 0.525000 +vt 0.187500 0.525000 +vt -0.000000 0.525000 +vt 0.020833 0.550000 +vt 0.395833 0.725000 +vt 0.375000 0.725000 +vt 0.395833 0.700000 +vt 0.583333 0.725000 +vt 0.562500 0.725000 +vt 0.583333 0.700000 +vt 0.562500 0.725000 +vt 0.562500 0.700000 +vt 0.375000 0.725000 +vt 0.208333 0.700000 +vt 0.375000 0.700000 +vt 0.750000 0.725000 +vt 0.020833 0.725000 +vt 0.187500 0.700000 +vt 0.187500 0.725000 +vt 0.208333 0.725000 +vt 0.187500 0.725000 +vt 0.000000 0.725000 +vt 0.020833 0.700000 +vt 0.791667 0.350000 +vt 0.958333 0.300000 +vt 0.958333 0.350000 +vt -0.000000 0.700000 +vt -0.000000 0.550000 +vt 0.750000 0.550000 +vt 0.791667 0.400000 +vt 0.958333 0.400000 +vt 0.750000 0.300000 +vt 1.000000 0.300000 +vt 0.583333 0.175000 +vt 0.375000 0.175000 +vt 0.395833 0.175000 +vt 0.458333 0.275000 +vt 0.562500 0.175000 +vt -0.000000 0.300000 +vt 0.020833 0.175000 +vt 0.187500 0.300000 +vt 0.208333 0.175000 +vt 0.208333 0.300000 +vt 0.750000 0.175000 +vt 0.750000 0.300000 +vt 0.187500 0.175000 +vt 0.395833 0.150000 +vt 0.562500 0.150000 +vt 0.375000 0.150000 +vt 0.020833 0.150000 +vt 0.187500 0.150000 +vt 0.208333 0.150000 +vt 0.562500 0.150000 +vt 0.583333 0.150000 +vt -0.000000 0.150000 +vt 0.750000 0.150000 +vt 0.395833 0.125000 +vt 0.562500 0.100000 +vt 0.562500 0.125000 +vt 0.208333 0.100000 +vt 0.375000 0.100000 +vt 0.375000 0.125000 +vt 0.395833 0.100000 +vt 0.020833 0.125000 +vt 0.187500 0.100000 +vt 0.187500 0.125000 +vt 0.187500 0.125000 +vt 0.583333 0.100000 +vt 0.583333 0.125000 +vt 0.562500 0.125000 +vt 0.020833 0.100000 +vt -0.000000 0.125000 +vt 0.750000 0.125000 +vt 0.750000 0.100000 +vt 0.562500 0.000000 +vt 0.583333 0.000000 +vt 0.750000 0.000000 +vt 0.187500 0.000000 +vt 0.208333 -0.000000 +vt 0.395833 -0.000000 +vt 0.375000 -0.000000 +vt -0.000000 0.100000 +vt 0.020833 0.000000 +vt 0.187500 0.400000 +vt 0.020833 0.400000 +vt 0.208333 0.400000 +vt 0.291667 0.450000 +vt 0.666667 0.450000 +vt 0.520833 0.450000 +vt 0.437500 0.450000 +vt 0.395833 0.800000 +vt 0.375000 0.800000 +vt 0.208333 0.800000 +vt 0.187500 0.800000 +vt 0.020833 0.800000 +vt 0.750000 0.800000 +vt 0.583333 0.800000 +vt 0.687500 0.950000 +vt 0.729167 0.900000 +vt 0.729167 0.950000 +vt 0.562500 0.900000 +vt 0.687500 0.900000 +vt 0.854167 0.900000 +vt 0.854167 0.950000 +vt 0.562500 0.850000 +vt 0.645833 0.800000 +vt 0.645833 0.850000 +vt 0.854167 0.850000 +vt 0.770833 0.800000 +vt 0.854167 0.800000 +vt 0.645833 1.000000 +vt 0.562500 0.950000 +vt 0.770833 1.000000 +vt 0.708333 1.000000 +vt 0.770833 0.850000 +vt 0.708333 0.850000 +vt 0.770833 0.225000 +vt 0.770833 0.025000 +vt 0.958333 -0.000000 +vt 0.979167 0.225000 +vt 0.770833 0.425000 +vt 0.750000 0.700000 +vt 0.750000 0.400000 +vt 1.000000 0.400000 +vt 0.500000 0.275000 +vt 0.000000 0.175000 +vt -0.000000 0.000000 +vt 0.375000 0.450000 +vt 0.583333 0.450000 +vt 0.750000 0.400000 +vt 0.395833 0.450000 +vt 0.562500 0.450000 +vt 0.562500 0.800000 +vt 0.562500 1.000000 +vt 0.854167 1.000000 +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.9701 0.2425 0.0000 +vn 0.9701 0.2425 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.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 1.0000 -0.0000 0.0000 +vn 0.0000 -0.7071 -0.7071 +vn -0.7071 0.0000 -0.7071 +vn 0.0000 -0.9397 -0.3420 +vn -0.9487 -0.2972 -0.1082 +vn 0.9487 -0.2972 -0.1082 +vn 0.9701 0.2279 0.0830 +vn -0.9701 0.2279 0.0830 +vn -0.0000 -0.3420 0.9397 +vn 0.0000 0.3420 -0.9397 +s off +f 383/635/120 384/636/120 382/637/120 +f 453/638/121 463/639/121 465/640/121 +f 471/641/122 472/642/122 468/643/122 +f 468/643/122 381/644/122 466/645/122 +f 396/646/123 394/647/123 395/648/123 +f 388/649/122 397/650/122 389/651/122 +f 387/652/120 395/648/120 386/653/120 +f 389/654/124 396/646/124 387/655/124 +f 386/656/125 394/657/125 388/658/125 +f 390/659/120 409/660/120 399/661/120 +f 391/662/126 407/663/126 393/664/126 +f 393/664/120 406/665/120 392/666/120 +f 392/666/127 404/667/127 390/659/127 +f 398/668/120 405/669/120 391/662/120 +f 401/670/128 412/671/128 403/672/128 +f 399/673/120 411/674/120 401/670/120 +f 402/675/128 414/676/128 400/677/128 +f 400/677/120 413/678/120 398/679/120 +f 417/680/120 402/681/120 403/682/120 +f 415/683/120 402/675/120 416/684/120 +f 403/682/120 412/685/120 417/680/120 +f 398/668/120 413/686/120 408/687/120 +f 399/673/120 409/688/120 410/689/120 +f 418/690/122 420/691/122 423/692/122 +f 419/693/122 422/694/122 421/695/122 +f 420/691/122 419/696/122 421/697/122 +f 427/698/122 418/699/122 423/700/122 +f 425/701/122 422/694/122 419/693/122 +f 428/702/122 425/703/122 424/704/122 +f 424/705/122 427/698/122 428/706/122 +f 426/707/122 425/703/122 429/708/122 +f 432/709/120 435/710/120 433/711/120 +f 431/712/120 430/713/120 434/714/120 +f 431/715/120 433/711/120 430/716/120 +f 432/717/120 438/718/120 435/719/120 +f 434/714/120 436/720/120 431/712/120 +f 436/721/120 440/722/120 439/723/120 +f 439/724/120 440/725/120 438/718/120 +f 437/726/120 441/727/120 436/721/120 +f 427/698/129 440/722/129 428/702/129 +f 428/702/130 441/727/130 429/708/130 +f 421/697/131 434/714/131 430/716/131 +f 379/728/123 380/729/123 378/730/123 +f 429/708/132 437/731/132 426/732/132 +f 421/697/123 433/711/123 420/691/123 +f 426/733/133 434/714/133 422/694/133 +f 423/700/121 438/718/121 427/698/121 +f 454/734/134 378/730/134 455/735/134 +f 379/728/121 466/736/121 381/644/121 +f 420/691/135 435/719/135 423/700/135 +f 468/737/133 378/730/133 380/729/133 +f 409/660/131 444/738/131 410/689/131 +f 408/687/135 445/739/135 442/740/135 +f 407/741/123 442/740/123 443/742/123 +f 412/743/132 449/744/132 417/680/132 +f 416/745/129 447/746/129 415/747/129 +f 446/748/133 412/749/133 411/674/133 +f 417/680/130 448/750/130 416/745/130 +f 445/739/121 414/676/121 447/746/121 +f 443/742/122 453/751/122 452/752/122 +f 447/746/122 453/638/122 445/739/122 +f 445/753/122 453/751/122 442/740/122 +f 448/750/122 450/754/122 451/755/122 +f 448/750/122 451/756/122 447/746/122 +f 444/738/122 443/757/122 452/758/122 +f 449/744/122 446/759/122 450/754/122 +f 444/738/122 450/760/122 446/748/122 +f 465/761/120 455/762/120 464/763/120 +f 465/640/120 459/764/120 457/765/120 +f 457/766/120 454/767/120 465/761/120 +f 462/768/120 460/769/120 463/770/120 +f 460/771/120 459/764/120 463/639/120 +f 456/772/120 464/773/120 455/774/120 +f 461/775/120 462/768/120 458/776/120 +f 462/777/120 456/772/120 458/778/120 +f 456/772/131 468/779/131 469/780/131 +f 456/772/133 472/781/133 458/778/133 +f 464/763/123 453/751/123 465/761/123 +f 461/775/130 471/782/130 460/769/130 +f 460/769/129 470/783/129 459/764/129 +f 457/765/135 466/784/135 454/767/135 +f 459/764/121 467/785/121 457/765/121 +f 458/786/132 473/787/132 461/775/132 +f 452/758/133 462/777/133 450/760/133 +f 451/755/130 462/768/130 463/770/130 +f 402/788/130 425/703/130 403/789/130 +f 424/705/121 402/790/121 400/791/121 +f 401/792/133 425/701/133 419/693/133 +f 390/793/123 393/664/123 392/666/123 +f 391/794/123 390/793/123 419/696/123 +f 432/709/123 384/636/123 385/795/123 +f 439/724/121 385/796/121 383/797/121 +f 436/721/130 383/798/130 382/799/130 +f 431/712/133 382/800/133 384/801/133 +f 475/802/136 476/803/136 474/804/136 +f 475/802/137 481/805/137 477/806/137 +f 474/804/138 480/807/138 478/808/138 +f 483/809/139 486/810/139 487/811/139 +f 485/812/140 486/813/140 484/814/140 +f 486/815/141 479/816/141 475/802/141 +f 478/808/141 486/817/141 474/804/141 +f 475/802/141 474/804/141 486/818/141 +f 487/819/142 480/807/142 476/803/142 +f 481/805/142 487/811/142 477/806/142 +f 476/803/142 477/806/142 487/820/142 +f 383/635/120 385/795/120 384/636/120 +f 453/638/121 451/756/121 463/639/121 +f 468/643/122 466/645/122 467/821/122 +f 467/821/122 470/822/122 471/641/122 +f 471/641/122 473/823/122 472/642/122 +f 472/642/122 469/824/122 468/643/122 +f 468/643/122 467/821/122 471/641/122 +f 468/643/122 380/729/122 381/644/122 +f 396/646/123 397/650/123 394/647/123 +f 388/649/122 394/647/122 397/650/122 +f 387/652/120 396/646/120 395/648/120 +f 389/654/124 397/825/124 396/646/124 +f 386/656/125 395/648/125 394/657/125 +f 390/659/120 404/667/120 409/660/120 +f 391/662/126 405/669/126 407/663/126 +f 393/664/120 407/663/120 406/665/120 +f 392/666/127 406/665/127 404/667/127 +f 398/668/120 408/687/120 405/669/120 +f 401/670/128 411/674/128 412/671/128 +f 399/673/120 410/689/120 411/674/120 +f 402/675/128 415/683/128 414/676/128 +f 400/677/120 414/676/120 413/678/120 +f 417/680/120 416/745/120 402/681/120 +f 420/691/122 418/690/122 419/696/122 +f 427/698/122 424/705/122 418/699/122 +f 425/701/122 426/733/122 422/694/122 +f 428/702/122 429/708/122 425/703/122 +f 431/715/120 432/709/120 433/711/120 +f 432/717/120 439/724/120 438/718/120 +f 434/714/120 437/826/120 436/720/120 +f 436/721/120 441/727/120 440/722/120 +f 427/698/129 438/718/129 440/722/129 +f 428/702/130 440/722/130 441/727/130 +f 421/697/131 422/694/131 434/714/131 +f 379/728/123 381/644/123 380/729/123 +f 429/708/132 441/727/132 437/731/132 +f 421/697/123 430/716/123 433/711/123 +f 426/733/133 437/826/133 434/714/133 +f 423/700/121 435/719/121 438/718/121 +f 454/734/134 379/728/134 378/730/134 +f 379/728/121 454/827/121 466/736/121 +f 420/691/135 433/711/135 435/719/135 +f 468/737/133 455/828/133 378/730/133 +f 409/660/131 443/742/131 444/738/131 +f 408/687/135 413/678/135 445/739/135 +f 407/741/123 405/669/123 408/687/123 +f 443/742/123 409/660/123 406/829/123 +f 409/660/123 404/667/123 406/829/123 +f 407/741/123 408/687/123 442/740/123 +f 443/742/123 406/829/123 407/741/123 +f 412/743/132 446/830/132 449/744/132 +f 416/745/129 448/750/129 447/746/129 +f 411/674/133 410/689/133 444/738/133 +f 444/738/133 446/748/133 411/674/133 +f 417/680/130 449/744/130 448/750/130 +f 413/678/121 414/676/121 445/739/121 +f 414/676/121 415/747/121 447/746/121 +f 443/742/122 442/740/122 453/751/122 +f 447/746/122 451/756/122 453/638/122 +f 448/750/122 449/744/122 450/754/122 +f 444/738/122 452/758/122 450/760/122 +f 465/761/120 454/767/120 455/762/120 +f 465/640/120 463/639/120 459/764/120 +f 462/768/120 461/775/120 460/769/120 +f 462/777/120 464/773/120 456/772/120 +f 456/772/131 455/762/131 468/779/131 +f 456/772/133 469/780/133 472/781/133 +f 464/763/123 452/752/123 453/751/123 +f 461/775/130 473/787/130 471/782/130 +f 460/769/129 471/782/129 470/783/129 +f 457/765/135 467/785/135 466/784/135 +f 459/764/121 470/783/121 467/785/121 +f 458/786/132 472/831/132 473/787/132 +f 452/758/133 464/773/133 462/777/133 +f 451/755/130 450/754/130 462/768/130 +f 402/788/130 424/704/130 425/703/130 +f 400/791/121 398/832/121 418/699/121 +f 418/699/121 424/705/121 400/791/121 +f 419/693/133 399/833/133 401/792/133 +f 401/792/133 403/834/133 425/701/133 +f 390/793/123 391/794/123 393/664/123 +f 418/690/123 398/835/123 391/794/123 +f 390/793/123 399/836/123 419/696/123 +f 418/690/123 391/794/123 419/696/123 +f 432/709/123 431/715/123 384/636/123 +f 439/724/121 432/717/121 385/796/121 +f 436/721/130 439/723/130 383/798/130 +f 431/712/133 436/720/133 382/800/133 +f 475/802/136 477/806/136 476/803/136 +f 475/802/137 479/816/137 481/805/137 +f 474/804/138 476/803/138 480/807/138 +f 483/809/139 482/837/139 486/810/139 +f 485/812/140 487/819/140 486/813/140 +f 486/815/141 482/838/141 479/816/141 +f 478/808/141 484/839/141 486/817/141 +f 487/819/142 485/812/142 480/807/142 +f 481/805/142 483/809/142 487/811/142 +o LeftLeg +v -0.100000 23.250000 -3.675000 +v 4.100000 23.250000 -3.675000 +v -0.100000 24.299999 -3.675000 +v 4.100000 24.299999 -3.675000 +v -0.100001 11.700001 2.100000 +v 4.099999 11.700001 2.100000 +v -0.100001 11.700001 -2.100000 +v 4.099999 11.700001 -2.100000 +v 0.949999 16.950001 -2.100000 +v 3.049999 16.950001 -2.100000 +v 1.475000 19.049999 -2.100000 +v 2.525000 19.049999 -2.100000 +v 0.950000 18.000000 -2.100000 +v 3.049999 18.000000 -2.100000 +v 1.475000 19.575001 -2.100000 +v 2.525000 19.575001 -2.100000 +v 1.475000 19.049999 -2.625000 +v 0.949999 16.950001 -2.625000 +v 3.049999 16.950001 -2.625000 +v 2.525000 19.049999 -2.625000 +v 4.099999 18.000000 -2.100000 +v -0.100000 18.000000 -2.100000 +v 4.099999 18.000000 0.000000 +v -0.100000 18.000000 0.000000 +v 4.099999 19.049999 2.100000 +v -0.100000 19.049999 2.100000 +v 0.950000 18.000000 -2.625000 +v 3.049999 18.000000 -2.625000 +v 1.475000 19.575001 -2.625000 +v 2.525000 19.575001 -2.625000 +v 4.099999 18.000000 -2.625000 +v -0.100000 18.000000 -2.625000 +v -0.625000 18.000000 -2.100000 +v -0.625000 18.000000 0.000000 +v -0.625000 19.049999 2.100000 +v 4.625000 18.000000 -2.100000 +v 4.625000 18.000000 0.000000 +v 4.625000 19.049999 2.100000 +v 4.099999 19.049999 2.625000 +v -0.100000 19.049999 2.625000 +v 4.099999 16.424999 -2.100000 +v -0.100001 16.424999 -2.100000 +v 4.099999 16.424999 -2.625000 +v -0.100001 16.424999 -2.625000 +v -0.625001 16.424999 -2.100000 +v 4.625000 16.424999 -2.100000 +v 4.099999 16.424999 2.100000 +v -0.100001 16.424999 2.100000 +v -0.625001 16.424999 2.100000 +v 4.625000 16.424999 2.100000 +v 4.099999 16.424999 2.625000 +v -0.100001 16.424999 2.625000 +v -0.100001 13.275000 -2.625000 +v -0.100001 13.275000 -2.100000 +v 4.099999 13.275000 -2.100000 +v 4.099999 13.275000 -2.625000 +v -0.625001 13.275000 -2.100000 +v 4.624999 13.275000 -2.100000 +v -0.100001 13.275000 2.100000 +v -0.625001 13.275000 2.100000 +v 4.624999 13.275000 2.100000 +v 4.099999 13.275000 2.100000 +v 4.099999 13.275000 2.625000 +v -0.100001 13.275000 2.625000 +v 4.100000 21.674999 -2.625000 +v -0.100000 21.674999 -2.625000 +v -0.625000 21.674999 -2.100000 +v 4.625000 21.674999 -2.100000 +v -0.625000 21.674999 2.100000 +v 4.625000 21.674999 2.100000 +v 4.100000 21.674999 2.625000 +v -0.100000 21.674999 2.625000 +v -0.100000 21.674999 2.100000 +v 4.100000 21.674999 2.100000 +v -0.100000 21.674999 -2.100000 +v 4.100000 21.674999 -2.100000 +v 4.100000 22.199999 -2.625000 +v -0.100000 22.200001 -2.625000 +v -0.625000 22.200001 -2.100000 +v 4.625000 22.199999 -2.100000 +v -0.625000 22.200001 2.100000 +v 4.625000 22.199999 2.100000 +v 4.100000 22.199999 2.625000 +v -0.100000 22.200001 2.625000 +v -0.100000 22.200001 2.100000 +v 4.100000 22.199999 2.100000 +v -0.100000 22.200001 -2.100000 +v 4.100000 22.199999 -2.100000 +v 4.100000 24.299999 -2.625000 +v 4.625000 24.299999 -2.100000 +v -0.100000 24.299999 -2.625000 +v -0.625000 24.299999 -2.100000 +v 4.625000 24.299999 2.100000 +v 4.100000 24.299999 2.625000 +v -0.625000 24.299999 2.100000 +v -0.100000 24.299999 2.625000 +v 1.475000 20.110407 -3.209024 +v 2.525000 20.110407 -3.209024 +v 1.475000 20.469528 -4.195702 +v 2.525000 20.469528 -4.195702 +v 0.425000 23.070438 -2.131661 +v 3.575000 23.070438 -2.131661 +v 0.425000 23.429560 -3.118338 +v 3.575000 23.429560 -3.118338 +v 2.525000 23.070438 -2.131661 +v 2.525000 23.429560 -3.118338 +v 1.475000 23.070438 -2.131661 +v 1.475000 23.429560 -3.118338 +v 2.000000 21.097084 -2.849903 +v 2.000000 21.456205 -3.836581 +vt 0.562500 0.800000 +vt 0.395833 1.000000 +vt 0.562500 1.000000 +vt 0.208333 0.125000 +vt 0.375000 0.150000 +vt 0.375000 0.125000 +vt 0.979167 0.025000 +vt 0.791667 -0.000000 +vt 0.770833 0.225000 +vt 0.791667 0.300000 +vt 0.958333 0.250000 +vt 0.791667 0.250000 +vt 0.833333 0.425000 +vt 0.770833 0.525000 +vt 0.854167 0.525000 +vt 0.791667 0.425000 +vt 0.833333 0.400000 +vt 0.791667 0.400000 +vt 0.770833 0.550000 +vt 0.854167 0.550000 +vt 0.750000 0.425000 +vt 0.750000 0.525000 +vt 0.854167 0.425000 +vt 0.875000 0.525000 +vt 0.875000 0.425000 +vt 0.562500 0.350000 +vt 0.520833 0.375000 +vt 0.562500 0.375000 +vt 0.458333 0.350000 +vt 0.437500 0.375000 +vt 0.458333 0.375000 +vt 0.500000 0.350000 +vt 0.500000 0.375000 +vt 0.520833 0.350000 +vt 0.437500 0.350000 +vt 0.395833 0.375000 +vt 0.750000 0.350000 +vt 0.666667 0.375000 +vt 0.750000 0.375000 +vt 0.666667 0.350000 +vt 0.583333 0.375000 +vt 0.291667 0.350000 +vt 0.208333 0.375000 +vt 0.291667 0.375000 +vt 0.375000 0.350000 +vt 0.375000 0.375000 +vt 0.187500 0.325000 +vt 0.020833 0.300000 +vt 0.020833 0.325000 +vt 0.208333 0.350000 +vt 0.187500 0.375000 +vt 0.000000 0.325000 +vt 0.395833 0.350000 +vt 0.375000 0.375000 +vt 0.583333 0.350000 +vt 0.562500 0.375000 +vt 0.395833 0.525000 +vt 0.375000 0.525000 +vt 0.395833 0.550000 +vt 0.583333 0.525000 +vt 0.562500 0.525000 +vt 0.583333 0.550000 +vt 0.562500 0.525000 +vt 0.562500 0.550000 +vt 0.375000 0.525000 +vt 0.208333 0.550000 +vt 0.375000 0.550000 +vt 0.750000 0.525000 +vt 0.020833 0.525000 +vt 0.187500 0.550000 +vt 0.187500 0.525000 +vt 0.208333 0.525000 +vt 0.187500 0.525000 +vt -0.000000 0.525000 +vt 0.020833 0.550000 +vt 0.395833 0.725000 +vt 0.395833 0.700000 +vt 0.375000 0.725000 +vt 0.583333 0.725000 +vt 0.583333 0.700000 +vt 0.562500 0.725000 +vt 0.562500 0.725000 +vt 0.562500 0.700000 +vt 0.208333 0.700000 +vt 0.375000 0.725000 +vt 0.375000 0.700000 +vt 0.750000 0.725000 +vt 0.187500 0.700000 +vt 0.020833 0.725000 +vt 0.187500 0.725000 +vt 0.208333 0.725000 +vt 0.187500 0.725000 +vt 0.000000 0.725000 +vt 0.020833 0.700000 +vt 0.958333 0.300000 +vt 0.791667 0.350000 +vt 0.958333 0.350000 +vt -0.000000 0.550000 +vt 0.750000 0.550000 +vt 0.791667 0.400000 +vt 0.958333 0.400000 +vt 0.750000 0.300000 +vt 1.000000 0.300000 +vt 0.583333 0.175000 +vt 0.395833 0.175000 +vt 0.500000 0.275000 +vt 0.562500 0.175000 +vt 0.020833 0.175000 +vt -0.000000 0.300000 +vt 0.208333 0.300000 +vt 0.187500 0.175000 +vt 0.187500 0.300000 +vt 0.750000 0.175000 +vt 0.208333 0.175000 +vt 0.375000 0.175000 +vt 0.395833 0.150000 +vt 0.562500 0.150000 +vt 0.375000 0.150000 +vt 0.020833 0.150000 +vt 0.187500 0.150000 +vt 0.208333 0.150000 +vt 0.583333 0.150000 +vt 0.562500 0.150000 +vt -0.000000 0.150000 +vt 0.750000 0.150000 +vt 0.562500 0.100000 +vt 0.395833 0.125000 +vt 0.562500 0.125000 +vt 0.208333 0.100000 +vt 0.375000 0.100000 +vt 0.375000 0.125000 +vt 0.395833 0.100000 +vt 0.187500 0.100000 +vt 0.020833 0.125000 +vt 0.187500 0.125000 +vt 0.187500 0.125000 +vt 0.583333 0.100000 +vt 0.562500 0.125000 +vt 0.583333 0.125000 +vt 0.020833 0.100000 +vt -0.000000 0.125000 +vt 0.750000 0.125000 +vt 0.750000 0.100000 +vt 0.583333 0.000000 +vt 0.750000 0.000000 +vt 0.187500 0.000000 +vt 0.208333 -0.000000 +vt 0.395833 -0.000000 +vt 0.375000 -0.000000 +vt 0.020833 0.000000 +vt -0.000000 0.100000 +vt 0.187500 0.400000 +vt 0.020833 0.400000 +vt 0.375000 0.450000 +vt 0.291667 0.450000 +vt 0.750000 0.400000 +vt 0.666667 0.450000 +vt 0.520833 0.450000 +vt 0.437500 0.450000 +vt 0.395833 0.800000 +vt 0.375000 0.800000 +vt 0.208333 0.800000 +vt 0.187500 0.800000 +vt 0.020833 0.800000 +vt 0.750000 0.800000 +vt 0.583333 0.800000 +vt 0.729167 0.900000 +vt 0.687500 0.950000 +vt 0.729167 0.950000 +vt 0.562500 0.900000 +vt 0.687500 0.900000 +vt 0.854167 0.950000 +vt 0.645833 0.850000 +vt 0.562500 0.800000 +vt 0.562500 0.850000 +vt 0.854167 0.850000 +vt 0.770833 0.800000 +vt 0.770833 0.850000 +vt 0.562500 0.950000 +vt 0.645833 1.000000 +vt 0.770833 1.000000 +vt 0.708333 1.000000 +vt 0.854167 0.900000 +vt 0.708333 0.850000 +vt 0.979167 0.225000 +vt 0.958333 -0.000000 +vt 0.770833 0.025000 +vt 0.770833 0.425000 +vt 0.750000 0.700000 +vt -0.000000 0.700000 +vt 0.750000 0.400000 +vt 1.000000 0.400000 +vt 0.458333 0.275000 +vt 0.000000 0.175000 +vt 0.750000 0.300000 +vt 0.562500 0.000000 +vt -0.000000 0.000000 +vt 0.208333 0.400000 +vt 0.583333 0.450000 +vt 0.395833 0.450000 +vt 0.562500 0.450000 +vt 0.645833 0.800000 +vt 0.854167 0.800000 +vt 0.562500 1.000000 +vt 0.854167 1.000000 +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.9701 0.2425 0.0000 +vn -0.9701 0.2425 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.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 -1.0000 0.0000 0.0000 +vn -0.0000 -0.7071 -0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.0000 -0.9397 -0.3420 +vn 0.9487 -0.2972 -0.1082 +vn -0.9487 -0.2972 -0.1082 +vn -0.9701 0.2279 0.0830 +vn 0.9701 0.2279 0.0830 +vn 0.0000 -0.3420 0.9397 +vn -0.0000 0.3420 -0.9397 +s off +f 494/840/143 493/841/143 492/842/143 +f 573/843/144 563/844/144 575/845/144 +f 582/846/145 581/847/145 577/848/145 +f 491/849/145 578/850/145 576/851/145 +f 504/852/146 506/853/146 505/854/146 +f 507/855/145 498/856/145 499/857/145 +f 505/854/143 497/858/143 496/859/143 +f 506/853/147 499/860/147 497/861/147 +f 504/862/148 496/863/148 498/864/148 +f 519/865/143 500/866/143 509/867/143 +f 517/868/149 501/869/149 503/870/149 +f 516/871/143 503/870/143 502/872/143 +f 514/873/150 502/872/150 500/866/150 +f 515/874/143 508/875/143 501/869/143 +f 522/876/151 511/877/151 513/878/151 +f 521/879/143 509/880/143 511/877/143 +f 524/881/151 512/882/151 510/883/151 +f 523/884/143 510/883/143 508/885/143 +f 512/886/143 527/887/143 513/888/143 +f 525/889/143 526/890/143 512/882/143 +f 513/888/143 527/887/143 522/891/143 +f 508/875/143 518/892/143 523/893/143 +f 509/880/143 520/894/143 519/895/143 +f 528/896/145 533/897/145 530/898/145 +f 529/899/145 531/900/145 532/901/145 +f 529/902/145 530/898/145 531/903/145 +f 528/904/145 537/905/145 533/906/145 +f 532/901/145 535/907/145 529/899/145 +f 535/908/145 538/909/145 534/910/145 +f 534/911/145 538/912/145 537/905/145 +f 536/913/145 539/914/145 535/908/145 +f 542/915/143 543/916/143 545/917/143 +f 541/918/143 544/919/143 540/920/143 +f 543/916/143 541/921/143 540/922/143 +f 548/923/143 542/924/143 545/925/143 +f 546/926/143 544/919/143 541/918/143 +f 550/927/143 546/928/143 549/929/143 +f 549/930/143 548/923/143 550/931/143 +f 547/932/143 546/928/143 551/933/143 +f 550/927/152 537/905/152 538/909/152 +f 551/933/153 538/909/153 539/914/153 +f 540/922/154 532/901/154 531/903/154 +f 490/934/146 489/935/146 488/936/146 +f 536/937/155 551/933/155 539/914/155 +f 543/916/146 531/903/146 530/898/146 +f 544/919/156 536/938/156 532/901/156 +f 548/923/144 533/906/144 537/905/144 +f 488/936/157 564/939/157 565/940/157 +f 576/941/144 489/935/144 491/849/144 +f 545/925/158 530/898/158 533/906/158 +f 488/936/156 578/942/156 490/934/156 +f 554/943/154 519/865/154 520/894/154 +f 552/944/158 523/884/158 518/892/158 +f 516/945/146 553/946/146 552/944/146 +f 559/947/155 522/948/155 527/887/155 +f 525/949/152 558/950/152 526/951/152 +f 521/879/156 556/952/156 554/943/156 +f 526/951/153 559/947/153 527/887/153 +f 557/953/144 524/881/144 555/954/144 +f 563/955/145 553/946/145 562/956/145 +f 563/844/145 557/953/145 555/954/145 +f 555/957/145 552/944/145 563/955/145 +f 560/958/145 558/950/145 561/959/145 +f 558/950/145 557/953/145 561/960/145 +f 554/943/145 562/961/145 553/962/145 +f 559/947/145 560/958/145 556/963/145 +f 560/964/145 554/943/145 556/952/145 +f 565/965/143 575/966/143 574/967/143 +f 569/968/143 575/845/143 567/969/143 +f 567/970/143 575/966/143 564/971/143 +f 570/972/143 572/973/143 573/974/143 +f 570/975/143 573/843/143 569/968/143 +f 566/976/143 565/977/143 574/978/143 +f 571/979/143 568/980/143 572/973/143 +f 566/976/143 572/981/143 568/982/143 +f 579/983/154 565/965/154 566/976/154 +f 582/984/156 566/976/156 568/982/156 +f 563/955/146 574/967/146 575/966/146 +f 581/985/153 571/979/153 570/972/153 +f 580/986/152 570/972/152 569/968/152 +f 576/987/158 567/969/158 564/971/158 +f 577/988/144 569/968/144 567/969/144 +f 583/989/155 568/990/155 571/979/155 +f 572/981/156 562/961/156 560/964/156 +f 572/973/153 561/959/153 573/974/153 +f 535/908/153 512/991/153 513/992/153 +f 528/904/144 508/993/144 510/994/144 +f 535/907/156 513/995/156 511/996/156 +f 503/870/146 500/997/146 502/872/146 +f 500/997/146 501/998/146 528/896/146 +f 494/840/146 542/915/146 495/999/146 +f 495/1000/144 549/930/144 493/1001/144 +f 493/1002/153 546/928/153 492/1003/153 +f 492/1004/156 541/918/156 494/1005/156 +f 586/1006/159 585/1007/159 584/1008/159 +f 591/1009/160 585/1007/160 587/1010/160 +f 588/1011/161 586/1006/161 584/1008/161 +f 597/1012/162 592/1013/162 593/1014/162 +f 595/1015/163 596/1016/163 597/1017/163 +f 589/1018/164 596/1019/164 585/1007/164 +f 596/1020/164 588/1011/164 584/1008/164 +f 585/1007/164 596/1021/164 584/1008/164 +f 590/1022/165 597/1017/165 586/1006/165 +f 591/1009/165 597/1012/165 593/1014/165 +f 586/1006/165 597/1023/165 587/1010/165 +f 494/840/143 495/999/143 493/841/143 +f 573/843/144 561/960/144 563/844/144 +f 577/848/145 576/851/145 578/850/145 +f 578/850/145 579/1024/145 582/846/145 +f 582/846/145 583/1025/145 581/847/145 +f 581/847/145 580/1026/145 577/848/145 +f 577/848/145 578/850/145 582/846/145 +f 491/849/145 490/934/145 578/850/145 +f 504/852/146 507/855/146 506/853/146 +f 507/855/145 504/852/145 498/856/145 +f 505/854/143 506/853/143 497/858/143 +f 506/853/147 507/1027/147 499/860/147 +f 504/862/148 505/854/148 496/863/148 +f 519/865/143 514/873/143 500/866/143 +f 517/868/149 515/874/149 501/869/149 +f 516/871/143 517/868/143 503/870/143 +f 514/873/150 516/871/150 502/872/150 +f 515/874/143 518/892/143 508/875/143 +f 522/876/151 521/879/151 511/877/151 +f 521/879/143 520/894/143 509/880/143 +f 524/881/151 525/889/151 512/882/151 +f 523/884/143 524/881/143 510/883/143 +f 512/886/143 526/951/143 527/887/143 +f 529/902/145 528/896/145 530/898/145 +f 528/904/145 534/911/145 537/905/145 +f 532/901/145 536/938/145 535/907/145 +f 535/908/145 539/914/145 538/909/145 +f 543/916/143 542/915/143 541/921/143 +f 548/923/143 549/930/143 542/924/143 +f 546/926/143 547/1028/143 544/919/143 +f 550/927/143 551/933/143 546/928/143 +f 550/927/152 548/923/152 537/905/152 +f 551/933/153 550/927/153 538/909/153 +f 540/922/154 544/919/154 532/901/154 +f 490/934/146 491/849/146 489/935/146 +f 536/937/155 547/1029/155 551/933/155 +f 543/916/146 540/922/146 531/903/146 +f 544/919/156 547/1028/156 536/938/156 +f 548/923/144 545/925/144 533/906/144 +f 488/936/157 489/935/157 564/939/157 +f 576/941/144 564/1030/144 489/935/144 +f 545/925/158 543/916/158 530/898/158 +f 488/936/156 565/1031/156 578/942/156 +f 554/943/154 553/946/154 519/865/154 +f 552/944/158 555/954/158 523/884/158 +f 516/945/146 514/873/146 519/865/146 +f 552/944/146 518/892/146 517/1032/146 +f 518/892/146 515/874/146 517/1032/146 +f 516/945/146 519/865/146 553/946/146 +f 552/944/146 517/1032/146 516/945/146 +f 559/947/155 556/1033/155 522/948/155 +f 525/949/152 557/953/152 558/950/152 +f 554/943/156 520/894/156 521/879/156 +f 521/879/156 522/1034/156 556/952/156 +f 526/951/153 558/950/153 559/947/153 +f 525/949/144 524/881/144 557/953/144 +f 524/881/144 523/884/144 555/954/144 +f 563/955/145 552/944/145 553/946/145 +f 563/844/145 561/960/145 557/953/145 +f 560/958/145 559/947/145 558/950/145 +f 560/964/145 562/961/145 554/943/145 +f 565/965/143 564/971/143 575/966/143 +f 569/968/143 573/843/143 575/845/143 +f 570/972/143 571/979/143 572/973/143 +f 566/976/143 574/978/143 572/981/143 +f 579/983/154 578/1035/154 565/965/154 +f 582/984/156 579/983/156 566/976/156 +f 563/955/146 562/956/146 574/967/146 +f 581/985/153 583/989/153 571/979/153 +f 580/986/152 581/985/152 570/972/152 +f 576/987/158 577/988/158 567/969/158 +f 577/988/144 580/986/144 569/968/144 +f 583/989/155 582/1036/155 568/990/155 +f 572/981/156 574/978/156 562/961/156 +f 572/973/153 560/958/153 561/959/153 +f 535/908/153 534/910/153 512/991/153 +f 510/994/144 512/1037/144 534/911/144 +f 534/911/144 528/904/144 510/994/144 +f 511/996/156 509/1038/156 529/899/156 +f 529/899/156 535/907/156 511/996/156 +f 503/870/146 501/998/146 500/997/146 +f 501/998/146 508/1039/146 528/896/146 +f 528/896/146 529/902/146 500/997/146 +f 529/902/146 509/1040/146 500/997/146 +f 494/840/146 541/921/146 542/915/146 +f 495/1000/144 542/924/144 549/930/144 +f 493/1002/153 549/929/153 546/928/153 +f 492/1004/156 546/926/156 541/918/156 +f 586/1006/159 587/1010/159 585/1007/159 +f 591/1009/160 589/1018/160 585/1007/160 +f 588/1011/161 590/1022/161 586/1006/161 +f 597/1012/162 596/1041/162 592/1013/162 +f 595/1015/163 594/1042/163 596/1016/163 +f 589/1018/164 592/1043/164 596/1019/164 +f 596/1020/164 594/1044/164 588/1011/164 +f 590/1022/165 595/1015/165 597/1017/165 +f 591/1009/165 587/1010/165 597/1012/165 +o Helmet +v -4.725003 -2.950001 -4.725000 +v 25.451866 4.962900 4.881973 +v 4.199998 -3.475000 0.000000 +v 4.199998 -2.687500 1.363986 +v 4.199998 -1.112499 1.363986 +v 4.199998 -0.325001 0.000000 +v 4.199998 -1.112499 -1.363986 +v 4.199998 -2.687500 -1.363986 +v 5.512498 -2.950001 0.000000 +v 5.512498 -2.424999 0.909325 +v 5.512498 -1.375000 0.909325 +v 5.512498 -0.850000 -0.000000 +v 5.512498 -1.375000 -0.909325 +v 5.512498 -2.424999 -0.909325 +v 5.774998 -3.475000 0.000000 +v 5.774998 -2.687500 1.363986 +v 5.774998 -1.112499 1.363986 +v 5.774998 -0.325001 0.000000 +v 5.774998 -1.112499 -1.363986 +v 5.774998 -2.687500 -1.363986 +v 5.774998 -2.950001 0.000000 +v 5.774998 -2.424999 0.909325 +v 5.774998 -1.375000 0.909325 +v 5.774998 -0.850000 -0.000000 +v 5.774998 -1.375000 -0.909325 +v 5.774998 -2.424999 -0.909325 +v 4.199998 1.250000 0.000000 +v -4.200002 1.250000 0.000000 +v 4.199998 0.200001 0.000000 +v -4.200002 0.200001 0.000000 +v 4.199998 -0.325001 0.000000 +v -4.200002 -3.475000 0.000000 +v 5.249998 0.200001 0.000000 +v 5.249998 -0.325001 0.000000 +v -4.200002 -2.687500 1.363986 +v -4.200002 -1.112499 1.363986 +v -4.200002 -0.325001 0.000000 +v -4.200002 -1.112499 -1.363986 +v -4.200002 -2.687500 -1.363986 +v -5.512502 -2.950001 0.000000 +v -5.512502 -2.424999 0.909325 +v -5.512502 -1.375000 0.909325 +v -5.512502 -0.850000 0.000000 +v -5.512502 -1.375000 -0.909325 +v -5.512502 -2.424999 -0.909325 +v -5.775002 -3.475000 0.000000 +v -5.775002 -2.687500 1.363986 +v -5.775002 -1.112499 1.363986 +v -5.775002 -0.325001 0.000000 +v -5.775002 -1.112499 -1.363986 +v -5.775002 -2.687500 -1.363986 +v -5.775002 -2.950001 0.000000 +v -5.775002 -2.424999 0.909325 +v -5.775002 -1.375000 0.909325 +v -5.775002 -0.850000 0.000000 +v -5.775002 -1.375000 -0.909325 +v -5.775002 -2.424999 -0.909325 +v -5.250002 0.200001 0.000000 +v -5.250002 -0.325001 0.000000 +v -4.200002 -0.325001 0.000000 +v -4.200002 -4.525000 0.000000 +v -4.200003 -6.100000 -4.200000 +v 4.199997 -6.100000 -4.200000 +v -4.200003 -7.150000 -5.250000 +v 4.199997 -7.150000 -5.250000 +v -5.250002 -4.525000 0.000000 +v -5.250003 -6.100000 -4.200000 +v -4.200003 -8.200001 -5.250000 +v 4.199997 -8.200001 -5.250000 +v -4.200003 -9.250000 -4.200000 +v 4.199997 -9.250000 -4.200000 +v -4.200003 -9.250000 4.200000 +v 4.199997 -9.250000 4.200000 +v -4.200003 -8.200001 5.250000 +v 4.199997 -8.200001 5.250000 +v -4.200002 0.200001 5.250000 +v 4.199998 0.200001 5.250000 +v -4.200002 1.250000 4.200000 +v 4.199998 1.250000 4.200000 +v -5.250003 -8.200001 4.200000 +v -5.250003 -8.200001 -4.200000 +v -5.250002 0.200001 4.200000 +v -4.200002 -3.475000 0.000000 +v -5.250002 -3.475000 0.000000 +v 5.249998 -4.525000 0.000000 +v 5.249998 -3.475000 0.000000 +v 4.199998 -4.525000 0.000000 +v 4.199998 -3.475000 0.000000 +v 5.249997 -8.200001 -4.200000 +v 5.249997 -8.200001 4.200000 +v 5.249998 0.200001 4.200000 +v 5.249997 -6.100000 -4.200000 +v 4.199998 0.200001 -4.725000 +v -4.200002 0.200001 -4.725000 +v 4.199997 -6.625000 -4.725000 +v -4.200003 -6.625000 -4.725000 +v 4.199998 0.725000 -4.200000 +v -4.200002 0.725000 -4.200000 +v 4.199998 0.725000 0.000000 +v -4.200002 0.725000 0.000000 +v 4.724998 0.200001 -4.200000 +v 4.724998 0.200001 0.000000 +v 4.724997 -6.100000 -4.200000 +v 4.724997 -4.525000 0.000000 +v -4.725002 0.200001 -4.200000 +v -4.725002 0.200001 0.000000 +v -4.725003 -6.100000 -4.200000 +v -4.725003 -4.525000 0.000000 +v 4.199998 -2.950001 -5.250000 +v -4.200002 -2.950001 -5.250000 +v 4.724997 -2.950001 -4.725000 +v 6.824998 -3.475000 -1.363986 +v 4.724997 -3.475000 -1.363986 +v 6.824998 -0.325001 -1.363986 +v 4.724998 -0.325001 -1.363986 +v 6.824998 -0.325001 -2.413986 +v 6.824998 -3.475000 -2.413986 +v 4.724997 -3.475000 -2.413986 +v 4.724998 -0.325001 -2.413986 +v 3.674997 -11.349998 -1.575000 +v 2.624997 -11.349998 -1.575000 +v 3.674997 -11.349998 -3.675000 +v 2.624997 -11.349998 -3.675000 +v 4.199997 -9.250000 0.525000 +v 2.099997 -9.250000 0.525000 +v 4.199997 -9.250000 -2.625000 +v 2.099997 -9.250000 -2.625000 +v 3.674997 -10.825001 -3.150000 +v 2.624997 -10.825001 -3.150000 +v -2.625003 -11.349998 -1.575000 +v -3.675003 -11.349998 -1.575000 +v -2.625003 -11.349998 -3.675000 +v -3.675003 -11.349998 -3.675000 +v -2.100003 -9.250000 0.525000 +v -4.200003 -9.250000 0.525000 +v -2.100003 -9.250000 -2.625000 +v -4.200003 -9.250000 -2.625000 +v -2.625003 -10.825001 -3.150000 +v -3.675003 -10.825001 -3.150000 +v -4.987503 -9.512501 -4.725000 +v -4.987503 -9.512501 -0.525000 +v -5.358734 -9.358730 -4.725000 +v -5.358734 -9.358730 -0.525000 +v -5.512503 -8.987499 -4.725000 +v -5.512503 -8.987499 -0.525000 +v -5.358734 -8.616268 -4.725000 +v -5.358734 -8.616268 -0.525000 +v -4.987503 -8.462502 -4.725000 +v -4.987503 -8.462502 -0.525000 +v -4.616271 -8.616268 -4.725000 +v -4.616271 -8.616268 -0.525000 +v -4.462502 -8.987499 -4.725000 +v -4.462502 -8.987499 -0.525000 +v -4.616271 -9.358730 -4.725000 +v -4.616271 -9.358730 -0.525000 +vt 0.208333 0.540984 +vt 0.166667 0.491803 +vt 0.208333 0.491803 +vt 0.041667 0.540984 +vt -0.000000 0.491803 +vt 0.041667 0.491803 +vt 0.125000 0.540984 +vt 0.083333 0.491803 +vt 0.125000 0.491803 +vt 0.166667 0.540984 +vt 0.250000 0.540984 +vt 0.250000 0.491803 +vt 0.083333 0.540984 +vt 0.180556 0.573770 +vt 0.208333 0.557377 +vt 0.208333 0.573770 +vt 0.013889 0.573770 +vt 0.041667 0.557377 +vt 0.041667 0.573770 +vt 0.097222 0.573770 +vt 0.125000 0.557377 +vt 0.125000 0.573770 +vt 0.138889 0.573770 +vt 0.166667 0.557377 +vt 0.166667 0.573770 +vt 0.222222 0.573770 +vt 0.250000 0.557377 +vt 0.250000 0.573770 +vt 0.055556 0.573770 +vt 0.083333 0.557377 +vt 0.083333 0.573770 +vt 0.138889 0.557377 +vt 0.013889 0.557377 +vt -0.000000 0.540984 +vt 0.003825 0.590235 +vt 0.027778 0.573912 +vt 0.051730 0.590235 +vt 0.027778 0.032787 +vt 0.250000 0.000000 +vt 0.250000 0.032787 +vt 0.250000 0.491803 +vt 0.208333 0.540984 +vt 0.208333 0.491803 +vt 0.861111 0.196721 +vt 0.888889 0.213115 +vt 0.861111 0.213115 +vt 0.083333 0.491803 +vt 0.041667 0.540984 +vt 0.041667 0.491803 +vt 0.861111 0.163934 +vt 0.888889 0.196721 +vt 0.166667 0.491803 +vt 0.125000 0.540984 +vt 0.125000 0.491803 +vt 0.083333 0.540984 +vt -0.000000 0.540984 +vt -0.000000 0.491803 +vt 0.166667 0.540984 +vt 0.055556 0.557377 +vt 0.083333 0.573770 +vt 0.055556 0.573770 +vt 0.222222 0.557377 +vt 0.250000 0.573770 +vt 0.222222 0.573770 +vt 0.138889 0.557377 +vt 0.166667 0.573770 +vt 0.138889 0.573770 +vt 0.097222 0.557377 +vt 0.125000 0.573770 +vt 0.097222 0.573770 +vt 0.013889 0.557377 +vt 0.041667 0.573770 +vt 0.013889 0.573770 +vt 0.180556 0.557377 +vt 0.208333 0.573770 +vt 0.180556 0.573770 +vt 0.125000 0.557377 +vt 0.250000 0.557377 +vt 0.051730 0.590235 +vt 0.051730 0.622880 +vt 0.027778 0.639203 +vt 0.388889 0.196721 +vt 0.416667 0.213115 +vt 0.388889 0.213115 +vt 0.027778 0.163934 +vt 0.416667 0.196721 +vt 0.416667 0.163934 +vt 0.750000 0.393443 +vt 0.527778 0.426230 +vt 0.527778 0.393443 +vt 0.500000 0.393443 +vt 0.527778 0.262295 +vt 0.750000 0.426230 +vt 0.527778 0.459016 +vt 0.750000 0.459016 +vt 0.527778 0.491803 +vt 0.750000 0.491803 +vt 0.527778 0.754098 +vt 0.027778 0.491803 +vt 0.250000 0.459016 +vt 0.250000 0.491803 +vt 0.027778 0.459016 +vt 0.250000 0.196721 +vt 0.027778 0.196721 +vt 0.250000 0.163934 +vt 0.277778 0.491803 +vt 0.500000 0.459016 +vt 0.500000 0.491803 +vt 0.277778 0.459016 +vt 0.277778 0.196721 +vt 0.277778 0.163934 +vt 0.388889 0.163934 +vt 0.388889 0.344262 +vt 0.416667 0.311475 +vt 0.416667 0.344262 +vt 0.888889 0.344262 +vt 0.861111 0.311475 +vt 0.888889 0.311475 +vt 0.777778 0.491803 +vt 1.000000 0.459016 +vt 1.000000 0.491803 +vt 0.777778 0.459016 +vt -0.000000 0.459016 +vt 0.888889 0.163934 +vt 1.000000 0.196721 +vt 0.000000 0.196721 +vt 0.777778 0.393443 +vt 0.750000 0.262295 +vt 0.777778 0.262295 +vt 0.361111 1.000000 +vt 0.138889 0.885246 +vt 0.361111 0.885246 +vt 0.138889 0.770492 +vt 0.361111 0.786885 +vt 0.138889 0.786885 +vt 0.138889 0.639344 +vt 0.361111 0.770492 +vt 0.500000 0.786885 +vt 0.388889 0.770492 +vt 0.500000 0.770492 +vt 0.375000 0.786885 +vt 0.500000 0.934426 +vt 0.388889 0.983607 +vt 0.375000 0.885246 +vt 0.375000 0.983607 +vt 0.111111 0.786885 +vt -0.000000 0.770492 +vt 0.111111 0.770492 +vt 0.125000 0.786885 +vt 0.125000 0.885246 +vt -0.000000 0.934426 +vt -0.000000 0.786885 +vt 0.861111 0.622951 +vt 0.916667 0.524590 +vt 0.916667 0.622951 +vt 0.125000 0.983607 +vt 0.833333 0.622951 +vt 0.777778 0.524590 +vt 0.833333 0.524590 +vt 0.833333 0.491803 +vt 0.777778 0.491803 +vt 0.777778 0.655738 +vt 0.833333 0.655738 +vt 0.750000 0.524590 +vt 0.777778 0.622951 +vt 0.750000 0.622951 +vt 0.861111 0.524590 +vt 0.805556 0.737705 +vt 0.833333 0.672131 +vt 0.833333 0.737705 +vt 0.750000 0.688525 +vt 0.805556 0.672131 +vt 0.888889 0.688525 +vt 0.888889 0.803279 +vt 0.847222 0.803279 +vt 0.833333 0.655738 +vt 0.791667 0.655738 +vt 0.847222 0.655738 +vt 0.805556 0.737705 +vt 0.833333 0.672131 +vt 0.833333 0.737705 +vt 0.750000 0.688525 +vt 0.805556 0.672131 +vt 0.888889 0.688525 +vt 0.888889 0.803279 +vt 0.791667 0.803279 +vt 0.833333 0.655738 +vt 0.791667 0.655738 +vt 0.847222 0.655738 +vt 0.388889 0.557377 +vt 0.500000 0.540984 +vt 0.500000 0.557377 +vt 0.388889 0.540984 +vt 0.500000 0.524590 +vt 0.388889 0.524590 +vt 0.500000 0.508197 +vt 0.388889 0.508197 +vt 0.500000 0.491803 +vt 0.388889 0.622951 +vt 0.500000 0.606557 +vt 0.500000 0.622951 +vt 0.388889 0.606557 +vt 0.500000 0.590164 +vt 0.361789 0.501738 +vt 0.380472 0.492604 +vt 0.388211 0.514655 +vt 0.388889 0.590164 +vt 0.500000 0.573770 +vt 0.388889 0.573770 +vt 0.501476 0.514266 +vt 0.501476 0.502128 +vt 0.508747 0.493545 +vt 0.180556 0.557377 +vt 0.097222 0.557377 +vt 0.222222 0.557377 +vt 0.055556 0.557377 +vt 0.051730 0.622880 +vt 0.027778 0.639203 +vt 0.003825 0.622880 +vt 0.027778 -0.000000 +vt 0.250000 0.540984 +vt 0.083333 0.557377 +vt 0.166667 0.557377 +vt 0.041667 0.557377 +vt 0.208333 0.557377 +vt 0.003825 0.622880 +vt 0.003825 0.590235 +vt 0.027778 0.573912 +vt 0.500000 0.262295 +vt 0.750000 0.754098 +vt 0.388889 0.311475 +vt 0.861111 0.344262 +vt 1.000000 0.163934 +vt 0.138889 1.000000 +vt 0.361111 0.639344 +vt 0.388889 0.786885 +vt 0.111111 0.983607 +vt 0.750000 0.803279 +vt 0.791667 0.803279 +vt 0.805556 0.655738 +vt 0.750000 0.803279 +vt 0.847222 0.803279 +vt 0.805556 0.655738 +vt 0.388889 0.491803 +vt 0.380472 0.523790 +vt 0.369528 0.523790 +vt 0.361789 0.514656 +vt 0.369528 0.492604 +vt 0.388211 0.501738 +vt 0.519031 0.493545 +vt 0.526302 0.502128 +vt 0.526302 0.514266 +vt 0.519031 0.522848 +vt 0.508747 0.522848 +vn 0.0000 0.0000 -1.0000 +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.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.7071 -0.7071 +vn 0.0000 0.9363 -0.3511 +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.7071 -0.7071 0.0000 +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.0000 0.7071 +vn -0.5774 0.5774 0.5774 +vn -0.7071 0.7071 0.0000 +vn 0.7071 -0.7071 0.0000 +vn 0.5774 -0.5774 -0.5773 +vn 0.5774 -0.5774 0.5773 +vn 0.7071 0.7071 0.0000 +vn 0.5774 0.5774 0.5773 +vn 0.7071 -0.0000 0.7071 +vn 0.7071 0.0000 -0.7071 +vn 0.0000 -0.1414 -0.9899 +vn 0.5773 0.5774 -0.5774 +vn 0.7493 -0.0937 -0.6556 +vn -0.5774 0.5774 -0.5774 +vn -0.7022 0.1170 -0.7022 +vn 0.0000 0.1644 -0.9864 +vn 0.7022 0.1170 -0.7022 +vn -0.7022 -0.1170 -0.7022 +vn -0.9701 -0.2425 0.0000 +vn 0.9701 -0.2425 0.0000 +vn 0.8165 0.4082 -0.4082 +vn -0.8165 0.4082 -0.4082 +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.7022 -0.1170 -0.7022 +vn -0.7493 -0.0937 -0.6556 +s off +f 616/1045/166 605/1046/166 604/1047/166 +f 614/1048/167 603/1049/167 602/1050/167 +f 612/1051/168 601/1052/168 600/1053/168 +f 617/1054/169 600/1053/169 605/1046/169 +f 615/1055/170 604/1047/170 603/1056/170 +f 613/1057/171 602/1050/171 601/1052/171 +f 611/1058/171 622/1059/171 610/1060/171 +f 609/1061/169 620/1062/169 608/1063/169 +f 607/1064/170 618/1065/170 606/1066/170 +f 606/1067/167 623/1068/167 611/1069/167 +f 610/1070/168 621/1071/168 609/1072/168 +f 608/1073/166 619/1074/166 607/1075/166 +f 617/1054/172 618/1076/172 612/1051/172 +f 618/1065/172 613/1057/172 612/1051/172 +f 619/1074/172 614/1048/172 613/1057/172 +f 614/1048/172 621/1077/172 615/1078/172 +f 621/1071/172 616/1045/172 615/1055/172 +f 622/1059/172 617/1054/172 616/1045/172 +f 610/1079/172 609/1080/172 608/1081/172 +f 624/1082/166 627/1083/166 625/1084/166 +f 634/1085/167 645/1086/167 633/1087/167 +f 626/1088/166 631/1089/166 628/1090/166 +f 636/1091/166 647/1092/166 635/1093/166 +f 626/1088/166 624/1094/166 630/1095/166 +f 632/1096/168 643/1097/168 629/1098/168 +f 629/1098/169 648/1099/169 636/1091/169 +f 635/1093/170 646/1100/170 634/1101/170 +f 633/1087/171 644/1102/171 632/1096/171 +f 653/1103/171 642/1104/171 641/1105/171 +f 651/1106/169 640/1107/169 639/1108/169 +f 649/1109/170 638/1110/170 637/1111/170 +f 654/1112/167 637/1113/167 642/1114/167 +f 652/1115/168 641/1116/168 640/1117/168 +f 650/1118/166 639/1119/166 638/1120/166 +f 648/1099/173 649/1121/173 654/1112/173 +f 644/1102/173 649/1109/173 643/1097/173 +f 645/1086/173 650/1118/173 644/1102/173 +f 645/1086/173 652/1122/173 651/1106/173 +f 647/1092/173 652/1115/173 646/1100/173 +f 648/1099/173 653/1103/173 647/1092/173 +f 641/1123/173 642/1124/173 637/1125/173 +f 655/1126/166 657/1127/166 656/1128/166 +f 625/1084/174 676/1129/174 624/1082/174 +f 627/1130/166 655/1126/166 625/1131/166 +f 660/1132/175 661/1133/175 659/1134/175 +f 664/1135/176 658/1136/176 659/1134/176 +f 659/1134/175 661/1133/175 664/1135/175 +f 662/1137/166 665/1138/166 661/1133/166 +f 666/1139/177 667/1140/177 665/1138/177 +f 668/1141/178 669/1142/178 667/1140/178 +f 670/1143/179 671/1144/179 669/1145/179 +f 672/1146/171 673/1147/171 671/1144/171 +f 674/1148/180 675/1149/180 673/1147/180 +f 669/1150/181 678/1151/181 667/1152/181 +f 669/1150/182 671/1144/182 677/1153/182 +f 665/1138/183 667/1152/183 678/1151/183 +f 661/1133/184 678/1151/184 664/1135/184 +f 677/1153/185 673/1147/185 679/1154/185 +f 673/1147/186 675/1155/186 679/1154/186 +f 679/1154/187 625/1156/187 655/1126/187 +f 663/1157/166 680/1158/166 658/1159/166 +f 663/1157/173 677/1153/173 679/1154/173 +f 682/1160/166 685/1161/166 683/1162/166 +f 668/1163/188 687/1164/188 670/1165/188 +f 668/1163/189 666/1139/189 686/1166/189 +f 670/1143/190 687/1167/190 672/1146/190 +f 624/1168/191 688/1169/191 630/1095/191 +f 676/1129/192 674/1148/192 688/1170/192 +f 672/1146/193 688/1170/193 674/1148/193 +f 662/1137/175 660/1132/175 689/1171/175 +f 662/1137/194 686/1166/194 666/1139/194 +f 689/1171/176 684/1172/176 682/1173/176 +f 687/1164/172 682/1160/172 683/1162/172 +f 692/1174/195 707/1175/195 706/1176/195 +f 695/1177/175 690/1178/175 691/1179/175 +f 697/1180/174 694/1181/174 695/1177/174 +f 699/1182/191 694/1183/191 696/1184/191 +f 694/1181/196 698/1185/196 690/1178/196 +f 701/1186/172 700/1187/172 708/1188/172 +f 706/1176/197 700/1189/197 692/1174/197 +f 702/1190/187 697/1191/187 695/1192/187 +f 695/1177/198 691/1179/198 702/1193/198 +f 598/1194/173 705/1195/173 703/1196/173 +f 691/1179/199 598/1194/199 702/1193/199 +f 706/1176/200 691/1179/200 690/1178/200 +f 709/1197/171 712/1198/171 710/1199/171 +f 708/1188/201 690/1178/201 698/1185/201 +f 707/1175/202 704/1200/202 598/1194/202 +f 714/1201/166 716/1202/166 713/1203/166 +f 711/1204/174 716/1202/174 712/1205/174 +f 710/1206/178 714/1201/178 709/1207/178 +f 712/1208/173 715/1209/173 710/1210/173 +f 709/1197/172 713/1203/172 711/1211/172 +f 718/1212/178 719/1213/178 717/1214/178 +f 718/1212/203 724/1215/203 720/1216/203 +f 717/1214/204 723/1217/204 721/1218/204 +f 721/1219/179 718/1212/179 717/1214/179 +f 720/1216/175 725/1220/175 719/1213/175 +f 720/1216/205 724/1215/205 726/1221/205 +f 719/1213/206 725/1222/206 723/1217/206 +f 728/1223/178 729/1224/178 727/1225/178 +f 728/1223/203 734/1226/203 730/1227/203 +f 727/1225/204 733/1228/204 731/1229/204 +f 727/1225/179 732/1230/179 728/1223/179 +f 730/1227/175 735/1231/175 729/1224/175 +f 730/1227/205 734/1226/205 736/1232/205 +f 729/1224/206 735/1233/206 733/1228/206 +f 738/1234/207 739/1235/207 737/1236/207 +f 740/1237/208 741/1238/208 739/1235/208 +f 742/1239/209 743/1240/209 741/1238/209 +f 744/1241/210 745/1242/210 743/1240/210 +f 746/1243/211 747/1244/211 745/1245/211 +f 748/1246/212 749/1247/212 747/1244/212 +f 750/1248/171 746/1249/171 742/1250/171 +f 750/1251/213 751/1252/213 749/1247/213 +f 752/1253/214 737/1236/214 751/1252/214 +f 747/1254/166 749/1255/166 751/1256/166 +f 616/1045/166 617/1054/166 605/1046/166 +f 614/1048/167 615/1078/167 603/1049/167 +f 612/1051/168 613/1057/168 601/1052/168 +f 617/1054/169 612/1051/169 600/1053/169 +f 615/1055/170 616/1045/170 604/1047/170 +f 613/1057/171 614/1048/171 602/1050/171 +f 611/1058/171 623/1257/171 622/1059/171 +f 609/1061/169 621/1077/169 620/1062/169 +f 607/1064/170 619/1258/170 618/1065/170 +f 606/1067/167 618/1076/167 623/1068/167 +f 610/1070/168 622/1259/168 621/1071/168 +f 608/1073/166 620/1260/166 619/1074/166 +f 617/1054/172 623/1068/172 618/1076/172 +f 618/1065/172 619/1258/172 613/1057/172 +f 619/1074/172 620/1260/172 614/1048/172 +f 614/1048/172 620/1062/172 621/1077/172 +f 621/1071/172 622/1259/172 616/1045/172 +f 622/1059/172 623/1257/172 617/1054/172 +f 608/1081/172 607/1261/172 610/1079/172 +f 607/1261/172 606/1262/172 610/1079/172 +f 606/1262/172 611/1263/172 610/1079/172 +f 624/1082/166 626/1264/166 627/1083/166 +f 634/1085/167 646/1265/167 645/1086/167 +f 626/1088/166 630/1095/166 631/1089/166 +f 636/1091/166 648/1099/166 647/1092/166 +f 632/1096/168 644/1102/168 643/1097/168 +f 629/1098/169 643/1097/169 648/1099/169 +f 635/1093/170 647/1092/170 646/1100/170 +f 633/1087/171 645/1086/171 644/1102/171 +f 653/1103/171 654/1266/171 642/1104/171 +f 651/1106/169 652/1122/169 640/1107/169 +f 649/1109/170 650/1267/170 638/1110/170 +f 654/1112/167 649/1121/167 637/1113/167 +f 652/1115/168 653/1268/168 641/1116/168 +f 650/1118/166 651/1269/166 639/1119/166 +f 648/1099/173 643/1097/173 649/1121/173 +f 644/1102/173 650/1267/173 649/1109/173 +f 645/1086/173 651/1269/173 650/1118/173 +f 645/1086/173 646/1265/173 652/1122/173 +f 647/1092/173 653/1268/173 652/1115/173 +f 648/1099/173 654/1266/173 653/1103/173 +f 637/1125/173 638/1270/173 641/1123/173 +f 638/1270/173 639/1271/173 641/1123/173 +f 639/1271/173 640/1272/173 641/1123/173 +f 655/1126/166 627/1130/166 657/1127/166 +f 625/1084/174 675/1149/174 676/1129/174 +f 660/1132/175 662/1137/175 661/1133/175 +f 664/1135/176 663/1273/176 658/1136/176 +f 662/1137/166 666/1139/166 665/1138/166 +f 666/1139/177 668/1141/177 667/1140/177 +f 668/1141/178 670/1274/178 669/1142/178 +f 670/1143/179 672/1146/179 671/1144/179 +f 672/1146/171 674/1148/171 673/1147/171 +f 674/1148/180 676/1129/180 675/1149/180 +f 669/1150/181 677/1153/181 678/1151/181 +f 661/1133/184 665/1138/184 678/1151/184 +f 677/1153/185 671/1144/185 673/1147/185 +f 679/1154/187 675/1155/187 625/1156/187 +f 663/1157/166 681/1275/166 680/1158/166 +f 679/1154/173 655/1126/173 656/1128/173 +f 679/1154/173 656/1128/173 681/1275/173 +f 664/1135/173 678/1151/173 663/1157/173 +f 678/1151/173 677/1153/173 663/1157/173 +f 679/1154/173 681/1275/173 663/1157/173 +f 682/1160/166 684/1276/166 685/1161/166 +f 668/1163/188 686/1166/188 687/1164/188 +f 624/1168/191 676/1277/191 688/1169/191 +f 672/1146/193 687/1167/193 688/1170/193 +f 662/1137/194 689/1171/194 686/1166/194 +f 689/1171/176 660/1132/176 684/1172/176 +f 683/1162/172 631/1089/172 688/1169/172 +f 631/1089/172 630/1095/172 688/1169/172 +f 683/1162/172 688/1169/172 687/1164/172 +f 687/1164/172 686/1166/172 682/1160/172 +f 686/1166/172 689/1171/172 682/1160/172 +f 692/1174/195 693/1278/195 707/1175/195 +f 695/1177/175 694/1181/175 690/1178/175 +f 697/1180/174 696/1279/174 694/1181/174 +f 699/1182/191 698/1280/191 694/1183/191 +f 698/1280/172 699/1182/172 708/1188/172 +f 699/1182/172 701/1186/172 708/1188/172 +f 706/1176/215 708/1188/215 700/1189/215 +f 702/1190/187 703/1196/187 697/1191/187 +f 703/1196/173 702/1190/173 598/1194/173 +f 598/1194/173 704/1281/173 705/1195/173 +f 691/1179/199 707/1175/199 598/1194/199 +f 706/1176/200 707/1175/200 691/1179/200 +f 709/1197/171 711/1211/171 712/1198/171 +f 708/1188/201 706/1176/201 690/1178/201 +f 707/1175/216 693/1278/216 704/1200/216 +f 714/1201/166 715/1209/166 716/1202/166 +f 711/1204/174 713/1203/174 716/1202/174 +f 710/1206/178 715/1209/178 714/1201/178 +f 712/1208/173 716/1202/173 715/1209/173 +f 709/1197/172 714/1201/172 713/1203/172 +f 718/1212/178 720/1216/178 719/1213/178 +f 718/1212/203 722/1282/203 724/1215/203 +f 717/1214/204 719/1213/204 723/1217/204 +f 721/1219/179 722/1283/179 718/1212/179 +f 720/1216/175 726/1284/175 725/1220/175 +f 728/1223/178 730/1227/178 729/1224/178 +f 728/1223/203 732/1285/203 734/1226/203 +f 727/1225/204 729/1224/204 733/1228/204 +f 727/1225/179 731/1286/179 732/1230/179 +f 730/1227/175 736/1287/175 735/1231/175 +f 738/1234/207 740/1237/207 739/1235/207 +f 740/1237/208 742/1239/208 741/1238/208 +f 742/1239/209 744/1241/209 743/1240/209 +f 744/1241/210 746/1288/210 745/1242/210 +f 746/1243/211 748/1246/211 747/1244/211 +f 748/1246/212 750/1251/212 749/1247/212 +f 742/1250/171 740/1289/171 738/1290/171 +f 738/1290/171 752/1291/171 742/1250/171 +f 752/1291/171 750/1248/171 742/1250/171 +f 750/1248/171 748/1292/171 746/1249/171 +f 746/1249/171 744/1293/171 742/1250/171 +f 750/1251/213 752/1253/213 751/1252/213 +f 752/1253/214 738/1234/214 737/1236/214 +f 751/1256/166 737/1294/166 739/1295/166 +f 739/1295/166 741/1296/166 751/1256/166 +f 741/1296/166 743/1297/166 751/1256/166 +f 743/1297/166 745/1298/166 751/1256/166 +f 745/1298/166 747/1254/166 751/1256/166 diff --git a/src/main/resources/assets/hbm/textures/armor/envsuit_arm.png b/src/main/resources/assets/hbm/textures/armor/envsuit_arm.png index 119357dd7b6469dbccb0ae52cf0ac539aba3ffc2..9c7d6ec9a7776e8d7e8b11399122839e5808277c 100644 GIT binary patch delta 342 zcmV-c0jd7F0)PXMGk*a$Nkl6eT zrI>6`YhC4eJ{aGe^hVq@p_CHMeN{h~Qj+)6H&{Dp>kwzxntxb3D5d1~(Tmj}B8u*q zu&s?T<+S!80BG?krNkOK(?M#i+`3l8)WOQB`@ccWO)%(6Fz8A!=t^r)Q{SDOI%BXX z3Q{p{T?FuXaUU;_YP(Nhw@+GvXPUt)&0sB^_j@p0w_J6`VBeLe3%8Ec<~1QlT#o~8 z9XaBO!8EZ8niZyiJcQ70hSDp6}dw)p0|FRHn)ULY4KHdK0Z-~?N4gdhR o^MPE$`zwDi=t?l?iuYsY4YvvwIkCuURsaA107*qoM6N<$f;Hr$xc~qF delta 272 zcmV+r0q_2R1G)l`Gk*Z_Nklx4QK@>s&N%a$8&V6p@*eS;a4Guvtgk<>6q}%I|@iT|mgOjkx8YH@>F+@Kco2F8nu5Iz+iBmpT5Xvm%xT{`In`X+ge<{7&6 z9r`9&Jo*j1d!QpE0Huu`YAP3oKX=kekzIX&Az3^f>5s>|f(3wbNX5T}Ns|RaM#8j-{d~3iinI5?+>N zPuLi%!M#7!En!ePODSbSBS9KN++@_HNcdgJA$~fYSn|G3=8V>m?3fM>5{|9hg8GBq zMoL&W0Kk{8-+x&0ctp5yB{f=N@{)e-*D^NLjcS4TJiKW|PgPe|&!O2Prgtp-xc zhw59il$p_6xI`4D=$NaXrD6jh6NM={=Bj7O*tn}(_YaTe=I$0g-`&0wem)$%&u!Vu z;RpZ#zJK>q<*7QT`hWlY?$x^#tUi2Zun2!S9O3zFWm5oK@wH;L@R>0=;Zu(YNz`=> zbzM&?w_5labzQ@DyY26%l3NK!Xqu)cX)3vu@H6)NJplY8$=**PceQINTy$LryWOt8 zk0C~MN?*{zZ9sCbsj{UYMw(luwf26d&=<9EJAdo5SDPc_XGnSe^0hFWI()wmU0D1rLIBG}cଞ_Np(Uc!HwiOEt=e0@mJ zya_B^r64`+=dL`ac7`ahgd2Ek?e;tFRqA)2o_7eX7KR`dE4X`}u6&;7{X}NJ-?P`| zaeJ0xoGZX9S=8&|fvvPG%jn1V4t1s(0(L3bLWlZUSI6QzV#ql~JA-VRhFzbVhf5H& zXtIaw7~yxQGtCfEK@+0WO){yKWJNV$>Esnj|pNdx=$u>J>s)@ zrO1BQIIm6S!!aSZD1i+3pl`7foGd>+@4c0^!}37wfpN#*1leT`+3N@Q?~W$f4ExQnwrkHw(bk4Uuko7olCm?JumKp z*a@|=a>@0%cV299T=`sT@|GL?&Z6IDsGp0eov6Zfz*g*K!R4ky8zynJ35Q*H_`-)p z_SOC65>@Li=B)|hW7l}>6IQ;S;hMxe?qfMe&Ies{2q-vX@NZrD_wO2C_zrCO`@H1Q zlbUl}Q|2#J$UYh3CYu)(V5wNo7<_Q$`vw8Ui`7Zy$5OTG!VKM~89iKTDRJ0)-v_V# zHiq)-92V6Yx^tR2lQp>$N}uhJdQl*FdD#&Qwo`g}bARxfACWJg$|k3{!%+e^6Q;n!MimuMS(uH%E8-ps+6m8P^|P z(`L*|Iy#NXG5o^>=iryS>I&b*G1c+tD+YA7-qs0`+h@6bULO08$(yFE-)^)~hV}bV jneMaBxht!g82&IVXj>=#^U3RS1|aZs^>bP0l+XkK1nnH2 diff --git a/src/main/resources/assets/hbm/textures/armor/envsuit_helmet.png b/src/main/resources/assets/hbm/textures/armor/envsuit_helmet.png index 46ef3623775a1d61860095ab098682b7d5a2e95c..5849c62c5bcc34c3bfd80f77d4f49e707262f68b 100644 GIT binary patch delta 962 zcmV;z13mn`1?LBlGk*h~Nkl+5S`ehz_nqJ7j#C{r|{+wG#??_+;|ABTsB@%U&o!t?VpeBZ}>K99!@!zgB_ z6(J>1uh)ykxqrRA#naOh9v&VrnM^R9P7wq_Jby#)sVzc*7-OK6;`;g;gb=*Eyx{)+ z9+SxgVHjeuSS02z|NYew3KWJReBa0W`#av=-Y}cZFq_Tr@$r#5ziA#sps&Z##n(#G z5r$#FFpRiLEf$N$c}p6t2MK6aO)h}O3gr7f;~(=sX@7IFkjX(h!?4tlrj#<DdlZ*CIaaei=6tJ2O>od+@Y697QSsK{khy{XnArizX{R9zoL$f!u~aa~s!wlZ__ z#J;XFFMkE4l&K_X+qMa?+6>Bw!ejpW^EYAO;&_l{ptgy$NJ`H^zV9=~apDplCDABf zfBx4lmF1665?HvU1S32rKfp`Y;?@Z%JK-c$Leq^i6LuIp;eXR5Yz z?MK_2YASJvspcZSIyA{nA_wWZ!E2J8`X%ZA1VNzfURi~2aTZgd79NyV&Q(wKeDR6w zZ+{YMl?k*gO4bFJDv@1EY2trjvSO7gP?jiVz^|1@tkQE(lzht+XBpeJiEI&QleB=+ zbC9kpRaN+Fm38x44-(J{B%l_35Ra}9)McmjAOWpF0umvn>jrO~ov2f;x|*dOMbd}` z(sgpK!wEbOqWv0WC&j8ghbPy!J5;|DSUcs>p-2k3QEU=z6%)`3B%l>YKr4`dRv-a| kbka>idnesA+7J`)4_CU^(m5fPH~;_u07*qoM6N<$f{41*=Kufz delta 662 zcmV;H0%`r{2fYQ5Gk*efNklIw9ntSHjb1v?9fq!grJ5V|%kihUN)`vNK zs>PnFiLeL~Fo6V2AORCd;AsV_8(a(ElZUUH^Xueq?cF|O$c3VF6nV3nta7g#_=Ce> zWv&qi04h~!PjnV3gmx#Ncq=g^gjO7&;3?(-AM%RjhptduIR^%6zTMBE*a#{G6G%Xx zFk>ZY?Qns4Ewpd+!KsM?_oU zFA_0GzRdgg>Byk{jHsTVjhq_%&xN7(R}2S0a)J0e^@w4l7ic&A-2J5SLrX5+ELfUAq3UXu3wdAXU{u4Q!*)ct_`(Yc@5?tk{W0aq76sRoi(uNK~2`Y8n; zqf_q;)DN)J`ZxMi3Wb1IV$=E1olM=Q)q!mAO@VUQ7fzfLx#`OW4ht zgO(6PGk?~c8Y^1_r4%P*>|&-^sU)3ZjJ%Q4rQ^rscEln`zyuN~u96O|e`4FQ2of-X z1d^{}xD;u*S2OJ~4{7%-65P8={bJ>aN6~)nP3okWTbM2yU#=Zu{hQ+1up}*D0tuKv w0w$1v2_#?w379|v*R2L;bfRP|f&~5mn>6wK-Ve{VDF6Tf07*qoM6N<$f;J;N?*IS* diff --git a/src/main/resources/assets/hbm/textures/armor/envsuit_leg.png b/src/main/resources/assets/hbm/textures/armor/envsuit_leg.png index 02d1d631e3b64c251cef97260ab7e632feeb8917..7dbe9698883fb8c5ebeddcd17774a464b2f59ef9 100644 GIT binary patch delta 596 zcmV-a0;~O`1pEY$Gk*dzNklb8v#6UW{i`>-cuHwvLw_wmDyi=mG!$E{TXAhkx@i(24*Tgb>kfUPQN; z7@Z3kjYgU6nTuAo5O>d`!&Jm>w_^u$bOEkx0|214X4&BK01g7?i)B8ZO|98uyIRA? z%WcNt0PNGKizB71*m?Tgo$U?*6 z&`L1IKo=Y?&VN1z{snZ6A_h47FC~YIUZzp%leZ(I$9ox}r9=#lQYsfhR5F!PDtC!E z`xxl00B)R|TuwjVO^%inE7Ee62>|eRf1Obdf^tIQpO)C<;GXHyLA!cYj)I-WDn^qpM$~l_vJNWxlT( zMLwOZx?mn~W>-pCX|!##QhrB&O2=&9qkY;B`~C&M><3V!s|;=mv}=s11hMZMT(O{j zAjBb@(Y8b*TDw|o;yBK}*4lZ+g4rtR-DoI$X%x}havGht1u>>jfP(evrWmB^hW&VTP5R!f^`l6Kr)V$l40f#QSXK73NK%Mb1I_W3vs};V~pXQ#C-&= ix@~f-X|#{vWUODwy;1!Rd4@c-=#k4pPF= z!+oTty$|BVfboNX6H6H>5;4Ov%Rc-dtcg}j==R~mOvcUz)CmLtS^^z3CN|CnG-q?S zK<27&1^dLupw^WW#)19gXO7&T2JVKZN8nKujez~qW7sc0cYi;Gr$@jo&``0?A^U+K zB3-Ea9VT;2{`cFi6ypIe5P?V0dv=s?`}!s-%E>_W5vbk)g`)^M4zo&fGC^pypp6*q z7{xg68mJ6!2cC`U9Z+Z)(biUy13-Tb*FxqrzZO!(mkAM$-W%bc$*{~hQGE(k??C#F zY@EBDnTFKPqJQq}-tmw-o@vK>h<&mm086%%KH-nR+PgYpP9Sr-7jme80qa1@`eSY3 zGxl`@F&7a2`eEJpk6O$Hq#H<*C;@~=W4`~KaXn`TO^TvBl2VAAy|bYIB0eGPT-#?{ z=UtBbocj)K?SF0T()_up{E7v$tZ>9iJE xjFTM!#(L>Nk<;!i=9B7+`0c